From e5baf8f5a67ce87f5660358ab4bab0359d9a6758 Mon Sep 17 00:00:00 2001 From: Dmitry Sidorenko Date: Thu, 25 Mar 2021 13:19:15 +0100 Subject: [PATCH 001/273] limiter computation in FCT for the sea ice has been modified to take into account the previous time step. Hence, in case of zero sea ice velocities, fct shall not add any diffusion. The problem was addressed by Lorenzo long ago! --- src/ice_fct.F90 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ice_fct.F90 b/src/ice_fct.F90 index dcee2c15c..140a0fe02 100755 --- a/src/ice_fct.F90 +++ b/src/ice_fct.F90 @@ -422,8 +422,8 @@ subroutine ice_fem_fct(tr_array_id, mesh) if (tr_array_id==1) then do row=1, myDim_nod2D n=nn_num(row) - tmax(row)=maxval(m_icel(nn_pos(1:n,row))) - tmin(row)=minval(m_icel(nn_pos(1:n,row))) + tmax(row)=max(maxval(m_icel(nn_pos(1:n,row))), maxval(m_ice(nn_pos(1:n,row)))) + tmin(row)=min(minval(m_icel(nn_pos(1:n,row))), minval(m_ice(nn_pos(1:n,row)))) ! Admissible increments tmax(row)=tmax(row)-m_icel(row) tmin(row)=tmin(row)-m_icel(row) @@ -433,8 +433,8 @@ subroutine ice_fem_fct(tr_array_id, mesh) if (tr_array_id==2) then do row=1, myDim_nod2D n=nn_num(row) - tmax(row)=maxval(a_icel(nn_pos(1:n,row))) - tmin(row)=minval(a_icel(nn_pos(1:n,row))) + tmax(row)=max(maxval(a_icel(nn_pos(1:n,row))), maxval(a_ice(nn_pos(1:n,row)))) + tmin(row)=min(minval(a_icel(nn_pos(1:n,row))), minval(a_ice(nn_pos(1:n,row)))) ! Admissible increments tmax(row)=tmax(row)-a_icel(row) tmin(row)=tmin(row)-a_icel(row) @@ -444,8 +444,8 @@ subroutine ice_fem_fct(tr_array_id, mesh) if (tr_array_id==3) then do row=1, myDim_nod2D n=nn_num(row) - tmax(row)=maxval(m_snowl(nn_pos(1:n,row))) - tmin(row)=minval(m_snowl(nn_pos(1:n,row))) + tmax(row)=max(maxval(m_snowl(nn_pos(1:n,row))), maxval(m_snow(nn_pos(1:n,row)))) + tmin(row)=min(minval(m_snowl(nn_pos(1:n,row))), minval(m_snow(nn_pos(1:n,row)))) ! Admissible increments tmax(row)=tmax(row)-m_snowl(row) tmin(row)=tmin(row)-m_snowl(row) @@ -456,8 +456,8 @@ subroutine ice_fem_fct(tr_array_id, mesh) if (tr_array_id==4) then do row=1, myDim_nod2D n=nn_num(row) - tmax(row)=maxval(m_templ(nn_pos(1:n,row))) - tmin(row)=minval(m_templ(nn_pos(1:n,row))) + tmax(row)=max(maxval(m_templ(nn_pos(1:n,row))), maxval(m_temp(nn_pos(1:n,row)))) + tmin(row)=min(minval(m_templ(nn_pos(1:n,row))), minval(m_temp(nn_pos(1:n,row)))) ! Admissible increments tmax(row)=tmax(row)-m_templ(row) tmin(row)=tmin(row)-m_templ(row) From 44829edaaa35473f77ad12dfa561ab714bd168ea Mon Sep 17 00:00:00 2001 From: Dmitry Sidorenko Date: Thu, 25 Mar 2021 13:31:52 +0100 Subject: [PATCH 002/273] limiter computation in FCT for the sea ice has been modified to take into account the previous time step. Hence, in case of zero sea ice velocities, fct shall not add any diffusion. The problem was addressed by Lorenzo long ago! --- src/ice_fct.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ice_fct.F90 b/src/ice_fct.F90 index 140a0fe02..b9cb3c0cf 100755 --- a/src/ice_fct.F90 +++ b/src/ice_fct.F90 @@ -456,8 +456,8 @@ subroutine ice_fem_fct(tr_array_id, mesh) if (tr_array_id==4) then do row=1, myDim_nod2D n=nn_num(row) - tmax(row)=max(maxval(m_templ(nn_pos(1:n,row))), maxval(m_temp(nn_pos(1:n,row)))) - tmin(row)=min(minval(m_templ(nn_pos(1:n,row))), minval(m_temp(nn_pos(1:n,row)))) + tmax(row)=max(maxval(m_templ(nn_pos(1:n,row))), maxval(ice_temp(nn_pos(1:n,row)))) + tmin(row)=min(minval(m_templ(nn_pos(1:n,row))), minval(ice_temp(nn_pos(1:n,row)))) ! Admissible increments tmax(row)=tmax(row)-m_templ(row) tmin(row)=tmin(row)-m_templ(row) From 2bec51f043a8c41f3da0a2fc0067fa97d69afaba Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 3 May 2021 14:08:33 +0200 Subject: [PATCH 003/273] ensure that the total surface stress is used for ustar in kpp but also in momix instead of only using the atmos-ocean surface stress --- src/gen_modules_cvmix_tke.F90 | 19 ++++++++++--------- src/ice_oce_coupling.F90 | 14 ++++++++------ src/oce_ale_mixing_kpp.F90 | 3 ++- src/oce_mo_conv.F90 | 8 ++++++-- 4 files changed, 26 insertions(+), 18 deletions(-) diff --git a/src/gen_modules_cvmix_tke.F90 b/src/gen_modules_cvmix_tke.F90 index 1f6434812..a68b9364a 100644 --- a/src/gen_modules_cvmix_tke.F90 +++ b/src/gen_modules_cvmix_tke.F90 @@ -277,15 +277,16 @@ subroutine calc_cvmix_tke(mesh) ! calcualte for TKE surface momentum forcing --> norm of nodal ! surface wind stress --> tke_forc2d_normstress --> interpolate from elements ! to nodes - tvol = 0.0_WP - do nelem=1,nod_in_elem2D_num(node) - elem = nod_in_elem2D(nelem,node) - tvol = tvol + elem_area(elem) - tke_forc2d_normstress(node) = tke_forc2d_normstress(node) & - + sqrt(stress_surf(1,elem)**2 + stress_surf(2,elem)**2)*elem_area(elem)/density_0 - end do !--> do nelem=1,nod_in_elem2D_num(node) - tke_forc2d_normstress(node) = tke_forc2d_normstress(node)/tvol - +!!PS tvol = 0.0_WP +!!PS do nelem=1,nod_in_elem2D_num(node) +!!PS elem = nod_in_elem2D(nelem,node) +!!PS tvol = tvol + elem_area(elem) +!!PS tke_forc2d_normstress(node) = tke_forc2d_normstress(node) & +!!PS + sqrt(stress_surf(1,elem)**2 + stress_surf(2,elem)**2)*elem_area(elem)/density_0 +!!PS end do !--> do nelem=1,nod_in_elem2D_num(node) +!!PS tke_forc2d_normstress(node) = tke_forc2d_normstress(node)/tvol + tke_forc2d_normstress(node) = sqrt( stress_node_surf(1,node)**2 + stress_node_surf(2,node)**2)/density_0 + !___________________________________________________________________ ! calculate for TKE 3D vertical velocity shear vshear2=0.0_WP diff --git a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 index 7b9555d02..db028c94f 100755 --- a/src/ice_oce_coupling.F90 +++ b/src/ice_oce_coupling.F90 @@ -62,13 +62,15 @@ subroutine oce_fluxes_mom(mesh) if (ulevels(elem)>1) cycle !_______________________________________________________________________ + ! total surface stress (iceoce+atmoce) on elements elnodes=elem2D_nodes(:,elem) - stress_surf(1,elem)=sum(stress_iceoce_x(elnodes)*a_ice(elnodes) + & - stress_atmoce_x(elnodes)*(1.0_WP-a_ice(elnodes)))/3.0_WP - stress_surf(2,elem)=sum(stress_iceoce_y(elnodes)*a_ice(elnodes) + & - stress_atmoce_y(elnodes)*(1.0_WP-a_ice(elnodes)))/3.0_WP - !!PS stress_surf(1,elem)=sum(stress_node_surf(1,elnodes))/3.0_WP - !!PS stress_surf(2,elem)=sum(stress_node_surf(2,elnodes))/3.0_WP + + !!PS stress_surf(1,elem)=sum(stress_iceoce_x(elnodes)*a_ice(elnodes) + & + !!PS stress_atmoce_x(elnodes)*(1.0_WP-a_ice(elnodes)))/3.0_WP + !!PS stress_surf(2,elem)=sum(stress_iceoce_y(elnodes)*a_ice(elnodes) + & + !!PS stress_atmoce_y(elnodes)*(1.0_WP-a_ice(elnodes)))/3.0_WP + stress_surf(1,elem)=sum(stress_node_surf(1,elnodes))/3.0_WP + stress_surf(2,elem)=sum(stress_node_surf(2,elnodes))/3.0_WP END DO !___________________________________________________________________________ diff --git a/src/oce_ale_mixing_kpp.F90 b/src/oce_ale_mixing_kpp.F90 index d08060e98..af09e014b 100755 --- a/src/oce_ale_mixing_kpp.F90 +++ b/src/oce_ale_mixing_kpp.F90 @@ -336,7 +336,8 @@ subroutine oce_mixing_KPP(viscAE, diffK, mesh) DO node=1, myDim_nod2D !+eDim_nod2D nzmin = ulevels_nod2D(node) - ustar(node) = sqrt( sqrt( stress_atmoce_x(node)**2 + stress_atmoce_y(node)**2 )*density_0_r ) ! @ the surface (eqn. 2) +!!PS ustar(node) = sqrt( sqrt( stress_atmoce_x(node)**2 + stress_atmoce_y(node)**2 )*density_0_r ) ! @ the surface (eqn. 2) + ustar(node) = sqrt( sqrt( stress_node_surf(1,node)**2 + stress_node_surf(2,node)**2 )*density_0_r ) ! @ the surface (eqn. 2) ! Surface buoyancy forcing (eqns. A2c & A2d & A3b & A3d) !!PS Bo(node) = -g * ( sw_alpha(1,node) * heat_flux(node) / vcpw & !heat_flux & water_flux: positive up diff --git a/src/oce_mo_conv.F90 b/src/oce_mo_conv.F90 index f9ddac0c4..715d84f29 100644 --- a/src/oce_mo_conv.F90 +++ b/src/oce_mo_conv.F90 @@ -33,10 +33,14 @@ subroutine mo_convect(mesh) !___________________________________________________________________ ! calcualte monin obukhov length +!!PS call mo_length(water_flux(node),heat_flux(node), & +!!PS stress_atmoce_x(node),stress_atmoce_y(node), & +!!PS u_ice(node),v_ice(node),a_ice(node), & +!!PS dt, mixlength(node)) call mo_length(water_flux(node),heat_flux(node), & - stress_atmoce_x(node),stress_atmoce_y(node), & + stress_node_surf(1,node),stress_node_surf(2,node), & u_ice(node),v_ice(node),a_ice(node), & - dt, mixlength(node)) + dt, mixlength(node)) !___________________________________________________________________ ! increase vertical diffusion within monin obukov length to namelist From cf66874fd20e4c9af6735b9a17b388dad9ac1dd8 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 3 May 2021 14:11:40 +0200 Subject: [PATCH 004/273] add total surface stress also to cvmix_kpp --- src/gen_modules_cvmix_kpp.F90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gen_modules_cvmix_kpp.F90 b/src/gen_modules_cvmix_kpp.F90 index 823093fec..13621c50a 100644 --- a/src/gen_modules_cvmix_kpp.F90 +++ b/src/gen_modules_cvmix_kpp.F90 @@ -498,7 +498,8 @@ subroutine calc_cvmix_kpp(mesh) ! calculate friction velocity (ustar) at surface (m/s) - aux_ustar = sqrt( sqrt( stress_atmoce_x(node)**2 + stress_atmoce_y(node)**2 )*density_0_r ) ! @ the surface (eqn. 2) +!!PS aux_ustar = sqrt( sqrt( stress_atmoce_x(node)**2 + stress_atmoce_y(node)**2 )*density_0_r ) ! @ the surface (eqn. 2) + aux_ustar = sqrt( sqrt( stress_node_surf(1,node)**2 + stress_node_surf(2,node)**2 )*density_0_r ) ! @ the surface (eqn. 2) ! reduce friction velocity under ice --> approach take from the mpiom ! interface --> haven't been tested before with FESOM From f8bd79787c20692253d8d59ede2dcea590779e4f Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 4 May 2021 16:02:10 +0200 Subject: [PATCH 005/273] delete ice debugging check loop --- src/ice_setup_step.F90 | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/ice_setup_step.F90 b/src/ice_setup_step.F90 index 183b2ba5e..7290ddc76 100755 --- a/src/ice_setup_step.F90 +++ b/src/ice_setup_step.F90 @@ -243,20 +243,6 @@ subroutine ice_timestep(step, mesh) call thermodynamics(mesh) #endif /* (__icepack) */ - - do i=1,myDim_nod2D+eDim_nod2D - if ( ( U_ice(i)/=0.0_WP .and. mesh%ulevels_nod2d(i)>1) .or. (V_ice(i)/=0.0_WP .and. mesh%ulevels_nod2d(i)>1) ) then - write(*,*) " --> found cavity velocity /= 0.0_WP , ", mype - write(*,*) " ulevels_nod2d(n) = ", mesh%ulevels_nod2d(i) - write(*,*) " U_ice(n) = ", U_ice(i) - write(*,*) " V_ice(n) = ", V_ice(i) - write(*,*) - end if - end do - - - - t3=MPI_Wtime() rtime_ice = rtime_ice + (t3-t0) rtime_tot = rtime_tot + (t3-t0) From ae0fca0d28086c68b88c77ae6ece0e15e862cd2d Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Mon, 14 Feb 2022 11:00:42 +0100 Subject: [PATCH 006/273] --wip-- [skip ci] --- src/io_meandata.F90 | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 52bd17eed..6e4e46ba4 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -153,9 +153,11 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) SELECT CASE (trim(io_list(i)%id)) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2D streams!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CASE ('sst ') - call def_stream(nod2D, myDim_nod2D, 'sst', 'sea surface temperature', 'C', tracers%data(1)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(nod2D, myDim_nod2D, 'sst', 'sea surface temperature', 'C', + tracers%data(1)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh, "Something something something", "nodes") CASE ('sss ') - call def_stream(nod2D, myDim_nod2D, 'sss', 'sea surface salinity', 'psu', tracers%data(2)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(nod2D, myDim_nod2D, 'sss', 'sea surface salinity', 'psu', + tracers%data(2)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh, "Sea surface salinity in the ocean", "nodes") CASE ('ssh ') call def_stream(nod2D, myDim_nod2D, 'ssh', 'sea surface elevation', 'm', dynamics%eta_n, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('vve_5 ') @@ -1005,7 +1007,7 @@ subroutine finalize_output() ! !-------------------------------------------------------------------------------------------- ! -subroutine def_stream3D(glsize, lcsize, name, description, units, data, freq, freq_unit, accuracy, partit, mesh, flip_array) +subroutine def_stream3D(glsize, lcsize, name, description, units, data, freq, freq_unit, accuracy, partit, mesh, flip_array, long_description, defined_on) use mod_mesh USE MOD_PARTIT USE MOD_PARSUP @@ -1021,6 +1023,8 @@ subroutine def_stream3D(glsize, lcsize, name, description, units, data, freq, fr type(Meandata), pointer :: entry type(t_mesh), intent(in), target :: mesh logical, optional, intent(in) :: flip_array + character(len=*), optional, intent(in) :: long_description + character(len=*), optional, intent(in) :: defined_on integer i #if !defined(__PGI) @@ -1068,12 +1072,12 @@ subroutine def_stream3D(glsize, lcsize, name, description, units, data, freq, fr entry%dimname(1)=mesh_dimname_from_dimsize(glsize(1), partit, mesh) !2D! mesh_dimname_from_dimsize(glsize, mesh) entry%dimname(2)=mesh_dimname_from_dimsize(glsize(2), partit, mesh) !2D! entry%dimname(2)='unknown' ! non dimension specific - call def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh) + call def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh, long_description, defined_on) end subroutine ! !-------------------------------------------------------------------------------------------- ! -subroutine def_stream2D(glsize, lcsize, name, description, units, data, freq, freq_unit, accuracy, partit, mesh) +subroutine def_stream2D(glsize, lcsize, name, description, units, data, freq, freq_unit, accuracy, partit, mesh, long_description, defined_on) use mod_mesh USE MOD_PARTIT USE MOD_PARSUP @@ -1088,6 +1092,8 @@ subroutine def_stream2D(glsize, lcsize, name, description, units, data, freq, fr type(Meandata), pointer :: entry type(t_mesh), intent(in) :: mesh type(t_partit), intent(inout) :: partit + character(len=*), optional, intent(in) :: long_description + character(len=*), optional, intent(in) :: defined_on integer i #if !defined(__PGI) @@ -1126,7 +1132,7 @@ subroutine def_stream2D(glsize, lcsize, name, description, units, data, freq, fr entry%dimname(2)='unknown' ! non dimension specific - call def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh) + call def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh, long_description, defined_on) end subroutine @@ -1154,7 +1160,7 @@ subroutine associate_new_stream(name, entry) end subroutine - subroutine def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh) + subroutine def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh, long_description, defined_on) use mod_mesh USE MOD_PARTIT USE MOD_PARSUP @@ -1166,6 +1172,8 @@ subroutine def_stream_after_dimension_specific(entry, name, description, units, integer, intent(in) :: accuracy type(t_mesh), intent(in), target :: mesh type(t_partit), intent(inout), target :: partit + character(len=*), intent(in) :: long_description + character(len=*), intent(in) :: defined_on ! EO args logical async_netcdf_allowed integer provided_mpi_thread_support_level @@ -1188,6 +1196,9 @@ subroutine def_stream_after_dimension_specific(entry, name, description, units, entry%name = name entry%description = description + entry%long_description = long_description + entry%defined_on = defined_on + entry%mesh = "fesom_mesh"; entry%units = units entry%filename = "" From a71788a70b9e8b6b1d044aa8bd83e58dcf5d24b8 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Mon, 21 Feb 2022 08:47:53 +0100 Subject: [PATCH 007/273] wip: better metadata --- src/io_meandata.F90 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 6e4e46ba4..5ec849411 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -153,11 +153,9 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) SELECT CASE (trim(io_list(i)%id)) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2D streams!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CASE ('sst ') - call def_stream(nod2D, myDim_nod2D, 'sst', 'sea surface temperature', 'C', - tracers%data(1)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh, "Something something something", "nodes") + call def_stream(nod2D, myDim_nod2D, 'sst', 'sea surface temperature', 'C', tracers%data(1)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh, "Sea surface temperature", "nodes") CASE ('sss ') - call def_stream(nod2D, myDim_nod2D, 'sss', 'sea surface salinity', 'psu', - tracers%data(2)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh, "Sea surface salinity in the ocean", "nodes") + call def_stream(nod2D, myDim_nod2D, 'sss', 'sea surface salinity', 'psu', tracers%data(2)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh, "Sea surface salinity", "nodes") CASE ('ssh ') call def_stream(nod2D, myDim_nod2D, 'ssh', 'sea surface elevation', 'm', dynamics%eta_n, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('vve_5 ') From bab06b501ee1fc8b848edbc22929e6d566e711f7 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Mon, 21 Feb 2022 09:02:22 +0100 Subject: [PATCH 008/273] fix(io_meandata): needed to adapt type --- src/io_meandata.F90 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 5ec849411..f241ed272 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -50,6 +50,9 @@ module io_MEANDATA real(real32), allocatable, dimension(:,:) :: local_values_r4_copy real(kind=WP) :: ctime_copy integer :: mype_workaround + character :: long_description + character :: defined_on + character :: mesh="fesom_mesh" contains final destructor end type From e204d472165d291cdb9dfc1387128436e5ff19af Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Mon, 21 Feb 2022 11:26:24 +0100 Subject: [PATCH 009/273] feat: UGRID Compliant Output --- .gitignore | 1 + configure.sh | 2 +- src/io_meandata.F90 | 28 ++++++++-------- src/io_mesh_info.F90 | 77 ++++++++++++++++++++++++++++++++++++++++++++ test.sh | 2 +- 5 files changed, 94 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 7e9b58fcd..417e64550 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ lib/*.so /work_* Makefile.in mesh_part/build +test/output_pi diff --git a/configure.sh b/configure.sh index b4b6e27b8..ae545d985 100755 --- a/configure.sh +++ b/configure.sh @@ -3,7 +3,7 @@ set -e source env.sh # source this from your run script too -mkdir build || true # make sure not to commit this to svn or git +mkdir -p build || true # make sure not to commit this to svn or git cd build cmake .. # not required when re-compiling make install -j`nproc --all` diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index f241ed272..5325e91d3 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -50,9 +50,9 @@ module io_MEANDATA real(real32), allocatable, dimension(:,:) :: local_values_r4_copy real(kind=WP) :: ctime_copy integer :: mype_workaround - character :: long_description - character :: defined_on - character :: mesh="fesom_mesh" + character(500) :: long_description="" + character(100) :: defined_on="" + character(100) :: mesh="fesom_mesh" contains final destructor end type @@ -156,9 +156,9 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) SELECT CASE (trim(io_list(i)%id)) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!2D streams!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CASE ('sst ') - call def_stream(nod2D, myDim_nod2D, 'sst', 'sea surface temperature', 'C', tracers%data(1)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh, "Sea surface temperature", "nodes") + call def_stream(nod2D, myDim_nod2D, 'sst', 'sea surface temperature', 'C', tracers%data(1)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh, "Sea surface temperature") CASE ('sss ') - call def_stream(nod2D, myDim_nod2D, 'sss', 'sea surface salinity', 'psu', tracers%data(2)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh, "Sea surface salinity", "nodes") + call def_stream(nod2D, myDim_nod2D, 'sss', 'sea surface salinity', 'psu', tracers%data(2)%values(1,1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh, "Sea surface salinity") CASE ('ssh ') call def_stream(nod2D, myDim_nod2D, 'ssh', 'sea surface elevation', 'm', dynamics%eta_n, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('vve_5 ') @@ -655,6 +655,8 @@ subroutine create_new_file(entry, ice, dynamics, partit, mesh) call assert_nf( nf_put_att_text(entry%ncid, entry%varID, 'description', len_trim(entry%description), entry%description), __LINE__) call assert_nf( nf_put_att_text(entry%ncid, entry%varID, 'long_name', len_trim(entry%description), entry%description), __LINE__) call assert_nf( nf_put_att_text(entry%ncid, entry%varID, 'units', len_trim(entry%units), entry%units), __LINE__) + call assert_nf( nf_put_att_text(entry%ncid, entry%varID, 'location', len_trim(entry%defined_on), entry%defined_on), __LINE__) + call assert_nf( nf_put_att_text(entry%ncid, entry%varID, 'mesh', len_trim(entry%mesh), entry%mesh), __LINE__) !___Global attributes________ @@ -1008,7 +1010,7 @@ subroutine finalize_output() ! !-------------------------------------------------------------------------------------------- ! -subroutine def_stream3D(glsize, lcsize, name, description, units, data, freq, freq_unit, accuracy, partit, mesh, flip_array, long_description, defined_on) +subroutine def_stream3D(glsize, lcsize, name, description, units, data, freq, freq_unit, accuracy, partit, mesh, flip_array, long_description) use mod_mesh USE MOD_PARTIT USE MOD_PARSUP @@ -1025,7 +1027,6 @@ subroutine def_stream3D(glsize, lcsize, name, description, units, data, freq, fr type(t_mesh), intent(in), target :: mesh logical, optional, intent(in) :: flip_array character(len=*), optional, intent(in) :: long_description - character(len=*), optional, intent(in) :: defined_on integer i #if !defined(__PGI) @@ -1073,12 +1074,12 @@ subroutine def_stream3D(glsize, lcsize, name, description, units, data, freq, fr entry%dimname(1)=mesh_dimname_from_dimsize(glsize(1), partit, mesh) !2D! mesh_dimname_from_dimsize(glsize, mesh) entry%dimname(2)=mesh_dimname_from_dimsize(glsize(2), partit, mesh) !2D! entry%dimname(2)='unknown' ! non dimension specific - call def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh, long_description, defined_on) + call def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh, long_description) end subroutine ! !-------------------------------------------------------------------------------------------- ! -subroutine def_stream2D(glsize, lcsize, name, description, units, data, freq, freq_unit, accuracy, partit, mesh, long_description, defined_on) +subroutine def_stream2D(glsize, lcsize, name, description, units, data, freq, freq_unit, accuracy, partit, mesh, long_description) use mod_mesh USE MOD_PARTIT USE MOD_PARSUP @@ -1094,7 +1095,6 @@ subroutine def_stream2D(glsize, lcsize, name, description, units, data, freq, fr type(t_mesh), intent(in) :: mesh type(t_partit), intent(inout) :: partit character(len=*), optional, intent(in) :: long_description - character(len=*), optional, intent(in) :: defined_on integer i #if !defined(__PGI) @@ -1133,7 +1133,7 @@ subroutine def_stream2D(glsize, lcsize, name, description, units, data, freq, fr entry%dimname(2)='unknown' ! non dimension specific - call def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh, long_description, defined_on) + call def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh, long_description) end subroutine @@ -1161,7 +1161,7 @@ subroutine associate_new_stream(name, entry) end subroutine - subroutine def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh, long_description, defined_on) + subroutine def_stream_after_dimension_specific(entry, name, description, units, freq, freq_unit, accuracy, partit, mesh, long_description) use mod_mesh USE MOD_PARTIT USE MOD_PARSUP @@ -1174,7 +1174,6 @@ subroutine def_stream_after_dimension_specific(entry, name, description, units, type(t_mesh), intent(in), target :: mesh type(t_partit), intent(inout), target :: partit character(len=*), intent(in) :: long_description - character(len=*), intent(in) :: defined_on ! EO args logical async_netcdf_allowed integer provided_mpi_thread_support_level @@ -1198,7 +1197,6 @@ subroutine def_stream_after_dimension_specific(entry, name, description, units, entry%name = name entry%description = description entry%long_description = long_description - entry%defined_on = defined_on entry%mesh = "fesom_mesh"; entry%units = units entry%filename = "" @@ -1210,8 +1208,10 @@ subroutine def_stream_after_dimension_specific(entry, name, description, units, if(entry%glsize(1)==mesh%nod2D .or. entry%glsize(2)==mesh%nod2D) then entry%is_elem_based = .false. + entry%defined_on = "nodes" else if(entry%glsize(1)==mesh%elem2D .or. entry%glsize(2)==mesh%elem2D) then entry%is_elem_based = .true. + entry%defined_on = "elements" else if(partit%mype == 0) print *,"can not determine if ",trim(name)," is node or elem based" stop diff --git a/src/io_mesh_info.F90 b/src/io_mesh_info.F90 index 4b80bf9d0..c0682bc10 100644 --- a/src/io_mesh_info.F90 +++ b/src/io_mesh_info.F90 @@ -85,6 +85,7 @@ subroutine write_mesh_info(partit, mesh) !Define the variables ! 1D + call add_fesom_ugrid_info(ncid, partit) call my_def_var(ncid, 'nz', NF_DOUBLE, 1, (/nl_id /), zbar_id, 'depth of levels', partit) call my_def_var(ncid, 'nz1', NF_DOUBLE, 1, (/nl1_id/), z_id, 'depth of layers', partit) call my_def_var(ncid, 'elem_area', NF_DOUBLE, 1, (/elem_n_id/), elem_area_id, 'element areas', partit) @@ -297,6 +298,82 @@ end subroutine my_def_dim ! !============================================================================ ! +! +subroutine add_fesom_ugrid_info(ncid, partit) +IMPLICIT NONE +type(t_partit), intent(inout) :: partit +integer, intent(in) :: ncid +integer :: info_id +integer :: fesom_mesh_id +integer :: ierror, status + +call my_def_dim(ncid, "info", 1, info_id, partit) +if (partit%mype==0) then + status = nf_def_var(ncid, 'fesom_mesh', NF_INT, 0, info_id, fesom_mesh_id) +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + +if (partit%mype==0) then + status = nf_put_att_text(ncid, fesom_mesh_id, 'cf_role', len_trim('mesh_topology'), trim('mesh_topology')); +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + +if (partit%mype==0) then + status = nf_put_att_text(ncid, fesom_mesh_id, 'long_name', len_trim('Topology data of 2D unstructured mesh'), trim('Topology data of 2D unstructured mesh')); +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + +if (partit%mype==0) then + status = nf_put_att_int(ncid, fesom_mesh_id, 'topology_dimension', NF_INT, 1, 2); +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + +if (partit%mype==0) then + status = nf_put_att_text(ncid, fesom_mesh_id, 'node_coordinates', len_trim('lon lat'), trim('lon lat')); +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + +if (partit%mype==0) then + status = nf_put_att_text(ncid, fesom_mesh_id, 'face_node_connectivity', len_trim('elements'), trim('elements')); +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + +if (partit%mype==0) then + status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_node_connectivity', len_trim('edges'), trim('edges')); +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + +if (partit%mype==0) then + status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_face_connectivity', len_trim('edge_tri'), trim('edge_tri')); +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + +if (partit%mype==0) then + status = nf_put_att_text(ncid, fesom_mesh_id, 'face_dimension', len_trim('elem') , trim('elem')); +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + +if (partit%mype==0) then + status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_dimension', len_trim('edg_n'), trim('edg_n')); +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + +end subroutine add_fesom_ugrid_info +!============================================================================ +! +! +!============================================================================ +! subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit) IMPLICIT NONE diff --git a/test.sh b/test.sh index 81fe8ec34..c4e1108c9 100755 --- a/test.sh +++ b/test.sh @@ -3,7 +3,7 @@ # # With singularity on ollie # -# module load singularity/3.5.1 +# module load singularity/3.9.1 # cd fesom2 # singularity exec /home/ollie/nkolduno/SINGULARITY/fesom_refactoring.sif ./test.sh # From dc23af2d063010bbc9940d0bab00858ddefc5127 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Tue, 10 May 2022 12:30:55 +0200 Subject: [PATCH 010/273] --wip-- please ignore --- .../inactive_workflows/fesom2_icepack 2.yml | 50 ++ .github/workflows/fesom2.1 2.yml | 80 +++ .github/workflows/fesom2.1.yml | 6 + .github/workflows/fesom2_openmp 2.yml | 49 ++ src/io_meandata.F90 | 8 +- src/io_mesh_info.F90 | 181 +++++- src/temp/MOD_TRACER 2.F90 | 228 +++++++ src/temp/oce_adv_tra_ver 2.F90 | 598 ++++++++++++++++++ test.sh | 17 +- 9 files changed, 1186 insertions(+), 31 deletions(-) create mode 100644 .github/inactive_workflows/fesom2_icepack 2.yml create mode 100644 .github/workflows/fesom2.1 2.yml create mode 100644 .github/workflows/fesom2_openmp 2.yml create mode 100644 src/temp/MOD_TRACER 2.F90 create mode 100644 src/temp/oce_adv_tra_ver 2.F90 diff --git a/.github/inactive_workflows/fesom2_icepack 2.yml b/.github/inactive_workflows/fesom2_icepack 2.yml new file mode 100644 index 000000000..9057057b1 --- /dev/null +++ b/.github/inactive_workflows/fesom2_icepack 2.yml @@ -0,0 +1,50 @@ + +name: FESOM2_icepack + +# Controls when the action will run. Triggers the workflow on push or pull request. + +on: [push, pull_request] + + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + icepack_test: + # Containers must run in Linux based operating systems + runs-on: ubuntu-latest + # Docker Hub image that `container-job` executes in + container: koldunovn/fesom2_test:refactoring2 + + # Service containers to run with `gfortran_ubuntu` + steps: + # NK: this changes working directory to fesom2 + - uses: actions/checkout@v2 + + - name: prepeare FESOM2_icepack + run: | + sed -i 's/USE_ICEPACK OFF/USE_ICEPACK ON/g' CMakeLists.txt + cd ./src/icepack_drivers/ + ./download_icepack.sh + cd ../../ + + - name: Compile model + run: | + bash -l configure.sh ubuntu + + - name: Create global test run with ICEPACK + run: | + mkrun pi test_pi_icepack -m docker + - name: FESOM2 global test run with IEPACK + run: | + cd work_pi + chmod +x job_docker_new + ./job_docker_new + - name: Check global results + run: | + cd work_pi + fcheck . + - name: Check restarts + run: | + cd work_pi + ./job_docker_new + + diff --git a/.github/workflows/fesom2.1 2.yml b/.github/workflows/fesom2.1 2.yml new file mode 100644 index 000000000..069a5a669 --- /dev/null +++ b/.github/workflows/fesom2.1 2.yml @@ -0,0 +1,80 @@ + +name: FESOM2 main test + +# Controls when the action will run. Triggers the workflow on push or pull request. + +on: [push, pull_request] + + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + general_test: + # Containers must run in Linux based operating systems + runs-on: ubuntu-latest + # Docker Hub image that `container-job` executes in + container: koldunovn/fesom2_test:refactoring2 + + # Service containers to run with `gfortran_ubuntu` + steps: + # NK: this changes working directory to fesom2 + - uses: actions/checkout@v2 + + - name: Compile model (binary) + run: | + bash -l configure.sh ubuntu + + - name: Compile model (library) + run: | + bash ./test/ifs_interface/configure_lib.sh -l + + - name: Library exists + run: | + bash ./test/ifs_interface/check_exist.sh + + - name: Create global test run + run: | + mkrun pi test_pi -m docker + + - name: FESOM2 global test run + run: | + cd work_pi + chmod +x job_docker_new + ./job_docker_new + - name: Check global results + run: | + cd work_pi + fcheck . + + - name: Check restarts + run: | + cd work_pi + ./job_docker_new + + - name: Create channel test run + run: | + mkrun souf test_souf -m docker + + - name: FESOM2 channel test run + run: | + cd work_souf + chmod +x job_docker_new + ./job_docker_new + + - name: Check channel results + run: | + cd work_souf + fcheck . + + - name: Check partitioner compilation + run: | + cd mesh_part + bash -l configure.sh ubuntu + + - name: Run partitioner + run: | + cd work_pi + cp ../bin/fesom_ini.x . + ./fesom_ini.x + + + diff --git a/.github/workflows/fesom2.1.yml b/.github/workflows/fesom2.1.yml index 069a5a669..ce9d00320 100644 --- a/.github/workflows/fesom2.1.yml +++ b/.github/workflows/fesom2.1.yml @@ -44,6 +44,12 @@ jobs: run: | cd work_pi fcheck . + - name: Check UGRID Compliance + run: | + pip install ugrid-checks xarray + # Needed to combine the mesh diag and output + python3 -c "import xarray as xr; ds1 = xr.open_dataset('./test/output_pi/sst.fesom.1948.nc'); ds2 = xr.open_dataset('./test/output_pi/fesom.mesh.diag.nc'); xr.merge([ds1, ds2]).to_netcdf('./test/output_pi/merged_ugrid_check.nc')" + ugrid-checker ./test/output_pi/merged_ugrid_check.nc - name: Check restarts run: | diff --git a/.github/workflows/fesom2_openmp 2.yml b/.github/workflows/fesom2_openmp 2.yml new file mode 100644 index 000000000..fd1e8cafa --- /dev/null +++ b/.github/workflows/fesom2_openmp 2.yml @@ -0,0 +1,49 @@ + +name: FESOM2 OpenMP test + +# Controls when the action will run. Triggers the workflow on push or pull request. + +on: [push, pull_request] + + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + openmp_test: + # Containers must run in Linux based operating systems + runs-on: ubuntu-latest + # Docker Hub image that `container-job` executes in + container: koldunovn/fesom2_test:refactoring2 + + # Service containers to run with `gfortran_ubuntu` + steps: + # NK: this changes working directory to fesom2 + - uses: actions/checkout@v2 + + - name: switch OpenMP ON + run: | + cd ./src/ + sed -i 's/with OpenMP\" OFF/with OpenMP\" ON/g' CMakeLists.txt + cd ../ + + - name: Compile model + run: | + bash -l configure.sh ubuntu + + - name: Create global test run with 4 OpenMP threads + run: | + mkrun pi test_pi -m docker + cd work_pi + sed -i 's/THREADS=1/THREADS=4/g' job_docker_new + cd ../ + + - name: FESOM2 global test run + run: | + cd work_pi + chmod +x job_docker_new + ./job_docker_new + + + + + + diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 5325e91d3..c19b71e41 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -568,9 +568,9 @@ function mesh_dimname_from_dimsize(size, partit, mesh) result(name) character(50) :: name if (size==mesh%nod2D) then - name='nod2' + name='node' elseif (size==mesh%elem2D) then - name='elem' + name='face' elseif (size==mesh%nl) then name='nz' elseif (size==mesh%nl-1) then @@ -1208,10 +1208,10 @@ subroutine def_stream_after_dimension_specific(entry, name, description, units, if(entry%glsize(1)==mesh%nod2D .or. entry%glsize(2)==mesh%nod2D) then entry%is_elem_based = .false. - entry%defined_on = "nodes" + entry%defined_on = "node" else if(entry%glsize(1)==mesh%elem2D .or. entry%glsize(2)==mesh%elem2D) then entry%is_elem_based = .true. - entry%defined_on = "elements" + entry%defined_on = "face" else if(partit%mype == 0) print *,"can not determine if ",trim(name)," is node or elem based" stop diff --git a/src/io_mesh_info.F90 b/src/io_mesh_info.F90 index c0682bc10..99f1d2814 100644 --- a/src/io_mesh_info.F90 +++ b/src/io_mesh_info.F90 @@ -53,6 +53,7 @@ subroutine write_mesh_info(partit, mesh) integer :: elem_id integer :: nod_id integer :: lon_id, lat_id + integer :: face_node_id, face_edges_id, face_links_id, edge_face_links_id character(100) :: longname character(2000) :: filename real(kind=WP), allocatable :: rbuffer(:), lrbuffer(:) @@ -72,16 +73,21 @@ subroutine write_mesh_info(partit, mesh) filename=trim(ResultPath)//runid//'.mesh.diag.nc' call my_create(filename, IOR(NF_CLOBBER,IOR(NF_NETCDF4,NF_CLASSIC_MODEL)), ncid, partit) - !Define the dimensions - call my_def_dim(ncid, 'nod2', nod2D, nod_n_id, partit) - call my_def_dim(ncid, 'edg_n', edge2d, edge_n_id, partit) - call my_def_dim(ncid, 'elem', elem2d, elem_n_id, partit) - call my_def_dim(ncid, 'nz', nl, nl_id, partit) - call my_def_dim(ncid, 'nz1', nl-1, nl1_id, partit) - call my_def_dim(ncid, 'n2', 2, id_2, partit) - call my_def_dim(ncid, 'n3', 3, id_3, partit) - call my_def_dim(ncid, 'n4', 4, id_4, partit) - call my_def_dim(ncid, 'N', N_max, id_N, partit) + ! NOTE(PG): For naming conventions of node, edge, face, please see here: + ! https://tinyurl.com/43z4m6cd + ! + ! These are specified after UGRID. Instead of Mesh2 we use name fesom_mesh here. + ! + ! Define the dimensions + call my_def_dim(ncid, 'nnode', nod2D, nod_n_id, partit) + call my_def_dim(ncid, 'nedge', edge2d, edge_n_id, partit) + call my_def_dim(ncid, 'nface', elem2d, elem_n_id, partit) + call my_def_dim(ncid, 'nz', nl, nl_id, partit) + call my_def_dim(ncid, 'nz1', nl-1, nl1_id, partit) + call my_def_dim(ncid, 'n2', 2, id_2, partit) + call my_def_dim(ncid, 'n3', 3, id_3, partit) + call my_def_dim(ncid, 'n4', 4, id_4, partit) + call my_def_dim(ncid, 'N', N_max, id_N, partit) !Define the variables ! 1D @@ -96,16 +102,93 @@ subroutine write_mesh_info(partit, mesh) call my_def_var(ncid, 'elem_part', NF_INT, 1, (/elem_n_id/), elem_part_id, 'element partitioning at the cold start', partit) call my_def_var(ncid, 'zbar_e_bottom', NF_DOUBLE, 1, (/elem_n_id/), zbar_e_bot_id, 'element bottom depth', partit) call my_def_var(ncid, 'zbar_n_bottom', NF_DOUBLE, 1, (/nod_n_id/), zbar_n_bot_id, 'nodal bottom depth', partit) - call my_def_var(ncid, 'lon', NF_DOUBLE, 1, (/nod_n_id/), lon_id, 'longitude', partit) - call my_def_var(ncid, 'lat', NF_DOUBLE, 1, (/nod_n_id/), lat_id, 'latitude', partit) + call my_def_var(ncid, 'lon', NF_DOUBLE, 1, (/nod_n_id/), lon_id, 'longitude', partit, "longitude", "degrees_east") + call my_def_var(ncid, 'lat', NF_DOUBLE, 1, (/nod_n_id/), lat_id, 'latitude', partit, "latitude", "degrees_north") ! 2D call my_def_var(ncid, 'nod_area', NF_DOUBLE, 2, (/nod_n_id, nl_id/), nod_area_id, 'nodal areas', partit) - call my_def_var(ncid, 'elements', NF_INT, 2, (/elem_n_id, id_3/), elem_id, 'elements', partit) - call my_def_var(ncid, 'nodes', NF_DOUBLE, 2, (/nod_n_id, id_2/), nod_id, 'nodal geo. coordinates', partit) + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'face_nodes', & ! Short Name + NF_INT, & ! Variable Type + 2, & ! Variable Dimensionality + (/elem_n_id, id_3/), & ! Dimension IDs + face_node_id, & ! ID + "Maps every triangular face to its three edges.", & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit, & ! Partitioning + ! Everything after partit is an optional argument + "face", & ! Standard Name + "", & ! Units + "face_edge_connectivity" & ! CF Role + ) + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + "edge_nodes", & ! Short Name + NF_INT, & ! Variable Type + 2, & ! Variable Dimensionality + (/nod_n_id, id_2/), & ! Dimension IDs + nod_id, & ! ID + "Maps every edge to the two nodes that it connects", & ! Long Name + partit, & ! Partitioning + ! Everything after partit is an optional argument + "edge", & ! Standard Name + "", & ! Units + "edge_node_connectivity" & ! CF Role + ) + +! TODO(PG): Find out if we want this one +! FIXME(PG): Not sure how to actually calculate this one + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'face_edges', & ! Short Name + NF_INT, & ! Variable Type + 2, & ! Variable Dimensionality + (/elem_n_id, id_3/), & ! Dimension IDs + face_edges_id, & ! ID + 'Maps every triangular face to its three edges.', & ! Long Name + partit, & ! Partitioning + ! Everything after partit is an optional argument + "face_edges", & ! Standard Name + "", & ! Units + "face_edge_connectivity" & ! CF Role + ) + +! TODO(PG): Find out if we want this one +! FIXME(PG): Not sure how to actually calculate this one +call my_def_var(ncid, & ! NetCDF Variable File Handle ID + "face_links", & ! Short Name + NF_INT, & ! Variable Type + 2, & ! Variable Dimensionality + (/elem_n_id, id_3/), & ! Dimension IDs + face_links_id, & ! ID + "neighbor faces for faces", & ! Long Name + partit, & ! Partitioning + ! Everything after partit is an optional argument + "face_links", & ! Standard Name + "", & ! Units + "face_edge_connectivity", & ! CF Role + "missing neighbor faces are indicated using _FillValue", & ! Comment + -999.0 & ! Missing Value + ) + +!TODO(PG): Find out if we want this one +call my_def_var(ncid, & ! NetCDF Variable File Handle ID + "edge_face_links", & ! Short Name + NF_INT, & ! Variable Type + 2, & ! Variable Dimensionality + (/nod_n_id, id_2/), & ! Dimension IDs + edge_face_links_id, & ! ID + "neighbor faces for edges", & ! Long Name + partit, & ! Partitioning + "edge_face_links", & ! Standard Name + "", & ! Units + "edge_face_connectivity", & ! CF Role + "missing neighbor faces are indicated using _FillValue", & ! Comment + -999.0 & ! Missing Value + ) + call my_def_var(ncid, 'nod_in_elem2D', NF_INT, 2, (/nod_n_id, id_N/), nod_in_elem2D_id, 'elements containing the node', partit) - call my_def_var(ncid, 'edges', NF_INT, 2, (/edge_n_id, id_2/), edges_id, 'edges', partit) - call my_def_var(ncid, 'edge_tri', NF_INT, 2, (/edge_n_id, id_2/), edge_tri_id, 'edge triangles', partit) + call my_def_var(ncid, 'edges', NF_INT, 2, (/edge_n_id, id_2/), edges_id, 'edges', partit, "edges", "", "mesh_topology") + call my_def_var(ncid, 'edge_tri', NF_INT, 2, (/edge_n_id, id_2/), edge_tri_id, 'edge triangles', partit, "edges of triangles", "", "mesh_topology") call my_def_var(ncid, 'edge_cross_dxdy', NF_DOUBLE, 2, (/edge_n_id, id_4/), edge_cross_dxdy_id, 'edge cross distancess', partit) call my_def_var(ncid, 'gradient_sca_x', NF_DOUBLE, 2, (/id_3, elem_n_id/), gradient_sca_x_id, 'x component of a gradient at nodes of an element', partit) call my_def_var(ncid, 'gradient_sca_y', NF_DOUBLE, 2, (/id_3, elem_n_id/), gradient_sca_y_id, 'y component of a gradient at nodes of an element', partit) @@ -307,6 +390,9 @@ subroutine add_fesom_ugrid_info(ncid, partit) integer :: fesom_mesh_id integer :: ierror, status + +! NOTE(PG): Order of calls should mirror the UGRID website; otherwise I cannot keep track: + call my_def_dim(ncid, "info", 1, info_id, partit) if (partit%mype==0) then status = nf_def_var(ncid, 'fesom_mesh', NF_INT, 0, info_id, fesom_mesh_id) @@ -339,31 +425,39 @@ subroutine add_fesom_ugrid_info(ncid, partit) if (status .ne. nf_noerr) call handle_err(status, partit) if (partit%mype==0) then - status = nf_put_att_text(ncid, fesom_mesh_id, 'face_node_connectivity', len_trim('elements'), trim('elements')); + status = nf_put_att_text(ncid, fesom_mesh_id, 'face_node_connectivity', len_trim('face_nodes'), trim('face_nodes')); end if call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) if (partit%mype==0) then - status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_node_connectivity', len_trim('edges'), trim('edges')); + status = nf_put_att_text(ncid, fesom_mesh_id, 'face_dimension', len_trim('nface') , trim('nface')); end if call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) if (partit%mype==0) then - status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_face_connectivity', len_trim('edge_tri'), trim('edge_tri')); + status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_node_connectivity', len_trim('edge_nodes'), trim('edge_nodes')); end if call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) if (partit%mype==0) then - status = nf_put_att_text(ncid, fesom_mesh_id, 'face_dimension', len_trim('elem') , trim('elem')); + status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_dimension', len_trim('nedge'), trim('nedge')); end if call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) +!FIXME(PG): edge coordinates missing +!Mesh2:edge_coordinates = "Mesh2_edge_x Mesh2_edge_y" ; // optional attribute (requires edge_node_connectivity) +!FIXME(PG): face coordinates missing +!Mesh2:face_coordinates = "Mesh2_face_x Mesh2_face_y" ; // optional attribute +!FIXME(PG): face_edge_connectivity +!Mesh2:face_edge_connectivity = "Mesh2_face_edges" ; // optional attribute (requires edge_node_connectivity) +!FIXME(PG): face_face_connectivity missing +!Mesh2:face_face_connectivity = "Mesh2_face_links" ; // optional attribute if (partit%mype==0) then - status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_dimension', len_trim('edg_n'), trim('edg_n')); + status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_face_connectivity', len_trim('edge_face_links'), trim('edge_face_links')); end if call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) @@ -374,7 +468,7 @@ end subroutine add_fesom_ugrid_info ! !============================================================================ ! -subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit) +subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit, standard_name, units, cf_role, comment, missing_value) IMPLICIT NONE type(t_partit), intent(inout):: partit @@ -382,21 +476,58 @@ subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit character(*), intent(in) :: short_name, att_text integer, intent(inout):: id integer :: ierror, status +character(*), intent(in), optional :: standard_name, units, cf_role +character(*), intent(in), optional :: comment +real, intent(in), optional :: missing_value if (partit%mype==0) then status = nf_def_var(ncid, trim(short_name), vtype, dsize, dids, id) end if -call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) -if (status .ne. nf_noerr) call handle_err(status, partit) - if (partit%mype==0) then status = nf_put_att_text(ncid, id, 'long_name', len_trim(att_text), trim(att_text)); end if +if (partit%mype==0) then + if (present(standard_name)) then + status = nf_put_att_text(ncid, id, 'standard_name', len_trim(standard_name), trim(standard_name)) + endif +endif + +if (partit%mype==0) then + if (present(units)) then + status = nf_put_att_text(ncid, id, 'units', len_trim(units), trim(units)); + endif +endif + +if (partit%mype==0) then + if (present(cf_role)) then + status = nf_put_att_text(ncid, id, 'cf_role', len_trim(cf_role), trim(cf_role)); + endif +endif + +if (partit%mype==0) then + if (present(comment)) then + status = nf_put_att_text(ncid, id, 'comment', len_trim(comment), trim(comment)); + endif +endif + + +if (partit%mype==0) then + if (present(missing_value)) then + write(*,*) 'variable ', short_name, ' has missing value ', missing_value, 'with KIND=', kind(missing_value) + status = nf_put_att_real(ncid, id, '_FillValue', NF_REAL, 1, missing_value); + endif +endif + +write(*,*) 'DEBUG: PG: status = ', status call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) + + + + end subroutine my_def_var ! !============================================================================ diff --git a/src/temp/MOD_TRACER 2.F90 b/src/temp/MOD_TRACER 2.F90 new file mode 100644 index 000000000..8e8247830 --- /dev/null +++ b/src/temp/MOD_TRACER 2.F90 @@ -0,0 +1,228 @@ +!========================================================== +MODULE MOD_TRACER +USE O_PARAM +USE, intrinsic :: ISO_FORTRAN_ENV +USE MOD_WRITE_BINARY_ARRAYS +USE MOD_READ_BINARY_ARRAYS +IMPLICIT NONE +SAVE + +TYPE T_TRACER_DATA +real(kind=WP), allocatable, dimension(:,:) :: values, valuesAB ! instant values & Adams-Bashfort interpolation +logical :: smooth_bh_tra=.false. +real(kind=WP) :: gamma0_tra, gamma1_tra, gamma2_tra +logical :: i_vert_diff =.false. +character(20) :: tra_adv_hor, tra_adv_ver, tra_adv_lim ! type of the advection scheme for this tracer +real(kind=WP) :: tra_adv_ph = 1. ! a parameter to be used in horizontal advection (for MUSCL it is the fraction of fourth-order contribution in the solution) +real(kind=WP) :: tra_adv_pv = 1. ! a parameter to be used in horizontal advection (for QR4C it is the fraction of fourth-order contribution in the solution) +integer :: ID + +contains + procedure WRITE_T_TRACER_DATA + procedure READ_T_TRACER_DATA + generic :: write(unformatted) => WRITE_T_TRACER_DATA + generic :: read(unformatted) => READ_T_TRACER_DATA +END TYPE T_TRACER_DATA + + +TYPE T_TRACER_WORK +!auxuary arrays to work with tracers: +real(kind=WP), allocatable :: del_ttf(:,:) +real(kind=WP), allocatable :: del_ttf_advhoriz(:,:),del_ttf_advvert(:,:) +!_______________________________________________________________________________ +! in case ldiag_DVD=.true. --> calculate discrete variance decay (DVD) +real(kind=WP), allocatable :: tr_dvd_horiz(:,:,:), tr_dvd_vert(:,:,:) +! The fct part +real(kind=WP),allocatable,dimension(:,:) :: fct_LO ! Low-order solution +real(kind=WP),allocatable,dimension(:,:) :: adv_flux_hor ! Antidif. horiz. contrib. from edges / backup for iterafive fct scheme +real(kind=WP),allocatable,dimension(:,:) :: adv_flux_ver ! Antidif. vert. fluxes from nodes / backup for iterafive fct scheme + +real(kind=WP),allocatable,dimension(:,:) :: fct_ttf_max,fct_ttf_min +real(kind=WP),allocatable,dimension(:,:) :: fct_plus,fct_minus +! MUSCL type reconstruction +integer,allocatable,dimension(:) :: nboundary_lay +integer,allocatable,dimension(:,:) :: edge_up_dn_tri +real(kind=WP),allocatable,dimension(:,:,:) :: edge_up_dn_grad + +contains + procedure WRITE_T_TRACER_WORK + procedure READ_T_TRACER_WORK + generic :: write(unformatted) => WRITE_T_TRACER_WORK + generic :: read(unformatted) => READ_T_TRACER_WORK +END TYPE T_TRACER_WORK + +! auxury type for reading namelist.tra +TYPE NML_TRACER_LIST_TYPE + INTEGER :: ID =-1 + CHARACTER(len=4) :: adv_hor ='NONE' + CHARACTER(len=4) :: adv_ver ='NONE' + CHARACTER(len=4) :: adv_lim ='NONE' + REAL(kind=WP) :: adv_ph =1. + REAL(kind=WP) :: adv_pv =1. +END TYPE NML_TRACER_LIST_TYPE + +TYPE T_TRACER +! total number of tracers: +integer :: num_tracers=2 +type(t_tracer_data), allocatable :: data(:) +type(t_tracer_work) :: work +! general options for all tracers (can be moved to T_TRACER is needed) +! bharmonic diffusion for tracers. We recommend to use this option in very high resolution runs (Redi is generally off there). +logical :: smooth_bh_tra = .false. +real(kind=WP) :: gamma0_tra = 0.0005 +real(kind=WP) :: gamma1_tra = 0.0125 +real(kind=WP) :: gamma2_tra = 0. +logical :: i_vert_diff = .true. + +contains +procedure WRITE_T_TRACER +procedure READ_T_TRACER +generic :: write(unformatted) => WRITE_T_TRACER +generic :: read(unformatted) => READ_T_TRACER +END TYPE T_TRACER + +contains + +! Unformatted writing for T_TRACER_DATA +subroutine WRITE_T_TRACER_DATA(tdata, unit, iostat, iomsg) + IMPLICIT NONE + class(T_TRACER_DATA), intent(in) :: tdata + integer, intent(in) :: unit + integer, intent(out) :: iostat + character(*), intent(inout) :: iomsg + + call write_bin_array(tdata%values, unit, iostat, iomsg) + call write_bin_array(tdata%valuesAB, unit, iostat, iomsg) + write(unit, iostat=iostat, iomsg=iomsg) tdata%smooth_bh_tra + write(unit, iostat=iostat, iomsg=iomsg) tdata%gamma0_tra + write(unit, iostat=iostat, iomsg=iomsg) tdata%gamma1_tra + write(unit, iostat=iostat, iomsg=iomsg) tdata%gamma2_tra + write(unit, iostat=iostat, iomsg=iomsg) tdata%i_vert_diff + write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_hor + write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ver + write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_lim + write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ph + write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_pv + write(unit, iostat=iostat, iomsg=iomsg) tdata%ID +end subroutine WRITE_T_TRACER_DATA + +! Unformatted reading for T_TRACER_DATA +subroutine READ_T_TRACER_DATA(tdata, unit, iostat, iomsg) + IMPLICIT NONE + class(T_TRACER_DATA), intent(inout) :: tdata + integer, intent(in) :: unit + integer, intent(out) :: iostat + character(*), intent(inout) :: iomsg + + call read_bin_array(tdata%values, unit, iostat, iomsg) + call read_bin_array(tdata%valuesAB, unit, iostat, iomsg) + read(unit, iostat=iostat, iomsg=iomsg) tdata%smooth_bh_tra + read(unit, iostat=iostat, iomsg=iomsg) tdata%gamma0_tra + read(unit, iostat=iostat, iomsg=iomsg) tdata%gamma1_tra + read(unit, iostat=iostat, iomsg=iomsg) tdata%gamma2_tra + read(unit, iostat=iostat, iomsg=iomsg) tdata%i_vert_diff + read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_hor + read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ver + read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_lim + read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ph + read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_pv + read(unit, iostat=iostat, iomsg=iomsg) tdata%ID +end subroutine READ_T_TRACER_DATA + +! Unformatted writing for T_TRACER_WORK +subroutine WRITE_T_TRACER_WORK(twork, unit, iostat, iomsg) + IMPLICIT NONE + class(T_TRACER_WORK), intent(in) :: twork + integer, intent(in) :: unit + integer, intent(out) :: iostat + character(*), intent(inout) :: iomsg + + call write_bin_array(twork%del_ttf, unit, iostat, iomsg) + call write_bin_array(twork%del_ttf_advhoriz, unit, iostat, iomsg) + call write_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) + call write_bin_array(twork%tr_dvd_horiz, unit, iostat, iomsg) + call write_bin_array(twork%tr_dvd_vert, unit, iostat, iomsg) + call write_bin_array(twork%fct_LO, unit, iostat, iomsg) + call write_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) + call write_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) + call write_bin_array(twork%fct_ttf_max, unit, iostat, iomsg) + call write_bin_array(twork%fct_ttf_min, unit, iostat, iomsg) + call write_bin_array(twork%fct_plus, unit, iostat, iomsg) + call write_bin_array(twork%fct_minus, unit, iostat, iomsg) + call write_bin_array(twork%nboundary_lay, unit, iostat, iomsg) + call write_bin_array(twork%edge_up_dn_tri, unit, iostat, iomsg) + call write_bin_array(twork%edge_up_dn_grad, unit, iostat, iomsg) +end subroutine WRITE_T_TRACER_WORK + +! Unformatted reading for T_TRACER_WORK +subroutine READ_T_TRACER_WORK(twork, unit, iostat, iomsg) + IMPLICIT NONE + class(T_TRACER_WORK), intent(inout) :: twork + integer, intent(in) :: unit + integer, intent(out) :: iostat + character(*), intent(inout) :: iomsg + + call read_bin_array(twork%del_ttf, unit, iostat, iomsg) + call read_bin_array(twork%del_ttf_advhoriz, unit, iostat, iomsg) + call read_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) + call read_bin_array(twork%tr_dvd_horiz, unit, iostat, iomsg) + call read_bin_array(twork%tr_dvd_vert, unit, iostat, iomsg) + call read_bin_array(twork%fct_LO, unit, iostat, iomsg) + call read_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) + call read_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) + call read_bin_array(twork%fct_ttf_max, unit, iostat, iomsg) + call read_bin_array(twork%fct_ttf_min, unit, iostat, iomsg) + call read_bin_array(twork%fct_plus, unit, iostat, iomsg) + call read_bin_array(twork%fct_minus, unit, iostat, iomsg) + call read_bin_array(twork%nboundary_lay, unit, iostat, iomsg) + call read_bin_array(twork%edge_up_dn_tri, unit, iostat, iomsg) + call read_bin_array(twork%edge_up_dn_grad, unit, iostat, iomsg) +end subroutine READ_T_TRACER_WORK + +! Unformatted writing for T_TRACER +subroutine WRITE_T_TRACER(tracer, unit, iostat, iomsg) + IMPLICIT NONE + class(T_TRACER), intent(in) :: tracer + integer, intent(in) :: unit + integer, intent(out) :: iostat + character(*), intent(inout) :: iomsg + integer :: i + + write(unit, iostat=iostat, iomsg=iomsg) tracer%num_tracers + do i=1, tracer%num_tracers + write(unit, iostat=iostat, iomsg=iomsg) tracer%data(i) + end do + write(unit, iostat=iostat, iomsg=iomsg) tracer%work + write(unit, iostat=iostat, iomsg=iomsg) tracer%smooth_bh_tra + write(unit, iostat=iostat, iomsg=iomsg) tracer%gamma0_tra + write(unit, iostat=iostat, iomsg=iomsg) tracer%gamma1_tra + write(unit, iostat=iostat, iomsg=iomsg) tracer%gamma2_tra + write(unit, iostat=iostat, iomsg=iomsg) tracer%i_vert_diff +end subroutine WRITE_T_TRACER + +! Unformatted reading for T_TRACER +subroutine READ_T_TRACER(tracer, unit, iostat, iomsg) + IMPLICIT NONE + class(T_TRACER), intent(inout) :: tracer + integer, intent(in) :: unit + integer, intent(out) :: iostat + character(*), intent(inout) :: iomsg + integer :: i + + read(unit, iostat=iostat, iomsg=iomsg) tracer%num_tracers +! write(*,*) 'number of tracers to read: ', tracer%num_tracers + allocate(tracer%data(tracer%num_tracers)) + do i=1, tracer%num_tracers + read(unit, iostat=iostat, iomsg=iomsg) tracer%data(i) +! write(*,*) 'tracer info:', tracer%data(i)%ID, TRIM(tracer%data(i)%tra_adv_hor), TRIM(tracer%data(i)%tra_adv_ver), TRIM(tracer%data(i)%tra_adv_lim) + end do + read(unit, iostat=iostat, iomsg=iomsg) tracer%work + read(unit, iostat=iostat, iomsg=iomsg) tracer%smooth_bh_tra + read(unit, iostat=iostat, iomsg=iomsg) tracer%gamma0_tra + read(unit, iostat=iostat, iomsg=iomsg) tracer%gamma1_tra + read(unit, iostat=iostat, iomsg=iomsg) tracer%gamma2_tra + read(unit, iostat=iostat, iomsg=iomsg) tracer%i_vert_diff +end subroutine READ_T_TRACER +end module MOD_TRACER +!========================================================== + diff --git a/src/temp/oce_adv_tra_ver 2.F90 b/src/temp/oce_adv_tra_ver 2.F90 new file mode 100644 index 000000000..eab9847a8 --- /dev/null +++ b/src/temp/oce_adv_tra_ver 2.F90 @@ -0,0 +1,598 @@ +module oce_adv_tra_ver_interfaces + interface +! implicit 1st order upwind vertical advection with to solve for fct_LO +! updates the input tracer ttf + subroutine adv_tra_vert_impl(dt, w, ttf, partit, mesh) + use mod_mesh + use MOD_PARTIT + real(kind=WP), intent(in), target :: dt + type(t_partit),intent(in), target :: partit + type(t_mesh), intent(in), target :: mesh + real(kind=WP), intent(inout) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) + end subroutine +!=============================================================================== +! 1st order upwind (explicit) +! returns flux given at vertical interfaces of scalar volumes +! IF init_zero=.TRUE. : flux will be set to zero before computation +! IF init_zero=.FALSE. : flux=flux-input flux +! flux is not multiplied with dt + subroutine adv_tra_ver_upw1(w, ttf, partit, mesh, flux, init_zero) + use MOD_MESH + use MOD_PARTIT + type(t_partit),intent(in), target :: partit + type(t_mesh), intent(in), target :: mesh + real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) + logical, optional :: init_zero + end subroutine +!=============================================================================== +! QR (4th order centerd) +! returns flux given at vertical interfaces of scalar volumes +! IF init_zero=.TRUE. : flux will be set to zero before computation +! IF init_zero=.FALSE. : flux=flux-input flux +! flux is not multiplied with dt + subroutine adv_tra_ver_qr4c(w, ttf, partit, mesh, num_ord, flux, init_zero) + use MOD_MESH + use MOD_PARTIT + type(t_partit),intent(in), target :: partit + type(t_mesh), intent(in), target :: mesh + real(kind=WP), intent(in) :: num_ord ! num_ord is the fraction of fourth-order contribution in the solution + real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) + logical, optional :: init_zero + end subroutine +!=============================================================================== +! Vertical advection with PPM reconstruction (5th order) +! returns flux given at vertical interfaces of scalar volumes +! IF init_zero=.TRUE. : flux will be set to zero before computation +! IF init_zero=.FALSE. : flux=flux-input flux +! flux is not multiplied with dt + subroutine adv_tra_vert_ppm(dt, w, ttf, partit, mesh, flux, init_zero) + use MOD_MESH + use MOD_PARTIT + real(kind=WP), intent(in), target :: dt + type(t_partit),intent(in), target :: partit + type(t_mesh), intent(in), target :: mesh + integer :: n, nz, nl1 + real(kind=WP) :: tvert(mesh%nl), tv + real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) + logical, optional :: init_zero + end subroutine +! central difference reconstruction (2nd order, use only with FCT) +! returns flux given at vertical interfaces of scalar volumes +! IF init_zero=.TRUE. : flux will be set to zero before computation +! IF init_zero=.FALSE. : flux=flux-input flux +! flux is not multiplied with dt + subroutine adv_tra_ver_cdiff(w, ttf, partit, mesh, flux, init_zero) + use MOD_MESH + use MOD_PARTIT + type(t_partit),intent(in), target :: partit + type(t_mesh), intent(in), target :: mesh + integer :: n, nz, nl1 + real(kind=WP) :: tvert(mesh%nl), tv + real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) + logical, optional :: init_zero + end subroutine + end interface +end module +!=============================================================================== +subroutine adv_tra_vert_impl(dt, w, ttf, partit, mesh) + use MOD_MESH + use MOD_TRACER + use MOD_PARTIT + use g_comm_auto + + implicit none + real(kind=WP), intent(in) , target :: dt + type(t_partit),intent(in), target :: partit + type(t_mesh), intent(in) , target :: mesh + real(kind=WP), intent(inout) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) :: a(mesh%nl), b(mesh%nl), c(mesh%nl), tr(mesh%nl) + real(kind=WP) :: cp(mesh%nl), tp(mesh%nl) + integer :: nz, n, nzmax, nzmin, tr_num + real(kind=WP) :: m, zinv, dt_inv, dz + real(kind=WP) :: c1, v_adv + +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + dt_inv=1.0_WP/dt + + !___________________________________________________________________________ + ! loop over local nodes + do n=1,myDim_nod2D + + ! initialise + a = 0.0_WP + b = 0.0_WP + c = 0.0_WP + tr = 0.0_WP + tp = 0.0_WP + cp = 0.0_WP + + ! max. number of levels at node n + nzmax=nlevels_nod2D(n) + + ! upper surface index, in case of cavity !=1 + nzmin=ulevels_nod2D(n) + + !___________________________________________________________________________ + ! Here can not exchange zbar_n & Z_n with zbar_3d_n & Z_3d_n because + ! they be calculate from the actualized mesh with hnode_new + ! calculate new zbar (depth of layers) and Z (mid depths of layers) + ! depending on layer thinkness over depth at node n + ! Be carefull here vertical operation have to be done on NEW vertical mesh !!! + zbar_n=0.0_WP + Z_n=0.0_WP + zbar_n(nzmax)=zbar_n_bot(n) + Z_n(nzmax-1) =zbar_n(nzmax) + hnode_new(nzmax-1,n)/2.0_WP + do nz=nzmax-1,nzmin+1,-1 + zbar_n(nz) = zbar_n(nz+1) + hnode_new(nz,n) + Z_n(nz-1) = zbar_n(nz) + hnode_new(nz-1,n)/2.0_WP + end do + zbar_n(nzmin) = zbar_n(nzmin+1) + hnode_new(nzmin,n) + + !_______________________________________________________________________ + ! Regular part of coefficients: --> surface layer + nz=nzmin + + ! 1/dz(nz) + zinv=1.0_WP*dt ! no .../(zbar(1)-zbar(2)) because of ALE + + !!PS a(nz)=0.0_WP + !!PS v_adv=zinv*areasvol(nz+1,n)/areasvol(nz,n) + !!PS b(nz)= hnode_new(nz,n)+W(nz, n)*zinv-min(0._WP, W(nz+1, n))*v_adv + !!PS c(nz)=-max(0._WP, W(nz+1, n))*v_adv + + a(nz)=0.0_WP + v_adv=zinv*area(nz ,n)/areasvol(nz,n) + b(nz)= hnode_new(nz,n)+W(nz, n)*v_adv + + v_adv=zinv*area(nz+1,n)/areasvol(nz,n) + b(nz)= b(nz)-min(0._WP, W(nz+1, n))*v_adv + c(nz)=-max(0._WP, W(nz+1, n))*v_adv + + !_______________________________________________________________________ + ! Regular part of coefficients: --> 2nd...nl-2 layer + do nz=nzmin+1, nzmax-2 + ! update from the vertical advection + v_adv=zinv*area(nz ,n)/areasvol(nz,n) + a(nz)=min(0._WP, W(nz, n))*v_adv + b(nz)=hnode_new(nz,n)+max(0._WP, W(nz, n))*v_adv + + v_adv=zinv*area(nz+1,n)/areasvol(nz,n) + b(nz)=b(nz)-min(0._WP, W(nz+1, n))*v_adv + c(nz)= -max(0._WP, W(nz+1, n))*v_adv + end do ! --> do nz=2, nzmax-2 + + !_______________________________________________________________________ + ! Regular part of coefficients: --> nl-1 layer + nz=nzmax-1 + ! update from the vertical advection + !!PS a(nz)= min(0._WP, W(nz, n))*zinv + !!PS b(nz)=hnode_new(nz,n)+max(0._WP, W(nz, n))*zinv + !!PS c(nz)=0.0_WP + v_adv=zinv*area(nz ,n)/areasvol(nz,n) + a(nz)= min(0._WP, W(nz, n))*v_adv + b(nz)=hnode_new(nz,n)+max(0._WP, W(nz, n))*v_adv + c(nz)=0.0_WP + + !_______________________________________________________________________ + nz=nzmin + dz=hnode_new(nz,n) ! It would be (zbar(nz)-zbar(nz+1)) if not ALE + tr(nz)=-(b(nz)-dz)*ttf(nz,n)-c(nz)*ttf(nz+1,n) + + do nz=nzmin+1,nzmax-2 + dz=hnode_new(nz,n) + tr(nz)=-a(nz)*ttf(nz-1,n)-(b(nz)-dz)*ttf(nz,n)-c(nz)*ttf(nz+1,n) + end do + nz=nzmax-1 + dz=hnode_new(nz,n) + tr(nz)=-a(nz)*ttf(nz-1,n)-(b(nz)-dz)*ttf(nz,n) + + !_______________________________________________________________________ + nz = nzmin + cp(nz) = c(nz)/b(nz) + tp(nz) = tr(nz)/b(nz) + + ! solve for vectors c-prime and t, s-prime + do nz = nzmin+1,nzmax-1 + m = b(nz)-cp(nz-1)*a(nz) + cp(nz) = c(nz)/m + tp(nz) = (tr(nz)-tp(nz-1)*a(nz))/m + end do + + !_______________________________________________________________________ + ! start with back substitution + tr(nzmax-1) = tp(nzmax-1) + + ! solve for x from the vectors c-prime and d-prime + do nz = nzmax-2, nzmin, -1 + tr(nz) = tp(nz)-cp(nz)*tr(nz+1) + end do + + !_______________________________________________________________________ + ! update tracer + do nz=nzmin,nzmax-1 + ttf(nz,n)=ttf(nz,n)+tr(nz) + end do + end do ! --> do n=1,myDim_nod2D +end subroutine adv_tra_vert_impl +! +! +!=============================================================================== +subroutine adv_tra_ver_upw1(w, ttf, partit, mesh, flux, init_zero) + use MOD_MESH + use MOD_TRACER + use MOD_PARTIT + use g_comm_auto + + implicit none + type(t_partit),intent(in), target :: partit + type(t_mesh), intent(in), target :: mesh + real(kind=WP) :: tvert(mesh%nl) + integer :: n, nz, nzmax, nzmin + real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) + logical, optional :: init_zero +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + if (present(init_zero))then + if (init_zero) flux=0.0_WP + else + flux=0.0_WP + end if + + do n=1, myDim_nod2D + !_______________________________________________________________________ + nzmax=nlevels_nod2D(n) + nzmin=ulevels_nod2D(n) + + !_______________________________________________________________________ + ! vert. flux at surface layer + nz=nzmin + flux(nz,n)=-W(nz,n)*ttf(nz,n)*area(nz,n)-flux(nz,n) + + !_______________________________________________________________________ + ! vert. flux at bottom layer --> zero bottom flux + nz=nzmax + flux(nz,n)= 0.0_WP-flux(nz,n) + + !_______________________________________________________________________ + ! Be carefull have to do vertical tracer advection here on old vertical grid + ! also horizontal advection is done on old mesh (see helem contains old + ! mesh information) + !_______________________________________________________________________ + ! vert. flux at remaining levels + do nz=nzmin+1,nzmax-1 + flux(nz,n)=-0.5*( & + ttf(nz ,n)*(W(nz,n)+abs(W(nz,n)))+ & + ttf(nz-1,n)*(W(nz,n)-abs(W(nz,n))))*area(nz,n)-flux(nz,n) + end do + end do +end subroutine adv_tra_ver_upw1 +! +! +!=============================================================================== +subroutine adv_tra_ver_qr4c(w, ttf, partit, mesh, num_ord, flux, init_zero) + use MOD_MESH + use o_ARRAYS + use o_PARAM + use MOD_PARTIT + implicit none + type(t_partit),intent(in), target :: partit + type(t_mesh), intent(in), target :: mesh + real(kind=WP), intent(in) :: num_ord ! num_ord is the fraction of fourth-order contribution in the solution + real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) + logical, optional :: init_zero + real(kind=WP) :: tvert(mesh%nl) + integer :: n, nz, nzmax, nzmin + real(kind=WP) :: Tmean, Tmean1, Tmean2 + real(kind=WP) :: qc, qu, qd + +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + if (present(init_zero))then + if (init_zero) flux=0.0_WP + else + flux=0.0_WP + end if + + do n=1, myDim_nod2D + !_______________________________________________________________________ + nzmax=nlevels_nod2D(n) + nzmin=ulevels_nod2D(n) + !_______________________________________________________________________ + ! vert. flux at surface layer + nz=nzmin + flux(nz,n)=-ttf(nz,n)*W(nz,n)*area(nz,n)-flux(nz,n) + + !_______________________________________________________________________ + ! vert. flux 2nd layer --> centered differences + nz=nzmin+1 + flux(nz,n)=-0.5_WP*(ttf(nz-1,n)+ttf(nz,n))*W(nz,n)*area(nz,n)-flux(nz,n) + + !_______________________________________________________________________ + ! vert. flux at bottom - 1 layer --> centered differences + nz=nzmax-1 + flux(nz,n)=-0.5_WP*(ttf(nz-1,n)+ttf(nz,n))*W(nz,n)*area(nz,n)-flux(nz,n) + + !_______________________________________________________________________ + ! vert. flux at bottom layer --> zero bottom flux + nz=nzmax + flux(nz,n)= 0.0_WP-flux(nz,n) + + !_______________________________________________________________________ + ! Be carefull have to do vertical tracer advection here on old vertical grid + ! also horizontal advection is done on old mesh (see helem contains old + ! mesh information) + !_______________________________________________________________________ + ! vert. flux at remaining levels + do nz=nzmin+2,nzmax-2 + !centered (4th order) + qc=(ttf(nz-1,n)-ttf(nz ,n))/(Z_3d_n(nz-1,n)-Z_3d_n(nz ,n)) + qu=(ttf(nz ,n)-ttf(nz+1,n))/(Z_3d_n(nz ,n)-Z_3d_n(nz+1,n)) + qd=(ttf(nz-2,n)-ttf(nz-1,n))/(Z_3d_n(nz-2,n)-Z_3d_n(nz-1,n)) + + Tmean1=ttf(nz ,n)+(2*qc+qu)*(zbar_3d_n(nz,n)-Z_3d_n(nz ,n))/3.0_WP + Tmean2=ttf(nz-1,n)+(2*qc+qd)*(zbar_3d_n(nz,n)-Z_3d_n(nz-1,n))/3.0_WP + Tmean =(W(nz,n)+abs(W(nz,n)))*Tmean1+(W(nz,n)-abs(W(nz,n)))*Tmean2 + ! flux(nz,n)=-0.5_WP*(num_ord*(Tmean1+Tmean2)*W(nz,n)+(1.0_WP-num_ord)*Tmean)*area(nz,n)-flux(nz,n) + flux(nz,n)=(-0.5_WP*(1.0_WP-num_ord)*Tmean - num_ord*(0.5_WP*(Tmean1+Tmean2))*W(nz,n))*area(nz,n)-flux(nz,n) + end do + end do +end subroutine adv_tra_ver_qr4c +! +! +!=============================================================================== +subroutine adv_tra_vert_ppm(dt, w, ttf, partit, mesh, flux, init_zero) + use MOD_MESH + use MOD_TRACER + use MOD_PARTIT + use g_comm_auto + implicit none + real(kind=WP), intent(in), target :: dt + type(t_partit),intent(in), target :: partit + type(t_mesh), intent(in) , target :: mesh + real(kind=WP), intent(in) :: ttf (mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) + logical, optional :: init_zero + real(kind=WP) :: tvert(mesh%nl), tv(mesh%nl), aL, aR, aj, x + real(kind=WP) :: dzjm1, dzj, dzjp1, dzjp2, deltaj, deltajp1 + integer :: n, nz, nzmax, nzmin + integer :: overshoot_counter, counter + +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + if (present(init_zero))then + if (init_zero) flux=0.0_WP + else + flux=0.0_WP + end if + + ! -------------------------------------------------------------------------- + ! Vertical advection + ! -------------------------------------------------------------------------- + ! A piecewise parabolic scheme for uniformly-spaced layers. + ! See Colella and Woodward, JCP, 1984, 174-201. It can be coded so as to to take + ! non-uniformity into account, but this is more cumbersome. This is the version for AB + ! time stepping + ! -------------------------------------------------------------------------- + overshoot_counter=0 + counter =0 + do n=1, myDim_nod2D + !_______________________________________________________________________ + !Interpolate to zbar...depth levels --> all quantities (tracer ...) are + ! calculated on mid depth levels + ! nzmax ... number of depth levels at node n + nzmax=nlevels_nod2D(n) + nzmin=ulevels_nod2D(n) + + ! tracer at surface level + tv(nzmin)=ttf(nzmin,n) + ! tracer at surface+1 level +! tv(2)=-ttf(1,n)*min(sign(1.0, W(2,n)), 0._WP)+ttf(2,n)*max(sign(1.0, W(2,n)), 0._WP) +! tv(3)=-ttf(2,n)*min(sign(1.0, W(3,n)), 0._WP)+ttf(3,n)*max(sign(1.0, W(3,n)), 0._WP) + tv(nzmin+1)=0.5*(ttf(nzmin, n)+ttf(nzmin+1,n)) + ! tacer at bottom-1 level + tv(nzmax-1)=-ttf(nzmax-2,n)*min(sign(1.0_wp, W(nzmax-1,n)), 0._WP)+ttf(nzmax-1,n)*max(sign(1.0_wp, W(nzmax-1,n)), 0._WP) +! tv(nzmax-1)=0.5_WP*(ttf(nzmax-2,n)+ttf(nzmax-1,n)) + ! tracer at bottom level + tv(nzmax)=ttf(nzmax-1,n) + + !_______________________________________________________________________ + ! calc tracer for surface+2 until depth-2 layer + ! see Colella and Woodward, JCP, 1984, 174-201 --> equation (1.9) + ! loop over layers (segments) + !!PS do nz=3, nzmax-3 + do nz=nzmin+1, nzmax-3 + !___________________________________________________________________ + ! for uniform spaced vertical grids --> piecewise parabolic method (ppm) + ! equation (1.9) + ! tv(nz)=(7.0_WP*(ttf(nz-1,n)+ttf(nz,n))-(ttf(nz-2,n)+ttf(nz+1,n)))/12.0_WP + + !___________________________________________________________________ + ! for non-uniformity spaced vertical grids --> piecewise parabolic + ! method (ppm) see see Colella and Woodward, JCP, 1984, 174-201 + ! --> full equation (1.6), (1.7) and (1.8) + dzjm1 = hnode_new(nz-1,n) + dzj = hnode_new(nz ,n) + dzjp1 = hnode_new(nz+1,n) + dzjp2 = hnode_new(nz+2,n) + ! Be carefull here vertical operation have to be done on NEW vertical mesh !!! + + !___________________________________________________________________ + ! equation (1.7) + ! --> Here deltaj is the average slope in the jth zone of the parabola + ! with zone averages a_(j-1) and a_j, a_(j+1) + ! --> a_j^n + deltaj = dzj/(dzjm1+dzj+dzjp1)* & + ( & + (2._WP*dzjm1+dzj )/(dzjp1+dzj)*(ttf(nz+1,n)-ttf(nz ,n)) + & + (dzj +2._WP*dzjp1)/(dzjm1+dzj)*(ttf(nz ,n)-ttf(nz-1,n)) & + ) + ! --> a_(j+1)^n + deltajp1 = dzjp1/(dzj+dzjp1+dzjp2)* & + ( & + (2._WP*dzj+dzjp1 )/(dzjp2+dzjp1)*(ttf(nz+2,n)-ttf(nz+1,n)) + & + (dzjp1+2._WP*dzjp2)/(dzj +dzjp1)*(ttf(nz+1,n)-ttf(nz ,n)) & + ) + !___________________________________________________________________ + ! condition (1.8) + ! --> This modification leads to a somewhat steeper representation of + ! discontinuities in the solution. It also guarantees that a_(j+0.5) + ! lies in the range of values defined by a_j; and a_(j+1); + if ( (ttf(nz+1,n)-ttf(nz ,n))*(ttf(nz ,n)-ttf(nz-1,n)) > 0._WP ) then + deltaj = min( abs(deltaj), & + 2._WP*abs(ttf(nz+1,n)-ttf(nz ,n)),& + 2._WP*abs(ttf(nz ,n)-ttf(nz-1,n)) & + )*sign(1.0_WP,deltaj) + else + deltaj = 0.0_WP + endif + if ( (ttf(nz+2,n)-ttf(nz+1,n))*(ttf(nz+1,n)-ttf(nz ,n)) > 0._WP ) then + deltajp1 = min( abs(deltajp1),& + 2._WP*abs(ttf(nz+2,n)-ttf(nz+1,n)),& + 2._WP*abs(ttf(nz+1,n)-ttf(nz,n)) & + )*sign(1.0_WP,deltajp1) + else + deltajp1 = 0.0_WP + endif + !___________________________________________________________________ + ! equation (1.6) + ! --> calcualte a_(j+0.5) + ! nz+1 is the interface betweel layers (segments) nz and nz+1 + tv(nz+1)= ttf(nz,n) & + + dzj/(dzj+dzjp1)*(ttf(nz+1,n)-ttf(nz,n)) & + + 1._WP/(dzjm1+dzj+dzjp1+dzjp2) * & + ( & + (2._WP*dzjp1*dzj)/(dzj+dzjp1)* & + ((dzjm1+dzj)/(2._WP*dzj+dzjp1) - (dzjp2+dzjp1)/(2._WP*dzjp1+dzj))*(ttf(nz+1,n)-ttf(nz,n)) & + - dzj*(dzjm1+dzj)/(2._WP*dzj+dzjp1)*deltajp1 & + + dzjp1*(dzjp1+dzjp2)/(dzj+2._WP*dzjp1)*deltaj & + ) + !tv(nz+1)=max(min(ttf(nz, n), ttf(nz+1, n)), min(max(ttf(nz, n), ttf(nz+1, n)), tv(nz+1))) + end do ! --> do nz=2,nzmax-3 + + tvert(1:nzmax)=0._WP + ! loop over layers (segments) + do nz=nzmin, nzmax-1 + if ((W(nz,n)<=0._WP) .AND. (W(nz+1,n)>=0._WP)) CYCLE + counter=counter+1 + aL=tv(nz) + aR=tv(nz+1) + if ((aR-ttf(nz, n))*(ttf(nz, n)-aL)<=0._WP) then + ! write(*,*) aL, ttf(nz, n), aR + overshoot_counter=overshoot_counter+1 + aL =ttf(nz, n) + aR =ttf(nz, n) + end if + if ((aR-aL)*(ttf(nz, n)-0.5_WP*(aL+aR))> (aR-aL)**2/6._WP) then + aL =3._WP*ttf(nz, n)-2._WP*aR + end if + if ((aR-aL)*(ttf(nz, n)-0.5_WP*(aR+aL))<-(aR-aL)**2/6._WP) then + aR =3._WP*ttf(nz, n)-2._WP*aL + end if + + dzj = hnode(nz,n) + aj=6.0_WP*(ttf(nz, n)-0.5_WP*(aL+aR)) + + if (W(nz,n)>0._WP) then + x=min(W(nz,n)*dt/dzj, 1._WP) + tvert(nz )=(-aL-0.5_WP*x*(aR-aL+(1._WP-2._WP/3._WP*x)*aj)) + tvert(nz )=tvert(nz) ! compute 2nd moment for DVD + tvert(nz )=tvert(nz)*area(nz,n)*W(nz,n) + end if + + if (W(nz+1,n)<0._WP) then + x=min(-W(nz+1,n)*dt/dzj, 1._WP) + tvert(nz+1)=(-aR+0.5_WP*x*(aR-aL-(1._WP-2._WP/3._WP*x)*aj)) + tvert(nz+1)=tvert(nz+1) ! compute 2nd moment for DVD + tvert(nz+1)=tvert(nz+1)*area(nz+1,n)*W(nz+1,n) + end if + end do + + !_______________________________________________________________________ + ! Surface flux + tvert(nzmin)= -tv(nzmin)*W(nzmin,n)*area(nzmin,n) + ! Zero bottom flux + tvert(nzmax)=0.0_WP + flux(nzmin:nzmax, n)=tvert(nzmin:nzmax)-flux(nzmin:nzmax, n) + end do ! --> do n=1, myDim_nod2D +! if (mype==0) write(*,*) 'PPM overshoot statistics:', real(overshoot_counter)/real(counter) +end subroutine adv_tra_vert_ppm +! +! +!=============================================================================== +subroutine adv_tra_ver_cdiff(w, ttf, partit, mesh, flux, init_zero) + use MOD_MESH + use MOD_TRACER + use MOD_PARTIT + use g_comm_auto + implicit none + type(t_partit),intent(in), target :: partit + type(t_mesh), intent(in), target :: mesh + real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) + logical, optional :: init_zero + integer :: n, nz, nzmax, nzmin + real(kind=WP) :: tvert(mesh%nl), tv +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + if (present(init_zero))then + if (init_zero) flux=0.0_WP + else + flux=0.0_WP + end if + + do n=1, myDim_nod2D + !_______________________________________________________________________ + nzmax=nlevels_nod2D(n)-1 + nzmin=ulevels_nod2D(n) + + !_______________________________________________________________________ + ! Surface flux + tvert(nzmin)= -W(nzmin,n)*ttf(nzmin,n)*area(nzmin,n) + + !_______________________________________________________________________ + ! Zero bottom flux + tvert(nzmax+1)=0.0_WP + + !_______________________________________________________________________ + ! Other levels + do nz=nzmin+1, nzmax + tv=0.5_WP*(ttf(nz-1,n)+ttf(nz,n)) + tvert(nz)= -tv*W(nz,n)*area(nz,n) + end do + + !_______________________________________________________________________ + flux(nzmin:nzmax, n)=tvert(nzmin:nzmax)-flux(nzmin:nzmax, n) + end do ! --> do n=1, myDim_nod2D +end subroutine adv_tra_ver_cdiff diff --git a/test.sh b/test.sh index c4e1108c9..e83449553 100755 --- a/test.sh +++ b/test.sh @@ -18,6 +18,14 @@ set -e machine="docker" tests="test_pi" +function red_echo() { + echo -e "\e[31m$1\e[0m" +} + +function green_echo() { + echo -e "\e[32m$1\e[0m" +} + for test in $tests; do ./configure.sh ubuntu @@ -26,7 +34,12 @@ for test in $tests; do cd work_pi chmod +x job_docker_new ./job_docker_new - fcheck . + fcheck . && green_echo "Test $test passed" || red_echo "Test $test failed" cd ../ - done + +echo "Performing UGRID Compliance Test" +pip install ugrid-checks xarray +# Needed to combine the mesh diag and output +python3 -c "import xarray as xr; ds1 = xr.open_dataset('./test/output_pi/sst.fesom.1948.nc'); ds2 = xr.open_dataset('./test/output_pi/fesom.mesh.diag.nc'); xr.merge([ds1, ds2]).to_netcdf('./test/output_pi/merged_ugrid_check.nc')" +ugrid-checker ./test/output_pi/merged_ugrid_check.nc && green_echo "UGRID Compliance Test Passed" || red_echo "UGRID Compliance Test Failed" From f92e4afa9886dbd4b0c026e771288a04f8a9e4e1 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Wed, 18 May 2022 17:18:13 +0200 Subject: [PATCH 011/273] tests for Paul --- test_pgierz/actual_ugrid_ncdump.txt | 23 ++++++++++++++++++++ test_pgierz/example_ugrid_ncdump.txt | 23 ++++++++++++++++++++ test_pgierz/test_one_timestep.sh | 32 ++++++++++++++++++++++++++++ 3 files changed, 78 insertions(+) create mode 100644 test_pgierz/actual_ugrid_ncdump.txt create mode 100644 test_pgierz/example_ugrid_ncdump.txt create mode 100755 test_pgierz/test_one_timestep.sh diff --git a/test_pgierz/actual_ugrid_ncdump.txt b/test_pgierz/actual_ugrid_ncdump.txt new file mode 100644 index 000000000..568f82ce7 --- /dev/null +++ b/test_pgierz/actual_ugrid_ncdump.txt @@ -0,0 +1,23 @@ +netcdf fesom.mesh.diag { + dimensions: + nfesom_mesh_node = 3140 ; + nfesom_mesh_edge = 8986 ; + nfesom_mesh_face = 5839 ; + nz = 48 ; + nz1 = 47 ; + n2 = 2 ; + n3 = 3 ; + n4 = 4 ; + N = 8 ; + info = 1 ; + int fesom_mesh ; + fesom_mesh:cf_role = "mesh_topology" ; + fesom_mesh:long_name = "Topology data of 2D unstructured mesh" ; + fesom_mesh:topology_dimension = 2 ; + fesom_mesh:node_coordinates = "lon lat" ; + fesom_mesh:face_node_connectivity = "fesom_mesh_face_nodes" ; + fesom_mesh:face_dimension = "nfesom_mesh_face" ; + fesom_mesh:edge_node_connectivity = "fesom_mesh_edge_nodes" ; + fesom_mesh:edge_dimension = "n_fesom_mesh_edg" ; + fesom_mesh:edge_face_connectivity = "edge_tri" ; +} diff --git a/test_pgierz/example_ugrid_ncdump.txt b/test_pgierz/example_ugrid_ncdump.txt new file mode 100644 index 000000000..ec7005161 --- /dev/null +++ b/test_pgierz/example_ugrid_ncdump.txt @@ -0,0 +1,23 @@ +netcdf exampleMesh2 { + dimensions: + nfesom_mesh_node = 4 ; // nNodes + nfesom_mesh_edge = 5 ; // nEdges + nfesom_mesh_face = 2 ; // nFaces + Two = 2 ; + Three = 3 ; + + integer fesom_mesh ; + fesom_mesh:cf_role = "mesh_topology" ; + fesom_mesh:long_name = "Topology data of 2D unstructured mesh" ; + fesom_mesh:topology_dimension = 2 ; + fesom_mesh:node_coordinates = "fesom_mesh_node_x fesom_mesh_node_y" ; + fesom_mesh:face_node_connectivity = "fesom_mesh_face_nodes" ; + fesom_mesh:face_dimension = "nfesom_mesh_face" ; + fesom_mesh:edge_node_connectivity = "fesom_mesh_edge_nodes" ; // attribute required if variables will be defined on edges + fesom_mesh:edge_dimension = "nfesom_mesh_edge" ; + fesom_mesh:edge_coordinates = "fesom_mesh_edge_x fesom_mesh_edge_y" ; // optional attribute (requires edge_node_connectivity) + fesom_mesh:face_coordinates = "fesom_mesh_face_x fesom_mesh_face_y" ; // optional attribute + fesom_mesh:face_edge_connectivity = "fesom_mesh_face_edges" ; // optional attribute (requires edge_node_connectivity) + fesom_mesh:face_face_connectivity = "fesom_mesh_face_links" ; // optional attribute + fesom_mesh:edge_face_connectivity = "fesom_mesh_edge_face_links" ; // optional attribute (requires edge_node_connectivity) +} diff --git a/test_pgierz/test_one_timestep.sh b/test_pgierz/test_one_timestep.sh new file mode 100755 index 000000000..e28dc5724 --- /dev/null +++ b/test_pgierz/test_one_timestep.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# Run simples FESOM2 test in a container. +# +# With singularity on ollie +# +# module load singularity/3.9.1 +# cd fesom2 +# singularity exec /home/ollie/nkolduno/SINGULARITY/fesom_refactoring.sif ./test.sh +# +# With docker on Linux/Mac +# docker run -it -v "$(pwd)"/fesom2:/fesom/fesom2 koldunovn/fesom2_test:refactoring /bin/bash +# cd fesom2 +# ./test.sh +# + +set -e + +machine="docker" +tests="test_pi" + +for test in $tests; do + + ./configure.sh ubuntu + echo $test + mkrun pi $test -m $machine + cd work_pi_one_timestep + chmod +x job_docker_new + ./job_docker_new_one_timestep + fcheck . + cd ../ + +done From 8972489c85e1b71b2489efe1aa0ebf14a4ec3303 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Thu, 2 Jun 2022 15:53:51 +0200 Subject: [PATCH 012/273] wip: mesh diag (partially) --- docs/code_documentation/io_mesh_info.rst | 1 + docs/conf.py | 64 ++-- docs/index.rst | 1 + src/io_mesh_info.F90 | 457 +++++++++++++++-------- 4 files changed, 330 insertions(+), 193 deletions(-) create mode 100644 docs/code_documentation/io_mesh_info.rst diff --git a/docs/code_documentation/io_mesh_info.rst b/docs/code_documentation/io_mesh_info.rst new file mode 100644 index 000000000..765a25455 --- /dev/null +++ b/docs/code_documentation/io_mesh_info.rst @@ -0,0 +1 @@ +.. f:autosrcfile:: ../src/io_mesh_info.f90 diff --git a/docs/conf.py b/docs/conf.py index eb459b927..5550754e0 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -17,12 +17,12 @@ # -- Project information ----------------------------------------------------- -project = 'fesom2' -copyright = '2021, FESOM2 team' -author = u'Sergey Danilov, Dmitry Sidorenko, Nikolay Koldunov, Patrick Scholz, Qiang Wang, Thomas Rackow, Helge Goessling and Lorenzo Zampieri' +project = "fesom2" +copyright = "2021, FESOM2 team" +author = "Sergey Danilov, Dmitry Sidorenko, Nikolay Koldunov, Patrick Scholz, Qiang Wang, Thomas Rackow, Helge Goessling and Lorenzo Zampieri" # The full version, including alpha/beta/rc tags -release = '0.2' +release = "0.2" # -- General configuration --------------------------------------------------- @@ -30,44 +30,49 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ['sphinx.ext.mathjax', 'sphinxcontrib.bibtex'] -bibtex_bibfiles = ['mybib_fesom2.bib'] +extensions = [ + "sphinx.ext.mathjax", + "sphinxcontrib.bibtex", + "sphinxfortran.fortran_domain", + "sphinxfortran.fortran_autodoc", +] +bibtex_bibfiles = ["mybib_fesom2.bib"] +fortran_src = ["../src/"] numfig = True # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ["_templates"] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] # The master toctree document. -master_doc = 'index' +master_doc = "index" # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = 'sphinx_rtd_theme' +html_theme = "sphinx_rtd_theme" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -html_logo = 'fesom_logo.png' +html_static_path = ["_static"] -project = u'FESOM2' -copyright = u'2014-, FESOM2 contributors' +html_logo = "fesom_logo.png" +project = "FESOM2" +copyright = "2014-, FESOM2 contributors" # -- Options for HTMLHelp output ------------------------------------------ # Output file base name for HTML help builder. -htmlhelp_basename = 'FESOM2doc' +htmlhelp_basename = "FESOM2doc" # -- Options for LaTeX output --------------------------------------------- @@ -75,19 +80,16 @@ latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # - 'papersize': 'a4paper', - + "papersize": "a4paper", # The font size ('10pt', '11pt' or '12pt'). # - 'pointsize': '12pt', - + "pointsize": "12pt", # Additional stuff for the LaTeX preamble. # # 'preamble': '', - 'preamble': r''' + "preamble": r""" \setcounter{secnumdepth}{3} - ''', - + """, # Latex figure (float) alignment # # 'figure_align': 'htbp', @@ -97,8 +99,13 @@ # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ - (master_doc, 'FESOM2.tex', u'FESOM2 Documentation', - u'Sergey Danilov, Dmitry Sidorenko, \\and Nikolay Koldunov, Patrick Scholz, \\and Qiang Wang, Thomas Rackow, \\and Helge Goessling, Lorenzo Zampieri', 'manual'), + ( + master_doc, + "FESOM2.tex", + "FESOM2 Documentation", + "Sergey Danilov, Dmitry Sidorenko, \\and Nikolay Koldunov, Patrick Scholz, \\and Qiang Wang, Thomas Rackow, \\and Helge Goessling, Lorenzo Zampieri", + "manual", + ), ] @@ -106,11 +113,8 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). -man_pages = [ - (master_doc, 'fesom2', u'FESOM2 Documentation', - [author], 1) -] +man_pages = [(master_doc, "fesom2", "FESOM2 Documentation", [author], 1)] def setup(app): - app.add_css_file('css/custom.css') + app.add_css_file("css/custom.css") diff --git a/docs/index.rst b/docs/index.rst index 8dfe72d41..53eb57040 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -33,6 +33,7 @@ Authors subcycling_instead_solver isoneutral_diffusion_triangular_prisms zreferences + code_documentation/io_mesh_info Proposed structure: diff --git a/src/io_mesh_info.F90 b/src/io_mesh_info.F90 index 99f1d2814..7e52f00ee 100644 --- a/src/io_mesh_info.F90 +++ b/src/io_mesh_info.F90 @@ -16,25 +16,15 @@ module io_mesh_info MODULE PROCEDURE my_put_vara_int_1D MODULE PROCEDURE my_put_vara_int_2D END INTERFACE -!INTERFACE -!subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text) -! integer, intent(in) :: ncid, dsize, dids(dsize), vtype -! character(*), intent(in) :: short_name, att_text -! integer, intent(inout):: id -!end subroutine my_def_var -! -!subroutine my_def_dim(ncid, short_name, value, id) -! integer, intent(in) :: ncid, value -! character(*), intent(in) :: short_name -! integer, intent(inout):: id -!end subroutine my_def_dim -!END INTERFACE contains ! -!------------------------------------------------------------------------- -! this routine stores most of metadata used in FESOM. Shall be called at the cold start once during the simulation. -! info: fesom.mesh.diag.nc is 77MB for the CORE II mesh with 47 vertical levels +! ------------------------------------------------------------------------- subroutine write_mesh_info(partit, mesh) +! this routine stores most of metadata used in FESOM. Shall be called at the cold start once during the simulation. +! +! .. info:: +! +! fesom.mesh.diag.nc is 77MB for the CORE II mesh with 47 vertical levels implicit none type(t_mesh), intent(in) , target :: mesh type(t_partit), intent(inout), target :: partit @@ -76,12 +66,10 @@ subroutine write_mesh_info(partit, mesh) ! NOTE(PG): For naming conventions of node, edge, face, please see here: ! https://tinyurl.com/43z4m6cd ! - ! These are specified after UGRID. Instead of Mesh2 we use name fesom_mesh here. - ! ! Define the dimensions call my_def_dim(ncid, 'nnode', nod2D, nod_n_id, partit) - call my_def_dim(ncid, 'nedge', edge2d, edge_n_id, partit) - call my_def_dim(ncid, 'nface', elem2d, elem_n_id, partit) + call my_def_dim(ncid, 'nedge', edge2D, edge_n_id, partit) + call my_def_dim(ncid, 'nface', elem2D, elem_n_id, partit) call my_def_dim(ncid, 'nz', nl, nl_id, partit) call my_def_dim(ncid, 'nz1', nl-1, nl1_id, partit) call my_def_dim(ncid, 'n2', 2, id_2, partit) @@ -89,101 +77,240 @@ subroutine write_mesh_info(partit, mesh) call my_def_dim(ncid, 'n4', 4, id_4, partit) call my_def_dim(ncid, 'N', N_max, id_N, partit) + ! Add ugrid information to the fesom.mesh.diag.nc file: + call add_fesom_ugrid_info(ncid, partit) !Define the variables ! 1D - call add_fesom_ugrid_info(ncid, partit) - call my_def_var(ncid, 'nz', NF_DOUBLE, 1, (/nl_id /), zbar_id, 'depth of levels', partit) - call my_def_var(ncid, 'nz1', NF_DOUBLE, 1, (/nl1_id/), z_id, 'depth of layers', partit) - call my_def_var(ncid, 'elem_area', NF_DOUBLE, 1, (/elem_n_id/), elem_area_id, 'element areas', partit) - call my_def_var(ncid, 'nlevels_nod2D', NF_INT, 1, (/nod_n_id/), nlevels_nod2D_id, 'number of levels below nodes', partit) - call my_def_var(ncid, 'nlevels', NF_INT, 1, (/elem_n_id/), nlevels_id, 'number of levels below elements', partit) - call my_def_var(ncid, 'nod_in_elem2D_num', NF_INT, 1, (/nod_n_id/), nod_in_elem2D_num_id, 'number of elements containing the node', partit) - call my_def_var(ncid, 'nod_part', NF_INT, 1, (/nod_n_id/), nod_part_id, 'nodal partitioning at the cold start', partit) - call my_def_var(ncid, 'elem_part', NF_INT, 1, (/elem_n_id/), elem_part_id, 'element partitioning at the cold start', partit) - call my_def_var(ncid, 'zbar_e_bottom', NF_DOUBLE, 1, (/elem_n_id/), zbar_e_bot_id, 'element bottom depth', partit) - call my_def_var(ncid, 'zbar_n_bottom', NF_DOUBLE, 1, (/nod_n_id/), zbar_n_bot_id, 'nodal bottom depth', partit) - call my_def_var(ncid, 'lon', NF_DOUBLE, 1, (/nod_n_id/), lon_id, 'longitude', partit, "longitude", "degrees_east") - call my_def_var(ncid, 'lat', NF_DOUBLE, 1, (/nod_n_id/), lat_id, 'latitude', partit, "latitude", "degrees_north") + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'nz', & ! Short Name + NF_DOUBLE, & ! Variable Type + 1, & ! Variable Dimensionality + (/nl_id /), & ! Dimension IDs + zbar_id, & ! ID + 'depth of levels', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit, & ! Partitioning + "", & ! Standard Name + "meters", & ! Units + "" & ! CF Role + ) + ! PG: Add `positive` attribute according to CF-Conventions for depth: + ! https://cfconventions.org/cf-conventions/cf-conventions.html#vertical-coordinate + ! + ! Note that the sign (negative in normal FESOM code) is inverted during the saving process. + if (partit%mype==0) then + status = nf_put_att_text(ncid, zbar_id, 'positive', len_trim("down"), trim("down")); + end if + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'nz1', & ! Short Name + NF_DOUBLE, & ! Variable Type + 1, & ! Variable Dimensionality + (/nl1_id/), & ! Dimension IDs + z_id, & ! ID + 'depth of layers', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit & ! Partitioning + ) + ! PG: Add `positive` attribute according to CF-Conventions for depth: + ! https://cfconventions.org/cf-conventions/cf-conventions.html#vertical-coordinate + ! + ! Note that the sign (negative in normal FESOM code) is inverted during the saving process. + if (partit%mype==0) then + status = nf_put_att_text(ncid, z_id, 'positive', len_trim("down"), trim("down")); + end if + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'elem_area', & ! Short Name + NF_DOUBLE, & ! Variable Type + 1, & ! Variable Dimensionality + (/elem_n_id/), & ! Dimension IDs + elem_area_id, & ! ID + 'element areas', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit & ! Partitioning + ) + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'nlevels_nod2D', & ! Short Name + NF_INT, & ! Variable Type + 1, & ! Variable Dimensionality + (/nod_n_id/), & ! Dimension IDs + nlevels_nod2D_id, & ! ID + 'number of levels below nodes', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit & ! Partitioning + ) + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'nlevels', & ! Short Name + NF_INT, & ! Variable Type + 1, & ! Variable Dimensionality + (/elem_n_id/), & ! Dimension IDs + nlevels_id, & ! ID + 'number of levels below elements', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit & ! Partitioning + ) + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'nod_in_elem2D_num', & ! Short Name + NF_INT, & ! Variable Type + 1, & ! Variable Dimensionality + (/nod_n_id/), & ! Dimension IDs + nod_in_elem2D_num_id, & ! ID + 'number of elements containing the node', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit & ! Partitioning + ) + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'nod_part', & ! Short Name + NF_INT, & ! Variable Type + 1, & ! Variable Dimensionality + (/nod_n_id/), & ! Dimension IDs + nod_part_id, & ! ID + 'nodal partitioning at the cold start', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit & ! Partitioning + ) + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'elem_part', & ! Short Name + NF_INT, & ! Variable Type + 1, & ! Variable Dimensionality + (/elem_n_id/), & ! Dimension IDs + elem_part_id, & ! ID + 'element partitioning at the cold start', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit & ! Partitioning + ) + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'zbar_e_bottom', & ! Short Name + NF_DOUBLE, & ! Variable Type + 1, & ! Variable Dimensionality + (/elem_n_id/), & ! Dimension IDs + zbar_e_bot_id, & ! ID + 'element bottom dep', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topologyth', + partit & ! Partitioning + ) + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'zbar_n_bottom', & ! Short Name + NF_DOUBLE, & ! Variable Type + 1, & ! Variable Dimensionality + (/nod_n_id/), & ! Dimension IDs + zbar_n_bot_id, & ! ID + 'nodal bottom depth', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology', + partit & ! Partitioning + ) + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'lon', & ! Short Name + NF_DOUBLE, & ! Variable Type + 1, & ! Variable Dimensionality + (/nod_n_id/), & ! Dimension IDs + lon_id, & ! ID + 'longitude', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit, & ! Partitioning + ! Everything after partit is an optional argument + "longitude", & + "degrees_east" & + ) + + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'lat', & ! Short Name + NF_DOUBLE, & ! Variable Type + 1, & ! Variable Dimensionality + (/nod_n_id/), & ! Dimension IDs + lat_id, & ! ID + 'latitude', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit, & ! Partitioning + ! Everything after partit is an optional argument + "latitude", & + "degrees_north" & + ) ! 2D - call my_def_var(ncid, 'nod_area', NF_DOUBLE, 2, (/nod_n_id, nl_id/), nod_area_id, 'nodal areas', partit) + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'nod_area', & ! Short Name + NF_DOUBLE, & ! Variable Type + 2, & ! Variable Dimensionality + (/nod_n_id, nl_id/), & ! Dimension IDs + nod_area_id, & ! ID + 'nodal areas', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit & ! Partitioning + ) - call my_def_var(ncid, & ! NetCDF Variable File Handle ID - 'face_nodes', & ! Short Name - NF_INT, & ! Variable Type - 2, & ! Variable Dimensionality - (/elem_n_id, id_3/), & ! Dimension IDs - face_node_id, & ! ID - "Maps every triangular face to its three edges.", & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology - partit, & ! Partitioning - ! Everything after partit is an optional argument - "face", & ! Standard Name - "", & ! Units - "face_edge_connectivity" & ! CF Role + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'face_nodes', & ! Short Name + NF_INT, & ! Variable Type + 2, & ! Variable Dimensionality + (/elem_n_id, id_3/), & ! Dimension IDs + face_node_id, & ! ID + "Maps every triangular face to its three corner nodes.", & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology + partit, & ! Partitioning + ! Everything after partit is an optional argument + "face", & ! Standard Name + "", & ! Units + "face_node_connectivity" & ! CF Role ) - call my_def_var(ncid, & ! NetCDF Variable File Handle ID - "edge_nodes", & ! Short Name - NF_INT, & ! Variable Type - 2, & ! Variable Dimensionality - (/nod_n_id, id_2/), & ! Dimension IDs - nod_id, & ! ID - "Maps every edge to the two nodes that it connects", & ! Long Name - partit, & ! Partitioning + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + "edge_nodes", & ! Short Name + NF_INT, & ! Variable Type + 2, & ! Variable Dimensionality + (/nod_n_id, id_2/), & ! Dimension IDs + nod_id, & ! ID + "Maps every edge to the two nodes that it connects", & ! Long Name + partit, & ! Partitioning ! Everything after partit is an optional argument - "edge", & ! Standard Name - "", & ! Units - "edge_node_connectivity" & ! CF Role + "edge", & ! Standard Name + "", & ! Units + "edge_node_connectivity" & ! CF Role ) ! TODO(PG): Find out if we want this one ! FIXME(PG): Not sure how to actually calculate this one - call my_def_var(ncid, & ! NetCDF Variable File Handle ID - 'face_edges', & ! Short Name - NF_INT, & ! Variable Type - 2, & ! Variable Dimensionality - (/elem_n_id, id_3/), & ! Dimension IDs - face_edges_id, & ! ID - 'Maps every triangular face to its three edges.', & ! Long Name - partit, & ! Partitioning + call my_def_var(ncid, & ! NetCDF Variable File Handle ID + 'face_edges', & ! Short Name + NF_INT, & ! Variable Type + 2, & ! Variable Dimensionality + (/elem_n_id, id_3/), & ! Dimension IDs + face_edges_id, & ! ID + 'Maps every triangular face to its three edges.', & ! Long Name + partit, & ! Partitioning ! Everything after partit is an optional argument - "face_edges", & ! Standard Name - "", & ! Units - "face_edge_connectivity" & ! CF Role + "face_edges", & ! Standard Name + "", & ! Units + "face_edge_connectivity" & ! CF Role ) ! TODO(PG): Find out if we want this one ! FIXME(PG): Not sure how to actually calculate this one -call my_def_var(ncid, & ! NetCDF Variable File Handle ID - "face_links", & ! Short Name - NF_INT, & ! Variable Type - 2, & ! Variable Dimensionality - (/elem_n_id, id_3/), & ! Dimension IDs - face_links_id, & ! ID - "neighbor faces for faces", & ! Long Name - partit, & ! Partitioning +call my_def_var(ncid, & ! NetCDF Variable File Handle ID + "face_links", & ! Short Name + NF_INT, & ! Variable Type + 2, & ! Variable Dimensionality + (/elem_n_id, id_3/), & ! Dimension IDs + face_links_id, & ! ID + "neighbor faces for faces", & ! Long Name + partit, & ! Partitioning ! Everything after partit is an optional argument - "face_links", & ! Standard Name - "", & ! Units - "face_edge_connectivity", & ! CF Role - "missing neighbor faces are indicated using _FillValue", & ! Comment - -999.0 & ! Missing Value + "face_links", & ! Standard Name + "", & ! Units + "face_edge_connectivity", & ! CF Role + "missing neighbor faces are indicated using _FillValue", & ! Comment + -999 & ! Missing Value ) !TODO(PG): Find out if we want this one -call my_def_var(ncid, & ! NetCDF Variable File Handle ID - "edge_face_links", & ! Short Name - NF_INT, & ! Variable Type - 2, & ! Variable Dimensionality - (/nod_n_id, id_2/), & ! Dimension IDs - edge_face_links_id, & ! ID - "neighbor faces for edges", & ! Long Name - partit, & ! Partitioning - "edge_face_links", & ! Standard Name - "", & ! Units - "edge_face_connectivity", & ! CF Role - "missing neighbor faces are indicated using _FillValue", & ! Comment - -999.0 & ! Missing Value +call my_def_var(ncid, & ! NetCDF Variable File Handle ID + "edge_face_links", & ! Short Name + NF_INT, & ! Variable Type + 2, & ! Variable Dimensionality + (/nod_n_id, id_2/), & ! Dimension IDs + edge_face_links_id, & ! ID + "neighbor faces for edges", & ! Long Name + partit, & ! Partitioning + "edge_face_links", & ! Standard Name + "", & ! Units + "edge_face_connectivity", & ! CF Role + "missing neighbor faces are indicated using _FillValue", & ! Comment + -999 & ! Missing Value ) call my_def_var(ncid, 'nod_in_elem2D', NF_INT, 2, (/nod_n_id, id_N/), nod_in_elem2D_id, 'elements containing the node', partit) @@ -193,71 +320,45 @@ subroutine write_mesh_info(partit, mesh) call my_def_var(ncid, 'gradient_sca_x', NF_DOUBLE, 2, (/id_3, elem_n_id/), gradient_sca_x_id, 'x component of a gradient at nodes of an element', partit) call my_def_var(ncid, 'gradient_sca_y', NF_DOUBLE, 2, (/id_3, elem_n_id/), gradient_sca_y_id, 'y component of a gradient at nodes of an element', partit) call my_nf_enddef(ncid, partit) + WRITE(*,*) 'DEBUG(PG): Finished with defining variables' - ! vercical levels/layers - call my_put_vara(ncid, zbar_id, 1, nl, zbar, partit) - call my_put_vara(ncid, z_id, 1, nl-1, Z, partit) + WRITE(*,*) 'DEBUG(PG): Writing data' + ! NOTE(PG): Same order as definition! + ! NOTE(PG): We invert the sign of ``zbar`` here to conform with CF-Conventions + ! https://cfconventions.org/cf-conventions/cf-conventions.html#vertical-coordinate + WRITE(*,*) "nz" + call my_put_vara(ncid, zbar_id, 1, nl, -zbar, partit) - ! nodal areas - allocate(rbuffer(nod2D)) - do k=1, nl - call gather_nod(area(k, :), rbuffer, partit) - call my_put_vara(ncid, nod_area_id, (/1, k/), (/nod2D, 1/), rbuffer, partit) - end do - deallocate(rbuffer) + ! NOTE(PG): We invert the sign of ``Z`` here to conform with CF-Conventions + ! https://cfconventions.org/cf-conventions/cf-conventions.html#vertical-coordinate + WRITE(*,*) "nz1" + call my_put_vara(ncid, z_id, 1, nl-1, -Z, partit) - ! element areas + WRITE(*,*) "elem_area" allocate(rbuffer(elem2D)) call gather_elem(elem_area(1:myDim_elem2D), rbuffer, partit) call my_put_vara(ncid, elem_area_id, 1, elem2D, rbuffer, partit) deallocate(rbuffer) - ! elements - allocate(ibuffer(elem2D)) - allocate(lbuffer(myDim_elem2D)) - do i=1, 3 - do k=1, myDim_elem2D - lbuffer(k)=myList_nod2D(elem2d_nodes(i, k)) - end do - call gather_elem(lbuffer, ibuffer, partit) - call my_put_vara(ncid, elem_id, (/1, i/), (/elem2D, 1/), ibuffer, partit) - end do - deallocate(lbuffer, ibuffer) - - ! number of levels below elements - allocate(ibuffer(elem2D)) - call gather_elem(nlevels(1:myDim_elem2D), ibuffer, partit) - call my_put_vara(ncid, nlevels_id, 1, elem2D, ibuffer, partit) - deallocate(ibuffer) - - ! number of levels below nodes + WRITE(*,*) "nlevels_nod2D" allocate(ibuffer(nod2D)) call gather_nod(nlevels_nod2D(1:myDim_nod2D), ibuffer, partit) call my_put_vara(ncid, nlevels_nod2D_id, 1, nod2D, ibuffer, partit) deallocate(ibuffer) - ! number of elements containing the node + WRITE(*,*) "nlevels" + allocate(ibuffer(elem2D)) + call gather_elem(nlevels(1:myDim_elem2D), ibuffer, partit) + call my_put_vara(ncid, nlevels_id, 1, elem2D, ibuffer, partit) + deallocate(ibuffer) + + WRITE(*,*) "nod_in_elem2D_num" allocate(ibuffer(nod2D)) call gather_nod(nod_in_elem2D_num(1:myDim_nod2D), ibuffer, partit) call my_put_vara(ncid, nod_in_elem2D_num_id, 1, nod2D, ibuffer, partit) deallocate(ibuffer) - ! elements containing the node - allocate(ibuffer(nod2D)) - allocate(lbuffer(myDim_nod2D)) - DO i=1, N_max - lbuffer=0 - do k=1, myDim_nod2D - if ((nod_in_elem2D_num(k)>=i)) then - lbuffer(k)=myList_elem2D(nod_in_elem2D(i, k)) - end if - end do - call gather_nod(lbuffer, ibuffer, partit) - call my_put_vara(ncid, nod_in_elem2D_id, (/1, i/), (/nod2D, 1/), ibuffer, partit) - END DO - deallocate(lbuffer, ibuffer) - - ! nodal partitioning + WRITE(*,*) "nod_part" allocate(ibuffer(nod2D)) allocate(lbuffer(myDim_nod2D)) lbuffer=mype @@ -265,7 +366,7 @@ subroutine write_mesh_info(partit, mesh) call my_put_vara(ncid, nod_part_id, 1, nod2D, ibuffer, partit) deallocate(lbuffer, ibuffer) - ! element partitioning + WRITE(*,*) "elem_part" allocate(ibuffer(elem2D)) allocate(lbuffer(myDim_elem2D)) lbuffer=mype @@ -273,7 +374,19 @@ subroutine write_mesh_info(partit, mesh) call my_put_vara(ncid, elem_part_id, 1, elem2D, ibuffer, partit) deallocate(lbuffer, ibuffer) + WRITE(*,*) "zbar_e_bottom" + allocate(rbuffer(elem2D)) + call gather_elem(zbar_e_bot(1:myDim_elem2D), rbuffer, partit) + call my_put_vara(ncid, zbar_e_bot_id, 1, elem2D, rbuffer, partit) + deallocate(rbuffer) + + WRITE(*,*) "zbar_n_bottom" + allocate(rbuffer(nod2D)) + call gather_nod(zbar_n_bot(1:myDim_nod2D), rbuffer, partit) + call my_put_vara(ncid, zbar_n_bot_id, 1, nod2D, rbuffer, partit) + deallocate(rbuffer) + WRITE(*,*) "lon and lat" ! nodes (GEO coordinates) allocate(rbuffer(nod2D)) do i=1, 2 @@ -288,7 +401,27 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(rbuffer) - ! edges + WRITE(*,*) "nod_area" + allocate(rbuffer(nod2D)) + do k=1, nl + call gather_nod(area(k, :), rbuffer, partit) + call my_put_vara(ncid, nod_area_id, (/1, k/), (/nod2D, 1/), rbuffer, partit) + end do + deallocate(rbuffer) + + WRITE(*,*) "face_nodes" + + WRITE(*,*) "edge_nodes" + + WRITE(*,*) "face_edges" + + WRITE(*,*) "face_links" + + WRITE(*,*) "edge_face_links" + + WRITE(*,*) "nod_in_elem2D" + + WRITE(*,*) "edges" allocate(ibuffer(edge2D)) allocate(lbuffer(myDim_edge2D)) do i=1, 2 @@ -300,6 +433,8 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(lbuffer, ibuffer) + WRITE(*,*) "edge_tri" + ! QUESTION(PG): What is this? ! edge triangles allocate(ibuffer(edge2D)) allocate(lbuffer(myDim_edge2D)) @@ -316,7 +451,7 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(lbuffer, ibuffer) - ! edge cross distances + WRITE(*,*) "edge_cross_dxdy" allocate(rbuffer(edge2D)) allocate(lrbuffer(myDim_edge2D)) do i=1, 4 @@ -326,8 +461,8 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(rbuffer, lrbuffer) - - ! X component of gadient at elements + WRITE(*,*) "gradient_sca_x" + ! X component of gadient at elements allocate(rbuffer(elem2D)) do i=1, 3 call gather_elem(gradient_sca(i, 1:myDim_elem2D), rbuffer, partit) @@ -335,26 +470,15 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(rbuffer) - ! Y component of gadient at elements + WRITE(*,*) "gradient_sca_y" + ! Y component of gadient at elements allocate(rbuffer(elem2D)) do i=1, 3 call gather_elem(gradient_sca(i+3, 1:myDim_elem2D), rbuffer, partit) call my_put_vara(ncid, gradient_sca_y_id, (/4-i, 1/), (/1, elem2D/), rbuffer, partit)! (4-i), NETCDF will permute otherwise end do deallocate(rbuffer) - - ! nodal bottom depth (take into account partial cells if used) - allocate(rbuffer(nod2D)) - call gather_nod(zbar_n_bot(1:myDim_nod2D), rbuffer, partit) - call my_put_vara(ncid, zbar_n_bot_id, 1, nod2D, rbuffer, partit) - deallocate(rbuffer) - ! element bottom depth (take into account partial cells if used) - allocate(rbuffer(elem2D)) - call gather_elem(zbar_e_bot(1:myDim_elem2D), rbuffer, partit) - call my_put_vara(ncid, zbar_e_bot_id, 1, elem2D, rbuffer, partit) - deallocate(rbuffer) - call my_close(ncid, partit) end subroutine write_mesh_info @@ -383,6 +507,9 @@ end subroutine my_def_dim ! ! subroutine add_fesom_ugrid_info(ncid, partit) +! Writes UGRID information to the mesh diag files to describe the mesh topology. +! +! IMPLICIT NONE type(t_partit), intent(inout) :: partit integer, intent(in) :: ncid @@ -468,6 +595,7 @@ end subroutine add_fesom_ugrid_info ! !============================================================================ ! +! NOTE/IDEA(CR, PG): This could be an INTERFACE subroutine (overloading) to give either missing value as int or real. subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit, standard_name, units, cf_role, comment, missing_value) IMPLICIT NONE @@ -478,7 +606,9 @@ subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit integer :: ierror, status character(*), intent(in), optional :: standard_name, units, cf_role character(*), intent(in), optional :: comment -real, intent(in), optional :: missing_value +integer, intent(in), optional :: missing_value + +WRITE(*,*) 'DEBUG(PG): my_def_var: short_name=', short_name, " varid=", id if (partit%mype==0) then status = nf_def_var(ncid, trim(short_name), vtype, dsize, dids, id) @@ -515,12 +645,12 @@ subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit if (partit%mype==0) then if (present(missing_value)) then - write(*,*) 'variable ', short_name, ' has missing value ', missing_value, 'with KIND=', kind(missing_value) - status = nf_put_att_real(ncid, id, '_FillValue', NF_REAL, 1, missing_value); + write(*,*) 'DEBUG(PG): variable ', short_name, ' has missing value ', missing_value, 'with KIND=', kind(missing_value) + status = nf_put_att_int(ncid, id, '_FillValue', NF_INT, 1, missing_value); endif endif -write(*,*) 'DEBUG: PG: status = ', status +write(*,*) 'DEBUG(PG): status = ', status call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) @@ -555,6 +685,7 @@ subroutine my_put_vara_double_1D(ncid, varid, start, N, var, partit) real(kind=WP) :: var(:) integer :: ierror, status + ! WRITE(*,*) 'DEBUG(PG): my_put_vara_double_1D:', varid if (partit%mype==0) status=nf_put_vara_double(ncid, varid, start, N, var) call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) From b2c0a6458bac067effcd50ed24061b41e871d77e Mon Sep 17 00:00:00 2001 From: Dmitri Sidorenko Date: Tue, 14 Jun 2022 11:19:05 +0200 Subject: [PATCH 013/273] ugrid: some stuff with dima, probably still needs to be cleaned and with bugs --- src/io_mesh_info.F90 | 91 ++++++++++++++++++++++++++++++++++---------- 1 file changed, 70 insertions(+), 21 deletions(-) diff --git a/src/io_mesh_info.F90 b/src/io_mesh_info.F90 index 7e52f00ee..6ddf74b3d 100644 --- a/src/io_mesh_info.F90 +++ b/src/io_mesh_info.F90 @@ -35,15 +35,15 @@ subroutine write_mesh_info(partit, mesh) integer :: i, k, N_max integer :: nod_area_id, elem_area_id integer, target :: z_id, zbar_id - integer :: edges_id, edge_tri_id, edge_cross_dxdy_id + integer :: edge_face_links_id, edge_cross_dxdy_id integer :: nlevels_nod2D_id, nlevels_id integer :: nod_in_elem2D_num_id, nod_in_elem2D_id integer :: gradient_sca_x_id, gradient_sca_y_id integer :: zbar_e_bot_id,zbar_n_bot_id - integer :: elem_id integer :: nod_id integer :: lon_id, lat_id - integer :: face_node_id, face_edges_id, face_links_id, edge_face_links_id + ! UGRID NAMES START HERE + integer :: face_node_id, edge_nodes_id, face_edges_id, face_links_id, edge_face_links_id character(100) :: longname character(2000) :: filename real(kind=WP), allocatable :: rbuffer(:), lrbuffer(:) @@ -314,8 +314,6 @@ subroutine write_mesh_info(partit, mesh) ) call my_def_var(ncid, 'nod_in_elem2D', NF_INT, 2, (/nod_n_id, id_N/), nod_in_elem2D_id, 'elements containing the node', partit) - call my_def_var(ncid, 'edges', NF_INT, 2, (/edge_n_id, id_2/), edges_id, 'edges', partit, "edges", "", "mesh_topology") - call my_def_var(ncid, 'edge_tri', NF_INT, 2, (/edge_n_id, id_2/), edge_tri_id, 'edge triangles', partit, "edges of triangles", "", "mesh_topology") call my_def_var(ncid, 'edge_cross_dxdy', NF_DOUBLE, 2, (/edge_n_id, id_4/), edge_cross_dxdy_id, 'edge cross distancess', partit) call my_def_var(ncid, 'gradient_sca_x', NF_DOUBLE, 2, (/id_3, elem_n_id/), gradient_sca_x_id, 'x component of a gradient at nodes of an element', partit) call my_def_var(ncid, 'gradient_sca_y', NF_DOUBLE, 2, (/id_3, elem_n_id/), gradient_sca_y_id, 'y component of a gradient at nodes of an element', partit) @@ -410,18 +408,20 @@ subroutine write_mesh_info(partit, mesh) deallocate(rbuffer) WRITE(*,*) "face_nodes" + ! used to be called: elements + allocate(ibuffer(elem2D)) + allocate(lbuffer(myDim_elem2D)) + do i=1, 3 + do k=1, myDim_elem2D + lbuffer(k)=myList_nod2D(elem2d_nodes(i, k)) + end do + call gather_elem(lbuffer, ibuffer) + call my_put_vara(ncid, face_node_id, (/i, 1/), (/1, elem2D/), ibuffer) + end do + deallocate(lbuffer, ibuffer) WRITE(*,*) "edge_nodes" - - WRITE(*,*) "face_edges" - - WRITE(*,*) "face_links" - - WRITE(*,*) "edge_face_links" - - WRITE(*,*) "nod_in_elem2D" - - WRITE(*,*) "edges" + ! This used to be called "edges" before UGRID Change allocate(ibuffer(edge2D)) allocate(lbuffer(myDim_edge2D)) do i=1, 2 @@ -429,28 +429,77 @@ subroutine write_mesh_info(partit, mesh) lbuffer(k)=myList_nod2D(edges(i, k)) end do call gather_edge(lbuffer, ibuffer, partit) - call my_put_vara(ncid, edges_id, (/1, i/), (/edge2D, 1/), ibuffer, partit) + call my_put_vara(ncid, edges_id, (/i, 1/), (/1, edge2D/), ibuffer, partit) end do deallocate(lbuffer, ibuffer) - WRITE(*,*) "edge_tri" - ! QUESTION(PG): What is this? - ! edge triangles + WRITE(*,*) "face_edges" + ! This used to be called elem_edge + allocate(ibuffer(elem2D)) + do i=1, 3 + call gather_edge(elem_edges(i,1:myDim_elem2D), ibuffer, partit) + call my_put_vara(ncid, face_edges_id, (/1, i/), (/elem2D, 1/), ibuffer, partit) + end do + deallocate(ibuffer) + + + WRITE(*,*) "face_links" + ! This used to be called elem_neighbors + allocate(lbuffer(myDim_elem2D), ibuffer(elem2D)) + do i=1, 3 + lbuffer(1:myDim_elem2D)=elem_neighbors(i, 1:myDim_elem2D) +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(k) + do k=1, myDim_elem2D + if (elem_neighbors(i, k) > 0) then + lbuffer(k)=elem_neighbors(i, k) + else + lbuffer(k)=-999 + end if + end do +!$OMP END PARALLEL DO + call gather_elem(lbuffer, ibuffer, partit) + call my_put_vara(ncid, face_links_id, (/1, i/), (/elem2D, 1/), ibuffer, partit) + end do + deallocate(lbuffer, ibuffer) + + WRITE(*,*) "edge_face_links" + ! Used to be called edge_tri allocate(ibuffer(edge2D)) allocate(lbuffer(myDim_edge2D)) do i=1, 2 +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(k) do k=1, myDim_edge2D if (edge_tri(i,k) > 0) then lbuffer(k) = myList_elem2D(edge_tri(i,k)) else - lbuffer(k) = 0 + lbuffer(k) = -999 ! Changed from missing value of 0 before endif end do +!$OMP END PARALLEL DO call gather_edge(lbuffer, ibuffer, partit) - call my_put_vara(ncid, edge_tri_id, (/1, i/), (/edge2D, 1/), ibuffer, partit) + call my_put_vara(ncid, edge_face_links_id, (/1, i/), (/edge2D, 1/), ibuffer, partit) end do deallocate(lbuffer, ibuffer) + WRITE(*,*) "nod_in_elem2D" + ! elements containing the node + allocate(ibuffer(nod2D)) + allocate(lbuffer(myDim_nod2D)) + DO i=1, N_max + lbuffer=0 +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(k) + do k=1, myDim_nod2D + if ((nod_in_elem2D_num(k)>=i)) then + lbuffer(k)=myList_elem2D(nod_in_elem2D(i, k)) + end if + end do +!$OMP END PARALLEL DO + call gather_nod(lbuffer, ibuffer, partit) + call my_put_vara(ncid, nod_in_elem2D_id, (/1, i/), (/nod2D, 1/), ibuffer, partit) + END DO + deallocate(lbuffer, ibuffer) + + WRITE(*,*) "edge_cross_dxdy" allocate(rbuffer(edge2D)) allocate(lrbuffer(myDim_edge2D)) From a5fe4965dfbda15eef9730f35f00d547690fcce4 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Tue, 14 Jun 2022 15:48:47 +0200 Subject: [PATCH 014/273] ugrid compliance passes locally --- src/io_meandata.F90 | 5 +-- src/io_mesh_info.F90 | 84 ++++++++++++++++++++++++++------------------ 2 files changed, 52 insertions(+), 37 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index c19b71e41..366228e09 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -568,9 +568,9 @@ function mesh_dimname_from_dimsize(size, partit, mesh) result(name) character(50) :: name if (size==mesh%nod2D) then - name='node' + name='nnode' elseif (size==mesh%elem2D) then - name='face' + name='nface' elseif (size==mesh%nl) then name='nz' elseif (size==mesh%nl-1) then @@ -660,6 +660,7 @@ subroutine create_new_file(entry, ice, dynamics, partit, mesh) !___Global attributes________ + call assert_nf( nf_put_att_text(entry%ncid, NF_GLOBAL, 'Conventions', len_trim('UGRID-1.0'),'UGRID-1.0'), __LINE__) call assert_nf( nf_put_att_text(entry%ncid, NF_GLOBAL, global_attributes_prefix//'model', len_trim('FESOM2'),'FESOM2'), __LINE__) call assert_nf( nf_put_att_text(entry%ncid, NF_GLOBAL, global_attributes_prefix//'website', len_trim('fesom.de'), trim('fesom.de')), __LINE__) diff --git a/src/io_mesh_info.F90 b/src/io_mesh_info.F90 index 6ddf74b3d..96472a95b 100644 --- a/src/io_mesh_info.F90 +++ b/src/io_mesh_info.F90 @@ -35,7 +35,7 @@ subroutine write_mesh_info(partit, mesh) integer :: i, k, N_max integer :: nod_area_id, elem_area_id integer, target :: z_id, zbar_id - integer :: edge_face_links_id, edge_cross_dxdy_id + integer :: edge_cross_dxdy_id integer :: nlevels_nod2D_id, nlevels_id integer :: nod_in_elem2D_num_id, nod_in_elem2D_id integer :: gradient_sca_x_id, gradient_sca_y_id @@ -90,8 +90,7 @@ subroutine write_mesh_info(partit, mesh) 'depth of levels', & ! Long Name. NOTE(PG): Taken from https://ugrid-conventions.github.io/ugrid-conventions/#2d-triangular-mesh-topology partit, & ! Partitioning "", & ! Standard Name - "meters", & ! Units - "" & ! CF Role + "meters" & ! Units ) ! PG: Add `positive` attribute according to CF-Conventions for depth: ! https://cfconventions.org/cf-conventions/cf-conventions.html#vertical-coordinate @@ -246,25 +245,28 @@ subroutine write_mesh_info(partit, mesh) ! Everything after partit is an optional argument "face", & ! Standard Name "", & ! Units - "face_node_connectivity" & ! CF Role + "face_node_connectivity", & ! CF Role + start_index = 1 & ! Start index ) + if (partit%mype==0) then + status = nf_put_att_text(ncid, face_node_id, 'location', len_trim("face"), trim("face")); + end if call my_def_var(ncid, & ! NetCDF Variable File Handle ID "edge_nodes", & ! Short Name NF_INT, & ! Variable Type 2, & ! Variable Dimensionality - (/nod_n_id, id_2/), & ! Dimension IDs - nod_id, & ! ID + (/edge_n_id, id_2/), & ! Dimension IDs + edge_nodes_id, & ! ID "Maps every edge to the two nodes that it connects", & ! Long Name partit, & ! Partitioning ! Everything after partit is an optional argument "edge", & ! Standard Name "", & ! Units - "edge_node_connectivity" & ! CF Role + "edge_node_connectivity", & ! CF Role + start_index = 1 & ! Start index ) -! TODO(PG): Find out if we want this one -! FIXME(PG): Not sure how to actually calculate this one call my_def_var(ncid, & ! NetCDF Variable File Handle ID 'face_edges', & ! Short Name NF_INT, & ! Variable Type @@ -279,8 +281,6 @@ subroutine write_mesh_info(partit, mesh) "face_edge_connectivity" & ! CF Role ) -! TODO(PG): Find out if we want this one -! FIXME(PG): Not sure how to actually calculate this one call my_def_var(ncid, & ! NetCDF Variable File Handle ID "face_links", & ! Short Name NF_INT, & ! Variable Type @@ -292,17 +292,16 @@ subroutine write_mesh_info(partit, mesh) ! Everything after partit is an optional argument "face_links", & ! Standard Name "", & ! Units - "face_edge_connectivity", & ! CF Role + "face_face_connectivity", & ! CF Role "missing neighbor faces are indicated using _FillValue", & ! Comment -999 & ! Missing Value ) -!TODO(PG): Find out if we want this one call my_def_var(ncid, & ! NetCDF Variable File Handle ID "edge_face_links", & ! Short Name NF_INT, & ! Variable Type 2, & ! Variable Dimensionality - (/nod_n_id, id_2/), & ! Dimension IDs + (/edge_n_id, id_2/), & ! Dimension IDs edge_face_links_id, & ! ID "neighbor faces for edges", & ! Long Name partit, & ! Partitioning @@ -310,13 +309,14 @@ subroutine write_mesh_info(partit, mesh) "", & ! Units "edge_face_connectivity", & ! CF Role "missing neighbor faces are indicated using _FillValue", & ! Comment - -999 & ! Missing Value + -999, & ! Missing Value + 1 & ! Start index ) call my_def_var(ncid, 'nod_in_elem2D', NF_INT, 2, (/nod_n_id, id_N/), nod_in_elem2D_id, 'elements containing the node', partit) call my_def_var(ncid, 'edge_cross_dxdy', NF_DOUBLE, 2, (/edge_n_id, id_4/), edge_cross_dxdy_id, 'edge cross distancess', partit) - call my_def_var(ncid, 'gradient_sca_x', NF_DOUBLE, 2, (/id_3, elem_n_id/), gradient_sca_x_id, 'x component of a gradient at nodes of an element', partit) - call my_def_var(ncid, 'gradient_sca_y', NF_DOUBLE, 2, (/id_3, elem_n_id/), gradient_sca_y_id, 'y component of a gradient at nodes of an element', partit) + call my_def_var(ncid, 'gradient_sca_x', NF_DOUBLE, 2, (/elem_n_id, id_3/), gradient_sca_x_id, 'x component of a gradient at nodes of an element', partit) + call my_def_var(ncid, 'gradient_sca_y', NF_DOUBLE, 2, (/elem_n_id, id_3/), gradient_sca_y_id, 'y component of a gradient at nodes of an element', partit) call my_nf_enddef(ncid, partit) WRITE(*,*) 'DEBUG(PG): Finished with defining variables' @@ -390,7 +390,6 @@ subroutine write_mesh_info(partit, mesh) do i=1, 2 call gather_nod(geo_coord_nod2D(i, 1:myDim_nod2D), rbuffer, partit) rbuffer = rbuffer/rad - call my_put_vara(ncid, nod_id, (/1, i/), (/nod2D, 1/), rbuffer, partit) if (i == 1) then call my_put_vara(ncid, lon_id, 1, nod2D, rbuffer, partit) else @@ -415,8 +414,8 @@ subroutine write_mesh_info(partit, mesh) do k=1, myDim_elem2D lbuffer(k)=myList_nod2D(elem2d_nodes(i, k)) end do - call gather_elem(lbuffer, ibuffer) - call my_put_vara(ncid, face_node_id, (/i, 1/), (/1, elem2D/), ibuffer) + call gather_elem(lbuffer, ibuffer, partit) + call my_put_vara(ncid, face_node_id, (/1, i/), (/elem2D, 1/), ibuffer, partit) end do deallocate(lbuffer, ibuffer) @@ -429,7 +428,7 @@ subroutine write_mesh_info(partit, mesh) lbuffer(k)=myList_nod2D(edges(i, k)) end do call gather_edge(lbuffer, ibuffer, partit) - call my_put_vara(ncid, edges_id, (/i, 1/), (/1, edge2D/), ibuffer, partit) + call my_put_vara(ncid, edge_nodes_id, (/1, i/), (/edge2D, 1/), ibuffer, partit) end do deallocate(lbuffer, ibuffer) @@ -437,23 +436,23 @@ subroutine write_mesh_info(partit, mesh) ! This used to be called elem_edge allocate(ibuffer(elem2D)) do i=1, 3 - call gather_edge(elem_edges(i,1:myDim_elem2D), ibuffer, partit) + call gather_elem(elem_edges(i,1:myDim_elem2D), ibuffer, partit) call my_put_vara(ncid, face_edges_id, (/1, i/), (/elem2D, 1/), ibuffer, partit) end do deallocate(ibuffer) - WRITE(*,*) "face_links" ! This used to be called elem_neighbors allocate(lbuffer(myDim_elem2D), ibuffer(elem2D)) do i=1, 3 - lbuffer(1:myDim_elem2D)=elem_neighbors(i, 1:myDim_elem2D) + lbuffer(1:myDim_elem2D) = elem_neighbors(i, 1:myDim_elem2D) !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(k) do k=1, myDim_elem2D + !WRITE(*,*) "k = ", k if (elem_neighbors(i, k) > 0) then - lbuffer(k)=elem_neighbors(i, k) + lbuffer(k) = elem_neighbors(i, k) else - lbuffer(k)=-999 + lbuffer(k) = -999 end if end do !$OMP END PARALLEL DO @@ -515,7 +514,7 @@ subroutine write_mesh_info(partit, mesh) allocate(rbuffer(elem2D)) do i=1, 3 call gather_elem(gradient_sca(i, 1:myDim_elem2D), rbuffer, partit) - call my_put_vara(ncid, gradient_sca_x_id, (/4-i, 1/), (/1, elem2D/), rbuffer, partit) ! (4-i), NETCDF will permute otherwise + call my_put_vara(ncid, gradient_sca_x_id, (/1, 4-i/), (/elem2D, 1/), rbuffer, partit) ! (4-i), NETCDF will permute otherwise end do deallocate(rbuffer) @@ -524,7 +523,7 @@ subroutine write_mesh_info(partit, mesh) allocate(rbuffer(elem2D)) do i=1, 3 call gather_elem(gradient_sca(i+3, 1:myDim_elem2D), rbuffer, partit) - call my_put_vara(ncid, gradient_sca_y_id, (/4-i, 1/), (/1, elem2D/), rbuffer, partit)! (4-i), NETCDF will permute otherwise + call my_put_vara(ncid, gradient_sca_y_id, (/1, 4-i/), (/elem2D, 1/), rbuffer, partit)! (4-i), NETCDF will permute otherwise end do deallocate(rbuffer) @@ -628,10 +627,18 @@ subroutine add_fesom_ugrid_info(ncid, partit) !Mesh2:edge_coordinates = "Mesh2_edge_x Mesh2_edge_y" ; // optional attribute (requires edge_node_connectivity) !FIXME(PG): face coordinates missing !Mesh2:face_coordinates = "Mesh2_face_x Mesh2_face_y" ; // optional attribute -!FIXME(PG): face_edge_connectivity -!Mesh2:face_edge_connectivity = "Mesh2_face_edges" ; // optional attribute (requires edge_node_connectivity) -!FIXME(PG): face_face_connectivity missing -!Mesh2:face_face_connectivity = "Mesh2_face_links" ; // optional attribute +if (partit%mype==0) then + status = nf_put_att_text(ncid, fesom_mesh_id, 'face_edge_connectivity', len_trim('face_edges'), trim('face_edges')); +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + +if (partit%mype==0) then + status = nf_put_att_text(ncid, fesom_mesh_id, 'face_face_connectivity', len_trim('face_links'), trim('face_links')); +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + if (partit%mype==0) then status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_face_connectivity', len_trim('edge_face_links'), trim('edge_face_links')); end if @@ -645,7 +652,7 @@ end subroutine add_fesom_ugrid_info !============================================================================ ! ! NOTE/IDEA(CR, PG): This could be an INTERFACE subroutine (overloading) to give either missing value as int or real. -subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit, standard_name, units, cf_role, comment, missing_value) +subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit, standard_name, units, cf_role, comment, missing_value, start_index) IMPLICIT NONE type(t_partit), intent(inout):: partit @@ -656,6 +663,7 @@ subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit character(*), intent(in), optional :: standard_name, units, cf_role character(*), intent(in), optional :: comment integer, intent(in), optional :: missing_value +integer, intent(in), optional :: start_index WRITE(*,*) 'DEBUG(PG): my_def_var: short_name=', short_name, " varid=", id @@ -694,12 +702,18 @@ subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit if (partit%mype==0) then if (present(missing_value)) then - write(*,*) 'DEBUG(PG): variable ', short_name, ' has missing value ', missing_value, 'with KIND=', kind(missing_value) status = nf_put_att_int(ncid, id, '_FillValue', NF_INT, 1, missing_value); endif endif -write(*,*) 'DEBUG(PG): status = ', status +if (partit%mype==0) then + if (present(start_index)) then + status = nf_put_att_int(ncid, id, 'start_index', NF_INT, 1, start_index); + endif +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) From 864750c5c87f6cfd4127202a4ce2d2f230974e3d Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Wed, 15 Jun 2022 16:29:27 +0200 Subject: [PATCH 015/273] fix: mesh.diag.nc also conforms to ugrid checker by itself --- src/io_mesh_info.F90 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/io_mesh_info.F90 b/src/io_mesh_info.F90 index 96472a95b..5a2712855 100644 --- a/src/io_mesh_info.F90 +++ b/src/io_mesh_info.F90 @@ -565,6 +565,14 @@ subroutine add_fesom_ugrid_info(ncid, partit) integer :: fesom_mesh_id integer :: ierror, status +! NOTE(PG): Adds global Conventions attribute +if (partit%mype==0) then + status = nf_put_att_text(ncid, NF_GLOBAL, 'Conventions', len_trim('UGRID-1.0'), 'UGRID-1.0') +end if +call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) +if (status .ne. nf_noerr) call handle_err(status, partit) + + ! NOTE(PG): Order of calls should mirror the UGRID website; otherwise I cannot keep track: From c43a43d0d8447b6659b7163c96d5703a92a2d7ae Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Wed, 15 Jun 2022 16:42:21 +0200 Subject: [PATCH 016/273] Delete fesom2_icepack 2.yml --- .../inactive_workflows/fesom2_icepack 2.yml | 50 ------------------- 1 file changed, 50 deletions(-) delete mode 100644 .github/inactive_workflows/fesom2_icepack 2.yml diff --git a/.github/inactive_workflows/fesom2_icepack 2.yml b/.github/inactive_workflows/fesom2_icepack 2.yml deleted file mode 100644 index 9057057b1..000000000 --- a/.github/inactive_workflows/fesom2_icepack 2.yml +++ /dev/null @@ -1,50 +0,0 @@ - -name: FESOM2_icepack - -# Controls when the action will run. Triggers the workflow on push or pull request. - -on: [push, pull_request] - - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - icepack_test: - # Containers must run in Linux based operating systems - runs-on: ubuntu-latest - # Docker Hub image that `container-job` executes in - container: koldunovn/fesom2_test:refactoring2 - - # Service containers to run with `gfortran_ubuntu` - steps: - # NK: this changes working directory to fesom2 - - uses: actions/checkout@v2 - - - name: prepeare FESOM2_icepack - run: | - sed -i 's/USE_ICEPACK OFF/USE_ICEPACK ON/g' CMakeLists.txt - cd ./src/icepack_drivers/ - ./download_icepack.sh - cd ../../ - - - name: Compile model - run: | - bash -l configure.sh ubuntu - - - name: Create global test run with ICEPACK - run: | - mkrun pi test_pi_icepack -m docker - - name: FESOM2 global test run with IEPACK - run: | - cd work_pi - chmod +x job_docker_new - ./job_docker_new - - name: Check global results - run: | - cd work_pi - fcheck . - - name: Check restarts - run: | - cd work_pi - ./job_docker_new - - From 5ac8e1c1c81d7aa3c31ac0d10d66a7661cff35a3 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Wed, 15 Jun 2022 16:42:32 +0200 Subject: [PATCH 017/273] Delete fesom2.1 2.yml --- .github/workflows/fesom2.1 2.yml | 80 -------------------------------- 1 file changed, 80 deletions(-) delete mode 100644 .github/workflows/fesom2.1 2.yml diff --git a/.github/workflows/fesom2.1 2.yml b/.github/workflows/fesom2.1 2.yml deleted file mode 100644 index 069a5a669..000000000 --- a/.github/workflows/fesom2.1 2.yml +++ /dev/null @@ -1,80 +0,0 @@ - -name: FESOM2 main test - -# Controls when the action will run. Triggers the workflow on push or pull request. - -on: [push, pull_request] - - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - general_test: - # Containers must run in Linux based operating systems - runs-on: ubuntu-latest - # Docker Hub image that `container-job` executes in - container: koldunovn/fesom2_test:refactoring2 - - # Service containers to run with `gfortran_ubuntu` - steps: - # NK: this changes working directory to fesom2 - - uses: actions/checkout@v2 - - - name: Compile model (binary) - run: | - bash -l configure.sh ubuntu - - - name: Compile model (library) - run: | - bash ./test/ifs_interface/configure_lib.sh -l - - - name: Library exists - run: | - bash ./test/ifs_interface/check_exist.sh - - - name: Create global test run - run: | - mkrun pi test_pi -m docker - - - name: FESOM2 global test run - run: | - cd work_pi - chmod +x job_docker_new - ./job_docker_new - - name: Check global results - run: | - cd work_pi - fcheck . - - - name: Check restarts - run: | - cd work_pi - ./job_docker_new - - - name: Create channel test run - run: | - mkrun souf test_souf -m docker - - - name: FESOM2 channel test run - run: | - cd work_souf - chmod +x job_docker_new - ./job_docker_new - - - name: Check channel results - run: | - cd work_souf - fcheck . - - - name: Check partitioner compilation - run: | - cd mesh_part - bash -l configure.sh ubuntu - - - name: Run partitioner - run: | - cd work_pi - cp ../bin/fesom_ini.x . - ./fesom_ini.x - - - From a787ee2fd85d5067375cedb070041a07293d3af6 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Wed, 15 Jun 2022 16:42:51 +0200 Subject: [PATCH 018/273] Delete fesom2_openmp 2.yml --- .github/workflows/fesom2_openmp 2.yml | 49 --------------------------- 1 file changed, 49 deletions(-) delete mode 100644 .github/workflows/fesom2_openmp 2.yml diff --git a/.github/workflows/fesom2_openmp 2.yml b/.github/workflows/fesom2_openmp 2.yml deleted file mode 100644 index fd1e8cafa..000000000 --- a/.github/workflows/fesom2_openmp 2.yml +++ /dev/null @@ -1,49 +0,0 @@ - -name: FESOM2 OpenMP test - -# Controls when the action will run. Triggers the workflow on push or pull request. - -on: [push, pull_request] - - -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - openmp_test: - # Containers must run in Linux based operating systems - runs-on: ubuntu-latest - # Docker Hub image that `container-job` executes in - container: koldunovn/fesom2_test:refactoring2 - - # Service containers to run with `gfortran_ubuntu` - steps: - # NK: this changes working directory to fesom2 - - uses: actions/checkout@v2 - - - name: switch OpenMP ON - run: | - cd ./src/ - sed -i 's/with OpenMP\" OFF/with OpenMP\" ON/g' CMakeLists.txt - cd ../ - - - name: Compile model - run: | - bash -l configure.sh ubuntu - - - name: Create global test run with 4 OpenMP threads - run: | - mkrun pi test_pi -m docker - cd work_pi - sed -i 's/THREADS=1/THREADS=4/g' job_docker_new - cd ../ - - - name: FESOM2 global test run - run: | - cd work_pi - chmod +x job_docker_new - ./job_docker_new - - - - - - From 46a9af11a4848787c79b44359f8e71ea1cc70596 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Wed, 15 Jun 2022 16:43:17 +0200 Subject: [PATCH 019/273] Delete oce_adv_tra_ver 2.F90 --- src/temp/oce_adv_tra_ver 2.F90 | 598 --------------------------------- 1 file changed, 598 deletions(-) delete mode 100644 src/temp/oce_adv_tra_ver 2.F90 diff --git a/src/temp/oce_adv_tra_ver 2.F90 b/src/temp/oce_adv_tra_ver 2.F90 deleted file mode 100644 index eab9847a8..000000000 --- a/src/temp/oce_adv_tra_ver 2.F90 +++ /dev/null @@ -1,598 +0,0 @@ -module oce_adv_tra_ver_interfaces - interface -! implicit 1st order upwind vertical advection with to solve for fct_LO -! updates the input tracer ttf - subroutine adv_tra_vert_impl(dt, w, ttf, partit, mesh) - use mod_mesh - use MOD_PARTIT - real(kind=WP), intent(in), target :: dt - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(inout) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - end subroutine -!=============================================================================== -! 1st order upwind (explicit) -! returns flux given at vertical interfaces of scalar volumes -! IF init_zero=.TRUE. : flux will be set to zero before computation -! IF init_zero=.FALSE. : flux=flux-input flux -! flux is not multiplied with dt - subroutine adv_tra_ver_upw1(w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_PARTIT - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - end subroutine -!=============================================================================== -! QR (4th order centerd) -! returns flux given at vertical interfaces of scalar volumes -! IF init_zero=.TRUE. : flux will be set to zero before computation -! IF init_zero=.FALSE. : flux=flux-input flux -! flux is not multiplied with dt - subroutine adv_tra_ver_qr4c(w, ttf, partit, mesh, num_ord, flux, init_zero) - use MOD_MESH - use MOD_PARTIT - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: num_ord ! num_ord is the fraction of fourth-order contribution in the solution - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - end subroutine -!=============================================================================== -! Vertical advection with PPM reconstruction (5th order) -! returns flux given at vertical interfaces of scalar volumes -! IF init_zero=.TRUE. : flux will be set to zero before computation -! IF init_zero=.FALSE. : flux=flux-input flux -! flux is not multiplied with dt - subroutine adv_tra_vert_ppm(dt, w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_PARTIT - real(kind=WP), intent(in), target :: dt - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - integer :: n, nz, nl1 - real(kind=WP) :: tvert(mesh%nl), tv - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - end subroutine -! central difference reconstruction (2nd order, use only with FCT) -! returns flux given at vertical interfaces of scalar volumes -! IF init_zero=.TRUE. : flux will be set to zero before computation -! IF init_zero=.FALSE. : flux=flux-input flux -! flux is not multiplied with dt - subroutine adv_tra_ver_cdiff(w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_PARTIT - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - integer :: n, nz, nl1 - real(kind=WP) :: tvert(mesh%nl), tv - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - end subroutine - end interface -end module -!=============================================================================== -subroutine adv_tra_vert_impl(dt, w, ttf, partit, mesh) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - - implicit none - real(kind=WP), intent(in) , target :: dt - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in) , target :: mesh - real(kind=WP), intent(inout) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP) :: a(mesh%nl), b(mesh%nl), c(mesh%nl), tr(mesh%nl) - real(kind=WP) :: cp(mesh%nl), tp(mesh%nl) - integer :: nz, n, nzmax, nzmin, tr_num - real(kind=WP) :: m, zinv, dt_inv, dz - real(kind=WP) :: c1, v_adv - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - dt_inv=1.0_WP/dt - - !___________________________________________________________________________ - ! loop over local nodes - do n=1,myDim_nod2D - - ! initialise - a = 0.0_WP - b = 0.0_WP - c = 0.0_WP - tr = 0.0_WP - tp = 0.0_WP - cp = 0.0_WP - - ! max. number of levels at node n - nzmax=nlevels_nod2D(n) - - ! upper surface index, in case of cavity !=1 - nzmin=ulevels_nod2D(n) - - !___________________________________________________________________________ - ! Here can not exchange zbar_n & Z_n with zbar_3d_n & Z_3d_n because - ! they be calculate from the actualized mesh with hnode_new - ! calculate new zbar (depth of layers) and Z (mid depths of layers) - ! depending on layer thinkness over depth at node n - ! Be carefull here vertical operation have to be done on NEW vertical mesh !!! - zbar_n=0.0_WP - Z_n=0.0_WP - zbar_n(nzmax)=zbar_n_bot(n) - Z_n(nzmax-1) =zbar_n(nzmax) + hnode_new(nzmax-1,n)/2.0_WP - do nz=nzmax-1,nzmin+1,-1 - zbar_n(nz) = zbar_n(nz+1) + hnode_new(nz,n) - Z_n(nz-1) = zbar_n(nz) + hnode_new(nz-1,n)/2.0_WP - end do - zbar_n(nzmin) = zbar_n(nzmin+1) + hnode_new(nzmin,n) - - !_______________________________________________________________________ - ! Regular part of coefficients: --> surface layer - nz=nzmin - - ! 1/dz(nz) - zinv=1.0_WP*dt ! no .../(zbar(1)-zbar(2)) because of ALE - - !!PS a(nz)=0.0_WP - !!PS v_adv=zinv*areasvol(nz+1,n)/areasvol(nz,n) - !!PS b(nz)= hnode_new(nz,n)+W(nz, n)*zinv-min(0._WP, W(nz+1, n))*v_adv - !!PS c(nz)=-max(0._WP, W(nz+1, n))*v_adv - - a(nz)=0.0_WP - v_adv=zinv*area(nz ,n)/areasvol(nz,n) - b(nz)= hnode_new(nz,n)+W(nz, n)*v_adv - - v_adv=zinv*area(nz+1,n)/areasvol(nz,n) - b(nz)= b(nz)-min(0._WP, W(nz+1, n))*v_adv - c(nz)=-max(0._WP, W(nz+1, n))*v_adv - - !_______________________________________________________________________ - ! Regular part of coefficients: --> 2nd...nl-2 layer - do nz=nzmin+1, nzmax-2 - ! update from the vertical advection - v_adv=zinv*area(nz ,n)/areasvol(nz,n) - a(nz)=min(0._WP, W(nz, n))*v_adv - b(nz)=hnode_new(nz,n)+max(0._WP, W(nz, n))*v_adv - - v_adv=zinv*area(nz+1,n)/areasvol(nz,n) - b(nz)=b(nz)-min(0._WP, W(nz+1, n))*v_adv - c(nz)= -max(0._WP, W(nz+1, n))*v_adv - end do ! --> do nz=2, nzmax-2 - - !_______________________________________________________________________ - ! Regular part of coefficients: --> nl-1 layer - nz=nzmax-1 - ! update from the vertical advection - !!PS a(nz)= min(0._WP, W(nz, n))*zinv - !!PS b(nz)=hnode_new(nz,n)+max(0._WP, W(nz, n))*zinv - !!PS c(nz)=0.0_WP - v_adv=zinv*area(nz ,n)/areasvol(nz,n) - a(nz)= min(0._WP, W(nz, n))*v_adv - b(nz)=hnode_new(nz,n)+max(0._WP, W(nz, n))*v_adv - c(nz)=0.0_WP - - !_______________________________________________________________________ - nz=nzmin - dz=hnode_new(nz,n) ! It would be (zbar(nz)-zbar(nz+1)) if not ALE - tr(nz)=-(b(nz)-dz)*ttf(nz,n)-c(nz)*ttf(nz+1,n) - - do nz=nzmin+1,nzmax-2 - dz=hnode_new(nz,n) - tr(nz)=-a(nz)*ttf(nz-1,n)-(b(nz)-dz)*ttf(nz,n)-c(nz)*ttf(nz+1,n) - end do - nz=nzmax-1 - dz=hnode_new(nz,n) - tr(nz)=-a(nz)*ttf(nz-1,n)-(b(nz)-dz)*ttf(nz,n) - - !_______________________________________________________________________ - nz = nzmin - cp(nz) = c(nz)/b(nz) - tp(nz) = tr(nz)/b(nz) - - ! solve for vectors c-prime and t, s-prime - do nz = nzmin+1,nzmax-1 - m = b(nz)-cp(nz-1)*a(nz) - cp(nz) = c(nz)/m - tp(nz) = (tr(nz)-tp(nz-1)*a(nz))/m - end do - - !_______________________________________________________________________ - ! start with back substitution - tr(nzmax-1) = tp(nzmax-1) - - ! solve for x from the vectors c-prime and d-prime - do nz = nzmax-2, nzmin, -1 - tr(nz) = tp(nz)-cp(nz)*tr(nz+1) - end do - - !_______________________________________________________________________ - ! update tracer - do nz=nzmin,nzmax-1 - ttf(nz,n)=ttf(nz,n)+tr(nz) - end do - end do ! --> do n=1,myDim_nod2D -end subroutine adv_tra_vert_impl -! -! -!=============================================================================== -subroutine adv_tra_ver_upw1(w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - - implicit none - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP) :: tvert(mesh%nl) - integer :: n, nz, nzmax, nzmin - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - if (present(init_zero))then - if (init_zero) flux=0.0_WP - else - flux=0.0_WP - end if - - do n=1, myDim_nod2D - !_______________________________________________________________________ - nzmax=nlevels_nod2D(n) - nzmin=ulevels_nod2D(n) - - !_______________________________________________________________________ - ! vert. flux at surface layer - nz=nzmin - flux(nz,n)=-W(nz,n)*ttf(nz,n)*area(nz,n)-flux(nz,n) - - !_______________________________________________________________________ - ! vert. flux at bottom layer --> zero bottom flux - nz=nzmax - flux(nz,n)= 0.0_WP-flux(nz,n) - - !_______________________________________________________________________ - ! Be carefull have to do vertical tracer advection here on old vertical grid - ! also horizontal advection is done on old mesh (see helem contains old - ! mesh information) - !_______________________________________________________________________ - ! vert. flux at remaining levels - do nz=nzmin+1,nzmax-1 - flux(nz,n)=-0.5*( & - ttf(nz ,n)*(W(nz,n)+abs(W(nz,n)))+ & - ttf(nz-1,n)*(W(nz,n)-abs(W(nz,n))))*area(nz,n)-flux(nz,n) - end do - end do -end subroutine adv_tra_ver_upw1 -! -! -!=============================================================================== -subroutine adv_tra_ver_qr4c(w, ttf, partit, mesh, num_ord, flux, init_zero) - use MOD_MESH - use o_ARRAYS - use o_PARAM - use MOD_PARTIT - implicit none - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: num_ord ! num_ord is the fraction of fourth-order contribution in the solution - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - real(kind=WP) :: tvert(mesh%nl) - integer :: n, nz, nzmax, nzmin - real(kind=WP) :: Tmean, Tmean1, Tmean2 - real(kind=WP) :: qc, qu, qd - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - if (present(init_zero))then - if (init_zero) flux=0.0_WP - else - flux=0.0_WP - end if - - do n=1, myDim_nod2D - !_______________________________________________________________________ - nzmax=nlevels_nod2D(n) - nzmin=ulevels_nod2D(n) - !_______________________________________________________________________ - ! vert. flux at surface layer - nz=nzmin - flux(nz,n)=-ttf(nz,n)*W(nz,n)*area(nz,n)-flux(nz,n) - - !_______________________________________________________________________ - ! vert. flux 2nd layer --> centered differences - nz=nzmin+1 - flux(nz,n)=-0.5_WP*(ttf(nz-1,n)+ttf(nz,n))*W(nz,n)*area(nz,n)-flux(nz,n) - - !_______________________________________________________________________ - ! vert. flux at bottom - 1 layer --> centered differences - nz=nzmax-1 - flux(nz,n)=-0.5_WP*(ttf(nz-1,n)+ttf(nz,n))*W(nz,n)*area(nz,n)-flux(nz,n) - - !_______________________________________________________________________ - ! vert. flux at bottom layer --> zero bottom flux - nz=nzmax - flux(nz,n)= 0.0_WP-flux(nz,n) - - !_______________________________________________________________________ - ! Be carefull have to do vertical tracer advection here on old vertical grid - ! also horizontal advection is done on old mesh (see helem contains old - ! mesh information) - !_______________________________________________________________________ - ! vert. flux at remaining levels - do nz=nzmin+2,nzmax-2 - !centered (4th order) - qc=(ttf(nz-1,n)-ttf(nz ,n))/(Z_3d_n(nz-1,n)-Z_3d_n(nz ,n)) - qu=(ttf(nz ,n)-ttf(nz+1,n))/(Z_3d_n(nz ,n)-Z_3d_n(nz+1,n)) - qd=(ttf(nz-2,n)-ttf(nz-1,n))/(Z_3d_n(nz-2,n)-Z_3d_n(nz-1,n)) - - Tmean1=ttf(nz ,n)+(2*qc+qu)*(zbar_3d_n(nz,n)-Z_3d_n(nz ,n))/3.0_WP - Tmean2=ttf(nz-1,n)+(2*qc+qd)*(zbar_3d_n(nz,n)-Z_3d_n(nz-1,n))/3.0_WP - Tmean =(W(nz,n)+abs(W(nz,n)))*Tmean1+(W(nz,n)-abs(W(nz,n)))*Tmean2 - ! flux(nz,n)=-0.5_WP*(num_ord*(Tmean1+Tmean2)*W(nz,n)+(1.0_WP-num_ord)*Tmean)*area(nz,n)-flux(nz,n) - flux(nz,n)=(-0.5_WP*(1.0_WP-num_ord)*Tmean - num_ord*(0.5_WP*(Tmean1+Tmean2))*W(nz,n))*area(nz,n)-flux(nz,n) - end do - end do -end subroutine adv_tra_ver_qr4c -! -! -!=============================================================================== -subroutine adv_tra_vert_ppm(dt, w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - implicit none - real(kind=WP), intent(in), target :: dt - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in) , target :: mesh - real(kind=WP), intent(in) :: ttf (mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - real(kind=WP) :: tvert(mesh%nl), tv(mesh%nl), aL, aR, aj, x - real(kind=WP) :: dzjm1, dzj, dzjp1, dzjp2, deltaj, deltajp1 - integer :: n, nz, nzmax, nzmin - integer :: overshoot_counter, counter - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - if (present(init_zero))then - if (init_zero) flux=0.0_WP - else - flux=0.0_WP - end if - - ! -------------------------------------------------------------------------- - ! Vertical advection - ! -------------------------------------------------------------------------- - ! A piecewise parabolic scheme for uniformly-spaced layers. - ! See Colella and Woodward, JCP, 1984, 174-201. It can be coded so as to to take - ! non-uniformity into account, but this is more cumbersome. This is the version for AB - ! time stepping - ! -------------------------------------------------------------------------- - overshoot_counter=0 - counter =0 - do n=1, myDim_nod2D - !_______________________________________________________________________ - !Interpolate to zbar...depth levels --> all quantities (tracer ...) are - ! calculated on mid depth levels - ! nzmax ... number of depth levels at node n - nzmax=nlevels_nod2D(n) - nzmin=ulevels_nod2D(n) - - ! tracer at surface level - tv(nzmin)=ttf(nzmin,n) - ! tracer at surface+1 level -! tv(2)=-ttf(1,n)*min(sign(1.0, W(2,n)), 0._WP)+ttf(2,n)*max(sign(1.0, W(2,n)), 0._WP) -! tv(3)=-ttf(2,n)*min(sign(1.0, W(3,n)), 0._WP)+ttf(3,n)*max(sign(1.0, W(3,n)), 0._WP) - tv(nzmin+1)=0.5*(ttf(nzmin, n)+ttf(nzmin+1,n)) - ! tacer at bottom-1 level - tv(nzmax-1)=-ttf(nzmax-2,n)*min(sign(1.0_wp, W(nzmax-1,n)), 0._WP)+ttf(nzmax-1,n)*max(sign(1.0_wp, W(nzmax-1,n)), 0._WP) -! tv(nzmax-1)=0.5_WP*(ttf(nzmax-2,n)+ttf(nzmax-1,n)) - ! tracer at bottom level - tv(nzmax)=ttf(nzmax-1,n) - - !_______________________________________________________________________ - ! calc tracer for surface+2 until depth-2 layer - ! see Colella and Woodward, JCP, 1984, 174-201 --> equation (1.9) - ! loop over layers (segments) - !!PS do nz=3, nzmax-3 - do nz=nzmin+1, nzmax-3 - !___________________________________________________________________ - ! for uniform spaced vertical grids --> piecewise parabolic method (ppm) - ! equation (1.9) - ! tv(nz)=(7.0_WP*(ttf(nz-1,n)+ttf(nz,n))-(ttf(nz-2,n)+ttf(nz+1,n)))/12.0_WP - - !___________________________________________________________________ - ! for non-uniformity spaced vertical grids --> piecewise parabolic - ! method (ppm) see see Colella and Woodward, JCP, 1984, 174-201 - ! --> full equation (1.6), (1.7) and (1.8) - dzjm1 = hnode_new(nz-1,n) - dzj = hnode_new(nz ,n) - dzjp1 = hnode_new(nz+1,n) - dzjp2 = hnode_new(nz+2,n) - ! Be carefull here vertical operation have to be done on NEW vertical mesh !!! - - !___________________________________________________________________ - ! equation (1.7) - ! --> Here deltaj is the average slope in the jth zone of the parabola - ! with zone averages a_(j-1) and a_j, a_(j+1) - ! --> a_j^n - deltaj = dzj/(dzjm1+dzj+dzjp1)* & - ( & - (2._WP*dzjm1+dzj )/(dzjp1+dzj)*(ttf(nz+1,n)-ttf(nz ,n)) + & - (dzj +2._WP*dzjp1)/(dzjm1+dzj)*(ttf(nz ,n)-ttf(nz-1,n)) & - ) - ! --> a_(j+1)^n - deltajp1 = dzjp1/(dzj+dzjp1+dzjp2)* & - ( & - (2._WP*dzj+dzjp1 )/(dzjp2+dzjp1)*(ttf(nz+2,n)-ttf(nz+1,n)) + & - (dzjp1+2._WP*dzjp2)/(dzj +dzjp1)*(ttf(nz+1,n)-ttf(nz ,n)) & - ) - !___________________________________________________________________ - ! condition (1.8) - ! --> This modification leads to a somewhat steeper representation of - ! discontinuities in the solution. It also guarantees that a_(j+0.5) - ! lies in the range of values defined by a_j; and a_(j+1); - if ( (ttf(nz+1,n)-ttf(nz ,n))*(ttf(nz ,n)-ttf(nz-1,n)) > 0._WP ) then - deltaj = min( abs(deltaj), & - 2._WP*abs(ttf(nz+1,n)-ttf(nz ,n)),& - 2._WP*abs(ttf(nz ,n)-ttf(nz-1,n)) & - )*sign(1.0_WP,deltaj) - else - deltaj = 0.0_WP - endif - if ( (ttf(nz+2,n)-ttf(nz+1,n))*(ttf(nz+1,n)-ttf(nz ,n)) > 0._WP ) then - deltajp1 = min( abs(deltajp1),& - 2._WP*abs(ttf(nz+2,n)-ttf(nz+1,n)),& - 2._WP*abs(ttf(nz+1,n)-ttf(nz,n)) & - )*sign(1.0_WP,deltajp1) - else - deltajp1 = 0.0_WP - endif - !___________________________________________________________________ - ! equation (1.6) - ! --> calcualte a_(j+0.5) - ! nz+1 is the interface betweel layers (segments) nz and nz+1 - tv(nz+1)= ttf(nz,n) & - + dzj/(dzj+dzjp1)*(ttf(nz+1,n)-ttf(nz,n)) & - + 1._WP/(dzjm1+dzj+dzjp1+dzjp2) * & - ( & - (2._WP*dzjp1*dzj)/(dzj+dzjp1)* & - ((dzjm1+dzj)/(2._WP*dzj+dzjp1) - (dzjp2+dzjp1)/(2._WP*dzjp1+dzj))*(ttf(nz+1,n)-ttf(nz,n)) & - - dzj*(dzjm1+dzj)/(2._WP*dzj+dzjp1)*deltajp1 & - + dzjp1*(dzjp1+dzjp2)/(dzj+2._WP*dzjp1)*deltaj & - ) - !tv(nz+1)=max(min(ttf(nz, n), ttf(nz+1, n)), min(max(ttf(nz, n), ttf(nz+1, n)), tv(nz+1))) - end do ! --> do nz=2,nzmax-3 - - tvert(1:nzmax)=0._WP - ! loop over layers (segments) - do nz=nzmin, nzmax-1 - if ((W(nz,n)<=0._WP) .AND. (W(nz+1,n)>=0._WP)) CYCLE - counter=counter+1 - aL=tv(nz) - aR=tv(nz+1) - if ((aR-ttf(nz, n))*(ttf(nz, n)-aL)<=0._WP) then - ! write(*,*) aL, ttf(nz, n), aR - overshoot_counter=overshoot_counter+1 - aL =ttf(nz, n) - aR =ttf(nz, n) - end if - if ((aR-aL)*(ttf(nz, n)-0.5_WP*(aL+aR))> (aR-aL)**2/6._WP) then - aL =3._WP*ttf(nz, n)-2._WP*aR - end if - if ((aR-aL)*(ttf(nz, n)-0.5_WP*(aR+aL))<-(aR-aL)**2/6._WP) then - aR =3._WP*ttf(nz, n)-2._WP*aL - end if - - dzj = hnode(nz,n) - aj=6.0_WP*(ttf(nz, n)-0.5_WP*(aL+aR)) - - if (W(nz,n)>0._WP) then - x=min(W(nz,n)*dt/dzj, 1._WP) - tvert(nz )=(-aL-0.5_WP*x*(aR-aL+(1._WP-2._WP/3._WP*x)*aj)) - tvert(nz )=tvert(nz) ! compute 2nd moment for DVD - tvert(nz )=tvert(nz)*area(nz,n)*W(nz,n) - end if - - if (W(nz+1,n)<0._WP) then - x=min(-W(nz+1,n)*dt/dzj, 1._WP) - tvert(nz+1)=(-aR+0.5_WP*x*(aR-aL-(1._WP-2._WP/3._WP*x)*aj)) - tvert(nz+1)=tvert(nz+1) ! compute 2nd moment for DVD - tvert(nz+1)=tvert(nz+1)*area(nz+1,n)*W(nz+1,n) - end if - end do - - !_______________________________________________________________________ - ! Surface flux - tvert(nzmin)= -tv(nzmin)*W(nzmin,n)*area(nzmin,n) - ! Zero bottom flux - tvert(nzmax)=0.0_WP - flux(nzmin:nzmax, n)=tvert(nzmin:nzmax)-flux(nzmin:nzmax, n) - end do ! --> do n=1, myDim_nod2D -! if (mype==0) write(*,*) 'PPM overshoot statistics:', real(overshoot_counter)/real(counter) -end subroutine adv_tra_vert_ppm -! -! -!=============================================================================== -subroutine adv_tra_ver_cdiff(w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - implicit none - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - integer :: n, nz, nzmax, nzmin - real(kind=WP) :: tvert(mesh%nl), tv -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - if (present(init_zero))then - if (init_zero) flux=0.0_WP - else - flux=0.0_WP - end if - - do n=1, myDim_nod2D - !_______________________________________________________________________ - nzmax=nlevels_nod2D(n)-1 - nzmin=ulevels_nod2D(n) - - !_______________________________________________________________________ - ! Surface flux - tvert(nzmin)= -W(nzmin,n)*ttf(nzmin,n)*area(nzmin,n) - - !_______________________________________________________________________ - ! Zero bottom flux - tvert(nzmax+1)=0.0_WP - - !_______________________________________________________________________ - ! Other levels - do nz=nzmin+1, nzmax - tv=0.5_WP*(ttf(nz-1,n)+ttf(nz,n)) - tvert(nz)= -tv*W(nz,n)*area(nz,n) - end do - - !_______________________________________________________________________ - flux(nzmin:nzmax, n)=tvert(nzmin:nzmax)-flux(nzmin:nzmax, n) - end do ! --> do n=1, myDim_nod2D -end subroutine adv_tra_ver_cdiff From b36c08e6fd852f1c19e63b51b84acf15ae17c14f Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Wed, 15 Jun 2022 16:43:31 +0200 Subject: [PATCH 020/273] Delete MOD_TRACER 2.F90 --- src/temp/MOD_TRACER 2.F90 | 228 -------------------------------------- 1 file changed, 228 deletions(-) delete mode 100644 src/temp/MOD_TRACER 2.F90 diff --git a/src/temp/MOD_TRACER 2.F90 b/src/temp/MOD_TRACER 2.F90 deleted file mode 100644 index 8e8247830..000000000 --- a/src/temp/MOD_TRACER 2.F90 +++ /dev/null @@ -1,228 +0,0 @@ -!========================================================== -MODULE MOD_TRACER -USE O_PARAM -USE, intrinsic :: ISO_FORTRAN_ENV -USE MOD_WRITE_BINARY_ARRAYS -USE MOD_READ_BINARY_ARRAYS -IMPLICIT NONE -SAVE - -TYPE T_TRACER_DATA -real(kind=WP), allocatable, dimension(:,:) :: values, valuesAB ! instant values & Adams-Bashfort interpolation -logical :: smooth_bh_tra=.false. -real(kind=WP) :: gamma0_tra, gamma1_tra, gamma2_tra -logical :: i_vert_diff =.false. -character(20) :: tra_adv_hor, tra_adv_ver, tra_adv_lim ! type of the advection scheme for this tracer -real(kind=WP) :: tra_adv_ph = 1. ! a parameter to be used in horizontal advection (for MUSCL it is the fraction of fourth-order contribution in the solution) -real(kind=WP) :: tra_adv_pv = 1. ! a parameter to be used in horizontal advection (for QR4C it is the fraction of fourth-order contribution in the solution) -integer :: ID - -contains - procedure WRITE_T_TRACER_DATA - procedure READ_T_TRACER_DATA - generic :: write(unformatted) => WRITE_T_TRACER_DATA - generic :: read(unformatted) => READ_T_TRACER_DATA -END TYPE T_TRACER_DATA - - -TYPE T_TRACER_WORK -!auxuary arrays to work with tracers: -real(kind=WP), allocatable :: del_ttf(:,:) -real(kind=WP), allocatable :: del_ttf_advhoriz(:,:),del_ttf_advvert(:,:) -!_______________________________________________________________________________ -! in case ldiag_DVD=.true. --> calculate discrete variance decay (DVD) -real(kind=WP), allocatable :: tr_dvd_horiz(:,:,:), tr_dvd_vert(:,:,:) -! The fct part -real(kind=WP),allocatable,dimension(:,:) :: fct_LO ! Low-order solution -real(kind=WP),allocatable,dimension(:,:) :: adv_flux_hor ! Antidif. horiz. contrib. from edges / backup for iterafive fct scheme -real(kind=WP),allocatable,dimension(:,:) :: adv_flux_ver ! Antidif. vert. fluxes from nodes / backup for iterafive fct scheme - -real(kind=WP),allocatable,dimension(:,:) :: fct_ttf_max,fct_ttf_min -real(kind=WP),allocatable,dimension(:,:) :: fct_plus,fct_minus -! MUSCL type reconstruction -integer,allocatable,dimension(:) :: nboundary_lay -integer,allocatable,dimension(:,:) :: edge_up_dn_tri -real(kind=WP),allocatable,dimension(:,:,:) :: edge_up_dn_grad - -contains - procedure WRITE_T_TRACER_WORK - procedure READ_T_TRACER_WORK - generic :: write(unformatted) => WRITE_T_TRACER_WORK - generic :: read(unformatted) => READ_T_TRACER_WORK -END TYPE T_TRACER_WORK - -! auxury type for reading namelist.tra -TYPE NML_TRACER_LIST_TYPE - INTEGER :: ID =-1 - CHARACTER(len=4) :: adv_hor ='NONE' - CHARACTER(len=4) :: adv_ver ='NONE' - CHARACTER(len=4) :: adv_lim ='NONE' - REAL(kind=WP) :: adv_ph =1. - REAL(kind=WP) :: adv_pv =1. -END TYPE NML_TRACER_LIST_TYPE - -TYPE T_TRACER -! total number of tracers: -integer :: num_tracers=2 -type(t_tracer_data), allocatable :: data(:) -type(t_tracer_work) :: work -! general options for all tracers (can be moved to T_TRACER is needed) -! bharmonic diffusion for tracers. We recommend to use this option in very high resolution runs (Redi is generally off there). -logical :: smooth_bh_tra = .false. -real(kind=WP) :: gamma0_tra = 0.0005 -real(kind=WP) :: gamma1_tra = 0.0125 -real(kind=WP) :: gamma2_tra = 0. -logical :: i_vert_diff = .true. - -contains -procedure WRITE_T_TRACER -procedure READ_T_TRACER -generic :: write(unformatted) => WRITE_T_TRACER -generic :: read(unformatted) => READ_T_TRACER -END TYPE T_TRACER - -contains - -! Unformatted writing for T_TRACER_DATA -subroutine WRITE_T_TRACER_DATA(tdata, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER_DATA), intent(in) :: tdata - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - call write_bin_array(tdata%values, unit, iostat, iomsg) - call write_bin_array(tdata%valuesAB, unit, iostat, iomsg) - write(unit, iostat=iostat, iomsg=iomsg) tdata%smooth_bh_tra - write(unit, iostat=iostat, iomsg=iomsg) tdata%gamma0_tra - write(unit, iostat=iostat, iomsg=iomsg) tdata%gamma1_tra - write(unit, iostat=iostat, iomsg=iomsg) tdata%gamma2_tra - write(unit, iostat=iostat, iomsg=iomsg) tdata%i_vert_diff - write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_hor - write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ver - write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_lim - write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ph - write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_pv - write(unit, iostat=iostat, iomsg=iomsg) tdata%ID -end subroutine WRITE_T_TRACER_DATA - -! Unformatted reading for T_TRACER_DATA -subroutine READ_T_TRACER_DATA(tdata, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER_DATA), intent(inout) :: tdata - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - call read_bin_array(tdata%values, unit, iostat, iomsg) - call read_bin_array(tdata%valuesAB, unit, iostat, iomsg) - read(unit, iostat=iostat, iomsg=iomsg) tdata%smooth_bh_tra - read(unit, iostat=iostat, iomsg=iomsg) tdata%gamma0_tra - read(unit, iostat=iostat, iomsg=iomsg) tdata%gamma1_tra - read(unit, iostat=iostat, iomsg=iomsg) tdata%gamma2_tra - read(unit, iostat=iostat, iomsg=iomsg) tdata%i_vert_diff - read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_hor - read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ver - read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_lim - read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ph - read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_pv - read(unit, iostat=iostat, iomsg=iomsg) tdata%ID -end subroutine READ_T_TRACER_DATA - -! Unformatted writing for T_TRACER_WORK -subroutine WRITE_T_TRACER_WORK(twork, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER_WORK), intent(in) :: twork - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - call write_bin_array(twork%del_ttf, unit, iostat, iomsg) - call write_bin_array(twork%del_ttf_advhoriz, unit, iostat, iomsg) - call write_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) - call write_bin_array(twork%tr_dvd_horiz, unit, iostat, iomsg) - call write_bin_array(twork%tr_dvd_vert, unit, iostat, iomsg) - call write_bin_array(twork%fct_LO, unit, iostat, iomsg) - call write_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) - call write_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) - call write_bin_array(twork%fct_ttf_max, unit, iostat, iomsg) - call write_bin_array(twork%fct_ttf_min, unit, iostat, iomsg) - call write_bin_array(twork%fct_plus, unit, iostat, iomsg) - call write_bin_array(twork%fct_minus, unit, iostat, iomsg) - call write_bin_array(twork%nboundary_lay, unit, iostat, iomsg) - call write_bin_array(twork%edge_up_dn_tri, unit, iostat, iomsg) - call write_bin_array(twork%edge_up_dn_grad, unit, iostat, iomsg) -end subroutine WRITE_T_TRACER_WORK - -! Unformatted reading for T_TRACER_WORK -subroutine READ_T_TRACER_WORK(twork, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER_WORK), intent(inout) :: twork - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - call read_bin_array(twork%del_ttf, unit, iostat, iomsg) - call read_bin_array(twork%del_ttf_advhoriz, unit, iostat, iomsg) - call read_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) - call read_bin_array(twork%tr_dvd_horiz, unit, iostat, iomsg) - call read_bin_array(twork%tr_dvd_vert, unit, iostat, iomsg) - call read_bin_array(twork%fct_LO, unit, iostat, iomsg) - call read_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) - call read_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) - call read_bin_array(twork%fct_ttf_max, unit, iostat, iomsg) - call read_bin_array(twork%fct_ttf_min, unit, iostat, iomsg) - call read_bin_array(twork%fct_plus, unit, iostat, iomsg) - call read_bin_array(twork%fct_minus, unit, iostat, iomsg) - call read_bin_array(twork%nboundary_lay, unit, iostat, iomsg) - call read_bin_array(twork%edge_up_dn_tri, unit, iostat, iomsg) - call read_bin_array(twork%edge_up_dn_grad, unit, iostat, iomsg) -end subroutine READ_T_TRACER_WORK - -! Unformatted writing for T_TRACER -subroutine WRITE_T_TRACER(tracer, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER), intent(in) :: tracer - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: i - - write(unit, iostat=iostat, iomsg=iomsg) tracer%num_tracers - do i=1, tracer%num_tracers - write(unit, iostat=iostat, iomsg=iomsg) tracer%data(i) - end do - write(unit, iostat=iostat, iomsg=iomsg) tracer%work - write(unit, iostat=iostat, iomsg=iomsg) tracer%smooth_bh_tra - write(unit, iostat=iostat, iomsg=iomsg) tracer%gamma0_tra - write(unit, iostat=iostat, iomsg=iomsg) tracer%gamma1_tra - write(unit, iostat=iostat, iomsg=iomsg) tracer%gamma2_tra - write(unit, iostat=iostat, iomsg=iomsg) tracer%i_vert_diff -end subroutine WRITE_T_TRACER - -! Unformatted reading for T_TRACER -subroutine READ_T_TRACER(tracer, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER), intent(inout) :: tracer - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: i - - read(unit, iostat=iostat, iomsg=iomsg) tracer%num_tracers -! write(*,*) 'number of tracers to read: ', tracer%num_tracers - allocate(tracer%data(tracer%num_tracers)) - do i=1, tracer%num_tracers - read(unit, iostat=iostat, iomsg=iomsg) tracer%data(i) -! write(*,*) 'tracer info:', tracer%data(i)%ID, TRIM(tracer%data(i)%tra_adv_hor), TRIM(tracer%data(i)%tra_adv_ver), TRIM(tracer%data(i)%tra_adv_lim) - end do - read(unit, iostat=iostat, iomsg=iomsg) tracer%work - read(unit, iostat=iostat, iomsg=iomsg) tracer%smooth_bh_tra - read(unit, iostat=iostat, iomsg=iomsg) tracer%gamma0_tra - read(unit, iostat=iostat, iomsg=iomsg) tracer%gamma1_tra - read(unit, iostat=iostat, iomsg=iomsg) tracer%gamma2_tra - read(unit, iostat=iostat, iomsg=iomsg) tracer%i_vert_diff -end subroutine READ_T_TRACER -end module MOD_TRACER -!========================================================== - From d15b96ead5c9f48f516ae7e4ef2e5377d18ca867 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Wed, 15 Jun 2022 16:48:00 +0200 Subject: [PATCH 021/273] cleanup: removes print debugging in io_mesh_info --- src/io_mesh_info.F90 | 45 +++++++++++++++++++------------------------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/src/io_mesh_info.F90 b/src/io_mesh_info.F90 index 5a2712855..1a99f6ea5 100644 --- a/src/io_mesh_info.F90 +++ b/src/io_mesh_info.F90 @@ -318,45 +318,41 @@ subroutine write_mesh_info(partit, mesh) call my_def_var(ncid, 'gradient_sca_x', NF_DOUBLE, 2, (/elem_n_id, id_3/), gradient_sca_x_id, 'x component of a gradient at nodes of an element', partit) call my_def_var(ncid, 'gradient_sca_y', NF_DOUBLE, 2, (/elem_n_id, id_3/), gradient_sca_y_id, 'y component of a gradient at nodes of an element', partit) call my_nf_enddef(ncid, partit) - WRITE(*,*) 'DEBUG(PG): Finished with defining variables' - WRITE(*,*) 'DEBUG(PG): Writing data' ! NOTE(PG): Same order as definition! ! NOTE(PG): We invert the sign of ``zbar`` here to conform with CF-Conventions ! https://cfconventions.org/cf-conventions/cf-conventions.html#vertical-coordinate - WRITE(*,*) "nz" call my_put_vara(ncid, zbar_id, 1, nl, -zbar, partit) ! NOTE(PG): We invert the sign of ``Z`` here to conform with CF-Conventions ! https://cfconventions.org/cf-conventions/cf-conventions.html#vertical-coordinate - WRITE(*,*) "nz1" call my_put_vara(ncid, z_id, 1, nl-1, -Z, partit) - WRITE(*,*) "elem_area" + ! WRITE(*,*) "elem_area" allocate(rbuffer(elem2D)) call gather_elem(elem_area(1:myDim_elem2D), rbuffer, partit) call my_put_vara(ncid, elem_area_id, 1, elem2D, rbuffer, partit) deallocate(rbuffer) - WRITE(*,*) "nlevels_nod2D" + ! WRITE(*,*) "nlevels_nod2D" allocate(ibuffer(nod2D)) call gather_nod(nlevels_nod2D(1:myDim_nod2D), ibuffer, partit) call my_put_vara(ncid, nlevels_nod2D_id, 1, nod2D, ibuffer, partit) deallocate(ibuffer) - WRITE(*,*) "nlevels" + ! WRITE(*,*) "nlevels" allocate(ibuffer(elem2D)) call gather_elem(nlevels(1:myDim_elem2D), ibuffer, partit) call my_put_vara(ncid, nlevels_id, 1, elem2D, ibuffer, partit) deallocate(ibuffer) - WRITE(*,*) "nod_in_elem2D_num" + ! WRITE(*,*) "nod_in_elem2D_num" allocate(ibuffer(nod2D)) call gather_nod(nod_in_elem2D_num(1:myDim_nod2D), ibuffer, partit) call my_put_vara(ncid, nod_in_elem2D_num_id, 1, nod2D, ibuffer, partit) deallocate(ibuffer) - WRITE(*,*) "nod_part" + ! WRITE(*,*) "nod_part" allocate(ibuffer(nod2D)) allocate(lbuffer(myDim_nod2D)) lbuffer=mype @@ -364,7 +360,7 @@ subroutine write_mesh_info(partit, mesh) call my_put_vara(ncid, nod_part_id, 1, nod2D, ibuffer, partit) deallocate(lbuffer, ibuffer) - WRITE(*,*) "elem_part" + ! WRITE(*,*) "elem_part" allocate(ibuffer(elem2D)) allocate(lbuffer(myDim_elem2D)) lbuffer=mype @@ -372,19 +368,19 @@ subroutine write_mesh_info(partit, mesh) call my_put_vara(ncid, elem_part_id, 1, elem2D, ibuffer, partit) deallocate(lbuffer, ibuffer) - WRITE(*,*) "zbar_e_bottom" + ! WRITE(*,*) "zbar_e_bottom" allocate(rbuffer(elem2D)) call gather_elem(zbar_e_bot(1:myDim_elem2D), rbuffer, partit) call my_put_vara(ncid, zbar_e_bot_id, 1, elem2D, rbuffer, partit) deallocate(rbuffer) - WRITE(*,*) "zbar_n_bottom" + ! WRITE(*,*) "zbar_n_bottom" allocate(rbuffer(nod2D)) call gather_nod(zbar_n_bot(1:myDim_nod2D), rbuffer, partit) call my_put_vara(ncid, zbar_n_bot_id, 1, nod2D, rbuffer, partit) deallocate(rbuffer) - WRITE(*,*) "lon and lat" + ! WRITE(*,*) "lon and lat" ! nodes (GEO coordinates) allocate(rbuffer(nod2D)) do i=1, 2 @@ -398,7 +394,7 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(rbuffer) - WRITE(*,*) "nod_area" + ! WRITE(*,*) "nod_area" allocate(rbuffer(nod2D)) do k=1, nl call gather_nod(area(k, :), rbuffer, partit) @@ -406,7 +402,7 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(rbuffer) - WRITE(*,*) "face_nodes" + ! WRITE(*,*) "face_nodes" ! used to be called: elements allocate(ibuffer(elem2D)) allocate(lbuffer(myDim_elem2D)) @@ -419,7 +415,7 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(lbuffer, ibuffer) - WRITE(*,*) "edge_nodes" + ! WRITE(*,*) "edge_nodes" ! This used to be called "edges" before UGRID Change allocate(ibuffer(edge2D)) allocate(lbuffer(myDim_edge2D)) @@ -432,7 +428,7 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(lbuffer, ibuffer) - WRITE(*,*) "face_edges" + ! WRITE(*,*) "face_edges" ! This used to be called elem_edge allocate(ibuffer(elem2D)) do i=1, 3 @@ -441,14 +437,13 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(ibuffer) - WRITE(*,*) "face_links" + ! WRITE(*,*) "face_links" ! This used to be called elem_neighbors allocate(lbuffer(myDim_elem2D), ibuffer(elem2D)) do i=1, 3 lbuffer(1:myDim_elem2D) = elem_neighbors(i, 1:myDim_elem2D) !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(k) do k=1, myDim_elem2D - !WRITE(*,*) "k = ", k if (elem_neighbors(i, k) > 0) then lbuffer(k) = elem_neighbors(i, k) else @@ -461,7 +456,7 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(lbuffer, ibuffer) - WRITE(*,*) "edge_face_links" + ! WRITE(*,*) "edge_face_links" ! Used to be called edge_tri allocate(ibuffer(edge2D)) allocate(lbuffer(myDim_edge2D)) @@ -480,7 +475,7 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(lbuffer, ibuffer) - WRITE(*,*) "nod_in_elem2D" + ! WRITE(*,*) "nod_in_elem2D" ! elements containing the node allocate(ibuffer(nod2D)) allocate(lbuffer(myDim_nod2D)) @@ -499,7 +494,7 @@ subroutine write_mesh_info(partit, mesh) deallocate(lbuffer, ibuffer) - WRITE(*,*) "edge_cross_dxdy" + ! WRITE(*,*) "edge_cross_dxdy" allocate(rbuffer(edge2D)) allocate(lrbuffer(myDim_edge2D)) do i=1, 4 @@ -509,7 +504,7 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(rbuffer, lrbuffer) - WRITE(*,*) "gradient_sca_x" + ! WRITE(*,*) "gradient_sca_x" ! X component of gadient at elements allocate(rbuffer(elem2D)) do i=1, 3 @@ -518,7 +513,7 @@ subroutine write_mesh_info(partit, mesh) end do deallocate(rbuffer) - WRITE(*,*) "gradient_sca_y" + ! WRITE(*,*) "gradient_sca_y" ! Y component of gadient at elements allocate(rbuffer(elem2D)) do i=1, 3 @@ -673,7 +668,6 @@ subroutine my_def_var(ncid, short_name, vtype, dsize, dids, id, att_text, partit integer, intent(in), optional :: missing_value integer, intent(in), optional :: start_index -WRITE(*,*) 'DEBUG(PG): my_def_var: short_name=', short_name, " varid=", id if (partit%mype==0) then status = nf_def_var(ncid, trim(short_name), vtype, dsize, dids, id) @@ -756,7 +750,6 @@ subroutine my_put_vara_double_1D(ncid, varid, start, N, var, partit) real(kind=WP) :: var(:) integer :: ierror, status - ! WRITE(*,*) 'DEBUG(PG): my_put_vara_double_1D:', varid if (partit%mype==0) status=nf_put_vara_double(ncid, varid, start, N, var) call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) From 7670021cdcc9880586601ad957d976287685f1cf Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Wed, 7 Sep 2022 14:58:35 +0200 Subject: [PATCH 022/273] refactor: changes dimension names back to standard --- src/io_meandata.F90 | 4 ++-- src/io_mesh_info.F90 | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 2d9248b6b..d6b4e122d 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -568,9 +568,9 @@ function mesh_dimname_from_dimsize(size, partit, mesh) result(name) character(50) :: name if (size==mesh%nod2D) then - name='nnode' + name='nod2' elseif (size==mesh%elem2D) then - name='nface' + name='elem' elseif (size==mesh%nl) then name='nz' elseif (size==mesh%nl-1) then diff --git a/src/io_mesh_info.F90 b/src/io_mesh_info.F90 index 1a99f6ea5..17e566ec0 100644 --- a/src/io_mesh_info.F90 +++ b/src/io_mesh_info.F90 @@ -67,9 +67,9 @@ subroutine write_mesh_info(partit, mesh) ! https://tinyurl.com/43z4m6cd ! ! Define the dimensions - call my_def_dim(ncid, 'nnode', nod2D, nod_n_id, partit) - call my_def_dim(ncid, 'nedge', edge2D, edge_n_id, partit) - call my_def_dim(ncid, 'nface', elem2D, elem_n_id, partit) + call my_def_dim(ncid, 'nod2', nod2D, nod_n_id, partit) + call my_def_dim(ncid, 'edg_n', edge2D, edge_n_id, partit) + call my_def_dim(ncid, 'elem', elem2D, elem_n_id, partit) call my_def_dim(ncid, 'nz', nl, nl_id, partit) call my_def_dim(ncid, 'nz1', nl-1, nl1_id, partit) call my_def_dim(ncid, 'n2', 2, id_2, partit) From 840a67616a95b9194dd119df9cc3f682940e8202 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Wed, 7 Sep 2022 15:15:12 +0200 Subject: [PATCH 023/273] fix: forgot to rename the variables in the ugrid metadata --- src/io_mesh_info.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io_mesh_info.F90 b/src/io_mesh_info.F90 index 17e566ec0..312d76508 100644 --- a/src/io_mesh_info.F90 +++ b/src/io_mesh_info.F90 @@ -609,7 +609,7 @@ subroutine add_fesom_ugrid_info(ncid, partit) if (status .ne. nf_noerr) call handle_err(status, partit) if (partit%mype==0) then - status = nf_put_att_text(ncid, fesom_mesh_id, 'face_dimension', len_trim('nface') , trim('nface')); + status = nf_put_att_text(ncid, fesom_mesh_id, 'face_dimension', len_trim('elem') , trim('elem')); end if call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) @@ -621,7 +621,7 @@ subroutine add_fesom_ugrid_info(ncid, partit) if (status .ne. nf_noerr) call handle_err(status, partit) if (partit%mype==0) then - status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_dimension', len_trim('nedge'), trim('nedge')); + status = nf_put_att_text(ncid, fesom_mesh_id, 'edge_dimension', len_trim('edg_n'), trim('edg_n')); end if call MPI_BCast(status, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) if (status .ne. nf_noerr) call handle_err(status, partit) From ae19199f7b21b42411c7b51d74b02926e720c8c5 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 8 Nov 2022 15:29:52 +0100 Subject: [PATCH 024/273] make sure when we cutoff a_ice=0.0 that we also cutoff m_ice and m_snow --- src/ice_thermo_oce.F90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ice_thermo_oce.F90 b/src/ice_thermo_oce.F90 index 6cfdd0641..2303d2563 100755 --- a/src/ice_thermo_oce.F90 +++ b/src/ice_thermo_oce.F90 @@ -100,20 +100,20 @@ subroutine cut_off(ice, partit, mesh) if (a_ice(n) > 1.0_WP) a_ice(n)=1.0_WP ! upper cutoff: a_ice if (a_ice(n) < .1e-8_WP) then - a_ice(n)=0.0_WP -#if defined (__oifs) || defined (__ifsinterface) + a_ice(n) =0.0_WP m_ice(n) =0.0_WP m_snow(n) =0.0_WP +#if defined (__oifs) || defined (__ifsinterface) ice_temp(n)=273.15_WP #endif /* (__oifs) */ end if !___________________________________________________________________________ ! lower cutoff: m_ice if (m_ice(n) < .1e-8_WP) then - m_ice(n)=0.0_WP -#if defined (__oifs) || defined (__ifsinterface) + m_ice(n) =0.0_WP m_snow(n) =0.0_WP a_ice(n) =0.0_WP +#if defined (__oifs) || defined (__ifsinterface) ice_temp(n)=273.15_WP #endif /* (__oifs) */ end if From 9213bca0ab94fca5c27302a213ede8afab9d8c71 Mon Sep 17 00:00:00 2001 From: Patrick Scholz Date: Wed, 10 May 2023 11:01:51 +0200 Subject: [PATCH 025/273] add fortran file for ssh split explicite subcycling --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/oce_ale_ssh_splitexpl_subcycl.F90 diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 new file mode 100644 index 000000000..e69de29bb From 8210cc572b89d0d3724c0118f3775a59228eaf63 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 10 May 2023 14:17:08 +0200 Subject: [PATCH 026/273] add additional variables for split-explicite ssh subcycling computation --- src/MOD_DYN.F90 | 27 ++++++++++++++++++++++-- src/oce_setup_step.F90 | 47 +++++++++++++++++++++++++++--------------- 2 files changed, 55 insertions(+), 19 deletions(-) diff --git a/src/MOD_DYN.F90 b/src/MOD_DYN.F90 index 67e780a18..5c3f05356 100644 --- a/src/MOD_DYN.F90 +++ b/src/MOD_DYN.F90 @@ -49,7 +49,7 @@ MODULE MOD_DYN ! set main structure for dynamicss, contains viscosity options and parameters + ! option for momentum advection TYPE T_DYN -!___________________________________________________________________________ + !___________________________________________________________________________ ! instant zonal merdional velocity & Adams-Bashfort rhs real(kind=WP), allocatable, dimension(:,:,:):: uv, uv_rhs, uv_rhsAB, fer_uv @@ -62,6 +62,19 @@ MODULE MOD_DYN ! sea surface height arrays real(kind=WP), allocatable, dimension(:) :: eta_n, d_eta, ssh_rhs, ssh_rhs_old + !___arrays for split explicite ssh computation______________________________ + ! se_uvh...transport velocity, + real(kind=WP), allocatable, dimension(:,:,:):: se_uvh + !se_uv_rhs...vertical integral of transport velocity rhs, se_uvh_BT4AB... + ! barotropic transport velocities (vertically integrated), contains actual + ! timestep (1:2) and previous timestep (3:4) for adams-bashfort interpolation + real(kind=WP), allocatable, dimension(:,:) :: se_uvh_rhs, se_uvh_BT4AB + + ! se_uvBT...barotropic trnasport velocities from barotropic time stepping + ! se_uvBT_theta...velocities for dissipative time stepping of thickness equation + ! UBTmean_mean... Mean BT velocity to trim 3D velocity in tracers + real(kind=WP), allocatable, dimension(:,:) :: se_uvBT, se_uvBT_theta, se_uvBT_mean + !___________________________________________________________________________ ! summarizes solver input parameter type(t_solverinfo) :: solverinfo @@ -100,7 +113,17 @@ MODULE MOD_DYN logical :: use_wsplit = .false. ! maximum allowed CFL criteria in vertical (0.5 < w_max_cfl < 1.) ! in older FESOM it used to be w_exp_max=1.e-3 - real(kind=WP) :: wsplit_maxcfl= 1.0 + real(kind=WP) :: wsplit_maxcfl = 1.0 + + ! switch between ssh computation, by solver or split explicite subcycling + ! use_ssh_splitexpl_subcycl = .false. --> solver + ! use_ssh_splitexpl_subcycl = .true. --> split explicite subcycling + logical :: use_ssh_splitexpl_subcycl = .false. + + ! barotropic subcycling time-steps + integer :: splitexpl_BTsteps = 40 + + !___________________________________________________________________________ ! energy diagnostic part: will be computed inside the model ("hard integration"): logical :: ldiag_ke = .true. ! different contributions to velocity change. will be computed inside the code. diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index c8eb89913..773fa2672 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -393,7 +393,8 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) real(kind=WP) :: wsplit_maxcfl namelist /dynamics_visc / opt_visc, visc_gamma0, visc_gamma1, visc_gamma2, & use_ivertvisc, visc_easybsreturn - namelist /dynamics_general/ momadv_opt, use_freeslip, use_wsplit, wsplit_maxcfl, ldiag_KE + namelist /dynamics_general/ momadv_opt, use_freeslip, use_wsplit, wsplit_maxcfl, & + ldiag_KE, use_ssh_splitexpl_subcycl !___________________________________________________________________________ ! pointer on necessary derived types #include "associate_part_def.h" @@ -417,17 +418,18 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) !___________________________________________________________________________ ! set parameters in derived type - dynamics%opt_visc = opt_visc - dynamics%visc_gamma0 = visc_gamma0 - dynamics%visc_gamma1 = visc_gamma1 - dynamics%visc_gamma2 = visc_gamma2 - dynamics%visc_easybsreturn = visc_easybsreturn - dynamics%use_ivertvisc = use_ivertvisc - dynamics%momadv_opt = momadv_opt - dynamics%use_freeslip = use_freeslip - dynamics%use_wsplit = use_wsplit - dynamics%wsplit_maxcfl = wsplit_maxcfl - dynamics%ldiag_KE = ldiag_KE + dynamics%opt_visc = opt_visc + dynamics%visc_gamma0 = visc_gamma0 + dynamics%visc_gamma1 = visc_gamma1 + dynamics%visc_gamma2 = visc_gamma2 + dynamics%visc_easybsreturn = visc_easybsreturn + dynamics%use_ivertvisc = use_ivertvisc + dynamics%momadv_opt = momadv_opt + dynamics%use_freeslip = use_freeslip + dynamics%use_wsplit = use_wsplit + dynamics%wsplit_maxcfl = wsplit_maxcfl + dynamics%ldiag_KE = ldiag_KE + dynamics%use_ssh_splitexpl_subcycl = use_ssh_splitexpl_subcycl !___________________________________________________________________________ ! define local vertice & elem array size elem_size=myDim_elem2D+eDim_elem2D @@ -469,14 +471,25 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) !___________________________________________________________________________ ! allocate/initialise ssh arrays in derived type allocate(dynamics%eta_n( node_size)) - allocate(dynamics%d_eta( node_size)) - allocate(dynamics%ssh_rhs( node_size)) dynamics%eta_n = 0.0_WP - dynamics%d_eta = 0.0_WP - dynamics%ssh_rhs = 0.0_WP + !!PS allocate(dynamics%ssh_rhs_old(node_size)) !!PS dynamics%ssh_rhs_old= 0.0_WP - + + if (dynamics%use_ssh_splitexpl_subcycl) then + allocate(dynamics%se_uvh( 2, nl-1, elem_size)) + allocate(dynamics%se_uvh_rhs( 2, elem_size)) + allocate(dynamics%se_uvh_BT4AB(4, elem_size)) + dynamics%se_uvh = 0.0_WP + dynamics%se_uvh_rhs = 0.0_WP + dynamics%se_uvh_BT4AB = 0.0_WP + else + allocate(dynamics%d_eta( node_size)) + allocate(dynamics%ssh_rhs( node_size)) + dynamics%d_eta = 0.0_WP + dynamics%ssh_rhs = 0.0_WP + end if + !___________________________________________________________________________ ! inititalise working arrays allocate(dynamics%work%uvnode_rhs(2, nl-1, node_size)) From f4cc3d1937e3eb20e483019ba491f0bf7da9099d Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 10 May 2023 14:50:17 +0200 Subject: [PATCH 027/273] add additional variables for split-explicite ssh subcycling computation --- src/MOD_DYN.F90 | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/MOD_DYN.F90 b/src/MOD_DYN.F90 index 5c3f05356..da5c1bded 100644 --- a/src/MOD_DYN.F90 +++ b/src/MOD_DYN.F90 @@ -253,7 +253,8 @@ subroutine WRITE_T_DYN(dynamics, unit, iostat, iomsg) write(unit, iostat=iostat, iomsg=iomsg) dynamics%use_freeslip write(unit, iostat=iostat, iomsg=iomsg) dynamics%use_wsplit write(unit, iostat=iostat, iomsg=iomsg) dynamics%wsplit_maxcfl - + write(unit, iostat=iostat, iomsg=iomsg) dynamics%use_ssh_splitexpl_subcycl + !___________________________________________________________________________ call dynamics%solverinfo%WRITE_T_SOLVERINFO(unit) @@ -273,6 +274,14 @@ subroutine WRITE_T_DYN(dynamics, unit, iostat, iomsg) call write_bin_array(dynamics%fer_w , unit, iostat, iomsg) call write_bin_array(dynamics%fer_uv, unit, iostat, iomsg) end if + if (dynamics%use_ssh_splitexpl_subcycl) then + call write_bin_array(dynamics%se_uvh , unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvh_rhs , unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvh_BT4AB , unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvBT , unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvBT_theta, unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvBT_mean , unit, iostat, iomsg) + end if end subroutine WRITE_T_DYN @@ -299,6 +308,7 @@ subroutine READ_T_DYN(dynamics, unit, iostat, iomsg) read(unit, iostat=iostat, iomsg=iomsg) dynamics%use_freeslip read(unit, iostat=iostat, iomsg=iomsg) dynamics%use_wsplit read(unit, iostat=iostat, iomsg=iomsg) dynamics%wsplit_maxcfl + read(unit, iostat=iostat, iomsg=iomsg) dynamics%use_ssh_splitexpl_subcycl !___________________________________________________________________________ call dynamics%solverinfo%READ_T_SOLVERINFO(unit) @@ -319,6 +329,14 @@ subroutine READ_T_DYN(dynamics, unit, iostat, iomsg) call read_bin_array(dynamics%fer_w , unit, iostat, iomsg) call read_bin_array(dynamics%fer_uv , unit, iostat, iomsg) end if + if (dynamics%use_ssh_splitexpl_subcycl) then + call read_bin_array(dynamics%se_uvh , unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvh_rhs , unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvh_BT4AB , unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvBT , unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvBT_theta, unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvBT_mean , unit, iostat, iomsg) + end if end subroutine READ_T_DYN From 1d781cae61939e6feacdcd942a88104e5e05f904 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 12 May 2023 10:44:08 +0200 Subject: [PATCH 028/273] improve flag for use_ssh_splitexpl_subcycl=.false. --- src/oce_setup_step.F90 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 773fa2672..4aaf5c6b6 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -391,6 +391,7 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) logical :: use_wsplit =.false. logical :: ldiag_KE =.false. real(kind=WP) :: wsplit_maxcfl + logical :: use_ssh_splitexpl_subcycl=.false. namelist /dynamics_visc / opt_visc, visc_gamma0, visc_gamma1, visc_gamma2, & use_ivertvisc, visc_easybsreturn namelist /dynamics_general/ momadv_opt, use_freeslip, use_wsplit, wsplit_maxcfl, & @@ -486,8 +487,8 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) else allocate(dynamics%d_eta( node_size)) allocate(dynamics%ssh_rhs( node_size)) - dynamics%d_eta = 0.0_WP - dynamics%ssh_rhs = 0.0_WP + dynamics%d_eta = 0.0_WP + dynamics%ssh_rhs = 0.0_WP end if !___________________________________________________________________________ From 8f7e0fdffc624e1b37efee7c252fc309c63d467e Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 12 May 2023 10:45:26 +0200 Subject: [PATCH 029/273] add subroutine momentum_adv_scalar_4splitexpl for momentum advection when split-explicite scheme is used --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 433 ++++++++++++++++++++++++++ 1 file changed, 433 insertions(+) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index e69de29bb..9bafb91e1 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -0,0 +1,433 @@ +module momentum_adv_scalar_4splitexpl_interface + interface + subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + end subroutine + end interface +end module + +! +! +!_______________________________________________________________________________ +! Transports are used instead of velocities, Urhs, Vrhs are also for transports. +subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + use MOD_DYN + USE o_PARAM + use g_comm_auto + IMPLICIT NONE + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + !___________________________________________________________________________ + integer :: node, elem, ed, nz + integer :: nl1, ul1, nl2, ul2, nl12, ul12 + real(kind=WP) :: uv12, uv1, uv2, qc, qu, qd, num_ord=0.95_WP + integer :: ednodes(2), edelem(2) + real(kind=WP) :: dx1, dy1, dx2, dy2, uu, vv + real(kind=WP) :: wu(mesh%nl), wv(mesh%nl), un1(mesh%nl), un2(mesh%nl) + + !___________________________________________________________________________ + ! pointer on necessary derived types + real(kind=WP), dimension(:,:,:), pointer :: UV, UV_rhsAB, UVnode_rhs, UVnode, UVh + real(kind=WP), dimension(:,:) , pointer :: Wvel_e +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + UV =>dynamics%uv(:,:,:) + UV_rhsAB =>dynamics%uv_rhsAB(:,:,:) + UVnode_rhs=>dynamics%work%uvnode_rhs(:,:,:) + UVnode =>dynamics%uvnode(:,:,:) + Wvel_e =>dynamics%w_e(:,:) + UVh =>dynamics%se_uvh(:,:,:) + !___________________________________________________________________________ + ! 1st. compute vertical momentum advection component: w * du/dz, w*dv/dz +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(node, elem, ed, nz, nl1, ul1, nl2, ul2, nl12, ul12, & +!$OMP uv1, uv2, uv12, qc, qu, qd, wu, wv, & +!$OMP ednodes, edelem, dx1, dy1, dx2, dy2, un, uu, vv) + +!$OMP DO + do node=1, myDim_nod2D + nl1 = nlevels_nod2D(node) + ul1 = ulevels_nod2D(node) + + !_______________________________________________________________________ + ! surface + nz=ul1 + wu(nz)=UVnode(1, nz, node)*Wvel_e(nz, node)*area(nz, node) + wv(nz)=UVnode(2, nz, node)*Wvel_e(nz, node)*area(nz, node) + + !_______________________________________________________________________ + ! subsurface --> centered 2nd order + nz=ul1+1 ! Central differences at the second and last but one levels + wu(nz)=0.5_WP*(UVnode(1, nz, node)+UVnode(1, nz-1, node))*Wvel_e(nz, node)*area(nz, node) + wv(nz)=0.5_WP*(UVnode(2, nz, node)+UVnode(2, nz-1, node))*Wvel_e(nz, node)*area(nz, node) + + !_______________________________________________________________________ + ! bulk --> centered 4th order (num_ord=1), upwind 3rd order (num_ord=0) + do nz=ul1+2, nl1-2 + qc = (UVnode(1, nz-1, node)-UVnode(1, nz , node))/(hnode(nz-1, node)+hnode(nz , node)) ! factor 2 is accounted for later + qu = (UVnode(1, nz , node)-UVnode(1, nz+1, node))/(hnode(nz , node)+hnode(nz+1, node)) + qd = (UVnode(1, nz-2, node)-UVnode(1, nz-1, node))/(hnode(nz-2, node)+hnode(nz-1, node)) + + uv1 = UVnode(1, nz , node)+(2*qc+qu)*hnode(nz , node)/6.0_WP ! Gradient reconstruction 2(2qc+qu)(h/2)(1/6) + uv2 = UVnode(1, nz-1, node)-(2*qc+qd)*hnode(nz-1, node)/6.0_WP + uv12 = (Wvel_e(nz, node)+abs(Wvel_e(nz, node)))*uv1+ & + (Wvel_e(nz, node)-abs(Wvel_e(nz, node)))*uv2 + wu(nz)=0.5_WP*(num_ord*(uv1+uv2)*Wvel_e(nz, node)+(1.0_WP-num_ord)*uv12)*area(nz, node) + + qc = (UVnode(2, nz-1, node)-UVnode(2, nz , node))/(hnode(nz-1, node)+hnode(nz , node)) + qu = (UVnode(2, nz , node)-UVnode(2, nz+1, node))/(hnode(nz , node)+hnode(nz+1, node)) + qd = (UVnode(2, nz-2, node)-UVnode(2, nz-1, node))/(hnode(nz-2, node)+hnode(nz-1, node)) + + uv1 = UVnode(2, nz , node)+(2*qc+qu)*hnode(nz , node)/6.0_WP + uv2 = UVnode(2, nz-1, node)-(2*qc+qd)*hnode(nz-1, node)/6.0_WP + uv12 = (Wvel_e(nz, node)+abs(Wvel_e(nz, node)))*uv1+ & + (Wvel_e(nz, node)-abs(Wvel_e(nz, node)))*uv2 + wv(nz)=0.5_WP*(num_ord*(uv1+uv2)*Wvel_e(nz, node)+(1.0_WP-num_ord)*uv12)*area(nz, node) + end do ! --> do nz=ul1+2, nl1-2 + + !_______________________________________________________________________ + ! one layer above bottom --> centered 2nd order + nz=nl1-1 + wu(nz)=0.5_WP*(UVnode(1, nz, node)+UVnode(1, nz-1, node))*Wvel_e(nz, node)*area(nz, node) + wv(nz)=0.5_WP*(UVnode(2, nz, node)+UVnode(2, nz-1, node))*Wvel_e(nz, node)*area(nz, node) + + !_______________________________________________________________________ + ! bottom layer --> boundary condition + nz=nl1 + wu(nz)=0.0_WP + wv(nz)=0.0_WP + + !_______________________________________________________________________ + ! set to the rhs for transports, not velocities!!! --> No division by h + do nz=1, nl1-1 + UVnode_rhs(1, nz, node)= -(wu(nz)-wu(nz+1)) + UVnode_rhs(2, nz, node)= -(wv(nz)-wv(nz+1)) + end do + + end do ! --> do node=1, myDim_nod2D +!$OMP END DO + + + + !___________________________________________________________________________ + ! 2nd. compute horizontal advection component: u*du/dx, u*dv/dx & v*du/dy, v*dv/dy + ! loop over triangle edges +!$OMP DO + do ed=1, myDim_edge2D + ! local indice of nodes that span up edge ed + ednodes = edges(:,ed) + + ! local index of element that contribute to edge + edelem = edge_tri(1:2,ed) + + !_______________________________________________________________________ + ! index off surface layer in case of cavity !=1 and index of mid depth + ! bottom layer + nl1 = nlevels(edelem(1))-1 + ul1 = ulevels(edelem(1)) + + !_______________________________________________________________________ + !NR --> Natalja Style + un1 = 0.0_WP + un1(ul1:nl1) = ( UVh(2, ul1:nl1, edelem(1))*edge_cross_dxdy(1,ed) & + - UVh(1, ul1:nl1, edelem(1))*edge_cross_dxdy(2,ed)) + + !_______________________________________________________________________ + ! if edelem(2)==0 than edge is boundary edge + if(edelem(2)>0) then + nl2 = nlevels(edelem(2))-1 + ul2 = ulevels(edelem(2)) + + !___________________________________________________________________ + !NR --> Natalja Style + un2 = 0.0_WP + un2(ul2:nl2) = -( UVh(2, ul2:nl2, edelem(2))*edge_cross_dxdy(3,ed) & + - UVh(1, ul2:nl2, edelem(2))*edge_cross_dxdy(4,ed)) + + !___________________________________________________________________ + ! nl12 ... minimum number of layers -1 between element edelem(1) & edelem(2) that + ! contribute to edge ed + ! nu12 ... upper index of layers between element edelem(1) & edelem(2) that + ! contribute to edge ed + ! be carefull !!! --> if ed is a boundary edge than edelem(1)~=0 and edelem(2)==0 + ! that means nl1>0, nl2==0, nl12=min(nl1,nl2)=0 !!! + ul12 = max(ul1, ul2) + nl12 = min(nl1, nl2) + + !___________________________________________________________________ + ! ensure openmp numerical reproducability +#if defined(__openmp_reproducible) +!$OMP ORDERED +#endif + !___________________________________________________________________ + !NR add contribution to first edge node --> ednodes(1) + !NR Do not calculate on Halo nodes, as the result will not be used. + !NR The "if" is cheaper than the avoided computiations. + if (ednodes(1) <= myDim_nod2d) then +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock(partit%plock(ednodes(1))) +#endif + ! cavity domain where only edelem(1) exist + do nz=ul1 , ul12-1 + UVnode_rhs(1, nz, ednodes(1)) = UVnode_rhs(1, nz, ednodes(1)) + un1(nz)*UV(1, nz, edelem(1)) + UVnode_rhs(2, nz, ednodes(1)) = UVnode_rhs(2, nz, ednodes(1)) + un1(nz)*UV(2, nz, edelem(1)) + end do + ! cavity domain where only edelem(2) exist + do nz=ul2 , ul12-1 + UVnode_rhs(1, nz, ednodes(1)) = UVnode_rhs(1, nz, ednodes(1)) + un2(nz)*UV(1, nz, edelem(2)) + UVnode_rhs(2, nz, ednodes(1)) = UVnode_rhs(2, nz, ednodes(1)) + un2(nz)*UV(2, nz, edelem(2)) + end do + ! bulk domain where edelem(1) and edelem(2) exist + do nz=ul12, nl12 + UVnode_rhs(1, nz, ednodes(1)) = UVnode_rhs(1, nz, ednodes(1)) + (un1(nz) + un2(nz))*(UV(1, nz, edelem(1))+UV(1, nz, edelem(2)))*0.5_WP + UVnode_rhs(2, nz, ednodes(1)) = UVnode_rhs(2, nz, ednodes(1)) + (un1(nz) + un2(nz))*(UV(2, nz, edelem(1))+UV(2, nz, edelem(2)))*0.5_WP + end do + ! bottom domain where only edelem(1) exist + do nz=nl12+1, nl1 + UVnode_rhs(1, nz, ednodes(1)) = UVnode_rhs(1, nz, ednodes(1)) + un1(nz)*UV(1, nz, edelem(1)) + UVnode_rhs(2, nz, ednodes(1)) = UVnode_rhs(2, nz, ednodes(1)) + un1(nz)*UV(2, nz, edelem(1)) + end do + ! bottom domain where only edelem(2) exist + do nz=nl12+1, nl2 + UVnode_rhs(1, nz, ednodes(1)) = UVnode_rhs(1, nz, ednodes(1)) + un2(nz)*UV(1, nz, edelem(2)) + UVnode_rhs(2, nz, ednodes(1)) = UVnode_rhs(2, nz, ednodes(1)) + un2(nz)*UV(2, nz, edelem(2)) + end do +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(1))) +#endif + end if + !___________________________________________________________________ + !NR add contribution to second edge node --> ednodes(2) + !NR Do not calculate on Halo nodes, as the result will not be used. + !NR The "if" is cheaper than the avoided computiations. + if (ednodes(2) <= myDim_nod2d) then +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock(partit%plock(ednodes(2))) +#endif + ! cavity domain where only edelem(1) exist + do nz=ul1 , ul12-1 + UVnode_rhs(1, nz, ednodes(2)) = UVnode_rhs(1, nz, ednodes(2)) - un1(nz)*UV(1, nz, edelem(1)) + UVnode_rhs(2, nz, ednodes(2)) = UVnode_rhs(2, nz, ednodes(2)) - un1(nz)*UV(2, nz, edelem(1)) + end do + ! cavity domain where only edelem(2) exist + do nz=ul2 , ul12-1 + UVnode_rhs(1, nz, ednodes(2)) = UVnode_rhs(1, nz, ednodes(2)) - un2(nz)*UV(1, nz, edelem(2)) + UVnode_rhs(2, nz, ednodes(2)) = UVnode_rhs(2, nz, ednodes(2)) - un2(nz)*UV(2, nz, edelem(2)) + end do + ! bulk domain where edelem(1) and edelem(2) exist + do nz=ul12, nl12 + UVnode_rhs(1, nz, ednodes(2)) = UVnode_rhs(1, nz, ednodes(2)) - (un1(nz) + un2(nz))*(UV(1, nz, edelem(1))+UV(1, nz, edelem(2)))*0.5_WP + UVnode_rhs(2, nz, ednodes(2)) = UVnode_rhs(2, nz, ednodes(2)) - (un1(nz) + un2(nz))*(UV(2, nz, edelem(1))+UV(2, nz, edelem(2)))*0.5_WP + end do + ! bottom domain where only edelem(1) exist + do nz=nl12+1, nl1 + UVnode_rhs(1, nz, ednodes(2)) = UVnode_rhs(1, nz, ednodes(2)) - un1(nz)*UV(1, nz, edelem(1)) + UVnode_rhs(2, nz, ednodes(2)) = UVnode_rhs(2, nz, ednodes(2)) - un1(nz)*UV(2, nz, edelem(1)) + end do + ! bottom domain where only edelem(2) exist + do nz=nl12+1, nl2 + UVnode_rhs(1, nz, ednodes(2)) = UVnode_rhs(1, nz, ednodes(2)) - un2(nz)*UV(1, nz, edelem(2)) + UVnode_rhs(2, nz, ednodes(2)) = UVnode_rhs(2, nz, ednodes(2)) - un2(nz)*UV(2, nz, edelem(2)) + end do +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(2))) +#endif + end if + + !_______________________________________________________________________ + ! if edelem(2)==0 than edge is boundary edge + else ! --> if(edelem(2)>0) then + !___________________________________________________________________ + !NR add contribution to first edge node --> ednodes(1) + !NR Do not calculate on Halo nodes, as the result will not be used. + !NR The "if" is cheaper than the avoided computiations. + if (ednodes(1) <= myDim_nod2d) then +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock(partit%plock(ednodes(1))) +#endif + ! bulk domain where only edelem(1) exist + do nz=ul1 , nl1 + UVnode_rhs(1, nz, ednodes(1)) = UVnode_rhs(1, nz, ednodes(1)) + un1(nz)*UV(1, nz, edelem(1)) + UVnode_rhs(2, nz, ednodes(1)) = UVnode_rhs(2, nz, ednodes(1)) + un1(nz)*UV(2, nz, edelem(1)) + end do +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(1))) +#endif + end if + !___________________________________________________________________ + !NR add contribution to second edge node --> ednodes(2) + !NR Do not calculate on Halo nodes, as the result will not be used. + !NR The "if" is cheaper than the avoided computiations. + if (ednodes(2) <= myDim_nod2d) then +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock(partit%plock(ednodes(2))) +#endif + ! bulk domain where only edelem(1) exist + do nz=ul1 , nl1-1 + UVnode_rhs(1, nz, ednodes(2)) = UVnode_rhs(1, nz, ednodes(2)) - un1(nz)*UV(1, nz, edelem(1)) + UVnode_rhs(2, nz, ednodes(2)) = UVnode_rhs(2, nz, ednodes(2)) - un1(nz)*UV(2, nz, edelem(1)) + end do +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(2))) +#endif + end if + end if ! --> if(edelem(2)>0) then + +#if defined(__openmp_reproducible) +!$OMP END ORDERED +#endif + + end do ! --> do ed=1, myDim_edge2D +!$OMP END DO + + +!PS !_______________________________________________________________________ +!PS ! nl12 ... minimum number of layers -1 between element edelem(1) & edelem(2) that +!PS ! contribute to edge ed +!PS ! nu12 ... upper index of layers between element edelem(1) & edelem(2) that +!PS ! contribute to edge ed +!PS ! be carefull !!! --> if ed is a boundary edge than edelem(1)~=0 and edelem(2)==0 +!PS ! that means nl1>0, nl2==0, nl12=min(nl1,nl2)=0 !!! +!PS ul12 = max(ul1, ul2) +!PS nl12 = min(nl1, nl2) +!PS +!PS !_______________________________________________________________________ +!PS ! (A1) goes only into this loop when the edge has only facing element +!PS ! edelem(1) --> so the edge is a boundary edge --> this is for ocean +!PS ! surface in case of cavity +!PS do nz=nu1, nu12-1 +!PS un= (UVh(2, nz, edelem(1))*x1 - UVh(1, nz, edelem(1))*y1) +!PS uu=un*UV(1, nz, edelem(1)) ! the momentum to be carried depends on velocities +!PS vv=un*UV(2, nz, edelem(1)) +!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu +!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu +!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv +!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv +!PS end do ! --> do nz=nu1, nu12-1 +!PS +!PS !_______________________________________________________________________ +!PS ! (A2) goes only into this loop when the edge has a facing elemenmt +!PS ! edelem(2) --> so the edge is a boundary edge --> this is for ocean +!PS ! surface in case of cavity +!PS if (nu2 > 0) then +!PS do nz=nu2, nu12-1 +!PS un=-(UVh(2, nz, edelem(2))*x2- UVh(1, nz, edelem(2))*y2) +!PS uu=un*UV(1, nz, edelem(2)) +!PS vv=un*UV(2, nz, edelem(2)) +!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu +!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu +!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv +!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv +!PS end do ! --> do nz=nu2, nu12-1 +!PS end if +!PS +!PS !_______________________________________________________________________ +!PS ! (B) Both segments +!PS ! loop over depth layers from shared upper layer index nu12 to shared +!PS ! lower layer index nl12 +!PS do nz=nu12, nl12 +!PS un= (UVh(2, nz, edelem(1))*x1 - UVh(1, nz, edelem(1))*y1) & +!PS -(UVh(2, nz, edelem(2))*x2 - UVh(1, nz, edelem(2))*y2) +!PS uu=un*(UV(1, nz, edelem(1)) + UV(1, nz, edelem(2)))*0.5_WP! the momentum to be carried depends on velocities +!PS vv=un*(UV(2, nz, edelem(1)) + UV(2, nz, edelem(2)))*0.5_WP +!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu +!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu +!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv +!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv +!PS end do ! --> do nz=nu12, nl12 +!PS +!PS !_______________________________________________________________________ +!PS ! (C1) remaining segments from the shared lower lyer index nl12 to bottom +!PS ! of element edelem(1) +!PS do nz=nl12+1, nl1 +!PS un= (UVh(2, nz, edelem(1))*x1 - UVh(1, nz, edelem(1))*y1) +!PS uu=un*UV(1, nz, edelem(1)) ! the momentum to be carried depends on velocities +!PS vv=un*UV(2, nz, edelem(1)) +!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu +!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu +!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv +!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv +!PS end do ! --> do nz=nl12+1, nl1 +!PS +!PS !_______________________________________________________________________ +!PS ! (C2) remaining segments from the shared lower lyer index nl12 to bottom +!PS ! of element edelem(1) +!PS do nz=nl12+1, nl2 +!PS un=-(UVh(2, nz, edelem(2))*x2- UVh(1, nz, edelem(2))*y2) +!PS uu=un*UV(1, nz, edelem(2)) +!PS vv=un*UV(2, nz, edelem(2)) +!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu +!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu +!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv +!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv +!PS end do ! --> do nz=nl12+1, nl2 +!PS end do ! --> do ed=1, myDim_edge2D +!PS !$OMP END DO + + + !___________________________________________________________________________ + ! divide total nodal momentum advection by scalar area +!$OMP DO + do node=1,myDim_nod2d + nl1 = nlevels_nod2D(node)-1 + ul1 = ulevels_nod2D(node) + UVnode_rhs(1, ul1:nl1, node) = UVnode_rhs(1, ul1:nl1, node) * areasvol_inv(ul1:nl1, node) + UVnode_rhs(2, ul1:nl1, node) = UVnode_rhs(2, ul1:nl1, node) * areasvol_inv(ul1:nl1, node) + end do ! --> do node=1,myDim_nod2d +!$OMP END DO + + !___________________________________________________________________________ +!$OMP MASTER + call exchange_nod(UVnode_rhs, partit) +!$OMP END MASTER +!$OMP BARRIER + + !___________________________________________________________________________ + ! convert total nodal advection from vertice --> elements +!$OMP DO + do elem=1, myDim_elem2D + nl1 = nlevels(elem)-1 + ul1 = ulevels(elem) + UV_rhsAB(1:2, ul1:nl1, elem) = UV_rhsAB(1:2, ul1:nl1, elem) + elem_area(elem)* & + ( UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(1, elem)) & + + UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(2, elem)) & + + UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(3, elem))) / 3.0_WP + end do ! --> do edelem=1, myDim_elem2D +!$OMP END DO + + !___________________________________________________________________________ + ! for energz diagnostic + if (dynamics%ldiag_ke) then !we repeat the computation here and there are multiple ways to speed it up +!$OMP DO + do elem=1, myDim_elem2D + nl1 = nlevels(elem)-1 + ul1 = ulevels(elem) + dynamics%ke_adv_AB(1:2, ul1:nl1, elem) = dynamics%ke_adv_AB(1:2, ul1:nl1, elem) + elem_area(elem)* & + ( UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(1, elem)) & + + UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(2, elem)) & + + UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(3, elem))) / 3.0_WP + end do +!$OMP END DO + end if +!$OMP END PARALLEL +end subroutine + + + + + + + + + From e524698be6c45483166ed3a037c7c1cb5979d2e9 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 12 May 2023 10:52:05 +0200 Subject: [PATCH 030/273] add transport velocties --- src/oce_ale_vel_rhs.F90 | 44 ++++++++++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/src/oce_ale_vel_rhs.F90 b/src/oce_ale_vel_rhs.F90 index b951767cb..7ec1a8d1e 100644 --- a/src/oce_ale_vel_rhs.F90 +++ b/src/oce_ale_vel_rhs.F90 @@ -46,6 +46,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) use g_comm_auto use g_sbf, only: l_mslp use momentum_adv_scalar_interface + use momentum_adv_scalar_4splitexpl_interface implicit none type(t_ice) , intent(inout), target :: ice type(t_dyn) , intent(inout), target :: dynamics @@ -64,6 +65,8 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) real(kind=WP), dimension(:) , pointer :: eta_n real(kind=WP), dimension(:) , pointer :: m_ice, m_snow, a_ice real(kind=WP) , pointer :: rhoice, rhosno, inv_rhowat + real(kind=WP), dimension(:,:,:), pointer :: UVh + real(kind=WP), dimension(:,:) , pointer :: UVh_BT4AB #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -78,6 +81,12 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) rhosno => ice%thermo%rhosno inv_rhowat=> ice%thermo%inv_rhowat + ! if split-explicite ssh subcycling is used + if (dynamics%use_ssh_splitexpl_subcycl) then + UVh => dynamics%se_uvh + UVh_BT4AB => dynamics%se_uvh_BT4AB + end if + !___________________________________________________________________________ use_pice=0 if (use_floatice .and. .not. trim(which_ale)=='linfs') use_pice=1 @@ -136,26 +145,39 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) ! apply pressure gradient force, as well as contributions from gradient of ! the sea surface height as well as ice pressure in case of floating sea ice ! to velocity rhs - pre = -(p_eta+p_ice+p_air) - if (use_global_tides) then pre=pre-ssh_gp(elnodes) end if Fx = sum(gradient_sca(1:3,elem)*pre) Fy = sum(gradient_sca(4:6,elem)*pre) - do nz=nzmin,nzmax-1 ! add pressure gradient terms UV_rhs(1,nz,elem) = UV_rhs(1,nz,elem) + (Fx-pgf_x(nz,elem))*elem_area(elem) UV_rhs(2,nz,elem) = UV_rhs(2,nz,elem) + (Fy-pgf_y(nz,elem))*elem_area(elem) - - ! add coriolis force - UV_rhsAB(1,nz,elem) = UV(2,nz,elem)*ff! + mm*UV(1,nz,elem)*UV(2,nz,elem) - UV_rhsAB(2,nz,elem) =-UV(1,nz,elem)*ff! - mm*UV(1,nz,elem)*UV(2,nz,elem) end do - + + !____________________________________________________________________________ + ! when ssh split-explicite subcycling method is setted use transport velocities + ! u*h, v*h instead of u,v + if (.not. dynamics%use_ssh_splitexpl_subcycl) then + do nz=nzmin,nzmax-1 + ! add coriolis force + UV_rhsAB(1,nz,elem) = UV(2,nz,elem)*ff! + mm*UV(1,nz,elem)*UV(2,nz,elem) + UV_rhsAB(2,nz,elem) =-UV(1,nz,elem)*ff! - mm*UV(1,nz,elem)*UV(2,nz,elem) + end do + else + UVh_BT4AB(1:2,elem) = 0.0_WP + do nz=nzmin,nzmax-1 + UV_rhsAB(1, nz ,elem) = UVh(1, nz, elem)*ff! + mm*UV(1,nz,elem)*UVh(1, nz, elem) + UV_rhsAB(2, nz ,elem) =-UVh(2, nz, elem)*ff! - mm*UV(1,nz,elem)*UVh(2, nz, elem) + UVh_BT4AB(1,elem) = UVh_BT4AB(1, elem) + UVh(1, nz, elem) ! Barotropic velocity + UVh_BT4AB(2,elem) = UVh_BT4AB(2, elem) + UVh(2, nz, elem) ! + end do + end if + + !___________________________________________________________________________ if (dynamics%ldiag_ke) then do nz=nzmin,nzmax-1 dynamics%ke_pre(1,nz,elem)= (Fx-pgf_x(nz,elem))*dt!*elem_area(elem) !not to divide it aterwards (at the end of this subroutine) @@ -178,7 +200,11 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) if (mype==0) write(*,*) 'in moment not adapted mom_adv advection typ for ALE, check your namelist' call par_ex(partit%MPI_COMM_FESOM, partit%mype, 1) elseif (dynamics%momadv_opt==2) then - call momentum_adv_scalar(dynamics, partit, mesh) + if (.not. dynamics%use_ssh_splitexpl_subcycl) then + call momentum_adv_scalar(dynamics, partit, mesh) + else + call momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) + end if end if !___________________________________________________________________________ ! Update the rhs From 9260839cc30b8972780fcd203b387ce0815d235e Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 12 May 2023 15:33:03 +0200 Subject: [PATCH 031/273] addapt visc filter towards transport velocity update --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 7 +- src/oce_dyn.F90 | 105 +++++++++++++++++++------- 2 files changed, 78 insertions(+), 34 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 9bafb91e1..a81b1b26b 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -20,9 +20,9 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) USE MOD_MESH USE MOD_PARTIT USE MOD_PARSUP - use MOD_DYN + USE MOD_DYN USE o_PARAM - use g_comm_auto + USE g_comm_auto IMPLICIT NONE type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit @@ -32,7 +32,6 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) integer :: nl1, ul1, nl2, ul2, nl12, ul12 real(kind=WP) :: uv12, uv1, uv2, qc, qu, qd, num_ord=0.95_WP integer :: ednodes(2), edelem(2) - real(kind=WP) :: dx1, dy1, dx2, dy2, uu, vv real(kind=WP) :: wu(mesh%nl), wv(mesh%nl), un1(mesh%nl), un2(mesh%nl) !___________________________________________________________________________ @@ -119,7 +118,6 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) !$OMP END DO - !___________________________________________________________________________ ! 2nd. compute horizontal advection component: u*du/dx, u*dv/dx & v*du/dy, v*dv/dy ! loop over triangle edges @@ -291,7 +289,6 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) end do ! --> do ed=1, myDim_edge2D !$OMP END DO - !PS !_______________________________________________________________________ !PS ! nl12 ... minimum number of layers -1 between element edelem(1) & edelem(2) that !PS ! contribute to edge ed diff --git a/src/oce_dyn.F90 b/src/oce_dyn.F90 index 67d34e777..585836159 100755 --- a/src/oce_dyn.F90 +++ b/src/oce_dyn.F90 @@ -424,6 +424,8 @@ SUBROUTINE visc_filt_bilapl(dynamics, partit, mesh) END DO !$OMP END PARALLEL DO + !___________________________________________________________________________ + ! Sum up velocity differences over edge with respect to elemtnal index !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(u1, v1, len, vi, ed, el, nz, nzmin, nzmax) !$OMP DO DO ed=1, myDim_edge2D+eDim_edge2D @@ -436,26 +438,28 @@ SUBROUTINE visc_filt_bilapl(dynamics, partit, mesh) update_v(nz)=(UV(2,nz,el(1))-UV(2,nz,el(2))) END DO #if defined(_OPENMP) && !defined(__openmp_reproducible) - call omp_set_lock(partit%plock(el(1))) + call omp_set_lock(partit%plock(el(1))) #else !$OMP ORDERED #endif - U_c(nzmin:nzmax-1, el(1))=U_c(nzmin:nzmax-1, el(1))-update_u(nzmin:nzmax-1) - V_c(nzmin:nzmax-1, el(1))=V_c(nzmin:nzmax-1, el(1))-update_v(nzmin:nzmax-1) + U_c(nzmin:nzmax-1, el(1))=U_c(nzmin:nzmax-1, el(1))-update_u(nzmin:nzmax-1) + V_c(nzmin:nzmax-1, el(1))=V_c(nzmin:nzmax-1, el(1))-update_v(nzmin:nzmax-1) #if defined(_OPENMP) && !defined(__openmp_reproducible) - call omp_unset_lock(partit%plock(el(1))) - call omp_set_lock (partit%plock(el(2))) + call omp_unset_lock(partit%plock(el(1))) + call omp_set_lock (partit%plock(el(2))) #endif - U_c(nzmin:nzmax-1, el(2))=U_c(nzmin:nzmax-1, el(2))+update_u(nzmin:nzmax-1) - V_c(nzmin:nzmax-1, el(2))=V_c(nzmin:nzmax-1, el(2))+update_v(nzmin:nzmax-1) + U_c(nzmin:nzmax-1, el(2))=U_c(nzmin:nzmax-1, el(2))+update_u(nzmin:nzmax-1) + V_c(nzmin:nzmax-1, el(2))=V_c(nzmin:nzmax-1, el(2))+update_v(nzmin:nzmax-1) #if defined(_OPENMP) && !defined(__openmp_reproducible) - call omp_unset_lock(partit%plock(el(2))) + call omp_unset_lock(partit%plock(el(2))) #else !$OMP END ORDERED #endif END DO !$OMP END DO + !___________________________________________________________________________ + ! compute viscosity on element !$OMP DO DO ed=1,myDim_elem2D len=sqrt(elem_area(ed)) @@ -474,21 +478,37 @@ SUBROUTINE visc_filt_bilapl(dynamics, partit, mesh) END DO END DO !$OMP END DO + + !___________________________________________________________________________ !$OMP MASTER call exchange_elem(U_c, partit) call exchange_elem(V_c, partit) !$OMP END MASTER !$OMP BARRIER + + !___________________________________________________________________________ !$OMP DO DO ed=1, myDim_edge2D+eDim_edge2D if(myList_edge2D(ed)>edge2D_in) cycle el=edge_tri(:,ed) nzmin = maxval(ulevels(el)) nzmax = minval(nlevels(el)) - DO nz=nzmin,nzmax-1 - update_u(nz)=(U_c(nz,el(1))-U_c(nz,el(2))) - update_v(nz)=(V_c(nz,el(1))-V_c(nz,el(2))) - END DO + !_______________________________________________________________________ + if (dynamics%use_ssh_splitexpl_subcycl) then + !SD Approximate update for transports. We do not care about accuracy + !SD here. --> of course, helem will be better. + do nz=nzmin,nzmax-1 + update_u(nz)=(U_c(nz,el(1))-U_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) + update_v(nz)=(V_c(nz,el(1))-V_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) + end do + else + do nz=nzmin,nzmax-1 + update_u(nz)=(U_c(nz,el(1))-U_c(nz,el(2))) + update_v(nz)=(V_c(nz,el(1))-V_c(nz,el(2))) + end do + end if + + !_______________________________________________________________________ #if defined(_OPENMP) && ! defined(__openmp_reproducible) call omp_set_lock(partit%plock(el(1))) #else @@ -556,6 +576,8 @@ SUBROUTINE visc_filt_bidiff(dynamics, partit, mesh) V_c(:, elem) = 0.0_WP END DO !$OMP END PARALLEL DO + + !___________________________________________________________________________ !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(u1, v1, len, vi, ed, el, nz, nzmin, nzmax) !$OMP DO DO ed=1, myDim_edge2D+eDim_edge2D @@ -594,14 +616,17 @@ SUBROUTINE visc_filt_bidiff(dynamics, partit, mesh) #else !$OMP END ORDERED #endif - END DO !$OMP END DO + + !___________________________________________________________________________ !$OMP MASTER call exchange_elem(U_c, partit) call exchange_elem(V_c, partit) !$OMP END MASTER !$OMP BARRIER + + !___________________________________________________________________________ !$OMP DO DO ed=1, myDim_edge2D+eDim_edge2D if(myList_edge2D(ed)>edge2D_in) cycle @@ -609,18 +634,38 @@ SUBROUTINE visc_filt_bidiff(dynamics, partit, mesh) len=sqrt(sum(elem_area(el))) nzmin = maxval(ulevels(el)) nzmax = minval(nlevels(el)) - DO nz=nzmin,nzmax-1 - u1=(UV(1,nz,el(1))-UV(1,nz,el(2))) - v1=(UV(2,nz,el(1))-UV(2,nz,el(2))) - vi=u1*u1+v1*v1 - vi=-dt*sqrt(max(dynamics%visc_gamma0, & - max(dynamics%visc_gamma1*sqrt(vi), & - dynamics%visc_gamma2*vi) & - )*len) - ! vi=-dt*sqrt(max(dynamics%visc_gamma0, dynamics%visc_gamma1*max(sqrt(vi), dynamics%visc_gamma2*vi))*len) - update_u(nz)=vi*(U_c(nz,el(1))-U_c(nz,el(2))) - update_v(nz)=vi*(V_c(nz,el(1))-V_c(nz,el(2))) - END DO + !_______________________________________________________________________ + if (dynamics%use_ssh_splitexpl_subcycl) then + !SD Approximate update for transports. We do not care about accuracy + !SD here. --> of course, helem will be better. + do nz=nzmin,nzmax-1 + u1=(UV(1,nz,el(1))-UV(1,nz,el(2))) + v1=(UV(2,nz,el(1))-UV(2,nz,el(2))) + vi=u1*u1+v1*v1 + vi=-dt*sqrt(max(dynamics%visc_gamma0, & + max(dynamics%visc_gamma1*sqrt(vi), & + dynamics%visc_gamma2*vi) & + )*len) + ! vi=-dt*sqrt(max(dynamics%visc_gamma0, dynamics%visc_gamma1*max(sqrt(vi), dynamics%visc_gamma2*vi))*len) + update_u(nz)=vi*(U_c(nz,el(1))-U_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) + update_v(nz)=vi*(V_c(nz,el(1))-V_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) + end do + else + do nz=nzmin,nzmax-1 + u1=(UV(1,nz,el(1))-UV(1,nz,el(2))) + v1=(UV(2,nz,el(1))-UV(2,nz,el(2))) + vi=u1*u1+v1*v1 + vi=-dt*sqrt(max(dynamics%visc_gamma0, & + max(dynamics%visc_gamma1*sqrt(vi), & + dynamics%visc_gamma2*vi) & + )*len) + ! vi=-dt*sqrt(max(dynamics%visc_gamma0, dynamics%visc_gamma1*max(sqrt(vi), dynamics%visc_gamma2*vi))*len) + update_u(nz)=vi*(U_c(nz,el(1))-U_c(nz,el(2))) + update_v(nz)=vi*(V_c(nz,el(1))-V_c(nz,el(2))) + end do + end if + + !_______________________________________________________________________ #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_set_lock(partit%plock(el(1))) #else @@ -628,15 +673,12 @@ SUBROUTINE visc_filt_bidiff(dynamics, partit, mesh) #endif UV_rhs(1, nzmin:nzmax-1, el(1))=UV_rhs(1, nzmin:nzmax-1, el(1))-update_u(nzmin:nzmax-1)/elem_area(el(1)) UV_rhs(2, nzmin:nzmax-1, el(1))=UV_rhs(2, nzmin:nzmax-1, el(1))-update_v(nzmin:nzmax-1)/elem_area(el(1)) - #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(el(1))) call omp_set_lock (partit%plock(el(2))) #endif - UV_rhs(1, nzmin:nzmax-1, el(2))=UV_rhs(1, nzmin:nzmax-1, el(2))+update_u(nzmin:nzmax-1)/elem_area(el(2)) UV_rhs(2, nzmin:nzmax-1, el(2))=UV_rhs(2, nzmin:nzmax-1, el(2))+update_v(nzmin:nzmax-1)/elem_area(el(2)) - #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(el(2))) #else @@ -646,7 +688,9 @@ SUBROUTINE visc_filt_bidiff(dynamics, partit, mesh) !$OMP END DO !$OMP END PARALLEL end subroutine visc_filt_bidiff - +! +! +!_______________________________________________________________________________ SUBROUTINE compute_ke_wrho(dynamics, partit, mesh) USE MOD_MESH USE MOD_PARTIT @@ -689,6 +733,9 @@ SUBROUTINE compute_ke_wrho(dynamics, partit, mesh) END DO call exchange_nod(dynamics%ke_wrho, partit) END SUBROUTINE compute_ke_wrho +! +! +!_______________________________________________________________________________ ! APE generation stuff SUBROUTINE compute_apegen(dynamics, tracers, partit, mesh) USE MOD_MESH From 56f5a410d981887e6eddf67c124aab8f4ac29da9 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 22 May 2023 11:42:25 +0200 Subject: [PATCH 032/273] add and rename some variables that are need for split-explicite subsampling --- src/MOD_DYN.F90 | 16 +++++++++------- src/oce_setup_step.F90 | 18 +++++++++++++----- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/MOD_DYN.F90 b/src/MOD_DYN.F90 index da5c1bded..900ed561d 100644 --- a/src/MOD_DYN.F90 +++ b/src/MOD_DYN.F90 @@ -65,15 +65,15 @@ MODULE MOD_DYN !___arrays for split explicite ssh computation______________________________ ! se_uvh...transport velocity, real(kind=WP), allocatable, dimension(:,:,:):: se_uvh - !se_uv_rhs...vertical integral of transport velocity rhs, se_uvh_BT4AB... + !se_uv_rhs...vertical integral of transport velocity rhs, se_uvhBT_4AB... ! barotropic transport velocities (vertically integrated), contains actual ! timestep (1:2) and previous timestep (3:4) for adams-bashfort interpolation - real(kind=WP), allocatable, dimension(:,:) :: se_uvh_rhs, se_uvh_BT4AB + real(kind=WP), allocatable, dimension(:,:) :: se_uvhBC_rhs, se_uvhBT_4AB ! se_uvBT...barotropic trnasport velocities from barotropic time stepping ! se_uvBT_theta...velocities for dissipative time stepping of thickness equation ! UBTmean_mean... Mean BT velocity to trim 3D velocity in tracers - real(kind=WP), allocatable, dimension(:,:) :: se_uvBT, se_uvBT_theta, se_uvBT_mean + real(kind=WP), allocatable, dimension(:,:) :: se_uvBT, se_uvBT_theta, se_uvBT_mean, se_uvBT_12 !___________________________________________________________________________ ! summarizes solver input parameter @@ -276,11 +276,12 @@ subroutine WRITE_T_DYN(dynamics, unit, iostat, iomsg) end if if (dynamics%use_ssh_splitexpl_subcycl) then call write_bin_array(dynamics%se_uvh , unit, iostat, iomsg) - call write_bin_array(dynamics%se_uvh_rhs , unit, iostat, iomsg) - call write_bin_array(dynamics%se_uvh_BT4AB , unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvhBC_rhs , unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvhBT_4AB , unit, iostat, iomsg) call write_bin_array(dynamics%se_uvBT , unit, iostat, iomsg) call write_bin_array(dynamics%se_uvBT_theta, unit, iostat, iomsg) call write_bin_array(dynamics%se_uvBT_mean , unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvBT_12 , unit, iostat, iomsg) end if @@ -331,11 +332,12 @@ subroutine READ_T_DYN(dynamics, unit, iostat, iomsg) end if if (dynamics%use_ssh_splitexpl_subcycl) then call read_bin_array(dynamics%se_uvh , unit, iostat, iomsg) - call read_bin_array(dynamics%se_uvh_rhs , unit, iostat, iomsg) - call read_bin_array(dynamics%se_uvh_BT4AB , unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvhBC_rhs , unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvhBT_4AB , unit, iostat, iomsg) call read_bin_array(dynamics%se_uvBT , unit, iostat, iomsg) call read_bin_array(dynamics%se_uvBT_theta, unit, iostat, iomsg) call read_bin_array(dynamics%se_uvBT_mean , unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvBT_12 , unit, iostat, iomsg) end if end subroutine READ_T_DYN diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 4aaf5c6b6..59498a14a 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -478,12 +478,20 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) !!PS dynamics%ssh_rhs_old= 0.0_WP if (dynamics%use_ssh_splitexpl_subcycl) then - allocate(dynamics%se_uvh( 2, nl-1, elem_size)) - allocate(dynamics%se_uvh_rhs( 2, elem_size)) - allocate(dynamics%se_uvh_BT4AB(4, elem_size)) + allocate(dynamics%se_uvh( 2, nl-1, elem_size)) + allocate(dynamics%se_uvhBC_rhs( 2, elem_size)) + allocate(dynamics%se_uvhBT_4AB( 4, elem_size)) + allocate(dynamics%se_uvBT( 2, elem_size)) + allocate(dynamics%se_uvBT_theta(2, elem_size)) + allocate(dynamics%se_uvBT_mean( 2, elem_size)) + allocate(dynamics%se_uvBT_12( 2, elem_size)) dynamics%se_uvh = 0.0_WP - dynamics%se_uvh_rhs = 0.0_WP - dynamics%se_uvh_BT4AB = 0.0_WP + dynamics%se_uvhBC_rhs = 0.0_WP + dynamics%se_uvhBT_4AB = 0.0_WP + dynamics%se_uvBT = 0.0_WP + dynamics%se_uvBT_theta = 0.0_WP + dynamics%se_uvBT_mean = 0.0_WP + dynamics%se_uvBT_12 = 0.0_WP else allocate(dynamics%d_eta( node_size)) allocate(dynamics%ssh_rhs( node_size)) From 5e46284be0d520b592da07c5b585dcae10f4021a Mon Sep 17 00:00:00 2001 From: Patrick Scholz Date: Mon, 22 May 2023 11:44:25 +0200 Subject: [PATCH 033/273] add viscfilter option 5 for transport velocities --- src/oce_dyn.F90 | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/src/oce_dyn.F90 b/src/oce_dyn.F90 index 585836159..d26cc84a6 100755 --- a/src/oce_dyn.F90 +++ b/src/oce_dyn.F90 @@ -296,6 +296,7 @@ SUBROUTINE visc_filt_bcksct(dynamics, partit, mesh) END DO !$OMP END PARALLEL DO + !___________________________________________________________________________ !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(u1, v1, len, vi, nz, ed, el, nelem, k, elem, nzmin, nzmax, update_u, update_v) !$OMP DO DO ed=1, myDim_edge2D+eDim_edge2D @@ -334,14 +335,16 @@ SUBROUTINE visc_filt_bcksct(dynamics, partit, mesh) #endif END DO !$OMP END DO + + !___________________________________________________________________________ !$OMP MASTER call exchange_elem(U_b, partit) call exchange_elem(V_b, partit) !$OMP END MASTER !$OMP BARRIER - ! =========== - ! Compute smoothed viscous term: - ! =========== + + !___________________________________________________________________________ + ! Compute smoothed viscous term, smoth from elements to nodes !$OMP DO DO ed=1, myDim_nod2D nzmin = ulevels_nod2D(ed) @@ -361,19 +364,35 @@ SUBROUTINE visc_filt_bcksct(dynamics, partit, mesh) END DO END DO !$OMP END DO + + !___________________________________________________________________________ !$OMP MASTER call exchange_nod(U_c, V_c, partit) !$OMP END MASTER !$OMP BARRIER + + !___________________________________________________________________________ + ! smooth from nodes back to elements, take unsmooth viscos term minus + ! smoothed viscos term multiplied backscatter parameter !$OMP DO do ed=1, myDim_elem2D nelem=elem2D_nodes(:,ed) nzmin = ulevels(ed) nzmax = nlevels(ed) - Do nz=nzmin, nzmax-1 - UV_rhs(1,nz,ed)=UV_rhs(1,nz,ed)+U_b(nz,ed) -dynamics%visc_easybsreturn*sum(U_c(nz,nelem))/3.0_WP - UV_rhs(2,nz,ed)=UV_rhs(2,nz,ed)+V_b(nz,ed) -dynamics%visc_easybsreturn*sum(V_c(nz,nelem))/3.0_WP - END DO + !_______________________________________________________________________ + if (dynamics%use_ssh_splitexpl_subcycl) then + !SD Approximate update for transports. We do not care about accuracy + !SD here. --> of course, helem will be better. + Do nz=nzmin, nzmax-1 + UV_rhs(1,nz,ed)=UV_rhs(1,nz,ed)+(U_b(nz,ed) -dynamics%visc_easybsreturn*sum(U_c(nz,nelem))/3.0_WP)*(zbar(nz)-zbar(nz+1)) + UV_rhs(2,nz,ed)=UV_rhs(2,nz,ed)+(V_b(nz,ed) -dynamics%visc_easybsreturn*sum(V_c(nz,nelem))/3.0_WP)*(zbar(nz)-zbar(nz+1)) + END DO + else + Do nz=nzmin, nzmax-1 + UV_rhs(1,nz,ed)=UV_rhs(1,nz,ed)+U_b(nz,ed) -dynamics%visc_easybsreturn*sum(U_c(nz,nelem))/3.0_WP + UV_rhs(2,nz,ed)=UV_rhs(2,nz,ed)+V_b(nz,ed) -dynamics%visc_easybsreturn*sum(V_c(nz,nelem))/3.0_WP + END DO + end if end do !$OMP END DO !$OMP END PARALLEL From e6c83c8e8d9c1e2247aa4492f2af6d72e3279b49 Mon Sep 17 00:00:00 2001 From: Patrick Scholz Date: Mon, 22 May 2023 11:53:45 +0200 Subject: [PATCH 034/273] restructure/comment oce_timestep for split-explicite subcycling routines --- src/oce_ale.F90 | 228 ++++++++++++++++++++++++++++++------------------ 1 file changed, 141 insertions(+), 87 deletions(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 5f5f05470..07d6f5ff5 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -2919,6 +2919,8 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) use write_step_info_interface use check_blowup_interface use fer_solve_interface + use impl_vert_visc_ale_vtransp_interface + use compute_ssh_split_explicit_interface IMPLICIT NONE integer , intent(in) :: n type(t_dyn) , intent(inout), target :: dynamics @@ -3003,9 +3005,9 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call oce_mixing_KPP'//achar(27)//'[0m' call oce_mixing_KPP(Av, Kv_double, dynamics, tracers, partit, mesh) !$OMP PARALLEL DO - DO node=1, myDim_nod2D+eDim_nod2D + do node=1, myDim_nod2D+eDim_nod2D Kv(:, node)=Kv_double(:, node, 1) - END DO + end do !$OMP END PARALLEL DO call mo_convect(ice, partit, mesh) @@ -3056,58 +3058,75 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) t1=MPI_Wtime() !___________________________________________________________________________ + ! add contribution from momentum advection, coriolis and pressure gradient | + ! force to UV_rhs + ! UV_rhs = dt*[ (R_advec + R_coriolis)_AB2^n + R_pressure^n ] if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call compute_vel_rhs'//achar(27)//'[0m' call compute_vel_rhs(ice, dynamics, partit, mesh) !___________________________________________________________________________ - if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call viscosity_filter'//achar(27)//'[0m' if (dynamics%ldiag_ke) then !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) - do elem=1, myDim_elem2D - nzmax = nlevels(elem) - nzmin = ulevels(elem) - do nz=nzmin,nzmax-1 - dynamics%ke_rhs_bak(:,nz,elem)=dynamics%UV_rhs(:,nz,elem) - end do - end do + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_rhs_bak(:,nz,elem)=dynamics%UV_rhs(:,nz,elem) + end do + end do !$OMP END PARALLEL DO end if + + !___________________________________________________________________________ + ! add contribution from horizontal viscosity to UV_rhs + ! UV_rhs = dt*[ (R_advec + R_coriolis)^n + R_pressure + R_hviscos] + ! UV_rhs = UV_rhs + dt*R_hviscos + if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call viscosity_filter'//achar(27)//'[0m' call viscosity_filter(dynamics%opt_visc, dynamics, partit, mesh) + + !___________________________________________________________________________ if (dynamics%ldiag_ke) then !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) - do elem=1, myDim_elem2D - nzmax = nlevels(elem) - nzmin = ulevels(elem) - do nz=nzmin,nzmax-1 - dynamics%ke_hvis(:,nz,elem)=dynamics%UV_rhs(:,nz,elem)-dynamics%ke_rhs_bak(:,nz,elem) - end do - end do + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_hvis(:,nz,elem)=dynamics%UV_rhs(:,nz,elem)-dynamics%ke_rhs_bak(:,nz,elem) + end do + end do +!$OMP END PARALLEL DO + +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_rhs_bak(:,nz,elem)=dynamics%UV_rhs(:,nz,elem) + end do + end do !$OMP END PARALLEL DO end if !___________________________________________________________________________ if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call impl_vert_visc_ale'//achar(27)//'[0m' - if (dynamics%ldiag_ke) then -!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) - do elem=1, myDim_elem2D - nzmax = nlevels(elem) - nzmin = ulevels(elem) - do nz=nzmin,nzmax-1 - dynamics%ke_rhs_bak(:,nz,elem)=dynamics%UV_rhs(:,nz,elem) - end do - end do -!$OMP END PARALLEL DO + if(dynamics%use_ivertvisc) then + if (dynamics%use_ssh_splitexpl_subcycl) then + call impl_vert_visc_ale(dynamics,partit, mesh) + else + call impl_vert_visc_ale_vtransp(dynamics, partit, mesh) + end if end if - if(dynamics%use_ivertvisc) call impl_vert_visc_ale(dynamics,partit, mesh) + + !___________________________________________________________________________ if (dynamics%ldiag_ke) then !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) - do elem=1, myDim_elem2D - nzmax = nlevels(elem) - nzmin = ulevels(elem) - do nz=nzmin,nzmax-1 - dynamics%ke_vvis(:,nz,elem)=dynamics%UV_rhs(:,nz,elem)-dynamics%ke_rhs_bak(:,nz,elem) - end do - end do + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_vvis(:,nz,elem)=dynamics%UV_rhs(:,nz,elem)-dynamics%ke_rhs_bak(:,nz,elem) + end do + end do !$OMP END PARALLEL DO end if t2=MPI_Wtime() @@ -3115,56 +3134,76 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! >->->->->->->->->->->->-> ALE-part starts <-<-<-<-<-<-<-<-<-<-<-<- !___________________________________________________________________________ + + !___________________________________________________________________________ + ! Compute SSH via solver ! Update stiffness matrix by dhe=hbar(n+1/2)-hbar(n-1/2) on elements, only ! needed for zlevel and zstar - if (.not. trim(which_ale)=='linfs') call update_stiff_mat_ale(partit, mesh) - if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call compute_ssh_rhs_ale'//achar(27)//'[0m' - ! ssh_rhs=-alpha*\nabla\int(U_n+U_rhs)dz-(1-alpha)*... - ! see "FESOM2: from finite elements to finte volumes, S. Danilov..." eq. (18) rhs - call compute_ssh_rhs_ale(dynamics, partit, mesh) - - ! Take updated ssh matrix and solve --> new ssh! - t30=MPI_Wtime() - call solve_ssh_ale(dynamics, partit, mesh) - - if ((toy_ocean) .AND. (TRIM(which_toy)=="soufflet")) then - if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call relax_zonal_vel'//achar(27)//'[0m' - call relax_zonal_vel(dynamics, partit, mesh) - end if - t3=MPI_Wtime() - - ! estimate new horizontal velocity u^(n+1) - ! u^(n+1) = u* + [-g * tau * theta * grad(eta^(n+1)-eta^(n)) ] - if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call update_vel'//achar(27)//'[0m' - ! ke will be computed inside there if dynamics%ldiag_ke is .TRUE. - call update_vel(dynamics, partit, mesh) - - ! --> eta_(n) --> eta_(n+1) = eta_(n) + deta = eta_(n) + (eta_(n+1) + eta_(n)) - t4=MPI_Wtime() - - ! Update to hbar(n+3/2) and compute dhe to be used on the next step - if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call compute_hbar_ale'//achar(27)//'[0m' - call compute_hbar_ale(dynamics, partit, mesh) - - !___________________________________________________________________________ - ! - Current dynamic elevation alpha*hbar(n+1/2)+(1-alpha)*hbar(n-1/2) - ! equation (14) Danlov et.al "the finite volume sea ice ocean model FESOM2 - ! ...if we do it here we don't need to write hbar_old into a restart file... - ! - where(ulevels_nod2D==1) is used here because of the rigid lid - ! approximation under the cavity - ! - at points in the cavity the time derivative term in ssh matrix will be - ! omitted; and (14) will not be applied at cavity points. Additionally, - ! since there is no real elevation, but only surface pressure, there is - ! no layer motion under the cavity. In this case the ice sheet acts as a - ! rigid lid. + if (.not. dynamics%use_ssh_splitexpl_subcycl) then + if (.not. trim(which_ale)=='linfs') call update_stiff_mat_ale(partit, mesh) + if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call compute_ssh_rhs_ale'//achar(27)//'[0m' + ! ssh_rhs=-alpha*\nabla\int(U_n+U_rhs)dz-(1-alpha)*... + ! see "FESOM2: from finite elements to finte volumes, S. Danilov..." eq. (18) rhs + call compute_ssh_rhs_ale(dynamics, partit, mesh) + + ! Take updated ssh matrix and solve --> new ssh! + t30=MPI_Wtime() + call solve_ssh_ale(dynamics, partit, mesh) + + if ((toy_ocean) .AND. (TRIM(which_toy)=="soufflet")) then + if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call relax_zonal_vel'//achar(27)//'[0m' + call relax_zonal_vel(dynamics, partit, mesh) + end if + t3=MPI_Wtime() + + ! estimate new horizontal velocity u^(n+1) + ! u^(n+1) = u* + [-g * tau * theta * grad(eta^(n+1)-eta^(n)) ] + if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call update_vel'//achar(27)//'[0m' + ! ke will be computed inside there if dynamics%ldiag_ke is .TRUE. + call update_vel(dynamics, partit, mesh) + + ! --> eta_(n) --> eta_(n+1) = eta_(n) + deta = eta_(n) + (eta_(n+1) + eta_(n)) + t4=MPI_Wtime() + + ! Update to hbar(n+3/2) and compute dhe to be used on the next step + if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call compute_hbar_ale'//achar(27)//'[0m' + call compute_hbar_ale(dynamics, partit, mesh) + + !___________________________________________________________________________ + ! - Current dynamic elevation alpha*hbar(n+1/2)+(1-alpha)*hbar(n-1/2) + ! equation (14) Danlov et.al "the finite volume sea ice ocean model FESOM2 + ! ...if we do it here we don't need to write hbar_old into a restart file... + ! - where(ulevels_nod2D==1) is used here because of the rigid lid + ! approximation under the cavity + ! - at points in the cavity the time derivative term in ssh matrix will be + ! omitted; and (14) will not be applied at cavity points. Additionally, + ! since there is no real elevation, but only surface pressure, there is + ! no layer motion under the cavity. In this case the ice sheet acts as a + ! rigid lid. !$OMP PARALLEL DO - do node=1, myDim_nod2D+eDim_nod2D - if (ulevels_nod2D(node)==1) eta_n(node)=alpha*hbar(node)+(1.0_WP-alpha)*hbar_old(node) - end do + do node=1, myDim_nod2D+eDim_nod2D + if (ulevels_nod2D(node)==1) eta_n(node)=alpha*hbar(node)+(1.0_WP-alpha)*hbar_old(node) + end do !$OMP END PARALLEL DO - ! --> eta_(n) - ! call zero_dynamics !DS, zeros several dynamical variables; to be used for testing new implementations! - t5=MPI_Wtime() + ! --> eta_(n) + ! call zero_dynamics !DS, zeros several dynamical variables; to be used for testing new implementations! + t5=MPI_Wtime() + + !___________________________________________________________________________ + ! Compute SSH via split-explicite subcycling + else + ! Compute vertical integral of transport velocity rhs omitting the contributions from + ! the elevation and Coriolis. + call compute_BC_BT_SE_vtransp(dynamics, partit, mesh) + + ! Do barotropic step, get eta_{n+1} and BT transport + call compute_BT_step_SE_ale(dynamics, partit, mesh) + + ! Trim U to be consistent with BT transport + call update_trim_vel_ale_vtransp(1, dynamics, partit, mesh) + + end if ! --> if (.not. dynamics%use_ssh_splitexpl_subcycl) then + !___________________________________________________________________________ ! Do horizontal and vertical scaling of GM/Redi diffusivity if (Fer_GM .or. Redi) then @@ -3181,23 +3220,29 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) t6=MPI_Wtime() !___________________________________________________________________________ - ! The main step of ALE procedure --> this is were the magic happens --> here - ! is decided how change in hbar is distributed over the vertical layers - if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call vert_vel_ale'//achar(27)//'[0m' ! keep the old vertical velocity for computation of the mean between the timesteps (is used in compute_ke_wrho) if (dynamics%ldiag_ke) then !$OMP PARALLEL DO - do node=1, myDim_nod2D+eDim_nod2D - dynamics%w_old(:, node)=dynamics%w(:, node) - end do + do node=1, myDim_nod2D+eDim_nod2D + dynamics%w_old(:, node)=dynamics%w(:, node) + end do !$OMP END PARALLEL DO end if + + !___________________________________________________________________________ + ! The main step of ALE procedure --> this is were the magic happens --> here + ! is decided how change in hbar is distributed over the vertical layers + if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call vert_vel_ale'//achar(27)//'[0m' call vert_vel_ale(dynamics, partit, mesh) t7=MPI_Wtime() + + !___________________________________________________________________________ + ! energy diagnostic computation if (dynamics%ldiag_ke) then call compute_ke_wrho(dynamics, partit, mesh) call compute_apegen (dynamics, tracers, partit, mesh) end if + !___________________________________________________________________________ ! solve tracer equation if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call solve_tracers_ale'//achar(27)//'[0m' @@ -3209,10 +3254,19 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call update_thickness_ale'//achar(27)//'[0m' call update_thickness_ale(partit, mesh) t9=MPI_Wtime() + + !___________________________________________________________________________ + ! Trim to make velocity consistent with BT velocity at n+1/2 + ! Velocity will be used to advance momentum + if (dynamics%use_ssh_splitexpl_subcycl) then + call update_trim_vel_ale_vtransp(2, dynamics, partit, mesh) + end if + !___________________________________________________________________________ ! write out global fields for debugging if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call write_step_info'//achar(27)//'[0m' call write_step_info(n,logfile_outfreq, ice, dynamics, tracers, partit, mesh) + !___________________________________________________________________________ ! write energy diagnostic info (dynamics%ldiag_ke = .true.) if (dynamics%ldiag_ke) then From 83a55669aa0f4c4d96530eaed42bafe64ea2b4db Mon Sep 17 00:00:00 2001 From: Patrick Scholz Date: Mon, 22 May 2023 11:56:41 +0200 Subject: [PATCH 035/273] add routines for split-explicite subcycling from sergeys prototyp routines --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 574 +++++++++++++++++++++++++- 1 file changed, 570 insertions(+), 4 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index a81b1b26b..af618aaf0 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -1,7 +1,52 @@ +! +! +!_______________________________________________________________________________ module momentum_adv_scalar_4splitexpl_interface interface subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) - use mod_mesh + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + end subroutine + end interface +end module +! +! +!_______________________________________________________________________________ +module impl_vert_visc_ale_vtransp_interface + interface + subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + end subroutine + end interface +end module +! +! +!_______________________________________________________________________________ +module compute_ssh_split_explicit_interface + interface + subroutine compute_BC_BT_SE_vtransp(dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + end subroutine + + subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) + USE MOD_MESH USE MOD_PARTIT USE MOD_PARSUP USE MOD_DYN @@ -9,13 +54,24 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh end subroutine + + subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + integer , intent(in) :: mode + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + end subroutine end interface end module ! ! !_______________________________________________________________________________ -! Transports are used instead of velocities, Urhs, Vrhs are also for transports. +! Transports are used instead of velocities, Urhs, Vrhs are also for transports. subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) USE MOD_MESH USE MOD_PARTIT @@ -420,11 +476,521 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) !$OMP END PARALLEL end subroutine +! +! +!_______________________________________________________________________________ +!SD Transport velocity version (T in the name) +!SD Solve U**-U*=dt*D_vert u**, where U*=Uh+rhs (rhs contains dt/elem_area) +!SD Express through Delta U=U**-U* and then introduce +!SD Delta u= Delta U/helem; after Delta u is found, rhs=rhs +h*Delta u. +!SD The rhs accumulated previously is not affected in this step, this is different +!SD from FESOM, and I would recomment this variant. +! +! +! solve equation vertical viscosity implicite part: +! --> U^(n+0.5,**) - U^(n+0.5,*) = dt*( Av * d/dz * u^(n+0.5,**) )|^t_b +! | +! +-> du = u^(n+0.5,**) - u^(n+0.5,*) = dU/h^(*) +! | +! +-> du * h^(*) = dU +! | u^(n+0.5,**) = du + u^(n+0.5,*) +! V +! du * h^(*) = dt*( Av*d/dz*du )|^t_b + dt*( Av*d/dz*u^(n+0.5,*) )|^t_b +! du - dt/h^(*)*( Av*d/dz*du ) = dt/h^(*)*( Av*d/dz*u^(n+0.5,*) ) +! +! --> 1st. solve homogenouse part: +! f(du) = du - dt/h^(*)*( Av*d/dz*du ) = 0 +! +! --> 2nd. compute difference quotient at du_i using Gauss-Theorem --> flux form +! V_i * du_i = dt * [ Av_i/h_i * (du_i-1 - du_i)/(Z_i-1 - Z_i) * A_i * nvec_up(+1) +! +Av_i+1/h_i * (du_i - du_i+1)/(Z_i - Z_i+1) * A_i+1 * nvec_dwn(-1) ] +! +! f(du_i) = du_i - dt*Av_i/h_i * (du_i-1 - du_i)/(Z_i-1 - Z_i) * A_i/V_i+1 +! + dt*Av_i+1/h_i * (du_i - du_i+1)/(Z_i - Z_i+1) * A_i+1/V_i+1 +! = 0 +! +! --> 3rd. solve for coefficents a, b, c (homogenous part): +! f(du_i) = [ a*du_i-1 + b*du_i + c*du_i+1 ] +! | +! +-> estimate a, b, c by derivation of d(du_i) +! | +! +-> a = d[f(du_i)]/d[du_i-1] = - dt*Av_i/h_i / (Z_i-1 - Z_i) +! | +! +-> c = d[f(du_i)]/d[du_i+1] = - dt*Av_i+1/h_i / (Z_i - Z_i+1) +! | +! +-> b = d[f(du_i)]/d[du_i] = 1 + dt*Av_i/h_i / (Z_i-1 - Z_i) + dt*Av_i+1/h_i / (Z_i - Z_i+1) +! 1 - a - c +! +! --> 4th. solve inhomogenous part: +! [ a*du_i-1 + b*du_i + c*du_i+1 ] = RHS/V_i +! +! RHS/V_i = dt* [ Av_i /h_i * (u^(n+0.5,*)_i-1 - u^(n+0.5,*)_i)/(Z_i-1 - Z_i) * A_i * nvec_up(+1) +! | +Av_i+1/h_i * (u^(n+0.5,*)_i - u^(n+0.5,*)_i+1)/(Z_i - Z_i+1) * A_i+1 * nvec_dwn(-1) ] +! | +! V +! = -a*u^(n+0.5,*)_i-1 + (a+c)*u^(n+0.5,*)_i - c*u^(n+0.5,*)_i+1 +! +! --> 5th. solve for du_i --> forward sweep algorithm --> see lower +! | b_1 c_1 ... | |du_1| +! | a_2 b_2 c_2 ... | |du_2| +! | a_3 b_3 c_3 ... | * |du_3| = RHS/V_i +! | a_4 b_4 c_4 ...| |du_4| +! | : | | : | +! +subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) + USE MOD_MESH + USE o_PARAM + USE o_ARRAYS, only: Av, stress_surf + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + USE g_CONFIG, only: dt + IMPLICIT NONE + !___________________________________________________________________________ + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + !___________________________________________________________________________ + real(kind=WP) :: a(mesh%nl-1), b(mesh%nl-1), c(mesh%nl-1), ur(mesh%nl-1), vr(mesh%nl-1) + real(kind=WP) :: cp(mesh%nl-1), up(mesh%nl-1), vp(mesh%nl-1), uu(mesh%nl-1), vv(mesh%nl-1) + integer :: elem, nz, nzmax, nzmin, elnodes(3) + real(kind=WP) :: zinv, m, friction, wu, wd + !___________________________________________________________________________ + ! pointer on necessary derived types + real(kind=WP), dimension(:,:,:), pointer :: UV, UV_rhs, UVh + real(kind=WP), dimension(:,:) , pointer :: Wvel_i +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + UV =>dynamics%uv(:,:,:) + UV_rhs =>dynamics%uv_rhs(:,:,:) + Wvel_i =>dynamics%w_i(:,:) + UVh =>dynamics%se_uvh(:,:,:) + !___________________________________________________________________________ +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(a, b, c, ur, vr, cp, up, vp, elem, & +!$OMP nz, nzmin, nzmax, elnodes, & +!$OMP zinv, m, friction, wu, wv, uu, vv) + + !___________________________________________________________________________ +!$OMP DO + do elem=1,myDim_elem2D + elnodes= elem2D_nodes(:,elem) + nzmin = ulevels(elem) + nzmax = nlevels(elem) + + !_______________________________________________________________________ + ! New velocities: compute u_k^(n+1/2, *) = u_k^(n-1/2) + UV_rhs/helem + ! UV_rhs is here in terms of transport velocity, we need real velocity + ! therefor divide with helem + uu(nzmin:nzmax-1)=(UVh(1, nzmin:nzmax-1, elem)+UV_rhs(1, nzmin:nzmax-1, elem))/helem(nzmin:nzmax-1, elem) !! u*=U*/h + vv(nzmin:nzmax-1)=(UVh(2, nzmin:nzmax-1, elem)+UV_rhs(2, nzmin:nzmax-1, elem))/helem(nzmin:nzmax-1, elem) + + !_______________________________________________________________________ + ! Operator + rhs + ! Regular part of coefficients: + + !_____1st layer (surface)_____ + nz = nzmin + zinv = 2.0_WP*dt/helem(nz, elem) + c( nz)= -Av(nz+1,elem)/(helem(nz,elem)+helem(nz+1,elem))*zinv + a( nz)= 0.0_WP + b( nz)= -c(nz)+1.0_WP + + ! Update from the vertical advection + wu = sum(Wvel_i(nz , elnodes))/3._WP + wd = sum(Wvel_i(nz+1, elnodes))/3._WP + b( nz)= b(nz)+wu*zinv + b( nz)= b(nz)-min(0._WP, wd)*zinv + c( nz)= c(nz)-max(0._WP, wd)*zinv + + ur(nz)= +c(nz)*uu(nz)-c(nz)*uu(nz+1) + vr(nz)= +c(nz)*vv(nz)-c(nz)*vv(nz+1) + + !_____bulk layers_____ + do nz=nzmin+1, nzmax-2 + zinv = 2.0_WP*dt/helem(nz, elem) + a( nz)= -Av(nz , elem)/(helem(nz-1, elem)+helem(nz , elem))*zinv + c( nz)= -Av(nz+1, elem)/(helem(nz , elem)+helem(nz+1, elem))*zinv + b( nz)= -a(nz)-c(nz)+1.0_WP + + ! Update from the vertical advection + wu=sum(Wvel_i(nz , elnodes))/3._WP + wd=sum(Wvel_i(nz+1, elnodes))/3._WP + a( nz)= a(nz)+min(0._WP, wu)*zinv + b( nz)= b(nz)+max(0._WP, wu)*zinv + + ur(nz)= -a(nz)*uu(nz-1)+(a(nz)+c(nz))*uu(nz)-c(nz)*uu(nz+1) !! add dt*D_vert u* + vr(nz)= -a(nz)*vv(nz-1)+(a(nz)+c(nz))*vv(nz)-c(nz)*vv(nz+1) !! to the rhs (because of Delta u) + end do + + !_____bottom layer_____ + nz = nzmax-1 + zinv = 2.0_WP*dt/helem(nz,elem) + a( nz)= -Av(nz, elem)/(helem(nz-1, elem)+helem(nz,elem))*zinv + b( nz)= -a(nz)+1.0_WP + c( nz)= 0.0_WP + + ! Update from the vertical advection + wu = sum(Wvel_i(nz-1, elnodes))/3._WP + a( nz)= a(nz)+min(0._WP, wu)*zinv + b( nz)= b(nz)+max(0._WP, wu)*zinv + + ur(nz)= -a(nz)*uu(nz-1)+a(nz)*uu(nz) + vr(nz)= -a(nz)*vv(nz-1)+a(nz)*vv(nz) + !_______________________________________________________________________ + ! Forcing to the rhs: + ! The first row contains surface forcing + nz = nzmin + zinv = 1.0_WP*dt/helem(nz, elem) + ur(nz)= ur(nz) + zinv*stress_surf(1, elem)/density_0 + vr(nz)= vr(nz) + zinv*stress_surf(2, elem)/density_0 + if (dynamics%ldiag_ke) then + dynamics%ke_wind(1,elem)=stress_surf(1, elem)/density_0*dt + dynamics%ke_wind(2,elem)=stress_surf(2, elem)/density_0*dt + end if + + ! The last row contains bottom friction + nz = nzmax-1 + zinv = 1.0_WP*dt/helem(nz, elem) + friction=-C_d*sqrt(UV(1, nz, elem)**2 + UV(2, nz, elem)**2) + ur(nz)= ur(nz) + zinv*friction*UV(1, nz, elem) + vr(nz)= vr(nz) + zinv*friction*UV(2, nz, elem) + if (dynamics%ldiag_ke) then + dynamics%ke_drag(1, elem)=friction*UV(1, nz, elem)*dt + dynamics%ke_drag(2, elem)=friction*UV(2, nz, elem)*dt + end if + + !_______________________________________________________________________ + ! The sweep algorithm --> solve for du_i + ! initialize c-prime and s,t-prime + cp(nzmin) = c(nzmin)/b(nzmin) + up(nzmin) = ur(nzmin)/b(nzmin) + vp(nzmin) = vr(nzmin)/b(nzmin) + + ! sove for vectors c-prime and t, s-prime + do nz=nzmin+1, nzmax-1 + m = b(nz)-cp(nz-1)*a(nz) + cp(nz) = c(nz)/m + up(nz) = (ur(nz)-up(nz-1)*a(nz))/m + vp(nz) = (vr(nz)-vp(nz-1)*a(nz))/m + end do + + ! initialize x + ur(nzmax-1) = up(nzmax-1) + vr(nzmax-1) = vp(nzmax-1) + + ! solve for x from the vectors c-prime and d-prime + do nz=nzmax-2, nzmin, -1 + ur(nz) = up(nz)-cp(nz)*ur(nz+1) + vr(nz) = vp(nz)-cp(nz)*vr(nz+1) + end do + + !_______________________________________________________________________ + ! RHS update + ! ur and vr are in terms of du velocity difference, UV_rhs are in terms + ! of transport velocity + do nz=nzmin, nzmax-1 + UV_rhs(1, nz, elem)=UV_rhs(1, nz, elem)+ur(nz)*helem(nz, elem) !! The rhs is for transport + UV_rhs(2, nz, elem)=UV_rhs(2, nz, elem)+vr(nz)*helem(nz, elem) + end do + end do ! --> do elem=1,myDim_elem2D +!$OMP END DO +!$OMP END PARALLEL +end subroutine impl_vert_visc_ale_vtransp +! +! +!_______________________________________________________________________________ +!SD Compute vertical integral of transport velocity rhs omitting the contributions from +!SD the elevation and Coriolis. The elevation and Coriolis are accounted for +!SD explicitly in BT equations, and should therefore be removed from the vertically integrated rhs. +subroutine compute_BC_BT_SE_vtransp(dynamics, partit, mesh) + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_MESH + USE MOD_DYN + USE g_config, only: dt, r_restart + IMPLICIT NONE + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + !___________________________________________________________________________ + real(kind=WP) :: vert_sum_u, vert_sum_v, Fx, Fy, ab1, ab2, hh + integer :: elem, nz, nzmin, nzmax, elnodes(4) + logical, save :: sfirst + !___________________________________________________________________________ + ! pointer on necessary derived types + real(kind=WP), dimension(:,:,:), pointer :: UV_rhs + real(kind=WP), dimension(:) , pointer :: eta_n + real(kind=WP), dimension(:,:) , pointer :: UVhBT_4AB, UVhBC_rhs +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + eta_n =>dynamics%eta_n(:) + UV_rhs =>dynamics%uv_rhs(:,:,:) + UVhBC_rhs =>dynamics%se_uvhBC_rhs(:,:) + UVhBT_4AB =>dynamics%se_uvhBT_4AB(:,:) + + !___________________________________________________________________________ + ab1=(1.5_WP+epsilon) + if(sfirst .and. (.not. r_restart)) then + ab1=1.0_WP + sfirst=.false. + end if + ab2=1.0_WP-ab1 + !___________________________________________________________________________ +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax, Fx, Fy, & +!$OMP vert_sum_u, vert_sum_v, hh) - - + !___________________________________________________________________________ +!$OMP DO + do elem=1, myDim_elem2D + elnodes= elem2D_nodes(:,elem) + nzmin = ulevels(elem) + nzmax = nlevels(elem)-1 + + !_______________________________________________________________________ + Fx=g*dt*sum(gradient_sca(1:4,elem)*eta_n(elnodes)) + Fy=g*dt*sum(gradient_sca(5:8,elem)*eta_n(elnodes)) + + !_______________________________________________________________________ + ! Sum 3D rhs + vert_sum_u=0.0_WP + vert_sum_v=0.0_WP + do nz=nzmin, nzmax + vert_sum_u=vert_sum_u + UV_rhs(1, nz, elem) + vert_sum_v=vert_sum_v + UV_rhs(2, nz, elem) + end do + + !_______________________________________________________________________ + ! Remove the contribution from the elevation + hh=sum(helem(nzmin:nzmax, elem)) + vert_sum_u=vert_sum_u + Fx*hh + vert_sum_v=vert_sum_v + Fy*hh + + !_______________________________________________________________________ + ! Remove the contribution from the Coriolis + UVhBC_rhs(1, elem)=vert_sum_u - dt*mesh%coriolis(elem)* & + (ab1*UVhBT_4AB(2,elem)+ab2*UVhBT_4AB(4,elem)) ! for AB-interpolated + UVhBC_rhs(2, elem)=vert_sum_v + dt*mesh%coriolis(elem)* & + (ab1*UVhBT_4AB(1,elem)+ab2*UVhBT_4AB(3,elem)) + + !_______________________________________________________________________ + ! save actual of vertical integrated transport velocity UVhBT_4AB(1:2,elem) + ! timestep for next time loop step + UVhBT_4AB(3:4,elem)=UVhBT_4AB(1:2,elem) + end do +!PS !$OMP END DO +!PS !$OMP END PARALLEL +end subroutine compute_BC_BT_SE_vtransp +! +! +!_______________________________________________________________________________ +! Barotropic time stepping with Forward-Backward dissipative method +! (Demange et al. 2019) +subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_MESH + USE MOD_DYN + use g_comm_auto + USE g_config, only: dt + IMPLICIT NONE + !___________________________________________________________________________ + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + !___________________________________________________________________________ + real(kind=WP) :: dtBT, BT_inv, hh, f, rx, ry, a, d, c1, c2, ax, ay + real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, thetaBT + integer :: step, elem, elnodes(3), edge, ednodes(2), edelem(2) + !___________________________________________________________________________ + ! pointer on necessary derived types + real(kind=WP), dimension(:) , pointer :: eta_n + real(kind=WP), dimension(:,:) , pointer :: UVhBC_rhs, UVBT, UVBT_theta, UVBT_mean, UVBT_12 +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + eta_n =>dynamics%eta_n(:) + UVhBC_rhs =>dynamics%se_uvhBC_rhs(:,:) + UVBT =>dynamics%se_uvBT(:,:) + UVBT_theta=>dynamics%se_uvBT_theta(:,:) + UVBT_mean =>dynamics%se_uvBT_mean(:,:) + UVBT_12 =>dynamics%se_uvBT_12(:,:) + + !___________________________________________________________________________ + ! Dissipation parameter of FB dissipative method 0.14 is the default value + ! from Demange et al. + thetaBT= 0.14_WP + + ! BTsteps should be 30 or 40. + dtBT = dt/dynamics%splitexpl_BTsteps + BT_inv = 1.0_WP/(1.0_WP*dynamics%splitexpl_BTsteps) + + !___________________________________________________________________________ + ! eta_n elevation used in BT stepping, it is just a copy of eta_n + ! UBT and VBT are transport velocities + UVBT_mean= 0.0_WP + do step=1, dynamics%splitexpl_BTsteps + ! + ! Dissipative forward--backward time stepping + ! + !_______________________________________________________________________ + ! Advance velocities. I use SI stepping for the Coriolis + do elem=1, myDim_elem2D + elnodes=elem2D_nodes(:,elem) + !PS hh = -zbar(nlevels(elem))+sum(eta_n(elnodes))/3.0_WP + hh = -zbar_e_bot(elem)+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth + f = mesh%coriolis(elem) + rx = dtBT*(-g*hh*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + f*UVBT(1, elem)) + BT_inv*UVhBC_rhs(1, elem) + ry = dtBT*(-g*hh*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - f*UVBT(2, elem)) + BT_inv*UVhBC_rhs(2, elem) + + ! Semi-Implicit Coriolis + a = dtBT*f*0.5_WP + d = 1.0_WP/(1.0_WP+a*a) + ax = d*(rx+a*ry) + ay = d*(-a*rx+ry) + UVBT( 1, elem) = UVBT( 1, elem) + ax ! New velocity + UVBT( 2, elem) = UVBT( 2, elem) + ay + + ! velocities for dissipative time stepping of thickness equation + UVBT_theta(1, elem) = UVBT_theta(1, elem) + thetaBT*ax ! New vel*(1+thetaBT)-old vel *thetaBT + UVBT_theta(2, elem) = UVBT_theta(2, elem) + thetaBT*ay + + ! Mean BT velocity to trim 3D velocity in tracers + UVBT_mean( 1, elem) = UVBT_mean( 1, elem) + UVBT_theta(1, elem)*BT_inv + UVBT_mean( 2, elem) = UVBT_mean( 2, elem) + UVBT_theta(2, elem)*BT_inv + end do + + !_______________________________________________________________________ + ! Store mid-step velocity (to trim 3D velocities in momentum) + if(step==dynamics%splitexpl_BTsteps/2) then + UVBT_12=UVBT + end if + + !_______________________________________________________________________ + ! Advance thickness + do edge=1, myDim_edge2D + ednodes = edges(:,edge) + edelem = edge_tri(:,edge) + deltaX1 = edge_cross_dxdy(1,edge) + deltaY1 = edge_cross_dxdy(2,edge) + + c1 = UVBT_theta(2, edelem(1))*deltaX1 - UVBT_theta(1, edelem(1))*deltaY1 + c2 = 0.0_WP + if(edelem(2)>0) then + deltaX2=edge_cross_dxdy(3,edge) + deltaY2=edge_cross_dxdy(4,edge) + c2=-(UVBT_theta(2, edelem(2))*deltaX2 - UVBT_theta(1, edelem(2))*deltaY2) + end if + eta_n(ednodes(1))=eta_n(ednodes(1))+(c1+c2)*dtBT/area(1,ednodes(1)) + eta_n(ednodes(2))=eta_n(ednodes(2))-(c1+c2)*dtBT/area(1,ednodes(2)) + end do + + !_______________________________________________________________________ + call exchange_nod(eta_n, partit) + + end do ! --> do step=1, dynamics%splitexpl_BTsteps + + hbar_old = hbar + hbar = eta_n +end subroutine compute_BT_step_SE_ale +! +! +!_______________________________________________________________________________ +! Trim U and Uh to be consistent with BT transport +subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_MESH + USE MOD_DYN + use g_comm_auto + IMPLICIT NONE + !___________________________________________________________________________ + integer , intent(in) :: mode + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer :: i,elem, elnodes(4), nz, m + real(kind=WP) :: eta(4), ff + real(kind=WP) :: Fx, Fy, ubar, vbar, hh_inv + !___________________________________________________________________________ + ! pointer on necessary derived types + real(kind=WP), dimension(:,:,:), pointer :: UVh, UV, UV_rhs + real(kind=WP), dimension(:,:) , pointer :: UVBT_mean, UVBT_12 +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + UVh =>dynamics%se_uvh(:,:,:) + UV_rhs =>dynamics%uv_rhs(:,:,:) + UVBT_mean =>dynamics%se_uvBT_mean(:,:) + UVBT_12 =>dynamics%se_uvBT_12(:,:) + if (mode==2) then + UV =>dynamics%uv(:,:,:) + end if + + !___________________________________________________________________________ + ! + ! Transport version + ! + !___________________________________________________________________________ + ! Trim full velocity to ensure that its vertical sum equals to the mean BT velocity + ! The trimmed Uh,Vh are consistent with new total height defined by eta_n + if (mode==1) then + do elem=1, myDim_elem2D + ubar=0.0_WP + vbar=0.0_WP + hh_inv=0.0_WP + do nz=1, nlevels(elem)-1 + ! Update transport velocities + UVh(1, nz, elem)=UVh(1, nz, elem)+UV_rhs(1, nz, elem) + UVh(2, nz, elem)=UVh(2, nz, elem)+UV_rhs(2, nz, elem) + ubar=ubar+UVh(1, nz, elem) + vbar=vbar+UVh(2, nz, elem) + hh_inv=hh_inv+helem(nz,elem) + end do + + hh_inv=1.0_WP/hh_inv ! Postpone AB and 2nd order, just use available thickness + DO nz=1, nlevels(elem)-1 + UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv + UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv + UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed + UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) + end do + end do + call exchange_elem(UVh, partit) ! This exchange can be avoided, but test first. + + !___________________________________________________________________________ + ! Trim to make velocity consistent with BT velocity at n+1/2 + ! Velocity will be used to advance momentum + else + do elem=1, myDim_elem2D + ubar=0.0_WP + vbar=0.0_WP + hh_inv=0.0_WP + do nz=1, nlevels(elem)-1 + ubar=ubar+UVh(1, nz, elem) + vbar=vbar+UVh(2, nz, elem) + hh_inv=hh_inv+helem(nz,elem) + end do + + hh_inv=1.0_WP/hh_inv ! Postpone 2nd order, just use available thickness + do nz=1, nlevels(elem)-1 + UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_12(1, elem)-ubar)*helem(nz,elem)*hh_inv + UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_12(2, elem)-vbar)*helem(nz,elem)*hh_inv + UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed + UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection + end do + end do + call exchange_elem(UVh, partit) ! + call exchange_elem(UV , partit) ! Check if this is needed + end if ! --> if (mode==1) then +end subroutine update_trim_vel_ale_vtransp From fc4897bb790eb15731e4f59b54633c1cf193f768 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 22 May 2023 12:05:22 +0200 Subject: [PATCH 036/273] add comments and explanations to adams-bashfort --- src/oce_ale_vel_rhs.F90 | 96 ++++++++++++++++++++++++++--------------- 1 file changed, 62 insertions(+), 34 deletions(-) diff --git a/src/oce_ale_vel_rhs.F90 b/src/oce_ale_vel_rhs.F90 index 7ec1a8d1e..e62ff1a93 100644 --- a/src/oce_ale_vel_rhs.F90 +++ b/src/oce_ale_vel_rhs.F90 @@ -66,7 +66,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) real(kind=WP), dimension(:) , pointer :: m_ice, m_snow, a_ice real(kind=WP) , pointer :: rhoice, rhosno, inv_rhowat real(kind=WP), dimension(:,:,:), pointer :: UVh - real(kind=WP), dimension(:,:) , pointer :: UVh_BT4AB + real(kind=WP), dimension(:,:) , pointer :: UVhBT_4AB #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -84,7 +84,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) ! if split-explicite ssh subcycling is used if (dynamics%use_ssh_splitexpl_subcycl) then UVh => dynamics%se_uvh - UVh_BT4AB => dynamics%se_uvh_BT4AB + UVhBT_4AB => dynamics%se_uvhBT_4AB end if !___________________________________________________________________________ @@ -96,13 +96,18 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) do elem=1, myDim_elem2D nzmax = nlevels(elem) nzmin = ulevels(elem) - !___________________________________________________________________________ + !_______________________________________________________________________ ! Take care of the AB part - !!PS do nz=1,nl-1 do nz=nzmin,nzmax-1 UV_rhs(1,nz,elem)=-(0.5_WP+epsilon)*UV_rhsAB(1,nz,elem) UV_rhs(2,nz,elem)=-(0.5_WP+epsilon)*UV_rhsAB(2,nz,elem) - end do + ! | + ! V + ! Here Adams-Bashfort from previouse time n-0.5 + ! Thats why (0.5_WP+epsilon)*... to achieve second + ! order AB2 --> fAB2 = 3/2*fab_n - 1/2*fab_n-1 + end do + if (dynamics%ldiag_ke) then do nz=nzmin,nzmax-1 dynamics%ke_adv(:,nz,elem)=-(0.5_WP+epsilon)*dynamics%ke_adv_AB(:,nz,elem) @@ -110,7 +115,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) end do end if - !___________________________________________________________________________ + !_______________________________________________________________________ ! Sea level and pressure contribution -\nabla(\eta +hpressure/rho_0) ! and the Coriolis force + metric terms elnodes=elem2D_nodes(:,elem) @@ -119,9 +124,9 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) p_eta = g*eta_n(elnodes) ff = mesh%coriolis(elem)*elem_area(elem) - !mm=metric_factor(elem)*gg + !mm=metric_factor(elem)*elem_area(elem) - !___________________________________________________________________________ + !_______________________________________________________________________ ! contribution from sea level pressure if (l_mslp) then p_air = press_air(elnodes)/1000 @@ -129,7 +134,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) p_air = 0.0_WP end if - !___________________________________________________________________________ + !_______________________________________________________________________ ! in case of ALE zlevel and zstar add pressure from ice to atmospheric pressure ! to account for floating ice if (use_pice > 0) then @@ -141,7 +146,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) p_ice = 0.0_WP endif - !____________________________________________________________________________ + !_______________________________________________________________________ ! apply pressure gradient force, as well as contributions from gradient of ! the sea surface height as well as ice pressure in case of floating sea ice ! to velocity rhs @@ -149,35 +154,45 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) if (use_global_tides) then pre=pre-ssh_gp(elnodes) end if - Fx = sum(gradient_sca(1:3,elem)*pre) Fy = sum(gradient_sca(4:6,elem)*pre) - do nz=nzmin,nzmax-1 - ! add pressure gradient terms - UV_rhs(1,nz,elem) = UV_rhs(1,nz,elem) + (Fx-pgf_x(nz,elem))*elem_area(elem) - UV_rhs(2,nz,elem) = UV_rhs(2,nz,elem) + (Fy-pgf_y(nz,elem))*elem_area(elem) - end do - !____________________________________________________________________________ + !_______________________________________________________________________ ! when ssh split-explicite subcycling method is setted use transport velocities ! u*h, v*h instead of u,v if (.not. dynamics%use_ssh_splitexpl_subcycl) then - do nz=nzmin,nzmax-1 - ! add coriolis force - UV_rhsAB(1,nz,elem) = UV(2,nz,elem)*ff! + mm*UV(1,nz,elem)*UV(2,nz,elem) - UV_rhsAB(2,nz,elem) =-UV(1,nz,elem)*ff! - mm*UV(1,nz,elem)*UV(2,nz,elem) + do nz=nzmin, nzmax-1 + ! add pressure gradient terms + UV_rhs( 1, nz, elem) = UV_rhs(1, nz, elem) + (Fx-pgf_x(nz, elem))*elem_area(elem) + UV_rhs( 2, nz, elem) = UV_rhs(2, nz, elem) + (Fy-pgf_y(nz, elem))*elem_area(elem) + + ! add coriolis force, initialise AB2 array of actual timestep + ! with coriolis term + UV_rhsAB(1, nz, elem) = UV(2, nz, elem)*ff! + mm*UV(1,nz,elem)*UV(2,nz,elem) + UV_rhsAB(2, nz, elem) =-UV(1, nz, elem)*ff! - mm*UV(1,nz,elem)*UV(2,nz,elem) end do else - UVh_BT4AB(1:2,elem) = 0.0_WP + UVhBT_4AB(1:2,elem) = 0.0_WP do nz=nzmin,nzmax-1 + ! add pressure gradient terms + UV_rhs( 1, nz, elem) = UV_rhs(1, nz, elem) + (Fx-pgf_x(nz, elem))*elem_area(elem)*helem(nz,elem) + UV_rhs( 2, nz, elem) = UV_rhs(2, nz, elem) + (Fy-pgf_y(nz, elem))*elem_area(elem)*helem(nz,elem) + + ! add coriolis force, initialise AB2 array of actual timestep + ! with coriolis term UV_rhsAB(1, nz ,elem) = UVh(1, nz, elem)*ff! + mm*UV(1,nz,elem)*UVh(1, nz, elem) UV_rhsAB(2, nz ,elem) =-UVh(2, nz, elem)*ff! - mm*UV(1,nz,elem)*UVh(2, nz, elem) - UVh_BT4AB(1,elem) = UVh_BT4AB(1, elem) + UVh(1, nz, elem) ! Barotropic velocity - UVh_BT4AB(2,elem) = UVh_BT4AB(2, elem) + UVh(2, nz, elem) ! + + ! compute barotropic velocity for adams-bashfort time stepping + ! UVhBT_4AB(1:2, elem)--> actual timestep, + ! UVhBT_4AB(3:4, elem)--> previous timestep (is setted in + ! call compute_BC_BT_SE_vtransp) + UVhBT_4AB(1, elem) = UVhBT_4AB(1, elem) + UVh(1, nz, elem) ! + UVhBT_4AB(2, elem) = UVhBT_4AB(2, elem) + UVh(2, nz, elem) ! end do end if - !___________________________________________________________________________ + !_______________________________________________________________________ if (dynamics%ldiag_ke) then do nz=nzmin,nzmax-1 dynamics%ke_pre(1,nz,elem)= (Fx-pgf_x(nz,elem))*dt!*elem_area(elem) !not to divide it aterwards (at the end of this subroutine) @@ -195,7 +210,8 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) !$OMP END PARALLEL DO !___________________________________________________________________________ - ! advection + ! advection --> add momentum advection to actual timerstep adams-bashfort + ! array UV_rhsAB if (dynamics%momadv_opt==1) then if (mype==0) write(*,*) 'in moment not adapted mom_adv advection typ for ALE, check your namelist' call par_ex(partit%MPI_COMM_FESOM, partit%mype, 1) @@ -206,6 +222,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) call momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) end if end if + !___________________________________________________________________________ ! Update the rhs ff=(1.5_WP+epsilon) @@ -220,20 +237,30 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) do nz=nzmin,nzmax-1 UV_rhs(1,nz,elem)=dt*(UV_rhs(1,nz,elem)+UV_rhsAB(1,nz,elem)*ff)/elem_area(elem) UV_rhs(2,nz,elem)=dt*(UV_rhs(2,nz,elem)+UV_rhsAB(2,nz,elem)*ff)/elem_area(elem) + ! | | + ! V V + ! fAB = (f_pgf - 1/2*fab_n-1) +3/2*fab_n + ! + ! until here: UV_rhs = dt*[ (R_advec + R_coriolis)^n + R_pressure] + ! --> horizontal viscosity contribution still missing is added in + ! call viscosity_filter + ! --> vertical viscosity contribution still missing is added in + ! call impl_vert_visc_ale end do end do !$OMP END PARALLEL DO + !___________________________________________________________________________ if (dynamics%ldiag_ke) then !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) - do elem=1, myDim_elem2D - nzmax = nlevels(elem) - nzmin = ulevels(elem) - do nz=nzmin,nzmax-1 - dynamics%ke_adv(:,nz,elem)=dt*(dynamics%ke_adv(:,nz,elem)+dynamics%ke_adv_AB(:,nz,elem)*ff)/elem_area(elem) - dynamics%ke_cor(:,nz,elem)=dt*(dynamics%ke_cor(:,nz,elem)+dynamics%ke_cor_AB(:,nz,elem)*ff)/elem_area(elem) + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_adv(:,nz,elem)=dt*(dynamics%ke_adv(:,nz,elem)+dynamics%ke_adv_AB(:,nz,elem)*ff)/elem_area(elem) + dynamics%ke_cor(:,nz,elem)=dt*(dynamics%ke_cor(:,nz,elem)+dynamics%ke_cor_AB(:,nz,elem)*ff)/elem_area(elem) + end do end do - end do !$OMP END PARALLEL DO end if @@ -243,9 +270,10 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) END SUBROUTINE compute_vel_rhs ! +! +!_______________________________________________________________________________ ! Momentum advection on scalar control volumes with ALE adaption--> exchange zinv(nz) ! against hnode(nz,node) -!_______________________________________________________________________________ subroutine momentum_adv_scalar(dynamics, partit, mesh) USE MOD_MESH USE MOD_PARTIT From 466e3d7c507cc76fc5195756e1948b9aefd1485d Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 22 May 2023 14:29:47 +0200 Subject: [PATCH 037/273] actualise and add some comments and explanations --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 56 +++++++++--- src/oce_ale_tracer.F90 | 119 +++++++++++++++----------- 2 files changed, 116 insertions(+), 59 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index af618aaf0..334d91951 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -497,22 +497,54 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) ! V ! du * h^(*) = dt*( Av*d/dz*du )|^t_b + dt*( Av*d/dz*u^(n+0.5,*) )|^t_b ! du - dt/h^(*)*( Av*d/dz*du ) = dt/h^(*)*( Av*d/dz*u^(n+0.5,*) ) +! --> solve for du +! ^ +! /|\ nvec_up (+1) +! | +! ----------- zbar_1, A_1 *----|----* +! Z_1 o T_1, Ac_1 |\ | ./| +! ----------- zbar_2, A_2 | \ ./ | Gaus Theorem: +! Z_2 o T_2, Ac_2 | \ / | --> Flux form +! ----------- zbar_3, A_3 | | | --> normal vec outwards facing +! Z_3 o T_3, Ac_3 *---|-----* +! ----------- zbar_4 \ | | ./ +! : \ | |/ +! \|/| +! * | +! V nvec_dwn (-1) ! ! --> 1st. solve homogenouse part: ! f(du) = du - dt/h^(*)*( Av*d/dz*du ) = 0 ! ! --> 2nd. compute difference quotient at du_i using Gauss-Theorem --> flux form -! V_i * du_i = dt * [ Av_i/h_i * (du_i-1 - du_i)/(Z_i-1 - Z_i) * A_i * nvec_up(+1) -! +Av_i+1/h_i * (du_i - du_i+1)/(Z_i - Z_i+1) * A_i+1 * nvec_dwn(-1) ] -! -! f(du_i) = du_i - dt*Av_i/h_i * (du_i-1 - du_i)/(Z_i-1 - Z_i) * A_i/V_i+1 -! + dt*Av_i+1/h_i * (du_i - du_i+1)/(Z_i - Z_i+1) * A_i+1/V_i+1 +! | +! +-> Gauss THeorem: int(V', div(F_vec))dV = intcircle(A', F_vec*n_vec)dA +! | +! +-> du = dt/h^(*)*( Av*d/dz*du ) | *div()_z=d/dz, *int(V',)dV +! | int(V', d/dz *du)dV = int(V', d/dz *dt/h^(*)*( Av*d/dz*du ) )dV +! | ... = intcircle(A', dt/h^(*)*( Av*d/dz*du )*n_vec)dA +! | int(V', d/dz *du)dz*dA = ... +! | int(A', du)dA = intcircle(A', dt/h^(*)*( Av*d/dz*du )*n_vec)dA +! | +! +-> Ac_i area of vector cell = are of triangle, A_i, A_i+1 area of top +! | and bottom face +! V +! +! du_i * Ac_i = dt * [ Av_i /h_i * (du_i-1 - du_i )/(Z_i-1 - Z_i ) * A_i * nvec_up(+1) +! +Av_i+1/h_i * (du_i - du_i+1)/(Z_i - Z_i+1) * A_i+1 * nvec_dwn(-1) ] +! | +! +-> since we are on triangles Ac_i = A_i = A_i+1 --> can kick out A_i/Ac_i +! | and A_i+1/Ac_i +! +-> take into account normal vector direction +! V +! f(du_i) = du_i - dt*Av_i /h_i * (du_i-1 - du_i )/(Z_i-1 - Z_i ) +! + dt*Av_i+1/h_i * (du_i - du_i+1)/(Z_i - Z_i+1) ! = 0 ! ! --> 3rd. solve for coefficents a, b, c (homogenous part): ! f(du_i) = [ a*du_i-1 + b*du_i + c*du_i+1 ] ! | -! +-> estimate a, b, c by derivation of d(du_i) +! +-> estimate a, b, c by derivation of f(du_i) ! | ! +-> a = d[f(du_i)]/d[du_i-1] = - dt*Av_i/h_i / (Z_i-1 - Z_i) ! | @@ -522,18 +554,20 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) ! 1 - a - c ! ! --> 4th. solve inhomogenous part: -! [ a*du_i-1 + b*du_i + c*du_i+1 ] = RHS/V_i +! [ a*du_i-1 + b*du_i + c*du_i+1 ] = RHS/A_i ! -! RHS/V_i = dt* [ Av_i /h_i * (u^(n+0.5,*)_i-1 - u^(n+0.5,*)_i)/(Z_i-1 - Z_i) * A_i * nvec_up(+1) -! | +Av_i+1/h_i * (u^(n+0.5,*)_i - u^(n+0.5,*)_i+1)/(Z_i - Z_i+1) * A_i+1 * nvec_dwn(-1) ] -! | +! RHS/A_i = dt* [ Av_i /h_i * (u^(n+0.5,*)_i-1 - u^(n+0.5,*)_i )/(Z_i-1 - Z_i ) * A_i /A_i * nvec_up(+1) +! | +Av_i+1/h_i * (u^(n+0.5,*)_i - u^(n+0.5,*)_i+1)/(Z_i - Z_i+1) * A_i+1/A_i * nvec_dwn(-1) ] +! | +! +-> since we are on triangles A_i = A_i+1 --> can kick out A_i +! +-> take into account normal vector direction ! V ! = -a*u^(n+0.5,*)_i-1 + (a+c)*u^(n+0.5,*)_i - c*u^(n+0.5,*)_i+1 ! ! --> 5th. solve for du_i --> forward sweep algorithm --> see lower ! | b_1 c_1 ... | |du_1| ! | a_2 b_2 c_2 ... | |du_2| -! | a_3 b_3 c_3 ... | * |du_3| = RHS/V_i +! | a_3 b_3 c_3 ... | * |du_3| = RHS/A_i ! | a_4 b_4 c_4 ...| |du_4| ! | : | | : | ! diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 34b9528ff..dc1201fe2 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -485,69 +485,90 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) if (Redi) isredi=1._WP Ty =0.0_WP Ty1 =0.0_WP - + ! solve equation diffusion equation implicite part: ! --> h^(n+0.5)* (T^(n+0.5)-Tstar) = dt*( K_33*d/dz*(T^(n+0.5)-Tstar) + K_33*d/dz*Tstar ) ! --> Tnew = T^(n+0.5)-Tstar ! --> h^(n+0.5)* (Tnew) = dt*(K_33*d/dz*Tnew) + K_33*dt*d/dz*Tstar ! --> h^(n+0.5)* (Tnew) = dt*(K_33*d/dz*Tnew) + RHS ! --> solve for T_new - ! --> V_1 (Skalar Volume), A_1 (Area of edge), . - ! no Cavity A1==V1, yes Cavity A1 !=V1 /I\ nvec_up (+1) - ! I - ! ----------- zbar_1, A_1 *----I----* - ! Z_1 o T_1, V1 |\ I ./| - ! ----------- zbar_2, A_2 | \ ./ | Gaus Theorem: - ! Z_2 o T_2, V2 | \ / | --> Flux form - ! ----------- zbar_3, A_3 | | | --> normal vec outwards facing - ! Z_3 o T_3, V3 *---|-----* - ! ----------- zbar_4 \ | I ./ - ! : \ | I/ - ! \|/I - ! * I - ! \I/ - ! * nvec_dwn (-1) + ! --> As_1 (Skalar Area), A_1 (Area of edge), + ! no Cavity A_1==As_1, yes Cavity A1 !=As_1 + ! + ! ----------- zbar_1, A_1 nvec_up (+1) + ! Z_1 o T_1, As_1 ^ + ! ----------- zbar_2, A_2 _____|_____ Gaus Theorem: + ! Z_2 o T_2, As_2 /| | |\ --> Flux form + ! ----------- zbar_3, A_3 * | | | * --> normal vec outwards facing + ! Z_3 o T_3, As_3 |\___________/| + ! ----------- zbar_4 | | | | + ! : | |_________| | + ! |/ \| + ! * | * + ! \_____|_____/ + ! | + ! V nvec_dwn (-1) + ! ! --> 1st. solve homogenouse part: - ! f(Tnew) = h^(n+0.5)* (Tnew) - dt*(K_33*dTnew/dz) = 0 + ! f(Tnew) = h^(n+0.5)* (Tnew) - dt*(K_33*dTnew/dz) = 0 ! ! --> 2nd. Difference Quotient at Tnew_i in flux form (Gaus Theorem, dont forget normal vectors!!!): - ! V_i*Tnew_i *h_i = -dt * [ K_33 * (Tnew_i-1 - Tnew_i)/(Z_i-1 - Z_i) * A_i * nvec_up - ! +K_33 * (Tnew_i - Tnew_i+1)/(Z_i - Z_i+1) * A_i+1 * nvec_dwn ] - ! Tnew_i *h_i = -dt * [ K_33 * (Tnew_i-1 - Tnew_i)/(Z_i-1 - Z_i) * A_i /V_i * nvec_up - ! +K_33 * (Tnew_i - Tnew_i+1)/(Z_i - Z_i+1) * A_i+1/V_i * nvec_dwn ] - ! - ! --> 3rd. solve for coefficents a, b, c: - ! f(Tnew) = [ a*dTnew_i-1 + b*dTnew_i + c*dTnew_i+1 ] - ! - ! df(Tnew)/dTnew_i-1 = a = -dt*K_33/(Z_i-1 - Z_i) * A_i/V_i * (nvec_up =1) + ! | + ! +-> Gauss THeorem: int(V', div(F_vec))dV = intcircle(A', F_vec*n_vec)dA + ! | + ! +-> du = dt*( K_33*d/dz*dTnew ) | *div()_z=d/dz, *int(V',)dV + ! | int(V', d/dz *du)dV = int(V', d/dz *dt*( K_33*d/dz*dTnew ) )dV + ! | ... = intcircle(A', dt*( K_33*d/dz*dTnew )*n_vec)dA + ! | int(V', d/dz *du)dz*dA = ... + ! | int(A', du)dA = intcircle(A', dt*( K_33*d/dz*dTnew )*n_vec)dA + ! | + ! +-> As_i area of scalar cell = A_i, A_i+1 area of top + ! | and bottom face of scalar cell + ! V ! - ! df(Tnew)/dTnew_i+1 = c = dt * K_33 * 1/(Z_i - Z_i+1) * A_i+1/V_i * (nvec_dwn=-1) - ! = -dt * K_33 * 1/(Z_i - Z_i+1) * A_i+1/V_i + ! As_i*Tnew_i *h_i = dt * [ K_33 * (Tnew_i-1 - Tnew_i )/(Z_i-1 - Z_i ) * A_i * nvec_up(+1) + ! +K_33 * (Tnew_i - Tnew_i+1)/(Z_i - Z_i+1) * A_i+1 * nvec_dwn(-1) ] + ! Tnew_i *h_i = dt * [ K_33 * (Tnew_i-1 - Tnew_i )/(Z_i-1 - Z_i ) * A_i /As_i * nvec_up(+1) + ! +K_33 * (Tnew_i - Tnew_i+1)/(Z_i - Z_i+1) * A_i+1/As_i * nvec_dwn(-1) ] + ! | + ! +-> since we are on scalar cell As_i != A_i != A_i+1 + ! +-> take into account normal vector direction + ! V + ! f(Tnew) = Tnew_i*h_i - dt*K_33 * (Tnew_i-1 - Tnew_i )/(Z_i-1 - Z_i ) * A_i /As_i + ! + dt*K_33 * (Tnew_i - Tnew_i+1)/(Z_i - Z_i+1) * A_i+1/As_i + ! = 0 ! - ! df(Tnew)/dTnew_i = b = h_i + dt*K_33/(Z_i-1 - Z_i) * A_i/V_i * (nvec_up=+1) - ! - dt*K_33/(Z_i - Z_i+1) * A_i+1/V_i * (nvec_dwn=-1) - ! = h_i + dt*K_33/(Z_i-1 - Z_i) * A_i/V_i - ! + dt*K_33/(Z_i - Z_i+1) * A_i+1/V_i - ! = h_i -(a+c) + ! --> 3rd. solve for coefficents a, b, c: + ! f(Tnew) = [ a*dTnew_i-1 + b*dTnew_i + c*dTnew_i+1 ] + ! | + ! +-> estimate a, b, c by derivation of f(Tnew_i) + ! | + ! +-> a = df(Tnew)/dTnew_i-1 = -dt*K_33/(Z_i-1 - Z_i) * A_i/As_i + ! | + ! +-> c = df(Tnew)/dTnew_i+1 = -dt * K_33 * 1/(Z_i - Z_i+1) * A_i+1/As_i + ! | + ! +-> b = df(Tnew)/dTnew_i = h_i + dt*K_33/(Z_i-1 - Z_i) * A_i /As_i + ! + dt*K_33/(Z_i - Z_i+1) * A_i+1/As_i + ! = h_i -(a+c) ! ! --> 4th. solve inhomogenous part: - ! [ a*dTnew_i-1 + b*dTnew_i + c*dTnew_i+1 ] = RHS/V_i + ! [ a*dTnew_i-1 + b*dTnew_i + c*dTnew_i+1 ] = RHS/As_i ! - ! RHS = K_33*dt*d/dz*Tstar + ! RHS = K_33*dt*d/dz*Tstar ! ! --> write as Difference Quotient in flux form - ! RHS/V_i = K_33 * dt * (Tstar_i-1 - Tstar_i)/(Z_i-1 - Z_i) * A_i/V_i * (nvec_up=1) - ! + K_33 * dt * (Tstar_i - Tstar_i+1)/(Z_i - Z_i+1) * A_i+1/V_i * (nvec_dwn=-1) + ! RHS/As_i = K_33 * dt * (Tstar_i-1 - Tstar_i)/(Z_i-1 - Z_i) * A_i/As_i * (nvec_up=1) + ! + K_33 * dt * (Tstar_i - Tstar_i+1)/(Z_i - Z_i+1) * A_i+1/As_i * (nvec_dwn=-1) ! - ! = K_33*dt/(Z_i-1 - Z_i) * A_i/V_i * Tstar_i-1 - ! - K_33*dt/(Z_i-1 - Z_i) * A_i/V_i * Tstar_i - ! - K_33*dt/(Z_i - Z_i+1) * A_i+1/V_i * Tstar_i - ! + K_33*dt/(Z_i - Z_i+1) * A_i+1/V_i * Tstar_i+1 + ! = K_33*dt/(Z_i-1 - Z_i) * A_i/As_i * Tstar_i-1 + ! - K_33*dt/(Z_i-1 - Z_i) * A_i/As_i * Tstar_i + ! - K_33*dt/(Z_i - Z_i+1) * A_i+1/As_i * Tstar_i + ! + K_33*dt/(Z_i - Z_i+1) * A_i+1/As_i * Tstar_i+1 ! - ! = -a*Tstar_i-1 + (a+c)*Tstar_i - c * Tstar_i+1 - ! |-> b = h_i - (a+c), a+c = h_i-b + ! = -a*Tstar_i-1 + (a+c)*Tstar_i - c * Tstar_i+1 + ! |-> b = h_i - (a+c), a+c = h_i-b ! - ! = -a*Tstar_i-1 - (b-h_i)*Tstar_i - c * Tstar_i+1 + ! = -a*Tstar_i-1 - (b-h_i)*Tstar_i - c * Tstar_i+1 ! ! --> 5th. solve for Tnew_i --> forward sweep algorithm --> see lower ! | b_1 c_1 ... | |dTnew_1| @@ -556,12 +577,14 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) ! | a_4 b_4 c_4 ...| |dTnew_4| ! | : | | : | ! - ! --> a = -dt*K_33 / (Z_i-1 - Z_i) * A_i/V_i + ! --> a = -dt*K_33 / (Z_i-1 - Z_i) * A_i/As_i ! - ! --> c = -dt*K_33 / (Z_i - Z_i+1) * A_i+1/V_i + ! --> c = -dt*K_33 / (Z_i - Z_i+1) * A_i+1/As_i + ! + ! --> b = h^(n+0.5) -[ dt*K_33/(Z_i-1 - Z_i ) * A_i /As_i + ! +dt*K_33/(Z_i - Z_i+1) * A_i+1/As_i ] + ! = -(a+c) + h^(n+0.5) ! - ! --> b = h^(n+0.5) -[ dt*K_33/(Z_i-1 - Z_i)*A_i/V_i + dt*K_33/(Z_i - Z_i+1) * A_i+1/V_i ] = -(a+c) + h^(n+0.5) - !___________________________________________________________________________ ! loop over local nodes From 07282eb31720dac60d6106e31328b3139da3cfcc Mon Sep 17 00:00:00 2001 From: Patrick Scholz Date: Tue, 23 May 2023 11:51:36 +0200 Subject: [PATCH 038/273] add some more comments and change some varaible names --- src/MOD_DYN.F90 | 12 +-- src/oce_ale.F90 | 2 +- src/oce_ale_ssh_splitexpl_subcycl.F90 | 148 +++++++++++++++++++------- src/oce_ale_vel_rhs.F90 | 16 +-- src/oce_setup_step.F90 | 14 ++- 5 files changed, 129 insertions(+), 63 deletions(-) diff --git a/src/MOD_DYN.F90 b/src/MOD_DYN.F90 index 900ed561d..e95fae68d 100644 --- a/src/MOD_DYN.F90 +++ b/src/MOD_DYN.F90 @@ -65,10 +65,10 @@ MODULE MOD_DYN !___arrays for split explicite ssh computation______________________________ ! se_uvh...transport velocity, real(kind=WP), allocatable, dimension(:,:,:):: se_uvh - !se_uv_rhs...vertical integral of transport velocity rhs, se_uvhBT_4AB... + !se_uv_rhs...vertical integral of transport velocity rhs, se_uvBT_4AB... ! barotropic transport velocities (vertically integrated), contains actual ! timestep (1:2) and previous timestep (3:4) for adams-bashfort interpolation - real(kind=WP), allocatable, dimension(:,:) :: se_uvhBC_rhs, se_uvhBT_4AB + real(kind=WP), allocatable, dimension(:,:) :: se_uvBT_rhs, se_uvBT_4AB ! se_uvBT...barotropic trnasport velocities from barotropic time stepping ! se_uvBT_theta...velocities for dissipative time stepping of thickness equation @@ -276,8 +276,8 @@ subroutine WRITE_T_DYN(dynamics, unit, iostat, iomsg) end if if (dynamics%use_ssh_splitexpl_subcycl) then call write_bin_array(dynamics%se_uvh , unit, iostat, iomsg) - call write_bin_array(dynamics%se_uvhBC_rhs , unit, iostat, iomsg) - call write_bin_array(dynamics%se_uvhBT_4AB , unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvBT_rhs , unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvBT_4AB , unit, iostat, iomsg) call write_bin_array(dynamics%se_uvBT , unit, iostat, iomsg) call write_bin_array(dynamics%se_uvBT_theta, unit, iostat, iomsg) call write_bin_array(dynamics%se_uvBT_mean , unit, iostat, iomsg) @@ -332,8 +332,8 @@ subroutine READ_T_DYN(dynamics, unit, iostat, iomsg) end if if (dynamics%use_ssh_splitexpl_subcycl) then call read_bin_array(dynamics%se_uvh , unit, iostat, iomsg) - call read_bin_array(dynamics%se_uvhBC_rhs , unit, iostat, iomsg) - call read_bin_array(dynamics%se_uvhBT_4AB , unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvBT_rhs , unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvBT_4AB , unit, iostat, iomsg) call read_bin_array(dynamics%se_uvBT , unit, iostat, iomsg) call read_bin_array(dynamics%se_uvBT_theta, unit, iostat, iomsg) call read_bin_array(dynamics%se_uvBT_mean , unit, iostat, iomsg) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 07d6f5ff5..825e3c097 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -3194,7 +3194,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) else ! Compute vertical integral of transport velocity rhs omitting the contributions from ! the elevation and Coriolis. - call compute_BC_BT_SE_vtransp(dynamics, partit, mesh) + call compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) ! Do barotropic step, get eta_{n+1} and BT transport call compute_BT_step_SE_ale(dynamics, partit, mesh) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 334d91951..c0b2ef63f 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -35,7 +35,7 @@ subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) !_______________________________________________________________________________ module compute_ssh_split_explicit_interface interface - subroutine compute_BC_BT_SE_vtransp(dynamics, partit, mesh) + subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) USE MOD_MESH USE MOD_PARTIT USE MOD_PARSUP @@ -739,7 +739,7 @@ end subroutine impl_vert_visc_ale_vtransp !SD Compute vertical integral of transport velocity rhs omitting the contributions from !SD the elevation and Coriolis. The elevation and Coriolis are accounted for !SD explicitly in BT equations, and should therefore be removed from the vertically integrated rhs. -subroutine compute_BC_BT_SE_vtransp(dynamics, partit, mesh) +subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) USE MOD_PARTIT USE MOD_PARSUP USE MOD_MESH @@ -757,15 +757,15 @@ subroutine compute_BC_BT_SE_vtransp(dynamics, partit, mesh) ! pointer on necessary derived types real(kind=WP), dimension(:,:,:), pointer :: UV_rhs real(kind=WP), dimension(:) , pointer :: eta_n - real(kind=WP), dimension(:,:) , pointer :: UVhBT_4AB, UVhBC_rhs + real(kind=WP), dimension(:,:) , pointer :: UVBT_4AB, UVBT_rhs #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" #include "associate_mesh_ass.h" eta_n =>dynamics%eta_n(:) UV_rhs =>dynamics%uv_rhs(:,:,:) - UVhBC_rhs =>dynamics%se_uvhBC_rhs(:,:) - UVhBT_4AB =>dynamics%se_uvhBT_4AB(:,:) + UVBT_rhs =>dynamics%se_uvBT_rhs(:,:) + UVBT_4AB =>dynamics%se_uvBT_4AB(:,:) !___________________________________________________________________________ ab1=(1.5_WP+epsilon) @@ -791,7 +791,7 @@ subroutine compute_BC_BT_SE_vtransp(dynamics, partit, mesh) Fy=g*dt*sum(gradient_sca(5:8,elem)*eta_n(elnodes)) !_______________________________________________________________________ - ! Sum 3D rhs + ! vertically integrate UV_rhs --> for barotropic equatiobn vert_sum_u=0.0_WP vert_sum_v=0.0_WP do nz=nzmin, nzmax @@ -800,31 +800,53 @@ subroutine compute_BC_BT_SE_vtransp(dynamics, partit, mesh) end do !_______________________________________________________________________ - ! Remove the contribution from the elevation + ! Remove the contribution from the elevation will be accounted explicitely + ! for in the barotropic equation hh=sum(helem(nzmin:nzmax, elem)) vert_sum_u=vert_sum_u + Fx*hh vert_sum_v=vert_sum_v + Fy*hh !_______________________________________________________________________ - ! Remove the contribution from the Coriolis - UVhBC_rhs(1, elem)=vert_sum_u - dt*mesh%coriolis(elem)* & - (ab1*UVhBT_4AB(2,elem)+ab2*UVhBT_4AB(4,elem)) ! for AB-interpolated - UVhBC_rhs(2, elem)=vert_sum_v + dt*mesh%coriolis(elem)* & - (ab1*UVhBT_4AB(1,elem)+ab2*UVhBT_4AB(3,elem)) + ! Remove the contribution from the Coriolis will be accounted explicitely + ! for in the barotropic equation + ! UVBT_rhs ... baroclinic forcing term in barotropic equation R_b + ! --> d/dt*U_bt + f*e_z x U_bt + g*H* grad(eta) = R_bt + UVBT_rhs(1, elem)=vert_sum_u - dt*mesh%coriolis(elem)* & + (ab1*UVBT_4AB(2,elem)+ab2*UVBT_4AB(4,elem)) ! for AB-interpolated + UVBT_rhs(2, elem)=vert_sum_v + dt*mesh%coriolis(elem)* & + (ab1*UVBT_4AB(1,elem)+ab2*UVBT_4AB(3,elem)) !_______________________________________________________________________ - ! save actual of vertical integrated transport velocity UVhBT_4AB(1:2,elem) + ! save actual of vertical integrated transport velocity UVBT_4AB(1:2,elem) ! timestep for next time loop step - UVhBT_4AB(3:4,elem)=UVhBT_4AB(1:2,elem) + ! UVBT_4AB ... is U_bt in barotropic equation + ! --> d/dt*U_bt + f*e_z x U_bt + g*H*grad_H(eta) = R_bt + UVBT_4AB(3:4,elem)=UVBT_4AB(1:2,elem) end do !PS !$OMP END DO !PS !$OMP END PARALLEL -end subroutine compute_BC_BT_SE_vtransp +end subroutine compute_BT_rhs_SE_vtransp ! ! !_______________________________________________________________________________ -! Barotropic time stepping with Forward-Backward dissipative method -! (Demange et al. 2019) +! Barotropic time stepping with Forward-Backward dissipative method +! (Demange et al. 2019) is used where eta and U_bt = sum_k(U_k) = sum_k(u_k*h_k) +! are estimated from the equations ... +! --> d/dt*U_bt + f*e_z x U_bt + g*H*grad_H(eta) = R_bt +! --> d/dt*eta + div_h(U_bt) + FW = 0 +! +! +! --> forward-backward dissipative time stepping by Demagne et al. 2019 +! --> equation (6) in T. Banerjee et al.,Split-Explicite external +! mode solver in FESOM2, +! +! Ubt^(n+(m+1)/M) = Ubt^(n+(m)/M) - dt/M*[ +! + 0.5*f*e_z x (Ubt^(n+(m+1)/M) + Ubt^(n+(m)/M)) +! - h*H^m*grad_H*eta^((n+m)/M) +! - Rbt-->UVBT_rhs ] +! +! eta^(n+(m+1)/M) = eta^(n+(m)/M) - dt/M * div_H * [(1+theta)*Ubt^(n+(m+1)/M) - theta*Ubt^(n+(m)/M)] +! subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) USE MOD_PARTIT USE MOD_PARSUP @@ -844,13 +866,13 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), dimension(:) , pointer :: eta_n - real(kind=WP), dimension(:,:) , pointer :: UVhBC_rhs, UVBT, UVBT_theta, UVBT_mean, UVBT_12 + real(kind=WP), dimension(:,:) , pointer :: UVBT_rhs, UVBT, UVBT_theta, UVBT_mean, UVBT_12 #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" #include "associate_mesh_ass.h" eta_n =>dynamics%eta_n(:) - UVhBC_rhs =>dynamics%se_uvhBC_rhs(:,:) + UVBT_rhs =>dynamics%se_uvBT_rhs(:,:) UVBT =>dynamics%se_uvBT(:,:) UVBT_theta=>dynamics%se_uvBT_theta(:,:) UVBT_mean =>dynamics%se_uvBT_mean(:,:) @@ -877,25 +899,44 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! Advance velocities. I use SI stepping for the Coriolis do elem=1, myDim_elem2D elnodes=elem2D_nodes(:,elem) - !PS hh = -zbar(nlevels(elem))+sum(eta_n(elnodes))/3.0_WP + !___________________________________________________________________ + ! compute term: + ! AAA = - dt/M*[ + 0.5*f*e_z x (Ubt^(n+(m+1)/M) + Ubt^(n+(m)/M)) + ! - h*H^m*grad_H*eta^((n+m)/M) + ! - Rbt-->UVBT_rhs ] hh = -zbar_e_bot(elem)+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth f = mesh%coriolis(elem) - rx = dtBT*(-g*hh*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + f*UVBT(1, elem)) + BT_inv*UVhBC_rhs(1, elem) - ry = dtBT*(-g*hh*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - f*UVBT(2, elem)) + BT_inv*UVhBC_rhs(2, elem) + rx = dtBT*(-g*hh*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + f*UVBT(1, elem)) + BT_inv*UVBT_rhs(1, elem) + ry = dtBT*(-g*hh*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - f*UVBT(2, elem)) + BT_inv*UVBT_rhs(2, elem) ! Semi-Implicit Coriolis a = dtBT*f*0.5_WP d = 1.0_WP/(1.0_WP+a*a) ax = d*(rx+a*ry) ay = d*(-a*rx+ry) - UVBT( 1, elem) = UVBT( 1, elem) + ax ! New velocity - UVBT( 2, elem) = UVBT( 2, elem) + ay + !___________________________________________________________________ + ! compute new velocities Ubt^(n+(m+1)/M) at barotropic time step (n+(m+1)/M) ... + ! Ubt^(n+(m+1)/M) = Ubt^(n+(m)/M) + AAA + ! equation (6) in T. Banerjee et al.,Split-Explicite external + ! mode solver in FESOM2, + UVBT( 1, elem) = UVBT(1, elem) + ax + UVBT( 2, elem) = UVBT(2, elem) + ay + + !___________________________________________________________________ ! velocities for dissipative time stepping of thickness equation - UVBT_theta(1, elem) = UVBT_theta(1, elem) + thetaBT*ax ! New vel*(1+thetaBT)-old vel *thetaBT - UVBT_theta(2, elem) = UVBT_theta(2, elem) + thetaBT*ay + ! compute: [(1+theta)*Ubt^(n+(m+1)/M) - theta*Ubt^(n+(m)/M)] by ... + ! + ! --> AAA = Ubt^(n+(m+1)/M) - Ubt^(n+(m)/M) | *theta + ! AAA * theta = (Ubt^(n+(m+1)/M) - Ubt^(n+(m)/M) )*theta + ! --> Ubt^(n+(m+1)/M) + AAA*theta = Ubt^(n+(m+1)/M) + (Ubt^(n+(m+1)/M) - Ubt^(n+(m)/M) )*theta + ! (1+theta)*Ubt^(n+(m+1)/M) + theta*Ubt^(n+(m)/M) + UVBT_theta(1, elem) = UVBT(1, elem) + thetaBT*ax ! New vel*(1+thetaBT)-old vel *thetaBT + UVBT_theta(2, elem) = UVBT(2, elem) + thetaBT*ay - ! Mean BT velocity to trim 3D velocity in tracers + !___________________________________________________________________ + ! Mean BT velocity to trim 3D velocity in tracers, equation (10) in + ! T. Banerjee et al.,Split-Explicite external mode solver in FESOM2, UVBT_mean( 1, elem) = UVBT_mean( 1, elem) + UVBT_theta(1, elem)*BT_inv UVBT_mean( 2, elem) = UVBT_mean( 2, elem) + UVBT_theta(2, elem)*BT_inv end do @@ -908,12 +949,16 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !_______________________________________________________________________ ! Advance thickness + ! compute: dt/M * div_H * [(1+theta)*Ubt^(n+(m+1)/M) - theta*Ubt^(n+(m)/M)] + ! and advance ssh --> eta^(n+(m+1)/M) = eta^(n+(m)/M) - dt/M * div_H * [...] do edge=1, myDim_edge2D ednodes = edges(:,edge) edelem = edge_tri(:,edge) + + !___________________________________________________________________ + ! compute divergence div_H * [(1+theta)*Ubt^(n+(m+1)/M) - theta*Ubt^(n+(m)/M)] deltaX1 = edge_cross_dxdy(1,edge) deltaY1 = edge_cross_dxdy(2,edge) - c1 = UVBT_theta(2, edelem(1))*deltaX1 - UVBT_theta(1, edelem(1))*deltaY1 c2 = 0.0_WP if(edelem(2)>0) then @@ -921,6 +966,11 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) deltaY2=edge_cross_dxdy(4,edge) c2=-(UVBT_theta(2, edelem(2))*deltaX2 - UVBT_theta(1, edelem(2))*deltaY2) end if + + !___________________________________________________________________ + ! advance ssh --> eta^(n+(m+1)/M) = eta^(n+(m)/M) - dt/M * div_H * [...] + ! equation (6) in T. Banerjee et al.,Split-Explicite external + ! mode solver in FESOM2, eta_n(ednodes(1))=eta_n(ednodes(1))+(c1+c2)*dtBT/area(1,ednodes(1)) eta_n(ednodes(2))=eta_n(ednodes(2))-(c1+c2)*dtBT/area(1,ednodes(2)) end do @@ -949,7 +999,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh - integer :: i,elem, elnodes(4), nz, m + integer :: i,elem, elnodes(4), nz, m, nzmin, nzmax real(kind=WP) :: eta(4), ff real(kind=WP) :: Fx, Fy, ubar, vbar, hh_inv !___________________________________________________________________________ @@ -977,20 +1027,35 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! The trimmed Uh,Vh are consistent with new total height defined by eta_n if (mode==1) then do elem=1, myDim_elem2D - ubar=0.0_WP - vbar=0.0_WP - hh_inv=0.0_WP - do nz=1, nlevels(elem)-1 - ! Update transport velocities + ubar = 0.0_WP + vbar = 0.0_WP + hh_inv = 0.0_WP + + nzmin = ulevels(elem) + nzmax = nlevels(elem)-1 + do nz=nzmin, nzmax + !_______________________________________________________________ + ! Update transport velocities: U^(n+1/2,**) = U^(n+1/2,*) + U_rhs UVh(1, nz, elem)=UVh(1, nz, elem)+UV_rhs(1, nz, elem) UVh(2, nz, elem)=UVh(2, nz, elem)+UV_rhs(2, nz, elem) + + !_______________________________________________________________ + ! vertically integrate updated transport velocity: sum(k, U_k^(n+1/2,**) ) ubar=ubar+UVh(1, nz, elem) vbar=vbar+UVh(2, nz, elem) hh_inv=hh_inv+helem(nz,elem) end do + !___________________________________________________________________ + ! finalize horizontal transport by making vertically integrated + ! transport equal to the value obtained from the barotropic solution + ! + ! --> equation (11) in T. Banerjee et al.,Split-Explicite external + ! mode solver in FESOM2, + ! U_k^(n+1/2) = U^(n+1/2,**) + ! + [<>^(n+1/2) - sum(k, U_k^(n+1/2,**)] * h_k^(n+1/2)/sum(k,h_k^(n+1/2)) hh_inv=1.0_WP/hh_inv ! Postpone AB and 2nd order, just use available thickness - DO nz=1, nlevels(elem)-1 + DO nz=nzmin, nzmax UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed @@ -1004,17 +1069,20 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! Velocity will be used to advance momentum else do elem=1, myDim_elem2D - ubar=0.0_WP - vbar=0.0_WP - hh_inv=0.0_WP - do nz=1, nlevels(elem)-1 + ubar = 0.0_WP + vbar = 0.0_WP + hh_inv = 0.0_WP + + nzmin = ulevels(elem) + nzmax = nlevels(elem)-1 + do nz=nzmin, nzmax ubar=ubar+UVh(1, nz, elem) vbar=vbar+UVh(2, nz, elem) hh_inv=hh_inv+helem(nz,elem) end do hh_inv=1.0_WP/hh_inv ! Postpone 2nd order, just use available thickness - do nz=1, nlevels(elem)-1 + do nz=nzmin, nzmax UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_12(1, elem)-ubar)*helem(nz,elem)*hh_inv UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_12(2, elem)-vbar)*helem(nz,elem)*hh_inv UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed diff --git a/src/oce_ale_vel_rhs.F90 b/src/oce_ale_vel_rhs.F90 index e62ff1a93..771dc8303 100644 --- a/src/oce_ale_vel_rhs.F90 +++ b/src/oce_ale_vel_rhs.F90 @@ -66,7 +66,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) real(kind=WP), dimension(:) , pointer :: m_ice, m_snow, a_ice real(kind=WP) , pointer :: rhoice, rhosno, inv_rhowat real(kind=WP), dimension(:,:,:), pointer :: UVh - real(kind=WP), dimension(:,:) , pointer :: UVhBT_4AB + real(kind=WP), dimension(:,:) , pointer :: UVBT_4AB #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -83,8 +83,8 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) ! if split-explicite ssh subcycling is used if (dynamics%use_ssh_splitexpl_subcycl) then - UVh => dynamics%se_uvh - UVhBT_4AB => dynamics%se_uvhBT_4AB + UVh => dynamics%se_uvh + UVBT_4AB => dynamics%se_uvBT_4AB end if !___________________________________________________________________________ @@ -172,7 +172,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) UV_rhsAB(2, nz, elem) =-UV(1, nz, elem)*ff! - mm*UV(1,nz,elem)*UV(2,nz,elem) end do else - UVhBT_4AB(1:2,elem) = 0.0_WP + UVBT_4AB(1:2,elem) = 0.0_WP do nz=nzmin,nzmax-1 ! add pressure gradient terms UV_rhs( 1, nz, elem) = UV_rhs(1, nz, elem) + (Fx-pgf_x(nz, elem))*elem_area(elem)*helem(nz,elem) @@ -184,11 +184,11 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) UV_rhsAB(2, nz ,elem) =-UVh(2, nz, elem)*ff! - mm*UV(1,nz,elem)*UVh(2, nz, elem) ! compute barotropic velocity for adams-bashfort time stepping - ! UVhBT_4AB(1:2, elem)--> actual timestep, - ! UVhBT_4AB(3:4, elem)--> previous timestep (is setted in + ! UVBT_4AB(1:2, elem)--> actual timestep, + ! UVBT_4AB(3:4, elem)--> previous timestep (is setted in ! call compute_BC_BT_SE_vtransp) - UVhBT_4AB(1, elem) = UVhBT_4AB(1, elem) + UVh(1, nz, elem) ! - UVhBT_4AB(2, elem) = UVhBT_4AB(2, elem) + UVh(2, nz, elem) ! + UVBT_4AB(1, elem) = UVBT_4AB(1, elem) + UVh(1, nz, elem) ! + UVBT_4AB(2, elem) = UVBT_4AB(2, elem) + UVh(2, nz, elem) ! end do end if diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 59498a14a..c8b4bf2ef 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -473,21 +473,17 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) ! allocate/initialise ssh arrays in derived type allocate(dynamics%eta_n( node_size)) dynamics%eta_n = 0.0_WP - - !!PS allocate(dynamics%ssh_rhs_old(node_size)) - !!PS dynamics%ssh_rhs_old= 0.0_WP - if (dynamics%use_ssh_splitexpl_subcycl) then allocate(dynamics%se_uvh( 2, nl-1, elem_size)) - allocate(dynamics%se_uvhBC_rhs( 2, elem_size)) - allocate(dynamics%se_uvhBT_4AB( 4, elem_size)) + allocate(dynamics%se_uvBT_rhs( 2, elem_size)) + allocate(dynamics%se_uvBT_4AB( 4, elem_size)) allocate(dynamics%se_uvBT( 2, elem_size)) allocate(dynamics%se_uvBT_theta(2, elem_size)) allocate(dynamics%se_uvBT_mean( 2, elem_size)) allocate(dynamics%se_uvBT_12( 2, elem_size)) dynamics%se_uvh = 0.0_WP - dynamics%se_uvhBC_rhs = 0.0_WP - dynamics%se_uvhBT_4AB = 0.0_WP + dynamics%se_uvBT_rhs = 0.0_WP + dynamics%se_uvBT_4AB = 0.0_WP dynamics%se_uvBT = 0.0_WP dynamics%se_uvBT_theta = 0.0_WP dynamics%se_uvBT_mean = 0.0_WP @@ -497,6 +493,8 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) allocate(dynamics%ssh_rhs( node_size)) dynamics%d_eta = 0.0_WP dynamics%ssh_rhs = 0.0_WP + !!PS allocate(dynamics%ssh_rhs_old(node_size)) + !!PS dynamics%ssh_rhs_old= 0.0_WP end if !___________________________________________________________________________ From 7636ceb3cb7b831de86160c1d9cc9d38149b41bb Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 2 Jun 2023 14:59:02 +0200 Subject: [PATCH 039/273] .... --- src/io_blowup.F90 | 19 +- src/io_meandata.F90 | 24 +- src/oce_ale.F90 | 290 +++++++++++++----- src/oce_ale_ssh_splitexpl_subcycl.F90 | 425 ++++++++++++++++++++++++-- src/oce_ale_vel_rhs.F90 | 39 +-- src/write_step_info.F90 | 67 +++- 6 files changed, 729 insertions(+), 135 deletions(-) diff --git a/src/io_blowup.F90 b/src/io_blowup.F90 index 60832dd37..b672392c8 100644 --- a/src/io_blowup.F90 +++ b/src/io_blowup.F90 @@ -102,12 +102,25 @@ subroutine ini_blowup_io(year, ice, dynamics, tracers, partit, mesh) !___Define the netCDF variables for 2D fields_______________________________ !___SSH_____________________________________________________________________ call def_variable(bid, 'eta_n' , (/nod2D/) , 'sea surface elevation', 'm', dynamics%eta_n); - call def_variable(bid, 'd_eta' , (/nod2D/) , 'change in ssh from solver', 'm', dynamics%d_eta); !___ALE related fields______________________________________________________ call def_variable(bid, 'hbar' , (/nod2D/) , 'ALE surface elevation hbar_n+0.5', 'm', hbar); !!PS call def_variable(bid, 'hbar_old' , (/nod2D/) , 'ALE surface elevation hbar_n-0.5', 'm', hbar_old); - call def_variable(bid, 'ssh_rhs' , (/nod2D/) , 'RHS for the elevation', '?', dynamics%ssh_rhs); - call def_variable(bid, 'ssh_rhs_old', (/nod2D/) , 'RHS for the elevation', '?', dynamics%ssh_rhs_old); + if (.not. dynamics%use_ssh_splitexpl_subcycl) then + call def_variable(bid, 'd_eta' , (/nod2D/) , 'change in ssh from solver', 'm', dynamics%d_eta); + call def_variable(bid, 'ssh_rhs' , (/nod2D/) , 'RHS for the elevation', '?', dynamics%ssh_rhs); + call def_variable(bid, 'ssh_rhs_old', (/nod2D/) , 'RHS for the elevation', '?', dynamics%ssh_rhs_old); + + else + call def_variable(bid, 'ubt_rhs' , (/elem2D/), 'zonal RHS barotr. transp. equation' , '?', dynamics%se_uvBT_rhs( 1,:)); + call def_variable(bid, 'vbt_rhs' , (/elem2D/), 'merid. RHS barotr. transp. equation', '?', dynamics%se_uvBT_rhs( 2,:)); + call def_variable(bid, 'ubt' , (/elem2D/), 'zonal barotr. transp.' , '?', dynamics%se_uvBT( 1,:)); + call def_variable(bid, 'vbt' , (/elem2D/), 'merid. barotr. transp.' , '?', dynamics%se_uvBT( 2,:)); + call def_variable(bid, 'ubt_theta', (/elem2D/), 'zonal barotr. theta term.' , '?', dynamics%se_uvBT_theta(1,:)); + call def_variable(bid, 'vbt_theta', (/elem2D/), 'merid. barotr. theta term' , '?', dynamics%se_uvBT_theta(2,:)); + call def_variable(bid, 'ubt_mean' , (/elem2D/), 'zonal barotr. mean term.' , '?', dynamics%se_uvBT_mean( 1,:)); + call def_variable(bid, 'vbt_mean' , (/elem2D/), 'merid. barotr. mean term' , '?', dynamics%se_uvBT_mean( 2,:)); + end if + !___Define the netCDF variables for 3D fields_______________________________ call def_variable(bid, 'hnode' , (/nl-1, nod2D/) , 'ALE stuff', '?', hnode); call def_variable(bid, 'helem' , (/nl-1, elem2D/) , 'Element layer thickness', 'm/s', helem(:,:)); diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 1edb8067c..37819c762 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -613,7 +613,28 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) if (sel_forcvar(14)==0) call def_stream(nod2D , myDim_nod2D , 'relaxsalt', 'relaxation salt flux' , 'm/s*psu', relax_salt(:) , io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) #endif if (sel_forcvar(15)==0) call def_stream(nod2D , myDim_nod2D , 'realsalt' , 'real salt flux from sea ice' , 'm/s*psu', real_salt_flux(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end if + end if +!_______________________________________________________________________________ +! Split-Explicite subcycling varaibles +CASE ('SPLIT-EXPL') + if (dynamics%use_ssh_splitexpl_subcycl) then + call def_stream(elem2D, myDim_elem2D , 'ubt' , 'zonal barotrop. transport' , '?' , dynamics%se_uvBT(1,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(elem2D, myDim_elem2D , 'vbt' , 'merid. barotrop. transport', '?' , dynamics%se_uvBT(2,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(elem2D, myDim_elem2D , 'ubt_rhs', 'zonal barotrop. transport RHS' , '?' , dynamics%se_uvBT_rhs(1,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(elem2D, myDim_elem2D , 'vbt_rhs', 'merid. barotrop. transport RHS', '?' , dynamics%se_uvBT_rhs(2,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(elem2D, myDim_elem2D , 'ubt_12' , 'zonal barotrop. transport 12' , '?' , dynamics%se_uvBT_12(1,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(elem2D, myDim_elem2D , 'vbt_12' , 'merid. barotrop. transport 12', '?' , dynamics%se_uvBT_12(2,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(elem2D, myDim_elem2D , 'ubt_theta', 'zonal barotrop. transport theta' , '?' , dynamics%se_uvBT_theta(1,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(elem2D, myDim_elem2D , 'vbt_theta', 'merid. barotrop. transport theta', '?' , dynamics%se_uvBT_theta(2,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(elem2D, myDim_elem2D , 'ubt_mean' , 'zonal barotrop. transport mean' , '?' , dynamics%se_uvBT_mean(1,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(elem2D, myDim_elem2D , 'vbt_mean' , 'merid. barotrop. transport mean', '?' , dynamics%se_uvBT_mean(2,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1,elem2D/), (/nl-1,myDim_elem2D/) , 'u_rhs' , 'zonal transport rhs' , '?' , dynamics%uv_rhs(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1,elem2D/), (/nl-1,myDim_elem2D/) , 'v_rhs' , 'merid. transport rhs', '?' , dynamics%uv_rhs(2,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1,elem2D/), (/nl-1,myDim_elem2D/) , 'uh' , 'zonal transport' , '?' , dynamics%se_uvh(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1,elem2D/), (/nl-1,myDim_elem2D/) , 'vh' , 'merid. transport', '?' , dynamics%se_uvh(2,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + + !_______________________________________________________________________________ CASE DEFAULT if (mype==0) write(*,*) 'stream ', io_list(i)%id, ' is not defined !' @@ -762,6 +783,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream(nod2D , myDim_nod2D , 'ke_swA', 'Thermal expansion coeff (alpha)', '1/°C', dynamics%ke_swA(:), io_list(i)%freq, 'm', 8, partit, mesh) call def_stream(nod2D , myDim_nod2D , 'ke_swB', 'Taline contraction coeff (beta)', '1/PSU', dynamics%ke_swB(:), io_list(i)%freq, 'm', 8, partit, mesh) end if + end subroutine ! ! diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 825e3c097..e692b44a4 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -1991,7 +1991,7 @@ subroutine vert_vel_ale(dynamics, partit, mesh) integer :: el(2), enodes(2), n, nz, ed, nzmin, nzmax, uln1, uln2, nln1, nln2 real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, dd, dd1, dddt, cflmax ! still to be understood but if you allocate these arrays statically the results will be different: - real(kind=WP) :: c1(mesh%nl-1), c2(mesh%nl-1) + real(kind=WP) :: e1c1(mesh%nl-1), e1c2(mesh%nl-1), e2c1(mesh%nl-1), e2c2(mesh%nl-1) ! --> zlevel with local zstar real(kind=WP) :: dhbar_total, dhbar_rest, distrib_dhbar_int real(kind=WP), dimension(:), allocatable :: max_dhbar2distr, cumsum_maxdhbar, distrib_dhbar @@ -2011,14 +2011,20 @@ subroutine vert_vel_ale(dynamics, partit, mesh) Wvel_e => dynamics%w_e(:,:) Wvel_i => dynamics%w_i(:,:) CFL_z => dynamics%cfl_z(:,:) - ssh_rhs => dynamics%ssh_rhs(:) - ssh_rhs_old => dynamics%ssh_rhs_old(:) eta_n => dynamics%eta_n(:) - d_eta => dynamics%d_eta(:) if (Fer_GM) then fer_UV => dynamics%fer_uv(:,:,:) fer_Wvel=> dynamics%fer_w(:,:) - end if + end if + + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + d_eta => dynamics%d_eta(:) + ssh_rhs => dynamics%ssh_rhs(:) + ssh_rhs_old => dynamics%ssh_rhs_old(:) + else + + end if + !___________________________________________________________________________ ! Contributions from levels in divergence !$OMP PARALLEL DO @@ -2054,11 +2060,11 @@ subroutine vert_vel_ale(dynamics, partit, mesh) ! --> h * u_vec * n_vec ! --> e_vec = (dx,dy), n_vec = (-dy,dx); ! --> h * u*(-dy) + v*dx - c1(nz)=( UV(2,nz,el(1))*deltaX1 - UV(1,nz,el(1))*deltaY1 )*helem(nz,el(1)) + e1c1(nz)=( UV(2,nz,el(1))*deltaX1 - UV(1,nz,el(1))*deltaY1 )*helem(nz,el(1)) ! inflow(outflow) "flux" to control volume of node enodes1 ! is equal to outflow(inflow) "flux" to control volume of node enodes2 if (Fer_GM) then - c2(nz)=(fer_UV(2,nz,el(1))*deltaX1- fer_UV(1,nz,el(1))*deltaY1)*helem(nz,el(1)) + e1c2(nz)=(fer_UV(2,nz,el(1))*deltaX1- fer_UV(1,nz,el(1))*deltaY1)*helem(nz,el(1)) end if end do #if defined(_OPENMP) && !defined(__openmp_reproducible) @@ -2066,17 +2072,17 @@ subroutine vert_vel_ale(dynamics, partit, mesh) #else !$OMP ORDERED #endif - Wvel (nzmin:nzmax, enodes(1))= Wvel (nzmin:nzmax, enodes(1))+c1(nzmin:nzmax) + Wvel (nzmin:nzmax, enodes(1))= Wvel (nzmin:nzmax, enodes(1))+e1c1(nzmin:nzmax) if (Fer_GM) then - fer_Wvel(nzmin:nzmax, enodes(1))= fer_Wvel(nzmin:nzmax, enodes(1))+c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, enodes(1))= fer_Wvel(nzmin:nzmax, enodes(1))+e1c2(nzmin:nzmax) end if #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(enodes(1))) call omp_set_lock (partit%plock(enodes(2))) #endif - Wvel (nzmin:nzmax, enodes(2))= Wvel (nzmin:nzmax, enodes(2))-c1(nzmin:nzmax) + Wvel (nzmin:nzmax, enodes(2))= Wvel (nzmin:nzmax, enodes(2))-e1c1(nzmin:nzmax) if (Fer_GM) then - fer_Wvel(nzmin:nzmax, enodes(2))= fer_Wvel(nzmin:nzmax, enodes(2))-c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, enodes(2))= fer_Wvel(nzmin:nzmax, enodes(2))-e1c2(nzmin:nzmax) end if #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(enodes(2))) @@ -2086,33 +2092,49 @@ subroutine vert_vel_ale(dynamics, partit, mesh) !_______________________________________________________________________ ! if ed is not a boundary edge --> calc div(u_vec*h) for every layer ! for el(2) + e2c1 = 0.0_WP + e2c2 = 0.0_WP if(el(2)>0)then deltaX2=edge_cross_dxdy(3,ed) deltaY2=edge_cross_dxdy(4,ed) nzmin = ulevels(el(2)) nzmax = nlevels(el(2))-1 do nz = nzmax, nzmin, -1 - c1(nz)=-(UV(2,nz,el(2))*deltaX2 - UV(1,nz,el(2))*deltaY2)*helem(nz,el(2)) + e2c1(nz)=-(UV(2,nz,el(2))*deltaX2 - UV(1,nz,el(2))*deltaY2)*helem(nz,el(2)) if (Fer_GM) then - c2(nz)=-(fer_UV(2,nz,el(2))*deltaX2-fer_UV(1,nz,el(2))*deltaY2)*helem(nz,el(2)) + e2c2(nz)=-(fer_UV(2,nz,el(2))*deltaX2-fer_UV(1,nz,el(2))*deltaY2)*helem(nz,el(2)) end if + + !_______________________________________________________________ + if ( e2c1(nz)/=e2c1(nz) ) then + write(*,*) ' --> subroutine vert_vel_ale --> found Nan in e2c1(nz)' + write(*,*) ' mype =', mype + write(*,*) ' edge =', ed + write(*,*) ' el =', el + write(*,*) ' nz =', nz + write(*,*) ' e2c1(nz) =', e2c1(nz) + write(*,*) ' UV(1,nz,el(2)) =', UV(1,nz,el(2)) + write(*,*) ' UV(2,nz,el(2)) =', UV(2,nz,el(2)) + write(*,*) ' helem(nz,el(2))=', helem(nz,el(2)) + + end if end do #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_set_lock (partit%plock(enodes(1))) #else !$OMP ORDERED #endif - Wvel (nzmin:nzmax, enodes(1))= Wvel (nzmin:nzmax, enodes(1))+c1(nzmin:nzmax) + Wvel (nzmin:nzmax, enodes(1))= Wvel (nzmin:nzmax, enodes(1))+e2c1(nzmin:nzmax) if (Fer_GM) then - fer_Wvel(nzmin:nzmax, enodes(1))= fer_Wvel(nzmin:nzmax, enodes(1))+c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, enodes(1))= fer_Wvel(nzmin:nzmax, enodes(1))+e2c2(nzmin:nzmax) end if #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(enodes(1))) call omp_set_lock (partit%plock(enodes(2))) #endif - Wvel (nzmin:nzmax, enodes(2))= Wvel (nzmin:nzmax, enodes(2))-c1(nzmin:nzmax) + Wvel (nzmin:nzmax, enodes(2))= Wvel (nzmin:nzmax, enodes(2))-e2c1(nzmin:nzmax) if (Fer_GM) then - fer_Wvel(nzmin:nzmax, enodes(2))= fer_Wvel(nzmin:nzmax, enodes(2))-c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, enodes(2))= fer_Wvel(nzmin:nzmax, enodes(2))-e2c2(nzmin:nzmax) end if #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(enodes(2))) @@ -2120,6 +2142,23 @@ subroutine vert_vel_ale(dynamics, partit, mesh) !$OMP END ORDERED #endif end if + + !_______________________________________________________________________ + if ( any(Wvel(nzmin:nzmax, enodes(1))/=Wvel(nzmin:nzmax, enodes(1))) .or. & + any(Wvel(nzmin:nzmax, enodes(2))/=Wvel(nzmin:nzmax, enodes(2)))) then + write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after div_H(...)' + write(*,*) ' mype =', mype + write(*,*) ' edge =', ed + write(*,*) ' enodes =', enodes + write(*,*) ' Wvel(nzmin:nzmax, enodes(1))=', Wvel(nzmin:nzmax, enodes(1)) + write(*,*) ' Wvel(nzmin:nzmax, enodes(2))=', Wvel(nzmin:nzmax, enodes(2)) + write(*,*) ' e1c1', e1c1(nzmin:nzmax) + write(*,*) ' e1c2', e1c2(nzmin:nzmax) + write(*,*) ' e2c1', e2c1(nzmin:nzmax) + write(*,*) ' e2c2', e2c2(nzmin:nzmax) + + end if + end do ! --> do ed=1, myDim_edge2D !$OMP END DO !$OMP END PARALLEL @@ -2142,6 +2181,14 @@ subroutine vert_vel_ale(dynamics, partit, mesh) fer_Wvel(nz,n)=fer_Wvel(nz,n)+fer_Wvel(nz+1,n) end if end do + + !_______________________________________________________________________ + if ( any(Wvel(nzmin:nzmax, n)/=Wvel(nzmin:nzmax, n)) ) then + write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after cumulativ summation(...)' + write(*,*) ' mype =', mype + write(*,*) ' node =', n + write(*,*) ' Wvel(nzmin:nzmax, n)=', Wvel(nzmin:nzmax, n) + end if end do !$OMP END PARALLEL DO !___________________________________________________________________________ @@ -2159,6 +2206,14 @@ subroutine vert_vel_ale(dynamics, partit, mesh) end if end do + + !_______________________________________________________________________ + if ( any(Wvel(nzmin:nzmax, n)/=Wvel(nzmin:nzmax, n)) ) then + write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after divide with area' + write(*,*) ' mype =', mype + write(*,*) ' node =', n + write(*,*) ' Wvel(nzmin:nzmax, n)=', Wvel(nzmin:nzmax, n) + end if end do !$OMP END PARALLEL DO ! | @@ -2434,6 +2489,14 @@ subroutine vert_vel_ale(dynamics, partit, mesh) ! continutity Wvel(nzmin,n)=Wvel(nzmin,n)-water_flux(n) + !_______________________________________________________________________ + if ( any(Wvel(nzmin:nzmax, n)/=Wvel(nzmin:nzmax, n)) ) then + write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after ssh is distributed' + write(*,*) ' mype =', mype + write(*,*) ' node =', n + write(*,*) ' Wvel(nzmin:nzmax, n)=', Wvel(nzmin:nzmax, n) + end if + endif ! --> if (nzmin==1) then end do ! --> do n=1, myDim_nod2D @@ -2455,10 +2518,12 @@ subroutine vert_vel_ale(dynamics, partit, mesh) write(*,*) write(*,*) 'water_flux = ', water_flux(n) write(*,*) - write(*,*) "ssh_rhs = ", ssh_rhs(n) - write(*,*) "ssh_rhs_old = ", ssh_rhs_old(n) write(*,*) "eta_n = ", eta_n(n) - write(*,*) "d_eta = ", d_eta(n) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + write(*,*) "d_eta = ", d_eta(n) + write(*,*) "ssh_rhs = ", ssh_rhs(n) + write(*,*) "ssh_rhs_old = ", ssh_rhs_old(n) + end if write(*,*) write(*,*) "zbar_3d_n(1,n) = ", zbar_3d_n(1,n) write(*,*) "dd1 = ", dd1 @@ -2487,65 +2552,139 @@ subroutine vert_vel_ale(dynamics, partit, mesh) call exchange_nod(hnode_new, partit) ! Or extend cycles above if (Fer_GM) call exchange_nod(fer_Wvel, partit) !$OMP BARRIER + + !___________________________________________________________________________ + ! compute vertical CFL_z criteria + call compute_CFLz(dynamics, partit, mesh) + + !___________________________________________________________________________ + ! compute implicite explicite splitting of vetical velocity Wvel according + ! to CFL_z criteria + call compute_Wvel_split(dynamics, partit, mesh) + +end subroutine vert_vel_ale +! +! +!_______________________________________________________________________________ +! compute vertical CFL_z criteria and print out warning when critical value over +! stepped +subroutine compute_CFLz(dynamics, partit, mesh) + use g_config,only: dt, flag_warn_cflz + use MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + use o_PARAM + use g_comm_auto + implicit none + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh), intent(inout), target :: mesh + !___________________________________________________________________________ + integer :: node, nz, nzmin, nzmax + real(kind=WP) :: cflmax, c1, c2 + !___________________________________________________________________________ + ! pointer on necessary derived types + real(kind=WP), dimension(:,:) , pointer :: Wvel, CFL_z +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + Wvel => dynamics%w(:,:) + CFL_z => dynamics%cfl_z(:,:) + !___________________________________________________________________________ ! calc vertical CFL criteria for debugging purpose and vertical Wvel splitting !$OMP PARALLEL DO - do n=1, myDim_nod2D+eDim_nod2D - CFL_z(1,n)=0._WP + do node=1, myDim_nod2D+eDim_nod2D + CFL_z(1,node)=0._WP end do !$OMP END PARALLEL DO -!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz, nzmin, nzmax) - do n=1, myDim_nod2D+eDim_nod2D - nzmin = ulevels_nod2D(n) - nzmax = nlevels_nod2D(n)-1 + !___________________________________________________________________________ +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(node, nz, nzmin, nzmax) + do node=1, myDim_nod2D+eDim_nod2D + nzmin = ulevels_nod2D(node) + nzmax = nlevels_nod2D(node)-1 do nz=nzmin,nzmax - c1(1)=abs(Wvel(nz,n) *dt/hnode_new(nz,n)) !c1->c1(1) is made for the sake of reproducibility with the master branch (rounding error) - c2(1)=abs(Wvel(nz+1,n)*dt/hnode_new(nz,n)) !otherwise just add these terms (c(1) & c(2)) to CFL_z, respectively! + c1=abs(Wvel(nz,node) *dt/hnode_new(nz,node)) !c1->c1(1) is made for the sake of reproducibility with the master branch (rounding error) + c2=abs(Wvel(nz+1,node)*dt/hnode_new(nz,node)) !otherwise just add these terms (c(1) & c(2)) to CFL_z, respectively! ! strong condition: ! total volume change induced by the vertical motion ! no matter, upwind or downwind ! - CFL_z(nz, n)=CFL_z(nz,n)+c1(1) - CFL_z(nz+1,n)= c2(1) - end do - end do + CFL_z(nz, node)=CFL_z(nz,node)+c1 + CFL_z(nz+1,node)= c2 + end do ! --> do nz=nzmin,nzmax + end do ! --> do node=1, myDim_nod2D+eDim_nod2D !$OMP END PARALLEL DO -cflmax=0. -!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(n) REDUCTION(max:cflmax) + + !___________________________________________________________________________ + cflmax=0. +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(node) REDUCTION(max:cflmax) !$OMP DO - do n=1, myDim_nod2D+eDim_nod2D - cflmax=max(cflmax, maxval(CFL_z(:, n))) - end do + do node=1, myDim_nod2D+eDim_nod2D + cflmax=max(cflmax, maxval(CFL_z(:, node))) + end do ! --> do node=1, myDim_nod2D+eDim_nod2D !$OMP END DO !$OMP END PARALLEL + !___________________________________________________________________________ if (cflmax > 1.0_WP .and. flag_warn_cflz) then -!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz, nzmin, nzmax) - do n=1, myDim_nod2D - nzmin = ulevels_nod2D(n) - nzmax = nlevels_nod2D(n)-1 - do nz=nzmin,nzmax - if (abs(CFL_z(nz,n)-cflmax) < 1.e-12 .and. CFL_z(nz,n) > 1.75_WP .and. CFL_z(nz,n)<=2.5_WP ) then +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(node, nz, nzmin, nzmax) + do node=1, myDim_nod2D + nzmin = ulevels_nod2D(node) + nzmax = nlevels_nod2D(node)-1 + do nz=nzmin, nzmax + if (abs(CFL_z(nz,node)-cflmax) < 1.e-12 .and. CFL_z(nz,node) > 1.75_WP .and. CFL_z(nz,node)<=2.5_WP ) then print '(A, A, F4.2, A, I6, A, F7.2,A,F6.2, A, I3,I3)', achar(27)//'[33m'//' --> WARNING CFLz>1.75:'//achar(27)//'[0m',& - 'CFLz_max=',cflmax,',mstep=',mstep,',glon/glat=',geo_coord_nod2D(1,n)/rad,'/',geo_coord_nod2D(2,n)/rad,& + 'CFLz_max=',cflmax,',mstep=',mstep,',glon/glat=',geo_coord_nod2D(1,node)/rad,'/',geo_coord_nod2D(2,node)/rad,& ',nz/nzmin=',nz,nzmin - elseif (abs(CFL_z(nz,n)-cflmax) < 1.e-12 .and. CFL_z(nz,n) > 2.5_WP) then + elseif (abs(CFL_z(nz,node)-cflmax) < 1.e-12 .and. CFL_z(nz,node) > 2.5_WP) then print '(A, A, F4.2, A, I6, A, F7.2,A,F6.2, A, I3,I3)', achar(27)//'[31m'//' --> WARNING CFLz>2.5:'//achar(27)//'[0m',& - 'CFLz_max=',cflmax,',mstep=',mstep,',glon/glat=',geo_coord_nod2D(1,n)/rad,'/',geo_coord_nod2D(2,n)/rad,& + 'CFLz_max=',cflmax,',mstep=',mstep,',glon/glat=',geo_coord_nod2D(1,node)/rad,'/',geo_coord_nod2D(2,node)/rad,& ',nz/nzmin=',nz,nzmin !!PS write(*,*) '***********************************************************' !!PS write(*,*) 'max. CFL_z = ', cflmax, ' mype = ', mype !!PS write(*,*) 'mstep = ', mstep - !!PS write(*,*) 'glon, glat = ', geo_coord_nod2D(:,n)/rad - !!PS write(*,*) '2D node = ', myList_nod2D(n) + !!PS write(*,*) 'glon, glat = ', geo_coord_nod2D(:,node)/rad + !!PS write(*,*) '2D node = ', myList_nod2D(node) !!PS write(*,*) 'nz = ', nz !!PS write(*,*) '***********************************************************' end if - end do - end do + end do ! --> do nz=nzmin,nzmax + end do ! --> do node=1, myDim_nod2D !$OMP END PARALLEL DO - end if - + end if ! --> if (cflmax > 1.0_WP .and. flag_warn_cflz) then +end subroutine compute_CFLz +! +! +!_______________________________________________________________________________ +subroutine compute_Wvel_split(dynamics, partit, mesh) + use MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + use o_PARAM + use g_comm_auto + implicit none + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh), intent(inout), target :: mesh + !___________________________________________________________________________ + integer :: node, nz, nzmin, nzmax + real(kind=WP) :: dd + !___________________________________________________________________________ + ! pointer on necessary derived types + real(kind=WP), dimension(:,:) , pointer :: Wvel, Wvel_e, Wvel_i, CFL_z +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + Wvel => dynamics%w( :,:) + Wvel_e => dynamics%w_e( :,:) + Wvel_i => dynamics%w_i( :,:) + CFL_z => dynamics%cfl_z(:,:) + !___________________________________________________________________________ ! Split implicit vertical velocity onto implicit and explicit components using CFL criteria: ! wsplit_maxcfl constrains the allowed explicit w according to the CFL at this place @@ -2553,23 +2692,23 @@ subroutine vert_vel_ale(dynamics, partit, mesh) ! wsplit_maxcfl=0 means w_exp is zero (everything computed implicitly) ! wsplit_maxcfl=inf menas w_impl is zero (everything computed explicitly) ! a guess for optimal choice of wsplit_maxcfl would be 0.95 -!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz, nzmin, nzmax, dd) - do n=1, myDim_nod2D+eDim_nod2D - nzmin = ulevels_nod2D(n) - nzmax = nlevels_nod2D(n) - do nz=nzmin,nzmax - Wvel_e(nz,n)=Wvel(nz,n) - Wvel_i(nz,n)=0.0_WP - if (dynamics%use_wsplit .and. (CFL_z(nz, n) > dynamics%wsplit_maxcfl)) then - dd=max((CFL_z(nz, n)-dynamics%wsplit_maxcfl), 0.0_WP)/max(dynamics%wsplit_maxcfl, 1.e-12) - Wvel_e(nz,n)=(1.0_WP/(1.0_WP+dd))*Wvel(nz,n) !explicit part =1. if dd=0. - Wvel_i(nz,n)=(dd /(1.0_WP+dd))*Wvel(nz,n) !implicit part =1. if dd=inf +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(node, nz, nzmin, nzmax, dd) + do node=1, myDim_nod2D+eDim_nod2D + nzmin = ulevels_nod2D(node) + nzmax = nlevels_nod2D(node) + do nz=nzmin, nzmax + Wvel_e(nz, node)=Wvel(nz, node) + Wvel_i(nz, node)=0.0_WP + if (dynamics%use_wsplit .and. (CFL_z(nz, node) > dynamics%wsplit_maxcfl)) then + dd=max((CFL_z(nz, node)-dynamics%wsplit_maxcfl), 0.0_WP)/max(dynamics%wsplit_maxcfl, 1.e-12) + Wvel_e(nz, node)=(1.0_WP/(1.0_WP+dd))*Wvel(nz, node) !explicit part =1. if dd=0. + Wvel_i(nz, node)=(dd /(1.0_WP+dd))*Wvel(nz, node) !implicit part =1. if dd=inf end if - end do - end do + end do ! --> do nz=nzmin,nzmax + end do ! --> do node=1, myDim_nod2D+eDim_nod2D !$OMP END PARALLEL DO -end subroutine vert_vel_ale - +end subroutine compute_Wvel_split +! ! ! !=============================================================================== @@ -2943,10 +3082,10 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ t0=MPI_Wtime() -! water_flux = 0.0_WP -! heat_flux = 0.0_WP -! stress_surf= 0.0_WP -! stress_node_surf= 0.0_WP + water_flux = 0.0_WP + heat_flux = 0.0_WP + stress_surf= 0.0_WP + stress_node_surf= 0.0_WP !___________________________________________________________________________ ! calculate equation of state, density, pressure and mixed layer depths @@ -3110,7 +3249,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call impl_vert_visc_ale'//achar(27)//'[0m' if(dynamics%use_ivertvisc) then - if (dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_splitexpl_subcycl ) then call impl_vert_visc_ale(dynamics,partit, mesh) else call impl_vert_visc_ale_vtransp(dynamics, partit, mesh) @@ -3233,7 +3372,12 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) ! The main step of ALE procedure --> this is were the magic happens --> here ! is decided how change in hbar is distributed over the vertical layers if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call vert_vel_ale'//achar(27)//'[0m' - call vert_vel_ale(dynamics, partit, mesh) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + call vert_vel_ale(dynamics, partit, mesh) + else + call compute_thickness_zstar(dynamics, partit, mesh) + call compute_vert_vel_transpv(dynamics, partit, mesh) + end if t7=MPI_Wtime() !___________________________________________________________________________ diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index c0b2ef63f..2dcc21991 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -1,9 +1,9 @@ ! ! !_______________________________________________________________________________ -module momentum_adv_scalar_4splitexpl_interface +module momentum_adv_scalar_transpv_interface interface - subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) + subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) USE MOD_MESH USE MOD_PARTIT USE MOD_PARSUP @@ -65,6 +65,16 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh end subroutine + + subroutine compute_vert_vel_transpv(dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + end subroutine end interface end module @@ -72,7 +82,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! !_______________________________________________________________________________ ! Transports are used instead of velocities, Urhs, Vrhs are also for transports. -subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) +subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) USE MOD_MESH USE MOD_PARTIT USE MOD_PARSUP @@ -188,8 +198,8 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) !_______________________________________________________________________ ! index off surface layer in case of cavity !=1 and index of mid depth ! bottom layer - nl1 = nlevels(edelem(1))-1 ul1 = ulevels(edelem(1)) + nl1 = nlevels(edelem(1))-1 !_______________________________________________________________________ !NR --> Natalja Style @@ -200,9 +210,9 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) !_______________________________________________________________________ ! if edelem(2)==0 than edge is boundary edge if(edelem(2)>0) then - nl2 = nlevels(edelem(2))-1 ul2 = ulevels(edelem(2)) - + nl2 = nlevels(edelem(2))-1 + !___________________________________________________________________ !NR --> Natalja Style un2 = 0.0_WP @@ -433,8 +443,8 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) ! divide total nodal momentum advection by scalar area !$OMP DO do node=1,myDim_nod2d - nl1 = nlevels_nod2D(node)-1 ul1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node)-1 UVnode_rhs(1, ul1:nl1, node) = UVnode_rhs(1, ul1:nl1, node) * areasvol_inv(ul1:nl1, node) UVnode_rhs(2, ul1:nl1, node) = UVnode_rhs(2, ul1:nl1, node) * areasvol_inv(ul1:nl1, node) end do ! --> do node=1,myDim_nod2d @@ -450,8 +460,8 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) ! convert total nodal advection from vertice --> elements !$OMP DO do elem=1, myDim_elem2D - nl1 = nlevels(elem)-1 ul1 = ulevels(elem) + nl1 = nlevels(elem)-1 UV_rhsAB(1:2, ul1:nl1, elem) = UV_rhsAB(1:2, ul1:nl1, elem) + elem_area(elem)* & ( UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(1, elem)) & + UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(2, elem)) & @@ -474,7 +484,7 @@ subroutine momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) !$OMP END DO end if !$OMP END PARALLEL -end subroutine +end subroutine momentum_adv_scalar_transpv ! ! @@ -620,6 +630,21 @@ subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) uu(nzmin:nzmax-1)=(UVh(1, nzmin:nzmax-1, elem)+UV_rhs(1, nzmin:nzmax-1, elem))/helem(nzmin:nzmax-1, elem) !! u*=U*/h vv(nzmin:nzmax-1)=(UVh(2, nzmin:nzmax-1, elem)+UV_rhs(2, nzmin:nzmax-1, elem))/helem(nzmin:nzmax-1, elem) + !_______________________________________________________________ + if ( any(uu(nzmin:nzmax-1)/=uu(nzmin:nzmax-1)) .or. & + any(vv(nzmin:nzmax-1)/=vv(nzmin:nzmax-1)) ) then + write(*,*) ' --> subroutine impl_vert_visc_ale_vtransp --> found Nan in uu=UVh=UV_rhs' + write(*,*) ' mype =', mype + write(*,*) ' elem =', elem + write(*,*) ' uu(nzmin:nzmax-1)=', uu(nzmin:nzmax-1) + write(*,*) ' vv(nzmin:nzmax-1)=', vv(nzmin:nzmax-1) + write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nz, elem) + write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nz, elem) + write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) + write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) + write(*,*) ' helem(nz, elem) =', helem(nz, elem) + end if + !_______________________________________________________________________ ! Operator + rhs ! Regular part of coefficients: @@ -729,6 +754,25 @@ subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) UV_rhs(1, nz, elem)=UV_rhs(1, nz, elem)+ur(nz)*helem(nz, elem) !! The rhs is for transport UV_rhs(2, nz, elem)=UV_rhs(2, nz, elem)+vr(nz)*helem(nz, elem) end do + + !_______________________________________________________________ + if ( any(UV_rhs(1, nzmin:nzmax-1, elem)/=UV_rhs(1, nzmin:nzmax-1, elem)) .or. & + any(UV_rhs(2, nzmin:nzmax-1, elem)/=UV_rhs(2, nzmin:nzmax-1, elem))) then + write(*,*) ' --> subroutine impl_vert_visc_ale_vtransp --> found Nan in UV_rhs=UVh_rhs+uvr*helem' + write(*,*) ' mype =', mype + write(*,*) ' elem =', elem + write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nzmin:nzmax-1, elem) + write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nzmin:nzmax-1, elem) + write(*,*) ' ur(nzmin:nzmax-1)=', ur(nzmin:nzmax-1) + write(*,*) ' vr(nzmin:nzmax-1)=', vr(nzmin:nzmax-1) + write(*,*) ' helem(nz, elem) =', helem(nzmin:nzmax-1, elem) + write(*,*) ' a(nzmin:nzmax-1) =', a(nzmin:nzmax-1) + write(*,*) ' b(nzmin:nzmax-1) =', b(nzmin:nzmax-1) + write(*,*) ' c(nzmin:nzmax-1) =', c(nzmin:nzmax-1) + write(*,*) ' Av(nzmin:nzmax-1,elem) =', Av(nzmin:nzmax-1, elem) + write(*,*) ' Wvel_i(nzmin:nzmax-1,elem) =',Wvel_i(nzmin:nzmax-1, elnodes) + end if + end do ! --> do elem=1,myDim_elem2D !$OMP END DO !$OMP END PARALLEL @@ -751,7 +795,7 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) type(t_mesh) , intent(in) , target :: mesh !___________________________________________________________________________ real(kind=WP) :: vert_sum_u, vert_sum_v, Fx, Fy, ab1, ab2, hh - integer :: elem, nz, nzmin, nzmax, elnodes(4) + integer :: elem, nz, nzmin, nzmax, elnodes(3) logical, save :: sfirst !___________________________________________________________________________ ! pointer on necessary derived types @@ -787,8 +831,8 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) nzmax = nlevels(elem)-1 !_______________________________________________________________________ - Fx=g*dt*sum(gradient_sca(1:4,elem)*eta_n(elnodes)) - Fy=g*dt*sum(gradient_sca(5:8,elem)*eta_n(elnodes)) + Fx=g*dt*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + Fy=g*dt*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) !_______________________________________________________________________ ! vertically integrate UV_rhs --> for barotropic equatiobn @@ -863,6 +907,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) real(kind=WP) :: dtBT, BT_inv, hh, f, rx, ry, a, d, c1, c2, ax, ay real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, thetaBT integer :: step, elem, elnodes(3), edge, ednodes(2), edelem(2) + integer :: nzmin1, nzmax1, nzmin2, nzmax2 !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), dimension(:) , pointer :: eta_n @@ -881,7 +926,8 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !___________________________________________________________________________ ! Dissipation parameter of FB dissipative method 0.14 is the default value ! from Demange et al. - thetaBT= 0.14_WP +!PS thetaBT= 0.14_WP + thetaBT= 0.5_WP ! BTsteps should be 30 or 40. dtBT = dt/dynamics%splitexpl_BTsteps @@ -904,16 +950,17 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! AAA = - dt/M*[ + 0.5*f*e_z x (Ubt^(n+(m+1)/M) + Ubt^(n+(m)/M)) ! - h*H^m*grad_H*eta^((n+m)/M) ! - Rbt-->UVBT_rhs ] - hh = -zbar_e_bot(elem)+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth +!PS hh = -zbar_e_bot(elem)+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth + hh = -zbar(nlevels(elem))+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth f = mesh%coriolis(elem) - rx = dtBT*(-g*hh*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + f*UVBT(1, elem)) + BT_inv*UVBT_rhs(1, elem) - ry = dtBT*(-g*hh*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - f*UVBT(2, elem)) + BT_inv*UVBT_rhs(2, elem) + rx = dtBT*(-g*hh*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + f*UVBT(2, elem)) + BT_inv*UVBT_rhs(1, elem) + ry = dtBT*(-g*hh*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - f*UVBT(1, elem)) + BT_inv*UVBT_rhs(2, elem) ! Semi-Implicit Coriolis a = dtBT*f*0.5_WP d = 1.0_WP/(1.0_WP+a*a) - ax = d*(rx+a*ry) - ay = d*(-a*rx+ry) + ax = d*( rx + a*ry) + ay = d*(-a*rx + ry) !___________________________________________________________________ ! compute new velocities Ubt^(n+(m+1)/M) at barotropic time step (n+(m+1)/M) ... @@ -971,8 +1018,51 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! advance ssh --> eta^(n+(m+1)/M) = eta^(n+(m)/M) - dt/M * div_H * [...] ! equation (6) in T. Banerjee et al.,Split-Explicite external ! mode solver in FESOM2, - eta_n(ednodes(1))=eta_n(ednodes(1))+(c1+c2)*dtBT/area(1,ednodes(1)) - eta_n(ednodes(2))=eta_n(ednodes(2))-(c1+c2)*dtBT/area(1,ednodes(2)) + eta_n(ednodes(1))=eta_n(ednodes(1)) + (c1+c2)*dtBT/area(1,ednodes(1)) + eta_n(ednodes(2))=eta_n(ednodes(2)) - (c1+c2)*dtBT/area(1,ednodes(2)) + + +!PS if ( (mype==398) .and. ((abs(eta_n(ednodes(1)))>10) .or. (abs(eta_n(ednodes(1)))>10)) ) then + if ((abs(eta_n(ednodes(1)))>100) .or. (abs(eta_n(ednodes(2)))>100)) then + write(*,*) '-------------------------------------------------' + write(*,*) ' --> subroutine compute_BT_step_SE_ale --> found eta_n>100 in barotrop. subcycling' + write(*,*) ' mype = ', mype + write(*,*) ' mstep = ', mstep + write(*,*) ' btstep = ', step + write(*,*) ' edge = ', edge + write(*,*) ' ednodes(1:2) = ', ednodes + write(*,*) ' edelem(1:2) = ', edelem + write(*,*) ' glon,glat = ', geo_coord_nod2D(:,ednodes)/rad + write(*,*) + write(*,*) ' eta_n(ednodes) = ', eta_n(ednodes) + write(*,*) ' c1, c2 = ', c1, c2 + if(edelem(2)>0) then + write(*,*) ' UVBT_rhs( 1:2,edelem) = ', UVBT_rhs( 1:2, edelem) + write(*,*) ' UVBT( 1:2,edelem) = ', UVBT( 1:2, edelem) + write(*,*) ' UVBT_theta(1:2,edelem) = ', UVBT_theta(1:2, edelem) + write(*,*) ' UVBT_mean( 1:2,edelem) = ', UVBT_mean( 1:2, edelem) + nzmin1 = ulevels(edelem(1)) + nzmax1 = nlevels(edelem(1))-1 + nzmin2 = ulevels(edelem(2)) + nzmax2 = nlevels(edelem(2))-1 + write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%se_uvh(1:2, nzmin1:nzmax1, edelem(1)) + write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(2)) = ', dynamics%se_uvh(1:2, nzmin2:nzmax2, edelem(2)) + write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%uv_rhs(1:2, nzmin1:nzmax1, edelem(1)) + write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(2)) = ', dynamics%uv_rhs(1:2, nzmin2:nzmax2, edelem(2)) + else + write(*,*) ' UVBT_rhs( 1:2,edelem) = ', UVBT_rhs( 1:2, edelem(1)) + write(*,*) ' UVBT( 1:2,edelem) = ', UVBT( 1:2, edelem(1)) + write(*,*) ' UVBT_theta(1:2,edelem) = ', UVBT_theta(1:2, edelem(1)) + write(*,*) ' UVBT_mean( 1:2,edelem) = ', UVBT_mean( 1:2, edelem(1)) + nzmin1 = ulevels(edelem(1)) + nzmax1 = nlevels(edelem(1))-1 + write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%se_uvh(1:2, nzmin1:nzmax1, edelem(1)) + write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%uv_rhs(1:2, nzmin1:nzmax1, edelem(1)) + + end if + write(*,*) + end if + end do !_______________________________________________________________________ @@ -1010,13 +1100,11 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) #include "associate_mesh_def.h" #include "associate_part_ass.h" #include "associate_mesh_ass.h" + UV =>dynamics%uv(:,:,:) UVh =>dynamics%se_uvh(:,:,:) UV_rhs =>dynamics%uv_rhs(:,:,:) UVBT_mean =>dynamics%se_uvBT_mean(:,:) UVBT_12 =>dynamics%se_uvBT_12(:,:) - if (mode==2) then - UV =>dynamics%uv(:,:,:) - end if !___________________________________________________________________________ ! @@ -1060,6 +1148,27 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) + + !_______________________________________________________________ + if ( UV( 1, nz, elem)/=UV( 1, nz, elem) .or. & + UV( 2, nz, elem)/=UV( 2, nz, elem)) then + write(*,*) ' --> subroutine update_trim_vel_ale_vtransp(mode=1) --> found Nan in UV after update UV with barotr. term' + write(*,*) ' mype =', mype + write(*,*) ' elem =', elem + write(*,*) ' nz =', nz + write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nz, elem) + write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nz, elem) + write(*,*) ' UV( 1, nz, elem) =', UV( 1, nz, elem) + write(*,*) ' UV( 2, nz, elem) =', UV( 2, nz, elem) + write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) + write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) + write(*,*) ' helem(nz, elem) =', helem(nz, elem) + write(*,*) ' UVBT_mean(1,elem)=', UVBT_mean(1,elem) + write(*,*) ' UVBT_mean(2,elem)=', UVBT_mean(2,elem) + write(*,*) ' ubar, vbar =', ubar, vbar + write(*,*) ' hh_inv =', hh_inv + end if + end do end do call exchange_elem(UVh, partit) ! This exchange can be avoided, but test first. @@ -1087,12 +1196,280 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_12(2, elem)-vbar)*helem(nz,elem)*hh_inv UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection + + !_______________________________________________________________ + if ( UV( 1, nz, elem)/=UV( 1, nz, elem) .or. & + UV( 2, nz, elem)/=UV( 2, nz, elem)) then + write(*,*) ' --> subroutine update_trim_vel_ale_vtransp(mode=2) --> found Nan in UV after update UV with barotr. term' + write(*,*) ' mype =', mype + write(*,*) ' elem =', elem + write(*,*) ' nz =', nz + write(*,*) ' UV( 1, nz, elem) =', UV( 1, nz, elem) + write(*,*) ' UV( 2, nz, elem) =', UV( 2, nz, elem) + write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) + write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) + write(*,*) ' helem(nz, elem) =', helem(nz, elem) + write(*,*) ' UVBT_12(1,elem) =', UVBT_12(1,elem) + write(*,*) ' UVBT_12(2,elem) =', UVBT_12(2,elem) + write(*,*) ' ubar, vbar =', ubar, vbar + write(*,*) ' hh_inv =', hh_inv + end if end do end do call exchange_elem(UVh, partit) ! call exchange_elem(UV , partit) ! Check if this is needed end if ! --> if (mode==1) then end subroutine update_trim_vel_ale_vtransp - +! +! +!_______________________________________________________________________________ +! Trim U and Uh to be consistent with BT transport +subroutine compute_thickness_zstar(dynamics, partit, mesh) + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_MESH + USE MOD_DYN + use g_comm_auto + !___________________________________________________________________________ + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer :: node, elem, nz, nzmin, nzmax, elnodes(3) + real(kind=WP) :: hh_inv + + !___________________________________________________________________________ + ! pointer on necessary derived types + real(kind=WP), dimension(:), pointer :: eta_n +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + eta_n => dynamics%eta_n(:) + + !___________________________________________________________________________ + ! leave bottom layer again untouched + do node=1, myDim_nod2D+eDim_nod2D + nzmin = ulevels_nod2D(node) + nzmax = nlevels_nod2D_min(node)-1 + hh_inv=-1.0_WP/zbar(nzmax) + do nz=nzmin, nzmax-1 + hnode_new(nz,node)=(zbar(nz)-zbar(nz+1))*(1.0_WP+hh_inv*eta_n(node)) + end do + end do + + !___________________________________________________________________________ + ! --> update mean layer thinkness at element + do elem=1, myDim_elem2D + nzmin = ulevels(elem) + nzmax = nlevels(elem)-1 + elnodes=elem2D_nodes(:,elem) + do nz=nzmin, nzmax + helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP + end do + end do + +end subroutine compute_thickness_zstar +! +! +!_______________________________________________________________________________ +! calculate vertical velocity from eq.3 in S. Danilov et al. : FESOM2: from +! finite elements to finite volumes. +! +! dh_k/dt + grad(u*h)_k + (w^t - w^b) + water_flux_k=1 = 0 +! +! w^t = w^b - dh_k/dt - grad(u*h)_k - water_flux=1 +! --> do cumulativ summation from bottom to top +subroutine compute_vert_vel_transpv(dynamics, partit, mesh) + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_MESH + USE MOD_DYN + use o_ARRAYS, only: water_flux + use g_config, only: dt + use g_comm_auto + !___________________________________________________________________________ + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer :: node, elem, nz, nzmin, nzmax, ednodes(2), edelem(2) + real(kind=WP) :: hh_inv + real(kind=WP) :: e1c1(mesh%nl-1), e1c2(mesh%nl-1) + real(kind=WP) :: e2c1(mesh%nl-1), e2c2(mesh%nl-1) + + + !___________________________________________________________________________ + ! pointer on necessary derived types + real(kind=WP), dimension(:,:,:), pointer :: UVh, fer_UV + real(kind=WP), dimension(:,:) , pointer :: Wvel, Wvel_e, Wvel_i, CFL_z, fer_Wvel +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + UVh => dynamics%se_uvh(:,:,:) + Wvel => dynamics%w(:,:) + Wvel_e => dynamics%w_e(:,:) + Wvel_i => dynamics%w_i(:,:) + CFL_z => dynamics%cfl_z(:,:) + if (Fer_GM) then + fer_UV => dynamics%fer_uv(:,:,:) + fer_Wvel=> dynamics%fer_w(:,:) + end if + + !___________________________________________________________________________ + do node=1, myDim_nod2D+eDim_nod2D + Wvel(:, node)=0.0_WP + end do ! --> do node=1, myDim_nod2D+eDim_nod2D + + !___________________________________________________________________________ + do ed=1, myDim_edge2D + ! local indice of nodes that span up edge ed + ednodes=edges(:,ed) + + ! local index of element that contribute to edge + edelem=edge_tri(:,ed) + + ! edge_cross_dxdy(1:2,ed)... dx,dy distance from element centroid edelem(1) to + ! center of edge --> needed to calc flux perpedicular to edge from elem edelem(1) + deltaX1=edge_cross_dxdy(1,ed) + deltaY1=edge_cross_dxdy(2,ed) + + !_______________________________________________________________________ + ! calc div(u_vec*h) for every layer + ! do it with gauss-law: int( div(u_vec)*dV) = int( u_vec * n_vec * dS ) + nzmin = ulevels(edelem(1)) + nzmax = nlevels(edelem(1))-1 + ! we introduced c1 & c2 as arrays here to avoid deadlocks when in OpenMP mode + do nz = nzmax, nzmin, -1 + ! --> h * u_vec * n_vec + ! --> e_vec = (dx,dy), n_vec = (-dy,dx); + ! --> h * u*(-dy) + v*dx + e1c1(nz)=( UVh(2, nz, edelem(1))*deltaX1 - UVh(1, nz, edelem(1))*deltaY1 ) + ! inflow(outflow) "flux" to control volume of node enodes1 + ! is equal to outflow(inflow) "flux" to control volume of node enodes2 + end do ! --> do nz=nzmax,nzmin,-1 + Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e1c1(nzmin:nzmax) + Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e1c1(nzmin:nzmax) + + if (Fer_GM) then + do nz = nzmax, nzmin, -1 + e1c2(nz)=(fer_UV(2, nz, edelem(1))*deltaX1- fer_UV(1, nz, edelem(1))*deltaY1)*helem(nz, edelem(1)) + end do ! --> do nz=nzmax,nzmin,-1 + fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e1c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e1c2(nzmin:nzmax) + end if + + !_______________________________________________________________________ + ! if ed is not a boundary edge --> calc div(u_vec*h) for every layer + ! for edelem(2) + e2c1 = 0.0_WP + e2c2 = 0.0_WP + if(edelem(2)>0)then + deltaX2=edge_cross_dxdy(3,ed) + deltaY2=edge_cross_dxdy(4,ed) + nzmin = ulevels(edelem(2)) + nzmax = nlevels(edelem(2))-1 + do nz = nzmax, nzmin, -1 + e2c1(nz)=-(UVh(2, nz, edelem(2))*deltaX2 - UVh(1, nz, edelem(2))*deltaY2) + end do ! --> do nz=nzmax,nzmin,-1 + Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e2c1(nzmin:nzmax) + Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e2c1(nzmin:nzmax) + + if (Fer_GM) then + do nz = nzmax, nzmin, -1 + e2c2(nz)=-(fer_UV(2, nz, edelem(2))*deltaX2-fer_UV(1, nz, edelem(2))*deltaY2)*helem(nz, edelem(2)) + end do ! --> do nz=nzmax,nzmin,-1 + fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e2c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e2c2(nzmin:nzmax) + end if + end if + + !_______________________________________________________________________ + if ( any(Wvel(nzmin:nzmax, ednodes(1))/=Wvel(nzmin:nzmax, ednodes(1))) .or. & + any(Wvel(nzmin:nzmax, ednodes(2))/=Wvel(nzmin:nzmax, ednodes(2)))) then + write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after div_H(...)' + write(*,*) ' mype =', mype + write(*,*) ' edge =', ed + write(*,*) ' enodes =', enodes + write(*,*) ' Wvel(nzmin:nzmax, enodes(1))=', Wvel(nzmin:nzmax, ednodes(1)) + write(*,*) ' Wvel(nzmin:nzmax, enodes(2))=', Wvel(nzmin:nzmax, ednodes(2)) + write(*,*) ' e1c1', e1c1(nzmin:nzmax) + write(*,*) ' e1c2', e1c2(nzmin:nzmax) + write(*,*) ' e2c1', e2c1(nzmin:nzmax) + write(*,*) ' e2c2', e2c2(nzmin:nzmax) + end if + end do ! --> do ed=1, myDim_edge2D + + !___________________________________________________________________________ + ! add the contribution from -dh/dt * area + do node=1, myDim_nod2D + nzmin = ulevels_nod2D(node) + nzmax = nlevels_nod2d(node)-1 + do nz=nzmax,nzmin,-1 + Wvel(nz, node)=Wvel(nz, node)-(hnode_new(nz, node)-hnode(nz, node))*area(nz, node)/dt + end do ! --> do nz=nzmax,nzmin,-1 + + !_______________________________________________________________________ + if ( any(Wvel(nzmin:nzmax, node)/=Wvel(nzmin:nzmax, node))) then + write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after +dhnode/dt=W' + write(*,*) ' mype =', mype + write(*,*) ' node =', node + write(*,*) ' Wvel( nzmin:nzmax, node)=', Wvel(nzmin:nzmax, node) + write(*,*) ' hnode_new(nzmin:nzmax, node)=', hnode_new(nzmin:nzmax, node) + write(*,*) ' hnode( nzmin:nzmax, node)=', hnode(nzmin:nzmax, node) + end if + end do ! --> do node=1, myDim_nod2D + + !___________________________________________________________________________ + ! Sum up to get W*area + ! cumulative summation of div(u_vec*h) vertically + ! W_k = W_k+1 - div(h_k*u_k) + ! W_k ... vertical flux troughdo node=1, myDim_nod2D + do node=1, myDim_nod2D + nzmin = ulevels_nod2D(node) + nzmax = nlevels_nod2d(node)-1 + do nz=nzmax,nzmin,-1 + Wvel(nz, node)=Wvel(nz, node)+Wvel(nz+1, node) + if (Fer_GM) then + fer_Wvel(nz, node)=fer_Wvel(nz, node)+fer_Wvel(nz+1, node) + end if + end do ! --> do nz=nzmax,nzmin,-1 + end do ! --> do node=1, myDim_nod2D + + !___________________________________________________________________________ + ! divide with depth dependent cell area to convert from Vertical flux to + ! physical vertical velocities in units m/s + do node=1, myDim_nod2D + nzmin = ulevels_nod2D(node) + nzmax = nlevels_nod2d(node)-1 + do nz=nzmin,nzmax + Wvel(nz, node)=Wvel(nz, node)/area(nz, node) + if (Fer_GM) then + fer_Wvel(nz, node)=fer_Wvel(nz, node)/area(nz, node) + end if + end do ! --> do nz=nzmax,nzmin,-1 + end do ! --> do node=1, myDim_nod2D + + !___________________________________________________________________________ + ! Add surface fresh water flux as upper boundary condition for + ! continutity + do node=1, myDim_nod2D + nzmin = ulevels_nod2D(node) + if (nzmin==1) Wvel(nzmin, node)=Wvel(nzmin, node)-water_flux(node) + end do ! --> do node=1, myDim_nod2D + + !___________________________________________________________________________ + call exchange_nod(Wvel, partit) + if (Fer_GM) call exchange_nod(fer_Wvel, partit) + + !___________________________________________________________________________ + ! compute vertical CFL_z criteria + call compute_CFLz(dynamics, partit, mesh) + + !___________________________________________________________________________ + ! compute implicite explicite splitting of vetical velocity Wvel according + ! to CFL_z criteria + call compute_Wvel_split(dynamics, partit, mesh) + +end subroutine compute_vert_vel_transpv diff --git a/src/oce_ale_vel_rhs.F90 b/src/oce_ale_vel_rhs.F90 index 771dc8303..dc334a1be 100644 --- a/src/oce_ale_vel_rhs.F90 +++ b/src/oce_ale_vel_rhs.F90 @@ -46,7 +46,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) use g_comm_auto use g_sbf, only: l_mslp use momentum_adv_scalar_interface - use momentum_adv_scalar_4splitexpl_interface + use momentum_adv_scalar_transpv_interface implicit none type(t_ice) , intent(inout), target :: ice type(t_dyn) , intent(inout), target :: dynamics @@ -154,8 +154,8 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) if (use_global_tides) then pre=pre-ssh_gp(elnodes) end if - Fx = sum(gradient_sca(1:3,elem)*pre) - Fy = sum(gradient_sca(4:6,elem)*pre) + Fx = sum(gradient_sca(1:3, elem)*pre) + Fy = sum(gradient_sca(4:6, elem)*pre) !_______________________________________________________________________ ! when ssh split-explicite subcycling method is setted use transport velocities @@ -172,37 +172,40 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) UV_rhsAB(2, nz, elem) =-UV(1, nz, elem)*ff! - mm*UV(1,nz,elem)*UV(2,nz,elem) end do else - UVBT_4AB(1:2,elem) = 0.0_WP do nz=nzmin,nzmax-1 ! add pressure gradient terms UV_rhs( 1, nz, elem) = UV_rhs(1, nz, elem) + (Fx-pgf_x(nz, elem))*elem_area(elem)*helem(nz,elem) UV_rhs( 2, nz, elem) = UV_rhs(2, nz, elem) + (Fy-pgf_y(nz, elem))*elem_area(elem)*helem(nz,elem) - +!PS UV_rhs( 1, nz, elem) = UV_rhs(1, nz, elem) + (pgf_x(nz, elem))*elem_area(elem)*helem(nz,elem) +!PS UV_rhs( 2, nz, elem) = UV_rhs(2, nz, elem) + (pgf_y(nz, elem))*elem_area(elem)*helem(nz,elem) +!PS UV_rhs( 1, nz, elem) = UV_rhs(1, nz, elem) + (Fx)*elem_area(elem)*helem(nz,elem) +!PS UV_rhs( 2, nz, elem) = UV_rhs(2, nz, elem) + (Fy)*elem_area(elem)*helem(nz,elem) + ! add coriolis force, initialise AB2 array of actual timestep ! with coriolis term - UV_rhsAB(1, nz ,elem) = UVh(1, nz, elem)*ff! + mm*UV(1,nz,elem)*UVh(1, nz, elem) - UV_rhsAB(2, nz ,elem) =-UVh(2, nz, elem)*ff! - mm*UV(1,nz,elem)*UVh(2, nz, elem) + UV_rhsAB(1, nz ,elem) = UVh(2, nz, elem)*ff! + mm*UV(1,nz,elem)*UVh(2, nz, elem) + UV_rhsAB(2, nz ,elem) =-UVh(1, nz, elem)*ff! - mm*UV(1,nz,elem)*UVh(1, nz, elem) ! compute barotropic velocity for adams-bashfort time stepping ! UVBT_4AB(1:2, elem)--> actual timestep, ! UVBT_4AB(3:4, elem)--> previous timestep (is setted in ! call compute_BC_BT_SE_vtransp) - UVBT_4AB(1, elem) = UVBT_4AB(1, elem) + UVh(1, nz, elem) ! - UVBT_4AB(2, elem) = UVBT_4AB(2, elem) + UVh(2, nz, elem) ! + UVBT_4AB(1, elem) = UVh(1, nz, elem) ! + UVBT_4AB(2, elem) = UVh(2, nz, elem) ! end do end if !_______________________________________________________________________ if (dynamics%ldiag_ke) then do nz=nzmin,nzmax-1 - dynamics%ke_pre(1,nz,elem)= (Fx-pgf_x(nz,elem))*dt!*elem_area(elem) !not to divide it aterwards (at the end of this subroutine) - dynamics%ke_pre(2,nz,elem)= (Fy-pgf_y(nz,elem))*dt!*elem_area(elem) !but account for DT here + dynamics%ke_pre( 1, nz, elem)= (Fx-pgf_x(nz, elem))*dt!*elem_area(elem) !not to divide it aterwards (at the end of this subroutine) + dynamics%ke_pre( 2, nz, elem)= (Fy-pgf_y(nz, elem))*dt!*elem_area(elem) !but account for DT here - dynamics%ke_cor_AB(1,nz,elem)= UV(2,nz,elem)*ff - dynamics%ke_cor_AB(2,nz,elem)=-UV(1,nz,elem)*ff + dynamics%ke_cor_AB(1, nz, elem)= UV(2, nz, elem)*ff + dynamics%ke_cor_AB(2, nz, elem)=-UV(1, nz, elem)*ff - dynamics%ke_adv_AB(1,nz,elem)= 0.0_WP - dynamics%ke_adv_AB(2,nz,elem)= 0.0_WP + dynamics%ke_adv_AB(1, nz, elem)= 0.0_WP + dynamics%ke_adv_AB(2, nz, elem)= 0.0_WP end do end if @@ -219,7 +222,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) if (.not. dynamics%use_ssh_splitexpl_subcycl) then call momentum_adv_scalar(dynamics, partit, mesh) else - call momentum_adv_scalar_4splitexpl(dynamics, partit, mesh) + call momentum_adv_scalar_transpv(dynamics, partit, mesh) end if end if @@ -232,8 +235,8 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) end if !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) do elem=1, myDim_elem2D - nzmax = nlevels(elem) nzmin = ulevels(elem) + nzmax = nlevels(elem) do nz=nzmin,nzmax-1 UV_rhs(1,nz,elem)=dt*(UV_rhs(1,nz,elem)+UV_rhsAB(1,nz,elem)*ff)/elem_area(elem) UV_rhs(2,nz,elem)=dt*(UV_rhs(2,nz,elem)+UV_rhsAB(2,nz,elem)*ff)/elem_area(elem) @@ -254,8 +257,8 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) if (dynamics%ldiag_ke) then !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) do elem=1, myDim_elem2D - nzmax = nlevels(elem) nzmin = ulevels(elem) + nzmax = nlevels(elem) do nz=nzmin,nzmax-1 dynamics%ke_adv(:,nz,elem)=dt*(dynamics%ke_adv(:,nz,elem)+dynamics%ke_adv_AB(:,nz,elem)*ff)/elem_area(elem) dynamics%ke_cor(:,nz,elem)=dt*(dynamics%ke_cor(:,nz,elem)+dynamics%ke_cor_AB(:,nz,elem)*ff)/elem_area(elem) diff --git a/src/write_step_info.F90 b/src/write_step_info.F90 index 3ebfb5953..498b08750 100644 --- a/src/write_step_info.F90 +++ b/src/write_step_info.F90 @@ -91,7 +91,7 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) Wvel => dynamics%w(:,:) CFL_z => dynamics%cfl_z(:,:) eta_n => dynamics%eta_n(:) - d_eta => dynamics%d_eta(:) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) d_eta => dynamics%d_eta(:) m_ice => ice%data(2)%values(:) if (mod(istep,outfreq)==0) then @@ -117,23 +117,26 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) do n=1, myDim_nod2D loc_eta = loc_eta + areasvol(ulevels_nod2D(n), n)*eta_n(n) loc_hbar = loc_hbar + areasvol(ulevels_nod2D(n), n)*hbar(n) - loc_deta = loc_deta + areasvol(ulevels_nod2D(n), n)*d_eta(n) loc_dhbar = loc_dhbar + areasvol(ulevels_nod2D(n), n)*(hbar(n)-hbar_old(n)) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + loc_deta = loc_deta + areasvol(ulevels_nod2D(n), n)*d_eta(n) + end if loc_wflux = loc_wflux + areasvol(ulevels_nod2D(n), n)*water_flux(n) end do + if (dynamics%use_ssh_splitexpl_subcycl) loc_deta=loc_dhbar #if !defined(__openmp_reproducible) !$OMP END PARALLEL DO #endif !_______________________________________________________________________ call MPI_AllREDUCE(loc_eta , int_eta , 1, MPI_DOUBLE_PRECISION, MPI_SUM, MPI_COMM_FESOM, MPIerr) call MPI_AllREDUCE(loc_hbar , int_hbar , 1, MPI_DOUBLE_PRECISION, MPI_SUM, MPI_COMM_FESOM, MPIerr) - call MPI_AllREDUCE(loc_deta , int_deta , 1, MPI_DOUBLE_PRECISION, MPI_SUM, MPI_COMM_FESOM, MPIerr) +!PS call MPI_AllREDUCE(loc_deta , int_deta , 1, MPI_DOUBLE_PRECISION, MPI_SUM, MPI_COMM_FESOM, MPIerr) call MPI_AllREDUCE(loc_dhbar, int_dhbar, 1, MPI_DOUBLE_PRECISION, MPI_SUM, MPI_COMM_FESOM, MPIerr) call MPI_AllREDUCE(loc_wflux, int_wflux, 1, MPI_DOUBLE_PRECISION, MPI_SUM, MPI_COMM_FESOM, MPIerr) int_eta = int_eta /ocean_areawithcav int_hbar = int_hbar /ocean_areawithcav - int_deta = int_deta /ocean_areawithcav +!PS int_deta = int_deta /ocean_areawithcav int_dhbar= int_dhbar/ocean_areawithcav int_wflux= int_wflux/ocean_areawithcav !_______________________________________________________________________ @@ -161,7 +164,11 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) call MPI_AllREDUCE(loc , min_vvel , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) loc=omp_min_max_sum1(UVnode(2,2,:), 1, myDim_nod2D, 'min', partit) call MPI_AllREDUCE(loc , min_vvel2 , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) - loc=omp_min_max_sum1(d_eta, 1, myDim_nod2D, 'min', partit) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + loc=omp_min_max_sum1(d_eta, 1, myDim_nod2D, 'min', partit) + else + loc=omp_min_max_sum1(hbar-hbar_old, 1, myDim_nod2D, 'min', partit) + end if call MPI_AllREDUCE(loc , min_deta , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) loc=omp_min_max_sum1(hnode(1,:), 1, myDim_nod2D, 'min', partit) call MPI_AllREDUCE(loc , min_hnode , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) @@ -193,7 +200,11 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) call MPI_AllREDUCE(loc , max_vvel , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) loc=omp_min_max_sum1(UVnode(2,2,:), 1, myDim_nod2D, 'max', partit) call MPI_AllREDUCE(loc , max_vvel2 , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) - loc=omp_min_max_sum1(d_eta, 1, myDim_nod2D, 'max', partit) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + loc=omp_min_max_sum1(d_eta, 1, myDim_nod2D, 'max', partit) + else + loc=omp_min_max_sum1(hbar-hbar_old, 1, myDim_nod2D, 'max', partit) + end if call MPI_AllREDUCE(loc , max_deta , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) loc=omp_min_max_sum1(hnode(1, :), 1, myDim_nod2D, 'max', partit) call MPI_AllREDUCE(loc , max_hnode , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) @@ -296,6 +307,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) real(kind=WP), dimension(:) , pointer :: u_ice, v_ice real(kind=WP), dimension(:) , pointer :: a_ice, m_ice, m_snow real(kind=WP), dimension(:) , pointer :: a_ice_old, m_ice_old, m_snow_old + real(kind=WP), dimension(:), allocatable, target :: dhbar #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -303,10 +315,8 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) UV => dynamics%uv(:,:,:) Wvel => dynamics%w(:,:) CFL_z => dynamics%cfl_z(:,:) - ssh_rhs => dynamics%ssh_rhs(:) - ssh_rhs_old => dynamics%ssh_rhs_old(:) + eta_n => dynamics%eta_n(:) - d_eta => dynamics%d_eta(:) u_ice => ice%uice(:) v_ice => ice%vice(:) a_ice => ice%data(1)%values(:) @@ -315,6 +325,15 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) a_ice_old => ice%data(1)%values_old(:) m_ice_old => ice%data(2)%values_old(:) m_snow_old => ice%data(3)%values_old(:) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + d_eta => dynamics%d_eta(:) + ssh_rhs => dynamics%ssh_rhs(:) + ssh_rhs_old => dynamics%ssh_rhs_old(:) + else + allocate(dhbar(myDim_nod2D+eDim_nod2D)) + dhbar = hbar-hbar_old + d_eta => dhbar + end if !___________________________________________________________________________ !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) @@ -338,7 +357,9 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) 'zbar_3d_n = ',zbar_3d_n(:,n) write(*,*) 'Z_3d_n = ',Z_3d_n(:,n) write(*,*) - write(*,*) 'ssh_rhs = ',ssh_rhs(n),', ssh_rhs_old = ',ssh_rhs_old(n) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + write(*,*) 'ssh_rhs = ',ssh_rhs(n),', ssh_rhs_old = ',ssh_rhs_old(n) + end if write(*,*) write(*,*) 'hbar = ',hbar(n),', hbar_old = ',hbar_old(n) write(*,*) @@ -389,8 +410,10 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) 'd_eta(n) = ',d_eta(n) write(*,*) 'hbar = ',hbar(n) write(*,*) 'hbar_old = ',hbar_old(n) - write(*,*) 'ssh_rhs = ',ssh_rhs(n) - write(*,*) 'ssh_rhs_old = ',ssh_rhs_old(n) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + write(*,*) 'ssh_rhs = ',ssh_rhs(n) + write(*,*) 'ssh_rhs_old = ',ssh_rhs_old(n) + end if write(*,*) write(*,*) 'CFL_z(:,n) = ',CFL_z(:,n) write(*,*) @@ -411,6 +434,14 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) 'hnode(1, n) = ',hnode(1,n) write(*,*) 'hnode(:, n) = ',hnode(:,n) write(*,*) + write(*,*) 'eta_n = ',eta_n(n) + write(*,*) 'd_eta(n) = ',d_eta(n) + write(*,*) 'hbar = ',hbar(n) + write(*,*) 'hbar_old = ',hbar_old(n) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + write(*,*) 'ssh_rhs = ',ssh_rhs(n) + write(*,*) 'ssh_rhs_old = ',ssh_rhs_old(n) + end if write(*,*) 'glon,glat = ',geo_coord_nod2D(:,n)/rad write(*,*) !$OMP END CRITICAL @@ -445,8 +476,10 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) 'd_eta(n) = ',d_eta(n) write(*,*) 'hbar = ',hbar(n) write(*,*) 'hbar_old = ',hbar_old(n) - write(*,*) 'ssh_rhs = ',ssh_rhs(n) - write(*,*) 'ssh_rhs_old = ',ssh_rhs_old(n) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + write(*,*) 'ssh_rhs = ',ssh_rhs(n) + write(*,*) 'ssh_rhs_old = ',ssh_rhs_old(n) + end if write(*,*) write(*,*) 'm_ice = ',m_ice(n) write(*,*) 'm_ice_old = ',m_ice_old(n) @@ -493,8 +526,10 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) 'd_eta(n) = ',d_eta(n) write(*,*) 'hbar = ',hbar(n) write(*,*) 'hbar_old = ',hbar_old(n) - write(*,*) 'ssh_rhs = ',ssh_rhs(n) - write(*,*) 'ssh_rhs_old = ',ssh_rhs_old(n) + if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + write(*,*) 'ssh_rhs = ',ssh_rhs(n) + write(*,*) 'ssh_rhs_old = ',ssh_rhs_old(n) + end if write(*,*) write(*,*) 'hnode = ',hnode(:,n) write(*,*) 'hnode_new = ',hnode_new(:,n) From a494f987e9263aa3b5a4a3b62594a95d174d08b5 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 23 Jun 2023 10:17:54 +0200 Subject: [PATCH 040/273] add split-explicite blowup variables --- src/io_blowup.F90 | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/io_blowup.F90 b/src/io_blowup.F90 index b672392c8..ec42e1067 100644 --- a/src/io_blowup.F90 +++ b/src/io_blowup.F90 @@ -111,14 +111,16 @@ subroutine ini_blowup_io(year, ice, dynamics, tracers, partit, mesh) call def_variable(bid, 'ssh_rhs_old', (/nod2D/) , 'RHS for the elevation', '?', dynamics%ssh_rhs_old); else - call def_variable(bid, 'ubt_rhs' , (/elem2D/), 'zonal RHS barotr. transp. equation' , '?', dynamics%se_uvBT_rhs( 1,:)); - call def_variable(bid, 'vbt_rhs' , (/elem2D/), 'merid. RHS barotr. transp. equation', '?', dynamics%se_uvBT_rhs( 2,:)); - call def_variable(bid, 'ubt' , (/elem2D/), 'zonal barotr. transp.' , '?', dynamics%se_uvBT( 1,:)); - call def_variable(bid, 'vbt' , (/elem2D/), 'merid. barotr. transp.' , '?', dynamics%se_uvBT( 2,:)); - call def_variable(bid, 'ubt_theta', (/elem2D/), 'zonal barotr. theta term.' , '?', dynamics%se_uvBT_theta(1,:)); - call def_variable(bid, 'vbt_theta', (/elem2D/), 'merid. barotr. theta term' , '?', dynamics%se_uvBT_theta(2,:)); - call def_variable(bid, 'ubt_mean' , (/elem2D/), 'zonal barotr. mean term.' , '?', dynamics%se_uvBT_mean( 1,:)); - call def_variable(bid, 'vbt_mean' , (/elem2D/), 'merid. barotr. mean term' , '?', dynamics%se_uvBT_mean( 2,:)); + call def_variable(bid, 'ubt_rhs' , (/elem2D/), 'zonal RHS barotr. transp. equation' , '?' , dynamics%se_uvBT_rhs( 1,:)); + call def_variable(bid, 'vbt_rhs' , (/elem2D/), 'merid. RHS barotr. transp. equation', '?' , dynamics%se_uvBT_rhs( 2,:)); + call def_variable(bid, 'ubt' , (/elem2D/), 'zonal barotr. transp.' , '?' , dynamics%se_uvBT( 1,:)); + call def_variable(bid, 'vbt' , (/elem2D/), 'merid. barotr. transp.' , '?' , dynamics%se_uvBT( 2,:)); + call def_variable(bid, 'ubt_theta', (/elem2D/), 'zonal barotr. theta term.' , '?' , dynamics%se_uvBT_theta(1,:)); + call def_variable(bid, 'vbt_theta', (/elem2D/), 'merid. barotr. theta term' , '?' , dynamics%se_uvBT_theta(2,:)); + call def_variable(bid, 'ubt_mean' , (/elem2D/), 'zonal barotr. mean term.' , '?' , dynamics%se_uvBT_mean( 1,:)); + call def_variable(bid, 'vbt_mean' , (/elem2D/), 'merid. barotr. mean term' , '?' , dynamics%se_uvBT_mean( 2,:)); + call def_variable(bid, 'uh' , (/nl-1, elem2D/), 'zonal velocity' , 'm/s', dynamics%se_uvh(1,:,:)); + call def_variable(bid, 'vh' , (/nl-1, elem2D/), 'meridional velocity' , 'm/s', dynamics%se_uvh(2,:,:)); end if !___Define the netCDF variables for 3D fields_______________________________ From 4c7f9a32841fcc33b4bf5291e836875130640e7b Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 7 Jul 2023 15:50:15 +0200 Subject: [PATCH 041/273] fix big in vertical integral of UVBT_4AB, fix bug in SE namelist parameter, switch back on tracer solver + some cosmetics --- src/MOD_DYN.F90 | 3 +- src/oce_ale.F90 | 6 +- src/oce_ale_ssh_splitexpl_subcycl.F90 | 329 +++++++++++++------------- src/oce_ale_vel_rhs.F90 | 11 +- src/oce_dyn.F90 | 8 +- src/oce_setup_step.F90 | 11 +- src/write_step_info.F90 | 2 +- 7 files changed, 194 insertions(+), 176 deletions(-) diff --git a/src/MOD_DYN.F90 b/src/MOD_DYN.F90 index e95fae68d..b9afadaba 100644 --- a/src/MOD_DYN.F90 +++ b/src/MOD_DYN.F90 @@ -120,8 +120,9 @@ MODULE MOD_DYN ! use_ssh_splitexpl_subcycl = .true. --> split explicite subcycling logical :: use_ssh_splitexpl_subcycl = .false. - ! barotropic subcycling time-steps + ! barotropic subcycling time-steps and dissipation parameter integer :: splitexpl_BTsteps = 40 + real(kind=WP) :: splitexpl_BTtheta = 0.14_WP !___________________________________________________________________________ ! energy diagnostic part: will be computed inside the model ("hard integration"): diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index e692b44a4..505f1de62 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -3375,7 +3375,11 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) if ( .not. dynamics%use_ssh_splitexpl_subcycl) then call vert_vel_ale(dynamics, partit, mesh) else - call compute_thickness_zstar(dynamics, partit, mesh) + if (trim(which_ale)=='zstar' ) then + call compute_thickness_zstar(dynamics, partit, mesh) + else + hnode_new = hnode + end if call compute_vert_vel_transpv(dynamics, partit, mesh) end if t7=MPI_Wtime() diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 2dcc21991..1d3b86d04 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -122,9 +122,11 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) !$OMP DO do node=1, myDim_nod2D - nl1 = nlevels_nod2D(node) ul1 = ulevels_nod2D(node) - + nl1 = nlevels_nod2D(node) + wu(1:nl1+1) = 0.0_WP + wv(1:nl1+1) = 0.0_WP + UVnode_rhs(:,:,node) = 0.0_WP !_______________________________________________________________________ ! surface nz=ul1 @@ -144,8 +146,8 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) qu = (UVnode(1, nz , node)-UVnode(1, nz+1, node))/(hnode(nz , node)+hnode(nz+1, node)) qd = (UVnode(1, nz-2, node)-UVnode(1, nz-1, node))/(hnode(nz-2, node)+hnode(nz-1, node)) - uv1 = UVnode(1, nz , node)+(2*qc+qu)*hnode(nz , node)/6.0_WP ! Gradient reconstruction 2(2qc+qu)(h/2)(1/6) - uv2 = UVnode(1, nz-1, node)-(2*qc+qd)*hnode(nz-1, node)/6.0_WP + uv1 = UVnode(1, nz , node)+(2*qc+qu)*hnode(nz , node)/6.0_WP ! Gradient reconstruction 2(2qc+qu)(h/2)(1/6) + uv2 = UVnode(1, nz-1, node)-(2*qc+qd)*hnode(nz-1, node)/6.0_WP uv12 = (Wvel_e(nz, node)+abs(Wvel_e(nz, node)))*uv1+ & (Wvel_e(nz, node)-abs(Wvel_e(nz, node)))*uv2 wu(nz)=0.5_WP*(num_ord*(uv1+uv2)*Wvel_e(nz, node)+(1.0_WP-num_ord)*uv12)*area(nz, node) @@ -154,8 +156,8 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) qu = (UVnode(2, nz , node)-UVnode(2, nz+1, node))/(hnode(nz , node)+hnode(nz+1, node)) qd = (UVnode(2, nz-2, node)-UVnode(2, nz-1, node))/(hnode(nz-2, node)+hnode(nz-1, node)) - uv1 = UVnode(2, nz , node)+(2*qc+qu)*hnode(nz , node)/6.0_WP - uv2 = UVnode(2, nz-1, node)-(2*qc+qd)*hnode(nz-1, node)/6.0_WP + uv1 = UVnode(2, nz , node)+(2*qc+qu)*hnode(nz , node)/6.0_WP + uv2 = UVnode(2, nz-1, node)-(2*qc+qd)*hnode(nz-1, node)/6.0_WP uv12 = (Wvel_e(nz, node)+abs(Wvel_e(nz, node)))*uv1+ & (Wvel_e(nz, node)-abs(Wvel_e(nz, node)))*uv2 wv(nz)=0.5_WP*(num_ord*(uv1+uv2)*Wvel_e(nz, node)+(1.0_WP-num_ord)*uv12)*area(nz, node) @@ -175,9 +177,9 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) !_______________________________________________________________________ ! set to the rhs for transports, not velocities!!! --> No division by h - do nz=1, nl1-1 - UVnode_rhs(1, nz, node)= -(wu(nz)-wu(nz+1)) - UVnode_rhs(2, nz, node)= -(wv(nz)-wv(nz+1)) + do nz=ul1, nl1-1 + UVnode_rhs(1, nz, node)= UVnode_rhs(1, nz, node) - (wu(nz)-wu(nz+1)) + UVnode_rhs(2, nz, node)= UVnode_rhs(2, nz, node) - (wv(nz)-wv(nz+1)) end do end do ! --> do node=1, myDim_nod2D @@ -611,6 +613,7 @@ subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) UV_rhs =>dynamics%uv_rhs(:,:,:) Wvel_i =>dynamics%w_i(:,:) UVh =>dynamics%se_uvh(:,:,:) + !___________________________________________________________________________ !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(a, b, c, ur, vr, cp, up, vp, elem, & !$OMP nz, nzmin, nzmax, elnodes, & @@ -622,6 +625,8 @@ subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) elnodes= elem2D_nodes(:,elem) nzmin = ulevels(elem) nzmax = nlevels(elem) + uu = 0.0_WP + vv = 0.0_WP !_______________________________________________________________________ ! New velocities: compute u_k^(n+1/2, *) = u_k^(n-1/2) + UV_rhs/helem @@ -631,19 +636,19 @@ subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) vv(nzmin:nzmax-1)=(UVh(2, nzmin:nzmax-1, elem)+UV_rhs(2, nzmin:nzmax-1, elem))/helem(nzmin:nzmax-1, elem) !_______________________________________________________________ - if ( any(uu(nzmin:nzmax-1)/=uu(nzmin:nzmax-1)) .or. & - any(vv(nzmin:nzmax-1)/=vv(nzmin:nzmax-1)) ) then - write(*,*) ' --> subroutine impl_vert_visc_ale_vtransp --> found Nan in uu=UVh=UV_rhs' - write(*,*) ' mype =', mype - write(*,*) ' elem =', elem - write(*,*) ' uu(nzmin:nzmax-1)=', uu(nzmin:nzmax-1) - write(*,*) ' vv(nzmin:nzmax-1)=', vv(nzmin:nzmax-1) - write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nz, elem) - write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nz, elem) - write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) - write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) - write(*,*) ' helem(nz, elem) =', helem(nz, elem) - end if +!PS if ( any(uu(nzmin:nzmax-1)/=uu(nzmin:nzmax-1)) .or. & +!PS any(vv(nzmin:nzmax-1)/=vv(nzmin:nzmax-1)) ) then +!PS write(*,*) ' --> subroutine impl_vert_visc_ale_vtransp --> found Nan in uu=UVh=UV_rhs' +!PS write(*,*) ' mype =', mype +!PS write(*,*) ' elem =', elem +!PS write(*,*) ' uu(nzmin:nzmax-1)=', uu(nzmin:nzmax-1) +!PS write(*,*) ' vv(nzmin:nzmax-1)=', vv(nzmin:nzmax-1) +!PS write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nz, elem) +!PS write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nz, elem) +!PS write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) +!PS write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) +!PS write(*,*) ' helem(nz, elem) =', helem(nz, elem) +!PS end if !_______________________________________________________________________ ! Operator + rhs @@ -756,22 +761,22 @@ subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) end do !_______________________________________________________________ - if ( any(UV_rhs(1, nzmin:nzmax-1, elem)/=UV_rhs(1, nzmin:nzmax-1, elem)) .or. & - any(UV_rhs(2, nzmin:nzmax-1, elem)/=UV_rhs(2, nzmin:nzmax-1, elem))) then - write(*,*) ' --> subroutine impl_vert_visc_ale_vtransp --> found Nan in UV_rhs=UVh_rhs+uvr*helem' - write(*,*) ' mype =', mype - write(*,*) ' elem =', elem - write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nzmin:nzmax-1, elem) - write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nzmin:nzmax-1, elem) - write(*,*) ' ur(nzmin:nzmax-1)=', ur(nzmin:nzmax-1) - write(*,*) ' vr(nzmin:nzmax-1)=', vr(nzmin:nzmax-1) - write(*,*) ' helem(nz, elem) =', helem(nzmin:nzmax-1, elem) - write(*,*) ' a(nzmin:nzmax-1) =', a(nzmin:nzmax-1) - write(*,*) ' b(nzmin:nzmax-1) =', b(nzmin:nzmax-1) - write(*,*) ' c(nzmin:nzmax-1) =', c(nzmin:nzmax-1) - write(*,*) ' Av(nzmin:nzmax-1,elem) =', Av(nzmin:nzmax-1, elem) - write(*,*) ' Wvel_i(nzmin:nzmax-1,elem) =',Wvel_i(nzmin:nzmax-1, elnodes) - end if +!PS if ( any(UV_rhs(1, nzmin:nzmax-1, elem)/=UV_rhs(1, nzmin:nzmax-1, elem)) .or. & +!PS any(UV_rhs(2, nzmin:nzmax-1, elem)/=UV_rhs(2, nzmin:nzmax-1, elem))) then +!PS write(*,*) ' --> subroutine impl_vert_visc_ale_vtransp --> found Nan in UV_rhs=UVh_rhs+uvr*helem' +!PS write(*,*) ' mype =', mype +!PS write(*,*) ' elem =', elem +!PS write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nzmin:nzmax-1, elem) +!PS write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nzmin:nzmax-1, elem) +!PS write(*,*) ' ur(nzmin:nzmax-1)=', ur(nzmin:nzmax-1) +!PS write(*,*) ' vr(nzmin:nzmax-1)=', vr(nzmin:nzmax-1) +!PS write(*,*) ' helem(nz, elem) =', helem(nzmin:nzmax-1, elem) +!PS write(*,*) ' a(nzmin:nzmax-1) =', a(nzmin:nzmax-1) +!PS write(*,*) ' b(nzmin:nzmax-1) =', b(nzmin:nzmax-1) +!PS write(*,*) ' c(nzmin:nzmax-1) =', c(nzmin:nzmax-1) +!PS write(*,*) ' Av(nzmin:nzmax-1,elem) =', Av(nzmin:nzmax-1, elem) +!PS write(*,*) ' Wvel_i(nzmin:nzmax-1,elem) =',Wvel_i(nzmin:nzmax-1, elnodes) +!PS end if end do ! --> do elem=1,myDim_elem2D !$OMP END DO @@ -830,10 +835,6 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) nzmin = ulevels(elem) nzmax = nlevels(elem)-1 - !_______________________________________________________________________ - Fx=g*dt*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) - Fy=g*dt*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - !_______________________________________________________________________ ! vertically integrate UV_rhs --> for barotropic equatiobn vert_sum_u=0.0_WP @@ -846,7 +847,9 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) !_______________________________________________________________________ ! Remove the contribution from the elevation will be accounted explicitely ! for in the barotropic equation - hh=sum(helem(nzmin:nzmax, elem)) + Fx = g*dt*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + Fy = g*dt*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) + hh = sum(helem(nzmin:nzmax, elem)) vert_sum_u=vert_sum_u + Fx*hh vert_sum_v=vert_sum_v + Fy*hh @@ -855,6 +858,8 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) ! for in the barotropic equation ! UVBT_rhs ... baroclinic forcing term in barotropic equation R_b ! --> d/dt*U_bt + f*e_z x U_bt + g*H* grad(eta) = R_bt + ! --> from AB2 in oce_ale_vel_rhs.F90 --> ab2=-0.5 (from previouse time + ! step) --> ab1=1.5 or 0.0 (first tstep) UVBT_rhs(1, elem)=vert_sum_u - dt*mesh%coriolis(elem)* & (ab1*UVBT_4AB(2,elem)+ab2*UVBT_4AB(4,elem)) ! for AB-interpolated UVBT_rhs(2, elem)=vert_sum_v + dt*mesh%coriolis(elem)* & @@ -867,8 +872,8 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) ! --> d/dt*U_bt + f*e_z x U_bt + g*H*grad_H(eta) = R_bt UVBT_4AB(3:4,elem)=UVBT_4AB(1:2,elem) end do -!PS !$OMP END DO -!PS !$OMP END PARALLEL +!$OMP END DO +!$OMP END PARALLEL end subroutine compute_BT_rhs_SE_vtransp ! ! @@ -927,7 +932,8 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! Dissipation parameter of FB dissipative method 0.14 is the default value ! from Demange et al. !PS thetaBT= 0.14_WP - thetaBT= 0.5_WP +!PS thetaBT= 0.5_WP + thetaBT= dynamics%splitexpl_BTtheta ! BTsteps should be 30 or 40. dtBT = dt/dynamics%splitexpl_BTsteps @@ -1023,45 +1029,45 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !PS if ( (mype==398) .and. ((abs(eta_n(ednodes(1)))>10) .or. (abs(eta_n(ednodes(1)))>10)) ) then - if ((abs(eta_n(ednodes(1)))>100) .or. (abs(eta_n(ednodes(2)))>100)) then - write(*,*) '-------------------------------------------------' - write(*,*) ' --> subroutine compute_BT_step_SE_ale --> found eta_n>100 in barotrop. subcycling' - write(*,*) ' mype = ', mype - write(*,*) ' mstep = ', mstep - write(*,*) ' btstep = ', step - write(*,*) ' edge = ', edge - write(*,*) ' ednodes(1:2) = ', ednodes - write(*,*) ' edelem(1:2) = ', edelem - write(*,*) ' glon,glat = ', geo_coord_nod2D(:,ednodes)/rad - write(*,*) - write(*,*) ' eta_n(ednodes) = ', eta_n(ednodes) - write(*,*) ' c1, c2 = ', c1, c2 - if(edelem(2)>0) then - write(*,*) ' UVBT_rhs( 1:2,edelem) = ', UVBT_rhs( 1:2, edelem) - write(*,*) ' UVBT( 1:2,edelem) = ', UVBT( 1:2, edelem) - write(*,*) ' UVBT_theta(1:2,edelem) = ', UVBT_theta(1:2, edelem) - write(*,*) ' UVBT_mean( 1:2,edelem) = ', UVBT_mean( 1:2, edelem) - nzmin1 = ulevels(edelem(1)) - nzmax1 = nlevels(edelem(1))-1 - nzmin2 = ulevels(edelem(2)) - nzmax2 = nlevels(edelem(2))-1 - write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%se_uvh(1:2, nzmin1:nzmax1, edelem(1)) - write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(2)) = ', dynamics%se_uvh(1:2, nzmin2:nzmax2, edelem(2)) - write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%uv_rhs(1:2, nzmin1:nzmax1, edelem(1)) - write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(2)) = ', dynamics%uv_rhs(1:2, nzmin2:nzmax2, edelem(2)) - else - write(*,*) ' UVBT_rhs( 1:2,edelem) = ', UVBT_rhs( 1:2, edelem(1)) - write(*,*) ' UVBT( 1:2,edelem) = ', UVBT( 1:2, edelem(1)) - write(*,*) ' UVBT_theta(1:2,edelem) = ', UVBT_theta(1:2, edelem(1)) - write(*,*) ' UVBT_mean( 1:2,edelem) = ', UVBT_mean( 1:2, edelem(1)) - nzmin1 = ulevels(edelem(1)) - nzmax1 = nlevels(edelem(1))-1 - write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%se_uvh(1:2, nzmin1:nzmax1, edelem(1)) - write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%uv_rhs(1:2, nzmin1:nzmax1, edelem(1)) - - end if - write(*,*) - end if +!PS if ((abs(eta_n(ednodes(1)))>100) .or. (abs(eta_n(ednodes(2)))>100)) then +!PS write(*,*) '-------------------------------------------------' +!PS write(*,*) ' --> subroutine compute_BT_step_SE_ale --> found eta_n>100 in barotrop. subcycling' +!PS write(*,*) ' mype = ', mype +!PS write(*,*) ' mstep = ', mstep +!PS write(*,*) ' btstep = ', step +!PS write(*,*) ' edge = ', edge +!PS write(*,*) ' ednodes(1:2) = ', ednodes +!PS write(*,*) ' edelem(1:2) = ', edelem +!PS write(*,*) ' glon,glat = ', geo_coord_nod2D(:,ednodes)/rad +!PS write(*,*) +!PS write(*,*) ' eta_n(ednodes) = ', eta_n(ednodes) +!PS write(*,*) ' c1, c2 = ', c1, c2 +!PS if(edelem(2)>0) then +!PS write(*,*) ' UVBT_rhs( 1:2,edelem) = ', UVBT_rhs( 1:2, edelem) +!PS write(*,*) ' UVBT( 1:2,edelem) = ', UVBT( 1:2, edelem) +!PS write(*,*) ' UVBT_theta(1:2,edelem) = ', UVBT_theta(1:2, edelem) +!PS write(*,*) ' UVBT_mean( 1:2,edelem) = ', UVBT_mean( 1:2, edelem) +!PS nzmin1 = ulevels(edelem(1)) +!PS nzmax1 = nlevels(edelem(1))-1 +!PS nzmin2 = ulevels(edelem(2)) +!PS nzmax2 = nlevels(edelem(2))-1 +!PS write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%se_uvh(1:2, nzmin1:nzmax1, edelem(1)) +!PS write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(2)) = ', dynamics%se_uvh(1:2, nzmin2:nzmax2, edelem(2)) +!PS write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%uv_rhs(1:2, nzmin1:nzmax1, edelem(1)) +!PS write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(2)) = ', dynamics%uv_rhs(1:2, nzmin2:nzmax2, edelem(2)) +!PS else +!PS write(*,*) ' UVBT_rhs( 1:2,edelem) = ', UVBT_rhs( 1:2, edelem(1)) +!PS write(*,*) ' UVBT( 1:2,edelem) = ', UVBT( 1:2, edelem(1)) +!PS write(*,*) ' UVBT_theta(1:2,edelem) = ', UVBT_theta(1:2, edelem(1)) +!PS write(*,*) ' UVBT_mean( 1:2,edelem) = ', UVBT_mean( 1:2, edelem(1)) +!PS nzmin1 = ulevels(edelem(1)) +!PS nzmax1 = nlevels(edelem(1))-1 +!PS write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%se_uvh(1:2, nzmin1:nzmax1, edelem(1)) +!PS write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%uv_rhs(1:2, nzmin1:nzmax1, edelem(1)) +!PS +!PS end if +!PS write(*,*) +!PS end if end do @@ -1089,9 +1095,8 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh - integer :: i,elem, elnodes(4), nz, m, nzmin, nzmax - real(kind=WP) :: eta(4), ff - real(kind=WP) :: Fx, Fy, ubar, vbar, hh_inv + integer :: elem, nz, nzmin, nzmax + real(kind=WP) :: ubar, vbar, hh_inv !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), dimension(:,:,:), pointer :: UVh, UV, UV_rhs @@ -1115,12 +1120,12 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! The trimmed Uh,Vh are consistent with new total height defined by eta_n if (mode==1) then do elem=1, myDim_elem2D + nzmin = ulevels(elem) + nzmax = nlevels(elem)-1 + ubar = 0.0_WP vbar = 0.0_WP hh_inv = 0.0_WP - - nzmin = ulevels(elem) - nzmax = nlevels(elem)-1 do nz=nzmin, nzmax !_______________________________________________________________ ! Update transport velocities: U^(n+1/2,**) = U^(n+1/2,*) + U_rhs @@ -1129,9 +1134,9 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) !_______________________________________________________________ ! vertically integrate updated transport velocity: sum(k, U_k^(n+1/2,**) ) - ubar=ubar+UVh(1, nz, elem) - vbar=vbar+UVh(2, nz, elem) - hh_inv=hh_inv+helem(nz,elem) + ubar = ubar+UVh(1, nz, elem) + vbar = vbar+UVh(2, nz, elem) + hh_inv= hh_inv+helem(nz,elem) end do !___________________________________________________________________ @@ -1149,30 +1154,31 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) - !_______________________________________________________________ - if ( UV( 1, nz, elem)/=UV( 1, nz, elem) .or. & - UV( 2, nz, elem)/=UV( 2, nz, elem)) then - write(*,*) ' --> subroutine update_trim_vel_ale_vtransp(mode=1) --> found Nan in UV after update UV with barotr. term' - write(*,*) ' mype =', mype - write(*,*) ' elem =', elem - write(*,*) ' nz =', nz - write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nz, elem) - write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nz, elem) - write(*,*) ' UV( 1, nz, elem) =', UV( 1, nz, elem) - write(*,*) ' UV( 2, nz, elem) =', UV( 2, nz, elem) - write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) - write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) - write(*,*) ' helem(nz, elem) =', helem(nz, elem) - write(*,*) ' UVBT_mean(1,elem)=', UVBT_mean(1,elem) - write(*,*) ' UVBT_mean(2,elem)=', UVBT_mean(2,elem) - write(*,*) ' ubar, vbar =', ubar, vbar - write(*,*) ' hh_inv =', hh_inv - end if +!PS !_______________________________________________________________ +!PS if ( UV( 1, nz, elem)/=UV( 1, nz, elem) .or. & +!PS UV( 2, nz, elem)/=UV( 2, nz, elem)) then +!PS write(*,*) ' --> subroutine update_trim_vel_ale_vtransp(mode=1) --> found Nan in UV after update UV with barotr. term' +!PS write(*,*) ' mype =', mype +!PS write(*,*) ' elem =', elem +!PS write(*,*) ' nz =', nz +!PS write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nz, elem) +!PS write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nz, elem) +!PS write(*,*) ' UV( 1, nz, elem) =', UV( 1, nz, elem) +!PS write(*,*) ' UV( 2, nz, elem) =', UV( 2, nz, elem) +!PS write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) +!PS write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) +!PS write(*,*) ' helem(nz, elem) =', helem(nz, elem) +!PS write(*,*) ' UVBT_mean(1,elem)=', UVBT_mean(1,elem) +!PS write(*,*) ' UVBT_mean(2,elem)=', UVBT_mean(2,elem) +!PS write(*,*) ' ubar, vbar =', ubar, vbar +!PS write(*,*) ' hh_inv =', hh_inv +!PS end if end do end do call exchange_elem(UVh, partit) ! This exchange can be avoided, but test first. - + call exchange_elem(UV, partit) + !___________________________________________________________________________ ! Trim to make velocity consistent with BT velocity at n+1/2 ! Velocity will be used to advance momentum @@ -1197,23 +1203,24 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection - !_______________________________________________________________ - if ( UV( 1, nz, elem)/=UV( 1, nz, elem) .or. & - UV( 2, nz, elem)/=UV( 2, nz, elem)) then - write(*,*) ' --> subroutine update_trim_vel_ale_vtransp(mode=2) --> found Nan in UV after update UV with barotr. term' - write(*,*) ' mype =', mype - write(*,*) ' elem =', elem - write(*,*) ' nz =', nz - write(*,*) ' UV( 1, nz, elem) =', UV( 1, nz, elem) - write(*,*) ' UV( 2, nz, elem) =', UV( 2, nz, elem) - write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) - write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) - write(*,*) ' helem(nz, elem) =', helem(nz, elem) - write(*,*) ' UVBT_12(1,elem) =', UVBT_12(1,elem) - write(*,*) ' UVBT_12(2,elem) =', UVBT_12(2,elem) - write(*,*) ' ubar, vbar =', ubar, vbar - write(*,*) ' hh_inv =', hh_inv - end if +!PS !_______________________________________________________________ +!PS if ( UV( 1, nz, elem)/=UV( 1, nz, elem) .or. & +!PS UV( 2, nz, elem)/=UV( 2, nz, elem)) then +!PS write(*,*) ' --> subroutine update_trim_vel_ale_vtransp(mode=2) --> found Nan in UV after update UV with barotr. term' +!PS write(*,*) ' mype =', mype +!PS write(*,*) ' elem =', elem +!PS write(*,*) ' nz =', nz +!PS write(*,*) ' UV( 1, nz, elem) =', UV( 1, nz, elem) +!PS write(*,*) ' UV( 2, nz, elem) =', UV( 2, nz, elem) +!PS write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) +!PS write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) +!PS write(*,*) ' helem(nz, elem) =', helem(nz, elem) +!PS write(*,*) ' UVBT_12(1,elem) =', UVBT_12(1,elem) +!PS write(*,*) ' UVBT_12(2,elem) =', UVBT_12(2,elem) +!PS write(*,*) ' ubar, vbar =', ubar, vbar +!PS write(*,*) ' hh_inv =', hh_inv +!PS end if + end do end do call exchange_elem(UVh, partit) ! @@ -1285,7 +1292,7 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) USE MOD_MESH USE MOD_DYN use o_ARRAYS, only: water_flux - use g_config, only: dt + use g_config, only: dt, which_ale use g_comm_auto !___________________________________________________________________________ type(t_dyn) , intent(inout), target :: dynamics @@ -1300,7 +1307,7 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), dimension(:,:,:), pointer :: UVh, fer_UV - real(kind=WP), dimension(:,:) , pointer :: Wvel, Wvel_e, Wvel_i, CFL_z, fer_Wvel + real(kind=WP), dimension(:,:) , pointer :: Wvel, Wvel_e, fer_Wvel #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -1308,8 +1315,6 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) UVh => dynamics%se_uvh(:,:,:) Wvel => dynamics%w(:,:) Wvel_e => dynamics%w_e(:,:) - Wvel_i => dynamics%w_i(:,:) - CFL_z => dynamics%cfl_z(:,:) if (Fer_GM) then fer_UV => dynamics%fer_uv(:,:,:) fer_Wvel=> dynamics%fer_w(:,:) @@ -1352,7 +1357,7 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) if (Fer_GM) then do nz = nzmax, nzmin, -1 - e1c2(nz)=(fer_UV(2, nz, edelem(1))*deltaX1- fer_UV(1, nz, edelem(1))*deltaY1)*helem(nz, edelem(1)) + e1c2(nz)=(fer_UV(2, nz, edelem(1))*deltaX1 - fer_UV(1, nz, edelem(1))*deltaY1)*helem(nz, edelem(1)) end do ! --> do nz=nzmax,nzmin,-1 fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e1c2(nzmin:nzmax) fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e1c2(nzmin:nzmax) @@ -1384,19 +1389,19 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) end if !_______________________________________________________________________ - if ( any(Wvel(nzmin:nzmax, ednodes(1))/=Wvel(nzmin:nzmax, ednodes(1))) .or. & - any(Wvel(nzmin:nzmax, ednodes(2))/=Wvel(nzmin:nzmax, ednodes(2)))) then - write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after div_H(...)' - write(*,*) ' mype =', mype - write(*,*) ' edge =', ed - write(*,*) ' enodes =', enodes - write(*,*) ' Wvel(nzmin:nzmax, enodes(1))=', Wvel(nzmin:nzmax, ednodes(1)) - write(*,*) ' Wvel(nzmin:nzmax, enodes(2))=', Wvel(nzmin:nzmax, ednodes(2)) - write(*,*) ' e1c1', e1c1(nzmin:nzmax) - write(*,*) ' e1c2', e1c2(nzmin:nzmax) - write(*,*) ' e2c1', e2c1(nzmin:nzmax) - write(*,*) ' e2c2', e2c2(nzmin:nzmax) - end if +!PS if ( any(Wvel(nzmin:nzmax, ednodes(1))/=Wvel(nzmin:nzmax, ednodes(1))) .or. & +!PS any(Wvel(nzmin:nzmax, ednodes(2))/=Wvel(nzmin:nzmax, ednodes(2)))) then +!PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after div_H(...)' +!PS write(*,*) ' mype =', mype +!PS write(*,*) ' edge =', ed +!PS write(*,*) ' enodes =', enodes +!PS write(*,*) ' Wvel(nzmin:nzmax, enodes(1))=', Wvel(nzmin:nzmax, ednodes(1)) +!PS write(*,*) ' Wvel(nzmin:nzmax, enodes(2))=', Wvel(nzmin:nzmax, ednodes(2)) +!PS write(*,*) ' e1c1', e1c1(nzmin:nzmax) +!PS write(*,*) ' e1c2', e1c2(nzmin:nzmax) +!PS write(*,*) ' e2c1', e2c1(nzmin:nzmax) +!PS write(*,*) ' e2c2', e2c2(nzmin:nzmax) +!PS end if end do ! --> do ed=1, myDim_edge2D !___________________________________________________________________________ @@ -1409,14 +1414,14 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) end do ! --> do nz=nzmax,nzmin,-1 !_______________________________________________________________________ - if ( any(Wvel(nzmin:nzmax, node)/=Wvel(nzmin:nzmax, node))) then - write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after +dhnode/dt=W' - write(*,*) ' mype =', mype - write(*,*) ' node =', node - write(*,*) ' Wvel( nzmin:nzmax, node)=', Wvel(nzmin:nzmax, node) - write(*,*) ' hnode_new(nzmin:nzmax, node)=', hnode_new(nzmin:nzmax, node) - write(*,*) ' hnode( nzmin:nzmax, node)=', hnode(nzmin:nzmax, node) - end if +!PS if ( any(Wvel(nzmin:nzmax, node)/=Wvel(nzmin:nzmax, node))) then +!PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after +dhnode/dt=W' +!PS write(*,*) ' mype =', mype +!PS write(*,*) ' node =', node +!PS write(*,*) ' Wvel( nzmin:nzmax, node)=', Wvel(nzmin:nzmax, node) +!PS write(*,*) ' hnode_new(nzmin:nzmax, node)=', hnode_new(nzmin:nzmax, node) +!PS write(*,*) ' hnode( nzmin:nzmax, node)=', hnode(nzmin:nzmax, node) +!PS end if end do ! --> do node=1, myDim_nod2D !___________________________________________________________________________ @@ -1452,10 +1457,12 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) !___________________________________________________________________________ ! Add surface fresh water flux as upper boundary condition for ! continutity - do node=1, myDim_nod2D - nzmin = ulevels_nod2D(node) - if (nzmin==1) Wvel(nzmin, node)=Wvel(nzmin, node)-water_flux(node) - end do ! --> do node=1, myDim_nod2D + if (.not. (trim(which_ale)=='linfs' )) then + do node=1, myDim_nod2D + nzmin = ulevels_nod2D(node) + if (nzmin==1) Wvel(nzmin, node)=Wvel(nzmin, node)-water_flux(node) + end do ! --> do node=1, myDim_nod2D + end if !___________________________________________________________________________ call exchange_nod(Wvel, partit) diff --git a/src/oce_ale_vel_rhs.F90 b/src/oce_ale_vel_rhs.F90 index dc334a1be..a2a4cf7db 100644 --- a/src/oce_ale_vel_rhs.F90 +++ b/src/oce_ale_vel_rhs.F90 @@ -123,7 +123,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) ! p_eta=g*eta_n(elnodes)*(1-theta) !! this place needs update (1-theta)!!! p_eta = g*eta_n(elnodes) - ff = mesh%coriolis(elem)*elem_area(elem) + ff = mesh%coriolis(elem)*elem_area(elem) !mm=metric_factor(elem)*elem_area(elem) !_______________________________________________________________________ @@ -172,14 +172,11 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) UV_rhsAB(2, nz, elem) =-UV(1, nz, elem)*ff! - mm*UV(1,nz,elem)*UV(2,nz,elem) end do else + UVBT_4AB(1:2, elem) = 0.0_WP do nz=nzmin,nzmax-1 ! add pressure gradient terms UV_rhs( 1, nz, elem) = UV_rhs(1, nz, elem) + (Fx-pgf_x(nz, elem))*elem_area(elem)*helem(nz,elem) UV_rhs( 2, nz, elem) = UV_rhs(2, nz, elem) + (Fy-pgf_y(nz, elem))*elem_area(elem)*helem(nz,elem) -!PS UV_rhs( 1, nz, elem) = UV_rhs(1, nz, elem) + (pgf_x(nz, elem))*elem_area(elem)*helem(nz,elem) -!PS UV_rhs( 2, nz, elem) = UV_rhs(2, nz, elem) + (pgf_y(nz, elem))*elem_area(elem)*helem(nz,elem) -!PS UV_rhs( 1, nz, elem) = UV_rhs(1, nz, elem) + (Fx)*elem_area(elem)*helem(nz,elem) -!PS UV_rhs( 2, nz, elem) = UV_rhs(2, nz, elem) + (Fy)*elem_area(elem)*helem(nz,elem) ! add coriolis force, initialise AB2 array of actual timestep ! with coriolis term @@ -190,8 +187,8 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) ! UVBT_4AB(1:2, elem)--> actual timestep, ! UVBT_4AB(3:4, elem)--> previous timestep (is setted in ! call compute_BC_BT_SE_vtransp) - UVBT_4AB(1, elem) = UVh(1, nz, elem) ! - UVBT_4AB(2, elem) = UVh(2, nz, elem) ! + UVBT_4AB(1, elem) = UVBT_4AB(1, elem) + UVh(1, nz, elem) ! + UVBT_4AB(2, elem) = UVBT_4AB(2, elem) + UVh(2, nz, elem) ! end do end if diff --git a/src/oce_dyn.F90 b/src/oce_dyn.F90 index d26cc84a6..92faffb55 100755 --- a/src/oce_dyn.F90 +++ b/src/oce_dyn.F90 @@ -449,10 +449,10 @@ SUBROUTINE visc_filt_bilapl(dynamics, partit, mesh) !$OMP DO DO ed=1, myDim_edge2D+eDim_edge2D if(myList_edge2D(ed)>edge2D_in) cycle - el=edge_tri(:,ed) + el = edge_tri(:,ed) nzmin = maxval(ulevels(el)) nzmax = minval(nlevels(el)) - DO nz=nzmin,nzmax-1 + DO nz=nzmin, nzmax-1 update_u(nz)=(UV(1,nz,el(1))-UV(1,nz,el(2))) update_v(nz)=(UV(2,nz,el(1))-UV(2,nz,el(2))) END DO @@ -481,10 +481,10 @@ SUBROUTINE visc_filt_bilapl(dynamics, partit, mesh) ! compute viscosity on element !$OMP DO DO ed=1,myDim_elem2D - len=sqrt(elem_area(ed)) + len = sqrt(elem_area(ed)) nzmin = ulevels(ed) nzmax = nlevels(ed) - Do nz=nzmin,nzmax-1 + Do nz=nzmin, nzmax-1 ! vi has the sense of harmonic viscosity coef. because of ! division by area in the end u1=U_c(nz,ed)**2+V_c(nz,ed)**2 diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index c8b4bf2ef..b4393674e 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -392,10 +392,14 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) logical :: ldiag_KE =.false. real(kind=WP) :: wsplit_maxcfl logical :: use_ssh_splitexpl_subcycl=.false. + integer :: splitexpl_BTsteps + real(kind=WP) :: splitexpl_BTtheta + namelist /dynamics_visc / opt_visc, visc_gamma0, visc_gamma1, visc_gamma2, & use_ivertvisc, visc_easybsreturn namelist /dynamics_general/ momadv_opt, use_freeslip, use_wsplit, wsplit_maxcfl, & - ldiag_KE, use_ssh_splitexpl_subcycl + ldiag_KE, use_ssh_splitexpl_subcycl, splitexpl_BTsteps, & + splitexpl_BTtheta !___________________________________________________________________________ ! pointer on necessary derived types #include "associate_part_def.h" @@ -431,6 +435,11 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) dynamics%wsplit_maxcfl = wsplit_maxcfl dynamics%ldiag_KE = ldiag_KE dynamics%use_ssh_splitexpl_subcycl = use_ssh_splitexpl_subcycl + if (dynamics%use_ssh_splitexpl_subcycl) then + dynamics%splitexpl_BTsteps = splitexpl_BTsteps + dynamics%splitexpl_BTtheta = splitexpl_BTtheta + end if + !___________________________________________________________________________ ! define local vertice & elem array size elem_size=myDim_elem2D+eDim_elem2D diff --git a/src/write_step_info.F90 b/src/write_step_info.F90 index 498b08750..33517654e 100644 --- a/src/write_step_info.F90 +++ b/src/write_step_info.F90 @@ -340,7 +340,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) do n=1, myDim_nod2d !___________________________________________________________________ ! check ssh - if ( ((eta_n(n) /= eta_n(n)) .or. eta_n(n)<-50.0 .or. eta_n(n)>50.0 .or. (d_eta(n) /= d_eta(n)) ) ) then + if ( ((eta_n(n) /= eta_n(n)) .or. eta_n(n)<-10.0 .or. eta_n(n)>10.0 .or. (d_eta(n) /= d_eta(n)) ) ) then !$OMP CRITICAL found_blowup_loc=1 write(*,*) '___CHECK FOR BLOW UP___________ --> mstep=',istep From cdb4c4ee9ace2e1138a36f198fd1f439797baa00 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 7 Jul 2023 17:06:33 +0200 Subject: [PATCH 042/273] fix small bug in vertical loop --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 149 +++++++++++++++++--------- 1 file changed, 101 insertions(+), 48 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 1d3b86d04..0a83a6a32 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -99,7 +99,7 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) real(kind=WP) :: uv12, uv1, uv2, qc, qu, qd, num_ord=0.95_WP integer :: ednodes(2), edelem(2) real(kind=WP) :: wu(mesh%nl), wv(mesh%nl), un1(mesh%nl), un2(mesh%nl) - +!PS real(kind=WP) :: un, uu, vv, x1, x2, y1, y2 !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), dimension(:,:,:), pointer :: UV, UV_rhsAB, UVnode_rhs, UVnode, UVh @@ -340,7 +340,7 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) call omp_set_lock(partit%plock(ednodes(2))) #endif ! bulk domain where only edelem(1) exist - do nz=ul1 , nl1-1 + do nz=ul1 , nl1 UVnode_rhs(1, nz, ednodes(2)) = UVnode_rhs(1, nz, ednodes(2)) - un1(nz)*UV(1, nz, edelem(1)) UVnode_rhs(2, nz, ednodes(2)) = UVnode_rhs(2, nz, ednodes(2)) - un1(nz)*UV(2, nz, edelem(1)) end do @@ -357,6 +357,43 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) end do ! --> do ed=1, myDim_edge2D !$OMP END DO + + + + + + + + +!PS !___________________________________________________________________________ +!PS ! 2nd. compute horizontal advection component: u*du/dx, u*dv/dx & v*du/dy, v*dv/dy +!PS ! loop over triangle edges +!PS !$OMP DO +!PS do ed=1, myDim_edge2D +!PS ! local indice of nodes that span up edge ed +!PS ednodes = edges(:,ed) +!PS +!PS ! local index of element that contribute to edge +!PS edelem = edge_tri(1:2,ed) +!PS +!PS !_______________________________________________________________________ +!PS ! index off surface layer in case of cavity !=1 and index of mid depth +!PS ! bottom layer +!PS ul1 = ulevels(edelem(1)) +!PS nl1 = nlevels(edelem(1))-1 +!PS x1 = edge_cross_dxdy(1,ed) +!PS y1 = edge_cross_dxdy(2,ed) +!PS ul2 = 0 +!PS nl2 = nl +!PS +!PS !_______________________________________________________________________ +!PS if (edelem(2) > 0) then +!PS ul2 = ulevels(edelem(2)) +!PS nl2 = nlevels(edelem(2))-1 +!PS x2 = edge_cross_dxdy(3,ed) +!PS y2 = edge_cross_dxdy(4,ed) +!PS end if +!PS !PS !_______________________________________________________________________ !PS ! nl12 ... minimum number of layers -1 between element edelem(1) & edelem(2) that !PS ! contribute to edge ed @@ -371,7 +408,7 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) !PS ! (A1) goes only into this loop when the edge has only facing element !PS ! edelem(1) --> so the edge is a boundary edge --> this is for ocean !PS ! surface in case of cavity -!PS do nz=nu1, nu12-1 +!PS do nz=ul1, ul12-1 !PS un= (UVh(2, nz, edelem(1))*x1 - UVh(1, nz, edelem(1))*y1) !PS uu=un*UV(1, nz, edelem(1)) ! the momentum to be carried depends on velocities !PS vv=un*UV(2, nz, edelem(1)) @@ -379,38 +416,7 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) !PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu !PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv !PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv -!PS end do ! --> do nz=nu1, nu12-1 -!PS -!PS !_______________________________________________________________________ -!PS ! (A2) goes only into this loop when the edge has a facing elemenmt -!PS ! edelem(2) --> so the edge is a boundary edge --> this is for ocean -!PS ! surface in case of cavity -!PS if (nu2 > 0) then -!PS do nz=nu2, nu12-1 -!PS un=-(UVh(2, nz, edelem(2))*x2- UVh(1, nz, edelem(2))*y2) -!PS uu=un*UV(1, nz, edelem(2)) -!PS vv=un*UV(2, nz, edelem(2)) -!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu -!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu -!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv -!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv -!PS end do ! --> do nz=nu2, nu12-1 -!PS end if -!PS -!PS !_______________________________________________________________________ -!PS ! (B) Both segments -!PS ! loop over depth layers from shared upper layer index nu12 to shared -!PS ! lower layer index nl12 -!PS do nz=nu12, nl12 -!PS un= (UVh(2, nz, edelem(1))*x1 - UVh(1, nz, edelem(1))*y1) & -!PS -(UVh(2, nz, edelem(2))*x2 - UVh(1, nz, edelem(2))*y2) -!PS uu=un*(UV(1, nz, edelem(1)) + UV(1, nz, edelem(2)))*0.5_WP! the momentum to be carried depends on velocities -!PS vv=un*(UV(2, nz, edelem(1)) + UV(2, nz, edelem(2)))*0.5_WP -!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu -!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu -!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv -!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv -!PS end do ! --> do nz=nu12, nl12 +!PS end do ! --> do nz=ul1, ul12-1 !PS !PS !_______________________________________________________________________ !PS ! (C1) remaining segments from the shared lower lyer index nl12 to bottom @@ -425,18 +431,65 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) !PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv !PS end do ! --> do nz=nl12+1, nl1 !PS -!PS !_______________________________________________________________________ -!PS ! (C2) remaining segments from the shared lower lyer index nl12 to bottom -!PS ! of element edelem(1) -!PS do nz=nl12+1, nl2 -!PS un=-(UVh(2, nz, edelem(2))*x2- UVh(1, nz, edelem(2))*y2) -!PS uu=un*UV(1, nz, edelem(2)) -!PS vv=un*UV(2, nz, edelem(2)) -!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu -!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu -!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv -!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv -!PS end do ! --> do nz=nl12+1, nl2 +!PS if (edelem(2) > 0) then +!PS !_______________________________________________________________________ +!PS ! (A2) goes only into this loop when the edge has a facing elemenmt +!PS ! edelem(2) --> so the edge is a boundary edge --> this is for ocean +!PS ! surface in case of cavity +!PS do nz=ul2, ul12-1 +!PS un=-(UVh(2, nz, edelem(2))*x2- UVh(1, nz, edelem(2))*y2) +!PS uu=un*UV(1, nz, edelem(2)) +!PS vv=un*UV(2, nz, edelem(2)) +!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu +!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu +!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv +!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv +!PS end do ! --> do nz=ul2, ul12-1 +!PS +!PS !_______________________________________________________________________ +!PS ! (B) Both segments +!PS ! loop over depth layers from shared upper layer index ul12 to shared +!PS ! lower layer index nl12 +!PS do nz=ul12, nl12 +!PS un= (UVh(2, nz, edelem(1))*x1 - UVh(1, nz, edelem(1))*y1) & +!PS -(UVh(2, nz, edelem(2))*x2 - UVh(1, nz, edelem(2))*y2) +!PS uu=un*(UV(1, nz, edelem(1)) + UV(1, nz, edelem(2)))*0.5_WP! the momentum to be carried depends on velocities +!PS vv=un*(UV(2, nz, edelem(1)) + UV(2, nz, edelem(2)))*0.5_WP +!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu +!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu +!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv +!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv +!PS end do ! --> do nz=ul12, nl12 +!PS +!PS !_______________________________________________________________________ +!PS ! (C2) remaining segments from the shared lower lyer index nl12 to bottom +!PS ! of element edelem(1) +!PS do nz=nl12+1, nl2 +!PS un=-(UVh(2, nz, edelem(2))*x2- UVh(1, nz, edelem(2))*y2) +!PS uu=un*UV(1, nz, edelem(2)) +!PS vv=un*UV(2, nz, edelem(2)) +!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu +!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu +!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv +!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv +!PS end do ! --> do nz=nl12+1, nl2 +!PS else +!PS +!PS !_______________________________________________________________________ +!PS ! (B) Both segments +!PS ! loop over depth layers from shared upper layer index ul12 to shared +!PS ! lower layer index nl12 +!PS do nz=ul12, nl12 +!PS un= (UVh(2, nz, edelem(1))*x1 - UVh(1, nz, edelem(1))*y1) +!PS uu=un*UV(1, nz, edelem(1))! the momentum to be carried depends on velocities +!PS vv=un*UV(2, nz, edelem(1)) +!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu +!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu +!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv +!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv +!PS end do ! --> do nz=ul12, nl12 +!PS end if +!PS !PS end do ! --> do ed=1, myDim_edge2D !PS !$OMP END DO @@ -476,8 +529,8 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) if (dynamics%ldiag_ke) then !we repeat the computation here and there are multiple ways to speed it up !$OMP DO do elem=1, myDim_elem2D - nl1 = nlevels(elem)-1 ul1 = ulevels(elem) + nl1 = nlevels(elem)-1 dynamics%ke_adv_AB(1:2, ul1:nl1, elem) = dynamics%ke_adv_AB(1:2, ul1:nl1, elem) + elem_area(elem)* & ( UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(1, elem)) & + UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(2, elem)) & From ae5bf22e3d5cb00ddd4a3f5bef28c121ca3f4558 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 12 Jul 2023 12:03:17 +0200 Subject: [PATCH 043/273] fix declaration bug --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 4 ++-- src/oce_ale_vel_rhs.F90 | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 0a83a6a32..97cc5b603 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -1351,8 +1351,8 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh - integer :: node, elem, nz, nzmin, nzmax, ednodes(2), edelem(2) - real(kind=WP) :: hh_inv + integer :: node, elem, nz, ed, nzmin, nzmax, ednodes(2), edelem(2) + real(kind=WP) :: hh_inv, deltaX1, deltaX2, deltaY1, deltaY2 real(kind=WP) :: e1c1(mesh%nl-1), e1c2(mesh%nl-1) real(kind=WP) :: e2c1(mesh%nl-1), e2c2(mesh%nl-1) diff --git a/src/oce_ale_vel_rhs.F90 b/src/oce_ale_vel_rhs.F90 index a2a4cf7db..261d82a4f 100644 --- a/src/oce_ale_vel_rhs.F90 +++ b/src/oce_ale_vel_rhs.F90 @@ -173,7 +173,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) end do else UVBT_4AB(1:2, elem) = 0.0_WP - do nz=nzmin,nzmax-1 + do nz=nzmin, nzmax-1 ! add pressure gradient terms UV_rhs( 1, nz, elem) = UV_rhs(1, nz, elem) + (Fx-pgf_x(nz, elem))*elem_area(elem)*helem(nz,elem) UV_rhs( 2, nz, elem) = UV_rhs(2, nz, elem) + (Fy-pgf_y(nz, elem))*elem_area(elem)*helem(nz,elem) From 042a7be21f3228b1fddf327d3ef2008af941b3b3 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 12 Jul 2023 12:35:52 +0200 Subject: [PATCH 044/273] fix interfasce problem --- src/oce_ale.F90 | 31 ++++++++++++++++++++++++++- src/oce_ale_ssh_splitexpl_subcycl.F90 | 1 + 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 505f1de62..cc66b8698 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -1,3 +1,27 @@ +module oce_wsplit_interface + interface + subroutine compute_CFLz(dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + end subroutine + + subroutine compute_Wvel_split(dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + end subroutine + end interface +end module + module oce_ale_interfaces interface subroutine init_bottom_elem_thickness(partit, mesh) @@ -146,6 +170,9 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) end subroutine end interface end module + + + ! CONTENT: ! ------------ ! subroutine ale_init @@ -1983,6 +2010,7 @@ subroutine vert_vel_ale(dynamics, partit, mesh) use g_comm_auto use io_RESTART !!PS use g_forcing_arrays !!PS +!PS use oce_wsplit_interface implicit none type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit @@ -2569,7 +2597,7 @@ end subroutine vert_vel_ale ! compute vertical CFL_z criteria and print out warning when critical value over ! stepped subroutine compute_CFLz(dynamics, partit, mesh) - use g_config,only: dt, flag_warn_cflz + use g_config, only: dt, flag_warn_cflz use MOD_MESH USE MOD_PARTIT USE MOD_PARSUP @@ -3049,6 +3077,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) use g_cvmix_kpp use g_cvmix_tidal use Toy_Channel_Soufflet + use oce_wsplit_interface use oce_ale_interfaces use pressure_bv_interface use pressure_force_4_linfs_interface diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 97cc5b603..914aa9654 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -1347,6 +1347,7 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) use o_ARRAYS, only: water_flux use g_config, only: dt, which_ale use g_comm_auto +!PS use oce_wsplit_interface !___________________________________________________________________________ type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit From edba3665d778e080e303f6cea975d4945088d2ce Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 12 Jul 2023 13:08:41 +0200 Subject: [PATCH 045/273] still try to fix this interface --- src/oce_ale.F90 | 56 ++++++++++++++------------- src/oce_ale_ssh_splitexpl_subcycl.F90 | 23 +++++------ 2 files changed, 42 insertions(+), 37 deletions(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index cc66b8698..53f3e22a3 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -1,27 +1,3 @@ -module oce_wsplit_interface - interface - subroutine compute_CFLz(dynamics, partit, mesh) - USE MOD_MESH - USE MOD_PARTIT - USE MOD_PARSUP - USE MOD_DYN - type(t_dyn) , intent(inout), target :: dynamics - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(inout), target :: mesh - end subroutine - - subroutine compute_Wvel_split(dynamics, partit, mesh) - USE MOD_MESH - USE MOD_PARTIT - USE MOD_PARSUP - USE MOD_DYN - type(t_dyn) , intent(inout), target :: dynamics - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(inout), target :: mesh - end subroutine - end interface -end module - module oce_ale_interfaces interface subroutine init_bottom_elem_thickness(partit, mesh) @@ -171,7 +147,33 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) end interface end module +module compute_CFLz_interface + interface + subroutine compute_CFLz(dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + end subroutine + end interface +end module +module compute_Wvel_split_interface + interface + subroutine compute_Wvel_split(dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + end subroutine + end interface +end module ! CONTENT: ! ------------ @@ -2010,7 +2012,8 @@ subroutine vert_vel_ale(dynamics, partit, mesh) use g_comm_auto use io_RESTART !!PS use g_forcing_arrays !!PS -!PS use oce_wsplit_interface +!PS use compute_Wvel_split_interaface +!PS use compute_CFLz_interface implicit none type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit @@ -3077,7 +3080,8 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) use g_cvmix_kpp use g_cvmix_tidal use Toy_Channel_Soufflet - use oce_wsplit_interface + use compute_Wvel_split_interface + use compute_CFLz_interface use oce_ale_interfaces use pressure_bv_interface use pressure_force_4_linfs_interface diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 914aa9654..34cced534 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -26,7 +26,7 @@ subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) USE MOD_DYN type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh + type(t_mesh) , intent(inout), target :: mesh end subroutine end interface end module @@ -42,7 +42,7 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) USE MOD_DYN type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh + type(t_mesh) , intent(inout), target :: mesh end subroutine subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) @@ -52,7 +52,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) USE MOD_DYN type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh + type(t_mesh) , intent(inout), target :: mesh end subroutine subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) @@ -63,7 +63,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) integer , intent(in) :: mode type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh + type(t_mesh) , intent(inout), target :: mesh end subroutine subroutine compute_vert_vel_transpv(dynamics, partit, mesh) @@ -73,7 +73,7 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) USE MOD_DYN type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh + type(t_mesh) , intent(inout), target :: mesh end subroutine end interface end module @@ -850,7 +850,7 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) IMPLICIT NONE type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh + type(t_mesh) , intent(inout) , target :: mesh !___________________________________________________________________________ real(kind=WP) :: vert_sum_u, vert_sum_v, Fx, Fy, ab1, ab2, hh integer :: elem, nz, nzmin, nzmax, elnodes(3) @@ -960,7 +960,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !___________________________________________________________________________ type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh + type(t_mesh) , intent(inout) , target :: mesh !___________________________________________________________________________ real(kind=WP) :: dtBT, BT_inv, hh, f, rx, ry, a, d, c1, c2, ax, ay real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, thetaBT @@ -1147,7 +1147,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) integer , intent(in) :: mode type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh + type(t_mesh) , intent(inout) , target :: mesh integer :: elem, nz, nzmin, nzmax real(kind=WP) :: ubar, vbar, hh_inv !___________________________________________________________________________ @@ -1293,7 +1293,7 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) !___________________________________________________________________________ type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh + type(t_mesh) , intent(inout) , target :: mesh integer :: node, elem, nz, nzmin, nzmax, elnodes(3) real(kind=WP) :: hh_inv @@ -1347,11 +1347,12 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) use o_ARRAYS, only: water_flux use g_config, only: dt, which_ale use g_comm_auto -!PS use oce_wsplit_interface +!PS use compute_Wvel_split_interface +!PS use compute_CFLz_interface !___________________________________________________________________________ type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh + type(t_mesh) , intent(inout) , target :: mesh integer :: node, elem, nz, ed, nzmin, nzmax, ednodes(2), edelem(2) real(kind=WP) :: hh_inv, deltaX1, deltaX2, deltaY1, deltaY2 real(kind=WP) :: e1c1(mesh%nl-1), e1c2(mesh%nl-1) From 748f801e6f606000a5ac348418381240221a1822 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 12 Jul 2023 14:06:45 +0200 Subject: [PATCH 046/273] still try to fix this interface --- src/oce_ale.F90 | 67 ++++++++++++++------------- src/oce_ale_ssh_splitexpl_subcycl.F90 | 13 ++++-- 2 files changed, 45 insertions(+), 35 deletions(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 53f3e22a3..9d26d3c13 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -1,3 +1,31 @@ + +module compute_CFLz_interface + interface + subroutine compute_CFLz(dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + end subroutine + end interface +end module +module compute_Wvel_split_interface + interface + subroutine compute_Wvel_split(dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + end subroutine + end interface +end module + module oce_ale_interfaces interface subroutine init_bottom_elem_thickness(partit, mesh) @@ -147,33 +175,6 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) end interface end module -module compute_CFLz_interface - interface - subroutine compute_CFLz(dynamics, partit, mesh) - USE MOD_MESH - USE MOD_PARTIT - USE MOD_PARSUP - USE MOD_DYN - type(t_dyn) , intent(inout), target :: dynamics - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(inout), target :: mesh - end subroutine - end interface -end module - -module compute_Wvel_split_interface - interface - subroutine compute_Wvel_split(dynamics, partit, mesh) - USE MOD_MESH - USE MOD_PARTIT - USE MOD_PARSUP - USE MOD_DYN - type(t_dyn) , intent(inout), target :: dynamics - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(inout), target :: mesh - end subroutine - end interface -end module ! CONTENT: ! ------------ @@ -2012,8 +2013,8 @@ subroutine vert_vel_ale(dynamics, partit, mesh) use g_comm_auto use io_RESTART !!PS use g_forcing_arrays !!PS -!PS use compute_Wvel_split_interaface -!PS use compute_CFLz_interface + use compute_Wvel_split_interface + use compute_CFLz_interface implicit none type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit @@ -3080,9 +3081,11 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) use g_cvmix_kpp use g_cvmix_tidal use Toy_Channel_Soufflet - use compute_Wvel_split_interface - use compute_CFLz_interface +!PS use compute_Wvel_split_interface +!PS use compute_CFLz_interface use oce_ale_interfaces + use compute_vert_vel_transpv_interface + use compute_ssh_split_explicit_interface use pressure_bv_interface use pressure_force_4_linfs_interface use pressure_force_4_zxxxx_interface @@ -3092,7 +3095,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) use check_blowup_interface use fer_solve_interface use impl_vert_visc_ale_vtransp_interface - use compute_ssh_split_explicit_interface + IMPLICIT NONE integer , intent(in) :: n type(t_dyn) , intent(inout), target :: dynamics diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 34cced534..b28dfd8c5 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -66,6 +66,11 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) type(t_mesh) , intent(inout), target :: mesh end subroutine + end interface +end module + +module compute_vert_vel_transpv_interface + interface subroutine compute_vert_vel_transpv(dynamics, partit, mesh) USE MOD_MESH USE MOD_PARTIT @@ -1290,6 +1295,7 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) USE MOD_MESH USE MOD_DYN use g_comm_auto + implicit none !___________________________________________________________________________ type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit @@ -1347,12 +1353,13 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) use o_ARRAYS, only: water_flux use g_config, only: dt, which_ale use g_comm_auto -!PS use compute_Wvel_split_interface -!PS use compute_CFLz_interface + use compute_Wvel_split_interface + use compute_CFLz_interface + implicit none !___________________________________________________________________________ type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(inout) , target :: mesh + type(t_mesh) , intent(inout), target :: mesh integer :: node, elem, nz, ed, nzmin, nzmax, ednodes(2), edelem(2) real(kind=WP) :: hh_inv, deltaX1, deltaX2, deltaY1, deltaY2 real(kind=WP) :: e1c1(mesh%nl-1), e1c2(mesh%nl-1) From ec17f242201e2c744b56a4de338cf8802d18177f Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 12 Jul 2023 14:23:46 +0200 Subject: [PATCH 047/273] still try to fix this interface --- src/oce_ale.F90 | 221 +++++++++++++ src/oce_ale_ssh_splitexpl_subcycl.F90 | 432 +++++++++++++------------- 2 files changed, 437 insertions(+), 216 deletions(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 9d26d3c13..926c82237 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -12,6 +12,7 @@ subroutine compute_CFLz(dynamics, partit, mesh) end subroutine end interface end module + module compute_Wvel_split_interface interface subroutine compute_Wvel_split(dynamics, partit, mesh) @@ -26,6 +27,20 @@ subroutine compute_Wvel_split(dynamics, partit, mesh) end interface end module +module compute_vert_vel_transpv_interface + interface + subroutine compute_vert_vel_transpv(dynamics, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_DYN + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + end subroutine + end interface +end module + module oce_ale_interfaces interface subroutine init_bottom_elem_thickness(partit, mesh) @@ -2595,6 +2610,212 @@ subroutine vert_vel_ale(dynamics, partit, mesh) call compute_Wvel_split(dynamics, partit, mesh) end subroutine vert_vel_ale + +! +! +!_______________________________________________________________________________ +! calculate vertical velocity from eq.3 in S. Danilov et al. : FESOM2: from +! finite elements to finite volumes. +! +! dh_k/dt + grad(u*h)_k + (w^t - w^b) + water_flux_k=1 = 0 +! +! w^t = w^b - dh_k/dt - grad(u*h)_k - water_flux=1 +! --> do cumulativ summation from bottom to top +subroutine compute_vert_vel_transpv(dynamics, partit, mesh) + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_MESH + USE MOD_DYN + use o_ARRAYS, only: water_flux + use g_config, only: dt, which_ale + use g_comm_auto + use compute_Wvel_split_interface + use compute_CFLz_interface + implicit none + !___________________________________________________________________________ + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + integer :: node, elem, nz, ed, nzmin, nzmax, ednodes(2), edelem(2) + real(kind=WP) :: hh_inv, deltaX1, deltaX2, deltaY1, deltaY2 + real(kind=WP) :: e1c1(mesh%nl-1), e1c2(mesh%nl-1) + real(kind=WP) :: e2c1(mesh%nl-1), e2c2(mesh%nl-1) + + + !___________________________________________________________________________ + ! pointer on necessary derived types + real(kind=WP), dimension(:,:,:), pointer :: UVh, fer_UV + real(kind=WP), dimension(:,:) , pointer :: Wvel, Wvel_e, fer_Wvel +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + UVh => dynamics%se_uvh(:,:,:) + Wvel => dynamics%w(:,:) + Wvel_e => dynamics%w_e(:,:) + if (Fer_GM) then + fer_UV => dynamics%fer_uv(:,:,:) + fer_Wvel=> dynamics%fer_w(:,:) + end if + + !___________________________________________________________________________ + do node=1, myDim_nod2D+eDim_nod2D + Wvel(:, node)=0.0_WP + end do ! --> do node=1, myDim_nod2D+eDim_nod2D + + !___________________________________________________________________________ + do ed=1, myDim_edge2D + ! local indice of nodes that span up edge ed + ednodes=edges(:,ed) + + ! local index of element that contribute to edge + edelem=edge_tri(:,ed) + + ! edge_cross_dxdy(1:2,ed)... dx,dy distance from element centroid edelem(1) to + ! center of edge --> needed to calc flux perpedicular to edge from elem edelem(1) + deltaX1=edge_cross_dxdy(1,ed) + deltaY1=edge_cross_dxdy(2,ed) + + !_______________________________________________________________________ + ! calc div(u_vec*h) for every layer + ! do it with gauss-law: int( div(u_vec)*dV) = int( u_vec * n_vec * dS ) + nzmin = ulevels(edelem(1)) + nzmax = nlevels(edelem(1))-1 + ! we introduced c1 & c2 as arrays here to avoid deadlocks when in OpenMP mode + do nz = nzmax, nzmin, -1 + ! --> h * u_vec * n_vec + ! --> e_vec = (dx,dy), n_vec = (-dy,dx); + ! --> h * u*(-dy) + v*dx + e1c1(nz)=( UVh(2, nz, edelem(1))*deltaX1 - UVh(1, nz, edelem(1))*deltaY1 ) + ! inflow(outflow) "flux" to control volume of node enodes1 + ! is equal to outflow(inflow) "flux" to control volume of node enodes2 + end do ! --> do nz=nzmax,nzmin,-1 + Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e1c1(nzmin:nzmax) + Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e1c1(nzmin:nzmax) + + if (Fer_GM) then + do nz = nzmax, nzmin, -1 + e1c2(nz)=(fer_UV(2, nz, edelem(1))*deltaX1 - fer_UV(1, nz, edelem(1))*deltaY1)*helem(nz, edelem(1)) + end do ! --> do nz=nzmax,nzmin,-1 + fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e1c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e1c2(nzmin:nzmax) + end if + + !_______________________________________________________________________ + ! if ed is not a boundary edge --> calc div(u_vec*h) for every layer + ! for edelem(2) + e2c1 = 0.0_WP + e2c2 = 0.0_WP + if(edelem(2)>0)then + deltaX2=edge_cross_dxdy(3,ed) + deltaY2=edge_cross_dxdy(4,ed) + nzmin = ulevels(edelem(2)) + nzmax = nlevels(edelem(2))-1 + do nz = nzmax, nzmin, -1 + e2c1(nz)=-(UVh(2, nz, edelem(2))*deltaX2 - UVh(1, nz, edelem(2))*deltaY2) + end do ! --> do nz=nzmax,nzmin,-1 + Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e2c1(nzmin:nzmax) + Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e2c1(nzmin:nzmax) + + if (Fer_GM) then + do nz = nzmax, nzmin, -1 + e2c2(nz)=-(fer_UV(2, nz, edelem(2))*deltaX2-fer_UV(1, nz, edelem(2))*deltaY2)*helem(nz, edelem(2)) + end do ! --> do nz=nzmax,nzmin,-1 + fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e2c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e2c2(nzmin:nzmax) + end if + end if + + !_______________________________________________________________________ +!PS if ( any(Wvel(nzmin:nzmax, ednodes(1))/=Wvel(nzmin:nzmax, ednodes(1))) .or. & +!PS any(Wvel(nzmin:nzmax, ednodes(2))/=Wvel(nzmin:nzmax, ednodes(2)))) then +!PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after div_H(...)' +!PS write(*,*) ' mype =', mype +!PS write(*,*) ' edge =', ed +!PS write(*,*) ' enodes =', enodes +!PS write(*,*) ' Wvel(nzmin:nzmax, enodes(1))=', Wvel(nzmin:nzmax, ednodes(1)) +!PS write(*,*) ' Wvel(nzmin:nzmax, enodes(2))=', Wvel(nzmin:nzmax, ednodes(2)) +!PS write(*,*) ' e1c1', e1c1(nzmin:nzmax) +!PS write(*,*) ' e1c2', e1c2(nzmin:nzmax) +!PS write(*,*) ' e2c1', e2c1(nzmin:nzmax) +!PS write(*,*) ' e2c2', e2c2(nzmin:nzmax) +!PS end if + end do ! --> do ed=1, myDim_edge2D + + !___________________________________________________________________________ + ! add the contribution from -dh/dt * area + do node=1, myDim_nod2D + nzmin = ulevels_nod2D(node) + nzmax = nlevels_nod2d(node)-1 + do nz=nzmax,nzmin,-1 + Wvel(nz, node)=Wvel(nz, node)-(hnode_new(nz, node)-hnode(nz, node))*area(nz, node)/dt + end do ! --> do nz=nzmax,nzmin,-1 + + !_______________________________________________________________________ +!PS if ( any(Wvel(nzmin:nzmax, node)/=Wvel(nzmin:nzmax, node))) then +!PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after +dhnode/dt=W' +!PS write(*,*) ' mype =', mype +!PS write(*,*) ' node =', node +!PS write(*,*) ' Wvel( nzmin:nzmax, node)=', Wvel(nzmin:nzmax, node) +!PS write(*,*) ' hnode_new(nzmin:nzmax, node)=', hnode_new(nzmin:nzmax, node) +!PS write(*,*) ' hnode( nzmin:nzmax, node)=', hnode(nzmin:nzmax, node) +!PS end if + end do ! --> do node=1, myDim_nod2D + + !___________________________________________________________________________ + ! Sum up to get W*area + ! cumulative summation of div(u_vec*h) vertically + ! W_k = W_k+1 - div(h_k*u_k) + ! W_k ... vertical flux troughdo node=1, myDim_nod2D + do node=1, myDim_nod2D + nzmin = ulevels_nod2D(node) + nzmax = nlevels_nod2d(node)-1 + do nz=nzmax,nzmin,-1 + Wvel(nz, node)=Wvel(nz, node)+Wvel(nz+1, node) + if (Fer_GM) then + fer_Wvel(nz, node)=fer_Wvel(nz, node)+fer_Wvel(nz+1, node) + end if + end do ! --> do nz=nzmax,nzmin,-1 + end do ! --> do node=1, myDim_nod2D + + !___________________________________________________________________________ + ! divide with depth dependent cell area to convert from Vertical flux to + ! physical vertical velocities in units m/s + do node=1, myDim_nod2D + nzmin = ulevels_nod2D(node) + nzmax = nlevels_nod2d(node)-1 + do nz=nzmin,nzmax + Wvel(nz, node)=Wvel(nz, node)/area(nz, node) + if (Fer_GM) then + fer_Wvel(nz, node)=fer_Wvel(nz, node)/area(nz, node) + end if + end do ! --> do nz=nzmax,nzmin,-1 + end do ! --> do node=1, myDim_nod2D + + !___________________________________________________________________________ + ! Add surface fresh water flux as upper boundary condition for + ! continutity + if (.not. (trim(which_ale)=='linfs' )) then + do node=1, myDim_nod2D + nzmin = ulevels_nod2D(node) + if (nzmin==1) Wvel(nzmin, node)=Wvel(nzmin, node)-water_flux(node) + end do ! --> do node=1, myDim_nod2D + end if + + !___________________________________________________________________________ + call exchange_nod(Wvel, partit) + if (Fer_GM) call exchange_nod(fer_Wvel, partit) + + !___________________________________________________________________________ + ! compute vertical CFL_z criteria + call compute_CFLz(dynamics, partit, mesh) + + !___________________________________________________________________________ + ! compute implicite explicite splitting of vetical velocity Wvel according + ! to CFL_z criteria + call compute_Wvel_split(dynamics, partit, mesh) + +end subroutine compute_vert_vel_transpv ! ! !_______________________________________________________________________________ diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index b28dfd8c5..b8cf97a98 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -69,19 +69,19 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) end interface end module -module compute_vert_vel_transpv_interface - interface - subroutine compute_vert_vel_transpv(dynamics, partit, mesh) - USE MOD_MESH - USE MOD_PARTIT - USE MOD_PARSUP - USE MOD_DYN - type(t_dyn) , intent(inout), target :: dynamics - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(inout), target :: mesh - end subroutine - end interface -end module +!PS module compute_vert_vel_transpv_interface +!PS interface +!PS subroutine compute_vert_vel_transpv(dynamics, partit, mesh) +!PS USE MOD_MESH +!PS USE MOD_PARTIT +!PS USE MOD_PARSUP +!PS USE MOD_DYN +!PS type(t_dyn) , intent(inout), target :: dynamics +!PS type(t_partit), intent(inout), target :: partit +!PS type(t_mesh) , intent(inout), target :: mesh +!PS end subroutine +!PS end interface +!PS end module ! ! @@ -1335,210 +1335,210 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) end do end subroutine compute_thickness_zstar -! -! -!_______________________________________________________________________________ -! calculate vertical velocity from eq.3 in S. Danilov et al. : FESOM2: from -! finite elements to finite volumes. -! -! dh_k/dt + grad(u*h)_k + (w^t - w^b) + water_flux_k=1 = 0 -! -! w^t = w^b - dh_k/dt - grad(u*h)_k - water_flux=1 -! --> do cumulativ summation from bottom to top -subroutine compute_vert_vel_transpv(dynamics, partit, mesh) - USE MOD_PARTIT - USE MOD_PARSUP - USE MOD_MESH - USE MOD_DYN - use o_ARRAYS, only: water_flux - use g_config, only: dt, which_ale - use g_comm_auto - use compute_Wvel_split_interface - use compute_CFLz_interface - implicit none - !___________________________________________________________________________ - type(t_dyn) , intent(inout), target :: dynamics - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(inout), target :: mesh - integer :: node, elem, nz, ed, nzmin, nzmax, ednodes(2), edelem(2) - real(kind=WP) :: hh_inv, deltaX1, deltaX2, deltaY1, deltaY2 - real(kind=WP) :: e1c1(mesh%nl-1), e1c2(mesh%nl-1) - real(kind=WP) :: e2c1(mesh%nl-1), e2c2(mesh%nl-1) - - - !___________________________________________________________________________ - ! pointer on necessary derived types - real(kind=WP), dimension(:,:,:), pointer :: UVh, fer_UV - real(kind=WP), dimension(:,:) , pointer :: Wvel, Wvel_e, fer_Wvel -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - UVh => dynamics%se_uvh(:,:,:) - Wvel => dynamics%w(:,:) - Wvel_e => dynamics%w_e(:,:) - if (Fer_GM) then - fer_UV => dynamics%fer_uv(:,:,:) - fer_Wvel=> dynamics%fer_w(:,:) - end if - - !___________________________________________________________________________ - do node=1, myDim_nod2D+eDim_nod2D - Wvel(:, node)=0.0_WP - end do ! --> do node=1, myDim_nod2D+eDim_nod2D - - !___________________________________________________________________________ - do ed=1, myDim_edge2D - ! local indice of nodes that span up edge ed - ednodes=edges(:,ed) - - ! local index of element that contribute to edge - edelem=edge_tri(:,ed) - - ! edge_cross_dxdy(1:2,ed)... dx,dy distance from element centroid edelem(1) to - ! center of edge --> needed to calc flux perpedicular to edge from elem edelem(1) - deltaX1=edge_cross_dxdy(1,ed) - deltaY1=edge_cross_dxdy(2,ed) - - !_______________________________________________________________________ - ! calc div(u_vec*h) for every layer - ! do it with gauss-law: int( div(u_vec)*dV) = int( u_vec * n_vec * dS ) - nzmin = ulevels(edelem(1)) - nzmax = nlevels(edelem(1))-1 - ! we introduced c1 & c2 as arrays here to avoid deadlocks when in OpenMP mode - do nz = nzmax, nzmin, -1 - ! --> h * u_vec * n_vec - ! --> e_vec = (dx,dy), n_vec = (-dy,dx); - ! --> h * u*(-dy) + v*dx - e1c1(nz)=( UVh(2, nz, edelem(1))*deltaX1 - UVh(1, nz, edelem(1))*deltaY1 ) - ! inflow(outflow) "flux" to control volume of node enodes1 - ! is equal to outflow(inflow) "flux" to control volume of node enodes2 - end do ! --> do nz=nzmax,nzmin,-1 - Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e1c1(nzmin:nzmax) - Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e1c1(nzmin:nzmax) - - if (Fer_GM) then - do nz = nzmax, nzmin, -1 - e1c2(nz)=(fer_UV(2, nz, edelem(1))*deltaX1 - fer_UV(1, nz, edelem(1))*deltaY1)*helem(nz, edelem(1)) - end do ! --> do nz=nzmax,nzmin,-1 - fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e1c2(nzmin:nzmax) - fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e1c2(nzmin:nzmax) - end if - - !_______________________________________________________________________ - ! if ed is not a boundary edge --> calc div(u_vec*h) for every layer - ! for edelem(2) - e2c1 = 0.0_WP - e2c2 = 0.0_WP - if(edelem(2)>0)then - deltaX2=edge_cross_dxdy(3,ed) - deltaY2=edge_cross_dxdy(4,ed) - nzmin = ulevels(edelem(2)) - nzmax = nlevels(edelem(2))-1 - do nz = nzmax, nzmin, -1 - e2c1(nz)=-(UVh(2, nz, edelem(2))*deltaX2 - UVh(1, nz, edelem(2))*deltaY2) - end do ! --> do nz=nzmax,nzmin,-1 - Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e2c1(nzmin:nzmax) - Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e2c1(nzmin:nzmax) - - if (Fer_GM) then - do nz = nzmax, nzmin, -1 - e2c2(nz)=-(fer_UV(2, nz, edelem(2))*deltaX2-fer_UV(1, nz, edelem(2))*deltaY2)*helem(nz, edelem(2)) - end do ! --> do nz=nzmax,nzmin,-1 - fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e2c2(nzmin:nzmax) - fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e2c2(nzmin:nzmax) - end if - end if - - !_______________________________________________________________________ -!PS if ( any(Wvel(nzmin:nzmax, ednodes(1))/=Wvel(nzmin:nzmax, ednodes(1))) .or. & -!PS any(Wvel(nzmin:nzmax, ednodes(2))/=Wvel(nzmin:nzmax, ednodes(2)))) then -!PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after div_H(...)' -!PS write(*,*) ' mype =', mype -!PS write(*,*) ' edge =', ed -!PS write(*,*) ' enodes =', enodes -!PS write(*,*) ' Wvel(nzmin:nzmax, enodes(1))=', Wvel(nzmin:nzmax, ednodes(1)) -!PS write(*,*) ' Wvel(nzmin:nzmax, enodes(2))=', Wvel(nzmin:nzmax, ednodes(2)) -!PS write(*,*) ' e1c1', e1c1(nzmin:nzmax) -!PS write(*,*) ' e1c2', e1c2(nzmin:nzmax) -!PS write(*,*) ' e2c1', e2c1(nzmin:nzmax) -!PS write(*,*) ' e2c2', e2c2(nzmin:nzmax) +!PS ! +!PS ! +!PS !_______________________________________________________________________________ +!PS ! calculate vertical velocity from eq.3 in S. Danilov et al. : FESOM2: from +!PS ! finite elements to finite volumes. +!PS ! +!PS ! dh_k/dt + grad(u*h)_k + (w^t - w^b) + water_flux_k=1 = 0 +!PS ! +!PS ! w^t = w^b - dh_k/dt - grad(u*h)_k - water_flux=1 +!PS ! --> do cumulativ summation from bottom to top +!PS subroutine compute_vert_vel_transpv(dynamics, partit, mesh) +!PS USE MOD_PARTIT +!PS USE MOD_PARSUP +!PS USE MOD_MESH +!PS USE MOD_DYN +!PS use o_ARRAYS, only: water_flux +!PS use g_config, only: dt, which_ale +!PS use g_comm_auto +!PS use compute_Wvel_split_interface +!PS use compute_CFLz_interface +!PS implicit none +!PS !___________________________________________________________________________ +!PS type(t_dyn) , intent(inout), target :: dynamics +!PS type(t_partit), intent(inout), target :: partit +!PS type(t_mesh) , intent(inout), target :: mesh +!PS integer :: node, elem, nz, ed, nzmin, nzmax, ednodes(2), edelem(2) +!PS real(kind=WP) :: hh_inv, deltaX1, deltaX2, deltaY1, deltaY2 +!PS real(kind=WP) :: e1c1(mesh%nl-1), e1c2(mesh%nl-1) +!PS real(kind=WP) :: e2c1(mesh%nl-1), e2c2(mesh%nl-1) +!PS +!PS +!PS !___________________________________________________________________________ +!PS ! pointer on necessary derived types +!PS real(kind=WP), dimension(:,:,:), pointer :: UVh, fer_UV +!PS real(kind=WP), dimension(:,:) , pointer :: Wvel, Wvel_e, fer_Wvel +!PS #include "associate_part_def.h" +!PS #include "associate_mesh_def.h" +!PS #include "associate_part_ass.h" +!PS #include "associate_mesh_ass.h" +!PS UVh => dynamics%se_uvh(:,:,:) +!PS Wvel => dynamics%w(:,:) +!PS Wvel_e => dynamics%w_e(:,:) +!PS if (Fer_GM) then +!PS fer_UV => dynamics%fer_uv(:,:,:) +!PS fer_Wvel=> dynamics%fer_w(:,:) +!PS end if +!PS +!PS !___________________________________________________________________________ +!PS do node=1, myDim_nod2D+eDim_nod2D +!PS Wvel(:, node)=0.0_WP +!PS end do ! --> do node=1, myDim_nod2D+eDim_nod2D +!PS +!PS !___________________________________________________________________________ +!PS do ed=1, myDim_edge2D +!PS ! local indice of nodes that span up edge ed +!PS ednodes=edges(:,ed) +!PS +!PS ! local index of element that contribute to edge +!PS edelem=edge_tri(:,ed) +!PS +!PS ! edge_cross_dxdy(1:2,ed)... dx,dy distance from element centroid edelem(1) to +!PS ! center of edge --> needed to calc flux perpedicular to edge from elem edelem(1) +!PS deltaX1=edge_cross_dxdy(1,ed) +!PS deltaY1=edge_cross_dxdy(2,ed) +!PS +!PS !_______________________________________________________________________ +!PS ! calc div(u_vec*h) for every layer +!PS ! do it with gauss-law: int( div(u_vec)*dV) = int( u_vec * n_vec * dS ) +!PS nzmin = ulevels(edelem(1)) +!PS nzmax = nlevels(edelem(1))-1 +!PS ! we introduced c1 & c2 as arrays here to avoid deadlocks when in OpenMP mode +!PS do nz = nzmax, nzmin, -1 +!PS ! --> h * u_vec * n_vec +!PS ! --> e_vec = (dx,dy), n_vec = (-dy,dx); +!PS ! --> h * u*(-dy) + v*dx +!PS e1c1(nz)=( UVh(2, nz, edelem(1))*deltaX1 - UVh(1, nz, edelem(1))*deltaY1 ) +!PS ! inflow(outflow) "flux" to control volume of node enodes1 +!PS ! is equal to outflow(inflow) "flux" to control volume of node enodes2 +!PS end do ! --> do nz=nzmax,nzmin,-1 +!PS Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e1c1(nzmin:nzmax) +!PS Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e1c1(nzmin:nzmax) +!PS +!PS if (Fer_GM) then +!PS do nz = nzmax, nzmin, -1 +!PS e1c2(nz)=(fer_UV(2, nz, edelem(1))*deltaX1 - fer_UV(1, nz, edelem(1))*deltaY1)*helem(nz, edelem(1)) +!PS end do ! --> do nz=nzmax,nzmin,-1 +!PS fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e1c2(nzmin:nzmax) +!PS fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e1c2(nzmin:nzmax) !PS end if - end do ! --> do ed=1, myDim_edge2D - - !___________________________________________________________________________ - ! add the contribution from -dh/dt * area - do node=1, myDim_nod2D - nzmin = ulevels_nod2D(node) - nzmax = nlevels_nod2d(node)-1 - do nz=nzmax,nzmin,-1 - Wvel(nz, node)=Wvel(nz, node)-(hnode_new(nz, node)-hnode(nz, node))*area(nz, node)/dt - end do ! --> do nz=nzmax,nzmin,-1 - - !_______________________________________________________________________ -!PS if ( any(Wvel(nzmin:nzmax, node)/=Wvel(nzmin:nzmax, node))) then -!PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after +dhnode/dt=W' -!PS write(*,*) ' mype =', mype -!PS write(*,*) ' node =', node -!PS write(*,*) ' Wvel( nzmin:nzmax, node)=', Wvel(nzmin:nzmax, node) -!PS write(*,*) ' hnode_new(nzmin:nzmax, node)=', hnode_new(nzmin:nzmax, node) -!PS write(*,*) ' hnode( nzmin:nzmax, node)=', hnode(nzmin:nzmax, node) +!PS +!PS !_______________________________________________________________________ +!PS ! if ed is not a boundary edge --> calc div(u_vec*h) for every layer +!PS ! for edelem(2) +!PS e2c1 = 0.0_WP +!PS e2c2 = 0.0_WP +!PS if(edelem(2)>0)then +!PS deltaX2=edge_cross_dxdy(3,ed) +!PS deltaY2=edge_cross_dxdy(4,ed) +!PS nzmin = ulevels(edelem(2)) +!PS nzmax = nlevels(edelem(2))-1 +!PS do nz = nzmax, nzmin, -1 +!PS e2c1(nz)=-(UVh(2, nz, edelem(2))*deltaX2 - UVh(1, nz, edelem(2))*deltaY2) +!PS end do ! --> do nz=nzmax,nzmin,-1 +!PS Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e2c1(nzmin:nzmax) +!PS Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e2c1(nzmin:nzmax) +!PS +!PS if (Fer_GM) then +!PS do nz = nzmax, nzmin, -1 +!PS e2c2(nz)=-(fer_UV(2, nz, edelem(2))*deltaX2-fer_UV(1, nz, edelem(2))*deltaY2)*helem(nz, edelem(2)) +!PS end do ! --> do nz=nzmax,nzmin,-1 +!PS fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e2c2(nzmin:nzmax) +!PS fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e2c2(nzmin:nzmax) +!PS end if !PS end if - end do ! --> do node=1, myDim_nod2D - - !___________________________________________________________________________ - ! Sum up to get W*area - ! cumulative summation of div(u_vec*h) vertically - ! W_k = W_k+1 - div(h_k*u_k) - ! W_k ... vertical flux troughdo node=1, myDim_nod2D - do node=1, myDim_nod2D - nzmin = ulevels_nod2D(node) - nzmax = nlevels_nod2d(node)-1 - do nz=nzmax,nzmin,-1 - Wvel(nz, node)=Wvel(nz, node)+Wvel(nz+1, node) - if (Fer_GM) then - fer_Wvel(nz, node)=fer_Wvel(nz, node)+fer_Wvel(nz+1, node) - end if - end do ! --> do nz=nzmax,nzmin,-1 - end do ! --> do node=1, myDim_nod2D - - !___________________________________________________________________________ - ! divide with depth dependent cell area to convert from Vertical flux to - ! physical vertical velocities in units m/s - do node=1, myDim_nod2D - nzmin = ulevels_nod2D(node) - nzmax = nlevels_nod2d(node)-1 - do nz=nzmin,nzmax - Wvel(nz, node)=Wvel(nz, node)/area(nz, node) - if (Fer_GM) then - fer_Wvel(nz, node)=fer_Wvel(nz, node)/area(nz, node) - end if - end do ! --> do nz=nzmax,nzmin,-1 - end do ! --> do node=1, myDim_nod2D - - !___________________________________________________________________________ - ! Add surface fresh water flux as upper boundary condition for - ! continutity - if (.not. (trim(which_ale)=='linfs' )) then - do node=1, myDim_nod2D - nzmin = ulevels_nod2D(node) - if (nzmin==1) Wvel(nzmin, node)=Wvel(nzmin, node)-water_flux(node) - end do ! --> do node=1, myDim_nod2D - end if - - !___________________________________________________________________________ - call exchange_nod(Wvel, partit) - if (Fer_GM) call exchange_nod(fer_Wvel, partit) - - !___________________________________________________________________________ - ! compute vertical CFL_z criteria - call compute_CFLz(dynamics, partit, mesh) - - !___________________________________________________________________________ - ! compute implicite explicite splitting of vetical velocity Wvel according - ! to CFL_z criteria - call compute_Wvel_split(dynamics, partit, mesh) - -end subroutine compute_vert_vel_transpv +!PS +!PS !_______________________________________________________________________ +!PS !PS if ( any(Wvel(nzmin:nzmax, ednodes(1))/=Wvel(nzmin:nzmax, ednodes(1))) .or. & +!PS !PS any(Wvel(nzmin:nzmax, ednodes(2))/=Wvel(nzmin:nzmax, ednodes(2)))) then +!PS !PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after div_H(...)' +!PS !PS write(*,*) ' mype =', mype +!PS !PS write(*,*) ' edge =', ed +!PS !PS write(*,*) ' enodes =', enodes +!PS !PS write(*,*) ' Wvel(nzmin:nzmax, enodes(1))=', Wvel(nzmin:nzmax, ednodes(1)) +!PS !PS write(*,*) ' Wvel(nzmin:nzmax, enodes(2))=', Wvel(nzmin:nzmax, ednodes(2)) +!PS !PS write(*,*) ' e1c1', e1c1(nzmin:nzmax) +!PS !PS write(*,*) ' e1c2', e1c2(nzmin:nzmax) +!PS !PS write(*,*) ' e2c1', e2c1(nzmin:nzmax) +!PS !PS write(*,*) ' e2c2', e2c2(nzmin:nzmax) +!PS !PS end if +!PS end do ! --> do ed=1, myDim_edge2D +!PS +!PS !___________________________________________________________________________ +!PS ! add the contribution from -dh/dt * area +!PS do node=1, myDim_nod2D +!PS nzmin = ulevels_nod2D(node) +!PS nzmax = nlevels_nod2d(node)-1 +!PS do nz=nzmax,nzmin,-1 +!PS Wvel(nz, node)=Wvel(nz, node)-(hnode_new(nz, node)-hnode(nz, node))*area(nz, node)/dt +!PS end do ! --> do nz=nzmax,nzmin,-1 +!PS +!PS !_______________________________________________________________________ +!PS !PS if ( any(Wvel(nzmin:nzmax, node)/=Wvel(nzmin:nzmax, node))) then +!PS !PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after +dhnode/dt=W' +!PS !PS write(*,*) ' mype =', mype +!PS !PS write(*,*) ' node =', node +!PS !PS write(*,*) ' Wvel( nzmin:nzmax, node)=', Wvel(nzmin:nzmax, node) +!PS !PS write(*,*) ' hnode_new(nzmin:nzmax, node)=', hnode_new(nzmin:nzmax, node) +!PS !PS write(*,*) ' hnode( nzmin:nzmax, node)=', hnode(nzmin:nzmax, node) +!PS !PS end if +!PS end do ! --> do node=1, myDim_nod2D +!PS +!PS !___________________________________________________________________________ +!PS ! Sum up to get W*area +!PS ! cumulative summation of div(u_vec*h) vertically +!PS ! W_k = W_k+1 - div(h_k*u_k) +!PS ! W_k ... vertical flux troughdo node=1, myDim_nod2D +!PS do node=1, myDim_nod2D +!PS nzmin = ulevels_nod2D(node) +!PS nzmax = nlevels_nod2d(node)-1 +!PS do nz=nzmax,nzmin,-1 +!PS Wvel(nz, node)=Wvel(nz, node)+Wvel(nz+1, node) +!PS if (Fer_GM) then +!PS fer_Wvel(nz, node)=fer_Wvel(nz, node)+fer_Wvel(nz+1, node) +!PS end if +!PS end do ! --> do nz=nzmax,nzmin,-1 +!PS end do ! --> do node=1, myDim_nod2D +!PS +!PS !___________________________________________________________________________ +!PS ! divide with depth dependent cell area to convert from Vertical flux to +!PS ! physical vertical velocities in units m/s +!PS do node=1, myDim_nod2D +!PS nzmin = ulevels_nod2D(node) +!PS nzmax = nlevels_nod2d(node)-1 +!PS do nz=nzmin,nzmax +!PS Wvel(nz, node)=Wvel(nz, node)/area(nz, node) +!PS if (Fer_GM) then +!PS fer_Wvel(nz, node)=fer_Wvel(nz, node)/area(nz, node) +!PS end if +!PS end do ! --> do nz=nzmax,nzmin,-1 +!PS end do ! --> do node=1, myDim_nod2D +!PS +!PS !___________________________________________________________________________ +!PS ! Add surface fresh water flux as upper boundary condition for +!PS ! continutity +!PS if (.not. (trim(which_ale)=='linfs' )) then +!PS do node=1, myDim_nod2D +!PS nzmin = ulevels_nod2D(node) +!PS if (nzmin==1) Wvel(nzmin, node)=Wvel(nzmin, node)-water_flux(node) +!PS end do ! --> do node=1, myDim_nod2D +!PS end if +!PS +!PS !___________________________________________________________________________ +!PS call exchange_nod(Wvel, partit) +!PS if (Fer_GM) call exchange_nod(fer_Wvel, partit) +!PS +!PS !___________________________________________________________________________ +!PS ! compute vertical CFL_z criteria +!PS call compute_CFLz(dynamics, partit, mesh) +!PS +!PS !___________________________________________________________________________ +!PS ! compute implicite explicite splitting of vetical velocity Wvel according +!PS ! to CFL_z criteria +!PS call compute_Wvel_split(dynamics, partit, mesh) +!PS +!PS end subroutine compute_vert_vel_transpv From 83b7381c2b843fa8528982e18a63d9e2ab3996e1 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 12 Jul 2023 15:05:04 +0200 Subject: [PATCH 048/273] fix interface problem for the moment --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 219 -------------------------- 1 file changed, 219 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index b8cf97a98..278676fca 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -69,20 +69,6 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) end interface end module -!PS module compute_vert_vel_transpv_interface -!PS interface -!PS subroutine compute_vert_vel_transpv(dynamics, partit, mesh) -!PS USE MOD_MESH -!PS USE MOD_PARTIT -!PS USE MOD_PARSUP -!PS USE MOD_DYN -!PS type(t_dyn) , intent(inout), target :: dynamics -!PS type(t_partit), intent(inout), target :: partit -!PS type(t_mesh) , intent(inout), target :: mesh -!PS end subroutine -!PS end interface -!PS end module - ! ! !_______________________________________________________________________________ @@ -1335,210 +1321,5 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) end do end subroutine compute_thickness_zstar -!PS ! -!PS ! -!PS !_______________________________________________________________________________ -!PS ! calculate vertical velocity from eq.3 in S. Danilov et al. : FESOM2: from -!PS ! finite elements to finite volumes. -!PS ! -!PS ! dh_k/dt + grad(u*h)_k + (w^t - w^b) + water_flux_k=1 = 0 -!PS ! -!PS ! w^t = w^b - dh_k/dt - grad(u*h)_k - water_flux=1 -!PS ! --> do cumulativ summation from bottom to top -!PS subroutine compute_vert_vel_transpv(dynamics, partit, mesh) -!PS USE MOD_PARTIT -!PS USE MOD_PARSUP -!PS USE MOD_MESH -!PS USE MOD_DYN -!PS use o_ARRAYS, only: water_flux -!PS use g_config, only: dt, which_ale -!PS use g_comm_auto -!PS use compute_Wvel_split_interface -!PS use compute_CFLz_interface -!PS implicit none -!PS !___________________________________________________________________________ -!PS type(t_dyn) , intent(inout), target :: dynamics -!PS type(t_partit), intent(inout), target :: partit -!PS type(t_mesh) , intent(inout), target :: mesh -!PS integer :: node, elem, nz, ed, nzmin, nzmax, ednodes(2), edelem(2) -!PS real(kind=WP) :: hh_inv, deltaX1, deltaX2, deltaY1, deltaY2 -!PS real(kind=WP) :: e1c1(mesh%nl-1), e1c2(mesh%nl-1) -!PS real(kind=WP) :: e2c1(mesh%nl-1), e2c2(mesh%nl-1) -!PS -!PS -!PS !___________________________________________________________________________ -!PS ! pointer on necessary derived types -!PS real(kind=WP), dimension(:,:,:), pointer :: UVh, fer_UV -!PS real(kind=WP), dimension(:,:) , pointer :: Wvel, Wvel_e, fer_Wvel -!PS #include "associate_part_def.h" -!PS #include "associate_mesh_def.h" -!PS #include "associate_part_ass.h" -!PS #include "associate_mesh_ass.h" -!PS UVh => dynamics%se_uvh(:,:,:) -!PS Wvel => dynamics%w(:,:) -!PS Wvel_e => dynamics%w_e(:,:) -!PS if (Fer_GM) then -!PS fer_UV => dynamics%fer_uv(:,:,:) -!PS fer_Wvel=> dynamics%fer_w(:,:) -!PS end if -!PS -!PS !___________________________________________________________________________ -!PS do node=1, myDim_nod2D+eDim_nod2D -!PS Wvel(:, node)=0.0_WP -!PS end do ! --> do node=1, myDim_nod2D+eDim_nod2D -!PS -!PS !___________________________________________________________________________ -!PS do ed=1, myDim_edge2D -!PS ! local indice of nodes that span up edge ed -!PS ednodes=edges(:,ed) -!PS -!PS ! local index of element that contribute to edge -!PS edelem=edge_tri(:,ed) -!PS -!PS ! edge_cross_dxdy(1:2,ed)... dx,dy distance from element centroid edelem(1) to -!PS ! center of edge --> needed to calc flux perpedicular to edge from elem edelem(1) -!PS deltaX1=edge_cross_dxdy(1,ed) -!PS deltaY1=edge_cross_dxdy(2,ed) -!PS -!PS !_______________________________________________________________________ -!PS ! calc div(u_vec*h) for every layer -!PS ! do it with gauss-law: int( div(u_vec)*dV) = int( u_vec * n_vec * dS ) -!PS nzmin = ulevels(edelem(1)) -!PS nzmax = nlevels(edelem(1))-1 -!PS ! we introduced c1 & c2 as arrays here to avoid deadlocks when in OpenMP mode -!PS do nz = nzmax, nzmin, -1 -!PS ! --> h * u_vec * n_vec -!PS ! --> e_vec = (dx,dy), n_vec = (-dy,dx); -!PS ! --> h * u*(-dy) + v*dx -!PS e1c1(nz)=( UVh(2, nz, edelem(1))*deltaX1 - UVh(1, nz, edelem(1))*deltaY1 ) -!PS ! inflow(outflow) "flux" to control volume of node enodes1 -!PS ! is equal to outflow(inflow) "flux" to control volume of node enodes2 -!PS end do ! --> do nz=nzmax,nzmin,-1 -!PS Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e1c1(nzmin:nzmax) -!PS Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e1c1(nzmin:nzmax) -!PS -!PS if (Fer_GM) then -!PS do nz = nzmax, nzmin, -1 -!PS e1c2(nz)=(fer_UV(2, nz, edelem(1))*deltaX1 - fer_UV(1, nz, edelem(1))*deltaY1)*helem(nz, edelem(1)) -!PS end do ! --> do nz=nzmax,nzmin,-1 -!PS fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e1c2(nzmin:nzmax) -!PS fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e1c2(nzmin:nzmax) -!PS end if -!PS -!PS !_______________________________________________________________________ -!PS ! if ed is not a boundary edge --> calc div(u_vec*h) for every layer -!PS ! for edelem(2) -!PS e2c1 = 0.0_WP -!PS e2c2 = 0.0_WP -!PS if(edelem(2)>0)then -!PS deltaX2=edge_cross_dxdy(3,ed) -!PS deltaY2=edge_cross_dxdy(4,ed) -!PS nzmin = ulevels(edelem(2)) -!PS nzmax = nlevels(edelem(2))-1 -!PS do nz = nzmax, nzmin, -1 -!PS e2c1(nz)=-(UVh(2, nz, edelem(2))*deltaX2 - UVh(1, nz, edelem(2))*deltaY2) -!PS end do ! --> do nz=nzmax,nzmin,-1 -!PS Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e2c1(nzmin:nzmax) -!PS Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e2c1(nzmin:nzmax) -!PS -!PS if (Fer_GM) then -!PS do nz = nzmax, nzmin, -1 -!PS e2c2(nz)=-(fer_UV(2, nz, edelem(2))*deltaX2-fer_UV(1, nz, edelem(2))*deltaY2)*helem(nz, edelem(2)) -!PS end do ! --> do nz=nzmax,nzmin,-1 -!PS fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e2c2(nzmin:nzmax) -!PS fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e2c2(nzmin:nzmax) -!PS end if -!PS end if -!PS -!PS !_______________________________________________________________________ -!PS !PS if ( any(Wvel(nzmin:nzmax, ednodes(1))/=Wvel(nzmin:nzmax, ednodes(1))) .or. & -!PS !PS any(Wvel(nzmin:nzmax, ednodes(2))/=Wvel(nzmin:nzmax, ednodes(2)))) then -!PS !PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after div_H(...)' -!PS !PS write(*,*) ' mype =', mype -!PS !PS write(*,*) ' edge =', ed -!PS !PS write(*,*) ' enodes =', enodes -!PS !PS write(*,*) ' Wvel(nzmin:nzmax, enodes(1))=', Wvel(nzmin:nzmax, ednodes(1)) -!PS !PS write(*,*) ' Wvel(nzmin:nzmax, enodes(2))=', Wvel(nzmin:nzmax, ednodes(2)) -!PS !PS write(*,*) ' e1c1', e1c1(nzmin:nzmax) -!PS !PS write(*,*) ' e1c2', e1c2(nzmin:nzmax) -!PS !PS write(*,*) ' e2c1', e2c1(nzmin:nzmax) -!PS !PS write(*,*) ' e2c2', e2c2(nzmin:nzmax) -!PS !PS end if -!PS end do ! --> do ed=1, myDim_edge2D -!PS -!PS !___________________________________________________________________________ -!PS ! add the contribution from -dh/dt * area -!PS do node=1, myDim_nod2D -!PS nzmin = ulevels_nod2D(node) -!PS nzmax = nlevels_nod2d(node)-1 -!PS do nz=nzmax,nzmin,-1 -!PS Wvel(nz, node)=Wvel(nz, node)-(hnode_new(nz, node)-hnode(nz, node))*area(nz, node)/dt -!PS end do ! --> do nz=nzmax,nzmin,-1 -!PS -!PS !_______________________________________________________________________ -!PS !PS if ( any(Wvel(nzmin:nzmax, node)/=Wvel(nzmin:nzmax, node))) then -!PS !PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after +dhnode/dt=W' -!PS !PS write(*,*) ' mype =', mype -!PS !PS write(*,*) ' node =', node -!PS !PS write(*,*) ' Wvel( nzmin:nzmax, node)=', Wvel(nzmin:nzmax, node) -!PS !PS write(*,*) ' hnode_new(nzmin:nzmax, node)=', hnode_new(nzmin:nzmax, node) -!PS !PS write(*,*) ' hnode( nzmin:nzmax, node)=', hnode(nzmin:nzmax, node) -!PS !PS end if -!PS end do ! --> do node=1, myDim_nod2D -!PS -!PS !___________________________________________________________________________ -!PS ! Sum up to get W*area -!PS ! cumulative summation of div(u_vec*h) vertically -!PS ! W_k = W_k+1 - div(h_k*u_k) -!PS ! W_k ... vertical flux troughdo node=1, myDim_nod2D -!PS do node=1, myDim_nod2D -!PS nzmin = ulevels_nod2D(node) -!PS nzmax = nlevels_nod2d(node)-1 -!PS do nz=nzmax,nzmin,-1 -!PS Wvel(nz, node)=Wvel(nz, node)+Wvel(nz+1, node) -!PS if (Fer_GM) then -!PS fer_Wvel(nz, node)=fer_Wvel(nz, node)+fer_Wvel(nz+1, node) -!PS end if -!PS end do ! --> do nz=nzmax,nzmin,-1 -!PS end do ! --> do node=1, myDim_nod2D -!PS -!PS !___________________________________________________________________________ -!PS ! divide with depth dependent cell area to convert from Vertical flux to -!PS ! physical vertical velocities in units m/s -!PS do node=1, myDim_nod2D -!PS nzmin = ulevels_nod2D(node) -!PS nzmax = nlevels_nod2d(node)-1 -!PS do nz=nzmin,nzmax -!PS Wvel(nz, node)=Wvel(nz, node)/area(nz, node) -!PS if (Fer_GM) then -!PS fer_Wvel(nz, node)=fer_Wvel(nz, node)/area(nz, node) -!PS end if -!PS end do ! --> do nz=nzmax,nzmin,-1 -!PS end do ! --> do node=1, myDim_nod2D -!PS -!PS !___________________________________________________________________________ -!PS ! Add surface fresh water flux as upper boundary condition for -!PS ! continutity -!PS if (.not. (trim(which_ale)=='linfs' )) then -!PS do node=1, myDim_nod2D -!PS nzmin = ulevels_nod2D(node) -!PS if (nzmin==1) Wvel(nzmin, node)=Wvel(nzmin, node)-water_flux(node) -!PS end do ! --> do node=1, myDim_nod2D -!PS end if -!PS -!PS !___________________________________________________________________________ -!PS call exchange_nod(Wvel, partit) -!PS if (Fer_GM) call exchange_nod(fer_Wvel, partit) -!PS -!PS !___________________________________________________________________________ -!PS ! compute vertical CFL_z criteria -!PS call compute_CFLz(dynamics, partit, mesh) -!PS -!PS !___________________________________________________________________________ -!PS ! compute implicite explicite splitting of vetical velocity Wvel according -!PS ! to CFL_z criteria -!PS call compute_Wvel_split(dynamics, partit, mesh) -!PS -!PS end subroutine compute_vert_vel_transpv From e989cd5a5a02c75592fcf394a43b425bb164cbf1 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 3 Aug 2023 12:14:37 +0200 Subject: [PATCH 049/273] fix indices problem in curl computation --- src/gen_modules_diag.F90 | 89 ++++++++++++++++++++++------------------ 1 file changed, 49 insertions(+), 40 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index e0156774e..cc678bf56 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -175,69 +175,78 @@ subroutine diag_curl_vel3(mode, dynamics, partit, mesh) #include "associate_mesh_ass.h" UV => dynamics%uv(:,:,:) - !===================== + !___________________________________________________________________________ if (firstcall) then !allocate the stuff at the first call allocate(curl_vel3(nl-1, myDim_nod2D+eDim_nod2D)) firstcall=.false. if (mode==0) return end if + !___________________________________________________________________________ curl_vel3=0. - - DO ed=1,myDim_edge2D + do ed=1,myDim_edge2D enodes=edges(:,ed) el=edge_tri(:,ed) + !_______________________________________________________________________ nl1=nlevels(el(1))-1 nu1=ulevels(el(1)) deltaX1=edge_cross_dxdy(1,ed) deltaY1=edge_cross_dxdy(2,ed) - nl2=0 - nu2=0 + + !_______________________________________________________________________ if (el(2)>0) then deltaX2=edge_cross_dxdy(3,ed) deltaY2=edge_cross_dxdy(4,ed) nl2=nlevels(el(2))-1 nu2=ulevels(el(2)) - end if - - nl12 = min(nl1,nl2) - nu12 = min(nu1,nu2) - DO nz=nu1,nu12-1 - c1=deltaX1*UV(1,nz,el(1))+deltaY1*UV(2,nz,el(1)) - curl_vel3(nz,enodes(1))=curl_vel3(nz,enodes(1))+c1 - curl_vel3(nz,enodes(2))=curl_vel3(nz,enodes(2))-c1 - END DO - if (nu2>0) then - DO nz=nu2,nu12-1 + nl12 = min(nl1,nl2) + nu12 = max(nu1,nu2) + !___________________________________________________________________ + do nz=nu1,nu12-1 + c1=deltaX1*UV(1,nz,el(1))+deltaY1*UV(2,nz,el(1)) + curl_vel3(nz,enodes(1))=curl_vel3(nz,enodes(1))+c1 + curl_vel3(nz,enodes(2))=curl_vel3(nz,enodes(2))-c1 + end do + do nz=nu2,nu12-1 c1= -deltaX2*UV(1,nz,el(2))-deltaY2*UV(2,nz,el(2)) curl_vel3(nz,enodes(1))=curl_vel3(nz,enodes(1))+c1 curl_vel3(nz,enodes(2))=curl_vel3(nz,enodes(2))-c1 - END DO + end do + !___________________________________________________________________ + do nz=nu12,nl12 + c1=deltaX1*UV(1,nz,el(1))+deltaY1*UV(2,nz,el(1))- & + deltaX2*UV(1,nz,el(2))-deltaY2*UV(2,nz,el(2)) + curl_vel3(nz,enodes(1))=curl_vel3(nz,enodes(1))+c1 + curl_vel3(nz,enodes(2))=curl_vel3(nz,enodes(2))-c1 + end do + !___________________________________________________________________ + do nz=nl12+1,nl1 + c1=deltaX1*UV(1,nz,el(1))+deltaY1*UV(2,nz,el(1)) + curl_vel3(nz,enodes(1))=curl_vel3(nz,enodes(1))+c1 + curl_vel3(nz,enodes(2))=curl_vel3(nz,enodes(2))-c1 + end do + do nz=nl12+1,nl2 + c1= -deltaX2*UV(1,nz,el(2))-deltaY2*UV(2,nz,el(2)) + curl_vel3(nz,enodes(1))=curl_vel3(nz,enodes(1))+c1 + curl_vel3(nz,enodes(2))=curl_vel3(nz,enodes(2))-c1 + end do + !_______________________________________________________________________ + else + do nz=nu1,nl1 + c1=deltaX1*UV(1,nz,el(1))+deltaY1*UV(2,nz,el(1)) + curl_vel3(nz,enodes(1))=curl_vel3(nz,enodes(1))+c1 + curl_vel3(nz,enodes(2))=curl_vel3(nz,enodes(2))-c1 + end do end if - DO nz=nu12,nl12 - c1=deltaX1*UV(1,nz,el(1))+deltaY1*UV(2,nz,el(1))- & - deltaX2*UV(1,nz,el(2))-deltaY2*UV(2,nz,el(2)) - curl_vel3(nz,enodes(1))=curl_vel3(nz,enodes(1))+c1 - curl_vel3(nz,enodes(2))=curl_vel3(nz,enodes(2))-c1 - END DO - DO nz=nl12+1,nl1 - c1=deltaX1*UV(1,nz,el(1))+deltaY1*UV(2,nz,el(1)) - curl_vel3(nz,enodes(1))=curl_vel3(nz,enodes(1))+c1 - curl_vel3(nz,enodes(2))=curl_vel3(nz,enodes(2))-c1 - END DO - DO nz=nl12+1,nl2 - c1= -deltaX2*UV(1,nz,el(2))-deltaY2*UV(2,nz,el(2)) - curl_vel3(nz,enodes(1))=curl_vel3(nz,enodes(1))+c1 - curl_vel3(nz,enodes(2))=curl_vel3(nz,enodes(2))-c1 - END DO - END DO - - DO n=1, myDim_nod2D - !!PS DO nz=1, nlevels_nod2D(n)-1 - DO nz=ulevels_nod2D(n), nlevels_nod2D(n)-1 + end do + + !___________________________________________________________________________ + do n=1, myDim_nod2D + do nz=ulevels_nod2D(n), nlevels_nod2D(n)-1 curl_vel3(nz,n)=curl_vel3(nz,n)/areasvol(nz,n) - END DO - END DO + end do + end do + end subroutine diag_curl_vel3 ! ============================================================== ! From cb952357f41d8a9c3482459403acf2abb958bb8f Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 3 Aug 2023 14:07:39 +0200 Subject: [PATCH 050/273] small fix indices limit --- src/oce_ale.F90 | 2 -- src/oce_ale_ssh_splitexpl_subcycl.F90 | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 926c82237..95c40e829 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -3302,8 +3302,6 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) use g_cvmix_kpp use g_cvmix_tidal use Toy_Channel_Soufflet -!PS use compute_Wvel_split_interface -!PS use compute_CFLz_interface use oce_ale_interfaces use compute_vert_vel_transpv_interface use compute_ssh_split_explicit_interface diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 278676fca..3908a5a72 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -115,8 +115,8 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) do node=1, myDim_nod2D ul1 = ulevels_nod2D(node) nl1 = nlevels_nod2D(node) - wu(1:nl1+1) = 0.0_WP - wv(1:nl1+1) = 0.0_WP + wu(1:nl1) = 0.0_WP + wv(1:nl1) = 0.0_WP UVnode_rhs(:,:,node) = 0.0_WP !_______________________________________________________________________ ! surface From 9d48d8d9a43217c0c7595e88c3bc034386baa250 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 18 Aug 2023 12:02:34 +0200 Subject: [PATCH 051/273] add stabilisation for splitexplicite, add longer term stable core2 parameters for split expl --- src/MOD_DYN.F90 | 10 +- src/oce_ale_ssh_splitexpl_subcycl.F90 | 311 ++++++++++++++++---------- src/oce_setup_step.F90 | 15 +- 3 files changed, 216 insertions(+), 120 deletions(-) diff --git a/src/MOD_DYN.F90 b/src/MOD_DYN.F90 index b9afadaba..bcd8aa49f 100644 --- a/src/MOD_DYN.F90 +++ b/src/MOD_DYN.F90 @@ -121,8 +121,14 @@ MODULE MOD_DYN logical :: use_ssh_splitexpl_subcycl = .false. ! barotropic subcycling time-steps and dissipation parameter - integer :: splitexpl_BTsteps = 40 - real(kind=WP) :: splitexpl_BTtheta = 0.14_WP + integer :: splitexpl_BTsteps = 50 + real(kind=WP) :: splitexpl_BTtheta = 0.14_WP + logical :: splitexpl_bottdrag = .true. + logical :: splitexpl_bdrag_si = .true. + logical :: splitexpl_visc = .true. + real(kind=WP) :: splitexpl_visc_gamma0 = 10 + real(kind=WP) :: splitexpl_visc_gamma1 = 2750 + real(kind=WP) :: splitexpl_visc_gamma2 = 0 !___________________________________________________________________________ ! energy diagnostic part: will be computed inside the model ("hard integration"): diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 3908a5a72..94d8c5d8c 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -805,23 +805,7 @@ subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) end do !_______________________________________________________________ -!PS if ( any(UV_rhs(1, nzmin:nzmax-1, elem)/=UV_rhs(1, nzmin:nzmax-1, elem)) .or. & -!PS any(UV_rhs(2, nzmin:nzmax-1, elem)/=UV_rhs(2, nzmin:nzmax-1, elem))) then -!PS write(*,*) ' --> subroutine impl_vert_visc_ale_vtransp --> found Nan in UV_rhs=UVh_rhs+uvr*helem' -!PS write(*,*) ' mype =', mype -!PS write(*,*) ' elem =', elem -!PS write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nzmin:nzmax-1, elem) -!PS write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nzmin:nzmax-1, elem) -!PS write(*,*) ' ur(nzmin:nzmax-1)=', ur(nzmin:nzmax-1) -!PS write(*,*) ' vr(nzmin:nzmax-1)=', vr(nzmin:nzmax-1) -!PS write(*,*) ' helem(nz, elem) =', helem(nzmin:nzmax-1, elem) -!PS write(*,*) ' a(nzmin:nzmax-1) =', a(nzmin:nzmax-1) -!PS write(*,*) ' b(nzmin:nzmax-1) =', b(nzmin:nzmax-1) -!PS write(*,*) ' c(nzmin:nzmax-1) =', c(nzmin:nzmax-1) -!PS write(*,*) ' Av(nzmin:nzmax-1,elem) =', Av(nzmin:nzmax-1, elem) -!PS write(*,*) ' Wvel_i(nzmin:nzmax-1,elem) =',Wvel_i(nzmin:nzmax-1, elnodes) -!PS end if - + end do ! --> do elem=1,myDim_elem2D !$OMP END DO !$OMP END PARALLEL @@ -844,8 +828,10 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) type(t_mesh) , intent(inout) , target :: mesh !___________________________________________________________________________ real(kind=WP) :: vert_sum_u, vert_sum_v, Fx, Fy, ab1, ab2, hh - integer :: elem, nz, nzmin, nzmax, elnodes(3) + integer :: elem, nz, nzmin, nzmax, elnodes(3), ed, el(2) logical, save :: sfirst + real(kind=WP) :: update_ubt, update_vbt, vi, len + !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), dimension(:,:,:), pointer :: UV_rhs @@ -898,7 +884,7 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) vert_sum_v=vert_sum_v + Fy*hh !_______________________________________________________________________ - ! Remove the contribution from the Coriolis will be accounted explicitely + ! Remove the contribution from the Coriolis will be accounted explicitely ! for in the barotropic equation ! UVBT_rhs ... baroclinic forcing term in barotropic equation R_b ! --> d/dt*U_bt + f*e_z x U_bt + g*H* grad(eta) = R_bt @@ -953,14 +939,18 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(inout) , target :: mesh !___________________________________________________________________________ - real(kind=WP) :: dtBT, BT_inv, hh, f, rx, ry, a, d, c1, c2, ax, ay + real(kind=WP) :: dtBT, BT_inv, hh, f, rx, ry, a, b, d, c1, c2, ax, ay real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, thetaBT integer :: step, elem, elnodes(3), edge, ednodes(2), edelem(2) - integer :: nzmin1, nzmax1, nzmin2, nzmax2 + real(kind=WP) :: update_ubt, update_vbt, vi, len, nzmax + real(kind=WP), allocatable :: bottomdrag(:), UVBT_harmvisc(:,:) + + !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), dimension(:) , pointer :: eta_n real(kind=WP), dimension(:,:) , pointer :: UVBT_rhs, UVBT, UVBT_theta, UVBT_mean, UVBT_12 + real(kind=WP), dimension(:,:,:), pointer :: UV #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -971,26 +961,156 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) UVBT_theta=>dynamics%se_uvBT_theta(:,:) UVBT_mean =>dynamics%se_uvBT_mean(:,:) UVBT_12 =>dynamics%se_uvBT_12(:,:) + if (dynamics%splitexpl_bottdrag) then + UV =>dynamics%uv(:,:,:) + end if + + allocate(bottomdrag( myDim_elem2D+eDim_elem2D)) + allocate(UVBT_harmvisc(2, myDim_elem2D+eDim_elem2D)) + bottomdrag = 0.0_WP + UVBT_harmvisc = 0.0_WP !___________________________________________________________________________ ! Dissipation parameter of FB dissipative method 0.14 is the default value ! from Demange et al. -!PS thetaBT= 0.14_WP -!PS thetaBT= 0.5_WP thetaBT= dynamics%splitexpl_BTtheta ! BTsteps should be 30 or 40. dtBT = dt/dynamics%splitexpl_BTsteps BT_inv = 1.0_WP/(1.0_WP*dynamics%splitexpl_BTsteps) + + !___SPLIT-EXPLICITE STABILIZATION___________________________________________ + ! trim R (UVBT_rhs): + ! UVBT_rhs --> UVBT_rhs - div_h Ah H^n div_h(Ubt^n/H^n) + Cd*|Ubot|* Ubt^n/H^n + ! The intention here is to approximately remove the term thatwill be + ! added later to the barotropic momentum equation (see subroutine + ! compute_BT_step_SE_ale) + ! --> use only harmonmic viscosity operator applied to the barotropic + ! velocity + if (dynamics%splitexpl_visc) then + + !_______________________________________________________________________ + ! remove viscosity + do edge=1, myDim_edge2D+eDim_edge2D + + ! if ed is an outer boundary edge, skip it + if(myList_edge2D(edge)>edge2D_in) cycle + + ! elem indices that participate in edge + edelem= edge_tri(:,edge) + nzmax = minval(nlevels(edelem)) + hh = -zbar(nzmax) + len = sqrt(sum(elem_area(edelem))) + + update_ubt=(UVBT(1, edelem(1))-UVBT(1, edelem(2)))/hh + update_vbt=(UVBT(2, edelem(1))-UVBT(2, edelem(2)))/hh + vi=update_ubt*update_ubt + update_vbt*update_vbt + vi=-dt*sqrt(max(dynamics%splitexpl_visc_gamma0, & + max(dynamics%splitexpl_visc_gamma1*sqrt(vi), & + dynamics%splitexpl_visc_gamma2*vi) & + )*len) + update_ubt=update_ubt*vi + update_vbt=update_vbt*vi + + !___________________________________________________________________ +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock(partit%plock(edelem(1))) +#else +!$OMP ORDERED +#endif + UVBT_rhs(1, edelem(1))=UVBT_rhs(1, edelem(1))-update_ubt/elem_area(edelem(1))*hh + UVBT_rhs(2, edelem(1))=UVBT_rhs(2, edelem(1))-update_vbt/elem_area(edelem(1))*hh +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(edelem(1))) + call omp_set_lock (partit%plock(edelem(2))) +#endif + UVBT_rhs(1, edelem(2))=UVBT_rhs(1, edelem(2))+update_ubt/elem_area(edelem(2))*hh + UVBT_rhs(2, edelem(2))=UVBT_rhs(2, edelem(2))+update_vbt/elem_area(edelem(2))*hh +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(edelem(2))) +#else +!$OMP END ORDERED +#endif + end do ! --> do edge=1, myDim_edge2D+eDim_edge2D + + call exchange_elem_begin(UVBT_rhs, partit) + call exchange_elem_end(partit) + end if ! --> if (dynamics%splitexpl_visc) then + + !___________________________________________________________________________ + ! remove bottom drag + if (dynamics%splitexpl_bottdrag) then + do elem=1, myDim_elem2D + elnodes= elem2D_nodes(:,elem) + nzmax = nlevels(elem) +!PS hh = -zbar(nzmax)+sum(eta_n(elnodes))/3.0_WP + hh = -zbar(nzmax) + bottomdrag(elem) = dt*C_d*sqrt(UV(1, nzmax-1, elem)**2 + UV(2, nzmax-1, elem)**2) + UVBT_rhs(1, elem)=UVBT_rhs(1, elem) + bottomdrag(elem)*UVBT(1, elem)/hh + UVBT_rhs(2, elem)=UVBT_rhs(2, elem) + bottomdrag(elem)*UVBT(2, elem)/hh + end do + end if ! --> if (dynamics%splitexpl_bottdrag) then + !___________________________________________________________________________ ! eta_n elevation used in BT stepping, it is just a copy of eta_n ! UBT and VBT are transport velocities UVBT_mean= 0.0_WP do step=1, dynamics%splitexpl_BTsteps - ! - ! Dissipative forward--backward time stepping - ! + !####################################################################### + !########## Dissipative forward--backward time stepping ########## + !####################################################################### + + !_______________________________________________________________________ + ! compute harmonic viscosity for stability + if (dynamics%splitexpl_visc) then + UVBT_harmvisc = 0.0_WP + do edge=1, myDim_edge2D+eDim_edge2D + + ! if ed is an outer boundary edge, skip it + if(myList_edge2D(edge)>edge2D_in) cycle + + ! elem indices that participate in edge + edelem = edge_tri(:,edge) + nzmax = minval(nlevels(edelem)) + hh = -zbar(nzmax) + len = sqrt(sum(elem_area(edelem))) + + update_ubt=(UVBT(1, edelem(1))-UVBT(1, edelem(2)))/hh + update_vbt=(UVBT(2, edelem(1))-UVBT(2, edelem(2)))/hh + vi=update_ubt*update_ubt + update_vbt*update_vbt + vi=dt*sqrt(max(dynamics%splitexpl_visc_gamma0, & + max(dynamics%splitexpl_visc_gamma1*sqrt(vi), & + dynamics%splitexpl_visc_gamma2*vi) & + )*len) + update_ubt=update_ubt*vi + update_vbt=update_vbt*vi + + !_______________________________________________________________ +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock(partit%plock(edelem(1))) +#else +!$OMP ORDERED +#endif + UVBT_harmvisc(1, edelem(1))=UVBT_harmvisc(1, edelem(1))-update_ubt/elem_area(edelem(1))*hh + UVBT_harmvisc(2, edelem(1))=UVBT_harmvisc(2, edelem(1))-update_vbt/elem_area(edelem(1))*hh +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(edelem(1))) + call omp_set_lock (partit%plock(edelem(2))) +#endif + UVBT_harmvisc(1, edelem(2))=UVBT_harmvisc(1, edelem(2))+update_ubt/elem_area(edelem(2))*hh + UVBT_harmvisc(2, edelem(2))=UVBT_harmvisc(2, edelem(2))+update_vbt/elem_area(edelem(2))*hh +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(edelem(2))) +#else +!$OMP END ORDERED +#endif + end do ! --> do edge=1, myDim_edge2D+eDim_edge2D + + call exchange_elem_begin(UVBT_harmvisc, partit) + call exchange_elem_end(partit) + end if ! -> if (dynamics%splitexpl_visc) then + !_______________________________________________________________________ ! Advance velocities. I use SI stepping for the Coriolis do elem=1, myDim_elem2D @@ -1000,17 +1120,58 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! AAA = - dt/M*[ + 0.5*f*e_z x (Ubt^(n+(m+1)/M) + Ubt^(n+(m)/M)) ! - h*H^m*grad_H*eta^((n+m)/M) ! - Rbt-->UVBT_rhs ] -!PS hh = -zbar_e_bot(elem)+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth - hh = -zbar(nlevels(elem))+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth +!PS hh = -zbar(nlevels(elem))+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth + hh = -zbar(nlevels(elem)) ! Total fluid depth f = mesh%coriolis(elem) - rx = dtBT*(-g*hh*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + f*UVBT(2, elem)) + BT_inv*UVBT_rhs(1, elem) - ry = dtBT*(-g*hh*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - f*UVBT(1, elem)) + BT_inv*UVBT_rhs(2, elem) + rx = dtBT*(-g*hh*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + f*UVBT(2, elem)) & + + BT_inv*UVBT_rhs(1, elem) & + + BT_inv*(UVBT_harmvisc(1, elem) - bottomdrag(elem)*UVBT(1, elem)/hh) ! <-- stabilization terms + + ry = dtBT*(-g*hh*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - f*UVBT(1, elem)) & + + BT_inv*UVBT_rhs(2, elem) & + + BT_inv*(UVBT_harmvisc(2, elem) - bottomdrag(elem)*UVBT(2, elem)/hh) ! <-- stabilization terms + + ! compute new velocity Ubt^(n+(m+1)/M), Vbt^(n+(m+1)/M) considering + ! in terms of Increments (deltaU) and semi-Implicit Coriolis + ! (We do it here based on increments since it saves us some significant + ! digits for the accuracy) + ! Increments: + ! deltaU = Ubt^(n+(m+1)/M)-Ubt^(n+m/M) + ! Ubt^(n+(m+1)/M)+Ubt^(n+m/M) = Ubt^(n+(m+1)/M)-Ubt^(n+m/M)+2*Ubt^(n+m/M) + ! = deltaU + 2*Ubt^(n+m/M) + ! + ! Ubt^(n+(m+1)/M)-Ubt^(n+m/M) = - dt/M*[ + 0.5*f*e_z x (Ubt^(n+(m+1)/M) + Ubt^(n+m/M)) + ! - h*H^m*grad_H*eta^(n+m/M) + ! - Rbt-->UVBT_rhs ] + ! + ! deltaU - dt/(2*M)*f*deltaV = dt/M*f*Vbt^(n+m/M) - h*H^m*gradx_H*eta^(n+m/M) + Rbtx + ! deltaV + dt/(2*M)*f*deltaU = -dt/M*f*Ubt^(n+m/M) - h*H^m*grady_H*eta^(n+m/M) + Rbty + ! \________________________v___________________________/ + ! --> a = dt/(2*M)*f Rx, Ry + ! + ! | 1 -a | * | deltaU | = MAT* | deltaU | = | Rx | + ! | a 1 | | deltaV | = | deltaV | = | Ry | + ! + ! --> d = 1/(1 + a^2) ; inv(MAT) = d* | 1 a | + ! | -a 1 | + ! + ! | deltaU | = inv(MAT) * | Rx | + ! | deltaV | = | Ry | + ! + ! Ubt^(n+(m+1)/M) = Ubt^(n+m/M) + d*( Rx + a*Ry) + ! Vbt^(n+(m+1)/M) = Vbt^(n+m/M) + d*(-a*Rx + Ry) + ! ! Semi-Implicit Coriolis a = dtBT*f*0.5_WP - d = 1.0_WP/(1.0_WP+a*a) - ax = d*( rx + a*ry) - ay = d*(-a*rx + ry) + if (dynamics%splitexpl_bdrag_si) then + b = 1.0_WP+BT_inv*bottomdrag(elem)/hh + else + b = 1.0_WP + end if + d = 1.0_WP/(b*b + a*a) + ax = d*( b*rx + a*ry ) + ay = d*( -a*rx + b*ry ) !___________________________________________________________________ ! compute new velocities Ubt^(n+(m+1)/M) at barotropic time step (n+(m+1)/M) ... @@ -1036,6 +1197,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! T. Banerjee et al.,Split-Explicite external mode solver in FESOM2, UVBT_mean( 1, elem) = UVBT_mean( 1, elem) + UVBT_theta(1, elem)*BT_inv UVBT_mean( 2, elem) = UVBT_mean( 2, elem) + UVBT_theta(2, elem)*BT_inv + end do !_______________________________________________________________________ @@ -1071,55 +1233,13 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) eta_n(ednodes(1))=eta_n(ednodes(1)) + (c1+c2)*dtBT/area(1,ednodes(1)) eta_n(ednodes(2))=eta_n(ednodes(2)) - (c1+c2)*dtBT/area(1,ednodes(2)) - -!PS if ( (mype==398) .and. ((abs(eta_n(ednodes(1)))>10) .or. (abs(eta_n(ednodes(1)))>10)) ) then -!PS if ((abs(eta_n(ednodes(1)))>100) .or. (abs(eta_n(ednodes(2)))>100)) then -!PS write(*,*) '-------------------------------------------------' -!PS write(*,*) ' --> subroutine compute_BT_step_SE_ale --> found eta_n>100 in barotrop. subcycling' -!PS write(*,*) ' mype = ', mype -!PS write(*,*) ' mstep = ', mstep -!PS write(*,*) ' btstep = ', step -!PS write(*,*) ' edge = ', edge -!PS write(*,*) ' ednodes(1:2) = ', ednodes -!PS write(*,*) ' edelem(1:2) = ', edelem -!PS write(*,*) ' glon,glat = ', geo_coord_nod2D(:,ednodes)/rad -!PS write(*,*) -!PS write(*,*) ' eta_n(ednodes) = ', eta_n(ednodes) -!PS write(*,*) ' c1, c2 = ', c1, c2 -!PS if(edelem(2)>0) then -!PS write(*,*) ' UVBT_rhs( 1:2,edelem) = ', UVBT_rhs( 1:2, edelem) -!PS write(*,*) ' UVBT( 1:2,edelem) = ', UVBT( 1:2, edelem) -!PS write(*,*) ' UVBT_theta(1:2,edelem) = ', UVBT_theta(1:2, edelem) -!PS write(*,*) ' UVBT_mean( 1:2,edelem) = ', UVBT_mean( 1:2, edelem) -!PS nzmin1 = ulevels(edelem(1)) -!PS nzmax1 = nlevels(edelem(1))-1 -!PS nzmin2 = ulevels(edelem(2)) -!PS nzmax2 = nlevels(edelem(2))-1 -!PS write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%se_uvh(1:2, nzmin1:nzmax1, edelem(1)) -!PS write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(2)) = ', dynamics%se_uvh(1:2, nzmin2:nzmax2, edelem(2)) -!PS write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%uv_rhs(1:2, nzmin1:nzmax1, edelem(1)) -!PS write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(2)) = ', dynamics%uv_rhs(1:2, nzmin2:nzmax2, edelem(2)) -!PS else -!PS write(*,*) ' UVBT_rhs( 1:2,edelem) = ', UVBT_rhs( 1:2, edelem(1)) -!PS write(*,*) ' UVBT( 1:2,edelem) = ', UVBT( 1:2, edelem(1)) -!PS write(*,*) ' UVBT_theta(1:2,edelem) = ', UVBT_theta(1:2, edelem(1)) -!PS write(*,*) ' UVBT_mean( 1:2,edelem) = ', UVBT_mean( 1:2, edelem(1)) -!PS nzmin1 = ulevels(edelem(1)) -!PS nzmax1 = nlevels(edelem(1))-1 -!PS write(*,*) ' UVh(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%se_uvh(1:2, nzmin1:nzmax1, edelem(1)) -!PS write(*,*) ' UV_rhs(1:2,nzmin:nzmax,edelem(1)) = ', dynamics%uv_rhs(1:2, nzmin1:nzmax1, edelem(1)) -!PS -!PS end if -!PS write(*,*) -!PS end if - end do !_______________________________________________________________________ call exchange_nod(eta_n, partit) end do ! --> do step=1, dynamics%splitexpl_BTsteps - + deallocate(bottomdrag, UVBT_harmvisc) hbar_old = hbar hbar = eta_n end subroutine compute_BT_step_SE_ale @@ -1198,26 +1318,6 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) -!PS !_______________________________________________________________ -!PS if ( UV( 1, nz, elem)/=UV( 1, nz, elem) .or. & -!PS UV( 2, nz, elem)/=UV( 2, nz, elem)) then -!PS write(*,*) ' --> subroutine update_trim_vel_ale_vtransp(mode=1) --> found Nan in UV after update UV with barotr. term' -!PS write(*,*) ' mype =', mype -!PS write(*,*) ' elem =', elem -!PS write(*,*) ' nz =', nz -!PS write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nz, elem) -!PS write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nz, elem) -!PS write(*,*) ' UV( 1, nz, elem) =', UV( 1, nz, elem) -!PS write(*,*) ' UV( 2, nz, elem) =', UV( 2, nz, elem) -!PS write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) -!PS write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) -!PS write(*,*) ' helem(nz, elem) =', helem(nz, elem) -!PS write(*,*) ' UVBT_mean(1,elem)=', UVBT_mean(1,elem) -!PS write(*,*) ' UVBT_mean(2,elem)=', UVBT_mean(2,elem) -!PS write(*,*) ' ubar, vbar =', ubar, vbar -!PS write(*,*) ' hh_inv =', hh_inv -!PS end if - end do end do call exchange_elem(UVh, partit) ! This exchange can be avoided, but test first. @@ -1246,25 +1346,6 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_12(2, elem)-vbar)*helem(nz,elem)*hh_inv UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection - -!PS !_______________________________________________________________ -!PS if ( UV( 1, nz, elem)/=UV( 1, nz, elem) .or. & -!PS UV( 2, nz, elem)/=UV( 2, nz, elem)) then -!PS write(*,*) ' --> subroutine update_trim_vel_ale_vtransp(mode=2) --> found Nan in UV after update UV with barotr. term' -!PS write(*,*) ' mype =', mype -!PS write(*,*) ' elem =', elem -!PS write(*,*) ' nz =', nz -!PS write(*,*) ' UV( 1, nz, elem) =', UV( 1, nz, elem) -!PS write(*,*) ' UV( 2, nz, elem) =', UV( 2, nz, elem) -!PS write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) -!PS write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) -!PS write(*,*) ' helem(nz, elem) =', helem(nz, elem) -!PS write(*,*) ' UVBT_12(1,elem) =', UVBT_12(1,elem) -!PS write(*,*) ' UVBT_12(2,elem) =', UVBT_12(2,elem) -!PS write(*,*) ' ubar, vbar =', ubar, vbar -!PS write(*,*) ' hh_inv =', hh_inv -!PS end if - end do end do call exchange_elem(UVh, partit) ! diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index b4393674e..9984328ab 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -394,12 +394,15 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) logical :: use_ssh_splitexpl_subcycl=.false. integer :: splitexpl_BTsteps real(kind=WP) :: splitexpl_BTtheta + logical :: splitexpl_visc, splitexpl_bottdrag, splitexpl_bdrag_si + real(kind=WP) :: splitexpl_visc_gamma0, splitexpl_visc_gamma1, splitexpl_visc_gamma2 namelist /dynamics_visc / opt_visc, visc_gamma0, visc_gamma1, visc_gamma2, & use_ivertvisc, visc_easybsreturn namelist /dynamics_general/ momadv_opt, use_freeslip, use_wsplit, wsplit_maxcfl, & ldiag_KE, use_ssh_splitexpl_subcycl, splitexpl_BTsteps, & - splitexpl_BTtheta + splitexpl_BTtheta, splitexpl_bottdrag, splitexpl_bdrag_si, & + splitexpl_visc, splitexpl_visc_gamma0, splitexpl_visc_gamma1, splitexpl_visc_gamma2 !___________________________________________________________________________ ! pointer on necessary derived types #include "associate_part_def.h" @@ -436,8 +439,14 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) dynamics%ldiag_KE = ldiag_KE dynamics%use_ssh_splitexpl_subcycl = use_ssh_splitexpl_subcycl if (dynamics%use_ssh_splitexpl_subcycl) then - dynamics%splitexpl_BTsteps = splitexpl_BTsteps - dynamics%splitexpl_BTtheta = splitexpl_BTtheta + dynamics%splitexpl_BTsteps = splitexpl_BTsteps + dynamics%splitexpl_BTtheta = splitexpl_BTtheta + dynamics%splitexpl_bottdrag = splitexpl_bottdrag + dynamics%splitexpl_bdrag_si = splitexpl_bdrag_si + dynamics%splitexpl_visc = splitexpl_visc + dynamics%splitexpl_visc_gamma0 = splitexpl_visc_gamma0 + dynamics%splitexpl_visc_gamma1 = splitexpl_visc_gamma1 + dynamics%splitexpl_visc_gamma2 = splitexpl_visc_gamma2 end if !___________________________________________________________________________ From f7b7dcd5d2fc436f2d499a4335df37361aba1f2b Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 12 Sep 2023 15:15:46 +0200 Subject: [PATCH 052/273] update changes to subcycling, try to make energy diagnostic consistent with subcycling --- src/gen_modules_diag.F90 | 4 +- src/io_meandata.F90 | 94 ++++---- src/oce_ale.F90 | 119 +++++++--- src/oce_ale_ssh_splitexpl_subcycl.F90 | 301 ++++++++++---------------- src/oce_dyn.F90 | 66 +++--- 5 files changed, 290 insertions(+), 294 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index cc678bf56..c8ac0eca3 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -76,7 +76,9 @@ module diagnostics logical :: ldiag_vorticity =.false. logical :: ldiag_extflds =.false. - namelist /diag_list/ ldiag_solver, lcurt_stress_surf, ldiag_curl_vel3, ldiag_Ri, ldiag_TurbFlux, ldiag_dMOC, ldiag_DVD, ldiag_salt3D, ldiag_forc, ldiag_vorticity, ldiag_extflds + namelist /diag_list/ ldiag_solver, lcurt_stress_surf, ldiag_curl_vel3, ldiag_Ri, & + ldiag_TurbFlux, ldiag_dMOC, ldiag_DVD, ldiag_salt3D, ldiag_forc, & + ldiag_vorticity, ldiag_extflds contains diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 37819c762..314ee73a2 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -487,6 +487,8 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) if (Fer_GM) then call def_stream( nod2D , myDim_nod2D , 'fer_C', 'GM, depth independent speed', 'm/s' , fer_c(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if +CASE ('cfl_z ') + call def_stream((/nl, nod2D/), (/nl, myDim_nod2D/), 'cfl_z', 'vertical CFL criteria', '?', dynamics%cfl_z(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) !_______________________________________________________________________________ ! Density MOC diagnostics @@ -716,72 +718,72 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) end if if (dynamics%ldiag_ke) then - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_adv_u_xVEL', 'work of advection [u]', 'm2/s2', dynamics%ke_adv_xVEL(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_adv_v_xVEL', 'work of advection [v]', 'm2/s2', dynamics%ke_adv_xVEL(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_adv_u_xVEL', 'work of advection [u]', 'm2/s2', dynamics%ke_adv_xVEL(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_adv_v_xVEL', 'work of advection [v]', 'm2/s2', dynamics%ke_adv_xVEL(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_cor_u_xVEL', 'work Coriolis :) [u]', 'm2/s2', dynamics%ke_cor_xVEL(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_cor_v_xVEL', 'work Coriolis :) [v]', 'm2/s2', dynamics%ke_cor_xVEL(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_cor_u_xVEL', 'work Coriolis :) [u]', 'm2/s2', dynamics%ke_cor_xVEL(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_cor_v_xVEL', 'work Coriolis :) [v]', 'm2/s2', dynamics%ke_cor_xVEL(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_pre_u_xVEL', 'work of pressure gradient [x]', 'm2/s2', dynamics%ke_pre_xVEL(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_pre_v_xVEL', 'work of pressure gradient [y]', 'm2/s2', dynamics%ke_pre_xVEL(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_pre_u_xVEL', 'work of pressure gradient [x]', 'm2/s2', dynamics%ke_pre_xVEL(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_pre_v_xVEL', 'work of pressure gradient [y]', 'm2/s2', dynamics%ke_pre_xVEL(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_hvis_u_xVEL', 'work of hor. visc. [x]', 'm2/s2', dynamics%ke_hvis_xVEL(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_hvis_v_xVEL', 'work of hor. visc. [y]', 'm2/s2', dynamics%ke_hvis_xVEL(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_hvis_u_xVEL', 'work of hor. visc. [x]', 'm2/s2', dynamics%ke_hvis_xVEL(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_hvis_v_xVEL', 'work of hor. visc. [y]', 'm2/s2', dynamics%ke_hvis_xVEL(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_vvis_u_xVEL', 'work of ver. visc. [x]', 'm2/s2', dynamics%ke_vvis_xVEL(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_vvis_v_xVEL', 'work of ver. visc. [y]', 'm2/s2', dynamics%ke_vvis_xVEL(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_vvis_u_xVEL', 'work of ver. visc. [x]', 'm2/s2', dynamics%ke_vvis_xVEL(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_vvis_v_xVEL', 'work of ver. visc. [y]', 'm2/s2', dynamics%ke_vvis_xVEL(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_du2', 'KE change [0.5 du2]', 'm2/s2', dynamics%ke_du2(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_dv2', 'KE change [0.5 dv2]', 'm2/s2', dynamics%ke_du2(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_du2', 'KE change [0.5 du2]', 'm2/s2', dynamics%ke_du2(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_dv2', 'KE change [0.5 dv2]', 'm2/s2', dynamics%ke_du2(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'W_x_RHO', 'buoyancy work = ke_pre x VEL', 'm2/s2', dynamics%ke_wrho(:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'W_x_RHO', 'buoyancy work = ke_pre x VEL', 'm2/s2', dynamics%ke_wrho(:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream(elem2D, myDim_elem2D, 'ke_wind_x_xVEL', 'work of wind [x]', 'm2/s2', dynamics%ke_wind_xVEL(1,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(elem2D, myDim_elem2D, 'ke_wind_y_xVEL', 'work of wind [y]', 'm2/s2', dynamics%ke_wind_xVEL(2,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream(elem2D, myDim_elem2D, 'ke_wind_x_xVEL', 'work of wind [x]', 'm2/s2', dynamics%ke_wind_xVEL(1,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(elem2D, myDim_elem2D, 'ke_wind_y_xVEL', 'work of wind [y]', 'm2/s2', dynamics%ke_wind_xVEL(2,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream(elem2D, myDim_elem2D, 'ke_drag_x_xVEL', 'work of drag [x]', 'm2/s2', dynamics%ke_drag_xVEL(1,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(elem2D, myDim_elem2D, 'ke_drag_y_xVEL', 'work of drag [y]', 'm2/s2', dynamics%ke_drag_xVEL(2,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream(elem2D, myDim_elem2D, 'ke_drag_x_xVEL', 'work of drag [x]', 'm2/s2', dynamics%ke_drag_xVEL(1,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(elem2D, myDim_elem2D, 'ke_drag_y_xVEL', 'work of drag [y]', 'm2/s2', dynamics%ke_drag_xVEL(2,:), io_list(i)%freq, 'y', 8, partit, mesh) ! same as above but without multiplying with UMEAN (for later computation of turbulence fluxes) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_adv_u', 'advection *dT [u]', 'm/s', dynamics%ke_adv(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_adv_v', 'advection *dT [v]', 'm/s', dynamics%ke_adv(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_adv_u', 'advection *dT [u]', 'm/s', dynamics%ke_adv(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_adv_v', 'advection *dT [v]', 'm/s', dynamics%ke_adv(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_cor_u', 'Coriolis *dT [X]', 'm/s', dynamics%ke_cor(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_cor_v', 'Coriolis *dT [Y]', 'm/s', dynamics%ke_cor(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_cor_u', 'Coriolis *dT [X]', 'm/s', dynamics%ke_cor(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_cor_v', 'Coriolis *dT [Y]', 'm/s', dynamics%ke_cor(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_pre_u', 'pressure gradient *dT [x]', 'm/s', dynamics%ke_pre(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_pre_v', 'pressure gradient *dT [y]', 'm/s', dynamics%ke_pre(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_pre_u', 'pressure gradient *dT [x]', 'm/s', dynamics%ke_pre(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_pre_v', 'pressure gradient *dT [y]', 'm/s', dynamics%ke_pre(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_hvis_u', 'hor. visc. [x] *dT', 'm/s', dynamics%ke_hvis(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_hvis_v', 'hor. visc. [y] *dT', 'm/s', dynamics%ke_hvis(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_hvis_u', 'hor. visc. [x] *dT', 'm/s', dynamics%ke_hvis(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_hvis_v', 'hor. visc. [y] *dT', 'm/s', dynamics%ke_hvis(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_vvis_u', 'ver. visc. [x] *dT', 'm/s', dynamics%ke_vvis(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_vvis_v', 'ver. visc. [y] *dT', 'm/s', dynamics%ke_vvis(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_vvis_u', 'ver. visc. [x] *dT', 'm/s', dynamics%ke_vvis(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_vvis_v', 'ver. visc. [y] *dT', 'm/s', dynamics%ke_vvis(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_Umean', 'mean U', 'm/s', dynamics%ke_umean(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_Vmean', 'mean V', 'm/s', dynamics%ke_umean(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_Umean', 'mean U', 'm/s', dynamics%ke_umean(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_Vmean', 'mean V', 'm/s', dynamics%ke_umean(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_U2mean', 'U2 mean', 'm/s', dynamics%ke_u2mean(1,:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_V2mean', 'V2 mean', 'm/s', dynamics%ke_u2mean(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_U2mean', 'U2 mean', 'm/s', dynamics%ke_u2mean(1,:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_V2mean', 'V2 mean', 'm/s', dynamics%ke_u2mean(2,:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'ke_dW', 'd/dz (vertical VEL)', 'm/s', dynamics%ke_dW(:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'ke_PFULL', 'full Pressure', 'm/s', dynamics%ke_Pfull(:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'ke_dW', 'd/dz (vertical VEL)', 'm/s', dynamics%ke_dW(:,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'ke_PFULL', 'full Pressure', 'm/s', dynamics%ke_Pfull(:,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream(elem2D, myDim_elem2D, 'ke_wind_x', 'wind [x] *dT', 'm/s', dynamics%ke_wind(1,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(elem2D, myDim_elem2D, 'ke_wind_y', 'wind [y] *dT', 'm/s', dynamics%ke_wind(2,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream(elem2D, myDim_elem2D, 'ke_wind_x', 'wind [x] *dT', 'm/s', dynamics%ke_wind(1,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(elem2D, myDim_elem2D, 'ke_wind_y', 'wind [y] *dT', 'm/s', dynamics%ke_wind(2,:), io_list(i)%freq, 'y', 8, partit, mesh) - call def_stream(elem2D, myDim_elem2D, 'ke_drag_x', 'drag [x] *dT', 'm/s', dynamics%ke_drag(1,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(elem2D, myDim_elem2D, 'ke_drag_y', 'drag [y] *dT', 'm/s', dynamics%ke_drag(2,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream(elem2D, myDim_elem2D, 'ke_drag_x', 'drag [x] *dT', 'm/s', dynamics%ke_drag(1,:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(elem2D, myDim_elem2D, 'ke_drag_y', 'drag [y] *dT', 'm/s', dynamics%ke_drag(2,:), io_list(i)%freq, 'y', 8, partit, mesh) ! surface fields for APE input computations... - call def_stream(nod2D , myDim_nod2D , 'ke_J', 'surface temperature flux [Js]','°C/s', dynamics%ke_J(:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(nod2D , myDim_nod2D , 'ke_G', 'surface salinity flux [Gs]','PSU/s', dynamics%ke_G(:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(nod2D , myDim_nod2D , 'ke_D', 'surface density', 'kg/m^3', dynamics%ke_D(:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(nod2D , myDim_nod2D , 'ke_D2', 'surface density squared', 'kg^2/m^6', dynamics%ke_D2(:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(nod2D , myDim_nod2D , 'ke_n0', 'dRHO/dz', 'kg/m^4', dynamics%ke_n0(:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(nod2D , myDim_nod2D , 'ke_JD', 'surface temperature flux [Js] * RHO','°C*kg/s/m^3', dynamics%ke_JD(:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(nod2D , myDim_nod2D , 'ke_GD', 'surface salinity flux [Gs] * RHO','PSU*kg/s/m^3', dynamics%ke_GD(:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(nod2D , myDim_nod2D , 'ke_swA', 'Thermal expansion coeff (alpha)', '1/°C', dynamics%ke_swA(:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_stream(nod2D , myDim_nod2D , 'ke_swB', 'Taline contraction coeff (beta)', '1/PSU', dynamics%ke_swB(:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream(nod2D , myDim_nod2D , 'ke_J', 'surface temperature flux [Js]','°C/s', dynamics%ke_J(:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(nod2D , myDim_nod2D , 'ke_G', 'surface salinity flux [Gs]','PSU/s', dynamics%ke_G(:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(nod2D , myDim_nod2D , 'ke_D', 'surface density', 'kg/m^3', dynamics%ke_D(:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(nod2D , myDim_nod2D , 'ke_D2', 'surface density squared', 'kg^2/m^6', dynamics%ke_D2(:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(nod2D , myDim_nod2D , 'ke_n0', 'dRHO/dz', 'kg/m^4', dynamics%ke_n0(:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(nod2D , myDim_nod2D , 'ke_JD', 'surface temperature flux [Js] * RHO','°C*kg/s/m^3', dynamics%ke_JD(:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(nod2D , myDim_nod2D , 'ke_GD', 'surface salinity flux [Gs] * RHO','PSU*kg/s/m^3', dynamics%ke_GD(:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(nod2D , myDim_nod2D , 'ke_swA', 'Thermal expansion coeff (alpha)', '1/°C', dynamics%ke_swA(:), io_list(i)%freq, 'y', 8, partit, mesh) + call def_stream(nod2D , myDim_nod2D , 'ke_swB', 'Taline contraction coeff (beta)', '1/PSU', dynamics%ke_swB(:), io_list(i)%freq, 'y', 8, partit, mesh) end if end subroutine diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 95c40e829..5d1d64778 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -3337,10 +3337,10 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ t0=MPI_Wtime() - water_flux = 0.0_WP - heat_flux = 0.0_WP - stress_surf= 0.0_WP - stress_node_surf= 0.0_WP +!PS water_flux = 0.0_WP +!PS heat_flux = 0.0_WP +!PS stress_surf= 0.0_WP +!PS stress_node_surf= 0.0_WP !___________________________________________________________________________ ! calculate equation of state, density, pressure and mixed layer depths @@ -3459,16 +3459,32 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) call compute_vel_rhs(ice, dynamics, partit, mesh) !___________________________________________________________________________ + ! Energy diagnostic contribution if (dynamics%ldiag_ke) then + ! if use solver + if (.not. dynamics%use_ssh_splitexpl_subcycl) then !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) - do elem=1, myDim_elem2D - nzmax = nlevels(elem) - nzmin = ulevels(elem) - do nz=nzmin,nzmax-1 - dynamics%ke_rhs_bak(:,nz,elem)=dynamics%UV_rhs(:,nz,elem) + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_rhs_bak(:,nz,elem)=dynamics%UV_rhs(:,nz,elem) + end do end do - end do !$OMP END PARALLEL DO + + ! if use splitexpl subcycl. UV_rhs in units of transport --> therefor *1/helem + else +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_rhs_bak(:,nz,elem)=dynamics%UV_rhs(:,nz,elem)/helem(nz,elem) + end do + end do +!$OMP END PARALLEL DO + end if end if !___________________________________________________________________________ @@ -3479,26 +3495,51 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) call viscosity_filter(dynamics%opt_visc, dynamics, partit, mesh) !___________________________________________________________________________ + ! Energy diagnostic contribution if (dynamics%ldiag_ke) then + ! if use solver + if (.not. dynamics%use_ssh_splitexpl_subcycl) then !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) - do elem=1, myDim_elem2D - nzmax = nlevels(elem) - nzmin = ulevels(elem) - do nz=nzmin,nzmax-1 - dynamics%ke_hvis(:,nz,elem)=dynamics%UV_rhs(:,nz,elem)-dynamics%ke_rhs_bak(:,nz,elem) + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_hvis(:,nz,elem)=dynamics%UV_rhs(:,nz,elem) - dynamics%ke_rhs_bak(:,nz,elem) + end do end do - end do !$OMP END PARALLEL DO - !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) - do elem=1, myDim_elem2D - nzmax = nlevels(elem) - nzmin = ulevels(elem) - do nz=nzmin,nzmax-1 - dynamics%ke_rhs_bak(:,nz,elem)=dynamics%UV_rhs(:,nz,elem) + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_rhs_bak(:,nz,elem)=dynamics%UV_rhs(:,nz,elem) + end do end do - end do !$OMP END PARALLEL DO + + ! if use splitexpl subcycl. UV_rhs in units of transport --> therefor *1/helem + else +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_hvis(:,nz,elem)=dynamics%UV_rhs(:,nz,elem)/helem(nz,elem) - dynamics%ke_rhs_bak(:,nz,elem) + end do + end do +!$OMP END PARALLEL DO +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_rhs_bak(:,nz,elem)=dynamics%UV_rhs(:,nz,elem)/helem(nz,elem) + end do + end do +!$OMP END PARALLEL DO + + end if end if !___________________________________________________________________________ @@ -3513,15 +3554,28 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ if (dynamics%ldiag_ke) then + ! if use solver + if (.not. dynamics%use_ssh_splitexpl_subcycl) then !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) - do elem=1, myDim_elem2D - nzmax = nlevels(elem) - nzmin = ulevels(elem) - do nz=nzmin,nzmax-1 - dynamics%ke_vvis(:,nz,elem)=dynamics%UV_rhs(:,nz,elem)-dynamics%ke_rhs_bak(:,nz,elem) + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_vvis(:,nz,elem)=dynamics%UV_rhs(:,nz,elem) - dynamics%ke_rhs_bak(:,nz,elem) + end do end do - end do !$OMP END PARALLEL DO + + ! if use splitexpl subcycl. UV_rhs in units of transport --> therefor *1/helem + else + do elem=1, myDim_elem2D + nzmax = nlevels(elem) + nzmin = ulevels(elem) + do nz=nzmin,nzmax-1 + dynamics%ke_vvis(:,nz,elem)=dynamics%UV_rhs(:,nz,elem)/helem(nz,elem) - dynamics%ke_rhs_bak(:,nz,elem) + end do + end do + end if end if t2=MPI_Wtime() @@ -3588,14 +3642,17 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) else ! Compute vertical integral of transport velocity rhs omitting the contributions from ! the elevation and Coriolis. + t30=MPI_Wtime() call compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) ! Do barotropic step, get eta_{n+1} and BT transport call compute_BT_step_SE_ale(dynamics, partit, mesh) + t3=MPI_Wtime() ! Trim U to be consistent with BT transport call update_trim_vel_ale_vtransp(1, dynamics, partit, mesh) - + t4=MPI_Wtime() + t5=t4 end if ! --> if (.not. dynamics%use_ssh_splitexpl_subcycl) then !___________________________________________________________________________ @@ -3672,7 +3729,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! write energy diagnostic info (dynamics%ldiag_ke = .true.) - if (dynamics%ldiag_ke) then + if ( (dynamics%ldiag_ke) .and. (mod(n,logfile_outfreq)==0) ) then call write_enegry_info(dynamics, partit, mesh) end if diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 94d8c5d8c..17d0e8a86 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -348,143 +348,6 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) end do ! --> do ed=1, myDim_edge2D !$OMP END DO - - - - - - - - -!PS !___________________________________________________________________________ -!PS ! 2nd. compute horizontal advection component: u*du/dx, u*dv/dx & v*du/dy, v*dv/dy -!PS ! loop over triangle edges -!PS !$OMP DO -!PS do ed=1, myDim_edge2D -!PS ! local indice of nodes that span up edge ed -!PS ednodes = edges(:,ed) -!PS -!PS ! local index of element that contribute to edge -!PS edelem = edge_tri(1:2,ed) -!PS -!PS !_______________________________________________________________________ -!PS ! index off surface layer in case of cavity !=1 and index of mid depth -!PS ! bottom layer -!PS ul1 = ulevels(edelem(1)) -!PS nl1 = nlevels(edelem(1))-1 -!PS x1 = edge_cross_dxdy(1,ed) -!PS y1 = edge_cross_dxdy(2,ed) -!PS ul2 = 0 -!PS nl2 = nl -!PS -!PS !_______________________________________________________________________ -!PS if (edelem(2) > 0) then -!PS ul2 = ulevels(edelem(2)) -!PS nl2 = nlevels(edelem(2))-1 -!PS x2 = edge_cross_dxdy(3,ed) -!PS y2 = edge_cross_dxdy(4,ed) -!PS end if -!PS -!PS !_______________________________________________________________________ -!PS ! nl12 ... minimum number of layers -1 between element edelem(1) & edelem(2) that -!PS ! contribute to edge ed -!PS ! nu12 ... upper index of layers between element edelem(1) & edelem(2) that -!PS ! contribute to edge ed -!PS ! be carefull !!! --> if ed is a boundary edge than edelem(1)~=0 and edelem(2)==0 -!PS ! that means nl1>0, nl2==0, nl12=min(nl1,nl2)=0 !!! -!PS ul12 = max(ul1, ul2) -!PS nl12 = min(nl1, nl2) -!PS -!PS !_______________________________________________________________________ -!PS ! (A1) goes only into this loop when the edge has only facing element -!PS ! edelem(1) --> so the edge is a boundary edge --> this is for ocean -!PS ! surface in case of cavity -!PS do nz=ul1, ul12-1 -!PS un= (UVh(2, nz, edelem(1))*x1 - UVh(1, nz, edelem(1))*y1) -!PS uu=un*UV(1, nz, edelem(1)) ! the momentum to be carried depends on velocities -!PS vv=un*UV(2, nz, edelem(1)) -!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu -!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu -!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv -!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv -!PS end do ! --> do nz=ul1, ul12-1 -!PS -!PS !_______________________________________________________________________ -!PS ! (C1) remaining segments from the shared lower lyer index nl12 to bottom -!PS ! of element edelem(1) -!PS do nz=nl12+1, nl1 -!PS un= (UVh(2, nz, edelem(1))*x1 - UVh(1, nz, edelem(1))*y1) -!PS uu=un*UV(1, nz, edelem(1)) ! the momentum to be carried depends on velocities -!PS vv=un*UV(2, nz, edelem(1)) -!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu -!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu -!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv -!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv -!PS end do ! --> do nz=nl12+1, nl1 -!PS -!PS if (edelem(2) > 0) then -!PS !_______________________________________________________________________ -!PS ! (A2) goes only into this loop when the edge has a facing elemenmt -!PS ! edelem(2) --> so the edge is a boundary edge --> this is for ocean -!PS ! surface in case of cavity -!PS do nz=ul2, ul12-1 -!PS un=-(UVh(2, nz, edelem(2))*x2- UVh(1, nz, edelem(2))*y2) -!PS uu=un*UV(1, nz, edelem(2)) -!PS vv=un*UV(2, nz, edelem(2)) -!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu -!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu -!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv -!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv -!PS end do ! --> do nz=ul2, ul12-1 -!PS -!PS !_______________________________________________________________________ -!PS ! (B) Both segments -!PS ! loop over depth layers from shared upper layer index ul12 to shared -!PS ! lower layer index nl12 -!PS do nz=ul12, nl12 -!PS un= (UVh(2, nz, edelem(1))*x1 - UVh(1, nz, edelem(1))*y1) & -!PS -(UVh(2, nz, edelem(2))*x2 - UVh(1, nz, edelem(2))*y2) -!PS uu=un*(UV(1, nz, edelem(1)) + UV(1, nz, edelem(2)))*0.5_WP! the momentum to be carried depends on velocities -!PS vv=un*(UV(2, nz, edelem(1)) + UV(2, nz, edelem(2)))*0.5_WP -!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu -!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu -!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv -!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv -!PS end do ! --> do nz=ul12, nl12 -!PS -!PS !_______________________________________________________________________ -!PS ! (C2) remaining segments from the shared lower lyer index nl12 to bottom -!PS ! of element edelem(1) -!PS do nz=nl12+1, nl2 -!PS un=-(UVh(2, nz, edelem(2))*x2- UVh(1, nz, edelem(2))*y2) -!PS uu=un*UV(1, nz, edelem(2)) -!PS vv=un*UV(2, nz, edelem(2)) -!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu -!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu -!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv -!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv -!PS end do ! --> do nz=nl12+1, nl2 -!PS else -!PS -!PS !_______________________________________________________________________ -!PS ! (B) Both segments -!PS ! loop over depth layers from shared upper layer index ul12 to shared -!PS ! lower layer index nl12 -!PS do nz=ul12, nl12 -!PS un= (UVh(2, nz, edelem(1))*x1 - UVh(1, nz, edelem(1))*y1) -!PS uu=un*UV(1, nz, edelem(1))! the momentum to be carried depends on velocities -!PS vv=un*UV(2, nz, edelem(1)) -!PS UVnode_rhs(1, nz, ednodes(1))=UVnode_rhs(1, nz, ednodes(1))+uu -!PS UVnode_rhs(1, nz, ednodes(2))=UVnode_rhs(1, nz, ednodes(2))-uu -!PS UVnode_rhs(2, nz, ednodes(1))=UVnode_rhs(2, nz, ednodes(1))+vv -!PS UVnode_rhs(2, nz, ednodes(2))=UVnode_rhs(2, nz, ednodes(2))-vv -!PS end do ! --> do nz=ul12, nl12 -!PS end if -!PS -!PS end do ! --> do ed=1, myDim_edge2D -!PS !$OMP END DO - - !___________________________________________________________________________ ! divide total nodal momentum advection by scalar area !$OMP DO @@ -678,22 +541,7 @@ subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) ! therefor divide with helem uu(nzmin:nzmax-1)=(UVh(1, nzmin:nzmax-1, elem)+UV_rhs(1, nzmin:nzmax-1, elem))/helem(nzmin:nzmax-1, elem) !! u*=U*/h vv(nzmin:nzmax-1)=(UVh(2, nzmin:nzmax-1, elem)+UV_rhs(2, nzmin:nzmax-1, elem))/helem(nzmin:nzmax-1, elem) - - !_______________________________________________________________ -!PS if ( any(uu(nzmin:nzmax-1)/=uu(nzmin:nzmax-1)) .or. & -!PS any(vv(nzmin:nzmax-1)/=vv(nzmin:nzmax-1)) ) then -!PS write(*,*) ' --> subroutine impl_vert_visc_ale_vtransp --> found Nan in uu=UVh=UV_rhs' -!PS write(*,*) ' mype =', mype -!PS write(*,*) ' elem =', elem -!PS write(*,*) ' uu(nzmin:nzmax-1)=', uu(nzmin:nzmax-1) -!PS write(*,*) ' vv(nzmin:nzmax-1)=', vv(nzmin:nzmax-1) -!PS write(*,*) ' UV_rhs(1,nz,elem)=', UV_rhs( 1, nz, elem) -!PS write(*,*) ' UV_rhs(2,nz,elem)=', UV_rhs( 2, nz, elem) -!PS write(*,*) ' UVh( 1, nz, elem)=', UVh( 1, nz, elem) -!PS write(*,*) ' UVh( 2, nz, elem)=', UVh( 2, nz, elem) -!PS write(*,*) ' helem(nz, elem) =', helem(nz, elem) -!PS end if - + !_______________________________________________________________________ ! Operator + rhs ! Regular part of coefficients: @@ -822,6 +670,7 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) USE MOD_MESH USE MOD_DYN USE g_config, only: dt, r_restart + USE g_comm_auto IMPLICIT NONE type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit @@ -901,6 +750,7 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) ! UVBT_4AB ... is U_bt in barotropic equation ! --> d/dt*U_bt + f*e_z x U_bt + g*H*grad_H(eta) = R_bt UVBT_4AB(3:4,elem)=UVBT_4AB(1:2,elem) + end do !$OMP END DO !$OMP END PARALLEL @@ -931,8 +781,10 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) USE MOD_PARSUP USE MOD_MESH USE MOD_DYN - use g_comm_auto - USE g_config, only: dt + USE g_comm_auto + USE g_config, only: dt, which_ALE, use_cavity_fw2press + USE g_support, only: integrate_nod + use o_ARRAYS, only: water_flux IMPLICIT NONE !___________________________________________________________________________ type(t_dyn) , intent(inout), target :: dynamics @@ -941,11 +793,10 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !___________________________________________________________________________ real(kind=WP) :: dtBT, BT_inv, hh, f, rx, ry, a, b, d, c1, c2, ax, ay real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, thetaBT - integer :: step, elem, elnodes(3), edge, ednodes(2), edelem(2) + integer :: step, elem, edge, node, elnodes(3), ednodes(2), edelem(2) real(kind=WP) :: update_ubt, update_vbt, vi, len, nzmax real(kind=WP), allocatable :: bottomdrag(:), UVBT_harmvisc(:,:) - !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), dimension(:) , pointer :: eta_n @@ -979,7 +830,6 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) dtBT = dt/dynamics%splitexpl_BTsteps BT_inv = 1.0_WP/(1.0_WP*dynamics%splitexpl_BTsteps) - !___SPLIT-EXPLICITE STABILIZATION___________________________________________ ! trim R (UVBT_rhs): ! UVBT_rhs --> UVBT_rhs - div_h Ah H^n div_h(Ubt^n/H^n) + Cd*|Ubot|* Ubt^n/H^n @@ -989,7 +839,6 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! --> use only harmonmic viscosity operator applied to the barotropic ! velocity if (dynamics%splitexpl_visc) then - !_______________________________________________________________________ ! remove viscosity do edge=1, myDim_edge2D+eDim_edge2D @@ -1033,9 +882,6 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !$OMP END ORDERED #endif end do ! --> do edge=1, myDim_edge2D+eDim_edge2D - - call exchange_elem_begin(UVBT_rhs, partit) - call exchange_elem_end(partit) end if ! --> if (dynamics%splitexpl_visc) then !___________________________________________________________________________ @@ -1072,6 +918,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! elem indices that participate in edge edelem = edge_tri(:,edge) + nzmax = minval(nlevels(edelem)) hh = -zbar(nzmax) len = sqrt(sum(elem_area(edelem))) @@ -1079,7 +926,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) update_ubt=(UVBT(1, edelem(1))-UVBT(1, edelem(2)))/hh update_vbt=(UVBT(2, edelem(1))-UVBT(2, edelem(2)))/hh vi=update_ubt*update_ubt + update_vbt*update_vbt - vi=dt*sqrt(max(dynamics%splitexpl_visc_gamma0, & + vi=dt*sqrt(max(dynamics%splitexpl_visc_gamma0, & max(dynamics%splitexpl_visc_gamma1*sqrt(vi), & dynamics%splitexpl_visc_gamma2*vi) & )*len) @@ -1106,9 +953,6 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !$OMP END ORDERED #endif end do ! --> do edge=1, myDim_edge2D+eDim_edge2D - - call exchange_elem_begin(UVBT_harmvisc, partit) - call exchange_elem_end(partit) end if ! -> if (dynamics%splitexpl_visc) then !_______________________________________________________________________ @@ -1137,13 +981,13 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! (We do it here based on increments since it saves us some significant ! digits for the accuracy) ! Increments: - ! deltaU = Ubt^(n+(m+1)/M)-Ubt^(n+m/M) - ! Ubt^(n+(m+1)/M)+Ubt^(n+m/M) = Ubt^(n+(m+1)/M)-Ubt^(n+m/M)+2*Ubt^(n+m/M) - ! = deltaU + 2*Ubt^(n+m/M) + ! deltaU = Ubt^(n+(m+1)/M)-Ubt^(n+m/M) + ! Ubt^(n+(m+1)/M)+Ubt^(n+m/M) = Ubt^(n+(m+1)/M)-Ubt^(n+m/M)+2*Ubt^(n+m/M) + ! = deltaU + 2*Ubt^(n+m/M) ! - ! Ubt^(n+(m+1)/M)-Ubt^(n+m/M) = - dt/M*[ + 0.5*f*e_z x (Ubt^(n+(m+1)/M) + Ubt^(n+m/M)) - ! - h*H^m*grad_H*eta^(n+m/M) - ! - Rbt-->UVBT_rhs ] + ! Ubt^(n+(m+1)/M)-Ubt^(n+m/M) = - dt/M*[ + 0.5*f*e_z x (Ubt^(n+(m+1)/M) + Ubt^(n+m/M)) + ! - h*H^m*grad_H*eta^(n+m/M) + ! - Rbt-->UVBT_rhs ] ! ! deltaU - dt/(2*M)*f*deltaV = dt/M*f*Vbt^(n+m/M) - h*H^m*gradx_H*eta^(n+m/M) + Rbtx ! deltaV + dt/(2*M)*f*deltaU = -dt/M*f*Ubt^(n+m/M) - h*H^m*grady_H*eta^(n+m/M) + Rbty @@ -1178,6 +1022,8 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! Ubt^(n+(m+1)/M) = Ubt^(n+(m)/M) + AAA ! equation (6) in T. Banerjee et al.,Split-Explicite external ! mode solver in FESOM2, + + ! compute barotropic velocity at time step (n+(m+1)/M) UVBT( 1, elem) = UVBT(1, elem) + ax UVBT( 2, elem) = UVBT(2, elem) + ay @@ -1199,6 +1045,8 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) UVBT_mean( 2, elem) = UVBT_mean( 2, elem) + UVBT_theta(2, elem)*BT_inv end do + call exchange_elem_begin(UVBT, partit) + call exchange_elem_end(partit) !_______________________________________________________________________ ! Store mid-step velocity (to trim 3D velocities in momentum) @@ -1230,18 +1078,28 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! advance ssh --> eta^(n+(m+1)/M) = eta^(n+(m)/M) - dt/M * div_H * [...] ! equation (6) in T. Banerjee et al.,Split-Explicite external ! mode solver in FESOM2, - eta_n(ednodes(1))=eta_n(ednodes(1)) + (c1+c2)*dtBT/area(1,ednodes(1)) - eta_n(ednodes(2))=eta_n(ednodes(2)) - (c1+c2)*dtBT/area(1,ednodes(2)) + eta_n(ednodes(1))=eta_n(ednodes(1)) + (c1+c2)*dtBT/areasvol(1,ednodes(1)) + eta_n(ednodes(2))=eta_n(ednodes(2)) - (c1+c2)*dtBT/areasvol(1,ednodes(2)) end do + !_______________________________________________________________________ + ! Apply freshwater boundary condition + if ( .not. trim(which_ALE)=='linfs') then + do node=1,myDim_nod2D + eta_n(node)=eta_n(node) - dtBT*water_flux(node) + end do + end if + !_______________________________________________________________________ call exchange_nod(eta_n, partit) end do ! --> do step=1, dynamics%splitexpl_BTsteps + deallocate(bottomdrag, UVBT_harmvisc) hbar_old = hbar - hbar = eta_n + hbar = eta_n + end subroutine compute_BT_step_SE_ale ! ! @@ -1261,6 +1119,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) type(t_mesh) , intent(inout) , target :: mesh integer :: elem, nz, nzmin, nzmax real(kind=WP) :: ubar, vbar, hh_inv + real(kind=WP) :: usum(2), udiff(2) !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), dimension(:,:,:), pointer :: UVh, UV, UV_rhs @@ -1287,21 +1146,77 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) nzmin = ulevels(elem) nzmax = nlevels(elem)-1 + !___________________________________________________________________ ubar = 0.0_WP vbar = 0.0_WP hh_inv = 0.0_WP do nz=nzmin, nzmax - !_______________________________________________________________ - ! Update transport velocities: U^(n+1/2,**) = U^(n+1/2,*) + U_rhs - UVh(1, nz, elem)=UVh(1, nz, elem)+UV_rhs(1, nz, elem) - UVh(2, nz, elem)=UVh(2, nz, elem)+UV_rhs(2, nz, elem) - + !PS !___________________________________________________________ + !PS ! Update transport velocities: U^(n+1/2,**) = U^(n+1/2,*) + U_rhs + !PS UVh(1, nz, elem)=UVh(1, nz, elem)+UV_rhs(1, nz, elem) + !PS UVh(2, nz, elem)=UVh(2, nz, elem)+UV_rhs(2, nz, elem) + !PS + !PS !___________________________________________________________ + !PS ! vertically integrate updated transport velocity: sum(k, U_k^(n+1/2,**) ) + !PS ubar = ubar+UVh(1, nz, elem) + !PS vbar = vbar+UVh(2, nz, elem) + !PS hh_inv= hh_inv+helem(nz,elem) !_______________________________________________________________ ! vertically integrate updated transport velocity: sum(k, U_k^(n+1/2,**) ) - ubar = ubar+UVh(1, nz, elem) - vbar = vbar+UVh(2, nz, elem) + ! --> the actual update of the transport velocity is done after the + ! if (dynamics%ldiag_ke) block + ubar = ubar+UVh(1, nz, elem) + UV_rhs(1, nz, elem) + vbar = vbar+UVh(2, nz, elem) + UV_rhs(2, nz, elem) hh_inv= hh_inv+helem(nz,elem) end do + hh_inv=1.0_WP/hh_inv + + !___________________________________________________________________ + if (dynamics%ldiag_ke) then + DO nz=nzmin, nzmax + ! U_(n+1) - U_n = Urhs_n |* (U_(n+1)+U_n) + ! U_(n+1)^2 - U_n^2 = Urhs_n * (U_(n+1)+U_n) + ! | + ! +-> U_(n+1) = U_n+Urhs_n + ! U_(n+1)^2 - U_n^2 = Urhs_n * (2*U_n + Urhs) + ! | | + ! v v + ! udiff usum + usum(1) = 2.0_WP*UVh(1,nz,elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv + usum(2) = 2.0_WP*UVh(2,nz,elem) + UV_rhs(2, nz, elem) + (UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv + ! transform: transport vel --> velocity + usum(1) = usum(1)/helem(nz,elem) + usum(2) = usum(2)/helem(nz,elem) + + udiff(1) = UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv + udiff(2) = UV_rhs(2, nz, elem) + (UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv + ! transform: transport vel --> velocity + udiff(1) = udiff(1)/helem(nz,elem) + udiff(2) = udiff(2)/helem(nz,elem) + + ! (U_(n+1)^2 - U_n^2)/2 = usum*udiff/2 + dynamics%ke_du2( :,nz,elem) = usum*udiff/2.0_WP + + dynamics%ke_pre_xVEL( :,nz,elem) = usum*dynamics%ke_pre (:,nz,elem)/2.0_WP + dynamics%ke_adv_xVEL( :,nz,elem) = usum*dynamics%ke_adv (:,nz,elem)/2.0_WP + dynamics%ke_cor_xVEL( :,nz,elem) = usum*dynamics%ke_cor (:,nz,elem)/2.0_WP + dynamics%ke_hvis_xVEL(:,nz,elem) = usum*dynamics%ke_hvis(:,nz,elem)/2.0_WP + dynamics%ke_vvis_xVEL(:,nz,elem) = usum*dynamics%ke_vvis(:,nz,elem)/2.0_WP + + ! U_(n+0.5) = U_n + 0.5*Urhs + dynamics%ke_umean( :,nz,elem) = usum/2.0_WP + ! U_(n+0.5)^2 + dynamics%ke_u2mean( :,nz,elem) = (usum*usum)/4.0_WP + + if (nz==nzmin) then + dynamics%ke_wind_xVEL(:,elem) = usum*dynamics%ke_wind(:,elem)/2.0_WP + end if + + if (nz==nzmax) then + dynamics%ke_drag_xVEL(:,elem) = usum*dynamics%ke_drag(:,elem)/2.0_WP + end if + END DO + end if !___________________________________________________________________ ! finalize horizontal transport by making vertically integrated @@ -1311,15 +1226,17 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! mode solver in FESOM2, ! U_k^(n+1/2) = U^(n+1/2,**) ! + [<>^(n+1/2) - sum(k, U_k^(n+1/2,**)] * h_k^(n+1/2)/sum(k,h_k^(n+1/2)) - hh_inv=1.0_WP/hh_inv ! Postpone AB and 2nd order, just use available thickness DO nz=nzmin, nzmax - UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv - UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv + !PS UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv + !PS UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv + UVh(1, nz, elem)= UVh(1, nz, elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv + UVh(2, nz, elem)= UVh(2, nz, elem) + UV_rhs(2, nz, elem) + (UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) - end do end do + + !_______________________________________________________________________ call exchange_elem(UVh, partit) ! This exchange can be avoided, but test first. call exchange_elem(UV, partit) @@ -1328,18 +1245,20 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! Velocity will be used to advance momentum else do elem=1, myDim_elem2D + nzmin = ulevels(elem) + nzmax = nlevels(elem)-1 + + !___________________________________________________________________ ubar = 0.0_WP vbar = 0.0_WP hh_inv = 0.0_WP - - nzmin = ulevels(elem) - nzmax = nlevels(elem)-1 do nz=nzmin, nzmax ubar=ubar+UVh(1, nz, elem) vbar=vbar+UVh(2, nz, elem) hh_inv=hh_inv+helem(nz,elem) end do + !___________________________________________________________________ hh_inv=1.0_WP/hh_inv ! Postpone 2nd order, just use available thickness do nz=nzmin, nzmax UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_12(1, elem)-ubar)*helem(nz,elem)*hh_inv @@ -1348,8 +1267,10 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection end do end do + !___________________________________________________________________ call exchange_elem(UVh, partit) ! call exchange_elem(UV , partit) ! Check if this is needed + end if ! --> if (mode==1) then end subroutine update_trim_vel_ale_vtransp ! @@ -1396,7 +1317,7 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) nzmin = ulevels(elem) nzmax = nlevels(elem)-1 elnodes=elem2D_nodes(:,elem) - do nz=nzmin, nzmax + do nz=nzmin, nzmax-1 helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP end do end do diff --git a/src/oce_dyn.F90 b/src/oce_dyn.F90 index 92faffb55..57ac24fe7 100755 --- a/src/oce_dyn.F90 +++ b/src/oce_dyn.F90 @@ -99,32 +99,46 @@ SUBROUTINE update_vel(dynamics, partit, mesh) nzmax = nlevels(elem) if (dynamics%ldiag_ke) then - DO nz=nzmin, nzmax-1 - dynamics%ke_pre(1,nz,elem) =dynamics%ke_pre(1,nz,elem) + Fx - dynamics%ke_pre(2,nz,elem) =dynamics%ke_pre(2,nz,elem) + Fy - - usum(1)=2.0_WP*UV(1,nz,elem)+(UV_rhs(1,nz,elem) + Fx) - usum(2)=2.0_WP*UV(2,nz,elem)+(UV_rhs(2,nz,elem) + Fy) - - udiff(1)=UV_rhs(1,nz,elem) + Fx - udiff(2)=UV_rhs(2,nz,elem) + Fy - dynamics%ke_du2 (:,nz,elem) = usum*udiff/2.0_WP - dynamics%ke_pre_xVEL (:,nz,elem) = usum*dynamics%ke_pre (:,nz,elem)/2.0_WP - dynamics%ke_adv_xVEL (:,nz,elem) = usum*dynamics%ke_adv (:,nz,elem)/2.0_WP - dynamics%ke_cor_xVEL (:,nz,elem) = usum*dynamics%ke_cor (:,nz,elem)/2.0_WP - dynamics%ke_hvis_xVEL(:,nz,elem) = usum*dynamics%ke_hvis(:,nz,elem)/2.0_WP - dynamics%ke_vvis_xVEL(:,nz,elem) = usum*dynamics%ke_vvis(:,nz,elem)/2.0_WP - dynamics%ke_umean(:,nz,elem) = usum/2.0_WP - dynamics%ke_u2mean(:,nz,elem) = (usum*usum)/4.0_WP - - if (nz==nzmin) then - dynamics%ke_wind_xVEL(:,elem)=usum*dynamics%ke_wind(:,elem)/2.0_WP - end if - - if (nz==nzmax-1) then - dynamics%ke_drag_xVEL(:,elem)=usum*dynamics%ke_drag(:,elem)/2.0_WP - end if - END DO + DO nz=nzmin, nzmax-1 + dynamics%ke_pre(1,nz,elem) =dynamics%ke_pre(1,nz,elem) + Fx + dynamics%ke_pre(2,nz,elem) =dynamics%ke_pre(2,nz,elem) + Fy + + + ! U_(n+1) - U_n = Urhs_n |* (U_(n+1)+U_n) + ! U_(n+1)^2 - U_n^2 = Urhs_n * (U_(n+1)+U_n) + ! | + ! +-> U_(n+1) = U_n+Urhs_n + ! U_(n+1)^2 - U_n^2 = Urhs_n * (2*U_n + Urhs) + ! | | + ! v v + ! udiff usum + usum(1) = 2.0_WP*UV(1,nz,elem)+(UV_rhs(1,nz,elem) + Fx) + usum(2) = 2.0_WP*UV(2,nz,elem)+(UV_rhs(2,nz,elem) + Fy) + udiff(1) = UV_rhs(1,nz,elem) + Fx + udiff(2) = UV_rhs(2,nz,elem) + Fy + + ! (U_(n+1)^2 - U_n^2)/2 = usum*udiff/2 + dynamics%ke_du2 (:,nz,elem) = usum*udiff/2.0_WP + + dynamics%ke_pre_xVEL (:,nz,elem) = usum*dynamics%ke_pre (:,nz,elem)/2.0_WP + dynamics%ke_adv_xVEL (:,nz,elem) = usum*dynamics%ke_adv (:,nz,elem)/2.0_WP + dynamics%ke_cor_xVEL (:,nz,elem) = usum*dynamics%ke_cor (:,nz,elem)/2.0_WP + dynamics%ke_hvis_xVEL(:,nz,elem) = usum*dynamics%ke_hvis(:,nz,elem)/2.0_WP + dynamics%ke_vvis_xVEL(:,nz,elem) = usum*dynamics%ke_vvis(:,nz,elem)/2.0_WP + + ! U_(n+0.5) = U_n + 0.5*Urhs + dynamics%ke_umean( :,nz,elem) = usum/2.0_WP + ! U_(n+0.5)^2 + dynamics%ke_u2mean( :,nz,elem) = (usum*usum)/4.0_WP + + if (nz==nzmin) then + dynamics%ke_wind_xVEL(:,elem) = usum*dynamics%ke_wind(:,elem)/2.0_WP + end if + + if (nz==nzmax-1) then + dynamics%ke_drag_xVEL(:,elem) = usum*dynamics%ke_drag(:,elem)/2.0_WP + end if + END DO end if DO nz=nzmin, nzmax-1 From 2bcb58b74e23e932dad9611a9e05e71a854cd239 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 14 Sep 2023 16:29:13 +0200 Subject: [PATCH 053/273] make loops OMP conform, reduce allocation of bottomdrag and UVBT_harmvisc array --- src/MOD_DYN.F90 | 9 ++ src/oce_ale_ssh_splitexpl_subcycl.F90 | 191 ++++++++++++++++++-------- src/oce_setup_step.F90 | 8 ++ 3 files changed, 153 insertions(+), 55 deletions(-) diff --git a/src/MOD_DYN.F90 b/src/MOD_DYN.F90 index 1345527c3..218f097ae 100644 --- a/src/MOD_DYN.F90 +++ b/src/MOD_DYN.F90 @@ -75,6 +75,11 @@ MODULE MOD_DYN ! UBTmean_mean... Mean BT velocity to trim 3D velocity in tracers real(kind=WP), allocatable, dimension(:,:) :: se_uvBT, se_uvBT_theta, se_uvBT_mean, se_uvBT_12 + ! array that are needed for viscosity and bottomdrag stabilization of + ! split-expl subcycling method + real(kind=WP), allocatable, dimension(:,:) :: se_uvBT_stab_hvisc + real(kind=WP), allocatable, dimension(:) :: se_uvBT_stab_bdrag + !___________________________________________________________________________ ! summarizes solver input parameter type(t_solverinfo) :: solverinfo @@ -290,6 +295,8 @@ subroutine WRITE_T_DYN(dynamics, unit, iostat, iomsg) call write_bin_array(dynamics%se_uvBT_theta, unit, iostat, iomsg) call write_bin_array(dynamics%se_uvBT_mean , unit, iostat, iomsg) call write_bin_array(dynamics%se_uvBT_12 , unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvBT_stab_hvisc , unit, iostat, iomsg) + call write_bin_array(dynamics%se_uvBT_stab_bdrag , unit, iostat, iomsg) end if @@ -346,6 +353,8 @@ subroutine READ_T_DYN(dynamics, unit, iostat, iomsg) call read_bin_array(dynamics%se_uvBT_theta, unit, iostat, iomsg) call read_bin_array(dynamics%se_uvBT_mean , unit, iostat, iomsg) call read_bin_array(dynamics%se_uvBT_12 , unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvBT_stab_hvisc , unit, iostat, iomsg) + call read_bin_array(dynamics%se_uvBT_stab_bdrag , unit, iostat, iomsg) end if end subroutine READ_T_DYN diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 17d0e8a86..0c069ffae 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -90,7 +90,7 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) real(kind=WP) :: uv12, uv1, uv2, qc, qu, qd, num_ord=0.95_WP integer :: ednodes(2), edelem(2) real(kind=WP) :: wu(mesh%nl), wv(mesh%nl), un1(mesh%nl), un2(mesh%nl) -!PS real(kind=WP) :: un, uu, vv, x1, x2, y1, y2 + !___________________________________________________________________________ ! pointer on necessary derived types real(kind=WP), dimension(:,:,:), pointer :: UV, UV_rhsAB, UVnode_rhs, UVnode, UVh @@ -109,7 +109,7 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) ! 1st. compute vertical momentum advection component: w * du/dz, w*dv/dz !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(node, elem, ed, nz, nl1, ul1, nl2, ul2, nl12, ul12, & !$OMP uv1, uv2, uv12, qc, qu, qd, wu, wv, & -!$OMP ednodes, edelem, dx1, dy1, dx2, dy2, un, uu, vv) +!$OMP ednodes, edelem, un1, un2) !$OMP DO do node=1, myDim_nod2D @@ -522,9 +522,9 @@ subroutine impl_vert_visc_ale_vtransp(dynamics, partit, mesh) UVh =>dynamics%se_uvh(:,:,:) !___________________________________________________________________________ -!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(a, b, c, ur, vr, cp, up, vp, elem, & -!$OMP nz, nzmin, nzmax, elnodes, & -!$OMP zinv, m, friction, wu, wv, uu, vv) +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(nz, nzmin, nzmax, elem, elnodes, & +!$OMP a, b, c, m, ur, vr, cp, up, vp, & +!$OMP zinv, friction, wu, wd, uu, vv) !___________________________________________________________________________ !$OMP DO @@ -704,7 +704,8 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) ab2=1.0_WP-ab1 !___________________________________________________________________________ -!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax, Fx, Fy, & +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, nz, nzmin, nzmax, & +!$OMP Fx, Fy, hh, & !$OMP vert_sum_u, vert_sum_v, hh) !___________________________________________________________________________ @@ -791,16 +792,15 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(inout) , target :: mesh !___________________________________________________________________________ - real(kind=WP) :: dtBT, BT_inv, hh, f, rx, ry, a, b, d, c1, c2, ax, ay + real(kind=WP) :: dtBT, BT_inv, hh, ff, rx, ry, a, b, d, c1, c2, ax, ay real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, thetaBT integer :: step, elem, edge, node, elnodes(3), ednodes(2), edelem(2) real(kind=WP) :: update_ubt, update_vbt, vi, len, nzmax - real(kind=WP), allocatable :: bottomdrag(:), UVBT_harmvisc(:,:) !___________________________________________________________________________ ! pointer on necessary derived types - real(kind=WP), dimension(:) , pointer :: eta_n - real(kind=WP), dimension(:,:) , pointer :: UVBT_rhs, UVBT, UVBT_theta, UVBT_mean, UVBT_12 + real(kind=WP), dimension(:) , pointer :: eta_n, bottomdrag + real(kind=WP), dimension(:,:) , pointer :: UVBT_rhs, UVBT, UVBT_theta, UVBT_mean, UVBT_12, UVBT_harmvisc real(kind=WP), dimension(:,:,:), pointer :: UV #include "associate_part_def.h" #include "associate_mesh_def.h" @@ -813,13 +813,12 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) UVBT_mean =>dynamics%se_uvBT_mean(:,:) UVBT_12 =>dynamics%se_uvBT_12(:,:) if (dynamics%splitexpl_bottdrag) then - UV =>dynamics%uv(:,:,:) + UV =>dynamics%uv(:,:,:) + bottomdrag =>dynamics%se_uvBT_stab_bdrag(:) + end if + if (dynamics%splitexpl_visc) then + UVBT_harmvisc=>dynamics%se_uvBT_stab_hvisc(:,:) end if - - allocate(bottomdrag( myDim_elem2D+eDim_elem2D)) - allocate(UVBT_harmvisc(2, myDim_elem2D+eDim_elem2D)) - bottomdrag = 0.0_WP - UVBT_harmvisc = 0.0_WP !___________________________________________________________________________ ! Dissipation parameter of FB dissipative method 0.14 is the default value @@ -841,6 +840,9 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) if (dynamics%splitexpl_visc) then !_______________________________________________________________________ ! remove viscosity +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, edelem, nzmax, hh, len, & +!$OMP vi, update_ubt, update_vbt) +!$OMP DO do edge=1, myDim_edge2D+eDim_edge2D ! if ed is an outer boundary edge, skip it @@ -882,26 +884,37 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !$OMP END ORDERED #endif end do ! --> do edge=1, myDim_edge2D+eDim_edge2D +!$OMP END DO end if ! --> if (dynamics%splitexpl_visc) then !___________________________________________________________________________ ! remove bottom drag if (dynamics%splitexpl_bottdrag) then +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, nzmax, hh) +!$OMP DO do elem=1, myDim_elem2D elnodes= elem2D_nodes(:,elem) nzmax = nlevels(elem) -!PS hh = -zbar(nzmax)+sum(eta_n(elnodes))/3.0_WP + !PS hh = -zbar(nzmax)+sum(eta_n(elnodes))/3.0_WP hh = -zbar(nzmax) bottomdrag(elem) = dt*C_d*sqrt(UV(1, nzmax-1, elem)**2 + UV(2, nzmax-1, elem)**2) UVBT_rhs(1, elem)=UVBT_rhs(1, elem) + bottomdrag(elem)*UVBT(1, elem)/hh UVBT_rhs(2, elem)=UVBT_rhs(2, elem) + bottomdrag(elem)*UVBT(2, elem)/hh end do +!$OMP END PARALLEL DO end if ! --> if (dynamics%splitexpl_bottdrag) then + !___________________________________________________________________________ + ! initialise UVBT_mean with zeros --> OMP style +!$OMP PARALLEL DO + do elem=1, myDim_elem2D+eDim_elem2D + UVBT_mean(:, elem) = 0.0_WP + end do +!$OMP END PARALLEL DO + !___________________________________________________________________________ ! eta_n elevation used in BT stepping, it is just a copy of eta_n ! UBT and VBT are transport velocities - UVBT_mean= 0.0_WP do step=1, dynamics%splitexpl_BTsteps !####################################################################### !########## Dissipative forward--backward time stepping ########## @@ -910,7 +923,19 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !_______________________________________________________________________ ! compute harmonic viscosity for stability if (dynamics%splitexpl_visc) then - UVBT_harmvisc = 0.0_WP + + !___________________________________________________________________ + ! initialise UVBT_harmvisc with zeros --> OMP style +!$OMP PARALLEL DO + do elem=1, myDim_elem2D+eDim_elem2D + UVBT_harmvisc(:, elem) = 0.0_WP + end do +!$OMP END PARALLEL DO + + !___________________________________________________________________ +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, edelem, nzmax, hh, len, & +!$OMP vi, update_ubt, update_vbt) +!$OMP DO do edge=1, myDim_edge2D+eDim_edge2D ! if ed is an outer boundary edge, skip it @@ -953,10 +978,14 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !$OMP END ORDERED #endif end do ! --> do edge=1, myDim_edge2D+eDim_edge2D +!$OMP END PARALLEL DO end if ! -> if (dynamics%splitexpl_visc) then !_______________________________________________________________________ ! Advance velocities. I use SI stepping for the Coriolis +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, hh, ff, rx, ry, a, b, & +!$OMP d, ax, ay) +!$OMP DO do elem=1, myDim_elem2D elnodes=elem2D_nodes(:,elem) !___________________________________________________________________ @@ -964,15 +993,15 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! AAA = - dt/M*[ + 0.5*f*e_z x (Ubt^(n+(m+1)/M) + Ubt^(n+(m)/M)) ! - h*H^m*grad_H*eta^((n+m)/M) ! - Rbt-->UVBT_rhs ] -!PS hh = -zbar(nlevels(elem))+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth + !PS hh = -zbar(nlevels(elem))+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth hh = -zbar(nlevels(elem)) ! Total fluid depth - f = mesh%coriolis(elem) + ff = mesh%coriolis(elem) - rx = dtBT*(-g*hh*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + f*UVBT(2, elem)) & + rx = dtBT*(-g*hh*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + ff*UVBT(2, elem)) & + BT_inv*UVBT_rhs(1, elem) & + BT_inv*(UVBT_harmvisc(1, elem) - bottomdrag(elem)*UVBT(1, elem)/hh) ! <-- stabilization terms - ry = dtBT*(-g*hh*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - f*UVBT(1, elem)) & + ry = dtBT*(-g*hh*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - ff*UVBT(1, elem)) & + BT_inv*UVBT_rhs(2, elem) & + BT_inv*(UVBT_harmvisc(2, elem) - bottomdrag(elem)*UVBT(2, elem)/hh) ! <-- stabilization terms @@ -988,26 +1017,35 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! Ubt^(n+(m+1)/M)-Ubt^(n+m/M) = - dt/M*[ + 0.5*f*e_z x (Ubt^(n+(m+1)/M) + Ubt^(n+m/M)) ! - h*H^m*grad_H*eta^(n+m/M) ! - Rbt-->UVBT_rhs ] + ! + dt/M*[grad_h*A_h*H^n*grad_h(Ubt^(n+m/M)/H^n)] + ! - dt/M*[cd*|Ubot|*Ubt^(n+(m+1)/M)/H^n] + ! + ! --> a = dt/(2*M)*ff + ! --> b = dt/M*cd*|Ubot|/H^n ! - ! deltaU - dt/(2*M)*f*deltaV = dt/M*f*Vbt^(n+m/M) - h*H^m*gradx_H*eta^(n+m/M) + Rbtx - ! deltaV + dt/(2*M)*f*deltaU = -dt/M*f*Ubt^(n+m/M) - h*H^m*grady_H*eta^(n+m/M) + Rbty + ! deltaU + b*deltaU - a*deltaV = dt/M*f*Vbt^(n+m/M) - h*H^m*gradx_H*eta^(n+m/M) + Rbtx + ! + dt/M*[grad_h*A_h*H^n*grad_h(Ubt^(n+m/M)/H^n)] + ! + dt/M*[cd*|Ubot|*Ubt^(n+m/M)/H^n] + ! deltaV + b*deltaV + a*deltaU = -dt/M*f*Ubt^(n+m/M) - h*H^m*grady_H*eta^(n+m/M) + Rbty + ! + dt/M*[grad_h*A_h*H^n*grad_h(Vbt^(n+m/M)/H^n)] + ! + dt/M*[cd*|Ubot|VUbt^(n+m/M)/H^n] ! \________________________v___________________________/ - ! --> a = dt/(2*M)*f Rx, Ry + ! Rx, Ry ! - ! | 1 -a | * | deltaU | = MAT* | deltaU | = | Rx | - ! | a 1 | | deltaV | = | deltaV | = | Ry | - ! - ! --> d = 1/(1 + a^2) ; inv(MAT) = d* | 1 a | - ! | -a 1 | + ! | 1+b -a | * | deltaU | = MAT* | deltaU | = | Rx | + ! | a 1+b | | deltaV | = | deltaV | = | Ry | + ! --> b' = b+1 + ! --> d = 1/(b'^2 + a^2) ; inv(MAT) = d* | b' a | + ! | -a b' | ! ! | deltaU | = inv(MAT) * | Rx | ! | deltaV | = | Ry | ! - ! Ubt^(n+(m+1)/M) = Ubt^(n+m/M) + d*( Rx + a*Ry) - ! Vbt^(n+(m+1)/M) = Vbt^(n+m/M) + d*(-a*Rx + Ry) + ! Ubt^(n+(m+1)/M) = Ubt^(n+m/M) + d*( b'*Rx + a *Ry) + ! Vbt^(n+(m+1)/M) = Vbt^(n+m/M) + d*(-a *Rx + b'*Ry) ! ! Semi-Implicit Coriolis - a = dtBT*f*0.5_WP + a = dtBT*ff*0.5_WP if (dynamics%splitexpl_bdrag_si) then b = 1.0_WP+BT_inv*bottomdrag(elem)/hh else @@ -1022,7 +1060,6 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! Ubt^(n+(m+1)/M) = Ubt^(n+(m)/M) + AAA ! equation (6) in T. Banerjee et al.,Split-Explicite external ! mode solver in FESOM2, - ! compute barotropic velocity at time step (n+(m+1)/M) UVBT( 1, elem) = UVBT(1, elem) + ax UVBT( 2, elem) = UVBT(2, elem) + ay @@ -1045,9 +1082,15 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) UVBT_mean( 2, elem) = UVBT_mean( 2, elem) + UVBT_theta(2, elem)*BT_inv end do +!$OMP END PARALLEL DO + + !_______________________________________________________________________ +!$OMP MASTER call exchange_elem_begin(UVBT, partit) call exchange_elem_end(partit) - +!$OMP END MASTER +!$OMP BARRIER + !_______________________________________________________________________ ! Store mid-step velocity (to trim 3D velocities in momentum) if(step==dynamics%splitexpl_BTsteps/2) then @@ -1058,6 +1101,9 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! Advance thickness ! compute: dt/M * div_H * [(1+theta)*Ubt^(n+(m+1)/M) - theta*Ubt^(n+(m)/M)] ! and advance ssh --> eta^(n+(m+1)/M) = eta^(n+(m)/M) - dt/M * div_H * [...] +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, ednodes, edelem, c1, c2, & +!$OMP deltaX1, deltaX2, deltaY1, deltaY2) +!$OMP DO do edge=1, myDim_edge2D ednodes = edges(:,edge) edelem = edge_tri(:,edge) @@ -1078,28 +1124,46 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! advance ssh --> eta^(n+(m+1)/M) = eta^(n+(m)/M) - dt/M * div_H * [...] ! equation (6) in T. Banerjee et al.,Split-Explicite external ! mode solver in FESOM2, +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock(partit%plock(ednodes(1))) +#else +!$OMP ORDERED +#endif eta_n(ednodes(1))=eta_n(ednodes(1)) + (c1+c2)*dtBT/areasvol(1,ednodes(1)) +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(1))) + call omp_set_lock (partit%plock(ednodes(2))) +#endif eta_n(ednodes(2))=eta_n(ednodes(2)) - (c1+c2)*dtBT/areasvol(1,ednodes(2)) - +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(2))) +#else +!$OMP END ORDERED +#endif end do - +!$OMP END PARALLEL DO + !_______________________________________________________________________ ! Apply freshwater boundary condition if ( .not. trim(which_ALE)=='linfs') then +!$OMP PARALLEL DO do node=1,myDim_nod2D eta_n(node)=eta_n(node) - dtBT*water_flux(node) end do +!$OMP END PARALLEL DO end if !_______________________________________________________________________ +!$OMP MASTER call exchange_nod(eta_n, partit) - +!$OMP END MASTER +!$OMP BARRIER + end do ! --> do step=1, dynamics%splitexpl_BTsteps - deallocate(bottomdrag, UVBT_harmvisc) + !___________________________________________________________________________ hbar_old = hbar hbar = eta_n - end subroutine compute_BT_step_SE_ale ! ! @@ -1141,7 +1205,9 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) !___________________________________________________________________________ ! Trim full velocity to ensure that its vertical sum equals to the mean BT velocity ! The trimmed Uh,Vh are consistent with new total height defined by eta_n - if (mode==1) then + if (mode==1) then +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax, ubar, vbar, hh_inv) +!$OMP DO do elem=1, myDim_elem2D nzmin = ulevels(elem) nzmax = nlevels(elem)-1 @@ -1168,12 +1234,12 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ubar = ubar+UVh(1, nz, elem) + UV_rhs(1, nz, elem) vbar = vbar+UVh(2, nz, elem) + UV_rhs(2, nz, elem) hh_inv= hh_inv+helem(nz,elem) - end do + end do ! --> do nz=nzmin, nzmax hh_inv=1.0_WP/hh_inv - + !___________________________________________________________________ if (dynamics%ldiag_ke) then - DO nz=nzmin, nzmax + do nz=nzmin, nzmax ! U_(n+1) - U_n = Urhs_n |* (U_(n+1)+U_n) ! U_(n+1)^2 - U_n^2 = Urhs_n * (U_(n+1)+U_n) ! | @@ -1215,8 +1281,8 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) if (nz==nzmax) then dynamics%ke_drag_xVEL(:,elem) = usum*dynamics%ke_drag(:,elem)/2.0_WP end if - END DO - end if + end do ! --> do nz=nzmin, nzmax + end if ! --> if (dynamics%ldiag_ke) then !___________________________________________________________________ ! finalize horizontal transport by making vertically integrated @@ -1226,24 +1292,30 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! mode solver in FESOM2, ! U_k^(n+1/2) = U^(n+1/2,**) ! + [<>^(n+1/2) - sum(k, U_k^(n+1/2,**)] * h_k^(n+1/2)/sum(k,h_k^(n+1/2)) - DO nz=nzmin, nzmax + do nz=nzmin, nzmax !PS UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv !PS UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv UVh(1, nz, elem)= UVh(1, nz, elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv UVh(2, nz, elem)= UVh(2, nz, elem) + UV_rhs(2, nz, elem) + (UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) - end do - end do + end do ! --> do nz=nzmin, nzmax + end do ! --> do elem=1, myDim_elem2D +!$OMP END PARALLEL DO !_______________________________________________________________________ +!$OMP MASTER call exchange_elem(UVh, partit) ! This exchange can be avoided, but test first. call exchange_elem(UV, partit) +!$OMP END MASTER +!$OMP BARRIER !___________________________________________________________________________ ! Trim to make velocity consistent with BT velocity at n+1/2 ! Velocity will be used to advance momentum - else + else +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax, ubar, vbar, hh_inv) +!$OMP DO do elem=1, myDim_elem2D nzmin = ulevels(elem) nzmax = nlevels(elem)-1 @@ -1267,10 +1339,14 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection end do end do - !___________________________________________________________________ +!$OMP END PARALLEL DO + + !_______________________________________________________________________ +!$OMP MASTER call exchange_elem(UVh, partit) ! call exchange_elem(UV , partit) ! Check if this is needed - +!$OMP END MASTER +!$OMP BARRIER end if ! --> if (mode==1) then end subroutine update_trim_vel_ale_vtransp ! @@ -1302,6 +1378,8 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) !___________________________________________________________________________ ! leave bottom layer again untouched +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(node, nz, nzmin, nzmax, hh_inv) +!$OMP DO do node=1, myDim_nod2D+eDim_nod2D nzmin = ulevels_nod2D(node) nzmax = nlevels_nod2D_min(node)-1 @@ -1309,10 +1387,13 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) do nz=nzmin, nzmax-1 hnode_new(nz,node)=(zbar(nz)-zbar(nz+1))*(1.0_WP+hh_inv*eta_n(node)) end do - end do + end do ! --> do node=1, myDim_nod2D+eDim_nod2D +!$OMP END PARALLEL DO !___________________________________________________________________________ ! --> update mean layer thinkness at element +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, nz, nzmin, nzmax) +!$OMP DO do elem=1, myDim_elem2D nzmin = ulevels(elem) nzmax = nlevels(elem)-1 @@ -1321,7 +1402,7 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP end do end do - +!$OMP END PARALLEL DO end subroutine compute_thickness_zstar diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index d0fb21572..998f2c35d 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -509,6 +509,14 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) dynamics%se_uvBT_theta = 0.0_WP dynamics%se_uvBT_mean = 0.0_WP dynamics%se_uvBT_12 = 0.0_WP + if (dynamics%splitexpl_visc) then + allocate(dynamics%se_uvBT_stab_hvisc(2, elem_size)) + dynamics%se_uvBT_stab_hvisc = 0.0_WP + end if + if (dynamics%splitexpl_bottdrag) then + allocate(dynamics%se_uvBT_stab_bdrag(elem_size)) + dynamics%se_uvBT_stab_bdrag = 0.0_WP + end if else allocate(dynamics%d_eta( node_size)) allocate(dynamics%ssh_rhs( node_size)) From 1c71839db3443409ebab5f5bf187d00b06b06e4d Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 14 Sep 2023 16:35:38 +0200 Subject: [PATCH 054/273] fix OMP bug? --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 0c069ffae..03a360be0 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -884,7 +884,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !$OMP END ORDERED #endif end do ! --> do edge=1, myDim_edge2D+eDim_edge2D -!$OMP END DO +!$OMP END PARALLEL DO end if ! --> if (dynamics%splitexpl_visc) then !___________________________________________________________________________ From 1dd2eaa20ae65e70e85a36faaa6f0948941511d4 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 14 Sep 2023 16:45:02 +0200 Subject: [PATCH 055/273] fix OMP bug? --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 29 ++++++++++++++++++--------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 03a360be0..1a7cdc36f 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -884,7 +884,8 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !$OMP END ORDERED #endif end do ! --> do edge=1, myDim_edge2D+eDim_edge2D -!$OMP END PARALLEL DO +!$OMP END DO +!$OMP END PARALLEL end if ! --> if (dynamics%splitexpl_visc) then !___________________________________________________________________________ @@ -901,7 +902,8 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) UVBT_rhs(1, elem)=UVBT_rhs(1, elem) + bottomdrag(elem)*UVBT(1, elem)/hh UVBT_rhs(2, elem)=UVBT_rhs(2, elem) + bottomdrag(elem)*UVBT(2, elem)/hh end do -!$OMP END PARALLEL DO +!$OMP END DO +!$OMP END PARALLEL end if ! --> if (dynamics%splitexpl_bottdrag) then !___________________________________________________________________________ @@ -978,7 +980,8 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !$OMP END ORDERED #endif end do ! --> do edge=1, myDim_edge2D+eDim_edge2D -!$OMP END PARALLEL DO +!$OMP END DO +!$OMP END PARALLEL end if ! -> if (dynamics%splitexpl_visc) then !_______________________________________________________________________ @@ -1082,7 +1085,8 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) UVBT_mean( 2, elem) = UVBT_mean( 2, elem) + UVBT_theta(2, elem)*BT_inv end do -!$OMP END PARALLEL DO +!$OMP END DO +!$OMP END PARALLEL !_______________________________________________________________________ !$OMP MASTER @@ -1141,7 +1145,8 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !$OMP END ORDERED #endif end do -!$OMP END PARALLEL DO +!$OMP END DO +!$OMP END PARALLEL !_______________________________________________________________________ ! Apply freshwater boundary condition @@ -1236,7 +1241,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) hh_inv= hh_inv+helem(nz,elem) end do ! --> do nz=nzmin, nzmax hh_inv=1.0_WP/hh_inv - + !___________________________________________________________________ if (dynamics%ldiag_ke) then do nz=nzmin, nzmax @@ -1301,7 +1306,8 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) end do ! --> do nz=nzmin, nzmax end do ! --> do elem=1, myDim_elem2D -!$OMP END PARALLEL DO +!$OMP END DO +!$OMP END PARALLEL !_______________________________________________________________________ !$OMP MASTER @@ -1339,7 +1345,8 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection end do end do -!$OMP END PARALLEL DO +!$OMP END DO +!$OMP END PARALLEL !_______________________________________________________________________ !$OMP MASTER @@ -1388,7 +1395,8 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) hnode_new(nz,node)=(zbar(nz)-zbar(nz+1))*(1.0_WP+hh_inv*eta_n(node)) end do end do ! --> do node=1, myDim_nod2D+eDim_nod2D -!$OMP END PARALLEL DO +!$OMP END DO +!$OMP END PARALLEL !___________________________________________________________________________ ! --> update mean layer thinkness at element @@ -1402,7 +1410,8 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP end do end do -!$OMP END PARALLEL DO +!$OMP END DO +!$OMP END PARALLEL end subroutine compute_thickness_zstar From b025d82cb56b3eaba925b210af18d59e29846876 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 14 Sep 2023 17:00:19 +0200 Subject: [PATCH 056/273] fix OMP bug? --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 1a7cdc36f..e4542ab7d 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -705,10 +705,7 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) !___________________________________________________________________________ !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, nz, nzmin, nzmax, & -!$OMP Fx, Fy, hh, & -!$OMP vert_sum_u, vert_sum_v, hh) - - !___________________________________________________________________________ +!$OMP Fx, Fy, hh, vert_sum_u, vert_sum_v) !$OMP DO do elem=1, myDim_elem2D elnodes= elem2D_nodes(:,elem) From 1b14331f6adee4d13c6a8e64eae598bbb4ba27aa Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 14 Sep 2023 17:11:24 +0200 Subject: [PATCH 057/273] fix OMP bug? --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index e4542ab7d..7caed87b9 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -791,8 +791,8 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !___________________________________________________________________________ real(kind=WP) :: dtBT, BT_inv, hh, ff, rx, ry, a, b, d, c1, c2, ax, ay real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, thetaBT - integer :: step, elem, edge, node, elnodes(3), ednodes(2), edelem(2) - real(kind=WP) :: update_ubt, update_vbt, vi, len, nzmax + integer :: step, elem, edge, node, elnodes(3), ednodes(2), edelem(2), nzmax + real(kind=WP) :: update_ubt, update_vbt, vi, len !___________________________________________________________________________ ! pointer on necessary derived types From 32af1988cb44c3a4f83f5f5798e9164544d76554 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 14 Sep 2023 17:37:14 +0200 Subject: [PATCH 058/273] fix OMP bug? --- src/oce_ale.F90 | 133 +++++++++++++++++++++++++++++------------------- 1 file changed, 81 insertions(+), 52 deletions(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index dc72d7c16..e71a891b6 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -2638,9 +2638,7 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) type(t_mesh) , intent(inout), target :: mesh integer :: node, elem, nz, ed, nzmin, nzmax, ednodes(2), edelem(2) real(kind=WP) :: hh_inv, deltaX1, deltaX2, deltaY1, deltaY2 - real(kind=WP) :: e1c1(mesh%nl-1), e1c2(mesh%nl-1) - real(kind=WP) :: e2c1(mesh%nl-1), e2c2(mesh%nl-1) - + real(kind=WP) :: c1(mesh%nl-1), c2(mesh%nl-1) !___________________________________________________________________________ ! pointer on necessary derived types @@ -2659,11 +2657,19 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) end if !___________________________________________________________________________ +!$OMP PARALLEL DO do node=1, myDim_nod2D+eDim_nod2D Wvel(:, node)=0.0_WP + if (Fer_GM) then + fer_Wvel(:, node)=0.0_WP + end if end do ! --> do node=1, myDim_nod2D+eDim_nod2D - +!$OMP END PARALLEL DO + !___________________________________________________________________________ +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(ed, ednodes, edelem, nz, nzmin, nzmax, & +!$OMP deltaX1, deltaY1, deltaX2, deltaY2, c1, c2) +!$OMP DO do ed=1, myDim_edge2D ! local indice of nodes that span up edge ed ednodes=edges(:,ed) @@ -2686,87 +2692,102 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) ! --> h * u_vec * n_vec ! --> e_vec = (dx,dy), n_vec = (-dy,dx); ! --> h * u*(-dy) + v*dx - e1c1(nz)=( UVh(2, nz, edelem(1))*deltaX1 - UVh(1, nz, edelem(1))*deltaY1 ) + c1(nz)=( UVh(2, nz, edelem(1))*deltaX1 - UVh(1, nz, edelem(1))*deltaY1 ) ! inflow(outflow) "flux" to control volume of node enodes1 ! is equal to outflow(inflow) "flux" to control volume of node enodes2 end do ! --> do nz=nzmax,nzmin,-1 - Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e1c1(nzmin:nzmax) - Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e1c1(nzmin:nzmax) - if (Fer_GM) then do nz = nzmax, nzmin, -1 - e1c2(nz)=(fer_UV(2, nz, edelem(1))*deltaX1 - fer_UV(1, nz, edelem(1))*deltaY1)*helem(nz, edelem(1)) - end do ! --> do nz=nzmax,nzmin,-1 - fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e1c2(nzmin:nzmax) - fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e1c2(nzmin:nzmax) + c2(nz)=(fer_UV(2, nz, edelem(1))*deltaX1 - fer_UV(1, nz, edelem(1))*deltaY1)*helem(nz, edelem(1)) + end do + end if +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock (partit%plock(ednodes(1))) +#else +!$OMP ORDERED +#endif + Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+c1(nzmin:nzmax) + if (Fer_GM) then + fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+c2(nzmin:nzmax) + end if +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(1))) + call omp_set_lock (partit%plock(ednodes(2))) +#endif + Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-c1(nzmin:nzmax) + if (Fer_GM) then + fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-c2(nzmin:nzmax) end if +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(2))) +#else +!$OMP END ORDERED +#endif !_______________________________________________________________________ ! if ed is not a boundary edge --> calc div(u_vec*h) for every layer ! for edelem(2) - e2c1 = 0.0_WP - e2c2 = 0.0_WP + c1 = 0.0_WP + c2 = 0.0_WP if(edelem(2)>0)then deltaX2=edge_cross_dxdy(3,ed) deltaY2=edge_cross_dxdy(4,ed) nzmin = ulevels(edelem(2)) nzmax = nlevels(edelem(2))-1 do nz = nzmax, nzmin, -1 - e2c1(nz)=-(UVh(2, nz, edelem(2))*deltaX2 - UVh(1, nz, edelem(2))*deltaY2) + c1(nz)=-(UVh(2, nz, edelem(2))*deltaX2 - UVh(1, nz, edelem(2))*deltaY2) end do ! --> do nz=nzmax,nzmin,-1 - Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+e2c1(nzmin:nzmax) - Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-e2c1(nzmin:nzmax) - if (Fer_GM) then do nz = nzmax, nzmin, -1 - e2c2(nz)=-(fer_UV(2, nz, edelem(2))*deltaX2-fer_UV(1, nz, edelem(2))*deltaY2)*helem(nz, edelem(2)) + c2(nz)=-(fer_UV(2, nz, edelem(2))*deltaX2-fer_UV(1, nz, edelem(2))*deltaY2)*helem(nz, edelem(2)) end do ! --> do nz=nzmax,nzmin,-1 - fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+e2c2(nzmin:nzmax) - fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-e2c2(nzmin:nzmax) end if - end if +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock (partit%plock(ednodes(1))) +#else +!$OMP ORDERED +#endif + Wvel(nzmin:nzmax, ednodes(1))= Wvel(nzmin:nzmax, ednodes(1))+c1(nzmin:nzmax) + if (Fer_GM) then + fer_Wvel(nzmin:nzmax, ednodes(1))= fer_Wvel(nzmin:nzmax, ednodes(1))+c2(nzmin:nzmax) + end if +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(1))) + call omp_set_lock (partit%plock(ednodes(2))) +#endif + Wvel(nzmin:nzmax, ednodes(2))= Wvel(nzmin:nzmax, ednodes(2))-c1(nzmin:nzmax) + if (Fer_GM) then + fer_Wvel(nzmin:nzmax, ednodes(2))= fer_Wvel(nzmin:nzmax, ednodes(2))-c2(nzmin:nzmax) + end if +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(2))) +#else +!$OMP END ORDERED +#endif + end if !--> if(edelem(2)>0)then - !_______________________________________________________________________ -!PS if ( any(Wvel(nzmin:nzmax, ednodes(1))/=Wvel(nzmin:nzmax, ednodes(1))) .or. & -!PS any(Wvel(nzmin:nzmax, ednodes(2))/=Wvel(nzmin:nzmax, ednodes(2)))) then -!PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after div_H(...)' -!PS write(*,*) ' mype =', mype -!PS write(*,*) ' edge =', ed -!PS write(*,*) ' enodes =', enodes -!PS write(*,*) ' Wvel(nzmin:nzmax, enodes(1))=', Wvel(nzmin:nzmax, ednodes(1)) -!PS write(*,*) ' Wvel(nzmin:nzmax, enodes(2))=', Wvel(nzmin:nzmax, ednodes(2)) -!PS write(*,*) ' e1c1', e1c1(nzmin:nzmax) -!PS write(*,*) ' e1c2', e1c2(nzmin:nzmax) -!PS write(*,*) ' e2c1', e2c1(nzmin:nzmax) -!PS write(*,*) ' e2c2', e2c2(nzmin:nzmax) -!PS end if end do ! --> do ed=1, myDim_edge2D - +!$OMP END DO +!$OMP END PARALLEL + !___________________________________________________________________________ ! add the contribution from -dh/dt * area +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(node, nz, nzmin, nzmax) do node=1, myDim_nod2D nzmin = ulevels_nod2D(node) nzmax = nlevels_nod2d(node)-1 do nz=nzmax,nzmin,-1 Wvel(nz, node)=Wvel(nz, node)-(hnode_new(nz, node)-hnode(nz, node))*area(nz, node)/dt end do ! --> do nz=nzmax,nzmin,-1 - - !_______________________________________________________________________ -!PS if ( any(Wvel(nzmin:nzmax, node)/=Wvel(nzmin:nzmax, node))) then -!PS write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after +dhnode/dt=W' -!PS write(*,*) ' mype =', mype -!PS write(*,*) ' node =', node -!PS write(*,*) ' Wvel( nzmin:nzmax, node)=', Wvel(nzmin:nzmax, node) -!PS write(*,*) ' hnode_new(nzmin:nzmax, node)=', hnode_new(nzmin:nzmax, node) -!PS write(*,*) ' hnode( nzmin:nzmax, node)=', hnode(nzmin:nzmax, node) -!PS end if end do ! --> do node=1, myDim_nod2D - +!$OMP END PARALLEL DO + !___________________________________________________________________________ ! Sum up to get W*area ! cumulative summation of div(u_vec*h) vertically ! W_k = W_k+1 - div(h_k*u_k) ! W_k ... vertical flux troughdo node=1, myDim_nod2D +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(node, nz, nzmin, nzmax) do node=1, myDim_nod2D nzmin = ulevels_nod2D(node) nzmax = nlevels_nod2d(node)-1 @@ -2777,10 +2798,12 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) end if end do ! --> do nz=nzmax,nzmin,-1 end do ! --> do node=1, myDim_nod2D - +!$OMP END PARALLEL DO + !___________________________________________________________________________ ! divide with depth dependent cell area to convert from Vertical flux to ! physical vertical velocities in units m/s +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(node, nz, nzmin, nzmax) do node=1, myDim_nod2D nzmin = ulevels_nod2D(node) nzmax = nlevels_nod2d(node)-1 @@ -2791,21 +2814,27 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) end if end do ! --> do nz=nzmax,nzmin,-1 end do ! --> do node=1, myDim_nod2D - +!$OMP END PARALLEL DO + !___________________________________________________________________________ ! Add surface fresh water flux as upper boundary condition for ! continutity if (.not. (trim(which_ale)=='linfs' )) then +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(node, nzmin) do node=1, myDim_nod2D nzmin = ulevels_nod2D(node) if (nzmin==1) Wvel(nzmin, node)=Wvel(nzmin, node)-water_flux(node) end do ! --> do node=1, myDim_nod2D end if - +!$OMP END PARALLEL DO + !___________________________________________________________________________ +!$OMP MASTER call exchange_nod(Wvel, partit) if (Fer_GM) call exchange_nod(fer_Wvel, partit) - +!$OMP END MASTER +!$OMP BARRIER + !___________________________________________________________________________ ! compute vertical CFL_z criteria call compute_CFLz(dynamics, partit, mesh) From 11549ae9cdf22dac388126387a917987c427c865 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 15 Sep 2023 10:39:19 +0200 Subject: [PATCH 059/273] return to c1 and c2 varaibles --- src/oce_ale.F90 | 63 +++++++++++++------------------------------------ 1 file changed, 16 insertions(+), 47 deletions(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index e71a891b6..778ae8134 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -2038,7 +2038,7 @@ subroutine vert_vel_ale(dynamics, partit, mesh) integer :: el(2), enodes(2), n, nz, ed, nzmin, nzmax, uln1, uln2, nln1, nln2 real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, dd, dd1, dddt, cflmax ! still to be understood but if you allocate these arrays statically the results will be different: - real(kind=WP) :: e1c1(mesh%nl-1), e1c2(mesh%nl-1), e2c1(mesh%nl-1), e2c2(mesh%nl-1) + real(kind=WP) :: c1(mesh%nl-1), c2(mesh%nl-1) ! --> zlevel with local zstar real(kind=WP) :: dhbar_total, dhbar_rest, distrib_dhbar_int real(kind=WP), dimension(:), allocatable :: max_dhbar2distr, cumsum_maxdhbar, distrib_dhbar @@ -2107,11 +2107,11 @@ subroutine vert_vel_ale(dynamics, partit, mesh) ! --> h * u_vec * n_vec ! --> e_vec = (dx,dy), n_vec = (-dy,dx); ! --> h * u*(-dy) + v*dx - e1c1(nz)=( UV(2,nz,el(1))*deltaX1 - UV(1,nz,el(1))*deltaY1 )*helem(nz,el(1)) + c1(nz)=( UV(2,nz,el(1))*deltaX1 - UV(1,nz,el(1))*deltaY1 )*helem(nz,el(1)) ! inflow(outflow) "flux" to control volume of node enodes1 ! is equal to outflow(inflow) "flux" to control volume of node enodes2 if (Fer_GM) then - e1c2(nz)=(fer_UV(2,nz,el(1))*deltaX1- fer_UV(1,nz,el(1))*deltaY1)*helem(nz,el(1)) + c2(nz)=(fer_UV(2,nz,el(1))*deltaX1- fer_UV(1,nz,el(1))*deltaY1)*helem(nz,el(1)) end if end do #if defined(_OPENMP) && !defined(__openmp_reproducible) @@ -2119,17 +2119,17 @@ subroutine vert_vel_ale(dynamics, partit, mesh) #else !$OMP ORDERED #endif - Wvel (nzmin:nzmax, enodes(1))= Wvel (nzmin:nzmax, enodes(1))+e1c1(nzmin:nzmax) + Wvel (nzmin:nzmax, enodes(1))= Wvel (nzmin:nzmax, enodes(1))+c1(nzmin:nzmax) if (Fer_GM) then - fer_Wvel(nzmin:nzmax, enodes(1))= fer_Wvel(nzmin:nzmax, enodes(1))+e1c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, enodes(1))= fer_Wvel(nzmin:nzmax, enodes(1))+c2(nzmin:nzmax) end if #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(enodes(1))) call omp_set_lock (partit%plock(enodes(2))) #endif - Wvel (nzmin:nzmax, enodes(2))= Wvel (nzmin:nzmax, enodes(2))-e1c1(nzmin:nzmax) + Wvel (nzmin:nzmax, enodes(2))= Wvel (nzmin:nzmax, enodes(2))-c1(nzmin:nzmax) if (Fer_GM) then - fer_Wvel(nzmin:nzmax, enodes(2))= fer_Wvel(nzmin:nzmax, enodes(2))-e1c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, enodes(2))= fer_Wvel(nzmin:nzmax, enodes(2))-c2(nzmin:nzmax) end if #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(enodes(2))) @@ -2139,73 +2139,42 @@ subroutine vert_vel_ale(dynamics, partit, mesh) !_______________________________________________________________________ ! if ed is not a boundary edge --> calc div(u_vec*h) for every layer ! for el(2) - e2c1 = 0.0_WP - e2c2 = 0.0_WP + c1 = 0.0_WP + c2 = 0.0_WP if(el(2)>0)then deltaX2=edge_cross_dxdy(3,ed) deltaY2=edge_cross_dxdy(4,ed) nzmin = ulevels(el(2)) nzmax = nlevels(el(2))-1 do nz = nzmax, nzmin, -1 - e2c1(nz)=-(UV(2,nz,el(2))*deltaX2 - UV(1,nz,el(2))*deltaY2)*helem(nz,el(2)) + c1(nz)=-(UV(2,nz,el(2))*deltaX2 - UV(1,nz,el(2))*deltaY2)*helem(nz,el(2)) if (Fer_GM) then - e2c2(nz)=-(fer_UV(2,nz,el(2))*deltaX2-fer_UV(1,nz,el(2))*deltaY2)*helem(nz,el(2)) + c2(nz)=-(fer_UV(2,nz,el(2))*deltaX2-fer_UV(1,nz,el(2))*deltaY2)*helem(nz,el(2)) end if - - !_______________________________________________________________ - if ( e2c1(nz)/=e2c1(nz) ) then - write(*,*) ' --> subroutine vert_vel_ale --> found Nan in e2c1(nz)' - write(*,*) ' mype =', mype - write(*,*) ' edge =', ed - write(*,*) ' el =', el - write(*,*) ' nz =', nz - write(*,*) ' e2c1(nz) =', e2c1(nz) - write(*,*) ' UV(1,nz,el(2)) =', UV(1,nz,el(2)) - write(*,*) ' UV(2,nz,el(2)) =', UV(2,nz,el(2)) - write(*,*) ' helem(nz,el(2))=', helem(nz,el(2)) - - end if end do #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_set_lock (partit%plock(enodes(1))) #else !$OMP ORDERED #endif - Wvel (nzmin:nzmax, enodes(1))= Wvel (nzmin:nzmax, enodes(1))+e2c1(nzmin:nzmax) + Wvel (nzmin:nzmax, enodes(1))= Wvel (nzmin:nzmax, enodes(1))+c1(nzmin:nzmax) if (Fer_GM) then - fer_Wvel(nzmin:nzmax, enodes(1))= fer_Wvel(nzmin:nzmax, enodes(1))+e2c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, enodes(1))= fer_Wvel(nzmin:nzmax, enodes(1))+c2(nzmin:nzmax) end if #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(enodes(1))) call omp_set_lock (partit%plock(enodes(2))) #endif - Wvel (nzmin:nzmax, enodes(2))= Wvel (nzmin:nzmax, enodes(2))-e2c1(nzmin:nzmax) + Wvel (nzmin:nzmax, enodes(2))= Wvel (nzmin:nzmax, enodes(2))-c1(nzmin:nzmax) if (Fer_GM) then - fer_Wvel(nzmin:nzmax, enodes(2))= fer_Wvel(nzmin:nzmax, enodes(2))-e2c2(nzmin:nzmax) + fer_Wvel(nzmin:nzmax, enodes(2))= fer_Wvel(nzmin:nzmax, enodes(2))-c2(nzmin:nzmax) end if #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(enodes(2))) #else !$OMP END ORDERED #endif - end if - - !_______________________________________________________________________ - if ( any(Wvel(nzmin:nzmax, enodes(1))/=Wvel(nzmin:nzmax, enodes(1))) .or. & - any(Wvel(nzmin:nzmax, enodes(2))/=Wvel(nzmin:nzmax, enodes(2)))) then - write(*,*) ' --> subroutine vert_vel_ale --> found Nan in Wvel after div_H(...)' - write(*,*) ' mype =', mype - write(*,*) ' edge =', ed - write(*,*) ' enodes =', enodes - write(*,*) ' Wvel(nzmin:nzmax, enodes(1))=', Wvel(nzmin:nzmax, enodes(1)) - write(*,*) ' Wvel(nzmin:nzmax, enodes(2))=', Wvel(nzmin:nzmax, enodes(2)) - write(*,*) ' e1c1', e1c1(nzmin:nzmax) - write(*,*) ' e1c2', e1c2(nzmin:nzmax) - write(*,*) ' e2c1', e2c1(nzmin:nzmax) - write(*,*) ' e2c2', e2c2(nzmin:nzmax) - - end if - + end if !~-> if(el(2)>0)then end do ! --> do ed=1, myDim_edge2D !$OMP END DO !$OMP END PARALLEL From cb078f75f77057c3e27d418464b9c2c4a41a270a Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 15 Sep 2023 10:45:54 +0200 Subject: [PATCH 060/273] fix another OMP issue --- src/oce_ale.F90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 778ae8134..09ad5cd05 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -2794,8 +2794,9 @@ subroutine compute_vert_vel_transpv(dynamics, partit, mesh) nzmin = ulevels_nod2D(node) if (nzmin==1) Wvel(nzmin, node)=Wvel(nzmin, node)-water_flux(node) end do ! --> do node=1, myDim_nod2D +!$OMP END PARALLEL DO end if -!$OMP END PARALLEL DO + !___________________________________________________________________________ !$OMP MASTER From 57256cfea1d0e0ee2a735f23ef014b9ecb33b222 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 15 Sep 2023 10:52:24 +0200 Subject: [PATCH 061/273] fix OMP issue --- src/write_step_info.F90 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/write_step_info.F90 b/src/write_step_info.F90 index 94421ac0f..e1c4d0393 100644 --- a/src/write_step_info.F90 +++ b/src/write_step_info.F90 @@ -109,7 +109,8 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) loc_deta =0. loc_dhbar =0. loc_wflux =0. - loc =0. + loc =0. + !_______________________________________________________________________ #if !defined(__openmp_reproducible) !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n) REDUCTION(+:loc_eta, loc_hbar, loc_deta, loc_dhbar, loc_wflux) @@ -123,10 +124,13 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) end if loc_wflux = loc_wflux + areasvol(ulevels_nod2D(n), n)*water_flux(n) end do - if (dynamics%use_ssh_splitexpl_subcycl) loc_deta=loc_dhbar #if !defined(__openmp_reproducible) !$OMP END PARALLEL DO #endif + if (dynamics%use_ssh_splitexpl_subcycl) then + loc_deta=loc_dhbar + end if + !_______________________________________________________________________ call MPI_AllREDUCE(loc_eta , int_eta , 1, MPI_DOUBLE_PRECISION, MPI_SUM, MPI_COMM_FESOM, MPIerr) call MPI_AllREDUCE(loc_hbar , int_hbar , 1, MPI_DOUBLE_PRECISION, MPI_SUM, MPI_COMM_FESOM, MPIerr) From 2898ca212b12dad868a0629fe18a9f7fddc08ef7 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 15 Sep 2023 11:40:32 +0200 Subject: [PATCH 062/273] rename splitexpl_* flag to shorter se_* --- config/namelist.dyn | 10 +++++++ src/MOD_DYN.F90 | 30 +++++++++---------- src/io_blowup.F90 | 2 +- src/io_meandata.F90 | 2 +- src/oce_ale.F90 | 20 ++++++------- src/oce_ale_ssh_splitexpl_subcycl.F90 | 42 +++++++++++++-------------- src/oce_ale_vel_rhs.F90 | 6 ++-- src/oce_dyn.F90 | 6 ++-- src/oce_setup_step.F90 | 42 +++++++++++++-------------- src/write_step_info.F90 | 22 +++++++------- 10 files changed, 96 insertions(+), 86 deletions(-) diff --git a/config/namelist.dyn b/config/namelist.dyn index 91816a5e4..4a598ee22 100644 --- a/config/namelist.dyn +++ b/config/namelist.dyn @@ -21,5 +21,15 @@ use_wsplit = .false. ! Switch for implicite/explicte splitting of vert. veloci wsplit_maxcfl= 1.0 ! maximum allowed CFL criteria in vertical (0.5 < w_max_cfl < 1.) ! in older FESOM it used to be w_exp_max=1.e-3 ldiag_KE=.false. ! activates energy diagnostics + +use_ssh_se_subcycl = .false. +se_BTsteps = 50 !50 +se_BTtheta = 0.14 ! default: 0.14, core2 stability plateu@ 0.37 +se_bottdrag = .true. +se_bdrag_si = .true. ! bottomdrag semi-implicite/explicite +se_visc = .true. +se_visc_gamma0 = 10 ! 150 +se_visc_gamma1 = 19500 ! 150 +se_visc_gamma2 = 0 / diff --git a/src/MOD_DYN.F90 b/src/MOD_DYN.F90 index 218f097ae..b7998f1aa 100644 --- a/src/MOD_DYN.F90 +++ b/src/MOD_DYN.F90 @@ -122,19 +122,19 @@ MODULE MOD_DYN real(kind=WP) :: wsplit_maxcfl = 1.0 ! switch between ssh computation, by solver or split explicite subcycling - ! use_ssh_splitexpl_subcycl = .false. --> solver - ! use_ssh_splitexpl_subcycl = .true. --> split explicite subcycling - logical :: use_ssh_splitexpl_subcycl = .false. + ! use_ssh_se_subcycl = .false. --> solver + ! use_ssh_se_subcycl = .true. --> split explicite subcycling + logical :: use_ssh_se_subcycl = .false. ! barotropic subcycling time-steps and dissipation parameter - integer :: splitexpl_BTsteps = 50 - real(kind=WP) :: splitexpl_BTtheta = 0.14_WP - logical :: splitexpl_bottdrag = .true. - logical :: splitexpl_bdrag_si = .true. - logical :: splitexpl_visc = .true. - real(kind=WP) :: splitexpl_visc_gamma0 = 10 - real(kind=WP) :: splitexpl_visc_gamma1 = 2750 - real(kind=WP) :: splitexpl_visc_gamma2 = 0 + integer :: se_BTsteps = 50 + real(kind=WP) :: se_BTtheta = 0.14_WP + logical :: se_bottdrag = .true. + logical :: se_bdrag_si = .true. + logical :: se_visc = .true. + real(kind=WP) :: se_visc_gamma0 = 10 + real(kind=WP) :: se_visc_gamma1 = 2750 + real(kind=WP) :: se_visc_gamma2 = 0 !___________________________________________________________________________ ! energy diagnostic part: will be computed inside the model ("hard integration"): @@ -266,7 +266,7 @@ subroutine WRITE_T_DYN(dynamics, unit, iostat, iomsg) write(unit, iostat=iostat, iomsg=iomsg) dynamics%use_freeslip write(unit, iostat=iostat, iomsg=iomsg) dynamics%use_wsplit write(unit, iostat=iostat, iomsg=iomsg) dynamics%wsplit_maxcfl - write(unit, iostat=iostat, iomsg=iomsg) dynamics%use_ssh_splitexpl_subcycl + write(unit, iostat=iostat, iomsg=iomsg) dynamics%use_ssh_se_subcycl !___________________________________________________________________________ call dynamics%solverinfo%WRITE_T_SOLVERINFO(unit) @@ -287,7 +287,7 @@ subroutine WRITE_T_DYN(dynamics, unit, iostat, iomsg) call write_bin_array(dynamics%fer_w , unit, iostat, iomsg) call write_bin_array(dynamics%fer_uv, unit, iostat, iomsg) end if - if (dynamics%use_ssh_splitexpl_subcycl) then + if (dynamics%use_ssh_se_subcycl) then call write_bin_array(dynamics%se_uvh , unit, iostat, iomsg) call write_bin_array(dynamics%se_uvBT_rhs , unit, iostat, iomsg) call write_bin_array(dynamics%se_uvBT_4AB , unit, iostat, iomsg) @@ -324,7 +324,7 @@ subroutine READ_T_DYN(dynamics, unit, iostat, iomsg) read(unit, iostat=iostat, iomsg=iomsg) dynamics%use_freeslip read(unit, iostat=iostat, iomsg=iomsg) dynamics%use_wsplit read(unit, iostat=iostat, iomsg=iomsg) dynamics%wsplit_maxcfl - read(unit, iostat=iostat, iomsg=iomsg) dynamics%use_ssh_splitexpl_subcycl + read(unit, iostat=iostat, iomsg=iomsg) dynamics%use_ssh_se_subcycl !___________________________________________________________________________ call dynamics%solverinfo%READ_T_SOLVERINFO(unit) @@ -345,7 +345,7 @@ subroutine READ_T_DYN(dynamics, unit, iostat, iomsg) call read_bin_array(dynamics%fer_w , unit, iostat, iomsg) call read_bin_array(dynamics%fer_uv , unit, iostat, iomsg) end if - if (dynamics%use_ssh_splitexpl_subcycl) then + if (dynamics%use_ssh_se_subcycl) then call read_bin_array(dynamics%se_uvh , unit, iostat, iomsg) call read_bin_array(dynamics%se_uvBT_rhs , unit, iostat, iomsg) call read_bin_array(dynamics%se_uvBT_4AB , unit, iostat, iomsg) diff --git a/src/io_blowup.F90 b/src/io_blowup.F90 index ec42e1067..4bd5245b0 100644 --- a/src/io_blowup.F90 +++ b/src/io_blowup.F90 @@ -105,7 +105,7 @@ subroutine ini_blowup_io(year, ice, dynamics, tracers, partit, mesh) !___ALE related fields______________________________________________________ call def_variable(bid, 'hbar' , (/nod2D/) , 'ALE surface elevation hbar_n+0.5', 'm', hbar); !!PS call def_variable(bid, 'hbar_old' , (/nod2D/) , 'ALE surface elevation hbar_n-0.5', 'm', hbar_old); - if (.not. dynamics%use_ssh_splitexpl_subcycl) then + if (.not. dynamics%use_ssh_se_subcycl) then call def_variable(bid, 'd_eta' , (/nod2D/) , 'change in ssh from solver', 'm', dynamics%d_eta); call def_variable(bid, 'ssh_rhs' , (/nod2D/) , 'RHS for the elevation', '?', dynamics%ssh_rhs); call def_variable(bid, 'ssh_rhs_old', (/nod2D/) , 'RHS for the elevation', '?', dynamics%ssh_rhs_old); diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 03d6906c1..2ba3c87f0 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -621,7 +621,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) !_______________________________________________________________________________ ! Split-Explicite subcycling varaibles CASE ('SPLIT-EXPL') - if (dynamics%use_ssh_splitexpl_subcycl) then + if (dynamics%use_ssh_se_subcycl) then call def_stream(elem2D, myDim_elem2D , 'ubt' , 'zonal barotrop. transport' , '?' , dynamics%se_uvBT(1,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream(elem2D, myDim_elem2D , 'vbt' , 'merid. barotrop. transport', '?' , dynamics%se_uvBT(2,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream(elem2D, myDim_elem2D , 'ubt_rhs', 'zonal barotrop. transport RHS' , '?' , dynamics%se_uvBT_rhs(1,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 09ad5cd05..7d83f28dd 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -2064,7 +2064,7 @@ subroutine vert_vel_ale(dynamics, partit, mesh) fer_Wvel=> dynamics%fer_w(:,:) end if - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then d_eta => dynamics%d_eta(:) ssh_rhs => dynamics%ssh_rhs(:) ssh_rhs_old => dynamics%ssh_rhs_old(:) @@ -2535,7 +2535,7 @@ subroutine vert_vel_ale(dynamics, partit, mesh) write(*,*) 'water_flux = ', water_flux(n) write(*,*) write(*,*) "eta_n = ", eta_n(n) - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then write(*,*) "d_eta = ", d_eta(n) write(*,*) "ssh_rhs = ", ssh_rhs(n) write(*,*) "ssh_rhs_old = ", ssh_rhs_old(n) @@ -3467,7 +3467,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) ! Energy diagnostic contribution if (dynamics%ldiag_ke) then ! if use solver - if (.not. dynamics%use_ssh_splitexpl_subcycl) then + if (.not. dynamics%use_ssh_se_subcycl) then !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) do elem=1, myDim_elem2D nzmax = nlevels(elem) @@ -3503,7 +3503,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) ! Energy diagnostic contribution if (dynamics%ldiag_ke) then ! if use solver - if (.not. dynamics%use_ssh_splitexpl_subcycl) then + if (.not. dynamics%use_ssh_se_subcycl) then !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) do elem=1, myDim_elem2D nzmax = nlevels(elem) @@ -3550,7 +3550,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call impl_vert_visc_ale'//achar(27)//'[0m' if(dynamics%use_ivertvisc) then - if ( .not. dynamics%use_ssh_splitexpl_subcycl ) then + if ( .not. dynamics%use_ssh_se_subcycl ) then call impl_vert_visc_ale(dynamics,partit, mesh) else call impl_vert_visc_ale_vtransp(dynamics, partit, mesh) @@ -3560,7 +3560,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ if (dynamics%ldiag_ke) then ! if use solver - if (.not. dynamics%use_ssh_splitexpl_subcycl) then + if (.not. dynamics%use_ssh_se_subcycl) then !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax) do elem=1, myDim_elem2D nzmax = nlevels(elem) @@ -3592,7 +3592,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) ! Compute SSH via solver ! Update stiffness matrix by dhe=hbar(n+1/2)-hbar(n-1/2) on elements, only ! needed for zlevel and zstar - if (.not. dynamics%use_ssh_splitexpl_subcycl) then + if (.not. dynamics%use_ssh_se_subcycl) then if (.not. trim(which_ale)=='linfs') call update_stiff_mat_ale(partit, mesh) if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call compute_ssh_rhs_ale'//achar(27)//'[0m' ! ssh_rhs=-alpha*\nabla\int(U_n+U_rhs)dz-(1-alpha)*... @@ -3658,7 +3658,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) call update_trim_vel_ale_vtransp(1, dynamics, partit, mesh) t4=MPI_Wtime() t5=t4 - end if ! --> if (.not. dynamics%use_ssh_splitexpl_subcycl) then + end if ! --> if (.not. dynamics%use_ssh_se_subcycl) then !___________________________________________________________________________ ! Do horizontal and vertical scaling of GM/Redi diffusivity @@ -3689,7 +3689,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) ! The main step of ALE procedure --> this is were the magic happens --> here ! is decided how change in hbar is distributed over the vertical layers if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call vert_vel_ale'//achar(27)//'[0m' - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then call vert_vel_ale(dynamics, partit, mesh) else if (trim(which_ale)=='zstar' ) then @@ -3723,7 +3723,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! Trim to make velocity consistent with BT velocity at n+1/2 ! Velocity will be used to advance momentum - if (dynamics%use_ssh_splitexpl_subcycl) then + if (dynamics%use_ssh_se_subcycl) then call update_trim_vel_ale_vtransp(2, dynamics, partit, mesh) end if diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 7caed87b9..9f5a92b57 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -809,22 +809,22 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) UVBT_theta=>dynamics%se_uvBT_theta(:,:) UVBT_mean =>dynamics%se_uvBT_mean(:,:) UVBT_12 =>dynamics%se_uvBT_12(:,:) - if (dynamics%splitexpl_bottdrag) then + if (dynamics%se_bottdrag) then UV =>dynamics%uv(:,:,:) bottomdrag =>dynamics%se_uvBT_stab_bdrag(:) end if - if (dynamics%splitexpl_visc) then + if (dynamics%se_visc) then UVBT_harmvisc=>dynamics%se_uvBT_stab_hvisc(:,:) end if !___________________________________________________________________________ ! Dissipation parameter of FB dissipative method 0.14 is the default value ! from Demange et al. - thetaBT= dynamics%splitexpl_BTtheta + thetaBT= dynamics%se_BTtheta ! BTsteps should be 30 or 40. - dtBT = dt/dynamics%splitexpl_BTsteps - BT_inv = 1.0_WP/(1.0_WP*dynamics%splitexpl_BTsteps) + dtBT = dt/dynamics%se_BTsteps + BT_inv = 1.0_WP/(1.0_WP*dynamics%se_BTsteps) !___SPLIT-EXPLICITE STABILIZATION___________________________________________ ! trim R (UVBT_rhs): @@ -834,7 +834,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! compute_BT_step_SE_ale) ! --> use only harmonmic viscosity operator applied to the barotropic ! velocity - if (dynamics%splitexpl_visc) then + if (dynamics%se_visc) then !_______________________________________________________________________ ! remove viscosity !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, edelem, nzmax, hh, len, & @@ -854,9 +854,9 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) update_ubt=(UVBT(1, edelem(1))-UVBT(1, edelem(2)))/hh update_vbt=(UVBT(2, edelem(1))-UVBT(2, edelem(2)))/hh vi=update_ubt*update_ubt + update_vbt*update_vbt - vi=-dt*sqrt(max(dynamics%splitexpl_visc_gamma0, & - max(dynamics%splitexpl_visc_gamma1*sqrt(vi), & - dynamics%splitexpl_visc_gamma2*vi) & + vi=-dt*sqrt(max(dynamics%se_visc_gamma0, & + max(dynamics%se_visc_gamma1*sqrt(vi), & + dynamics%se_visc_gamma2*vi) & )*len) update_ubt=update_ubt*vi update_vbt=update_vbt*vi @@ -883,11 +883,11 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) end do ! --> do edge=1, myDim_edge2D+eDim_edge2D !$OMP END DO !$OMP END PARALLEL - end if ! --> if (dynamics%splitexpl_visc) then + end if ! --> if (dynamics%se_visc) then !___________________________________________________________________________ ! remove bottom drag - if (dynamics%splitexpl_bottdrag) then + if (dynamics%se_bottdrag) then !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, nzmax, hh) !$OMP DO do elem=1, myDim_elem2D @@ -901,7 +901,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) end do !$OMP END DO !$OMP END PARALLEL - end if ! --> if (dynamics%splitexpl_bottdrag) then + end if ! --> if (dynamics%se_bottdrag) then !___________________________________________________________________________ ! initialise UVBT_mean with zeros --> OMP style @@ -914,14 +914,14 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !___________________________________________________________________________ ! eta_n elevation used in BT stepping, it is just a copy of eta_n ! UBT and VBT are transport velocities - do step=1, dynamics%splitexpl_BTsteps + do step=1, dynamics%se_BTsteps !####################################################################### !########## Dissipative forward--backward time stepping ########## !####################################################################### !_______________________________________________________________________ ! compute harmonic viscosity for stability - if (dynamics%splitexpl_visc) then + if (dynamics%se_visc) then !___________________________________________________________________ ! initialise UVBT_harmvisc with zeros --> OMP style @@ -950,9 +950,9 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) update_ubt=(UVBT(1, edelem(1))-UVBT(1, edelem(2)))/hh update_vbt=(UVBT(2, edelem(1))-UVBT(2, edelem(2)))/hh vi=update_ubt*update_ubt + update_vbt*update_vbt - vi=dt*sqrt(max(dynamics%splitexpl_visc_gamma0, & - max(dynamics%splitexpl_visc_gamma1*sqrt(vi), & - dynamics%splitexpl_visc_gamma2*vi) & + vi=dt*sqrt(max(dynamics%se_visc_gamma0, & + max(dynamics%se_visc_gamma1*sqrt(vi), & + dynamics%se_visc_gamma2*vi) & )*len) update_ubt=update_ubt*vi update_vbt=update_vbt*vi @@ -979,7 +979,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) end do ! --> do edge=1, myDim_edge2D+eDim_edge2D !$OMP END DO !$OMP END PARALLEL - end if ! -> if (dynamics%splitexpl_visc) then + end if ! -> if (dynamics%se_visc) then !_______________________________________________________________________ ! Advance velocities. I use SI stepping for the Coriolis @@ -1046,7 +1046,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! ! Semi-Implicit Coriolis a = dtBT*ff*0.5_WP - if (dynamics%splitexpl_bdrag_si) then + if (dynamics%se_bdrag_si) then b = 1.0_WP+BT_inv*bottomdrag(elem)/hh else b = 1.0_WP @@ -1094,7 +1094,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !_______________________________________________________________________ ! Store mid-step velocity (to trim 3D velocities in momentum) - if(step==dynamics%splitexpl_BTsteps/2) then + if(step==dynamics%se_BTsteps/2) then UVBT_12=UVBT end if @@ -1161,7 +1161,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !$OMP END MASTER !$OMP BARRIER - end do ! --> do step=1, dynamics%splitexpl_BTsteps + end do ! --> do step=1, dynamics%se_BTsteps !___________________________________________________________________________ hbar_old = hbar diff --git a/src/oce_ale_vel_rhs.F90 b/src/oce_ale_vel_rhs.F90 index 261d82a4f..7efade82c 100644 --- a/src/oce_ale_vel_rhs.F90 +++ b/src/oce_ale_vel_rhs.F90 @@ -82,7 +82,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) inv_rhowat=> ice%thermo%inv_rhowat ! if split-explicite ssh subcycling is used - if (dynamics%use_ssh_splitexpl_subcycl) then + if (dynamics%use_ssh_se_subcycl) then UVh => dynamics%se_uvh UVBT_4AB => dynamics%se_uvBT_4AB end if @@ -160,7 +160,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) !_______________________________________________________________________ ! when ssh split-explicite subcycling method is setted use transport velocities ! u*h, v*h instead of u,v - if (.not. dynamics%use_ssh_splitexpl_subcycl) then + if (.not. dynamics%use_ssh_se_subcycl) then do nz=nzmin, nzmax-1 ! add pressure gradient terms UV_rhs( 1, nz, elem) = UV_rhs(1, nz, elem) + (Fx-pgf_x(nz, elem))*elem_area(elem) @@ -216,7 +216,7 @@ subroutine compute_vel_rhs(ice, dynamics, partit, mesh) if (mype==0) write(*,*) 'in moment not adapted mom_adv advection typ for ALE, check your namelist' call par_ex(partit%MPI_COMM_FESOM, partit%mype, 1) elseif (dynamics%momadv_opt==2) then - if (.not. dynamics%use_ssh_splitexpl_subcycl) then + if (.not. dynamics%use_ssh_se_subcycl) then call momentum_adv_scalar(dynamics, partit, mesh) else call momentum_adv_scalar_transpv(dynamics, partit, mesh) diff --git a/src/oce_dyn.F90 b/src/oce_dyn.F90 index db6bf24d8..92b3b099b 100755 --- a/src/oce_dyn.F90 +++ b/src/oce_dyn.F90 @@ -406,7 +406,7 @@ SUBROUTINE visc_filt_bcksct(dynamics, partit, mesh) nzmin = ulevels(ed) nzmax = nlevels(ed) !_______________________________________________________________________ - if (dynamics%use_ssh_splitexpl_subcycl) then + if (dynamics%use_ssh_se_subcycl) then !SD Approximate update for transports. We do not care about accuracy !SD here. --> of course, helem will be better. Do nz=nzmin, nzmax-1 @@ -539,7 +539,7 @@ SUBROUTINE visc_filt_bilapl(dynamics, partit, mesh) nzmin = maxval(ulevels(el)) nzmax = minval(nlevels(el)) !_______________________________________________________________________ - if (dynamics%use_ssh_splitexpl_subcycl) then + if (dynamics%use_ssh_se_subcycl) then !SD Approximate update for transports. We do not care about accuracy !SD here. --> of course, helem will be better. do nz=nzmin,nzmax-1 @@ -680,7 +680,7 @@ SUBROUTINE visc_filt_bidiff(dynamics, partit, mesh) nzmin = maxval(ulevels(el)) nzmax = minval(nlevels(el)) !_______________________________________________________________________ - if (dynamics%use_ssh_splitexpl_subcycl) then + if (dynamics%use_ssh_se_subcycl) then !SD Approximate update for transports. We do not care about accuracy !SD here. --> of course, helem will be better. do nz=nzmin,nzmax-1 diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 998f2c35d..0b67b03d9 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -393,18 +393,18 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) logical :: ldiag_KE =.false. logical :: check_opt_visc=.true. real(kind=WP) :: wsplit_maxcfl - logical :: use_ssh_splitexpl_subcycl=.false. - integer :: splitexpl_BTsteps - real(kind=WP) :: splitexpl_BTtheta - logical :: splitexpl_visc, splitexpl_bottdrag, splitexpl_bdrag_si - real(kind=WP) :: splitexpl_visc_gamma0, splitexpl_visc_gamma1, splitexpl_visc_gamma2 + logical :: use_ssh_se_subcycl=.false. + integer :: se_BTsteps + real(kind=WP) :: se_BTtheta + logical :: se_visc, se_bottdrag, se_bdrag_si + real(kind=WP) :: se_visc_gamma0, se_visc_gamma1, se_visc_gamma2 namelist /dynamics_visc / opt_visc, check_opt_visc, visc_gamma0, visc_gamma1, visc_gamma2, & use_ivertvisc, visc_easybsreturn namelist /dynamics_general/ momadv_opt, use_freeslip, use_wsplit, wsplit_maxcfl, & - ldiag_KE, use_ssh_splitexpl_subcycl, splitexpl_BTsteps, & - splitexpl_BTtheta, splitexpl_bottdrag, splitexpl_bdrag_si, & - splitexpl_visc, splitexpl_visc_gamma0, splitexpl_visc_gamma1, splitexpl_visc_gamma2 + ldiag_KE, use_ssh_se_subcycl, se_BTsteps, & + se_BTtheta, se_bottdrag, se_bdrag_si, & + se_visc, se_visc_gamma0, se_visc_gamma1, se_visc_gamma2 !___________________________________________________________________________ ! pointer on necessary derived types #include "associate_part_def.h" @@ -440,16 +440,16 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) dynamics%use_wsplit = use_wsplit dynamics%wsplit_maxcfl = wsplit_maxcfl dynamics%ldiag_KE = ldiag_KE - dynamics%use_ssh_splitexpl_subcycl = use_ssh_splitexpl_subcycl - if (dynamics%use_ssh_splitexpl_subcycl) then - dynamics%splitexpl_BTsteps = splitexpl_BTsteps - dynamics%splitexpl_BTtheta = splitexpl_BTtheta - dynamics%splitexpl_bottdrag = splitexpl_bottdrag - dynamics%splitexpl_bdrag_si = splitexpl_bdrag_si - dynamics%splitexpl_visc = splitexpl_visc - dynamics%splitexpl_visc_gamma0 = splitexpl_visc_gamma0 - dynamics%splitexpl_visc_gamma1 = splitexpl_visc_gamma1 - dynamics%splitexpl_visc_gamma2 = splitexpl_visc_gamma2 + dynamics%use_ssh_se_subcycl = use_ssh_se_subcycl + if (dynamics%use_ssh_se_subcycl) then + dynamics%se_BTsteps = se_BTsteps + dynamics%se_BTtheta = se_BTtheta + dynamics%se_bottdrag = se_bottdrag + dynamics%se_bdrag_si = se_bdrag_si + dynamics%se_visc = se_visc + dynamics%se_visc_gamma0 = se_visc_gamma0 + dynamics%se_visc_gamma1 = se_visc_gamma1 + dynamics%se_visc_gamma2 = se_visc_gamma2 end if !___________________________________________________________________________ @@ -494,7 +494,7 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) ! allocate/initialise ssh arrays in derived type allocate(dynamics%eta_n( node_size)) dynamics%eta_n = 0.0_WP - if (dynamics%use_ssh_splitexpl_subcycl) then + if (dynamics%use_ssh_se_subcycl) then allocate(dynamics%se_uvh( 2, nl-1, elem_size)) allocate(dynamics%se_uvBT_rhs( 2, elem_size)) allocate(dynamics%se_uvBT_4AB( 4, elem_size)) @@ -509,11 +509,11 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) dynamics%se_uvBT_theta = 0.0_WP dynamics%se_uvBT_mean = 0.0_WP dynamics%se_uvBT_12 = 0.0_WP - if (dynamics%splitexpl_visc) then + if (dynamics%se_visc) then allocate(dynamics%se_uvBT_stab_hvisc(2, elem_size)) dynamics%se_uvBT_stab_hvisc = 0.0_WP end if - if (dynamics%splitexpl_bottdrag) then + if (dynamics%se_bottdrag) then allocate(dynamics%se_uvBT_stab_bdrag(elem_size)) dynamics%se_uvBT_stab_bdrag = 0.0_WP end if diff --git a/src/write_step_info.F90 b/src/write_step_info.F90 index e1c4d0393..85bcf9b81 100644 --- a/src/write_step_info.F90 +++ b/src/write_step_info.F90 @@ -91,7 +91,7 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) Wvel => dynamics%w(:,:) CFL_z => dynamics%cfl_z(:,:) eta_n => dynamics%eta_n(:) - if ( .not. dynamics%use_ssh_splitexpl_subcycl) d_eta => dynamics%d_eta(:) + if ( .not. dynamics%use_ssh_se_subcycl) d_eta => dynamics%d_eta(:) m_ice => ice%data(2)%values(:) if (mod(istep,outfreq)==0) then @@ -119,7 +119,7 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) loc_eta = loc_eta + areasvol(ulevels_nod2D(n), n)*eta_n(n) loc_hbar = loc_hbar + areasvol(ulevels_nod2D(n), n)*hbar(n) loc_dhbar = loc_dhbar + areasvol(ulevels_nod2D(n), n)*(hbar(n)-hbar_old(n)) - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then loc_deta = loc_deta + areasvol(ulevels_nod2D(n), n)*d_eta(n) end if loc_wflux = loc_wflux + areasvol(ulevels_nod2D(n), n)*water_flux(n) @@ -127,7 +127,7 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) #if !defined(__openmp_reproducible) !$OMP END PARALLEL DO #endif - if (dynamics%use_ssh_splitexpl_subcycl) then + if (dynamics%use_ssh_se_subcycl) then loc_deta=loc_dhbar end if @@ -168,7 +168,7 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) call MPI_AllREDUCE(loc , min_vvel , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) loc=omp_min_max_sum1(UVnode(2,2,:), 1, myDim_nod2D, 'min', partit) call MPI_AllREDUCE(loc , min_vvel2 , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then loc=omp_min_max_sum1(d_eta, 1, myDim_nod2D, 'min', partit) else loc=omp_min_max_sum1(hbar-hbar_old, 1, myDim_nod2D, 'min', partit) @@ -204,7 +204,7 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) call MPI_AllREDUCE(loc , max_vvel , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) loc=omp_min_max_sum1(UVnode(2,2,:), 1, myDim_nod2D, 'max', partit) call MPI_AllREDUCE(loc , max_vvel2 , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then loc=omp_min_max_sum1(d_eta, 1, myDim_nod2D, 'max', partit) else loc=omp_min_max_sum1(hbar-hbar_old, 1, myDim_nod2D, 'max', partit) @@ -329,7 +329,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) a_ice_old => ice%data(1)%values_old(:) m_ice_old => ice%data(2)%values_old(:) m_snow_old => ice%data(3)%values_old(:) - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then d_eta => dynamics%d_eta(:) ssh_rhs => dynamics%ssh_rhs(:) ssh_rhs_old => dynamics%ssh_rhs_old(:) @@ -361,7 +361,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) 'zbar_3d_n = ',zbar_3d_n(:,n) write(*,*) 'Z_3d_n = ',Z_3d_n(:,n) write(*,*) - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then write(*,*) 'ssh_rhs = ',ssh_rhs(n),', ssh_rhs_old = ',ssh_rhs_old(n) end if write(*,*) @@ -414,7 +414,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) 'd_eta(n) = ',d_eta(n) write(*,*) 'hbar = ',hbar(n) write(*,*) 'hbar_old = ',hbar_old(n) - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then write(*,*) 'ssh_rhs = ',ssh_rhs(n) write(*,*) 'ssh_rhs_old = ',ssh_rhs_old(n) end if @@ -442,7 +442,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) 'd_eta(n) = ',d_eta(n) write(*,*) 'hbar = ',hbar(n) write(*,*) 'hbar_old = ',hbar_old(n) - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then write(*,*) 'ssh_rhs = ',ssh_rhs(n) write(*,*) 'ssh_rhs_old = ',ssh_rhs_old(n) end if @@ -480,7 +480,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) 'd_eta(n) = ',d_eta(n) write(*,*) 'hbar = ',hbar(n) write(*,*) 'hbar_old = ',hbar_old(n) - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then write(*,*) 'ssh_rhs = ',ssh_rhs(n) write(*,*) 'ssh_rhs_old = ',ssh_rhs_old(n) end if @@ -530,7 +530,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) 'd_eta(n) = ',d_eta(n) write(*,*) 'hbar = ',hbar(n) write(*,*) 'hbar_old = ',hbar_old(n) - if ( .not. dynamics%use_ssh_splitexpl_subcycl) then + if ( .not. dynamics%use_ssh_se_subcycl) then write(*,*) 'ssh_rhs = ',ssh_rhs(n) write(*,*) 'ssh_rhs_old = ',ssh_rhs_old(n) end if From 8aa79ee57e6553fecbb35ea1abd00b960306c906 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 15 Sep 2023 16:28:02 +0200 Subject: [PATCH 063/273] try to make sure that subcycling is consistent with partial cells --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 75 +++++++++++++++++---------- src/oce_ale_vel_rhs.F90 | 2 +- src/oce_dyn.F90 | 18 ++++--- 3 files changed, 61 insertions(+), 34 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 9f5a92b57..8c2773269 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -68,7 +68,6 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) end interface end module - ! ! !_______________________________________________________________________________ @@ -110,7 +109,6 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(node, elem, ed, nz, nl1, ul1, nl2, ul2, nl12, ul12, & !$OMP uv1, uv2, uv12, qc, qu, qd, wu, wv, & !$OMP ednodes, edelem, un1, un2) - !$OMP DO do node=1, myDim_nod2D ul1 = ulevels_nod2D(node) @@ -382,14 +380,18 @@ subroutine momentum_adv_scalar_transpv(dynamics, partit, mesh) ! for energz diagnostic if (dynamics%ldiag_ke) then !we repeat the computation here and there are multiple ways to speed it up !$OMP DO - do elem=1, myDim_elem2D - ul1 = ulevels(elem) - nl1 = nlevels(elem)-1 - dynamics%ke_adv_AB(1:2, ul1:nl1, elem) = dynamics%ke_adv_AB(1:2, ul1:nl1, elem) + elem_area(elem)* & - ( UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(1, elem)) & - + UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(2, elem)) & - + UVnode_rhs(1:2, ul1:nl1, elem2D_nodes(3, elem))) / 3.0_WP - end do + do elem=1, myDim_elem2D + ul1 = ulevels(elem) + nl1 = nlevels(elem)-1 + dynamics%ke_adv_AB(1, ul1:nl1, elem) = dynamics%ke_adv_AB(1, ul1:nl1, elem) + elem_area(elem)* & + ( UVnode_rhs(1, ul1:nl1, elem2D_nodes(1, elem)) & + + UVnode_rhs(1, ul1:nl1, elem2D_nodes(2, elem)) & + + UVnode_rhs(1, ul1:nl1, elem2D_nodes(3, elem))) / 3.0_WP / helem(ul1:nl1, elem) + dynamics%ke_adv_AB(2, ul1:nl1, elem) = dynamics%ke_adv_AB(2, ul1:nl1, elem) + elem_area(elem)* & + ( UVnode_rhs(2, ul1:nl1, elem2D_nodes(1, elem)) & + + UVnode_rhs(2, ul1:nl1, elem2D_nodes(2, elem)) & + + UVnode_rhs(2, ul1:nl1, elem2D_nodes(3, elem))) / 3.0_WP / helem(ul1:nl1, elem) + end do !$OMP END DO end if !$OMP END PARALLEL @@ -726,7 +728,11 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) ! for in the barotropic equation Fx = g*dt*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) Fy = g*dt*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - hh = sum(helem(nzmin:nzmax, elem)) + + ! total ocean depth H + !PS hh = sum(helem(nzmin:nzmax, elem)) + hh = -zbar_e_bot(elem) + sum(eta_n(elnodes))/3.0_WP + vert_sum_u=vert_sum_u + Fx*hh vert_sum_v=vert_sum_v + Fy*hh @@ -837,7 +843,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) if (dynamics%se_visc) then !_______________________________________________________________________ ! remove viscosity -!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, edelem, nzmax, hh, len, & +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, edelem, ednodes, nzmax, hh, len, & !$OMP vi, update_ubt, update_vbt) !$OMP DO do edge=1, myDim_edge2D+eDim_edge2D @@ -846,11 +852,15 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) if(myList_edge2D(edge)>edge2D_in) cycle ! elem indices that participate in edge - edelem= edge_tri(:,edge) - nzmax = minval(nlevels(edelem)) - hh = -zbar(nzmax) - len = sqrt(sum(elem_area(edelem))) - + edelem = edge_tri(:,edge) + ednodes = edges(:,edge) + nzmax = minval(nlevels(edelem)) + + ! total ocean depth H + !PS hh = -zbar(nzmax) + hh = -sum(zbar_e_bot(edelem))*0.5_WP + sum(hbar(ednodes))*0.5_WP + + len = sqrt(sum(elem_area(edelem))) update_ubt=(UVBT(1, edelem(1))-UVBT(1, edelem(2)))/hh update_vbt=(UVBT(2, edelem(1))-UVBT(2, edelem(2)))/hh vi=update_ubt*update_ubt + update_vbt*update_vbt @@ -893,8 +903,12 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) do elem=1, myDim_elem2D elnodes= elem2D_nodes(:,elem) nzmax = nlevels(elem) + + ! total ocean depth H !PS hh = -zbar(nzmax)+sum(eta_n(elnodes))/3.0_WP - hh = -zbar(nzmax) + !PS hh = -zbar(nzmax) + hh = -zbar_e_bot(elem) + sum(hbar(elnodes))/3.0_WP + bottomdrag(elem) = dt*C_d*sqrt(UV(1, nzmax-1, elem)**2 + UV(2, nzmax-1, elem)**2) UVBT_rhs(1, elem)=UVBT_rhs(1, elem) + bottomdrag(elem)*UVBT(1, elem)/hh UVBT_rhs(2, elem)=UVBT_rhs(2, elem) + bottomdrag(elem)*UVBT(2, elem)/hh @@ -932,7 +946,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !$OMP END PARALLEL DO !___________________________________________________________________ -!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, edelem, nzmax, hh, len, & +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, edelem, ednodes, nzmax, hh, len, & !$OMP vi, update_ubt, update_vbt) !$OMP DO do edge=1, myDim_edge2D+eDim_edge2D @@ -941,12 +955,15 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) if(myList_edge2D(edge)>edge2D_in) cycle ! elem indices that participate in edge - edelem = edge_tri(:,edge) + edelem = edge_tri(:, edge) + ednodes = edges(:, edge) + nzmax = minval(nlevels(edelem)) - nzmax = minval(nlevels(edelem)) - hh = -zbar(nzmax) - len = sqrt(sum(elem_area(edelem))) - + ! total ocean depth H + !PS hh = -zbar(nzmax) + hh = -sum(zbar_e_bot(edelem))*0.5_WP + sum(hbar(ednodes))*0.5_WP + + len = sqrt(sum(elem_area(edelem))) update_ubt=(UVBT(1, edelem(1))-UVBT(1, edelem(2)))/hh update_vbt=(UVBT(2, edelem(1))-UVBT(2, edelem(2)))/hh vi=update_ubt*update_ubt + update_vbt*update_vbt @@ -993,9 +1010,12 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! AAA = - dt/M*[ + 0.5*f*e_z x (Ubt^(n+(m+1)/M) + Ubt^(n+(m)/M)) ! - h*H^m*grad_H*eta^((n+m)/M) ! - Rbt-->UVBT_rhs ] + ! total ocean depth H !PS hh = -zbar(nlevels(elem))+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth - hh = -zbar(nlevels(elem)) ! Total fluid depth - ff = mesh%coriolis(elem) + !PS hh = -zbar(nlevels(elem)) ! Total fluid depth + hh = -zbar_e_bot(elem) + sum(hbar(elnodes))/3.0_WP + + ff = mesh%coriolis(elem) rx = dtBT*(-g*hh*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + ff*UVBT(2, elem)) & + BT_inv*UVBT_rhs(1, elem) & @@ -1387,7 +1407,8 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) do node=1, myDim_nod2D+eDim_nod2D nzmin = ulevels_nod2D(node) nzmax = nlevels_nod2D_min(node)-1 - hh_inv=-1.0_WP/zbar(nzmax) + !PS hh_inv=-1.0_WP/zbar(nzmax) + hh_inv=-1.0_WP/zbar_3d_n(nzmax, node) do nz=nzmin, nzmax-1 hnode_new(nz,node)=(zbar(nz)-zbar(nz+1))*(1.0_WP+hh_inv*eta_n(node)) end do diff --git a/src/oce_ale_vel_rhs.F90 b/src/oce_ale_vel_rhs.F90 index 7efade82c..7c8a74cb7 100644 --- a/src/oce_ale_vel_rhs.F90 +++ b/src/oce_ale_vel_rhs.F90 @@ -400,7 +400,7 @@ subroutine momentum_adv_scalar(dynamics, partit, mesh) ul2 = ulevels(el2) un2(ul2:nl2) = - UV(2,ul2:nl2,el2)*edge_cross_dxdy(3,ed) & - + UV(1,ul2:nl2,el2)*edge_cross_dxdy(4,ed) + + UV(1,ul2:nl2,el2)*edge_cross_dxdy(4,ed) ! fill with zeros to combine the loops ! Usually, no or only a very few levels have to be filled. In this case, diff --git a/src/oce_dyn.F90 b/src/oce_dyn.F90 index 92b3b099b..9746dcce7 100755 --- a/src/oce_dyn.F90 +++ b/src/oce_dyn.F90 @@ -410,8 +410,10 @@ SUBROUTINE visc_filt_bcksct(dynamics, partit, mesh) !SD Approximate update for transports. We do not care about accuracy !SD here. --> of course, helem will be better. Do nz=nzmin, nzmax-1 - UV_rhs(1,nz,ed)=UV_rhs(1,nz,ed)+(U_b(nz,ed) -dynamics%visc_easybsreturn*sum(U_c(nz,nelem))/3.0_WP)*(zbar(nz)-zbar(nz+1)) - UV_rhs(2,nz,ed)=UV_rhs(2,nz,ed)+(V_b(nz,ed) -dynamics%visc_easybsreturn*sum(V_c(nz,nelem))/3.0_WP)*(zbar(nz)-zbar(nz+1)) + !PS UV_rhs(1,nz,ed)=UV_rhs(1,nz,ed)+(U_b(nz,ed) -dynamics%visc_easybsreturn*sum(U_c(nz,nelem))/3.0_WP)*(zbar(nz)-zbar(nz+1)) + !PS UV_rhs(2,nz,ed)=UV_rhs(2,nz,ed)+(V_b(nz,ed) -dynamics%visc_easybsreturn*sum(V_c(nz,nelem))/3.0_WP)*(zbar(nz)-zbar(nz+1)) + UV_rhs(1,nz,ed)=UV_rhs(1,nz,ed)+(U_b(nz,ed) -dynamics%visc_easybsreturn*sum(U_c(nz,nelem))/3.0_WP)*helem(nz, ed) +!PS UV_rhs(2,nz,ed)=UV_rhs(2,nz,ed)+(V_b(nz,ed) -dynamics%visc_easybsreturn*sum(V_c(nz,nelem))/3.0_WP)*helem(nz, ed) END DO else Do nz=nzmin, nzmax-1 @@ -543,8 +545,10 @@ SUBROUTINE visc_filt_bilapl(dynamics, partit, mesh) !SD Approximate update for transports. We do not care about accuracy !SD here. --> of course, helem will be better. do nz=nzmin,nzmax-1 - update_u(nz)=(U_c(nz,el(1))-U_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) - update_v(nz)=(V_c(nz,el(1))-V_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) + !PS update_u(nz)=(U_c(nz,el(1))-U_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) + !PS update_v(nz)=(V_c(nz,el(1))-V_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) + update_u(nz)=(U_c(nz,el(1))-U_c(nz,el(2))) * (helem(nz, el(1))+helem(nz, el(2)))*0.5_WP + update_v(nz)=(V_c(nz,el(1))-V_c(nz,el(2))) * (helem(nz, el(1))+helem(nz, el(2)))*0.5_WP end do else do nz=nzmin,nzmax-1 @@ -692,8 +696,10 @@ SUBROUTINE visc_filt_bidiff(dynamics, partit, mesh) dynamics%visc_gamma2*vi) & )*len) ! vi=-dt*sqrt(max(dynamics%visc_gamma0, dynamics%visc_gamma1*max(sqrt(vi), dynamics%visc_gamma2*vi))*len) - update_u(nz)=vi*(U_c(nz,el(1))-U_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) - update_v(nz)=vi*(V_c(nz,el(1))-V_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) + !PS update_u(nz)=vi*(U_c(nz,el(1))-U_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) + !PS update_v(nz)=vi*(V_c(nz,el(1))-V_c(nz,el(2)))*(zbar(nz)-zbar(nz+1)) + update_u(nz)=vi*(U_c(nz,el(1))-U_c(nz,el(2)))*(helem(nz, el(1))+helem(nz, el(2)))*0.5_WP + update_v(nz)=vi*(V_c(nz,el(1))-V_c(nz,el(2)))*(helem(nz, el(1))+helem(nz, el(2)))*0.5_WP end do else do nz=nzmin,nzmax-1 From c5b5c6d2c4af3cdadb3d8480e3529928529ee7ac Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 15 Sep 2023 17:14:22 +0200 Subject: [PATCH 064/273] make subcycling to work with partial cells --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 19 ++++++++++++------- src/oce_dyn.F90 | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 8c2773269..e714e9670 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -731,6 +731,7 @@ subroutine compute_BT_rhs_SE_vtransp(dynamics, partit, mesh) ! total ocean depth H !PS hh = sum(helem(nzmin:nzmax, elem)) + !PS hh = -zbar_e_bot(elem) + sum(eta_n(elnodes))/3.0_WP hh = -zbar_e_bot(elem) + sum(eta_n(elnodes))/3.0_WP vert_sum_u=vert_sum_u + Fx*hh @@ -843,7 +844,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) if (dynamics%se_visc) then !_______________________________________________________________________ ! remove viscosity -!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, edelem, ednodes, nzmax, hh, len, & +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, edelem, ednodes, hh, len, & !$OMP vi, update_ubt, update_vbt) !$OMP DO do edge=1, myDim_edge2D+eDim_edge2D @@ -854,11 +855,12 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! elem indices that participate in edge edelem = edge_tri(:,edge) ednodes = edges(:,edge) - nzmax = minval(nlevels(edelem)) ! total ocean depth H + !PS nzmax = minval(nlevels(edelem)) !PS hh = -zbar(nzmax) - hh = -sum(zbar_e_bot(edelem))*0.5_WP + sum(hbar(ednodes))*0.5_WP + !PS hh = minval(-zbar_e_bot(edelem)) + hh = -sum(zbar_e_bot(edelem))*0.5_WP + sum(hbar(ednodes))*0.5_WP len = sqrt(sum(elem_area(edelem))) update_ubt=(UVBT(1, edelem(1))-UVBT(1, edelem(2)))/hh @@ -907,6 +909,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! total ocean depth H !PS hh = -zbar(nzmax)+sum(eta_n(elnodes))/3.0_WP !PS hh = -zbar(nzmax) + !PS hh = -zbar_e_bot(elem) hh = -zbar_e_bot(elem) + sum(hbar(elnodes))/3.0_WP bottomdrag(elem) = dt*C_d*sqrt(UV(1, nzmax-1, elem)**2 + UV(2, nzmax-1, elem)**2) @@ -946,7 +949,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) !$OMP END PARALLEL DO !___________________________________________________________________ -!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, edelem, ednodes, nzmax, hh, len, & +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, edelem, ednodes, hh, len, & !$OMP vi, update_ubt, update_vbt) !$OMP DO do edge=1, myDim_edge2D+eDim_edge2D @@ -957,12 +960,13 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! elem indices that participate in edge edelem = edge_tri(:, edge) ednodes = edges(:, edge) - nzmax = minval(nlevels(edelem)) - ! total ocean depth H + ! total ocean depth H + !PS nzmax = minval(nlevels(edelem)) !PS hh = -zbar(nzmax) + !PS hh = minval(-zbar_e_bot(edelem)) hh = -sum(zbar_e_bot(edelem))*0.5_WP + sum(hbar(ednodes))*0.5_WP - + len = sqrt(sum(elem_area(edelem))) update_ubt=(UVBT(1, edelem(1))-UVBT(1, edelem(2)))/hh update_vbt=(UVBT(2, edelem(1))-UVBT(2, edelem(2)))/hh @@ -1013,6 +1017,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! total ocean depth H !PS hh = -zbar(nlevels(elem))+sum(eta_n(elnodes))/3.0_WP ! Total fluid depth !PS hh = -zbar(nlevels(elem)) ! Total fluid depth + !PS hh = -zbar_e_bot(elem) hh = -zbar_e_bot(elem) + sum(hbar(elnodes))/3.0_WP ff = mesh%coriolis(elem) diff --git a/src/oce_dyn.F90 b/src/oce_dyn.F90 index 9746dcce7..d2a27243d 100755 --- a/src/oce_dyn.F90 +++ b/src/oce_dyn.F90 @@ -413,7 +413,7 @@ SUBROUTINE visc_filt_bcksct(dynamics, partit, mesh) !PS UV_rhs(1,nz,ed)=UV_rhs(1,nz,ed)+(U_b(nz,ed) -dynamics%visc_easybsreturn*sum(U_c(nz,nelem))/3.0_WP)*(zbar(nz)-zbar(nz+1)) !PS UV_rhs(2,nz,ed)=UV_rhs(2,nz,ed)+(V_b(nz,ed) -dynamics%visc_easybsreturn*sum(V_c(nz,nelem))/3.0_WP)*(zbar(nz)-zbar(nz+1)) UV_rhs(1,nz,ed)=UV_rhs(1,nz,ed)+(U_b(nz,ed) -dynamics%visc_easybsreturn*sum(U_c(nz,nelem))/3.0_WP)*helem(nz, ed) -!PS UV_rhs(2,nz,ed)=UV_rhs(2,nz,ed)+(V_b(nz,ed) -dynamics%visc_easybsreturn*sum(V_c(nz,nelem))/3.0_WP)*helem(nz, ed) + UV_rhs(2,nz,ed)=UV_rhs(2,nz,ed)+(V_b(nz,ed) -dynamics%visc_easybsreturn*sum(V_c(nz,nelem))/3.0_WP)*helem(nz, ed) END DO else Do nz=nzmin, nzmax-1 From cad7f36aa7cb6ef07b5923573b65c123d4e949b3 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 29 Sep 2023 14:44:43 +0200 Subject: [PATCH 065/273] add halo to helem array, so far was not needed but for split-explicit we need the helem halo in the viscostiy --- src/associate_mesh_ass.h | 8 ++++---- src/oce_ale.F90 | 14 +++++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/associate_mesh_ass.h b/src/associate_mesh_ass.h index e21a32faa..777aa5b49 100644 --- a/src/associate_mesh_ass.h +++ b/src/associate_mesh_ass.h @@ -54,14 +54,14 @@ hnode(1:mesh%nl-1, 1:myDim_nod2D+eDim_nod2D) => mesh%hnode(:,:) hnode_new(1:mesh%nl-1, 1:myDim_nod2D+eDim_nod2D) => mesh%hnode_new(:,:) zbar_3d_n(1:mesh%nl, 1:myDim_nod2D+eDim_nod2D) => mesh%zbar_3d_n(:,:) Z_3d_n(1:mesh%nl-1, 1:myDim_nod2D+eDim_nod2D) => mesh%Z_3d_n(:,:) -helem(1:mesh%nl-1, 1:myDim_elem2D) => mesh%helem(:,:) -bottom_elem_thickness(1:myDim_elem2D) => mesh%bottom_elem_thickness(:) +helem(1:mesh%nl-1, 1:myDim_elem2D+eDim_elem2D) => mesh%helem(:,:) +bottom_elem_thickness(1:myDim_elem2D+eDim_elem2D) => mesh%bottom_elem_thickness(:) bottom_node_thickness(1:myDim_nod2D+eDim_nod2D) => mesh%bottom_node_thickness(:) dhe(1:myDim_elem2D) => mesh%dhe(:) hbar(1:myDim_nod2D+eDim_nod2D) => mesh%hbar(:) hbar_old(1:myDim_nod2D+eDim_nod2D) => mesh%hbar_old(:) -!zbar_n(1:mesh%nl) => mesh%zbar_n -!Z_n(1:mesh%nl-1) => mesh%Z_n +!zbar_n(1:mesh%nl) => mesh%zbar_n +!Z_n(1:mesh%nl-1) => mesh%Z_n zbar_n_bot(1:myDim_nod2D+eDim_nod2D) => mesh%zbar_n_bot(:) zbar_e_bot(1:myDim_elem2D+eDim_elem2D) => mesh%zbar_e_bot(:) zbar_n_srf(1:myDim_nod2D+eDim_nod2D) => mesh%zbar_n_srf(:) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 7d83f28dd..76a6f9951 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -249,7 +249,7 @@ subroutine init_ale(dynamics, partit, mesh) allocate(mesh%hbar_old(myDim_nod2D+eDim_nod2D)) ! helem: layer thickness at elements. It is interpolated from hnode. - allocate(mesh%helem(1:nl-1, myDim_elem2D)) + allocate(mesh%helem(1:nl-1, myDim_elem2D+eDim_nod2D)) ! dhe: The increment of total fluid depth on elements. It is used to update the matrix ! of the ssh operator. @@ -261,7 +261,7 @@ subroutine init_ale(dynamics, partit, mesh) allocate(mesh%Z_3d_n(nl-1,myDim_nod2D+eDim_nod2D)) ! bottom_elem_tickness: changed bottom layer thinkness due to partial cells - allocate(mesh%bottom_elem_thickness(myDim_elem2D)) + allocate(mesh%bottom_elem_thickness(myDim_elem2D+eDim_nod2D)) allocate(mesh%zbar_e_bot(myDim_elem2D+eDim_elem2D)) allocate(mesh%zbar_e_srf(myDim_elem2D+eDim_elem2D)) @@ -277,8 +277,8 @@ subroutine init_ale(dynamics, partit, mesh) hnode_new(1:mesh%nl-1, 1:myDim_nod2D+eDim_nod2D) => mesh%hnode_new(:,:) zbar_3d_n(1:mesh%nl, 1:myDim_nod2D+eDim_nod2D) => mesh%zbar_3d_n(:,:) Z_3d_n(1:mesh%nl-1, 1:myDim_nod2D+eDim_nod2D) => mesh%Z_3d_n(:,:) - helem(1:mesh%nl-1, 1:myDim_elem2D) => mesh%helem(:,:) - bottom_elem_thickness(1:myDim_elem2D) => mesh%bottom_elem_thickness(:) + helem(1:mesh%nl-1, 1:myDim_elem2D+eDim_nod2D) => mesh%helem(:,:) + bottom_elem_thickness(1:myDim_elem2D+eDim_nod2D) => mesh%bottom_elem_thickness(:) bottom_node_thickness(1:myDim_nod2D+eDim_nod2D) => mesh%bottom_node_thickness(:) dhe(1:myDim_elem2D) => mesh%dhe(:) hbar(1:myDim_nod2D+eDim_nod2D) => mesh%hbar(:) @@ -476,6 +476,7 @@ subroutine init_bottom_elem_thickness(partit, mesh) !___________________________________________________________________________ call exchange_elem(zbar_e_bot, partit) + call exchange_elem(bottom_elem_thickness, partit) end subroutine init_bottom_elem_thickness ! @@ -752,6 +753,7 @@ subroutine init_thickness_ale(dynamics, partit, mesh) USE MOD_PARTIT USE MOD_PARSUP USE MOD_DYN + use g_comm_auto implicit none type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit @@ -995,7 +997,7 @@ subroutine init_thickness_ale(dynamics, partit, mesh) !___________________________________________________________________________ hnode_new=hnode ! Should be initialized, because only variable part is updated. - + call exchange_elem(helem, partit) !!PS call check_total_volume(partit, mesh) end subroutine init_thickness_ale @@ -1010,6 +1012,7 @@ subroutine update_thickness_ale(partit, mesh) USE MOD_PARSUP use o_ARRAYS use g_config,only: which_ale,lzstar_lev,min_hnode + use g_comm_auto implicit none type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(inout), target :: mesh @@ -1165,6 +1168,7 @@ subroutine update_thickness_ale(partit, mesh) end do !$OMP END PARALLEL DO endif + call exchange_elem(helem, partit) end subroutine update_thickness_ale ! ! From 832804fc4d4be53c9f28fb0e75b90e8afa76a8ba Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 29 Sep 2023 14:45:53 +0200 Subject: [PATCH 066/273] add output message for the split-explicit parameters --- src/oce_setup_step.F90 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 0b67b03d9..9eeeeb0b7 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -450,6 +450,17 @@ SUBROUTINE dynamics_init(dynamics, partit, mesh) dynamics%se_visc_gamma0 = se_visc_gamma0 dynamics%se_visc_gamma1 = se_visc_gamma1 dynamics%se_visc_gamma2 = se_visc_gamma2 + if (mype==0) then + write(*,*) " ___Split-Explicit barotropic subcycling_________", dynamics%se_BTsteps + write(*,*) " se_BTsteps = ", dynamics%se_BTsteps + write(*,*) " se_BTtheta = ", dynamics%se_BTtheta + write(*,*) " se_bottdrag = ", dynamics%se_bottdrag + write(*,*) " se_bdrag_si = ", dynamics%se_bdrag_si + write(*,*) " se_visc = ", dynamics%se_visc + write(*,*) " se_visc_gamma0 = ", dynamics%se_visc_gamma0 + write(*,*) " se_visc_gamma1 = ", dynamics%se_visc_gamma1 + write(*,*) " se_visc_gamma2 = ", dynamics%se_visc_gamma2 + end if end if !___________________________________________________________________________ From ba95af6ab681344c3704cc4958f26c7a12db63b1 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 29 Sep 2023 14:49:52 +0200 Subject: [PATCH 067/273] solve compiler error when split_explicit flag is false --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index e714e9670..f36c9271e 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -1023,12 +1023,20 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ff = mesh%coriolis(elem) rx = dtBT*(-g*hh*sum(gradient_sca(1:3,elem)*eta_n(elnodes)) + ff*UVBT(2, elem)) & - + BT_inv*UVBT_rhs(1, elem) & - + BT_inv*(UVBT_harmvisc(1, elem) - bottomdrag(elem)*UVBT(1, elem)/hh) ! <-- stabilization terms + + BT_inv*UVBT_rhs(1, elem) !& +!PS + BT_inv*(UVBT_harmvisc(1, elem) - bottomdrag(elem)*UVBT(1, elem)/hh) ! <-- stabilization terms ry = dtBT*(-g*hh*sum(gradient_sca(4:6,elem)*eta_n(elnodes)) - ff*UVBT(1, elem)) & - + BT_inv*UVBT_rhs(2, elem) & - + BT_inv*(UVBT_harmvisc(2, elem) - bottomdrag(elem)*UVBT(2, elem)/hh) ! <-- stabilization terms + + BT_inv*UVBT_rhs(2, elem) !& +!PS + BT_inv*(UVBT_harmvisc(2, elem) - bottomdrag(elem)*UVBT(2, elem)/hh) ! <-- stabilization terms + if (dynamics%se_visc) then + rx = rx + BT_inv*UVBT_harmvisc(1, elem) + ry = ry + BT_inv*UVBT_harmvisc(2, elem) + end if + if (dynamics%se_bottdrag) then + rx = rx - BT_inv*bottomdrag(elem)*UVBT(1, elem)/hh + ry = ry - BT_inv*bottomdrag(elem)*UVBT(2, elem)/hh + end if ! compute new velocity Ubt^(n+(m+1)/M), Vbt^(n+(m+1)/M) considering ! in terms of Increments (deltaU) and semi-Implicit Coriolis @@ -1071,7 +1079,7 @@ subroutine compute_BT_step_SE_ale(dynamics, partit, mesh) ! ! Semi-Implicit Coriolis a = dtBT*ff*0.5_WP - if (dynamics%se_bdrag_si) then + if ( (dynamics%se_bdrag_si) .and. (dynamics%se_bottdrag) ) then b = 1.0_WP+BT_inv*bottomdrag(elem)/hh else b = 1.0_WP @@ -1433,6 +1441,7 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP end do end do + call exchange_elem(helem, partit) !$OMP END DO !$OMP END PARALLEL end subroutine compute_thickness_zstar From ce0bb641aaa8cb501efe98f6f52d21defdb9f7fc Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 29 Sep 2023 16:06:10 +0200 Subject: [PATCH 068/273] fix openmp error message --- src/oce_ale.F90 | 6 ++++++ src/oce_ale_ssh_splitexpl_subcycl.F90 | 8 +++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 76a6f9951..0e0a379c5 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -1168,7 +1168,13 @@ subroutine update_thickness_ale(partit, mesh) end do !$OMP END PARALLEL DO endif + + !___________________________________________________________________________ +!$OMP MASTER call exchange_elem(helem, partit) +!$OMP END MASTER +!$OMP BARRIER + end subroutine update_thickness_ale ! ! diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index f36c9271e..5fff2f09b 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -1441,9 +1441,15 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP end do end do - call exchange_elem(helem, partit) !$OMP END DO !$OMP END PARALLEL + + !___________________________________________________________________________ +!$OMP MASTER + call exchange_elem(helem, partit) +!$OMP END MASTER +!$OMP BARRIER + end subroutine compute_thickness_zstar From e366c12fe94ba8c96c49d1967a14bcb8797937a0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 17 Nov 2023 15:55:33 +0100 Subject: [PATCH 069/273] add outpur variable ubt_hvisc and vbt_hvisc --- src/io_meandata.F90 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 2ba3c87f0..11b9c5c22 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -636,6 +636,10 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1,elem2D/), (/nl-1,myDim_elem2D/) , 'v_rhs' , 'merid. transport rhs', '?' , dynamics%uv_rhs(2,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1,elem2D/), (/nl-1,myDim_elem2D/) , 'uh' , 'zonal transport' , '?' , dynamics%se_uvh(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1,elem2D/), (/nl-1,myDim_elem2D/) , 'vh' , 'merid. transport', '?' , dynamics%se_uvh(2,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + if (dynamics%se_visc) then + call def_stream(elem2D, myDim_elem2D , 'ubt_hvisc' , 'zonal hvisc. stabil.' , '?' , dynamics%se_uvBT_stab_hvisc(1,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(elem2D, myDim_elem2D , 'vbt_hvisc' , 'merid. hvisc. stabil.' , '?' , dynamics%se_uvBT_stab_hvisc(2,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if end if From ab2272b25829e4a9d1ce845d13deeed70ca72d6a Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 17 Nov 2023 15:57:26 +0100 Subject: [PATCH 070/273] kick out second triming, in moment does not seem to have an advantage --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 112 +++++++++++++++++++------- 1 file changed, 85 insertions(+), 27 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 5fff2f09b..285b48ac3 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -1251,7 +1251,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ubar = 0.0_WP vbar = 0.0_WP hh_inv = 0.0_WP - do nz=nzmin, nzmax + do nz=nzmin, nzmax-1 !PS !___________________________________________________________ !PS ! Update transport velocities: U^(n+1/2,**) = U^(n+1/2,*) + U_rhs !PS UVh(1, nz, elem)=UVh(1, nz, elem)+UV_rhs(1, nz, elem) @@ -1270,8 +1270,16 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) vbar = vbar+UVh(2, nz, elem) + UV_rhs(2, nz, elem) hh_inv= hh_inv+helem(nz,elem) end do ! --> do nz=nzmin, nzmax + ! inverse total heigh over which the trimming part is distributed --> + ! here exclude bottom cell hh_inv=1.0_WP/hh_inv + ! sum transport over entire water column including bottom cell need + ! the trimming with the barotropic transport + nz = nzmax + ubar = ubar+UVh(1, nz, elem) + UV_rhs(1, nz, elem) + vbar = vbar+UVh(2, nz, elem) + UV_rhs(2, nz, elem) + !___________________________________________________________________ if (dynamics%ldiag_ke) then do nz=nzmin, nzmax @@ -1283,8 +1291,13 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! | | ! v v ! udiff usum - usum(1) = 2.0_WP*UVh(1,nz,elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv - usum(2) = 2.0_WP*UVh(2,nz,elem) + UV_rhs(2, nz, elem) + (UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv + if (nz==nzmax) then + usum(1) = 2.0_WP*UVh(1,nz,elem) + UV_rhs(1, nz, elem) + usum(2) = 2.0_WP*UVh(2,nz,elem) + UV_rhs(2, nz, elem) + else + usum(1) = 2.0_WP*UVh(1,nz,elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv + usum(2) = 2.0_WP*UVh(2,nz,elem) + UV_rhs(2, nz, elem) + (UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv + end if ! transform: transport vel --> velocity usum(1) = usum(1)/helem(nz,elem) usum(2) = usum(2)/helem(nz,elem) @@ -1327,7 +1340,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! mode solver in FESOM2, ! U_k^(n+1/2) = U^(n+1/2,**) ! + [<>^(n+1/2) - sum(k, U_k^(n+1/2,**)] * h_k^(n+1/2)/sum(k,h_k^(n+1/2)) - do nz=nzmin, nzmax + do nz=nzmin, nzmax-1 !PS UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv !PS UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv UVh(1, nz, elem)= UVh(1, nz, elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv @@ -1335,6 +1348,14 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) end do ! --> do nz=nzmin, nzmax + + ! apply no trimming in the bottom cell + nz = nzmax + UVh(1, nz, elem)= UVh(1, nz, elem) + UV_rhs(1, nz, elem) + UVh(2, nz, elem)= UVh(2, nz, elem) + UV_rhs(2, nz, elem) + UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed + UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) + end do ! --> do elem=1, myDim_elem2D !$OMP END DO !$OMP END PARALLEL @@ -1349,7 +1370,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) !___________________________________________________________________________ ! Trim to make velocity consistent with BT velocity at n+1/2 ! Velocity will be used to advance momentum - else + elseif (mode==2) then !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax, ubar, vbar, hh_inv) !$OMP DO do elem=1, myDim_elem2D @@ -1360,20 +1381,28 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ubar = 0.0_WP vbar = 0.0_WP hh_inv = 0.0_WP - do nz=nzmin, nzmax + do nz=nzmin, nzmax-1 ubar=ubar+UVh(1, nz, elem) vbar=vbar+UVh(2, nz, elem) hh_inv=hh_inv+helem(nz,elem) end do + nz=nzmax + ubar=ubar+UVh(1, nz, elem) + vbar=vbar+UVh(2, nz, elem) !___________________________________________________________________ hh_inv=1.0_WP/hh_inv ! Postpone 2nd order, just use available thickness - do nz=nzmin, nzmax + do nz=nzmin, nzmax-1 UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_12(1, elem)-ubar)*helem(nz,elem)*hh_inv UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_12(2, elem)-vbar)*helem(nz,elem)*hh_inv UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection end do + nz=nzmax + UVh(1, nz, elem)= UVh(1, nz, elem) + UVh(2, nz, elem)= UVh(2, nz, elem) + UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed + UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection end do !$OMP END DO !$OMP END PARALLEL @@ -1384,6 +1413,35 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) call exchange_elem(UV , partit) ! Check if this is needed !$OMP END MASTER !$OMP BARRIER + + !___________________________________________________________________________ + ! skip trimming only adnvance velocity + ! Velocity will be used to advance momentum + elseif (mode==3) then +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax, ubar, vbar, hh_inv) +!$OMP DO + do elem=1, myDim_elem2D + nzmin = ulevels(elem) + nzmax = nlevels(elem)-1 + + !___________________________________________________________________ + do nz=nzmin, nzmax + UVh(1, nz, elem)= UVh(1, nz, elem) + UV_rhs(1, nz, elem) + UVh(2, nz, elem)= UVh(2, nz, elem) + UV_rhs(2, nz, elem) + UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed + UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection + end do + end do +!$OMP END DO +!$OMP END PARALLEL + + !_______________________________________________________________________ +!$OMP MASTER + call exchange_elem(UVh, partit) ! + call exchange_elem(UV , partit) ! Check if this is needed +!$OMP END MASTER +!$OMP BARRIER + end if ! --> if (mode==1) then end subroutine update_trim_vel_ale_vtransp ! @@ -1429,26 +1487,26 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) !$OMP END DO !$OMP END PARALLEL - !___________________________________________________________________________ - ! --> update mean layer thinkness at element -!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, nz, nzmin, nzmax) -!$OMP DO - do elem=1, myDim_elem2D - nzmin = ulevels(elem) - nzmax = nlevels(elem)-1 - elnodes=elem2D_nodes(:,elem) - do nz=nzmin, nzmax-1 - helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP - end do - end do -!$OMP END DO -!$OMP END PARALLEL - - !___________________________________________________________________________ -!$OMP MASTER - call exchange_elem(helem, partit) -!$OMP END MASTER -!$OMP BARRIER +!PS !___________________________________________________________________________ +!PS ! --> update mean layer thinkness at element +!PS !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, nz, nzmin, nzmax) +!PS !$OMP DO +!PS do elem=1, myDim_elem2D +!PS nzmin = ulevels(elem) +!PS nzmax = nlevels(elem)-1 +!PS elnodes=elem2D_nodes(:,elem) +!PS do nz=nzmin, nzmax-1 +!PS helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP +!PS end do +!PS end do +!PS !$OMP END DO +!PS !$OMP END PARALLEL +!PS +!PS !___________________________________________________________________________ +!PS !$OMP MASTER +!PS call exchange_elem(helem, partit) +!PS !$OMP END MASTER +!PS !$OMP BARRIER end subroutine compute_thickness_zstar From 12bb0c64c0587bfd78430ec606eace57487f27fa Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 17 Nov 2023 16:03:13 +0100 Subject: [PATCH 071/273] Revert " kick out second triming, in moment does not seem to have an advantage" This reverts commit ab2272b25829e4a9d1ce845d13deeed70ca72d6a. --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 112 +++++++------------------- 1 file changed, 27 insertions(+), 85 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 285b48ac3..5fff2f09b 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -1251,7 +1251,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ubar = 0.0_WP vbar = 0.0_WP hh_inv = 0.0_WP - do nz=nzmin, nzmax-1 + do nz=nzmin, nzmax !PS !___________________________________________________________ !PS ! Update transport velocities: U^(n+1/2,**) = U^(n+1/2,*) + U_rhs !PS UVh(1, nz, elem)=UVh(1, nz, elem)+UV_rhs(1, nz, elem) @@ -1270,16 +1270,8 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) vbar = vbar+UVh(2, nz, elem) + UV_rhs(2, nz, elem) hh_inv= hh_inv+helem(nz,elem) end do ! --> do nz=nzmin, nzmax - ! inverse total heigh over which the trimming part is distributed --> - ! here exclude bottom cell hh_inv=1.0_WP/hh_inv - ! sum transport over entire water column including bottom cell need - ! the trimming with the barotropic transport - nz = nzmax - ubar = ubar+UVh(1, nz, elem) + UV_rhs(1, nz, elem) - vbar = vbar+UVh(2, nz, elem) + UV_rhs(2, nz, elem) - !___________________________________________________________________ if (dynamics%ldiag_ke) then do nz=nzmin, nzmax @@ -1291,13 +1283,8 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! | | ! v v ! udiff usum - if (nz==nzmax) then - usum(1) = 2.0_WP*UVh(1,nz,elem) + UV_rhs(1, nz, elem) - usum(2) = 2.0_WP*UVh(2,nz,elem) + UV_rhs(2, nz, elem) - else - usum(1) = 2.0_WP*UVh(1,nz,elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv - usum(2) = 2.0_WP*UVh(2,nz,elem) + UV_rhs(2, nz, elem) + (UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv - end if + usum(1) = 2.0_WP*UVh(1,nz,elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv + usum(2) = 2.0_WP*UVh(2,nz,elem) + UV_rhs(2, nz, elem) + (UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv ! transform: transport vel --> velocity usum(1) = usum(1)/helem(nz,elem) usum(2) = usum(2)/helem(nz,elem) @@ -1340,7 +1327,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! mode solver in FESOM2, ! U_k^(n+1/2) = U^(n+1/2,**) ! + [<>^(n+1/2) - sum(k, U_k^(n+1/2,**)] * h_k^(n+1/2)/sum(k,h_k^(n+1/2)) - do nz=nzmin, nzmax-1 + do nz=nzmin, nzmax !PS UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv !PS UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv UVh(1, nz, elem)= UVh(1, nz, elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv @@ -1348,14 +1335,6 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) end do ! --> do nz=nzmin, nzmax - - ! apply no trimming in the bottom cell - nz = nzmax - UVh(1, nz, elem)= UVh(1, nz, elem) + UV_rhs(1, nz, elem) - UVh(2, nz, elem)= UVh(2, nz, elem) + UV_rhs(2, nz, elem) - UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed - UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) - end do ! --> do elem=1, myDim_elem2D !$OMP END DO !$OMP END PARALLEL @@ -1370,7 +1349,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) !___________________________________________________________________________ ! Trim to make velocity consistent with BT velocity at n+1/2 ! Velocity will be used to advance momentum - elseif (mode==2) then + else !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax, ubar, vbar, hh_inv) !$OMP DO do elem=1, myDim_elem2D @@ -1381,28 +1360,20 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ubar = 0.0_WP vbar = 0.0_WP hh_inv = 0.0_WP - do nz=nzmin, nzmax-1 + do nz=nzmin, nzmax ubar=ubar+UVh(1, nz, elem) vbar=vbar+UVh(2, nz, elem) hh_inv=hh_inv+helem(nz,elem) end do - nz=nzmax - ubar=ubar+UVh(1, nz, elem) - vbar=vbar+UVh(2, nz, elem) !___________________________________________________________________ hh_inv=1.0_WP/hh_inv ! Postpone 2nd order, just use available thickness - do nz=nzmin, nzmax-1 + do nz=nzmin, nzmax UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_12(1, elem)-ubar)*helem(nz,elem)*hh_inv UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_12(2, elem)-vbar)*helem(nz,elem)*hh_inv UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection end do - nz=nzmax - UVh(1, nz, elem)= UVh(1, nz, elem) - UVh(2, nz, elem)= UVh(2, nz, elem) - UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed - UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection end do !$OMP END DO !$OMP END PARALLEL @@ -1413,35 +1384,6 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) call exchange_elem(UV , partit) ! Check if this is needed !$OMP END MASTER !$OMP BARRIER - - !___________________________________________________________________________ - ! skip trimming only adnvance velocity - ! Velocity will be used to advance momentum - elseif (mode==3) then -!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax, ubar, vbar, hh_inv) -!$OMP DO - do elem=1, myDim_elem2D - nzmin = ulevels(elem) - nzmax = nlevels(elem)-1 - - !___________________________________________________________________ - do nz=nzmin, nzmax - UVh(1, nz, elem)= UVh(1, nz, elem) + UV_rhs(1, nz, elem) - UVh(2, nz, elem)= UVh(2, nz, elem) + UV_rhs(2, nz, elem) - UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed - UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection - end do - end do -!$OMP END DO -!$OMP END PARALLEL - - !_______________________________________________________________________ -!$OMP MASTER - call exchange_elem(UVh, partit) ! - call exchange_elem(UV , partit) ! Check if this is needed -!$OMP END MASTER -!$OMP BARRIER - end if ! --> if (mode==1) then end subroutine update_trim_vel_ale_vtransp ! @@ -1487,26 +1429,26 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) !$OMP END DO !$OMP END PARALLEL -!PS !___________________________________________________________________________ -!PS ! --> update mean layer thinkness at element -!PS !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, nz, nzmin, nzmax) -!PS !$OMP DO -!PS do elem=1, myDim_elem2D -!PS nzmin = ulevels(elem) -!PS nzmax = nlevels(elem)-1 -!PS elnodes=elem2D_nodes(:,elem) -!PS do nz=nzmin, nzmax-1 -!PS helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP -!PS end do -!PS end do -!PS !$OMP END DO -!PS !$OMP END PARALLEL -!PS -!PS !___________________________________________________________________________ -!PS !$OMP MASTER -!PS call exchange_elem(helem, partit) -!PS !$OMP END MASTER -!PS !$OMP BARRIER + !___________________________________________________________________________ + ! --> update mean layer thinkness at element +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, nz, nzmin, nzmax) +!$OMP DO + do elem=1, myDim_elem2D + nzmin = ulevels(elem) + nzmax = nlevels(elem)-1 + elnodes=elem2D_nodes(:,elem) + do nz=nzmin, nzmax-1 + helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP + end do + end do +!$OMP END DO +!$OMP END PARALLEL + + !___________________________________________________________________________ +!$OMP MASTER + call exchange_elem(helem, partit) +!$OMP END MASTER +!$OMP BARRIER end subroutine compute_thickness_zstar From 05dad380cd7c2bc9d7db22614d92255ebc940870 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 17 Nov 2023 16:04:45 +0100 Subject: [PATCH 072/273] kick out second triming, in moment does not seem to have an advantage --- src/oce_ale.F90 | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 0e0a379c5..bcc5e3297 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -2898,13 +2898,13 @@ subroutine compute_CFLz(dynamics, partit, mesh) nzmax = nlevels_nod2D(node)-1 do nz=nzmin, nzmax if (abs(CFL_z(nz,node)-cflmax) < 1.e-12 .and. CFL_z(nz,node) > 1.75_WP .and. CFL_z(nz,node)<=2.5_WP ) then - print '(A, A, F4.2, A, I6, A, F7.2,A,F6.2, A, I3,I3)', achar(27)//'[33m'//' --> WARNING CFLz>1.75:'//achar(27)//'[0m',& + print '(A, A, F4.2, A, I6, A, F7.2,A,F6.2, A, I3,I3,I3)', achar(27)//'[33m'//' --> WARNING CFLz>1.75:'//achar(27)//'[0m',& 'CFLz_max=',cflmax,',mstep=',mstep,',glon/glat=',geo_coord_nod2D(1,node)/rad,'/',geo_coord_nod2D(2,node)/rad,& - ',nz/nzmin=',nz,nzmin + ',nz/nzmin/nzmax=',nz,nzmin,nzmax elseif (abs(CFL_z(nz,node)-cflmax) < 1.e-12 .and. CFL_z(nz,node) > 2.5_WP) then - print '(A, A, F4.2, A, I6, A, F7.2,A,F6.2, A, I3,I3)', achar(27)//'[31m'//' --> WARNING CFLz>2.5:'//achar(27)//'[0m',& + print '(A, A, F4.2, A, I6, A, F7.2,A,F6.2, A, I3,I3,I3)', achar(27)//'[31m'//' --> WARNING CFLz>2.5:'//achar(27)//'[0m',& 'CFLz_max=',cflmax,',mstep=',mstep,',glon/glat=',geo_coord_nod2D(1,node)/rad,'/',geo_coord_nod2D(2,node)/rad,& - ',nz/nzmin=',nz,nzmin + ',nz/nzmin/nzmax=',nz,nzmin,nzmax !!PS write(*,*) '***********************************************************' !!PS write(*,*) 'max. CFL_z = ', cflmax, ' mype = ', mype !!PS write(*,*) 'mstep = ', mstep @@ -3665,7 +3665,7 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) t3=MPI_Wtime() ! Trim U to be consistent with BT transport - call update_trim_vel_ale_vtransp(1, dynamics, partit, mesh) + call update_trim_vel_ale_vtransp(1, dynamics, partit, mesh) t4=MPI_Wtime() t5=t4 end if ! --> if (.not. dynamics%use_ssh_se_subcycl) then @@ -3730,12 +3730,12 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) call update_thickness_ale(partit, mesh) t9=MPI_Wtime() - !___________________________________________________________________________ - ! Trim to make velocity consistent with BT velocity at n+1/2 - ! Velocity will be used to advance momentum - if (dynamics%use_ssh_se_subcycl) then - call update_trim_vel_ale_vtransp(2, dynamics, partit, mesh) - end if +!PS !___________________________________________________________________________ +!PS ! Trim to make velocity consistent with BT velocity at n+1/2 +!PS ! Velocity will be used to advance momentum +!PS if (dynamics%use_ssh_se_subcycl) then +!PS call update_trim_vel_ale_vtransp(2, dynamics, partit, mesh) +!PS end if !___________________________________________________________________________ ! write out global fields for debugging From 2b5d59b94144b8c437bd5f02202e6696c99df902 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 17 Nov 2023 16:14:34 +0100 Subject: [PATCH 073/273] make sure that trimming is not done in the bottom cell, do not update helem to early since it still needed for tracer and divergence computation --- src/oce_ale_ssh_splitexpl_subcycl.F90 | 112 +++++++++++++++++++------- 1 file changed, 85 insertions(+), 27 deletions(-) diff --git a/src/oce_ale_ssh_splitexpl_subcycl.F90 b/src/oce_ale_ssh_splitexpl_subcycl.F90 index 5fff2f09b..285b48ac3 100644 --- a/src/oce_ale_ssh_splitexpl_subcycl.F90 +++ b/src/oce_ale_ssh_splitexpl_subcycl.F90 @@ -1251,7 +1251,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ubar = 0.0_WP vbar = 0.0_WP hh_inv = 0.0_WP - do nz=nzmin, nzmax + do nz=nzmin, nzmax-1 !PS !___________________________________________________________ !PS ! Update transport velocities: U^(n+1/2,**) = U^(n+1/2,*) + U_rhs !PS UVh(1, nz, elem)=UVh(1, nz, elem)+UV_rhs(1, nz, elem) @@ -1270,8 +1270,16 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) vbar = vbar+UVh(2, nz, elem) + UV_rhs(2, nz, elem) hh_inv= hh_inv+helem(nz,elem) end do ! --> do nz=nzmin, nzmax + ! inverse total heigh over which the trimming part is distributed --> + ! here exclude bottom cell hh_inv=1.0_WP/hh_inv + ! sum transport over entire water column including bottom cell need + ! the trimming with the barotropic transport + nz = nzmax + ubar = ubar+UVh(1, nz, elem) + UV_rhs(1, nz, elem) + vbar = vbar+UVh(2, nz, elem) + UV_rhs(2, nz, elem) + !___________________________________________________________________ if (dynamics%ldiag_ke) then do nz=nzmin, nzmax @@ -1283,8 +1291,13 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! | | ! v v ! udiff usum - usum(1) = 2.0_WP*UVh(1,nz,elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv - usum(2) = 2.0_WP*UVh(2,nz,elem) + UV_rhs(2, nz, elem) + (UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv + if (nz==nzmax) then + usum(1) = 2.0_WP*UVh(1,nz,elem) + UV_rhs(1, nz, elem) + usum(2) = 2.0_WP*UVh(2,nz,elem) + UV_rhs(2, nz, elem) + else + usum(1) = 2.0_WP*UVh(1,nz,elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv + usum(2) = 2.0_WP*UVh(2,nz,elem) + UV_rhs(2, nz, elem) + (UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv + end if ! transform: transport vel --> velocity usum(1) = usum(1)/helem(nz,elem) usum(2) = usum(2)/helem(nz,elem) @@ -1327,7 +1340,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ! mode solver in FESOM2, ! U_k^(n+1/2) = U^(n+1/2,**) ! + [<>^(n+1/2) - sum(k, U_k^(n+1/2,**)] * h_k^(n+1/2)/sum(k,h_k^(n+1/2)) - do nz=nzmin, nzmax + do nz=nzmin, nzmax-1 !PS UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv !PS UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_mean(2, elem)-vbar)*helem(nz,elem)*hh_inv UVh(1, nz, elem)= UVh(1, nz, elem) + UV_rhs(1, nz, elem) + (UVBT_mean(1, elem)-ubar)*helem(nz,elem)*hh_inv @@ -1335,6 +1348,14 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) end do ! --> do nz=nzmin, nzmax + + ! apply no trimming in the bottom cell + nz = nzmax + UVh(1, nz, elem)= UVh(1, nz, elem) + UV_rhs(1, nz, elem) + UVh(2, nz, elem)= UVh(2, nz, elem) + UV_rhs(2, nz, elem) + UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed + UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) + end do ! --> do elem=1, myDim_elem2D !$OMP END DO !$OMP END PARALLEL @@ -1349,7 +1370,7 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) !___________________________________________________________________________ ! Trim to make velocity consistent with BT velocity at n+1/2 ! Velocity will be used to advance momentum - else + elseif (mode==2) then !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax, ubar, vbar, hh_inv) !$OMP DO do elem=1, myDim_elem2D @@ -1360,20 +1381,28 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) ubar = 0.0_WP vbar = 0.0_WP hh_inv = 0.0_WP - do nz=nzmin, nzmax + do nz=nzmin, nzmax-1 ubar=ubar+UVh(1, nz, elem) vbar=vbar+UVh(2, nz, elem) hh_inv=hh_inv+helem(nz,elem) end do + nz=nzmax + ubar=ubar+UVh(1, nz, elem) + vbar=vbar+UVh(2, nz, elem) !___________________________________________________________________ hh_inv=1.0_WP/hh_inv ! Postpone 2nd order, just use available thickness - do nz=nzmin, nzmax + do nz=nzmin, nzmax-1 UVh(1, nz, elem)= UVh(1, nz, elem)+(UVBT_12(1, elem)-ubar)*helem(nz,elem)*hh_inv UVh(2, nz, elem)= UVh(2, nz, elem)+(UVBT_12(2, elem)-vbar)*helem(nz,elem)*hh_inv UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection end do + nz=nzmax + UVh(1, nz, elem)= UVh(1, nz, elem) + UVh(2, nz, elem)= UVh(2, nz, elem) + UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed + UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection end do !$OMP END DO !$OMP END PARALLEL @@ -1384,6 +1413,35 @@ subroutine update_trim_vel_ale_vtransp(mode, dynamics, partit, mesh) call exchange_elem(UV , partit) ! Check if this is needed !$OMP END MASTER !$OMP BARRIER + + !___________________________________________________________________________ + ! skip trimming only adnvance velocity + ! Velocity will be used to advance momentum + elseif (mode==3) then +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, nz, nzmin, nzmax, ubar, vbar, hh_inv) +!$OMP DO + do elem=1, myDim_elem2D + nzmin = ulevels(elem) + nzmax = nlevels(elem)-1 + + !___________________________________________________________________ + do nz=nzmin, nzmax + UVh(1, nz, elem)= UVh(1, nz, elem) + UV_rhs(1, nz, elem) + UVh(2, nz, elem)= UVh(2, nz, elem) + UV_rhs(2, nz, elem) + UV( 1, nz, elem)= UVh(1, nz, elem)/helem(nz,elem) ! velocities are still needed + UV( 2, nz, elem)= UVh(2, nz, elem)/helem(nz,elem) ! to compute momentum advection + end do + end do +!$OMP END DO +!$OMP END PARALLEL + + !_______________________________________________________________________ +!$OMP MASTER + call exchange_elem(UVh, partit) ! + call exchange_elem(UV , partit) ! Check if this is needed +!$OMP END MASTER +!$OMP BARRIER + end if ! --> if (mode==1) then end subroutine update_trim_vel_ale_vtransp ! @@ -1429,26 +1487,26 @@ subroutine compute_thickness_zstar(dynamics, partit, mesh) !$OMP END DO !$OMP END PARALLEL - !___________________________________________________________________________ - ! --> update mean layer thinkness at element -!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, nz, nzmin, nzmax) -!$OMP DO - do elem=1, myDim_elem2D - nzmin = ulevels(elem) - nzmax = nlevels(elem)-1 - elnodes=elem2D_nodes(:,elem) - do nz=nzmin, nzmax-1 - helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP - end do - end do -!$OMP END DO -!$OMP END PARALLEL - - !___________________________________________________________________________ -!$OMP MASTER - call exchange_elem(helem, partit) -!$OMP END MASTER -!$OMP BARRIER +!PS !___________________________________________________________________________ +!PS ! --> update mean layer thinkness at element +!PS !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(elem, elnodes, nz, nzmin, nzmax) +!PS !$OMP DO +!PS do elem=1, myDim_elem2D +!PS nzmin = ulevels(elem) +!PS nzmax = nlevels(elem)-1 +!PS elnodes=elem2D_nodes(:,elem) +!PS do nz=nzmin, nzmax-1 +!PS helem(nz,elem)=sum(hnode_new(nz,elnodes))/3.0_WP +!PS end do +!PS end do +!PS !$OMP END DO +!PS !$OMP END PARALLEL +!PS +!PS !___________________________________________________________________________ +!PS !$OMP MASTER +!PS call exchange_elem(helem, partit) +!PS !$OMP END MASTER +!PS !$OMP BARRIER end subroutine compute_thickness_zstar From 56486f0629143d0f339a1864eb8dc1898fd87d08 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 20 Nov 2023 11:59:29 +0100 Subject: [PATCH 074/273] actualise namelist.dyn --- config/namelist.dyn | 8 ++++---- work/job_albedo_chain | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/config/namelist.dyn b/config/namelist.dyn index 4a598ee22..35a8b35f0 100644 --- a/config/namelist.dyn +++ b/config/namelist.dyn @@ -23,13 +23,13 @@ wsplit_maxcfl= 1.0 ! maximum allowed CFL criteria in vertical (0.5 < w_max_c ldiag_KE=.false. ! activates energy diagnostics use_ssh_se_subcycl = .false. -se_BTsteps = 50 !50 -se_BTtheta = 0.14 ! default: 0.14, core2 stability plateu@ 0.37 +se_BTsteps = 50 +se_BTtheta = 0.14 ! default: 0.14, se_bottdrag = .true. se_bdrag_si = .true. ! bottomdrag semi-implicite/explicite se_visc = .true. -se_visc_gamma0 = 10 ! 150 -se_visc_gamma1 = 19500 ! 150 +se_visc_gamma0 = 10 +se_visc_gamma1 = 19500 !19500 (core2@32spd), 2750 (core2@72spd) se_visc_gamma2 = 0 / diff --git a/work/job_albedo_chain b/work/job_albedo_chain index 1bcf0eefc..81f55c259 100755 --- a/work/job_albedo_chain +++ b/work/job_albedo_chain @@ -27,11 +27,11 @@ chain_s=1 # starting chain id # time frame of model simulation # ___COREv2___ -year_s=1948 -year_e=2009 +# year_s=1948 +# year_e=2009 # ___JRA55____ -#year_s=1958 -#year_e=2018 +year_s=1958 +year_e=2018 prescribe_rlen=0 # run length in namelist.config --> if 0 value from namelist.config is taken fedit=1 @@ -226,7 +226,7 @@ if [ $is_newsimul -eq 1 ] ; then #___BACKUP NAMELIST.* FILES INTO RESULT DIRECTORY_______________________ cp namelist.config namelist.oce namelist.ice namelist.forcing namelist.io \ - namelist.cvmix ${dname_result}/. + namelist.dyn namelist.tra namelist.cvmix ${dname_result}/. cp fesom.x ${dname_result}/. #___BACKUP SRC FILES INTO RESULT DIRECTORY______________________________ From 85fbe8024d3a50f493789ce128e6003f128bc54c Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 24 Nov 2023 12:27:56 +0100 Subject: [PATCH 075/273] introduce new tracer%work variables to store horiz and vert. tracer advection fluxes, and to store the old tracer value. prepare the header of the general compute_dvd routine --- src/MOD_TRACER.F90 | 22 +++++++--- src/gen_modules_diag.F90 | 87 +++++++++++++++++++++++++++++++++----- src/oce_adv_tra_driver.F90 | 15 ++++++- src/oce_ale_tracer.F90 | 17 ++++++-- src/oce_setup_step.F90 | 16 ++++--- 5 files changed, 130 insertions(+), 27 deletions(-) diff --git a/src/MOD_TRACER.F90 b/src/MOD_TRACER.F90 index 0e66e96aa..b43428caf 100644 --- a/src/MOD_TRACER.F90 +++ b/src/MOD_TRACER.F90 @@ -29,7 +29,15 @@ MODULE MOD_TRACER real(kind=WP), allocatable :: del_ttf_advhoriz(:,:), del_ttf_advvert(:,:) !_______________________________________________________________________________ ! in case ldiag_DVD=.true. --> calculate discrete variance decay (DVD) -real(kind=WP), allocatable :: tr_dvd_horiz(:,:,:), tr_dvd_vert(:,:,:) +! dvd_trflx_h, dvd_trflx_v ... reconstructed horizontal tracer fluxes at mid +! edge faces for temperature and salintiy. These fluxes +! are already computed in adv_flux_hor, adv_flux_ver +! but not saved +! dvd_trstar ... starts with tracer from previouse time steps becomes later +! Tstar = 0.5*( T^(n+1) + T^n) +real(kind=WP), allocatable :: dvd_trflx_hor(:,:,:), dvd_trflx_ver, dvd_trstar(:,:,:) + +!_______________________________________________________________________________ ! The fct part real(kind=WP),allocatable,dimension(:,:) :: fct_LO ! Low-order solution real(kind=WP),allocatable,dimension(:,:) :: adv_flux_hor ! Antidif. horiz. contrib. from edges / backup for iterafive fct scheme @@ -37,6 +45,8 @@ MODULE MOD_TRACER real(kind=WP),allocatable,dimension(:,:) :: fct_ttf_max,fct_ttf_min real(kind=WP),allocatable,dimension(:,:) :: fct_plus,fct_minus + +!_______________________________________________________________________________ ! MUSCL type reconstruction integer,allocatable,dimension(:) :: nboundary_lay integer,allocatable,dimension(:,:) :: edge_up_dn_tri @@ -143,8 +153,9 @@ subroutine WRITE_T_TRACER_WORK(twork, unit) call write_bin_array(twork%del_ttf, unit, iostat, iomsg) call write_bin_array(twork%del_ttf_advhoriz, unit, iostat, iomsg) call write_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) - call write_bin_array(twork%tr_dvd_horiz, unit, iostat, iomsg) - call write_bin_array(twork%tr_dvd_vert, unit, iostat, iomsg) + call write_bin_array(twork%dvd_trflx_h, unit, iostat, iomsg) + call write_bin_array(twork%dvd_trflx_v, unit, iostat, iomsg) + call write_bin_array(twork%dvd_trstar, unit, iostat, iomsg) call write_bin_array(twork%fct_LO, unit, iostat, iomsg) call write_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) call write_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) @@ -168,8 +179,9 @@ subroutine READ_T_TRACER_WORK(twork, unit) call read_bin_array(twork%del_ttf, unit, iostat, iomsg) call read_bin_array(twork%del_ttf_advhoriz, unit, iostat, iomsg) call read_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) - call read_bin_array(twork%tr_dvd_horiz, unit, iostat, iomsg) - call read_bin_array(twork%tr_dvd_vert, unit, iostat, iomsg) + call read_bin_array(twork%dvd_trflx_h, unit, iostat, iomsg) + call read_bin_array(twork%dvd_trflx_v, unit, iostat, iomsg) + call read_bin_array(twork%dvd_trstar, unit, iostat, iomsg) call read_bin_array(twork%fct_LO, unit, iostat, iomsg) call read_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) call read_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index e0156774e..9616ae9bc 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -21,8 +21,8 @@ module diagnostics compute_diagnostics, rhs_diag, curl_stress_surf, curl_vel3, shear, Ri, KvdTdZ, KvdSdZ, & std_dens_min, std_dens_max, std_dens_N, std_dens, & std_dens_UVDZ, std_dens_DIV, std_dens_DIV_fer, std_dens_Z, std_dens_H, std_dens_dVdT, std_dens_flux, & - dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, compute_diag_dvd_2ndmoment_klingbeil_etal_2014, & - compute_diag_dvd_2ndmoment_burchard_etal_2008, compute_diag_dvd + dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, & + compute_dvd, dvd_tot, dvd_chi_adv, dvd_chi_adv_h, dvd_chi_adv_v, dvd_chi_diff_h, dvd_chi_diff_v ! Arrays used for diagnostics, some shall be accessible to the I/O ! 1. solver diagnostics: A*x=rhs? @@ -56,6 +56,13 @@ module diagnostics real(kind=WP), save, allocatable, target :: std_dens_UVDZ(:,:,:), std_dens_flux(:,:,:), std_dens_dVdT(:,:), std_dens_DIV(:,:), std_dens_DIV_fer(:,:), std_dens_Z(:,:), std_dens_H(:,:) real(kind=WP), save, allocatable, target :: dens_flux_e(:) + !_____________________________________________________________________________ + ! DVD diagnostics + real(kind=WP), save, allocatable, target :: dvd_tot(:,:,:), dvd_chi_adv(:,:,:), dvd_chi_adv_h(:,:,:), & + dvd_chi_adv_v(:,:,:), dvd_chi_diff_h(:,:,:), dvd_chi_diff_v(:,:,:) + + !_____________________________________________________________________________ + ! Define diagnostic flags + with corresponding namelist logical :: ldiag_solver =.false. logical :: lcurt_stress_surf=.false. logical :: ldiag_curl_vel3 =.false. @@ -76,7 +83,9 @@ module diagnostics logical :: ldiag_vorticity =.false. logical :: ldiag_extflds =.false. - namelist /diag_list/ ldiag_solver, lcurt_stress_surf, ldiag_curl_vel3, ldiag_Ri, ldiag_TurbFlux, ldiag_dMOC, ldiag_DVD, ldiag_salt3D, ldiag_forc, ldiag_vorticity, ldiag_extflds + namelist /diag_list/ ldiag_solver, lcurt_stress_surf, ldiag_curl_vel3, ldiag_Ri, & + ldiag_TurbFlux, ldiag_dMOC, ldiag_DVD, ldiag_salt3D, ldiag_forc, & + ldiag_vorticity, ldiag_extflds contains @@ -838,14 +847,19 @@ subroutine compute_diagnostics(mode, dynamics, tracers, partit, mesh) type(t_dyn) , intent(inout), target :: dynamics integer, intent(in) :: mode !constructor mode (0=only allocation; any other=do diagnostic) real(kind=WP) :: val !1. solver diagnostic + ! 1. compute solver diagnostic if (ldiag_solver) call diag_solver(mode, dynamics, partit, mesh) - !2. compute curl(stress_surf) + + ! 2. compute curl(stress_surf) if (lcurt_stress_surf) call diag_curl_stress_surf(mode, partit, mesh) - !3. compute curl(velocity) + + ! 3. compute curl(velocity) if (ldiag_curl_vel3) call diag_curl_vel3(mode, dynamics, partit, mesh) - !4. compute energy budget + + ! 4. compute energy budget if (ldiag_Ri) call diag_Ri(mode, dynamics, partit, mesh) - !5. print integrated temperature + + ! 5. print integrated temperature if (ldiag_salt3d) then if (mod(mstep,logfile_outfreq)==0) then call integrate_nod(tracers%data(2)%values(:,:), val, partit, mesh) @@ -854,17 +868,68 @@ subroutine compute_diagnostics(mode, dynamics, tracers, partit, mesh) end if end if end if - !6. MOC in density coordinate + + ! 6. MOC in density coordinate if (ldiag_dMOC) call diag_densMOC(mode, dynamics, tracers, partit, mesh) - !7. compute turbulent fluxes + + ! 7. compute turbulent fluxes if (ldiag_turbflux) call diag_turbflux(mode, dynamics, tracers, partit, mesh) - ! compute relative vorticity + + ! 8. compute relative vorticity if (ldiag_vorticity) call relative_vorticity(mode, dynamics, partit, mesh) - ! soe exchanged fields requested by IFS/FESOM in NextGEMS. + + ! 9. compute some exchanged fields requested by IFS/FESOM in NextGEMS. if (ldiag_extflds) call compute_extflds(mode, dynamics, tracers, partit, mesh) + ! 10. compute Discrete Variance Decay (DVD) diagnostic of: + ! K. Klingbeil et al., 2014, Quantification of spurious dissipation and mixing – + ! Discrete variance decay in Finite-Volume framework ... + ! T. Banerjee, S. Danilov, K. Klingbeil, 2023, Discrete variance decay analysis of + ! spurious mixing + if (ldiag_DVD) call compute_dvd(mode, dynamics, tracers, partit, mesh) + end subroutine compute_diagnostics + +! +! +!_______________________________________________________________________________ +! compute spurious mixing diagnostic dvd +subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) + IMPLICIT NONE + integer, intent(in) :: mode + logical, save :: firstcall=.true. + type(t_dyn) , intent(in), target :: dynamics + type(t_tracer), intent(in) , target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer :: node, edge, nz, nzmin, nzmax + +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + if (firstcall) then !allocate the stuff at the first call + allocate(dvd_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_chi_adv( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_chi_diff_h(nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_chi_diff_v(nl-1, myDim_nod2D+eDim_nod2D, 2)) + dvd_tot = 0.0_WP + dvd_chi_adv = 0.0_WP + dvd_chi_adv_h = 0.0_WP + dvd_chi_adv_v = 0.0_WP + dvd_chi_diff_h = 0.0_WP + dvd_chi_diff_v = 0.0_WP + if (mode==0) return + end if + trflx_h => tracers%work%dvd_trflx_hor(:,:,:) + trflx_v => tracers%work%dvd_trflxv_ver(:,:,:) + trstar => tracers%work%dvd_trstar(:,:,:) + + +end subroutine compute_diagnostics ! ! !_______________________________________________________________________________ diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index 4f2e9e1b8..ba1417a36 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -54,6 +54,7 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, use oce_adv_tra_ver_interfaces use oce_adv_tra_fct_interfaces use oce_tra_adv_flux2dtracer_interface + USE DIAGNOSTICS, only: ldiag_DVD implicit none real(kind=WP), intent(in), target :: dt integer, intent(in) :: tr_num @@ -103,7 +104,7 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, fct_minus => tracers%work%fct_minus dttf_h => tracers%work%del_ttf_advhoriz dttf_v => tracers%work%del_ttf_advvert - + !___________________________________________________________________________ ! compute FCT horzontal and vertical low order solution as well as lw order ! part of antidiffusive flux @@ -259,8 +260,8 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, ! oce_ale_tracer.F90 --> subroutine diff_ver_part_impl_ale(tr_num, partit, mesh) ! for do_wimpl=.true. END SELECT + !___________________________________________________________________________ - ! if (trim(tracers%data(tr_num)%tra_adv_lim)=='FCT') then !edge_up_dn_grad will be used as an auxuary array here call oce_tra_adv_fct(dt, ttf, fct_LO, adv_flux_hor, adv_flux_ver, fct_ttf_min, fct_ttf_max, fct_plus, fct_minus, edge_up_dn_grad, partit, mesh) @@ -269,6 +270,16 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, call oce_tra_adv_flux2dtracer(dt, dttf_h, dttf_v, adv_flux_hor, adv_flux_ver, partit, mesh) end if + !___________________________________________________________________________ + ! DVD diagostic: store horizontal and vertical tracer fluxes through mid + ! edge faces and upper and lower scalar cell prism face. Consider here special + ! reconstruction value depending on horiz/vertical advection scheme. Only do + ! this for temperature and salinity + if (ldiag_DVD) .and. (tr_num<=2) then + tracer%work%dvd_trflx_hor(:,:,tr_num) = adv_flux_hor + tracer%work%dvd_trflx_ver(:,:,tr_num) = adv_flux_ver + end if + end subroutine do_oce_adv_tra ! ! diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 932110adf..6639b23e0 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -141,6 +141,7 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) use Toy_Channel_Soufflet use diff_tracers_ale_interface use oce_adv_tra_driver_interfaces + USE DIAGNOSTICS, only: ldiag_DVD implicit none type(t_ice) , intent(in) , target :: ice type(t_dyn) , intent(inout), target :: dynamics @@ -193,6 +194,12 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! loop over all tracers do tr_num=1, tracers%num_tracers + + ! DVD diagostic: store tracer (only temp and salt) from previouse time steps + if (ldiag_DVD) .and. (tr_num<=2) then + tracers%work%dvd_trstar(:,:, tr_num) = tracers%data(tr_num)%values + end if + ! do tracer AB (Adams-Bashfort) interpolation only for advectiv part ! needed if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call init_tracers_AB'//achar(27)//'[0m' @@ -228,18 +235,22 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) tracers%work%del_ttf(:, node)=tracers%work%del_ttf(:, node)+tracers%work%del_ttf_advhoriz(:, node)+tracers%work%del_ttf_advvert(:, node) end do !$OMP END PARALLEL DO - !___________________________________________________________________________ - ! AB is not needed after the advection step. Initialize it with the current tracer before it is modified. - ! call init_tracers_AB at the beginning of this loop will compute AB for the next time step then. + + !___________________________________________________________________________ + ! AB is not needed after the advection step. Initialize it with the current tracer before it is modified. + ! call init_tracers_AB at the beginning of this loop will compute AB for the next time step then. !$OMP PARALLEL DO do node=1, myDim_nod2d+eDim_nod2D tracers%data(tr_num)%valuesAB(:, node)=tracers%data(tr_num)%values(:, node) !DS: check that this is the right place! end do !$OMP END PARALLEL DO + + !___________________________________________________________________________ ! diffuse tracers if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call diff_tracers_ale'//achar(27)//'[0m' call diff_tracers_ale(tr_num, dynamics, tracers, partit, mesh) + !___________________________________________________________________________ ! relax to salt and temp climatology if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call relax_to_clim'//achar(27)//'[0m' ! if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index e6ea48722..24a163eab 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -279,7 +279,7 @@ SUBROUTINE tracer_init(tracers, partit, mesh) type(t_mesh), intent(in) , target :: mesh type(nml_tracer_list_type), target, allocatable :: nml_tracer_list(:) !___________________________________________________________________________ - integer :: elem_size, node_size + integer :: elem_size, node_size, edge_size integer, save :: nm_unit = 104 ! unit to open namelist file, skip 100-102 for cray integer :: iost integer :: n @@ -328,8 +328,9 @@ SUBROUTINE tracer_init(tracers, partit, mesh) !___________________________________________________________________________ ! define local vertice & elem array size + number of tracers - elem_size=myDim_elem2D+eDim_elem2D - node_size=myDim_nod2D+eDim_nod2D + elem_size=myDim_elem2D + eDim_elem2D + node_size=myDim_nod2D + eDim_nod2D + edge_size=myDim_edge2D tracers%num_tracers=num_tracers !___________________________________________________________________________ @@ -359,9 +360,12 @@ SUBROUTINE tracer_init(tracers, partit, mesh) tracers%work%del_ttf_advhoriz = 0.0_WP tracers%work%del_ttf_advvert = 0.0_WP if (ldiag_DVD) then - allocate(tracers%work%tr_dvd_horiz(nl-1,node_size,2),tracers%work%tr_dvd_vert(nl-1,node_size,2)) - tracers%work%tr_dvd_horiz = 0.0_WP - tracers%work%tr_dvd_vert = 0.0_WP + allocate(tracers%work%dvd_trflx_hor(nl-1,edge_size)),2) + allocate(tracers%work%dvd_trflx_ver(nl ,node_size),2) + allocate(tracers%work%dvd_trstar( nl ,node_size),2) + tracers%work%dvd_trflx_hor = 0.0_WP + tracers%work%dvd_trflx_ver = 0.0_WP + tracers%work%dvd_trstar = 0.0_WP end if END SUBROUTINE tracer_init ! From 7882a0dc0d7fac22a0df87b960388901d9458833 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 28 Nov 2023 14:10:28 +0100 Subject: [PATCH 076/273] change variable names a bit --- src/MOD_TRACER.F90 | 18 +++++++++--------- src/oce_setup_step.F90 | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/MOD_TRACER.F90 b/src/MOD_TRACER.F90 index b43428caf..80b9e08de 100644 --- a/src/MOD_TRACER.F90 +++ b/src/MOD_TRACER.F90 @@ -33,9 +33,9 @@ MODULE MOD_TRACER ! edge faces for temperature and salintiy. These fluxes ! are already computed in adv_flux_hor, adv_flux_ver ! but not saved -! dvd_trstar ... starts with tracer from previouse time steps becomes later -! Tstar = 0.5*( T^(n+1) + T^n) -real(kind=WP), allocatable :: dvd_trflx_hor(:,:,:), dvd_trflx_ver, dvd_trstar(:,:,:) +! dvd_trold ... tracer from previouse time steps later needed to +! compute Tstar = 0.5*( T^(n+1) + T^n) +real(kind=WP), allocatable, dimension(:,:,:) :: dvd_trflx_hor, dvd_trflx_ver, dvd_trold !_______________________________________________________________________________ ! The fct part @@ -153,9 +153,9 @@ subroutine WRITE_T_TRACER_WORK(twork, unit) call write_bin_array(twork%del_ttf, unit, iostat, iomsg) call write_bin_array(twork%del_ttf_advhoriz, unit, iostat, iomsg) call write_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) - call write_bin_array(twork%dvd_trflx_h, unit, iostat, iomsg) - call write_bin_array(twork%dvd_trflx_v, unit, iostat, iomsg) - call write_bin_array(twork%dvd_trstar, unit, iostat, iomsg) + call write_bin_array(twork%dvd_trflx_hor, unit, iostat, iomsg) + call write_bin_array(twork%dvd_trflx_ver, unit, iostat, iomsg) + call write_bin_array(twork%dvd_trold, unit, iostat, iomsg) call write_bin_array(twork%fct_LO, unit, iostat, iomsg) call write_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) call write_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) @@ -179,9 +179,9 @@ subroutine READ_T_TRACER_WORK(twork, unit) call read_bin_array(twork%del_ttf, unit, iostat, iomsg) call read_bin_array(twork%del_ttf_advhoriz, unit, iostat, iomsg) call read_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) - call read_bin_array(twork%dvd_trflx_h, unit, iostat, iomsg) - call read_bin_array(twork%dvd_trflx_v, unit, iostat, iomsg) - call read_bin_array(twork%dvd_trstar, unit, iostat, iomsg) + call read_bin_array(twork%dvd_trflx_hor, unit, iostat, iomsg) + call read_bin_array(twork%dvd_trflx_ver, unit, iostat, iomsg) + call read_bin_array(twork%dvd_trold, unit, iostat, iomsg) call read_bin_array(twork%fct_LO, unit, iostat, iomsg) call read_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) call read_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 24a163eab..3300844fd 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -360,12 +360,12 @@ SUBROUTINE tracer_init(tracers, partit, mesh) tracers%work%del_ttf_advhoriz = 0.0_WP tracers%work%del_ttf_advvert = 0.0_WP if (ldiag_DVD) then - allocate(tracers%work%dvd_trflx_hor(nl-1,edge_size)),2) - allocate(tracers%work%dvd_trflx_ver(nl ,node_size),2) - allocate(tracers%work%dvd_trstar( nl ,node_size),2) + allocate(tracers%work%dvd_trflx_hor(nl-1, edge_size, 2)) + allocate(tracers%work%dvd_trflx_ver(nl , node_size, 2)) + allocate(tracers%work%dvd_trold( nl , node_size, 2)) tracers%work%dvd_trflx_hor = 0.0_WP tracers%work%dvd_trflx_ver = 0.0_WP - tracers%work%dvd_trstar = 0.0_WP + tracers%work%dvd_trold = 0.0_WP end if END SUBROUTINE tracer_init ! From 3e9e4ac42912c0bcffe5ea200e4abe2b833441b9 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 28 Nov 2023 14:11:49 +0100 Subject: [PATCH 077/273] save the advectiv fluxes from the advection subroutine that are needed for dvd --- src/oce_adv_tra_driver.F90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index ba1417a36..9fdaebd59 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -275,9 +275,9 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, ! edge faces and upper and lower scalar cell prism face. Consider here special ! reconstruction value depending on horiz/vertical advection scheme. Only do ! this for temperature and salinity - if (ldiag_DVD) .and. (tr_num<=2) then - tracer%work%dvd_trflx_hor(:,:,tr_num) = adv_flux_hor - tracer%work%dvd_trflx_ver(:,:,tr_num) = adv_flux_ver + if ((ldiag_DVD) .and. (tr_num<=2)) then + tracers%work%dvd_trflx_hor(:,:,tr_num) = adv_flux_hor(:,:) + tracers%work%dvd_trflx_ver(:,:,tr_num) = adv_flux_ver(:,:) end if end subroutine do_oce_adv_tra From a89e7135d1db2f4f6f7f045c6d2ad0ee58965e11 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 28 Nov 2023 14:13:22 +0100 Subject: [PATCH 078/273] rescue hnode from timesteps n since the varaible hnode becomes at the end of the ocean timestep overwritten with timestep n+1 --- src/oce_ale.F90 | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 973f81161..f933e1a22 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -965,12 +965,14 @@ subroutine update_thickness_ale(partit, mesh) USE MOD_PARSUP use o_ARRAYS use g_config,only: which_ale,lzstar_lev,min_hnode + use diagnostics, only: ldiag_DVD implicit none type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(inout), target :: mesh !___________________________________________________________________________ integer :: n, nz, elem, elnodes(3),nzmax, nzmin integer , dimension(:), allocatable :: idx + real(kind=WP) :: rescue_hnode_old(mesh%nl-1) !___________________________________________________________________________ ! pointer on necessary derived types #include "associate_part_def.h" @@ -1056,17 +1058,46 @@ subroutine update_thickness_ale(partit, mesh) ! this ones are set up during initialisation and are not touched afterwards ! --> nlevels_nod2D_min(n),nlevels_nod2D_min(n)-1 do nz=nzmax,nzmin,-1 + ! --> case normal zlevel + ! at this point hnode = hode^(n) becomes hnode^(n+1) but i need the + ! hnode^(n) value for the DVD analysis in call diagnostic() therefore + ! i need to rescue this value before it gets dumped + rescue_hnode_old(nz) = hnode(nz,n) + hnode(nz,n) = hnode_new(nz,n) zbar_3d_n(nz,n) = zbar_3d_n(nz+1,n)+hnode_new(nz,n) Z_3d_n(nz,n) = zbar_3d_n(nz+1,n)+hnode_new(nz,n)/2.0_WP end do + + ! save hnode^(n) now in the variable hnode_new --> be carefull this + ! might be confusing here for later ! --> it will only happen when + ! the DVD diagnostic is active ! + if (ldiag_DVD) then + do nz=nzmax,nzmin,-1 + hnode_new(nz,n) = rescue_hnode_old(nz) + end do + end if + !___________________________________________________________________ ! only actualize layer thinkness in first layer else ! --> case normal zlevel + ! at this point hnode = hode^(n) becomes hnode^(n+1) but i need the + ! hnode^(n) value for the DVD analysis in call diagnostic() therefore + ! i need to rescue this value before it gets dumped + rescue_hnode_old(nzmin) = hnode(nzmin,n) + hnode(nzmin,n) = hnode_new(nzmin,n) zbar_3d_n(nzmin,n)= zbar_3d_n(nzmin+1,n)+hnode_new(nzmin,n) Z_3d_n(nzmin,n) = zbar_3d_n(nzmin+1,n)+hnode_new(nzmin,n)/2.0_WP + + ! save hnode^(n) now in the variable hnode_new --> be carefull this + ! might be confusing here for later ! --> it will only happen when + ! the DVD diagnostic is active ! + if (ldiag_DVD) then + hnode_new(nzmin,n) = rescue_hnode_old(nzmin) + end if + end if end do !$OMP END DO @@ -1095,10 +1126,26 @@ subroutine update_thickness_ale(partit, mesh) ! do not touch zbars_3d_n that are involved in the bottom cell !!!! ! --> nlevels_nod2D_min(n),nlevels_nod2D_min(n)-1 do nz=nzmax, nzmin,-1 + ! at this point hnode = hode^(n) becomes hnode^(n+1) but i need the + ! hnode^(n) value for the DVD analysis in call diagnostic() therefore + ! i need to rescue this value before it gets dumped + rescue_hnode_old(nz) = hnode(nz,n) + hnode(nz,n) = hnode_new(nz,n) zbar_3d_n(nz,n) = zbar_3d_n(nz+1,n) + hnode_new(nz,n) Z_3d_n(nz,n) = zbar_3d_n(nz+1,n) + hnode_new(nz,n)/2.0_WP end do + + !___________________________________________________________________ + ! save hnode^(n) now in the variable hnode_new --> be carefull this + ! might be confusing here for later ! --> it will only happen when + ! the DVD diagnostic is active ! + if (ldiag_DVD) then + do nz=nzmax, nzmin,-1 + hnode_new(nz,n) = rescue_hnode_old(nz) + end do + end if + end do !$OMP END PARALLEL DO !_______________________________________________________________________ From 2571de611b45d59def6ba09d4a8166c78f0bce5a Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 28 Nov 2023 14:14:21 +0100 Subject: [PATCH 079/273] save the tracer from timestep n before it gets overwritten with timestep n+1 --- src/oce_ale_tracer.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 6639b23e0..88a1a1e43 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -196,8 +196,8 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) do tr_num=1, tracers%num_tracers ! DVD diagostic: store tracer (only temp and salt) from previouse time steps - if (ldiag_DVD) .and. (tr_num<=2) then - tracers%work%dvd_trstar(:,:, tr_num) = tracers%data(tr_num)%values + if ((ldiag_DVD) .and. (tr_num<=2)) then + tracers%work%dvd_trold(:,:, tr_num) = tracers%data(tr_num)%values end if ! do tracer AB (Adams-Bashfort) interpolation only for advectiv part From e7446bf0861f68034143ebc828fe6bff809e03ff Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 6 Dec 2023 10:54:44 +0100 Subject: [PATCH 080/273] add sergey way to compute the dvd, switch with flag do_SDdvd to switch betweeen KK and SD DVD computation --- src/gen_modules_diag.F90 | 1203 ++++++++++++++++++++++++++++++++------ 1 file changed, 1020 insertions(+), 183 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 9616ae9bc..32f38ec86 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -22,7 +22,8 @@ module diagnostics std_dens_min, std_dens_max, std_dens_N, std_dens, & std_dens_UVDZ, std_dens_DIV, std_dens_DIV_fer, std_dens_Z, std_dens_H, std_dens_dVdT, std_dens_flux, & dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, & - compute_dvd, dvd_tot, dvd_chi_adv, dvd_chi_adv_h, dvd_chi_adv_v, dvd_chi_diff_h, dvd_chi_diff_v + compute_dvd, dvd_tot_KK, dvd_tot_SD, dvd_SD_chi_adv, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, & + dvd_SD_chi_dif_h, dvd_SD_chi_dif_v ! Arrays used for diagnostics, some shall be accessible to the I/O ! 1. solver diagnostics: A*x=rhs? @@ -58,8 +59,8 @@ module diagnostics !_____________________________________________________________________________ ! DVD diagnostics - real(kind=WP), save, allocatable, target :: dvd_tot(:,:,:), dvd_chi_adv(:,:,:), dvd_chi_adv_h(:,:,:), & - dvd_chi_adv_v(:,:,:), dvd_chi_diff_h(:,:,:), dvd_chi_diff_v(:,:,:) + real(kind=WP), save, allocatable, target :: dvd_tot_KK(:,:,:), dvd_tot_SD(:,:,:), dvd_SD_chi_adv(:,:,:), dvd_SD_chi_adv_h(:,:,:), & + dvd_SD_chi_adv_v(:,:,:), dvd_SD_chi_dif_h(:,:,:), dvd_SD_chi_dif_v(:,:,:) !_____________________________________________________________________________ ! Define diagnostic flags + with corresponding namelist @@ -897,227 +898,1063 @@ end subroutine compute_diagnostics ! compute spurious mixing diagnostic dvd subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) IMPLICIT NONE - integer, intent(in) :: mode - logical, save :: firstcall=.true. - type(t_dyn) , intent(in), target :: dynamics - type(t_tracer), intent(in) , target :: tracers - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh - integer :: node, edge, nz, nzmin, nzmax - + integer, intent(in) :: mode + logical, save :: firstcall=.true. + type(t_dyn) , intent(in), target :: dynamics + type(t_tracer), intent(in) , target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer :: tr_num, node, edge, nz ! loop indices + integer :: nu12, nl12, nl1, nl2, nu1, nu2 + integer :: ednodes(2), edelem(2), elnodes(3) + real(kind=8) :: c1, c2, deltaX1, deltaY1, deltaX2, deltaY2, vflux, trXflx, Dflx(mesh%nl), trup, trdwn + real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, trstar, tr, Wvel, dump + real(kind=WP), dimension(:,:,:), pointer :: UV #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" #include "associate_mesh_ass.h" if (firstcall) then !allocate the stuff at the first call - allocate(dvd_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_chi_adv( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_chi_diff_h(nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_chi_diff_v(nl-1, myDim_nod2D+eDim_nod2D, 2)) - dvd_tot = 0.0_WP - dvd_chi_adv = 0.0_WP - dvd_chi_adv_h = 0.0_WP - dvd_chi_adv_v = 0.0_WP - dvd_chi_diff_h = 0.0_WP - dvd_chi_diff_v = 0.0_WP + allocate(dvd_tot_KK( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_tot_SD( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) if (mode==0) return end if - trflx_h => tracers%work%dvd_trflx_hor(:,:,:) - trflx_v => tracers%work%dvd_trflxv_ver(:,:,:) - trstar => tracers%work%dvd_trstar(:,:,:) - + !___________________________________________________________________________ + ! initialise each time diagnostic is computed + dvd_tot_KK = 0.0_WP ! --> DVD diagnostic after Klingbeil et al. + dvd_tot_SD = 0.0_WP ! --> DVD diagnostic after Sergey see Tridib et al. + dvd_SD_chi_adv = 0.0_WP + dvd_SD_chi_adv_h = 0.0_WP + dvd_SD_chi_adv_v = 0.0_WP + dvd_SD_chi_dif_h = 0.0_WP + dvd_SD_chi_dif_v = 0.0_WP + + !___________________________________________________________________________ + UV => dynamics%uv(:,:,:) + Wvel => dynamics%w(:,:) + do tr_num=1,2 + !_______________________________________________________________________ + ! create pointer to reconstructed tracer fluxes through mid edge face, and + ! upper lower cell prism face and for tracer^n and tracer^(n+1) + trflx_h => tracers%work%dvd_trflx_hor( :,:,tr_num) ! horizontal advectiv tracer flux through mid edge face using AB tracer + trflx_v => tracers%work%dvd_trflx_ver(:,:,tr_num) ! vertical advectiv tracer flux + trstar => tracers%work%dvd_trold( :,:,tr_num) ! tracer^n + tr => tracers%data(tr_num)%values(:,:) ! tracer^(n+1) + dump => tracers%work%del_ttf + + ! + !=== DVD Knut Klingbeil et al. 2014 ==================================== + ! add time derivativ of 2nd. moment tracer + ! --> at this point trstar corresponds to tr_old + call dvd_add_time_deriv(tr_num, dvd_tot_KK, trstar , tr , partit, mesh) + + ! from here on compute Tstar = ( T^(n+1) + T^(n) )*0.5 + trstar = (trstar + tr)*0.5_WP + + ! compute horizontal 2nd moment tracer flux from advective tracer fluxes at mid + ! edge face + call dvd_add_advflux_hor( .false., tr_num, dvd_tot_KK, trflx_h, UV, trstar, dump, partit, mesh) + + ! add vertical 2nd moment tracer flux at upper/lower scalar cell prism interface + call dvd_add_advflux_ver( .false., tr_num, dvd_tot_KK, trflx_v, Wvel, trstar, partit, mesh) + + ! add contribution from horizontal diffusion flux (after klingbeil et al. 2014) + call dvd_add_difflux_hor( .false., tr_num, dvd_tot_KK, tr, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) + + ! add contribution from vertical diffusion flux (after klingbeil et al. 2014) + call dvd_add_difflux_vert(.false., tr_num, dvd_tot_KK, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) + + ! add contribution from horizontal biharmonic diffusion flux if applied + if (tracers%data(tr_num)%smooth_bh_tra) then + call dvd_add_difflux_bhvisc(.false., tr_num, dvd_tot_KK, tr, trstar,& + tracers%data(tr_num)%gamma0_tra, tracers%data(tr_num)%gamma1_tra, & + tracers%data(tr_num)%gamma2_tra, dump, partit, mesh) + end if + + ! + !=== DVD Sergey Danilov after Tridib et al. 2023 ======================= + ! add contribution from horizontal advection + call dvd_add_advflux_hor( .true., tr_num, dvd_SD_chi_adv_h, trflx_h, UV, trstar, dump, partit, mesh) + + ! add contribution from vertical advection + call dvd_add_advflux_ver( .true., tr_num, dvd_SD_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) + + ! add contribution from horizontal diffusion + call dvd_add_difflux_hor( .true., tr_num, dvd_SD_chi_dif_h, tr, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) + + ! add contribution from vertical diffusion + call dvd_add_difflux_vert(.true., tr_num, dvd_SD_chi_dif_v, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) + + end do !--> do tr_num=1,2 +end subroutine compute_dvd +! +! +!_______________________________________________________________________________ +! add time derivativ of 2nd. moment tracer +! Xchi^(n+1) = ...+ ( V^(n+1)*(Tr^(n+1))^2 + V^(n)*(Tr^(n))^2 )/ V^(n+1) +... +subroutine dvd_add_time_deriv(tr_num, dvd_tot, tr_old, tr, partit, mesh) + implicit none + type(t_partit), intent(in) , target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer , intent(in) :: tr_num + real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: tr_old( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + integer :: node, nz, nu1, nl1 + real(kind=WP) :: tr_n, tr_np1 -end subroutine compute_diagnostics +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + ! add time derivative of 2nd moment tracer´ + do node=1, myDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node) + do nz=nu1, nl1-1 + ! (T^(n+1))^2 + tr_np1 = hnode(nz,node) * tr(nz,node)*tr(nz, node) + ! (T^(n))^2 + ! !!! ATTENTION: !!! + ! hnode^(n+1) is stored in the variable hnode and hnode^(n) is + ! stored here in the variable hnode_new, since hnode^(n) was other + ! wise overwritten by hnode^(n+1) in the variable hnode + tr_n = hnode_new(nz,node) * tr_old(nz,node)*tr_old(nz, node) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (tr_np1-tr_n)/dt/hnode(nz, node) + end do !--> do nz=nu1, nl1-1 + end do !-->do node=1, myDim_nod2D +end subroutine dvd_add_time_deriv ! ! !_______________________________________________________________________________ -! calculate horizintal and vertical advection for squared tracer (2nd moments) -! see: -! Burchard and Rennau, 2008, Comparative quantification of physically and -! numerically induced mixing in ocean models ... -! Rennau, and Burchard, 2009, Quantitative analysis of numerically induced mixing -! in a coastal model application ... -! Klingbeil et al., 2014, Quantification of spurious dissipation and mixing – -! Discrete variance decay in a Finite-Volume framework ... -subroutine compute_diag_dvd_2ndmoment_burchard_etal_2008(tr_num, tracers, partit, mesh) - use o_arrays - use oce_adv_tra_driver_interfaces +! add vertical 2nd. moment tracer flux +! Xchi^(n+1) = ...+ ( Tr^(n+1) * Advflx_ver[Tr^(n+1)] )/ V^(n+1) +... +subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, dump, partit, mesh) implicit none - type(t_mesh), intent(in), target :: mesh - type(t_partit), intent(inout), target :: partit - type(t_tracer), intent(inout), target :: tracers - integer, intent(in) :: tr_num - integer :: node, nz, nzmin, nzmax - real(kind=WP) :: tr_sqr(mesh%nl-1,partit%myDim_nod2D+partit%eDim_nod2D), trAB_sqr(mesh%nl-1,partit%myDim_nod2D+partit%eDim_nod2D) + type(t_partit), intent(in) , target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer , intent(in) :: tr_num + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + real(kind=WP) , intent(inout) :: dvd_tot( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: trflx_h( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D) + real(kind=WP) , intent(in) :: UV( mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D, 2) + real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(inout) :: dump( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + integer :: node, edge, nz, nu12, nl12, nl1, nl2, nu1, nu2 + integer :: ednodes(2), edelem(2), elnodes(3) + real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, vflx, tr2flx, xchi #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" -#include "associate_mesh_ass.h" - +#include "associate_mesh_ass.h" !___________________________________________________________________________ - ! square up fields for actual tracers and Adams Bashfort tracer - ! --> dont forget to square also the halo !!! --> that why do node = ...+eDim_nod2D - tr_sqr = 0.0_WP - trAB_sqr = 0.0_WP - do node = 1, myDim_nod2D+eDim_nod2D - !!PS do nz = 1, nlevels_nod2D(node)-1 - nzmax = nlevels_nod2D(node)-1 - nzmin = ulevels_nod2D(node) - do nz = nzmin, nzmax - tr_sqr(nz,node) = tracers%data(tr_num)%values (nz,node)**2 - trAB_sqr(nz,node) = tracers%data(tr_num)%valuesAB(nz,node)**2 - end do + ! reuse here an already allocated working array --> initialise first + do node=1, myDim_nod2D+eDim_nod2D + dump(:, node)=0.0_WP end do + + ! compute horizontal 2nd moment tracer flux from advective tracer fluxes at mid + ! edge face (tr^2) and add it to dvd_tot + do edge = 1, myDim_edge2D + ! local indice of nodes that span up edge ed + ednodes = edges(:,edge) + ! local index of element that contribute to edge + edelem = edge_tri(:,edge) + !nl1 ... num of layers -1 at elem el(1), nu1...idx off surf layer in case of cavity !=1 + nl1 = nlevels(edelem(1))-1 + nu1 = ulevels(edelem(1)) + ! edge_cross_dxdy(1:2,ed)... dx,dy distance from element centroid el(1) to + ! center of edge --> needed to calc flux perpedicular to edge from elem el(1) + deltaX1 = edge_cross_dxdy(1,edge) + deltaY1 = edge_cross_dxdy(2,edge) + !_______________________________________________________________________ + ! same parameter but for other element el(2) that contributes to edge ed + ! if el(2)==0 than edge is boundary edge + nl2 = 0 + nu2 = 0 + if(edelem(2)>0) then + deltaX2 = edge_cross_dxdy(3,edge) + deltaY2 = edge_cross_dxdy(4,edge) + ! number of layers -1 at elem el(2) + nl2 = nlevels(edelem(2))-1 + nu2 = ulevels(edelem(2)) + end if !-->if(el(2)>0) then + !_______________________________________________________________________ + ! nl12 ... minimum number of layers -1 between element el(1) & el(2) that + ! contribute to edge ed, nu12 ... upper index of layers between element + ! el(1) & el(2) that contribute to edge ed + ! be carefull !!! --> if ed is a boundary edge than el(1)~=0 and el(2)==0 + nl12=min(nl1,nl2) + nu12=max(nu1,nu2) + !_______________________________________________________________________ + ! (A) this loop only when edge has 1 facing element el(1) -> bnd edge + do nz=nu1, nu12-1 + ! volume and 2nd moment tracer flux across across mid-edge faces + ! --> (tr^2)*vflx/V = (tr*vflx)^2/vflx/(A*h) + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during advection, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new ! + elnodes= elem2D_nodes(:, edelem(1)) + vflx = (-UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP + + ! knut way to compute total DVD + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + + ! sergey way to compute advective component of DVD eq. 26 + ! U = u*h + ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - + ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] + xchi = trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is + ! distributed to one node and the other half goes to the other node. + ! Therefor factor 2.0_WP*... is omitted + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, tr2flx, do_SDdvd) + end do !--> do nz=nu1, nu12-1 + !_______________________________________________________________________ + ! (B) this loop only when edge has 1 facing element el(2) -> bnd edge --> in cavity case + if (nu2 > 0) then + do nz=nu2, nu12-1 + ! volume and 2nd moment tracer flux across across mid-edge faces + ! --> (tr^2)*vflx/V = (tr*vflx)^2/vflx/(A*h) + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during advection, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new ! + elnodes= elem2D_nodes(:, edelem(2)) + vflx = (-UV(2, nz, edelem(2))*deltaX2 + UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP + + ! knut way to compute total DVD + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + + ! sergey way to compute advective component of DVD eq. 26 + ! U = u*h + ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - + ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] + xchi = trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is + ! distributed to one node and the other half goes to the other node. + ! Therefor factor 2.0_WP*... is omitted + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, tr2flx, do_SDdvd) + + end do !--> do nz=nu2, nu12-1 + end if !--> if (nu2 > 0) then + + !_______________________________________________________________________ + ! (C) this loop if edge has both triangles valid + do nz=nu12, nl12 + ! volume and 2nd moment tracer flux across across mid-edge faces + ! --> (tr^2)*vflx/V = (tr*vflx)^2/vflx/(A*h) + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during advection, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new ! + elnodes= elem2D_nodes(:, edelem(1)) + vflx = ( -UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1 )*sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(2)) + vflx = vflx + ( UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2 )*sum(hnode_new(nz, elnodes))/3.0_WP + + ! knut way to compute total DVD + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + + ! sergey way to compute advective component of DVD eq. 26 + ! U = u*h + ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - + ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] + xchi = trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is + ! distributed to one node and the other half goes to the other node. + ! Therefor factor 2.0_WP*... is omitted + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, tr2flx, do_SDdvd) + + end do !--> do nz=nu12, nl12 + + !_______________________________________________________________________ + ! (D) this loop only when edge has 1 facing element el(1) -> bnd edge + ! at bottom topography + do nz=nl12+1, nl1 + ! volume and 2nd moment tracer flux across across mid-edge faces + ! --> (tr^2)*vflx/V = (tr*vflx)^2/vflx/(A*h) + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during advection, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new ! + elnodes= elem2D_nodes(:, edelem(1)) + vflx = (-UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP + + ! knut way to compute total DVD + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + + ! sergey way to compute advective component of DVD eq. 26 + ! U = u*h + ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - + ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] + xchi = trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is + ! distributed to one node and the other half goes to the other node. + ! Therefor factor 2.0_WP*... is omitted + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, tr2flx, do_SDdvd) + + end do !--> do nz=nl12+1, nl1 + + !_______________________________________________________________________ + ! (E) this loop only when edge has 1 facing element el(2) -> bnd edge + ! at bottom topography + do nz=nl12+1, nl2 + ! volume and 2nd moment tracer flux across across mid-edge faces + ! --> (tr^2)*vflx/V = (tr*vflx)^2/vflx/(A*h) + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during advection, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new ! + elnodes= elem2D_nodes(:, edelem(2)) + vflx = (-UV(2, nz, edelem(2))*deltaX1 + UV(1, nz, edelem(2))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP + + ! knut way to compute total DVD + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + + ! sergey way to compute advective component of DVD eq. 26 + ! U = u*h + ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - + ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] + xchi = trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is + ! distributed to one node and the other half goes to the other node. + ! Therefor factor 2.0_WP*... is omitted + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, tr2flx, do_SDdvd) + + end do !--> do nz=nl12+1, nl2 + end do !--> do edge=1, myDim_edge2D + !___________________________________________________________________________ - ! calculate horizintal and vertical advection for squared tracer (2nd moments) - ! see Burchard and Rennau, 2008, Comparative quantification of physically and - ! numerically induced mixing in ocean models ... - tracers%work%del_ttf_advhoriz = 0.0_WP - tracers%work%del_ttf_advvert = 0.0_WP -! maybe just to introduce an another tharer of t_tracer type with **do_Xmoment? -! call do_oce_adv_tra(dt, UV, wvel, wvel_i, wvel_e, tr_sqr, trAB_sqr, 1, tracers%work%del_ttf_advhoriz, tracers%work%del_ttf_advvert, tra_adv_ph, tra_adv_pv, partit, mesh) - !___________________________________________________________________________ - ! add target second moment to DVD - do node = 1,mydim_nod2D - !!PS do nz = 1,nlevels_nod2D(node)-1 - nzmax = nlevels_nod2D(node)-1 - nzmin = ulevels_nod2D(node) - do nz = nzmin, nzmax - ! eq 16 & 17 Klingbeil et al. 2014 - ! - ! (phi^2)^(n+1) = 1/V^(n+1)*[ V^(n)*(phi^2)^(n) + dt*ADV[phi^2] ] - ! - ! DVD = 1/dt * [ (phi^2)^(n+1) - ( phi^(n+1) )^2 ] - ! | - ! v - ! first this part - ! --> split it up in DVD contribution from horizontal and vertical - ! advection since for the horizontal advection Adams Bashfort tracer - ! are used and for the vertical the normal tracer values. - tracers%work%tr_dvd_horiz(nz,node,tr_num) = hnode(nz,node)/hnode_new(nz,node)*trAB_sqr(nz,node) - tracers%work%del_ttf_advhoriz(nz,node)/hnode_new(nz,node) - tracers%work%tr_dvd_vert (nz,node,tr_num) = hnode(nz,node)/hnode_new(nz,node)*tr_sqr( nz,node) - tracers%work%del_ttf_advvert( nz,node)/hnode_new(nz,node) - end do + ! switch from Xchi_tilde --> Xchi +!PS if (.not. do_SDdvd) then + do node=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node)-1 + dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) end do -end subroutine compute_diag_dvd_2ndmoment_burchard_etal_2008 +!PS end if +end subroutine dvd_add_advflux_hor ! ! +!_______________________________________________________________________________ +! add vertical 2nd. moment tracer flux +! Xchi^(n+1) = ...+ ( Tr^(n+1) * Advflx_ver[Tr^(n+1)] )/ V^(n+1) +... +subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, partit, mesh) + implicit none + type(t_partit), intent(in) , target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer , intent(in) :: tr_num + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + real(kind=WP) , intent(inout) :: dvd_tot( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: trflx_v( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: Wvel( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + integer :: node, nz, nu1, nl1 + real(kind=WP) :: tr2flx, vflx, xchi(mesh%nl) + +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + if (do_SDdvd) then + !_______________________________________________________________________ + ! compute DVD contribution from vertical advection after Sergeys method + ! --> see eq. 26 in Tridib et al. 2023 --> U = u*h, T^tilde face reconstructed + ! value + ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - + ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] + do node=1,myDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node) + + !___________________________________________________________________ + ! surface (nu1+1 -1) and bulk + xchi = 0.0_WP + do nz=nu1+1,nl1-1 + ! --> here we are on full depth levels + xchi(nz) = trflx_v(nz, node)*(trstar(nz-1, node)-trstar(nz, node)) - & + Wvel(nz, node)*area(nz, node)*0.5_WP*(trstar(nz-1, node)+trstar(nz, node))*(trstar(nz-1, node)-trstar(nz, node)) + ! !!! ATTENTION: !!! + ! --> here hnode must be the vertice thickness that was used + ! during advection, which was hnode^(n), but hnode^(n) got overwritten + ! with hnode^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!) + + ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is + ! distributed to one node and the other half goes to the other node. + ! Therefor factor 2.0_WP*... is omitted + ! --> here we are on mid-depth levels + dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) - (xchi(nz-1) + xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) + + !--> why divide with dz why switching from Xchi_tilde --> Xchi? + end do !--> do nz=nu1+1,nl1-1 + + !___________________________________________________________________ + ! same for bottom + nz=nl1-1 + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (xchi(nz) + xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) + + end do !--> do node=1,myDim_nod2D + + else + !_______________________________________________________________________ + ! compute vertical 2nd moment tracer flux from advective tracer fluxes + ! at scalar cell prism interface after Klingbeil etal 2014 + do node=1,myDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node) + + !___________________________________________________________________ + ! surface + nz = nu1 + ! in case of cavity nu1 is also a hard boundary with boundary condition + ! Wvel(nu1)==0 --> 1/(Wvel(nz,n)*area(nz,n))--> Inf + ! !!! ATTENTION: !!! + ! --> here hnode must be the vertice thickness that was used + ! during advection, which was hnode^(n), but hnode^(n) got overwritten + ! with hnode^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!) + if (nu1>1) then + ! volume and tracer flux across upper cell prism face + vflx = Wvel(nz, node)*area(nz, node) + tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) + end if + ! volume and tracer flux across lower cell prism face + vflx = Wvel(nz+1, node)*area(nz+1, node) + tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) + + !_______________________________________________________________________ + ! bulk + do nz=nu1+1,nl1-2 ! stop two layers over botrtom since Wvel(nl1)==0 --> 1/Wvel(nl1) --> Inf + ! volume and tracer flux across upper cell prism face + vflx = Wvel(nz, node)*area(nz, node) + tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) + + ! volume and tracer flux across lower cell prism face + vflx = Wvel(nz+1, node)*area(nz+1, node) + tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) + end do !--> do nz=nu1,nl1 + + !_______________________________________________________________________ + ! bottom + nz = nl-1 + vflx = Wvel(nz,node)*area(nz,node) + tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) + ! --> do here not nz+1 since Wvel(nz+1)==0 (bottom bnd condition) --> 1/(Wvel(nz+1,n)*area(nz+1,n)) --> Inf + end do !--> do node=1,myDim_nod2D + end if +end subroutine dvd_add_advflux_ver ! ! !_______________________________________________________________________________ -! calculate horizintal and vertical advection for squared tracer (2nd moments) -! see: -! Klingbeil et al., 2014, Quantification of spurious dissipation and mixing – -! Discrete variance decay in a Finite-Volume framework ... -subroutine compute_diag_dvd_2ndmoment_klingbeil_etal_2014(tr_num, tracers, partit, mesh) - use o_arrays - use oce_adv_tra_driver_interfaces +! add horizontal diffusive flux after Klingbeil et al. 2014, take Redi into account +! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx_hor[Tr^(n+1)] )/ V^(n+1) +... +! --> here Tr^(n+1) und Dflx_hor[...] are reconstructed values at the interfase +subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, trstar, Ki, slope, tr_z, tr_xy, dump, partit, mesh) implicit none - type(t_mesh), intent(in), target :: mesh - type(t_partit), intent(inout), target :: partit - type(t_tracer), intent(inout), target :: tracers - integer :: node, nz, nzmin, nzmax - integer, intent(in) :: tr_num - + type(t_partit), intent(in) , target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer , intent(in) :: tr_num + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: Ki( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: tr_z( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: tr_xy(2,mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) + real(kind=WP) , intent(inout) :: dump( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + + integer :: node, edge, nz, nu12, nl12, nl1, nl2, nu1, nu2 + integer :: ednodes(2), edelem(2), elnodes(3) + real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, dZ + real(kind=WP) :: Kh, Trx, Try, Trz(2), SxTz, SyTz, Dflx, Trc, xchi + real(kind=WP) :: isredi=0.0_WP + #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" -#include "associate_mesh_ass.h" +#include "associate_mesh_ass.h" + !___________________________________________________________________________ - ! calculate horizintal and vertical advection for squared tracer (2nd moments) - ! see Burchard and Rennau, 2008, Comparative quantification of physically and - ! numerically induced mixing in ocean models ... - tracers%work%del_ttf_advhoriz = 0.0_WP - tracers%work%del_ttf_advvert = 0.0_WP -! maybe just to introduce an another tharer of t_tracer type with **do_Xmoment? -! call do_oce_adv_tra(dt, UV, wvel, wvel_i, wvel_e, tracers%data(tr_num)%values, tracers%data(tr_num)%valuesAB(:,:), 2, tracers%work%del_ttf_advhoriz, tracers%work%del_ttf_advvert, tra_adv_ph, tra_adv_pv, partit, mesh) + ! reuse here an already allocated working array --> initialise first + do node=1, myDim_nod2D+eDim_nod2D + dump(:, node)=0.0_WP + end do + + ! add contribution of redi diffusivity when activated + if (Redi) isredi=1.0_WP + + ! compute horizontal 2nd moment tracer flux from advective tracer fluxes at mid + ! edge face (tr^2) and add it to dvd_tot + do edge = 1, myDim_edge2D + ! local indice of nodes that span up edge ed + ednodes = edges(:,edge) + ! local index of element that contribute to edge + edelem = edge_tri(:,edge) + !nl1 ... num of layers -1 at elem el(1), nu1...idx off surf layer in case of cavity !=1 + nl1 = nlevels(edelem(1))-1 + nu1 = ulevels(edelem(1)) + ! edge_cross_dxdy(1:2,ed)... dx,dy distance from element centroid el(1) to + ! center of edge --> needed to calc flux perpedicular to edge from elem el(1) + deltaX1 = edge_cross_dxdy(1,edge) + deltaY1 = edge_cross_dxdy(2,edge) + !_______________________________________________________________________ + ! same parameter but for other element el(2) that contributes to edge ed + ! if el(2)==0 than edge is boundary edge + nl2 = 0 + nu2 = 0 + if(edelem(2)>0) then + deltaX2 = edge_cross_dxdy(3,edge) + deltaY2 = edge_cross_dxdy(4,edge) + ! number of layers -1 at elem el(2) + nl2 = nlevels(edelem(2))-1 + nu2 = ulevels(edelem(2)) + end if !-->if(el(2)>0) then + !_______________________________________________________________________ + ! nl12 ... minimum number of layers -1 between element el(1) & el(2) that + ! contribute to edge ed, nu12 ... upper index of layers between element + ! el(1) & el(2) that contribute to edge ed + ! be carefull !!! --> if ed is a boundary edge than el(1)~=0 and el(2)==0 + nl12=min(nl1,nl2) + nu12=max(nu1,nu2) + + !_______________________________________________________________________ + ! (A) this loop only when edge has 1 facing element el(1) -> bnd edge + do nz=nu1, nu12-1 + !___________________________________________________________________ + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during advection, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(1)) + dZ = sum(hnode_new(nz, elnodes))/3.0_WP + ! also Ki is defined at mid depth levels + Kh = sum(Ki(nz, ednodes))/2.0_WP + ! reminder: tr_z ... vertical tracer gradient sits on full depth levels + ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical + ! tracer gradient back to mid depth levels + Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) + SxTz = sum(Trz*slope(1, nz, ednodes))/2.0_WP + SyTz = sum(Trz*slope(2, nz, ednodes))/2.0_WP + Trx = tr_xy(1, nz, edelem(1)) + SxTz*isredi + Try = tr_xy(2, nz, edelem(1)) + SyTz*isredi + Dflx = Kh*(-deltaX1*Try + deltaY1*Trx)*dZ + !___________________________________________________________________ + ! compute edge centered tracer value --> knut variant + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2)))*2.0_WP + !___________________________________________________________________ + ! compute Tstar diference --> sergey variant + xchi = (trstar(nz, ednodes(1))-trstar(nz, ednodes(2))) + ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is + ! distributed to one side and the other half goes to the other side. + ! factor *2.0... can be omitted + !___________________________________________________________________ + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, Trc, do_SDdvd)*Dflx + end do !--> do nz=nu1, nu12-1 + + !_______________________________________________________________________ + ! (B) this loop only when edge has 1 facing element el(2) -> bnd edge --> in cavity case + if (nu2 > 0) then + do nz=nu2, nu12-1 + !_______________________________________________________________ + ! !!! ATTENTION: !!! + ! during advection, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(2)) + dZ = sum(hnode_new(nz, elnodes))/3.0_WP + ! also Ki is defined at mid depth levels + Kh = sum(Ki(nz, ednodes))/2.0_WP + ! reminder: tr_z ... vertical tracer gradient sits on full depth levels + ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical + ! tracer gradient back to mid depth levels + Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) + SxTz = sum(Trz*slope(1, nz, ednodes))/2.0_WP + SyTz = sum(Trz*slope(2, nz, ednodes))/2.0_WP + Trx = tr_xy(1, nz, edelem(2)) + SxTz*isredi + Try = tr_xy(2, nz, edelem(2)) + SyTz*isredi + Dflx = Kh*(deltaX2*Try - deltaY2*Trx)*dZ + !_______________________________________________________________ + ! compute edge centered tracer value + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2)))*2.0_WP + !_______________________________________________________________ + ! compute Tstar diference --> sergey variant + xchi = (trstar(nz, ednodes(1))-trstar(nz, ednodes(2))) + ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is + ! distributed to one side and the other half goes to the other side. + ! factor *2.0... can be omitted + !_______________________________________________________________ + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, Trc, do_SDdvd)*Dflx + end do !--> do nz=nu2, nu12-1 + end if !--> if (nu2 > 0) then + + !_______________________________________________________________________ + ! (C) this loop if edge has both triangles valid + do nz=nu12, nl12 + !___________________________________________________________________ + ! --> here helem must be the elemental thickness that was used + ! during advection, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(1)) + dZ = sum(hnode_new(nz, elnodes))/3.0_WP/2.0_WP + elnodes= elem2D_nodes(:, edelem(2)) + dZ = dZ + sum(hnode_new(nz, elnodes))/3.0_WP/2.0_WP + ! also Ki is defined at mid depth levels + Kh = sum(Ki(nz, ednodes))/2.0_WP + ! reminder: tr_z ... vertical tracer gradient sits on full depth levels + ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical + ! tracer gradient back to mid depth levels + Trz = 0.5_WP*(tr_z(nz, ednodes)+tr_z(nz+1, ednodes)) + SxTz = sum(Trz*slope(1, nz, ednodes))/2.0_WP + SyTz = sum(Trz*slope(2, nz, ednodes))/2.0_WP + Trx = 0.5_WP*( tr_xy(1, nz, edelem(1))+tr_xy(1, nz, edelem(2)) ) + SxTz*isredi + Try = 0.5_WP*( tr_xy(2, nz, edelem(1))+tr_xy(2, nz, edelem(2)) ) + SyTz*isredi + Dflx = Kh*((deltaX2-deltaX1)*Try-(deltaY2-deltaY1)*Trx)*dZ + !___________________________________________________________________ + ! compute edge centered tracer value + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2)))*2.0_WP + !___________________________________________________________________ + ! compute Tstar diference --> sergey variant + xchi = (trstar(nz, ednodes(1))-trstar(nz, ednodes(2))) + ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is + ! distributed to one side and the other half goes to the other side. + ! factor *2.0... can be omitted + !___________________________________________________________________ + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, Trc, do_SDdvd)*Dflx + end do !--> do nz=nu12, nl12 + + !_______________________________________________________________________ + ! (D) this loop only when edge has 1 facing element el(1) -> bnd edge + ! at bottom topography + do nz=nl12+1, nl1 + !___________________________________________________________________ + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during advection, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(1)) + dZ = sum(hnode_new(nz, elnodes))/3.0_WP + ! also Ki is defined at mid depth levels + Kh = sum(Ki(nz, ednodes))/2.0_WP + ! reminder: tr_z ... vertical tracer gradient sits on full depth levels + ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical + ! tracer gradient back to mid depth levels + Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) + SxTz = sum(Trz*slope(1, nz, ednodes))/2.0_WP + SyTz = sum(Trz*slope(2, nz, ednodes))/2.0_WP + Trx = tr_xy(1, nz, edelem(1)) + SxTz*isredi + Try = tr_xy(2, nz, edelem(1)) + SyTz*isredi + Dflx = Kh*(-deltaX1*Try + deltaY1*Trx)*dZ + !___________________________________________________________________ + ! compute edge centered tracer value + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2)))*2.0_WP + !___________________________________________________________________ + ! compute Tstar diference --> sergey variant + xchi = (trstar(nz, ednodes(1))-trstar(nz, ednodes(2))) + ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is + ! distributed to one side and the other half goes to the other side. + ! factor *2.0... can be omitted + !___________________________________________________________________ + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, Trc, do_SDdvd)*Dflx + end do !-->do nz=nl12+1, nl1 + + !_______________________________________________________________________ + ! (E) this loop only when edge has 1 facing element el(2) -> bnd edge + ! at bottom topography + do nz=nl12+1, nl2 + !___________________________________________________________________ + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during advection, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(2)) + dZ = sum(hnode_new(nz, elnodes))/3.0_WP + ! also Ki is defined at mid depth levels + Kh = sum(Ki(nz, ednodes))/2.0_WP + ! reminder: tr_z ... vertical tracer gradient sits on full depth levels + ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical + ! tracer gradient back to mid depth levels + Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) + SxTz = sum(Trz*slope(1, nz, ednodes))/2.0_WP + SyTz = sum(Trz*slope(2, nz, ednodes))/2.0_WP + Trx = tr_xy(1, nz, edelem(2)) + SxTz*isredi + Try = tr_xy(2, nz, edelem(2)) + SyTz*isredi + Dflx = Kh*(deltaX2*Try - deltaY2*Trx)*dZ + !___________________________________________________________________ + ! compute edge centered tracer value + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2)))*2.0_WP + !___________________________________________________________________ + ! compute Tstar diference --> sergey variant + xchi = (trstar(nz, ednodes(1))-trstar(nz, ednodes(2))) + ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is + ! distributed to one side and the other half goes to the other side. + ! factor *2.0... can be omitted + !___________________________________________________________________ + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, Trc, do_SDdvd)*Dflx + + end do !--> do nz=nl12+1, nl2 + end do !--> do edge=1, myDim_edge2D + !___________________________________________________________________________ - ! add target second moment to DVD - do node = 1,mydim_nod2D - !!PS do nz = 1,nlevels_nod2D(node)-1 - nzmax = nlevels_nod2D(node)-1 - nzmin = ulevels_nod2D(node) - do nz = nzmin, nzmax - ! eq 23 Klingbeil et al. 2014 - ! - ! phi^(n+1) = 1/V^(n+1)*[ V^(n)*phi^(n) + dt*ADV[phi] ] - ! - ! DVD = -1/dt * [ (phi^(n+1))^2 - V^n/V^n+1*(phi^n)^2 + dt/V^(n+1)*ADV[phi^2]] - ! - ! = 1/dt * [-(V^n/V^n+1*phi^n - dt/V^(n+1)*ADV[phi])^2 - ! + V^n/V^n+1*(phi^n)^2 - dt/V^(n+1)*ADV[phi^2] ] - ! \_________________________________________/ - ! | - ! v - ! first this part - ! --> split it up in DVD contribution from horizontal and vertical - ! advection since for the horizontal advection Adams Bashfort tracer - ! are used and for the vertical the normal tracer values. - tracers%work%tr_dvd_horiz(nz,node,tr_num) = hnode(nz,node)/hnode_new(nz,node)*(tracers%data(tr_num)%valuesAB(nz,node)**2) & - - tracers%work%del_ttf_advhoriz(nz,node)/hnode_new(nz,node) - tracers%work%tr_dvd_vert(nz,node,tr_num) = hnode(nz,node)/hnode_new(nz,node)*(tracers%data(tr_num)%values (nz,node)**2) & - - tracers%work%del_ttf_advvert( nz,node)/hnode_new(nz,node) - end do + ! switch from Xchi_tilde --> Xchi +!PS if (.not. do_SDdvd) then + do node=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node)-1 + dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) + dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) - dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) end do -end subroutine compute_diag_dvd_2ndmoment_klingbeil_etal_2014 +!PS end if +end subroutine dvd_add_difflux_hor ! ! !_______________________________________________________________________________ -! calculate horizintal and vertical advection for squared tracer (2nd moments) -! see: -! Burchard and Rennau, 2008, Comparative quantification of physically and -! numerically induced mixing in ocean models ... -! Rennau, and Burchard, 2009, Quantitative analysis of numerically induced mixing -! in a coastal model application ... -! Klingbeil et al., 2014, Quantification of spurious dissipation and mixing – -! Discrete variance decay in a Finite-Volume framework ... -subroutine compute_diag_dvd(tr_num, tracers, partit, mesh) - use g_config, only: dt - use o_arrays +! add implicite vertical diffusive flux after Klingbeil et al. 2014, see between eq. 18 +! ans eq. 20 --> or eq. 24 +! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx[Tr^(n+1)] )/ V^(n+1) +... +! --> here Tr^(n+1) und Dflx[...] are reconstructed values at the interfase +subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, slope, partit, mesh) implicit none - type(t_mesh), intent(in), target :: mesh - type(t_partit), intent(inout), target :: partit - type(t_tracer), intent(inout), target :: tracers - integer :: node, nz, nzmin, nzmax - integer, intent(in) :: tr_num - - + type(t_partit), intent(in) , target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer , intent(in) :: tr_num + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: Kv( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: Ki( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + integer :: node, nz, nu1, nl1 + real(kind=WP) :: tr_up, tr_dwn, Dflx(mesh%nl), dzup, dzdwn, dz, Kv_R + real(kind=WP) :: isredi=0.0_WP #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" -#include "associate_mesh_ass.h" +#include "associate_mesh_ass.h" + + ! add contribution of redi diffusivity when activated + if (Redi) isredi=1.0_WP + + ! add contribution of implicite vertical diffusion (after Klingbeil et al.2014) + do node=1, myDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node) + Dflx = 0.0_WP + + !_______________________________________________________________________ + ! compute diffusive flux at full surface levels: ---> Dflx[Tr^(n+1)] + ! Dflx = Kv * dT/dz + ! ---------------- zbar_1 -+ + ! | + ! o tr_1 ------------|- hnode_1 -+ + ! | | + ! --Dflx-x-Tr----- zbar_2 --+ |- (hnode_1+hnod_2)/2 + ! | | + ! o tr_2 ------------|- hnode_2 -+ + ! | + ! ---------------- zbar_3 -+ + !_______________________________________________________________________ + ! !!! ATTENTION: !!! + ! Implicite vertical Diffusion is done with hnode^(n+1) which is stored + ! in the variable hnode (keep in mind at this point hnode_new was used + ! to rescue the varaible hnode^(n) ). + do nz=nu1+1, nl1-1 + ! take into account isoneutral Redi diffusivity Kd*s^2 --> K_33 = Kv + Kd*s^2 + dzup = hnode(nz-1, node)/2.0_WP + dzdwn = hnode(nz , node)/2.0_WP + Kv_R = dzup /(dzup + dzdwn) * slope(3, nz-1, node)**2 * Ki(nz-1,node) + & + dzdwn/(dzup + dzdwn) * slope(3, nz , node)**2 * Ki(nz ,node) + Kv_R = Kv_R*isredi + + ! fdiff = Kv*dT/dz = Kv (T(nz-1) - T(nz))/ ((hnode(nz-1)+hnode(nz))/2) + ! --> Dflx is until here the diffusive flux on full depth levels + Dflx(nz) = (Kv(nz, node)+Kv_R) * (tr(nz-1, node)-tr(nz, node)) / (dzup + dzdwn) + + ! extent Dflx after Sergey to compute the diffusive component of DVD + ! see Tridib et al. 2023 eq. 7 + ! Xchi_(i+0.5) = 2*Kv * (T^(n+1)_(i+1)-T^(n+!)_i)/dz * (Tstar_(i+1)-Tstar_(i)/dz + ! Dflx(nz) = Dflx * 2*(Tstar_(i+1)-Tstar_(i)/dz + ! --> if Sergey diagonsitc is used Dflx correspond from here on to + ! Xchi at full depth level interface + Dflx(nz) = Dflx(nz) * merge(2.0_WP*( trstar(nz, node) - trstar(nz-1, node) )/(dzup+dzdwn)*area(nz,node), 1.0_WP, do_SDdvd) + ! | + ! +-> merge: if do_SDdvd==True use second argument, if + ! do_SDdvd==False use third argument of merge! + end do !--> do nz=nu1+1, nl1-1 + + !_______________________________________________________________________ + ! decide between Sergeys and Knuts DVD method + if (do_SDdvd) then + !___________________________________________________________________ + ! now compute flx of Xchi into control volume, see Tridib et al. 2023 + ! eq. 9. Each control volume gets one half of the Xchi interface value + ! --> keep in mind we are now again on mid depth levels and in this case + ! Dflx contains the interface value of Xchi + do nz=nu1, nl1-1 + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 0.5_WP*(Dflx(nz)+Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) + end do !--> do nz=nu1+1, nl1-1 + else + !___________________________________________________________________ + ! compute diffusive flux flxdiff(nz), after Klingbeil etal 2014 + ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume + nz = nu1 + tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) + tr_dwn = -Dflx(nz+1)*tr_dwn*area(nz+1, node) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*tr_dwn/(areasvol(nz, node)*hnode(nz, node)) + + do nz=nu1+1, nl1-2 + ! volume (hnode) weighted temperature reconstruction at upper/lower + ! scalar cell interface + tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) + tr_dwn = (tr(nz , node)*hnode(nz , node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz , node)+hnode(nz+1, node)) + ! compute T^(n+1)_(i+0.5) * Dflx_(i+0.5) through upper and lower face + tr_up = Dflx(nz )*tr_up *area(nz , node) + tr_dwn = -Dflx(nz+1)*tr_dwn*area(nz+1, node) + ! copute dvd contribution normalized with volume + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up+tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + ! |-> factor 2 comes here from Klingbeil et al.2014 + ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] + end do !--> do nz=nu1+1, nl1-1 + + nz = nl1-1 + tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) + tr_up = Dflx(nz)*tr_up*area(nz, node) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*tr_up/(areasvol(nz, node)*hnode(nz, node)) + end if + end do !--> do node=1, myDim_nod2D +end subroutine dvd_add_difflux_vert +! +! +!_______________________________________________________________________________ +! add implicite vertical diffusive flux after Klingbeil et al. 2014, see between eq. 18 +! ans eq. 20 --> or eq. 24 +! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx_ver[Tr^(n+1)] )/ V^(n+1) +... +! --> here Tr^(n+1) und Dflx_ver[...] are reconstructed values at the interfase +subroutine dvd_add_difflux_bhvisc(do_SDdvd, tr_num, dvd_tot, tr, trstar, gamma0_tra, gamma1_tra, gamma2_tra, dump, partit, mesh) + implicit none + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + integer , intent(in) :: tr_num + real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: gamma0_tra + real(kind=WP) , intent(in) :: gamma1_tra + real(kind=WP) , intent(in) :: gamma2_tra + real(kind=WP) , intent(inout) :: dump( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + integer :: node, edge, nz, nu1, nl1 + integer :: ednodes(2), edelem(2), elnodes_l(3), elnodes_r(3) + real(kind=WP) :: len, du, dv, vi, dtr(mesh%nl-1), trc(mesh%nl-1) +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + !___________________________________________________________________________ - ! add discret second moment to DVD - do node = 1,mydim_nod2D - !!PS do nz = 1,nlevels_nod2D(node)-1 - nzmax = nlevels_nod2D(node)-1 - nzmin = ulevels_nod2D(node) - do nz = nzmin, nzmax - ! eq 16 & 17 and eq 23. Klingbeil et al. 2014 - ! - ! (phi^2)^(n+1) = 1/V^(n+1)*[ V^(n)*(phi^2)^(n) + dt*ADV[phi^2] ] - ! - ! DVD = 1/dt * [ (phi^2)^(n+1) - ( phi^(n+1) )^2 ] - ! | - ! v - ! now add this part - ! --> tracers%work%tr_dvd_horiz contains already the expected target second moments - ! from subroutine compute_diag_dvd_2ndmoment - tracers%work%tr_dvd_horiz(nz,node,tr_num) = (tracers%work%tr_dvd_horiz(nz,node,tr_num) & - -( hnode(nz,node)/hnode_new(nz,node)*tracers%data(tr_num)%valuesAB(nz,node) & - -tracers%work%del_ttf_advhoriz(nz,node)/hnode_new(nz,node) & - )**2 & - )/dt - tracers%work%tr_dvd_vert(nz,node,tr_num) = (tracers%work%tr_dvd_vert(nz,node,tr_num) & - -( hnode(nz,node)/hnode_new(nz,node)*tracers%data(tr_num)%values (nz,node) & - -tracers%work%del_ttf_advvert( nz,node)/hnode_new(nz,node) & - )**2 & - )/dt - end do + ! reuse here an already allocated working array --> initialise first + do node=1, myDim_nod2D+eDim_nod2D + dump(:, node)=0.0_WP end do -end subroutine compute_diag_dvd + + !___________________________________________________________________________ + ! first round +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(edge, nz, ednodes, edelem, elnodes_l, elnodes_r, & +!$OMP nu1, nl1, du, dv, dt, len, vi) +!$OMP DO + do edge=1, myDim_edge2D!+eDim_edge2D + ! skip boundary edges only consider inner edges + if (myList_edge2D(edge) > edge2D_in) cycle + edelem = edge_tri(:,edge) + ednodes = edges(:,edge) + len = sqrt(sum(elem_area(edelem))) + nl1 = minval(nlevels(edelem)) + nu1 = maxval(ulevels(edelem)) + elnodes_l= elem2d_nodes(:, edelem(1)) + elnodes_r= elem2d_nodes(:, edelem(2)) + do nz=nu1, nl1-1 + du = maxval(tr(nz, elnodes_l))-minval(tr(nz, elnodes_r)) + dv = minval(tr(nz, elnodes_l))-maxval(tr(nz, elnodes_r)) + vi = du*du+dv*dv + dtr(nz)= tr(nz, ednodes(1))-tr(nz, ednodes(2)) + vi = sqrt(max(gamma0_tra, & + max(gamma1_tra*sqrt(vi), & + gamma2_tra* vi) & + )*len) + dtr(nz)=dtr(nz)*vi + END DO +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock (partit%plock(ednodes(1))) +#else +!$OMP ORDERED +#endif + dump(nu1:nl1-1, ednodes(1)) = dump(nu1:nl1-1, ednodes(1))-dtr(nu1:nl1-1) +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(1))) + call omp_set_lock (partit%plock(ednodes(2))) +#endif + dump(nu1:nl1-1, ednodes(2)) = dump(nu1:nl1-1, ednodes(2))+dtr(nu1:nl1-1) +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(2))) +#else +!$OMP END ORDERED +#endif + end do !--> do edge=1, myDim_edge2D!+eDim_edge2D +!$OMP END DO +!$OMP MASTER + call exchange_nod(dump, partit) +!$OMP END MASTER +!$OMP BARRIER + + !___________________________________________________________________________ + ! second round: +!$OMP DO + do edge=1, myDim_edge2D!+eDim_edge2D + ! skip boundary edges only consider inner edges + if (myList_edge2D(edge) > edge2D_in) cycle + edelem = edge_tri(:,edge) + ednodes = edges(:,edge) + len = sqrt(sum(elem_area(edelem))) + nl1 = minval(nlevels(edelem)) + nu1 = maxval(ulevels(edelem)) + elnodes_l= elem2d_nodes(:, edelem(1)) + elnodes_r= elem2d_nodes(:, edelem(2)) + do nz=nu1, nl1-1 + du = maxval(tr(nz, elnodes_l))-minval(tr(nz, elnodes_r)) + dv = minval(tr(nz, elnodes_l))-maxval(tr(nz, elnodes_r)) + vi = du*du+dv*dv + dtr(nz)= dump(nz, ednodes(1))-dump(nz, ednodes(2)) + vi = sqrt(max(gamma0_tra, & + max(gamma1_tra*sqrt(vi), & + gamma2_tra* vi) & + )*len) + dtr(nz)=-dtr(nz)*vi + end do !-->do nz=nu1, nl1-1 + + !_______________________________________________________________________ + ! make the difference between Sergeys and Knuts method + if (do_SDdvd) then + do nz=nu1, nl1-1 + !_______________________________________________________________ + ! compute Tstar as in Tridib et al. 2023 --> Tstar = (Tr^(n+1) + Tr^n)/2 + ! compute net edge Tracer contribution with Tstar + trc(nz) = 2.0_WP*( trstar(nz, ednodes(1)) - trstar(nz, ednodes(2)) ) + end do !-->do nz=nu1, nl1-1 + !___________________________________________________________________ +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock (partit%plock(ednodes(1))) +#else +!$OMP ORDERED +#endif + dvd_tot(nu1:nl1-1, ednodes(1), tr_num) = dvd_tot(nu1:nl1-1, ednodes(1), tr_num) + trc(nu1:nl1-1)*dtr(nu1:nl1-1)/areasvol(nu1:nl1-1,ednodes(1)) + +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(1))) + call omp_set_lock (partit%plock(ednodes(2))) +#endif + dvd_tot(nu1:nl1-1, ednodes(2), tr_num) = dvd_tot(nu1:nl1-1, ednodes(2), tr_num) - trc(nu1:nl1-1)*dtr(nu1:nl1-1)/areasvol(nu1:nl1-1,ednodes(2)) +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(en(2))) +#else +!$OMP END ORDERED +#endif + else + do nz=nu1, nl1-1 + !_______________________________________________________________ + ! compute edge centered tracer value see Klingbeil et al 2014 + trc(nz) = tr(nz, ednodes(1)) * hnode(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode(nz, ednodes(2)) + trc(nz) = 2.0_WP*trc(nz)/(hnode(nz, ednodes(1))+hnode(nz, ednodes(2))) + ! | + ! +-> factor 2.0 comes here from Klingbeil et al. 2014 + ! Dflux[ tr^2] = 2*tr*Dflux[tr] + end do !-->do nz=nu1, nl1-1 + + !___________________________________________________________________ +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_set_lock (partit%plock(ednodes(1))) +#else +!$OMP ORDERED +#endif + dvd_tot(nu1:nl1-1, ednodes(1), tr_num) = dvd_tot(nu1:nl1-1, ednodes(1), tr_num) + & + trc(nu1:nl1-1)*dtr(nu1:nl1-1) /areasvol(nu1:nl1-1,ednodes(1)) / ( areasvol(nu1:nl1-1,ednodes(1))*hnode(nu1:nl1-1,ednodes(1)) ) + +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(ednodes(1))) + call omp_set_lock (partit%plock(ednodes(2))) +#endif + dvd_tot(nu1:nl1-1, ednodes(2), tr_num) = dvd_tot(nu1:nl1-1, ednodes(2), tr_num) - & + trc(nu1:nl1-1)*dtr(nu1:nl1-1) /areasvol(nu1:nl1-1,ednodes(2)) / ( areasvol(nu1:nl1-1,ednodes(2))*hnode(nu1:nl1-1,ednodes(2)) ) +#if defined(_OPENMP) && !defined(__openmp_reproducible) + call omp_unset_lock(partit%plock(en(2))) +#else +!$OMP END ORDERED +#endif + end if + + end do !--> do edge=1, myDim_edge2D!+eDim_edge2D +!$OMP END DO +!$OMP END PARALLEL + +end subroutine dvd_add_difflux_bhvisc end module diagnostics From 944f80c14298e6f23efda9d1f085ac89f666ddc5 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 8 Dec 2023 10:48:08 +0100 Subject: [PATCH 081/273] actualize albedo paths in namelists --- config/namelist.config | 6 +++--- config/namelist.cvmix | 6 +++--- config/namelist.forcing | 28 ++++++++++++++-------------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/config/namelist.config b/config/namelist.config index ec665f53f..13581efbb 100644 --- a/config/namelist.config +++ b/config/namelist.config @@ -7,7 +7,7 @@ runid='fesom' ×tep step_per_day=32 !96 !96 !72 !72 !45 !72 !96 run_length=62 !62 !62 !62 !28 -run_length_unit='y' ! y, m, d, s +run_length_unit='y' ! y, m, d, s / &clockinit ! the model starts at @@ -17,8 +17,8 @@ yearnew=1958 / &paths -MeshPath='/work/ollie/projects/clidyn/FESOM2/meshes/core2/' -ClimateDataPath='/work/ollie/projects/clidyn/FESOM2/hydrography/phc3.0/' +MeshPath='/albedo/work/projects/p_pool_fesom1/fesom2.0/meshes/' +ClimateDataPath='/albedo/work/projects/p_pool_fesom2/hydrography/phc3.0/' ResultPath='../result_tmp/' / diff --git a/config/namelist.cvmix b/config/namelist.cvmix index 18a90c979..4fc7c3d89 100644 --- a/config/namelist.cvmix +++ b/config/namelist.cvmix @@ -25,8 +25,8 @@ idemix_jstar = 5.0 ! spectral bandwidth in modes (dimensionless) idemix_mu0 = 0.33333333 ! dissipation parameter (dimensionless) idemix_sforcusage = 0.2 idemix_n_hor_iwe_prop_iter = 5 ! iterations for contribution from horiz. wave propagation -idemix_surforc_file = '/work/ollie/clidyn/forcing/IDEMIX/fourier_smooth_2005_cfsr_inert_rgrid.nc' -idemix_botforc_file = '/work/ollie/clidyn/forcing/IDEMIX/tidal_energy_gx1v6_20090205_rgrid.nc' +idemix_surforc_file = '/albedo/work/projects/p_pool_fesom1/fesom2.0/forcing/idemix/fourier_smooth_2005_cfsr_inert_rgrid.nc' +idemix_botforc_file = '/albedo/work/projects/p_pool_fesom1/fesom2.0/forcing/idemix/tidal_energy_gx1v6_20090205_rgrid.nc' / ! namelist for PP @@ -68,6 +68,6 @@ tidal_vert_decayscale= 500.0 ! units: m; zeta in Simmons et al. (used to com tidal_max_coeff = 50e-4 ! units: m^2/s; largest acceptable value for diffusivity tidal_lcl_mixfrac = 0.33 !tidal dissipation efficiency (q in Simmons et al.), i.e. fraction of energy that dissipates locally tidal_depth_cutoff = 0.0 !depth of the shallowest column where tidal mixing is computed (positive below surface) -tidal_botforc_file = '/work/ollie/pscholz/FORCING/IDEMIX/tidal_energy_gx1v6_20090205_rgrid.nc' +tidal_botforc_file = '/albedo/work/projects/p_pool_fesom1/fesom2.0/forcing/idemix/tidal_energy_gx1v6_20090205_rgrid.nc' / diff --git a/config/namelist.forcing b/config/namelist.forcing index 53f4494d7..c2b6a0192 100644 --- a/config/namelist.forcing +++ b/config/namelist.forcing @@ -26,17 +26,17 @@ landice_end_mon=10 / &nam_sbc - nm_xwind_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/uas.' ! name of file with wind speeds x - nm_ywind_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/vas.' ! name of file with wind speeds y - nm_xstre_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/uas.' ! name of file with wind stress x - nm_ystre_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/vas.' ! name of file with wind stress y - nm_humi_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/huss.' ! name of file with humidity - nm_qsr_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/rsds.' ! name of file with solar heat - nm_qlw_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/rlds.' ! name of file with Long wave - nm_tair_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/tas.' ! name of file with 2m air temperature - nm_prec_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/prra.' ! name of file with total precipitation - nm_snow_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/prsn.' ! name of file with snow precipitation - nm_mslp_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/psl.' ! air_pressure_at_sea_level + nm_xwind_file = '/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/uas.' ! name of file with wind speeds x + nm_ywind_file = '/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/vas.' ! name of file with wind speeds y + nm_xstre_file = '/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/uas.' ! name of file with wind stress x + nm_ystre_file = '/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/vas.' ! name of file with wind stress y + nm_humi_file = '/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/huss.' ! name of file with humidity + nm_qsr_file = '/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/rsds.' ! name of file with solar heat + nm_qlw_file = '/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/rlds.' ! name of file with Long wave + nm_tair_file = '/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/tas.' ! name of file with 2m air temperature + nm_prec_file = '/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/prra.' ! name of file with total precipitation + nm_snow_file = '/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/prsn.' ! name of file with snow precipitation + nm_mslp_file = '/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/psl.' ! air_pressure_at_sea_level nm_xwind_var = 'uas' ! name of variable in file with wind nm_ywind_var = 'vas' ! name of variable in file with wind nm_xstre_var = 'uas' ! name of variable in file with wind @@ -55,13 +55,13 @@ landice_end_mon=10 nm_nc_tmid = 0 ! 1 if the time stamps are given at the mid points of the netcdf file, 0 otherwise (i.e. 1 in CORE1, CORE2; 0 in JRA55) l_xwind=.true. l_ywind=.true. l_xstre=.false. l_ystre=.false. l_humi=.true. l_qsr=.true. l_qlw=.true. l_tair=.true. l_prec=.true. l_mslp=.false. l_cloud=.false. l_snow=.true. runoff_data_source ='CORE2' !Dai09, CORE2 - nm_runoff_file ='/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/CORE2_runoff.nc' + nm_runoff_file ='/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/CORE2_runoff.nc' !nm_runoff_file ='/work/ollie/qwang/FESOM2_input/mesh/CORE2_finaltopo_mean/forcing_data_on_grid/runoff_clim.nc' !runoff_data_source ='Dai09' !Dai09, CORE2, JRA55 !runoff_climatology =.true. sss_data_source ='CORE2' - nm_sss_data_file ='/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/PHC2_salx.nc' + nm_sss_data_file ='/albedo/work/projects/p_pool_fesom1/forcing/JRA55-do-v1.4.0/PHC2_salx.nc' chl_data_source ='None' !'Sweeney' monthly chlorophyll climatology or 'NONE' for constant chl_const (below). Make use_sw_pene=.TRUE. in namelist.config! - nm_chl_data_file ='/work/ollie/clidyn/forcing/Sweeney/Sweeney_2005.nc' + nm_chl_data_file ='/albedo/work/projects/p_pool_fesom1/forcing/Sweeney/Sweeney_2005.nc' chl_const = 0.1 / From 7c985e20ed4ff410ea54c3ff0556e2c089c779a3 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 8 Dec 2023 11:09:29 +0100 Subject: [PATCH 082/273] improve spinup cycle linking for chain jobs --- work/job_albedo_chain | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/work/job_albedo_chain b/work/job_albedo_chain index 1bcf0eefc..21c9e9fa8 100755 --- a/work/job_albedo_chain +++ b/work/job_albedo_chain @@ -6,7 +6,7 @@ # disable hyperthreading #SBATCH --hint=nomultithread -#SBATCH --nodes=48 # Number of tasks (MPI) tasks to be launched +#SBATCH --nodes=4 # Number of tasks (MPI) tasks to be launched #SBATCH --tasks-per-node 127 # using all 128CPus we exceed the maxload limit (>130) of many used nodes #SBATCH --cpus-per-task 1 @@ -27,11 +27,11 @@ chain_s=1 # starting chain id # time frame of model simulation # ___COREv2___ -year_s=1948 -year_e=2009 +# year_s=1948 +# year_e=2009 # ___JRA55____ -#year_s=1958 -#year_e=2018 +year_s=1958 +year_e=2018 prescribe_rlen=0 # run length in namelist.config --> if 0 value from namelist.config is taken fedit=1 @@ -77,6 +77,7 @@ done jobinfo=$(scontrol show job $SLURM_JOB_ID) wcl=$( echo ${jobinfo##*"TimeLimit="} | cut -d " " -f 1 ) ntasks=$( echo ${jobinfo##*"NumTasks="} | cut -d " " -f 1 ) +nnodes=$( echo ${jobinfo##*"node="} | cut -d " " -f 1 ) #___SET SLURM OPTIONS___________________________________________________________ set -x @@ -116,13 +117,17 @@ fi #___CREATE SAVE DIR INFRASTRUCTURE______________________________________________ # extract resultpath from namelist.config +dname_current=$(pwd) dname_result_link_orig=$(grep "ResultPath=" namelist.config | grep -v '^!' | \ cut -d "=" -f 2 | \ cut -d "'" -f 2) dname_result_link=$(echo ${dname_result_link_orig::-1}) # identify higher directory --> ResultPath -dname_result="$(dirname "$dname_result_link")/" +dname_result="$(dirname "${dname_result_link}")/" + +# identify name of chain link +dname_link=$(basename "${dname_result_link}") # if ResultPath directory doesn't exist --> create it if [ ! -d "${dname_result}" ]; then @@ -132,8 +137,7 @@ fi # check if in namelist.config a chain path is given (that mean # ResultPath=.../ResultDir/chain/) if not change namelist.config accordingly -check=${dname_result_link##*${dname_result}} -if [ $fedit -eq 1 ] && [ $check != "chain" ]; then +if [ $fedit -eq 1 ] && [ ${dname_link} != "chain" ]; then echo -e "\033[33m --> replace in namelist.config ResultPath with chain path \033[0m" dname_result_link="${dname_result}chain" sed -i "s|${dname_result_link_orig}|${dname_result_link}/|g" namelist.config @@ -149,7 +153,9 @@ if [ ! -d "${dname_result}/${chain_id}" ]; then fi # link directory of chain_id with original linkdirectory from namelist.config -ln -sfn ${dname_result}${chain_id} $dname_result_link +cd ${dname_result} +ln -sfn ${chain_id} ${dname_link} +cd ${dname_current} #___CHECK IF SIMULATION NEEDS TO BE INITIALISED OR CONTINUED____________________ is_newsimul=1 @@ -225,14 +231,12 @@ if [ $is_newsimul -eq 1 ] ; then fi #___BACKUP NAMELIST.* FILES INTO RESULT DIRECTORY_______________________ - cp namelist.config namelist.oce namelist.ice namelist.forcing namelist.io \ - namelist.cvmix ${dname_result}/. + cp namelist.* ${dname_result}/. cp fesom.x ${dname_result}/. - #___BACKUP SRC FILES INTO RESULT DIRECTORY______________________________ + #___BACKUP SRC FILES INTO RESULT DIRECTORY__________________________________ if [ ! -d "${dname_result}/src" ]; then mkdir "${dname_result}/src" ; fi cp ../src/*.F90 ${dname_result}/src/. - # --> make warm start else @@ -281,13 +285,12 @@ if [ $is_newsimul -eq 1 ] ; then #_______________________________________________________________________ # backup namelist.* & fesom.x in case they dont exist if [ ! -f "${dname_result}/namelist.config" ]; then - cp namelist.config namelist.oce namelist.ice namelist.forcing namelist.io \ - namelist.tra namelist.dyn namelist.cvmix ${dname_result}/. + cp namelist.* ${dname_result}/. fi if [ ! -f "${dname_result}/fesom.x" ]; then cp fesom.x ${dname_result}/. fi - #___BACKUP SRC FILES INTO RESULT DIRECTORY______________________________ + #___BACKUP SRC FILES INTO RESULT DIRECTORY__________________________________ if [ ! -d "${dname_result}/src" ]; then mkdir "${dname_result}/src" ; fi cp ../src/*.F90 ${dname_result}/src/. fi @@ -319,7 +322,7 @@ if [ ${err_srun} -eq 0 ]; then # the corresponding task ID in the specified job has completed successfully # (ran to completion with an exit code of zero). echo -e "\033[33m --> setup next chain cycle \033[0m" - sbatch --time=$wcl --ntasks=$ntasks --job-name=${SLURM_JOB_NAME} --dependency=aftercorr:$SLURM_JOB_ID $script_name \ + sbatch --time=$wcl --ntasks=$ntasks --nodes=$nodes --job-name=${SLURM_JOB_NAME} --dependency=aftercorr:$SLURM_JOB_ID $script_name \ -cn $chain_n -cs $chain_s -ys $year_s -ye $year_e -rl $prescribe_rlen fi fi From 1fdfc7220ff7f85fdae664a918ccf8d429355ad0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 8 Dec 2023 11:10:21 +0100 Subject: [PATCH 083/273] add all dvd variables to IO --- src/io_meandata.F90 | 45 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 03af7c5d7..b32462e77 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -615,7 +615,41 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) if (sel_forcvar(14)==0) call def_stream(nod2D , myDim_nod2D , 'relaxsalt', 'relaxation salt flux' , 'm/s*psu', relax_salt(:) , io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) #endif if (sel_forcvar(15)==0) call def_stream(nod2D , myDim_nod2D , 'realsalt' , 'real salt flux from sea ice' , 'm/s*psu', real_salt_flux(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end if + end if + +!_______________________________________________________________________________ +! Discrete Variance Decay (DVD) diagnostic after Klingbeil etal 2014, and +! Tridib et al 2023 +CASE ('DVD ') + if (ldiag_DVD) then + !_______________________________________________________________________ + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_tot' , 'tot. temperature DVD \n (Klingbeil et al. 2014)', 'K^2/s' , dvd_KK_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_KK_chi_adv_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_KK_chi_dif_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difv', 'temperature DVD vert. diff. ' , 'K^2/s' , dvd_KK_chi_dif_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_dt' , 'temperature DVD time derivative ' , 'K^2/s' , dvd_KK_chi_dt( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_tot' , 'tot. temperature DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difv', 'temperature DVD vert. diff. ' , 'K^2/s' , dvd_SD_chi_dif_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + !_______________________________________________________________________ + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_tot' , 'tot. salinity DVD \n (Klingbeil et al. 2014)' , 'K^2/s' , dvd_KK_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_KK_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_KK_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difv', 'salinity DVD vert. diff. ' , 'K^2/s' , dvd_KK_chi_dif_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_dt' , 'salinity DVD time derivative' , 'K^2/s' , dvd_KK_chi_dt( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_tot' , 'tot. salinity DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difv', 'salinity DVD vert. diff. ' , 'K^2/s' , dvd_SD_chi_dif_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if !--> if (ldiag_DVD) then + !_______________________________________________________________________________ CASE DEFAULT if (mype==0) write(*,*) 'stream ', io_list(i)%id, ' is not defined !' @@ -623,7 +657,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) END DO ! --> DO i=1, io_listsize if (lnextGEMS) then - call def_stream((/nlev_upper, nod2D/), (/nlev_upper, myDim_nod2D/), 'temp_upper', 'temperature', 'C', tracers%data(1)%values(:nlev_upper,:), 3, 'h', 4, partit, mesh) + call def_stream((/nlev_upper, nod2D/), (/nlev_upper, myDim_nod2D/), 'temp_upper', 'temperature', 'C', tracers%data(1)%values(:nlev_upper,:), 3, 'h', 4, partit, mesh) call def_stream((/nlev_upper, nod2D/), (/nlev_upper, myDim_nod2D/), 'salt_upper', 'salinity', 'psu', tracers%data(2)%values(:nlev_upper,:), 3, 'h', 8, partit, mesh) call def_stream((/nlev_upper, elem2D/), (/nlev_upper, myDim_elem2D/), 'u_upper', 'zonal velocity','m/s', dynamics%uv(1,:nlev_upper,:), 3, 'h', 4, partit, mesh) call def_stream((/nlev_upper, elem2D/), (/nlev_upper, myDim_elem2D/), 'v_upper', 'meridional velocity','m/s', dynamics%uv(2,:nlev_upper,:), 3, 'h', 4, partit, mesh) @@ -667,13 +701,6 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'beta_EVP', 'beta in EVP', 'n/a', ice%beta_evp_array, 1, 'd', i_real4, partit, mesh) end if - !___________________________________________________________________________ - if (ldiag_dvd) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_h', 'horiz. dvd of temperature', '°C/s' , tracers%work%tr_dvd_horiz(:,:,1), 1, 'm', i_real4, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_v', 'vert. dvd of temperature' , '°C/s' , tracers%work%tr_dvd_vert(:,:,1) , 1, 'm', i_real4, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_h', 'horiz. dvd of salinity' , 'psu/s', tracers%work%tr_dvd_horiz(:,:,2), 1, 'm', i_real4, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_v', 'vert. dvd of salinity' , 'psu/s', tracers%work%tr_dvd_vert(:,:,2) , 1, 'm', i_real4, partit, mesh) - end if !___________________________________________________________________________ if (ldiag_forc) then if (sel_forcvar( 1)==0) call def_stream(nod2D , myDim_nod2D , 'uwind' , '10m zonal surface wind velocity', 'm/s' , u_wind(:) , 1, 'm', i_real4, partit, mesh) From 0ff129fe4922c58c4d5400750f382a57558f871a Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 8 Dec 2023 11:15:51 +0100 Subject: [PATCH 084/273] fix bug in the vertical tracer gradient that is used in the horizontal REDI diffusivity. Before we used the new hnode to compute the gradient but it has to be done on the old hnode --- src/oce_tracer_mod.F90 | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/oce_tracer_mod.F90 b/src/oce_tracer_mod.F90 index f374ca5d2..a55e6b2ae 100755 --- a/src/oce_tracer_mod.F90 +++ b/src/oce_tracer_mod.F90 @@ -116,18 +116,14 @@ SUBROUTINE tracer_gradient_z(ttf, partit, mesh) #include "associate_mesh_ass.h" !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz, nzmin, nzmax, dz) DO n=1, myDim_nod2D+eDim_nod2D - !!PS nlev=nlevels_nod2D(n) - nzmax=nlevels_nod2D(n) - nzmin=ulevels_nod2D(n) - !!PS DO nz=2, nlev-1 - DO nz=nzmin+1, nzmax-1 - dz=0.5_WP*(hnode_new(nz-1,n)+hnode_new(nz,n)) - tr_z(nz, n)=(ttf(nz-1,n)-ttf(nz,n))/dz - END DO - !!PS tr_z(1, n)=0.0_WP - !!PS tr_z(nlev, n)=0.0_WP - tr_z(nzmin, n)=0.0_WP - tr_z(nzmax, n)=0.0_WP + nzmax=nlevels_nod2D(n) + nzmin=ulevels_nod2D(n) + DO nz=nzmin+1, nzmax-1 + dz=0.5_WP*(hnode(nz-1,n)+hnode(nz,n)) + tr_z(nz, n)=(ttf(nz-1,n)-ttf(nz,n))/dz + END DO + tr_z(nzmin, n)=0.0_WP + tr_z(nzmax, n)=0.0_WP END DO !$OMP END PARALLEL DO END SUBROUTINE tracer_gradient_z From b6f76702d7260e31397df737ce46864206377b27 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 8 Dec 2023 11:28:56 +0100 Subject: [PATCH 085/273] fix small dvd dimension bug --- src/oce_setup_step.F90 | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 3300844fd..c9f428ce6 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -279,7 +279,7 @@ SUBROUTINE tracer_init(tracers, partit, mesh) type(t_mesh), intent(in) , target :: mesh type(nml_tracer_list_type), target, allocatable :: nml_tracer_list(:) !___________________________________________________________________________ - integer :: elem_size, node_size, edge_size + integer :: elem_size, node_size integer, save :: nm_unit = 104 ! unit to open namelist file, skip 100-102 for cray integer :: iost integer :: n @@ -330,7 +330,6 @@ SUBROUTINE tracer_init(tracers, partit, mesh) ! define local vertice & elem array size + number of tracers elem_size=myDim_elem2D + eDim_elem2D node_size=myDim_nod2D + eDim_nod2D - edge_size=myDim_edge2D tracers%num_tracers=num_tracers !___________________________________________________________________________ @@ -360,9 +359,9 @@ SUBROUTINE tracer_init(tracers, partit, mesh) tracers%work%del_ttf_advhoriz = 0.0_WP tracers%work%del_ttf_advvert = 0.0_WP if (ldiag_DVD) then - allocate(tracers%work%dvd_trflx_hor(nl-1, edge_size, 2)) - allocate(tracers%work%dvd_trflx_ver(nl , node_size, 2)) - allocate(tracers%work%dvd_trold( nl , node_size, 2)) + allocate(tracers%work%dvd_trflx_hor(nl-1, myDim_edge2D, 2)) + allocate(tracers%work%dvd_trflx_ver(nl , myDim_nod2D , 2)) + allocate(tracers%work%dvd_trold( nl-1, node_size , 2)) tracers%work%dvd_trflx_hor = 0.0_WP tracers%work%dvd_trflx_ver = 0.0_WP tracers%work%dvd_trold = 0.0_WP From 56541244157b17ff104316c7d203638ab1f7b0e9 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 8 Dec 2023 11:32:12 +0100 Subject: [PATCH 086/273] also splitKnuts DVD diagnostic into single components, but only for debugging since Knuts diagnostic can obnly be used as a total --- src/gen_modules_diag.F90 | 314 ++++++++++++++++++++------------------- 1 file changed, 163 insertions(+), 151 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 32f38ec86..f353f602d 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -22,8 +22,9 @@ module diagnostics std_dens_min, std_dens_max, std_dens_N, std_dens, & std_dens_UVDZ, std_dens_DIV, std_dens_DIV_fer, std_dens_Z, std_dens_H, std_dens_dVdT, std_dens_flux, & dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, & - compute_dvd, dvd_tot_KK, dvd_tot_SD, dvd_SD_chi_adv, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, & - dvd_SD_chi_dif_h, dvd_SD_chi_dif_v + compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, & + dvd_SD_chi_dif_h, dvd_SD_chi_dif_v, dvd_xdfac, & + dvd_KK_chi_adv_h, dvd_KK_chi_adv_v, dvd_KK_chi_dif_h, dvd_KK_chi_dif_v, dvd_KK_chi_dt ! Arrays used for diagnostics, some shall be accessible to the I/O ! 1. solver diagnostics: A*x=rhs? @@ -59,9 +60,11 @@ module diagnostics !_____________________________________________________________________________ ! DVD diagnostics - real(kind=WP), save, allocatable, target :: dvd_tot_KK(:,:,:), dvd_tot_SD(:,:,:), dvd_SD_chi_adv(:,:,:), dvd_SD_chi_adv_h(:,:,:), & + real(kind=WP), save, allocatable, target :: dvd_KK_tot(:,:,:), dvd_SD_tot(:,:,:), dvd_SD_chi_adv_h(:,:,:), & dvd_SD_chi_adv_v(:,:,:), dvd_SD_chi_dif_h(:,:,:), dvd_SD_chi_dif_v(:,:,:) - + real(kind=WP), save, allocatable, target :: dvd_KK_chi_adv_h(:,:,:), dvd_KK_chi_adv_v(:,:,:), dvd_KK_chi_dif_h(:,:,:), dvd_KK_chi_dif_v(:,:,:), dvd_KK_chi_dt(:,:,:) + real(kind=WP), parameter :: dvd_xdfac=0.5_WP ! Xchi distribution factor, default distribute + ! equal amount (50:50) of xchi on both side of face !_____________________________________________________________________________ ! Define diagnostic flags + with corresponding namelist logical :: ldiag_solver =.false. @@ -908,26 +911,38 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) integer :: nu12, nl12, nl1, nl2, nu1, nu2 integer :: ednodes(2), edelem(2), elnodes(3) real(kind=8) :: c1, c2, deltaX1, deltaY1, deltaX2, deltaY2, vflux, trXflx, Dflx(mesh%nl), trup, trdwn - real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, trstar, tr, Wvel, dump + real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, trstar, tr, trAB, Wvel, dump real(kind=WP), dimension(:,:,:), pointer :: UV #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" #include "associate_mesh_ass.h" if (firstcall) then !allocate the stuff at the first call - allocate(dvd_tot_KK( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_tot_SD( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_dif_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_dt( nl-1, myDim_nod2D+eDim_nod2D, 2)) + + allocate(dvd_SD_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) + firstcall=.false. if (mode==0) return end if !___________________________________________________________________________ ! initialise each time diagnostic is computed - dvd_tot_KK = 0.0_WP ! --> DVD diagnostic after Klingbeil et al. - dvd_tot_SD = 0.0_WP ! --> DVD diagnostic after Sergey see Tridib et al. - dvd_SD_chi_adv = 0.0_WP + dvd_KK_tot = 0.0_WP ! --> DVD diagnostic after Klingbeil et al. 2014 + dvd_KK_chi_adv_h = 0.0_WP + dvd_KK_chi_adv_v = 0.0_WP + dvd_KK_chi_dif_h = 0.0_WP + dvd_KK_chi_dif_v = 0.0_WP + dvd_KK_chi_dt = 0.0_WP + + dvd_SD_tot = 0.0_WP ! --> DVD diagnostic after Banjerjee et al. 2023 (Sergeys way!!!) dvd_SD_chi_adv_h = 0.0_WP dvd_SD_chi_adv_v = 0.0_WP dvd_SD_chi_dif_h = 0.0_WP @@ -950,33 +965,40 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) !=== DVD Knut Klingbeil et al. 2014 ==================================== ! add time derivativ of 2nd. moment tracer ! --> at this point trstar corresponds to tr_old - call dvd_add_time_deriv(tr_num, dvd_tot_KK, trstar , tr , partit, mesh) + call dvd_add_time_deriv(tr_num, dvd_KK_chi_dt, trstar , tr , partit, mesh) - ! from here on compute Tstar = ( T^(n+1) + T^(n) )*0.5 - trstar = (trstar + tr)*0.5_WP - ! compute horizontal 2nd moment tracer flux from advective tracer fluxes at mid ! edge face - call dvd_add_advflux_hor( .false., tr_num, dvd_tot_KK, trflx_h, UV, trstar, dump, partit, mesh) - + call dvd_add_advflux_hor( .false., tr_num, dvd_KK_chi_adv_h, trflx_h, UV, trstar, dump, partit, mesh) + ! add vertical 2nd moment tracer flux at upper/lower scalar cell prism interface - call dvd_add_advflux_ver( .false., tr_num, dvd_tot_KK, trflx_v, Wvel, trstar, partit, mesh) + call dvd_add_advflux_ver( .false., tr_num, dvd_KK_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) ! add contribution from horizontal diffusion flux (after klingbeil et al. 2014) - call dvd_add_difflux_hor( .false., tr_num, dvd_tot_KK, tr, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) + ! --> keep in mind here trstar corresponds to tr_old + call dvd_add_difflux_hor( .false., tr_num, dvd_KK_chi_dif_h, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) ! add contribution from vertical diffusion flux (after klingbeil et al. 2014) - call dvd_add_difflux_vert(.false., tr_num, dvd_tot_KK, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) + call dvd_add_difflux_vert(.false., tr_num, dvd_KK_chi_dif_v, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) ! add contribution from horizontal biharmonic diffusion flux if applied if (tracers%data(tr_num)%smooth_bh_tra) then - call dvd_add_difflux_bhvisc(.false., tr_num, dvd_tot_KK, tr, trstar,& + call dvd_add_difflux_bhvisc(.false., tr_num, dvd_KK_tot, tr, trstar,& tracers%data(tr_num)%gamma0_tra, tracers%data(tr_num)%gamma1_tra, & tracers%data(tr_num)%gamma2_tra, dump, partit, mesh) end if + ! compute total Xchi + dvd_KK_tot(:,:,tr_num) = dvd_KK_chi_adv_h(:,:,tr_num) + dvd_KK_chi_adv_v(:,:,tr_num) + & + dvd_KK_chi_dif_h(:,:,tr_num) + dvd_KK_chi_dif_v(:,:,tr_num) + & + dvd_KK_chi_dt(:,:,tr_num) + + ! - !=== DVD Sergey Danilov after Tridib et al. 2023 ======================= + !=== DVD Sergey Danilov after T. Banerjee et al. 2023 ======================= + ! from here on compute Tstar = ( T^(n+1) + T^(n) )*0.5 + trstar = (trstar + tr)*0.5_WP + ! add contribution from horizontal advection call dvd_add_advflux_hor( .true., tr_num, dvd_SD_chi_adv_h, trflx_h, UV, trstar, dump, partit, mesh) @@ -984,11 +1006,15 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) call dvd_add_advflux_ver( .true., tr_num, dvd_SD_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) ! add contribution from horizontal diffusion - call dvd_add_difflux_hor( .true., tr_num, dvd_SD_chi_dif_h, tr, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) + call dvd_add_difflux_hor( .true., tr_num, dvd_SD_chi_dif_h, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) ! add contribution from vertical diffusion call dvd_add_difflux_vert(.true., tr_num, dvd_SD_chi_dif_v, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) + ! compute total Xchi + dvd_SD_tot(:,:,tr_num) = dvd_SD_chi_adv_h(:,:,tr_num) + dvd_SD_chi_adv_v(:,:,tr_num) + & + dvd_SD_chi_dif_h(:,:,tr_num) + dvd_SD_chi_dif_v(:,:,tr_num) + end do !--> do tr_num=1,2 end subroutine compute_dvd ! @@ -1041,10 +1067,10 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d integer , intent(in) :: tr_num logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 real(kind=WP) , intent(inout) :: dvd_tot( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D, 2) - real(kind=WP) , intent(in) :: trflx_h( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D) - real(kind=WP) , intent(in) :: UV( mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D, 2) - real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP) , intent(inout) :: dump( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: trflx_h( mesh%nl-1, partit%myDim_edge2D) + real(kind=WP) , intent(in) :: UV( 2, mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) + real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D) + real(kind=WP) , intent(inout) :: dump( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D) integer :: node, edge, nz, nu12, nl12, nl1, nl2, nu1, nu2 integer :: ednodes(2), edelem(2), elnodes(3) real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, vflx, tr2flx, xchi @@ -1114,12 +1140,11 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! U = u*h ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] - xchi = trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - ! xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is - ! distributed to one node and the other half goes to the other node. - ! Therefor factor 2.0_WP*... is omitted - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, tr2flx, do_SDdvd) + xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & + vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu1, nu12-1 !_______________________________________________________________________ @@ -1136,7 +1161,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! hnode_new contains here in reality hnode_old. So we recompute ! helem from hnode_new ! elnodes= elem2D_nodes(:, edelem(2)) - vflx = (-UV(2, nz, edelem(2))*deltaX2 + UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP + vflx = (-UV(2, nz, edelem(2))*deltaX2 + UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute total DVD tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx @@ -1145,13 +1170,11 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! U = u*h ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] - xchi = trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - ! xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is - ! distributed to one node and the other half goes to the other node. - ! Therefor factor 2.0_WP*... is omitted - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, tr2flx, do_SDdvd) - + xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & + vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu2, nu12-1 end if !--> if (nu2 > 0) then @@ -1168,9 +1191,9 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! hnode_new contains here in reality hnode_old. So we recompute ! helem from hnode_new ! elnodes= elem2D_nodes(:, edelem(1)) - vflx = ( -UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1 )*sum(hnode_new(nz, elnodes))/3.0_WP + vflx = ( -UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1 )*sum(hnode_new(nz, elnodes))/3.0_WP elnodes= elem2D_nodes(:, edelem(2)) - vflx = vflx + ( UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2 )*sum(hnode_new(nz, elnodes))/3.0_WP + vflx = vflx + ( UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2 )*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute total DVD tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx @@ -1179,13 +1202,11 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! U = u*h ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] - xchi = trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - ! xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is - ! distributed to one node and the other half goes to the other node. - ! Therefor factor 2.0_WP*... is omitted - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, tr2flx, do_SDdvd) + xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & + vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu12, nl12 !_______________________________________________________________________ @@ -1202,7 +1223,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! hnode_new contains here in reality hnode_old. So we recompute ! helem from hnode_new ! elnodes= elem2D_nodes(:, edelem(1)) - vflx = (-UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP + vflx = (-UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute total DVD tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx @@ -1211,13 +1232,11 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! U = u*h ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] - xchi = trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - ! xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is - ! distributed to one node and the other half goes to the other node. - ! Therefor factor 2.0_WP*... is omitted - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, tr2flx, do_SDdvd) + xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & + vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nl12+1, nl1 !_______________________________________________________________________ @@ -1234,7 +1253,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! hnode_new contains here in reality hnode_old. So we recompute ! helem from hnode_new ! elnodes= elem2D_nodes(:, edelem(2)) - vflx = (-UV(2, nz, edelem(2))*deltaX1 + UV(1, nz, edelem(2))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP + vflx = (-UV(2, nz, edelem(2))*deltaX1 + UV(1, nz, edelem(2))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute total DVD tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx @@ -1243,25 +1262,21 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! U = u*h ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] - xchi = trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - ! xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is - ! distributed to one node and the other half goes to the other node. - ! Therefor factor 2.0_WP*... is omitted - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, tr2flx, do_SDdvd) + xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & + vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nl12+1, nl2 end do !--> do edge=1, myDim_edge2D !___________________________________________________________________________ ! switch from Xchi_tilde --> Xchi -!PS if (.not. do_SDdvd) then do node=1, myDim_nod2D+eDim_nod2D nu1 = ulevels_nod2D(node) nl1 = nlevels_nod2D(node)-1 dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) end do -!PS end if end subroutine dvd_add_advflux_hor ! ! @@ -1288,21 +1303,20 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, if (do_SDdvd) then !_______________________________________________________________________ ! compute DVD contribution from vertical advection after Sergeys method - ! --> see eq. 26 in Tridib et al. 2023 --> U = u*h, T^tilde face reconstructed + ! --> see eq. 26 in T. Banerjee et al. 2023 --> U = u*h, T^tilde face reconstructed ! value ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] do node=1,myDim_nod2D nu1 = ulevels_nod2D(node) nl1 = nlevels_nod2D(node) - !___________________________________________________________________ ! surface (nu1+1 -1) and bulk xchi = 0.0_WP do nz=nu1+1,nl1-1 ! --> here we are on full depth levels - xchi(nz) = trflx_v(nz, node)*(trstar(nz-1, node)-trstar(nz, node)) - & - Wvel(nz, node)*area(nz, node)*0.5_WP*(trstar(nz-1, node)+trstar(nz, node))*(trstar(nz-1, node)-trstar(nz, node)) + xchi(nz) = 2.0_WP * (trflx_v(nz, node)*(trstar(nz-1, node)-trstar(nz, node)) - & + Wvel(nz, node)*area(nz, node)*0.5_WP*(trstar(nz-1, node)+trstar(nz, node))*(trstar(nz-1, node)-trstar(nz, node))) ! !!! ATTENTION: !!! ! --> here hnode must be the vertice thickness that was used ! during advection, which was hnode^(n), but hnode^(n) got overwritten @@ -1313,15 +1327,14 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! distributed to one node and the other half goes to the other node. ! Therefor factor 2.0_WP*... is omitted ! --> here we are on mid-depth levels - dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) - (xchi(nz-1) + xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) + dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) - (dvd_xdfac*xchi(nz-1) + (1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) !--> why divide with dz why switching from Xchi_tilde --> Xchi? end do !--> do nz=nu1+1,nl1-1 - !___________________________________________________________________ ! same for bottom nz=nl1-1 - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (xchi(nz) + xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*xchi(nz) + (1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) end do !--> do node=1,myDim_nod2D @@ -1332,7 +1345,6 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, do node=1,myDim_nod2D nu1 = ulevels_nod2D(node) nl1 = nlevels_nod2D(node) - !___________________________________________________________________ ! surface nz = nu1 @@ -1353,7 +1365,6 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, vflx = Wvel(nz+1, node)*area(nz+1, node) tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) - !_______________________________________________________________________ ! bulk do nz=nu1+1,nl1-2 ! stop two layers over botrtom since Wvel(nl1)==0 --> 1/Wvel(nl1) --> Inf @@ -1367,7 +1378,6 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) end do !--> do nz=nu1,nl1 - !_______________________________________________________________________ ! bottom nz = nl-1 @@ -1384,7 +1394,7 @@ end subroutine dvd_add_advflux_ver ! add horizontal diffusive flux after Klingbeil et al. 2014, take Redi into account ! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx_hor[Tr^(n+1)] )/ V^(n+1) +... ! --> here Tr^(n+1) und Dflx_hor[...] are reconstructed values at the interfase -subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, trstar, Ki, slope, tr_z, tr_xy, dump, partit, mesh) +subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, tr_xy, dump, partit, mesh) implicit none type(t_partit), intent(in) , target :: partit type(t_mesh) , intent(in) , target :: mesh @@ -1392,7 +1402,6 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, trstar, Ki, slope, logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: Ki( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: tr_z( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) @@ -1467,29 +1476,29 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, trstar, Ki, slope, elnodes= elem2D_nodes(:, edelem(1)) dZ = sum(hnode_new(nz, elnodes))/3.0_WP ! also Ki is defined at mid depth levels - Kh = sum(Ki(nz, ednodes))/2.0_WP + Kh = sum(Ki(nz, ednodes))*0.5_WP ! reminder: tr_z ... vertical tracer gradient sits on full depth levels ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical ! tracer gradient back to mid depth levels Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) - SxTz = sum(Trz*slope(1, nz, ednodes))/2.0_WP - SyTz = sum(Trz*slope(2, nz, ednodes))/2.0_WP + SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP + SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP Trx = tr_xy(1, nz, edelem(1)) + SxTz*isredi Try = tr_xy(2, nz, edelem(1)) + SyTz*isredi + ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(-deltaX1*Try + deltaY1*Trx)*dZ !___________________________________________________________________ ! compute edge centered tracer value --> knut variant + ! --> here variable tr corresponds to tr_old = Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2)))*2.0_WP + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant - xchi = (trstar(nz, ednodes(1))-trstar(nz, ednodes(2))) - ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is - ! distributed to one side and the other half goes to the other side. - ! factor *2.0... can be omitted + ! --> here variable tr corresponds to trstar = (Tr^(n+1) + Tr^(n))*0.5 + xchi = 2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nu1, nu12-1 !_______________________________________________________________________ @@ -1506,29 +1515,29 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, trstar, Ki, slope, elnodes= elem2D_nodes(:, edelem(2)) dZ = sum(hnode_new(nz, elnodes))/3.0_WP ! also Ki is defined at mid depth levels - Kh = sum(Ki(nz, ednodes))/2.0_WP + Kh = sum(Ki(nz, ednodes))*0.5_WP ! reminder: tr_z ... vertical tracer gradient sits on full depth levels ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical ! tracer gradient back to mid depth levels Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) - SxTz = sum(Trz*slope(1, nz, ednodes))/2.0_WP - SyTz = sum(Trz*slope(2, nz, ednodes))/2.0_WP + SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP + SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP Trx = tr_xy(1, nz, edelem(2)) + SxTz*isredi Try = tr_xy(2, nz, edelem(2)) + SyTz*isredi + ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(deltaX2*Try - deltaY2*Trx)*dZ !_______________________________________________________________ ! compute edge centered tracer value + ! --> here variable tr corresponds to tr_old == Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2)))*2.0_WP + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !_______________________________________________________________ ! compute Tstar diference --> sergey variant - xchi = (trstar(nz, ednodes(1))-trstar(nz, ednodes(2))) - ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is - ! distributed to one side and the other half goes to the other side. - ! factor *2.0... can be omitted + ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 + xchi = 2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !_______________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nu2, nu12-1 end if !--> if (nu2 > 0) then @@ -1543,33 +1552,33 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, trstar, Ki, slope, ! hnode_new contains here in reality hnode_old. So we recompute ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP elnodes= elem2D_nodes(:, edelem(1)) - dZ = sum(hnode_new(nz, elnodes))/3.0_WP/2.0_WP + dZ = sum(hnode_new(nz, elnodes))/3.0_WP elnodes= elem2D_nodes(:, edelem(2)) - dZ = dZ + sum(hnode_new(nz, elnodes))/3.0_WP/2.0_WP + dZ = (dZ + sum(hnode_new(nz, elnodes))/3.0_WP)*0.5_WP ! also Ki is defined at mid depth levels - Kh = sum(Ki(nz, ednodes))/2.0_WP + Kh = sum(Ki(nz, ednodes))*0.5_WP ! reminder: tr_z ... vertical tracer gradient sits on full depth levels ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical ! tracer gradient back to mid depth levels Trz = 0.5_WP*(tr_z(nz, ednodes)+tr_z(nz+1, ednodes)) - SxTz = sum(Trz*slope(1, nz, ednodes))/2.0_WP - SyTz = sum(Trz*slope(2, nz, ednodes))/2.0_WP + SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP + SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP Trx = 0.5_WP*( tr_xy(1, nz, edelem(1))+tr_xy(1, nz, edelem(2)) ) + SxTz*isredi Try = 0.5_WP*( tr_xy(2, nz, edelem(1))+tr_xy(2, nz, edelem(2)) ) + SyTz*isredi + ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*((deltaX2-deltaX1)*Try-(deltaY2-deltaY1)*Trx)*dZ !___________________________________________________________________ ! compute edge centered tracer value + ! --> here variable tr corresponds to tr_old == Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2)))*2.0_WP + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant - xchi = (trstar(nz, ednodes(1))-trstar(nz, ednodes(2))) - ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is - ! distributed to one side and the other half goes to the other side. - ! factor *2.0... can be omitted + ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 + xchi = 2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nu12, nl12 !_______________________________________________________________________ @@ -1587,29 +1596,29 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, trstar, Ki, slope, elnodes= elem2D_nodes(:, edelem(1)) dZ = sum(hnode_new(nz, elnodes))/3.0_WP ! also Ki is defined at mid depth levels - Kh = sum(Ki(nz, ednodes))/2.0_WP + Kh = sum(Ki(nz, ednodes))*0.5_WP ! reminder: tr_z ... vertical tracer gradient sits on full depth levels ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical ! tracer gradient back to mid depth levels Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) - SxTz = sum(Trz*slope(1, nz, ednodes))/2.0_WP - SyTz = sum(Trz*slope(2, nz, ednodes))/2.0_WP + SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP + SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP Trx = tr_xy(1, nz, edelem(1)) + SxTz*isredi Try = tr_xy(2, nz, edelem(1)) + SyTz*isredi + ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(-deltaX1*Try + deltaY1*Trx)*dZ !___________________________________________________________________ ! compute edge centered tracer value + ! --> here variable tr corresponds to tr_old == Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2)))*2.0_WP + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant - xchi = (trstar(nz, ednodes(1))-trstar(nz, ednodes(2))) - ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is - ! distributed to one side and the other half goes to the other side. - ! factor *2.0... can be omitted + ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 + xchi = 2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !-->do nz=nl12+1, nl1 !_______________________________________________________________________ @@ -1627,43 +1636,42 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, trstar, Ki, slope, elnodes= elem2D_nodes(:, edelem(2)) dZ = sum(hnode_new(nz, elnodes))/3.0_WP ! also Ki is defined at mid depth levels - Kh = sum(Ki(nz, ednodes))/2.0_WP + Kh = sum(Ki(nz, ednodes))*0.5_WP ! reminder: tr_z ... vertical tracer gradient sits on full depth levels ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical ! tracer gradient back to mid depth levels Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) - SxTz = sum(Trz*slope(1, nz, ednodes))/2.0_WP - SyTz = sum(Trz*slope(2, nz, ednodes))/2.0_WP + SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP + SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP Trx = tr_xy(1, nz, edelem(2)) + SxTz*isredi Try = tr_xy(2, nz, edelem(2)) + SyTz*isredi + ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(deltaX2*Try - deltaY2*Trx)*dZ !___________________________________________________________________ ! compute edge centered tracer value - Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2)))*2.0_WP + ! --> here variable tr corresponds to tr_old == Tr^(n) + Trc = tr(nz, ednodes(1))*hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2))*hnode_new(nz, ednodes(2)) + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant - xchi = (trstar(nz, ednodes(1))-trstar(nz, ednodes(2))) - ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is - ! distributed to one side and the other half goes to the other side. - ! factor *2.0... can be omitted + ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 + xchi = 2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi, Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi, Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nl12+1, nl2 end do !--> do edge=1, myDim_edge2D !___________________________________________________________________________ - ! switch from Xchi_tilde --> Xchi -!PS if (.not. do_SDdvd) then + ! switch to volume normalized Xchi do node=1, myDim_nod2D+eDim_nod2D nu1 = ulevels_nod2D(node) nl1 = nlevels_nod2D(node)-1 dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) - dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) end do -!PS end if + end subroutine dvd_add_difflux_hor ! ! @@ -1720,65 +1728,69 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s ! to rescue the varaible hnode^(n) ). do nz=nu1+1, nl1-1 ! take into account isoneutral Redi diffusivity Kd*s^2 --> K_33 = Kv + Kd*s^2 - dzup = hnode(nz-1, node)/2.0_WP - dzdwn = hnode(nz , node)/2.0_WP + dzup = hnode(nz-1, node)*0.5_WP + dzdwn = hnode(nz , node)*0.5_WP Kv_R = dzup /(dzup + dzdwn) * slope(3, nz-1, node)**2 * Ki(nz-1,node) + & dzdwn/(dzup + dzdwn) * slope(3, nz , node)**2 * Ki(nz ,node) Kv_R = Kv_R*isredi ! fdiff = Kv*dT/dz = Kv (T(nz-1) - T(nz))/ ((hnode(nz-1)+hnode(nz))/2) - ! --> Dflx is until here the diffusive flux on full depth levels - Dflx(nz) = (Kv(nz, node)+Kv_R) * (tr(nz-1, node)-tr(nz, node)) / (dzup + dzdwn) + ! --> Dflx is until here the diffusive volume flux on full depth levels + Dflx(nz) = (Kv(nz, node)+Kv_R) * (tr(nz-1, node)-tr(nz, node)) / (dzup + dzdwn) * area(nz,node) ! extent Dflx after Sergey to compute the diffusive component of DVD - ! see Tridib et al. 2023 eq. 7 + ! see T. Banerjee et al. 2023 eq. 7 ! Xchi_(i+0.5) = 2*Kv * (T^(n+1)_(i+1)-T^(n+!)_i)/dz * (Tstar_(i+1)-Tstar_(i)/dz ! Dflx(nz) = Dflx * 2*(Tstar_(i+1)-Tstar_(i)/dz ! --> if Sergey diagonsitc is used Dflx correspond from here on to ! Xchi at full depth level interface - Dflx(nz) = Dflx(nz) * merge(2.0_WP*( trstar(nz, node) - trstar(nz-1, node) )/(dzup+dzdwn)*area(nz,node), 1.0_WP, do_SDdvd) + Dflx(nz) = Dflx(nz) * merge(2.0_WP*( trstar(nz, node)-trstar(nz-1, node) )/(dzup+dzdwn), 1.0_WP, do_SDdvd) ! | - ! +-> merge: if do_SDdvd==True use second argument, if - ! do_SDdvd==False use third argument of merge! + ! +-> merge: if do_SDdvd==True use first argument, if + ! do_SDdvd==False use second argument of merge! end do !--> do nz=nu1+1, nl1-1 !_______________________________________________________________________ ! decide between Sergeys and Knuts DVD method if (do_SDdvd) then !___________________________________________________________________ - ! now compute flx of Xchi into control volume, see Tridib et al. 2023 + ! now compute flx of Xchi into control volume, see T. Banerjee et al. 2023 ! eq. 9. Each control volume gets one half of the Xchi interface value ! --> keep in mind we are now again on mid depth levels and in this case ! Dflx contains the interface value of Xchi + ! --> compute volume normlized Xchi contribution do nz=nu1, nl1-1 - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 0.5_WP*(Dflx(nz)+Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*Dflx(nz)+ (1.0_WP-dvd_xdfac)+Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) end do !--> do nz=nu1+1, nl1-1 else !___________________________________________________________________ ! compute diffusive flux flxdiff(nz), after Klingbeil etal 2014 ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume + ! surface nz = nu1 tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) - tr_dwn = -Dflx(nz+1)*tr_dwn*area(nz+1, node) + tr_dwn = -Dflx(nz+1)*tr_dwn dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*tr_dwn/(areasvol(nz, node)*hnode(nz, node)) - + !___________________________________________________________________ + ! bulk do nz=nu1+1, nl1-2 ! volume (hnode) weighted temperature reconstruction at upper/lower ! scalar cell interface tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) tr_dwn = (tr(nz , node)*hnode(nz , node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz , node)+hnode(nz+1, node)) ! compute T^(n+1)_(i+0.5) * Dflx_(i+0.5) through upper and lower face - tr_up = Dflx(nz )*tr_up *area(nz , node) - tr_dwn = -Dflx(nz+1)*tr_dwn*area(nz+1, node) + tr_up = Dflx(nz )*tr_up + tr_dwn = -Dflx(nz+1)*tr_dwn ! copute dvd contribution normalized with volume dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up+tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) - ! |-> factor 2 comes here from Klingbeil et al.2014 - ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] + ! |-> factor 2 comes here from Klingbeil et al.2014 + ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] end do !--> do nz=nu1+1, nl1-1 - + !___________________________________________________________________ + ! bottom nz = nl1-1 tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) - tr_up = Dflx(nz)*tr_up*area(nz, node) + tr_up = Dflx(nz)*tr_up dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*tr_up/(areasvol(nz, node)*hnode(nz, node)) end if end do !--> do node=1, myDim_nod2D @@ -1896,7 +1908,7 @@ subroutine dvd_add_difflux_bhvisc(do_SDdvd, tr_num, dvd_tot, tr, trstar, gamma0_ if (do_SDdvd) then do nz=nu1, nl1-1 !_______________________________________________________________ - ! compute Tstar as in Tridib et al. 2023 --> Tstar = (Tr^(n+1) + Tr^n)/2 + ! compute Tstar as in T. Banerjee et al. 2023 --> Tstar = (Tr^(n+1) + Tr^n)/2 ! compute net edge Tracer contribution with Tstar trc(nz) = 2.0_WP*( trstar(nz, ednodes(1)) - trstar(nz, ednodes(2)) ) end do !-->do nz=nu1, nl1-1 From b21d08b371afa3c4a1e9beda9e6e0acb542bc7ea Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 15 Dec 2023 09:20:23 +0100 Subject: [PATCH 087/273] set back some bullshit changes --- src/gen_modules_diag.F90 | 211 ++++++++++++++++++++++++++++----------- 1 file changed, 151 insertions(+), 60 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index f353f602d..c1aab6747 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -907,12 +907,9 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) type(t_tracer), intent(in) , target :: tracers type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh - integer :: tr_num, node, edge, nz ! loop indices - integer :: nu12, nl12, nl1, nl2, nu1, nu2 - integer :: ednodes(2), edelem(2), elnodes(3) - real(kind=8) :: c1, c2, deltaX1, deltaY1, deltaX2, deltaY2, vflux, trXflx, Dflx(mesh%nl), trup, trdwn - real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, trstar, tr, trAB, Wvel, dump - real(kind=WP), dimension(:,:,:), pointer :: UV + integer :: tr_num, node, elem + real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, trstar, tr, trAB, Wvel, dump, fer_Wvel + real(kind=WP), dimension(:,:,:), pointer :: UV, fer_UV #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -951,6 +948,30 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) !___________________________________________________________________________ UV => dynamics%uv(:,:,:) Wvel => dynamics%w(:,:) + if (Fer_GM) then + fer_UV => dynamics%fer_uv(:,:,:) + fer_Wvel => dynamics%fer_w(:,:) + end if + + !___________________________________________________________________________ + ! update 3D velocities with the bolus velocities: + ! 1. bolus velocities are computed according to GM implementation after R. Ferrari et al., 2010 + ! 2. bolus velocities are used only for advecting tracers and shall be subtracted back afterwards + if (Fer_GM) then +!$OMP PARALLEL DO + do elem=1, myDim_elem2D+eDim_elem2D + UV(:, :, elem) = UV(:, :, elem) + fer_UV(:, :, elem) + end do +!$OMP END PARALLEL DO +!$OMP PARALLEL DO + do node=1, myDim_nod2D+eDim_nod2D + Wvel(:, node) = Wvel(:, node) + fer_Wvel(:, node) + end do +!$OMP END PARALLEL DO + end if + + !___________________________________________________________________________ + ! loop over temp and salt tracer do tr_num=1,2 !_______________________________________________________________________ ! create pointer to reconstructed tracer fluxes through mid edge face, and @@ -969,10 +990,10 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) ! compute horizontal 2nd moment tracer flux from advective tracer fluxes at mid ! edge face - call dvd_add_advflux_hor( .false., tr_num, dvd_KK_chi_adv_h, trflx_h, UV, trstar, dump, partit, mesh) + call dvd_add_advflux_hor( .false., tr_num, dvd_KK_chi_adv_h, trflx_h, UV, trstar, tr, dump, partit, mesh) ! add vertical 2nd moment tracer flux at upper/lower scalar cell prism interface - call dvd_add_advflux_ver( .false., tr_num, dvd_KK_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) + call dvd_add_advflux_ver( .false., tr_num, dvd_KK_chi_adv_v, trflx_v, Wvel, trstar, tr, partit, mesh) ! add contribution from horizontal diffusion flux (after klingbeil et al. 2014) ! --> keep in mind here trstar corresponds to tr_old @@ -981,12 +1002,12 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) ! add contribution from vertical diffusion flux (after klingbeil et al. 2014) call dvd_add_difflux_vert(.false., tr_num, dvd_KK_chi_dif_v, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) - ! add contribution from horizontal biharmonic diffusion flux if applied - if (tracers%data(tr_num)%smooth_bh_tra) then - call dvd_add_difflux_bhvisc(.false., tr_num, dvd_KK_tot, tr, trstar,& - tracers%data(tr_num)%gamma0_tra, tracers%data(tr_num)%gamma1_tra, & - tracers%data(tr_num)%gamma2_tra, dump, partit, mesh) - end if +!PS ! add contribution from horizontal biharmonic diffusion flux if applied +!PS if (tracers%data(tr_num)%smooth_bh_tra) then +!PS call dvd_add_difflux_bhvisc(.false., tr_num, dvd_KK_tot, tr, trstar,& +!PS tracers%data(tr_num)%gamma0_tra, tracers%data(tr_num)%gamma1_tra, & +!PS tracers%data(tr_num)%gamma2_tra, dump, partit, mesh) +!PS end if ! compute total Xchi dvd_KK_tot(:,:,tr_num) = dvd_KK_chi_adv_h(:,:,tr_num) + dvd_KK_chi_adv_v(:,:,tr_num) + & @@ -1000,10 +1021,10 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) trstar = (trstar + tr)*0.5_WP ! add contribution from horizontal advection - call dvd_add_advflux_hor( .true., tr_num, dvd_SD_chi_adv_h, trflx_h, UV, trstar, dump, partit, mesh) + call dvd_add_advflux_hor( .true., tr_num, dvd_SD_chi_adv_h, trflx_h, UV, trstar, tr, dump, partit, mesh) ! add contribution from vertical advection - call dvd_add_advflux_ver( .true., tr_num, dvd_SD_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) + call dvd_add_advflux_ver( .true., tr_num, dvd_SD_chi_adv_v, trflx_v, Wvel, trstar, tr, partit, mesh) ! add contribution from horizontal diffusion call dvd_add_difflux_hor( .true., tr_num, dvd_SD_chi_dif_h, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) @@ -1016,6 +1037,22 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) dvd_SD_chi_dif_h(:,:,tr_num) + dvd_SD_chi_dif_v(:,:,tr_num) end do !--> do tr_num=1,2 + + !___________________________________________________________________________ + ! subtract the the bolus velocities back from 3D velocities: + if (Fer_GM) then +!$OMP PARALLEL DO + do elem=1, myDim_elem2D+eDim_elem2D + UV(:, :, elem) = UV(:, :, elem) - fer_UV(:, :, elem) + end do +!$OMP END PARALLEL DO +!$OMP PARALLEL DO + do node=1, myDim_nod2D+eDim_nod2D + Wvel(:, node) = Wvel(:, node) - fer_Wvel(:, node) + end do +!$OMP END PARALLEL DO + end if + end subroutine compute_dvd ! ! @@ -1060,7 +1097,7 @@ end subroutine dvd_add_time_deriv !_______________________________________________________________________________ ! add vertical 2nd. moment tracer flux ! Xchi^(n+1) = ...+ ( Tr^(n+1) * Advflx_ver[Tr^(n+1)] )/ V^(n+1) +... -subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, dump, partit, mesh) +subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, tr, dump, partit, mesh) implicit none type(t_partit), intent(in) , target :: partit type(t_mesh) , intent(in) , target :: mesh @@ -1070,6 +1107,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d real(kind=WP) , intent(in) :: trflx_h( mesh%nl-1, partit%myDim_edge2D) real(kind=WP) , intent(in) :: UV( 2, mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D) real(kind=WP) , intent(inout) :: dump( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D) integer :: node, edge, nz, nu12, nl12, nl1, nl2, nu1, nu2 integer :: ednodes(2), edelem(2), elnodes(3) @@ -1089,7 +1127,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! edge face (tr^2) and add it to dvd_tot do edge = 1, myDim_edge2D ! local indice of nodes that span up edge ed - ednodes = edges(:,edge) + ednodes = edges(:,edge) ! local index of element that contribute to edge edelem = edge_tri(:,edge) !nl1 ... num of layers -1 at elem el(1), nu1...idx off surf layer in case of cavity !=1 @@ -1143,6 +1181,10 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + ! alternatively eq. 24 + ! xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! xchi = xchi - vflx*( tr(nz,ednodes(1))*(2.0_WP*trstar(nz,ednodes(1))-tr(nz,ednodes(1))) - tr(nz,ednodes(2))*(2.0_WP*trstar(nz,ednodes(2))-tr(nz,ednodes(2))) ) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu1, nu12-1 @@ -1161,7 +1203,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! hnode_new contains here in reality hnode_old. So we recompute ! helem from hnode_new ! elnodes= elem2D_nodes(:, edelem(2)) - vflx = (-UV(2, nz, edelem(2))*deltaX2 + UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP + vflx = (UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute total DVD tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx @@ -1173,6 +1215,10 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + ! alternatively eq. 24 + ! xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! xchi = xchi - vflx*( tr(nz,ednodes(1))*(2.0_WP*trstar(nz,ednodes(1))-tr(nz,ednodes(1))) - tr(nz,ednodes(2))*(2.0_WP*trstar(nz,ednodes(2))-tr(nz,ednodes(2))) ) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu2, nu12-1 @@ -1205,6 +1251,10 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + ! alternatively eq. 24 + ! xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! xchi = xchi - vflx*( tr(nz,ednodes(1))*(2.0_WP*trstar(nz,ednodes(1))-tr(nz,ednodes(1))) - tr(nz,ednodes(2))*(2.0_WP*trstar(nz,ednodes(2))-tr(nz,ednodes(2))) ) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu12, nl12 @@ -1235,6 +1285,10 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + ! alternatively eq. 24 + ! xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! xchi = xchi - vflx*( tr(nz,ednodes(1))*(2.0_WP*trstar(nz,ednodes(1))-tr(nz,ednodes(1))) - tr(nz,ednodes(2))*(2.0_WP*trstar(nz,ednodes(2))-tr(nz,ednodes(2))) ) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nl12+1, nl1 @@ -1253,17 +1307,21 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d ! hnode_new contains here in reality hnode_old. So we recompute ! helem from hnode_new ! elnodes= elem2D_nodes(:, edelem(2)) - vflx = (-UV(2, nz, edelem(2))*deltaX1 + UV(1, nz, edelem(2))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP + vflx = (UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute total DVD tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx - ! sergey way to compute advective component of DVD eq. 26 + ! sergey way to compute advective component of DVD eq. 26 (approximation small dt) ! U = u*h ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + + ! alternatively eq. 24 + ! xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! xchi = xchi - vflx*( tr(nz,ednodes(1))*(2.0_WP*trstar(nz,ednodes(1))-tr(nz,ednodes(1))) - tr(nz,ednodes(2))*(2.0_WP*trstar(nz,ednodes(2))-tr(nz,ednodes(2))) ) dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) @@ -1272,18 +1330,29 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d !___________________________________________________________________________ ! switch from Xchi_tilde --> Xchi - do node=1, myDim_nod2D+eDim_nod2D - nu1 = ulevels_nod2D(node) - nl1 = nlevels_nod2D(node)-1 - dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) - end do + if (do_SDdvd) then + ! In Sergeys case normalization should be done with volume at moment of + ! diffusion V^(n) + do node=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node)-1 + dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) + end do + else + ! In Knuts case volume normalization is done with V^(n+1) + do node=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node)-1 + dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode(nu1:nl1, node)) + end do + end if end subroutine dvd_add_advflux_hor ! ! !_______________________________________________________________________________ ! add vertical 2nd. moment tracer flux ! Xchi^(n+1) = ...+ ( Tr^(n+1) * Advflx_ver[Tr^(n+1)] )/ V^(n+1) +... -subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, partit, mesh) +subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, tr, partit, mesh) implicit none type(t_partit), intent(in) , target :: partit type(t_mesh) , intent(in) , target :: mesh @@ -1293,6 +1362,7 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, real(kind=WP) , intent(in) :: trflx_v( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: Wvel( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) integer :: node, nz, nu1, nl1 real(kind=WP) :: tr2flx, vflx, xchi(mesh%nl) @@ -1314,9 +1384,14 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! surface (nu1+1 -1) and bulk xchi = 0.0_WP do nz=nu1+1,nl1-1 - ! --> here we are on full depth levels + ! --> here we are on full depth levels eq. 26 for small dt xchi(nz) = 2.0_WP * (trflx_v(nz, node)*(trstar(nz-1, node)-trstar(nz, node)) - & Wvel(nz, node)*area(nz, node)*0.5_WP*(trstar(nz-1, node)+trstar(nz, node))*(trstar(nz-1, node)-trstar(nz, node))) + + ! alternative eq. 24 + ! xchi(nz) = 2.0_WP * -trflx_v(nz, node)*(trstar(nz-1, node)-trstar(nz, node)) + ! xchi(nz) = xchi(nz) - Wvel(nz, node)*area(nz, node)*(tr(nz-1, node)*(2.0_WP*trstar(nz-1, node)-tr(nz-1, node)) - tr(nz, node)*(2.0_WP*trstar(nz, node)-tr(nz, node))) + ! !!! ATTENTION: !!! ! --> here hnode must be the vertice thickness that was used ! during advection, which was hnode^(n), but hnode^(n) got overwritten @@ -1327,14 +1402,14 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! distributed to one node and the other half goes to the other node. ! Therefor factor 2.0_WP*... is omitted ! --> here we are on mid-depth levels - dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) - (dvd_xdfac*xchi(nz-1) + (1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) + dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) - (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) !--> why divide with dz why switching from Xchi_tilde --> Xchi? end do !--> do nz=nu1+1,nl1-1 !___________________________________________________________________ ! same for bottom nz=nl1-1 - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*xchi(nz) + (1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) end do !--> do node=1,myDim_nod2D @@ -1359,31 +1434,31 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! volume and tracer flux across upper cell prism face vflx = Wvel(nz, node)*area(nz, node) tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) end if ! volume and tracer flux across lower cell prism face vflx = Wvel(nz+1, node)*area(nz+1, node) tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) !_______________________________________________________________________ ! bulk do nz=nu1+1,nl1-2 ! stop two layers over botrtom since Wvel(nl1)==0 --> 1/Wvel(nl1) --> Inf ! volume and tracer flux across upper cell prism face vflx = Wvel(nz, node)*area(nz, node) tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! volume and tracer flux across lower cell prism face vflx = Wvel(nz+1, node)*area(nz+1, node) tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) end do !--> do nz=nu1,nl1 !_______________________________________________________________________ ! bottom nz = nl-1 vflx = Wvel(nz,node)*area(nz,node) tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode_new(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! --> do here not nz+1 since Wvel(nz+1)==0 (bottom bnd condition) --> 1/(Wvel(nz+1,n)*area(nz+1,n)) --> Inf end do !--> do node=1,myDim_nod2D end if @@ -1468,7 +1543,7 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t !___________________________________________________________________ ! !!! ATTENTION: !!! ! --> here helem must be the elemental thickness that was used - ! during advection, which was helem^(n), but helem^(n) got overwritten + ! during diffusion, which was helem^(n), but helem^(n) got overwritten ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!), so ! hnode_new contains here in reality hnode_old. So we recompute @@ -1490,7 +1565,7 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t !___________________________________________________________________ ! compute edge centered tracer value --> knut variant ! --> here variable tr corresponds to tr_old = Tr^(n) - Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant @@ -1507,7 +1582,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t do nz=nu2, nu12-1 !_______________________________________________________________ ! !!! ATTENTION: !!! - ! during advection, which was helem^(n), but helem^(n) got overwritten + ! --> here helem must be the elemental thickness that was used + ! during diffusion, which was helem^(n), but helem^(n) got overwritten ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!), so ! hnode_new contains here in reality hnode_old. So we recompute @@ -1529,7 +1605,7 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t !_______________________________________________________________ ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) - Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !_______________________________________________________________ ! compute Tstar diference --> sergey variant @@ -1545,8 +1621,9 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! (C) this loop if edge has both triangles valid do nz=nu12, nl12 !___________________________________________________________________ + ! !!! ATTENTION: !!! ! --> here helem must be the elemental thickness that was used - ! during advection, which was helem^(n), but helem^(n) got overwritten + ! during diffusion, which was helem^(n), but helem^(n) got overwritten ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!), so ! hnode_new contains here in reality hnode_old. So we recompute @@ -1570,7 +1647,7 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t !___________________________________________________________________ ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) - Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant @@ -1588,7 +1665,7 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t !___________________________________________________________________ ! !!! ATTENTION: !!! ! --> here helem must be the elemental thickness that was used - ! during advection, which was helem^(n), but helem^(n) got overwritten + ! during diffusion, which was helem^(n), but helem^(n) got overwritten ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!), so ! hnode_new contains here in reality hnode_old. So we recompute @@ -1610,7 +1687,7 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t !___________________________________________________________________ ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) - Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant @@ -1628,7 +1705,7 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t !___________________________________________________________________ ! !!! ATTENTION: !!! ! --> here helem must be the elemental thickness that was used - ! during advection, which was helem^(n), but helem^(n) got overwritten + ! during diffusion, which was helem^(n), but helem^(n) got overwritten ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!), so ! hnode_new contains here in reality hnode_old. So we recompute @@ -1650,7 +1727,7 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t !___________________________________________________________________ ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) - Trc = tr(nz, ednodes(1))*hnode_new(nz, ednodes(2)) + tr(nz, ednodes(2))*hnode_new(nz, ednodes(2)) + Trc = tr(nz, ednodes(1))*hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2))*hnode_new(nz, ednodes(2)) Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant @@ -1665,12 +1742,23 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t !___________________________________________________________________________ ! switch to volume normalized Xchi - do node=1, myDim_nod2D+eDim_nod2D - nu1 = ulevels_nod2D(node) - nl1 = nlevels_nod2D(node)-1 - dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) - dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) - dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) - end do + if (do_SDdvd) then + ! In Sergeys case normalization should be done with volume at moment of + ! diffusion V^(n) + do node=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node)-1 + dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) + end do + else + ! In Knuts case volume normalization is done with V^(n+1) + do node=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node)-1 + dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode(nu1:nl1, node)) +!PS dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) - dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode(nu1:nl1, node)) + end do + end if end subroutine dvd_add_difflux_hor ! @@ -1705,8 +1793,8 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s ! add contribution of implicite vertical diffusion (after Klingbeil et al.2014) do node=1, myDim_nod2D - nu1 = ulevels_nod2D(node) - nl1 = nlevels_nod2D(node) + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node) Dflx = 0.0_WP !_______________________________________________________________________ @@ -1736,7 +1824,7 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s ! fdiff = Kv*dT/dz = Kv (T(nz-1) - T(nz))/ ((hnode(nz-1)+hnode(nz))/2) ! --> Dflx is until here the diffusive volume flux on full depth levels - Dflx(nz) = (Kv(nz, node)+Kv_R) * (tr(nz-1, node)-tr(nz, node)) / (dzup + dzdwn) * area(nz,node) + Dflx(nz) = (Kv(nz, node)+Kv_R) * (tr(nz-1, node)-tr(nz, node)) / (dzup + dzdwn) * area(nz, node) ! extent Dflx after Sergey to compute the diffusive component of DVD ! see T. Banerjee et al. 2023 eq. 7 @@ -1744,7 +1832,7 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s ! Dflx(nz) = Dflx * 2*(Tstar_(i+1)-Tstar_(i)/dz ! --> if Sergey diagonsitc is used Dflx correspond from here on to ! Xchi at full depth level interface - Dflx(nz) = Dflx(nz) * merge(2.0_WP*( trstar(nz, node)-trstar(nz-1, node) )/(dzup+dzdwn), 1.0_WP, do_SDdvd) + Dflx(nz) = Dflx(nz) * merge(2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) ! | ! +-> merge: if do_SDdvd==True use first argument, if ! do_SDdvd==False use second argument of merge! @@ -1760,7 +1848,7 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s ! Dflx contains the interface value of Xchi ! --> compute volume normlized Xchi contribution do nz=nu1, nl1-1 - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*Dflx(nz)+ (1.0_WP-dvd_xdfac)+Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*Dflx(nz)+(1.0_WP-dvd_xdfac)*Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) end do !--> do nz=nu1+1, nl1-1 else !___________________________________________________________________ @@ -1769,8 +1857,9 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s ! surface nz = nu1 tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) - tr_dwn = -Dflx(nz+1)*tr_dwn - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*tr_dwn/(areasvol(nz, node)*hnode(nz, node)) + tr_dwn = Dflx(nz+1)*tr_dwn +!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*-tr_dwn/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*-tr_dwn/(areasvol(nz, node)*hnode(nz, node)) !___________________________________________________________________ ! bulk do nz=nu1+1, nl1-2 @@ -1780,9 +1869,10 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s tr_dwn = (tr(nz , node)*hnode(nz , node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz , node)+hnode(nz+1, node)) ! compute T^(n+1)_(i+0.5) * Dflx_(i+0.5) through upper and lower face tr_up = Dflx(nz )*tr_up - tr_dwn = -Dflx(nz+1)*tr_dwn + tr_dwn = Dflx(nz+1)*tr_dwn ! copute dvd contribution normalized with volume - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up+tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) +!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) ! |-> factor 2 comes here from Klingbeil et al.2014 ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] end do !--> do nz=nu1+1, nl1-1 @@ -1791,6 +1881,7 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s nz = nl1-1 tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) tr_up = Dflx(nz)*tr_up +!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*tr_up/(areasvol(nz, node)*hnode(nz, node)) dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*tr_up/(areasvol(nz, node)*hnode(nz, node)) end if end do !--> do node=1, myDim_nod2D From 887fedadf1270d71f617eac3280cf63b504ab452 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 20 Dec 2023 14:13:10 +0100 Subject: [PATCH 088/273] fix minus sign bug in sergey diagnostic. SD diagnostic looks much more reasonable than before, however KK diagnostic still looks strange --- src/MOD_TRACER.F90 | 6 +- src/gen_modules_diag.F90 | 228 +++++++++++++++++++-------------------- 2 files changed, 111 insertions(+), 123 deletions(-) diff --git a/src/MOD_TRACER.F90 b/src/MOD_TRACER.F90 index 80b9e08de..3d82e2847 100644 --- a/src/MOD_TRACER.F90 +++ b/src/MOD_TRACER.F90 @@ -60,9 +60,9 @@ MODULE MOD_TRACER ! auxury type for reading namelist.tra TYPE NML_TRACER_LIST_TYPE INTEGER :: ID =-1 - CHARACTER(len=4) :: adv_hor ='NONE' - CHARACTER(len=4) :: adv_ver ='NONE' - CHARACTER(len=4) :: adv_lim ='NONE' + CHARACTER(len=20) :: adv_hor ='NONE' + CHARACTER(len=20) :: adv_ver ='NONE' + CHARACTER(len=20) :: adv_lim ='NONE' REAL(kind=WP) :: adv_ph =1. REAL(kind=WP) :: adv_pv =1. END TYPE NML_TRACER_LIST_TYPE diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index c1aab6747..3bdfbfffb 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -908,7 +908,7 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh integer :: tr_num, node, elem - real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, trstar, tr, trAB, Wvel, dump, fer_Wvel + real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, tr, trstar, Wvel, dump, fer_Wvel real(kind=WP), dimension(:,:,:), pointer :: UV, fer_UV #include "associate_part_def.h" #include "associate_mesh_def.h" @@ -977,8 +977,8 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) ! create pointer to reconstructed tracer fluxes through mid edge face, and ! upper lower cell prism face and for tracer^n and tracer^(n+1) trflx_h => tracers%work%dvd_trflx_hor( :,:,tr_num) ! horizontal advectiv tracer flux through mid edge face using AB tracer - trflx_v => tracers%work%dvd_trflx_ver(:,:,tr_num) ! vertical advectiv tracer flux - trstar => tracers%work%dvd_trold( :,:,tr_num) ! tracer^n + trflx_v => tracers%work%dvd_trflx_ver( :,:,tr_num) ! vertical advectiv tracer flux + trstar => tracers%work%dvd_trold( :,:,tr_num) ! tracer^n tr => tracers%data(tr_num)%values(:,:) ! tracer^(n+1) dump => tracers%work%del_ttf @@ -986,14 +986,14 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) !=== DVD Knut Klingbeil et al. 2014 ==================================== ! add time derivativ of 2nd. moment tracer ! --> at this point trstar corresponds to tr_old - call dvd_add_time_deriv(tr_num, dvd_KK_chi_dt, trstar , tr , partit, mesh) + call dvd_add_time_deriv(tr_num, dvd_KK_chi_dt, trstar, tr, partit, mesh) ! compute horizontal 2nd moment tracer flux from advective tracer fluxes at mid ! edge face - call dvd_add_advflux_hor( .false., tr_num, dvd_KK_chi_adv_h, trflx_h, UV, trstar, tr, dump, partit, mesh) + call dvd_add_advflux_hor( .false., tr_num, dvd_KK_chi_adv_h, trflx_h, UV, trstar, dump, partit, mesh) ! add vertical 2nd moment tracer flux at upper/lower scalar cell prism interface - call dvd_add_advflux_ver( .false., tr_num, dvd_KK_chi_adv_v, trflx_v, Wvel, trstar, tr, partit, mesh) + call dvd_add_advflux_ver( .false., tr_num, dvd_KK_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) ! add contribution from horizontal diffusion flux (after klingbeil et al. 2014) ! --> keep in mind here trstar corresponds to tr_old @@ -1021,10 +1021,10 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) trstar = (trstar + tr)*0.5_WP ! add contribution from horizontal advection - call dvd_add_advflux_hor( .true., tr_num, dvd_SD_chi_adv_h, trflx_h, UV, trstar, tr, dump, partit, mesh) + call dvd_add_advflux_hor( .true., tr_num, dvd_SD_chi_adv_h, trflx_h, UV, trstar, dump, partit, mesh) ! add contribution from vertical advection - call dvd_add_advflux_ver( .true., tr_num, dvd_SD_chi_adv_v, trflx_v, Wvel, trstar, tr, partit, mesh) + call dvd_add_advflux_ver( .true., tr_num, dvd_SD_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) ! add contribution from horizontal diffusion call dvd_add_difflux_hor( .true., tr_num, dvd_SD_chi_dif_h, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) @@ -1061,7 +1061,7 @@ end subroutine compute_dvd ! Xchi^(n+1) = ...+ ( V^(n+1)*(Tr^(n+1))^2 + V^(n)*(Tr^(n))^2 )/ V^(n+1) +... subroutine dvd_add_time_deriv(tr_num, dvd_tot, tr_old, tr, partit, mesh) implicit none - type(t_partit), intent(in) , target :: partit + type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh integer , intent(in) :: tr_num real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) @@ -1097,9 +1097,9 @@ end subroutine dvd_add_time_deriv !_______________________________________________________________________________ ! add vertical 2nd. moment tracer flux ! Xchi^(n+1) = ...+ ( Tr^(n+1) * Advflx_ver[Tr^(n+1)] )/ V^(n+1) +... -subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, tr, dump, partit, mesh) +subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, dump, partit, mesh) implicit none - type(t_partit), intent(in) , target :: partit + type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh integer , intent(in) :: tr_num logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 @@ -1107,7 +1107,6 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, t real(kind=WP) , intent(in) :: trflx_h( mesh%nl-1, partit%myDim_edge2D) real(kind=WP) , intent(in) :: UV( 2, mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D) - real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D) real(kind=WP) , intent(inout) :: dump( mesh%nl-1, partit%myDim_nod2D +partit%eDim_nod2D) integer :: node, edge, nz, nu12, nl12, nl1, nl2, nu1, nu2 integer :: ednodes(2), edelem(2), elnodes(3) @@ -1171,22 +1170,21 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, t elnodes= elem2D_nodes(:, edelem(1)) vflx = (-UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP - ! knut way to compute total DVD - tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + ! knut way to compute 2nd moment horizontal advection flux + tr2flx = -(trflx_h(nz, edge)*trflx_h(nz, edge))/vflx ! sergey way to compute advective component of DVD eq. 26 ! U = u*h ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] - xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! |-> this minus because trflx_v contains the + ! negative tracer flx we need it positive + xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! |-> 2.0_WP*0.5_WP - ! alternatively eq. 24 - ! xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - ! xchi = xchi - vflx*( tr(nz,ednodes(1))*(2.0_WP*trstar(nz,ednodes(1))-tr(nz,ednodes(1))) - tr(nz,ednodes(2))*(2.0_WP*trstar(nz,ednodes(2))-tr(nz,ednodes(2))) ) - - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu1, nu12-1 !_______________________________________________________________________ @@ -1205,22 +1203,21 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, t elnodes= elem2D_nodes(:, edelem(2)) vflx = (UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP - ! knut way to compute total DVD - tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + ! knut way to compute 2nd moment horizontal advection flux + tr2flx = -(trflx_h(nz, edge)*trflx_h(nz, edge))/vflx ! sergey way to compute advective component of DVD eq. 26 ! U = u*h ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] - xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! |-> this minus because trflx_v contains the + ! negative tracer flx we need it positive + xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! |-> 2.0_WP*0.5_WP - ! alternatively eq. 24 - ! xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - ! xchi = xchi - vflx*( tr(nz,ednodes(1))*(2.0_WP*trstar(nz,ednodes(1))-tr(nz,ednodes(1))) - tr(nz,ednodes(2))*(2.0_WP*trstar(nz,ednodes(2))-tr(nz,ednodes(2))) ) - - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu2, nu12-1 end if !--> if (nu2 > 0) then @@ -1241,22 +1238,21 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, t elnodes= elem2D_nodes(:, edelem(2)) vflx = vflx + ( UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2 )*sum(hnode_new(nz, elnodes))/3.0_WP - ! knut way to compute total DVD - tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + ! knut way to compute 2nd moment horizontal advection flux + tr2flx = -(trflx_h(nz, edge)*trflx_h(nz, edge))/vflx ! sergey way to compute advective component of DVD eq. 26 ! U = u*h ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] - xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) + xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! |-> this minus because trflx_v contains the + ! negative tracer flx we need it positive + xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! |-> 2.0_WP*0.5_WP - ! alternatively eq. 24 - ! xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - ! xchi = xchi - vflx*( tr(nz,ednodes(1))*(2.0_WP*trstar(nz,ednodes(1))-tr(nz,ednodes(1))) - tr(nz,ednodes(2))*(2.0_WP*trstar(nz,ednodes(2))-tr(nz,ednodes(2))) ) - - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu12, nl12 !_______________________________________________________________________ @@ -1275,22 +1271,21 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, t elnodes= elem2D_nodes(:, edelem(1)) vflx = (-UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP - ! knut way to compute total DVD - tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + ! knut way to compute 2nd moment horizontal advection flux + tr2flx = -(trflx_h(nz, edge)*trflx_h(nz, edge))/vflx ! sergey way to compute advective component of DVD eq. 26 ! U = u*h ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] - xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) - - ! alternatively eq. 24 - ! xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - ! xchi = xchi - vflx*( tr(nz,ednodes(1))*(2.0_WP*trstar(nz,ednodes(1))-tr(nz,ednodes(1))) - tr(nz,ednodes(2))*(2.0_WP*trstar(nz,ednodes(2))-tr(nz,ednodes(2))) ) + xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! |-> this minus because trflx_v contains the + ! negative tracer flx we need it positive + xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nl12+1, nl1 !_______________________________________________________________________ @@ -1309,24 +1304,24 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, t elnodes= elem2D_nodes(:, edelem(2)) vflx = (UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP - ! knut way to compute total DVD - tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + ! knut way to compute 2nd moment horizontal advection flux + tr2flx = -(trflx_h(nz, edge)*trflx_h(nz, edge))/vflx ! sergey way to compute advective component of DVD eq. 26 (approximation small dt) ! U = u*h ! Xchi_(i+0.5) = 2*[U_(i+0.5)* T^tilde_(i+0.5) * ( Tstar_i-Tstar_(i-1) ) - ! U_(i+0.5)*0.5*(Tstar_i+Tstar_(i-1))*(Tstar_i-Tstar_(i-1))] - xchi = 2.0_WP * (trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - & - vflx*0.5_WP*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2)))) - - ! alternatively eq. 24 - ! xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) - ! xchi = xchi - vflx*( tr(nz,ednodes(1))*(2.0_WP*trstar(nz,ednodes(1))-tr(nz,ednodes(1))) - tr(nz,ednodes(2))*(2.0_WP*trstar(nz,ednodes(2))-tr(nz,ednodes(2))) ) + xchi = 2.0_WP * -trflx_h(nz, edge)*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! |-> this minus because trflx_v contains the + ! negative tracer flx we need it positive + xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) + ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nl12+1, nl2 end do !--> do edge=1, myDim_edge2D + call exchange_nod(dump, partit) !___________________________________________________________________________ ! switch from Xchi_tilde --> Xchi @@ -1352,19 +1347,18 @@ end subroutine dvd_add_advflux_hor !_______________________________________________________________________________ ! add vertical 2nd. moment tracer flux ! Xchi^(n+1) = ...+ ( Tr^(n+1) * Advflx_ver[Tr^(n+1)] )/ V^(n+1) +... -subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, tr, partit, mesh) +subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, partit, mesh) implicit none - type(t_partit), intent(in) , target :: partit + type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh integer , intent(in) :: tr_num logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 real(kind=WP) , intent(inout) :: dvd_tot( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) - real(kind=WP) , intent(in) :: trflx_v( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: trflx_v( mesh%nl , partit%myDim_nod2D) real(kind=WP) , intent(in) :: Wvel( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) integer :: node, nz, nu1, nl1 - real(kind=WP) :: tr2flx, vflx, xchi(mesh%nl) + real(kind=WP) :: tr2flx, vflx, xchi(mesh%nl), trstar_zlev #include "associate_part_def.h" #include "associate_mesh_def.h" @@ -1384,32 +1378,29 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! surface (nu1+1 -1) and bulk xchi = 0.0_WP do nz=nu1+1,nl1-1 - ! --> here we are on full depth levels eq. 26 for small dt - xchi(nz) = 2.0_WP * (trflx_v(nz, node)*(trstar(nz-1, node)-trstar(nz, node)) - & - Wvel(nz, node)*area(nz, node)*0.5_WP*(trstar(nz-1, node)+trstar(nz, node))*(trstar(nz-1, node)-trstar(nz, node))) + + !PS trstar_zlev = 0.5_WP*(trstar(nz-1, node)+trstar(nz, node)) + trstar_zlev = (trstar(nz-1, node)*hnode(nz-1, node)+trstar(nz, node)*hnode(nz, node))/(hnode(nz-1,node)+hnode(nz,node)) - ! alternative eq. 24 - ! xchi(nz) = 2.0_WP * -trflx_v(nz, node)*(trstar(nz-1, node)-trstar(nz, node)) - ! xchi(nz) = xchi(nz) - Wvel(nz, node)*area(nz, node)*(tr(nz-1, node)*(2.0_WP*trstar(nz-1, node)-tr(nz-1, node)) - tr(nz, node)*(2.0_WP*trstar(nz, node)-tr(nz, node))) + ! --> here we are on full depth levels eq. 26 for small dt + xchi(nz) = 2.0_WP*-trflx_v(nz, node)*(trstar(nz-1, node)-trstar(nz, node)) + ! |-> this minus because trflx_v contains the + ! negative tracer flx we need it positive + xchi(nz) = xchi(nz) - 2.0_WP*Wvel(nz, node)*area(nz, node)*trstar_zlev*(trstar(nz-1, node)-trstar(nz, node)) ! !!! ATTENTION: !!! ! --> here hnode must be the vertice thickness that was used ! during advection, which was hnode^(n), but hnode^(n) got overwritten ! with hnode^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!) - - ! --> xchi originally has a factor 2.0_WP*... but since 0.5*Xchi is - ! distributed to one node and the other half goes to the other node. - ! Therefor factor 2.0_WP*... is omitted ! --> here we are on mid-depth levels - dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) - (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) + dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) + (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) - !--> why divide with dz why switching from Xchi_tilde --> Xchi? end do !--> do nz=nu1+1,nl1-1 !___________________________________________________________________ ! same for bottom nz=nl1-1 - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) end do !--> do node=1,myDim_nod2D @@ -1433,31 +1424,31 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, if (nu1>1) then ! volume and tracer flux across upper cell prism face vflx = Wvel(nz, node)*area(nz, node) - tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) end if ! volume and tracer flux across lower cell prism face vflx = Wvel(nz+1, node)*area(nz+1, node) - tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx + tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) - !_______________________________________________________________________ + !___________________________________________________________________ ! bulk do nz=nu1+1,nl1-2 ! stop two layers over botrtom since Wvel(nl1)==0 --> 1/Wvel(nl1) --> Inf ! volume and tracer flux across upper cell prism face vflx = Wvel(nz, node)*area(nz, node) - tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! volume and tracer flux across lower cell prism face vflx = Wvel(nz+1, node)*area(nz+1, node) - tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx + tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) end do !--> do nz=nu1,nl1 - !_______________________________________________________________________ + !___________________________________________________________________ ! bottom nz = nl-1 vflx = Wvel(nz,node)*area(nz,node) - tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! --> do here not nz+1 since Wvel(nz+1)==0 (bottom bnd condition) --> 1/(Wvel(nz+1,n)*area(nz+1,n)) --> Inf end do !--> do node=1,myDim_nod2D @@ -1471,13 +1462,13 @@ end subroutine dvd_add_advflux_ver ! --> here Tr^(n+1) und Dflx_hor[...] are reconstructed values at the interfase subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, tr_xy, dump, partit, mesh) implicit none - type(t_partit), intent(in) , target :: partit + type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh integer , intent(in) :: tr_num logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP) , intent(in) :: Ki( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: Ki( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: tr_z( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: tr_xy(2,mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) @@ -1566,14 +1557,14 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! compute edge centered tracer value --> knut variant ! --> here variable tr corresponds to tr_old = Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ - ! compute Tstar diference --> sergey variant + ! compute Tstar dfiference --> sergey variant ! --> here variable tr corresponds to trstar = (Tr^(n+1) + Tr^(n))*0.5 - xchi = 2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) + xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nu1, nu12-1 !_______________________________________________________________________ @@ -1606,14 +1597,14 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !_______________________________________________________________ ! compute Tstar diference --> sergey variant ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 - xchi = 2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) + xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !_______________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nu2, nu12-1 end if !--> if (nu2 > 0) then @@ -1648,14 +1639,14 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 - xchi = 2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) + xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nu12, nl12 !_______________________________________________________________________ @@ -1688,14 +1679,14 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 - xchi = 2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) + xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !-->do nz=nl12+1, nl1 !_______________________________________________________________________ @@ -1728,17 +1719,18 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) Trc = tr(nz, ednodes(1))*hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2))*hnode_new(nz, ednodes(2)) - Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 - xchi = 2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) + xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge(-xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge( xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nl12+1, nl2 end do !--> do edge=1, myDim_edge2D + call exchange_nod(dump, partit) !___________________________________________________________________________ ! switch to volume normalized Xchi @@ -1756,7 +1748,6 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t nu1 = ulevels_nod2D(node) nl1 = nlevels_nod2D(node)-1 dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode(nu1:nl1, node)) -!PS dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) - dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode(nu1:nl1, node)) end do end if @@ -1770,7 +1761,7 @@ end subroutine dvd_add_difflux_hor ! --> here Tr^(n+1) und Dflx[...] are reconstructed values at the interfase subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, slope, partit, mesh) implicit none - type(t_partit), intent(in) , target :: partit + type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh integer , intent(in) :: tr_num logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 @@ -1824,7 +1815,7 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s ! fdiff = Kv*dT/dz = Kv (T(nz-1) - T(nz))/ ((hnode(nz-1)+hnode(nz))/2) ! --> Dflx is until here the diffusive volume flux on full depth levels - Dflx(nz) = (Kv(nz, node)+Kv_R) * (tr(nz-1, node)-tr(nz, node)) / (dzup + dzdwn) * area(nz, node) + Dflx(nz) = (Kv(nz, node)+Kv_R) * (tr(nz, node)-tr(nz-1, node)) / (dzup + dzdwn) * area(nz, node) ! extent Dflx after Sergey to compute the diffusive component of DVD ! see T. Banerjee et al. 2023 eq. 7 @@ -1848,7 +1839,7 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s ! Dflx contains the interface value of Xchi ! --> compute volume normlized Xchi contribution do nz=nu1, nl1-1 - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*Dflx(nz)+(1.0_WP-dvd_xdfac)*Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*Dflx(nz)+(1.0_WP-dvd_xdfac)*Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) end do !--> do nz=nu1+1, nl1-1 else !___________________________________________________________________ @@ -1858,8 +1849,7 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s nz = nu1 tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) tr_dwn = Dflx(nz+1)*tr_dwn -!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*-tr_dwn/(areasvol(nz, node)*hnode(nz, node)) - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*-tr_dwn/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*-tr_dwn/(areasvol(nz, node)*hnode(nz, node)) !___________________________________________________________________ ! bulk do nz=nu1+1, nl1-2 @@ -1871,8 +1861,7 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s tr_up = Dflx(nz )*tr_up tr_dwn = Dflx(nz+1)*tr_dwn ! copute dvd contribution normalized with volume -!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) ! |-> factor 2 comes here from Klingbeil et al.2014 ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] end do !--> do nz=nu1+1, nl1-1 @@ -1881,8 +1870,7 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s nz = nl1-1 tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) tr_up = Dflx(nz)*tr_up -!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*tr_up/(areasvol(nz, node)*hnode(nz, node)) - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*tr_up/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*tr_up/(areasvol(nz, node)*hnode(nz, node)) end if end do !--> do node=1, myDim_nod2D end subroutine dvd_add_difflux_vert From ede77386ebf1598f52260b4de09c6bab5e2c46e4 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 20 Dec 2023 14:15:37 +0100 Subject: [PATCH 089/273] small improvements --- src/oce_ale_tracer.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 88a1a1e43..269370af1 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -197,7 +197,7 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) ! DVD diagostic: store tracer (only temp and salt) from previouse time steps if ((ldiag_DVD) .and. (tr_num<=2)) then - tracers%work%dvd_trold(:,:, tr_num) = tracers%data(tr_num)%values + tracers%work%dvd_trold(:,:, tr_num) = tracers%data(tr_num)%values(:,:) end if ! do tracer AB (Adams-Bashfort) interpolation only for advectiv part From 0ed55b1adee184b951719e4060022a70941b979b Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 21 Dec 2023 12:11:06 +0100 Subject: [PATCH 090/273] make sure that thew fluxes are right when using fct --- src/oce_adv_tra_driver.F90 | 77 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 74 insertions(+), 3 deletions(-) diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index 9fdaebd59..835193df8 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -207,6 +207,33 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, !$ACC END PARALLEL LOOP !$OMP END PARALLEL DO + !_______________________________________________________________________ + ! DVD diagostic: store low order horizontal and vertical tracer fluxes through mid + ! edge faces and upper and lower scalar cell prism face. in case of FCT + if ((ldiag_DVD) .and. (tr_num<=2)) then +!OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) + !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) + do n=1, myDim_edge2D + !$ACC LOOP VECTOR + do nz=1, mesh%nl - 1 + tracers%work%dvd_trflx_hor(nz, n, tr_num) = adv_flux_hor(nz, n) + end do + !$ACC END LOOP + end do + !$ACC END PARALLEL LOOP + !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) + do n=1, myDim_nod2D + !$ACC LOOP VECTOR + do nz=1, mesh%nl + tracers%work%dvd_trflx_ver(nz, n, tr_num) = adv_flux_ver(nz, n) + end do + !$ACC END LOOP + end do + !$ACC END PARALLEL LOOP +!$OMP END PARALLEL DO + end if + + !_______________________________________________________________________ if (dynamics%use_wsplit) then !wvel/=wvel_e ! update for implicit contribution (w_split option) call adv_tra_vert_impl(dt, wi, fct_LO, partit, mesh) @@ -276,9 +303,53 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, ! reconstruction value depending on horiz/vertical advection scheme. Only do ! this for temperature and salinity if ((ldiag_DVD) .and. (tr_num<=2)) then - tracers%work%dvd_trflx_hor(:,:,tr_num) = adv_flux_hor(:,:) - tracers%work%dvd_trflx_ver(:,:,tr_num) = adv_flux_ver(:,:) - end if + !_______________________________________________________________________ + if (trim(tracers%data(tr_num)%tra_adv_lim)=='FCT') then +!OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) + !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) + do n=1, myDim_edge2D + !$ACC LOOP VECTOR + do nz=1, mesh%nl-1 + tracers%work%dvd_trflx_hor(nz, n, tr_num) = tracers%work%dvd_trflx_hor(nz, n, tr_num) + adv_flux_hor(nz, n) + end do + !$ACC END LOOP + end do + !$ACC END PARALLEL LOOP + !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) + do n=1, myDim_nod2D + !$ACC LOOP VECTOR + do nz=1, mesh%nl + tracers%work%dvd_trflx_ver(nz, n, tr_num) = tracers%work%dvd_trflx_ver(nz, n, tr_num) + adv_flux_ver(nz, n) + end do + !$ACC END LOOP + end do + !$ACC END PARALLEL LOOP +!$OMP END PARALLEL DO + + !_______________________________________________________________________ + else +!OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) + !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) + do n=1, myDim_edge2D + !$ACC LOOP VECTOR + do nz=1, mesh%nl-1 + tracers%work%dvd_trflx_hor(nz, n, tr_num) = adv_flux_hor(nz, n) + end do + !$ACC END LOOP + end do + !$ACC END PARALLEL LOOP + !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) + do n=1, myDim_nod2D + !$ACC LOOP VECTOR + do nz=1, mesh%nl + tracers%work%dvd_trflx_ver(nz, n, tr_num) = adv_flux_ver(nz, n) + end do + !$ACC END LOOP + end do + !$ACC END PARALLEL LOOP +!$OMP END PARALLEL DO + end if + end if !-->if ((ldiag_DVD) .and. (tr_num<=2)) then end subroutine do_oce_adv_tra ! From ffc8efe8d4f8cd2d075d77a18073a161860c975e Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 22 Dec 2023 15:39:49 +0100 Subject: [PATCH 091/273] add vertical explicite contribution when Redi is used --- src/gen_modules_diag.F90 | 245 +++++++++++++++++++++++++++++++-------- src/io_meandata.F90 | 31 ++--- 2 files changed, 212 insertions(+), 64 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 3bdfbfffb..51f5c8088 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -23,8 +23,8 @@ module diagnostics std_dens_UVDZ, std_dens_DIV, std_dens_DIV_fer, std_dens_Z, std_dens_H, std_dens_dVdT, std_dens_flux, & dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, & compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, & - dvd_SD_chi_dif_h, dvd_SD_chi_dif_v, dvd_xdfac, & - dvd_KK_chi_adv_h, dvd_KK_chi_adv_v, dvd_KK_chi_dif_h, dvd_KK_chi_dif_v, dvd_KK_chi_dt + dvd_SD_chi_dif_h, dvd_SD_chi_dif_ve, dvd_SD_chi_dif_vi, dvd_xdfac, & + dvd_KK_chi_adv_h, dvd_KK_chi_adv_v, dvd_KK_chi_dif_h, dvd_KK_chi_dif_ve, dvd_KK_chi_dif_vi, dvd_KK_chi_dt ! Arrays used for diagnostics, some shall be accessible to the I/O ! 1. solver diagnostics: A*x=rhs? @@ -61,8 +61,8 @@ module diagnostics !_____________________________________________________________________________ ! DVD diagnostics real(kind=WP), save, allocatable, target :: dvd_KK_tot(:,:,:), dvd_SD_tot(:,:,:), dvd_SD_chi_adv_h(:,:,:), & - dvd_SD_chi_adv_v(:,:,:), dvd_SD_chi_dif_h(:,:,:), dvd_SD_chi_dif_v(:,:,:) - real(kind=WP), save, allocatable, target :: dvd_KK_chi_adv_h(:,:,:), dvd_KK_chi_adv_v(:,:,:), dvd_KK_chi_dif_h(:,:,:), dvd_KK_chi_dif_v(:,:,:), dvd_KK_chi_dt(:,:,:) + dvd_SD_chi_adv_v(:,:,:), dvd_SD_chi_dif_h(:,:,:), dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_vi(:,:,:) + real(kind=WP), save, allocatable, target :: dvd_KK_chi_adv_h(:,:,:), dvd_KK_chi_adv_v(:,:,:), dvd_KK_chi_dif_h(:,:,:), dvd_KK_chi_dif_ve(:,:,:), dvd_KK_chi_dif_vi(:,:,:), dvd_KK_chi_dt(:,:,:) real(kind=WP), parameter :: dvd_xdfac=0.5_WP ! Xchi distribution factor, default distribute ! equal amount (50:50) of xchi on both side of face !_____________________________________________________________________________ @@ -915,35 +915,39 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) #include "associate_part_ass.h" #include "associate_mesh_ass.h" if (firstcall) then !allocate the stuff at the first call - allocate(dvd_KK_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_dif_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_dt( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_dif_ve( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_dif_vi( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_dt( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_dif_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_ve( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_vi( nl-1, myDim_nod2D+eDim_nod2D, 2)) firstcall=.false. if (mode==0) return end if !___________________________________________________________________________ ! initialise each time diagnostic is computed - dvd_KK_tot = 0.0_WP ! --> DVD diagnostic after Klingbeil et al. 2014 - dvd_KK_chi_adv_h = 0.0_WP - dvd_KK_chi_adv_v = 0.0_WP - dvd_KK_chi_dif_h = 0.0_WP - dvd_KK_chi_dif_v = 0.0_WP - dvd_KK_chi_dt = 0.0_WP + dvd_KK_tot = 0.0_WP ! --> DVD diagnostic after Klingbeil et al. 2014 + dvd_KK_chi_adv_h = 0.0_WP + dvd_KK_chi_adv_v = 0.0_WP + dvd_KK_chi_dif_h = 0.0_WP + dvd_KK_chi_dif_ve = 0.0_WP ! explicite part (in case of Redi==.true.) + dvd_KK_chi_dif_vi = 0.0_WP ! implicite part + dvd_KK_chi_dt = 0.0_WP - dvd_SD_tot = 0.0_WP ! --> DVD diagnostic after Banjerjee et al. 2023 (Sergeys way!!!) - dvd_SD_chi_adv_h = 0.0_WP - dvd_SD_chi_adv_v = 0.0_WP - dvd_SD_chi_dif_h = 0.0_WP - dvd_SD_chi_dif_v = 0.0_WP + dvd_SD_tot = 0.0_WP ! --> DVD diagnostic after Banjerjee et al. 2023 (Sergeys way!!!) + dvd_SD_chi_adv_h = 0.0_WP + dvd_SD_chi_adv_v = 0.0_WP + dvd_SD_chi_dif_h = 0.0_WP + dvd_SD_chi_dif_ve = 0.0_WP ! explicite part (in case of Redi==.true.) + dvd_SD_chi_dif_vi = 0.0_WP ! implicite part !___________________________________________________________________________ UV => dynamics%uv(:,:,:) @@ -1000,7 +1004,8 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) call dvd_add_difflux_hor( .false., tr_num, dvd_KK_chi_dif_h, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) ! add contribution from vertical diffusion flux (after klingbeil et al. 2014) - call dvd_add_difflux_vert(.false., tr_num, dvd_KK_chi_dif_v, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) + if (Redi) call dvd_add_difflux_vertexpl(.false., tr_num, dvd_KK_chi_dif_ve, trstar, Ki, slope_tapered, tr_xy, partit, mesh) + call dvd_add_difflux_vertimpl(.false., tr_num, dvd_KK_chi_dif_vi, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) !PS ! add contribution from horizontal biharmonic diffusion flux if applied !PS if (tracers%data(tr_num)%smooth_bh_tra) then @@ -1010,9 +1015,9 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) !PS end if ! compute total Xchi - dvd_KK_tot(:,:,tr_num) = dvd_KK_chi_adv_h(:,:,tr_num) + dvd_KK_chi_adv_v(:,:,tr_num) + & - dvd_KK_chi_dif_h(:,:,tr_num) + dvd_KK_chi_dif_v(:,:,tr_num) + & - dvd_KK_chi_dt(:,:,tr_num) + dvd_KK_tot(:,:,tr_num) = dvd_KK_chi_adv_h( :,:,tr_num) + dvd_KK_chi_adv_v( :,:,tr_num) + & + dvd_KK_chi_dif_h( :,:,tr_num) + dvd_KK_chi_dif_ve(:,:,tr_num) + & + dvd_KK_chi_dif_vi(:,:,tr_num) + dvd_KK_chi_dt( :,:,tr_num) ! @@ -1030,11 +1035,13 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) call dvd_add_difflux_hor( .true., tr_num, dvd_SD_chi_dif_h, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) ! add contribution from vertical diffusion - call dvd_add_difflux_vert(.true., tr_num, dvd_SD_chi_dif_v, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) + if (Redi) call dvd_add_difflux_vertexpl(.true., tr_num, dvd_KK_chi_dif_ve, trstar, Ki, slope_tapered, tr_xy, partit, mesh) + call dvd_add_difflux_vertimpl(.true., tr_num, dvd_SD_chi_dif_vi, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) ! compute total Xchi - dvd_SD_tot(:,:,tr_num) = dvd_SD_chi_adv_h(:,:,tr_num) + dvd_SD_chi_adv_v(:,:,tr_num) + & - dvd_SD_chi_dif_h(:,:,tr_num) + dvd_SD_chi_dif_v(:,:,tr_num) + dvd_SD_tot(:,:,tr_num) = dvd_SD_chi_adv_h( :,:,tr_num) + dvd_SD_chi_adv_v( :,:,tr_num) + & + dvd_SD_chi_dif_h( :,:,tr_num) + dvd_SD_chi_dif_ve(:,:,tr_num) + & + dvd_SD_chi_dif_vi(:,:,tr_num) end do !--> do tr_num=1,2 @@ -1171,7 +1178,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d vflx = (-UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute 2nd moment horizontal advection flux - tr2flx = -(trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx ! sergey way to compute advective component of DVD eq. 26 ! U = u*h @@ -1204,7 +1211,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d vflx = (UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute 2nd moment horizontal advection flux - tr2flx = -(trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx ! sergey way to compute advective component of DVD eq. 26 ! U = u*h @@ -1239,7 +1246,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d vflx = vflx + ( UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2 )*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute 2nd moment horizontal advection flux - tr2flx = -(trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx ! sergey way to compute advective component of DVD eq. 26 ! U = u*h @@ -1272,7 +1279,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d vflx = (-UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute 2nd moment horizontal advection flux - tr2flx = -(trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx ! sergey way to compute advective component of DVD eq. 26 ! U = u*h @@ -1305,7 +1312,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d vflx = (UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute 2nd moment horizontal advection flux - tr2flx = -(trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx ! sergey way to compute advective component of DVD eq. 26 (approximation small dt) ! U = u*h @@ -1378,8 +1385,9 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! surface (nu1+1 -1) and bulk xchi = 0.0_WP do nz=nu1+1,nl1-1 - - !PS trstar_zlev = 0.5_WP*(trstar(nz-1, node)+trstar(nz, node)) + + ! compute trstar on zlev interface + !PStrstar_zlev = 0.5_WP*(trstar(nz-1, node)+trstar(nz, node)) trstar_zlev = (trstar(nz-1, node)*hnode(nz-1, node)+trstar(nz, node)*hnode(nz, node))/(hnode(nz-1,node)+hnode(nz,node)) ! --> here we are on full depth levels eq. 26 for small dt @@ -1424,31 +1432,31 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, if (nu1>1) then ! volume and tracer flux across upper cell prism face vflx = Wvel(nz, node)*area(nz, node) - tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) end if ! volume and tracer flux across lower cell prism face vflx = Wvel(nz+1, node)*area(nz+1, node) - tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx + tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) !___________________________________________________________________ ! bulk do nz=nu1+1,nl1-2 ! stop two layers over botrtom since Wvel(nl1)==0 --> 1/Wvel(nl1) --> Inf ! volume and tracer flux across upper cell prism face vflx = Wvel(nz, node)*area(nz, node) - tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! volume and tracer flux across lower cell prism face vflx = Wvel(nz+1, node)*area(nz+1, node) - tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx + tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) end do !--> do nz=nu1,nl1 !___________________________________________________________________ ! bottom nz = nl-1 vflx = Wvel(nz,node)*area(nz,node) - tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! --> do here not nz+1 since Wvel(nz+1)==0 (bottom bnd condition) --> 1/(Wvel(nz+1,n)*area(nz+1,n)) --> Inf end do !--> do node=1,myDim_nod2D @@ -1755,11 +1763,148 @@ end subroutine dvd_add_difflux_hor ! ! !_______________________________________________________________________________ +! add explicite vertical diffusive flux after Klingbeil et al. 2014, see between eq. 18 +! ans eq. 20 --> or eq. 24 +! only in case of Redi!!! +! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx[Tr^(n+1)] )/ V^(n+1) +... +! --> here Tr^(n+1) und Dflx[...] are reconstructed values at the interfase +subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_xy, partit, mesh) + implicit none + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer , intent(in) :: tr_num + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: Ki( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: tr_xy(2,mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) + integer :: node, elem, nz, nu1, nl1, k + real(kind=WP) :: tr_up, tr_dwn, Dflx(mesh%nl), dzup, dzdwn, trnx, trny + real(kind=WP) :: tr_xynodes(2,mesh%nl-1,partit%myDim_nod2D+partit%eDim_nod2D) +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + ! compute horizontal tracer gradient on nodes + do node=1, myDim_nod2D + nu1=ulevels_nod2D(node) + nl1=nlevels_nod2D(node) + do nz=nu1, nl1-1 + trnx=0.0_WP + trny=0.0_WP + do k=1, nod_in_elem2D_num(node) + elem=nod_in_elem2D(k,node) + if( nz.LE.(nlevels(elem)-1) .and. nz.GE.(ulevels(elem))) then + trnx=trnx+tr_xy(1, nz, elem)*elem_area(elem) + trny=trny+tr_xy(2, nz, elem)*elem_area(elem) + endif + end do + tr_xynodes(1, nz, node)=trnx/3.0_WP/areasvol(nz, node) + tr_xynodes(2, nz, node)=trny/3.0_WP/areasvol(nz, node) + end do + end do + + ! add contribution of implicite vertical diffusion (after Klingbeil et al.2014) + do node=1, myDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node) + Dflx = 0.0_WP + + !_______________________________________________________________________ + ! compute diffusive flux at full surface levels: ---> Dflx[Tr^(n+1)] + ! Dflx = Kv * dT/dz + ! ---------------- zbar_1 -+ + ! | + ! o tr_1 ------------|- hnode_1 -+ + ! | | + ! --Dflx-x-Tr----- zbar_2 --+ |- (hnode_1+hnod_2)/2 + ! | | + ! o tr_2 ------------|- hnode_2 -+ + ! | + ! ---------------- zbar_3 -+ + !_______________________________________________________________________ + ! !!! ATTENTION: !!! + ! Implicite vertical Diffusion is done with hnode^(n+1) which is stored + ! in the variable hnode (keep in mind at this point hnode_new was used + ! to rescue the varaible hnode^(n) ). + do nz=nu1+1, nl1-1 + ! take into account isoneutral Redi diffusivity Kd*s^2 --> K_33 = Kv + Kd*s^2 + dzup = hnode(nz-1, node)*0.5_WP + dzdwn = hnode(nz , node)*0.5_WP + + + Dflx(nz) = dzup * (slope(1, nz-1, node)*tr_xynodes(1, nz-1, node) + slope(2, nz-1, node)*tr_xynodes(2, nz-1, node)) * Ki(nz-1, node) + & + dzdwn * (slope(1, nz , node)*tr_xynodes(1, nz , node) + slope(2, nz , node)*tr_xynodes(2, nz , node)) * Ki(nz , node) + Dflx(nz) = Dflx(nz)/(dzup+dzdwn) * area(nz, node) + + ! extent Dflx after Sergey to compute the diffusive component of DVD + ! see T. Banerjee et al. 2023 eq. 7 + ! Xchi_(i+0.5) = 2*Kv * (T^(n+1)_(i+1)-T^(n+!)_i)/dz * (Tstar_(i+1)-Tstar_(i)/dz + ! Dflx(nz) = Dflx * 2*(Tstar_(i+1)-Tstar_(i)/dz + ! --> if Sergey diagonsitc is used Dflx correspond from here on to + ! Xchi at full depth level interface + ! --> at this points tr must be trstar + Dflx(nz) = Dflx(nz) * merge(2.0_WP*( tr(nz, node)-tr(nz-1, node) ), 1.0_WP, do_SDdvd) + ! | + ! +-> merge: if do_SDdvd==True use first argument, if + ! do_SDdvd==False use second argument of merge! + end do !--> do nz=nu1+1, nl1-1 + + !_______________________________________________________________________ + ! decide between Sergeys and Knuts DVD method + if (do_SDdvd) then + !___________________________________________________________________ + ! now compute flx of Xchi into control volume, see T. Banerjee et al. 2023 + ! eq. 9. Each control volume gets one half of the Xchi interface value + ! --> keep in mind we are now again on mid depth levels and in this case + ! Dflx contains the interface value of Xchi + ! --> compute volume normlized Xchi contribution + do nz=nu1, nl1-1 + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*Dflx(nz)+(1.0_WP-dvd_xdfac)*Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) + end do !--> do nz=nu1+1, nl1-1 + else + !___________________________________________________________________ + ! compute diffusive flux flxdiff(nz), after Klingbeil etal 2014 + ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume + ! surface + nz = nu1 + tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) + tr_dwn = Dflx(nz+1)*tr_dwn + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + !___________________________________________________________________ + ! bulk + do nz=nu1+1, nl1-2 + ! volume (hnode) weighted temperature reconstruction at upper/lower + ! scalar cell interface + tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) + tr_dwn = (tr(nz , node)*hnode(nz , node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz , node)+hnode(nz+1, node)) + ! compute T^(n+1)_(i+0.5) * Dflx_(i+0.5) through upper and lower face + tr_up = Dflx(nz )*tr_up + tr_dwn = Dflx(nz+1)*tr_dwn + ! copute dvd contribution normalized with volume + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + ! |-> factor 2 comes here from Klingbeil et al.2014 + ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] + end do !--> do nz=nu1+1, nl1-1 + !___________________________________________________________________ + ! bottom + nz = nl1-1 + tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) + tr_up = Dflx(nz)*tr_up + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up)/(areasvol(nz, node)*hnode(nz, node)) + end if + end do !--> do node=1, myDim_nod2D +end subroutine dvd_add_difflux_vertexpl +! +! +!_______________________________________________________________________________ ! add implicite vertical diffusive flux after Klingbeil et al. 2014, see between eq. 18 ! ans eq. 20 --> or eq. 24 ! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx[Tr^(n+1)] )/ V^(n+1) +... ! --> here Tr^(n+1) und Dflx[...] are reconstructed values at the interfase -subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, slope, partit, mesh) +subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, slope, partit, mesh) implicit none type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh @@ -1849,7 +1994,7 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s nz = nu1 tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) tr_dwn = Dflx(nz+1)*tr_dwn - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*-tr_dwn/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) !___________________________________________________________________ ! bulk do nz=nu1+1, nl1-2 @@ -1861,7 +2006,7 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s tr_up = Dflx(nz )*tr_up tr_dwn = Dflx(nz+1)*tr_dwn ! copute dvd contribution normalized with volume - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) ! |-> factor 2 comes here from Klingbeil et al.2014 ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] end do !--> do nz=nu1+1, nl1-1 @@ -1870,10 +2015,10 @@ subroutine dvd_add_difflux_vert(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, s nz = nl1-1 tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) tr_up = Dflx(nz)*tr_up - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*tr_up/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up)/(areasvol(nz, node)*hnode(nz, node)) end if end do !--> do node=1, myDim_nod2D -end subroutine dvd_add_difflux_vert +end subroutine dvd_add_difflux_vertimpl ! ! !_______________________________________________________________________________ diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index b32462e77..1dc8d3a94 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -627,27 +627,30 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_KK_chi_adv_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_KK_chi_dif_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difv', 'temperature DVD vert. diff. ' , 'K^2/s' , dvd_KK_chi_dif_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + if (Redi) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difve', 'temperature DVD vert. diff. expl.' , 'K^2/s' , dvd_KK_chi_dif_ve(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_KK_chi_dif_vi(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_dt' , 'temperature DVD time derivative ' , 'K^2/s' , dvd_KK_chi_dt( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_tot' , 'tot. temperature DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difv', 'temperature DVD vert. diff. ' , 'K^2/s' , dvd_SD_chi_dif_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - !_______________________________________________________________________ - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_tot' , 'tot. salinity DVD \n (Klingbeil et al. 2014)' , 'K^2/s' , dvd_KK_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_KK_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_KK_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difv', 'salinity DVD vert. diff. ' , 'K^2/s' , dvd_KK_chi_dif_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_dt' , 'salinity DVD time derivative' , 'K^2/s' , dvd_KK_chi_dt( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + if (Redi) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difve', 'temperature DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_vi(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_tot' , 'tot. salinity DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difv', 'salinity DVD vert. diff. ' , 'K^2/s' , dvd_SD_chi_dif_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS !_______________________________________________________________________ +!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_tot' , 'tot. salinity DVD \n (Klingbeil et al. 2014)' , 'K^2/s' , dvd_KK_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_KK_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_KK_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difv', 'salinity DVD vert. diff. ' , 'K^2/s' , dvd_KK_chi_dif_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_dt' , 'salinity DVD time derivative' , 'K^2/s' , dvd_KK_chi_dt( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS +!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_tot' , 'tot. salinity DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difv', 'salinity DVD vert. diff. ' , 'K^2/s' , dvd_SD_chi_dif_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if !--> if (ldiag_DVD) then !_______________________________________________________________________________ From 16ec10938e8f48b913ef7e37d93aeecbbfce0f2e Mon Sep 17 00:00:00 2001 From: Thomas Rackow Date: Wed, 7 Feb 2024 16:18:12 +0100 Subject: [PATCH 092/273] switch on Sergeys openmp-parallelised solver --- src/MOD_DYN.F90 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/MOD_DYN.F90 b/src/MOD_DYN.F90 index 542992876..2a3dc5b3b 100644 --- a/src/MOD_DYN.F90 +++ b/src/MOD_DYN.F90 @@ -18,13 +18,13 @@ MODULE MOD_DYN integer :: lutype = 2 real(kind=WP) :: droptol = 1.e-8 !!! PARMS Solver - real(kind=WP) :: soltol = 1e-10 ! default for PARMS - logical :: use_parms = .TRUE. -!!! -!!! Sergey's Solver -! real(kind=WP) :: soltol = 1e-5 ! default for PARMS -! logical :: use_parms = .FALSE. +! real(kind=WP) :: soltol = 1e-10 ! default for PARMS +! logical :: use_parms = .TRUE. !!! +!! Sergey's Solver + real(kind=WP) :: soltol = 1e-5 ! default for PARMS + logical :: use_parms = .FALSE. +!! real(kind=WP), allocatable :: rr(:), zz(:), pp(:), App(:) contains procedure WRITE_T_SOLVERINFO From e7669b74d84e9ae771d734a06cdfa9aad82eedc1 Mon Sep 17 00:00:00 2001 From: Thomas Rackow Date: Tue, 11 Apr 2023 10:31:07 +0200 Subject: [PATCH 093/273] avoid potential heavy asynchronization at high CPU numbers before MPI call in compute_sigma_xy() --- src/oce_ale_pressure_bv.F90 | 1 + 1 file changed, 1 insertion(+) diff --git a/src/oce_ale_pressure_bv.F90 b/src/oce_ale_pressure_bv.F90 index a2f759d74..55f087170 100644 --- a/src/oce_ale_pressure_bv.F90 +++ b/src/oce_ale_pressure_bv.F90 @@ -2925,6 +2925,7 @@ subroutine compute_sigma_xy(TF1,SF1, partit, mesh) END DO !$OMP END DO !$OMP END PARALLEL + CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) call exchange_nod(sigma_xy, partit) !$OMP BARRIER end subroutine compute_sigma_xy From 08e970270c543e6b2737fbe2faa891ece34565b2 Mon Sep 17 00:00:00 2001 From: Thomas Rackow Date: Thu, 13 Apr 2023 12:52:42 +0200 Subject: [PATCH 094/273] split exchange_nod() call in 1x3D + 1x3D instead of 2x3D at once --- src/oce_ale_pressure_bv.F90 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/oce_ale_pressure_bv.F90 b/src/oce_ale_pressure_bv.F90 index 55f087170..6906cabaa 100644 --- a/src/oce_ale_pressure_bv.F90 +++ b/src/oce_ale_pressure_bv.F90 @@ -2926,7 +2926,10 @@ subroutine compute_sigma_xy(TF1,SF1, partit, mesh) !$OMP END DO !$OMP END PARALLEL CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - call exchange_nod(sigma_xy, partit) + call exchange_nod(sigma_xy(1,:,:), partit) + CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) + call exchange_nod(sigma_xy(2,:,:), partit) + CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) !$OMP BARRIER end subroutine compute_sigma_xy ! From e94776b1dfbe8bc6db44803027b279f896471a03 Mon Sep 17 00:00:00 2001 From: Dmitri Sidorenko Date: Fri, 14 Apr 2023 13:46:07 +0200 Subject: [PATCH 095/273] compute_sigma_xy() -> exchange of 2x3D field (sigma_xy) is made sequentially for each of the components --- src/oce_ale_pressure_bv.F90 | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/oce_ale_pressure_bv.F90 b/src/oce_ale_pressure_bv.F90 index 6906cabaa..2eb75f77f 100644 --- a/src/oce_ale_pressure_bv.F90 +++ b/src/oce_ale_pressure_bv.F90 @@ -2870,6 +2870,7 @@ subroutine compute_sigma_xy(TF1,SF1, partit, mesh) real(kind=WP), intent(IN) :: TF1(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D), SF1(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) :: tx(mesh%nl-1), ty(mesh%nl-1), sx(mesh%nl-1), sy(mesh%nl-1), vol(mesh%nl-1), testino(2) integer :: n, nz, elnodes(3),el, k, nln, uln, nle, ule + real(kind=WP) :: aux(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) #include "associate_part_def.h" #include "associate_mesh_def.h" @@ -2925,11 +2926,16 @@ subroutine compute_sigma_xy(TF1,SF1, partit, mesh) END DO !$OMP END DO !$OMP END PARALLEL - CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - call exchange_nod(sigma_xy(1,:,:), partit) - CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - call exchange_nod(sigma_xy(2,:,:), partit) - CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) +! call exchange_nod(sigma_xy, partit) +CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) +aux=sigma_xy(1,:,:) +call exchange_nod(aux, partit) +sigma_xy(1,:,:)=aux +CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) +aux=sigma_xy(2,:,:) +call exchange_nod(aux, partit) +sigma_xy(2,:,:)=aux +CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) !$OMP BARRIER end subroutine compute_sigma_xy ! From bc2214875deee2bcfc92844ee003fde04def52ef Mon Sep 17 00:00:00 2001 From: suvarchal Date: Thu, 8 Feb 2024 15:45:33 +0100 Subject: [PATCH 096/273] disable overflow underflows that happen in NG5 presumable because of bad mapping at a few ice/ocean/land points between ifs and fesom --- src/fesom_module.F90 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/fesom_module.F90 b/src/fesom_module.F90 index ab0fa8056..69f2ca3b3 100755 --- a/src/fesom_module.F90 +++ b/src/fesom_module.F90 @@ -83,6 +83,9 @@ module fesom_main_storage_module ! this way FESOM can e.g. be used as a library with an external time loop driver ! used with IFS-FESOM module fesom_module +#if defined __ifsinterface + use, intrinsic :: ieee_exceptions +#endif implicit none public fesom_init, fesom_runloop, fesom_finalize private @@ -104,6 +107,15 @@ subroutine fesom_init(fesom_total_nsteps) stop end if #endif + +!SUVI: disable overflow, underflow for entire model when used in coupled with ifs +! bad practice +#if defined __ifsinterface + call ieee_set_halting_mode(ieee_overflow, .false.) + call ieee_set_halting_mode(ieee_underflow, .false.) + call ieee_set_halting_mode(ieee_invalid, .false.) +#endif + mpi_is_initialized = .false. f%fesom_did_mpi_init = .false. From 8801a4bcbe20075d3acf7b7ccea7d40f2b0f0884 Mon Sep 17 00:00:00 2001 From: dsidoren Date: Fri, 9 Feb 2024 11:34:28 +0100 Subject: [PATCH 097/273] Update oce_ale_pressure_bv.F90 !$OMP BARRIER was not optimally placed in oce_ale_pressure.F90 --- src/oce_ale_pressure_bv.F90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/oce_ale_pressure_bv.F90 b/src/oce_ale_pressure_bv.F90 index 2eb75f77f..939cb1745 100644 --- a/src/oce_ale_pressure_bv.F90 +++ b/src/oce_ale_pressure_bv.F90 @@ -491,9 +491,9 @@ subroutine pressure_bv(tracers, partit, mesh) end if end do !$OMP END DO +!$OMP BARRIER !$OMP END PARALLEL call smooth_nod (bvfreq, 1, partit, mesh) -!$OMP BARRIER end subroutine pressure_bv ! ! @@ -2835,10 +2835,10 @@ subroutine sw_alpha_beta(TF1,SF1, partit, mesh) end do end do !$OMP END DO +!$OMP BARRIER !$OMP END PARALLEL call exchange_nod(sw_alpha, partit) call exchange_nod(sw_beta, partit) -!$OMP BARRIER end subroutine sw_alpha_beta ! ! @@ -2925,6 +2925,7 @@ subroutine compute_sigma_xy(TF1,SF1, partit, mesh) sigma_xy(2,uln:nln,n) = (-sw_alpha(uln:nln,n)*ty(uln:nln)+sw_beta(uln:nln,n)*sy(uln:nln))/vol(uln:nln)*density_0 END DO !$OMP END DO +!$OMP BARRIER !$OMP END PARALLEL ! call exchange_nod(sigma_xy, partit) CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) @@ -2936,7 +2937,6 @@ subroutine compute_sigma_xy(TF1,SF1, partit, mesh) call exchange_nod(aux, partit) sigma_xy(2,:,:)=aux CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -!$OMP BARRIER end subroutine compute_sigma_xy ! ! @@ -2985,10 +2985,10 @@ subroutine compute_neutral_slope(partit, mesh) enddo enddo !$OMP END DO +!$OMP BARRIER !$OMP END PARALLEL call exchange_nod(neutral_slope, partit) call exchange_nod(slope_tapered, partit) -!$OMP BARRIER end subroutine compute_neutral_slope ! ! From 1d061ad4f1328f7edf0ef668c087af4ba47e3452 Mon Sep 17 00:00:00 2001 From: dsidoren Date: Fri, 9 Feb 2024 11:37:29 +0100 Subject: [PATCH 098/273] Update oce_dyn.F90 !$OMP BARRIER was not optimally placed --- src/oce_dyn.F90 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/oce_dyn.F90 b/src/oce_dyn.F90 index 01cfad89b..d7d5e6f09 100755 --- a/src/oce_dyn.F90 +++ b/src/oce_dyn.F90 @@ -145,7 +145,7 @@ SUBROUTINE update_vel(dynamics, partit, mesh) END DO END DO !$OMP END PARALLEL DO - +!$OMP BARRIER !!PS Why we do this here eta_n is anyway overwriten through ... !!PS do node=1, myDim_nod2D+eDim_nod2D !!PS if (ulevels_nod2D(node)==1) eta_n(node)=alpha*hbar(node)+(1.0_WP-alpha)*hbar_old(node) @@ -156,7 +156,6 @@ SUBROUTINE update_vel(dynamics, partit, mesh) !!PS END DO !!PS !$OMP END PARALLEL DO call exchange_elem(UV, partit) -!$OMP BARRIER end subroutine update_vel ! ! @@ -208,8 +207,8 @@ subroutine compute_vel_nodes(dynamics, partit, mesh) END DO END DO !$OMP END PARALLEL DO - call exchange_nod(UVnode, partit) !$OMP BARRIER + call exchange_nod(UVnode, partit) end subroutine compute_vel_nodes ! ! From b502a93f3ed4e60d80664c05f904660848db24cb Mon Sep 17 00:00:00 2001 From: Suvarchal Kumar Cheedela <15322959+suvarchal@users.noreply.github.com> Date: Fri, 9 Feb 2024 12:14:44 +0100 Subject: [PATCH 099/273] Update fesom_module.F90 comment disabling overflow, underflow , no emergency yet. --- src/fesom_module.F90 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/fesom_module.F90 b/src/fesom_module.F90 index 69f2ca3b3..dac14b91a 100755 --- a/src/fesom_module.F90 +++ b/src/fesom_module.F90 @@ -109,12 +109,12 @@ subroutine fesom_init(fesom_total_nsteps) #endif !SUVI: disable overflow, underflow for entire model when used in coupled with ifs -! bad practice -#if defined __ifsinterface - call ieee_set_halting_mode(ieee_overflow, .false.) - call ieee_set_halting_mode(ieee_underflow, .false.) - call ieee_set_halting_mode(ieee_invalid, .false.) -#endif +! bad practice, use it only in case of Emergency +!#if defined __ifsinterface +! call ieee_set_halting_mode(ieee_overflow, .false.) +! call ieee_set_halting_mode(ieee_underflow, .false.) +! call ieee_set_halting_mode(ieee_invalid, .false.) +!#endif mpi_is_initialized = .false. From 14cd58e093146eadf37a6a9ce705a0d72550d148 Mon Sep 17 00:00:00 2001 From: suvarchal Date: Fri, 9 Feb 2024 23:24:25 +0100 Subject: [PATCH 100/273] forcing sync threads before MPI isend and irecv and once after --- src/gen_support.F90 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gen_support.F90 b/src/gen_support.F90 index 10d5493f0..a7a62dfde 100644 --- a/src/gen_support.F90 +++ b/src/gen_support.F90 @@ -85,6 +85,7 @@ subroutine smooth_nod2D(arr, N, partit, mesh) arr(node)=work_array(node) ENDDO !$OMP END PARALLEL DO +!$OMP BARRIER !$OMP MASTER call exchange_nod(arr, partit) !$OMP END MASTER @@ -151,6 +152,7 @@ subroutine smooth_nod3D(arr, N_smooth, partit, mesh) END DO END DO !$OMP END DO +!$OMP BARRIER !$OMP MASTER call exchange_nod(arr, partit) !$OMP END MASTER @@ -185,6 +187,7 @@ subroutine smooth_nod3D(arr, N_smooth, partit, mesh) END DO END DO !$OMP END DO +!$OMP BARRIER !$OMP MASTER call exchange_nod(arr, partit) !$OMP END MASTER @@ -224,6 +227,7 @@ subroutine smooth_elem2D(arr, N, partit, mesh) work_array(node)=work_array(node)/vol END DO !$OMP END DO +!$OMP BARRIER !$OMP MASTER call exchange_nod(work_array, partit) !$OMP END MASTER @@ -234,6 +238,7 @@ subroutine smooth_elem2D(arr, N, partit, mesh) arr(elem)=sum(work_array(elnodes))/3.0_WP ! Here, we need the inverse and scale by 1/3 ENDDO !$OMP END DO +!$OMP BARRIER !$OMP MASTER call exchange_elem(arr, partit) !$OMP END MASTER @@ -286,6 +291,7 @@ subroutine smooth_elem3D(arr, N, partit, mesh) work_array(node)=work_array(node)/vol END DO !$OMP END DO +!$OMP BARRIER !$OMP MASTER call exchange_nod(work_array, partit) !$OMP END MASTER From 7887fa07f7b45c3466e50590df3b6adb4ceab01b Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 26 Feb 2024 16:17:18 +0100 Subject: [PATCH 101/273] fix more bugs in DVD computation --- src/MOD_TRACER.F90 | 4 +- src/gen_modules_diag.F90 | 606 +++++++++++++++++++++++++++++------ src/io_meandata.F90 | 41 ++- src/oce_adv_tra_driver.F90 | 13 +- src/oce_ale.F90 | 9 +- src/oce_ale_tracer.F90 | 228 +++++++------ src/oce_setup_step.F90 | 2 + src/toy_channel_soufflet.F90 | 4 +- 8 files changed, 683 insertions(+), 224 deletions(-) diff --git a/src/MOD_TRACER.F90 b/src/MOD_TRACER.F90 index 3d82e2847..56a949d4c 100644 --- a/src/MOD_TRACER.F90 +++ b/src/MOD_TRACER.F90 @@ -35,7 +35,7 @@ MODULE MOD_TRACER ! but not saved ! dvd_trold ... tracer from previouse time steps later needed to ! compute Tstar = 0.5*( T^(n+1) + T^n) -real(kind=WP), allocatable, dimension(:,:,:) :: dvd_trflx_hor, dvd_trflx_ver, dvd_trold +real(kind=WP), allocatable, dimension(:,:,:) :: dvd_trflx_hor, dvd_trflx_ver, dvd_trold, dvd_trAB !_______________________________________________________________________________ ! The fct part @@ -156,6 +156,7 @@ subroutine WRITE_T_TRACER_WORK(twork, unit) call write_bin_array(twork%dvd_trflx_hor, unit, iostat, iomsg) call write_bin_array(twork%dvd_trflx_ver, unit, iostat, iomsg) call write_bin_array(twork%dvd_trold, unit, iostat, iomsg) + call write_bin_array(twork%dvd_trAB, unit, iostat, iomsg) call write_bin_array(twork%fct_LO, unit, iostat, iomsg) call write_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) call write_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) @@ -182,6 +183,7 @@ subroutine READ_T_TRACER_WORK(twork, unit) call read_bin_array(twork%dvd_trflx_hor, unit, iostat, iomsg) call read_bin_array(twork%dvd_trflx_ver, unit, iostat, iomsg) call read_bin_array(twork%dvd_trold, unit, iostat, iomsg) + call read_bin_array(twork%dvd_trAB, unit, iostat, iomsg) call read_bin_array(twork%fct_LO, unit, iostat, iomsg) call read_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) call read_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 51f5c8088..1a2570484 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -9,10 +9,12 @@ module diagnostics use g_clock use g_comm_auto use o_ARRAYS + use o_tracers use g_forcing_arrays use o_mixing_KPP_mod use g_rotate_grid use g_support + use Toy_Channel_Soufflet implicit none private @@ -23,8 +25,9 @@ module diagnostics std_dens_UVDZ, std_dens_DIV, std_dens_DIV_fer, std_dens_Z, std_dens_H, std_dens_dVdT, std_dens_flux, & dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, & compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, & - dvd_SD_chi_dif_h, dvd_SD_chi_dif_ve, dvd_SD_chi_dif_vi, dvd_xdfac, & - dvd_KK_chi_adv_h, dvd_KK_chi_adv_v, dvd_KK_chi_dif_h, dvd_KK_chi_dif_ve, dvd_KK_chi_dif_vi, dvd_KK_chi_dt + dvd_SD_chi_dif_h, dvd_SD_chi_dif_hbh, dvd_SD_chi_dif_veR, dvd_SD_chi_dif_ve, dvd_SD_chi_dif_vi, dvd_xdfac, & + dvd_KK_chi_adv_h, dvd_KK_chi_adv_v, dvd_KK_chi_dif_h, dvd_KK_chi_dif_veR, dvd_KK_chi_dif_ve, & + dvd_KK_chi_dif_vi, dvd_KK_chi_dt, dvd_KK_chi_relax, dvd_KK_chi_dif_hbh!, trstar ! Arrays used for diagnostics, some shall be accessible to the I/O ! 1. solver diagnostics: A*x=rhs? @@ -60,9 +63,11 @@ module diagnostics !_____________________________________________________________________________ ! DVD diagnostics - real(kind=WP), save, allocatable, target :: dvd_KK_tot(:,:,:), dvd_SD_tot(:,:,:), dvd_SD_chi_adv_h(:,:,:), & - dvd_SD_chi_adv_v(:,:,:), dvd_SD_chi_dif_h(:,:,:), dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_vi(:,:,:) - real(kind=WP), save, allocatable, target :: dvd_KK_chi_adv_h(:,:,:), dvd_KK_chi_adv_v(:,:,:), dvd_KK_chi_dif_h(:,:,:), dvd_KK_chi_dif_ve(:,:,:), dvd_KK_chi_dif_vi(:,:,:), dvd_KK_chi_dt(:,:,:) + real(kind=WP), save, allocatable, target :: dvd_KK_tot(:,:,:), dvd_SD_tot(:,:,:), dvd_SD_chi_adv_h(:,:,:), dvd_SD_chi_adv_v( :,:,:), & + dvd_SD_chi_dif_h( :,:,:), dvd_SD_chi_dif_veR(:,:,:), dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_vi( :,:,:), dvd_SD_chi_dif_hbh( :,:,:) + real(kind=WP), save, allocatable, target :: dvd_KK_chi_adv_h( :,:,:), dvd_KK_chi_adv_v(:,:,:), dvd_KK_chi_dif_h( :,:,:), dvd_KK_chi_dif_veR( :,:,:), dvd_KK_chi_dif_ve( :,:,:), & + dvd_KK_chi_dif_vi(:,:,:), dvd_KK_chi_dt( :,:,:), dvd_KK_chi_relax( :,:,:), dvd_KK_chi_dif_hbh(:,:,:) +!PS real(kind=WP), save, allocatable, target :: trstar( :,:) real(kind=WP), parameter :: dvd_xdfac=0.5_WP ! Xchi distribution factor, default distribute ! equal amount (50:50) of xchi on both side of face !_____________________________________________________________________________ @@ -908,7 +913,7 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh integer :: tr_num, node, elem - real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, tr, trstar, Wvel, dump, fer_Wvel + real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, tr, trstar, trAB, Wvel, dump, fer_Wvel real(kind=WP), dimension(:,:,:), pointer :: UV, fer_UV #include "associate_part_def.h" #include "associate_mesh_def.h" @@ -919,36 +924,59 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) allocate(dvd_KK_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_KK_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_KK_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_dif_ve( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_KK_chi_dif_vi( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_chi_relax( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_KK_chi_dt( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_dif_ve( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_vi( nl-1, myDim_nod2D+eDim_nod2D, 2)) + if (tracers%data(1)%smooth_bh_tra) then + allocate(dvd_KK_chi_dif_hbh(nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_hbh(nl-1, myDim_nod2D+eDim_nod2D, 2)) + end if + if (Redi) then + allocate(dvd_KK_chi_dif_veR(nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_veR(nl-1, myDim_nod2D+eDim_nod2D, 2)) + end if + if (.not. tracers%data(1)%i_vert_diff) then + allocate(dvd_KK_chi_dif_ve( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_ve( nl-1, myDim_nod2D+eDim_nod2D, 2)) + end if +!PS allocate(trstar( nl-1, myDim_nod2D+eDim_nod2D)) firstcall=.false. if (mode==0) return end if + !___________________________________________________________________________ ! initialise each time diagnostic is computed dvd_KK_tot = 0.0_WP ! --> DVD diagnostic after Klingbeil et al. 2014 dvd_KK_chi_adv_h = 0.0_WP dvd_KK_chi_adv_v = 0.0_WP dvd_KK_chi_dif_h = 0.0_WP - dvd_KK_chi_dif_ve = 0.0_WP ! explicite part (in case of Redi==.true.) dvd_KK_chi_dif_vi = 0.0_WP ! implicite part + dvd_KK_chi_relax = 0.0_WP dvd_KK_chi_dt = 0.0_WP dvd_SD_tot = 0.0_WP ! --> DVD diagnostic after Banjerjee et al. 2023 (Sergeys way!!!) dvd_SD_chi_adv_h = 0.0_WP dvd_SD_chi_adv_v = 0.0_WP dvd_SD_chi_dif_h = 0.0_WP - dvd_SD_chi_dif_ve = 0.0_WP ! explicite part (in case of Redi==.true.) dvd_SD_chi_dif_vi = 0.0_WP ! implicite part - + if (tracers%data(1)%smooth_bh_tra) then + dvd_KK_chi_dif_hbh= 0.0_WP + dvd_SD_chi_dif_hbh= 0.0_WP + end if + if (Redi) then + dvd_KK_chi_dif_veR= 0.0_WP ! explicite part (in case of Redi==.true.) + dvd_SD_chi_dif_veR= 0.0_WP ! explicite part (in case of Redi==.true.) + end if + if (.not. tracers%data(1)%i_vert_diff) then + dvd_KK_chi_dif_ve = 0.0_WP + dvd_SD_chi_dif_ve = 0.0_WP + end if + !___________________________________________________________________________ UV => dynamics%uv(:,:,:) Wvel => dynamics%w(:,:) @@ -982,11 +1010,18 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) ! upper lower cell prism face and for tracer^n and tracer^(n+1) trflx_h => tracers%work%dvd_trflx_hor( :,:,tr_num) ! horizontal advectiv tracer flux through mid edge face using AB tracer trflx_v => tracers%work%dvd_trflx_ver( :,:,tr_num) ! vertical advectiv tracer flux - trstar => tracers%work%dvd_trold( :,:,tr_num) ! tracer^n + trstar => tracers%work%dvd_trold( :,:,tr_num) ! tracer^n + trAB => tracers%work%dvd_trAB( :,:,tr_num) ! tracerAB^n tr => tracers%data(tr_num)%values(:,:) ! tracer^(n+1) dump => tracers%work%del_ttf - ! + !_______________________________________________________________________ + ! need to recompute tracer gradients + call tracer_gradient_elements(trAB, partit, mesh) + call exchange_elem(tr_xy, partit) + call tracer_gradient_z(tr, partit, mesh) !WHY NOT AB HERE? DSIDOREN! + call exchange_nod(tr_z, partit) + !=== DVD Knut Klingbeil et al. 2014 ==================================== ! add time derivativ of 2nd. moment tracer ! --> at this point trstar corresponds to tr_old @@ -1004,21 +1039,43 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) call dvd_add_difflux_hor( .false., tr_num, dvd_KK_chi_dif_h, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) ! add contribution from vertical diffusion flux (after klingbeil et al. 2014) - if (Redi) call dvd_add_difflux_vertexpl(.false., tr_num, dvd_KK_chi_dif_ve, trstar, Ki, slope_tapered, tr_xy, partit, mesh) + if (.not. tracers%data(tr_num)%i_vert_diff) then + call dvd_add_difflux_vertexpl(.false., tr_num, dvd_KK_chi_dif_ve, tr, trstar, Kv, partit, mesh) + end if + if (Redi) then + call dvd_add_difflux_vertexplredi(.false., tr_num, dvd_KK_chi_dif_veR, trstar, Ki, slope_tapered, tr_xy, partit, mesh) + end if + call dvd_add_difflux_vertimpl(.false., tr_num, dvd_KK_chi_dif_vi, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) -!PS ! add contribution from horizontal biharmonic diffusion flux if applied -!PS if (tracers%data(tr_num)%smooth_bh_tra) then -!PS call dvd_add_difflux_bhvisc(.false., tr_num, dvd_KK_tot, tr, trstar,& -!PS tracers%data(tr_num)%gamma0_tra, tracers%data(tr_num)%gamma1_tra, & -!PS tracers%data(tr_num)%gamma2_tra, dump, partit, mesh) -!PS end if + ! add contribution from horizontal biharmonic diffusion flux if applied + if (tracers%data(tr_num)%smooth_bh_tra) then + call dvd_add_difflux_bhvisc(.false., tr_num, dvd_KK_chi_dif_hbh, tr, trstar,& + tracers%data(tr_num)%gamma0_tra, tracers%data(tr_num)%gamma1_tra, & + tracers%data(tr_num)%gamma2_tra, dump, partit, mesh) + end if + + ! add contribution from climatological 3d restoring + if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then + call dvd_add_clim_relax_channel(.false., tr_num, dvd_KK_chi_relax, trstar, partit, mesh) + elseif (clim_relax>1.0e-8_WP) then + call dvd_add_clim_relax( .false., tr_num, dvd_KK_chi_relax, trstar, partit, mesh) + end if ! compute total Xchi - dvd_KK_tot(:,:,tr_num) = dvd_KK_chi_adv_h( :,:,tr_num) + dvd_KK_chi_adv_v( :,:,tr_num) + & - dvd_KK_chi_dif_h( :,:,tr_num) + dvd_KK_chi_dif_ve(:,:,tr_num) + & - dvd_KK_chi_dif_vi(:,:,tr_num) + dvd_KK_chi_dt( :,:,tr_num) - + dvd_KK_tot(:,:,tr_num) = (dvd_KK_chi_adv_h( :,:,tr_num) + dvd_KK_chi_adv_v( :,:,tr_num) + & + dvd_KK_chi_dif_h( :,:,tr_num) + dvd_KK_chi_dif_vi( :,:,tr_num) + & + dvd_KK_chi_relax( :,:,tr_num) + dvd_KK_chi_dt( :,:,tr_num)) + + if (.not. tracers%data(tr_num)%i_vert_diff) then + dvd_KK_tot(:,:,tr_num) = dvd_KK_tot(:,:,tr_num) + dvd_KK_chi_dif_ve(:,:,tr_num) + end if + if (Redi) then + dvd_KK_tot(:,:,tr_num) = dvd_KK_tot(:,:,tr_num) + dvd_KK_chi_dif_veR(:,:,tr_num) + end if + if (tracers%data(tr_num)%smooth_bh_tra) then + dvd_KK_tot(:,:,tr_num) = dvd_KK_tot(:,:,tr_num) + dvd_KK_chi_dif_hbh(:,:,tr_num) + end if ! !=== DVD Sergey Danilov after T. Banerjee et al. 2023 ======================= @@ -1035,13 +1092,34 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) call dvd_add_difflux_hor( .true., tr_num, dvd_SD_chi_dif_h, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) ! add contribution from vertical diffusion - if (Redi) call dvd_add_difflux_vertexpl(.true., tr_num, dvd_KK_chi_dif_ve, trstar, Ki, slope_tapered, tr_xy, partit, mesh) + if (.not. tracers%data(tr_num)%i_vert_diff) then + call dvd_add_difflux_vertexpl(.true., tr_num, dvd_SD_chi_dif_ve, tr, trstar, Kv, partit, mesh) + end if + if (Redi) then + call dvd_add_difflux_vertexplredi(.true., tr_num, dvd_SD_chi_dif_veR, trstar, Ki, slope_tapered, tr_xy, partit, mesh) + end if + call dvd_add_difflux_vertimpl(.true., tr_num, dvd_SD_chi_dif_vi, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) + ! add contribution from horizontal biharmonic diffusion flux if applied + if (tracers%data(tr_num)%smooth_bh_tra) then + call dvd_add_difflux_bhvisc(.true., tr_num, dvd_SD_chi_dif_hbh, tr, trstar,& + tracers%data(tr_num)%gamma0_tra, tracers%data(tr_num)%gamma1_tra, & + tracers%data(tr_num)%gamma2_tra, dump, partit, mesh) + end if + ! compute total Xchi - dvd_SD_tot(:,:,tr_num) = dvd_SD_chi_adv_h( :,:,tr_num) + dvd_SD_chi_adv_v( :,:,tr_num) + & - dvd_SD_chi_dif_h( :,:,tr_num) + dvd_SD_chi_dif_ve(:,:,tr_num) + & - dvd_SD_chi_dif_vi(:,:,tr_num) + dvd_SD_tot(:,:,tr_num) = dvd_SD_chi_adv_h( :,:,tr_num) + dvd_SD_chi_adv_v( :,:,tr_num) + & + dvd_SD_chi_dif_h( :,:,tr_num) + dvd_SD_chi_dif_vi(:,:,tr_num) + if (.not. tracers%data(tr_num)%i_vert_diff) then + dvd_SD_tot(:,:,tr_num) = dvd_SD_tot(:,:,tr_num) + dvd_SD_chi_dif_ve(:,:,tr_num) + end if + if (Redi) then + dvd_SD_tot(:,:,tr_num) = dvd_SD_tot(:,:,tr_num) + dvd_SD_chi_dif_veR(:,:,tr_num) + end if + if (tracers%data(tr_num)%smooth_bh_tra) then + dvd_SD_tot(:,:,tr_num) = dvd_SD_tot(:,:,tr_num) + dvd_SD_chi_dif_hbh(:,:,tr_num) + end if end do !--> do tr_num=1,2 @@ -1088,14 +1166,15 @@ subroutine dvd_add_time_deriv(tr_num, dvd_tot, tr_old, tr, partit, mesh) nl1 = nlevels_nod2D(node) do nz=nu1, nl1-1 ! (T^(n+1))^2 - tr_np1 = hnode(nz,node) * tr(nz,node)*tr(nz, node) + tr_np1 = hnode(nz,node) * tr(nz, node)*tr(nz, node) ! (T^(n))^2 ! !!! ATTENTION: !!! ! hnode^(n+1) is stored in the variable hnode and hnode^(n) is ! stored here in the variable hnode_new, since hnode^(n) was other ! wise overwritten by hnode^(n+1) in the variable hnode - tr_n = hnode_new(nz,node) * tr_old(nz,node)*tr_old(nz, node) - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (tr_np1-tr_n)/dt/hnode(nz, node) + tr_n = hnode_new(nz,node) * tr_old(nz, node)*tr_old(nz, node) +!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (tr_np1-tr_n)/dt/hnode(nz, node) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (tr_np1-tr_n)/dt/hnode(nz, node) end do !--> do nz=nu1, nl1-1 end do !-->do node=1, myDim_nod2D end subroutine dvd_add_time_deriv @@ -1190,8 +1269,10 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) +!PS dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) +!PS dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) end do !--> do nz=nu1, nu12-1 !_______________________________________________________________________ @@ -1223,8 +1304,10 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) +!PS dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) +!PS dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) end do !--> do nz=nu2, nu12-1 end if !--> if (nu2 > 0) then @@ -1258,8 +1341,10 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) +!PS dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) +!PS dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) end do !--> do nz=nu12, nl12 !_______________________________________________________________________ @@ -1291,8 +1376,10 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) +!PS dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) +!PS dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) end do !--> do nz=nl12+1, nl1 !_______________________________________________________________________ @@ -1324,8 +1411,10 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) +!PS dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) +!PS dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) end do !--> do nz=nl12+1, nl2 end do !--> do edge=1, myDim_edge2D call exchange_nod(dump, partit) @@ -1382,8 +1471,16 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, nu1 = ulevels_nod2D(node) nl1 = nlevels_nod2D(node) !___________________________________________________________________ - ! surface (nu1+1 -1) and bulk xchi = 0.0_WP + + !___________________________________________________________________ + ! surface xchi + nz=nu1 + trstar_zlev = trstar(nz, node) + xchi(nz) = 2.0_WP*-trflx_v(nz, node)*(trstar(nz, node)-trstar(nz+1, node)) + xchi(nz) = xchi(nz) - 2.0_WP*Wvel(nz, node)*area(nz, node)*trstar_zlev*(trstar(nz, node)-trstar(nz+1, node)) + + ! surface and bulk dvd, bulk xchi do nz=nu1+1,nl1-1 ! compute trstar on zlev interface @@ -1402,13 +1499,15 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! with hnode^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!) ! --> here we are on mid-depth levels - dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) + (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) +!PS dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) + (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) + dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) - (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) end do !--> do nz=nu1+1,nl1-1 !___________________________________________________________________ ! same for bottom nz=nl1-1 - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) +!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) end do !--> do node=1,myDim_nod2D @@ -1429,34 +1528,38 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! during advection, which was hnode^(n), but hnode^(n) got overwritten ! with hnode^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!) - if (nu1>1) then - ! volume and tracer flux across upper cell prism face - vflx = Wvel(nz, node)*area(nz, node) - tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) - end if + ! volume and tracer flux across upper cell prism face + vflx = Wvel(nz, node)*area(nz, node) +!PS tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) + ! volume and tracer flux across lower cell prism face vflx = Wvel(nz+1, node)*area(nz+1, node) - tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx +!PS tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx + tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) !___________________________________________________________________ ! bulk do nz=nu1+1,nl1-2 ! stop two layers over botrtom since Wvel(nl1)==0 --> 1/Wvel(nl1) --> Inf ! volume and tracer flux across upper cell prism face vflx = Wvel(nz, node)*area(nz, node) - tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx +!PS tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! volume and tracer flux across lower cell prism face vflx = Wvel(nz+1, node)*area(nz+1, node) - tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx +!PS tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx + tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) end do !--> do nz=nu1,nl1 !___________________________________________________________________ ! bottom nz = nl-1 vflx = Wvel(nz,node)*area(nz,node) - tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx +!PS tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! --> do here not nz+1 since Wvel(nz+1)==0 (bottom bnd condition) --> 1/(Wvel(nz+1,n)*area(nz+1,n)) --> Inf end do !--> do node=1,myDim_nod2D @@ -1479,7 +1582,7 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t real(kind=WP) , intent(in) :: Ki( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: tr_z( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP) , intent(in) :: tr_xy(2,mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) + real(kind=WP) , intent(in) :: tr_xy(2,mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D+partit%eXDim_elem2D) real(kind=WP) , intent(inout) :: dump( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) integer :: node, edge, nz, nu12, nl12, nl1, nl2, nu1, nu2 @@ -1571,8 +1674,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! --> here variable tr corresponds to trstar = (Tr^(n+1) + Tr^(n))*0.5 xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -Trc, do_SDdvd)*Dflx end do !--> do nz=nu1, nu12-1 !_______________________________________________________________________ @@ -1611,8 +1714,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !_______________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -Trc, do_SDdvd)*Dflx end do !--> do nz=nu2, nu12-1 end if !--> if (nu2 > 0) then @@ -1653,8 +1756,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -Trc, do_SDdvd)*Dflx end do !--> do nz=nu12, nl12 !_______________________________________________________________________ @@ -1693,8 +1796,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -Trc, do_SDdvd)*Dflx end do !-->do nz=nl12+1, nl1 !_______________________________________________________________________ @@ -1733,8 +1836,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -Trc, do_SDdvd)*Dflx end do !--> do nz=nl12+1, nl2 end do !--> do edge=1, myDim_edge2D @@ -1763,22 +1866,191 @@ end subroutine dvd_add_difflux_hor ! ! !_______________________________________________________________________________ -! add explicite vertical diffusive flux after Klingbeil et al. 2014, see between eq. 18 +! add explicite vertical REdi diffusive flux after Klingbeil et al. 2014, see between eq. 18 +! ans eq. 20 --> or eq. 24 +! only in case of Redi!!! +! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx[Tr^(n+1)] )/ V^(n+1) +... +! --> here Tr^(n+1) und Dflx[...] are reconstructed values at the interfase +subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, partit, mesh) + implicit none + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer , intent(in) :: tr_num + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: Kv( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) + integer :: node, elem, nz, nu1, nl1, k + real(kind=WP) :: tr_up, tr_dwn, Dflx(mesh%nl), dzup, dzdwn, trnx, trny, sbc + real(kind=WP) :: tr_xynodes(2,mesh%nl-1,partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) :: trN(mesh%nl-1) +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + ! add contribution of implicite vertical diffusion (after Klingbeil et al.2014) + do node=1, myDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node) + Dflx = 0.0_WP + + !_______________________________________________________________________ + if (do_SDdvd) then + ! here: trstar = (T^(n+1) + T^(n))*0.5, tr = T^(n+1) + trN = 2.0_WP*trstar(:, node) - tr(:, node) + else + ! here: trstar is T^(n) + trN = trstar(:, node) + end if + + !_______________________________________________________________________ + ! compute diffusive flux at full surface levels: ---> Dflx[Tr^(n+1)] + ! Dflx = Kv * dT/dz + ! ---------------- zbar_1 -+ + ! | + ! o tr_1 ------------|- hnode_1 -+ + ! | | + ! --Dflx-x-Tr----- zbar_2 --+ |- (hnode_1+hnod_2)/2 + ! | | + ! o tr_2 ------------|- hnode_2 -+ + ! | + ! ---------------- zbar_3 -+ + !_______________________________________________________________________ + ! !!! ATTENTION: !!! + ! Implicite vertical Diffusion is done with hnode^(n+1) which is stored + ! in the variable hnode (keep in mind at this point hnode_new was used + ! to rescue the varaible hnode^(n) ). + do nz=nu1+1, nl1-1 + ! But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + dzup = hnode_new(nz-1, node)*0.5_WP + dzdwn = hnode_new(nz , node)*0.5_WP + + !PS Dflx(nz) = Kv(nz, node) * (tr(nz-1, node)-tr(nz, node)) /(dzup+dzdwn) * area(nz, node) + Dflx(nz) = Kv(nz, node) * (trN(nz-1)-trN(nz)) /(dzup+dzdwn) * area(nz, node) + + ! extent Dflx after Sergey to compute the diffusive component of DVD + ! see T. Banerjee et al. 2023 eq. 7 + ! Xchi_(i+0.5) = 2*Kv * (T^(n+1)_(i+1)-T^(n+!)_i)/dz * (Tstar_(i+1)-Tstar_(i)/dz + ! Dflx(nz) = Dflx * 2*(Tstar_(i+1)-Tstar_(i)/dz + ! --> if Sergey diagonsitc is used Dflx correspond from here on to + ! Xchi at full depth level interface + ! --> at this points tr must be trstar + Dflx(nz) = Dflx(nz) * merge(2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) + ! | + ! +-> merge: if do_SDdvd==True use first argument, if + ! do_SDdvd==False use second argument of merge! + end do !--> do nz=nu1+1, nl1-1 + + !_______________________________________________________________________ + ! decide between Sergeys and Knuts DVD method + if (do_SDdvd) then + !___________________________________________________________________ + ! In Sergeys DVD diagnostic we do not take into account the surface + ! and interior fluxes of surface boundary condition and short wave + ! penetration, since akthough they are source terms for variance, + ! they not contribute to the decay variance !!! + ! If they arte considered than only in a separate term but not added + ! to the variance decay term of diffusivity. However in Knuts DVD | + ! diagnostic this is different. Here the source term have to be explicitly + ! taken into account since they already contributed to (T^(n+1))^2-(T^(n))^2 + + ! now compute flx of Xchi into control volume, see T. Banerjee et al. 2023 + ! eq. 9. Each control volume gets one half of the Xchi interface value + ! --> keep in mind we are now again on mid depth levels and in this case + ! Dflx contains the interface value of Xchi + ! --> compute volume normlized Xchi contribution + do nz=nu1, nl1-1 + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*Dflx(nz)+(1.0_WP-dvd_xdfac)*Dflx(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) + end do !--> do nz=nu1+1, nl1-1 + else + !___________________________________________________________________ + ! apply surface boundary condition --> have to do this here from hand --> + ! i was somehow not able to bind in the function module for the surface + ! boundary condition + nz = nu1 + if (tr_num==1) then + !PS sbc = -(heat_flux(node)/vcpw + tr(nz, node)*water_flux(node)*is_nonlinfs) + sbc = -(heat_flux(node)/vcpw + trN(nz)*water_flux(node)*is_nonlinfs) + elseif (tr_num==2) then + sbc = (virtual_salt(node) + relax_salt(node) - real_salt_flux(node)*is_nonlinfs) + end if + Dflx(nz) = Dflx(nz) - sbc*area(nz, node) * merge(2.0_WP*trstar(nz, node), 1.0_WP, do_SDdvd) + + !___________________________________________________________________ + ! apply shortwave penetration fluxes + if (use_sw_pene .and. tr_num==1) then + nz=nu1 + Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) * merge(2.0_WP*trstar(nz, node), 1.0_WP, do_SDdvd) + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) * merge(2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) + end do + end if + + !___________________________________________________________________ + ! compute diffusive flux flxdiff(nz), after Klingbeil etal 2014 + ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume + ! surface + nz = nu1 + !PS tr_up = Dflx(nz )*tr(nz, node) + tr_up = Dflx(nz )*trN(nz) + !PS tr_dwn = (tr(nz, node)*hnode_new(nz, node)+tr(nz+1, node)*hnode_new(nz+1, node))/(hnode_new(nz, node)+hnode_new(nz+1, node)) + tr_dwn = (trN(nz)*hnode_new(nz, node)+trN(nz+1)*hnode_new(nz+1, node))/(hnode_new(nz, node)+hnode_new(nz+1, node)) + tr_dwn = Dflx(nz+1)*tr_dwn + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + + !___________________________________________________________________ + ! bulk + do nz=nu1+1, nl1-2 + ! volume (hnode) weighted temperature reconstruction at upper/lower + ! scalar cell interface + !PS tr_up = (tr(nz-1, node)*hnode_new(nz-1, node)+tr(nz , node)*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) + !PS tr_dwn = (tr(nz , node)*hnode_new(nz , node)+tr(nz+1, node)*hnode_new(nz+1, node))/(hnode_new(nz , node)+hnode_new(nz+1, node)) + tr_up = (trN(nz-1)*hnode_new(nz-1, node)+trN(nz )*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) + tr_dwn = (trN(nz )*hnode_new(nz , node)+trN(nz+1)*hnode_new(nz+1, node))/(hnode_new(nz , node)+hnode_new(nz+1, node)) + ! compute T^(n+1)_(i+0.5) * Dflx_(i+0.5) through upper and lower face + tr_up = Dflx(nz )*tr_up + tr_dwn = Dflx(nz+1)*tr_dwn + ! copute dvd contribution normalized with volume + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + ! |-> factor 2 comes here from Klingbeil et al.2014 + ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] + end do !--> do nz=nu1+1, nl1-1 + + !___________________________________________________________________ + ! bottom + nz = nl1-1 + !PS tr_up = (tr(nz-1, node)*hnode_new(nz-1, node)+tr(nz , node)*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) + tr_up = (trN(nz-1)*hnode_new(nz-1, node)+trN(nz)*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) + tr_up = Dflx(nz)*tr_up + tr_dwn= 0.0_WP + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + end if + end do !--> do node=1, myDim_nod2D +end subroutine dvd_add_difflux_vertexpl +! +! +!_______________________________________________________________________________ +! add explicite vertical REdi diffusive flux after Klingbeil et al. 2014, see between eq. 18 ! ans eq. 20 --> or eq. 24 ! only in case of Redi!!! ! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx[Tr^(n+1)] )/ V^(n+1) +... ! --> here Tr^(n+1) und Dflx[...] are reconstructed values at the interfase -subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_xy, partit, mesh) +subroutine dvd_add_difflux_vertexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_xy, partit, mesh) implicit none type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh integer , intent(in) :: tr_num logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) - real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: Ki( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP) , intent(in) :: tr_xy(2,mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) + real(kind=WP) , intent(in) :: tr_xy(2,mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D+partit%eXDim_elem2D) integer :: node, elem, nz, nu1, nl1, k real(kind=WP) :: tr_up, tr_dwn, Dflx(mesh%nl), dzup, dzdwn, trnx, trny real(kind=WP) :: tr_xynodes(2,mesh%nl-1,partit%myDim_nod2D+partit%eDim_nod2D) @@ -1830,10 +2102,12 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr ! in the variable hnode (keep in mind at this point hnode_new was used ! to rescue the varaible hnode^(n) ). do nz=nu1+1, nl1-1 - ! take into account isoneutral Redi diffusivity Kd*s^2 --> K_33 = Kv + Kd*s^2 - dzup = hnode(nz-1, node)*0.5_WP - dzdwn = hnode(nz , node)*0.5_WP - + ! But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + dzup = hnode_new(nz-1, node)*0.5_WP + dzdwn = hnode_new(nz , node)*0.5_WP Dflx(nz) = dzup * (slope(1, nz-1, node)*tr_xynodes(1, nz-1, node) + slope(2, nz-1, node)*tr_xynodes(2, nz-1, node)) * Ki(nz-1, node) + & dzdwn * (slope(1, nz , node)*tr_xynodes(1, nz , node) + slope(2, nz , node)*tr_xynodes(2, nz , node)) * Ki(nz , node) @@ -1846,7 +2120,7 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr ! --> if Sergey diagonsitc is used Dflx correspond from here on to ! Xchi at full depth level interface ! --> at this points tr must be trstar - Dflx(nz) = Dflx(nz) * merge(2.0_WP*( tr(nz, node)-tr(nz-1, node) ), 1.0_WP, do_SDdvd) + Dflx(nz) = -Dflx(nz) * merge(2.0_WP*( tr(nz, node)-tr(nz-1, node) ), 1.0_WP, do_SDdvd) ! | ! +-> merge: if do_SDdvd==True use first argument, if ! do_SDdvd==False use second argument of merge! @@ -1862,41 +2136,46 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr ! Dflx contains the interface value of Xchi ! --> compute volume normlized Xchi contribution do nz=nu1, nl1-1 - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*Dflx(nz)+(1.0_WP-dvd_xdfac)*Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*Dflx(nz)+(1.0_WP-dvd_xdfac)*Dflx(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) end do !--> do nz=nu1+1, nl1-1 + else !___________________________________________________________________ ! compute diffusive flux flxdiff(nz), after Klingbeil etal 2014 ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume ! surface nz = nu1 - tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) + tr_up = 0.0_WP + tr_dwn = (tr(nz, node)*hnode_new(nz, node)+tr(nz+1, node)*hnode_new(nz+1, node))/(hnode_new(nz, node)+hnode_new(nz+1, node)) tr_dwn = Dflx(nz+1)*tr_dwn - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + !___________________________________________________________________ ! bulk do nz=nu1+1, nl1-2 ! volume (hnode) weighted temperature reconstruction at upper/lower ! scalar cell interface - tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) - tr_dwn = (tr(nz , node)*hnode(nz , node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz , node)+hnode(nz+1, node)) + tr_up = (tr(nz-1, node)*hnode_new(nz-1, node)+tr(nz , node)*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) + tr_dwn = (tr(nz , node)*hnode_new(nz , node)+tr(nz+1, node)*hnode_new(nz+1, node))/(hnode_new(nz , node)+hnode_new(nz+1, node)) ! compute T^(n+1)_(i+0.5) * Dflx_(i+0.5) through upper and lower face tr_up = Dflx(nz )*tr_up tr_dwn = Dflx(nz+1)*tr_dwn ! copute dvd contribution normalized with volume - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) ! |-> factor 2 comes here from Klingbeil et al.2014 ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] end do !--> do nz=nu1+1, nl1-1 + !___________________________________________________________________ ! bottom nz = nl1-1 - tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) + tr_up = (tr(nz-1, node)*hnode_new(nz-1, node)+tr(nz , node)*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) tr_up = Dflx(nz)*tr_up - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up)/(areasvol(nz, node)*hnode(nz, node)) + tr_dwn= 0.0_WP + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) end if end do !--> do node=1, myDim_nod2D -end subroutine dvd_add_difflux_vertexpl +end subroutine dvd_add_difflux_vertexplredi ! ! !_______________________________________________________________________________ @@ -1918,7 +2197,7 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) integer :: node, nz, nu1, nl1 real(kind=WP) :: tr_up, tr_dwn, Dflx(mesh%nl), dzup, dzdwn, dz, Kv_R - real(kind=WP) :: isredi=0.0_WP + real(kind=WP) :: isredi=0.0_WP, sbc #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -1950,6 +2229,9 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K ! Implicite vertical Diffusion is done with hnode^(n+1) which is stored ! in the variable hnode (keep in mind at this point hnode_new was used ! to rescue the varaible hnode^(n) ). + + ! keep in mind: nz = nu1 --> there is no diffusive flux through the + ! surface zlevel therfor we start with nu1+1 do nz=nu1+1, nl1-1 ! take into account isoneutral Redi diffusivity Kd*s^2 --> K_33 = Kv + Kd*s^2 dzup = hnode(nz-1, node)*0.5_WP @@ -1967,17 +2249,27 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K ! Xchi_(i+0.5) = 2*Kv * (T^(n+1)_(i+1)-T^(n+!)_i)/dz * (Tstar_(i+1)-Tstar_(i)/dz ! Dflx(nz) = Dflx * 2*(Tstar_(i+1)-Tstar_(i)/dz ! --> if Sergey diagonsitc is used Dflx correspond from here on to + ! Xchi at full depth level interface Dflx(nz) = Dflx(nz) * merge(2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) ! | ! +-> merge: if do_SDdvd==True use first argument, if ! do_SDdvd==False use second argument of merge! end do !--> do nz=nu1+1, nl1-1 - + !_______________________________________________________________________ ! decide between Sergeys and Knuts DVD method if (do_SDdvd) then !___________________________________________________________________ + ! In Sergeys DVD diagnostic we do not take into account the surface + ! and interior fluxes of surface boundary condition and short wave + ! penetration, since akthough they are source terms for variance, + ! they not contribute to the decay variance !!! + ! If they arte considered than only in a separate term but not added + ! to the variance decay term of diffusivity. However in Knuts DVD | + ! diagnostic this is different. Here the source term have to be explicitly + ! taken into account since they already contributed to (T^(n+1))^2-(T^(n))^2 + ! now compute flx of Xchi into control volume, see T. Banerjee et al. 2023 ! eq. 9. Each control volume gets one half of the Xchi interface value ! --> keep in mind we are now again on mid depth levels and in this case @@ -1987,14 +2279,38 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*Dflx(nz)+(1.0_WP-dvd_xdfac)*Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) end do !--> do nz=nu1+1, nl1-1 else + !___________________________________________________________________ + ! apply surface boundary condition --> have to do this here from hand --> + ! i was somehow not able to bind in the function module for the surface + ! boundary condition + nz = nu1 + if (tr_num==1) then + sbc = -(heat_flux(node)/vcpw + tr(nz, node)*water_flux(node)*is_nonlinfs) + elseif (tr_num==2) then + sbc = (virtual_salt(node) + relax_salt(node) - real_salt_flux(node)*is_nonlinfs) + end if + Dflx(nz) = Dflx(nz) - sbc*area(nz, node) * merge(2.0_WP*trstar(nz, node), 1.0_WP, do_SDdvd) + + !___________________________________________________________________ + ! apply shortwave penetration fluxes + if (use_sw_pene .and. tr_num==1) then + nz=nu1 + Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) * merge(2.0_WP*trstar(nz, node), 1.0_WP, do_SDdvd) + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) * merge(2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) + end do + end if + !___________________________________________________________________ ! compute diffusive flux flxdiff(nz), after Klingbeil etal 2014 ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume ! surface nz = nu1 + tr_up = Dflx(nz )*tr(nz, node) tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) tr_dwn = Dflx(nz+1)*tr_dwn - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + !___________________________________________________________________ ! bulk do nz=nu1+1, nl1-2 @@ -2006,16 +2322,19 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K tr_up = Dflx(nz )*tr_up tr_dwn = Dflx(nz+1)*tr_dwn ! copute dvd contribution normalized with volume - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) ! |-> factor 2 comes here from Klingbeil et al.2014 ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] end do !--> do nz=nu1+1, nl1-1 + !___________________________________________________________________ ! bottom - nz = nl1-1 - tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) - tr_up = Dflx(nz)*tr_up - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up)/(areasvol(nz, node)*hnode(nz, node)) + nz = nl1-1 + tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) + tr_dwn = tr(nz, node) + tr_up = Dflx(nz )*tr_up + tr_dwn = 0.0_WP + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) end if end do !--> do node=1, myDim_nod2D end subroutine dvd_add_difflux_vertimpl @@ -2075,7 +2394,7 @@ subroutine dvd_add_difflux_bhvisc(do_SDdvd, tr_num, dvd_tot, tr, trstar, gamma0_ dtr(nz)= tr(nz, ednodes(1))-tr(nz, ednodes(2)) vi = sqrt(max(gamma0_tra, & max(gamma1_tra*sqrt(vi), & - gamma2_tra* vi) & + gamma2_tra* vi) & )*len) dtr(nz)=dtr(nz)*vi END DO @@ -2142,13 +2461,14 @@ subroutine dvd_add_difflux_bhvisc(do_SDdvd, tr_num, dvd_tot, tr, trstar, gamma0_ #else !$OMP ORDERED #endif - dvd_tot(nu1:nl1-1, ednodes(1), tr_num) = dvd_tot(nu1:nl1-1, ednodes(1), tr_num) + trc(nu1:nl1-1)*dtr(nu1:nl1-1)/areasvol(nu1:nl1-1,ednodes(1)) - + dvd_tot(nu1:nl1-1, ednodes(1), tr_num) = dvd_tot(nu1:nl1-1, ednodes(1), tr_num) + & + trc(nu1:nl1-1)*dtr(nu1:nl1-1)/(areasvol(nu1:nl1-1,ednodes(1))) #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(ednodes(1))) call omp_set_lock (partit%plock(ednodes(2))) #endif - dvd_tot(nu1:nl1-1, ednodes(2), tr_num) = dvd_tot(nu1:nl1-1, ednodes(2), tr_num) - trc(nu1:nl1-1)*dtr(nu1:nl1-1)/areasvol(nu1:nl1-1,ednodes(2)) + dvd_tot(nu1:nl1-1, ednodes(2), tr_num) = dvd_tot(nu1:nl1-1, ednodes(2), tr_num) - & + trc(nu1:nl1-1)*dtr(nu1:nl1-1)/(areasvol(nu1:nl1-1,ednodes(2))) #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(en(2))) #else @@ -2159,7 +2479,7 @@ subroutine dvd_add_difflux_bhvisc(do_SDdvd, tr_num, dvd_tot, tr, trstar, gamma0_ !_______________________________________________________________ ! compute edge centered tracer value see Klingbeil et al 2014 trc(nz) = tr(nz, ednodes(1)) * hnode(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode(nz, ednodes(2)) - trc(nz) = 2.0_WP*trc(nz)/(hnode(nz, ednodes(1))+hnode(nz, ednodes(2))) + trc(nz) = -2.0_WP*trc(nz)/(hnode(nz, ednodes(1))+hnode(nz, ednodes(2))) ! | ! +-> factor 2.0 comes here from Klingbeil et al. 2014 ! Dflux[ tr^2] = 2*tr*Dflux[tr] @@ -2172,14 +2492,13 @@ subroutine dvd_add_difflux_bhvisc(do_SDdvd, tr_num, dvd_tot, tr, trstar, gamma0_ !$OMP ORDERED #endif dvd_tot(nu1:nl1-1, ednodes(1), tr_num) = dvd_tot(nu1:nl1-1, ednodes(1), tr_num) + & - trc(nu1:nl1-1)*dtr(nu1:nl1-1) /areasvol(nu1:nl1-1,ednodes(1)) / ( areasvol(nu1:nl1-1,ednodes(1))*hnode(nu1:nl1-1,ednodes(1)) ) - + trc(nu1:nl1-1)*dtr(nu1:nl1-1) / ( areasvol(nu1:nl1-1,ednodes(1)) ) #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(ednodes(1))) call omp_set_lock (partit%plock(ednodes(2))) #endif dvd_tot(nu1:nl1-1, ednodes(2), tr_num) = dvd_tot(nu1:nl1-1, ednodes(2), tr_num) - & - trc(nu1:nl1-1)*dtr(nu1:nl1-1) /areasvol(nu1:nl1-1,ednodes(2)) / ( areasvol(nu1:nl1-1,ednodes(2))*hnode(nu1:nl1-1,ednodes(2)) ) + trc(nu1:nl1-1)*dtr(nu1:nl1-1) / ( areasvol(nu1:nl1-1,ednodes(2)) ) #if defined(_OPENMP) && !defined(__openmp_reproducible) call omp_unset_lock(partit%plock(en(2))) #else @@ -2192,5 +2511,92 @@ subroutine dvd_add_difflux_bhvisc(do_SDdvd, tr_num, dvd_tot, tr, trstar, gamma0_ !$OMP END PARALLEL end subroutine dvd_add_difflux_bhvisc +! +! +!_______________________________________________________________________________ +! add implicite vertical diffusive flux after Klingbeil et al. 2014, see between eq. 18 +! ans eq. 20 --> or eq. 24 +! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx_ver[Tr^(n+1)] )/ V^(n+1) +... +! --> here Tr^(n+1) und Dflx_ver[...] are reconstructed values at the interfase +subroutine dvd_add_clim_relax_channel(do_SDdvd, tr_num, dvd_tot, tr, partit, mesh) + implicit none + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + integer , intent(in) :: tr_num + real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + integer :: node, nz, nu1, nl1, nn, nn1 + real(kind=WP) :: yy, a, Tzon +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + !___________________________________________________________________________ + do node=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node) + + !_______________________________________________________________________ + yy= coord_nod2D(2, node)-lat0 + a = 0 + if (yy100) nn1=nn ! northward of the center of the last bin + ! Linear interpolation (nearest if close to boundary) + a=yy/dy+0.5-nn + end if + + !_______________________________________________________________________ + do nz=nu1, nl1-1 + Tzon=(1.0-a)*ztem(nz, nn)+a*ztem(nz, nn1) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*tr(nz, node)*tau_inv*(Tclim(nz, node)-Tzon) + end do + end do +end subroutine dvd_add_clim_relax_channel +! +! +!_______________________________________________________________________________ +! add implicite vertical diffusive flux after Klingbeil et al. 2014, see between eq. 18 +! ans eq. 20 --> or eq. 24 +! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx_ver[Tr^(n+1)] )/ V^(n+1) +... +! --> here Tr^(n+1) und Dflx_ver[...] are reconstructed values at the interfase +subroutine dvd_add_clim_relax(do_SDdvd, tr_num, dvd_tot, tr, partit, mesh) + implicit none + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + integer , intent(in) :: tr_num + real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + integer :: node, nz, nu1, nl1 +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + !___________________________________________________________________________ + do node=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node) + + !_______________________________________________________________________ + if (tr_num == 1 ) then + do nz=nu1, nl1-1 + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*tr(nz, node)*relax2clim(node)*(Tclim(nz, node)-tr(nz, node)) + end do + !_______________________________________________________________________ + elseif (tr_num == 2 ) then + do nz=nu1, nl1-1 + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*tr(nz, node)*relax2clim(node)*(Sclim(nz, node)-tr(nz, node)) + end do + end if + end do +end subroutine dvd_add_clim_relax end module diagnostics diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 1dc8d3a94..c230dc23f 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -623,19 +623,36 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) CASE ('DVD ') if (ldiag_DVD) then !_______________________________________________________________________ - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_tot' , 'tot. temperature DVD \n (Klingbeil et al. 2014)', 'K^2/s' , dvd_KK_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_KK_chi_adv_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_KK_chi_dif_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - if (Redi) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difve', 'temperature DVD vert. diff. expl.' , 'K^2/s' , dvd_KK_chi_dif_ve(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_KK_chi_dif_vi(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_dt' , 'temperature DVD time derivative ' , 'K^2/s' , dvd_KK_chi_dt( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_tot' , 'tot. temperature DVD \n (Klingbeil et al. 2014)', 'K^2/s' , dvd_KK_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_KK_chi_adv_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_KK_chi_dif_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + if (tracers%data(1)%smooth_bh_tra) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difhbh','temperature DVD horiz. diff. biharm' , 'K^2/s' , dvd_KK_chi_dif_hbh(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + if (.not. tracers%data(1)%i_vert_diff) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difve', 'temperature DVD vert. diff. expl.' , 'K^2/s' , dvd_KK_chi_dif_ve(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + if (Redi) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difveR', 'temperature DVD vert. redi diff. expl.' , 'K^2/s' , dvd_KK_chi_dif_veR(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_KK_chi_dif_vi(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_clrlx', 'temperature DVD clim relax ' , 'K^2/s' , dvd_KK_chi_relax( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_dt' , 'temperature DVD time derivative ' , 'K^2/s' , dvd_KK_chi_dt( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_tot' , 'tot. temperature DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - if (Redi) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difve', 'temperature DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_vi(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_tot' , 'tot. temperature DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + if (tracers%data(1)%smooth_bh_tra) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difhbh','temperature DVD horiz. diff. biharm' , 'K^2/s' , dvd_SD_chi_dif_hbh(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + if (.not. tracers%data(1)%i_vert_diff) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difve', 'temperature DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_ve(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + if (Redi) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difveR', 'temperature DVD vert. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_veR(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) !PS !_______________________________________________________________________ diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index 835193df8..5dd6a09c2 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -50,11 +50,11 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, USE MOD_PARSUP USE MOD_DYN use g_comm_auto + use diagnostics, only: ldiag_DVD use oce_adv_tra_hor_interfaces use oce_adv_tra_ver_interfaces use oce_adv_tra_fct_interfaces use oce_tra_adv_flux2dtracer_interface - USE DIAGNOSTICS, only: ldiag_DVD implicit none real(kind=WP), intent(in), target :: dt integer, intent(in) :: tr_num @@ -245,7 +245,8 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, end if call exchange_nod(fct_LO, partit, luse_g2g = .true.) !$OMP BARRIER - end if + end if !--> if (trim(tracers%data(tr_num)%tra_adv_lim)=='FCT') then + do_zero_flux=.true. if (trim(tracers%data(tr_num)%tra_adv_lim)=='FCT') do_zero_flux=.false. !___________________________________________________________________________ @@ -311,19 +312,25 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, !$ACC LOOP VECTOR do nz=1, mesh%nl-1 tracers%work%dvd_trflx_hor(nz, n, tr_num) = tracers%work%dvd_trflx_hor(nz, n, tr_num) + adv_flux_hor(nz, n) + ! | | + ! +-> LowO horiz flux +-> Antidiff. horiz flux end do !$ACC END LOOP end do !$ACC END PARALLEL LOOP + !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) do n=1, myDim_nod2D !$ACC LOOP VECTOR do nz=1, mesh%nl tracers%work%dvd_trflx_ver(nz, n, tr_num) = tracers%work%dvd_trflx_ver(nz, n, tr_num) + adv_flux_ver(nz, n) + ! | | + ! +-> LowO vert flux +-> Antidiff. vert flux end do !$ACC END LOOP end do !$ACC END PARALLEL LOOP + !$OMP END PARALLEL DO !_______________________________________________________________________ @@ -338,6 +345,7 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, !$ACC END LOOP end do !$ACC END PARALLEL LOOP + !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) do n=1, myDim_nod2D !$ACC LOOP VECTOR @@ -347,6 +355,7 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, !$ACC END LOOP end do !$ACC END PARALLEL LOOP + !$OMP END PARALLEL DO end if end if !-->if ((ldiag_DVD) .and. (tr_num<=2)) then diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index f933e1a22..4877a2352 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -2988,8 +2988,9 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ t0=MPI_Wtime() -! water_flux = 0.0_WP -! heat_flux = 0.0_WP +!PS water_flux = 0.0_WP +!PS heat_flux = 0.0_WP +!PS relax_salt = 0.0_WP ! stress_surf= 0.0_WP ! stress_node_surf= 0.0_WP @@ -3092,8 +3093,8 @@ subroutine oce_timestep_ale(n, ice, dynamics, tracers, partit, mesh) if (flag_debug .and. mype==0) print *, achar(27)//'[36m'//' --> call calc_cvmix_tke'//achar(27)//'[0m' call calc_cvmix_tke(dynamics, partit, mesh) call mo_convect(ice, partit, mesh) - - end if + + end if !___EXTENSION OF MIXING SCHEMES_____________________________________________ ! add CVMIX TIDAL mixing scheme of Simmons et al. 2004 "Tidally driven mixing diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 269370af1..ae01812f6 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -140,8 +140,8 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) use o_tracers use Toy_Channel_Soufflet use diff_tracers_ale_interface + use diagnostics, only: ldiag_DVD use oce_adv_tra_driver_interfaces - USE DIAGNOSTICS, only: ldiag_DVD implicit none type(t_ice) , intent(in) , target :: ice type(t_dyn) , intent(inout), target :: dynamics @@ -239,6 +239,15 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! AB is not needed after the advection step. Initialize it with the current tracer before it is modified. ! call init_tracers_AB at the beginning of this loop will compute AB for the next time step then. + ! DVD diagostic: store AB tracer before it gets overwritten + if ((ldiag_DVD) .and. (tr_num<=2)) then +!$OMP PARALLEL DO + do node=1, myDim_nod2d+eDim_nod2D + tracers%work%dvd_trAB(:,node, tr_num) = tracers%data(tr_num)%valuesAB(:, node) + end do +!$OMP END PARALLEL DO + end if + !$OMP PARALLEL DO do node=1, myDim_nod2d+eDim_nod2D tracers%data(tr_num)%valuesAB(:, node)=tracers%data(tr_num)%values(:, node) !DS: check that this is the right place! @@ -253,8 +262,8 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! relax to salt and temp climatology if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call relax_to_clim'//achar(27)//'[0m' -! if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then - if ((toy_ocean) .AND. ((TRIM(which_toy)=="soufflet"))) then + if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then + !PS f ((toy_ocean) .AND. ((TRIM(which_toy)=="soufflet"))) then call relax_zonal_temp(tracers%data(1), partit, mesh) else call relax_to_clim(tr_num, tracers, partit, mesh) @@ -745,100 +754,100 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) ! at this point the mixing enhancments from momix, instable ! mixing or windmixing which are to much for nonlocal ! transports and lead to instability of the model - if (use_kpp_nonlclflx) then - if (tracers%data(tr_num)%ID==2) then - rsss=ref_sss - if (ref_sss_local) rsss=tracers%data(tr_num)%values(1,n) - end if - - !___________________________________________________________________ - ! use fesom1.4 KPP - if (mix_scheme_nmb==1 .or. mix_scheme_nmb==17) then - if (tracers%data(tr_num)%ID==1) then ! temperature - ! --> no fluxes to the top out of the surface, no fluxes - ! downwards out of the bottom - !___surface_________________________________________________ - nz = nzmin - tr(nz)=tr(nz) & - +(-MIN(ghats(nz+1,n)*blmc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & - ) * heat_flux(n) / vcpw * dt - !___bulk____________________________________________________ - do nz=nzmin+1, nzmax-2 - tr(nz)=tr(nz) & - +( MIN(ghats(nz ,n)*blmc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & - -MIN(ghats(nz+1,n)*blmc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & - ) * heat_flux(n) / vcpw * dt - end do - !___bottom__________________________________________________ - nz = nzmax-1 - tr(nz)=tr(nz) & - +( MIN(ghats(nz ,n)*blmc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & - ) * heat_flux(n) / vcpw * dt - - elseif (tracers%data(tr_num)%ID==2) then ! salinity - ! --> no fluxes to the top out of the surface, no fluxes - ! downwards out of the bottom - !___surface_________________________________________________ - nz = nzmin - tr(nz)=tr(nz) & - -(-MIN(ghats(nz+1,n)*blmc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & - ) * rsss * water_flux(n) * dt - !___bulk____________________________________________________ - do nz=nzmin+1, nzmax-2 - tr(nz)=tr(nz) & - -( MIN(ghats(nz ,n)*blmc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & - -MIN(ghats(nz+1,n)*blmc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & - ) * rsss * water_flux(n) * dt - end do - !___bottom__________________________________________________ - nz = nzmax-1 - tr(nz)=tr(nz) & - -( MIN(ghats(nz ,n)*blmc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & - ) * rsss * water_flux(n) * dt - end if - !___________________________________________________________________ - ! use cvmix KPP - elseif (mix_scheme_nmb==3 .or. mix_scheme_nmb==37) then - if (tracers%data(tr_num)%ID==1) then ! temperature - !___surface_________________________________________________ - nz = nzmin - tr(nz)=tr(nz) & - +(-MIN(kpp_nonlcltranspT(nz+1,n)*kpp_oblmixc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & - ) * heat_flux(n) / vcpw * dt - !___bulk____________________________________________________ - do nz=nzmin+1, nzmax-2 - tr(nz)=tr(nz) & - +( MIN(kpp_nonlcltranspT(nz ,n)*kpp_oblmixc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & - -MIN(kpp_nonlcltranspT(nz+1,n)*kpp_oblmixc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & - ) * heat_flux(n) / vcpw * dt - end do - !___bottom__________________________________________________ - nz = nzmax-1 - tr(nz)=tr(nz) & - +( MIN(kpp_nonlcltranspT(nz ,n)*kpp_oblmixc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & - ) * heat_flux(n) / vcpw * dt - - elseif (tracers%data(tr_num)%ID==2) then ! salinity - !___surface_________________________________________________ - nz = nzmin - tr(nz)=tr(nz) & - -(-MIN(kpp_nonlcltranspS(nz+1,n)*kpp_oblmixc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & - ) * rsss * water_flux(n) * dt - !___bulk____________________________________________________ - do nz=nzmin+1, nzmax-2 - tr(nz)=tr(nz) & - -( MIN(kpp_nonlcltranspS(nz ,n)*kpp_oblmixc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & - -MIN(kpp_nonlcltranspS(nz+1,n)*kpp_oblmixc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & - ) * rsss * water_flux(n) * dt - end do - !___bottom__________________________________________________ - nz = nzmax-1 - tr(nz)=tr(nz) & - -( MIN(kpp_nonlcltranspS(nz ,n)*kpp_oblmixc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & - ) * rsss * water_flux(n) * dt - end if - end if - end if ! --> if (use_kpp_nonlclflx) then +!PS if (use_kpp_nonlclflx) then +!PS if (tracers%data(tr_num)%ID==2) then +!PS rsss=ref_sss +!PS if (ref_sss_local) rsss=tracers%data(tr_num)%values(1,n) +!PS end if +!PS +!PS !___________________________________________________________________ +!PS ! use fesom1.4 KPP +!PS if (mix_scheme_nmb==1 .or. mix_scheme_nmb==17) then +!PS if (tracers%data(tr_num)%ID==1) then ! temperature +!PS ! --> no fluxes to the top out of the surface, no fluxes +!PS ! downwards out of the bottom +!PS !___surface_________________________________________________ +!PS nz = nzmin +!PS tr(nz)=tr(nz) & +!PS +(-MIN(ghats(nz+1,n)*blmc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & +!PS ) * heat_flux(n) / vcpw * dt +!PS !___bulk____________________________________________________ +!PS do nz=nzmin+1, nzmax-2 +!PS tr(nz)=tr(nz) & +!PS +( MIN(ghats(nz ,n)*blmc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & +!PS -MIN(ghats(nz+1,n)*blmc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & +!PS ) * heat_flux(n) / vcpw * dt +!PS end do +!PS !___bottom__________________________________________________ +!PS nz = nzmax-1 +!PS tr(nz)=tr(nz) & +!PS +( MIN(ghats(nz ,n)*blmc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & +!PS ) * heat_flux(n) / vcpw * dt +!PS +!PS elseif (tracers%data(tr_num)%ID==2) then ! salinity +!PS ! --> no fluxes to the top out of the surface, no fluxes +!PS ! downwards out of the bottom +!PS !___surface_________________________________________________ +!PS nz = nzmin +!PS tr(nz)=tr(nz) & +!PS -(-MIN(ghats(nz+1,n)*blmc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & +!PS ) * rsss * water_flux(n) * dt +!PS !___bulk____________________________________________________ +!PS do nz=nzmin+1, nzmax-2 +!PS tr(nz)=tr(nz) & +!PS -( MIN(ghats(nz ,n)*blmc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & +!PS -MIN(ghats(nz+1,n)*blmc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & +!PS ) * rsss * water_flux(n) * dt +!PS end do +!PS !___bottom__________________________________________________ +!PS nz = nzmax-1 +!PS tr(nz)=tr(nz) & +!PS -( MIN(ghats(nz ,n)*blmc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & +!PS ) * rsss * water_flux(n) * dt +!PS end if +!PS !___________________________________________________________________ +!PS ! use cvmix KPP +!PS elseif (mix_scheme_nmb==3 .or. mix_scheme_nmb==37) then +!PS if (tracers%data(tr_num)%ID==1) then ! temperature +!PS !___surface_________________________________________________ +!PS nz = nzmin +!PS tr(nz)=tr(nz) & +!PS +(-MIN(kpp_nonlcltranspT(nz+1,n)*kpp_oblmixc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & +!PS ) * heat_flux(n) / vcpw * dt +!PS !___bulk____________________________________________________ +!PS do nz=nzmin+1, nzmax-2 +!PS tr(nz)=tr(nz) & +!PS +( MIN(kpp_nonlcltranspT(nz ,n)*kpp_oblmixc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & +!PS -MIN(kpp_nonlcltranspT(nz+1,n)*kpp_oblmixc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & +!PS ) * heat_flux(n) / vcpw * dt +!PS end do +!PS !___bottom__________________________________________________ +!PS nz = nzmax-1 +!PS tr(nz)=tr(nz) & +!PS +( MIN(kpp_nonlcltranspT(nz ,n)*kpp_oblmixc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & +!PS ) * heat_flux(n) / vcpw * dt +!PS +!PS elseif (tracers%data(tr_num)%ID==2) then ! salinity +!PS !___surface_________________________________________________ +!PS nz = nzmin +!PS tr(nz)=tr(nz) & +!PS -(-MIN(kpp_nonlcltranspS(nz+1,n)*kpp_oblmixc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & +!PS ) * rsss * water_flux(n) * dt +!PS !___bulk____________________________________________________ +!PS do nz=nzmin+1, nzmax-2 +!PS tr(nz)=tr(nz) & +!PS -( MIN(kpp_nonlcltranspS(nz ,n)*kpp_oblmixc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & +!PS -MIN(kpp_nonlcltranspS(nz+1,n)*kpp_oblmixc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & +!PS ) * rsss * water_flux(n) * dt +!PS end do +!PS !___bottom__________________________________________________ +!PS nz = nzmax-1 +!PS tr(nz)=tr(nz) & +!PS -( MIN(kpp_nonlcltranspS(nz ,n)*kpp_oblmixc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & +!PS ) * rsss * water_flux(n) * dt +!PS end if +!PS end if +!PS end if ! --> if (use_kpp_nonlclflx) then !_______________________________________________________________________ ! case of activated shortwave penetration into the ocean, ad 3d contribution @@ -863,7 +872,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) ! v (+) v (+) ! tr(nzmin)= tr(nzmin)+bc_surface(n, tracers%data(tr_num)%ID, trarr(nzmin,n), nzmin, partit) - + !_______________________________________________________________________ ! The forward sweep algorithm to solve the three-diagonal matrix ! problem @@ -976,17 +985,28 @@ subroutine diff_ver_part_redi_expl(tracers, partit, mesh) nl1=nlevels_nod2D(n)-1 ul1=ulevels_nod2D(n) vd_flux=0._WP - +!PS +!PS !_______________________________________________________________________ +!PS zbar_n(1:mesh%nl )=0.0_WP +!PS z_n (1:mesh%nl-1)=0.0_WP +!PS zbar_n(nl1+1)=zbar_n_bot(n) +!PS z_n(nl1)=zbar_n(nl1+1) + hnode_new(nl1,n)/2.0_WP +!PS do nz=nl1, ul1+1, -1 +!PS zbar_n(nz) = zbar_n(nz+1) + hnode_new(nz,n) +!PS z_n(nz-1) = zbar_n(nz) + hnode_new(nz-1,n)/2.0_WP +!PS end do +!PS zbar_n(ul1) = zbar_n(ul1+1) + hnode_new(ul1,n) + !_______________________________________________________________________ zbar_n(1:mesh%nl )=0.0_WP z_n (1:mesh%nl-1)=0.0_WP zbar_n(nl1+1)=zbar_n_bot(n) - z_n(nl1)=zbar_n(nl1+1) + hnode_new(nl1,n)/2.0_WP + z_n(nl1)=zbar_n(nl1+1) + hnode(nl1,n)/2.0_WP do nz=nl1, ul1+1, -1 - zbar_n(nz) = zbar_n(nz+1) + hnode_new(nz,n) - z_n(nz-1) = zbar_n(nz) + hnode_new(nz-1,n)/2.0_WP + zbar_n(nz) = zbar_n(nz+1) + hnode(nz,n) + z_n(nz-1) = zbar_n(nz) + hnode(nz-1,n)/2.0_WP end do - zbar_n(ul1) = zbar_n(ul1+1) + hnode_new(ul1,n) + zbar_n(ul1) = zbar_n(ul1+1) + hnode(ul1,n) !_______________________________________________________________________ do nz=ul1+1,nl1 @@ -1355,4 +1375,4 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) stop END SELECT RETURN -END FUNCTION +END FUNCTION \ No newline at end of file diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index c9f428ce6..7ed3dea2e 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -362,9 +362,11 @@ SUBROUTINE tracer_init(tracers, partit, mesh) allocate(tracers%work%dvd_trflx_hor(nl-1, myDim_edge2D, 2)) allocate(tracers%work%dvd_trflx_ver(nl , myDim_nod2D , 2)) allocate(tracers%work%dvd_trold( nl-1, node_size , 2)) + allocate(tracers%work%dvd_trAB( nl-1, node_size , 2)) tracers%work%dvd_trflx_hor = 0.0_WP tracers%work%dvd_trflx_ver = 0.0_WP tracers%work%dvd_trold = 0.0_WP + tracers%work%dvd_trAB = 0.0_WP end if END SUBROUTINE tracer_init ! diff --git a/src/toy_channel_soufflet.F90 b/src/toy_channel_soufflet.F90 index 164f015d4..5fdd55ef0 100644 --- a/src/toy_channel_soufflet.F90 +++ b/src/toy_channel_soufflet.F90 @@ -12,7 +12,9 @@ MODULE Toy_Channel_Soufflet implicit none SAVE private - public :: relax_zonal_vel, relax_zonal_temp, compute_zonal_mean_ini, compute_zonal_mean, initial_state_soufflet, energy_out_soufflet, soufflet_forc_update + public :: relax_zonal_vel, relax_zonal_temp, compute_zonal_mean_ini, compute_zonal_mean, & + initial_state_soufflet, energy_out_soufflet, soufflet_forc_update, & + tau_inv, lat0, dy, ztem real(kind=WP), allocatable :: zvel(:,:), Uclim(:,:) real(kind=WP), allocatable :: ztem(:,:) From ffb7a9eb46e0b657f5af178bd20cda20034b23c8 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 6 Mar 2024 09:55:44 +0100 Subject: [PATCH 102/273] add vertical tracer flux to output stream --- src/io_meandata.F90 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index c230dc23f..5fb4f0b04 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -655,6 +655,8 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) end if call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!PS call def_stream((/nl, nod2D/), (/nl, myDim_nod2D/), 'temp_trflx_ver', 'vertical temperature flux.' , 'Km^2/s' , tracers%work%dvd_trflx_ver(:, :, 1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + !PS !_______________________________________________________________________ !PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_tot' , 'tot. salinity DVD \n (Klingbeil et al. 2014)' , 'K^2/s' , dvd_KK_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) !PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) From 36275504314101eda3c2e088ac7df3518e388340 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 6 Mar 2024 09:56:42 +0100 Subject: [PATCH 103/273] fix small bug in write_step_info.F90 --- src/write_step_info.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/write_step_info.F90 b/src/write_step_info.F90 index 9b1087248..8d24d870e 100644 --- a/src/write_step_info.F90 +++ b/src/write_step_info.F90 @@ -211,7 +211,7 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) end if loc=omp_min_max_sum2(Av, 1, nl, 1, myDim_elem2D, 'max', partit) call MPI_AllREDUCE(loc , max_av , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) - loc=omp_min_max_sum2(Av, 1, nl, 1, myDim_nod2D, 'max', partit) + loc=omp_min_max_sum2(Kv, 1, nl, 1, myDim_nod2D, 'max', partit) call MPI_AllREDUCE(loc , max_kv , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) !_______________________________________________________________________ if (mype==0) then From 024f9395cca163302d8d140c4ffb4e83851ff8c4 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 6 Mar 2024 09:58:44 +0100 Subject: [PATCH 104/273] switch back on nonlocal KPP fluxes --- src/oce_ale_tracer.F90 | 194 +++++++++++++++++++++-------------------- 1 file changed, 98 insertions(+), 96 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index ae01812f6..03bcbe886 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -475,6 +475,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) use o_mixing_KPP_mod !for ghats _GO_ use g_cvmix_kpp, only: kpp_nonlcltranspT, kpp_nonlcltranspS, kpp_oblmixc use bc_surface_interface + use diagnostics, only: ldiag_DVD implicit none integer , intent(in) , target :: tr_num type(t_dyn) , intent(inout), target :: dynamics @@ -486,7 +487,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) real(kind=WP) :: cp(mesh%nl), tp(mesh%nl) integer :: nz, n, nzmax, nzmin real(kind=WP) :: m, zinv, dz - real(kind=WP) :: rsss, Ty, Ty1, c1, zinv1, zinv2, v_adv + real(kind=WP) :: rsss, Ty, Ty1, c1, zinv1, zinv2, v_adv, sfbc real(kind=WP) :: isredi=0._WP logical :: do_wimpl=.true. real(kind=WP) :: zbar_n(mesh%nl), z_n(mesh%nl-1) @@ -754,100 +755,100 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) ! at this point the mixing enhancments from momix, instable ! mixing or windmixing which are to much for nonlocal ! transports and lead to instability of the model -!PS if (use_kpp_nonlclflx) then -!PS if (tracers%data(tr_num)%ID==2) then -!PS rsss=ref_sss -!PS if (ref_sss_local) rsss=tracers%data(tr_num)%values(1,n) -!PS end if -!PS -!PS !___________________________________________________________________ -!PS ! use fesom1.4 KPP -!PS if (mix_scheme_nmb==1 .or. mix_scheme_nmb==17) then -!PS if (tracers%data(tr_num)%ID==1) then ! temperature -!PS ! --> no fluxes to the top out of the surface, no fluxes -!PS ! downwards out of the bottom -!PS !___surface_________________________________________________ -!PS nz = nzmin -!PS tr(nz)=tr(nz) & -!PS +(-MIN(ghats(nz+1,n)*blmc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & -!PS ) * heat_flux(n) / vcpw * dt -!PS !___bulk____________________________________________________ -!PS do nz=nzmin+1, nzmax-2 -!PS tr(nz)=tr(nz) & -!PS +( MIN(ghats(nz ,n)*blmc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & -!PS -MIN(ghats(nz+1,n)*blmc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & -!PS ) * heat_flux(n) / vcpw * dt -!PS end do -!PS !___bottom__________________________________________________ -!PS nz = nzmax-1 -!PS tr(nz)=tr(nz) & -!PS +( MIN(ghats(nz ,n)*blmc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & -!PS ) * heat_flux(n) / vcpw * dt -!PS -!PS elseif (tracers%data(tr_num)%ID==2) then ! salinity -!PS ! --> no fluxes to the top out of the surface, no fluxes -!PS ! downwards out of the bottom -!PS !___surface_________________________________________________ -!PS nz = nzmin -!PS tr(nz)=tr(nz) & -!PS -(-MIN(ghats(nz+1,n)*blmc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & -!PS ) * rsss * water_flux(n) * dt -!PS !___bulk____________________________________________________ -!PS do nz=nzmin+1, nzmax-2 -!PS tr(nz)=tr(nz) & -!PS -( MIN(ghats(nz ,n)*blmc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & -!PS -MIN(ghats(nz+1,n)*blmc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & -!PS ) * rsss * water_flux(n) * dt -!PS end do -!PS !___bottom__________________________________________________ -!PS nz = nzmax-1 -!PS tr(nz)=tr(nz) & -!PS -( MIN(ghats(nz ,n)*blmc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & -!PS ) * rsss * water_flux(n) * dt -!PS end if -!PS !___________________________________________________________________ -!PS ! use cvmix KPP -!PS elseif (mix_scheme_nmb==3 .or. mix_scheme_nmb==37) then -!PS if (tracers%data(tr_num)%ID==1) then ! temperature -!PS !___surface_________________________________________________ -!PS nz = nzmin -!PS tr(nz)=tr(nz) & -!PS +(-MIN(kpp_nonlcltranspT(nz+1,n)*kpp_oblmixc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & -!PS ) * heat_flux(n) / vcpw * dt -!PS !___bulk____________________________________________________ -!PS do nz=nzmin+1, nzmax-2 -!PS tr(nz)=tr(nz) & -!PS +( MIN(kpp_nonlcltranspT(nz ,n)*kpp_oblmixc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & -!PS -MIN(kpp_nonlcltranspT(nz+1,n)*kpp_oblmixc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & -!PS ) * heat_flux(n) / vcpw * dt -!PS end do -!PS !___bottom__________________________________________________ -!PS nz = nzmax-1 -!PS tr(nz)=tr(nz) & -!PS +( MIN(kpp_nonlcltranspT(nz ,n)*kpp_oblmixc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & -!PS ) * heat_flux(n) / vcpw * dt -!PS -!PS elseif (tracers%data(tr_num)%ID==2) then ! salinity -!PS !___surface_________________________________________________ -!PS nz = nzmin -!PS tr(nz)=tr(nz) & -!PS -(-MIN(kpp_nonlcltranspS(nz+1,n)*kpp_oblmixc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & -!PS ) * rsss * water_flux(n) * dt -!PS !___bulk____________________________________________________ -!PS do nz=nzmin+1, nzmax-2 -!PS tr(nz)=tr(nz) & -!PS -( MIN(kpp_nonlcltranspS(nz ,n)*kpp_oblmixc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & -!PS -MIN(kpp_nonlcltranspS(nz+1,n)*kpp_oblmixc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & -!PS ) * rsss * water_flux(n) * dt -!PS end do -!PS !___bottom__________________________________________________ -!PS nz = nzmax-1 -!PS tr(nz)=tr(nz) & -!PS -( MIN(kpp_nonlcltranspS(nz ,n)*kpp_oblmixc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & -!PS ) * rsss * water_flux(n) * dt -!PS end if -!PS end if -!PS end if ! --> if (use_kpp_nonlclflx) then + if (use_kpp_nonlclflx) then + if (tracers%data(tr_num)%ID==2) then + rsss=ref_sss + if (ref_sss_local) rsss=tracers%data(tr_num)%values(1,n) + end if + + !___________________________________________________________________ + ! use fesom1.4 KPP + if (mix_scheme_nmb==1 .or. mix_scheme_nmb==17) then + if (tracers%data(tr_num)%ID==1) then ! temperature + ! --> no fluxes to the top out of the surface, no fluxes + ! downwards out of the bottom + !___surface_________________________________________________ + nz = nzmin + tr(nz)=tr(nz) & + +(-MIN(ghats(nz+1,n)*blmc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & + ) * heat_flux(n) / vcpw * dt + !___bulk____________________________________________________ + do nz=nzmin+1, nzmax-2 + tr(nz)=tr(nz) & + +( MIN(ghats(nz ,n)*blmc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & + -MIN(ghats(nz+1,n)*blmc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & + ) * heat_flux(n) / vcpw * dt + end do + !___bottom__________________________________________________ + nz = nzmax-1 + tr(nz)=tr(nz) & + +( MIN(ghats(nz ,n)*blmc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & + ) * heat_flux(n) / vcpw * dt + + elseif (tracers%data(tr_num)%ID==2) then ! salinity + ! --> no fluxes to the top out of the surface, no fluxes + ! downwards out of the bottom + !___surface_________________________________________________ + nz = nzmin + tr(nz)=tr(nz) & + -(-MIN(ghats(nz+1,n)*blmc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & + ) * rsss * water_flux(n) * dt + !___bulk____________________________________________________ + do nz=nzmin+1, nzmax-2 + tr(nz)=tr(nz) & + -( MIN(ghats(nz ,n)*blmc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & + -MIN(ghats(nz+1,n)*blmc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & + ) * rsss * water_flux(n) * dt + end do + !___bottom__________________________________________________ + nz = nzmax-1 + tr(nz)=tr(nz) & + -( MIN(ghats(nz ,n)*blmc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & + ) * rsss * water_flux(n) * dt + end if + !___________________________________________________________________ + ! use cvmix KPP + elseif (mix_scheme_nmb==3 .or. mix_scheme_nmb==37) then + if (tracers%data(tr_num)%ID==1) then ! temperature + !___surface_________________________________________________ + nz = nzmin + tr(nz)=tr(nz) & + +(-MIN(kpp_nonlcltranspT(nz+1,n)*kpp_oblmixc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & + ) * heat_flux(n) / vcpw * dt + !___bulk____________________________________________________ + do nz=nzmin+1, nzmax-2 + tr(nz)=tr(nz) & + +( MIN(kpp_nonlcltranspT(nz ,n)*kpp_oblmixc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & + -MIN(kpp_nonlcltranspT(nz+1,n)*kpp_oblmixc(nz+1,n,2), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & + ) * heat_flux(n) / vcpw * dt + end do + !___bottom__________________________________________________ + nz = nzmax-1 + tr(nz)=tr(nz) & + +( MIN(kpp_nonlcltranspT(nz ,n)*kpp_oblmixc(nz ,n,2), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & + ) * heat_flux(n) / vcpw * dt + + elseif (tracers%data(tr_num)%ID==2) then ! salinity + !___surface_________________________________________________ + nz = nzmin + tr(nz)=tr(nz) & + -(-MIN(kpp_nonlcltranspS(nz+1,n)*kpp_oblmixc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & + ) * rsss * water_flux(n) * dt + !___bulk____________________________________________________ + do nz=nzmin+1, nzmax-2 + tr(nz)=tr(nz) & + -( MIN(kpp_nonlcltranspS(nz ,n)*kpp_oblmixc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & + -MIN(kpp_nonlcltranspS(nz+1,n)*kpp_oblmixc(nz+1,n,3), 1.0_WP)*(area(nz+1,n)/areasvol(nz,n)) & + ) * rsss * water_flux(n) * dt + end do + !___bottom__________________________________________________ + nz = nzmax-1 + tr(nz)=tr(nz) & + -( MIN(kpp_nonlcltranspS(nz ,n)*kpp_oblmixc(nz ,n,3), 1.0_WP)*(area(nz ,n)/areasvol(nz,n)) & + ) * rsss * water_flux(n) * dt + end if + end if + end if ! --> if (use_kpp_nonlclflx) then !_______________________________________________________________________ ! case of activated shortwave penetration into the ocean, ad 3d contribution @@ -985,7 +986,7 @@ subroutine diff_ver_part_redi_expl(tracers, partit, mesh) nl1=nlevels_nod2D(n)-1 ul1=ulevels_nod2D(n) vd_flux=0._WP -!PS + !PS !_______________________________________________________________________ !PS zbar_n(1:mesh%nl )=0.0_WP !PS z_n (1:mesh%nl-1)=0.0_WP @@ -1017,6 +1018,7 @@ subroutine diff_ver_part_redi_expl(tracers, partit, mesh) enddo do nz=ul1,nl1 del_ttf(nz,n) = del_ttf(nz,n)+(vd_flux(nz) - vd_flux(nz+1))*dt/areasvol(nz,n) +!PS del_ttf(nz,n) = del_ttf(nz,n)-(vd_flux(nz) - vd_flux(nz+1))*dt/areasvol(nz,n) enddo end do !$OMP END DO From 1b039f3459fac5c65117dbc8be333447f12bca20 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 6 Mar 2024 10:01:28 +0100 Subject: [PATCH 105/273] put nonlocal KPP fluxes into KK DVD, fix zstar KK DVD boundarie condition --- src/gen_modules_diag.F90 | 188 +++++++++++++++++++++++++++------------ 1 file changed, 130 insertions(+), 58 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 1a2570484..cd13f7eaa 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -1008,12 +1008,12 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) !_______________________________________________________________________ ! create pointer to reconstructed tracer fluxes through mid edge face, and ! upper lower cell prism face and for tracer^n and tracer^(n+1) - trflx_h => tracers%work%dvd_trflx_hor( :,:,tr_num) ! horizontal advectiv tracer flux through mid edge face using AB tracer - trflx_v => tracers%work%dvd_trflx_ver( :,:,tr_num) ! vertical advectiv tracer flux - trstar => tracers%work%dvd_trold( :,:,tr_num) ! tracer^n - trAB => tracers%work%dvd_trAB( :,:,tr_num) ! tracerAB^n - tr => tracers%data(tr_num)%values(:,:) ! tracer^(n+1) - dump => tracers%work%del_ttf + trflx_h => tracers%work%dvd_trflx_hor( :,:,tr_num) ! horizontal advectiv tracer flux through mid edge face using AB tracer + trflx_v => tracers%work%dvd_trflx_ver( :,:,tr_num) ! vertical advectiv tracer flux + trstar => tracers%work%dvd_trold( :,:,tr_num) ! tracer^n + trAB => tracers%work%dvd_trAB( :,:,tr_num) ! tracerAB^n + tr => tracers%data(tr_num)%values(:,:) ! tracer^(n+1) + dump => tracers%work%del_ttf !_______________________________________________________________________ ! need to recompute tracer gradients @@ -1173,9 +1173,19 @@ subroutine dvd_add_time_deriv(tr_num, dvd_tot, tr_old, tr, partit, mesh) ! stored here in the variable hnode_new, since hnode^(n) was other ! wise overwritten by hnode^(n+1) in the variable hnode tr_n = hnode_new(nz,node) * tr_old(nz, node)*tr_old(nz, node) -!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (tr_np1-tr_n)/dt/hnode(nz, node) dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (tr_np1-tr_n)/dt/hnode(nz, node) end do !--> do nz=nu1, nl1-1 + + +!PS ! Add additional boundary condition in case of variance equation for zstar +!PS nz = nu1 +!PS if (tr_num==1) then +!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - water_flux(node)*tr_old(nz, node)*tr_old(nz, node)/hnode(nz, node) +!PS elseif (tr_num==2) then +!PS +!PS end if + + end do !-->do node=1, myDim_nod2D end subroutine dvd_add_time_deriv ! @@ -1197,7 +1207,7 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d integer :: node, edge, nz, nu12, nl12, nl1, nl2, nu1, nu2 integer :: ednodes(2), edelem(2), elnodes(3) real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, vflx, tr2flx, xchi - + real(kind=WP) :: eps_vflx=1.0e-16 #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -1257,7 +1267,8 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d vflx = (-UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute 2nd moment horizontal advection flux - tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge)) + tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! sergey way to compute advective component of DVD eq. 26 ! U = u*h @@ -1269,8 +1280,6 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP -!PS dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) -!PS dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) end do !--> do nz=nu1, nu12-1 @@ -1292,7 +1301,8 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d vflx = (UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute 2nd moment horizontal advection flux - tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge)) + tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! sergey way to compute advective component of DVD eq. 26 ! U = u*h @@ -1304,8 +1314,6 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP -!PS dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) -!PS dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) end do !--> do nz=nu2, nu12-1 @@ -1329,7 +1337,8 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d vflx = vflx + ( UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2 )*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute 2nd moment horizontal advection flux - tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge)) + tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! sergey way to compute advective component of DVD eq. 26 ! U = u*h @@ -1341,8 +1350,6 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP -!PS dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) -!PS dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) end do !--> do nz=nu12, nl12 @@ -1364,7 +1371,8 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d vflx = (-UV(2, nz, edelem(1))*deltaX1 + UV(1, nz, edelem(1))*deltaY1)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute 2nd moment horizontal advection flux - tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge)) + tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! sergey way to compute advective component of DVD eq. 26 ! U = u*h @@ -1376,8 +1384,6 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP -!PS dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) -!PS dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) end do !--> do nz=nl12+1, nl1 @@ -1399,7 +1405,8 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d vflx = (UV(2, nz, edelem(2))*deltaX2 - UV(1, nz, edelem(2))*deltaY2)*sum(hnode_new(nz, elnodes))/3.0_WP ! knut way to compute 2nd moment horizontal advection flux - tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge))/vflx + tr2flx = (trflx_h(nz, edge)*trflx_h(nz, edge)) + tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! sergey way to compute advective component of DVD eq. 26 (approximation small dt) ! U = u*h @@ -1411,8 +1418,6 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP -!PS dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) -!PS dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) end do !--> do nz=nl12+1, nl2 @@ -1455,7 +1460,7 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) integer :: node, nz, nu1, nl1 real(kind=WP) :: tr2flx, vflx, xchi(mesh%nl), trstar_zlev - + real(kind=WP) :: eps_vflx=1.0e-16 #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -1499,14 +1504,12 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! with hnode^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!) ! --> here we are on mid-depth levels -!PS dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) + (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) - (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) end do !--> do nz=nu1+1,nl1-1 !___________________________________________________________________ ! same for bottom nz=nl1-1 -!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) end do !--> do node=1,myDim_nod2D @@ -1530,36 +1533,38 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! in the variable hnode_new (Although this sounds confusing!!!) ! volume and tracer flux across upper cell prism face vflx = Wvel(nz, node)*area(nz, node) -!PS tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx - tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node)) + tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! prevent division by zero vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) - + ! volume and tracer flux across lower cell prism face vflx = Wvel(nz+1, node)*area(nz+1, node) -!PS tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx - tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx + tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node)) + tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! prevent division by zero vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) + !___________________________________________________________________ ! bulk do nz=nu1+1,nl1-2 ! stop two layers over botrtom since Wvel(nl1)==0 --> 1/Wvel(nl1) --> Inf ! volume and tracer flux across upper cell prism face vflx = Wvel(nz, node)*area(nz, node) -!PS tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx - tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node)) + tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! prevent division by zero vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! volume and tracer flux across lower cell prism face vflx = Wvel(nz+1, node)*area(nz+1, node) -!PS tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx - tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node))/vflx + tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node)) + tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! prevent division by zero vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) end do !--> do nz=nu1,nl1 + !___________________________________________________________________ ! bottom - nz = nl-1 + nz = nl1-1 vflx = Wvel(nz,node)*area(nz,node) -!PS tr2flx = (trflx_v(nz, node)*trflx_v(nz, node))/vflx - tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node))/vflx + tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node)) + tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! prevent division by zero vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! --> do here not nz+1 since Wvel(nz+1)==0 (bottom bnd condition) --> 1/(Wvel(nz+1,n)*area(nz+1,n)) --> Inf end do !--> do node=1,myDim_nod2D @@ -1972,22 +1977,37 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p ! apply surface boundary condition --> have to do this here from hand --> ! i was somehow not able to bind in the function module for the surface ! boundary condition + ! d/dt(h*T) + div_h*(u*h*T) + h*d/dz(w*T) - div_3(h*Kv*div_3*T) = -(Q_hf + W*T_w)_k=1 + ! | + ! need eq. for 2nd. moment + ! tracer thickness variance + ! | + ! V + ! d/dt(h*T^2) = T*d/dt(h*T) + h*T*d/dt(T)+ + ! | + ! +-------eq. for d/dt(T)----------+ + ! | + ! d/dt(T) + div_h*(u*T) + d/dz(w*T) - div_3(Kv*div_3*T) = -(Q_hf + W*(T_w-T_k))_k=1 / h_k + ! + ! d/dt(h*T^2) + div*(u*h*T^2) + h*d/dz(w*T^2) - ... = (-2*T_k*Q_hf - W*T_w*T_k - W*T_k*(T_w-T_k) )_k=1 + ! = 2*(-T_k*Q_hf - 0.5*W*T_w*T_k - 0.5*W*T_k*(T_w-T_k) )_k=1 + ! --> temp: T_w=T_k --> 2*(-T_k*Q_hf - 0.5*W*T_w*T_k) + ! --> salt: T_w=0 --> 2*(-T_k*Q_hf + 0.5*W*T_w*T_k) nz = nu1 if (tr_num==1) then - !PS sbc = -(heat_flux(node)/vcpw + tr(nz, node)*water_flux(node)*is_nonlinfs) - sbc = -(heat_flux(node)/vcpw + trN(nz)*water_flux(node)*is_nonlinfs) + sbc = -(heat_flux(node)/vcpw + trN(nz)*water_flux(node)*is_nonlinfs*0.5_WP) elseif (tr_num==2) then - sbc = (virtual_salt(node) + relax_salt(node) - real_salt_flux(node)*is_nonlinfs) + sbc = (virtual_salt(node) + relax_salt(node) - real_salt_flux(node)*is_nonlinfs*0.5_WP) end if - Dflx(nz) = Dflx(nz) - sbc*area(nz, node) * merge(2.0_WP*trstar(nz, node), 1.0_WP, do_SDdvd) + Dflx(nz) = Dflx(nz) - sbc*area(nz, node) !___________________________________________________________________ ! apply shortwave penetration fluxes if (use_sw_pene .and. tr_num==1) then nz=nu1 - Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) * merge(2.0_WP*trstar(nz, node), 1.0_WP, do_SDdvd) + Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) * merge(2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) + Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) end do end if @@ -1996,9 +2016,7 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume ! surface nz = nu1 - !PS tr_up = Dflx(nz )*tr(nz, node) tr_up = Dflx(nz )*trN(nz) - !PS tr_dwn = (tr(nz, node)*hnode_new(nz, node)+tr(nz+1, node)*hnode_new(nz+1, node))/(hnode_new(nz, node)+hnode_new(nz+1, node)) tr_dwn = (trN(nz)*hnode_new(nz, node)+trN(nz+1)*hnode_new(nz+1, node))/(hnode_new(nz, node)+hnode_new(nz+1, node)) tr_dwn = Dflx(nz+1)*tr_dwn dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) @@ -2008,8 +2026,6 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p do nz=nu1+1, nl1-2 ! volume (hnode) weighted temperature reconstruction at upper/lower ! scalar cell interface - !PS tr_up = (tr(nz-1, node)*hnode_new(nz-1, node)+tr(nz , node)*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) - !PS tr_dwn = (tr(nz , node)*hnode_new(nz , node)+tr(nz+1, node)*hnode_new(nz+1, node))/(hnode_new(nz , node)+hnode_new(nz+1, node)) tr_up = (trN(nz-1)*hnode_new(nz-1, node)+trN(nz )*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) tr_dwn = (trN(nz )*hnode_new(nz , node)+trN(nz+1)*hnode_new(nz+1, node))/(hnode_new(nz , node)+hnode_new(nz+1, node)) ! compute T^(n+1)_(i+0.5) * Dflx_(i+0.5) through upper and lower face @@ -2024,7 +2040,6 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p !___________________________________________________________________ ! bottom nz = nl1-1 - !PS tr_up = (tr(nz-1, node)*hnode_new(nz-1, node)+tr(nz , node)*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) tr_up = (trN(nz-1)*hnode_new(nz-1, node)+trN(nz)*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) tr_up = Dflx(nz)*tr_up tr_dwn= 0.0_WP @@ -2121,6 +2136,7 @@ subroutine dvd_add_difflux_vertexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope ! Xchi at full depth level interface ! --> at this points tr must be trstar Dflx(nz) = -Dflx(nz) * merge(2.0_WP*( tr(nz, node)-tr(nz-1, node) ), 1.0_WP, do_SDdvd) +!PS Dflx(nz) = Dflx(nz) * merge(2.0_WP*( tr(nz, node)-tr(nz-1, node) ), 1.0_WP, do_SDdvd) ! | ! +-> merge: if do_SDdvd==True use first argument, if ! do_SDdvd==False use second argument of merge! @@ -2145,7 +2161,7 @@ subroutine dvd_add_difflux_vertexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume ! surface nz = nu1 - tr_up = 0.0_WP + tr_up = Dflx(nz )*tr(nz, node) tr_dwn = (tr(nz, node)*hnode_new(nz, node)+tr(nz+1, node)*hnode_new(nz+1, node))/(hnode_new(nz, node)+hnode_new(nz+1, node)) tr_dwn = Dflx(nz+1)*tr_dwn dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) @@ -2184,6 +2200,7 @@ end subroutine dvd_add_difflux_vertexplredi ! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx[Tr^(n+1)] )/ V^(n+1) +... ! --> here Tr^(n+1) und Dflx[...] are reconstructed values at the interfase subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, slope, partit, mesh) + use g_cvmix_kpp, only: kpp_nonlcltranspT, kpp_nonlcltranspS, kpp_oblmixc implicit none type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh @@ -2197,7 +2214,7 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) integer :: node, nz, nu1, nl1 real(kind=WP) :: tr_up, tr_dwn, Dflx(mesh%nl), dzup, dzdwn, dz, Kv_R - real(kind=WP) :: isredi=0.0_WP, sbc + real(kind=WP) :: isredi=0.0_WP, sbc, rsss #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -2283,30 +2300,85 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K ! apply surface boundary condition --> have to do this here from hand --> ! i was somehow not able to bind in the function module for the surface ! boundary condition + ! d/dt(h*T) + div_h*(u*h*T) + h*d/dz(w*T) - div_3(h*Kv*div_3*T) = -(Q_hf + W*T_w)_k=1 + ! | + ! need eq. for 2nd. moment + ! tracer thickness variance + ! | + ! V + ! d/dt(h*T^2) = T*d/dt(h*T) + h*T*d/dt(T)+ + ! | + ! +-------eq. for d/dt(T)----------+ + ! | + ! d/dt(T) + div_h*(u*T) + d/dz(w*T) - div_3(Kv*div_3*T) = -(Q_hf + W*(T_w-T_k))_k=1 / h_k + ! + ! d/dt(h*T^2) + div*(u*h*T^2) + h*d/dz(w*T^2) - ... = (-2*T_k*Q_hf - W*T_w*T_k - W*T_k*(T_w-T_k) )_k=1 + ! = 2*(-T_k*Q_hf - 0.5*W*T_w*T_k - 0.5*W*T_k*(T_w-T_k) )_k=1 + ! --> temp: T_w=T_k --> 2*(-T_k*Q_hf - 0.5*W*T_w*T_k) + ! --> salt: T_w=0 --> 2*(-T_k*Q_hf + 0.5*W*T_w*T_k) nz = nu1 if (tr_num==1) then - sbc = -(heat_flux(node)/vcpw + tr(nz, node)*water_flux(node)*is_nonlinfs) + sbc = -(heat_flux(node)/vcpw + tr(nz, node)*water_flux(node)*is_nonlinfs*0.5_WP) elseif (tr_num==2) then - sbc = (virtual_salt(node) + relax_salt(node) - real_salt_flux(node)*is_nonlinfs) + sbc = (virtual_salt(node) + relax_salt(node) - real_salt_flux(node)*is_nonlinfs*0.5_WP) end if - Dflx(nz) = Dflx(nz) - sbc*area(nz, node) * merge(2.0_WP*trstar(nz, node), 1.0_WP, do_SDdvd) + Dflx(nz) = Dflx(nz) - sbc*area(nz, node) !___________________________________________________________________ ! apply shortwave penetration fluxes if (use_sw_pene .and. tr_num==1) then nz=nu1 - Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) * merge(2.0_WP*trstar(nz, node), 1.0_WP, do_SDdvd) + Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) * merge(2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) + Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) end do end if - + + !___________________________________________________________________ + ! Add KPP nonlocal fluxes to the rhs (only T and S currently) + ! use here blmc or kpp_oblmixc instead of Kv, since Kv already contains + ! at this point the mixing enhancments from momix, instable + ! mixing or windmixing which are to much for nonlocal + ! transports and lead to instability of the model + if (use_kpp_nonlclflx) then + if (tr_num==2) then + rsss=ref_sss + if (ref_sss_local) rsss=tr(1,node) + end if + + !_______________________________________________________________ + ! use fesom1.4 KPP + if (mix_scheme_nmb==1 .or. mix_scheme_nmb==17) then + if (tr_num==1) then ! temperature + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) - MIN(ghats(nz, node)*blmc(nz, node, 2), 1.0_WP)*heat_flux(node)/vcpw*area(nz, node) + end do + elseif (tr_num==2) then ! salinity + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) - MIN(ghats(nz, node)*blmc(nz, node, 3), 1.0_WP)*rsss*water_flux(node)*area(nz, node) + end do + end if + !_______________________________________________________________ + ! use cvmix KPP + elseif (mix_scheme_nmb==3 .or. mix_scheme_nmb==37) then + if (tr_num==1) then ! temperature + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) - MIN(kpp_nonlcltranspT(nz, node)*kpp_oblmixc(nz, node, 2), 1.0_WP)*heat_flux(node)/vcpw*area(nz, node) + end do + elseif (tr_num==2) then ! salinity + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) - MIN(kpp_nonlcltranspT(nz, node)*kpp_oblmixc(nz, node, 3), 1.0_WP)*rsss*water_flux(node)*area(nz, node) + end do + end if + end if + end if ! --> if (use_kpp_nonlclflx) then + !___________________________________________________________________ ! compute diffusive flux flxdiff(nz), after Klingbeil etal 2014 ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume ! surface nz = nu1 - tr_up = Dflx(nz )*tr(nz, node) + tr_up = Dflx(nz )*tr(nz, node) tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) tr_dwn = Dflx(nz+1)*tr_dwn dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) From dac069f1affa8af1b33e0c080c9c81acc018d5e0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 7 Mar 2024 15:33:26 +0100 Subject: [PATCH 106/273] add comment --- src/oce_ale_pressure_bv.F90 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/oce_ale_pressure_bv.F90 b/src/oce_ale_pressure_bv.F90 index a2f759d74..5c0b06aa4 100644 --- a/src/oce_ale_pressure_bv.F90 +++ b/src/oce_ale_pressure_bv.F90 @@ -2963,7 +2963,10 @@ subroutine compute_neutral_slope(partit, mesh) nl1=nlevels_nod2d(n)-1 ul1=ulevels_nod2d(n) do nz = ul1+1, nl1 - ro_z_inv=2._WP*g/density_0/max(bvfreq(nz,n)+bvfreq(nz+1,n), eps**2) !without minus, because neutral slope S=-(nabla\rho)/(d\rho/dz) + !without minus, because neutral slope S=-(nabla\rho)/(d\rho/dz) + ! --> the minus sign is hidden within the definition of buoyancy + ! --> N2 = -g*drho/dz + ro_z_inv=2._WP*g/density_0/max(bvfreq(nz,n)+bvfreq(nz+1,n), eps**2) neutral_slope(1,nz,n)=sigma_xy(1,nz,n)*ro_z_inv neutral_slope(2,nz,n)=sigma_xy(2,nz,n)*ro_z_inv neutral_slope(3,nz,n)=sqrt(neutral_slope(1,nz,n)**2+neutral_slope(2,nz,n)**2) From 0a0503da5ff7a1012c493d31479a36870fba6806 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 7 Mar 2024 15:36:06 +0100 Subject: [PATCH 107/273] delete old comment --- src/oce_ale_tracer.F90 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 03bcbe886..6b9d64d2e 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -1017,8 +1017,7 @@ subroutine diff_ver_part_redi_expl(tracers, partit, mesh) vd_flux(nz)=vd_flux(nz)/(z_n(nz-1)-z_n(nz))*area(nz,n) enddo do nz=ul1,nl1 - del_ttf(nz,n) = del_ttf(nz,n)+(vd_flux(nz) - vd_flux(nz+1))*dt/areasvol(nz,n) -!PS del_ttf(nz,n) = del_ttf(nz,n)-(vd_flux(nz) - vd_flux(nz+1))*dt/areasvol(nz,n) + del_ttf(nz,n) = del_ttf(nz,n) + (vd_flux(nz)-vd_flux(nz+1)) * dt/areasvol(nz,n) enddo end do !$OMP END DO From bc15df0424a97266006bc932b087016ecc2fa5d0 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 7 Mar 2024 15:38:21 +0100 Subject: [PATCH 108/273] add neutral slope variables to output streams --- src/io_meandata.F90 | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 5fb4f0b04..7f928e602 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -416,12 +416,21 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) write (id_string, "(I3.3)") tracers%data(j)%ID call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'tra_'//id_string, 'pasive tracer ID='//id_string, 'n/a', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end do + +CASE ('slopetap_x ') + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'slopetap_x', 'neutral slope tapered X', 'none', slope_tapered(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +CASE ('slopetap_y ') + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'slopetap_y', 'neutral slope tapered Y', 'none', slope_tapered(2,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +CASE ('slopetap_z ') + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'slopetap_z', 'neutral slope tapered Z', 'none', slope_tapered(3,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('slope_x ') - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'slope_x', 'neutral slope X', 'none', slope_tapered(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'slope_x', 'neutral slope X', 'none', neutral_slope(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('slope_y ') - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'slope_y', 'neutral slope Y', 'none', slope_tapered(2,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'slope_y', 'neutral slope Y', 'none', neutral_slope(2,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('slope_z ') - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'slope_z', 'neutral slope Z', 'none', slope_tapered(3,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'slope_z', 'neutral slope Z', 'none', neutral_slope(3,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + CASE ('N2 ') call def_stream((/nl, nod2D/), (/nl, myDim_nod2D/), 'N2', 'brunt väisälä', '1/s2', bvfreq(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('Kv ') From b70e32137acea5f36ba9459bf05e453dfd53927b Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 7 Mar 2024 15:41:49 +0100 Subject: [PATCH 109/273] check for missing minus sign, checked all through --> have to accept that vert. expl. Redi diffusivity can be antidissipativ --- src/gen_modules_diag.F90 | 211 ++++++++++++++++++++++++--------------- 1 file changed, 129 insertions(+), 82 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index cd13f7eaa..07c91086e 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -1174,19 +1174,17 @@ subroutine dvd_add_time_deriv(tr_num, dvd_tot, tr_old, tr, partit, mesh) ! wise overwritten by hnode^(n+1) in the variable hnode tr_n = hnode_new(nz,node) * tr_old(nz, node)*tr_old(nz, node) dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (tr_np1-tr_n)/dt/hnode(nz, node) + ! | + ! +---------this is the minus sign------------+ + ! | + ! v + ! Xchi = -d/dt(Tr^2) - div(v*Tr^2) + div(Kv*nabla*Tr^2) + ! | + ! v + ! Kv*(nabla*Tr)^2 end do !--> do nz=nu1, nl1-1 - - -!PS ! Add additional boundary condition in case of variance equation for zstar -!PS nz = nu1 -!PS if (tr_num==1) then -!PS dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - water_flux(node)*tr_old(nz, node)*tr_old(nz, node)/hnode(nz, node) -!PS elseif (tr_num==2) then -!PS -!PS end if - - end do !-->do node=1, myDim_nod2D + end subroutine dvd_add_time_deriv ! ! @@ -1280,8 +1278,8 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu1, nu12-1 !_______________________________________________________________________ @@ -1314,8 +1312,8 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu2, nu12-1 end if !--> if (nu2 > 0) then @@ -1350,8 +1348,8 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nu12, nl12 !_______________________________________________________________________ @@ -1384,8 +1382,8 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nl12+1, nl1 !_______________________________________________________________________ @@ -1418,8 +1416,8 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d xchi = xchi - vflx*(trstar(nz,ednodes(1))+trstar(nz,ednodes(2)))*(trstar(nz,ednodes(1))-trstar(nz,ednodes(2))) ! |-> 2.0_WP*0.5_WP - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -tr2flx, do_SDdvd) - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -tr2flx, do_SDdvd) + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), tr2flx, do_SDdvd) + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), tr2flx, do_SDdvd) end do !--> do nz=nl12+1, nl2 end do !--> do edge=1, myDim_edge2D call exchange_nod(dump, partit) @@ -1439,7 +1437,15 @@ subroutine dvd_add_advflux_hor(do_SDdvd, tr_num, dvd_tot, trflx_h, UV, trstar, d do node=1, myDim_nod2D+eDim_nod2D nu1 = ulevels_nod2D(node) nl1 = nlevels_nod2D(node)-1 - dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode(nu1:nl1, node)) + dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) - dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode(nu1:nl1, node)) + ! | + ! +--------this is the minus sign-----------+ + ! | + ! v + ! Xchi = -d/dt(Tr^2) - div(v*Tr^2) + div(Kv*nabla*Tr^2) + ! | + ! v + ! Kv*(nabla*Tr)^2 end do end if end subroutine dvd_add_advflux_hor @@ -1532,40 +1538,52 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! with hnode^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!) ! volume and tracer flux across upper cell prism face + ! --> Keep in mind that the advective tracer fluxes are saved as negative fluxes + ! thats why vflx = Wvel(nz, node)*area(nz, node) - tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node)) + tr2flx = (trflx_v(nz, node)*trflx_v(nz, node)) tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! prevent division by zero vflx - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! volume and tracer flux across lower cell prism face vflx = Wvel(nz+1, node)*area(nz+1, node) - tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node)) + tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node)) tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! prevent division by zero vflx - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) !___________________________________________________________________ ! bulk do nz=nu1+1,nl1-2 ! stop two layers over botrtom since Wvel(nl1)==0 --> 1/Wvel(nl1) --> Inf ! volume and tracer flux across upper cell prism face vflx = Wvel(nz, node)*area(nz, node) - tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node)) - tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! prevent division by zero vflx - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) - - ! volume and tracer flux across lower cell prism face - vflx = Wvel(nz+1, node)*area(nz+1, node) - tr2flx = -(trflx_v(nz+1, node)*trflx_v(nz+1, node)) + tr2flx = (trflx_v(nz, node)*trflx_v(nz, node)) tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! prevent division by zero vflx dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) + ! | + ! volume and tracer flux across lower cell prism face | + vflx = Wvel(nz+1, node)*area(nz+1, node)! | + tr2flx = (trflx_v(nz+1, node)*trflx_v(nz+1, node))! | + tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! prevent division by zero vflx + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) + ! | + ! +----this is the minus sign-----+ + ! | + ! v + ! Xchi = -d/dt(Tr^2) - div(v*Tr^2) + div(Kv*nabla*Tr^2) + ! | + ! v + ! Kv*(nabla*Tr)^2 + ! + ! end do !--> do nz=nu1,nl1 !___________________________________________________________________ ! bottom nz = nl1-1 vflx = Wvel(nz,node)*area(nz,node) - tr2flx = -(trflx_v(nz, node)*trflx_v(nz, node)) + tr2flx = (trflx_v(nz, node)*trflx_v(nz, node)) tr2flx = merge(tr2flx/vflx, 0.0_WP, abs(vflx)>eps_vflx) ! prevent division by zero vflx - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + tr2flx/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - tr2flx/(areasvol(nz, node)*hnode(nz, node)) ! --> do here not nz+1 since Wvel(nz+1)==0 (bottom bnd condition) --> 1/(Wvel(nz+1,n)*area(nz+1,n)) --> Inf end do !--> do node=1,myDim_nod2D end if @@ -1679,8 +1697,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! --> here variable tr corresponds to trstar = (Tr^(n+1) + Tr^(n))*0.5 xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nu1, nu12-1 !_______________________________________________________________________ @@ -1713,14 +1731,14 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !_______________________________________________________________ ! compute Tstar diference --> sergey variant ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !_______________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nu2, nu12-1 end if !--> if (nu2 > 0) then @@ -1755,14 +1773,14 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nu12, nl12 !_______________________________________________________________________ @@ -1795,14 +1813,14 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !-->do nz=nl12+1, nl1 !_______________________________________________________________________ @@ -1835,14 +1853,14 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t ! compute edge centered tracer value ! --> here variable tr corresponds to tr_old == Tr^(n) Trc = tr(nz, ednodes(1))*hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2))*hnode_new(nz, ednodes(2)) - Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar diference --> sergey variant ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) !___________________________________________________________________ - dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), -Trc, do_SDdvd)*Dflx - dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), -Trc, do_SDdvd)*Dflx + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx end do !--> do nz=nl12+1, nl2 end do !--> do edge=1, myDim_edge2D @@ -1864,6 +1882,15 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t nu1 = ulevels_nod2D(node) nl1 = nlevels_nod2D(node)-1 dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode(nu1:nl1, node)) + ! | + ! this is the | + ! +--------plus sign----------+ + ! | + ! v + ! Xchi = -d/dt(Tr^2) - div(v*Tr^2) + div(Kv*nabla*Tr^2) + ! | + ! v + ! Kv*(nabla*Tr)^2 end do end if @@ -1945,7 +1972,7 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p ! --> if Sergey diagonsitc is used Dflx correspond from here on to ! Xchi at full depth level interface ! --> at this points tr must be trstar - Dflx(nz) = Dflx(nz) * merge(2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) + Dflx(nz) = Dflx(nz) * merge(-2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) ! | ! +-> merge: if do_SDdvd==True use first argument, if ! do_SDdvd==False use second argument of merge! @@ -1999,15 +2026,15 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p elseif (tr_num==2) then sbc = (virtual_salt(node) + relax_salt(node) - real_salt_flux(node)*is_nonlinfs*0.5_WP) end if - Dflx(nz) = Dflx(nz) - sbc*area(nz, node) + Dflx(nz) = Dflx(nz) + sbc*area(nz, node) !___________________________________________________________________ ! apply shortwave penetration fluxes if (use_sw_pene .and. tr_num==1) then nz=nu1 - Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) + Dflx(nz) = Dflx(nz) + sw_3d(nz, node)*area(nz,node) do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) + Dflx(nz) = Dflx(nz) + sw_3d(nz, node)*area(nz,node) end do end if @@ -2019,7 +2046,7 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p tr_up = Dflx(nz )*trN(nz) tr_dwn = (trN(nz)*hnode_new(nz, node)+trN(nz+1)*hnode_new(nz+1, node))/(hnode_new(nz, node)+hnode_new(nz+1, node)) tr_dwn = Dflx(nz+1)*tr_dwn - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) !___________________________________________________________________ ! bulk @@ -2032,9 +2059,16 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p tr_up = Dflx(nz )*tr_up tr_dwn = Dflx(nz+1)*tr_dwn ! copute dvd contribution normalized with volume - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) - ! |-> factor 2 comes here from Klingbeil et al.2014 - ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + ! | |-> factor 2 comes here from Klingbeil et al.2014 + ! this is the | (2*Tr^(n+1) * Dflx[Tr^(n+1)] + ! +----plus sign----+ + ! | + ! v + ! Xchi = -d/dt(Tr^2) - div(v*Tr^2) + div(Kv*nabla*Tr^2) + ! | + ! v + ! Kv*(nabla*Tr)^2 end do !--> do nz=nu1+1, nl1-1 !___________________________________________________________________ @@ -2043,7 +2077,7 @@ subroutine dvd_add_difflux_vertexpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p tr_up = (trN(nz-1)*hnode_new(nz-1, node)+trN(nz)*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) tr_up = Dflx(nz)*tr_up tr_dwn= 0.0_WP - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) end if end do !--> do node=1, myDim_nod2D end subroutine dvd_add_difflux_vertexpl @@ -2126,17 +2160,16 @@ subroutine dvd_add_difflux_vertexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope Dflx(nz) = dzup * (slope(1, nz-1, node)*tr_xynodes(1, nz-1, node) + slope(2, nz-1, node)*tr_xynodes(2, nz-1, node)) * Ki(nz-1, node) + & dzdwn * (slope(1, nz , node)*tr_xynodes(1, nz , node) + slope(2, nz , node)*tr_xynodes(2, nz , node)) * Ki(nz , node) - Dflx(nz) = Dflx(nz)/(dzup+dzdwn) * area(nz, node) + Dflx(nz) = Dflx(nz) / (dzup+dzdwn) * area(nz, node) ! extent Dflx after Sergey to compute the diffusive component of DVD ! see T. Banerjee et al. 2023 eq. 7 ! Xchi_(i+0.5) = 2*Kv * (T^(n+1)_(i+1)-T^(n+!)_i)/dz * (Tstar_(i+1)-Tstar_(i)/dz - ! Dflx(nz) = Dflx * 2*(Tstar_(i+1)-Tstar_(i)/dz + ! Dflx(nz) = -Dflx * 2*(Tstar_(i+1)-Tstar_(i)/dz ! --> if Sergey diagonsitc is used Dflx correspond from here on to ! Xchi at full depth level interface ! --> at this points tr must be trstar - Dflx(nz) = -Dflx(nz) * merge(2.0_WP*( tr(nz, node)-tr(nz-1, node) ), 1.0_WP, do_SDdvd) -!PS Dflx(nz) = Dflx(nz) * merge(2.0_WP*( tr(nz, node)-tr(nz-1, node) ), 1.0_WP, do_SDdvd) + Dflx(nz) = Dflx(nz) * merge(-2.0_WP*( tr(nz, node)-tr(nz-1, node) ), 1.0_WP, do_SDdvd) ! | ! +-> merge: if do_SDdvd==True use first argument, if ! do_SDdvd==False use second argument of merge! @@ -2164,7 +2197,7 @@ subroutine dvd_add_difflux_vertexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope tr_up = Dflx(nz )*tr(nz, node) tr_dwn = (tr(nz, node)*hnode_new(nz, node)+tr(nz+1, node)*hnode_new(nz+1, node))/(hnode_new(nz, node)+hnode_new(nz+1, node)) tr_dwn = Dflx(nz+1)*tr_dwn - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) !___________________________________________________________________ ! bulk @@ -2177,9 +2210,16 @@ subroutine dvd_add_difflux_vertexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope tr_up = Dflx(nz )*tr_up tr_dwn = Dflx(nz+1)*tr_dwn ! copute dvd contribution normalized with volume - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) - ! |-> factor 2 comes here from Klingbeil et al.2014 - ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + ! | |-> factor 2 comes here from Klingbeil et al.2014 + ! this is thes | (2*Tr^(n+1) * Dflx[Tr^(n+1)] + ! +----plus sign----+ + ! | + ! v + ! Xchi = -d/dt(Tr^2) - div(v*Tr^2) + div(Kv*nabla*Tr^2) + ! | + ! v + ! Kv*(nabla*Tr)^2 end do !--> do nz=nu1+1, nl1-1 !___________________________________________________________________ @@ -2188,7 +2228,7 @@ subroutine dvd_add_difflux_vertexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope tr_up = (tr(nz-1, node)*hnode_new(nz-1, node)+tr(nz , node)*hnode_new(nz , node))/(hnode_new(nz-1, node)+hnode_new(nz , node)) tr_up = Dflx(nz)*tr_up tr_dwn= 0.0_WP - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) end if end do !--> do node=1, myDim_nod2D end subroutine dvd_add_difflux_vertexplredi @@ -2259,16 +2299,16 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K ! fdiff = Kv*dT/dz = Kv (T(nz-1) - T(nz))/ ((hnode(nz-1)+hnode(nz))/2) ! --> Dflx is until here the diffusive volume flux on full depth levels - Dflx(nz) = (Kv(nz, node)+Kv_R) * (tr(nz, node)-tr(nz-1, node)) / (dzup + dzdwn) * area(nz, node) + Dflx(nz) = -(Kv(nz, node)+Kv_R) * (tr(nz, node)-tr(nz-1, node)) / (dzup+dzdwn) * area(nz, node) ! extent Dflx after Sergey to compute the diffusive component of DVD ! see T. Banerjee et al. 2023 eq. 7 ! Xchi_(i+0.5) = 2*Kv * (T^(n+1)_(i+1)-T^(n+!)_i)/dz * (Tstar_(i+1)-Tstar_(i)/dz - ! Dflx(nz) = Dflx * 2*(Tstar_(i+1)-Tstar_(i)/dz + ! Dflx(nz) = -2*Dflx*(Tstar_(i+1)-Tstar_(i)/dz ! --> if Sergey diagonsitc is used Dflx correspond from here on to ! Xchi at full depth level interface - Dflx(nz) = Dflx(nz) * merge(2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) + Dflx(nz) = Dflx(nz) * merge(-2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) ! | ! +-> merge: if do_SDdvd==True use first argument, if ! do_SDdvd==False use second argument of merge! @@ -2322,15 +2362,15 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K elseif (tr_num==2) then sbc = (virtual_salt(node) + relax_salt(node) - real_salt_flux(node)*is_nonlinfs*0.5_WP) end if - Dflx(nz) = Dflx(nz) - sbc*area(nz, node) + Dflx(nz) = Dflx(nz) + sbc*area(nz, node) !___________________________________________________________________ ! apply shortwave penetration fluxes if (use_sw_pene .and. tr_num==1) then nz=nu1 - Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) + Dflx(nz) = Dflx(nz) + sw_3d(nz, node)*area(nz,node) do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) - sw_3d(nz, node)*area(nz,node) + Dflx(nz) = Dflx(nz) + sw_3d(nz, node)*area(nz,node) end do end if @@ -2351,11 +2391,11 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K if (mix_scheme_nmb==1 .or. mix_scheme_nmb==17) then if (tr_num==1) then ! temperature do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) - MIN(ghats(nz, node)*blmc(nz, node, 2), 1.0_WP)*heat_flux(node)/vcpw*area(nz, node) + Dflx(nz) = Dflx(nz) + MIN(ghats(nz, node)*blmc(nz, node, 2), 1.0_WP)*heat_flux(node)/vcpw*area(nz, node) end do elseif (tr_num==2) then ! salinity do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) - MIN(ghats(nz, node)*blmc(nz, node, 3), 1.0_WP)*rsss*water_flux(node)*area(nz, node) + Dflx(nz) = Dflx(nz) + MIN(ghats(nz, node)*blmc(nz, node, 3), 1.0_WP)*rsss*water_flux(node)*area(nz, node) end do end if !_______________________________________________________________ @@ -2363,11 +2403,11 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K elseif (mix_scheme_nmb==3 .or. mix_scheme_nmb==37) then if (tr_num==1) then ! temperature do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) - MIN(kpp_nonlcltranspT(nz, node)*kpp_oblmixc(nz, node, 2), 1.0_WP)*heat_flux(node)/vcpw*area(nz, node) + Dflx(nz) = Dflx(nz) + MIN(kpp_nonlcltranspT(nz, node)*kpp_oblmixc(nz, node, 2), 1.0_WP)*heat_flux(node)/vcpw*area(nz, node) end do elseif (tr_num==2) then ! salinity do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) - MIN(kpp_nonlcltranspT(nz, node)*kpp_oblmixc(nz, node, 3), 1.0_WP)*rsss*water_flux(node)*area(nz, node) + Dflx(nz) = Dflx(nz) + MIN(kpp_nonlcltranspT(nz, node)*kpp_oblmixc(nz, node, 3), 1.0_WP)*rsss*water_flux(node)*area(nz, node) end do end if end if @@ -2381,7 +2421,7 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K tr_up = Dflx(nz )*tr(nz, node) tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) tr_dwn = Dflx(nz+1)*tr_dwn - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) !___________________________________________________________________ ! bulk @@ -2394,9 +2434,16 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K tr_up = Dflx(nz )*tr_up tr_dwn = Dflx(nz+1)*tr_dwn ! copute dvd contribution normalized with volume - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) - ! |-> factor 2 comes here from Klingbeil et al.2014 - ! (2*Tr^(n+1) * Dflx[Tr^(n+1)] + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + ! | |-> factor 2 comes here from Klingbeil et al.2014 + ! this is thes | (2*Tr^(n+1) * Dflx[Tr^(n+1)] + ! +----plus sign----+ + ! | + ! v + ! Xchi = -d/dt(Tr^2) - div(v*Tr^2) + div(Kv*nabla*Tr^2) + ! | + ! v + ! Kv*(nabla*Tr)^2 end do !--> do nz=nu1+1, nl1-1 !___________________________________________________________________ @@ -2406,7 +2453,7 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K tr_dwn = tr(nz, node) tr_up = Dflx(nz )*tr_up tr_dwn = 0.0_WP - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) end if end do !--> do node=1, myDim_nod2D end subroutine dvd_add_difflux_vertimpl From 98a8fb496aaedc039f64f19e68134906d7b5128d Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 7 Mar 2024 17:00:20 +0100 Subject: [PATCH 110/273] fix another sign mistake in the vert advectiv SD DVD --- src/gen_modules_diag.F90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 07c91086e..7c2188a65 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -1510,13 +1510,13 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! with hnode^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!) ! --> here we are on mid-depth levels - dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) - (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) + dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) + (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) end do !--> do nz=nu1+1,nl1-1 !___________________________________________________________________ ! same for bottom nz=nl1-1 - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) end do !--> do node=1,myDim_nod2D @@ -2436,7 +2436,7 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K ! copute dvd contribution normalized with volume dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) ! | |-> factor 2 comes here from Klingbeil et al.2014 - ! this is thes | (2*Tr^(n+1) * Dflx[Tr^(n+1)] + ! this is the | (2*Tr^(n+1) * Dflx[Tr^(n+1)] ! +----plus sign----+ ! | ! v From e1eea8d70c7789e93df11291f38b8854a3b517c7 Mon Sep 17 00:00:00 2001 From: ogurses Date: Fri, 8 Mar 2024 15:38:45 +0100 Subject: [PATCH 111/273] feat(cmake): add debug options to CmakeLists.txt Include '-g -traceback -check' options in src/CMakelists.txt. These options are commented out in standard standard code version. If you want to use debugging option, uncomment the options and remove the build directory before the compilation. --- src/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fb02eab70..55bae3a80 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -151,7 +151,7 @@ if(${CMAKE_Fortran_COMPILER_ID} STREQUAL Intel ) if(${FESOM_PLATFORM_STRATEGY} STREQUAL levante.dkrz.de ) target_compile_options(${PROJECT_NAME} PRIVATE -march=core-avx2 -mtune=core-avx2) elseif(${FESOM_PLATFORM_STRATEGY} STREQUAL albedo) - target_compile_options(${PROJECT_NAME} PRIVATE -march=core-avx2 -O3 -ip -fPIC -qopt-malloc-options=2 -qopt-prefetch=5 -unroll-aggressive) #NEC mpi option + target_compile_options(${PROJECT_NAME} PRIVATE -march=core-avx2 -O3 -ip -fPIC -qopt-malloc-options=2 -qopt-prefetch=5 -unroll-aggressive) # -g -traceback -check) #NEC mpi option else() target_compile_options(${PROJECT_NAME} PRIVATE -xHost) endif() From f5081216c7399ce64aa6323c7cffbd93c0415a8e Mon Sep 17 00:00:00 2001 From: ogurses Date: Fri, 8 Mar 2024 16:06:55 +0100 Subject: [PATCH 112/273] fix(fesom2): disable l_mslp flag in forcing_array_setup Comment the line '! if (l_mslp) then' out in src/gen_forcing_init.F90. Standard refactoring code has l_mslp flag=.false. in namelist.forcing. When it is replaced with .true., fesom2 raise a segmentation fault. This is simply because "forcing_array_setup" is called after the press_air variable is sought in update_atm_forcing. --- src/gen_forcing_init.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gen_forcing_init.F90 b/src/gen_forcing_init.F90 index 7d2df1954..595f88895 100755 --- a/src/gen_forcing_init.F90 +++ b/src/gen_forcing_init.F90 @@ -121,10 +121,10 @@ subroutine forcing_array_setup(partit, mesh) allocate(cloudiness(n2)) cloudiness=0.0_WP end if - if (l_mslp) then +! if (l_mslp) then allocate(press_air(n2)) press_air=0.0_WP - end if +! end if allocate(u_wind_t(2,n2),v_wind_t(2,n2)) allocate(Tair_t(2,n2), shum_t(2,n2)) From 8408e809aa0759c6d8c689d6e6168655e6c46d7c Mon Sep 17 00:00:00 2001 From: Patrick Date: Sun, 10 Mar 2024 16:41:55 +0100 Subject: [PATCH 113/273] fix DVD zstar salinity surface boundary condition --- src/gen_modules_diag.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 7c2188a65..5d1281fbd 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -2360,7 +2360,7 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K if (tr_num==1) then sbc = -(heat_flux(node)/vcpw + tr(nz, node)*water_flux(node)*is_nonlinfs*0.5_WP) elseif (tr_num==2) then - sbc = (virtual_salt(node) + relax_salt(node) - real_salt_flux(node)*is_nonlinfs*0.5_WP) + sbc = (virtual_salt(node) + relax_salt(node) - (real_salt_flux(node) - tr(nz, node)*water_flux(node)*0.5_WP)*is_nonlinfs) end if Dflx(nz) = Dflx(nz) + sbc*area(nz, node) From abdfa963e7788d5bdb852c4fc4e96c037576da36 Mon Sep 17 00:00:00 2001 From: Patrick Date: Sun, 10 Mar 2024 16:43:28 +0100 Subject: [PATCH 114/273] add salinity dvd variables to io_meandata.F90 --- src/io_meandata.F90 | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 7f928e602..b5afe1220 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -666,6 +666,39 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) !PS call def_stream((/nl, nod2D/), (/nl, myDim_nod2D/), 'temp_trflx_ver', 'vertical temperature flux.' , 'Km^2/s' , tracers%work%dvd_trflx_ver(:, :, 1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_tot' , 'tot. salinity DVD \n (Klingbeil et al. 2014)', 'K^2/s' , dvd_KK_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_KK_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_KK_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + if (tracers%data(1)%smooth_bh_tra) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difhbh','salinity DVD horiz. diff. biharm' , 'K^2/s' , dvd_KK_chi_dif_hbh(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + if (.not. tracers%data(1)%i_vert_diff) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difve', 'salinity DVD vert. diff. expl.' , 'K^2/s' , dvd_KK_chi_dif_ve(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + if (Redi) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difveR', 'salinity DVD vert. redi diff. expl.' , 'K^2/s' , dvd_KK_chi_dif_veR(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difvi', 'salinity DVD vert. diff. impl.' , 'K^2/s' , dvd_KK_chi_dif_vi(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_clrlx', 'salinity DVD clim relax ' , 'K^2/s' , dvd_KK_chi_relax( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_dt' , 'salinity DVD time derivative ' , 'K^2/s' , dvd_KK_chi_dt( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_tot' , 'tot. salinity DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + if (tracers%data(1)%smooth_bh_tra) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difhbh','salinity DVD horiz. diff. biharm' , 'K^2/s' , dvd_SD_chi_dif_hbh(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + if (.not. tracers%data(1)%i_vert_diff) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difve', 'salinity DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_ve(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + if (Redi) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difveR', 'salinity DVD vert. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_veR(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difvi', 'salinity DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + !PS !_______________________________________________________________________ !PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_tot' , 'tot. salinity DVD \n (Klingbeil et al. 2014)' , 'K^2/s' , dvd_KK_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) !PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) From 95aa237c253d9ab0173d50cfa6bc714ae9f6c6d7 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 11 Mar 2024 15:31:06 +0100 Subject: [PATCH 115/273] eliminate KK DVD variables that are not needed anymore --- src/io_meandata.F90 | 53 ++------------------------------------------- 1 file changed, 2 insertions(+), 51 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index b5afe1220..786ae4502 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -631,24 +631,8 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) ! Tridib et al 2023 CASE ('DVD ') if (ldiag_DVD) then - !_______________________________________________________________________ + !___temperature DVD_____________________________________________________ call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_tot' , 'tot. temperature DVD \n (Klingbeil et al. 2014)', 'K^2/s' , dvd_KK_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_KK_chi_adv_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_KK_chi_dif_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - if (tracers%data(1)%smooth_bh_tra) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difhbh','temperature DVD horiz. diff. biharm' , 'K^2/s' , dvd_KK_chi_dif_hbh(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end if - if (.not. tracers%data(1)%i_vert_diff) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difve', 'temperature DVD vert. diff. expl.' , 'K^2/s' , dvd_KK_chi_dif_ve(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end if - if (Redi) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difveR', 'temperature DVD vert. redi diff. expl.' , 'K^2/s' , dvd_KK_chi_dif_veR(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end if - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_KK_chi_dif_vi(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_clrlx', 'temperature DVD clim relax ' , 'K^2/s' , dvd_KK_chi_relax( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_dt' , 'temperature DVD time derivative ' , 'K^2/s' , dvd_KK_chi_dt( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_tot' , 'tot. temperature DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) @@ -663,26 +647,8 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difveR', 'temperature DVD vert. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_veR(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - -!PS call def_stream((/nl, nod2D/), (/nl, myDim_nod2D/), 'temp_trflx_ver', 'vertical temperature flux.' , 'Km^2/s' , tracers%work%dvd_trflx_ver(:, :, 1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - + !___salinity DVD________________________________________________________ call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_tot' , 'tot. salinity DVD \n (Klingbeil et al. 2014)', 'K^2/s' , dvd_KK_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_KK_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_KK_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - if (tracers%data(1)%smooth_bh_tra) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difhbh','salinity DVD horiz. diff. biharm' , 'K^2/s' , dvd_KK_chi_dif_hbh(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end if - if (.not. tracers%data(1)%i_vert_diff) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difve', 'salinity DVD vert. diff. expl.' , 'K^2/s' , dvd_KK_chi_dif_ve(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end if - if (Redi) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difveR', 'salinity DVD vert. redi diff. expl.' , 'K^2/s' , dvd_KK_chi_dif_veR(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end if - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difvi', 'salinity DVD vert. diff. impl.' , 'K^2/s' , dvd_KK_chi_dif_vi(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_clrlx', 'salinity DVD clim relax ' , 'K^2/s' , dvd_KK_chi_relax( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_dt' , 'salinity DVD time derivative ' , 'K^2/s' , dvd_KK_chi_dt( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_tot' , 'tot. salinity DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) @@ -697,21 +663,6 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difveR', 'salinity DVD vert. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_veR(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difvi', 'salinity DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - - -!PS !_______________________________________________________________________ -!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_tot' , 'tot. salinity DVD \n (Klingbeil et al. 2014)' , 'K^2/s' , dvd_KK_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_KK_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_KK_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_KK_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_difv', 'salinity DVD vert. diff. ' , 'K^2/s' , dvd_KK_chi_dif_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_dt' , 'salinity DVD time derivative' , 'K^2/s' , dvd_KK_chi_dt( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -!PS -!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_tot' , 'tot. salinity DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -!PS call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difv', 'salinity DVD vert. diff. ' , 'K^2/s' , dvd_SD_chi_dif_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if !--> if (ldiag_DVD) then !_______________________________________________________________________________ From 6de2a41d0d167dd7a36bdca0efe287b86d013072 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 11 Mar 2024 15:33:24 +0100 Subject: [PATCH 116/273] eliminate KK dvd variables that are not need, only leave total DVD for KK diagnostic, ensure that SD advective DVD is fully positive in case of UPW1 advection --- src/gen_modules_diag.F90 | 73 +++++++++++----------------------------- 1 file changed, 19 insertions(+), 54 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 5d1281fbd..09c911821 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -25,9 +25,9 @@ module diagnostics std_dens_UVDZ, std_dens_DIV, std_dens_DIV_fer, std_dens_Z, std_dens_H, std_dens_dVdT, std_dens_flux, & dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, & compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, & - dvd_SD_chi_dif_h, dvd_SD_chi_dif_hbh, dvd_SD_chi_dif_veR, dvd_SD_chi_dif_ve, dvd_SD_chi_dif_vi, dvd_xdfac, & - dvd_KK_chi_adv_h, dvd_KK_chi_adv_v, dvd_KK_chi_dif_h, dvd_KK_chi_dif_veR, dvd_KK_chi_dif_ve, & - dvd_KK_chi_dif_vi, dvd_KK_chi_dt, dvd_KK_chi_relax, dvd_KK_chi_dif_hbh!, trstar + dvd_SD_chi_dif_h, dvd_SD_chi_dif_hbh, dvd_SD_chi_dif_veR, dvd_SD_chi_dif_ve, & + dvd_SD_chi_dif_vi, dvd_xdfac + ! Arrays used for diagnostics, some shall be accessible to the I/O ! 1. solver diagnostics: A*x=rhs? @@ -63,11 +63,9 @@ module diagnostics !_____________________________________________________________________________ ! DVD diagnostics - real(kind=WP), save, allocatable, target :: dvd_KK_tot(:,:,:), dvd_SD_tot(:,:,:), dvd_SD_chi_adv_h(:,:,:), dvd_SD_chi_adv_v( :,:,:), & - dvd_SD_chi_dif_h( :,:,:), dvd_SD_chi_dif_veR(:,:,:), dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_vi( :,:,:), dvd_SD_chi_dif_hbh( :,:,:) - real(kind=WP), save, allocatable, target :: dvd_KK_chi_adv_h( :,:,:), dvd_KK_chi_adv_v(:,:,:), dvd_KK_chi_dif_h( :,:,:), dvd_KK_chi_dif_veR( :,:,:), dvd_KK_chi_dif_ve( :,:,:), & - dvd_KK_chi_dif_vi(:,:,:), dvd_KK_chi_dt( :,:,:), dvd_KK_chi_relax( :,:,:), dvd_KK_chi_dif_hbh(:,:,:) -!PS real(kind=WP), save, allocatable, target :: trstar( :,:) + real(kind=WP), save, allocatable, target :: dvd_KK_tot(:,:,:), dvd_SD_tot(:,:,:), dvd_SD_chi_adv_h(:,:,:), & + dvd_SD_chi_adv_v( :,:,:), dvd_SD_chi_dif_h( :,:,:), dvd_SD_chi_dif_veR(:,:,:), & + dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_vi(:,:,:), dvd_SD_chi_dif_hbh(:,:,:) real(kind=WP), parameter :: dvd_xdfac=0.5_WP ! Xchi distribution factor, default distribute ! equal amount (50:50) of xchi on both side of face !_____________________________________________________________________________ @@ -921,30 +919,20 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) #include "associate_mesh_ass.h" if (firstcall) then !allocate the stuff at the first call allocate(dvd_KK_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_dif_vi( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_relax( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_KK_chi_dt( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_vi( nl-1, myDim_nod2D+eDim_nod2D, 2)) if (tracers%data(1)%smooth_bh_tra) then - allocate(dvd_KK_chi_dif_hbh(nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_hbh(nl-1, myDim_nod2D+eDim_nod2D, 2)) end if if (Redi) then - allocate(dvd_KK_chi_dif_veR(nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_veR(nl-1, myDim_nod2D+eDim_nod2D, 2)) end if if (.not. tracers%data(1)%i_vert_diff) then - allocate(dvd_KK_chi_dif_ve( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_ve( nl-1, myDim_nod2D+eDim_nod2D, 2)) end if -!PS allocate(trstar( nl-1, myDim_nod2D+eDim_nod2D)) firstcall=.false. if (mode==0) return end if @@ -952,28 +940,18 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! initialise each time diagnostic is computed dvd_KK_tot = 0.0_WP ! --> DVD diagnostic after Klingbeil et al. 2014 - dvd_KK_chi_adv_h = 0.0_WP - dvd_KK_chi_adv_v = 0.0_WP - dvd_KK_chi_dif_h = 0.0_WP - dvd_KK_chi_dif_vi = 0.0_WP ! implicite part - dvd_KK_chi_relax = 0.0_WP - dvd_KK_chi_dt = 0.0_WP - dvd_SD_tot = 0.0_WP ! --> DVD diagnostic after Banjerjee et al. 2023 (Sergeys way!!!) dvd_SD_chi_adv_h = 0.0_WP dvd_SD_chi_adv_v = 0.0_WP dvd_SD_chi_dif_h = 0.0_WP dvd_SD_chi_dif_vi = 0.0_WP ! implicite part if (tracers%data(1)%smooth_bh_tra) then - dvd_KK_chi_dif_hbh= 0.0_WP dvd_SD_chi_dif_hbh= 0.0_WP end if if (Redi) then - dvd_KK_chi_dif_veR= 0.0_WP ! explicite part (in case of Redi==.true.) dvd_SD_chi_dif_veR= 0.0_WP ! explicite part (in case of Redi==.true.) end if if (.not. tracers%data(1)%i_vert_diff) then - dvd_KK_chi_dif_ve = 0.0_WP dvd_SD_chi_dif_ve = 0.0_WP end if @@ -1025,57 +1003,44 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) !=== DVD Knut Klingbeil et al. 2014 ==================================== ! add time derivativ of 2nd. moment tracer ! --> at this point trstar corresponds to tr_old - call dvd_add_time_deriv(tr_num, dvd_KK_chi_dt, trstar, tr, partit, mesh) + call dvd_add_time_deriv(tr_num, dvd_KK_tot, trstar, tr, partit, mesh) ! compute horizontal 2nd moment tracer flux from advective tracer fluxes at mid ! edge face - call dvd_add_advflux_hor( .false., tr_num, dvd_KK_chi_adv_h, trflx_h, UV, trstar, dump, partit, mesh) + call dvd_add_advflux_hor( .false., tr_num, dvd_KK_tot, trflx_h, UV, trstar, dump, partit, mesh) ! add vertical 2nd moment tracer flux at upper/lower scalar cell prism interface - call dvd_add_advflux_ver( .false., tr_num, dvd_KK_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) + call dvd_add_advflux_ver( .false., tr_num, dvd_KK_tot, trflx_v, Wvel, trstar, partit, mesh) ! add contribution from horizontal diffusion flux (after klingbeil et al. 2014) ! --> keep in mind here trstar corresponds to tr_old - call dvd_add_difflux_hor( .false., tr_num, dvd_KK_chi_dif_h, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) + call dvd_add_difflux_hor( .false., tr_num, dvd_KK_tot, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) ! add contribution from vertical diffusion flux (after klingbeil et al. 2014) if (.not. tracers%data(tr_num)%i_vert_diff) then - call dvd_add_difflux_vertexpl(.false., tr_num, dvd_KK_chi_dif_ve, tr, trstar, Kv, partit, mesh) + call dvd_add_difflux_vertexpl(.false., tr_num, dvd_KK_tot, tr, trstar, Kv, partit, mesh) end if if (Redi) then - call dvd_add_difflux_vertexplredi(.false., tr_num, dvd_KK_chi_dif_veR, trstar, Ki, slope_tapered, tr_xy, partit, mesh) + call dvd_add_difflux_vertexplredi(.false., tr_num, dvd_KK_tot, trstar, Ki, slope_tapered, tr_xy, partit, mesh) end if - call dvd_add_difflux_vertimpl(.false., tr_num, dvd_KK_chi_dif_vi, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) + call dvd_add_difflux_vertimpl(.false., tr_num, dvd_KK_tot, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) ! add contribution from horizontal biharmonic diffusion flux if applied if (tracers%data(tr_num)%smooth_bh_tra) then - call dvd_add_difflux_bhvisc(.false., tr_num, dvd_KK_chi_dif_hbh, tr, trstar,& + call dvd_add_difflux_bhvisc(.false., tr_num, dvd_KK_tot, tr, trstar,& tracers%data(tr_num)%gamma0_tra, tracers%data(tr_num)%gamma1_tra, & tracers%data(tr_num)%gamma2_tra, dump, partit, mesh) end if ! add contribution from climatological 3d restoring if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then - call dvd_add_clim_relax_channel(.false., tr_num, dvd_KK_chi_relax, trstar, partit, mesh) + call dvd_add_clim_relax_channel(.false., tr_num, dvd_KK_tot, trstar, partit, mesh) elseif (clim_relax>1.0e-8_WP) then - call dvd_add_clim_relax( .false., tr_num, dvd_KK_chi_relax, trstar, partit, mesh) + call dvd_add_clim_relax( .false., tr_num, dvd_KK_tot, trstar, partit, mesh) end if - ! compute total Xchi - dvd_KK_tot(:,:,tr_num) = (dvd_KK_chi_adv_h( :,:,tr_num) + dvd_KK_chi_adv_v( :,:,tr_num) + & - dvd_KK_chi_dif_h( :,:,tr_num) + dvd_KK_chi_dif_vi( :,:,tr_num) + & - dvd_KK_chi_relax( :,:,tr_num) + dvd_KK_chi_dt( :,:,tr_num)) - - if (.not. tracers%data(tr_num)%i_vert_diff) then - dvd_KK_tot(:,:,tr_num) = dvd_KK_tot(:,:,tr_num) + dvd_KK_chi_dif_ve(:,:,tr_num) - end if - if (Redi) then - dvd_KK_tot(:,:,tr_num) = dvd_KK_tot(:,:,tr_num) + dvd_KK_chi_dif_veR(:,:,tr_num) - end if - if (tracers%data(tr_num)%smooth_bh_tra) then - dvd_KK_tot(:,:,tr_num) = dvd_KK_tot(:,:,tr_num) + dvd_KK_chi_dif_hbh(:,:,tr_num) - end if + ! !=== DVD Sergey Danilov after T. Banerjee et al. 2023 ======================= @@ -1510,13 +1475,13 @@ subroutine dvd_add_advflux_ver(do_SDdvd, tr_num, dvd_tot, trflx_v, Wvel, trstar, ! with hnode^(n+1) in call update_thickness(...). But we saved hnode^(n) ! in the variable hnode_new (Although this sounds confusing!!!) ! --> here we are on mid-depth levels - dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) + (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) + dvd_tot(nz-1, node, tr_num) = dvd_tot(nz-1, node, tr_num) - (dvd_xdfac*xchi(nz-1)+(1.0_WP-dvd_xdfac)*xchi(nz))/(areasvol(nz-1, node)*hnode_new(nz-1, node)) end do !--> do nz=nu1+1,nl1-1 !___________________________________________________________________ ! same for bottom nz=nl1-1 - dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) - (dvd_xdfac*xchi(nz)+(1.0_WP-dvd_xdfac)*xchi(nz+1))/(areasvol(nz, node)*hnode_new(nz, node)) end do !--> do node=1,myDim_nod2D From c0c2c3657a145105d53154af57dc3bf4654154fe Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 11 Mar 2024 16:40:54 +0100 Subject: [PATCH 117/273] fix bug in computation of vertical tracer gradient, since its used in the explicite part, dz in the gradient computation must be based on the actual hnode thickness not the hnode_new thickness!!! --- src/oce_tracer_mod.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oce_tracer_mod.F90 b/src/oce_tracer_mod.F90 index f374ca5d2..996a4df20 100755 --- a/src/oce_tracer_mod.F90 +++ b/src/oce_tracer_mod.F90 @@ -121,7 +121,7 @@ SUBROUTINE tracer_gradient_z(ttf, partit, mesh) nzmin=ulevels_nod2D(n) !!PS DO nz=2, nlev-1 DO nz=nzmin+1, nzmax-1 - dz=0.5_WP*(hnode_new(nz-1,n)+hnode_new(nz,n)) + dz=0.5_WP*(hnode(nz-1,n)+hnode(nz,n)) tr_z(nz, n)=(ttf(nz-1,n)-ttf(nz,n))/dz END DO !!PS tr_z(1, n)=0.0_WP From 9af5e833e05b2f467a924506bd090f906c690405 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 11 Mar 2024 16:42:55 +0100 Subject: [PATCH 118/273] delete comments --- src/oce_tracer_mod.F90 | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/oce_tracer_mod.F90 b/src/oce_tracer_mod.F90 index 996a4df20..63cda527b 100755 --- a/src/oce_tracer_mod.F90 +++ b/src/oce_tracer_mod.F90 @@ -116,16 +116,12 @@ SUBROUTINE tracer_gradient_z(ttf, partit, mesh) #include "associate_mesh_ass.h" !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz, nzmin, nzmax, dz) DO n=1, myDim_nod2D+eDim_nod2D - !!PS nlev=nlevels_nod2D(n) nzmax=nlevels_nod2D(n) nzmin=ulevels_nod2D(n) - !!PS DO nz=2, nlev-1 DO nz=nzmin+1, nzmax-1 dz=0.5_WP*(hnode(nz-1,n)+hnode(nz,n)) tr_z(nz, n)=(ttf(nz-1,n)-ttf(nz,n))/dz END DO - !!PS tr_z(1, n)=0.0_WP - !!PS tr_z(nlev, n)=0.0_WP tr_z(nzmin, n)=0.0_WP tr_z(nzmax, n)=0.0_WP END DO From ab15aefbee871aac4b8b8112590839cec33cd4ab Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 11 Mar 2024 16:56:14 +0100 Subject: [PATCH 119/273] do not use hnode_new when computing the vertical explicite part of the Redi diffusivity, since its the explicit part ist be hnode here!!! --- src/oce_ale_tracer.F90 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 932110adf..e3f269a55 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -970,12 +970,12 @@ subroutine diff_ver_part_redi_expl(tracers, partit, mesh) zbar_n(1:mesh%nl )=0.0_WP z_n (1:mesh%nl-1)=0.0_WP zbar_n(nl1+1)=zbar_n_bot(n) - z_n(nl1)=zbar_n(nl1+1) + hnode_new(nl1,n)/2.0_WP + z_n(nl1)=zbar_n(nl1+1) + hnode(nl1,n)/2.0_WP do nz=nl1, ul1+1, -1 - zbar_n(nz) = zbar_n(nz+1) + hnode_new(nz,n) - z_n(nz-1) = zbar_n(nz) + hnode_new(nz-1,n)/2.0_WP + zbar_n(nz) = zbar_n(nz+1) + hnode(nz,n) + z_n(nz-1) = zbar_n(nz) + hnode(nz-1,n)/2.0_WP end do - zbar_n(ul1) = zbar_n(ul1+1) + hnode_new(ul1,n) + zbar_n(ul1) = zbar_n(ul1+1) + hnode(ul1,n) !_______________________________________________________________________ do nz=ul1+1,nl1 From 73179d3c686143d56071543f80142ca69d62eb90 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 11 Mar 2024 17:16:52 +0100 Subject: [PATCH 120/273] use the same kind of tracer for horizontal and vertical tracer gradient, that are used within the Redi diffusivity. Sergey recommented to better user tr^N for both!!! --- src/oce_tracer_mod.F90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/oce_tracer_mod.F90 b/src/oce_tracer_mod.F90 index f374ca5d2..e86d4d51e 100755 --- a/src/oce_tracer_mod.F90 +++ b/src/oce_tracer_mod.F90 @@ -36,7 +36,8 @@ SUBROUTINE init_tracers_AB(tr_num, tracers, partit, mesh) !$OMP END PARALLEL DO if (flag_debug .and. partit%mype==0) print *, achar(27)//'[38m'//' --> call tracer_gradient_elements'//achar(27)//'[0m' - call tracer_gradient_elements(tracers%data(tr_num)%valuesAB, partit, mesh) +!PS call tracer_gradient_elements(tracers%data(tr_num)%valuesAB, partit, mesh) + call tracer_gradient_elements(tracers%data(tr_num)%values, partit, mesh) call exchange_elem_begin(tr_xy, partit) if (flag_debug .and. partit%mype==0) print *, achar(27)//'[38m'//' --> call tracer_gradient_z'//achar(27)//'[0m' From 294bf22469f5ac3b6d08e4c4063a360a14864bce Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 11 Mar 2024 17:38:35 +0100 Subject: [PATCH 121/273] combine all three bugfixes into one --- src/oce_ale_tracer.F90 | 18 ++++++++++++++---- src/oce_tracer_mod.F90 | 6 ++++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 932110adf..883a19ffe 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -967,15 +967,25 @@ subroutine diff_ver_part_redi_expl(tracers, partit, mesh) vd_flux=0._WP !_______________________________________________________________________ +!PS zbar_n(1:mesh%nl )=0.0_WP +!PS z_n (1:mesh%nl-1)=0.0_WP +!PS zbar_n(nl1+1)=zbar_n_bot(n) +!PS z_n(nl1)=zbar_n(nl1+1) + hnode_new(nl1,n)/2.0_WP +!PS do nz=nl1, ul1+1, -1 +!PS zbar_n(nz) = zbar_n(nz+1) + hnode_new(nz,n) +!PS z_n(nz-1) = zbar_n(nz) + hnode_new(nz-1,n)/2.0_WP +!PS end do +!PS zbar_n(ul1) = zbar_n(ul1+1) + hnode_new(ul1,n) + zbar_n(1:mesh%nl )=0.0_WP z_n (1:mesh%nl-1)=0.0_WP zbar_n(nl1+1)=zbar_n_bot(n) - z_n(nl1)=zbar_n(nl1+1) + hnode_new(nl1,n)/2.0_WP + z_n(nl1)=zbar_n(nl1+1) + hnode(nl1,n)/2.0_WP do nz=nl1, ul1+1, -1 - zbar_n(nz) = zbar_n(nz+1) + hnode_new(nz,n) - z_n(nz-1) = zbar_n(nz) + hnode_new(nz-1,n)/2.0_WP + zbar_n(nz) = zbar_n(nz+1) + hnode(nz,n) + z_n(nz-1) = zbar_n(nz) + hnode(nz-1,n)/2.0_WP end do - zbar_n(ul1) = zbar_n(ul1+1) + hnode_new(ul1,n) + zbar_n(ul1) = zbar_n(ul1+1) + hnode(ul1,n) !_______________________________________________________________________ do nz=ul1+1,nl1 diff --git a/src/oce_tracer_mod.F90 b/src/oce_tracer_mod.F90 index f374ca5d2..304a4ce81 100755 --- a/src/oce_tracer_mod.F90 +++ b/src/oce_tracer_mod.F90 @@ -36,7 +36,8 @@ SUBROUTINE init_tracers_AB(tr_num, tracers, partit, mesh) !$OMP END PARALLEL DO if (flag_debug .and. partit%mype==0) print *, achar(27)//'[38m'//' --> call tracer_gradient_elements'//achar(27)//'[0m' - call tracer_gradient_elements(tracers%data(tr_num)%valuesAB, partit, mesh) +!PS call tracer_gradient_elements(tracers%data(tr_num)%valuesAB, partit, mesh) + call tracer_gradient_elements(tracers%data(tr_num)%values, partit, mesh) call exchange_elem_begin(tr_xy, partit) if (flag_debug .and. partit%mype==0) print *, achar(27)//'[38m'//' --> call tracer_gradient_z'//achar(27)//'[0m' @@ -121,7 +122,8 @@ SUBROUTINE tracer_gradient_z(ttf, partit, mesh) nzmin=ulevels_nod2D(n) !!PS DO nz=2, nlev-1 DO nz=nzmin+1, nzmax-1 - dz=0.5_WP*(hnode_new(nz-1,n)+hnode_new(nz,n)) +!PS dz=0.5_WP*(hnode_new(nz-1,n)+hnode_new(nz,n)) + dz=0.5_WP*(hnode(nz-1,n)+hnode(nz,n)) tr_z(nz, n)=(ttf(nz-1,n)-ttf(nz,n))/dz END DO !!PS tr_z(1, n)=0.0_WP From 672c462a9e327d7ef8da8ce348cc285fffe43e89 Mon Sep 17 00:00:00 2001 From: ogurses Date: Tue, 12 Mar 2024 14:14:41 +0100 Subject: [PATCH 122/273] feat(fesom2): make FESOM2.5 run with more than 10 tracers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1) More “files” to create all restart files files (20) —> files(100) in io_restart_file_group.F90 2) Rename the file names The released version allows maximum of 10 restart files for tracers. Change the line as follows in io_restart.F90 write(trname,'(A3,i4.4)') 'tra_', j 3) Add surface boundary conditions for the new tracers 4) Adapt oce_initial_state to initialize the tracers which are not read from a file. Make sure “if (any(id == idlist)) cycle” is added in oce_setup_step.F90 5) Add sanity check for the new tracers. Needed to clarify what we read or set during the initialization. 
 --- src/gen_ic3d.F90 | 62 ++++++++++++++++++- src/io_meandata.F90 | 112 +++++++++++++++++++++++++++++++++- src/io_restart.F90 | 4 +- src/io_restart_file_group.F90 | 2 +- src/oce_ale_tracer.F90 | 2 + src/oce_setup_step.F90 | 38 +++++++++++- 6 files changed, 212 insertions(+), 8 deletions(-) diff --git a/src/gen_ic3d.F90 b/src/gen_ic3d.F90 index f3fa32d34..89d300486 100644 --- a/src/gen_ic3d.F90 +++ b/src/gen_ic3d.F90 @@ -503,6 +503,10 @@ SUBROUTINE do_ic3d(tracers, partit, mesh) type(t_tracer), intent(inout), target :: tracers integer :: n, i real(kind=WP) :: locTmax, locTmin, locSmax, locSmin, glo + real(kind=WP) :: locDINmax, locDINmin, locDICmax, locDICmin, locAlkmax !OG + real(kind=WP) :: locAlkmin, locDSimax, locDSimin, locDFemax, locDFemin + real(kind=WP) :: locO2min, locO2max + if (partit%mype==0) write(*,*) "Start: Initial conditions for tracers" @@ -564,11 +568,40 @@ SUBROUTINE do_ic3d(tracers, partit, mesh) locTmin = 6666 locSmax = locTmax locSmin = locTmin + + locDINmax = -66666 + locDINmin = 66666 + locDICmax = locDINmax + locDICmin = locDINmin + locAlkmax = locDINmax + locAlkmin = locDINmin + locDSimax = locDINmax + locDSimin = locDINmin + locDFemax = locDINmax + locDFemin = locDINmin + locO2max = locDINmax + locO2min = locDINmin + do n=1, partit%myDim_nod2d locTmax = max(locTmax,maxval(tracers%data(1)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) locTmin = min(locTmin,minval(tracers%data(1)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) locSmax = max(locSmax,maxval(tracers%data(2)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) locSmin = min(locSmin,minval(tracers%data(2)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + + locDINmax = max(locDINmax,maxval(tracers%data(3)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + locDINmin = min(locDINmin,minval(tracers%data(3)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + locDICmax = max(locDICmax,maxval(tracers%data(4)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + locDICmin = min(locDICmin,minval(tracers%data(4)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + locAlkmax = max(locAlkmax,maxval(tracers%data(5)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + locAlkmin = min(locAlkmin,minval(tracers%data(5)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + locDSimax = max(locDSimax,maxval(tracers%data(20)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + locDSimin = min(locDSimin,minval(tracers%data(20)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + locDFemax = max(locDFemax,maxval(tracers%data(21)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + locDFemin = min(locDFemin,minval(tracers%data(21)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + locO2max = max(locO2max,maxval(tracers%data(24)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + locO2min = min(locO2min,minval(tracers%data(24)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) + + end do call MPI_AllREDUCE(locTmax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, partit%MPI_COMM_FESOM, partit%MPIerr) if (partit%mype==0) write(*,*) ' |-> gobal max init. temp. =', glo @@ -578,7 +611,34 @@ SUBROUTINE do_ic3d(tracers, partit, mesh) if (partit%mype==0) write(*,*) ' |-> gobal max init. salt. =', glo call MPI_AllREDUCE(locSmin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, partit%MPI_COMM_FESOM, partit%MPIerr) if (partit%mype==0) write(*,*) ' `-> gobal min init. salt. =', glo - + + if (partit%mype==0) write(*,*) "Sanity check for REcoM variables" + call MPI_AllREDUCE(locDINmax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' |-> gobal max init. DIN. =', glo + call MPI_AllREDUCE(locDINmin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' |-> gobal min init. DIN. =', glo + + call MPI_AllREDUCE(locDICmax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' |-> gobal max init. DIC. =', glo + call MPI_AllREDUCE(locDICmin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' |-> gobal min init. DIC. =', glo + call MPI_AllREDUCE(locAlkmax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' |-> gobal max init. Alk. =', glo + call MPI_AllREDUCE(locAlkmin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' |-> gobal min init. Alk. =', glo + call MPI_AllREDUCE(locDSimax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' |-> gobal max init. DSi. =', glo + call MPI_AllREDUCE(locDSimin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' |-> gobal min init. DSi. =', glo + call MPI_AllREDUCE(locDFemax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' |-> gobal max init. DFe. =', glo + call MPI_AllREDUCE(locDFemin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' `-> gobal min init. DFe. =', glo + call MPI_AllREDUCE(locO2max , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' |-> gobal max init. O2. =', glo + call MPI_AllREDUCE(locO2min , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, partit%MPI_COMM_FESOM, partit%MPIerr) + if (partit%mype==0) write(*,*) ' `-> gobal min init. O2. =', glo + END SUBROUTINE do_ic3d SUBROUTINE nc_end diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 05f463d9a..74634ea7b 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -409,11 +409,119 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'temp', 'temperature', 'C', tracers%data(1)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('salt ') call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'salt', 'salinity', 'psu', tracers%data(2)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +!CASE ('otracers ') +! do j=3, tracers%num_tracers +! write (id_string, "(I3.3)") tracers%data(j)%ID +! call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'tra_'//id_string, 'pasive tracer ID='//id_string, 'n/a', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +! end do + CASE ('otracers ') do j=3, tracers%num_tracers - write (id_string, "(I3.3)") tracers%data(j)%ID - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'tra_'//id_string, 'pasive tracer ID='//id_string, 'n/a', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + write (id_string, "(I4.4)") tracers%data(j)%ID + + if (tracers%data(j)%ID==1001) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DIN', 'Dissolved Inorganic Nitrogen', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1002) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DIC', 'Dissolved Inorganic C', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1003) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Alk', 'Total Alkalinity', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1004) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'PhyN', 'Intracellular conc of Nitrogen in small phytoplankton', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1005) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'PhyC', 'Intracellular conc of Carbon in small phytoplankton', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1006) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'PhyChl', 'Current intracellular ChlA conc.', '[mg/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1007) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DetN', 'Conc of N in Detritus', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1008) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DetC', 'Conc of C in Detritus', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1009) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'HetN', 'Conc of N in heterotrophs', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1010) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'HetC', 'Conc of C in heterotrophs', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1011) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DON', 'Dissolved organic N in the water', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1012) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DOC', 'Dissolved Organic C in the water', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1013) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DiaN', 'DiaN', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1014) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DiaC', 'DiaC', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1015) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DiaChl', 'DiaChl', '[mg/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1016) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DiaSi', 'DiaSi', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1017) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DetSi', 'DetSi', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1018) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DSi', 'DSi', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1019) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DFe', 'DFe', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1020) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'PhyCalc', 'PhyCalc', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1021) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DetCalc', 'DetCalc', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1022) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'O2', 'O2', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1023) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo2N', 'Intracellular conc of Nitrogen in second zooplankton', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1024) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo2C', 'Intracellular conc of Carbon in second zooplankton', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1025) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'idetz2n', 'idetz2n', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1026) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'idetz2c', 'idetz2c', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1027) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'idetz2si', 'idetz2si', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1028) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'idetz2calc', 'idetz2calc', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1029) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoN', 'CoccoN', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1030) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoC', 'CoccoC', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1031) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoChl', 'CoccoChl', '[mg/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1032) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo3N', 'Zoo3N', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + else if (tracers%data(j)%ID==1033) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo3C', 'Zoo3C', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + else + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'tra_'//id_string, 'passive tracer ID='//id_string, 'n/a', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if end do + CASE ('slope_x ') call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'slope_x', 'neutral slope X', 'none', slope_tapered(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('slope_y ') diff --git a/src/io_restart.F90 b/src/io_restart.F90 index 7d8cbcd55..d4f03dad8 100644 --- a/src/io_restart.F90 +++ b/src/io_restart.F90 @@ -104,8 +104,8 @@ subroutine ini_ocean_io(year, dynamics, tracers, partit, mesh) longname='salinity' units='psu' CASE DEFAULT - write(trname,'(A3,i1)') 'tra_', j - write(longname,'(A15,i1)') 'passive tracer ', j + write(trname,'(A3,i4.4)') 'tra_', j ! OG i1 -> i4 + write(longname,'(A15,i4.4)') 'passive tracer ', j units='none' END SELECT call oce_files%def_node_var(trim(trname), trim(longname), trim(units), tracers%data(j)%values(:,:), mesh, partit) diff --git a/src/io_restart_file_group.F90 b/src/io_restart_file_group.F90 index 772c8e1d0..59a460467 100644 --- a/src/io_restart_file_group.F90 +++ b/src/io_restart_file_group.F90 @@ -17,7 +17,7 @@ module restart_file_group_module type restart_file_group private - type(restart_file_type), public :: files(20) + type(restart_file_type), public :: files(100) !OG 20 before integer, public :: nfiles = 0 ! todo: allow dynamically allocated size without messing with shallow copied pointers contains generic, public :: def_node_var => def_node_var_2d, def_node_var_3d diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index c23506fd0..f83bc0712 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -1316,6 +1316,8 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) else bc_surface = dt*water_flux(n)*(sval-1.0) end if + CASE (1001:1035) + bc_surface=0.0_WP CASE DEFAULT if (partit%mype==0) then write (id_string, "(I3)") id diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index c8eb89913..5d4c6c9ca 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -789,8 +789,16 @@ SUBROUTINE oce_initial_state(tracers, partit, mesh) ! ! read ocean state ! this must be always done! First two tracers with IDs 0 and 1 are the temperature and salinity. - if(mype==0) write(*,*) 'read Temperature climatology from:', trim(filelist(1)) - if(mype==0) write(*,*) 'read Salinity climatology from:', trim(filelist(2)) + if(mype==0) write(*,*) 'read Iron climatology from:', trim(filelist(1)) + if(mype==0) write(*,*) 'read Oxygen climatology from:', trim(filelist(2)) + if(mype==0) write(*,*) 'read Silicate climatology from:', trim(filelist(3)) + if(mype==0) write(*,*) 'read Alkalinity climatology from:', trim(filelist(4)) + if(mype==0) write(*,*) 'read DIC climatology from:', trim(filelist(5)) + if(mype==0) write(*,*) 'read Nitrate climatology from:', trim(filelist(6)) + if(mype==0) write(*,*) 'read Salt climatology from:', trim(filelist(7)) + if(mype==0) write(*,*) 'read Temperature climatology from:', trim(filelist(8)) + !if(mype==0) write(*,*) 'read Temperature climatology from:', trim(filelist(1)) + !if(mype==0) write(*,*) 'read Salinity climatology from:', trim(filelist(2)) call do_ic3d(tracers, partit, mesh) Tclim=tracers%data(1)%values @@ -818,7 +826,33 @@ SUBROUTINE oce_initial_state(tracers, partit, mesh) rcounter3=0 ! counter for tracers with 3D source DO i=3, tracers%num_tracers id=tracers%data(i)%ID + + if (any(id == idlist)) cycle ! OG recom tracers id's start from 1001 + SELECT CASE (id) +! Read recom variables (hardcoded IDs) OG + !_______________________________________________________________________ + CASE (1004:1017) + tracers%data(i)%values(:,:)=0.0_WP + if (mype==0) then + write (i_string, "(I4)") i + write (id_string, "(I4)") id + write(*,*) 'initializing '//trim(i_string)//'th tracer with ID='//trim(id_string) + end if + CASE (1020:1021) + tracers%data(i)%values(:,:)=0.0_WP + if (mype==0) then + write (i_string, "(I4)") i + write (id_string, "(I4)") id + write(*,*) 'initializing '//trim(i_string)//'th tracer with ID='//trim(id_string) + end if + CASE (1023:1033) + tracers%data(i)%values(:,:)=0.0_WP + if (mype==0) then + write (i_string, "(I4)") i + write (id_string, "(I4)") id + write(*,*) 'initializing '//trim(i_string)//'th tracer with ID='//trim(id_string) + end if !_______________________________________________________________________ CASE (101) ! initialize tracer ID=101 tracers%data(i)%values(:,:)=0.0_WP From c1e6c232d81f406b71e5891801ce58c1005a14b8 Mon Sep 17 00:00:00 2001 From: ogurses Date: Tue, 12 Mar 2024 16:13:44 +0100 Subject: [PATCH 123/273] feat(cmake)!: add REcoM and ciso directives Add RECOM_COUPLED and CISO_COUPLED to CmakeLists.txt (top level) The purpose is to switch on/off REcoM application. An important function of RECOM_COUPLED is to introduce the following flags: __recom USE_PRECISION=2 __coccos __3Zoo2Det __usetp mocsy routines require USE_PRECISION=2. Remember that carbon isotopes need REcoM. BREAKING CHANGE: REcoM coupling --- CMakeLists.txt | 2 ++ src/CMakeLists.txt | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7ec4985d5..95197c987 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,6 +14,8 @@ set(OIFS_COUPLED OFF CACHE BOOL "compile fesom coupled to OpenIFS. (Also needs F set(CRAY OFF CACHE BOOL "compile with cray ftn") set(USE_ICEPACK OFF CACHE BOOL "compile fesom with the Iceapck modules for sea ice column physics.") set(OPENMP_REPRODUCIBLE OFF CACHE BOOL "serialize OpenMP loops that are critical for reproducible results") +set(RECOM_COUPLED ON CACHE BOOL "compile fesom including biogeochemistry, REcoM3") +set(CISO_COUPLED OFF CACHE BOOL "compile ciso coupled to REcoM3. RECOM_COUPLED has to be active") #set(VERBOSE OFF CACHE BOOL "toggle debug output") #add_subdirectory(oasis3-mct/lib/psmile) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 55bae3a80..bd2b5d5c3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -141,6 +141,12 @@ endif() if(${OPENMP_REPRODUCIBLE}) target_compile_definitions(${PROJECT_NAME} PRIVATE __openmp_reproducible) endif() +if(${RECOM_COUPLED}) + target_compile_definitions(${PROJECT_NAME} PRIVATE __recom USE_PRECISION=2)# __coccos __3Zoo2Det)# __usetp) +endif() +if(${CISO_COUPLED}) + target_compile_definitions(${PROJECT_NAME} PRIVATE __ciso) +endif() # CMAKE_Fortran_COMPILER_ID will also work if a wrapper is being used (e.g. mpif90 wraps ifort -> compiler id is Intel) if(${CMAKE_Fortran_COMPILER_ID} STREQUAL Intel ) if(${BUILD_FESOM_AS_LIBRARY}) From b752d38a86a8107f95469e04a05ba8b4b675c3af Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 13 Mar 2024 17:17:33 +0100 Subject: [PATCH 124/273] separate all DVD contributions from Redi into difheR (horiz expl), difveR (vertical expl) and difviR (vertical impl) --- src/gen_modules_diag.F90 | 497 ++++++++++++++++++++++++++++++++++++--- src/io_meandata.F90 | 50 ++-- 2 files changed, 498 insertions(+), 49 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 09c911821..cdf654580 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -24,9 +24,9 @@ module diagnostics std_dens_min, std_dens_max, std_dens_N, std_dens, & std_dens_UVDZ, std_dens_DIV, std_dens_DIV_fer, std_dens_Z, std_dens_H, std_dens_dVdT, std_dens_flux, & dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, & - compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, & - dvd_SD_chi_dif_h, dvd_SD_chi_dif_hbh, dvd_SD_chi_dif_veR, dvd_SD_chi_dif_ve, & - dvd_SD_chi_dif_vi, dvd_xdfac + compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, dvd_SD_chi_dif_h, & + dvd_SD_chi_dif_heR, dvd_SD_chi_dif_hbh, dvd_SD_chi_dif_veR, dvd_SD_chi_dif_viR, & + dvd_SD_chi_dif_vi, dvd_SD_chi_dif_ve, dvd_xdfac ! Arrays used for diagnostics, some shall be accessible to the I/O @@ -64,8 +64,9 @@ module diagnostics !_____________________________________________________________________________ ! DVD diagnostics real(kind=WP), save, allocatable, target :: dvd_KK_tot(:,:,:), dvd_SD_tot(:,:,:), dvd_SD_chi_adv_h(:,:,:), & - dvd_SD_chi_adv_v( :,:,:), dvd_SD_chi_dif_h( :,:,:), dvd_SD_chi_dif_veR(:,:,:), & - dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_vi(:,:,:), dvd_SD_chi_dif_hbh(:,:,:) + dvd_SD_chi_adv_v( :,:,:), dvd_SD_chi_dif_heR(:,:,:), dvd_SD_chi_dif_veR(:,:,:), & + dvd_SD_chi_dif_viR(:,:,:), dvd_SD_chi_dif_vi(:,:,:), dvd_SD_chi_dif_hbh(:,:,:), & + dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_h(:,:,:) real(kind=WP), parameter :: dvd_xdfac=0.5_WP ! Xchi distribution factor, default distribute ! equal amount (50:50) of xchi on both side of face !_____________________________________________________________________________ @@ -928,7 +929,9 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) allocate(dvd_SD_chi_dif_hbh(nl-1, myDim_nod2D+eDim_nod2D, 2)) end if if (Redi) then + allocate(dvd_SD_chi_dif_heR( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_veR(nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_viR(nl-1, myDim_nod2D+eDim_nod2D, 2)) end if if (.not. tracers%data(1)%i_vert_diff) then allocate(dvd_SD_chi_dif_ve( nl-1, myDim_nod2D+eDim_nod2D, 2)) @@ -949,7 +952,9 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) dvd_SD_chi_dif_hbh= 0.0_WP end if if (Redi) then + dvd_SD_chi_dif_heR= 0.0_WP dvd_SD_chi_dif_veR= 0.0_WP ! explicite part (in case of Redi==.true.) + dvd_SD_chi_dif_viR= 0.0_WP end if if (.not. tracers%data(1)%i_vert_diff) then dvd_SD_chi_dif_ve = 0.0_WP @@ -1014,17 +1019,19 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) ! add contribution from horizontal diffusion flux (after klingbeil et al. 2014) ! --> keep in mind here trstar corresponds to tr_old - call dvd_add_difflux_hor( .false., tr_num, dvd_KK_tot, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) + call dvd_add_difflux_horexpl( .false., tr_num, dvd_KK_tot, trstar, Ki, tr_xy, dump, partit, mesh) ! add contribution from vertical diffusion flux (after klingbeil et al. 2014) if (.not. tracers%data(tr_num)%i_vert_diff) then call dvd_add_difflux_vertexpl(.false., tr_num, dvd_KK_tot, tr, trstar, Kv, partit, mesh) end if if (Redi) then + call dvd_add_difflux_horexplredi( .false., tr_num, dvd_KK_tot, trstar, Ki, slope_tapered, tr_z, dump, partit, mesh) call dvd_add_difflux_vertexplredi(.false., tr_num, dvd_KK_tot, trstar, Ki, slope_tapered, tr_xy, partit, mesh) + call dvd_add_difflux_vertimplredi(.false., tr_num, dvd_KK_tot, tr, trstar, Ki, slope_tapered, partit, mesh) end if - call dvd_add_difflux_vertimpl(.false., tr_num, dvd_KK_tot, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) + call dvd_add_difflux_vertimpl(.false., tr_num, dvd_KK_tot, tr, trstar, Kv, partit, mesh) ! add contribution from horizontal biharmonic diffusion flux if applied if (tracers%data(tr_num)%smooth_bh_tra) then @@ -1054,17 +1061,19 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) call dvd_add_advflux_ver( .true., tr_num, dvd_SD_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) ! add contribution from horizontal diffusion - call dvd_add_difflux_hor( .true., tr_num, dvd_SD_chi_dif_h, trstar, Ki, slope_tapered, tr_z, tr_xy, dump, partit, mesh) + call dvd_add_difflux_horexpl( .true., tr_num, dvd_SD_chi_dif_heR, trstar, Ki, tr_xy, dump, partit, mesh) ! add contribution from vertical diffusion if (.not. tracers%data(tr_num)%i_vert_diff) then call dvd_add_difflux_vertexpl(.true., tr_num, dvd_SD_chi_dif_ve, tr, trstar, Kv, partit, mesh) end if if (Redi) then + call dvd_add_difflux_horexplredi( .true., tr_num, dvd_SD_chi_dif_heR, trstar, Ki, slope_tapered, tr_z, dump, partit, mesh) call dvd_add_difflux_vertexplredi(.true., tr_num, dvd_SD_chi_dif_veR, trstar, Ki, slope_tapered, tr_xy, partit, mesh) + call dvd_add_difflux_vertimplredi(.true., tr_num, dvd_SD_chi_dif_viR, tr, trstar, Ki, slope_tapered, partit, mesh) end if - call dvd_add_difflux_vertimpl(.true., tr_num, dvd_SD_chi_dif_vi, tr, trstar, Kv, Ki, slope_tapered, partit, mesh) + call dvd_add_difflux_vertimpl(.true., tr_num, dvd_SD_chi_dif_vi, tr, trstar, Kv, partit, mesh) ! add contribution from horizontal biharmonic diffusion flux if applied if (tracers%data(tr_num)%smooth_bh_tra) then @@ -1075,12 +1084,15 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) ! compute total Xchi dvd_SD_tot(:,:,tr_num) = dvd_SD_chi_adv_h( :,:,tr_num) + dvd_SD_chi_adv_v( :,:,tr_num) + & - dvd_SD_chi_dif_h( :,:,tr_num) + dvd_SD_chi_dif_vi(:,:,tr_num) + dvd_SD_chi_dif_vi(:,:,tr_num) if (.not. tracers%data(tr_num)%i_vert_diff) then dvd_SD_tot(:,:,tr_num) = dvd_SD_tot(:,:,tr_num) + dvd_SD_chi_dif_ve(:,:,tr_num) end if if (Redi) then - dvd_SD_tot(:,:,tr_num) = dvd_SD_tot(:,:,tr_num) + dvd_SD_chi_dif_veR(:,:,tr_num) + dvd_SD_tot(:,:,tr_num) = dvd_SD_tot(:,:,tr_num) + dvd_SD_chi_dif_heR(:,:,tr_num) & + + dvd_SD_chi_dif_veR(:,:,tr_num) & + + dvd_SD_chi_dif_viR(:,:,tr_num) + end if if (tracers%data(tr_num)%smooth_bh_tra) then dvd_SD_tot(:,:,tr_num) = dvd_SD_tot(:,:,tr_num) + dvd_SD_chi_dif_hbh(:,:,tr_num) @@ -1559,7 +1571,297 @@ end subroutine dvd_add_advflux_ver ! add horizontal diffusive flux after Klingbeil et al. 2014, take Redi into account ! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx_hor[Tr^(n+1)] )/ V^(n+1) +... ! --> here Tr^(n+1) und Dflx_hor[...] are reconstructed values at the interfase -subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, tr_xy, dump, partit, mesh) +subroutine dvd_add_difflux_horexpl(do_SDdvd, tr_num, dvd_tot, tr, Ki, tr_xy, dump, partit, mesh) + implicit none + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer , intent(in) :: tr_num + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: Ki( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: tr_xy(2,mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D+partit%eXDim_elem2D) + real(kind=WP) , intent(inout) :: dump( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + + integer :: node, edge, nz, nu12, nl12, nl1, nl2, nu1, nu2 + integer :: ednodes(2), edelem(2), elnodes(3) + real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, dZ + real(kind=WP) :: Kh, Trx, Try, Trz(2), SxTz, SyTz, Dflx, Trc, xchi + real(kind=WP) :: isredi=0.0_WP + +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + !___________________________________________________________________________ + ! reuse here an already allocated working array --> initialise first + do node=1, myDim_nod2D+eDim_nod2D + dump(:, node)=0.0_WP + end do + + ! add contribution of redi diffusivity when activated + if (Redi) isredi=1.0_WP + + ! compute horizontal 2nd moment tracer flux from advective tracer fluxes at mid + ! edge face (tr^2) and add it to dvd_tot + do edge = 1, myDim_edge2D + ! local indice of nodes that span up edge ed + ednodes = edges(:,edge) + ! local index of element that contribute to edge + edelem = edge_tri(:,edge) + !nl1 ... num of layers -1 at elem el(1), nu1...idx off surf layer in case of cavity !=1 + nl1 = nlevels(edelem(1))-1 + nu1 = ulevels(edelem(1)) + ! edge_cross_dxdy(1:2,ed)... dx,dy distance from element centroid el(1) to + ! center of edge --> needed to calc flux perpedicular to edge from elem el(1) + deltaX1 = edge_cross_dxdy(1,edge) + deltaY1 = edge_cross_dxdy(2,edge) + !_______________________________________________________________________ + ! same parameter but for other element el(2) that contributes to edge ed + ! if el(2)==0 than edge is boundary edge + nl2 = 0 + nu2 = 0 + if(edelem(2)>0) then + deltaX2 = edge_cross_dxdy(3,edge) + deltaY2 = edge_cross_dxdy(4,edge) + ! number of layers -1 at elem el(2) + nl2 = nlevels(edelem(2))-1 + nu2 = ulevels(edelem(2)) + end if !-->if(el(2)>0) then + !_______________________________________________________________________ + ! nl12 ... minimum number of layers -1 between element el(1) & el(2) that + ! contribute to edge ed, nu12 ... upper index of layers between element + ! el(1) & el(2) that contribute to edge ed + ! be carefull !!! --> if ed is a boundary edge than el(1)~=0 and el(2)==0 + nl12=min(nl1,nl2) + nu12=max(nu1,nu2) + + !_______________________________________________________________________ + ! (A) this loop only when edge has 1 facing element el(1) -> bnd edge + do nz=nu1, nu12-1 + !___________________________________________________________________ + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during diffusion, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(1)) + dZ = sum(hnode_new(nz, elnodes))/3.0_WP + ! also Ki is defined at mid depth levels + Kh = sum(Ki(nz, ednodes))*0.5_WP + ! reminder: tr_z ... vertical tracer gradient sits on full depth levels + ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical + ! tracer gradient back to mid depth levels + Trx = tr_xy(1, nz, edelem(1)) + Try = tr_xy(2, nz, edelem(1)) + ! Dflx is here the horizontal diffusive volume flux + Dflx = Kh*(-deltaX1*Try + deltaY1*Trx)*dZ + !___________________________________________________________________ + ! compute edge centered tracer value --> knut variant + ! --> here variable tr corresponds to tr_old = Tr^(n) + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + !___________________________________________________________________ + ! compute Tstar dfiference --> sergey variant + ! --> here variable tr corresponds to trstar = (Tr^(n+1) + Tr^(n))*0.5 + xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) + !___________________________________________________________________ + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + end do !--> do nz=nu1, nu12-1 + + !_______________________________________________________________________ + ! (B) this loop only when edge has 1 facing element el(2) -> bnd edge --> in cavity case + if (nu2 > 0) then + do nz=nu2, nu12-1 + !_______________________________________________________________ + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during diffusion, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(2)) + dZ = sum(hnode_new(nz, elnodes))/3.0_WP + ! also Ki is defined at mid depth levels + Kh = sum(Ki(nz, ednodes))*0.5_WP + ! reminder: tr_z ... vertical tracer gradient sits on full depth levels + ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical + ! tracer gradient back to mid depth levels + Trx = tr_xy(1, nz, edelem(2)) + Try = tr_xy(2, nz, edelem(2)) + ! Dflx is here the horizontal diffusive volume flux + Dflx = Kh*(deltaX2*Try - deltaY2*Trx)*dZ + !_______________________________________________________________ + ! compute edge centered tracer value + ! --> here variable tr corresponds to tr_old == Tr^(n) + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + !_______________________________________________________________ + ! compute Tstar diference --> sergey variant + ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 + xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) + !_______________________________________________________________ + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + end do !--> do nz=nu2, nu12-1 + end if !--> if (nu2 > 0) then + + !_______________________________________________________________________ + ! (C) this loop if edge has both triangles valid + do nz=nu12, nl12 + !___________________________________________________________________ + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during diffusion, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(1)) + dZ = sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(2)) + dZ = (dZ + sum(hnode_new(nz, elnodes))/3.0_WP)*0.5_WP + ! also Ki is defined at mid depth levels + Kh = sum(Ki(nz, ednodes))*0.5_WP + ! reminder: tr_z ... vertical tracer gradient sits on full depth levels + ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical + ! tracer gradient back to mid depth levels + Trx = 0.5_WP*( tr_xy(1, nz, edelem(1))+tr_xy(1, nz, edelem(2)) ) + Try = 0.5_WP*( tr_xy(2, nz, edelem(1))+tr_xy(2, nz, edelem(2)) ) + ! Dflx is here the horizontal diffusive volume flux + Dflx = Kh*((deltaX2-deltaX1)*Try-(deltaY2-deltaY1)*Trx)*dZ + !___________________________________________________________________ + ! compute edge centered tracer value + ! --> here variable tr corresponds to tr_old == Tr^(n) + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + !___________________________________________________________________ + ! compute Tstar diference --> sergey variant + ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 + xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) + !___________________________________________________________________ + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + end do !--> do nz=nu12, nl12 + + !_______________________________________________________________________ + ! (D) this loop only when edge has 1 facing element el(1) -> bnd edge + ! at bottom topography + do nz=nl12+1, nl1 + !___________________________________________________________________ + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during diffusion, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(1)) + dZ = sum(hnode_new(nz, elnodes))/3.0_WP + ! also Ki is defined at mid depth levels + Kh = sum(Ki(nz, ednodes))*0.5_WP + ! reminder: tr_z ... vertical tracer gradient sits on full depth levels + ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical + ! tracer gradient back to mid depth levels + Trx = tr_xy(1, nz, edelem(1)) + Try = tr_xy(2, nz, edelem(1)) + ! Dflx is here the horizontal diffusive volume flux + Dflx = Kh*(-deltaX1*Try + deltaY1*Trx)*dZ + !___________________________________________________________________ + ! compute edge centered tracer value + ! --> here variable tr corresponds to tr_old == Tr^(n) + Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + !___________________________________________________________________ + ! compute Tstar diference --> sergey variant + ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 + xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) + !___________________________________________________________________ + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + end do !-->do nz=nl12+1, nl1 + + !_______________________________________________________________________ + ! (E) this loop only when edge has 1 facing element el(2) -> bnd edge + ! at bottom topography + do nz=nl12+1, nl2 + !___________________________________________________________________ + ! !!! ATTENTION: !!! + ! --> here helem must be the elemental thickness that was used + ! during diffusion, which was helem^(n), but helem^(n) got overwritten + ! with helem^(n+1) in call update_thickness(...). But we saved hnode^(n) + ! in the variable hnode_new (Although this sounds confusing!!!), so + ! hnode_new contains here in reality hnode_old. So we recompute + ! helem from hnode_new --> sum(hnode_new(nz, elnodes))/3.0_WP + elnodes= elem2D_nodes(:, edelem(2)) + dZ = sum(hnode_new(nz, elnodes))/3.0_WP + ! also Ki is defined at mid depth levels + Kh = sum(Ki(nz, ednodes))*0.5_WP + ! reminder: tr_z ... vertical tracer gradient sits on full depth levels + ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical + ! tracer gradient back to mid depth levels + Trx = tr_xy(1, nz, edelem(2)) + Try = tr_xy(2, nz, edelem(2)) + ! Dflx is here the horizontal diffusive volume flux + Dflx = Kh*(deltaX2*Try - deltaY2*Trx)*dZ + !___________________________________________________________________ + ! compute edge centered tracer value + ! --> here variable tr corresponds to tr_old == Tr^(n) + Trc = tr(nz, ednodes(1))*hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2))*hnode_new(nz, ednodes(2)) + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + !___________________________________________________________________ + ! compute Tstar diference --> sergey variant + ! --> here variable tr corresponds to trstar == (Tr^(n+1) + Tr^(n))*0.5 + xchi = -2.0_WP * (tr(nz, ednodes(1))-tr(nz, ednodes(2))) + !___________________________________________________________________ + dump(nz, ednodes(1)) = dump(nz, ednodes(1)) + merge( xchi*( dvd_xdfac), Trc, do_SDdvd)*Dflx + dump(nz, ednodes(2)) = dump(nz, ednodes(2)) - merge(-xchi*(1.0_WP-dvd_xdfac), Trc, do_SDdvd)*Dflx + + end do !--> do nz=nl12+1, nl2 + end do !--> do edge=1, myDim_edge2D + call exchange_nod(dump, partit) + + !___________________________________________________________________________ + ! switch to volume normalized Xchi + if (do_SDdvd) then + ! In Sergeys case normalization should be done with volume at moment of + ! diffusion V^(n) + do node=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node)-1 + dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode_new(nu1:nl1, node)) + end do + else + ! In Knuts case volume normalization is done with V^(n+1) + do node=1, myDim_nod2D+eDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node)-1 + dvd_tot(nu1:nl1, node, tr_num) = dvd_tot(nu1:nl1, node, tr_num) + dump(nu1:nl1, node)/(areasvol(nu1:nl1, node)*hnode(nu1:nl1, node)) + ! | + ! this is the | + ! +--------plus sign----------+ + ! | + ! v + ! Xchi = -d/dt(Tr^2) - div(v*Tr^2) + div(Kv*nabla*Tr^2) + ! | + ! v + ! Kv*(nabla*Tr)^2 + end do + end if + +end subroutine dvd_add_difflux_horexpl +! +! +!_______________________________________________________________________________ +! add horizontal diffusive flux after Klingbeil et al. 2014, take Redi into account +! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx_hor[Tr^(n+1)] )/ V^(n+1) +... +! --> here Tr^(n+1) und Dflx_hor[...] are reconstructed values at the interfase +subroutine dvd_add_difflux_horexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, dump, partit, mesh) implicit none type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh @@ -1570,7 +1872,6 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t real(kind=WP) , intent(in) :: Ki( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: tr_z( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP) , intent(in) :: tr_xy(2,mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D+partit%eXDim_elem2D) real(kind=WP) , intent(inout) :: dump( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) integer :: node, edge, nz, nu12, nl12, nl1, nl2, nu1, nu2 @@ -1648,8 +1949,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP - Trx = tr_xy(1, nz, edelem(1)) + SxTz*isredi - Try = tr_xy(2, nz, edelem(1)) + SyTz*isredi + Trx = SxTz*isredi + Try = SyTz*isredi ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(-deltaX1*Try + deltaY1*Trx)*dZ !___________________________________________________________________ @@ -1688,8 +1989,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP - Trx = tr_xy(1, nz, edelem(2)) + SxTz*isredi - Try = tr_xy(2, nz, edelem(2)) + SyTz*isredi + Trx = SxTz*isredi + Try = SyTz*isredi ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(deltaX2*Try - deltaY2*Trx)*dZ !_______________________________________________________________ @@ -1730,8 +2031,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t Trz = 0.5_WP*(tr_z(nz, ednodes)+tr_z(nz+1, ednodes)) SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP - Trx = 0.5_WP*( tr_xy(1, nz, edelem(1))+tr_xy(1, nz, edelem(2)) ) + SxTz*isredi - Try = 0.5_WP*( tr_xy(2, nz, edelem(1))+tr_xy(2, nz, edelem(2)) ) + SyTz*isredi + Trx = SxTz*isredi + Try = SyTz*isredi ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*((deltaX2-deltaX1)*Try-(deltaY2-deltaY1)*Trx)*dZ !___________________________________________________________________ @@ -1770,8 +2071,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP - Trx = tr_xy(1, nz, edelem(1)) + SxTz*isredi - Try = tr_xy(2, nz, edelem(1)) + SyTz*isredi + Trx = SxTz*isredi + Try = SyTz*isredi ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(-deltaX1*Try + deltaY1*Trx)*dZ !___________________________________________________________________ @@ -1810,8 +2111,8 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP - Trx = tr_xy(1, nz, edelem(2)) + SxTz*isredi - Try = tr_xy(2, nz, edelem(2)) + SyTz*isredi + Trx = SxTz*isredi + Try = SyTz*isredi ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(deltaX2*Try - deltaY2*Trx)*dZ !___________________________________________________________________ @@ -1859,7 +2160,7 @@ subroutine dvd_add_difflux_hor(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, tr_z, t end do end if -end subroutine dvd_add_difflux_hor +end subroutine dvd_add_difflux_horexplredi ! ! !_______________________________________________________________________________ @@ -2204,7 +2505,7 @@ end subroutine dvd_add_difflux_vertexplredi ! ans eq. 20 --> or eq. 24 ! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx[Tr^(n+1)] )/ V^(n+1) +... ! --> here Tr^(n+1) und Dflx[...] are reconstructed values at the interfase -subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, Ki, slope, partit, mesh) +subroutine dvd_add_difflux_vertimplredi(do_SDdvd, tr_num, dvd_tot, tr, trstar, Ki, slope, partit, mesh) use g_cvmix_kpp, only: kpp_nonlcltranspT, kpp_nonlcltranspS, kpp_oblmixc implicit none type(t_partit), intent(inout), target :: partit @@ -2214,7 +2515,6 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP) , intent(in) :: Kv( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: Ki( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) integer :: node, nz, nu1, nl1 @@ -2264,7 +2564,150 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, K ! fdiff = Kv*dT/dz = Kv (T(nz-1) - T(nz))/ ((hnode(nz-1)+hnode(nz))/2) ! --> Dflx is until here the diffusive volume flux on full depth levels - Dflx(nz) = -(Kv(nz, node)+Kv_R) * (tr(nz, node)-tr(nz-1, node)) / (dzup+dzdwn) * area(nz, node) + Dflx(nz) = -(Kv_R) * (tr(nz, node)-tr(nz-1, node)) / (dzup+dzdwn) * area(nz, node) + + ! extent Dflx after Sergey to compute the diffusive component of DVD + ! see T. Banerjee et al. 2023 eq. 7 + ! Xchi_(i+0.5) = 2*Kv * (T^(n+1)_(i+1)-T^(n+!)_i)/dz * (Tstar_(i+1)-Tstar_(i)/dz + ! Dflx(nz) = -2*Dflx*(Tstar_(i+1)-Tstar_(i)/dz + ! --> if Sergey diagonsitc is used Dflx correspond from here on to + + ! Xchi at full depth level interface + Dflx(nz) = Dflx(nz) * merge(-2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ), 1.0_WP, do_SDdvd) + ! | + ! +-> merge: if do_SDdvd==True use first argument, if + ! do_SDdvd==False use second argument of merge! + end do !--> do nz=nu1+1, nl1-1 + + !_______________________________________________________________________ + ! decide between Sergeys and Knuts DVD method + if (do_SDdvd) then + !___________________________________________________________________ + ! In Sergeys DVD diagnostic we do not take into account the surface + ! and interior fluxes of surface boundary condition and short wave + ! penetration, since akthough they are source terms for variance, + ! they not contribute to the decay variance !!! + ! If they arte considered than only in a separate term but not added + ! to the variance decay term of diffusivity. However in Knuts DVD | + ! diagnostic this is different. Here the source term have to be explicitly + ! taken into account since they already contributed to (T^(n+1))^2-(T^(n))^2 + + ! now compute flx of Xchi into control volume, see T. Banerjee et al. 2023 + ! eq. 9. Each control volume gets one half of the Xchi interface value + ! --> keep in mind we are now again on mid depth levels and in this case + ! Dflx contains the interface value of Xchi + ! --> compute volume normlized Xchi contribution + do nz=nu1, nl1-1 + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*Dflx(nz)+(1.0_WP-dvd_xdfac)*Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) + end do !--> do nz=nu1+1, nl1-1 + else + !___________________________________________________________________ + ! compute diffusive flux flxdiff(nz), after Klingbeil etal 2014 + ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume + ! surface + nz = nu1 + tr_up = Dflx(nz )*tr(nz, node) + tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) + tr_dwn = Dflx(nz+1)*tr_dwn + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + + !___________________________________________________________________ + ! bulk + do nz=nu1+1, nl1-2 + ! volume (hnode) weighted temperature reconstruction at upper/lower + ! scalar cell interface + tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) + tr_dwn = (tr(nz , node)*hnode(nz , node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz , node)+hnode(nz+1, node)) + ! compute T^(n+1)_(i+0.5) * Dflx_(i+0.5) through upper and lower face + tr_up = Dflx(nz )*tr_up + tr_dwn = Dflx(nz+1)*tr_dwn + ! copute dvd contribution normalized with volume + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + ! | |-> factor 2 comes here from Klingbeil et al.2014 + ! this is the | (2*Tr^(n+1) * Dflx[Tr^(n+1)] + ! +----plus sign----+ + ! | + ! v + ! Xchi = -d/dt(Tr^2) - div(v*Tr^2) + div(Kv*nabla*Tr^2) + ! | + ! v + ! Kv*(nabla*Tr)^2 + end do !--> do nz=nu1+1, nl1-1 + + !___________________________________________________________________ + ! bottom + nz = nl1-1 + tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) + tr_dwn = tr(nz, node) + tr_up = Dflx(nz )*tr_up + tr_dwn = 0.0_WP + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + end if + end do !--> do node=1, myDim_nod2D +end subroutine dvd_add_difflux_vertimplredi +! +! +!_______________________________________________________________________________ +! add implicite vertical diffusive flux after Klingbeil et al. 2014, see between eq. 18 +! ans eq. 20 --> or eq. 24 +! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx[Tr^(n+1)] )/ V^(n+1) +... +! --> here Tr^(n+1) und Dflx[...] are reconstructed values at the interfase +subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, partit, mesh) + use g_cvmix_kpp, only: kpp_nonlcltranspT, kpp_nonlcltranspS, kpp_oblmixc + implicit none + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer , intent(in) :: tr_num + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: Kv( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) + integer :: node, nz, nu1, nl1 + real(kind=WP) :: tr_up, tr_dwn, Dflx(mesh%nl), dzup, dzdwn, dz, Kv_R + real(kind=WP) :: isredi=0.0_WP, sbc, rsss +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + ! add contribution of redi diffusivity when activated + if (Redi) isredi=1.0_WP + + ! add contribution of implicite vertical diffusion (after Klingbeil et al.2014) + do node=1, myDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node) + Dflx = 0.0_WP + + !_______________________________________________________________________ + ! compute diffusive flux at full surface levels: ---> Dflx[Tr^(n+1)] + ! Dflx = Kv * dT/dz + ! ---------------- zbar_1 -+ + ! | + ! o tr_1 ------------|- hnode_1 -+ + ! | | + ! --Dflx-x-Tr----- zbar_2 --+ |- (hnode_1+hnod_2)/2 + ! | | + ! o tr_2 ------------|- hnode_2 -+ + ! | + ! ---------------- zbar_3 -+ + !_______________________________________________________________________ + ! !!! ATTENTION: !!! + ! Implicite vertical Diffusion is done with hnode^(n+1) which is stored + ! in the variable hnode (keep in mind at this point hnode_new was used + ! to rescue the varaible hnode^(n) ). + + ! keep in mind: nz = nu1 --> there is no diffusive flux through the + ! surface zlevel therfor we start with nu1+1 + do nz=nu1+1, nl1-1 + ! take into account isoneutral Redi diffusivity Kd*s^2 --> K_33 = Kv + Kd*s^2 + dzup = hnode(nz-1, node)*0.5_WP + dzdwn = hnode(nz , node)*0.5_WP + + ! fdiff = Kv*dT/dz = Kv (T(nz-1) - T(nz))/ ((hnode(nz-1)+hnode(nz))/2) + ! --> Dflx is until here the diffusive volume flux on full depth levels + Dflx(nz) = -(Kv(nz, node)) * (tr(nz, node)-tr(nz-1, node)) / (dzup+dzdwn) * area(nz, node) ! extent Dflx after Sergey to compute the diffusive component of DVD ! see T. Banerjee et al. 2023 eq. 7 diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 786ae4502..6553a3f5b 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -632,37 +632,43 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) CASE ('DVD ') if (ldiag_DVD) then !___temperature DVD_____________________________________________________ - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_tot' , 'tot. temperature DVD \n (Klingbeil et al. 2014)', 'K^2/s' , dvd_KK_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_tot' , 'tot. temperature DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - if (tracers%data(1)%smooth_bh_tra) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difhbh','temperature DVD horiz. diff. biharm' , 'K^2/s' , dvd_SD_chi_dif_hbh(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end if + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_KK_tot' , 'tot. temperature DVD \n (Klingbeil et al. 2014)', 'K^2/s' , dvd_KK_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_tot' , 'tot. temperature DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) if (.not. tracers%data(1)%i_vert_diff) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difve', 'temperature DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_ve(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difve', 'temperature DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_ve( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if + if (tracers%data(1)%smooth_bh_tra) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difhbh','temperature DVD horiz. diff. biharm' , 'K^2/s' , dvd_SD_chi_dif_hbh(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if if (Redi) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difveR', 'temperature DVD vert. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_veR(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difheR', 'temperature DVD horiz. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_heR(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difveR', 'temperature DVD vert. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_veR(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difviR', 'temperature DVD vert. redi diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_viR(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + !___salinity DVD________________________________________________________ - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_tot' , 'tot. salinity DVD \n (Klingbeil et al. 2014)', 'K^2/s' , dvd_KK_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_tot' , 'tot. salinity DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - if (tracers%data(1)%smooth_bh_tra) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difhbh','salinity DVD horiz. diff. biharm' , 'K^2/s' , dvd_SD_chi_dif_hbh(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end if + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_KK_tot' , 'tot. salinity DVD \n (Klingbeil et al. 2014)' , 'K^2/s' , dvd_KK_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_tot' , 'tot. salinity DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difvi', 'salinity DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) if (.not. tracers%data(1)%i_vert_diff) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difve', 'salinity DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_ve(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difve', 'salinity DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_ve( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if + if (tracers%data(1)%smooth_bh_tra) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difhbh','salinity DVD horiz. diff. biharm' , 'K^2/s' , dvd_SD_chi_dif_hbh(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if if (Redi) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difveR', 'salinity DVD vert. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_veR(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difheR', 'salinity DVD horiz. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_heR(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difveR', 'salinity DVD vert. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_veR(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difviR', 'salinity DVD vert. redi diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_viR(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difvi', 'salinity DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if !--> if (ldiag_DVD) then !_______________________________________________________________________________ From 121379492c389fd0054ee0250e468e92e5639626 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 13 Mar 2024 17:32:01 +0100 Subject: [PATCH 125/273] delte obsolete comment --- src/oce_ale_tracer.F90 | 49 ++++++++++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 883a19ffe..b0f7439e5 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -140,6 +140,7 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) use o_tracers use Toy_Channel_Soufflet use diff_tracers_ale_interface + use diagnostics, only: ldiag_DVD use oce_adv_tra_driver_interfaces implicit none type(t_ice) , intent(in) , target :: ice @@ -193,6 +194,12 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! loop over all tracers do tr_num=1, tracers%num_tracers + + ! DVD diagostic: store tracer (only temp and salt) from previouse time steps + if ((ldiag_DVD) .and. (tr_num<=2)) then + tracers%work%dvd_trold(:,:, tr_num) = tracers%data(tr_num)%values(:,:) + end if + ! do tracer AB (Adams-Bashfort) interpolation only for advectiv part ! needed if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call init_tracers_AB'//achar(27)//'[0m' @@ -228,22 +235,35 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) tracers%work%del_ttf(:, node)=tracers%work%del_ttf(:, node)+tracers%work%del_ttf_advhoriz(:, node)+tracers%work%del_ttf_advvert(:, node) end do !$OMP END PARALLEL DO - !___________________________________________________________________________ - ! AB is not needed after the advection step. Initialize it with the current tracer before it is modified. - ! call init_tracers_AB at the beginning of this loop will compute AB for the next time step then. + + !___________________________________________________________________________ + ! AB is not needed after the advection step. Initialize it with the current tracer before it is modified. + ! call init_tracers_AB at the beginning of this loop will compute AB for the next time step then. + ! DVD diagostic: store AB tracer before it gets overwritten + if ((ldiag_DVD) .and. (tr_num<=2)) then +!$OMP PARALLEL DO + do node=1, myDim_nod2d+eDim_nod2D + tracers%work%dvd_trAB(:,node, tr_num) = tracers%data(tr_num)%valuesAB(:, node) + end do +!$OMP END PARALLEL DO + end if + !$OMP PARALLEL DO do node=1, myDim_nod2d+eDim_nod2D tracers%data(tr_num)%valuesAB(:, node)=tracers%data(tr_num)%values(:, node) !DS: check that this is the right place! end do !$OMP END PARALLEL DO + + !___________________________________________________________________________ ! diffuse tracers if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call diff_tracers_ale'//achar(27)//'[0m' call diff_tracers_ale(tr_num, dynamics, tracers, partit, mesh) + !___________________________________________________________________________ ! relax to salt and temp climatology if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call relax_to_clim'//achar(27)//'[0m' -! if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then - if ((toy_ocean) .AND. ((TRIM(which_toy)=="soufflet"))) then + if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then + !PS f ((toy_ocean) .AND. ((TRIM(which_toy)=="soufflet"))) then call relax_zonal_temp(tracers%data(1), partit, mesh) else call relax_to_clim(tr_num, tracers, partit, mesh) @@ -455,6 +475,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) use o_mixing_KPP_mod !for ghats _GO_ use g_cvmix_kpp, only: kpp_nonlcltranspT, kpp_nonlcltranspS, kpp_oblmixc use bc_surface_interface + use diagnostics, only: ldiag_DVD implicit none integer , intent(in) , target :: tr_num type(t_dyn) , intent(inout), target :: dynamics @@ -466,7 +487,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) real(kind=WP) :: cp(mesh%nl), tp(mesh%nl) integer :: nz, n, nzmax, nzmin real(kind=WP) :: m, zinv, dz - real(kind=WP) :: rsss, Ty, Ty1, c1, zinv1, zinv2, v_adv + real(kind=WP) :: rsss, Ty, Ty1, c1, zinv1, zinv2, v_adv, sfbc real(kind=WP) :: isredi=0._WP logical :: do_wimpl=.true. real(kind=WP) :: zbar_n(mesh%nl), z_n(mesh%nl-1) @@ -852,7 +873,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) ! v (+) v (+) ! tr(nzmin)= tr(nzmin)+bc_surface(n, tracers%data(tr_num)%ID, trarr(nzmin,n), nzmin, partit) - + !_______________________________________________________________________ ! The forward sweep algorithm to solve the three-diagonal matrix ! problem @@ -967,16 +988,6 @@ subroutine diff_ver_part_redi_expl(tracers, partit, mesh) vd_flux=0._WP !_______________________________________________________________________ -!PS zbar_n(1:mesh%nl )=0.0_WP -!PS z_n (1:mesh%nl-1)=0.0_WP -!PS zbar_n(nl1+1)=zbar_n_bot(n) -!PS z_n(nl1)=zbar_n(nl1+1) + hnode_new(nl1,n)/2.0_WP -!PS do nz=nl1, ul1+1, -1 -!PS zbar_n(nz) = zbar_n(nz+1) + hnode_new(nz,n) -!PS z_n(nz-1) = zbar_n(nz) + hnode_new(nz-1,n)/2.0_WP -!PS end do -!PS zbar_n(ul1) = zbar_n(ul1+1) + hnode_new(ul1,n) - zbar_n(1:mesh%nl )=0.0_WP z_n (1:mesh%nl-1)=0.0_WP zbar_n(nl1+1)=zbar_n_bot(n) @@ -995,7 +1006,7 @@ subroutine diff_ver_part_redi_expl(tracers, partit, mesh) vd_flux(nz)=vd_flux(nz)/(z_n(nz-1)-z_n(nz))*area(nz,n) enddo do nz=ul1,nl1 - del_ttf(nz,n) = del_ttf(nz,n)+(vd_flux(nz) - vd_flux(nz+1))*dt/areasvol(nz,n) + del_ttf(nz,n) = del_ttf(nz,n) + (vd_flux(nz)-vd_flux(nz+1)) * dt/areasvol(nz,n) enddo end do !$OMP END DO @@ -1354,4 +1365,4 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) stop END SELECT RETURN -END FUNCTION +END FUNCTION \ No newline at end of file From 461f584d6d05f9d80bf2cd9f6733475136443eeb Mon Sep 17 00:00:00 2001 From: ogurses Date: Thu, 14 Mar 2024 10:27:04 +0100 Subject: [PATCH 126/273] feat(recom): Call recom from fesom Initialize recom variables, modify BGC tracers, call recom Recom related tracer fields are generated by fesom. The first step in recom is to make sure that we have correct units and initial values. This is done in recom_init and after the ocean_setup. --- src/CMakeLists.txt | 7 +- src/fesom_module.F90 | 64 +- src/gen_ic3d.F90 | 10 +- src/int_recom/recom_init.F90 | 130 ++++ src/int_recom/recom_main.F90 | 173 +++++ src/int_recom/recom_modules.F90 | 1114 +++++++++++++++++++++++++++++++ 6 files changed, 1487 insertions(+), 11 deletions(-) create mode 100644 src/int_recom/recom_init.F90 create mode 100755 src/int_recom/recom_main.F90 create mode 100644 src/int_recom/recom_modules.F90 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bd2b5d5c3..ea3de457e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -60,7 +60,12 @@ option(BUILD_FESOM_AS_LIBRARY "Build a library instead of an executable" OFF) # get our source files set(src_home ${CMAKE_CURRENT_LIST_DIR}) # path to src directory starting from the dir containing our CMakeLists.txt -if(${USE_ICEPACK}) + +if(${RECOM_COUPLED}) # RECOM + ICEPACK NOT SUPPORTED + file(GLOB sources_Fortran ${src_home}/*.F90 + ${src_home}/int_recom/*.F90 + ${src_home}/int_recom/recom/*.F90) +elseif(${USE_ICEPACK}) file(GLOB sources_Fortran ${src_home}/*.F90 ${src_home}/icepack_drivers/*.F90 ${src_home}/icepack_drivers/Icepack/columnphysics/*.F90) diff --git a/src/fesom_module.F90 b/src/fesom_module.F90 index 8a6771e35..d8636f714 100755 --- a/src/fesom_module.F90 +++ b/src/fesom_module.F90 @@ -38,6 +38,12 @@ module fesom_main_storage_module use cpl_driver #endif +! define recom module +#if defined (__recom) + use recom_init_interface + use recom_interface +#endif + implicit none type :: fesom_main_storage_type @@ -50,7 +56,10 @@ module fesom_main_storage_module real(kind=real32) :: rtime_setup_mesh, rtime_setup_ocean, rtime_setup_forcing real(kind=real32) :: rtime_setup_ice, rtime_setup_other, rtime_setup_restart real(kind=real32) :: runtime_alltimesteps - +#if defined (__recom) + real(kind=WP) :: t0_recom, t1_recom + real(kind=real32) :: rtime_setup_recom, rtime_compute_recom +#endif type(t_mesh) mesh type(t_tracer) tracers @@ -160,13 +169,20 @@ subroutine fesom_init(fesom_total_nsteps) if (flag_debug .and. f%mype==0) print *, achar(27)//'[34m'//' --> call tracer_init'//achar(27)//'[0m' call tracer_init(f%tracers, f%partit, f%mesh) ! allocate array of ocean tracers (derived type "t_tracer") - + if (flag_debug .and. f%mype==0) print *, achar(27)//'[34m'//' --> call arrays_init'//achar(27)//'[0m' call arrays_init(f%tracers%num_tracers, f%partit, f%mesh) ! allocate other arrays (to be refactured same as tracers in the future) if (flag_debug .and. f%mype==0) print *, achar(27)//'[34m'//' --> call ocean_setup'//achar(27)//'[0m' call ocean_setup(f%dynamics, f%tracers, f%partit, f%mesh) + ! recom setup +#if defined (__recom) + f%t0_recom=MPI_Wtime() + call recom_init(f%tracers, f%partit, f%mesh) ! adjust values for recom tracers (derived type "t_tracer") + f%t1_recom=MPI_Wtime() +#endif + if (f%mype==0) then write(*,*) 'FESOM ocean_setup... complete' f%t3=MPI_Wtime() @@ -190,6 +206,7 @@ subroutine fesom_init(fesom_total_nsteps) endif if (f%mype==0) f%t5=MPI_Wtime() + call compute_diagnostics(0, f%dynamics, f%tracers, f%partit, f%mesh) ! allocate arrays for diagnostic #if defined (__oasis) call cpl_oasis3mct_define_unstr(f%partit, f%mesh) @@ -229,6 +246,10 @@ subroutine fesom_init(fesom_total_nsteps) f%rtime_setup_restart = real( f%t7 - f%t6 ,real32) f%rtime_setup_other = real((f%t8 - f%t7) + (f%t6 - f%t5) ,real32) +#if defined (__recom) + f%rtime_setup_recom = real( f%t1_recom - f%t0_recom ,real32) +#endif + write(*,*) '==========================================' write(*,*) 'MODEL SETUP took on mype=0 [seconds] ' write(*,*) 'runtime setup total ',real(f%t8-f%t1,real32) @@ -237,7 +258,10 @@ subroutine fesom_init(fesom_total_nsteps) write(*,*) ' > runtime setup forcing ',f%rtime_setup_forcing write(*,*) ' > runtime setup ice ',f%rtime_setup_ice write(*,*) ' > runtime setup restart ',f%rtime_setup_restart - write(*,*) ' > runtime setup other ',f%rtime_setup_other + write(*,*) ' > runtime setup other ',f%rtime_setup_other +#if defined (__recom) + write(*,*) ' > runtime setup recom ',f%rtime_setup_recom +#endif write(*,*) '============================================' endif @@ -283,6 +307,9 @@ subroutine fesom_init(fesom_total_nsteps) f%rtime_write_means = 0._WP f%rtime_compute_diag = 0._WP f%rtime_read_forcing = 0._WP +#if defined (__recom) + f%rtime_compute_recom = 0._WP +#endif f%from_nstep = 1 end subroutine @@ -344,7 +371,7 @@ subroutine fesom_runloop(current_nsteps) if (flag_debug .and. f%mype==0) print *, achar(27)//'[34m'//' --> call update_atm_forcing(n)'//achar(27)//'[0m' f%t0_frc = MPI_Wtime() call update_atm_forcing(n, f%ice, f%tracers, f%dynamics, f%partit, f%mesh) - f%t1_frc = MPI_Wtime() + f%t1_frc = MPI_Wtime() !___compute ice step________________________________________________ if (f%ice%ice_steps_since_upd>=f%ice%ice_ave_steps-1) then f%ice%ice_update=.true. @@ -362,6 +389,15 @@ subroutine fesom_runloop(current_nsteps) end if call before_oce_step(f%dynamics, f%tracers, f%partit, f%mesh) ! prepare the things if required f%t2 = MPI_Wtime() + + !___now recom___________________________________________________________ +#if defined (__recom) + if (f%mype==0 .and. n==1) print *, achar(27)//'[46' //'_____________________________________________________________'//achar(27)//'[0m' + if (f%mype==0 .and. n==1) print *, achar(27)//'[46;1m'//' --> call REcoM '//achar(27)//'[0m' + f%t0_recom = MPI_Wtime() + call recom(f%ice, f%dynamics, f%tracers, f%partit, f%mesh) + f%t1_recom = MPI_Wtime() +#endif !___model ocean step____________________________________________________ if (flag_debug .and. f%mype==0) print *, achar(27)//'[34m'//' --> call oce_timestep_ale'//achar(27)//'[0m' @@ -386,6 +422,9 @@ subroutine fesom_runloop(current_nsteps) f%rtime_write_means = f%rtime_write_means + f%t5 - f%t4 f%rtime_write_restart = f%rtime_write_restart + f%t6 - f%t5 f%rtime_read_forcing = f%rtime_read_forcing + f%t1_frc - f%t0_frc +#if defined (__recom) + f%rtime_compute_recom = f%rtime_compute_recom + f%t1_recom - f%t0_recom +#endif end do f%from_nstep = f%from_nstep+current_nsteps @@ -422,10 +461,20 @@ subroutine fesom_finalize() mean_rtime(11) = f%rtime_compute_diag mean_rtime(12) = f%rtime_write_means mean_rtime(13) = f%rtime_write_restart - mean_rtime(14) = f%rtime_read_forcing - + mean_rtime(14) = f%rtime_read_forcing +#if defined (__recom) + mean_rtime(15) = f%rtime_compute_recom +#endif max_rtime(1:14) = mean_rtime(1:14) min_rtime(1:14) = mean_rtime(1:14) +#if defined (__recom) + max_rtime(15) = mean_rtime(15) + min_rtime(15) = mean_rtime(15) + call MPI_AllREDUCE(MPI_IN_PLACE, mean_rtime(15), 1, MPI_REAL, MPI_SUM, f%MPI_COMM_FESOM, f%MPIerr) + mean_rtime(15) = mean_rtime(15) / real(f%npes,real32) + call MPI_AllREDUCE(MPI_IN_PLACE, max_rtime(15), 1, MPI_REAL, MPI_MAX, f%MPI_COMM_FESOM, f%MPIerr) + call MPI_AllREDUCE(MPI_IN_PLACE, min_rtime(15), 1, MPI_REAL, MPI_MIN, f%MPI_COMM_FESOM, f%MPIerr) +#endif call MPI_AllREDUCE(MPI_IN_PLACE, mean_rtime, 14, MPI_REAL, MPI_SUM, f%MPI_COMM_FESOM, f%MPIerr) mean_rtime(1:14) = mean_rtime(1:14) / real(f%npes,real32) @@ -456,6 +505,9 @@ subroutine fesom_finalize() print 42, ' runtime restart: ', mean_rtime(13), min_rtime(13), max_rtime(13) print 42, ' runtime forcing: ', mean_rtime(14), min_rtime(14), max_rtime(14) print 42, ' runtime total (ice+oce): ', mean_rtime(9), min_rtime(9), max_rtime(9) +#if defined (__recom) + print 42, ' runtime recom: ', mean_rtime(15), min_rtime(15), max_rtime(15) +#endif 43 format (a33,i15) !Format Ncores 44 format (a33,i15) !Format OMP threads diff --git a/src/gen_ic3d.F90 b/src/gen_ic3d.F90 index 89d300486..7513fec4b 100644 --- a/src/gen_ic3d.F90 +++ b/src/gen_ic3d.F90 @@ -569,6 +569,7 @@ SUBROUTINE do_ic3d(tracers, partit, mesh) locSmax = locTmax locSmin = locTmin +#if defined(__recom) locDINmax = -66666 locDINmin = 66666 locDICmax = locDINmax @@ -581,13 +582,14 @@ SUBROUTINE do_ic3d(tracers, partit, mesh) locDFemin = locDINmin locO2max = locDINmax locO2min = locDINmin - +#endif do n=1, partit%myDim_nod2d locTmax = max(locTmax,maxval(tracers%data(1)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) locTmin = min(locTmin,minval(tracers%data(1)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) locSmax = max(locSmax,maxval(tracers%data(2)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) locSmin = min(locSmin,minval(tracers%data(2)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) +#if defined(__recom) locDINmax = max(locDINmax,maxval(tracers%data(3)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) locDINmin = min(locDINmin,minval(tracers%data(3)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) locDICmax = max(locDICmax,maxval(tracers%data(4)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) @@ -600,8 +602,7 @@ SUBROUTINE do_ic3d(tracers, partit, mesh) locDFemin = min(locDFemin,minval(tracers%data(21)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) locO2max = max(locO2max,maxval(tracers%data(24)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) locO2min = min(locO2min,minval(tracers%data(24)%values(mesh%ulevels_nod2D(n):mesh%nlevels_nod2D(n)-1,n)) ) - - +#endif end do call MPI_AllREDUCE(locTmax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, partit%MPI_COMM_FESOM, partit%MPIerr) if (partit%mype==0) write(*,*) ' |-> gobal max init. temp. =', glo @@ -611,6 +612,7 @@ SUBROUTINE do_ic3d(tracers, partit, mesh) if (partit%mype==0) write(*,*) ' |-> gobal max init. salt. =', glo call MPI_AllREDUCE(locSmin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, partit%MPI_COMM_FESOM, partit%MPIerr) if (partit%mype==0) write(*,*) ' `-> gobal min init. salt. =', glo +#if defined(__recom) if (partit%mype==0) write(*,*) "Sanity check for REcoM variables" call MPI_AllREDUCE(locDINmax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, partit%MPI_COMM_FESOM, partit%MPIerr) @@ -638,7 +640,7 @@ SUBROUTINE do_ic3d(tracers, partit, mesh) if (partit%mype==0) write(*,*) ' |-> gobal max init. O2. =', glo call MPI_AllREDUCE(locO2min , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, partit%MPI_COMM_FESOM, partit%MPIerr) if (partit%mype==0) write(*,*) ' `-> gobal min init. O2. =', glo - +#endif END SUBROUTINE do_ic3d SUBROUTINE nc_end diff --git a/src/int_recom/recom_init.F90 b/src/int_recom/recom_init.F90 new file mode 100644 index 000000000..48dc262e9 --- /dev/null +++ b/src/int_recom/recom_init.F90 @@ -0,0 +1,130 @@ +! ------------ +! 23.03.2023 +! OG +!=============================================================================== +! allocate & initialise arrays for REcoM +module recom_init_interface + interface + subroutine recom_init(tracers, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + use mod_tracer + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh), intent(in) , target :: mesh + end subroutine + end interface +end module +! +! +!_______________________________________________________________________________ +subroutine recom_init(tracers, partit, mesh) + USE MOD_MESH + USE MOD_PARTIT + USE MOD_PARSUP + USE MOD_TRACER + use g_clock + use REcoM_declarations + use REcoM_GloVar + use REcoM_locVar + use recom_config + use REcoM_ciso + ! fesom modules +! use o_ARRAYS +! use o_MESH + implicit none +#include "netcdf.inc" + !___________________________________________________________________________ + ! pointer on necessary derived types + integer :: n, k, row, nzmin, nzmax, i, id + integer :: elem_size, node_size, num_tracers + + real(kind=WP) :: locDINmax, locDINmin, locDICmax, locDICmin, locAlkmax, glo + real(kind=WP) :: locAlkmin, locDSimax, locDSimin, locDFemax, locDFemin + + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh), intent(in) , target :: mesh + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + elem_size = myDim_elem2D+eDim_elem2D + node_size = myDim_nod2D+eDim_nod2D + num_tracers = tracers%num_tracers + + +!! *** Allocate and initialize *** + + allocate(GloFeDust ( node_size )) + allocate(AtmFeInput ( node_size )) + allocate(GloNDust ( node_size )) + allocate(AtmNInput ( node_size )) + + allocate(cosAI ( node_size )) + allocate(GloPCO2surf ( node_size )) + allocate(GloCO2flux ( node_size )) + allocate(GloCO2flux_seaicemask ( node_size )) + allocate(GloO2flux_seaicemask ( node_size )) + allocate(GlodPCO2surf ( node_size )) + allocate(GlodecayBenthos ( node_size, benthos_num )) + allocate(Benthos ( node_size, benthos_num )) + allocate(Benthos_tr ( node_size, benthos_num, num_tracers )) ! kh 25.03.22 buffer per tracer index + allocate(GloHplus ( node_size )) + allocate(DenitBen ( node_size )) + allocate(RiverDIN2D ( node_size )) + allocate(RiverDON2D ( node_size )) + allocate(RiverDOC2D ( node_size )) + allocate(RiverDSi2D ( node_size )) + allocate(RiverDIC2D ( node_size )) + allocate(RiverAlk2D ( node_size )) + allocate(ErosionTON2D ( node_size )) + allocate(ErosionTOC2D ( node_size )) + allocate(ErosionTSi2D ( node_size )) + allocate(relax_alk ( node_size )) + allocate(virtual_alk ( node_size )) + allocate(LocBenthos ( benthos_num )) + allocate(decayBenthos ( benthos_num )) ! [1/day] Decay rate of detritus in the benthic layer + allocate(wFluxPhy ( benthos_num )) ! [mmol/(m2 * day)] Flux of N,C, calc and chl through sinking of phytoplankton + allocate(wFluxDia ( benthos_num )) ! [mmol/(m2 * day)] Flux of N,C, Si and chl through sinking of diatoms + allocate(PAR3D ( nl-1, node_size )) + + GloFeDust = 0.d0 + AtmFeInput = 0.d0 + GloNDust = 0.d0 + AtmNInput = 0.d0 + + cosAI = 0.d0 + GloPCO2surf = 0.d0 + GloCO2flux = 0.d0 + GloCO2flux_seaicemask = 0.d0 + GloO2flux_seaicemask = 0.d0 + GlodPCO2surf = 0.d0 + GlodecayBenthos = 0.d0 + Benthos = 0.d0 + Benthos_tr(:,:,:) = 0.0d0 ! kh 25.03.22 + GloHplus = exp(-8.d0 * log(10.d0)) ! = 10**(-8) + DenitBen = 0.d0 + + RiverDIN2D = 0.d0 + RiverDON2D = 0.d0 + RiverDOC2D = 0.d0 + RiverDSi2D = 0.d0 + RiverDIC2D = 0.d0 + RiverAlk2D = 0.d0 + ErosionTON2D = 0.d0 + ErosionTON2D = 0.d0 + ErosionTSi2D = 0.d0 + relax_alk = 0.d0 + virtual_alk = 0.d0 + + LocBenthos = 0.d0 + decayBenthos = 0.d0 + wFluxPhy = 0.d0 + wFluxDia = 0.d0 + PAR3D = 0.d0 + end subroutine recom_init + diff --git a/src/int_recom/recom_main.F90 b/src/int_recom/recom_main.F90 new file mode 100755 index 000000000..74ca50237 --- /dev/null +++ b/src/int_recom/recom_main.F90 @@ -0,0 +1,173 @@ +! 24.03.2023 +! OG +!=============================================================================== +! Main REcoM +module recom_interface + interface + subroutine recom(ice, dynamics, tracers, partit, mesh) + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + use mod_tracer + use MOD_DYN + use MOD_ICE + type(t_dyn) , intent(inout), target :: dynamics + type(t_ice) , intent(inout), target :: ice + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + end subroutine + end interface +end module + +subroutine recom(ice, dynamics, tracers, partit, mesh) + use g_config + use MOD_MESH + use MOD_TRACER + use MOD_DYN + USE MOD_ICE + use o_ARRAYS + use o_PARAM + USE MOD_PARTIT + USE MOD_PARSUP + + use recom_declarations + use recom_locvar + use recom_glovar + use recom_config + use recom_ciso + use g_clock + use g_forcing_arrays, only: press_air, u_wind, v_wind, shortwave + use g_comm_auto + IMPLICIT NONE + + type(t_dyn) , intent(inout), target :: dynamics + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + type(t_ice) , intent(inout), target :: ice + !___________________________________________________________________________ + + ! pointer on necessary derived types + real(kind=WP), dimension(:), pointer :: a_ice + +! ====================================================================================== +!! Depth information + +!! zbar(nl) allocate the array for storing the standard depths, it is negativ +!! Z(nl-1) mid-depths of cells + +!! max. number of levels at node n +!! nzmax = nlevels_nod2D(n) +!! u_ice and v_ice are at nodes +!! u_w, v_w are at nodes (interpolated from elements) +!! u_wind and v_wind are always at nodes +! ====================================================================================== + + +end subroutine recom + +! ====================================================================================== +! Alkalinity restoring to climatology +! ====================================================================================== +subroutine bio_fluxes(tracers, partit, mesh) + + use recom_declarations + use recom_locvar + use recom_glovar + use recom_config + + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + use mod_tracer + + use g_config + use o_arrays + use g_comm_auto + use g_forcing_arrays + use g_support + + implicit none + integer :: n, elem, elnodes(3),n1 + real(kind=WP) :: ralk, net + + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + + !___________________________________________________________________________ + real(kind=WP), dimension(:,:), pointer :: alkalinity + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + alkalinity => tracers%data(2+ialk)%values(:,:) ! 1 temp, 2 salt, 3 din, 4 dic, 5 alk +!___________________________________________________________________ +! on freshwater inflow/outflow or virtual alkalinity: + ! 1. In zlevel & zstar the freshwater flux is applied in the update of the + ! ssh matrix when solving the continuity equation of vertically + ! integrated flow. The alkalinity concentration in the first layer will + ! be then adjusted according to the change in volume. + + ! In this case ralk is forced to be zero by setting ref_alk=0. and ref_alk_local=.false. + + ! 2. In cases where the volume of the upper layer is fixed (i.e. linfs) the freshwater flux + ! 'ralk*water_flux(n)' is applied as a virtual alkalinity boundary condition via the vertical + ! diffusion operator. + + ! --> ralk*water_flux(n) : virtual alkalinity flux + ! virtual alkalinity flux + +! if (use_virt_alk) then ! OG in case of virtual alkalinity flux +! ralk=ref_alk +! do n=1, myDim_nod2D+eDim_nod2D +! if (ref_alk_local) ralk = tracers%data(2+ialk)%values(1, n) +! virtual_alk(n)=ralk*water_flux(n) +! end do +! end if + + !___________________________________________________________________________ + ! Balance alkalinity restoring to climatology +! if (.not. restore_alkalinity) return + do n=1, myDim_nod2D+eDim_nod2D +! relax_alk(n)=surf_relax_Alk*(Alk_surf(n)-tr_arr(1,n,2+ialk)) ! 1 temp, 2 salt +! relax_alk(n)=surf_relax_Alk * (Alk_surf(n) - tracers%data(2+ialk)%values(1, n)) +! relax_alk(n)=surf_relax_Alk * (Alk_surf(n) - alkalinity(ulevels_nod2d(n),n) + relax_alk(n)=surf_relax_Alk * (Alk_surf(n) - alkalinity(1, n)) + end do + +! if (mype==0) then +! write(*,*) 'Alk_surf = ', Alk_surf +! write(*,*) 'tr_arr = ', tracers%data(2+ialk)%values(1, :) +! write(*,*) 'relax_alk = ', relax_alk +! endif + + + ! 2. virtual alkalinity flux +! if (use_virt_alk) then ! is already zero otherwise +! call integrate_nod(virtual_alk, net, partit, mesh) +! virtual_alk=virtual_alk-net/ocean_area +! end if + + + ! 3. restoring to Alkalinity climatology +! call integrate_nod(relax_alk, net, mesh) + call integrate_nod(relax_alk, net, partit, mesh) +! if (mype==0) then +! write(*,*) 'ocean_area = ', ocean_area +! write(*,*) 'net = ', net +! write(*,*) 'net/ocean_area = ', net/ocean_area +! endif + + relax_alk=relax_alk-net/ocean_area ! at ocean surface layer + + +! if (mype==0) then +! write(*,*) '____________________________________________________________' +! write(*,*) ' --> relax_alk, = ', relax_alk +! endif + +end subroutine bio_fluxes diff --git a/src/int_recom/recom_modules.F90 b/src/int_recom/recom_modules.F90 new file mode 100644 index 000000000..8b99c4603 --- /dev/null +++ b/src/int_recom/recom_modules.F90 @@ -0,0 +1,1114 @@ +!> +!! @par Copyright +!! This code is subject to the FESOM-REcoM - License - Agreement in it's most recent form. +!! Please see URL xxx +!! +!! @brief Module for defining variables used in REcoM, ex constant sinking velocity and +!! local time step dt +!! +!! @remarks This module contains namelist for recom +!! @author xxx, FESOM-REcoM, Bremerhaven (2019) +!! +!! $ID: n/a$ +!! +!! @par Origin +!! 2014: original implementation (V. Schourup-Kristensen) +! +module recom_config + implicit none + save + +!! *** General constants *** + + Integer :: idin = 1, idic = 2, ialk = 3, iphyn = 4, iphyc = 5, & + ipchl = 6, idetn = 7, idetc = 8, ihetn = 9, & + ihetc = 10, idon = 11, idoc = 12, idian = 13, & + idiac = 14, idchl = 15, idiasi = 16, idetsi = 17, & + isi = 18, ife = 19, iphycal = 20, idetcal = 21, & + ioxy = 22 + + Integer :: ivphy = 1, ivdia = 2, ivdet = 3, ivdetsc = 4 + +!!MB TEST: tracer ids for revised remineralization and sinking in oce_ale_tracer.F90 + integer, dimension(8) :: recom_remin_tracer_id = (/1001, 1002, 1003, 1018, 1019, 1022, 1302, 1402/) + + integer, dimension(29) :: recom_sinking_tracer_id = (/1007, 1008, 1017, 1021, 1004, 1005, 1020, 1006, & + 1013, 1014, 1016, 1015, 1025, 1026, 1027, 1028, & + 1029, 1030, 1031, & + 1308, 1321, 1305, 1320, & + 1314, 1408, 1421, 1405, 1420, 1414/) + + integer, dimension(8) :: recom_det_tracer_id = (/1007, 1008, 1017, 1021, 1308, 1321, 1408, 1421/) + + integer, dimension(8) :: recom_phy_tracer_id = (/1004, 1005, 1020, 1305, 1320, 1405, 1420, 1006/) + + integer, dimension(6) :: recom_dia_tracer_id = (/1013, 1014, 1314, 1414, 1016, 1015/) + + Real(kind=8) :: zero = 0.d0 + Integer :: one = 1 + Real(kind=8) :: tiny = 2.23D-16 + Real(kind=8) :: tiny_chl = 0.00001 + Real(kind=8) :: SecondsPerDay = 86400.d0 ! [s/day] + Real(kind=8) :: Pa2atm = 101325.d0 ! [Pa/atm] + Real(kind=8) :: redO2C = 1.453 ! O2:C ratio Anderson and Sarmiento, 1994 + +!! *** General configuration *** + + Logical :: use_REcoM = .true. + Logical :: REcoM_restart = .false. + + Integer :: bgc_num = 33 ! NEW increased the number from 28 to 34 (added coccos and respiration) ! NEW 3Zoo changed from 31 to 33 + integer :: bgc_base_num = 22 ! standard tracers + Integer :: diags3d_num = 28 ! Number of diagnostic 3d tracers to be saved + Real(kind=8) :: VDet = 20.d0 ! Sinking velocity, constant through the water column and positive downwards + Real(kind=8) :: VDet_zoo2 = 200.d0 ! Sinking velocity, constant through the water column + Real(kind=8) :: VPhy = 0.d0 !!! If the number of sinking velocities are different from 3, code needs to be changed !!! + Real(kind=8) :: VDia = 0.d0 + Real(kind=8) :: VCocco = 0.d0 ! NEW + Logical :: allow_var_sinking = .true. + Integer :: biostep = 1 ! Number of times biology should be stepped forward for each time step + Logical :: REcoM_Geider_limiter = .false. ! Decides what routine should be used to calculate limiters in sms + Logical :: REcoM_Grazing_Variable_Preference = .true. ! Decides if grazing should have preference for phyN or DiaN + Logical :: Grazing_detritus = .false. ! Decides grazing on detritus + Logical :: het_resp_noredfield = .true. ! Decides respiratation of copepods + Logical :: diatom_mucus = .true. ! Effect of nutrient limitation on the aggregation + Logical :: O2dep_remin = .true. ! NEW O2remin Add option for O2 dependency of organic matter remineralization + Logical :: use_ballasting = .true. ! NEW BALL + Logical :: use_density_scaling = .true. ! NEW BALL + Logical :: use_viscosity_scaling = .true. ! NEW BALL + Logical :: OmegaC_diss = .true. ! NEW DISS Use mocsy calcite omega to compute calcite dissolution + Logical :: CO2lim = .true. ! NEW Use CO2 dependence of growth and calcification + !Logical :: inter_CT_CL = .true. ! NEW inter use interaction between CO2 and both, temperature and light + Logical :: Diags = .true. !!!!!!!!!!!!!!!!!!!!!!Change in recom.F90 Diagnostics -> Diags + Logical :: constant_CO2 = .true. + Logical :: UseFeDust = .true. ! Turns dust input of iron off when set to.false. + Logical :: UseDustClim = .true. + Logical :: UseDustClimAlbani = .true. ! Use Albani dustclim field (If it is false Mahowald will be used) + Logical :: use_photodamage = .false. ! use Alvarez et al (2018) for chlorophyll degradation + logical :: HetRespFlux_plus = .true. !MB More stable computation of zooplankton respiration fluxes adding a small number to HetN + character(100) :: REcoMDataPath = '/albedo/work/projects/MarESys/ogurses/input/mesh_CORE2_finaltopo_mean/' + logical :: restore_alkalinity = .true. + logical :: useRivers = .false. + logical :: useRivFe = .false. ! river input of Fe + logical :: useErosion = .false. + logical :: NitrogenSS = .false. ! This one only activates rivers! And in principle denitrification, but denitrification is commented out. When set to true, external sources and sinks of nitrogen are activated (Riverine, aeolian and denitrification) + logical :: useAeolianN = .false. ! When set to true, aeolian nitrogen deposition is activated + integer :: firstyearoffesomcycle = 1958 ! The first year of the actual physical forcing (e.g. JRA-55) used + integer :: lastyearoffesomcycle = 2023 ! Last year of the actual physical forcing used + integer :: numofCO2cycles = 1 ! Number of cycles of the forcing planned + integer :: currentCO2cycle = 1 ! Which CO2 cycle we are currently running + Logical :: DIC_PI = .true. + integer :: Nmocsy = 1 ! Length of the vector that is passed to mocsy (always one for recom) + logical :: recom_debug = .false. + logical :: ciso = .false. !MB main switch to enable/disable carbon isotopes (13|14C) + integer :: benthos_num = 4 !MB number of sediment tracers = 8 if ciso = .true. + Logical :: use_MEDUSA = .false. ! main switch for sediment model + integer :: sedflx_num = 0 ! number of sedimentary fluxs from MEDUSA, = 7 if ciso + Logical :: add_loopback = .false. + real(kind=8) :: lb_tscale = 1.d0 ! time scale to balance the burial loss + integer :: bottflx_num = 4 ! number of stored sinking fluxes from the bottom layer, = 6 if C13 and = 8 if C14 + Logical :: use_atbox = .false. ! switch for atmospheric box model for CO2 + + Logical :: fe_2ligands = .false. ! consider Fe-ligand binding with two ligands + Logical :: fe_compl_nica = .false. ! use Fe-ligand parameterisation dependent on DOC and pH (Ye2020) + + namelist /pavariables/ use_REcoM, REcoM_restart, & + bgc_num, diags3d_num, bgc_base_num, & + VDet, VDet_zoo2, & + VPhy, VDia, VCocco, & + allow_var_sinking, biostep, REcoM_Geider_limiter, & + REcoM_Grazing_Variable_Preference, & + Grazing_detritus, & + het_resp_noredfield, & + diatom_mucus, & + O2dep_remin, use_ballasting, use_density_scaling, & ! O2remin, NEW BALL + use_viscosity_scaling, OmegaC_diss, CO2lim, & ! BALL, DISS added OmegaC_diss, added CO2lim + Diags , constant_CO2, & + UseFeDust, UseDustClim, UseDustClimAlbani, & + use_photodamage, HetRespFlux_plus, REcoMDataPath, & + restore_alkalinity, useRivers, useRivFe, & + useErosion, NitrogenSS, useAeolianN, & + firstyearoffesomcycle, lastyearoffesomcycle, numofCO2cycles, & + currentCO2cycle, DIC_PI, Nmocsy, & + recom_debug, ciso, benthos_num, & + use_MEDUSA, sedflx_num, bottflx_num, & + add_loopback, lb_tscale, use_atbox, & + fe_2ligands, fe_compl_nica + +!!------------------------------------------------------------------------------ +!! *** Sinking *** + Real(kind=8) :: Vdet_a = 0.0288 ! [1/day] + Real(kind=8) :: Vcalc = 0.0216 ! [1/day] depth dependence of calc_diss + + namelist /pasinking/ Vdet_a, Vcalc +!!------------------------------------------------------------------------------ +!! *** Initialization *** + Real(kind=8) :: cPhyN = 0.2d0 + Real(kind=8) :: cHetN = 0.2d0 + Real(kind=8) :: cZoo2N = 0.2d0 + + namelist /painitialization_N/ cPhyN, cHetN, cZoo2N +!!------------------------------------------------------------------------------ +!! *** Arrhenius function *** + Real(kind=8) :: recom_Tref = 288.15d0 ! [K] + Real(kind=8) :: C2K = 273.15d0 ! Conversion from degrees C to K + Real(kind=8) :: Ae = 4500.d0 ! [K] Slope of the linear part of the Arrhenius function + Real(kind=8) :: reminSi = 0.02d0 + Real(kind=8) :: k_o2_remin = 15.d0 ! NEW O2remin mmol m-3; Table 1 in Cram 2018 cites DeVries & Weber 2017 for a range of 0-30 mmol m-3 + namelist /paArrhenius/ recom_Tref, C2K, Ae, reminSi, k_o2_remin +!!------------------------------------------------------------------------------ +!! *** For limiter function *** + Real(kind=8) :: NMinSlope = 50.d0 + Real(kind=8) :: SiMinSlope = 1000.d0 + Real(kind=8) :: NCmin = 0.04d0 + Real(kind=8) :: NCmin_d = 0.04d0 + Real(kind=8) :: NCmin_c = 0.04d0 ! NEW + Real(kind=8) :: SiCmin = 0.04d0 + Real(kind=8) :: k_Fe = 0.04d0 + Real(kind=8) :: k_Fe_d = 0.12d0 + Real(kind=8) :: k_Fe_c = 0.04 ! NEW + Real(kind=8) :: k_si = 4.d0 + Real(kind=8) :: P_cm = 3.0d0 ! [1/day] the rate of C-specific photosynthesis + Real(kind=8) :: P_cm_d = 3.5d0 + Real(kind=8) :: P_cm_c = 3.3d0 ! NEW + namelist /palimiter_function/ NMinSlope, SiMinSlope, NCmin, NCmin_d, NCmin_c, SiCmin, k_Fe, k_Fe_d, k_Fe_c, k_si, P_cm, P_cm_d, P_cm_c +!!------------------------------------------------------------------------------ +!! *** For light calculations *** + Real(kind=8) :: k_w = 0.04d0 ! [1/m] Light attenuation coefficient + Real(kind=8) :: a_chl = 0.03d0 ! [1/m * 1/(mg Chl)] Chlorophyll specific attenuation coefficients + namelist /palight_calculations/ k_w, a_chl +!!------------------------------------------------------------------------------ +!! *** Photosynthesis *** + Real(kind=8) :: alfa = 0.14d0 ! [(mmol C*m2)/(mg Chl*W*day)] + Real(kind=8) :: alfa_d = 0.19d0 ! An initial slope of the P-I curve + Real(kind=8) :: alfa_c = 0.10d0 ! NEW + Real(kind=8) :: parFrac = 0.43d0 + namelist /paphotosynthesis/ alfa, alfa_d, alfa_c, parFrac +!!------------------------------------------------------------------------------ +!! *** Assimilation *** + Real(kind=8) :: V_cm_fact = 0.7d0 ! scaling factor for temperature dependent maximum of C-specific N-uptake + Real(kind=8) :: V_cm_fact_d = 0.7d0 + Real(kind=8) :: V_cm_fact_c = 0.7d0 ! NEW + Real(kind=8) :: NMaxSlope = 1000.d0 ! Max slope for limiting function + Real(kind=8) :: SiMaxSlope = 1000.d0 + Real(kind=8) :: NCmax = 0.2d0 ! [mmol N/mmol C] Maximum cell quota of nitrogen (N:C) + Real(kind=8) :: NCmax_d = 0.2d0 + Real(kind=8) :: NCmax_c = 0.15d0 ! NEW + Real(kind=8) :: SiCmax = 0.8d0 + Real(kind=8) :: NCuptakeRatio = 0.2d0 ! [mmol N/mmol C] Maximum uptake ratio of N:C + Real(kind=8) :: NCUptakeRatio_d = 0.2d0 + Real(kind=8) :: NCUptakeRatio_c = 0.2d0 ! NEW + Real(kind=8) :: SiCUptakeRatio = 0.2d0 + Real(kind=8) :: k_din = 0.55d0 ! [mmol N/m3] Half-saturation constant for nitrate uptake + Real(kind=8) :: k_din_d = 1.0d0 + Real(kind=8) :: k_din_c = 0.55d0 ! NEW + Real(kind=8) :: Chl2N_max = 3.15d0 ! [mg CHL/mmol N] Maximum CHL a : N ratio = 0.3 gCHL gN^-1 + Real(kind=8) :: Chl2N_max_d = 4.2d0 + Real(kind=8) :: Chl2N_max_c = 3.5d0 ! NEW + Real(kind=8) :: res_phy = 0.01d0 ! [1/day] Maintenance respiration rate constant + Real(kind=8) :: res_phy_d = 0.01d0 + Real(kind=8) :: res_phy_c = 0.0075d0 ! NEW + Real(kind=8) :: biosynth = 2.33d0 ! [mmol C/mmol N] Cost of biosynthesis + Real(kind=8) :: biosynthSi = 0.d0 + namelist /paassimilation/ V_cm_fact, V_cm_fact_d, V_cm_fact_c, NMaxSlope, SiMaxSlope, NCmax, NCmax_d, NCmax_c, SiCmax, & + NCuptakeRatio, NCUptakeRatio_d, NCUptakeRatio_c, SiCUptakeRatio, k_din, k_din_d, k_din_c, & + Chl2N_max, Chl2N_max_d, Chl2N_max_c, res_phy, res_phy_d, res_phy_c, biosynth, biosynthSi +!!------------------------------------------------------------------------------ +!! *** Iron chemistry *** + Real(kind=8) :: totalligand = 1.d0 ! [mumol/m3] order 1. Total free ligand + Real(kind=8) :: ligandStabConst = 100.d0 ! [m3/mumol] order 100. Ligand-free iron stability constant + namelist /pairon_chem/ totalligand, ligandStabConst +!!------------------------------------------------------------------------------ +!! *** Zooplankton *** + Real(kind=8) :: graz_max = 2.4d0 ! [mmol N/(m3 * day)] Maximum grazing loss parameter + Real(kind=8) :: epsilonr = 0.35d0 ! [(mmol N)2 /m6] Half saturation constant for grazing loss + Real(kind=8) :: res_het = 0.01d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) + Real(kind=8) :: Redfield = 6.625 ! [mmol C/mmol N] Redfield ratio of C:N = 106:16 + Real(kind=8) :: loss_het = 0.05d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) + Real(kind=8) :: pzDia = 0.5d0 ! Maximum diatom preference + Real(kind=8) :: sDiaNsq = 0.d0 + Real(kind=8) :: pzPhy = 1.0d0 ! Maximum nano-phytoplankton preference + Real(kind=8) :: sPhyNsq = 0.d0 + Real(kind=8) :: pzCocco = 0.5d0 ! NEW (value is just a guess) + Real(kind=8) :: sCoccoNsq = 0.d0 ! NEW + Real(kind=8) :: pzMicZoo = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference + Real(kind=8) :: sMicZooNsq = 0.d0 ! NEW 3Zoo + real(kind=8) :: tiny_het = 1.d-5 ! for more stable computation of HetRespFlux (_plus). Value can be > tiny because HetRespFlux ~ hetC**2. + namelist /pazooplankton/ graz_max, epsilonr, res_het, Redfield, loss_het, pzDia, sDiaNsq, pzPhy, sPhyNsq, pzCocco, sCoccoNsq, pzMicZoo, sMicZooNsq, tiny_het +!!------------------------------------------------------------------------------- +!! *** SecondZooplankton *** + Real(kind=8) :: graz_max2 = 0.1d0 ! [mmol N/(m3 * day)] Maximum grazing loss parameter + Real(kind=8) :: epsilon2 = 0.0144d0 ! [(mmol N)2 /m6] Half saturation constant for grazing loss + Real(kind=8) :: res_zoo2 = 0.0107d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) + Real(kind=8) :: loss_zoo2 = 0.003d0 ! [1/day] Temperature dependent N degradation of extracellular organic N + Real(kind=8) :: fecal_rate_n = 0.13d0 + Real(kind=8) :: fecal_rate_c = 0.295d0 + Real(kind=8) :: fecal_rate_n_mes = 0.25d0 ! NEW 3Zoo + Real(kind=8) :: fecal_rate_c_mes = 0.32d0 ! NEW 3Zoo + Real(kind=8) :: pzDia2 = 1.d0 ! Maximum diatom preference + Real(kind=8) :: sDiaNsq2 = 0.d0 + Real(kind=8) :: pzPhy2 = 0.5d0 ! Maximum diatom preference + Real(kind=8) :: sPhyNsq2 = 0.d0 + Real(kind=8) :: pzCocco2 = 0.2d0 ! NEW (value is just a guess) + Real(kind=8) :: sCoccoNsq2 = 0.d0 ! NEW + Real(kind=8) :: pzHet = 0.8d0 ! Maximum diatom preference + Real(kind=8) :: sHetNsq = 0.d0 + Real(kind=8) :: pzMicZoo2 = 0.8d0 ! NEW Zoo3 Maximum microzooplankton preference + Real(kind=8) :: sMicZooNsq2 = 0.d0 ! NEW Zoo3 + Real(kind=8) :: t1_zoo2 = 28145.d0 ! Krill temp. function constant1 + Real(kind=8) :: t2_zoo2 = 272.5d0 ! Krill temp. function constant2 + Real(kind=8) :: t3_zoo2 = 105234.d0 ! Krill temp. function constant3 + Real(kind=8) :: t4_zoo2 = 274.15d0 ! Krill temp. function constant3 + namelist /pasecondzooplankton/ graz_max2, epsilon2, res_zoo2, & + loss_zoo2, fecal_rate_n, fecal_rate_c, fecal_rate_n_mes, fecal_rate_c_mes, & ! NEW 3Zoo + pzDia2, sDiaNsq2, pzPhy2, sPhyNsq2, pzCocco2, sCoccoNsq2, pzHet, sHetNsq, & + pzMicZoo2, sMicZooNsq2, & + t1_zoo2, t2_zoo2, t3_zoo2, t4_zoo2 +!------------------------------------------------------------------------------- +!! *** Third Zooplankton (Microzooplankton) *** + Real(kind=8) :: graz_max3 = 0.46d0 ! NEW 3Zoo [mmol N/(m3 * day)] Maximum grazing loss parameter + Real(kind=8) :: epsilon3 = 0.64d0 ! NEW 3Zoo [(mmol N)2 /m6] Half saturation constant for grazing loss + Real(kind=8) :: loss_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Temperature dependent N degradation of extracellular organic N (EON) + Real(kind=8) :: res_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Respiration by heterotrophs and mortality (loss to detritus) + Real(kind=8) :: pzDia3 = 0.5d0 ! NEW 3Zoo Maximum diatom preference + Real(kind=8) :: sDiaNsq3 = 0.d0 ! NEW 3Zoo + Real(kind=8) :: pzPhy3 = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference + Real(kind=8) :: sPhyNsq3 = 0.d0 ! NEW 3Zoo + Real(kind=8) :: pzCocco3 = 0.d0 ! NEW 3Zoo Maximum coccolithophore preference ! ATTENTION: This value needs to be tuned; I start with zero preference! + Real(kind=8) :: sCoccoNsq3 = 0.d0 ! NEW 3Zoo + namelist /pathirdzooplankton/ graz_max3, epsilon3, loss_miczoo, res_miczoo, pzDia3, sDiaNsq3, pzPhy3, sPhyNsq3, pzCocco3, sCoccoNsq3 + +!------------------------------------------------------------------------------- +!! *** Detritus Grazing Params *** + Real(kind=8) :: pzDet = 1.d0 ! Maximum small detritus prefence by first zooplankton + Real(kind=8) :: sDetNsq = 0.d0 + Real(kind=8) :: pzDetZ2 = 1.d0 ! Maximum large detritus preference by first zooplankton + Real(kind=8) :: sDetZ2Nsq = 0.d0 + Real(kind=8) :: pzDet2 = 1.d0 ! Maximum small detritus prefence by second zooplankton + Real(kind=8) :: sDetNsq2 = 0.d0 + Real(kind=8) :: pzDetZ22 = 1.d0 ! Maximum large detritus preference by second zooplankton + Real(kind=8) :: sDetZ2Nsq2 = 0.d0 + namelist /pagrazingdetritus/ pzDet, sDetNsq, pzDetZ2, sDetZ2Nsq, & + pzDet2, sDetNsq2, pzDetZ22, sDetZ2Nsq2 +!!------------------------------------------------------------------------------ +!! *** Aggregation *** + Real(kind=8) :: agg_PD = 0.165d0 ! [m3/(mmol N * day)] Maximum aggregation loss parameter for DetN + Real(kind=8) :: agg_PP = 0.015d0 ! [m3/(mmol N * day)] Maximum aggregation loss parameter for PhyN and DiaN (plankton) + namelist /paaggregation/ agg_PD, agg_PP +!!------------------------------------------------------------------------------ +!! *** DIN *** + Real(kind=8) :: rho_N = 0.11d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) (Remineralization of DON) + namelist /padin_rho_N/ rho_N +!!------------------------------------------------------------------------------ +!! *** DIC *** + Real(kind=8) :: rho_C1 = 0.1d0 ! [1/day] Temperature dependent C degradation of extracellular organic C (EOC) + namelist /padic_rho_C1/ rho_C1 +!!------------------------------------------------------------------------------ +!! *** Phytoplankton N *** + Real(kind=8) :: lossN = 0.05d0 ! [1/day] Phytoplankton loss of organic N compounds + Real(kind=8) :: lossN_d = 0.05d0 + Real(kind=8) :: lossN_c = 0.05d0 + namelist /paphytoplankton_N/ lossN, lossN_d, lossN_c +!!------------------------------------------------------------------------------ +!! *** Phytoplankton C *** + Real(kind=8) :: lossC = 0.10d0 ! [1/day] Phytoplankton loss of carbon + Real(kind=8) :: lossC_d = 0.10d0 + Real(kind=8) :: lossC_c = 0.10d0 + namelist /paphytoplankton_C/ lossC, lossC_d, lossC_c +!!------------------------------------------------------------------------------ +!! *** Phytoplankton ChlA *** + Real(8) :: deg_Chl = 0.25d0 ! [1/day] + Real(kind=8) :: deg_Chl_d = 0.25d0 + Real(kind=8) :: deg_Chl_c = 0.20d0 ! (value is just a guess) + namelist /paphytoplankton_ChlA/ deg_Chl, deg_Chl_d, deg_Chl_c +!!------------------------------------------------------------------------------ +!! *** Detritus N *** + Real(kind=8) :: gfin = 0.3d0 ! 3Zoo [] Grazing efficiency (fraction of grazing flux into zooplankton pool) + Real(kind=8) :: grazEff2 = 0.8d0 ! 3Zoo [] Grazing efficiency (fraction of grazing flux into second zooplankton pool) + Real(kind=8) :: grazEff3 = 0.8d0 ! 3Zoo [] Grazing efficiency (fraction of grazing flux into microzooplankton pool) + Real(kind=8) :: reminN = 0.165d0 ! 3Zoo [1/day] Temperature dependent remineralisation rate of detritus + namelist /padetritus_N/ gfin, grazEff2, grazEff3, reminN +!!------------------------------------------------------------------------------ +!! *** Detritus C *** + Real(kind=8) :: reminC = 0.15d0 ! [1/day] Temperature dependent remineralisation rate of detritus + Real(kind=8) :: rho_c2 = 0.1d0 ! [1/day] Temperature dependent C degradation of TEP-C + namelist /padetritus_C/ reminC, rho_c2 +!!------------------------------------------------------------------------------ +!! *** Heterotrophs *** + Real(kind=8) :: lossN_z = 0.15d0 + Real(kind=8) :: lossC_z = 0.15d0 + namelist /paheterotrophs/ lossN_z, lossC_z +!!------------------------------------------------------------------------------ +!! *** Second Zooplankton *** + Real(kind=8) :: lossN_z2 = 0.02d0 + Real(kind=8) :: lossC_z2 = 0.02d0 + namelist /paseczooloss/ lossN_z2, lossC_z2 +!!----------------------------------------------------------------------------- +!! *** Third Zooplankton *** + Real(kind=8) :: lossN_z3 = 0.05d0 ! 3Zoo + Real(kind=8) :: lossC_z3 = 0.05d0 ! 3Zoo + namelist /pathirdzooloss/ lossN_z3, lossC_z3 +!!------------------------------------------------------------------------------ +!! *** Parameters for CO2 limitation *** + + Real(kind=8) :: Cunits = 976.5625 ! Conversion factor between [mol/m3] (model) and [umol/kg] (function): (1000 * 1000) / 1024 + Real(kind=8) :: a_co2_phy = 1.162e+00 ! [unitless] + Real(kind=8) :: a_co2_dia = 1.040e+00 ! [unitless] + Real(kind=8) :: a_co2_cocco = 1.109e+00 ! [unitless] + Real(kind=8) :: a_co2_calc = 1.102e+00 ! [unitless] + Real(kind=8) :: b_co2_phy = 4.888e+01 ! [mol/kg] + Real(kind=8) :: b_co2_dia = 2.890e+01 ! [mol/kg] + Real(kind=8) :: b_co2_cocco = 3.767e+01 ! [mol/kg] + Real(kind=8) :: b_co2_calc = 4.238e+01 ! [mol/kg] + Real(kind=8) :: c_co2_phy = 2.255e-01 ! [kg/mol] + Real(kind=8) :: c_co2_dia = 8.778e-01 ! [kg/mol] + Real(kind=8) :: c_co2_cocco = 3.912e-01 ! [kg/mol] + Real(kind=8) :: c_co2_calc = 7.079e-01 ! [kg/mol] + Real(kind=8) :: d_co2_phy = 1.023e+07 ! [kg/mol] + Real(kind=8) :: d_co2_dia = 2.640e+06 ! [kg/mol] + Real(kind=8) :: d_co2_cocco = 9.450e+06 ! [kg/mol] + Real(kind=8) :: d_co2_calc = 1.343e+07 ! [kg/mol] + namelist /paco2lim/ Cunits, a_co2_phy, a_co2_dia, a_co2_cocco, a_co2_calc, & + b_co2_phy, b_co2_dia, b_co2_cocco, b_co2_calc, & + c_co2_phy, c_co2_dia, c_co2_cocco, c_co2_calc, & + d_co2_phy, d_co2_dia, d_co2_cocco, d_co2_calc +!!------------------------------------------------------------------------------ +!! *** Iron *** + Real(kind=8) :: Fe2N = 0.033d0 ! Fe2C * 6.625 (Fe2C = 0.005d0) + Real(kind=8) :: Fe2N_benthos = 0.15d0 ! default was 0.14 Fe2C_benthos (=0.02125=0.68d0/32.d0) * 6.625 - will have to be tuned. [umol/m2/day] + Real(kind=8) :: kScavFe = 0.07d0 + Real(kind=8) :: dust_sol = 0.02d0 !Dissolution of Dust for bioavaliable + Real(kind=8) :: RiverFeConc = 100d0 ! mean DFe concentration in rivers + namelist /pairon/ Fe2N, Fe2N_benthos, kScavFe, dust_sol, RiverFeConc +!!------------------------------------------------------------------------------ +!! *** Calcification *** + Real(kind=8) :: calc_prod_ratio = 0.02d0 + Real(kind=8) :: calc_diss_guts = 0.0d0 + Real(kind=8) :: calc_diss_rate = 0.005714d0 !20.d0/3500.d0 + Real(kind=8) :: calc_diss_rate2 = 0.005714d0 + Real(kind=8) :: calc_diss_omegac = 0.197d0 ! NEW DISS value from Aumont et al. 2015, will be used with OmegaC_diss flag + Real(kind=8) :: calc_diss_exp = 1.d0 ! NEW DISS exponent in the dissolution rate of calcite, will be used with OmegaC_diss flag + namelist /pacalc/ calc_prod_ratio, calc_diss_guts, calc_diss_rate, calc_diss_rate2, calc_diss_omegac, calc_diss_exp ! NEW DISS added calc_diss_omegac, calc_diss_exp +!!------------------------------------------------------------------------------ +!! *** Benthos *** + Real(kind=8) :: decayRateBenN = 0.005d0 + Real(kind=8) :: decayRateBenC = 0.005d0 + Real(kind=8) :: decayRateBenSi = 0.005d0 + Real(kind=8) :: q_NC_Denit = 0.86d0 ! N:C quota of the denitrification process + namelist /pabenthos_decay_rate/ decayRateBenN, decayRateBenC, decayRateBenSi, q_NC_Denit +!!------------------------------------------------------------------------------ +!! *** CO2-flux *** + Real(kind=8) :: permil = 0.000000976 ! 1.e-3/1024.5d0 ! Converting DIC from [mmol/m3] to [mol/kg] + Real(kind=8) :: permeg = 1.e-6 ! [atm/uatm] Changes units from uatm to atm + Real(kind=8) :: Xacc = 1.e-12 ! Accuracy for ph-iteration (phacc) +! Real(kind=8) :: pCO2a = 380.d0 ! [uatm] Atmospheric partial pressure of CO2 + Real(kind=8) :: CO2_for_spinup = 278.d0 ! + namelist /paco2_flux_param/ permil, permeg, Xacc, CO2_for_spinup +!!------------------------------------------------------------------------------ +!! *** Alkalinity restoring *** + Real(kind=8) :: surf_relax_Alk = 3.2e-07 !10.d0/31536000.d0 + namelist /paalkalinity_restoring/ surf_relax_Alk +!!----------------------------------------------------------------------------- +!! *** Ballasting *** ! NEW BALL + Real(kind=8) :: rho_POC = 1033.d0 ! kg m-3; density of POC (see Table 1 in Cram et al., 2018) + Real(kind=8) :: rho_PON = 1033.d0 ! kg m-3; density of PON (see Table 1 in Cram et al., 2018) + Real(kind=8) :: rho_CaCO3 = 2830.d0 ! kg m-3; density of CaCO3 (see Table 1 in Cram et al., 2018) + Real(kind=8) :: rho_opal = 2090.d0 ! kg m-3; density of Opal (see Table 1 in Cram et al., 2018) + Real(kind=8) :: rho_ref_part = 1230.d0 ! kg m-3; reference particle density (see Cram et al., 2018) + Real(kind=8) :: rho_ref_water = 1027.d0 ! kg m-3; reference seawater density (see Cram et al., 2018) + Real(kind=8) :: visc_ref_water = 0.d00158 ! kg m-1 s-1; reference seawater viscosity, at Temp=4 degC (see Cram et al., 2018) + Real(kind=8) :: w_ref1 = 10.d0 ! m s-1; reference sinking velocity of small detritus + Real(kind=8) :: w_ref2 = 200.d0 ! m s-1; reference sinking velocity of large detritus + Real(kind=8) :: depth_scaling1 = 0.d015 ! s-1; factor to increase sinking speed of det1 with depth, set to 0 if not wanted + Real(kind=8) :: depth_scaling2 = 0.d0 ! s-1; factor to increase sinking speed of det2 with depth, set to 0 if not wanted + Real(kind=8) :: max_sinking_velocity = 250.d0 ! d-1; for numerical stability, set a maximum possible sinking velocity here (applies to both detritus classes) + namelist /paballasting/ rho_POC, rho_PON, rho_CaCO3, rho_opal, rho_ref_part, & + rho_ref_water, visc_ref_water, w_ref1, w_ref2, depth_scaling1, & + depth_scaling2, max_sinking_velocity +end module recom_config +! +!=============================================================================== +! +Module REcoM_declarations + implicit none + save + + Integer :: save_count_recom + Real(kind=8) :: tiny_N ! Min PhyN + Real(kind=8) :: tiny_N_d ! Min DiaN + Real(kind=8) :: tiny_N_c ! Min CocN ! NEW + Real(kind=8) :: tiny_C ! Min PhyC + Real(kind=8) :: tiny_C_d ! Min DiaC + Real(kind=8) :: tiny_C_c ! Min CocC ! NEW + Real(kind=8) :: tiny_Si ! Min DiaSi +!!------------------------------------------------------------------------------ +!! *** Temperature dependence of rates *** + Real(kind=8) :: rTref ! [1/K] Reciproque value of reference temp for Arrhenius function + Real(kind=8) :: rTloc ! [1/K] Reciproque of local ocean temp + Real(kind=8) :: arrFunc ! [] Temp dependence of rates + Real(kind=8) :: CoccoTFunc ! [] Temp dependence of coccolithophores + Real(kind=8) :: arrFuncZoo2 ! [] Temperature function for krill + Real(kind=8) :: q10_mic ! 3Zoo + Real(kind=8) :: q10_mic_res ! 3Zoo + Real(kind=8) :: q10_mes ! 3Zoo + Real(kind=8) :: q10_mes_res ! 3Zoo + Real(kind=8) :: reminSiT + Real(kind=8) :: O2Func ! O2remin +!!------------------------------------------------------------------------------ +!! *** CO2 dependence of rates ! NEW CO2 *** + Real(kind=8) :: h_depth(1) ! pH from mocsy is converted to proton concentration + !Real(kind=8) :: d_CT_CL_phy ! NEW inter For the interaction term between CO2 and both temperature and light + !Real(kind=8) :: d_CT_CL_dia + !Real(kind=8) :: d_CT_CL_coc + Real(kind=8) :: CoccoCO2 + Real(kind=8) :: DiaCO2 + Real(kind=8) :: PhyCO2 +!!------------------------------------------------------------------------------ +!! *** Quotas *** + Real(kind=8) :: quota, quota_dia, quota_cocco ! [mmol N/mmol C] Quota between phytoplankton N and C (NEW changed term) + Real(kind=8) :: recipQuota, recipQuota_dia, recipQuota_cocco ! [mmol C/mmol N] Reciproque of 'quota' (NEW changed term) + Real(kind=8) :: Chl2C, Chl2C_dia, Chl2C_cocco ! [mg ChlA/mmol C] Quota between phytoplankton ChlA and C (NEW changed term) + Real(kind=8) :: Chl2C_plast, Chl2C_plast_dia, CHL2C_plast_cocco ! [mg ChlA/mmol C] needed for photodamage (NEW changed term) + Real(kind=8) :: Chl2N, Chl2N_dia, Chl2N_cocco ! [mg ChlA/mmol N] Quota between phytoplankton ChlA and N (NEW changed term) + Real(kind=8) :: qSiC + Real(kind=8) :: qSiN + Real(kind=8) :: recipQZoo ! [mmol C/mmol N] Quota between heterotrophic C and N + Real(kind=8) :: recipQZoo2 ! [mmol C/mmol N] Quota between second zoo C and N + Real(kind=8) :: recipQZoo3 ! Zoo3 [mmol C/mmol N] Quota between third zoo C and N +!!! Grazing detritus Quotas for converting + Real(kind=8) :: recipDet ! [mmol C/mmol N] Quota between second zoo C and N + Real(kind=8) :: recipDet2 ! [mmol C/mmol N] Quota between second zoo C and N + +!!------------------------------------------------------------------------------ +!! *** For limiter function *** + Real(kind=8) :: qlimitFac, qlimitFacTmp ! Factor that regulates photosynthesis + Real(kind=8),external :: recom_limiter ! Function calculating qlimitFac + Real(kind=8) :: FeLimitFac ! [Mumol/m3] Half sat constant for iron + Real(kind=8) :: pMax, pMax_dia, pMax_cocco ! [1/day] Maximum rate of C-specific photosynthesis +!!------------------------------------------------------------------------------ +!! *** Light *** + Real(kind=8) :: kappar ! [1/m] Light attenuation coefficient modified by chla + Real(kind=8) :: kappastar ! [] + Real(kind=8) :: kdzUpper,kdzLower ! [] light attenuation * deltaZ at lower and upper control volume border + Real(kind=8) :: chl_upper,chl_lower ! [mg/m3] chl at lower and upper control volume border + Real(kind=8) :: Chlave ! [mg/m3] vertical average chl between two nodes + Real(kind=8) :: Upperlight, Lowerlight ! [?] light at upper and lower border of control volume + Real(kind=8) :: PARave ! [?] Average light in the control volumes +!!------------------------------------------------------------------------------ +!! *** Photosynthesis *** + Real(kind=8) :: Cphot, Cphot_dia, Cphot_cocco ! [1/day] C-specific rate of photosynthesis +!!------------------------------------------------------------------------------ +!! *** Assimilation *** + Real(kind=8) :: V_cm ! scaling factor for temperature dependent maximum of C-specific N-uptake + Real(kind=8) :: limitFacN,limitFacN_dia,limitFacN_cocco ! Factor that regulates N-assimilation. Calc from function recom_limiter + Real(kind=8) :: limitFacSi + Real(kind=8) :: N_assim, N_assim_dia, N_assim_Cocco ! [mmol N/(mmol C * day)] C specific N utilization rate + Real(kind=8) :: Si_assim +!!------------------------------------------------------------------------------ +!! *** Chlorophyll *** + Real(kind=8) :: ChlSynth, ChlSynth_dia, ChlSynth_cocco ! [mg CHL/ mmol N] CHL a synthesis regulation term + Real(kind=8) :: phyRespRate, phyRespRate_dia, phyRespRate_cocco ! [1/day] Phytoplankton respiration rate + Real(kind=8) :: KOchl, KOchl_dia, KOchl_cocco ! coefficient for damage to the photosynthetic apparatus +!!------------------------------------------------------------------------------ +!! *** Iron chemistry *** + Real(kind=8),external :: iron_chemistry, iron_chemistry_2ligands + Real(kind=8) :: logK1, logK2, Klig1, Klig2 +!!------------------------------------------------------------------------------ +!! *** Zooplankton *** + Real(kind=8) :: DiaNsq + Real(kind=8) :: varpzdia, fDiaN ! Part of Diatoms available for food + Real(kind=8) :: PhyNsq + Real(kind=8) :: varpzPhy, fPhyN ! Part of Nano available for food + Real(kind=8) :: CoccoNsq ! NEW + Real(kind=8) :: varpzCocco,fCoccoN ! NEW + Real(kind=8) :: MicZooNsq ! NEW 3Zoo + Real(kind=8) :: varpzMicZoo, fMicZooN ! NEW 3Zoo Part of microzooplankton available for food + Real(kind=8) :: food, foodsq ! [(mmol N)2/m6] + Real(kind=8) :: grazingFlux_phy, grazingFlux_Dia, grazingFlux_Cocco ! [mmol N / (m3 * day)] (NEW changed term) + Real(kind=8) :: grazingFlux_miczoo ! NEW 3Zoo + Real(kind=8) :: grazingFlux + Real(kind=8) :: grazEff ! NEW 3Zoo + Real(kind=8) :: HetRespFlux ! Zooplankton respiration + Real(kind=8) :: HetLossFlux ! [(mmol N)2/(m6 * day)] Zooplankton mortality (quadratic loss) +!!------------------------------------------------------------------------------ +!! *** Second Zooplankton *** + Real(kind=8) :: DiaNsq2, PhyNsq2, CoccoNsq2, HetNsq ! NEW (changed term) + Real(kind=8) :: varpzDia2, fDiaN2, varpzPhy2, fPhyN2, varpzCocco2, fCoccoN2, varpzHet, fHetN ! Part of Diatoms available for food + Real(kind=8) :: MicZooNsq2 ! NEW Zoo3 + Real(kind=8) :: varpzMicZoo2, fMicZooN2 ! NEW Zoo3 + Real(kind=8) :: food2, foodsq2 ! [(mmol N)2/m6] + Real(kind=8) :: grazingFlux_phy2, grazingFlux_Dia2, grazingFlux_Cocco2, grazingFlux_het2 ! [mmol N / (m3 * day) (NEW changed term) + Real(kind=8) :: grazingFlux_miczoo2 ! NEW Zoo3 + Real(kind=8) :: grazingFlux2 + Real(kind=8) :: Zoo2RespFlux ! Zooplankton respiration + Real(kind=8) :: Zoo2LossFlux ! [(mmol N)2/(m6 * day)] Zooplankton mortality (quadratic loss) + Real(kind=8) :: Zoo2fecalloss_n ! [(mmol N)/(m3*day)] Second zoo fecal pellet + Real(kind=8) :: Zoo2fecalloss_c ! [(mmol N)/(m3*day)] Second zoo fecal pellet + Real(kind=8) :: Mesfecalloss_n ! NEW Zoo3 + Real(kind=8) :: Mesfecalloss_c ! NEW Zoo3 + Real(kind=8) :: recip_res_zoo22 +!!------------------------------------------------------------------------------ +!! *** Grazing Detritus *** + Real(kind=8) :: DetNsq, DetZ2Nsq, DetNsq2, DetZ2Nsq2 + Real(kind=8) :: varpzDet, varpzDetZ2, varpzDet2, varpzDetZ22 ! Part of Diatoms available for food + Real(kind=8) :: fDetN, fDetZ2N, fDetN2, fDetZ2N2 + Real(kind=8) :: grazingFlux_Det, grazingFlux_DetZ2 ! [mmol N / (m3 * day)] + Real(kind=8) :: grazingFlux_Det2, grazingFlux_DetZ22 ! [mmol N / (m3 * day)] +!!------------------------------------------------------------------------------ +!! *** Third zooplankton *** ! NEW 3Zoo + Real(kind=8) :: DiaNsq3 + Real(kind=8) :: varpzDia3, fDiaN3 ! Part of diatoms available for food + Real(kind=8) :: loss_hetfd + Real(kind=8) :: PhyNsq3 + Real(kind=8) :: varpzPhy3, fPhyN3 ! Part of small phytoplankton available for food + Real(kind=8) :: CoccoNsq3 + Real(kind=8) :: varpzCocco3, fCoccoN3 ! Part of coccolithophores available for food + Real(kind=8) :: food3, foodsq3 ! [(mmol N)2/m6] + Real(kind=8) :: grazingFlux_phy3, grazingFlux_Dia3, grazingFlux_Cocco3 ! [mmol N / (m3 * day)] + Real(kind=8) :: grazingFlux3 + Real(kind=8) :: MicZooRespFlux ! Zooplankton respiration + Real(kind=8) :: MicZooLossFlux ! [(mmol N)2/(m6 * day)] Zooplankton mortality (quadratic loss) +!!------------------------------------------------------------------------------ +!! *** Aggregation *** + Real(kind=8) :: AggregationRate ! [1/day] AggregationRate (of nitrogen) +!!------------------------------------------------------------------------------ +!! *** Calcification *** + Real(kind=8) :: calc_prod_ratio_cocco ! NEW (before it was defined as a fixed value, but now dependent on cocco and T) + Real(kind=8) :: calcification + Real(kind=8) :: calc_loss_agg + Real(kind=8) :: calc_loss_gra + Real(kind=8) :: calc_diss + Real(kind=8) :: calc_diss_ben ! NEW DISS + Real(kind=8) :: calc_loss_gra2 ! zoo2 detritus + Real(kind=8) :: calc_diss2 ! zoo2 detritus + Real(kind=8) :: calc_loss_gra3 ! NEW Zoo3 detritus + Real(kind=8) :: Ca ! NEW DISS (calcium ion concentration) + Real(kind=8) :: CO3_sat ! NEW DISS (saturated CO3 concentration, calculated from kspc and Ca) +!!------------------------------------------------------------------------------ +!! *** Diagnostics *** + Real(kind=8) :: recipbiostep ! 1/number of steps per recom cycle + Real(kind=8),allocatable,dimension(:,:) :: Diags3Dloc + Real(kind=8) :: locNPPn, locGPPn, locNNAn, locChldegn + Real(kind=8) :: locNPPd, locGPPd, locNNAd, locChldegd + Real(kind=8) :: locNPPc, locGPPc, locNNAc, locChldegc + Real(kind=8),allocatable,dimension(:) :: vertNPPn, vertGPPn, vertNNAn, vertChldegn + Real(kind=8),allocatable,dimension(:) :: vertNPPd, vertGPPd, vertNNAd, vertChldegd + Real(kind=8),allocatable,dimension(:) :: vertNPPc, vertGPPc, vertNNAc, vertChldegc + Real(kind=8),allocatable,dimension(:) :: vertgrazmeso_tot, vertgrazmeso_n, vertgrazmeso_d, vertgrazmeso_c + Real(kind=8),allocatable,dimension(:) :: vertrespmeso, vertrespmacro, vertrespmicro + Real(kind=8),allocatable,dimension(:) :: vertcalcdiss, vertcalcif + Real(kind=8),allocatable,dimension(:) :: vertaggn, vertaggd, vertaggc + Real(kind=8),allocatable,dimension(:) :: vertdocexn, vertdocexd, vertdocexc + Real(kind=8),allocatable,dimension(:) :: vertrespn, vertrespd, vertrespc +!!------------------------------------------------------------------------------ +!! *** Benthos *** + Real(kind=8),allocatable,dimension(:) :: decayBenthos ! [1/day] Decay rate of detritus in the benthic layer + Real(kind=8),allocatable,dimension(:) :: wFluxDet ! [mmol/(m2 * day)] Flux of N,C,Si and calc through sinking of detritus + Real(kind=8),allocatable,dimension(:) :: wFluxPhy ! [mmol/(m2 * day)] Flux of N,C, calc and chl through sinking of phytoplankton + Real(kind=8),allocatable,dimension(:) :: wFluxDia ! [mmol/(m2 * day)] Flux of N,C, Si and chl through sinking of diatoms + Real(kind=8),allocatable,dimension(:) :: wFluxCocco ! NEW [mmol/(m2 * day)] Flux of N,C, calc and chl through sinking of coccos + Real(kind=8) :: Vben_det ! [m/day] speed of sinking into benthos from water column + Real(kind=8) :: Vben_det_seczoo !second zooplankton sinking benthos + Real(kind=8) :: Vben_phy + Real(kind=8) :: Vben_dia + Real(kind=8) :: Vben_coc + Real(kind=8) :: Ironflux ! [umol Fe/(m2*day)] Flux of Fe from sediment to water +!_______________________________________________________________________________ +! Arrays added for RECOM implementation: +!!---- PAR +!real(kind=8),allocatable,dimension(:) :: PAR + +! --> multiplication factor for surface boundary condition in +! bc_surface for river and erosion +! river on/off -->=1.0/0.0 +! erosion on/off -->=1.0/0.0 + +real(kind=8) :: is_riverinput +real(kind=8) :: is_erosioninput + +end module REcoM_declarations + +!=============================================================================== +! For arrays needed for the whole 2D or 3D domain, but only needed in REcoM +!------------------------------------------------------------------------------- +Module REcoM_GloVar + implicit none + save + + Real(kind=8),allocatable,dimension(:,:) :: Benthos ! 4 types of benthos-tracers with size [4 n2d] + Real(kind=8),allocatable,dimension(:,:,:) :: Benthos_tr ! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + + Real(kind=8),allocatable,dimension(:) :: GloFeDust ! [umol/m2/s] Monthly 2D field of iron soluted in surface water from dust + Real(kind=8),allocatable,dimension(:) :: GloNDust ! [mmol/m2/s] 10-year mean 2D fields of nitrogen soluted in surface water from dust + Real(kind=8),dimension(12) :: AtmCO2 ! [uatm] Atmospheric CO2 partial pressure. One value for the whole planet for each month + + Real(kind=8),allocatable,dimension(:) :: AtmFeInput ! [umol/m2/s] Includes ice, but is, other than that identlical to GloFeDust + Real(kind=8),allocatable,dimension(:) :: AtmNInput ! [umol/m2/s] Includes ice, but is, other than that identlical to GloNDust + Real(kind=8),allocatable,dimension(:) :: GloPCO2surf ! [uatm] Surface ocean CO2 partial pressure + Real(kind=8),allocatable,dimension(:) :: GloCO2flux ! [mmol/m2/day] Positive downwards + Real(kind=8),allocatable,dimension(:) :: GloCO2flux_seaicemask ! [mmol/m2/day] Positive downwards + Real(kind=8),allocatable,dimension(:) :: GloO2flux_seaicemask ! [mmol/m2/day] Positive downwards + Real(kind=8),allocatable,dimension(:) :: GloHplus ! [mol/kg] Concentrations of H-plus ions in the surface ocean + + Real(kind=8),allocatable,dimension(:,:) :: CO23D ! MOCSY: [mol/m3] Aqueous CO2 concentration for all depths + Real(kind=8),allocatable,dimension(:,:) :: pH3D ! MOCSY: total scale + Real(kind=8),allocatable,dimension(:,:) :: pCO23D ! MOCSY: [uatm] CO2 partial pressure + Real(kind=8),allocatable,dimension(:,:) :: HCO33D ! MOCSY: [mol/m3] Bicarbonate ion concentration + Real(kind=8),allocatable,dimension(:,:) :: CO33D ! DISS: [mol/m3] Carbonate ion concentration + Real(kind=8),allocatable,dimension(:,:) :: OmegaC3D ! DISS: calcite saturation state + Real(kind=8),allocatable,dimension(:,:) :: kspc3D ! DISS: [mol^2/kg^2] stoichiometric solubility product of calcite + Real(kind=8),allocatable,dimension(:,:) :: rhoSW3D ! DISS: [mol/m3] in-situ density of seawater + + Real(kind=8),allocatable,dimension(:,:) :: rho_particle1 ! BALL: density of particle class 1 + Real(kind=8),allocatable,dimension(:,:) :: rho_particle2 ! BALL: density of particle class 2 + Real(kind=8),allocatable,dimension(:,:) :: scaling_density1_3D ! BALL: scaling factor + Real(kind=8),allocatable,dimension(:,:) :: scaling_density2_3D ! BALL: scaling factor + Real(kind=8),allocatable,dimension(:,:) :: scaling_visc_3D ! BALL: scaling factor + Real(kind=8),allocatable,dimension(:,:) :: seawater_visc_3D ! BALL: scaling factor + + Real(kind=8),allocatable,dimension(:) :: GlodPCO2surf ! [mmol/m2/day] ocean-atmosphere + Real(kind=8),allocatable,dimension(:,:) :: GlodecayBenthos ! [1/day] Decay rate of detritus in the benthic layer saved for oce_ale_tracer.F90 + + Real(kind=8),allocatable,dimension(:,:) :: GlowFluxDet ! + Real(kind=8),allocatable,dimension(:,:) :: GlowFluxPhy ! + Real(kind=8),allocatable,dimension(:,:) :: GlowFluxDia ! + Real(kind=8),allocatable,dimension(:,:) :: GlowFluxCocco ! + + Real(kind=8),allocatable,dimension(:,:) :: diags2D ! Diagnostics in 2D [8 n2d] + Real(kind=8),allocatable,dimension(:) :: NPPn + Real(kind=8),allocatable,dimension(:) :: NPPd + Real(kind=8),allocatable,dimension(:) :: GPPn + Real(kind=8),allocatable,dimension(:) :: GPPd + Real(kind=8),allocatable,dimension(:) :: NNAn + Real(kind=8),allocatable,dimension(:) :: NNAd + Real(kind=8),allocatable,dimension(:) :: Chldegn + Real(kind=8),allocatable,dimension(:) :: Chldegd + Real(kind=8),allocatable,dimension(:) :: NPPc + Real(kind=8),allocatable,dimension(:) :: GPPc + Real(kind=8),allocatable,dimension(:) :: NNAc + Real(kind=8),allocatable,dimension(:) :: Chldegc + Real(kind=8),allocatable,dimension(:,:) :: grazmeso_tot + Real(kind=8),allocatable,dimension(:,:) :: grazmeso_n + Real(kind=8),allocatable,dimension(:,:) :: grazmeso_d + Real(kind=8),allocatable,dimension(:,:) :: grazmeso_c + Real(kind=8),allocatable,dimension(:,:) :: respmeso + Real(kind=8),allocatable,dimension(:,:) :: respmacro + Real(kind=8),allocatable,dimension(:,:) :: respmicro + Real(kind=8),allocatable,dimension(:,:) :: calcdiss + Real(kind=8),allocatable,dimension(:,:) :: calcif + Real(kind=8),allocatable,dimension(:,:) :: aggn + Real(kind=8),allocatable,dimension(:,:) :: aggd + Real(kind=8),allocatable,dimension(:,:) :: aggc + Real(kind=8),allocatable,dimension(:,:) :: docexn + Real(kind=8),allocatable,dimension(:,:) :: docexd + Real(kind=8),allocatable,dimension(:,:) :: docexc + Real(kind=8),allocatable,dimension(:,:) :: respn + Real(kind=8),allocatable,dimension(:,:) :: respd + Real(kind=8),allocatable,dimension(:,:) :: respc + Real(kind=8),allocatable,dimension(:,:) :: NPPn3D + Real(kind=8),allocatable,dimension(:,:) :: NPPd3D + Real(kind=8),allocatable,dimension(:,:) :: NPPc3D + + Real(kind=8),allocatable,dimension(:) :: DenitBen ! Benthic denitrification Field in 2D [n2d 1] + +! for using MEDUSA + Real(kind=8),allocatable,dimension(:,:) :: SinkFlx ! Diagnostics in 2D [4 n2d] or [6 n2d] with ciso + Real(kind=8),allocatable,dimension(:,:,:) :: SinkFlx_tr ! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + Real(kind=8),allocatable,dimension(:,:) :: Sinkingvel1 ! Diagnostics for vertical sinking + Real(kind=8),allocatable,dimension(:,:) :: Sinkingvel2 ! Diagnostics for vertical sinking + Real(kind=8),allocatable,dimension(:,:,:) :: Sinkvel1_tr ! Sinking speed of particle class 1 OG 16.03.23 + Real(kind=8),allocatable,dimension(:,:,:) :: Sinkvel2_tr ! Sinking speed of particle class 2 OG 16.03.23 + + Real(kind=8),allocatable,dimension(:,:) :: GloSed ! Yearly input into bottom water from sediments [n2d 5] or [n2d 7] with ciso + Real(kind=8),allocatable,dimension(:,:) :: lb_flux ! Yearly burial from medusa: [n2d 5] or [n2d 9] with ciso_14 + +! atmospheric box model: + real(kind=8),allocatable,dimension(:) :: x_co2atm ! atmospheric CO2 mixing ratio (mole fraction) + + Real(kind=8), allocatable,dimension(:) :: Alk_surf ! Surface alkalinity field used for restoring + Real(kind=8), allocatable,dimension(:) :: relax_alk + Real(kind=8), allocatable,dimension(:) :: virtual_alk + + real(kind=8), allocatable,dimension(:,:) :: PAR3D ! Light in the water column [nl-1 n2d] + real(kind=8), allocatable,dimension(:) :: RiverineLonOrig, RiverineLatOrig, RiverineDINOrig, RiverineDONOrig, RiverineDOCOrig, RiverineDSiOrig ! Variables to save original values for riverine nutrients + real(kind=8), allocatable,dimension(:) :: RiverDIN2D, RiverDON2D, RiverDOC2D, RiverDSi2D, RiverAlk2D, RiverDIC2D, RiverFe + real(kind=8), allocatable,dimension(:) :: ErosionTSi2D, ErosionTON2D, ErosionTOC2D +!! Cobeta, Cos(Angle of incidence) + Real(kind=8), allocatable,dimension(:) :: cosAI +end module REcoM_GloVar + +!=============================================================================== +! For variables saved locally for each column and then used in REcoM +!------------------------------------------------------------------------------- +Module REcoM_locVar + + Real(kind=8),allocatable,dimension(:) :: LocBenthos ! Storing the values for benthos in current watercolumn: N,C,Si and Calc + Real(kind=8) :: Hplus ! [mol/kg] Concentrations of H-plus ions in the surface node + Real(kind=8) :: pCO2surf(1) ! [uatm] Partial pressure of CO2 in surface layer at current 2D node + Real(kind=8) :: dflux(1) ! [mmol/m2/day] Flux of CO2 into the ocean + Real(kind=8) :: o2ex(1) ! [mmol/m2/s] Flux of O2 into the ocean + Real(kind=8) :: ULoc(1) ! Wind strength above current 2D node, change array size if used with mocsy input vector longer than one + Real(kind=8) :: Loc_ice_conc(1) + Real(kind=8) :: dpCO2surf(1) ! [uatm] difference of oceanic pCO2 minus atmospheric pCO2 + +! mocsy output ----------------------------------------------------------------------------------------------------------------------------- + Real(kind=8) :: co2flux(1) ! air-to-sea flux of CO2 [mol/(m^2 * s)] + Real(kind=8) :: co2ex(1) ! time rate of change of surface CO2 due to gas exchange [mol/(m^3 * s)] + Real(kind=8) :: dpco2(1) ! difference of oceanic pCO2 minus atmospheric pCO2 [uatm] + Real(kind=8) :: ph(1) ! pH on total scale + Real(kind=8) :: pco2(1) ! oceanic partial pressure of CO2 (uatm) + Real(kind=8) :: fco2(1) ! oceanic fugacity of CO2 (uatm) + Real(kind=8) :: co2(1) ! aqueous CO2 concentration [mol/m^3] + Real(kind=8) :: hco3(1) ! bicarbonate (HCO3-) concentration [mol/m^3] + Real(kind=8) :: co3(1) ! carbonate (CO3--) concentration [mol/m^3] + Real(kind=8) :: OmegaA(1) ! Omega for aragonite, i.e., the aragonite saturation state + Real(kind=8) :: OmegaC(1) ! Omega for calcite, i.e., the calcite saturation state + Real(kind=8) :: BetaD(1) ! BetaD = Revelle factor dpCO2/pCO2 / dDIC/DIC + Real(kind=8) :: rhoSW(1) ! rhoSW = in-situ density of seawater; rhoSW = f(s, t, p) + Real(kind=8) :: p(1) ! pressure [decibars]; p = f(depth, latitude) if computed from depth [m] OR p = depth if [db] + Real(kind=8) :: tempis(1) ! in-situ temperature [degrees C] + Real(kind=8) :: kw660(1) ! gas transfer velocity (piston velocity) for CO2 [m/s] + Real(kind=8) :: co2flux_seaicemask(1) ! air-to-sea flux of CO2 [mmol/m2/s] + Real(kind=8) :: o2flux_seaicemask(1) ! air-to-sea flux of CO2 [mmol/m2/s] + +! mocsy output entire depth range ------------------------------------------------------------------------------------------------------------ ! NEW MOCSY + Real(kind=8) :: ph_depth(1) ! NEW MOCSY pH on total scale + Real(kind=8) :: pco2_depth(1) ! NEW MOCSY oceanic partial pressure of CO2 (uatm) + Real(kind=8) :: fco2_depth(1) ! NEW MOCSY oceanic fugacity of CO2 (uatm) + Real(kind=8) :: co2_depth(1) ! NEW MOCSY aqueous CO2 concentration [mol/m^3] + Real(kind=8) :: hco3_depth(1) ! NEW MOCSY bicarbonate (HCO3-) concentration [mol/m^3] + Real(kind=8) :: co3_depth(1) ! NEW MOCSY carbonate (CO3--) concentration [mol/m^3] + Real(kind=8) :: OmegaA_depth(1) ! NEW MOCSY Omega for aragonite, i.e., the aragonite saturation state + Real(kind=8) :: OmegaC_depth(1) ! NEW MOCSY Omega for calcite, i.e., the calcite saturation state + Real(kind=8) :: BetaD_depth(1) ! NEW MOCSY BetaD = Revelle factor dpCO2/pCO2 / dDIC/DIC + Real(kind=8) :: kspc_depth(1) ! NEW DISS stoichiometric solubility product of calcite (mol^2/kg^2) + Real(kind=8) :: rhoSW_depth(1) ! NEW MOCSY rhoSW = in-situ density of seawater; rhoSW = f(s, t, p) + Real(kind=8) :: p_depth(1) ! NEW MOCSY pressure [decibars]; p = f(depth, latitude) if computed from depth [m] OR p = depth if [db] + Real(kind=8) :: tempis_depth(1) ! NEW MOCSY in-situ temperature [degrees C] + + Integer :: logfile_outfreq_7 ! NEW MOCSY helper value to calculate the timesteps for the carbonate system (every 7th day) + Integer :: logfile_outfreq_30 ! NEW MOCSY helper value to calculate the timesteps for the carbonate system (every 30th day) + +!------------------------------------------------------------------------------- + + Real(kind=8) :: bt, dic_molal, talk_molal ! Common block: Species + Real(kind=8) :: k1, k2, kw, kb, ff ! Common block: Equilibrium_constants + Real(kind=8) :: FeDust ! [umol/m2/s] + Real(kind=8) :: NDust ! [mmol/m2/s] +! Real(kind=8) :: Loc_ice_conc(1) ! Used to calculate flux of DIC in REcoM 0 -> 1 + Real(kind=8) :: LocAtmCO2(1) ! [uatm] + Real(kind=8) :: LocDiags2D(12) ! (changed it from 8 to 12) +! Real(kind=8) :: LocDenit ! BALL + Real(kind=8) :: LocRiverDIN, LocRiverDON, LocRiverDOC, LocRiverDSi, LocRiverDIC, LocRiverAlk + + Real(kind=8) :: res_zoo2_a, res_zoo2_f + Real(kind=8) :: grazingFluxcarbonzoo2 ! grazingfluxcarbon + Real(kind=8) :: grazingFluxcarbon_mes ! Zoo3 + + Real(kind=8) :: PICPOCtemp ! (added to make the calcification dependent on the temperature, after Krumhardt et al. 2017/2019) + Real(kind=8) :: PICPOCCO2 ! (to make calcification dependent on CO2) + Real(kind=8) :: PICPOCN ! (to make calcification dependent on N-limitation) + Real(kind=8) :: calc_prod_final ! (added to make the calcification dependent on nutrients (N, Fe), after Krumhardt et al. 2017/2019) + Integer :: currentCO2year + +end module REcoM_LocVar +!=============================================================================== +! Specific declarations related to carbon isotope simulations +!------------------------------------------------------------------------------- +module REcoM_ciso + implicit none + save + + +! Options for carbon isotope simulations (see namelist.recom) + logical :: ciso_init = .false. ! Initial fractionation of bulk organic matter + logical :: ciso_14 = .false. ! Include radiocarbon (-> 31 or 38 tracers) + logical :: ciso_organic_14 = .false. ! Include organic radiocarbon (-> 38 tracers) + real(kind=8) :: delta_co2_13 = -6.61 + real(kind=8) :: big_delta_co2_14(3) = (/0., 0., 0./) + real(kind=8) :: lambda_14 = 3.8561e-12 ! Decay constant of carbon-14 +! for revised atbox 14CO2 implementation + logical :: atbox_spinup = .true. + real(kind=8) :: cosmic_14_init = 2.0 ! Initial 14C production flux (atoms / s / cm**2) + + + namelist / paciso / ciso_init, ciso_14, ciso_organic_14, & + lambda_14, delta_co2_13, big_delta_co2_14, & + atbox_spinup, cosmic_14_init + +! Extensions of other modules or subroutines +! Module REcoM_constants: ciso tracer indices + integer :: idic_13, iphyc_13, idetc_13, ihetc_13, idoc_13, idiac_13, iphycal_13, idetcal_13, & + idic_14, iphyc_14, idetc_14, ihetc_14, idoc_14, idiac_14, iphycal_14, idetcal_14 + +! Module REcoM_declarations: + real(kind=8) :: quota_13, quota_14, quota_dia_13, quota_dia_14, & ! quotas + recipQuota_13, recipQuota_14, recipQuota_dia_13, recipQuota_dia_14, & ! reciprocal quotas + recipQZoo_13, recipQZoo_14 + real(kind=8) :: HetRespFlux_13, HetRespFlux_14 ! zooplankton respiration fluxes + real(kind=8) :: calcification_13, calcification_14, & ! calcification + calc_loss_agg_13, calc_loss_agg_14, & + calc_loss_gra_13, calc_loss_gra_14, & + calc_diss_13, calc_diss_14 + +! Module REcoM_GloVar: + real(kind=8),dimension(12) :: AtmCO2_13 ! [uatm] Atmospheric 13CO2 partial pressure. One value for the whole planet for each month + real(kind=8),dimension(3,12) :: AtmCO2_14 ! [uatm] Atmospheric 14CO2 partial pressure. Three latitude zones for each month + real(kind=8),allocatable,dimension(:) :: GloPCO2surf_13, GloPCO2surf_14 ! [uatm] Surface ocean 13|14CO2 partial pressure + real(kind=8),allocatable,dimension(:) :: GloCO2flux_13, GloCO2flux_14 ! [mmol/m2/day] Positive downwards + real(kind=8),allocatable,dimension(:) :: GloCO2flux_seaicemask_13, GloCO2flux_seaicemask_14 + real(kind=8),allocatable,dimension(:) :: RiverineDOCOrig_13, RiverineDOCOrig_14, RiverDOC2D_13, RiverDOC2D_14 + +! Module REcoM_LocVar: + real(kind=8) :: pCO2surf_13(1), pCO2surf_14(1), & ! [uatm] Partial pressure of 13|14CO2 in surface layer at current 2D node + co2flux_13(1), co2flux_14(1), & ! mocsy output: air-to-sea flux of 13|14CO2 [mol/(m^2 * s)] + co2flux_seaicemask_13(1), co2flux_seaicemask_14(1) ! air-to-sea flux of CO2 [mmol/m2/s] + real(kind=8) :: LocAtmCO2_13(1), LocAtmCO2_14(1) ! [uatm] + real(kind=8) :: LocRiverDOC_13, LocRiverDOC_14 ! CHECK + +! Subroutines REcoM_main & REcoM_extra: + real(kind=8) :: lat_val ! nodal latitude (of atmospheric input) + +! Subroutine REcoM_extra: + real(kind=8) :: delta_co2_14 ! atmospheric Delta14CO2 + +! Subroutine REcoM_forcing: + real(kind=8) :: co2sat, & ! dissolved CO2 at saturation (CO2*air) [mol / m**3] + kwco2 ! piston velocity of CO2 + +! Subroutine REcoM_sms: + real(kind=8) :: DIC_13, DIC_14, & ! [mmol/m3] Dissolved Inorganic 13|14Carbon + PhyC_13, PhyC_14, & ! [mmol/m3] Intracellular conc of 13|14Carbon in small phytoplankton + DetC_13, DetC_14, & ! [mmol/m3] Conc of 13|14C in Detritus + HetC_13, HetC_14, & ! [mmol/m3] Conc of 13|14C in heterotrophs + EOC_13, EOC_14, & ! [mmol/m3] Extracellular Organic 13|14C conc + DiaC_13, DiaC_14, & ! [mmol/m3] Intracellular conc of 13|14Carbon in diatoms + PhyCalc_13, PhyCalc_14, & ! [mmol/m3] Conc of 13|14C in calcite of phytoplankton + DetCalc_13, DetCalc_14 ! [mmol/m3] Conc of 13|14C in calcite of detritus + real(kind=8),allocatable,dimension(:) :: Cphot_z, Cphot_dia_z ! Vertical profiles of photosynthesis rates, fesom1: 46 -> 47 in fesom2 + +! Subroutine REcoM_init: + real(kind=8),allocatable,dimension(:,:) :: delta_dic_13_init, & ! auxiliary initial + delta_dic_14_init, & ! d|Delta13|14C + big_delta_dic_14_init ! fields + +! Atmospheric box model (global variables): + real(kind=8),allocatable,dimension(:) :: x_co2atm_13, x_co2atm_14, & ! atmospheric CO2 mixing ratio (mole fraction) + cosmic_14 ! cosmogenic 14 production (mol / s) + real(kind=8) :: production_rate_to_flux_14, & ! conversion factor + r_atm_spinup_13, r_atm_spinup_14 ! 13|14CO2 / 12CO2 spinup ratios + +! Specific factors related the carbon-isotopic composition +! Isotopic ratios + real(kind=8) :: r_atm_13, r_atm_14, & ! atmospheric CO2 + r_co2s_13, r_co2s_14, & ! dissolved CO2 + r_dic_13, r_dic_14, & ! DIC in seawater + r_phyc_13, r_phyc_14, & ! nanophytoplankton + r_diac_13, r_diac_14, & ! diatoms + r_iorg_13 = 0.975, & ! initial ratios of organic matter + r_iorg_14 = 0.950 + +! Fractionation factors + real(kind=8) :: alpha_k_13 = 0.99912, & ! gas transfer (kinetic fractionation, + alpha_k_14 = 0.99824, & ! mean values for 5-21C by Zhang et al., 1995) + alpha_aq_13, alpha_aq_14, & ! dissolution of CO2 in sewater (equilibrium fractionation) + alpha_dic_13, alpha_dic_14, & ! hydrolysis / dissociation of CO2 <-> DIC (equilibrium fract.) + alpha_p_13, alpha_p_14, & ! photosynthesis of nanophytoplankton + alpha_p_dia_13, alpha_p_dia_14, & ! photosynthesis of diatoms + alpha_calc_13 = 1.000, & ! calcification (Romanek et al., 1992: 1.001, 1.002) + alpha_calc_14 = 1.000, & + alpha_dcal_13 = 1.000, & ! dissolution of calcite (Romanek et al., 1992: 0.999, 0.998) + alpha_dcal_14 = 1.000 +! Radioactive decay constant of carbon-14 +! t1/2 = 5700 years (Bé et al., 2013; recommended by Orr et al., 2017, for OMIP-BGC) +! if 1 year := 365.25 days: lambda_14 = 3.8534e-12 / second +! if 1 year := 365.00 days: lambda_14 = 3.8561e-12 / second +! if 1 year := 360 days: lambda_14 = 3.9096e-12 / second + +! Tracer IDs to be considered in decay calculations (oce_ale_tracer.F90) + integer, dimension(8) :: c14_tracer_id = (/1402, 1405, 1408, 1410, 1412, 1414, 1420, 1421/) + + contains + + + subroutine recom_ciso_airsea(tempc, co3, dic) +! ---------------------------------------------------------------------------------- +! Subroutine to calculate carbon-isotopic fractionation during air-sea exchange +! ---------------------------------------------------------------------------------- +! +! Input variables: +! tempc lokal temperature in C +! co3 carbonate ion concentration +! dic total carbon concentration +! +! Output variables, defined in module REcoM_ciso: +! alpha_k_13,14 kinetic fract. factors for gas transfer +! alpha_aq_13,14 equilib. fract. factors for dissolution +! alpha_dic_13,14 equilib. fract. factors for DIC <-> CO2 +! +! Internal variables: +! epsilon_aq_13,14 equilib. fractionation for dissolution +! epsilon_dic_13,14 equilib. fractionation for DIC <-> CO2 +! fco3 total carbon fraction +! +! mbutzin, 2016 - 2019. + + +! Declarations + implicit none + + real(kind=8), intent(in) :: tempc, co3, dic + real(kind=8) :: epsilon_aq_13, epsilon_dic_13, fco3 + +! Calculation of carbon-isotopic fractionation factors, where +! +! alpha_xy = Rx / Ry = fractionation factor +! epsilon_xy = (alpha_xy - 1) * 1000 = fractionation (in per mill) +! epsilon_14 = 2 * epsilon_13 => alpha_14 = 2 * alpha_13 - 1. + +! We use parametrisations and numerical values determined for carbon-13 +! by Zhang et al. (1995). + +! Kinetic fractionation during gas transfer, mean values between 5 and 21C +! (values are defined in module REcoM_ciso) +! epsilon_k_13 = -0.86 => alpha_k_13 = 0.99914, alpha_k_14 = 0.99828 + +! Equilibrium fractionation during gas dissolution +! + epsilon_aq_13 = 0.0049 * tempc - 1.31 + alpha_aq_13 = 1. + 0.001 * epsilon_aq_13 + +! Equilibrium fractionation between DIC and CO2 +! +! The equilibrium fractionation between DIC and CO2 cannot be simply +! calculated from the fractionation factors for HCO3, CO3 and CO2star. +! Here, we employ an empirical function involving fCO3 = [CO3] / DIC +! assuming that fCO3 is the same for all carbon isotopes + fco3 = co3 / dic + epsilon_dic_13 = (0.014 * fco3 - 0.107 ) * tempc + 10.53 + alpha_dic_13 = 1. + 0.001 * epsilon_dic_13 + +! Fractionation of radiocarbon + if (ciso_organic_14) then + alpha_aq_14 = 2. * alpha_aq_13 - 1. + alpha_dic_14 = 2. * alpha_dic_13 - 1. + else +! no fractionation in the inorganic approximation + alpha_aq_14 = 1. + alpha_dic_14 = 1. + end if + + return + end subroutine recom_ciso_airsea +! ---------------------------------------------------------------------------------- + + subroutine recom_ciso_photo (co2st) +! ---------------------------------------------------------------------------------- +! Subroutine calculating carbon-isotopic fractionation during photosynthesis +! ---------------------------------------------------------------------------------- +! Input: +! dissolved CO2 (co2st) in mol / m**3 +! +! Output: +! isotopic fractionation factors for phytoplankton and diatoms due to +! photosynthesis (alpha_p_13|14, declared at the head of the module) +! +! Note that we are interested in effective values (implictly including the +! fractionation of dissolved CO2) which are actually derived in field studies +! or lab experiments. Young et al. 2013, eq. (5) with values from paragraph [35] +! +! Here, we follow Young et al. 2013, eq. (5) with values from paragraph [35] +! eps_p = eps_pm * (1. - rho / co2aq) = 17.6 * (1 - 2.02 / co2aq) +! where co2aq is in umol / L +! +! mbutzin, 2017 - 2021. + + implicit none + real(kind=8), intent(in):: co2st + real(kind=8) :: co2aq + +! Convert dissolved CO2 from mol / m**3 to umol / L and prevent from division by zero + co2aq = max(1.d-8, co2st * 1000.) + +! Fractionation wrt carbon-13 + alpha_p_13 = max(1., 1. + 0.001 * (17.6 * (1 - 2.02 / co2aq))) + alpha_p_dia_13 = alpha_p_13 + +! Fractionation wrt carbon-14 + alpha_p_14 = 2. * alpha_p_13 - 1. + alpha_p_dia_14 = 2. * alpha_p_dia_13 - 1. + + return + end subroutine recom_ciso_photo +! ---------------------------------------------------------------------------------- + + + function lat_zone(lat_n) +! ---------------------------------------------------------------------------------- +! Assign latitude zones from nodal latitude values +! ---------------------------------------------------------------------------------- + + implicit none + integer :: lat_zone + +! Input: Latitude value corresponding to node n + real(kind=8), intent(in) :: lat_n + +! Binning of latitudes to three zones + if (lat_n > 30.) then ! Northern Hemisphere polewards of 30°N + lat_zone = 1 + else if (lat_n <- 30.) then ! Southern Hemisphere polewards of 30°S + lat_zone = 3 + else ! (Sub-) Tropical zone + lat_zone = 2 + end if + + return + end function lat_zone + + + function wind_10(windstr_x, windstr_y) +! ---------------------------------------------------------------------------------- +! computes wind speed at 10 m height "wind10" from wind stress fields tau_x, tau_y +! as long as wind10 is not properly passed from ECHAM in coupled simulations. +! We follow Peixoto & Oort (1992, Eq. (10.28), (10,29)) and Charnock (1955); +! also see MPI report 349 (2003), Eq. (5.7). +! ---------------------------------------------------------------------------------- + implicit none + + real(kind=8) :: wind_10 + +! Input + real(kind=8), intent(in) :: windstr_x, windstr_y + +! Internal variables and parameters +! Zonal and meridional velocities at 10 m height + real(kind=8) :: u_10, v_10 +! Zonal and meridional friction velocities + real(kind=8) :: u_fric, v_fric +! Zonal and meridional roughness lengths + real(kind=8) :: l_rough_x, l_rough_y +! Inverse von-Karman constant (0.4), Charnock constant (0.018) divided by g, inverse density of air (1.3), log(10) + real(kind=8), parameter :: inv_karm = 2.5, charn_g = 0.00173, inv_dens_air = 0.76923, log_10 = 2.30258 + +! Calculate friction velocities (Peixoto & Oort, 1992, Eq. (10.28)) + u_fric = sqrt(abs(windstr_x) * inv_dens_air) + v_fric = sqrt(abs(windstr_y) * inv_dens_air) + +! Calculate roughness lengths (MPI report 349, 2003, Eq. (5.7), quoting Charnock, 1955) + l_rough_x = max((charn_g * u_fric**2), 1.5e-5) + l_rough_y = max((charn_g * v_fric**2), 1.5e-5) + +! Calculate wind speed at 10 m (Peixoto & Oort, 1992, Eq. (10.29)) + u_10 = inv_karm * u_fric * (log_10 - log(l_rough_x)) + v_10 = inv_karm * v_fric * (log_10 - log(l_rough_y)) + + wind_10 = sqrt(u_10**2 + v_10**2) + + return + end function wind_10 +! ---------------------------------------------------------------------------------- + + +end module REcoM_ciso + From 118be2ecb98392328ef4bf759f46b1adfc6e44d4 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 14 Mar 2024 14:52:31 +0100 Subject: [PATCH 127/273] revert some changes that were from DVD implementation --- src/oce_ale_tracer.F90 | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index b0f7439e5..dcc794a60 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -140,7 +140,6 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) use o_tracers use Toy_Channel_Soufflet use diff_tracers_ale_interface - use diagnostics, only: ldiag_DVD use oce_adv_tra_driver_interfaces implicit none type(t_ice) , intent(in) , target :: ice @@ -195,11 +194,6 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) ! loop over all tracers do tr_num=1, tracers%num_tracers - ! DVD diagostic: store tracer (only temp and salt) from previouse time steps - if ((ldiag_DVD) .and. (tr_num<=2)) then - tracers%work%dvd_trold(:,:, tr_num) = tracers%data(tr_num)%values(:,:) - end if - ! do tracer AB (Adams-Bashfort) interpolation only for advectiv part ! needed if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call init_tracers_AB'//achar(27)//'[0m' @@ -239,15 +233,6 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! AB is not needed after the advection step. Initialize it with the current tracer before it is modified. ! call init_tracers_AB at the beginning of this loop will compute AB for the next time step then. - ! DVD diagostic: store AB tracer before it gets overwritten - if ((ldiag_DVD) .and. (tr_num<=2)) then -!$OMP PARALLEL DO - do node=1, myDim_nod2d+eDim_nod2D - tracers%work%dvd_trAB(:,node, tr_num) = tracers%data(tr_num)%valuesAB(:, node) - end do -!$OMP END PARALLEL DO - end if - !$OMP PARALLEL DO do node=1, myDim_nod2d+eDim_nod2D tracers%data(tr_num)%valuesAB(:, node)=tracers%data(tr_num)%values(:, node) !DS: check that this is the right place! @@ -262,8 +247,8 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! relax to salt and temp climatology if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call relax_to_clim'//achar(27)//'[0m' - if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then - !PS f ((toy_ocean) .AND. ((TRIM(which_toy)=="soufflet"))) then +! if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then + if ((toy_ocean) .AND. ((TRIM(which_toy)=="soufflet"))) then call relax_zonal_temp(tracers%data(1), partit, mesh) else call relax_to_clim(tr_num, tracers, partit, mesh) @@ -475,7 +460,6 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) use o_mixing_KPP_mod !for ghats _GO_ use g_cvmix_kpp, only: kpp_nonlcltranspT, kpp_nonlcltranspS, kpp_oblmixc use bc_surface_interface - use diagnostics, only: ldiag_DVD implicit none integer , intent(in) , target :: tr_num type(t_dyn) , intent(inout), target :: dynamics From da547802d6131991c8fcd2f00039a7694c11bfd5 Mon Sep 17 00:00:00 2001 From: Patrick Scholz Date: Thu, 14 Mar 2024 15:20:07 +0100 Subject: [PATCH 128/273] revert some changes that belonged to the DVD implementation, and will come in an separate commit --- src/oce_ale_tracer.F90 | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index b0f7439e5..fcf3baf5d 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -140,7 +140,6 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) use o_tracers use Toy_Channel_Soufflet use diff_tracers_ale_interface - use diagnostics, only: ldiag_DVD use oce_adv_tra_driver_interfaces implicit none type(t_ice) , intent(in) , target :: ice @@ -195,11 +194,6 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) ! loop over all tracers do tr_num=1, tracers%num_tracers - ! DVD diagostic: store tracer (only temp and salt) from previouse time steps - if ((ldiag_DVD) .and. (tr_num<=2)) then - tracers%work%dvd_trold(:,:, tr_num) = tracers%data(tr_num)%values(:,:) - end if - ! do tracer AB (Adams-Bashfort) interpolation only for advectiv part ! needed if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call init_tracers_AB'//achar(27)//'[0m' @@ -238,16 +232,7 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! AB is not needed after the advection step. Initialize it with the current tracer before it is modified. - ! call init_tracers_AB at the beginning of this loop will compute AB for the next time step then. - ! DVD diagostic: store AB tracer before it gets overwritten - if ((ldiag_DVD) .and. (tr_num<=2)) then -!$OMP PARALLEL DO - do node=1, myDim_nod2d+eDim_nod2D - tracers%work%dvd_trAB(:,node, tr_num) = tracers%data(tr_num)%valuesAB(:, node) - end do -!$OMP END PARALLEL DO - end if - + ! call init_tracers_AB at the beginning of this loop will compute AB for the next time step then. !$OMP PARALLEL DO do node=1, myDim_nod2d+eDim_nod2D tracers%data(tr_num)%valuesAB(:, node)=tracers%data(tr_num)%values(:, node) !DS: check that this is the right place! @@ -262,8 +247,8 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ ! relax to salt and temp climatology if (flag_debug .and. mype==0) print *, achar(27)//'[37m'//' --> call relax_to_clim'//achar(27)//'[0m' - if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then - !PS f ((toy_ocean) .AND. ((TRIM(which_toy)=="soufflet"))) then + ! if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then + if ((toy_ocean) .AND. ((TRIM(which_toy)=="soufflet"))) then call relax_zonal_temp(tracers%data(1), partit, mesh) else call relax_to_clim(tr_num, tracers, partit, mesh) @@ -475,7 +460,6 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) use o_mixing_KPP_mod !for ghats _GO_ use g_cvmix_kpp, only: kpp_nonlcltranspT, kpp_nonlcltranspS, kpp_oblmixc use bc_surface_interface - use diagnostics, only: ldiag_DVD implicit none integer , intent(in) , target :: tr_num type(t_dyn) , intent(inout), target :: dynamics From ec67d7a754f801bebb74e7646b4bd53e1cb8b685 Mon Sep 17 00:00:00 2001 From: patrickscholz Date: Thu, 14 Mar 2024 15:32:01 +0100 Subject: [PATCH 129/273] Update oce_ale_tracer.F90 delete unnecessary variable --- src/oce_ale_tracer.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index fc14bd41f..b6830ac31 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -477,7 +477,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) real(kind=WP) :: cp(mesh%nl), tp(mesh%nl) integer :: nz, n, nzmax, nzmin real(kind=WP) :: m, zinv, dz - real(kind=WP) :: rsss, Ty, Ty1, c1, zinv1, zinv2, v_adv, sfbc + real(kind=WP) :: rsss, Ty, Ty1, c1, zinv1, zinv2, v_adv real(kind=WP) :: isredi=0._WP logical :: do_wimpl=.true. real(kind=WP) :: zbar_n(mesh%nl), z_n(mesh%nl-1) @@ -1366,4 +1366,4 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) stop END SELECT RETURN -END FUNCTION \ No newline at end of file +END FUNCTION From db88695e5ab48c52b61a57994301b274ad4f837f Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 14 Mar 2024 16:39:20 +0100 Subject: [PATCH 130/273] delete unneccessary flag and variable --- src/oce_ale_tracer.F90 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 6b9d64d2e..f6162677b 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -475,7 +475,6 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) use o_mixing_KPP_mod !for ghats _GO_ use g_cvmix_kpp, only: kpp_nonlcltranspT, kpp_nonlcltranspS, kpp_oblmixc use bc_surface_interface - use diagnostics, only: ldiag_DVD implicit none integer , intent(in) , target :: tr_num type(t_dyn) , intent(inout), target :: dynamics @@ -487,7 +486,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) real(kind=WP) :: cp(mesh%nl), tp(mesh%nl) integer :: nz, n, nzmax, nzmin real(kind=WP) :: m, zinv, dz - real(kind=WP) :: rsss, Ty, Ty1, c1, zinv1, zinv2, v_adv, sfbc + real(kind=WP) :: rsss, Ty, Ty1, c1, zinv1, zinv2, v_adv real(kind=WP) :: isredi=0._WP logical :: do_wimpl=.true. real(kind=WP) :: zbar_n(mesh%nl), z_n(mesh%nl-1) From 8acd21bd52b9dc3d63e0195ad74ed8b8551d5d88 Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 14 Mar 2024 17:49:48 +0100 Subject: [PATCH 131/273] fix small merging bug --- src/gen_modules_diag.F90 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 1fff30f02..a7136bad8 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -23,10 +23,11 @@ module diagnostics compute_diagnostics, rhs_diag, curl_stress_surf, curl_vel3, shear, Ri, KvdTdZ, KvdSdZ, & std_dens_min, std_dens_max, std_dens_N, std_dens, ldiag_trflx, & std_dens_UVDZ, std_dens_DIV, std_dens_DIV_fer, std_dens_Z, std_dens_H, std_dens_dVdT, std_dens_flux, & - dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, thetao, tuv, suv & - compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, dvd_SD_chi_dif_h, & - dvd_SD_chi_dif_heR, dvd_SD_chi_dif_hbh, dvd_SD_chi_dif_veR, dvd_SD_chi_dif_viR, & - dvd_SD_chi_dif_vi, dvd_SD_chi_dif_ve, dvd_xdfac + dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, thetao, tuv, suv, & + compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, & + dvd_SD_chi_dif_h, dvd_SD_chi_dif_heR, dvd_SD_chi_dif_hbh, & + dvd_SD_chi_dif_veR, dvd_SD_chi_dif_viR, dvd_SD_chi_dif_vi, & + dvd_SD_chi_dif_ve, dvd_xdfac ! Arrays used for diagnostics, some shall be accessible to the I/O ! 1. solver diagnostics: A*x=rhs? From 7e22dcf05a707e55af1e4ea5c9ae30c36f6e39aa Mon Sep 17 00:00:00 2001 From: ogurses Date: Fri, 15 Mar 2024 08:42:35 +0100 Subject: [PATCH 132/273] feat(recom): add some of the BGC boundary conditions to FESOM2.5 Read the file names and associated variables from the namelist.recom Atmospheric CO2, Fe and N deposition, riverine input of alkalinity, DIC, DIN, DOC, DON, Fe and erosion as PON and POC are read. --- src/gen_model_setup.F90 | 46 +++++++- src/gen_surface_forcing.F90 | 222 ++++++++++++++++++++++++++++++++++-- 2 files changed, 258 insertions(+), 10 deletions(-) diff --git a/src/gen_model_setup.F90 b/src/gen_model_setup.F90 index 02b71726a..fab27b754 100755 --- a/src/gen_model_setup.F90 +++ b/src/gen_model_setup.F90 @@ -9,7 +9,13 @@ subroutine setup_model(partit) use diagnostics, only: ldiag_solver,lcurt_stress_surf,lcurt_stress_surf, ldiag_Ri, ldiag_TurbFlux, & ldiag_dMOC, ldiag_DVD, diag_list use g_clock, only: timenew, daynew, yearnew - use g_ic3d + use g_ic3d + +#ifdef __recom + use recom_config + use recom_ciso +#endif + implicit none type(t_partit), intent(inout), target :: partit character(len=MAX_PATH) :: nmlfile @@ -76,6 +82,44 @@ subroutine setup_model(partit) read (fileunit, NML=diag_list) close (fileunit) +#if defined(__recom) + nmlfile ='namelist.recom' ! name of recom namelist file + open (newunit=fileunit, file=nmlfile) + read (fileunit, NML=pavariables) + read (fileunit, NML=pasinking) + read (fileunit, NML=painitialization_N) + read (fileunit, NML=paArrhenius) + read (fileunit, NML=palimiter_function) + read (fileunit, NML=palight_calculations) + read (fileunit, NML=paphotosynthesis) + read (fileunit, NML=paassimilation) + read (fileunit, NML=pairon_chem) + read (fileunit, NML=pazooplankton) + read (fileunit, NML=pasecondzooplankton) + read (fileunit, NML=pathirdzooplankton) + read (fileunit, NML=pagrazingdetritus) + read (fileunit, NML=paaggregation) + read (fileunit, NML=padin_rho_N) + read (fileunit, NML=padic_rho_C1) + read (fileunit, NML=paphytoplankton_N) + read (fileunit, NML=paphytoplankton_C) + read (fileunit, NML=paphytoplankton_ChlA) + read (fileunit, NML=padetritus_N) + read (fileunit, NML=padetritus_C) + read (fileunit, NML=paheterotrophs) + read (fileunit, NML=paseczooloss) + read (fileunit, NML=pathirdzooloss) + read (fileunit, NML=paco2lim) + read (fileunit, NML=pairon) + read (fileunit, NML=pacalc) + read (fileunit, NML=pabenthos_decay_rate) + read (fileunit, NML=paco2_flux_param) + read (fileunit, NML=paalkalinity_restoring) + read (fileunit, NML=paballasting) + read (fileunit, NML=paciso) + close (fileunit) +#endif + if(partit%mype==0) write(*,*) 'Namelist files are read in' !_____________________________________________________________________________ diff --git a/src/gen_surface_forcing.F90 b/src/gen_surface_forcing.F90 index 967f217f8..213c86a1a 100644 --- a/src/gen_surface_forcing.F90 +++ b/src/gen_surface_forcing.F90 @@ -44,6 +44,10 @@ MODULE g_sbf USE g_config, only: dummy, ClimateDataPath, dt USE g_clock, only: timeold, timenew, dayold, daynew, yearold, yearnew, cyearnew USE g_forcing_arrays, only: runoff, chl +#if defined (__recom) + use recom_config + use recom_declarations +#endif USE g_read_other_NetCDF, only: read_other_NetCDF, read_2ddata_on_grid_netcdf IMPLICIT NONE @@ -86,15 +90,30 @@ MODULE g_sbf logical :: l_cloud = .false. logical :: l_snow = .false. - character(10), save :: runoff_data_source='CORE2' - character(len=MAX_PATH), save :: nm_runoff_file ='runoff.nc' + character(10), save :: runoff_data_source ='CORE2' + character(len=MAX_PATH), save :: nm_runoff_file ='runoff.nc' + + character(10), save :: sss_data_source ='CORE2' + character(len=MAX_PATH), save :: nm_sss_data_file ='PHC2_salx.nc' + + character(10), save :: chl_data_source ='None' ! 'Sweeney' Chlorophyll climatology Sweeney et al. 2005 + character(len=MAX_PATH), save :: nm_chl_data_file ='/work/ollie/dsidoren/input/forcing/Sweeney_2005.nc' + real(wp), save :: chl_const = 0.1 + +#if defined (__recom) + character(10), save :: fe_data_source ='Albani' + character(len=MAX_PATH), save :: nm_fe_data_file ='DustClimMonthlyAlbani.nc' - character(10), save :: sss_data_source ='CORE2' - character(len=MAX_PATH), save :: nm_sss_data_file ='PHC2_salx.nc' + character(len=MAX_PATH), save :: nm_aen_data_file ='AeolianNitrogenDep.nc ' - character(10), save :: chl_data_source ='None' ! 'Sweeney' Chlorophyll climatology Sweeney et al. 2005 - character(len=MAX_PATH), save :: nm_chl_data_file ='/work/ollie/dsidoren/input/forcing/Sweeney_2005.nc' - real(wp), save :: chl_const = 0.1 + character(len=MAX_PATH), save :: nm_river_data_file ='River.nc' + character(len=MAX_PATH), save :: nm_erosion_data_file ='Erosion.nc' + + character(len=MAX_PATH), save :: nm_co2_data_file ='MonthlyAtmCO2_gcb2021.nc' + + character(len=MAX_PATH), save :: nm_sed_data_file ='medusa_flux2fesom.nc' + +#endif logical :: runoff_climatology =.false. @@ -928,6 +947,10 @@ SUBROUTINE sbc_ini(partit, mesh) nm_runoff_file, runoff_data_source, runoff_climatology, nm_sss_data_file, sss_data_source, & chl_data_source, nm_chl_data_file, chl_const +#if defined(__recom) + namelist /nam_rsbc/ fe_data_source, nm_fe_data_file, nm_aen_data_file, nm_river_data_file, nm_erosion_data_file, nm_co2_data_file +#endif + #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -1100,6 +1123,21 @@ SUBROUTINE sbc_ini(partit, mesh) if (mype==0) write(*,*) "DONE: Ocean forcing inizialization." if (mype==0) write(*,*) 'Parts of forcing data (only constant in time fields) are read' + +#if defined(__recom) + ! OPEN and read namelist for SBC REcoM + open( unit=nm_sbc_unit+1, file='namelist.recom', form='formatted', access='sequential', status='old', iostat=iost ) + if (iost == 0) then + if (mype==0) WRITE(*,*) ' file : ', 'namelist.recom for sbc',' open ok' + else + if (mype==0) WRITE(*,*) 'ERROR: --> bad opening file : ', 'namelist.recom for sbc',' ; iostat=',iost + call par_ex(partit%MPI_COMM_FESOM, partit%mype) + stop + endif + READ( nm_sbc_unit+1, nml=nam_rsbc, iostat=iost ) + close( nm_sbc_unit+1 ) +#endif + END SUBROUTINE sbc_ini SUBROUTINE sbc_do(partit, mesh) @@ -1111,6 +1149,10 @@ SUBROUTINE sbc_do(partit, mesh) !! ** Action : !!---------------------------------------------------------------------- use g_clock +#if defined (__recom) + use recom_config + use recom_glovar +#endif IMPLICIT NONE real(wp) :: rdate ! date @@ -1120,6 +1162,14 @@ SUBROUTINE sbc_do(partit, mesh) integer, pointer :: nc_Ntime, t_indx, t_indx_p1 real(wp), pointer :: nc_time(:) character(len=MAX_PATH) :: filename +#if defined (__recom) + character(15) :: CO2vari, Nvari + integer :: firstyearofcurrentCO2cycle, totnumyear, currentCO2year + character(4) :: currentCO2year_char + real(kind=8), allocatable :: ncdata(:) + integer :: CO2start, CO2count + integer :: status, ncid, varid +#endif type(t_partit), intent(inout), target :: partit type(t_mesh), intent(in), target :: mesh @@ -1190,7 +1240,7 @@ SUBROUTINE sbc_do(partit, mesh) i=month if (mstep > 1) i=i+1 if (i > 12) i=1 - if (mype==0) write(*,*) 'Updating SSS restoring data for month ', i + if (mype==0) write(*,*) 'Updating SSS restoring data for month ', i call read_other_NetCDF(nm_sss_data_file, 'SALT', i, Ssurf, .true., .true., partit, mesh) end if end if @@ -1230,7 +1280,7 @@ SUBROUTINE sbc_do(partit, mesh) i=month if (mstep > 1) i=i+1 if (i > 12) i=1 - if (mype==0) write(*,*) 'Updating monthly runoff for month ', i + if (mype==0) write(*,*) 'Updating monthly runoff for month ', i filename=trim(nm_runoff_file)//cyearnew//'.nc' call read_2ddata_on_grid_NetCDF(filename,'runoff', i, runoff, partit, mesh) @@ -1242,6 +1292,160 @@ SUBROUTINE sbc_do(partit, mesh) end if +#if defined (__recom) + +! ******** Atmospheric CO2 ********* + if (mstep == 1) then ! The year has changed + + if (constant_CO2) then + AtmCO2(:) = CO2_for_spinup + if (mype==0) write(*,*) 'Constant_CO2 = ', CO2_for_spinup + if (mype==0) write(*,*),'Atm CO2=', AtmCO2 + else + filename=trim(nm_co2_data_file) + if (mype==0) write(*,*) 'Updating CO2 climatology for month ', i,' from ', trim(filename) + + totnumyear = lastyearoffesomcycle-firstyearoffesomcycle+1 + firstyearofcurrentCO2cycle = lastyearoffesomcycle-numofCO2cycles*totnumyear+(currentCO2cycle-1)*totnumyear + + currentCO2year = firstyearofcurrentCO2cycle + (yearnew-firstyearoffesomcycle)+1 + if(mype==0) write(*,*),currentCO2year, firstyearofcurrentCO2cycle, yearnew, firstyearoffesomcycle + write(currentCO2year_char,'(i4)') currentCO2year + CO2vari = 'AtmCO2_'//currentCO2year_char + + ! open file + status=nf_open(filename, nf_nowrite, ncid) + if (status.ne.nf_noerr)then + print*,'ERROR: CANNOT READ CO2 FILE CORRECTLY !!!!!' + print*,'Error in opening netcdf file '//filename + call par_ex(MPI_COMM_FESOM, mype) + stop + endif + + ! data + allocate(ncdata(12)) + status=nf_inq_varid(ncid, CO2vari, varid) + CO2start = 1 + CO2count = 12 + status=nf_get_vara_double(ncid,varid,CO2start,CO2count,ncdata) + AtmCO2(:)=ncdata(:) + deallocate(ncdata) + if (mype==0) write(*,*),'Current carbon year=',currentCO2year + if (mype==0) write(*,*),'Atm CO2=', AtmCO2 + status=nf_close(ncid) + end if + end if + +! ******** Fe deposition ********* + if (fe_data_source=='Albani') then + if (update_monthly_flag) then + i=month + if (mstep > 1) i=i+1 + if (i > 12) i=1 + filename=trim(nm_fe_data_file) + if (mype==0) write(*,*) 'Updating iron climatology for month ', i,' from ', trim(filename) + call read_2ddata_on_grid_NetCDF(filename,'DustClim', i, GloFeDust, partit, mesh) + end if + else + if (mype==0) write(*,*) 'Albani is switched off --> Check namelist.recom' + end if + +! ******** N deposition ********* + if (useAeolianN) then + if (mstep==1) then ! The year has changed + i=month +! if (mstep > 1) i=i+1 +! if (i > 12) i=1 +! if (mype==0) write(*,*) 'Updating iron climatology for month ', i + filename=trim(nm_aen_data_file) + if (mype==0) write(*,*) 'Updating nitrogen climatology for month ', i,' from ', trim(filename) + if (yearnew .gt. 2009) then + Nvari = 'NDep2009' + else if (yearnew .lt. 1850) then + Nvari = 'NDep1850' + else + Nvari = 'NDep'//cyearnew + endif + + call read_2ddata_on_grid_NetCDF(filename, Nvari, i, GloNDust, partit, mesh) + end if + else + GloNDust = 0.0_WP + if (mstep==1 .and. mype==0) write(*,*) 'useAeolianN is switched off' + end if + +! ******** Riverine input (Nutrients) ********* + if (useRivers) then + ! *** River inputs are in mmol/m2/s *** + ! add river nutrients as surface boundary condition (surface_bc function in oce_ale_tracers) + is_riverinput = 1.0d0 + + if (update_monthly_flag) then + i=month + if (mstep > 1) i=i+1 + if (i > 12) i=1 + filename=trim(nm_river_data_file) + if (mype==0) write(*,*) 'Updating riverine restoring data for month', i,' from ', trim(filename) + call read_2ddata_on_grid_NetCDF(filename,'Alkalinity', i, RiverAlk2D, partit, mesh) + ! write(*,*) mype, 'RiverAlk2D', maxval(RiverAlk2D(:)), minval(RiverAlk2D(:)) + ! molar convertion of [CaCo3] * 2 -> [total Alkalinity] + RiverAlk2D = RiverAlk2D * 2 + + call read_2ddata_on_grid_NetCDF(filename, 'DIC', i, RiverDIC2D, partit, mesh) + ! write(*,*) mype, 'RiverDIC2D', maxval(RiverDIC2D(:)), minval(RiverDIC2D(:)) + + call read_2ddata_on_grid_NetCDF(filename, 'DIN', i, RiverDIN2D, partit, mesh) + ! write(*,*) mype, 'RiverDIN2D', maxval(RiverDIN2D(:)), minval(RiverDIN2D(:)) + + call read_2ddata_on_grid_NetCDF(filename, 'DOC', i, RiverDOC2D, partit, mesh) + ! write(*,*) mype, 'RiverDOC2D', maxval(RiverDOC2D(:)), minval(RiverDOC2D(:)) + + call read_2ddata_on_grid_NetCDF(filename, 'DON', i, RiverDON2D, partit, mesh) + ! write(*,*) mype, 'RiverDON2D', maxval(RiverDON2D(:)), minval(RiverDON2D(:)) + + RiverDSi2D = RiverDIN2D * (16/15) + end if + else + is_riverinput = 0.0d0 + if (mype==0 .and. mstep==1) write(*,*) 'No riverine input' + end if + +! ******** Riverine input of iron ********* + if (useRivFe) then + ! River runoff (m/s) is multiplied with Fe concentration * muemolFe/m3 -> muemolFe/m2/s + ! add river nutrients as surface boundary condition (surface_bc function in + ! oce_ale_tracers) + RiverFe = runoff * RiverFeConc + else + RiverFe = 0.0d0 + end if + +! ******** Erosion (Nutrients) ********* + if (useErosion) then + ! *** River inputs are in mmol/m2/s *** + ! add erosion nutrients as surface boundary condition (surface_bc function in oce_ale_tracers) + is_erosioninput = 1.0d0 + + if (update_monthly_flag) then + i=month + if (mstep > 1) i=i+1 + if (i > 12) i=1 + filename=trim(nm_erosion_data_file) + if (mype==0) write(*,*) 'Updating erosion restoring data for month ', i,' from ', trim(filename) + call read_2ddata_on_grid_NetCDF(filename,'POC', i, ErosionTOC2D, partit, mesh) + ! write(*,*) mype, 'ErosionTOC2D', maxval(ErosionTOC2D(:)), minval(ErosionTOC2D(:)) + + call read_2ddata_on_grid_NetCDF(filename,'PON', i, ErosionTON2D, partit, mesh) + ! write(*,*) mype, 'ErosionTON2D', maxval(ErosionTON2D(:)), minval(ErosionTON2D(:)) + + ! No silicates in erosion, we convert from nitrogen with redfieldian ratio + ErosionTSi2D=ErosionTON2D * 16/15 + end if + else + is_erosioninput = 0.0d0 + if (mype==0 .and. mstep==1) write(*,*) 'No erosion input' + end if +#endif ! interpolate in time call data_timeinterp(rdate, partit) From fa597509cf61c1dc34b1e6a1b11b8f0322567174 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 15 Mar 2024 14:24:10 +0100 Subject: [PATCH 133/273] fix small issue with the initialisation of the adams-bashfort tracer order, if it is not setted in namelist.tra --- src/oce_setup_step.F90 | 2 +- src/oce_tracer_mod.F90 | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 8b44112c9..72d655371 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -292,7 +292,7 @@ SUBROUTINE tracer_init(tracers, partit, mesh) integer :: num_tracers logical :: i_vert_diff, smooth_bh_tra real(kind=WP) :: gamma0_tra, gamma1_tra, gamma2_tra - integer :: AB_order + integer :: AB_order=2 namelist /tracer_listsize/ num_tracers namelist /tracer_list / nml_tracer_list namelist /tracer_general / smooth_bh_tra, gamma0_tra, gamma1_tra, gamma2_tra, i_vert_diff, AB_order diff --git a/src/oce_tracer_mod.F90 b/src/oce_tracer_mod.F90 index ab562b20a..4e0e988e3 100755 --- a/src/oce_tracer_mod.F90 +++ b/src/oce_tracer_mod.F90 @@ -37,6 +37,23 @@ SUBROUTINE init_tracers_AB(tr_num, tracers, partit, mesh) elseif (tracers%data(tr_num)%AB_order==3) then tracers%data(tr_num)%valuesAB(:, n) =5.0_WP*tracers%data(tr_num)%valuesold(2, :, n)-16.0_WP*tracers%data(tr_num)%valuesold(1, :, n)+23.0_WP*tracers%data(tr_num)%values(:, n) tracers%data(tr_num)%valuesAB(:, n) =tracers%data(tr_num)%valuesAB(:, n)/12.0_WP + else + write(*,*) + print *, achar(27)//'[33m' + write(*,*) '____________________________________________________________________' + write(*,*) ' ERROR: Adams-Bashfort tracer order must be 2 or 3, others are not' + write(*,*) ' supported!' + write(*,*) ' your tracers%data(tr_num)%AB_order =', tracers%data(tr_num)%AB_order + write(*,*) ' ' + write(*,*) ' --> check your namelist.tra !!!' + write(*,*) ' &tracer_general' + write(*,*) ' ...' + write(*,*) ' AB_order = 2' + write(*,*) ' / ' + write(*,*) '____________________________________________________________________' + print *, achar(27)//'[0m' + write(*,*) + call par_ex(partit%MPI_COMM_FESOM, partit%mype, 0) end if end do !$OMP END PARALLEL DO From d4efb4619419ccdf3904a05c474142f0f87a7c96 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 15 Mar 2024 15:57:10 +0100 Subject: [PATCH 134/273] include bugfix about which tracer have to be used to compute the tracer gradients. Its was decided to use tr^n, which means that the tr_AB can be kicked out from the DVD computation --- src/gen_modules_diag.F90 | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index a7136bad8..206d7c12c 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -997,7 +997,7 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh integer :: tr_num, node, elem - real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, tr, trstar, trAB, Wvel, dump, fer_Wvel + real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, tr, trstar, Wvel, dump, fer_Wvel real(kind=WP), dimension(:,:,:), pointer :: UV, fer_UV #include "associate_part_def.h" #include "associate_mesh_def.h" @@ -1079,15 +1079,14 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) trflx_h => tracers%work%dvd_trflx_hor( :,:,tr_num) ! horizontal advectiv tracer flux through mid edge face using AB tracer trflx_v => tracers%work%dvd_trflx_ver( :,:,tr_num) ! vertical advectiv tracer flux trstar => tracers%work%dvd_trold( :,:,tr_num) ! tracer^n - trAB => tracers%work%dvd_trAB( :,:,tr_num) ! tracerAB^n tr => tracers%data(tr_num)%values(:,:) ! tracer^(n+1) dump => tracers%work%del_ttf !_______________________________________________________________________ ! need to recompute tracer gradients - call tracer_gradient_elements(trAB, partit, mesh) + call tracer_gradient_elements(trstar, partit, mesh) call exchange_elem(tr_xy, partit) - call tracer_gradient_z(tr, partit, mesh) !WHY NOT AB HERE? DSIDOREN! + call tracer_gradient_z(trstar, partit, mesh) !WHY NOT AB HERE? DSIDOREN! call exchange_nod(tr_z, partit) !=== DVD Knut Klingbeil et al. 2014 ==================================== From 7dbd70a16863600f25d6ff8deaa0373402dedecb Mon Sep 17 00:00:00 2001 From: Patrick Date: Sat, 16 Mar 2024 16:13:27 +0100 Subject: [PATCH 135/273] kick out variables tracer%work%dvd_trold and tracer%work%dvd_trAB, the first ones isnt need anymore due to the AB2/3 order update, the later one isnt need anymore due to the fixed bug from tracer synchronisation of the tracer gradient computation --- src/MOD_TRACER.F90 | 6 +----- src/oce_setup_step.F90 | 4 ---- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/MOD_TRACER.F90 b/src/MOD_TRACER.F90 index 4ba2b0cf7..5fc6d6db6 100644 --- a/src/MOD_TRACER.F90 +++ b/src/MOD_TRACER.F90 @@ -39,7 +39,7 @@ MODULE MOD_TRACER ! but not saved ! dvd_trold ... tracer from previouse time steps later needed to ! compute Tstar = 0.5*( T^(n+1) + T^n) -real(kind=WP), allocatable, dimension(:,:,:) :: dvd_trflx_hor, dvd_trflx_ver, dvd_trold, dvd_trAB +real(kind=WP), allocatable, dimension(:,:,:) :: dvd_trflx_hor, dvd_trflx_ver !_______________________________________________________________________________ ! The fct part @@ -161,8 +161,6 @@ subroutine WRITE_T_TRACER_WORK(twork, unit) call write_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) call write_bin_array(twork%dvd_trflx_hor, unit, iostat, iomsg) call write_bin_array(twork%dvd_trflx_ver, unit, iostat, iomsg) - call write_bin_array(twork%dvd_trold, unit, iostat, iomsg) - call write_bin_array(twork%dvd_trAB, unit, iostat, iomsg) call write_bin_array(twork%fct_LO, unit, iostat, iomsg) call write_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) call write_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) @@ -188,8 +186,6 @@ subroutine READ_T_TRACER_WORK(twork, unit) call read_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) call read_bin_array(twork%dvd_trflx_hor, unit, iostat, iomsg) call read_bin_array(twork%dvd_trflx_ver, unit, iostat, iomsg) - call read_bin_array(twork%dvd_trold, unit, iostat, iomsg) - call read_bin_array(twork%dvd_trAB, unit, iostat, iomsg) call read_bin_array(twork%fct_LO, unit, iostat, iomsg) call read_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) call read_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 72d655371..752f196e6 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -413,12 +413,8 @@ SUBROUTINE tracer_init(tracers, partit, mesh) if (ldiag_DVD) then allocate(tracers%work%dvd_trflx_hor(nl-1, myDim_edge2D, 2)) allocate(tracers%work%dvd_trflx_ver(nl , myDim_nod2D , 2)) - allocate(tracers%work%dvd_trold( nl-1, node_size , 2)) - allocate(tracers%work%dvd_trAB( nl-1, node_size , 2)) tracers%work%dvd_trflx_hor = 0.0_WP tracers%work%dvd_trflx_ver = 0.0_WP - tracers%work%dvd_trold = 0.0_WP - tracers%work%dvd_trAB = 0.0_WP end if END SUBROUTINE tracer_init ! From e9bfaf3430688b84f9f2f7d9576559026579bd4d Mon Sep 17 00:00:00 2001 From: Patrick Date: Sat, 16 Mar 2024 16:15:31 +0100 Subject: [PATCH 136/273] introduce trold in dvd as pointer to array tracers%data(tr_num)%valuesold(1, :, :), therefor allocate new array for trstar= (trold + tr)*0.5_WP --- src/gen_modules_diag.F90 | 41 ++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 206d7c12c..0e4473ad1 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -68,7 +68,7 @@ module diagnostics real(kind=WP), save, allocatable, target :: dvd_KK_tot(:,:,:), dvd_SD_tot(:,:,:), dvd_SD_chi_adv_h(:,:,:), & dvd_SD_chi_adv_v( :,:,:), dvd_SD_chi_dif_heR(:,:,:), dvd_SD_chi_dif_veR(:,:,:), & dvd_SD_chi_dif_viR(:,:,:), dvd_SD_chi_dif_vi(:,:,:), dvd_SD_chi_dif_hbh(:,:,:), & - dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_h(:,:,:) + dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_h(:,:,:), trstar(:,:) real(kind=WP), parameter :: dvd_xdfac=0.5_WP ! Xchi distribution factor, default distribute ! equal amount (50:50) of xchi on both side of face !_____________________________________________________________________________ @@ -997,13 +997,14 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(in) , target :: mesh integer :: tr_num, node, elem - real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, tr, trstar, Wvel, dump, fer_Wvel + real(kind=WP), dimension(:,:) , pointer :: trflx_h, trflx_v, tr, trold, Wvel, dump, fer_Wvel real(kind=WP), dimension(:,:,:), pointer :: UV, fer_UV #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" #include "associate_mesh_ass.h" if (firstcall) then !allocate the stuff at the first call + allocate(trstar( nl-1, myDim_nod2D+eDim_nod2D)) allocate(dvd_KK_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) @@ -1026,7 +1027,8 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) end if !___________________________________________________________________________ - ! initialise each time diagnostic is computed + ! initialise each time diagnostic is computed + trstar = 0.0_WP dvd_KK_tot = 0.0_WP ! --> DVD diagnostic after Klingbeil et al. 2014 dvd_SD_tot = 0.0_WP ! --> DVD diagnostic after Banjerjee et al. 2023 (Sergeys way!!!) dvd_SD_chi_adv_h = 0.0_WP @@ -1078,65 +1080,64 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) ! upper lower cell prism face and for tracer^n and tracer^(n+1) trflx_h => tracers%work%dvd_trflx_hor( :,:,tr_num) ! horizontal advectiv tracer flux through mid edge face using AB tracer trflx_v => tracers%work%dvd_trflx_ver( :,:,tr_num) ! vertical advectiv tracer flux - trstar => tracers%work%dvd_trold( :,:,tr_num) ! tracer^n + trold => tracers%data(tr_num)%valuesold(1, :, :) ! tracer^n tr => tracers%data(tr_num)%values(:,:) ! tracer^(n+1) dump => tracers%work%del_ttf !_______________________________________________________________________ ! need to recompute tracer gradients - call tracer_gradient_elements(trstar, partit, mesh) + call tracer_gradient_elements(trold, partit, mesh) call exchange_elem(tr_xy, partit) - call tracer_gradient_z(trstar, partit, mesh) !WHY NOT AB HERE? DSIDOREN! + call tracer_gradient_z(trold, partit, mesh) call exchange_nod(tr_z, partit) !=== DVD Knut Klingbeil et al. 2014 ==================================== ! add time derivativ of 2nd. moment tracer ! --> at this point trstar corresponds to tr_old - call dvd_add_time_deriv(tr_num, dvd_KK_tot, trstar, tr, partit, mesh) + call dvd_add_time_deriv(tr_num, dvd_KK_tot, trold, tr, partit, mesh) ! compute horizontal 2nd moment tracer flux from advective tracer fluxes at mid ! edge face - call dvd_add_advflux_hor( .false., tr_num, dvd_KK_tot, trflx_h, UV, trstar, dump, partit, mesh) + call dvd_add_advflux_hor( .false., tr_num, dvd_KK_tot, trflx_h, UV, trold, dump, partit, mesh) ! add vertical 2nd moment tracer flux at upper/lower scalar cell prism interface - call dvd_add_advflux_ver( .false., tr_num, dvd_KK_tot, trflx_v, Wvel, trstar, partit, mesh) + call dvd_add_advflux_ver( .false., tr_num, dvd_KK_tot, trflx_v, Wvel, trold, partit, mesh) ! add contribution from horizontal diffusion flux (after klingbeil et al. 2014) ! --> keep in mind here trstar corresponds to tr_old - call dvd_add_difflux_horexpl( .false., tr_num, dvd_KK_tot, trstar, Ki, tr_xy, dump, partit, mesh) + call dvd_add_difflux_horexpl( .false., tr_num, dvd_KK_tot, trold, Ki, tr_xy, dump, partit, mesh) ! add contribution from vertical diffusion flux (after klingbeil et al. 2014) if (.not. tracers%data(tr_num)%i_vert_diff) then - call dvd_add_difflux_vertexpl(.false., tr_num, dvd_KK_tot, tr, trstar, Kv, partit, mesh) + call dvd_add_difflux_vertexpl(.false., tr_num, dvd_KK_tot, tr, trold, Kv, partit, mesh) end if if (Redi) then - call dvd_add_difflux_horexplredi( .false., tr_num, dvd_KK_tot, trstar, Ki, slope_tapered, tr_z, dump, partit, mesh) - call dvd_add_difflux_vertexplredi(.false., tr_num, dvd_KK_tot, trstar, Ki, slope_tapered, tr_xy, partit, mesh) - call dvd_add_difflux_vertimplredi(.false., tr_num, dvd_KK_tot, tr, trstar, Ki, slope_tapered, partit, mesh) + call dvd_add_difflux_horexplredi( .false., tr_num, dvd_KK_tot, trold, Ki, slope_tapered, tr_z, dump, partit, mesh) + call dvd_add_difflux_vertexplredi(.false., tr_num, dvd_KK_tot, trold, Ki, slope_tapered, tr_xy, partit, mesh) + call dvd_add_difflux_vertimplredi(.false., tr_num, dvd_KK_tot, tr, trold, Ki, slope_tapered, partit, mesh) end if - call dvd_add_difflux_vertimpl(.false., tr_num, dvd_KK_tot, tr, trstar, Kv, partit, mesh) + call dvd_add_difflux_vertimpl(.false., tr_num, dvd_KK_tot, tr, trold, Kv, partit, mesh) ! add contribution from horizontal biharmonic diffusion flux if applied if (tracers%data(tr_num)%smooth_bh_tra) then - call dvd_add_difflux_bhvisc(.false., tr_num, dvd_KK_tot, tr, trstar,& + call dvd_add_difflux_bhvisc(.false., tr_num, dvd_KK_tot, tr, trold,& tracers%data(tr_num)%gamma0_tra, tracers%data(tr_num)%gamma1_tra, & tracers%data(tr_num)%gamma2_tra, dump, partit, mesh) end if ! add contribution from climatological 3d restoring if ((toy_ocean) .AND. ((tr_num==1) .AND. (TRIM(which_toy)=="soufflet"))) then - call dvd_add_clim_relax_channel(.false., tr_num, dvd_KK_tot, trstar, partit, mesh) + call dvd_add_clim_relax_channel(.false., tr_num, dvd_KK_tot, trold, partit, mesh) elseif (clim_relax>1.0e-8_WP) then - call dvd_add_clim_relax( .false., tr_num, dvd_KK_tot, trstar, partit, mesh) + call dvd_add_clim_relax( .false., tr_num, dvd_KK_tot, trold, partit, mesh) end if - ! !=== DVD Sergey Danilov after T. Banerjee et al. 2023 ======================= ! from here on compute Tstar = ( T^(n+1) + T^(n) )*0.5 - trstar = (trstar + tr)*0.5_WP + trstar = (trold + tr)*0.5_WP ! add contribution from horizontal advection call dvd_add_advflux_hor( .true., tr_num, dvd_SD_chi_adv_h, trflx_h, UV, trstar, dump, partit, mesh) From 4660a89fa11a764cc7bd6f0f9ecb6fb917bb073a Mon Sep 17 00:00:00 2001 From: Patrick Date: Sat, 16 Mar 2024 16:49:22 +0100 Subject: [PATCH 137/273] delet some unneccessary comments --- src/oce_ale_tracer.F90 | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index c6d26d263..12fec0247 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -978,17 +978,6 @@ subroutine diff_ver_part_redi_expl(tracers, partit, mesh) ul1=ulevels_nod2D(n) vd_flux=0._WP -!PS !_______________________________________________________________________ -!PS zbar_n(1:mesh%nl )=0.0_WP -!PS z_n (1:mesh%nl-1)=0.0_WP -!PS zbar_n(nl1+1)=zbar_n_bot(n) -!PS z_n(nl1)=zbar_n(nl1+1) + hnode_new(nl1,n)/2.0_WP -!PS do nz=nl1, ul1+1, -1 -!PS zbar_n(nz) = zbar_n(nz+1) + hnode_new(nz,n) -!PS z_n(nz-1) = zbar_n(nz) + hnode_new(nz-1,n)/2.0_WP -!PS end do -!PS zbar_n(ul1) = zbar_n(ul1+1) + hnode_new(ul1,n) - !_______________________________________________________________________ zbar_n(1:mesh%nl )=0.0_WP z_n (1:mesh%nl-1)=0.0_WP From eed24180c496aad1773eef145da46c190b65341b Mon Sep 17 00:00:00 2001 From: Patrick Date: Sat, 16 Mar 2024 16:50:10 +0100 Subject: [PATCH 138/273] change default upper year limits for the JRA55 forcing --- work/job_albedo_chain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/work/job_albedo_chain b/work/job_albedo_chain index 21c9e9fa8..6d6680542 100755 --- a/work/job_albedo_chain +++ b/work/job_albedo_chain @@ -31,7 +31,7 @@ chain_s=1 # starting chain id # year_e=2009 # ___JRA55____ year_s=1958 -year_e=2018 +year_e=2019 prescribe_rlen=0 # run length in namelist.config --> if 0 value from namelist.config is taken fedit=1 From 5a6ebee50c66b0366d3435d3a49cca9e0ef62434 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 19 Mar 2024 11:57:32 +0100 Subject: [PATCH 139/273] fix minor bug --- src/gen_modules_diag.F90 | 26 +++++++++++++------------- src/io_meandata.F90 | 4 ++-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 0e4473ad1..9fd3d5719 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -25,7 +25,7 @@ module diagnostics std_dens_UVDZ, std_dens_DIV, std_dens_DIV_fer, std_dens_Z, std_dens_H, std_dens_dVdT, std_dens_flux, & dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, thetao, tuv, suv, & compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, & - dvd_SD_chi_dif_h, dvd_SD_chi_dif_heR, dvd_SD_chi_dif_hbh, & + dvd_SD_chi_dif_he, dvd_SD_chi_dif_heR, dvd_SD_chi_dif_hbh, & dvd_SD_chi_dif_veR, dvd_SD_chi_dif_viR, dvd_SD_chi_dif_vi, & dvd_SD_chi_dif_ve, dvd_xdfac @@ -68,7 +68,7 @@ module diagnostics real(kind=WP), save, allocatable, target :: dvd_KK_tot(:,:,:), dvd_SD_tot(:,:,:), dvd_SD_chi_adv_h(:,:,:), & dvd_SD_chi_adv_v( :,:,:), dvd_SD_chi_dif_heR(:,:,:), dvd_SD_chi_dif_veR(:,:,:), & dvd_SD_chi_dif_viR(:,:,:), dvd_SD_chi_dif_vi(:,:,:), dvd_SD_chi_dif_hbh(:,:,:), & - dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_h(:,:,:), trstar(:,:) + dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_he(:,:,:), trstar(:,:) real(kind=WP), parameter :: dvd_xdfac=0.5_WP ! Xchi distribution factor, default distribute ! equal amount (50:50) of xchi on both side of face !_____________________________________________________________________________ @@ -1005,17 +1005,17 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) #include "associate_mesh_ass.h" if (firstcall) then !allocate the stuff at the first call allocate(trstar( nl-1, myDim_nod2D+eDim_nod2D)) - allocate(dvd_KK_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_dif_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_dif_vi( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_KK_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_he(nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_vi(nl-1, myDim_nod2D+eDim_nod2D, 2)) if (tracers%data(1)%smooth_bh_tra) then allocate(dvd_SD_chi_dif_hbh(nl-1, myDim_nod2D+eDim_nod2D, 2)) end if if (Redi) then - allocate(dvd_SD_chi_dif_heR( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_heR(nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_veR(nl-1, myDim_nod2D+eDim_nod2D, 2)) allocate(dvd_SD_chi_dif_viR(nl-1, myDim_nod2D+eDim_nod2D, 2)) end if @@ -1033,7 +1033,7 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) dvd_SD_tot = 0.0_WP ! --> DVD diagnostic after Banjerjee et al. 2023 (Sergeys way!!!) dvd_SD_chi_adv_h = 0.0_WP dvd_SD_chi_adv_v = 0.0_WP - dvd_SD_chi_dif_h = 0.0_WP + dvd_SD_chi_dif_he = 0.0_WP dvd_SD_chi_dif_vi = 0.0_WP ! implicite part if (tracers%data(1)%smooth_bh_tra) then dvd_SD_chi_dif_hbh= 0.0_WP @@ -1146,7 +1146,7 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) call dvd_add_advflux_ver( .true., tr_num, dvd_SD_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) ! add contribution from horizontal diffusion - call dvd_add_difflux_horexpl( .true., tr_num, dvd_SD_chi_dif_heR, trstar, Ki, tr_xy, dump, partit, mesh) + call dvd_add_difflux_horexpl( .true., tr_num, dvd_SD_chi_dif_he, trstar, Ki, tr_xy, dump, partit, mesh) ! add contribution from vertical diffusion if (.not. tracers%data(tr_num)%i_vert_diff) then @@ -1168,8 +1168,8 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) end if ! compute total Xchi - dvd_SD_tot(:,:,tr_num) = dvd_SD_chi_adv_h( :,:,tr_num) + dvd_SD_chi_adv_v( :,:,tr_num) + & - dvd_SD_chi_dif_vi(:,:,tr_num) + dvd_SD_tot(:,:,tr_num) = dvd_SD_chi_adv_h( :,:,tr_num) + dvd_SD_chi_adv_v( :,:,tr_num) + & + dvd_SD_chi_dif_vi(:,:,tr_num) + dvd_SD_chi_dif_he(:,:,tr_num) if (.not. tracers%data(tr_num)%i_vert_diff) then dvd_SD_tot(:,:,tr_num) = dvd_SD_tot(:,:,tr_num) + dvd_SD_chi_dif_ve(:,:,tr_num) end if diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 204ba713a..91e2f7987 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -706,7 +706,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_tot' , 'tot. temperature DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_he( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) if (.not. tracers%data(1)%i_vert_diff) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difve', 'temperature DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_ve( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) @@ -725,7 +725,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_tot' , 'tot. salinity DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff.' , 'K^2/s' , dvd_SD_chi_dif_h( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_he( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difvi', 'salinity DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) if (.not. tracers%data(1)%i_vert_diff) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difve', 'salinity DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_ve( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) From 646e0f887a6f2765cbba7881714b53118675a2df Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 19 Mar 2024 13:03:16 +0100 Subject: [PATCH 140/273] update blowup message --- src/write_step_info.F90 | 56 ++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/src/write_step_info.F90 b/src/write_step_info.F90 index 5cfb4594f..e4792e203 100644 --- a/src/write_step_info.F90 +++ b/src/write_step_info.F90 @@ -532,29 +532,39 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) ! moment only over CPU mype==0 call MPI_AllREDUCE(found_blowup_loc , found_blowup , 1, MPI_INTEGER, MPI_MAX, MPI_COMM_FESOM, MPIerr) if (found_blowup==1) then - call write_step_info(istep, 1, ice, dynamics, tracers, partit, mesh) - if (mype==0) then - call sleep(1) - write(*,*) - write(*,*) ' MODEL BLOW UP !!!' - write(*,*) ' ____' - write(*,*) ' __,-~~/~ `---.' - write(*,*) ' _/_,---( , )' - write(*,*) ' __ / < / ) \___' - write(*,*) '- -- ----===;;;`====------------------===;;;===---- -- -' - write(*,*) ' \/ ~"~"~"~"~"~\~"~)~"/' - write(*,*) ' (_ ( \ ( > \)' - write(*,*) ' \_( _ < >_>`' - write(*,*) ' ~ `-i` ::>|--"' - write(*,*) ' I;|.|.|' - write(*,*) ' <|i::|i|`' - write(*,*) ' (` ^`"`- ")' - write(*,*) ' _____.,-#%&$@%#&#~,._____' - write(*,*) - end if - call blowup(istep, ice, dynamics, tracers, partit, mesh) - if (mype==0) write(*,*) ' --> finished writing blow up file' - call par_ex(partit%MPI_COMM_FESOM, partit%mype) + call write_step_info(istep, 1, ice, dynamics, tracers, partit, mesh) + if (mype==0) then + call sleep(1) + write(*,*) + write(*,*) ' ,-* ,-* ' + write(*,*) ' (_) MODEL BLOW UP (_) ' + write(*,*) ' ____ ' + write(*,*) ' __,-~~/~ `---. ' + write(*,*) ' _/_,---( , ) ' + write(*,*) ' __ / < / ) \___ ' + write(*,*) ' - -- ----===;;;`====------------------===;;;===---- -- - ' + write(*,*) ' \/ ~"~"~"~"~"~\~"~)~"/ ' + write(*,*) ' (_ ( \ ( > \) ' + write(*,*) ' \_( _ < >_>` ' + write(*,*) ' ~ `-i` ::>|--" ' + write(*,*) ' I;|.|.| ' + write(*,*) ' <|i::|i|` ' + write(*,*) ' (` ^`"`- ") ' + write(*,*) ' _______________________.,-#%&$@%#&#~,.__________________ ' + write(*,*) ' ' + write(*,*) ' (`- ́) _ (`- ́).-> <-. (`- ́) ' + write(*,*) ' <-. ( OO).-/ ( OO)_ .-> \(OO )_ ' + write(*,*) '(`- ́)-----.(,------.(_)--\_)(`- ́)----. ,--./ ,-.) .----. ' + write(*,*) '(OO|(_\--- ́ | .--- ́/ _ /( OO).-. `| `. ́ |\_,-. |' + write(*,*) ' / | `--. (| `--. \_..`--.( _) | | || |`. ́| | . ́ . ́' + write(*,*) ' \_) .-- ́ | .-- ́ .-._) \\| |)| || | | | . ́ /_ ' + write(*,*) ' `| |_) | `---.\ / ` `- ́ ́| | | || |' + write(*,*) ' `-- ́ `------ ́ `----- ́ `----- ́ `-- ́ `-- ́`------ ́' + write(*,*) + end if + call blowup(istep, ice, dynamics, tracers, partit, mesh) + if (mype==0) write(*,*) ' --> finished writing blow up file' + call par_ex(partit%MPI_COMM_FESOM, partit%mype) endif end subroutine !=============================================================================== From 47eb51b0249e5d84d49ad3bee6412f5071051bde Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 26 Mar 2024 16:11:29 +0100 Subject: [PATCH 141/273] fix small bug in albedo chain script --- work/job_albedo_chain | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/work/job_albedo_chain b/work/job_albedo_chain index 6d6680542..2d35ddb3b 100755 --- a/work/job_albedo_chain +++ b/work/job_albedo_chain @@ -110,7 +110,8 @@ echo -e "\033[1;33m --> actual chain cycle: $chain_id \033[0m" echo -e "\033[1;33m --> max. number of chain cycles: $chain_n \033[0m" echo -e "\033[1;33m --> simulated time range: [ $year_s $year_e] \033[0m" echo -e "\033[1;33m --> slurm: wall-clock-time = $wcl \033[0m" -echo -e "\033[1;33m --> slurm: ntask = $ntasks \033[0m" +echo -e "\033[1;33m --> slurm: ntasks = $ntasks \033[0m" +echo -e "\033[1;33m --> slurm: nnodes = $nnodes \033[0m" if [ $prescribe_rlen -ne 0 ]; then echo -e "\033[1;33m -->change run_length = $prescribe_rlen \033[0m" fi @@ -322,7 +323,7 @@ if [ ${err_srun} -eq 0 ]; then # the corresponding task ID in the specified job has completed successfully # (ran to completion with an exit code of zero). echo -e "\033[33m --> setup next chain cycle \033[0m" - sbatch --time=$wcl --ntasks=$ntasks --nodes=$nodes --job-name=${SLURM_JOB_NAME} --dependency=aftercorr:$SLURM_JOB_ID $script_name \ + sbatch --time=$wcl --ntasks=$ntasks --nodes=$nnodes --job-name=${SLURM_JOB_NAME} --dependency=aftercorr:$SLURM_JOB_ID $script_name \ -cn $chain_n -cs $chain_s -ys $year_s -ye $year_e -rl $prescribe_rlen fi fi From 881528fe444a611305f99befda821c50b774f8a8 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 26 Mar 2024 17:26:26 +0100 Subject: [PATCH 142/273] fix small bug in runscript --- work/job_albedo_chain | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/work/job_albedo_chain b/work/job_albedo_chain index 2d35ddb3b..aa795287d 100755 --- a/work/job_albedo_chain +++ b/work/job_albedo_chain @@ -77,7 +77,7 @@ done jobinfo=$(scontrol show job $SLURM_JOB_ID) wcl=$( echo ${jobinfo##*"TimeLimit="} | cut -d " " -f 1 ) ntasks=$( echo ${jobinfo##*"NumTasks="} | cut -d " " -f 1 ) -nnodes=$( echo ${jobinfo##*"node="} | cut -d " " -f 1 ) +nnodes=$( echo ${jobinfo##*"NumNodes="} | cut -d " " -f 1 ) #___SET SLURM OPTIONS___________________________________________________________ set -x From 7db4f71d79bdf9477976e365868d2ef41fed0f21 Mon Sep 17 00:00:00 2001 From: ogurses Date: Wed, 27 Mar 2024 11:11:10 +0100 Subject: [PATCH 143/273] chore(recom): mask hydrothermal vent in Eastern Equatorial Pacific (Dissolved Iron) Dissolved iron concentration is limited by the cut-off value 0.6 (umol/m3) in deep Eastern Equatorial Pacific. High concentration of dissolved iron in deep ocean disperses in all directions quickly. After several decades, mid-ocean iron concentration reaches higher levels. Exclude the depths shallower than 2000 m. --- src/gen_surface_forcing.F90 | 9 ++ src/int_recom/recom_init.F90 | 204 ++++++++++++++++++++++++++++++----- 2 files changed, 188 insertions(+), 25 deletions(-) diff --git a/src/gen_surface_forcing.F90 b/src/gen_surface_forcing.F90 index 213c86a1a..86874bdf8 100644 --- a/src/gen_surface_forcing.F90 +++ b/src/gen_surface_forcing.F90 @@ -1293,6 +1293,8 @@ SUBROUTINE sbc_do(partit, mesh) end if #if defined (__recom) +!< read surface atmospheric deposition for Fe, N, CO2 +if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> Atm_input'//achar(27)//'[0m' ! ******** Atmospheric CO2 ********* if (mstep == 1) then ! The year has changed @@ -1352,6 +1354,7 @@ SUBROUTINE sbc_do(partit, mesh) ! ******** N deposition ********* if (useAeolianN) then +! todo: check below when useAeolianN is .true. if (mstep==1) then ! The year has changed i=month ! if (mstep > 1) i=i+1 @@ -1376,8 +1379,11 @@ SUBROUTINE sbc_do(partit, mesh) ! ******** Riverine input (Nutrients) ********* if (useRivers) then +!< read riverine input ! *** River inputs are in mmol/m2/s *** ! add river nutrients as surface boundary condition (surface_bc function in oce_ale_tracers) + if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> River_input'//achar(27)//'[0m' + is_riverinput = 1.0d0 if (update_monthly_flag) then @@ -1422,8 +1428,11 @@ SUBROUTINE sbc_do(partit, mesh) ! ******** Erosion (Nutrients) ********* if (useErosion) then +!< read erosion input ! *** River inputs are in mmol/m2/s *** ! add erosion nutrients as surface boundary condition (surface_bc function in oce_ale_tracers) + if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> Erosion_input'//achar(27)//'[0m' + is_erosioninput = 1.0d0 if (update_monthly_flag) then diff --git a/src/int_recom/recom_init.F90 b/src/int_recom/recom_init.F90 index 48dc262e9..582121f2c 100644 --- a/src/int_recom/recom_init.F90 +++ b/src/int_recom/recom_init.F90 @@ -42,6 +42,7 @@ subroutine recom_init(tracers, partit, mesh) real(kind=WP) :: locDINmax, locDINmin, locDICmax, locDICmin, locAlkmax, glo real(kind=WP) :: locAlkmin, locDSimax, locDSimin, locDFemax, locDFemin + real(kind=WP) :: locO2max, locO2min type(t_tracer), intent(inout), target :: tracers type(t_partit), intent(inout), target :: partit @@ -59,55 +60,51 @@ subroutine recom_init(tracers, partit, mesh) !! *** Allocate and initialize *** + !! * Fe and N deposition as surface boundary condition * allocate(GloFeDust ( node_size )) allocate(AtmFeInput ( node_size )) allocate(GloNDust ( node_size )) allocate(AtmNInput ( node_size )) - allocate(cosAI ( node_size )) - allocate(GloPCO2surf ( node_size )) - allocate(GloCO2flux ( node_size )) - allocate(GloCO2flux_seaicemask ( node_size )) - allocate(GloO2flux_seaicemask ( node_size )) - allocate(GlodPCO2surf ( node_size )) - allocate(GlodecayBenthos ( node_size, benthos_num )) - allocate(Benthos ( node_size, benthos_num )) - allocate(Benthos_tr ( node_size, benthos_num, num_tracers )) ! kh 25.03.22 buffer per tracer index - allocate(GloHplus ( node_size )) - allocate(DenitBen ( node_size )) + !! * River nutrients as surface boundary condition * allocate(RiverDIN2D ( node_size )) allocate(RiverDON2D ( node_size )) allocate(RiverDOC2D ( node_size )) allocate(RiverDSi2D ( node_size )) allocate(RiverDIC2D ( node_size )) allocate(RiverAlk2D ( node_size )) + !! * Erosion nutrients as surface boundary condition * allocate(ErosionTON2D ( node_size )) allocate(ErosionTOC2D ( node_size )) allocate(ErosionTSi2D ( node_size )) + + !! * Alkalinity restoring to climatology * allocate(relax_alk ( node_size )) allocate(virtual_alk ( node_size )) + + + allocate(cosAI ( node_size )) + allocate(GloPCO2surf ( node_size )) + allocate(GloCO2flux ( node_size )) + allocate(GloCO2flux_seaicemask ( node_size )) + allocate(GloO2flux_seaicemask ( node_size )) + allocate(GlodPCO2surf ( node_size )) + allocate(GlodecayBenthos ( node_size, benthos_num )) + allocate(Benthos ( node_size, benthos_num )) + allocate(Benthos_tr ( node_size, benthos_num, num_tracers )) ! kh 25.03.22 buffer per tracer index + allocate(GloHplus ( node_size )) + allocate(DenitBen ( node_size )) + allocate(LocBenthos ( benthos_num )) allocate(decayBenthos ( benthos_num )) ! [1/day] Decay rate of detritus in the benthic layer - allocate(wFluxPhy ( benthos_num )) ! [mmol/(m2 * day)] Flux of N,C, calc and chl through sinking of phytoplankton - allocate(wFluxDia ( benthos_num )) ! [mmol/(m2 * day)] Flux of N,C, Si and chl through sinking of diatoms +! allocate(wFluxPhy ( benthos_num )) ! [mmol/(m2 * day)] Flux of N,C, calc and chl through sinking of phytoplankton +! allocate(wFluxDia ( benthos_num )) ! [mmol/(m2 * day)] Flux of N,C, Si and chl through sinking of diatoms allocate(PAR3D ( nl-1, node_size )) GloFeDust = 0.d0 AtmFeInput = 0.d0 GloNDust = 0.d0 AtmNInput = 0.d0 - - cosAI = 0.d0 - GloPCO2surf = 0.d0 - GloCO2flux = 0.d0 - GloCO2flux_seaicemask = 0.d0 - GloO2flux_seaicemask = 0.d0 - GlodPCO2surf = 0.d0 - GlodecayBenthos = 0.d0 - Benthos = 0.d0 - Benthos_tr(:,:,:) = 0.0d0 ! kh 25.03.22 - GloHplus = exp(-8.d0 * log(10.d0)) ! = 10**(-8) - DenitBen = 0.d0 RiverDIN2D = 0.d0 RiverDON2D = 0.d0 @@ -115,16 +112,173 @@ subroutine recom_init(tracers, partit, mesh) RiverDSi2D = 0.d0 RiverDIC2D = 0.d0 RiverAlk2D = 0.d0 + ErosionTON2D = 0.d0 ErosionTON2D = 0.d0 ErosionTSi2D = 0.d0 + relax_alk = 0.d0 virtual_alk = 0.d0 + cosAI = 0.d0 + GloPCO2surf = 0.d0 + GloCO2flux = 0.d0 + GloCO2flux_seaicemask = 0.d0 + GloO2flux_seaicemask = 0.d0 + GlodPCO2surf = 0.d0 + GlodecayBenthos = 0.d0 + Benthos = 0.d0 + Benthos_tr(:,:,:) = 0.0d0 ! kh 25.03.22 + GloHplus = exp(-8.d0 * log(10.d0)) ! = 10**(-8) + DenitBen = 0.d0 + LocBenthos = 0.d0 decayBenthos = 0.d0 wFluxPhy = 0.d0 wFluxDia = 0.d0 PAR3D = 0.d0 + + DO i=num_tracers-bgc_num+1, num_tracers + id=tracers%data(i)%ID + + SELECT CASE (id) + +! ******************* +! CASE 2phy 1zoo 1det +! ******************* +! Skip: DIN, DIC, Alk, DSi and O2 are read from files +! Fe [mol/L] => [umol/m3] Check the units again! + + CASE (1004) + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max ! PhyN + + CASE (1005) + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max/NCmax ! PhyC + + CASE (1006) + tracers%data(i)%values(:,:) = tiny_chl ! PhyChl + + CASE (1007) + tracers%data(i)%values(:,:) = tiny ! DetN + + CASE (1008) + tracers%data(i)%values(:,:) = tiny ! DetC + + CASE (1009) + tracers%data(i)%values(:,:) = tiny ! HetN + + CASE (1010) + tracers%data(i)%values(:,:) = tiny * Redfield ! HetC + + CASE (1011) + tracers%data(i)%values(:,:) = tiny ! DON + + CASE (1012) + tracers%data(i)%values(:,:) = tiny ! DOC + + CASE (1013) + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max ! DiaN + + CASE (1014) + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max/NCmax ! DiaC + + CASE (1015) + tracers%data(i)%values(:,:) = tiny_chl ! DiaChl + + CASE (1016) + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max_d/NCmax_d/SiCmax ! DiaSi + + CASE (1017) + tracers%data(i)%values(:,:) = tiny ! DetSi + + CASE (1019) + tracers%data(i)%values(:,:) = tracers%data(i)%values(:,:)* 1.e9 ! Fe [mol/L] => [umol/m3] Check the units again! + + CASE (1020) + tracers%data(i)%values(:,:) = tiny * Redfield ! PhyCalc + + CASE (1021) + tracers%data(i)%values(:,:) = tiny ! DetCalc + + END SELECT + END DO +!------------------------------------------ + + + !< Mask hydrothermal vent in Eastern Equatorial Pacific GO + do row=1, myDim_nod2D+eDim_nod2D + !if (ulevels_nod2D(row)>1) cycle + nzmin = ulevels_nod2D(row) + nzmax = nlevels_nod2D(row)-1 + do k=nzmin, nzmax + ! do not take regions shallower than 2000 m into account + if (((geo_coord_nod2D(2,row) > -12.5*rad) .and. (geo_coord_nod2D(2,row) < 9.5*rad))& + .and.((geo_coord_nod2D(1,row)> -106.0*rad) .and. (geo_coord_nod2D(1,row) < -72.0*rad))) then + if (abs(Z_3d_n(k,row))<2000.0_WP) cycle + tracers%data(21)%values(k,row) = min(0.6, tracers%data(21)%values(k,row)) + end if + end do + end do + + !< Mask negative values + tracers%data(21)%values(:,:) = max(tiny, tracers%data(21)%values(:,:)) +!------------------------------------------ + + if(mype==0) write(*,*),'Tracers have been initialized as spinup from WOA/glodap netcdf files' + locDINmax = -66666 + locDINmin = 66666 + locDICmax = locDINmax + locDICmin = locDINmin + locAlkmax = locDINmax + locAlkmin = locDINmin + locDSimax = locDINmax + locDSimin = locDINmin + locDFemax = locDINmax + locDFemin = locDINmin + locO2max = locDINmax + locO2min = locDINmin + + do n=1, myDim_nod2d + locDINmax = max(locDINmax,maxval(tracers%data(3)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + locDINmin = min(locDINmin,minval(tracers%data(3)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + locDICmax = max(locDICmax,maxval(tracers%data(4)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + locDICmin = min(locDICmin,minval(tracers%data(4)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + locAlkmax = max(locAlkmax,maxval(tracers%data(5)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + locAlkmin = min(locAlkmin,minval(tracers%data(5)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + locDSimax = max(locDSimax,maxval(tracers%data(20)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + locDSimin = min(locDSimin,minval(tracers%data(20)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + locDFemax = max(locDFemax,maxval(tracers%data(21)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + locDFemin = min(locDFemin,minval(tracers%data(21)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + locO2max = max(locO2max,maxval(tracers%data(24)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + locO2min = min(locO2min,minval(tracers%data(24)%values(ulevels_nod2D(n):nlevels_nod2D(n)-1,n)) ) + end do + + if (mype==0) write(*,*) "Sanity check for REcoM variables after recom_init call" + call MPI_AllREDUCE(locDINmax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' |-> gobal max init. DIN. =', glo + call MPI_AllREDUCE(locDINmin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' |-> gobal min init. DIN. =', glo + + call MPI_AllREDUCE(locDICmax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' |-> gobal max init. DIC. =', glo + call MPI_AllREDUCE(locDICmin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' |-> gobal min init. DIC. =', glo + call MPI_AllREDUCE(locAlkmax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' |-> gobal max init. Alk. =', glo + call MPI_AllREDUCE(locAlkmin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' |-> gobal min init. Alk. =', glo + call MPI_AllREDUCE(locDSimax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' |-> gobal max init. DSi. =', glo + call MPI_AllREDUCE(locDSimin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' |-> gobal min init. DSi. =', glo + call MPI_AllREDUCE(locDFemax , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' |-> gobal max init. DFe. =', glo + call MPI_AllREDUCE(locDFemin , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' `-> gobal min init. DFe. =', glo + call MPI_AllREDUCE(locO2max , glo , 1, MPI_DOUBLE_PRECISION, MPI_MAX, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' |-> gobal max init. O2. =', glo + call MPI_AllREDUCE(locO2min , glo , 1, MPI_DOUBLE_PRECISION, MPI_MIN, MPI_COMM_FESOM, MPIerr) + if (mype==0) write(*,*) ' `-> gobal min init. O2. =', glo + end subroutine recom_init From 28e8f009fed95470b98bdc2d9d5b9882e3cb7614 Mon Sep 17 00:00:00 2001 From: ogurses Date: Tue, 2 Apr 2024 11:36:38 +0200 Subject: [PATCH 144/273] chore(recom): add DIC_PI option and fill Alk_surf Read the correct file for DIC during initialisation. Keep the initial surface ocean alkalinity in Alk_surf. There is an option to read preindustrial or modern Dissolved Inorganic Carbon (DIC). It is controlled via DIC_PI switch in namelist.recom. Alk_surf holds the initial state of surface ocean alkalinity. Iterated alkalinity field is nudged to Alk_surf to keep the model drift plausible. --- src/oce_setup_step.F90 | 73 +++++++++++++++++++++++++++++++++++------- 1 file changed, 62 insertions(+), 11 deletions(-) diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 5d4c6c9ca..c5cc9f39c 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -768,6 +768,11 @@ SUBROUTINE oce_initial_state(tracers, partit, mesh) USE o_ARRAYS USE g_config USE g_ic3d +#if defined(__recom) + use recom_config + use recom_glovar + use recom_ciso +#endif implicit none type(t_tracer), intent(inout), target :: tracers type(t_partit), intent(inout), target :: partit @@ -787,18 +792,53 @@ SUBROUTINE oce_initial_state(tracers, partit, mesh) if (mype==0) write(*,*) tracers%num_tracers, ' tracers will be used in FESOM' if (mype==0) write(*,*) 'tracer IDs are: ', tracers%data(1:tracers%num_tracers)%ID ! +#if defined(__recom) + ! read preindustrial DIC + if(DIC_PI) then + filelist(5) = 'GLODAPv2.2016b.PI_TCO2_fesom2_mmol_fix_z_Fillvalue.nc' + varlist(5) = 'PI_TCO2_mmol' + end if + + if (mype==0) then + write(*,*) + print *, achar(27)//'[36m'//'*************************'//achar(27)//'[0m' + print *, achar(27)//'[36m'//' --> RECOM ON'//achar(27)//'[0m' + if (ciso) then + print *, achar(27)//'[36m'//' --> CISO ON'//achar(27)//'[0m' + else + print *, achar(27)//'[36m'//' --> CISO OFF'//achar(27)//'[0m' + endif + if(DIC_PI) then + print *, achar(27)//'[36m'// ' --> Preindustrial DIC will be used'//achar(27)//'[0m' + end if + if (restore_alkalinity) then + print *, achar(27)//'[36m'//' --> Alkalinity restoring = .true.'//achar(27)//'[0m' + endif + print *, achar(27)//'[36m'//'*************************'//achar(27)//'[0m' + write(*,*) + write(*,*) 'read Iron climatology from:', trim(filelist(1)) + write(*,*) 'read Oxygen climatology from:', trim(filelist(2)) + write(*,*) 'read Silicate climatology from:', trim(filelist(3)) + write(*,*) 'read Alkalinity climatology from:', trim(filelist(4)) + write(*,*) 'read DIC climatology from:', trim(filelist(5)) + write(*,*) 'read Nitrate climatology from:', trim(filelist(6)) + write(*,*) 'read Salt climatology from:', trim(filelist(7)) + write(*,*) 'read Temperature climatology from:', trim(filelist(8)) + end if ! read ocean state ! this must be always done! First two tracers with IDs 0 and 1 are the temperature and salinity. - if(mype==0) write(*,*) 'read Iron climatology from:', trim(filelist(1)) - if(mype==0) write(*,*) 'read Oxygen climatology from:', trim(filelist(2)) - if(mype==0) write(*,*) 'read Silicate climatology from:', trim(filelist(3)) - if(mype==0) write(*,*) 'read Alkalinity climatology from:', trim(filelist(4)) - if(mype==0) write(*,*) 'read DIC climatology from:', trim(filelist(5)) - if(mype==0) write(*,*) 'read Nitrate climatology from:', trim(filelist(6)) - if(mype==0) write(*,*) 'read Salt climatology from:', trim(filelist(7)) - if(mype==0) write(*,*) 'read Temperature climatology from:', trim(filelist(8)) - !if(mype==0) write(*,*) 'read Temperature climatology from:', trim(filelist(1)) - !if(mype==0) write(*,*) 'read Salinity climatology from:', trim(filelist(2)) +! if(mype==0) write(*,*) 'read Iron climatology from:', trim(filelist(1)) +! if(mype==0) write(*,*) 'read Oxygen climatology from:', trim(filelist(2)) +! if(mype==0) write(*,*) 'read Silicate climatology from:', trim(filelist(3)) +! if(mype==0) write(*,*) 'read Alkalinity climatology from:', trim(filelist(4)) +! if(mype==0) write(*,*) 'read DIC climatology from:', trim(filelist(5)) +! if(mype==0) write(*,*) 'read Nitrate climatology from:', trim(filelist(6)) +! if(mype==0) write(*,*) 'read Salt climatology from:', trim(filelist(7)) +! if(mype==0) write(*,*) 'read Temperature climatology from:', trim(filelist(8)) +#else + if(mype==0) write(*,*) 'read Temperature climatology from:', trim(filelist(1)) + if(mype==0) write(*,*) 'read Salinity climatology from:', trim(filelist(2)) +#endif call do_ic3d(tracers, partit, mesh) Tclim=tracers%data(1)%values @@ -807,6 +847,16 @@ SUBROUTINE oce_initial_state(tracers, partit, mesh) Ssurf=Sclim(1,:) relax2clim=0.0_WP +#if defined(__recom) + if (restore_alkalinity) then + if (mype==0) write(*,*) + if (mype==0) print *, achar(27)//'[46;1m'//' --> Set surface field for alkalinity restoring'//achar(27)//'[0m' + if (mype==0) write(*,*) + Alk_surf = tracers%data(5)%values(1,:) ! alkalinity is the 5th tracer + endif + +#endif + ! count the passive tracers which require 3D source (ptracers_restore_total) ptracers_restore_total=0 DO i=3, tracers%num_tracers @@ -827,8 +877,9 @@ SUBROUTINE oce_initial_state(tracers, partit, mesh) DO i=3, tracers%num_tracers id=tracers%data(i)%ID +#if defined(__recom) if (any(id == idlist)) cycle ! OG recom tracers id's start from 1001 - +#endif SELECT CASE (id) ! Read recom variables (hardcoded IDs) OG !_______________________________________________________________________ From 2d8cb384a6b634181035a773cc18e235ff293996 Mon Sep 17 00:00:00 2001 From: ogurses Date: Thu, 11 Apr 2024 10:23:59 +0200 Subject: [PATCH 145/273] feat(recom)!: Basic FESOM2.5-REcoM setup with 2p1z1d Add REcoM and MOCSY2.0 routines for the ecosystem and carbonate chemistry in the ocean Basic coupled FESOM2.5-REcoM setup with 2 phytoplankton, 1 zooplankton and 1 detritus functional types. Tracers are restructured to be operated within water column. CO2 and O2 fluxes are calculated in recom_forcing.F90 using MOCSY2.0 routines.recom_sms.F90 has the sources minus sink terms. BREAKING CHANGE: FESOM2.5-REcoM setup with 2p1z1d --- src/fesom_module.F90 | 12 +- src/int_recom/recom_extra.F90 | 150 +++++ src/int_recom/recom_forcing.F90 | 233 +++++++ src/int_recom/recom_main.F90 | 149 +++++ src/int_recom/recom_modules.F90 | 3 + src/int_recom/recom_sinking.F90 | 439 +++++++++++++ src/int_recom/recom_sms.F90 | 1032 +++++++++++++++++++++++++++++++ src/io_restart.F90 | 78 ++- src/oce_ale_tracer.F90 | 114 +++- src/oce_modules.F90 | 5 + src/oce_setup_step.F90 | 28 +- 11 files changed, 2232 insertions(+), 11 deletions(-) create mode 100644 src/int_recom/recom_extra.F90 create mode 100644 src/int_recom/recom_forcing.F90 create mode 100644 src/int_recom/recom_sinking.F90 create mode 100644 src/int_recom/recom_sms.F90 diff --git a/src/fesom_module.F90 b/src/fesom_module.F90 index d8636f714..ca5aa0fcd 100755 --- a/src/fesom_module.F90 +++ b/src/fesom_module.F90 @@ -121,9 +121,9 @@ subroutine fesom_init(fesom_total_nsteps) f%fesom_did_mpi_init = .true. end if #endif - #if defined (__oasis) + call cpl_oasis3mct_init(f%partit,f%partit%MPI_COMM_FESOM) #endif f%t1 = MPI_Wtime() @@ -134,6 +134,8 @@ subroutine fesom_init(fesom_total_nsteps) f%MPIerr =>f%partit%MPIerr f%MPI_COMM_FESOM=>f%partit%MPI_COMM_FESOM f%npes =>f%partit%npes + + if(f%mype==0) then write(*,*) print *,"FESOM2 git SHA: "//fesom_git_sha() @@ -154,7 +156,7 @@ subroutine fesom_init(fesom_total_nsteps) call mesh_setup(f%partit, f%mesh) if (f%mype==0) write(*,*) 'FESOM mesh_setup... complete' - + !===================== ! Allocate field variables ! and additional arrays needed for @@ -178,9 +180,11 @@ subroutine fesom_init(fesom_total_nsteps) ! recom setup #if defined (__recom) + if (flag_debug .and. f%mype==0) print *, achar(27)//'[34m'//' --> call recom_init'//achar(27)//'[0m' f%t0_recom=MPI_Wtime() call recom_init(f%tracers, f%partit, f%mesh) ! adjust values for recom tracers (derived type "t_tracer") f%t1_recom=MPI_Wtime() + if (f%mype==0) write(*,*) 'RECOM recom_init... complete' #endif if (f%mype==0) then @@ -209,7 +213,9 @@ subroutine fesom_init(fesom_total_nsteps) call compute_diagnostics(0, f%dynamics, f%tracers, f%partit, f%mesh) ! allocate arrays for diagnostic #if defined (__oasis) + call cpl_oasis3mct_define_unstr(f%partit, f%mesh) + if(f%mype==0) write(*,*) 'FESOM ----> cpl_oasis3mct_define_unstr nsend, nrecv:',nsend, nrecv #endif @@ -390,7 +396,7 @@ subroutine fesom_runloop(current_nsteps) call before_oce_step(f%dynamics, f%tracers, f%partit, f%mesh) ! prepare the things if required f%t2 = MPI_Wtime() - !___now recom___________________________________________________________ + !___now recom____________________________________________________ #if defined (__recom) if (f%mype==0 .and. n==1) print *, achar(27)//'[46' //'_____________________________________________________________'//achar(27)//'[0m' if (f%mype==0 .and. n==1) print *, achar(27)//'[46;1m'//' --> call REcoM '//achar(27)//'[0m' diff --git a/src/int_recom/recom_extra.F90 b/src/int_recom/recom_extra.F90 new file mode 100644 index 000000000..9e74da304 --- /dev/null +++ b/src/int_recom/recom_extra.F90 @@ -0,0 +1,150 @@ +!=============================================================================== +! Subroutine for calculating flux-depth and thickness of control volumes +!=============================================================================== +subroutine Depth_calculations(n,Nn,wF,zF,thick,recipthick, partit, mesh) + use recom_config + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + USE o_PARAM + USE o_ARRAYS + USE g_CONFIG + use g_forcing_arrays + use g_comm_auto + + use g_clock + use g_rotate_grid + + implicit none +! Input + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + + Integer, intent(in) :: Nn ! Total number of nodes +! Output + real(kind=8),dimension(mesh%nl), intent(out) :: zF ! [m] Depth of vertical fluxes + + real(kind=8),dimension(mesh%nl-1), intent(out) :: thick ! [m] Distance between two nodes = thickness + real(kind=8),dimension(mesh%nl-1), intent(out) :: recipthick ! [1/m] reciprocal of thickness + + real(kind=8),dimension(mesh%nl,5), intent(out) :: wF ! [m/day] Velocities of fluxes at the border of the control volumes + Integer :: k, n ! Index for depth + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" +! ====================================================================================== +!! zbar(nl) allocate the array for storing the standard depths (depth of layers) +!! zbar is negative +!! Z(nl-1) mid-depths of layers + + ! zbar_n: depth of layers due to ale thinkness variations at every node n +! allocate(zbar_n(nl)) +! allocate(zbar_3d_n(nl,myDim_nod2D+eDim_nod2D)) + + ! Z_n: mid depth of layers due to ale thinkness variations at every node n +! allocate(Z_n(nl-1)) +! allocate(Z_3d_n(nl-1,myDim_nod2D+eDim_nod2D)) +! ============================================================================== modular + +!! Background sinking speed + + wF(2:Nn,ivphy) = VPhy + wF(2:Nn,ivdia) = VDia + wF(2:Nn,ivdet) = VDet + + wF(1,:) = 0.d0 + wF(Nn+1,:) = 0.d0 + +!if (allow_var_sinking) then +!! wF(2:Nn+1,ivdet) = Vdet_a * abs(zbar_n(2:Nn+1)) + VDet +!!YY: use Vcalc instead of Vdet_a, only needed for calculating calc_diss +! wF(2:Nn+1,ivdet) = Vcalc * abs(zbar_3d_n(2:Nn+1, n)) + VDet +!end if + +!---------------------------------------------------- +! Vertical layers thickness + + thick =0.0_WP + recipthick=0.0_WP + zF=0.0_WP + +!do n=1,myDim_nod2D+eDim_nod2D + do k=1, Nn !nlevels_nod2D(n)-1 + thick(k)=hnode(k,n) + if (hnode(k,n) > 0._WP) then + recipthick(k)=1./hnode(k,n) + else + recipthick(k)=0._WP + end if + end do +!end do + +! layer depth (negative) + +!do n=1,myDim_nod2D+eDim_nod2D + do k=1, Nn+1 !nlevels_nod2D(n) + zF(k)=zbar_3d_n(k,n) + end do +!end do + +end subroutine Depth_calculations + +!=============================================================================== +! Subroutine for calculating cos(AngleOfIncidence) +!=============================================================================== +subroutine Cobeta(partit, mesh) + use REcoM_GloVar + use g_clock + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + use o_PARAM + use g_comm_auto + Implicit none + +! Declarations + real(kind=8) :: yearfrac ! The fraction of the year that has passed [0 1] + real(kind=8) :: yDay ! yearfrac in radians [0 2*pi] + real(kind=8) :: declination = 0.d0 ! Declination of the sun at present lat and time + real(kind=8) :: CosAngleNoon = 0.d0 ! Cos(Angle of Incidence) at Noon ? + integer :: n + +! Constants + real(kind=8) :: nWater = 1.33 + + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + +!! find day (****NOTE for year starting in winter*****) +!! Paltridge, G. W. and C. M. R. Platt, Radiative Processes +!! in Meteorology and Climatology, Developments in +!! Atmospheric Sciences, vol. 5, Elsevier Scientific +!! Publishing Company, Amsterdam, Oxford, +!! New York, 1976, ISBN 0-444-41444-4. + + yearfrac = mod(real(daynew),real(ndpyr))/real(ndpyr) + yDay = 2 * pi * yearfrac + declination = 0.006918 & + - 0.399912 * cos( yDay) & + + 0.070257 * sin( yDay) & + - 0.006758 * cos(2 * yDay) & + + 0.000907 * sin(2 * yDay) & + - 0.002697 * cos(3 * yDay) & + + 0.001480 * sin(3 * yDay) + + do n=1, myDim_nod2D!+eDim_nod2D + + cosAngleNoon = sin(geo_coord_nod2D(2,n)) * sin(declination) & + + cos(geo_coord_nod2D(2,n)) * cos(declination) + cosAI(n) = sqrt(1-(1-cosAngleNoon**2)/nWater**2) + + end do +end subroutine Cobeta + diff --git a/src/int_recom/recom_forcing.F90 b/src/int_recom/recom_forcing.F90 new file mode 100644 index 000000000..ca4f77974 --- /dev/null +++ b/src/int_recom/recom_forcing.F90 @@ -0,0 +1,233 @@ +!=============================================================================== +! REcoM_Forcing +!=============================================================================== +subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sali_depth & + , PAR, ice, dynamics, tracers, partit, mesh) + + use recom_declarations + use recom_locvar + use recom_config + use recom_glovar + use gasx + use recom_ciso + use g_clock + use o_PARAM + use g_rotate_grid + use g_config + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + use mod_tracer + use MOD_DYN + use MOD_ICE + + use o_param + use o_arrays + use g_forcing_arrays + use g_comm_auto + use g_support + implicit none + + type(t_dyn) , intent(inout), target :: dynamics + type(t_ice) , intent(inout), target :: ice + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + + real(kind=8) :: Latr + integer :: n, Nn ! Nn -Total number of nodes + real(kind=8),dimension(mesh%nl-1) :: zNodes ! Depth of nodes zr(1:nzmax) = Z_3d_n(1:nzmax,n) + real(kind=8),dimension(mesh%nl-1,bgc_num) :: state + real(kind=8) :: SurfSW ! [W/m2] ShortWave radiation at surface + real(kind=8) :: Loc_slp ! [Pa] sea-level pressure + real(kind=8),dimension(mesh%nl-1) :: Temp ! [degrees C] Ocean temperature + real(kind=8),dimension(mesh%nl-1) :: Sali_depth ! NEW MOCSY Salinity for the whole water column + + real(kind=8),dimension(mesh%nl-1) :: PAR + + !!---- Subroutine Depth + + real(kind=8),dimension(mesh%nl) :: zF ! [m] Depth of fluxes + real(kind=8),dimension(mesh%nl,5) :: SinkVel ! [m/day] + real(kind=8),dimension(mesh%nl-1) :: thick ! [m] Vertical distance between two nodes = Thickness + real(kind=8),dimension(mesh%nl-1) :: recipthick ! [1/m] reciprocal of thick + + !!---- Subroutine CO2Flux /mocsy + real(kind=8) :: REcoM_DIC(1) ! [mol/m3] Conc of DIC in the surface water, used to calculate CO2 flux + real(kind=8) :: REcoM_Alk(1) ! [mol/m3] Conc of Alk in the surface water, used to calculate CO2 flux + real(kind=8) :: REcoM_Si(1) ! [mol/m3] Conc of Si in the surface water, used to calculate CO2 flux + real(kind=8) :: REcoM_Phos(1) ! [mol/m3] Conc of Phos in the surface water, used to calculate the CO2 flux + real(kind=8) :: Sali(1) ! Salinity of current surface layer + real(kind=8) :: Latd(1) ! latitude in degree + real(kind=8) :: Lond(1) ! longitude in degree + real(kind=8) :: REcoM_T(1) ! temperature again, for mocsy minimum defined as -2 + real(kind=8) :: REcoM_S(1) ! temperature again, for mocsy minimum defined as 21 + + !!---- atm pressure + real(kind=8) :: Patm(1) ! atmospheric pressure [atm] + + !!---- Subroutine o2flux /mocsy + real(kind=8) :: ppo(1) ! atmospheric pressure, divided by 1 atm + real(kind=8) :: REcoM_O2(1) ! [mmol/m3] Conc of O2 in the surface water, used to calculate O2 flux + + !!---- Subroutine REcoM_sms + real(kind=8),dimension(mesh%nl-1,bgc_num) :: sms ! matrix that entail changes in tracer concentrations + + !!---- Diagnostics + integer :: idiags,k + + integer :: tr_num + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + + tiny_N = tiny_chl/chl2N_max ! 0.00001/ 3.15d0 Chl2N_max [mg CHL/mmol N] Maximum CHL a : N ratio = 0.3 gCHL gN^-1 + tiny_N_d = tiny_chl/chl2N_max_d ! 0.00001/ 4.2d0 + + tiny_C = tiny_N /NCmax ! NCmax = 0.2d0 [mmol N/mmol C] Maximum cell quota of nitrogen (N:C) + tiny_C_d = tiny_N_d/NCmax_d ! NCmax_d = 0.2d0 + + tiny_Si = tiny_C_d/SiCmax ! SiCmax = 0.8d0 + + call Cobeta(partit, mesh) + call Depth_calculations(n, Nn,SinkVel,zF,thick,recipthick, partit, mesh) + + !! ----- mocsy -------! + + !!---- convert from mmol/m3 to mol/m3 + REcoM_DIC = max(tiny*1e-3, state(one,idic)*1e-3) + REcoM_Alk = max(tiny*1e-3, state(one,ialk)*1e-3) + REcoM_Si = max(tiny*1e-3, state(one,isi) *1e-3) + + !!---- convert N to P with Redfield ratio + REcoM_Phos = max(tiny*1e-3, state(one,idin)*1e-3) /16. + + !!---- minimum set to 2 degC: K1/K2 Lueker valid between 2degC-35degC and 19-43psu + REcoM_T = max(2.d0, Temp(1)) + !!---- maximum set to 40 degC: K1/K2 Lueker valid between 2degC-35degC and 19-43psu + REcoM_T = min(REcoM_T, 40.d0) + + !!---- minimum set to 21: K1/K2 Lueker valid between 2degC-35degC and 19-43psu, else causes trouble in regions with S between 19 and 21 and ice conc above 97% + REcoM_S = max(21.d0, Sali(1)) + !!---- maximum set to 43: K1/K2 Lueker valid between 2degC-35degC and 19-43psu, else causes trouble REcoM_S = min(REcoM_S, 43.d0) !!!!!!!! + + !!---- convert from Pa to atm. + Patm = Loc_slp/Pa2atm + + !!---- lon + Lond=geo_coord_nod2D(1,n)/rad !! convert from rad to degree + !!---- lat + Latr=geo_coord_nod2D(2,n) + Latd=geo_coord_nod2D(2,n)/rad !! convert from rad to degree + + !!---- calculate piston velocity kw660, which is an input to the flxco2 calculation + !!---- pistonvel already scaled for ice-free area + !!---- compute piston velolicty kw660 (at 25 C) from wind speed + !!---- BUT without Schmidt number temperature correction (Sc differs each gas) + !! ULoc: wind speed at 10-m height + !! Loc_ice_conc: modeled sea-ice cover: fraction of grid cell, varying between 0.0 (no ice) and 1.0 (full cover) + !! kw660: piston velocity at 25°C [m/s], uncorrected by the Schmidt number for different temperatures + + call pistonvel(ULoc, Loc_ice_conc, Nmocsy, kw660) + + !! ----- check -------! + + if((REcoM_DIC(1) > 10000.d0)) then ! NEW: added this entire print statement (if to endif) + print*, 'NEW ERROR: DIC !' + print*, 'pco2surf: ',pco2surf + print*, 'co2: ',co2 + print*, 'rhoSW: ', rhoSW + print*, 'temp: ',REcoM_T + print*, 'tempis: ',tempis + print*, 'REcoM_S: ', REcoM_S + print*, 'REcoM_Alk: ', REcom_Alk + print*, 'REcoM_DIC: ', REcoM_DIC + print*, 'REcoM_Si: ', REcoM_Si + print*, 'REcoM_Phos: ', REcoM_Phos + print*, 'kw660: ',kw660 + print*, 'LocAtmCO2: ', LocAtmCO2 + print*, 'Patm: ', Patm + print*, 'thick(One): ',thick(One) + print*, 'Nmocsy: ', Nmocsy + print*, 'Lond: ', Lond + print*, 'Latd: ', Latd + print*, 'ULoc: ', ULoc + print*, 'Loc_ice_conc: ', Loc_ice_conc + stop + endif + + call flxco2(co2flux, co2ex, dpco2surf, & + ph, pco2surf, fco2, co2, hco3, co3, OmegaA, OmegaC, BetaD, rhoSW, p, tempis, & + REcoM_T, REcoM_S, REcoM_Alk, REcoM_DIC, REcoM_Si, REcoM_Phos, kw660, LocAtmCO2, Patm, thick(One), Nmocsy, Lond,Latd, & + optCON='mol/m3',optT='Tpot ',optP='m ',optB='u74',optK1K2='l ',optKf='dg',optGAS='Pinsitu',optS='Sprc') + +! changed optK1K2='l ' to 'm10' + if((co2flux(1)>1.e10) .or. (co2flux(1)<-1.e10)) then +! co2flux(1)=0.0 + print*, 'ERROR: co2 flux !' + print*, 'pco2surf: ',pco2surf + print*, 'co2: ',co2 + print*, 'rhoSW: ', rhoSW + print*, 'temp: ',REcoM_T + print*, 'tempis: ',tempis + print*, 'REcoM_S: ', REcoM_S + print*, 'REcoM_Alk: ', REcom_Alk + print*, 'REcoM_DIC: ', REcoM_DIC + print*, 'REcoM_Si: ', REcoM_Si + print*, 'REcoM_Phos: ', REcoM_Phos + print*, 'kw660: ',kw660 + print*, 'LocAtmCO2: ', LocAtmCO2 + print*, 'Patm: ', Patm + print*, 'thick(One): ',thick(One) + print*, 'Nmocsy: ', Nmocsy + print*, 'Lond: ', Lond + print*, 'Latd: ', Latd + print*, 'ULoc: ', ULoc + print*, 'Loc_ice_conc: ', Loc_ice_conc + stop + endif + +! use ice-free area and also convert from mol/m2/s to mmol/m2/d +! if(mype==0) write(*,*), 'co2flux (mol/m2/s) =',co2flux + +! ice-fraction is already considered in piston-velocity, so don't apply it here + dflux = co2flux * 1.e3 *SecondsPerDay !* (1.d0 - Loc_ice_conc) +! if(mype==0) write(*,*), 'dflux (mmol/m2/d) =',dflux + + co2flux_seaicemask = co2flux * 1.e3 ! [mmol/m2/s] * (1.d0 - Loc_ice_conc) +! if(mype==0) write(*,*), 'co2flux_seaicemask (mmol/m2/s) =',co2flux_seaicemask + +! then oxygen + ppo = Loc_slp/Pa2atm !1 !slp divided by 1 atm + REcoM_O2 = max(tiny*1e-3,state(one,ioxy)*1e-3) ! convert from mmol/m3 to mol/m3 for mocsy + + call o2flux(REcoM_T, REcoM_S, kw660, ppo, REcoM_O2, Nmocsy, o2ex) + + o2flux_seaicemask = o2ex * 1.e3 ! back to mmol here [mmol/m2/s] + +! Source-Minus-Sinks + +if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> REcoM_sms'//achar(27)//'[0m' + +! call REcoM_sms(n, Nn, state, thick, recipthick, SurfSW, sms, Temp ,zF, PAR, mesh) + + call REcoM_sms(n, Nn, state, thick, recipthick, SurfSW, sms, Temp, Sali_depth & + , Loc_slp & !, SinkVel + , zF, PAR, Lond, Latd, ice, dynamics, tracers, partit, mesh) + + state(1:nn,:) = max(tiny,state(1:nn,:) + sms(1:nn,:)) + + state(1:nn,ipchl) = max(tiny_chl,state(1:nn,ipchl)) + state(1:nn,iphyn) = max(tiny_N, state(1:nn,iphyn)) + state(1:nn,iphyc) = max(tiny_C, state(1:nn,iphyc)) + state(1:nn,idchl) = max(tiny_chl,state(1:nn,idchl)) + state(1:nn,idian) = max(tiny_N_d,state(1:nn,idian)) + state(1:nn,idiac) = max(tiny_C_d,state(1:nn,idiac)) + state(1:nn,idiasi) = max(tiny_Si, state(1:nn,idiasi)) + +if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> ciso after REcoM_Forcing'//achar(27)//'[0m' + +end subroutine REcoM_Forcing diff --git a/src/int_recom/recom_main.F90 b/src/int_recom/recom_main.F90 index 74ca50237..a0ad19c19 100755 --- a/src/int_recom/recom_main.F90 +++ b/src/int_recom/recom_main.F90 @@ -64,6 +64,155 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) !! u_wind and v_wind are always at nodes ! ====================================================================================== + real(kind=8) :: SW, Loc_slp + integer :: tr_num, num_tracers + integer :: nz, n, nzmin, nzmax + + real(kind=8) :: Sali + + real(kind=8), allocatable :: Temp(:), Sali_depth(:), zr(:), PAR(:) + real(kind=8), allocatable :: C(:,:) + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + allocate(Temp(nl-1), Sali_depth(nl-1), zr(nl-1) , PAR(nl-1)) + allocate(C(nl-1, bgc_num)) + + !< ice concentration [0 to 1] + + a_ice => ice%data(1)%values(:) + num_tracers = tracers%num_tracers + + !< alkalinity restoring to climatology + !< virtual flux is possible + + if (restore_alkalinity) call bio_fluxes(tracers, partit, mesh) + if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> bio_fluxes'//achar(27)//'[0m' + +! ====================================================================================== +!********************************* LOOP STARTS ***************************************** + + do n=1, myDim_nod2D ! needs exchange_nod in the end +! if (ulevels_nod2D(n)>1) cycle +! nzmin = ulevels_nod2D(n) + + !!---- Number of vertical layers + nzmax = nlevels_nod2D(n)-1 + + !!---- This is needed for piston velocity + Loc_ice_conc = a_ice(n) + + !!---- Mean sea level pressure +#if defined (__oasis) +!! MB: This is an ad-hoc patch for AWIESM-2.1 and needs to be improved: +!! We should consider air pressure provided by ECHAM. + Loc_slp = pa2atm +#else + Loc_slp = press_air(n) +#endif + + !!---- Benthic layers + LocBenthos(1:benthos_num) = Benthos(n,1:benthos_num) + + !!---- Local conc of [H+]-ions from last time step. Decleared and saved in LocVar. + !!---- used as first guess for H+ conc. in subroutine CO2flux (provided by recom_init) + Hplus = GloHplus(n) + + !!---- Interpolated wind from atmospheric forcing +#if defined (__oasis) + !! Derive 10m-wind speed from wind stress fields, see module recom_ciso. + !! This is an ad-hoc solution as long as 10m-winds are not handled from OASIS. + Uloc = wind_10(stress_atmoce_x(n), stress_atmoce_y(n)) +#else + ULoc = sqrt(u_wind(n)**2+v_wind(n)**2) +#endif + + !!---- Atmospheric CO2 in LocVar + LocAtmCO2 = AtmCO2(month) + + !!---- Shortwave penetration + SW = parFrac * shortwave(n) + SW = SW * (1.d0 - a_ice(n)) + + !!---- Temperature in water column + Temp(1:nzmax) = tracers%data(1)%values(1:nzmax, n) + + !!---- Surface salinity + Sali = tracers%data(2)%values(1, n) + Sali_depth(1:nzmax) = tracers%data(2)%values(1:nzmax, n) + + !!---- Biogeochemical tracers + do tr_num = num_tracers-bgc_num+1, num_tracers + C(1:nzmax, tr_num-2) = tracers%data(tr_num)%values(1:nzmax, n) + end do + + !!---- Depth of the nodes in the water column + zr(1:nzmax) = Z_3d_n(1:nzmax, n) + + !!---- The PAR in the local water column is initialized + PAR(1:nzmax) = 0.d0 + + !!---- a_ice(row): Ice concentration in the local node + FeDust = GloFeDust(n) * (1.d0 - a_ice(n)) * dust_sol + NDust = GloNDust(n) * (1.d0 - a_ice(n)) + + if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> REcoM_Forcing'//achar(27)//'[0m' + +! ====================================================================================== +!******************************** RECOM FORCING **************************************** + call REcoM_Forcing(zr, n, nzmax, C, SW, Loc_slp , Temp, Sali, Sali_depth & + , PAR, ice, dynamics, tracers, partit, mesh) + + do tr_num = num_tracers-bgc_num+1, num_tracers !bgc_num+2 + tracers%data(tr_num)%values(1:nzmax, n) = C(1:nzmax, tr_num-2) + end do + + !!---- Local variables that have been changed during the time-step are stored so they can be saved + Benthos(n,1:benthos_num) = LocBenthos(1:benthos_num) + GlodecayBenthos(n, 1:benthos_num) = decayBenthos(1:benthos_num)/SecondsPerDay ! convert from [mmol/m2/d] to [mmol/m2/s] + GloHplus(n) = ph(1) !hplus + + AtmFeInput(n) = FeDust + AtmNInput(n) = NDust + + GloPCO2surf(n) = pco2surf(1) + GlodPCO2surf(n) = dpco2surf(1) + GloCO2flux(n) = dflux(1) + GloCO2flux_seaicemask(n) = co2flux_seaicemask(1) ! [mmol/m2/s] + GloO2flux_seaicemask(n) = o2flux_seaicemask(1) ! [mmol/m2/s] + + if (Diags) then + + end if + end do + +! ====================================================================================== +!************************** EXCHANGE NODAL INFORMATION ********************************* + + do tr_num=num_tracers-bgc_num+1, num_tracers !bgc_num+2 + call exchange_nod(tracers%data(tr_num)%values(:,:), partit) + end do + + call exchange_nod(GloPCO2surf, partit) + call exchange_nod(GlodPCO2surf, partit) + call exchange_nod(GloCO2flux, partit) + call exchange_nod(GloCO2flux_seaicemask, partit) + + call exchange_nod(GloO2flux_seaicemask, partit) + do n=1, benthos_num + call exchange_nod(Benthos(:,n), partit) + end do + + do n=1, benthos_num !4 + call exchange_nod(GlodecayBenthos(:,n), partit) + end do + + call exchange_nod(GloHplus, partit) + call exchange_nod(AtmFeInput, partit) + call exchange_nod(AtmNInput, partit) end subroutine recom diff --git a/src/int_recom/recom_modules.F90 b/src/int_recom/recom_modules.F90 index 8b99c4603..0ce240e0d 100644 --- a/src/int_recom/recom_modules.F90 +++ b/src/int_recom/recom_modules.F90 @@ -20,6 +20,9 @@ module recom_config !! *** General constants *** +! ******************* +! CASE 2phy 1zoo 1det +! ******************* Integer :: idin = 1, idic = 2, ialk = 3, iphyn = 4, iphyc = 5, & ipchl = 6, idetn = 7, idetc = 8, ihetn = 9, & ihetc = 10, idon = 11, idoc = 12, idian = 13, & diff --git a/src/int_recom/recom_sinking.F90 b/src/int_recom/recom_sinking.F90 new file mode 100644 index 000000000..b2212d02e --- /dev/null +++ b/src/int_recom/recom_sinking.F90 @@ -0,0 +1,439 @@ +module diff_ver_recom_expl_interface + interface + subroutine diff_ver_recom_expl(tr_num, tracer, partit, mesh) + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + use mod_tracer + integer , intent(in) , target :: tr_num + type(t_tracer), intent(inout), target :: tracer + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + end subroutine + end interface +end module +module ver_sinking_recom_interface + interface + subroutine ver_sinking_recom(tr_num, tracer, partit, mesh) + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + use mod_tracer + integer , intent(in) , target :: tr_num + type(t_tracer), intent(inout), target :: tracer + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + end subroutine + end interface +end module +module ver_sinking_recom_benthos_interface + interface + subroutine ver_sinking_recom_benthos(tr_num, tracer, partit, mesh) + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + use mod_tracer + integer , intent(in) , target :: tr_num + type(t_tracer), intent(inout), target :: tracer + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + end subroutine + end interface +end module +!=============================================================================== +! YY: sinking of second detritus adapted from Ozgur's code +! but not using recom_det_tracer_id, since +! second detritus has a different sinking speed than the first +! define recom_det2_tracer_id to make it consistent??? +!=============================================================================== +subroutine ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) + + use MOD_MESH + use MOD_PARTIT + use MOD_PARSUP + use MOD_TRACER + + use recom_declarations + use recom_locvar + use recom_glovar + use recom_config + use recom_ciso + use ver_sinking_recom_benthos_interface + + use g_support + use g_clock + use o_PARAM + use g_config + use o_param ! num_tracers + use o_arrays + use g_forcing_arrays ! press_air + use g_comm_auto + implicit none + + integer , intent(in) , target :: tr_num + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + + integer :: elem,k + integer :: nl1,ul1,nz,n,nzmin, nzmax, net + real(kind=WP) :: Vben(mesh%nl), aux(mesh%nl-1), flux(mesh%nl), add_benthos_2d(partit%myDim_nod2D) + integer :: nlevels_nod2D_minimum + real(kind=WP) :: tv + real(kind=WP), dimension(:,:), pointer :: trarr + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + trarr=>tracers%data(tr_num)%values(:,:) + + do n=1, myDim_nod2D ! needs exchange_nod in the end + nl1=nlevels_nod2D(n)-1 + ul1=ulevels_nod2D(n) + + aux=0._WP + Vben=0._WP + add_benthos_2d=0._WP + +! Calculate sinking velociy for vertical sinking case +! ****************************************************** + if (any(recom_det_tracer_id == tracers%data(tr_num)%ID)) Vben = Vdet + if (any(recom_phy_tracer_id == tracers%data(tr_num)%ID)) Vben = VPhy + if (any(recom_dia_tracer_id == tracers%data(tr_num)%ID)) Vben = VDia + if (allow_var_sinking) then + Vben = Vdet_a * abs(zbar_3d_n(:,n)) + Vben + end if + + Vben= Vben/SecondsPerDay ! conversion [m/d] --> [m/s] (vertical velocity, note that it is positive here) + + k=nod_in_elem2D_num(n) + ! Screening minimum depth in neigbouring nodes around node n + nlevels_nod2D_minimum=minval(nlevels(nod_in_elem2D(1:k, n))-1) + + do nz=nlevels_nod2D_minimum, nl1 + tv = trarr(nz,n)*Vben(nz) + aux(nz)= - tv*(area(nz,n)-area(nz+1,n)) + end do + + do nz=ul1,nl1 + str_bf(nz,n) = str_bf(nz,n) + (aux(nz))*dt/area(nz,n)/(zbar_3d_n(nz,n)-zbar_3d_n(nz+1,n)) + add_benthos_2d(n) = add_benthos_2d(n) - (aux(nz))*dt !!!!!!!!CHECK Maybe /area(nz,n) -> [mmol/m2] + end do + + ! Particulate Organic Nitrogen + if( tracers%data(tr_num)%ID==1004 .or. & !iphyn + tracers%data(tr_num)%ID==1007 .or. & !idetn + tracers%data(tr_num)%ID==1013 ) then !idian + Benthos(n,1)= Benthos(n,1) + add_benthos_2d(n) ![mmol] + endif + + ! Particulate Organic Carbon + if( tracers%data(tr_num)%ID==1005 .or. & !iphyc + tracers%data(tr_num)%ID==1008 .or. & !idetc + tracers%data(tr_num)%ID==1014 ) then !idiac + Benthos(n,2)= Benthos(n,2) + add_benthos_2d(n) + endif + + ! Particulate Organic Silicon + if( tracers%data(tr_num)%ID==1016 .or. & !idiasi + tracers%data(tr_num)%ID==1017 ) then !idetsi + Benthos(n,3)= Benthos(n,3) + add_benthos_2d(n) + endif + + ! Cal + if( tracers%data(tr_num)%ID==1020 .or. & !iphycal + tracers%data(tr_num)%ID==1021 ) then !idetcal + Benthos(n,4)= Benthos(n,4) + add_benthos_2d(n) + endif + end do + do n=1, benthos_num + call exchange_nod(Benthos(:,n), partit) + end do + +end subroutine ver_sinking_recom_benthos +! +! +!=============================================================================== +subroutine diff_ver_recom_expl(tr_num, tracers, partit, mesh) +! Remineralization from benthos +! bottom_flux + + use MOD_MESH + use MOD_PARTIT + use MOD_PARSUP + use MOD_TRACER + + use recom_declarations + use recom_locvar + use recom_glovar + use recom_config + use recom_ciso + use diff_ver_recom_expl_interface + + use g_clock + use o_PARAM + use g_config + use o_param ! num_tracers + use o_arrays + use g_forcing_arrays ! press_air + use g_comm_auto + + IMPLICIT NONE + + integer , intent(in) , target :: tr_num + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + + integer :: elem,k + integer :: n2,nl1,nl2,nz,n,id,ul1 + real(kind=WP) :: vd_flux(mesh%nl) + integer :: nlevels_nod2D_minimum + real(kind=WP) :: bottom_flux(partit%myDim_nod2D+partit%eDim_nod2D) + + real(kind=WP), dimension(:,:), pointer :: trarr + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + trarr=>tracers%data(tr_num)%values(:,:) + + +bottom_flux = 0._WP +id = tracers%data(tr_num)%ID + + SELECT CASE (id) + CASE (1001) + bottom_flux = GlodecayBenthos(:,1) !*** DIN [mmolN/m^2/s] *** + CASE (1002) + bottom_flux = GlodecayBenthos(:,2) + GlodecayBenthos(:,4) !*** DIC + calcification *** + CASE (1003) + bottom_flux = GlodecayBenthos(:,4) * 2.0_WP - 1.0625_WP * GlodecayBenthos(:,1) !*** Alk *** + CASE (1018) + bottom_flux = GlodecayBenthos(:,3) !*** Si *** + CASE (1019) + bottom_flux = GlodecayBenthos(:,1) * Fe2N_benthos !*** DFe *** + CASE (1022) + bottom_flux = -GlodecayBenthos(:,2) * redO2C !*** O2 *** + CASE DEFAULT + if (partit%mype==0) then + write(*,*) 'check specified in boundary conditions' + write(*,*) 'the model will stop!' + end if + call par_ex(partit%MPI_COMM_FESOM, partit%mype) + stop + END SELECT + + do n=1, myDim_nod2D + + nl1=nlevels_nod2D(n)-1 + ul1=ulevels_nod2D(n) + + vd_flux=0._WP + + k=nod_in_elem2D_num(n) + ! Screening minimum depth in neigbouring nodes around node n + nlevels_nod2D_minimum=minval(nlevels(nod_in_elem2D(1:k, n))-1) + + !_______________________________________________________________________ + ! Bottom flux + do nz=nlevels_nod2D_minimum, nl1 + vd_flux(nz)=(area(nz,n)-area(nz+1,n))* bottom_flux(n)/(area(1,n)) !!!!!!!! + end do + nz=nl1 + vd_flux(nz+1)= (area(nz+1,n))* bottom_flux(n)/(area(1,n)) + !_______________________________________________________________________ + ! writing flux into rhs + do nz=ul1,nl1 + ! flux contribute only the cell through its bottom !!! +! dtr_bf(nz,n) = dtr_bf(nz,n) + vd_flux(nz+1)*dt/area(nz,n)/(zbar_3d_n(nz,n)-zbar_3d_n(nz+1,n)) + dtr_bf(nz,n) = dtr_bf(nz,n) + vd_flux(nz+1)*dt/areasvol(nz,n)/hnode_new(nz,n) + end do + end do +end subroutine diff_ver_recom_expl + +subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) +! Sinking in water column + + use MOD_MESH + use MOD_PARTIT + use MOD_PARSUP + use MOD_TRACER + + use REcoM_declarations + use REcoM_LocVar + use REcoM_GloVar + use recom_config + use REcoM_ciso + use ver_sinking_recom_interface + + use g_clock + use o_PARAM + use g_config + use o_param ! num_tracers + use o_arrays + use g_forcing_arrays ! press_air + use g_comm_auto + implicit none + + integer , intent(in) , target :: tr_num + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + + integer :: node, nz, id, nzmin, nzmax, n, k, nlevels_nod2D_minimum + real(kind=WP) :: vd_flux(mesh%nl) + real(kind=8) :: dz_trr(mesh%nl), aux + real(kind=8) :: wLoc,wM,wPs + real(kind=8) :: Rjp,Rj,Rjm + + real(kind=8) :: cfl, d0, d1, thetaP, thetaM, psiP, psiM + real(kind=8) :: onesixth = 1.d0/6.d0 + real(kind=8) :: dt_sink, c1, c2 ! BALL added dt_sink + real(kind=8) :: Vsink, tv + real(kind=8),dimension(mesh%nl) :: Wvel_flux + + real(kind=WP), dimension(:,:), pointer :: trarr + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + trarr=>tracers%data(tr_num)%values(:,:) + +!< calculate scaling factors +!< scaling_density1_3D, scaling_density2_3D +!< scaling_visc_3D +!< .OG. 04.11.2022 + +!< Constant sinking velocities (we prescribe them under namelist recom) +!< This hardcoded part is temporary +!< .OG. 07.07.2021 + + Vsink=0.0_WP + + if (tracers%data(tr_num)%ID ==1007 .or. & !idetn + tracers%data(tr_num)%ID ==1008 .or. & !idetc + tracers%data(tr_num)%ID ==1017 .or. & !idetsi + tracers%data(tr_num)%ID ==1021 ) then !idetcal + + Vsink = VDet + + elseif(tracers%data(tr_num)%ID ==1004 .or. & !iphyn + tracers%data(tr_num)%ID ==1005 .or. & !iphyc + tracers%data(tr_num)%ID==1020 .or. & !iphycal + tracers%data(tr_num)%ID==1006 ) then !ipchl + + Vsink = VPhy + + elseif(tracers%data(tr_num)%ID==1013 .or. & !idian + tracers%data(tr_num)%ID==1014 .or. & !idiac + tracers%data(tr_num)%ID==1016 .or. & !idiasi + tracers%data(tr_num)%ID==1015 ) then !idchl + + Vsink = VDia + end if + +if (Vsink .gt. 0.1) then ! No sinking if Vsink < 0.1 m/day + + do n = 1,myDim_nod2D + if (ulevels_nod2D(n)>1) cycle + nzmin = ulevels_nod2D(n) + nzmax = nlevels_nod2D(n)-1 + + ! distance between tracer points, surface and bottom dz_trr is half + ! the layer thickness + dz_trr = 0.0d0 + dz_trr(nzmin+1:nzmax) = abs(Z_3d_n(nzmin:nzmax-1,n)-Z_3d_n(nzmin+1:nzmax,n)) + dz_trr(nzmin) = hnode(nzmin,n)/2.0d0 + dz_trr(nzmax+1) = hnode(nzmax,n)/2.0d0 + + Wvel_flux(nzmin:nzmax+1)= 0.d0 ! Vertical velocity for BCG tracers + + do nz=nzmin,nzmax+1 + if (allow_var_sinking) then + + Wvel_flux(nz) = -((Vdet_a * abs(zbar_3d_n(nz,n))/SecondsPerDay) + Vsink/SecondsPerDay) + + else ! allow_var_sinking = .false. + Wvel_flux(nz) = -Vsink/SecondsPerDay + end if + end do + + dt_sink = dt + vd_flux = 0.0d0 + +if (1) then ! 3rd Order DST Sceheme with flux limiting. This code comes from old recom + + k=nod_in_elem2D_num(n) + ! Screening minimum depth in neigbouring nodes around node n + nlevels_nod2D_minimum=minval(nlevels(nod_in_elem2D(1:k, n))-1) + + vd_flux(nzmin:nzmax+1)= 0.0_WP + + do nz=nzmax, nzmin+1,-1 + + Rjp = trarr(nz,n) - trarr(min(nz+1,nzmax),n) + Rj = trarr(max(nzmin,nz-1),n) - trarr(nz,n) + Rjm = trarr(max(nzmin,nz-2),n) - trarr(max(nzmin,nz-1),n) + + cfl = abs(Wvel_flux(nz) * dt_sink / dz_trr(nz)) !(Z_n(nz-1)-Z_n(nz))) ! [m/day] * [day] * [1/m] ! NEW BALL changed dt to dt_sink + + wPs = Wvel_flux(nz) + abs(Wvel_flux(nz)) ! --> Positive vertical velocity + wM = Wvel_flux(nz) - abs(Wvel_flux(nz)) ! --> Negative vertical velocity + + d0 = (2.d0 - cfl)*(1.d0 - cfl)*onesixth + d1 = (1.d0 - cfl*cfl)*onesixth + + thetaP = Rjm/(1.d-20+Rj) + psiP = d0 + d1*thetaP + psiP = max(0.d0, min(min(1.d0,psiP), & + (1.d0-cfl)/(1.d-20+cfl)*thetaP)) + + thetaM = Rjp/(1.d-20 + Rj) + psiM = d0 + d1*thetaM + psiM = max(0.d0, min(min(1.d0,psiM), & + (1.d0-cfl)/(1.d-20-cfl)*thetaM)) + + tv= (0.5 * wPs * (trarr(nz,n) + psiM * Rj)+ & + 0.5 * wM * (trarr(max(nzmin,nz-1),n) + psiP * Rj)) + vd_flux(nz)= - tv*area(nz,n) + end do +end if ! 3rd Order DST Sceheme with flux limiting + +if (0) then ! simple upwind + + ! Surface flux + vd_flux(nzmin)= 0.0_WP + + ! Bottom flux + vd_flux(nzmax+1)= 0.0_WP + + k=nod_in_elem2D_num(n) + ! Screening minimum depth in neigbouring nodes around node n + nlevels_nod2D_minimum=minval(nlevels(nod_in_elem2D(1:k, n))-1) + + do nz=nzmin+1,nzmax !nlevels_nod2D_minimum-1 +! tv = trarr(nz,n) ! simple scheme - test1 +! tv = 0.5_WP*(trarr(nz-1,n)+trarr(nz,n)) ! consider both layers - test2 +! tv = tv*Wvel_flux(nz) ! Wvel_flux is negative + tv = - 0.5* & ! - test3 + (trarr(nz-1,n)*(Wvel_flux(nz)-abs(Wvel_flux(nz))) + & + trarr(nz ,n)*(Wvel_flux(nz)+abs(Wvel_flux(nz)))) + vd_flux(nz)= tv*area(nz,n) + + end do +end if ! simple upwind + do nz=nzmin,nzmax + vert_sink(nz,n) = vert_sink(nz,n) + (vd_flux(nz)-vd_flux(nz+1))*dt/areasvol(nz,n)/hnode_new(nz,n) !/(zbar_3d_n(nz,n)-zbar_3d_n(nz+1,n)) + end do + end do +end if ! Vsink .gt. 0.1 + +end subroutine ver_sinking_recom + diff --git a/src/int_recom/recom_sms.F90 b/src/int_recom/recom_sms.F90 new file mode 100644 index 000000000..4dbf2ae6d --- /dev/null +++ b/src/int_recom/recom_sms.F90 @@ -0,0 +1,1032 @@ +subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + , Loc_slp, zF, PAR, Lond, Latd, ice, dynamics, tracers, partit, mesh) + + use recom_declarations + use recom_locvar + use recom_glovar + use recom_config + use recoM_ciso + use g_clock + + use g_config + use MOD_MESH + use MOD_TRACER + use MOD_DYN + USE MOD_ICE + use o_ARRAYS + use o_PARAM + USE MOD_PARTIT + USE MOD_PARSUP + + use g_forcing_arrays + use g_comm_auto + use mvars + use mdepth2press + use gsw_mod_toolbox, only: gsw_sa_from_sp,gsw_ct_from_pt,gsw_rho + + implicit none + type(t_dyn) , intent(inout), target :: dynamics + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh + type(t_ice) , intent(inout), target :: ice + + integer, intent(in) :: Nn !< Total number of nodes in the vertical + real(kind=8),dimension(mesh%nl-1,bgc_num),intent(inout) :: state !< ChlA conc in phytoplankton [mg/m3] + !! should be in instead of inout + + real(kind=8),dimension(mesh%nl-1) :: thick !< [m] Vertical distance between two nodes = Thickness + real(kind=8),dimension(mesh%nl-1) :: recipthick !< [1/m] reciprocal of thick + real(kind=8),intent(in) :: SurfSR !< [W/m2] ShortWave radiation at surface + + real(kind=8),dimension(mesh%nl-1,bgc_num),intent(inout) :: sms !< Source-Minus-Sinks term + real(kind=8),dimension(mesh%nl-1) ,intent(in) :: Temp !< [degrees C] Ocean temperature + real(kind=8),dimension(mesh%nl-1) ,intent(in) :: Sali_depth !< NEW MOCSY Salinity for the whole water column + + real(kind=8),dimension(mesh%nl) ,intent(in) :: zF !< [m] Depth of fluxes + real(kind=8),dimension(mesh%nl-1),intent(inout) :: PAR + + real(kind=8) :: dt_d !< Size of time steps [day] + real(kind=8) :: dt_b !< Size of time steps [day] + real(kind=8),dimension(mesh%nl-1) :: Sink + real(kind=8) :: dt_sink !< Size of local time step + + real(kind=8) :: recip_hetN_plus !< MB's addition to heterotrophic respiration + real(kind=8) :: recip_res_het !< [day] Reciprocal of respiration by heterotrophs and mortality (loss to detritus) + real(kind=8) :: Sink_Vel + real(kind=8) :: aux + integer :: k,step,ii, idiags,n + + real(kind=8), intent(in) :: Loc_slp ! MOCSY [Pa] sea-level pressure + real(kind=8) :: Patm_depth(1) ! MOCSY + real(kind=8) :: REcoM_T_depth(1) ! MOCSY temperature for the whole water column for mocsy minimum defined as -2 + real(kind=8) :: REcoM_S_depth(1) ! MOCSY + real(kind=8) :: REcoM_DIC_depth(1) ! MOCSY + real(kind=8) :: REcoM_Alk_depth(1) ! MOCSY + real(kind=8) :: REcoM_Si_depth(1) ! MOCSY + real(kind=8) :: REcoM_Phos_depth(1) ! MOCSY + real(kind=8), intent(in) :: Latd(1) ! latitude in degree + real(kind=8), intent(in) :: Lond(1) ! NEW MOCSY longitude in degree + real(kind=8) :: mocsy_step_per_day + real(kind=8) :: & + DIN, & !< Dissolved Inorganic Nitrogen [mmol/m3] + DIC, & !< Dissolved Inorganic Carbon [mmol/m3] + Alk, & !< Total Alkalinity [mmol/m3] + PhyN, & !< Intracellular conc of Nitrogen in small phytoplankton [mmol/m3] + PhyC, & !< Intracellular conc of Carbon in small phytoplankton [mmol/m3] + PhyChl, & !< Current intracellular ChlA conc. [mg/m3] + DetN, & !< Conc of N in Detritus [mmol/m3] + DetC, & !< Conc of C in Detritus [mmol/m3] + HetN, & !< Conc of N in heterotrophs [mmol/m3] + HetC, & !< Conc of C in heterotrophs [mmol/m3] + DON, & !< Dissolved organic N in the water [mmol/m3] + EOC, & !< Extracellular Organic C conc [mmol/m3] + DiaN, & + DiaC, & + DiaChl, & + DiaSi, & + DetSi, & + Si, & + Fe, & + PhyCalc, & + DetCalc, & + FreeFe, & + O2 + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + sms = zero ! double precision + + tiny_N = tiny_chl/chl2N_max !< 0.00001/ 3.15d0 Chl2N_max [mg CHL/mmol N] Maximum CHL a : N ratio = 0.3 gCHL gN^-1 + tiny_N_d = tiny_chl/chl2N_max_d !< 0.00001/ 4.2d0 + + tiny_C = tiny_N /NCmax !< NCmax = 0.2d0 [mmol N/mmol C] Maximum cell quota of nitrogen (N:C) + tiny_C_d = tiny_N_d/NCmax_d !< NCmax_d = 0.2d0 + + tiny_Si = tiny_C_d/SiCmax !< SiCmax = 0.8d0 + + + recip_res_het = 1.d0/res_het !< res_het = 0.01d0 [1/day] Respiration by heterotrophs and mortality (loss to detritus) + + Patm_depth = Loc_slp/Pa2atm ! MOCSY convert from Pa to atm. + +!------------------------------------------------------------------------------- +!> REcoM time steps [day] +!------------------------------------------------------------------------------- + + rTref = real(one)/recom_Tref + + dt_d = dt/SecondsPerDay !< Size of FESOM time step [day] + dt_b = dt_d/real(biostep) !< Size of REcoM time step [day] + +!------------------------------------------------------------------------------- +!Main time loop starts + do step = one,biostep + + kdzUpper = 0.d0 !< Upper light attenuation of top cell is set to zero + + if (any(abs(sms(:,:)) <= tiny)) sms(:,:) = zero ! tiny = 2.23D-16 + +!------------------------------------------------------------------------------- +! Main vertical loop starts + do k = one,Nn ! nzmin, nzmax +! do n=1, myDim_nod2D!+eDim_nod2D +! Nn=nlevels_nod2D(n)-1 !nzmax +! nzmin = ulevels_nod2D(row) +! nzmax = nlevels_nod2D(row) +! do k=1, Nn + DIN = max(tiny,state(k,idin) + sms(k,idin )) !< Avoids division by zero + DIC = max(tiny,state(k,idic) + sms(k,idic )) !! and updates Conc between + ALK = max(tiny,state(k,ialk) + sms(k,ialk )) !! local steps in REcoM when + PhyN = max(tiny_N,state(k,iphyn) + sms(k,iphyn )) !! biostep > 1 + PhyC = max(tiny_C,state(k,iphyc) + sms(k,iphyc )) + PhyChl = max(tiny_chl,state(k,ipchl) + sms(k,ipchl )) + DetN = max(tiny,state(k,idetn) + sms(k,idetn )) + DetC = max(tiny,state(k,idetc) + sms(k,idetc )) + HetN = max(tiny,state(k,ihetn) + sms(k,ihetn )) + HetC = max(tiny,state(k,ihetc) + sms(k,ihetc )) + DON = max(tiny,state(k,idon) + sms(k,idon )) + EOC = max(tiny,state(k,idoc) + sms(k,idoc )) + DiaN = max(tiny_N_d,state(k,idian) + sms(k,idian )) + DiaC = max(tiny_C_d,state(k,idiac) + sms(k,idiac )) + DiaChl = max(tiny_chl,state(k,idchl) + sms(k,idchl )) + DiaSi = max(tiny_si,state(k,idiasi) + sms(k,idiasi)) + DetSi = max(tiny,state(k,idetsi) + sms(k,idetsi)) + Si = max(tiny,state(k,isi) + sms(k,isi )) + Fe = max(tiny,state(k,ife) + sms(k,ife )) + O2 = max(tiny,state(k,ioxy) + sms(k,ioxy)) + FreeFe = zero + + PhyCalc = max(tiny,state(k,iphycal) + sms(k,iphycal)) + DetCalc = max(tiny,state(k,idetcal) + sms(k,idetcal)) + +!!------------------------------------------------------------------------------ +!< Quotas + ! *** Small phytoplankton + quota = PhyN / PhyC ! include variability of the N: C ratio, cellular chemical composition + recipquota = real(one) / quota + Chl2C = PhyChl / PhyC ! Chl a:phytoplankton carbon ratio, cellular chemical composition [gCHL gC^-1] + Chl2N = PhyChl / PhyN ! Chl a:phytoplankton nitrogen ratio, cellular chemical composition [gCHL gN^-1] + CHL2C_plast = Chl2C * (quota/(quota - NCmin)) + + ! *** Diatoms + quota_dia = DiaN / DiaC + recipQuota_dia = real(one)/quota_dia + Chl2C_dia = DiaChl / DiaC + Chl2N_dia = DiaChl / DiaN + CHL2C_plast_dia = Chl2C_dia * (quota_dia/(quota_dia - NCmin_d)) + qSiC = DiaSi / DiaC + qSiN = DiaSi / DiaN + + recipQZoo = HetC / HetN + recip_hetN_plus = 1.d0 / (HetN + tiny_het) ! MB's addition for more stable zoo respiration + if (Grazing_detritus) recipDet = DetC / DetN + +!------------------------------------------------------------------------------- +!> Temperature dependence of rates +!------------------------------------------------------------------------------- +!< Schourup 2013 Eq. A54 +!< Temperature dependence of metabolic rate, fT, dimensionless +!< Ae: Slope of the linear region of the Arrhenius plot +!< rTloc: Inverse of local temperature in [1/Kelvin] +!< rTref=288.15 (15 degC): Reference temperature for Arrhenius equation [1/Kelvin] +!< See Figure A1 +!< Other functions can be used for temperature dependency (Eppley 1972; Li 1980; Ahlgren 1987) + + rTloc = real(one)/(Temp(k) + C2K) + arrFunc = exp(-Ae * ( rTloc - rTref)) + +!< Silicate temperature dependence +! reminSiT = min(1.32e16 * exp(-11200.d0 * rTloc),reminSi) !! arrFunc control, reminSi=0.02d0 ! Kamatani (1982) +! reminSiT = reminSi + reminSiT = max(0.023d0 * 2.6d0**((Temp(k)-10.)/10.),reminSi) + +!------------------------------------------------------------------------------- +!> O2 dependence of rates +!------------------------------------------------------------------------------- +!! O2 dependency of organic matter remineralization +!! O2Func [0.0, 1.0] +!! k_o2_remin = 15.d0 mmol m-3; Table 1 in Cram 2018 cites +!! DeVries & Weber 2017 for a range of 0-30 mmol m-3 + + O2Func = 1.d0 ! in this case, remin. rates only depend on temperature + if (O2dep_remin) O2Func = O2/(k_o2_remin + O2) ! O2remin + +!< *** Light *** +!< ************* +!! Has to be calculated here already to use the 1%PAR depth. + if (k==1) then + PARave = max(tiny,SurfSR) + PAR(k) = PARave + + chl_upper = (PhyChl + DiaChl) + else + chl_lower = PhyChl + DiaChl + Chlave = (chl_upper+chl_lower)*0.5 + + kappa = k_w + a_chl * (Chlave) + kappastar = kappa / cosAI(n) + kdzLower = kdzUpper + kappastar * thick(k-1) + Lowerlight = SurfSR * exp(-kdzLower) + Lowerlight = max(tiny,Lowerlight) + PARave = Lowerlight + PAR(k) = PARave + chl_upper = chl_lower + kdzUpper = kdzLower + end if + +!------------------------------------------------------------------------------ +! Calcite dissolution dependent on OmegaC ! DISS +!------------------------------------------------------------------------------ + Sink_Vel = Vdet_a* abs(zF(k)) + Vdet + + calc_diss = calc_diss_rate * Sink_Vel/20.d0 ! Dissolution rate of CaCO3 scaled by the sinking velocity at the current depth + calc_diss_ben = calc_diss_rate * Sink_Vel/20.d0 ! DISS added the variable calc_diss_ben to keep the calcite dissolution in the benthos with the old formulation + +!------------------------------------------------------------------------------- +!> Photosynthesis section, light parameters and rates +!------------------------------------------------------------------------------- +!< Schourup 2013 Appendix A6.2 +!< Intracellular regulation of C uptake +!< qlimitFac, qlimitFacTmp: Factor that regulates photosynthesis +!< NMinSlope: 50.d0 +!< NCmin: 0.04d0 +!< quota: PhyN/PhyC +!< qlimitFac [0.0, 1.0] +!< if quota < NCmin qlimitFac=0 +!< if quota > ≈ 9 * NCmin qlimitFac=1 +!< P_cm: 3.0d0 [1/day], Rate of C-specific photosynthesis + +!< pMax = The carbon-specific, light-saturated rate of photosynthesis [day^-1] +!< Nutrient limited environment +!< Small pyhtoplankton is limited by iron and nitrogen +!< Diatoms are additionally limited by silicon + +!< *** Small phytoplankton *** +!< *************************** + qlimitFac = recom_limiter(NMinSlope, NCmin, quota) ! Eqn A55 + feLimitFac = Fe/(k_Fe + Fe) ! Use Michaelis–Menten kinetics + qlimitFac = min(qlimitFac, feLimitFac) ! Liebig law of the minimum + pMax = P_cm * qlimitFac * arrFunc ! Maximum value of C-specific rate of photosynthesis + +!< *** Diatoms *** +!< *************** + qlimitFac = recom_limiter(NMinSlope, NCmin_d, quota_dia) + qlimitFacTmp = recom_limiter(SiMinSlope, SiCmin, qSiC) + qlimitFac = min(qLimitFac, qlimitFacTmp) + feLimitFac = Fe/(k_Fe_d + Fe) + qlimitFac = min(qlimitFac, feLimitFac) + pMax_dia = P_cm_d * qlimitFac * arrFunc +!------------------------------------------------------------------------------- +!< *** Small phytoplankton photosynthesis rate *** +!< *********************************************** + if (pMax .lt. tiny .OR. PARave /= PARave .OR. CHL2C /= CHL2C) then ! OG in case of only respiration, i.e. darkness?? + Cphot = zero + else + Cphot = pMax*(real(one) - exp(-alfa * Chl2C * PARave / pMax)) + if (CO2lim) Cphot = Cphot * PhyCO2 ! Added the CO2 dependence + end if + if (Cphot .lt. tiny) Cphot = zero + +!< *** Diatom photosynthesis rate *** +!< ********************************** + if ( pMax_dia .lt. tiny .OR. PARave /= PARave .OR. CHL2C_dia /= CHL2C_dia) then + Cphot_dia = zero + else + Cphot_dia = pMax_dia * (real(one) - exp(-alfa_d * Chl2C_dia * PARave / pMax_dia)) + if (CO2lim) Cphot_dia = Cphot_dia * DiaCO2 ! Added the CO2 dependence + end if + if (Cphot_dia .lt. tiny) Cphot_dia = zero + +!------------------------------------------------------------------------------- +!< chlorophyll degradation +!------------------------------------------------------------------------------- + KOchl = deg_Chl + KOchl_dia = deg_Chl_d + + if (use_photodamage) then +!< add a minimum value for photodamage +!< *** Phytoplankton Chla loss *** +!< ******************************* + if (pMax .lt. tiny .OR. PARave /= PARave .OR. CHL2C_plast /= CHL2C_plast) then + KOchl = deg_Chl*0.1d0 + else + KOchl = deg_Chl*(real(one) - exp(-alfa * CHL2C_plast * PARave / pMax)) + KOchl = max((deg_Chl*0.1d0), KOchl) + end if +!< *** Diatoms Chla loss *** +!< ************************* + if (pMax_dia .lt. tiny .OR. PARave /= PARave .OR. CHL2C_plast_dia /= CHL2C_plast_dia) then + KOchl_dia = deg_Chl_d*0.1d0 + else + KOchl_dia = deg_Chl_d * (real(one) - exp(-alfa_d * CHL2C_plast_dia * PARave / pMax_dia )) + KOchl_dia = max((deg_Chl_d*0.1d0), KOchl_dia) + end if + if (KOchl /= KOchl) then + print*,' KOchl is ', KOchl + print*,' deg_Chl is ', deg_Chl + print*,' alfa is ', alfa + print*,' CHL2C is ', CHL2C_plast + print*,' PARave is ', PARave + print*,' pMax is ', pMax + stop + end if + if (KOchl_dia /= KOchl_dia) then + print*,' KOchl_dia is ', KOchl_dia + print*,' deg_Chl_d is ', deg_Chl_d + print*,' alfa_d is ', alfa_d + print*,' CHL2C_d is ', CHL2C_plast_dia + print*,' PARave is ', PARave + print*,' pMax_d is ', pMax_dia + stop + end if + end if ! photodamage + +!------------------------------------------------------------------------------- +!> Assimilation section +!------------------------------------------------------------------------------- + +!< Nitrogen and silicon part +!< Compute assimilation from Geider et al 1998 +!< V_cm: Scaling factor for C-specific N uptake, dimensionless +!< NCmax: Maximum cell quota of nitrogen (N:C) [mmol N/mmol C] +!< NMaxSlope: Max slope for limiting function +!< NCuptakeRatio: Maximum uptake ratio N:C [mmol N mmol C−1] +!< SiCUptakeRatio: Maximum uptake ratio Si : C [mmol Si mmol C−1 ] +!< The N:C ratio is taken into account, as a +!! too high ratio indicates that the intracellular +!! concentration of energy rich carbon molecules becomes too low to +!! use energy on silicon uptake. + + V_cm = V_cm_fact + limitFacN = recom_limiter(NMaxSlope, quota, NCmax) + N_assim = V_cm * pMax * NCuptakeRatio & ! [mmol N / (mmol C * day)] + * limitFacN * (DIN/(DIN + k_din)) ! Michaelis–Menten kinetics + + V_cm = V_cm_fact_d + limitFacN_dia = recom_limiter(NMaxSlope, quota_dia, NCmax_d) + N_assim_dia = V_cm * pMax_dia * NCUptakeRatio_d & + * limitFacN_dia * DIN/(DIN + k_din_d) + + + limitFacSi = recom_limiter(SiMaxSlope, qSiC, SiCmax) & + * limitFacN_dia + Si_assim = V_cm_fact_d * P_cm_d * arrFunc * SiCUptakeRatio & + * limitFacSi * Si/(Si + k_si) + +!------------------------------------------------------------------------------- +!< *** Iron chemistry *** +!< ********************** +! select the method to calculate freeFe + freeFe = iron_chemistry(Fe,totalligand,ligandStabConst) +!------------------------------------------------------------------------------- +!< *** Chlorophyll synthesis *** +!< ***************************** + +!< Coupled to N uptake +!< Converted to chlorophyll units with a maximum Chl:N ratio, Chl2N_max +!< Chl2N_max: Maximum Chl:N ratio for phytoplankton [mg Chl mmol N−1 ] + + chlSynth = zero + if (PARave .ge. tiny .AND. PARave .eq. PARave) then + chlSynth = N_assim * Chl2N_max & + * min(real(one),Cphot/(alfa * Chl2C * PARave)) + end if + ChlSynth_dia = zero + if (PARave .ge. tiny .AND. PARave .eq. PARave) then + ChlSynth_dia = N_assim_dia * Chl2N_max_d & + * min(real(one),Cphot_dia /(alfa_d * Chl2C_dia * PARave)) + end if + ChlSynth_cocco = zero +!------------------------------------------------------------------------------- +!< *** Phytoplankton respiraion rate *** +!< ************************************* + +!< res_phy: Maintenance respiration rate constant [day−1 ] +!< biosynth: The cost of biosynthesis of N [mmol C mmol N−1 ] + + phyRespRate = res_phy * limitFacN + biosynth * N_assim + phyRespRate_dia = res_phy_d * limitFacN_dia + biosynth * N_assim_dia + biosynthSi * Si_assim + +!------------------------------------------------------------------------------- +! Mesozooplankton +!------------------------------------------------------------------------------- +!< Grazing on small phytoplankton, diatoms, coccolithophore (optional), +!< microzooplankton (optional), slow- and fast-sinking detritus + +!< *** Food availability *** +!< ************************* +!< pzPhy: Maximum nanophytoplankton preference +!< pzDia: Maximum diatom preference +!< pzDet: Maximum slow-sinking detritus prefence by first zooplankton +!< pzDetZ2: Maximum fast-sinking detritus preference by first zooplankton + + if (REcoM_Grazing_Variable_Preference) then ! CHECK ONUR + aux = pzPhy*PhyN + pzDia*DiaN + if (Grazing_detritus) aux = aux + PzDet*DetN +! ****************************************************************************** + varpzPhy = (pzPhy*PhyN)/aux + varpzDia = (pzDia*DiaN)/aux + if (Grazing_detritus) varpzDet = (pzDet*DetN)/aux +! ****************************************************************************** + fDiaN = varpzDia * DiaN + fPhyN = varpzPhy * PhyN + if (Grazing_detritus) fDetN = varpzDet * DetN + else ! REcoM_Grazing_Variable_Preference = .false. + fPhyN = pzPhy * PhyN + fDiaN = pzDia * DiaN + if (Grazing_detritus) fDetN = pzDet * DetN + end if ! REcoM_Grazing_Variable_Preference + +!< *** Grazing fluxes *** +!< ********************** + food = fPhyN + fDiaN + if (Grazing_detritus) food = food + fDetN +! ****************************************************************************** + foodsq = food**2 + grazingFlux = (Graz_max * foodsq)/(epsilonr + foodsq) * HetN * arrFunc + grazingFlux_phy = grazingFlux * fphyN / food + grazingFlux_Dia = grazingFlux * fDiaN / food + if (Grazing_detritus) grazingFlux_Det = grazingFlux * fDetN / food + +!< *** Grazing efficiency *** +!< ************************** + grazEff = gfin + 1/(0.2*food + 2) + + grazingFluxcarbon_mes = (grazingFlux_phy * recipQuota * grazEff) & + + (grazingFlux_Dia * recipQuota_Dia * grazEff) + + if (Grazing_detritus) grazingFluxcarbon_mes = grazingFluxcarbon_mes & + + (grazingFlux_Det * recipDet * grazEff) + + +!------------------------------------------------------------------------------- +!< Heterotrophic respiration is assumed to drive zooplankton back to +!< Redfield C:N if their C:N becomes higher than Redfield +!< res_het: Timescale for zooplankton respiration [day−1 ] + + if (het_resp_noredfield) then + HetRespFlux = res_het * arrFunc * HetC ! tau * f_T [HetC] + else + HetRespFlux = recip_res_het * arrFunc * (hetC * recip_hetN_plus - redfield) * HetC + HetRespFlux = max(zero, HetRespFlux) !!!!!!!! CHECK Judith Valid for het_resp_noredfield case as well ???????? Then move it below + endif + + +!------------------------------------------------------------------------------- +!< Zooplanton mortality (Quadratic) + + hetLossFlux = loss_het * HetN * HetN + + +!------------------------------------------------------------------------------- +! Phytoplankton and detritus aggregation +!------------------------------------------------------------------------------- + if (diatom_mucus) then + qlimitFac = recom_limiter(NMinSlope, NCmin_d, quota_dia) + qlimitFacTmp = recom_limiter(SiMinSlope, SiCmin, qSiC) + qlimitFac = min(qLimitFac, qlimitFacTmp) + feLimitFac= Fe/(k_Fe_d + Fe) + qlimitFac = min(qlimitFac, feLimitFac) + aggregationrate = agg_PP * (1 - qlimitFac) * DiaN + else + aggregationrate = agg_PP * DiaN + endif + + aggregationrate = aggregationrate + agg_PD * DetN + agg_PP * PhyN + +!------------------------------------------------------------------------------- +! Calcification +!------------------------------------------------------------------------------- +! Terms required for the formation and dissolution of CaCO3 +! Without this, calcification is performed by a fraction of small phytoplankton + +!< calc_prod_ratio: Calcite production ratio, dimensionless + calcification = calc_prod_ratio * Cphot * PhyC ! Z in equations + + calc_loss_agg = aggregationrate * PhyCalc + +!< *** Small phytoplankton *** +!< *************************** + aux = recipQuota/(PhyC + tiny) * PhyCalc + calc_loss_gra = grazingFlux_phy * aux + +!------------------------------------------------------------------------------- +! Sources minus sinks (SMS) +!------------------------------------------------------------------------------- + +!< *** DIN *** +!< *********** + +!< N_assim: N assimilation rate for nanophytoplankton [mmolN mmolC-1 day-1] +!< PhyC: Intracellular carbon concentration in nanophytoplankton [mmolC m-3] +!< N_assim_Dia: N assimilation rate for diatoms [mmolN mmolC-1 day-1] +!< DiaC: Intracellular carbon concentration in diatoms [mmolC m-3] +!< N_assim_Cocco: N assimilation rate for coccolithophore [mmolN mmolC-1 day-1] +!< CoccoC: Intracellular carbon concentration in coccolithophore [mmolC m-3] +!< rho_N*arrFunc: Remineralization rate and temperature dependency which is calculated with arrFunc [day^-1] +!< O2Func: O2 dependency of organic matter remineralization +!< DON: Extracellular dissolved organic nitrogen [mmolN m-3] +!< dt_b: REcoM time step [day] + +!! Schourup 2013 Eq. A2 + + sms(k,idin) = ( & + - N_assim * PhyC & ! --> N assimilation Nanophytoplankton, [mmol N/(mmol C * day)] C specific N utilization rate + - N_assim_Dia * DiaC & ! --> N assimilation Diatoms + + rho_N * arrFunc * O2Func * DON & ! --> DON remineralization, temperature dependent [day^-1 * mmol/m3] ! O2remin + ) * dt_b + sms(k,idin) + +!< *** DIC *** +!< *********** + +!< rho_C1: Temperature dependent C degradation of extracellular organic C (EOC) [day^-1] + + sms(k,idic) = ( & + - Cphot * PhyC & ! --> Small pyhtoplankton photosynthesis + + phyRespRate * PhyC & ! --> Small pyhtoplankton respiration + - Cphot_Dia * DiaC & ! --> Diatom photosynthesis + + phyRespRate_Dia * DiaC & ! --> Diatom respiration + + rho_C1 * arrFunc * O2Func * EOC & ! --> Remineralization of DOC ! NEW O2remin + + HetRespFlux & ! --> Mesozooplankton respiration + + calc_diss * DetCalc & ! --> Calcite dissolution from slow-sinking detritus + + calc_loss_gra * calc_diss_guts & ! --> Additional dissolution in mesozooplankton guts + - calcification & ! --> Calcification + ) * dt_b + sms(k,idic) + +! if((Latd(1)<-45.0) .and. ((state(k,idic)+sms(k,idic))>2500)) then +! !co2flux(1)=0.0 +! print*,'ERROR: strange dic !' +! print*,'state(k,idic): ', state(k,idic) +! print*,'sms Cphot: ', -Cphot*PhyC +! print*,'sms resp: ', phyRespRate*PhyC +! print*,'sms Cphot dia: ', -Cphot_Dia*DiaC +! print*,'sms resp dia: ', phyRespRate_Dia * DiaC +! print*,'sms eoc: ', rho_C1* arrFunc *EOC +! print*,'sms het resp: ', HetRespFlux +! print*, 'sms co2: ', dflux(1) * recipdzF(k) * max( 2-k, 0 ) +! print*, 'sms calcdiss: ', calc_diss * DetCalc +! print*, 'sms calc_loss: ', calc_loss_gra * calc_diss_guts +! print*, 'sms calcification: ', -calcification +! stop +! endif + +!< *** Alk *** +!< *********** + +!< Alkalinity (Assumes that N:P follows a constant Redfield ratio +!< N_assimC: 1.0625 = 1/16 + 1 + + sms(k,ialk) = ( & + + 1.0625 * N_assim * PhyC & + + 1.0625 * N_assim_Dia * DiaC & + - 1.0625 * rho_N * arrFunc * O2Func * DON & ! O2remin + + 2.d0 * calc_diss * DetCalc & + + 2.d0 * calc_loss_gra * calc_diss_guts & + - 2.d0 * calcification & + ) * dt_b + sms(k,ialk) +!< *** Small Phytoplankton *** +!< *************************** + +!____________________________________________________________ +!< Small phytoplankton N + +!< lossN: Phytoplankton loss of organic N compounds [day^-1] + + sms(k,iphyn) = ( & + + N_assim * PhyC & ! --> N assimilation + - lossN * limitFacN * PhyN & ! --> DON excretion + - aggregationRate * PhyN & ! --> Aggregation loss + - grazingFlux_phy & ! --> Grazing loss + ) * dt_b + sms(k,iphyn) +!____________________________________________________________ +!< Small phytoplankton C + +!< lossC: Phytoplankton loss of carbon [day^-1] +!< When N : C ratio becomes too high, excretion of DOC is downregulated +!< by the limiter function limitFacN +!< aggregationRate transfers C to the detritus pool + + sms(k,iphyc) = ( & + + Cphot * PhyC & ! --> Photosynthesis ---->/ + - lossC * limitFacN * PhyC & ! --> Excretion of DOC / Net photosynthesis + - phyRespRate * PhyC & ! --> Respiration ----->/ + - aggregationRate * PhyC & ! --> Aggregation loss + - grazingFlux_phy * recipQuota & ! --> Grazing loss + ) * dt_b + sms(k,iphyc) +!____________________________________________________________ +! Phytoplankton ChlA + +!< Chl2N: Conversion factor from mmolN to mgChla +!< Chl2N = PhyChl/PhyN + + sms(k,ipchl) = ( & + + chlSynth * PhyC & ! --> Chl-a synthesis + - KOchl * PhyChl & ! --> Degradation loss + - aggregationRate * PhyChl & ! --> Aggregation loss + - grazingFlux_phy * Chl2N & ! --> Grazing loss + ) * dt_b + sms(k,ipchl) + +!< *** Slow-sinking Detritus *** +!< ***************************** + +!____________________________________________________________ +! Detritus N + if (Grazing_detritus) then + sms(k,idetn) = ( & + + grazingFlux_phy & + - grazingFlux_phy * grazEff & + + grazingFlux_dia & + - grazingFlux_dia * grazEff & + - grazingFlux_Det * grazEff & ! Sloppy feeding is thought because of grazing flux multiplied with grazeff + - grazingFlux_Det2 * grazEff2 & !!!!!!!!!!CHECK + + aggregationRate * PhyN & + + aggregationRate * DiaN & + + hetLossFlux & + - reminN * arrFunc * O2Func * DetN & ! O2remin + ) * dt_b + sms(k,idetn) + else + sms(k,idetn) = ( & + + grazingFlux_phy & + + grazingFlux_dia & + - grazingFlux * grazEff & + + aggregationRate * PhyN & + + aggregationRate * DiaN & + + hetLossFlux & + - reminN * arrFunc * O2Func * DetN & ! O2remin + ) * dt_b + sms(k,idetn) + end if + +!____________________________________________________________ +! Detritus C + if (Grazing_detritus) then + sms(k,idetc) = ( & + + grazingFlux_phy * recipQuota & + - grazingFlux_phy * recipQuota * grazEff & + + grazingFlux_Dia * recipQuota_Dia & + - grazingFlux_Dia * recipQuota_Dia * grazEff & + - grazingFlux_Det * recipDet * grazEff & + - grazingFlux_Det2 * recipDet2 * grazEff & !!!!!! CHECK + + aggregationRate * phyC & + + aggregationRate * DiaC & + + hetLossFlux * recipQZoo & + - reminC * arrFunc * O2Func * DetC & ! O2remin + ) * dt_b + sms(k,idetc) + else + sms(k,idetc) = ( & + + grazingFlux_phy * recipQuota & + - grazingFlux_phy * recipQuota * grazEff & + + grazingFlux_Dia * recipQuota_Dia & + - grazingFlux_Dia * recipQuota_Dia * grazEff & + + aggregationRate * phyC & + + aggregationRate * DiaC & + + hetLossFlux * recipQZoo & + - reminC * arrFunc * O2Func * DetC & ! O2remin + ) * dt_b + sms(k,idetc) + end if + +!< *** Mesozooplankton *** +!< *********************** + +!____________________________________________________________ +!< Heterotrophic N + sms(k,ihetn) = ( & + + grazingFlux * grazEff & ! --> Grazing on phytoplankton -> okay, because of recipQuota + - hetLossFlux & ! --> Mortality + - lossN_z * HetN & ! --> Excretion of DON + ) * dt_b + sms(k,ihetn) +!____________________________________________________________ +!< Heterotrophic C + if (Grazing_detritus) then + sms(k,ihetc) = ( & + + grazingFlux_phy * recipQuota * grazEff & ! --> Grazing on small phytoplankton + + grazingFlux_Dia * recipQuota_Dia * grazEff & ! --> Grazing on diatom + + grazingFlux_Det * recipDet * grazEff & ! --> Grazing on detritus + - hetLossFlux * recipQZoo & ! --> Mortality loss + - lossC_z * HetC & ! --> Excretion loss + - hetRespFlux & ! --> REspiration loss + ) * dt_b + sms(k,ihetc) + else + sms(k,ihetc) = ( & + + grazingFlux_phy * recipQuota * grazEff & + + grazingFlux_Dia * recipQuota_Dia * grazEff & + - hetLossFlux * recipQZoo & + - lossC_z * HetC & + - hetRespFlux & + ) * dt_b + sms(k,ihetc) + endif + +!< *** DOM *** +!< *********** + +!____________________________________________________________ +!< DON (Extracellular organic N) + + sms(k,idon) = ( & + + lossN * limitFacN * phyN & + + lossN_d * limitFacN_Dia * DiaN & + + reminN * arrFunc * O2Func * DetN & + + lossN_z * HetN & + - rho_N * arrFunc * O2Func * DON & ! O2remin + ) * dt_b + sms(k,idon) + +!____________________________________________________________ +!< EOC + + sms(k,idoc) = ( & + + lossC * limitFacN * phyC & + + lossC_d * limitFacN_dia * DiaC & + + reminC * arrFunc * O2Func * DetC & + + lossC_z * HetC & + - rho_c1 * arrFunc * O2Func * EOC & ! O2remin + ) * dt_b + sms(k,idoc) + +!< *** Diatoms *** +!< *************** + +!____________________________________________________________ +!< Diatom N + +!< lossN: Diatom loss of organic N compounds [day^-1] +!< When N : C ratio becomes too high, excretion of DON is downregulated +!< by the limiter function limitFacN_dia +!< aggregationRate transfers N to the detritus pool + + sms(k,idian) = ( & + + N_assim_dia * DiaC & ! --> N assimilation + - lossN_d * limitFacN_dia * DiaN & ! --> DON excretion + - aggregationRate * DiaN & ! --> Aggregation loss + - grazingFlux_Dia & ! --> Grazing loss + ) * dt_b + sms(k,idian) + +!____________________________________________________________ +!< Diatom C + +!< lossC_d: Diatom loss of carbon [day^-1] +!< When N : C ratio becomes too high, excretion of DOC is downregulated +!< by the limiter function limitFacN_dia +!< aggregationRate transfers C to the detritus pool + + sms(k,idiac) = ( & + + Cphot_dia * DiaC & ! -- Photosynthesis ---->/ + - lossC_d * limitFacN_dia * DiaC & ! -- Excretion of DOC --/ Net Photosynthesis + - phyRespRate_dia * DiaC & ! -- Respiration ----->/ + - aggregationRate * DiaC & + - grazingFlux_dia * recipQuota_dia & + ) * dt_b + sms(k,idiac) + +!____________________________________________________________ +!< Diatom Chl + + sms(k,idchl) = ( & + + chlSynth_dia * DiaC & ! --> Chl a synthesis + - KOchl_dia * DiaChl & ! --> Degradation loss + - aggregationRate * DiaChl & ! --> Aggregation loss + - grazingFlux_dia * Chl2N_dia & ! --> Grazing loss + ) * dt_b + sms(k,idchl) + +!____________________________________________________________ +!< Diatom Si + +!< lossN_d: Diatom loss of organic nitrogen compunds [day^-1] +!< When N : C ratio becomes too high, excretion is downregulated +!< by the limiter function limitFacN_dia +!< aggregationRate transfers Si to the detritus pool + + sms(k,idiasi) = ( & + + Si_assim * DiaC & ! -- Diatom silicon assimilation + - lossN_d * limitFacN_dia * DiaSi & ! -- Excretion to detritus + - aggregationRate * DiaSi & ! -- Aggregation loss + - grazingFlux_dia * qSiN & ! -- Grazing loss + ) * dt_b + sms(k,idiasi) + +!< *** Silicate *** +!< **************** + +!____________________________________________________________ +!< Detritus Si + sms(k,idetsi) = ( & + + aggregationRate * DiaSi & + + lossN_d * limitFacN_dia * DiaSi & + + grazingFlux_dia * qSiN & + - reminSiT * DetSi & + ) * dt_b + sms(k,idetsi) +!____________________________________________________________ +!< DSi, Silicate + +!< DiaC: Intracellular carbon concentration in diatoms [mmolC m-3] +!< DetSi: Detritus silicon concentration [mmolSi m-3] +!< Si_assim: Si assimilation rate for diatoms [mmolSi mmolC-1 day-1] +!< reminSiT: Remineralization rate of silicon, temperature dependency [day-1] +!< dt_b: REcoM time step [day] + +!! Schourup 2013 Eq. A3 + + sms(k,isi) = ( & + - Si_assim * DiaC & ! --> Si assimilation of diatoms + + reminSiT * DetSi & ! --> Remineralization of detritus, temperature dependent + ) * dt_b + sms(k,isi) +!< *** Iron *** +!< ************ + +!____________________________________________________________ +!< Fe + +!< Fe2N: Intracellular Fe : N ratio [μmol Fe mmol N^-1] Fe2N = Fe2C * 6.625 +!< PhyC: Intracellular carbon concentration in nanophytoplankton [mmolCm^-3] +!< Cphot: C-specific actual rate of photosynthesis for nanopyhtoplankton [day^-1] +!< DiaC: Intracellular carbon concentration in diatoms [mmol C m^-3 ] +!< Cphot_dia: C-specific actual rate of photosynthesis for diatom [day^-1] +!< phyRespRate: Nanopyhtoplankton respiration rate [day^-1] +!< phyRespRate_dia: Diatom respiration rate [day^-1] +!< lossC: Nanopyhtoplankton excretion of organic C [day^-1] +!< limitFacN: limiting factor +!< lossC_d: Diatom excretion of organic C [day^-1] +!< limitFacN_dia: limiting factor +!< detC: Detritus carbon concentration [mmol C m^-3] +!< reminC: Temperature dependent remineralisation rate of detritus [day^-1] +!< arrFunc: Arrhenius function +!< hetC: Zooplankton carbon concentration [mmol C m^-3 ] +!< lossC_z: Zooplankton excretion of organic C [day^-1 ] +!< hetRespFlux: Zooplankton respiration rate [day^-1] +!< kScavFe: Scavenging rate of iron [m3 mmol C^-1 day^-1] + + sms(k,ife) = ( Fe2N * ( & + - N_assim * PhyC & ! --> N assimilation Nanophytoplankton, [mmol N/(mmol C * day)] C specific N utilization rate + - N_assim_dia * DiaC & ! --> N assimilation Diatom + + lossN * limitFacN * PhyN & ! --> Excretion from small pythoplankton + + lossN_d * limitFacN_dia * DiaN & ! --> Excretion from diatom + + reminN * arrFunc * O2Func * DetN & ! --> Remineralization of detritus ! NEW O2remin + + lossN_z * HetN & ! --> Excretion from zooplankton + ) & + - kScavFe * DetC * FreeFe & + ) * dt_b + sms(k,ife) + +!< *** Calcification *** +!< ********************* + +!____________________________________________________________ +!< Small phytoplankton calcite + sms(k,iphycal) = ( & + + calcification & ! --> Calcification + - lossC * limitFacN * PhyCalc & ! --> Excretion loss + - phyRespRate * PhyCalc & ! --> Respiration + - calc_loss_agg & ! --> Aggregation loss + - calc_loss_gra & ! --> Grazing loss + ) * dt_b + sms(k,iphycal) + +!____________________________________________________________ +! Detritus calcite + sms(k,idetcal) = ( & + + lossC * limitFacN * PhyCalc & + + phyRespRate * PhyCalc & + + calc_loss_agg & + + calc_loss_gra & + - calc_loss_gra * calc_diss_guts & + - calc_diss * DetCalc & + ) * dt_b + sms(k,idetcal) + +!____________________________________________________________ +! Oxygen + + sms(k,ioxy) = ( & + + Cphot * phyC & + - phyRespRate * phyC & + + Cphot_dia * diaC & + - phyRespRate_dia * diaC & + - rho_C1 * arrFunc * O2Func * EOC & ! O2remin + - hetRespFlux & + ) * redO2C * dt_b + sms(k,ioxy) +! +!------------------------------------------------------------------------------- +! Diagnostics: Averaged rates + + recipbiostep = 1.d0/real(biostep) + + end do ! Main vertikal loop ends + +!------------------------------------------------------------------------------- +! Remineralization from the sediments into the bottom layer +!*** DIN *** +!< decayRateBenN: Remineralization rate for benthic N [day^-1] +!< LocBenthos(1): Vertically integrated N concentration in benthos (1 layer) [mmolN/m^2] + decayBenthos(1) = decayRateBenN * LocBenthos(1) + LocBenthos(1) = LocBenthos(1) - decaybenthos(1) * dt_b ! remove from benthos (flux) + +!*** DIC *** +!< decayRateBenC: Remineralization rate for benthic C [day^-1] +!< LocBenthos(2): Vertically integrated C concentration in benthos (1 layer) [mmolC/m^2] + decayBenthos(2) = decayRateBenC * LocBenthos(2) + LocBenthos(2) = LocBenthos(2) - decaybenthos(2) * dt_b + +!*** Si *** +!< decayRateBenSi: Remineralization rate for benthic Si [day^-1] +!< LocBenthos(3) : Vertically integrated N concentration in benthos (1 layer) [mmolSi/m^2] + decayBenthos(3) = decayRateBenSi * LocBenthos(3) ! [1/day] * [mmolSi/m2] -> [mmolSi/m2/day] + LocBenthos(3) = LocBenthos(3) - decaybenthos(3) * dt_b + +!*** Calc: DIC, Alk *** ! OG calc_diss_ben is taken from the deepest level + decayBenthos(4) = calc_diss_ben * LocBenthos(4) ! NEW DISS changed calc_diss to calc_diss_ben to not make the dissolution omega dependent when using the switch OmegaC_diss + LocBenthos(4) = LocBenthos(4) - decayBenthos(4) * dt_b + + end do ! Main time loop ends + + +end subroutine REcoM_sms + +!------------------------------------------------------------------------------- +! Function for calculating limiter +!------------------------------------------------------------------------------- + +function recom_limiter(slope,qa,qb) + use recom_config + Implicit None + Real(kind=8) :: recom_limiter + Real(kind=8) :: slope, qa, qb + Real(kind=8) :: dq + + dq = qa - qb + if (REcoM_Geider_limiter) then + recom_limiter = max(min( -slope*dq, 1.d0),0.d0) + else + recom_limiter = 1.d0 - exp( -slope*( abs(dq)-dq )**2) + endif + return + end + +!------------------------------------------------------------------------------- +! Function for iron chemistry +!------------------------------------------------------------------------------- +function iron_chemistry_2ligands(fet,l1t,l2t,k1,k2) + implicit none + + Real(kind=8) :: iron_chemistry_2ligands + Real(kind=8) :: l1t,l2t,fet,k1,k2 + Real(kind=8) :: a3,a2,a1,a0,a,b,c,p,q,discr,rho,phi,amp,pi + Real(kind=8) :: one3rd, one27th + Real(kind=8) :: fe1,fe2,fe3 + +! coefficients of the 4th-order polynomial + a3 = k1*k2 + a2 = ( k1*k2*(l1t + l2t - fet) + k1 + k2 ) + a1 = ( 1 - (k1 + k2)*fet + k1*l1t + k2*l2t ) + a0 = -fet + +! coefficients of the normalized polynomial + a = a2/a3 + b = a1/a3 + c = a0/a3 + +! some numbers that are used several times + one3rd = 1.0/3.0 + one27th = 1.0/27.0 + +! now solve the polynomial stepwise + p = b - a*a*one3rd + q = c - a*b*one3rd + 2.0*a*a*a*one27th + discr = q*q/4.0 + p*p*p*one27th + + rho = sqrt(-(p*p*p*one27th)) + phi = acos(-q/(2.0*rho)) + amp = 2.0*rho**one3rd + pi = 3.1415926535897931 + +! the equation has three real roots + fe1 = amp*cos(phi*one3rd) - a*one3rd + fe2 = amp*cos((phi + 2.0*pi)*one3rd) - a*one3rd + fe3 = amp*cos((phi + 4.0*pi)*one3rd) - a*one3rd + + iron_chemistry_2ligands = max(fe1,fe2,fe3) + +end function iron_chemistry_2ligands +!------------------------------------------------------------------------------- +function iron_chemistry(Fe, totalLigand, ligandStabConst) + implicit none + + Real(kind=8) :: iron_chemistry + Real(kind=8) :: Fe, totalLigand, ligandStabConst ! Input + Real(kind=8) :: FreeFe ! Output + Real(kind=8) :: ligand,FeL,a,b,c,discrim + +! Abbrevations + a = ligandstabConst + b = ligandstabConst * (Fe - totalLigand) + 1.d0 + c = -totalLigand + discrim = b*b - 4.d0 * a * c + + if (a .ne. 0.d0 .and. discrim .ge. 0.d0) then + ligand = ( -b + sqrt(discrim) ) / (2.d0 * a) + FeL = totalLigand - ligand + freeFe = Fe - FeL + else ! No free iron + freeFe = 0.d0 + end if + + iron_chemistry = freeFe + + return + end + diff --git a/src/io_restart.F90 b/src/io_restart.F90 index d4f03dad8..e45ab332f 100644 --- a/src/io_restart.F90 +++ b/src/io_restart.F90 @@ -12,6 +12,11 @@ MODULE io_RESTART use MOD_PARTIT use MOD_PARSUP use fortran_utils +#if defined(__recom) + use recom_glovar + use recom_config + use recom_ciso +#endif implicit none public :: restart, finalize_restart @@ -24,6 +29,10 @@ MODULE io_RESTART type(restart_file_group) , save :: ice_files character(:), allocatable, save :: oce_path character(:), allocatable, save :: ice_path +#if defined(__recom) + type(restart_file_group) , save :: bio_files + character(:), allocatable, save :: bio_path +#endif character(:), allocatable, save :: raw_restart_dirpath character(:), allocatable, save :: raw_restart_infopath @@ -118,7 +127,7 @@ subroutine ini_ocean_io(year, dynamics, tracers, partit, mesh) end subroutine ini_ocean_io ! !-------------------------------------------------------------------------------------------- -! ini_ice_io initializes ice_file datatype which contains information of all variables need to be written into +! ini_ice_io initializes ice_file datatype which contains information of all variables need to be written into ! the ice restart file. This is the only place need to be modified if a new variable is added! subroutine ini_ice_io(year, ice, partit, mesh) integer, intent(in) :: year @@ -152,6 +161,42 @@ end subroutine ini_ice_io ! !-------------------------------------------------------------------------------------------- ! +! ini_bio_io initializes bid datatype which contains information of all variables need to be written into +! the bio restart file. This is the only place need to be modified if a new variable is added! +#if defined(__recom) +subroutine ini_bio_io(year, tracers, partit, mesh) + integer, intent(in) :: year + integer :: j + character(500) :: longname + character(500) :: trname, units + character(4) :: cyear + + type(t_mesh), intent(in) , target :: mesh + type(t_partit), intent(inout), target :: partit + type(t_tracer), target :: tracers + logical, save :: has_been_called = .false. + + write(cyear,'(i4)') year + bio_path = trim(ResultPath)//trim(runid)//'.'//cyear//'.bio.restart.nc' + + if(has_been_called) return + has_been_called = .true. + + !=========================================================================== + !===================== Definition part ===================================== + !=========================================================================== + !___Define the netCDF variables for 2D fields_______________________________ + call bio_files%def_node_var('BenN', 'Benthos Nitrogen', 'mmol/m3', Benthos(:,1), mesh, partit); + call bio_files%def_node_var('BenC', 'Benthos Carbon', 'mmol/m3', Benthos(:,2), mesh, partit); + call bio_files%def_node_var('BenSi', 'Benthos Silicate', 'mmol/m3', Benthos(:,3), mesh, partit); + call bio_files%def_node_var('BenCalc', 'Benthos Calcite', 'mmol/m3', Benthos(:,4), mesh, partit); + call bio_files%def_node_var('HPlus', 'Conc. of H-plus ions in the surface water', 'mol/kg', GloHplus, mesh, partit); + +end subroutine ini_bio_io +#endif +! +!-------------------------------------------------------------------------------------------- +! subroutine restart(istep, l_read, which_readr, ice, dynamics, tracers, partit, mesh) #if defined(__icepack) @@ -225,9 +270,15 @@ subroutine restart(istep, l_read, which_readr, ice, dynamics, tracers, partit, m if (.not. l_read) then call ini_ocean_io(yearnew, dynamics, tracers, partit, mesh) if (use_ice) call ini_ice_io (yearnew, ice, partit, mesh) +#if defined(__recom) + if (use_REcoM) call ini_bio_io (yearnew, tracers, partit, mesh) +#endif else call ini_ocean_io(yearold, dynamics, tracers, partit, mesh) if (use_ice) call ini_ice_io (yearold, ice, partit, mesh) +#if defined(__recom) + if (REcoM_restart) call ini_bio_io(yearold, tracers, partit, mesh) +#endif end if !___READING OF RESTART________________________________________________________ @@ -252,7 +303,7 @@ subroutine restart(istep, l_read, which_readr, ice, dynamics, tracers, partit, m if(rawfiles_exist) then which_readr = 1 call read_all_raw_restarts(partit%MPI_COMM_FESOM, partit%mype) - + !___________________________________________________________________________ ! read derived type binary file restart elseif(binfiles_exist .and. bin_restart_length_unit /= "off") then @@ -281,7 +332,16 @@ subroutine restart(istep, l_read, which_readr, ice, dynamics, tracers, partit, m if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> read restarts from netcdf file: ice'//achar(27)//'[0m' call read_restart(ice_path, ice_files, partit%MPI_COMM_FESOM, partit%mype) end if - + +#if defined(__recom) +!RECOM restart +!read here + if (REcoM_restart) then + if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> read restarts from netcdf file: bio'//achar(27)//'[0m' + call read_restart(bio_path, bio_files, partit%MPI_COMM_FESOM, partit%mype) + end if +#endif + ! immediately create a raw core dump restart if(raw_restart_length_unit /= "off") then call write_all_raw_restarts(istep, partit%MPI_COMM_FESOM, partit%mype) @@ -333,7 +393,17 @@ subroutine restart(istep, l_read, which_readr, ice, dynamics, tracers, partit, m if(use_ice) then if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: ice'//achar(27)//'[0m' call write_restart(ice_path, ice_files, istep) - end if + end if + +#if defined(__recom) +!RECOM restart +!write here + if (REcoM_restart .or. use_REcoM) then + + if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: bio'//achar(27)//'[0m' + call write_restart(bio_path, bio_files, istep) + end if +#endif end if ! write core dump diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index f83bc0712..d5536904c 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -140,7 +140,11 @@ subroutine solve_tracers_ale(ice, dynamics, tracers, partit, mesh) use o_tracers use Toy_Channel_Soufflet use diff_tracers_ale_interface - use oce_adv_tra_driver_interfaces + use oce_adv_tra_driver_interfaces +#if defined(__recom) + use recom_glovar + use recom_config +#endif implicit none type(t_ice) , intent(in) , target :: ice type(t_dyn) , intent(inout), target :: dynamics @@ -293,6 +297,15 @@ subroutine diff_tracers_ale(tr_num, dynamics, tracers, partit, mesh) use diff_ver_part_redi_expl_interface use diff_ver_part_impl_ale_interface use diff_part_bh_interface +#if defined(__recom) + use ver_sinking_recom_interface + use diff_ver_recom_expl_interface + use ver_sinking_recom_benthos_interface + use recom_glovar + use recom_config + use g_comm_auto + use g_support +#endif implicit none integer , intent(in) , target :: tr_num type(t_dyn) , intent(inout), target :: dynamics @@ -310,6 +323,12 @@ subroutine diff_tracers_ale(tr_num, dynamics, tracers, partit, mesh) #include "associate_mesh_ass.h" del_ttf => tracers%work%del_ttf +#if defined(__recom) + dtr_bf = 0.0_WP + str_bf = 0.0_WP + vert_sink = 0.0_WP +#endif + !___________________________________________________________________________ ! do horizontal diffusiion ! write there also horizontal diffusion rhs to del_ttf which is equal the R_T^n @@ -324,6 +343,55 @@ subroutine diff_tracers_ale(tr_num, dynamics, tracers, partit, mesh) ! derivatives and has to be computed explicitly! if (Redi) call diff_ver_part_redi_expl(tracers, partit, mesh) +! if (recom_debug .and. mype==0) print *, tracers%data(tr_num)%ID + +#if defined(__recom) +! 1) Remineralization from the benthos +! Nutrient fluxes come from the bottom boundary +! Unit [mmol/m2/s] + +if (any(recom_remin_tracer_id == tracers%data(tr_num)%ID)) then + +! call bottom boundary + call diff_ver_recom_expl(tr_num, tracers, partit, mesh) +! update tracer fields + do n=1, myDim_nod2D + nzmax=nlevels_nod2D(n)-1 + nzmin=ulevels_nod2D(n) +! tr_arr(nzmin:nzmax,n,tr_num)=tr_arr(nzmin:nzmax,n,tr_num)+ & +! dtr_bf(nzmin:nzmax,n) + tracers%data(tr_num)%values(nzmin:nzmax,n)=tracers%data(tr_num)%values(nzmin:nzmax,n)+ & + dtr_bf(nzmin:nzmax,n) + end do +end if + +! 2) Sinking in water column +!YY: recom_sinking_tracer_id in recom_modules extended for 2. zooplankton +! but not for the combination ciso + 2. zoo! +if (any(recom_sinking_tracer_id == tracers%data(tr_num)%ID)) then + +! sinking + call ver_sinking_recom(tr_num, tracers, partit, mesh) !--- vert_sink --- +! update tracer fields +! sinking into the benthos + call ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) !--- str_bf --- + +! update tracer fields + + do n=1, myDim_nod2D + nzmax=nlevels_nod2D(n)-1 + nzmin=ulevels_nod2D(n) +! tr_arr(nzmin:nzmax,n,tr_num)=tr_arr(nzmin:nzmax,n,tr_num)+ & +! vert_sink(nzmin:nzmax,n) +! tr_arr(nzmin:nzmax,n,tr_num)=tr_arr(nzmin:nzmax,n,tr_num)+ & +! str_bf(nzmin:nzmax,n) + tracers%data(tr_num)%values(nzmin:nzmax,n)=tracers%data(tr_num)%values(nzmin:nzmax,n)+ & + vert_sink(nzmin:nzmax,n) + tracers%data(tr_num)%values(nzmin:nzmax,n)=tracers%data(tr_num)%values(nzmin:nzmax,n)+ & + str_bf(nzmin:nzmax,n) + end do +endif +#endif !___________________________________________________________________________ ! Update tracers --> calculate T* see Danilov et al. (2017) ! T* = (dt*R_T^n + h^(n-0.5)*T^(n-0.5))/h^(n+0.5) @@ -1284,6 +1352,10 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) USE o_ARRAYS USE g_forcing_arrays USE g_config +#if defined (__recom) + use recoM_declarations + use recom_glovar +#endif implicit none integer, intent(in) :: n, id, nzmin @@ -1302,6 +1374,44 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) ! by forming/melting of sea ice bc_surface= dt*(virtual_salt(n) & !--> is zeros for zlevel/zstar + relax_salt(n) - real_salt_flux(n)*is_nonlinfs) +#if defined(__recom) + + CASE (1001) ! DIN + bc_surface= dt*(AtmNInput(n) + RiverDIN2D(n) * is_riverinput & + + ErosionTON2D(n) * is_erosioninput) + !bc_surface=0.0_WP + + CASE (1002) ! DIC + bc_surface= dt*(GloCO2flux_seaicemask(n) & + + RiverDIC2D(n) * is_riverinput & + + ErosionTOC2D(n) * is_erosioninput) + !bc_surface=0.0_WP + + CASE (1003) ! Alk + bc_surface= dt*(virtual_alk(n) + relax_alk(n) & + + RiverAlk2D(n) * is_riverinput) + !bc_surface=0.0_WP + CASE (1004:1010) + bc_surface=0.0_WP + CASE (1011) ! DON + bc_surface= dt*RiverDON2D(n) * is_riverinput + CASE (1012) ! DOC + bc_surface= dt*RiverDOC2D(n) * is_riverinput + CASE (1013:1017) + bc_surface=0.0_WP + CASE (1018) ! DSi + bc_surface=dt*(RiverDSi2D(n) * is_riverinput + ErosionTSi2D(n) * is_erosioninput) + CASE (1019) ! Fe + bc_surface= dt*AtmFeInput(n) + !bc_surface=0.0_WP + CASE (1020:1021) ! Cal + bc_surface=0.0_WP + CASE (1022) ! OXY + bc_surface= dt*GloO2flux_seaicemask(n) +! bc_surface=0.0_WP + CASE (1023:1035) + bc_surface=0.0_WP ! OG added bc for recom fields +#endif CASE (101) ! apply boundary conditions to tracer ID=101 bc_surface= dt*(prec_rain(n))! - real_salt_flux(n)*is_nonlinfs) CASE (301) @@ -1316,8 +1426,6 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) else bc_surface = dt*water_flux(n)*(sval-1.0) end if - CASE (1001:1035) - bc_surface=0.0_WP CASE DEFAULT if (partit%mype==0) then write (id_string, "(I3)") id diff --git a/src/oce_modules.F90 b/src/oce_modules.F90 index 0cb6d085b..cf2b56357 100755 --- a/src/oce_modules.F90 +++ b/src/oce_modules.F90 @@ -199,6 +199,11 @@ MODULE o_ARRAYS real(kind=WP), allocatable :: tr_xy(:,:,:) real(kind=WP), allocatable :: tr_z(:,:) +#if defined(__recom) +real(kind=WP), allocatable :: dtr_bf(:,:), str_bf(:,:) +real(kind=WP), allocatable :: vert_sink(:,:) +#endif + !Viscosity and diff coefs real(kind=WP), allocatable,dimension(:,:) :: Av,Kv real(kind=WP), allocatable,dimension(:,:,:) :: Kv_double diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index c5cc9f39c..df2fbbff4 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -570,6 +570,12 @@ SUBROUTINE arrays_init(num_tracers, partit, mesh) use o_mixing_kpp_mod ! KPP USE g_forcing_param, only: use_virt_salt use diagnostics, only: ldiag_dMOC, ldiag_DVD +#if defined(__recom) + use recom_glovar + use recom_config + use recom_ciso +#endif + IMPLICIT NONE integer, intent(in) :: num_tracers type(t_partit), intent(inout), target :: partit @@ -628,7 +634,15 @@ SUBROUTINE arrays_init(num_tracers, partit, mesh) allocate(Tsurf_t(node_size,2), Ssurf_t(node_size,2)) allocate(tau_x_t(node_size,2), tau_y_t(node_size,2)) - + ! ================ + ! REcoM forcing arrays + ! ================ +#if defined(__recom) + allocate(dtr_bf ( nl-1, node_size )) + allocate(str_bf ( nl-1, node_size )) + allocate(vert_sink ( nl-1, node_size )) + allocate(Alk_surf ( node_size )) +#endif ! ================= ! Visc and Diff coefs ! ================= @@ -728,6 +742,16 @@ SUBROUTINE arrays_init(num_tracers, partit, mesh) Ssurf_t=0.0_WP tau_x_t=0.0_WP tau_y_t=0.0_WP + +! ================ +! RECOM forcing arrays +! ================ +#if defined(__recom) + dtr_bf = 0.0_WP + str_bf = 0.0_WP + vert_sink = 0.0_WP + Alk_surf = 0.0_WP +#endif ! init field for pressure force allocate(density_ref(nl-1,node_size)) @@ -836,6 +860,8 @@ SUBROUTINE oce_initial_state(tracers, partit, mesh) ! if(mype==0) write(*,*) 'read Salt climatology from:', trim(filelist(7)) ! if(mype==0) write(*,*) 'read Temperature climatology from:', trim(filelist(8)) #else + ! read ocean state + ! this must be always done! First two tracers with IDs 0 and 1 are the temperature and salinity. if(mype==0) write(*,*) 'read Temperature climatology from:', trim(filelist(1)) if(mype==0) write(*,*) 'read Salinity climatology from:', trim(filelist(2)) #endif From ced0c996827fda1c3e35f8bb8051c60b247e24a9 Mon Sep 17 00:00:00 2001 From: ogurses Date: Fri, 12 Apr 2024 14:08:46 +0200 Subject: [PATCH 146/273] feat(recom): Add missing MOCSY2.0 files and REcoM diagnostics Use Diags in namelist.recom to compute diagnostics Several 2D and 3D fields are saved to monitor the model performance. 2D fields include net primary production, respiration, chlorophyll of phytoplankton groups. 3D fields include PAR, calcite dissolution, calcification as well as aggregation, respiration and net primary production of small phytoplankton/diatoms in the water column are computed. --- src/int_recom/recom/DNAD.F90 | 1754 + src/int_recom/recom/DNADHeaders.h | 305 + src/int_recom/recom/buffesm.F90 | 431 + src/int_recom/recom/constants.F90 | 1421 + src/int_recom/recom/depth2press.F90 | 45 + src/int_recom/recom/derivauto.F90 | 453 + src/int_recom/recom/derivnum.F90 | 543 + src/int_recom/recom/eos.F90 | 807 + src/int_recom/recom/errors.F90 | 708 + src/int_recom/recom/f2pCO2.F90 | 71 + src/int_recom/recom/gasx.F90 | 1101 + src/int_recom/recom/gsw_add_barrier.F90 | 107 + src/int_recom/recom/gsw_add_mean.F90 | 50 + src/int_recom/recom/gsw_ct_from_pt.F90 | 52 + src/int_recom/recom/gsw_ct_from_t.F90 | 32 + src/int_recom/recom/gsw_entropy_part.F90 | 62 + .../recom/gsw_entropy_part_zerop.F90 | 44 + src/int_recom/recom/gsw_gibbs.F90 | 317 + src/int_recom/recom/gsw_gibbs_pt0_pt0.F90 | 47 + src/int_recom/recom/gsw_mod_baltic_data.F90 | 25 + .../recom/gsw_mod_error_functions.F90 | 162 + src/int_recom/recom/gsw_mod_kinds.F90 | 16 + src/int_recom/recom/gsw_mod_saar_data.F90 | 144881 +++++++++++++++ .../recom/gsw_mod_specvol_coefficients.F90 | 313 + .../recom/gsw_mod_teos10_constants.F90 | 71 + src/int_recom/recom/gsw_mod_toolbox.F90 | 1555 + src/int_recom/recom/gsw_pt0_from_t.F90 | 59 + src/int_recom/recom/gsw_pt_from_ct.F90 | 72 + src/int_recom/recom/gsw_pt_from_t.F90 | 61 + src/int_recom/recom/gsw_rho.F90 | 36 + src/int_recom/recom/gsw_sa_from_sp.F90 | 53 + src/int_recom/recom/gsw_sa_from_sp_baltic.F90 | 51 + src/int_recom/recom/gsw_saar.F90 | 121 + src/int_recom/recom/gsw_sp_from_sa.F90 | 53 + src/int_recom/recom/gsw_sp_from_sa_baltic.F90 | 51 + src/int_recom/recom/gsw_specvol.F90 | 52 + src/int_recom/recom/gsw_t_from_ct.F90 | 33 + src/int_recom/recom/gsw_util_indx.F90 | 49 + src/int_recom/recom/gsw_util_xinterp1.F90 | 38 + src/int_recom/recom/p2fCO2.F90 | 71 + src/int_recom/recom/p80.F90 | 50 + src/int_recom/recom/phsolvers.F90 | 1228 + src/int_recom/recom/rho.F90 | 181 + src/int_recom/recom/rhoinsitu.F90 | 51 + src/int_recom/recom/singledouble.F90 | 13 + src/int_recom/recom/sw_adtg.F90 | 106 + src/int_recom/recom/sw_ptmp.F90 | 136 + src/int_recom/recom/sw_temp.F90 | 149 + src/int_recom/recom/tis.F90 | 57 + src/int_recom/recom/tpot.F90 | 62 + src/int_recom/recom/vars.F90 | 1187 + src/int_recom/recom/varsolver.F90 | 501 + src/int_recom/recom_forcing.F90 | 25 +- src/int_recom/recom_init.F90 | 57 +- src/int_recom/recom_main.F90 | 93 +- src/int_recom/recom_modules.F90 | 2 + src/int_recom/recom_sms.F90 | 88 +- src/io_meandata.F90 | 241 +- 58 files changed, 160391 insertions(+), 9 deletions(-) create mode 100755 src/int_recom/recom/DNAD.F90 create mode 100755 src/int_recom/recom/DNADHeaders.h create mode 100755 src/int_recom/recom/buffesm.F90 create mode 100755 src/int_recom/recom/constants.F90 create mode 100755 src/int_recom/recom/depth2press.F90 create mode 100755 src/int_recom/recom/derivauto.F90 create mode 100755 src/int_recom/recom/derivnum.F90 create mode 100755 src/int_recom/recom/eos.F90 create mode 100755 src/int_recom/recom/errors.F90 create mode 100755 src/int_recom/recom/f2pCO2.F90 create mode 100755 src/int_recom/recom/gasx.F90 create mode 100755 src/int_recom/recom/gsw_add_barrier.F90 create mode 100755 src/int_recom/recom/gsw_add_mean.F90 create mode 100755 src/int_recom/recom/gsw_ct_from_pt.F90 create mode 100755 src/int_recom/recom/gsw_ct_from_t.F90 create mode 100755 src/int_recom/recom/gsw_entropy_part.F90 create mode 100755 src/int_recom/recom/gsw_entropy_part_zerop.F90 create mode 100755 src/int_recom/recom/gsw_gibbs.F90 create mode 100755 src/int_recom/recom/gsw_gibbs_pt0_pt0.F90 create mode 100755 src/int_recom/recom/gsw_mod_baltic_data.F90 create mode 100755 src/int_recom/recom/gsw_mod_error_functions.F90 create mode 100755 src/int_recom/recom/gsw_mod_kinds.F90 create mode 100755 src/int_recom/recom/gsw_mod_saar_data.F90 create mode 100755 src/int_recom/recom/gsw_mod_specvol_coefficients.F90 create mode 100755 src/int_recom/recom/gsw_mod_teos10_constants.F90 create mode 100755 src/int_recom/recom/gsw_mod_toolbox.F90 create mode 100755 src/int_recom/recom/gsw_pt0_from_t.F90 create mode 100755 src/int_recom/recom/gsw_pt_from_ct.F90 create mode 100755 src/int_recom/recom/gsw_pt_from_t.F90 create mode 100755 src/int_recom/recom/gsw_rho.F90 create mode 100755 src/int_recom/recom/gsw_sa_from_sp.F90 create mode 100755 src/int_recom/recom/gsw_sa_from_sp_baltic.F90 create mode 100755 src/int_recom/recom/gsw_saar.F90 create mode 100755 src/int_recom/recom/gsw_sp_from_sa.F90 create mode 100755 src/int_recom/recom/gsw_sp_from_sa_baltic.F90 create mode 100755 src/int_recom/recom/gsw_specvol.F90 create mode 100755 src/int_recom/recom/gsw_t_from_ct.F90 create mode 100755 src/int_recom/recom/gsw_util_indx.F90 create mode 100755 src/int_recom/recom/gsw_util_xinterp1.F90 create mode 100755 src/int_recom/recom/p2fCO2.F90 create mode 100755 src/int_recom/recom/p80.F90 create mode 100755 src/int_recom/recom/phsolvers.F90 create mode 100755 src/int_recom/recom/rho.F90 create mode 100755 src/int_recom/recom/rhoinsitu.F90 create mode 100755 src/int_recom/recom/singledouble.F90 create mode 100755 src/int_recom/recom/sw_adtg.F90 create mode 100755 src/int_recom/recom/sw_ptmp.F90 create mode 100755 src/int_recom/recom/sw_temp.F90 create mode 100755 src/int_recom/recom/tis.F90 create mode 100755 src/int_recom/recom/tpot.F90 create mode 100755 src/int_recom/recom/vars.F90 create mode 100755 src/int_recom/recom/varsolver.F90 diff --git a/src/int_recom/recom/DNAD.F90 b/src/int_recom/recom/DNAD.F90 new file mode 100755 index 000000000..a078c51b7 --- /dev/null +++ b/src/int_recom/recom/DNAD.F90 @@ -0,0 +1,1754 @@ +!************************************************************************* +!* Dual Number Automatic Differentiation (DNAD) of Fortran Codes +!*---------------------------------------------------------------- +!* COPYRIGHT (c) Wenbin Yu, All rights reserved, you are free to copy, +!* modify or translate this code to other languages such as c/c++. If +!* you find a bug please let me know through wenbinyu.heaven@gmail.com. If +!* you added new functions and want to share with others, please let me know too. +!* You are welcome to share your successful stories with us through +!* http://groups.google.com/group/hifi-comp. +!****************************************************************************** +!* Simple Instruction: +!*--------------------- +!* This is the procedure file: define the procedures (functions/subroutines) +!* needed for overloading intrinsic functions and operators. If a function +!* or operation is not defined (unlikely), you need to create a corresponding +!* interface in header file (DNADHeaders.f90) and a corresponding +!* function/subroutine in DNAD.f90. +!* If you are uncertain whether I did things in the correct way or not, you can +!* create a new module with the same definition of the type DUAL_NUM, but delete +!* all the interfaces and procedures first. Then compile it with your analysis +!* codes after you changed all the definitions of real numbers to be dual numbers. +!* The compiler will complain about some operations and functions are not defined. +!* Then you do it one by one by looking at my original module, copying the needed +!* interfaces/procedures into your module. This way, you can also get a leaner +!* model and use those only needed for your analysis code. +!********************************************************************************* +!* Acknowledgements +!*------------------- +!* The development of DNAD is supported, in part, by the Chief Scientist +!* Innovative Research Fund at AFRL/RB WPAFB, and by Department of Army +!* SBIR (Topic A08-022) through Advanced Dynamics Inc. The views and +!* conclusions contained herein are those of the authors and should not be +!* interpreted as necessarily representing the official policies or endorsement, +!* either expressed or implied, of the funding agency. +!********************************************************************************** +!* Citation +!*------------------- +!* Your citation of the following two papers are appreciated: +!* Yu, W. and Blair, M.: "DNAD, a Simple Tool for Automatic Differentiation of +!* Fortran Codes Using Dual Numbers," Computer Physics Communications, vol. 184, +!* 2013, pp. 1446-1452. +!* +!* Spall, R. and Yu, W.: "Imbedded Dual-Number Automatic Differentiation for CFD +!* Sensitivity Analysis," Journal of Fluids Engineering, vol. 135, 2013, 014501. +!********************************************************************************** +!* Basic idea +!*------------------------------------- +!* Carry out Automatic Differentiation using the arithmetic of dual numbers. +!* It is supposed to be more efficient and more accurate than complex-step +!* approximation. What one needs to do is to create a new data type according +!* to the rules of dual numbers, which is equivalent to create a quasi-complex +!* numbers. And overload all the intrinsic operators and functions for +!* such a type. +!* For simplicity and memoric convenience, we call a dual number as a dual (D), +!* a double precision real number as a real (R) and a single precision real +!* number as a single (S), and an integer number as an integer (I). We also +!* use M to denote a 2D array, V to denote a vector, M3 to denote a 3D arry. +!* By defining functions/subroutines to the ELEMENTAL, the inputs/outputs +!* can be automatically overloaded for vectors and matrices of the same shape +!********************************************************************************** +!* To AD a Fortran code use DNAD +!* Step 0: compile DNAD.f90 to be DNAD.o +!* Step 1: Replace all the definitions of real numbers with dual numbers +!* For example +!* replace REAL(8) :: x +!* with TYPE(DUAL_NUM) :: x +!* replace REAL(8), PARAMETER:: ONE=1.0D0 +!* with TYPE(DUAL_NUM),PARAMETER::ONE=DUAL_NUM(1.0D0,0.D0) +!* Step 2: Insert USE Dual_Num_Auto_Diff right after Module/Function/Subroutine/Program +!* statements used TYPE(DUAL_NUM) +!* Step 3: Change IO commands correspondingly if the code does not use free formatting +!* read and write (can be automated by written some general-purpose utility subroutines) +!* Step 4: Recompile the source along with DNAD.o +!* The whole process can be automated, and even manually it only takes just a few minutes +!* for most real analysis codes, although step 3 is code dependent. +!***************************************************************************************** +!* Example +!* The analysis version of the code computing the area of a circle with input radius +!* PROGRAM CircleArea +!* REAL(8),PARAMETER:: PI=3.141592653589793D0 +!* REAL(8):: radius, area +!* READ(*,*) radius +!* Area=PI*radius**2 +!* WRITE(*,*) "AREA=", Area +!* END PROGRAM CircleArea +!*Input: 5 +!*Output: AREA=78.5398163397448 +!*--------------------------------------------------------------------------------------- +!* The AD version of the code computing the area of a circle and sensitivity with input radius +!*PROGRAM CircleArea +!* USE DNAD +!* TYPE (DUAL_NUM),PARAMETER:: PI=DUAL_NUM(3.141592653589793D0,0.D0) +!* TYPE (DUAL_NUM):: radius,area +!* READ(*,*) radius +!* Area=PI*radius**2 +!* WRITE(*,*) "AREA=",Area +!*END PROGRAM CircleArea +!* Input 5, 1 +!* Output: AREA=78.5398163397448, 31.4159265358979 +!*-------------------------------------------------------- +!***************************************************************************************** +!* Possible Mistakes to Avoid +!* 11/23/2011: DNAD should always compute the same functional value. However, in very rare situations, +!* sensitivities are not computed as expected. One such case has been identified with +!* dgemv in the blas package. The main reason is that dgemv skip some calculations due to +!* the fact of multiplying zero. However, sometimes, the functional value is zero, but +!* the sensitivity is not zero. In DNAD the comparision is done only between functional values +!* hence is sensitivity calculation is also avoid altogether. For example, the following piece of code +!* IF( X( JX ).NE.ZERO )THEN +!* TEMP = ALPHA*X( JX ) +!* DO 50, I = 1, M +!* Y( I ) = Y( I ) + TEMP*A( I, J ) +!* 50 CONTINUE +!* END IF +!* the solution is to either to rewrite dgemv or assign epsilon(0.0d0) to x(jx) if the functional value +!* while the corresponding derivatives are not zero. +!************************************************************************************************************ + +MODULE Dual_Num_Auto_Diff + +IMPLICIT NONE + +INTEGER(2), PUBLIC,PARAMETER:: NDV_AD=6 ! number of design variables + +PRIVATE + + +INTEGER, PARAMETER:: SNG_AD=SELECTED_REAL_KIND(6) ! single precision +INTEGER, PARAMETER:: DBL_AD=SELECTED_REAL_KIND(15) ! double precision +REAL(DBL_AD) ::negative_one=-1.0d0 + +TYPE,PUBLIC:: DUAL_NUM + ! make this private will create difficulty to use the original write/read commands, + ! hence x_ad_ and xp_ad_ are variables which can be accessed using D%x_ad_ and + ! D%xp_ad_ in other units using this module in which D is defined as TYPE DUAL_NUM. + REAL(DBL_AD)::x_ad_ ! functional value + REAL(DBL_AD)::xp_ad_(NDV_AD) ! derivative + +END TYPE DUAL_NUM + +INCLUDE 'DNADHeaders.h' + + +CONTAINS + +!*********Begin: functions/subroutines for overloading operators + +!******* Begin: (=) +!--------------------- + !** dual=integer: ! = + ELEMENTAL SUBROUTINE ASSIGN_DI(u,n) + TYPE (DUAL_NUM), INTENT(OUT)::u + INTEGER, INTENT(IN)::n + + ! u=DUAL_NUM(n,0.d0) ! It is shown that this approach is much slower than the new approach + u%x_ad_= REAL(n,DBL_AD) ! REAL(n,DBL_AD) is faster than let the code do the conversion. + u%xp_ad_=0.0D0 + + END SUBROUTINE ASSIGN_DI + + !** dual=real: = + ELEMENTAL SUBROUTINE ASSIGN_DR(u,n) + TYPE (DUAL_NUM), INTENT(OUT)::u + REAL(DBL_AD), INTENT(IN)::n + + u%x_ad_=n + u%xp_ad_=0.0D0 + + + END SUBROUTINE ASSIGN_DR + + !** dual=single + ! = + ELEMENTAL SUBROUTINE ASSIGN_DS(u,n) + TYPE (DUAL_NUM), INTENT(OUT)::u + REAL(SNG_AD), INTENT(IN)::n + + u%x_ad_=REAL(n,DBL_AD) + u%xp_ad_=0.0D0 + + END SUBROUTINE ASSIGN_DS + + !** integer=dual + ! n=u%x_ad_ + ELEMENTAL SUBROUTINE ASSIGN_ID(n,u) + TYPE (DUAL_NUM), INTENT(IN)::u + INTEGER, INTENT(OUT)::n + + n=u%x_ad_ + + END SUBROUTINE ASSIGN_ID + +!******* End: (=) +!--------------------- + + +!******* Begin: (+) +!--------------------- + + + !dual=+ + !----------------------------------------- + ELEMENTAL FUNCTION ADD_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + + res=u ! It is faster than assigning component wise + + END FUNCTION ADD_D + + + ! += + !----------------------------------------- + ELEMENTAL FUNCTION ADD_DD(u,v) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u,v + TYPE (DUAL_NUM)::res + + res%x_ad_ = u%x_ad_+v%x_ad_ + res%xp_ad_ = u%xp_ad_+v%xp_ad_ + + END FUNCTION ADD_DD + + ! dual+integer + ! += + !----------------------------------------- + ELEMENTAL FUNCTION ADD_DI(v,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::v + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ = REAL(n,DBL_AD)+v%x_ad_ + res%xp_ad_ = v%xp_ad_ + + END FUNCTION ADD_DI + + ! dual +real + ! += + !----------------------------------------- + ELEMENTAL FUNCTION ADD_DR(v,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::v + REAL(DBL_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ = n+v%x_ad_ + res%xp_ad_ = v%xp_ad_ + + END FUNCTION ADD_DR + + !----------------------------------------- + ! dual+single + ! += + !----------------------------------------- + ELEMENTAL FUNCTION ADD_DS(v,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::v + REAL(SNG_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ = REAL(n,DBL_AD)+v%x_ad_ + res%xp_ad_ = v%xp_ad_ + + END FUNCTION ADD_DS + !----------------------------------------- + + + !----------------------------------------- + !an integer+ dual number + ! += + !----------------------------------------- + ELEMENTAL FUNCTION ADD_ID(n,v) RESULT(res) + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM), INTENT(IN)::v + TYPE (DUAL_NUM)::res + + res%x_ad_ = REAL(n,DBL_AD)+v%x_ad_ + res%xp_ad_ = v%xp_ad_ + + END FUNCTION ADD_ID + + + !----------------------------------------- + ! real + dual + ! += + !----------------------------------------- + ELEMENTAL FUNCTION ADD_RD(n,v) RESULT(res) + REAL(DBL_AD),INTENT(IN)::n + TYPE (DUAL_NUM), INTENT(IN)::v + TYPE (DUAL_NUM)::res + + res%x_ad_ = n+v%x_ad_ + res%xp_ad_ = v%xp_ad_ + + END FUNCTION ADD_RD + + ! single + dual + ! += + !----------------------------------------- + ELEMENTAL FUNCTION ADD_SD(n,v) RESULT(res) + REAL(SNG_AD),INTENT(IN)::n + TYPE (DUAL_NUM), INTENT(IN)::v + TYPE (DUAL_NUM)::res + + res%x_ad_ = REAL(n,DBL_AD)+v%x_ad_ + res%xp_ad_ = v%xp_ad_ + + END FUNCTION ADD_SD + +!******* End: (+) +!--------------------- + + +!******* Begin: (-) +!--------------------- + + + !----------------------------------------- + ! negate a dual number + !------------------------------------------------- + ELEMENTAL FUNCTION MINUS_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + + res%x_ad_ = -u%x_ad_ + res%xp_ad_= -u%xp_ad_ + + END FUNCTION MINUS_D + + !----------------------------------------- + ! -= + !------------------------------------------------- + ELEMENTAL FUNCTION MINUS_DD(u,v) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u,v + TYPE (DUAL_NUM)::res + + res%x_ad_ = u%x_ad_-v%x_ad_ + res%xp_ad_= u%xp_ad_-v%xp_ad_ + + END FUNCTION MINUS_DD + + !----------------------------------------- + ! dual number - integer + ! -= + !------------------------------------------------- + ELEMENTAL FUNCTION MINUS_DI(u,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ = u%x_ad_-REAL(n,DBL_AD) + res%xp_ad_= u%xp_ad_ + + END FUNCTION MINUS_DI + + !----------------------------------------- + ! dual number - real + ! -= + !------------------------------------------------- + ELEMENTAL FUNCTION MINUS_DR(u,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(DBL_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ = u%x_ad_-n + res%xp_ad_= u%xp_ad_ + + END FUNCTION MINUS_DR + + !----------------------------------------- + ! dual number - single + ! -= + !------------------------------------------------- + ELEMENTAL FUNCTION MINUS_DS(u,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(SNG_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ = u%x_ad_-REAL(n,DBL_AD) + res%xp_ad_= u%xp_ad_ + + END FUNCTION MINUS_DS + + + !----------------------------------------- + ! integer-dual number + !------------------------------------------------- + ELEMENTAL FUNCTION MINUS_ID(n,u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ = REAL(n,DBL_AD)-u%x_ad_ + res%xp_ad_= -u%xp_ad_ + + END FUNCTION MINUS_ID + + !----------------------------------------- + ! real-dual number + !------------------------------------------------- + ELEMENTAL FUNCTION MINUS_RD(n,u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(DBL_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ = n-u%x_ad_ + res%xp_ad_= -u%xp_ad_ + + END FUNCTION MINUS_RD + + !----------------------------------------- + ! single-dual number + ! -= + !------------------------------------------------- + ELEMENTAL FUNCTION MINUS_SD(n,u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(SNG_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ =REAL(n,DBL_AD) - u%x_ad_ + res%xp_ad_=- u%xp_ad_ + + END FUNCTION MINUS_SD + +!******* END: (-) +!--------------------- + + +!******* BEGIN: (*) +!--------------------- + + !----------------------------------------- + ! *= + !---------------------------------------- + ELEMENTAL FUNCTION MULT_DD(u,v) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u,v + TYPE (DUAL_NUM)::res + + res%x_ad_ = u%x_ad_*v%x_ad_ + res%xp_ad_= u%xp_ad_*v%x_ad_ + u%x_ad_*v%xp_ad_ + + END FUNCTION MULT_DD + + + !----------------------------------------- + ! dual*integer + ! *= + !---------------------------------------- + ELEMENTAL FUNCTION MULT_DI(u,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ = REAL(n,DBL_AD)*u%x_ad_ + res%xp_ad_= REAL(n,DBL_AD)*u%xp_ad_ + + END FUNCTION MULT_DI + + !----------------------------------------- + ! dual*real + ! *= + !---------------------------------------- + ELEMENTAL FUNCTION MULT_DR(u,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(DBL_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ = n*u%x_ad_ + res%xp_ad_= n*u%xp_ad_ + + END FUNCTION MULT_DR + + + !----------------------------------------- + ! dual*single + ! *= + !---------------------------------------- + ELEMENTAL FUNCTION MULT_DS(u,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(SNG_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + res%x_ad_ = REAL(n,DBL_AD)*u%x_ad_ + res%xp_ad_= REAL(n,DBL_AD)*u%xp_ad_ + + END FUNCTION MULT_DS + + + !----------------------------------------- + ! integer*dual + ! *= + !---------------------------------------- + ELEMENTAL FUNCTION MULT_ID(n,v) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::v + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM)::res + + + res%x_ad_ = REAL(n,DBL_AD)*v%x_ad_ + res%xp_ad_= REAL(n,DBL_AD)*v%xp_ad_ + + END FUNCTION MULT_ID + + !----------------------------------------- + ! real* dual + ! *= + !---------------------------------------- + ELEMENTAL FUNCTION MULT_RD(n,u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + REAL(DBL_AD),INTENT(IN)::n + + res%x_ad_ = n*u%x_ad_ + res%xp_ad_= n*u%xp_ad_ + + END FUNCTION MULT_RD + + !----------------------------------------- + ! MULTIPLY a dual number with REAL number + ! *= + !---------------------------------------- + ELEMENTAL FUNCTION MULT_SD(n,u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + REAL(SNG_AD),INTENT(IN)::n + + res%x_ad_ = REAL(n,DBL_AD)*u%x_ad_ + res%xp_ad_= REAL(n,DBL_AD)*u%xp_ad_ + + END FUNCTION MULT_SD + + +!******* END: (*) +!--------------------- + + +!******* BEGIN: (/) +!--------------------- + + !----------------------------------------- + ! /= + !---------------------------------------- + ELEMENTAL FUNCTION DIV_DD(u,v) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u,v + REAL(DBL_AD)::tmp + TYPE (DUAL_NUM)::res + INTEGER:: i + + tmp=1.D0/v%x_ad_ + res%x_ad_ = u%x_ad_*tmp + res%xp_ad_ =(u%xp_ad_- res%x_ad_*v%xp_ad_)*tmp + + END FUNCTION DIV_DD + + !----------------------------------------- + ! /= + !---------------------------------------- + ELEMENTAL FUNCTION DIV_DI(u,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + INTEGER,INTENT(IN)::n + REAL(DBL_AD)::tmp + TYPE (DUAL_NUM)::res + + tmp=1.D0/REAL(n,DBL_AD) + res%x_ad_ = u%x_ad_*tmp + res%xp_ad_ =u%xp_ad_*tmp + + END FUNCTION DIV_DI + + !----------------------------------------- + ! DIVIDE dual number with respect to real numbers + ! /= + !---------------------------------------- + ELEMENTAL FUNCTION DIV_DR(u,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(DBL_AD),INTENT(IN)::n + TYPE (DUAL_NUM):: res + REAL(DBL_AD)::tmp + + tmp=1.0D0/n + res%x_ad_ = u%x_ad_*tmp + res%xp_ad_ =u%xp_ad_*tmp + + END FUNCTION DIV_DR + + + !----------------------------------------- + ! DIVIDE dual number with respect to single + ! /= + !---------------------------------------- + ELEMENTAL FUNCTION DIV_DS(u,n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(SNG_AD),INTENT(IN)::n + TYPE (DUAL_NUM):: res + REAL(DBL_AD)::tmp + + tmp=1.0D0/REAL(n,DBL_AD) + res%x_ad_ = u%x_ad_*tmp + res%xp_ad_ =u%xp_ad_*tmp + + END FUNCTION DIV_DS + + !----------------------------------------- + ! integer/ + ! /==n*<1,-vp/v>/v + !---------------------------------------- + ELEMENTAL FUNCTION DIV_ID(n,v) RESULT(res) + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM), INTENT(IN)::v + REAL(DBL_AD)::tmp,tmp2 + TYPE (DUAL_NUM)::res + + tmp=1.D0/v%x_ad_ + res%x_ad_=REAL(n,DBL_AD)*tmp + res%xp_ad_=-res%x_ad_*tmp*v%xp_ad_ + + END FUNCTION DIV_ID + + + !----------------------------------------- + ! real/ + ! /==n*<1,-vp/v>/v + !---------------------------------------- + ELEMENTAL FUNCTION DIV_RD(n,v) RESULT(res) + REAL(DBL_AD),INTENT(IN)::n + TYPE (DUAL_NUM), INTENT(IN)::v + REAL(DBL_AD)::tmp,tmp2 + TYPE (DUAL_NUM)::res + + tmp=1.D0/v%x_ad_ + res%x_ad_=n*tmp + res%xp_ad_=-res%x_ad_*tmp*v%xp_ad_ + + END FUNCTION DIV_RD + + !----------------------------------------- + ! single/ + ! /==n*<1,-vp/v>/v + !---------------------------------------- + ELEMENTAL FUNCTION DIV_SD(n,v) RESULT(res) + REAL(SNG_AD),INTENT(IN)::n + TYPE (DUAL_NUM), INTENT(IN)::v + REAL(DBL_AD)::tmp,tmp2 + TYPE (DUAL_NUM)::res + + tmp=1.D0/v%x_ad_ + res%x_ad_=REAL(n,DBL_AD)*tmp + res%xp_ad_=-res%x_ad_*tmp*v%xp_ad_ + + END FUNCTION DIV_SD + +!******* END: (/) +!--------------------- + + +!******* BEGIN: (**) +!--------------------- + + !----------------------------------------- + ! POWER dual numbers + ! ^k= + !---------------------------------------- + ELEMENTAL FUNCTION POW_I(u,k) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + INTEGER,INTENT(IN)::k + REAL(DBL_AD)::tmp + TYPE (DUAL_NUM)::res + + tmp=u%x_ad_**(k-1) + res%x_ad_ = u%x_ad_*tmp + res%xp_ad_=REAL(k,DBL_AD)*tmp*u%xp_ad_ + + END FUNCTION POW_I + + !----------------------------------------- + ! POWER dual numbers + ! ^k= + !---------------------------------------- + ELEMENTAL FUNCTION POW_R(u,k) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(DBL_AD),INTENT(IN)::k + REAL(DBL_AD)::tmp + TYPE (DUAL_NUM)::res + + tmp=u%x_ad_**(k-1) + res%x_ad_ = u%x_ad_*tmp + res%xp_ad_=k*tmp*u%xp_ad_ + + END FUNCTION POW_R + + !----------------------------------------- + ! POWER dual numbers + ! ^k= + !---------------------------------------- + ELEMENTAL FUNCTION POW_S(u,k) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(SNG_AD),INTENT(IN)::k + REAL(DBL_AD)::tmp + TYPE (DUAL_NUM)::res + + tmp=u%x_ad_**(k-1) + res%x_ad_ = u%x_ad_*tmp + res%xp_ad_=k*tmp*u%xp_ad_ + + END FUNCTION POW_S + + !----------------------------------------- + ! POWER dual numbers to a dual power + ! ^(v,vp)= + !---------------------------------------- + ELEMENTAL FUNCTION POW_D(u,v) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM), INTENT(IN)::v + REAL(DBL_AD)::uf,vf + TYPE (DUAL_NUM)::res + uf=u%x_ad_ + vf=v%x_ad_ + + res%x_ad_ =uf**vf + res%xp_ad_=res%x_ad_*(vf/uf*u%xp_ad_+LOG(uf)*v%xp_ad_) + + END FUNCTION POW_D +!******* END: (**) +!--------------------- + + +!******* BEGIN: (==) +!--------------------- + !----------------------------------------- + ! compare two dual numbers, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION EQ_DD(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs,rhs + LOGICAL::res + + res = (lhs%x_ad_ == rhs%x_ad_) + + END FUNCTION EQ_DD + + ! compare a dual with an integer + !----------------------------------------- + ELEMENTAL FUNCTION EQ_DI(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + INTEGER,INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ == REAL(rhs,DBL_AD)) + + END FUNCTION EQ_DI + + !----------------------------------------- + ! compare a dual number with a real number, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION EQ_DR(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(DBL_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ == rhs) + + END FUNCTION EQ_DR + + ! compare a dual with a single + !----------------------------------------- + ELEMENTAL FUNCTION EQ_DS(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(SNG_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ == REAL(rhs,DBL_AD)) + + END FUNCTION EQ_DS + + !----------------------------------------- + ! compare an integer with a dual + !---------------------------------------- + ELEMENTAL FUNCTION EQ_ID(lhs, rhs) RESULT(res) + INTEGER,INTENT(IN)::lhs + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (REAL(lhs,DBL_AD)==rhs%x_ad_) + + END FUNCTION EQ_ID + + !----------------------------------------- + ! compare a real with a dual + !---------------------------------------- + ELEMENTAL FUNCTION EQ_RD(lhs, rhs) RESULT(res) + REAL(DBL_AD),INTENT(IN)::lhs + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (lhs==rhs%x_ad_) + + END FUNCTION EQ_RD + + !----------------------------------------- + ! compare a single with a dual + !---------------------------------------- + ELEMENTAL FUNCTION EQ_SD(lhs, rhs) RESULT(res) + REAL(SNG_AD),INTENT(IN)::lhs + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (REAL(lhs,DBL_AD)==rhs%x_ad_) + + END FUNCTION EQ_SD + +!******* END: (==) +!--------------------- + + +!******* BEGIN: (<=) +!--------------------- + !----------------------------------------- + ! compare two dual numbers, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION LE_DD(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs,rhs + LOGICAL::res + + res = (lhs%x_ad_ <= rhs%x_ad_) + + END FUNCTION LE_DD + + ! compare a dual with an integer + !----------------------------------------- + ELEMENTAL FUNCTION LE_DI(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + INTEGER,INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ <= REAL(rhs,DBL_AD)) + + END FUNCTION LE_DI + + !----------------------------------------- + ! compare a dual number with a real number, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION LE_DR(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(DBL_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ <= rhs) + + END FUNCTION LE_DR + + ! compare a dual with a single + !---------------------------------------- + ELEMENTAL FUNCTION LE_DS(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(SNG_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ <= REAL(rhs,DBL_AD)) + + END FUNCTION LE_DS + + !----------------------------------------- + ! compare a dual number with an integer + !---------------------------------------- + ELEMENTAL FUNCTION LE_ID(n, rhs) RESULT(res) + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (REAL(n,DBL_AD)<=rhs%x_ad_) + + END FUNCTION LE_ID + +!----------------------------------------- + ! compare a real with a dual + !---------------------------------------- + ELEMENTAL FUNCTION LE_RD(lhs, rhs) RESULT(res) + REAL(DBL_AD),INTENT(IN)::lhs + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (lhs<=rhs%x_ad_) + + END FUNCTION LE_RD + + !----------------------------------------- + ! compare a single with a dual + !---------------------------------------- + ELEMENTAL FUNCTION LE_SD(lhs, rhs) RESULT(res) + REAL(SNG_AD),INTENT(IN)::lhs + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (REAL(lhs,DBL_AD)<=rhs%x_ad_) + + END FUNCTION LE_SD + +!******* END: (<=) +!--------------------- + +!******* BEGIN: (<) +!--------------------- + !----------------------------------------- + ! compare two dual numbers, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION LT_DD(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs,rhs + LOGICAL::res + + res = (lhs%x_ad_ < rhs%x_ad_) + + END FUNCTION LT_DD + + ! compare a dual with an integer + !----------------------------------------- + ELEMENTAL FUNCTION LT_DI(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + INTEGER,INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ < REAL(rhs,DBL_AD)) + + END FUNCTION LT_DI + + !----------------------------------------- + ! compare a dual number with a real number, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION LT_DR(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(DBL_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ < rhs) + + END FUNCTION LT_DR + + ! compare a dual with a single + !---------------------------------------- + ELEMENTAL FUNCTION LT_DS(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(SNG_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ < REAL(rhs,DBL_AD)) + + END FUNCTION LT_DS + + !----------------------------------------- + ! compare a dual number with an integer + !---------------------------------------- + ELEMENTAL FUNCTION LT_ID(n, rhs) RESULT(res) + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (REAL(n,DBL_AD)=) +!--------------------- + !----------------------------------------- + ! compare two dual numbers, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION GE_DD(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs,rhs + LOGICAL::res + + res = (lhs%x_ad_ >= rhs%x_ad_) + + END FUNCTION GE_DD + + ! compare a dual with an integer + !----------------------------------------- + ELEMENTAL FUNCTION GE_DI(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + INTEGER,INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ >= REAL(rhs,DBL_AD)) + + END FUNCTION GE_DI + + !----------------------------------------- + ! compare a dual number with a real number, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION GE_DR(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(DBL_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ >= rhs) + + END FUNCTION GE_DR + + ! compare a dual with a single + !---------------------------------------- + ELEMENTAL FUNCTION GE_DS(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(SNG_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ >=REAL(rhs,DBL_AD)) + + END FUNCTION GE_DS + !----------------------------------------- + ! compare a dual number with an integer + !---------------------------------------- + ELEMENTAL FUNCTION GE_ID(n, rhs) RESULT(res) + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (REAL(n,DBL_AD)>=rhs%x_ad_) + + END FUNCTION GE_ID + +!----------------------------------------- + ! compare a real with a dual + !---------------------------------------- + ELEMENTAL FUNCTION GE_RD(lhs, rhs) RESULT(res) + REAL(DBL_AD),INTENT(IN)::lhs + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (lhs>=rhs%x_ad_) + + END FUNCTION GE_RD + + !----------------------------------------- + ! compare a single with a dual + !---------------------------------------- + ELEMENTAL FUNCTION GE_SD(lhs, rhs) RESULT(res) + REAL(SNG_AD),INTENT(IN)::lhs + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (REAL(lhs,DBL_AD)>=rhs%x_ad_) + + END FUNCTION GE_SD + + +!******* END: (>=) +!--------------------- + + +!******* BEGIN: (>) +!--------------------- + !----------------------------------------- + ! compare two dual numbers, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION GT_DD(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs,rhs + LOGICAL::res + + res = (lhs%x_ad_ > rhs%x_ad_) + + END FUNCTION GT_DD + + ! compare a dual with an integer + !----------------------------------------- + ELEMENTAL FUNCTION GT_DI(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + INTEGER,INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ > REAL(rhs,DBL_AD)) + + END FUNCTION GT_DI + + !----------------------------------------- + ! compare a dual number with a real number, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION GT_DR(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(DBL_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ > rhs) + + END FUNCTION GT_DR + + ! compare a dual with a single + !---------------------------------------- + ELEMENTAL FUNCTION GT_DS(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(SNG_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ >REAL(rhs,DBL_AD)) + + END FUNCTION GT_DS + + !----------------------------------------- + ! compare a dual number with an integer + !---------------------------------------- + ELEMENTAL FUNCTION GT_ID(n, rhs) RESULT(res) + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (REAL(n,DBL_AD)>rhs%x_ad_) + + END FUNCTION GT_ID + +!----------------------------------------- + ! compare a real with a dual + !---------------------------------------- + ELEMENTAL FUNCTION GT_RD(lhs, rhs) RESULT(res) + REAL(DBL_AD),INTENT(IN)::lhs + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (lhs>rhs%x_ad_) + + END FUNCTION GT_RD + + !----------------------------------------- + ! compare a single with a dual + !---------------------------------------- + ELEMENTAL FUNCTION GT_SD(lhs, rhs) RESULT(res) + REAL(SNG_AD),INTENT(IN)::lhs + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (REAL(lhs,DBL_AD)>rhs%x_ad_) + + END FUNCTION GT_SD + + +!******* END: (>) +!--------------------- + + + +!******* BEGIN: (/=) +!--------------------- + !----------------------------------------- + ! compare two dual numbers, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION NE_DD(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs,rhs + LOGICAL::res + + res = (lhs%x_ad_ /= rhs%x_ad_) + + END FUNCTION NE_DD + + ! compare a dual with an integer + !----------------------------------------- + ELEMENTAL FUNCTION NE_DI(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + INTEGER,INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ /= REAL(rhs,DBL_AD)) + + END FUNCTION NE_DI + + !----------------------------------------- + ! compare a dual number with a real number, simply compare + ! the functional value. + !---------------------------------------- + ELEMENTAL FUNCTION NE_DR(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(DBL_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ /= rhs) + + END FUNCTION NE_DR + + ! compare a dual with a single + !---------------------------------------- + ELEMENTAL FUNCTION NE_DS(lhs, rhs) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: lhs + REAL(SNG_AD),INTENT(IN)::rhs + LOGICAL::res + + res = (lhs%x_ad_ /=REAL(rhs,DBL_AD)) + + END FUNCTION NE_DS + + !----------------------------------------- + ! compare a dual number with an integer + !---------------------------------------- + ELEMENTAL FUNCTION NE_ID(n, rhs) RESULT(res) + INTEGER,INTENT(IN)::n + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (REAL(n,DBL_AD)/=rhs%x_ad_) + + END FUNCTION NE_ID + +!----------------------------------------- + ! compare a real with a dual + !---------------------------------------- + ELEMENTAL FUNCTION NE_RD(lhs, rhs) RESULT(res) + REAL(DBL_AD),INTENT(IN)::lhs + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (lhs/=rhs%x_ad_) + + END FUNCTION NE_RD + + !----------------------------------------- + ! compare a single with a dual + !---------------------------------------- + ELEMENTAL FUNCTION NE_SD(lhs, rhs) RESULT(res) + REAL(SNG_AD),INTENT(IN)::lhs + TYPE (DUAL_NUM), INTENT(IN):: rhs + LOGICAL::res + + res = (REAL(lhs,DBL_AD)/=rhs%x_ad_) + + END FUNCTION NE_SD + +!******* END: (/=) +!--------------------- + + !--------------------------------------------------- + ! ABS of dual numbers + ! ABS= + !---------------------------------------------------- + ELEMENTAL FUNCTION ABS_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + + IF(u%x_ad_>0) THEN + res%x_ad_ = u%x_ad_ + res%xp_ad_= u%xp_ad_ + ELSE IF (u%x_ad_<0) THEN + res%x_ad_ = -u%x_ad_ + res%xp_ad_= -u%xp_ad_ + ELSE + res%x_ad_ = 0.0D0 + res%xp_ad_= 0.0 !Set_NaN() ! Indicating an undefined derivative, however, for some codes it will cause problem. + ENDIF + + END FUNCTION ABS_D + + + !----------------------------------------- + ! ACOS of dual numbers + ! ACOS= + !---------------------------------------- + ELEMENTAL FUNCTION ACOS_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + REAL(DBL_AD)::tmp + + res%x_ad_ = ACOS(u%x_ad_) + IF(u%x_ad_==1.0D0.OR.u%x_ad_==-1.0D0) THEN + res%xp_ad_=Set_NaN() ! Indicating an undefined derivative + ELSE + tmp= -1.0d0/SQRT(1.0D0-(u%x_ad_)**2) + res%xp_ad_= u%xp_ad_*tmp + ENDIF + END FUNCTION ACOS_D + + + !----------------------------------------- + ! ASIN of dual numbers + ! ASIN= + !---------------------------------------- + ELEMENTAL FUNCTION ASIN_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + REAL (DBL_AD):: tmp + + res%x_ad_ = ASIN(u%x_ad_) + IF(u%x_ad_==1.0D0.OR.u%x_ad_==-1.0D0) THEN + res%xp_ad_=Set_NaN() ! Indicating an undefined derivative + ELSE + tmp= 1.0d0/SQRT(1.0D0-(u%x_ad_)**2) + res%xp_ad_= u%xp_ad_*tmp + ENDIF + END FUNCTION ASIN_D + + + !----------------------------------------- + ! COS of dual numbers + ! COS= + !---------------------------------------- + ELEMENTAL FUNCTION COS_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + REAL(DBL_AD):: tmp + + res%x_ad_ = COS(u%x_ad_) + tmp=-SIN(u%x_ad_) + res%xp_ad_= u%xp_ad_*tmp + + END FUNCTION COS_D + + !----------------------------------------- + ! DOT PRODUCT two dual number vectors + ! .= + !---------------------------------------- + FUNCTION DOT_PRODUCT_DD(u,v) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u(:),v(:) + TYPE (DUAL_NUM)::res + INTEGER:: i + + res%x_ad_ = DOT_PRODUCT(u%x_ad_,v%x_ad_) + + DO i=1,NDV_AD + res%xp_ad_(i) =DOT_PRODUCT(u%x_ad_,v%xp_ad_(i))+DOT_PRODUCT(u%xp_ad_(i),v%x_ad_) + ENDDO + END FUNCTION DOT_PRODUCT_DD + + + + !----------------------------------------- + ! EXPONENTIAL OF dual numbers + ! EXP= + !---------------------------------------- + ELEMENTAL FUNCTION EXP_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(DBL_AD)::tmp + TYPE (DUAL_NUM)::res + + tmp=EXP(u%x_ad_) + res%x_ad_ = tmp + res%xp_ad_ =u%xp_ad_*tmp + + END FUNCTION EXP_D + + !----------------------------------------- + ! EXPONENTIAL OF dual numbers + ! EXP= + !---------------------------------------- + ELEMENTAL FUNCTION INT_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(DBL_AD)::tmp + INTEGER::res + + tmp=u%x_ad_ + res = INT(tmp) + + END FUNCTION INT_D + + + !----------------------------------------- + ! LOG OF dual numbers,defined for u%x>0 only + ! the error control should be done in the original code + ! in other words, if u%x<=0, it is not possible to obtain LOG. + ! LOG= + !---------------------------------------- + ELEMENTAL FUNCTION LOG_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + REAL(DBL_AD)::tmp + + res%x_ad_ = LOG(u%x_ad_) + tmp=1.0d0/u%x_ad_ + res%xp_ad_ =u%xp_ad_*tmp + + END FUNCTION LOG_D + +!----------------------------------------- + ! LOG OF dual numbers,defined for u%x>0 only + ! the error control should be done in the original code + ! in other words, if u%x<=0, it is not possible to obtain LOG. + ! LOG= + !---------------------------------------- + ELEMENTAL FUNCTION LOG10_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + REAL(DBL_AD)::tmp + + res%x_ad_ = LOG10(u%x_ad_) + tmp=1.0d0/u%x_ad_/LOG(10.0D0) + res%xp_ad_ =u%xp_ad_*tmp + + END FUNCTION LOG10_D + + + !----------------------------------------- + ! MULTIPLY two dual number matrices + ! + ! .= + !---------------------------------------- + FUNCTION MATMUL_DD(u,v) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u(:,:),v(:,:) + TYPE (DUAL_NUM)::res(SIZE(u,1),SIZE(v,2)) + INTEGER:: i + + res%x_ad_ = MATMUL(u%x_ad_,v%x_ad_) + DO i=1,NDV_AD + res%xp_ad_(i)= MATMUL(u%xp_ad_(i),v%x_ad_) + MATMUL(u%x_ad_,v%xp_ad_(i)) + ENDDO + END FUNCTION MATMUL_DD + + !----------------------------------------- + ! MULTIPLY a dual number matrix with a dual number + ! vector + ! + ! .= + !---------------------------------------- + FUNCTION MATMUL_DV(u,v) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u(:,:),v(:) + TYPE (DUAL_NUM)::res(SIZE(u,1)) + INTEGER:: i + + res%x_ad_ = MATMUL(u%x_ad_,v%x_ad_) + DO i=1,NDV_AD + res%xp_ad_(i)= MATMUL(u%xp_ad_(i),v%x_ad_) + MATMUL(u%x_ad_,v%xp_ad_(i)) + ENDDO + END FUNCTION MATMUL_DV + + + !----------------------------------------- + ! MULTIPLY a dual vector with a dual matrix + ! + ! .= + !---------------------------------------- + FUNCTION MATMUL_VD(u,v) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u(:),v(:,:) + TYPE (DUAL_NUM)::res(SIZE(v,2)) + INTEGER::i + + res%x_ad_= MATMUL(u%x_ad_,v%x_ad_) + DO i=1,NDV_AD + res%xp_ad_(i)= MATMUL(u%xp_ad_(i),v%x_ad_) + MATMUL(u%x_ad_,v%xp_ad_(i)) + ENDDO + END FUNCTION MATMUL_VD + + !----------------------------------------- + ! Obtain the max of 2 to 5 dual numbers + !---------------------------------------- + ELEMENTAL FUNCTION MAX_DD(val1, val2, val3, val4,val5) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::val1, val2 + TYPE (DUAL_NUM), INTENT(IN),OPTIONAL:: val3, val4,val5 + TYPE (DUAL_NUM)::res + + IF (val1%x_ad_ > val2%x_ad_) THEN + res = val1 + ELSE + res = val2 + ENDIF + IF(PRESENT(val3))THEN + IF(res%x_ad_ n) THEN + res = u + ELSE + res = n + ENDIF + + END FUNCTION MAX_DI + + !----------------------------------------- + ! Obtain the max of a dual number and a real number + !---------------------------------------- + ELEMENTAL FUNCTION MAX_DR(u, n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(DBL_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + IF (u%x_ad_ > n) THEN + res = u + ELSE + res = n + ENDIF + + END FUNCTION MAX_DR + + + !----------------------------------------- + ! Obtain the max of a dual number and a single + !---------------------------------------- + ELEMENTAL FUNCTION MAX_DS(u, n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(SNG_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + IF (u%x_ad_ > n) THEN + res = u + ELSE + res = n + ENDIF + + END FUNCTION MAX_DS + + + !--------------------------------------------------- + ! Obtain the max of a real and a dual + ! note the real argument is renamed as r to avoid + ! the ambiguity due to positional association using + ! keywords when functions/subroutines are called + !--------------------------------------------------- + ELEMENTAL FUNCTION MAX_RD(r,u) RESULT(res) + REAL(DBL_AD),INTENT(IN)::r + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + + IF (u%x_ad_ > r) THEN + res = u + ELSE + res = r + ENDIF + + END FUNCTION MAX_RD + + !----------------------------------------- + ! Obtain the max value of vector u + !---------------------------------------- + FUNCTION MAXVAL_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u(:) + INTEGER::iloc(1) + TYPE (DUAL_NUM)::res + + iloc=MAXLOC(u%x_ad_) + res=u(iloc(1)) + + END FUNCTION MAXVAL_D + + + !----------------------------------------- + ! Obtain the min of 2 to 4 dual numbers + !---------------------------------------- + ELEMENTAL FUNCTION MIN_DD(val1, val2, val3, val4) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::val1, val2 + TYPE (DUAL_NUM), INTENT(IN),OPTIONAL:: val3, val4 + TYPE (DUAL_NUM)::res + + IF (val1%x_ad_ < val2%x_ad_) THEN + res = val1 + ELSE + res = val2 + ENDIF + IF(PRESENT(val3))THEN + IF(res%x_ad_>val3%x_ad_) res=val3 + ENDIF + IF(PRESENT(val4))THEN + IF(res%x_ad_>val4%x_ad_) res=val4 + ENDIF + + END FUNCTION MIN_DD + +!----------------------------------------- + ! Obtain the min of a dual number and a single + !---------------------------------------- + ELEMENTAL FUNCTION MIN_DR(u, n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(DBL_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + IF (u%x_ad_ < n) THEN + res = u + ELSE + res = n + ENDIF + + END FUNCTION MIN_DR + + !----------------------------------------- + ! Obtain the min of a dual number and a single + !---------------------------------------- + ELEMENTAL FUNCTION MIN_DS(u, n) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(SNG_AD),INTENT(IN)::n + TYPE (DUAL_NUM)::res + + IF (u%x_ad_ < n) THEN + res = u + ELSE + res = n + ENDIF + + END FUNCTION MIN_DS + + !----------------------------------------- + ! Obtain the min value of vector u + !---------------------------------------- + FUNCTION MINVAL_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u(:) + INTEGER::iloc(1) + TYPE (DUAL_NUM)::res + + iloc=MINLOC(u%x_ad_) + res=u(iloc(1)) + + END FUNCTION MINVAL_D + + !------------------------------------------------------ + !Returns the nearest integer to u%x, ELEMENTAL + !------------------------------------------------------ + ELEMENTAL FUNCTION NINT_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN):: u + INTEGER::res + + res=NINT(u%x_ad_) + + END FUNCTION NINT_D + + + + !---------------------------------------------------------------- + ! SIGN(a,b) with two dual numbers as inputs, + ! the result will be |a| if b%x>=0, -|a| if b%x<0,ELEMENTAL + !---------------------------------------------------------------- + ELEMENTAL FUNCTION SIGN_DD(val1, val2) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN) :: val1, val2 + TYPE (DUAL_NUM)::res + + IF (val2%x_ad_ < 0.D0) THEN + res = -ABS(val1) + ELSE + res = ABS(val1) + ENDIF + + END FUNCTION SIGN_DD + + + !---------------------------------------------------------------- + ! SIGN(a,b) with one real and one dual number as inputs, + ! the result will be |a| if b%x>=0, -|a| if b%x<0,ELEMENTAL + !---------------------------------------------------------------- + ELEMENTAL FUNCTION SIGN_RD(val1, val2) RESULT(res) + REAL(DBL_AD),INTENT(IN)::val1 + TYPE (DUAL_NUM), INTENT(IN) :: val2 + TYPE (DUAL_NUM)::res + + IF (val2%x_ad_ < 0.D0) THEN + res = -ABS(val1) + ELSE + res = ABS(val1) + ENDIF + + END FUNCTION SIGN_RD + + + !----------------------------------------- + ! SIN of dual numbers + ! SIN= + !---------------------------------------- + ELEMENTAL FUNCTION SIN_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + TYPE (DUAL_NUM)::res + REAL (DBL_AD):: tmp + + res%x_ad_ = SIN(u%x_ad_) + tmp=COS(u%x_ad_) + res%xp_ad_= u%xp_ad_*tmp + + END FUNCTION SIN_D + + + !----------------------------------------- + ! SQRT of dual numbers + ! SQRT= + !---------------------------------------- + ELEMENTAL FUNCTION SQRT_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u + REAL(DBL_AD):: tmp + TYPE (DUAL_NUM)::res + + tmp=SQRT(u%x_ad_) + + res%x_ad_ = tmp + IF(tmp==0.0d0) THEN + res%xp_ad_=Set_NaN() + ELSE + tmp= 0.5D0/tmp + res%xp_ad_= u%xp_ad_*tmp + ENDIF + END FUNCTION SQRT_D + + + + !----------------------------------------- + ! SUM OF A DUAL ARRAY + !---------------------------------------- + FUNCTION SUM_D(u) RESULT(res) + TYPE (DUAL_NUM), INTENT(IN)::u(:) + TYPE (DUAL_NUM)::res + INTEGER:: i + + res%x_ad_ = SUM(u%x_ad_) + DO i=1,NDV_AD + res%xp_ad_(i)= SUM(u%xp_ad_(i)) + ENDDO + END FUNCTION SUM_D + +ELEMENTAL FUNCTION Set_NaN() RESULT(res) + REAL(DBL_AD)::res + + res=SQRT(negative_one) + + END FUNCTION Set_NaN + + + +END MODULE Dual_Num_Auto_Diff + + diff --git a/src/int_recom/recom/DNADHeaders.h b/src/int_recom/recom/DNADHeaders.h new file mode 100755 index 000000000..9d965835d --- /dev/null +++ b/src/int_recom/recom/DNADHeaders.h @@ -0,0 +1,305 @@ +!****************************************************************************** +!* Dual Number Automatic Differentiation (DNAD) of Fortran Codes +!* ------------------------------------------------------------- +!* COPYRIGHT (c) Wenbin Yu, All rights reserved, you are free to copy, +!* modify or translate this code to other languages such as c/c++. If +!* you find a bug please let me know through wenbinyu.heaven@gmail.com. If +!* you added new functions and want to share with others, please let me know too. +!* You are welcome to share your successful stories with us through +!* http://groups.google.com/group/hifi-comp. +!****************************************************************************** +!* Simple Instruction: +!*--------------------- +!* This is the header file: define the interface needed for overloading intrinsic +!* functions and operators. This file should put in the same folder as dnad.f90. +!* If a function or operation is not defined (unlikely), you need to create a +!* corresponding interface in this file (DNADHeaders.f90) and a corresponding +!* function/subroutine in DNAD.f90. +!********************************************************************************* +!* Acknowledgements +!---------------------- +!* The development of DNAD is supported, in part, by the Chief Scientist +!* Innovative Research Fund at AFRL/RB WPAFB, and by Department of Army +!* SBIR (Topic A08-022) through Advanced Dynamics Inc. The views and +!* conclusions contained herein are those of the authors and should not be +!* interpreted as necessarily representing the official policies or endorsement, +!* either expressed or implied, of the funding agency. +!********************************************************************************* + +!******** Interfaces for operator overloading + PUBLIC ASSIGNMENT (=) + INTERFACE ASSIGNMENT (=) + MODULE PROCEDURE ASSIGN_DI ! dual=integer, ELEMENTAL + MODULE PROCEDURE ASSIGN_DR ! dual=real, ELEMENTAL + MODULE PROCEDURE ASSIGN_DS ! dual=integer, ELEMENTAL + MODULE PROCEDURE ASSIGN_ID ! integer=dual, ELEMENTAL + +!It is found out that compilers will know how to assign a scalar to vectors and matrices +!if the assignment is defined for assigning a scalar to a dual number. Hence it +!is unnecessary to define such assignment overloadings. + + END INTERFACE + + + PUBLIC OPERATOR (+) + INTERFACE OPERATOR (+) + MODULE PROCEDURE ADD_D ! +dual number, ELEMENTAL + MODULE PROCEDURE ADD_DD ! dual+ dual, ELEMENTAL + MODULE PROCEDURE ADD_DI ! dual+ integer, ELEMENTAL + MODULE PROCEDURE ADD_DR ! dual+ real, ELEMENTAL + MODULE PROCEDURE ADD_DS ! dual+ single, ELEMENTAL + MODULE PROCEDURE ADD_ID ! integer+dual, ELEMENTAL + MODULE PROCEDURE ADD_RD ! real+ dual, ELEMENTAL + MODULE PROCEDURE ADD_SD ! single+dual, ELEMENTAL +!It is found out that these overloads also cover the cases when one of the operand is a matrix or vector. +!Of course, if both operands are vectors or matrices, they should be of the same shape + END INTERFACE + + PUBLIC OPERATOR (-) + INTERFACE OPERATOR (-) + MODULE PROCEDURE MINUS_D ! negate a dual number,ELEMENTAL + MODULE PROCEDURE MINUS_DD ! dual -dual,ELEMENTAL + MODULE PROCEDURE MINUS_DI ! dual-integer,ELEMENTAL + MODULE PROCEDURE MINUS_DR ! dual-real,ELEMENTAL + MODULE PROCEDURE MINUS_DS ! dual-single,ELEMENTAL + MODULE PROCEDURE MINUS_ID ! integer-dual,ELEMENTAL + MODULE PROCEDURE MINUS_RD ! real-dual,ELEMENTAL + MODULE PROCEDURE MINUS_SD ! single-dual,ELEMENTAL +!It is found out that these overloads also cover the cases when one of the operand is a matrix or vector. +!Of course, if both operands are vectors or matrices, they should be of the same shape + END INTERFACE + + PUBLIC OPERATOR (*) + INTERFACE OPERATOR (*) + MODULE PROCEDURE MULT_DD ! dual*dual, ELEMENTAL + MODULE PROCEDURE MULT_DI ! dual*integer,ELEMENTAL + MODULE PROCEDURE MULT_DR ! dual*real,ELEMENTAL + MODULE PROCEDURE MULT_DS ! dual*single,ELEMENTAL + MODULE PROCEDURE MULT_ID ! integer*dual,ELEMENTAL + MODULE PROCEDURE MULT_RD ! real*dual,ELEMENTAL + MODULE PROCEDURE MULT_SD ! single*dual,ELEMENTAL +!It is found out that these overloads also cover the cases when one of the operand is a matrix or vector. +!Of course, if both operands are vectors or matrices, they should be of the same shape + END INTERFACE + + PUBLIC OPERATOR (/) + INTERFACE OPERATOR (/) + MODULE PROCEDURE DIV_DD ! dual/dual,ELEMENTAL + MODULE PROCEDURE DIV_DI ! dual/integer, ELEMENTAL + MODULE PROCEDURE DIV_DR ! dual/real,EMENTAL + MODULE PROCEDURE DIV_DS ! dual/single,EMENTAL + MODULE PROCEDURE DIV_ID ! integer/dual, ELEMENTAL + MODULE PROCEDURE DIV_RD ! real/dual, ELEMENTAL + MODULE PROCEDURE DIV_SD ! single/dual, ELEMENTAL + END INTERFACE + + PUBLIC OPERATOR (**) + INTERFACE OPERATOR (**) + MODULE PROCEDURE POW_I ! power a dual number to an integer power,ELEMENTAL + MODULE PROCEDURE POW_R ! power a dual number to a real (double precision) power, ELEMENTAL + MODULE PROCEDURE POW_S ! power a dual number to a real (single precision) power, ELEMENTAL + MODULE PROCEDURE POW_D ! power a dual number to a dual power, ELEMENTAL + END INTERFACE + + PUBLIC OPERATOR (==) + INTERFACE OPERATOR (==) + MODULE PROCEDURE EQ_DD ! compare two dual numbers, ELEMENTAL + MODULE PROCEDURE EQ_DI ! compare a dual and an integer, ELEMENTAL + MODULE PROCEDURE EQ_DR ! compare a dual and a real, ELEMENTAL + MODULE PROCEDURE EQ_DS ! compare a dual and a single, ELEMENTAL + MODULE PROCEDURE EQ_ID ! compare an integer with a dual number, ELEMENTAL + MODULE PROCEDURE EQ_RD ! compare a real with a dual number, ELEMENTAL + MODULE PROCEDURE EQ_SD ! compare a single with a dual number, ELEMENTAL + END INTERFACE + + PUBLIC OPERATOR (<=) + INTERFACE OPERATOR (<=) + MODULE PROCEDURE LE_DD ! compare two dual numbers, ELEMENTAL + MODULE PROCEDURE LE_DI ! compare a dual and an integer, ELEMENTAL + MODULE PROCEDURE LE_DR ! compare a dual and a real,ELEMENTAL + MODULE PROCEDURE LE_DS ! compare a dual and a single,ELEMENTAL + MODULE PROCEDURE LE_ID ! compare an integer with a dual number, ELEMENTAL + MODULE PROCEDURE LE_RD ! compare a real with a dual number, ELEMENTAL + MODULE PROCEDURE LE_SD ! compare a single with a dual number, ELEMENTAL + END INTERFACE + + PUBLIC OPERATOR (<) + INTERFACE OPERATOR (<) + MODULE PROCEDURE LT_DD !compare two dual numbers, ELEMENTAL + MODULE PROCEDURE LT_DI !compare a dual and an integer, ELEMENTAL + MODULE PROCEDURE LT_DR !compare dual with a real, ELEMENTAL + MODULE PROCEDURE LT_DS ! compare and a single + MODULE PROCEDURE LT_ID ! compare an integer with a dual number, ELEMENTAL + MODULE PROCEDURE LT_RD ! compare a real with a dual number, ELEMENTAL + MODULE PROCEDURE LT_SD ! compare a single with a dual number, ELEMENTAL + END INTERFACE + + PUBLIC OPERATOR (>=) + INTERFACE OPERATOR (>=) + MODULE PROCEDURE GE_DD ! compare two dual numbers, ELEMENTAL + MODULE PROCEDURE GE_DI ! compare dual with integer, ELEMENTAL + MODULE PROCEDURE GE_DR ! compare a dual number with a real number, ELEMENTAL + MODULE PROCEDURE GE_DS ! compare dual with a single, ELEMENTAL + MODULE PROCEDURE GE_ID ! compare an integer with a dual number, ELEMENTAL + MODULE PROCEDURE GE_RD ! compare a real with a dual number, ELEMENTAL + MODULE PROCEDURE GE_SD ! compare a single with a dual number, ELEMENTAL + END INTERFACE + + PUBLIC OPERATOR (>) + INTERFACE OPERATOR (>) + MODULE PROCEDURE GT_DD !compare two dual numbers, ELEMENTAL + MODULE PROCEDURE GT_DI !compare a dual and an integer, ELEMENTAL + MODULE PROCEDURE GT_DR !compare dual with a real, ELEMENTAL + MODULE PROCEDURE GT_DS ! compare and a single + MODULE PROCEDURE GT_ID ! compare an integer with a dual number, ELEMENTAL + MODULE PROCEDURE GT_RD ! compare a real with a dual number, ELEMENTAL + MODULE PROCEDURE GT_SD ! compare a single with a dual number, ELEMENTAL + END INTERFACE + + PUBLIC OPERATOR (/=) + INTERFACE OPERATOR (/=) + MODULE PROCEDURE NE_DD !compare two dual numbers, ELEMENTAL + MODULE PROCEDURE NE_DI !compare a dual and an integer, ELEMENTAL + MODULE PROCEDURE NE_DR !compare dual with a real, ELEMENTAL + MODULE PROCEDURE NE_DS ! compare and a single + MODULE PROCEDURE NE_ID ! compare an integer with a dual number, ELEMENTAL + MODULE PROCEDURE NE_RD ! compare a real with a dual number, ELEMENTAL + MODULE PROCEDURE NE_SD ! compare a single with a dual number, ELEMENTAL + END INTERFACE + + +!------------------------------------------------ +! Interfaces for intrinsic functions overloading +!------------------------------------------------ + PUBLIC ABS + INTERFACE ABS + MODULE PROCEDURE ABS_D ! obtain the absolute value of a dual number, ELEMENTAL + END INTERFACE + + PUBLIC DABS + INTERFACE DABS + MODULE PROCEDURE ABS_D ! the same as ABS, used for some old fortran commands + END INTERFACE + + PUBLIC ACOS + INTERFACE ACOS + MODULE PROCEDURE ACOS_D ! obtain the arccosine of a dual number, ELEMENTAL + END INTERFACE + + PUBLIC ASIN + INTERFACE ASIN + MODULE PROCEDURE ASIN_D ! obtain the arcsine of a dual number, ELEMENTAL + END INTERFACE + + PUBLIC COS + INTERFACE COS + MODULE PROCEDURE COS_D ! obtain the cosine of a dual number, ELEMENTAL + END INTERFACE + + PUBLIC DCOS + INTERFACE DCOS + MODULE PROCEDURE COS_D ! obtain the cosine of a dual number, ELEMENTAL + END INTERFACE + + + PUBLIC DOT_PRODUCT + INTERFACE DOT_PRODUCT + MODULE PROCEDURE DOT_PRODUCT_DD ! dot product two dual number vectors + END INTERFACE + + PUBLIC EXP + INTERFACE EXP + MODULE PROCEDURE EXP_D ! obtain the exponential of a dual number, ELEMENTAL + END INTERFACE + + + PUBLIC INT + INTERFACE INT + MODULE PROCEDURE INT_D ! obtain the integer part of a dual number, ELEMENTAL + END INTERFACE + + PUBLIC LOG + INTERFACE LOG + MODULE PROCEDURE LOG_D ! obtain the log of a dual number, ELEMENTAL + END INTERFACE + + PUBLIC LOG10 + INTERFACE LOG10 + MODULE PROCEDURE LOG10_D ! obtain the log of a dual number, ELEMENTAL + END INTERFACE + + PUBLIC MATMUL + INTERFACE MATMUL + MODULE PROCEDURE MATMUL_DD ! matrix multiplies of two dual matrices + MODULE PROCEDURE MATMUL_DV ! matrix multiplies of a dual matrix with a dual vector + MODULE PROCEDURE MATMUL_VD ! matrix multiplies of a dual vector with a dual matrix + END INTERFACE + + + PUBLIC MAX + INTERFACE MAX + MODULE PROCEDURE MAX_DD ! obtain the max of from two to four dual numbers, ELEMENTAL + MODULE PROCEDURE MAX_DI ! obtain the max of from a dual number and an integer, ELEMENTAL + MODULE PROCEDURE MAX_DR ! obtain the max of from a dual number and a real, ELEMENTAL + MODULE PROCEDURE MAX_DS ! obtain the max of from a dual number and a real in single precision, ELEMENTAL + MODULE PROCEDURE MAX_RD ! obtain the max of from a real,and a dual number, ELEMENTAL + END INTERFACE + + PUBLIC DMAX1 + INTERFACE DMAX1 + MODULE PROCEDURE MAX_DD ! obtain the max of from two to four dual numbers, ELEMENTAL + END INTERFACE + + PUBLIC MAXVAL + INTERFACE MAXVAL + MODULE PROCEDURE MAXVAL_D ! obtain the maxval of a dual number vectgor + END INTERFACE + + PUBLIC MIN + INTERFACE MIN + MODULE PROCEDURE MIN_DD ! obtain the min of from two to four dual numbers, ELEMENTAL + MODULE PROCEDURE MIN_DR ! obtain the min of a dual and a real, ELEMENTAL + MODULE PROCEDURE MIN_DS ! obtain the min of a dual and a single, ELEMENTAL + END INTERFACE + + PUBLIC DMIN1 + INTERFACE DMIN1 + MODULE PROCEDURE MIN_DD ! obtain the min of from two to four dual numbers, ELEMENTAL + END INTERFACE + + PUBLIC MINVAL + INTERFACE MINVAL + MODULE PROCEDURE MINVAL_D ! obtain the maxval of a dual number vectgor + END INTERFACE + + PUBLIC NINT + INTERFACE NINT + MODULE PROCEDURE NINT_D ! Returns the nearest integer to the argument, ELEMENTAL + END INTERFACE + + PUBLIC SIGN + INTERFACE SIGN + MODULE PROCEDURE SIGN_DD ! SIGN(a,b) with two dual numbers as inputs, the result will be |a| if b%x>=0, -|a| if b%x<0,ELEMENTAL + MODULE PROCEDURE SIGN_RD ! SIGN(a,b) with a real and a dual, the result will be |a| if b%x>=0, -|a| if b%x<0,ELEMENTAL + END INTERFACE + + PUBLIC SIN + INTERFACE SIN + MODULE PROCEDURE SIN_D ! obtain sine of a dual number, ELEMENTAL + END INTERFACE + + PUBLIC DSIN + INTERFACE DSIN + MODULE PROCEDURE SIN_D ! obtain sine of a dual number, ELEMENTAL + END INTERFACE + + PUBLIC SQRT + INTERFACE SQRT + MODULE PROCEDURE SQRT_D ! obtain the sqrt of a dual number, ELEMENTAL + END INTERFACE + + PUBLIC SUM + INTERFACE SUM + MODULE PROCEDURE SUM_D ! sum a dual array + END INTERFACE + diff --git a/src/int_recom/recom/buffesm.F90 b/src/int_recom/recom/buffesm.F90 new file mode 100755 index 000000000..a9dd99046 --- /dev/null +++ b/src/int_recom/recom/buffesm.F90 @@ -0,0 +1,431 @@ +!> \file buffesm2.f90 +!! \BRIEF +!> Module with buffesm subroutine - compute carbonate system vars from DIC,Alk,T,S,P,nuts +MODULE mbuffesm +CONTAINS +!> Computes buffer factors of the seawater carbonate system as defined by Egleston et al. (2010) +!! (corrected for sign error & modified to account for effects of total dissolved inorganic P and Si acid systems) +!! as 1D arrays FROM +!! temperature, salinity, pressure, +!! total alkalinity (ALK), dissolved inorganic carbon (DIC), +!! silica and phosphate concentrations (all 1-D arrays) +SUBROUTINE buffesm(gammaDIC, betaDIC, omegaDIC, gammaALK, betaALK, omegaALK, Rf, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, & + optCON, optT, optP, optB, optK1K2, optKf, optGAS, optS, lon ) + + ! Purpose: + ! Computes buffer factors for seawater carbonate system as defined by Egleston et al. (2010), corrected & modified, + ! as 1D arrays + ! FROM: + ! temperature, salinity, pressure, + ! total alkalinity (ALK), dissolved inorganic carbon (DIC), + ! silica and phosphate concentrations (also, all 1-D arrays) + + ! INPUT variables: + ! ================ + ! Patm = atmospheric pressure [atm] + ! depth = depth [m] (with optP='m', i.e., for a z-coordinate model vertical grid is depth, not pressure) + ! = pressure [db] (with optP='db') + ! lat = latitude [degrees] (needed to convert depth to pressure, i.e., when optP='m') + ! = dummy array (unused when optP='db') + ! temp = potential temperature [degrees C] (with optT='Tpot', i.e., models carry tempot, not in situ temp) + ! = in situ temperature [degrees C] (with optT='Tinsitu', e.g., for data) + ! sal = practical [psu] or absolute [g/kg] salinity + ! alk = total alkalinity in [eq/m^3] with optCON = 'mol/m3' + ! = [eq/kg] with optCON = 'mol/kg' + ! dic = dissolved inorganic carbon [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! sil = silica [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! phos = phosphate [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! INPUT options: + ! ============== + ! ----------- + ! optCON: choose input & output concentration units - mol/kg (data) vs. mol/m^3 (models) + ! ----------- + ! -> 'mol/kg' for DIC, ALK, sil, & phos given on mokal scale, i.e., in mol/kg (std DATA units) + ! -> 'mol/m3' for DIC, ALK, sil, & phos given in mol/m^3 (std MODEL units) + ! ----------- + ! optT: choose in situ vs. potential temperature as input + ! --------- + ! NOTE: Carbonate chem calculations require IN-SITU temperature (not potential Temperature) + ! -> 'Tpot' means input is pot. Temperature (in situ Temp "tempis" is computed) + ! -> 'Tcsv' means input is Conservative Temperature (in situ Temp "tempis" is computed) + ! -> 'Tinsitu' means input is already in-situ Temperature, not pot. Temp ("tempis" not computed) + ! --------- + ! optP: choose depth (m) vs pressure (db) as input + ! --------- + ! -> 'm' means "depth" input is in "m" (thus in situ Pressure "p" [db] is computed) + ! -> 'db' means "depth" input is already in situ pressure [db], not m (thus p = depth) + ! --------- + ! optB: choose total boron formulation - Uppström (1974) vs. Lee et al. (2010) + ! --------- + ! -> 'u74' means use classic formulation of Uppström (1974) for total Boron + ! -> 'l10' means use newer formulation of Lee et al. (2010) for total Boron + ! --------- + ! optK1K2: + ! --------- + ! -> 'l' means use Lueker et al. (2000) formulations for K1 & K2 (recommended by Dickson et al. 2007) + ! **** BUT this should only be used when 2 < T < 35 and 19 < S < 43 + ! -> 'm10' means use Millero (2010) formulation for K1 & K2 (see Dickson et al., 2007) + ! **** Valid for 0 < T < 50°C and 1 < S < 50 psu + ! ---------- + ! optKf: + ! ---------- + ! -> 'pf' means use Perez & Fraga (1987) formulation for Kf (recommended by Dickson et al., 2007) + ! **** BUT Valid for 9 < T < 33°C and 10 < S < 40. + ! -> 'dg' means use Dickson & Riley (1979) formulation for Kf (recommended by Dickson & Goyet, 1994) + ! ----------- + ! optGAS: choose in situ vs. potential fCO2 and pCO2 + ! --------- + ! PRESSURE corrections for K0 and the fugacity coefficient (Cf) + ! -> 'Pzero' = 'zero order' fCO2 and pCO2 (typical approach, which is flawed) + ! considers in situ T & only atm pressure (hydrostatic=0) + ! -> 'Ppot' = 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + ! considers potential T & only atm pressure (hydrostatic press = 0) + ! -> 'Pinsitu' = 'in situ' fCO2 and pCO2 (accounts for huge effects of pressure) + ! considers in situ T & total pressure (atm + hydrostatic) + ! ---------- + ! optS: choose practical [psu] or absolute [g/kg] salinity as input + ! ---------- + ! -> 'Sprc' means input is practical salinity according to EOS-80 convention + ! -> 'Sabs' means input is absolute salinity according to TEOS-10 convention (practical sal. will be computed) + ! --------- + ! lon: longitude in degrees East + ! ---------- + ! Optional, it may be used along with latitude when optS is "Sabs". + ! Then, they are parameters for conversion from Absolute to Practical Salinity. + ! + ! When seawater is not of standard composition, Practical Salinity alone is not sufficient + ! to compute Absolute Salinity and vice-versa. One needs to know the chemical composition, + ! mainly silicate and nitrate concentration. When those concentrations are unknown and 'lon' and 'lat' + ! are given, absolute salinity conversion is based on WOA silicate concentration at given location. + ! + ! Alternative when optS is 'Sabs' : + ! ------------------------------- + ! When silicate and phosphate concentrations are known, nitrate concentration is inferred from phosphate + ! (using Redfield ratio), then practical salinity is computed from absolute salinity, + ! total alcalinity (alk), DIC (dic), silicate (sil) and phosphate (phos). + ! In that case, do not pass optional parameter 'lon'. + ! + ! When neither chemical composition nor location are known, an arbitrary geographic point is chosen: + ! mid equatorial Atlantic. Note that this implies an error on computed practical salinity up to 0.02 psu. + ! In that case, do pass parameter 'lon' and set each of its elements to 1.e20. + ! --------- + + ! OUTPUT variables: + ! ================= + ! gammaDIC = (d ln CO2 / dDIC)^-1 + ! in units of [mol/kg] or [mol/m^3] depending on optCON + ! betaDIC = (d ln H+ / dDIC)^-1 + ! in units of [mol/kg] or [mol/m^3] depending on optCON + ! omegaDIC = (d ln Omega / dDIC)^-1 + ! in units of [mol/kg] or [mol/m^3] depending on optCON + ! gammaALK = (d ln CO2 / dAlk)^-1 + ! in units of [mol/kg] or [mol/m^3] depending on optCON + ! betaALK = (d ln H+ / dAlk)^-1 + ! in units of [mol/kg] or [mol/m^3] depending on optCON + ! omegaALK = (d ln Omega / dAlk)^-1 + ! Rf = dpCO2/pCO2 / dDIC/DIC (i.e., the Revelle factor, unitless) + + + USE msingledouble + USE mconstants + USE mvars + + IMPLICIT NONE + +! Input variables + !> number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> either in situ temperature (when optT='Tinsitu', typical data) + !! OR potential temperature (when optT='Tpot', typical models) [degree C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sal + !> total alkalinity in [eq/m^3] (when optCON = 'mol/m3') OR in [eq/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: alk + !> dissolved inorganic carbon in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: dic + !> SiO2 concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sil + !> phosphate concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: phos + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm + !> depth in \b meters (when optP='m') or \b decibars (when optP='db') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: depth + !> latitude [degrees north] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: lat + + !> choose either \b 'mol/kg' (std DATA units) or \b 'mol/m3' (std MODEL units) to select + !! concentration units for input (for alk, dic, sil, phos) & output (co2, hco3, co3) + CHARACTER(6), INTENT(in) :: optCON + !> choose \b 'Tinsitu' for in situ temperature or \b 'Tpot' for potential temperature + !> \b 'Tcsv" for conservative temperature (in two last cases, in-situ Temp is computed, needed for models) + CHARACTER(7), INTENT(in) :: optT + !> for depth input, choose \b "db" for decibars (in situ pressure) or \b "m" for meters (pressure is computed, needed for models) + CHARACTER(2), INTENT(in) :: optP + !> for total boron, choose either \b 'u74' (Uppstrom, 1974) or \b 'l10' (Lee et al., 2010). + !! The 'l10' formulation is based on 139 measurements (instead of 20), + !! uses a more accurate method, and + !! generally increases total boron in seawater by 4% +!f2py character*3 optional, intent(in) :: optB='u74' + CHARACTER(3), OPTIONAL, INTENT(in) :: optB + !> for Kf, choose either \b 'pf' (Perez & Fraga, 1987) or \b 'dg' (Dickson & Riley, 1979) +!f2py character*2 optional, intent(in) :: optKf='pf' + CHARACTER(2), OPTIONAL, INTENT(in) :: optKf + !> for K1,K2 choose either \b 'l' (Lueker et al., 2000) or \b 'm10' (Millero, 2010) +!f2py character*3 optional, intent(in) :: optK1K2='l' + CHARACTER(3), OPTIONAL, INTENT(in) :: optK1K2 + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(7), OPTIONAL, INTENT(in) :: optGAS + !> choose \b 'Sprc' for practical sal. (EOS-80, default) or \b 'Sabs' for absolute salinity (TEOS-10) +!f2py character*4 optional, intent(in) :: optS='Sprc' + CHARACTER(4), OPTIONAL, INTENT(in) :: optS + !> longitude [degrees east] +!f2py real(8) optional, intent(in), dimension(n) :: lon = -25. + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon + +! Output variables: +! ----------------- + !> (d ln CO2 / dDIC)^-1 + REAL(kind=rx), INTENT(out), DIMENSION(N) :: gammaDIC + !> (d ln H+ / dDIC)^-1 + REAL(kind=rx), INTENT(out), DIMENSION(N) :: betaDIC + !> (d ln Omega / dDIC)^-1 + REAL(kind=rx), INTENT(out), DIMENSION(N) :: omegaDIC + !> aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + !> (d ln CO2 / dAlk)^-1 + REAL(kind=rx), INTENT(out), DIMENSION(N) :: gammaALK + !> (d ln H+ / dAlk)^-1 + REAL(kind=rx), INTENT(out), DIMENSION(N) :: betaALK + !> (d ln Omega / dAlk)^-1 + REAL(kind=rx), INTENT(out), DIMENSION(N) :: omegaALK + !> Revelle factor, i.e., dpCO2/pCO2 / dDIC/DIC + REAL(kind=rx), INTENT(out), DIMENSION(N) :: Rf + +! Local variables +! ----------------- + ! 1) Output from constants.f90: + REAL(kind=r8), DIMENSION(N) :: K0 + REAL(kind=r8), DIMENSION(N) :: K1 + REAL(kind=r8), DIMENSION(N) :: K2 + REAL(kind=r8), DIMENSION(N) :: Kb + REAL(kind=r8), DIMENSION(N) :: Kw + REAL(kind=r8), DIMENSION(N) :: Ks + REAL(kind=r8), DIMENSION(N) :: Kf + REAL(kind=r8), DIMENSION(N) :: Kspc + REAL(kind=r8), DIMENSION(N) :: Kspa + REAL(kind=r8), DIMENSION(N) :: K1p + REAL(kind=r8), DIMENSION(N) :: K2p + REAL(kind=r8), DIMENSION(N) :: K3p + REAL(kind=r8), DIMENSION(N) :: Ksi + REAL(kind=r8), DIMENSION(N) :: St + REAL(kind=r8), DIMENSION(N) :: Ft + REAL(kind=r8), DIMENSION(N) :: Bt + + ! 2) Output from vars.f90: + REAL(kind=rx), DIMENSION(N) :: ph + REAL(kind=rx), DIMENSION(N) :: pco2 + REAL(kind=rx), DIMENSION(N) :: fco2 + REAL(kind=rx), DIMENSION(N) :: co2 + REAL(kind=rx), DIMENSION(N) :: hco3 + REAL(kind=rx), DIMENSION(N) :: co3 + REAL(kind=rx), DIMENSION(N) :: OmegaA + REAL(kind=rx), DIMENSION(N) :: OmegaC + REAL(kind=rx), DIMENSION(N) :: kspc_out ! NEW + REAL(kind=rx), DIMENSION(N) :: BetaD + REAL(kind=rx), DIMENSION(N) :: rhoSW + REAL(kind=rx), DIMENSION(N) :: p + REAL(kind=rx), DIMENSION(N) :: tempis + ! practical salinity [psu] computed when absolute saliniry is given + REAL(kind=rx), DIMENSION(N) :: salprac + + ! 3) Other Local variables (needed to compute buffer factors) + REAL(kind=r8) :: Alkc, Borate, h, oh + REAL(kind=r8) :: h3po4, h2po4, hpo4, po4 + REAL(kind=r8) :: sioh4, sioh3 + REAL(kind=r8) :: Pt, Sit + REAL(kind=r8) :: Pegle, Segle, Qegle + REAL(kind=r8) :: SegleCBW, SeglePt, SegleSit + + INTEGER :: i +! Arrays to pass optional arguments into or use defaults (Dickson et al., 2007) + CHARACTER(3) :: opB + CHARACTER(2) :: opKf + CHARACTER(3) :: opK1K2 + CHARACTER(7) :: opGAS + CHARACTER(4) :: opS + LOGICAL :: verbosity + +! Set defaults for optional arguments (in Fortran 90) +! Note: Optional arguments with f2py (python) are set above with +! the !f2py statements that precede each type declaraion + IF (PRESENT(optB)) THEN + opB = optB + ELSE +! Default is Uppstrom (1974) for total boron + opB = 'u74' + ENDIF + IF (PRESENT(optKf)) THEN + opKf = optKf + ELSE +! Default is Perez & Fraga (1987) for Kf + opKf = 'pf' + ENDIF + IF (PRESENT(optK1K2)) THEN + opK1K2 = optK1K2 + ELSE +! Default is Lueker et al. (2000) for K1 & K2 + opK1K2 = 'l' + ENDIF + IF (PRESENT(optGAS)) THEN + opGAS = optGAS + ELSE + opGAS = 'Pinsitu' + ENDIF + IF (PRESENT(optS)) THEN + opS = optS + ELSE + opS = 'Sprc' + ENDIF + + print *, 'Calling vars_sprac' +! Compute carbonate system variables from DIC, ALK, T, S, nutrients, etc +! ------------------------------------------------------------------------------------- + CALL vars_sprac(ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, kspc_out,BetaD, rhoSW, p, tempis, & ! NEW: added kspc_out + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, opS, lon, salprac ) + + IF (trim(opS) == 'Sprc') THEN + salprac = sal + ENDIF + +! Get equilibrium constants and total concentrations of SO4, F, B +! ------------------------------------------------------------------ + CALL constants(K0, K1, K2, Kb, Kw, Ks, Kf, Kspc, Kspa, & + K1p, K2p, K3p, Ksi, & + St, Ft, Bt, & + temp, salprac, Patm, & + depth, lat, N, & + optT, optP, opB, opK1K2, opKf, opGAS, opS, lon ) + +! Compute buffer factors +! ---------------------- + DO i=1,N + IF (ph(i) .EQ. 1.e20_rx) THEN + ! Missing input data, thus mask values + gammaDIC(i) = 1.e20_rx + betaDIC(i) = 1.e20_rx + omegaDIC(i) = 1.e20_rx + gammaALK(i) = 1.e20_rx + betaALK(i) = 1.e20_rx + omegaALK(i) = 1.e20_rx + Rf(i) = 1.e20_rx + ELSE + ! Compute buffer factors + + ! Total concentrations + Pt = phos(i) + Sit = sil(i) + + ! Carbonate alkalinity & concentrations of H+, OH-, Borate + h = 10**(-ph(i)) !Total scale + Alkc = 2*co3(i) + hco3(i) + Borate = Bt(i) / (1 + h/Kb(i) ) + oh = Kw(i) / h + + ! Phosphate species + ! [h2po4-] = K1p * [h3po4] / [H+] + ! [hpo4--] = K1p * K2p * [h3po4] / [H+]² + ! [po4---] = K1p * K2p * K3p * [h3po4] / [H+]³ + ! Pt = [h3po4] * (1 + K1p/[H+] + K1p*K2p/[H+]² + K1p*K2p*K3p/[H+]³) + + h3po4 = Pt / (1 + K1p(i)/h + K1p(i)*K2p(i)/h**2 + K1p(i)*K2p(i)*K3p(i)/h**3) + h2po4 = K1p(i) * h3po4 / h + hpo4 = K2p(i) * h2po4 / h + po4 = K3p(i) * hpo4 / h + + ! Silicate + ! [SiO(OH)3-] = Ksi * [Si(OH)4] / [H+] + ! Sit = [Si(OH)4] * (1 + Ksi / [H+]) + + sioh4 = Sit /(1 + Ksi(i)/h) + sioh3 = Ksi(i) * Sit/(h+Ksi(i)) + + !Segle: (1) corrected from sign error in Egleston et al., and (2) modified to account for P & Si acid systems + !------------------------------------------------------------------------------------------------------------ + !Segle = hco3(i) + 4*co3(i) + (h*Borate/(Kb(i) + h)) + h + oh !Formula from Egleston et al (2010) with corrected sign error + !Egleston et al ignore P & Si acid systems! + !REMEDY: + !Separate Segle into 3 parts: + ! SegleCBW: contribution of C, B, and water systems (only part accounted for by Egleston et al.) + ! SeglePt: contribution of total phosphate (from J.-M. Epitalon) + ! SegleSit: contribution of total silicon (from J.-M. Epitalon) + +! Segle = hco3(i) + 4*co3(i) + (h*Borate/(Kb(i) + h)) + h + oh & +! + (- h3po4 * (-h2po4 - 2*hpo4 - 3*po4) & +! + hpo4 * (2*h3po4 + h2po4 - po4) & +! + 2*po4 * (3*h3po4 + 2*h2po4 + hpo4) & +! ) / Pt & +! + h * sioh3/(Ksi(i) + h) & +! ) + + ! Part 1: Carbon, Boron, Water + SegleCBW = hco3(i) + 4*co3(i) + (h*Borate/(Kb(i) + h)) + h + oh + + ! Part 2: Phosphorus + IF (Pt .eq. 0.0d0) THEN + SeglePt = 0.0 + ELSE + SeglePt = (- h3po4 * (-h2po4 - 2*hpo4 - 3*po4) & + + hpo4 * (2*h3po4 + h2po4 - po4) & + + 2*po4 * (3*h3po4 + 2*h2po4 + hpo4) & + ) / Pt + ENDIF + + ! Part 3: Silicon + IF (Sit .EQ. 0.0d0) THEN + SegleSit = 0.0 + ELSE + SegleSit = h * sioh3/(Ksi(i) + h) + ENDIF + +! Add the 3 parts of Segle + Segle = SegleCBW + SeglePt + SegleSit + + !print *, 'hco3, co3, h, Borate, Kb, oh = ', hco3(i), co3(i), h, Borate, Kb(i), oh + !print *, 'h3po4, h2po4, hpo4, po4 =', h3po4, h2po4, hpo4, po4 + !print *, 'Pt = ', Pt + !print *, 'sioh3, Ksi =', sioh3, Ksi(i) + + Pegle = 2*co2(i) + hco3(i) + Qegle = 2*Alkc - Segle + + ! Compute 6 buffer factors: + !*** NOTE - units of buffer factors depend on optCON (mol/m3 OR mol/kg) + ! - to compare with Egleston, must convert to mmol/kg, e.g., multiply factor in mol/kg by 1000 + + gammaDIC(i) = dic(i) - (Alkc*Alkc)/Segle + gammaALK(i) = (Alkc*Alkc - dic(i)*Segle) / Alkc + betaDIC(i) = (dic(i)*Segle - Alkc*Alkc) / Alkc + betaALK(i) = Alkc*Alkc/dic(i) - Segle + omegaDIC(i) = dic(i) - (Alkc * Pegle/Qegle) + omegaALK(i) = Alkc - dic(i) * Qegle/Pegle + + Rf = dic(i) / gammaDIC + !print *, 'Segle, Pegle, Qegle = ', Segle, Pegle, Qegle + !print *, 'i, gammaDIC(i) = ', i, gammaDIC(i) + ENDIF + END DO + + RETURN +END SUBROUTINE buffesm +END MODULE mbuffesm diff --git a/src/int_recom/recom/constants.F90 b/src/int_recom/recom/constants.F90 new file mode 100755 index 000000000..e11310f8c --- /dev/null +++ b/src/int_recom/recom/constants.F90 @@ -0,0 +1,1421 @@ +!> \file constants.f90 +!! \BRIEF +!> Module with contants subroutine - computes carbonate system constants +!! from S,T,P +MODULE mconstants +CONTAINS +!> Compute thermodynamic constants +!! FROM temperature, salinity, and pressure (1D arrays) +SUBROUTINE constants(K0, K1, K2, Kb, Kw, Ks, Kf, Kspc, Kspa, & + K1p, K2p, K3p, Ksi, & + St, Ft, Bt, & + temp, sal, Patm, & + depth, lat, N, & + optT, optP, optB, optK1K2, optKf, optGAS, optS, lon ) + + ! Purpose: + ! Compute thermodynamic constants + ! FROM: temperature, salinity, and pressure (1D arrays) + + ! INPUT variables: + ! ================ + ! Patm = atmospheric pressure [atm] + ! depth = depth [m] (with optP='m', i.e., for a z-coordinate model vertical grid is depth, not pressure) + ! = pressure [db] (with optP='db') + ! lat = latitude [degrees] (needed to convert depth to pressure, i.e., when optP='m') + ! = dummy array (unused when optP='db') + ! temp = potential temperature [degrees C] (with optT='Tpot', i.e., models carry tempot, not temp) + ! = in situ temperature [degrees C] (with optT='Tinsitu', e.g., for data) + ! sal = salinity in [psu] + ! --------- + ! optT: choose in-situ, potential or conservative temperature as input + ! --------- + ! NOTE: Carbonate chem calculations require IN-SITU temperature (not potential Temperature) + ! -> 'Tpot' means input is pot. Temperature (in situ Temp is computed) + ! -> 'Tcsv' means input is Conservative Temperature (in situ Temp is computed) + ! -> 'Tinsitu' means input is already in-situ Temperature + ! --------- + ! optP: choose depth (m) vs pressure (db) as input + ! --------- + ! -> 'm' means "depth" input is in "m" (thus in situ Pressure "p" [db] is computed) + ! -> 'db' means "depth" input is already in situ pressure [db], not m (p = depth) + ! --------- + ! optB: + ! --------- + ! -> 'u74' means use classic formulation of Uppström (1974) for total Boron + ! -> 'l10' means use newer formulation of Lee et al. (2010) for total Boron + ! --------- + ! optK1K2: + ! --------- + ! -> 'l' means use Lueker et al. (2000) formulations for K1 & K2 (recommended by Dickson et al. 2007) + ! **** BUT this should only be used when 2 < T < 35 and 19 < S < 43 + ! -> 'm10' means use Millero (2010) formulation for K1 & K2 (see Dickson et al., 2007) + ! **** Valid for 0 < T < 50°C and 1 < S < 50 psu + ! -> 'w14' means use Waters (2014) formulation for K1 & K2 (see Dickson et al., 2007) + ! **** Valid for 0 < T < 50°C and 1 < S < 50 psu + ! ----------- + ! optKf: + ! ---------- + ! -> 'pf' means use Perez & Fraga (1987) formulation for Kf (recommended by Dickson et al., 2007) + ! **** BUT Valid for 9 < T < 33°C and 10 < S < 40. + ! -> 'dg' means use Dickson & Riley (1979) formulation for Kf (recommended by Dickson & Goyet, 1994) + ! ----------- + ! optGAS: choose in situ vs. potential fCO2 and pCO2 + ! --------- + ! PRESSURE corrections for K0 and the fugacity coefficient (Cf) + ! -> 'Pzero' = 'zero order' fCO2 and pCO2 (typical approach, which is flawed) + ! considers in situ T & only atm pressure (hydrostatic=0) + ! -> 'Ppot' = 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + ! considers potential T & only atm pressure (hydrostatic press = 0) + ! -> 'Pinsitu' = 'in situ' fCO2 and pCO2 (accounts for huge effects of pressure) + ! considers in situ T & total pressure (atm + hydrostatic) + ! --------- + ! optS: choose practical [psu] or absolute [g/kg] salinity as input + ! ---------- + ! -> 'Sprc' means input is practical salinity according to EOS-80 convention + ! -> 'Sabs' means input is absolute salinity according to TEOS-10 convention (practical sal. will be computed) + ! --------- + ! lon: longitude in degrees East + ! ---------- + ! Optional, it may be used along with latitude when optS is "Sabs" as conversion parameters + ! from Absolute to Practical Salinity. + ! + ! When seawater is not of standard composition, Practical Salinity alone is not sufficient + ! to compute Absolute Salinity and vice-versa. One needs to know the chemical composition, + ! mainly silicate and nitrate concentration. When parameters 'lon' and 'lat' are given, + ! absolute salinity conversion is based on WOA silicate concentration at given location. + ! + ! When 'lon' and 'lat' are unknown, an arbitrary geographic point is chosen: + ! which is mid equatorial Atlantic. Note that this implies an error on computed practical salinity up to 0.02 psu. + ! In that case, do not pass parameter 'lon' or set its elements to 1.e20. + ! --------- + + ! OUTPUT variables: + ! ================= + ! K0, K1, K2, Kb, Kw, Ks, Kf, Kspc, Kspa, K1p, K2p, K3p, Ksi + ! St, Ft, Bt + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + + USE msingledouble + USE mp80 + USE meos + USE gsw_mod_toolbox, only: gsw_t_from_ct + USE msw_temp + USE msw_ptmp + IMPLICIT NONE + +! Input variables + !> number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> in situ temperature (when optT='Tinsitu', typical data) + !! OR potential temperature (when optT='Tpot', typical models) [degree C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> depth in meters (when optP='m') or decibars (when optP='db') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: depth + !> latitude [degrees north] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: lat + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sal + + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm + + !> for temp input, choose \b 'Tinsitu' for in situ Temp or + !! \b 'Tpot' for potential temperature (in situ Temp is computed, needed for models) + CHARACTER(7), INTENT(in) :: optT + !> for depth input, choose \b "db" for decibars (in situ pressure) or \b "m" for meters (pressure is computed, needed for models) + CHARACTER(2), INTENT(in) :: optP + !> for total boron, choose either \b 'u74' (Uppstrom, 1974) or \b 'l10' (Lee et al., 2010). + !! The 'l10' formulation is based on 139 measurements (instead of 20), + !! uses a more accurate method, and + !! generally increases total boron in seawater by 4% +!f2py character*3 optional, intent(in) :: optB='u74' + CHARACTER(3), OPTIONAL, INTENT(in) :: optB + !> for Kf, choose either \b 'pf' (Perez & Fraga, 1987) or \b 'dg' (Dickson & Riley, 1979) +!f2py character*2 optional, intent(in) :: optKf='pf' + CHARACTER(2), OPTIONAL, INTENT(in) :: optKf + !> for K1,K2 choose either \b 'l' (Lueker et al., 2000) or \b 'm10' (Millero, 2010) or \b 'w14' (Waters et al., 2014) +!f2py character*3 optional, intent(in) :: optK1K2='l' + CHARACTER(3), OPTIONAL, INTENT(in) :: optK1K2 + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(7), OPTIONAL, INTENT(in) :: optGAS + !> choose \b 'Sprc' for practical sal. (EOS-80, default) or \b 'Sabs' for absolute salinity (TEOS-10) +!f2py character*4 optional, intent(in) :: optS='Sprc' + CHARACTER(4), OPTIONAL, INTENT(in) :: optS + !> longitude [degrees east] +!f2py real(8) optional, intent(in), dimension(n) :: lon = -25. + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon + +! Ouput variables + !> solubility of CO2 in seawater (Weiss, 1974), also known as K0 + REAL(kind=r8), INTENT(out), DIMENSION(N) :: K0 + !> K1 for the dissociation of carbonic acid from Lueker et al. (2000) or Millero (2010), depending on optK1K2 + REAL(kind=r8), INTENT(out), DIMENSION(N) :: K1 + !> K2 for the dissociation of carbonic acid from Lueker et al. (2000) or Millero (2010), depending on optK1K2 + REAL(kind=r8), INTENT(out), DIMENSION(N) :: K2 + !> equilibrium constant for dissociation of boric acid + REAL(kind=r8), INTENT(out), DIMENSION(N) :: Kb + !> equilibrium constant for the dissociation of water (Millero, 1995) + REAL(kind=r8), INTENT(out), DIMENSION(N) :: Kw + !> equilibrium constant for the dissociation of bisulfate (Dickson, 1990) + REAL(kind=r8), INTENT(out), DIMENSION(N) :: Ks + !> equilibrium constant for the dissociation of hydrogen fluoride + !! either from Dickson and Riley (1979) or from Perez and Fraga (1987), depending on optKf + REAL(kind=r8), INTENT(out), DIMENSION(N) :: Kf + !> solubility product for calcite (Mucci, 1983) + REAL(kind=r8), INTENT(out), DIMENSION(N) :: Kspc + !> solubility product for aragonite (Mucci, 1983) + REAL(kind=r8), INTENT(out), DIMENSION(N) :: Kspa + !> 1st dissociation constant for phosphoric acid (Millero, 1995) + REAL(kind=r8), INTENT(out), DIMENSION(N) :: K1p + !> 2nd dissociation constant for phosphoric acid (Millero, 1995) + REAL(kind=r8), INTENT(out), DIMENSION(N) :: K2p + !> 3rd dissociation constant for phosphoric acid (Millero, 1995) + REAL(kind=r8), INTENT(out), DIMENSION(N) :: K3p + !> equilibrium constant for the dissociation of silicic acid (Millero, 1995) + REAL(kind=r8), INTENT(out), DIMENSION(N) :: Ksi + !> total sulfate (Morris & Riley, 1966) + REAL(kind=r8), INTENT(out), DIMENSION(N) :: St + !> total fluoride (Riley, 1965) + REAL(kind=r8), INTENT(out), DIMENSION(N) :: Ft + !> total boron + !! from either Uppstrom (1974) or Lee et al. (2010), depending on optB + REAL(kind=r8), INTENT(out), DIMENSION(N) :: Bt + +! Local variables + REAL(kind=rx) :: ssal + REAL(kind=rx) :: p + REAL(kind=rx) :: tempot, tempis68, tempot68 + REAL(kind=rx) :: tempis + REAL(kind=r8) :: is, invtk, dlogtk, is2, s2, sqrtis + REAL(kind=r8) :: Ks_0p, Kf_0p + REAL(kind=r8) :: total2free, free2SWS, total2SWS, SWS2total + REAL(kind=r8) :: total2free_0p, free2SWS_0p, total2SWS_0p +! REAL(kind=r8) :: free2SWS, free2SWS_0p + + REAL(kind=r8) :: dtempot, dtempot68 + REAL(kind=r8) :: R + + REAL(kind=r8) :: pK1o, ma1, mb1, mc1, pK1 + REAL(kind=r8) :: pK2o, ma2, mb2, mc2, pK2 + + REAL(kind=r8), DIMENSION(12) :: a0, a1, a2, b0, b1, b2 + REAL(kind=r8), DIMENSION(12) :: deltav, deltak, lnkpok0 + REAL(kind=r8) :: tmp, nK0we74 + + INTEGER :: i, icount, ipc + + REAL(kind=r8) :: t, tk, tk0, prb + REAL(kind=r8) :: s, sqrts, s15, scl + + REAL(kind=r8) :: Phydro_atm, Patmd, Ptot, Rgas_atm, vbarCO2 + +! local 1-long array version of scalar variables + REAL(kind=rx), DIMENSION(1) :: lon1, lat1 + REAL(kind=rx), DIMENSION(1) :: p1, spra1, sabs1 + +! Arrays to pass optional arguments into or use defaults (Dickson et al., 2007) + CHARACTER(3) :: opB + CHARACTER(2) :: opKf + CHARACTER(3) :: opK1K2 + CHARACTER(7) :: opGAS + CHARACTER(4) :: opS + + ! CONSTANTS + ! ========= + ! Constants in formulation for Pressure effect on K's (Millero, 95) + ! with corrected coefficients for Kb, Kw, Ksi, etc. + + ! index: 1) K1 , 2) K2, 3) Kb, 4) Kw, 5) Ks, 6) Kf, 7) Kspc, 8) Kspa, + ! 9) K1P, 10) K2P, 11) K3P, 12) Ksi + + DATA a0 /-25.5_r8, -15.82_r8, -29.48_r8, -20.02_r8, & + -18.03_r8, -9.78_r8, -48.76_r8, -45.96_r8, & + -14.51_r8, -23.12_r8, -26.57_r8, -29.48_r8/ + DATA a1 /0.1271_r8, -0.0219_r8, 0.1622_r8, 0.1119_r8, & + 0.0466_r8, -0.0090_r8, 0.5304_r8, 0.5304_r8, & + 0.1211_r8, 0.1758_r8, 0.2020_r8, 0.1622_r8/ + DATA a2 / 0.0_r8, 0.0_r8, -2.608e-3_r8, -1.409e-3_r8, & + 0.316e-3_r8, -0.942e-3_r8, 0.0_r8, 0.0_r8, & + -0.321e-3_r8, -2.647e-3_r8, -3.042e-3_r8, -2.6080e-3_r8/ + DATA b0 /-3.08e-3_r8, 1.13e-3_r8, -2.84e-3_r8, -5.13e-3_r8, & + -4.53e-3_r8, -3.91e-3_r8, -11.76e-3_r8, -11.76e-3_r8, & + -2.67e-3_r8, -5.15e-3_r8, -4.08e-3_r8, -2.84e-3_r8/ + DATA b1 /0.0877e-3_r8, -0.1475e-3_r8, 0.0_r8, 0.0794e-3_r8, & + 0.09e-3_r8, 0.054e-3_r8, 0.3692e-3_r8, 0.3692e-3_r8, & + 0.0427e-3_r8, 0.09e-3_r8, 0.0714e-3_r8, 0.0_r8/ + DATA b2 /12*0.0_r8/ + +! Set defaults for optional arguments (in Fortran 90) +! Note: Optional arguments with f2py (python) are set above with +! the !f2py statements that precede each type declaraion + IF (PRESENT(optB)) THEN + opB = optB + ELSE + opB = 'u74' + ENDIF + IF (PRESENT(optKf)) THEN + opKf = optKf + ELSE + opKf = 'pf' + ENDIF + IF (PRESENT(optK1K2)) THEN + opK1K2 = optK1K2 + ELSE + opK1K2 = 'l' + ENDIF + IF (PRESENT(optGAS)) THEN + opGAS = optGAS + ELSE + opGAS = 'Pinsitu' + ENDIF + IF (PRESENT(optS)) THEN + opS = optS + ELSE + opS = 'Sprc' + ENDIF + + R = 83.14472_r8 + + icount = 0 + DO i = 1, N + icount = icount + 1 +! =============================================================== +! Convert model depth -> press; convert model Theta -> T in situ +! =============================================================== +! * Model temperature tracer is usually "potential temperature" +! * Model vertical grid is usually in meters +! BUT carbonate chem routines require pressure & in-situ T +! Thus before computing chemistry, if appropriate, +! convert these 2 model vars (input to this routine) +! - depth [m] => convert to pressure [db] +! - potential temperature (C) => convert to in-situ T (C) +! ------------------------------------------------------- +! 1) Compute pressure [db] from depth [m] and latitude [degrees] (if input is m, for models) + IF (trim(optP) == 'm' ) THEN +! Compute pressure [db] from depth [m] and latitude [degrees] + p = p80(depth(i), lat(i)) + ELSEIF (trim(optP) == 'db' ) THEN +! In this case (where optP = 'db'), p is input & output (no depth->pressure conversion needed) + p = depth(i) + ELSE + PRINT *,"optP must be 'm' or 'db'" + STOP + ENDIF + +! 2) Convert potential T to in-situ T (if input is Tpot, i.e. case for models): + IF (trim(optT) == 'Tpot' .OR. trim(optT) == 'tpot') THEN + tempot = temp(i) +! This is the case for most models and some data +! a) Convert the pot. temp on today's "ITS 90" scale to older IPTS 68 scale +! (see Dickson et al., Best Practices Guide, 2007, Chap. 5, p. 7, including footnote) + tempot68 = (tempot - 0.0002_rx) / 0.99975_rx +! b) Compute "in-situ Temperature" from "Potential Temperature" (both on IPTS 68) + tempis68 = sw_temp(sal(i), tempot68, p, 0.0d0) !! JH changed: SGLE(0.0D0) ) to 0.0d0) +! c) Convert the in-situ temp on older IPTS 68 scale to modern scale (ITS 90) + tempis = 0.99975_rx*tempis68 + 0.0002_rx +! Note: parts (a) and (c) above are tiny corrections; +! part (b) is a big correction for deep waters (but zero at surface) + ELSEIF (trim(optT) == 'Tinsitu' .OR. trim(optT) == 'tinsitu') THEN +! When optT = 'Tinsitu', tempis is input & output (no tempot needed) + tempis = temp(i) + tempis68 = (temp(i) - 0.0002_rx) / 0.99975_rx + dtempot68 = sw_ptmp(DBLE(sal(i)), DBLE(tempis68), DBLE(p), 0.0d0) + dtempot = 0.99975_rx*dtempot68 + 0.0002_rx + ELSEIF (trim(optT) == 'Tcsv' .OR. trim(optT) == 'tcsv') THEN +! Convert given conservative temperature to in-situ temperature + ! First convert salinity to absolute sal., if necessary + IF (trim(opS) == 'Sprc') THEN + ! conversion will use default geographic location + spra1(1) = sal(i) + p1(1) = p + CALL sp2sa_geo (spra1, 1, sabs1, p1) + ELSE + sabs1(1) = sal(i) + END IF + ! Then convert temperature + tempis = SGLE(gsw_t_from_ct (DBLE(sabs1(1)), DBLE(temp(i)), DBLE(p))) + tempis68 = (tempis - 0.0002_rx) / 0.99975_rx + ELSE + PRINT *,"optT must be either 'Tpot, 'Tinsitu' or 'Tcsv'" + PRINT *,"you specified optT =", trim(optT) + STOP + ENDIF + +! Compute constants: + IF (temp(i) >= -5.0_rx .AND. temp(i) < 1.0e+2_rx) THEN +! Test to indicate if any of input variables are unreasonable + IF ( sal(i) < 0. .OR. sal(i) > 1e+3) THEN + PRINT *, 'i, icount, temp, sal =', i, icount, temp(i), sal(i) + ENDIF +! Zero out negative salinity (prev case for OCMIP2 model w/ slightly negative S in some coastal cells) + IF (sal(i) < 0.0) THEN + ssal = 0.0 + ELSE + ssal = sal(i) + ENDIF + +! Absolute temperature (Kelvin) and related values + t = DBLE(tempis) + tk = 273.15d0 + t + invtk=1.0d0/tk + dlogtk=LOG(tk) + +! Atmospheric pressure + Patmd = DBLE(Patm(i)) + +! Hydrostatic pressure (prb is in bars) + prb = DBLE(p) / 10.0d0 + +! Convert from Absolute to Practical salinity if needed + IF (trim(opS) == 'Sabs') THEN + IF (PRESENT(lon)) THEN + ! longitude is passed in + sabs1(1) = ssal + p1(1) = p + lon1(1) = lon(i) + lat1(1) = lat(i) + ELSE + lon1(1) = 1.e20_rx + lat1(1) = 1.e20_rx + ENDIF + IF (lon1(1) .NE. 1.e20_rx .AND. lat1(1) .NE. 1.e20_rx) THEN + ! longitude and latitude are defined + CALL sa2sp_geo (sabs1, 1, spra1, p1, lon1, lat1) + ELSE + ! use default geographic location + CALL sa2sp_geo (sabs1, 1, spra1, p1) + ENDIF + s = DBLE(spra1(1)) + ELSE + s = DBLE(ssal) + ENDIF + + ! Salinity and simply related values + s2=s*s + sqrts=SQRT(s) + s15=s**1.5d0 + scl=s/1.80655d0 + +! Ionic strength: + is = 19.924d0*s/(1000.0d0 - 1.005d0*s) + is2 = is*is + sqrtis = SQRT(is) + +! Total concentrations for sulfate, fluoride, and boron + +! Sulfate: Morris & Riley (1966) + St(i) = 0.14d0 * scl/96.062d0 + +! Fluoride: Riley (1965) + Ft(i) = 0.000067d0 * scl/18.9984d0 + +! Boron: + IF (trim(opB) == 'l10') THEN +! New formulation from Lee et al (2010) + Bt(i) = 0.0002414d0 * scl/10.811d0 + ELSEIF (trim(opB) == 'u74') THEN +! Classic formulation from Uppström (1974) + Bt(i) = 0.000232d0 * scl/10.811d0 + ELSE + PRINT *,"optB must be 'l10' or 'u74'" + STOP + ENDIF + +! K0 (K Henry) +! CO2(g) <-> CO2(aq.) +! K0 = [CO2]/ fCO2 +! Weiss (1974) [mol/kg/atm] + IF (trim(opGAS) == 'Pzero' .OR. trim(opGAS) == 'pzero') THEN + tk0 = tk !in situ temperature (K) for K0 calculation + Ptot = Patmd !total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Ppot' .OR. trim(opGAS) == 'ppot') THEN + tk0 = dtempot + 273.15d0 !potential temperature (K) for K0 calculation as needed for potential fCO2 & pCO2 + Ptot = Patmd !total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Pinsitu' .OR. trim(opGAS) == 'pinsitu') THEN + tk0 = tk !in situ temperature (K) for K0 calculation + Phydro_atm = prb / 1.01325d0 !convert hydrostatic pressure from bar to atm (1.01325 bar / atm) + Ptot = Patmd + Phydro_atm !total pressure (in atm) = atmospheric pressure + hydrostatic pressure + ELSE + PRINT *, "optGAS must be 'Pzero', 'Ppot', or 'Pinsitu'" + STOP + ENDIF + tmp = 9345.17d0/tk0 - 60.2409d0 + 23.3585d0 * LOG(tk0/100.0d0) + nK0we74 = tmp + s*(0.023517d0 - 0.00023656d0*tk0 + 0.0047036e-4_r8*tk0*tk0) + K0(i) = EXP(nK0we74) + +! K1 = [H][HCO3]/[H2CO3] +! K2 = [H][CO3]/[HCO3] + IF (trim(opK1K2) == 'l') THEN +! Mehrbach et al. (1973) refit, by Lueker et al. (2000) (total scale) + K1(i) = 10.0d0**(-1.0d0*(3633.86d0*invtk - 61.2172d0 + 9.6777d0*dlogtk & + - 0.011555d0*s + 0.0001152d0*s2)) + K2(i) = 10.0d0**(-1*(471.78d0*invtk + 25.9290d0 - 3.16967d0*dlogtk & + - 0.01781d0*s + 0.0001122d0*s2)) + ELSEIF (trim(opK1K2) == 'm10') THEN +! Millero (2010, Mar. Fresh Wat. Res.) (seawater scale) + pK1o = 6320.813d0*invtk + 19.568224d0*dlogtk -126.34048d0 + ma1 = 13.4038d0*sqrts + 0.03206d0*s - (5.242e-5_rx)*s2 + mb1 = -530.659d0*sqrts - 5.8210d0*s + mc1 = -2.0664d0*sqrts + pK1 = pK1o + ma1 + mb1*invtk + mc1*dlogtk + K1(i) = 10.0d0**(-pK1) + + pK2o = 5143.692d0*invtk + 14.613358d0*dlogtk -90.18333d0 + ma2 = 21.3728d0*sqrts + 0.1218d0*s - (3.688e-4_r8)*s2 + mb2 = -788.289d0*sqrts - 19.189d0*s + mc2 = -3.374d0*sqrts + pK2 = pK2o + ma2 + mb2*invtk + mc2*dlogtk + K2(i) = 10.0d0**(-pK2) + ELSEIF (trim(opK1K2) == 'w14') THEN +! Waters, Millero, Woosley (Mar. Chem., 165, 66-67, 2014) (seawater scale) + pK1o = 6320.813d0*invtk + 19.568224d0*dlogtk -126.34048d0 + ma1 = 13.409160d0*sqrts + 0.031646d0*s - (5.1895e-5)*s2 + mb1 = -531.3642d0*sqrts - 5.713d0*s + mc1 = -2.0669166d0*sqrts + pK1 = pK1o + ma1 + mb1*invtk + mc1*dlogtk + K1(i) = 10.0d0**(-pK1) + + pK2o = 5143.692d0*invtk + 14.613358d0*dlogtk -90.18333d0 + ma2 = 21.225890d0*sqrts + 0.12450870d0*s - (3.7243e-4_r8)*s2 + mb2 = -779.3444d0*sqrts - 19.91739d0*s + mc2 = -3.3534679d0*sqrts + pK2 = pK2o + ma2 + mb2*invtk + mc2*dlogtk + K2(i) = 10.0d0**(-pK2) + ELSE + PRINT *, "optK1K2 must be either 'l', 'm10', or 'w14'" + STOP + ENDIF + +! Kb = [H][BO2]/[HBO2] +! (total scale) +! Millero p.669 (1995) using data from Dickson (1990) + Kb(i) = EXP((-8966.90d0 - 2890.53d0*sqrts - 77.942d0*s + & + 1.728d0*s15 - 0.0996d0*s2)*invtk + & + (148.0248d0 + 137.1942d0*sqrts + 1.62142d0*s) + & + (-24.4344d0 - 25.085d0*sqrts - 0.2474d0*s) * & + dlogtk + 0.053105d0*sqrts*tk) + +! K1p = [H][H2PO4]/[H3PO4] +! (seawater scale) +! DOE(1994) eq 7.2.20 with footnote using data from Millero (1974) +! Millero (1995), p.670, eq. 65 +! Use Millero equation's 115.540 constant instead of 115.525 (Dickson et al., 2007). +! The latter is only an crude approximation to convert to Total scale (by subtracting 0.015) +! And we want to stay on the SWS scale anyway for the pressure correction later. + K1p(i) = EXP(-4576.752d0*invtk + 115.540d0 - 18.453d0*dlogtk + & + (-106.736d0*invtk + 0.69171d0) * sqrts + & + (-0.65643d0*invtk - 0.01844d0) * s) + +! K2p = [H][HPO4]/[H2PO4] +! (seawater scale) +! DOE(1994) eq 7.2.23 with footnote using data from Millero (1974)) +! Millero (1995), p.670, eq. 66 +! Use Millero equation's 172.1033 constant instead of 172.0833 (Dickson et al., 2007). +! The latter is only an crude approximation to convert to Total scale (by subtracting 0.015) +! And we want to stay on the SWS scale anyway for the pressure correction later. + K2p(i) = EXP(-8814.715d0*invtk + 172.1033d0 - 27.927d0*dlogtk + & + (-160.340d0*invtk + 1.3566d0)*sqrts + & + (0.37335d0*invtk - 0.05778d0)*s) + +! K3p = [H][PO4]/[HPO4] +! (seawater scale) +! DOE(1994) eq 7.2.26 with footnote using data from Millero (1974) +! Millero (1995), p.670, eq. 67 +! Use Millero equation's 18.126 constant instead of 18.141 (Dickson et al., 2007). +! The latter is only an crude approximation to convert to Total scale (by subtracting 0.015) +! And we want to stay on the SWS scale anyway for the pressure correction later. + K3p(i) = EXP(-3070.75d0*invtk - 18.126d0 + & + (17.27039d0*invtk + 2.81197d0) * & + sqrts + (-44.99486d0*invtk - 0.09984d0) * s) + +! Ksi = [H][SiO(OH)3]/[Si(OH)4] +! (seawater scale) +! Millero (1995), p.671, eq. 72 +! Use Millero equation's 117.400 constant instead of 117.385 (Dickson et al., 2007). +! The latter is only an crude approximation to convert to Total scale (by subtracting 0.015) +! And we want to stay on the SWS scale anyway for the pressure correction later. + Ksi(i) = EXP(-8904.2d0*invtk + 117.400d0 - 19.334d0*dlogtk + & + (-458.79d0*invtk + 3.5913d0) * sqrtis + & + (188.74d0*invtk - 1.5998d0) * is + & + (-12.1652d0*invtk + 0.07871d0) * is2 + & + LOG(1.0 - 0.001005d0*s)) + +! Kw = [H][OH] +! (seawater scale) +! Millero (1995) p.670, eq. 63 from composite data +! Use Millero equation's 148.9802 constant instead of 148.9652 (Dickson et al., 2007). +! The latter is only an crude approximation to convert to Total scale (by subtracting 0.015) +! And we want to stay on the SWS scale anyway for the pressure correction later. + Kw(i) = EXP(-13847.26d0*invtk + 148.9802d0 - 23.6521d0*dlogtk + & + (118.67d0*invtk - 5.977d0 + 1.0495d0 * dlogtk) * & + sqrts - 0.01615d0 * s) + +! Ks = [H][SO4]/[HSO4] +! (free scale) +! Dickson (1990, J. chem. Thermodynamics 22, 113) + Ks_0p = EXP(-4276.1d0*invtk + 141.328d0 - 23.093d0*dlogtk & + + (-13856.d0*invtk + 324.57d0 - 47.986d0*dlogtk) * sqrtis & + + (35474.d0*invtk - 771.54 + 114.723d0*dlogtk) * is & + - 2698.d0*invtk*is**1.5 + 1776.d0*invtk*is2 & + + LOG(1.0d0 - 0.001005d0*s)) + +! Kf = [H][F]/[HF] +! (total scale) + IF (trim(opKf) == 'dg') THEN +! Dickson and Riley (1979) -- change pH scale to total (following Dickson & Goyet, 1994) + Kf_0p = EXP(1590.2d0*invtk - 12.641d0 + 1.525d0*sqrtis + & + LOG(1.0d0 - 0.001005d0*s) + & + LOG(1.0d0 + St(i)/Ks_0p)) + ELSEIF (trim(opKf) == 'pf') THEN +! Perez and Fraga (1987) - Already on Total scale (no need for last line above) +! Formulation as given in Dickson et al. (2007) + Kf_0p = EXP(874.d0*invtk - 9.68d0 + 0.111d0*sqrts) + ELSE + PRINT *, "optKf must be either 'dg' or 'pf'" + STOP + ENDIF + +! Kspc (calcite) - apparent solubility product of calcite +! (no scale) +! Kspc = [Ca2+] [CO32-] when soln is in equilibrium w/ calcite +! Mucci 1983 mol/kg-soln + Kspc(i) = 10d0**(-171.9065d0 - 0.077993d0*tk + 2839.319d0/tk & + + 71.595d0*LOG10(tk) & + + (-0.77712d0 + 0.0028426d0*tk + 178.34d0/tk)*sqrts & + -0.07711d0*s + 0.0041249d0*s15 ) + + +! Kspa (aragonite) - apparent solubility product of aragonite +! (no scale) +! Kspa = [Ca2+] [CO32-] when soln is in equilibrium w/ aragonite +! Mucci 1983 mol/kg-soln + Kspa(i) = 10.d0**(-171.945d0 - 0.077993d0*tk + 2903.293d0/tk & + +71.595d0*LOG10(tk) & + +(-0.068393d0 + 0.0017276d0*tk + 88.135d0/tk)*sqrts & + -0.10018d0*s + 0.0059415d0*s15 ) + +! Pressure effect on K0 based on Weiss (1974, equation 5) + Rgas_atm = 82.05736_r8 ! (cm3 * atm) / (mol * K) CODATA (2006) + vbarCO2 = 32.3_r8 ! partial molal volume (cm3 / mol) from Weiss (1974, Appendix, paragraph 3) + K0(i) = K0(i) * exp( ((1-Ptot)*vbarCO2)/(Rgas_atm*tk0) ) ! Weiss (1974, equation 5) + +! Pressure effect on all other K's (based on Millero, (1995) +! index: K1(1), K2(2), Kb(3), Kw(4), Ks(5), Kf(6), Kspc(7), Kspa(8), +! K1p(9), K2p(10), K3p(11), Ksi(12) + DO ipc = 1, 12 + deltav(ipc) = a0(ipc) + a1(ipc) *t + a2(ipc) *t*t + deltak(ipc) = (b0(ipc) + b1(ipc) *t + b2(ipc) *t*t) + lnkpok0(ipc) = (-(deltav(ipc)) & + +(0.5d0*deltak(ipc) * prb) & + ) * prb/(R*tk) + END DO + +! Pressure correction on Ks (Free scale) + Ks(i) = Ks_0p*EXP(lnkpok0(5)) +! Conversion factor total -> free scale + total2free = 1.d0/(1.d0 + St(i)/Ks(i)) ! Kfree = Ktotal*total2free +! Conversion factor total -> free scale at pressure zero + total2free_0p = 1.d0/(1.d0 + St(i)/Ks_0p) ! Kfree = Ktotal*total2free + +! Pressure correction on Kf +! Kf must be on FREE scale before correction + Kf_0p = Kf_0p * total2free_0p !Convert from Total to Free scale (pressure 0) + Kf(i) = Kf_0p * EXP(lnkpok0(6)) !Pressure correction (on Free scale) + Kf(i) = Kf(i)/total2free !Convert back from Free to Total scale + +! Convert between seawater and total hydrogen (pH) scales + free2SWS = 1.d0 + St(i)/Ks(i) + Ft(i)/(Kf(i)*total2free) ! using Kf on free scale + total2SWS = total2free * free2SWS ! KSWS = Ktotal*total2SWS + SWS2total = 1.d0 / total2SWS +! Conversion at pressure zero + free2SWS_0p = 1.d0 + St(i)/Ks_0p + Ft(i)/(Kf_0p) ! using Kf on free scale + total2SWS_0p = total2free_0p * free2SWS_0p ! KSWS = Ktotal*total2SWS + +! Convert from Total to Seawater scale before pressure correction +! Must change to SEAWATER scale: K1, K2, Kb + IF (trim(optK1K2) == 'l') THEN + K1(i) = K1(i)*total2SWS_0p + K2(i) = K2(i)*total2SWS_0p + !This conversion is unnecessary for the K1,K2 from Millero (2010), + !since we use here the formulation already on the seawater scale + ENDIF + Kb(i) = Kb(i)*total2SWS_0p + +! Already on SEAWATER scale: K1p, K2p, K3p, Kb, Ksi, Kw + +! Other contants (keep on another scale): +! - K0 (independent of pH scale, already pressure corrected) +! - Ks (already on Free scale; already pressure corrected) +! - Kf (already on Total scale; already pressure corrected) +! - Kspc, Kspa (independent of pH scale; pressure-corrected below) + +! Perform actual pressure correction (on seawater scale) + K1(i) = K1(i)*EXP(lnkpok0(1)) + K2(i) = K2(i)*EXP(lnkpok0(2)) + Kb(i) = Kb(i)*EXP(lnkpok0(3)) + Kw(i) = Kw(i)*EXP(lnkpok0(4)) + Kspc(i) = Kspc(i)*EXP(lnkpok0(7)) + Kspa(i) = Kspa(i)*EXP(lnkpok0(8)) + K1p(i) = K1p(i)*EXP(lnkpok0(9)) + K2p(i) = K2p(i)*EXP(lnkpok0(10)) + K3p(i) = K3p(i)*EXP(lnkpok0(11)) + Ksi(i) = Ksi(i)*EXP(lnkpok0(12)) + +! Convert back to original total scale: + K1(i) = K1(i) *SWS2total + K2(i) = K2(i) *SWS2total + K1p(i) = K1p(i)*SWS2total + K2p(i) = K2p(i)*SWS2total + K3p(i) = K3p(i)*SWS2total + Kb(i) = Kb(i) *SWS2total + Ksi(i) = Ksi(i)*SWS2total + Kw(i) = Kw(i) *SWS2total + + ELSE + + K0(i) = 1.e20_r8 + K1(i) = 1.e20_r8 + K2(i) = 1.e20_r8 + Kb(i) = 1.e20_r8 + Kw(i) = 1.e20_r8 + Ks(i) = 1.e20_r8 + Kf(i) = 1.e20_r8 + Kspc(i) = 1.e20_r8 + Kspa(i) = 1.e20_r8 + K1p(i) = 1.e20_r8 + K2p(i) = 1.e20_r8 + K3p(i) = 1.e20_r8 + Ksi(i) = 1.e20_r8 + Bt(i) = 1.e20_r8 + Ft(i) = 1.e20_r8 + St(i) = 1.e20_r8 + + ENDIF + + END DO + + RETURN +END SUBROUTINE constants + +!> Compute thermodynamic constants +!! and their derivatives with respect to temperature and salinity +!! FROM temperature, salinity, and pressure (1D arrays) +SUBROUTINE constants_DNAD(K0, K1, K2, Kb, Kw, Ks, Kf, Kspc, Kspa, & + K1p, K2p, K3p, Ksi, & + St, Ft, Bt, & + temp, sal, Patm, & + depth, lat, N, & + optT, optP, optB, optK1K2, optKf, optGAS, optS, lon ) + + ! Purpose: + ! Compute thermodynamic constants + ! FROM: temperature, salinity, and pressure (1D arrays) + ! + ! It is similar to subroutine 'constants' above except that it also computes + ! partial derivatives of all output thermodynamic constants + ! with respect to temperature and salinity. + ! + ! INPUT variables: + ! ================ + ! Patm = atmospheric pressure [atm] + ! depth = depth [m] (with optP='m', i.e., for a z-coordinate model vertical grid is depth, not pressure) + ! = pressure [db] (with optP='db') + ! lat = latitude [degrees] (needed to convert depth to pressure, i.e., when optP='m') + ! = dummy array (unused when optP='db') + ! temp = potential temperature [degrees C] (with optT='Tpot', i.e., models carry tempot, not temp) + ! = in situ temperature [degrees C] (with optT='Tinsitu', e.g., for data) + ! sal = salinity in [psu] + ! --------- + ! optT: choose in-situ, potential or conservative temperature as input + ! --------- + ! NOTE: Carbonate chem calculations require IN-SITU temperature (not potential Temperature) + ! -> 'Tpot' means input is pot. Temperature (in situ Temp is computed) + ! -> 'Tcsv' means input is Conservative Temperature (in situ Temp is computed) + ! -> 'Tinsitu' means input is already in-situ Temperature + ! --------- + ! optP: choose depth (m) vs pressure (db) as input + ! --------- + ! -> 'm' means "depth" input is in "m" (thus in situ Pressure "p" [db] is computed) + ! -> 'db' means "depth" input is already in situ pressure [db], not m (p = depth) + ! --------- + ! optB: + ! --------- + ! -> 'u74' means use classic formulation of Uppström (1974) for total Boron + ! -> 'l10' means use newer formulation of Lee et al. (2010) for total Boron + ! --------- + ! optK1K2: + ! --------- + ! -> 'l' means use Lueker et al. (2000) formulations for K1 & K2 (recommended by Dickson et al. 2007) + ! **** BUT this should only be used when 2 < T < 35 and 19 < S < 43 + ! -> 'm10' means use Millero (2010) formulation for K1 & K2 (see Dickson et al., 2007) + ! **** Valid for 0 < T < 50°C and 1 < S < 50 psu + ! ----------- + ! optKf: + ! ---------- + ! -> 'pf' means use Perez & Fraga (1987) formulation for Kf (recommended by Dickson et al., 2007) + ! **** BUT Valid for 9 < T < 33°C and 10 < S < 40. + ! -> 'dg' means use Dickson & Riley (1979) formulation for Kf (recommended by Dickson & Goyet, 1994) + ! ----------- + ! optGAS: choose in situ vs. potential fCO2 and pCO2 + ! --------- + ! PRESSURE corrections for K0 and the fugacity coefficient (Cf) + ! -> 'Pzero' = 'zero order' fCO2 and pCO2 (typical approach, which is flawed) + ! considers in situ T & only atm pressure (hydrostatic=0) + ! -> 'Ppot' = 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + ! considers potential T & only atm pressure (hydrostatic press = 0) + ! -> 'Pinsitu' = 'in situ' fCO2 and pCO2 (accounts for huge effects of pressure) + ! considers in situ T & total pressure (atm + hydrostatic) + ! --------- + ! optS: choose practical [psu] or absolute [g/kg] salinity as input + ! ---------- + ! -> 'Sprc' means input is practical salinity according to EOS-80 convention + ! -> 'Sabs' means input is absolute salinity according to TEOS-10 convention (practical sal. will be computed) + ! --------- + ! lon: longitude in degrees East + ! ---------- + ! Optional, it may be used along with latitude when optS is "Sabs" as conversion parameters + ! from Absolute to Practical Salinity. + ! + ! When seawater is not of standard composition, Practical Salinity alone is not sufficient + ! to compute Absolute Salinity and vice-versa. One needs to know the chemical composition, + ! mainly silicate and nitrate concentration. When parameters 'lon' and 'lat' are given, + ! absolute salinity conversion is based on WOA silicate concentration at given location. + ! + ! When 'lon' and 'lat' are unknown, an arbitrary geographic point is chosen: + ! which is mid equatorial Atlantic. Note that this implies an error on computed practical salinity up to 0.02 psu. + ! In that case, do not pass parameter 'lon' or set its elements to 1.e20. + ! --------- + + ! OUTPUT variables: + ! ================= + ! K0, K1, K2, Kb, Kw, Ks, Kf, Kspc, Kspa, K1p, K2p, K3p, Ksi + ! St, Ft, Bt + + USE msingledouble + USE mp80 + USE meos + USE gsw_mod_toolbox, only: gsw_t_from_ct + USE msw_temp + USE msw_ptmp + USE Dual_Num_Auto_Diff + IMPLICIT NONE + +! Input variables + !> number of records + INTEGER, INTENT(in) :: N + !> in situ temperature (when optT='Tinsitu', typical data) + !! OR potential temperature (when optT='Tpot', typical models) [degree C] + TYPE(DUAL_NUM), INTENT(in), DIMENSION(N) :: temp + !> depth in meters (when optP='m') or decibars (when optP='db') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: depth + !> latitude [degrees north] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: lat + !> salinity [psu] + TYPE(DUAL_NUM), INTENT(in), DIMENSION(N) :: sal +!f2py optional , depend(sal) :: n=len(sal) + + !> atmospheric pressure [atm] + TYPE(DUAL_NUM), INTENT(in), DIMENSION(N) :: Patm + + !> for temp input, choose \b 'Tinsitu' for in situ Temp or + !! \b 'Tpot' for potential temperature (in situ Temp is computed, needed for models) + CHARACTER(7), INTENT(in) :: optT + !> for depth input, choose \b "db" for decibars (in situ pressure) or \b "m" for meters (pressure is computed, needed for models) + CHARACTER(2), INTENT(in) :: optP + !> for total boron, choose either \b 'u74' (Uppstrom, 1974) or \b 'l10' (Lee et al., 2010). + !! The 'l10' formulation is based on 139 measurements (instead of 20), + !! uses a more accurate method, and + !! generally increases total boron in seawater by 4% +!f2py character*3 optional, intent(in) :: optB='l10' + CHARACTER(3), OPTIONAL, INTENT(in) :: optB + !> for Kf, choose either \b 'pf' (Perez & Fraga, 1987) or \b 'dg' (Dickson & Riley, 1979) +!f2py character*2 optional, intent(in) :: optKf='pf' + CHARACTER(2), OPTIONAL, INTENT(in) :: optKf + !> for K1,K2 choose either \b 'l' (Lueker et al., 2000) or \b 'm10' (Millero, 2010) +!f2py character*3 optional, intent(in) :: optK1K2='l' + CHARACTER(3), OPTIONAL, INTENT(in) :: optK1K2 + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(7), OPTIONAL, INTENT(in) :: optGAS + !> choose \b 'Sprc' for practical sal. (EOS-80, default) or \b 'Sabs' for absolute salinity (TEOS-10) +!f2py character*4 optional, intent(in) :: optS='Sprc' + CHARACTER(4), OPTIONAL, INTENT(in) :: optS + !> longitude [degrees east] +!f2py real(8) optional, intent(in), dimension(n) :: lon = -25. + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon + +! Ouput variables + !> solubility of CO2 in seawater (Weiss, 1974), also known as K0 + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: K0 + !> K1 for the dissociation of carbonic acid from Lueker et al. (2000) or Millero (2010), depending on optK1K2 + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: K1 + !> K2 for the dissociation of carbonic acid from Lueker et al. (2000) or Millero (2010), depending on optK1K2 + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: K2 + !> equilibrium constant for dissociation of boric acid + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: Kb + !> equilibrium constant for the dissociation of water (Millero, 1995) + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: Kw + !> equilibrium constant for the dissociation of bisulfate (Dickson, 1990) + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: Ks + !> equilibrium constant for the dissociation of hydrogen fluoride + !! either from Dickson and Riley (1979) or from Perez and Fraga (1987), depending on optKf + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: Kf + !> solubility product for calcite (Mucci, 1983) + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: Kspc + !> solubility product for aragonite (Mucci, 1983) + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: Kspa + !> 1st dissociation constant for phosphoric acid (Millero, 1995) + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: K1p + !> 2nd dissociation constant for phosphoric acid (Millero, 1995) + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: K2p + !> 3rd dissociation constant for phosphoric acid (Millero, 1995) + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: K3p + !> equilibrium constant for the dissociation of silicic acid (Millero, 1995) + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: Ksi + !> total sulfate (Morris & Riley, 1966) + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: St + !> total fluoride (Riley, 1965) + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: Ft + !> total boron + !! from either Uppstrom (1974) or Lee et al. (2010), depending on optB + TYPE(DUAL_NUM), INTENT(out), DIMENSION(N) :: Bt + +! Local variables + TYPE(DUAL_NUM) ::ssal + TYPE(DUAL_NUM) ::p + TYPE(DUAL_NUM) ::tempot, tempis68, tempot68 + TYPE(DUAL_NUM) ::tempis + TYPE(DUAL_NUM) ::is, invtk, dlogtk, is2, s2, sqrtis + TYPE(DUAL_NUM) ::Ks_0p, Kf_0p + TYPE(DUAL_NUM) ::total2free, free2SWS, total2SWS, SWS2total + TYPE(DUAL_NUM) ::total2free_0p, free2SWS_0p, total2SWS_0p +! TYPE(DUAL_NUM) ::free2SWS, free2SWS_0p + + TYPE(DUAL_NUM) ::dtempot, dtempot68 + TYPE(DUAL_NUM) ::R + + TYPE(DUAL_NUM) ::pK1o, ma1, mb1, mc1, pK1 + TYPE(DUAL_NUM) ::pK2o, ma2, mb2, mc2, pK2 + + REAL(kind=r8), DIMENSION(12) :: a0, a1, a2, b0, b1, b2 + TYPE(DUAL_NUM), DIMENSION(12) :: deltav, deltak, lnkpok0 + TYPE(DUAL_NUM) ::tmp, nK0we74 + + INTEGER :: i, icount, ipc + + TYPE(DUAL_NUM) ::t, tk, tk0, prb + TYPE(DUAL_NUM) ::s, sqrts, s15, scl + + TYPE(DUAL_NUM) ::Phydro_atm, Patmd, Ptot, Rgas_atm, vbarCO2 + + TYPE (DUAL_NUM),PARAMETER:: zero=DUAL_NUM(0d0,0.D0), ten=DUAL_NUM(10d0,0.D0) + +! local 1-long array version of scalar variables + REAL(kind=rx), DIMENSION(1) :: lon1, lat1 + REAL(kind=rx), DIMENSION(1) :: p1, spra1, sabs1 + +! Arrays to pass optional arguments into or use defaults (Dickson et al., 2007) + CHARACTER(3) :: opB + CHARACTER(2) :: opKf + CHARACTER(3) :: opK1K2 + CHARACTER(7) :: opGAS + CHARACTER(4) :: opS + + ! CONSTANTS + ! ========= + ! Constants in formulation for Pressure effect on K's (Millero, 95) + ! with corrected coefficients for Kb, Kw, Ksi, etc. + + ! index: 1) K1 , 2) K2, 3) Kb, 4) Kw, 5) Ks, 6) Kf, 7) Kspc, 8) Kspa, + ! 9) K1P, 10) K2P, 11) K3P, 12) Ksi + + DATA a0 /-25.5_r8, -15.82_r8, -29.48_r8, -20.02_r8, & + -18.03_r8, -9.78_r8, -48.76_r8, -45.96_r8, & + -14.51_r8, -23.12_r8, -26.57_r8, -29.48_r8/ + DATA a1 /0.1271_r8, -0.0219_r8, 0.1622_r8, 0.1119_r8, & + 0.0466_r8, -0.0090_r8, 0.5304_r8, 0.5304_r8, & + 0.1211_r8, 0.1758_r8, 0.2020_r8, 0.1622_r8/ + DATA a2 / 0.0_r8, 0.0_r8, -2.608e-3_r8, -1.409e-3_r8, & + 0.316e-3_r8, -0.942e-3_r8, 0.0_r8, 0.0_r8, & + -0.321e-3_r8, -2.647e-3_r8, -3.042e-3_r8, -2.6080e-3_r8/ + DATA b0 /-3.08e-3_r8, 1.13e-3_r8, -2.84e-3_r8, -5.13e-3_r8, & + -4.53e-3_r8, -3.91e-3_r8, -11.76e-3_r8, -11.76e-3_r8, & + -2.67e-3_r8, -5.15e-3_r8, -4.08e-3_r8, -2.84e-3_r8/ + DATA b1 /0.0877e-3_r8, -0.1475e-3_r8, 0.0_r8, 0.0794e-3_r8, & + 0.09e-3_r8, 0.054e-3_r8, 0.3692e-3_r8, 0.3692e-3_r8, & + 0.0427e-3_r8, 0.09e-3_r8, 0.0714e-3_r8, 0.0_r8/ + DATA b2 /12*0.0_r8/ + +! Set defaults for optional arguments (in Fortran 90) +! Note: Optional arguments with f2py (python) are set above with +! the !f2py statements that precede each type declaraion + IF (PRESENT(optB)) THEN + opB = optB + ELSE + opB = 'l10' + ENDIF + IF (PRESENT(optKf)) THEN + opKf = optKf + ELSE + opKf = 'pf' + ENDIF + IF (PRESENT(optK1K2)) THEN + opK1K2 = optK1K2 + ELSE + opK1K2 = 'l' + ENDIF + IF (PRESENT(optGAS)) THEN + opGAS = optGAS + ELSE + opGAS = 'Pinsitu' + ENDIF + IF (PRESENT(optS)) THEN + opS = optS + ELSE + opS = 'Sprc' + ENDIF + + R = 83.14472_r8 + + icount = 0 + DO i = 1, N + icount = icount + 1 +! =============================================================== +! Convert model depth -> press; convert model Theta -> T in situ +! =============================================================== +! * Model temperature tracer is usually "potential temperature" +! * Model vertical grid is usually in meters +! BUT carbonate chem routines require pressure & in-situ T +! Thus before computing chemistry, if appropriate, +! convert these 2 model vars (input to this routine) +! - depth [m] => convert to pressure [db] +! - potential temperature (C) => convert to in-situ T (C) +! ------------------------------------------------------- +! 1) Compute pressure [db] from depth [m] and latitude [degrees] (if input is m, for models) + IF (trim(optP) == 'm' ) THEN +! Compute pressure [db] from depth [m] and latitude [degrees] + p = DUAL_NUM(p80(depth(i), lat(i)), (/0.0D0,0.0D0,0.0D0,0.0D0,0.0D0,0.0D0/)) + ELSEIF (trim(optP) == 'db' ) THEN +! In this case (where optP = 'db'), p is input & output (no depth->pressure conversion needed) + p = DUAL_NUM(depth(i), (/0.0D0,0.0D0,0.0D0,0.0D0,0.0D0,0.0D0/)) + ELSE + PRINT *,"optP must be 'm' or 'db'" + STOP + ENDIF + +! 2) Convert potential T to in-situ T (if input is Tpot, i.e. case for models): + IF (trim(optT) == 'Tpot' .OR. trim(optT) == 'tpot') THEN + tempot = temp(i) +! This is the case for most models and some data +! a) Convert the pot. temp on today's "ITS 90" scale to older IPTS 68 scale +! (see Dickson et al., Best Practices Guide, 2007, Chap. 5, p. 7, including footnote) + tempot68 = (tempot - 0.0002) / 0.99975 +! b) Compute "in-situ Temperature" from "Potential Temperature" (both on IPTS 68) + tempis68 = sw_temp_DNAD(sal(i), tempot68, p, zero ) +! c) Convert the in-situ temp on older IPTS 68 scale to modern scale (ITS 90) + tempis = 0.99975*tempis68 + 0.0002 +! Note: parts (a) and (c) above are tiny corrections; +! part (b) is a big correction for deep waters (but zero at surface) + ELSEIF (trim(optT) == 'Tinsitu' .OR. trim(optT) == 'tinsitu') THEN +! When optT = 'Tinsitu', tempis is input & output (no tempot needed) + tempis = temp(i) + tempis68 = (temp(i) - 0.0002) / 0.99975 + dtempot68 = sw_ptmp_DNAD(sal(i), tempis68, p, zero ) + dtempot = 0.99975*dtempot68 + 0.0002 + ELSEIF (trim(optT) == 'Tcsv' .OR. trim(optT) == 'tcsv') THEN +! Convert given conservative temperature to in-situ temperature + ! First convert salinity to absolute sal., if necessary + IF (trim(opS) == 'Sprc') THEN + ! conversion will use default geographic location + spra1(1) = SGLE(sal(i)%x_ad_) + p1(1) = SGLE(p%x_ad_) + CALL sp2sa_geo (spra1, 1, sabs1, p1) + ELSE + sabs1(1) = SGLE(sal(i)%x_ad_) + END IF + ! Then convert temperature + tempis%x_ad_ = gsw_t_from_ct (DBLE(sabs1(1)), temp(i)%x_ad_, p%x_ad_) +! Sorry but no computation of derivatives because gsw_t_from_ct does not support it. +! instead, assume that any derivative d(tempis)/dx is as d(temp)/dx + tempis%xp_ad_(:) = temp(i)%xp_ad_(:) + tempis68 = (tempis - 0.0002_r8) / 0.99975_r8 + ELSE + PRINT *,"optT must be either 'Tpot, 'Tinsitu' or 'Tcsv'" + PRINT *,"you specified optT =", trim(optT) + STOP + ENDIF + +! Compute constants: + IF (temp(i) >= -5. .AND. temp(i) < 1.0e+2) THEN +! Test to indicate if any of input variables are unreasonable + IF ( sal(i) < 0. .OR. sal(i) > 1e+3) THEN + PRINT *, 'i, icount, temp, sal =', i, icount, temp(i), sal(i) + ENDIF +! Zero out negative salinity (prev case for OCMIP2 model w/ slightly negative S in some coastal cells) + IF (sal(i) < 0.0) THEN + ssal = 0.0 + ELSE + ssal = sal(i) + ENDIF + +! Absolute temperature (Kelvin) and related values + t = tempis + tk = 273.15d0 + t + invtk=1.0d0/tk + dlogtk=LOG(tk) + +! Atmospheric pressure + Patmd = Patm(i) + +! Hydrostatic pressure (prb is in bars) + prb = p / 10.0d0 + +! Convert from Absolute to Practical salinity if needed + IF (trim(opS) == 'Sabs') THEN + IF (PRESENT(lon)) THEN + ! longitude is passed in + sabs1(1) = SGLE(ssal%x_ad_) + p1(1) = SGLE(p%x_ad_) + lon1(1) = lon(i) + lat1(1) = lat(i) + ELSE + lon1(1) = 1.e20_rx + lat1(1) = 1.e20_rx + ENDIF + IF (lon1(1) .NE. 1.e20_rx .AND. lat1(1) .NE. 1.e20_rx) THEN + ! longitude and latitude are defined + CALL sa2sp_geo (sabs1, 1, spra1, p1, lon1, lat1) + ELSE + ! use default geographic location + CALL sa2sp_geo (sabs1, 1, spra1, p1) + ENDIF + s%x_ad_ = DBLE(spra1(1)) +! Sorry but no computation of derivatives because sa2sp_geo does not support it. +! instead, assume that any derivative d(s)/dx is as d(sal)/dx + s%xp_ad_(:) = ssal%xp_ad_(:) + ELSE + s = ssal + ENDIF + +! Salinity and simply related values + s = ssal + s2=s*s + sqrts=SQRT(s) + s15=s**1.5d0 + scl=s/1.80655d0 + +! Ionic strength: + is = 19.924d0*s/(1000.0d0 - 1.005d0*s) + is2 = is*is + sqrtis = SQRT(is) + +! Total concentrations for sulfate, fluoride, and boron + +! Sulfate: Morris & Riley (1966) + St(i) = 0.14d0 * scl/96.062d0 + +! Fluoride: Riley (1965) + Ft(i) = 0.000067d0 * scl/18.9984d0 + +! Boron: + IF (trim(opB) == 'l10') THEN +! New formulation from Lee et al (2010) + Bt(i) = 0.0002414d0 * scl/10.811d0 + ELSEIF (trim(opB) == 'u74') THEN +! Classic formulation from Uppström (1974) + Bt(i) = 0.000232d0 * scl/10.811d0 + ELSE + PRINT *,"optB must be 'l10' or 'u74'" + STOP + ENDIF + +! K0 (K Henry) +! CO2(g) <-> CO2(aq.) +! K0 = [CO2]/ fCO2 +! Weiss (1974) [mol/kg/atm] + IF (trim(opGAS) == 'Pzero' .OR. trim(opGAS) == 'pzero') THEN + tk0 = tk !in situ temperature (K) for K0 calculation + Ptot = Patmd !total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Ppot' .OR. trim(opGAS) == 'ppot') THEN + tk0 = dtempot + 273.15d0 !potential temperature (K) for K0 calculation as needed for potential fCO2 & pCO2 + Ptot = Patmd !total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Pinsitu' .OR. trim(opGAS) == 'pinsitu') THEN + tk0 = tk !in situ temperature (K) for K0 calculation + Phydro_atm = prb / 1.01325d0 !convert hydrostatic pressure from bar to atm (1.01325 bar / atm) + Ptot = Patmd + Phydro_atm !total pressure (in atm) = atmospheric pressure + hydrostatic pressure + ELSE + PRINT *, "optGAS must be 'Pzero', 'Ppot', or 'Pinsitu'" + STOP + ENDIF + tmp = 9345.17d0/tk0 - 60.2409d0 + 23.3585d0 * LOG(tk0/100.0d0) + nK0we74 = tmp + s*(0.023517d0 - 0.00023656d0*tk0 + 0.0047036e-4_r8*tk0*tk0) + K0(i) = EXP(nK0we74) + +! K1 = [H][HCO3]/[H2CO3] +! K2 = [H][CO3]/[HCO3] + IF (trim(opK1K2) == 'l') THEN +! Mehrbach et al. (1973) refit, by Lueker et al. (2000) (total pH scale) + K1(i) = ten**(-1.0d0*(3633.86d0*invtk - 61.2172d0 + 9.6777d0*dlogtk & + - 0.011555d0*s + 0.0001152d0*s2)) + K2(i) = ten**(-1*(471.78d0*invtk + 25.9290d0 - 3.16967d0*dlogtk & + - 0.01781d0*s + 0.0001122d0*s2)) + ELSEIF (trim(opK1K2) == 'm10') THEN +! Millero (2010, Mar. Fresh Wat. Res.) (total pH scale) +! pK1o = 6320.813d0*invtk + 19.568224d0*dlogtk -126.34048d0 +! ma1 = 13.4051d0*sqrts + 0.03185d0*s - (5.218e-5)*s2 +! mb1 = -531.095d0*sqrts - 5.7789d0*s +! mc1 = -2.0663d0*sqrts +! pK1 = pK1o + ma1 + mb1*invtk + mc1*dlogtk +! K1(i) = ten**(-pK1) + +! pK2o = 5143.692d0*invtk + 14.613358d0*dlogtk -90.18333d0 +! ma2 = 21.5724d0*sqrts + 0.1212d0*s - (3.714e-4)*s2 +! mb2 = -798.292d0*sqrts - 18.951d0*s +! mc2 = -3.403d0*sqrts +! pK2 = pK2o + ma2 + mb2*invtk + mc2*dlogtk +! K2(i) = ten**(-pK2) + +! Millero (2010, Mar. Fresh Wat. Res.) (seawater pH scale) + pK1o = 6320.813d0*invtk + 19.568224d0*dlogtk -126.34048d0 + ma1 = 13.4038d0*sqrts + 0.03206d0*s - (5.242e-5)*s2 + mb1 = -530.659d0*sqrts - 5.8210d0*s + mc1 = -2.0664d0*sqrts + pK1 = pK1o + ma1 + mb1*invtk + mc1*dlogtk + K1(i) = ten**(-pK1) + + pK2o = 5143.692d0*invtk + 14.613358d0*dlogtk -90.18333d0 + ma2 = 21.3728d0*sqrts + 0.1218d0*s - (3.688e-4)*s2 + mb2 = -788.289d0*sqrts - 19.189d0*s + mc2 = -3.374d0*sqrts + pK2 = pK2o + ma2 + mb2*invtk + mc2*dlogtk + K2(i) = ten**(-pK2) + ELSE + PRINT *, "optK1K2 must be either 'l' or 'm10'" + STOP + ENDIF + +! Kb = [H][BO2]/[HBO2] +! (total scale) +! Millero p.669 (1995) using data from Dickson (1990) + Kb(i) = EXP((-8966.90d0 - 2890.53d0*sqrts - 77.942d0*s + & + 1.728d0*s15 - 0.0996d0*s2)*invtk + & + (148.0248d0 + 137.1942d0*sqrts + 1.62142d0*s) + & + (-24.4344d0 - 25.085d0*sqrts - 0.2474d0*s) * & + dlogtk + 0.053105d0*sqrts*tk) + +! K1p = [H][H2PO4]/[H3PO4] +! (seawater scale) +! DOE(1994) eq 7.2.20 with footnote using data from Millero (1974) +! Millero (1995), p.670, eq. 65 +! Use Millero equation's 115.540 constant instead of 115.525 (Dickson et al., 2007). +! The latter is only an crude approximation to convert to Total scale (by subtracting 0.015) +! And we want to stay on the SWS scale anyway for the pressure correction later. + K1p(i) = EXP(-4576.752d0*invtk + 115.540d0 - 18.453d0*dlogtk + & + (-106.736d0*invtk + 0.69171d0) * sqrts + & + (-0.65643d0*invtk - 0.01844d0) * s) + +! K2p = [H][HPO4]/[H2PO4] +! (seawater scale) +! DOE(1994) eq 7.2.23 with footnote using data from Millero (1974)) +! Millero (1995), p.670, eq. 66 +! Use Millero equation's 172.1033 constant instead of 172.0833 (Dickson et al., 2007). +! The latter is only an crude approximation to convert to Total scale (by subtracting 0.015) +! And we want to stay on the SWS scale anyway for the pressure correction later. + K2p(i) = EXP(-8814.715d0*invtk + 172.1033d0 - 27.927d0*dlogtk + & + (-160.340d0*invtk + 1.3566d0)*sqrts + & + (0.37335d0*invtk - 0.05778d0)*s) + +! K3p = [H][PO4]/[HPO4] +! (seawater scale) +! DOE(1994) eq 7.2.26 with footnote using data from Millero (1974) +! Millero (1995), p.670, eq. 67 +! Use Millero equation's 18.126 constant instead of 18.141 (Dickson et al., 2007). +! The latter is only an crude approximation to convert to Total scale (by subtracting 0.015) +! And we want to stay on the SWS scale anyway for the pressure correction later. + K3p(i) = EXP(-3070.75d0*invtk - 18.126d0 + & + (17.27039d0*invtk + 2.81197d0) * & + sqrts + (-44.99486d0*invtk - 0.09984d0) * s) + +! Ksi = [H][SiO(OH)3]/[Si(OH)4] +! (seawater scale) +! Millero (1995), p.671, eq. 72 +! Use Millero equation's 117.400 constant instead of 117.385 (Dickson et al., 2007). +! The latter is only an crude approximation to convert to Total scale (by subtracting 0.015) +! And we want to stay on the SWS scale anyway for the pressure correction later. + Ksi(i) = EXP(-8904.2d0*invtk + 117.400d0 - 19.334d0*dlogtk + & + (-458.79d0*invtk + 3.5913d0) * sqrtis + & + (188.74d0*invtk - 1.5998d0) * is + & + (-12.1652d0*invtk + 0.07871d0) * is2 + & + LOG(1.0 - 0.001005d0*s)) + +! Kw = [H][OH] +! (seawater scale) +! Millero (1995) p.670, eq. 63 from composite data +! Use Millero equation's 148.9802 constant instead of 148.9652 (Dickson et al., 2007). +! The latter is only an crude approximation to convert to Total scale (by subtracting 0.015) +! And we want to stay on the SWS scale anyway for the pressure correction later. + Kw(i) = EXP(-13847.26d0*invtk + 148.9802d0 - 23.6521d0*dlogtk + & + (118.67d0*invtk - 5.977d0 + 1.0495d0 * dlogtk) * & + sqrts - 0.01615d0 * s) + +! Ks = [H][SO4]/[HSO4] +! (free scale) +! Dickson (1990, J. chem. Thermodynamics 22, 113) + Ks_0p = EXP(-4276.1d0*invtk + 141.328d0 - 23.093d0*dlogtk & + + (-13856.d0*invtk + 324.57d0 - 47.986d0*dlogtk) * sqrtis & + + (35474.d0*invtk - 771.54 + 114.723d0*dlogtk) * is & + - 2698.d0*invtk*is**1.5 + 1776.d0*invtk*is2 & + + LOG(1.0d0 - 0.001005d0*s)) + +! Kf = [H][F]/[HF] +! (total scale) + IF (trim(opKf) == 'dg') THEN +! Dickson and Riley (1979) -- change pH scale to total (following Dickson & Goyet, 1994) + Kf_0p = EXP(1590.2d0*invtk - 12.641d0 + 1.525d0*sqrtis + & + LOG(1.0d0 - 0.001005d0*s) + & + LOG(1.0d0 + St(i)/Ks_0p)) + ELSEIF (trim(opKf) == 'pf') THEN +! Perez and Fraga (1987) - Already on Total scale (no need for last line above) +! Formulation as given in Dickson et al. (2007) + Kf_0p = EXP(874.d0*invtk - 9.68d0 + 0.111d0*sqrts) + ELSE + PRINT *, "optKf must be either 'dg' or 'pf'" + STOP + ENDIF + +! Kspc (calcite) - apparent solubility product of calcite +! (no scale) +! Kspc = [Ca2+] [CO32-] when soln is in equilibrium w/ calcite +! Mucci 1983 mol/kg-soln + Kspc(i) = ten**(-171.9065d0 - 0.077993d0*tk + 2839.319d0/tk & + + 71.595d0*LOG10(tk) & + + (-0.77712d0 + 0.0028426d0*tk + 178.34d0/tk)*sqrts & + -0.07711d0*s + 0.0041249d0*s15 ) + + +! Kspa (aragonite) - apparent solubility product of aragonite +! (no scale) +! Kspa = [Ca2+] [CO32-] when soln is in equilibrium w/ aragonite +! Mucci 1983 mol/kg-soln + Kspa(i) = ten**(-171.945d0 - 0.077993d0*tk + 2903.293d0/tk & + +71.595d0*LOG10(tk) & + +(-0.068393d0 + 0.0017276d0*tk + 88.135d0/tk)*sqrts & + -0.10018d0*s + 0.0059415d0*s15 ) + +! Pressure effect on K0 based on Weiss (1974, equation 5) + Rgas_atm = 82.05736_r8 ! (cm3 * atm) / (mol * K) CODATA (2006) + vbarCO2 = 32.3_r8 ! partial molal volume (cm3 / mol) from Weiss (1974, Appendix, paragraph 3) + K0(i) = K0(i) * exp( ((1-Ptot)*vbarCO2)/(Rgas_atm*tk0) ) ! Weiss (1974, equation 5) + +! Pressure effect on all other K's (based on Millero, (1995) +! index: K1(1), K2(2), Kb(3), Kw(4), Ks(5), Kf(6), Kspc(7), Kspa(8), +! K1p(9), K2p(10), K3p(11), Ksi(12) + DO ipc = 1, 12 + deltav(ipc) = a0(ipc) + a1(ipc) *t + a2(ipc) *t*t + deltak(ipc) = (b0(ipc) + b1(ipc) *t + b2(ipc) *t*t) + lnkpok0(ipc) = (-(deltav(ipc)) & + +(0.5d0*deltak(ipc) * prb) & + ) * prb/(R*tk) + END DO + +! Pressure correction on Ks (Free scale) + Ks(i) = Ks_0p*EXP(lnkpok0(5)) +! Conversion factor total -> free scale + total2free = 1.d0/(1.d0 + St(i)/Ks(i)) ! Kfree = Ktotal*total2free +! Conversion factor total -> free scale at pressure zero + total2free_0p = 1.d0/(1.d0 + St(i)/Ks_0p) ! Kfree = Ktotal*total2free + +! Pressure correction on Kf +! Kf must be on FREE scale before correction + Kf_0p = Kf_0p * total2free_0p !Convert from Total to Free scale (pressure 0) + Kf(i) = Kf_0p * EXP(lnkpok0(6)) !Pressure correction (on Free scale) + Kf(i) = Kf(i)/total2free !Convert back from Free to Total scale + +! Convert between seawater and total hydrogen (pH) scales + free2SWS = 1.d0 + St(i)/Ks(i) + Ft(i)/(Kf(i)*total2free) ! using Kf on free scale + total2SWS = total2free * free2SWS ! KSWS = Ktotal*total2SWS + SWS2total = 1.d0 / total2SWS +! Conversion at pressure zero + free2SWS_0p = 1.d0 + St(i)/Ks_0p + Ft(i)/(Kf_0p) ! using Kf on free scale + total2SWS_0p = total2free_0p * free2SWS_0p ! KSWS = Ktotal*total2SWS + +! Convert from Total to Seawater scale before pressure correction +! Must change to SEAWATER scale: K1, K2, Kb + IF (trim(optK1K2) == 'l') THEN + K1(i) = K1(i)*total2SWS_0p + K2(i) = K2(i)*total2SWS_0p + !This conversion is unnecessary for the K1,K2 from Millero (2010), + !since we use here the formulation already on the seawater scale + ENDIF + Kb(i) = Kb(i)*total2SWS_0p + +! Already on SEAWATER scale: K1p, K2p, K3p, Kb, Ksi, Kw + +! Other contants (keep on another scale): +! - K0 (independent of pH scale, already pressure corrected) +! - Ks (already on Free scale; already pressure corrected) +! - Kf (already on Total scale; already pressure corrected) +! - Kspc, Kspa (independent of pH scale; pressure-corrected below) + +! Perform actual pressure correction (on seawater scale) + K1(i) = K1(i)*EXP(lnkpok0(1)) + K2(i) = K2(i)*EXP(lnkpok0(2)) + Kb(i) = Kb(i)*EXP(lnkpok0(3)) + Kw(i) = Kw(i)*EXP(lnkpok0(4)) + Kspc(i) = Kspc(i)*EXP(lnkpok0(7)) + Kspa(i) = Kspa(i)*EXP(lnkpok0(8)) + K1p(i) = K1p(i)*EXP(lnkpok0(9)) + K2p(i) = K2p(i)*EXP(lnkpok0(10)) + K3p(i) = K3p(i)*EXP(lnkpok0(11)) + Ksi(i) = Ksi(i)*EXP(lnkpok0(12)) + +! Convert back to original total scale: + K1(i) = K1(i) *SWS2total + K2(i) = K2(i) *SWS2total + K1p(i) = K1p(i)*SWS2total + K2p(i) = K2p(i)*SWS2total + K3p(i) = K3p(i)*SWS2total + Kb(i) = Kb(i) *SWS2total + Ksi(i) = Ksi(i)*SWS2total + Kw(i) = Kw(i) *SWS2total + + ELSE + + K0(i) = 1.e20_r8 + K1(i) = 1.e20_r8 + K2(i) = 1.e20_r8 + Kb(i) = 1.e20_r8 + Kw(i) = 1.e20_r8 + Ks(i) = 1.e20_r8 + Kf(i) = 1.e20_r8 + Kspc(i) = 1.e20_r8 + Kspa(i) = 1.e20_r8 + K1p(i) = 1.e20_r8 + K2p(i) = 1.e20_r8 + K3p(i) = 1.e20_r8 + Ksi(i) = 1.e20_r8 + Bt(i) = 1.e20_r8 + Ft(i) = 1.e20_r8 + St(i) = 1.e20_r8 + + ENDIF + + END DO + + RETURN +END SUBROUTINE constants_DNAD +END MODULE mconstants diff --git a/src/int_recom/recom/depth2press.F90 b/src/int_recom/recom/depth2press.F90 new file mode 100755 index 000000000..796bd61a7 --- /dev/null +++ b/src/int_recom/recom/depth2press.F90 @@ -0,0 +1,45 @@ +!> \file depth2press.f90 +!! \BRIEF +!> Module with depth2press subroutine - converts depth to pressure +!! with Saunders (1981) formula +MODULE mdepth2press +CONTAINS +!> Compute pressure [db] from depth [m] & latitude [degrees north]. +!! This subroutine is needed because p80 is a function (using scalars not arrays) +SUBROUTINE depth2press(depth, lat, pdbar, N) + + ! Purpose: + ! Compute pressure [db] from depth [m] & latitude [degrees north]. + ! Needed because p80 is a function + + USE msingledouble + USE mp80 + IMPLICIT NONE + + !> number of records +!f2py intent(hide) n + INTEGER, intent(in) :: N + +! INPUT variables + !> depth [m] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: depth + !> latitude [degrees] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: lat + +! OUTPUT variables: + !> pressure [db] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: pdbar + + ! Local variables + INTEGER :: i + +! REAL(kind=rx) :: p80 +! EXTERNAL p80 + + DO i = 1,N + pdbar(i) = p80(depth(i), lat(i)) + END DO + + RETURN +END SUBROUTINE depth2press +END MODULE mdepth2press diff --git a/src/int_recom/recom/derivauto.F90 b/src/int_recom/recom/derivauto.F90 new file mode 100755 index 000000000..c1b691624 --- /dev/null +++ b/src/int_recom/recom/derivauto.F90 @@ -0,0 +1,453 @@ +!> \file derivauto.f90 +!! \BRIEF +!> Module with derivauto subroutine - compute partial derivatives of carbonate system vars from DIC,Alk,T,S,P,nuts +MODULE mderivauto +CONTAINS +!> Computes partial derivatives of standard carbonate system variables (pH, CO2*, HCO3- and CO32-, OmegaA, OmegaC, R) +!! as 1D arrays FROM +!! temperature, salinity, pressure, +!! total alkalinity (ALK), dissolved inorganic carbon (DIC), +!! silica and phosphate concentrations (all 1-D arrays) +!! WITH RESPECT TO +!! Alk, DIC, phosphate, silicate, temperature and salinity. +SUBROUTINE derivauto(ph_deriv, pco2_deriv, fco2_deriv, co2_deriv, hco3_deriv, co3_deriv, & + OmegaA_deriv, OmegaC_deriv, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, & + optCON, optT, optP, optB, optK1K2, optKf, optGAS ) + ! Purpose: + ! Computes other standard carbonate system variables (pH, CO2*, HCO3- and CO32-, OmegaA, OmegaC, R) + ! as 1D arrays + ! FROM: + ! temperature, salinity, pressure, + ! total alkalinity (ALK), dissolved inorganic carbon (DIC), + ! silica and phosphate concentrations (all 1-D arrays) + + ! INPUT variables: + ! ================ + ! Patm = atmospheric pressure [atm] + ! depth = depth [m] (with optP='m', i.e., for a z-coordinate model vertical grid is depth, not pressure) + ! = pressure [db] (with optP='db') + ! lat = latitude [degrees] (needed to convert depth to pressure, i.e., when optP='m') + ! = dummy array (unused when optP='db') + ! temp = potential temperature [degrees C] (with optT='Tpot', i.e., models carry tempot, not in situ temp) + ! = in situ temperature [degrees C] (with optT='Tinsitu', e.g., for data) + ! sal = salinity in [psu] + ! alk = total alkalinity in [eq/m^3] with optCON = 'mol/m3' + ! = [eq/kg] with optCON = 'mol/kg' + ! dic = dissolved inorganic carbon [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! sil = silica [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! phos = phosphate [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! INPUT options: + ! ============== + ! ----------- + ! optCON: choose input & output concentration units - mol/kg (data) vs. mol/m^3 (models) + ! ----------- + ! -> 'mol/kg' for DIC, ALK, sil, & phos given on mokal scale, i.e., in mol/kg (std DATA units) + ! -> 'mol/m3' for DIC, ALK, sil, & phos given in mol/m^3 (std MODEL units) + ! ----------- + ! optT: choose in situ vs. potential temperature as input + ! --------- + ! NOTE: Carbonate chem calculations require IN-SITU temperature (not potential Temperature) + ! -> 'Tpot' means input is pot. Temperature (in situ Temp "tempis" is computed) + ! -> 'Tinsitu' means input is already in-situ Temperature, not pot. Temp ("tempis" not computed) + ! --------- + ! optP: choose depth (m) vs pressure (db) as input + ! --------- + ! -> 'm' means "depth" input is in "m" (thus in situ Pressure "p" [db] is computed) + ! -> 'db' means "depth" input is already in situ pressure [db], not m (thus p = depth) + ! --------- + ! optB: choose total boron formulation - Uppström (1974) vs. Lee et al. (2010) + ! --------- + ! -> 'u74' means use classic formulation of Uppström (1974) for total Boron + ! -> 'l10' means use newer formulation of Lee et al. (2010) for total Boron + ! --------- + ! optK1K2: + ! --------- + ! -> 'l' means use Lueker et al. (2000) formulations for K1 & K2 (recommended by Dickson et al. 2007) + ! **** BUT this should only be used when 2 < T < 35 and 19 < S < 43 + ! -> 'm10' means use Millero (2010) formulation for K1 & K2 (see Dickson et al., 2007) + ! **** Valid for 0 < T < 50°C and 1 < S < 50 psu + ! ---------- + ! optKf: + ! ---------- + ! -> 'pf' means use Perez & Fraga (1987) formulation for Kf (recommended by Dickson et al., 2007) + ! **** BUT Valid for 9 < T < 33°C and 10 < S < 40. + ! -> 'dg' means use Dickson & Riley (1979) formulation for Kf (recommended by Dickson & Goyet, 1994) + ! ----------- + ! optGAS: choose in situ vs. potential fCO2 and pCO2 + ! --------- + ! PRESSURE corrections for K0 and the fugacity coefficient (Cf) + ! -> 'Pzero' = 'zero order' fCO2 and pCO2 (typical approach, which is flawed) + ! considers in situ T & only atm pressure (hydrostatic=0) + ! -> 'Ppot' = 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + ! considers potential T & only atm pressure (hydrostatic press = 0) + ! -> 'Pinsitu' = 'in situ' fCO2 and pCO2 (accounts for huge effects of pressure) + ! considers in situ T & total pressure (atm + hydrostatic) + ! --------- + + ! OUTPUT variables: + ! ================= + ! + ! For each chemical OUTPUT variable, there is an OPTIONAL one that contains + ! partial derivatives with respect to 6 input variables : + ! alk, dic, phosphate, silicate, temperature and salinity. + ! + ! ph_deriv = derivatives of pH on total scale + ! pco2_deriv = derivatives of CO2 partial pressure (uatm) + ! fco2_deriv = derivatives of CO2 fugacity (uatm) + ! co2_deriv = derivatives of aqueous CO2 concentration in [mol/kg] or [mol/m^3] depending on optCON + ! hco3_deriv = derivatives of bicarbonate (HCO3-) concentration in [mol/kg] or [mol/m^3] depending on optCON + ! co3_deriv = derivatives of carbonate (CO3--) concentration in [mol/kg] or [mol/m^3] depending on optCON + ! OmegaA_deriv = derivatives of Omega for aragonite, i.e., the aragonite saturation state + ! OmegaC_deriv = derivatives of Omega for calcite, i.e., the calcite saturation state + ! + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + + USE msingledouble + USE mconstants + USE mp80 + USE mrho + USE msw_temp + USE mvarsolver + USE Dual_Num_Auto_Diff + + IMPLICIT NONE + +! Input variables + !> number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> either in situ temperature (when optT='Tinsitu', typical data) + !! OR potential temperature (when optT='Tpot', typical models) [degree C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sal + !> total alkalinity in [eq/m^3] (when optCON = 'mol/m3') OR in [eq/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: alk + !> dissolved inorganic carbon in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: dic + !> SiO2 concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sil + !> phosphate concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: phos + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm + !> depth in \b meters (when optP='m') or \b decibars (when optP='db') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: depth + !> latitude [degrees north] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: lat + + !> choose either \b 'mol/kg' (std DATA units) or \b 'mol/m3' (std MODEL units) to select + !! concentration units for input (for alk, dic, sil, phos) & output (co2, hco3, co3) + CHARACTER(6), INTENT(in) :: optCON + !> choose \b 'Tinsitu' for in situ temperature or \b 'Tpot' for potential temperature (in situ Temp is computed, needed for models) + CHARACTER(7), INTENT(in) :: optT + !> for depth input, choose \b "db" for decibars (in situ pressure) or \b "m" for meters (pressure is computed, needed for models) + CHARACTER(2), INTENT(in) :: optP + !> for total boron, choose either \b 'u74' (Uppstrom, 1974) or \b 'l10' (Lee et al., 2010). + !! The 'l10' formulation is based on 139 measurements (instead of 20), + !! uses a more accurate method, and + !! generally increases total boron in seawater by 4% +!f2py character*3 optional, intent(in) :: optB='u74' + CHARACTER(3), OPTIONAL, INTENT(in) :: optB + !> for Kf, choose either \b 'pf' (Perez & Fraga, 1987) or \b 'dg' (Dickson & Riley, 1979) +!f2py character*2 optional, intent(in) :: optKf='pf' + CHARACTER(2), OPTIONAL, INTENT(in) :: optKf + !> for K1,K2 choose either \b 'l' (Lueker et al., 2000) or \b 'm10' (Millero, 2010) +!f2py character*3 optional, intent(in) :: optK1K2='l' + CHARACTER(3), OPTIONAL, INTENT(in) :: optK1K2 + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(7), OPTIONAL, INTENT(in) :: optGAS + +! Output variables: + !> derivatives of pH on the total scale + REAL(kind=rx), INTENT(out), DIMENSION(6,N) :: ph_deriv + !> derivatives of CO2 partial pressure [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(6,N) :: pco2_deriv + !> derivatives of CO2 fugacity [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(6,N) :: fco2_deriv + !> derivatives of aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(6,N) :: co2_deriv + !> derivatives of bicarbonate ion (HCO3-) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(6,N) :: hco3_deriv + !> derivatives of carbonate ion (CO3--) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(6,N) :: co3_deriv + !> derivatives of Omega for aragonite, i.e., the aragonite saturation state + REAL(kind=rx), INTENT(out), DIMENSION(6,N) :: OmegaA_deriv + !> derivatives of Omega for calcite, i.e., the calcite saturation state + REAL(kind=rx), INTENT(out), DIMENSION(6,N) :: OmegaC_deriv + +! Local variables + !> pressure [decibars]; p = f(depth, latitude) if computed from depth [m] (when optP='m') OR p = depth [db] (when optP='db') + REAL(kind=rx) :: press + + REAL(kind=rx) :: ssal, salk, sdic, ssil, sphos + + TYPE(DUAL_NUM) :: tempot, tempis68, tempot68, tempis90 +! REAL(kind=r8) :: dtempot, dtempot68 + TYPE(DUAL_NUM) :: drho_sw, drho + + TYPE(DUAL_NUM), DIMENSION(1) :: K0, K1, K2, Kb, Kw, Ks, Kf, Kspc + TYPE(DUAL_NUM), DIMENSION(1) :: Kspa, K1p, K2p, K3p, Ksi + TYPE(DUAL_NUM), DIMENSION(1) :: St, Ft, Bt + + TYPE(DUAL_NUM), DIMENSION(1) :: Patmd + TYPE(DUAL_NUM) :: pd + REAL(kind=r8) :: Ptot + REAL(kind=r8) :: Phydro_atm + + INTEGER :: i, icount + + TYPE(DUAL_NUM), DIMENSION(1) :: t + TYPE(DUAL_NUM), DIMENSION(1) :: s + TYPE(DUAL_NUM) :: prb + TYPE(DUAL_NUM) :: tc, ta + TYPE(DUAL_NUM) :: sit, pt + + ! Carbonate system output variables + TYPE(DUAL_NUM) :: dph, dpco2, dfco2, dco2, dhco3, dco3, dOmegaA, dOmegaC + + TYPE (DUAL_NUM),PARAMETER:: zero = DUAL_NUM(0d0 ,(/0.0D0,0.0D0,0.0D0,0.0D0,0.0D0,0.0D0/)) + +! Arrays to pass optional arguments into or use defaults (Dickson et al., 2007) + CHARACTER(3) :: opB + CHARACTER(2) :: opKf + CHARACTER(3) :: opK1K2 + CHARACTER(7) :: opGAS + +! Set defaults for optional arguments (in Fortran 90) +! Note: Optional arguments with f2py (python) are set above with +! the !f2py statements that precede each type declaraion + IF (PRESENT(optB)) THEN + opB = optB + ELSE +! Default is Uppstrom (1974) for total boron + opB = 'u74' + ENDIF + IF (PRESENT(optKf)) THEN + opKf = optKf + ELSE +! Default is Perez & Fraga (1987) for Kf + opKf = 'pf' + ENDIF + IF (PRESENT(optK1K2)) THEN + opK1K2 = optK1K2 + ELSE +! Default is Lueker et al. 2000) for K1 & K2 + opK1K2 = 'l' + ENDIF + IF (PRESENT(optGAS)) THEN + opGAS = optGAS + ELSE + opGAS = 'Pinsitu' + ENDIF + + icount = 0 + DO i = 1, N + icount = icount + 1 +! =============================================================== +! Convert model depth -> press; convert model Theta -> T in situ +! =============================================================== +! * Model temperature tracer is usually "potential temperature" +! * Model vertical grid is usually in meters +! BUT carbonate chem routines require pressure & in-situ T +! Thus before computing chemistry, if appropriate, +! convert these 2 model vars (input to this routine) +! - depth [m] => convert to pressure [db] +! - potential temperature (C) => convert to in-situ T (C) +! ------------------------------------------------------- +! 1) Compute pressure [db] from depth [m] and latitude [degrees] (if input is m, for models) + !print *,"optP =", optP, "end" + IF (trim(optP) == 'm' ) THEN +! Compute pressure [db] from depth [m] and latitude [degrees] + press = p80(depth(i), lat(i)) + ELSEIF (trim(optP) == 'db') THEN +! In this case (where optP = 'db'), p is input & output (no depth->pressure conversion needed) + press = depth(i) + ELSE + !print *,"optP =", optP, "end" + PRINT *,"optP must be either 'm' or 'db'" + STOP + ENDIF + +! 2) Convert potential T to in-situ T (if input is Tpot, i.e. case for models): + IF (trim(optT) == 'Tpot' .OR. trim(optT) == 'tpot') THEN + tempot = DUAL_NUM(DBLE(temp(i)),(/0.0D0,0.0D0,0.0D0,0.0D0,1.0D0,0.0D0/)) +! This is the case for most models and some data +! a) Convert the pot. temp on today's "ITS 90" scale to older IPTS 68 scale +! (see Dickson et al., Best Practices Guide, 2007, Chap. 5, p. 7, including footnote) + tempot68 = (tempot - 0.0002) / 0.99975 +! b) Compute "in-situ Temperature" from "Potential Temperature" (both on IPTS 68) +! Salinity (in double precision and with derivatives) + s(1) = DUAL_NUM(DBLE(sal(i)),(/0.0D0,0.0D0,0.0D0,0.0D0,0.0D0,1.0D0/)) +! Pressure (in double precision and with derivatives) + pd = DUAL_NUM(DBLE(press),(/0.0D0,0.0D0,0.0D0,0.0D0,0.0D0,0.0D0/)) + tempis68 = sw_temp_DNAD(s(1), tempot68, pd, zero ) +! c) Convert the in-situ temp on older IPTS 68 scale to modern scale (ITS 90) + tempis90 = 0.99975*tempis68 + 0.0002 +! Note: parts (a) and (c) above are tiny corrections; +! part (b) is a big correction for deep waters (but zero at surface) + ELSEIF (trim(optT) == 'Tinsitu' .OR. trim(optT) == 'tinsitu') THEN +! When optT = 'Tinsitu', tempis is input & output (no tempot needed) + tempis90 = DUAL_NUM(DBLE(temp(i)),(/0.0D0,0.0D0,0.0D0,0.0D0,1.0D0,0.0D0/)) + tempis68 = (tempis90 - 0.0002) / 0.99975 +! dtempot68 = sw_ptmp(DBLE(sal(i)), DBLE(tempis68), DBLE(p), 0.0d0) +! dtempot = 0.99975*dtempot68 + 0.0002 + ELSE + PRINT *,"optT must be either 'Tpot' or 'Tinsitu'" + PRINT *,"you specified optT =", trim(optT) + STOP + ENDIF + +! ================================================================ +! Carbonate chemistry computations +! ================================================================ + IF (dic(i) > 0. .AND. dic(i) < 1.0e+4) THEN +! Test to indicate if any of input variables are unreasonable + IF ( sal(i) < 0. & + .OR. alk(i) < 0. & + .OR. dic(i) < 0. & + .OR. sil(i) < 0. & + .OR. phos(i) < 0. & + .OR. sal(i) > 1e+3 & + .OR. alk(i) > 1e+3 & + .OR. dic(i) > 1e+3 & + .OR. sil(i) > 1e+3 & + .OR. phos(i) > 1e+3) THEN + PRINT *, 'i, icount, tempot, sal, alk, dic, sil, phos =', & + i, icount, tempot, sal(i), alk(i), dic(i), sil(i), phos(i) + ENDIF +! Zero out any negative salinity, phosphate, silica, dic, and alk + IF (sal(i) < 0.0) THEN + ssal = 0.0 + ELSE + ssal = sal(i) + ENDIF + IF (phos(i) < 0.0) THEN + sphos = 0.0 + ELSE + sphos = phos(i) + ENDIF + IF (sil(i) < 0.0) THEN + ssil = 0.0 + ELSE + ssil = sil(i) + ENDIF + IF (dic(i) < 0.0) THEN + sdic = 0.0 + ELSE + sdic = dic(i) + ENDIF + IF (alk(i) < 0.0) THEN + salk = 0.0 + ELSE + salk = alk(i) + ENDIF + +! Atmospheric pressure + Patmd(1) = DUAL_NUM(DBLE(Patm(i)),(/0.0D0,0.0D0,0.0D0,0.0D0,0.0D0,0.0D0/)) +! Hydrostatic pressure (prb is in bars) + prb = DUAL_NUM(DBLE(press) / 10.0d0,(/0.0D0,0.0D0,0.0D0,0.0D0,0.0D0,0.0D0/)) + Phydro_atm = prb%x_ad_ / 1.01325d0 ! convert hydrostatic pressure from bar to atm (1.01325 bar / atm) +! Total pressure [atm] + IF (trim(opGAS) == 'Pzero' .OR. trim(opGAS) == 'pzero') THEN + Ptot = Patmd(1)%x_ad_ ! total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Ppot' .OR. trim(opGAS) == 'ppot') THEN + Ptot = Patmd(1)%x_ad_ ! total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Pinsitu' .OR. trim(opGAS) == 'pinsitu') THEN + Ptot = Patmd(1)%x_ad_ + Phydro_atm ! total pressure (in atm) = atmospheric pressure + hydrostatic pressure + ELSE + PRINT *, "optGAS must be 'Pzero', 'Ppot', or 'Pinsitu'" + STOP + ENDIF + +! Salinity (in double precision and with derivative w/ respect to itelf) + s(1) = DUAL_NUM(DBLE(ssal),(/0.0D0,0.0D0,0.0D0,0.0D0,0.0D0,1.0D0/)) + +! Temperature (Celsius) and its derivatives relative to input variables +! (variable 't' used here just for calculation of constants) + t(1) = DUAL_NUM(DBLE(temp(i)),(/0.0D0,0.0D0,0.0D0,0.0D0,1.0D0,0.0D0/)) + +! Get all equilibrium constants and total concentrations of SO4, F, B +! and their derivatives with respect to temperature and salinity + CALL constants_DNAD( K0, K1, K2, Kb, Kw, Ks, Kf, Kspc, Kspa, & + K1p, K2p, K3p, Ksi, St, Ft, Bt, & + t, s, Patmd, & + depth(i), lat(i), 1, & + optT, optP, opB, opK1K2, opKf, opGAS ) + +! Compute in-situ density [kg/m^3] +! and derivatives with respect to temperature and salinity + drho_sw = rho_DNAD(s(1), tempis68, prb) + +! Either convert units of DIC and ALK (MODEL case) or not (DATA case) + IF (trim(optCON) == 'mol/kg') THEN +! No conversion: drho = 1. +! print *,'DIC and ALK already given in mol/kg (std DATA units)' + drho = DUAL_NUM(1.0,(/0.0D0,0.0D0,0.0D0,0.0D0,0.0D0,0.0D0/)) + ELSEIF (trim(optCON) == 'mol/m3') THEN +! Do conversion: +! print *,"DIC and ALK given in mol/m^3 (std MODEL units)" + drho = drho_sw + ELSE + PRINT *,"optCON must be either 'mol/kg' or 'mol/m3'" + STOP + ENDIF + +! Initialise ta, tc, pt and sit and their derivatives + ta = DUAL_NUM(DBLE(salk), (/1.0D0,0.0D0,0.0D0,0.0D0,0.0D0,0.0D0/)) / drho + tc = DUAL_NUM(DBLE(sdic), (/0.0D0,1.0D0,0.0D0,0.0D0,0.0D0,0.0D0/)) / drho + pt = DUAL_NUM(DBLE(sphos), (/0.0D0,0.0D0,1.0D0,0.0D0,0.0D0,0.0D0/)) / drho + sit = DUAL_NUM(DBLE(ssil), (/0.0D0,0.0D0,0.0D0,1.0D0,0.0D0,0.0D0/)) / drho + +! Solve for pH and all other variables +! ------------------------------------ + +! Compute chemical variables and their derivatives + CALL varsolver_DNAD(dph, dpco2, dfco2, dco2, dhco3, dco3, dOmegaA, dOmegaC, & + tempis90, s(1), ta, tc, pt, sit, & + Bt(1), St(1), Ft(1), & + K0(1), K1(1), K2(1), Kb(1), Kw(1), Ks(1), Kf(1), & + Kspc(1), Kspa(1), K1p(1), K2p(1), K3p(1), Ksi(1), & + Patmd(1), prb, drho, opGAS ) + +! Save derivatives + ph_deriv(:,i) = SGLE(dph%xp_ad_) + pCO2_deriv(:,i) = SGLE(dpCO2%xp_ad_) + fCO2_deriv(:,i) = SGLE(dfCO2%xp_ad_) + co2_deriv(:,i) = SGLE(dco2%xp_ad_) + hco3_deriv(:,i) = SGLE(dhco3%xp_ad_) + co3_deriv(:,i) = SGLE(dco3%xp_ad_) + OmegaA_deriv(:,i) = SGLE(dOmegaA%xp_ad_) + OmegaC_deriv(:,i) = SGLE(dOmegaC%xp_ad_) + + ELSE + + ph_deriv(:,i) = 1.e20_rx + pCO2_deriv(:,i) = 1.e20_rx + fCO2_deriv(:,i) = 1.e20_rx + co2_deriv(:,i) = 1.e20_rx + hco3_deriv(:,i) = 1.e20_rx + co3_deriv(:,i) = 1.e20_rx + OmegaA_deriv(:,i) = 1.e20_rx + OmegaC_deriv(:,i) = 1.e20_rx + + ENDIF + + END DO + + RETURN +END SUBROUTINE derivauto +END MODULE mderivauto diff --git a/src/int_recom/recom/derivnum.F90 b/src/int_recom/recom/derivnum.F90 new file mode 100755 index 000000000..0baf78835 --- /dev/null +++ b/src/int_recom/recom/derivnum.F90 @@ -0,0 +1,543 @@ +!> \file derivnum.f90 +!! \BRIEF +!> Module with derivnum subroutine - compute numerical derivatives of carbonate system vars +!> with respect to DIC, Alk, total phosphorus, total silicon, T, S +MODULE mderivnum +CONTAINS + + +!> Computes numerical derivatives of standard carbonate system variables +!> (H+, pCO2, fCO2, CO2*, HCO3- and CO3--, OmegaA, OmegaC) with respect to one given input variable +!! Input variables are : +!! temperature, salinity, pressure, +!! total alkalinity (ALK), dissolved inorganic carbon (DIC), +!! silica and phosphate concentrations +SUBROUTINE derivnum (dh_dx, dpco2_dx, dfco2_dx, dco2_dx, dhco3_dx, & + dco3_dx, dOmegaA_dx, dOmegaC_dx, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, derivar, & + optCON, optT, optP, optB, optK1K2, optKf, optGAS, optS, lon ) + ! Purpose: + ! Computes numerical derivatives of standard carbonate system variables + ! (H+, pCO2, fCO2, CO2*, HCO3- and CO3--, OmegaA, OmegaC) with respect to one given input variable + ! FROM: + ! temperature, salinity, pressure, + ! total alkalinity (ALK), dissolved inorganic carbon (DIC), + ! silica and phosphate concentrations + + ! INPUT variables: + ! ================ + ! Patm = atmospheric pressure [atm] + ! depth = depth [m] (with optP='m', i.e., for a z-coordinate model vertical grid is depth, not pressure) + ! = pressure [db] (with optP='db') + ! lat = latitude [degrees] (needed to convert depth to pressure, i.e., when optP='m') + ! = dummy array (unused when optP='db') + ! temp = potential temperature [degrees C] (with optT='Tpot', i.e., models carry tempot, not in situ temp) + ! = in situ temperature [degrees C] (with optT='Tinsitu', e.g., for data) + ! = conservative temperature [degrees C] (with optT='Tcsv') + ! sal = salinity in [psu] + ! alk = total alkalinity in [eq/m^3] with optCON = 'mol/m3' + ! = [eq/kg] with optCON = 'mol/kg' + ! dic = dissolved inorganic carbon [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! sil = silica [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! phos = phosphate [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! derivar = 3-lowercase-character identifier of input variable with respect to which derivative is requested + ! possibilities are 'alk', 'dic', 'pho', 'sil', 'tem', 'sal' + ! and dissociation constants 'k0', 'k1', 'k2', 'kw', 'kb', 'ka', 'kc' + ! and total dissolved inorganic boron 'bt' + ! The last two of the k's (constants) are the solubility products for Aragonite and Calcite + ! + ! INPUT options: + ! ============== + ! ----------- + ! optCON: choose input & output concentration units - mol/kg (data) vs. mol/m^3 (models) + ! ----------- + ! -> 'mol/kg' for DIC, ALK, sil, & phos given on mokal scale, i.e., in mol/kg (std DATA units) + ! -> 'mol/m3' for DIC, ALK, sil, & phos given in mol/m^3 (std MODEL units) + ! ----------- + ! optT: choose in situ vs. potential temperature as input + ! --------- + ! NOTE: Carbonate chem calculations require IN-SITU temperature (not potential Temperature) + ! -> 'Tpot' means input is pot. Temperature (in situ Temp "tempis" is computed) + ! -> 'Tcsv' means input is Conservative Temperature (in situ Temp "tempis" is computed) + ! -> 'Tinsitu' means input is already in-situ Temperature, not pot. Temp ("tempis" not computed) + ! --------- + ! optP: choose depth (m) vs pressure (db) as input + ! --------- + ! -> 'm' means "depth" input is in "m" (thus in situ Pressure "p" [db] is computed) + ! -> 'db' means "depth" input is already in situ pressure [db], not m (thus p = depth) + ! --------- + ! optB: choose total boron formulation - Uppström (1974) vs. Lee et al. (2010) + ! --------- + ! -> 'u74' means use classic formulation of Uppström (1974) for total Boron + ! -> 'l10' means use newer formulation of Lee et al. (2010) for total Boron + ! --------- + ! optK1K2: + ! --------- + ! -> 'l' means use Lueker et al. (2000) formulations for K1 & K2 (recommended by Dickson et al. 2007) + ! **** BUT this should only be used when 2 < T < 35 and 19 < S < 43 + ! -> 'm10' means use Millero (2010) formulation for K1 & K2 (see Dickson et al., 2007) + ! **** Valid for 0 < T < 50°C and 1 < S < 50 psu + ! ---------- + ! optKf: + ! ---------- + ! -> 'pf' means use Perez & Fraga (1987) formulation for Kf (recommended by Dickson et al., 2007) + ! **** BUT Valid for 9 < T < 33°C and 10 < S < 40. + ! -> 'dg' means use Dickson & Riley (1979) formulation for Kf (recommended by Dickson & Goyet, 1994) + ! ----------- + ! optGAS: choose in situ vs. potential fCO2 and pCO2 + ! --------- + ! PRESSURE corrections for K0 and the fugacity coefficient (Cf) + ! -> 'Pzero' = 'zero order' fCO2 and pCO2 (typical approach, which is flawed) + ! considers in situ T & only atm pressure (hydrostatic=0) + ! -> 'Ppot' = 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + ! considers potential T & only atm pressure (hydrostatic press = 0) + ! -> 'Pinsitu' = 'in situ' fCO2 and pCO2 (accounts for huge effects of pressure) + ! considers in situ T & total pressure (atm + hydrostatic) + ! --------- + ! optS: choose practical [psu] or absolute [g/kg] salinity as input + ! ---------- + ! -> 'Sprc' means input is practical salinity according to EOS-80 convention + ! -> 'Sabs' means input is absolute salinity according to TEOS-10 convention (practical sal. will be computed) + ! --------- + ! lon: longitude in degrees East + ! ---------- + ! Optional, it may be used along with latitude when optS is "Sabs". + ! Then, they are parameters for conversion from Absolute to Practical Salinity. + ! + ! When seawater is not of standard composition, Practical Salinity alone is not sufficient + ! to compute Absolute Salinity and vice-versa. One needs to know the chemical composition, + ! mainly silicate and nitrate concentration. When those concentrations are unknown and 'lon' and 'lat' + ! are given, absolute salinity conversion is based on WOA silicate concentration at given location. + ! + ! Alternative when optS is 'Sabs' : + ! ------------------------------- + ! When silicate and phosphate concentrations are known, nitrate concentration is inferred from phosphate + ! (using Redfield ratio), then practical salinity is computed from absolute salinity, + ! total alcalinity (alk), DIC (dic), silicate (sil) and phosphate (phos). + ! In that case, do not pass optional parameter 'lon'. + ! + ! When neither chemical composition nor location are known, an arbitrary geographic point is chosen: + ! mid equatorial Atlantic. Note that this implies an error on computed practical salinity up to 0.02 psu. + ! In that case, do pass parameter 'lon' and set each of its elements to 1.e20. + ! --------- + + ! OUTPUT variables: + ! ================= + ! dh_dx = derivative of ion [H+] concentration on total scale in [mol/kg] + ! dpco2_dx = derivative of CO2 partial pressure (uatm) + ! dfco2_dx = derivative of CO2 fugacity (uatm) + ! dco2_dx = derivative of aqueous CO2 concentration in [mol/kg] or [mol/m^3] depending on optCON + ! dhco3_dx = derivative of bicarbonate (HCO3-) concentration in [mol/kg] or [mol/m^3] depending on optCON + ! dco3_dx = derivative of carbonate (CO3--) concentration in [mol/kg] or [mol/m^3] depending on optCON + ! dOmegaA_dx = derivative of Omega for aragonite, i.e., the aragonite saturation state + ! dOmegaC_dx = derivative of Omega for calcite, i.e., the calcite saturation state + + + USE msingledouble + USE mvars + + IMPLICIT NONE + +! Input variables + !> number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> either in situ temperature (when optT='Tinsitu', typical data) + !! OR potential temperature (when optT='Tpot', typical models) [degree C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] or [g/kg] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sal + !> total alkalinity in [eq/m^3] (when optCON = 'mol/m3') OR in [eq/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: alk + !> dissolved inorganic carbon in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: dic + !> SiO2 concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sil + !> phosphate concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: phos + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm + !> depth in \b meters (when optP='m') or \b decibars (when optP='db') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: depth + !> latitude [degrees north] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: lat + ! 3-character identifier of input variable with respect to which derivative is requested + ! ('alk', 'dic', 'pho', 'sil', 'tem', 'sal' + CHARACTER(3), INTENT(in) :: derivar + + !> choose either \b 'mol/kg' (std DATA units) or \b 'mol/m3' (std MODEL units) to select + !! concentration units for input (for alk, dic, sil, phos) & output (co2, hco3, co3) + CHARACTER(6), INTENT(in) :: optCON + !> choose \b 'Tinsitu' for in situ temperature or \b 'Tpot' for potential temperature (in situ Temp is computed, needed for models) + CHARACTER(7), INTENT(in) :: optT + !> for depth input, choose \b "db" for decibars (in situ pressure) or \b "m" for meters (pressure is computed, needed for models) + CHARACTER(2), INTENT(in) :: optP + !> for total boron, choose either \b 'u74' (Uppstrom, 1974) or \b 'l10' (Lee et al., 2010). + !! The 'l10' formulation is based on 139 measurements (instead of 20), + !! uses a more accurate method, and + !! generally increases total boron in seawater by 4% +!f2py character*3 optional, intent(in) :: optB='u74' + CHARACTER(3), OPTIONAL, INTENT(in) :: optB + !> for Kf, choose either \b 'pf' (Perez & Fraga, 1987) or \b 'dg' (Dickson & Riley, 1979) +!f2py character*2 optional, intent(in) :: optKf='pf' + CHARACTER(2), OPTIONAL, INTENT(in) :: optKf + !> for K1,K2 choose either \b 'l' (Lueker et al., 2000) or \b 'm10' (Millero, 2010) +!f2py character*3 optional, intent(in) :: optK1K2='l' + CHARACTER(3), OPTIONAL, INTENT(in) :: optK1K2 + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(7), OPTIONAL, INTENT(in) :: optGAS +!f2py character*7 optional, intent(in) :: optS='Sprc' + CHARACTER(4), OPTIONAL, INTENT(in) :: optS + !> longitude [degrees east] +!f2py real(8) optional, intent(in), dimension(n) :: lon = -25. + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon + +! Output variables: + !> derivative of H on the total scale + REAL(kind=rx), INTENT(OUT), DIMENSION(N) :: dh_dx + !> derivative of CO2 partial pressure [uatm] + REAL(kind=rx), INTENT(OUT), DIMENSION(N) :: dpco2_dx + !> derivative of CO2 fugacity [uatm] + REAL(kind=rx), INTENT(OUT), DIMENSION(N) :: dfco2_dx + !> derivative of aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(OUT), DIMENSION(N) :: dco2_dx + !> derivative of (HCO3-) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(OUT), DIMENSION(N) :: dhco3_dx + !> derivative of (CO3--) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(OUT), DIMENSION(N) :: dco3_dx + !> derivative of Omega for aragonite, i.e., the aragonite saturation state + REAL(kind=rx), INTENT(OUT), DIMENSION(N) :: dOmegaA_dx + !> derivative of Omega for calcite, i.e., the calcite saturation state + REAL(kind=rx), INTENT(OUT), DIMENSION(N) :: dOmegaC_dx + +! Local variables + !> pH on the total scale + REAL(kind=rx), DIMENSION(1,2) :: ph + !> ion (H+) concentration on the total scale + REAL(kind=rx), DIMENSION(1,2) :: h + !> CO2 partial pressure [uatm] + REAL(kind=rx), DIMENSION(1,2) :: pco2 + !> CO2 fugacity [uatm] + REAL(kind=rx), DIMENSION(1,2) :: fco2 + !> aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), DIMENSION(1,2) :: co2 + !> bicarbonate ion (HCO3-) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), DIMENSION(1,2) :: hco3 + !> carbonate ion (CO3--) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), DIMENSION(1,2) :: co3 + !> Omega for aragonite, i.e., the aragonite saturation state + REAL(kind=rx), DIMENSION(1,2) :: OmegaA + !> Omega for calcite, i.e., the calcite saturation state + REAL(kind=rx), DIMENSION(1,2) :: OmegaC + !> Revelle factor, i.e., dpCO2/pCO2 / dDIC/DIC + REAL(kind=rx), DIMENSION(1) :: BetaD + !> in-situ density of seawater; rhoSW = f(s, t, p) in [kg/m3] + REAL(kind=rx), DIMENSION(1) :: rhoSW + !> pressure [decibars]; p = f(depth, latitude) if computed from depth [m] (when optP='m') OR p = depth [db] (when optP='db') + REAL(kind=rx), DIMENSION(1) :: p + !> in-situ temperature \b [degrees C] + REAL(kind=rx), DIMENSION(1) :: tempis + + ! Arrays that are copies of input parameters + REAL(kind=rx), DIMENSION(1) :: atemp + REAL(kind=rx), DIMENSION(1) :: asal + REAL(kind=rx), DIMENSION(1) :: aalk + REAL(kind=rx), DIMENSION(1) :: adic + REAL(kind=rx), DIMENSION(1) :: asil + REAL(kind=rx), DIMENSION(1) :: aphos + REAL(kind=rx), DIMENSION(1) :: aPatm + REAL(kind=rx), DIMENSION(1) :: adepth + REAL(kind=rx), DIMENSION(1) :: alat + + ! value of small delta to apply to input variable when computing numerical derivative + ! it is actually the ratio of delta relative to input variable value + REAL(kind=rx) :: rel_delta_x + ! Value of input variable with respect to which we derive + REAL(kind=rx) :: input_value + REAL(kind=rx), DIMENSION(1) :: ainput1, ainput2 + REAL(kind=rx) :: abs_delta, dX + +! Arrays to pass optional arguments into or use defaults (Dickson et al., 2007) + CHARACTER(3) :: opB + CHARACTER(3) :: opK1K2 + CHARACTER(2) :: opKf + CHARACTER(7) :: opGAS + CHARACTER(4) :: opS + + INTEGER :: i + LOGICAL :: deriv_K ! if one derives with respect to a dissoc constant + INTEGER :: var_index ! index of variable with respect to which one derives + +! Approximate values for K0, K1, K2, Kb, Kspa and Kspc +! They will be used to compute an absolute perturbation value on these constants + REAL,PARAMETER :: K_values(7) = (/0.034, 1.2e-06, 8.3e-10, 2.1e-09, 6.1e-14, 6.7e-07, 4.3e-07/) + +! Multiplicative conversion factor to convert from umol/kg to optCON units (mol/kg or mol/m3) + REAL(kind=rx) :: xfac + +! Reference value (typically global surface means, for calculating consistent absolute derivatives) + REAL(kind=rx) :: ref_value + +! Set defaults for optional arguments (in Fortran 90) +! Note: Optional arguments with f2py (python) are set above with +! the !f2py statements that precede each type declaraion + IF (PRESENT(optB)) THEN + opB = optB + ELSE +! Default is Uppstrom (1974) for total boron + opB = 'u74' + ENDIF + IF (PRESENT(optKf)) THEN + opKf = optKf + ELSE +! Default is Perez & Fraga (1987) for Kf + opKf = 'pf' + ENDIF + IF (PRESENT(optK1K2)) THEN + opK1K2 = optK1K2 + ELSE +! Default is Lueker et al. 2000) for K1 & K2 + opK1K2 = 'l' + ENDIF + IF (PRESENT(optGAS)) THEN + opGAS = optGAS + ELSE + opGAS = 'Pinsitu' + ENDIF + IF (PRESENT(optS)) THEN + opS = optS + ELSE + opS = 'Sprc' + ENDIF + + SELECT CASE (derivar) + CASE ('alk') + var_index = 1 + deriv_K = .FALSE. + CASE ('dic') + var_index = 2 + deriv_K = .FALSE. + CASE ('pho') + var_index = 3 + deriv_K = .FALSE. + CASE ('sil') + var_index = 4 + deriv_K = .FALSE. + CASE ('tem') + var_index = 5 + deriv_K = .FALSE. + CASE ('sal') + var_index = 6 + deriv_K = .FALSE. + CASE ('k0') + var_index = 1 + deriv_K = .TRUE. + CASE ('k1') + var_index = 2 + deriv_K = .TRUE. + CASE ('k2') + var_index = 3 + deriv_K = .TRUE. + CASE ('kb') + var_index = 4 + deriv_K = .TRUE. + CASE ('kw') + var_index = 5 + deriv_K = .TRUE. + CASE ('ka') + var_index = 6 + deriv_K = .TRUE. + CASE ('kc') + var_index = 7 + deriv_K = .TRUE. + CASE ('bt') + ! For Bt (propotional to S): call vars_pertK but treat slightly differently than other constants + var_index = 8 + deriv_K = .FALSE. + CASE DEFAULT + PRINT *,"derivar must be 3-char variable: 'alk', 'dic', 'pho', 'sil', 'tem', or 'sal'" + PRINT *," or a 2-char dissoc. constant name : 'k0', 'k1', 'k2', 'kb', 'kw', 'ka', 'kc', 'bt'" + STOP + END SELECT + + DO i = 1, N + + ! Copy input values + atemp(1) = temp(i) + asal(1) = sal(i) + aalk(1) = alk(i) + adic(1) = dic(i) + asil(1) = sil(i) + aphos(1) = phos(i) + aPatm(1) = Patm(i) + adepth(1) = depth(i) + alat(1) = lat(i) + + IF (deriv_K) THEN + ! Choose value of absolute perturbation + abs_delta = K_values(var_index) * 1.d-3 ! 0.1 percent of Kx value + dx = 2 * abs_delta + + ! Call routine vars_pertK() with request to increase one K value + call vars_pertK(ph(:,1), pco2(:,1), fco2(:,1), co2(:,1), hco3(:,1), co3(:,1), & + OmegaA(:,1), OmegaC(:,1), & + atemp, asal, aalk, adic, asil, aphos, aPatm, adepth, alat, 1, & + var_index, -abs_delta, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon ) + ! Call routine vars_pertK() with request to decrease the same K value + call vars_pertK(ph(:,2), pco2(:,2), fco2(:,2), co2(:,2), hco3(:,2), co3(:,2), & + OmegaA(:,2), OmegaC(:,2), & + atemp, asal, aalk, adic, asil, aphos, aPatm, adepth, alat, 1, & + var_index, abs_delta, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon ) + + ELSE ! we do NOT derive w/ respect to one of the Ks + + ! Simple conversion factors + IF (optCON .EQ. 'mol/kg') THEN + xfac = 1.d-6 !Factor to convert umol/kg to mol/kg + ELSE + xfac = 1.025d-3 !Factor to convert umol/kg to mol/m3 + ENDIF + + ! Select input value to vary slightly + ! values for individual rel_delta_x determined by minimizing difference + ! between numerical derivatives and mocsy-dnad automatic derivatives + ! (mocsy_dnad), which gives results as good as analytic solutions + SELECT CASE (var_index) + CASE (1) + input_value = alk(i) + ref_value = 2300.0d0 * xfac ! global surface mean in optCON units + rel_delta_x = 1.0d-6 + CASE (2) + input_value = dic(i) + ref_value = 2000.0d0 * xfac ! global surface mean in optCON units + rel_delta_x = 1.0d-6 + CASE (3) + input_value = phos(i) + ref_value = 0.5d0 * xfac ! global surface mean (Orr et al., 2017) in optCON units + rel_delta_x = 1.0d-3 + CASE (4) + input_value = sil(i) + ref_value = 7.5d0 * xfac ! global surface mean (Orr et al., 2017) in optCON units + rel_delta_x = 1.0d-3 + CASE (5) + input_value = temp(i) + ref_value = 18.0d0 ! global surface mean (C) + rel_delta_x = 1.0d-4 + CASE (6) + input_value = sal(i) + ref_value = 35.0d0 ! global surface mean (C) + rel_delta_x = 1.0d-4 + CASE (8) + ! For Bt (propotional to salinity) + input_value = 0.0002414d0 * (sal(i) / 1.80655d0) / 10.811d0 + ref_value = 0.0002414d0 * (35.0d0 / 1.80655d0) / 10.811d0 + rel_delta_x = 1.0d-3 + END SELECT + + ! Determine two slightly different values of selected input value + abs_delta = ref_value * rel_delta_x + ainput1(1) = input_value - abs_delta + ainput2(1) = input_value + abs_delta + ! Compute total absolue delta + dx = ainput2(1) - ainput1(1) + + ! Call routine vars() twice with two slightly different values of selected input + SELECT CASE (var_index) + CASE (1) + call vars(ph(:,1), pco2(:,1), fco2(:,1), co2(:,1), hco3(:,1), co3(:,1), & + OmegaA(:,1), OmegaC(:,1), BetaD, rhoSW, p, tempis, & + atemp, asal, ainput1, adic, asil, aphos, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon, verbose=.false. ) + call vars(ph(:,2), pco2(:,2), fco2(:,2), co2(:,2), hco3(:,2), co3(:,2), & + OmegaA(:,2), OmegaC(:,2), BetaD, rhoSW, p, tempis, & + atemp, asal, ainput2, adic, asil, aphos, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon ) + CASE (2) + call vars(ph(:,1), pco2(:,1), fco2(:,1), co2(:,1), hco3(:,1), co3(:,1), & + OmegaA(:,1), OmegaC(:,1), BetaD, rhoSW, p, tempis, & + atemp, asal, aalk, ainput1, asil, aphos, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon, verbose=.false. ) + call vars(ph(:,2), pco2(:,2), fco2(:,2), co2(:,2), hco3(:,2), co3(:,2), & + OmegaA(:,2), OmegaC(:,2), BetaD, rhoSW, p, tempis, & + atemp, asal, aalk, ainput2, asil, aphos, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon ) + CASE (3) + call vars(ph(:,1), pco2(:,1), fco2(:,1), co2(:,1), hco3(:,1), co3(:,1), & + OmegaA(:,1), OmegaC(:,1), BetaD, rhoSW, p, tempis, & + atemp, asal, aalk, adic, asil, ainput1, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon, verbose=.false. ) + call vars(ph(:,2), pco2(:,2), fco2(:,2), co2(:,2), hco3(:,2), co3(:,2), & + OmegaA(:,2), OmegaC(:,2), BetaD, rhoSW, p, tempis, & + atemp, asal, aalk, adic, asil, ainput2, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon ) + CASE (4) + call vars(ph(:,1), pco2(:,1), fco2(:,1), co2(:,1), hco3(:,1), co3(:,1), & + OmegaA(:,1), OmegaC(:,1), BetaD, rhoSW, p, tempis, & + atemp, asal, aalk, adic, ainput1, aphos, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon, verbose=.false. ) + call vars(ph(:,2), pco2(:,2), fco2(:,2), co2(:,2), hco3(:,2), co3(:,2), & + OmegaA(:,2), OmegaC(:,2), BetaD, rhoSW, p, tempis, & + atemp, asal, aalk, adic, ainput2, aphos, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon ) + CASE (5) + call vars(ph(:,1), pco2(:,1), fco2(:,1), co2(:,1), hco3(:,1), co3(:,1), & + OmegaA(:,1), OmegaC(:,1), BetaD, rhoSW, p, tempis, & + ainput1, asal, aalk, adic, asil, aphos, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon, verbose=.false. ) + call vars(ph(:,2), pco2(:,2), fco2(:,2), co2(:,2), hco3(:,2), co3(:,2), & + OmegaA(:,2), OmegaC(:,2), BetaD, rhoSW, p, tempis, & + ainput2, asal, aalk, adic, asil, aphos, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon ) + CASE (6) + call vars(ph(:,1), pco2(:,1), fco2(:,1), co2(:,1), hco3(:,1), co3(:,1), & + OmegaA(:,1), OmegaC(:,1), BetaD, rhoSW, p, tempis, & + atemp, ainput1, aalk, adic, asil, aphos, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon, verbose=.false. ) + call vars(ph(:,2), pco2(:,2), fco2(:,2), co2(:,2), hco3(:,2), co3(:,2), & + OmegaA(:,2), OmegaC(:,2), BetaD, rhoSW, p, tempis, & + atemp, ainput2, aalk, adic, asil, aphos, aPatm, adepth, alat, 1, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon ) + CASE (8) + ! For Bt (must treat with vars_pertK, but not quite like other 'constants' to account for proportionality to S) + ! Call routine vars_pertK() with request to increase one Bt value + call vars_pertK(ph(:,1), pco2(:,1), fco2(:,1), co2(:,1), hco3(:,1), co3(:,1), & + OmegaA(:,1), OmegaC(:,1), & + atemp, asal, aalk, adic, asil, aphos, aPatm, adepth, alat, 1, & + var_index, -abs_delta, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon ) + ! Call routine vars_pertK() with request to decrease the same Bt value + call vars_pertK(ph(:,2), pco2(:,2), fco2(:,2), co2(:,2), hco3(:,2), co3(:,2), & + OmegaA(:,2), OmegaC(:,2), & + atemp, asal, aalk, adic, asil, aphos, aPatm, adepth, alat, 1, & + var_index, abs_delta, & + optCON, optT, optP, opB, opK1K2, opKf, opGAS, optS, lon ) + END SELECT + ENDIF + + ! H+ concentration from ph + h(1,1) = 10**(-ph(1,1)) + h(1,2) = 10**(-ph(1,2)) + + ! Compute derivatives (centered differences) + dh_dx(i) = (h(1,2) - h(1,1)) / dx + dpco2_dx(i) = (pco2(1,2) - pco2(1,1)) / dx + dfco2_dx(i) = (fco2(1,2) - fco2(1,1)) / dx + dco2_dx(i) = (co2(1,2) - co2(1,1)) / dx + dhco3_dx(i) = (hco3(1,2) - hco3(1,1)) / dx + dco3_dx(i) = (co3(1,2) - co3(1,1)) / dx + dOmegaA_dx(i) = (OmegaA(1,2) - OmegaA(1,1)) / dx + dOmegaC_dx(i) = (OmegaC(1,2) - OmegaC(1,1)) / dx + END DO + + RETURN +END SUBROUTINE derivnum +END MODULE mderivnum diff --git a/src/int_recom/recom/eos.F90 b/src/int_recom/recom/eos.F90 new file mode 100755 index 000000000..c572cecea --- /dev/null +++ b/src/int_recom/recom/eos.F90 @@ -0,0 +1,807 @@ +!> \file eos.f90 +!! \BRIEF +!> Module with EOS-80/TEOS-10 conversion subroutines +MODULE meos +CONTAINS + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + +SUBROUTINE sa2sp_chem(SA, TA, DIC, NO3, SIOH4, N, SP) +! sa2sp_chem: From Absolute to Practical Salinity +! +! Description: +! Convert from Absolute (SA) to Practical Salinity (SP), as 1D arrays, +! based on Total Alkalinity, Dissolved Inorganic Carbon and Nitrate and +! Silicate concentrations. +! +! Input: +! SA: Absolute Salinity in g/kg +! TA: Total Alkalinity, in mol/kg +! DIC: Dissolved Inorganic Carbone concentration in mol/kg +! NO3: Total Nitrate concentration in mol/kg +! SIOH4: Total Silicate concentration in mol/kg +! N: Size of input and output 1D arrays +! +! Details: +! Convert from Absolute (SA) to Practical Salinity (SP) from carbon +! system parameters and ion concentration which most affect water +! density anomalies (nitrate and silicate). +! +! Output: +! SP: Practical Salinity (in psu) +! +! Author(s): +! Jean-Marie Epitalon +! +! References: +! TEOS-10 web site: http://www.teos-10.org/ +! +! What every oceanographer needs to know about TEOS-10 (The TEOS-10 +! Primer) by Rich Pawlowicz (on TEOS-10 web site) +! +! R. Pawlowicz, D. G. Wright, and F. J. Millero, 2011: The +! effects of biogeochemical processes on oceanic conductivity/ +! salinity/density relationships and the characterization of real +! seawater +! +! T. J. McDougall, D. R. Jackett, F. J. Millero, R. Pawlowicz, +! and P. M. Barker, 2012: Algorithm for estimating +! Absolute Salinity +! +! See Also: +! sp2sa_chem does the reverse +! sa2sp_geo +! +! Examples: +! ! Calculate the practical salinity of a sample with Absolute Salinity of 35 g/kg, +! ! Total Alkalinity of 0.00234 mol/kg, DIC of 0.00202 mol/kg, zero Nitrate and Silicate +! CALL sa2sp_chem(35, 2340, 0.2020, 0, 0, 1, SP) +! + +USE msingledouble +USE gsw_mod_toolbox, only: gsw_sp_from_sa, gsw_sa_from_sp, gsw_ct_from_t, gsw_t_from_ct + +IMPLICIT NONE + +! Input variables: + !> N: number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> SA: Absolute Salinity (g/kg) + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SA + !> TA: Total Alkalinity, in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: TA + !> DIC: Dissolved Inorganic Carbone concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: DIC + !> NO3: Total Nitrate concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: NO3 + !> SIOH4: Total Silicate concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SIOH4 + +! Output variables: + !> SP: Practical Salinity on the practical salinity scale + REAL(kind=rx), INTENT(out), DIMENSION(N) :: SP + + + ! Reverse conversion (SA from SP) follows this equation : + ! SP = 1/r * (SA - sa_anomaly) + ! with + ! r = 35.16504 / 35 + ! SP = 1/r * (SA - 55.6 * (TA - x*SP) - 4.7 * (DIC - y*SP) - nutrients) + ! with + ! x = 0.00230 / 35 + ! y = 0.00208 / 35 + ! nutrients = 38.9 * NO3 + 50.7 * SIOH4 + ! + ! SP * (1 - 55.6 * x/r - 4.7 * y/r) = 1/r * (SA - 55.6 * TA - 4.7 * DIC - nutrients) + ! + ! SP * (1 - 55.6 * 0.00230 / 35.16504 - 4.7 * 0.00208 / 35.16504) = .... + ! + ! SP * 0.9960854303 = 1/r * (SA - 55.6 * TA - 4.7 * DIC - nutrients) + ! + ! SP = 0.999218211671 * (SA - 55.6 * TA - 4.7 * DIC - nutrients) + + INTEGER :: i + + DO i = 1, N + SP(i) = 0.999218211671 * (SA(i) - 55.6 * TA(i) - 4.7 * DIC(i) - 38.9 * NO3(i) - 50.7 * SIOH4(i)) + ENDDO + +END SUBROUTINE + +SUBROUTINE sa2sp_geo(SA, N, SP, P, lon, lat) +! sa2sp_geo: From Absolute to Practical Salinity +! +! Description: +! Convert from Absolute (SA) to Practical Salinity (SP) based on +! depth (pressure) and geographic location. +! +! Input: +! SA: Absolute Salinity in g/kg +! N: Size of input and output 1D arrays +! P: Sea water pressure in dbar (optional, default = 0) +! lon: Longitude, optional, in decimal degrees [ 0 ... +360 ] or [ -180 ... +180 ] +! lat: Latitude, optional, in decimal degrees [-90 ... 90] +! +! Details: +! This subroutine is almost an alias of subroutine gsw_sp_from_sa +! from gsw package on which it relies. The difference is in +! that pressure and location are optional and that input/output are +! vectors instead of scalars. +! If location is not given or incomplete (either longitude or latitude missing), +! an arbitrary location is chosen: the mid equatorial atlantic ocean. Note that +! this implies an error on computed SP up to 0.02 psu +! +! Output: +! SP: Practical Salinity (psu) +! +! Author(s): +! Jean-Marie Epitalon +! +! References: +! TEOS-10 web site: http://www.teos-10.org/ +! +! What every oceanographer needs to know about TEOS-10 (The TEOS-10 +! Primer) by Rich Pawlowicz (on TEOS-10 web site) +! +! T. J. McDougall, D. R. Jackett, F. J. Millero, R. Pawlowicz, +! and P. M. Barker, 2012: Algorithm for estimating +! Absolute Salinity +! +! See Also: +! sp2sa_geo does the reverse +! sa2sp_chem +! +! Examples: +! ! Calculate the practical salinity of a sample whose absolute Salinity is 35, +! ! depth is 10 dbar and location is 188 degrees East and 4 degrees North. +! CALL sa2sp_geo(35, 1, SP, 10, 188, 4) +! + +USE msingledouble +USE gsw_mod_toolbox, only: gsw_sp_from_sa, gsw_sa_from_sp, gsw_ct_from_t, gsw_t_from_ct + +IMPLICIT NONE + +! Input variables: + !> N: number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> SA: Absolute Salinity (g/kg) + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SA + !> P: Sea water pressure in dbar (optional, default = 0) +!f2py real(8) intent(in), optional, dimension(n) :: p = 0.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: P + !> lon: Longitude, optional, in decimal degrees [ 0 ... +360 ] or [ -180 ... +180 ] +!f2py real(8) intent(in), optional, dimension(n) :: lon = -25.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon + !> lat: Latitude, optional, in decimal degrees [-90 ... 90] +!f2py real(8) intent(in), optional, dimension(n) :: lat = 0.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lat + +! Output variables: + !> SP: Practical Salinity on the practical salinity scale + REAL(kind=rx), INTENT(out), DIMENSION(N) :: SP + + ! Default latitude and longitude + REAL(kind=r8) :: def_lat, def_lon + INTEGER :: i + + IF (PRESENT(lat) .AND. PRESENT(lon)) THEN + IF (PRESENT(P)) THEN + DO i = 1, N + SP(i) = SGLE(gsw_sp_from_sa(DBLE(SA(i)),DBLE(P(i)),DBLE(lon(i)),DBLE(lat(i)))) + ENDDO + ELSE + DO i = 1, N + SP(i) = SGLE(gsw_sp_from_sa(DBLE(SA(i)), 0.0d0, DBLE(lon(i)),DBLE(lat(i)))) + ENDDO + ENDIF + ELSE + def_lat = 0.0 + def_lon = -25 + IF (PRESENT(P)) THEN + DO i = 1, N + SP(i) = SGLE(gsw_sp_from_sa(DBLE(SA(i)), DBLE(P(i)), def_lon, def_lat)) + ENDDO + ELSE + DO i = 1, N + SP(i) = SGLE(gsw_sp_from_sa(DBLE(SA(i)), 0.0d0, def_lon, def_lat)) + ENDDO + ENDIF + ENDIF + +END SUBROUTINE + +SUBROUTINE sp2sa_chem(SP, TA, DIC, NO3, SIOH4, N, SA) +! sp2sa_chem : From Practical to Absolute Salinity +! +! Description: +! Convert from Practical (SP) to Absolute Salinity (SA) based on +! Total Alkalinity, Dissolved Inorganic Carbon and Nitrate and +! Silicate concentrations. +! +! Input: +! SP: Practical Salinity on the practical salinity scale +! TA: Total Alkalinity, in mol/kg +! DIC: Dissolved Inorganic Carbone concentration in mol/kg +! NO3: Total Nitrate concentration in mol/kg +! SIOH4: Total Silicate concentration in mol/kg +! +! Details: +! Convert from Practical (SP) to Absolute Salinity (SA) from carbon +! system parameters and ion concentration which most affect water +! density anomalies (nitrate and silicate). +! +! Output: +! SA: Absolute Salinity (g/kg) +! +! Author(s): +! Jean-Marie Epitalon +! +! References: +! TEOS-10 web site: http://www.teos-10.org/ +! +! What every oceanographer needs to know about TEOS-10 (The TEOS-10 +! Primer) by Rich Pawlowicz (on TEOS-10 web site) +! +! R. Pawlowicz, D. G. Wright, and F. J. Millero, 2011: The +! effects of biogeochemical processes on oceanic conductivity/ +! salinity/density relationships and the characterization of real +! seawater +! +! T. J. McDougall, D. R. Jackett, F. J. Millero, R. Pawlowicz, +! and P. M. Barker, 2012: Algorithm for estimating +! Absolute Salinity +! +! See Also: +! sa2sp_chem does the reverse +! sp2sa_geo +! +! Examples: +! ! Calculate the absolute salinity of a sample with practical Salinity of 35, +! ! Total Alkalinity of 0.00234 mol/kg and DIC of 0.00202 mol/kg +! sp2sa_chem(35, 0.00234, 0.00202, 1, SA) +! + +USE gsw_mod_toolbox, only: gsw_sp_from_sa, gsw_sa_from_sp, gsw_ct_from_t, gsw_t_from_ct +USE msingledouble + +IMPLICIT NONE + +! Input variables: + !> N: number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> SP: Practical Salinity on the practical salinity scale + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SP + !> TA: Total Alkalinity, in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: TA + !> DIC: Dissolved Inorganic Carbone concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: DIC + !> NO3: Total Nitrate concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: NO3 + !> SIOH4: Total Silicate concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SIOH4 + +! Output variables: + !> SA: Absolute Salinity (g/kg) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: SA + + REAL(kind=r8) :: DIC_stdsw, TA_stdsw + REAL(kind=r8) :: SR, sal_anomaly + INTEGER :: i + + ! This function is made of two parts : + ! 1) conversion from Practical to Reference Salinity (major part) + ! 2) conversion from Reference to Absolute Salinity (Absolute Anomaly, minor part) + ! + + DO i = 1, N + ! DIC and TA values of standard sea water + TA_stdsw = 2300.e-6 * SP(i) /35 + DIC_stdsw = 2080.e-6 * SP(i) /35 + + ! Absolute salinity anomaly (g/kg) + sal_anomaly = 55.6 * (TA(i) - TA_stdsw) + 4.7 * (DIC(i) - DIC_stdsw) + 38.9 * NO3(i) + 50.7 * SIOH4(i) + + SR = SP(i) * 35.16504 / 35 + SA(i) = SR + sal_anomaly + ENDDO + +END SUBROUTINE + +SUBROUTINE sp2sa_geo(SP, N, SA, P, lon, lat) +! sp2sa_geo: From Practical to Absolute Salinity +! +! Description: +! Convert from Practical (SP) to Absolute Salinity (SA) based on +! depth (pressure) and geographic location. +! +! Input: +! SP: Practical Salinity on the practical salinity scale +! P: Sea water pressure in dbar, optional, default = 0 +! lon: Longitude, optional, in decimal degrees [ 0 ... +360 ] or [ -180 ... +180 ] +! lat: Latitude, optional, in decimal degrees [-90 ... 90] +! +! Details: +! This subroutine is almost an alias of subroutine gsw_sa_from_sp of +! from gsw package on which it relies. The difference is in +! that pressure and location are optional and that input/output are +! vectors instead of scalars. +! If location is not given or incomplete (either longitude or latitude missing), +! an arbitrary location is chosen: the mid equatorial atlantic ocean. Note that +! this implies an error on computed SA up to 0.02 g/kg +! +! Output: +! SA: Absolute Salinity (g/kg) +! +! Author(s): +! Jean-Marie Epitalon +! +! References: +! TEOS-10 web site: http://www.teos-10.org/ +! +! What every oceanographer needs to know about TEOS-10 (The TEOS-10 +! Primer) by Rich Pawlowicz (on TEOS-10 web site) +! +! T. J. McDougall, D. R. Jackett, F. J. Millero, R. Pawlowicz, +! and P. M. Barker, 2012: Algorithm for estimating +! Absolute Salinity +! +! See Also: +! sa2sp_geo does the reverse +! sp2sa_chem +! +! Examples: +! ! Calculate the absolute salinity of a sample whose practical Salinity is 35, +! ! depth is 10 dbar and location is 188 degrees East and 4 degrees North. +! CALL sp2sa_geo(35, 1, SA, 10, 188, 4) + +USE gsw_mod_toolbox, only: gsw_sp_from_sa, gsw_sa_from_sp, gsw_ct_from_t, gsw_t_from_ct +USE msingledouble + +IMPLICIT NONE + +! Input variables: + !> N: number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> SP: Practical Salinity on the practical salinity scale + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SP + !> P: Sea water pressure in dbar (optional, default = 0) +!f2py real(8) intent(in), optional, dimension(n) :: p = 0.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: P + !> lon: Longitude, optional, in decimal degrees [ 0 ... +360 ] or [ -180 ... +180 ] +!f2py real(8) intent(in), optional, dimension(n) :: lon = -25.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon + !> lat: Latitude, optional, in decimal degrees [-90 ... 90] +!f2py real(8) intent(in), optional, dimension(n) :: lat = 0.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lat + +! Output variables: + !> SA: Absolute Salinity (g/kg) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: SA + + + ! Default latitude and longitude + REAL(kind=r8) :: def_lat, def_lon + INTEGER :: i + + IF (PRESENT(lat) .AND. PRESENT(lon)) THEN + IF (PRESENT(P)) THEN + DO i = 1, N + SA(i) = SGLE(gsw_sa_from_sp(DBLE(SP(i)), DBLE(P(i)), DBLE(lon(i)), DBLE(lat(i)))) + ENDDO + ELSE + DO i = 1, N + SA(i) = SGLE(gsw_sa_from_sp(DBLE(SP(i)), 0.0d0, DBLE(lon(i)), DBLE(lat(i)))) + ENDDO + ENDIF + ELSE + def_lat = 0 + def_lon = -25 + IF (PRESENT(P)) THEN + DO i = 1, N + SA(i) = SGLE(gsw_sa_from_sp(DBLE(SP(i)), DBLE(P(i)), def_lon, def_lat)) + ENDDO + ELSE + DO i = 1, N + SA(i) = SGLE(gsw_sa_from_sp(DBLE(SP(i)), 0.0d0, def_lon, def_lat)) + ENDDO + ENDIF + ENDIF + +END SUBROUTINE + +SUBROUTINE teos2eos_chem(SA, CVT, P, TA, DIC, NO3, SIOH4, N, T, SP) +! teos2eos_chem: Convert temperature and salinity from TEOS-10 to EOS-80 +! +! Description: +! Convert conservative temperature to in-situ temperature and +! Absolute Salinity (SA) to Practical Salinity (SP). Salinity +! conversion depends on Total Alkalinity, Dissolved Inorganic Carbon +! and Nitrate and Silicate concentrations. +! +! Input: +! SA: Absolute Salinity in g/kg +! CvT: Conservative Temperature in degrees C +! P: Sea water pressure in dbar +! TA: Total Alkalinity, in µmol/kg +! DIC: Dissolved Inorganic Carbone concentration in µmol/kg +! NO3: Total Nitrate concentration in µmol/kg +! SIOH4: Total Silicate concentration in µmol/kg +! +! Details: +! Conversion from Absolute (SA) to Practical Salinity (SP) depends +! on carbon system parameters and ion concentration which most +! affect water density anomalies. +! +! Output: +! T: in situ Temperature (deg C) +! SP: Practical Salinity (psu) +! +! Author(s): +! Jean-Marie Epitalon +! +! References: +! TEOS-10 web site: http://www.teos-10.org/ +! +! What every oceanographer needs to know about TEOS-10 (The TEOS-10 +! Primer) by Rich Pawlowicz (on TEOS-10 web site) +! +! R. Pawlowicz, D. G. Wright, and F. J. Millero, 2011: The +! effects of biogeochemical processes on oceanic conductivity/ +! salinity/density relationships and the characterization of real +! seawater +! +! T. J. McDougall, D. R. Jackett, F. J. Millero, R. Pawlowicz, +! and P. M. Barker, 2012: Algorithm for estimating +! Absolute Salinity +! +! See Also: +! eos2teos_chem does the reverse, teos2eos_geo, sa2sp_cham +! package GSW for Fortran +! +! Examples: +! ! Calculate in-situ Temperature and practical salinity of a sample with +! ! Absolute Salinity of 35 g/kg, Conservative Temperature of 18 deg C, +! ! at 0 dbar and Total Alkalinity of 0.00234 mol/kg and DIC of 0.00202 mol/kg, +! ! zero Nitrate and Silicate +! CALL teos2eos_chem(35, 18, 0, 0.00234, 0.00202, 0, 0, 1, T, SP) +! + +USE gsw_mod_toolbox, only: gsw_sp_from_sa, gsw_sa_from_sp, gsw_ct_from_t, gsw_t_from_ct +USE msingledouble + +IMPLICIT NONE + +! Input variables: + !> N: number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> CvT: Conservative Temperature (deg C) + REAL(kind=rx), INTENT(in), DIMENSION(N) :: CvT + !> SA: Absolute Salinity (g/kg) + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SA + !> P: Sea water pressure in dbar + REAL(kind=rx), INTENT(in), DIMENSION(N) :: P + !> TA: Total Alkalinity, in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: TA + !> DIC: Dissolved Inorganic Carbone concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: DIC + !> NO3: Total Nitrate concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: NO3 + !> SIOH4: Total Silicate concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SIOH4 + +! Output variables: + !> SP: Practical Salinity on the practical salinity scale + REAL(kind=rx), INTENT(out), DIMENSION(N) :: SP + !> T: in-situ temperature in deg. C + REAL(kind=rx), INTENT(out), DIMENSION(N) :: T + + INTEGER :: i + + ! convert temperature + DO i = 1, N + T(i) = SGLE(gsw_t_from_ct (DBLE(SA(i)), DBLE(CvT(i)), DBLE(P(i)))) + ENDDO + + ! convert salinity + CALL sa2sp_chem (SA, TA, DIC, NO3, SIOH4, N, SP) + +END SUBROUTINE + +SUBROUTINE teos2eos_geo(SA, CvT, P, N, T, SP, lon, lat) +! teos2eos_geo: Convert temperature and salinity from TEOS-10 to EOS-80 +! +! Description: +! Convert conservative temperature to in-situ temperature and +! Absolute Salinity (SA) to Practical Salinity (SP). Salinity +! conversion depends on depth and geographic location. +! +! Input: +! SA: Absolute Salinity in g/kg +! CvT: Conservative Temperature in degrees C +! P: Sea water pressure in dbar +! lon: Longitude, optional, in decimal degrees [ 0 ... +360 ] or [ -180 ... +180 ] +! lat: Latitude, optional, in decimal degrees [-90 ... 90] +! +! Details: +! Conversion from Absolute (SA) to Practical Salinity (SP) depends +! on water density anomaly which is correlated with Silicate +! concentration. This function relies on silicate concentration +! taken from WOA (World Ocean Atlas) to evaluate density anomaly. +! +! Output: +! T: in situ Temperature (deg C) +! SP: Practical Salinity (psu) +! +! Author(s): +! Jean-Marie Epitalon +! +! References: +! TEOS-10 web site: http://www.teos-10.org/ +! +! What every oceanographer needs to know about TEOS-10 (The TEOS-10 +! Primer) by Rich Pawlowicz (on TEOS-10 web site) +! +! T. J. McDougall, D. R. Jackett, F. J. Millero, R. Pawlowicz, +! and P. M. Barker, 2012: Algorithm for estimating +! Absolute Salinity +! +! See Also: +! eos2teos_geo does the reverse, teos2eos_chem, sa2sp_geo +! package GSW for Fortran +! +! Examples: +! ! Calculate insitu Temperature and practical salinity of a sample with +! ! Absolute Salinity of 35 g/kg, Conservative Temperature of 18 deg C, +! ! depth is 10 dbar and location is 188 degrees East and 4 degrees North. +! CALL teos2eos_geo(35, 18, 10, 1, T, SP, 188, 4) +! + +USE gsw_mod_toolbox, only: gsw_sp_from_sa, gsw_sa_from_sp, gsw_ct_from_t, gsw_t_from_ct +USE msingledouble + +IMPLICIT NONE + +! Input variables: + !> N: number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> CvT: Conservative Temperature (deg C) + REAL(kind=rx), INTENT(in), DIMENSION(N) :: CvT + !> SA: Absolute Salinity (g/kg) + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SA + !> P: Sea water pressure in dbar (optional, default = 0) +!f2py real(8) intent(in), optional, dimension(n) :: p = 0.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: P + !> lon: Longitude, optional, in decimal degrees [ 0 ... +360 ] or [ -180 ... +180 ] +!f2py real(8) intent(in), optional, dimension(n) :: lon = -25.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon + !> lat: Latitude, optional, in decimal degrees [-90 ... 90] +!f2py real(8) intent(in), optional, dimension(n) :: lat = 0.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lat + +! Output variables: + !> SP: Practical Salinity on the practical salinity scale + REAL(kind=rx), INTENT(out), DIMENSION(N) :: SP + !> T: in-situ temperature in deg. C + REAL(kind=rx), INTENT(out), DIMENSION(N) :: T + + INTEGER :: i + + ! convert temperature + DO i = 1, N + T(i) = SGLE(gsw_t_from_ct (DBLE(SA(i)), DBLE(CvT(i)), DBLE(P(i)))) + ENDDO + ! convert salinity + IF (PRESENT(lat) .AND. PRESENT(lon)) THEN + CALL sa2sp_geo(SA, N, SP, P, lon, lat) + ELSE + CALL sa2sp_geo(SA, N, SP, P) + ENDIF + +END SUBROUTINE + +SUBROUTINE eos2teos_geo(SP, T, P, N, CvT, SA, lon, lat) +! eos2teos_geo: Convert temperature and salinity from EOS-80 to TEOS-10 +! +! Description: +! Convert in-situ to Conservative temperature and Practical (SP) to +! Absolute Salinity (SA), AS 1d ARRAYS. +! Salinity conversion depends on depth and geographic location. +! +! Input: +! SP: Practical Salinity on the practical salinity scale +! T: in-situ temperature in deg. C +! P: Sea water pressure in dbar +! lon: Longitude, optional, in decimal degrees [ 0 ... +360 ] or [ -180 ... +180 ] +! lat: Latitude, optional, in decimal degrees [-90 ... 90] +! N: Size of input and output 1D arrays +! +! Details: +! Conversion from Practical (SP) to Absolute Salinity (SA) depends +! on water density anomaly which is correlated with Silicate +! concentration. This function relies on silicate concentration +! taken from WOA (World Ocean Atlas) to evaluate density anomaly. +! +! Output: +! CVT: Conservative Temperature (deg C) +! SA: Absolute Salinity (g/kg) +! +! Author(s): +! Jean-Marie Epitalon +! +! References: +! TEOS-10 web site: http://www.teos-10.org/ +! +! What every oceanographer needs to know about TEOS-10 (The TEOS-10 +! Primer) by Rich Pawlowicz (on TEOS-10 web site) +! +! T. J. McDougall, D. R. Jackett, F. J. Millero, R. Pawlowicz, +! and P. M. Barker, 2012: Algorithm for estimating +! Absolute Salinity +! +! See Also: +! teos2eos_geo does the reverse, eos2teos_chem, sp2sa_geo +! package GSW for Fortran +! +! Examples: +! ! Calculate Conservative Temperature and Absolute Salinity of a sample with +! ! Practical Salinity of 35 psu, in-situ Temperature of 18 deg C, +! ! depth is 10 dbar and location is 188 degrees East and 4 degrees North. +! call eos2teos_geo(35, 18, 10, 188, 4, 1, CvT, SA) +! +USE gsw_mod_toolbox, only: gsw_sp_from_sa, gsw_sa_from_sp, gsw_ct_from_t, gsw_t_from_ct +USE msingledouble + +IMPLICIT NONE + +! Input variables: + !> N: number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> SP: Practical Salinity on the practical salinity scale + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SP + !> T: in-situ temperature in deg. C + REAL(kind=rx), INTENT(in), DIMENSION(N) :: T + !> P: Sea water pressure in dbar (optional, default = 0) +!f2py real(8) intent(in), optional, dimension(n) :: p = 0.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: P + !> lon: Longitude, optional, in decimal degrees [ 0 ... +360 ] or [ -180 ... +180 ] +!f2py real(8) intent(in), optional, dimension(n) :: lon = -25.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon + !> lat: Latitude, optional, in decimal degrees [-90 ... 90] +!f2py real(8) intent(in), optional, dimension(n) :: lat = 0.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lat + +! Output variables: + !> CvT: Conservative Temperature (deg C) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: CvT + !> SA: Absolute Salinity (g/kg) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: SA + + INTEGER :: i + + ! convert salinity + IF (PRESENT(lat) .AND. PRESENT(lon)) THEN + CALL sp2sa_geo(SP, N, SA, P, lon, lat) + ELSE + CALL sp2sa_geo(SP, N, SA, P) + ENDIF + ! convert temperature + DO i = 1, N + CvT(i) = SGLE(gsw_ct_from_t (DBLE(SA(i)), DBLE(T(i)), DBLE(P(i)))) + ENDDO +END SUBROUTINE + +SUBROUTINE eos2teos_chem(SP, T, P, TA, DIC, NO3, SIOH4, N, CvT, SA) +! eos2teos_chem.Rd +! Convert temperature and salinity from EOS-80 to TEOS-10 +! +! Description: +! Convert in-situ to Conservative temperature and Practical (SP) +! to Absolute Salinity (SA), as 1D arrays +! Salinity conversion depends on Total Alkalinity, Dissolved Inorganic Carbon +! and Nitrate and Silicate concentrations. +! +! Usage: +! call eos2teos_chem(SP, T, P, TA, DIC, NO3, SIOH4, N, CvT, SA) +! +! Input: all 1D arrays of length N +! SP: Practical Salinity on the practical salinity scale +! T: in-situ temperature in deg. C +! P: Sea water pressure in dbar +! TA: Total Alkalinity, in mol/kg +! DIC: Dissolved Inorganic Carbone concentration in mol/kg +! NO3: Total Nitrate concentration in mol/kg +! SIOH4: Total Silicate concentration in mol/kg +! N: Size of input and output 1D arrays +! +! Details: +! Conversion from Practical (SP) to Absolute Salinity (SA) depends +! on carbon system parameters and ion concentration which most +! affect water density anomalies. +! +! Output: all 1D arrays of length N +! CvT: Conservative Temperature (deg C) +! SA: Absolute Salinity (g/kg) +! +! Author(s): +! Jean-Marie Epitalon +! +! References: +! TEOS-10 web site: http://www.teos-10.org/ +! +! What every oceanographer needs to know about TEOS-10 (The TEOS-10 +! Primer) by Rich Pawlowicz (on TEOS-10 web site) +! +! R. Pawlowicz, D. G. Wright, and F. J. Millero, 2011: The +! effects of biogeochemical processes on oceanic conductivity/ +! salinity/density relationships and the characterization of real +! seawater +! +! T. J. McDougall, D. R. Jackett, F. J. Millero, R. Pawlowicz, +! and P. M. Barker, 2012: Algorithm for estimating +! Absolute Salinity +! +! See Also: +! teos2eos_chem does the reverse, eos2teos_geo, sp2sa_chem +! package GSW for Fortran +! +! Examples: +! ! Calculate Conservative Temperature and Absolute Salinity of a sample with +! ! Practical Salinity of 35 psu, in-situ Temperature of 18 deg C, +! ! at 0 dbar and Total Alkalinity of 0.00234 mol/kg and DIC of 0.00202 mol/kg +! ! zero Nitrate and Silicate +! call eos2teos_chem(35, 18, 0, 0.00234, 0.00202, 0, 0, 1, CvT, SA) +! + +USE gsw_mod_toolbox, only: gsw_sp_from_sa, gsw_sa_from_sp, gsw_ct_from_t, gsw_t_from_ct +USE msingledouble + +IMPLICIT NONE + +! Input variables: + !> N: number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> SP: Practical Salinity on the practical salinity scale + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SP + !> T: in-situ temperature in deg. C + REAL(kind=rx), INTENT(in), DIMENSION(N) :: T + !> P: Sea water pressure in dbar + REAL(kind=rx), INTENT(in), DIMENSION(N) :: P + !> TA: Total Alkalinity, in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: TA + !> DIC: Dissolved Inorganic Carbone concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: DIC + !> NO3: Total Nitrate concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: NO3 + !> SIOH4: Total Silicate concentration in mol/kg + REAL(kind=rx), INTENT(in), DIMENSION(N) :: SIOH4 + +! Output variables: + !> CvT: Conservative Temperature (deg C) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: CvT + !> SA: Absolute Salinity (g/kg) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: SA + + INTEGER :: i + + ! convert salinity + CALL sp2sa_chem (SP, TA, DIC, NO3, SIOH4, N, SA) + ! convert temperature + DO i = 1, N + CvT(i) = SGLE(gsw_ct_from_t (DBLE(SA(i)), DBLE(T(i)), DBLE(P(i)))) + ENDDO +END SUBROUTINE + +END MODULE meos diff --git a/src/int_recom/recom/errors.F90 b/src/int_recom/recom/errors.F90 new file mode 100755 index 000000000..5bec41630 --- /dev/null +++ b/src/int_recom/recom/errors.F90 @@ -0,0 +1,708 @@ +!> \file errors.f90 +!! \BRIEF +!> Module with errors subroutine - Propagate standard error (or uncertainty) in carbonate system vars +MODULE merrors +CONTAINS + + +!> Compute standard errors (or uncertainties) of standard carbonate system variables +!> (H+, pCO2, fCO2, CO2*, HCO3- and CO3--, OmegaA, OmegaC) based on uncertainties +!! in input variables, which are Alk, DIC, Total Silicate and Phosphate, T and S +!! and in dissociations constants K0, K1, K2, Kb, Kw, Kspa, Kspc +SUBROUTINE errors (eH, epCO2, efCO2, eCO2, eHCO3, eCO3, eOmegaA, eOmegaC, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, & + etemp, esal, ealk, edic, esil, ephos, & + optCON, optT, optP, optB, optK1K2, optKf, optGAS, optS, lon, & + r, epK, ebt ) + +! This subroutine does error propagation on the computation of carbonate system variables +! from errors (or uncertainties) on six input +! - Alk and DIC +! - nutrients (silicate and phosphate concentrations) +! - temperature and salinity +! plus errors on dissociation constants pK0, pK1, pK2, pKb, pKw, pKspa and pKspc +! +! It computes numerical derivatives then applies error propagation using the method of moments. +! The method of moments is a very general technique for estimating the second moment of a variable z +! (variance or standard deviation) based on a first-order approximation to z. +! +! INPUT variables: +! ================ +! - temp, sal, alk, dic, sil, phos, Patm, depth, lat : same as input of subroutine vars() : vectors +! +! - N : number of data points (= size of input and output vectors) +! - ealk, edic : standard error (or uncertainty) on alk and DIC +! - esal, etemp : standard error (or uncertainty) on Salinity and Temperature +! - ephos, esil : standard error (or uncertainty) on Phosphate and Silicate total concentrations +! - epK : standard error (or uncertainty) on all seven dissociation constants (a vector) [pK units] +! - ebt : standard error (or uncertainty) on total boron fractional error [default=0.01], i.e., 1% +! +! All parameters are vectors of length N except epK +! epK must be vector of seven values : errors of pK0, pK1, pK2, pKb, pKw, pKspa and pKspc +! these errors are assumed to be equal for all data points. +! In constrast, ealk, edic, esal, etemp, ephos and esilt are errors associated with each data point. +! +! epK is optional : if not given, following default error values will be taken : +! pK0 pK1 pK2, pKb pKw pKspa pKspc +! 0.004 0.015 0.03 0.01 0.01 0.02 0.02 +! +! ebt is optional : if not given, the default error is 0.01 (i.e., 1%) +! Bt (rel. err) +! 0.01 +! +! INPUT options: +! ============== +! +! - optCON, optT, optP, opB, optK1K2, optKf, optGAS, optS, lon : same as for input of subroutine vars() +! +! +! OUTPUT variables: +! ================= +! +! - eH total error to [H+] concentration (mol/kg) on the total scale +! - epCO2 total error to "standard" pCO2, CO2 partial pressure computed at in situ temperature and atmospheric pressure (µatm) +! - efCO2 total error to "standard" fCO2, CO2 fugacity computed at in situ temperature and atmospheric pressure (µatm) +! - eCO2 total error to CO2 concentration (mol/kg) +! - eHCO3 total error to HCO3 concentration (mol/kg) +! - eCO3 total error to CO3 concentration (mol/kg) +! - eOmegaA total error of Omega aragonite (aragonite saturation state) +! - eOmegaC total error of Omega calcite (calcite saturation state) +! +!***************************************************************************************************** + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + + USE msingledouble + USE mconstants + USE mderivnum + + IMPLICIT NONE + +! Input variables + !> number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> either in situ temperature (when optT='Tinsitu', typical data) + !! OR potential temperature (when optT='Tpot', typical models) [degree C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sal + !> total alkalinity in [eq/m^3] (when optCON = 'mol/m3') OR in [eq/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: alk + !> dissolved inorganic carbon in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: dic + !> SiO2 concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sil + !> phosphate concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: phos + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm + !> depth in \b meters (when optP='m') or \b decibars (when optP='db') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: depth + !> latitude [degrees north] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: lat + + !> standard error (or uncertainty) on Temperature + REAL(kind=rx), INTENT(in), DIMENSION(N) :: etemp + !> standard error (or uncertainty) on Salinity + REAL(kind=rx), INTENT(in), DIMENSION(N) :: esal + !> standard error (or uncertainty) on alk + REAL(kind=rx), INTENT(in), DIMENSION(N) :: ealk + !> standard error (or uncertainty) on DIC + REAL(kind=rx), INTENT(in), DIMENSION(N) :: edic + !> standard error (or uncertainty) on Silicate total concentrations + REAL(kind=rx), INTENT(in), DIMENSION(N) :: esil + !> standard error (or uncertainty) on Phosphate total concentrations + REAL(kind=rx), INTENT(in), DIMENSION(N) :: ephos + !> standard error (or uncertainty) on all seven dissociation constants (a vector) +!f2py real(8) intent(in), optional, dimension(7) :: epK=(0.004,0.015,0.03,0.01,0.01,0.02,0.02) + REAL(kind=rx), INTENT(in), OPTIONAL, DIMENSION(7) :: epK + !> correlation coefficient (-1 < r < 1) for correlation between ALK and DIC (zero by default) +!f2py real intent(in), optional :: r = 0.0 + REAL(kind=rx), OPTIONAL, INTENT(in) :: r + !> standard error (or uncertainty) on total boron (Bt) - a single number, not a vector like other errors +!f2py real intent(in), optional :: ebt=0.01 + REAL(kind=rx), OPTIONAL, INTENT(in) :: ebt + + !> choose either \b 'mol/kg' (std DATA units) or \b 'mol/m3' (std MODEL units) to select + !! concentration units for input (for alk, dic, sil, phos) & output (co2, hco3, co3) + CHARACTER(6), INTENT(in) :: optCON + !> choose \b 'Tinsitu' for in situ temperature or \b 'Tpot' for potential temperature (in situ Temp is computed, needed for models) + CHARACTER(7), INTENT(in) :: optT + !> for depth input, choose \b "db" for decibars (in situ pressure) or \b "m" for meters (pressure is computed, needed for models) + CHARACTER(2), INTENT(in) :: optP + !> for total boron, choose either \b 'u74' (Uppstrom, 1974) or \b 'l10' (Lee et al., 2010). + !! The 'l10' formulation is based on 139 measurements (instead of 20), + !! uses a more accurate method, and + !! generally increases total boron in seawater by 4% +!f2py character*3 optional, intent(in) :: optB='u74' + CHARACTER(3), OPTIONAL, INTENT(in) :: optB + !> for K1,K2 choose either \b 'l' (Lueker et al., 2000) or \b 'm10' (Millero, 2010) +!f2py character*3 optional, intent(in) :: optK1K2='l' + CHARACTER(3), OPTIONAL, INTENT(in) :: optK1K2 + !> for Kf, choose either \b 'pf' (Perez & Fraga, 1987) or \b 'dg' (Dickson & Riley, 1979) +!f2py character*2 optional, intent(in) :: optKf='pf' + CHARACTER(2), OPTIONAL, INTENT(in) :: optKf + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(7), OPTIONAL, INTENT(in) :: optGAS +!f2py character*7 optional, intent(in) :: optS='Sprc' + CHARACTER(4), OPTIONAL, INTENT(in) :: optS + !> longitude [degrees east] +!f2py real(8) optional, intent(in), dimension(n) :: lon = -25. + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon + +! Output variables: + !> total error to [H+] concentration (mol/kg) on the total scale + REAL(kind=rx), INTENT(out), DIMENSION(N) :: eH + !> total error to "standard" pCO2, CO2 partial pressure computed at in situ temperature and atmospheric pressure (µatm) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: epCO2 + !> total error to "standard" fCO2, CO2 fugacity computed at in situ temperature and atmospheric pressure (µatm) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: efCO2 + !> total error to CO2 concentration (mol/kg) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: eCO2 + !> total error to HCO3 concentration (mol/kg) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: eHCO3 + !> total error to CO3 concentration (mol/kg) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: eCO3 + !> total error of Omega aragonite (aragonite saturation state) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: eOmegaA + !> total error of Omega calcite (calcite saturation state) + REAL(kind=rx), INTENT(out), DIMENSION(N) :: eOmegaC + +! Local variables + + ! Default value for errors on pK + REAL(kind=rx), DIMENSION(7) :: epK_local = (/0.004_r8, 0.015_r8, 0.03_r8, 0.01_r8, 0.01_r8, 0.02_r8, 0.02_r8/) + REAL(kind=rx), DIMENSION(7) :: epKstd = (/0.004_r8, 0.015_r8, 0.03_r8, 0.01_r8, 0.01_r8, 0.02_r8, 0.02_r8/) + REAL(kind=rx), DIMENSION(7) :: epKzero +! REAL(kind=rx), DIMENSION(7) :: epKstd +! Extend epK_local by 1 to later include error for Bt (simplifies coding) + REAL(kind=rx), DIMENSION(8) :: epK_local8 + CHARACTER*3, DIMENSION(8) :: Kid = (/'k0 ','k1 ','k2 ','kb ','kw ','ka ','kc ', 'bt '/) +! CHARACTER*3, DIMENSION(7) :: Kid = (/'k0 ','k1 ','k2 ','kb ','kw ','ka ','kc '/) + + ! Default value for error on Total Boron (ebt) + REAL(kind=rx) :: ebt_local = 0.01_rx +! REAL(kind=rx) :: ebt_local + + ! Default value for correlation between ALK & DIC + REAL(kind=rx) :: r_local = 0.0_r8 + + ! derivative of H on the total scale + REAL(kind=rx), DIMENSION(N) :: dh_dx + ! derivative of CO2 partial pressure [uatm] + REAL(kind=rx), DIMENSION(N) :: dpco2_dx + ! derivative of CO2 fugacity [uatm] + REAL(kind=rx), DIMENSION(N) :: dfco2_dx + ! derivative of aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), DIMENSION(N) :: dco2_dx + ! derivative of (HCO3-) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), DIMENSION(N) :: dhco3_dx + ! derivative of (CO3--) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), DIMENSION(N) :: dco3_dx + ! derivative of Omega for aragonite, i.e., the aragonite saturation state + REAL(kind=rx), DIMENSION(N) :: dOmegaA_dx + ! derivative of Omega for calcite, i.e., the calcite saturation state + REAL(kind=rx), DIMENSION(N) :: dOmegaC_dx + + ! covariance tmp array for derivative of H on the total scale + REAL(kind=rx), DIMENSION(N) :: r_dh_dx + ! covariance tmp array for derivative of CO2 partial pressure [uatm] + REAL(kind=rx), DIMENSION(N) :: r_dpco2_dx + ! covariance tmp array for derivative of CO2 fugacity [uatm] + REAL(kind=rx), DIMENSION(N) :: r_dfco2_dx + ! covariance tmp array for derivative of aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), DIMENSION(N) :: r_dco2_dx + ! covariance tmp array for derivative of (HCO3-) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), DIMENSION(N) :: r_dhco3_dx + ! covariance tmp array for derivative of (CO3--) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), DIMENSION(N) :: r_dco3_dx + ! covariance tmp array for derivative of Omega for aragonite, i.e., the aragonite saturation state + REAL(kind=rx), DIMENSION(N) :: r_dOmegaA_dx + ! covariance tmp array for Omega for calcite, i.e., the calcite saturation state + REAL(kind=rx), DIMENSION(N) :: r_dOmegaC_dx + + REAL(kind=r8), DIMENSION(N) :: K0, K1, K2, Kb, Kw, Ks, Kf, Kspc + REAL(kind=r8), DIMENSION(N) :: Kspa, K1p, K2p, K3p, Ksi + REAL(kind=r8), DIMENSION(N) :: St, Ft, Bt + ! Standard error on dissociation constant Kx + REAL(kind=r8), DIMENSION(N) :: eK + +! Arrays to pass optional arguments into or use defaults (Dickson et al., 2007) + CHARACTER(3) :: opB + CHARACTER(3) :: opK1K2 + CHARACTER(2) :: opKf + CHARACTER(7) :: opGAS + CHARACTER(4) :: opS + + INTEGER :: i + +! ******************************************************************* + +! Set defaults for optional arguments (in Fortran90) +! Note: Optional arguments with f2py (python) are set above with +! the !f2py statements that precede each type declaraion + + epKstd = (/0.004d0, 0.015d0, 0.03d0, 0.01d0, 0.01d0, 0.02d0, 0.02d0/) + epK_local(:) = epKstd(:) + epKzero = epKstd * 0.0 + + !------------------------------------------------------------------------------------------------------ + ! IMPORTANT: in python (after f2py), the result of "PRESENT()" clause below is always .TRUE. + ! Thus the corresponding ELSE blocks below are executed only when in pure FORTRAN; + ! They are not reached in a python call of the same fortran routines. Thus + ! for f2py, the same defaults are assigned with "!f2py" statements above + IF (PRESENT(optB)) THEN + opB = optB + ELSE +! Default is Uppstrom (1974) for total boron + opB = 'u74' + ENDIF + IF (PRESENT(optK1K2)) THEN + opK1K2 = optK1K2 + ELSE +! Default is Lueker et al. 2000) for K1 & K2 + opK1K2 = 'l' + ENDIF + IF (PRESENT(optKf)) THEN + opKf = optKf + ELSE +! Default is Perez & Fraga (1987) for Kf + opKf = 'pf' + ENDIF + IF (PRESENT(optGAS)) THEN + opGAS = optGAS + ELSE + opGAS = 'Pinsitu' + ENDIF + IF (.NOT. PRESENT(optS)) THEN + opS = optS + ELSE + opS = 'Sprc' + ENDIF +! IF (PRESENT(lon)) THEN +! lon_local = lon +! ELSE +! lon_local = 1.e20 +! ENDIF + IF (PRESENT(r)) THEN + r_local = r + ELSE + r_local = 0.0_r8 + ENDIF + IF (PRESENT(epK)) THEN + epK_local(:) = epK(:) + ! Kludge: when used in python, the init. of epK fails (does not work with an array) + ! i.e;, all 7 epK members are equal to last specified element on !f2py statement) + IF (epK(1)==epK(7) .and. epK(2)==epK(7) .and. epK(3)==epK(7) .AND. & + epK(4)==epK(7) .and. epK(5)==epK(7) .and. epK(6)==epK(7) ) THEN + ! if so, initialize to the default + IF (epK(1)==0.0) THEN + epK_local = epKzero + ELSE + epK_local = epKstd + ENDIF + ENDIF + ELSE + epK_local = (/0.004_r8, 0.015_r8, 0.03_r8, 0.01_r8, 0.01_r8, 0.02_r8, 0.02_r8/) + ENDIF + IF (PRESENT(ebt)) THEN + ebt_local = ebt + ELSE + ebt_local = 0.01_rx + ENDIF + + ! initialise total square error + eH(:) = 0 + epCO2(:) = 0 + efCO2(:) = 0 + eCO2(:) = 0 + eHCO3(:) = 0 + eCO3(:) = 0 + eOmegaA(:) = 0 + eOmegaC(:) = 0 + + ! Contribution of Alk to squared standard error + ! --------------------------------------------- + + ! Compute sensitivities (partial derivatives) + CALL derivnum (dh_dx, dpco2_dx, dfco2_dx, dco2_dx, dhco3_dx, & + dco3_dx, dOmegaA_dx, dOmegaC_dx, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, 'alk', & + optCON, optT, optP, opB, opK1K2, opKf, opGAS ) + + ! Covariance (only when R is not zero) + IF (r_local .NE. 0.0_r8) THEN + r_dh_dx(:) = dh_dx(:) * ealk(:) + r_dpco2_dx(:) = dpco2_dx(:) * ealk(:) + r_dfco2_dx(:) = dfco2_dx(:) * ealk(:) + r_dco2_dx(:) = dco2_dx(:) * ealk(:) + r_dhco3_dx(:) = dhco3_dx(:) * ealk(:) + r_dco3_dx(:) = dco3_dx(:) * ealk(:) + r_dOmegaA_dx(:) = dOmegaA_dx(:) * ealk(:) + r_dOmegaC_dx(:) = dOmegaC_dx(:) * ealk(:) + ENDIF + + ! multiply derivatives by error + dh_dx(:) = dh_dx(:) * ealk(:) + dpco2_dx(:) = dpco2_dx(:) * ealk(:) + dfco2_dx(:) = dfco2_dx(:) * ealk(:) + dco2_dx(:) = dco2_dx(:) * ealk(:) + dhco3_dx(:) = dhco3_dx(:) * ealk(:) + dco3_dx(:) = dco3_dx(:) * ealk(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * ealk(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * ealk(:) + ! Square + dh_dx(:) = dh_dx(:) * dh_dx(:) + dpco2_dx(:) = dpco2_dx(:) * dpco2_dx(:) + dfco2_dx(:) = dfco2_dx(:) * dfco2_dx(:) + dco2_dx(:) = dco2_dx(:) * dco2_dx(:) + dhco3_dx(:) = dhco3_dx(:) * dhco3_dx(:) + dco3_dx(:) = dco3_dx(:) * dco3_dx(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * dOmegaA_dx(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * dOmegaC_dx(:) + ! sum up + eH(:) = eH(:) + dh_dx(:) + epCO2(:) = epCO2(:) + dpco2_dx(:) + efCO2(:) = efCO2(:) + dfco2_dx(:) + eCO2(:) = eCO2(:) + dco2_dx(:) + eHCO3(:) = eHCO3(:) + dhco3_dx(:) + eCO3(:) = eCO3(:) + dco3_dx(:) + eOmegaA(:) = eOmegaA(:) + dOmegaA_dx(:) + eOmegaC(:) = eOmegaC(:) + dOmegaC_dx(:) + + ! Contribution of DIC to squared standard error + ! --------------------------------------------- + + ! Compute sensitivities (partial derivatives) + CALL derivnum (dh_dx, dpco2_dx, dfco2_dx, dco2_dx, dhco3_dx, & + dco3_dx, dOmegaA_dx, dOmegaC_dx, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, 'dic', & + optCON, optT, optP, opB, opK1K2, opKf, opGAS ) + + ! Covariance (only when R is not zero) = 2*r*(dvar/dAt)*(dvar/dCt)*sigma1*sigma2 + IF (r_local .NE. 0.0_r8) THEN + eH(:) = eH(:) + 2.0_r8 * r_local * r_dh_dx(:) * dh_dx(:) * edic(:) + epco2(:) = epco2(:) + 2.0_r8 * r_local * r_dpco2_dx(:) * dpco2_dx(:) * edic(:) + efco2(:) = efco2(:) + 2.0_r8 * r_local * r_dfco2_dx(:) * dfco2_dx(:) * edic(:) + eco2(:) = eco2(:) + 2.0_r8 * r_local * r_dco2_dx(:) * dco2_dx(:) * edic(:) + ehco3(:) = ehco3(:) + 2.0_r8 * r_local * r_dhco3_dx(:) * dhco3_dx(:) * edic(:) + eco3(:) = eco3(:) + 2.0_r8 * r_local * r_dco3_dx(:) * dco3_dx(:) * edic(:) + eOmegaA(:) = eOmegaA(:) + 2.0_r8 * r_local * r_dOmegaA_dx(:) * dOmegaA_dx(:) * edic(:) + eOmegaC(:) = eOmegaC(:) + 2.0_r8 * r_local * r_dOmegaC_dx(:) * dOmegaC_dx(:) * edic(:) + ENDIF + + ! multiply derivatives by error + dh_dx(:) = dh_dx(:) * edic(:) + dpco2_dx(:) = dpco2_dx(:) * edic(:) + dfco2_dx(:) = dfco2_dx(:) * edic(:) + dco2_dx(:) = dco2_dx(:) * edic(:) + dhco3_dx(:) = dhco3_dx(:) * edic(:) + dco3_dx(:) = dco3_dx(:) * edic(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * edic(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * edic(:) + ! Square + dh_dx(:) = dh_dx(:) * dh_dx(:) + dpco2_dx(:) = dpco2_dx(:) * dpco2_dx(:) + dfco2_dx(:) = dfco2_dx(:) * dfco2_dx(:) + dco2_dx(:) = dco2_dx(:) * dco2_dx(:) + dhco3_dx(:) = dhco3_dx(:) * dhco3_dx(:) + dco3_dx(:) = dco3_dx(:) * dco3_dx(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * dOmegaA_dx(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * dOmegaC_dx(:) + ! sum up + eH(:) = eH(:) + dh_dx(:) + epCO2(:) = epCO2(:) + dpco2_dx(:) + efCO2(:) = efCO2(:) + dfco2_dx(:) + eCO2(:) = eCO2(:) + dco2_dx(:) + eHCO3(:) = eHCO3(:) + dhco3_dx(:) + eCO3(:) = eCO3(:) + dco3_dx(:) + eOmegaA(:) = eOmegaA(:) + dOmegaA_dx(:) + eOmegaC(:) = eOmegaC(:) + dOmegaC_dx(:) + + ! Contribution of Silicon (total dissolved inorganic concentration) to squared standard error + ! ------------------------------------------------------------------------------------------- + + IF (any (esil .ne. 0.0)) THEN + ! Compute sensitivities (partial derivatives) + CALL derivnum (dh_dx, dpco2_dx, dfco2_dx, dco2_dx, dhco3_dx, & + dco3_dx, dOmegaA_dx, dOmegaC_dx, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, 'sil', & + optCON, optT, optP, opB, opK1K2, opKf, opGAS ) + + ! Cancels derivative where Sil = 0 + ! because computation of derivative w/ respect to sil fails in that case + WHERE (sil(:) .EQ. 0) + dh_dx(:) = 0 + dpco2_dx(:) = 0 + dfco2_dx(:) = 0 + dco2_dx(:) = 0 + dhco3_dx(:) = 0 + dco3_dx(:) = 0 + dOmegaA_dx(:) = 0 + dOmegaC_dx(:) = 0 + END WHERE + + ! multiply derivatives by error + dh_dx(:) = dh_dx(:) * esil(:) + dpco2_dx(:) = dpco2_dx(:) * esil(:) + dfco2_dx(:) = dfco2_dx(:) * esil(:) + dco2_dx(:) = dco2_dx(:) * esil(:) + dhco3_dx(:) = dhco3_dx(:) * esil(:) + dco3_dx(:) = dco3_dx(:) * esil(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * esil(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * esil(:) + ! Square + dh_dx(:) = dh_dx(:) * dh_dx(:) + dpco2_dx(:) = dpco2_dx(:) * dpco2_dx(:) + dfco2_dx(:) = dfco2_dx(:) * dfco2_dx(:) + dco2_dx(:) = dco2_dx(:) * dco2_dx(:) + dhco3_dx(:) = dhco3_dx(:) * dhco3_dx(:) + dco3_dx(:) = dco3_dx(:) * dco3_dx(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * dOmegaA_dx(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * dOmegaC_dx(:) + ! sum up + eH(:) = eH(:) + dh_dx(:) + epCO2(:) = epCO2(:) + dpco2_dx(:) + efCO2(:) = efCO2(:) + dfco2_dx(:) + eCO2(:) = eCO2(:) + dco2_dx(:) + eHCO3(:) = eHCO3(:) + dhco3_dx(:) + eCO3(:) = eCO3(:) + dco3_dx(:) + eOmegaA(:) = eOmegaA(:) + dOmegaA_dx(:) + eOmegaC(:) = eOmegaC(:) + dOmegaC_dx(:) + ENDIF + + ! Contribution of Phosphorus (total dissoloved inorganic concentration) to squared standard error + ! ----------------------------------------------------------------------------------------------- + + IF (any (ephos .ne. 0.0)) THEN + + ! Compute sensitivities (partial derivatives) + CALL derivnum (dh_dx, dpco2_dx, dfco2_dx, dco2_dx, dhco3_dx, & + dco3_dx, dOmegaA_dx, dOmegaC_dx, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, 'pho', & + optCON, optT, optP, opB, opK1K2, opKf, opGAS ) + + ! Cancels derivative where Phos = 0 + ! because computation of derivative w/ respect to phos fails in that case + WHERE (phos(:) .EQ. 0) + dh_dx(:) = 0 + dpco2_dx(:) = 0 + dfco2_dx(:) = 0 + dco2_dx(:) = 0 + dhco3_dx(:) = 0 + dco3_dx(:) = 0 + dOmegaA_dx(:) = 0 + dOmegaC_dx(:) = 0 + END WHERE + + ! multiply derivatives by error + dh_dx(:) = dh_dx(:) * ephos(:) + dpco2_dx(:) = dpco2_dx(:) * ephos(:) + dfco2_dx(:) = dfco2_dx(:) * ephos(:) + dco2_dx(:) = dco2_dx(:) * ephos(:) + dhco3_dx(:) = dhco3_dx(:) * ephos(:) + dco3_dx(:) = dco3_dx(:) * ephos(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * ephos(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * ephos(:) + ! Square + dh_dx(:) = dh_dx(:) * dh_dx(:) + dpco2_dx(:) = dpco2_dx(:) * dpco2_dx(:) + dfco2_dx(:) = dfco2_dx(:) * dfco2_dx(:) + dco2_dx(:) = dco2_dx(:) * dco2_dx(:) + dhco3_dx(:) = dhco3_dx(:) * dhco3_dx(:) + dco3_dx(:) = dco3_dx(:) * dco3_dx(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * dOmegaA_dx(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * dOmegaC_dx(:) + ! sum up + eH(:) = eH(:) + dh_dx(:) + epCO2(:) = epCO2(:) + dpco2_dx(:) + efCO2(:) = efCO2(:) + dfco2_dx(:) + eCO2(:) = eCO2(:) + dco2_dx(:) + eHCO3(:) = eHCO3(:) + dhco3_dx(:) + eCO3(:) = eCO3(:) + dco3_dx(:) + eOmegaA(:) = eOmegaA(:) + dOmegaA_dx(:) + eOmegaC(:) = eOmegaC(:) + dOmegaC_dx(:) + ENDIF + + ! Contribution of temperature to squared standard error + ! ----------------------------------------------------- + + IF (any (etemp .ne. 0.0)) THEN + ! Compute sensitivities (partial derivatives) + CALL derivnum (dh_dx, dpco2_dx, dfco2_dx, dco2_dx, dhco3_dx, & + dco3_dx, dOmegaA_dx, dOmegaC_dx, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, 'tem', & + optCON, optT, optP, opB, opK1K2, opKf, opGAS ) + + ! multiply derivatives by error + dh_dx(:) = dh_dx(:) * etemp(:) + dpco2_dx(:) = dpco2_dx(:) * etemp(:) + dfco2_dx(:) = dfco2_dx(:) * etemp(:) + dco2_dx(:) = dco2_dx(:) * etemp(:) + dhco3_dx(:) = dhco3_dx(:) * etemp(:) + dco3_dx(:) = dco3_dx(:) * etemp(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * etemp(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * etemp(:) + ! Square + dh_dx(:) = dh_dx(:) * dh_dx(:) + dpco2_dx(:) = dpco2_dx(:) * dpco2_dx(:) + dfco2_dx(:) = dfco2_dx(:) * dfco2_dx(:) + dco2_dx(:) = dco2_dx(:) * dco2_dx(:) + dhco3_dx(:) = dhco3_dx(:) * dhco3_dx(:) + dco3_dx(:) = dco3_dx(:) * dco3_dx(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * dOmegaA_dx(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * dOmegaC_dx(:) + ! sum up + eH(:) = eH(:) + dh_dx(:) + epCO2(:) = epCO2(:) + dpco2_dx(:) + efCO2(:) = efCO2(:) + dfco2_dx(:) + eCO2(:) = eCO2(:) + dco2_dx(:) + eHCO3(:) = eHCO3(:) + dhco3_dx(:) + eCO3(:) = eCO3(:) + dco3_dx(:) + eOmegaA(:) = eOmegaA(:) + dOmegaA_dx(:) + eOmegaC(:) = eOmegaC(:) + dOmegaC_dx(:) + ENDIF + + + ! Contribution of salinity to squared standard error + ! -------------------------------------------------- + + IF (any (esal .ne. 0.0)) THEN + ! Compute sensitivities (partial derivatives) + CALL derivnum (dh_dx, dpco2_dx, dfco2_dx, dco2_dx, dhco3_dx, & + dco3_dx, dOmegaA_dx, dOmegaC_dx, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, 'sal', & + optCON, optT, optP, opB, opK1K2, opKf, opGAS ) + + ! multiply derivatives by error + dh_dx(:) = dh_dx(:) * esal(:) + dpco2_dx(:) = dpco2_dx(:) * esal(:) + dfco2_dx(:) = dfco2_dx(:) * esal(:) + dco2_dx(:) = dco2_dx(:) * esal(:) + dhco3_dx(:) = dhco3_dx(:) * esal(:) + dco3_dx(:) = dco3_dx(:) * esal(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * esal(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * esal(:) + ! Square + dh_dx(:) = dh_dx(:) * dh_dx(:) + dpco2_dx(:) = dpco2_dx(:) * dpco2_dx(:) + dfco2_dx(:) = dfco2_dx(:) * dfco2_dx(:) + dco2_dx(:) = dco2_dx(:) * dco2_dx(:) + dhco3_dx(:) = dhco3_dx(:) * dhco3_dx(:) + dco3_dx(:) = dco3_dx(:) * dco3_dx(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * dOmegaA_dx(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * dOmegaC_dx(:) + ! sum up + eH(:) = eH(:) + dh_dx(:) + epCO2(:) = epCO2(:) + dpco2_dx(:) + efCO2(:) = efCO2(:) + dfco2_dx(:) + eCO2(:) = eCO2(:) + dco2_dx(:) + eHCO3(:) = eHCO3(:) + dhco3_dx(:) + eCO3(:) = eCO3(:) + dco3_dx(:) + eOmegaA(:) = eOmegaA(:) + dOmegaA_dx(:) + eOmegaC(:) = eOmegaC(:) + dOmegaC_dx(:) + ENDIF + + ! Contribution of the equil constants and Bt to squared standard error + ! -------------------------------------------------------------------- + + ! Make vector of (epK_local, ebt_local), i.e., adding 1 value at end of epK (for testing below) + epK_local8(1:7) = epK_local + epK_local8(8) = ebt_local + + ! Preliminary calculations for dissociation constants and total boron + IF (any (epK_local8 .NE. 0) ) THEN + + ! Get all equilibrium constants and total concentrations of SO4, F, B + CALL constants (K0, K1, K2, Kb, Kw, Ks, Kf, & + Kspc, Kspa, K1p, K2p, K3p, Ksi, St, Ft, Bt, & + temp, sal, Patm, depth, lat, N, & + optT, optP, opB, opK1K2, opKf, opGAS ) + + + ! Contribution of all pKi to squared standard error + DO i = 1,8 + ! if error on Ki is given + IF (epK_local8(i) .ne. 0.0) THEN + + ! compute error on Ki from that on pKi + SELECT CASE (i) + CASE(1) + eK(:) = - epK_local(i) * K0(:) * log(10.0) + CASE(2) + eK(:) = - epK_local(i) * K1(:) * log(10.0) + CASE(3) + eK(:) = - epK_local(i) * K2(:) * log(10.0) + CASE(4) + eK(:) = - epK_local(i) * Kb(:) * log(10.0) + CASE(5) + eK(:) = - epK_local(i) * Kw(:) * log(10.0) + CASE(6) + eK(:) = - epK_local(i) * Kspa(:) * log(10.0) + CASE(7) + eK(:) = - epK_local(i) * Kspc(:) * log(10.0) + CASE(8) + ! for convenience we tag on ebt here, even though Bt is not an equilibrium constant + ! For Bt, we start from % error in Bt (not from absolute delta pK, so no log(10) conversion) + eK(:) = ebt_local * Bt(:) + END SELECT + + ! Compute sensitivities (partial derivatives) + CALL derivnum (dh_dx, dpco2_dx, dfco2_dx, dco2_dx, dhco3_dx, & + dco3_dx, dOmegaA_dx, dOmegaC_dx, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, Kid(i), & + optCON, optT, optP, opB, opK1K2, opKf, opGAS ) + + ! multiply derivatives by error + dh_dx(:) = dh_dx(:) * eK(:) + dpco2_dx(:) = dpco2_dx(:) * eK(:) + dfco2_dx(:) = dfco2_dx(:) * eK(:) + dco2_dx(:) = dco2_dx(:) * eK(:) + dhco3_dx(:) = dhco3_dx(:) * eK(:) + dco3_dx(:) = dco3_dx(:) * eK(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * eK(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * eK(:) + ! Square + dh_dx(:) = dh_dx(:) * dh_dx(:) + dpco2_dx(:) = dpco2_dx(:) * dpco2_dx(:) + dfco2_dx(:) = dfco2_dx(:) * dfco2_dx(:) + dco2_dx(:) = dco2_dx(:) * dco2_dx(:) + dhco3_dx(:) = dhco3_dx(:) * dhco3_dx(:) + dco3_dx(:) = dco3_dx(:) * dco3_dx(:) + dOmegaA_dx(:) = dOmegaA_dx(:) * dOmegaA_dx(:) + dOmegaC_dx(:) = dOmegaC_dx(:) * dOmegaC_dx(:) + ! sum up + eH(:) = eH(:) + dh_dx(:) + epCO2(:) = epCO2(:) + dpco2_dx(:) + efCO2(:) = efCO2(:) + dfco2_dx(:) + eCO2(:) = eCO2(:) + dco2_dx(:) + eHCO3(:) = eHCO3(:) + dhco3_dx(:) + eCO3(:) = eCO3(:) + dco3_dx(:) + eOmegaA(:) = eOmegaA(:) + dOmegaA_dx(:) + eOmegaC(:) = eOmegaC(:) + dOmegaC_dx(:) + ENDIF + END DO + ENDIF + + ! Compute resulting total error (or uncertainty) + eH = sqrt(eH) + epCO2 = sqrt(epCO2) + efCO2 = sqrt(efCO2) + eCO2 = sqrt(eCO2) + eHCO3 = sqrt(eHCO3) + eCO3 = sqrt(eCO3) + eOmegaA = sqrt(eOmegaA) + eOmegaC = sqrt(eOmegaC) + + RETURN +END SUBROUTINE errors +END MODULE merrors diff --git a/src/int_recom/recom/f2pCO2.F90 b/src/int_recom/recom/f2pCO2.F90 new file mode 100755 index 000000000..a6f100c38 --- /dev/null +++ b/src/int_recom/recom/f2pCO2.F90 @@ -0,0 +1,71 @@ +!> \file f2pCO2.f90 +!! \BRIEF +!> Module with f2pCO2 subroutine - compute pCO2 from fCO2, in situ T, atm pressure, hydrostatic pressure +MODULE mf2pCO2 +CONTAINS +!> Compute pCO2 from arrays of fCO2, in situ temp, atm pressure, & hydrostatic pressure +SUBROUTINE f2pCO2(fCO2, temp, Patm, p, N, pCO2) + ! Purpose: + ! Compute pCO2 from arrays of fCO2, in situ temp, atm pressure, & hydrostatic pressure + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + + USE msingledouble + IMPLICIT NONE + + !> number of records +!f2py intent(hide) n + INTEGER, intent(in) :: N + +! INPUT variables + !> oceanic fugacity of CO2 [uatm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: fCO2 + !> in situ temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm + !> hydrostatic pressure [db] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: p + +! OUTPUT variables: + !> oceanic partial pressure of CO2 [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: pCO2 + +! LOCAL variables: + REAL(kind=r8) :: dfCO2, dtemp, tk, dPatm, prb + REAL(kind=r8) :: Ptot, Rgas_atm, B, Del, xCO2approx, xc2, fugcoeff + REAL(kind=r8) :: dpCO2 + + INTEGER :: i + +! REAL(kind=r8) :: sw_ptmp +! EXTERNAL sw_ptmp + + DO i = 1,N + dfCO2 = DBLE(fCO2(i)) + dtemp = DBLE(temp(i)) + dPatm = DBLE(Patm(i)) + tk = 273.15d0 + DBLE(temp(i)) !Absolute temperature (Kelvin) + prb = DBLE(p(i)) / 10.0d0 !Pressure effect (prb is in bars) + Ptot = dPatm + prb/1.01325d0 !Total pressure (atmospheric + hydrostatic) [atm] + Rgas_atm = 82.05736_r8 !R in (cm3 * atm) / (mol * K) from CODATA (2006) +! To compute fugcoeff, we need 3 other terms (B, Del, xc2) as well as 3 others above (tk, Ptot, Rgas_atm) + B = -1636.75d0 + 12.0408d0*tk - 0.0327957d0*(tk*tk) + 0.0000316528d0*(tk*tk*tk) + Del = 57.7d0 - 0.118d0*tk +! "x2" term often neglected (assumed = 1) in applications of Weiss's (1974) equation 9 +! x2 = 1 - x1 = 1 - xCO2 (it is very close to 1, but not quite) +! Let's assume that xCO2 = fCO2. Resulting fugcoeff is identical to 8th digit after the decimal. + xCO2approx = dfCO2 * 1.e-6_r8 + xc2 = (1.0d0 - xCO2approx)**2 + fugcoeff = exp( Ptot*(B + 2.0d0*xc2*Del)/(Rgas_atm*tk) ) + dpCO2 = dfCO2 / fugcoeff + pCO2(i) = SGLE(dpCO2) + END DO + + RETURN +END SUBROUTINE f2pCO2 +END MODULE mf2pCO2 diff --git a/src/int_recom/recom/gasx.F90 b/src/int_recom/recom/gasx.F90 new file mode 100755 index 000000000..bd5473527 --- /dev/null +++ b/src/int_recom/recom/gasx.F90 @@ -0,0 +1,1101 @@ +!> \file gasx.f90 +!! \BRIEF +!> Module with routines needed to compute gas exchange (flxco2, scco2, atmospheric xCO2 and pCO2) +MODULE gasx +CONTAINS +!> Computes air-sea CO2 flux & surface-ocean carbonate system vars (pH, CO2*, HCO3- and CO32-, OmegaA, OmegaC, R) +!! from T, S, P, ALK, DIC, total inorganic silicon, total inorganic phosphorus, all as 1-D arrays +SUBROUTINE flxco2(co2flux, co2ex, dpco2, & + ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, BetaD, rhoSW, p, tempis, & + temp, sal, alk, dic, sil, phos, kw660, xco2, Patm, dz1, N, lon, lat, & + optCON, optT, optP, optB, optK1K2, optKf, optGAS, optS ) + ! Purpose: + ! Computes air-sea CO2 flux & surface ocean carbonate system vars (pH, CO2*, HCO3- and CO32-, OmegaA, OmegaC, R) + ! from T, S, P, ALK, DIC, total inorganic silicon, total inorganic phosphorus, all as 1-D arrays + ! + ! INPUT variables: + ! ================ + ! kw660 = gas transfer velocity (piston velocity) for CO2 [m/s] + ! without T-dependant Schmidt number correction + ! BUT accounting for sea ice fraction (See OCMIP2 design & HOWTO documents for details) + ! xco2 = atmospheric mole fraction of CO2 [ppm] + ! Patm = atmospheric pressure at surface [atm] + ! dz1 = depth of the top vertical layer of the model [m] + ! temp = surface potential temperature [degrees C] (with optT='Tpot', i.e., models carry tempot, not in situ temp) + ! = surface in situ temperature [degrees C] (with optT='Tinsitu', e.g., for data) + ! sal = surface salinity in [psu] (practical sal.) or [g/kg] (absolute sal.) + ! alk = surface total alkalinity in [eq/m^3] with optCON = 'mol/m3' + ! = [eq/kg] with optCON = 'mol/kg' + ! dic = surface dissolved inorganic carbon [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! sil = surface total inorganic silicon [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! phos = surface total inorganinc phosphorus [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! INPUT options: + ! ============== + ! ----------- + ! optCON: choose input concentration units - mol/kg (data) vs. mol/m^3 (models) + ! ----------- + ! -> 'mol/kg' for DIC and ALK given on mokal scale, i.e., in mol/kg (std DATA units) + ! -> 'mol/m3' for DIC and ALK given in mol/m^3 (std MODEL units) + ! ----------- + ! optT: choose in-situ, potential or conservative temperature as input + ! --------- + ! NOTE: Carbonate chem calculations require IN-SITU temperature (not potential Temperature) + ! -> 'Tpot' means input is pot. Temperature (in situ Temp "tempis" is computed) + ! -> 'Tcsv' means input is Conservative Temperature (in situ Temp "tempis" is computed) + ! -> 'Tinsitu' means input is already in-situ Temperature ("tempis" not computed) + ! --------- + ! optP: choose depth (m) vs pressure (db) as input + ! --------- + ! -> 'm' means "depth" input is in "m" (thus in situ Pressure "p" [db] is computed) + ! -> 'db' means "depth" input is already in situ pressure [db], not m (thus p = depth) + ! --------- + ! optB: choose total boron formulation - Uppström (1974) vs. Lee et al. (2010) + ! --------- + ! -> 'u74' means use classic formulation of Uppström (1974) for total Boron + ! -> 'l10' means use newer formulation of Lee et al. (2010) for total Boron + ! --------- + ! optK1K2: + ! --------- + ! -> 'l' means use Lueker et al. (2000) formulations for K1 & K2 (recommended by Dickson et al. 2007) + ! **** BUT this should only be used when 2 < T < 35 and 19 < S < 43 + ! -> 'm10' means use Millero (2010) formulation for K1 & K2 (see Dickson et al., 2007) + ! **** Valid for 0 < T < 50°C and 1 < S < 50 psu + ! **** Orr et al. (GMDD, 2014) identify large discrepancies between packages w/ this option + ! ---------- + ! optKf: + ! ---------- + ! -> 'pf' means use Perez & Fraga (1987) formulation for Kf (recommended by Dickson et al., 2007) + ! **** BUT Valid for 9 < T < 33°C and 10 < S < 40. + ! -> 'dg' means use Dickson & Riley (1979) formulation for Kf (recommended by Dickson & Goyet, 1994) + ! ----------- + ! optGAS: choose in situ vs. potential fCO2 and pCO2 + ! --------- + ! PRESSURE corrections for K0 and the fugacity coefficient (Cf) + ! -> 'Pzero' = 'zero order' fCO2 and pCO2 (typical approach, which is flawed) + ! considers in situ T & only atm pressure (hydrostatic=0) + ! -> 'Ppot' = 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + ! considers potential T & only atm pressure (hydrostatic press = 0) + ! -> 'Pinsitu' = 'in situ' fCO2 and pCO2 (accounts for huge effects of pressure) + ! considers in situ T & total pressure (atm + hydrostatic) + ! --------- + ! optS: choose practical [psu] or absolute [g/kg] salinity as input + ! ---------- + ! -> 'Sprc' means input is practical salinity according to EOS-80 convention + ! -> 'Sabs' means input is absolute salinity according to TEOS-10 convention (practical sal. will be computed) + ! --------- + ! lon: longitude in degrees East + ! ---------- + ! lat: latitude in degrees North + ! ---------- + ! lat and lon are optional; they may be used when optS is "Sabs" as conversion parameters + ! from Absolute to Practical Salinity. + ! + ! When seawater is not of standard composition, Practical Salinity alone is not sufficient + ! to compute Absolute Salinity and vice-versa. One needs to know the chemical composition, + ! mainly silicate and nitrate concentration. When those concentrations are unknown and 'lon' and 'lat' + ! are given, absolute salinity conversion is based on WOA silicate concentration at given location. + ! + ! Alternative when optS is 'Sabs' : + ! ------------------------------- + ! When silicate and phosphate concentrations are known, nitrate concentration is inferred from phosphate + ! (using Redfield ratio), then practical salinity is computed from absolute salinity, + ! total alcalinity (alk), DIC (dic), silicate (sil) and phosphate (phos). + ! In that case, do not pass optional parameter 'lon' an 'lat' + ! + ! When neither chemical composition nor location are known, an arbitrary geographic point is chosen: + ! mid equatorial Atlantic. Note that this implies an error on computed practical salinity up to 0.02 psu. + ! In that case, do pass parameter 'lon' and 'lat' and set each of their elements to 1.e20. + ! --------- + + ! OUTPUT variables: + ! ================= + ! co2flux = air-to-sea flux of CO2 [mol/(m^2 * s)] + ! co2ex = time rate of change of surface CO2 due to gas exchange [mol/(m^3 * s)] + ! dpco2 = difference of oceanic pCO2 minus atmospheric pCO2 [uatm] + ! ph = pH on total scale + ! pco2 = oceanic partial pressure of CO2 (uatm) + ! fco2 = oceanic fugacity of CO2 (uatm) + ! co2 = aqueous CO2 concentration [mol/m^3] + ! hco3 = bicarbonate (HCO3-) concentration [mol/m^3] + ! co3 = carbonate (CO3--) concentration [mol/m^3] + ! OmegaA = Omega for aragonite, i.e., the aragonite saturation state + ! OmegaC = Omega for calcite, i.e., the calcite saturation state + ! BetaD = Revelle factor dpCO2/pCO2 / dDIC/DIC + ! rhoSW = in-situ density of seawater; rhoSW = f(s, t, p) + ! p = pressure [decibars]; p = f(depth, latitude) if computed from depth [m] OR p = depth if [db] + ! tempis = in-situ temperature [degrees C] + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + + USE msingledouble + USE meos + USE gsw_mod_toolbox, only: gsw_t_from_ct + USE mvars + USE mp2fCO2 + + IMPLICIT NONE + +! Input variables + !> number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> either in situ temperature (when optT='Tinsitu', typical data) + !! OR potential temperature (when optT='Tpot', typical models) [degree C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sal + !> total alkalinity in [eq/m^3] (when optCON = 'mol/m3') OR in [eq/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: alk + !> dissolved inorganic carbon in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: dic + !> SiO2 concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sil + !> phosphate concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: phos + !> gas transfer velocity (piston velocity) at a Schmidt number of 660 [m/s] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: kw660 + !> atmospheric mole fraction of CO2 [ppm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: xco2 + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm + !> thickness of the surface layer of the model [m] + REAL(kind=rx), INTENT(in) :: dz1 + + !> choose either \b 'mol/kg' (std DATA units) or \b 'mol/m3' (std MODEL units) to select + !! concentration units for input (for alk, dic, sil, phos) & output (co2, hco3, co3) +!f2py character*6 optional, intent(in) :: optCON='mol/m3' + CHARACTER(6), OPTIONAL, INTENT(in) :: optCON + !> choose \b 'Tinsitu' for in situ temperature or \b 'Tpot' for potential temperature (in situ Temp is computed, needed for models) +!f2py character*7 optional, intent(in) :: optT='Tinsitu' + CHARACTER(7), OPTIONAL, INTENT(in) :: optT + !> for depth input, choose \b "db" for decibars (in situ pressure) or \b "m" for meters (pressure is computed, needed for models) +!f2py character*2 optional, intent(in) :: optP='m' + CHARACTER(2), OPTIONAL, INTENT(in) :: optP + !> for total boron, choose either \b 'u74' (Uppstrom, 1974) or \b 'l10' (Lee et al., 2010). + !! The 'l10' formulation is based on 139 measurements (instead of 20), + !! uses a more accurate method, and + !! generally increases total boron in seawater by 4% +!f2py character*3 optional, intent(in) :: optB='u74' + CHARACTER(3), OPTIONAL, INTENT(in) :: optB + !> for Kf, choose either \b 'pf' (Perez & Fraga, 1987) or \b 'dg' (Dickson & Riley, 1979) +!f2py character*2 optional, intent(in) :: optKf='pf' + CHARACTER(2), OPTIONAL, INTENT(in) :: optKf + !> for K1,K2 choose either \b 'l' (Lueker et al., 2000) or \b 'm10' (Millero, 2010) +!f2py character*3 optional, intent(in) :: optK1K2='l' + CHARACTER(3), OPTIONAL, INTENT(in) :: optK1K2 + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(7), OPTIONAL, INTENT(in) :: optGAS + !> choose \b 'Sprc' for practical sal. (EOS-80, default) or \b 'Sabs' for absolute salinity (TEOS-10) +!f2py character*4 optional, intent(in) :: optS='Sprc' + CHARACTER(4), OPTIONAL, INTENT(in) :: optS + !> longitude [degrees east] +!f2py real(8) optional, intent(in), dimension(n) :: lon = -25. + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon + !> latitude [degrees north] +!f2py real(8) optional, intent(in), dimension(n) :: lat = 0.0 + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lat + +! Output variables: + !> air-to-sea CO2 flux [mol/(m^2 * s)] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: co2flux + !> rate of change of surface DIC concentration [mol/(m^3 * s)] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: co2ex + !> difference of surface ocean pCO2 minus atmospheric pCO2 [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: dpCO2 + !> pH on the total scale + REAL(kind=rx), INTENT(out), DIMENSION(N) :: ph + !> CO2 partial pressure [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: pco2 + !> CO2 fugacity [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: fco2 + !> aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: co2 + !> bicarbonate ion (HCO3-) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: hco3 + !> carbonate ion (CO3--) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: co3 + !> Omega for aragonite, i.e., the aragonite saturation state + REAL(kind=rx), INTENT(out), DIMENSION(N) :: OmegaA + !> Omega for calcite, i.e., the calcite saturation state + REAL(kind=rx), INTENT(out), DIMENSION(N) :: OmegaC + !> Revelle factor, i.e., dpCO2/pCO2 / dDIC/DIC + REAL(kind=rx), INTENT(out), DIMENSION(N) :: BetaD + !> in-situ density of seawater; rhoSW = f(s, t, p) in [kg/m3] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: rhoSW + !> pressure [decibars]; p = f(depth, latitude) if computed from depth [m] (when optP='m') OR p = depth [db] (when optP='db') + REAL(kind=rx), INTENT(out), DIMENSION(N) :: p + !> in-situ temperature \b [degrees C] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: tempis + +! Local variables + REAL(kind=r8) :: tk, invtk, dtemp + REAL(kind=r8) :: tmp, K0, co2star, co2starair, kwco2 + REAL(kind=rx), DIMENSION(N) :: pCO2atm, fCO2atm + REAL(kind=rx), DIMENSION(N) :: depth0, lat0 + + ! local 1-long array version of scalar variables + REAL(kind=r8), DIMENSION(1) :: sa1, s1, p1, lon1, lat1 + REAL(kind=r8), DIMENSION(1) :: tc1, ta1, sit1, nt1 + + ! practical salinity [psu] computed when absolute saliniry is given + REAL(kind=rx), DIMENSION(N) :: salprac + REAL(kind=rx), DIMENSION(N) :: kspc_out ! NEW + + INTEGER :: i + INTEGER :: kcomp + +! Optional arguments: if not present use defaults (defined below) + CHARACTER(6) :: opCON + CHARACTER(7) :: opT + CHARACTER(2) :: opP + CHARACTER(3) :: opB + CHARACTER(2) :: opKf + CHARACTER(3) :: opK1K2 + CHARACTER(7) :: opGAS + CHARACTER(4) :: opS + +! Set defaults for optional arguments (in Fortran 90) +! Note: Optional arguments with f2py (python) are set above with +! the !f2py statements that precede each type declaration +! Those !f2py statements should be consistent w/ defaults below + IF (PRESENT(optCON)) THEN + opCON = optCON + ELSE +! Default (typical for models, not data) + opCON = 'mol/m3' + ENDIF + IF (PRESENT(optT)) THEN + opT = optT + ELSE +! Default (this option is irrelevant for surface values, 0 m) + opT = 'Tinsitu' + ENDIF + IF (PRESENT(optP)) THEN + opP = optP + ELSE +! Default (this option is irrelevant for surface values, 0 m) + opP = 'm' + ENDIF + IF (PRESENT(optB)) THEN + opB = optB + ELSE +! Default is Uppstrom (1974) for total boron + opB = 'u74' + ENDIF + IF (PRESENT(optKf)) THEN + opKf = optKf + ELSE +! Default is Perez & Fraga (1987) for Kf + opKf = 'pf' + ENDIF + IF (PRESENT(optK1K2)) THEN + opK1K2 = optK1K2 + ELSE +! Default is Lueker et al. 2000) for K1 & K2 + opK1K2 = 'l' + ENDIF + IF (PRESENT(optGAS)) THEN + opGAS = optGAS + ELSE + opGAS = 'Pinsitu' + ENDIF + IF (PRESENT(optS)) THEN + opS = optS + ELSE + opS = 'Sprc' + ENDIF + + depth0 = fco2 * 0.0 + lat0 = depth0 + +! Compute derived variables from input (DIC, ALK, ...) + IF (PRESENT(lat)) THEN + CALL vars_sprac(ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, kspc_out, BetaD, rhoSW, p, tempis, & ! NEW: added kspc_out + temp, sal, alk, dic, sil, phos, Patm, depth0, lat, N, & + opCON, opT, opP, opB, opK1K2, opKf, opGAS, opS, lon, salprac ) + ELSE + CALL vars_sprac(ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, kspc_out, BetaD, rhoSW, p, tempis, & ! NEW: added kspc_out + temp, sal, alk, dic, sil, phos, Patm, depth0, lat0, N, & + opCON, opT, opP, opB, opK1K2, opKf, opGAS, opS, lon, salprac ) + ENDIF + IF (TRIM(opS) == 'Sprc') THEN + salprac(:) = sal(:) + ENDIF + +! Compute pCO2atm [uatm] from xCO2 [ppm], atmospheric pressure [atm], & vapor pressure of seawater +! pCO2atm = (Patm - pH20(i)) * xCO2, where pH20 is the vapor pressure of seawater [atm] + CALL x2pCO2atm(xco2, temp, salprac, Patm, N, pco2atm) + +! Compute fCO2atm [uatm] from pCO2atm [uatm] & fugacity coefficient [unitless] +! fCO2atm = pCO2atm * fugcoeff, where fugcoeff= exp(Patm*(B + 2.0*xc2*Del)/(R*tk) ) + CALL p2fCO2(pco2atm, temp, Patm, depth0, N, fco2atm) + +! Compute flux, absolute rate of change of surface DIC, & Delta pCO2 + DO i = 1, N + IF (co3(i) .eq. 1.e20_rx) THEN +! Masked values (land) + co2flux(i) = 1.e20_rx + co2ex(i) = 1.e20_rx + dpco2(i) = 1.e20_rx + ELSE + dtemp = DBLE(temp(i)) + tk = dtemp + 273.15d0 + invtk = 1.0d0/tk + +! Transfer velocity for CO2 in m/s (see equation [4] in OCMIP2 design document & OCMIP2 Abiotic HOWTO) + kwco2 = DBLE(kw660(i)) * (660/scco2(dtemp))**0.5 + +! Surface K0 [(mol/kg) / atm] at T, S of surface water + tmp = 9345.17d0*invtk - 60.2409d0 + 23.3585d0 * LOG(tk/100.0d0) + K0 = EXP( tmp + DBLE(salprac(i))*(0.023517d0 - 0.00023656d0*tk + 0.0047036e-4_r8*tk*tk) ) + +! "Atmospheric" [CO2*], air-sea CO2 flux, sfc DIC rate of change, & Delta pCO2 + co2starair = K0 * DBLE(fco2atm(i)) * 1.0e-6_r8 * DBLE(rhoSW(i)) !Equil. [CO2*] for atm CO2 at Patm & sfc-water T,S [mol/m3] + co2star = DBLE(co2(i)) !Oceanic [CO2*] in [mol/m3] from vars.f90 + co2flux(i) = SGLE(kwco2 * (co2starair - co2star)) !Air-sea CO2 flux [mol/(m2 * s)] +! the conversion from co2flux to impact on dic is done in recom_forcing/recom_sms + co2ex(i) = co2flux(i) ! / dz1 !Change in sfc DIC due to gas exchange [mol/[m3 * s)] + dpco2(i) = pco2(i) - pco2atm(i) !Delta pCO2 (oceanic - atmospheric pCO2) [uatm] + ENDIF + + END DO + + RETURN +END SUBROUTINE flxco2 + +!> Compute xCO2 from arrays of pCO2atm, in situ T, S, & atm pressure +SUBROUTINE pCO2atm2xCO2(pCO2atm, temp, salt, Patm, N, xCO2) + ! Purpose: + ! Compute xCO2 from arrays of pCO2atm, in situ T, S, & atm pressure + + USE msingledouble + + IMPLICIT NONE + + !> number of records + INTEGER, intent(in) :: N + +! INPUT variables + !> atmospheric partial pressure of CO2 [uatm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: pCO2atm + !> in situ temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: salt + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm +!f2py optional , depend(temp) :: n=len(temp) + +! OUTPUT variables: + !> mole fraction of CO2 [ppm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: xCO2 + +! LOCAL variables: + REAL(kind=r8) :: dpCO2atm, dPatm + REAL(kind=r8), DIMENSION(N) :: pH20 + REAL(kind=r8) :: dxCO2 + + INTEGER :: i + + call vapress(temp, salt, N, pH20) + + DO i = 1,N + dpCO2atm = DBLE(pCO2atm(i)) + dPatm = DBLE(Patm(i)) + dxCO2 = dpCO2atm / (dPatm - pH20(i)) + xCO2(i) = SGLE(dxCO2) + END DO + + RETURN +END SUBROUTINE pCO2atm2xCO2 + +!> Compute piston velolicty kw660 (at 25 C) from wind speed +SUBROUTINE pistonvel(windspeed, Fice, N, kw660) + ! Purpose: + ! Compute piston velocity from wind speed, BUT without Schmidt number temperature correction (Sc differs each gas) + + USE msingledouble + + IMPLICIT NONE + + !> number of records + INTEGER, intent(in) :: N + +! INPUT variables + !> wind speed at 10-m height + REAL(kind=8), INTENT(in), DIMENSION(N) :: windspeed +!jh REAL(kind=r8), INTENT(in), DIMENSION(N) :: windspeed + !> modeled sea-ice cover: fraction of grid cell, varying between 0.0 (no ice) and 1.0 (full cover) + REAL(kind=8), INTENT(in), DIMENSION(N) :: Fice +! REAL(kind=r8), INTENT(in), DIMENSION(N) :: Fice +!f2py optional , depend(windspeed) :: n=len(windspeed) + +! OUTPUT variables: + !> piston velocity at 25°C [m/s], uncorrected by the Schmidt number for different temperatures + REAL(kind=8), INTENT(out), DIMENSION(N) :: kw660 +!jh REAL(kind=rx), INTENT(out), DIMENSION(N) :: kw660 + +! LOCAL variables: + REAL(kind=r8) :: a, xfac + + INTEGER :: i + +! Coefficient from Wanninkhof (2014, Limnol. Oceanograph. Methods, 12, 351-362) + a = 0.251d0 +! where, by convention, the units of k are in cm h–1 and U is in m s–1. Thus, the units of the coefficient 0.251 are (cm h–1) (ms–1)–2 + +! Conversion factor to convert from cm/h to m/s + xfac = 0.01d0 / 3600d0 + + DO i = 1,N + kw660(i) = a * windspeed(i)**2 * (1.0d0 - Fice(i)) * xfac + END DO + + RETURN +END SUBROUTINE pistonvel + +!> Compute Schmidt number for CFC11 in seawater from temperature +FUNCTION sccfc11(temp) + +! Compute Schmidt number of CFC11 in seawater w/ formulation from Wanninkhof (Limnol. Oceanogr.: Methods 12, 2014, 351–362) +! Input is temperature in deg C. + + USE msingledouble + IMPLICIT NONE + +! Input & output variables: + REAL(kind=r8), INTENT(in) :: temp + REAL(kind=r8) :: sccfc11 + + sccfc11 = 3579.2_r8 - 222.63_r8*temp + 7.5749_r8*temp**2 - 0.14595_r8*temp**3 + 0.0011874_r8*temp**4 + + RETURN +END FUNCTION sccfc11 + +!> Compute Schmidt number for CFC12 in seawater from temperature +FUNCTION sccfc12(Tc) + +! Compute Schmidt number of CFC12 in seawater w/ formulation from Wanninkhof (Limnol. Oceanogr.: Methods 12, 2014, 351–362) +! Input is temperature in deg C. + + USE msingledouble + IMPLICIT NONE + +! Input & output variables: + REAL(kind=r8), INTENT(in) :: Tc + REAL(kind=r8) :: sccfc12 + + sccfc12 = 3828.1_r8 - 249.86_r8*Tc + 8.7603_r8*Tc**2 - 0.1716_r8*Tc**3 + 0.001408_r8*Tc**4 + + RETURN +END FUNCTION sccfc12 + +!> Compute Schmidt number for SF6 in seawater from temperature +FUNCTION scsf6(Tc) + +! Compute Schmidt number of SF6 in seawater w/ formulation from Wanninkhof (Limnol. Oceanogr.: Methods 12, 2014, 351–362) +! Input is temperature in deg C. + + USE msingledouble + IMPLICIT NONE + +! Input & output variables: + REAL(kind=r8), INTENT(in) :: Tc + REAL(kind=r8) :: scsf6 + + scsf6 = 3177.5_r8 - 200.57_r8*Tc + 6.8865_r8*Tc**2 - 0.13335_r8*Tc**3 + 0.0010877_r8*Tc**4 + + RETURN +END FUNCTION scsf6 + +!> Compute Schmidt number for CO2 in seawater from temperature +FUNCTION scco2(Tc) + +! Compute Schmidt number of CO2 in seawater w/ formulation from Wanninkhof (Limnol. Oceanogr.: Methods 12, 2014, 351–362) +! Input is temperature in deg C. + + USE msingledouble + IMPLICIT NONE + +! Input & output variables: + REAL(kind=r8), INTENT(in) :: Tc + REAL(kind=r8) :: scco2 + + scco2 = 2116.8_r8 - 136.25_r8*Tc + 4.7353_r8*Tc**2 - 0.092307_r8*Tc**3 + 0.0007555_r8*Tc**4 + + RETURN +END FUNCTION scco2 + +!> Compute Schmidt number for O2 in seawater from temperature +FUNCTION sco2(Tc) + +! Compute Schmidt number of O2 in seawater w/ formulation from Wanninkhof (Limnol. Oceanogr.: Methods 12, 2014, 351–362) +! Input is temperature in deg C. + + USE msingledouble + IMPLICIT NONE + +! Input & output variables: + REAL(kind=r8), INTENT(in) :: Tc + REAL(kind=r8) :: sco2 + + sco2 = 1920.4_r8 - 135.6_r8*Tc + 5.2122_r8*Tc**2 - 0.10939_r8*Tc**3 + 0.00093777_r8*Tc**4 + + RETURN +END FUNCTION sco2 + +!> Compute pCO2atm from arrays of xCO2, in situ T, S, & atm pressure +SUBROUTINE x2pCO2atm(xCO2, temp, salt, Patm, N, pCO2atm) + ! Purpose: + ! Compute pCO2atm from arrays of xCO2, in situ T, S, & atm pressure + + USE msingledouble + + IMPLICIT NONE + + !> number of records + INTEGER, intent(in) :: N + +! INPUT variables + !> mole fraction of CO2 [ppm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: xCO2 + !> in situ temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: salt + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm +!f2py optional , depend(temp) :: n=len(temp) + +! OUTPUT variables: + !> oceanic partial pressure of CO2 [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: pCO2atm + +! LOCAL variables: + REAL(kind=r8) :: dxCO2, dPatm + REAL(kind=r8), DIMENSION(N) :: pH20 + REAL(kind=r8) :: dpCO2atm + + INTEGER :: i + +! Compute vapor pressure of seawater [in atm] + call vapress(temp, salt, N, pH20) + + DO i = 1,N + dxCO2 = DBLE(xCO2(i)) + dPatm = DBLE(Patm(i)) + dpCO2atm = (dPatm - pH20(i)) * dxCO2 + pCO2atm(i) = SGLE(dpCO2atm) + END DO + + RETURN +END SUBROUTINE x2pCO2atm + +!> Compute solubilities of CFC-11, CFC-12, SF6, CO2, and N20 at 1 atm pressure, i.e., Phi0 (atm), in mol L-1 atm-1 +SUBROUTINE phizero(gasname, temp, salt, N, phi0) + ! Purpose: + ! Compute solubilities of CFC-11, CFC-12, SF6, CO2, and N20 at 1 atm pressure, i.e., Phi0 (atm), in mol L-1 atm-1 + ! Phi0 = K0 * Cf * (Pa0 - pH20), + ! where + ! * K0 is the solubility of a given gas, + ! * Cf is its fugacity coefficient, + ! * Pa0 is 1 atm of total atmospheric pressure, and + ! * pH20 is the water vapor pressure at saturation (also in atm), all described in Orr et al. (2016, GMDD). + + ! Usage: this routine must be called once for each gas, e.g., + ! call phizero('co2', temp, salt, 20, phi0_co2) + ! call phizero('sf6', temp, salt, 20, phi0_sf6) + + ! James Orr, LSCE/IPSL, CEA-CNRS-UVSQ, Université Paris Saclay, France + ! 5 August 2016 + + USE msingledouble + IMPLICIT NONE + + INTEGER, PARAMETER :: ngas = 5 + + !> number of records + INTEGER, intent(in) :: N + +! INPUT variables + !> in situ temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: salt + !f2py optional , depend(temp) :: n=len(temp) + !> name of gas: 'cfc11', 'cfc12', 'sf6', 'co2', or 'n2o' + CHARACTER(*), INTENT(in) :: gasname + +! OUTPUT variables: + !> solubility of gas in seawater, Phi0 = K0 * Cf * (Pa0 - pH20), with units of [mol L-1 atm-1] + REAL(kind=r8), INTENT(out), DIMENSION(N) :: phi0 + +! LOCAL variables: + ! Coefficients to compute Phi0 + REAL(kind=r8), DIMENSION(7,ngas) :: Phi0coeffs !Array of coeffs (a1, a2, a3, a4, b1, b2, b3) times 3 gases + REAL(kind=r8), DIMENSION(ngas,7) :: a !Transpose of above array + ! Absolute temperature and salinity + REAL(kind=r8) :: dsalt, tk, tk100, ln_phi0 + + INTEGER :: i, ig + +! Coefficients to compute solubilities (Phi0) of CFC-11, CFC-12, SF6, CO2, and N20 + ! ------------------------------------------------------------------------------------------ + ! Coefficients a1, a2, a3, a4, b1, b2, & b3 from Table 3 of Orr et al. (2016). + ! These are used to compute Phi0 for each gas following Eq. (15) in same paper. + ! ------------------------------------------------------------------------------------------ + ! a1 a2 a3 a4 b1 b2 b3 + ! ------------------------------------------------------------------------------------------ + DATA Phi0coeffs / -229.9261, 319.6552, 119.4471, -1.39165, -0.142382, 0.091459, -0.0157274, & !CFC-11 + -218.0971, 298.9702, 113.8049, -1.39165, -0.143566, 0.091015, -0.0153924, & !CFC-12 + -80.0343, 117.232, 29.5817, 0.0, 0.0335183, -0.0373942, 0.00774862, & !SF6 + -160.7333, 215.4152, 89.8920, -1.47759, 0.029941, -0.027455, 0.0053407, & !CO2 + -165.8806, 222.8743, 92.0792, -1.48425, -0.056235, 0.031619, -0.0048472 / !N2O + ! ------------------------------------------------------------------------------- + ! * The originial publications providing these coefficients are + ! * - Warner and Weiss (1985) for CFC-11 and CFC-12, + ! * - Bullister et al. (2002) for SF6, and + ! * - Weiss and Price (1980) for CO2 and N2O. + + a = TRANSPOSE(Phi0coeffs) + + ! Set value of the index that refers to to each gasname + SELECT CASE (trim(gasname)) + CASE ('cfc11') + ig = 1 + CASE ('cfc12') + ig = 2 + CASE ('sf6') + ig = 3 + CASE ('co2') + ig = 4 + CASE ('n2o') + ig = 5 + CASE DEFAULT + PRINT *,"ERROR in 'phizero' routine in gasx.f90:" + PRINT *,"'gasname' input var must be one of the following: 'cfc11', 'cfc12', 'sf6', 'co2', or 'n2o'" + STOP + END SELECT + +! Compute phi0 + DO i = 1, N + tk = 273.15d0 + DBLE(temp(i)) !Absolute temperature (Kelvin) + dsalt = DBLE(salt(i)) + tk100 = tk/100.d0 + ! Phi0 for the chosen gas: + ln_phi0 = a(ig,1) + a(ig,2)/tk100 + a(ig,3)*log(tk100) + a(ig,4)*tk100**2 & + + dsalt * (a(ig,5) + a(ig,6)*tk100 + a(ig,7)*tk100**2 ) + phi0(i) = exp(ln_phi0) + END DO + + RETURN +END SUBROUTINE phizero + +!> Compute K' of CFC-11, CFC-12, and SF6; units are in mol L-1 atm-1 +SUBROUTINE kprime(gasname, temp, salt, N, kp) + ! Purpose: + ! Compute K' of CFC-11, CFC-12, and SF6; units are in mol L-1 atm-1 + ! To avoid confusion this can be used directly in the ocean solubility equation + ! (Eq 21 from Orr et al., 2016) and in the atmospheric saturation equation (Eq 14), + ! The atmospheric saturation would then need to separately account for atmospheric pressure + ! and humidity (vapress routine). + + ! Usage: this routine should be called once for each gas, e.g., + ! call kprime('cfc11', temp, salt, 20, kp_cfc11) + ! call kprime('cfc12', temp, salt, 20, kp_cfc12) + ! call kprime('sf6', temp, salt, 20, kp_sf6) + + ! James Orr, LSCE/IPSL, CEA-CNRS-UVSQ, Université Paris Saclay, France + ! 8 August 2016 + + USE msingledouble + IMPLICIT NONE + + INTEGER, PARAMETER :: ngas = 3 + + !> number of records + INTEGER, intent(in) :: N + +! INPUT variables + !> in situ temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: salt + !f2py optional , depend(temp) :: n=len(temp) + + !> name of gas: 'cfc11', 'cfc12', or 'sf6' + CHARACTER(*), INTENT(in) :: gasname + +! OUTPUT variables: + !> solubility of gas in seawater, in units of [mol L-1 atm-1] + REAL(kind=r8), INTENT(out), DIMENSION(N) :: kp + +! LOCAL variables: + ! Coefficients to compute K' + REAL(kind=r8), DIMENSION(6,ngas) :: Kpcoeffs !Array of coeffs (a1, a2, a3, b1, b2, b3) times 3 gases + REAL(kind=r8), DIMENSION(ngas,6) :: a !Transpose of above array + ! Absolute temperature and salinity + REAL(kind=r8) :: dsalt, tk, tk100, ln_kp + + INTEGER :: i, ig + + ! ------------------------------------------------------------------------------- + ! Input array of coefficients (top half of Table 3 of Orr et al. (2016, GMDD) + ! These are used to compute K' for each gas following Eq. (24) in same paper. + ! ------------------------------------------------------------------------------- + ! a1 a2 a3 b1 b2 b3 + ! ------------------------------------------------------------------------------- + DATA Kpcoeffs / -134.1536, 203.2156, 56.2320, -0.144449, 0.092952, -0.0159977, & !CFC-11 + -122.3246, 182.5306, 50.5898, -0.145633, 0.092509, -0.0156627, & !CFC-12 + -96.5975, 139.883, 37.8193, 0.0310693, -0.0356385, 0.00743254 / !SF6 + ! ------------------------------------------------------------------------------- + ! * The originial publications providing these coefficients are + ! * - Warner and Weiss (1985) for CFC-11 and CFC-12, and + ! * - Bullister et al. (2002) for SF6, and + + a = TRANSPOSE(Kpcoeffs) + + write(*,*)'gasname = ', gasname +! Set value of the index that refers to to each gasname + SELECT CASE (trim(gasname)) + CASE ('cfc11') + ig = 1 + CASE ('cfc12') + ig = 2 + CASE ('sf6') + ig = 3 + CASE DEFAULT + PRINT *,"ERROR in 'kprime' routine in gasx.f90:" + PRINT *,"'gasname' input var must be one of the following: 'cfc11', 'cfc12', or 'sf6'" + STOP + END SELECT + +! Compute K' + DO i = 1, N + tk = 273.15d0 + DBLE(temp(i)) !Absolute temperature (Kelvin) + dsalt = DBLE(salt(i)) + tk100 = tk/100.d0 + ! Phi0 for the chosen gas: + ln_kp = a(ig,1) + a(ig,2)/tk100 + a(ig,3)*log(tk100) & + + dsalt * (a(ig,4) + a(ig,5)*tk100 + a(ig,6)*tk100**2 ) + kp(i) = exp(ln_kp) + END DO + + RETURN +END SUBROUTINE kprime + +!> Compute K0 of CO2 and N20; units are in mol L-1 atm-1 +SUBROUTINE kzero(gasname, temp, salt, N, k0) + ! Purpose: + ! Compute K0 of CO2 and N20; units are in mol L-1 atm-1 + ! Uses same form of the equation 24 (given for K') in Orr et al. (2016) + + ! Usage: this routine should be called once for each gas, e.g., + ! call kzero('co2', temp, salt, 20, k0_co2) + ! call kzero('n2o', temp, salt, 20, kp_n2o) + + ! James Orr, LSCE/IPSL, CEA-CNRS-UVSQ, Université Paris Saclay, France + ! 8 August 2016 + + USE msingledouble + IMPLICIT NONE + + INTEGER, PARAMETER :: ngas = 2 + + !> number of records + INTEGER, intent(in) :: N + +! INPUT variables + !> in situ temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: salt + !f2py optional , depend(temp) :: n=len(temp) + + !> name of gas: 'co2' or 'n2o' + CHARACTER(*), INTENT(in) :: gasname + +! OUTPUT variables: + !> solubility of gas in seawater, in units of [mol L-1 atm-1] + REAL(kind=r8), INTENT(out), DIMENSION(N) :: k0 + +! LOCAL variables: + ! Coefficients to compute K' + REAL(kind=r8), DIMENSION(6,ngas) :: K0coeffs !Array of coeffs (a1, a2, a3, b1, b2, b3) times 3 gases + REAL(kind=r8), DIMENSION(ngas,6) :: a !Transpose of above array + ! Absolute temperature and salinity + REAL(kind=r8) :: dsalt, tk, tk100, ln_k0 + + INTEGER :: i, ig + + ! ------------------------------------------------------------------------------- + ! Input array of coefficients (bottom half of Table 3 of Orr et al. (2016, GMDD) + ! These are used to compute K' for each gas following Eq. (24) in same paper. + ! ------------------------------------------------------------------------------- + ! a1 a2 a3 b1 b2 b3 + ! ------------------------------------------------------------------------------- + DATA K0coeffs / -58.0931, 90.5069, 22.2940, 0.027766, -0.025888, 0.0050578, & ! CO2 + -62.7062, 97.3066, 24.1406, -0.058420, 0.033193, -0.0051313 / !N2O + ! ------------------------------------------------------------------------------- + ! * The originial publications providing these coefficients are + ! * - Weiss (1974, Table 1, column 1) for CO2 + ! * - Weiss and Price (1980, Table 2, column 1) for N2O + + a = TRANSPOSE(K0coeffs) + +! Set value of the index that refers to to each gasname + SELECT CASE (trim(gasname)) + CASE ('co2') + ig = 1 + CASE ('n2o') + ig = 2 + CASE DEFAULT + PRINT *,"ERROR in 'kzero' routine in gasx.f90:" + PRINT *,"'gasname' input var must be one of the following: 'co2' or 'n2o'" + STOP + END SELECT + +! Compute K0 + DO i = 1, N + tk = 273.15d0 + DBLE(temp(i)) !Absolute temperature (Kelvin) + dsalt = DBLE(salt(i)) + tk100 = tk/100.d0 + ! k0 for the chosen gas: + ln_k0 = a(ig,1) + a(ig,2)/tk100 + a(ig,3)*log(tk100) & + + dsalt * (a(ig,4) + a(ig,5)*tk100 + a(ig,6)*tk100**2 ) + k0(i) = exp(ln_k0) + END DO + + RETURN +END SUBROUTINE kzero + +!> Compute vapor pressure of seawater (atm) following preocedure from Weiss & Price (1980) +SUBROUTINE vapress(temp, salt, N, vpsw) + ! Purpose: + ! Compute vapor pressure of seawater (atm) following preocedure from Weiss & Price (1980) + + USE msingledouble + IMPLICIT NONE + + !> number of records + INTEGER, intent(in) :: N + +! INPUT variables + !> in situ temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: salt +!f2py optional , depend(temp) :: n=len(temp) + +! OUTPUT variables: + !> vapor pressure of seawater [atm] + REAL(kind=r8), INTENT(out), DIMENSION(N) :: vpsw + +! LOCAL variables: + REAL(kind=r8) :: tk, dsalt + + INTEGER :: i + + DO i = 1,N + dsalt = DBLE(salt(i)) + tk = 273.15d0 + DBLE(temp(i)) !Absolute temperature (Kelvin) + vpsw(i) = exp(24.4543d0 - 67.4509d0*(100.0d0/tk) - 4.8489d0*log(tk/100) - 0.000544d0*dsalt) + END DO + + RETURN +END SUBROUTINE vapress + +!> Compute O2 saturation concentration of surface seawater (mol/m3) at 1 atm (Garcia & Gordon, 1992) +SUBROUTINE o2sato(T, S, N, o2sat_molm3) + ! Purpose: + ! Compute O2 saturation concentration of surface seawater (mol/m3) at 1 atm (Garcia & Gordon, 1992) + ! + ! ******************************************************************** + ! Computes the oxygen saturation concentration at 1 atm total pressure + ! in mol/m^3 given sea surface temperature T (deg C) and salinity S (permil) + ! + ! From: Garcia & Gordon (1992) Oxygen solubility in seawater: better fitting equations, + ! Limnol. Oceanogr., 37(6), 1307-1312. + ! This routine uses: + ! - equation (8) on page 1310 + ! - coefficients from Table 1, column 2 (Benson & Krause, [cm3/dm3], i.e, same as [ml/L]) + ! + ! *** NOTE: The "A3*ts^2" term in the equation (8) in the paper is a TYPO. *** + ! *** It shouldn't be there. It is not used in this routine. *** + ! + ! 'o2sat' is fit between T(freezing) <= T <= 40(deg C) and 0 <= S <= 42 permil + ! + ! CHECK VALUE: T = 10.0 deg C, S = 35.0 permil, + ! o2sat_molm3 = 0.282015 mol/m^3 + ! ******************************************************************** + + USE msingledouble + IMPLICIT NONE + + !> number of records + INTEGER, intent(in) :: N + +! INPUT variables + !> surface temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: T + !> surface salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: S +!f2py optional , depend(temp) :: n=len(temp) + +! OUTPUT variables: + !> O2 saturation concentration of seawater [mol/m3] + REAL(kind=r8), INTENT(out), DIMENSION(N) :: o2sat_molm3 + +! LOCAL variables: + REAL(kind=r8) :: A0, A1, A2, A3, A4, A5 + REAL(kind=r8) :: B0, B1, B2, B3 + REAL(kind=r8) :: C0 + REAL(kind=r8) :: tmp + REAL(kind=r8) :: o2sat_mlL + REAL(kind=r8) :: tt, tk, ts, ts2, ts3, ts4, ts5 + INTEGER :: i + + DATA A0/ 2.00907_r8 /, A1/ 3.22014_r8 /, A2/ 4.05010_r8 /, & + A3/ 4.94457_r8 /, A4/-2.56847E-1_r8/, A5/ 3.88767_r8 / + DATA B0/-6.24523E-3_r8/, B1/-7.37614E-3_r8/, B2/-1.03410E-2_r8/, B3/-8.17083E-3_r8/ + DATA C0/-4.88682E-7_r8/ + + DO i = 1, N + tt = 298.15_r8 - T(i) + tk = 273.15_r8 + T(i) + ts = LOG(tt/tk) + + ts2 = ts**2 + ts3 = ts**3 + ts4 = ts**4 + ts5 = ts**5 + +! O2 saturation concentration (ml/L) + tmp = A0 + A1*ts + A2*ts2 + A3*ts3 + A4*ts4 + A5*ts5 & + + S(i)*(B0 + B1*ts + B2*ts2 + B3*ts3) & + + C0*(S(i)*S(i)) + o2sat_mlL = EXP(tmp) + +! Convert from ml/L to mol/m^3 + o2sat_molm3(i) = o2sat_mlL / 22391.6_r8*1000.0_r8 + END DO + + RETURN +END SUBROUTINE o2sato + +!> Compute time rate of change of O2 in the surface layer due to air-sea gas exchange [mol/(m^3 *s)]. +SUBROUTINE o2flux(T, S, kw660, ppo, o2, N, o2ex) + + ! ********************************************************************** + ! Purpose: Compute time rate of change of O2 in the surface layer due to air-sea gas exchange [mol/(m^3 *s)] + ! + ! Input: + ! T model surface temperature (deg C) + ! S model surface salinity (permil) + ! kw660 gas transfer velocity at a Schmidt number of 660, accounting + ! for sea ice fraction (m/s) + ! ppo surface pressure divided by 1 atm. + ! o2 surface ocean O2 concentration (mol/m^3) + ! dz1 thickness of surface grid box (m) - taken out + + ! Output: + ! o2ex time rate of change of oxygen in the surface layer due + ! to air-sea exchange (mol/m^3/s) + ! + ! Two routines are called: + ! sco2 - function to compute Schmidt number of oxygen + ! o2sato - subroutine to compute oxygen saturation concentration at 1 atm (mol/m^3) + ! + ! Numbers in brackets refer to equation numbers in OCMIP2 simulation design document + ! + ! Original for OCMIP2: Ray Najjar, 29 January 1999 + ! Modified for OMIP: James Orr, LSCE/IPSL France, 14 March 2015 + ! ********************************************************************** + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + + USE msingledouble + IMPLICIT NONE + + !> number of records + INTEGER, intent(in) :: N + +! INPUT variables + !> sea surface temperature [C] + REAL(kind=r8), INTENT(in), DIMENSION(N) :: T + !> sea surface salinity [psu] + REAL(kind=r8), INTENT(in), DIMENSION(N) :: S + !> gas transfer velocity at a Schmidt number of 660, accounting for sea ice fraction [m/s] + REAL(kind=r8), INTENT(in), DIMENSION(N) :: kw660 + !> surface atmospheric pressure [atm] + REAL(kind=r8), INTENT(in), DIMENSION(N) :: ppo + !> modeled surface ocean dissolved O2 concentration [mol/m^3] + REAL(kind=r8), INTENT(in), DIMENSION(N) :: o2 + !> thickness of surface grid box [m] +! REAL(kind=r8), INTENT(in), DIMENSION(N) :: dz1 +!f2py optional , depend(temp) :: n=len(temp) + +! OUTPUT variables: + !> rate of change of dissolved O2 in the surface layer due to air-sea O2 exchange [mol/(m^3*s)] + REAL(kind=r8), INTENT(out), DIMENSION(N) :: o2ex + +! LOCAL variables: + REAL(kind=r8) :: kwo2, o2sat + REAL(kind=r8), DIMENSION(N) :: o2sat_1atm + INTEGER :: i + +! Dissolved O2 saturation concentraion [mol/m^3] (in equilibrium with atmosphere) at 1 atm pressure + CALL o2sato(T, S, N, o2sat_1atm) +!jh CALL o2sato(SGLE(T), SGLE(S), N, o2sat_1atm) + + DO i = 1, N +! Transfer velocity for O2 in m/s [4] + kwo2 = (kw660(i) * (660._r8/sco2(T(i)))**0.5) + +! O2 saturation concentration at given atm pressure [3] + o2sat = o2sat_1atm(i) * ppo(i) + +! Time rate of change of surface dissolved O2 due to gas exchange (mol/(m3 * s) [1] + o2ex(i) = kwo2*(o2sat - o2(i)) !/ dz1(i) mol/m2/s as not divided by thickness of box + END DO + + RETURN +END SUBROUTINE o2flux + +END MODULE gasx + +! REFERENCES +! +! Bullister, J. L., Wisegarver, D. P., and Menzia, F. A.: The solubility of +! sulfur hexafluoride in water and seawater, Deep-Sea Res. I, 49, 175 –187, 2002. +! +! Orr, J. C., Najjar, R. G., Aumount, O., Bopp, L., Bullister, J. L., +! Danabasoglu, G., Doney, S. C., Dunne, J. P., Dutay, J.-C., Graven, +! H., Griffies, S. M., John, J. G., Joos, F., Levin, I., Lindsay, K., +! Matear, R. J., McKinley, G. A., Mouchet, A., Oschlies, A., Romanou, +! A., Schlitzer, R., Tagliabue, A., Tanhua, T., and Yool, A.: +! Biogeochemical protocols and diagnostics for the CMIP6 Ocean Model +! Intercomparison Project (OMIP), Geosci. Model Dev. Discuss., +! doi:10.5194/gmd-2016-155, in review, 2016. +! +! Warner, M. J. and Weiss, R. F.: Solubilities of chlorofluorocarbons 11 and 12 +! in water and seawater, Deep-Sea Res. Part A., 32, 1485–1497, 1985 . +! +! Weiss, R. F. and Price, B. A.: Nitrous oxide solubility in water and seawater, +! Mar. Chem., 8, 347–359, 1980. + diff --git a/src/int_recom/recom/gsw_add_barrier.F90 b/src/int_recom/recom/gsw_add_barrier.F90 new file mode 100755 index 000000000..e10b15790 --- /dev/null +++ b/src/int_recom/recom/gsw_add_barrier.F90 @@ -0,0 +1,107 @@ +!========================================================================== +pure subroutine gsw_add_barrier (input_data, long, lat, long_grid, & + lat_grid, dlong_grid, dlat_grid, output_data) +!========================================================================== +! +! Adds a barrier through Central America (Panama) and then averages +! over the appropriate side of the barrier +! +! data_in : data [unitless] +! long : Long of data in decimal degs east [ 0 ... +360 ] +! lat : Lat of data in decimal degs north [-90 ... +90 ] +! longs_grid : Long of regular grid in decimal degs east [ 0 ... +360 ] +! lats_grid : Lat of regular grid in decimal degs north [-90 ... +90 ] +! dlongs_grid : Long difference of regular grid in decimal degs [ deg long ] +! dlats_grid : Lat difference of regular grid in decimal degs [ deg lat ] +! +! output_data : average of data depending on which side of the +! Panama canal it is on [unitless] +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_util_indx + +use gsw_mod_saar_data + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: long, lat, long_grid, lat_grid, dlong_grid +real (r8), intent(in) :: dlat_grid +real (r8), intent(in), dimension(4) :: input_data +real (r8), intent(out), dimension(4) :: output_data + +integer, dimension(4) :: above_line +integer :: k, nmean, above_line0, kk +real (r8) :: r, lats_line, data_mean + +call gsw_util_indx(longs_pan,npan,long,k) ! the long/lat point +r = (long-longs_pan(k))/(longs_pan(k+1)-longs_pan(k)) +lats_line = lats_pan(k) + r*(lats_pan(k+1)-lats_pan(k)) + +if (lats_line.le.lat) then + above_line0 = 1 +else + above_line0 = 0 +end if + +call gsw_util_indx(longs_pan,npan,long_grid,k) ! the 1 and 4 long/lat pts +r = (long_grid-longs_pan(k))/(longs_pan(k+1)-longs_pan(k)) +lats_line = lats_pan(k) + r*(lats_pan(k+1)-lats_pan(k)) + +if (lats_line.le.lat_grid) then + above_line(1) = 1 +else + above_line(1) = 0 +end if + +if (lats_line.le.lat_grid+dlat_grid) then + above_line(4) = 1 +else + above_line(4) = 0 +end if + +call gsw_util_indx(longs_pan,npan,long_grid+dlong_grid,k) ! the 2 & 3 points +r = (long_grid+dlong_grid-longs_pan(k))/(longs_pan(k+1)-longs_pan(k)) +lats_line = lats_pan(k) + r*(lats_pan(k+1)-lats_pan(k)) + +if (lats_line.le.lat_grid) then + above_line(2) = 1 +else + above_line(2) = 0 +end if + +if (lats_line.le.lat_grid+dlat_grid) then + above_line(3) = 1 +else + above_line(3) = 0 +end if + +nmean = 0 +data_mean = 0.0_r8 + +do kk = 1,4 + if ((abs(input_data(kk)).le.100_r8).and.above_line0.eq.above_line(kk)) then + nmean = nmean + 1 + data_mean = data_mean + input_data(kk) + end if +end do + +if (nmean .eq. 0)then + data_mean = 0.0_r8 !errorreturn +else + data_mean = data_mean/nmean +endif + +do kk = 1,4 + if ((abs(input_data(kk)).ge.1e10_r8).or.above_line0.ne.above_line(kk)) then + output_data(kk) = data_mean + else + output_data(kk) = input_data(kk) + end if +end do + +return +end subroutine + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_add_mean.F90 b/src/int_recom/recom/gsw_add_mean.F90 new file mode 100755 index 000000000..b8673865c --- /dev/null +++ b/src/int_recom/recom/gsw_add_mean.F90 @@ -0,0 +1,50 @@ +!========================================================================== +pure subroutine gsw_add_mean (data_in, data_out) +!========================================================================== +! +! Replaces NaN's with non-nan mean of the 4 adjacent neighbours +! +! data_in : data set of the 4 adjacent neighbours +! +! data_out : non-nan mean of the 4 adjacent neighbours [unitless] +!-------------------------------------------------------------------------- + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in), dimension(4) :: data_in +real (r8), intent(out), dimension(4) :: data_out + +integer :: k, nmean + +real (r8) :: data_mean + +nmean = 0 +data_mean = 0.0_r8 + +do k = 1,4 + if (abs(data_in(k)).le.100.0_r8) then + nmean = nmean + 1 + data_mean = data_mean + data_in(k) + end if +end do + +if(nmean.eq.0)then + data_mean = 0.0_r8 !error return +else + data_mean = data_mean/nmean +endif + +do k = 1,4 + if(abs(data_in(k)).ge.100.0_r8) then + data_out(k) = data_mean + else + data_out(k) = data_in(k) + end if +end do + +return +end subroutine + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_ct_from_pt.F90 b/src/int_recom/recom/gsw_ct_from_pt.F90 new file mode 100755 index 000000000..c4a624ed3 --- /dev/null +++ b/src/int_recom/recom/gsw_ct_from_pt.F90 @@ -0,0 +1,52 @@ +!========================================================================== +elemental function gsw_ct_from_pt (sa, pt) +!========================================================================== +! +! Calculates Conservative Temperature from potential temperature of seawater +! +! sa : Absolute Salinity [g/kg] +! pt : potential temperature with [deg C] +! reference pressure of 0 dbar +! +! gsw_ct_from_pt : Conservative Temperature [deg C] +!-------------------------------------------------------------------------- + +use gsw_mod_teos10_constants, only : gsw_cp0, gsw_sfac + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, pt + +real (r8) :: gsw_ct_from_pt + +real (r8) :: pot_enthalpy, x2, x, y + +x2 = gsw_sfac*sa +x = sqrt(x2) +y = pt*0.025_r8 ! normalize for F03 and F08 + +pot_enthalpy = 61.01362420681071_r8 + y*(168776.46138048015_r8 + & + y*(-2735.2785605119625_r8 + y*(2574.2164453821433_r8 + & + y*(-1536.6644434977543_r8 + y*(545.7340497931629_r8 + & + (-50.91091728474331_r8 - 18.30489878927802_r8*y)*y))))) + & + x2*(268.5520265845071_r8 + y*(-12019.028203559312_r8 + & + y*(3734.858026725145_r8 + y*(-2046.7671145057618_r8 + & + y*(465.28655623826234_r8 + (-0.6370820302376359_r8 - & + 10.650848542359153_r8*y)*y)))) + & + x*(937.2099110620707_r8 + y*(588.1802812170108_r8 + & + y*(248.39476522971285_r8 + (-3.871557904936333_r8 - & + 2.6268019854268356_r8*y)*y)) + & + x*(-1687.914374187449_r8 + x*(246.9598888781377_r8 + & + x*(123.59576582457964_r8 - 48.5891069025409_r8*x)) + & + y*(936.3206544460336_r8 + & + y*(-942.7827304544439_r8 + y*(369.4389437509002_r8 + & + (-33.83664947895248_r8 - 9.987880382780322_r8*y)*y)))))) + +gsw_ct_from_pt = pot_enthalpy/gsw_cp0 + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_ct_from_t.F90 b/src/int_recom/recom/gsw_ct_from_t.F90 new file mode 100755 index 000000000..b2a0c9e35 --- /dev/null +++ b/src/int_recom/recom/gsw_ct_from_t.F90 @@ -0,0 +1,32 @@ +!========================================================================== +elemental function gsw_ct_from_t (sa, t, p) +!========================================================================== +! +! Calculates Conservative Temperature from in-situ temperature +! +! sa : Absolute Salinity [g/kg] +! t : in-situ temperature [deg C] +! p : sea pressure [dbar] +! +! gsw_ct_from_t : Conservative Temperature [deg C] +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_ct_from_pt, gsw_pt0_from_t + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, t, p + +real (r8) :: gsw_ct_from_t + +real (r8) :: pt0 + +pt0 = gsw_pt0_from_t(sa,t,p) +gsw_ct_from_t = gsw_ct_from_pt(sa,pt0) + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_entropy_part.F90 b/src/int_recom/recom/gsw_entropy_part.F90 new file mode 100755 index 000000000..70fcd1125 --- /dev/null +++ b/src/int_recom/recom/gsw_entropy_part.F90 @@ -0,0 +1,62 @@ +!========================================================================== +elemental function gsw_entropy_part (sa, t, p) +!========================================================================== +! +! entropy minus the terms that are a function of only SA +! +! sa : Absolute Salinity [g/kg] +! t : in-situ temperature [deg C] +! p : sea pressure [dbar] +! +! gsw_entropy_part : entropy part +!-------------------------------------------------------------------------- + +use gsw_mod_teos10_constants, only : gsw_sfac + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, t, p + +real (r8) :: gsw_entropy_part + +real (r8) :: x2, x, y, z, g03, g08 + +x2 = gsw_sfac*sa +x = sqrt(x2) +y = t*0.025_r8 +z = p*1e-4_r8 + +g03 = z*(-270.983805184062_r8 + & + z*(776.153611613101_r8 + z*(-196.51255088122_r8 + (28.9796526294175_r8 - 2.13290083518327_r8*z)*z))) + & + y*(-24715.571866078_r8 + z*(2910.0729080936_r8 + & + z*(-1513.116771538718_r8 + z*(546.959324647056_r8 + z*(-111.1208127634436_r8 + 8.68841343834394_r8*z)))) + & + y*(2210.2236124548363_r8 + z*(-2017.52334943521_r8 + & + z*(1498.081172457456_r8 + z*(-718.6359919632359_r8 + (146.4037555781616_r8 - 4.9892131862671505_r8*z)*z))) + & + y*(-592.743745734632_r8 + z*(1591.873781627888_r8 + & + z*(-1207.261522487504_r8 + (608.785486935364_r8 - 105.4993508931208_r8*z)*z)) + & + y*(290.12956292128547_r8 + z*(-973.091553087975_r8 + & + z*(602.603274510125_r8 + z*(-276.361526170076_r8 + 32.40953340386105_r8*z))) + & + y*(-113.90630790850321_r8 + y*(21.35571525415769_r8 - 67.41756835751434_r8*z) + & + z*(381.06836198507096_r8 + z*(-133.7383902842754_r8 + 49.023632509086724_r8*z))))))) + +g08 = x2*(z*(729.116529735046_r8 + & + z*(-343.956902961561_r8 + z*(124.687671116248_r8 + z*(-31.656964386073_r8 + 7.04658803315449_r8*z)))) + & + x*( x*(y*(-137.1145018408982_r8 + y*(148.10030845687618_r8 + y*(-68.5590309679152_r8 + 12.4848504784754_r8*y))) - & + 22.6683558512829_r8*z) + z*(-175.292041186547_r8 + (83.1923927801819_r8 - 29.483064349429_r8*z)*z) + & + y*(-86.1329351956084_r8 + z*(766.116132004952_r8 + z*(-108.3834525034224_r8 + 51.2796974779828_r8*z)) + & + y*(-30.0682112585625_r8 - 1380.9597954037708_r8*z + y*(3.50240264723578_r8 + 938.26075044542_r8*z)))) + & + y*(1760.062705994408_r8 + y*(-675.802947790203_r8 + & + y*(365.7041791005036_r8 + y*(-108.30162043765552_r8 + 12.78101825083098_r8*y) + & + z*(-1190.914967948748_r8 + (298.904564555024_r8 - 145.9491676006352_r8*z)*z)) + & + z*(2082.7344423998043_r8 + z*(-614.668925894709_r8 + (340.685093521782_r8 - 33.3848202979239_r8*z)*z))) + & + z*(-1721.528607567954_r8 + z*(674.819060538734_r8 + & + z*(-356.629112415276_r8 + (88.4080716616_r8 - 15.84003094423364_r8*z)*z))))) + +gsw_entropy_part = -(g03 + g08)*0.025_r8 + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_entropy_part_zerop.F90 b/src/int_recom/recom/gsw_entropy_part_zerop.F90 new file mode 100755 index 000000000..2156b71c4 --- /dev/null +++ b/src/int_recom/recom/gsw_entropy_part_zerop.F90 @@ -0,0 +1,44 @@ +!========================================================================== +elemental function gsw_entropy_part_zerop (sa, pt0) +!========================================================================== +! +! entropy part evaluated at the sea surface +! +! sa : Absolute Salinity [g/kg] +! pt0 : insitu temperature [deg C] +! +! gsw_entropy_part_zerop : entropy part at the sea surface +!-------------------------------------------------------------------------- + +use gsw_mod_teos10_constants, only : gsw_sfac + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, pt0 + +real (r8) :: gsw_entropy_part_zerop + +real (r8) :: x2, x, y, g03, g08 + +x2 = gsw_sfac*sa +x = sqrt(x2) +y = pt0*0.025_r8 + +g03 = y*(-24715.571866078_r8 + y*(2210.2236124548363_r8 + & + y*(-592.743745734632_r8 + y*(290.12956292128547_r8 + & + y*(-113.90630790850321_r8 + y*21.35571525415769_r8))))) + +g08 = x2*(x*(x*(y*(-137.1145018408982_r8 + y*(148.10030845687618_r8 + & + y*(-68.5590309679152_r8 + 12.4848504784754_r8*y)))) + & + y*(-86.1329351956084_r8 + y*(-30.0682112585625_r8 + y*3.50240264723578_r8))) + & + y*(1760.062705994408_r8 + y*(-675.802947790203_r8 + & + y*(365.7041791005036_r8 + y*(-108.30162043765552_r8 + 12.78101825083098_r8*y))))) + +gsw_entropy_part_zerop = -(g03 + g08)*0.025_r8 + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_gibbs.F90 b/src/int_recom/recom/gsw_gibbs.F90 new file mode 100755 index 000000000..59f7d221a --- /dev/null +++ b/src/int_recom/recom/gsw_gibbs.F90 @@ -0,0 +1,317 @@ +!========================================================================== +elemental function gsw_gibbs (ns, nt, np, sa, t, p) +!========================================================================== +! +! seawater specific Gibbs free energy and derivatives up to order 2 +! +! ns : order of s derivative +! nt : order of t derivative +! np : order of p derivative +! sa : Absolute Salinity [g/kg] +! t : temperature [deg C] +! p : sea pressure [dbar] +! +! gsw_gibbs : specific Gibbs energy or its derivative +!-------------------------------------------------------------------------- + +use gsw_mod_teos10_constants, only : gsw_sfac + +use gsw_mod_kinds + +implicit none + +integer, intent(in) :: ns, nt, np +real (r8), intent(in) :: sa, t, p + +real (r8) :: gsw_gibbs + +real (r8) :: x2, x, y, z, g03, g08 + +x2 = gsw_sfac*sa +x = sqrt(x2) +y = t*0.025_r8 +z = p*1e-4_r8 + +if(ns.eq.0 .and. nt.eq.0 .and. np.eq.0) then + + g03 = 101.342743139674_r8 + z*(100015.695367145_r8 + & + z*(-2544.5765420363_r8 + z*(284.517778446287_r8 + & + z*(-33.3146754253611_r8 + (4.20263108803084_r8 - 0.546428511471039_r8*z)*z)))) + & + y*(5.90578347909402_r8 + z*(-270.983805184062_r8 + & + z*(776.153611613101_r8 + z*(-196.51255088122_r8 + (28.9796526294175_r8 - 2.13290083518327_r8*z)*z))) + & + y*(-12357.785933039_r8 + z*(1455.0364540468_r8 + & + z*(-756.558385769359_r8 + z*(273.479662323528_r8 + z*(-55.5604063817218_r8 + 4.34420671917197_r8*z)))) + & + y*(736.741204151612_r8 + z*(-672.50778314507_r8 + & + z*(499.360390819152_r8 + z*(-239.545330654412_r8 + (48.8012518593872_r8 - 1.66307106208905_r8*z)*z))) + & + y*(-148.185936433658_r8 + z*(397.968445406972_r8 + & + z*(-301.815380621876_r8 + (152.196371733841_r8 - 26.3748377232802_r8*z)*z)) + & + y*(58.0259125842571_r8 + z*(-194.618310617595_r8 + & + z*(120.520654902025_r8 + z*(-55.2723052340152_r8 + 6.48190668077221_r8*z))) + & + y*(-18.9843846514172_r8 + y*(3.05081646487967_r8 - 9.63108119393062_r8*z) + & + z*(63.5113936641785_r8 + z*(-22.2897317140459_r8 + 8.17060541818112_r8*z)))))))) + + g08 = x2*(1416.27648484197_r8 + z*(-3310.49154044839_r8 + & + z*(384.794152978599_r8 + z*(-96.5324320107458_r8 + (15.8408172766824_r8 - 2.62480156590992_r8*z)*z))) + & + x*(-2432.14662381794_r8 + x*(2025.80115603697_r8 + & + y*(543.835333000098_r8 + y*(-68.5572509204491_r8 + & + y*(49.3667694856254_r8 + y*(-17.1397577419788_r8 + 2.49697009569508_r8*y))) - 22.6683558512829_r8*z) + & + x*(-1091.66841042967_r8 - 196.028306689776_r8*y + & + x*(374.60123787784_r8 - 48.5891069025409_r8*x + 36.7571622995805_r8*y) + 36.0284195611086_r8*z) + & + z*(-54.7919133532887_r8 + (-4.08193978912261_r8 - 30.1755111971161_r8*z)*z)) + & + z*(199.459603073901_r8 + z*(-52.2940909281335_r8 + (68.0444942726459_r8 - 3.41251932441282_r8*z)*z)) + & + y*(-493.407510141682_r8 + z*(-175.292041186547_r8 + (83.1923927801819_r8 - 29.483064349429_r8*z)*z) + & + y*(-43.0664675978042_r8 + z*(383.058066002476_r8 + z*(-54.1917262517112_r8 + 25.6398487389914_r8*z)) + & + y*(-10.0227370861875_r8 - 460.319931801257_r8*z + y*(0.875600661808945_r8 + 234.565187611355_r8*z))))) + & + y*(168.072408311545_r8 + z*(729.116529735046_r8 + & + z*(-343.956902961561_r8 + z*(124.687671116248_r8 + z*(-31.656964386073_r8 + 7.04658803315449_r8*z)))) + & + y*(880.031352997204_r8 + y*(-225.267649263401_r8 + & + y*(91.4260447751259_r8 + y*(-21.6603240875311_r8 + 2.13016970847183_r8*y) + & + z*(-297.728741987187_r8 + (74.726141138756_r8 - 36.4872919001588_r8*z)*z)) + & + z*(694.244814133268_r8 + z*(-204.889641964903_r8 + (113.561697840594_r8 - 11.1282734326413_r8*z)*z))) + & + z*(-860.764303783977_r8 + z*(337.409530269367_r8 + & + z*(-178.314556207638_r8 + (44.2040358308_r8 - 7.92001547211682_r8*z)*z)))))) + + if(sa.gt.0.0_r8) & + g08 = g08 + x2*(5812.81456626732_r8 + 851.226734946706_r8*y)*log(x) + + gsw_gibbs = g03 + g08 + +elseif(ns.eq.1 .and. nt.eq.0 .and. np.eq.0) then + + g08 = 8645.36753595126_r8 + z*(-6620.98308089678_r8 + & + z*(769.588305957198_r8 + z*(-193.0648640214916_r8 + (31.6816345533648_r8 - 5.24960313181984_r8*z)*z))) + & + x*(-7296.43987145382_r8 + x*(8103.20462414788_r8 + & + y*(2175.341332000392_r8 + y*(-274.2290036817964_r8 + & + y*(197.4670779425016_r8 + y*(-68.5590309679152_r8 + 9.98788038278032_r8*y))) - 90.6734234051316_r8*z) + & + x*(-5458.34205214835_r8 - 980.14153344888_r8*y + & + x*(2247.60742726704_r8 - 340.1237483177863_r8*x + 220.542973797483_r8*y) + 180.142097805543_r8*z) + & + z*(-219.1676534131548_r8 + (-16.32775915649044_r8 - 120.7020447884644_r8*z)*z)) + & + z*(598.378809221703_r8 + z*(-156.8822727844005_r8 + (204.1334828179377_r8 - 10.23755797323846_r8*z)*z)) + & + y*(-1480.222530425046_r8 + z*(-525.876123559641_r8 + (249.57717834054571_r8 - 88.449193048287_r8*z)*z) + & + y*(-129.1994027934126_r8 + z*(1149.174198007428_r8 + z*(-162.5751787551336_r8 + 76.9195462169742_r8*z)) + & + y*(-30.0682112585625_r8 - 1380.9597954037708_r8*z + y*(2.626801985426835_r8 + 703.695562834065_r8*z))))) + & + y*(1187.3715515697959_r8 + z*(1458.233059470092_r8 + & + z*(-687.913805923122_r8 + z*(249.375342232496_r8 + z*(-63.313928772146_r8 + 14.09317606630898_r8*z)))) + & + y*(1760.062705994408_r8 + y*(-450.535298526802_r8 + & + y*(182.8520895502518_r8 + y*(-43.3206481750622_r8 + 4.26033941694366_r8*y) + & + z*(-595.457483974374_r8 + (149.452282277512_r8 - 72.9745838003176_r8*z)*z)) + & + z*(1388.489628266536_r8 + z*(-409.779283929806_r8 + (227.123395681188_r8 - 22.2565468652826_r8*z)*z))) + & + z*(-1721.528607567954_r8 + z*(674.819060538734_r8 + & + z*(-356.629112415276_r8 + (88.4080716616_r8 - 15.84003094423364_r8*z)*z))))) + + if(sa.gt.0_r8) then + g08 = g08 + (11625.62913253464_r8 + 1702.453469893412_r8*y)*log(x) + else + g08 = 0.0_r8 + endif + + gsw_gibbs = 0.5*gsw_sfac*g08 + +elseif(ns.eq.0 .and. nt.eq.1 .and. np.eq.0) then + + g03 = 5.90578347909402_r8 + z*(-270.983805184062_r8 + & + z*(776.153611613101_r8 + z*(-196.51255088122_r8 + (28.9796526294175_r8 - 2.13290083518327_r8*z)*z))) + & + y*(-24715.571866078_r8 + z*(2910.0729080936_r8 + & + z*(-1513.116771538718_r8 + z*(546.959324647056_r8 + z*(-111.1208127634436_r8 + 8.68841343834394_r8*z)))) + & + y*(2210.2236124548363_r8 + z*(-2017.52334943521_r8 + & + z*(1498.081172457456_r8 + z*(-718.6359919632359_r8 + (146.4037555781616_r8 - 4.9892131862671505_r8*z)*z))) + & + y*(-592.743745734632_r8 + z*(1591.873781627888_r8 + & + z*(-1207.261522487504_r8 + (608.785486935364_r8 - 105.4993508931208_r8*z)*z)) + & + y*(290.12956292128547_r8 + z*(-973.091553087975_r8 + & + z*(602.603274510125_r8 + z*(-276.361526170076_r8 + 32.40953340386105_r8*z))) + & + y*(-113.90630790850321_r8 + y*(21.35571525415769_r8 - 67.41756835751434_r8*z) + & + z*(381.06836198507096_r8 + z*(-133.7383902842754_r8 + 49.023632509086724_r8*z))))))) + + g08 = x2*(168.072408311545_r8 + z*(729.116529735046_r8 + & + z*(-343.956902961561_r8 + z*(124.687671116248_r8 + z*(-31.656964386073_r8 + 7.04658803315449_r8*z)))) + & + x*(-493.407510141682_r8 + x*(543.835333000098_r8 + x*(-196.028306689776_r8 + 36.7571622995805_r8*x) + & + y*(-137.1145018408982_r8 + y*(148.10030845687618_r8 + y*(-68.5590309679152_r8 + 12.4848504784754_r8*y))) - & + 22.6683558512829_r8*z) + z*(-175.292041186547_r8 + (83.1923927801819_r8 - 29.483064349429_r8*z)*z) + & + y*(-86.1329351956084_r8 + z*(766.116132004952_r8 + z*(-108.3834525034224_r8 + 51.2796974779828_r8*z)) + & + y*(-30.0682112585625_r8 - 1380.9597954037708_r8*z + y*(3.50240264723578_r8 + 938.26075044542_r8*z)))) + & + y*(1760.062705994408_r8 + y*(-675.802947790203_r8 + & + y*(365.7041791005036_r8 + y*(-108.30162043765552_r8 + 12.78101825083098_r8*y) + & + z*(-1190.914967948748_r8 + (298.904564555024_r8 - 145.9491676006352_r8*z)*z)) + & + z*(2082.7344423998043_r8 + z*(-614.668925894709_r8 + (340.685093521782_r8 - 33.3848202979239_r8*z)*z))) + & + z*(-1721.528607567954_r8 + z*(674.819060538734_r8 + & + z*(-356.629112415276_r8 + (88.4080716616_r8 - 15.84003094423364_r8*z)*z))))) + + if(sa.gt.0_r8) g08 = g08 + 851.226734946706_r8*x2*log(x) + + gsw_gibbs = (g03 + g08)*0.025_r8 + +elseif(ns.eq.0 .and. nt.eq.0 .and. np.eq.1) then + + g03 = 100015.695367145_r8 + z*(-5089.1530840726_r8 + & + z*(853.5533353388611_r8 + z*(-133.2587017014444_r8 + (21.0131554401542_r8 - 3.278571068826234_r8*z)*z))) + & + y*(-270.983805184062_r8 + z*(1552.307223226202_r8 + & + z*(-589.53765264366_r8 + (115.91861051767_r8 - 10.664504175916349_r8*z)*z)) + & + y*(1455.0364540468_r8 + z*(-1513.116771538718_r8 + & + z*(820.438986970584_r8 + z*(-222.2416255268872_r8 + 21.72103359585985_r8*z))) + & + y*(-672.50778314507_r8 + z*(998.720781638304_r8 + & + z*(-718.6359919632359_r8 + (195.2050074375488_r8 - 8.31535531044525_r8*z)*z)) + & + y*(397.968445406972_r8 + z*(-603.630761243752_r8 + (456.589115201523_r8 - 105.4993508931208_r8*z)*z) + & + y*(-194.618310617595_r8 + y*(63.5113936641785_r8 - 9.63108119393062_r8*y + & + z*(-44.5794634280918_r8 + 24.511816254543362_r8*z)) + & + z*(241.04130980405_r8 + z*(-165.8169157020456_r8 + & + 25.92762672308884_r8*z))))))) + + g08 = x2*(-3310.49154044839_r8 + z*(769.588305957198_r8 + & + z*(-289.5972960322374_r8 + (63.3632691067296_r8 - 13.1240078295496_r8*z)*z)) + & + x*(199.459603073901_r8 + x*(-54.7919133532887_r8 + 36.0284195611086_r8*x - 22.6683558512829_r8*y + & + (-8.16387957824522_r8 - 90.52653359134831_r8*z)*z) + & + z*(-104.588181856267_r8 + (204.1334828179377_r8 - 13.65007729765128_r8*z)*z) + & + y*(-175.292041186547_r8 + (166.3847855603638_r8 - 88.449193048287_r8*z)*z + & + y*(383.058066002476_r8 + y*(-460.319931801257_r8 + 234.565187611355_r8*y) + & + z*(-108.3834525034224_r8 + 76.9195462169742_r8*z)))) + & + y*(729.116529735046_r8 + z*(-687.913805923122_r8 + & + z*(374.063013348744_r8 + z*(-126.627857544292_r8 + 35.23294016577245_r8*z))) + & + y*(-860.764303783977_r8 + y*(694.244814133268_r8 + & + y*(-297.728741987187_r8 + (149.452282277512_r8 - 109.46187570047641_r8*z)*z) + & + z*(-409.779283929806_r8 + (340.685093521782_r8 - 44.5130937305652_r8*z)*z)) + & + z*(674.819060538734_r8 + z*(-534.943668622914_r8 + (176.8161433232_r8 - 39.600077360584095_r8*z)*z))))) + + gsw_gibbs = (g03 + g08)*1e-8_r8 + +elseif(ns.eq.0 .and. nt.eq.2 .and. np.eq.0) then + + g03 = -24715.571866078_r8 + z*(2910.0729080936_r8 + z* & + (-1513.116771538718_r8 + z*(546.959324647056_r8 + z*(-111.1208127634436_r8 + 8.68841343834394_r8*z)))) + & + y*(4420.4472249096725_r8 + z*(-4035.04669887042_r8 + & + z*(2996.162344914912_r8 + z*(-1437.2719839264719_r8 + (292.8075111563232_r8 - 9.978426372534301_r8*z)*z))) + & + y*(-1778.231237203896_r8 + z*(4775.621344883664_r8 + & + z*(-3621.784567462512_r8 + (1826.356460806092_r8 - 316.49805267936244_r8*z)*z)) + & + y*(1160.5182516851419_r8 + z*(-3892.3662123519_r8 + & + z*(2410.4130980405_r8 + z*(-1105.446104680304_r8 + 129.6381336154442_r8*z))) + & + y*(-569.531539542516_r8 + y*(128.13429152494615_r8 - 404.50541014508605_r8*z) + & + z*(1905.341809925355_r8 + z*(-668.691951421377_r8 + 245.11816254543362_r8*z)))))) + + g08 = x2*(1760.062705994408_r8 + x*(-86.1329351956084_r8 + & + x*(-137.1145018408982_r8 + y*(296.20061691375236_r8 + y*(-205.67709290374563_r8 + 49.9394019139016_r8*y))) + & + z*(766.116132004952_r8 + z*(-108.3834525034224_r8 + 51.2796974779828_r8*z)) + & + y*(-60.136422517125_r8 - 2761.9195908075417_r8*z + y*(10.50720794170734_r8 + 2814.78225133626_r8*z))) + & + y*(-1351.605895580406_r8 + y*(1097.1125373015109_r8 + y*(-433.20648175062206_r8 + 63.905091254154904_r8*y) + & + z*(-3572.7449038462437_r8 + (896.713693665072_r8 - 437.84750280190565_r8*z)*z)) + & + z*(4165.4688847996085_r8 + z*(-1229.337851789418_r8 + (681.370187043564_r8 - 66.7696405958478_r8*z)*z))) + & + z*(-1721.528607567954_r8 + z*(674.819060538734_r8 + & + z*(-356.629112415276_r8 + (88.4080716616_r8 - 15.84003094423364_r8*z)*z)))) + + gsw_gibbs = (g03 + g08)*0.000625_r8 + +elseif(ns.eq.1 .and. nt.eq.0 .and. np.eq.1) then + + g08 = -6620.98308089678_r8 + z*(1539.176611914396_r8 + & + z*(-579.1945920644748_r8 + (126.7265382134592_r8 - 26.2480156590992_r8*z)*z)) + & + x*(598.378809221703_r8 + x*(-219.1676534131548_r8 + 180.142097805543_r8*x - 90.6734234051316_r8*y + & + (-32.65551831298088_r8 - 362.10613436539325_r8*z)*z) + & + z*(-313.764545568801_r8 + (612.4004484538132_r8 - 40.95023189295384_r8*z)*z) + & + y*(-525.876123559641_r8 + (499.15435668109143_r8 - 265.347579144861_r8*z)*z + & + y*(1149.174198007428_r8 + y*(-1380.9597954037708_r8 + 703.695562834065_r8*y) + & + z*(-325.1503575102672_r8 + 230.7586386509226_r8*z)))) + & + y*(1458.233059470092_r8 + z*(-1375.827611846244_r8 + & + z*(748.126026697488_r8 + z*(-253.255715088584_r8 + 70.4658803315449_r8*z))) + & + y*(-1721.528607567954_r8 + y*(1388.489628266536_r8 + & + y*(-595.457483974374_r8 + (298.904564555024_r8 - 218.92375140095282_r8*z)*z) + & + z*(-819.558567859612_r8 + (681.370187043564_r8 - 89.0261874611304_r8*z)*z)) + & + z*(1349.638121077468_r8 + z*(-1069.887337245828_r8 + (353.6322866464_r8 - 79.20015472116819_r8*z)*z)))) + + gsw_gibbs = g08*gsw_sfac*0.5e-8_r8 + +elseif(ns.eq.0 .and. nt.eq.1 .and. np.eq.1) then + + g03 = -270.983805184062_r8 + z*(1552.307223226202_r8 + z*(-589.53765264366_r8 + & + (115.91861051767_r8 - 10.664504175916349_r8*z)*z)) + & + y*(2910.0729080936_r8 + z*(-3026.233543077436_r8 + & + z*(1640.877973941168_r8 + z*(-444.4832510537744_r8 + 43.4420671917197_r8*z))) + & + y*(-2017.52334943521_r8 + z*(2996.162344914912_r8 + & + z*(-2155.907975889708_r8 + (585.6150223126464_r8 - 24.946065931335752_r8*z)*z)) + & + y*(1591.873781627888_r8 + z*(-2414.523044975008_r8 + (1826.356460806092_r8 - 421.9974035724832_r8*z)*z) + & + y*(-973.091553087975_r8 + z*(1205.20654902025_r8 + z*(-829.084578510228_r8 + 129.6381336154442_r8*z)) + & + y*(381.06836198507096_r8 - 67.41756835751434_r8*y + z*(-267.4767805685508_r8 + 147.07089752726017_r8*z)))))) + + g08 = x2*(729.116529735046_r8 + z*(-687.913805923122_r8 + & + z*(374.063013348744_r8 + z*(-126.627857544292_r8 + 35.23294016577245_r8*z))) + & + x*(-175.292041186547_r8 - 22.6683558512829_r8*x + (166.3847855603638_r8 - 88.449193048287_r8*z)*z + & + y*(766.116132004952_r8 + y*(-1380.9597954037708_r8 + 938.26075044542_r8*y) + & + z*(-216.7669050068448_r8 + 153.8390924339484_r8*z))) + & + y*(-1721.528607567954_r8 + y*(2082.7344423998043_r8 + & + y*(-1190.914967948748_r8 + (597.809129110048_r8 - 437.84750280190565_r8*z)*z) + & + z*(-1229.337851789418_r8 + (1022.055280565346_r8 - 133.5392811916956_r8*z)*z)) + & + z*(1349.638121077468_r8 + z*(-1069.887337245828_r8 + (353.6322866464_r8 - 79.20015472116819_r8*z)*z)))) + + gsw_gibbs = (g03 + g08)*2.5e-10_r8 + +elseif(ns.eq.1 .and. nt.eq.1 .and. np.eq.0) then + + g08 = 1187.3715515697959_r8 + z*(1458.233059470092_r8 + & + z*(-687.913805923122_r8 + z*(249.375342232496_r8 + z*(-63.313928772146_r8 + 14.09317606630898_r8*z)))) + & + x*(-1480.222530425046_r8 + x*(2175.341332000392_r8 + x*(-980.14153344888_r8 + 220.542973797483_r8*x) + & + y*(-548.4580073635929_r8 + y*(592.4012338275047_r8 + y*(-274.2361238716608_r8 + 49.9394019139016_r8*y))) - & + 90.6734234051316_r8*z) + z*(-525.876123559641_r8 + (249.57717834054571_r8 - 88.449193048287_r8*z)*z) + & + y*(-258.3988055868252_r8 + z*(2298.348396014856_r8 + z*(-325.1503575102672_r8 + 153.8390924339484_r8*z)) + & + y*(-90.2046337756875_r8 - 4142.8793862113125_r8*z + y*(10.50720794170734_r8 + 2814.78225133626_r8*z)))) + & + y*(3520.125411988816_r8 + y*(-1351.605895580406_r8 + & + y*(731.4083582010072_r8 + y*(-216.60324087531103_r8 + 25.56203650166196_r8*y) + & + z*(-2381.829935897496_r8 + (597.809129110048_r8 - 291.8983352012704_r8*z)*z)) + & + z*(4165.4688847996085_r8 + z*(-1229.337851789418_r8 + (681.370187043564_r8 - 66.7696405958478_r8*z)*z))) + & + z*(-3443.057215135908_r8 + z*(1349.638121077468_r8 + & + z*(-713.258224830552_r8 + (176.8161433232_r8 - 31.68006188846728_r8*z)*z)))) + + if(sa.gt.0_r8) g08 = g08 + 1702.453469893412_r8*log(x) + + gsw_gibbs = 0.5_r8*gsw_sfac*0.025_r8*g08 + +elseif(ns.eq.2 .and. nt.eq.0 .and. np.eq.0) then + + g08 = 2.0_r8*(8103.20462414788_r8 + & + y*(2175.341332000392_r8 + y*(-274.2290036817964_r8 + & + y*(197.4670779425016_r8 + y*(-68.5590309679152_r8 + 9.98788038278032_r8*y))) - 90.6734234051316_r8*z) + & + 1.5_r8*x*(-5458.34205214835_r8 - 980.14153344888_r8*y + & + (4.0_r8/3.0_r8)*x*(2247.60742726704_r8 - 340.1237483177863_r8*1.25_r8*x + 220.542973797483_r8*y) + & + 180.142097805543_r8*z) + & + z*(-219.1676534131548_r8 + (-16.32775915649044_r8 - 120.7020447884644_r8*z)*z)) + + if (x.gt.0_r8) then + g08 = g08 + (-7296.43987145382_r8 + z*(598.378809221703_r8 + & + z*(-156.8822727844005_r8 + (204.1334828179377_r8 - 10.23755797323846_r8*z)*z)) + & + y*(-1480.222530425046_r8 + z*(-525.876123559641_r8 + & + (249.57717834054571_r8 - 88.449193048287_r8*z)*z) + & + y*(-129.1994027934126_r8 + z*(1149.174198007428_r8 + & + z*(-162.5751787551336_r8 + 76.9195462169742_r8*z)) + & + y*(-30.0682112585625_r8 - 1380.9597954037708_r8*z + & + y*(2.626801985426835_r8 + 703.695562834065_r8*z)))))/x + & + (11625.62913253464_r8 + 1702.453469893412_r8*y)/x2 + else + g08 = 0.0_r8 + end if + + gsw_gibbs = 0.25_r8*gsw_sfac*gsw_sfac*g08 + +elseif(ns.eq.0 .and. nt.eq.0 .and. np.eq.2) then + + g03 = -5089.1530840726_r8 + z*(1707.1066706777221_r8 + & + z*(-399.7761051043332_r8 + (84.0526217606168_r8 - 16.39285534413117_r8*z)*z)) + & + y*(1552.307223226202_r8 + z*(-1179.07530528732_r8 + (347.75583155301_r8 - 42.658016703665396_r8*z)*z) + & + y*(-1513.116771538718_r8 + z*(1640.877973941168_r8 + z*(-666.7248765806615_r8 + 86.8841343834394_r8*z)) + & + y*(998.720781638304_r8 + z*(-1437.2719839264719_r8 + (585.6150223126464_r8 - 33.261421241781_r8*z)*z) + & + y*(-603.630761243752_r8 + (913.178230403046_r8 - 316.49805267936244_r8*z)*z + & + y*(241.04130980405_r8 + y*(-44.5794634280918_r8 + 49.023632509086724_r8*z) + & + z*(-331.6338314040912_r8 + 77.78288016926652_r8*z)))))) + + g08 = x2*(769.588305957198_r8 + z*(-579.1945920644748_r8 + (190.08980732018878_r8 - 52.4960313181984_r8*z)*z) + & + x*(-104.588181856267_r8 + x*(-8.16387957824522_r8 - 181.05306718269662_r8*z) + & + (408.2669656358754_r8 - 40.95023189295384_r8*z)*z + & + y*(166.3847855603638_r8 - 176.898386096574_r8*z + y*(-108.3834525034224_r8 + 153.8390924339484_r8*z))) + & + y*(-687.913805923122_r8 + z*(748.126026697488_r8 + z*(-379.883572632876_r8 + 140.9317606630898_r8*z)) + & + y*(674.819060538734_r8 + z*(-1069.887337245828_r8 + (530.4484299696_r8 - 158.40030944233638_r8*z)*z) + & + y*(-409.779283929806_r8 + y*(149.452282277512_r8 - 218.92375140095282_r8*z) + & + (681.370187043564_r8 - 133.5392811916956_r8*z)*z)))) + + gsw_gibbs = (g03 + g08)*1e-16_r8 + +end if + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_gibbs_pt0_pt0.F90 b/src/int_recom/recom/gsw_gibbs_pt0_pt0.F90 new file mode 100755 index 000000000..6e8bcfc77 --- /dev/null +++ b/src/int_recom/recom/gsw_gibbs_pt0_pt0.F90 @@ -0,0 +1,47 @@ +!========================================================================== +elemental function gsw_gibbs_pt0_pt0 (sa, pt0) +!========================================================================== +! +! gibbs_tt at (sa,pt,0) +! +! sa : Absolute Salinity [g/kg] +! pt0 : potential temperature [deg C] +! +! gsw_gibbs_pt0_pt0 : gibbs_tt at (sa,pt,0) +!-------------------------------------------------------------------------- + +use gsw_mod_teos10_constants, only : gsw_sfac + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, pt0 + +real (r8) :: gsw_gibbs_pt0_pt0 + +real (r8) :: x2, x, y, g03, g08 + +x2 = gsw_sfac*sa +x = sqrt(x2) +y = pt0*0.025_r8 + +g03 = -24715.571866078_r8 + & + y*(4420.4472249096725_r8 + & + y*(-1778.231237203896_r8 + & + y*(1160.5182516851419_r8 + & + y*(-569.531539542516_r8 + y*128.13429152494615_r8)))) + +g08 = x2*(1760.062705994408_r8 + x*(-86.1329351956084_r8 + & + x*(-137.1145018408982_r8 + y*(296.20061691375236_r8 + & + y*(-205.67709290374563_r8 + 49.9394019139016_r8*y))) + & + y*(-60.136422517125_r8 + y*10.50720794170734_r8)) + & + y*(-1351.605895580406_r8 + y*(1097.1125373015109_r8 + & + y*(-433.20648175062206_r8 + 63.905091254154904_r8*y)))) + +gsw_gibbs_pt0_pt0 = (g03 + g08)*0.000625_r8 + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_mod_baltic_data.F90 b/src/int_recom/recom/gsw_mod_baltic_data.F90 new file mode 100755 index 000000000..5ae188373 --- /dev/null +++ b/src/int_recom/recom/gsw_mod_baltic_data.F90 @@ -0,0 +1,25 @@ +!========================================================================== +module gsw_mod_baltic_data +!========================================================================== +! +! Coordinate data for the Baltic Sea + +use gsw_mod_kinds + +implicit none + +real (r8), dimension(2) :: xb_right, yb_right +real (r8), dimension(3) :: xb_left, yb_left + +data xb_left /12.6_r8, 7.0_r8, 26.0_r8/ +data yb_left /50.0_r8, 59.0_r8, 69.0_r8/ + +data xb_right /45.0_r8, 26.0_r8/ +data yb_right /50.0_r8, 69.0_r8/ + +end module + +!-------------------------------------------------------------------------- + + + diff --git a/src/int_recom/recom/gsw_mod_error_functions.F90 b/src/int_recom/recom/gsw_mod_error_functions.F90 new file mode 100755 index 000000000..3dba293c8 --- /dev/null +++ b/src/int_recom/recom/gsw_mod_error_functions.F90 @@ -0,0 +1,162 @@ +!========================================================================== +module gsw_mod_error_functions +!========================================================================== + +use gsw_mod_kinds + +implicit none + +logical, public :: gsw_error_check = .true. +logical, public :: gsw_abort_on_error = .true. + +real (r8), parameter, public :: gsw_error_limit = 1e10_r8 + +integer, parameter, private :: nfuncs = 39 +integer, parameter, private :: maxlen = 40 +character (len=maxlen), dimension(nfuncs), private :: func_list + +data func_list / & + "gsw_ct_from_enthalpy_exact", & + "gsw_ct_from_enthalpy", & + "gsw_ct_from_rho", & + "gsw_deltasa_atlas", & + "gsw_deltasa_from_sp", & + "gsw_fdelta", & + "gsw_frazil_properties", & + "gsw_frazil_properties_potential", & + "gsw_frazil_properties_potential_poly", & + "gsw_geo_strf_dyn_height", & + "gsw_geo_strf_dyn_height_pc", & + "gsw_ice_fraction_to_freeze_seawater", & + "gsw_ipv_vs_fnsquared_ratio", & + "gsw_melting_ice_into_seawater", & + "gsw_melting_ice_sa_ct_ratio", & + "gsw_melting_ice_sa_ct_ratio_poly", & + "gsw_melting_seaice_into_seawater", & + "gsw_melting_seaice_sa_ct_ratio", & + "gsw_melting_seaice_sa_ct_ratio_poly", & + "gsw_mlp", & + "gsw_nsquared", & + "gsw_nsquared_min", & + "gsw_pressure_freezing_ct", & + "gsw_rr68_interp_sa_ct", & + "gsw_saar", & + "gsw_sa_freezing_from_ct", & + "gsw_sa_freezing_from_ct_poly", & + "gsw_sa_freezing_from_t", & + "gsw_sa_freezing_from_t_poly", & + "gsw_sa_from_rho", & + "gsw_sa_from_sp", & + "gsw_sa_from_sstar", & + "gsw_seaice_fraction_to_freeze_seawater", & + "gsw_sp_from_c", & + "gsw_sp_from_sa", & + "gsw_sp_from_sstar", & + "gsw_sstar_from_sa", & + "gsw_sstar_from_sp", & + "gsw_turner_rsubrho" / + +public :: gsw_error_code +public :: gsw_error_handler + +private :: gsw_error_fnum + +contains + + elemental function gsw_error_code (err_num, func_name, error_code) + + ! Constructs an error code of the form 9.nabcxyz000000d15 + ! + ! where n = current error level (1-4) + ! abc = error code for level #1 + ! xyz = error code for level #2 + ! ... + ! and level error codes comprise ... + ! a = error number for level #1 (0-9) + ! bc = function number for level #1 + + implicit none + + integer, intent(in) :: err_num + character (*), intent(in) :: func_name + real (r8), intent(in), optional :: error_code + + integer :: ival, k + real (r8) :: gsw_error_code, base_code, mult + + if (present(error_code)) then + k = int(error_code/1.0e14_r8) - 90 + base_code = error_code + 1.0e14_r8 + mult = 10.0_r8**(11-k*3) + else + base_code = 9.1e15_r8 + mult = 1.0e11_r8 + end if + + ival = err_num*100 + gsw_error_fnum(func_name) + gsw_error_code = base_code + ival*mult + + end function gsw_error_code + + !========================================================================== + + elemental function gsw_error_fnum (func_name) + + implicit none + + character (*), intent(in) :: func_name + + integer :: gsw_error_fnum + + integer :: i + character (len=maxlen) :: fname + + fname = func_name + do i = 1, nfuncs + if (fname == func_list(i)) goto 100 + end do + gsw_error_fnum = 99 + return + +100 gsw_error_fnum = i + return + + end function gsw_error_fnum + + !========================================================================== + + subroutine gsw_error_handler (error_code) + + implicit none + + real (r8), intent(in) :: error_code + + integer (selected_int_kind(14)) :: base_code + integer :: func_num, ival, i, k + real (r8) :: gsw_error_code, mult + + character (len=maxlen) :: func_name + + print '(/"Trace for error code: ", es20.13/)', error_code + + base_code = error_code - 9.0e15_r8 + k = int(base_code/1.0e14_r8) + base_code = base_code/(10**(14-k*3)) + + do i = 1, k + ival = mod(base_code,1000) + func_num = mod(ival,100) + if (func_num .le. nfuncs) then + func_name = func_list(func_num) + else + func_name = "unknown" + end if + print '(" Code: ",i1," in function: ",a)', ival/100, func_name + base_code = base_code/1000 + end do + + if (gsw_abort_on_error) stop + + end subroutine gsw_error_handler + +end module gsw_mod_error_functions diff --git a/src/int_recom/recom/gsw_mod_kinds.F90 b/src/int_recom/recom/gsw_mod_kinds.F90 new file mode 100755 index 000000000..7a2a80891 --- /dev/null +++ b/src/int_recom/recom/gsw_mod_kinds.F90 @@ -0,0 +1,16 @@ +!========================================================================== +module gsw_mod_kinds +!========================================================================== + +implicit none + +integer, parameter :: r4 = selected_real_kind(6,30) + +integer, parameter :: r8 = selected_real_kind(14,30) + +end module + +!-------------------------------------------------------------------------- + + + diff --git a/src/int_recom/recom/gsw_mod_saar_data.F90 b/src/int_recom/recom/gsw_mod_saar_data.F90 new file mode 100755 index 000000000..23d237f03 --- /dev/null +++ b/src/int_recom/recom/gsw_mod_saar_data.F90 @@ -0,0 +1,144881 @@ +! +!** $Id$ +!** Extracted from gsw_data_v3_0.nc +! + +!========================================================================== +module gsw_mod_saar_data +!========================================================================== +use gsw_mod_kinds +implicit none +integer, dimension(4) :: deli = (/0,1,1,0/), delj = (/0,0,1,1/) +integer, parameter :: npan = 6 +real (r8), dimension(npan) :: longs_pan, lats_pan +data longs_pan /260.00_r8, 272.59_r8, 276.50_r8, 278.65_r8, 280.73_r8, 292.0_r8/ +data lats_pan / 19.55_r8, 13.97_r8, 9.60_r8, 8.10_r8, 9.33_r8, 3.4_r8/ +integer, parameter :: nx = 91 +integer, parameter :: ny = 45 +integer, parameter :: nz = 45 + +character(*), parameter :: gsw_version_date = "15th_May_2011" +character(*), parameter :: gsw_version_number = "3.05.6" + +real (r8), dimension(nz) :: p_ref +data p_ref / & + 0._r8, 10._r8, 20._r8, 30._r8, 40._r8, 50._r8, 76._r8, 101._r8, 126._r8, & + 151._r8, 176._r8, 202._r8, 252._r8, 303._r8, 353._r8, 404._r8, 505._r8, & + 606._r8, 707._r8, 808._r8, 909._r8, 1010._r8, 1111._r8, 1213._r8, 1314._r8, & + 1416._r8, 1517._r8, 1771._r8, 2025._r8, 2279._r8, 2534._r8, 2789._r8, & + 3045._r8, 3300._r8, 3556._r8, 3812._r8, 4069._r8, 4325._r8, 4583._r8, & + 4840._r8, 5098._r8, 5355._r8, 5614._r8, 5872._r8, 6131._r8 & + / + +real (r8), dimension(ny) :: lats_ref +data lats_ref / & + -86._r8, -82._r8, -78._r8, -74._r8, -70._r8, -66._r8, -62._r8, -58._r8, & + -54._r8, -50._r8, -46._r8, -42._r8, -38._r8, -34._r8, -30._r8, -26._r8, & + -22._r8, -18._r8, -14._r8, -10._r8, -6._r8, -2._r8, 2._r8, 6._r8, 10._r8, & + 14._r8, 18._r8, 22._r8, 26._r8, 30._r8, 34._r8, 38._r8, 42._r8, 46._r8, & + 50._r8, 54._r8, 58._r8, 62._r8, 66._r8, 70._r8, 74._r8, 78._r8, 82._r8, & + 86._r8, 90._r8 & + / + +real (r8), dimension(nx) :: longs_ref +data longs_ref / & + 0._r8, 4._r8, 8._r8, 12._r8, 16._r8, 20._r8, 24._r8, 28._r8, 32._r8, & + 36._r8, 40._r8, 44._r8, 48._r8, 52._r8, 56._r8, 60._r8, 64._r8, 68._r8, & + 72._r8, 76._r8, 80._r8, 84._r8, 88._r8, 92._r8, 96._r8, 100._r8, 104._r8, & + 108._r8, 112._r8, 116._r8, 120._r8, 124._r8, 128._r8, 132._r8, 136._r8, & + 140._r8, 144._r8, 148._r8, 152._r8, 156._r8, 160._r8, 164._r8, 168._r8, & + 172._r8, 176._r8, 180._r8, 184._r8, 188._r8, 192._r8, 196._r8, 200._r8, & + 204._r8, 208._r8, 212._r8, 216._r8, 220._r8, 224._r8, 228._r8, 232._r8, & + 236._r8, 240._r8, 244._r8, 248._r8, 252._r8, 256._r8, 260._r8, 264._r8, & + 268._r8, 272._r8, 276._r8, 280._r8, 284._r8, 288._r8, 292._r8, 296._r8, & + 300._r8, 304._r8, 308._r8, 312._r8, 316._r8, 320._r8, 324._r8, 328._r8, & + 332._r8, 336._r8, 340._r8, 344._r8, 348._r8, 352._r8, 356._r8, 360._r8 & + / + +real (r8), dimension(nz,ny,nx) :: saar_ref +data saar_ref(:,1,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,1) / & + 0.00014707758753855013_r8, 0.00014484153206733623_r8, & + 0.00013380245562909864_r8, 0.00013291662443260478_r8, & + 0.00013332240587826324_r8, 0.00013886558155402462_r8, & + 0.00014644997457083559_r8, 0.00015627617122821526_r8, & + 0.00016518743573043658_r8, 0.00017312916911849533_r8, & + 0.00017974286230827558_r8, 0.00019140278197012997_r8, & + 0.00020394731745430669_r8, 0.00020941838776767063_r8, & + 0.00021635447287563869_r8, 0.00022029628455431306_r8, & + 0.00022617579627871452_r8, 0.00023229659533942956_r8, & + 0.00023657000204514543_r8, 0.00024139886704609425_r8, & + 0.0002463516762289356_r8, 0.00025069339047324973_r8, & + 0.00025292828613392805_r8, 0.00025530148124724115_r8, & + 0.00025726647081191417_r8, 0.00025925557935473867_r8, & + 0.00026000492224336055_r8, 0.00026145519407443844_r8, & + 0.00026271582634058673_r8, 0.00026357545464873695_r8, & + 0.00026371994618342842_r8, 0.00026342711065075017_r8, & + 0.00026365656779562716_r8, 0.00026356146024148283_r8, & + 0.00026327526469795761_r8, 0.00026444729919032633_r8, & + 0.00026572805946764399_r8, 0.00026675538985417594_r8, & + 0.00026552213451088797_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,1) / & + 0.00012868546702237676_r8, 0.00011321740652559621_r8, & + 0.00011878394475709721_r8, 0.00013009001203942322_r8, & + 0.00013571047598556735_r8, 0.00014287301824954807_r8, & + 0.00015703635339003286_r8, 0.00017046061110008605_r8, & + 0.00018630881795052401_r8, 0.00019806365568117153_r8, & + 0.00020478686773841776_r8, 0.00021126815092382782_r8, & + 0.00021772003572030464_r8, 0.00022195991032129833_r8, & + 0.00022663736458662783_r8, 0.00023038282633613196_r8, & + 0.00023607980736117432_r8, 0.00024122470038586341_r8, & + 0.00024564442776346874_r8, 0.00024978935448325112_r8, & + 0.00025395480892167072_r8, 0.00025666363410060836_r8, & + 0.00025857322720563295_r8, 0.00026004682159317646_r8, & + 0.00026155515245039878_r8, 0.00026242732895872742_r8, & + 0.00026259780447585534_r8, 0.00026318922072899871_r8, & + 0.00026453720901186372_r8, 0.00026518850994713652_r8, & + 0.00026471694411613528_r8, 0.00026396894301681823_r8, & + 0.00026385001470468912_r8, 0.00026364712369221152_r8, & + 0.00026349991350910727_r8, 0.00026433658255355265_r8, & + 0.00026501840251759201_r8, 0.00026517660348096621_r8, & + 0.00026168178716315247_r8, 0.00025295890288016594_r8, & + 0.00025106761802880738_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,1) / & + 9.7188540375390327e-05_r8, 8.0014092677896915e-05_r8, & + 0.00011413525822986367_r8, 0.00012827734036200685_r8, & + 0.00013279727175009572_r8, 0.00014004813795696807_r8, & + 0.00015408210413214639_r8, 0.00016450677486505092_r8, & + 0.00018373626834327801_r8, 0.00020436277045649605_r8, & + 0.00021472646420092809_r8, 0.00022408299741013621_r8, & + 0.00023580306178134583_r8, 0.00024194884285113244_r8, & + 0.00024605542813987139_r8, 0.00024934245623191845_r8, & + 0.00025369692291477372_r8, 0.00025699348220848593_r8, & + 0.00025947814805309588_r8, 0.00026128346443235153_r8, & + 0.0002627371557364272_r8, 0.00026343353910542793_r8, & + 0.00026461256498320102_r8, 0.00026503720193421818_r8, & + 0.00026551835197119434_r8, 0.00026573005057917907_r8, & + 0.0002658030678854155_r8, 0.00026553570401595085_r8, & + 0.00026547039928372974_r8, 0.00026495215388628798_r8, & + 0.00026413378613684421_r8, 0.00026335048173588694_r8, & + 0.00026241023899330543_r8, 0.0002616202159781805_r8, & + 0.00026097645934163011_r8, 0.00025969757928739917_r8, & + 0.00025711334740390935_r8, 0.00025336729421715086_r8, & + 0.0002518789075497171_r8, 0.00025103855375679994_r8, & + 0.00024998938411894644_r8, 0.00024873018609989549_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,1) / & + 9.8109926203339805e-05_r8, 8.9140873628343174e-05_r8, & + 0.00011812202808090394_r8, 0.00011900995837000572_r8, & + 0.00011976423869716493_r8, 0.00012524783535055291_r8, & + 0.00014268919370694449_r8, 0.00015578852438702124_r8, & + 0.00016868111070132699_r8, 0.00018266117147989778_r8, & + 0.00019194293077109622_r8, 0.0002014405046258326_r8, & + 0.00021349418828190534_r8, 0.00022090388868651641_r8, & + 0.00022576090683986067_r8, 0.00023037930995497251_r8, & + 0.00023572766842281959_r8, 0.00024121576091362416_r8, & + 0.00024482495701901757_r8, 0.00024768212685918482_r8, & + 0.00025079786007714387_r8, 0.00025299247828900449_r8, & + 0.00025570578351171824_r8, 0.0002575496734938007_r8, & + 0.00025930016288289951_r8, 0.00026085578269607971_r8, & + 0.0002618339325819689_r8, 0.0002632478671561618_r8, & + 0.00026404101480876751_r8, 0.00026443059512943869_r8, & + 0.00026437477562453731_r8, 0.00026384221316372427_r8, & + 0.0002627030622758791_r8, 0.00026135143689904862_r8, & + 0.0002598020413534852_r8, 0.00025788973526172143_r8, & + 0.00025486356096356128_r8, 0.0002514507205541391_r8, & + 0.0002491827707381606_r8, 0.00025011198363151063_r8, & + 0.00024953583858921348_r8, 0.00024819632723519338_r8, & + 0.0002479832885224425_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,1) / & + 9.3412356826976827e-05_r8, 9.2105667291199076e-05_r8, & + 9.5368421954222674e-05_r8, 8.5036933021505763e-05_r8, & + 8.2144781418025587e-05_r8, 8.6021448802486286e-05_r8, & + 9.0841165745717681e-05_r8, 0.00010430583784505355_r8, & + 0.00011947161610809143_r8, 0.0001323087751932553_r8, & + 0.00014365817553878063_r8, 0.0001530720677973306_r8, & + 0.00016256493358077939_r8, 0.00017187502952631519_r8, & + 0.00017771348978236253_r8, 0.00018195294520101664_r8, & + 0.00018757327718634681_r8, 0.00019425525410407351_r8, & + 0.00019866972443381023_r8, 0.0002022332253917547_r8, & + 0.00020720475210892712_r8, 0.00021095600389144399_r8, & + 0.00021770056252253046_r8, 0.00022256824785041486_r8, & + 0.00022687887232931132_r8, 0.00023228892051053093_r8, & + 0.00023627824742282233_r8, 0.00024505638779960748_r8, & + 0.00025162035949476336_r8, 0.00025672643348693475_r8, & + 0.00025936343604226483_r8, 0.00026246669128310117_r8, & + 0.00026497537957872195_r8, 0.00026381994878125743_r8, & + 0.00026233388905104991_r8, 0.0002610440448900996_r8, & + 0.00025962622053184669_r8, 0.00026351270897946328_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,1) / & + 5.1638645442983649e-05_r8, 5.1434094811492352e-05_r8, & + 4.2108541983431744e-05_r8, 3.1080652002825354e-05_r8, & + 3.0455774399314967e-05_r8, 3.102718324550365e-05_r8, & + 2.930415142469559e-05_r8, 3.2295468617706768e-05_r8, & + 4.3212473188928442e-05_r8, 5.7106559349903403e-05_r8, & + 7.0697694569052031e-05_r8, 8.2147314836983007e-05_r8, & + 9.4180834178668384e-05_r8, 0.00010567059043376012_r8, & + 0.00011319704558281159_r8, 0.0001208434645085993_r8, & + 0.00013300760351502103_r8, 0.00014259843735776016_r8, & + 0.00014995026524810179_r8, 0.00015626191557731358_r8, & + 0.00015946829084757184_r8, 0.00016251697835317094_r8, & + 0.00016380663167499799_r8, 0.00016577069692599668_r8, & + 0.00016752557620644556_r8, 0.00016999985518874675_r8, & + 0.00017253297952768889_r8, 0.00018295274079565928_r8, & + 0.00019471551477390786_r8, 0.00020432192302360859_r8, & + 0.0002181617826810701_r8, 0.00022745381071337319_r8, & + 0.00023376255687333709_r8, 0.0002400727639386867_r8, & + 0.0002427573715242748_r8, 0.00024375058246907416_r8, & + 0.00024328780395579543_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,1) / & + 1.5637708212233225e-05_r8, 1.5308016040668807e-05_r8, & + 9.6326124211400831e-06_r8, 1.0755555729367363e-05_r8, & + 1.0902918536551649e-05_r8, 1.101924496601236e-05_r8, & + 1.0806021287902337e-05_r8, 1.1851966320618355e-05_r8, & + 1.4496939665674355e-05_r8, 1.7937969227887765e-05_r8, & + 2.2173470299160915e-05_r8, 2.635608343282377e-05_r8, & + 3.2620632391229453e-05_r8, 3.9429132091189472e-05_r8, & + 4.4751565654430839e-05_r8, 5.0911482281916261e-05_r8, & + 6.4472875861784713e-05_r8, 7.7822314431446159e-05_r8, & + 9.0967215501664838e-05_r8, 0.00010555090599781767_r8, & + 0.00011614583031598149_r8, 0.00012535439594867569_r8, & + 0.00013194321920185093_r8, 0.00013693425658102909_r8, & + 0.00014059747653291698_r8, 0.00014293091529957047_r8, & + 0.00014432611856870099_r8, 0.00014632820398001507_r8, & + 0.00014996839013603049_r8, 0.00015708337936121291_r8, & + 0.00016860860318845746_r8, 0.00018082941739396509_r8, & + 0.00019444777053224038_r8, 0.00020807951103219712_r8, & + 0.00021945337980517777_r8, 0.00022866895477478607_r8, & + 0.00023414250288297859_r8, 0.00023752626127612606_r8, & + 0.00023779996862123722_r8, 0.00024661970455129996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,1) / & + 6.2959262742326913e-06_r8, 5.707287897695741e-06_r8, & + 4.2772672348146492e-06_r8, 4.7086908622649074e-06_r8, & + 5.0242672988320516e-06_r8, 5.044488042615074e-06_r8, & + 5.4831329781375116e-06_r8, 5.5384898673935842e-06_r8, & + 6.5354926530078984e-06_r8, 7.4668437895363147e-06_r8, & + 8.6058864877215305e-06_r8, 9.8856597525904444e-06_r8, & + 1.2629671976721748e-05_r8, 1.6222891016188679e-05_r8, & + 1.9487886941908778e-05_r8, 2.3265162169307085e-05_r8, & + 3.135100885394164e-05_r8, 4.0403750569715489e-05_r8, & + 5.1948264120678675e-05_r8, 6.4713908660033638e-05_r8, & + 7.8593469043335541e-05_r8, 9.2746539641639842e-05_r8, & + 0.00010554658501277392_r8, 0.00011662732675736855_r8, & + 0.00012609044897440822_r8, 0.00013268590497099206_r8, & + 0.00013769216783034733_r8, 0.00014057278345547638_r8, & + 0.00013762842265835042_r8, 0.00013650900719397804_r8, & + 0.0001393199826734762_r8, 0.00014426987721576193_r8, & + 0.00015214387268100204_r8, 0.00016679972491360687_r8, & + 0.00018272277554857286_r8, 0.00020168204613046299_r8, & + 0.00021849275971033024_r8, 0.00022322635709834019_r8, & + 0.00022743254173250471_r8, 0.00022668859549235162_r8, & + 0.00022665852287086092_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,1) / & + 4.8766938830698796e-06_r8, 4.2681585743974473e-06_r8, & + 2.567817518832605e-06_r8, 3.2972629959585062e-06_r8, & + 3.657665129135143e-06_r8, 3.7686953642340857e-06_r8, & + 5.1451631642982802e-06_r8, 4.7750597453260715e-06_r8, & + 4.9897377281975115e-06_r8, 5.4169603920652142e-06_r8, & + 5.908453258752039e-06_r8, 6.6260732169125732e-06_r8, & + 8.0926144644480662e-06_r8, 9.9657935308976419e-06_r8, & + 1.2273374847542525e-05_r8, 1.5182544429126015e-05_r8, & + 2.302078916265793e-05_r8, 3.1345281124271389e-05_r8, & + 4.0938059118056614e-05_r8, 5.2527231801015191e-05_r8, & + 6.4739070881800515e-05_r8, 7.8305260023221369e-05_r8, & + 9.2957160390330911e-05_r8, 0.0001066286987060284_r8, & + 0.0001174737475701616_r8, 0.0001255574067756768_r8, & + 0.00013207973733308755_r8, 0.00013557684179014672_r8, & + 0.00013211327488673661_r8, 0.00012707725676052299_r8, & + 0.00012592256850621394_r8, 0.0001277587699123613_r8, & + 0.00013060611755435686_r8, 0.0001413327760249721_r8, & + 0.0001574922316118073_r8, 0.00018384461081854232_r8, & + 0.00021023650479698195_r8, 0.00021847976676070066_r8, & + 0.00022367342021161054_r8, 0.00022534354140653438_r8, & + 0.00022608242101340787_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,1) / & + 4.2629447343687636e-06_r8, 3.991919409412762e-06_r8, & + 2.5206302989398496e-06_r8, 3.4331950574379493e-06_r8, & + 3.4818332776527526e-06_r8, 3.9002072502367764e-06_r8, & + 4.6522235264041966e-06_r8, 4.8077736325331962e-06_r8, & + 4.867532755235625e-06_r8, 5.0269835138561344e-06_r8, & + 5.4416001483007262e-06_r8, 6.0890131643391905e-06_r8, & + 7.3138286002919669e-06_r8, 8.5195059403484298e-06_r8, & + 9.9251403371627389e-06_r8, 1.1529060636985043e-05_r8, & + 1.8289824057298304e-05_r8, 2.7371553494221131e-05_r8, & + 3.6597814235343234e-05_r8, 4.6623425800226862e-05_r8, & + 5.8401556826548038e-05_r8, 7.1647080212908012e-05_r8, & + 8.7830753308820465e-05_r8, 0.0001030044637805443_r8, & + 0.00011452237971857641_r8, 0.0001216088229970329_r8, & + 0.0001266964013563617_r8, 0.00012712365249081947_r8, & + 0.00012338320548754226_r8, 0.00012039063717219287_r8, & + 0.00011945903589244471_r8, 0.00011976149501615847_r8, & + 0.00012100054960410683_r8, 0.00012539511835677744_r8, & + 0.00013655215618107338_r8, 0.0001624528133140168_r8, & + 0.00019553262300011338_r8, 0.00021210137980296883_r8, & + 0.00022274615083290561_r8, 0.00022481628422626218_r8, & + 0.00022504124882158317_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,1) / & + 3.9836552610926983e-06_r8, 3.96533316499022e-06_r8, & + 3.3827351473482071e-06_r8, 3.1986940061183216e-06_r8, & + 3.2938322467839239e-06_r8, 4.0298552947833098e-06_r8, & + 4.213735895146205e-06_r8, 4.671529081389359e-06_r8, & + 5.1628834542986694e-06_r8, 5.5040830733346113e-06_r8, & + 6.0780971429229672e-06_r8, 7.1642706252305927e-06_r8, & + 8.6672331655567646e-06_r8, 1.0230383981948722e-05_r8, & + 1.2523723124743248e-05_r8, 1.5229061888726753e-05_r8, & + 2.3382504155730226e-05_r8, 3.3439331410589011e-05_r8, & + 4.4621226704687092e-05_r8, 5.8528576232229385e-05_r8, & + 7.3533068276356793e-05_r8, 8.8623711628181548e-05_r8, & + 0.00010091767615462918_r8, 0.00010984387739102238_r8, & + 0.00011455753872201965_r8, 0.00011608183199252476_r8, & + 0.00011525194727782374_r8, 0.00011000105392587695_r8, & + 0.00010911106822466678_r8, 0.00011111949995432374_r8, & + 0.00011259646680360478_r8, 0.00011300267783005295_r8, & + 0.00011353948658247578_r8, 0.00011509301678176344_r8, & + 0.00011835785445125201_r8, 0.00012794840243228789_r8, & + 0.00014388207037139552_r8, 0.00014820139628298032_r8, & + 0.00014702838845499758_r8, 0.00015418425978747121_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,1) / & + 3.871172668627902e-06_r8, 3.9729315073513482e-06_r8, & + 3.7450925019713758e-06_r8, 3.8091911179206225e-06_r8, & + 3.845086436196688e-06_r8, 5.2523465220781994e-06_r8, & + 4.5674786798884301e-06_r8, 5.0888687977360419e-06_r8, & + 6.570446567412194e-06_r8, 7.5978899591128792e-06_r8, & + 8.47049282752529e-06_r8, 9.7593332957181519e-06_r8, & + 1.148441171934486e-05_r8, 1.4380178253372232e-05_r8, & + 1.8190904288473665e-05_r8, 2.3348245987401686e-05_r8, & + 3.6103882767365727e-05_r8, 4.8941111899931139e-05_r8, & + 6.3911661315356675e-05_r8, 8.250613175743405e-05_r8, & + 9.882098590130453e-05_r8, 0.00011042477021240225_r8, & + 0.00011487372743561375_r8, 0.00011497556672165356_r8, & + 0.00011258517632083992_r8, 0.00010925211759701309_r8, & + 0.00010529280904358935_r8, 9.9658747031920969e-05_r8, & + 0.00010378504847867687_r8, 0.00011106017906319435_r8, & + 0.00011741287310597677_r8, 0.00012109956399654859_r8, & + 0.00012384776697780934_r8, 0.00012612890246053971_r8, & + 0.00012815454721070744_r8, 0.00013010357306183809_r8, & + 0.00013527459445784941_r8, 0.00013725967721580208_r8, & + 0.00014391355254198709_r8, 0.00015023976292128494_r8, & + 0.0001557334555821678_r8, 0.0001374702933410839_r8, & + 0.00013399847588373213_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,1) / & + 2.802986242702521e-06_r8, 2.9454525207673383e-06_r8, & + 2.9776478484613352e-06_r8, 3.2453355929579515e-06_r8, & + 3.364464953766007e-06_r8, 6.2346150174946826e-06_r8, & + 4.1882468178478375e-06_r8, 5.3745998950034266e-06_r8, & + 7.7168976699615286e-06_r8, 9.6778996142207967e-06_r8, & + 1.1209763897003183e-05_r8, 1.3104119702266728e-05_r8, & + 1.6513808192362168e-05_r8, 2.1298063880583964e-05_r8, & + 2.7581411426333156e-05_r8, 3.548036889226889e-05_r8, & + 5.1431968589477269e-05_r8, 6.7720880728762959e-05_r8, & + 8.3429315701045211e-05_r8, 9.8151288986381662e-05_r8, & + 0.00010879927456887632_r8, 0.00011396133289768915_r8, & + 0.00011417708833442247_r8, 0.00011134383613489989_r8, & + 0.00010702654215282678_r8, 0.00010269930739770916_r8, & + 9.8351099036782811e-05_r8, 9.3115784353474306e-05_r8, & + 9.7012245284348631e-05_r8, 0.00010714696063304293_r8, & + 0.00011710805949748089_r8, 0.00012492493868874175_r8, & + 0.00013160148495163906_r8, 0.00013611623570988977_r8, & + 0.00013964791626388596_r8, 0.00014156802111973371_r8, & + 0.00014286442538179406_r8, 0.0001436727917728678_r8, & + 0.00014467308308903731_r8, 0.00014665454861016841_r8, & + 0.00014876541173308006_r8, 0.000145494818350033_r8, & + 0.00014936105730177393_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,1) / & + 1.8519036830902998e-06_r8, 1.9094655613563362e-06_r8, & + 1.9559922429882503e-06_r8, 3.037701629490668e-06_r8, & + 3.5521950073545615e-06_r8, 7.1965728335390347e-06_r8, & + 4.9902410016439315e-06_r8, 8.2143642629804523e-06_r8, & + 1.2253269074458428e-05_r8, 1.6556243180310329e-05_r8, & + 1.9946687138483874e-05_r8, 2.3667166991468649e-05_r8, & + 2.927115748463308e-05_r8, 3.677419377466592e-05_r8, & + 4.4548454675747676e-05_r8, 5.3056832395215921e-05_r8, & + 6.7808625076176487e-05_r8, 8.2051863427007616e-05_r8, & + 9.5504347989392265e-05_r8, 0.00010677614985730341_r8, & + 0.00011470921061592695_r8, 0.00011845942260189266_r8, & + 0.00011832863654671665_r8, 0.00011427351167530137_r8, & + 0.00010851742140533546_r8, 0.00010285015794562738_r8, & + 9.9145363212373332e-05_r8, 9.5151513698691275e-05_r8, & + 9.8844334533791637e-05_r8, 0.00010844224072635652_r8, & + 0.00011969801151059545_r8, 0.00013151835901014836_r8, & + 0.00014203768833927468_r8, 0.00014883604824073048_r8, & + 0.00015265114828354333_r8, 0.00015463558653873837_r8, & + 0.0001559946304454506_r8, 0.00015707916365684146_r8, & + 0.00015796354821695112_r8, 0.00015892416190604978_r8, & + 0.00015955756332370656_r8, 0.00016014635133064026_r8, & + 0.00016241734848332047_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,1) / & + 2.9195496241206986e-06_r8, 2.9763797822885212e-06_r8, & + 2.7035637966663771e-06_r8, 4.617887514879529e-06_r8, & + 5.994815457485705e-06_r8, 7.895435046950643e-06_r8, & + 9.0330079009089155e-06_r8, 1.6408903841058637e-05_r8, & + 2.3065204562546688e-05_r8, 2.9121435602664465e-05_r8, & + 3.3105321872400968e-05_r8, 3.7641370629926307e-05_r8, & + 4.3445508638821052e-05_r8, 5.0228108078718021e-05_r8, & + 5.6262329023556709e-05_r8, 6.2853844287476875e-05_r8, & + 7.4906903836156815e-05_r8, 8.7288831824684201e-05_r8, & + 0.00010030940560125577_r8, 0.00011137142305830864_r8, & + 0.00011892112172679205_r8, 0.00012227501851061356_r8, & + 0.00012130598572514153_r8, 0.00011718575215607122_r8, & + 0.0001114242351277311_r8, 0.00010564240008596496_r8, & + 0.00010161062537256597_r8, 9.8255967681159216e-05_r8, & + 0.00010500344573443992_r8, 0.00011505384346134042_r8, & + 0.00012710640644242536_r8, 0.00013984729915721781_r8, & + 0.00015194338348833736_r8, 0.00016166479735171254_r8, & + 0.00016659233953667633_r8, 0.00016883341654333459_r8, & + 0.0001704022826279328_r8, 0.00017172400644552613_r8, & + 0.00017315584161605124_r8, 0.00017409331353024476_r8, & + 0.00017487734851800491_r8, 0.00017486398283624306_r8, & + 0.00017108928624587341_r8, 0.00017080760654976441_r8, 9e90_r8 & + / +data saar_ref(:,20,1) / & + 5.756544473687865e-06_r8, 6.4872026326502025e-06_r8, & + 6.3282515322600899e-06_r8, 7.3985628891446395e-06_r8, & + 9.2777315034131875e-06_r8, 1.0991837691115579e-05_r8, & + 1.3555649963683164e-05_r8, 2.2831854349558017e-05_r8, & + 2.9104071392166875e-05_r8, 3.3243169607939516e-05_r8, & + 3.6334886040417226e-05_r8, 4.0013566631461781e-05_r8, & + 4.5354760873586324e-05_r8, 5.1673508102817217e-05_r8, & + 5.7466980064105136e-05_r8, 6.3783485566712024e-05_r8, & + 7.8015288125274213e-05_r8, 9.2193804841704381e-05_r8, & + 0.00010590298926831632_r8, 0.00011705412292818587_r8, & + 0.0001236162367388682_r8, 0.00012554485427465189_r8, & + 0.00012199579551093412_r8, 0.00011609476448803983_r8, & + 0.00010884151967866873_r8, 0.00010247987419143645_r8, & + 9.8999395779089018e-05_r8, 9.7261947016594703e-05_r8, & + 0.00010592396669377257_r8, 0.00011971268034218624_r8, & + 0.00013337191599291625_r8, 0.00014651124131492992_r8, & + 0.00015812794602194268_r8, 0.00016947807959698347_r8, & + 0.00017787311646710779_r8, 0.00018198249853981706_r8, & + 0.00018443724071404014_r8, 0.00018609247728120499_r8, & + 0.00018615137229423807_r8, 0.00018622696435377346_r8, & + 0.00018668404702190146_r8, 0.00018673902457027553_r8, & + 0.00018566135699038124_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,1) / & + 7.6577062241393523e-06_r8, 9.3665879141149977e-06_r8, & + 9.605074111174673e-06_r8, 1.0448419381192553e-05_r8, & + 1.3518338878194244e-05_r8, 1.6159074736167008e-05_r8, & + 2.1348601729702855e-05_r8, 2.7965171983959911e-05_r8, & + 3.2547240623506497e-05_r8, 3.534777273481827e-05_r8, & + 3.7659588547156011e-05_r8, 4.0626571691775503e-05_r8, & + 4.5802599206580966e-05_r8, 5.3549329697590692e-05_r8, & + 6.1883701118321295e-05_r8, 6.8715626688906019e-05_r8, & + 8.3542512710074152e-05_r8, 9.8631054633886971e-05_r8, & + 0.0001137110288005641_r8, 0.00012426226444433582_r8, & + 0.00012957994177350185_r8, 0.00013061237148241279_r8, & + 0.0001235845003013512_r8, 0.0001145765531631477_r8, & + 0.00010502591952117266_r8, 9.6858327515499096e-05_r8, & + 9.304232852429671e-05_r8, 9.3090981521297783e-05_r8, & + 0.00010438621258739991_r8, 0.00012265025555688574_r8, & + 0.00013945459785388552_r8, 0.00015346435889511978_r8, & + 0.00016526926408359804_r8, 0.00017518789962053721_r8, & + 0.00018382038021706691_r8, 0.00018997573134712408_r8, & + 0.00019451844210766569_r8, 0.00019798442223792456_r8, & + 0.00019932644117605773_r8, 0.00019399554180813661_r8, & + 0.00019916052192768909_r8, 0.00020135676755087524_r8, & + 0.00020180223051761336_r8, 0.00020207448427904075_r8, 9e90_r8 & + / +data saar_ref(:,22,1) / & + 9.7237802219015024e-06_r8, 1.1159408330702712e-05_r8, & + 1.0929091483050412e-05_r8, 1.3312878536430555e-05_r8, & + 1.7073813385460799e-05_r8, 2.0180732343380867e-05_r8, & + 2.4627922050870524e-05_r8, 2.9738455173051921e-05_r8, & + 3.2447506395203876e-05_r8, 3.4820397176410422e-05_r8, & + 3.7106697342419459e-05_r8, 3.9575323926732964e-05_r8, & + 4.722963668611267e-05_r8, 5.892942444163538e-05_r8, & + 6.7913075267824564e-05_r8, 7.5225974868045595e-05_r8, & + 9.0936950712403603e-05_r8, 0.00010493542543848336_r8, & + 0.00012002318617018783_r8, 0.00012952474644830044_r8, & + 0.0001339281583537961_r8, 0.00013362135275180598_r8, & + 0.00012424752666042501_r8, 0.00011275284079335164_r8, & + 0.00010193406069556978_r8, 9.2513627863057579e-05_r8, & + 8.7143724463396136e-05_r8, 8.7849624898468141e-05_r8, & + 0.00010029698961260194_r8, 0.00012115763181935731_r8, & + 0.00014195887757717122_r8, 0.00015780631802047541_r8, & + 0.00017075540487902731_r8, 0.00018037064845322984_r8, & + 0.00018828557491636322_r8, 0.00019435654017043062_r8, & + 0.00020079859968075628_r8, 0.00020850644899549436_r8, & + 0.00021740952984872791_r8, 0.00022489101790070017_r8, & + 0.00023257791297622357_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,1) / & + 2.3124668261540025e-05_r8, 2.1289306687372864e-05_r8, & + 1.9380140345185235e-05_r8, 1.6178733230191475e-05_r8, & + 1.9239971508914487e-05_r8, 2.5780468830931966e-05_r8, & + 2.6275727932525281e-05_r8, 3.4434402959320319e-05_r8, & + 3.6745890095844728e-05_r8, 3.9205378549485454e-05_r8, & + 4.1450137892112914e-05_r8, 4.339582859052625e-05_r8, & + 5.3366403329886379e-05_r8, 6.5444282878983915e-05_r8, & + 7.3620068457820674e-05_r8, 8.2513493931406261e-05_r8, & + 9.9615705155935963e-05_r8, 0.00011304722262172542_r8, & + 0.00012817170226266729_r8, 0.0001386122275334135_r8, & + 0.00014161444453061322_r8, 0.00014071085196290083_r8, & + 0.00013083135058946708_r8, 0.00012025041632336734_r8, & + 0.00011017898416405711_r8, 0.00010152460798712284_r8, & + 9.6851370710086094e-05_r8, 9.4953043249580441e-05_r8, & + 0.00010601356490978417_r8, 0.00012764689129499276_r8, & + 0.0001492614982399934_r8, 0.00016646408021674992_r8, & + 0.00018089513033670964_r8, 0.00019127073958782545_r8, & + 0.00020029818593130121_r8, 0.00020956013509989749_r8, & + 0.00021814510824449081_r8, 0.00022813988377201068_r8, & + 0.00024185520269769548_r8, 0.00024576124964421155_r8, & + 0.00025133313116316335_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,1) / & + 3.3833250650293557e-05_r8, 2.9290432201476328e-05_r8, & + 2.661824236133257e-05_r8, 1.7389640373543356e-05_r8, & + 2.0306654150442065e-05_r8, 2.9319275988624036e-05_r8, & + 2.6551195162283195e-05_r8, 4.0176816469223173e-05_r8, & + 4.1394142165180599e-05_r8, 4.4025410896285353e-05_r8, & + 4.6855574107946212e-05_r8, 4.7958609820466596e-05_r8, & + 5.7394032200679792e-05_r8, 6.8724341807042185e-05_r8, & + 7.7937040619871259e-05_r8, 8.8203189023396554e-05_r8, & + 0.0001060975266288676_r8, 0.00012057907819271723_r8, & + 0.00013659428352301241_r8, 0.00014819152803045206_r8, & + 0.00015062259645738313_r8, 0.0001490397887155346_r8, & + 0.00013894514812741977_r8, 0.00012906331022907161_r8, & + 0.00011873820948307208_r8, 0.00010973678932901234_r8, & + 0.00010522838516009475_r8, 0.00010354223754251527_r8, & + 0.00011522603985676444_r8, 0.00013779992316994096_r8, & + 0.00016004172524432711_r8, 0.00017844641774151021_r8, & + 0.00019366862131858938_r8, 0.00020528572040457289_r8, & + 0.00021485222615096319_r8, 0.00022549403308681464_r8, & + 0.00023558960785095124_r8, 0.00024640089121926687_r8, & + 0.00026065748433800749_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,1) / & + 0.00012657585787345798_r8, 0.00013410866996350798_r8, & + 6.3012274668428056e-05_r8, 1.2201431747273187e-05_r8, & + 1.4754024819141532e-05_r8, 1.6431675076605913e-05_r8, & + 2.1257546308914976e-05_r8, 2.7227267310804126e-05_r8, & + 3.8621470632456998e-05_r8, 6.0048766376130097e-05_r8, & + 6.4202673371716723e-05_r8, 2.8976067603474473e-05_r8, & + 3.0581879934450002e-05_r8, 3.4043940198819589e-05_r8, & + 3.7402678437772628e-05_r8, 4.0123051090549714e-05_r8, & + 4.4454245040488488e-05_r8, 5.167245813981702e-05_r8, & + 5.3413680862509627e-05_r8, 5.4676000458340386e-05_r8, & + 5.4094386354700031e-05_r8, 5.2805260941058441e-05_r8, & + 4.8669820999979119e-05_r8, 5.2522997852978058e-05_r8, & + 4.8582482112758214e-05_r8, 5.0454942872851886e-05_r8, & + 4.7381702065698823e-05_r8, 3.3313495652422606e-05_r8, & + 3.5606923797090925e-05_r8, 3.1650565997060347e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,1) / & + 0.00014054467362306175_r8, 0.00015145327221550569_r8, & + 0.00010107536016948049_r8, 1.3017353426096585e-05_r8, & + 1.7453231391740015e-05_r8, 2.176417086198655e-05_r8, & + 1.9039272363539825e-05_r8, 3.7956748927986962e-05_r8, & + 8.2825363500869793e-05_r8, 8.7762409211588556e-05_r8, & + 8.9937590973166796e-05_r8, 3.7630120268890852e-05_r8, & + 3.0964509668556061e-05_r8, 3.4660916071545318e-05_r8, & + 3.7600781547574643e-05_r8, 4.0476885532679225e-05_r8, & + 4.5139672087997779e-05_r8, 5.0260442737997241e-05_r8, & + 5.0043707434969337e-05_r8, 4.9430240071393496e-05_r8, & + 5.061345252589732e-05_r8, 5.1934042738296681e-05_r8, & + 4.9710755711744772e-05_r8, 4.9628148938035048e-05_r8, & + 4.6677254149724046e-05_r8, 4.811995917639754e-05_r8, & + 4.7031546386893199e-05_r8, 4.3016072958210372e-05_r8, & + 4.3452083222528773e-05_r8, 4.4862790540017629e-05_r8, & + 4.3059308035781712e-05_r8, 2.9115423796070169e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,1) / & + 0.0001233562663570069_r8, 0.00013126706394706448_r8, & + 0.00011548831804961184_r8, 2.3259320809829902e-05_r8, & + 4.1908947003379048e-05_r8, 6.3107238271130898e-05_r8, & + 2.7889997099873283e-05_r8, 0.00010284618882854049_r8, & + 0.00013189782610847087_r8, 0.00011828590901977778_r8, & + 0.00010844910014466761_r8, 3.3050053518476404e-05_r8, & + 3.3494879300390598e-05_r8, 3.5865394804992331e-05_r8, & + 3.8412491043635594e-05_r8, 4.0399606424090635e-05_r8, & + 4.4735985242969882e-05_r8, 4.9516584618543793e-05_r8, & + 4.950996209971785e-05_r8, 4.9938391703730969e-05_r8, & + 5.8432430044172607e-05_r8, 5.6182678105687228e-05_r8, & + 5.3815230418952472e-05_r8, 5.3692032049459813e-05_r8, & + 4.9131875709980558e-05_r8, 4.3367693252396664e-05_r8, & + 3.3949884823854075e-05_r8, 4.0358344473978167e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,1) / & + 4.7694397479536717e-06_r8, 5.8671172357695405e-06_r8, & + 6.7151466045651306e-06_r8, 8.7066865740212849e-06_r8, & + 1.0421859816709089e-05_r8, 1.2161548846101702e-05_r8, & + 1.6337040833192821e-05_r8, 2.0935578749484232e-05_r8, & + 2.2483007982429813e-05_r8, 2.4369221718938067e-05_r8, & + 2.5588660570912788e-05_r8, 2.5170573015346189e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,1) / & + 2.2721321597108388e-05_r8, 2.2691993193783862e-05_r8, & + 2.1960878607417438e-05_r8, 2.5967651332053793e-05_r8, & + 2.607048476047751e-05_r8, 1.3743005833714109e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,1) / & + 1.6449319953521137e-05_r8, 1.5809159680656038e-05_r8, & + 1.4929475481532469e-05_r8, 3.8034343062595484e-05_r8, & + 3.0459353431700482e-05_r8, 2.4562184386325767e-05_r8, & + 2.6412782112438019e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,37,1) / & + 1.8273983525067259e-05_r8, 1.8395238385651757e-05_r8, & + 1.7641657326011004e-05_r8, 2.4792730861695646e-05_r8, & + 2.5433642920600183e-05_r8, 2.6421486689171657e-05_r8, & + 3.3223192578886842e-05_r8, 3.41301193638874e-05_r8, & + 3.3023352446411972e-05_r8, 3.3606191334832773e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,1) / & + 2.2429528854993891e-05_r8, 2.3987198452151023e-05_r8, & + 2.5149932193217741e-05_r8, 3.5395923654449077e-05_r8, & + 3.8768236110455398e-05_r8, 4.1331072754562914e-05_r8, & + 4.6319188341534346e-05_r8, 4.7313476989364611e-05_r8, & + 4.910314956134672e-05_r8, 4.9943108078545306e-05_r8, & + 5.0993678587366445e-05_r8, 5.2347529618749835e-05_r8, & + 5.5150469684165705e-05_r8, 5.6576683818937125e-05_r8, & + 5.8741793998647272e-05_r8, 6.0485211061409067e-05_r8, & + 6.5672433116197588e-05_r8, 7.1994895300439473e-05_r8, & + 7.8142340324297387e-05_r8, 8.3426124320157288e-05_r8, & + 8.7585582961850446e-05_r8, 9.0138096131846051e-05_r8, & + 9.238490440856097e-05_r8, 9.4595345389718519e-05_r8, & + 9.728398432621118e-05_r8, 0.00010061918858442169_r8, & + 0.00010339178520360912_r8, 0.00010742509432152674_r8, & + 0.00011159180081375546_r8, 0.00010737179682501275_r8, & + 0.00010803627142243857_r8, 0.00010831320059949674_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,1) / & + 2.7868041536259171e-05_r8, 2.9313435355860864e-05_r8, & + 3.0609905803071856e-05_r8, 4.3691513118882757e-05_r8, & + 4.8066917412082727e-05_r8, 5.0611211322692073e-05_r8, & + 5.4177597222029819e-05_r8, 5.4080592919125863e-05_r8, & + 5.4151515991243396e-05_r8, 5.3416328916376989e-05_r8, & + 5.3592956116406498e-05_r8, 5.4269311237013238e-05_r8, & + 5.7040674381620022e-05_r8, 5.8227384228498692e-05_r8, & + 5.9341968437830092e-05_r8, 6.0609017459114878e-05_r8, & + 6.442636292041339e-05_r8, 6.9536730726940497e-05_r8, & + 7.4244671160245316e-05_r8, 8.0138017570899187e-05_r8, & + 8.3642451339114543e-05_r8, 8.749615219851901e-05_r8, & + 9.0052358711277449e-05_r8, 9.3575987228353399e-05_r8, & + 9.6302453801421327e-05_r8, 9.9860061747150588e-05_r8, & + 0.0001028674313122925_r8, 0.00010733514953069639_r8, & + 0.00011258262418246497_r8, 0.00011144749890117605_r8, & + 0.00011224907610815262_r8, 0.00011324219421280919_r8, & + 0.00011189634697974081_r8, 0.0001132465531778314_r8, & + 9.0888582155272964e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,1) / & + 3.7666790878956585e-05_r8, 3.7990831453697735e-05_r8, & + 3.788149112359392e-05_r8, 4.3809800211679614e-05_r8, & + 4.60713087980304e-05_r8, 4.8292436046848244e-05_r8, & + 5.2884937091389346e-05_r8, 5.3167439654780404e-05_r8, & + 5.3577842577906899e-05_r8, 5.3865003746481464e-05_r8, & + 5.4259342369482072e-05_r8, 5.5123635979230095e-05_r8, & + 5.6641187330689679e-05_r8, 5.7050458298056912e-05_r8, & + 5.7693040401376829e-05_r8, 5.8297199890298637e-05_r8, & + 6.0440681633940763e-05_r8, 6.3785413809115907e-05_r8, & + 6.7692193763040079e-05_r8, 7.2770929134488677e-05_r8, & + 7.684080138295189e-05_r8, 8.2146404114130975e-05_r8, & + 8.5412829861167863e-05_r8, 8.9319990822484731e-05_r8, & + 9.1961543451468772e-05_r8, 9.4824845825887275e-05_r8, & + 9.7850654722300782e-05_r8, 0.00010284205099251646_r8, & + 0.00010683475507794497_r8, 0.00010917519676502319_r8, & + 0.00011152769269090654_r8, 0.00011352079759857434_r8, & + 0.0001168479734167943_r8, 0.00011390342207707584_r8, & + 9.3558537074319277e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,1) / & + 4.7804945424911506e-05_r8, 4.8084346939658842e-05_r8, & + 4.7593926003083582e-05_r8, 4.9014835889124731e-05_r8, & + 5.0139181835903325e-05_r8, 5.1189636394990742e-05_r8, & + 5.6409583770823851e-05_r8, 5.7805209767320762e-05_r8, & + 5.903280202160159e-05_r8, 6.0127826296068578e-05_r8, & + 6.0913082626242509e-05_r8, 6.1687049961086355e-05_r8, & + 6.307742251906587e-05_r8, 6.4661132518964901e-05_r8, & + 6.5846316756550141e-05_r8, 6.743931618685143e-05_r8, & + 7.1236427544315889e-05_r8, 7.3686869773559354e-05_r8, & + 7.7178933227602955e-05_r8, 8.0297660847915772e-05_r8, & + 8.4380422414656708e-05_r8, 8.8579148587659287e-05_r8, & + 9.093324919811015e-05_r8, 9.3393407541595067e-05_r8, & + 9.542600903981484e-05_r8, 9.7101762147624678e-05_r8, & + 9.8695900567815514e-05_r8, 0.0001012097496740821_r8, & + 0.00010196918805101085_r8, 0.00010172261532496951_r8, & + 0.00010125227716636267_r8, 0.00010091956049681873_r8, & + 0.00010055700375645651_r8, 0.00010052290708171421_r8, & + 0.0001003995130346492_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,1) / & + 5.5072723118163802e-05_r8, 5.6322508610940115e-05_r8, & + 5.712489516244515e-05_r8, 6.3469701138708099e-05_r8, & + 6.3883383699890882e-05_r8, 6.4465828899475141e-05_r8, & + 6.6770583992839085e-05_r8, 6.2662206951331103e-05_r8, & + 6.0702237527019344e-05_r8, 6.0295389473776836e-05_r8, & + 6.0197889400253213e-05_r8, 6.0084477617382421e-05_r8, & + 6.0352491078325561e-05_r8, 6.1731515595722593e-05_r8, & + 6.2881652112736338e-05_r8, 6.4476920894379454e-05_r8, & + 6.7887041294011012e-05_r8, 7.1027862351529468e-05_r8, & + 7.5321255637765777e-05_r8, 7.9789466320227879e-05_r8, & + 8.4519708242432036e-05_r8, 8.8958229036591245e-05_r8, & + 9.1733556935254612e-05_r8, 9.4599353569324704e-05_r8, & + 9.7146892240258383e-05_r8, 9.9137913649138574e-05_r8, & + 0.00010121427028364617_r8, 0.00010533352422896703_r8, & + 0.00010760115521105946_r8, 0.00010824447687702631_r8, & + 0.00010794273396152432_r8, 0.00010748057159005198_r8, & + 0.00010632908126572962_r8, 0.00010347452854141242_r8, & + 0.00010362241648824175_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,1) / & + 6.725839222986435e-05_r8, 7.3374082459496594e-05_r8, & + 7.2011537391505805e-05_r8, 9.5039855580129906e-05_r8, & + 9.2959019821918062e-05_r8, 9.4380770138160304e-05_r8, & + 9.0962440220396527e-05_r8, 8.1638659347796244e-05_r8, & + 7.0477214711329807e-05_r8, 6.8103383965065927e-05_r8, & + 6.6745205517417807e-05_r8, 6.5884785718367493e-05_r8, & + 6.5972568824215552e-05_r8, 6.706786110666167e-05_r8, & + 6.8008836641407551e-05_r8, 6.8678766005151381e-05_r8, & + 7.0412212880358336e-05_r8, 7.3296233348436491e-05_r8, & + 7.6131395033678586e-05_r8, 8.0016584340728529e-05_r8, & + 8.427911248637816e-05_r8, 8.6807852883074546e-05_r8, & + 8.9805049553872004e-05_r8, 9.3809894096966138e-05_r8, & + 9.7542353963878751e-05_r8, 0.00010053701321312702_r8, & + 0.00010362247631726575_r8, 0.00010863662130665861_r8, & + 0.00011131761828349404_r8, 0.00011375852731231273_r8, & + 0.00011496392199475829_r8, 0.00011647865638727906_r8, & + 0.00011778378946811578_r8, 0.00011846746298837218_r8, & + 0.00011932618062497654_r8, 0.00011765055104202554_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,1) / & + 8.5980225072271286e-05_r8, 9.6682800805510357e-05_r8, & + 9.1879136830187147e-05_r8, 0.00012739515448507082_r8, & + 0.00012540130465580986_r8, 0.00012490171909708333_r8, & + 0.00011431015573870479_r8, 9.6532500204206251e-05_r8, & + 7.2805237604402304e-05_r8, 7.0761189831226797e-05_r8, & + 7.0194897884266801e-05_r8, 6.9763010437328101e-05_r8, & + 6.9872926818022337e-05_r8, 7.1912780989583794e-05_r8, & + 7.1843149345132028e-05_r8, 7.2363346178971785e-05_r8, & + 7.0594557767591169e-05_r8, 7.373925456936737e-05_r8, & + 7.5832461192232653e-05_r8, 7.8762921343258674e-05_r8, & + 8.2512147005384345e-05_r8, 8.3402353762734979e-05_r8, & + 8.7678632313688507e-05_r8, 9.258189599252685e-05_r8, & + 9.5854862748364917e-05_r8, 9.9426384211665365e-05_r8, & + 0.00010246858192577621_r8, 0.00011114720307834847_r8, & + 0.00011370779260552799_r8, 0.00011605651680944701_r8, & + 0.00011678900284271273_r8, 0.00011862028927477117_r8, & + 0.00012012762264837886_r8, 0.00012070904017404627_r8, & + 0.00012165459229773867_r8, 0.00012107981445632837_r8, & + 0.00012117531583417292_r8, 0.00012111821521602666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,1) / & + 8.8212600198446677e-05_r8, 0.00010879059736747654_r8, & + 0.00010599623830845295_r8, 0.00013347694652016709_r8, & + 0.00013625965784562762_r8, 0.00013697957643092208_r8, & + 0.00012375632440932499_r8, 8.7086429601365765e-05_r8, & + 7.1342904324498961e-05_r8, 7.1630954502106467e-05_r8, & + 7.084850583226088e-05_r8, 7.0100235113106416e-05_r8, & + 6.7896372796955634e-05_r8, 6.9812112095986642e-05_r8, & + 7.0403727241922102e-05_r8, 7.1786900230950054e-05_r8, & + 7.1394497405435282e-05_r8, 7.2920606539245139e-05_r8, & + 7.5238856369558071e-05_r8, 7.8312301891496968e-05_r8, & + 8.1952555988673074e-05_r8, 8.4975361518162823e-05_r8, & + 8.9192808361543768e-05_r8, 9.3756774006167984e-05_r8, & + 9.832566459813971e-05_r8, 0.00010260653252675301_r8, & + 0.00010783230585944459_r8, 0.00011771091823645666_r8, & + 0.00011855158313254703_r8, 0.00011887277294248628_r8, & + 0.00011950866223566192_r8, 0.0001205543623834332_r8, & + 0.00012152901735944694_r8, 0.00012169476986137825_r8, & + 0.00012219563316270645_r8, 0.00012252575968108061_r8, & + 0.00012431560690902746_r8, 0.00012446964232803979_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,2) / & + 0.00013893120598794137_r8, 0.00013584054304382749_r8, & + 0.00012952222460444433_r8, 0.00012933893872818292_r8, & + 0.00013111149779113738_r8, 0.00013725520943149922_r8, & + 0.00014586988885416827_r8, 0.00015416999207984504_r8, & + 0.00016308674712552977_r8, 0.0001704041134161779_r8, & + 0.00017614574904808674_r8, 0.00018680590552094803_r8, & + 0.00019971034357998591_r8, 0.00020788981613320385_r8, & + 0.00021431092209716013_r8, 0.00021766100257291244_r8, & + 0.00022295454837927816_r8, 0.00023091594069167602_r8, & + 0.00023477292079942009_r8, 0.00023915920058946552_r8, & + 0.00024353197003897304_r8, 0.00024967402519255314_r8, & + 0.00025217387610716898_r8, 0.00025462556841521807_r8, & + 0.00025630921425168164_r8, 0.00025862600438459964_r8, & + 0.00025958783092039708_r8, 0.00026107505735376328_r8, & + 0.00026300488584811416_r8, 0.00026353497068690168_r8, & + 0.0002639403552306421_r8, 0.00026422097343185548_r8, & + 0.0002630367062117826_r8, 0.00026286155364864665_r8, & + 0.00026405644242914831_r8, 0.00026477284755578779_r8, & + 0.00026596687880162573_r8, 0.00026719508011445182_r8, & + 0.00026558627672628913_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,2) / & + 0.00012049015783995161_r8, 0.00010790528075645361_r8, & + 0.00011636879928990016_r8, 0.00012854034645110745_r8, & + 0.00013302412125101474_r8, 0.00013883770000887343_r8, & + 0.00015412726271429256_r8, 0.00016516071127296118_r8, & + 0.00018011022748939295_r8, 0.00019270723392785134_r8, & + 0.00020077742756352397_r8, 0.00020836008836324572_r8, & + 0.00021618652686763721_r8, 0.00022133558827079421_r8, & + 0.0002254076226411888_r8, 0.00022866021375912005_r8, & + 0.00023411201200383827_r8, 0.00023903312079248651_r8, & + 0.00024414402077643045_r8, 0.0002488409431671176_r8, & + 0.00025298417035392394_r8, 0.00025669147957961525_r8, & + 0.0002591150755332367_r8, 0.00026086321913951964_r8, & + 0.00026201258516020301_r8, 0.00026333499362398544_r8, & + 0.00026392334954304886_r8, 0.00026464563674808203_r8, & + 0.00026623393461472464_r8, 0.00026681160858371466_r8, & + 0.00026659106606955542_r8, 0.00026636168992261042_r8, & + 0.00026542118189926519_r8, 0.00026449964787838518_r8, & + 0.00026493509143982549_r8, 0.00026524599249677818_r8, & + 0.00026619613203639062_r8, 0.00026731017977250503_r8, & + 0.00026535304856601793_r8, 0.000257070193715856_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,2) / & + 0.00010061360506869671_r8, 8.5401809984639247e-05_r8, & + 0.00011691432019242963_r8, 0.00012982063280090006_r8, & + 0.00013327339969471859_r8, 0.00013952364862576688_r8, & + 0.00015157752887582927_r8, 0.00016280708464561224_r8, & + 0.00018122766039891722_r8, 0.00020126807847092957_r8, & + 0.00021471458788811971_r8, 0.00022406409820773746_r8, & + 0.00023578797438669771_r8, 0.00024351382770714688_r8, & + 0.00024743805446775675_r8, 0.00025064507352533325_r8, & + 0.00025405172625064983_r8, 0.0002576692937409249_r8, & + 0.00026120242232851367_r8, 0.00026375526681250992_r8, & + 0.00026503564175523381_r8, 0.00026618846144213065_r8, & + 0.00026743774951561757_r8, 0.00026774934280044083_r8, & + 0.00026818731227663773_r8, 0.00026850751001832615_r8, & + 0.0002688566925123504_r8, 0.00026852955418014285_r8, & + 0.00026829079765672205_r8, 0.00026771878034401061_r8, & + 0.00026693558749879499_r8, 0.00026632381549583005_r8, & + 0.00026525420935565199_r8, 0.00026374932368925896_r8, & + 0.00026273794035946166_r8, 0.00026108514908341308_r8, & + 0.00025843543709399555_r8, 0.00025448284041708797_r8, & + 0.00025256797629840078_r8, 0.00025126882218650846_r8, & + 0.00025030721619555485_r8, 0.00024914198484615767_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,2) / & + 0.00010838489116214042_r8, 9.9764879964501306e-05_r8, & + 0.00012489054854382942_r8, 0.00012754212509540633_r8, & + 0.00012852189733352198_r8, 0.00013348037474134782_r8, & + 0.00014808330418800389_r8, 0.00015918965733180074_r8, & + 0.0001760111596388053_r8, 0.00019285854036348729_r8, & + 0.00020422617020187699_r8, 0.00021585643071213653_r8, & + 0.00022830671298757838_r8, 0.00023543331590242746_r8, & + 0.00023905880478752666_r8, 0.00024282252148080021_r8, & + 0.00024673587396353163_r8, 0.00025143372857063299_r8, & + 0.00025393482020091092_r8, 0.00025600075981463513_r8, & + 0.00025811962743962566_r8, 0.00025982803586724475_r8, & + 0.00026171603883682704_r8, 0.00026274036160385663_r8, & + 0.00026375315311980826_r8, 0.00026498486826617734_r8, & + 0.00026548193017130383_r8, 0.00026562123307521712_r8, & + 0.00026601374931108557_r8, 0.0002661246166994264_r8, & + 0.00026571470756114911_r8, 0.00026515511741028168_r8, & + 0.00026409047458118216_r8, 0.00026239635692051156_r8, & + 0.00026042641049640425_r8, 0.00025823080257735047_r8, & + 0.00025495123288136519_r8, 0.00025189106877136986_r8, & + 0.00024966800321616321_r8, 0.00024921145345417037_r8, & + 0.00024892550697824372_r8, 0.00024835219923343874_r8, & + 0.00024816739755410643_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,2) / & + 0.00010343276246535887_r8, 0.00010120692126687787_r8, & + 0.0001034414216745752_r8, 9.733916163699262e-05_r8, & + 9.7004099603080959e-05_r8, 9.9334294656280503e-05_r8, & + 0.00010329317431107279_r8, 0.00011413114546282212_r8, & + 0.00012724138448379216_r8, 0.00014047564595797812_r8, & + 0.00015149258660885698_r8, 0.00016178945053787114_r8, & + 0.00017333821161531339_r8, 0.00018249638181254863_r8, & + 0.00018834215232346044_r8, 0.00019314024861562812_r8, & + 0.00019923149880761689_r8, 0.00020470207628764479_r8, & + 0.00020767080122944512_r8, 0.00021029171374440408_r8, & + 0.00021460369361316618_r8, 0.00021859627301776637_r8, & + 0.00022431017785830444_r8, 0.00022853727290704173_r8, & + 0.00023220482374606977_r8, 0.00023719807694591274_r8, & + 0.00024061288706327008_r8, 0.00024835981701048517_r8, & + 0.00025423255338029012_r8, 0.00025807639588850887_r8, & + 0.00026088852409502939_r8, 0.00026267471953500977_r8, & + 0.00026422969541165967_r8, 0.00026410503267336065_r8, & + 0.00026411384976823138_r8, 0.00026372720396271917_r8, & + 0.0002556649988700069_r8, 0.00025299463001597047_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,2) / & + 5.6619965304903707e-05_r8, 5.5947485620769215e-05_r8, & + 4.6993430646174403e-05_r8, 2.7619358930144549e-05_r8, & + 2.7352068101009558e-05_r8, 2.7737548621293234e-05_r8, & + 2.590611518548814e-05_r8, 3.041249750992993e-05_r8, & + 3.9444503419862502e-05_r8, 5.1332042765513748e-05_r8, & + 6.2914063622764312e-05_r8, 7.161259443488618e-05_r8, & + 8.3855490849127297e-05_r8, 9.669523800284807e-05_r8, & + 0.00010546090566051068_r8, 0.00011372996400586741_r8, & + 0.00012773298867206287_r8, 0.00013872127975792694_r8, & + 0.00014736769654304389_r8, 0.00015427126807175442_r8, & + 0.00015856893652005637_r8, 0.00016183154868698187_r8, & + 0.00016439635705258322_r8, 0.00016588758615855307_r8, & + 0.00016741055579132965_r8, 0.000169423182558339_r8, & + 0.00017198783817635145_r8, 0.00018121963625787737_r8, & + 0.00019483694771946913_r8, 0.0002066878385222805_r8, & + 0.00022114745835526356_r8, 0.00023354067374568659_r8, & + 0.00024152318520718289_r8, 0.00024660573534025207_r8, & + 0.00025028747654403928_r8, 0.00025330665809561567_r8, & + 0.00025178075697462486_r8, 0.00025145237073071603_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,2) / & + 1.657224188653777e-05_r8, 1.6065376674330849e-05_r8, & + 1.0828160839912276e-05_r8, 7.8921035747646199e-06_r8, & + 8.0017215196355184e-06_r8, 8.2038155064248686e-06_r8, & + 8.0716324701173397e-06_r8, 9.3375509883743232e-06_r8, & + 1.2404854063551406e-05_r8, 1.5833140786923619e-05_r8, & + 1.9375548164951141e-05_r8, 2.2685818139159481e-05_r8, & + 2.8754791727720435e-05_r8, 3.492156300835436e-05_r8, & + 4.0589924718103536e-05_r8, 4.6813318166004218e-05_r8, & + 5.9235206925828995e-05_r8, 7.184866231015997e-05_r8, & + 8.5747511091117904e-05_r8, 0.00010020882278208847_r8, & + 0.00011171377634578462_r8, 0.00012146462247486199_r8, & + 0.00012896368580419697_r8, 0.00013457897712990764_r8, & + 0.00013830020407748568_r8, 0.00014100054463435496_r8, & + 0.00014242466933258403_r8, 0.00014409939681427964_r8, & + 0.00014757041977398887_r8, 0.00015345655064085052_r8, & + 0.0001646551237742673_r8, 0.00017889370135991476_r8, & + 0.00019426944219273602_r8, 0.00020912835572639267_r8, & + 0.00022200426046184516_r8, 0.00023246350138946868_r8, & + 0.00024034793695760481_r8, 0.00024390646909009712_r8, & + 0.0002446782610910732_r8, 0.00024889067949412171_r8, & + 0.00025202737289475987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,2) / & + 6.5687707579907442e-06_r8, 6.0281702500742124e-06_r8, & + 5.0683077561343335e-06_r8, 4.8508610476370131e-06_r8, & + 5.2178505864705647e-06_r8, 5.2676936252336969e-06_r8, & + 5.4411764489865628e-06_r8, 5.7074168197403626e-06_r8, & + 6.4811710655895716e-06_r8, 7.3325938951926935e-06_r8, & + 8.5178674351482146e-06_r8, 9.8959067045771599e-06_r8, & + 1.2897897431941994e-05_r8, 1.6269257577867224e-05_r8, & + 2.0054540438820521e-05_r8, 2.3906733898044513e-05_r8, & + 3.185055520394122e-05_r8, 4.0706464047404418e-05_r8, & + 5.1250573628458941e-05_r8, 6.3225535905604133e-05_r8, & + 7.638192982632962e-05_r8, 8.9849718637889702e-05_r8, & + 0.00010350919491747719_r8, 0.00011568098024779634_r8, & + 0.00012481569137391473_r8, 0.00013231648922849154_r8, & + 0.00013731379064852985_r8, 0.00013957766847340054_r8, & + 0.00013600277531199614_r8, 0.00013352088106439311_r8, & + 0.00013558266788726083_r8, 0.00014066201920203387_r8, & + 0.00014837419383763968_r8, 0.00016086158032734108_r8, & + 0.0001775808846819761_r8, 0.00019765465308204519_r8, & + 0.00021525367866046243_r8, 0.00022411324439998074_r8, & + 0.00022971297939953302_r8, 0.00022618978672507445_r8, & + 0.00022778096569059196_r8, 0.00022889087148002601_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,2) / & + 5.0921317715327042e-06_r8, 4.5522947291134273e-06_r8, & + 3.6335986097702051e-06_r8, 3.8008746697969824e-06_r8, & + 4.2482819434099638e-06_r8, 4.3899801898194429e-06_r8, & + 5.576074271868209e-06_r8, 5.174235964562844e-06_r8, & + 5.2741293714843546e-06_r8, 5.5818803950521959e-06_r8, & + 6.1074805919395509e-06_r8, 6.956962262658747e-06_r8, & + 8.3012515463957607e-06_r8, 9.9805560335330453e-06_r8, & + 1.2357042517874123e-05_r8, 1.5337043077210434e-05_r8, & + 2.3436198914287704e-05_r8, 3.208673387760823e-05_r8, & + 4.132967569935811e-05_r8, 5.3149159779559126e-05_r8, & + 6.5587733871614513e-05_r8, 7.8210057713188204e-05_r8, & + 9.373883815435941e-05_r8, 0.00010900195624217076_r8, & + 0.00011988024141209482_r8, 0.00012819381575774599_r8, & + 0.00013492982975077844_r8, 0.00013619151580125219_r8, & + 0.00012980682658243566_r8, 0.00012371611695956644_r8, & + 0.00012335834536677357_r8, 0.00012587115981539768_r8, & + 0.00012921243701547537_r8, 0.00013709286007293373_r8, & + 0.00015042007216539647_r8, 0.00017657924403284634_r8, & + 0.00020171079867752718_r8, 0.00021325887713271796_r8, & + 0.00022025064697137192_r8, 0.00022271281810078155_r8, & + 0.00022399591268383733_r8, 0.00022910731644836958_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,2) / & + 4.8693836978803535e-06_r8, 4.4250027925578279e-06_r8, & + 3.2842497931965937e-06_r8, 4.0453254910370275e-06_r8, & + 4.0960829004491255e-06_r8, 4.5226311029357225e-06_r8, & + 5.7253715280334124e-06_r8, 5.9392259586758554e-06_r8, & + 5.7774968405734554e-06_r8, 5.6263090000653921e-06_r8, & + 5.7840218106684785e-06_r8, 5.998000912230254e-06_r8, & + 7.1013670473851043e-06_r8, 7.7855452378759743e-06_r8, & + 9.0940459321159138e-06_r8, 1.0872876951876712e-05_r8, & + 1.8251849182858527e-05_r8, 2.7656225736674234e-05_r8, & + 3.7490534549342143e-05_r8, 4.9460437652083869e-05_r8, & + 6.323990656644417e-05_r8, 7.642027511822134e-05_r8, & + 9.3086090016473302e-05_r8, 0.00010698834379384394_r8, & + 0.00011689346950595746_r8, 0.00012366208371812179_r8, & + 0.00012884485975548512_r8, 0.00012602546654969806_r8, & + 0.00011876621904770183_r8, 0.00011608106713326068_r8, & + 0.00011743340651599183_r8, 0.00011995163702418643_r8, & + 0.00012293509634214131_r8, 0.00012708797967619215_r8, & + 0.00013625570798529021_r8, 0.00016145147070757576_r8, & + 0.00019185119702594262_r8, 0.00020926369692041841_r8, & + 0.0002195636000831386_r8, 0.00022297382051626204_r8, & + 0.0002245600226494014_r8, 0.00022765262180940543_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,2) / & + 4.9081075842824847e-06_r8, 4.741031931294664e-06_r8, & + 3.9006318852959608e-06_r8, 4.1588418681974152e-06_r8, & + 4.271637250115244e-06_r8, 4.8962498421717054e-06_r8, & + 4.9770803337071123e-06_r8, 5.8831831218738542e-06_r8, & + 6.403840445517159e-06_r8, 6.4893308678218482e-06_r8, & + 6.762906982402451e-06_r8, 7.221225664717959e-06_r8, & + 8.5631708138768361e-06_r8, 1.0084013141831213e-05_r8, & + 1.2186987185241835e-05_r8, 1.5110812230381753e-05_r8, & + 2.4141090850875964e-05_r8, 3.4467372557134164e-05_r8, & + 4.5607118440697143e-05_r8, 6.0504345089183502e-05_r8, & + 7.6639665845774021e-05_r8, 9.1287280874306772e-05_r8, & + 0.00010204154546257445_r8, 0.00010964047529840899_r8, & + 0.00011387986585884098_r8, 0.0001154135471646831_r8, & + 0.00011408535157005668_r8, 0.00010616925446445574_r8, & + 0.00010270560876976095_r8, 0.00010480953675156703_r8, & + 0.00010948208592711089_r8, 0.00011394052381317031_r8, & + 0.00011750329973346239_r8, 0.0001210168120837263_r8, & + 0.00012852728842050284_r8, 0.00014802545258052452_r8, & + 0.0001792041757618354_r8, 0.00020067873115235893_r8, & + 0.0002165059122228585_r8, 0.00022182661051797068_r8, & + 0.00022500904402489725_r8, 0.0002176416098566952_r8, & + 0.00021667503889099971_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,2) / & + 4.8917166946121743e-06_r8, 4.9569203681190913e-06_r8, & + 4.270899481892451e-06_r8, 5.4319148743597891e-06_r8, & + 5.5263376129479607e-06_r8, 6.6455295539538575e-06_r8, & + 5.5986252241967421e-06_r8, 6.873571632302994e-06_r8, & + 8.1947681728856746e-06_r8, 9.1002088346087984e-06_r8, & + 1.0001411645260511e-05_r8, 1.1081815091057616e-05_r8, & + 1.3604642144037941e-05_r8, 1.738606804087581e-05_r8, & + 2.1436297529416841e-05_r8, 2.7211913892753009e-05_r8, & + 4.0004168070951598e-05_r8, 5.213478498704392e-05_r8, & + 6.6269544464390509e-05_r8, 8.4421661454845714e-05_r8, & + 9.9764887639965073e-05_r8, 0.00010975869930302197_r8, & + 0.00011332964429175063_r8, 0.0001143182993056913_r8, & + 0.00011257695187512978_r8, 0.00010938614251487197_r8, & + 0.00010450241668107335_r8, 9.7187241787713552e-05_r8, & + 0.00010067134938701072_r8, 0.00010676452822045426_r8, & + 0.00011494145990910742_r8, 0.00012190714123015046_r8, & + 0.00012634458127826608_r8, 0.00013086368342329758_r8, & + 0.00013619275110505821_r8, 0.00014551402116289844_r8, & + 0.00016635805950840726_r8, 0.00018373252266437547_r8, & + 0.00019506806190533943_r8, 0.00019762728600969449_r8, & + 0.00016146528278248329_r8, 0.00015515864623737998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,2) / & + 3.789607686406261e-06_r8, 3.9001486271173222e-06_r8, & + 3.4322544602261533e-06_r8, 5.0354707876360433e-06_r8, & + 5.4206042568772233e-06_r8, 8.4874084527389304e-06_r8, & + 5.4683098351432697e-06_r8, 8.0168093420747628e-06_r8, & + 1.0445077997374153e-05_r8, 1.2619562875336885e-05_r8, & + 1.4612811171153178e-05_r8, 1.6946691169930612e-05_r8, & + 2.1710278295000038e-05_r8, 2.7559916185515947e-05_r8, & + 3.4102522199496853e-05_r8, 4.142060275006883e-05_r8, & + 5.6153386277362116e-05_r8, 6.9970560612271675e-05_r8, & + 8.4589957060996493e-05_r8, 9.835528457274421e-05_r8, & + 0.0001076533725302831_r8, 0.00011338529728196897_r8, & + 0.00011447940648998477_r8, 0.00011244266550046222_r8, & + 0.00010825520175196243_r8, 0.00010375782719487594_r8, & + 9.9075011998305204e-05_r8, 9.2758132845094377e-05_r8, & + 9.6383095593263965e-05_r8, 0.00010531768673277805_r8, & + 0.00011599358991994143_r8, 0.00012488690263801492_r8, & + 0.00013222410118292693_r8, 0.00013780759669275252_r8, & + 0.0001418603364651218_r8, 0.00014426343410545018_r8, & + 0.00014729862216064605_r8, 0.00015029233993220787_r8, & + 0.00015157643795721837_r8, 0.00015067745924498115_r8, & + 0.00014895815192065063_r8, 0.00014507586366807739_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,2) / & + 2.7581869544736697e-06_r8, 2.8887174530976998e-06_r8, & + 2.8411648819590255e-06_r8, 4.7580765931146344e-06_r8, & + 6.261251610698887e-06_r8, 1.0504694897046692e-05_r8, & + 7.2709807204094293e-06_r8, 1.2556040058442167e-05_r8, & + 1.7404460489864368e-05_r8, 2.1856347984734692e-05_r8, & + 2.5183125392789115e-05_r8, 2.9094136587200256e-05_r8, & + 3.4676055741435181e-05_r8, 4.1574546115370128e-05_r8, & + 4.8804491183863028e-05_r8, 5.5783099465909668e-05_r8, & + 6.9830781948054796e-05_r8, 8.1163419953406992e-05_r8, & + 9.316230901132655e-05_r8, 0.00010456201607887835_r8, & + 0.00011279420252555219_r8, 0.00011849185836606071_r8, & + 0.00011901535554766504_r8, 0.0001164191664499252_r8, & + 0.00011086029665685204_r8, 0.00010548443110943898_r8, & + 0.00010106673952462109_r8, 9.5291984168929938e-05_r8, & + 9.9968648530596646e-05_r8, 0.00010919718439705275_r8, & + 0.00012077909910633268_r8, 0.00013296401754839016_r8, & + 0.00014405247786876947_r8, 0.00015168783797830411_r8, & + 0.00015596898033982959_r8, 0.00015767018739034505_r8, & + 0.00015895352944076424_r8, 0.00016002291460184137_r8, & + 0.00016084060005455516_r8, 0.00016113312545287892_r8, & + 0.00016149635659633857_r8, 0.00016217147505789354_r8, & + 0.00016222788196529548_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,2) / & + 4.2953089361456748e-06_r8, 4.7032461632547443e-06_r8, & + 4.6117507658590511e-06_r8, 5.6870522538588953e-06_r8, & + 9.0321962411681936e-06_r8, 1.2132693995096953e-05_r8, & + 1.4622671366292312e-05_r8, 2.251953567162503e-05_r8, & + 2.8704952465529436e-05_r8, 3.330786618632732e-05_r8, & + 3.6625640714246702e-05_r8, 4.0733041085048799e-05_r8, & + 4.5741699326817912e-05_r8, 5.148107183717071e-05_r8, & + 5.8222070536139422e-05_r8, 6.4098368235423838e-05_r8, & + 7.6213398563738745e-05_r8, 8.775753439887714e-05_r8, & + 9.9912108930290137e-05_r8, 0.00011138294727724063_r8, & + 0.00011841365194155905_r8, 0.0001228848429939412_r8, & + 0.0001213787559986719_r8, 0.00011804788619015994_r8, & + 0.00011149856138343286_r8, 0.00010542529850047686_r8, & + 0.00010109489560327907_r8, 9.7899391901233856e-05_r8, & + 0.00010535008026918007_r8, 0.00011574431711523186_r8, & + 0.00012735577565023079_r8, 0.00013988919102179729_r8, & + 0.00015276998318748211_r8, 0.00016447491261377563_r8, & + 0.00017162465249543368_r8, 0.00017295352257876224_r8, & + 0.00017371830721855811_r8, 0.00017452211348720906_r8, & + 0.00017533841648991098_r8, 0.00017566899123858898_r8, & + 0.00017632592324300011_r8, 0.00017661794437229578_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,2) / & + 8.462440443848854e-06_r8, 9.5216723155084488e-06_r8, & + 9.9007657749295838e-06_r8, 7.6901391407813205e-06_r8, & + 1.1645054706380293e-05_r8, 1.4825937805944198e-05_r8, & + 2.0720770717769131e-05_r8, 2.8190100848463833e-05_r8, & + 3.266341025763961e-05_r8, 3.5607222535181519e-05_r8, & + 3.8254384214599443e-05_r8, 4.1314318185908066e-05_r8, & + 4.6079158563359373e-05_r8, 5.2356673178287715e-05_r8, & + 5.9423979842317388e-05_r8, 6.6207282130750753e-05_r8, & + 8.0422996329204167e-05_r8, 9.4118668907217833e-05_r8, & + 0.00010709153749912954_r8, 0.00011888887379202515_r8, & + 0.00012460006666519522_r8, 0.00012698819439733731_r8, & + 0.00012341821108821272_r8, 0.00011808148277268793_r8, & + 0.00011039914318874543_r8, 0.00010322430724432291_r8, & + 9.9222841648638336e-05_r8, 9.759191316210864e-05_r8, & + 0.00010759977377704211_r8, 0.00012216690987191156_r8, & + 0.00013541536295508575_r8, 0.00014803273261166519_r8, & + 0.00015973580653000073_r8, 0.00017231366757823434_r8, & + 0.00018426017206202031_r8, 0.00018924776156267485_r8, & + 0.00019004688965478192_r8, 0.00019007664739408657_r8, & + 0.00018992289279347815_r8, 0.00019012336664066403_r8, & + 0.00019038864113028812_r8, 0.00018963371835333318_r8, & + 0.00018710566223501855_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,2) / & + 1.144905810876001e-05_r8, 1.2607517908472769e-05_r8, & + 1.3914604630509183e-05_r8, 1.093209362344271e-05_r8, & + 1.4972736204585704e-05_r8, 1.859173091713529e-05_r8, & + 2.2881205455197651e-05_r8, 2.8856823003891423e-05_r8, & + 3.2708059862289089e-05_r8, 3.5150318748043456e-05_r8, & + 3.75716131357731e-05_r8, 4.0838085712231527e-05_r8, & + 4.6693207176364716e-05_r8, 5.5881249341131193e-05_r8, & + 6.4945994272815511e-05_r8, 7.2031828879665305e-05_r8, & + 8.6285671145194112e-05_r8, 0.00010005499935493961_r8, & + 0.00011438513967249332_r8, 0.00012573627054567293_r8, & + 0.00012972470321178165_r8, 0.00013038363113244093_r8, & + 0.00012387441854035681_r8, 0.00011615361457874403_r8, & + 0.00010669160189799139_r8, 9.8322164855603396e-05_r8, & + 9.4407655981019103e-05_r8, 9.3383604179943472e-05_r8, & + 0.00010497385566241284_r8, 0.00012390540665408779_r8, & + 0.00014036103462744195_r8, 0.0001546132470833987_r8, & + 0.00016652198315708869_r8, 0.00017683224914633475_r8, & + 0.00018815622316954841_r8, 0.00020004715712724542_r8, & + 0.00020654547505521268_r8, 0.00020597834824206412_r8, & + 0.00020493589231663755_r8, 0.0002048173742195979_r8, & + 0.00020435021323443527_r8, 0.00020342509255868012_r8, & + 0.00020208984862914303_r8, 0.00020215150904911088_r8, 9e90_r8 & + / +data saar_ref(:,22,2) / & + 1.4564001184622517e-05_r8, 1.3673420853979232e-05_r8, & + 1.4586059961143405e-05_r8, 1.5351764090375267e-05_r8, & + 1.9111898965171031e-05_r8, 2.1841388380610834e-05_r8, & + 2.381702373766226e-05_r8, 2.9924395767554396e-05_r8, & + 3.2712164351666487e-05_r8, 3.5046705411370785e-05_r8, & + 3.740538717999994e-05_r8, 4.1881193880347765e-05_r8, & + 4.9854979005680046e-05_r8, 6.1720421574583387e-05_r8, & + 6.9429609881892237e-05_r8, 7.6106788961714393e-05_r8, & + 9.1388081866307786e-05_r8, 0.00010517797635040421_r8, & + 0.00012020826844314313_r8, 0.00013042413460586063_r8, & + 0.00013328521164989243_r8, 0.00013278226498430716_r8, & + 0.00012376049331088663_r8, 0.00011481037301418622_r8, & + 0.00010426600174449_r8, 9.5885277194387663e-05_r8, & + 9.180062062634549e-05_r8, 9.1020822094990721e-05_r8, & + 0.00010186878034767982_r8, 0.00012367150370181477_r8, & + 0.000144199607306903_r8, 0.00015908868199500088_r8, & + 0.00017246121436424551_r8, 0.00018252030363589524_r8, & + 0.00019195409804381464_r8, 0.00020179517083195885_r8, & + 0.0002126471375326168_r8, 0.00021583130556277356_r8, & + 0.00021691735201113176_r8, 0.00021653340869466137_r8, & + 0.00021615173687180965_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,2) / & + 1.9001934939853835e-05_r8, 1.654588638962275e-05_r8, & + 1.7674506508148799e-05_r8, 1.9045421243600441e-05_r8, & + 2.2473795119945365e-05_r8, 2.5969640420057434e-05_r8, & + 2.7155136964093357e-05_r8, 3.3698051372004911e-05_r8, & + 3.5048830732499223e-05_r8, 3.7383449657252721e-05_r8, & + 4.0141176994303492e-05_r8, 4.5171997155973798e-05_r8, & + 5.5187288802515708e-05_r8, 6.636593993869634e-05_r8, & + 7.3846519339590847e-05_r8, 8.1855127137712381e-05_r8, & + 9.9415837443791568e-05_r8, 0.000113546636328493_r8, & + 0.00012867766799363629_r8, 0.00013880427785221841_r8, & + 0.00014121402359906082_r8, 0.0001389654676495106_r8, & + 0.00013024659338925425_r8, 0.00012123451112068165_r8, & + 0.00011071892921505271_r8, 0.00010266907823100543_r8, & + 9.8345407554818298e-05_r8, 9.6692716082721048e-05_r8, & + 0.00010629696090121121_r8, 0.00013011560252832407_r8, & + 0.00015133470511918698_r8, 0.00016768833792560616_r8, & + 0.00018211236893271208_r8, 0.00019256306753397581_r8, & + 0.00020199197576776558_r8, 0.00021124999997145682_r8, & + 0.00021904055024609716_r8, 0.00022790447702055551_r8, & + 0.00024235427153733368_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,2) / & + 2.2038399347859067e-05_r8, 1.9751059542386264e-05_r8, & + 2.1298334543513085e-05_r8, 1.9444753178484769e-05_r8, & + 2.3187481622592194e-05_r8, 2.7331923988453549e-05_r8, & + 3.0003175780378369e-05_r8, 4.0276557812749874e-05_r8, & + 3.7820474121518413e-05_r8, 4.0350637145104835e-05_r8, & + 4.3496960343606312e-05_r8, 4.7131328536347819e-05_r8, & + 5.866783616178601e-05_r8, 6.8790400159963105e-05_r8, & + 7.7298101205416922e-05_r8, 8.6796171705991236e-05_r8, & + 0.00010538504523567824_r8, 0.00012030950850072452_r8, & + 0.00013681734355669258_r8, 0.00014813994575512839_r8, & + 0.00015074652681460753_r8, 0.00014778616865963656_r8, & + 0.00013885540852684404_r8, 0.00012928423126361255_r8, & + 0.00011826328701572041_r8, 0.00010878625192718907_r8, & + 0.00010368180078286795_r8, 0.00010242880210518388_r8, & + 0.00011376471771987159_r8, 0.00013770737263329441_r8, & + 0.00016039635607673257_r8, 0.000178663838026444_r8, & + 0.00019377521066079239_r8, 0.00020481652269203131_r8, & + 0.000214719413413975_r8, 0.00022528254620247847_r8, & + 0.0002344738151154609_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,2) / & + 4.8623921822498189e-06_r8, 4.8623921822498189e-06_r8, & + 4.8623921822498189e-06_r8, 4.8623921822498189e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,2) / & + 6.4233408747732255e-05_r8, 6.7756042450745115e-05_r8, & + 6.4308005870326938e-05_r8, 1.6083527805948776e-05_r8, & + 1.9442927869496658e-05_r8, 2.2589080991575307e-05_r8, & + 1.648298484772017e-05_r8, 3.1526885341727172e-05_r8, & + 5.731833486898614e-05_r8, 5.3546170112951441e-05_r8, & + 4.8972420751523369e-05_r8, 2.4384224118116466e-05_r8, & + 2.8414586409747854e-05_r8, 3.1889963984564223e-05_r8, & + 3.4372036407696582e-05_r8, 3.7279130338288285e-05_r8, & + 4.1403855298620261e-05_r8, 4.356827075085577e-05_r8, & + 4.4609375739734932e-05_r8, 4.5841581496277146e-05_r8, & + 4.9026535653905903e-05_r8, 4.9746948971890633e-05_r8, & + 4.9425781320002717e-05_r8, 4.9214069113525992e-05_r8, & + 4.8406044082607902e-05_r8, 4.739655583475739e-05_r8, & + 4.6570831740038581e-05_r8, 4.5473154577447213e-05_r8, & + 4.1919587551606783e-05_r8, 4.0259039263188324e-05_r8, & + 3.7671418048135767e-05_r8, 4.3049547781186527e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,2) / & + 7.6467697434863752e-05_r8, 7.9988682128971127e-05_r8, & + 7.6148315716485754e-05_r8, 5.2876221696416291e-05_r8, & + 5.930698648190163e-05_r8, 6.3856198778317882e-05_r8, & + 5.4400116263743303e-05_r8, 7.6281465655042029e-05_r8, & + 9.0235078495384569e-05_r8, 6.0658892440764607e-05_r8, & + 4.648765430423108e-05_r8, 3.2593610887126574e-05_r8, & + 3.8809529358528773e-05_r8, 4.0985296648337962e-05_r8, & + 4.311579172537885e-05_r8, 4.4789254738306757e-05_r8, & + 4.8639665556878219e-05_r8, 4.9769067957907433e-05_r8, & + 5.0927448650805833e-05_r8, 5.2060146681791204e-05_r8, & + 5.5832558292124238e-05_r8, 5.5336614572323777e-05_r8, & + 5.4390593333810963e-05_r8, 5.349482344104737e-05_r8, & + 5.1462724482925003e-05_r8, 5.1439642457121899e-05_r8, & + 4.8739272856455565e-05_r8, 4.7568104871010933e-05_r8, & + 4.7991750806674978e-05_r8, 5.2593422727479753e-05_r8, & + 5.4550734747042448e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,2) / & + 2.2471242424148022e-05_r8, 2.1120106574037831e-05_r8, & + 1.8998476479276739e-05_r8, 4.4895979765907487e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,2) / & + 2.3291483371371837e-05_r8, 2.2595993380562677e-05_r8, & + 2.1712805091401272e-05_r8, 4.7468944182303814e-05_r8, & + 2.5126011507116284e-05_r8, 2.5856260009243188e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,2) / & + 2.2261899791151387e-05_r8, 2.2804195745088477e-05_r8, & + 2.1045773562536976e-05_r8, 2.8096532956677119e-05_r8, & + 2.6944979707282024e-05_r8, 2.956162429298638e-05_r8, & + 3.7519322060211647e-05_r8, 3.7969529992117191e-05_r8, & + 3.6390708710188688e-05_r8, 3.6708878960319914e-05_r8, & + 3.7830583933211553e-05_r8, 3.8948117635488502e-05_r8, & + 4.1103376423686156e-05_r8, 4.3898640585337188e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,2) / & + 2.4143802842745632e-05_r8, 2.6349971532121341e-05_r8, & + 2.653270802014698e-05_r8, 3.8224435525827024e-05_r8, & + 4.1145002075863143e-05_r8, 4.2817363811750108e-05_r8, & + 4.7581814743644706e-05_r8, 4.6809657527730213e-05_r8, & + 4.7749545035721877e-05_r8, 4.8628024131068897e-05_r8, & + 4.9781957996071099e-05_r8, 5.0362239266762724e-05_r8, & + 5.3031278590372757e-05_r8, 5.563392796897058e-05_r8, & + 5.970895423105476e-05_r8, 6.2028827588219034e-05_r8, & + 6.7472386390203233e-05_r8, 7.5631540954089989e-05_r8, & + 8.1266887990220341e-05_r8, 8.4462835751005882e-05_r8, & + 8.9472706367500217e-05_r8, 9.0836470073610959e-05_r8, & + 9.2370855538841673e-05_r8, 9.4549889301252517e-05_r8, & + 9.6709762281239932e-05_r8, 0.00010001548775445768_r8, & + 0.00010268912324219303_r8, 0.00010700954023958938_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,2) / & + 2.8959391188707155e-05_r8, 3.0693711182398175e-05_r8, & + 3.1923625245510537e-05_r8, 4.3471897752783711e-05_r8, & + 4.6790269091624394e-05_r8, 4.9091155964859545e-05_r8, & + 5.2353186963685871e-05_r8, 5.2923189219447363e-05_r8, & + 5.3478053868200962e-05_r8, 5.3609455642755915e-05_r8, & + 5.3991865452216509e-05_r8, 5.3865979340042737e-05_r8, & + 5.6194637146139001e-05_r8, 5.8152197151878571e-05_r8, & + 5.9610654021613139e-05_r8, 6.0671802510291594e-05_r8, & + 6.4030826736328927e-05_r8, 7.003564620961711e-05_r8, & + 7.5183834612144209e-05_r8, 8.1203907280467025e-05_r8, & + 8.4965532139394056e-05_r8, 8.8438337735512811e-05_r8, & + 9.0085977596758931e-05_r8, 9.2890739526356927e-05_r8, & + 9.4857153554955443e-05_r8, 9.8652314670097315e-05_r8, & + 0.00010310524373782758_r8, 0.00010859143913319844_r8, & + 0.00011423485085101397_r8, 0.00011169087817171739_r8, & + 0.00011242599978642437_r8, 0.00011312954921263579_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,2) / & + 3.839502061624464e-05_r8, 3.8644485095381769e-05_r8, & + 3.8461519007292184e-05_r8, 4.555096789637011e-05_r8, & + 4.7516807311806975e-05_r8, 4.9148028031237634e-05_r8, & + 5.2628909862950145e-05_r8, 5.3088659526882798e-05_r8, & + 5.3513326912678996e-05_r8, 5.3839203454447575e-05_r8, & + 5.4177367088646332e-05_r8, 5.4758271732964011e-05_r8, & + 5.6156168857978241e-05_r8, 5.6765304457982428e-05_r8, & + 5.7245228788569441e-05_r8, 5.7778309456480604e-05_r8, & + 5.9629504487224261e-05_r8, 6.2858346243626449e-05_r8, & + 6.7050309445831782e-05_r8, 7.2854340076027998e-05_r8, & + 7.7144602901472485e-05_r8, 8.2507623373959536e-05_r8, & + 8.5965707976510365e-05_r8, 8.9895693256263111e-05_r8, & + 9.239600559319072e-05_r8, 9.541060271952015e-05_r8, & + 9.8465133354941835e-05_r8, 0.0001038002306349349_r8, & + 0.00010773816108927914_r8, 0.00010900803383662805_r8, & + 0.00011115111277711585_r8, 0.00011352972586375807_r8, & + 0.00011695960283632286_r8, 0.00010899360601097012_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,2) / & + 4.8635320352953486e-05_r8, 4.8806589466871514e-05_r8, & + 4.813570485029432e-05_r8, 4.902825025096711e-05_r8, & + 5.0066316896980551e-05_r8, 5.0723300963562518e-05_r8, & + 5.474731284923035e-05_r8, 5.6268802234938768e-05_r8, & + 5.7507486048618593e-05_r8, 5.8587853424428172e-05_r8, & + 5.9369976044718247e-05_r8, 5.9920117633806845e-05_r8, & + 6.0574427439381971e-05_r8, 6.213916467186605e-05_r8, & + 6.3149825267201569e-05_r8, 6.4577098511553924e-05_r8, & + 6.7878595445735148e-05_r8, 7.0376890715111279e-05_r8, & + 7.4755227273208552e-05_r8, 7.9199858961387639e-05_r8, & + 8.4202747315315172e-05_r8, 8.8685585104827892e-05_r8, & + 9.1620929894854755e-05_r8, 9.4825773161869842e-05_r8, & + 9.749303005556269e-05_r8, 9.986300146294816e-05_r8, & + 0.00010183561230328344_r8, 0.00010471706088979652_r8, & + 0.00010504463333273725_r8, 0.00010480335911928222_r8, & + 0.0001041761177361069_r8, 0.00010307278338760613_r8, & + 0.00010107875353573435_r8, 0.00010077360276705218_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,2) / & + 5.3239904427275276e-05_r8, 5.4813081465962596e-05_r8, & + 5.3048064355952714e-05_r8, 5.1958798050480158e-05_r8, & + 5.4047516201205295e-05_r8, 5.5010693312758702e-05_r8, & + 5.8233141629723225e-05_r8, 5.722022344764494e-05_r8, & + 5.6611261783758195e-05_r8, 5.6851789158206429e-05_r8, & + 5.7295029195570914e-05_r8, 5.791432800561868e-05_r8, & + 5.8377182449288045e-05_r8, 5.9936153038403073e-05_r8, & + 6.1072809819828411e-05_r8, 6.2875597975523193e-05_r8, & + 6.635920137764727e-05_r8, 6.9900642288982611e-05_r8, & + 7.5220265208555164e-05_r8, 8.0774338813186663e-05_r8, & + 8.6507337386350496e-05_r8, 9.134393448592096e-05_r8, & + 9.4271319553080956e-05_r8, 9.7316868795681909e-05_r8, & + 9.9936082575985722e-05_r8, 0.0001021452569846314_r8, & + 0.00010395715589466963_r8, 0.00010755638021655815_r8, & + 0.00010907338990860939_r8, 0.00010868119360571414_r8, & + 0.00010802335091470735_r8, 0.00010726838898906847_r8, & + 0.00010704598003685019_r8, 0.00011254456082441085_r8, & + 0.0001119541462899674_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,2) / & + 6.0688615817866785e-05_r8, 6.640900724845144e-05_r8, & + 6.0349701849453095e-05_r8, 7.1171940178082875e-05_r8, & + 7.1622855504590576e-05_r8, 7.4454726651079886e-05_r8, & + 7.5127806943070904e-05_r8, 6.8539553210974713e-05_r8, & + 6.2189402725197087e-05_r8, 6.1604821587237047e-05_r8, & + 6.1290187102072962e-05_r8, 6.1650424272612019e-05_r8, & + 6.2925495566815812e-05_r8, 6.4487122378853031e-05_r8, & + 6.5812742756768985e-05_r8, 6.677589651881441e-05_r8, & + 6.9068236621775379e-05_r8, 7.2626401913777344e-05_r8, & + 7.6117952351494571e-05_r8, 8.0015607444872152e-05_r8, & + 8.4062768653758707e-05_r8, 8.6520599198756264e-05_r8, & + 8.9632093895733038e-05_r8, 9.4106932231069612e-05_r8, & + 9.8118976530525915e-05_r8, 0.00010106885709007867_r8, & + 0.00010409630479640814_r8, 0.00010896669549490104_r8, & + 0.00011145810312680968_r8, 0.00011355757964627981_r8, & + 0.00011494008982200679_r8, 0.00011678979459795962_r8, & + 0.00011800723687870224_r8, 0.00011887206509009204_r8, & + 0.00011988716536748862_r8, 0.00011817120626816058_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,2) / & + 8.1039437611563991e-05_r8, 9.1084599425889741e-05_r8, & + 8.5686955329127227e-05_r8, 0.00011715342043931662_r8, & + 0.00011388692120860055_r8, 0.00011500622286203308_r8, & + 0.00010695633052802537_r8, 8.8897836103802295e-05_r8, & + 6.7172731794863544e-05_r8, 6.7335263896931642e-05_r8, & + 6.7187905256105895e-05_r8, 6.7238103394158695e-05_r8, & + 6.8008803941856612e-05_r8, 7.0188995119200922e-05_r8, & + 7.0618596411204461e-05_r8, 7.1336944041480659e-05_r8, & + 7.0036222455847314e-05_r8, 7.302185488471535e-05_r8, & + 7.5175374057423664e-05_r8, 7.7914848057564182e-05_r8, & + 8.1786627824131217e-05_r8, 8.3041309947919455e-05_r8, & + 8.7314469348014282e-05_r8, 9.225278742940835e-05_r8, & + 9.5859234382547067e-05_r8, 9.9482381401047091e-05_r8, & + 0.00010246372646990909_r8, 0.00011092460204995164_r8, & + 0.00011361085751955084_r8, 0.00011588298605186866_r8, & + 0.00011679703080524556_r8, 0.00011870885019956203_r8, & + 0.00012017735142146896_r8, 0.00012082019209538051_r8, & + 0.00012181487864488218_r8, 0.00012107670987635024_r8, & + 0.00012120597228953433_r8, 0.00012116862185113838_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,2) / & + 8.6202204657905625e-05_r8, 0.00010626137339199536_r8, & + 0.00010378459365574348_r8, 0.0001322244844787842_r8, & + 0.00013641070452758352_r8, 0.00013488859932033544_r8, & + 0.00012242224928045911_r8, 8.4346444998431951e-05_r8, & + 7.1221031625708753e-05_r8, 7.1963199568067843e-05_r8, & + 7.1131511964637033e-05_r8, 7.0058840263777285e-05_r8, & + 6.7606526844350619e-05_r8, 6.9543692550690523e-05_r8, & + 7.0238030164812936e-05_r8, 7.1624881860748803e-05_r8, & + 7.1337605331021621e-05_r8, 7.2821468063410743e-05_r8, & + 7.5142245760783096e-05_r8, 7.8191854235119948e-05_r8, & + 8.17820510694638e-05_r8, 8.4863963023505982e-05_r8, & + 8.9077531748387673e-05_r8, 9.3635031097767001e-05_r8, & + 9.8264698190505945e-05_r8, 0.00010260483655367603_r8, & + 0.00010781213093089798_r8, 0.00011762197888576847_r8, & + 0.00011848278621382788_r8, 0.00011880669476913743_r8, & + 0.00011949790523661673_r8, 0.00012061804682072956_r8, & + 0.00012153986011016824_r8, 0.00012169421334706421_r8, & + 0.00012221464573293015_r8, 0.00012252407229194518_r8, & + 0.0001243286525474006_r8, 0.00012448010751292763_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,3) / & + 0.00012700137762502127_r8, 0.00012589236877605449_r8, & + 0.00012370676545808392_r8, 0.00012585106531824158_r8, & + 0.00012991458653144238_r8, 0.00013571956255387828_r8, & + 0.00014415486793247528_r8, 0.00015050740440237918_r8, & + 0.00015600007918920733_r8, 0.00016087981133871957_r8, & + 0.00016505346678230971_r8, 0.00017377276220735991_r8, & + 0.00019105810959634559_r8, 0.00020220130622740804_r8, & + 0.00020879772226957999_r8, 0.00021226206148077211_r8, & + 0.00021865630263460213_r8, 0.00022714974223837228_r8, & + 0.00023175102154720172_r8, 0.0002352739117392645_r8, & + 0.0002389329439555428_r8, 0.00024461324036506381_r8, & + 0.00024718862262909365_r8, 0.00024961877986875866_r8, & + 0.0002513276280191705_r8, 0.00025318401591409013_r8, & + 0.00025427091603165755_r8, 0.00025561270655452794_r8, & + 0.0002607590634172188_r8, 0.0002630687595514579_r8, & + 0.00026352200922937549_r8, 0.00026523131924014267_r8, & + 0.00025819522981367841_r8, 0.00025948737285902326_r8, & + 0.00026488909628350572_r8, 0.00026527295846579901_r8, & + 0.00026641667694691758_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,3) / & + 0.00011008335178167197_r8, 0.00010108651470795391_r8, & + 0.00011270302902946943_r8, 0.00012647052405091041_r8, & + 0.00013084240826924799_r8, 0.00013618083658938979_r8, & + 0.00015226133963495224_r8, 0.00016117640694246572_r8, & + 0.00017271142277859198_r8, 0.00018412524665014217_r8, & + 0.00019177757613235519_r8, 0.00019824892408780673_r8, & + 0.00020886790695866982_r8, 0.00021647025005062709_r8, & + 0.00022098944514808175_r8, 0.00022414118109169139_r8, & + 0.00023041584971592502_r8, 0.00023453257608840614_r8, & + 0.00024127775578387206_r8, 0.00024590446203632269_r8, & + 0.00024983338296501802_r8, 0.00025433754879914376_r8, & + 0.00025670220373110299_r8, 0.0002589221618022055_r8, & + 0.00026044565154428379_r8, 0.00026202329371187146_r8, & + 0.00026291832749245346_r8, 0.00026358946851217025_r8, & + 0.00026634541786534451_r8, 0.00026782946997219915_r8, & + 0.00026771412305184075_r8, 0.00026852724644467756_r8, & + 0.00026466629859689454_r8, 0.00026411674100986274_r8, & + 0.00026659314815043037_r8, 0.000266750624883374_r8, & + 0.00026755066885083905_r8, 0.00026730798985163078_r8, & + 0.00026428744232776934_r8, 0.00025813133847330411_r8, & + 0.00025513520635594929_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,3) / & + 0.00010241795409146923_r8, 8.9200689990873749e-05_r8, & + 0.00011351024236706879_r8, 0.000128926646313267_r8, & + 0.00013103086719377005_r8, 0.00013722961846874822_r8, & + 0.00014982643710355215_r8, 0.00016090893286998387_r8, & + 0.0001790560785762954_r8, 0.00019918041656432942_r8, & + 0.00021205139138794426_r8, 0.00022084105717523991_r8, & + 0.00023202885289254856_r8, 0.00024038438618323419_r8, & + 0.00024426685711627025_r8, 0.00024796290742703933_r8, & + 0.00025205551856228203_r8, 0.00025410129362774198_r8, & + 0.00025962101655525134_r8, 0.00026295422904783103_r8, & + 0.00026489504481119356_r8, 0.00026688570221676978_r8, & + 0.00026845906112007349_r8, 0.00026907276854743649_r8, & + 0.00026982902134119397_r8, 0.00027040274488593531_r8, & + 0.00027111940847259223_r8, 0.00027113719158412385_r8, & + 0.00027065621644991022_r8, 0.00026996371752474667_r8, & + 0.00026891693896013118_r8, 0.00026867327058860977_r8, & + 0.00026777450072631607_r8, 0.00026639238770355113_r8, & + 0.00026573268096763804_r8, 0.00026445688854124675_r8, & + 0.00026263901967318745_r8, 0.00026008125925633971_r8, & + 0.0002574514217118079_r8, 0.00025423439305206181_r8, & + 0.00025285183171851818_r8, 0.00025210829522116345_r8, & + 0.00025335402837226912_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,3) / & + 0.00011252729027712726_r8, 0.0001050596649732742_r8, & + 0.00012256143163793805_r8, 0.00012955523000707063_r8, & + 0.00013021454395392609_r8, 0.00013391969782033486_r8, & + 0.00014635562297660832_r8, 0.00015637367399213412_r8, & + 0.0001782049569699303_r8, 0.00020009152133141798_r8, & + 0.00021337879149715855_r8, 0.00022784367709664368_r8, & + 0.00024300335336972849_r8, 0.0002489512427416166_r8, & + 0.00025134825600518963_r8, 0.00025382030499550902_r8, & + 0.00025697244584915778_r8, 0.00025975606625391_r8, & + 0.00026159469338488806_r8, 0.00026262494348193259_r8, & + 0.00026342165024431072_r8, 0.00026437841165309671_r8, & + 0.00026531171857851744_r8, 0.00026573135449162373_r8, & + 0.00026663238802667968_r8, 0.00026718634014013713_r8, & + 0.00026730906904383009_r8, 0.00026652864481593386_r8, & + 0.00026615906821568161_r8, 0.00026632486059295375_r8, & + 0.00026502350045953278_r8, 0.0002648120253731965_r8, & + 0.00026394430121752023_r8, 0.00026234743764586569_r8, & + 0.00026058668504420299_r8, 0.00025736076882573776_r8, & + 0.00025451381582440076_r8, 0.00025337816526139079_r8, & + 0.00025128899429355397_r8, 0.00024819505571703872_r8, & + 0.00025026678476694448_r8, 0.00025036608399500227_r8, & + 0.00025016794941417426_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,3) / & + 0.00010467014106955496_r8, 0.00010218584814904561_r8, & + 0.00010453631567539563_r8, 0.00010783603509258609_r8, & + 0.00010806881315591727_r8, 0.00010942451360977602_r8, & + 0.00011276687962974111_r8, 0.00012443092956039968_r8, & + 0.00013912257254469919_r8, 0.0001546375360407808_r8, & + 0.00016600389612753103_r8, 0.00017706921476362937_r8, & + 0.0001914292550891138_r8, 0.00019946716288032952_r8, & + 0.00020402086569925603_r8, 0.00020831392671591333_r8, & + 0.00021460251441815926_r8, 0.00021926313032463672_r8, & + 0.00022295797938934282_r8, 0.00022544996133690539_r8, & + 0.0002279753103185125_r8, 0.00023105032276168094_r8, & + 0.00023430409089221616_r8, 0.00023726121325893352_r8, & + 0.00024078107258152353_r8, 0.00024379145906654951_r8, & + 0.0002463322916152545_r8, 0.00025199741779950903_r8, & + 0.00025627893947737244_r8, 0.00025953677380250145_r8, & + 0.00026191348272697071_r8, 0.00026292618478956036_r8, & + 0.00026369386156242536_r8, 0.00026340529278039002_r8, & + 0.00026280807692042929_r8, 0.00026085206492460183_r8, & + 0.00025535797612073893_r8, 0.00025303258142170937_r8, & + 0.00025102020370280318_r8, 0.00024647675420594794_r8, & + 0.0002499807716686918_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,3) / & + 5.6631468544520308e-05_r8, 5.5617543860942812e-05_r8, & + 4.9553296693353362e-05_r8, 3.2217649503464385e-05_r8, & + 3.234783134985813e-05_r8, 3.2764731843459071e-05_r8, & + 3.1141381562960873e-05_r8, 3.6800469933067347e-05_r8, & + 4.5611259286051831e-05_r8, 5.7999858585448009e-05_r8, & + 6.8593699371072379e-05_r8, 7.5703297009325327e-05_r8, & + 8.8994186133055877e-05_r8, 0.00010463206669458362_r8, & + 0.00011371991218956928_r8, 0.00012152803685129104_r8, & + 0.00013586043244256832_r8, 0.00014626212302364143_r8, & + 0.00015460548339235578_r8, 0.00016090164901036007_r8, & + 0.0001642873661249598_r8, 0.00016719280539917539_r8, & + 0.00016895899243295114_r8, 0.00017085269837127418_r8, & + 0.00017330125157353807_r8, 0.00017521758590634444_r8, & + 0.00017740149180629907_r8, 0.00018448571117617136_r8, & + 0.00019811588370140443_r8, 0.00021114540207030577_r8, & + 0.0002232380817600543_r8, 0.00023547496134840857_r8, & + 0.00024600482804489716_r8, 0.00025269811926029466_r8, & + 0.00025795181760549196_r8, 0.00026264599279989513_r8, & + 0.00026350081575375725_r8, 0.00026401630780240645_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,3) / & + 1.6105808799347967e-05_r8, 1.5625914381053808e-05_r8, & + 1.2047009326936943e-05_r8, 7.4697493841146614e-06_r8, & + 7.6620554802248612e-06_r8, 7.9030176981977153e-06_r8, & + 8.2848371602819764e-06_r8, 9.5239938068293786e-06_r8, & + 1.2889625113876811e-05_r8, 1.6950133197599684e-05_r8, & + 2.0560185729406962e-05_r8, 2.3388399608692105e-05_r8, & + 2.8714104005464817e-05_r8, 3.6768170032576097e-05_r8, & + 4.2615171242730815e-05_r8, 4.8134140525651713e-05_r8, & + 6.0290162368865424e-05_r8, 7.3510505871790806e-05_r8, & + 8.7340530131103323e-05_r8, 0.00010120728686300355_r8, & + 0.00011297638653815222_r8, 0.00012257855865844167_r8, & + 0.00012903569093787262_r8, 0.0001344344718296943_r8, & + 0.00013822739518228527_r8, 0.00014077073009530907_r8, & + 0.00014191614942773295_r8, 0.00014256456776472396_r8, & + 0.00014570996854447839_r8, 0.0001508333996213758_r8, & + 0.00016039912862936907_r8, 0.00017357447376892_r8, & + 0.00018930679410740297_r8, 0.00020510116475655818_r8, & + 0.00022007911579968525_r8, 0.00023132153781346178_r8, & + 0.00024036063120727469_r8, 0.00024830962937288128_r8, & + 0.00025149110357460843_r8, 0.0002547188843394487_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,3) / & + 5.7289641021560863e-06_r8, 5.4753012886875565e-06_r8, & + 5.0568775197854978e-06_r8, 4.8866452980132295e-06_r8, & + 5.4095217574008004e-06_r8, 5.5556904802177182e-06_r8, & + 5.7696514376504357e-06_r8, 6.128241183092474e-06_r8, & + 7.0441851413640747e-06_r8, 7.8213805964100212e-06_r8, & + 9.0154644669991456e-06_r8, 1.0479839055614649e-05_r8, & + 1.3789687479493145e-05_r8, 1.7386782919769169e-05_r8, & + 2.1121776345204801e-05_r8, 2.4959371432741134e-05_r8, & + 3.2577194679884894e-05_r8, 4.2699676549362024e-05_r8, & + 5.4265206286497368e-05_r8, 6.7861214147785177e-05_r8, & + 8.1297492200066421e-05_r8, 9.491135110604864e-05_r8, & + 0.00010685180763267108_r8, 0.0001180323515709261_r8, & + 0.00012649786631088562_r8, 0.00013312755260772583_r8, & + 0.00013688933502504789_r8, 0.00013712142437488379_r8, & + 0.00013335168777522561_r8, 0.00013033091218999903_r8, & + 0.00013179652752673055_r8, 0.00013716382413862634_r8, & + 0.00014699468676585088_r8, 0.00016033625030574045_r8, & + 0.00017829261138332185_r8, 0.00020129355789917601_r8, & + 0.00021894246723894813_r8, 0.00022859113894308397_r8, & + 0.00023503453824001954_r8, 0.00022955320943364877_r8, & + 0.0002280618981615579_r8, 0.00022890884814745073_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,3) / & + 4.3502296842587287e-06_r8, 4.2275811896194109e-06_r8, & + 4.0362883301129235e-06_r8, 4.8077252500919366e-06_r8, & + 5.0410429318013335e-06_r8, 5.2007312515122347e-06_r8, & + 6.618989538497529e-06_r8, 6.3650540278593561e-06_r8, & + 6.15633562143413e-06_r8, 6.1702865877632781e-06_r8, & + 6.506105216234361e-06_r8, 7.256221156097442e-06_r8, & + 8.1297654805875247e-06_r8, 9.6646618431608911e-06_r8, & + 1.2440911801978219e-05_r8, 1.5246077192900144e-05_r8, & + 2.1932249266763801e-05_r8, 3.1203409258611537e-05_r8, & + 4.1230385909546415e-05_r8, 5.5799425544128851e-05_r8, & + 7.0059735681200151e-05_r8, 8.4459414807324691e-05_r8, & + 9.6983139427636418e-05_r8, 0.0001115733295711432_r8, & + 0.00012262579517734794_r8, 0.00013116578734162975_r8, & + 0.00013654978374876171_r8, 0.00013482614897687145_r8, & + 0.00012554507733683745_r8, 0.00012018509297137321_r8, & + 0.00012026597210202742_r8, 0.00012296578037903846_r8, & + 0.0001271599029159346_r8, 0.00013462182099038581_r8, & + 0.00014798074804784128_r8, 0.00017270939870287191_r8, & + 0.0001971608251947442_r8, 0.00021211738468682303_r8, & + 0.00021928567626597952_r8, 0.00022303514500725236_r8, & + 0.00022524673219719168_r8, 0.0002285471266458467_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,3) / & + 4.6105966160560286e-06_r8, 4.4027824986129048e-06_r8, & + 3.960310996865963e-06_r8, 5.1457022558809032e-06_r8, & + 5.2008572372926594e-06_r8, 5.4774115391215356e-06_r8, & + 6.7107335862274347e-06_r8, 7.6388805964823693e-06_r8, & + 7.7215399338653598e-06_r8, 7.2609629181466044e-06_r8, & + 7.1747012306987943e-06_r8, 7.3288329118505249e-06_r8, & + 7.7627419856708615e-06_r8, 8.5695238516504469e-06_r8, & + 1.0369218326889181e-05_r8, 1.2195577900324189e-05_r8, & + 1.8846458548068249e-05_r8, 2.785183067825539e-05_r8, & + 3.8306329613539868e-05_r8, 5.126810824359355e-05_r8, & + 6.6109572615112743e-05_r8, 8.1487990520839464e-05_r8, & + 9.666253667574504e-05_r8, 0.00011040808995726447_r8, & + 0.00011970756598918561_r8, 0.0001265769974916696_r8, & + 0.000130131075964976_r8, 0.00012437532345651583_r8, & + 0.00011468661822215937_r8, 0.00011266673477774365_r8, & + 0.00011463030104321056_r8, 0.00011807181229456623_r8, & + 0.00012219738650397216_r8, 0.00012748782491558616_r8, & + 0.00013629433818601174_r8, 0.00016032208140409802_r8, & + 0.00018949506657768727_r8, 0.00020817088117963269_r8, & + 0.00021807511963063117_r8, 0.00022178096077615084_r8, & + 0.00022475574869455618_r8, 0.00022770966949951571_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,3) / & + 5.030649654715989e-06_r8, 4.9247271699536543e-06_r8, & + 4.3369549538232937e-06_r8, 5.2178901565310769e-06_r8, & + 5.3397040815055548e-06_r8, 5.7651563126658376e-06_r8, & + 5.5509196154042289e-06_r8, 7.2467195251802952e-06_r8, & + 7.9664485925497148e-06_r8, 7.9427400548547909e-06_r8, & + 8.0283231006193829e-06_r8, 8.5675984923709674e-06_r8, & + 9.7564181455435516e-06_r8, 1.1424572270927951e-05_r8, & + 1.3599825212148334e-05_r8, 1.6064093900941002e-05_r8, & + 2.4519276015112825e-05_r8, 3.4968416027432164e-05_r8, & + 4.65233443503009e-05_r8, 6.147406877757996e-05_r8, & + 7.7278998706106856e-05_r8, 9.2327746152680561e-05_r8, & + 0.00010413014793185389_r8, 0.00011198621722690287_r8, & + 0.00011579089276878829_r8, 0.0001170342483038791_r8, & + 0.00011482543091394172_r8, 0.00010460755675329117_r8, & + 9.9163117646959041e-05_r8, 0.00010074752403777914_r8, & + 0.00010578749721616065_r8, 0.00011173817399211194_r8, & + 0.00011661759690628669_r8, 0.00012176020539459162_r8, & + 0.00013052800449234964_r8, 0.00015108393196868199_r8, & + 0.00018270065629309628_r8, 0.00020751146474590215_r8, & + 0.00021776740408152877_r8, 0.00022207378595182824_r8, & + 0.0002251706026212361_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,3) / & + 5.8109463468223452e-06_r8, 5.8032800683906873e-06_r8, & + 5.2175427637384186e-06_r8, 7.1995872238763305e-06_r8, & + 7.4192875736683632e-06_r8, 7.7161546791704801e-06_r8, & + 6.3792295705410687e-06_r8, 8.7483801093223864e-06_r8, & + 1.0118460295158736e-05_r8, 1.1181777371709115e-05_r8, & + 1.2358905356898715e-05_r8, 1.3957322114585453e-05_r8, & + 1.7436785635928279e-05_r8, 2.1597331110142038e-05_r8, & + 2.5582150250392846e-05_r8, 3.0594664820475613e-05_r8, & + 4.2146521015444241e-05_r8, 5.4941060549590808e-05_r8, & + 6.9452376116093713e-05_r8, 8.5793288429349791e-05_r8, & + 9.9137090200416739e-05_r8, 0.00010887737989997859_r8, & + 0.00011389451989624436_r8, 0.0001161441451888946_r8, & + 0.00011459165996202929_r8, 0.00011126628576677769_r8, & + 0.00010509070357102486_r8, 9.5843912821071372e-05_r8, & + 9.6182306466342397e-05_r8, 0.00010055048257557246_r8, & + 0.00010934278187798785_r8, 0.00011863241624440261_r8, & + 0.00012544270918575049_r8, 0.0001324244595187922_r8, & + 0.0001434341131094673_r8, 0.00016597716237653088_r8, & + 0.00020295123179649976_r8, 0.00023300661175848177_r8, & + 0.00024368266333874063_r8, 0.00024707800202581422_r8, & + 0.00025279335673366628_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,3) / & + 5.9536662018651518e-06_r8, 5.7997861810912946e-06_r8, & + 5.429806585170604e-06_r8, 7.9859613850032503e-06_r8, & + 8.8279819176898054e-06_r8, 1.0574073638742825e-05_r8, & + 8.2534788108195779e-06_r8, 1.2236745456913784e-05_r8, & + 1.532493219534753e-05_r8, 1.7997984898729834e-05_r8, & + 2.0257190935080981e-05_r8, 2.2549087798526489e-05_r8, & + 2.7743040748383094e-05_r8, 3.4376466506499545e-05_r8, & + 4.0570552234111053e-05_r8, 4.7137387091754239e-05_r8, & + 6.0623842163312162e-05_r8, 7.3776407568282827e-05_r8, & + 8.8178899596020677e-05_r8, 0.00010106665629676453_r8, & + 0.0001093884600428584_r8, 0.00011517005853088417_r8, & + 0.00011689385122387938_r8, 0.0001149478134931683_r8, & + 0.00011059997355061391_r8, 0.00010585189795153991_r8, & + 0.00010109184354682629_r8, 9.365894842300432e-05_r8, & + 9.5153991818560957e-05_r8, 0.00010234971765420698_r8, & + 0.00011321316192498854_r8, 0.00012345567962923846_r8, & + 0.00013227741518654498_r8, 0.00014095177219815814_r8, & + 0.00015168076327529012_r8, 0.00017360564484048436_r8, & + 0.00019841215005420411_r8, 0.00022007641306508538_r8, & + 0.00021550960418110452_r8, 0.00016470511210572736_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,3) / & + 5.3472892543430236e-06_r8, 5.2212793403797167e-06_r8, & + 5.7561784351318405e-06_r8, 8.7881297821352928e-06_r8, & + 1.1503903854424907e-05_r8, 1.5077990236535358e-05_r8, & + 1.4848893923434838e-05_r8, 2.0630692394083204e-05_r8, & + 2.4203153956973484e-05_r8, 2.7251534143928416e-05_r8, & + 3.0057199028640923e-05_r8, 3.387913122551909e-05_r8, & + 3.8906747838646e-05_r8, 4.5588890092819719e-05_r8, & + 5.159919336023847e-05_r8, 5.7917569040110091e-05_r8, & + 7.2401819027913063e-05_r8, 8.2132378873852246e-05_r8, & + 9.3977593530379221e-05_r8, 0.00010563433789779686_r8, & + 0.00011400121907527036_r8, 0.00012000242898928688_r8, & + 0.00012136925535373171_r8, 0.00011813080324599055_r8, & + 0.00011169562380312624_r8, 0.00010613411521103453_r8, & + 0.00010158904573374023_r8, 9.6126346758152148e-05_r8, & + 0.00010053948057428379_r8, 0.00010977771580142756_r8, & + 0.00012171656831083174_r8, 0.00013318483295295431_r8, & + 0.00014448051407049475_r8, 0.00015346418044918705_r8, & + 0.00016012968966214088_r8, 0.00016168756885308108_r8, & + 0.00016336580196069637_r8, 0.00016403983539512395_r8, & + 0.00016482372328070999_r8, 0.0001642671014103338_r8, & + 0.0001625784606372336_r8, 0.0001625387344079677_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,3) / & + 5.2247256182068316e-06_r8, 5.5777774928289736e-06_r8, & + 6.7532195782824157e-06_r8, 9.3598950894863454e-06_r8, & + 1.4643171147628788e-05_r8, 1.9811627860100645e-05_r8, & + 2.3003923158832394e-05_r8, 2.7900748951296164e-05_r8, & + 3.1122413340721545e-05_r8, 3.3632557530616535e-05_r8, & + 3.619119884837723e-05_r8, 3.9926663496504012e-05_r8, & + 4.4670950337385857e-05_r8, 5.0527352713869971e-05_r8, & + 5.6975191944054762e-05_r8, 6.3047891735762307e-05_r8, & + 7.7031876132679347e-05_r8, 8.7665982173655972e-05_r8, & + 9.9945690708182455e-05_r8, 0.00011196419553078426_r8, & + 0.00011919582439421159_r8, 0.00012230423048311523_r8, & + 0.00012092544973538986_r8, 0.00011582259825516114_r8, & + 0.00010851807465748659_r8, 0.00010234521207536626_r8, & + 9.7846465994055922e-05_r8, 9.6392722661685804e-05_r8, & + 0.00010455177197069429_r8, 0.00011577552787299402_r8, & + 0.0001275704753280664_r8, 0.00013943007865886288_r8, & + 0.00015157481629859564_r8, 0.00016261203269386375_r8, & + 0.00017279213863983345_r8, 0.00017655512974401995_r8, & + 0.00017837125563840438_r8, 0.00017777006493308075_r8, & + 0.00017742200900348261_r8, 0.00017572576165405111_r8, & + 0.00017674006048362651_r8, 0.00017678348147311221_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,3) / & + 7.3587105227764609e-06_r8, 8.2963592621640005e-06_r8, & + 9.4456243462363136e-06_r8, 1.1217106452574799e-05_r8, & + 1.6795027967924825e-05_r8, 2.2399880508892781e-05_r8, & + 2.7141163492290483e-05_r8, 3.1060532603427741e-05_r8, & + 3.3486781114623664e-05_r8, 3.5702402107688717e-05_r8, & + 3.7751694312667972e-05_r8, 4.0060399542312002e-05_r8, & + 4.4802777629409862e-05_r8, 5.186042734368459e-05_r8, & + 5.9834581377549465e-05_r8, 6.7305167090927039e-05_r8, & + 8.2591438347415246e-05_r8, 9.5416954645764209e-05_r8, & + 0.00010858099320803984_r8, 0.00012009801157158612_r8, & + 0.00012644358288849592_r8, 0.00012735510161732385_r8, & + 0.00012318976219764327_r8, 0.0001169080525082234_r8, & + 0.00010880700585355064_r8, 0.00010161590671408363_r8, & + 9.7458749854049351e-05_r8, 9.6913103410948694e-05_r8, & + 0.00010688256690557436_r8, 0.00012088004582486014_r8, & + 0.00013434646573293006_r8, 0.00014737055947160467_r8, & + 0.00015884655212471119_r8, 0.00017041500971401203_r8, & + 0.00018318683504087421_r8, 0.00019395405662790596_r8, & + 0.00019676908952599441_r8, 0.00019328246598758708_r8, & + 0.00019103192268624724_r8, 0.00019005304996198646_r8, & + 0.00019077834779582424_r8, 0.00019054097136840149_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,3) / & + 1.1501605002710894e-05_r8, 1.0701716104456779e-05_r8, & + 1.3047993435122594e-05_r8, 1.5402413167414519e-05_r8, & + 1.9797296159367951e-05_r8, 2.4628321574253027e-05_r8, & + 2.7399780522462834e-05_r8, 3.265834601853171e-05_r8, & + 3.4981362467955494e-05_r8, 3.6808722475778954e-05_r8, & + 3.9022087304490968e-05_r8, 4.2636398132500488e-05_r8, & + 4.829577565562996e-05_r8, 5.903049899803544e-05_r8, & + 6.8984157849923347e-05_r8, 7.4571825921448734e-05_r8, & + 8.8669706277901751e-05_r8, 0.00010097725290603123_r8, & + 0.00011505472932378324_r8, 0.00012639834613389746_r8, & + 0.00013031416916415629_r8, 0.00013005082657581457_r8, & + 0.0001235182234641411_r8, 0.00011585342032254819_r8, & + 0.00010652738986174931_r8, 9.8807469782163153e-05_r8, & + 9.4533854284772681e-05_r8, 9.2866942171229315e-05_r8, & + 0.00010335748473416524_r8, 0.00012112803770675711_r8, & + 0.00013807542721162126_r8, 0.00015391520615483105_r8, & + 0.00016659289587929034_r8, 0.00017756819948141285_r8, & + 0.00018924473177357159_r8, 0.00020505079000581231_r8, & + 0.00021587192806405076_r8, 0.0002096860052987054_r8, & + 0.00020713459529991818_r8, 0.0002074489250208441_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,3) / & + 1.7495279303340805e-05_r8, 1.2627685650339976e-05_r8, & + 1.4473810636989836e-05_r8, 1.7678138488576309e-05_r8, & + 2.0985034010233238e-05_r8, 2.4232947873617874e-05_r8, & + 2.5984606213663578e-05_r8, 3.1713857014150618e-05_r8, & + 3.4256316026498311e-05_r8, 3.6146510114512645e-05_r8, & + 3.8318128044797145e-05_r8, 4.494770210286411e-05_r8, & + 5.1480211687243562e-05_r8, 6.3242579439705759e-05_r8, & + 7.1551805200612369e-05_r8, 7.617994927114932e-05_r8, & + 9.0592843578520612e-05_r8, 0.00010486746298002897_r8, & + 0.00012027066104177995_r8, 0.00013123679625830245_r8, & + 0.00013384216110689192_r8, 0.00013221206900141834_r8, & + 0.00012349474356005623_r8, 0.00011560058446396462_r8, & + 0.00010538909609836806_r8, 9.8290905907336379e-05_r8, & + 9.3915107219103941e-05_r8, 9.1936509055363735e-05_r8, & + 0.00010327642625681296_r8, 0.00012409233350715705_r8, & + 0.00014333709082151771_r8, 0.00015960598697550653_r8, & + 0.00017337020194386184_r8, 0.00018406972112309134_r8, & + 0.00019412794013265659_r8, 0.00020831791547618527_r8, & + 0.0002279760259930106_r8, 0.00022138191855764644_r8, & + 0.00021987202745088209_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,3) / & + 2.3541108468259345e-05_r8, 1.7065970147199124e-05_r8, & + 1.7135240338371977e-05_r8, 1.9589803540394862e-05_r8, & + 2.2287809081292383e-05_r8, 2.4885890600616854e-05_r8, & + 2.7006540463195785e-05_r8, 3.1148791988678775e-05_r8, & + 3.3022673634677848e-05_r8, 3.5182636457459973e-05_r8, & + 3.798692356519259e-05_r8, 4.6945559529873333e-05_r8, & + 5.6092784887586685e-05_r8, 6.7454644728959505e-05_r8, & + 7.5546137987430291e-05_r8, 8.231826087369242e-05_r8, & + 9.8657496531692933e-05_r8, 0.00011295932219821879_r8, & + 0.00012847217873144921_r8, 0.00014022540643600362_r8, & + 0.00014329060689634841_r8, 0.00013917356093530992_r8, & + 0.00013081296510436766_r8, 0.0001217524182693523_r8, & + 0.00011140311074916605_r8, 0.00010349424510029509_r8, & + 9.9343075344163743e-05_r8, 9.8080217565380638e-05_r8, & + 0.00010832240747850845_r8, 0.00013197716011443961_r8, & + 0.00015241521281913456_r8, 0.00016850337069902207_r8, & + 0.00018234388727329142_r8, 0.00019323390128263016_r8, & + 0.0002026410971450617_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,3) / & + 2.4506282587506366e-05_r8, 1.9039233802921449e-05_r8, & + 1.892636211919522e-05_r8, 2.2244467347107624e-05_r8, & + 2.3086483612852224e-05_r8, 2.454583071921017e-05_r8, & + 2.7510709275994504e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,3) / & + 2.1936778609881086e-05_r8, 2.1143144209373698e-05_r8, & + 4.8623921822498189e-06_r8, 4.8623921822498189e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,3) / & + 2.52494648395161e-05_r8, 2.8605169065539937e-05_r8, & + 2.1647806984547421e-05_r8, 1.6560933510005083e-05_r8, & + 1.8584267281610958e-05_r8, 1.9884835710441704e-05_r8, & + 1.6714042326988969e-05_r8, 2.3962968259255081e-05_r8, & + 3.040563666879973e-05_r8, 3.2193076706974927e-05_r8, & + 3.3846219555810829e-05_r8, 3.0574912936496862e-05_r8, & + 3.2349498165393673e-05_r8, 3.164986753636296e-05_r8, & + 3.3487035738266865e-05_r8, 3.3630526185733462e-05_r8, & + 3.6721749757188507e-05_r8, 3.9500834229711316e-05_r8, & + 4.057800135090231e-05_r8, 4.0944301868230499e-05_r8, & + 4.2071939463463042e-05_r8, 4.2047780173552361e-05_r8, & + 4.7457229246505252e-05_r8, 4.7509774933338821e-05_r8, & + 5.0597305457291206e-05_r8, 5.0437780786295269e-05_r8, & + 4.9708962004563479e-05_r8, 4.7793009325678252e-05_r8, & + 3.932278291299183e-05_r8, 3.7503263654655667e-05_r8, & + 3.962155293714766e-05_r8, 4.2343130991148854e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,3) / & + 3.4039080082647948e-05_r8, 3.5809156135614748e-05_r8, & + 2.9058366867964226e-05_r8, 3.8177644820324344e-05_r8, & + 3.9426431538393302e-05_r8, 4.0494753181087969e-05_r8, & + 4.3900718637804751e-05_r8, 4.9577409486591712e-05_r8, & + 5.2514105245467878e-05_r8, 4.2937101404848784e-05_r8, & + 3.7411946886870715e-05_r8, 3.7595176809319777e-05_r8, & + 3.9130323759230173e-05_r8, 4.091661782398348e-05_r8, & + 4.2552969793632296e-05_r8, 4.575973525994398e-05_r8, & + 4.76102067632705e-05_r8, 4.9354769699709163e-05_r8, & + 5.1018099271872229e-05_r8, 5.3498696757268894e-05_r8, & + 5.5297843186846932e-05_r8, 5.5234710300900779e-05_r8, & + 5.5960024253664066e-05_r8, 5.5688636955619433e-05_r8, & + 5.5824659786166795e-05_r8, 5.5650615888778769e-05_r8, & + 5.5761175231220305e-05_r8, 5.4075330630542482e-05_r8, & + 5.4217453669401429e-05_r8, 5.1823363022307183e-05_r8, & + 4.3080588677513651e-05_r8, 3.9630545640471362e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,3) / & + 3.2687291633493376e-05_r8, 3.161960167487157e-05_r8, & + 2.5148323907603237e-05_r8, 3.6357693065430253e-05_r8, & + 3.6573346337708557e-05_r8, 3.7416724828760769e-05_r8, & + 4.3016231452188296e-05_r8, 4.7789236571931667e-05_r8, & + 5.2364027611185591e-05_r8, 4.1314064784418164e-05_r8, & + 3.3045894500668095e-05_r8, 3.5173691037666573e-05_r8, & + 4.0892762556495935e-05_r8, 4.0860903362781049e-05_r8, & + 4.1285232134195548e-05_r8, 4.5475685677010566e-05_r8, & + 4.9095208789703805e-05_r8, 4.9479917587542574e-05_r8, & + 5.0138521617138798e-05_r8, 5.138183486005329e-05_r8, & + 5.1900836649793168e-05_r8, 5.2118105002536063e-05_r8, & + 5.494272594240282e-05_r8, 5.4942611687352208e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,3) / & + 4.9146564874209528e-05_r8, 3.9921849201896891e-05_r8, & + 2.5373066630753926e-05_r8, 4.2187052953859757e-05_r8, & + 2.4777612753937888e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,3) / & + 2.9600532628739444e-05_r8, 2.7704401578134194e-05_r8, & + 2.4072503646091249e-05_r8, 3.1022874728469618e-05_r8, & + 2.932209900299134e-05_r8, 3.2302458533671492e-05_r8, & + 4.1999110116555613e-05_r8, 3.7704349632601303e-05_r8, & + 3.6518827033948607e-05_r8, 3.6782838152788562e-05_r8, & + 3.9648358967282017e-05_r8, 4.0078046323532458e-05_r8, & + 4.0407231851730856e-05_r8, 4.5229689132153032e-05_r8, & + 4.8737390743184653e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,3) / & + 2.52768396905571e-05_r8, 2.7306466516177528e-05_r8, & + 2.8433651469549686e-05_r8, 4.0089836748833743e-05_r8, & + 4.3820564364848939e-05_r8, 4.5799935888342538e-05_r8, & + 4.9102228840038273e-05_r8, 4.966988424714438e-05_r8, & + 4.9186844884645162e-05_r8, 4.9185794582351255e-05_r8, & + 5.1415012902000189e-05_r8, 5.1444124997690764e-05_r8, & + 5.2979278963825844e-05_r8, 5.5218628695609447e-05_r8, & + 5.6936830355397544e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,3) / & + 2.8241937345605102e-05_r8, 2.9798118333277715e-05_r8, & + 3.1112755332737183e-05_r8, 4.039984538332502e-05_r8, & + 4.4220285212990263e-05_r8, 4.628768374638354e-05_r8, & + 5.0358837107358164e-05_r8, 5.1186113584118803e-05_r8, & + 5.0510837291467004e-05_r8, 5.0718604127535396e-05_r8, & + 5.2639002482941338e-05_r8, 5.2216719098341409e-05_r8, & + 5.3528598149711138e-05_r8, 5.5207652063916143e-05_r8, & + 5.6562108226254339e-05_r8, 5.6995856964111522e-05_r8, & + 5.840064224709992e-05_r8, 6.2707569617956421e-05_r8, & + 6.7135716400455357e-05_r8, 7.4153023917604259e-05_r8, & + 7.9563380924175595e-05_r8, 8.4656363023870754e-05_r8, & + 8.6522973728341023e-05_r8, 8.959787998423815e-05_r8, & + 9.1736848355895452e-05_r8, 9.4453031067376412e-05_r8, & + 9.7228320003817957e-05_r8, 0.00010157194351104141_r8, & + 0.00010559310693203689_r8, 0.00010640270278478076_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,3) / & + 3.7670050836482346e-05_r8, 3.7859441220499933e-05_r8, & + 3.8102086120301661e-05_r8, 4.4825603739454208e-05_r8, & + 4.7008464004304165e-05_r8, 4.8640723737644266e-05_r8, & + 5.2041647600303975e-05_r8, 5.2653879592171809e-05_r8, & + 5.2940142912225427e-05_r8, 5.3418892339218443e-05_r8, & + 5.3812961290818864e-05_r8, 5.3896727877045373e-05_r8, & + 5.478279750899203e-05_r8, 5.5725068608365726e-05_r8, & + 5.6503351419410489e-05_r8, 5.7258327838405985e-05_r8, & + 5.9215178589811337e-05_r8, 6.2799491768875614e-05_r8, & + 6.7568252226428912e-05_r8, 7.3537872392206825e-05_r8, & + 7.8818550982172068e-05_r8, 8.5086913619665901e-05_r8, & + 8.8326260988963752e-05_r8, 9.1861193748571393e-05_r8, & + 9.469875136008482e-05_r8, 9.796558773282713e-05_r8, & + 0.00010120373296821921_r8, 0.00010616184575074095_r8, & + 0.00010967148373740175_r8, 0.00011059822158308225_r8, & + 0.00011221740062710022_r8, 0.00011438960714758367_r8, & + 0.00011742365283497139_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,3) / & + 4.9145457921244439e-05_r8, 4.9177354988677255e-05_r8, & + 4.8730636617171085e-05_r8, 4.8795547525911209e-05_r8, & + 5.0125340244170456e-05_r8, 5.0847528208148434e-05_r8, & + 5.3369517156151856e-05_r8, 5.4409924626538624e-05_r8, & + 5.5247321598397498e-05_r8, 5.6016742260150845e-05_r8, & + 5.6689909099319538e-05_r8, 5.7193615825397417e-05_r8, & + 5.7129839826549586e-05_r8, 5.8700927947198347e-05_r8, & + 6.0270011762997115e-05_r8, 6.1720091551442885e-05_r8, & + 6.471622665154582e-05_r8, 6.7320856625739485e-05_r8, & + 7.2352894970618232e-05_r8, 7.9035113420536978e-05_r8, & + 8.4909846633641188e-05_r8, 9.02560531581975e-05_r8, & + 9.3741450854575701e-05_r8, 9.761681392621425e-05_r8, & + 0.00010077515384043126_r8, 0.00010388511512889353_r8, & + 0.00010608177443645635_r8, 0.0001090005847449007_r8, & + 0.00010810919876598906_r8, 0.00010765453598698743_r8, & + 0.00010610220570973181_r8, 0.00010338053793187971_r8, & + 0.0001009392852450006_r8, 0.00010070059337414596_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,3) / & + 5.2803105956930637e-05_r8, 5.4465810680805378e-05_r8, & + 5.2192077493319898e-05_r8, 4.7959340633807164e-05_r8, & + 5.2198303686512688e-05_r8, 5.3384144413033563e-05_r8, & + 5.6169013841723276e-05_r8, 5.6012436867714054e-05_r8, & + 5.5331893519526458e-05_r8, 5.5168190152656077e-05_r8, & + 5.5674498531083029e-05_r8, 5.6790006206185736e-05_r8, & + 5.7125017128137639e-05_r8, 5.8583792778123332e-05_r8, & + 5.9891255674037287e-05_r8, 6.1750625703164259e-05_r8, & + 6.5103823327254928e-05_r8, 6.8274365951034684e-05_r8, & + 7.4036334123647499e-05_r8, 8.1316634771207554e-05_r8, & + 8.7776359192329954e-05_r8, 9.3043100755917264e-05_r8, & + 9.6460097385345158e-05_r8, 0.00010008344425853314_r8, & + 0.00010302586678333083_r8, 0.00010567727697593515_r8, & + 0.00010714583471272197_r8, 0.00011008500474724581_r8, & + 0.00011023672939032419_r8, 0.0001086314552336876_r8, & + 0.00010791720540541143_r8, 0.00010698781992693211_r8, & + 0.00010796790101766005_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,3) / & + 5.7405434779419712e-05_r8, 6.2625407641098453e-05_r8, & + 5.4229544754952721e-05_r8, 6.0426576555957654e-05_r8, & + 6.3092058412708493e-05_r8, 6.5950679602539084e-05_r8, & + 6.7886934278783983e-05_r8, 6.3026542506019169e-05_r8, & + 5.8743165216362513e-05_r8, 5.8634032934203245e-05_r8, & + 5.8682103388031329e-05_r8, 5.9201893286621449e-05_r8, & + 6.0959142399760837e-05_r8, 6.2656599244314534e-05_r8, & + 6.4243066830289446e-05_r8, 6.5415535353304449e-05_r8, & + 6.8371320484413408e-05_r8, 7.2273584330493257e-05_r8, & + 7.6368611162654445e-05_r8, 8.0106990814404774e-05_r8, & + 8.4312573046267029e-05_r8, 8.68280033082843e-05_r8, & + 8.9455875204902993e-05_r8, 9.4180687363122566e-05_r8, & + 9.8410130843723078e-05_r8, 0.00010140797146412186_r8, & + 0.00010437011910878115_r8, 0.00010924497322164035_r8, & + 0.00011180895229396766_r8, 0.00011346143218056902_r8, & + 0.00011494991770965417_r8, 0.00011677043335230517_r8, & + 0.00011795569860826478_r8, 0.00011888207969590877_r8, & + 0.00011998374628876774_r8, 0.00011860138774306971_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,3) / & + 7.8264480605077377e-05_r8, 8.8197493873166195e-05_r8, & + 8.2508326106174755e-05_r8, 0.00010911791568947243_r8, & + 0.00010480267488415411_r8, 0.00010705927321559806_r8, & + 0.00010042832120715026_r8, 8.3389461832348728e-05_r8, & + 6.4327447204575911e-05_r8, 6.5511235676724179e-05_r8, & + 6.5600950902032715e-05_r8, 6.5400429690913239e-05_r8, & + 6.6209434172001183e-05_r8, 6.8429498943416251e-05_r8, & + 6.929948628110409e-05_r8, 7.0229508270220787e-05_r8, & + 6.953917253459387e-05_r8, 7.2327141739963856e-05_r8, & + 7.4557667576136485e-05_r8, 7.7202878630144278e-05_r8, & + 8.1077992814134611e-05_r8, 8.2768969434321709e-05_r8, & + 8.7027643149777242e-05_r8, 9.1985149736172105e-05_r8, & + 9.5825119762606961e-05_r8, 9.9482088759221687e-05_r8, & + 0.00010251285372308368_r8, 0.00011071713332377242_r8, & + 0.00011350619767358682_r8, 0.0001156641793239499_r8, & + 0.00011681287076726213_r8, 0.00011879239267388364_r8, & + 0.00012016908601494982_r8, 0.00012101742211218189_r8, & + 0.00012217379827593469_r8, 0.00012109085813876898_r8, & + 0.00012116592553601947_r8, 0.00012117157342006284_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,3) / & + 8.5484970913490973e-05_r8, 0.00010535593447060377_r8, & + 0.00010278971811505854_r8, 0.00013175395876995896_r8, & + 0.00013522495696661994_r8, 0.00013302942906295954_r8, & + 0.00011942299912325056_r8, 8.3220090199369247e-05_r8, & + 7.0344170642036162e-05_r8, 7.1364734187714303e-05_r8, & + 7.0572840492301857e-05_r8, 6.9681652793149884e-05_r8, & + 6.7386656839271743e-05_r8, 6.9325705265774917e-05_r8, & + 7.0126552290091765e-05_r8, 7.1511978698240005e-05_r8, & + 7.1305705360003691e-05_r8, 7.277762348363409e-05_r8, & + 7.5084019165699899e-05_r8, 7.8115126086092217e-05_r8, & + 8.1649975907789954e-05_r8, 8.4769994320431182e-05_r8, & + 8.8971894410031524e-05_r8, 9.3542651327372387e-05_r8, & + 9.8177502638316784e-05_r8, 0.00010253480573516002_r8, & + 0.00010780553213225832_r8, 0.00011753719847749199_r8, & + 0.00011842743930447521_r8, 0.00011877094227693915_r8, & + 0.00011948846934447349_r8, 0.00012063346453146186_r8, & + 0.00012153682568072458_r8, 0.00012169388004301492_r8, & + 0.00012223014984795146_r8, 0.00012252395799176196_r8, & + 0.00012432585480854326_r8, 0.00012447999888408852_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,4) / & + 0.00011756236782784858_r8, 0.00011771479149121007_r8, & + 0.00011878057886011644_r8, 0.00012377998853675668_r8, & + 0.00012725087394564608_r8, 0.00013312247889911096_r8, & + 0.000141535817789322_r8, 0.00014798424733333186_r8, & + 0.00015205790887955678_r8, 0.00015524720137931501_r8, & + 0.00015680602462013224_r8, 0.00016400392676061058_r8, & + 0.00018267854497075608_r8, 0.00019619335962098289_r8, & + 0.00020273249219735615_r8, 0.00020493463453222338_r8, & + 0.00021244775314385633_r8, 0.00021895180320623009_r8, & + 0.0002282863889641372_r8, 0.00022978583601281817_r8, & + 0.00023357760618453551_r8, 0.00023792978428890189_r8, & + 0.00024053804068957047_r8, 0.00024321652598220883_r8, & + 0.00024480044488766386_r8, 0.00024590771930425387_r8, & + 0.00024670123302252873_r8, 0.00024814263496863672_r8, & + 0.00025361158026438656_r8, 0.000260705371212869_r8, & + 0.00026188850543175499_r8, 0.00026491601374090904_r8, & + 0.00023951431341362581_r8, 0.00024653759457668667_r8, & + 0.00026372959507419216_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,4) / & + 0.00010532607195235227_r8, 9.8716604509470945e-05_r8, & + 0.00011027841859966631_r8, 0.00012517018701910145_r8, & + 0.00012873515964442322_r8, 0.00013438421169875914_r8, & + 0.00015053708240350322_r8, 0.00015830853897817607_r8, & + 0.00016706198021822205_r8, 0.00017612142980437493_r8, & + 0.00018186798309320054_r8, 0.00018771196805837179_r8, & + 0.00020100489209889054_r8, 0.00020981909721527002_r8, & + 0.00021511384542446967_r8, 0.00021821649652267863_r8, & + 0.00022477251773827977_r8, 0.00022865598010484507_r8, & + 0.00023782854772123787_r8, 0.00024140401745091758_r8, & + 0.00024511034114405868_r8, 0.0002500110690106453_r8, & + 0.00025235676752067459_r8, 0.00025494912436724803_r8, & + 0.00025665544273503998_r8, 0.00025810305570669049_r8, & + 0.00025903418443236917_r8, 0.00026005160067255767_r8, & + 0.0002634880486740498_r8, 0.00026699335731192152_r8, & + 0.00026711610150611983_r8, 0.00026825070348741615_r8, & + 0.00025919335353897176_r8, 0.00026282114702389842_r8, & + 0.00026659414809068071_r8, 0.00026745787826010518_r8, & + 0.00026855887840566322_r8, 0.00026751704439827059_r8, & + 0.00026476568118586561_r8, 0.0002601581629271901_r8, & + 0.00025620756980726734_r8, 0.0002549261285188917_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,4) / & + 0.00010173544386881418_r8, 9.1975401170670738e-05_r8, & + 0.00010935281436358535_r8, 0.00012673034202687934_r8, & + 0.00012770301409190124_r8, 0.00013401117620119723_r8, & + 0.00014806606356552706_r8, 0.00015790287714164696_r8, & + 0.00017554621961888189_r8, 0.00019407969438448895_r8, & + 0.00020466621695880123_r8, 0.00021282133981177047_r8, & + 0.00022382832439839801_r8, 0.00023145323260790281_r8, & + 0.00023564949836712531_r8, 0.00023987827580482419_r8, & + 0.00024624701785779375_r8, 0.00024684490300344814_r8, & + 0.0002533503544844083_r8, 0.00025648624910620951_r8, & + 0.00026014892032115888_r8, 0.00026366817854437026_r8, & + 0.00026582410682361436_r8, 0.00026705099237213272_r8, & + 0.00026826967115169814_r8, 0.00026921827990714043_r8, & + 0.00027013737405885864_r8, 0.00027092134173568763_r8, & + 0.00027102311143497015_r8, 0.00027003147486725799_r8, & + 0.00026865699380082932_r8, 0.00026812657256103058_r8, & + 0.00026705511963327918_r8, 0.00026571820818930951_r8, & + 0.00026579237386521113_r8, 0.00026557721286715052_r8, & + 0.00026480702593412902_r8, 0.00026308258736944311_r8, & + 0.00026078977363254186_r8, 0.00025739996103874344_r8, & + 0.00025548237044114718_r8, 0.0002543970519237503_r8, & + 0.0002545636082385636_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,4) / & + 0.00011180205986762783_r8, 0.00010640266451168082_r8, & + 0.00011717270751698971_r8, 0.00012844304403717525_r8, & + 0.00012849496975460747_r8, 0.00013201273073285553_r8, & + 0.00014216892521594718_r8, 0.00015234582812685986_r8, & + 0.00017198638343476251_r8, 0.00019542115433622827_r8, & + 0.00021001691407741336_r8, 0.00022480849020235655_r8, & + 0.00024224071569020866_r8, 0.00024803883769723364_r8, & + 0.00024948569014999778_r8, 0.0002518328013609932_r8, & + 0.000256124800952413_r8, 0.00025814806831509976_r8, & + 0.00026047877527511149_r8, 0.00026156090881241886_r8, & + 0.00026243710838542707_r8, 0.00026431715595081067_r8, & + 0.00026497777481778069_r8, 0.00026520836991477271_r8, & + 0.00026585887593006589_r8, 0.00026616877318981394_r8, & + 0.00026628175234220697_r8, 0.00026591992882452634_r8, & + 0.00026489801141618843_r8, 0.00026426159100494806_r8, & + 0.00026307754085494201_r8, 0.00026292110345299785_r8, & + 0.00026226473437748364_r8, 0.0002612052645324396_r8, & + 0.00025988116800589397_r8, 0.00025762145578215088_r8, & + 0.00025590596972955611_r8, 0.00025523969235664992_r8, & + 0.00025411269316963565_r8, 0.000251522046130054_r8, & + 0.00025255509730761608_r8, 0.00025258696122941612_r8, & + 0.00025233730474871459_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,4) / & + 0.00010298303628908429_r8, 0.0001011362434812851_r8, & + 0.00010039438940358891_r8, 0.00011495819817849212_r8, & + 0.00011489442632620557_r8, 0.00011528300200819895_r8, & + 0.00011745439832239474_r8, 0.0001307970619956864_r8, & + 0.000145288040166532_r8, 0.00016090715136474586_r8, & + 0.00017305325565096177_r8, 0.00018372368403971553_r8, & + 0.00019891160737381007_r8, 0.00020717350876651224_r8, & + 0.00021003362222667124_r8, 0.00021440071487521882_r8, & + 0.0002211279458772029_r8, 0.00022603602431358699_r8, & + 0.00023188183424260569_r8, 0.00023519830138928085_r8, & + 0.00023729729169668965_r8, 0.00023873347893739336_r8, & + 0.00023970873783200823_r8, 0.0002424860809197343_r8, & + 0.00024561685734248708_r8, 0.00024813000342598849_r8, & + 0.00024991085108810526_r8, 0.00025435440957999084_r8, & + 0.00025734689390998752_r8, 0.00026013808286301174_r8, & + 0.00026124811296916002_r8, 0.00026206181970802624_r8, & + 0.00026216100610977633_r8, 0.00026126938823914397_r8, & + 0.00026034522635308915_r8, 0.00025804708876093509_r8, & + 0.00025591691040726983_r8, 0.00025479254368258717_r8, & + 0.00025283908864245431_r8, 0.00024967528370912242_r8, & + 0.00025066504178375041_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,4) / & + 5.7626036150511601e-05_r8, 5.6561291241375224e-05_r8, & + 4.8196339811754037e-05_r8, 3.9124726017299163e-05_r8, & + 3.9304860499871718e-05_r8, 3.9691399825237957e-05_r8, & + 3.8893717210782749e-05_r8, 4.7105786065198058e-05_r8, & + 5.7140719472917026e-05_r8, 6.8115536561452544e-05_r8, & + 7.7652728334438097e-05_r8, 8.3701944996098806e-05_r8, & + 9.5992704599840033e-05_r8, 0.00010973416148214679_r8, & + 0.00011774621026867837_r8, 0.00012604598004564024_r8, & + 0.00014059768705718519_r8, 0.00015118374513242572_r8, & + 0.00016048531403686927_r8, 0.00016768559852932025_r8, & + 0.00016938776463042274_r8, 0.00017176986329868352_r8, & + 0.00017160971401669747_r8, 0.00017400310854160322_r8, & + 0.00017664860459045025_r8, 0.0001789020799531379_r8, & + 0.0001807394536208636_r8, 0.00018791182165997576_r8, & + 0.00020053628001494276_r8, 0.00020875298423253552_r8, & + 0.00021831508286723826_r8, 0.00022722026566909117_r8, & + 0.00023799561456520459_r8, 0.00024504125293948006_r8, & + 0.00025183240597826913_r8, 0.0002568874243028392_r8, & + 0.00026088141461130153_r8, 0.00026587803029506121_r8, & + 0.0002682786040743912_r8, 0.00027155626552777858_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,4) / & + 1.8022037323462322e-05_r8, 1.7721576571600026e-05_r8, & + 1.2767155023335228e-05_r8, 9.3174695434612335e-06_r8, & + 9.6914850398852239e-06_r8, 9.9283322916319431e-06_r8, & + 1.0406629451198819e-05_r8, 1.2149162011129925e-05_r8, & + 1.5235855638752271e-05_r8, 1.9063130030122778e-05_r8, & + 2.2607674605742794e-05_r8, 2.5097871024552544e-05_r8, & + 2.9907362538388941e-05_r8, 3.7021422525140903e-05_r8, & + 4.2232296454103099e-05_r8, 4.7525580582975444e-05_r8, & + 6.042342041007731e-05_r8, 7.5091793276712835e-05_r8, & + 8.9896009369080362e-05_r8, 0.00010409948208587638_r8, & + 0.00011540626560506968_r8, 0.00012508168949316615_r8, & + 0.00013074475775885685_r8, 0.00013513784524966986_r8, & + 0.00013899070760500738_r8, 0.00014156670457297476_r8, & + 0.00014259860347054951_r8, 0.00014285391869392621_r8, & + 0.00014542782998743458_r8, 0.00015005122841931155_r8, & + 0.00015756243255151152_r8, 0.00016867867243013982_r8, & + 0.0001862933689716027_r8, 0.00020126229254797346_r8, & + 0.00021659758305433668_r8, 0.00023264918994827502_r8, & + 0.00024307039610835143_r8, 0.00025429483217598428_r8, & + 0.00026053297376594017_r8, 0.00026330260794509171_r8, & + 0.00026041786325605988_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,4) / & + 6.5784212071326182e-06_r8, 6.4577984753812494e-06_r8, & + 5.4691012378343681e-06_r8, 6.0395052921429136e-06_r8, & + 6.41190570167632e-06_r8, 6.6658867383814833e-06_r8, & + 7.4551691249042555e-06_r8, 7.4448052530872873e-06_r8, & + 8.3008678577152187e-06_r8, 9.3017027377555596e-06_r8, & + 1.0481719741311362e-05_r8, 1.2048549325656806e-05_r8, & + 1.4647067729853263e-05_r8, 1.7869613864288663e-05_r8, & + 2.1797121803270196e-05_r8, 2.5659158575726727e-05_r8, & + 3.3437323547401577e-05_r8, 4.4367678495985962e-05_r8, & + 5.6997942746562961e-05_r8, 7.0546770826361736e-05_r8, & + 8.4102593419746287e-05_r8, 9.8281198989413736e-05_r8, & + 0.00011018193186259252_r8, 0.00012065571184586874_r8, & + 0.0001278103074213491_r8, 0.00013330372326952956_r8, & + 0.00013636676663065229_r8, 0.00013524028546675422_r8, & + 0.00013127001251404845_r8, 0.00012825431642263089_r8, & + 0.00012957586420377657_r8, 0.00013478249454420914_r8, & + 0.00014662899847491304_r8, 0.00016116982420785912_r8, & + 0.00017863087113715405_r8, 0.00020521756161893785_r8, & + 0.00022458477928136492_r8, 0.00023905902241323754_r8, & + 0.00024808672530946869_r8, 0.00024625868218442132_r8, & + 0.00024434486244215818_r8, 0.00025792958736232745_r8, & + 0.00025798941494989527_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,4) / & + 5.1588964193488561e-06_r8, 5.2038958986610317e-06_r8, & + 4.9151807940433049e-06_r8, 6.6421972107679255e-06_r8, & + 6.7169934731026203e-06_r8, 6.7542233089911877e-06_r8, & + 8.5118247701701226e-06_r8, 8.1085551193219218e-06_r8, & + 8.1159559642360255e-06_r8, 8.16173327690398e-06_r8, & + 8.3968312706203609e-06_r8, 8.8884959570044301e-06_r8, & + 8.8031411786836392e-06_r8, 1.0703806576253211e-05_r8, & + 1.3324454305010954e-05_r8, 1.5756439219851827e-05_r8, & + 2.2362241703100829e-05_r8, 3.2506269764992073e-05_r8, & + 4.3295126387446012e-05_r8, 5.6713426279450897e-05_r8, & + 7.1482673052228945e-05_r8, 8.6060834024520236e-05_r8, & + 9.8205258005814845e-05_r8, 0.00011246837539514472_r8, & + 0.00012329082499855685_r8, 0.00013112730064917996_r8, & + 0.00013514962459220043_r8, 0.0001309669822663615_r8, & + 0.00012187871555129881_r8, 0.00011700837262514922_r8, & + 0.00011763262765928297_r8, 0.00012087744274081579_r8, & + 0.00012626237395514309_r8, 0.00013527069559572262_r8, & + 0.00015136663518714168_r8, 0.0001757618624393436_r8, & + 0.00020104965010991557_r8, 0.00021696682516152076_r8, & + 0.00022390078451399464_r8, 0.00022862834135742074_r8, & + 0.00022957130323425113_r8, 0.00022978500505006736_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,4) / & + 5.2843288274025304e-06_r8, 5.3039563327984564e-06_r8, & + 5.254436725554407e-06_r8, 6.7102184876209569e-06_r8, & + 6.7754641548940966e-06_r8, 6.805188657329979e-06_r8, & + 7.630115290279466e-06_r8, 9.0007102600686143e-06_r8, & + 9.5705690330116553e-06_r8, 9.6664160718340656e-06_r8, & + 9.8065234336078103e-06_r8, 1.0179518514675625e-05_r8, & + 9.4308316818492653e-06_r8, 1.174399303892163e-05_r8, & + 1.4469326632510379e-05_r8, 1.7246603539280409e-05_r8, & + 2.5775334812220327e-05_r8, 3.5727558823826913e-05_r8, & + 4.6304068361589273e-05_r8, 5.9961426591463499e-05_r8, & + 7.5707598805544861e-05_r8, 9.1816969121289393e-05_r8, & + 0.00010521102686121926_r8, 0.00011678691236757615_r8, & + 0.00012460395510742036_r8, 0.0001287728288992558_r8, & + 0.00012889821050080823_r8, 0.00012038306987021841_r8, & + 0.00011163076767135765_r8, 0.0001100599134801547_r8, & + 0.0001131919885268996_r8, 0.0001176578928571811_r8, & + 0.00012292114132434341_r8, 0.00013161223938484655_r8, & + 0.00014459347220017533_r8, 0.00017139105302825346_r8, & + 0.00019975111097866879_r8, 0.00021376585803065039_r8, & + 0.00021895595455732902_r8, 0.00022527838668669317_r8, & + 0.00022531079772102907_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,4) / & + 5.0183115624930004e-06_r8, 5.1034806893426825e-06_r8, & + 5.036483870332602e-06_r8, 5.7434510919151665e-06_r8, & + 6.0312642903299016e-06_r8, 6.3506963300386646e-06_r8, & + 6.4969004908191726e-06_r8, 9.1210394700297324e-06_r8, & + 9.6198943281016674e-06_r8, 1.0165372270601039e-05_r8, & + 1.0856608359621777e-05_r8, 1.1557262947413337e-05_r8, & + 1.2825476537887496e-05_r8, 1.601719481971994e-05_r8, & + 1.9922783755063426e-05_r8, 2.4181702702586038e-05_r8, & + 3.4322196194690161e-05_r8, 4.5512387296363316e-05_r8, & + 5.8284034145590658e-05_r8, 7.3510450009104774e-05_r8, & + 8.8741453486958254e-05_r8, 0.00010279634554928019_r8, & + 0.0001119828747865064_r8, 0.00011675016477825203_r8, & + 0.00011718917812352105_r8, 0.00011490068262801945_r8, & + 0.00011024445506060855_r8, 0.00010006024140314006_r8, & + 9.6583990501892996e-05_r8, 9.9400732600235511e-05_r8, & + 0.00010564587130939921_r8, 0.00011217865351349323_r8, & + 0.00011818325833114725_r8, 0.00012681931940354918_r8, & + 0.00013690003878500697_r8, 0.00016024221719395071_r8, & + 0.00019268211981710728_r8, 0.00021240296601162466_r8, & + 0.00021847457231296608_r8, 0.00022177289789917682_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,4) / & + 6.5040804767260538e-06_r8, 6.584920824179546e-06_r8, & + 6.9313621063796671e-06_r8, 8.4340856928940048e-06_r8, & + 8.8879386090579267e-06_r8, 9.4703851349510347e-06_r8, & + 9.338582034177564e-06_r8, 1.220770325689955e-05_r8, & + 1.3530848292018819e-05_r8, 1.4993526697825194e-05_r8, & + 1.638564593709418e-05_r8, 1.7932382368083994e-05_r8, & + 2.218689743348221e-05_r8, 2.7398573230982901e-05_r8, & + 3.2470861885348531e-05_r8, 3.8448155493288359e-05_r8, & + 5.0825887941837125e-05_r8, 6.402862980348442e-05_r8, & + 7.7602423199221089e-05_r8, 9.1802484931454597e-05_r8, & + 0.00010488762242961416_r8, 0.00011600925074434412_r8, & + 0.00012111144935463046_r8, 0.00012244561753550317_r8, & + 0.00011915875308802112_r8, 0.00011424854524710411_r8, & + 0.00010693804983280491_r8, 9.7060958901933791e-05_r8, & + 9.7437495883238574e-05_r8, 0.00010273835634513129_r8, & + 0.00011052908316048387_r8, 0.00011881011084735358_r8, & + 0.00012616173860486215_r8, 0.00013308808047909367_r8, & + 0.00014729337434056153_r8, 0.00017369585256086958_r8, & + 0.00021234986385837112_r8, 0.00023930085322238553_r8, & + 0.00024655690589577505_r8, 0.00024932524218433167_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,4) / & + 9.0377902110475603e-06_r8, 8.627889352826242e-06_r8, & + 9.0947400619865781e-06_r8, 1.1337906267438122e-05_r8, & + 1.255683793026102e-05_r8, 1.3900626176664549e-05_r8, & + 1.5523986287367438e-05_r8, 1.8722072509096724e-05_r8, & + 2.0848489539845436e-05_r8, 2.2625204262696026e-05_r8, & + 2.4377825457582086e-05_r8, 2.6278805301297544e-05_r8, & + 3.233019252503885e-05_r8, 3.890645485560002e-05_r8, & + 4.4626423082694078e-05_r8, 5.09456651690239e-05_r8, & + 6.4270670878412779e-05_r8, 7.81722370623901e-05_r8, & + 9.2334551259188376e-05_r8, 0.00010471443275377045_r8, & + 0.00011445579979049754_r8, 0.00012156387778368186_r8, & + 0.0001237912659669293_r8, 0.00012302709534639441_r8, & + 0.00011877340445028477_r8, 0.00011339535642535294_r8, & + 0.00010832429341659505_r8, 9.9790091386994697e-05_r8, & + 0.00010005816901789673_r8, 0.00010492637854994877_r8, & + 0.00011554484939534027_r8, 0.00012528809839730049_r8, & + 0.00013366404953396905_r8, 0.00014350307009465066_r8, & + 0.00015944818935195669_r8, 0.00019305734820800006_r8, & + 0.00023254354507869782_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,4) / & + 9.0737592691624887e-06_r8, 8.6449229000295264e-06_r8, & + 9.487512948198493e-06_r8, 1.3407866764729567e-05_r8, & + 1.5896169441070798e-05_r8, 1.8091098195429798e-05_r8, & + 2.102359323855736e-05_r8, 2.4607482175643139e-05_r8, & + 2.7022940932746286e-05_r8, 2.9210367683159872e-05_r8, & + 3.1355086554087784e-05_r8, 3.4534997178273248e-05_r8, & + 3.9936650349933478e-05_r8, 4.6341908115299513e-05_r8, & + 5.2432340980962076e-05_r8, 5.8923645227135336e-05_r8, & + 7.2834116973925813e-05_r8, 8.3794886225727899e-05_r8, & + 9.5792036703374207e-05_r8, 0.00010721211343124549_r8, & + 0.0001155928554556438_r8, 0.00012094447711628466_r8, & + 0.00012255571476574404_r8, 0.0001180420086049349_r8, & + 0.0001106341024805374_r8, 0.00010405437925904819_r8, & + 9.9607295452110379e-05_r8, 9.5101132761712183e-05_r8, & + 9.9894938923067065e-05_r8, 0.00010884057209339785_r8, & + 0.00012034888518183187_r8, 0.00013245944466520077_r8, & + 0.00014388207089433531_r8, 0.00015335491361382085_r8, & + 0.00016172297406122853_r8, 0.00016256295778668226_r8, & + 0.00016407917709062976_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,4) / & + 5.5599672637294678e-06_r8, 6.1565350298425472e-06_r8, & + 8.5351540072249014e-06_r8, 1.3241745064331865e-05_r8, & + 1.8284972933846799e-05_r8, 2.254726227908014e-05_r8, & + 2.6124200411027599e-05_r8, 2.8332402514610295e-05_r8, & + 2.9892160751525468e-05_r8, 3.1650676880633348e-05_r8, & + 3.3194385780112338e-05_r8, 3.570464621340847e-05_r8, & + 4.0401971405750098e-05_r8, 4.6838324828778026e-05_r8, & + 5.4151555230558061e-05_r8, 6.1272546210313367e-05_r8, & + 7.6515314377981813e-05_r8, 8.8458409968733575e-05_r8, & + 0.00010116893679425815_r8, 0.00011268484904997394_r8, & + 0.00011831856512949852_r8, 0.00011977914291265086_r8, & + 0.00011818284575059829_r8, 0.00011236409546250652_r8, & + 0.00010530383826445749_r8, 9.9018376594574474e-05_r8, & + 9.5361911583966309e-05_r8, 9.3971098154249457e-05_r8, & + 0.00010246413040787357_r8, 0.00011355017220687239_r8, & + 0.00012623450205354785_r8, 0.00013795195928722784_r8, & + 0.00014929887150560696_r8, 0.00015966062268146989_r8, & + 0.00017078129689350539_r8, 0.0001776655907005858_r8, & + 0.00018035794974354688_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,4) / & + 5.5417691769794191e-06_r8, 6.9864360112107655e-06_r8, & + 8.7215370714507839e-06_r8, 1.3478070268938736e-05_r8, & + 1.887585468210284e-05_r8, 2.3835474487285503e-05_r8, & + 2.8798381840290097e-05_r8, 3.1132783375638961e-05_r8, & + 3.2440800035886227e-05_r8, 3.5214588559495383e-05_r8, & + 3.67977464921379e-05_r8, 3.8838943133300885e-05_r8, & + 4.2486879497603536e-05_r8, 5.066228858937356e-05_r8, & + 6.0007056026543224e-05_r8, 6.7466640816707933e-05_r8, & + 8.2987661588342456e-05_r8, 9.5991814959346138e-05_r8, & + 0.0001090600269130912_r8, 0.00011968041390381184_r8, & + 0.00012541309394924286_r8, 0.00012626531434433111_r8, & + 0.00012240074471464647_r8, 0.00011570801844074486_r8, & + 0.00010760388364472036_r8, 0.00010104416668788179_r8, & + 9.6959007555524489e-05_r8, 9.7169025588191902e-05_r8, & + 0.00010597547214407427_r8, 0.00011969040182302952_r8, & + 0.00013384756793203745_r8, 0.00014695412460823863_r8, & + 0.00015851616887916837_r8, 0.00017006144251791006_r8, & + 0.00018253414375278101_r8, 0.00019464027719455802_r8, & + 0.00019854919055771312_r8, 0.00019412676863497045_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,4) / & + 8.712623995683892e-06_r8, 8.7049158338486521e-06_r8, & + 1.1708062053736341e-05_r8, 1.766000963772487e-05_r8, & + 2.2165608851186213e-05_r8, 2.7182075261551655e-05_r8, & + 3.2174867547774044e-05_r8, 3.6034524218545377e-05_r8, & + 3.7174372656366987e-05_r8, 4.0162818028733957e-05_r8, & + 4.2112359676345591e-05_r8, 4.4982339323210112e-05_r8, & + 5.0421768439668441e-05_r8, 6.1925102699427143e-05_r8, & + 7.1594463282837934e-05_r8, 7.5287281853538216e-05_r8, & + 9.0025146302769954e-05_r8, 0.0001025348601832457_r8, & + 0.00011628750362202827_r8, 0.00012701605901579819_r8, & + 0.00013242011759522897_r8, 0.00013250927820062538_r8, & + 0.0001270785154122166_r8, 0.00011885867069810749_r8, & + 0.00010956854121792878_r8, 0.00010247970261479702_r8, & + 9.8828003316958724e-05_r8, 9.8135774382508199e-05_r8, & + 0.0001072522169517485_r8, 0.00012315839775707744_r8, & + 0.00014033554502449307_r8, 0.00015582394586022004_r8, & + 0.00016917451638733205_r8, 0.00018121196190976654_r8, & + 0.00019404565853647562_r8, 0.00020965173734396176_r8, & + 0.00021612242860649609_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,4) / & + 1.3413153941378681e-05_r8, 1.0648172502407238e-05_r8, & + 1.4194768760096253e-05_r8, 2.0418341360583328e-05_r8, & + 2.3589291071641955e-05_r8, 2.806574706279227e-05_r8, & + 3.1636174230636503e-05_r8, 3.6151607453610742e-05_r8, & + 3.9133660830593906e-05_r8, 4.1255786182625725e-05_r8, & + 4.2439282020387713e-05_r8, 4.6641081856388553e-05_r8, & + 5.3436096957545211e-05_r8, 6.5633812145437652e-05_r8, & + 7.5085190075223278e-05_r8, 7.7739887680011401e-05_r8, & + 9.1673305315359706e-05_r8, 0.00010487440893015333_r8, & + 0.00011968733126902093_r8, 0.00013107677512519086_r8, & + 0.00013431213282374304_r8, 0.00013359560054470801_r8, & + 0.00012654093728777806_r8, 0.00011820117506326026_r8, & + 0.00010879240862481511_r8, 0.00010098998700115591_r8, & + 9.5868841372747309e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,4) / & + 1.7907857138912391e-05_r8, 1.7805201697765006e-05_r8, & + 9.4192395386076e-06_r8, 4.3868371646800919e-06_r8, & + 4.0744222970369427e-06_r8, 4.2338986974293958e-06_r8, & + 7.1648299498629018e-06_r8, 6.9660070695065935e-06_r8, & + 7.7064055076311499e-06_r8, 9.1273733198270467e-06_r8, & + 9.8776888874116592e-06_r8, 1.0339886636860125e-05_r8, & + 1.2089132306645875e-05_r8, 1.5566264928342237e-05_r8, & + 1.5871352962844564e-05_r8, 1.7534486674252227e-05_r8, & + 2.0599072820329926e-05_r8, 3.0851824925672496e-05_r8, & + 3.1668834847823517e-05_r8, 3.1577781358854062e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,4) / & + 3.1278228145141052e-05_r8, 3.9712251274718286e-05_r8, & + 2.7972437612414085e-05_r8, 2.7764998813516457e-05_r8, & + 2.8461105760046548e-05_r8, 3.2370543558902793e-05_r8, & + 1.7933871190180938e-05_r8, 4.062516549474219e-05_r8, & + 4.4862541949677719e-05_r8, 5.141313098300165e-05_r8, & + 5.3233361295004531e-05_r8, 5.2461947949391304e-05_r8, & + 5.4285975373880695e-05_r8, 5.3927517184969283e-05_r8, & + 5.4917923214571614e-05_r8, 5.8164564139506398e-05_r8, & + 6.7086677279611545e-05_r8, 7.3200056680747705e-05_r8, & + 7.3358397112623206e-05_r8, 7.3188055358384643e-05_r8, & + 7.5519692483340994e-05_r8, 7.4909538150873023e-05_r8, & + 7.3352389206656892e-05_r8, 6.7147544763411016e-05_r8, & + 6.3752294631697561e-05_r8, 6.5220437744740252e-05_r8, & + 6.5614895276850036e-05_r8, 6.5553134716768761e-05_r8, & + 6.189166342481375e-05_r8, 5.9024482395495602e-05_r8, & + 5.9795713929223661e-05_r8, 7.4062624522416552e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,4) / & + 5.3929702950186888e-05_r8, 6.1988381337904061e-05_r8, & + 4.8544485222277032e-05_r8, 5.7183753429824732e-05_r8, & + 6.0462987794669287e-05_r8, 6.6340833947365555e-05_r8, & + 3.20177855476367e-05_r8, 6.6068747165957947e-05_r8, & + 7.0442246138522745e-05_r8, 7.569385417728951e-05_r8, & + 7.7255598863456727e-05_r8, 7.1080435625596675e-05_r8, & + 6.9841963200728742e-05_r8, 6.9460607858920658e-05_r8, & + 6.9230374433057503e-05_r8, 6.9923917607049726e-05_r8, & + 7.7849812224479737e-05_r8, 7.9856158106489709e-05_r8, & + 8.0702773139428564e-05_r8, 8.0716902975219463e-05_r8, & + 8.0980594388347461e-05_r8, 7.9415640167307996e-05_r8, & + 7.8616932479707972e-05_r8, 7.1715875828285181e-05_r8, & + 6.672803587804335e-05_r8, 6.6797228673653151e-05_r8, & + 6.6966629430608988e-05_r8, 6.6989533899647439e-05_r8, & + 6.5368183992799202e-05_r8, 6.4595831773922363e-05_r8, & + 5.2982966275534754e-05_r8, 6.2324098755054598e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,4) / & + 0.00016484179267512377_r8, 0.00010934496657680499_r8, & + 0.00011189632483343893_r8, 0.00013572716765440954_r8, & + 0.0001793866602960029_r8, 0.00017451681454334303_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,4) / & + 0.00027896765699267486_r8, 0.00028993992337877992_r8, & + 0.00032591658988418104_r8, 0.00042267095827374149_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,4) / & + 9.2974299868953502e-05_r8, 7.9884177267567686e-05_r8, & + 8.3666350976736127e-05_r8, 6.1752515498658274e-05_r8, & + 4.5240796359489847e-05_r8, 3.5770625606492722e-05_r8, & + 4.4509685792574615e-05_r8, 3.9276011159738764e-05_r8, & + 3.627647822494588e-05_r8, 3.7192974798949716e-05_r8, & + 4.0747777870637519e-05_r8, 4.0608694719563908e-05_r8, & + 4.0137070190309699e-05_r8, 4.5780859018521495e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,4) / & + 2.6746626981949568e-05_r8, 2.8223976956042913e-05_r8, & + 2.9277303762925767e-05_r8, 3.9522431154240896e-05_r8, & + 4.4298034135569569e-05_r8, 4.5956591973862865e-05_r8, & + 4.8786128518814213e-05_r8, 5.055221995609327e-05_r8, & + 4.961781598827176e-05_r8, 4.7610434704726344e-05_r8, & + 4.9623758558645919e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,4) / & + 3.117461292559359e-05_r8, 3.2030351546747357e-05_r8, & + 3.3299795167517478e-05_r8, 4.1325752877750392e-05_r8, & + 4.5413732507437946e-05_r8, 4.7811763162230642e-05_r8, & + 5.0960283651794076e-05_r8, 5.1554333114043925e-05_r8, & + 5.0488145529856315e-05_r8, 4.8953097761121013e-05_r8, & + 5.0852904359364577e-05_r8, 5.1347492728568194e-05_r8, & + 5.2684423589655911e-05_r8, 5.4236236312284133e-05_r8, & + 5.5291381194946691e-05_r8, 5.4820274052747489e-05_r8, & + 5.6571707977741114e-05_r8, 6.0225824904562199e-05_r8, & + 6.4887031490911188e-05_r8, 7.0986926324806114e-05_r8, & + 7.7588836943433858e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,4) / & + 3.7583357487852691e-05_r8, 3.7825316857232778e-05_r8, & + 3.858844332039056e-05_r8, 4.3145862013804766e-05_r8, & + 4.5742532311810784e-05_r8, 4.8095510168899841e-05_r8, & + 5.1741369507971921e-05_r8, 5.2316791454900565e-05_r8, & + 5.2509472345510675e-05_r8, 5.2842869118085714e-05_r8, & + 5.3304500987345132e-05_r8, 5.3348358766474419e-05_r8, & + 5.3821178440607531e-05_r8, 5.4516190648942621e-05_r8, & + 5.5257324902900851e-05_r8, 5.6074793918783931e-05_r8, & + 5.8595723013086559e-05_r8, 6.2364834978171499e-05_r8, & + 6.8868935922632396e-05_r8, 7.5561125501556837e-05_r8, & + 8.1812666326687886e-05_r8, 8.9064698844269495e-05_r8, & + 9.1713436926588301e-05_r8, 9.4535911711717273e-05_r8, & + 9.7367703454939364e-05_r8, 0.00010092158344309897_r8, & + 0.00010377636312519184_r8, 0.00010788214638316345_r8, & + 0.00011094967123432631_r8, 0.00011110074148999271_r8, & + 0.0001129752514710276_r8, 0.00011447676619042575_r8, & + 0.00011746334227487618_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,4) / & + 4.9084437975237023e-05_r8, 4.8857100773632532e-05_r8, & + 4.8486854288903029e-05_r8, 4.8820835346123366e-05_r8, & + 5.0300206401907084e-05_r8, 5.1486269296090244e-05_r8, & + 5.3183641255722407e-05_r8, 5.4031879929658683e-05_r8, & + 5.4432652069006209e-05_r8, 5.4780492456302679e-05_r8, & + 5.525755196070011e-05_r8, 5.5330996269047702e-05_r8, & + 5.5068290600769124e-05_r8, 5.6403128286421859e-05_r8, & + 5.8317425456654957e-05_r8, 5.9867774729995605e-05_r8, & + 6.289330738737194e-05_r8, 6.6156584867608888e-05_r8, & + 7.1688456422721174e-05_r8, 8.001159791378698e-05_r8, & + 8.6402540832050562e-05_r8, 9.2598436414012902e-05_r8, & + 9.5668795914845051e-05_r8, 9.9492914518113055e-05_r8, & + 0.00010261627090485283_r8, 0.00010602313883951298_r8, & + 0.00010802096929634264_r8, 0.00011022995855833369_r8, & + 0.00010840248812784038_r8, 0.00010738681151401783_r8, & + 0.00010408171246260043_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,4) / & + 5.289529793521748e-05_r8, 5.4295862371093956e-05_r8, & + 5.2377672160201139e-05_r8, 5.0498521864525338e-05_r8, & + 5.3757611434339351e-05_r8, 5.4494049252733806e-05_r8, & + 5.6868002518425008e-05_r8, 5.6522862352856053e-05_r8, & + 5.6037656381456673e-05_r8, 5.552601600495456e-05_r8, & + 5.5945631104390143e-05_r8, 5.6949400190979516e-05_r8, & + 5.7096137272352885e-05_r8, 5.8444809238200794e-05_r8, & + 5.9856424796254675e-05_r8, 6.1342086437609874e-05_r8, & + 6.4793442952454746e-05_r8, 6.7393028820319825e-05_r8, & + 7.2429817413321974e-05_r8, 8.1590630715868269e-05_r8, & + 8.825683557619457e-05_r8, 9.3385425750718305e-05_r8, & + 9.7011854650165183e-05_r8, 0.0001015026964666114_r8, & + 0.00010462943287735788_r8, 0.00010784130497777257_r8, & + 0.00010931421738922038_r8, 0.00011162166143521996_r8, & + 0.000110420689230589_r8, 0.00010837052524600407_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,4) / & + 5.5388165844851048e-05_r8, 5.9616172025451372e-05_r8, & + 4.8563303268717074e-05_r8, 5.2447212541797721e-05_r8, & + 5.6249082677239081e-05_r8, 5.9182822880865522e-05_r8, & + 6.2082087964546813e-05_r8, 5.8242717705853497e-05_r8, & + 5.5879975599240023e-05_r8, 5.6459726935900698e-05_r8, & + 5.6754892704245391e-05_r8, 5.7568202085739671e-05_r8, & + 6.0025377863210226e-05_r8, 6.1745986671499155e-05_r8, & + 6.3477207615482507e-05_r8, 6.475854322780961e-05_r8, & + 6.8126345312204738e-05_r8, 7.1976416315702266e-05_r8, & + 7.6158183343349751e-05_r8, 8.0518039093643325e-05_r8, & + 8.5714861938825476e-05_r8, 8.9522619404389935e-05_r8, & + 9.2640070398876935e-05_r8, 9.6749046563017864e-05_r8, & + 0.00010087524398144402_r8, 0.00010353306416518834_r8, & + 0.00010633286988523856_r8, 0.00011066451514406419_r8, & + 0.00011305728975693981_r8, 0.00011348087707609889_r8, & + 0.00011498574408538605_r8, 0.00011672527113588512_r8, & + 0.00011795024434391964_r8, 0.00011904085697279473_r8, & + 0.00011989475951316972_r8, 0.00011863668439921014_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,4) / & + 7.5419851940776041e-05_r8, 8.5045947115607116e-05_r8, & + 7.8893197295074855e-05_r8, 0.00010011863545392055_r8, & + 9.5428494123900889e-05_r8, 9.8348747084776734e-05_r8, & + 9.3310658500418581e-05_r8, 7.7027592659929779e-05_r8, & + 6.1572837807856876e-05_r8, 6.3535109312479405e-05_r8, & + 6.3850021619520444e-05_r8, 6.3692042701742356e-05_r8, & + 6.4669061672456815e-05_r8, 6.6867114106635892e-05_r8, & + 6.8052832267293512e-05_r8, 6.9134427048525292e-05_r8, & + 6.9059306563518756e-05_r8, 7.169142012193655e-05_r8, & + 7.4002378234220054e-05_r8, 7.6631063494014739e-05_r8, & + 8.0443878730998775e-05_r8, 8.2527378780644509e-05_r8, & + 8.6752186367839644e-05_r8, 9.1736611287217816e-05_r8, & + 9.5720511395261002e-05_r8, 9.9380554151884835e-05_r8, & + 0.00010249905822942014_r8, 0.00011049686590486984_r8, & + 0.00011344134754364736_r8, 0.00011551206554548145_r8, & + 0.00011681846023143087_r8, 0.00011888247732419874_r8, & + 0.00012019561641851033_r8, 0.00012118269075875315_r8, & + 0.0001219561488040129_r8, 0.00012111979823303562_r8, & + 0.00012109715535389447_r8, 0.00012110760961697495_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,4) / & + 8.4485136519806353e-05_r8, 0.00010445638793599762_r8, & + 0.00010189370135521752_r8, 0.00013025571559871575_r8, & + 0.00013310687288050079_r8, 0.00013082636773312348_r8, & + 0.00011674737559192925_r8, 8.1239758318965401e-05_r8, & + 6.9380232729128452e-05_r8, 7.0500176971878821e-05_r8, & + 6.9850378298198015e-05_r8, 6.9168128862551895e-05_r8, & + 6.7107992020934616e-05_r8, 6.9037430306275919e-05_r8, & + 6.9953880343466663e-05_r8, 7.1335339007770892e-05_r8, & + 7.1253772275585594e-05_r8, 7.2695592345216125e-05_r8, & + 7.5000756898898897e-05_r8, 7.8016074786572598e-05_r8, & + 8.1474300735072844e-05_r8, 8.4647184187063324e-05_r8, & + 8.8826720690428145e-05_r8, 9.3396117570244256e-05_r8, & + 9.8090315467606252e-05_r8, 0.00010242654254726532_r8, & + 0.00010776993053952042_r8, 0.00011746332719432889_r8, & + 0.00011838940617395746_r8, 0.00011875611469855588_r8, & + 0.00011948145473911469_r8, 0.00012065827111236737_r8, & + 0.0001215364906355701_r8, 0.00012170417381818986_r8, & + 0.00012221260376623258_r8, 0.0001225330545965379_r8, & + 0.00012432045612663717_r8, 0.00012447461897392381_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,5) / & + 0.00011417829343833142_r8, 0.00011386663337748384_r8, & + 0.0001149468759088611_r8, 0.00012326698361307233_r8, & + 0.00012545992789837681_r8, 0.00013169105401695063_r8, & + 0.00013962234312256687_r8, 0.00014545913341005055_r8, & + 0.00014935876343163029_r8, 0.00015239975155740014_r8, & + 0.00015439551177274022_r8, 0.00016264809972247482_r8, & + 0.00018411707869322069_r8, 0.00019646466182090944_r8, & + 0.00020138949292538701_r8, 0.00020315262933133066_r8, & + 0.00020965424388547172_r8, 0.00021511154809140297_r8, & + 0.00022691110166514651_r8, 0.00022718606598004943_r8, & + 0.00023201663185170009_r8, 0.00023595763793739816_r8, & + 0.00023841156257368927_r8, 0.00024151826761896337_r8, & + 0.00024339726836759219_r8, 0.00024462639294923371_r8, & + 0.0002452534316643164_r8, 0.00024732444675273761_r8, & + 0.00024974738183996018_r8, 0.00025400149426224009_r8, & + 0.00026000099815506747_r8, 0.00026144633575065192_r8, & + 0.00023314738493983392_r8, 0.00023975757161517691_r8, & + 0.0002636403991529881_r8, 0.00026411289677662718_r8, & + 0.00026484910452338729_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,5) / & + 0.00010442431637863957_r8, 0.00010068757267131564_r8, & + 0.00010837707496381242_r8, 0.00012414605941738369_r8, & + 0.00012673677122089513_r8, 0.00013212111029899465_r8, & + 0.00014607478719197613_r8, 0.00015390304896726557_r8, & + 0.00016053648554641516_r8, 0.00016910669506449281_r8, & + 0.00017520238545544277_r8, 0.00018261355507075101_r8, & + 0.00019688983852659016_r8, 0.00020558559077956607_r8, & + 0.00020972507858606004_r8, 0.00021263966934383563_r8, & + 0.00021899419751248374_r8, 0.0002237956595427294_r8, & + 0.00023332065112582169_r8, 0.00023686232142733506_r8, & + 0.00024078919514729545_r8, 0.00024567135191732594_r8, & + 0.00024819312536883967_r8, 0.00025088242056818663_r8, & + 0.00025298642837740594_r8, 0.00025427570794906888_r8, & + 0.00025543147192577447_r8, 0.00025706397377299109_r8, & + 0.00025967152621773378_r8, 0.00026192437079677292_r8, & + 0.00026466476013361606_r8, 0.00026461678790737358_r8, & + 0.0002490482161095771_r8, 0.00025110458936120056_r8, & + 0.0002643471456620426_r8, 0.00026546787041605143_r8, & + 0.00026692481100957534_r8, 0.0002669249692980325_r8, & + 0.00026439057662121831_r8, 0.00026299304143090769_r8, & + 0.00025680433443091939_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,5) / & + 0.00010026838509627011_r8, 9.4639413507337827e-05_r8, & + 0.0001051926003983489_r8, 0.00012112824211267658_r8, & + 0.00012254759619636878_r8, 0.0001290061777301501_r8, & + 0.00014346205380478551_r8, 0.000150814482997624_r8, & + 0.00016379911831314472_r8, 0.00018028102914519431_r8, & + 0.00019134885607249676_r8, 0.0002001944345257752_r8, & + 0.00021091474953951412_r8, 0.00021883333506827844_r8, & + 0.00022333522153293004_r8, 0.00022744663280162004_r8, & + 0.00023526640991476574_r8, 0.00023834900428988581_r8, & + 0.00024414063107418624_r8, 0.00024775463267125971_r8, & + 0.00025225508276886918_r8, 0.00025748890840156127_r8, & + 0.00026006002567155543_r8, 0.00026155323153597321_r8, & + 0.000263394201502761_r8, 0.00026462161169176157_r8, & + 0.00026604718590190742_r8, 0.00026776705899356001_r8, & + 0.00026874794937105828_r8, 0.00026869944949970141_r8, & + 0.00026811035457117213_r8, 0.00026681457371606639_r8, & + 0.00026501093460323588_r8, 0.00026374862225821849_r8, & + 0.00026374527807076668_r8, 0.0002643952810473718_r8, & + 0.00026485176991083997_r8, 0.00026412519095843725_r8, & + 0.00026220790507437865_r8, 0.00026017760573287309_r8, & + 0.00025637821600898612_r8, 0.00025501029495527278_r8, & + 0.00025502868057819479_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,5) / & + 0.00010759006570634955_r8, 0.00010502783813792417_r8, & + 0.00011002010843324947_r8, 0.00012237197168915825_r8, & + 0.00012297859127139953_r8, 0.0001275818435960032_r8, & + 0.00013839459375767927_r8, 0.00014944170750523931_r8, & + 0.00015846665002623099_r8, 0.00017829144852231384_r8, & + 0.00019512864482167338_r8, 0.0002083283045504179_r8, & + 0.000224634151593531_r8, 0.00023273368712869004_r8, & + 0.00023556479632446414_r8, 0.00023943394334487769_r8, & + 0.00024514669495728428_r8, 0.00024883603741732645_r8, & + 0.00025216635029381594_r8, 0.00025487294364829189_r8, & + 0.00025693025039077386_r8, 0.00026081027570000909_r8, & + 0.00026198732564488452_r8, 0.00026255994679277384_r8, & + 0.00026316088114184381_r8, 0.00026364050211058736_r8, & + 0.00026386197071369345_r8, 0.00026415111620067567_r8, & + 0.00026403296507157938_r8, 0.00026326302663947753_r8, & + 0.00026249301805068338_r8, 0.00026194596158056487_r8, & + 0.00026141652856348627_r8, 0.00026077012849851539_r8, & + 0.00026001027324304839_r8, 0.00025930758858679699_r8, & + 0.00025848670048367306_r8, 0.00025756852633124824_r8, & + 0.00025615435244716968_r8, 0.00025444983445205164_r8, & + 0.00025434735153040346_r8, 0.00025420461336199011_r8, & + 0.00025394720738234217_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,5) / & + 9.9423983751596555e-05_r8, 9.8178212178994204e-05_r8, & + 9.3599168077723691e-05_r8, 0.00011783945349523913_r8, & + 0.00011741588701318273_r8, 0.00011737928685581447_r8, & + 0.00011962098009052248_r8, 0.0001308712873812001_r8, & + 0.00014126850782874125_r8, 0.00015460377752534935_r8, & + 0.00016673949334186143_r8, 0.00017688674282070307_r8, & + 0.00019041333351397214_r8, 0.0001995299360279836_r8, & + 0.00020217188868370441_r8, 0.0002064656913180149_r8, & + 0.00021383825633127806_r8, 0.00021952354592283928_r8, & + 0.00022551051160368742_r8, 0.00022975128278649395_r8, & + 0.00023263270527611245_r8, 0.00023551551901065525_r8, & + 0.00023745723516213892_r8, 0.00024012520648580371_r8, & + 0.0002428615576389588_r8, 0.00024578524608520711_r8, & + 0.000247889569342742_r8, 0.00025295115539792734_r8, & + 0.00025662958818673518_r8, 0.00025906690886732668_r8, & + 0.00026004581628392439_r8, 0.00026083535423347009_r8, & + 0.00026103677594166235_r8, 0.00026049710215546925_r8, & + 0.00025975904392924542_r8, 0.0002589174393855542_r8, & + 0.00025832300256815741_r8, 0.00025727722337165666_r8, & + 0.00025515078052607568_r8, 0.00025215188160131234_r8, & + 0.00025232505142370375_r8, 0.00025298986340922824_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,5) / & + 5.9374483027657176e-05_r8, 5.8267765330008755e-05_r8, & + 4.3877136143856537e-05_r8, 4.6190502489964721e-05_r8, & + 4.6063412072681379e-05_r8, 4.6100662590249265e-05_r8, & + 4.5022685133267167e-05_r8, 5.3208818835135076e-05_r8, & + 6.2414137437528225e-05_r8, 7.2564143899815287e-05_r8, & + 8.2261473260252551e-05_r8, 8.8759975911765145e-05_r8, & + 9.9875431096932825e-05_r8, 0.000111204711401316_r8, & + 0.00011726645075139618_r8, 0.00012521183776306529_r8, & + 0.00013910446032017496_r8, 0.00015093766349944345_r8, & + 0.0001597544196414681_r8, 0.00016693679136206015_r8, & + 0.00017006694712830837_r8, 0.00017312771212007254_r8, & + 0.00017597156522351648_r8, 0.00017824948222568807_r8, & + 0.00018005489520038709_r8, 0.00018205363838836826_r8, & + 0.00018432694623293048_r8, 0.00019153266621941309_r8, & + 0.00020458730693292656_r8, 0.00021484200289192346_r8, & + 0.00022371387857516729_r8, 0.00023097181361097773_r8, & + 0.00023861724464640594_r8, 0.00024391486632688311_r8, & + 0.0002515437817787997_r8, 0.00025714234966652742_r8, & + 0.00026250432511561519_r8, 0.00026819087296274568_r8, & + 0.0002711852528914669_r8, 0.0002725081592956043_r8, & + 0.00027420062407787819_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,5) / & + 2.2545823126922232e-05_r8, 2.2309170829777356e-05_r8, & + 1.0296017770730494e-05_r8, 1.1972914312262501e-05_r8, & + 1.2550612136074555e-05_r8, 1.2533816446391803e-05_r8, & + 1.2913746143339083e-05_r8, 1.501390626397946e-05_r8, & + 1.7938866819920452e-05_r8, 2.1869388899660698e-05_r8, & + 2.5689363615187518e-05_r8, 2.8900038852286515e-05_r8, & + 3.4057092658548798e-05_r8, 3.92851407590843e-05_r8, & + 4.369594800176391e-05_r8, 4.9089462588164338e-05_r8, & + 6.1486301251465953e-05_r8, 7.6677720190738099e-05_r8, & + 9.108931773596118e-05_r8, 0.0001047312734256239_r8, & + 0.00011768759270833955_r8, 0.00012908567294195547_r8, & + 0.00013680171734544526_r8, 0.0001407029203525898_r8, & + 0.00014438154118317926_r8, 0.00014683370410418958_r8, & + 0.00014755296723058974_r8, 0.0001472437848498653_r8, & + 0.00014896427588567882_r8, 0.00015378995987296598_r8, & + 0.00016117215594651192_r8, 0.00017106203183904221_r8, & + 0.00018725619153512937_r8, 0.0002018111209865059_r8, & + 0.00021661272028489402_r8, 0.00023248744354540421_r8, & + 0.00024475172905296484_r8, 0.00025809736739469842_r8, & + 0.00026502119401482709_r8, 0.00026703677267742607_r8, & + 0.00026397700023011078_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,5) / & + 9.2126472465267818e-06_r8, 8.9573459764498064e-06_r8, & + 6.3063552337820139e-06_r8, 8.1125827023608295e-06_r8, & + 8.4575420392119959e-06_r8, 8.4986786369773638e-06_r8, & + 9.3467325132339618e-06_r8, 9.1442616536344459e-06_r8, & + 9.8502148205507257e-06_r8, 1.0929547644402844e-05_r8, & + 1.2067051031491375e-05_r8, 1.3886339092744378e-05_r8, & + 1.6468011688060542e-05_r8, 1.9229592048714201e-05_r8, & + 2.277236050073056e-05_r8, 2.6693957683043884e-05_r8, & + 3.5200482092192482e-05_r8, 4.5531545996159887e-05_r8, & + 5.7983707081808025e-05_r8, 7.1848898703856905e-05_r8, & + 8.7690138494892796e-05_r8, 0.00010382746978120379_r8, & + 0.00011584602844879062_r8, 0.00012694912515915507_r8, & + 0.00013309146471519732_r8, 0.00013737973548722221_r8, & + 0.00013878503096236494_r8, 0.00013652508562586301_r8, & + 0.00013120209774164233_r8, 0.0001297550259659433_r8, & + 0.00013157472981461746_r8, 0.00013621895153084686_r8, & + 0.00014702448896752662_r8, 0.00016189401742284896_r8, & + 0.0001793542767594455_r8, 0.00020372995364252111_r8, & + 0.00022332655853918177_r8, 0.00024053000648026915_r8, & + 0.00025324072343101817_r8, 0.00025873073277908073_r8, & + 0.00025816917440672109_r8, 0.00025925199457702935_r8, & + 0.00025942726575116967_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,5) / & + 7.3981279455723236e-06_r8, 7.1590898064905416e-06_r8, & + 6.8895991222081034e-06_r8, 8.3235934425764821e-06_r8, & + 8.8875325291751789e-06_r8, 8.7275196516775045e-06_r8, & + 9.8294395889549774e-06_r8, 8.8144941033823011e-06_r8, & + 9.699741023718095e-06_r8, 1.0500953659212268e-05_r8, & + 1.0877097650670386e-05_r8, 1.1433519493373334e-05_r8, & + 1.2576797383853957e-05_r8, 1.5072491260202947e-05_r8, & + 1.6823033708852558e-05_r8, 1.9824607737793177e-05_r8, & + 2.8812901499645873e-05_r8, 3.9099733960456898e-05_r8, & + 5.1368217052156528e-05_r8, 6.5111478763146756e-05_r8, & + 7.935210214586476e-05_r8, 9.1861910764718465e-05_r8, & + 0.00010600043591443426_r8, 0.00012014571514371787_r8, & + 0.00012850090275506355_r8, 0.00013260144016143902_r8, & + 0.00013404904300489743_r8, 0.00012684667895068965_r8, & + 0.00011872881146679506_r8, 0.00011553282997936213_r8, & + 0.00011725519703613277_r8, 0.00012051403888631835_r8, & + 0.00012681354773608227_r8, 0.00013829768403854066_r8, & + 0.00015904476383463549_r8, 0.0001854405543499546_r8, & + 0.00021101844469235316_r8, 0.00022517580983916419_r8, & + 0.00023497121535578022_r8, 0.00024130403505535751_r8, & + 0.00023982293568406186_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,5) / & + 7.6124894980579762e-06_r8, 7.4546290705527004e-06_r8, & + 8.188628216557305e-06_r8, 8.9850636014222461e-06_r8, & + 9.5885903201901153e-06_r8, 9.7489360361504354e-06_r8, & + 1.0591200497884241e-05_r8, 1.1743510050518994e-05_r8, & + 1.2838769131339579e-05_r8, 1.35180670564002e-05_r8, & + 1.400270028259829e-05_r8, 1.4409051845951943e-05_r8, & + 1.4882504217179422e-05_r8, 1.8928659165331238e-05_r8, & + 2.1923182045307929e-05_r8, 2.6319654286039928e-05_r8, & + 3.6961068821662244e-05_r8, 4.6727187330331919e-05_r8, & + 5.9298201549924869e-05_r8, 7.4292981317043426e-05_r8, & + 8.923351225801112e-05_r8, 0.00010340847810425495_r8, & + 0.00011515613869591778_r8, 0.00012358861359240345_r8, & + 0.00012823395804225548_r8, 0.00012916917010081356_r8, & + 0.00012708572691177197_r8, 0.00011639229051726613_r8, & + 0.00010841984512904653_r8, 0.00010801257410826524_r8, & + 0.00011121288564205475_r8, 0.00011604605949405754_r8, & + 0.00012217324565770381_r8, 0.0001339755433303243_r8, & + 0.00015262668539276438_r8, 0.00018331620316714889_r8, & + 0.00020868476926296918_r8, 0.00021896251684893305_r8, & + 0.00022436848732158046_r8, 0.00023068927508407532_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,5) / & + 6.915808075315561e-06_r8, 6.9219011141399741e-06_r8, & + 7.8511424107643994e-06_r8, 8.6958924926006848e-06_r8, & + 1.0059504950354822e-05_r8, 1.1109753616118786e-05_r8, & + 1.2018088413877604e-05_r8, 1.361585186469773e-05_r8, & + 1.4138260152683193e-05_r8, 1.4969002490525513e-05_r8, & + 1.5337417212957957e-05_r8, 1.5892759706079403e-05_r8, & + 1.6384597906928803e-05_r8, 2.017007397511872e-05_r8, & + 2.4023486961013878e-05_r8, 2.9029269678442347e-05_r8, & + 3.9332970921323607e-05_r8, 5.0028272443116796e-05_r8, & + 6.3325361458081993e-05_r8, 7.8779637713507461e-05_r8, & + 9.3371172439090036e-05_r8, 0.00010670261317270491_r8, & + 0.00011552214146934275_r8, 0.00012011958719708134_r8, & + 0.00012132638151433158_r8, 0.00012009557838642162_r8, & + 0.00011729443436808883_r8, 0.0001068129273362678_r8, & + 9.9458077196950257e-05_r8, 0.0001020617045197514_r8, & + 0.00010751341592791288_r8, 0.0001156499025287029_r8, & + 0.00012148530918073305_r8, 0.00013310365169723264_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,5) / & + 6.3375993493939806e-06_r8, 6.6335269973072388e-06_r8, & + 7.2937217149129998e-06_r8, 8.9056479967935089e-06_r8, & + 1.0064907366892082e-05_r8, 1.1873888707124221e-05_r8, & + 1.2659780403684204e-05_r8, 1.465435797577004e-05_r8, & + 1.5235163411280408e-05_r8, 1.6507047862866675e-05_r8, & + 1.747060352807664e-05_r8, 1.8361660670286195e-05_r8, & + 2.1828478293622988e-05_r8, 2.6159031120773711e-05_r8, & + 3.1721915485176074e-05_r8, 3.8069241555249548e-05_r8, & + 4.957215446271747e-05_r8, 6.2506453624918039e-05_r8, & + 7.6597051103569956e-05_r8, 9.2394549911970286e-05_r8, & + 0.00010735089840399938_r8, 0.0001196230445964033_r8, & + 0.0001257451405950107_r8, 0.00012837910072691124_r8, & + 0.00012563425037618079_r8, 0.00012054179227924299_r8, & + 0.00011357871426857128_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,5) / & + 9.5220601599713781e-06_r8, 9.3450342952667026e-06_r8, & + 1.0049762952484877e-05_r8, 1.1549016205239928e-05_r8, & + 1.3026422141533945e-05_r8, 1.4761082373602917e-05_r8, & + 1.715209043933801e-05_r8, 1.9570860293232882e-05_r8, & + 2.044189371177245e-05_r8, 2.1053011996162185e-05_r8, & + 2.2274596614825862e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,5) / & + 1.6004820769312783e-05_r8, 1.6194689083163676e-05_r8, & + 1.9970950895031864e-05_r8, 1.7389650259448608e-05_r8, & + 1.5316788225384611e-05_r8, 1.5428511194953693e-05_r8, & + 1.4199295651561427e-05_r8, 8.9129310010378615e-06_r8, & + 9.8457593796694482e-06_r8, 1.2166812855223615e-05_r8, & + 2.0016434585294454e-05_r8, 1.6441770240488693e-05_r8, & + 1.7020942713695856e-05_r8, 1.882311073041233e-05_r8, & + 2.0385263464541079e-05_r8, 2.1654947150738261e-05_r8, & + 2.4612520625486235e-05_r8, 2.4307061054724942e-05_r8, & + 2.9398602363990792e-05_r8, 3.0464835092938501e-05_r8, & + 3.1004464773597806e-05_r8, 3.2663517724365144e-05_r8, & + 3.3149385488933144e-05_r8, 3.5116896781148507e-05_r8, & + 3.6939420675782498e-05_r8, 4.1311489535038304e-05_r8, & + 4.2816802668365061e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,5) / & + 1.2471723259113525e-05_r8, 1.3196006274393113e-05_r8, & + 1.3440609626723734e-05_r8, 1.0465249353469422e-05_r8, & + 8.8675473854194334e-06_r8, 8.8358509243720726e-06_r8, & + 1.1676837985135526e-05_r8, 8.2230557304285582e-06_r8, & + 8.6640840571995811e-06_r8, 1.0203871098029535e-05_r8, & + 1.2811813719319907e-05_r8, 1.2304255800032018e-05_r8, & + 1.394293423433549e-05_r8, 1.6857192534517106e-05_r8, & + 1.7983405298719781e-05_r8, 1.8959535536865172e-05_r8, & + 2.2924977419345604e-05_r8, 2.384717373330861e-05_r8, & + 2.7231356548526473e-05_r8, 2.7718803254287315e-05_r8, & + 2.7057266360294778e-05_r8, 2.9739765720371364e-05_r8, & + 3.0397608355351836e-05_r8, 3.0409199578736661e-05_r8, & + 3.2119357200543268e-05_r8, 3.3393944273755173e-05_r8, & + 3.4252626277462632e-05_r8, 3.375697293758106e-05_r8, & + 3.3887509035569571e-05_r8, 3.2289660497864785e-05_r8, & + 3.5325179567217559e-05_r8, 3.2678442536274886e-05_r8, & + 3.6933544343198941e-05_r8, 4.2730895749921759e-05_r8, & + 4.1932330640296817e-05_r8, 4.273402645397531e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,5) / & + 1.5734279522654401e-05_r8, 2.1093796623854433e-05_r8, & + 1.9502195107115354e-05_r8, 1.8976888869223301e-05_r8, & + 1.7333175550025808e-05_r8, 1.8273885336487156e-05_r8, & + 1.1203781000468335e-05_r8, 2.3721078318550669e-05_r8, & + 2.5802330608239154e-05_r8, 2.8911422717448811e-05_r8, & + 3.1456288540016402e-05_r8, 2.847476687356926e-05_r8, & + 2.6665829334087224e-05_r8, 2.8955649579710848e-05_r8, & + 2.9649747757169538e-05_r8, 3.0577269697382857e-05_r8, & + 3.5322483115653316e-05_r8, 3.9991015538890586e-05_r8, & + 4.0693842645462729e-05_r8, 4.1185093351194558e-05_r8, & + 4.1132512819615256e-05_r8, 4.3968431646144761e-05_r8, & + 4.4230387018057543e-05_r8, 4.3529431711243586e-05_r8, & + 4.0859946567605706e-05_r8, 3.994148846314402e-05_r8, & + 4.0069765121881636e-05_r8, 4.0101928816069976e-05_r8, & + 4.0331576997603434e-05_r8, 4.0005048768341403e-05_r8, & + 4.1023144053897483e-05_r8, 3.4428849393506021e-05_r8, & + 3.7311296437969213e-05_r8, 3.9865643602292478e-05_r8, & + 4.4458831864762126e-05_r8, 4.8448612858721292e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,5) / & + 6.3935384520877857e-05_r8, 6.1583263160663559e-05_r8, & + 5.7830179521858933e-05_r8, 6.7922013625558843e-05_r8, & + 8.2102516938030638e-05_r8, 9.6997024420301969e-05_r8, & + 0.00010766381761032576_r8, 0.00011208411974554641_r8, & + 9.3485492937217049e-05_r8, 8.3600975796305058e-05_r8, & + 7.818511021154441e-05_r8, 9.2889166617212619e-05_r8, & + 7.9935382610956901e-05_r8, 8.1071492521943894e-05_r8, & + 3.8903156971164775e-05_r8, 3.7565561721432088e-05_r8, & + 3.9665481772776736e-05_r8, 3.9332858243965739e-05_r8, & + 3.9530331088931542e-05_r8, 4.012013056087191e-05_r8, & + 4.019512000853311e-05_r8, 4.5737812170771228e-05_r8, & + 4.2198496087445759e-05_r8, 5.4247866748945759e-05_r8, & + 5.5923483305945313e-05_r8, 5.6408058705100554e-05_r8, & + 5.6664103613449091e-05_r8, 5.9588680145145085e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,5) / & + 0.00014776173821782918_r8, 0.00011404703710922638_r8, & + 9.6422859309143284e-05_r8, 0.00010143435422535232_r8, & + 0.00012770583446357342_r8, 0.00015053646349328596_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,5) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,37,5) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,38,5) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,39,5) / & + 3.4654551803706566e-05_r8, 3.5396481682817918e-05_r8, & + 3.6002566791291661e-05_r8, 4.2471912027572883e-05_r8, & + 4.5828561603114391e-05_r8, 4.8530393954915745e-05_r8, & + 5.1684327827327827e-05_r8, 5.183171684388062e-05_r8, & + 5.094667148804206e-05_r8, 5.0181115502495121e-05_r8, & + 5.1374394564537442e-05_r8, 5.1450394624193278e-05_r8, & + 5.2222919296517059e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,5) / & + 4.0075698016986156e-05_r8, 4.0324008746477672e-05_r8, & + 4.1245195341608878e-05_r8, 4.2515223306896387e-05_r8, & + 4.5067005931452697e-05_r8, 4.8182781318905469e-05_r8, & + 5.1290697861014288e-05_r8, 5.2497627516187154e-05_r8, & + 5.3306118910235134e-05_r8, 5.389150159135181e-05_r8, & + 5.4880519286197162e-05_r8, 5.5110998977371283e-05_r8, & + 5.5535452981157869e-05_r8, 5.5813756374494053e-05_r8, & + 5.6655352133934918e-05_r8, 5.6096935884189305e-05_r8, & + 5.8875002950599903e-05_r8, 6.2580341962623583e-05_r8, & + 6.9917948558423216e-05_r8, 7.7037076582628518e-05_r8, & + 8.3224549443290969e-05_r8, 9.0619739746410308e-05_r8, & + 9.2965327705099603e-05_r8, 9.5145531429364691e-05_r8, & + 9.7946742411042352e-05_r8, 0.00010150619836071967_r8, & + 0.00010421414801861424_r8, 0.00010809340588340228_r8, & + 0.00011111200137998201_r8, 0.00011096208190614533_r8, & + 0.00011296242387531403_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,5) / & + 4.9006892102489575e-05_r8, 4.9158548306795738e-05_r8, & + 4.9128179806576551e-05_r8, 5.240448379457088e-05_r8, & + 5.4109312703302373e-05_r8, 5.5352531353200102e-05_r8, & + 5.6483198344142415e-05_r8, 5.6957974726570478e-05_r8, & + 5.7062727806568563e-05_r8, 5.6624631461734666e-05_r8, & + 5.6595373206658329e-05_r8, 5.6440951382678206e-05_r8, & + 5.6685076574228238e-05_r8, 5.7755156787318654e-05_r8, & + 5.9523936253935625e-05_r8, 6.057159496840803e-05_r8, & + 6.2491556190040796e-05_r8, 6.5915542449184822e-05_r8, & + 7.1865902251327501e-05_r8, 8.0210825446496833e-05_r8, & + 8.6568887521334435e-05_r8, 9.2970487340704249e-05_r8, & + 9.5880559197971345e-05_r8, 9.9439264972326843e-05_r8, & + 0.00010254617525819566_r8, 0.00010599342037201149_r8, & + 0.00010792460013089088_r8, 0.00010980586168295673_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,5) / & + 5.1070154537849881e-05_r8, 5.2988340240505293e-05_r8, & + 5.0158058111634465e-05_r8, 5.351748713708895e-05_r8, & + 5.6271928354861542e-05_r8, 5.71113514888493e-05_r8, & + 5.9368331070078841e-05_r8, 5.8910331937257544e-05_r8, & + 5.8570432838929259e-05_r8, 5.7360133901144411e-05_r8, & + 5.6450168540318268e-05_r8, 5.6840171237076085e-05_r8, & + 5.702224358520421e-05_r8, 5.8140952636797384e-05_r8, & + 5.9998638088083907e-05_r8, 6.1423071413690768e-05_r8, & + 6.4829554764974531e-05_r8, 6.7463420183677472e-05_r8, & + 7.2667603358951723e-05_r8, 8.1833649912498087e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,5) / & + 5.3421161799034561e-05_r8, 5.6219923992048813e-05_r8, & + 4.3941482022658616e-05_r8, 4.678044328815834e-05_r8, & + 5.1146511978562391e-05_r8, 5.4414846799819655e-05_r8, & + 5.8072957683172133e-05_r8, 5.4538348439035348e-05_r8, & + 5.3406756830720927e-05_r8, 5.454987795056046e-05_r8, & + 5.5434279003716416e-05_r8, 5.6237886254064992e-05_r8, & + 5.9282567874010449e-05_r8, 6.1034157580240149e-05_r8, & + 6.2784075770092892e-05_r8, 6.4155961199409195e-05_r8, & + 6.7309323376336128e-05_r8, 7.1374165541544554e-05_r8, & + 7.5218986022457175e-05_r8, 7.9957739372461673e-05_r8, & + 8.4425033107110958e-05_r8, 8.8657523478358739e-05_r8, & + 9.2073435978971618e-05_r8, 9.6843537460745472e-05_r8, & + 0.00010101269275550429_r8, 0.00010379100543950033_r8, & + 0.0001064603582202652_r8, 0.00011093996653235471_r8, & + 0.00011341672605340656_r8, 0.00011409636282919524_r8, & + 0.00011552888791926579_r8, 0.0001169470034416903_r8, & + 0.00011817444854056595_r8, 0.00011913141484690234_r8, & + 0.00011968102822342632_r8, 0.00011877793774235588_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,5) / & + 7.2740731032926005e-05_r8, 8.1882025141974196e-05_r8, & + 7.5231859782740851e-05_r8, 9.1501108642443813e-05_r8, & + 8.7086322460047717e-05_r8, 9.0226188979648919e-05_r8, & + 8.603087588553866e-05_r8, 7.0581037609135526e-05_r8, & + 5.93056629271476e-05_r8, 6.1689888732075385e-05_r8, & + 6.2234654883589862e-05_r8, 6.2183306503746968e-05_r8, & + 6.3388047243704226e-05_r8, 6.553465844083106e-05_r8, & + 6.692095258477399e-05_r8, 6.8110407374195043e-05_r8, & + 6.8561803906157622e-05_r8, 7.1116419821887705e-05_r8, & + 7.3480825959071179e-05_r8, 7.6148028896757034e-05_r8, & + 7.9904353903437547e-05_r8, 8.2330501509424314e-05_r8, & + 8.6491822486715056e-05_r8, 9.1485290988797507e-05_r8, & + 9.5572211586219735e-05_r8, 9.9224777395021211e-05_r8, & + 0.0001024802405107084_r8, 0.00011030602254639941_r8, & + 0.00011340061257711087_r8, 0.00011546127939950708_r8, & + 0.00011685471590733988_r8, 0.00011891730168893336_r8, & + 0.00012025116120272129_r8, 0.00012134028305001142_r8, & + 0.0001218671645001602_r8, 0.00012114379378396231_r8, & + 0.00012107252398242621_r8, 0.00012115847268914127_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,5) / & + 8.3278455165282687e-05_r8, 0.00010346411710464182_r8, & + 0.00010090720705309806_r8, 0.00012845451008596824_r8, & + 0.00013021686634145051_r8, 0.00012839092630460337_r8, & + 0.00011429784877541274_r8, 7.9262385562525986e-05_r8, & + 6.8622328168404636e-05_r8, 6.9737736531588093e-05_r8, & + 6.923550496254286e-05_r8, 6.8673171634805636e-05_r8, & + 6.684393311272356e-05_r8, 6.8750608987258846e-05_r8, & + 6.9777230801687935e-05_r8, 7.1165333676348407e-05_r8, & + 7.1180721708928005e-05_r8, 7.2612239750698639e-05_r8, & + 7.4913598375142044e-05_r8, 7.7924916981079523e-05_r8, & + 8.1305244970883485e-05_r8, 8.4553424778161865e-05_r8, & + 8.8709487631103554e-05_r8, 9.3283889631323166e-05_r8, & + 9.8004423696868381e-05_r8, 0.00010231957740012087_r8, & + 0.00010776079499574424_r8, 0.00011740256816569651_r8, & + 0.00011833543155354119_r8, 0.00011881993231953165_r8, & + 0.00011951748901046653_r8, 0.00012066332882872101_r8, & + 0.00012153616203538596_r8, 0.00012172756329102305_r8, & + 0.00012219215900059099_r8, 0.00012254748321250211_r8, & + 0.00012432298943415853_r8, 0.00012447458247276548_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,6) / & + 0.00011399299443132577_r8, 0.00011382485956148858_r8, & + 0.00011313377898991882_r8, 0.00012327812281736256_r8, & + 0.00012574254575483976_r8, 0.00013213829421326799_r8, & + 0.00013874395184790067_r8, 0.00014297788860153591_r8, & + 0.0001470676623390214_r8, 0.00015137137613542017_r8, & + 0.00015581683339619854_r8, 0.00016414659198007412_r8, & + 0.00018689846797412691_r8, 0.00019580619715725501_r8, & + 0.00019991163716913816_r8, 0.00020312776100143385_r8, & + 0.00020830264291089561_r8, 0.00021535724821916295_r8, & + 0.00022524060013221747_r8, 0.00022583358326900288_r8, & + 0.00023116006793986411_r8, 0.00023569266147688248_r8, & + 0.00023832628248888509_r8, 0.00024142126485503454_r8, & + 0.00024391374258495163_r8, 0.00024540495265922929_r8, & + 0.00024672146350696787_r8, 0.00025004035137734821_r8, & + 0.00025145665671542623_r8, 0.00025258298834496121_r8, & + 0.00025689570697522363_r8, 0.00025808683416353814_r8, & + 0.00024237854299385259_r8, 0.00024172802441069463_r8, & + 0.00026312947123097072_r8, 0.00026378117240095401_r8, & + 0.00026461218176505153_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,6) / & + 0.00010509740308748345_r8, 0.00010467797723893065_r8, & + 0.00010787978475921939_r8, 0.00012240156078506073_r8, & + 0.00012581622416604416_r8, 0.00013084170983248433_r8, & + 0.0001416079702690377_r8, 0.00014868704744330389_r8, & + 0.00015492795787360391_r8, 0.0001644353496626393_r8, & + 0.00017277156851190444_r8, 0.00018158024093741079_r8, & + 0.00019442288561488598_r8, 0.00020128233224523932_r8, & + 0.00020368292397598782_r8, 0.00020638915272740987_r8, & + 0.00021329584105750504_r8, 0.00021906043497164668_r8, & + 0.00022680184597809099_r8, 0.00023171109277233176_r8, & + 0.00023583587240169005_r8, 0.00024083642602916599_r8, & + 0.00024351742698139025_r8, 0.00024624843579131516_r8, & + 0.00024907972493005683_r8, 0.0002507568603183427_r8, & + 0.00025208308240267789_r8, 0.00025479640630171894_r8, & + 0.00025852367156887725_r8, 0.00025937307016665897_r8, & + 0.00026192908657195148_r8, 0.00026187507861491575_r8, & + 0.00024952130864119528_r8, 0.00024991923007048694_r8, & + 0.00026326529031653312_r8, 0.0002644940041535023_r8, & + 0.00026546508123666528_r8, 0.00026587607426706918_r8, & + 0.00026452188391221516_r8, 0.00026572862228882958_r8, & + 0.00026006175841727165_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,6) / & + 9.9401331080426549e-05_r8, 9.8942080151641132e-05_r8, & + 0.00010288982273161181_r8, 0.00011195904137097014_r8, & + 0.00011676251686766612_r8, 0.00012455838534323566_r8, & + 0.00013820611317666548_r8, 0.00014548560670714269_r8, & + 0.00015109211214300983_r8, 0.00016440074867399095_r8, & + 0.00017735553155831448_r8, 0.00018699997344494304_r8, & + 0.00019786547639626982_r8, 0.00020649116966893155_r8, & + 0.00021042108282983137_r8, 0.00021442447705665991_r8, & + 0.00022373124060364727_r8, 0.00022957923290957264_r8, & + 0.00023526771303708898_r8, 0.00024045047654976584_r8, & + 0.00024446512117164967_r8, 0.00025059399574797167_r8, & + 0.0002535914989024962_r8, 0.00025543318065902236_r8, & + 0.00025798774821978663_r8, 0.00025952709669756397_r8, & + 0.00026117225014714486_r8, 0.00026389905700570983_r8, & + 0.00026567752928064077_r8, 0.00026620096835217733_r8, & + 0.00026631279915950154_r8, 0.000265883523715006_r8, & + 0.00026277119830552404_r8, 0.00026262855804448616_r8, & + 0.00026272608754170627_r8, 0.00026358625293016304_r8, & + 0.00026435200397871735_r8, 0.00026478909509495836_r8, & + 0.0002642014514008428_r8, 0.00026437955625331991_r8, & + 0.00026078332972091219_r8, 0.00025495025501919385_r8, & + 0.00025493216459377441_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,6) / & + 0.00010196385260875679_r8, 0.00010143406440881246_r8, & + 0.00010397339821350478_r8, 0.00011020859180793503_r8, & + 0.00011341622387005905_r8, 0.00012019773113033461_r8, & + 0.00013325552430347334_r8, 0.00014552474437709893_r8, & + 0.00015004475144479772_r8, 0.00016459622119396054_r8, & + 0.00018121547547432141_r8, 0.00019319605852185124_r8, & + 0.0002076337045422385_r8, 0.00021751403262529689_r8, & + 0.00022206018894600844_r8, 0.0002271775561149751_r8, & + 0.00023468937457314334_r8, 0.00023989555271885593_r8, & + 0.00024448943833677066_r8, 0.0002487100489362328_r8, & + 0.00025178700364178686_r8, 0.00025614378749147656_r8, & + 0.00025825704570457296_r8, 0.00025970160039456738_r8, & + 0.00026092776547576078_r8, 0.00026188087645584115_r8, & + 0.00026251981802010913_r8, 0.00026309874667580991_r8, & + 0.00026318940268675492_r8, 0.00026318535406504213_r8, & + 0.00026302632906206641_r8, 0.00026267225774872865_r8, & + 0.00026211105344793638_r8, 0.00026162687318304528_r8, & + 0.00026080734116380326_r8, 0.00026064694482104352_r8, & + 0.00026077801356958033_r8, 0.00026066810761833301_r8, & + 0.00026055460767217042_r8, 0.00026055775387681722_r8, & + 0.00025981124812067313_r8, 0.0002575023747225078_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,6) / & + 9.5747610758496271e-05_r8, 9.4032752121003739e-05_r8, & + 8.9401702847793414e-05_r8, 0.00011370449668526179_r8, & + 0.00011327735486371977_r8, 0.0001139645584015909_r8, & + 0.00011957670435102025_r8, 0.00013108033060207997_r8, & + 0.00014068611314059718_r8, 0.00015237936327673363_r8, & + 0.00016360359901807561_r8, 0.00017375189779879135_r8, & + 0.00018775613690898268_r8, 0.00019661159196282668_r8, & + 0.00020016269992863373_r8, 0.0002046490779236924_r8, & + 0.00021192976592715866_r8, 0.00021697336525484839_r8, & + 0.00022238336403629182_r8, 0.00022748815667101985_r8, & + 0.00023173583693814615_r8, 0.00023420654406589519_r8, & + 0.00023769853959737587_r8, 0.0002406530791085336_r8, & + 0.00024348977802607783_r8, 0.0002465956641732328_r8, & + 0.0002486960044638791_r8, 0.00025336660009250882_r8, & + 0.00025669067667954222_r8, 0.00025932765236737481_r8, & + 0.00026089381943290217_r8, 0.00026184851218762756_r8, & + 0.0002621536882333491_r8, 0.00026181939262999291_r8, & + 0.00026092823480596287_r8, 0.00026038918202952354_r8, & + 0.0002602298891483075_r8, 0.00026000741103039275_r8, & + 0.00025911550178034083_r8, 0.00025224878433738064_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,6) / & + 6.1873370076573778e-05_r8, 6.0169081918990369e-05_r8, & + 4.4245660084207102e-05_r8, 5.0974988088374369e-05_r8, & + 5.1213946400243295e-05_r8, 5.1385422119428384e-05_r8, & + 5.2740214470476602e-05_r8, 6.1505133159591685e-05_r8, & + 7.0360706537172352e-05_r8, 8.019911322256004e-05_r8, & + 8.9702988440764801e-05_r8, 9.695852075224573e-05_r8, & + 0.00010939506051293331_r8, 0.00012066892881449918_r8, & + 0.00012652456042027319_r8, 0.00013355384806837566_r8, & + 0.00014518290291760767_r8, 0.00015574897448961396_r8, & + 0.0001630945519560622_r8, 0.00016983480937677686_r8, & + 0.00017448252974083337_r8, 0.00017800816271766948_r8, & + 0.00018123235800267601_r8, 0.00018356952664020398_r8, & + 0.00018548098841735772_r8, 0.00018769216749439904_r8, & + 0.00019033059592182879_r8, 0.00019814677745238197_r8, & + 0.0002093068053169717_r8, 0.00022055211652289596_r8, & + 0.00023252947180444852_r8, 0.00024136603970720608_r8, & + 0.00024896955822678027_r8, 0.00025499128599335154_r8, & + 0.00025948518351684424_r8, 0.00026303492052012208_r8, & + 0.00026732557232506316_r8, 0.00026991639458265321_r8, & + 0.00027184695669165072_r8, 0.00027161238136097705_r8, & + 0.00026708074550413173_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,6) / & + 2.6959933906233238e-05_r8, 2.6567446659905088e-05_r8, & + 9.5999117245215215e-06_r8, 1.3749570605414728e-05_r8, & + 1.4485221453858719e-05_r8, 1.4200690721985538e-05_r8, & + 1.5091783474740149e-05_r8, 1.7838445833636835e-05_r8, & + 2.1417135080363712e-05_r8, 2.5517999597421996e-05_r8, & + 2.9536164708797911e-05_r8, 3.2629585927662619e-05_r8, & + 3.8279214311179389e-05_r8, 4.4429715473199889e-05_r8, & + 4.8615874163614861e-05_r8, 5.422065409226068e-05_r8, & + 6.5739645924394255e-05_r8, 8.0641126960680388e-05_r8, & + 9.4307962074446995e-05_r8, 0.00010869587737174356_r8, & + 0.00012158392028427143_r8, 0.00013292905837213059_r8, & + 0.00014082252751973905_r8, 0.00014578079269199243_r8, & + 0.0001494029521620847_r8, 0.00015156113013909843_r8, & + 0.00015215030314475809_r8, 0.00015217237475805912_r8, & + 0.00015411472584087992_r8, 0.00016001114943814545_r8, & + 0.00016984884358432639_r8, 0.00018133275298049654_r8, & + 0.00019562902127008225_r8, 0.00020979618024208308_r8, & + 0.00022254478165497388_r8, 0.00023528790210449553_r8, & + 0.00024690370696894891_r8, 0.00025804999198495468_r8, & + 0.00026563437318541459_r8, 0.00026759230385197172_r8, & + 0.00026548372224519947_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,6) / & + 1.1317933933067396e-05_r8, 1.0885131694610132e-05_r8, & + 6.5782636779694043e-06_r8, 9.319476446925861e-06_r8, & + 9.6666979823197285e-06_r8, 9.7476871462777188e-06_r8, & + 1.018314491804104e-05_r8, 1.024671299607424e-05_r8, & + 1.1032192438236691e-05_r8, 1.1832487581261031e-05_r8, & + 1.2858644920773267e-05_r8, 1.3887463756762047e-05_r8, & + 1.6130712741383396e-05_r8, 1.8711523957253348e-05_r8, & + 2.1903473585283626e-05_r8, 2.5374135915814957e-05_r8, & + 3.3735260013232517e-05_r8, 4.3770106530890218e-05_r8, & + 5.48809477395453e-05_r8, 6.8983597609079708e-05_r8, & + 8.4171734876849156e-05_r8, 9.9725493555702789e-05_r8, & + 0.00011274200361367144_r8, 0.00012498397619816222_r8, & + 0.00013235052430448629_r8, 0.00013730198282542355_r8, & + 0.00013776448923153429_r8, 0.00013630423900324402_r8, & + 0.0001315898869622146_r8, 0.00013132476374766146_r8, & + 0.00013358401001398388_r8, 0.00013857910436521163_r8, & + 0.00014705829599540591_r8, 0.00016069501350649554_r8, & + 0.00017861363268192098_r8, 0.00020009583346982475_r8, & + 0.00021819230584472322_r8, 0.00023242147438939191_r8, & + 0.00024570744571501775_r8, 0.00025230659632654825_r8, & + 0.00025222137152822437_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,6) / & + 8.2215721750208418e-06_r8, 7.6648209866279135e-06_r8, & + 7.9344116770211916e-06_r8, 8.2827842165843808e-06_r8, & + 8.5870337661991713e-06_r8, 8.6569868844111089e-06_r8, & + 9.0468146035765873e-06_r8, 8.8080270249638362e-06_r8, & + 9.3319009007902502e-06_r8, 1.0187601389712459e-05_r8, & + 1.0904947562439357e-05_r8, 1.1122926952695604e-05_r8, & + 1.2718591912201593e-05_r8, 1.4358712906195513e-05_r8, & + 1.5664025742266308e-05_r8, 1.8155226308528613e-05_r8, & + 2.6085458612873421e-05_r8, 3.4838884392843404e-05_r8, & + 4.528213362966936e-05_r8, 5.6710019925738147e-05_r8, & + 6.9349547391525204e-05_r8, 8.0406547340099556e-05_r8, & + 9.5294048595332713e-05_r8, 0.00011176008049377849_r8, & + 0.00012272766894345539_r8, 0.00013019483750405749_r8, & + 0.00013116272837909664_r8, 0.00012700670943479944_r8, & + 0.000120120485067833_r8, 0.00011693167953317389_r8, & + 0.00011778802143241135_r8, 0.00012112979806470078_r8, & + 0.00012702890398304774_r8, 0.00013758486315110393_r8, & + 0.00015550391822063294_r8, 0.00018189426979555443_r8, & + 0.00020576539965099069_r8, 0.00021994035825350616_r8, & + 0.000232327256694737_r8, 0.00024238184789692548_r8, & + 0.00024631383206048232_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,6) / & + 7.559704255951094e-06_r8, 6.99090057356488e-06_r8, & + 7.9976594286939227e-06_r8, 8.4886333092953857e-06_r8, & + 9.1332742454029716e-06_r8, 9.681043731342057e-06_r8, & + 1.0148249643174734e-05_r8, 1.0191767647866717e-05_r8, & + 1.1577344521422548e-05_r8, 1.2507457046307758e-05_r8, & + 1.3142714886834501e-05_r8, 1.3434664473446677e-05_r8, & + 1.7258442962010117e-05_r8, 2.0861830106494951e-05_r8, & + 2.334724287754467e-05_r8, 2.7717717860966819e-05_r8, & + 3.6549823763019181e-05_r8, 4.6162140461817764e-05_r8, & + 5.9254284435400104e-05_r8, 7.2937746146601925e-05_r8, & + 8.7482613226528029e-05_r8, 9.9568719414197884e-05_r8, & + 0.00011467834255035072_r8, 0.00012474425258702073_r8, & + 0.00013020338611215043_r8, 0.0001314040643978396_r8, & + 0.00012925413709019773_r8, 0.00011866989836827902_r8, & + 0.00011238831459013452_r8, 0.00011070996171540089_r8, & + 0.00011324915915136587_r8, 0.00011664154602278455_r8, & + 0.00012298556684818473_r8, 0.0001352027376101677_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,6) / & + 8.5354960035707391e-06_r8, 8.415661202749145e-06_r8, & + 9.671542212868672e-06_r8, 9.9711857893390778e-06_r8, & + 1.1341065897870804e-05_r8, 1.2245747441876384e-05_r8, & + 1.3137373083840578e-05_r8, 1.4127603277776005e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,6) / & + 2.2054136214597784e-05_r8, 2.2304166084963733e-05_r8, & + 2.531021791881428e-05_r8, 2.3813515913055902e-05_r8, & + 2.1744583953713093e-05_r8, 2.1843800382754716e-05_r8, & + 1.8982388940030199e-05_r8, 8.1362748420234157e-06_r8, & + 9.7361192838114046e-06_r8, 1.8438213861749668e-05_r8, & + 2.3661376016982029e-05_r8, 2.013092557112721e-05_r8, & + 2.1408332047018864e-05_r8, 2.243819621221844e-05_r8, & + 2.4239243961416142e-05_r8, 2.5588706125740165e-05_r8, & + 2.7228335322721248e-05_r8, 2.8561263850387451e-05_r8, & + 3.1098161480761264e-05_r8, 3.3559383925090485e-05_r8, & + 3.3907138430917742e-05_r8, 3.7517972827489111e-05_r8, & + 3.9510686171627079e-05_r8, 3.850057859269669e-05_r8, & + 3.873324739451439e-05_r8, 4.2587345960960919e-05_r8, & + 4.2816802668365061e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,6) / & + 1.6289088888779058e-05_r8, 1.6939329970254901e-05_r8, & + 1.8702770339269206e-05_r8, 2.1396539822577925e-05_r8, & + 1.7878009099723607e-05_r8, 1.9207024901064498e-05_r8, & + 1.6366453029926719e-05_r8, 1.0841960207907519e-05_r8, & + 1.2863122429666167e-05_r8, 1.6073550670314378e-05_r8, & + 1.8349739531793706e-05_r8, 2.0569846594014746e-05_r8, & + 2.410661796451781e-05_r8, 2.530188849226309e-05_r8, & + 2.6598648815020849e-05_r8, 2.7923028831524601e-05_r8, & + 3.0283661066643183e-05_r8, 3.2484567917262015e-05_r8, & + 3.4314573995321926e-05_r8, 3.6773460024008356e-05_r8, & + 3.8274956164642932e-05_r8, 4.298976503126977e-05_r8, & + 4.5464031511689034e-05_r8, 4.7284531738528951e-05_r8, & + 4.8502010164668096e-05_r8, 5.0189515241172173e-05_r8, & + 5.1847091886840706e-05_r8, 5.3165558503316149e-05_r8, & + 5.5445325842427532e-05_r8, 5.2528015421157382e-05_r8, & + 4.9474033179360275e-05_r8, 4.8520447249015834e-05_r8, & + 4.4878873899530275e-05_r8, 4.0691784644871545e-05_r8, & + 3.9428601527381402e-05_r8, 4.2335659254997395e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,6) / & + 1.1551022354678484e-05_r8, 1.2123134913065993e-05_r8, & + 1.3986197269875055e-05_r8, 1.1714457421971889e-05_r8, & + 9.726468672337811e-06_r8, 1.0437438815746921e-05_r8, & + 1.1094361669622469e-05_r8, 1.2523427345351014e-05_r8, & + 1.3242730807698141e-05_r8, 1.6289872960454025e-05_r8, & + 1.9261962379029005e-05_r8, 2.2040529937056052e-05_r8, & + 2.5066337849752196e-05_r8, 2.4713172284764294e-05_r8, & + 2.6228658085360979e-05_r8, 2.8078732570253761e-05_r8, & + 3.0863951345159415e-05_r8, 3.3583502894944797e-05_r8, & + 3.5039066453770663e-05_r8, 3.6077657822218064e-05_r8, & + 3.668138598195672e-05_r8, 3.8432202125632509e-05_r8, & + 3.9560896657899196e-05_r8, 4.0713553135039136e-05_r8, & + 4.1137353663347837e-05_r8, 4.1563677843499919e-05_r8, & + 4.282699120304589e-05_r8, 4.5022586745030827e-05_r8, & + 4.6867104407021749e-05_r8, 4.6893363962610951e-05_r8, & + 4.733690715113969e-05_r8, 4.5936108650331735e-05_r8, & + 4.3918897132910083e-05_r8, 4.2637385312367589e-05_r8, & + 4.2066278537196963e-05_r8, 4.5566176981328237e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,6) / & + 3.968747128797131e-05_r8, 3.2591043614576875e-05_r8, & + 3.8782505440659523e-05_r8, 5.1486110725865246e-05_r8, & + 6.8536170875482596e-05_r8, 8.7678079280675947e-05_r8, & + 0.0001208309213796981_r8, 0.00012456196535149829_r8, & + 0.0001057858547617734_r8, 8.5805065425833028e-05_r8, & + 7.5948375867035669e-05_r8, 8.4765966940873662e-05_r8, & + 9.937817414597288e-05_r8, 0.00011522450746324237_r8, & + 4.0039192436043765e-05_r8, 3.2934802102181902e-05_r8, & + 3.5734619161285211e-05_r8, 3.3600169924966334e-05_r8, & + 3.0934671141595565e-05_r8, 2.7713204502789364e-05_r8, & + 1.9525620996151796e-05_r8, 2.4812189876567108e-05_r8, & + 2.4605399844024775e-05_r8, 3.9216733492539471e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,6) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,37,6) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,38,6) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,39,6) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,40,6) / & + 4.3674988043196131e-05_r8, 4.3947726240494809e-05_r8, & + 4.4761138495254646e-05_r8, 4.4749875546619812e-05_r8, & + 4.7229006210210526e-05_r8, 5.0258134139908449e-05_r8, & + 5.2686159133473844e-05_r8, 5.4872507600812517e-05_r8, & + 5.606903057330146e-05_r8, 5.7404579733093712e-05_r8, & + 5.8807816793306881e-05_r8, 5.9455661161672868e-05_r8, & + 6.0529869732376643e-05_r8, 6.0898360246125728e-05_r8, & + 6.1237926454917106e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,6) / & + 4.9407546266984504e-05_r8, 5.0269856194362285e-05_r8, & + 5.0241197833010372e-05_r8, 5.5814927455604054e-05_r8, & + 5.7472029675069484e-05_r8, 5.8478379370314891e-05_r8, & + 5.9189509778729313e-05_r8, 6.0337765336384255e-05_r8, & + 6.0485403799347686e-05_r8, 6.0423224139830306e-05_r8, & + 6.0924085350450254e-05_r8, 6.1633437128452749e-05_r8, & + 6.2843332871965284e-05_r8, 6.3148163729237212e-05_r8, & + 6.3635623964361661e-05_r8, 6.4547531632676538e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,6) / & + 4.8924088780418389e-05_r8, 5.2453893632455904e-05_r8, & + 5.1541073830382773e-05_r8, 5.9909710194263829e-05_r8, & + 6.2449416206984226e-05_r8, 6.1668255252669146e-05_r8, & + 6.4578790478565502e-05_r8, 6.4838020255136996e-05_r8, & + 6.3224892543348166e-05_r8, 6.0840176162600112e-05_r8, & + 5.7710409762292864e-05_r8, 5.7003368265597355e-05_r8, & + 5.7153117094062473e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,6) / & + 5.123812560273275e-05_r8, 5.2466056236077531e-05_r8, & + 4.0097319026920413e-05_r8, 4.2761459397632443e-05_r8, & + 4.6704525751108487e-05_r8, 5.0001852717095452e-05_r8, & + 5.3951944347233094e-05_r8, 5.1608346390984822e-05_r8, & + 5.1551124969423591e-05_r8, 5.2821009470357449e-05_r8, & + 5.4443901884472066e-05_r8, 5.5232558335517037e-05_r8, & + 5.8655247101871679e-05_r8, 6.0394052337027403e-05_r8, & + 6.2146619428236132e-05_r8, 6.361399569162968e-05_r8, & + 6.6103197040691462e-05_r8, 7.0384782134807057e-05_r8, & + 7.4062718544378738e-05_r8, 7.9287163543903384e-05_r8, & + 8.3023132286221671e-05_r8, 8.7286052467957107e-05_r8, & + 9.0614753043341222e-05_r8, 9.5815546757875605e-05_r8, & + 9.9780403013346298e-05_r8, 0.00010286973475101945_r8, & + 0.00010545547575071027_r8, 0.00011020545549532807_r8, & + 0.00011291229379810252_r8, 0.00011399292829398311_r8, & + 0.00011580973009882472_r8, 0.00011702952420952897_r8, & + 0.00011839431102829025_r8, 0.00011908031533723199_r8, & + 0.00011943392495017639_r8, 0.00011887837641645833_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,6) / & + 7.0281086644173742e-05_r8, 7.8799187215740566e-05_r8, & + 7.1759587550662842e-05_r8, 8.3891854660418053e-05_r8, & + 7.9992514293045707e-05_r8, 8.3109268899838045e-05_r8, & + 7.9005325707006145e-05_r8, 6.4830158540094546e-05_r8, & + 5.743475465275258e-05_r8, 6.0074349755648557e-05_r8, & + 6.0784815739181918e-05_r8, 6.0915010425915104e-05_r8, & + 6.2317549252645271e-05_r8, 6.438941133797255e-05_r8, & + 6.5942101073219428e-05_r8, 6.7192131898448574e-05_r8, & + 6.8059325516871616e-05_r8, 7.0607765726105959e-05_r8, & + 7.3007647131124878e-05_r8, 7.5754435958640058e-05_r8, & + 7.9464496174687949e-05_r8, 8.2178655386036414e-05_r8, & + 8.6228609608906528e-05_r8, 9.1191318876903982e-05_r8, & + 9.5341536019873921e-05_r8, 9.900085068655834e-05_r8, & + 0.00010240482708684806_r8, 0.00011010349179342959_r8, & + 0.00011333773606500668_r8, 0.00011544508331880337_r8, & + 0.00011690025591065574_r8, 0.00011889309987760669_r8, & + 0.0001202326647134796_r8, 0.00012137426589880882_r8, & + 0.00012163904574899132_r8, 0.00012135179749362792_r8, & + 0.00012099112263815218_r8, 0.00012115376879972089_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,6) / & + 8.2013718112986748e-05_r8, 0.00010245644925469177_r8, & + 9.9861864271998463e-05_r8, 0.00012620466788776732_r8, & + 0.000126992055601875_r8, 0.00012574915030567121_r8, & + 0.00011213386272405838_r8, 7.7348609600090301e-05_r8, & + 6.8190411722511196e-05_r8, 6.9230872372446484e-05_r8, & + 6.8709041896111711e-05_r8, 6.8266321385521413e-05_r8, & + 6.6599779140453372e-05_r8, 6.848890215994824e-05_r8, & + 6.960858347069899e-05_r8, 7.0994118931334485e-05_r8, & + 7.1132695483889889e-05_r8, 7.2542152078208599e-05_r8, & + 7.483176027874037e-05_r8, 7.783372328104153e-05_r8, & + 8.1157321577130127e-05_r8, 8.4483411252081215e-05_r8, & + 8.8611994830651582e-05_r8, 9.3155790162585588e-05_r8, & + 9.7976544110027987e-05_r8, 0.00010227598688896644_r8, & + 0.00010777138196956884_r8, 0.00011735640759316914_r8, & + 0.00011828537531978347_r8, 0.00011884855668335726_r8, & + 0.00011953168601024906_r8, 0.0001206761777642769_r8, & + 0.00012153580895324701_r8, 0.00012172846379781301_r8, & + 0.00012217162594791426_r8, 0.00012254347401182827_r8, & + 0.00012430843539649317_r8, 0.0001244744936387106_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,7) / & + 0.00011410961904079481_r8, 0.00011436136746846768_r8, & + 0.00011271801732395144_r8, 0.00012140535235314119_r8, & + 0.0001258244148380757_r8, 0.00013292362602761735_r8, & + 0.00013834710095017412_r8, 0.0001415416146340983_r8, & + 0.0001457977690482581_r8, 0.00015069869833338946_r8, & + 0.00015635265848350417_r8, 0.00016356098786569678_r8, & + 0.00017846522196957322_r8, 0.00018898265095336535_r8, & + 0.0001940793463271149_r8, 0.00019873601141270447_r8, & + 0.00020667926152688809_r8, 0.00021439875812272205_r8, & + 0.00022176617891281932_r8, 0.00022434912155012518_r8, & + 0.00022910928462770052_r8, 0.00023436130310164793_r8, & + 0.00023769413344660096_r8, 0.00024114816126585438_r8, & + 0.00024381991052841877_r8, 0.00024565322536739746_r8, & + 0.00024721821993290794_r8, 0.00025215174588177566_r8, & + 0.00025373300901237523_r8, 0.00025420993458452303_r8, & + 0.00025529612316752584_r8, 0.00025753225376291225_r8, & + 0.00025173197148908421_r8, 0.00024906411825576137_r8, & + 0.00026173177794323215_r8, 0.00026259187521940157_r8, & + 0.00026346319251659942_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,7) / & + 0.00010687992531288112_r8, 0.00010868360171733061_r8, & + 0.00010905876836280201_r8, 0.00011912505122809659_r8, & + 0.00012473940043233685_r8, 0.00013064772303232947_r8, & + 0.00013948558132015061_r8, 0.00014578542211378379_r8, & + 0.00015274268199199433_r8, 0.0001619769342229029_r8, & + 0.00017055500640136414_r8, 0.00017938067581212166_r8, & + 0.0001888443825963732_r8, 0.00019478441215305136_r8, & + 0.00019697459110798666_r8, 0.0001997634338952225_r8, & + 0.00020820037816166726_r8, 0.00021479104079493328_r8, & + 0.00022077587693527194_r8, 0.00022683585539654767_r8, & + 0.00023080013728099159_r8, 0.00023597573950134219_r8, & + 0.00023898567529201576_r8, 0.00024228582524495829_r8, & + 0.00024576207827699091_r8, 0.00024825917600916674_r8, & + 0.00024968517730271697_r8, 0.00025414186756679297_r8, & + 0.00025835653356237544_r8, 0.00025880712322314079_r8, & + 0.00025970026996622778_r8, 0.00026001059718507307_r8, & + 0.00025372129135309778_r8, 0.00025297534309570068_r8, & + 0.00026177249991542911_r8, 0.00026277636974953838_r8, & + 0.00026359663964212161_r8, 0.00026436412732853607_r8, & + 0.00026503954646025553_r8, 0.00026757423369308173_r8, & + 0.00027335842366420514_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,7) / & + 9.9301367237359639e-05_r8, 0.00010165181717637588_r8, & + 0.00010202136723268936_r8, 0.00010565274768245199_r8, & + 0.00011217989129704653_r8, 0.00012165422813834991_r8, & + 0.00013484734400411662_r8, 0.00014296660360233629_r8, & + 0.00014662607436729614_r8, 0.00015631978573350761_r8, & + 0.0001688357814891369_r8, 0.00017886177543721313_r8, & + 0.00018855497176418131_r8, 0.00019669000589340118_r8, & + 0.00019993036521536166_r8, 0.0002034883647203546_r8, & + 0.00021366449526731755_r8, 0.00022039336496631793_r8, & + 0.00022672760859566846_r8, 0.00023371214949605899_r8, & + 0.00023745829249600519_r8, 0.00024261598677908572_r8, & + 0.00024646352665489395_r8, 0.00024944943700503443_r8, & + 0.00025290693747700879_r8, 0.00025552208345861979_r8, & + 0.00025754813980171737_r8, 0.00026139801722127116_r8, & + 0.00026397068486869136_r8, 0.00026465239477933014_r8, & + 0.00026477239072145929_r8, 0.00026463542304804683_r8, & + 0.00026214512698245366_r8, 0.00026237559201999511_r8, & + 0.0002628899722136409_r8, 0.00026343857329945663_r8, & + 0.00026409083065101659_r8, 0.00026520866178783136_r8, & + 0.00026597803328445223_r8, 0.00026755593782193908_r8, & + 0.00026839028847880039_r8, 0.00026822826009867813_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,7) / & + 9.805814635859102e-05_r8, 9.8129898554263922e-05_r8, & + 9.9674713935976779e-05_r8, 0.00010068789854489289_r8, & + 0.00010415736769184129_r8, 0.00011255285639657528_r8, & + 0.00012566408379175622_r8, 0.00013959949687297689_r8, & + 0.00014816363820552324_r8, 0.00015649697061490312_r8, & + 0.00016964459077493225_r8, 0.00018013263206259009_r8, & + 0.00019290367540166756_r8, 0.0002011199235088442_r8, & + 0.00020598828658076511_r8, 0.00021089446405544074_r8, & + 0.00021907348340249663_r8, 0.00022500757021981789_r8, & + 0.00023085471649577285_r8, 0.00023678540706964383_r8, & + 0.00024130944109369129_r8, 0.00024379445456417304_r8, & + 0.00024804785048917859_r8, 0.0002513615600038576_r8, & + 0.00025442754307370189_r8, 0.0002571997055476309_r8, & + 0.00025962538137697507_r8, 0.00026264645960097084_r8, & + 0.00026405714684324242_r8, 0.00026439041549684394_r8, & + 0.00026422974206341001_r8, 0.00026414623845454088_r8, & + 0.00026367128526515676_r8, 0.00026332588066480607_r8, & + 0.00026260655678303897_r8, 0.00026234464884287523_r8, & + 0.00026258165844643243_r8, 0.00026334159976583617_r8, & + 0.00026373049440249756_r8, 0.00026440972957171284_r8, & + 0.00026489418441372756_r8, 0.0002657224676848935_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,7) / & + 9.109576922082783e-05_r8, 8.8771236605672657e-05_r8, & + 8.7854465152177223e-05_r8, 0.00010414989287062011_r8, & + 0.00010424215679532474_r8, 0.00010584334729211179_r8, & + 0.00011290151583976525_r8, 0.00012665383384940175_r8, & + 0.00013941854666729513_r8, 0.00014946881117769927_r8, & + 0.00015889089613839864_r8, 0.00016903868589716642_r8, & + 0.0001838754768330217_r8, 0.00019211535178970397_r8, & + 0.00019672340820182807_r8, 0.00020127350442916028_r8, & + 0.00020791010296544526_r8, 0.00021211367213826602_r8, & + 0.00021769693863472_r8, 0.00022244564273654122_r8, & + 0.00022718160534050653_r8, 0.00022942430652765202_r8, & + 0.00023300576901806149_r8, 0.00023619137186207367_r8, & + 0.00023943192412005602_r8, 0.00024312368001007417_r8, & + 0.00024617035376587237_r8, 0.00025296644775651717_r8, & + 0.00025725112429109533_r8, 0.00026057017808022814_r8, & + 0.00026293593571922558_r8, 0.00026416894130861467_r8, & + 0.00026451970495892382_r8, 0.00026440384421609045_r8, & + 0.00026372372734479111_r8, 0.00026302672603371831_r8, & + 0.00026253314637627402_r8, 0.00026286920327932403_r8, & + 0.00026302661462761467_r8, 0.00026399836126331824_r8, & + 0.00026392278037813677_r8, 0.00026516498321775041_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,7) / & + 6.3262671825573815e-05_r8, 6.0815566667344965e-05_r8, & + 4.8081610268871511e-05_r8, 4.9515258416507657e-05_r8, & + 5.0441439354681462e-05_r8, 5.1276603949486764e-05_r8, & + 5.5741107409082605e-05_r8, 6.641651398073789e-05_r8, & + 7.6539373772763994e-05_r8, 8.5073134551177563e-05_r8, & + 9.2794245927544367e-05_r8, 9.969921099613389e-05_r8, & + 0.00011374877514526538_r8, 0.00012553997140439001_r8, & + 0.00013120808011179657_r8, 0.00013753885306918418_r8, & + 0.00014790344729217019_r8, 0.00015568452484176508_r8, & + 0.0001634590325888402_r8, 0.00017003948237717339_r8, & + 0.00017482255306812603_r8, 0.00017886922448739342_r8, & + 0.00018013557086272457_r8, 0.00018284871361499527_r8, & + 0.00018507212295211289_r8, 0.00018757149544136348_r8, & + 0.0001903191613379295_r8, 0.00019786943297752185_r8, & + 0.00020737478763995003_r8, 0.00021775289822782503_r8, & + 0.00023106151892032589_r8, 0.00024217531282690687_r8, & + 0.00025085988556013361_r8, 0.00025706682231220267_r8, & + 0.0002611103952382635_r8, 0.00026459848352218611_r8, & + 0.000267315210831285_r8, 0.00026777873472708075_r8, & + 0.00026817341155173629_r8, 0.00026778599171623673_r8, & + 0.00026302014914384992_r8, 0.00026181092945903834_r8, & + 0.00025927641610564594_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,7) / & + 2.8603310122757126e-05_r8, 2.7957148456174427e-05_r8, & + 1.2572647605985527e-05_r8, 1.2783297889290915e-05_r8, & + 1.3404177515024619e-05_r8, 1.3062743021353427e-05_r8, & + 1.5175724914191139e-05_r8, 1.8775212996244603e-05_r8, & + 2.3278016497990297e-05_r8, 2.689039820890231e-05_r8, & + 3.0429364829896199e-05_r8, 3.3267877132123076e-05_r8, & + 3.9813294841126103e-05_r8, 4.7193558246379306e-05_r8, & + 5.2585516602961573e-05_r8, 5.8600569206252087e-05_r8, & + 7.0759736430422209e-05_r8, 8.3410667650503042e-05_r8, & + 9.666576149959439e-05_r8, 0.00011041914430719876_r8, & + 0.00012265338118173585_r8, 0.00013300003541526551_r8, & + 0.00013745660234050909_r8, 0.00014335945697339098_r8, & + 0.00014674231657577498_r8, 0.00014925980721222548_r8, & + 0.00015051972927129163_r8, 0.00015136532260934444_r8, & + 0.00015283231380617542_r8, 0.00015794425017905144_r8, & + 0.00016678163942201568_r8, 0.00017823251319568992_r8, & + 0.00019392697661760699_r8, 0.0002087020948890526_r8, & + 0.00022194681974292522_r8, 0.00023440732527598034_r8, & + 0.00024590766926950273_r8, 0.00025542298316923385_r8, & + 0.00026335268848920457_r8, 0.00026653188386018499_r8, & + 0.00026397033990688956_r8, 0.00025849186756544441_r8, & + 0.00025779386793186595_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,7) / & + 1.1683736245506299e-05_r8, 1.1397440506693123e-05_r8, & + 6.7472122585926992e-06_r8, 8.6596488213205122e-06_r8, & + 9.0624389148163036e-06_r8, 9.062023232975235e-06_r8, & + 9.920306472227172e-06_r8, 1.0048850290263107e-05_r8, & + 1.0869998658362178e-05_r8, 1.1467550470005513e-05_r8, & + 1.22306748566479e-05_r8, 1.2917836554999366e-05_r8, & + 1.4857803044946281e-05_r8, 1.7414667575662396e-05_r8, & + 2.0704354638692687e-05_r8, 2.4368799272639919e-05_r8, & + 3.2182466083609964e-05_r8, 4.1232439952574562e-05_r8, & + 5.201299653884436e-05_r8, 6.6434830643363264e-05_r8, & + 8.2488302843223725e-05_r8, 9.7234062859708823e-05_r8, & + 0.00010913448023744049_r8, 0.00012024581181719528_r8, & + 0.0001272637638509193_r8, 0.00013252392848660016_r8, & + 0.00013383499740676882_r8, 0.00013383215542479116_r8, & + 0.00013016163787930713_r8, 0.00012981540831308002_r8, & + 0.00013185107954308145_r8, 0.00013626485252495854_r8, & + 0.00014789732160226597_r8, 0.00016335765831007932_r8, & + 0.0001840069217778581_r8, 0.00020538769272514259_r8, & + 0.00022166248809350701_r8, 0.00023584105921918729_r8, & + 0.0002488251911704363_r8, 0.00025525406710916497_r8, & + 0.00025718582745059703_r8, 0.00025931520670035554_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,7) / & + 7.4863016402868424e-06_r8, 7.2608609163126114e-06_r8, & + 7.5068007990740331e-06_r8, 7.1293546680191406e-06_r8, & + 7.0831944869723251e-06_r8, 7.1722856693367239e-06_r8, & + 8.015141694320206e-06_r8, 8.4007868417504374e-06_r8, & + 8.6735590139990717e-06_r8, 8.9356386716833581e-06_r8, & + 9.3590895054366788e-06_r8, 9.4762179408398919e-06_r8, & + 9.629026741119468e-06_r8, 1.0556210589307975e-05_r8, & + 1.1254161354466493e-05_r8, 1.2386914828043697e-05_r8, & + 1.6326736180294885e-05_r8, 2.23710955061855e-05_r8, & + 2.9680400510599993e-05_r8, 3.9399859382230722e-05_r8, & + 5.2379343393005614e-05_r8, 6.4359516404838079e-05_r8, & + 7.9288692761355975e-05_r8, 9.595639400887708e-05_r8, & + 0.00010925969065401205_r8, 0.00012119144099951373_r8, & + 0.00012627226747891985_r8, 0.00013085635380350334_r8, & + 0.00012610671889785077_r8, 0.00012185273998430969_r8, & + 0.00012112383933501018_r8, 0.00012156470087965838_r8, & + 0.00012773927768218091_r8, 0.00013878089929975472_r8, & + 0.00015550474944723669_r8, 0.00017857548901421458_r8, & + 0.00020153370287106053_r8, 0.00021223143279791866_r8, & + 0.00022310853346639182_r8, 0.00023685485887717112_r8, & + 0.00024023668652699675_r8, 0.00025058309131383011_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,7) / & + 6.6898001763689655e-06_r8, 6.8377917257131725e-06_r8, & + 7.4553355464773272e-06_r8, 6.6544403660728883e-06_r8, & + 6.6703009518583536e-06_r8, 6.8956517283429765e-06_r8, & + 7.7459232324860964e-06_r8, 8.2189634094393341e-06_r8, & + 8.5620200565415736e-06_r8, 9.0327403318160144e-06_r8, & + 9.5857448022688712e-06_r8, 9.7780416629446975e-06_r8, & + 9.2498549647301727e-06_r8, 1.0412449030681444e-05_r8, & + 1.1467077738044028e-05_r8, 1.2182448420648271e-05_r8, & + 1.3815876628979079e-05_r8, 1.6853284468447715e-05_r8, & + 2.238842242182392e-05_r8, 3.0517421909183042e-05_r8, & + 4.2163095287816797e-05_r8, 5.1364310614236661e-05_r8, & + 6.5031401990017481e-05_r8, 8.3739919172080171e-05_r8, & + 0.00010093826728258229_r8, 0.00011659540997991665_r8, & + 0.00012509768037558943_r8, 0.00013638155997091603_r8, & + 0.00013342641198953799_r8, 0.00012975312294688062_r8, & + 0.00012612998438418831_r8, 0.00012308991721203888_r8, & + 0.00012894859410515162_r8, 0.00014033265637890548_r8, & + 0.00015772285584297831_r8, 0.00017924441970849624_r8, & + 0.00020299688469630731_r8, 0.00021012045830647494_r8, & + 0.00022011568456489967_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,7) / & + 8.2918781315708821e-06_r8, 9.441969283601307e-06_r8, & + 8.9330507200496938e-06_r8, 1.2140273015401509e-05_r8, & + 1.0484783134942711e-05_r8, 1.1092237198825636e-05_r8, & + 1.46484150359857e-05_r8, 1.3098165786233421e-05_r8, & + 1.3245704016936188e-05_r8, 1.4294287066407536e-05_r8, & + 1.5033316718661869e-05_r8, 1.6783047567071764e-05_r8, & + 2.0871870257543644e-05_r8, 2.2997916920101763e-05_r8, & + 2.5541654393449088e-05_r8, 3.0349301287503976e-05_r8, & + 3.7057907761585858e-05_r8, 3.9005434420488152e-05_r8, & + 4.0866469146678941e-05_r8, 3.9569292775176329e-05_r8, & + 3.8717767816418873e-05_r8, 4.3707597502657777e-05_r8, & + 4.4749732871874605e-05_r8, 4.5622180156719639e-05_r8, & + 4.5395681476228185e-05_r8, 4.5409806996119043e-05_r8, & + 4.5813599498619478e-05_r8, 4.3236735168842968e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,7) / & + 8.809097792082366e-06_r8, 9.7139740669878897e-06_r8, & + 9.8879604031490868e-06_r8, 1.2072794210927336e-05_r8, & + 1.0668866214546916e-05_r8, 1.0788614815789944e-05_r8, & + 1.1882864209912102e-05_r8, 1.1342275508321634e-05_r8, & + 1.1642717978048808e-05_r8, 1.3220314172215913e-05_r8, & + 1.44300019676337e-05_r8, 1.5406921866423812e-05_r8, & + 1.8093732040817596e-05_r8, 2.1398172171717334e-05_r8, & + 2.3737508110872818e-05_r8, 2.6046165302199721e-05_r8, & + 3.1028739794055566e-05_r8, 3.4188709282607601e-05_r8, & + 3.5862096107790973e-05_r8, 3.5941227640485353e-05_r8, & + 3.7114048639938476e-05_r8, 3.9029923600892999e-05_r8, & + 4.1517661736504151e-05_r8, 4.2962982637765759e-05_r8, & + 4.3920632822096333e-05_r8, 4.5279623322509308e-05_r8, & + 4.6507473206965177e-05_r8, 4.5752370230586414e-05_r8, & + 4.664654037390691e-05_r8, 4.8805204470738123e-05_r8, & + 4.5897360865773432e-05_r8, 4.4298891039214365e-05_r8, & + 4.2055508331000959e-05_r8, 4.0875727494286374e-05_r8, & + 3.8869162944367299e-05_r8, 4.063794075340562e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,7) / & + 1.0791284356848839e-05_r8, 1.8122275282811981e-05_r8, & + 1.2733081550679187e-05_r8, 1.2720991280144966e-05_r8, & + 1.211883012293553e-05_r8, 1.3394554042862916e-05_r8, & + 1.3111906679426964e-05_r8, 1.3971580636680064e-05_r8, & + 1.4361040742506754e-05_r8, 1.583055285044053e-05_r8, & + 1.7085498891137365e-05_r8, 1.7002670937940921e-05_r8, & + 1.8667172735802864e-05_r8, 2.20037432627019e-05_r8, & + 2.4477313376807322e-05_r8, 2.6966521986487074e-05_r8, & + 3.1538762791555345e-05_r8, 3.4088972710272175e-05_r8, & + 3.5209096987029303e-05_r8, 3.593785690893032e-05_r8, & + 3.7685424994980224e-05_r8, 3.8193060045670162e-05_r8, & + 4.0646248128545403e-05_r8, 4.1885507906639486e-05_r8, & + 4.3009040427356118e-05_r8, 4.5551202367354656e-05_r8, & + 4.6772368241666759e-05_r8, 4.9313607283118195e-05_r8, & + 5.2587441540546269e-05_r8, 5.4858211151604972e-05_r8, & + 5.2378228364044985e-05_r8, 4.7275138966453888e-05_r8, & + 4.2797890240792288e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,7) / & + 1.4720219200948843e-05_r8, 3.0114689673815487e-05_r8, & + 1.9569523391678161e-05_r8, 1.9821296109136131e-05_r8, & + 1.8941511667977936e-05_r8, 2.1125468564599063e-05_r8, & + 2.1443493950590745e-05_r8, 2.1062997170086587e-05_r8, & + 2.2409115695872077e-05_r8, 2.3227515371085695e-05_r8, & + 2.3620396929623004e-05_r8, 2.297021543028712e-05_r8, & + 2.2265633261942126e-05_r8, 2.8296370360218227e-05_r8, & + 3.1440476396260498e-05_r8, 3.4907130324509285e-05_r8, & + 3.6413394803579625e-05_r8, 3.8574641372787739e-05_r8, & + 3.9013068929621587e-05_r8, 4.0518721727161169e-05_r8, & + 4.1419410123120175e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,7) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,38,7) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,39,7) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,40,7) / & + 4.6244731704908435e-05_r8, 4.6714969114575583e-05_r8, & + 4.7263118281407907e-05_r8, 4.9664205512654133e-05_r8, & + 5.1992803128654218e-05_r8, 5.4319179430915268e-05_r8, & + 5.6360993979516814e-05_r8, 5.8411992279194522e-05_r8, & + 5.9884224304253561e-05_r8, 6.1186206935106291e-05_r8, & + 6.2373735554698524e-05_r8, 6.3175932988256779e-05_r8, & + 6.4093328076702643e-05_r8, 6.3644745626801542e-05_r8, & + 6.3045332626771061e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,7) / & + 5.0077153138818475e-05_r8, 5.1261996853527678e-05_r8, & + 5.0681320587602307e-05_r8, 5.7614502663318082e-05_r8, & + 5.9260721476119697e-05_r8, 5.9882432526615496e-05_r8, & + 6.1105138352552022e-05_r8, 6.2485869600737294e-05_r8, & + 6.3121820774276433e-05_r8, 6.3644649132609714e-05_r8, & + 6.4463418938388479e-05_r8, 6.5544406450366292e-05_r8, & + 6.7168416016253366e-05_r8, 6.779036854110154e-05_r8, & + 6.86228625816589e-05_r8, 6.9202794816288746e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,7) / & + 4.8624421439644156e-05_r8, 5.2089333595877019e-05_r8, & + 4.6738258056340286e-05_r8, 5.5212534418570919e-05_r8, & + 5.8266160757161693e-05_r8, 5.9992891059187879e-05_r8, & + 6.9263466206788266e-05_r8, 6.6064482641939987e-05_r8, & + 6.4798726493456036e-05_r8, 6.3344684446459316e-05_r8, & + 6.4563212406055755e-05_r8, 6.2694768213531206e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,7) / & + 4.9054122722255875e-05_r8, 4.905145656992438e-05_r8, & + 3.6375552267358469e-05_r8, 3.9324008568971282e-05_r8, & + 4.2613941796585834e-05_r8, 4.5910566042564077e-05_r8, & + 5.1681202857642497e-05_r8, 4.9908097576000106e-05_r8, & + 5.0123809489112136e-05_r8, 5.1395387691682067e-05_r8, & + 5.3563647880209695e-05_r8, 5.4295066794194498e-05_r8, & + 5.7985532881551264e-05_r8, 5.9564580041807406e-05_r8, & + 6.1342638340239821e-05_r8, 6.2845841295381571e-05_r8, & + 6.4923379630175713e-05_r8, 6.9339267942119062e-05_r8, & + 7.3140640092091548e-05_r8, 7.8705500560934404e-05_r8, & + 8.2282639835111335e-05_r8, 8.6202802617260982e-05_r8, & + 8.9339492238089583e-05_r8, 9.4753546258361846e-05_r8, & + 9.866153156279268e-05_r8, 0.00010195304859248917_r8, & + 0.0001046599513988089_r8, 0.00010960151321151575_r8, & + 0.00011255287123884988_r8, 0.00011373362306813953_r8, & + 0.00011568655546453583_r8, 0.00011682619935520424_r8, & + 0.00011825984155280656_r8, 0.00011895891510063337_r8, & + 0.00011925138263989392_r8, 0.00011867579517660922_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,7) / & + 6.7950420152096882e-05_r8, 7.587074997648962e-05_r8, & + 6.8604549851820673e-05_r8, 7.732980280233499e-05_r8, & + 7.3985988363679315e-05_r8, 7.691328324370479e-05_r8, & + 7.2783088297050021e-05_r8, 5.999751037286327e-05_r8, & + 5.6023031770250522e-05_r8, 5.8638690947650491e-05_r8, & + 5.9517560971513727e-05_r8, 5.98764999407636e-05_r8, & + 6.1424721919809943e-05_r8, 6.3433825298382329e-05_r8, & + 6.5105247112355095e-05_r8, 6.6391940430197673e-05_r8, & + 6.7601565404156781e-05_r8, 7.0156517141131618e-05_r8, & + 7.2587151136470731e-05_r8, 7.5417460179918802e-05_r8, & + 7.9106826119761789e-05_r8, 8.2016483238022143e-05_r8, & + 8.5949736714451827e-05_r8, 9.0879321363298435e-05_r8, & + 9.5098071310189067e-05_r8, 9.8773218111743413e-05_r8, & + 0.00010234348463736646_r8, 0.00010988542369102608_r8, & + 0.00011326698492384678_r8, 0.00011535710208369843_r8, & + 0.00011690732830309869_r8, 0.00011886482315592995_r8, & + 0.00012025328851980973_r8, 0.00012123564276896907_r8, & + 0.00012143578518897319_r8, 0.00012122304788044847_r8, & + 0.00012102133941446433_r8, 0.0001211415192812978_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,7) / & + 8.0834402775072984e-05_r8, 0.00010145356299334267_r8, & + 9.8875984197357555e-05_r8, 0.00012385763168605872_r8, & + 0.00012379021078645871_r8, 0.00012278805163749959_r8, & + 0.00010972797663628076_r8, 7.5260422068483931e-05_r8, & + 6.7504424254176694e-05_r8, 6.8669384138438062e-05_r8, & + 6.8140800295425261e-05_r8, 6.7815140867989284e-05_r8, & + 6.6375278666315772e-05_r8, 6.8248771067040161e-05_r8, & + 6.9424026293784876e-05_r8, 7.0808426758165851e-05_r8, & + 7.1109575542719101e-05_r8, 7.2469406849937624e-05_r8, & + 7.4744575686885113e-05_r8, 7.7769039677589563e-05_r8, & + 8.104373429792943e-05_r8, 8.4401580977959826e-05_r8, & + 8.8534098040009802e-05_r8, 9.3017127906757811e-05_r8, & + 9.7882646977811449e-05_r8, 0.00010228113042171376_r8, & + 0.00010781074996218419_r8, 0.00011732218186991759_r8, & + 0.00011824048172187817_r8, 0.00011881018301861596_r8, & + 0.000119519663028471_r8, 0.00012070098663276501_r8, & + 0.00012153549624961061_r8, 0.00012172034845935719_r8, & + 0.00012211805876271615_r8, 0.00012252228879846893_r8, & + 0.00012432157849288285_r8, 0.00012447437182192071_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,8) / & + 0.0001139187241331515_r8, 0.00011441764997993798_r8, & + 0.00011321273305139906_r8, 0.00011873048405313711_r8, & + 0.00012528293300351226_r8, 0.00013293489660495491_r8, & + 0.0001378964844197296_r8, 0.00014063873692529564_r8, & + 0.00014409565795848881_r8, 0.00014900361532085336_r8, & + 0.00015424712543351933_r8, 0.00015995726240731144_r8, & + 0.00017196188503131493_r8, 0.00018275357644422871_r8, & + 0.00018987283132719553_r8, 0.00019476031618639435_r8, & + 0.00020622430620418231_r8, 0.00021368557524212143_r8, & + 0.00021973422404750366_r8, 0.00022409062728003757_r8, & + 0.0002281196234448151_r8, 0.00023417312894469269_r8, & + 0.00023811193418569757_r8, 0.00024209490039418699_r8, & + 0.00024527856692615113_r8, 0.00024743265666604214_r8, & + 0.0002490364262950462_r8, 0.00025489192320006184_r8, & + 0.00025689200884999885_r8, 0.00025718482813016588_r8, & + 0.00025673102777157639_r8, 0.00025857019407292495_r8, & + 0.00025592844040410955_r8, 0.00025376225242029001_r8, & + 0.00025970735035520337_r8, 0.00026109850050445307_r8, & + 0.00026188699796697568_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,8) / & + 0.00010850445104822342_r8, 0.00010974375315877091_r8, & + 0.00010979004630425254_r8, 0.00011618616820580865_r8, & + 0.0001229158387624956_r8, 0.00012944202946197194_r8, & + 0.00013808969243209168_r8, 0.00014438066235085282_r8, & + 0.00015167176944514573_r8, 0.00015981009074271101_r8, & + 0.00016723829791623796_r8, 0.00017396424909335285_r8, & + 0.00018166567175717532_r8, 0.00018830170067586977_r8, & + 0.00019192661968483508_r8, 0.00019518691981509746_r8, & + 0.00020537386715043947_r8, 0.00021264027949911596_r8, & + 0.00021808897655338014_r8, 0.00022399623988179275_r8, & + 0.00022796153526391934_r8, 0.000233287031555908_r8, & + 0.00023710560618910259_r8, 0.00024121500156176949_r8, & + 0.00024506495537539731_r8, 0.00024781974623767688_r8, & + 0.00024966014237983098_r8, 0.00025496363372959086_r8, & + 0.00025878626461190704_r8, 0.0002591179415562826_r8, & + 0.00025894779820576287_r8, 0.00025939697698757722_r8, & + 0.00025732137512682752_r8, 0.00025561845032301964_r8, & + 0.00025957249512578755_r8, 0.00026011616857832796_r8, & + 0.00026088349339725177_r8, 0.0002622569469254888_r8, & + 0.00026445916720795677_r8, 0.0002682777486979581_r8, & + 0.00027428457634634876_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,8) / & + 9.785516511697473e-05_r8, 9.9413335989164786e-05_r8, & + 0.00010002914537417998_r8, 0.0001032431882566796_r8, & + 0.0001087325329930701_r8, 0.00011720426059350466_r8, & + 0.00013232909536042104_r8, 0.00014139037706943747_r8, & + 0.00014668104071179913_r8, 0.00015568002071399411_r8, & + 0.00016614445453856007_r8, 0.00017569960483910518_r8, & + 0.00018324424333687183_r8, 0.00018952930832482332_r8, & + 0.00019240056395448615_r8, 0.00019532130383618151_r8, & + 0.00020402172880410642_r8, 0.00021081009050000926_r8, & + 0.00021758407172432667_r8, 0.00022502749916481879_r8, & + 0.00023000092730384594_r8, 0.00023333659915739853_r8, & + 0.00023827576067934387_r8, 0.00024256084612164636_r8, & + 0.00024691539985696856_r8, 0.00025079090342408432_r8, & + 0.00025384768873849795_r8, 0.0002592971060403201_r8, & + 0.00026274469952116699_r8, 0.00026428338140073584_r8, & + 0.00026433159669000852_r8, 0.00026407876760390421_r8, & + 0.00026303145292779899_r8, 0.0002622909343301466_r8, & + 0.00026265968504520377_r8, 0.00026273615469804182_r8, & + 0.00026330671167287383_r8, 0.00026467349679955678_r8, & + 0.00026620612365274929_r8, 0.00026834196267649327_r8, & + 0.00027204610377669396_r8, 0.0002690650138520125_r8, & + 0.000268768145076781_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,8) / & + 9.1718486843170248e-05_r8, 9.1715966677378619e-05_r8, & + 9.2482496984985636e-05_r8, 9.342800504642419e-05_r8, & + 9.5536910072678379e-05_r8, 0.00010195738160217655_r8, & + 0.00011647402765278419_r8, 0.00013057885975146323_r8, & + 0.00014094835458603434_r8, 0.0001480480517015102_r8, & + 0.00015719345787760023_r8, 0.00016659869732850671_r8, & + 0.00017861595917550348_r8, 0.00018607263609295266_r8, & + 0.00019013762300093128_r8, 0.00019384719252707146_r8, & + 0.00020017052647592132_r8, 0.00020584521888715663_r8, & + 0.00021115882679285724_r8, 0.00021686191896598862_r8, & + 0.00022157578433070607_r8, 0.00022251239055396687_r8, & + 0.00022728641220119092_r8, 0.00023206868005745597_r8, & + 0.00023682452864170282_r8, 0.00024187302131492422_r8, & + 0.00024640544226968761_r8, 0.00025585008708445544_r8, & + 0.00026135305116254282_r8, 0.00026432316351141465_r8, & + 0.00026545876371763481_r8, 0.00026573104601502497_r8, & + 0.00026537876538920425_r8, 0.00026485446401863663_r8, & + 0.0002644096236142663_r8, 0.00026431735202626602_r8, & + 0.00026437458511910058_r8, 0.00026494222163434385_r8, & + 0.00026539552890146026_r8, 0.00026544414416369237_r8, & + 0.00026594930682702345_r8, 0.00026738257876174055_r8, & + 0.00026632778965072102_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,8) / & + 8.3598765693947925e-05_r8, 8.1307264655877996e-05_r8, & + 8.2132232970361839e-05_r8, 8.6958504265579031e-05_r8, & + 8.7105530476444781e-05_r8, 8.8399917224447644e-05_r8, & + 9.5856632637184432e-05_r8, 0.00010844464536794923_r8, & + 0.00012108763691001559_r8, 0.00013048196670149985_r8, & + 0.00013889122455515055_r8, 0.0001484853307660032_r8, & + 0.00016344245487622105_r8, 0.00017307979464244253_r8, & + 0.00017920472112198025_r8, 0.00018431810737089748_r8, & + 0.00019123227831014525_r8, 0.00019492890235218007_r8, & + 0.00019870768586339668_r8, 0.0002028142239417543_r8, & + 0.00020648540121031572_r8, 0.0002077693241938742_r8, & + 0.00021048742081590903_r8, 0.00021360510643271858_r8, & + 0.00021703719206549559_r8, 0.00022096634484528447_r8, & + 0.00022489079017709405_r8, 0.00023712629005622889_r8, & + 0.00024656348744678155_r8, 0.00025344505839854575_r8, & + 0.00025866530340855988_r8, 0.00026233025666450607_r8, & + 0.00026427776076519898_r8, 0.00026520679397814336_r8, & + 0.00026543991148779856_r8, 0.00026527854102901963_r8, & + 0.00026517346138555108_r8, 0.00026570739132868469_r8, & + 0.00026629496787058081_r8, 0.00026627649552253573_r8, & + 0.00026541818947081898_r8, 0.00026595904755376943_r8, & + 0.00026690918800259934_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,8) / & + 5.8389130901585923e-05_r8, 5.5689214204842687e-05_r8, & + 4.7703907961016248e-05_r8, 4.224914590267952e-05_r8, & + 4.3113804458627614e-05_r8, 4.3150993387520604e-05_r8, & + 4.7071453869524196e-05_r8, 5.5314555355201265e-05_r8, & + 6.5453412379950525e-05_r8, 7.2806896002375505e-05_r8, & + 7.9167346423587444e-05_r8, 8.4384381191814873e-05_r8, & + 9.7161178852261533e-05_r8, 0.00010767650996129889_r8, & + 0.00011468422390955273_r8, 0.0001211045007212096_r8, & + 0.00013156967620552286_r8, 0.00013970523440121527_r8, & + 0.00014860310582577357_r8, 0.00015623583809259065_r8, & + 0.00016234646753692691_r8, 0.00016790243463541522_r8, & + 0.00016827258067279657_r8, 0.0001717438329322484_r8, & + 0.00017464100707064698_r8, 0.00017685909549421521_r8, & + 0.00017883285220922116_r8, 0.00018530785714673053_r8, & + 0.00019365236842948532_r8, 0.00020236520348409931_r8, & + 0.00021488962972550309_r8, 0.00022816581713296265_r8, & + 0.0002394210022918377_r8, 0.00024801875911086349_r8, & + 0.00025410962936980191_r8, 0.00025904428897151658_r8, & + 0.00026145842786158736_r8, 0.00026303564895470411_r8, & + 0.00026405208759461285_r8, 0.00026464369807227821_r8, & + 0.00026280342495712205_r8, 0.00026084135167490246_r8, & + 0.00025895575410127969_r8, 0.0002590361170422268_r8, 9e90_r8 & + / +data saar_ref(:,11,8) / & + 2.7379518351303283e-05_r8, 2.6568740156050253e-05_r8, & + 1.5070638537596514e-05_r8, 1.0135374516281206e-05_r8, & + 1.0696257998655387e-05_r8, 1.0465187832154326e-05_r8, & + 1.3634872610368534e-05_r8, 1.6844160588748743e-05_r8, & + 2.117040552157077e-05_r8, 2.4087208473367697e-05_r8, & + 2.6628561763609493e-05_r8, 2.8875572675857037e-05_r8, & + 3.4843069779338366e-05_r8, 4.0170204896069278e-05_r8, & + 4.5605647984785385e-05_r8, 5.0868549021357634e-05_r8, & + 6.1578587368114296e-05_r8, 7.2199719340642029e-05_r8, & + 8.4712918055905695e-05_r8, 9.8323765624184548e-05_r8, & + 0.00011234870047020636_r8, 0.00012352017610280162_r8, & + 0.00012794457717807219_r8, 0.00013512680260343855_r8, & + 0.0001407818987694698_r8, 0.00014438021999452953_r8, & + 0.00014613784885572558_r8, 0.00014749954783294198_r8, & + 0.00014674914565178179_r8, 0.000150324607523534_r8, & + 0.00015686161767399491_r8, 0.00016674706072551749_r8, & + 0.0001842929353722603_r8, 0.00020047427575849638_r8, & + 0.00021482604795157833_r8, 0.00022741592243104557_r8, & + 0.00023743180400103171_r8, 0.00024696567609579548_r8, & + 0.00025489147307765825_r8, 0.00025922768235949004_r8, & + 0.00025984074349026551_r8, 0.00025892539998058589_r8, & + 0.00025865583535800531_r8, 0.00025850277025125294_r8, 9e90_r8 & + / +data saar_ref(:,12,8) / & + 1.1525405067516595e-05_r8, 1.1435515331390413e-05_r8, & + 6.3505396207956398e-06_r8, 7.4225288205730911e-06_r8, & + 7.7667921051501988e-06_r8, 7.8462077110471747e-06_r8, & + 9.2875010245070449e-06_r8, 9.752523737240489e-06_r8, & + 1.059868047066107e-05_r8, 1.1147446552885727e-05_r8, & + 1.1868627810417132e-05_r8, 1.2909063473335911e-05_r8, & + 1.5137054803012662e-05_r8, 1.7496413050069195e-05_r8, & + 2.0701036012672442e-05_r8, 2.4415791784359329e-05_r8, & + 3.2349523593050168e-05_r8, 4.1005659815999463e-05_r8, & + 5.1813567364647505e-05_r8, 6.5740315540186215e-05_r8, & + 8.1568251079320518e-05_r8, 9.5859402572214122e-05_r8, & + 0.00010925493655803164_r8, 0.00011974185710550032_r8, & + 0.00012689865036462648_r8, 0.0001324584290434937_r8, & + 0.0001349143590704945_r8, 0.0001341620407317396_r8, & + 0.00013009434019736147_r8, 0.0001295248508251445_r8, & + 0.00013187100303470743_r8, 0.00013599641447385949_r8, & + 0.00015049248758076099_r8, 0.00016905901735414475_r8, & + 0.0001907495306954445_r8, 0.00020755697052623264_r8, & + 0.00022128209695574831_r8, 0.000235282291413647_r8, & + 0.00024769808169339535_r8, 0.0002559603118363533_r8, & + 0.00025823106700041893_r8, 0.0002586626929767354_r8, & + 0.00025904795998556005_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,8) / & + 7.1060184974992792e-06_r8, 7.0935795475813888e-06_r8, & + 6.3145489647055941e-06_r8, 6.1488617278961078e-06_r8, & + 6.2832053335659247e-06_r8, 6.4832165431971838e-06_r8, & + 7.4744029682272222e-06_r8, 7.9263358226117352e-06_r8, & + 8.1861355207800864e-06_r8, 8.4368007947327491e-06_r8, & + 8.6878918192379582e-06_r8, 9.2291598682786164e-06_r8, & + 8.8013127481639475e-06_r8, 9.4693278747166299e-06_r8, & + 1.0411629672970499e-05_r8, 1.1722356094497006e-05_r8, & + 1.4809166635743195e-05_r8, 1.9924786558068861e-05_r8, & + 2.6627257838026186e-05_r8, 3.4961168908512353e-05_r8, & + 4.6696745046367023e-05_r8, 5.9218389485534043e-05_r8, & + 7.6548170970459008e-05_r8, 9.2363448228280281e-05_r8, & + 0.00010756923911281409_r8, 0.00012076323272038967_r8, & + 0.00012821614079765661_r8, 0.00013621073592915873_r8, & + 0.00013392527004154749_r8, 0.00013052951616987827_r8, & + 0.00012856533322948651_r8, 0.0001272958364628906_r8, & + 0.00013449366088612763_r8, 0.00014810238378644018_r8, & + 0.00016782065868711264_r8, 0.00018627769658780894_r8, & + 0.0002053798702743798_r8, 0.00021266449741296606_r8, & + 0.00022193319864399999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,8) / & + 5.5452786644170449e-06_r8, 5.8091323568945693e-06_r8, & + 5.6145739099991233e-06_r8, 5.7729452365031024e-06_r8, & + 5.6803723741150531e-06_r8, 5.5858205439946145e-06_r8, & + 6.3345804292379353e-06_r8, 7.4498267670546993e-06_r8, & + 7.8228069811419141e-06_r8, 7.944077632117027e-06_r8, & + 8.119721150072502e-06_r8, 8.6786548884121343e-06_r8, & + 7.731790260978119e-06_r8, 8.2864239623525532e-06_r8, & + 9.1959683401343289e-06_r8, 1.0450752000168069e-05_r8, & + 1.1766213604665276e-05_r8, 1.4307716742384109e-05_r8, & + 1.8560954261250045e-05_r8, 2.5238876926729241e-05_r8, & + 3.5971279784300821e-05_r8, 4.7424951634347331e-05_r8, & + 6.341056271877749e-05_r8, 8.1373671496877547e-05_r8, & + 0.00010050452269831569_r8, 0.0001172877728651526_r8, & + 0.00012707152802755696_r8, 0.00014296141295779387_r8, & + 0.00014410272609836528_r8, 0.00013955494612984153_r8, & + 0.00013371264242109857_r8, 0.00013027145888824096_r8, & + 0.00013526979258504559_r8, 0.00014842682129331548_r8, & + 0.00016636591374282045_r8, 0.00018702629874736926_r8, & + 0.00020587189584688834_r8, 0.00021054822653574249_r8, & + 0.00022008690833804655_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,8) / & + 3.9461558509363434e-06_r8, 3.9088744098343332e-06_r8, & + 3.4227815110510588e-06_r8, 5.216732145531921e-06_r8, & + 5.3374496600097731e-06_r8, 5.5670592611685146e-06_r8, & + 6.7101666452011023e-06_r8, 6.515766811954327e-06_r8, & + 6.6499867738170065e-06_r8, 6.5636300652486476e-06_r8, & + 6.7850933036731121e-06_r8, 7.030277560811528e-06_r8, & + 7.1586158640916527e-06_r8, 7.5124769289340281e-06_r8, & + 7.9293118227813069e-06_r8, 8.6431894379840712e-06_r8, & + 1.0955860190203557e-05_r8, 1.4109603490306219e-05_r8, & + 2.0819281608832151e-05_r8, 3.2768574691151494e-05_r8, & + 4.892154717246996e-05_r8, 6.2684910605100599e-05_r8, & + 7.9781432740585811e-05_r8, 9.6536990457098809e-05_r8, & + 0.00011485912829495726_r8, 0.0001293467438371846_r8, & + 0.00014137981481612003_r8, 0.00015497127166712145_r8, & + 0.00015416507038020172_r8, 0.00014653209050669873_r8, & + 0.00013952805702239983_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,8) / & + 9.0785498287478508e-06_r8, 9.4401763776662016e-06_r8, & + 7.7114647106748259e-06_r8, 1.0051321225809706e-05_r8, & + 9.0619889397949044e-06_r8, 9.5642271180847441e-06_r8, & + 1.3836125516765907e-05_r8, 9.9101937613511393e-06_r8, & + 9.784900913400176e-06_r8, 1.0746523296733687e-05_r8, & + 1.1516921372819933e-05_r8, 1.2223790020951332e-05_r8, & + 1.492735453374938e-05_r8, 1.7456243769775751e-05_r8, & + 1.9545097251447828e-05_r8, 2.351556085435368e-05_r8, & + 3.3403149126512759e-05_r8, 3.4753231774971419e-05_r8, & + 3.6832585358470058e-05_r8, 3.7473698246751019e-05_r8, & + 3.7865695673566406e-05_r8, 4.1252008407988889e-05_r8, & + 4.2215140674633809e-05_r8, 4.2517603437851994e-05_r8, & + 4.2155132257135791e-05_r8, 4.2220329234121085e-05_r8, & + 4.2840849675285056e-05_r8, 4.0855018339130684e-05_r8, & + 3.9675036838187335e-05_r8, 4.2373303945310261e-05_r8, & + 4.192457893553749e-05_r8, 4.2677130600021823e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,8) / & + 5.9902631928710924e-06_r8, 6.6771458086623452e-06_r8, & + 5.5878118128966362e-06_r8, 6.9401573733328453e-06_r8, & + 6.4410174392913947e-06_r8, 6.9235058827550856e-06_r8, & + 9.5863524543176093e-06_r8, 8.5832953168316364e-06_r8, & + 8.8358534032631274e-06_r8, 9.626837868815218e-06_r8, & + 1.047721696133855e-05_r8, 1.1272950160879785e-05_r8, & + 1.364526554319101e-05_r8, 1.6248412651051896e-05_r8, & + 1.900914019552319e-05_r8, 2.2326726285748102e-05_r8, & + 2.8913207309939739e-05_r8, 3.0624790745604958e-05_r8, & + 3.2617621413173708e-05_r8, 3.3530726243279381e-05_r8, & + 3.3936518516934347e-05_r8, 3.7543533825909661e-05_r8, & + 3.9062216774855437e-05_r8, 3.9655225123663545e-05_r8, & + 3.99945750448625e-05_r8, 4.0199217116222447e-05_r8, & + 4.0795062651285694e-05_r8, 3.9749293402306135e-05_r8, & + 4.0218925020472038e-05_r8, 4.1496526581484265e-05_r8, & + 4.2593513004587185e-05_r8, 4.2258159960666242e-05_r8, & + 4.2013719145111583e-05_r8, 4.0001794984206773e-05_r8, & + 4.2475516600367236e-05_r8, 4.1448477426887507e-05_r8, & + 4.1481265816780322e-05_r8, 4.1481212216183779e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,8) / & + 6.858259847378554e-06_r8, 9.6065092536097585e-06_r8, & + 7.029541518560709e-06_r8, 6.8681007476958162e-06_r8, & + 6.7176515977961031e-06_r8, 7.3320358529045646e-06_r8, & + 8.4434495080711295e-06_r8, 9.674782625520357e-06_r8, & + 1.0088920916125349e-05_r8, 1.0635278038530044e-05_r8, & + 1.1541693730913228e-05_r8, 1.235768430595715e-05_r8, & + 1.4803755865820008e-05_r8, 1.7471999308148671e-05_r8, & + 2.0298946026491059e-05_r8, 2.2990817965520487e-05_r8, & + 2.6608653227110061e-05_r8, 2.8524926066737197e-05_r8, & + 3.0062800562302313e-05_r8, 3.1008253537513607e-05_r8, & + 3.0837569606083183e-05_r8, 3.4529663577756221e-05_r8, & + 3.5561868337634626e-05_r8, 3.604461692127687e-05_r8, & + 3.7211974100540965e-05_r8, 3.7871621410332835e-05_r8, & + 3.8756880941847762e-05_r8, 3.8517672746240305e-05_r8, & + 4.0009960724845323e-05_r8, 3.9710720504776072e-05_r8, & + 4.3028911703967308e-05_r8, 4.1829278337981029e-05_r8, & + 4.0096129865305938e-05_r8, 4.2052685421500769e-05_r8, & + 4.4284597503447671e-05_r8, 4.3213815555208112e-05_r8, & + 4.3248000440181986e-05_r8, 4.3247944556674644e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,8) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,34,8) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,35,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,8) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,38,8) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,39,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,8) / & + 4.6828057887585038e-05_r8, 4.744805007492533e-05_r8, & + 4.8087483679624309e-05_r8, 5.3450043971686276e-05_r8, & + 5.5239903838125272e-05_r8, 5.7044522142975976e-05_r8, & + 5.9079685043392531e-05_r8, 6.0603551048846631e-05_r8, & + 6.1573956729469006e-05_r8, 6.2456365899601226e-05_r8, & + 6.3154005850194039e-05_r8, 6.34445841736189e-05_r8, & + 6.3954538595779336e-05_r8, 6.3642273870243851e-05_r8, & + 6.4799087013557818e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,8) / & + 4.9941762737647302e-05_r8, 5.1246586074336391e-05_r8, & + 5.0227725122776127e-05_r8, 5.7546941066744599e-05_r8, & + 5.8988263973655575e-05_r8, 6.0044839854922102e-05_r8, & + 6.2251801062009204e-05_r8, 6.3830491043174171e-05_r8, & + 6.4771527214808276e-05_r8, 6.5538267985393135e-05_r8, & + 6.6603159371400814e-05_r8, 6.7613512301847176e-05_r8, & + 7.0104817124244399e-05_r8, 7.2161957456560517e-05_r8, & + 7.2519902387010386e-05_r8, 7.0579625390956161e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,8) / & + 4.8326780245810897e-05_r8, 5.1445196443884352e-05_r8, & + 4.361921193689098e-05_r8, 4.8598443486353257e-05_r8, & + 5.2747834945436203e-05_r8, 5.7171967473237508e-05_r8, & + 6.8318422907565567e-05_r8, 6.3784426454271064e-05_r8, & + 6.3583591146928003e-05_r8, 6.341244708163168e-05_r8, & + 6.4415538029522016e-05_r8, 6.2966480417524616e-05_r8, & + 6.7332868227910179e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,8) / & + 4.6426216781037002e-05_r8, 4.5742748268800908e-05_r8, & + 3.3597632600003106e-05_r8, 3.6963280121273967e-05_r8, & + 4.029198582836144e-05_r8, 4.4822842604574857e-05_r8, & + 5.3638116727961387e-05_r8, 5.0622039795450976e-05_r8, & + 5.0623803593384198e-05_r8, 5.1392898140617662e-05_r8, & + 5.337330034803547e-05_r8, 5.3850687688638362e-05_r8, & + 5.760544693418339e-05_r8, 5.9067716832268994e-05_r8, & + 6.082138172041948e-05_r8, 6.2278304016369698e-05_r8, & + 6.3900662978303544e-05_r8, 6.8588111957697997e-05_r8, & + 7.2752665880542855e-05_r8, 7.8582839025126612e-05_r8, & + 8.2381263210782037e-05_r8, 8.5914219243096244e-05_r8, & + 8.8772778532137544e-05_r8, 9.4252531207421642e-05_r8, & + 9.8035763669761141e-05_r8, 0.00010150207093739797_r8, & + 0.0001042355783616545_r8, 0.00010918712594335878_r8, & + 0.00011222177662915814_r8, 0.00011345153608038109_r8, & + 0.00011548407581919937_r8, 0.00011664044598701687_r8, & + 0.00011808788695155925_r8, 0.00011882041162147752_r8, & + 0.00011905351398738045_r8, 0.00011856785448802822_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,8) / & + 6.5639945013394835e-05_r8, 7.2999375446186358e-05_r8, & + 6.5765088159184317e-05_r8, 7.1826148338203686e-05_r8, & + 6.9038787799058368e-05_r8, 7.1688887082237346e-05_r8, & + 6.7576778277093371e-05_r8, 5.6305133506078951e-05_r8, & + 5.4912831773019444e-05_r8, 5.7356003857612293e-05_r8, & + 5.8457919446222581e-05_r8, 5.9057881454395009e-05_r8, & + 6.0728026742485835e-05_r8, 6.2633116599437985e-05_r8, & + 6.4439809451993359e-05_r8, 6.5705929729623024e-05_r8, & + 6.72114800534769e-05_r8, 6.9767042306285047e-05_r8, & + 7.2256811579507978e-05_r8, 7.5126409095198579e-05_r8, & + 7.8830462174111457e-05_r8, 8.1867128896570603e-05_r8, & + 8.5679832950597836e-05_r8, 9.0572473547093153e-05_r8, & + 9.4798019726042071e-05_r8, 9.855835138312148e-05_r8, & + 0.0001022741326323787_r8, 0.00010968000945980022_r8, & + 0.00011316787234242949_r8, 0.00011524990527446479_r8, & + 0.00011687710008258504_r8, 0.00011884700595429212_r8, & + 0.00012024651725946416_r8, 0.00012117142222072173_r8, & + 0.00012137450211454774_r8, 0.00012119958890888116_r8, & + 0.00012109367129216153_r8, 0.00012116967009001923_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,8) / & + 7.9651316811112284e-05_r8, 0.00010101251648980579_r8, & + 9.8661688388112392e-05_r8, 0.00012211211030234323_r8, & + 0.00012008746502770768_r8, 0.00012029160767012501_r8, & + 0.00010042541510991561_r8, 7.2969402988981742e-05_r8, & + 6.447098673053899e-05_r8, 6.6219657430102691e-05_r8, & + 6.5855159431928853e-05_r8, 6.6641586314266466e-05_r8, & + 6.6144066841428357e-05_r8, 6.8038733882934391e-05_r8, & + 6.9252746249666655e-05_r8, 7.0660932044002854e-05_r8, & + 7.1067103810806321e-05_r8, 7.2399332880478982e-05_r8, & + 7.4665356732153465e-05_r8, 7.7724188881419026e-05_r8, & + 8.094334591063114e-05_r8, 8.4346072850147364e-05_r8, & + 8.8474653001256563e-05_r8, 9.2933890355867253e-05_r8, & + 9.7796723437783593e-05_r8, 0.00010227969998559789_r8, & + 0.00010785817151822896_r8, 0.00011730524001934978_r8, & + 0.00011822854637492605_r8, 0.00011869693941120955_r8, & + 0.00011949048500645338_r8, 0.00012070988755320335_r8, & + 0.00012153515133249341_r8, 0.00012171206195617197_r8, & + 0.00012209676703792277_r8, 0.00012251164122109562_r8, & + 0.00012435585857221765_r8, 0.00012448218109292937_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,9) / & + 0.00011487274441330424_r8, 0.00011549920364240265_r8, & + 0.00011494889567726539_r8, 0.00011769764377252568_r8, & + 0.00012477951384515598_r8, 0.00013131814599698206_r8, & + 0.00013646967199921312_r8, 0.00013959198029428317_r8, & + 0.00014246464025835303_r8, 0.00014693068790470426_r8, & + 0.00015148722155773021_r8, 0.0001546795041508975_r8, & + 0.00016672972857427706_r8, 0.00018231341113186998_r8, & + 0.00019015332937229862_r8, 0.00019472331889919988_r8, & + 0.00020796278401948647_r8, 0.00021515106960568649_r8, & + 0.00022039257235090419_r8, 0.00022418026524509578_r8, & + 0.00022803105331446107_r8, 0.00023495528423221517_r8, & + 0.00023859316698731482_r8, 0.00024281774269024111_r8, & + 0.00024627965812383436_r8, 0.00024862577330230531_r8, & + 0.00025019814741054474_r8, 0.00025562334867271631_r8, & + 0.00025799949031551087_r8, 0.00025822560497704925_r8, & + 0.00025739754476637782_r8, 0.00025861114055010688_r8, & + 0.00025656212148765371_r8, 0.00025466265762757507_r8, & + 0.00025828474488686438_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,9) / & + 0.00010977278037666249_r8, 0.00011032727949924816_r8, & + 0.00011056839477279555_r8, 0.00011467205316466461_r8, & + 0.00012099991356533782_r8, 0.00012693810003502627_r8, & + 0.00013629794203522897_r8, 0.00014252800604072497_r8, & + 0.00015001323347550767_r8, 0.00015811957263975649_r8, & + 0.00016457246734405431_r8, 0.00016827576494790792_r8, & + 0.00017624665660154955_r8, 0.00018576907034710243_r8, & + 0.00019071423859105317_r8, 0.00019437642402435993_r8, & + 0.00020478708290128778_r8, 0.0002121236726364355_r8, & + 0.00021777447686990159_r8, 0.00022238216908128505_r8, & + 0.0002270933693821949_r8, 0.00023338692910561924_r8, & + 0.00023780932046890045_r8, 0.00024217984016899172_r8, & + 0.00024598129365864752_r8, 0.00024900228918388491_r8, & + 0.00025096963683229456_r8, 0.00025567053887014788_r8, & + 0.00025894716477077996_r8, 0.00025967051983850795_r8, & + 0.00025934104155482144_r8, 0.00025939232475834391_r8, & + 0.00025849303162943013_r8, 0.00025711723792188078_r8, & + 0.0002585413333357694_r8, 0.00025860606572237392_r8, & + 0.00025968228152752824_r8, 0.00026133320387968829_r8, & + 0.00026392769855375484_r8, 0.00026751008125249377_r8, & + 0.00027399338021456794_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,9) / & + 9.4699197296825371e-05_r8, 9.5402535810635341e-05_r8, & + 9.6226880573084959e-05_r8, 0.00010162010241826814_r8, & + 0.00010567707442308699_r8, 0.00011153261185108819_r8, & + 0.00012946813668722546_r8, 0.00013931610508450298_r8, & + 0.00014681483591656453_r8, 0.00015734498911765024_r8, & + 0.00016653080440200179_r8, 0.00017467793159531571_r8, & + 0.00018123301605241826_r8, 0.00018627456154783997_r8, & + 0.00018863416491206303_r8, 0.00019104883912377085_r8, & + 0.0001968273280717378_r8, 0.00020289563426935086_r8, & + 0.00020959326412496278_r8, 0.00021655186215056754_r8, & + 0.00022258141272181261_r8, 0.00022658001242205521_r8, & + 0.00023200233215952512_r8, 0.00023698462847937096_r8, & + 0.00024160684260002583_r8, 0.00024575674992973688_r8, & + 0.0002492480511076887_r8, 0.00025646701110826955_r8, & + 0.00026114842775518425_r8, 0.00026380445889989695_r8, & + 0.00026447842518778901_r8, 0.00026373520505366336_r8, & + 0.00026351618539311865_r8, 0.0002619230679093709_r8, & + 0.00026200600857839251_r8, 0.00026175961258615956_r8, & + 0.00026235141272068979_r8, 0.00026371229499159369_r8, & + 0.00026541978993555227_r8, 0.00026695055441786157_r8, & + 0.00027110932471704471_r8, 0.00026935039267220889_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,9) / & + 8.3618629328959169e-05_r8, 8.3743064653215169e-05_r8, & + 8.1665325314796028e-05_r8, 8.604900096840136e-05_r8, & + 8.8029966202454897e-05_r8, 9.1414035990511436e-05_r8, & + 0.00010371880958129038_r8, 0.00011771261775484179_r8, & + 0.00012809858739854803_r8, 0.00013839138706296702_r8, & + 0.00014680663159102311_r8, 0.00015542699358827525_r8, & + 0.00016825587871651534_r8, 0.00017634737169250074_r8, & + 0.00018125134845471379_r8, 0.00018494908349123902_r8, & + 0.0001896046421160496_r8, 0.00019373729300297418_r8, & + 0.00019739369449695026_r8, 0.00020233779734054011_r8, & + 0.00020731336528984615_r8, 0.00020947254537506617_r8, & + 0.00021422853919927633_r8, 0.00021876362334464158_r8, & + 0.00022358476958148971_r8, 0.00022864544875198523_r8, & + 0.00023292813018916138_r8, 0.00024638350702090619_r8, & + 0.00025565285556475059_r8, 0.00026090530306844065_r8, & + 0.00026487967060473785_r8, 0.00026635993742802917_r8, & + 0.00026637428472099759_r8, 0.00026607569175165444_r8, & + 0.00026582122917160581_r8, 0.00026571465206565105_r8, & + 0.00026593059674081897_r8, 0.00026663234332268559_r8, & + 0.00026714608729247187_r8, 0.00026657739795630896_r8, & + 0.0002663041429366846_r8, 0.00026786634140553634_r8, & + 0.00026670609591944965_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,9) / & + 7.5361111927772103e-05_r8, 7.3638015094975863e-05_r8, & + 6.9471284949481111e-05_r8, 6.8555661974656863e-05_r8, & + 6.8753318358960786e-05_r8, 6.9492522441534483e-05_r8, & + 7.3100579601095202e-05_r8, 8.4564818477281907e-05_r8, & + 9.7432818997814213e-05_r8, 0.00010758679361373256_r8, & + 0.0001171571073121537_r8, 0.00012633611121963857_r8, & + 0.00014277050802923952_r8, 0.00015336514958167005_r8, & + 0.00016108507301381694_r8, 0.0001678122946096426_r8, & + 0.00017635376600573548_r8, 0.00018018554075609406_r8, & + 0.00018356118333385865_r8, 0.00018662866720607185_r8, & + 0.00018961830902162574_r8, 0.00019103962337181754_r8, & + 0.00019403075748492679_r8, 0.00019655408646531325_r8, & + 0.00019925295648615872_r8, 0.00020183798259397248_r8, & + 0.00020531082362901183_r8, 0.00021874172388277254_r8, & + 0.00023039579216950826_r8, 0.00024041790206087509_r8, & + 0.00024900897508527034_r8, 0.00025584207084269965_r8, & + 0.00026083452244763197_r8, 0.00026419654739840651_r8, & + 0.00026597107357697447_r8, 0.00026650983818243172_r8, & + 0.00026723984237801387_r8, 0.00026826574308381649_r8, & + 0.00026923292833372944_r8, 0.00026948255391517673_r8, & + 0.0002685070470662531_r8, 0.00026749207004071274_r8, & + 0.00026764110255212759_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,9) / & + 5.0735457674153934e-05_r8, 4.8517451296624816e-05_r8, & + 3.9908290941410657e-05_r8, 3.2915474152562739e-05_r8, & + 3.3933070092445284e-05_r8, 3.3942085347919868e-05_r8, & + 3.6499406581308481e-05_r8, 4.3138214055689087e-05_r8, & + 5.1781129357712053e-05_r8, 6.0048822076660744e-05_r8, & + 6.7962904745586458e-05_r8, 7.3275715975806439e-05_r8, & + 8.5175278068687308e-05_r8, 9.4646569665827261e-05_r8, & + 0.00010165205154389644_r8, 0.00010837832625310308_r8, & + 0.0001206710173624741_r8, 0.00013022843671173885_r8, & + 0.00013977233044569308_r8, 0.00014811947748790026_r8, & + 0.00015400990354874484_r8, 0.00015910807732072684_r8, & + 0.00016111439371591571_r8, 0.00016407894252336197_r8, & + 0.00016662175299537738_r8, 0.00016792422749233073_r8, & + 0.00016934246112692268_r8, 0.00017522345396687352_r8, & + 0.0001842233249626627_r8, 0.0001958104159534571_r8, & + 0.00020857330788554625_r8, 0.00022098291498254261_r8, & + 0.00023222164408846975_r8, 0.00024221610901133768_r8, & + 0.00025044317037607695_r8, 0.00025630298453001012_r8, & + 0.00026048704148769127_r8, 0.00026363140519992798_r8, & + 0.00026700994327587811_r8, 0.00026859485768588681_r8, & + 0.00026921298630862083_r8, 0.00026985328269719678_r8, & + 0.00027189272330215334_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,9) / & + 2.2481093563182962e-05_r8, 2.1912587350749115e-05_r8, & + 1.2115171879372109e-05_r8, 8.5280987453386359e-06_r8, & + 9.2162458928357013e-06_r8, 9.2186812531401992e-06_r8, & + 1.2382465581514982e-05_r8, 1.4579419380423727e-05_r8, & + 1.7612524629845819e-05_r8, 2.0827429828646802e-05_r8, & + 2.3503383620118939e-05_r8, 2.5300361105777978e-05_r8, & + 2.9671747810013526e-05_r8, 3.4339240555581745e-05_r8, & + 3.8526683123554817e-05_r8, 4.2993305749951324e-05_r8, & + 5.370958970101323e-05_r8, 6.4917244317643389e-05_r8, & + 7.7517110577508206e-05_r8, 9.2068832872603675e-05_r8, & + 0.00010594358674004874_r8, 0.00011794791489736765_r8, & + 0.00012586877682854285_r8, 0.00013353535481108741_r8, & + 0.00013966330970001457_r8, 0.00014281765719680321_r8, & + 0.00014406528347768891_r8, 0.00014433394031457757_r8, & + 0.00014334895406765275_r8, 0.00014666254185696401_r8, & + 0.00015404267220125141_r8, 0.00016469170104126151_r8, & + 0.00017935146090274149_r8, 0.00019442221293196701_r8, & + 0.00020874404084270643_r8, 0.00022012439345101356_r8, & + 0.00022875143946394556_r8, 0.00023708183553602976_r8, & + 0.0002450535572401477_r8, 0.00025193771219663965_r8, & + 0.00025697386680231636_r8, 0.00025799901706761373_r8, & + 0.00025912510445217621_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,9) / & + 1.0166573975662515e-05_r8, 1.0175561141761407e-05_r8, & + 4.2662399310443058e-06_r8, 6.6190236670085085e-06_r8, & + 6.876564765111375e-06_r8, 6.9457599714223808e-06_r8, & + 8.7608326466882491e-06_r8, 9.3867437808939588e-06_r8, & + 1.0089770698101977e-05_r8, 1.0781903276692852e-05_r8, & + 1.1607547934765825e-05_r8, 1.2531462664791326e-05_r8, & + 1.4057936795853483e-05_r8, 1.6062962821983043e-05_r8, & + 1.8892685426077446e-05_r8, 2.2878237350795953e-05_r8, & + 3.2906664119740124e-05_r8, 4.3384080212080952e-05_r8, & + 5.500890315744402e-05_r8, 6.9636168185437903e-05_r8, & + 8.3436374871009159e-05_r8, 9.756816484006415e-05_r8, & + 0.00011026911658958016_r8, 0.00012230791122594292_r8, & + 0.00013015934527817749_r8, 0.0001352097381867285_r8, & + 0.00013791495116945174_r8, 0.00013532431158003454_r8, & + 0.00013020421256580039_r8, 0.00012972553795213701_r8, & + 0.00013228744988549632_r8, 0.00013776598019636484_r8, & + 0.00015009547883182677_r8, 0.00016807003551392447_r8, & + 0.00018615178559100014_r8, 0.00020028049099605856_r8, & + 0.00021242018427850359_r8, 0.0002257079908684057_r8, & + 0.00023751909251826453_r8, 0.00024652223050259823_r8, & + 0.00025339896415251347_r8, 0.00025706688412208958_r8, & + 0.0002580744956530329_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,9) / & + 7.0273319566668876e-06_r8, 6.9552744033895375e-06_r8, & + 5.1786642373445678e-06_r8, 5.4887812034930346e-06_r8, & + 5.5649143205805286e-06_r8, 5.7775245260934891e-06_r8, & + 6.8889950339997925e-06_r8, 7.0956545415991706e-06_r8, & + 7.3101212748637402e-06_r8, 7.6083690766527489e-06_r8, & + 7.9336060731177385e-06_r8, 8.3592511240334746e-06_r8, & + 8.1320244856261115e-06_r8, 8.6952659626441783e-06_r8, & + 9.5953267654691807e-06_r8, 1.0898576425139309e-05_r8, & + 1.5060349050753207e-05_r8, 2.0676522766160137e-05_r8, & + 2.7771928377407914e-05_r8, 3.7981249057859515e-05_r8, & + 4.8761019273142946e-05_r8, 6.0759699662202976e-05_r8, & + 7.4567236580990387e-05_r8, 9.245535519964969e-05_r8, & + 0.00010848729531135255_r8, 0.00012084867273028729_r8, & + 0.0001306767192413275_r8, 0.00013919841485154894_r8, & + 0.00013591147407610824_r8, 0.00013161237772511863_r8, & + 0.00012975476301505692_r8, 0.00013095099086037957_r8, & + 0.00013969483335668368_r8, 0.00015438114587935215_r8, & + 0.00017313908104278565_r8, 0.00019074216737134891_r8, & + 0.00020542071403156523_r8, 0.00021775058811593993_r8, & + 0.00023393231244287014_r8, 0.00023757618586437611_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,9) / & + 4.6233451425506061e-06_r8, 4.6506713809651586e-06_r8, & + 4.1012199723115944e-06_r8, 4.8839859413348379e-06_r8, & + 4.9008521506266513e-06_r8, 5.0343637258815437e-06_r8, & + 6.1435937227735027e-06_r8, 6.1665960824154844e-06_r8, & + 6.1098400817824369e-06_r8, 6.2074251545330527e-06_r8, & + 6.4803524458991356e-06_r8, 6.8762024671822299e-06_r8, & + 6.8867915848840303e-06_r8, 7.346824265169836e-06_r8, & + 7.8501436382711341e-06_r8, 8.6099030068649786e-06_r8, & + 1.0994587843659663e-05_r8, 1.2811820600855633e-05_r8, & + 1.6290330942463346e-05_r8, 2.3951976359984139e-05_r8, & + 3.563852604281334e-05_r8, 4.8528519542330341e-05_r8, & + 6.4621585053438791e-05_r8, 8.2398826978117814e-05_r8, & + 0.0001012956960191785_r8, 0.0001178093260330365_r8, & + 0.0001319561788161187_r8, 0.00014941645496719882_r8, & + 0.00015062782975114428_r8, 0.00014373441758230084_r8, & + 0.00013720565764299309_r8, 0.00013584199204195823_r8, & + 0.00014266995262798049_r8, 0.00015770866590053423_r8, & + 0.0001775824839360744_r8, 0.00019261090316257727_r8, & + 0.00020681748996509032_r8, 0.00021326274170571663_r8, & + 0.00022186326806800598_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,9) / & + 3.8045118571443555e-06_r8, 3.7087610824696497e-06_r8, & + 3.3705275681388531e-06_r8, 5.3110880525260169e-06_r8, & + 5.4110134989905754e-06_r8, 5.595729818413585e-06_r8, & + 6.5021133224952083e-06_r8, 6.22599472788105e-06_r8, & + 6.1269228819152437e-06_r8, 6.4779980877119837e-06_r8, & + 6.8232798051197356e-06_r8, 7.1800732409487392e-06_r8, & + 7.3665577668436205e-06_r8, 7.8681557900360364e-06_r8, & + 8.1837756074244885e-06_r8, 8.7180006888805951e-06_r8, & + 1.0837133618438152e-05_r8, 1.3323422812164252e-05_r8, & + 1.9044407889335039e-05_r8, 2.8475268603484006e-05_r8, & + 4.4069566376604329e-05_r8, 6.062787395092997e-05_r8, & + 7.8521330063820733e-05_r8, 9.9408812365070999e-05_r8, & + 0.00011767692629536546_r8, 0.00013163158450782176_r8, & + 0.00014199842037312374_r8, 0.0001586064186575742_r8, & + 0.0001570717968771283_r8, 0.0001491482381539265_r8, & + 0.00014248279268441519_r8, 0.00014083794584009791_r8, & + 0.0001473805926478323_r8, 0.00016299543983541194_r8, & + 0.00018551014853835461_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,9) / & + 6.667029015070273e-06_r8, 6.3000961738256941e-06_r8, & + 6.4271087959592704e-06_r8, 8.0447669496941603e-06_r8, & + 8.186586899430184e-06_r8, 8.8626361473575483e-06_r8, & + 9.674654341072751e-06_r8, 1.0150977375376132e-05_r8, & + 1.060118156180232e-05_r8, 1.2095380562382362e-05_r8, & + 1.2425754585210143e-05_r8, 1.2205217516210545e-05_r8, & + 1.2061183500531349e-05_r8, 1.2679053719350579e-05_r8, & + 1.3233691883499002e-05_r8, 1.4569419688966767e-05_r8, & + 1.6084593943241453e-05_r8, 1.9094888205130979e-05_r8, & + 2.9052133831778097e-05_r8, 3.9073758450424783e-05_r8, & + 5.7839513374021109e-05_r8, 7.6366908977499085e-05_r8, & + 0.00010213815459746729_r8, 0.00012576135009609112_r8, & + 0.00014340948459975165_r8, 0.0001502009791440476_r8, & + 0.00015629813940534537_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,9) / & + 8.3781324594246978e-05_r8, 8.4330183018662116e-05_r8, & + 8.2213106693341452e-05_r8, 8.5816189146684731e-05_r8, & + 8.554203458089582e-05_r8, 8.4164085935012784e-05_r8, & + 8.1875836798674039e-05_r8, 8.5282035647528604e-05_r8, & + 8.6134702257421809e-05_r8, 8.5885128458207743e-05_r8, & + 8.5753222403713126e-05_r8, 8.5637818337080235e-05_r8, & + 8.5426616243514163e-05_r8, 8.5316559194096783e-05_r8, & + 8.5250970692620561e-05_r8, 8.5218875918147662e-05_r8, & + 8.5191976122083111e-05_r8, 8.5190471691046088e-05_r8, & + 8.5198211934824989e-05_r8, 8.5214355370195836e-05_r8, & + 8.5225468312326538e-05_r8, 8.5236058764770429e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,9) / & + 7.9760406535129262e-06_r8, 8.2562606916526862e-06_r8, & + 6.6149291967816831e-06_r8, 7.3748514516785815e-06_r8, & + 7.3269691654325553e-06_r8, 7.8373608817641571e-06_r8, & + 9.0707864455907567e-06_r8, 7.7991320432490166e-06_r8, & + 7.687332095000704e-06_r8, 9.0437953164798519e-06_r8, & + 1.0407047216380501e-05_r8, 1.2176145340910619e-05_r8, & + 1.5025965724170643e-05_r8, 1.8662016278156423e-05_r8, & + 2.1269875864338152e-05_r8, 2.4866627902489391e-05_r8, & + 3.1456219035026002e-05_r8, 3.3348062693876288e-05_r8, & + 3.4533322593006503e-05_r8, 3.5268475056505827e-05_r8, & + 3.6899292030356921e-05_r8, 3.9575845546704281e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,9) / & + 6.5190327766158133e-06_r8, 7.0449778341184315e-06_r8, & + 6.2514074735281889e-06_r8, 7.161241866134088e-06_r8, & + 7.1013572015210747e-06_r8, 7.5454107685231274e-06_r8, & + 8.446185970276681e-06_r8, 8.007232682396103e-06_r8, & + 8.453862736670441e-06_r8, 9.4221077153297831e-06_r8, & + 1.0469049432633352e-05_r8, 1.2104146205597064e-05_r8, & + 1.528797568716762e-05_r8, 1.9248138587644964e-05_r8, & + 2.2957735195275177e-05_r8, 2.6920502402358952e-05_r8, & + 3.2065165694487941e-05_r8, 3.4146661429084234e-05_r8, & + 3.5037064404231883e-05_r8, 3.5910353243570923e-05_r8, & + 3.6225136525285956e-05_r8, 3.9078760253472773e-05_r8, & + 3.9564382526630112e-05_r8, 3.9736968001101917e-05_r8, & + 3.9920243421796552e-05_r8, 3.9962084050835303e-05_r8, & + 4.0473892734887957e-05_r8, 3.9304031871871565e-05_r8, & + 3.9163110908198652e-05_r8, 3.6725449957325148e-05_r8, & + 4.1812023575523646e-05_r8, 3.9512828898957851e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,9) / & + 6.3235312645991018e-06_r8, 6.352650389460684e-06_r8, & + 6.3486110519113778e-06_r8, 6.9595310663099174e-06_r8, & + 6.9517095183727215e-06_r8, 7.2196801841003707e-06_r8, & + 7.8274862598733581e-06_r8, 7.4173962898873287e-06_r8, & + 8.2449279839299651e-06_r8, 9.4231328054685582e-06_r8, & + 1.1095955584827361e-05_r8, 1.2658263288655101e-05_r8, & + 1.6021417777588692e-05_r8, 2.033033483744281e-05_r8, & + 2.5499402195709189e-05_r8, 2.9792301781946995e-05_r8, & + 3.298961026065419e-05_r8, 3.4099081272272793e-05_r8, & + 3.4496500576374015e-05_r8, 3.4794929451423465e-05_r8, & + 3.417972018467558e-05_r8, 3.6391153580573861e-05_r8, & + 3.697530065317181e-05_r8, 3.6932594933632582e-05_r8, & + 3.7278983205978145e-05_r8, 3.7223223073480721e-05_r8, & + 3.844783399131586e-05_r8, 3.8253007183364527e-05_r8, & + 3.9198154371015082e-05_r8, 3.7995023147851472e-05_r8, & + 4.395350094731832e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,9) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,34,9) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,35,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,9) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,38,9) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,39,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,9) / & + 4.5620756085723144e-05_r8, 4.6242956541145915e-05_r8, & + 4.7382649783710733e-05_r8, 5.4728959970015746e-05_r8, & + 5.6268648070437969e-05_r8, 5.7774094281243937e-05_r8, & + 6.0090823571192264e-05_r8, 6.1075983697910516e-05_r8, & + 6.1666869794573228e-05_r8, 6.2187699883350134e-05_r8, & + 6.2623337578221277e-05_r8, 6.3961150896032031e-05_r8, & + 6.5831554729306138e-05_r8, 6.4419156268970956e-05_r8, & + 6.2855573407143674e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,9) / & + 4.9070271658300065e-05_r8, 5.0585275823217318e-05_r8, & + 4.9164037310982516e-05_r8, 5.6206644907651875e-05_r8, & + 5.778314329429969e-05_r8, 5.931372368237533e-05_r8, & + 6.288232241780331e-05_r8, 6.4412277077289544e-05_r8, & + 6.5787091642551592e-05_r8, 6.6957728887796165e-05_r8, & + 6.8031611916297512e-05_r8, 6.9836029049172166e-05_r8, & + 7.2071020980092617e-05_r8, 7.3765606623458222e-05_r8, & + 7.3037739784071877e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,9) / & + 4.7535694533668592e-05_r8, 4.9893377710956362e-05_r8, & + 4.2426976016359811e-05_r8, 4.382389606376868e-05_r8, & + 4.7599770555924944e-05_r8, 5.411764236269385e-05_r8, & + 6.3254143253633173e-05_r8, 6.1198136740515306e-05_r8, & + 6.1859532832427653e-05_r8, 6.2702235827940736e-05_r8, & + 6.3593662940655916e-05_r8, 6.5066217763365625e-05_r8, & + 7.1338017181504497e-05_r8, 7.7946109838578515e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,9) / & + 4.5064899359783587e-05_r8, 4.3954272169384828e-05_r8, & + 3.3478780375788695e-05_r8, 3.499566227778866e-05_r8, & + 3.79483555078198e-05_r8, 4.375750020937809e-05_r8, & + 5.2137769516725019e-05_r8, 5.0024813734523639e-05_r8, & + 5.0458462318704604e-05_r8, 5.1435100078856929e-05_r8, & + 5.2876248388998097e-05_r8, 5.3319248292690697e-05_r8, & + 5.7465947921290683e-05_r8, 5.8852282309507218e-05_r8, & + 6.0736716976440311e-05_r8, 6.2047344588804537e-05_r8, & + 6.380159883204288e-05_r8, 6.8343650575239655e-05_r8, & + 7.2408356983171365e-05_r8, 7.7824671329047819e-05_r8, & + 8.1994352180619101e-05_r8, 8.4967776352780106e-05_r8, & + 8.7786060723837514e-05_r8, 9.3228066015658634e-05_r8, & + 9.7112456834687674e-05_r8, 0.00010082774416845321_r8, & + 0.0001037507807854234_r8, 0.00010886449869068902_r8, & + 0.00011193059491491436_r8, 0.00011322519619783864_r8, & + 0.00011527187762624697_r8, 0.00011642413744403904_r8, & + 0.00011791592119213682_r8, 0.00011872425757055008_r8, & + 0.00011894373138076298_r8, 0.00011848589051160295_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,9) / & + 6.3486972118222341e-05_r8, 7.0433096603889989e-05_r8, & + 6.3484422316288145e-05_r8, 6.7405750336091527e-05_r8, & + 6.4901000984919659e-05_r8, 6.7485971880348221e-05_r8, & + 6.3241915767292631e-05_r8, 5.3636096848004909e-05_r8, & + 5.3959166934666268e-05_r8, 5.6237303457181011e-05_r8, & + 5.7557137963817262e-05_r8, 5.8399212418938763e-05_r8, & + 6.0185112283741096e-05_r8, 6.1993015293618396e-05_r8, & + 6.3937394960191567e-05_r8, 6.5175560882243128e-05_r8, & + 6.6947390287087921e-05_r8, 6.949873237376785e-05_r8, & + 7.2031900136397116e-05_r8, 7.4887843783935331e-05_r8, & + 7.8630428612586189e-05_r8, 8.1734576483740261e-05_r8, & + 8.5452459687869483e-05_r8, 9.029014768985319e-05_r8, & + 9.4472233494953745e-05_r8, 9.8379694903704581e-05_r8, & + 0.00010219317893670913_r8, 0.00010950908882677033_r8, & + 0.00011308021739077797_r8, 0.00011513884378881185_r8, & + 0.00011685602351106455_r8, 0.00011881499941248539_r8, & + 0.00012021947315647415_r8, 0.00012130740832173121_r8, & + 0.00012151227927417011_r8, 0.00012126465947529605_r8, & + 0.00012108731547156769_r8, 0.0001211981982157684_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,9) / & + 7.8654315363539681e-05_r8, 0.00010218965817549698_r8, & + 9.974354679802973e-05_r8, 0.00012045223926192743_r8, & + 0.00011623241345247966_r8, 0.00011813895889826155_r8, & + 9.4117739186076721e-05_r8, 7.0897213491206724e-05_r8, & + 6.2078540371856986e-05_r8, 6.3780794161364114e-05_r8, & + 6.391945924681928e-05_r8, 6.5642102653255097e-05_r8, & + 6.59609224054261e-05_r8, 6.7849644721350519e-05_r8, & + 6.9074803359786067e-05_r8, 7.0484677083208075e-05_r8, & + 7.1050799032154561e-05_r8, 7.2326535827580275e-05_r8, & + 7.4605861333225252e-05_r8, 7.7699063439349303e-05_r8, & + 8.085600401544012e-05_r8, 8.4306588312817044e-05_r8, & + 8.8425724438376998e-05_r8, 9.2867826316310329e-05_r8, & + 9.7774154163275071e-05_r8, 0.00010228879886196019_r8, & + 0.00010789629281815823_r8, 0.00011729987771173266_r8, & + 0.00011822849538891285_r8, 0.00011860865479250383_r8, & + 0.00011948380922435377_r8, 0.00012072932164923222_r8, & + 0.00012153472437678102_r8, 0.00012170252783243497_r8, & + 0.00012208096178475367_r8, 0.0001225116035579578_r8, & + 0.00012435585461803586_r8, 0.00012451375193184283_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,10) / & + 0.00011844443227456058_r8, 0.00011899619454565343_r8, & + 0.0001179930831328538_r8, 0.00011748957440844164_r8, & + 0.00012191303796497343_r8, 0.00012659565701685476_r8, & + 0.00013349507301775454_r8, 0.00013824576787751375_r8, & + 0.00013966598502248027_r8, 0.00014219603442155678_r8, & + 0.00014567634113489685_r8, 0.00014766123423558586_r8, & + 0.00015973886135792298_r8, 0.00018024238044902778_r8, & + 0.00018805250373376428_r8, 0.00019083402684058902_r8, & + 0.00020462223074309844_r8, 0.00021106821354340203_r8, & + 0.00021383228873497653_r8, 0.00022084967543551246_r8, & + 0.00022457589341263085_r8, 0.00023298765449147844_r8, & + 0.00023923216500459506_r8, 0.00024308016237289463_r8, & + 0.00024710983382720977_r8, 0.00025073482361918226_r8, & + 0.00025290666739939162_r8, 0.00025640698065437995_r8, & + 0.0002589876696082661_r8, 0.00026020836932170934_r8, & + 0.00026056582645354892_r8, 0.0002615849485133746_r8, & + 0.00026108383036657347_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,10) / & + 0.000111141735572582_r8, 0.00011123994836124797_r8, & + 0.00011095536241519372_r8, 0.00011314081335624378_r8, & + 0.00011758836242836901_r8, 0.00012348411263397874_r8, & + 0.00013375132318512009_r8, 0.00014017487806351417_r8, & + 0.00014705653991310013_r8, 0.00015661297506224244_r8, & + 0.00016306775426103227_r8, 0.00016589551054284744_r8, & + 0.00017408516092665323_r8, 0.00018513220293223134_r8, & + 0.00019027890452625058_r8, 0.00019302866556986019_r8, & + 0.00020230404893794795_r8, 0.00020838236533411809_r8, & + 0.00021321258984748336_r8, 0.0002193803016889648_r8, & + 0.00022429741117271121_r8, 0.00023168541399972039_r8, & + 0.00023742340135882135_r8, 0.00024175401673185093_r8, & + 0.00024571181134065082_r8, 0.00024927927963409673_r8, & + 0.00025172189479944894_r8, 0.00025607629411688194_r8, & + 0.00025897508912507033_r8, 0.00026034694768828235_r8, & + 0.0002603725852444507_r8, 0.00026063716318725405_r8, & + 0.00026010962463907946_r8, 0.00025863665277884109_r8, & + 0.00025888305568894083_r8, 0.00025893441103013354_r8, & + 0.00025967981827104924_r8, 0.0002595293571792593_r8, & + 0.00026131549953054272_r8, 0.00026479189563202417_r8, & + 0.00027138072727359578_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,10) / & + 9.1836571716743479e-05_r8, 9.2093046236992304e-05_r8, & + 9.1797508838050121e-05_r8, 9.7326656923266526e-05_r8, & + 0.00010073921694301531_r8, 0.00010667559183317424_r8, & + 0.00012587314984525372_r8, 0.00013651207954993289_r8, & + 0.0001453051896478255_r8, 0.00015744555178336074_r8, & + 0.00016671558664656689_r8, 0.00017434808041943007_r8, & + 0.00018072004917928797_r8, 0.00018569571598271356_r8, & + 0.00018793195791452029_r8, 0.00019004342591473291_r8, & + 0.00019372975663377312_r8, 0.00019803340781754782_r8, & + 0.00020376863114944733_r8, 0.00021022239283749878_r8, & + 0.00021598500237224454_r8, 0.00022248948926412165_r8, & + 0.00022817703022457635_r8, 0.00023323394531430563_r8, & + 0.00023784600470753254_r8, 0.00024177878187446518_r8, & + 0.0002459708300429218_r8, 0.00025380372570272598_r8, & + 0.00026008753875905559_r8, 0.00026309053100160407_r8, & + 0.00026485896935397825_r8, 0.00026321929598687523_r8, & + 0.00026295120128636554_r8, 0.00026144567950041439_r8, & + 0.00026117785169612776_r8, 0.00026095866329596377_r8, & + 0.000261557247426738_r8, 0.00026238978029751787_r8, & + 0.00026326526279529252_r8, 0.00026402868960540867_r8, & + 0.00026758461377666135_r8, 0.00026751132274387872_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,10) / & + 7.8440477192235841e-05_r8, 7.8881683916607638e-05_r8, & + 7.3544409877216897e-05_r8, 7.7630603462978021e-05_r8, & + 7.9135435932290327e-05_r8, 8.2163861586133919e-05_r8, & + 9.2274253951713273e-05_r8, 0.00010625534856489551_r8, & + 0.0001167821089278792_r8, 0.00013026129359821164_r8, & + 0.00013937157775654985_r8, 0.00014860965109931413_r8, & + 0.0001623139449088924_r8, 0.00017120859932564597_r8, & + 0.00017626494887385094_r8, 0.00018037568590838774_r8, & + 0.00018502757554396775_r8, 0.00018819361321597723_r8, & + 0.00019074405739794958_r8, 0.00019419959287861899_r8, & + 0.0001985704662737636_r8, 0.00020307802381665103_r8, & + 0.00020850479321927743_r8, 0.00021366729630870488_r8, & + 0.00021924508511546171_r8, 0.00022361469440562782_r8, & + 0.00022793762171622166_r8, 0.00024047441265356455_r8, & + 0.00025285035964003519_r8, 0.00025900663480154086_r8, & + 0.00026416444892398636_r8, 0.00026645691742400096_r8, & + 0.0002660815974215243_r8, 0.00026626956314371484_r8, & + 0.00026625539406545113_r8, 0.00026615170819123152_r8, & + 0.00026659401310749517_r8, 0.00026738104986618439_r8, & + 0.00026741375782923452_r8, 0.00026535570838188554_r8, & + 0.00026429902302488046_r8, 0.00026726658590536903_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,10) / & + 7.1114980392318825e-05_r8, 7.0310299121896126e-05_r8, & + 5.9099251256763297e-05_r8, 5.6426394614002999e-05_r8, & + 5.6646679934394228e-05_r8, 5.7248349133947452e-05_r8, & + 5.9297831936986706e-05_r8, 6.9289040162412289e-05_r8, & + 8.2371241115107997e-05_r8, 9.504885857586847e-05_r8, & + 0.00010489321559570519_r8, 0.00011352336985183831_r8, & + 0.00012996409964858592_r8, 0.00014191167619353657_r8, & + 0.00014979914464542047_r8, 0.00015723210056250986_r8, & + 0.00016668109073426546_r8, 0.00017116228680694303_r8, & + 0.00017471656929943536_r8, 0.00017697932891559538_r8, & + 0.00017887341038237339_r8, 0.00018119375467539402_r8, & + 0.0001840646150165026_r8, 0.0001872224394910807_r8, & + 0.00019070962370034631_r8, 0.00019394992882674366_r8, & + 0.00019789861941596406_r8, 0.00021108743871184834_r8, & + 0.00022362989630641069_r8, 0.00023514711747543078_r8, & + 0.00024596881633528106_r8, 0.00025397630260621916_r8, & + 0.00025981946145993244_r8, 0.00026501393906669255_r8, & + 0.00026795805316607083_r8, 0.00026848362451789456_r8, & + 0.00026866260506817679_r8, 0.00026995048976461057_r8, & + 0.00027097479014165572_r8, 0.00026946012614975282_r8, & + 0.00026637118325168011_r8, 0.00026661056498846836_r8, & + 0.00026776402896671643_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,10) / & + 4.5464749158766683e-05_r8, 4.4242488488898312e-05_r8, & + 3.0620221731922064e-05_r8, 2.5023760873226303e-05_r8, & + 2.5726761989810223e-05_r8, 2.6207046854406295e-05_r8, & + 2.8531444098411316e-05_r8, 3.4775706942548837e-05_r8, & + 4.2724705888983319e-05_r8, 5.3143815037731413e-05_r8, & + 6.241693586887413e-05_r8, 6.9774836697628295e-05_r8, & + 8.1596665427667391e-05_r8, 9.1966702534128277e-05_r8, & + 0.0001007409832398923_r8, 0.000108683871728015_r8, & + 0.00012149623224208184_r8, 0.0001301778448912389_r8, & + 0.00013894275818968795_r8, 0.00014678992239949363_r8, & + 0.00015126085944094911_r8, 0.00015484586410234748_r8, & + 0.00015772976869000139_r8, 0.00016009408157421128_r8, & + 0.00016207211832503941_r8, 0.00016337620474374435_r8, & + 0.00016527713472297764_r8, 0.00017318128412995341_r8, & + 0.00018468503103380657_r8, 0.00019711192241402958_r8, & + 0.00021021780070631094_r8, 0.00022163647911163461_r8, & + 0.00023159097600045363_r8, 0.00024245699015996728_r8, & + 0.00025167202462268577_r8, 0.00025819653498924548_r8, & + 0.00026226503793387281_r8, 0.00026490403084603438_r8, & + 0.0002693574864457743_r8, 0.00026996258591226489_r8, & + 0.00027006244624647787_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,10) / & + 1.7599359701937319e-05_r8, 1.7372953904804592e-05_r8, & + 7.0864412417996597e-06_r8, 7.6474261467175585e-06_r8, & + 8.1786285251545843e-06_r8, 8.256299158042409e-06_r8, & + 1.1006412038228367e-05_r8, 1.2697514049781612e-05_r8, & + 1.5233454670195048e-05_r8, 1.9543868124054247e-05_r8, & + 2.3036811827538226e-05_r8, 2.545917638164528e-05_r8, & + 2.9743266407708502e-05_r8, 3.565815708512944e-05_r8, & + 4.0515588304994307e-05_r8, 4.5546322359642676e-05_r8, & + 5.694779520597783e-05_r8, 6.9675268569004004e-05_r8, & + 8.2911624141627019e-05_r8, 9.7024271650520259e-05_r8, & + 0.00010996296696581874_r8, 0.00012192349325242738_r8, & + 0.00013019592734171196_r8, 0.00013672154069811285_r8, & + 0.00014122407889915838_r8, 0.00014337338670067639_r8, & + 0.00014471852143031866_r8, 0.00014555214747064029_r8, & + 0.00014808582788628459_r8, 0.00015332286104367013_r8, & + 0.00016747591456040716_r8, 0.00018070729534047333_r8, & + 0.00019719868155422185_r8, 0.00021397014870144668_r8, & + 0.00022696869419398387_r8, 0.00024024339827183162_r8, & + 0.00025124430623036325_r8, 0.00024544534639879041_r8, & + 0.00023452675559279941_r8, 0.00024412584711937672_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,10) / & + 8.3536792078366829e-06_r8, 8.2145782147023394e-06_r8, & + 2.9446890288044674e-06_r8, 6.6627895587668549e-06_r8, & + 6.8305013654692832e-06_r8, 6.9019927377750101e-06_r8, & + 8.6208657396831171e-06_r8, 9.2567228777820703e-06_r8, & + 9.9316015955027249e-06_r8, 1.0932684280737843e-05_r8, & + 1.1939992828201969e-05_r8, 1.275021058706782e-05_r8, & + 1.3696036917038431e-05_r8, 1.6035784992467314e-05_r8, & + 1.9429266196294513e-05_r8, 2.4037737912815105e-05_r8, & + 3.6067560384682382e-05_r8, 4.6400509511900508e-05_r8, & + 5.7354918563278385e-05_r8, 7.1231979384158851e-05_r8, & + 8.3959890969734663e-05_r8, 9.8394958521335498e-05_r8, & + 0.00011037530155841212_r8, 0.00012204446106955492_r8, & + 0.0001300228060976032_r8, 0.00013458454886294238_r8, & + 0.00013733341235717315_r8, 0.00013624439046740249_r8, & + 0.00013230617464521428_r8, 0.00013149175067829737_r8, & + 0.00013315982346233217_r8, 0.00013933067213778457_r8, & + 0.00015050273838803626_r8, 0.00016719865155222672_r8, & + 0.00018462137239320372_r8, 0.00019822052573498052_r8, & + 0.00020944026915475309_r8, 0.00021963381033479631_r8, & + 0.00022787218116633153_r8, 0.00023460226745886469_r8, & + 0.00024535811294201397_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,10) / & + 7.0231285219691583e-06_r8, 6.8700479183120561e-06_r8, & + 4.9754864968000711e-06_r8, 5.0397646693495502e-06_r8, & + 5.0856890671533304e-06_r8, 5.2711409437823537e-06_r8, & + 6.3774716876610447e-06_r8, 6.9043082276851518e-06_r8, & + 7.2074819850632626e-06_r8, 7.4889082753577766e-06_r8, & + 7.8567219529713644e-06_r8, 8.1955256476347471e-06_r8, & + 8.1472776399598999e-06_r8, 8.7914255214731712e-06_r8, & + 9.7853579948228191e-06_r8, 1.1144960178319912e-05_r8, & + 1.5918017907587376e-05_r8, 1.9962141127034727e-05_r8, & + 2.5975904999205683e-05_r8, 3.547537940749458e-05_r8, & + 4.5507299304558592e-05_r8, 5.8160798908424135e-05_r8, & + 7.2219733206726935e-05_r8, 8.6598951802546406e-05_r8, & + 0.00010392381059997344_r8, 0.00011605814986868623_r8, & + 0.0001259380816891714_r8, 0.00013675381160260704_r8, & + 0.00013552532848180317_r8, 0.00013026990896884691_r8, & + 0.00012850746440864246_r8, 0.00013293898711302083_r8, & + 0.00014090479296544501_r8, 0.0001558321765425917_r8, & + 0.00017271087343983141_r8, 0.00019002403615081803_r8, & + 0.00020693253575603261_r8, 0.00021870774701394729_r8, & + 0.00022929944908771144_r8, 0.00023584577467402078_r8, & + 0.000244964253493396_r8, 0.0002474766583990917_r8, & + 0.00025010993049549108_r8, 0.00025026305179393836_r8, 9e90_r8 & + / +data saar_ref(:,14,10) / & + 5.3450427925414293e-06_r8, 5.3424071700181564e-06_r8, & + 4.7728434456446058e-06_r8, 4.5246704967225782e-06_r8, & + 4.6109228008149438e-06_r8, 4.7909290317148451e-06_r8, & + 5.6789499323967945e-06_r8, 5.9820076354367873e-06_r8, & + 6.2629798194935997e-06_r8, 6.5889563962902695e-06_r8, & + 6.9472194230157607e-06_r8, 7.45598969449064e-06_r8, & + 7.8223936201914142e-06_r8, 8.2817917452818588e-06_r8, & + 8.7766173981007332e-06_r8, 9.3478975377332194e-06_r8, & + 1.080081649920443e-05_r8, 1.2447775994233265e-05_r8, & + 1.5520368040293866e-05_r8, 2.2561748494779625e-05_r8, & + 3.2962779660971574e-05_r8, 4.5712669411172455e-05_r8, & + 6.0395788488528796e-05_r8, 7.7156903464512355e-05_r8, & + 9.5219111465994066e-05_r8, 0.000111266921564784_r8, & + 0.00012530207510584465_r8, 0.00014529832164828413_r8, & + 0.00014818857525228669_r8, 0.00014156476797602791_r8, & + 0.00013564771839017365_r8, 0.00013797517294597737_r8, & + 0.00014382922280796698_r8, 0.00015745265409157367_r8, & + 0.00017389861179990842_r8, 0.00019443594952110049_r8, & + 0.00021481480125016338_r8, 0.00022872863414515163_r8, & + 0.00024139138259600117_r8, 0.00024762436685328581_r8, & + 0.00025339867548808349_r8, 0.00024711421835079951_r8, & + 0.00025015096656618948_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,10) / & + 5.0392166139171766e-06_r8, 4.8854707348127391e-06_r8, & + 4.7794819180385362e-06_r8, 5.6675646743043027e-06_r8, & + 5.67268587251857e-06_r8, 5.668266538131706e-06_r8, & + 6.2247024497235878e-06_r8, 6.262651357827274e-06_r8, & + 6.5712403145778164e-06_r8, 7.2296028944106533e-06_r8, & + 7.5831380685362065e-06_r8, 7.6687003399615421e-06_r8, & + 7.615713711965167e-06_r8, 8.0498613784843708e-06_r8, & + 8.4276246088384321e-06_r8, 8.9137436098763818e-06_r8, & + 9.979822747231457e-06_r8, 1.274192683579746e-05_r8, & + 1.8078385328592315e-05_r8, 2.6103141950886356e-05_r8, & + 3.8608866844781008e-05_r8, 5.5021590874094716e-05_r8, & + 7.5804763706292604e-05_r8, 9.7960422120590995e-05_r8, & + 0.00011643517303817468_r8, 0.00013068906227063827_r8, & + 0.00014111782154461395_r8, 0.00015979272031808314_r8, & + 0.00016061346345593405_r8, 0.00015431266079332358_r8, & + 0.00014770637270897024_r8, 0.00014647377221705331_r8, & + 0.00015147101655101162_r8, 0.00016544425591976934_r8, & + 0.00018299295173120596_r8, 0.000206279351994291_r8, & + 0.00022685875286536947_r8, 0.0002414089549895518_r8, & + 0.00025193621893167966_r8, 0.00025906748569300863_r8, & + 0.00026359564832644595_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,10) / & + 6.1567378186073197e-06_r8, 5.9951498544696546e-06_r8, & + 6.0462786164034794e-06_r8, 7.1793589445779445e-06_r8, & + 7.2744979582942253e-06_r8, 7.7334215168306412e-06_r8, & + 8.7796797815136435e-06_r8, 9.6402047769252031e-06_r8, & + 1.0304197987045295e-05_r8, 1.1340514229447255e-05_r8, & + 1.1492892884993175e-05_r8, 1.1171900182425141e-05_r8, & + 1.0801881054893531e-05_r8, 1.148518277802043e-05_r8, & + 1.2035348841600135e-05_r8, 1.3114754725718879e-05_r8, & + 1.5126510855105116e-05_r8, 2.0121637215528921e-05_r8, & + 3.0921439351210846e-05_r8, 4.362687737249328e-05_r8, & + 6.3957485940285093e-05_r8, 8.5483889220849495e-05_r8, & + 0.00011015556748681377_r8, 0.0001316135945108089_r8, & + 0.0001472475126140991_r8, 0.00015683944324875197_r8, & + 0.0001650246981980765_r8, 0.00017469400268418483_r8, & + 0.00017190882889936966_r8, 0.00016870854577165497_r8, & + 0.00016434153807265482_r8, 0.00016223725436496992_r8, & + 0.00016915329176882545_r8, 0.00018434059032062421_r8, & + 0.00020303512496183958_r8, 0.00021881276257273446_r8, & + 0.00023818199503156849_r8, 0.00025105434278241884_r8, & + 0.00026361193182795884_r8, 0.00027126063439428743_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,10) / & + 5.7446781620381262e-06_r8, 5.8179152644356969e-06_r8, & + 5.9310493627895912e-06_r8, 6.710495064267849e-06_r8, & + 6.8858707677882666e-06_r8, 7.9255977251216781e-06_r8, & + 1.0358175173750878e-05_r8, 1.2680931617075627e-05_r8, & + 1.5093708275829037e-05_r8, 1.6632475055530059e-05_r8, & + 1.7490981935728963e-05_r8, 1.7938786240898024e-05_r8, & + 1.6464659174826895e-05_r8, 1.7183581152310704e-05_r8, & + 1.8278398073427947e-05_r8, 1.9256353126549947e-05_r8, & + 2.5321171282519635e-05_r8, 3.839708644011628e-05_r8, & + 5.7968729370218605e-05_r8, 8.0801707216726344e-05_r8, & + 0.0001063375816244861_r8, 0.00013319800370795358_r8, & + 0.00015524402315742909_r8, 0.00017002147590241547_r8, & + 0.00018010523857354721_r8, 0.000186456133640652_r8, & + 0.00018958595647559353_r8, 0.00018805930364150685_r8, & + 0.00018332422061582474_r8, 0.00017774020894859062_r8, & + 0.00017605625596462781_r8, 0.00017869897529664569_r8, & + 0.00019032610173748255_r8, 0.00020444760781725246_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,10) / & + 5.8857577458197508e-06_r8, 6.0272150703970767e-06_r8, & + 6.1318818005461522e-06_r8, 6.6892173589463415e-06_r8, & + 7.0898497977615305e-06_r8, 8.3213869489386456e-06_r8, & + 1.1088538917096788e-05_r8, 1.3712519788466277e-05_r8, & + 1.6493920614782106e-05_r8, 1.9445679122829977e-05_r8, & + 2.1063852254145973e-05_r8, 2.212812063072652e-05_r8, & + 2.1659696578424787e-05_r8, 2.1779593875914783e-05_r8, & + 2.2072621837294535e-05_r8, 2.3620995630739292e-05_r8, & + 3.2435808010823069e-05_r8, 4.7712212754711275e-05_r8, & + 7.2545393387095201e-05_r8, 0.00010155387121125104_r8, & + 0.00012623092955617326_r8, 0.00014770596086733419_r8, & + 0.00016915764503056902_r8, 0.00018410150687441602_r8, & + 0.00019238564452020291_r8, 0.00019886827534837607_r8, & + 0.00020219134990736741_r8, 0.00020109428922481556_r8, & + 0.0001997301181793242_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,10) / & + 7.5014854429369154e-06_r8, 8.3863197263839713e-06_r8, & + 1.3748063084647511e-05_r8, 3.4165644888023925e-05_r8, & + 4.7423942621415977e-05_r8, 5.619235669341636e-05_r8, & + 7.8427369284933985e-05_r8, 7.4597133643397121e-05_r8, & + 7.4197752448556379e-05_r8, 8.223490020199537e-05_r8, & + 8.0023610677852636e-05_r8, 7.7698398711882196e-05_r8, & + 7.7123017870774955e-05_r8, 7.6941324167901487e-05_r8, & + 7.6881644812682047e-05_r8, 7.6861931719838551e-05_r8, & + 7.6844344864260045e-05_r8, 7.682769827770908e-05_r8, & + 7.6834551045760295e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,10) / & + 2.2157648363838734e-05_r8, 3.441938247367923e-05_r8, & + 9.5463719873506495e-06_r8, 7.4280397696571855e-05_r8, & + 8.1637217189553429e-05_r8, 8.2290232355894833e-05_r8, & + 8.0243030943020008e-05_r8, 7.5905310477987028e-05_r8, & + 7.9666526616417417e-05_r8, 8.6488396133288636e-05_r8, & + 8.4310440130201691e-05_r8, 8.4225709946737995e-05_r8, & + 8.3188254009855647e-05_r8, 8.3021633371031448e-05_r8, & + 8.2947891723326978e-05_r8, 8.2917966058233009e-05_r8, & + 8.2873787898607161e-05_r8, 8.2546400795308866e-05_r8, & + 8.2305075135767839e-05_r8, 8.192102985595792e-05_r8, & + 8.2239792066217312e-05_r8, 8.1845564061980012e-05_r8, & + 8.1404241694525622e-05_r8, 7.9332214039853636e-05_r8, & + 7.9335832877339089e-05_r8, 7.933910967715773e-05_r8, & + 7.9340616117744506e-05_r8, 7.9329358325504914e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,10) / & + 5.1870967773675559e-05_r8, 5.0502751732478951e-05_r8, & + 3.4616451008215775e-05_r8, 8.6333332814306186e-05_r8, & + 8.8482614027758175e-05_r8, 8.8039847481685186e-05_r8, & + 8.1696439431982676e-05_r8, 8.1964303422092969e-05_r8, & + 8.6106444014120601e-05_r8, 8.6857489881425978e-05_r8, & + 8.5980330897215878e-05_r8, 8.6094682369090966e-05_r8, & + 8.5878743197970796e-05_r8, 8.5756715706760604e-05_r8, & + 8.5685708059812785e-05_r8, 8.5653462640216679e-05_r8, & + 8.5629182189685352e-05_r8, 8.5593256701767988e-05_r8, & + 8.5605933293487867e-05_r8, 8.5616879101590651e-05_r8, & + 8.5499490136891457e-05_r8, 8.5510295900160466e-05_r8, & + 8.6047511690687622e-05_r8, 8.6045771927674972e-05_r8, & + 8.6048233076472253e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,10) / & + 8.7970340617268372e-05_r8, 8.8282471254346695e-05_r8, & + 8.0093782531265895e-05_r8, 8.0115070065873108e-05_r8, & + 4.3941115801077371e-05_r8, 4.359304781566875e-05_r8, & + 4.3212608720114827e-05_r8, 4.4581952987741081e-05_r8, & + 4.4574967755373366e-05_r8, 4.5819636498649092e-05_r8, & + 4.6906755478489576e-05_r8, 4.865896490510095e-05_r8, & + 8.3093663891677024e-05_r8, 8.519136513452871e-05_r8, & + 8.6556193715284796e-05_r8, 8.8362903703160446e-05_r8, & + 9.1600714275756018e-05_r8, 3.5030238668741381e-05_r8, & + 3.6078039621825497e-05_r8, 3.6543842000280892e-05_r8, & + 3.6899292030356921e-05_r8, 3.9575845546704281e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,10) / & + 6.1647035084452412e-06_r8, 8.0184973104557725e-06_r8, & + 7.4144313759886989e-06_r8, 8.2072744215223115e-06_r8, & + 8.2484668609768623e-06_r8, 8.3797664679562699e-06_r8, & + 8.5891843603432507e-06_r8, 8.8879749636527187e-06_r8, & + 9.4984109455718402e-06_r8, 1.0665091358449287e-05_r8, & + 1.1448938528431467e-05_r8, 1.3425877265280838e-05_r8, & + 1.5102248102980811e-05_r8, 1.9350145075506099e-05_r8, & + 2.3773586524179347e-05_r8, 2.7883464380377343e-05_r8, & + 3.2939290819804935e-05_r8, 3.5895383083098346e-05_r8, & + 3.7052121239655946e-05_r8, 3.7773703547239244e-05_r8, & + 3.8079029049877452e-05_r8, 4.222540945465157e-05_r8, & + 4.2507037356653508e-05_r8, 4.3569551671035638e-05_r8, & + 4.4271643699243061e-05_r8, 4.4624001781946408e-05_r8, & + 4.5822188136551493e-05_r8, 4.4834413064774501e-05_r8, & + 4.7066657674995443e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,10) / & + 6.3689165627314518e-06_r8, 7.8754762374154056e-06_r8, & + 7.1345107044431692e-06_r8, 7.9186901903093588e-06_r8, & + 8.0305341628600684e-06_r8, 8.2314585530163517e-06_r8, & + 8.4576937973399802e-06_r8, 9.0785083790198066e-06_r8, & + 9.7865161682750744e-06_r8, 1.0947349869374573e-05_r8, & + 1.1595003446938927e-05_r8, 1.3411548079362357e-05_r8, & + 1.5567354572455437e-05_r8, 1.9900032615643814e-05_r8, & + 2.5302756352348641e-05_r8, 2.9370089674300305e-05_r8, & + 3.3771989016161556e-05_r8, 3.6285376345634909e-05_r8, & + 3.714237565662563e-05_r8, 3.6688667070375119e-05_r8, & + 3.7191052167569842e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,10) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,34,10) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,35,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,10) / & + 5.4089268529140516e-05_r8, 5.380425406989973e-05_r8, & + 5.3537260485855277e-05_r8, 5.8993033880604962e-05_r8, & + 5.9674803700886013e-05_r8, 6.0274783852195513e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,10) / & + 4.5158258916625428e-05_r8, 4.5890097253151065e-05_r8, & + 4.7072825005281192e-05_r8, 5.4841929109433587e-05_r8, & + 5.6152376379899863e-05_r8, 5.7643032476186715e-05_r8, & + 6.0446402334792601e-05_r8, 6.1479230232687812e-05_r8, & + 6.2039212873011922e-05_r8, 6.2718322119379935e-05_r8, & + 6.4166628352901498e-05_r8, 6.732776820690266e-05_r8, & + 7.0057712371237341e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,10) / & + 4.7868892884725856e-05_r8, 4.9487934005294929e-05_r8, & + 4.780542243393269e-05_r8, 5.4398938478851451e-05_r8, & + 5.5693917385833616e-05_r8, 5.7810534378922823e-05_r8, & + 6.2715238284298921e-05_r8, 6.4965870102159917e-05_r8, & + 6.6777577188762024e-05_r8, 6.7912943639929511e-05_r8, & + 6.8992020548589298e-05_r8, 7.0564000083071161e-05_r8, & + 7.2820145037307072e-05_r8, 7.4144311423410091e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,10) / & + 4.6145679147692002e-05_r8, 4.8101654547516142e-05_r8, & + 4.0693052437550421e-05_r8, 4.0730022198855064e-05_r8, & + 4.4023842644720631e-05_r8, 5.119594951965004e-05_r8, & + 5.7911269439857559e-05_r8, 5.8143211531353383e-05_r8, & + 5.9597891051346158e-05_r8, 6.1325551581955308e-05_r8, & + 6.2314882597892706e-05_r8, 6.3495634996918262e-05_r8, & + 5.9394060112701506e-05_r8, 6.0611243131047148e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,10) / & + 4.3362681264518332e-05_r8, 4.1513390719961458e-05_r8, & + 3.1899879213556215e-05_r8, 3.2276064357062432e-05_r8, & + 3.5052838041349453e-05_r8, 4.1698792554586744e-05_r8, & + 4.9477849432552834e-05_r8, 4.8798416379796571e-05_r8, & + 4.9832541520382274e-05_r8, 5.108278784009842e-05_r8, & + 5.2092445400707e-05_r8, 5.3266498423910476e-05_r8, & + 5.7389942664804297e-05_r8, 5.8637479884742947e-05_r8, & + 6.0737248304344078e-05_r8, 6.1926504832145478e-05_r8, & + 6.3876321153132729e-05_r8, 6.8220662193450512e-05_r8, & + 7.204942856773798e-05_r8, 7.6894795435007899e-05_r8, & + 8.1427102952114273e-05_r8, 8.4331796114094749e-05_r8, & + 8.6957822506624456e-05_r8, 9.228262932520807e-05_r8, & + 9.6202917216189473e-05_r8, 0.0001003278548855266_r8, & + 0.00010335176904510895_r8, 0.00010851249270696116_r8, & + 0.00011161004580639351_r8, 0.0001129538076086737_r8, & + 0.00011496793122496521_r8, 0.00011622252490920848_r8, & + 0.00011771413670191828_r8, 0.00011853319339038666_r8, & + 0.00011886541105701432_r8, 0.0001183629668600082_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,10) / & + 6.1311514766095767e-05_r8, 6.7914463863850082e-05_r8, & + 6.1444105359782276e-05_r8, 6.3628197298930579e-05_r8, & + 6.1387460163661435e-05_r8, 6.4046789234071166e-05_r8, & + 5.9933410574532546e-05_r8, 5.1863083597260178e-05_r8, & + 5.3245912615889749e-05_r8, 5.5406667304082533e-05_r8, & + 5.6842187927073495e-05_r8, 5.7914386719817879e-05_r8, & + 5.9791272031942976e-05_r8, 6.1494566962946986e-05_r8, & + 6.3558670213312613e-05_r8, 6.4781342122387876e-05_r8, & + 6.6814419714095565e-05_r8, 6.9328915956733676e-05_r8, & + 7.1896164806795737e-05_r8, 7.4696526973565497e-05_r8, & + 7.8509325430861624e-05_r8, 8.1636814722558585e-05_r8, & + 8.5248576087593042e-05_r8, 9.0038754830270562e-05_r8, & + 9.420181785738391e-05_r8, 9.8248635638292962e-05_r8, & + 0.00010217771108474426_r8, 0.0001093894700602744_r8, & + 0.00011297329928766642_r8, 0.00011506763623829873_r8, & + 0.00011684645673845301_r8, 0.00011875867277489252_r8, & + 0.00012017584281249778_r8, 0.00012127359842677886_r8, & + 0.00012156047867270528_r8, 0.00012125930907766881_r8, & + 0.00012104079813110714_r8, 0.00012119775118477774_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,10) / & + 7.7778359862268104e-05_r8, 0.00010085883005532324_r8, & + 9.8466343854889361e-05_r8, 0.00011824922647408407_r8, & + 0.00011356130443078374_r8, 0.00011601085842576482_r8, & + 9.1277941100816119e-05_r8, 6.9192033724605856e-05_r8, & + 6.1676181036319084e-05_r8, 6.3447450355285959e-05_r8, & + 6.3619392552099688e-05_r8, 6.5428269988130374e-05_r8, & + 6.582047709484512e-05_r8, 6.7684955522720732e-05_r8, & + 6.8935340379969141e-05_r8, 7.0362580583042215e-05_r8, & + 7.1039910602577427e-05_r8, 7.2274922743169694e-05_r8, & + 7.456622431115547e-05_r8, 7.7668654850373528e-05_r8, & + 8.077921305328219e-05_r8, 8.4285444998959824e-05_r8, & + 8.8391311202351447e-05_r8, 9.2809626918715954e-05_r8, & + 9.7804372747578653e-05_r8, 0.0001022806548981882_r8, & + 0.00010793175572048101_r8, 0.00011731147342986718_r8, & + 0.00011821266574603961_r8, 0.00011856640500113115_r8, & + 0.00011948772211252485_r8, 0.00012068986127183025_r8, & + 0.00012153436614864856_r8, 0.00012170474360717738_r8, & + 0.00012208846394620045_r8, 0.00012250499504260916_r8, & + 0.00012435585637544998_r8, 0.0001245215756735525_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,11) / & + 0.0001199518291231759_r8, 0.00012026579140743381_r8, & + 0.0001177401272350253_r8, 0.00011595053640544541_r8, & + 0.00011780418414668371_r8, 0.00012164958833770488_r8, & + 0.00013095648672758282_r8, 0.00013625353543797485_r8, & + 0.00013825198797452201_r8, 0.0001423634158566547_r8, & + 0.00014731676162452423_r8, 0.000149394791156002_r8, & + 0.00016256111571779624_r8, 0.00017838285832404827_r8, & + 0.00018616007624047373_r8, 0.00018975914449141036_r8, & + 0.00020145834993518256_r8, 0.00020722708434718078_r8, & + 0.00020896558004169466_r8, 0.00021951922342929207_r8, & + 0.00022395131124617888_r8, 0.0002298176270504574_r8, & + 0.00023717640555004141_r8, 0.00024062966465010315_r8, & + 0.00024522706534213241_r8, 0.00024961274425087997_r8, & + 0.00025201871010665502_r8, 0.00025625929306736562_r8, & + 0.00025883547449935198_r8, 0.00025999525730959128_r8, & + 0.00026038801504026473_r8, 0.00026216486140086753_r8, & + 0.0002616091924688244_r8, 0.00025993549698347508_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,11) / & + 0.00011149350511919301_r8, 0.0001113109452588537_r8, & + 0.00010937860411634731_r8, 0.00011046491887633116_r8, & + 0.00011283767088349171_r8, 0.00011974895172492836_r8, & + 0.00013103766482215403_r8, 0.00013831844801968804_r8, & + 0.00014475650816311899_r8, 0.00015676152729178353_r8, & + 0.0001641340966807514_r8, 0.00016722365708172224_r8, & + 0.00017475074734749849_r8, 0.00018424329276640804_r8, & + 0.00018959868752401967_r8, 0.00019248505719720788_r8, & + 0.00020021665120677288_r8, 0.000205672176375083_r8, & + 0.00021037937036170673_r8, 0.0002184508070407428_r8, & + 0.00022353715593786253_r8, 0.00022979097427748294_r8, & + 0.0002359417275083634_r8, 0.00024004886219936285_r8, & + 0.00024436655437308881_r8, 0.00024858196395698145_r8, & + 0.00025133240751259273_r8, 0.000255906392193206_r8, & + 0.00025874348626824293_r8, 0.0002601394840171032_r8, & + 0.00026038759455909808_r8, 0.0002615046344691689_r8, & + 0.00026070536655248429_r8, 0.0002594022957740024_r8, & + 0.00025930730514020603_r8, 0.0002594056194691447_r8, & + 0.00025939366911754004_r8, 0.00025810624297517668_r8, & + 0.00025920666989654974_r8, 0.00026259754791480185_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,11) / & + 8.9412822657286087e-05_r8, 8.9480862059884716e-05_r8, & + 8.8044749608356561e-05_r8, 9.0627488342055417e-05_r8, & + 9.361863373773316e-05_r8, 0.0001017388536680221_r8, & + 0.00012045991530189712_r8, 0.00013302454107585351_r8, & + 0.00014253219018445186_r8, 0.00015599567719807228_r8, & + 0.0001660120406210619_r8, 0.00017381338658140275_r8, & + 0.00017998264014192078_r8, 0.00018507741597553222_r8, & + 0.00018747311969429932_r8, 0.00018945389968472509_r8, & + 0.00019204368204615277_r8, 0.00019517635919894357_r8, & + 0.00020002985106393575_r8, 0.00020578180614779925_r8, & + 0.00021132252662473745_r8, 0.00021891115372426839_r8, & + 0.00022499845694276478_r8, 0.00023015208242840182_r8, & + 0.00023496330620049812_r8, 0.00023874410504829853_r8, & + 0.00024454118178357395_r8, 0.00025224348845264181_r8, & + 0.00025878985610425036_r8, 0.00026160918054934066_r8, & + 0.00026380035858968281_r8, 0.00026283603821041629_r8, & + 0.00026231137778898574_r8, 0.00026104702910317976_r8, & + 0.00026049344678914376_r8, 0.00026002786941305096_r8, & + 0.00026042574180924598_r8, 0.00026023745163773917_r8, & + 0.00026024206089664113_r8, 0.00026112901562290111_r8, & + 0.00026351648075633415_r8, 0.00026682287827120305_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,11) / & + 7.5663228377859508e-05_r8, 7.6352353439732251e-05_r8, & + 7.0676851888866021e-05_r8, 6.9566320557058427e-05_r8, & + 7.0592370381208414e-05_r8, 7.4409510378153381e-05_r8, & + 8.4674902460304724e-05_r8, 0.00010133451886945363_r8, & + 0.00011171309655154518_r8, 0.00012577787341490188_r8, & + 0.00013623655901543415_r8, 0.00014807755359790863_r8, & + 0.00016144978169683615_r8, 0.00017008465330167031_r8, & + 0.00017453275497470613_r8, 0.00017831876198475078_r8, & + 0.00018243154899125807_r8, 0.00018481749801176203_r8, & + 0.00018694384416543123_r8, 0.00018964014879234396_r8, & + 0.00019387516411804815_r8, 0.00019952585230557059_r8, & + 0.00020566448852346792_r8, 0.00021162768345829645_r8, & + 0.00021846657071322167_r8, 0.0002222235808063429_r8, & + 0.00022684633166946688_r8, 0.00023761229966540778_r8, & + 0.00025185554262858437_r8, 0.00025760177659556177_r8, & + 0.00026235247293068874_r8, 0.00026541393682370085_r8, & + 0.00026513846514386174_r8, 0.00026501738096764631_r8, & + 0.0002652079284679032_r8, 0.00026507444811336642_r8, & + 0.00026531564735456385_r8, 0.00026575804484454295_r8, & + 0.00026493011004039045_r8, 0.00026230657937345982_r8, & + 0.00026284496223847264_r8, 0.00026682015887307092_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,11) / & + 6.8528382887305512e-05_r8, 6.8402892774114212e-05_r8, & + 5.7769532675973089e-05_r8, 5.4339511942561954e-05_r8, & + 5.4477951826546244e-05_r8, 5.5035493432948266e-05_r8, & + 5.8947404390709324e-05_r8, 6.8937883734082354e-05_r8, & + 8.0556533251050717e-05_r8, 9.2936374626829442e-05_r8, & + 0.00010246843467826494_r8, 0.00011370612607996106_r8, & + 0.00012931767513429341_r8, 0.00014128922803815174_r8, & + 0.00014860749529515071_r8, 0.00015528109669509451_r8, & + 0.00016372687575062848_r8, 0.00016795801985930011_r8, & + 0.00017119363732185063_r8, 0.00017429629650440916_r8, & + 0.00017658125607330257_r8, 0.00018021246070937735_r8, & + 0.00018426865336639841_r8, 0.00018836374237682338_r8, & + 0.0001926213419171065_r8, 0.00019685394113936895_r8, & + 0.00020109949773018459_r8, 0.00021115156461836963_r8, & + 0.00022472293469288018_r8, 0.00023737737503951191_r8, & + 0.00024926597564093895_r8, 0.00025852732766266299_r8, & + 0.00026364920828865105_r8, 0.00026701183811247785_r8, & + 0.00026709710880247673_r8, 0.000267780338699426_r8, & + 0.0002676512023740395_r8, 0.00026780162883854755_r8, & + 0.00026522300864405404_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,11) / & + 4.2885252512850595e-05_r8, 4.2384629316351932e-05_r8, & + 3.0197280008103729e-05_r8, 2.450267512051452e-05_r8, & + 2.4879599153868169e-05_r8, 2.5445733801331752e-05_r8, & + 2.8776564760386488e-05_r8, 3.3861225247568468e-05_r8, & + 4.112999660616047e-05_r8, 5.1125789078194816e-05_r8, & + 5.931178530940661e-05_r8, 6.7056933362838342e-05_r8, & + 7.7917015297887895e-05_r8, 8.8446521208512344e-05_r8, & + 9.7730167145724292e-05_r8, 0.00010611039970720627_r8, & + 0.00011945972742881575_r8, 0.00012932015319288255_r8, & + 0.0001377670922386532_r8, 0.00014533463531493293_r8, & + 0.00015025629154735338_r8, 0.00015392710440512611_r8, & + 0.00015724191530633517_r8, 0.00015985252053110226_r8, & + 0.00016206367551214272_r8, 0.00016405419514355728_r8, & + 0.00016593585213856173_r8, 0.00017387573223731742_r8, & + 0.00018498171415374138_r8, 0.00019732856851322394_r8, & + 0.00021069999384258062_r8, 0.00022248498489576938_r8, & + 0.0002325209392477358_r8, 0.00024241538094760715_r8, & + 0.00025136137723114787_r8, 0.00025800147027282193_r8, & + 0.0002629356449331221_r8, 0.00026364487208056233_r8, & + 0.0002692968491636981_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,11) / & + 1.6243656362185303e-05_r8, 1.6079826319454186e-05_r8, & + 7.5706018613671776e-06_r8, 8.2496863304802399e-06_r8, & + 8.6069413284122439e-06_r8, 8.7502514777030525e-06_r8, & + 1.1358822898063254e-05_r8, 1.288981301071976e-05_r8, & + 1.5358227374495674e-05_r8, 1.9700055222874296e-05_r8, & + 2.3267708471946971e-05_r8, 2.6323858271620168e-05_r8, & + 3.1710591046181967e-05_r8, 3.7944783843435215e-05_r8, & + 4.2724592596620842e-05_r8, 4.8711652568159572e-05_r8, & + 6.1726891402603503e-05_r8, 7.5057621342543155e-05_r8, & + 8.9174844237275666e-05_r8, 0.0001028862974422211_r8, & + 0.00011522771715417949_r8, 0.00012617986219205289_r8, & + 0.00013378987959761153_r8, 0.00013982161780965531_r8, & + 0.0001440646999490905_r8, 0.00014631915084965152_r8, & + 0.00014756390128258597_r8, 0.00014987239644449911_r8, & + 0.00015391983059339186_r8, 0.00016272611190718943_r8, & + 0.00017736531148779825_r8, 0.00019433920265364386_r8, & + 0.00021362468556921521_r8, 0.0002275305464695363_r8, & + 0.0002407702481003866_r8, 0.00025158433276659998_r8, & + 0.00026130384214344851_r8, 0.0002632953113749919_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,11) / & + 7.6106707379348811e-06_r8, 7.2714602260895959e-06_r8, & + 3.9805514449991661e-06_r8, 6.9439293891126311e-06_r8, & + 7.0682802626275654e-06_r8, 7.2215053932818966e-06_r8, & + 8.6119551564733011e-06_r8, 9.5922502695098524e-06_r8, & + 1.0500260533227719e-05_r8, 1.1893861805681666e-05_r8, & + 1.3317864445721798e-05_r8, 1.5178957542789487e-05_r8, & + 1.7022805093843423e-05_r8, 2.0359810351426748e-05_r8, & + 2.3818172303717119e-05_r8, 2.8137827220220856e-05_r8, & + 3.8705588289064323e-05_r8, 4.9495745629753219e-05_r8, & + 6.0959177759677729e-05_r8, 7.390548852143853e-05_r8, & + 8.7105533291483199e-05_r8, 0.0001000439599923925_r8, & + 0.00011192467762607769_r8, 0.00012185632961863277_r8, & + 0.00012922279008514663_r8, 0.00013401798771497378_r8, & + 0.00013779829112199607_r8, 0.00013892723738501541_r8, & + 0.00013706793268607791_r8, 0.00013635123712134643_r8, & + 0.00013783333701378943_r8, 0.00014158359238952825_r8, & + 0.00015079291252865742_r8, 0.00016361068962813342_r8, & + 0.00018001042662420537_r8, 0.00019443790409705888_r8, & + 0.00020949887725189514_r8, 0.00021857564955224452_r8, & + 0.00022688108333997873_r8, 0.00023154722907392771_r8, & + 0.0002437186032405428_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,11) / & + 7.0647507048857614e-06_r8, 6.7540949975391456e-06_r8, & + 5.5418606350666868e-06_r8, 4.865042393993113e-06_r8, & + 4.9415570248278945e-06_r8, 5.126334979955495e-06_r8, & + 6.3315312303524092e-06_r8, 6.688540092890743e-06_r8, & + 7.0962918222492999e-06_r8, 7.5192939356709567e-06_r8, & + 7.8441301957968924e-06_r8, 8.3264283916755602e-06_r8, & + 8.7587602418149422e-06_r8, 9.2725382121070403e-06_r8, & + 1.0060945582981958e-05_r8, 1.1274712672961249e-05_r8, & + 1.4512191471917544e-05_r8, 1.8330498818023798e-05_r8, & + 2.3776712698004011e-05_r8, 3.1880601940218339e-05_r8, & + 4.2242199077093853e-05_r8, 5.334397718779516e-05_r8, & + 6.816752937143418e-05_r8, 8.1779940872039043e-05_r8, & + 9.7036256237650019e-05_r8, 0.00010990479494745198_r8, & + 0.00012106758393227421_r8, 0.00013551771841949619_r8, & + 0.0001362891935645434_r8, 0.0001317342430847079_r8, & + 0.00013013870472740251_r8, 0.00013463250776191043_r8, & + 0.00014222039498143697_r8, 0.00015776895230004443_r8, & + 0.00017242777342783136_r8, 0.00019309123968015563_r8, & + 0.00021005237332440908_r8, 0.00022219055850671395_r8, & + 0.0002325344825047374_r8, 0.0002432813071940534_r8, & + 0.00025108420586818448_r8, 0.00024725453355657335_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,11) / & + 5.9461896665502905e-06_r8, 5.8858272429582627e-06_r8, & + 5.3843357145910926e-06_r8, 4.8851063945918881e-06_r8, & + 4.996254473543493e-06_r8, 5.1610223103582603e-06_r8, & + 6.2614213331027638e-06_r8, 6.4304176394421872e-06_r8, & + 6.7077448359993619e-06_r8, 7.0416890432372412e-06_r8, & + 7.247611569934051e-06_r8, 7.5253071432785078e-06_r8, & + 8.0803198526751115e-06_r8, 8.4560424819741203e-06_r8, & + 8.868958407356155e-06_r8, 9.320526318233986e-06_r8, & + 1.0326830217622954e-05_r8, 1.202593708887793e-05_r8, & + 1.5509475123533802e-05_r8, 2.2182290101013438e-05_r8, & + 3.2538717844690231e-05_r8, 4.4541960971056466e-05_r8, & + 5.9081438223836944e-05_r8, 7.529478413229981e-05_r8, & + 9.1557351840130372e-05_r8, 0.00010762827945078049_r8, & + 0.00012127222383151727_r8, 0.00014318055639400871_r8, & + 0.00014983846596051151_r8, 0.00014686903138192854_r8, & + 0.0001419759586246126_r8, 0.00014428136596211961_r8, & + 0.00014945807064923179_r8, 0.00016036168317189024_r8, & + 0.0001749348265293439_r8, 0.0001970729258816985_r8, & + 0.00021805885501867446_r8, 0.00023282109526984599_r8, & + 0.00024353454993481549_r8, 0.0002528340892948229_r8, & + 0.00025784730525211846_r8, 0.00024792713338055329_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,11) / & + 5.289949157160364e-06_r8, 5.1114341704551819e-06_r8, & + 5.2732414221154475e-06_r8, 5.3510409368332072e-06_r8, & + 5.4406215811095767e-06_r8, 5.5465270973160971e-06_r8, & + 6.2333074501316804e-06_r8, 6.3362265853136103e-06_r8, & + 6.8841211397857649e-06_r8, 7.3785867846287241e-06_r8, & + 7.5671239296599503e-06_r8, 7.8213349222227445e-06_r8, & + 8.1282241320741089e-06_r8, 8.7149010597570847e-06_r8, & + 9.2619398424280495e-06_r8, 9.688188139056493e-06_r8, & + 1.0694352792491677e-05_r8, 1.3408360392332547e-05_r8, & + 1.8941386633579967e-05_r8, 2.8643150744124675e-05_r8, & + 4.2353112701251014e-05_r8, 5.8590302994474217e-05_r8, & + 7.6448517919483122e-05_r8, 9.6467631832596778e-05_r8, & + 0.00011099837063762374_r8, 0.0001270722200286658_r8, & + 0.00014008309736121709_r8, 0.00015884913541759231_r8, & + 0.00016345877774103174_r8, 0.00015951132985798699_r8, & + 0.00015341942975797217_r8, 0.00015261173629223959_r8, & + 0.00015723067775353514_r8, 0.00016863523480440258_r8, & + 0.00018657144040423005_r8, 0.00020738912174503307_r8, & + 0.00022646449900840532_r8, 0.00023986243221911814_r8, & + 0.00025102107275535912_r8, 0.00025807961405468913_r8, & + 0.00026257330440010451_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,11) / & + 5.4520621020994601e-06_r8, 5.4074771934728215e-06_r8, & + 5.5294431650222386e-06_r8, 6.0374002343422367e-06_r8, & + 6.1477660169792702e-06_r8, 6.5439948469850244e-06_r8, & + 7.6272124202849963e-06_r8, 8.3211936970005391e-06_r8, & + 9.3099087605973183e-06_r8, 9.7016921262350925e-06_r8, & + 9.7188315431972051e-06_r8, 9.8695064644117197e-06_r8, & + 9.9336643402713031e-06_r8, 1.0726872547551944e-05_r8, & + 1.1406338984762482e-05_r8, 1.1939051409777504e-05_r8, & + 1.3704180433258014e-05_r8, 1.9242587322670448e-05_r8, & + 3.0992026413462039e-05_r8, 4.8488953616159353e-05_r8, & + 7.1252913312398232e-05_r8, 9.4821214140462421e-05_r8, & + 0.00011767664970160972_r8, 0.00013753773516897739_r8, & + 0.00015184746365561706_r8, 0.00016328394157774287_r8, & + 0.00017231986482369412_r8, 0.00017918588964697507_r8, & + 0.00017669715991333674_r8, 0.0001714417201977503_r8, & + 0.00016628942939587977_r8, 0.00016628216087062392_r8, & + 0.00017457176588321865_r8, 0.000187061904491056_r8, & + 0.00020683233146403051_r8, 0.00022146864350112627_r8, & + 0.00024010074771471977_r8, 0.00025027552893567212_r8, & + 0.00026333172184504056_r8, 0.00027126224859445311_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,11) / & + 5.5485746839977653e-06_r8, 6.0704457743226498e-06_r8, & + 5.9615644736867582e-06_r8, 6.2640108998581955e-06_r8, & + 6.5054573936517018e-06_r8, 7.1588784802470719e-06_r8, & + 9.2840472115967938e-06_r8, 1.1043923842058086e-05_r8, & + 1.3026631874277867e-05_r8, 1.458949954261829e-05_r8, & + 1.5321155748059765e-05_r8, 1.5823994206537739e-05_r8, & + 1.5729098908435361e-05_r8, 1.6276759527368582e-05_r8, & + 1.7093435004837006e-05_r8, 1.8095903390707515e-05_r8, & + 2.3115341982730652e-05_r8, 3.5925471613044244e-05_r8, & + 5.537758780637166e-05_r8, 8.005671563139371e-05_r8, & + 0.0001054503288507208_r8, 0.0001336914917917136_r8, & + 0.00015432385398261988_r8, 0.00017021120229197541_r8, & + 0.0001808106897105994_r8, 0.00018715894777209674_r8, & + 0.00019138337960014352_r8, 0.0001909177935040981_r8, & + 0.00018845608811553886_r8, 0.00018157988099316667_r8, & + 0.0001794904955736414_r8, 0.0001869571244188429_r8, & + 0.00019160988607620582_r8, 0.00020079052132028765_r8, & + 0.00021931368903152493_r8, 0.00023437734174048343_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,11) / & + 5.8297261347011912e-06_r8, 6.3662436946275146e-06_r8, & + 6.3993244160311042e-06_r8, 6.8256016330146044e-06_r8, & + 7.5499460782152641e-06_r8, 7.8877983277859183e-06_r8, & + 1.0506640790989276e-05_r8, 1.3786086878391366e-05_r8, & + 1.6693224423952232e-05_r8, 2.0519754738108329e-05_r8, & + 2.239908534914964e-05_r8, 2.3666164957531934e-05_r8, & + 2.4227311469074647e-05_r8, 2.4793354284287191e-05_r8, & + 2.5120812553062165e-05_r8, 2.6344486979040948e-05_r8, & + 3.3988554441017681e-05_r8, 5.1658278446817448e-05_r8, & + 7.5298297070398767e-05_r8, 0.00010376872815569974_r8, & + 0.0001283762663072411_r8, 0.00015005494710186056_r8, & + 0.00017112274058398951_r8, 0.00018625260160725954_r8, & + 0.00019499373519996432_r8, 0.00020199037838204082_r8, & + 0.00020713666639339285_r8, 0.0002104449506439669_r8, & + 0.00021240238834168207_r8, 0.00020660742624767383_r8, & + 0.00020424408911598897_r8, 0.00022501722025541446_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,11) / & + 6.722756660199113e-06_r8, 6.4039619688511005e-06_r8, & + 6.3294474732655191e-06_r8, 7.4173562925829007e-06_r8, & + 7.9630961766532468e-06_r8, 8.0677980423316477e-06_r8, & + 1.0018288481235175e-05_r8, 1.383127167845974e-05_r8, & + 1.7554034476358158e-05_r8, 2.1777208351639532e-05_r8, & + 2.4567187601791981e-05_r8, 2.7160220787481601e-05_r8, & + 2.9147275297083751e-05_r8, 3.0123449913653546e-05_r8, & + 3.0638994891148151e-05_r8, 3.1525122031941573e-05_r8, & + 3.8445609618771101e-05_r8, 5.8341592434139448e-05_r8, & + 8.4118271631676431e-05_r8, 0.00012048246315188053_r8, & + 0.00015007146697279636_r8, 0.00017561058909699694_r8, & + 0.00019486481922360282_r8, 0.00021211805410410858_r8, & + 0.00022461104815935963_r8, 0.00023569426255538875_r8, & + 0.00024444793359554632_r8, 0.00025732703856859923_r8, & + 0.00026764037077805028_r8, 0.00027401906497336384_r8, & + 0.00027909374227518674_r8, 0.00029151096817344981_r8, & + 0.00032841681900266245_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,11) / & + 1.0034936161835558e-05_r8, 9.7139995680897014e-06_r8, & + 9.8585061321401979e-06_r8, 1.0304207082339559e-05_r8, & + 1.0827008753485112e-05_r8, 1.2097835859436468e-05_r8, & + 1.7064197908241889e-05_r8, 2.2839160672972647e-05_r8, & + 2.8618311183463355e-05_r8, 3.3205739649290171e-05_r8, & + 3.6121250190056676e-05_r8, 3.8266014981396551e-05_r8, & + 4.1213380727725212e-05_r8, 4.3769079662751995e-05_r8, & + 4.6880268189032497e-05_r8, 5.1474291934378027e-05_r8, & + 6.7005993182150576e-05_r8, 9.3693140469537314e-05_r8, & + 0.00012146615497822771_r8, 0.00015719530513930136_r8, & + 0.00018909792554506726_r8, 0.00020771749148638119_r8, & + 0.00022541935039112411_r8, 0.00023984489773526692_r8, & + 0.00025086192609222164_r8, 0.0002612031506940447_r8, & + 0.00026872050025558816_r8, 0.00028809712180497308_r8, & + 0.00030324105342680556_r8, 0.00031579331152738026_r8, & + 0.00032924148019658137_r8, 0.00033646553611779473_r8, & + 0.00034427054842914556_r8, 0.00034663941654755907_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,11) / & + 1.041608165014407e-05_r8, 1.0086443156051475e-05_r8, & + 1.0197394644859315e-05_r8, 1.1565891525986665e-05_r8, & + 1.2129033354244077e-05_r8, 1.371154950418387e-05_r8, & + 1.8216576448741351e-05_r8, 2.5675377575012665e-05_r8, & + 3.3630597031992998e-05_r8, 3.9966149695719209e-05_r8, & + 4.320600347649289e-05_r8, 4.6379561892812997e-05_r8, & + 4.7199627151971943e-05_r8, 5.1784202680227145e-05_r8, & + 5.966671896475887e-05_r8, 7.1088662374372996e-05_r8, & + 9.205585533809229e-05_r8, 0.00012089092933688292_r8, & + 0.00014726328887354462_r8, 0.00017466592662015597_r8, & + 0.00020420841339646592_r8, 0.00022092761450177585_r8, & + 0.00023591059055210598_r8, 0.00024814954556621945_r8, & + 0.00026134426626608638_r8, 0.00027545949689245354_r8, & + 0.00028609346585459867_r8, 0.00030702500929664673_r8, & + 0.00032383029489896348_r8, 0.00033785682435642013_r8, & + 0.00034703572425541664_r8, 0.00035444175269393674_r8, & + 0.00035955653656974797_r8, 0.00036136471865457398_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,11) / & + 9.9412056622370017e-06_r8, 9.2577343823305884e-06_r8, & + 9.2119832993650565e-06_r8, 1.0965784567889423e-05_r8, & + 1.1506160798614823e-05_r8, 1.2559094280053243e-05_r8, & + 1.5606496064170961e-05_r8, 2.3317781112237836e-05_r8, & + 3.2061554352504042e-05_r8, 3.9575754526390423e-05_r8, & + 4.3066878866409001e-05_r8, 4.5981191186618897e-05_r8, & + 4.7921200696926266e-05_r8, 5.4165613749633087e-05_r8, & + 6.4028698533358399e-05_r8, 7.5143404029697497e-05_r8, & + 9.8552759595841943e-05_r8, 0.00012915907793324994_r8, & + 0.00015602113724672641_r8, 0.00018138668498327693_r8, & + 0.00020624713441458442_r8, 0.00022611715185822604_r8, & + 0.00024267112877498153_r8, 0.00025628721566537955_r8, & + 0.0002724290063616551_r8, 0.00028975251404135809_r8, & + 0.00030423818030930939_r8, 0.00032916251078082273_r8, & + 0.00034918456713056093_r8, 0.00036034217375635331_r8, & + 0.0003716110552994106_r8, 0.00037806248067775083_r8, & + 0.0003792733993103501_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,11) / & + 9.4447644660958793e-06_r8, 1.096670264750653e-05_r8, & + 1.078895901338975e-05_r8, 2.4927304688228539e-05_r8, & + 3.1292504384147097e-05_r8, 3.7082702584003463e-05_r8, & + 6.7074275494315188e-05_r8, 7.779243108651466e-05_r8, & + 7.8280603871694988e-05_r8, 7.0402537793528183e-05_r8, & + 7.5292072624498737e-05_r8, 7.6511724570897015e-05_r8, & + 7.5671195203370843e-05_r8, 7.412969920986009e-05_r8, & + 7.4074639584561781e-05_r8, 7.4049813698348361e-05_r8, & + 7.4027539335871917e-05_r8, 7.4042770559166313e-05_r8, & + 7.4051565567973869e-05_r8, 7.4068157692757611e-05_r8, & + 7.4076812641624484e-05_r8, 7.4086401180307191e-05_r8, & + 7.4089689250742799e-05_r8, 7.4091735308539093e-05_r8, & + 7.4092703571709636e-05_r8, 7.4092941074088199e-05_r8, & + 7.4090054609918425e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,11) / & + 8.6796247643493616e-06_r8, 9.6775731100793208e-06_r8, & + 1.1659598097488797e-05_r8, 3.3927072983822039e-05_r8, & + 4.163133790186592e-05_r8, 4.7713555063427704e-05_r8, & + 7.4685808031795493e-05_r8, 7.8777024550948901e-05_r8, & + 7.4827563880618136e-05_r8, 7.2733918115514248e-05_r8, & + 7.8799477430791884e-05_r8, 7.8651989670076009e-05_r8, & + 7.843871403742303e-05_r8, 7.7820462498621239e-05_r8, & + 7.7763810525107108e-05_r8, 7.7735809130200504e-05_r8, & + 7.7721632033034602e-05_r8, 7.7735561375047332e-05_r8, & + 7.7803049353340656e-05_r8, 7.7857954414013014e-05_r8, & + 7.7512900528632091e-05_r8, 7.7141590016532361e-05_r8, & + 7.6703756267030296e-05_r8, 7.6708541301135369e-05_r8, & + 7.6710073394745091e-05_r8, 7.6712948599791077e-05_r8, & + 7.6712636478288565e-05_r8, 7.6886203809058154e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,11) / & + 7.4255662630230078e-06_r8, 8.6071496826920604e-06_r8, & + 1.0391067761783858e-05_r8, 5.0203093934454819e-05_r8, & + 5.9810666671843928e-05_r8, 6.5618133401160582e-05_r8, & + 8.0555554990905233e-05_r8, 7.6752818435393702e-05_r8, & + 7.3301658218038066e-05_r8, 7.4801334956996714e-05_r8, & + 8.3086367969882833e-05_r8, 8.2832701501438951e-05_r8, & + 8.1366868634856311e-05_r8, 8.0297332501284393e-05_r8, & + 8.0222468252397772e-05_r8, 8.0197389850935e-05_r8, & + 8.017622018368556e-05_r8, 7.9753961271934509e-05_r8, & + 7.9279548115546478e-05_r8, 7.9292157478502148e-05_r8, & + 7.9306749696371581e-05_r8, 7.9321952681925693e-05_r8, & + 7.9327881649758999e-05_r8, 7.9334561356277024e-05_r8, & + 7.9337437008206575e-05_r8, 7.9341922071947304e-05_r8, & + 7.9343898204244721e-05_r8, 7.9331108893133216e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,11) / & + 7.0521623176789634e-06_r8, 8.0982898271274425e-06_r8, & + 9.8901315547280471e-06_r8, 8.1465654954978971e-05_r8, & + 8.7324349125807155e-05_r8, 8.7880667183977626e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,11) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,34,11) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data saar_ref(:,35,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,11) / & + 5.4089268529140516e-05_r8, 5.380425406989973e-05_r8, & + 5.3537260485855277e-05_r8, 5.8993033880604962e-05_r8, & + 5.9674803700886013e-05_r8, 6.0274783852195513e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,11) / & + 4.5728014165862066e-05_r8, 4.6590040048785177e-05_r8, & + 4.7385551774904489e-05_r8, 5.4174608569142149e-05_r8, & + 5.5338872058682947e-05_r8, 5.7202002483950192e-05_r8, & + 6.0125778322597532e-05_r8, 6.1150964746504874e-05_r8, & + 6.2428319295394926e-05_r8, 6.4184052493352026e-05_r8, & + 6.5995517789076732e-05_r8, 6.8899564380411443e-05_r8, & + 7.1177124060686162e-05_r8, 7.017082172101907e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,11) / & + 4.59758492973568e-05_r8, 4.7590743400921459e-05_r8, & + 4.6266066002882603e-05_r8, 5.2287370419742726e-05_r8, & + 5.3519434627765127e-05_r8, 5.5924951319561824e-05_r8, & + 6.1231944877296804e-05_r8, 6.4023952862890106e-05_r8, & + 6.6131184938955027e-05_r8, 6.7503194421141642e-05_r8, & + 6.848786058857284e-05_r8, 7.0207272743946881e-05_r8, & + 7.3559581121066501e-05_r8, 7.3494596033223792e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,11) / & + 4.2404402318897654e-05_r8, 4.4279783175233725e-05_r8, & + 3.7372565387375983e-05_r8, 3.9705467467135524e-05_r8, & + 4.2587242818461034e-05_r8, 4.9619877188655745e-05_r8, & + 5.5307969176789317e-05_r8, 5.6805087514597324e-05_r8, & + 5.8254541598859011e-05_r8, 6.0548724337018835e-05_r8, & + 6.2696633223714739e-05_r8, 6.3790327364054847e-05_r8, & + 5.9998498823527288e-05_r8, 5.7021001253405008e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,11) / & + 3.8910724814691561e-05_r8, 3.6509888410686481e-05_r8, & + 2.8835196492935442e-05_r8, 3.0787157227229183e-05_r8, & + 3.4316203857326942e-05_r8, 4.0890850054733238e-05_r8, & + 4.8672171663796084e-05_r8, 4.9194006502858016e-05_r8, & + 5.0001292669950169e-05_r8, 5.1599950797020657e-05_r8, & + 5.2644026733046345e-05_r8, 5.4469814445966916e-05_r8, & + 5.7440249996788989e-05_r8, 5.8593288628563154e-05_r8, & + 6.0593495665221399e-05_r8, 6.1524323879262347e-05_r8, & + 6.3584406708636936e-05_r8, 6.7661276188628826e-05_r8, & + 7.146602934663982e-05_r8, 7.5646378231061705e-05_r8, & + 8.0948616622050171e-05_r8, 8.3842050307819299e-05_r8, & + 8.6500738788410997e-05_r8, 9.1720624963492642e-05_r8, & + 9.5809962152829432e-05_r8, 9.9982832034216135e-05_r8, & + 0.00010305177002450011_r8, 0.00010814803406755655_r8, & + 0.00011125569504865045_r8, 0.00011281251173663342_r8, & + 0.00011473681457801713_r8, 0.00011607763626917356_r8, & + 0.00011741047097851474_r8, 0.00011830021823444526_r8, & + 0.00011870214708934368_r8, 0.00011823456899541283_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,11) / & + 5.8895858651292474e-05_r8, 6.5186198519833109e-05_r8, & + 5.9493875620289554e-05_r8, 6.0177294732427425e-05_r8, & + 5.8659662598588005e-05_r8, 6.1529153697675423e-05_r8, & + 5.7619203127229201e-05_r8, 5.0871877861969696e-05_r8, & + 5.2840704524596867e-05_r8, 5.4979280928270721e-05_r8, & + 5.6358060709419877e-05_r8, 5.7638643340467792e-05_r8, & + 5.9519541082664436e-05_r8, 6.1130545932994022e-05_r8, & + 6.3290526849060444e-05_r8, 6.4475923053557778e-05_r8, & + 6.6706071188702294e-05_r8, 6.9186635289454111e-05_r8, & + 7.1784205493988609e-05_r8, 7.4533047191066497e-05_r8, & + 7.8437295398306044e-05_r8, 8.161883050926206e-05_r8, & + 8.5154330547306748e-05_r8, 8.987497430258074e-05_r8, & + 9.4088285917073083e-05_r8, 9.8247426406962809e-05_r8, & + 0.00010224703167017226_r8, 0.00010932901894790308_r8, & + 0.00011285995928786758_r8, 0.0001150516823529057_r8, & + 0.00011682811422476887_r8, 0.00011868203771320345_r8, & + 0.00012006901387454402_r8, 0.00012113799351327577_r8, & + 0.00012142240241235943_r8, 0.00012119346401046119_r8, & + 0.00012101145027031501_r8, 0.00012119751610945914_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,11) / & + 7.6985987497457987e-05_r8, 9.857199819098396e-05_r8, & + 9.6224289593321307e-05_r8, 0.0001158183216407078_r8, & + 0.00011274922413832833_r8, 0.00011440951865716022_r8, & + 9.5700573062805144e-05_r8, 6.7750379000967065e-05_r8, & + 6.3980471083737795e-05_r8, 6.5256119402187573e-05_r8, & + 6.5223758572561464e-05_r8, 6.6125091165813893e-05_r8, & + 6.5710311613999015e-05_r8, 6.7537442363463637e-05_r8, & + 6.8835812906847902e-05_r8, 7.0273577219394362e-05_r8, & + 7.103320245732091e-05_r8, 7.2248428446473656e-05_r8, & + 7.4530609162094051e-05_r8, 7.766333761603267e-05_r8, & + 8.0727598353023665e-05_r8, 8.4284056383233445e-05_r8, & + 8.8360918663655538e-05_r8, 9.2773917849162303e-05_r8, & + 9.7849254631316484e-05_r8, 0.00010226844064556157_r8, & + 0.00010803875668682894_r8, 0.0001173457725328344_r8, & + 0.00011818232335916327_r8, 0.00011855994274300007_r8, & + 0.00011949579666265535_r8, 0.00012056141072969427_r8, & + 0.00012153401866078725_r8, 0.00012170550095674674_r8, & + 0.00012207857901145848_r8, 0.0001224838146470634_r8, & + 0.00012433466798613993_r8, 0.0001245349722163674_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,12) / & + 0.00011850427581776228_r8, 0.00011829877949816207_r8, & + 0.00011470811512543993_r8, 0.00011365964577918611_r8, & + 0.0001144937536615567_r8, 0.00011935152325824647_r8, & + 0.00013044648790651171_r8, 0.00013562861434237238_r8, & + 0.00014026594637328024_r8, 0.00014752761742382601_r8, & + 0.00015417283431642641_r8, 0.00015483015079445169_r8, & + 0.00016478441286695117_r8, 0.00017856815969332889_r8, & + 0.00018654250013412207_r8, 0.00019129324490239547_r8, & + 0.00020138348845327877_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,12) / & + 0.0001086744860984674_r8, 0.0001080601802582515_r8, & + 0.00010450743346157392_r8, 0.00010639163683833275_r8, & + 0.00010807537237149175_r8, 0.00011669336648792528_r8, & + 0.00013041288151283457_r8, 0.00013949484969633954_r8, & + 0.00014738639833313042_r8, 0.00016419557497690819_r8, & + 0.0001711666517023917_r8, 0.00017256237457848882_r8, & + 0.00017472466756578647_r8, 0.00018318420778575364_r8, & + 0.00018933221254435287_r8, 0.00019296039963191783_r8, & + 0.00019865227207069869_r8, 0.00020592389635653208_r8, & + 0.0002133650203282788_r8, 0.00022023416034966283_r8, & + 0.0002255833405973667_r8, 0.00023108067332605847_r8, & + 0.00023632222849596926_r8, 0.00024073497298607592_r8, & + 0.00024536209094970366_r8, 0.00024970388508313991_r8, & + 0.00025140533293135616_r8, 0.00025561337038598812_r8, & + 0.0002582187995244737_r8, 0.00025936273101496537_r8, & + 0.0002598238669052086_r8, 0.00026083396629438487_r8, & + 0.00025992946783788605_r8, 0.00025886760143455805_r8, & + 0.00025866623350662377_r8, 0.00025831211397892424_r8, & + 0.00025790703699546185_r8, 0.00025692571502618672_r8, & + 0.00025763989605988806_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,12) / & + 8.6475220783358245e-05_r8, 8.6506219002070278e-05_r8, & + 8.4939008026837829e-05_r8, 8.5191684331063419e-05_r8, & + 8.7561713165007813e-05_r8, 9.5316757802227186e-05_r8, & + 0.00011358800680216255_r8, 0.00012927659732797568_r8, & + 0.00014029195074519637_r8, 0.0001553657809857487_r8, & + 0.00016529890364831842_r8, 0.00017220808168269883_r8, & + 0.00017758701800360099_r8, 0.0001826456707384658_r8, & + 0.00018509425648049238_r8, 0.00018695716202434418_r8, & + 0.00018940173781514759_r8, 0.00019317784189565483_r8, & + 0.00019822267727263225_r8, 0.00020346389091829075_r8, & + 0.00020899885701231521_r8, 0.0002154580310806074_r8, & + 0.00022153574366059174_r8, 0.00022669713034147488_r8, & + 0.0002319685134360921_r8, 0.00023606806225022578_r8, & + 0.00024294252982428796_r8, 0.00025114049976613246_r8, & + 0.00025690271166079923_r8, 0.00025943677118346316_r8, & + 0.00026166029921760923_r8, 0.00026252587626168029_r8, & + 0.00026240244310754524_r8, 0.00026127377329324342_r8, & + 0.00026033497358097705_r8, 0.00025936402829480925_r8, & + 0.00025944042438454372_r8, 0.00025906611993997426_r8, & + 0.00025888740073921147_r8, 0.00025993849117847217_r8, & + 0.00026142203927015281_r8, 0.00026775077400347679_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,12) / & + 7.3175491206291452e-05_r8, 7.3992705857041821e-05_r8, & + 7.1467823555462878e-05_r8, 6.5054279243835375e-05_r8, & + 6.5539710420618827e-05_r8, 6.8879939441432296e-05_r8, & + 8.05079010509707e-05_r8, 0.00010016123216016852_r8, & + 0.00011133645103175324_r8, 0.00012431571211755875_r8, & + 0.000136061791540515_r8, 0.00014932142605817412_r8, & + 0.00016213282561491479_r8, 0.00016937561132203901_r8, & + 0.00017328626645770202_r8, 0.00017528196039293215_r8, & + 0.00017857941777547014_r8, 0.00018113434581764292_r8, & + 0.00018434830676434215_r8, 0.000187121779249531_r8, & + 0.00019160705447881173_r8, 0.00019661363287019895_r8, & + 0.00020337991857749389_r8, 0.00020936975670180744_r8, & + 0.00021673506299800866_r8, 0.00022022534466569358_r8, & + 0.00022530740232497569_r8, 0.0002358982249945398_r8, & + 0.00024975406368678651_r8, 0.00025396770129422442_r8, & + 0.00025883542714769857_r8, 0.00026275193497280722_r8, & + 0.0002639682275079862_r8, 0.00026422856584005442_r8, & + 0.00026375630981880096_r8, 0.00026317043201688983_r8, & + 0.0002631581041676258_r8, 0.00026405720716616307_r8, & + 0.00026324529411254932_r8, 0.00026184502518626965_r8, & + 0.00026251561792244125_r8, 0.00026735255920462759_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,12) / & + 6.5355032465449288e-05_r8, 6.5797006248204814e-05_r8, & + 6.1468920209753776e-05_r8, 5.7963984578811181e-05_r8, & + 5.7919159911168873e-05_r8, 5.8833054308294004e-05_r8, & + 6.4194058316239901e-05_r8, 7.3958838755776855e-05_r8, & + 8.2740197737794004e-05_r8, 9.2185056407944992e-05_r8, & + 0.00010157827009044617_r8, 0.00011505202397204219_r8, & + 0.00013048028883864713_r8, 0.00014160933983275808_r8, & + 0.00014907198807450643_r8, 0.00015418768338147139_r8, & + 0.00016211203063178219_r8, 0.00016668276065529252_r8, & + 0.00017058389512561139_r8, 0.00017424264291737503_r8, & + 0.00017703845198153707_r8, 0.00018078722345857382_r8, & + 0.00018607712354394069_r8, 0.00019112527161488076_r8, & + 0.00019508645254221062_r8, 0.00019896810106798723_r8, & + 0.00020249303792840265_r8, 0.00021110529080321802_r8, & + 0.00022420784833164915_r8, 0.00023577429250492814_r8, & + 0.00024747491357930489_r8, 0.00025677518608480159_r8, & + 0.00026212131907142963_r8, 0.00026575587683944795_r8, & + 0.00026610873936918028_r8, 0.00026549332357752984_r8, & + 0.00026502564753750995_r8, 0.00026515017096196862_r8, & + 0.00026468041307960247_r8, 0.00026279173092835561_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,12) / & + 4.1708195409923073e-05_r8, 4.1616449427783234e-05_r8, & + 3.5663141242447887e-05_r8, 2.8766876156318706e-05_r8, & + 2.9098694135880673e-05_r8, 2.9619960318512559e-05_r8, & + 3.3138693248724661e-05_r8, 3.7721066892426629e-05_r8, & + 4.2703999704253713e-05_r8, 5.0402306363400241e-05_r8, & + 5.6973014296848459e-05_r8, 6.4470308077461096e-05_r8, & + 7.6098588498121344e-05_r8, 8.7139893213758078e-05_r8, & + 9.620299377108212e-05_r8, 0.00010450447527220939_r8, & + 0.00011887294662102363_r8, 0.00012907639503237635_r8, & + 0.0001371596221371359_r8, 0.0001450048140055366_r8, & + 0.00015058380232033994_r8, 0.00015392457747308663_r8, & + 0.00015737877675030796_r8, 0.00016006043332144194_r8, & + 0.00016173053060607686_r8, 0.00016347886058049488_r8, & + 0.00016430152811445988_r8, 0.00017267626203549305_r8, & + 0.00018208193001167578_r8, 0.00019374035303362932_r8, & + 0.00020716820274520597_r8, 0.00022029834650016267_r8, & + 0.00023164996831221497_r8, 0.00024153298390860599_r8, & + 0.00025110978605777249_r8, 0.00026124831267259669_r8, & + 0.00026763939348724075_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,12) / & + 1.743671213247794e-05_r8, 1.7220162496646433e-05_r8, & + 1.216035424808931e-05_r8, 1.0099736650172923e-05_r8, & + 1.0426148399694756e-05_r8, 1.0662497182074467e-05_r8, & + 1.4016830014229332e-05_r8, 1.598807139857275e-05_r8, & + 1.8486890413097172e-05_r8, 2.2267385724438449e-05_r8, & + 2.596224854585607e-05_r8, 2.9267772092102708e-05_r8, & + 3.4487692112599027e-05_r8, 4.0289645928113432e-05_r8, & + 4.5289265799947156e-05_r8, 5.1787112484327039e-05_r8, & + 6.7367907821932774e-05_r8, 8.1365809308144051e-05_r8, & + 9.5125344673355769e-05_r8, 0.00010792316815366961_r8, & + 0.00011946512941714066_r8, 0.00012914881198526125_r8, & + 0.00013628778864618874_r8, 0.00014223007447225003_r8, & + 0.00014639979372423691_r8, 0.0001488927036613835_r8, & + 0.00014953574991333936_r8, 0.00015255859466229633_r8, & + 0.0001578080336219074_r8, 0.00016874046169978828_r8, & + 0.00018280773331833254_r8, 0.00019777569196158715_r8, & + 0.00021745172567268854_r8, 0.00023149266431880388_r8, & + 0.00024607099909447743_r8, 0.00025702642160493319_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,12) / & + 8.9667720373024216e-06_r8, 8.430587488901059e-06_r8, & + 6.5318963265800936e-06_r8, 7.4794950058675529e-06_r8, & + 7.5473581180605923e-06_r8, 7.8127381026380938e-06_r8, & + 9.0392549759062463e-06_r8, 1.0444243765845261e-05_r8, & + 1.1625818673996416e-05_r8, 1.3141715762413757e-05_r8, & + 1.4998941248218194e-05_r8, 1.7112459033574801e-05_r8, & + 1.9839663636367604e-05_r8, 2.2797820701357577e-05_r8, & + 2.5806601710697754e-05_r8, 2.9470949590778897e-05_r8, & + 4.0798743573258831e-05_r8, 4.9107848491873498e-05_r8, & + 6.0870146743387554e-05_r8, 7.376306260518779e-05_r8, & + 8.5465576816919487e-05_r8, 9.7186033541005017e-05_r8, & + 0.0001086153885681426_r8, 0.0001190071714280993_r8, & + 0.00012773324720412375_r8, 0.0001339542812935537_r8, & + 0.00013845936005906585_r8, 0.00014277933447298457_r8, & + 0.00014422187232337785_r8, 0.00014861286362147358_r8, & + 0.00015695182928644874_r8, 0.00016606997247552927_r8, & + 0.00017830873224675847_r8, 0.00018316334630154966_r8, & + 0.00019403268924468155_r8, 0.00019865698701238113_r8, & + 0.00019814278584268192_r8, 0.00023265995080411092_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,12) / & + 7.4354554208870577e-06_r8, 6.9355108888275533e-06_r8, & + 6.1540985491281931e-06_r8, 4.927208796759621e-06_r8, & + 5.0102966651518342e-06_r8, 5.1701851011802835e-06_r8, & + 5.9787438156676926e-06_r8, 6.1843291504570661e-06_r8, & + 6.8605529222276961e-06_r8, 7.4590329269701181e-06_r8, & + 7.9453013405299531e-06_r8, 8.6125616926520543e-06_r8, & + 9.4476721025756741e-06_r8, 1.0204919859245451e-05_r8, & + 1.0787062957420939e-05_r8, 1.1870163054143519e-05_r8, & + 1.484657673889879e-05_r8, 1.8319379207818665e-05_r8, & + 2.3635784063319194e-05_r8, 3.174380489989812e-05_r8, & + 4.0715061943839326e-05_r8, 5.1863431284569054e-05_r8, & + 6.5991659046596944e-05_r8, 8.0699010782591285e-05_r8, & + 9.5820161537030403e-05_r8, 0.00010883354636111543_r8, & + 0.00012083325278405576_r8, 0.00013798091902557049_r8, & + 0.0001418425709703853_r8, 0.00013906609165165702_r8, & + 0.00014186905647951622_r8, 0.00015029426744886013_r8, & + 0.00016451483847393342_r8, 0.00018073048748776856_r8, & + 0.00019074273076075701_r8, 0.00020442510964312053_r8, & + 0.00021237894137313921_r8, 0.00022698343762318212_r8, & + 0.00023528495481024722_r8, 0.00024975464341165326_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,12) / & + 5.91586842281931e-06_r8, 5.7931139991509829e-06_r8, & + 5.4096334331523443e-06_r8, 5.0812132698854479e-06_r8, & + 5.1498108673233971e-06_r8, 5.2761971825419212e-06_r8, & + 6.3098527691073873e-06_r8, 6.2272694283319515e-06_r8, & + 6.6080001303967142e-06_r8, 6.9489983866700096e-06_r8, & + 7.247505202948331e-06_r8, 7.5621751826300834e-06_r8, & + 8.2026130854922269e-06_r8, 8.6631398879729635e-06_r8, & + 8.8483068152206914e-06_r8, 9.3005489043522747e-06_r8, & + 1.0486287865145284e-05_r8, 1.2398518962247569e-05_r8, & + 1.5943148156268232e-05_r8, 2.276437361280227e-05_r8, & + 3.2971918613095503e-05_r8, 4.5052502747345458e-05_r8, & + 5.9500881214589535e-05_r8, 7.6225891067553453e-05_r8, & + 9.2288790774958544e-05_r8, 0.00010739791860371237_r8, & + 0.00012127322854522544_r8, 0.00014141553869113701_r8, & + 0.00014872346148924557_r8, 0.00014630492910530689_r8, & + 0.00014617391460896811_r8, 0.00015245548398490724_r8, & + 0.00016516527509462039_r8, 0.00017370493346941353_r8, & + 0.00018521182360107077_r8, 0.00019949881044263292_r8, & + 0.00021710651551836403_r8, 0.00023069130743235149_r8, & + 0.00024008791193820214_r8, 0.0002514310933981264_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,12) / & + 5.0725755802767048e-06_r8, 4.9732299080740448e-06_r8, & + 5.1661343864086159e-06_r8, 5.780993126803332e-06_r8, & + 5.8693499872972357e-06_r8, 6.1279664738213707e-06_r8, & + 7.0671202549324703e-06_r8, 7.1952878181497665e-06_r8, & + 7.5712378112807953e-06_r8, 7.7338563214928783e-06_r8, & + 7.924992553588814e-06_r8, 8.3426828133683865e-06_r8, & + 8.689976448974541e-06_r8, 9.4466680892219204e-06_r8, & + 9.9262858750031381e-06_r8, 1.0252025793638265e-05_r8, & + 1.1358215577608884e-05_r8, 1.3589996422583832e-05_r8, & + 1.8149477906265341e-05_r8, 2.7799570928250032e-05_r8, & + 4.2281795185884503e-05_r8, 5.9106815864661819e-05_r8, & + 7.6973930364949059e-05_r8, 9.6787323241778918e-05_r8, & + 0.00011261136987835964_r8, 0.00012791578235177189_r8, & + 0.00014030893796511035_r8, 0.00015871732234830262_r8, & + 0.00016746233341930524_r8, 0.00016853421746350388_r8, & + 0.00016806455660265746_r8, 0.00017099729899287548_r8, & + 0.00016699245470920275_r8, 0.0001782947035632144_r8, & + 0.0001979728311955303_r8, 0.00021332642229292557_r8, & + 0.00022853173214943922_r8, 0.00023757293138984456_r8, & + 0.00025048306118171694_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,12) / & + 5.3459536925520633e-06_r8, 5.231883731558743e-06_r8, & + 5.4672401035503006e-06_r8, 6.1579799046816024e-06_r8, & + 6.1929844776363142e-06_r8, 6.4355156650326379e-06_r8, & + 7.621611333461613e-06_r8, 8.4896363315240599e-06_r8, & + 9.6813230227076637e-06_r8, 9.7671807920265622e-06_r8, & + 9.7405208782689091e-06_r8, 1.0414583303972117e-05_r8, & + 1.0390001894748104e-05_r8, 1.0855854654756166e-05_r8, & + 1.151670514388129e-05_r8, 1.2043650215694996e-05_r8, & + 1.3950034770519558e-05_r8, 1.9544667128875286e-05_r8, & + 2.9938094885607401e-05_r8, 4.7918511519989971e-05_r8, & + 7.0089128285350143e-05_r8, 9.20289898678763e-05_r8, & + 0.00011494368792173732_r8, 0.00013126390717570118_r8, & + 0.00014747113225349658_r8, 0.00016017938772896987_r8, & + 0.00016826288372129479_r8, 0.00017980811358428924_r8, & + 0.00018202078221417589_r8, 0.00017992532188169837_r8, & + 0.00017600661038845756_r8, 0.00017733624672999369_r8, & + 0.00017960256097887339_r8, 0.0001917870261617755_r8, & + 0.00021193969110230973_r8, 0.00022558894736977986_r8, & + 0.00024211255168361909_r8, 0.00024912205773319144_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,12) / & + 5.9154963245574732e-06_r8, 6.2600609673909006e-06_r8, & + 6.0641882766071199e-06_r8, 6.3306932609635583e-06_r8, & + 6.6025941408329455e-06_r8, 6.973762491851942e-06_r8, & + 8.8211698050562675e-06_r8, 1.0182507420119203e-05_r8, & + 1.2595331736721771e-05_r8, 1.3798415227449125e-05_r8, & + 1.4244114604816837e-05_r8, 1.4696019470210637e-05_r8, & + 1.5230198474340556e-05_r8, 1.5663580412259781e-05_r8, & + 1.6017671016131365e-05_r8, 1.6794274527636079e-05_r8, & + 2.1072011490791521e-05_r8, 3.3921194766439104e-05_r8, & + 5.2465573569830933e-05_r8, 7.8114876771512046e-05_r8, & + 0.00010492699423839385_r8, 0.00013172686653572374_r8, & + 0.00015335649121180994_r8, 0.0001688335685112426_r8, & + 0.00018182429976934018_r8, 0.00018814689836902393_r8, & + 0.00019309759258909941_r8, 0.00019555284190575899_r8, & + 0.00019395391725552793_r8, 0.00018677410861559564_r8, & + 0.00018377248688772075_r8, 0.00018901730321296961_r8, & + 0.00018943559840631523_r8, 0.00019879934918714035_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,12) / & + 6.3155081741751462e-06_r8, 6.3393052356305119e-06_r8, & + 6.0656907681206969e-06_r8, 6.8623871059945377e-06_r8, & + 7.5161714351863091e-06_r8, 7.706766956341935e-06_r8, & + 9.6307330075684404e-06_r8, 1.2149839658274267e-05_r8, & + 1.5385741087509599e-05_r8, 1.9267037478037086e-05_r8, & + 2.1226210498574154e-05_r8, 2.2133698531534173e-05_r8, & + 2.3214412216021085e-05_r8, 2.4043245838897677e-05_r8, & + 2.4228571205105756e-05_r8, 2.4793183262906903e-05_r8, & + 3.0141422736742599e-05_r8, 4.7854714193169495e-05_r8, & + 7.0027305111258049e-05_r8, 0.00010099146088250707_r8, & + 0.00012798465833895633_r8, 0.00015205480426643212_r8, & + 0.00017281818493960008_r8, 0.0001888760658837124_r8, & + 0.00019812317972376286_r8, 0.0002060762410834063_r8, & + 0.00021287725750770934_r8, 0.00022350817694804782_r8, & + 0.0002298367907896176_r8, 0.00023722342231949258_r8, & + 0.00025194100955411173_r8, 0.00026896241983632611_r8, & + 0.00030021843422701089_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,12) / & + 8.1380309256083697e-06_r8, 7.2858463948692846e-06_r8, & + 6.7685655775320788e-06_r8, 7.5391266950255672e-06_r8, & + 8.1074781024113534e-06_r8, 8.3993310007127147e-06_r8, & + 1.0187921473440789e-05_r8, 1.3218568341735166e-05_r8, & + 1.7012327962979981e-05_r8, 2.1055185901146379e-05_r8, & + 2.4678660391124103e-05_r8, 2.7704360945274647e-05_r8, & + 3.0631985308229394e-05_r8, 3.1979949890279064e-05_r8, & + 3.2087140984642031e-05_r8, 3.2596705033663989e-05_r8, & + 3.921173820340145e-05_r8, 5.7892660206408308e-05_r8, & + 8.4973878247054496e-05_r8, 0.00011881984931576107_r8, & + 0.00014943372669240114_r8, 0.00017532427647568813_r8, & + 0.00019456729769808513_r8, 0.00021261718149006661_r8, & + 0.00022570178281888526_r8, 0.00023660476319788891_r8, & + 0.00024543857322811136_r8, 0.00025965497286682649_r8, & + 0.00027088875513357454_r8, 0.00028092722540054078_r8, & + 0.0002989030115520081_r8, 0.00031598673991164013_r8, & + 0.00032757389416538296_r8, 0.00033232961795646212_r8, & + 0.00033428068266938489_r8, 0.00033028367491503126_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,12) / & + 1.1271899173666218e-05_r8, 1.0760525800584862e-05_r8, & + 1.0146789537050119e-05_r8, 9.5543343913825261e-06_r8, & + 1.0009605902262984e-05_r8, 1.1067113226963596e-05_r8, & + 1.5381989467125812e-05_r8, 2.2328435763931504e-05_r8, & + 2.826525031974632e-05_r8, 3.2966603179462475e-05_r8, & + 3.6182332312652643e-05_r8, 3.9230139805678043e-05_r8, & + 4.0799670092031539e-05_r8, 4.3299663597035246e-05_r8, & + 4.5716217261469463e-05_r8, 4.9713165347994448e-05_r8, & + 6.4886675536781884e-05_r8, 8.9672082052758202e-05_r8, & + 0.00011683133919693139_r8, 0.00014774474433337697_r8, & + 0.00017622092830734757_r8, 0.0001992631637618444_r8, & + 0.00021625203540028562_r8, 0.00023233534631181044_r8, & + 0.00024276467377023773_r8, 0.00025414721345482373_r8, & + 0.00026365551475716258_r8, 0.00028425401947479505_r8, & + 0.00029852281373017413_r8, 0.00031115448683471421_r8, & + 0.00032637353891673256_r8, 0.00033576630519118139_r8, & + 0.00034352805518478665_r8, 0.00034701016348532367_r8, & + 0.00034838464478643641_r8, 0.00034763230889031622_r8, & + 0.00034575847880048092_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,12) / & + 1.1577572096126622e-05_r8, 1.1424200607885995e-05_r8, & + 1.0882576423515887e-05_r8, 1.1290708996537251e-05_r8, & + 1.1837900773810495e-05_r8, 1.2966528685235197e-05_r8, & + 1.9056248088790124e-05_r8, 2.8568668321163359e-05_r8, & + 3.6726314887195217e-05_r8, 4.2346738219555375e-05_r8, & + 4.4978240340773063e-05_r8, 4.8045264534304575e-05_r8, & + 4.8628500103369858e-05_r8, 5.4058084547444698e-05_r8, & + 6.2013272635004244e-05_r8, 7.1501425194638577e-05_r8, & + 9.3969436704795733e-05_r8, 0.00012225288395506536_r8, & + 0.00014879459805036617_r8, 0.0001752352997391691_r8, & + 0.00020054895959965331_r8, 0.00021875627043690984_r8, & + 0.00023192526848681943_r8, 0.00024626686305917537_r8, & + 0.0002588999680241458_r8, 0.0002729457621663736_r8, & + 0.00028403668921951251_r8, 0.00030673065916046315_r8, & + 0.00032332833377798963_r8, 0.00033856011241174263_r8, & + 0.00034936462484282381_r8, 0.00035611237317540497_r8, & + 0.0003605136818238448_r8, 0.00036228471371278829_r8, & + 0.00036384928228721326_r8, 0.00036306123534609214_r8, & + 0.00036126508086792519_r8, 0.00035999175999671876_r8, & + 0.00036118219364716014_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,12) / & + 1.0789271383322579e-05_r8, 1.0642774440838073e-05_r8, & + 1.0491368760640947e-05_r8, 1.1214433069446923e-05_r8, & + 1.1711075110676456e-05_r8, 1.2283283810405389e-05_r8, & + 1.7004935909803977e-05_r8, 2.6351751825627754e-05_r8, & + 3.6368379714919387e-05_r8, 4.4065219636492491e-05_r8, & + 4.7052640724291558e-05_r8, 5.0511657431779993e-05_r8, & + 5.375187809848331e-05_r8, 5.8878200091603328e-05_r8, & + 6.5249463709103272e-05_r8, 7.340702765228561e-05_r8, & + 9.9543334050793611e-05_r8, 0.00012896592182202107_r8, & + 0.00015637486242801453_r8, 0.00018473630089366674_r8, & + 0.00020908518382990783_r8, 0.00022897956214332709_r8, & + 0.00024704703217286162_r8, 0.00026423078838838578_r8, & + 0.00028087017795635301_r8, 0.00029604125371257621_r8, & + 0.00030802696800460414_r8, 0.00033526050696527275_r8, & + 0.00035380337938147039_r8, 0.00036554360305151836_r8, & + 0.00037647812304570575_r8, 0.00038160381400034055_r8, & + 0.00038317217404273165_r8, 0.00038448994773016736_r8, & + 0.0003812105143478474_r8, 0.0003803567552884302_r8, & + 0.00038202093738799373_r8, 0.0003791244889068782_r8, & + 0.00037752885591811202_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,12) / & + 1.1557192979147774e-05_r8, 1.1480066924173477e-05_r8, & + 1.1525981101010203e-05_r8, 1.2385364941452027e-05_r8, & + 1.2488030717665617e-05_r8, 1.2700460274676692e-05_r8, & + 1.6848289586598e-05_r8, 2.8049075391251376e-05_r8, & + 3.9750648216983898e-05_r8, 4.7858395296051197e-05_r8, & + 5.1618733735160913e-05_r8, 5.5954769499610617e-05_r8, & + 6.1610589070395193e-05_r8, 6.7078409404041441e-05_r8, & + 7.165537594479689e-05_r8, 7.9147941819146333e-05_r8, & + 0.00010852067963814508_r8, 0.00013759674748788959_r8, & + 0.00016545550595437549_r8, 0.00019691173254403942_r8, & + 0.00022184260824672803_r8, 0.00024218323884547634_r8, & + 0.00026301946299188569_r8, 0.00028199015921169133_r8, & + 0.00029907013283650381_r8, 0.00031376166390072521_r8, & + 0.00032606814178002478_r8, 0.00035692944542427605_r8, & + 0.00037637900128024689_r8, 0.00039006455649323899_r8, & + 0.00040179677065415421_r8, 0.00040503690526703327_r8, & + 0.00040721955749950859_r8, 0.00040807656258399876_r8, & + 0.00039990409659405911_r8, 0.00040242877783519104_r8, & + 0.00040411725915854988_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,12) / & + 1.2332255382998985e-05_r8, 1.3638476936516534e-05_r8, & + 1.3983844453427713e-05_r8, 1.6538806243873923e-05_r8, & + 1.86891323864295e-05_r8, 2.2103855744662653e-05_r8, & + 3.2451859470485597e-05_r8, 4.4248273087626372e-05_r8, & + 5.617745660605856e-05_r8, 6.7533561017111882e-05_r8, & + 7.3559570320526718e-05_r8, 7.7874959412599584e-05_r8, & + 8.2040124155707139e-05_r8, 8.7192238831083885e-05_r8, & + 8.9865074503601714e-05_r8, 9.6827035205895829e-05_r8, & + 0.00010836920276068051_r8, 0.00012722417453616016_r8, & + 0.00014009711403836198_r8, 0.00015998339109982951_r8, & + 0.00018092364936784074_r8, 0.0002140012849721097_r8, & + 0.0002511581478221359_r8, 0.00027153005562644553_r8, & + 0.00029670027839812904_r8, 0.00032806870941392836_r8, & + 0.00034981245741950014_r8, 0.00040435432932895001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,12) / & + 1.2080301751880098e-05_r8, 1.3525891453371619e-05_r8, & + 1.3995162342039347e-05_r8, 1.9571615362807544e-05_r8, & + 2.2772040342155457e-05_r8, 2.6631404286310131e-05_r8, & + 4.3326036672409783e-05_r8, 5.4329319409806345e-05_r8, & + 6.3903398232356435e-05_r8, 7.0258457355986908e-05_r8, & + 7.6148403406206433e-05_r8, 8.028619846930422e-05_r8, & + 8.5076576817183031e-05_r8, 9.0186465003337844e-05_r8, & + 9.2982160466318047e-05_r8, 9.9940400161414633e-05_r8, & + 0.00011172435849574518_r8, 0.00013106293012224787_r8, & + 0.00014449138670853822_r8, 0.0001653871481613137_r8, & + 0.00018641832443757049_r8, 0.00021779875673880652_r8, & + 0.00025728644935677376_r8, 0.00027847652280355023_r8, & + 0.00030575186068042032_r8, 0.00033928216688792172_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,12) / & + 9.336141873103643e-06_r8, 1.0980558079996381e-05_r8, & + 1.115040750480761e-05_r8, 3.0130174097214975e-05_r8, & + 3.6463696063959326e-05_r8, 3.7806795620463985e-05_r8, & + 7.3719305288722596e-05_r8, 6.9563678475186906e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,12) / & + 4.7575448034624874e-05_r8, 4.8460516138520643e-05_r8, & + 4.8163633496527438e-05_r8, 5.170895305929724e-05_r8, & + 5.4204234453211197e-05_r8, 5.4935819425443239e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,12) / & + 4.6717853708427485e-05_r8, 4.7555497003179119e-05_r8, & + 4.7766982862223625e-05_r8, 5.3464777524391315e-05_r8, & + 5.4333598791418931e-05_r8, 5.6200355876191015e-05_r8, & + 5.8433241864276363e-05_r8, 5.9434960988959586e-05_r8, & + 6.1592794788761134e-05_r8, 6.3373105831426852e-05_r8, & + 6.5084044435100011e-05_r8, 6.7831410659895569e-05_r8, & + 7.0999651381166618e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,12) / & + 4.3510942777596736e-05_r8, 4.4972132904469089e-05_r8, & + 4.4208895470503928e-05_r8, 4.9550059666531351e-05_r8, & + 5.1338140847007447e-05_r8, 5.3799876712148115e-05_r8, & + 5.8448676489798133e-05_r8, 6.1198679780562616e-05_r8, & + 6.3206090857193342e-05_r8, 6.5146017935194511e-05_r8, & + 6.6886240732418493e-05_r8, 6.9935120457916727e-05_r8, & + 7.3570712957701057e-05_r8, 7.39673434433374e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,12) / & + 3.8194919154812064e-05_r8, 3.9719632424393226e-05_r8, & + 3.4164436482853421e-05_r8, 3.898019139984882e-05_r8, & + 4.1745521346873713e-05_r8, 4.8674236953468432e-05_r8, & + 5.3490976718152006e-05_r8, 5.5855180472117332e-05_r8, & + 5.7818952069588512e-05_r8, 6.0632438512177936e-05_r8, & + 6.3066271847003698e-05_r8, 6.6471213943196107e-05_r8, & + 6.7942877444189146e-05_r8, 6.3614364722950427e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,12) / & + 3.5633415510485274e-05_r8, 3.2091020003694978e-05_r8, & + 2.7239959335419302e-05_r8, 3.0637219131924796e-05_r8, & + 3.431030441320588e-05_r8, 4.0630694890497624e-05_r8, & + 4.8182172685922393e-05_r8, 4.934433106488645e-05_r8, & + 5.0165966808732707e-05_r8, 5.188329495354264e-05_r8, & + 5.3033594764678858e-05_r8, 5.5408716651481616e-05_r8, & + 5.794121696773417e-05_r8, 5.8947567231572819e-05_r8, & + 6.0677288956435543e-05_r8, 6.1443018284415134e-05_r8, & + 6.3575591384947645e-05_r8, 6.734964979221306e-05_r8, & + 7.0925279957159413e-05_r8, 7.454589449025499e-05_r8, & + 8.0259458420496731e-05_r8, 8.3331467295668678e-05_r8, & + 8.6069451362116172e-05_r8, 9.1249196390064022e-05_r8, & + 9.5575217454506623e-05_r8, 9.9786899306043611e-05_r8, & + 0.00010300763506544099_r8, 0.00010796133636426118_r8, & + 0.000111067024107847_r8, 0.00011276557462434397_r8, & + 0.00011451597066665905_r8, 0.00011597084871923101_r8, & + 0.00011714813680792401_r8, 0.0001180642745397367_r8, & + 0.00011853698895031826_r8, 0.00011819166340680014_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,12) / & + 5.6446469963582754e-05_r8, 6.2461165751936926e-05_r8, & + 5.7759870574329681e-05_r8, 5.7509695420829471e-05_r8, & + 5.6459577169527587e-05_r8, 5.9570800119342608e-05_r8, & + 5.6187822521980907e-05_r8, 5.0412639071180169e-05_r8, & + 5.2764438253531161e-05_r8, 5.4810454623278915e-05_r8, & + 5.6112469678912381e-05_r8, 5.7533145946880659e-05_r8, & + 5.9365222174749306e-05_r8, 6.0900381198383937e-05_r8, & + 6.3125654485074578e-05_r8, 6.4302879172627815e-05_r8, & + 6.6639498889571524e-05_r8, 6.9085172671218558e-05_r8, & + 7.1698936459037936e-05_r8, 7.4401155361485119e-05_r8, & + 7.8431372900441803e-05_r8, 8.1694892138478348e-05_r8, & + 8.5131153453916561e-05_r8, 8.9848922186704411e-05_r8, & + 9.4148499727609059e-05_r8, 9.8382440126674764e-05_r8, & + 0.00010243580490071316_r8, 0.00010932895440209584_r8, & + 0.00011281205754700674_r8, 0.00011506535307966756_r8, & + 0.0001168033019367859_r8, 0.00011865404888716032_r8, & + 0.00011996929602486547_r8, 0.00012101289499058066_r8, & + 0.00012129305322483454_r8, 0.00012120404784549262_r8, & + 0.00012090142231756621_r8, 0.00012130111440183753_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,12) / & + 7.634300826434339e-05_r8, 9.7645987705241168e-05_r8, & + 9.5308433584817562e-05_r8, 0.000113962775804203_r8, & + 0.0001111630007364542_r8, 0.00011209038990662379_r8, & + 9.8113918021093633e-05_r8, 6.6519936413756626e-05_r8, & + 6.5175372986618071e-05_r8, 6.6102538938058987e-05_r8, & + 6.5993704682211295e-05_r8, 6.6447936612200147e-05_r8, & + 6.5624096825765363e-05_r8, 6.7387799245497351e-05_r8, & + 6.8758806078690363e-05_r8, 7.0209791100723847e-05_r8, & + 7.1029116289585356e-05_r8, 7.2228653229144659e-05_r8, & + 7.4526751587871689e-05_r8, 7.7663246374452637e-05_r8, & + 8.0695767887549417e-05_r8, 8.4283967832342866e-05_r8, & + 8.8341122007925532e-05_r8, 9.2797624894050784e-05_r8, & + 9.7945505548957187e-05_r8, 0.00010228399946621926_r8, & + 0.00010812551233458478_r8, 0.0001173931831091228_r8, & + 0.00011817974092259179_r8, 0.00011856401884320026_r8, & + 0.00011945410024706302_r8, 0.00012051291625741547_r8, & + 0.0001215350375778285_r8, 0.00012169716816312062_r8, & + 0.00012207315422081016_r8, 0.00012249304587179881_r8, & + 0.00012428317587385689_r8, 0.0001245633099985178_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,13) / & + 0.00010225893238489298_r8, 0.00010115463045544063_r8, & + 9.6452732147807391e-05_r8, 0.00010019013562857397_r8, & + 0.00010298167311151936_r8, 0.00011201194714711751_r8, & + 0.00012965037903563681_r8, 0.00014076290713136675_r8, & + 0.00015035327588523159_r8, 0.00016784628707578015_r8, & + 0.00017332930216166595_r8, 0.00017418060405497324_r8, & + 0.00017435235029989902_r8, 0.0001799841955421263_r8, & + 0.00018528697936309656_r8, 0.00018815251937381208_r8, & + 0.00019311350187495145_r8, 0.00020060891630545226_r8, & + 0.00020947606661470713_r8, 0.00021622519941580804_r8, & + 0.00022201497513603405_r8, 0.0002273522365896674_r8, & + 0.00023237357142883472_r8, 0.00023676857098510766_r8, & + 0.00024184606649266729_r8, 0.0002467409103173301_r8, & + 0.00025011289391589864_r8, 0.00025492006773502425_r8, & + 0.0002578074624707488_r8, 0.00025933167050699006_r8, & + 0.00026009470344541178_r8, 0.00026087171028603347_r8, & + 0.00026050164447787765_r8, 0.00025999889316679324_r8, & + 0.00025946319444818903_r8, 0.00025880674974251638_r8, & + 0.00025888693004367613_r8, 0.00025944049776701304_r8, & + 0.00025979960539872308_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,13) / & + 8.3072679892386822e-05_r8, 8.3146900039090423e-05_r8, & + 8.2114244362396739e-05_r8, 8.165124341922947e-05_r8, & + 8.3871262881842783e-05_r8, 8.9249996722897562e-05_r8, & + 0.00010875407404898947_r8, 0.00012572194142257531_r8, & + 0.00013881782495680465_r8, 0.0001549145791122495_r8, & + 0.0001636669937571126_r8, 0.00016882803136438553_r8, & + 0.00017443701519071316_r8, 0.00017882567604746453_r8, & + 0.00018114001768651858_r8, 0.00018268073071792408_r8, & + 0.00018546527691812247_r8, 0.00018981453589245675_r8, & + 0.00019563513619169336_r8, 0.00020084970521836359_r8, & + 0.00020665307724716919_r8, 0.00021134235342280252_r8, & + 0.00021768971404724239_r8, 0.00022203905644008751_r8, & + 0.00022754377655980889_r8, 0.00023224438234819298_r8, & + 0.00023900675431802855_r8, 0.0002489468994512858_r8, & + 0.00025504904206388789_r8, 0.00025786359389910318_r8, & + 0.00026076500164687116_r8, 0.00026264378184096194_r8, & + 0.0002631788665633851_r8, 0.00026300796656011385_r8, & + 0.00026201545062040844_r8, 0.00026097675556447297_r8, & + 0.00026055367102229346_r8, 0.00026075247576401797_r8, & + 0.00026109638775147849_r8, 0.00026179672472631023_r8, & + 0.00026270648882552739_r8, 0.00026940902373344226_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,13) / & + 7.0520882901079851e-05_r8, 7.1504589412701262e-05_r8, & + 7.2811898011667839e-05_r8, 6.3003089607759709e-05_r8, & + 6.2864961064738859e-05_r8, 6.4830840006628506e-05_r8, & + 7.7462036395687609e-05_r8, 9.6956669044896414e-05_r8, & + 0.00011026900938280308_r8, 0.00012246496207313592_r8, & + 0.00013397049962409507_r8, 0.00014501044677950106_r8, & + 0.0001579143146956405_r8, 0.00016534955720366146_r8, & + 0.00016983737963489502_r8, 0.00016970532848312753_r8, & + 0.00017321313639792618_r8, 0.00017526824503398335_r8, & + 0.00018049660279598301_r8, 0.00018383466688965338_r8, & + 0.00018792176323847648_r8, 0.00019169694500928192_r8, & + 0.00019819358121187075_r8, 0.00020335033415864472_r8, & + 0.00021006763436448437_r8, 0.0002144401787873862_r8, & + 0.00022021417084967476_r8, 0.00023193330737114907_r8, & + 0.000244324647792337_r8, 0.00024967225087235999_r8, & + 0.00025592428854667748_r8, 0.00026095683519458674_r8, & + 0.00026292898991151837_r8, 0.0002647012633082836_r8, & + 0.00026469391015896386_r8, 0.0002638490745252276_r8, & + 0.00026331789683895005_r8, 0.00026404100298950726_r8, & + 0.00026392972489305291_r8, 0.00026340634507975046_r8, & + 0.00026367357056956536_r8, 0.00026793508761360313_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,13) / & + 6.0730234586692048e-05_r8, 6.1502766436260508e-05_r8, & + 6.3509959212395729e-05_r8, 5.3963397998969229e-05_r8, & + 5.381549926756853e-05_r8, 5.5218968064177315e-05_r8, & + 5.8604085763468162e-05_r8, 6.8550469472008414e-05_r8, & + 7.7208914812480742e-05_r8, 8.5142893729424782e-05_r8, & + 9.2943399847015409e-05_r8, 0.00010335471815177096_r8, & + 0.00012008868855235338_r8, 0.00013085399289381385_r8, & + 0.00013988170476648189_r8, 0.00014458072772393024_r8, & + 0.00015416432475220842_r8, 0.00015991517541509467_r8, & + 0.00016506883496343334_r8, 0.00016921376660642741_r8, & + 0.00017180630542239906_r8, 0.00017403327926384003_r8, & + 0.00017744641745995253_r8, 0.00018140174071527002_r8, & + 0.00018531582821940622_r8, 0.00018946763952259948_r8, & + 0.00019305790683185682_r8, 0.00020416299882355322_r8, & + 0.00021655943449710852_r8, 0.0002274315592620005_r8, & + 0.00023920547988823173_r8, 0.00024937737847811832_r8, & + 0.00025611859112351315_r8, 0.00026085274977719102_r8, & + 0.00026525577042241227_r8, 0.00026688859802764673_r8, & + 0.00026625560364861549_r8, 0.00026461200218094369_r8, & + 0.00026508125051724699_r8, 0.00026310107261279735_r8, & + 0.00026271145434566363_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,13) / & + 3.9851984720138854e-05_r8, 3.9851981777422206e-05_r8, & + 3.9399493043799656e-05_r8, 2.9312126027422524e-05_r8, & + 2.9584671020644187e-05_r8, 2.9711162256994835e-05_r8, & + 3.215479268776473e-05_r8, 3.6393526670609531e-05_r8, & + 4.1611609581422278e-05_r8, 4.7381831455651954e-05_r8, & + 5.2929687269865517e-05_r8, 5.9368087727768014e-05_r8, & + 7.2121430699523853e-05_r8, 8.2683192290093497e-05_r8, & + 9.2633485822630259e-05_r8, 0.00010215055811710816_r8, & + 0.00011766642859346995_r8, 0.00012832895427357659_r8, & + 0.00013668921319797786_r8, 0.00014547368481863116_r8, & + 0.00015151145043272997_r8, 0.00015282296066843309_r8, & + 0.00015550205631271823_r8, 0.00015701828495099591_r8, & + 0.00015817326806742639_r8, 0.00015915611878166168_r8, & + 0.00015831118699331648_r8, 0.00016681039857713854_r8, & + 0.00017745726732949045_r8, 0.00019135386892118051_r8, & + 0.00020638126521231972_r8, 0.00021966644139763311_r8, & + 0.00023259146123958579_r8, 0.00024401284544467108_r8, & + 0.00025570393321074851_r8, 0.00026735018925738658_r8, & + 0.0002722299532754406_r8, 0.00027052491989283336_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,13) / & + 2.0286275028827276e-05_r8, 2.0017592014171713e-05_r8, & + 1.7586966336766313e-05_r8, 1.3188473051075479e-05_r8, & + 1.3517221771877742e-05_r8, 1.3823204332779976e-05_r8, & + 1.7258366727716553e-05_r8, 2.0356765533204308e-05_r8, & + 2.3889631253239301e-05_r8, 2.7778142508212188e-05_r8, & + 3.1386080498636945e-05_r8, 3.4412754807693631e-05_r8, & + 4.0103195634020003e-05_r8, 4.5610565685370168e-05_r8, & + 5.2458536790106442e-05_r8, 6.0483453521697827e-05_r8, & + 7.8089327753370916e-05_r8, 9.5150143061728339e-05_r8, & + 0.00010715035632325821_r8, 0.00011840452288153839_r8, & + 0.00012894706669957902_r8, 0.0001354826702753538_r8, & + 0.00014083889986789128_r8, 0.00014467325489216063_r8, & + 0.00014778222197837977_r8, 0.00014946479758060806_r8, & + 0.0001492733068231055_r8, 0.00015264074127672094_r8, & + 0.00015997019982141148_r8, 0.0001719284673424743_r8, & + 0.0001897286875458501_r8, 0.00020485019813443783_r8, & + 0.00022116930126475417_r8, 0.00023613483797563806_r8, & + 0.0002512017304468522_r8, 0.00026734697418586133_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,13) / & + 1.1791193339180169e-05_r8, 1.1264795800667587e-05_r8, & + 9.7621835957933609e-06_r8, 7.8494849883499179e-06_r8, & + 7.9303651575914408e-06_r8, 8.393008367006658e-06_r8, & + 1.005443939444343e-05_r8, 1.1933002755313783e-05_r8, & + 1.3701372453732869e-05_r8, 1.5601945776031451e-05_r8, & + 1.7812947353990378e-05_r8, 1.9035248249073845e-05_r8, & + 2.1925317187809994e-05_r8, 2.3832839185311086e-05_r8, & + 2.7425574786353786e-05_r8, 3.083851225941296e-05_r8, & + 4.2945360618542612e-05_r8, 5.3202675121829558e-05_r8, & + 6.482981048468315e-05_r8, 7.8226756253384073e-05_r8, & + 9.0368049343239008e-05_r8, 0.00010054406601428149_r8, & + 0.00011173272547984942_r8, 0.00012122129301407605_r8, & + 0.00012939197044721008_r8, 0.00013570534048237766_r8, & + 0.00013998068846431453_r8, 0.00014499708806754567_r8, & + 0.0001492658940244815_r8, 0.00015555191840515895_r8, & + 0.00016532243973851589_r8, 0.00017837892598100482_r8, & + 0.00019134850889895389_r8, 0.00019806756349155343_r8, & + 0.00021603616279413106_r8, 0.000227352222561241_r8, & + 0.00022640316701656905_r8, 0.00022869418716990955_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,13) / & + 7.7201938867238712e-06_r8, 7.2241420659641941e-06_r8, & + 6.7908162003042337e-06_r8, 5.3753461879642301e-06_r8, & + 5.423287736949705e-06_r8, 5.6220443685189785e-06_r8, & + 6.1131286348978933e-06_r8, 6.6028032456652761e-06_r8, & + 7.3056146734485151e-06_r8, 8.1666818875767034e-06_r8, & + 8.7375695513986613e-06_r8, 9.0552749785016883e-06_r8, & + 9.6495085832186522e-06_r8, 1.0468752701490568e-05_r8, & + 1.1521794243710006e-05_r8, 1.2467766864928049e-05_r8, & + 1.5359383069448347e-05_r8, 1.8927045310691577e-05_r8, & + 2.4969961577990387e-05_r8, 3.3431591180012996e-05_r8, & + 4.3011695042728448e-05_r8, 5.5148532416802982e-05_r8, & + 6.9749168234801591e-05_r8, 8.4907572604681964e-05_r8, & + 9.9389171955690267e-05_r8, 0.00011260431273940594_r8, & + 0.00012415065377412155_r8, 0.00014033788801742328_r8, & + 0.00014902559263394073_r8, 0.00015185038719186134_r8, & + 0.00016069486990890429_r8, 0.00017508063289231815_r8, & + 0.00019535582480570987_r8, 0.0002123264416078157_r8, & + 0.00022670354807087138_r8, 0.00023383823467804557_r8, & + 0.00023275377667085912_r8, 0.00023209923891592346_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,13) / & + 5.5085130807085624e-06_r8, 5.3675185595947077e-06_r8, & + 5.2890865787012375e-06_r8, 4.9612343173797231e-06_r8, & + 4.9103837200132144e-06_r8, 5.0255144130984312e-06_r8, & + 5.7054894621520491e-06_r8, 5.9008671927309912e-06_r8, & + 6.4751938958403853e-06_r8, 7.0175024043503277e-06_r8, & + 7.4808976819438659e-06_r8, 7.921151036246924e-06_r8, & + 8.3651653882782412e-06_r8, 8.6991373156601879e-06_r8, & + 8.9986920817840589e-06_r8, 9.4508834416975663e-06_r8, & + 1.0564172851725692e-05_r8, 1.2563993226146705e-05_r8, & + 1.6278288848612871e-05_r8, 2.3285220674292131e-05_r8, & + 3.3577809044043945e-05_r8, 4.6083323733755324e-05_r8, & + 6.0632053923239366e-05_r8, 7.9208581120836948e-05_r8, & + 9.6205000145409432e-05_r8, 0.00011208150589732302_r8, & + 0.00012572864905750232_r8, 0.00014804820456153274_r8, & + 0.00016120623983088212_r8, 0.00016615596532070531_r8, & + 0.00017412196168447149_r8, 0.00019017893131687192_r8, & + 0.00020904452322365226_r8, 0.00022505493348694099_r8, & + 0.00023571653662481852_r8, 0.00024645673823140834_r8, & + 0.00025223839953691544_r8, 0.00023983036271035268_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,13) / & + 4.840976241901412e-06_r8, 4.8053452408731226e-06_r8, & + 4.8908939908316581e-06_r8, 5.6572698081007272e-06_r8, & + 5.7013067320631601e-06_r8, 6.1451903472363542e-06_r8, & + 6.8516619120329944e-06_r8, 6.8240797131279977e-06_r8, & + 7.0959159870951309e-06_r8, 7.4039125529394046e-06_r8, & + 7.6860423783425198e-06_r8, 8.1957713126250049e-06_r8, & + 8.6134058376873091e-06_r8, 9.0102806002612037e-06_r8, & + 9.2477232990732399e-06_r8, 9.5827761294708022e-06_r8, & + 1.0435700832070819e-05_r8, 1.2203301961119588e-05_r8, & + 1.6476497673365713e-05_r8, 2.5023522548782169e-05_r8, & + 3.8649395345498582e-05_r8, 5.4123862854584905e-05_r8, & + 7.2050780805766603e-05_r8, 9.1574882475119768e-05_r8, & + 0.00011081929958914818_r8, 0.00012736715316784321_r8, & + 0.00013998519581681268_r8, 0.00016120034406740634_r8, & + 0.00017581809944761939_r8, 0.00018608213123212205_r8, & + 0.00019376169421357817_r8, 0.00020823695657177209_r8, & + 0.00022446699925961609_r8, 0.00023834990024599183_r8, & + 0.00024924248966056085_r8, 0.00025362046134161988_r8, & + 0.00025669879690031725_r8, 0.00025819814832186142_r8, & + 0.00026039960817718025_r8, 0.00026456824609519638_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,13) / & + 5.5472158243989295e-06_r8, 5.1954788825285053e-06_r8, & + 5.232915498289363e-06_r8, 5.9294236080098904e-06_r8, & + 5.9517625073109237e-06_r8, 6.226356961322337e-06_r8, & + 7.0330873383415644e-06_r8, 7.5595011170437966e-06_r8, & + 8.0976805113685412e-06_r8, 8.4779856625703588e-06_r8, & + 8.7146064232948044e-06_r8, 9.2925026185571126e-06_r8, & + 9.5050840313981386e-06_r8, 9.9036662073931847e-06_r8, & + 1.0159971952099236e-05_r8, 1.0345947720152688e-05_r8, & + 1.1721399175933376e-05_r8, 1.4724211270870163e-05_r8, & + 2.1144582457812788e-05_r8, 3.4193437398076162e-05_r8, & + 5.4298632608168358e-05_r8, 7.6510650029900902e-05_r8, & + 0.00010103906056511764_r8, 0.00012188034359436946_r8, & + 0.00014141157050454986_r8, 0.00015622583050281611_r8, & + 0.00016602181030382716_r8, 0.00018376012602192433_r8, & + 0.00020365317327543557_r8, 0.00022361224052528509_r8, & + 0.00023779493546810602_r8, 0.00025684650061938544_r8, & + 0.00026893137870588472_r8, 0.00027492260727956277_r8, & + 0.000275547723865464_r8, 0.00027519728627682367_r8, & + 0.00027477547964637719_r8, 0.00027586493340932028_r8, & + 0.00027789166523507216_r8, 0.000279564126891456_r8, & + 0.00027575274396345121_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,13) / & + 6.0043722093218555e-06_r8, 5.6015656683268034e-06_r8, & + 5.5022499289221286e-06_r8, 5.8151078572601573e-06_r8, & + 5.8688691400306026e-06_r8, 5.9653179882719898e-06_r8, & + 6.5365747978883311e-06_r8, 7.1535910503512696e-06_r8, & + 8.1327782926927001e-06_r8, 9.4063544580845839e-06_r8, & + 1.073236777530224e-05_r8, 1.2280216198640824e-05_r8, & + 1.3629243464139126e-05_r8, 1.3450548322896379e-05_r8, & + 1.3287585679529152e-05_r8, 1.3352367494475165e-05_r8, & + 1.4711783983636509e-05_r8, 1.924733831969459e-05_r8, & + 2.9208113161491098e-05_r8, 4.778390917492017e-05_r8, & + 7.6526056366639457e-05_r8, 0.00010957908345298324_r8, & + 0.00013760659385271708_r8, 0.00015907587597518657_r8, & + 0.00017402950627012123_r8, 0.00018513624908391134_r8, & + 0.00019364770023276947_r8, 0.00021238685875266182_r8, & + 0.00023524416141948394_r8, 0.00025397531584340962_r8, & + 0.00026833555006836014_r8, 0.00028045370818033366_r8, & + 0.00029255367716910657_r8, 0.00029610250275028923_r8, & + 0.00029521341508733111_r8, 0.00029374478155222981_r8, & + 0.00029123360491478385_r8, 0.00029173331393382844_r8, & + 0.00029261970600775983_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,13) / & + 6.82592607471878e-06_r8, 6.648175646686705e-06_r8, & + 6.4751292672714669e-06_r8, 7.0113910144599763e-06_r8, & + 6.914967109350364e-06_r8, 6.9047587177097293e-06_r8, & + 7.7725052091899356e-06_r8, 8.4895096732064537e-06_r8, & + 9.9789069427630779e-06_r8, 1.2151288909753483e-05_r8, & + 1.409199764130938e-05_r8, 1.6461826148291281e-05_r8, & + 1.9173223480467541e-05_r8, 1.9376013459746618e-05_r8, & + 1.8926143369166333e-05_r8, 1.9406221041322406e-05_r8, & + 2.2664190822024623e-05_r8, 3.6149150706474809e-05_r8, & + 5.8885138328843229e-05_r8, 9.4107426715996561e-05_r8, & + 0.00013006146092536529_r8, 0.00015841543023632472_r8, & + 0.0001795748117758849_r8, 0.00019364926463281116_r8, & + 0.00020329971927147571_r8, 0.00021206294783785199_r8, & + 0.00021921259731629247_r8, 0.00024094417792543541_r8, & + 0.00026099885769804288_r8, 0.00028109084446506987_r8, & + 0.000296758585368882_r8, 0.00030653150753814451_r8, & + 0.00031324965431793212_r8, 0.00031666433786939872_r8, & + 0.00031616141503913416_r8, 0.00031281409864909255_r8, & + 0.00030835003769204473_r8, 0.00030631816123188595_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,13) / & + 1.02037723192841e-05_r8, 9.4735931420759087e-06_r8, & + 8.436937892654379e-06_r8, 8.6370716084448382e-06_r8, & + 8.9933582773872062e-06_r8, 9.3935480557727916e-06_r8, & + 1.2035540182930834e-05_r8, 1.626080724303679e-05_r8, & + 2.0825348446682967e-05_r8, 2.5804767802271275e-05_r8, & + 2.9726496464324617e-05_r8, 3.2747940100836374e-05_r8, & + 3.5562491707160709e-05_r8, 3.5625601887447921e-05_r8, & + 3.5443378389367222e-05_r8, 3.7410916839873176e-05_r8, & + 4.8706925843338591e-05_r8, 7.1058903551304777e-05_r8, & + 9.848805109692271e-05_r8, 0.00012884647584875767_r8, & + 0.00015760028537810489_r8, 0.00018140187244632453_r8, & + 0.00019869897173854299_r8, 0.00021358839152700273_r8, & + 0.00022570048427912381_r8, 0.00023642788030343187_r8, & + 0.00024699173542855243_r8, 0.00026718185061149846_r8, & + 0.00028173116561913241_r8, 0.00029321447841222626_r8, & + 0.00030954359460655026_r8, 0.00032201231497048095_r8, & + 0.00032862254323819459_r8, 0.00033252832628046544_r8, & + 0.00033380465435420926_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,13) / & + 1.2308152336055872e-05_r8, 1.1876197154651503e-05_r8, & + 1.0737808105869528e-05_r8, 1.0040613284663827e-05_r8, & + 1.073290517628763e-05_r8, 1.1872843298369019e-05_r8, & + 1.7715258271551636e-05_r8, 2.5529705313175519e-05_r8, & + 3.1477777137559495e-05_r8, 3.5958232024831413e-05_r8, & + 3.8648754986392096e-05_r8, 4.1285705413847529e-05_r8, & + 4.226838952109223e-05_r8, 4.3573234001859689e-05_r8, & + 4.6306330091515496e-05_r8, 5.1740500515678893e-05_r8, & + 6.8391030934230549e-05_r8, 9.2944323009176518e-05_r8, & + 0.00012438315031368144_r8, 0.00015254035388760669_r8, & + 0.00017754828154429472_r8, 0.0001956940533154698_r8, & + 0.00021078017568647563_r8, 0.000225569998750233_r8, & + 0.00023786136578483611_r8, 0.00024915791209037611_r8, & + 0.00026191776720355591_r8, 0.00028580808332187932_r8, & + 0.00030198790636058943_r8, 0.00031640309721972152_r8, & + 0.00032888717994279226_r8, 0.00033827530077168595_r8, & + 0.00034405752134152956_r8, 0.0003472894862040979_r8, & + 0.00034843324436053104_r8, 0.00034711418180166176_r8, & + 0.00034465449856659416_r8, 0.00034141501496100376_r8, & + 0.00033825670266259987_r8, 0.00033271406707752557_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,13) / & + 1.2432188597219258e-05_r8, 1.2216165110754868e-05_r8, & + 1.1495634867195127e-05_r8, 1.1892412638335826e-05_r8, & + 1.2925102687190735e-05_r8, 1.4395688261667308e-05_r8, & + 2.3470850275820019e-05_r8, 3.3855353671721169e-05_r8, & + 4.0864169552812132e-05_r8, 4.4429861989187545e-05_r8, & + 4.6179379849726969e-05_r8, 4.8438844840221449e-05_r8, & + 4.946160371133939e-05_r8, 5.4646174783142554e-05_r8, & + 6.1904295154728426e-05_r8, 7.1201854307725593e-05_r8, & + 9.4269543608374394e-05_r8, 0.00011901299593960912_r8, & + 0.00014741258326031483_r8, 0.00017495723980310153_r8, & + 0.0001985506136892745_r8, 0.00021798238374842296_r8, & + 0.00023328501557653508_r8, 0.00024851313902269842_r8, & + 0.00026234907204668502_r8, 0.00027467300938689959_r8, & + 0.00028727017424590309_r8, 0.00031271869347751247_r8, & + 0.00032847367294190004_r8, 0.00034345137805848517_r8, & + 0.00035184421415483707_r8, 0.0003581963337738243_r8, & + 0.0003618980132144001_r8, 0.00036450185483937543_r8, & + 0.00036676412796086098_r8, 0.0003665188319054559_r8, & + 0.00036555124434756907_r8, 0.0003636368848290171_r8, & + 0.00036253525451099977_r8, 0.00036430959252445658_r8, & + 0.00036280153308854265_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,13) / & + 1.1489107271111971e-05_r8, 1.1528457084760826e-05_r8, & + 1.0852109846994469e-05_r8, 1.1671731746409563e-05_r8, & + 1.2435007519724737e-05_r8, 1.3024915144349297e-05_r8, & + 1.9536673349835681e-05_r8, 2.9114348239004242e-05_r8, & + 3.8296396450898044e-05_r8, 4.4945330444206995e-05_r8, & + 4.8387885624189011e-05_r8, 5.0779452116671524e-05_r8, & + 5.4017523989248368e-05_r8, 5.9059805983364445e-05_r8, & + 6.5524796125689399e-05_r8, 7.5190053002248901e-05_r8, & + 0.00010216390689667847_r8, 0.00013069718161253893_r8, & + 0.00015928594066387359_r8, 0.000186452017140089_r8, & + 0.00021140186537986198_r8, 0.00023313910398907684_r8, & + 0.00025133785348897873_r8, 0.00026814278643423498_r8, & + 0.00028371848476923324_r8, 0.0002971913182997921_r8, & + 0.00030867125940164882_r8, 0.00033700431258582763_r8, & + 0.0003568157272030414_r8, 0.00037136808182991666_r8, & + 0.00037796558818524667_r8, 0.00038186753144845288_r8, & + 0.00038405835888274259_r8, 0.00038636521632456661_r8, & + 0.00038585415014744567_r8, 0.00038717434081008854_r8, & + 0.00038816726527741437_r8, 0.00038589258586391254_r8, & + 0.00038367420820868898_r8, 0.00038178172573833746_r8, & + 0.00038189745120936948_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,13) / & + 1.1451383218301709e-05_r8, 1.1337672599494707e-05_r8, & + 1.0884331129112045e-05_r8, 1.1235982852134977e-05_r8, & + 1.1586531043247572e-05_r8, 1.159990744282814e-05_r8, & + 1.5728478915853842e-05_r8, 2.599135630986044e-05_r8, & + 3.7712442013416449e-05_r8, 4.6342611347220831e-05_r8, & + 5.1276165628635219e-05_r8, 5.5117372664088696e-05_r8, & + 6.0475063034710263e-05_r8, 6.5935908237187469e-05_r8, & + 7.2388789449421279e-05_r8, 8.1753683683700854e-05_r8, & + 0.00010970600645574524_r8, 0.00013727219774967194_r8, & + 0.00016716655870916301_r8, 0.00019796487842803833_r8, & + 0.00022203626858351789_r8, 0.0002422373269320658_r8, & + 0.00026042982443653045_r8, 0.00027753573831934357_r8, & + 0.0002946113234462307_r8, 0.00030928989434465153_r8, & + 0.00032413524358937418_r8, 0.00035477013743502519_r8, & + 0.00037574074407203928_r8, 0.00039256406221029326_r8, & + 0.0004006294005182722_r8, 0.00040357076739627279_r8, & + 0.00040542475193744215_r8, 0.00040717750643580171_r8, & + 0.00040452904871071297_r8, 0.00040577990479629083_r8, & + 0.00040595346319377855_r8, 0.00040439944008054232_r8, & + 0.00040254356883060913_r8, 0.00039864069913211761_r8, & + 0.00039757163614171438_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,13) / & + 1.1334389401459184e-05_r8, 1.1004340151181602e-05_r8, & + 1.0832764547233685e-05_r8, 1.1159269384310227e-05_r8, & + 1.1341886821248396e-05_r8, 1.1512313329409413e-05_r8, & + 1.520738893342568e-05_r8, 2.3655083022326206e-05_r8, & + 3.6165283497798083e-05_r8, 4.5551912900908504e-05_r8, & + 5.1984307507563022e-05_r8, 5.6769983712009357e-05_r8, & + 6.3210009324369117e-05_r8, 7.0656182386947541e-05_r8, & + 7.9343755882562979e-05_r8, 8.9562048699032051e-05_r8, & + 0.00011685533100317315_r8, 0.00014271106790774687_r8, & + 0.00017070093528051081_r8, 0.0002001642621730597_r8, & + 0.00022505271382082794_r8, 0.00024744179505572502_r8, & + 0.00026548786864048372_r8, 0.00028173819957750612_r8, & + 0.00029955227372591007_r8, 0.00031693744543136897_r8, & + 0.00033947749196708521_r8, 0.00037454066447589968_r8, & + 0.00039578994966987032_r8, 0.00041020421221195418_r8, & + 0.00041497142661260427_r8, 0.00041671235593880536_r8, & + 0.00041888322000687523_r8, 0.00042039946969533987_r8, & + 0.00042013952202450114_r8, 0.00042028958534316642_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,13) / & + 1.2772619370950723e-05_r8, 1.3956623871225496e-05_r8, & + 1.3668361683935851e-05_r8, 1.644710792633207e-05_r8, & + 1.764475549699826e-05_r8, 2.0134749298879282e-05_r8, & + 3.0216245149851113e-05_r8, 4.2854836357357712e-05_r8, & + 5.4856322741265785e-05_r8, 6.5804365284390052e-05_r8, & + 7.186945644070473e-05_r8, 7.7059604280705547e-05_r8, & + 8.2545690492487626e-05_r8, 8.7569412772542195e-05_r8, & + 9.2776617780907777e-05_r8, 9.8075998944135214e-05_r8, & + 0.0001091359116895841_r8, 0.00012532837571729575_r8, & + 0.0001425228427779711_r8, 0.00016201737562561395_r8, & + 0.00018026280649887408_r8, 0.00020385582139558284_r8, & + 0.00023967619103574251_r8, 0.00026618671436888578_r8, & + 0.00029246475375798798_r8, 0.00032373926375170518_r8, & + 0.0003514406450577486_r8, 0.00041004626927578815_r8, & + 0.00044421521539572245_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,13) / & + 1.3612068508653521e-05_r8, 1.5353364570485705e-05_r8, & + 1.5392681239176772e-05_r8, 1.8033573232421998e-05_r8, & + 1.9482521513636513e-05_r8, 2.2488801827983949e-05_r8, & + 3.3849856981169595e-05_r8, 4.7537907520094428e-05_r8, & + 5.9371504885052553e-05_r8, 6.9391711550938017e-05_r8, & + 7.5639150929016069e-05_r8, 8.0995336664140813e-05_r8, & + 8.6641340388614403e-05_r8, 9.1995429027027977e-05_r8, & + 9.7193888762513403e-05_r8, 0.00010256943295002368_r8, & + 0.00011348010679381095_r8, 0.00012939759600454488_r8, & + 0.00014719111324330432_r8, 0.00016722869434532996_r8, & + 0.0001872344341389006_r8, 0.00021092308165695888_r8, & + 0.00024693932591162842_r8, 0.00027475894564942276_r8, & + 0.00030183887455982649_r8, 0.00033429870939015005_r8, & + 0.00036304844661784967_r8, 0.00042457022753789335_r8, & + 0.00045945805182457473_r8, 0.00046671897146540668_r8, & + 0.0004518417776820053_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,13) / & + 9.0276961400324091e-06_r8, 7.4960512561816127e-06_r8, & + 6.7159209405074088e-06_r8, 1.0727983047137243e-05_r8, & + 1.2745258681279069e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,13) / & + 1.5938248448646183e-05_r8, 1.3706052640583092e-05_r8, & + 1.1930864444944294e-05_r8, 1.8580157152634352e-05_r8, & + 2.2444021782227796e-05_r8, 2.9795088565542746e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,13) / & + 4.759579320289976e-05_r8, 4.836111747638312e-05_r8, & + 4.7967976253879098e-05_r8, 5.0459265624536187e-05_r8, & + 5.082275579268932e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,13) / & + 4.6726824864925109e-05_r8, 4.7338895430469192e-05_r8, & + 4.7724029182132126e-05_r8, 5.1874586995826273e-05_r8, & + 5.3666890152606855e-05_r8, 5.5810287307732356e-05_r8, & + 5.6882376985146274e-05_r8, 5.7554229787025445e-05_r8, & + 5.8924348277870004e-05_r8, 6.2091758436831431e-05_r8, & + 6.4064617487717603e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,13) / & + 4.142087432144711e-05_r8, 4.1935924964614068e-05_r8, & + 4.1534940821681906e-05_r8, 4.7423368725861377e-05_r8, & + 4.9415418538586601e-05_r8, 5.2242284269196099e-05_r8, & + 5.5820044540282071e-05_r8, 5.8358375164926312e-05_r8, & + 5.9897563662407811e-05_r8, 6.2487853923085386e-05_r8, & + 6.4817362853556419e-05_r8, 6.9600363214499775e-05_r8, & + 7.3032816462532119e-05_r8, 7.3558868552064881e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,13) / & + 3.449527942436246e-05_r8, 3.5153077551500907e-05_r8, & + 3.1017292245653348e-05_r8, 3.7602151687314378e-05_r8, & + 4.0831586125561439e-05_r8, 4.8104965728519464e-05_r8, & + 5.2585054192242991e-05_r8, 5.531900895715288e-05_r8, & + 5.715230323704011e-05_r8, 6.0064631943222841e-05_r8, & + 6.2409782567675488e-05_r8, 6.6980084731957967e-05_r8, & + 6.8528209557174448e-05_r8, 6.900494452637918e-05_r8, & + 6.1848573133109881e-05_r8, 6.1834649162840376e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,13) / & + 3.3396525345764039e-05_r8, 2.9086443338668029e-05_r8, & + 2.6684806681473624e-05_r8, 3.0788859588567546e-05_r8, & + 3.4253209339218342e-05_r8, 4.0755375293413674e-05_r8, & + 4.8486811445741427e-05_r8, 4.9672659359735188e-05_r8, & + 5.0304818193775018e-05_r8, 5.1535016550467797e-05_r8, & + 5.2422479641436141e-05_r8, 5.4951813907031266e-05_r8, & + 5.7600831104444777e-05_r8, 5.885842363088759e-05_r8, & + 6.0865241094311359e-05_r8, 6.1628349462353993e-05_r8, & + 6.3809251917302934e-05_r8, 6.7003323238255859e-05_r8, & + 7.0496774542400659e-05_r8, 7.3844619063731382e-05_r8, & + 7.9684051806023587e-05_r8, 8.3423868583787296e-05_r8, & + 8.5895006798363511e-05_r8, 9.107384677224305e-05_r8, & + 9.5871011040641184e-05_r8, 0.0001001580794544978_r8, & + 0.00010350202495479238_r8, 0.00010796093360908883_r8, & + 0.00011109513398915222_r8, 0.00011284160549887885_r8, & + 0.00011446862945583331_r8, 0.00011600550413683846_r8, & + 0.00011706161284011021_r8, 0.00011794069085075513_r8, & + 0.00011837882951281607_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,13) / & + 5.3897671956756224e-05_r8, 5.9671714315297015e-05_r8, & + 5.609953332347259e-05_r8, 5.546795417082753e-05_r8, & + 5.4615162007557819e-05_r8, 5.8282459813575686e-05_r8, & + 5.5272453316736317e-05_r8, 5.0346795598898173e-05_r8, & + 5.2997433716071888e-05_r8, 5.483586694342538e-05_r8, & + 5.6045776205476504e-05_r8, 5.7556392060864387e-05_r8, & + 5.9334203190699914e-05_r8, 6.0860571332529786e-05_r8, & + 6.3077991885593008e-05_r8, 6.4275625475050189e-05_r8, & + 6.6682123979642846e-05_r8, 6.8958019646919751e-05_r8, & + 7.1635003747238781e-05_r8, 7.4348676981928131e-05_r8, & + 7.8467124936167619e-05_r8, 8.1927938646612683e-05_r8, & + 8.5212474359155441e-05_r8, 8.99054483226743e-05_r8, & + 9.4381052459643458e-05_r8, 9.8670343721274725e-05_r8, & + 0.00010280954402216218_r8, 0.00010940972986078765_r8, & + 0.00011280789595272463_r8, 0.00011509569667896275_r8, & + 0.00011682986187136605_r8, 0.00011868136875873393_r8, & + 0.00011994188669688722_r8, 0.0001209215591873779_r8, & + 0.00012120316787978676_r8, 0.00012113201339593834_r8, & + 0.00012083434441383915_r8, 0.00012130095433793632_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,13) / & + 7.5579628356942463e-05_r8, 9.6916877322558072e-05_r8, & + 9.468093842346118e-05_r8, 0.00011267901110300466_r8, & + 0.00010898225894841776_r8, 0.00010952531129762597_r8, & + 9.7872997737030162e-05_r8, 6.5434172949514963e-05_r8, & + 6.5549006204675735e-05_r8, 6.6345942870346363e-05_r8, & + 6.6341664149549464e-05_r8, 6.6536666962769005e-05_r8, & + 6.5564373405458691e-05_r8, 6.7276188960012362e-05_r8, & + 6.8701595105198849e-05_r8, 7.0156639640367796e-05_r8, & + 7.105276892020184e-05_r8, 7.2220800695850398e-05_r8, & + 7.4525491486697934e-05_r8, 7.7685687446424085e-05_r8, & + 8.0691691267813164e-05_r8, 8.4295702658537236e-05_r8, & + 8.8317148846782069e-05_r8, 9.2805478005258493e-05_r8, & + 9.8003433656431867e-05_r8, 0.00010238538234508355_r8, & + 0.00010820535421887655_r8, 0.00011743911155458688_r8, & + 0.0001181547768326516_r8, 0.00011854423932766474_r8, & + 0.0001193570061820634_r8, 0.00012048791092858113_r8, & + 0.00012153886618076084_r8, 0.00012168092974377844_r8, & + 0.00012205832744601723_r8, 0.00012251163819072735_r8, & + 0.00012426081108805342_r8, 0.00012456883519012022_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,14) / & + 9.1232303810147907e-05_r8, 9.0735297334992854e-05_r8, & + 8.7882685517368792e-05_r8, 9.2475230235608368e-05_r8, & + 9.5382761757191223e-05_r8, 0.00010399564855535166_r8, & + 0.00012546754323895212_r8, 0.00013820949324878842_r8, & + 0.00015020886038818771_r8, 0.0001629207166571653_r8, & + 0.00016729819432542242_r8, 0.00016988234078237229_r8, & + 0.00017378571939396289_r8, 0.00017724351916714081_r8, & + 0.00018020505874896887_r8, 0.00018220659188706502_r8, & + 0.00018692468142619207_r8, 0.00019279396167061553_r8, & + 0.00020052277173205675_r8, 0.00020749690917466372_r8, & + 0.00021400497723653763_r8, 0.00021992202320522431_r8, & + 0.00022560700244727547_r8, 0.00022962782149680782_r8, & + 0.00023464372763691834_r8, 0.00023988856093667019_r8, & + 0.00024443877055572034_r8, 0.00025225042616364217_r8, & + 0.00025673367516574919_r8, 0.000259069690645632_r8, & + 0.00026013142249774239_r8, 0.00026060441822655208_r8, & + 0.00026068040930047796_r8, 0.00026123584163407132_r8, & + 0.00026097400040052681_r8, 0.0002611160391774126_r8, & + 0.00026106373955857174_r8, 0.00026259724231170211_r8, & + 0.00026347345339691036_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,14) / & + 7.863574653236374e-05_r8, 7.8782732295560419e-05_r8, & + 7.8641091837112928e-05_r8, 7.8839796451377989e-05_r8, & + 8.121140315532376e-05_r8, 8.6126150270857154e-05_r8, & + 0.00010627597665407441_r8, 0.00012276392482513546_r8, & + 0.00013786413009742157_r8, 0.0001523847645003004_r8, & + 0.00016008178174265313_r8, 0.00016446104529989887_r8, & + 0.00017199004594892927_r8, 0.00017558963940468166_r8, & + 0.0001775384148945467_r8, 0.00017877560052159002_r8, & + 0.00018178793755258503_r8, 0.00018555084549691471_r8, & + 0.00019096926699932161_r8, 0.00019593927756498273_r8, & + 0.00020189794614468154_r8, 0.00020660953638298044_r8, & + 0.00021366430200729232_r8, 0.00021719592837221257_r8, & + 0.00022267255437352138_r8, 0.00022767553492443186_r8, & + 0.00023371025357166693_r8, 0.00024515271478154287_r8, & + 0.00025248796712851006_r8, 0.00025691805126184315_r8, & + 0.00026080595404305053_r8, 0.00026310800847382881_r8, & + 0.00026362566052876571_r8, 0.00026455481799320671_r8, & + 0.00026440427863362565_r8, 0.00026397734434750384_r8, & + 0.00026326899928861278_r8, 0.00026373330317440088_r8, & + 0.00026519762615206027_r8, 0.00026586049997670439_r8, & + 0.0002659654531426547_r8, 0.0002670158613536928_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,14) / & + 6.5692250997915398e-05_r8, 6.6657924479071538e-05_r8, & + 6.9984293158522969e-05_r8, 6.1912507496858542e-05_r8, & + 6.2009549697423968e-05_r8, 6.4178338452761783e-05_r8, & + 7.4103295663288156e-05_r8, 9.0753525202061437e-05_r8, & + 0.00010547580150496604_r8, 0.00011766288451401592_r8, & + 0.00012791939679293997_r8, 0.00013727189878504875_r8, & + 0.00015081471347957334_r8, 0.0001594827691847042_r8, & + 0.00016508261137533788_r8, 0.00016492034243939955_r8, & + 0.00016923907226517649_r8, 0.0001703532957196528_r8, & + 0.00017573905739574439_r8, 0.00017926712109004141_r8, & + 0.00018355807525799225_r8, 0.0001869752652928493_r8, & + 0.00019238892872696658_r8, 0.00019644707602046844_r8, & + 0.00020207115811913138_r8, 0.00020715217905987091_r8, & + 0.0002128283079703978_r8, 0.00022651180658158051_r8, & + 0.00023832008680546005_r8, 0.0002465767996298816_r8, & + 0.00025415285760033651_r8, 0.0002603257810729317_r8, & + 0.00026312232201001362_r8, 0.00026503990321837998_r8, & + 0.00026645742574311193_r8, 0.00026622747417539438_r8, & + 0.00026554199987651567_r8, 0.00026557314663511682_r8, & + 0.00026620759322372385_r8, 0.00026635968494992466_r8, & + 0.00026567867723573596_r8, 0.00025792783120355561_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,14) / & + 5.3140365318358425e-05_r8, 5.3821173134426404e-05_r8, & + 5.8705640591251486e-05_r8, 4.7373532560795636e-05_r8, & + 4.6980405598635706e-05_r8, 4.7908656208326307e-05_r8, & + 4.8924013703775183e-05_r8, 5.6743540122557115e-05_r8, & + 6.7382125013325768e-05_r8, 7.6050091075854397e-05_r8, & + 8.2564849698198999e-05_r8, 9.0021059108064483e-05_r8, & + 0.00010717783791112499_r8, 0.00011864391815369791_r8, & + 0.00012882224177371282_r8, 0.00013471820905336488_r8, & + 0.00014516380773272385_r8, 0.00015237044559969915_r8, & + 0.0001580509550441614_r8, 0.00016246871746241199_r8, & + 0.00016559952272518152_r8, 0.00016738514308144595_r8, & + 0.00016949013413046201_r8, 0.00017178855097976583_r8, & + 0.00017501153385486028_r8, 0.00017872980697503411_r8, & + 0.00018222642349357017_r8, 0.00019512653641340022_r8, & + 0.00020912008636838882_r8, 0.00022197258842739201_r8, & + 0.00023441257000347653_r8, 0.00024518233200429194_r8, & + 0.00025420755755525929_r8, 0.00026065299163189335_r8, & + 0.00026593097301572729_r8, 0.00026913800338550741_r8, & + 0.00026902595425180609_r8, 0.00026710983116406094_r8, & + 0.00026663874441092925_r8, 0.00026429179319834142_r8, & + 0.0002635924019705803_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,14) / & + 3.5516465588684065e-05_r8, 3.5485749138484925e-05_r8, & + 3.794585244732672e-05_r8, 2.4485960194902369e-05_r8, & + 2.4711978915558959e-05_r8, 2.4683307592324005e-05_r8, & + 2.5728343831261976e-05_r8, 2.9235378606296705e-05_r8, & + 3.6997707627425899e-05_r8, 4.3357700534208128e-05_r8, & + 4.8868146598414133e-05_r8, 5.3928790408309315e-05_r8, & + 6.5037472197042447e-05_r8, 7.459064586887336e-05_r8, & + 8.3280281584653437e-05_r8, 9.4357461131267629e-05_r8, & + 0.00011214442998431038_r8, 0.0001257431360941124_r8, & + 0.00013432536438162814_r8, 0.0001432007827683685_r8, & + 0.00014978332792705222_r8, 0.00015116017171062465_r8, & + 0.00015328891864466887_r8, 0.00015360431830001517_r8, & + 0.00015454466724485627_r8, 0.00015530689387036785_r8, & + 0.0001554923128616012_r8, 0.00016382758584036818_r8, & + 0.00017507547324781947_r8, 0.00019142714533157884_r8, & + 0.00020732073027729002_r8, 0.00022116337048309792_r8, & + 0.00023483944797109387_r8, 0.00024854616631458996_r8, & + 0.00026174082852459322_r8, 0.00027221783899966889_r8, & + 0.00027756385371316194_r8, 0.00027220839165948633_r8, & + 0.00027270934228561982_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,14) / & + 2.3206943014401702e-05_r8, 2.2890482067968764e-05_r8, & + 2.2355737191323226e-05_r8, 1.3305075130745926e-05_r8, & + 1.3460991931765667e-05_r8, 1.3642619076332587e-05_r8, & + 1.6202715568524283e-05_r8, 1.9569373892196021e-05_r8, & + 2.4825080316123412e-05_r8, 2.8556067342996325e-05_r8, & + 3.2607065389411891e-05_r8, 3.6551862964463495e-05_r8, & + 4.254685057841425e-05_r8, 4.7526967892998163e-05_r8, & + 5.3625916133737275e-05_r8, 6.1760261698520552e-05_r8, & + 7.7556200979840938e-05_r8, 9.5784775863648586e-05_r8, & + 0.00010644536955495313_r8, 0.00011640930077326283_r8, & + 0.00012836059826760814_r8, 0.00013377896193202785_r8, & + 0.00013990318351799624_r8, 0.0001428131119495495_r8, & + 0.00014615918475592771_r8, 0.00014854382543977903_r8, & + 0.00014929157378679614_r8, 0.00015373971488026993_r8, & + 0.00016129968156668132_r8, 0.0001749982606312532_r8, & + 0.0001910419017457305_r8, 0.00020591506935312148_r8, & + 0.00022215744157429493_r8, 0.00023869910031348241_r8, & + 0.00025683888542782444_r8, 0.00027142142489515887_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,14) / & + 1.4492966887209762e-05_r8, 1.416171272189892e-05_r8, & + 1.3438030627892581e-05_r8, 7.6538681219922385e-06_r8, & + 7.6834951732710501e-06_r8, 8.2976501755062788e-06_r8, & + 9.5611552564847607e-06_r8, 1.0824036047509384e-05_r8, & + 1.2434050846582995e-05_r8, 1.3917497646502907e-05_r8, & + 1.6458255778224502e-05_r8, 1.7664488485186446e-05_r8, & + 2.0489720367771493e-05_r8, 2.3060271136957392e-05_r8, & + 2.6874580104753944e-05_r8, 3.0875603354372864e-05_r8, & + 3.6917474084326347e-05_r8, 4.6576251655860792e-05_r8, & + 5.5460897684024663e-05_r8, 6.6368364481847046e-05_r8, & + 7.9556223278456361e-05_r8, 8.7830273137710113e-05_r8, & + 0.00010059235734636603_r8, 0.00011190029657647599_r8, & + 0.00012092914516670752_r8, 0.00012956771717598153_r8, & + 0.0001364381290587481_r8, 0.00014588739491012089_r8, & + 0.00015251730425557144_r8, 0.00015912299010586661_r8, & + 0.00016953067670592088_r8, 0.00018330904019954637_r8, & + 0.00019931265242421734_r8, 0.00021232345555083349_r8, & + 0.00023084018659706699_r8, 0.00024257030415074442_r8, & + 0.00025143379068022156_r8, 0.00025830610206278778_r8, & + 0.0002563166778523157_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,14) / & + 7.3217257315658807e-06_r8, 7.0289218368080937e-06_r8, & + 7.1518994725876815e-06_r8, 5.5550320320228143e-06_r8, & + 5.5905438102362269e-06_r8, 5.9324358104004156e-06_r8, & + 6.456889392895393e-06_r8, 7.0331128475513271e-06_r8, & + 7.7060150905916931e-06_r8, 8.3919031394176471e-06_r8, & + 8.7487155462214162e-06_r8, 8.8818749178038927e-06_r8, & + 9.4678646233887658e-06_r8, 1.0211805400077085e-05_r8, & + 1.1139414367086346e-05_r8, 1.1859068811924384e-05_r8, & + 1.3750795051951126e-05_r8, 1.6915331322969748e-05_r8, & + 2.1486425769679489e-05_r8, 2.8878189559620927e-05_r8, & + 3.923649443683732e-05_r8, 5.024064671488151e-05_r8, & + 6.3165296229430575e-05_r8, 7.8978115719710657e-05_r8, & + 9.2793835901451577e-05_r8, 0.00010709448666458888_r8, & + 0.00012002406581078465_r8, 0.00014087258540647785_r8, & + 0.00015384980431375309_r8, 0.00016083859684352464_r8, & + 0.00016971001266498533_r8, 0.00018087322436220824_r8, & + 0.00019644713990855993_r8, 0.00021155480278004941_r8, & + 0.00023187285795011223_r8, 0.00024407673442597498_r8, & + 0.00025170196438701172_r8, 0.00026155603314428568_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,14) / & + 4.9848479352203006e-06_r8, 4.9020665717420847e-06_r8, & + 5.0890646349276886e-06_r8, 5.2016733415107256e-06_r8, & + 5.1104387728149286e-06_r8, 5.2423733308827477e-06_r8, & + 5.8001180886421511e-06_r8, 6.3356866932649333e-06_r8, & + 6.8075229602514899e-06_r8, 7.3175205369010277e-06_r8, & + 7.6454227490657432e-06_r8, 7.9996773071614968e-06_r8, & + 8.4800781423072274e-06_r8, 8.8348857573225067e-06_r8, & + 9.198420188707485e-06_r8, 9.5479573786818065e-06_r8, & + 1.0599399201376536e-05_r8, 1.2554515418172572e-05_r8, & + 1.6175363342642269e-05_r8, 2.3181154760412707e-05_r8, & + 3.3187015506333704e-05_r8, 4.5971307520005829e-05_r8, & + 6.1259159442624852e-05_r8, 7.9189247217918883e-05_r8, & + 9.6393369102957193e-05_r8, 0.0001126139221936007_r8, & + 0.00012680376069721243_r8, 0.00015109269742237262_r8, & + 0.00016658054329053148_r8, 0.00017684838069805431_r8, & + 0.00018793602366075921_r8, 0.00020348956244271746_r8, & + 0.00021947172122638677_r8, 0.00023216824931278127_r8, & + 0.00024238599456423567_r8, 0.00024833857332934219_r8, & + 0.00025211802809292893_r8, 0.00025823116548793736_r8, & + 0.00026198448994201289_r8, 0.00026152991173193955_r8, & + 0.00026106026442023611_r8, 0.00026363489096815787_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,14) / & + 4.9844624656671003e-06_r8, 4.953539765517002e-06_r8, & + 4.9716554450768626e-06_r8, 5.6083874971444693e-06_r8, & + 5.6163644672763514e-06_r8, 6.0127270816968865e-06_r8, & + 6.2644892676853268e-06_r8, 6.382000248177157e-06_r8, & + 6.6836911240523336e-06_r8, 7.0828040169638688e-06_r8, & + 7.4645365096253598e-06_r8, 8.0030058235956352e-06_r8, & + 8.5209783975768063e-06_r8, 8.8970288724407284e-06_r8, & + 9.1727924761811921e-06_r8, 9.4685838041849805e-06_r8, & + 1.0245294908285085e-05_r8, 1.1881232007432917e-05_r8, & + 1.5716475506183541e-05_r8, 2.3103250595065233e-05_r8, & + 3.5568877609835765e-05_r8, 5.1035436459407849e-05_r8, & + 7.0155607355849677e-05_r8, 8.9709545164251e-05_r8, & + 0.00011004537049557799_r8, 0.00012666749389921722_r8, & + 0.00014066550879804988_r8, 0.00016443658941774943_r8, & + 0.00018114296751099802_r8, 0.00019311862786424987_r8, & + 0.00020631931119160734_r8, 0.00022268661858998174_r8, & + 0.00023712120322886741_r8, 0.00024640293609961064_r8, & + 0.00025282670742964101_r8, 0.00025552773515847502_r8, & + 0.00025728064394760962_r8, 0.00026075051326483213_r8, & + 0.00026357755865198928_r8, 0.00026565499464950381_r8, & + 0.00026547400880101534_r8, 0.00026690386441036921_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,14) / & + 5.8683934975376533e-06_r8, 5.661266179819084e-06_r8, & + 5.5840673769894902e-06_r8, 5.8796150283552053e-06_r8, & + 5.98602592115208e-06_r8, 6.2855017956220458e-06_r8, & + 6.8913839001305543e-06_r8, 7.2020423070546244e-06_r8, & + 7.5445776006523608e-06_r8, 7.9288421248154845e-06_r8, & + 8.2812883527638966e-06_r8, 8.8302088994747534e-06_r8, & + 9.385805568828792e-06_r8, 9.6860969595889852e-06_r8, & + 9.7658831238562197e-06_r8, 9.9956200164819544e-06_r8, & + 1.1042209844817884e-05_r8, 1.3124750344092466e-05_r8, & + 1.7738172626685511e-05_r8, 2.7601497182296342e-05_r8, & + 4.7041656912823989e-05_r8, 7.1282921507939508e-05_r8, & + 9.8045050285930165e-05_r8, 0.00012217160337054281_r8, & + 0.00014253454918737921_r8, 0.0001574526860814363_r8, & + 0.00016856983155810111_r8, 0.00018893742885387114_r8, & + 0.0002081619741244587_r8, 0.0002275822217581738_r8, & + 0.0002460943944614104_r8, 0.00026097738393445451_r8, & + 0.00027178418840460833_r8, 0.00027637940972361809_r8, & + 0.00027745254676692657_r8, 0.00027718060077219802_r8, & + 0.00027668046853732023_r8, 0.0002771775321280109_r8, & + 0.00027871615170562374_r8, 0.00028019332210662266_r8, & + 0.00028019875147631304_r8, 0.00028138591856602987_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,14) / & + 6.2058475991568802e-06_r8, 6.0044166090312666e-06_r8, & + 5.9262582338320895e-06_r8, 6.0578787017810073e-06_r8, & + 6.0817335394189903e-06_r8, 6.1391028707342732e-06_r8, & + 6.8108942512073688e-06_r8, 7.4634423938285307e-06_r8, & + 8.3864928351935153e-06_r8, 9.4675251991441311e-06_r8, & + 1.0672863217130887e-05_r8, 1.1915215877343344e-05_r8, & + 1.3133602582326948e-05_r8, 1.3044468789426961e-05_r8, & + 1.3059340878263923e-05_r8, 1.3070702938808766e-05_r8, & + 1.4140544972938884e-05_r8, 1.8339417078891028e-05_r8, & + 2.896810909571704e-05_r8, 5.0404932603988868e-05_r8, & + 8.1799806800300458e-05_r8, 0.00011620995405730439_r8, & + 0.00014381449419837957_r8, 0.00016508417097772066_r8, & + 0.00017956656407933631_r8, 0.00018924780669340516_r8, & + 0.00019708457292098763_r8, 0.00021745451923536126_r8, & + 0.00023981304886093127_r8, 0.00026042937756053498_r8, & + 0.00027613650097822805_r8, 0.00028701319446305566_r8, & + 0.00029553715184686946_r8, 0.00029892377147739237_r8, & + 0.00029856019648482083_r8, 0.00029603441203882724_r8, & + 0.00029314743655269759_r8, 0.00029202944669543007_r8, & + 0.00029264622703411181_r8, 0.00029322232006762452_r8, & + 0.00029529256277418913_r8, 0.00029531502646522372_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,14) / & + 7.3575253251901163e-06_r8, 7.3772917326303032e-06_r8, & + 7.4708897975806395e-06_r8, 8.0213868055592961e-06_r8, & + 7.9723354670929177e-06_r8, 7.7983762324006592e-06_r8, & + 9.3330036684138802e-06_r8, 1.0414094280784782e-05_r8, & + 1.2321217565352755e-05_r8, 1.4695351553373681e-05_r8, & + 1.6996171559178438e-05_r8, 1.8652594092910134e-05_r8, & + 2.0693361477680742e-05_r8, 2.1829422815459918e-05_r8, & + 2.1869918984001436e-05_r8, 2.2711897600926136e-05_r8, & + 2.7292227596729134e-05_r8, 4.2876275585644604e-05_r8, & + 6.9640188835231649e-05_r8, 0.00010490356945616108_r8, & + 0.00014178013816137274_r8, 0.00016911351035380718_r8, & + 0.00018781763310376072_r8, 0.00019985735220082502_r8, & + 0.00020867516139923547_r8, 0.00021839634554176563_r8, & + 0.00022393717648261558_r8, 0.00024738056621895275_r8, & + 0.00026590128496323912_r8, 0.00028341959517608803_r8, & + 0.00029844453210662361_r8, 0.00030728309462354104_r8, & + 0.00031341672233085627_r8, 0.00031734902486748836_r8, & + 0.00031711005039241198_r8, 0.00031486878716505611_r8, & + 0.00031129054093457229_r8, 0.00030835530466075719_r8, & + 0.00030752715626330355_r8, 0.00030782366584881454_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,14) / & + 9.2244463266123064e-06_r8, 9.3233481818880373e-06_r8, & + 9.1921268290093795e-06_r8, 9.4685383439834814e-06_r8, & + 1.004545782909757e-05_r8, 9.8897262628472855e-06_r8, & + 1.3543918376799612e-05_r8, 1.8062920641527742e-05_r8, & + 2.3109996925358849e-05_r8, 2.7959331563790557e-05_r8, & + 3.1319224260905395e-05_r8, 3.4179075878181741e-05_r8, & + 3.6465662250840027e-05_r8, 3.6695047622817257e-05_r8, & + 3.6807490540244507e-05_r8, 4.0625591450083508e-05_r8, & + 5.5861218009714583e-05_r8, 8.4471656485849241e-05_r8, & + 0.00011803280555323724_r8, 0.00014907944428557023_r8, & + 0.00017782108593270826_r8, 0.00019635541179703595_r8, & + 0.00021066516009576395_r8, 0.00022120562282511736_r8, & + 0.00023146867553353197_r8, 0.00024361178741236545_r8, & + 0.00025017464692359735_r8, 0.00027269167350331045_r8, & + 0.00029085263167131077_r8, 0.00030409697868469569_r8, & + 0.00031726962393600162_r8, 0.0003250151699511564_r8, & + 0.00033021485840670651_r8, 0.00033281033126066962_r8, & + 0.00033249224474312425_r8, 0.00033001664386645818_r8, & + 0.00032701647955014234_r8, 0.00032409416323407256_r8, & + 0.00032168251769882462_r8, 0.00032185859994463228_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,14) / & + 1.1502931802875649e-05_r8, 1.1316600860902278e-05_r8, & + 1.0717866742763364e-05_r8, 1.0712097738085207e-05_r8, & + 1.1755770904778043e-05_r8, 1.2952783619064112e-05_r8, & + 2.0260720649023169e-05_r8, 3.0189631331115331e-05_r8, & + 3.694686756454933e-05_r8, 4.1477109060167753e-05_r8, & + 4.3925607870407781e-05_r8, 4.6294810306896507e-05_r8, & + 4.7571367686189495e-05_r8, 4.8184703248598378e-05_r8, & + 5.1532223651335049e-05_r8, 5.7878435056680816e-05_r8, & + 7.8633940673183896e-05_r8, 0.00010718008419085031_r8, & + 0.00013654782332881882_r8, 0.00016510303446359335_r8, & + 0.0001887585012688188_r8, 0.00020616450096402601_r8, & + 0.00022064111557548735_r8, 0.00023389278687648457_r8, & + 0.00024665978703006887_r8, 0.00025853750745217537_r8, & + 0.00027078428437860339_r8, 0.00029203478090645592_r8, & + 0.00030964585474717445_r8, 0.00032203179053359027_r8, & + 0.00033297955588755665_r8, 0.0003404734329091296_r8, & + 0.00034534873285380204_r8, 0.00034766559546988145_r8, & + 0.00034816363482335032_r8, 0.00034548868559158017_r8, & + 0.00034205201085295387_r8, 0.00033896986684955573_r8, & + 0.00033653113819082591_r8, 0.00033590054773371904_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,14) / & + 1.3447523686965354e-05_r8, 1.2991638391015821e-05_r8, & + 1.2411721542192751e-05_r8, 1.3537724334115944e-05_r8, & + 1.4529394679781408e-05_r8, 1.6464274552813464e-05_r8, & + 2.5746117949279321e-05_r8, 3.6423755677073312e-05_r8, & + 4.3242520364160124e-05_r8, 4.6937348387412541e-05_r8, & + 4.9208507197804711e-05_r8, 5.0920117579867067e-05_r8, & + 5.3033706224551568e-05_r8, 5.5585115499403631e-05_r8, & + 6.0924640026558866e-05_r8, 7.0467430838360906e-05_r8, & + 9.4258842839166465e-05_r8, 0.00012375877463281575_r8, & + 0.00015192425130476156_r8, 0.00017949732737672025_r8, & + 0.00020351438291219153_r8, 0.00022504665976893657_r8, & + 0.0002431660878474024_r8, 0.00025681406806416483_r8, & + 0.0002672874648679176_r8, 0.00027832183491298672_r8, & + 0.00029358900713046643_r8, 0.00031676243997456627_r8, & + 0.00033474999042375908_r8, 0.00034537236133314574_r8, & + 0.0003536468614583627_r8, 0.00036052435216614101_r8, & + 0.0003634589847728982_r8, 0.00036532766330490409_r8, & + 0.00036722068214354393_r8, 0.000367461763180511_r8, & + 0.0003650088823477856_r8, 0.00036537221375955214_r8, & + 0.0003608974504406197_r8, 0.00035867739752271126_r8, & + 0.00035921135514252125_r8, 0.00034655877807389385_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,14) / & + 1.3343590498387088e-05_r8, 1.3296190001388359e-05_r8, & + 1.1907205138567313e-05_r8, 1.3056226501960667e-05_r8, & + 1.3659430366087034e-05_r8, 1.4546871844285598e-05_r8, & + 2.0882895644785707e-05_r8, 3.1528372377386773e-05_r8, & + 3.9800070943062004e-05_r8, 4.5429399615110467e-05_r8, & + 4.9180799975452811e-05_r8, 5.13406266259495e-05_r8, & + 5.3952431476979574e-05_r8, 5.8852924051725977e-05_r8, & + 6.5816241352360008e-05_r8, 7.5519550251950686e-05_r8, & + 0.00010088248955575752_r8, 0.00013220533723207423_r8, & + 0.00016077165322524932_r8, 0.00018833722086887249_r8, & + 0.00021486346234005459_r8, 0.00023946396199253829_r8, & + 0.0002595491308016934_r8, 0.0002762319877585871_r8, & + 0.00028800017842781523_r8, 0.00029846636385308763_r8, & + 0.00031084402342770526_r8, 0.00033522585828438402_r8, & + 0.00035594219505134209_r8, 0.00036901329330388331_r8, & + 0.00037676682497374069_r8, 0.00038109802586850066_r8, & + 0.00038355550494332044_r8, 0.00038650404235056216_r8, & + 0.0003887603734138615_r8, 0.00039058371476130175_r8, & + 0.00039043978893209377_r8, 0.00038856544852238579_r8, & + 0.0003855839164414073_r8, 0.00038259714845879136_r8, & + 0.00038273685721051492_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,14) / & + 1.1742895847933284e-05_r8, 1.1699448079688897e-05_r8, & + 1.0655583816787515e-05_r8, 1.0953560287757367e-05_r8, & + 1.1446914757094115e-05_r8, 1.2017018703928756e-05_r8, & + 1.6249142251492791e-05_r8, 2.664333767917424e-05_r8, & + 3.7087343059564567e-05_r8, 4.5204889945809127e-05_r8, & + 5.1256342359967787e-05_r8, 5.5526488429193788e-05_r8, & + 6.0931627360425751e-05_r8, 6.7002593652323582e-05_r8, & + 7.4716243604526316e-05_r8, 8.5202962442038042e-05_r8, & + 0.00011070532263105398_r8, 0.00014001216944835928_r8, & + 0.00016899071820116954_r8, 0.00019850511796737388_r8, & + 0.0002249275034515871_r8, 0.00024580197184483624_r8, & + 0.00026354318613450118_r8, 0.00028152820583175991_r8, & + 0.00029630174447926324_r8, 0.00031057282205468101_r8, & + 0.00032604404524169732_r8, 0.00035131288537855096_r8, & + 0.00037428823499888148_r8, 0.0003882338881338426_r8, & + 0.0003966309630764564_r8, 0.00040029813645339881_r8, & + 0.00040326207700202557_r8, 0.00040626068542666001_r8, & + 0.00040679110491261721_r8, 0.00040736903237553295_r8, & + 0.00040712108607916504_r8, 0.00040521356206924751_r8, & + 0.0004021801014648223_r8, 0.00039930219695454169_r8, & + 0.00039678753480747934_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,14) / & + 1.148726298635087e-05_r8, 1.0764818921851918e-05_r8, & + 1.0525288270281787e-05_r8, 1.0889911589102566e-05_r8, & + 1.1243971632304073e-05_r8, 1.1805793711308134e-05_r8, & + 1.5592359149451467e-05_r8, 2.2827102168069767e-05_r8, & + 3.4197167002594348e-05_r8, 4.4074628445529772e-05_r8, & + 5.2828360059236756e-05_r8, 5.9926148653752185e-05_r8, & + 6.8754563920365752e-05_r8, 7.7122359735809403e-05_r8, & + 8.5335105484181904e-05_r8, 9.5692342163158881e-05_r8, & + 0.00011909710810831173_r8, 0.00014449297632814268_r8, & + 0.00017026354495139001_r8, 0.00019469243507380625_r8, & + 0.00021873999822819096_r8, 0.00023972787147061203_r8, & + 0.00026061549921101515_r8, 0.00027984522338379446_r8, & + 0.00029852805000780817_r8, 0.00031632783893913635_r8, & + 0.00033456500339862886_r8, 0.00036886197808552116_r8, & + 0.00039398587691473231_r8, 0.00040844570641561574_r8, & + 0.00041555203745118806_r8, 0.00041825490011802212_r8, & + 0.00042012949177773728_r8, 0.0004213141630632575_r8, & + 0.00042096794179751629_r8, 0.00042011328747736782_r8, & + 0.00041914605104038661_r8, 0.00041870294798678929_r8, & + 0.00041824023434216558_r8, 0.00041761244476616898_r8, & + 0.00041345052322420571_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,14) / & + 1.3649258071958244e-05_r8, 1.2582806191007843e-05_r8, & + 1.2805956854013405e-05_r8, 1.4195798282145472e-05_r8, & + 1.4170764269126802e-05_r8, 1.5446640981642205e-05_r8, & + 2.1624615534677775e-05_r8, 3.0471321774414846e-05_r8, & + 4.1204805741195119e-05_r8, 5.2628105924530796e-05_r8, & + 6.0782074941746861e-05_r8, 6.7814902226111921e-05_r8, & + 7.7047680730541322e-05_r8, 8.5368844743390011e-05_r8, & + 9.3569112942234718e-05_r8, 0.00010381159986529875_r8, & + 0.00012322582598953255_r8, 0.00014468704974422117_r8, & + 0.00016681602136873604_r8, 0.00018903764693363765_r8, & + 0.00021206827820959904_r8, 0.00023344189951451854_r8, & + 0.00025773821799480534_r8, 0.00028126613261219294_r8, & + 0.00030275061570780599_r8, 0.00032495297441069085_r8, & + 0.00034500271467343422_r8, 0.00038609497495112441_r8, & + 0.00041576096370194934_r8, 0.0004266864062551638_r8, & + 0.00043548642648743175_r8, 0.00043794341243308008_r8, & + 0.00043885029576897378_r8, 0.00043943052829802055_r8, & + 0.00043899387356458172_r8, 0.00043731083537649655_r8, & + 0.00043623595431214627_r8, 0.00043440047018914753_r8, & + 0.00043444068518354062_r8, 0.00043496005562437785_r8, & + 0.00042920029022269074_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,14) / & + 1.3265458862718692e-05_r8, 1.506639067353419e-05_r8, & + 1.7221765378431443e-05_r8, 1.7636119563491637e-05_r8, & + 1.8743596691602795e-05_r8, 2.1850238119936342e-05_r8, & + 3.5100106836780748e-05_r8, 4.8959554331235811e-05_r8, & + 5.9318578724299369e-05_r8, 6.9225610747909348e-05_r8, & + 7.6373443811105957e-05_r8, 8.2820511722780344e-05_r8, & + 8.9720190519559752e-05_r8, 9.8755715388615668e-05_r8, & + 0.00010588500208652138_r8, 0.00011331091142370799_r8, & + 0.00012863429936315111_r8, 0.0001472454852278122_r8, & + 0.00016649078182980217_r8, 0.00018677885272266499_r8, & + 0.00020778033699251247_r8, 0.00022796377912390247_r8, & + 0.00025639262366816776_r8, 0.00028463685479759735_r8, & + 0.00030997076869589038_r8, 0.00033932959709044911_r8, & + 0.0003687355793177237_r8, 0.00042424743828224805_r8, & + 0.00045208124467575124_r8, 0.00046637197756969624_r8, & + 0.00046552962325068897_r8, 0.00047316988248594127_r8, & + 0.00046040665884736676_r8, 0.00045946970795130674_r8, & + 0.00045533690117447107_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,14) / & + 1.1815746664286612e-05_r8, 1.4977400836223136e-05_r8, & + 1.742463172290402e-05_r8, 1.7317061949485306e-05_r8, & + 1.9385645696726167e-05_r8, 2.3082888091741809e-05_r8, & + 3.8708969475797414e-05_r8, 5.4352585234214799e-05_r8, & + 6.5224884124212465e-05_r8, 7.5302105565331045e-05_r8, & + 8.2757877391084043e-05_r8, 8.8010821494562147e-05_r8, & + 9.4284928276002907e-05_r8, 0.00010508209617072065_r8, & + 0.00011358181668899616_r8, 0.00012111498246303922_r8, & + 0.0001373355090552155_r8, 0.00015929199078998013_r8, & + 0.00018001174959264939_r8, 0.00020057675332727941_r8, & + 0.00022143846314820202_r8, 0.00024243695373432134_r8, & + 0.00027093025606193566_r8, 0.00029783541155193807_r8, & + 0.00032236006055149415_r8, 0.00035079043255021425_r8, & + 0.00038157071675388137_r8, 0.00043369219950745814_r8, & + 0.0004644915060848332_r8, 0.0004849195600377911_r8, & + 0.00049352857168560697_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,14) / & + 8.9461482435854797e-06_r8, 7.6783206685482588e-06_r8, & + 7.5995116205410339e-06_r8, 1.2017722415963125e-05_r8, & + 1.2086913674578296e-05_r8, 1.2930591541005861e-05_r8, & + 1.9819751446671124e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,14) / & + 1.5733268977188704e-05_r8, 1.3560717350779466e-05_r8, & + 1.1654829810909835e-05_r8, 1.8942922655216615e-05_r8, & + 2.1318126760624897e-05_r8, 2.6422279540329454e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,14) / & + 3.9374712344340462e-05_r8, 4.0082291058704184e-05_r8, & + 4.2737102187394086e-05_r8, 4.883960556930035e-05_r8, & + 5.1273379454342041e-05_r8, 5.5746960985748081e-05_r8, & + 5.6110704295454032e-05_r8, 5.8141397171128279e-05_r8, & + 5.9175402949179003e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,14) / & + 4.0319507597230326e-05_r8, 3.9579764310550405e-05_r8, & + 3.8687143327925392e-05_r8, 4.5896296729661359e-05_r8, & + 4.7215093045541806e-05_r8, 5.0028448624982293e-05_r8, & + 5.3752322628735634e-05_r8, 5.6032782616123893e-05_r8, & + 5.7402772231296667e-05_r8, 6.1054802045994481e-05_r8, & + 6.3813709831492203e-05_r8, 6.8533991298846695e-05_r8, & + 7.1740384223204821e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,14) / & + 3.1558790721711271e-05_r8, 3.1124071930040153e-05_r8, & + 2.8436477669999746e-05_r8, 3.6311564611303822e-05_r8, & + 3.9601595704003828e-05_r8, 4.7162359286223494e-05_r8, & + 5.1673113213063895e-05_r8, 5.4216637777937264e-05_r8, & + 5.5612471018977892e-05_r8, 5.8282741405378661e-05_r8, & + 5.9904419879075506e-05_r8, 6.4389932731147875e-05_r8, & + 6.9503985009105492e-05_r8, 7.1474253781115331e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,14) / & + 3.1463688011833893e-05_r8, 2.7255380864427062e-05_r8, & + 2.6332008823284407e-05_r8, 3.0868055975981354e-05_r8, & + 3.5015986557998038e-05_r8, 4.3527176282492691e-05_r8, & + 5.0319972294072644e-05_r8, 5.1215132254929817e-05_r8, & + 5.1268070462061605e-05_r8, 5.1986845134636976e-05_r8, & + 5.2695449857820912e-05_r8, 5.5080227002772436e-05_r8, & + 5.7610821082192179e-05_r8, 5.9410533962119687e-05_r8, & + 6.1270695267733768e-05_r8, 6.2036158962638246e-05_r8, & + 6.433304261916366e-05_r8, 6.6845013020801439e-05_r8, & + 7.0346533924783977e-05_r8, 7.3701218521708261e-05_r8, & + 7.9333845068206948e-05_r8, 8.3400286340861498e-05_r8, & + 8.5720340228162849e-05_r8, 9.0648110837495815e-05_r8, & + 9.5813490202101471e-05_r8, 0.0001001941791819489_r8, & + 0.00010366840857384575_r8, 0.00010787181257163385_r8, & + 0.00011099605249484574_r8, 0.00011286623292874509_r8, & + 0.00011451193693611314_r8, 0.00011608411348125901_r8, & + 0.00011705176695047661_r8, 0.0001178860030815409_r8, & + 0.00011825528092056765_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,14) / & + 5.1621847187665722e-05_r8, 5.7522021222427023e-05_r8, & + 5.5015902428550128e-05_r8, 5.4128250598832248e-05_r8, & + 5.3472170467846299e-05_r8, 5.77291162457269e-05_r8, & + 5.4613946492289249e-05_r8, 5.0529625602815601e-05_r8, & + 5.3196448289156586e-05_r8, 5.4924165221784921e-05_r8, & + 5.602230752961435e-05_r8, 5.7629853471727183e-05_r8, & + 5.9365625970780491e-05_r8, 6.1019284375692909e-05_r8, & + 6.3126558372097547e-05_r8, 6.4330185383805816e-05_r8, & + 6.6823023244089684e-05_r8, 6.8891054073936275e-05_r8, & + 7.1617881809750439e-05_r8, 7.4430486799151842e-05_r8, & + 7.8493092820690785e-05_r8, 8.2122875209419583e-05_r8, & + 8.5260032416660102e-05_r8, 8.9953668860940888e-05_r8, & + 9.4583008043385984e-05_r8, 9.8990410376113068e-05_r8, & + 0.00010321914505334309_r8, 0.00010954306106563151_r8, & + 0.00011281939251217279_r8, 0.00011511472278906556_r8, & + 0.00011682156125991383_r8, 0.00011871275172018844_r8, & + 0.0001199224581416791_r8, 0.00012084085144621142_r8, & + 0.00012108932222482143_r8, 0.0001210811085987054_r8, & + 0.00012086687212313909_r8, 0.00012130045679260337_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,14) / & + 7.4703188232640364e-05_r8, 9.629772391487614e-05_r8, & + 9.4230359656352603e-05_r8, 0.00011178018105330533_r8, & + 0.00010737768248355216_r8, 0.00010760848782711389_r8, & + 9.7015502959259492e-05_r8, 6.4685112591537488e-05_r8, & + 6.5586122545464761e-05_r8, 6.6279539571608144e-05_r8, & + 6.6394633089497481e-05_r8, 6.6517575933636787e-05_r8, & + 6.5529733680656785e-05_r8, 6.721461794754197e-05_r8, & + 6.8661732408958486e-05_r8, 7.0122167039619038e-05_r8, & + 7.1066063748318663e-05_r8, 7.2218312085667156e-05_r8, & + 7.452161886341135e-05_r8, 7.7697539946953669e-05_r8, & + 8.0695575454209619e-05_r8, 8.4324746121348517e-05_r8, & + 8.8301264136887418e-05_r8, 9.2801453817161741e-05_r8, & + 9.8040228563564861e-05_r8, 0.00010255412276525115_r8, & + 0.00010830937933016242_r8, 0.00011750342006842666_r8, & + 0.00011813363440117543_r8, 0.00011853239365390397_r8, & + 0.00011930196689381207_r8, 0.00012045406133862526_r8, & + 0.00012140275724329148_r8, 0.00012167767460187692_r8, & + 0.00012204760347027593_r8, 0.00012250765628392109_r8, & + 0.00012426078518602027_r8, 0.00012456871768268035_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,15) / & + 8.4610623140548823e-05_r8, 8.4637434464995132e-05_r8, & + 8.3587301935211409e-05_r8, 8.876463309093801e-05_r8, & + 9.1877149805575728e-05_r8, 0.00010106413376770352_r8, & + 0.00012373467034145196_r8, 0.00013859821217748292_r8, & + 0.00015206058174435565_r8, 0.00016037424016266763_r8, & + 0.00016412080818044731_r8, 0.00016711212663743949_r8, & + 0.00017220231520842047_r8, 0.00017485627570871794_r8, & + 0.00017662738534645191_r8, 0.00017859005910574101_r8, & + 0.00018316288916683769_r8, 0.00018811032824752412_r8, & + 0.00019523111142463669_r8, 0.00020033533675614554_r8, & + 0.00020783041660078275_r8, 0.00021532705748487211_r8, & + 0.00022142037051881228_r8, 0.00022584637913763243_r8, & + 0.00022999405598786676_r8, 0.00023476247947502439_r8, & + 0.00023872923748328721_r8, 0.00024781037034034005_r8, & + 0.00025436330559682998_r8, 0.00025773937273607193_r8, & + 0.00025973514988376277_r8, 0.00026054155732851178_r8, & + 0.00026074862253235178_r8, 0.00026173477705530808_r8, & + 0.00026138599742241034_r8, 0.00026177705561075817_r8, & + 0.00026251057736828104_r8, 0.00026534536833458473_r8, & + 0.00026593266312589494_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,15) / & + 7.4942456868790279e-05_r8, 7.523058037046391e-05_r8, & + 7.5666369193906611e-05_r8, 7.8137095945778097e-05_r8, & + 8.0256078101177434e-05_r8, 8.5681766244284109e-05_r8, & + 0.00010412606574936098_r8, 0.00012004306819685516_r8, & + 0.00013638314755540974_r8, 0.00014826297628495335_r8, & + 0.00015594276739473132_r8, 0.0001609784677199362_r8, & + 0.00016917639941732495_r8, 0.00017252875316363988_r8, & + 0.00017427217611024935_r8, 0.0001755745895458703_r8, & + 0.0001784604808813148_r8, 0.00018129061107229424_r8, & + 0.00018575787896955726_r8, 0.00018965062669461369_r8, & + 0.00019503480679681736_r8, 0.00020062023057697864_r8, & + 0.00020775101096817347_r8, 0.00021175956518465521_r8, & + 0.00021752578694101879_r8, 0.00022292009451686302_r8, & + 0.0002281158809359029_r8, 0.00023994168663190606_r8, & + 0.00024890920037067471_r8, 0.0002551815447197824_r8, & + 0.00026033873478180602_r8, 0.00026351960494212415_r8, & + 0.00026422281498543032_r8, 0.00026558914624864085_r8, & + 0.00026612010333649475_r8, 0.00026627446828136843_r8, & + 0.00026635843831443766_r8, 0.00026786970725107146_r8, & + 0.00026830288316715805_r8, 0.00026784295216683834_r8, & + 0.00026725926363369576_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,15) / & + 5.875421940857429e-05_r8, 5.9540762934408367e-05_r8, & + 6.2206296581833196e-05_r8, 6.2836305291982293e-05_r8, & + 6.3886197517480146e-05_r8, 6.3386134694769165e-05_r8, & + 6.9654343939210304e-05_r8, 8.2915724295688694e-05_r8, & + 9.7407948336200771e-05_r8, 0.00010888913018057897_r8, & + 0.00011816029472018801_r8, 0.00012940629733703538_r8, & + 0.00014539535969629503_r8, 0.0001543658603985614_r8, & + 0.00016031765294844021_r8, 0.00016182807315157031_r8, & + 0.00016651339808341985_r8, 0.00016754122497372693_r8, & + 0.00017191726439474031_r8, 0.00017529146503259986_r8, & + 0.00017914999828115398_r8, 0.00018287797711567935_r8, & + 0.00018702288479909118_r8, 0.00018986695801877273_r8, & + 0.0001950571659581503_r8, 0.00020023367641866071_r8, & + 0.0002059225225299875_r8, 0.0002202010787638286_r8, & + 0.00023289990781365401_r8, 0.00024290726812031027_r8, & + 0.00025182697163310793_r8, 0.00025896764551167751_r8, & + 0.00026348083527275474_r8, 0.00026518972722403147_r8, & + 0.00026733636676266653_r8, 0.00026786960205320667_r8, & + 0.0002675518544084447_r8, 0.00026775713702716645_r8, & + 0.00026889289760801159_r8, 0.00026838921091467728_r8, & + 0.00026672353071833182_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,15) / & + 4.370344490500979e-05_r8, 4.4029029870382333e-05_r8, & + 4.7086459774161061e-05_r8, 4.5771420112037321e-05_r8, & + 4.5301611820890492e-05_r8, 4.452677911953265e-05_r8, & + 4.4970798882311132e-05_r8, 5.0325988247999557e-05_r8, & + 5.9496112931543255e-05_r8, 6.8704345911943998e-05_r8, & + 7.4953633629382834e-05_r8, 8.3089069334268311e-05_r8, & + 0.00010119558361510271_r8, 0.00011382987813370931_r8, & + 0.00012402350262055215_r8, 0.00013043057468407494_r8, & + 0.00014009318620381494_r8, 0.00014881879150061204_r8, & + 0.00015371849293411321_r8, 0.00015805065537486957_r8, & + 0.00016172014622474996_r8, 0.00016415617661624622_r8, & + 0.00016622799326251016_r8, 0.0001681734683767592_r8, & + 0.00017105446834353604_r8, 0.00017423315197868632_r8, & + 0.00017746591643149213_r8, 0.00018942050657350381_r8, & + 0.00020288780813443758_r8, 0.00021680678439841148_r8, & + 0.00023012482833798995_r8, 0.00024226997600459711_r8, & + 0.00025299911504367468_r8, 0.00026116712366185542_r8, & + 0.00026674389223277481_r8, 0.0002703240887071_r8, & + 0.00027020069396136456_r8, 0.00026899391474505035_r8, & + 0.00026926251101091711_r8, 0.0002653329066635478_r8, & + 0.00026424062042470852_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,15) / & + 2.9700117234251736e-05_r8, 2.9247717744287713e-05_r8, & + 3.179205529991292e-05_r8, 2.2751574801569182e-05_r8, & + 2.2894328369474002e-05_r8, 2.2927591826959363e-05_r8, & + 2.3647096211663422e-05_r8, 2.7041521693868454e-05_r8, & + 3.4281735775010722e-05_r8, 4.1016937268689691e-05_r8, & + 4.6131837749997767e-05_r8, 5.0420533294011858e-05_r8, & + 6.1772943167171266e-05_r8, 7.2686717741645308e-05_r8, & + 8.1202233065997355e-05_r8, 9.099753992108131e-05_r8, & + 0.00010778136856918883_r8, 0.00012323063122156379_r8, & + 0.0001323259881070872_r8, 0.00014040227349502142_r8, & + 0.00014608937239070859_r8, 0.00014858469470979143_r8, & + 0.00015142992635647204_r8, 0.00015232058495972907_r8, & + 0.00015371578668338287_r8, 0.00015523740562280793_r8, & + 0.00015685198113906071_r8, 0.00016433513173458233_r8, & + 0.00017512804212065574_r8, 0.00019022918651538071_r8, & + 0.00020670170323060463_r8, 0.00022198315865731529_r8, & + 0.0002364998282209972_r8, 0.00025146060148197112_r8, & + 0.00026381180948343718_r8, 0.00027251190274877631_r8, & + 0.000279609355094311_r8, 0.00027855001912086388_r8, & + 0.00027331979193631433_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,15) / & + 2.3582846930685772e-05_r8, 2.2960721604347734e-05_r8, & + 2.4121400774996494e-05_r8, 1.0827686004182059e-05_r8, & + 1.0614362071155501e-05_r8, 1.0938362075696407e-05_r8, & + 1.2622520135201488e-05_r8, 1.5110509311400247e-05_r8, & + 2.0094062161696351e-05_r8, 2.3703390104591862e-05_r8, & + 2.7508919902412092e-05_r8, 3.020426560455442e-05_r8, & + 3.5150097085671554e-05_r8, 4.1479986890464668e-05_r8, & + 4.6362292683942533e-05_r8, 5.3856873415241872e-05_r8, & + 6.5411016811812739e-05_r8, 7.8170680922950571e-05_r8, & + 9.0055690696686834e-05_r8, 0.00010226540937221673_r8, & + 0.00011414965306450024_r8, 0.00011945568553802023_r8, & + 0.00012630090161527279_r8, 0.00013209678273022485_r8, & + 0.00013746184605671028_r8, 0.00014218949234794226_r8, & + 0.00014563619868732217_r8, 0.00015231286597205146_r8, & + 0.00015910065729802771_r8, 0.0001701483464220231_r8, & + 0.00018409701774095468_r8, 0.00020013774113096449_r8, & + 0.00021717395182624686_r8, 0.00023354666946049198_r8, & + 0.00025011239053057775_r8, 0.00026146377254707191_r8, & + 0.00027089474598636202_r8, 0.00027582823759026744_r8, & + 0.00027597185341467055_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,15) / & + 1.5463836954311782e-05_r8, 1.5245581859339817e-05_r8, & + 1.5659891676039619e-05_r8, 7.2188671529630713e-06_r8, & + 7.177616410770427e-06_r8, 8.043537367092722e-06_r8, & + 8.6721961321045905e-06_r8, 9.0963335591242986e-06_r8, & + 9.8465949557190906e-06_r8, 1.0540788803282055e-05_r8, & + 1.1712914828003887e-05_r8, 1.2497324985062318e-05_r8, & + 1.3519434105100002e-05_r8, 1.5896311689827521e-05_r8, & + 1.7414917521843692e-05_r8, 2.0557407183328677e-05_r8, & + 2.381587141548236e-05_r8, 2.8818191315330885e-05_r8, & + 3.6458378431155298e-05_r8, 4.6320273757701096e-05_r8, & + 5.696257193636135e-05_r8, 6.5215565544276332e-05_r8, & + 7.4890694229231606e-05_r8, 8.7901941137851568e-05_r8, & + 9.9972717514211008e-05_r8, 0.00011233928740512908_r8, & + 0.00012394954132100477_r8, 0.00014420936479623349_r8, & + 0.00015376521419526766_r8, 0.00016057285456695737_r8, & + 0.00016979490952975082_r8, 0.00018303294516814803_r8, & + 0.00019902673113155692_r8, 0.00021587501691782307_r8, & + 0.00023548828592810097_r8, 0.00024817460716962132_r8, & + 0.0002612077552529251_r8, 0.00026841772496295237_r8, & + 0.00027265456855969368_r8, 0.00027247685685338166_r8, & + 0.00027464039722193442_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,15) / & + 6.4952996914018571e-06_r8, 6.4624091591449655e-06_r8, & + 6.8003305096505098e-06_r8, 5.8439069052801121e-06_r8, & + 5.8799258580047754e-06_r8, 6.4258879775334483e-06_r8, & + 6.9155878276793385e-06_r8, 7.2666762361536653e-06_r8, & + 7.5545460739276578e-06_r8, 7.9069213497726989e-06_r8, & + 8.0049610836791324e-06_r8, 8.3219892364901818e-06_r8, & + 8.9178916189603478e-06_r8, 9.3933712264462789e-06_r8, & + 9.7333780797525655e-06_r8, 1.0193633925944067e-05_r8, & + 1.0907701325708934e-05_r8, 1.3300625601672169e-05_r8, & + 1.7171947273067202e-05_r8, 2.3357521378304208e-05_r8, & + 3.3506083532058326e-05_r8, 4.3853042660765547e-05_r8, & + 5.5403241538766843e-05_r8, 7.03269670912895e-05_r8, & + 8.5033854847820918e-05_r8, 0.00010045483005091324_r8, & + 0.00011560233296568442_r8, 0.00014333324896291863_r8, & + 0.00015847089582703966_r8, 0.00016878708245258593_r8, & + 0.00017882514739384493_r8, 0.0001904415014875621_r8, & + 0.00020386372367005339_r8, 0.00021920216870089144_r8, & + 0.00023689467651807574_r8, 0.00025008576729383604_r8, & + 0.00026028897007643765_r8, 0.00026683712235941461_r8, & + 0.00027307857653105483_r8, 0.00027414910116043838_r8, & + 0.00027386429301981237_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,15) / & + 4.373727368439026e-06_r8, 4.4186521954767678e-06_r8, & + 4.6201273155150199e-06_r8, 5.6265256839644261e-06_r8, & + 5.6493367328143046e-06_r8, 5.8891071099338084e-06_r8, & + 6.3863938864884488e-06_r8, 6.6589963530897693e-06_r8, & + 6.9239812785117055e-06_r8, 7.1809707867218788e-06_r8, & + 7.3888529604802009e-06_r8, 7.7211863992037565e-06_r8, & + 8.2713929599394829e-06_r8, 8.66383340147524e-06_r8, & + 8.9470805752853821e-06_r8, 9.1760232673072651e-06_r8, & + 1.0141451302503387e-05_r8, 1.2132892898695613e-05_r8, & + 1.6129018244298204e-05_r8, 2.2981243888361688e-05_r8, & + 3.346594992947226e-05_r8, 4.6798706625825353e-05_r8, & + 6.2673432603350333e-05_r8, 7.9915991606016357e-05_r8, & + 9.6612903151920807e-05_r8, 0.00011270490845522986_r8, & + 0.00012774049518031661_r8, 0.00015343087674075007_r8, & + 0.00017024754685712707_r8, 0.00018411724408543451_r8, & + 0.00019695049653089232_r8, 0.00021014617919620581_r8, & + 0.00022184551319480173_r8, 0.00023287376438037996_r8, & + 0.00024212211582458589_r8, 0.00024941577013902873_r8, & + 0.00025792017398138726_r8, 0.00026594466309582402_r8, & + 0.00027349350335476979_r8, 0.00027430691799268977_r8, & + 0.00027523917537657062_r8, 0.0002760128036465084_r8, & + 0.0002760128036465084_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,15) / & + 4.954882070221833e-06_r8, 5.0914331327038882e-06_r8, & + 5.2461366251280144e-06_r8, 5.7995855722546546e-06_r8, & + 5.7940758429442888e-06_r8, 6.0761142748611759e-06_r8, & + 6.2791453299513096e-06_r8, 6.4413274042748177e-06_r8, & + 6.676794372178439e-06_r8, 7.0029588083582833e-06_r8, & + 7.3217726139322483e-06_r8, 7.9073731479773498e-06_r8, & + 8.6625458808614817e-06_r8, 9.2037160357916924e-06_r8, & + 9.4124987426592008e-06_r8, 9.4953485516276777e-06_r8, & + 1.0624997644325257e-05_r8, 1.1810545204913179e-05_r8, & + 1.5476339083614816e-05_r8, 2.3595786164444393e-05_r8, & + 3.5769192547589956e-05_r8, 5.1596148487302347e-05_r8, & + 7.146458944422854e-05_r8, 9.1800614527286461e-05_r8, & + 0.00011154798244219759_r8, 0.0001284076908374282_r8, & + 0.00014247287102964093_r8, 0.00016758863404296628_r8, & + 0.00018465774585172732_r8, 0.000197793733313032_r8, & + 0.00021339152414891617_r8, 0.00022848857711110635_r8, & + 0.00024020965520995657_r8, 0.00024746944469110967_r8, & + 0.00025241012098729712_r8, 0.00025533774620652806_r8, & + 0.00025828168612767395_r8, 0.00026259776435965228_r8, & + 0.00026519639828812106_r8, 0.00026711959509737086_r8, & + 0.00026865006087628296_r8, 0.00026918576107771861_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,15) / & + 6.1032092212901898e-06_r8, 6.240360047045523e-06_r8, & + 6.3834795692166971e-06_r8, 6.0405465397170028e-06_r8, & + 6.0546800826159642e-06_r8, 6.1876414950544474e-06_r8, & + 6.844355328279779e-06_r8, 7.0529668049603189e-06_r8, & + 7.3206469129022406e-06_r8, 7.5914315045742729e-06_r8, & + 7.7756986790359649e-06_r8, 8.3520200690806686e-06_r8, & + 9.1970874635775896e-06_r8, 9.4581365453100099e-06_r8, & + 9.7169281486232063e-06_r8, 1.0003171133962679e-05_r8, & + 1.1141981986747409e-05_r8, 1.2594654311423539e-05_r8, & + 1.6460821812719108e-05_r8, 2.7533217926629883e-05_r8, & + 4.5677336058830554e-05_r8, 7.0037830043484704e-05_r8, & + 9.7524932317539167e-05_r8, 0.00012277065109963362_r8, & + 0.00014277088576799003_r8, 0.0001574775650531743_r8, & + 0.00016902590007880392_r8, 0.00019177813217616347_r8, & + 0.00021061358199907015_r8, 0.0002283592245642979_r8, & + 0.00024642738437354088_r8, 0.00026078875047897933_r8, & + 0.00026916869698502565_r8, 0.00027444692384408638_r8, & + 0.00027636276568675992_r8, 0.00027709645127428287_r8, & + 0.00027722431447732641_r8, 0.00027748882902786935_r8, & + 0.00027869729366434355_r8, 0.00028020380535340774_r8, & + 0.00028265264129605493_r8, 0.00028265997985262606_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,15) / & + 6.7673035355162778e-06_r8, 6.7956213367027698e-06_r8, & + 6.9768383585532737e-06_r8, 6.6815199683928047e-06_r8, & + 6.6538751577247539e-06_r8, 6.7216237751217031e-06_r8, & + 7.4649109037257714e-06_r8, 7.578218343806343e-06_r8, & + 8.4945666102046209e-06_r8, 9.3842740775254238e-06_r8, & + 1.0140024130819521e-05_r8, 1.1271130141755748e-05_r8, & + 1.2418729320550538e-05_r8, 1.1852965107801918e-05_r8, & + 1.1489354202426746e-05_r8, 1.1641351681285916e-05_r8, & + 1.2746297979588046e-05_r8, 1.7362160460174554e-05_r8, & + 2.9953626925997345e-05_r8, 5.3186134759739692e-05_r8, & + 8.4175001609509834e-05_r8, 0.00011630766411924901_r8, & + 0.00014480192724783389_r8, 0.00016618534222440529_r8, & + 0.00018139069934944719_r8, 0.0001917914554937513_r8, & + 0.00020074274727446267_r8, 0.0002221211039349106_r8, & + 0.00024190581029887037_r8, 0.0002596622324162673_r8, & + 0.00027434583287391616_r8, 0.00028532813952206079_r8, & + 0.00029211488069074744_r8, 0.00029584140182847504_r8, & + 0.0002967102931985756_r8, 0.00029568583747338444_r8, & + 0.00029410993929844737_r8, 0.00029205511249426471_r8, & + 0.0002922312231569403_r8, 0.00029305448551493604_r8, & + 0.00029642078940361039_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,15) / & + 8.4167535617895152e-06_r8, 8.5093027556294343e-06_r8, & + 8.9483866697157551e-06_r8, 8.4602464843921385e-06_r8, & + 8.4907813613568521e-06_r8, 8.6685232699197487e-06_r8, & + 1.0614035213761322e-05_r8, 1.173929553803593e-05_r8, & + 1.3757203997049176e-05_r8, 1.6257195571713846e-05_r8, & + 1.8515067276173928e-05_r8, 2.0698712103624938e-05_r8, & + 2.264260233533981e-05_r8, 2.433588838278834e-05_r8, & + 2.3975713815473171e-05_r8, 2.4273084942718549e-05_r8, & + 2.6310886696855474e-05_r8, 4.2634776479576226e-05_r8, & + 7.4498887356657124e-05_r8, 0.00011198506271879529_r8, & + 0.00014820801302991031_r8, 0.00017561832936902587_r8, & + 0.00019224904805459453_r8, 0.00020412180956459492_r8, & + 0.00021331456354441132_r8, 0.00022144817896895775_r8, & + 0.00022891898148421654_r8, 0.00025170401332493252_r8, & + 0.00027304574240147555_r8, 0.00028735082958877644_r8, & + 0.00030032865228362586_r8, 0.00030842177036454756_r8, & + 0.00031395566881052133_r8, 0.00031762205748461184_r8, & + 0.00031834596393935248_r8, 0.00031693355161115024_r8, & + 0.00031385716813740294_r8, 0.0003114544190353461_r8, & + 0.00030873091587500833_r8, 0.00030807469034446224_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,15) / & + 1.003775002758637e-05_r8, 1.0387897558607657e-05_r8, & + 1.0832293598165227e-05_r8, 1.0522070364959927e-05_r8, & + 1.0878360961450415e-05_r8, 1.1385477203916131e-05_r8, & + 1.5423334718048804e-05_r8, 2.0624024733863799e-05_r8, & + 2.6035695287515497e-05_r8, 3.0850688608440503e-05_r8, & + 3.4684473858669678e-05_r8, 3.8587342702216623e-05_r8, & + 4.0363747946852232e-05_r8, 4.1913488885779248e-05_r8, & + 4.2551668963927587e-05_r8, 4.3756264687527036e-05_r8, & + 5.1127065377138951e-05_r8, 7.7142551226036185e-05_r8, & + 0.00011503259256737568_r8, 0.00014941521658072719_r8, & + 0.0001777999758971387_r8, 0.00019899982165228478_r8, & + 0.00021438131817614353_r8, 0.00022733831308110192_r8, & + 0.00023870879970085414_r8, 0.00024998954511316489_r8, & + 0.00025784649227869594_r8, 0.00027926063337334783_r8, & + 0.0002980381502605716_r8, 0.00030958392409021049_r8, & + 0.00032241708713301432_r8, 0.00032876896074055656_r8, & + 0.00033249860781263022_r8, 0.00033511444037794799_r8, & + 0.00033532057619134979_r8, 0.00033330992302784497_r8, & + 0.00032863503464389352_r8, 0.00032608204253162237_r8, & + 0.00032226626458534613_r8, 0.00032185859994463228_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,15) / & + 1.2056053974485191e-05_r8, 1.2287952302044716e-05_r8, & + 1.2262334100816769e-05_r8, 1.3559863912283257e-05_r8, & + 1.4642683362156965e-05_r8, 1.5715039168303019e-05_r8, & + 2.4077078216218662e-05_r8, 3.4349708011830437e-05_r8, & + 4.1303982021969142e-05_r8, 4.6143614123003599e-05_r8, & + 4.8834711325501391e-05_r8, 5.1254054768225729e-05_r8, & + 5.1510278734432751e-05_r8, 5.2192325611598452e-05_r8, & + 5.5554210833009929e-05_r8, 6.0960787875813309e-05_r8, & + 8.099073044253714e-05_r8, 0.00011068307573750058_r8, & + 0.00014276278468898537_r8, 0.00017357272677425188_r8, & + 0.00019820945438826922_r8, 0.00021699371340455124_r8, & + 0.00023096908244143896_r8, 0.00024498649629280041_r8, & + 0.00025836915151265712_r8, 0.00027033849167762381_r8, & + 0.00028035848147085155_r8, 0.00029857408430336428_r8, & + 0.00031684616059674025_r8, 0.00032753996943128455_r8, & + 0.00033871469652657459_r8, 0.00034458399888760607_r8, & + 0.00034805341590506313_r8, 0.00035039713087246387_r8, & + 0.00035063049919182399_r8, 0.00034816224053647063_r8, & + 0.00034297176688871911_r8, 0.00034022815150479854_r8, & + 0.00033634630713751741_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,15) / & + 1.4223676752582292e-05_r8, 1.4114654076617154e-05_r8, & + 1.3868517481137675e-05_r8, 1.6499423540383903e-05_r8, & + 1.72357830964508e-05_r8, 1.9242439678784859e-05_r8, & + 3.0389475898815587e-05_r8, 4.1470395802022404e-05_r8, & + 4.7662581319994094e-05_r8, 5.1511269696582499e-05_r8, & + 5.351023343559317e-05_r8, 5.464154097600128e-05_r8, & + 5.6170822476013659e-05_r8, 5.8491121363236849e-05_r8, & + 6.341316912448705e-05_r8, 7.2547562034524452e-05_r8, & + 9.8431464286199798e-05_r8, 0.00013126653856922435_r8, & + 0.00016160478392615875_r8, 0.00019033826713794801_r8, & + 0.00021184890385296935_r8, 0.00022978881884026234_r8, & + 0.00024555999177371097_r8, 0.00026108130372925727_r8, & + 0.00027177824640707733_r8, 0.00028435257311310079_r8, & + 0.00029623866883812068_r8, 0.00031549913170435403_r8, & + 0.0003346500499286165_r8, 0.00034477259826136533_r8, & + 0.00035430807399380816_r8, 0.00036051716984819077_r8, & + 0.00036211715213939908_r8, 0.00036350731491709311_r8, & + 0.00036587084019775183_r8, 0.00036589172593530294_r8, & + 0.00036734101691007483_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,15) / & + 1.420961256921302e-05_r8, 1.3938912997270718e-05_r8, & + 1.2957196936970312e-05_r8, 1.4206160500794442e-05_r8, & + 1.4620317510233539e-05_r8, 1.5550962365999122e-05_r8, & + 2.2677067102021232e-05_r8, 3.4239551381368964e-05_r8, & + 4.2755320873382233e-05_r8, 4.8223689201633768e-05_r8, & + 5.187114858398197e-05_r8, 5.4123990541658161e-05_r8, & + 5.7090868596335744e-05_r8, 6.2730125451306479e-05_r8, & + 6.9291894056182344e-05_r8, 7.7845189237370685e-05_r8, & + 0.00010164201937455601_r8, 0.00013573474016459309_r8, & + 0.00016579703219344748_r8, 0.00019453375829925771_r8, & + 0.0002165400723975128_r8, 0.00023631964640708316_r8, & + 0.00025395061468589254_r8, 0.00027101287375822316_r8, & + 0.00028371171042170846_r8, 0.00029736571899350011_r8, & + 0.00030831409264910119_r8, 0.00033221932053938835_r8, & + 0.0003521174226300239_r8, 0.00036512035804565012_r8, & + 0.00037389731012673396_r8, 0.0003786496954423632_r8, & + 0.00038008660294304138_r8, 0.00038241084491237712_r8, & + 0.00038546193721000852_r8, 0.0003885525650685414_r8, & + 0.00039010875814958712_r8, 0.00038979517479412662_r8, & + 0.00038857987930975392_r8, 0.00038392659141382572_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,15) / & + 1.2062230563471217e-05_r8, 1.1811129621876639e-05_r8, & + 1.0800613764726375e-05_r8, 1.1522578475494486e-05_r8, & + 1.1681746781579258e-05_r8, 1.2560527081740997e-05_r8, & + 1.7852175700996556e-05_r8, 2.9654490421125071e-05_r8, & + 4.0640210967873654e-05_r8, 4.8765072187382717e-05_r8, & + 5.4264813988640991e-05_r8, 5.8687326404862403e-05_r8, & + 6.4195144219055702e-05_r8, 7.1476773161178775e-05_r8, & + 7.9835047669154659e-05_r8, 9.0280156246161012e-05_r8, & + 0.00010978015711715415_r8, 0.0001415538830848773_r8, & + 0.0001706200557655955_r8, 0.00019983448423066975_r8, & + 0.00022283591269144234_r8, 0.00024116139412799195_r8, & + 0.00025940560743424433_r8, 0.0002766966862856649_r8, & + 0.00029272001644102525_r8, 0.00030773395476644996_r8, & + 0.00032137768907652508_r8, 0.00034932094428523044_r8, & + 0.00036985312143887725_r8, 0.00038361873983428911_r8, & + 0.00039302057699725906_r8, 0.00039828992134810742_r8, & + 0.00040035996928998674_r8, 0.00040257537423496139_r8, & + 0.00040395853104130977_r8, 0.00040563903095634942_r8, & + 0.00040660004018294764_r8, 0.00040587147901280894_r8, & + 0.00040485309192158731_r8, 0.00040368865685674584_r8, & + 0.0003968751841923295_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,15) / & + 1.0928847539880703e-05_r8, 1.0243187756101538e-05_r8, & + 9.7495437452593617e-06_r8, 1.1120122628817471e-05_r8, & + 1.1375816523966549e-05_r8, 1.2088019210468635e-05_r8, & + 1.6111920870915413e-05_r8, 2.3566406682079242e-05_r8, & + 3.555503503638986e-05_r8, 4.6656841196806427e-05_r8, & + 5.5397853779163719e-05_r8, 6.2974131382341594e-05_r8, & + 7.1952430018239704e-05_r8, 8.0863766067242426e-05_r8, & + 9.050979733816893e-05_r8, 0.00010132780285614142_r8, & + 0.00011928770828127225_r8, 0.00014633604959543014_r8, & + 0.00017315801556496408_r8, 0.00019772357177114184_r8, & + 0.00022160716279616267_r8, 0.00024092589815665868_r8, & + 0.00026060855415444061_r8, 0.00028044870069633405_r8, & + 0.00029924411337875191_r8, 0.00031725583177734824_r8, & + 0.00033372126049056156_r8, 0.00036940465541837787_r8, & + 0.00039226244916370731_r8, 0.00040638169465362898_r8, & + 0.00041491946522099538_r8, 0.00041992061453951769_r8, & + 0.00042209142643842264_r8, 0.00042318231305329317_r8, & + 0.00042286366110721302_r8, 0.00042255218056164005_r8, & + 0.0004212583137143629_r8, 0.00042119918317063434_r8, & + 0.0004207672584813205_r8, 0.00041998556051766136_r8, & + 0.00041521319968749874_r8, 0.00041568038992253759_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,15) / & + 1.1322839604817004e-05_r8, 1.0096599861017591e-05_r8, & + 9.9519245098642178e-06_r8, 1.1709181051664459e-05_r8, & + 1.2126125133683401e-05_r8, 1.2886748231348724e-05_r8, & + 1.6783164588765646e-05_r8, 2.4340936239929161e-05_r8, & + 3.610600314360572e-05_r8, 4.8347240520747175e-05_r8, & + 5.8509114638838033e-05_r8, 6.7394006170910366e-05_r8, & + 7.8842792018672897e-05_r8, 8.8122129309102306e-05_r8, & + 9.7351816779879324e-05_r8, 0.00010754732664267696_r8, & + 0.00012621052607947108_r8, 0.00014954776309876309_r8, & + 0.00017398734812064086_r8, 0.00019861727271066647_r8, & + 0.00022260095028392275_r8, 0.00024413931713048004_r8, & + 0.00026675579394227323_r8, 0.00028876482022065274_r8, & + 0.00030820787344676805_r8, 0.00032750729442004991_r8, & + 0.00034738176744995316_r8, 0.00038604242517867722_r8, & + 0.00041434758136539178_r8, 0.00042821678266048062_r8, & + 0.00043939969118153273_r8, 0.00044376329613868179_r8, & + 0.0004441992394972225_r8, 0.00044426273780269682_r8, & + 0.00044083432419803363_r8, 0.0004397252975569092_r8, & + 0.0004382091587640502_r8, 0.00043747699835441683_r8, & + 0.00043699444661082548_r8, 0.00043614432217622479_r8, & + 0.00043020412112491902_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,15) / & + 9.614713172283759e-06_r8, 1.0322090427712309e-05_r8, & + 1.1684851285949739e-05_r8, 1.3134671783291111e-05_r8, & + 1.4386982505305828e-05_r8, 1.5995109805884507e-05_r8, & + 2.4097979199077166e-05_r8, 3.5454602319182895e-05_r8, & + 4.8068418551959321e-05_r8, 6.050685195477108e-05_r8, & + 7.0632159788915427e-05_r8, 7.8908558251796648e-05_r8, & + 8.9140452461569395e-05_r8, 9.868837130154199e-05_r8, & + 0.00010747609419757605_r8, 0.00011644880894067601_r8, & + 0.00013411246981914808_r8, 0.00015513731099586487_r8, & + 0.00017781636838168686_r8, 0.00019940385987649215_r8, & + 0.00022168175466474727_r8, 0.00024530970043876757_r8, & + 0.00027176349638186541_r8, 0.00029738783799326341_r8, & + 0.00031975998923839484_r8, 0.00034402791122648137_r8, & + 0.00036854404636628315_r8, 0.00041644382698538237_r8, & + 0.00044689944290858638_r8, 0.00046055279374849112_r8, & + 0.00046984321932326854_r8, 0.00047460832383124264_r8, & + 0.00046795878495377389_r8, 0.00046652146908314083_r8, & + 0.00045783955636951028_r8, 0.00045623994229056778_r8, & + 0.00045555046365725445_r8, 0.00045478626456631882_r8, & + 0.00045112646588693276_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,15) / & + 1.0151079313609652e-05_r8, 1.1999043688244176e-05_r8, & + 1.3871711589043955e-05_r8, 1.736477046483768e-05_r8, & + 1.9030719095600722e-05_r8, 2.2149475801069033e-05_r8, & + 3.6324890159893665e-05_r8, 4.8957118632227257e-05_r8, & + 6.0441374457494464e-05_r8, 7.1701337700957906e-05_r8, & + 7.9712352171861509e-05_r8, 8.6704750392961583e-05_r8, & + 9.6199530900969513e-05_r8, 0.00010640840127988575_r8, & + 0.00011455472310400318_r8, 0.0001233776503939423_r8, & + 0.00014194412759463892_r8, 0.0001644881909186649_r8, & + 0.000185996387621287_r8, 0.0002075975018219928_r8, & + 0.00022936958573910492_r8, 0.00025083174608783639_r8, & + 0.00027519297257425031_r8, 0.00030507329281133626_r8, & + 0.00033088231767673676_r8, 0.00035895127209305944_r8, & + 0.0003832625687490608_r8, 0.00043308296273554444_r8, & + 0.00046760018795999325_r8, 0.00048382674269361009_r8, & + 0.00048659666695574931_r8, 0.00048964734595806424_r8, & + 0.00048319107074792195_r8, 0.00048421514187338671_r8, & + 0.00047677976416018585_r8, 0.00047237659063913709_r8, & + 0.00047236142675384306_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,15) / & + 8.6061906441104449e-06_r8, 1.5883321592799655e-05_r8, & + 1.1038884527924573e-05_r8, 1.6146021117316382e-05_r8, & + 2.2638584759330085e-05_r8, 2.2359241627454079e-05_r8, & + 3.5757761249043304e-05_r8, 3.538449590845859e-05_r8, & + 3.9108616733897532e-05_r8, 4.9899300682656336e-05_r8, & + 6.3123961311089757e-05_r8, 7.2101133539498069e-05_r8, & + 8.37062321267752e-05_r8, 9.3654693726618815e-05_r8, & + 0.00010666225473421296_r8, 0.00011910432958045015_r8, & + 0.00014632513198331164_r8, 0.00017389905196750908_r8, & + 0.00019802668250092174_r8, 0.00022240057428596772_r8, & + 0.00024797041276531203_r8, 0.00026788837120049854_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,15) / & + 9.5659089442546634e-06_r8, 1.4799435342099757e-05_r8, & + 1.1096084324475478e-05_r8, 1.5105459781761668e-05_r8, & + 1.8901098924522864e-05_r8, 1.8747552647029487e-05_r8, & + 3.0541183982531519e-05_r8, 3.7143715353134083e-05_r8, & + 3.6762959494171586e-05_r8, 4.7065914364151456e-05_r8, & + 6.0874131289953593e-05_r8, 7.1280135247557167e-05_r8, & + 8.3131827081090289e-05_r8, 9.318192910957892e-05_r8, & + 0.00010707816282887603_r8, 0.00012034462067112832_r8, & + 0.0001500157774572744_r8, 0.00017941623989514181_r8, & + 0.00020542294792339768_r8, 0.00023071808767286811_r8, & + 0.00025624005041188834_r8, 0.00027752780271290891_r8, & + 0.0003002746929859102_r8, 0.00032481029432142539_r8, & + 0.00035277793644128983_r8, 0.00037775302828024467_r8, & + 0.00040306330030850983_r8, 0.0004601600399105654_r8, & + 0.00050993653014401658_r8, 0.00051862662340867842_r8, & + 0.00052711885760733555_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,15) / & + 2.547815727247393e-05_r8, 2.871956666028643e-05_r8, & + 3.2832170157231119e-05_r8, 3.7842761868408423e-05_r8, & + 4.3994960528233333e-05_r8, 4.569563442017111e-05_r8, & + 5.596939273945539e-05_r8, 6.6867119953496336e-05_r8, & + 7.0300725417351013e-05_r8, 7.4465005296986333e-05_r8, & + 7.4261922012270338e-05_r8, 7.3708413234777471e-05_r8, & + 7.4704386349645901e-05_r8, 7.5480900058224676e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,15) / & + 3.0099321518586909e-05_r8, 3.1243815681477276e-05_r8, & + 3.1987056454166968e-05_r8, 3.9515047397903301e-05_r8, & + 4.2566582309589455e-05_r8, 4.6025935081171992e-05_r8, & + 5.3636507221236738e-05_r8, 6.1827332955488392e-05_r8, & + 6.631921727492559e-05_r8, 6.9315717073057233e-05_r8, & + 7.1900610625437705e-05_r8, 7.4307487453240605e-05_r8, & + 7.7208861481300586e-05_r8, 7.8244747367226135e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,15) / & + 2.871306898856369e-05_r8, 2.7167074588856673e-05_r8, & + 2.6060409838076397e-05_r8, 3.5485837293938301e-05_r8, & + 3.8522989394604475e-05_r8, 4.6187078794411761e-05_r8, & + 5.0424888541549823e-05_r8, 5.2600844226618495e-05_r8, & + 5.3077567439278887e-05_r8, 5.5009811434114861e-05_r8, & + 5.6392581935135149e-05_r8, 5.8886855279076767e-05_r8, & + 6.738127112914016e-05_r8, 7.0384161268936216e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,15) / & + 2.9780842132255998e-05_r8, 2.6265555863818503e-05_r8, & + 2.6156313118342576e-05_r8, 3.0762139018747016e-05_r8, & + 3.4172648522634856e-05_r8, 4.3978658686657103e-05_r8, & + 5.0206832185032182e-05_r8, 5.1390449907888662e-05_r8, & + 5.0985223986601253e-05_r8, 5.199131932241001e-05_r8, & + 5.2553793330557399e-05_r8, 5.506023241772558e-05_r8, & + 5.7564878895446892e-05_r8, 5.9849946278531745e-05_r8, & + 6.1564668308606299e-05_r8, 6.2299023451708275e-05_r8, & + 6.4852031930243993e-05_r8, 6.6862865923329363e-05_r8, & + 7.035235917917217e-05_r8, 7.3758489514579189e-05_r8, & + 7.8986498542894337e-05_r8, 8.3083743589209023e-05_r8, & + 8.5096678352005725e-05_r8, 8.995666986975212e-05_r8, & + 9.5325691319445604e-05_r8, 0.00010010626585160698_r8, & + 0.00010377205155659316_r8, 0.00010785968830878185_r8, & + 0.00011089368252797776_r8, 0.00011273962709841599_r8, & + 0.00011450087010722304_r8, 0.0001160512945081916_r8, & + 0.00011704005323455181_r8, 0.0001177962084759064_r8, & + 0.00011813568962959768_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,15) / & + 4.9766924652599365e-05_r8, 5.6049257106916681e-05_r8, & + 5.4472813722237889e-05_r8, 5.3346129314795316e-05_r8, & + 5.283004953454983e-05_r8, 5.7812237426230946e-05_r8, & + 5.4218116023737033e-05_r8, 5.0765959238897202e-05_r8, & + 5.3277437040834381e-05_r8, 5.4971520438401724e-05_r8, & + 5.59434648646938e-05_r8, 5.7684010671424524e-05_r8, & + 5.9338096983695882e-05_r8, 6.1181396070447824e-05_r8, & + 6.3203256692029446e-05_r8, 6.4412245879846383e-05_r8, & + 6.7000011888899698e-05_r8, 6.8898398851289984e-05_r8, & + 7.1667310093825987e-05_r8, 7.4600270679184928e-05_r8, & + 7.8527623264610307e-05_r8, 8.222853688334247e-05_r8, & + 8.5158344766918844e-05_r8, 8.991397984940843e-05_r8, & + 9.4690414520979082e-05_r8, 9.9305641432918958e-05_r8, & + 0.00010359925171485226_r8, 0.00010969187072633662_r8, & + 0.00011281193671132682_r8, 0.00011511346952100605_r8, & + 0.00011684311394908775_r8, 0.00011872765236988969_r8, & + 0.00011982362128937533_r8, 0.00012074918062519406_r8, & + 0.00012101643368734512_r8, 0.0001210111093492928_r8, & + 0.00012079721458225933_r8, 0.0001213002523759364_r8, & + 0.0001213026105376211_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,15) / & + 7.3994813303430309e-05_r8, 9.5848653616398169e-05_r8, & + 9.3833793977170937e-05_r8, 0.00011114282653628211_r8, & + 0.00010669900048699788_r8, 0.00010685692526132004_r8, & + 9.6252327262075796e-05_r8, 6.4096698217014456e-05_r8, & + 6.5588562456743096e-05_r8, 6.6065711765016052e-05_r8, & + 6.6294211476702495e-05_r8, 6.6491940683861139e-05_r8, & + 6.5484451074695267e-05_r8, 6.7167709416144565e-05_r8, & + 6.8643102279939319e-05_r8, 7.0107601997202777e-05_r8, & + 7.1084543112626052e-05_r8, 7.2227632481147586e-05_r8, & + 7.4530977116840449e-05_r8, 7.7710774335836539e-05_r8, & + 8.0683555761223866e-05_r8, 8.4363001157319539e-05_r8, & + 8.8290675169468196e-05_r8, 9.2840975926230005e-05_r8, & + 9.8065089759658531e-05_r8, 0.00010267130759567339_r8, & + 0.00010842924112103038_r8, 0.00011757972163893374_r8, & + 0.00011813360809343094_r8, 0.00011851137427213099_r8, & + 0.00011929013042473307_r8, 0.00012037199939764796_r8, & + 0.00012121672950877194_r8, 0.00012161863319704491_r8, & + 0.0001220201320225541_r8, 0.00012248384104854266_r8, & + 0.00012423967763006252_r8, 0.00012456866927144_r8, & + 0.00012462787755584698_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,1,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,16) / & + 8.5635974744366523e-05_r8, 8.6289855558644303e-05_r8, & + 8.6265056836454856e-05_r8, 9.113968797947685e-05_r8, & + 9.5850336927348731e-05_r8, 0.00010403186748513222_r8, & + 0.00012485103954678088_r8, 0.00013933008411719751_r8, & + 0.0001516373461527677_r8, 0.00016107293322767928_r8, & + 0.00016572557677723782_r8, 0.000168583507603729_r8, & + 0.00017200746941621592_r8, 0.00017428749683909051_r8, & + 0.00017567549678432979_r8, 0.00017752456097847797_r8, & + 0.00018178108699942199_r8, 0.00018642648650587243_r8, & + 0.00019341498745092031_r8, 0.00019813204453762004_r8, & + 0.00020510097644674559_r8, 0.00021546258594330292_r8, & + 0.00022133281659603916_r8, 0.00022613643734380689_r8, & + 0.00023033849890184677_r8, 0.00023462649620317408_r8, & + 0.00023799362201072579_r8, 0.00024552207193434512_r8, & + 0.00025307920840074986_r8, 0.00025709641673194952_r8, & + 0.00026016611395077578_r8, 0.00026161351603393282_r8, & + 0.00026225069128050875_r8, 0.00026345344146613895_r8, & + 0.00026300698806283921_r8, 0.0002638908820400202_r8, & + 0.000267217347070047_r8, 0.00026965500677898188_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,16) / & + 7.5543161329352375e-05_r8, 7.6129835974330886e-05_r8, & + 7.6957340632073955e-05_r8, 8.0863515428199689e-05_r8, & + 8.263344500611237e-05_r8, 8.6826908235516673e-05_r8, & + 0.00010068319079774974_r8, 0.0001157531553949297_r8, & + 0.00013131586687330899_r8, 0.00014195701808047219_r8, & + 0.00015041863902782754_r8, 0.00015670260189869025_r8, & + 0.00016484024570303087_r8, 0.00016866026094276059_r8, & + 0.00017062625010863446_r8, 0.00017220381807723354_r8, & + 0.00017483203054869631_r8, 0.00017655902193258993_r8, & + 0.0001802670183158376_r8, 0.00018351283421410818_r8, & + 0.00018760145253957167_r8, 0.00019330380107370127_r8, & + 0.00019934534397417019_r8, 0.00020420826973720655_r8, & + 0.00021018928317369185_r8, 0.00021627299644250717_r8, & + 0.00022166812012674111_r8, 0.00023386089112869304_r8, & + 0.0002446565320322717_r8, 0.00025285861123339551_r8, & + 0.00025934163062804903_r8, 0.00026339698162138015_r8, & + 0.00026550577712185436_r8, 0.00026706964125284844_r8, & + 0.00026798552093205611_r8, 0.00026879432502109152_r8, & + 0.00027107378613106946_r8, 0.00027547486833599328_r8, & + 0.00027025619768352799_r8, 0.00026766218699973438_r8, & + 0.0002648983260250357_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,16) / & + 5.4867955660410854e-05_r8, 5.5534734700385661e-05_r8, & + 5.6775869782278683e-05_r8, 6.4701366246395424e-05_r8, & + 6.56368939582416e-05_r8, 6.0136379380354627e-05_r8, & + 6.25013404822882e-05_r8, 7.3638290709661763e-05_r8, & + 8.6826269851836526e-05_r8, 9.8002774025123416e-05_r8, & + 0.00010725021533779525_r8, 0.00011941106544092164_r8, & + 0.00013709671234234713_r8, 0.00014680030870478216_r8, & + 0.00015290162566147924_r8, 0.00015635548758789031_r8, & + 0.00016208948157237643_r8, 0.00016463942853858928_r8, & + 0.00016855421989198425_r8, 0.00017228196881770386_r8, & + 0.000175431429959086_r8, 0.00017871484745416667_r8, & + 0.00018179620955348195_r8, 0.00018366915145782701_r8, & + 0.00018810117709328842_r8, 0.00019302354531164508_r8, & + 0.00019887386982655165_r8, 0.00021264127517125881_r8, & + 0.00022653986731514231_r8, 0.00023927438341881039_r8, & + 0.00024942517710321692_r8, 0.00025713918405727417_r8, & + 0.00026298460330307906_r8, 0.00026551301944948552_r8, & + 0.00026800229042570376_r8, 0.00026898630134132974_r8, & + 0.00026927802624559567_r8, 0.00027083697433578338_r8, & + 0.00027094507348294057_r8, 0.00026672172570054765_r8, & + 0.00026516985517246815_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,16) / & + 3.7140609536492508e-05_r8, 3.6888008804907036e-05_r8, & + 3.7605262085354372e-05_r8, 4.6062617873494217e-05_r8, & + 4.552469395824002e-05_r8, 4.2801381618874338e-05_r8, & + 4.3573961858448098e-05_r8, 4.8057177692699683e-05_r8, & + 5.42981091819153e-05_r8, 6.2341583515919345e-05_r8, & + 6.8624781154258898e-05_r8, 7.7571689856883159e-05_r8, & + 9.6104601118241108e-05_r8, 0.00010815834863653094_r8, & + 0.00011717170395519488_r8, 0.00012440881484242607_r8, & + 0.00013344747347857237_r8, 0.00014345429418516885_r8, & + 0.0001484383331581697_r8, 0.00015347082843784367_r8, & + 0.00015818574817046916_r8, 0.00016147699746901667_r8, & + 0.00016422266205374906_r8, 0.00016640568724076866_r8, & + 0.00016895999299474_r8, 0.00017185348478536078_r8, & + 0.00017515206509450626_r8, 0.00018516747484587711_r8, & + 0.00019851435150438588_r8, 0.00021333161173072606_r8, & + 0.00022731285797285197_r8, 0.00024021021172679815_r8, & + 0.00025164129545246977_r8, 0.00026081832611175875_r8, & + 0.00026698344224302149_r8, 0.00027061674672003102_r8, & + 0.00027108049705772672_r8, 0.0002705113378577764_r8, & + 0.00027163968172744669_r8, 0.00026546134071999018_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,16) / & + 2.3416829695638139e-05_r8, 2.2307588820813761e-05_r8, & + 2.3386393015930946e-05_r8, 2.6232677414228901e-05_r8, & + 2.6254259436818081e-05_r8, 2.6357029104335192e-05_r8, & + 2.6812432838719497e-05_r8, 2.9985596160731992e-05_r8, & + 3.4216673016247332e-05_r8, 3.9821291250235555e-05_r8, & + 4.4112326405150759e-05_r8, 4.8519736039529185e-05_r8, & + 6.0780668886378879e-05_r8, 7.2258299428147057e-05_r8, & + 8.095855983301288e-05_r8, 9.1098849498481868e-05_r8, & + 0.00010649001290814708_r8, 0.00011959398747060358_r8, & + 0.00012749678216595822_r8, 0.00013446215994151431_r8, & + 0.00014009366870204972_r8, 0.00014372520883878268_r8, & + 0.00014790819399261018_r8, 0.00015049926295626094_r8, & + 0.00015262635532060714_r8, 0.00015504933549213189_r8, & + 0.00015752086230294795_r8, 0.00016429014122572625_r8, & + 0.00017618980009556325_r8, 0.00019062640012451105_r8, & + 0.00020736880990080895_r8, 0.00022371292086088894_r8, & + 0.00023798904483917494_r8, 0.0002517065748547212_r8, & + 0.00026278409711393404_r8, 0.00027054562719626055_r8, & + 0.00027670503850399841_r8, 0.00027922519603939476_r8, & + 0.0002747642745782566_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,16) / & + 1.9476610418220017e-05_r8, 1.8207813660852924e-05_r8, & + 1.9424667368985685e-05_r8, 1.3235933802691904e-05_r8, & + 1.2972378030324296e-05_r8, 1.3071592880603077e-05_r8, & + 1.2907602453767459e-05_r8, 1.4603309813912405e-05_r8, & + 1.758906252631473e-05_r8, 2.1011340282378575e-05_r8, & + 2.3619975228273603e-05_r8, 2.4932183532005041e-05_r8, & + 2.9180454197158147e-05_r8, 3.575225415589594e-05_r8, & + 4.0678590206065592e-05_r8, 4.7096440736395199e-05_r8, & + 5.8521155686261982e-05_r8, 6.6102868617751075e-05_r8, & + 7.7444726539264839e-05_r8, 8.9958963261800465e-05_r8, & + 0.00010353897730449156_r8, 0.00010810308806751773_r8, & + 0.00011248019901217174_r8, 0.00012097590977394167_r8, & + 0.0001283599072758005_r8, 0.00013544900618842282_r8, & + 0.00014093241496496186_r8, 0.00015012576065581462_r8, & + 0.00015749823340032457_r8, 0.00016704043035837307_r8, & + 0.00017905350797756421_r8, 0.00019405736295503707_r8, & + 0.00020965609292034613_r8, 0.00022444237118309301_r8, & + 0.00024007194479200362_r8, 0.00025394977888352192_r8, & + 0.00026555427321272906_r8, 0.00027421910937354876_r8, & + 0.00027623098377854829_r8, 0.00027357166018092632_r8, & + 0.00027539524203102814_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,16) / & + 1.4133235525467888e-05_r8, 1.3594887440694117e-05_r8, & + 1.4245344504136899e-05_r8, 7.8028513557659254e-06_r8, & + 7.7314707452558705e-06_r8, 8.4682525532843693e-06_r8, & + 8.4801470806451994e-06_r8, 8.6056904096189539e-06_r8, & + 8.902023164359354e-06_r8, 9.3078064009472645e-06_r8, & + 9.747638038779874e-06_r8, 1.0093220815536576e-05_r8, & + 1.0793689758236155e-05_r8, 1.2440575551756097e-05_r8, & + 1.3293229799755882e-05_r8, 1.4891291265523986e-05_r8, & + 1.8129517888651436e-05_r8, 2.1344544233510106e-05_r8, & + 2.8619238044778366e-05_r8, 3.82896956091909e-05_r8, & + 4.9248916912824265e-05_r8, 5.9474243567818089e-05_r8, & + 6.4341575747044237e-05_r8, 7.7404429321433608e-05_r8, & + 9.1374702904765043e-05_r8, 0.00010601283203593891_r8, & + 0.00011940680455030609_r8, 0.00014323804188547403_r8, & + 0.00015458660704918337_r8, 0.00016154487479547145_r8, & + 0.00017168821957347063_r8, 0.00018399029486123965_r8, & + 0.00019740488373560052_r8, 0.00021271367029852646_r8, & + 0.00023081179872844291_r8, 0.00024548302292515267_r8, & + 0.00025959663720972348_r8, 0.00026808554232416685_r8, & + 0.00027356125192859085_r8, 0.00027279912168026152_r8, & + 0.00027499063183699301_r8, 0.0002763544337581773_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,16) / & + 6.0738261617786796e-06_r8, 6.1028199874816577e-06_r8, & + 6.3258340357056017e-06_r8, 6.180685113648837e-06_r8, & + 6.2289756773353054e-06_r8, 6.7611742558973341e-06_r8, & + 7.1623394773136537e-06_r8, 7.1708145753295315e-06_r8, & + 7.3373500671873151e-06_r8, 7.1708091886887707e-06_r8, & + 7.2453671456356091e-06_r8, 7.735573611592227e-06_r8, & + 8.3305029478815503e-06_r8, 8.8630445460299385e-06_r8, & + 9.172345854714745e-06_r8, 9.3014715440984472e-06_r8, & + 1.0236907525863166e-05_r8, 1.3125244164094607e-05_r8, & + 1.7384337643941179e-05_r8, 2.5066179990313327e-05_r8, & + 3.5634811698799305e-05_r8, 4.6993425367397191e-05_r8, & + 5.7178515566620761e-05_r8, 7.1088760958844203e-05_r8, & + 8.737657199677934e-05_r8, 0.00010324685264375102_r8, & + 0.00011876621628104401_r8, 0.00014741361346033997_r8, & + 0.00016275229051115523_r8, 0.00017518773029585907_r8, & + 0.00018944086519068917_r8, 0.0002019149681680246_r8, & + 0.0002141182251268753_r8, 0.00022588866262795529_r8, & + 0.00023907500707417943_r8, 0.00025086660532555084_r8, & + 0.00026258549167010374_r8, 0.00026988601611970995_r8, & + 0.00027671265430761452_r8, 0.0002751975193116671_r8, & + 0.00027444464711382589_r8, 0.00027649102659960448_r8, & + 0.00027650586927405386_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,16) / & + 4.0343869964974511e-06_r8, 4.2100727476759349e-06_r8, & + 4.4124542201853453e-06_r8, 5.8769775119399178e-06_r8, & + 5.9142245657368502e-06_r8, 6.113816666070839e-06_r8, & + 6.5425173562944476e-06_r8, 6.5484737245642807e-06_r8, & + 6.5651794337915647e-06_r8, 6.5549510630725043e-06_r8, & + 7.0350491685950466e-06_r8, 7.5151158726168223e-06_r8, & + 8.2520565150756427e-06_r8, 8.7049661343088179e-06_r8, & + 8.8801421014056814e-06_r8, 9.1164209886349596e-06_r8, & + 1.0300274069383209e-05_r8, 1.2430084493097666e-05_r8, & + 1.6652645302815329e-05_r8, 2.4297616677237898e-05_r8, & + 3.6094584640034922e-05_r8, 4.9167845889856883e-05_r8, & + 6.5265484741557366e-05_r8, 8.2467634142945954e-05_r8, & + 0.00010080665708510716_r8, 0.00011776984832548082_r8, & + 0.00013240045463485994_r8, 0.00015873542883034403_r8, & + 0.00017746486949178308_r8, 0.00019351373863183736_r8, & + 0.00020926492035762932_r8, 0.00022194589528455605_r8, & + 0.00023257985259854009_r8, 0.000240255546802606_r8, & + 0.0002469512749409168_r8, 0.00025499925166857048_r8, & + 0.00026621705614868923_r8, 0.00027309670470794018_r8, & + 0.00027878416338523494_r8, 0.00028045263024098108_r8, & + 0.00027690411269748174_r8, 0.00027868402473156702_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,16) / & + 4.8051898041470644e-06_r8, 5.1288228010039115e-06_r8, & + 5.4594658274016247e-06_r8, 6.2240802606952991e-06_r8, & + 6.2251986182357936e-06_r8, 6.3914278026335647e-06_r8, & + 6.5870019121347129e-06_r8, 6.6184992211803908e-06_r8, & + 6.6553457022905294e-06_r8, 6.7100996033278135e-06_r8, & + 6.9604481561151872e-06_r8, 7.7629475467749362e-06_r8, & + 9.0017623111428793e-06_r8, 9.3613140121518697e-06_r8, & + 9.3086801328273799e-06_r8, 9.6277277528215873e-06_r8, & + 1.0672741613522929e-05_r8, 1.1497477393606731e-05_r8, & + 1.5085773813838861e-05_r8, 2.4359670127513398e-05_r8, & + 3.8519096324074552e-05_r8, 5.4435675673004353e-05_r8, & + 7.5396069100564173e-05_r8, 9.6748299346922592e-05_r8, & + 0.00011556619857750139_r8, 0.0001325373898485765_r8, & + 0.00014603507657702348_r8, 0.00017172104066978983_r8, & + 0.00019094224731700576_r8, 0.00020553447259631576_r8, & + 0.0002212811876300945_r8, 0.00023402588673963705_r8, & + 0.0002445836046545263_r8, 0.00025000020283414212_r8, & + 0.0002536305421315962_r8, 0.00025740896998658241_r8, & + 0.00026197519686863962_r8, 0.00026641786001505079_r8, & + 0.00026926895041860262_r8, 0.00027096585307036778_r8, & + 0.00027182985563730755_r8, 0.00027300475021222473_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,16) / & + 5.9759505885122092e-06_r8, 6.3469336065957584e-06_r8, & + 6.746889662958592e-06_r8, 6.1295580141545158e-06_r8, & + 6.1274446734442609e-06_r8, 5.972776591950394e-06_r8, & + 6.5596182977597636e-06_r8, 6.6889418388070225e-06_r8, & + 6.8883250969609319e-06_r8, 6.8773918085353497e-06_r8, & + 6.7722715205112475e-06_r8, 7.5799376224716495e-06_r8, & + 9.0251403583902453e-06_r8, 9.6607418406169956e-06_r8, & + 9.8472929619023797e-06_r8, 1.0218720088909531e-05_r8, & + 1.1320085757335776e-05_r8, 1.2182452810634467e-05_r8, & + 1.5014168390433537e-05_r8, 2.6165720937795903e-05_r8, & + 4.523821796123017e-05_r8, 7.0243391077225479e-05_r8, & + 9.8571695644809594e-05_r8, 0.00012513118311924579_r8, & + 0.00014466858449144529_r8, 0.00016042857451334765_r8, & + 0.00017191162518834778_r8, 0.0001973586062647892_r8, & + 0.0002178091710361475_r8, 0.00023313329308412769_r8, & + 0.00024752394813387624_r8, 0.00026013021451767458_r8, & + 0.00026787116456840587_r8, 0.00027249554267315965_r8, & + 0.00027468333514997078_r8, 0.00027596085367166879_r8, & + 0.00027666569851045813_r8, 0.0002764860072481205_r8, & + 0.00027856811136816223_r8, 0.00028040570627265859_r8, & + 0.00028319681816043945_r8, 0.00028321001578291707_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,16) / & + 7.2922236786122167e-06_r8, 7.3935224533992029e-06_r8, & + 7.6913121621038422e-06_r8, 6.6842862830371051e-06_r8, & + 6.6196557528828217e-06_r8, 6.666211685057293e-06_r8, & + 7.6111522747804243e-06_r8, 7.2950327472263898e-06_r8, & + 7.888161644377279e-06_r8, 8.5861958817610107e-06_r8, & + 8.910105628093294e-06_r8, 9.8365711578719817e-06_r8, & + 1.0853338217512957e-05_r8, 1.0871847831666611e-05_r8, & + 1.0664930049588282e-05_r8, 1.1045455998587875e-05_r8, & + 1.2111459446363184e-05_r8, 1.5792352854758979e-05_r8, & + 2.5311356688605812e-05_r8, 4.9161533863876127e-05_r8, & + 8.1904285101399419e-05_r8, 0.00011796421991385175_r8, & + 0.0001488077082608597_r8, 0.00017331422926407833_r8, & + 0.00018831767596373265_r8, 0.00019890668774070989_r8, & + 0.00020763162051380874_r8, 0.00022901271659587295_r8, & + 0.00024634932748671611_r8, 0.00026130793800489897_r8, & + 0.00027263019411550128_r8, 0.00028218056624074417_r8, & + 0.00028819232755857271_r8, 0.00029176085836233484_r8, & + 0.00029380952016300503_r8, 0.00029435323688416503_r8, & + 0.0002941915815367573_r8, 0.00029180037223570969_r8, & + 0.0002920033563213659_r8, 0.00029337142316216016_r8, & + 0.00029654694484669423_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,16) / & + 1.0304471249822607e-05_r8, 1.0247694150826307e-05_r8, & + 1.0530721151073242e-05_r8, 9.2708115948349667e-06_r8, & + 9.331946041591124e-06_r8, 1.0228547000281644e-05_r8, & + 1.2066882266200375e-05_r8, 1.2729341823782227e-05_r8, & + 1.3812932504517591e-05_r8, 1.5679655326999592e-05_r8, & + 1.7154402161950563e-05_r8, 1.9060610736571292e-05_r8, & + 2.1933301317581531e-05_r8, 2.1245476690122353e-05_r8, & + 2.0268937107262892e-05_r8, 2.059780196356729e-05_r8, & + 2.2246311822015064e-05_r8, 3.6847623408246468e-05_r8, & + 6.6759081037416241e-05_r8, 0.00010182864755211943_r8, & + 0.00013749490160652834_r8, 0.00016640441046511086_r8, & + 0.00018772265969355589_r8, 0.00020499903188407294_r8, & + 0.00021513096979451003_r8, 0.00022368290620174752_r8, & + 0.00023138029006721902_r8, 0.00024988081278364021_r8, & + 0.00026958046229251439_r8, 0.00028453733567523594_r8, & + 0.00029389581989548773_r8, 0.0003001137541272014_r8, & + 0.00030555434517915857_r8, 0.00030829785867492383_r8, & + 0.00031098725379459936_r8, 0.00031063842688766163_r8, & + 0.00031029818634104126_r8, 0.00030973752184647584_r8, & + 0.00030616229837328676_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,16) / & + 1.337609291267135e-05_r8, 1.3593257762579463e-05_r8, & + 1.380534721136899e-05_r8, 1.3066296410840815e-05_r8, & + 1.3254369746969804e-05_r8, 1.4443715831707363e-05_r8, & + 1.7071357543443345e-05_r8, 2.1659542887068786e-05_r8, & + 2.5467463751279107e-05_r8, 2.9154074279787788e-05_r8, & + 3.3125376083727452e-05_r8, 3.6633314182302265e-05_r8, & + 3.9592816351981711e-05_r8, 3.9766540511084504e-05_r8, & + 4.0518869579212477e-05_r8, 4.2025551136762616e-05_r8, & + 5.1710205990676696e-05_r8, 8.1082542967690307e-05_r8, & + 0.00012310262952313345_r8, 0.00015898371750273655_r8, & + 0.00018434401926188706_r8, 0.00020141762092200697_r8, & + 0.00021478988724664283_r8, 0.00022817503233900677_r8, & + 0.00023811777565228102_r8, 0.00024732734086605726_r8, & + 0.00025699625649587641_r8, 0.00027926324971360149_r8, & + 0.00029703114427698273_r8, 0.00030940940262711645_r8, & + 0.00031931492401474245_r8, 0.00032405601352427212_r8, & + 0.00032986957575007467_r8, 0.0003331078625359337_r8, & + 0.00033407346902091634_r8, 0.00033354753282709398_r8, & + 0.00032815950441890466_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,16) / & + 1.5246721505493174e-05_r8, 1.5419000659625365e-05_r8, & + 1.5221202982756495e-05_r8, 1.6520113287920722e-05_r8, & + 1.7975911919644371e-05_r8, 1.9950685506426052e-05_r8, & + 2.6215543785970868e-05_r8, 3.5070912087163074e-05_r8, & + 4.0953279405184928e-05_r8, 4.5911122924441786e-05_r8, & + 4.8707465059515501e-05_r8, 5.0976615132772689e-05_r8, & + 5.2098975776380081e-05_r8, 5.3661247316198025e-05_r8, & + 5.7630820641161561e-05_r8, 6.4554102229009823e-05_r8, & + 8.6989422415420409e-05_r8, 0.00011742310608324938_r8, & + 0.00015032490501140015_r8, 0.00018036807679506852_r8, & + 0.00020359752706070489_r8, 0.00022211385391714884_r8, & + 0.00023404244741176847_r8, 0.00024873943041538101_r8, & + 0.00026018364523431047_r8, 0.00026827664372099715_r8, & + 0.00027707734510279175_r8, 0.00029819561084886554_r8, & + 0.00031464274578377606_r8, 0.00032536125772556764_r8, & + 0.00033315094041545487_r8, 0.0003387063507981892_r8, & + 0.00034327306817312703_r8, 0.00034748774286722986_r8, & + 0.00035072988972678512_r8, 0.00034842749432011956_r8, & + 0.00034215622829096554_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,16) / & + 1.6382164128462933e-05_r8, 1.6051582866015004e-05_r8, & + 1.5544067153603268e-05_r8, 1.7422291794306145e-05_r8, & + 1.9555521185488533e-05_r8, 2.2546409240197937e-05_r8, & + 3.2215999993517675e-05_r8, 4.3793349932469664e-05_r8, & + 4.9662700929851805e-05_r8, 5.3308146088355109e-05_r8, & + 5.5158692433505617e-05_r8, 5.7066843430031775e-05_r8, & + 5.9716734419400324e-05_r8, 6.3313142259856668e-05_r8, & + 6.9392940658783927e-05_r8, 7.8166813059084858e-05_r8, & + 0.00010220928798997733_r8, 0.0001317564750253765_r8, & + 0.00016331153752227696_r8, 0.00019138000576907207_r8, & + 0.00021385572249280177_r8, 0.00023095620356404948_r8, & + 0.00024401054874956748_r8, 0.00025994854413324684_r8, & + 0.0002724602606170371_r8, 0.00028208339819166874_r8, & + 0.00029063081491239283_r8, 0.00031091100346382713_r8, & + 0.00032916203290809371_r8, 0.00034251636364429709_r8, & + 0.00034856753786329897_r8, 0.00035263942825118795_r8, & + 0.00035431225862986396_r8, 0.00035672596365800545_r8, & + 0.00036554494489227405_r8, 0.00036884078700900885_r8, & + 0.00037079021935339799_r8, 0.00037359472418967642_r8, & + 0.00037365574191172994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,16) / & + 1.6125947304915814e-05_r8, 1.5491695488543954e-05_r8, & + 1.502858608615812e-05_r8, 1.6021663717031643e-05_r8, & + 1.6511053750255611e-05_r8, 1.8222531554181238e-05_r8, & + 2.5036964889428182e-05_r8, 3.604489959516325e-05_r8, & + 4.4216362161292666e-05_r8, 5.0304938786861486e-05_r8, & + 5.3877290787927963e-05_r8, 5.6520700122838957e-05_r8, & + 6.0691078985987048e-05_r8, 6.6183626850629102e-05_r8, & + 7.2671907807147308e-05_r8, 8.183729127302135e-05_r8, & + 0.00010623501032563762_r8, 0.00013400749541660033_r8, & + 0.00016315421815474524_r8, 0.00019040787387501575_r8, & + 0.00021183362148764843_r8, 0.00023201057893289901_r8, & + 0.00024981431539944609_r8, 0.00026474590353391597_r8, & + 0.00027937720095259937_r8, 0.00029077875672629718_r8, & + 0.00030146576287258059_r8, 0.00032598105561272659_r8, & + 0.00034710892740518872_r8, 0.00036060744674816102_r8, & + 0.00036766050535744948_r8, 0.00037185644595261511_r8, & + 0.00037362852664840824_r8, 0.00037555405471487527_r8, & + 0.00038163564172929998_r8, 0.00038511484421952582_r8, & + 0.00038734276008919823_r8, 0.0003881765453824856_r8, & + 0.00038938711215183149_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,16) / & + 1.3232476889202949e-05_r8, 1.2988017133517732e-05_r8, & + 1.2646659276476877e-05_r8, 1.3011134514803555e-05_r8, & + 1.3099831831792173e-05_r8, 1.4595075361707306e-05_r8, & + 1.9832545211548501e-05_r8, 3.2317831785099032e-05_r8, & + 4.3521022094223368e-05_r8, 5.245029990478286e-05_r8, & + 5.7905702868870428e-05_r8, 6.2807397241366724e-05_r8, & + 6.8530480495098648e-05_r8, 7.5527473437509557e-05_r8, & + 8.2976197969952185e-05_r8, 9.2840192545926969e-05_r8, & + 0.00011400175452871382_r8, 0.00013996670814234643_r8, & + 0.00016864797818590111_r8, 0.00019527039317825871_r8, & + 0.00021609784920991051_r8, 0.00023690523176084509_r8, & + 0.00025489126089755631_r8, 0.00027135913795554563_r8, & + 0.00028700984284108584_r8, 0.00030077878811949927_r8, & + 0.00031476694629968045_r8, 0.00034422215662745779_r8, & + 0.00036416949080947717_r8, 0.00038151543276199776_r8, & + 0.00038907049050231806_r8, 0.00039536813857306085_r8, & + 0.00039790795849417983_r8, 0.00039986709561247739_r8, & + 0.00040197392776256737_r8, 0.00040182411861371863_r8, & + 0.00040291423766795995_r8, 0.00040338309776076096_r8, & + 0.00040461874363858868_r8, 0.00040658224532442766_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,16) / & + 1.0235044252596524e-05_r8, 1.0149779210797732e-05_r8, & + 1.0194271078116613e-05_r8, 1.1394704954489399e-05_r8, & + 1.1618453187981944e-05_r8, 1.276855656333887e-05_r8, & + 1.6557081046700124e-05_r8, 2.6140239892455459e-05_r8, & + 4.0341810930472999e-05_r8, 5.3062699367738026e-05_r8, & + 6.1228060143314649e-05_r8, 6.874481926123759e-05_r8, & + 7.5390582643088773e-05_r8, 8.3921032733056403e-05_r8, & + 9.3323174938355185e-05_r8, 0.00010402868633386137_r8, & + 0.00012256737010629229_r8, 0.0001483591590712143_r8, & + 0.00017434627848282944_r8, 0.00020036813744053988_r8, & + 0.00022317155481525026_r8, 0.00024448505016036215_r8, & + 0.00026201424208936643_r8, 0.00027945569257492369_r8, & + 0.0002973671419290463_r8, 0.00031477959097320885_r8, & + 0.00033152467654804223_r8, 0.00036544856780746331_r8, & + 0.00038593172386153696_r8, 0.00040512774705313048_r8, & + 0.00041350748180862899_r8, 0.0004207852493259238_r8, & + 0.00042398999922804991_r8, 0.00042535436204749547_r8, & + 0.00042553083570148141_r8, 0.00042333572822780537_r8, & + 0.00042120073983224169_r8, 0.00042056188426881731_r8, & + 0.00041993768915855672_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,16) / & + 8.4492682931726412e-06_r8, 8.2012198674061232e-06_r8, & + 8.8670238265263046e-06_r8, 1.0282849681053594e-05_r8, & + 1.0623141482350607e-05_r8, 1.1351766128676108e-05_r8, & + 1.4320112141721644e-05_r8, 2.2933930639346479e-05_r8, & + 3.8584654915687249e-05_r8, 5.3702679546299868e-05_r8, & + 6.4440126896306979e-05_r8, 7.333050447928558e-05_r8, & + 8.2361374407890955e-05_r8, 9.0791083939669999e-05_r8, & + 0.00010020344080486361_r8, 0.0001100860540826962_r8, & + 0.00012918786134721305_r8, 0.00015324456904220379_r8, & + 0.00017744653909703212_r8, 0.00020152752566146429_r8, & + 0.00022361276609114315_r8, 0.00024656440976399732_r8, & + 0.00026840209139660485_r8, 0.000288386585927332_r8, & + 0.00030791100786898396_r8, 0.00032746390525991142_r8, & + 0.00034758451547093754_r8, 0.00038767987017933033_r8, & + 0.00041157225210502178_r8, 0.00043067205286299398_r8, & + 0.00044390454060485489_r8, 0.00044912576146172026_r8, & + 0.0004499745308730904_r8, 0.00044874076462034338_r8, & + 0.00044718105429862338_r8, 0.00044704600265568718_r8, & + 0.00044531601200021632_r8, 0.00044223271904492574_r8, & + 0.00043934163684760801_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,16) / & + 6.8771943433689501e-06_r8, 7.2378072256219338e-06_r8, & + 8.4757907512147798e-06_r8, 9.8032562502696649e-06_r8, & + 1.0715296459453645e-05_r8, 1.1970569672357452e-05_r8, & + 1.716093227148596e-05_r8, 2.9210202466882655e-05_r8, & + 4.4922701741080441e-05_r8, 6.0952598265747661e-05_r8, & + 7.2050112737753231e-05_r8, 8.0827420551913786e-05_r8, & + 9.2007523808049088e-05_r8, 0.00010046049662026944_r8, & + 0.00010989163865934948_r8, 0.00011879544894290491_r8, & + 0.00013794415800951994_r8, 0.00015976523979503452_r8, & + 0.00018303698427154722_r8, 0.00020517746568912628_r8, & + 0.00022750427195629517_r8, 0.00025098446130652498_r8, & + 0.00027435253256599814_r8, 0.00029795740084205899_r8, & + 0.00031866944604692422_r8, 0.00034203135556110011_r8, & + 0.00036521657501699444_r8, 0.00041699913182168154_r8, & + 0.00044848423746101843_r8, 0.0004600723775018411_r8, & + 0.00047332266024000045_r8, 0.00047848746978022106_r8, & + 0.00047614004556239631_r8, 0.00047256440209373783_r8, & + 0.00046482383602860366_r8, 0.00046293603152679371_r8, & + 0.00046149320844954652_r8, 0.00045723321601477262_r8, & + 0.00045117688234489958_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,16) / & + 6.8557190439400685e-06_r8, 7.4563634891954422e-06_r8, & + 8.930390211021409e-06_r8, 1.3260056467271734e-05_r8, & + 1.491654309658841e-05_r8, 1.7258161103337908e-05_r8, & + 2.8908906037779411e-05_r8, 4.1930341495199259e-05_r8, & + 5.4426724316717285e-05_r8, 6.7669595004951971e-05_r8, & + 7.6661625600823522e-05_r8, 8.4228553065226626e-05_r8, & + 9.4618529080690318e-05_r8, 0.00010413256413311468_r8, & + 0.00011378153654647035_r8, 0.00012219807643096771_r8, & + 0.00014241841876589138_r8, 0.00016478859100267968_r8, & + 0.00018776029274082391_r8, 0.00021250675817250641_r8, & + 0.00023409169435509162_r8, 0.00025590659408723413_r8, & + 0.00027767348556075158_r8, 0.00030823276118423085_r8, & + 0.00033428509359445486_r8, 0.00036164592154960606_r8, & + 0.00038257712453858999_r8, 0.00043366240081912574_r8, & + 0.00047670257147991988_r8, 0.00049054402642721207_r8, & + 0.00049627811489426593_r8, 0.00050253510264724923_r8, & + 0.00050390215567376162_r8, 0.00050766515833088586_r8, & + 0.00049219883813032611_r8, 0.00047788112357541757_r8, & + 0.00047729266172548407_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,16) / & + 6.8117793835741444e-06_r8, 9.1859664217921366e-06_r8, & + 1.0184348603908743e-05_r8, 1.7194926337851581e-05_r8, & + 2.1309520903924171e-05_r8, 2.3418518894704831e-05_r8, & + 3.6409483615445897e-05_r8, 4.4465410878411883e-05_r8, & + 5.1884331050745797e-05_r8, 6.4052445781318708e-05_r8, & + 7.2853837631879428e-05_r8, 7.9813372010682028e-05_r8, & + 8.9716636332857452e-05_r8, 0.00010157263122275897_r8, & + 0.00011193129047045046_r8, 0.00012348925337690562_r8, & + 0.00014509017742727343_r8, 0.00017339844950502647_r8, & + 0.00019740227575203766_r8, 0.0002228483444727615_r8, & + 0.00024698225664364723_r8, 0.00025714928378040751_r8, & + 0.0002850882391718392_r8, 0.00031263920824760327_r8, & + 0.00033754209736180875_r8, 0.00035848226728779723_r8, & + 0.00038160521791522685_r8, 0.0004492755022114428_r8, & + 0.00049640093055698447_r8, 0.00050924217106989916_r8, & + 0.00051260103223677803_r8, 0.0005184957516760672_r8, & + 0.00051979373523107107_r8, 0.00053330986900449416_r8, & + 0.00051514673887357665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,16) / & + 7.171021422901224e-06_r8, 1.298005190843581e-05_r8, & + 1.1278176010991829e-05_r8, 1.8384305499925052e-05_r8, & + 2.4546950826647114e-05_r8, 2.622264846325724e-05_r8, & + 3.9009766710465297e-05_r8, 4.5443527950603996e-05_r8, & + 5.2193321989245813e-05_r8, 6.4865112340701896e-05_r8, & + 7.3620402910046652e-05_r8, 8.0599746184454061e-05_r8, & + 9.0275091095830666e-05_r8, 0.00010375716179874231_r8, & + 0.00011512973827973304_r8, 0.00012817738586621031_r8, & + 0.00015034012037282512_r8, 0.00018013889492733438_r8, & + 0.00020731183731345252_r8, 0.00023395377615172553_r8, & + 0.00026010654674497483_r8, 0.00026733634196412576_r8, & + 0.00029810734072067177_r8, 0.00032298557971941898_r8, & + 0.00034632790498998508_r8, 0.00036530581242383081_r8, & + 0.00038945601847161475_r8, 0.00046204987422800815_r8, & + 0.00051140430498065631_r8, 0.00052097926214012154_r8, & + 0.00052645171011285181_r8, 0.00053339752833340493_r8, & + 0.00053370696033733104_r8, 0.00054163700465505225_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,16) / & + 2.0179208402404709e-05_r8, 2.4488837591622166e-05_r8, & + 3.0876383519232459e-05_r8, 3.3252111199189789e-05_r8, & + 4.1521920773978417e-05_r8, 4.4355567865541135e-05_r8, & + 5.6927177776500293e-05_r8, 6.6104663260627738e-05_r8, & + 6.7657278773508936e-05_r8, 7.4451341482350476e-05_r8, & + 7.4257878727238994e-05_r8, 7.3612486091649909e-05_r8, & + 7.4954935131768422e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,16) / & + 2.1213431137814585e-05_r8, 2.4328864438884933e-05_r8, & + 2.9244645820479533e-05_r8, 3.4854324294841925e-05_r8, & + 4.0605599046808925e-05_r8, 4.4743820986523964e-05_r8, & + 5.7533052517750497e-05_r8, 7.0659576670685476e-05_r8, & + 7.1569543104247724e-05_r8, 7.4757139180449707e-05_r8, & + 7.4865340543540262e-05_r8, 7.5203606521753304e-05_r8, & + 7.7587470446129346e-05_r8, 7.903817227273011e-05_r8, & + 7.2611153834468791e-05_r8, 7.2611111805733996e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,16) / & + 2.5770428089167087e-05_r8, 2.275765020825288e-05_r8, & + 2.3246929835860612e-05_r8, 3.3909146536108941e-05_r8, & + 3.6950474854742547e-05_r8, 4.5291048784506129e-05_r8, & + 4.9315566060368709e-05_r8, 5.1874415858327102e-05_r8, & + 5.1425938644794292e-05_r8, 5.2257667315141741e-05_r8, & + 5.3340359380880707e-05_r8, 5.4320128269814619e-05_r8, & + 5.2211040397706019e-05_r8, 5.1362185845177491e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,16) / & + 2.745322001554225e-05_r8, 2.3439474220009039e-05_r8, & + 2.5453329794732212e-05_r8, 3.0318072561110336e-05_r8, & + 3.3235403749019592e-05_r8, 4.3807369596584887e-05_r8, & + 4.9396974098955773e-05_r8, 5.1330172909169443e-05_r8, & + 5.0793665199928174e-05_r8, 5.1700186554921328e-05_r8, & + 5.2191452767678739e-05_r8, 5.476654658952221e-05_r8, & + 5.7307697211064671e-05_r8, 6.0023908665608229e-05_r8, & + 6.1634010395169751e-05_r8, 6.2415033754147133e-05_r8, & + 6.5139549307740828e-05_r8, 6.6677913124825114e-05_r8, & + 7.0316532329508079e-05_r8, 7.3804535419440216e-05_r8, & + 7.8681151324886054e-05_r8, 8.2569196015779131e-05_r8, & + 8.3918841392782695e-05_r8, 8.9027297535541384e-05_r8, & + 9.4809309143014471e-05_r8, 0.00010019830868174612_r8, & + 0.00010394162119139917_r8, 0.00010784469934134328_r8, & + 0.00011073137395424495_r8, 0.00011265810013647689_r8, & + 0.00011447963760929455_r8, 0.00011603549561420198_r8, & + 0.00011699477506273496_r8, 0.00011772317023902772_r8, & + 0.00011801174068116876_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,16) / & + 4.8225358287537632e-05_r8, 5.4954115301676006e-05_r8, & + 5.4243606043095064e-05_r8, 5.2863426419411675e-05_r8, & + 5.2452544543373736e-05_r8, 5.8233251471206776e-05_r8, & + 5.3874041405641766e-05_r8, 5.0992304557809747e-05_r8, & + 5.3338535309294521e-05_r8, 5.4988037302776851e-05_r8, & + 5.5834319654636007e-05_r8, 5.770287450119496e-05_r8, & + 5.9256137821104996e-05_r8, 6.131851028636454e-05_r8, & + 6.327707017479551e-05_r8, 6.4457086719332612e-05_r8, & + 6.7125890063971492e-05_r8, 6.8907222193338391e-05_r8, & + 7.1709876224535746e-05_r8, 7.4787034857921387e-05_r8, & + 7.8561446302626917e-05_r8, 8.2211481881879698e-05_r8, & + 8.4903236845511001e-05_r8, 8.9796558959082869e-05_r8, & + 9.4717200903858797e-05_r8, 9.9572150927848888e-05_r8, & + 0.00010390612294982082_r8, 0.00010982392841811465_r8, & + 0.00011279303529387235_r8, 0.00011511755282070908_r8, & + 0.00011685464069589655_r8, 0.00011870796872678537_r8, & + 0.00011975249945663344_r8, 0.00012058742957039671_r8, & + 0.00012089954632709578_r8, 0.0001209007740038861_r8, & + 0.00012074645074218243_r8, 0.00012130136703367363_r8, & + 0.00012130259838787792_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,16) / & + 7.3662812048995538e-05_r8, 9.5676707569015203e-05_r8, & + 9.35360546436559e-05_r8, 0.00011067996895722842_r8, & + 0.00010634576175986375_r8, 0.00010674576194002348_r8, & + 9.5616072907505459e-05_r8, 6.3711995383230105e-05_r8, & + 6.5548146133959334e-05_r8, 6.6239511352025746e-05_r8, & + 6.6479187283599461e-05_r8, 6.6590182400862343e-05_r8, & + 6.5446230512824144e-05_r8, 6.7151695486663413e-05_r8, & + 6.8632665450144278e-05_r8, 7.0107703247910695e-05_r8, & + 7.1109720866581949e-05_r8, 7.224496013315295e-05_r8, & + 7.453110029676797e-05_r8, 7.775562173099773e-05_r8, & + 8.0698007397227191e-05_r8, 8.4386737574909041e-05_r8, & + 8.8290680790513099e-05_r8, 9.2880538676865163e-05_r8, & + 9.8120335091754355e-05_r8, 0.0001027290048599976_r8, & + 0.00010849609882321621_r8, 0.00011767412548039741_r8, & + 0.00011812498466870948_r8, 0.00011849433330245216_r8, & + 0.0001192834411839664_r8, 0.00012028565675691085_r8, & + 0.00012112505324549084_r8, 0.00012133993547629731_r8, & + 0.00012189002921942306_r8, 0.00012241882965455361_r8, & + 0.00012421376922639748_r8, 0.0001245689531378859_r8, & + 0.00012462786507304305_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,1,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,17) / & + 8.9869095333599145e-05_r8, 9.0614243070902555e-05_r8, & + 9.1546945785572046e-05_r8, 9.4398916896362315e-05_r8, & + 0.00010122110487102279_r8, 0.00011058108800687947_r8, & + 0.00013070393277954612_r8, 0.00014370240285407554_r8, & + 0.00015393037838335385_r8, 0.00016316329304944525_r8, & + 0.00016727557788042126_r8, 0.00017002768543879573_r8, & + 0.00017275084397671501_r8, 0.00017456384214578174_r8, & + 0.00017606661460715329_r8, 0.00017783665242398927_r8, & + 0.00018189287436901568_r8, 0.00018675700337701887_r8, & + 0.00019282368250155886_r8, 0.00019844165313415995_r8, & + 0.00020380238851820711_r8, 0.00021792739463752616_r8, & + 0.00022254945059777922_r8, 0.00022796709977914172_r8, & + 0.00023333894813198764_r8, 0.00023749480533814018_r8, & + 0.00024050282071286865_r8, 0.00024754392745889633_r8, & + 0.00025510887861001025_r8, 0.00025864692541553388_r8, & + 0.00026223763198338264_r8, 0.00026393499403323058_r8, & + 0.00026489061285794375_r8, 0.00026616870469376434_r8, & + 0.00026777866648319891_r8, 0.00026979439939729547_r8, & + 0.00027635840132653091_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,17) / & + 7.8983099474591256e-05_r8, 7.9680264446293445e-05_r8, & + 8.0933435692199488e-05_r8, 8.4192346724660806e-05_r8, & + 8.6069465346772393e-05_r8, 8.8366403711654046e-05_r8, & + 9.782784706277593e-05_r8, 0.00011221909404778416_r8, & + 0.00012601914264249214_r8, 0.00013654283942408151_r8, & + 0.00014507979584315407_r8, 0.00015167013315805629_r8, & + 0.00016001898313082702_r8, 0.0001644352256150626_r8, & + 0.00016697908125810101_r8, 0.00016895943413913544_r8, & + 0.00017172842625458299_r8, 0.00017357821518267043_r8, & + 0.00017642198373720529_r8, 0.00017950306017677352_r8, & + 0.0001827101091459448_r8, 0.00018888877028486352_r8, & + 0.00019310786352616703_r8, 0.00019825607013347396_r8, & + 0.0002042320391001828_r8, 0.00021026162558208011_r8, & + 0.00021612102165079734_r8, 0.0002288932553973863_r8, & + 0.00024117065200394565_r8, 0.00025079195395323698_r8, & + 0.00025832509641579885_r8, 0.00026306318694507835_r8, & + 0.0002663395916634701_r8, 0.00026818000686045624_r8, & + 0.00026971135357954889_r8, 0.00027136388893855552_r8, & + 0.00027558263522645089_r8, 0.00028384946099187892_r8, & + 0.00026970349821373669_r8, 0.00026485904655045115_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,17) / & + 5.5029253032033624e-05_r8, 5.5614765869844465e-05_r8, & + 5.6123334046991434e-05_r8, 6.6151578668203765e-05_r8, & + 6.6211331122539781e-05_r8, 5.6052627816453838e-05_r8, & + 5.5153087371886512e-05_r8, 6.5674201486100233e-05_r8, & + 7.727057753184003e-05_r8, 8.8324626650602126e-05_r8, & + 9.8494295684386558e-05_r8, 0.00010912835576927297_r8, & + 0.00012668934135359912_r8, 0.0001376933731848278_r8, & + 0.00014407369905891599_r8, 0.00014944891813921095_r8, & + 0.00015702997303702592_r8, 0.00016238156831684651_r8, & + 0.00016673150860776879_r8, 0.00017057988721794142_r8, & + 0.00017356890528494754_r8, 0.00017611244394650179_r8, & + 0.0001787173652003957_r8, 0.00018050692066688966_r8, & + 0.00018416894051865212_r8, 0.00018844345131399014_r8, & + 0.00019361519561312911_r8, 0.00020653727137551428_r8, & + 0.00022055450959582737_r8, 0.00023677666507455967_r8, & + 0.00024782111457113894_r8, 0.00025625906963705681_r8, & + 0.00026237887695240627_r8, 0.00026597485646645276_r8, & + 0.0002687132450644342_r8, 0.00026988066443507126_r8, & + 0.00027091228392073772_r8, 0.00027595655886865014_r8, & + 0.0002708164991736602_r8, 0.00026464022331855079_r8, & + 0.00026470562656715543_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,17) / & + 3.5105129332895559e-05_r8, 3.511945847269129e-05_r8, & + 3.4995487318260194e-05_r8, 4.371560947127685e-05_r8, & + 4.3462162476757612e-05_r8, 3.9516391051838493e-05_r8, & + 4.0127663531178614e-05_r8, 4.468733517923904e-05_r8, & + 4.9647230836864794e-05_r8, 5.6721050862723641e-05_r8, & + 6.2960853969770759e-05_r8, 7.0474248941022232e-05_r8, & + 8.8248500789910476e-05_r8, 0.00010013248347079573_r8, & + 0.00010805319398499569_r8, 0.0001165603231195883_r8, & + 0.0001274686092411216_r8, 0.00013854759197883649_r8, & + 0.00014451243932754577_r8, 0.00015019718460371713_r8, & + 0.00015621180123201757_r8, 0.00016123967402326326_r8, & + 0.0001647848457217855_r8, 0.00016727610240785848_r8, & + 0.00016933605876020871_r8, 0.00017229168541136474_r8, & + 0.00017590683997595612_r8, 0.00018446404639634392_r8, & + 0.00019451045582713993_r8, 0.00021076750042575083_r8, & + 0.00022425545590021935_r8, 0.00023901003323791825_r8, & + 0.00024993189788843499_r8, 0.00025934127794631837_r8, & + 0.00026651680162298865_r8, 0.00027053784040706902_r8, & + 0.00027185965758388345_r8, 0.00027183306115367004_r8, & + 0.00027408096814814163_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,17) / & + 2.111944106107228e-05_r8, 2.0223102753930953e-05_r8, & + 2.0539252466269185e-05_r8, 2.585287265457515e-05_r8, & + 2.5967543504928482e-05_r8, 2.6068383646181137e-05_r8, & + 2.6677696552250556e-05_r8, 2.985033585186707e-05_r8, & + 3.3420713593650365e-05_r8, 3.8979522089598192e-05_r8, & + 4.3370728168664478e-05_r8, 4.8960764085609493e-05_r8, & + 6.0603572015580866e-05_r8, 7.2972040505633507e-05_r8, & + 8.2648808929770335e-05_r8, 9.478105062103571e-05_r8, & + 0.00011076462912801703_r8, 0.00012154308510845632_r8, & + 0.00012712328584651845_r8, 0.0001335750890071343_r8, & + 0.00013901064066927204_r8, 0.00014463573340658226_r8, & + 0.00014743326521932725_r8, 0.00015005853423241198_r8, & + 0.00015099515596492911_r8, 0.00015573675652060811_r8, & + 0.00016005449700321275_r8, 0.0001677081754341589_r8, & + 0.0001758889785592737_r8, 0.00018990554846312922_r8, & + 0.00020604934039503326_r8, 0.00022814555293766616_r8, & + 0.00024088257419346994_r8, 0.00025353319236236943_r8, & + 0.00026491995905932215_r8, 0.00027108645635250296_r8, & + 0.00027467148101000379_r8, 0.00027508492769945733_r8, & + 0.00027535921198666057_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,17) / & + 1.6074362451184055e-05_r8, 1.468462914180364e-05_r8, & + 1.5040923503982886e-05_r8, 1.4669221610175934e-05_r8, & + 1.4751323017910159e-05_r8, 1.4836181947154486e-05_r8, & + 1.4024456498376428e-05_r8, 1.5433837578982499e-05_r8, & + 1.7799357848901885e-05_r8, 2.1624075433826552e-05_r8, & + 2.4170242371313754e-05_r8, 2.6821229069745797e-05_r8, & + 3.2397093489134404e-05_r8, 4.0386499745456872e-05_r8, & + 4.7246685487170629e-05_r8, 5.5652836636997239e-05_r8, & + 7.2709399904511901e-05_r8, 7.8459805011478215e-05_r8, & + 8.8336984147128038e-05_r8, 0.00010311556573486613_r8, & + 0.00011489631230699897_r8, 0.00011700311618988762_r8, & + 0.00011762332115805715_r8, 0.0001246786760051764_r8, & + 0.0001315594200342512_r8, 0.00013852233714072609_r8, & + 0.00014409792939378035_r8, 0.00015262631587724607_r8, & + 0.00016039788106578283_r8, 0.00016948286679517954_r8, & + 0.00018102409658140255_r8, 0.00019614475697312777_r8, & + 0.0002107677754358504_r8, 0.00022248017303543461_r8, & + 0.00023505232396724032_r8, 0.00024868863527598899_r8, & + 0.00026082729555937151_r8, 0.00027021707972388391_r8, & + 0.00027429596615047356_r8, 0.00027315088250118487_r8, & + 0.00027538813160984563_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,17) / & + 1.0905403338480179e-05_r8, 9.9589887336350235e-06_r8, & + 1.0279021293556082e-05_r8, 8.4896652648551344e-06_r8, & + 8.5016276550295184e-06_r8, 8.8619924703845386e-06_r8, & + 8.1780913810128881e-06_r8, 8.3553094783727861e-06_r8, & + 8.6488700639463313e-06_r8, 9.3442589809699267e-06_r8, & + 1.011518438125798e-05_r8, 1.0623983592555843e-05_r8, & + 1.2332090770374341e-05_r8, 1.4255939092335324e-05_r8, & + 1.6047236479175581e-05_r8, 1.7772581529234654e-05_r8, & + 2.3625963541112954e-05_r8, 2.9909067091551821e-05_r8, & + 3.8441222690271558e-05_r8, 4.9519850753722005e-05_r8, & + 6.1396765644036391e-05_r8, 7.0203364592553839e-05_r8, & + 7.3320111151330364e-05_r8, 8.683822144248708e-05_r8, & + 0.00010345961565555835_r8, 0.00011721418060025291_r8, & + 0.00013007325999204929_r8, 0.00014797739795941275_r8, & + 0.00016056006349516981_r8, 0.00016772631475410368_r8, & + 0.00018093887005286611_r8, 0.00019427764605712771_r8, & + 0.00020601090020847795_r8, 0.00021887726122851917_r8, & + 0.00023306592309365896_r8, 0.00024608755676435991_r8, & + 0.00025943000407638501_r8, 0.00026760941434464467_r8, & + 0.00027363407604697913_r8, 0.00027265839831376647_r8, & + 0.00027518487527198991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,17) / & + 6.1339513783472239e-06_r8, 6.1154706304994857e-06_r8, & + 6.1445454322603363e-06_r8, 6.0670084180702863e-06_r8, & + 6.0925604859023701e-06_r8, 6.365503951134718e-06_r8, & + 6.4881397933158429e-06_r8, 6.5765486530005343e-06_r8, & + 6.7693417618392986e-06_r8, 6.6212925066560492e-06_r8, & + 6.8124161382009612e-06_r8, 7.3990828716526222e-06_r8, & + 8.2093105632870457e-06_r8, 8.7944106795446595e-06_r8, & + 9.1192716267983466e-06_r8, 9.4103273437495048e-06_r8, & + 1.1092118067179417e-05_r8, 1.4452307254032928e-05_r8, & + 1.9395350877253894e-05_r8, 2.7340594187147255e-05_r8, & + 3.7496427108488999e-05_r8, 5.0552283615009041e-05_r8, & + 6.0069596629777915e-05_r8, 7.5080185387340956e-05_r8, & + 9.4202339203083946e-05_r8, 0.00011072065496493828_r8, & + 0.00012560293215885905_r8, 0.00015158170263540136_r8, & + 0.00016685047380698563_r8, 0.00017957717988814579_r8, & + 0.00019871949231010775_r8, 0.00021255141593620871_r8, & + 0.00022336376919528407_r8, 0.00023238515974878025_r8, & + 0.00024233829062339127_r8, 0.00025178238400782688_r8, & + 0.00026345026401018219_r8, 0.00027027439021551011_r8, & + 0.0002759944118408989_r8, 0.00027391745990511062_r8, & + 0.00027470928736702968_r8, 0.00027648768987516102_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,17) / & + 4.372188394837638e-06_r8, 4.6065675224466496e-06_r8, & + 4.7393663881323628e-06_r8, 6.0287429953474383e-06_r8, & + 5.9748942500037111e-06_r8, 6.0514658547506478e-06_r8, & + 6.3295990746960215e-06_r8, 6.2817640030762106e-06_r8, & + 6.0956020894733449e-06_r8, 5.9814549299268113e-06_r8, & + 6.2948164597614334e-06_r8, 7.2532067485663607e-06_r8, & + 8.1648553062721693e-06_r8, 8.6151025987357356e-06_r8, & + 8.8904292470169639e-06_r8, 9.2336851592224091e-06_r8, & + 1.0503490703847704e-05_r8, 1.2886195466452423e-05_r8, & + 1.7621835375761769e-05_r8, 2.5266828657226935e-05_r8, & + 3.7557378290648792e-05_r8, 5.1596846449869098e-05_r8, & + 6.9123963207241135e-05_r8, 8.647894204258895e-05_r8, & + 0.00010438993127697862_r8, 0.00012160645274983812_r8, & + 0.000135862906253359_r8, 0.00016141214536716621_r8, & + 0.00017894522426676173_r8, 0.00019692187210860982_r8, & + 0.00021675781717836343_r8, 0.00023128420497017907_r8, & + 0.00024081185701405974_r8, 0.0002476027438979281_r8, & + 0.00025310563138902927_r8, 0.00025960776731729664_r8, & + 0.00026758155121431429_r8, 0.0002732769953954376_r8, & + 0.00027623199017489563_r8, 0.00027694296727977046_r8, & + 0.00027692851493584387_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,17) / & + 5.0028801935103039e-06_r8, 5.3341420289080692e-06_r8, & + 5.6694996692891314e-06_r8, 6.6846697693434825e-06_r8, & + 6.6142583800934605e-06_r8, 6.6930066401070672e-06_r8, & + 6.549938160778974e-06_r8, 6.4509344492291227e-06_r8, & + 6.2845266389951663e-06_r8, 6.2828800608606029e-06_r8, & + 6.4252091092096489e-06_r8, 7.589598908326034e-06_r8, & + 8.6895321386545937e-06_r8, 8.9727894096285229e-06_r8, & + 9.1685342174143739e-06_r8, 9.613588346810428e-06_r8, & + 1.0420894467967588e-05_r8, 1.2226970980928983e-05_r8, & + 1.7278771479254845e-05_r8, 2.7337730633950377e-05_r8, & + 4.3288783402563038e-05_r8, 6.1893925811530383e-05_r8, & + 8.4915954574174774e-05_r8, 0.00010636345216515821_r8, & + 0.0001237554251076113_r8, 0.00013942811953961273_r8, & + 0.00015271292585104622_r8, 0.00017519186078496509_r8, & + 0.00019337287030784571_r8, 0.00020913327478866845_r8, & + 0.00022564127253834584_r8, 0.0002378130069631578_r8, & + 0.00024624522842898848_r8, 0.00025167039001300638_r8, & + 0.00025531902044927942_r8, 0.00025904914093403269_r8, & + 0.0002642666339969297_r8, 0.00026965286973501496_r8, & + 0.00027311118329856126_r8, 0.00027486774078208735_r8, & + 0.00027515594670616899_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,17) / & + 5.9862003696963571e-06_r8, 6.3560271012274942e-06_r8, & + 6.7461452214836051e-06_r8, 6.1899364204600475e-06_r8, & + 6.0341221721901275e-06_r8, 5.8179046960958095e-06_r8, & + 6.1858308737824194e-06_r8, 6.2596552989499117e-06_r8, & + 6.1477565119018903e-06_r8, 5.8452940680122547e-06_r8, & + 5.6407606849517927e-06_r8, 7.5904925601329754e-06_r8, & + 9.2931935775006144e-06_r8, 9.6659304081770649e-06_r8, & + 9.9377621025152856e-06_r8, 1.039582818309763e-05_r8, & + 1.1290189475515781e-05_r8, 1.2716773719697089e-05_r8, & + 1.7653255289933204e-05_r8, 3.0785232907678167e-05_r8, & + 5.3000277109605588e-05_r8, 8.1772583158676461e-05_r8, & + 0.00010946357517246896_r8, 0.0001354450083060827_r8, & + 0.00015479056376844447_r8, 0.00016909561727476702_r8, & + 0.00017988634050598157_r8, 0.00020336393360669811_r8, & + 0.00022325516405574246_r8, 0.00023770571219373078_r8, & + 0.00024991468436696192_r8, 0.00025996841593568728_r8, & + 0.00026714452578708404_r8, 0.00027184849119941712_r8, & + 0.00027435324251132728_r8, 0.00027692135121435563_r8, & + 0.00027771578825615983_r8, 0.00027619887286030971_r8, & + 0.00027791291595936993_r8, 0.00027989568211342841_r8, & + 0.00028339220146469409_r8, 0.00028339220146469409_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,17) / & + 7.1186985366083779e-06_r8, 7.2858916229898201e-06_r8, & + 7.5175803958788195e-06_r8, 6.594818725667689e-06_r8, & + 6.4624812999191235e-06_r8, 6.4283274972695539e-06_r8, & + 7.1218367157181124e-06_r8, 6.9378393937496131e-06_r8, & + 7.1918049613367871e-06_r8, 7.5335329930810633e-06_r8, & + 7.5864531768830332e-06_r8, 9.2689213322600503e-06_r8, & + 1.0866472675991383e-05_r8, 1.0256659484580896e-05_r8, & + 1.0488747272151408e-05_r8, 1.0757964473253658e-05_r8, & + 1.1602978489622889e-05_r8, 1.4603024106363567e-05_r8, & + 2.3906241081239954e-05_r8, 4.7939676746403385e-05_r8, & + 8.3673286478920105e-05_r8, 0.00012152314379000869_r8, & + 0.00015267791762786122_r8, 0.00017618624908549211_r8, & + 0.00019246459689071369_r8, 0.00020329708580968086_r8, & + 0.00021152392980965535_r8, 0.00023113468212883676_r8, & + 0.00024983971631822275_r8, 0.00026287752128696559_r8, & + 0.00027186818603859906_r8, 0.00027882400396503744_r8, & + 0.00028382227477133137_r8, 0.00028883134796092432_r8, & + 0.00029175428404805973_r8, 0.00029352617857009524_r8, & + 0.00029358273032753469_r8, 0.00029098488010600754_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,17) / & + 9.7359163885023456e-06_r8, 9.7907059028194702e-06_r8, & + 9.9447154855142193e-06_r8, 9.0532237424529245e-06_r8, & + 9.1022208096237477e-06_r8, 9.8690338178117219e-06_r8, & + 1.1279152472212004e-05_r8, 1.1666346534659896e-05_r8, & + 1.2395062121136879e-05_r8, 1.3720534084372699e-05_r8, & + 1.5007957525929306e-05_r8, 1.7080617184648544e-05_r8, & + 1.8343292285293018e-05_r8, 1.6193240998428881e-05_r8, & + 1.6573671498579369e-05_r8, 1.6719037955462755e-05_r8, & + 1.8877942859036745e-05_r8, 3.3004978723557336e-05_r8, & + 6.1476730156755823e-05_r8, 9.8605936800648362e-05_r8, & + 0.0001387543018220148_r8, 0.00016807750194733413_r8, & + 0.00019308980431203307_r8, 0.00021025231218008429_r8, & + 0.0002215966629474853_r8, 0.00023070284650489561_r8, & + 0.00023817959622740313_r8, 0.00025333807829041422_r8, & + 0.00026957406907675968_r8, 0.00028221985170377793_r8, & + 0.00028913991221176017_r8, 0.00029320124991846281_r8, & + 0.00030026966638524677_r8, 0.00030509506328688834_r8, & + 0.00030952413870828416_r8, 0.0003115345511977987_r8, & + 0.00030930149270036456_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,17) / & + 1.2408762650996697e-05_r8, 1.2671693521269624e-05_r8, & + 1.2880736658683849e-05_r8, 1.1851019663520107e-05_r8, & + 1.1985701084679351e-05_r8, 1.3301064541774337e-05_r8, & + 1.601096479349145e-05_r8, 2.0784903731823337e-05_r8, & + 2.4284144275888752e-05_r8, 2.7965564700152366e-05_r8, & + 3.1326642552804473e-05_r8, 3.513660282632101e-05_r8, & + 3.7603676550395207e-05_r8, 3.772099065441386e-05_r8, & + 3.8398294467756196e-05_r8, 4.0067267658918068e-05_r8, & + 5.5995621291829332e-05_r8, 8.7715015770542054e-05_r8, & + 0.00012651249621463973_r8, 0.00016358715614893528_r8, & + 0.00018974014018969553_r8, 0.00020711538033411575_r8, & + 0.00022183705876839999_r8, 0.00023397403893928308_r8, & + 0.00024303527306738501_r8, 0.00025061281211621254_r8, & + 0.00025872929104914509_r8, 0.00027637926911831595_r8, & + 0.00028972522231135168_r8, 0.00030058982479492293_r8, & + 0.00030733861202400964_r8, 0.00031290721130700446_r8, & + 0.00032050737759759191_r8, 0.00032471160647720427_r8, & + 0.00032718307707681969_r8, 0.00032866559681312931_r8, & + 0.0003275741482382477_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,17) / & + 1.3541650266645461e-05_r8, 1.3702370332327367e-05_r8, & + 1.3446812252620342e-05_r8, 1.3303538167534792e-05_r8, & + 1.4573500726450184e-05_r8, 1.7567277872668956e-05_r8, & + 2.5479514798745873e-05_r8, 3.6107076300496491e-05_r8, & + 4.2412646448268701e-05_r8, 4.7768423501675908e-05_r8, & + 5.0894896112015549e-05_r8, 5.4159472603459027e-05_r8, & + 5.456485059350593e-05_r8, 5.5539118918924795e-05_r8, & + 5.8250438306636719e-05_r8, 6.5619523505870079e-05_r8, & + 9.4780683599788901e-05_r8, 0.00012640208512069585_r8, & + 0.00015868898648174079_r8, 0.00018799217362748004_r8, & + 0.00020945982710851582_r8, 0.00022838737409183442_r8, & + 0.0002413063316282187_r8, 0.00025353683545814728_r8, & + 0.00026398581087120644_r8, 0.00027168668177059738_r8, & + 0.00027958595708595341_r8, 0.00029864177907662211_r8, & + 0.00031084160069897815_r8, 0.00031875102592176288_r8, & + 0.00032433318221641313_r8, 0.00033276679615575305_r8, & + 0.00033909187999864993_r8, 0.00034273346857083313_r8, & + 0.0003462296254465397_r8, 0.00034733046642009284_r8, & + 0.00034653849019706411_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,17) / & + 1.4793934487333292e-05_r8, 1.4242045558222513e-05_r8, & + 1.3907789722816181e-05_r8, 1.4116312988128587e-05_r8, & + 1.6427395628242654e-05_r8, 2.0334408267541328e-05_r8, & + 3.0610396457994899e-05_r8, 4.2806315526866451e-05_r8, & + 4.9365697863426659e-05_r8, 5.3645682033172742e-05_r8, & + 5.5993526938673424e-05_r8, 5.7920008516189525e-05_r8, & + 5.9179838570110524e-05_r8, 6.2553343970531903e-05_r8, & + 6.8047627346315976e-05_r8, 7.6988840007164632e-05_r8, & + 0.00010181222959181292_r8, 0.00013169443751249186_r8, & + 0.00016127967094351173_r8, 0.00018987271911629326_r8, & + 0.00021357499017708346_r8, 0.00023181991879758261_r8, & + 0.00024490564214998294_r8, 0.00025939386743911448_r8, & + 0.0002725821253520091_r8, 0.00028249798074960419_r8, & + 0.00029238198300081413_r8, 0.00031266200055879808_r8, & + 0.00032864467234256916_r8, 0.00033925708901564992_r8, & + 0.00034517023741973351_r8, 0.00034906594088627099_r8, & + 0.00034965025204708358_r8, 0.00035488448225263553_r8, & + 0.00036211620745867025_r8, 0.00036332881924022525_r8, & + 0.00036535119570450591_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,17) / & + 1.5252082549882971e-05_r8, 1.4537397577802664e-05_r8, & + 1.4672616912048919e-05_r8, 1.4273510155379386e-05_r8, & + 1.5088220893424649e-05_r8, 1.758376719388806e-05_r8, & + 2.4317603722320736e-05_r8, 3.5856725923384938e-05_r8, & + 4.4205536061743668e-05_r8, 5.0732624680441917e-05_r8, & + 5.4534751504900596e-05_r8, 5.7616164212906699e-05_r8, & + 6.1415358061947612e-05_r8, 6.7269572710253498e-05_r8, & + 7.4290300407216947e-05_r8, 8.3366398177035385e-05_r8, & + 0.00010867623558294291_r8, 0.00013425941512000328_r8, & + 0.00016184162174983597_r8, 0.00018788742309395221_r8, & + 0.0002116913454964131_r8, 0.00023236906468816781_r8, & + 0.00024950010844024641_r8, 0.00026440750443223847_r8, & + 0.00027827336510632413_r8, 0.00028959888343237187_r8, & + 0.00030187101487149737_r8, 0.00032592495995793753_r8, & + 0.00034508341825688685_r8, 0.00035893819159933579_r8, & + 0.00036373925336366145_r8, 0.00036714714437717077_r8, & + 0.00036663710031957286_r8, 0.00037101455341784413_r8, & + 0.00037904810351919945_r8, 0.00038097253662378478_r8, & + 0.00038601130267978029_r8, 0.00038777810678093839_r8, & + 0.00038826307516935931_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,17) / & + 1.2294489580575204e-05_r8, 1.2133375884170712e-05_r8, & + 1.2520046338081091e-05_r8, 1.1934402160432439e-05_r8, & + 1.2366877032061631e-05_r8, 1.4067799719864916e-05_r8, & + 2.0024100953726241e-05_r8, 3.5710084669794195e-05_r8, & + 4.722546077464556e-05_r8, 5.5466303229067974e-05_r8, & + 6.0056265767482249e-05_r8, 6.5100528353305778e-05_r8, & + 7.0656997730120008e-05_r8, 7.6460979905589962e-05_r8, & + 8.3672427509150769e-05_r8, 9.3508505887543228e-05_r8, & + 0.00011706547014427975_r8, 0.00014087884257234373_r8, & + 0.00016749966064852164_r8, 0.00019346680508696749_r8, & + 0.00021889412353279851_r8, 0.00024032631383602026_r8, & + 0.00025924241362524053_r8, 0.00027542214712016305_r8, & + 0.00028961491440919707_r8, 0.00030262234659657219_r8, & + 0.00031665538413168392_r8, 0.00034584828241235012_r8, & + 0.00036544177396571117_r8, 0.00038532557822712379_r8, & + 0.00038851056509272414_r8, 0.00039419262004436586_r8, & + 0.00039611632917505089_r8, 0.00039751065695015634_r8, & + 0.00040304011576788661_r8, 0.00039943799788225777_r8, & + 0.00040144551022224515_r8, 0.00040250355513047665_r8, & + 0.00040416718998031607_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,17) / & + 8.7101371370809283e-06_r8, 8.9638833750111311e-06_r8, & + 9.3812492009410737e-06_r8, 9.6988197188923881e-06_r8, & + 1.0143358421999592e-05_r8, 1.1497993012735626e-05_r8, & + 1.6342921224591084e-05_r8, 3.1251313321890273e-05_r8, & + 4.7022325465124535e-05_r8, 5.9287663726595898e-05_r8, & + 6.5404465200326881e-05_r8, 7.0439101161238831e-05_r8, & + 7.5306352734694521e-05_r8, 8.2353493241532649e-05_r8, & + 9.1314495512255617e-05_r8, 0.00010156621564294882_r8, & + 0.00012439944975248401_r8, 0.00014945573468916768_r8, & + 0.00017631190241299244_r8, 0.00020309938153132974_r8, & + 0.00022834178463264061_r8, 0.00024985525164137001_r8, & + 0.00026612305952364204_r8, 0.00028261934587742768_r8, & + 0.00030022737461255064_r8, 0.00031670555544705713_r8, & + 0.00033418242512054346_r8, 0.00036876922020880482_r8, & + 0.0003885167786558175_r8, 0.00040713208877094534_r8, & + 0.00041552910713477109_r8, 0.00042145730558427384_r8, & + 0.00042530892446415735_r8, 0.00042794978013449732_r8, & + 0.00042912359222571633_r8, 0.00043169356727594174_r8, & + 0.00043160193236415907_r8, 0.00043144732540947048_r8, & + 0.00043084607223289748_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,17) / & + 6.6667401720154623e-06_r8, 6.8725948444289362e-06_r8, & + 7.3555931711383749e-06_r8, 8.5856748668548891e-06_r8, & + 8.8519760123634457e-06_r8, 9.6855233306989898e-06_r8, & + 1.195686537968552e-05_r8, 2.6447786427795778e-05_r8, & + 4.5479241840187134e-05_r8, 6.2157258445487811e-05_r8, & + 7.1587705088861325e-05_r8, 7.9310318804618648e-05_r8, & + 8.5854824646427216e-05_r8, 9.3489006752773307e-05_r8, & + 0.00010276050591313929_r8, 0.00011327078252541239_r8, & + 0.00013498097191517837_r8, 0.0001595166083569377_r8, & + 0.00018451763764636738_r8, 0.00020839316266107555_r8, & + 0.00022994239840512341_r8, 0.0002510512863831749_r8, & + 0.0002708763287509424_r8, 0.00028931083483895245_r8, & + 0.00030934243729723065_r8, 0.00032718470361635995_r8, & + 0.00034673075969338509_r8, 0.0003869979184967842_r8, & + 0.00041239406412208742_r8, 0.00043115997341915666_r8, & + 0.00044316303802300786_r8, 0.00044803118791612314_r8, & + 0.00044955879490465032_r8, 0.00044733394964649947_r8, & + 0.00044725443796682254_r8, 0.00044735674607067355_r8, & + 0.00044634541069945552_r8, 0.00044561364649236857_r8, & + 0.00044542911670557777_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,17) / & + 5.826094674172721e-06_r8, 6.0457097553646057e-06_r8, & + 6.3492031832435452e-06_r8, 7.9989551807904541e-06_r8, & + 8.7837753522369575e-06_r8, 9.7528595888406224e-06_r8, & + 1.4304867482506148e-05_r8, 3.1341566238935735e-05_r8, & + 4.999447278978109e-05_r8, 6.6848542430188854e-05_r8, & + 7.773501163943555e-05_r8, 8.7435418850581977e-05_r8, & + 9.7606100546801245e-05_r8, 0.00010604624315317605_r8, & + 0.00011451948673426501_r8, 0.00012383926620528215_r8, & + 0.00014431054681404042_r8, 0.0001672986598461424_r8, & + 0.00018994903822881103_r8, 0.00021153483968076276_r8, & + 0.00023379545547744387_r8, 0.00025658099182023847_r8, & + 0.0002781891240899604_r8, 0.0002976320698995165_r8, & + 0.00031787776413450512_r8, 0.00033689688610808751_r8, & + 0.00036012721678346717_r8, 0.00041319847832625456_r8, & + 0.00044464269488315886_r8, 0.00046496557176366654_r8, & + 0.0004782975539171272_r8, 0.00048346422345911657_r8, & + 0.00048180670830166638_r8, 0.00047837944292651813_r8, & + 0.00046700635394993789_r8, 0.0004639484347515832_r8, & + 0.00046164075248441178_r8, 0.00045920595208143411_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,17) / & + 5.7242887914624191e-06_r8, 6.0375568897656765e-06_r8, & + 6.5507389454337986e-06_r8, 1.0211164096485333e-05_r8, & + 1.1920026345393668e-05_r8, 1.4068737623788035e-05_r8, & + 2.2173750195438766e-05_r8, 3.657912321193755e-05_r8, & + 5.1037614631613345e-05_r8, 6.6121582644697435e-05_r8, & + 7.6897302889118293e-05_r8, 8.6276747314879723e-05_r8, & + 9.6005760028464954e-05_r8, 0.00010706693627455575_r8, & + 0.00011687033893171109_r8, 0.00012610439621669_r8, & + 0.00014660590123660261_r8, 0.00017057843482073614_r8, & + 0.00019430679920302225_r8, 0.00021828038769653401_r8, & + 0.00024195548585277917_r8, 0.0002656925145496867_r8, & + 0.00028675328592963142_r8, 0.0003101080806619183_r8, & + 0.00033723431805572038_r8, 0.0003603115105940997_r8, & + 0.00038626074012494389_r8, 0.00044189035697781505_r8, & + 0.00047898669549384577_r8, 0.0004967699343667876_r8, & + 0.00050778972335798172_r8, 0.00051436060671682213_r8, & + 0.00051159322574915783_r8, 0.00051671888260991462_r8, & + 0.00048932002780832163_r8, 0.00047997131392418958_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,17) / & + 8.302399491288365e-06_r8, 8.8537080745689096e-06_r8, & + 1.1130879729934674e-05_r8, 1.7131361537811637e-05_r8, & + 2.0059901145137276e-05_r8, 2.2426334245002741e-05_r8, & + 3.1207718711964333e-05_r8, 4.0771443803793167e-05_r8, & + 5.1782561499153231e-05_r8, 6.4910206150789514e-05_r8, & + 7.537763997922152e-05_r8, 8.4079322608142544e-05_r8, & + 9.3386323512646051e-05_r8, 0.00010821615219119157_r8, & + 0.00011762415991632969_r8, 0.00012722823846063935_r8, & + 0.00014802796343349852_r8, 0.00017571746385793821_r8, & + 0.00020272592052559499_r8, 0.00022923696168423841_r8, & + 0.0002533784062900731_r8, 0.00027035237568927284_r8, & + 0.00029733053150407627_r8, 0.00032389041406227591_r8, & + 0.00035219327191106972_r8, 0.00036953937566489047_r8, & + 0.00039624584335372262_r8, 0.00045863684434388431_r8, & + 0.00050074810539067684_r8, 0.00051249013517143242_r8, & + 0.00052070571981558376_r8, 0.00052744648283719177_r8, & + 0.00052568624938347094_r8, 0.00053763041388531479_r8, & + 0.00051603277291672328_r8, 0.00051718448337722905_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,17) / & + 1.1158137119302882e-05_r8, 1.1869195101532455e-05_r8, & + 1.5571814084525368e-05_r8, 2.259739981590769e-05_r8, & + 2.6485398130273312e-05_r8, 2.7753012379668207e-05_r8, & + 3.7551137187541783e-05_r8, 4.4800682883262447e-05_r8, & + 5.3917360530661165e-05_r8, 6.6416171591608404e-05_r8, & + 7.660743986287195e-05_r8, 8.43950051998307e-05_r8, & + 9.2593769371547604e-05_r8, 0.00010993574915688624_r8, & + 0.00012048232311588704_r8, 0.00013026262097267499_r8, & + 0.00015186749212158993_r8, 0.00018138648685966661_r8, & + 0.00020961445309939286_r8, 0.00023833905344109452_r8, & + 0.00026405214930085778_r8, 0.00027808824418170921_r8, & + 0.00030721990648777413_r8, 0.00033396835066923987_r8, & + 0.00036062585856888482_r8, 0.00037385116268946853_r8, & + 0.0004008070781448525_r8, 0.00047018346341709723_r8, & + 0.00051583614571336107_r8, 0.00052409469782827109_r8, & + 0.00053101974104033769_r8, 0.00053586404856931376_r8, & + 0.00053692655125927994_r8, 0.00054816647372730044_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,17) / & + 1.992384010575121e-05_r8, 2.4028393639643973e-05_r8, & + 3.2633586736724613e-05_r8, 3.491072538139427e-05_r8, & + 4.2139012898663953e-05_r8, 4.5365689494383392e-05_r8, & + 5.697150081285481e-05_r8, 5.952569029559185e-05_r8, & + 6.5536101938947345e-05_r8, 7.4297161136976277e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,17) / & + 2.2852675279918291e-05_r8, 2.3934901115256386e-05_r8, & + 3.1375085301790991e-05_r8, 3.5961363508992591e-05_r8, & + 4.1597962686860975e-05_r8, 4.4750264865066752e-05_r8, & + 5.6206172044977735e-05_r8, 6.6653555975675153e-05_r8, & + 7.0201147453939291e-05_r8, 7.2117839591834371e-05_r8, & + 7.2417060390409451e-05_r8, 7.3530846976524542e-05_r8, & + 7.7539278561013873e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,17) / & + 2.6089113382572608e-05_r8, 2.0700557159910173e-05_r8, & + 2.2334276672704153e-05_r8, 3.2503218522774579e-05_r8, & + 3.6704847206879269e-05_r8, 4.6427986683772454e-05_r8, & + 4.9214765055650017e-05_r8, 5.2129696707710528e-05_r8, & + 5.1291230648403087e-05_r8, 5.0841290929767205e-05_r8, & + 5.1286118400010841e-05_r8, 5.1770151363005362e-05_r8, & + 5.1411240489698698e-05_r8, 5.1630056509097076e-05_r8, & + 5.5286591148206434e-05_r8, 5.8076060035350454e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,17) / & + 2.619397561163427e-05_r8, 2.1270469614086741e-05_r8, & + 2.4850677472309562e-05_r8, 3.0140767174484034e-05_r8, & + 3.2855072194011731e-05_r8, 4.3812717084450514e-05_r8, & + 4.8945060262837038e-05_r8, 5.1671828102114422e-05_r8, & + 5.1201953451544455e-05_r8, 5.1749509378956409e-05_r8, & + 5.2078146692107197e-05_r8, 5.4067335229181588e-05_r8, & + 5.7180803444486517e-05_r8, 5.9803835301607156e-05_r8, & + 6.1594991941868305e-05_r8, 6.2374100012864889e-05_r8, & + 6.4971586838447572e-05_r8, 6.6128282438452984e-05_r8, & + 6.992402736365693e-05_r8, 7.3578275767533042e-05_r8, & + 7.8278825142626425e-05_r8, 8.1709684901700675e-05_r8, & + 8.1953895706770276e-05_r8, 8.7864546693485726e-05_r8, & + 9.4218758619253812e-05_r8, 0.00010031437194615933_r8, & + 0.00010417919341394783_r8, 0.00010768138592864737_r8, & + 0.00011078461090757658_r8, 0.00011261969474611949_r8, & + 0.00011450763949587106_r8, 0.00011604737215120751_r8, & + 0.00011702203437295094_r8, 0.00011766731205986491_r8, & + 0.00011788801723178877_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,17) / & + 4.6932818136751424e-05_r8, 5.4075127226765771e-05_r8, & + 5.4349762978021851e-05_r8, 5.2754442847777956e-05_r8, & + 5.235377317669257e-05_r8, 5.8673455721129147e-05_r8, & + 5.368889635048539e-05_r8, 5.1114148518741792e-05_r8, & + 5.3385065088917754e-05_r8, 5.503328277489308e-05_r8, & + 5.5763359958676535e-05_r8, 5.7699673074546575e-05_r8, & + 5.9306188640450419e-05_r8, 6.1406429317720481e-05_r8, & + 6.3309882027354095e-05_r8, 6.4486278076210705e-05_r8, & + 6.717895403988488e-05_r8, 6.8850457308628025e-05_r8, & + 7.1736852157026738e-05_r8, 7.4966243809512862e-05_r8, & + 7.8575528220854927e-05_r8, 8.2025233335907062e-05_r8, & + 8.4486924178797987e-05_r8, 8.9630646304976138e-05_r8, & + 9.4679865384480458e-05_r8, 9.9786267346192462e-05_r8, & + 0.00010423856289362325_r8, 0.00011000212780266061_r8, & + 0.00011281892937700457_r8, 0.00011512291952065091_r8, & + 0.00011686219632075382_r8, 0.00011871905793672394_r8, & + 0.00011972693669619055_r8, 0.00012044564386882622_r8, & + 0.00012066151224578727_r8, 0.00012070113091909822_r8, & + 0.00012073270528800661_r8, 0.00012130262442304482_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,17) / & + 7.308532530538324e-05_r8, 9.5316340617928835e-05_r8, & + 9.344419609118834e-05_r8, 0.00011032884802913946_r8, & + 0.00010613771476081192_r8, 0.00010662937612124922_r8, & + 9.5045312402208969e-05_r8, 6.3352568297433769e-05_r8, & + 6.5494821500163244e-05_r8, 6.6428190387945665e-05_r8, & + 6.6699977314738367e-05_r8, 6.6644757493258027e-05_r8, & + 6.5455682145298814e-05_r8, 6.7129170724313512e-05_r8, & + 6.8634606492235265e-05_r8, 7.0129072382306995e-05_r8, & + 7.114438775539063e-05_r8, 7.2263621250119513e-05_r8, & + 7.4570949283322209e-05_r8, 7.780454748430037e-05_r8, & + 8.0713863855420557e-05_r8, 8.4426419168448467e-05_r8, & + 8.8294680774428358e-05_r8, 9.2895066128809715e-05_r8, & + 9.8174266140775175e-05_r8, 0.00010280914384430184_r8, & + 0.00010865137168515585_r8, 0.00011777114231426859_r8, & + 0.0001181053585899578_r8, 0.00011849290201776959_r8, & + 0.00011926235682615831_r8, 0.00012024501006491724_r8, & + 0.00012106157698245869_r8, 0.00012113366689901197_r8, & + 0.00012168361539192858_r8, 0.0001221759356290617_r8, & + 0.00012421441829343259_r8, 0.00012456923216445947_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,18) / & + 9.2998989493483209e-05_r8, 9.10821132973156e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,5,18) / & + 9.3188391408426899e-05_r8, 9.1619658422691265e-05_r8, & + 9.4295755248523705e-05_r8, 0.00010165604222575791_r8, & + 0.00012418215847614388_r8, 0.00012928741322470612_r8, & + 0.00014979144137380868_r8, 0.00015692588527777115_r8, & + 0.00015944884524952101_r8, 0.00016260345102866831_r8, & + 0.00016532202718865671_r8, 0.00017101786868577967_r8, & + 0.0001765000920979106_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,18) / & + 9.3227654390390597e-05_r8, 9.3971234560572705e-05_r8, & + 9.5292905544206726e-05_r8, 9.7746482672697704e-05_r8, & + 0.00010762869259213445_r8, 0.00011872311057704556_r8, & + 0.00013956359886702831_r8, 0.00015078333085317993_r8, & + 0.00015835085998708309_r8, 0.00016367873384121279_r8, & + 0.00016604113005705857_r8, 0.00016926811723966213_r8, & + 0.00017283637920197071_r8, 0.00017460305683191868_r8, & + 0.00017694044763537166_r8, 0.00017879655843637418_r8, & + 0.00018376529785501299_r8, 0.00018871984713762853_r8, & + 0.00019418586299306038_r8, 0.00020019764505468921_r8, & + 0.00020475368887473081_r8, 0.00022158972100023839_r8, & + 0.00022346367246621419_r8, 0.00022888479592732614_r8, & + 0.00023607129295272406_r8, 0.00024042682400698327_r8, & + 0.00024279593128805079_r8, 0.00025022638286670127_r8, & + 0.00025638154416893715_r8, 0.00025996621038983276_r8, & + 0.00026391835744651209_r8, 0.00026588346698618254_r8, & + 0.0002666456329885583_r8, 0.0002675307180105445_r8, & + 0.00026961868264321128_r8, 0.00027218746812387366_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,18) / & + 8.2196144496516474e-05_r8, 8.2993021152327499e-05_r8, & + 8.4415195144000579e-05_r8, 8.5945626670760699e-05_r8, & + 8.8726357039043883e-05_r8, 9.0220292937399639e-05_r8, & + 9.8084546761789982e-05_r8, 0.00011202701481410676_r8, & + 0.00012636096919734714_r8, 0.00013718716286811002_r8, & + 0.00014537282567616438_r8, 0.00015069176996183862_r8, & + 0.00015802133669081279_r8, 0.0001626225858548027_r8, & + 0.00016550555690774581_r8, 0.00016743095657992534_r8, & + 0.00017035802752239955_r8, 0.00017284680955572459_r8, & + 0.00017529670560588757_r8, 0.00017823767707950993_r8, & + 0.0001812156777140416_r8, 0.00018855429439511835_r8, & + 0.00019090230068996111_r8, 0.00019606780773839645_r8, & + 0.0002031112047061977_r8, 0.00020863381762735089_r8, & + 0.00021440449066733233_r8, 0.00022749155548011028_r8, & + 0.0002400523747001814_r8, 0.00025014162813885999_r8, & + 0.00025824862114483905_r8, 0.00026349114381831639_r8, & + 0.00026643876619559419_r8, 0.00026839108061478507_r8, & + 0.00027017960043071237_r8, 0.00027232479840758473_r8, & + 0.0002765394859560939_r8, 0.00028561336196866624_r8, & + 0.00026947334892431045_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,18) / & + 5.7813777579981344e-05_r8, 5.8830269367030686e-05_r8, & + 5.9123347740924309e-05_r8, 6.6419786879901138e-05_r8, & + 6.6658477479267318e-05_r8, 5.4583128620348979e-05_r8, & + 5.1750875003602456e-05_r8, 5.9733022743993672e-05_r8, & + 7.1769420482722354e-05_r8, 8.5164127904833399e-05_r8, & + 9.7111092501822106e-05_r8, 0.00010646553786225588_r8, & + 0.0001237964376556555_r8, 0.00013494531716185996_r8, & + 0.00014136204259708549_r8, 0.00014761736981213139_r8, & + 0.00015604179196446384_r8, 0.00016298610732703506_r8, & + 0.00016750373229637054_r8, 0.00017098932425369296_r8, & + 0.00017380997244161527_r8, 0.00017607822231911164_r8, & + 0.00017889297043993232_r8, 0.00018135796897301957_r8, & + 0.0001849994864144295_r8, 0.00018875488631352546_r8, & + 0.00019354262650318554_r8, 0.00020735873527836349_r8, & + 0.00022162387417605969_r8, 0.00023878709387005855_r8, & + 0.00024931307469702919_r8, 0.000257420658995415_r8, & + 0.0002628944104906191_r8, 0.00026670063105853483_r8, & + 0.00026906597678691592_r8, 0.00027038553621317569_r8, & + 0.00027213582749431657_r8, 0.00028146149885130498_r8, & + 0.00027010308304349341_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,18) / & + 3.6965137748035217e-05_r8, 3.7636076685319217e-05_r8, & + 3.7451564854477798e-05_r8, 4.3484012321337532e-05_r8, & + 4.3267976221926299e-05_r8, 3.8300861308898419e-05_r8, & + 3.878475365045224e-05_r8, 4.2257588118348576e-05_r8, & + 4.6357023541935501e-05_r8, 5.2464291787093102e-05_r8, & + 5.8569589373417069e-05_r8, 6.4173791078164222e-05_r8, & + 8.1461341849017462e-05_r8, 9.3899564554895972e-05_r8, & + 0.00010150930075732359_r8, 0.00011063426488059716_r8, & + 0.00012532257183181677_r8, 0.00013675592651817822_r8, & + 0.00014429259059422377_r8, 0.00015168690136694842_r8, & + 0.00015911539629276728_r8, 0.0001640151030701953_r8, & + 0.0001679244966980648_r8, 0.00017049098568030872_r8, & + 0.00017291903640823651_r8, 0.00017562370521717556_r8, & + 0.00017873113045451609_r8, 0.00018703614821601627_r8, & + 0.00019566862795731502_r8, 0.00021139608797969938_r8, & + 0.00022391313067453438_r8, 0.00024132933101450612_r8, & + 0.00025129480848057681_r8, 0.00025979101729042451_r8, & + 0.00026625424363540303_r8, 0.00027018696496841025_r8, & + 0.00027106678654605771_r8, 0.00027207234622684639_r8, & + 0.000275137708349372_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,18) / & + 2.2983737819171424e-05_r8, 2.3160424106667891e-05_r8, & + 2.3529329227537483e-05_r8, 2.7723333647115628e-05_r8, & + 2.8035566218528016e-05_r8, 2.8229400122425942e-05_r8, & + 2.9034733221447771e-05_r8, 3.2198518881192793e-05_r8, & + 3.6947731793691234e-05_r8, 4.2496931532888655e-05_r8, & + 4.7091589328714762e-05_r8, 5.2421291731249264e-05_r8, & + 6.5621491587340659e-05_r8, 7.9300645314375466e-05_r8, & + 8.9518931254715614e-05_r8, 9.8913073253906338e-05_r8, & + 0.00011635341611644371_r8, 0.00012856902695089283_r8, & + 0.00013435090055230321_r8, 0.00014084992544605634_r8, & + 0.00014801651747897536_r8, 0.00015507151645244646_r8, & + 0.00015844944288777643_r8, 0.00016074361935179468_r8, & + 0.00016205846237880611_r8, 0.00016643389383123763_r8, & + 0.00017051107928645629_r8, 0.0001779549886156129_r8, & + 0.00018198818206188755_r8, 0.00019450196369356036_r8, & + 0.00020705039324699594_r8, 0.00023452867191321012_r8, & + 0.00024602140161876691_r8, 0.0002563179173865028_r8, & + 0.00026486875627726491_r8, 0.00027055998743066157_r8, & + 0.00027315951025331457_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,18) / & + 1.5240361596055459e-05_r8, 1.4686438301904512e-05_r8, & + 1.4289883359199419e-05_r8, 1.5079728246561217e-05_r8, & + 1.5196318944423035e-05_r8, 1.5696755404791549e-05_r8, & + 1.520558549417979e-05_r8, 1.659682084758186e-05_r8, & + 1.8536937431889188e-05_r8, 2.1711048470920893e-05_r8, & + 2.4532031800411593e-05_r8, 2.6909249075010965e-05_r8, & + 3.1380385921657737e-05_r8, 3.8794988793609025e-05_r8, & + 4.5861969097573673e-05_r8, 5.2179786244646175e-05_r8, & + 6.9948219156602034e-05_r8, 7.967364336886355e-05_r8, & + 9.2794527832339041e-05_r8, 0.00010808090479559397_r8, & + 0.00011387305907621725_r8, 0.00011341973666952113_r8, & + 0.00011484120546451143_r8, 0.00012318601365622167_r8, & + 0.00013111227521457028_r8, 0.00013710762662736461_r8, & + 0.00014325701543482704_r8, 0.00015382952014290216_r8, & + 0.00016282367991777408_r8, 0.00017067025635028095_r8, & + 0.00018336021239173824_r8, 0.0001993695782972284_r8, & + 0.00021473482171967804_r8, 0.00022682487074666239_r8, & + 0.00023654114338685851_r8, 0.00024814642355889139_r8, & + 0.00025987995740742832_r8, 0.00026949391587620641_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,18) / & + 9.621061103502981e-06_r8, 8.9782171766869085e-06_r8, & + 8.6813722465270433e-06_r8, 8.0592917391613732e-06_r8, & + 8.0035668639391602e-06_r8, 8.3155917443784249e-06_r8, & + 7.6459424701495174e-06_r8, 8.2385808299398966e-06_r8, & + 8.8734946897904515e-06_r8, 9.8241537505569208e-06_r8, & + 1.1142567098381351e-05_r8, 1.1558053440072414e-05_r8, & + 1.2931031952374471e-05_r8, 1.4958104031664212e-05_r8, & + 1.7385882677341426e-05_r8, 1.9163817233854613e-05_r8, & + 2.6363983749281466e-05_r8, 3.77494281677396e-05_r8, & + 4.7115202178433106e-05_r8, 5.9071463646505958e-05_r8, & + 6.802492979668276e-05_r8, 7.5423089679399783e-05_r8, & + 7.7999339239358443e-05_r8, 9.1329688875367888e-05_r8, & + 0.00010851483696029047_r8, 0.00012144238835483178_r8, & + 0.00013444798725273431_r8, 0.00015077499323807604_r8, & + 0.00016469641564655356_r8, 0.0001726716719110334_r8, & + 0.00018853790990869542_r8, 0.00020484612855017553_r8, & + 0.00021612579119702945_r8, 0.00022682840290138561_r8, & + 0.00023780707706916077_r8, 0.0002479576629772788_r8, & + 0.00025890052498693707_r8, 0.00026857181583192746_r8, & + 0.0002737674428969464_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,18) / & + 6.0556690435417647e-06_r8, 5.9793444321986063e-06_r8, & + 5.8758600983561602e-06_r8, 5.3113384503879612e-06_r8, & + 5.3224638419996953e-06_r8, 5.4185892762887389e-06_r8, & + 5.4953878174073442e-06_r8, 5.8961113018300478e-06_r8, & + 6.4914789312232765e-06_r8, 6.8451712327809821e-06_r8, & + 7.1817368234845669e-06_r8, 7.6075985139925666e-06_r8, & + 8.1672638884398236e-06_r8, 8.7868673637651994e-06_r8, & + 9.2817998413999397e-06_r8, 9.8491393304539601e-06_r8, & + 1.1715479936284828e-05_r8, 1.5994222233016816e-05_r8, & + 2.166523488371069e-05_r8, 3.0067762407006988e-05_r8, & + 4.1178962291570481e-05_r8, 5.6067268126078527e-05_r8, & + 6.5758112650971182e-05_r8, 8.0473881451280455e-05_r8, & + 9.9380516438105524e-05_r8, 0.00011639263249251341_r8, & + 0.0001313059341175717_r8, 0.00015571290842666954_r8, & + 0.00017010067533718633_r8, 0.00018311511743739561_r8, & + 0.00020746183493639949_r8, 0.00022290284501849596_r8, & + 0.00023254188775826936_r8, 0.00023962374041409481_r8, & + 0.00024759661941392352_r8, 0.0002548349624746686_r8, & + 0.00026254891193867516_r8, 0.00027218964579603773_r8, & + 0.00027601561691778612_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,18) / & + 5.213644891412172e-06_r8, 5.3668673153837554e-06_r8, & + 5.3761490248299e-06_r8, 5.8158149299880984e-06_r8, & + 5.8690902017145525e-06_r8, 5.7846095823125034e-06_r8, & + 5.7877157620646149e-06_r8, 5.7099505648376353e-06_r8, & + 5.5851146129070547e-06_r8, 5.855894579949208e-06_r8, & + 5.8331908278119279e-06_r8, 6.6203357550553987e-06_r8, & + 7.5649847194716785e-06_r8, 8.1981030162960163e-06_r8, & + 8.6354461353370824e-06_r8, 8.9869472200163122e-06_r8, & + 1.0274848423716211e-05_r8, 1.2468978494256569e-05_r8, & + 1.7441525399728472e-05_r8, 2.6303315593099883e-05_r8, & + 3.9909444165364299e-05_r8, 5.6486421034885492e-05_r8, & + 7.5234780159277111e-05_r8, 9.3066589112255377e-05_r8, & + 0.00011048776618797663_r8, 0.00012736030436437274_r8, & + 0.00014073268771282714_r8, 0.00016327690667322355_r8, & + 0.00017788541693391344_r8, 0.00019865662600622151_r8, & + 0.00022197753976595398_r8, 0.00023651596692520017_r8, & + 0.00024420783656150348_r8, 0.00025030491872247122_r8, & + 0.00025605456820933356_r8, 0.00026142746783250971_r8, & + 0.0002658073183945256_r8, 0.00027368211944826663_r8, & + 0.00027840864457545964_r8, 0.00027767828338770534_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,18) / & + 5.6769034980772524e-06_r8, 5.8448605476800479e-06_r8, & + 6.0392740613186044e-06_r8, 6.838216890759781e-06_r8, & + 6.6240054140667894e-06_r8, 6.549724594561157e-06_r8, & + 6.155842696711807e-06_r8, 5.86223797521951e-06_r8, & + 5.7328728098581534e-06_r8, 5.9264110481984666e-06_r8, & + 5.9903891579422393e-06_r8, 6.8853397359364421e-06_r8, & + 7.6311801766365859e-06_r8, 8.1369367482956398e-06_r8, & + 8.7714304336403308e-06_r8, 9.2323948610721983e-06_r8, & + 1.0205015493252175e-05_r8, 1.2146470108143731e-05_r8, & + 1.7166585091007715e-05_r8, 2.9641634388517239e-05_r8, & + 4.6558944383704732e-05_r8, 6.8123067960264543e-05_r8, & + 9.3869645111414394e-05_r8, 0.00011653414665091143_r8, & + 0.00013584612854267129_r8, 0.00015031353153835419_r8, & + 0.00016305916515697231_r8, 0.00018097124323981879_r8, & + 0.00019560772813015856_r8, 0.00021418658575513642_r8, & + 0.00022945667089744389_r8, 0.00023969988890379631_r8, & + 0.00024602958634536087_r8, 0.000250711193092472_r8, & + 0.00025632050128754851_r8, 0.0002594265347406683_r8, & + 0.00026394043996847457_r8, 0.00027040919734350329_r8, & + 0.00027439899728137361_r8, 0.00027813032734520847_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,18) / & + 6.5099728727973182e-06_r8, 6.6797886470964067e-06_r8, & + 6.9103732673478888e-06_r8, 6.798129384466412e-06_r8, & + 6.105904195015706e-06_r8, 6.0552077143466473e-06_r8, & + 6.3367684954241507e-06_r8, 5.9788816584744128e-06_r8, & + 5.6284097564399282e-06_r8, 5.1598641454369811e-06_r8, & + 5.0835522291221703e-06_r8, 6.9766952003513425e-06_r8, & + 8.3890623044983462e-06_r8, 8.7985373021768509e-06_r8, & + 9.3299355736247228e-06_r8, 9.7741049753951588e-06_r8, & + 1.0729723328695614e-05_r8, 1.296736388092244e-05_r8, & + 1.9675388316761183e-05_r8, 3.5950425876168925e-05_r8, & + 5.8801765469855899e-05_r8, 8.8629348819060274e-05_r8, & + 0.00011947212637243572_r8, 0.00014831517253396215_r8, & + 0.00016865926199333519_r8, 0.00018140288196564355_r8, & + 0.00019305314739911074_r8, 0.00021016387070525085_r8, & + 0.00022677332616810573_r8, 0.00024047863609286994_r8, & + 0.000249894475354886_r8, 0.00025584900485454704_r8, & + 0.00026159822295948468_r8, 0.00026593591937451041_r8, & + 0.00027114818697777471_r8, 0.00027481573032609385_r8, & + 0.00027654841513372535_r8, 0.00027719298881138563_r8, & + 0.00027678069357857453_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,18) / & + 6.8724242950755759e-06_r8, 6.9719638162414285e-06_r8, & + 7.0954433318176109e-06_r8, 6.8655292922292695e-06_r8, & + 6.550724085193358e-06_r8, 6.3524906230978451e-06_r8, & + 6.7316719133420331e-06_r8, 6.7016947558636122e-06_r8, & + 6.7205088356011505e-06_r8, 6.5315330954108579e-06_r8, & + 6.0472558018431846e-06_r8, 8.0675801678589153e-06_r8, & + 9.9407524721398394e-06_r8, 9.9944333915481007e-06_r8, & + 1.0182635047385029e-05_r8, 1.0394254832354534e-05_r8, & + 1.1694812456096413e-05_r8, 1.5708715246692341e-05_r8, & + 2.6927072290956334e-05_r8, 5.2613972969287691e-05_r8, & + 9.0471715862303526e-05_r8, 0.00013040279796356765_r8, & + 0.00016158218863497159_r8, 0.0001851581795523587_r8, & + 0.00020066061297572518_r8, 0.00021206399030962453_r8, & + 0.00022056622928762995_r8, 0.00023282310220917437_r8, & + 0.00024899158958698807_r8, 0.0002597097924941023_r8, & + 0.00026703000100183384_r8, 0.00027154905170309092_r8, & + 0.00027737537325472737_r8, 0.00028272996766263682_r8, & + 0.00028845515157469069_r8, 0.00029211030460023376_r8, & + 0.00029315543331668979_r8, 0.00029061984199916195_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,18) / & + 7.9539998599482576e-06_r8, 8.0546459718570643e-06_r8, & + 8.1359403126477998e-06_r8, 8.0238945149542188e-06_r8, & + 8.0943738871237496e-06_r8, 8.2358827310838007e-06_r8, & + 9.1076893233087719e-06_r8, 9.8975482616144328e-06_r8, & + 1.0893277832434229e-05_r8, 1.1904213919187329e-05_r8, & + 1.3228304205451539e-05_r8, 1.4796762668076496e-05_r8, & + 1.3823847000450896e-05_r8, 1.4862774408565148e-05_r8, & + 1.5310400450966309e-05_r8, 1.565341721330822e-05_r8, & + 1.8797182046618435e-05_r8, 3.3401650624642942e-05_r8, & + 6.0262523126410036e-05_r8, 0.0001013902337937678_r8, & + 0.00014890953319867398_r8, 0.00018498067282478754_r8, & + 0.00020543401722260699_r8, 0.00021917194464094063_r8, & + 0.00022918174180512651_r8, 0.00023758871885738072_r8, & + 0.00024284704395030862_r8, 0.00025261250005743989_r8, & + 0.0002665176012512335_r8, 0.00027648832001591977_r8, & + 0.0002823571726874634_r8, 0.0002872618422766509_r8, & + 0.00029458240703164823_r8, 0.00029995386410118551_r8, & + 0.00030640085160617004_r8, 0.00031353394435396477_r8, & + 0.00031860446131499998_r8, 0.00032274970357268362_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,18) / & + 9.2331145409822757e-06_r8, 9.5171757748283378e-06_r8, & + 9.6660760536866286e-06_r8, 9.0527596575221192e-06_r8, & + 9.3306782381932306e-06_r8, 1.0275068307089137e-05_r8, & + 1.3114812099374481e-05_r8, 1.9084956018886132e-05_r8, & + 2.3227308009630933e-05_r8, 2.7710518044014974e-05_r8, & + 3.1592223685932039e-05_r8, 3.4878737188282885e-05_r8, & + 3.8781805878188339e-05_r8, 3.9670906592462538e-05_r8, & + 3.9981331261623555e-05_r8, 4.1825647484107e-05_r8, & + 5.8481282977694064e-05_r8, 9.2478985046767697e-05_r8, & + 0.00012965531343112321_r8, 0.00016649058328240313_r8, & + 0.00019612605991902449_r8, 0.00021704813365605786_r8, & + 0.00023224705073047623_r8, 0.00024155556659244894_r8, & + 0.00024758850133472821_r8, 0.00025171245686104207_r8, & + 0.00025810084820005412_r8, 0.00027302764426610668_r8, & + 0.00028459780782335382_r8, 0.00029714686425827717_r8, & + 0.00030176812995774747_r8, 0.00030861943836047828_r8, & + 0.00031719238995357528_r8, 0.00032114810604852131_r8, & + 0.00032789516228961288_r8, 0.00033177425720485356_r8, & + 0.00033574940712052489_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,18) / & + 9.5733274557644909e-06_r8, 9.9091232002966962e-06_r8, & + 1.0036438888331082e-05_r8, 9.4953269395949305e-06_r8, & + 1.0260644115319074e-05_r8, 1.247694391083258e-05_r8, & + 2.0516896711943951e-05_r8, 3.3514308503900673e-05_r8, & + 4.1264997338485537e-05_r8, 4.7833816811918302e-05_r8, & + 5.1985729788946056e-05_r8, 5.6102437014001314e-05_r8, & + 5.7256773441471299e-05_r8, 5.7576500340536789e-05_r8, & + 5.9519160631532703e-05_r8, 6.5111806283375481e-05_r8, & + 9.3223125181770127e-05_r8, 0.00013002783853081041_r8, & + 0.00016134001448071336_r8, 0.00018958622771718248_r8, & + 0.00021230884578976594_r8, 0.00023152201960780112_r8, & + 0.00024874215172664528_r8, 0.00026062144596367929_r8, & + 0.00026676314075416765_r8, 0.00027263613980347515_r8, & + 0.00028003010670416499_r8, 0.00029780401895813669_r8, & + 0.00031031171661241168_r8, 0.00032058196548618201_r8, & + 0.00032534621482471299_r8, 0.00033181689795368566_r8, & + 0.00033770701585514887_r8, 0.00034116120150164505_r8, & + 0.0003458828629507485_r8, 0.00034786324456478218_r8, & + 0.00034739184352874686_r8, 0.00035966815558302162_r8, & + 0.00035838053314512125_r8, 0.00035740877820806161_r8, & + 0.00035741186671110081_r8, 0.00035732033811629776_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,18) / & + 1.029738782235163e-05_r8, 1.0284042064698784e-05_r8, & + 1.0519718657700366e-05_r8, 1.0158923413734513e-05_r8, & + 1.1882521324558125e-05_r8, 1.4649494761413288e-05_r8, & + 2.5150648335025767e-05_r8, 3.7964385412559748e-05_r8, & + 4.6256338638364907e-05_r8, 5.2624451547667573e-05_r8, & + 5.6582446487839696e-05_r8, 5.9465632521694134e-05_r8, & + 6.0679591590785961e-05_r8, 6.3585440437651352e-05_r8, & + 6.8152152645100276e-05_r8, 7.5908613398175534e-05_r8, & + 0.0001005445899123936_r8, 0.00013264223405996161_r8, & + 0.00016196799765480355_r8, 0.00019043892489298443_r8, & + 0.00021410707678155236_r8, 0.00023378595437988629_r8, & + 0.00024948653701620808_r8, 0.00026381845421968457_r8, & + 0.00027580354978188156_r8, 0.00028528667537701738_r8, & + 0.00029438221426056837_r8, 0.00031524089212005946_r8, & + 0.00033060191211610755_r8, 0.00034044342075038186_r8, & + 0.00034580593784320183_r8, 0.00034880391583288806_r8, & + 0.00034922187785305943_r8, 0.00035460673746156646_r8, & + 0.00035796903556889047_r8, 0.0003598764952647014_r8, & + 0.00036135573148756149_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,18) / & + 1.0660545862471839e-05_r8, 1.0552503324256788e-05_r8, & + 1.0882809477350472e-05_r8, 1.0472525248980492e-05_r8, & + 1.1338343901913319e-05_r8, 1.3101126417417354e-05_r8, & + 1.9491527876035279e-05_r8, 3.248604859685139e-05_r8, & + 4.1785274430965996e-05_r8, 4.9400217880136474e-05_r8, & + 5.4175159715965973e-05_r8, 5.8209530725699036e-05_r8, & + 6.210310738054918e-05_r8, 6.7300389894610382e-05_r8, & + 7.3974355332541528e-05_r8, 8.2542033395295749e-05_r8, & + 0.00010825006838040442_r8, 0.00013742204918388629_r8, & + 0.00016457151144030351_r8, 0.00019086778035993197_r8, & + 0.00021404946384596333_r8, 0.00023407949622975625_r8, & + 0.00025123337210048835_r8, 0.00026711803938447729_r8, & + 0.00028034153479720948_r8, 0.00029292023838685453_r8, & + 0.0003047124923795834_r8, 0.00032683275784048453_r8, & + 0.00034323782044370265_r8, 0.00035481162117939602_r8, & + 0.00035971000379039406_r8, 0.00036409804842375511_r8, & + 0.00036418540313800605_r8, 0.00036943157076190853_r8, & + 0.00037389202466139762_r8, 0.00037480770504066057_r8, & + 0.0003754662509019814_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,18) / & + 9.5797036546001727e-06_r8, 9.6750667058408646e-06_r8, & + 9.9425760017098153e-06_r8, 9.8178086801616965e-06_r8, & + 1.0843391167950152e-05_r8, 1.2204170516269995e-05_r8, & + 1.8354968636147655e-05_r8, 3.5097869637533744e-05_r8, & + 4.7354377004624758e-05_r8, 5.5836593874162451e-05_r8, & + 6.0405301995584019e-05_r8, 6.5195095883200863e-05_r8, & + 6.9988654585767719e-05_r8, 7.5370322638087747e-05_r8, & + 8.212526677362781e-05_r8, 9.1944294786391856e-05_r8, & + 0.00011768642341786513_r8, 0.00014481031970720498_r8, & + 0.00016968616948565102_r8, 0.00019639262049357605_r8, & + 0.00022296247033161832_r8, 0.00024367457259277675_r8, & + 0.00026201579013322755_r8, 0.00027913928832374197_r8, & + 0.00029357958510571293_r8, 0.00030821452813465007_r8, & + 0.00032249868526798396_r8, 0.00034925661539319131_r8, & + 0.00036876803110431439_r8, 0.00038214021236061591_r8, & + 0.00038677240760192304_r8, 0.00039196861585393488_r8, & + 0.00039393711749755386_r8, 0.00039932704189889342_r8, & + 0.00040329710919182794_r8, 0.0004050937926501046_r8, & + 0.00040500273991384347_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,18) / & + 7.8815041454544374e-06_r8, 8.2792183179886921e-06_r8, & + 8.44498580501805e-06_r8, 8.9722578782565226e-06_r8, & + 9.8336661556436871e-06_r8, 1.1347244525168636e-05_r8, & + 1.7872888484659303e-05_r8, 3.6320014757484444e-05_r8, & + 5.2946581148819827e-05_r8, 6.4561589501337211e-05_r8, & + 6.9232688053531174e-05_r8, 7.3135374029183097e-05_r8, & + 7.8202618762048185e-05_r8, 8.4509507955187529e-05_r8, & + 9.3070674609444399e-05_r8, 0.00010328887239619834_r8, & + 0.00012794525484285783_r8, 0.00015572008244522291_r8, & + 0.00018237156913206642_r8, 0.00020849281606317451_r8, & + 0.00023446246915555342_r8, 0.00025637504955025852_r8, & + 0.000272380523668147_r8, 0.00028897892110690148_r8, & + 0.00030601535937710303_r8, 0.0003226239881214149_r8, & + 0.00033937576126888289_r8, 0.00037323123557951924_r8, & + 0.00039442662613663095_r8, 0.00040946529795388679_r8, & + 0.00041717421002126923_r8, 0.00042127772893161967_r8, & + 0.00042486515723839084_r8, 0.00042825114583223934_r8, & + 0.00042903020406004914_r8, 0.00043348441359335589_r8, & + 0.00043363653499668898_r8, 0.00043306102754967098_r8, & + 0.00043342874995164785_r8, 0.00043351316404048991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,18) / & + 6.9211066166845906e-06_r8, 7.2327426393685123e-06_r8, & + 6.9513310144070687e-06_r8, 8.0743250011970913e-06_r8, & + 8.4751821276014296e-06_r8, 9.8962732599835561e-06_r8, & + 1.0955940245858918e-05_r8, 2.7364378914707578e-05_r8, & + 4.8064924883549608e-05_r8, 6.5675982869580548e-05_r8, & + 7.4600146859697022e-05_r8, 8.1071215842273982e-05_r8, & + 8.7827845196225099e-05_r8, 9.5579572971888577e-05_r8, & + 0.00010422017807072406_r8, 0.00011517100705631139_r8, & + 0.00013892307504932033_r8, 0.00016364072910933535_r8, & + 0.0001893395107369825_r8, 0.00021385139358379656_r8, & + 0.00023521832242790378_r8, 0.0002566975242376733_r8, & + 0.00027714429962559663_r8, 0.00029714161258741586_r8, & + 0.00031610583635737296_r8, 0.00033216399060225719_r8, & + 0.00034971740201125739_r8, 0.00039000226161519931_r8, & + 0.00041414652312442534_r8, 0.0004299278703984891_r8, & + 0.00043883969034869418_r8, 0.00044428940274558639_r8, & + 0.00044693829605453578_r8, 0.00044855270856759816_r8, & + 0.00044896304588581748_r8, 0.00044881216364212571_r8, & + 0.00044837262835420021_r8, 0.00044758881858378871_r8, & + 0.00044877693014321951_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,18) / & + 7.2926432683905839e-06_r8, 7.1806196470349436e-06_r8, & + 6.2225778228538911e-06_r8, 7.7145078544580173e-06_r8, & + 7.9529041279414949e-06_r8, 8.5755984782319738e-06_r8, & + 1.110530227915485e-05_r8, 2.7560808265463186e-05_r8, & + 4.7155491395879836e-05_r8, 6.5454778452602835e-05_r8, & + 7.6504625460269621e-05_r8, 8.5629801768934992e-05_r8, & + 9.6136335323918578e-05_r8, 0.00010547428378466231_r8, & + 0.00011375126837288137_r8, 0.00012311764479762657_r8, & + 0.00014284909804454773_r8, 0.00016560826951099108_r8, & + 0.00019061382074426922_r8, 0.00021310205114484452_r8, & + 0.00023507575291488534_r8, 0.00025666780259881605_r8, & + 0.00027840756483879774_r8, 0.00029914895753183844_r8, & + 0.00032008639860985289_r8, 0.00033978216443215838_r8, & + 0.00036089145137486106_r8, 0.00040989670787911295_r8, & + 0.00044056890337341472_r8, 0.00046071104186514003_r8, & + 0.00046922419102450239_r8, 0.00047677199733564025_r8, & + 0.00047902343729754672_r8, 0.00048021540992606345_r8, & + 0.00046868312242169871_r8, 0.00046432968043675553_r8, & + 0.00046304513230538782_r8, 0.00046249490583915204_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,18) / & + 8.0088030802417013e-06_r8, 7.8914185453545936e-06_r8, & + 7.4856487825221519e-06_r8, 9.8684078837848524e-06_r8, & + 1.0598056358309915e-05_r8, 1.1517483390646875e-05_r8, & + 1.943270960320902e-05_r8, 3.3620382390813472e-05_r8, & + 4.8872810765935992e-05_r8, 6.5418879192597417e-05_r8, & + 7.6286449936643222e-05_r8, 8.5750251403313719e-05_r8, & + 9.660660099479457e-05_r8, 0.0001073088775169855_r8, & + 0.00011626901864669059_r8, 0.00012603451676390838_r8, & + 0.00014514686334928773_r8, 0.00016761147104459232_r8, & + 0.00019251007766881879_r8, 0.00021485736751489706_r8, & + 0.00023918413083898961_r8, 0.00026054036608064314_r8, & + 0.00028291098702426331_r8, 0.00030386217109752668_r8, & + 0.0003307282586589748_r8, 0.00035593872921840634_r8, & + 0.00038178949159020631_r8, 0.00043307924382919165_r8, & + 0.00046917980413012589_r8, 0.00049241060050269714_r8, & + 0.00050491637193660717_r8, 0.0005144257613222612_r8, & + 0.00051248971498061983_r8, 0.00051510498237880499_r8, & + 0.00048650828306249166_r8, 0.00047993297761706014_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,18) / & + 1.152866571222661e-05_r8, 1.1351180938831813e-05_r8, & + 1.3074596100940399e-05_r8, 1.4467505020986448e-05_r8, & + 1.604194572853177e-05_r8, 1.8440477123190833e-05_r8, & + 2.6168544875321702e-05_r8, 3.6197022386849393e-05_r8, & + 4.7431837602799213e-05_r8, 6.3087934133602299e-05_r8, & + 7.4314207507702231e-05_r8, 8.4070158564282377e-05_r8, & + 9.6413096469864608e-05_r8, 0.00010848367807305312_r8, & + 0.00011769241343469557_r8, 0.00012739629367571894_r8, & + 0.00014921789432068938_r8, 0.00017091458606712949_r8, & + 0.00019893597537449704_r8, 0.00022195065955914149_r8, & + 0.00024572635413972317_r8, 0.0002663860796988059_r8, & + 0.00029343015248520118_r8, 0.00031814208222113484_r8, & + 0.00034651602486069862_r8, 0.00037206466818101369_r8, & + 0.00039845572561508655_r8, 0.00045327346453630663_r8, & + 0.00049191765884391999_r8, 0.00051196311507711628_r8, & + 0.00052506633397301681_r8, 0.00053435745437103142_r8, & + 0.00052983144215689663_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,18) / & + 1.4901148955821021e-05_r8, 1.4242978245702544e-05_r8, & + 1.8819926556595924e-05_r8, 2.2547005597094514e-05_r8, & + 2.5955837927802012e-05_r8, 2.7901197405312477e-05_r8, & + 3.4966370215368714e-05_r8, 4.1059823878055758e-05_r8, & + 5.0344689849022258e-05_r8, 6.2270367194929992e-05_r8, & + 7.4219253406160085e-05_r8, 8.3974082727510165e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,18) / & + 6.8278963447247315e-05_r8, 4.8991092573034164e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,18) / & + 2.1750963251140665e-05_r8, 2.4376501301636197e-05_r8, & + 3.3459292167258126e-05_r8, 3.5812062720771097e-05_r8, & + 4.1603064667668289e-05_r8, 4.5547037291868252e-05_r8, & + 5.6074064090082713e-05_r8, 5.6095892909145532e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,18) / & + 3.3606196458159307e-05_r8, 3.0004115986129036e-05_r8, & + 3.6009411601060967e-05_r8, 4.0431724767797508e-05_r8, & + 4.614089131393929e-05_r8, 4.9414001233530346e-05_r8, & + 5.822564037883309e-05_r8, 6.5528192603875625e-05_r8, & + 6.625331277077448e-05_r8, 6.3658012033717656e-05_r8, & + 5.9962849602428008e-05_r8, 5.9655140445959886e-05_r8, & + 5.0133070337697109e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,18) / & + 3.2841308311163349e-05_r8, 2.4691610520239112e-05_r8, & + 2.6801520683337581e-05_r8, 3.5556486393967627e-05_r8, & + 4.1006572649555e-05_r8, 5.1276010806026601e-05_r8, & + 5.257848300701665e-05_r8, 5.4397827707985628e-05_r8, & + 5.2887594641552982e-05_r8, 5.1191694991453044e-05_r8, & + 5.0935252536301576e-05_r8, 5.1206114066169024e-05_r8, & + 5.1738935810142747e-05_r8, 5.2578506949722534e-05_r8, & + 5.4749724577005424e-05_r8, 5.7198725493434537e-05_r8, & + 5.9214064706605734e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,18) / & + 2.6813191930429898e-05_r8, 2.1063661254147939e-05_r8, & + 2.5166325040376636e-05_r8, 3.0566078414095812e-05_r8, & + 3.3277925034016996e-05_r8, 4.4916748436668985e-05_r8, & + 4.9101808577995578e-05_r8, 5.1799251004125718e-05_r8, & + 5.1517072289354442e-05_r8, 5.1665061128691702e-05_r8, & + 5.2106478655831963e-05_r8, 5.4052022384338059e-05_r8, & + 5.6945588560734435e-05_r8, 5.8691376089376504e-05_r8, & + 6.0924927637463427e-05_r8, 6.1488744334928144e-05_r8, & + 6.3626848207499819e-05_r8, 6.5471731439275627e-05_r8, & + 6.923153706565859e-05_r8, 7.3388742187448201e-05_r8, & + 7.790095188450554e-05_r8, 8.1051749728818043e-05_r8, & + 7.9850612458127755e-05_r8, 8.7153820798409895e-05_r8, & + 9.3774670762651613e-05_r8, 0.00010052376107454854_r8, & + 0.00010449578376739779_r8, 0.00010772439448154404_r8, & + 0.00011085822770959776_r8, 0.00011271010172288487_r8, & + 0.00011453005990883334_r8, 0.00011613696263706727_r8, & + 0.00011704786013488372_r8, 0.00011758811869787663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,44,18) / & + 4.5871542828542426e-05_r8, 5.3642095126399466e-05_r8, & + 5.4898297732423488e-05_r8, 5.2985946146807184e-05_r8, & + 5.2586463518724469e-05_r8, 5.9119528223343457e-05_r8, & + 5.3642780272661247e-05_r8, 5.1213957009219076e-05_r8, & + 5.3451821825243736e-05_r8, 5.5097102571369216e-05_r8, & + 5.5774609865076976e-05_r8, 5.7727547329273495e-05_r8, & + 5.9539588174520739e-05_r8, 6.1428183508694875e-05_r8, & + 6.3350139401570441e-05_r8, 6.4457225526601337e-05_r8, & + 6.7120350373088406e-05_r8, 6.8808355894305057e-05_r8, & + 7.1683686644084715e-05_r8, 7.5103545025187826e-05_r8, & + 7.85683123979557e-05_r8, 8.1860329372124537e-05_r8, & + 8.3874346435075834e-05_r8, 8.9426309741940817e-05_r8, & + 9.4630843052035741e-05_r8, 0.0001000268160132312_r8, & + 0.00010453833318123542_r8, 0.00011022382224905308_r8, & + 0.00011282161885748519_r8, 0.00011513073173917525_r8, & + 0.00011688389465040734_r8, 0.00011873993628211539_r8, & + 0.00011970473439931223_r8, 0.00012021967672630406_r8, & + 0.00012045759996885581_r8, 0.00012032791110978513_r8, & + 0.00012067565627752362_r8, 0.00012130262442304482_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,18) / & + 7.2864062054343176e-05_r8, 9.4829737630076021e-05_r8, & + 9.3497376446688928e-05_r8, 0.00011010741992578012_r8, & + 0.00010609205274642424_r8, 0.00010660206547027749_r8, & + 9.462978621992077e-05_r8, 6.3254119085899454e-05_r8, & + 6.5497008983479298e-05_r8, 6.6562706388763757e-05_r8, & + 6.6843239616697791e-05_r8, 6.6730938599663682e-05_r8, & + 6.5478458019258682e-05_r8, 6.7101144389225192e-05_r8, & + 6.8654668268095643e-05_r8, 7.0156898408631096e-05_r8, & + 7.1181677117534672e-05_r8, 7.2277027373035587e-05_r8, & + 7.4585643022052466e-05_r8, 7.7865345779908681e-05_r8, & + 8.0758712575117105e-05_r8, 8.4471371970370478e-05_r8, & + 8.8302644835130546e-05_r8, 9.2934720509970292e-05_r8, & + 9.8244026407883059e-05_r8, 0.00010292357788172437_r8, & + 0.00010884886842224975_r8, 0.00011789580886879809_r8, & + 0.00011808903827257443_r8, 0.00011847973267712969_r8, & + 0.00011924792036023139_r8, 0.00012021872595634553_r8, & + 0.00012099557315673871_r8, 0.00012102776198725726_r8, & + 0.00012159365542686766_r8, 0.00012202559916000836_r8, & + 0.00012420411871485744_r8, 0.00012456923216445947_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,19) / & + 9.3232023968176949e-05_r8, 9.0750384291672943e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,5,19) / & + 9.4349767386304038e-05_r8, 9.4351137880180179e-05_r8, & + 9.447288974066328e-05_r8, 0.00010195794446084173_r8, & + 0.00012614678555804398_r8, 0.00013843530049114028_r8, & + 0.00014968250501817376_r8, 0.00015519553531984372_r8, & + 0.00015676239974470941_r8, 0.00015966280784109819_r8, & + 0.00016246903489962461_r8, 0.00016813660825797872_r8, & + 0.00017457538537622876_r8, 0.00017628686237214331_r8, & + 0.00017821189177155805_r8, 0.00017998943039560173_r8, & + 0.00018480000219994283_r8, 0.00018776839447336217_r8, & + 0.00019135329985136125_r8, 0.00019901407002542298_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,19) / & + 9.4056488444056233e-05_r8, 9.4722327572122062e-05_r8, & + 9.5797490220839458e-05_r8, 0.00010005878369140269_r8, & + 0.00011333794453142425_r8, 0.0001264915453448292_r8, & + 0.00014486739353081107_r8, 0.00015311444888170428_r8, & + 0.00015789772515500424_r8, 0.00016124860139148613_r8, & + 0.00016286163414912848_r8, 0.0001651939963169818_r8, & + 0.0001691594100160394_r8, 0.00017210486999706491_r8, & + 0.00017469900450396556_r8, 0.00017703958383631695_r8, & + 0.0001827887395006387_r8, 0.00018645091310002875_r8, & + 0.00019149358504545416_r8, 0.00019714273767847034_r8, & + 0.00020239537329758473_r8, 0.00021975970701278817_r8, & + 0.00021913828374792472_r8, 0.00022492602497184482_r8, & + 0.00023373184479885003_r8, 0.00023823661313401268_r8, & + 0.00024096672601692489_r8, 0.00025021237207868924_r8, & + 0.0002560108494215911_r8, 0.00026052195211986959_r8, & + 0.00026473589990965102_r8, 0.00026673700995150302_r8, & + 0.00026549296042113692_r8, 0.00026709558781074384_r8, & + 0.00026969686162275918_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,19) / & + 8.295791468913849e-05_r8, 8.4175073630253275e-05_r8, & + 8.546513568857669e-05_r8, 8.5854534583270237e-05_r8, & + 9.0919164082533003e-05_r8, 9.4468829980218075e-05_r8, & + 0.00010463128021122209_r8, 0.00011909104981794362_r8, & + 0.00013491300910188267_r8, 0.00014591809662308213_r8, & + 0.00015343564738736612_r8, 0.00015689623768393472_r8, & + 0.00016048385219917703_r8, 0.00016419038186473559_r8, & + 0.0001666401152284396_r8, 0.00016821273553990247_r8, & + 0.000171055302918481_r8, 0.00017351754564915974_r8, & + 0.00017600881143994821_r8, 0.00017888760808112373_r8, & + 0.00018208702734012438_r8, 0.00019031254246589262_r8, & + 0.00019167785006573594_r8, 0.00019703233419278383_r8, & + 0.00020547237823656821_r8, 0.0002104233129202694_r8, & + 0.00021645709429973724_r8, 0.00023017339461002908_r8, & + 0.00024261751205313694_r8, 0.00025203957287522097_r8, & + 0.00026022212319950144_r8, 0.00026471539888208432_r8, & + 0.00026660856042132045_r8, 0.00026816964987942682_r8, & + 0.00026979677897096005_r8, 0.00027186994143577953_r8, & + 0.0002761581841551264_r8, 0.00028496300589017285_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,19) / & + 6.0680592925023283e-05_r8, 6.3218523438599638e-05_r8, & + 6.4427790769234204e-05_r8, 6.5812293959750218e-05_r8, & + 6.7728893703850873e-05_r8, 5.9000837627946365e-05_r8, & + 5.4065553587488084e-05_r8, 6.5145976707479923e-05_r8, & + 8.1412316940893614e-05_r8, 9.854308515731941e-05_r8, & + 0.00011137445283437523_r8, 0.00012070253564654171_r8, & + 0.00013487260257573664_r8, 0.00014336844440037425_r8, & + 0.00014905940625079315_r8, 0.00015416126942055343_r8, & + 0.00016215841771447643_r8, 0.00016839725694951812_r8, & + 0.00017201380476765681_r8, 0.00017491805973422105_r8, & + 0.00017739309958825483_r8, 0.00018003512825179178_r8, & + 0.00018365728624588365_r8, 0.00018705665877318602_r8, & + 0.00019085506621427064_r8, 0.00019433124464368908_r8, & + 0.00019950985342871136_r8, 0.00021603354269860784_r8, & + 0.00023180902165046544_r8, 0.00024597062008753094_r8, & + 0.00025507697533512649_r8, 0.00026063780705564869_r8, & + 0.00026450088149364487_r8, 0.00026743045626943524_r8, & + 0.00026925878391660972_r8, 0.0002708268203881701_r8, & + 0.00027357075348196649_r8, 0.00028339401153475364_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,19) / & + 4.1443074327163567e-05_r8, 4.3525909921746932e-05_r8, & + 4.4148342800323458e-05_r8, 4.4974057752822117e-05_r8, & + 4.4698428209542624e-05_r8, 3.9309959887023578e-05_r8, & + 3.9916722835026713e-05_r8, 4.321956645916831e-05_r8, & + 4.8081510154205951e-05_r8, 5.5349823485741431e-05_r8, & + 6.317665352572081e-05_r8, 6.9730327856113092e-05_r8, & + 8.4670267562661372e-05_r8, 9.6742830815068194e-05_r8, & + 0.00010583154991616249_r8, 0.0001153605977690895_r8, & + 0.00013087169286735354_r8, 0.00014339097625947706_r8, & + 0.00015236527310407742_r8, 0.00016150701498727731_r8, & + 0.00016696107893368419_r8, 0.00017007633943438995_r8, & + 0.00017431448879669722_r8, 0.00017726546455043102_r8, & + 0.00017978835841305784_r8, 0.00018229647053402437_r8, & + 0.00018598727433132622_r8, 0.00019969898649131642_r8, & + 0.00021424462718395903_r8, 0.00023152112249780516_r8, & + 0.00024341682084124251_r8, 0.000252996224376797_r8, & + 0.00025666075073125833_r8, 0.0002629827576125121_r8, & + 0.00026756591905333538_r8, 0.000269869667773156_r8, & + 0.00026984385741692459_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,19) / & + 2.8757661506822883e-05_r8, 2.992655506585015e-05_r8, & + 2.991384445032726e-05_r8, 3.1802765379535993e-05_r8, & + 3.2029694826101733e-05_r8, 3.3140360897885284e-05_r8, & + 3.4653011829271959e-05_r8, 3.8484757147920816e-05_r8, & + 4.3090103531236653e-05_r8, 4.7264383890018278e-05_r8, & + 5.4629266169921317e-05_r8, 6.1932845862479278e-05_r8, & + 7.8741761457459204e-05_r8, 9.2495343492059504e-05_r8, & + 0.00010159539630852284_r8, 0.00011077285775101487_r8, & + 0.00012738962768196239_r8, 0.00013429133792491435_r8, & + 0.00013884841207981925_r8, 0.00014572686568317415_r8, & + 0.00015288943989534321_r8, 0.00015619525180904031_r8, & + 0.00015722880218417678_r8, 0.00015822652188073313_r8, & + 0.00016169673396898866_r8, 0.00016390285134961822_r8, & + 0.00016583545406582932_r8, 0.00017522249872830133_r8, & + 0.00018535916569949212_r8, 0.00019994405380277178_r8, & + 0.00021731838154906034_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,19) / & + 1.6830279139883151e-05_r8, 1.7310608415026173e-05_r8, & + 1.629541657201393e-05_r8, 1.5921839419877475e-05_r8, & + 1.606062949450626e-05_r8, 1.6541612758464835e-05_r8, & + 1.6133519734488973e-05_r8, 1.7678324820034032e-05_r8, & + 1.9732501516153591e-05_r8, 2.2510640713600064e-05_r8, & + 2.7218380334917253e-05_r8, 2.9602383278992642e-05_r8, & + 3.6903796865286439e-05_r8, 4.220697602226081e-05_r8, & + 4.7651521361517619e-05_r8, 5.336562404899236e-05_r8, & + 6.3815729438177935e-05_r8, 7.0545762747456907e-05_r8, & + 8.6215427974268858e-05_r8, 0.00010033929948714681_r8, & + 0.00010661810918016866_r8, 0.00010754109173019549_r8, & + 0.00011316743105093321_r8, 0.00012248246320063121_r8, & + 0.00013156167253247904_r8, 0.00013763427172504652_r8, & + 0.00014185530046094882_r8, 0.00015208334754150969_r8, & + 0.00016139288860267799_r8, 0.00017212744546383992_r8, & + 0.00018563309654181425_r8, 0.00020269848390271652_r8, & + 0.00021690612553683223_r8, 0.00022759640820288251_r8, & + 0.00023682720869104397_r8, 0.00024614972717497126_r8, & + 0.00025839800254674918_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,19) / & + 9.6530853696177764e-06_r8, 9.7941966090334291e-06_r8, & + 9.002700624302633e-06_r8, 6.9648192286699129e-06_r8, & + 6.8375300123467924e-06_r8, 6.8591025782221919e-06_r8, & + 6.6555328694988056e-06_r8, 8.0931540607579849e-06_r8, & + 8.6948685068187804e-06_r8, 9.485524080081788e-06_r8, & + 1.0903371197875147e-05_r8, 1.109358808087795e-05_r8, & + 1.1710127853712812e-05_r8, 1.2985948907317839e-05_r8, & + 1.4381331013763322e-05_r8, 1.5573547825375874e-05_r8, & + 2.062085460710156e-05_r8, 2.8812083241337574e-05_r8, & + 3.7392489977488654e-05_r8, 4.9419728410648546e-05_r8, & + 5.8403974496952381e-05_r8, 6.8915697913783026e-05_r8, & + 7.4532754117718748e-05_r8, 8.7255481998820906e-05_r8, & + 0.00010410880808176356_r8, 0.00011737208767906767_r8, & + 0.00013005431335846016_r8, 0.00014881812289989295_r8, & + 0.00016434084405068957_r8, 0.00017297402448128996_r8, & + 0.00019222398801732948_r8, 0.00021372241978334533_r8, & + 0.00022540020499308542_r8, 0.0002346250439904998_r8, & + 0.00024433813810650554_r8, 0.00025234188979761943_r8, & + 0.00026019382296574485_r8, 0.00027065657508942289_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,19) / & + 6.7187941398306462e-06_r8, 6.8162186079063679e-06_r8, & + 6.3250488427295761e-06_r8, 4.7185181137936527e-06_r8, & + 4.7673398471232029e-06_r8, 4.6850897560175742e-06_r8, & + 4.6903221308271008e-06_r8, 5.9282012860180927e-06_r8, & + 6.498625793272027e-06_r8, 6.953878276584285e-06_r8, & + 7.2517911954317701e-06_r8, 7.4294215284725704e-06_r8, & + 7.7639992004221351e-06_r8, 8.3520483040440996e-06_r8, & + 8.8503764990000165e-06_r8, 9.3562585882983604e-06_r8, & + 1.1153338252671462e-05_r8, 1.6238009668338222e-05_r8, & + 2.2994578853110539e-05_r8, 3.2692014565341186e-05_r8, & + 4.4812731375945758e-05_r8, 5.9423917309435832e-05_r8, & + 7.201882529616504e-05_r8, 8.6144838638272265e-05_r8, & + 0.00010209989983305625_r8, 0.00011835925419326969_r8, & + 0.00013319575969923797_r8, 0.00016053442951823653_r8, & + 0.00017457170695963942_r8, 0.00018744483255143666_r8, & + 0.0002140485478466009_r8, 0.00023065904211872911_r8, & + 0.00024067966937797123_r8, 0.0002474666558255415_r8, & + 0.00025521395078836054_r8, 0.00026007430437783625_r8, & + 0.00026455093482351309_r8, 0.00027463194562601039_r8, & + 0.0002833699624373155_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,19) / & + 5.6619106889853761e-06_r8, 5.7144856176178088e-06_r8, & + 5.4618212257419299e-06_r8, 5.4154736918211862e-06_r8, & + 5.4699859399404065e-06_r8, 5.2731128644727846e-06_r8, & + 5.0199574980257329e-06_r8, 4.9689219053293325e-06_r8, & + 5.0109973096769337e-06_r8, 5.2343154355395619e-06_r8, & + 5.2762194821782248e-06_r8, 5.5130209864497966e-06_r8, & + 6.7183306087438472e-06_r8, 7.6493880905256964e-06_r8, & + 8.2383477159699645e-06_r8, 8.5714011395785817e-06_r8, & + 9.9054515419912256e-06_r8, 1.26804548904124e-05_r8, & + 1.7946022375629626e-05_r8, 2.8955051009378446e-05_r8, & + 4.3846343149501069e-05_r8, 6.065151887968872e-05_r8, & + 8.0655034464193848e-05_r8, 9.8310876351862523e-05_r8, & + 0.00011546437996014296_r8, 0.00013148093314596613_r8, & + 0.00014542108978955626_r8, 0.00016821504348535146_r8, & + 0.00018200842303352826_r8, 0.00020525353657390973_r8, & + 0.00022748811820060284_r8, 0.00024023580375433161_r8, & + 0.00024808877660780886_r8, 0.00025208993536519458_r8, & + 0.00025873791565737369_r8, 0.00026249216836806994_r8, & + 0.00026580795162680829_r8, 0.00027197711120178168_r8, & + 0.00028018544397883993_r8, 0.00028278504145823558_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,19) / & + 6.1497430591972657e-06_r8, 6.1307151287795416e-06_r8, & + 6.0198470575911725e-06_r8, 6.7077653815070984e-06_r8, & + 6.3396452315444225e-06_r8, 6.1769771278279908e-06_r8, & + 5.728975839299564e-06_r8, 5.2867243697754056e-06_r8, & + 5.0671742159896129e-06_r8, 5.1868410151833372e-06_r8, & + 5.3000215976082115e-06_r8, 5.6712903298094689e-06_r8, & + 6.5224946685688736e-06_r8, 7.269408554968227e-06_r8, & + 8.4142028345080882e-06_r8, 9.1264739150073863e-06_r8, & + 1.0069730443883411e-05_r8, 1.1758042786490234e-05_r8, & + 1.6761190313797075e-05_r8, 3.1864035810778529e-05_r8, & + 4.8987241214910646e-05_r8, 7.1940339139715218e-05_r8, & + 9.6890665073720965e-05_r8, 0.00011944602009311636_r8, & + 0.00013962274678220197_r8, 0.00015254208705177118_r8, & + 0.00016562692019963078_r8, 0.00018148408034728556_r8, & + 0.00019342475026706935_r8, 0.00021732293472265926_r8, & + 0.00023094624970533182_r8, 0.00023920854738606836_r8, & + 0.00024663818816682655_r8, 0.00024958854847815929_r8, & + 0.00025747739688976529_r8, 0.00026213116420197377_r8, & + 0.00026429425536038392_r8, 0.00026871277296428432_r8, & + 0.00027536170371018302_r8, 0.00028649091739960152_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,19) / & + 7.0298885461828812e-06_r8, 6.9976869712560523e-06_r8, & + 6.9737756181147614e-06_r8, 7.4432139726249998e-06_r8, & + 6.2580953837955259e-06_r8, 6.3717246509061107e-06_r8, & + 6.9946815905594911e-06_r8, 6.3706283085559418e-06_r8, & + 5.7673722011192719e-06_r8, 5.1637523572882888e-06_r8, & + 5.1418936076979764e-06_r8, 5.8495127110335735e-06_r8, & + 7.0732447651685976e-06_r8, 7.6999235310188089e-06_r8, & + 8.8295500204490228e-06_r8, 9.490169931444847e-06_r8, & + 1.0488279859882164e-05_r8, 1.2801894127862233e-05_r8, & + 2.1407903532423247e-05_r8, 3.9634994875375076e-05_r8, & + 5.9247204047696353e-05_r8, 8.7548066524250012e-05_r8, & + 0.00011773397755960293_r8, 0.0001468000585916739_r8, & + 0.0001679014529440017_r8, 0.00018024464647154733_r8, & + 0.00019330852782461702_r8, 0.00020756838677742339_r8, & + 0.00022459124639476354_r8, 0.00024061812892967632_r8, & + 0.00024775813511097525_r8, 0.00025183336049245091_r8, & + 0.0002580767278079543_r8, 0.00026356149575189862_r8, & + 0.00027263408242899051_r8, 0.00027884674933814494_r8, & + 0.0002775729565594591_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,19) / & + 7.0982986895170282e-06_r8, 7.0254412818395899e-06_r8, & + 6.9821188930433404e-06_r8, 7.1713058361825956e-06_r8, & + 6.5994280555743482e-06_r8, 6.5553120624590813e-06_r8, & + 7.1844403958908782e-06_r8, 7.3883865350583701e-06_r8, & + 7.2823026131838008e-06_r8, 6.8135379290435349e-06_r8, & + 6.4136971687414782e-06_r8, 7.2717245137485328e-06_r8, & + 8.377238042633134e-06_r8, 9.1537490201170808e-06_r8, & + 9.4425324873978306e-06_r8, 9.7488605381833231e-06_r8, & + 1.1428772716796769e-05_r8, 1.6156729483857332e-05_r8, & + 3.0962554137212488e-05_r8, 5.9870490603428516e-05_r8, & + 9.391907240366853e-05_r8, 0.00013282941203844934_r8, & + 0.0001625210356765676_r8, 0.00018637908139264449_r8, & + 0.00020210854963401885_r8, 0.00021434186373993702_r8, & + 0.00022472114073549191_r8, 0.00023834908584044963_r8, & + 0.00025237159558894192_r8, 0.00025933556387113178_r8, & + 0.00026359272743946386_r8, 0.00026835140932439161_r8, & + 0.00027504710107392939_r8, 0.00028180026290598362_r8, & + 0.00029152369859884356_r8, 0.00029802709207514723_r8, & + 0.00030320703989493485_r8, 0.00030652904948873905_r8, & + 0.00030761958065889133_r8, 0.0003097057855030662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,19) / & + 7.4137740478440968e-06_r8, 7.334594569643364e-06_r8, & + 7.2769910318645717e-06_r8, 7.4025811302713131e-06_r8, & + 7.4235228741482612e-06_r8, 7.431588056946777e-06_r8, & + 8.0546148550764254e-06_r8, 9.0467721828813857e-06_r8, & + 1.0298854968525625e-05_r8, 1.14907431422246e-05_r8, & + 1.2748349553591151e-05_r8, 1.3725548936447879e-05_r8, & + 1.5471138224935297e-05_r8, 1.4516272226164277e-05_r8, & + 1.4516703145660152e-05_r8, 1.5294635918080726e-05_r8, & + 1.9506522175521084e-05_r8, 3.6771743461082822e-05_r8, & + 6.6066540649785779e-05_r8, 0.00011143494762101999_r8, & + 0.00015563788205870158_r8, 0.00018809535301499635_r8, & + 0.00020557826667359032_r8, 0.00021980816502560437_r8, & + 0.00022893576549055694_r8, 0.00023842559577337932_r8, & + 0.00024531504275947377_r8, 0.00025796249960511279_r8, & + 0.00026791637872545609_r8, 0.000276807341980897_r8, & + 0.00028019160341288731_r8, 0.00028584569502397057_r8, & + 0.00029324528258406967_r8, 0.0002998669375725988_r8, & + 0.0003087275060920975_r8, 0.00031559388663635014_r8, & + 0.00031978506775905314_r8, 0.00032325851751942883_r8, & + 0.00032521675533100415_r8, 0.0003270701767789927_r8, & + 0.00032688528626753421_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,19) / & + 8.148765542047164e-06_r8, 8.1221303848447847e-06_r8, & + 8.2305987495622131e-06_r8, 8.2311374244715789e-06_r8, & + 8.7026238971524067e-06_r8, 9.6436112083949591e-06_r8, & + 1.193628305957704e-05_r8, 1.7586068081719933e-05_r8, & + 2.2524610840027756e-05_r8, 2.7656274628720167e-05_r8, & + 3.1557796424250797e-05_r8, 3.4065754426650667e-05_r8, & + 4.0576389413576159e-05_r8, 3.9372021741935016e-05_r8, & + 4.0227636713522861e-05_r8, 4.3162796016672253e-05_r8, & + 6.0323746219206515e-05_r8, 9.8075548008041247e-05_r8, & + 0.00013451018357655246_r8, 0.00016918694328733934_r8, & + 0.00019778568668816205_r8, 0.00021728853822703976_r8, & + 0.00023050123613746939_r8, 0.00024123923617278074_r8, & + 0.00024673852492254167_r8, 0.00025176119513868622_r8, & + 0.000258974095663473_r8, 0.00027272538173771921_r8, & + 0.00028267684507864973_r8, 0.00029855725469399552_r8, & + 0.00030269877209529835_r8, 0.00030652235848076763_r8, & + 0.00031621622986271482_r8, 0.00032282988551674322_r8, & + 0.00033016225339614879_r8, 0.00033468074696324854_r8, & + 0.00033830071373322691_r8, 0.0003404284087423389_r8, & + 0.00034196687079470113_r8, 0.00034215535681008074_r8, & + 0.00034178995290003574_r8, 0.00034191935152511711_r8, & + 0.00034183725913582104_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,19) / & + 8.4754126846835124e-06_r8, 8.6531583659875668e-06_r8, & + 9.2959187143958542e-06_r8, 9.8782982380257444e-06_r8, & + 1.0778105588013905e-05_r8, 1.2753168818824506e-05_r8, & + 1.9190457258429919e-05_r8, 3.1545090973274734e-05_r8, & + 4.0277982555216186e-05_r8, 4.7804903815280388e-05_r8, & + 5.3006103085854272e-05_r8, 5.7653504736854415e-05_r8, & + 6.1066642269239042e-05_r8, 6.0221628338482365e-05_r8, & + 6.2074614611818473e-05_r8, 6.6700757552283553e-05_r8, & + 9.6164840262552743e-05_r8, 0.00013383722340271377_r8, & + 0.00016349013529411778_r8, 0.00019205731410601722_r8, & + 0.00021677590675822026_r8, 0.00023707876629938996_r8, & + 0.00025375166255169306_r8, 0.00026587143185813144_r8, & + 0.00027011175101618789_r8, 0.00027561634641360479_r8, & + 0.00028287933129760435_r8, 0.00029771297783894328_r8, & + 0.00030920219987261359_r8, 0.00032125990990960009_r8, & + 0.00032650838946875573_r8, 0.00033018858783518193_r8, & + 0.00033859658820004817_r8, 0.0003454477772987181_r8, & + 0.00035185908067178782_r8, 0.00035599009134217898_r8, & + 0.0003574340061014368_r8, 0.00035754670838463576_r8, & + 0.00035738572084825212_r8, 0.00035692563440971716_r8, & + 0.00035559886829532078_r8, 0.00035552556561929162_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,19) / & + 8.8804573307666639e-06_r8, 9.1302399815054495e-06_r8, & + 9.926412199934087e-06_r8, 1.0450113725390755e-05_r8, & + 1.1871884415245912e-05_r8, 1.338283046989042e-05_r8, & + 2.0378044028424661e-05_r8, 3.2857068934548059e-05_r8, & + 4.2790592770110932e-05_r8, 5.2269844940639513e-05_r8, & + 5.7617284005690982e-05_r8, 6.0228633657492532e-05_r8, & + 6.1491208257694765e-05_r8, 6.3253708088642421e-05_r8, & + 6.6150002894163271e-05_r8, 7.3112110946470029e-05_r8, & + 9.8682663495266163e-05_r8, 0.00013025411245391852_r8, & + 0.00016189523387224927_r8, 0.00019211549224037322_r8, & + 0.00021701502201874794_r8, 0.00023689661825559231_r8, & + 0.00025302802424708966_r8, 0.00026855555311077085_r8, & + 0.00028026522230658251_r8, 0.00028833724812255907_r8, & + 0.00029644233500163007_r8, 0.00031698072677990185_r8, & + 0.00033318342730951728_r8, 0.0003424404843677479_r8, & + 0.00034772647857337307_r8, 0.00035148346056698237_r8, & + 0.00035490782133787142_r8, 0.0003596354203300651_r8, & + 0.00036245837146855358_r8, 0.00036461111340395347_r8, & + 0.00036664461844583063_r8, 0.00037265484454913157_r8, & + 0.00037215049338627527_r8, 0.00037103191533004978_r8, & + 0.00036876708240377303_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,19) / & + 8.7467052446098243e-06_r8, 8.7436574685330625e-06_r8, & + 9.3964605762054511e-06_r8, 9.4419630518107108e-06_r8, & + 1.0089661087275071e-05_r8, 1.1008466134759081e-05_r8, & + 1.6167051605361572e-05_r8, 2.791234309122446e-05_r8, & + 3.8759770318892881e-05_r8, 4.8214945328720288e-05_r8, & + 5.3686758037848448e-05_r8, 5.6851137507618398e-05_r8, & + 5.9063569810710897e-05_r8, 6.4161788747624408e-05_r8, & + 7.0133451506446083e-05_r8, 7.9276366623069649e-05_r8, & + 0.00010264183566859402_r8, 0.0001308376140418739_r8, & + 0.00016107794163813355_r8, 0.00019166995856663313_r8, & + 0.00021574417851009665_r8, 0.00023689837132219327_r8, & + 0.00025486455162912773_r8, 0.00027273304342235652_r8, & + 0.00028598850904370876_r8, 0.00029800886090653074_r8, & + 0.00030848528254468882_r8, 0.00032980917414917655_r8, & + 0.00034799901982482433_r8, 0.00035884760405837328_r8, & + 0.00036502265767443461_r8, 0.00036828478667487224_r8, & + 0.00037008492621223897_r8, 0.00037300509555850868_r8, & + 0.00037502372162005412_r8, 0.00037424767651071195_r8, & + 0.00037740456976182818_r8, 0.00038763130729698478_r8, & + 0.00038762279331464538_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,19) / & + 8.9185446673026065e-06_r8, 8.6160212816027958e-06_r8, & + 8.6899706741619721e-06_r8, 9.3896212909686091e-06_r8, & + 1.0612072796027938e-05_r8, 1.1970753448295557e-05_r8, & + 1.934007893818068e-05_r8, 3.4881790794598052e-05_r8, & + 4.8042157521157073e-05_r8, 5.7580759928082003e-05_r8, & + 6.236443503889159e-05_r8, 6.5979254279844969e-05_r8, & + 6.9075534945811144e-05_r8, 7.5899395916461236e-05_r8, & + 8.2125521011892365e-05_r8, 9.0971593801447405e-05_r8, & + 0.00011456455070809929_r8, 0.00014049801694244541_r8, & + 0.00016779186569871495_r8, 0.0001993930246203063_r8, & + 0.00022526998781030415_r8, 0.00024747677605181688_r8, & + 0.0002653202367825186_r8, 0.00028456474732717791_r8, & + 0.00029986405617722108_r8, 0.00031509427919021167_r8, & + 0.00032918976544391075_r8, 0.00035449255918769461_r8, & + 0.00037605915590515265_r8, 0.00038514043999082146_r8, & + 0.00039077632924865418_r8, 0.00039211206043201645_r8, & + 0.00039431297810928791_r8, 0.00040126612655730365_r8, & + 0.00040093493456226935_r8, 0.00040384724917288196_r8, & + 0.00040063242154284864_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,19) / & + 8.420160979606863e-06_r8, 8.22655045930718e-06_r8, & + 8.1847066951707068e-06_r8, 9.612600968563732e-06_r8, & + 1.1001675008862558e-05_r8, 1.2880781483352731e-05_r8, & + 2.373492883711524e-05_r8, 4.3874674145512275e-05_r8, & + 5.9630243641986296e-05_r8, 7.1246541150716864e-05_r8, & + 7.6114400746755777e-05_r8, 8.0255572615527582e-05_r8, & + 8.5565486064371273e-05_r8, 9.2416645443417725e-05_r8, & + 0.00010027969971106244_r8, 0.00010959959685392074_r8, & + 0.00013371111851675577_r8, 0.00016142640808502646_r8, & + 0.00018868789375319625_r8, 0.00021588312370840994_r8, & + 0.00024114248097539644_r8, 0.00026210695021815239_r8, & + 0.00027806629402958062_r8, 0.0002955661856503686_r8, & + 0.00031322904111404017_r8, 0.00033034341010035312_r8, & + 0.00034622878142122668_r8, 0.00037860893849306143_r8, & + 0.00040180008444229762_r8, 0.00041371392556237036_r8, & + 0.00042056877382894804_r8, 0.0004225545317761226_r8, & + 0.00042493207370144267_r8, 0.00043001157868039462_r8, & + 0.00042994378184170673_r8, 0.0004339405830319077_r8, & + 0.00043332256629224935_r8, 0.00043317688870751254_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,19) / & + 8.942559378867501e-06_r8, 8.4793835903271822e-06_r8, & + 8.0674018064427281e-06_r8, 8.2173334114842253e-06_r8, & + 8.8306043012873551e-06_r8, 1.0798691528646302e-05_r8, & + 1.8349269832640196e-05_r8, 3.6996202808541326e-05_r8, & + 5.5989339532506821e-05_r8, 7.1353440947073078e-05_r8, & + 7.8502387801903723e-05_r8, 8.4204928982328342e-05_r8, & + 9.0602986689568629e-05_r8, 9.8811214686948936e-05_r8, & + 0.00010782965961267159_r8, 0.00011796451392867567_r8, & + 0.00014175423069756778_r8, 0.00016559572167736754_r8, & + 0.00019145150534880906_r8, 0.00021669440337614566_r8, & + 0.0002378585253074324_r8, 0.00026042262654452959_r8, & + 0.00028050881244762248_r8, 0.00029950648781925006_r8, & + 0.00031914702667143539_r8, 0.00033660341121488044_r8, & + 0.00035528728310639496_r8, 0.00039536728940647202_r8, & + 0.00041683352743046955_r8, 0.00043237182821561872_r8, & + 0.00043965795897061866_r8, 0.00044246756311187494_r8, & + 0.00044564168755103264_r8, 0.00044847291914205776_r8, & + 0.00044937825743116298_r8, 0.00044998043649272456_r8, & + 0.0004498515806461049_r8, 0.00044799293922622005_r8, & + 0.00044921487382631889_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,19) / & + 1.0530495152819658e-05_r8, 1.0135935104890693e-05_r8, & + 9.2900286360695313e-06_r8, 1.0685227714224327e-05_r8, & + 1.1914796204820467e-05_r8, 1.3758256404959742e-05_r8, & + 1.4413995399622966e-05_r8, 3.1262252757627945e-05_r8, & + 5.0205745280357574e-05_r8, 6.7602618737600632e-05_r8, & + 7.6169759667479037e-05_r8, 8.3447851385873967e-05_r8, & + 9.3048287165194585e-05_r8, 0.00010249863863045068_r8, & + 0.00011189658593007231_r8, 0.00012075163926997002_r8, & + 0.00014101441972992848_r8, 0.0001637046565445836_r8, & + 0.00019055609581006305_r8, 0.00021566012232704496_r8, & + 0.00023723223216311884_r8, 0.00026018213765496704_r8, & + 0.00028144838829702497_r8, 0.00030188783459609284_r8, & + 0.00032260076970643854_r8, 0.0003426415198283353_r8, & + 0.00036402864335503376_r8, 0.00041050288633987946_r8, & + 0.00043874334059145999_r8, 0.00045888461189242091_r8, & + 0.00046550736199259143_r8, 0.00047861717866231625_r8, & + 0.00047653316597911366_r8, 0.00047927113288623855_r8, & + 0.00046818577912865588_r8, 0.00046458016596793002_r8, & + 0.00046381867288117673_r8, 0.00046259815740910077_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,19) / & + 1.0052090925708128e-05_r8, 1.0343127535202226e-05_r8, & + 1.0297276337408483e-05_r8, 1.2880970091039591e-05_r8, & + 1.4690769591209934e-05_r8, 1.6150630741863886e-05_r8, & + 1.7371242018556227e-05_r8, 3.2554306994146731e-05_r8, & + 4.9732875744903479e-05_r8, 6.6654845488000998e-05_r8, & + 7.637394318694205e-05_r8, 8.4852718297633294e-05_r8, & + 9.5278134974597381e-05_r8, 0.00010572764747740837_r8, & + 0.00011510333112919413_r8, 0.0001238574355308636_r8, & + 0.00014325075485485913_r8, 0.00016649892939810845_r8, & + 0.00019462846848269507_r8, 0.00021827613158937484_r8, & + 0.00024209260450469767_r8, 0.00026388617567991735_r8, & + 0.0002863057742944159_r8, 0.00030830229540722049_r8, & + 0.00033158572502237305_r8, 0.00035554335102769665_r8, & + 0.00038014492477784622_r8, 0.00042659420208197781_r8, & + 0.00046069912721228673_r8, 0.00048357325375892029_r8, & + 0.00049662098189429496_r8, 0.0005069260764619418_r8, & + 0.00050860046376978712_r8, 0.00050880750522699285_r8, & + 0.00048464850846035624_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,19) / & + 1.0566515908514468e-05_r8, 1.0605417888652445e-05_r8, & + 1.1556510203915604e-05_r8, 1.2424990357878396e-05_r8, & + 1.392237364765766e-05_r8, 1.5379180476329617e-05_r8, & + 2.318483222733998e-05_r8, 3.3483056528359113e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,19) / & + 6.8278963447247315e-05_r8, 4.8991092573034164e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,19) / & + 7.0447991569630669e-05_r8, 5.0547399994415806e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,19) / & + 7.7321796536710546e-05_r8, 5.537082729703198e-05_r8, & + 5.6666784472844597e-05_r8, 5.3977158369022657e-05_r8, & + 5.8356411753384279e-05_r8, 6.1455470983357878e-05_r8, & + 6.0385546507835831e-05_r8, 5.7982398535142382e-05_r8, & + 5.6771451352356541e-05_r8, 5.290756902044046e-05_r8, & + 5.041444147395232e-05_r8, 5.1287170482920978e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,19) / & + 4.7170785628593353e-05_r8, 3.6931251518897516e-05_r8, & + 3.7938671539089346e-05_r8, 4.4022130333410717e-05_r8, & + 4.9058922796224034e-05_r8, 5.827575212786656e-05_r8, & + 5.601063388022217e-05_r8, 5.5491224059929472e-05_r8, & + 5.313888100244771e-05_r8, 5.1314614800818474e-05_r8, & + 5.0791417889593164e-05_r8, 5.1220672785216584e-05_r8, & + 5.2414700138717019e-05_r8, 5.3142627155575445e-05_r8, & + 5.523265437713004e-05_r8, 5.7268820657968754e-05_r8, & + 5.9358717164235011e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,19) / & + 2.9043660538788074e-05_r8, 2.2557384020656458e-05_r8, & + 2.6307140794374248e-05_r8, 3.1423787014094635e-05_r8, & + 3.451361983981462e-05_r8, 4.6584717414533799e-05_r8, & + 5.0183449069484707e-05_r8, 5.1984609306425053e-05_r8, & + 5.1582953883988123e-05_r8, 5.1657462543394635e-05_r8, & + 5.2328021420057803e-05_r8, 5.4583200266332268e-05_r8, & + 5.6986290212722539e-05_r8, 5.8303994022210105e-05_r8, & + 6.0286157826820567e-05_r8, 6.076959563923268e-05_r8, & + 6.2579875929039518e-05_r8, 6.4895493281741579e-05_r8, & + 6.8648459339699087e-05_r8, 7.3233856933963657e-05_r8, & + 7.7454599965394173e-05_r8, 8.0342674234013968e-05_r8, & + 7.8186219134934726e-05_r8, 8.6435576919861556e-05_r8, & + 9.3180322060284473e-05_r8, 0.00010047303816156546_r8, & + 0.00010442978570954083_r8, 0.00010784405769179873_r8, & + 0.00011086580930058975_r8, 0.00011273828137796294_r8, & + 0.00011457480589175611_r8, 0.00011613611860750437_r8, & + 0.00011708571653153167_r8, 0.00011758759891733905_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,44,19) / & + 4.5142028288873125e-05_r8, 5.3793588997611363e-05_r8, & + 5.5691209870513518e-05_r8, 5.3568362269492304e-05_r8, & + 5.3142914165786344e-05_r8, 5.9559781520704261e-05_r8, & + 5.3712180927334126e-05_r8, 5.1258550097540832e-05_r8, & + 5.3633610821130139e-05_r8, 5.5211256125634153e-05_r8, & + 5.5872905954706615e-05_r8, 5.7857372607498463e-05_r8, & + 5.9882276612728369e-05_r8, 6.1394355780400612e-05_r8, & + 6.3350280675295405e-05_r8, 6.4384224738764029e-05_r8, & + 6.6966323768059382e-05_r8, 6.8688568137923998e-05_r8, & + 7.153951525135995e-05_r8, 7.5183237585684472e-05_r8, & + 7.8540699830205143e-05_r8, 8.175459623415694e-05_r8, & + 8.3245227028361923e-05_r8, 8.9315586040557751e-05_r8, & + 9.4588117946845036e-05_r8, 0.00010026217394615847_r8, & + 0.00010486499600883662_r8, 0.00011052747265349658_r8, & + 0.000112857752115073_r8, 0.00011512444340709311_r8, & + 0.00011692874298456842_r8, 0.0001187481948142059_r8, & + 0.00011970021030048435_r8, 0.00012010987340761828_r8, & + 0.00012020355015826317_r8, 0.00012010244843381071_r8, & + 0.00012062980750954095_r8, 0.00012130265142248897_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,19) / & + 7.257437802934047e-05_r8, 9.4679221039851359e-05_r8, & + 9.3675633007380034e-05_r8, 0.00011010181814363958_r8, & + 0.00010612829231908576_r8, 0.0001066161231890419_r8, & + 9.4347899557648378e-05_r8, 6.3228780238788792e-05_r8, & + 6.551570161083021e-05_r8, 6.6572393094158894e-05_r8, & + 6.690836939505101e-05_r8, 6.6761892782389405e-05_r8, & + 6.5530642163855719e-05_r8, 6.7094683614394386e-05_r8, & + 6.867085784449034e-05_r8, 7.019566550903555e-05_r8, & + 7.1221556683659837e-05_r8, 7.2299632577855705e-05_r8, & + 7.4623998573075079e-05_r8, 7.7915495381542985e-05_r8, & + 8.080619441219111e-05_r8, 8.4526840809198657e-05_r8, & + 8.8322487383540697e-05_r8, 9.29848754423704e-05_r8, & + 9.8346781752593713e-05_r8, 0.00010304327782296558_r8, & + 0.00010901068682816066_r8, 0.00011804526679930595_r8, & + 0.00011808366052752042_r8, 0.00011844289742159174_r8, & + 0.00011924856274919774_r8, 0.0001201847373281815_r8, & + 0.00012097465502759046_r8, 0.00012097030958888446_r8, & + 0.00012154923470961746_r8, 0.00012196213826189604_r8, & + 0.0001242003301915275_r8, 0.00012456923920615572_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,20) / & + 9.3438189660322423e-05_r8, 9.4334800320202574e-05_r8, & + 9.4013392654637912e-05_r8, 0.00010053474915810804_r8, & + 0.00012350646553224926_r8, 0.00013917658330743753_r8, & + 0.00014980761531181117_r8, 0.00015362112508518559_r8, & + 0.00015576835315274322_r8, 0.00015740772191960128_r8, & + 0.0001602359981241904_r8, 0.00016460609314559183_r8, & + 0.00017107307722420581_r8, 0.00017376283729905666_r8, & + 0.00017547364203261424_r8, 0.00017766957644999972_r8, & + 0.0001832107025591549_r8, 0.00018730587128147998_r8, & + 0.00019111936714752783_r8, 0.00019887979376699948_r8, & + 0.00020636095555427671_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,20) / & + 9.2221978271468739e-05_r8, 9.3133275648999914e-05_r8, & + 9.3711042851698953e-05_r8, 9.8263229720884816e-05_r8, & + 0.00011282032755650356_r8, 0.00012820910237623071_r8, & + 0.00014508417129410251_r8, 0.0001517710998013288_r8, & + 0.00015668200078658364_r8, 0.00015941484400347377_r8, & + 0.00016116818231647886_r8, 0.00016130620473299412_r8, & + 0.00016389629848940088_r8, 0.00016809339541722939_r8, & + 0.00017067498256126371_r8, 0.0001740300533568164_r8, & + 0.00018136815120024498_r8, 0.00018607087942590117_r8, & + 0.00019168005011234888_r8, 0.00019671390262509297_r8, & + 0.00020257357529815894_r8, 0.00021657172973988195_r8, & + 0.00021383873423661511_r8, 0.00022080351750238978_r8, & + 0.0002302395478358937_r8, 0.00023489414628625538_r8, & + 0.00023877062895606588_r8, 0.00025032754900579054_r8, & + 0.00025657874938002704_r8, 0.00026113536147192825_r8, & + 0.00026550388739780362_r8, 0.00026654418136307908_r8, & + 0.00026414859106281519_r8, 0.00026581111937033178_r8, & + 0.00026421622839127806_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,20) / & + 8.1189480145916988e-05_r8, 8.3142407372480975e-05_r8, & + 8.3352376267951866e-05_r8, 8.3760613001703445e-05_r8, & + 9.1612623872967667e-05_r8, 9.9356439754663716e-05_r8, & + 0.00011566260362042469_r8, 0.0001332317891493672_r8, & + 0.00014831557619454045_r8, 0.00015858756211768442_r8, & + 0.00016468072817150674_r8, 0.00016660062031649973_r8, & + 0.00016699937833676169_r8, 0.00016979176671965942_r8, & + 0.0001715230903189629_r8, 0.00017299116910414486_r8, & + 0.00017568787058433699_r8, 0.00017806611794572155_r8, & + 0.00018086869802469974_r8, 0.00018392361898462531_r8, & + 0.00018740067341546025_r8, 0.00019536034387018864_r8, & + 0.0001969994233059597_r8, 0.0002026968424821371_r8, & + 0.00021164219107224871_r8, 0.00021614600063000236_r8, & + 0.00022191877789895568_r8, 0.00023570386519738948_r8, & + 0.00024688574067312008_r8, 0.00025644250576411473_r8, & + 0.00026289633055906036_r8, 0.00026635425886853761_r8, & + 0.00026693840953718605_r8, 0.00026749879453362066_r8, & + 0.00026689482414146378_r8, 0.00027102233157848894_r8, & + 0.00027620485082702255_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,20) / & + 6.1174070114170675e-05_r8, 6.5633418096143115e-05_r8, & + 6.7604035333892806e-05_r8, 6.5197421364581742e-05_r8, & + 6.8790100121250805e-05_r8, 6.7679873898325734e-05_r8, & + 6.9970200426095421e-05_r8, 9.4245597443035639e-05_r8, & + 0.00011346101769450919_r8, 0.00013075692591286113_r8, & + 0.00014018464509632021_r8, 0.00014813996695325023_r8, & + 0.00015710044848315266_r8, 0.0001621242402993725_r8, & + 0.00016591143330376687_r8, 0.00016893786724275439_r8, & + 0.00017435907486041454_r8, 0.00017831657322234072_r8, & + 0.00018112362870540498_r8, 0.00018426521350242827_r8, & + 0.0001873043077037321_r8, 0.00019169395521214958_r8, & + 0.00019679220354051275_r8, 0.00020065249408082544_r8, & + 0.00020463877223582513_r8, 0.00020812011132829926_r8, & + 0.00021394646544805934_r8, 0.00023180189036812733_r8, & + 0.00024389400817086671_r8, 0.00025420816647773401_r8, & + 0.00025952486304063306_r8, 0.00026121591281979146_r8, & + 0.00026482166113933294_r8, 0.00026737642056171398_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,20) / & + 4.4616308042862825e-05_r8, 4.8774753313766358e-05_r8, & + 4.9331187534339084e-05_r8, 4.6115292369045886e-05_r8, & + 4.5729243216970945e-05_r8, 4.2474530373898229e-05_r8, & + 4.3754594788600671e-05_r8, 5.3742743311201789e-05_r8, & + 6.3782890615176572e-05_r8, 7.6556625711809016e-05_r8, & + 8.7698543617583036e-05_r8, 9.5552052659761774e-05_r8, & + 0.00010962225657233043_r8, 0.00011759528805078214_r8, & + 0.0001281868398535229_r8, 0.00013742746524592807_r8, & + 0.00015015633221707796_r8, 0.00016209054959115304_r8, & + 0.00016894530518968292_r8, 0.00017427216022698682_r8, & + 0.00017627395484066165_r8, 0.00018021322965946045_r8, & + 0.00018499598435139003_r8, 0.0001887007158726383_r8, & + 0.00019241891634458252_r8, 0.00019669221788157982_r8, & + 0.00020348499251990996_r8, 0.00022456750439857958_r8, & + 0.00023968896387663487_r8, 0.00025052242819678493_r8, & + 0.00025465931075641714_r8, 0.00025881072149868794_r8, & + 0.00026361337875023967_r8, 0.00026758219841458217_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,20) / & + 3.1478844975605536e-05_r8, 3.3542755519012557e-05_r8, & + 3.1798970871089391e-05_r8, 3.0166735658415918e-05_r8, & + 3.0420344966738175e-05_r8, 3.177342430856207e-05_r8, & + 3.3878858296699003e-05_r8, 3.8099916291439705e-05_r8, & + 4.2834688317133749e-05_r8, 4.7080881683519105e-05_r8, & + 6.0388630157286004e-05_r8, 7.1731125581921606e-05_r8, & + 9.1080268401862912e-05_r8, 0.00010051688718661212_r8, & + 0.00010886142274320133_r8, 0.00011971171553562808_r8, & + 0.00013305378789507115_r8, 0.00013798087058643476_r8, & + 0.00014749014328603453_r8, 0.00015219841911519579_r8, & + 0.00015628640836303824_r8, 0.00015742806174734157_r8, & + 0.00015802095572886495_r8, 0.00015990819906914927_r8, & + 0.00016329538290280529_r8, 0.0001659012468835131_r8, & + 0.00016896282680786454_r8, 0.00018021051938601077_r8, & + 0.00019303074670968086_r8, 0.00020874834353013153_r8, & + 0.00022508978560551243_r8, 0.00023902507058611033_r8, & + 0.00025174136173250201_r8, 0.00026404308805153952_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,20) / & + 1.8663087104138353e-05_r8, 1.9646722878570267e-05_r8, & + 1.7424815664690454e-05_r8, 1.5926877636131354e-05_r8, & + 1.6136886579619933e-05_r8, 1.7178846706734145e-05_r8, & + 1.635399413330344e-05_r8, 1.7872940491738939e-05_r8, & + 2.0712754172864961e-05_r8, 2.3073133849540041e-05_r8, & + 2.9555678656605123e-05_r8, 3.4153608435040892e-05_r8, & + 4.4531044549365896e-05_r8, 4.8709849486490364e-05_r8, & + 5.3181322217084785e-05_r8, 5.8754417064661893e-05_r8, & + 7.0028601714656766e-05_r8, 7.6096438925284069e-05_r8, & + 8.8225254551146264e-05_r8, 0.00010173647270202808_r8, & + 0.0001117967594861387_r8, 0.00011286074582777_r8, & + 0.00011730043501956806_r8, 0.00012502516783272687_r8, & + 0.00013495719739606976_r8, 0.00014208581026436902_r8, & + 0.00014585940685792566_r8, 0.00015627114805043105_r8, & + 0.00016664724666050172_r8, 0.00017934135491922302_r8, & + 0.00019448034692754897_r8, 0.00021021339615229871_r8, & + 0.00022291342156660117_r8, 0.00023099228808478185_r8, & + 0.00023674450926938778_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,20) / & + 1.1036585955466969e-05_r8, 1.1596600762126004e-05_r8, & + 1.0161742885967573e-05_r8, 6.7470755318646246e-06_r8, & + 6.7737838301377914e-06_r8, 6.9921778473450638e-06_r8, & + 6.8180724125314753e-06_r8, 8.0124246228495168e-06_r8, & + 8.9864054171808548e-06_r8, 9.7899443662560651e-06_r8, & + 1.0865354307350493e-05_r8, 1.1473930384892653e-05_r8, & + 1.265971023024011e-05_r8, 1.3798869016041174e-05_r8, & + 1.5094983080722347e-05_r8, 1.6535682487767435e-05_r8, & + 2.0335364621465505e-05_r8, 2.585072543819703e-05_r8, & + 3.3568491212151949e-05_r8, 4.5582720010544105e-05_r8, & + 5.8190116615111383e-05_r8, 6.8926504470719928e-05_r8, & + 7.3836745748911465e-05_r8, 8.5527763764458494e-05_r8, & + 0.00010289694600941536_r8, 0.00011787509683694525_r8, & + 0.00012951831208888099_r8, 0.00015126592208743604_r8, & + 0.00016696727112643287_r8, 0.0001749381784590446_r8, & + 0.00019348304874260112_r8, 0.00021613759830053196_r8, & + 0.0002284390485025822_r8, 0.00023767692882544216_r8, & + 0.0002493452924161946_r8, 0.00025918186584621784_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,20) / & + 7.0500262723738827e-06_r8, 7.2944280073671494e-06_r8, & + 6.4531647891653226e-06_r8, 4.5182399918448469e-06_r8, & + 4.5423608443233038e-06_r8, 4.46805209160456e-06_r8, & + 4.5559769868224489e-06_r8, 5.8730971306291957e-06_r8, & + 6.2976177232696577e-06_r8, 6.676193469572887e-06_r8, & + 6.8870079973837843e-06_r8, 7.0628108297502541e-06_r8, & + 7.5851619491244145e-06_r8, 8.1479914591451249e-06_r8, & + 8.6477404283220639e-06_r8, 9.1224650275545836e-06_r8, & + 1.0497182833814504e-05_r8, 1.4285642628453706e-05_r8, & + 2.1314460169980117e-05_r8, 3.1320253145263749e-05_r8, & + 4.445104430342656e-05_r8, 5.8336892169429654e-05_r8, & + 7.2477793070909973e-05_r8, 8.7451202672585705e-05_r8, & + 0.00010341330664991336_r8, 0.00012159298365548454_r8, & + 0.00013684048395891328_r8, 0.00017009181718861488_r8, & + 0.0001855126871312858_r8, 0.00019669266337033836_r8, & + 0.00021706012857546347_r8, 0.00023130427740162784_r8, & + 0.00024179687476188886_r8, 0.00024694898794036827_r8, & + 0.00025828768834429931_r8, 0.00026230640134912024_r8, & + 0.00026577071458974314_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,20) / & + 5.4856887975673661e-06_r8, 5.498195465736613e-06_r8, & + 4.9014541141335032e-06_r8, 4.8128821691782201e-06_r8, & + 4.8994848573874598e-06_r8, 4.7203537123884785e-06_r8, & + 4.3705201583975706e-06_r8, 4.5489871950456214e-06_r8, & + 4.5508299974051807e-06_r8, 4.6679161945833888e-06_r8, & + 4.8470728011227974e-06_r8, 5.1963709234911203e-06_r8, & + 6.4152083633955872e-06_r8, 7.4433600498733714e-06_r8, & + 7.9727490857426954e-06_r8, 8.326107216477119e-06_r8, & + 9.3584871314368499e-06_r8, 1.157945323167262e-05_r8, & + 1.637793079136583e-05_r8, 2.6168984690583891e-05_r8, & + 4.147308615170645e-05_r8, 5.7574913641479273e-05_r8, & + 7.8186177985478189e-05_r8, 9.8056185289051434e-05_r8, & + 0.00011719179612085332_r8, 0.00013440354111620659_r8, & + 0.00015014884649861522_r8, 0.00017695139565812064_r8, & + 0.00019076174226412699_r8, 0.00020642457115110742_r8, & + 0.00022327498644604172_r8, 0.00023534813916579997_r8, & + 0.00024551721110591557_r8, 0.00024799998362233554_r8, & + 0.00025899883049678682_r8, 0.00026245904627011338_r8, & + 0.00026607200972995752_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,20) / & + 5.9213123291308222e-06_r8, 5.8428571980494595e-06_r8, & + 5.3431571539807166e-06_r8, 5.7533460064074938e-06_r8, & + 5.5792018400840051e-06_r8, 5.3232660306425204e-06_r8, & + 4.9466737443778792e-06_r8, 4.7051621975298134e-06_r8, & + 4.441196281373945e-06_r8, 4.4968299258904839e-06_r8, & + 4.7056146584750448e-06_r8, 5.0623771050952314e-06_r8, & + 5.7099745878349405e-06_r8, 6.8214742957886007e-06_r8, & + 8.0707111175343584e-06_r8, 8.8189476350824981e-06_r8, & + 9.6343695199924851e-06_r8, 1.1060177438635277e-05_r8, & + 1.5411870075861455e-05_r8, 2.8884703152931053e-05_r8, & + 4.5436115220227128e-05_r8, 6.7647047294485234e-05_r8, & + 9.1812955164984441e-05_r8, 0.00011597946236477554_r8, & + 0.00013764202515617957_r8, 0.00015107672431738598_r8, & + 0.00016446963861068968_r8, 0.00018218584200343127_r8, & + 0.00019076089399846708_r8, 0.00021022623851607851_r8, & + 0.00022251730098920631_r8, 0.00023262806273550713_r8, & + 0.000241727069477531_r8, 0.00024581836320223302_r8, & + 0.00025531875344197302_r8, 0.00026179722824437747_r8, & + 0.00026279136154701581_r8, 0.00026569267202027037_r8, & + 0.00026684808840171583_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,20) / & + 6.8596033358627287e-06_r8, 6.7701928246972744e-06_r8, & + 6.4792960806975623e-06_r8, 7.0873097299509952e-06_r8, & + 6.3874642007729065e-06_r8, 6.505556142917238e-06_r8, & + 6.7633897715040436e-06_r8, 6.3704885248213853e-06_r8, & + 5.7463463489866912e-06_r8, 5.4480221813103013e-06_r8, & + 5.2793266715389284e-06_r8, 5.4807464881246798e-06_r8, & + 6.2171725717631132e-06_r8, 6.9955895563914404e-06_r8, & + 8.389581830542747e-06_r8, 9.2819248996392539e-06_r8, & + 1.023559081659691e-05_r8, 1.2428977754826849e-05_r8, & + 2.0559942577569491e-05_r8, 3.7443228171481235e-05_r8, & + 5.6197894405979696e-05_r8, 8.4311155607172343e-05_r8, & + 0.00011292815636151178_r8, 0.00014140657124634741_r8, & + 0.00016302489307924346_r8, 0.00017594304793957404_r8, & + 0.0001891578920035563_r8, 0.00020572613858119181_r8, & + 0.00021661744620529497_r8, 0.00023627746265211376_r8, & + 0.00024302313004479013_r8, 0.00024573881594569676_r8, & + 0.00025247789555023453_r8, 0.00025985576070441631_r8, & + 0.00027027342664581613_r8, 0.00027758314035495262_r8, & + 0.0002819431170265885_r8, 0.00028062190038218937_r8, & + 0.00028312740403991143_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,20) / & + 7.1281247371141189e-06_r8, 6.9986986472296072e-06_r8, & + 6.8592764689445344e-06_r8, 7.1291414479960406e-06_r8, & + 6.6045000430422732e-06_r8, 6.7068222399536852e-06_r8, & + 7.5102024502528079e-06_r8, 7.9168969173310604e-06_r8, & + 7.9146099998804407e-06_r8, 7.8897943955508411e-06_r8, & + 7.675256770943375e-06_r8, 8.1338103747534821e-06_r8, & + 8.0969776729696817e-06_r8, 8.2727248694094472e-06_r8, & + 8.8776075036766245e-06_r8, 9.3466532544416767e-06_r8, & + 1.124373758704325e-05_r8, 1.6270500232570205e-05_r8, & + 3.2244905118493994e-05_r8, 6.0885496610604111e-05_r8, & + 9.7690393962355571e-05_r8, 0.00013677122525695872_r8, & + 0.00016483250064727378_r8, 0.0001850830075149586_r8, & + 0.00019986535841024273_r8, 0.00021250514164204671_r8, & + 0.00022416950455920694_r8, 0.00024154806606720258_r8, & + 0.00025413175039649456_r8, 0.00026028728690336456_r8, & + 0.00026131349722475074_r8, 0.00026357791329210213_r8, & + 0.00026986221539509146_r8, 0.00027840102618123113_r8, & + 0.00028903712829876941_r8, 0.00029624797969151094_r8, & + 0.00030163288061382093_r8, 0.00030398486576801444_r8, & + 0.00030569644465143877_r8, 0.00030938407843602282_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,20) / & + 7.326492256513401e-06_r8, 7.1682305104944955e-06_r8, & + 7.0636431732696185e-06_r8, 7.143926962985708e-06_r8, & + 7.1597474410413994e-06_r8, 7.3052605850191512e-06_r8, & + 8.3789587402595982e-06_r8, 9.0994453822368441e-06_r8, & + 1.0547149648516604e-05_r8, 1.2305148216559546e-05_r8, & + 1.3741530137017091e-05_r8, 1.4885203099180205e-05_r8, & + 1.603046110352774e-05_r8, 1.4257159395100577e-05_r8, & + 1.4301163303954094e-05_r8, 1.4353248145033174e-05_r8, & + 1.9673210907817797e-05_r8, 4.0649051850829779e-05_r8, & + 7.0259835733273539e-05_r8, 0.00011448101374824324_r8, & + 0.00015775352478933461_r8, 0.00019122449767374966_r8, & + 0.00020914971171022277_r8, 0.00022241524111192627_r8, & + 0.00023145346421332377_r8, 0.00024146113855482259_r8, & + 0.00024979565019391192_r8, 0.00026569636097024696_r8, & + 0.00027527205417331467_r8, 0.00028078102743975269_r8, & + 0.00028196073243273929_r8, 0.00028632124582636537_r8, & + 0.00029379863216357714_r8, 0.00030103341643902208_r8, & + 0.00030879244775287661_r8, 0.00031562950802715197_r8, & + 0.00032074942168157909_r8, 0.00032287953114779007_r8, & + 0.00032451527395887218_r8, 0.00032662676131696916_r8, & + 0.00032713625224685671_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,20) / & + 7.6425965190129258e-06_r8, 7.6940143033421287e-06_r8, & + 7.9180694584443141e-06_r8, 8.1581677754187313e-06_r8, & + 8.4095902743230948e-06_r8, 9.1415055886798845e-06_r8, & + 1.3152747721098834e-05_r8, 1.846663812024471e-05_r8, & + 2.4498124463739433e-05_r8, 2.9457403862131559e-05_r8, & + 3.343800395082441e-05_r8, 3.6754958732312331e-05_r8, & + 4.1042596400819787e-05_r8, 3.9715244750495202e-05_r8, & + 3.8521886312105081e-05_r8, 4.0714205844159674e-05_r8, & + 5.7792608125621486e-05_r8, 0.00010160999480155734_r8, & + 0.00013429361013072693_r8, 0.00016850592595231116_r8, & + 0.00019639657600977714_r8, 0.00021792043725074684_r8, & + 0.00023201849072745378_r8, 0.00024323229923508638_r8, & + 0.0002518229197102934_r8, 0.00025939183681669584_r8, & + 0.00026639148002869322_r8, 0.00028049792390574525_r8, & + 0.00029076018106311566_r8, 0.00030118814410431342_r8, & + 0.00030527339302731258_r8, 0.00031024179505093101_r8, & + 0.00031841413743790805_r8, 0.00032533503398194313_r8, & + 0.00033037339070307435_r8, 0.00033545657528867437_r8, & + 0.00033966938889138873_r8, 0.00034181022993741287_r8, & + 0.0003424597223185725_r8, 0.0003425242961444728_r8, & + 0.00034212714707095205_r8, 0.00034212374005522853_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,20) / & + 7.672100347465843e-06_r8, 8.112422957124683e-06_r8, & + 9.066551871705565e-06_r8, 1.0209778154064969e-05_r8, & + 1.170330498404678e-05_r8, 1.4109081071060396e-05_r8, & + 2.2049948677596652e-05_r8, 3.558812543011808e-05_r8, & + 4.4434010468479458e-05_r8, 5.1781929840414543e-05_r8, & + 5.8065885399455495e-05_r8, 6.3599397779523918e-05_r8, & + 6.6273149990441813e-05_r8, 6.448605066473916e-05_r8, & + 6.4453145038657463e-05_r8, 6.948492852206318e-05_r8, & + 9.9071000203701667e-05_r8, 0.00013805703204863214_r8, & + 0.00016646668511565403_r8, 0.00019538695792630583_r8, & + 0.00022044923850262317_r8, 0.00023977885939742094_r8, & + 0.00025595008170845951_r8, 0.00026575048191954722_r8, & + 0.00027317091805484687_r8, 0.00027984643186038831_r8, & + 0.0002868001003151257_r8, 0.00030205528693484022_r8, & + 0.00031323114610389246_r8, 0.00032287269873556158_r8, & + 0.00032852491602651816_r8, 0.00033433472194368695_r8, & + 0.0003426652654500218_r8, 0.00035034087867384845_r8, & + 0.00035506144022316429_r8, 0.00035686025554050669_r8, & + 0.0003573691005286766_r8, 0.00035739748274618338_r8, & + 0.00035681524972383375_r8, 0.00035611174377081078_r8, & + 0.00035523378725836011_r8, 0.0003561028252415806_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,20) / & + 8.0061739784527746e-06_r8, 8.3822871400827243e-06_r8, & + 9.4915911421740459e-06_r8, 1.106030306539067e-05_r8, & + 1.3526489211825816e-05_r8, 1.5890758154574001e-05_r8, & + 2.3872460080305435e-05_r8, 3.698536705879277e-05_r8, & + 4.7465806290264501e-05_r8, 5.6118427080812745e-05_r8, & + 6.1732344321006234e-05_r8, 6.3649086325940631e-05_r8, & + 6.5156805986137908e-05_r8, 6.6147798488331772e-05_r8, & + 6.8216468358529191e-05_r8, 7.5859307948337708e-05_r8, & + 0.00010286694382095473_r8, 0.00013350007060823046_r8, & + 0.00016591969776053606_r8, 0.00019667902989201668_r8, & + 0.00022224327074597626_r8, 0.00024165773122544962_r8, & + 0.00025857955397406068_r8, 0.00027188548215050689_r8, & + 0.0002831373462314737_r8, 0.00029079630389011838_r8, & + 0.00029853735542669527_r8, 0.00031833645577693389_r8, & + 0.00033537045940479246_r8, 0.00034424177522116717_r8, & + 0.00035007373589679186_r8, 0.00035573267360994922_r8, & + 0.00036218326580913124_r8, 0.00036819666453412645_r8, & + 0.00037193109207448252_r8, 0.00037337946728169057_r8, & + 0.00037339293478210107_r8, 0.00037259128919169844_r8, & + 0.00037210887274302879_r8, 0.00037076558649533115_r8, & + 0.00036886601033049858_r8, 0.00036922463105019048_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,20) / & + 8.3151171317683307e-06_r8, 8.0450075110791373e-06_r8, & + 8.5094054239742464e-06_r8, 9.5750983398443064e-06_r8, & + 1.0337857278869102e-05_r8, 1.138221741154727e-05_r8, & + 1.6722189253016338e-05_r8, 2.9059267341963445e-05_r8, & + 4.1348453297406763e-05_r8, 5.0715547045495625e-05_r8, & + 5.559523401430087e-05_r8, 5.7842593964789672e-05_r8, & + 5.9623104299393288e-05_r8, 6.5957098073602671e-05_r8, & + 7.3189683454270141e-05_r8, 8.2089948818863477e-05_r8, & + 0.00010365978034004152_r8, 0.00013055928997592493_r8, & + 0.00016336281014676788_r8, 0.0001952636800929614_r8, & + 0.00022009631314998666_r8, 0.00024127354046376797_r8, & + 0.00025906346519357113_r8, 0.00027618932793219635_r8, & + 0.00028873824953774184_r8, 0.0002998668895751898_r8, & + 0.00031001947098163295_r8, 0.000332370636287996_r8, & + 0.00035318616952739691_r8, 0.00036523901305566159_r8, & + 0.00037163814415316085_r8, 0.00037544588910597821_r8, & + 0.00037919408434628128_r8, 0.00038329027648362115_r8, & + 0.00039007691606288581_r8, 0.00039178419282775431_r8, & + 0.00039179446398275884_r8, 0.00038828381709074262_r8, & + 0.00038873464154668487_r8, 0.00038719502938784004_r8, & + 0.00038397134684466924_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,20) / & + 9.0232783887702727e-06_r8, 8.1749554995542561e-06_r8, & + 7.8479755724264091e-06_r8, 9.3549696531709983e-06_r8, & + 1.0371463076170088e-05_r8, 1.1341242460239176e-05_r8, & + 2.0038526455958793e-05_r8, 3.5753983627177987e-05_r8, & + 4.9796341909080938e-05_r8, 5.9607474259275203e-05_r8, & + 6.4619929361184919e-05_r8, 6.8884993638404751e-05_r8, & + 7.1989160214327568e-05_r8, 7.9608538396737933e-05_r8, & + 8.8556097318399132e-05_r8, 9.7077813364347898e-05_r8, & + 0.00012036827598545524_r8, 0.00014445693107337273_r8, & + 0.00017569543528981915_r8, 0.00020523718064599714_r8, & + 0.00023101320534986568_r8, 0.00025321006221249543_r8, & + 0.00027341505937081902_r8, 0.00029117646956176055_r8, & + 0.00030401762884560592_r8, 0.0003189310606145989_r8, & + 0.00033040080612531982_r8, 0.00035471501165478843_r8, & + 0.00037781742984518616_r8, 0.00039099627594994129_r8, & + 0.00039685653914252268_r8, 0.00039763378736763842_r8, & + 0.00040299158143511149_r8, 0.0004092706396934706_r8, & + 0.00041930684586549639_r8, 0.00041775067893652949_r8, & + 0.00041358052856338515_r8, 0.00040596894042241148_r8, & + 0.00040558689919047657_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,20) / & + 9.4639732549293232e-06_r8, 8.6900842384177124e-06_r8, & + 8.1452111529350729e-06_r8, 1.1021427794704849e-05_r8, & + 1.2946320631432428e-05_r8, 1.5573009138136914e-05_r8, & + 3.1724670499057714e-05_r8, 4.996238737458281e-05_r8, & + 6.4223209788266659e-05_r8, 7.4837662662876641e-05_r8, & + 8.0544739989719952e-05_r8, 8.5931609371800701e-05_r8, & + 9.0177013886894443e-05_r8, 9.5633831477137478e-05_r8, & + 0.0001055686827329386_r8, 0.00011496697868629414_r8, & + 0.0001399631853575931_r8, 0.00016510222556779443_r8, & + 0.00019478990541262539_r8, 0.00022239645245234087_r8, & + 0.00024558940653012591_r8, 0.00026586829221608265_r8, & + 0.00028579188643081122_r8, 0.00030281770429343009_r8, & + 0.00031909626489965581_r8, 0.00033586370862773488_r8, & + 0.00034938803025534333_r8, 0.00037757157646122261_r8, & + 0.00040187346078615421_r8, 0.00041581528769644776_r8, & + 0.00042372812984780032_r8, 0.00042171795371949628_r8, & + 0.00042908504311557676_r8, 0.00043754971117014027_r8, & + 0.00044076360829404398_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,20) / & + 1.021436615670601e-05_r8, 9.3802646324328341e-06_r8, & + 9.2069267687771006e-06_r8, 1.0796403309545999e-05_r8, & + 1.2502293825294241e-05_r8, 1.6122608968304124e-05_r8, & + 3.024286344831292e-05_r8, 4.7061431499205476e-05_r8, & + 6.2250590314357368e-05_r8, 7.4993200963605029e-05_r8, & + 8.2448729950919365e-05_r8, 8.8105122217035508e-05_r8, & + 9.3273860887783383e-05_r8, 0.00010013175036502477_r8, & + 0.00010923103541429548_r8, 0.00012007091542340176_r8, & + 0.00014357835890717972_r8, 0.00016879601197282044_r8, & + 0.00019661607383446647_r8, 0.00022453612893993762_r8, & + 0.00024538272050211911_r8, 0.00026548684380272225_r8, & + 0.00028606590452480749_r8, 0.00030491899342428565_r8, & + 0.00032427579083200823_r8, 0.00034276375714699809_r8, & + 0.00036077156864803162_r8, 0.00039620647653484161_r8, & + 0.00042111417151917819_r8, 0.00043873442713008172_r8, & + 0.00044781331003404111_r8, 0.00044134443491695708_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,20) / & + 1.1835997095532904e-05_r8, 1.0765854514635483e-05_r8, & + 1.1104725673231176e-05_r8, 1.1979672303591689e-05_r8, & + 1.2936081617510315e-05_r8, 1.6059844489784241e-05_r8, & + 1.9487123872445065e-05_r8, 3.4102034799913649e-05_r8, & + 5.3653216077235615e-05_r8, 7.122252436798392e-05_r8, & + 7.8453951022324858e-05_r8, 8.4996065140722186e-05_r8, & + 9.3859089990144985e-05_r8, 0.00010275807504850167_r8, & + 0.00011246018189681291_r8, 0.00012197930889446254_r8, & + 0.00014362431333557588_r8, 0.00016615210651972759_r8, & + 0.00019226294592195343_r8, 0.00021924876502165289_r8, & + 0.00023920049178603674_r8, 0.000264283528481727_r8, & + 0.00028587438576771788_r8, 0.0003050038200777945_r8, & + 0.00032622276881949617_r8, 0.00034538097945924944_r8, & + 0.0003662514385202016_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,20) / & + 8.2832222153561222e-05_r8, 6.1822456359261651e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,20) / & + 0.000105333826632714_r8, 7.9460446460704386e-05_r8, & + 7.2646915657832741e-05_r8, 6.2053562830802672e-05_r8, & + 6.4176946906808067e-05_r8, 6.4630938258765247e-05_r8, & + 5.8450775802639962e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,20) / & + 6.050248405982398e-05_r8, 4.9217285941670298e-05_r8, & + 4.8332241192912184e-05_r8, 5.2292333655864595e-05_r8, & + 5.6032005665349654e-05_r8, 6.2862163938087371e-05_r8, & + 5.7215437139884925e-05_r8, 5.5617023141282815e-05_r8, & + 5.2619775069904923e-05_r8, 5.1038128424929343e-05_r8, & + 5.0622710503427906e-05_r8, 5.1302764867118248e-05_r8, & + 5.2733600387957745e-05_r8, 5.3415121359960007e-05_r8, & + 5.6003463134934279e-05_r8, 5.7589535804239857e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,20) / & + 3.1495711403024288e-05_r8, 2.4208649926230516e-05_r8, & + 2.7712096878171783e-05_r8, 3.3085523136406358e-05_r8, & + 3.699206313104709e-05_r8, 4.9193036319660653e-05_r8, & + 5.1706953880805075e-05_r8, 5.2527525880761348e-05_r8, & + 5.1415612819029959e-05_r8, 5.1547829925499715e-05_r8, & + 5.2245519974589602e-05_r8, 5.4743230419422611e-05_r8, & + 5.7327655403178102e-05_r8, 5.8631291002316002e-05_r8, & + 6.031221704171939e-05_r8, 6.065135345478058e-05_r8, & + 6.2405869373265092e-05_r8, 6.439787265682896e-05_r8, & + 6.804065452871735e-05_r8, 7.2863064005311925e-05_r8, & + 7.7036942685604394e-05_r8, 7.9570422529375907e-05_r8, & + 7.6093289523911496e-05_r8, 8.4942900650987141e-05_r8, & + 9.2604468657157647e-05_r8, 0.0001003087019840395_r8, & + 0.00010432531113304062_r8, 0.00010808202686008374_r8, & + 0.00011093714906527053_r8, 0.00011271218076607118_r8, & + 0.00011467592139188317_r8, 0.00011617501537912405_r8, & + 0.00011713708649138982_r8, 0.00011758744934105735_r8, & + 0.00011759600923118986_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,20) / & + 4.4490451745705807e-05_r8, 5.3373325367776299e-05_r8, & + 5.688400690630303e-05_r8, 5.4719955620540669e-05_r8, & + 5.5701863813340987e-05_r8, 6.0856450025905228e-05_r8, & + 5.4562170717054998e-05_r8, 5.2177078007964223e-05_r8, & + 5.4494132067981514e-05_r8, 5.5603288981446326e-05_r8, & + 5.6003881189114731e-05_r8, 5.7927781834137609e-05_r8, & + 6.019011036552897e-05_r8, 6.1435248194676573e-05_r8, & + 6.3331879295228663e-05_r8, 6.4304836785879452e-05_r8, & + 6.6783075328799067e-05_r8, 6.8493066463179656e-05_r8, & + 7.1320528470056359e-05_r8, 7.5233736794379661e-05_r8, & + 7.8517866716164151e-05_r8, 8.1709523010495128e-05_r8, & + 8.2779923313689504e-05_r8, 8.9150856049915604e-05_r8, & + 9.4632860430586479e-05_r8, 0.00010051668103268235_r8, & + 0.00010519040380884833_r8, 0.00011089300236175957_r8, & + 0.00011287732296678007_r8, 0.00011509913979995086_r8, & + 0.00011694794997111507_r8, 0.00011873768982710958_r8, & + 0.00011972327692148632_r8, 0.00012004489251556896_r8, & + 0.00012021128435664632_r8, 0.00011974448846086058_r8, & + 0.00012061846784492051_r8, 0.00012130273627796313_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,20) / & + 7.1173812016991358e-05_r8, 9.4325981514267949e-05_r8, & + 9.3571335663861861e-05_r8, 0.00011082944621010694_r8, & + 0.00010666757449791346_r8, 0.000108831099859088_r8, & + 9.3282453396419739e-05_r8, 6.3407361883800159e-05_r8, & + 6.5258483519871241e-05_r8, 6.6479282127803634e-05_r8, & + 6.5847886138120626e-05_r8, 6.6136360487633388e-05_r8, & + 6.5596660212012759e-05_r8, 6.7122626747589508e-05_r8, & + 6.8711135363768304e-05_r8, 7.0239801331150323e-05_r8, & + 7.1268227524781645e-05_r8, 7.2322356378081847e-05_r8, & + 7.4643909259317737e-05_r8, 7.7978874613078268e-05_r8, & + 8.0865647411597835e-05_r8, 8.4579700674175992e-05_r8, & + 8.8350244034721812e-05_r8, 9.30376308607012e-05_r8, & + 9.843891592226816e-05_r8, 0.00010318670214954627_r8, & + 0.00010916191787155556_r8, 0.00011820820172991378_r8, & + 0.00011806656978796714_r8, 0.00011842990471491708_r8, & + 0.00011924238393169733_r8, 0.00012011932163333267_r8, & + 0.00012096045223577489_r8, 0.00012090356814268587_r8, & + 0.00012151552050799127_r8, 0.00012192588226504154_r8, & + 0.00012418054766597772_r8, 0.00012456928145634995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,21) / & + 9.1357622211795961e-05_r8, 9.2244538353865982e-05_r8, & + 9.3199854654668678e-05_r8, 0.00010133369415129214_r8, & + 0.00011732279557875628_r8, 0.00013540764925404762_r8, & + 0.00014689702851104644_r8, 0.00015041774735074387_r8, & + 0.00015135539479304671_r8, 0.00015380570800176612_r8, & + 0.00015740872413309273_r8, 0.0001608125161606136_r8, & + 0.00016708248344956129_r8, 0.00017007054752445075_r8, & + 0.00017178777892515749_r8, 0.00017472146665223521_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,21) / & + 8.9620804249462504e-05_r8, 9.134291357109366e-05_r8, & + 9.105964033263793e-05_r8, 9.7760005858406614e-05_r8, & + 0.00010896751439577747_r8, 0.00012412985118623698_r8, & + 0.00014062078703387613_r8, 0.00014767224061471533_r8, & + 0.00015205435298647985_r8, 0.00015585694706438292_r8, & + 0.00015712050907682915_r8, 0.00015877299101921353_r8, & + 0.00016232866365995533_r8, 0.00016729409499391059_r8, & + 0.00016962575540558489_r8, 0.0001731825262609508_r8, & + 0.00018390928569994458_r8, 0.00019126359959381779_r8, & + 0.00019737394910303061_r8, 0.00020161208703978379_r8, & + 0.00020689137514163952_r8, 0.0002180432621012451_r8, & + 0.00021631639312026904_r8, 0.00022298739186537496_r8, & + 0.00023140250756791653_r8, 0.0002360414355357419_r8, & + 0.00024035523606687328_r8, 0.0002514777197233824_r8, & + 0.0002590306041260125_r8, 0.00026328673842033741_r8, & + 0.00026615215239803302_r8, 0.00026652584674111005_r8, & + 0.00026327115130241041_r8, 0.00026420472233093203_r8, & + 0.0002544624481770848_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,21) / & + 7.9948869390714667e-05_r8, 8.2145060087840011e-05_r8, & + 7.9284100463198357e-05_r8, 7.841471590431452e-05_r8, & + 8.8784175585321154e-05_r8, 9.86892266107489e-05_r8, & + 0.00012303121403407303_r8, 0.00014093769955500504_r8, & + 0.0001531776248570014_r8, 0.00016315232283043715_r8, & + 0.00016742780551937253_r8, 0.00017181706993915413_r8, & + 0.00017474817868944292_r8, 0.00017720439994993461_r8, & + 0.00017829635322029407_r8, 0.00017953784661333015_r8, & + 0.00018232115594276837_r8, 0.00018536167611185294_r8, & + 0.00018842279601911552_r8, 0.00019235521239284952_r8, & + 0.00019636885232403344_r8, 0.00020379492147929779_r8, & + 0.00020719812440080584_r8, 0.00021299500693901751_r8, & + 0.0002200684714258093_r8, 0.00022469802288681951_r8, & + 0.00022964596706230702_r8, 0.00024127652012769106_r8, & + 0.00025256133909155052_r8, 0.00026131207837627707_r8, & + 0.00026481040808777303_r8, 0.00026683176951069126_r8, & + 0.00026501479769686884_r8, 0.00026490158881404895_r8, & + 0.00025640671621911438_r8, 0.00027084939321210175_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,21) / & + 6.3084380243889782e-05_r8, 6.7080606308795028e-05_r8, & + 6.662527694129125e-05_r8, 5.9320772200860622e-05_r8, & + 6.5790485423959321e-05_r8, 6.9390109847644704e-05_r8, & + 8.6250533216447812e-05_r8, 0.00011533905340593346_r8, & + 0.00013243147846609053_r8, 0.00014651056292071886_r8, & + 0.00015375886407314465_r8, 0.00016187656322232913_r8, & + 0.00017003335784621315_r8, 0.00017313408843155735_r8, & + 0.00017626535244700929_r8, 0.00017828751785370318_r8, & + 0.00018188614518593619_r8, 0.00018502510018704747_r8, & + 0.00018845849215973293_r8, 0.00019338968453144653_r8, & + 0.00019757508670133783_r8, 0.00020397484323343278_r8, & + 0.00020998570107828268_r8, 0.00021544512632726357_r8, & + 0.00022106130306644292_r8, 0.00022558142810909511_r8, & + 0.00023029393249032219_r8, 0.00024098345107582896_r8, & + 0.00025308415455251791_r8, 0.0002617594455710632_r8, & + 0.0002674267781119982_r8, 0.00026961059709558591_r8, & + 0.00027048759177504393_r8, 0.00027079971827276283_r8, & + 0.00027068599665874067_r8, 0.00027060272996082252_r8, & + 0.00027059154710296464_r8, 0.00026978866554217934_r8, & + 0.0002692955146332495_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,21) / & + 4.9461624108452303e-05_r8, 5.1839081646167958e-05_r8, & + 4.7706443742212815e-05_r8, 4.6342030217963912e-05_r8, & + 4.7154679451306879e-05_r8, 4.7892761874589101e-05_r8, & + 5.2066257617124321e-05_r8, 6.8439369489464185e-05_r8, & + 8.0690912067754453e-05_r8, 9.4056299595417914e-05_r8, & + 0.00010514893733349578_r8, 0.00011616435032088602_r8, & + 0.00013506761710629331_r8, 0.00013912073558286251_r8, & + 0.00015047796159597539_r8, 0.00015838474722471943_r8, & + 0.0001647056959784536_r8, 0.00017118223710510731_r8, & + 0.00017487173395187399_r8, 0.00017907875561458508_r8, & + 0.00018098124584601911_r8, 0.00018616408054146215_r8, & + 0.00019157486691507487_r8, 0.00019639370958996928_r8, & + 0.0002002244789868818_r8, 0.00020567138616227234_r8, & + 0.00021171740019492418_r8, 0.00022538599248364367_r8, & + 0.00024139338511977622_r8, 0.00025144574356237735_r8, & + 0.0002582423162792523_r8, 0.0002635102623334011_r8, & + 0.00026724219043644705_r8, 0.00026929062019237163_r8, & + 0.00027051896666561585_r8, 0.0002711065290448804_r8, & + 0.00027084954509945985_r8, 0.00026972259645152539_r8, & + 0.00026929356965142915_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,21) / & + 3.4371173649620718e-05_r8, 3.2872183258619339e-05_r8, & + 2.6889283968993491e-05_r8, 3.0650993209885816e-05_r8, & + 3.1287561206117927e-05_r8, 3.2969157741669345e-05_r8, & + 3.5496395474474309e-05_r8, 4.0071710174714286e-05_r8, & + 4.5586071773402597e-05_r8, 5.0936700547146106e-05_r8, & + 6.3866737527715632e-05_r8, 7.5002718143595465e-05_r8, & + 0.00010159693133156506_r8, 0.00010613723196387192_r8, & + 0.00011759915433896108_r8, 0.00012910185712614524_r8, & + 0.0001368943933851096_r8, 0.00014553850727636026_r8, & + 0.00015220454167399959_r8, 0.0001569994861692115_r8, & + 0.00016028433848105976_r8, 0.00016210123310151292_r8, & + 0.00016439264727579917_r8, 0.00016705085661320595_r8, & + 0.00017002248629319246_r8, 0.00017379504972543853_r8, & + 0.00017813770869431694_r8, 0.00019023587709144846_r8, & + 0.00020479810827425421_r8, 0.00022017575345650571_r8, & + 0.00023514680818022756_r8, 0.00024755713466798117_r8, & + 0.00025627737852900638_r8, 0.00026364965995288289_r8, & + 0.00026909702244274578_r8, 0.00027074476561709078_r8, & + 0.0002709194861446766_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,21) / & + 2.0126068392050236e-05_r8, 1.7347580573179357e-05_r8, & + 1.5409738433750729e-05_r8, 1.8678814944146968e-05_r8, & + 1.9026131348386229e-05_r8, 1.9880999995636759e-05_r8, & + 1.9898789651589829e-05_r8, 2.181766597894353e-05_r8, & + 2.337428966819072e-05_r8, 2.5309845026113585e-05_r8, & + 3.1554292519521805e-05_r8, 3.5867201876822429e-05_r8, & + 4.8741186652322409e-05_r8, 5.2776828452669148e-05_r8, & + 5.9325861131598455e-05_r8, 6.6099739656120781e-05_r8, & + 7.6739515644007336e-05_r8, 8.568314835759166e-05_r8, & + 9.5830625517573416e-05_r8, 0.00010735310575472639_r8, & + 0.00011789005126374464_r8, 0.0001179283864122867_r8, & + 0.00012267171110147559_r8, 0.00013021201917461588_r8, & + 0.00013897125396528586_r8, 0.00014615504973137803_r8, & + 0.00014986102110712372_r8, 0.00016059852619548673_r8, & + 0.0001709100868238744_r8, 0.0001839516185084158_r8, & + 0.00020170142828834122_r8, 0.00021970323996321569_r8, & + 0.00023304764141211334_r8, 0.00025167508004515798_r8, & + 0.00026768090812105753_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,21) / & + 1.1798474959810832e-05_r8, 1.0217710095946979e-05_r8, & + 9.7375446999413577e-06_r8, 8.3575010105796688e-06_r8, & + 8.4647130798963431e-06_r8, 8.7029705487164313e-06_r8, & + 8.6486264779330905e-06_r8, 9.4524276893167e-06_r8, & + 1.0475036523174363e-05_r8, 1.1362423622844283e-05_r8, & + 1.2880442359434563e-05_r8, 1.3975957133269232e-05_r8, & + 1.6637039591891973e-05_r8, 1.8701034309735143e-05_r8, & + 2.1428752541356855e-05_r8, 2.3996200379062652e-05_r8, & + 2.8780813687646398e-05_r8, 3.4586090327198951e-05_r8, & + 4.2462686903631815e-05_r8, 5.423472865170404e-05_r8, & + 6.8050042729688481e-05_r8, 7.5875562798048373e-05_r8, & + 8.2355955063853991e-05_r8, 9.6175578016136711e-05_r8, & + 0.0001141233358725694_r8, 0.00012955404311736668_r8, & + 0.00013926144746343372_r8, 0.00015802957387016001_r8, & + 0.00016883152317320022_r8, 0.00017663882248184054_r8, & + 0.00019098439457866653_r8, 0.00020806661186523125_r8, & + 0.00022403539762207118_r8, 0.00023788198873992992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,21) / & + 6.8002228028490769e-06_r8, 6.8821758993918043e-06_r8, & + 6.5919934510044078e-06_r8, 4.5285542616696856e-06_r8, & + 4.5843612382303098e-06_r8, 4.7053271619840806e-06_r8, & + 4.9345708729005624e-06_r8, 5.4735760902208163e-06_r8, & + 6.2154140390928437e-06_r8, 6.6779576990412601e-06_r8, & + 6.9745057952704092e-06_r8, 7.2646522518063235e-06_r8, & + 7.9009204266763696e-06_r8, 8.5720737173659994e-06_r8, & + 9.2956929895955155e-06_r8, 9.8852610541351428e-06_r8, & + 1.1191888773132232e-05_r8, 1.3804112812019849e-05_r8, & + 1.9882647363111403e-05_r8, 3.0156651656135178e-05_r8, & + 4.3789972047995336e-05_r8, 5.9330351343750327e-05_r8, & + 7.5240743064723892e-05_r8, 9.4407101012441012e-05_r8, & + 0.00011461998413554778_r8, 0.00013429269183946708_r8, & + 0.00014932918748933492_r8, 0.00017701239233255359_r8, & + 0.00019028932105668282_r8, 0.00019741145896198239_r8, & + 0.0002082543328849221_r8, 0.00021845203313147294_r8, & + 0.00022990587900221756_r8, 0.00023972873923507941_r8, & + 0.00024337233403494093_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,21) / & + 5.2597406926567059e-06_r8, 5.3356516954846606e-06_r8, & + 4.6972359098046316e-06_r8, 4.1993668437893052e-06_r8, & + 4.3194101443664282e-06_r8, 4.3351449838325102e-06_r8, & + 4.3307695065659733e-06_r8, 4.4845065318433307e-06_r8, & + 4.6481069407358766e-06_r8, 4.8942379296318098e-06_r8, & + 5.2148548469667464e-06_r8, 5.7184976815130588e-06_r8, & + 6.5719328038539179e-06_r8, 7.3444807808125146e-06_r8, & + 7.7661921706979471e-06_r8, 8.1319315627341725e-06_r8, & + 8.9853395494805747e-06_r8, 1.0522267009240083e-05_r8, & + 1.4848140840352827e-05_r8, 2.366819091871798e-05_r8, & + 3.9181473172470725e-05_r8, 5.8732973725022752e-05_r8, & + 8.0626397338436672e-05_r8, 0.00010617820394464896_r8, & + 0.00012915539905397725_r8, 0.00014648905756766057_r8, & + 0.00016196827662604885_r8, 0.00018650666110306261_r8, & + 0.00019999691537384408_r8, 0.00020505531905482785_r8, & + 0.0002131310213208905_r8, 0.00022504476555952477_r8, & + 0.00023509618789977431_r8, 0.00024142281441714828_r8, & + 0.0002496712898712298_r8, 0.00025328137917844326_r8, & + 0.00025442571850777771_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,21) / & + 5.24560121712284e-06_r8, 5.1867306603836878e-06_r8, & + 4.5791447337894909e-06_r8, 4.8178498912115716e-06_r8, & + 5.0490798061020652e-06_r8, 4.9986477925085523e-06_r8, & + 4.8337331844556691e-06_r8, 4.5471454407505997e-06_r8, & + 4.1950707177226871e-06_r8, 4.2863687111009255e-06_r8, & + 4.6304255265900053e-06_r8, 5.1133506046257676e-06_r8, & + 5.8212255391840482e-06_r8, 6.9636692902957637e-06_r8, & + 7.6896571998440604e-06_r8, 8.2149680482168958e-06_r8, & + 9.0904501319243841e-06_r8, 1.1067058115460709e-05_r8, & + 1.5906534934899358e-05_r8, 2.8840871143959932e-05_r8, & + 4.6942031758578066e-05_r8, 7.1272772815060784e-05_r8, & + 9.7876952951651356e-05_r8, 0.00012419206075239502_r8, & + 0.00014624520321979148_r8, 0.00016029897765562677_r8, & + 0.00017282641302293966_r8, 0.00019420655643843427_r8, & + 0.00020543324616041438_r8, 0.00020854582950969081_r8, & + 0.00021320768713418292_r8, 0.00022436991433172549_r8, & + 0.00023488488699875454_r8, 0.00024220892469390017_r8, & + 0.0002509915301800586_r8, 0.00025692562126556815_r8, & + 0.0002591138374756845_r8, 0.00026547779353943768_r8, & + 0.00026684808840171583_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,21) / & + 6.1957677413989667e-06_r8, 6.1236025484838231e-06_r8, & + 5.7682661608408813e-06_r8, 6.3987518365403679e-06_r8, & + 6.2139231202860099e-06_r8, 6.2906277327576868e-06_r8, & + 6.9031374119973825e-06_r8, 6.7618951213024196e-06_r8, & + 5.9854145838171797e-06_r8, 5.5111669787325041e-06_r8, & + 5.3049966601992571e-06_r8, 5.5334148434610426e-06_r8, & + 6.0748652107458937e-06_r8, 7.0807212783819019e-06_r8, & + 8.1256559801351839e-06_r8, 8.7701378586036482e-06_r8, & + 9.8653984802355988e-06_r8, 1.2138177036001728e-05_r8, & + 2.0009111412258987e-05_r8, 3.8407405558289358e-05_r8, & + 6.1473292786243044e-05_r8, 9.3488365411302152e-05_r8, & + 0.0001243322503467387_r8, 0.00015118308586619774_r8, & + 0.00017064667057698673_r8, 0.0001835860018855198_r8, & + 0.00019500370822204935_r8, 0.00021690977498437081_r8, & + 0.00023033589832123996_r8, 0.00023661836101035788_r8, & + 0.0002382082583955651_r8, 0.00023985188773538836_r8, & + 0.00024668875651735425_r8, 0.00025606883513316843_r8, & + 0.00026589805165095205_r8, 0.00027268760562457293_r8, & + 0.00027615999784348123_r8, 0.0002804201060039963_r8, & + 0.00028539364319055469_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,21) / & + 7.0711833905445222e-06_r8, 7.0084664318633254e-06_r8, & + 6.9176817005929315e-06_r8, 7.0023751159538537e-06_r8, & + 6.8299776936130538e-06_r8, 6.9324178142157642e-06_r8, & + 8.3374289228396948e-06_r8, 8.485019768768168e-06_r8, & + 8.3461731191080664e-06_r8, 8.2306251870680468e-06_r8, & + 8.0629724005427215e-06_r8, 8.435666420694009e-06_r8, & + 8.2292493520944046e-06_r8, 7.9182492691946454e-06_r8, & + 8.4010405994961717e-06_r8, 8.8811924096890169e-06_r8, & + 1.0933312080123778e-05_r8, 1.5702227061613194e-05_r8, & + 3.2064445066760806e-05_r8, 6.5835290002413084e-05_r8, & + 0.00010639117554019702_r8, 0.00014627519834850084_r8, & + 0.00017320936615843312_r8, 0.00019169139857394253_r8, & + 0.00020463146030802562_r8, 0.00021572448298702213_r8, & + 0.00022629854361244441_r8, 0.00024512658528078659_r8, & + 0.00025655339702510655_r8, 0.0002611565132410984_r8, & + 0.00026207525924108434_r8, 0.00026292755034641664_r8, & + 0.00026890962915865612_r8, 0.00027775093346036207_r8, & + 0.00028643335385032561_r8, 0.00029306255483476425_r8, & + 0.00029869965478336846_r8, 0.00030203951061431839_r8, & + 0.00030613984578272167_r8, 0.00030864552974597546_r8, & + 0.00030743646122981933_r8, 0.00029441402526400698_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,21) / & + 7.5027871982254979e-06_r8, 7.4739861301228497e-06_r8, & + 7.443618557547797e-06_r8, 7.8494897630669607e-06_r8, & + 7.8746298028542008e-06_r8, 8.1619194850145969e-06_r8, & + 1.1573562922505785e-05_r8, 1.1679448347164929e-05_r8, & + 1.2765665786522138e-05_r8, 1.4289081601314922e-05_r8, & + 1.5713531925810717e-05_r8, 1.5181133848252998e-05_r8, & + 1.4290294504351086e-05_r8, 1.3458933647410219e-05_r8, & + 1.3548062702106068e-05_r8, 1.4222534924601515e-05_r8, & + 1.9079023452744258e-05_r8, 3.7500034505032502e-05_r8, & + 7.4253211385295941e-05_r8, 0.00012540237808053169_r8, & + 0.00016963903966487825_r8, 0.00019877008460592613_r8, & + 0.00021649883227757655_r8, 0.00022778083697426495_r8, & + 0.00023617072165324076_r8, 0.00024453910072607011_r8, & + 0.00025221813016183771_r8, 0.00026719034278784693_r8, & + 0.00027770759295137379_r8, 0.00028265935355613683_r8, & + 0.00028570011880998025_r8, 0.00029016638983370076_r8, & + 0.00029828379433484089_r8, 0.00030562841551906019_r8, & + 0.00031130951610079248_r8, 0.00031569229332416895_r8, & + 0.0003207926591930822_r8, 0.00032390636826961933_r8, & + 0.00032520831975679814_r8, 0.00032547278386693576_r8, & + 0.00032468286154668281_r8, 0.00031942157385068254_r8, & + 0.0003179547152205712_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,21) / & + 7.7097176119061369e-06_r8, 7.8629583103702302e-06_r8, & + 7.9672696519210891e-06_r8, 8.8358970697498052e-06_r8, & + 9.388689304773932e-06_r8, 1.071211311304451e-05_r8, & + 1.7283864096148404e-05_r8, 2.4291665542082642e-05_r8, & + 3.0089347244454646e-05_r8, 3.4157173693581875e-05_r8, & + 3.8047908688155486e-05_r8, 3.9824373927566757e-05_r8, & + 4.0049282718567391e-05_r8, 3.8782143793520028e-05_r8, & + 3.7757692028515958e-05_r8, 3.8726116591503855e-05_r8, & + 5.7506660264445848e-05_r8, 9.738713838523557e-05_r8, & + 0.00013813249546324613_r8, 0.00017495274496702514_r8, & + 0.00020526464291838992_r8, 0.00022632348020719785_r8, & + 0.00024111695829908447_r8, 0.00025203336409374894_r8, & + 0.00026029300715623642_r8, 0.00026698809702975187_r8, & + 0.00027239251726732759_r8, 0.00028603696322615746_r8, & + 0.00029659720074534331_r8, 0.00030340144962218564_r8, & + 0.00030822871837769806_r8, 0.0003141254383342663_r8, & + 0.00032268386503287534_r8, 0.00032931263554204998_r8, & + 0.00033226502012293266_r8, 0.00033596988697325649_r8, & + 0.00034020385512577479_r8, 0.0003425379628342731_r8, & + 0.00034281289557623401_r8, 0.00034266671377524571_r8, & + 0.0003420642176418015_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,21) / & + 7.6611938418925411e-06_r8, 8.0935189645851408e-06_r8, & + 8.5748193562370091e-06_r8, 1.0340054914634927e-05_r8, & + 1.2694394892911139e-05_r8, 1.5680167344936064e-05_r8, & + 2.816439548123765e-05_r8, 4.3358428661265494e-05_r8, & + 5.1061669925192433e-05_r8, 5.8047685162646015e-05_r8, & + 6.4930037028594197e-05_r8, 7.0065837564573592e-05_r8, & + 7.0991519897822803e-05_r8, 6.8014817565620296e-05_r8, & + 6.6032933762796191e-05_r8, 7.0169828955702731e-05_r8, & + 0.00010057617865067484_r8, 0.00013844827458983476_r8, & + 0.00017069765482316426_r8, 0.00019976422900955742_r8, & + 0.0002255544698782473_r8, 0.00024587014085339896_r8, & + 0.0002625595487629377_r8, 0.00027263245740068908_r8, & + 0.00027966904388037863_r8, 0.00028570611799636842_r8, & + 0.00029124775324542026_r8, 0.00030613028311973783_r8, & + 0.00031699526512520888_r8, 0.0003242802765322998_r8, & + 0.00032950189680221094_r8, 0.00033606887067963876_r8, & + 0.00034422783019428263_r8, 0.00035195544596134504_r8, & + 0.00035510350744114748_r8, 0.00035633153241459319_r8, & + 0.00035702609380694407_r8, 0.00035714103836603306_r8, & + 0.0003562602756022936_r8, 0.00035540872649814206_r8, & + 0.00035477066507616571_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,21) / & + 7.5425802660070666e-06_r8, 7.9205089548819814e-06_r8, & + 8.4126652768422385e-06_r8, 1.0983834881099312e-05_r8, & + 1.4137957395907169e-05_r8, 1.7500369260209251e-05_r8, & + 3.0367884619497479e-05_r8, 4.582265513305113e-05_r8, & + 5.3819863870132561e-05_r8, 6.1709533205946493e-05_r8, & + 6.7227602262274189e-05_r8, 6.8993567678404509e-05_r8, & + 7.0177807372566063e-05_r8, 7.0253140178084045e-05_r8, & + 7.1039038705230354e-05_r8, 7.7604460591106512e-05_r8, & + 0.00010578171362983056_r8, 0.00013946760972454323_r8, & + 0.00017207810646804582_r8, 0.00020211129000693981_r8, & + 0.00022711228024528216_r8, 0.00024885162078711672_r8, & + 0.00026735838473511463_r8, 0.00027863431428322888_r8, & + 0.00028738919923471774_r8, 0.00029531578318952911_r8, & + 0.00030329292174742636_r8, 0.00032168023886057208_r8, & + 0.00033637909402468164_r8, 0.00034548204233908518_r8, & + 0.00035154350759523603_r8, 0.00035749704147306096_r8, & + 0.00036443780289051341_r8, 0.00037106518375114474_r8, & + 0.00037278011381384872_r8, 0.00037316950666491881_r8, & + 0.00037242624180345234_r8, 0.00037190394105684701_r8, & + 0.00037184389668799465_r8, 0.00037016559709582172_r8, & + 0.00036794278636416666_r8, 0.00036922463105019048_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,21) / & + 7.6916636860094005e-06_r8, 7.6564310131156478e-06_r8, & + 7.7798635202566015e-06_r8, 9.9013428682132749e-06_r8, & + 1.1182436410656037e-05_r8, 1.2807076125742957e-05_r8, & + 2.0849910781328462e-05_r8, 3.2688542439566134e-05_r8, & + 4.5176615617048972e-05_r8, 5.4950253096994264e-05_r8, & + 5.9005800607925125e-05_r8, 6.0781680919282675e-05_r8, & + 6.4449013889162355e-05_r8, 6.8816703224164284e-05_r8, & + 7.4746686742070077e-05_r8, 8.3581204812267093e-05_r8, & + 0.00010933777291365986_r8, 0.00013974662351705252_r8, & + 0.00017122580234196275_r8, 0.00019999527964355079_r8, & + 0.00022354774030057864_r8, 0.00024652227578767541_r8, & + 0.00026475719855109761_r8, 0.00027978277867193505_r8, & + 0.000292671119031938_r8, 0.00030374276291889523_r8, & + 0.00031412741561964578_r8, 0.00033758242599514211_r8, & + 0.00035590715323958338_r8, 0.00036754338620157719_r8, & + 0.00037454828984181894_r8, 0.00037971799683894636_r8, & + 0.00038498789650250048_r8, 0.0003919978767038825_r8, & + 0.00039486433321558781_r8, 0.00039470115016658871_r8, & + 0.00039245677979654863_r8, 0.00038782018968961187_r8, & + 0.00038958590766016796_r8, 0.00038767788411279964_r8, & + 0.00038323751027948661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,21) / & + 8.366402459923214e-06_r8, 8.1764983483380186e-06_r8, & + 8.0721148896506478e-06_r8, 1.0247978661033259e-05_r8, & + 1.1389176514996505e-05_r8, 1.3015062590198886e-05_r8, & + 2.3465563174734806e-05_r8, 3.5392597754305671e-05_r8, & + 4.8841551860144261e-05_r8, 6.1193618025506702e-05_r8, & + 6.6338456957605856e-05_r8, 7.0358397202192123e-05_r8, & + 7.5096877006687542e-05_r8, 8.0841182522662709e-05_r8, & + 8.9899510044936341e-05_r8, 0.00010086363408635162_r8, & + 0.00012689760832316054_r8, 0.00015358734581537593_r8, & + 0.00018167789433395156_r8, 0.00020904188341988619_r8, & + 0.00023179635643447741_r8, 0.00025399221188447343_r8, & + 0.00027318660746917601_r8, 0.0002899550258856866_r8, & + 0.00030404580064987921_r8, 0.00031713310279874953_r8, & + 0.00032881698185979161_r8, 0.0003541082431411563_r8, & + 0.00037656608181175626_r8, 0.00038984496995868995_r8, & + 0.00039714390477687753_r8, 0.00040310006265499327_r8, & + 0.00041011192094622158_r8, 0.00041896010734528133_r8, & + 0.00042284940368147349_r8, 0.00042024791851951712_r8, & + 0.00041579985087059084_r8, 0.00040773238008060924_r8, & + 0.00040538743756385668_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,21) / & + 9.440734972003618e-06_r8, 9.1890089779397359e-06_r8, & + 8.9666775639745928e-06_r8, 1.2503809455107603e-05_r8, & + 1.4530429013184727e-05_r8, 1.7676947574502568e-05_r8, & + 3.0393004069390985e-05_r8, 4.7016214711915502e-05_r8, & + 6.1097145065120074e-05_r8, 7.4793527242795566e-05_r8, & + 8.0984803628663299e-05_r8, 8.5095207283614533e-05_r8, & + 8.892594681067044e-05_r8, 9.3684274167094402e-05_r8, & + 0.00010351475994873304_r8, 0.00011509432716501777_r8, & + 0.00014149870204344277_r8, 0.00016860319203369743_r8, & + 0.00019517891449850316_r8, 0.00022191408115598062_r8, & + 0.00024337197587583347_r8, 0.00026341569855843129_r8, & + 0.00028306898417207644_r8, 0.000301318489964976_r8, & + 0.00031711910406574651_r8, 0.00033168151281154953_r8, & + 0.00034526757500078631_r8, 0.00037337458075106371_r8, & + 0.00039811795760148267_r8, 0.00041038321230354562_r8, & + 0.00041876875593468022_r8, 0.0004244046788834665_r8, & + 0.00043257430710746372_r8, 0.00044017024734524377_r8, & + 0.00044194620578947121_r8, 0.00043846645734563753_r8, & + 0.00043326090150447148_r8, 0.00042562247707297743_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,21) / & + 1.0759082704650996e-05_r8, 1.0683977314320796e-05_r8, & + 1.0491312543467246e-05_r8, 1.2991585236880987e-05_r8, & + 1.5050457829259074e-05_r8, 1.9202756094214985e-05_r8, & + 3.0216314393917387e-05_r8, 4.9138031505338339e-05_r8, & + 6.2013074012241774e-05_r8, 7.5460137008050425e-05_r8, & + 8.3676393929806421e-05_r8, 9.1198140848484111e-05_r8, & + 0.00010026194557133044_r8, 0.00010765447634842827_r8, & + 0.00011791699511287683_r8, 0.00013079328644173717_r8, & + 0.0001551323722841026_r8, 0.00018307907436706611_r8, & + 0.00020984242313265396_r8, 0.00023445382935347709_r8, & + 0.00025516495579843248_r8, 0.00027261531138547999_r8, & + 0.00029313692762357094_r8, 0.00031489293399195343_r8, & + 0.00033168603872709524_r8, 0.00034714234207841674_r8, & + 0.00036246753312804681_r8, 0.00039684982092622029_r8, & + 0.00042195938811535476_r8, 0.00043817490328399588_r8, & + 0.00044680447291349864_r8, 0.00045124507829850626_r8, & + 0.00045658800102008794_r8, 0.00045979121793966103_r8, & + 0.00046055169742608928_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,21) / & + 1.0209552656904373e-05_r8, 1.0392058524031639e-05_r8, & + 1.0746257089938742e-05_r8, 1.3247896716497674e-05_r8, & + 1.4397520804245339e-05_r8, 1.9965634780550402e-05_r8, & + 2.7889216281734852e-05_r8, 4.3990040202180307e-05_r8, & + 6.4180488159635286e-05_r8, 8.0133718048282468e-05_r8, & + 8.9529330708907039e-05_r8, 9.7686461324203e-05_r8, & + 0.00010918261726331849_r8, 0.00011852681290098998_r8, & + 0.00012853498599846381_r8, 0.00013964296815436588_r8, & + 0.00016229817229674543_r8, 0.00019012434131254256_r8, & + 0.00021690276141962602_r8, 0.00024009572171184188_r8, & + 0.00026106976113366679_r8, 0.00028175179100900071_r8, & + 0.00030101539110755744_r8, 0.0003239722003588852_r8, & + 0.00034188268419712024_r8, 0.00035835933603438656_r8, & + 0.00037435607314140158_r8, 0.00041114139875936191_r8, & + 0.00043602223158707725_r8, 0.00045107157770499343_r8, & + 0.00046083149427766663_r8, 0.0004652707376982683_r8, & + 0.00047011943949033612_r8, 0.00047244518541520884_r8, & + 0.00047477853991221745_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,21) / & + 9.6426721966891667e-06_r8, 9.7307710958302964e-06_r8, & + 1.0117105670524888e-05_r8, 1.2868576890357934e-05_r8, & + 1.4159264588260907e-05_r8, 2.3054756386272392e-05_r8, & + 3.3503926666905002e-05_r8, 5.1434200670292038e-05_r8, & + 7.3677660552807906e-05_r8, 8.7986123932212726e-05_r8, & + 9.6805427471015188e-05_r8, 0.00010483438171422478_r8, & + 0.00011677417497908246_r8, 0.00012657090390943282_r8, & + 0.00013668369370589112_r8, 0.00014755719298630932_r8, & + 0.000170709443126183_r8, 0.00019750929290872775_r8, & + 0.00022520624204862538_r8, 0.00024884360278774702_r8, & + 0.00027100128455898628_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,21) / & + 8.8551707809094728e-05_r8, 5.9253252584123556e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,21) / & + 0.00010724992413094025_r8, 9.7614285020214181e-05_r8, & + 7.7486863069239892e-05_r8, 6.5188525801083676e-05_r8, & + 6.5660186576811365e-05_r8, 6.5050388313149453e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,21) / & + 6.8764637928421345e-05_r8, 5.5665214091967702e-05_r8, & + 5.3657851133581391e-05_r8, 5.572522722255645e-05_r8, & + 5.736722548315049e-05_r8, 6.4214163431264485e-05_r8, & + 5.9768567681679531e-05_r8, 5.7132102329094811e-05_r8, & + 5.2480834406100684e-05_r8, 5.088308215458425e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,21) / & + 3.211473667801427e-05_r8, 2.3666004407108013e-05_r8, & + 2.7676676182470717e-05_r8, 3.4494130270416442e-05_r8, & + 4.035657254074196e-05_r8, 5.2648644321327779e-05_r8, & + 5.3796250570013602e-05_r8, 5.3927954255710692e-05_r8, & + 5.1867890956449321e-05_r8, 5.1485364701948165e-05_r8, & + 5.1619229599288287e-05_r8, 5.4324959690112044e-05_r8, & + 5.7673137766101019e-05_r8, 5.8976155034506547e-05_r8, & + 6.0142622728106468e-05_r8, 6.0310892113081836e-05_r8, & + 6.172172656526474e-05_r8, 6.3621747957917532e-05_r8, & + 6.7123108309714293e-05_r8, 7.216846665042863e-05_r8, & + 7.6320394830533612e-05_r8, 7.9185328071212444e-05_r8, & + 7.4671991687130638e-05_r8, 8.3972134982952267e-05_r8, & + 9.2324920682615005e-05_r8, 9.9947610832305578e-05_r8, & + 0.00010369237671345659_r8, 0.00010816820689099008_r8, & + 0.0001110639267895068_r8, 0.00011272742909539857_r8, & + 0.00011478319550167159_r8, 0.0001162667359869318_r8, & + 0.00011722131344407677_r8, 0.00011761675008700758_r8, & + 0.00011759883064655304_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,21) / & + 4.3638001401620591e-05_r8, 5.1294169168706381e-05_r8, & + 5.7618481295756975e-05_r8, 5.5818036304226647e-05_r8, & + 6.0761120618798312e-05_r8, 6.3623966873349014e-05_r8, & + 5.6431404916803391e-05_r8, 5.4818993488467772e-05_r8, & + 5.6497103186828756e-05_r8, 5.6513032454560028e-05_r8, & + 5.609284616380194e-05_r8, 5.7808756557407555e-05_r8, & + 6.046321171271519e-05_r8, 6.1533887156947238e-05_r8, & + 6.3323390811953047e-05_r8, 6.4256599353817596e-05_r8, & + 6.6602291548938051e-05_r8, 6.8261039673460307e-05_r8, & + 7.1045127203934162e-05_r8, 7.5170337783475087e-05_r8, & + 7.8515249445681128e-05_r8, 8.1733252646732892e-05_r8, & + 8.2431016493863672e-05_r8, 8.887558686438244e-05_r8, & + 9.4815277310490359e-05_r8, 0.00010076905417386779_r8, & + 0.00010540760866174487_r8, 0.00011125957597691597_r8, & + 0.00011292273452967459_r8, 0.00011508300854568874_r8, & + 0.00011693400316543432_r8, 0.00011868890800907434_r8, & + 0.00011972873643284727_r8, 0.00012001490277012621_r8, & + 0.0001201653141694466_r8, 0.00011972838299166452_r8, & + 0.00012058601861029233_r8, 0.00012130280377672051_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,21) / & + 6.8153009709386801e-05_r8, 9.3139752409151683e-05_r8, & + 9.2792364619742536e-05_r8, 0.00011234848998585051_r8, & + 0.00010791430406637841_r8, 0.00011453707932322544_r8, & + 9.146512691693217e-05_r8, 6.6006867990582639e-05_r8, & + 6.61694499618783e-05_r8, 6.6523719240375414e-05_r8, & + 6.4695552690592663e-05_r8, 6.5197270260495779e-05_r8, & + 6.5667287014717013e-05_r8, 6.7169828174873643e-05_r8, & + 6.8751315719850497e-05_r8, 7.0294659077966507e-05_r8, & + 7.1316497989652573e-05_r8, 7.2338774213867506e-05_r8, & + 7.4673359304665524e-05_r8, 7.80410881004357e-05_r8, & + 8.0942184338868021e-05_r8, 8.4631303391988232e-05_r8, & + 8.8376804057760391e-05_r8, 9.3081177615972601e-05_r8, & + 9.8533534660624693e-05_r8, 0.00010333544082712501_r8, & + 0.00010926531776676905_r8, 0.00011837636806976321_r8, & + 0.00011805502492207673_r8, 0.00011840270978475518_r8, & + 0.00011920840627765224_r8, 0.00012003549348535666_r8, & + 0.00012094242504377679_r8, 0.00012085391810080727_r8, & + 0.00012146211013672869_r8, 0.00012187654434392068_r8, & + 0.00012416992114724863_r8, 0.00012456271130225006_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,22) / & + 9.1444203051843325e-05_r8, 9.4162768955482971e-05_r8, & + 9.3305896460995581e-05_r8, 9.6189080736241203e-05_r8, & + 0.00010313412750991619_r8, 0.0001165728604242182_r8, & + 0.00013557138452567854_r8, 0.00014507014947983968_r8, & + 0.00015049558669413932_r8, 0.00015966028286826966_r8, & + 0.00016046170341411708_r8, 0.00016257714784298692_r8, & + 0.00016612488618697574_r8, 0.00017087246815340981_r8, & + 0.000173418541196266_r8, 0.00017729787237163013_r8, & + 0.00018998385021769813_r8, 0.00020030444055836857_r8, & + 0.00020595558618750456_r8, 0.00021002881786668729_r8, & + 0.00021483714825978783_r8, 0.00022546037633950722_r8, & + 0.00022702919975835562_r8, 0.00023215754992099154_r8, & + 0.00023803990560727139_r8, 0.00024224835265379958_r8, & + 0.00024584976752970708_r8, 0.00025464761808541221_r8, & + 0.0002609434078916383_r8, 0.00026317574842152667_r8, & + 0.00026366874733976792_r8, 0.00026310313496646698_r8, & + 0.00026107807811497503_r8, 0.00026066716361838063_r8, & + 0.00025630822202926987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,22) / & + 8.1622878798564286e-05_r8, 8.3740373663125311e-05_r8, & + 7.8918828118141571e-05_r8, 7.1961516775396466e-05_r8, & + 8.2191875578757731e-05_r8, 9.4060707572994626e-05_r8, & + 0.00012216941036419251_r8, 0.00013884658892587097_r8, & + 0.00014998834836638591_r8, 0.0001618416635762073_r8, & + 0.00016644455708405276_r8, 0.00017314123218821579_r8, & + 0.00017709824496207546_r8, 0.00017874989618783983_r8, & + 0.00018007260183909604_r8, 0.00018138755696469957_r8, & + 0.00018458379877654642_r8, 0.00018905291238244387_r8, & + 0.000192892939501185_r8, 0.0001974978095128147_r8, & + 0.00020268620274122492_r8, 0.00021062612155240345_r8, & + 0.00021637725667137344_r8, 0.00022126413550644348_r8, & + 0.00022598399358844586_r8, 0.00023096408210861692_r8, & + 0.00023525215304438259_r8, 0.00024590657142920788_r8, & + 0.00025746360183479986_r8, 0.00026105005532042698_r8, & + 0.00026261173327153973_r8, 0.00026318772934244724_r8, & + 0.00026151792008841145_r8, 0.00026068274953165059_r8, & + 0.00025643941251906563_r8, 0.00026021535397408041_r8, & + 0.00025994499327731854_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,22) / & + 6.6882326146501788e-05_r8, 6.9965156008559083e-05_r8, & + 6.6089894685781783e-05_r8, 4.5938664387364683e-05_r8, & + 5.2367525407688313e-05_r8, 5.895953556884571e-05_r8, & + 7.8783090602583319e-05_r8, 0.00010593421046342694_r8, & + 0.00012182622135258642_r8, 0.00013406756702507178_r8, & + 0.0001451450839016717_r8, 0.00015265965243496958_r8, & + 0.00016069600398359708_r8, 0.00016502537847468937_r8, & + 0.00016884518539360749_r8, 0.00017125802826893546_r8, & + 0.00017519220469579017_r8, 0.00017810363015831709_r8, & + 0.00018186181653759805_r8, 0.0001863486974484502_r8, & + 0.00019086099755148935_r8, 0.00019709215193277439_r8, & + 0.00020282777707466721_r8, 0.00020842060622009207_r8, & + 0.00021512434555292042_r8, 0.00022130156105279499_r8, & + 0.00022664157927926963_r8, 0.00023731874916101364_r8, & + 0.0002491389008474525_r8, 0.00025652370297593981_r8, & + 0.00026241296798881032_r8, 0.00026602449972010721_r8, & + 0.00026757363376089387_r8, 0.00026826985946225843_r8, & + 0.00026828617358008099_r8, 0.00026830778183459079_r8, & + 0.00026836063593791998_r8, 0.00026850901046337604_r8, & + 0.0002685036843624812_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,22) / & + 5.3101684868361057e-05_r8, 5.3227124373740159e-05_r8, & + 4.3453471080515775e-05_r8, 3.8052803050086919e-05_r8, & + 3.979368119926406e-05_r8, 4.2944917395649912e-05_r8, & + 4.7754726605028821e-05_r8, 6.2477422283055683e-05_r8, & + 7.3446536637143523e-05_r8, 8.4024198125850423e-05_r8, & + 9.5852596445250343e-05_r8, 0.00010735459877346775_r8, & + 0.00012770706127092726_r8, 0.00013337198532469577_r8, & + 0.00014455250982356921_r8, 0.00015230075837106434_r8, & + 0.00015843857377580601_r8, 0.00016445905267213935_r8, & + 0.00016857338660967823_r8, 0.0001725263043961315_r8, & + 0.0001752166801839156_r8, 0.00017947749457375065_r8, & + 0.0001843418727473503_r8, 0.00018897716178327301_r8, & + 0.00019394118538148579_r8, 0.00020018058594338184_r8, & + 0.00020674963580087361_r8, 0.00022175561815382405_r8, & + 0.0002355227603127193_r8, 0.00024620956692062123_r8, & + 0.00025547319724487737_r8, 0.00026280738989303105_r8, & + 0.00026716688814051062_r8, 0.00026968786837966831_r8, & + 0.00027098455192337586_r8, 0.00027150568784818093_r8, & + 0.00027163583857398244_r8, 0.00027043145298333125_r8, & + 0.00026986114155481283_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,22) / & + 3.3456843823010868e-05_r8, 2.8996177715124207e-05_r8, & + 1.8085128032854748e-05_r8, 2.9257054177242602e-05_r8, & + 2.9806768104702556e-05_r8, 3.1273802943236257e-05_r8, & + 3.3559968834749495e-05_r8, 3.7215402845336742e-05_r8, & + 4.1611630139327354e-05_r8, 4.5553972583085407e-05_r8, & + 5.358199997833168e-05_r8, 6.1907506146045976e-05_r8, & + 8.8022564301999014e-05_r8, 9.1828745215865283e-05_r8, & + 0.00010412978400276373_r8, 0.00011587525455486072_r8, & + 0.00012146608876276838_r8, 0.00013314894380038643_r8, & + 0.00014144871436263412_r8, 0.00014829854826107174_r8, & + 0.00015256723673367115_r8, 0.00015501786319566701_r8, & + 0.00016014228328124839_r8, 0.00016351303367518767_r8, & + 0.00016728835072196514_r8, 0.00017165057425237509_r8, & + 0.00017610396353730568_r8, 0.00018759844380299701_r8, & + 0.00020189717374577889_r8, 0.00021731611957782334_r8, & + 0.00023256458545894545_r8, 0.00024574845465271782_r8, & + 0.00025541154536459017_r8, 0.00026319622600378155_r8, & + 0.00026906374654814649_r8, 0.00027103253201469943_r8, & + 0.00027138400023774602_r8, 0.00027012933006019334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,22) / & + 1.8835897289058943e-05_r8, 1.3339894500635511e-05_r8, & + 1.0405182593705265e-05_r8, 1.8955896196168563e-05_r8, & + 1.9363702706961641e-05_r8, 2.002276571956436e-05_r8, & + 2.0822481559228445e-05_r8, 2.2571903999436778e-05_r8, & + 2.3334840714339166e-05_r8, 2.4093943933793249e-05_r8, & + 2.7496394611662244e-05_r8, 2.9659465885107533e-05_r8, & + 4.4214421647016415e-05_r8, 4.771283934547956e-05_r8, & + 5.4425555209497309e-05_r8, 6.1079756291972085e-05_r8, & + 6.9615824154352826e-05_r8, 8.0978534442855703e-05_r8, & + 9.2018251785614628e-05_r8, 0.00010361651382536743_r8, & + 0.0001141019053945441_r8, 0.00011590092692747751_r8, & + 0.00012414920417434713_r8, 0.00013320500045968018_r8, & + 0.00014239016170018427_r8, 0.00014981057560787449_r8, & + 0.0001537977017045385_r8, 0.00016342120606673439_r8, & + 0.00017294495955983306_r8, 0.00018588310493501767_r8, & + 0.00020489526369882164_r8, 0.00022463824912760709_r8, & + 0.00023876262055485582_r8, 0.00025170872022079697_r8, & + 0.00026707201416782201_r8, 0.00027079274155346008_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,22) / & + 1.0434693100977636e-05_r8, 8.2183425778300715e-06_r8, & + 9.1871694018235034e-06_r8, 7.886822847555618e-06_r8, & + 8.0564324725462326e-06_r8, 8.3205351545612259e-06_r8, & + 8.5909861107549954e-06_r8, 9.5439107764754882e-06_r8, & + 1.0353922604017185e-05_r8, 1.0991804034336159e-05_r8, & + 1.245822100023581e-05_r8, 1.3067961376004001e-05_r8, & + 1.7628744348390773e-05_r8, 2.0033052378721145e-05_r8, & + 2.3361441508196084e-05_r8, 2.635676638008831e-05_r8, & + 3.1770656099464372e-05_r8, 3.9460530975161488e-05_r8, & + 4.801822887927112e-05_r8, 5.9524843061507542e-05_r8, & + 7.455019023920725e-05_r8, 8.5541523519449999e-05_r8, & + 9.5060333530647912e-05_r8, 0.00011276264864419856_r8, & + 0.00012985288663520947_r8, 0.00014340284152680006_r8, & + 0.00015146780696397672_r8, 0.00016673002827476981_r8, & + 0.00017480160099886288_r8, 0.00018120383167723376_r8, & + 0.00019384224014796641_r8, 0.00021141854648696056_r8, & + 0.00022915867341476704_r8, 0.00024072947362669946_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,22) / & + 6.2442607013383144e-06_r8, 6.9005570009491507e-06_r8, & + 7.2185088337051716e-06_r8, 4.5839973942368831e-06_r8, & + 4.6868269521896355e-06_r8, 4.793744706978244e-06_r8, & + 4.9769801268183643e-06_r8, 5.362122846026867e-06_r8, & + 5.8941534654263942e-06_r8, 6.3068293153406598e-06_r8, & + 6.7155698027011672e-06_r8, 7.1569340261300784e-06_r8, & + 7.8372851352342286e-06_r8, 8.5870869210907585e-06_r8, & + 9.3469932830459252e-06_r8, 1.0000824851089613e-05_r8, & + 1.1456702374977002e-05_r8, 1.4942426747462805e-05_r8, & + 2.1562291930976596e-05_r8, 3.2288169834240326e-05_r8, & + 4.7808748757405077e-05_r8, 6.5897233268779302e-05_r8, & + 8.5553195879878289e-05_r8, 0.00011063333584697437_r8, & + 0.00013108400055070405_r8, 0.00014740091420787488_r8, & + 0.00015969479573278294_r8, 0.00018030865956383281_r8, & + 0.00019076937325961373_r8, 0.00019558618871488625_r8, & + 0.00020291241132231784_r8, 0.00021469885721322497_r8, & + 0.0002282364134030158_r8, 0.00023921609543567214_r8, & + 0.00024218533953012029_r8, 0.00024464582737674463_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,22) / & + 5.2824719094116371e-06_r8, 5.5772848570259797e-06_r8, & + 4.9259505672803364e-06_r8, 4.4992099871517688e-06_r8, & + 4.6618199548407422e-06_r8, 4.6742384593848968e-06_r8, & + 4.6511675978347761e-06_r8, 4.768842683148229e-06_r8, & + 4.9634964505834486e-06_r8, 5.227704927363121e-06_r8, & + 5.5095392128633882e-06_r8, 6.1199933624710479e-06_r8, & + 6.9223350960511972e-06_r8, 7.562679760782538e-06_r8, & + 8.068636034030036e-06_r8, 8.4973404664291653e-06_r8, & + 9.3862340780657274e-06_r8, 1.1413894052977114e-05_r8, & + 1.7521014041196676e-05_r8, 2.7699765280791716e-05_r8, & + 4.4195778903739554e-05_r8, 6.5708993793090465e-05_r8, & + 9.1496841638741223e-05_r8, 0.0001222562391842691_r8, & + 0.00014372352882349466_r8, 0.00015747927787104066_r8, & + 0.00016874241813180852_r8, 0.00018886189652535192_r8, & + 0.00020001925856547636_r8, 0.00020351479913460464_r8, & + 0.00020938264371262412_r8, 0.00021987992143322334_r8, & + 0.00023159356300888692_r8, 0.00024063541164900118_r8, & + 0.00024480025878926507_r8, 0.00024829174545130451_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,22) / & + 5.3870634317054341e-06_r8, 5.3479216808296433e-06_r8, & + 4.8277991853696787e-06_r8, 5.0968933003139885e-06_r8, & + 5.2293790594397065e-06_r8, 5.2352065501575978e-06_r8, & + 5.0225722738232098e-06_r8, 4.6803890388618056e-06_r8, & + 4.4974342980379217e-06_r8, 4.684759009675847e-06_r8, & + 5.0280282996345092e-06_r8, 5.6474785898630163e-06_r8, & + 6.7081055224964415e-06_r8, 7.5193126389218273e-06_r8, & + 8.1172249174360945e-06_r8, 8.6171129934754524e-06_r8, & + 9.5368784424996627e-06_r8, 1.1863118578224193e-05_r8, & + 1.8439458534462974e-05_r8, 3.29542456034548e-05_r8, & + 5.346606164721406e-05_r8, 8.0522930218172102e-05_r8, & + 0.00010965565569705512_r8, 0.00013590371282114395_r8, & + 0.00015568285468475489_r8, 0.00016823096577782754_r8, & + 0.00017836563300407783_r8, 0.00019957679533372813_r8, & + 0.00021158169808120704_r8, 0.00021402346670477881_r8, & + 0.00021716054084213319_r8, 0.00022519225349217461_r8, & + 0.00023548794422220806_r8, 0.00024348990672804819_r8, & + 0.00025115896489300498_r8, 0.00025641074285936532_r8, & + 0.00025735666429705707_r8, 0.00026044039440208409_r8, & + 0.00026074402796681439_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,22) / & + 6.3736889344862041e-06_r8, 6.301941698887345e-06_r8, & + 6.108815534377529e-06_r8, 6.3082739578372172e-06_r8, & + 6.2346161727430107e-06_r8, 6.2437084553542384e-06_r8, & + 6.8022551027316417e-06_r8, 6.7308569331015429e-06_r8, & + 5.944080289568301e-06_r8, 5.5523812268704575e-06_r8, & + 5.4539786948759056e-06_r8, 5.9158418247537529e-06_r8, & + 6.6328538829668007e-06_r8, 7.2394370275054553e-06_r8, & + 7.9004817469785251e-06_r8, 8.5648184296940787e-06_r8, & + 9.8455176104966427e-06_r8, 1.24002675022853e-05_r8, & + 2.1041842180102001e-05_r8, 3.9715655332068744e-05_r8, & + 6.7197171246590856e-05_r8, 0.00010268613717025821_r8, & + 0.00013461604292701963_r8, 0.00015939602832184497_r8, & + 0.00017741199726647484_r8, 0.00018916091629547289_r8, & + 0.00019896852167015322_r8, 0.00022134084786465882_r8, & + 0.00023645181715687062_r8, 0.00024148259196289383_r8, & + 0.0002415350320438655_r8, 0.00024201453666799626_r8, & + 0.00024860365289089024_r8, 0.00025883194667235011_r8, & + 0.00026845207785300667_r8, 0.0002746759957371898_r8, & + 0.00027730076760637507_r8, 0.00027863831049277943_r8, & + 0.00027894596470904638_r8, 0.0002780508025070323_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,22) / & + 7.3501617706094719e-06_r8, 7.3099314324675687e-06_r8, & + 7.2648026027776739e-06_r8, 7.3348489469316456e-06_r8, & + 7.3220291257863897e-06_r8, 7.2797646206809189e-06_r8, & + 9.3172155613568308e-06_r8, 9.0251237350097269e-06_r8, & + 8.4679041899467962e-06_r8, 8.1854431868757162e-06_r8, & + 8.1211022308736017e-06_r8, 8.8486244752240904e-06_r8, & + 8.9660618992185408e-06_r8, 8.5635100543431598e-06_r8, & + 8.584060119716066e-06_r8, 9.0546559058338509e-06_r8, & + 1.1069562971922684e-05_r8, 1.6619007610830773e-05_r8, & + 3.5055040031095811e-05_r8, 6.9663065355617552e-05_r8, & + 0.00011114255110452488_r8, 0.00015057415031120494_r8, & + 0.00017669859447186275_r8, 0.00019618146302568596_r8, & + 0.00020873990768403822_r8, 0.00021807640748644022_r8, & + 0.00022684572963902253_r8, 0.00024521472423498454_r8, & + 0.00025832273359313444_r8, 0.00026401534433167758_r8, & + 0.0002662246577263427_r8, 0.00026820150303016573_r8, & + 0.00027505994577790122_r8, 0.00028418797232135427_r8, & + 0.00029091451370446961_r8, 0.00029610524166830501_r8, & + 0.00030091534155724886_r8, 0.00030253528138446737_r8, & + 0.00030338671654481697_r8, 0.00030323409384158651_r8, & + 0.00030250045839660397_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,22) / & + 7.8820078267057092e-06_r8, 7.9263430668956348e-06_r8, & + 7.8840490041362839e-06_r8, 9.4639756631388531e-06_r8, & + 9.7666402005116044e-06_r8, 1.0263893288604108e-05_r8, & + 1.5867883185590117e-05_r8, 1.5109458153833106e-05_r8, & + 1.5594489033871859e-05_r8, 1.6891295550256443e-05_r8, & + 1.816099371897821e-05_r8, 1.7382255247375632e-05_r8, & + 1.6211122852652934e-05_r8, 1.5837563647745445e-05_r8, & + 1.5954732563602305e-05_r8, 1.6578624505964875e-05_r8, & + 2.2485814526927954e-05_r8, 4.2290655985680072e-05_r8, & + 7.9681777246396203e-05_r8, 0.00013081264252544263_r8, & + 0.00017285228840895997_r8, 0.00019767316095591102_r8, & + 0.00021527539184008456_r8, 0.00022727333313860414_r8, & + 0.00023603711606211386_r8, 0.00024340489563625349_r8, & + 0.00025066914593536521_r8, 0.00026534748847203781_r8, & + 0.0002764774571834787_r8, 0.00028207521313790247_r8, & + 0.00028635452545585971_r8, 0.00029184315126605211_r8, & + 0.00030019405713489891_r8, 0.00030854142797545934_r8, & + 0.00031360502283467626_r8, 0.00031649142446751725_r8, & + 0.0003205905929875963_r8, 0.0003214240443193609_r8, & + 0.00031970706851176383_r8, 0.00031875340784922695_r8, & + 0.00031501704268906161_r8, 0.00031383071333857953_r8, & + 0.00031589901164523726_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,22) / & + 8.0515206389616132e-06_r8, 8.1526793246586129e-06_r8, & + 7.9217547839890542e-06_r8, 1.0172803267505565e-05_r8, & + 1.2011288313720104e-05_r8, 1.4509436575893175e-05_r8, & + 2.3119063781755607e-05_r8, 2.9050994067887059e-05_r8, & + 3.5354001085902534e-05_r8, 3.9646724551634462e-05_r8, & + 4.3611982060580595e-05_r8, 4.3993922049527601e-05_r8, & + 4.3671136411360881e-05_r8, 4.3863775452647614e-05_r8, & + 4.3790557321056593e-05_r8, 4.4952544427085973e-05_r8, & + 6.5446079897683708e-05_r8, 0.00010251094265852804_r8, & + 0.00014081943366475757_r8, 0.00017752468813017874_r8, & + 0.00020724337363200584_r8, 0.00022612973251726474_r8, & + 0.00024102270280667061_r8, 0.00025197311147912206_r8, & + 0.00025996959769785863_r8, 0.00026605466500818524_r8, & + 0.00027173240347642773_r8, 0.00028559106377187924_r8, & + 0.00029610098687250601_r8, 0.00030273431562316685_r8, & + 0.00030768959405128553_r8, 0.00031403232456489596_r8, & + 0.00032153470925075768_r8, 0.00032813726015785418_r8, & + 0.00033176199927138533_r8, 0.00033436010280281424_r8, & + 0.00033753999202403191_r8, 0.00033699092244374_r8, & + 0.0003344811914899699_r8, 0.0003331485138059544_r8, & + 0.00033039853276312163_r8, 0.00032841611777810166_r8, & + 0.00033024988998247228_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,22) / & + 8.0398607793566288e-06_r8, 8.20989928237599e-06_r8, & + 8.0944037192210862e-06_r8, 1.0343999084061744e-05_r8, & + 1.2865851176190279e-05_r8, 1.5731753875647264e-05_r8, & + 2.8628356193366344e-05_r8, 4.5269339061521464e-05_r8, & + 5.4968206633873782e-05_r8, 6.2747306748588187e-05_r8, & + 6.9532121620919483e-05_r8, 7.3981566776859476e-05_r8, & + 7.4835976662348026e-05_r8, 7.3205190653765929e-05_r8, & + 7.2108769870849615e-05_r8, 7.3875531689625507e-05_r8, & + 0.00010158653338698_r8, 0.00013739365109307478_r8, & + 0.00016774998925862255_r8, 0.00019947488189736096_r8, & + 0.00022627681326693717_r8, 0.0002471057201528562_r8, & + 0.0002634881986326645_r8, 0.00027391663596497797_r8, & + 0.00028074889551625104_r8, 0.00028598365941477508_r8, & + 0.00029113891318778388_r8, 0.00030594000300847616_r8, & + 0.00031580275109744369_r8, 0.00032292070381742186_r8, & + 0.00032806880956840899_r8, 0.0003346850182321289_r8, & + 0.00034202437259358713_r8, 0.00034891257385128073_r8, & + 0.00035200418350251321_r8, 0.00035243083900985973_r8, & + 0.00035225365374340627_r8, 0.00035060564654144612_r8, & + 0.00034815696942485757_r8, 0.00034691172963013256_r8, & + 0.00034638144122562542_r8, 0.00034175534096442413_r8, & + 0.00034434805929411629_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,22) / & + 7.863155678371423e-06_r8, 7.987723099410527e-06_r8, & + 8.1808667217696122e-06_r8, 1.0107944540858656e-05_r8, & + 1.2132408055725943e-05_r8, 1.4899819889893849e-05_r8, & + 2.6629119778877292e-05_r8, 4.5009839390559435e-05_r8, & + 5.1964552267049481e-05_r8, 6.2921483397022568e-05_r8, & + 7.0745441388614611e-05_r8, 7.3823274657842722e-05_r8, & + 7.4099350750160073e-05_r8, 7.4345169410920412e-05_r8, & + 7.5436870078745259e-05_r8, 7.9897717829207138e-05_r8, & + 0.00010786110949724764_r8, 0.00014007777692848447_r8, & + 0.00017158128132487114_r8, 0.00020199576787683564_r8, & + 0.00022766041288480463_r8, 0.00025005932501428958_r8, & + 0.00026921631138133203_r8, 0.00028077661715983918_r8, & + 0.00028891346148579979_r8, 0.00029615712735960199_r8, & + 0.0003034696235184592_r8, 0.00031948411399491283_r8, & + 0.00033299721208037374_r8, 0.00034206770514957967_r8, & + 0.00034818766690862665_r8, 0.00035373649116212622_r8, & + 0.00036048433790708919_r8, 0.00036763043751163486_r8, & + 0.0003699446554044553_r8, 0.00036985316328772623_r8, & + 0.00036858786923714133_r8, 0.00036731353307095855_r8, & + 0.00036615317974174013_r8, 0.00036377513912719191_r8, & + 0.00036120323733622613_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,22) / & + 7.9400318902555291e-06_r8, 7.9908918556393377e-06_r8, & + 8.2678813194087829e-06_r8, 9.4479436236026463e-06_r8, & + 1.0508159820764589e-05_r8, 1.2260180654276135e-05_r8, & + 2.0318438995010829e-05_r8, 3.417016994681646e-05_r8, & + 4.1862154106930681e-05_r8, 5.7486615073747114e-05_r8, & + 6.4970647030832704e-05_r8, 6.6598573904891182e-05_r8, & + 6.982003887138863e-05_r8, 7.2421433853694876e-05_r8, & + 7.7709795693791953e-05_r8, 8.7388788890933032e-05_r8, & + 0.00011517898682679842_r8, 0.00014482926271922427_r8, & + 0.00017377572935455978_r8, 0.00020264386305112413_r8, & + 0.00022724310045963179_r8, 0.00024826841796291531_r8, & + 0.00026620947212077672_r8, 0.0002811535227563454_r8, & + 0.00029480728653883358_r8, 0.00030522978782157828_r8, & + 0.00031485677678912767_r8, 0.00033552533894555048_r8, & + 0.00035310475624874242_r8, 0.00036506107959641997_r8, & + 0.00037241642424522872_r8, 0.00037802703910544107_r8, & + 0.00038366208059519225_r8, 0.0003907508037690777_r8, & + 0.00039324090208167986_r8, 0.00039345464084831756_r8, & + 0.00039094539685465479_r8, 0.00038500692089060278_r8, & + 0.00038505559553106444_r8, 0.0003795609875348695_r8, & + 0.0003815741564474684_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,22) / & + 8.1970844079228031e-06_r8, 8.513692658871008e-06_r8, & + 8.8536952021296551e-06_r8, 1.0328039036355454e-05_r8, & + 1.1397833336831133e-05_r8, 1.3042521654939207e-05_r8, & + 2.2638252682944171e-05_r8, 3.7370717019921813e-05_r8, & + 4.7027589493948544e-05_r8, 6.4195737394505582e-05_r8, & + 7.2303348494077497e-05_r8, 7.6563953596947112e-05_r8, & + 8.040373799423172e-05_r8, 8.2798291501707161e-05_r8, & + 9.0583897799091279e-05_r8, 0.00010266939296155687_r8, & + 0.00012892288459765604_r8, 0.00015728402027994295_r8, & + 0.0001845703056497371_r8, 0.00021157132038616264_r8, & + 0.00023441315544140619_r8, 0.00025418124657176975_r8, & + 0.00027216471385800128_r8, 0.00028761270184776515_r8, & + 0.00030388377145749496_r8, 0.000317068109337882_r8, & + 0.00032951986616968254_r8, 0.00035427700847228831_r8, & + 0.00037564444676150177_r8, 0.00038945554363797316_r8, & + 0.00039760740436131371_r8, 0.00040526514071654164_r8, & + 0.00041270467530612787_r8, 0.00042135267906621813_r8, & + 0.00042279581747203094_r8, 0.0004213467836996551_r8, & + 0.00041520928815516487_r8, 0.0004043907758882185_r8, & + 0.00039983013408223419_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,22) / & + 8.8970690266457288e-06_r8, 9.3999121854122179e-06_r8, & + 9.7325400148222616e-06_r8, 1.2826475822560032e-05_r8, & + 1.5266011073438904e-05_r8, 1.9755756536698477e-05_r8, & + 3.1602195980555711e-05_r8, 4.9770777093627171e-05_r8, & + 6.1853429539534264e-05_r8, 7.6741688604149534e-05_r8, & + 8.5558059198069335e-05_r8, 9.1332482086479121e-05_r8, & + 9.6401350675235406e-05_r8, 0.00010053783372915588_r8, & + 0.00010936286501356196_r8, 0.00012164219038000341_r8, & + 0.00014497627956139365_r8, 0.00017222216600576497_r8, & + 0.00019851132131155168_r8, 0.00022232401274214575_r8, & + 0.00024344712753817394_r8, 0.00026276749114430476_r8, & + 0.00028138898104544457_r8, 0.00030050666222767181_r8, & + 0.00031688094966969408_r8, 0.00033191376567557235_r8, & + 0.00034633109377497386_r8, 0.00037530301524042151_r8, & + 0.00039928906768888357_r8, 0.00041347323559814779_r8, & + 0.00042150226044985155_r8, 0.00042849974480503887_r8, & + 0.00043537463007335827_r8, 0.00044286277988059329_r8, & + 0.0004445779147561218_r8, 0.00044195103626875769_r8, & + 0.00043188966697053829_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,22) / & + 1.0087761228647091e-05_r8, 1.067958729940916e-05_r8, & + 1.1137224074749185e-05_r8, 1.3282423862680297e-05_r8, & + 1.5232195729127261e-05_r8, 2.165349364622007e-05_r8, & + 3.5238856583496242e-05_r8, 5.5675385243355118e-05_r8, & + 6.9925714592605621e-05_r8, 8.059874468901899e-05_r8, & + 8.8927804690828983e-05_r8, 9.5364180902233965e-05_r8, & + 0.00010577940465154836_r8, 0.00011491840351483042_r8, & + 0.00012540680249173582_r8, 0.00013758778475998963_r8, & + 0.00015996528746317724_r8, 0.00018480001718257252_r8, & + 0.00020980164560039475_r8, 0.00023163394771370517_r8, & + 0.00025221811045409847_r8, 0.00027167970167469197_r8, & + 0.00029063565484346621_r8, 0.00031513596089831824_r8, & + 0.0003324693275300189_r8, 0.00034746060263005882_r8, & + 0.00036227214236918216_r8, 0.00039702717055129828_r8, & + 0.00042225863634944076_r8, 0.00043758540542078401_r8, & + 0.00044618908050471644_r8, 0.00045148033281065277_r8, & + 0.00045661090138782189_r8, 0.00045968574137319551_r8, & + 0.00046397172773349584_r8, 0.00046004464359651273_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,22) / & + 9.7766311578864183e-06_r8, 1.0202055233710649e-05_r8, & + 1.0771856362986383e-05_r8, 1.3022958153731824e-05_r8, & + 1.2954132838907482e-05_r8, 1.821447288320804e-05_r8, & + 3.001423770802887e-05_r8, 5.2481805369595803e-05_r8, & + 7.1396472401068179e-05_r8, 8.3879558473171545e-05_r8, & + 9.3311154645193232e-05_r8, 0.00010196603268069568_r8, & + 0.00011364107656161406_r8, 0.00012339735976347663_r8, & + 0.00013380466885619459_r8, 0.00014524726132535547_r8, & + 0.00016773243582959168_r8, 0.00019180275593427246_r8, & + 0.00021866174583679731_r8, 0.00024140221717366747_r8, & + 0.00026248943721619904_r8, 0.00028340584409285223_r8, & + 0.00030145931336036155_r8, 0.00032448058796010973_r8, & + 0.00034248894434976262_r8, 0.00035826798801432243_r8, & + 0.00037415753805869842_r8, 0.00041225568395558823_r8, & + 0.00043730128966147121_r8, 0.00045205924558821956_r8, & + 0.0004620688167980077_r8, 0.00046714831144277583_r8, & + 0.00047139674744643695_r8, 0.00047343511355368173_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,22) / & + 9.3493709734150625e-06_r8, 9.5161494213918822e-06_r8, & + 1.0029493256837852e-05_r8, 1.2554665753648159e-05_r8, & + 1.2730534615443595e-05_r8, 1.9624139713389272e-05_r8, & + 3.5151978031844873e-05_r8, 5.8768390530940679e-05_r8, & + 7.6807528223792911e-05_r8, 9.1202527748716525e-05_r8, & + 0.00010100899218679967_r8, 0.00011027555773289135_r8, & + 0.00012132997954003816_r8, 0.00013163200736028514_r8, & + 0.00014215100643267213_r8, 0.00015355738720069779_r8, & + 0.0001755902030010495_r8, 0.00019991935116997353_r8, & + 0.00022698758262968048_r8, 0.00025044147975325748_r8, & + 0.0002726185886793741_r8, 0.00029385297059393605_r8, & + 0.00031266340852616149_r8, 0.00033559347833207666_r8, & + 0.00035377930737020224_r8, 0.0003698798340814197_r8, & + 0.00038606627048966204_r8, 0.00042518066817165455_r8, & + 0.00045088930404473568_r8, 0.00046575878663121501_r8, & + 0.00047583288445750152_r8, 0.0004814749296595321_r8, & + 0.00048492534935597539_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,22) / & + 7.0028925486107958e-05_r8, 6.5241767700135363e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,22) / & + 0.00010118057387632412_r8, 9.5787818488993564e-05_r8, & + 8.3625397209141338e-05_r8, 8.3078833313105145e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,22) / & + 7.4015433298841213e-05_r8, 6.0643304572938114e-05_r8, & + 5.9065764982744547e-05_r8, 5.9810444634485065e-05_r8, & + 5.9146273330462436e-05_r8, 6.7388328756797501e-05_r8, & + 6.4929884184545676e-05_r8, 6.2027786345401832e-05_r8, & + 5.9243890638417653e-05_r8, 5.5728502881416677e-05_r8, & + 5.4140461379620585e-05_r8, 5.5259465960891481e-05_r8, & + 5.7609359693275846e-05_r8, 5.7329360290629809e-05_r8, & + 5.8787972920167199e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,22) / & + 3.2099579518912735e-05_r8, 2.4240175255221683e-05_r8, & + 2.836605512934084e-05_r8, 3.6287947734872806e-05_r8, & + 4.2986360875960691e-05_r8, 5.5928295073102315e-05_r8, & + 5.7447768233382488e-05_r8, 5.6426180188885776e-05_r8, & + 5.3545167875927193e-05_r8, 5.3048141917104978e-05_r8, & + 5.2686559054307042e-05_r8, 5.458206646488517e-05_r8, & + 5.7782674786603462e-05_r8, 5.9010961451998425e-05_r8, & + 5.9888329888596671e-05_r8, 6.0045817088279e-05_r8, & + 6.1167465713661909e-05_r8, 6.3117787633303087e-05_r8, & + 6.6312599683722803e-05_r8, 7.1431966922386398e-05_r8, & + 7.5586352338446238e-05_r8, 7.9021327847924279e-05_r8, & + 7.3931504547093606e-05_r8, 8.3033424185791963e-05_r8, & + 9.2263432617716682e-05_r8, 9.9600224919991793e-05_r8, & + 0.00010311850970131541_r8, 0.00010822442699760196_r8, & + 0.00011108656610831108_r8, 0.00011272466909459921_r8, & + 0.00011478384541045468_r8, 0.00011637451792226807_r8, & + 0.00011733757182549568_r8, 0.0001176881154858716_r8, & + 0.00011767587623597903_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,22) / & + 4.3164458553736441e-05_r8, 5.0606240803122474e-05_r8, & + 5.6958504565609298e-05_r8, 5.5598309325626953e-05_r8, & + 6.2400141545330414e-05_r8, 6.5203201181862245e-05_r8, & + 5.7546840156510037e-05_r8, 5.6179223441783866e-05_r8, & + 5.7486350354366149e-05_r8, 5.7064045970182049e-05_r8, & + 5.6244710026436984e-05_r8, 5.7754694285445124e-05_r8, & + 6.068579696246822e-05_r8, 6.1675705640610012e-05_r8, & + 6.3329247527892758e-05_r8, 6.4249608881762949e-05_r8, & + 6.6468510358636606e-05_r8, 6.8057923331710883e-05_r8, & + 7.0787819706259275e-05_r8, 7.5060352878497503e-05_r8, & + 7.8470194271845815e-05_r8, 8.178449233971712e-05_r8, & + 8.2176517050245156e-05_r8, 8.8482612837027257e-05_r8, & + 9.500203770066103e-05_r8, 0.00010100576657577352_r8, & + 0.00010562076980403562_r8, 0.00011165669818795934_r8, & + 0.00011293733444005008_r8, 0.00011506676405569707_r8, & + 0.00011691513911944164_r8, 0.00011861114115397967_r8, & + 0.00011971987282795337_r8, 0.00011989956503520954_r8, & + 0.00012003971311558445_r8, 0.00011962054301500431_r8, & + 0.00012059749769214502_r8, 0.00012130286356139695_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,22) / & + 6.5993099454124193e-05_r8, 9.2485685316877201e-05_r8, & + 9.2302715420250492e-05_r8, 0.00011291306452749477_r8, & + 0.00010837128289926824_r8, 0.00011666575578466588_r8, & + 9.1320747074673256e-05_r8, 6.760241382646941e-05_r8, & + 6.6638770960821979e-05_r8, 6.6519331511688358e-05_r8, & + 6.44842432651111e-05_r8, 6.4917882731834679e-05_r8, & + 6.5745829216625772e-05_r8, 6.7219113669547971e-05_r8, & + 6.8788864408993134e-05_r8, 7.0354550364077186e-05_r8, & + 7.1369807898811219e-05_r8, 7.2354893449966685e-05_r8, & + 7.468532590472967e-05_r8, 7.8101900187181432e-05_r8, & + 8.1012212360904241e-05_r8, 8.4695994162240989e-05_r8, & + 8.8411123792931409e-05_r8, 9.3140484635080608e-05_r8, & + 9.8657269327705348e-05_r8, 0.00010352496574267384_r8, & + 0.00010946116359847309_r8, 0.00011857861909120753_r8, & + 0.00011804946738267052_r8, 0.00011837527107127847_r8, & + 0.00011919319960064303_r8, 0.00011993193865415156_r8, & + 0.00012090466427964722_r8, 0.00012077399093673263_r8, & + 0.00012139943453196852_r8, 0.00012182454009093697_r8, & + 0.00012417642567337959_r8, 0.00012455744972006188_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,23) / & + 9.9673479315835536e-05_r8, 0.00010290730591669241_r8, & + 0.00010083594435001777_r8, 9.6012083964765142e-05_r8, & + 9.9938698089886493e-05_r8, 0.00010989230116686883_r8, & + 0.00012893466749166994_r8, 0.00013998845172583134_r8, & + 0.0001524851196605684_r8, 0.0001628172506673382_r8, & + 0.00016481047054355534_r8, 0.00017109231902214322_r8, & + 0.00017156018997946938_r8, 0.00017451649490508896_r8, & + 0.00017711985315225497_r8, 0.00018191415986841718_r8, & + 0.00019286406980050636_r8, 0.00020457674092058217_r8, & + 0.0002111833976591486_r8, 0.00021616308246970146_r8, & + 0.00022183452060511245_r8, 0.00023180604591635287_r8, & + 0.00023016067530581022_r8, 0.00023390100707387345_r8, & + 0.00023972805895873983_r8, 0.00024550363045361742_r8, & + 0.00024829262454797605_r8, 0.00025480138959002531_r8, & + 0.0002586514122412922_r8, 0.00025964501463981586_r8, & + 0.0002592820282571231_r8, 0.00025845196912934479_r8, & + 0.00025657819481225323_r8, 0.00025564328411836393_r8, & + 0.00025632338243843837_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,23) / & + 8.6168718700555956e-05_r8, 8.8353640554166159e-05_r8, & + 8.3376131107892767e-05_r8, 6.9013731048697745e-05_r8, & + 7.7212704601204116e-05_r8, 8.719500419184157e-05_r8, & + 0.00011634359931040968_r8, 0.00013214936711693445_r8, & + 0.00014605141194535331_r8, 0.00015675944030038122_r8, & + 0.00016356586666104762_r8, 0.00017145994806204247_r8, & + 0.00017331450739614397_r8, 0.00017575522166445766_r8, & + 0.00017762975883798898_r8, 0.00017971220099833359_r8, & + 0.00018395157390936061_r8, 0.00018993646590955267_r8, & + 0.00019528885431539792_r8, 0.00020045763915384673_r8, & + 0.00020672086465042155_r8, 0.00021418783062912951_r8, & + 0.00021903464825785362_r8, 0.00022350719624858386_r8, & + 0.00022813460106046904_r8, 0.00023326456054994135_r8, & + 0.0002371923473936216_r8, 0.00024660068388016574_r8, & + 0.00025433515206273741_r8, 0.00025711340548011791_r8, & + 0.00025884891027918883_r8, 0.0002595304620295502_r8, & + 0.00025871470545952316_r8, 0.00025722139581192617_r8, & + 0.00025679452423603888_r8, 0.00025861197510064206_r8, & + 0.000259084712947536_r8, 0.00026285526027564282_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,23) / & + 7.0952965508811107e-05_r8, 7.3393850936000625e-05_r8, & + 6.7929578274902457e-05_r8, 3.8894896231323141e-05_r8, & + 4.2023488575499611e-05_r8, 4.8792301937771745e-05_r8, & + 6.7610298028168264e-05_r8, 9.271384083590476e-05_r8, & + 0.00010707394174050766_r8, 0.00011866833330319461_r8, & + 0.0001319614106584159_r8, 0.00013984026370060754_r8, & + 0.00014864889544563629_r8, 0.00015463281411989279_r8, & + 0.00015862270165780467_r8, 0.00016121379650549451_r8, & + 0.00016611936461535695_r8, 0.00016863259298893792_r8, & + 0.00017260016707836573_r8, 0.00017668530354350529_r8, & + 0.00018130662809648162_r8, 0.00018572128747840547_r8, & + 0.00018996844262969681_r8, 0.00019577368094446143_r8, & + 0.00020248990211856822_r8, 0.00020885939562899418_r8, & + 0.00021486963533920358_r8, 0.00022856792903898834_r8, & + 0.00024019821649441238_r8, 0.00024885039956856254_r8, & + 0.00025571935707379735_r8, 0.00026078418672166007_r8, & + 0.00026329105696262399_r8, 0.00026420969088801672_r8, & + 0.00026396969433390463_r8, 0.0002637706091133112_r8, & + 0.00026355128787779999_r8, 0.00026450516103883608_r8, & + 0.00026510807256770896_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,23) / & + 5.4784428741623112e-05_r8, 5.4312576007426534e-05_r8, & + 4.2048631887586317e-05_r8, 2.9852280065704391e-05_r8, & + 3.0832086693368073e-05_r8, 3.4181962786654306e-05_r8, & + 3.9227444033325078e-05_r8, 5.1847616160271371e-05_r8, & + 6.2145622539159365e-05_r8, 7.0885959258981665e-05_r8, & + 8.224437508742269e-05_r8, 9.1510492729331657e-05_r8, & + 0.00010714264353239317_r8, 0.00011748067859287558_r8, & + 0.00012777107095862588_r8, 0.00013528179586261895_r8, & + 0.00014658663788008093_r8, 0.00015211520381581454_r8, & + 0.00015776405642210694_r8, 0.00016249800008597727_r8, & + 0.00016603146948477196_r8, 0.00016922281904407688_r8, & + 0.00017241778892751697_r8, 0.00017647723531616721_r8, & + 0.0001810796240257906_r8, 0.00018608779118839836_r8, & + 0.00019144994175392723_r8, 0.00020712024912512429_r8, & + 0.00022204033603840097_r8, 0.00023466568639359621_r8, & + 0.00024621523396258584_r8, 0.00025576941013928379_r8, & + 0.00026259682141291271_r8, 0.00026718752544837844_r8, & + 0.00026962795688951032_r8, 0.00027050447272411265_r8, & + 0.00027077638583424961_r8, 0.00026992043591592157_r8, & + 0.00026984705142943897_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,23) / & + 3.1294941452892752e-05_r8, 2.6765642077148359e-05_r8, & + 1.3775795047152197e-05_r8, 2.0479841207013194e-05_r8, & + 2.054047759876893e-05_r8, 2.1251161347871001e-05_r8, & + 2.3265692876591891e-05_r8, 2.6118434521925365e-05_r8, & + 2.9992483474108323e-05_r8, 3.3282377541579072e-05_r8, & + 3.7918399923772536e-05_r8, 4.2768637125645293e-05_r8, & + 5.6975053373285063e-05_r8, 6.2967843117436159e-05_r8, & + 7.3696886086734836e-05_r8, 8.230124091528674e-05_r8, & + 9.3352834922516442e-05_r8, 0.00010687203188290298_r8, & + 0.00011872996148497736_r8, 0.0001297609184102612_r8, & + 0.00013774878061204607_r8, 0.00014237487595900885_r8, & + 0.00015026477301589061_r8, 0.00015468313760154834_r8, & + 0.00015913668679623752_r8, 0.00016317063741150839_r8, & + 0.00016670850375359798_r8, 0.00017578095654492462_r8, & + 0.00018814378920960906_r8, 0.00020367083420986748_r8, & + 0.0002214362776239929_r8, 0.00023717024173980708_r8, & + 0.00024912168636092598_r8, 0.00025890511237700985_r8, & + 0.00026677938992950001_r8, 0.00027097399453224224_r8, & + 0.00027183323374864893_r8, 0.00027117500585774833_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,23) / & + 1.6047907650648418e-05_r8, 1.1436426184041031e-05_r8, & + 6.8865948206895091e-06_r8, 1.1796496572419123e-05_r8, & + 1.2005440667866756e-05_r8, 1.2321924473621902e-05_r8, & + 1.2948340820223306e-05_r8, 1.42574069720342e-05_r8, & + 1.5359378081660804e-05_r8, 1.6394175847008734e-05_r8, & + 1.8296199448739038e-05_r8, 1.9086352673420608e-05_r8, & + 2.9443335537390992e-05_r8, 3.1981277125611844e-05_r8, & + 3.6868303515914292e-05_r8, 4.175704003366095e-05_r8, & + 5.0188375605274898e-05_r8, 6.2399094452325379e-05_r8, & + 7.5111632141177653e-05_r8, 8.8612475244733931e-05_r8, & + 0.00010198271235925183_r8, 0.00010996375625312604_r8, & + 0.00012162980861698507_r8, 0.00013208991481915508_r8, & + 0.00014247558836633984_r8, 0.00015006706692087906_r8, & + 0.00015443340029730004_r8, 0.00016287000752086288_r8, & + 0.00017085524736956231_r8, 0.00018267590102598774_r8, & + 0.00020115751676202785_r8, 0.00022273350072123718_r8, & + 0.00023774558278905918_r8, 0.00024985659828931079_r8, & + 0.00026274481217621379_r8, 0.00027070993462951522_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,23) / & + 7.94630365684009e-06_r8, 7.8214974079328357e-06_r8, & + 7.7098231290263044e-06_r8, 5.9533266786635332e-06_r8, & + 6.0802306895013618e-06_r8, 6.3071335648117357e-06_r8, & + 6.7886472730676538e-06_r8, 7.5739150801654282e-06_r8, & + 8.1383270108242342e-06_r8, 8.6148222152996556e-06_r8, & + 9.4697743110636063e-06_r8, 9.7805500253057301e-06_r8, & + 1.3441384356994957e-05_r8, 1.4954171616897435e-05_r8, & + 1.7007172414273191e-05_r8, 1.9265907396535971e-05_r8, & + 2.3740055029344142e-05_r8, 3.1760128532432745e-05_r8, & + 4.0622376954396515e-05_r8, 5.238877846271117e-05_r8, & + 6.7983080936803418e-05_r8, 8.2837785057674786e-05_r8, & + 9.6367077067157486e-05_r8, 0.00011574617388907289_r8, & + 0.00013274862036815807_r8, 0.00014555495658033152_r8, & + 0.00015364787343511392_r8, 0.00016855631471434621_r8, & + 0.00017616415439005391_r8, 0.0001814813878172692_r8, & + 0.00019277423623126157_r8, 0.00021111419727534982_r8, & + 0.00023018220993655815_r8, 0.00024089701627389608_r8, & + 0.00024185862184293084_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,23) / & + 5.0127344677692051e-06_r8, 6.6561619492971898e-06_r8, & + 6.3856701024771784e-06_r8, 4.7823435016791062e-06_r8, & + 4.8667451541914206e-06_r8, 4.9966660554041331e-06_r8, & + 5.1388041132113193e-06_r8, 5.5518340948361436e-06_r8, & + 5.8016200632738645e-06_r8, 6.1090647557651594e-06_r8, & + 6.4219587806005629e-06_r8, 6.8975134842015123e-06_r8, & + 7.6246350111733164e-06_r8, 8.2538107236892152e-06_r8, & + 8.8073091922729952e-06_r8, 9.2756940056787073e-06_r8, & + 1.042572948837609e-05_r8, 1.3997651454721314e-05_r8, & + 2.0778682567762826e-05_r8, 3.1565643870235388e-05_r8, & + 4.7903038511560706e-05_r8, 6.7236055771561446e-05_r8, & + 8.8313291164145399e-05_r8, 0.00011538679662731974_r8, & + 0.00013366024764906384_r8, 0.00014839383572985796_r8, & + 0.00015954886105766514_r8, 0.00017830656667007746_r8, & + 0.00018779357781845068_r8, 0.00019148828656849676_r8, & + 0.00019824458570949244_r8, 0.00021087908028906977_r8, & + 0.00022653506944331255_r8, 0.00023860162564027075_r8, & + 0.00024242733677319944_r8, 0.00024689996873348408_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,23) / & + 5.1025241378169943e-06_r8, 5.5650971174689419e-06_r8, & + 4.8729355832059658e-06_r8, 5.1123936669666967e-06_r8, & + 5.2008959327462704e-06_r8, 5.1713761323794805e-06_r8, & + 5.0393418810776534e-06_r8, 5.0530835646593889e-06_r8, & + 5.1651091485581367e-06_r8, 5.3971572581684727e-06_r8, & + 5.6636393148907817e-06_r8, 6.3231200780756526e-06_r8, & + 7.2400635201487942e-06_r8, 7.9624891860602587e-06_r8, & + 8.5991352840165655e-06_r8, 9.0527450659488116e-06_r8, & + 9.9622007591504203e-06_r8, 1.2464371023859947e-05_r8, & + 1.9361441574570654e-05_r8, 3.0425519118554977e-05_r8, & + 4.7818074954074138e-05_r8, 6.9614597996684209e-05_r8, & + 9.6393365767849572e-05_r8, 0.00012885874191743708_r8, & + 0.00014691637910352204_r8, 0.00015866987355555142_r8, & + 0.00016779815262405278_r8, 0.00018472198350742919_r8, & + 0.00019310209190855204_r8, 0.00019668479286182126_r8, & + 0.00020284702466366581_r8, 0.00021477463817224689_r8, & + 0.00022773709763011969_r8, 0.00023841203050785673_r8, & + 0.00024292084022873821_r8, 0.00024702001278188571_r8, & + 0.00025158867800709937_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,23) / & + 5.6065294772989583e-06_r8, 5.5681439288897736e-06_r8, & + 5.3035832451216971e-06_r8, 5.356751600842591e-06_r8, & + 5.3705105712119014e-06_r8, 5.3428951496147894e-06_r8, & + 5.2847292134324209e-06_r8, 4.8794488691382167e-06_r8, & + 4.7425765806587573e-06_r8, 4.9126384236681704e-06_r8, & + 5.2045307430135332e-06_r8, 5.8033777804719817e-06_r8, & + 6.7801244642545151e-06_r8, 7.6362205432193963e-06_r8, & + 8.3606381217919366e-06_r8, 8.980288287478454e-06_r8, & + 1.0167821633497409e-05_r8, 1.2515331323937275e-05_r8, & + 2.0018339666155768e-05_r8, 3.4543714730119427e-05_r8, & + 5.7043660779759227e-05_r8, 8.4329017315603187e-05_r8, & + 0.00011351425874449032_r8, 0.00013927612550604493_r8, & + 0.00015644652704984553_r8, 0.00016814381323826096_r8, & + 0.00017765428798708355_r8, 0.00019710260621387196_r8, & + 0.00021044273851302488_r8, 0.00021614866827252645_r8, & + 0.00022217060608901789_r8, 0.00023020104663324382_r8, & + 0.0002395121917162479_r8, 0.00024732620633834937_r8, & + 0.00025405320076159204_r8, 0.00025577545068393898_r8, & + 0.00025626705122102532_r8, 0.0002573336432971722_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,23) / & + 6.680077736350882e-06_r8, 6.6026675543234888e-06_r8, & + 6.7121530912628437e-06_r8, 5.969744450324112e-06_r8, & + 5.9198767332070649e-06_r8, 5.886287745608748e-06_r8, & + 6.0646941182168029e-06_r8, 6.2633289007359472e-06_r8, & + 5.7400855122975155e-06_r8, 5.5547204816197262e-06_r8, & + 5.5847341232480827e-06_r8, 6.1327717156462099e-06_r8, & + 6.7615981261011196e-06_r8, 7.2916384724210647e-06_r8, & + 7.8441976308806206e-06_r8, 8.6505334400924543e-06_r8, & + 1.0361776955985143e-05_r8, 1.3736497812986004e-05_r8, & + 2.2950430099973237e-05_r8, 3.9981264702329407e-05_r8, & + 6.9450232305906019e-05_r8, 0.00010714183355468989_r8, & + 0.00013887515586019804_r8, 0.00016193170816188672_r8, & + 0.00017746482510975299_r8, 0.00018913589997355255_r8, & + 0.00019932253641001169_r8, 0.00022075249794167894_r8, & + 0.00023703776586848804_r8, 0.00024319318369084818_r8, & + 0.00024689428444835875_r8, 0.00025051709153685488_r8, & + 0.00025769576922275684_r8, 0.00026533668339273012_r8, & + 0.00027282091921188294_r8, 0.00027251814337608468_r8, & + 0.00027354360045501753_r8, 0.00027239963369080414_r8, & + 0.00027435438415121012_r8, 0.00027649763574121483_r8, & + 0.00027676125358129918_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,23) / & + 7.4937350537141783e-06_r8, 7.485771301697565e-06_r8, & + 7.661666934363574e-06_r8, 7.4285987832717932e-06_r8, & + 7.3540436106351153e-06_r8, 7.2250189804882621e-06_r8, & + 9.4171970692105441e-06_r8, 8.6606140298355596e-06_r8, & + 7.994549798931205e-06_r8, 7.7150518356989749e-06_r8, & + 7.7457147353943989e-06_r8, 8.5832768081767158e-06_r8, & + 8.7376925029736384e-06_r8, 8.7392468619924759e-06_r8, & + 8.744954520201706e-06_r8, 9.2030692236380622e-06_r8, & + 1.1683830536699015e-05_r8, 1.8274202970941617e-05_r8, & + 3.8049674211504979e-05_r8, 7.2121579003764174e-05_r8, & + 0.00011339323391258707_r8, 0.00015449071738138156_r8, & + 0.0001802687124362323_r8, 0.00019821522441906952_r8, & + 0.00020939683026246329_r8, 0.00021802040805648466_r8, & + 0.00022631998928337077_r8, 0.00024561196998078088_r8, & + 0.00025921544130197438_r8, 0.00026594506914893497_r8, & + 0.00027019675075017389_r8, 0.00027429071015427984_r8, & + 0.00028083391854101124_r8, 0.00028857434154150416_r8, & + 0.0002935730695654054_r8, 0.00029396897571675856_r8, & + 0.00029401853681062292_r8, 0.00029388077442208071_r8, & + 0.00029253065246839886_r8, 0.000291348161981624_r8, & + 0.00029188555082815113_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,23) / & + 7.7647816277211267e-06_r8, 7.9285032198614032e-06_r8, & + 8.0181007719585557e-06_r8, 1.0665391773605748e-05_r8, & + 1.1055034654884138e-05_r8, 1.158146634132695e-05_r8, & + 1.7037605695743147e-05_r8, 1.5858885635329856e-05_r8, & + 1.7367090272294432e-05_r8, 1.8707710141063012e-05_r8, & + 1.9748583475856485e-05_r8, 1.8911212220175517e-05_r8, & + 1.7557742007324048e-05_r8, 1.7953103946635125e-05_r8, & + 1.8051662076466463e-05_r8, 1.8568915150886342e-05_r8, & + 2.6558429354090108e-05_r8, 4.7379580108690165e-05_r8, & + 8.5197484555330408e-05_r8, 0.00013682372558531002_r8, & + 0.00017513167078675871_r8, 0.00019768598916004642_r8, & + 0.00021494541037256112_r8, 0.00022627718028442269_r8, & + 0.0002344928112981695_r8, 0.00024132625100711227_r8, & + 0.00024842297942885295_r8, 0.00026484761205178699_r8, & + 0.00027722610086704973_r8, 0.00028399779745400265_r8, & + 0.00028906876843100412_r8, 0.00029502929252182635_r8, & + 0.00030217562160554879_r8, 0.00030783832782417346_r8, & + 0.00031133781516755961_r8, 0.00031240678292883953_r8, & + 0.00031290090763619343_r8, 0.00031141035665320179_r8, & + 0.00030905792545779802_r8, 0.00030930159486333123_r8, & + 0.00030833143936657574_r8, 0.00030548139266327101_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,23) / & + 7.6629939891056092e-06_r8, 7.9640533667393676e-06_r8, & + 8.1262653053732055e-06_r8, 1.0575381100080854e-05_r8, & + 1.2685926576345051e-05_r8, 1.5235859154132624e-05_r8, & + 2.3116802536835219e-05_r8, 2.7897999573467306e-05_r8, & + 3.4724907959220079e-05_r8, 4.1182405272214774e-05_r8, & + 4.5692251838141997e-05_r8, 4.6842256360448884e-05_r8, & + 4.9648992958240387e-05_r8, 5.2226639488811661e-05_r8, & + 5.2299185391105315e-05_r8, 5.3170930546336053e-05_r8, & + 7.8682954077055441e-05_r8, 0.00011489034456995481_r8, & + 0.00015062909720486999_r8, 0.00018602120594317311_r8, & + 0.00021319482575960153_r8, 0.00022909485416783455_r8, & + 0.00024400140954902578_r8, 0.00025393898503950124_r8, & + 0.0002608890911406979_r8, 0.00026630802806168263_r8, & + 0.0002717606324211323_r8, 0.0002853058078299824_r8, & + 0.00029688973426712052_r8, 0.00030371789789821217_r8, & + 0.00030909429843208909_r8, 0.00031567464612542552_r8, & + 0.00032252871418420021_r8, 0.0003279966824720377_r8, & + 0.00033143486251046612_r8, 0.00033264381390622083_r8, & + 0.00033128394271043953_r8, 0.00032824271668568548_r8, & + 0.00032590021938909023_r8, 0.00032494669392932373_r8, & + 0.00032323436590463351_r8, 0.00032190558526192127_r8, & + 0.00031889927990649586_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,23) / & + 7.5611784137085287e-06_r8, 7.8884054782789723e-06_r8, & + 8.4489630110463536e-06_r8, 9.7063049598653657e-06_r8, & + 1.2122388181480588e-05_r8, 1.564406666547924e-05_r8, & + 2.7217896400595841e-05_r8, 4.1546577687329855e-05_r8, & + 5.1382198495319021e-05_r8, 6.1771041227014263e-05_r8, & + 6.9597415081543591e-05_r8, 7.4986430774966171e-05_r8, & + 8.0431210855222432e-05_r8, 8.0900875135773718e-05_r8, & + 8.0293592882612984e-05_r8, 8.283026356021573e-05_r8, & + 0.00011228133327307012_r8, 0.00014814919669232994_r8, & + 0.00017724949138593981_r8, 0.0002060613681510707_r8, & + 0.00023051044378471041_r8, 0.00024901967318194845_r8, & + 0.00026416045534035244_r8, 0.00027423134294972303_r8, & + 0.00028102306526233805_r8, 0.00028624416433275775_r8, & + 0.00029122092661876828_r8, 0.00030468656949138426_r8, & + 0.00031568502208843103_r8, 0.00032272241010602147_r8, & + 0.00032838326992293938_r8, 0.00033471293966064755_r8, & + 0.00034126814979016805_r8, 0.00034663280872439912_r8, & + 0.00034938614145751907_r8, 0.00034946874692276644_r8, & + 0.00034757299719463387_r8, 0.00034427393088791295_r8, & + 0.0003420368151616825_r8, 0.00034071337047348102_r8, & + 0.00033980090987209267_r8, 0.00033627924405204554_r8, & + 0.000331901610865975_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,23) / & + 7.6115746516990611e-06_r8, 7.7994086879844548e-06_r8, & + 8.6445032598790525e-06_r8, 8.9422408627130737e-06_r8, & + 1.0234957951261744e-05_r8, 1.2953047779423197e-05_r8, & + 2.4679638890749257e-05_r8, 4.2981460243818324e-05_r8, & + 4.9791634757801698e-05_r8, 6.2932645557233307e-05_r8, & + 7.1830591846920399e-05_r8, 7.4966295863329157e-05_r8, & + 7.5831249958874982e-05_r8, 7.6078603736677106e-05_r8, & + 7.9237397398315305e-05_r8, 8.5369137511318144e-05_r8, & + 0.00011222306794739417_r8, 0.00014210952762785221_r8, & + 0.00017283970571893074_r8, 0.00020218383553327867_r8, & + 0.00022629334502570137_r8, 0.00024573672593929856_r8, & + 0.00026348682129537525_r8, 0.00027655125240265963_r8, & + 0.00028609235886687675_r8, 0.00029377381898229446_r8, & + 0.00030091016950260893_r8, 0.00031809839141109332_r8, & + 0.00033230086588110564_r8, 0.00034153653794401743_r8, & + 0.00034769475779017795_r8, 0.00035318643637044164_r8, & + 0.00035981447497106678_r8, 0.00036553791102144365_r8, & + 0.00036765366884990939_r8, 0.00036741853134654288_r8, & + 0.00036523621396783348_r8, 0.00036269746730077938_r8, & + 0.00036150361682714367_r8, 0.00035853387721639199_r8, & + 0.00035551819763118863_r8, 0.00035245217871350911_r8, & + 0.00035515705606070034_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,23) / & + 7.9784461844872764e-06_r8, 8.0080218849821063e-06_r8, & + 8.7403228624613934e-06_r8, 8.3016105394396978e-06_r8, & + 8.8574291248122498e-06_r8, 1.0133321416619017e-05_r8, & + 1.7102491763499154e-05_r8, 3.2650417114289683e-05_r8, & + 4.1557091314357235e-05_r8, 5.7498203955830832e-05_r8, & + 6.7639140195842939e-05_r8, 6.9503953919756474e-05_r8, & + 7.2210672362782354e-05_r8, 7.4733467603060918e-05_r8, & + 8.090567289310579e-05_r8, 9.0869646372675748e-05_r8, & + 0.00011714814607338068_r8, 0.00014442341251181073_r8, & + 0.00017207334311832332_r8, 0.00019978139062823194_r8, & + 0.0002237594701379098_r8, 0.000242614520891619_r8, & + 0.00026132352235803784_r8, 0.00027727099221819794_r8, & + 0.00029119698492637816_r8, 0.0003022288240050295_r8, & + 0.00031186530740667405_r8, 0.00033369204626328586_r8, & + 0.00035221661666788779_r8, 0.00036437479397941053_r8, & + 0.00037164176952307387_r8, 0.00037715700633188351_r8, & + 0.00038262376327923681_r8, 0.0003871888315756689_r8, & + 0.00038843605216211516_r8, 0.00038783164037652638_r8, & + 0.00038512662203686696_r8, 0.00038253585634180702_r8, & + 0.00037993570601598507_r8, 0.00037615931517945506_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,23) / & + 8.2628027074189684e-06_r8, 8.4780746400200955e-06_r8, & + 8.8900523608209484e-06_r8, 9.1811247439622461e-06_r8, & + 9.7860627201096074e-06_r8, 1.126653750827267e-05_r8, & + 1.8846052135179124e-05_r8, 3.2431322211797576e-05_r8, & + 4.5790886586013799e-05_r8, 6.4671774974979173e-05_r8, & + 7.5958222155214059e-05_r8, 8.0945858694238929e-05_r8, & + 8.4309779328519248e-05_r8, 8.6840922636440273e-05_r8, & + 9.4584512361425125e-05_r8, 0.00010659933350124087_r8, & + 0.00013060558304400785_r8, 0.00015822469822821301_r8, & + 0.00018384057988884755_r8, 0.00020861111813302304_r8, & + 0.00023167812841789145_r8, 0.00025230610338391909_r8, & + 0.00027083548612823682_r8, 0.00028734563257440474_r8, & + 0.00030315500770442666_r8, 0.00031703039360045143_r8, & + 0.00032980164470917072_r8, 0.00035619950450757685_r8, & + 0.00037675615325206263_r8, 0.00039011682121732806_r8, & + 0.0003978046599372409_r8, 0.00040332134651798585_r8, & + 0.00040914188041600357_r8, 0.0004139585355310432_r8, & + 0.00041318940092277453_r8, 0.0004088861358565148_r8, & + 0.00040215618379294444_r8, 0.00039892493933347211_r8, & + 0.00039561531400418722_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,23) / & + 8.4543157278932848e-06_r8, 8.9123891310857071e-06_r8, & + 9.0574071791812055e-06_r8, 1.1365635578344987e-05_r8, & + 1.2697612165258244e-05_r8, 1.5360520768865465e-05_r8, & + 2.7528443534148162e-05_r8, 4.3057379606041118e-05_r8, & + 5.7786834803879749e-05_r8, 7.4206707911541968e-05_r8, & + 8.5815308317794368e-05_r8, 9.4375348847732741e-05_r8, & + 0.00010020172099836489_r8, 0.00010432960535271159_r8, & + 0.000112327654196452_r8, 0.00012442606248744216_r8, & + 0.00014705754059495872_r8, 0.00017317904855179209_r8, & + 0.00019930296239654844_r8, 0.00022313422926551331_r8, & + 0.00024428769513603704_r8, 0.00026522951981641145_r8, & + 0.00028197745908388174_r8, 0.00030081038341723052_r8, & + 0.00031706285886835833_r8, 0.00033212904308450582_r8, & + 0.0003466688031244412_r8, 0.00037746814269650755_r8, & + 0.00039881837473637344_r8, 0.00041219064879881339_r8, & + 0.00042020979170881965_r8, 0.00042591324575209851_r8, & + 0.00043166040129862681_r8, 0.00043567442036493312_r8, & + 0.0004373850948916922_r8, 0.00042783511820185336_r8, & + 0.00041929770002618964_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,23) / & + 8.9536261383430516e-06_r8, 9.6081347655715391e-06_r8, & + 1.0373728645371382e-05_r8, 1.2691480974698267e-05_r8, & + 1.3650484357819819e-05_r8, 1.6461493386208917e-05_r8, & + 3.4196672907890991e-05_r8, 5.3987642136379717e-05_r8, & + 7.0524528232403298e-05_r8, 8.2512436067989673e-05_r8, & + 9.2863427355596815e-05_r8, 0.00010102789137156585_r8, & + 0.00011167663002716587_r8, 0.00011966682594305912_r8, & + 0.00012844425668128313_r8, 0.0001395037017646481_r8, & + 0.00016128199698180201_r8, 0.00018500175485556303_r8, & + 0.00020930180548243434_r8, 0.00023183863894114291_r8, & + 0.00025275031437553401_r8, 0.00027270065723620558_r8, & + 0.00028999228518137161_r8, 0.00031244778610226573_r8, & + 0.00032996462161105449_r8, 0.00034492722532977922_r8, & + 0.00036018739669974623_r8, 0.00039501678732902596_r8, & + 0.00041863193216497855_r8, 0.00043297059574524_r8, & + 0.00044261865819331971_r8, 0.00044808339701395372_r8, & + 0.00045190995439716602_r8, 0.0004517813725595925_r8, & + 0.00045632804386535469_r8, 0.00045460466402790162_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,23) / & + 9.291365970712595e-06_r8, 9.8160200776318235e-06_r8, & + 1.1147623370758926e-05_r8, 1.2568022810818824e-05_r8, & + 1.1963469117899233e-05_r8, 1.2690925628678906e-05_r8, & + 2.8633508634852771e-05_r8, 5.4357051970026151e-05_r8, & + 7.4200253694477888e-05_r8, 8.8025563441257394e-05_r8, & + 9.9266292059463454e-05_r8, 0.00010923613568786067_r8, & + 0.00012142427360051869_r8, 0.00013189613596412749_r8, & + 0.00014123722130264958_r8, 0.00015176280871851701_r8, & + 0.00017421132653454128_r8, 0.00019693276188084122_r8, & + 0.00022150143269470386_r8, 0.00024429124335338605_r8, & + 0.00026646823883772251_r8, 0.00028671336183666807_r8, & + 0.00030447155812986183_r8, 0.0003246479468608771_r8, & + 0.00034277715525650915_r8, 0.00035808438257073436_r8, & + 0.00037408944291736579_r8, 0.00041298221333753069_r8, & + 0.00043852926806023281_r8, 0.00045295619751100827_r8, & + 0.00046331546686577922_r8, 0.00046920592887595634_r8, & + 0.00047088175949006354_r8, 0.00047254684768731819_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,23) / & + 9.7407990831224506e-06_r8, 9.8893342762998333e-06_r8, & + 1.1039995740946581e-05_r8, 1.204076685178815e-05_r8, & + 1.1680201625847796e-05_r8, 1.3197411748215466e-05_r8, & + 3.0517679758695478e-05_r8, 5.7192070928521612e-05_r8, & + 7.5203343207076099e-05_r8, 9.122101055198695e-05_r8, & + 0.00010315669842201038_r8, 0.00011397945264607239_r8, & + 0.00012689129541581251_r8, 0.00013735067138823524_r8, & + 0.00014770954943646501_r8, 0.00015912330383278375_r8, & + 0.0001820661630896863_r8, 0.00020557698282718448_r8, & + 0.00023135497680984272_r8, 0.00025440081791701819_r8, & + 0.00027689850640400367_r8, 0.00029710171350901438_r8, & + 0.00031544208074371448_r8, 0.0003369340353718799_r8, & + 0.00035488134666689813_r8, 0.00037061760400813312_r8, & + 0.00038706495239157463_r8, 0.00042732574979058145_r8, & + 0.0004536720069302576_r8, 0.00046840613399014297_r8, & + 0.00047860348756997997_r8, 0.00048441198157158451_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,23) / & + 1.1066789403746219e-05_r8, 1.0532809969610043e-05_r8, & + 1.1120595499254693e-05_r8, 1.1914134762278618e-05_r8, & + 1.219160793320653e-05_r8, 1.3824670006305606e-05_r8, & + 3.2758177941551692e-05_r8, 5.781731182848072e-05_r8, & + 7.5966975563552668e-05_r8, 9.3221131877467043e-05_r8, & + 0.00010572214608635061_r8, 0.00011693666060444001_r8, & + 0.00013125558969982742_r8, 0.00014069986477132162_r8, & + 0.00015160352982783695_r8, 0.00016364688833208022_r8, & + 0.00018746432559946504_r8, 0.0002123023320758415_r8, & + 0.0002394198493802243_r8, 0.00026320856922338026_r8, & + 0.00028624533885708158_r8, 0.00030700738000386869_r8, & + 0.00032592745675898822_r8, 0.00034852650866352725_r8, & + 0.00036686487944111656_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,23) / & + 9.262514524077011e-05_r8, 8.6367861089635083e-05_r8, & + 8.2185756125215025e-05_r8, 8.3468342830886599e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,23) / & + 7.3659999537435412e-05_r8, 6.4877381296691157e-05_r8, & + 6.1828732429552072e-05_r8, 6.5605809641219892e-05_r8, & + 6.2307174972939185e-05_r8, 6.8978487302049626e-05_r8, & + 6.7994675766253841e-05_r8, 6.2737838565506929e-05_r8, & + 5.8263268414720003e-05_r8, 5.5528896956685589e-05_r8, & + 5.4266441352314279e-05_r8, 5.4776384264780056e-05_r8, & + 5.713264426145558e-05_r8, 5.7098302035816667e-05_r8, & + 5.8738654150938874e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,23) / & + 3.4252179715538312e-05_r8, 2.73610873311094e-05_r8, & + 3.1257516904364237e-05_r8, 3.9017981003534045e-05_r8, & + 4.5472142100285024e-05_r8, 5.7829883974288928e-05_r8, & + 5.9260088331137298e-05_r8, 5.7819349225367628e-05_r8, & + 5.4575968047991674e-05_r8, 5.336203243519334e-05_r8, & + 5.2920598068504227e-05_r8, 5.4401373976264463e-05_r8, & + 5.7909973041464904e-05_r8, 5.9247541348605459e-05_r8, & + 5.9940582511676351e-05_r8, 6.0083498276874507e-05_r8, & + 6.103236452633881e-05_r8, 6.2901929803555492e-05_r8, & + 6.5926716661919335e-05_r8, 7.1247428301169586e-05_r8, & + 7.5291866017376539e-05_r8, 7.8875914119555082e-05_r8, & + 7.4153331409513107e-05_r8, 8.259069313578982e-05_r8, & + 9.1990622798063845e-05_r8, 9.9536625104684314e-05_r8, & + 0.00010298287270526877_r8, 0.00010824932733344952_r8, & + 0.00011104421193917532_r8, 0.0001126851553019317_r8, & + 0.00011478414115789924_r8, 0.0001163744624020287_r8, & + 0.00011738983347336998_r8, 0.00011767876552138007_r8, & + 0.00011765993834622341_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,23) / & + 4.3352318676347539e-05_r8, 5.1370821259105783e-05_r8, & + 5.6592052848025363e-05_r8, 5.5809042357942119e-05_r8, & + 6.2546883294132695e-05_r8, 6.6262671398892588e-05_r8, & + 5.8210890832523118e-05_r8, 5.6753425601435839e-05_r8, & + 5.7940795624402425e-05_r8, 5.7441826375795241e-05_r8, & + 5.6511543608515957e-05_r8, 5.7771381566574804e-05_r8, & + 6.090744197945397e-05_r8, 6.1851266031396783e-05_r8, & + 6.3371435055081967e-05_r8, 6.4300585458996446e-05_r8, & + 6.6403547071302316e-05_r8, 6.7944726994997688e-05_r8, & + 7.0635410134652874e-05_r8, 7.5046883326548733e-05_r8, & + 7.8451957799261017e-05_r8, 8.1829880628415843e-05_r8, & + 8.2068509693240807e-05_r8, 8.8324111957484885e-05_r8, & + 9.5158922224751019e-05_r8, 0.00010126060480790954_r8, & + 0.00010587730879424772_r8, 0.00011207927094299452_r8, & + 0.00011293770294683521_r8, 0.00011500167507552168_r8, & + 0.00011688981250705473_r8, 0.00011846705864428473_r8, & + 0.00011967878202127697_r8, 0.00011962446632509734_r8, & + 0.00011984434975280353_r8, 0.00011947375434841197_r8, & + 0.00012055935158883626_r8, 0.00012130289441802722_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,23) / & + 6.4631123829148566e-05_r8, 9.2230969348058666e-05_r8, & + 9.1792694456592022e-05_r8, 0.00011328632766204989_r8, & + 0.00010830107736051004_r8, 0.00011701050116550801_r8, & + 9.1449700217589082e-05_r8, 6.8355314420438137e-05_r8, & + 6.6701660617567212e-05_r8, 6.6371947785138097e-05_r8, & + 6.4411704955934099e-05_r8, 6.4843736248197488e-05_r8, & + 6.5831063979136822e-05_r8, 6.7278763318610849e-05_r8, & + 6.8837051932772839e-05_r8, 7.0415920252440205e-05_r8, & + 7.1421797752357262e-05_r8, 7.2377436411560903e-05_r8, & + 7.4710417876156442e-05_r8, 7.8164079889977072e-05_r8, & + 8.1102217241094482e-05_r8, 8.4756767348209483e-05_r8, & + 8.8445342463283369e-05_r8, 9.3216884697832784e-05_r8, & + 9.8786290979314902e-05_r8, 0.00010368806622939476_r8, & + 0.00010966904850728832_r8, 0.00011876901114709361_r8, & + 0.00011804974153779117_r8, 0.00011834380020311461_r8, & + 0.00011918952198305179_r8, 0.00011982174751526996_r8, & + 0.00012085772059383953_r8, 0.00012067705811662766_r8, & + 0.0001213381639546895_r8, 0.00012175805597792753_r8, & + 0.00012417252962728_r8, 0.00012456273682708236_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,24) / & + 0.00010639334630801378_r8, 0.00010995184145112271_r8, & + 0.00010713903839849905_r8, 9.6737834669640308e-05_r8, & + 9.9648689525887768e-05_r8, 9.9686739335675669e-05_r8, & + 0.00011803473430386008_r8, 0.00013097874708931366_r8, & + 0.00015088072426806896_r8, 0.00015785930351678676_r8, & + 0.00016448210261630215_r8, 0.00017384053322143817_r8, & + 0.00017631769269276006_r8, 0.0001765266173608927_r8, & + 0.00017761557571221501_r8, 0.00018040149328035445_r8, & + 0.00019190435733948074_r8, 0.00020553024306143008_r8, & + 0.00021341566789241138_r8, 0.00021808627933517119_r8, & + 0.00022344846486081949_r8, 0.00023213192905685204_r8, & + 0.00022541768485734485_r8, 0.00022827175724757942_r8, & + 0.0002382119777064548_r8, 0.00024591182076943064_r8, & + 0.00024859079170082353_r8, 0.00025445765411061857_r8, & + 0.00025674520343562762_r8, 0.00025743067220486193_r8, & + 0.00025756276710519021_r8, 0.00025710679930781005_r8, & + 0.00025520090367111821_r8, 0.00025415026707241347_r8, & + 0.00025537407355782107_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,24) / & + 9.054736570632438e-05_r8, 9.2632378608903265e-05_r8, & + 8.8855747556753563e-05_r8, 6.9769940323429909e-05_r8, & + 7.5833947746116467e-05_r8, 7.6899483275224591e-05_r8, & + 0.00010738638996779333_r8, 0.00012364686722287672_r8, & + 0.0001401297007418055_r8, 0.00014813156181925038_r8, & + 0.00015685760826024541_r8, 0.00016729390272804469_r8, & + 0.00017312003434052765_r8, 0.00017532344529274914_r8, & + 0.00017716727420112745_r8, 0.00017949658599619896_r8, & + 0.00018508383690275015_r8, 0.0001921324286601221_r8, & + 0.00019892253469409109_r8, 0.00020434198072275314_r8, & + 0.0002103431485987935_r8, 0.00021726920795234843_r8, & + 0.00021966469964266374_r8, 0.00022435001316964783_r8, & + 0.00023066411286384392_r8, 0.00023593908986033223_r8, & + 0.00023958117876835504_r8, 0.00024803817184326798_r8, & + 0.00025390036719990421_r8, 0.00025688444004088516_r8, & + 0.00025856610789677604_r8, 0.00025907323261679498_r8, & + 0.00025798465458951589_r8, 0.00025692149131902991_r8, & + 0.00025624452176605358_r8, 0.00025699780634265987_r8, & + 0.00025758359950187791_r8, 0.00026053201112616239_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,24) / & + 7.3183535037422414e-05_r8, 7.5174473218003664e-05_r8, & + 7.115616593566642e-05_r8, 3.6619600346001294e-05_r8, & + 3.8129854366411426e-05_r8, 4.2860518449065457e-05_r8, & + 7.0949528378370802e-05_r8, 9.1804011006789925e-05_r8, & + 0.00010340798674004832_r8, 0.00011425972474468117_r8, & + 0.0001263654625790595_r8, 0.00013760973040534286_r8, & + 0.00014846833646168486_r8, 0.00015487470383023847_r8, & + 0.00015908467233837967_r8, 0.00016167596921623419_r8, & + 0.00016689130769067409_r8, 0.00016933543253602726_r8, & + 0.00017336991369158337_r8, 0.0001776085127928847_r8, & + 0.0001822250901012066_r8, 0.00018547779779212487_r8, & + 0.00019093260744635336_r8, 0.00019736744436549318_r8, & + 0.00020318420578288408_r8, 0.00020907678071963869_r8, & + 0.00021468199043074646_r8, 0.00022786237367215822_r8, & + 0.00023948596060902546_r8, 0.00024812667912066253_r8, & + 0.00025533083346253679_r8, 0.00026026269556090546_r8, & + 0.00026260626806450373_r8, 0.000263277033308944_r8, & + 0.00026273263162866604_r8, 0.0002619814877971461_r8, & + 0.00026060481916213065_r8, 0.00026111197105598894_r8, & + 0.00026140155061552559_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,24) / & + 5.4998803593923877e-05_r8, 5.4655868714301806e-05_r8, & + 4.4490356273902276e-05_r8, 2.9584922806636447e-05_r8, & + 2.9912878789653058e-05_r8, 3.2962909373755633e-05_r8, & + 4.2085860486540103e-05_r8, 5.4805112691524157e-05_r8, & + 6.4520764030413208e-05_r8, 7.2667304983860134e-05_r8, & + 8.1657482506274309e-05_r8, 9.2121766109067523e-05_r8, & + 0.00010658489887771152_r8, 0.00011752810659725316_r8, & + 0.00012559317197613604_r8, 0.00013205729685224272_r8, & + 0.00014524587289994922_r8, 0.00014903747401956828_r8, & + 0.00015523764433542951_r8, 0.00016062782569708497_r8, & + 0.00016449391180910756_r8, 0.00016715792568784609_r8, & + 0.00017019662829231662_r8, 0.00017448882337953728_r8, & + 0.00017889916229499547_r8, 0.00018328634704721573_r8, & + 0.00018786071291042192_r8, 0.00020180504339866172_r8, & + 0.00021654378619498333_r8, 0.00022983277084723727_r8, & + 0.00024251598713540952_r8, 0.00025266685859979784_r8, & + 0.00025965477268142265_r8, 0.00026497212511121407_r8, & + 0.00026774418837855585_r8, 0.00026838194410803913_r8, & + 0.00026711332445631493_r8, 0.00026415378593674368_r8, & + 0.00026957675906081257_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,24) / & + 2.9483104393434813e-05_r8, 2.6599646521049107e-05_r8, & + 1.5699150290579833e-05_r8, 1.6804340136427637e-05_r8, & + 1.6827183653676614e-05_r8, 1.7392656750552567e-05_r8, & + 1.9655272855630757e-05_r8, 2.1899835757432429e-05_r8, & + 2.6043963248748466e-05_r8, 3.0208773089603303e-05_r8, & + 3.4053237590507273e-05_r8, 3.8714473955117593e-05_r8, & + 4.5908776673562725e-05_r8, 5.2299024260215847e-05_r8, & + 6.1325989305103414e-05_r8, 6.8231523174373254e-05_r8, & + 8.3614208043245733e-05_r8, 9.5516845412842418e-05_r8, & + 0.00010752695758329247_r8, 0.00012003484861074581_r8, & + 0.00013037978999573619_r8, 0.00013741073331555054_r8, & + 0.00014534354514594768_r8, 0.00015085246934348241_r8, & + 0.00015550374502464067_r8, 0.00015890532098302251_r8, & + 0.00016183762286704794_r8, 0.00016940955010191457_r8, & + 0.00017999567725444373_r8, 0.00019494260872124223_r8, & + 0.00021375839473090333_r8, 0.00023174358152398754_r8, & + 0.00024459280424945465_r8, 0.00025499218371472887_r8, & + 0.00026436294192084024_r8, 0.00027003398767627733_r8, & + 0.00027140307529837461_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,24) / & + 1.2769418389380307e-05_r8, 1.0941023497532608e-05_r8, & + 6.2416257348411072e-06_r8, 7.7312297040413013e-06_r8, & + 7.7961990011881879e-06_r8, 7.9936647534524365e-06_r8, & + 8.9839491685980672e-06_r8, 1.0194998945019293e-05_r8, & + 1.1819133471064435e-05_r8, 1.3662822860170673e-05_r8, & + 1.5201802780883951e-05_r8, 1.6098227495953828e-05_r8, & + 2.0199802637479159e-05_r8, 2.2044956787995343e-05_r8, & + 2.6280312579702989e-05_r8, 3.0856561963326178e-05_r8, & + 4.1058695785720556e-05_r8, 5.2891830786728697e-05_r8, & + 6.5682127447885903e-05_r8, 7.9817766216673983e-05_r8, & + 9.4813511722404605e-05_r8, 0.00010756806174190905_r8, & + 0.00012042512199352295_r8, 0.00013142432143982356_r8, & + 0.00014079815590419925_r8, 0.00014744201584960612_r8, & + 0.00015182532632479083_r8, 0.00015902086374124203_r8, & + 0.00016607548814437481_r8, 0.00017720190556565378_r8, & + 0.00019592187547978627_r8, 0.00021980408932812938_r8, & + 0.00023504392913504277_r8, 0.0002477944654284374_r8, & + 0.00025992571761170361_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,24) / & + 5.8080856184662354e-06_r8, 7.1067557046368202e-06_r8, & + 5.5459228935877668e-06_r8, 5.2643721277565708e-06_r8, & + 5.3149860793565525e-06_r8, 5.5270486317177974e-06_r8, & + 6.1695248930475537e-06_r8, 7.0709910826999857e-06_r8, & + 7.6814271109248542e-06_r8, 8.2172508055843335e-06_r8, & + 8.8204155595889137e-06_r8, 9.0316214366924328e-06_r8, & + 1.0738485735376462e-05_r8, 1.1667764694715625e-05_r8, & + 1.2932234472839772e-05_r8, 1.472601848182814e-05_r8, & + 1.8598935323940678e-05_r8, 2.5170986331563981e-05_r8, & + 3.3336892655756591e-05_r8, 4.4314498451248846e-05_r8, & + 5.8232685453337449e-05_r8, 7.289983497353875e-05_r8, & + 8.81456286902304e-05_r8, 0.00010660331851422_r8, 0.00012237469606148218_r8, & + 0.00013554520660720499_r8, 0.00014475144076417539_r8, & + 0.00016011456771179304_r8, 0.00016896648525209048_r8, & + 0.00017495883112908709_r8, 0.0001865280087577504_r8, & + 0.00020595368109712381_r8, 0.00022251720626110014_r8, & + 0.00023598400469636801_r8, 0.00024619306713642318_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,24) / & + 4.1493145461949712e-06_r8, 5.8002577477870057e-06_r8, & + 4.8766880521924845e-06_r8, 4.7871629431212549e-06_r8, & + 4.8086420471625962e-06_r8, 5.0665224750928272e-06_r8, & + 5.240859070859896e-06_r8, 5.8667840972093634e-06_r8, & + 6.2577252034814453e-06_r8, 6.5649910317553899e-06_r8, & + 6.9339675924861429e-06_r8, 7.2828386035788059e-06_r8, & + 7.7164136942739993e-06_r8, 8.1586476381467064e-06_r8, & + 8.4657241710895202e-06_r8, 8.7479589930411206e-06_r8, & + 9.6718377823274557e-06_r8, 1.2354328631868115e-05_r8, & + 1.809750747691486e-05_r8, 2.8517360935767448e-05_r8, & + 4.37204081686226e-05_r8, 6.1350757444068689e-05_r8, & + 8.0742646779873847e-05_r8, 0.00010383554983973019_r8, & + 0.00012063236863841933_r8, 0.00013681825600886117_r8, & + 0.00014949733346693018_r8, 0.00016850738336202114_r8, & + 0.0001784215601345095_r8, 0.0001823746103251613_r8, & + 0.00018947723015192545_r8, 0.00020385209218420528_r8, & + 0.00022329924220533377_r8, 0.00023697721737551085_r8, & + 0.00024542695507170757_r8, 0.00025134090801892591_r8, & + 0.00025534085320254004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,24) / & + 4.8371409951284699e-06_r8, 5.161457419515391e-06_r8, & + 4.4223917579499964e-06_r8, 4.9791982328022216e-06_r8, & + 4.8865428341005512e-06_r8, 5.0167825346749357e-06_r8, & + 5.0866862401277919e-06_r8, 5.2497398179398117e-06_r8, & + 5.4542935674412767e-06_r8, 5.6706137833288344e-06_r8, & + 5.9798720085096176e-06_r8, 6.5123362913180328e-06_r8, & + 7.3509218892986684e-06_r8, 8.0935201827134781e-06_r8, & + 8.5867505857121145e-06_r8, 8.8839841679880883e-06_r8, & + 9.8402827629450003e-06_r8, 1.2588122305893913e-05_r8, & + 1.9119267372734705e-05_r8, 3.1258250998733426e-05_r8, & + 4.8695022938701605e-05_r8, 6.9494027594541624e-05_r8, & + 9.4040894266944215e-05_r8, 0.00012041748273399066_r8, & + 0.00013846043241074509_r8, 0.00015288132363743226_r8, & + 0.00016369614510160961_r8, 0.00018043671122527593_r8, & + 0.00018800684058033768_r8, 0.00019068095281509655_r8, & + 0.00019639642916607_r8, 0.00020989561993716213_r8, & + 0.00022549515563267177_r8, 0.00023685918070728547_r8, & + 0.00024497691027202463_r8, 0.00025028521704832511_r8, & + 0.00025362791299157826_r8, 0.00025574929677467308_r8, & + 0.0002583537578472767_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,24) / & + 5.4366854732736858e-06_r8, 5.3715997521092379e-06_r8, & + 5.4205861439191837e-06_r8, 5.2676756902724347e-06_r8, & + 5.2151635232746788e-06_r8, 5.2184409363090765e-06_r8, & + 5.3048428382043782e-06_r8, 5.1178117120175857e-06_r8, & + 5.0046139903842824e-06_r8, 5.1074391722427738e-06_r8, & + 5.3591428989552791e-06_r8, 5.7488532389704492e-06_r8, & + 6.480723223017884e-06_r8, 7.3485245700028291e-06_r8, & + 8.0412717899160056e-06_r8, 8.6451123605720145e-06_r8, & + 1.0131260236700153e-05_r8, 1.2921806083407001e-05_r8, & + 2.0565565797643262e-05_r8, 3.4752412991610476e-05_r8, & + 5.5598520521139549e-05_r8, 8.1769498556059957e-05_r8, & + 0.00011074642853995594_r8, 0.00013497217252824814_r8, & + 0.00015256624817281821_r8, 0.00016616953594981822_r8, & + 0.00017666045274436447_r8, 0.00019563493620097276_r8, & + 0.00020813121930624102_r8, 0.00021304612849740704_r8, & + 0.00021857968058627771_r8, 0.00022639687586725355_r8, & + 0.00023706702430090741_r8, 0.00024412920842593075_r8, & + 0.00024972262604512489_r8, 0.00025268810358437642_r8, & + 0.00025494755968494617_r8, 0.00025670109572348255_r8, & + 0.00025783509140879193_r8, 0.00026157940956849914_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,24) / & + 6.5579938394449133e-06_r8, 6.4699290949751826e-06_r8, & + 7.2411111792605719e-06_r8, 6.4120326185416243e-06_r8, & + 6.1833160098147209e-06_r8, 6.1931733632146681e-06_r8, & + 6.4258039181967941e-06_r8, 6.4635517653220424e-06_r8, & + 6.0033479380238167e-06_r8, 5.8265837761300008e-06_r8, & + 5.8178288054901066e-06_r8, 6.3027323609137091e-06_r8, & + 6.9009571929953486e-06_r8, 7.3162542157380225e-06_r8, & + 7.973989612217625e-06_r8, 8.8286849451927735e-06_r8, & + 1.0897709418604825e-05_r8, 1.5088517302645202e-05_r8, & + 2.6183055340071769e-05_r8, 4.5263414969756484e-05_r8, & + 7.5385920381613531e-05_r8, 0.00011268870775110166_r8, & + 0.00014336289094235981_r8, 0.00016495569459338511_r8, & + 0.00017842804313893026_r8, 0.00018903945168556583_r8, & + 0.00019874713002690698_r8, 0.00021905299873481909_r8, & + 0.0002368655220336814_r8, 0.00024386320253845037_r8, & + 0.00024958237523646244_r8, 0.00025480263887281966_r8, & + 0.00026226819145820933_r8, 0.00026799032727909257_r8, & + 0.00027233509896735538_r8, 0.00027215310725487059_r8, & + 0.00027310412138279193_r8, 0.00027390275957841917_r8, & + 0.00027519902779870957_r8, 0.00027649003758863127_r8, & + 0.00027640821393336702_r8, 0.00027633298638519548_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,24) / & + 7.3393165026243354e-06_r8, 7.3341020991969664e-06_r8, & + 8.1805184580125409e-06_r8, 7.9429914908240583e-06_r8, & + 7.6185177809158312e-06_r8, 7.3709797311239689e-06_r8, & + 9.1614365996084267e-06_r8, 8.6556921624347262e-06_r8, & + 8.0168214258725652e-06_r8, 7.6860177994128418e-06_r8, & + 7.5695765139471202e-06_r8, 8.5231752064040636e-06_r8, & + 9.4331182187818209e-06_r8, 9.0953263571557251e-06_r8, & + 9.0892636881169625e-06_r8, 9.7304936556535984e-06_r8, & + 1.2697983417784015e-05_r8, 2.0765120942352194e-05_r8, & + 4.5346402237258288e-05_r8, 8.2130301166227998e-05_r8, & + 0.00012584746212437469_r8, 0.00016447908858844952_r8, & + 0.00018718714449568423_r8, 0.00020201469325485837_r8, & + 0.00021112932211752463_r8, 0.00021897158709167431_r8, & + 0.00022679104221220067_r8, 0.00024581597162662196_r8, & + 0.00026077037733268627_r8, 0.00026880001785978074_r8, & + 0.00027454003057833775_r8, 0.00027999163100088739_r8, & + 0.00028580620202314419_r8, 0.00029018110429194653_r8, & + 0.00029325156327841199_r8, 0.00029196648760944013_r8, & + 0.00029137933331536031_r8, 0.00029128081392484206_r8, & + 0.0002913506577209554_r8, 0.00029143390641777175_r8, & + 0.00029141662235295136_r8, 0.0002907370712158782_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,24) / & + 7.3071992298130379e-06_r8, 7.4821102814680351e-06_r8, & + 8.0270172945471907e-06_r8, 1.0004120180575994e-05_r8, & + 1.0099769730395851e-05_r8, 1.0202412133887003e-05_r8, & + 1.4308069652873512e-05_r8, 1.5101960255032623e-05_r8, & + 1.7325529493416531e-05_r8, 1.9238313464724366e-05_r8, & + 2.0270841352432684e-05_r8, 2.0393108647266672e-05_r8, & + 1.8917008395566084e-05_r8, 1.8647357390786043e-05_r8, & + 1.8124485505682733e-05_r8, 1.834354424554021e-05_r8, & + 2.6226345473942445e-05_r8, 5.0896485565483446e-05_r8, & + 9.8658609101232969e-05_r8, 0.00015168586805217054_r8, & + 0.00018730996069996213_r8, 0.00020791540724249966_r8, & + 0.00022325965355420483_r8, 0.0002331524556196094_r8, & + 0.00023991824777541454_r8, 0.00024598896922388463_r8, & + 0.0002523449914642442_r8, 0.00026789564600163558_r8, & + 0.00028098476185565719_r8, 0.00028918162081108533_r8, & + 0.00029496303077961874_r8, 0.00030097432705774137_r8, & + 0.00030704433039096082_r8, 0.0003107603512490891_r8, & + 0.0003120921466831599_r8, 0.00031016935206655934_r8, & + 0.00030747826965591058_r8, 0.0003064143382970312_r8, & + 0.00030597968160383138_r8, 0.00030574126409703477_r8, & + 0.00030551408782097353_r8, 0.00030529747350826374_r8, & + 0.00030490640654566283_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,24) / & + 6.922776737497353e-06_r8, 7.2657345038505948e-06_r8, & + 8.2921666339159462e-06_r8, 9.9021632730063764e-06_r8, & + 1.05635893080273e-05_r8, 1.1763941794694063e-05_r8, & + 1.6692653199393733e-05_r8, 2.2643571837505326e-05_r8, & + 3.0273812223673467e-05_r8, 4.0000416859530452e-05_r8, & + 4.6286400930537227e-05_r8, 4.9226479779864498e-05_r8, & + 5.2979050264188247e-05_r8, 5.6496037333105827e-05_r8, & + 5.5793304762463468e-05_r8, 5.5280138783251546e-05_r8, & + 7.7541329350383264e-05_r8, 0.00011652440275494379_r8, & + 0.00015680658500160201_r8, 0.00019194290263066228_r8, & + 0.00021801872151255345_r8, 0.00023533349933844833_r8, & + 0.00025055080865825049_r8, 0.00026067974114533433_r8, & + 0.00026716298839567232_r8, 0.00027197093279536755_r8, & + 0.00027644693315197422_r8, 0.00028809358212275338_r8, & + 0.00030005543438169286_r8, 0.00030774957324863591_r8, & + 0.00031322783493048067_r8, 0.00031905238789526865_r8, & + 0.00032457350497927453_r8, 0.00032840478254747644_r8, & + 0.00032969388614698808_r8, 0.00032824531831051321_r8, & + 0.00032451391363298618_r8, 0.00032211230867789162_r8, & + 0.00032089746449191628_r8, 0.00032013529684309387_r8, & + 0.00031962231969603168_r8, 0.00031914410781887166_r8, & + 0.00031835907752569083_r8, 0.00031886513946229733_r8, 9e90_r8 & + / +data saar_ref(:,20,24) / & + 6.7692682188586257e-06_r8, 7.1377508314730744e-06_r8, & + 8.8820670408939178e-06_r8, 9.2151265018030977e-06_r8, & + 1.0197247700698442e-05_r8, 1.2529780034946723e-05_r8, & + 2.0283777109611316e-05_r8, 3.4050206568253423e-05_r8, & + 4.7187599465303847e-05_r8, 6.0707755528143513e-05_r8, & + 6.9877272649536664e-05_r8, 7.642222898258171e-05_r8, & + 8.4209671638170352e-05_r8, 8.5053540722826446e-05_r8, & + 8.3853406038998605e-05_r8, 8.559338944882595e-05_r8, & + 0.0001142586966865024_r8, 0.00015026500972570688_r8, & + 0.00018040835656457443_r8, 0.00020931640048122229_r8, & + 0.00023221895772362785_r8, 0.0002506140308365214_r8, & + 0.00026652314968603577_r8, 0.00027664482806006441_r8, & + 0.00028334763155693846_r8, 0.00028876837042559478_r8, & + 0.00029363300881371545_r8, 0.00030604907436776788_r8, & + 0.00031738276612339883_r8, 0.00032488272787869289_r8, & + 0.00033053419573669964_r8, 0.00033637523636286681_r8, & + 0.00034171549487163188_r8, 0.00034546185767074327_r8, & + 0.00034598096963460516_r8, 0.00034415616869484084_r8, & + 0.00033996235871170663_r8, 0.00033653617707559796_r8, & + 0.00033483142591311116_r8, 0.00033407779522194326_r8, & + 0.00033368257510324868_r8, 0.0003332258336668404_r8, & + 0.00033191351405243184_r8, 0.00033220641395038545_r8, 9e90_r8 & + / +data saar_ref(:,21,24) / & + 7.0273624982656659e-06_r8, 7.2547148893103125e-06_r8, & + 8.5880061350507344e-06_r8, 8.4270459650480511e-06_r8, & + 9.4040736392766563e-06_r8, 1.0898609166548145e-05_r8, & + 2.058159492988888e-05_r8, 3.9246501315316723e-05_r8, & + 5.1712301711846996e-05_r8, 6.5637675514511483e-05_r8, & + 7.377659633131032e-05_r8, 7.6069924284289953e-05_r8, & + 7.59239944374434e-05_r8, 7.6546652776360102e-05_r8, & + 8.0069188227140453e-05_r8, 8.7493437429108205e-05_r8, & + 0.00011471423068770783_r8, 0.00014407751310707448_r8, & + 0.00017320599057841924_r8, 0.00020201713316469211_r8, & + 0.00022575804381061275_r8, 0.00024578369256943704_r8, & + 0.00026442150924641666_r8, 0.00027714135052288341_r8, & + 0.00028673238607636011_r8, 0.00029495496858768857_r8, & + 0.0003026295979997483_r8, 0.00031995036564899052_r8, & + 0.00033462752367346065_r8, 0.00034393998466348159_r8, & + 0.00035057105261402185_r8, 0.00035592976729621046_r8, & + 0.00036138002806391313_r8, 0.00036465546862477719_r8, & + 0.00036380576930603064_r8, 0.00036008059743046218_r8, & + 0.00035553881864526656_r8, 0.00035308392770629792_r8, & + 0.00035110174148234182_r8, 0.00034873178282944441_r8, & + 0.00034705085339418107_r8, 0.00034820488847120786_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,24) / & + 7.6972447365202386e-06_r8, 7.738491015096598e-06_r8, & + 8.2739310480740447e-06_r8, 7.9249066275818698e-06_r8, & + 8.3542064392481203e-06_r8, 9.2945355371600225e-06_r8, & + 1.5412702918054659e-05_r8, 3.2136503909807299e-05_r8, & + 4.6017512437223605e-05_r8, 6.0291057115079833e-05_r8, & + 6.7128852005868145e-05_r8, 6.8080776693309506e-05_r8, & + 7.076850556858683e-05_r8, 7.3942465853352331e-05_r8, & + 7.9777483701198648e-05_r8, 8.9505984626358533e-05_r8, & + 0.00011583956303010585_r8, 0.00014317219100729381_r8, & + 0.00017110653563934706_r8, 0.00019872786565732755_r8, & + 0.00022253311982902747_r8, 0.0002424906330976635_r8, & + 0.00026088733945883475_r8, 0.00027655003878343309_r8, & + 0.00029034073836377706_r8, 0.00030211481694671381_r8, & + 0.00031265902798897622_r8, 0.00033555383779969831_r8, & + 0.00035415104940518955_r8, 0.00036533729814824267_r8, & + 0.00037330177388602588_r8, 0.00037863596464741983_r8, & + 0.00038355016074461345_r8, 0.00038626849806821048_r8, & + 0.00038482876119484531_r8, 0.00037953148484655956_r8, & + 0.00037511472626567771_r8, 0.00037358676747282804_r8, & + 0.00037082074284001769_r8, 0.00036367883473357207_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,24) / & + 8.4203669210533221e-06_r8, 8.4446765283369126e-06_r8, & + 8.4788720824088446e-06_r8, 9.0326181878993734e-06_r8, & + 9.3205835909695124e-06_r8, 1.0476929018164593e-05_r8, & + 1.7703024001394174e-05_r8, 3.1251305975940015e-05_r8, & + 4.8607523568132734e-05_r8, 6.5452640873201021e-05_r8, & + 7.3923848579508287e-05_r8, 7.7420910084187618e-05_r8, & + 8.0715743359750656e-05_r8, 8.4255131763489902e-05_r8, & + 9.0826416389310036e-05_r8, 0.00010332099498496872_r8, & + 0.00012842820428211058_r8, 0.00015557837134247469_r8, & + 0.00018219294132401913_r8, 0.00020619535679937783_r8, & + 0.00022989367172397468_r8, 0.0002517841535535578_r8, & + 0.00027000435846188806_r8, 0.00028666392106997321_r8, & + 0.00030164054420006971_r8, 0.00031535035946537109_r8, & + 0.00032866300210106464_r8, 0.00035610987276475095_r8, & + 0.00037682198451239582_r8, 0.00038787332139970319_r8, & + 0.00039580271470531197_r8, 0.00040017079278392817_r8, & + 0.0004045341699944255_r8, 0.00040627245529067279_r8, & + 0.00040242620575993947_r8, 0.00039542124979528149_r8, & + 0.00039173707729859555_r8, 0.00038984559970331673_r8, & + 0.00038564108101415897_r8, 0.00038235244899775741_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,24) / & + 1.0166232896132e-05_r8, 1.0230649363516328e-05_r8, & + 1.0040783767557197e-05_r8, 1.3032134681866189e-05_r8, & + 1.3856729767514448e-05_r8, 1.4518584784063881e-05_r8, & + 2.5816350468095739e-05_r8, 4.0117569524574774e-05_r8, & + 5.9273142780332818e-05_r8, 7.5320212290604438e-05_r8, & + 8.6136953948773127e-05_r8, 9.4215012854553066e-05_r8, & + 9.9403391003146009e-05_r8, 0.0001039494942824561_r8, & + 0.00011127940013755727_r8, 0.00012315102082423329_r8, & + 0.0001478840902639266_r8, 0.00017431877465364878_r8, & + 0.00019906130997165826_r8, 0.00022105129111085588_r8, & + 0.00024358091112330652_r8, 0.00026519469335147992_r8, & + 0.00028271035092640874_r8, 0.00030115415039027248_r8, & + 0.00031543797385875612_r8, 0.0003294403813838207_r8, & + 0.0003446839052829483_r8, 0.00037516434381398736_r8, & + 0.0003956969728062415_r8, 0.00040499487615139183_r8, & + 0.00041723402493429188_r8, 0.00042279839790133834_r8, & + 0.00042635715194699983_r8, 0.00042634630020206614_r8, & + 0.00041795178530096945_r8, 0.00041033184128720824_r8, & + 0.00040734077917346925_r8, 0.00040458974388607065_r8, & + 0.00039949777825820095_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,24) / & + 1.20714684656468e-05_r8, 1.2136057356159317e-05_r8, & + 1.2198453267978431e-05_r8, 1.4552529014100738e-05_r8, & + 1.5696460210509343e-05_r8, 1.6590492411812285e-05_r8, & + 3.2453471939547482e-05_r8, 5.1071259208595112e-05_r8, & + 7.0900713054155911e-05_r8, 8.4305766274636869e-05_r8, & + 9.5002584997389055e-05_r8, 0.00010414097238703441_r8, & + 0.00011463548115572039_r8, 0.00012220832833479542_r8, & + 0.00012935753708043858_r8, 0.00013875720949505868_r8, & + 0.00016124761695060421_r8, 0.00018558918132810702_r8, & + 0.00020832163414750778_r8, 0.00023096648607233791_r8, & + 0.0002531867126562653_r8, 0.00027286730758811317_r8, & + 0.00029069899499027657_r8, 0.00031199946749970126_r8, & + 0.0003264866884762514_r8, 0.00033922185643680403_r8, & + 0.00035221477788504457_r8, 0.00037917527457404301_r8, & + 0.00039856748668121698_r8, 0.00040826907179603136_r8, & + 0.00041636370654332395_r8, 0.00042112637459386251_r8, & + 0.00043394558018960332_r8, 0.00044376393488373863_r8, & + 0.00043494064903091715_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,24) / & + 1.3055432055326398e-05_r8, 1.3087604426853622e-05_r8, & + 1.3829312938656878e-05_r8, 1.4372334926687921e-05_r8, & + 1.4090944943585006e-05_r8, 1.5101528775026611e-05_r8, & + 3.2560603500564437e-05_r8, 5.8887672512808111e-05_r8, & + 7.8359025761131211e-05_r8, 9.3768498810025214e-05_r8, & + 0.00010376472701813377_r8, 0.00011317921104552675_r8, & + 0.0001248689541214012_r8, 0.00013347238242153347_r8, & + 0.00014173066912284067_r8, 0.00015130532649639165_r8, & + 0.00017272094486716678_r8, 0.00019642356809361014_r8, & + 0.00021973482190054458_r8, 0.00024321065818959427_r8, & + 0.0002660593410959486_r8, 0.00028631388159911029_r8, & + 0.00030506127321481131_r8, 0.00032496676938384059_r8, & + 0.00034124233304809438_r8, 0.00035535437623973658_r8, & + 0.00037017955887816645_r8, 0.00040490822510759738_r8, & + 0.00042702988751300004_r8, 0.00045064583152675067_r8, & + 0.00046168144569939951_r8, 0.00046719308368643584_r8, & + 0.00046609120090292312_r8, 0.0004589498831489942_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,24) / & + 1.0876871879765973e-05_r8, 1.0974371142640011e-05_r8, & + 1.2102588513362545e-05_r8, 1.1949223906051569e-05_r8, & + 1.1465082146567129e-05_r8, 1.3414868645503441e-05_r8, & + 3.5749249746510113e-05_r8, 6.4269128138271387e-05_r8, & + 8.3063262190300925e-05_r8, 9.8843589698545856e-05_r8, & + 0.00010951766198214446_r8, 0.00012007584620393593_r8, & + 0.00013165024620070276_r8, 0.00014101712984865939_r8, & + 0.00015051765895819649_r8, 0.00016053914329761996_r8, & + 0.00018274008514878516_r8, 0.00020725143882277991_r8, & + 0.00023202171743837071_r8, 0.00025518985824387046_r8, & + 0.00027852405469133229_r8, 0.0002992079326712863_r8, & + 0.00031825110826631104_r8, 0.00033915178071072815_r8, & + 0.00035621105082652397_r8, 0.00037177479191691725_r8, & + 0.00038825934006335889_r8, 0.00042805497141776961_r8, & + 0.00045396526607954378_r8, 0.00046790657548556857_r8, & + 0.00047823303308103444_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,24) / & + 1.1385488975299584e-05_r8, 1.1075257487799965e-05_r8, & + 1.1434081297062345e-05_r8, 1.1232951613825752e-05_r8, & + 1.1173311382972854e-05_r8, 1.3566257638626962e-05_r8, & + 3.7871764599484641e-05_r8, 6.5471295022970365e-05_r8, & + 8.3321926562886635e-05_r8, 0.00010021794991206953_r8, & + 0.00011162972139070844_r8, 0.00012367199269669758_r8, & + 0.00013606231375563334_r8, 0.00014543850299262779_r8, & + 0.00015530242968087236_r8, 0.00016608211948186091_r8, & + 0.00018939490718865144_r8, 0.00021436360497162251_r8, & + 0.00024064945312862989_r8, 0.000264362269498945_r8, & + 0.000287574579424587_r8, 0.00030843615384146272_r8, & + 0.0003275397245182103_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,24) / & + 8.1732615363220025e-05_r8, 7.9515836985882959e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,24) / & + 7.460045224244908e-05_r8, 6.756521146363967e-05_r8, & + 6.5346061593150089e-05_r8, 6.9082873318896665e-05_r8, & + 6.5528254671543945e-05_r8, 7.0151443601049001e-05_r8, & + 6.7974376764401589e-05_r8, 6.1710617670621509e-05_r8, & + 5.72573119629098e-05_r8, 5.4106715623366541e-05_r8, & + 5.339292386950252e-05_r8, 5.4415407512666895e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,24) / & + 3.5326821256764085e-05_r8, 2.9814407060828508e-05_r8, & + 3.2237473420098435e-05_r8, 3.8707701242563041e-05_r8, & + 4.533454634923984e-05_r8, 5.6790110211638457e-05_r8, & + 5.6676385316956331e-05_r8, 5.6934223583921858e-05_r8, & + 5.4577981855377671e-05_r8, 5.1898909089503427e-05_r8, & + 5.0925460059429427e-05_r8, 5.3264722831106179e-05_r8, & + 5.8043843353515115e-05_r8, 5.9379517513049722e-05_r8, & + 5.9913608935685676e-05_r8, 6.0036115860722288e-05_r8, & + 6.0946206356206857e-05_r8, 6.2742253151229542e-05_r8, & + 6.5764774260739238e-05_r8, 7.1281257968509493e-05_r8, & + 7.5063907829426606e-05_r8, 7.8288079824220591e-05_r8, & + 7.4406412893415766e-05_r8, 8.2657938907246105e-05_r8, & + 9.1697123499915237e-05_r8, 9.9678181973699052e-05_r8, & + 0.00010288331088918831_r8, 0.00010823459676003789_r8, & + 0.00011093695052910043_r8, 0.00011253602458888448_r8, & + 0.00011474671471178222_r8, 0.00011633660292720476_r8, & + 0.00011736736490648508_r8, 0.0001175846898399253_r8, & + 0.00011761505268900289_r8, 0.00011768894651245313_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,24) / & + 4.3824701554571502e-05_r8, 5.290962401347823e-05_r8, & + 5.6679972083308431e-05_r8, 5.6642342618894577e-05_r8, & + 6.2327351342962429e-05_r8, 6.7261947801321522e-05_r8, & + 5.8382374296438906e-05_r8, 5.6927137907348287e-05_r8, & + 5.8232851559451793e-05_r8, 5.7673078486070048e-05_r8, & + 5.6755495611142934e-05_r8, 5.7847499504969888e-05_r8, & + 6.1058965516068135e-05_r8, 6.201708252644763e-05_r8, & + 6.3451924064494058e-05_r8, 6.4409454463497406e-05_r8, & + 6.6430635018629341e-05_r8, 6.7896023541458308e-05_r8, & + 7.0565801151055557e-05_r8, 7.5116061565203406e-05_r8, & + 7.8479663292262429e-05_r8, 8.1799454161014644e-05_r8, & + 8.2170261624945674e-05_r8, 8.8370616654729066e-05_r8, & + 9.5374490043164385e-05_r8, 0.00010157621932149913_r8, & + 0.00010619351732555077_r8, 0.00011255712679525411_r8, & + 0.00011288371847881886_r8, 0.00011490596476717232_r8, & + 0.00011680422229197011_r8, 0.00011823096606216692_r8, & + 0.00011958523968948418_r8, 0.00011954044272618396_r8, & + 0.00011973332014557955_r8, 0.00011928111988407054_r8, & + 0.00012054390902755644_r8, 0.00012130290984634827_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,24) / & + 6.4264149229506038e-05_r8, 9.2878668802355823e-05_r8, & + 9.1398895789471078e-05_r8, 0.00011303986125982001_r8, & + 0.00010739168441641497_r8, 0.00011787505983785682_r8, & + 8.844231043351756e-05_r8, 6.5795510967651697e-05_r8, & + 6.3405281836628058e-05_r8, 6.446328408858402e-05_r8, & + 6.3872118496455203e-05_r8, 6.4486700902258927e-05_r8, & + 6.5916092494466903e-05_r8, 6.7341311884175825e-05_r8, & + 6.8897166152265179e-05_r8, 7.0498302531410556e-05_r8, & + 7.1472365328190005e-05_r8, 7.2405314230705958e-05_r8, & + 7.474323004728916e-05_r8, 7.8224589505996523e-05_r8, & + 8.1180016748346313e-05_r8, 8.4822661310215216e-05_r8, & + 8.8483454375485669e-05_r8, 9.3284062121281436e-05_r8, & + 9.8931107328467408e-05_r8, 0.00010386029238061376_r8, & + 0.00010986276886838485_r8, 0.000118978894631111_r8, & + 0.00011804118333583862_r8, 0.00011832820966212713_r8, & + 0.00011915548568809301_r8, 0.00011969289820838087_r8, & + 0.00012079914015480407_r8, 0.00012056424341702928_r8, & + 0.00012126620592642255_r8, 0.00012169028241363185_r8, & + 0.00012416726967406621_r8, 0.00012456935847500705_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,25) / & + 0.00011654098136125178_r8, 0.00012026145722230264_r8, & + 0.00012038057665224713_r8, 9.9458904642809063e-05_r8, & + 0.0001028412123081975_r8, 9.7515707029333847e-05_r8, & + 0.00011452943573588748_r8, 0.00012795695682665933_r8, & + 0.00014847263381975953_r8, 0.00015338157211467046_r8, & + 0.00016065477537652832_r8, 0.00017120342296064809_r8, & + 0.00017670501763102772_r8, 0.00017610533588589253_r8, & + 0.00017690086203101237_r8, 0.00017841330151234969_r8, & + 0.00018907568092715987_r8, 0.00019868618011329361_r8, & + 0.00020758051081114367_r8, 0.0002129919658807339_r8, & + 0.00021824930547382785_r8, 0.00022586966206884871_r8, & + 0.00022125421179333311_r8, 0.00022518654602574284_r8, & + 0.00023844516484207025_r8, 0.00024362488913412205_r8, & + 0.00024671378021748434_r8, 0.00025393915632351659_r8, & + 0.00025663754519037412_r8, 0.00025775219135155259_r8, & + 0.00025803404121921394_r8, 0.00025783204280007842_r8, & + 0.00025587238287891009_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,25) / & + 9.3878725312018086e-05_r8, 9.5730291926788075e-05_r8, & + 9.6928200154012346e-05_r8, 7.2477834651740034e-05_r8, & + 7.6679957091735159e-05_r8, 6.853733894838097e-05_r8, & + 9.8770366838799264e-05_r8, 0.00011282184668133376_r8, & + 0.00012961843198091037_r8, 0.00013569334102316155_r8, & + 0.0001452687693613966_r8, 0.000161137115868775_r8, & + 0.00017261965183921682_r8, 0.00017487428013839804_r8, & + 0.00017696036395633275_r8, 0.00017851929788711789_r8, & + 0.00018421290384291293_r8, 0.00019054648049435011_r8, & + 0.00019755044520646626_r8, 0.00020348006227145746_r8, & + 0.00020951211715718258_r8, 0.00021635502353559198_r8, & + 0.0002187573693693287_r8, 0.00022387230515412995_r8, & + 0.00023165072288303606_r8, 0.00023624004331025089_r8, & + 0.0002399635227387499_r8, 0.0002485208974107738_r8, & + 0.00025437021302168641_r8, 0.00025783240600207034_r8, & + 0.00025987867088113619_r8, 0.00026064401324035069_r8, & + 0.00026002789862029392_r8, 0.00025901446756485008_r8, & + 0.00025732306423244977_r8, 0.00025650534427166307_r8, & + 0.00025686702646274164_r8, 0.00025741816488975347_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,25) / & + 7.2777260697954568e-05_r8, 7.4241012273564729e-05_r8, & + 7.3164376300606485e-05_r8, 3.4010796638026177e-05_r8, & + 3.5783749112587994e-05_r8, 3.7643922710889532e-05_r8, & + 7.6970497592575044e-05_r8, 9.070546644974422e-05_r8, & + 9.8323378164400727e-05_r8, 0.0001076242880451904_r8, & + 0.00011906924581480939_r8, 0.00013620208486347726_r8, & + 0.00015054944004802968_r8, 0.00015781605887570365_r8, & + 0.00016297131202219051_r8, 0.00016542605012299078_r8, & + 0.00017035895095868426_r8, 0.00017315191465649797_r8, & + 0.00017692315067170802_r8, 0.00018135163829377244_r8, & + 0.00018572343883507559_r8, 0.0001894370459196831_r8, & + 0.00019714994081631863_r8, 0.00020391014883452269_r8, & + 0.00020878735325671361_r8, 0.00021417092252427788_r8, & + 0.00021903612039666511_r8, 0.00023058215248368769_r8, & + 0.00024261768682608346_r8, 0.00025081207495038812_r8, & + 0.00025746601679502726_r8, 0.00026153318782849851_r8, & + 0.00026323589408255117_r8, 0.00026312776717529821_r8, & + 0.00026203070910981287_r8, 0.00026076829757136895_r8, & + 0.00025857279200908_r8, 0.00025824134072122287_r8, & + 0.00026096834732070083_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,25) / & + 5.378168974628339e-05_r8, 5.3615571815494959e-05_r8, & + 4.9428318443866967e-05_r8, 2.9191261529319769e-05_r8, & + 2.9807232794531818e-05_r8, 3.3090500932685221e-05_r8, & + 4.828605253579555e-05_r8, 6.0344831724058336e-05_r8, & + 6.8984007669048721e-05_r8, 7.6135733049079231e-05_r8, & + 8.3617892953096267e-05_r8, 9.6978790027385327e-05_r8, & + 0.00011478913137911779_r8, 0.00012497999701495798_r8, & + 0.00013136366352853128_r8, 0.00013774634560516157_r8, & + 0.00014932794902433309_r8, 0.00015348007111740347_r8, & + 0.00015898205279062076_r8, 0.00016380004057070223_r8, & + 0.00016727590096893161_r8, 0.00016959853881257884_r8, & + 0.00017345345810216268_r8, 0.00017807411058366485_r8, & + 0.00018249348002525564_r8, 0.00018711087610172902_r8, & + 0.00019199487380992068_r8, 0.00020607811436129241_r8, & + 0.000220270413619356_r8, 0.00023300485058936769_r8, & + 0.00024510856816606927_r8, 0.00025452134499379873_r8, & + 0.00026050065841836588_r8, 0.00026475331496322109_r8, & + 0.00026632076039001496_r8, 0.00026592144983735781_r8, & + 0.00026188082835093969_r8, 0.00026004275610038287_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,25) / & + 2.9242495940100604e-05_r8, 2.7484491909882185e-05_r8, & + 2.2636492039381188e-05_r8, 1.948644550158024e-05_r8, & + 1.9759316794400007e-05_r8, 2.0622313115797989e-05_r8, & + 2.357165976454867e-05_r8, 2.5984959561453022e-05_r8, & + 3.0922686375043139e-05_r8, 3.6056885184506472e-05_r8, & + 4.0305872189105547e-05_r8, 4.7247981943556174e-05_r8, & + 5.6530549218751637e-05_r8, 6.2866656031165946e-05_r8, & + 7.1347376532655173e-05_r8, 8.0057347760148541e-05_r8, & + 9.4666394235048189e-05_r8, 0.00010656222987648112_r8, & + 0.00011693479138593502_r8, 0.00012778622343048775_r8, & + 0.00013706387472819552_r8, 0.00014245728809857047_r8, & + 0.00014807026487466735_r8, 0.00015372120161417764_r8, & + 0.00015811685469705624_r8, 0.00016105223143890839_r8, & + 0.00016410084648730847_r8, 0.00017358141541921491_r8, & + 0.00018520634654065594_r8, 0.00020101845297542477_r8, & + 0.00022002076211615355_r8, 0.00023644080967481001_r8, & + 0.00024799426699923216_r8, 0.0002569306032772348_r8, & + 0.00026663771498246469_r8, 0.00026832032980153976_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,25) / & + 1.1538003649220669e-05_r8, 1.1116979778199585e-05_r8, & + 8.4646564060327057e-06_r8, 8.538243840040116e-06_r8, & + 8.6703361888302399e-06_r8, 9.064643919303376e-06_r8, & + 9.9480426500767723e-06_r8, 1.0746025429591824e-05_r8, & + 1.2442717788365209e-05_r8, 1.4704856969631536e-05_r8, & + 1.6326363475588802e-05_r8, 1.8616658373288703e-05_r8, & + 2.1480029831859955e-05_r8, 2.3820284687503486e-05_r8, & + 2.8580966072153888e-05_r8, 3.4181138716116505e-05_r8, & + 4.4463117181848681e-05_r8, 5.6806093055099309e-05_r8, & + 6.9076516055728858e-05_r8, 8.2868366652938974e-05_r8, & + 9.787867309322955e-05_r8, 0.00011002490315179695_r8, & + 0.00012149189397126821_r8, 0.00013295472883413217_r8, & + 0.00014158332366351472_r8, 0.00014771257085192507_r8, & + 0.00015216103703758114_r8, 0.00016035095776925786_r8, & + 0.00016749876731303654_r8, 0.0001790202836003983_r8, & + 0.00019859206117506522_r8, 0.00022114568251321441_r8, & + 0.00023233453560937299_r8, 0.0002448022312737641_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,25) / & + 5.0624788905872993e-06_r8, 6.4120474000070683e-06_r8, & + 4.7994473851696747e-06_r8, 5.0970240254287315e-06_r8, & + 5.1575278545848853e-06_r8, 5.38950251227465e-06_r8, & + 5.9003070300601973e-06_r8, 6.7725080193190811e-06_r8, & + 7.331418129606101e-06_r8, 7.7797908288092373e-06_r8, & + 8.1696660634548712e-06_r8, 8.7752752528906163e-06_r8, & + 1.00181580562693e-05_r8, 1.0972343014903132e-05_r8, & + 1.2147868479378832e-05_r8, 1.3860496871116016e-05_r8, & + 1.7664862488511809e-05_r8, 2.359105641717601e-05_r8, & + 3.1611924343110001e-05_r8, 4.1988613505989783e-05_r8, & + 5.467654092986926e-05_r8, 6.9053543559145669e-05_r8, & + 8.486358102937971e-05_r8, 0.00010260921635928184_r8, & + 0.00011771818237804435_r8, 0.0001313028273051912_r8, & + 0.00014122277089352437_r8, 0.00015755688535827882_r8, & + 0.00016690219399123941_r8, 0.00017341574495269616_r8, & + 0.00018487552544505832_r8, 0.0002036083940466262_r8, & + 0.00022098754848704456_r8, 0.00023434323826111359_r8, & + 0.00024583966313255037_r8, 0.00025215742929235631_r8, & + 0.00025631890906129999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,25) / & + 4.0576872480542902e-06_r8, 4.9770078753840945e-06_r8, & + 3.9144008050141535e-06_r8, 4.5083121232473181e-06_r8, & + 4.581669166674748e-06_r8, 4.9007631209530465e-06_r8, & + 5.0005023808932966e-06_r8, 5.4049005958814736e-06_r8, & + 6.0715050814495631e-06_r8, 6.4812991658456391e-06_r8, & + 6.8789582083459347e-06_r8, 7.4528546997486208e-06_r8, & + 8.1021546338104896e-06_r8, 8.3559140879185055e-06_r8, & + 8.6093664410756881e-06_r8, 9.0091653558748002e-06_r8, & + 1.01776549993903e-05_r8, 1.2332540977835179e-05_r8, & + 1.7926571682997901e-05_r8, 2.8416330829971342e-05_r8, & + 4.2911321391162025e-05_r8, 5.921773484784574e-05_r8, & + 7.9004418838171547e-05_r8, 9.962960318737924e-05_r8, & + 0.00011640234714014057_r8, 0.00013331599087779443_r8, & + 0.0001468298298082878_r8, 0.00016550719524436783_r8, & + 0.00017582034775340762_r8, 0.00018004424530973937_r8, & + 0.00018682567803542194_r8, 0.0002016754610067267_r8, & + 0.00022250115316356774_r8, 0.00023696738507603934_r8, & + 0.00024704395664750645_r8, 0.00025344099950396989_r8, & + 0.0002568005278360816_r8, 0.00025830401716985608_r8, & + 0.00025953901050254104_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,25) / & + 4.6036892753122102e-06_r8, 4.685530136266975e-06_r8, & + 4.053223574375719e-06_r8, 4.6848511779566467e-06_r8, & + 4.5956122822908135e-06_r8, 4.8329283308718908e-06_r8, & + 4.9847055223800233e-06_r8, 4.9003555901186869e-06_r8, & + 5.0636858758072986e-06_r8, 5.3307526496666356e-06_r8, & + 5.7293009299962274e-06_r8, 6.3798164008138052e-06_r8, & + 7.3830933259810665e-06_r8, 8.0358422641384969e-06_r8, & + 8.4785643395691697e-06_r8, 8.8816052909915081e-06_r8, & + 1.0016145697568272e-05_r8, 1.2462842700386786e-05_r8, & + 1.8662564557198417e-05_r8, 3.1313462434785773e-05_r8, & + 4.9461752126533146e-05_r8, 7.0961869738754921e-05_r8, & + 9.5600343876298699e-05_r8, 0.00011984700897940292_r8, & + 0.00013805988069110912_r8, 0.00015296049820131999_r8, & + 0.00016366996328020104_r8, 0.00018020304358547972_r8, & + 0.0001877577714578699_r8, 0.00018915260628270093_r8, & + 0.00019437861072252945_r8, 0.00020848543942157512_r8, & + 0.00022548066434972526_r8, 0.0002378212296260998_r8, & + 0.00024655103796734007_r8, 0.00025214597571052025_r8, & + 0.00025571140702654506_r8, 0.00025787876535041462_r8, & + 0.00025955269766329484_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,25) / & + 5.32885459461802e-06_r8, 5.2801576078623676e-06_r8, & + 5.545551109593191e-06_r8, 5.3098082318152305e-06_r8, & + 5.2720134579548565e-06_r8, 5.2975798552483384e-06_r8, & + 5.3168317598487865e-06_r8, 5.2716659765813129e-06_r8, & + 5.195849984454929e-06_r8, 5.2011729978469707e-06_r8, & + 5.3920573826493263e-06_r8, 5.7507212455989367e-06_r8, & + 6.4845037958433533e-06_r8, 7.3073310788110016e-06_r8, & + 8.0188193844132388e-06_r8, 8.6916402809236364e-06_r8, & + 9.7678138815024758e-06_r8, 1.2579773429401867e-05_r8, & + 2.0364675498698396e-05_r8, 3.5106305791199049e-05_r8, & + 5.6650909240252196e-05_r8, 8.541503684207508e-05_r8, & + 0.00011380421725167507_r8, 0.00014003604907846984_r8, & + 0.00015759048561032432_r8, 0.00016964639567192445_r8, & + 0.00017868800329664614_r8, 0.00019763967123099998_r8, & + 0.00021144502055681427_r8, 0.00021678475337301304_r8, & + 0.00022493364798172147_r8, 0.00023174150358267937_r8, & + 0.00024227836991997219_r8, 0.00024888090612892394_r8, & + 0.00025387175011213226_r8, 0.00025686927172166064_r8, & + 0.00025898585947594071_r8, 0.00026109044746502316_r8, & + 0.00026183317531075121_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,25) / & + 6.6077189765061908e-06_r8, 6.5471237610685001e-06_r8, & + 7.650167652592741e-06_r8, 7.1758739719363025e-06_r8, & + 6.7975625622270653e-06_r8, 6.5932559162990507e-06_r8, & + 6.5006545117523373e-06_r8, 6.3813641185047665e-06_r8, & + 6.0842439671686087e-06_r8, 6.0285111920230976e-06_r8, & + 6.0765844461388813e-06_r8, 6.6129382831624921e-06_r8, & + 7.2930072795082775e-06_r8, 7.8383053608336311e-06_r8, & + 8.5295807390975385e-06_r8, 9.4495460844634869e-06_r8, & + 1.1352037347614043e-05_r8, 1.6286528329856436e-05_r8, & + 2.9643154366291174e-05_r8, 5.4248945698195331e-05_r8, & + 8.8030817029261421e-05_r8, 0.00012446862527926237_r8, & + 0.00015259489922052734_r8, 0.00017257087764639811_r8, & + 0.00018415976440973038_r8, 0.00019323478526934507_r8, & + 0.0002009871447978211_r8, 0.00021980822574526387_r8, & + 0.00023668018928479245_r8, 0.00024379323944432129_r8, & + 0.00024989532557297671_r8, 0.00025512710342199456_r8, & + 0.00026283627244315226_r8, 0.00026818536738151534_r8, & + 0.00027204382027729072_r8, 0.00027368875354192023_r8, & + 0.00027470859950913773_r8, 0.00027533166292722708_r8, & + 0.00027586394735380716_r8, 0.00027632303693914768_r8, & + 0.00027640813838145101_r8, 0.00027635741286730569_r8, & + 0.00027668018130005295_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,25) / & + 7.2976746200738514e-06_r8, 7.2527264802639613e-06_r8, & + 8.4420410611637683e-06_r8, 8.8151701250963727e-06_r8, & + 8.3206127096113171e-06_r8, 7.7126517415370528e-06_r8, & + 9.3229333057986861e-06_r8, 9.5667052196047974e-06_r8, & + 8.1937909194740327e-06_r8, 7.6986557791566921e-06_r8, & + 7.5011779125880084e-06_r8, 8.5626030877969604e-06_r8, & + 9.6781289875361362e-06_r8, 9.4161160919545879e-06_r8, & + 9.6400880202749854e-06_r8, 1.0682765862544468e-05_r8, & + 1.4189990959956421e-05_r8, 2.548343436662986e-05_r8, & + 5.6094329585718582e-05_r8, 0.00010023874632559186_r8, & + 0.00014394934343704507_r8, 0.00017616822520600736_r8, & + 0.00019489367422993701_r8, 0.00020664789290919571_r8, & + 0.00021392976252763567_r8, 0.00022085635886206234_r8, & + 0.00022722111483698389_r8, 0.00024428125748173613_r8, & + 0.00026057659181742601_r8, 0.00026969092465120641_r8, & + 0.0002758615462309284_r8, 0.00028098664528117062_r8, & + 0.00028692758186600332_r8, 0.00029186289858152732_r8, & + 0.00029484206729769868_r8, 0.00029476546245566252_r8, & + 0.00029325812801121151_r8, 0.00029216279037644647_r8, & + 0.00029149670192070529_r8, 0.00029137144178415512_r8, & + 0.00029124665480075496_r8, 0.00029088821973745441_r8, & + 0.00029092517469094919_r8, 0.00029168654183327159_r8, & + 0.00029164839856027553_r8 & + / +data saar_ref(:,18,25) / & + 7.2871777316463862e-06_r8, 7.3081967504440537e-06_r8, & + 7.9210008679826869e-06_r8, 9.5600421580937697e-06_r8, & + 9.7133436252853086e-06_r8, 9.3192599082232784e-06_r8, & + 1.3929626153642575e-05_r8, 1.712016125407051e-05_r8, & + 1.9332924333476741e-05_r8, 2.0177991774116934e-05_r8, & + 2.0756534735960738e-05_r8, 2.1127586212339599e-05_r8, & + 2.0175588307850917e-05_r8, 1.9268628193712902e-05_r8, & + 1.8833817281938622e-05_r8, 1.9461515549383521e-05_r8, & + 2.913092375450122e-05_r8, 6.0735398795698816e-05_r8, & + 0.00011362068673476661_r8, 0.0001640300973542217_r8, & + 0.00019681490489841029_r8, 0.00021617878755015687_r8, & + 0.00022917997826336597_r8, 0.00023820807487912366_r8, & + 0.00024359427801692236_r8, 0.0002487522287344747_r8, & + 0.00025400167424015824_r8, 0.00026796828995979749_r8, & + 0.00028187607885543186_r8, 0.00029089891096400865_r8, & + 0.00029702879785698698_r8, 0.0003023365799131713_r8, & + 0.00030876164272020053_r8, 0.00031315052598724632_r8, & + 0.00031494107414649228_r8, 0.00031341749461684935_r8, & + 0.00031003852206144166_r8, 0.00030772603422383826_r8, & + 0.00030639402395308657_r8, 0.00030562040562260396_r8, & + 0.00030530664909142648_r8, 0.00030536332776499083_r8, & + 0.00030552551022513082_r8, 0.00030570768725998813_r8, 9e90_r8 & + / +data saar_ref(:,19,25) / & + 7.0275232439071051e-06_r8, 7.2352894554184177e-06_r8, & + 8.0760817369365316e-06_r8, 9.1266443135459018e-06_r8, & + 9.446388720989263e-06_r8, 1.0223518326044873e-05_r8, & + 1.5826813782943339e-05_r8, 2.1959941404823753e-05_r8, & + 3.146205710854505e-05_r8, 4.082514017659325e-05_r8, & + 4.6806384886408245e-05_r8, 5.1065081212949261e-05_r8, & + 5.5402149232755232e-05_r8, 5.8615352440846886e-05_r8, & + 5.7795389771099529e-05_r8, 5.7456769773426303e-05_r8, & + 7.8670416943398986e-05_r8, 0.00012250114251222794_r8, & + 0.00016451125624679535_r8, 0.00019702161436956154_r8, & + 0.00022182160509214859_r8, 0.00024014605305381704_r8, & + 0.00025507475969910169_r8, 0.00026511175272741453_r8, & + 0.00027088935086202765_r8, 0.00027535866737757883_r8, & + 0.00027940056553671052_r8, 0.00028954747693784959_r8, & + 0.00030128713015489301_r8, 0.00030850554072535532_r8, & + 0.00031446816854928178_r8, 0.00031958317366168293_r8, & + 0.0003253532237779453_r8, 0.00032873611250707076_r8, & + 0.00032970210421596048_r8, 0.00032835740503613374_r8, & + 0.00032525288440267896_r8, 0.00032271608763010225_r8, & + 0.00032107496464741525_r8, 0.00031990607624495768_r8, & + 0.00031933177023176157_r8, 0.00031910541720392335_r8, & + 0.00031865859370312235_r8, 0.00031959370017143864_r8, & + 0.00031938533403217908_r8 & + / +data saar_ref(:,20,25) / & + 6.9878530769043814e-06_r8, 7.3568496975636409e-06_r8, & + 8.417470399628552e-06_r8, 9.1366523747963757e-06_r8, & + 9.864157080211813e-06_r8, 1.1305424473279243e-05_r8, & + 1.9879957385599964e-05_r8, 3.3371614222536625e-05_r8, & + 4.8870339078110477e-05_r8, 6.218761897872962e-05_r8, & + 7.1342161232433352e-05_r8, 7.9206197472745784e-05_r8, & + 8.5984333822937292e-05_r8, 8.6425189228519423e-05_r8, & + 8.5755331221683972e-05_r8, 8.8803680235496074e-05_r8, & + 0.00011445911860071919_r8, 0.00014989503627520369_r8, & + 0.00018043677034542267_r8, 0.00020831331445794626_r8, & + 0.00023190240860436644_r8, 0.00025171084628582569_r8, & + 0.00026824220520948495_r8, 0.00027787348235468624_r8, & + 0.00028369451823423501_r8, 0.000288717728340877_r8, & + 0.00029384319443514416_r8, 0.00030529493987380661_r8, & + 0.00031664824563776967_r8, 0.00032422961432514727_r8, & + 0.00033045258093904574_r8, 0.00033578634353327282_r8, & + 0.00034083945045744175_r8, 0.0003436560001519612_r8, & + 0.00034414742254872241_r8, 0.00034283956475413127_r8, & + 0.00033959665164352897_r8, 0.00033684930583158566_r8, & + 0.00033501544470779167_r8, 0.00033432391177154089_r8, & + 0.00033353485813568206_r8, 0.00033324423880196259_r8, & + 0.00033185257319982554_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,25) / & + 7.3397052744452069e-06_r8, 7.6852740538399532e-06_r8, & + 7.6874630161628516e-06_r8, 8.3062200987367095e-06_r8, & + 9.1152380585754549e-06_r8, 1.0288087257933814e-05_r8, & + 1.9809838377913607e-05_r8, 3.7985468904590188e-05_r8, & + 5.5113112573814757e-05_r8, 6.979964385387824e-05_r8, & + 7.6399926384232479e-05_r8, 7.9163901823124926e-05_r8, & + 7.7883904105133396e-05_r8, 7.8538326605961378e-05_r8, & + 8.2055835701398924e-05_r8, 9.0930487026961117e-05_r8, & + 0.00011622612581972352_r8, 0.00014750010099060746_r8, & + 0.00017602455816766353_r8, 0.0002035813795780256_r8, & + 0.00022808863980896987_r8, 0.00024813319257188302_r8, & + 0.00026718705603554697_r8, 0.00027944384780249996_r8, & + 0.00028707503049020826_r8, 0.00029411776515687784_r8, & + 0.00030186278638259952_r8, 0.00031745560773377798_r8, & + 0.00033309784367443118_r8, 0.00034283466269768701_r8, & + 0.00034979376571538031_r8, 0.00035496360067923771_r8, & + 0.00035989363613404395_r8, 0.00036215927312580905_r8, & + 0.00036111612210136936_r8, 0.0003579157456561913_r8, & + 0.00035480659434694085_r8, 0.00035265143213482613_r8, & + 0.00035046110792545556_r8, 0.00034869249900248723_r8, & + 0.00034776778182665254_r8, 0.00034851254734175925_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,25) / & + 7.661706354967967e-06_r8, 7.7341868102663214e-06_r8, & + 7.3519176061441815e-06_r8, 7.8605168049652092e-06_r8, & + 8.371392856648288e-06_r8, 9.1069368320400839e-06_r8, & + 1.5738945737591624e-05_r8, 3.2169256704759957e-05_r8, & + 4.9090061080760844e-05_r8, 6.3684047604707145e-05_r8, & + 6.8442909047524558e-05_r8, 7.0496582284604726e-05_r8, & + 7.2270053111649516e-05_r8, 7.4899267559216836e-05_r8, & + 7.9929367337853901e-05_r8, 9.0370436671818351e-05_r8, & + 0.00011920912618932385_r8, 0.00014762200936513725_r8, & + 0.00017356127829190447_r8, 0.00019936913810920473_r8, & + 0.00022452333628503676_r8, 0.00024468565054564418_r8, & + 0.00026461528823915992_r8, 0.00028006740773963454_r8, & + 0.00029231799732503088_r8, 0.00030313333899277181_r8, & + 0.0003135280358612283_r8, 0.0003332105175958721_r8, & + 0.00035320496917375717_r8, 0.00036405515900323718_r8, & + 0.00037151594500187444_r8, 0.00037668256445491107_r8, & + 0.00038161535031219253_r8, 0.00038394068898627357_r8, & + 0.00038209343865598048_r8, 0.00037618246172678465_r8, & + 0.00037254578507769302_r8, 0.00037078748251832968_r8, & + 0.00036815331147850106_r8, 0.0003639063157270381_r8, & + 0.00036265166403287325_r8, 0.00036188804081133043_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,25) / & + 8.4557502684544679e-06_r8, 8.4036713615527537e-06_r8, & + 8.1575639228985408e-06_r8, 8.8803485528209488e-06_r8, & + 9.2837347556729665e-06_r8, 1.0017448335077545e-05_r8, & + 1.6175589990633395e-05_r8, 3.0407183184901373e-05_r8, & + 4.7839917503144166e-05_r8, 6.4235408710878873e-05_r8, & + 7.1052742709348853e-05_r8, 7.4248586990752227e-05_r8, & + 7.7784426823861559e-05_r8, 8.0946388825339283e-05_r8, & + 8.6516815133630932e-05_r8, 9.8390271272555754e-05_r8, & + 0.00012648417779298861_r8, 0.00015502658371580521_r8, & + 0.00017999495023407255_r8, 0.00020326238758199027_r8, & + 0.00022738894197869435_r8, 0.0002503851448601884_r8, & + 0.00027078018666059256_r8, 0.00028788925636649763_r8, & + 0.00030104858651420639_r8, 0.0003139532673777044_r8, & + 0.000326346945907419_r8, 0.00035117660684560136_r8, & + 0.00037340462926187202_r8, 0.0003845339119083759_r8, & + 0.00039229076574699717_r8, 0.0003969984088201853_r8, & + 0.00040171466375043391_r8, 0.00040395134059741919_r8, & + 0.00040079256710470881_r8, 0.00039304715825841136_r8, & + 0.00038924666148119615_r8, 0.00038774930388275262_r8, & + 0.00038417965136628151_r8, 0.00038119418555963592_r8, & + 0.00038069846847113223_r8, 0.00038027470202865293_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,25) / & + 1.7725323583212831e-05_r8, 1.7596618371964926e-05_r8, & + 1.7257328665485064e-05_r8, 2.1771290014617775e-05_r8, & + 2.5160991356370509e-05_r8, 3.0635309967016464e-05_r8, & + 3.7276150724968138e-05_r8, 5.9596000523821129e-05_r8, & + 7.7597468619343264e-05_r8, 8.2901033668677178e-05_r8, & + 8.9878847192334171e-05_r8, 9.8591922819708526e-05_r8, & + 0.00010638227675947494_r8, 0.00011161241841142255_r8, & + 0.00011814121891226635_r8, 0.00012696356509162707_r8, & + 0.00014916703283978543_r8, 0.00017437899730442575_r8, & + 0.00019758317706304503_r8, 0.00021829639200510558_r8, & + 0.0002403303234259333_r8, 0.00026101832501896976_r8, & + 0.00028011475554276294_r8, 0.0003019576533598404_r8, & + 0.00031263024566380895_r8, 0.0003233020411915644_r8, & + 0.00033497299024445989_r8, 0.00035707618098835078_r8, & + 0.00037055931843356252_r8, 0.00037165048889962907_r8, & + 0.00037157140676722359_r8, 0.00038808792363964303_r8, & + 0.00042555972113638124_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,25) / & + 1.7929958302345864e-05_r8, 1.7556433877244987e-05_r8, & + 1.7579699332797975e-05_r8, 1.9908261462184453e-05_r8, & + 2.4931742219936359e-05_r8, 3.0290480259886648e-05_r8, & + 3.9115994187918501e-05_r8, 6.3005459550319616e-05_r8, & + 8.2355739633196195e-05_r8, 8.7979668247244533e-05_r8, & + 9.57093121521787e-05_r8, 0.00010513246242147916_r8, & + 0.00011539632544212506_r8, 0.00012164741610719695_r8, & + 0.00012791758291192044_r8, 0.00013516785261804662_r8, & + 0.00015606224809909349_r8, 0.00017913599494141398_r8, & + 0.00020150536924332709_r8, 0.00022380995688718085_r8, & + 0.00024711474912996395_r8, 0.00026781828936424455_r8, & + 0.00028734464882278037_r8, 0.00031158232317379765_r8, & + 0.00032305691313501943_r8, 0.00033156042688363104_r8, & + 0.00033785641437110285_r8, 0.00034866522806432265_r8, & + 0.00035384955522770923_r8, 0.00035636062304190914_r8, & + 0.00035985259315932843_r8, 0.00036342443227223493_r8, & + 0.00036992392231207142_r8, 0.00040620896812923354_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,25) / & + 1.8680269656311644e-05_r8, 1.8566419046718218e-05_r8, & + 1.9315455092115282e-05_r8, 2.0666712257920177e-05_r8, & + 2.4976909196415705e-05_r8, 3.0447188967811893e-05_r8, & + 4.0906573748909708e-05_r8, 6.660091027995957e-05_r8, & + 8.4929775087023968e-05_r8, 9.3452532986874225e-05_r8, & + 0.00010145833830474257_r8, 0.00011069271887316511_r8, & + 0.00012161055343495164_r8, 0.0001284799251439394_r8, & + 0.0001345411198073135_r8, 0.00014163540124706027_r8, & + 0.00016187351925841078_r8, 0.00018379308478684301_r8, & + 0.0002068601620243465_r8, 0.00023181778480207551_r8, & + 0.00025592127750677173_r8, 0.00027817839092449901_r8, & + 0.00029912662438127572_r8, 0.00032275713897361529_r8, & + 0.00033516684615638934_r8, 0.00034509593561488539_r8, & + 0.00035149280284355131_r8, 0.00036387562082924375_r8, & + 0.00037023962224440852_r8, 0.00037057887852842334_r8, & + 0.00037211825937136553_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,25) / & + 1.8960940181028498e-05_r8, 1.7623160827808797e-05_r8, & + 1.307012317456707e-05_r8, 1.2608149989304614e-05_r8, & + 1.2860294733847773e-05_r8, 1.6134187139972059e-05_r8, & + 3.6864862590679492e-05_r8, 6.6008017119890109e-05_r8, & + 8.4803346867564573e-05_r8, 0.00010028452872329649_r8, & + 0.00011045517950225173_r8, 0.00012034587689900937_r8, & + 0.00013170331765622806_r8, 0.00014069042434475238_r8, & + 0.00015005779199222572_r8, 0.00015976664045749107_r8, & + 0.00018146798238544571_r8, 0.00020623731707176699_r8, & + 0.00023071819105065626_r8, 0.00025411150960972481_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,25) / & + 7.6614256132872516e-05_r8, 6.9511814150777522e-05_r8, & + 7.0306709719013323e-05_r8, 7.5817617067273454e-05_r8, & + 7.4436542704613376e-05_r8, 7.719443137539712e-05_r8, & + 7.0630602414586849e-05_r8, 7.1570394918357735e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,25) / & + 3.4520622138479766e-05_r8, 3.0930123320822308e-05_r8, & + 3.1922942663595562e-05_r8, 3.7716612472408805e-05_r8, & + 4.4447971425133608e-05_r8, 5.5954978357680325e-05_r8, & + 5.5201970065002131e-05_r8, 5.6884105618375095e-05_r8, & + 5.5450812825653104e-05_r8, 5.1476730170689062e-05_r8, & + 5.1083509135865499e-05_r8, 5.3256181986755817e-05_r8, & + 5.7707080136277756e-05_r8, 5.9196285050653919e-05_r8, & + 5.9612936038140767e-05_r8, 5.9727625793274011e-05_r8, & + 6.0518787948278279e-05_r8, 6.2205992699205978e-05_r8, & + 6.5184920879346591e-05_r8, 7.0543919403679591e-05_r8, & + 7.4212206920765624e-05_r8, 7.7690335931867186e-05_r8, & + 7.3771178421485888e-05_r8, 8.2094917276214326e-05_r8, & + 9.1677298780544139e-05_r8, 9.9881029470978814e-05_r8, & + 0.00010277476127781671_r8, 0.00010823997253777552_r8, & + 0.00011082451152871767_r8, 0.00011243181768673452_r8, & + 0.00011473479197533631_r8, 0.00011630483304348228_r8, & + 0.00011720773320463862_r8, 0.00011741291158547104_r8, & + 0.00011754959476868907_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,25) / & + 4.4154598613349283e-05_r8, 5.4472650542534938e-05_r8, & + 5.6550192433049746e-05_r8, 5.7225285913979885e-05_r8, & + 6.1945846152679354e-05_r8, 6.8025238382457627e-05_r8, & + 5.8527634210755267e-05_r8, 5.694338531745218e-05_r8, & + 5.8524785146744214e-05_r8, 5.7950171697729187e-05_r8, & + 5.7204124953927755e-05_r8, 5.8020774045838083e-05_r8, & + 6.1213180385512596e-05_r8, 6.221813816743155e-05_r8, & + 6.3617098771037503e-05_r8, 6.4575198360240354e-05_r8, & + 6.6533922167053691e-05_r8, 6.78982381170634e-05_r8, & + 7.0554069741188277e-05_r8, 7.5194054174198966e-05_r8, & + 7.8541198133905203e-05_r8, 8.1878757981508171e-05_r8, & + 8.2379973299882779e-05_r8, 8.854335155795493e-05_r8, & + 9.5734642569170455e-05_r8, 0.00010196390070060083_r8, & + 0.00010660608451437593_r8, 0.00011315971153262797_r8, & + 0.00011283346297943965_r8, 0.00011483361766064168_r8, & + 0.00011670349144166037_r8, 0.00011791964646071099_r8, & + 0.00011937689745589138_r8, 0.00011911197394917293_r8, & + 0.00011940856231876598_r8, 0.00011896663265340982_r8, & + 0.00012055285859130376_r8, 0.00012131063788011424_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,25) / & + 6.4051922593173652e-05_r8, 9.5144142528801243e-05_r8, & + 9.1064933305820656e-05_r8, 0.00011262229935674821_r8, & + 0.00010659413548959708_r8, 0.00011920916450006129_r8, & + 8.7059091961377526e-05_r8, 6.4435458528698601e-05_r8, & + 6.0995614698075232e-05_r8, 6.2126706113138386e-05_r8, & + 6.23228962441468e-05_r8, 6.3813184259269227e-05_r8, & + 6.6034619671573899e-05_r8, 6.7452738800492061e-05_r8, & + 6.9000915557523415e-05_r8, 7.0617814144703712e-05_r8, & + 7.1561314786506094e-05_r8, 7.2453089639180809e-05_r8, & + 7.4797345124825862e-05_r8, 7.8302457153339554e-05_r8, & + 8.1232761391017194e-05_r8, 8.4891268627823257e-05_r8, & + 8.8554597126955134e-05_r8, 9.3361858624371855e-05_r8, & + 9.9053450971754449e-05_r8, 0.00010398239116792579_r8, & + 0.00011005858033578227_r8, 0.00011931024170821092_r8, & + 0.00011802435256534208_r8, 0.00011830340242278499_r8, & + 0.00011913490951847731_r8, 0.00011956807713197892_r8, & + 0.00012071815575167296_r8, 0.00012043303424752184_r8, & + 0.00012119057929060038_r8, 0.00012160800824638924_r8, & + 0.00012416592288067051_r8, 0.00012456937387874992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,26) / & + 0.00011814404259955327_r8, 0.00012067925713554922_r8, & + 0.00012596086527686561_r8, 0.00010001434681112902_r8, & + 0.00010342465351049002_r8, 8.2550482667121075e-05_r8, & + 9.966719094812147e-05_r8, 0.00011583498881494272_r8, & + 0.00013346251798945956_r8, 0.00014346202134501109_r8, & + 0.0001456123230156304_r8, 0.00016175958373922157_r8, & + 0.0001726461149695802_r8, 0.0001722134561589617_r8, & + 0.00017394503799509565_r8, 0.0001752754148440555_r8, & + 0.00018349635780117373_r8, 0.00018996691837419669_r8, & + 0.00019801834205688125_r8, 0.00020471466048448583_r8, & + 0.00021083650883918647_r8, 0.00021890334208273223_r8, & + 0.00021632602780204734_r8, 0.00022143158935995774_r8, & + 0.00023364888680475941_r8, 0.00023821557492567866_r8, & + 0.00024221796719510791_r8, 0.00025220737283583583_r8, & + 0.00025453456251215377_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,26) / & + 9.3227670485049012e-05_r8, 9.4755429066165189e-05_r8, & + 0.00010191443043801127_r8, 7.667274582630363e-05_r8, & + 7.9184707061962751e-05_r8, 6.3352204408288092e-05_r8, & + 9.1293975622362542e-05_r8, 0.00010347095921407347_r8, & + 0.00011656890609134037_r8, 0.00012346537224638168_r8, & + 0.00013225395313173693_r8, 0.00015281689982028624_r8, & + 0.00016916983053926962_r8, 0.00017112769546183735_r8, & + 0.00017362384117196111_r8, 0.00017486705142741744_r8, & + 0.0001795863040377011_r8, 0.0001846672673107166_r8, & + 0.00019076693359173949_r8, 0.00019676408881154348_r8, & + 0.00020270586159968935_r8, 0.00020999324233711135_r8, & + 0.00021356919372920338_r8, 0.00021889313728529807_r8, & + 0.00022623468008807287_r8, 0.00023084357804483753_r8, & + 0.00023508474556161932_r8, 0.00024482080336978761_r8, & + 0.00025160191861169751_r8, 0.00025650728942114341_r8, & + 0.00025980137581925559_r8, 0.00026139629337546319_r8, & + 0.00026117797422229514_r8, 0.00025985688231918997_r8, & + 0.00025815617981329809_r8, 0.00025700509896451002_r8, & + 0.00025695466419374047_r8, 0.00025671498089753822_r8, & + 0.00025677903773341275_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,26) / & + 6.9513078123099973e-05_r8, 7.0462774736818363e-05_r8, & + 7.1744214709135965e-05_r8, 3.5728511668482636e-05_r8, & + 3.7347336175310496e-05_r8, 3.748437014310039e-05_r8, & + 7.6496588735068652e-05_r8, 8.8415811478809427e-05_r8, & + 9.2310863726413785e-05_r8, 9.978224607798625e-05_r8, & + 0.0001113167355549778_r8, 0.00013229493183242332_r8, & + 0.00014892030736827688_r8, 0.00015766212261166573_r8, & + 0.00016306079476974242_r8, 0.00016619973460717155_r8, & + 0.00017089078605859204_r8, 0.00017343842011880968_r8, & + 0.00017658549690067004_r8, 0.00018067824106860825_r8, & + 0.00018476948378531462_r8, 0.00018945687164487955_r8, & + 0.0001970425997154302_r8, 0.00020331383100427125_r8, & + 0.00020815997628746721_r8, 0.00021330696890744667_r8, & + 0.00021838055175081206_r8, 0.0002297381389719999_r8, & + 0.0002417628087991311_r8, 0.0002503038578958099_r8, & + 0.00025721283655126277_r8, 0.00026185833296039028_r8, & + 0.00026357809404519816_r8, 0.00026272592081819947_r8, & + 0.0002609021990789639_r8, 0.00025941662018156214_r8, & + 0.00025759059915533622_r8, 0.00025654502855520774_r8, & + 0.00025677231586422567_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,26) / & + 5.2474484169450713e-05_r8, 5.2081345745718491e-05_r8, & + 5.2174162217653839e-05_r8, 2.8960979991925971e-05_r8, & + 2.9677017410945421e-05_r8, 3.2083931413622476e-05_r8, & + 4.8762886420277042e-05_r8, 6.2141917728110099e-05_r8, & + 7.0589558833509034e-05_r8, 7.7009856662547561e-05_r8, & + 8.4080481060762387e-05_r8, 9.7820490044914446e-05_r8, & + 0.0001163145645856854_r8, 0.00012692078566558417_r8, & + 0.00013356681248980051_r8, 0.00014156312497444584_r8, & + 0.00015212691605291558_r8, 0.00015758690549935383_r8, & + 0.00016214879893703757_r8, 0.00016594709369983582_r8, & + 0.0001691662877543404_r8, 0.00017165266152098806_r8, & + 0.00017560677131920786_r8, 0.00018009605629718271_r8, & + 0.00018447897082018134_r8, 0.00018949328789156814_r8, & + 0.00019509497444833763_r8, 0.00020960968928265694_r8, & + 0.00022318353501930515_r8, 0.00023543435493657283_r8, & + 0.00024709133902748958_r8, 0.00025645976614666521_r8, & + 0.00026210354010178271_r8, 0.00026509766091352936_r8, & + 0.0002652988657161147_r8, 0.00026312523441064791_r8, & + 0.0002584455422833043_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,26) / & + 3.0769715805867382e-05_r8, 2.9155003473961812e-05_r8, & + 2.9158457322476174e-05_r8, 2.2710249932840321e-05_r8, & + 2.3009125103734554e-05_r8, 2.3947512544957038e-05_r8, & + 2.7850655111639635e-05_r8, 3.1814708018897238e-05_r8, & + 3.6725571936502835e-05_r8, 4.1652578196183925e-05_r8, & + 4.6217468538093314e-05_r8, 5.4382397431199172e-05_r8, & + 6.667372733751597e-05_r8, 7.3672277746616961e-05_r8, & + 8.1865392029909772e-05_r8, 9.2851816768642828e-05_r8, & + 0.00010401821326014922_r8, 0.00011737770168055086_r8, & + 0.00012632778156663045_r8, 0.00013598069371579597_r8, & + 0.00014391444905888391_r8, 0.00014500047126421537_r8, & + 0.00014988000617635966_r8, 0.00015587632503417413_r8, & + 0.00016099249784193114_r8, 0.00016446932346138719_r8, & + 0.00016824835396678123_r8, 0.00018060433933896487_r8, & + 0.00019260667796856663_r8, 0.00020756470467758306_r8, & + 0.0002248842330766831_r8, 0.00024049110199834866_r8, & + 0.00025151926117219343_r8, 0.00026044712761962463_r8, & + 0.00026691781555707693_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,26) / & + 1.2683181915825382e-05_r8, 1.2030660613374691e-05_r8, & + 1.1506208460308087e-05_r8, 1.1369885072079737e-05_r8, & + 1.1575858522844345e-05_r8, 1.2035616611880139e-05_r8, & + 1.2859296294248014e-05_r8, 1.3563237327861282e-05_r8, & + 1.4330895564519787e-05_r8, 1.599592436344493e-05_r8, & + 1.7537281772717082e-05_r8, 2.040110296975028e-05_r8, & + 2.4039641588382412e-05_r8, 2.7030478678026684e-05_r8, & + 3.0465842825534398e-05_r8, 3.6070051640869652e-05_r8, & + 4.3559875918315413e-05_r8, 5.6278823424830232e-05_r8, & + 6.7598152941113549e-05_r8, 8.1329073839357663e-05_r8, & + 9.6104266089497956e-05_r8, 0.00010412239261243574_r8, & + 0.00011562574055741914_r8, 0.00012922529132249104_r8, & + 0.00014020314419741143_r8, 0.0001478821583080996_r8, & + 0.00015328580332941283_r8, 0.00016745912485405763_r8, & + 0.00017479439077492862_r8, 0.00018479642563284642_r8, & + 0.00020077500180239009_r8, 0.00021932486454515122_r8, & + 0.00022885183828350267_r8, 0.00023519762481628717_r8, & + 0.00024357066229853787_r8, 0.00024657157426242798_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,26) / & + 5.8067889722127199e-06_r8, 5.9730364952887817e-06_r8, & + 5.4150246427277039e-06_r8, 5.2404453203905151e-06_r8, & + 5.3275401447556611e-06_r8, 5.5186531059606927e-06_r8, & + 5.7589812248057036e-06_r8, 6.2029357866697239e-06_r8, & + 6.5053017250394976e-06_r8, 6.7902707251080708e-06_r8, & + 7.0402438589754868e-06_r8, 7.8741864461344335e-06_r8, & + 9.1026571017486766e-06_r8, 1.0096694396442998e-05_r8, & + 1.090629466094744e-05_r8, 1.2153776909633429e-05_r8, & + 1.5325385470750727e-05_r8, 2.1372578280663536e-05_r8, & + 2.9970709850236286e-05_r8, 4.0874786590446981e-05_r8, & + 5.3854837337101359e-05_r8, 6.929602727673577e-05_r8, & + 8.66230338395361e-05_r8, 0.00010513346665359562_r8, & + 0.00012239649512344147_r8, 0.00013646980948858284_r8, & + 0.00014677847911694474_r8, 0.00016612416411648957_r8, & + 0.00017573704349831999_r8, 0.00018261264319837704_r8, & + 0.00019225364122860003_r8, 0.00020654487226043155_r8, & + 0.00022213477054084654_r8, 0.00023407903431420926_r8, & + 0.00024366915377571819_r8, 0.00025032673142438448_r8, & + 0.00025661137052864971_r8, 0.00026020632435700547_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,26) / & + 4.2016181324324957e-06_r8, 4.5180197499642709e-06_r8, & + 3.8490259222172543e-06_r8, 4.351938001843344e-06_r8, & + 4.5169481822052272e-06_r8, 4.6891446727795091e-06_r8, & + 4.5839245748402828e-06_r8, 4.4797136281861774e-06_r8, & + 4.7947305530880578e-06_r8, 5.18737126013247e-06_r8, & + 5.5926633454015463e-06_r8, 6.4594521836882232e-06_r8, & + 7.5463554272310626e-06_r8, 8.1139326145760538e-06_r8, & + 8.5930925570541558e-06_r8, 9.1336234936714825e-06_r8, & + 1.0776285452066948e-05_r8, 1.3383927573816368e-05_r8, & + 1.9560693787041864e-05_r8, 3.0552776751706265e-05_r8, & + 4.6200800130765434e-05_r8, 6.3542775525097749e-05_r8, & + 8.5728550457354316e-05_r8, 0.00010610208383566754_r8, & + 0.00012529879306405218_r8, 0.00014154899945638484_r8, & + 0.00015428641908534784_r8, 0.00017258150421410235_r8, & + 0.00018466353517337158_r8, 0.00018957915055741614_r8, & + 0.00019534661518778656_r8, 0.00020704265773488983_r8, & + 0.00022275682514814692_r8, 0.0002345369615023746_r8, & + 0.00024471558654155659_r8, 0.00025192162720086921_r8, & + 0.00025589128432960636_r8, 0.00025838788865274368_r8, & + 0.00026026142049538322_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,26) / & + 4.5188932157013828e-06_r8, 4.5275128568183765e-06_r8, & + 4.1845508395415867e-06_r8, 4.9009275065531714e-06_r8, & + 4.8887765487681527e-06_r8, 4.9880278212659145e-06_r8, & + 5.0214166892961174e-06_r8, 4.6912627549212166e-06_r8, & + 4.498013007617472e-06_r8, 4.7200596653349334e-06_r8, & + 5.0696037942226948e-06_r8, 5.718361782959977e-06_r8, & + 6.6275160732760716e-06_r8, 7.408156205788685e-06_r8, & + 8.053497032115295e-06_r8, 8.6326713294522199e-06_r8, & + 1.0200647541866267e-05_r8, 1.267761373613673e-05_r8, & + 1.8526817291286713e-05_r8, 3.1932309865584037e-05_r8, & + 5.1304935663172147e-05_r8, 7.5010280599515874e-05_r8, & + 0.00010059106121341774_r8, 0.00012420848336062396_r8, & + 0.00014314479062948007_r8, 0.00015757842243792997_r8, & + 0.00016806551322328273_r8, 0.00018517749409503165_r8, & + 0.00019519972735660454_r8, 0.00019639366850942986_r8, & + 0.00020103241990492533_r8, 0.00021092910954138055_r8, & + 0.00022356832143295574_r8, 0.00023419005907847226_r8, & + 0.00024372795566321215_r8, 0.00025058628227733108_r8, & + 0.00025490369069916606_r8, 0.00025830217775048471_r8, & + 0.00026012908267714687_r8, 0.00026192520224035731_r8, & + 0.00026133019821849467_r8, 0.00026105157406901698_r8, & + 0.00026119288086604432_r8, 0.00026266285421707835_r8, & + 0.00026425583514048126_r8 & + / +data saar_ref(:,15,26) / & + 5.7353865382903538e-06_r8, 5.7264446266659032e-06_r8, & + 6.1886339044026164e-06_r8, 5.7215399151930331e-06_r8, & + 5.6989900321547396e-06_r8, 5.6950403824360134e-06_r8, & + 5.6362907337911092e-06_r8, 5.6987948084966529e-06_r8, & + 5.4597117190654785e-06_r8, 5.4194810995080721e-06_r8, & + 5.5455421246740752e-06_r8, 5.8273416373080196e-06_r8, & + 6.3805207681323727e-06_r8, 7.0440975545218988e-06_r8, & + 7.8065165605529699e-06_r8, 8.7743909325349156e-06_r8, & + 1.0191938371264778e-05_r8, 1.3804962140534338e-05_r8, & + 2.2256941294892094e-05_r8, 3.8129200557424177e-05_r8, & + 6.1256509658421841e-05_r8, 9.1592428200339227e-05_r8, & + 0.0001196350497911671_r8, 0.00014544632470124544_r8, & + 0.00016066676618288182_r8, 0.00017169451590516452_r8, & + 0.00018020831990067711_r8, 0.0001981401622541877_r8, & + 0.0002117491388001592_r8, 0.00021833099265916185_r8, & + 0.00022701179745303042_r8, 0.00023248155017838612_r8, & + 0.00024071522390362889_r8, 0.00024656528357872747_r8, & + 0.00025184498732610568_r8, 0.00025592470906855277_r8, & + 0.0002594441155662965_r8, 0.00026072676591205218_r8, & + 0.00026190606385339871_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,26) / & + 7.4037756494645732e-06_r8, 7.3935026028640307e-06_r8, & + 8.1524800595472299e-06_r8, 6.3037746839211588e-06_r8, & + 6.1448229312259997e-06_r8, 6.2082424178710685e-06_r8, & + 6.4117098970008824e-06_r8, 6.3036696676860523e-06_r8, & + 6.2131288671921059e-06_r8, 6.1224429520218111e-06_r8, & + 6.1374705590415602e-06_r8, 6.9915011909257767e-06_r8, & + 7.5782288096026804e-06_r8, 7.944125232270206e-06_r8, & + 8.5011349029876103e-06_r8, 9.8204523924103412e-06_r8, & + 1.2769859888057381e-05_r8, 2.0737229618711467e-05_r8, & + 3.5077315752750419e-05_r8, 6.0438437666500568e-05_r8, & + 9.6808269086153545e-05_r8, 0.00013400617733108329_r8, & + 0.0001594920748698587_r8, 0.00017755578689952531_r8, & + 0.00018766889710916164_r8, 0.00019615307757387003_r8, & + 0.0002037699552047518_r8, 0.00022074840147168494_r8, & + 0.00023799948783304555_r8, 0.00024567592090133224_r8, & + 0.00025231837507636511_r8, 0.00025667482393602491_r8, & + 0.0002635764855773282_r8, 0.0002688342367839359_r8, & + 0.0002724706531875761_r8, 0.00027527047699352198_r8, & + 0.00027725805026297039_r8, 0.00027707434674857732_r8, & + 0.00027693834252745552_r8, 0.00027753429186898917_r8, & + 0.00027738573234066961_r8, 0.00027710943732018185_r8, & + 0.00027716882229491158_r8, 0.00027795287570600135_r8, 9e90_r8 & + / +data saar_ref(:,17,26) / & + 7.9097674843682927e-06_r8, 7.8754096550339076e-06_r8, & + 8.2456557370015716e-06_r8, 8.3355472414307161e-06_r8, & + 7.9992025436891104e-06_r8, 7.7165930827447351e-06_r8, & + 9.9279246238783354e-06_r8, 9.9802110841320098e-06_r8, & + 8.538122130726463e-06_r8, 8.0618780788592871e-06_r8, & + 7.9199659796309353e-06_r8, 9.505516571994725e-06_r8, & + 1.0459183214860029e-05_r8, 1.0204701129279114e-05_r8, & + 1.0287485266890073e-05_r8, 1.1647300646273873e-05_r8, & + 1.7167764136744159e-05_r8, 3.4161621255038923e-05_r8, & + 6.4791744963275499e-05_r8, 0.00010937812291482622_r8, & + 0.00015432609336248995_r8, 0.00018708457550257427_r8, & + 0.00020435051020613456_r8, 0.00021381377701232122_r8, & + 0.00021962932881074829_r8, 0.00022571241325054341_r8, & + 0.00023147691331929537_r8, 0.00024623618381239357_r8, & + 0.00026329741380575546_r8, 0.00027328365630874957_r8, & + 0.00028076737790174014_r8, 0.00028480822668160507_r8, & + 0.00029018369169574155_r8, 0.00029484906374811217_r8, & + 0.00029797103179831556_r8, 0.0002991227768964483_r8, & + 0.00029874838118922634_r8, 0.00029783399196213364_r8, & + 0.00029621257108095045_r8, 0.00029482136181756106_r8, & + 0.00029429567792216705_r8, 0.00029357074769990573_r8, & + 0.00029280133974861534_r8, 0.000292483432924819_r8, & + 0.00029234478792128062_r8 & + / +data saar_ref(:,18,26) / & + 7.8858023477195817e-06_r8, 7.8511521775528905e-06_r8, & + 7.7330045641877816e-06_r8, 1.1779824098220234e-05_r8, & + 1.2000465140825647e-05_r8, 1.1225500966185107e-05_r8, & + 1.6518086879551666e-05_r8, 2.1201592000038051e-05_r8, & + 2.2704189663652034e-05_r8, 2.2685528695886902e-05_r8, & + 2.2897364510574252e-05_r8, 2.2801376414465533e-05_r8, & + 2.3220087326406134e-05_r8, 2.3603696617942805e-05_r8, & + 2.3387185784369481e-05_r8, 2.4816877475603071e-05_r8, & + 3.8111510533007947e-05_r8, 7.0809322725413253e-05_r8, & + 0.00011777855902605179_r8, 0.0001657850680240797_r8, & + 0.00019930106621597775_r8, 0.00021837892693660018_r8, & + 0.00023184889804153124_r8, 0.00024056796872988273_r8, & + 0.0002451715624738195_r8, 0.00024979132537184212_r8, & + 0.00025460972447810477_r8, 0.00026796861850452531_r8, & + 0.00028328558125160255_r8, 0.00029301202397594693_r8, & + 0.00030034224758140833_r8, 0.00030445247886447539_r8, & + 0.00030963467138539149_r8, 0.00031390102473322816_r8, & + 0.0003165194733891364_r8, 0.00031727566790875847_r8, & + 0.00031589024854136927_r8, 0.00031413594169216153_r8, & + 0.00031249980724821342_r8, 0.0003104775882064063_r8, & + 0.00030896071519210156_r8, 0.00030841968158023321_r8, & + 0.00030763695356682611_r8, 0.00030701061832666995_r8, & + 0.00030716889482413723_r8 & + / +data saar_ref(:,19,26) / & + 8.2902298598675615e-06_r8, 8.4756764876186923e-06_r8, & + 8.1121819920213231e-06_r8, 1.0598563639383475e-05_r8, & + 1.1084585294416799e-05_r8, 1.1652948457771815e-05_r8, & + 1.7622076271592403e-05_r8, 2.4540589343715507e-05_r8, & + 3.5036446825948706e-05_r8, 4.2969249407789243e-05_r8, & + 4.7656528485686581e-05_r8, 5.1744030800648366e-05_r8, & + 5.8894131436567707e-05_r8, 6.2442391271410518e-05_r8, & + 6.2586821535306567e-05_r8, 6.2902838372569435e-05_r8, & + 8.5435198276515186e-05_r8, 0.00012513469836637848_r8, & + 0.00016241438556837244_r8, 0.00019366782849908145_r8, & + 0.00021903501237323489_r8, 0.00023879433280951426_r8, & + 0.00025421333979176811_r8, 0.00026420765829923882_r8, & + 0.00027035924903502401_r8, 0.00027505457423845583_r8, & + 0.00027897780507428845_r8, 0.00028906976526632441_r8, & + 0.00030167986785821808_r8, 0.00030978127344732871_r8, & + 0.00031589920773131855_r8, 0.00032067223118303261_r8, & + 0.00032565239515155086_r8, 0.00032901087302551296_r8, & + 0.0003306010518324773_r8, 0.00033077210774050555_r8, & + 0.00032930515688079027_r8, 0.00032759843190173699_r8, & + 0.00032585699097609927_r8, 0.00032396481354384697_r8, & + 0.0003225950918145648_r8, 0.00032216735634188741_r8, & + 0.00032205906767440582_r8, 0.0003219356432715057_r8, & + 0.00032297620901429707_r8 & + / +data saar_ref(:,20,26) / & + 8.8368438978240438e-06_r8, 9.5044811404071967e-06_r8, & + 8.69165707454569e-06_r8, 9.9805409813994589e-06_r8, & + 1.0516346243850337e-05_r8, 1.1701685042750125e-05_r8, & + 1.9148294914652714e-05_r8, 3.2733987283266737e-05_r8, & + 4.9488151355560664e-05_r8, 6.2573920792271083e-05_r8, & + 7.1420150459331223e-05_r8, 7.9007604505160634e-05_r8, & + 8.6680070879883346e-05_r8, 8.8313463245854362e-05_r8, & + 8.7330257243263196e-05_r8, 8.9301540021752851e-05_r8, & + 0.00011306019016994657_r8, 0.00014912733069014341_r8, & + 0.00017914704619997776_r8, 0.00020650891862351753_r8, & + 0.00023100567305718179_r8, 0.00025366220880836408_r8, & + 0.00027120944510423869_r8, 0.00027966516688056629_r8, & + 0.0002858807571179802_r8, 0.00029107714656329253_r8, & + 0.00029546977742787525_r8, 0.0003064646309082924_r8, & + 0.00031763044944366377_r8, 0.00032545126450230497_r8, & + 0.00033079641115415847_r8, 0.00033555894438273685_r8, & + 0.00034030111988719717_r8, 0.0003429614780155523_r8, & + 0.0003439025727359994_r8, 0.00034322298538856855_r8, & + 0.00034115462020239398_r8, 0.00033929601616992071_r8, & + 0.00033775490452570353_r8, 0.00033697669124196905_r8, & + 0.00033697909614036265_r8, 0.00033646906736944026_r8, & + 0.00033654868872467017_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,26) / & + 9.2358603652388379e-06_r8, 1.0124230891846741e-05_r8, & + 8.2299251120196692e-06_r8, 8.6643374847357737e-06_r8, & + 9.2859890409571605e-06_r8, 1.0536335928425912e-05_r8, & + 1.8421259975736914e-05_r8, 3.7538403407807137e-05_r8, & + 5.8536449651252752e-05_r8, 7.3663163777460265e-05_r8, & + 8.1079109329445807e-05_r8, 8.5652486693736296e-05_r8, & + 8.7674514463968457e-05_r8, 8.7400425030572054e-05_r8, & + 8.9212755214796514e-05_r8, 9.7558824628994446e-05_r8, & + 0.00012021110980369263_r8, 0.00015121014862189692_r8, & + 0.00017984369229890224_r8, 0.00020833783047105722_r8, & + 0.00023390798450544274_r8, 0.00025428881327028068_r8, & + 0.00027474622609564424_r8, 0.00028528346220202611_r8, & + 0.00029251790673480877_r8, 0.00029852025193365447_r8, & + 0.00030452709623445608_r8, 0.00031881465021834244_r8, & + 0.00033240125960338303_r8, 0.0003414124514144267_r8, & + 0.00034723260511568851_r8, 0.00035191640950167809_r8, & + 0.00035647518030742419_r8, 0.00035880383701339559_r8, & + 0.00035891046398885075_r8, 0.00035698305579450379_r8, & + 0.00035474243019230491_r8, 0.00035295857299968796_r8, & + 0.00035127173350650581_r8, 0.00035080553171709411_r8, & + 0.00035097818754353338_r8, 0.00035052873911541862_r8, & + 0.00035215574926803183_r8, 0.00035229672897916538_r8, & + 0.00035195090842542409_r8 & + / +data saar_ref(:,22,26) / & + 9.0153708508680716e-06_r8, 9.5783287409491511e-06_r8, & + 7.7223488273482321e-06_r8, 8.2556144887456535e-06_r8, & + 8.8507089928723391e-06_r8, 9.7878056969635e-06_r8, & + 1.6986928589261416e-05_r8, 3.5614774739618665e-05_r8, & + 5.6684033708983956e-05_r8, 7.2005187457390294e-05_r8, & + 7.7039760726308016e-05_r8, 8.0981068549626617e-05_r8, & + 8.3804912848679106e-05_r8, 8.4640282866309981e-05_r8, & + 8.8865983045477659e-05_r8, 9.8458774476274384e-05_r8, & + 0.00012497373742924864_r8, 0.0001520557437204509_r8, & + 0.00017937689390641037_r8, 0.00020710899412812456_r8, & + 0.00023326238618293036_r8, 0.00025043486618591537_r8, & + 0.00027206717014942154_r8, 0.0002866447906626184_r8, & + 0.00029691011668101733_r8, 0.00030563185195445116_r8, & + 0.00031423514257017848_r8, 0.00033041990509735355_r8, & + 0.00034774896716786516_r8, 0.00035836169168734512_r8, & + 0.00036533182517131885_r8, 0.0003709348759799507_r8, & + 0.0003758990723605105_r8, 0.00037802534376163584_r8, & + 0.00037699884590060805_r8, 0.0003729842820238726_r8, & + 0.00036999192022236919_r8, 0.00036826783575035377_r8, & + 0.00036592525464689414_r8, 0.00036442019570229797_r8, & + 0.00036452195210974248_r8, 0.00036302067074060718_r8, & + 0.00036547175086923731_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,26) / & + 1.6871042859420604e-05_r8, 1.8707182387009591e-05_r8, & + 1.8513683561182935e-05_r8, 2.6851547074601899e-05_r8, & + 2.5568355847738018e-05_r8, 2.4972664592045443e-05_r8, & + 3.3545053827687877e-05_r8, 3.0583871018725802e-05_r8, & + 4.7416075392379054e-05_r8, 6.433327047438682e-05_r8, & + 6.9778209917423974e-05_r8, 7.2893775116839916e-05_r8, & + 7.6379182022930049e-05_r8, 7.9184464961050137e-05_r8, & + 8.4558134798036664e-05_r8, 9.6050695484985998e-05_r8, & + 0.00012618780819127369_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,26) / & + 2.21296902195232e-05_r8, 2.2192965961875636e-05_r8, & + 2.3881429677023884e-05_r8, 3.1740313525268916e-05_r8, & + 3.5092555785390206e-05_r8, 4.2518869358377897e-05_r8, & + 6.2219086656396409e-05_r8, 7.5623101257272834e-05_r8, & + 8.8372868052005453e-05_r8, 8.6854849346734266e-05_r8, & + 9.2466025923647484e-05_r8, 0.00010157649099972293_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,26) / & + 1.6842227387920548e-05_r8, 1.4777776923536789e-05_r8, & + 1.4366295461074438e-05_r8, 1.4900981318616747e-05_r8, & + 1.675691278879137e-05_r8, 2.2641644159357645e-05_r8, & + 3.7811901910151307e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,26) / & + 1.6188149392304918e-05_r8, 1.4345626675825069e-05_r8, & + 1.470968563949625e-05_r8, 1.473366160160534e-05_r8, & + 2.0110543126420875e-05_r8, 3.6110512187627941e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,26) / & + 8.234186830990941e-05_r8, 6.9771958639571675e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,26) / & + 6.5472057475936702e-05_r8, 6.0051331375626176e-05_r8, & + 6.3118295705711519e-05_r8, 6.8089516971671694e-05_r8, & + 6.9205911420205419e-05_r8, 7.5120924647049885e-05_r8, & + 6.79259501664747e-05_r8, 6.8353034854971747e-05_r8, & + 5.8577830996961847e-05_r8, 5.275238163393087e-05_r8, & + 5.2086455594259207e-05_r8, 5.2928278753862561e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,26) / & + 3.5282323370206485e-05_r8, 3.364989448521468e-05_r8, & + 3.3716171878853591e-05_r8, 4.0079316057731453e-05_r8, & + 4.5265137922790418e-05_r8, 5.7965037335644475e-05_r8, & + 5.6021382247681009e-05_r8, 5.8205418150471953e-05_r8, & + 5.7421490692176065e-05_r8, 5.2710695043825515e-05_r8, & + 5.2396569578171721e-05_r8, 5.4107902728209346e-05_r8, & + 5.7204961458086665e-05_r8, 5.8745397303345307e-05_r8, & + 5.9088104772233919e-05_r8, 5.9235178017077016e-05_r8, & + 5.9957018037299663e-05_r8, 6.1684809598561179e-05_r8, & + 6.456953769960603e-05_r8, 6.9810936139307143e-05_r8, & + 7.337283010005193e-05_r8, 7.7440984607368907e-05_r8, & + 7.3493945507648408e-05_r8, 8.1982081843410184e-05_r8, & + 9.1981806561484999e-05_r8, 0.00010025600665752824_r8, & + 0.00010309272426800669_r8, 0.00010833859582822815_r8, & + 0.00011076226047384855_r8, 0.00011233179024790324_r8, & + 0.00011472569367474148_r8, 0.00011622570692010254_r8, & + 0.00011700257653489086_r8, 0.00011718846830829372_r8, & + 0.00011745083822709931_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,26) / & + 4.4443378210446652e-05_r8, 5.6308286607455187e-05_r8, & + 5.6509603218290575e-05_r8, 5.78178579694965e-05_r8, & + 6.1285221714612361e-05_r8, 6.85169175179354e-05_r8, & + 5.862617489920397e-05_r8, 5.6780257657701932e-05_r8, & + 5.8843443596049439e-05_r8, 5.8358382885934302e-05_r8, & + 5.7753687387481544e-05_r8, 5.8377127828876919e-05_r8, & + 6.1465092123935957e-05_r8, 6.2389176680336514e-05_r8, & + 6.3809543517709109e-05_r8, 6.4820531562730782e-05_r8, & + 6.6716593012892633e-05_r8, 6.7969720120003463e-05_r8, & + 7.0591223387094903e-05_r8, 7.5287848985995423e-05_r8, & + 7.8626299908153097e-05_r8, 8.203571798656927e-05_r8, & + 8.2677452588887532e-05_r8, 8.8851896394353337e-05_r8, & + 9.6195202964732148e-05_r8, 0.00010239176781840674_r8, & + 0.00010710430585147313_r8, 0.00011389471135361396_r8, & + 0.00011276020118422057_r8, 0.0001147332535450331_r8, & + 0.00011654411487852107_r8, 0.00011750032548967506_r8, & + 0.00011911176282386303_r8, 0.00011875804796266318_r8, & + 0.00011910597730709149_r8, 0.00011876496589602865_r8, & + 0.00012055310488547893_r8, 0.00012139537494662457_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,26) / & + 6.3788873841637877e-05_r8, 9.614773925017808e-05_r8, & + 9.0652682634913655e-05_r8, 0.00011298575893844452_r8, & + 0.00010663282858927237_r8, 0.00011988957549700058_r8, & + 8.672769349439918e-05_r8, 6.3926167809980115e-05_r8, & + 6.0460812733879315e-05_r8, 6.157611284762268e-05_r8, & + 6.1964909180188199e-05_r8, 6.3941740393380289e-05_r8, & + 6.6326258943464586e-05_r8, 6.7746935388172461e-05_r8, & + 6.9320438948861519e-05_r8, 7.0975618055629859e-05_r8, & + 7.1827271092262938e-05_r8, 7.2626417901135997e-05_r8, & + 7.4983737899210454e-05_r8, 7.8528350799077413e-05_r8, & + 8.1441401011653959e-05_r8, 8.513837089982707e-05_r8, & + 8.883985630435599e-05_r8, 9.367731261904143e-05_r8, & + 9.9457033349277882e-05_r8, 0.00010446626010916458_r8, & + 0.00011066365235657588_r8, 0.00012002975094016258_r8, & + 0.00011793759897767744_r8, 0.00011819277161476764_r8, & + 0.00011910145299913835_r8, 0.00011939703384652282_r8, & + 0.00012062552780465826_r8, 0.00012031628754282521_r8, & + 0.00012101981936568615_r8, 0.0001215187659226344_r8, & + 0.00012415504459511106_r8, 0.0001245943301545919_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,27) / & + 0.00011520597651255462_r8, 0.00011763510750754495_r8, & + 0.00013183168479536812_r8, 0.00010677317559485742_r8, & + 0.00010823155450131021_r8, 7.6104647094589773e-05_r8, & + 9.2310674941194977e-05_r8, 0.00010781660005296417_r8, & + 0.00012583664930075413_r8, 0.00013695771241618911_r8, & + 0.00013863851129978949_r8, 0.00015467411430435577_r8, & + 0.000166523867648034_r8, 0.00016996992538797316_r8, & + 0.00017583740856226451_r8, 0.00017722733047044034_r8, & + 0.00018633265350502735_r8, 0.00019338834932699174_r8, & + 0.00020043442818435062_r8, 0.00020680467568154982_r8, & + 0.00021238719701499351_r8, 0.00022052040205813576_r8, & + 0.00022003505245380504_r8, 0.00022486259587922909_r8, & + 0.00023436872665712715_r8, 0.00023891028913260699_r8, & + 0.00024289605514495649_r8, 0.00025290545725090006_r8, & + 0.00025541936825907168_r8, 0.00025836893726140616_r8, & + 0.00025948292230070397_r8, 0.00025917390396651614_r8, & + 0.00025834924140478419_r8, 0.00025626552579726081_r8, & + 0.00025552232673409572_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,27) / & + 8.8554350816494405e-05_r8, 8.9805213879432189e-05_r8, & + 0.00010341548366469961_r8, 8.0907093219809899e-05_r8, & + 8.3735167968240537e-05_r8, 6.2389761267773254e-05_r8, & + 8.8330324679325488e-05_r8, 0.0001002362179351774_r8, & + 0.00011259423134410881_r8, 0.00011956134114860846_r8, & + 0.0001279938723805937_r8, 0.00014862405021218411_r8, & + 0.00016594334288701475_r8, 0.00016901677892412715_r8, & + 0.00017217564291412737_r8, 0.00017337774978577945_r8, & + 0.00017787902097029094_r8, 0.00018265556445097293_r8, & + 0.00018822735371727692_r8, 0.00019404303328899339_r8, & + 0.00019937387298053525_r8, 0.00020637844906345532_r8, & + 0.00021130879912187791_r8, 0.00021699921167561126_r8, & + 0.00022346390439351418_r8, 0.00022819912465132201_r8, & + 0.0002328110449455417_r8, 0.00024367365554053564_r8, & + 0.00025044402787790349_r8, 0.00025570661956742619_r8, & + 0.00025975574532295258_r8, 0.00026162658063351934_r8, & + 0.00026158788605249529_r8, 0.00025981370078781251_r8, & + 0.00025809124442339272_r8, 0.00025774033866194247_r8, & + 0.00025735459185210612_r8, 0.00025702446345218826_r8, & + 0.00025667571681758016_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,27) / & + 6.3891309300324978e-05_r8, 6.4613988520229458e-05_r8, & + 6.6404362048222562e-05_r8, 3.8846624378422561e-05_r8, & + 4.1112966330789342e-05_r8, 3.9962220238533405e-05_r8, & + 7.3865163285731018e-05_r8, 8.6658608547943153e-05_r8, & + 8.9931350809419291e-05_r8, 9.6339502148779291e-05_r8, & + 0.00010742799443927112_r8, 0.00012993121134172357_r8, & + 0.00014818955064866584_r8, 0.00015750010165090856_r8, & + 0.00016254033713837971_r8, 0.00016665909975953989_r8, & + 0.00017015521381457034_r8, 0.00017170073930715507_r8, & + 0.00017412963924785127_r8, 0.00017771509937375749_r8, & + 0.00018184785233698678_r8, 0.00018867229922893048_r8, & + 0.00019440692010839588_r8, 0.00020019923492599399_r8, & + 0.00020505498377031297_r8, 0.00021032124763904598_r8, & + 0.00021605298927350071_r8, 0.00022803305049056585_r8, & + 0.00023969126012739745_r8, 0.00024867517317219893_r8, & + 0.00025698521578137258_r8, 0.00026406034598496181_r8, & + 0.00026627790916957994_r8, 0.00026518007646650804_r8, & + 0.00026161684872772509_r8, 0.0002597020042491626_r8, & + 0.00025841132896464085_r8, 0.00025678834316953921_r8, & + 0.00025671808990363252_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,27) / & + 5.0151211448225223e-05_r8, 4.961677344904838e-05_r8, & + 4.7732068204445743e-05_r8, 3.0070577933473341e-05_r8, & + 3.074133785899343e-05_r8, 3.2746264849716412e-05_r8, & + 4.7717310215346992e-05_r8, 6.0544474504645525e-05_r8, & + 6.974644268344366e-05_r8, 7.6020057928089457e-05_r8, & + 8.2776214668309599e-05_r8, 9.5524544662497099e-05_r8, & + 0.00011328561234821421_r8, 0.00012462051684833031_r8, & + 0.00013355444875569894_r8, 0.00014343111974810866_r8, & + 0.00015299619976491319_r8, 0.00015903498644741148_r8, & + 0.00016322326149289008_r8, 0.00016636086144543942_r8, & + 0.00016932130656616872_r8, 0.00017344142102946686_r8, & + 0.00017692653960407994_r8, 0.00018076654681879788_r8, & + 0.00018482292679919442_r8, 0.00018970266872885144_r8, & + 0.00019576847498349318_r8, 0.00021011160959165157_r8, & + 0.00022330491685072077_r8, 0.00023562752668860424_r8, & + 0.00024729156423659968_r8, 0.00025807662381158717_r8, & + 0.00026429884349150971_r8, 0.00026670045829666785_r8, & + 0.00026630253818260856_r8, 0.00026305763081083361_r8, & + 0.0002585930966350094_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,27) / & + 3.1759558880094715e-05_r8, 2.9795304506661922e-05_r8, & + 2.8774064800876703e-05_r8, 2.4701702155353601e-05_r8, & + 2.5106468829661084e-05_r8, 2.5836566021901778e-05_r8, & + 2.9977053091792811e-05_r8, 3.3664905155162759e-05_r8, & + 3.7934124902896355e-05_r8, 4.2099547897113974e-05_r8, & + 4.6343935753310586e-05_r8, 5.425747559730725e-05_r8, & + 6.6766838669568489e-05_r8, 7.4247649642423551e-05_r8, & + 8.2931833178446248e-05_r8, 9.5408174779264648e-05_r8, & + 0.00010502072019360673_r8, 0.0001194537105294686_r8, & + 0.00012889367698990537_r8, 0.00013848386317357904_r8, & + 0.00014597356982968824_r8, 0.00014540937579020301_r8, & + 0.00015052230452364281_r8, 0.00015664614270482322_r8, & + 0.00016254653126103526_r8, 0.00016678258223303962_r8, & + 0.00017112526756434888_r8, 0.00018423479506417202_r8, & + 0.00019530323151355477_r8, 0.0002087894290032468_r8, & + 0.00022485241935922979_r8, 0.00024015810605064391_r8, & + 0.00025235192607018343_r8, 0.00026223459630389241_r8, & + 0.00026740553148403394_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,27) / & + 1.4400313207007814e-05_r8, 1.2742044192889875e-05_r8, & + 1.1903659617052142e-05_r8, 1.2727314246701747e-05_r8, & + 1.2912150415392211e-05_r8, 1.3202549979739822e-05_r8, & + 1.3820785900005177e-05_r8, 1.442577375185848e-05_r8, & + 1.4979398960606029e-05_r8, 1.6057522187831328e-05_r8, & + 1.7224683021980899e-05_r8, 1.937236958668747e-05_r8, & + 2.2254594774396774e-05_r8, 2.4804426258952348e-05_r8, & + 2.6769287815429239e-05_r8, 3.1724737636166181e-05_r8, & + 3.6751147221559536e-05_r8, 4.822027625908889e-05_r8, & + 5.9367581121497009e-05_r8, 7.2935566990156843e-05_r8, & + 8.7375506550492249e-05_r8, 9.4164026435972919e-05_r8, & + 0.00010640742567196778_r8, 0.00012062008658789722_r8, & + 0.00013384619883135995_r8, 0.00014376511083046269_r8, & + 0.00015030704788119345_r8, 0.0001710071240187271_r8, & + 0.00017947771978415122_r8, 0.00018866946457308522_r8, & + 0.0002006029390747637_r8, 0.000215026764872718_r8, & + 0.00022629906116997266_r8, 0.0002338434572009768_r8, & + 0.00024046476643394828_r8, 0.00024519234221281682_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,27) / & + 6.8611829127933763e-06_r8, 5.9649196335979957e-06_r8, & + 5.5791511800893851e-06_r8, 5.7161976910147144e-06_r8, & + 5.7961327410016995e-06_r8, 5.8611449338876235e-06_r8, & + 6.001572696152252e-06_r8, 6.1694977697547765e-06_r8, & + 6.3289266889965596e-06_r8, 6.5248906356486036e-06_r8, & + 6.6724443891422268e-06_r8, 7.2708072083251791e-06_r8, & + 8.1255367352386053e-06_r8, 8.6751880855852949e-06_r8, & + 9.0203297474043171e-06_r8, 9.6415775903946695e-06_r8, & + 1.1299888911996507e-05_r8, 1.5805306402534619e-05_r8, & + 2.4105935521123107e-05_r8, 3.5359537089034364e-05_r8, & + 4.9280968803373254e-05_r8, 6.5374238925455485e-05_r8, & + 8.3217116055744468e-05_r8, 0.00010151169934998554_r8, & + 0.00012068333718802408_r8, 0.00013618083119279156_r8, & + 0.00014799224750359775_r8, 0.0001714263379120824_r8, & + 0.00018266911563495327_r8, 0.00019195528813729744_r8, & + 0.00019952800473031635_r8, 0.00020925592913984803_r8, & + 0.00022307124628608051_r8, 0.00023439814769987149_r8, & + 0.00024167224347732105_r8, 0.00024867522496689062_r8, & + 0.00025758125641004825_r8, 0.00026080489482878535_r8, & + 0.00026141064616908277_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,27) / & + 4.2026633219297066e-06_r8, 4.3901932554417104e-06_r8, & + 3.9187300094330127e-06_r8, 4.0122982671756927e-06_r8, & + 4.1966792244447474e-06_r8, 4.1933355804679476e-06_r8, & + 3.9718127866747086e-06_r8, 3.8193687628235686e-06_r8, & + 3.9438607387581819e-06_r8, 4.2812756285442831e-06_r8, & + 4.5018018290081235e-06_r8, 5.2293254459363203e-06_r8, & + 6.2868050965241833e-06_r8, 6.9723071704311115e-06_r8, & + 7.5499057107761804e-06_r8, 8.142961573769449e-06_r8, & + 9.7090880458529771e-06_r8, 1.2141959537416839e-05_r8, & + 1.8709674250630046e-05_r8, 3.1240829834195756e-05_r8, & + 4.8169969437481855e-05_r8, 6.5665511855896727e-05_r8, & + 8.7762742393191807e-05_r8, 0.00010757996380535452_r8, & + 0.00012706184960399551_r8, 0.00014264854252678849_r8, & + 0.00015520315667625034_r8, 0.00017630828559655456_r8, & + 0.00019008517668048176_r8, 0.00019868897730387699_r8, & + 0.00020427884578737279_r8, 0.00021248493456526972_r8, & + 0.00022292499482473363_r8, 0.00023315174139949214_r8, & + 0.00024163442774527522_r8, 0.00025069723811805308_r8, & + 0.0002560760761069198_r8, 0.00025957066834138938_r8, & + 0.00026104628428204622_r8, 0.00026200036674298187_r8, & + 0.00026379889497779471_r8, 0.00026405717783549383_r8, & + 0.00026451599863436221_r8, 0.00026451599863436221_r8, 9e90_r8 & + / +data saar_ref(:,14,27) / & + 4.6784601009716729e-06_r8, 4.6860428228716835e-06_r8, & + 4.4806667894150892e-06_r8, 5.0773608052514171e-06_r8, & + 5.251066655327204e-06_r8, 5.2320214539415337e-06_r8, & + 4.9867186140918455e-06_r8, 4.3923035615804903e-06_r8, & + 4.0821842981218729e-06_r8, 4.1163256408623445e-06_r8, & + 4.3009032702486126e-06_r8, 4.6524486601612323e-06_r8, & + 5.3556663133214002e-06_r8, 6.2116304559272326e-06_r8, & + 7.0583268767853058e-06_r8, 7.9229935000757763e-06_r8, & + 1.0057457547530693e-05_r8, 1.2805452429521332e-05_r8, & + 2.0617421156549748e-05_r8, 3.6962366477464555e-05_r8, & + 5.7923576533681013e-05_r8, 8.1523746219734427e-05_r8, & + 0.00010664524054894271_r8, 0.00012796665869408959_r8, & + 0.0001456077580918346_r8, 0.00015933469481257094_r8, & + 0.00017019675710887595_r8, 0.00018991911226258487_r8, & + 0.00020440060524679206_r8, 0.00021151399307247766_r8, & + 0.00021672308717684635_r8, 0.00022214015869445456_r8, & + 0.00022865764011973641_r8, 0.00023534729468054576_r8, & + 0.00024279366827034785_r8, 0.00025042221233440373_r8, & + 0.00025495694016424114_r8, 0.00025885291211625357_r8, & + 0.0002612616771397948_r8, 0.00026277565685209743_r8, & + 0.00026363783920856603_r8, 0.00026345407329357817_r8, & + 0.00026364942924921812_r8, 0.00026349689747104588_r8, & + 0.00026422312838425381_r8 & + / +data saar_ref(:,15,27) / & + 6.610778809356561e-06_r8, 6.5920570899392457e-06_r8, & + 6.9844512540838768e-06_r8, 5.8621159789635545e-06_r8, & + 5.8938369293926174e-06_r8, 5.9221908421846153e-06_r8, & + 5.88457651393881e-06_r8, 5.8648154891399323e-06_r8, & + 5.6009446332203095e-06_r8, 5.4942342670586203e-06_r8, & + 5.5399701216345613e-06_r8, 5.9215348356716567e-06_r8, & + 6.6040121617390008e-06_r8, 7.2540202182552879e-06_r8, & + 8.0552259273645563e-06_r8, 9.1022846455980707e-06_r8, & + 1.1727444073172411e-05_r8, 1.6768725840773586e-05_r8, & + 2.7158884750304632e-05_r8, 4.6310393746480613e-05_r8, & + 7.0676544424093805e-05_r8, 0.00010050915800984496_r8, & + 0.00012783198043307619_r8, 0.00014996545904736824_r8, & + 0.00016373179792225593_r8, 0.00017362328734339409_r8, & + 0.00018425037166253436_r8, 0.00020428926916466272_r8, & + 0.00022170002596381088_r8, 0.00023045396543511831_r8, & + 0.00023624468533169622_r8, 0.00023985577065381889_r8, & + 0.00024425896828454436_r8, 0.0002482085118543003_r8, & + 0.0002528336001161723_r8, 0.00025754561876068849_r8, & + 0.00026088362586909538_r8, 0.00026179695086717234_r8, & + 0.00026280640040296114_r8, 0.00026419206782323824_r8, & + 0.00026485588604308524_r8, 0.00026478855280329697_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,27) / & + 8.9623146017081471e-06_r8, 8.9673978229867695e-06_r8, & + 9.0753883875881465e-06_r8, 6.0701043438986866e-06_r8, & + 6.0478982153854399e-06_r8, 6.3216319385568507e-06_r8, & + 6.7532971375283727e-06_r8, 6.6204534994501399e-06_r8, & + 6.6478606479126005e-06_r8, 6.5740990283376338e-06_r8, & + 6.4909179263085377e-06_r8, 7.4305948387541733e-06_r8, & + 8.0787332020600311e-06_r8, 8.4436531254810091e-06_r8, & + 8.9682593400694978e-06_r8, 1.0243364001835863e-05_r8, & + 1.502288987514832e-05_r8, 2.541201014909166e-05_r8, & + 4.2326692825851297e-05_r8, 7.0650983120360927e-05_r8, & + 0.00010637693066044405_r8, 0.00014169164283281811_r8, & + 0.00016481681087629322_r8, 0.00018037038923150397_r8, & + 0.00018983343702247738_r8, 0.00019654526657462331_r8, & + 0.00020658670387437261_r8, 0.00022611659644793119_r8, & + 0.00024555215800684156_r8, 0.0002553296261686717_r8, & + 0.00026188735911050417_r8, 0.00026492715720967462_r8, & + 0.00026819252694674833_r8, 0.00027263345093935903_r8, & + 0.0002759650589511025_r8, 0.00027894815594803151_r8, & + 0.0002814790144190918_r8, 0.00028087921329281683_r8, & + 0.00027947257060703673_r8, 0.00027883248366698024_r8, & + 0.00027872711862244665_r8, 0.00027945489678722385_r8, & + 0.00027914773685204801_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,27) / & + 9.6202687903167028e-06_r8, 9.6356795543923347e-06_r8, & + 9.1351873697259831e-06_r8, 8.7959986031708129e-06_r8, & + 8.752605354397574e-06_r8, 8.6957407257311748e-06_r8, & + 1.1194734814621783e-05_r8, 1.218900799559271e-05_r8, & + 1.1062593235543477e-05_r8, 1.0602980102592451e-05_r8, & + 1.0416677915399541e-05_r8, 1.1347852871601489e-05_r8, & + 1.1456785896126529e-05_r8, 1.0970253883295263e-05_r8, & + 1.1272916818978603e-05_r8, 1.2420947132680532e-05_r8, & + 2.1129910537063442e-05_r8, 4.3474175247227921e-05_r8, & + 7.8090651744979525e-05_r8, 0.00012338753587552573_r8, & + 0.00016653157078253794_r8, 0.00019392528978608828_r8, & + 0.00020933637760126109_r8, 0.00021777214150652433_r8, & + 0.00022316082875081699_r8, 0.00022802330963713675_r8, & + 0.00023394794373320226_r8, 0.00024957617266067975_r8, & + 0.0002675384244545151_r8, 0.00027903389658105173_r8, & + 0.00028642061733424607_r8, 0.00028916901216692359_r8, & + 0.00029205975703627162_r8, 0.00029629345203377992_r8, & + 0.00029920274807344806_r8, 0.00030110121688417752_r8, & + 0.00030257675403912973_r8, 0.00030246364739639332_r8, & + 0.00030115388127348682_r8, 0.00029917177004512102_r8, & + 0.00029780548722747034_r8, 0.00029658856682718043_r8, & + 0.00029499129597759224_r8, 0.00029428564720039433_r8, & + 0.00029431766097550414_r8 & + / +data saar_ref(:,18,27) / & + 9.3819379715603298e-06_r8, 9.3855042596303802e-06_r8, & + 8.9215367797596011e-06_r8, 1.3327598978874761e-05_r8, & + 1.3850570969133064e-05_r8, 1.3501456798131564e-05_r8, & + 1.839853740876111e-05_r8, 2.2239678955292211e-05_r8, & + 2.4229816251907873e-05_r8, 2.5103019769686495e-05_r8, & + 2.5562593419229893e-05_r8, 2.5455667056060947e-05_r8, & + 2.5980687850348313e-05_r8, 2.810513321498055e-05_r8, & + 2.8165185912790143e-05_r8, 2.8962232194427973e-05_r8, & + 4.4228496650150602e-05_r8, 8.2476169007797314e-05_r8, & + 0.00012898109739549823_r8, 0.00017369291157452355_r8, & + 0.00020549584929561857_r8, 0.00022315896472540722_r8, & + 0.00023537196126980392_r8, 0.0002439840326246261_r8, & + 0.00024877011774520079_r8, 0.00025282055123332223_r8, & + 0.00025692374543681329_r8, 0.00027063353093917841_r8, & + 0.00028674736745738099_r8, 0.00029724002855337965_r8, & + 0.00030393294137747974_r8, 0.0003069657804456851_r8, & + 0.00031033284569361656_r8, 0.00031453903518281274_r8, & + 0.00031717827560655672_r8, 0.00031904848501743989_r8, & + 0.00031993636135077232_r8, 0.00031886984453958876_r8, & + 0.00031758636062683397_r8, 0.00031561059944011579_r8, & + 0.00031353966481785273_r8, 0.00031159914588621849_r8, & + 0.00031096512373680652_r8, 0.00030951206995980728_r8, & + 0.00030965993568744267_r8 & + / +data saar_ref(:,19,27) / & + 1.0213078629065927e-05_r8, 1.0392616270938362e-05_r8, & + 9.9505174658859702e-06_r8, 1.2840969364234513e-05_r8, & + 1.3514502484766595e-05_r8, 1.4463996491146161e-05_r8, & + 2.0123190106677606e-05_r8, 2.7406184465555266e-05_r8, & + 3.6960625521701749e-05_r8, 4.4093689077003959e-05_r8, & + 4.97699022963583e-05_r8, 5.6040456089255697e-05_r8, & + 6.7751850295942715e-05_r8, 7.4486290177799789e-05_r8, & + 7.5563193697427721e-05_r8, 7.5704506145065007e-05_r8, & + 9.9305610669430468e-05_r8, 0.00014002607719830408_r8, & + 0.00017340417343295238_r8, 0.00020288736122202474_r8, & + 0.00022754023498591962_r8, 0.00024630708326065431_r8, & + 0.00026015502433133293_r8, 0.00026975069663753783_r8, & + 0.00027590350093942523_r8, 0.00028043117563972421_r8, & + 0.0002839637325022735_r8, 0.00029456791709554786_r8, & + 0.00030587147455155006_r8, 0.00031401354581378911_r8, & + 0.00031955054654771257_r8, 0.00032370227540350218_r8, & + 0.00032734006248450799_r8, 0.00033061242935118193_r8, & + 0.00033253203608584158_r8, 0.00033321006500729492_r8, & + 0.00033286092922310681_r8, 0.00033170753800327863_r8, & + 0.00033002682187692483_r8, 0.00032845191500049513_r8, & + 0.00032670144251964337_r8, 0.00032510090460806146_r8, & + 0.00032453048053111708_r8, 0.00032367562910345742_r8, & + 0.00032295139455539197_r8 & + / +data saar_ref(:,20,27) / & + 1.1295962782048382e-05_r8, 1.2200846051138949e-05_r8, & + 1.133612703150152e-05_r8, 1.2027738135408031e-05_r8, & + 1.2734661290622849e-05_r8, 1.3291176675590728e-05_r8, & + 2.0665238949119419e-05_r8, 3.6754349703072355e-05_r8, & + 5.3640262495798855e-05_r8, 6.7012851638001685e-05_r8, & + 7.7648020656815057e-05_r8, 8.7165217679401559e-05_r8, & + 9.8332413166393154e-05_r8, 0.00010179835867042476_r8, & + 0.00010103288932369111_r8, 0.00010284870920007227_r8, & + 0.00012557937468438496_r8, 0.000161406890181173_r8, & + 0.00019234071387819076_r8, 0.00021828254560920038_r8, & + 0.00024192384568011983_r8, 0.00026343143383265205_r8, & + 0.00027928244592380531_r8, 0.00028801444527214561_r8, & + 0.00029425026101076706_r8, 0.00029905403971471246_r8, & + 0.0003031411636296336_r8, 0.00031356815947114117_r8, & + 0.0003233577775074468_r8, 0.00033046793110589972_r8, & + 0.00033546824178318371_r8, 0.00034027609642322436_r8, & + 0.00034457798928875854_r8, 0.00034717178212461785_r8, & + 0.00034839213614331705_r8, 0.00034776999453082889_r8, & + 0.00034613037833689225_r8, 0.00034455285154980363_r8, & + 0.00034303064441130765_r8, 0.00034231324243349034_r8, & + 0.00034192755553650315_r8, 0.00034148921759480041_r8, & + 0.00034182006399096921_r8, 0.00034210754256921446_r8, & + 0.00034118316908122374_r8 & + / +data saar_ref(:,21,27) / & + 1.1927395183761101e-05_r8, 1.3477180507936911e-05_r8, & + 1.1735313150511785e-05_r8, 1.0196254412577509e-05_r8, & + 1.1181701041793725e-05_r8, 1.1961402905650987e-05_r8, & + 1.9103720287046628e-05_r8, 4.0193094365440923e-05_r8, & + 6.2630131040102368e-05_r8, 8.0250235098915513e-05_r8, & + 9.1046908043136026e-05_r8, 9.8555831908174083e-05_r8, & + 0.00010253436195752438_r8, 0.00010174939183295866_r8, & + 0.00010151123456034041_r8, 0.00010751076288304462_r8, & + 0.00012958393683923356_r8, 0.00016296544507274211_r8, & + 0.00019516766784550592_r8, 0.000222541867468347_r8, & + 0.00024830902213519103_r8, 0.00027006060570514796_r8, & + 0.00028820711278471729_r8, 0.00029750394291716895_r8, & + 0.00030431842845515583_r8, 0.00030926323536078967_r8, & + 0.00031413986641943322_r8, 0.00032621449091630681_r8, & + 0.00033707949549662073_r8, 0.00034426184692698812_r8, & + 0.00034935124427395498_r8, 0.00035393198295460262_r8, & + 0.00035843525179913752_r8, 0.00036078762068001194_r8, & + 0.00036181887886869941_r8, 0.0003606082866961229_r8, & + 0.00035814701902849895_r8, 0.00035648378618059019_r8, & + 0.00035515504630017041_r8, 0.00035465564285119751_r8, & + 0.00035479323324192404_r8, 0.00035458460737610288_r8, & + 0.00035524674996083793_r8, 0.000354458421475529_r8, & + 0.00035466446295317219_r8 & + / +data saar_ref(:,22,27) / & + 1.8786557531480672e-05_r8, 2.0186804574230868e-05_r8, & + 1.3760231433952354e-05_r8, 1.7594592787216647e-05_r8, & + 1.7431511921119362e-05_r8, 1.0532475905858372e-05_r8, & + 1.7489514133076744e-05_r8, 3.8078383862108045e-05_r8, & + 6.1989641830732895e-05_r8, 7.7882005586083771e-05_r8, & + 8.4495041497468097e-05_r8, 8.979798454664432e-05_r8, & + 9.3245948442465589e-05_r8, 9.2841371007295972e-05_r8, & + 9.5419930844023229e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,27) / & + 2.3751696403217943e-05_r8, 2.5747874282148017e-05_r8, & + 2.63862356192197e-05_r8, 2.6324416885682138e-05_r8, & + 2.5507435899467724e-05_r8, 3.2282366548163479e-05_r8, & + 4.4233145060080065e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,27) / & + 2.0756479086450066e-05_r8, 2.0195234618527767e-05_r8, & + 2.3911848550947605e-05_r8, 2.6824522035334773e-05_r8, & + 2.8134245155912818e-05_r8, 2.5425863520902273e-05_r8, & + 4.8618941895624363e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,27) / & + 2.0787943254443194e-05_r8, 1.8265763144340234e-05_r8, & + 1.8916095569832226e-05_r8, 1.6992608050604041e-05_r8, & + 1.6781146436973002e-05_r8, 1.9961610803270136e-05_r8, & + 4.2505602414416664e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,27) / & + 1.6295981574205359e-05_r8, 1.3846252149111482e-05_r8, & + 1.4042099749718087e-05_r8, 1.2973472071265387e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,27) / & + 6.2430904397644982e-06_r8, 5.5817693147345664e-06_r8, & + 6.4307890752492019e-06_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,27) / & + 0.0001398169869393393_r8, 9.2366565136057515e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,27) / & + 5.0589196439726349e-05_r8, 4.8726942317053408e-05_r8, & + 5.1812250343817228e-05_r8, 5.8767343064514725e-05_r8, & + 6.0576116433872964e-05_r8, 7.0808475314039976e-05_r8, & + 6.3332112311998619e-05_r8, 6.2745929735699829e-05_r8, & + 6.0231200038809647e-05_r8, 5.4242619746644737e-05_r8, & + 5.2723340879578935e-05_r8, 5.313463624102663e-05_r8, & + 5.4337884883834906e-05_r8, 5.5206537798489979e-05_r8, & + 5.5601325322614203e-05_r8, 5.5657878626071028e-05_r8, & + 5.6080634551494363e-05_r8, 5.8223568019416857e-05_r8, & + 6.0106484867392368e-05_r8, 6.3764768449828585e-05_r8, & + 6.7627531152186153e-05_r8, 7.2963109129957538e-05_r8, & + 6.6495250171978707e-05_r8, 7.5921040877353565e-05_r8, & + 8.8098379577195598e-05_r8, 9.8024313612819384e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,27) / & + 3.5413352450302641e-05_r8, 3.5410716152804649e-05_r8, & + 3.5167383584480101e-05_r8, 4.153664725620293e-05_r8, & + 4.5880106748488624e-05_r8, 5.8475711301646122e-05_r8, & + 5.630486940046012e-05_r8, 5.8763696909868199e-05_r8, & + 5.8815054606587378e-05_r8, 5.4971114767820233e-05_r8, & + 5.3946930437229143e-05_r8, 5.4860485963588923e-05_r8, & + 5.6964821907924938e-05_r8, 5.8227962647469574e-05_r8, & + 5.87545743023253e-05_r8, 5.8872294672538027e-05_r8, & + 5.9651657359347351e-05_r8, 6.1451846952295981e-05_r8, & + 6.4050662761994359e-05_r8, 6.9156676764978246e-05_r8, & + 7.2628834472710505e-05_r8, 7.714972580153979e-05_r8, & + 7.3151840141778417e-05_r8, 8.2142786020324526e-05_r8, & + 9.2343054648651767e-05_r8, 0.00010073895708424052_r8, & + 0.00010398548749083865_r8, 0.00010832656603060179_r8, & + 0.00011064256138384875_r8, 0.00011220353452218419_r8, & + 0.00011455095675393819_r8, 0.00011597013867501234_r8, & + 0.00011679826950732066_r8, 0.00011701809392883315_r8, & + 0.00011732526721248102_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,27) / & + 4.4768845212161059e-05_r8, 5.8237321319871784e-05_r8, & + 5.6434941553035763e-05_r8, 5.9154547906213058e-05_r8, & + 6.0760184901521267e-05_r8, 6.928520370598948e-05_r8, & + 5.8887844311889108e-05_r8, 5.6653247605462671e-05_r8, & + 5.9174282647785893e-05_r8, 5.8978670049223371e-05_r8, & + 5.8408752107414001e-05_r8, 5.8848858811289638e-05_r8, & + 6.1784363428303568e-05_r8, 6.2534062975566095e-05_r8, & + 6.4015814324689822e-05_r8, 6.5093829069527096e-05_r8, & + 6.6938946266249021e-05_r8, 6.8073785307778425e-05_r8, & + 7.0677650299668228e-05_r8, 7.5394500939802894e-05_r8, & + 7.8726381035193853e-05_r8, 8.2185480266956385e-05_r8, & + 8.3001896334174147e-05_r8, 8.9194635216027971e-05_r8, & + 9.6686179204943638e-05_r8, 0.00010290240235018907_r8, & + 0.00010773833893112811_r8, 0.00011466545461061886_r8, & + 0.00011265781583012498_r8, 0.00011462126335254386_r8, & + 0.00011631435631632497_r8, 0.00011700911844727135_r8, & + 0.00011874806357217181_r8, 0.00011813558486640119_r8, & + 0.00011864267130068481_r8, 0.00011874395795778277_r8, & + 0.00012056194620844668_r8, 0.00012140689110148874_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,27) / & + 6.3099587826131019e-05_r8, 9.6794976847285063e-05_r8, & + 9.0189010202847871e-05_r8, 0.00011341687433217979_r8, & + 0.00010677408177120187_r8, 0.00012037055764401721_r8, & + 8.6513669966719597e-05_r8, 6.396503673256442e-05_r8, & + 6.0266380757986455e-05_r8, 6.1438572529766628e-05_r8, & + 6.201370536422027e-05_r8, 6.433643078537798e-05_r8, & + 6.6779644577880958e-05_r8, 6.8209487207514767e-05_r8, & + 6.9803941259740637e-05_r8, 7.1498554564140295e-05_r8, & + 7.222840135545488e-05_r8, 7.2877609470939984e-05_r8, & + 7.5269113090940638e-05_r8, 7.8838714229576299e-05_r8, & + 8.1762289737589153e-05_r8, 8.5508213575262221e-05_r8, & + 8.9255792202667532e-05_r8, 9.4139297743491755e-05_r8, & + 0.00010003877392978578_r8, 0.00010515736124684683_r8, & + 0.00011153662013662891_r8, 0.00012100675857768847_r8, & + 0.00011784062438165233_r8, 0.00011799244538858267_r8, & + 0.00011904155886089261_r8, 0.00011916739455818233_r8, & + 0.00012051573462157312_r8, 0.00012006904282524548_r8, & + 0.00012076467793586893_r8, 0.00012144571256113904_r8, & + 0.00012415486167921403_r8, 0.00012460026438202221_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,28) / & + 0.00011307646610301376_r8, 0.00011474760212235949_r8, & + 0.00013599318638690797_r8, 0.00011398122390503886_r8, & + 0.00011596758991228311_r8, 7.9019842373648913e-05_r8, & + 9.6534551403990753e-05_r8, 0.00011463905300321596_r8, & + 0.00013116581861676932_r8, 0.00013980061186786273_r8, & + 0.00014534163203765109_r8, 0.00015764168488741342_r8, & + 0.00016759558693656685_r8, 0.00017449851917216054_r8, & + 0.00018399374095255376_r8, 0.00018761494141534169_r8, & + 0.0001981743261434465_r8, 0.00020553639373001613_r8, & + 0.00021179127470738075_r8, 0.00021612136554641407_r8, & + 0.00022111844017455365_r8, 0.00022857142242065385_r8, & + 0.00023209528216490061_r8, 0.00023647641801672695_r8, & + 0.00024288328304616975_r8, 0.00024652953318787503_r8, & + 0.00024962799463707565_r8, 0.00025620462016818027_r8, & + 0.00025816739499263393_r8, 0.0002592785358518722_r8, & + 0.00025941166737405145_r8, 0.00025856733532930493_r8, & + 0.00025753551840869784_r8, 0.00025548936576345069_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,28) / & + 8.1859887310822707e-05_r8, 8.2854098847013694e-05_r8, & + 0.00010190912791274773_r8, 8.3520531955488055e-05_r8, & + 8.8262548611910759e-05_r8, 6.47929057816413e-05_r8, & + 8.837760488854672e-05_r8, 0.00010409194219715053_r8, & + 0.00011656639939926618_r8, 0.00012344436843721905_r8, & + 0.00013134726148667487_r8, 0.00015033489073971044_r8, & + 0.00016674756105095951_r8, 0.00017110218443653063_r8, & + 0.00017484085493392519_r8, 0.00017679694981976381_r8, & + 0.00018151774058597654_r8, 0.00018610629374562687_r8, & + 0.00019118993463702985_r8, 0.00019648672486206724_r8, & + 0.00020191566605667476_r8, 0.00020883616830430626_r8, & + 0.00021453321301522066_r8, 0.00022031047363452682_r8, & + 0.00022613715240517139_r8, 0.00023090294896535671_r8, & + 0.00023542879366547683_r8, 0.00024528716405120276_r8, & + 0.00025218906738969131_r8, 0.00025731722568239244_r8, & + 0.00026140140459206777_r8, 0.00026343155405097958_r8, & + 0.00026359272610285248_r8, 0.00026194474024215106_r8, & + 0.00026056787751979892_r8, 0.00026090763649392663_r8, & + 0.0002595590429575264_r8, 0.00025900464096991892_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,28) / & + 5.663636100418939e-05_r8, 5.724472019530475e-05_r8, & + 5.7616125340873523e-05_r8, 4.1786428936941463e-05_r8, & + 4.443246535255562e-05_r8, 4.0875037257714787e-05_r8, & + 6.1884044446084148e-05_r8, 7.774699716773819e-05_r8, & + 8.6372153428876421e-05_r8, 9.3521416534184465e-05_r8, & + 0.00010231278571578927_r8, 0.00012388244207897517_r8, & + 0.00014359380078685061_r8, 0.00015403173948896906_r8, & + 0.00015986885465103128_r8, 0.00016465710891383703_r8, & + 0.00016807988150584053_r8, 0.00017030570394498145_r8, & + 0.00017214007777264104_r8, 0.00017448955163712265_r8, & + 0.00017804349919678229_r8, 0.00018756470998678392_r8, & + 0.0001915379233868486_r8, 0.00019621450451719552_r8, & + 0.00020118527038124365_r8, 0.00020688060439025084_r8, & + 0.00021307868895057756_r8, 0.00022646078165946442_r8, & + 0.00023857310538545189_r8, 0.00024844874048794637_r8, & + 0.00025713838210249994_r8, 0.00026705712133248764_r8, & + 0.00027106684534791876_r8, 0.00027132136612366436_r8, & + 0.00026783086524818131_r8, 0.00026442460939998038_r8, & + 0.00026272255041466058_r8, 0.00026020142355723556_r8, & + 0.00025641801917527818_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,28) / & + 4.5111135279029226e-05_r8, 4.4612141661483785e-05_r8, & + 3.6507214440851572e-05_r8, 3.2093232796884484e-05_r8, & + 3.2721675630968687e-05_r8, 3.4125576422520016e-05_r8, & + 4.236105096706293e-05_r8, 4.9947283728110845e-05_r8, & + 6.0506139437410477e-05_r8, 7.0168004001769046e-05_r8, & + 7.7545267643033567e-05_r8, 8.8637166168175233e-05_r8, & + 0.00010604370575217625_r8, 0.00011976970410276314_r8, & + 0.00013078641132488583_r8, 0.00014072537906573032_r8, & + 0.00014955447578821174_r8, 0.00015725951401595706_r8, & + 0.00016225766427772862_r8, 0.00016568503235704049_r8, & + 0.0001676207573184017_r8, 0.00017294306020223125_r8, & + 0.00017653226709213034_r8, 0.00018007517748902784_r8, & + 0.00018381549458701415_r8, 0.00018838375198335536_r8, & + 0.00019391501367030235_r8, 0.00020977380986007628_r8, & + 0.00022374303657714156_r8, 0.00023683419116546023_r8, & + 0.00024824202954274886_r8, 0.00025923568209588213_r8, & + 0.00026721559151789121_r8, 0.00027068718897386307_r8, & + 0.00027029040511079535_r8, 0.00026766572431337392_r8, & + 0.00026319400599845159_r8, 0.00026287254575045778_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,28) / & + 3.0160798594210383e-05_r8, 2.8136953375288271e-05_r8, & + 2.1916448776605919e-05_r8, 2.2745669611930316e-05_r8, & + 2.3067341602180538e-05_r8, 2.3597453141306634e-05_r8, & + 2.665230641731776e-05_r8, 2.9671955058329152e-05_r8, & + 3.3818947737313345e-05_r8, 3.7749465766012646e-05_r8, & + 4.1760976041385355e-05_r8, 4.8317819410228165e-05_r8, & + 5.9384241307776196e-05_r8, 6.8097663324410084e-05_r8, & + 7.6650145949683972e-05_r8, 8.7786075333134549e-05_r8, & + 9.9052887073033681e-05_r8, 0.00011367161465884277_r8, & + 0.00012479631116258484_r8, 0.00013506092121987447_r8, & + 0.00014312481372784773_r8, 0.00014541349050176632_r8, & + 0.00015165316904796616_r8, 0.00015717183294463764_r8, & + 0.00016262533642455185_r8, 0.00016746188697580353_r8, & + 0.0001721358656793973_r8, 0.0001850595095784973_r8, & + 0.00019703125891261454_r8, 0.00021151709918906561_r8, & + 0.00022707883811455334_r8, 0.00024081113585437271_r8, & + 0.00025140561102337454_r8, 0.00026059008857478243_r8, & + 0.00027000466125749219_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,28) / & + 1.5104807066771037e-05_r8, 1.2992331832038764e-05_r8, & + 9.2838198259554601e-06_r8, 9.9367191363836831e-06_r8, & + 1.0033120659254125e-05_r8, 1.0209817836376565e-05_r8, & + 1.0860160302889928e-05_r8, 1.164377210418445e-05_r8, & + 1.2662046058282407e-05_r8, 1.3573354041543907e-05_r8, & + 1.4488620679466905e-05_r8, 1.546025588485193e-05_r8, & + 1.6821688673394103e-05_r8, 1.8822448226780389e-05_r8, & + 2.0626257363898654e-05_r8, 2.456502340826122e-05_r8, & + 2.9854635060163469e-05_r8, 3.9777345539493525e-05_r8, & + 5.0677637271576624e-05_r8, 6.3719062387693757e-05_r8, & + 7.7748467000236958e-05_r8, 8.8711675406556555e-05_r8, & + 0.00010263767795244448_r8, 0.00011593828501281814_r8, & + 0.000129034448480074_r8, 0.00013994279250664071_r8, & + 0.00014773476222191626_r8, 0.00016919234292651344_r8, & + 0.00017876810786565046_r8, 0.00018889610656340792_r8, & + 0.00019958095748358743_r8, 0.00021199526014700437_r8, & + 0.00022720186016139592_r8, 0.00023520936464184236_r8, & + 0.00024143513786347709_r8, 0.00024600093531069328_r8, & + 0.00025718245873212537_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,28) / & + 7.1229773691122833e-06_r8, 6.2198992829413561e-06_r8, & + 4.0146331618939221e-06_r8, 5.1601950734170311e-06_r8, & + 5.2253612297487151e-06_r8, 5.2698831120752333e-06_r8, & + 5.5136159316932765e-06_r8, 5.7817405342972755e-06_r8, & + 6.0520201524644621e-06_r8, 6.2590870199583555e-06_r8, & + 6.4080335088164308e-06_r8, 6.7818449879751652e-06_r8, & + 7.3095201883424605e-06_r8, 7.5525954741618161e-06_r8, & + 7.778775240196537e-06_r8, 8.1571810552960355e-06_r8, & + 9.2625487221439221e-06_r8, 1.287285736557297e-05_r8, & + 1.9916430295262285e-05_r8, 3.0370252008685647e-05_r8, & + 4.3750999209761799e-05_r8, 6.0258962308800765e-05_r8, & + 7.7493278731245399e-05_r8, 9.4828435956783281e-05_r8, & + 0.00011325823733519009_r8, 0.00013005599079855549_r8, & + 0.00014397558021168687_r8, 0.00016981293381301105_r8, & + 0.00018248473056879053_r8, 0.00019426890903670547_r8, & + 0.00020096589153730811_r8, 0.00020931007678664243_r8, & + 0.00022333196506520674_r8, 0.00023428453267837574_r8, & + 0.00024288764875964738_r8, 0.00025067952760297912_r8, & + 0.00025815928453527565_r8, 0.00026146235692442964_r8, & + 0.00026198999798081427_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,28) / & + 4.2389564518466273e-06_r8, 4.491881448104472e-06_r8, & + 3.2765123850092498e-06_r8, 3.604763381701139e-06_r8, & + 3.7835257981706154e-06_r8, 3.7605414648741963e-06_r8, & + 3.4815931179149198e-06_r8, 3.4931402637576118e-06_r8, & + 3.7012342747967787e-06_r8, 3.9632030793856959e-06_r8, & + 4.0572566507311353e-06_r8, 4.5330428286551118e-06_r8, & + 5.3435145812380476e-06_r8, 5.9678247245120799e-06_r8, & + 6.5317813670595267e-06_r8, 7.1733714568556155e-06_r8, & + 8.6506267411902692e-06_r8, 1.1082438082862375e-05_r8, & + 1.7104560184966096e-05_r8, 3.0399612416899885e-05_r8, & + 4.6168741703340024e-05_r8, 6.4036897187401664e-05_r8, & + 8.4219501878522656e-05_r8, 0.0001029344513807891_r8, & + 0.0001210305779711624_r8, 0.0001366173770409527_r8, & + 0.00015008756687813108_r8, 0.00017688786047275712_r8, & + 0.00019138602105409313_r8, 0.00020428602184869777_r8, & + 0.00021126461533760768_r8, 0.00021776520299675027_r8, & + 0.00022676637305837132_r8, 0.0002354432733521387_r8, & + 0.00024374349105227736_r8, 0.0002525651352955906_r8, & + 0.00025674127912405774_r8, 0.00026006680735597194_r8, & + 0.00026152681861768334_r8, 0.0002626896259033646_r8, & + 0.00026418901251271722_r8, 0.00026389870521408823_r8, & + 0.00026439960730641632_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,28) / & + 5.0057189211965562e-06_r8, 4.9941832054255065e-06_r8, & + 4.608005473993432e-06_r8, 4.8801432679309693e-06_r8, & + 5.1558521265285048e-06_r8, 5.0891908209666176e-06_r8, & + 4.7033296150304922e-06_r8, 4.1406130495548252e-06_r8, & + 3.8725907984873996e-06_r8, 3.8357699844968485e-06_r8, & + 3.9021819692778292e-06_r8, 4.0237389013324067e-06_r8, & + 4.4708475248822751e-06_r8, 5.2024545063298563e-06_r8, & + 6.2048018187578089e-06_r8, 7.3322868765579757e-06_r8, & + 1.0252569429429845e-05_r8, 1.4515378942494868e-05_r8, & + 2.481883632083656e-05_r8, 4.3823370596865123e-05_r8, & + 6.6149994283082062e-05_r8, 8.934709834895967e-05_r8, & + 0.00011265235178411031_r8, 0.00013018191351724253_r8, & + 0.00014528358226237133_r8, 0.00015755190251059617_r8, & + 0.00016880652199326312_r8, 0.00019297834536132659_r8, & + 0.00021018405382097703_r8, 0.00022281232693841264_r8, & + 0.00022962011182598268_r8, 0.00023430835247142967_r8, & + 0.00023896241651255823_r8, 0.00024391810699787115_r8, & + 0.00024918902817717454_r8, 0.00025544549483140901_r8, & + 0.00025897455612268537_r8, 0.0002612215887733594_r8, & + 0.00026279096586839389_r8, 0.000264127936460817_r8, & + 0.00026511285216257365_r8, 0.00026430159194737018_r8, & + 0.00026436796684028101_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,28) / & + 6.9689628740084402e-06_r8, 6.8992550641039002e-06_r8, & + 7.0998936454645757e-06_r8, 5.7716700179812327e-06_r8, & + 5.7957546911950722e-06_r8, 5.7768586067511705e-06_r8, & + 5.5453044415856483e-06_r8, 5.3468451012734572e-06_r8, & + 5.0809589267958878e-06_r8, 4.8619458574842993e-06_r8, & + 4.7903862520637422e-06_r8, 5.1933232851437097e-06_r8, & + 5.9287128097880336e-06_r8, 6.4565269074629283e-06_r8, & + 7.3040768647919733e-06_r8, 8.7164934974078598e-06_r8, & + 1.4692890493326605e-05_r8, 2.2182744610997605e-05_r8, & + 3.4949044695970375e-05_r8, 5.6146990627987892e-05_r8, & + 8.1758401691107215e-05_r8, 0.00010786198677771046_r8, & + 0.00013317218802988141_r8, 0.00014812659714613478_r8, & + 0.00016016347912511586_r8, 0.000169336805277509_r8, & + 0.00018294525915933403_r8, 0.00020458993467959851_r8, & + 0.00022694374875022541_r8, 0.00023712388616641255_r8, & + 0.00024453596236146151_r8, 0.00024862096045835327_r8, & + 0.00025111565292801547_r8, 0.0002550347789031185_r8, & + 0.00025942132949840325_r8, 0.00026364455754405134_r8, & + 0.00026672808500417686_r8, 0.00026771840773855794_r8, & + 0.0002659177500171653_r8, 0.00026570180855606484_r8, & + 0.0002661658977246494_r8, 0.00026611545750990511_r8, & + 0.00026627962906356867_r8, 0.00026673472531836816_r8, 9e90_r8 & + / +data saar_ref(:,16,28) / & + 9.514156411423385e-06_r8, 9.4363071836705181e-06_r8, & + 9.3630510823594439e-06_r8, 7.0600847446760984e-06_r8, & + 7.0409183197699816e-06_r8, 7.1105211023153373e-06_r8, & + 7.2276173653425463e-06_r8, 7.1585780243215128e-06_r8, & + 7.0134344764531454e-06_r8, 6.8543178464213475e-06_r8, & + 6.7088846587769879e-06_r8, 7.4246526703861131e-06_r8, & + 7.9859118412487686e-06_r8, 8.4980686364261755e-06_r8, & + 9.2530776566733885e-06_r8, 1.0515527669780774e-05_r8, & + 1.751051331753808e-05_r8, 3.0387518215177119e-05_r8, & + 4.7944624747528173e-05_r8, 7.7931269669916019e-05_r8, & + 0.00011586876909709388_r8, 0.00014755067698927547_r8, & + 0.00016930065012712113_r8, 0.00018147030197339129_r8, & + 0.00018945937175364843_r8, 0.00019459060864673183_r8, & + 0.00020552037095013248_r8, 0.0002272630884352897_r8, & + 0.00025084566842457023_r8, 0.00026004383382616995_r8, & + 0.00026718158375449799_r8, 0.00026948799267451296_r8, & + 0.00027068731429974994_r8, 0.00027427648873664848_r8, & + 0.00027836797378748404_r8, 0.00028209063882934444_r8, & + 0.00028523943670281606_r8, 0.00028572460992413312_r8, & + 0.00028191001828377674_r8, 0.00027975510572890059_r8, & + 0.00027903255449528922_r8, 0.00027872886137257787_r8, & + 0.00027901997462236603_r8, 0.00028034998614943652_r8, 9e90_r8 & + / +data saar_ref(:,17,28) / & + 1.1055947678763397e-05_r8, 1.1065001154345257e-05_r8, & + 1.0557344998603242e-05_r8, 1.0289612988440756e-05_r8, & + 1.0406144322992296e-05_r8, 1.0589074261892135e-05_r8, & + 1.2379447864358006e-05_r8, 1.3315190351443911e-05_r8, & + 1.3073171649581964e-05_r8, 1.2772993355159392e-05_r8, & + 1.263416054324687e-05_r8, 1.3133698920624161e-05_r8, & + 1.2610632321012178e-05_r8, 1.1710181762332541e-05_r8, & + 1.2450717238397232e-05_r8, 1.3124056383680983e-05_r8, & + 2.257839684401694e-05_r8, 5.2544492949367581e-05_r8, & + 9.2282840314816505e-05_r8, 0.00013699234782674826_r8, & + 0.00017517294029874069_r8, 0.00019795558926225315_r8, & + 0.00021179628806445824_r8, 0.00022051705243968399_r8, & + 0.0002259485132705685_r8, 0.00023015155572580115_r8, & + 0.00023589411461044435_r8, 0.00025529688163191273_r8, & + 0.00027511869887607651_r8, 0.00028468509109760566_r8, & + 0.00029081218377096892_r8, 0.0002919083077740781_r8, & + 0.00029285338408501784_r8, 0.00029717190816563746_r8, & + 0.00030080900546124368_r8, 0.0003035139821036239_r8, & + 0.00030605627250880954_r8, 0.00030697989819521767_r8, & + 0.00030662487086952945_r8, 0.00030551710022046137_r8, & + 0.00030362182760441259_r8, 0.00029896533951434881_r8, & + 0.00029712139278518975_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,28) / & + 1.1186507856198702e-05_r8, 1.1303429012902653e-05_r8, & + 1.1032587544496607e-05_r8, 1.2607868923431396e-05_r8, & + 1.3013458021902753e-05_r8, 1.3483824063017422e-05_r8, & + 1.683953922991365e-05_r8, 1.9157041583284453e-05_r8, & + 2.1901100876818281e-05_r8, 2.5126562783472022e-05_r8, & + 2.673691082601505e-05_r8, 2.7142271628743056e-05_r8, & + 2.5716279447585815e-05_r8, 2.6383816206331714e-05_r8, & + 2.560602354914373e-05_r8, 2.5038548145926052e-05_r8, & + 4.2452459689805101e-05_r8, 9.1276696367519297e-05_r8, & + 0.0001435481503926786_r8, 0.00018380117167947449_r8, & + 0.00021099430933139887_r8, 0.00022750892754455667_r8, & + 0.00023856292887033237_r8, 0.00024717108026967949_r8, & + 0.00025249014589496122_r8, 0.00025665477366403072_r8, & + 0.00026109705782975629_r8, 0.00027681303440396594_r8, & + 0.00029447477320273537_r8, 0.00030262951129354744_r8, & + 0.00030771501179889462_r8, 0.00030966731210603943_r8, & + 0.00031127843366121806_r8, 0.00031487478660909701_r8, & + 0.00031793690611411766_r8, 0.00032049772581517699_r8, & + 0.00032238559781087942_r8, 0.00032172631837707892_r8, & + 0.00032040947327539973_r8, 0.00031862420040632824_r8, & + 0.00031653583615123289_r8, 0.00031359863062587888_r8, & + 0.00031183731564548531_r8, 0.00031052678695324203_r8, & + 0.0003096236577979509_r8 & + / +data saar_ref(:,19,28) / & + 1.1582310556081148e-05_r8, 1.1868652764291954e-05_r8, & + 1.2053898727911701e-05_r8, 1.3779698694445599e-05_r8, & + 1.4223900820271883e-05_r8, 1.5099047057458645e-05_r8, & + 2.0519262297118617e-05_r8, 2.6011626668844572e-05_r8, & + 3.4238051610188311e-05_r8, 4.3435021471724172e-05_r8, & + 5.0764389477941432e-05_r8, 5.6827262012149068e-05_r8, & + 6.5801852410649826e-05_r8, 7.2670623599241303e-05_r8, & + 7.4400739571602004e-05_r8, 7.5158093775707795e-05_r8, & + 0.00010102819708753775_r8, 0.00014541215073049185_r8, & + 0.0001833815053393607_r8, 0.00021199939434543612_r8, & + 0.00023589256432797904_r8, 0.0002533371054642683_r8, & + 0.00026571512138825733_r8, 0.0002743955220408374_r8, & + 0.00028075983918890809_r8, 0.0002854246150624484_r8, & + 0.00028893595572381144_r8, 0.00029938844672575864_r8, & + 0.00031057904938423055_r8, 0.00031749112228810058_r8, & + 0.00032309889720661739_r8, 0.00032633642770152159_r8, & + 0.0003293437833469458_r8, 0.00033212104800427709_r8, & + 0.00033415615369205019_r8, 0.00033487457909878198_r8, & + 0.00033517026250096181_r8, 0.00033420726437275404_r8, & + 0.00033247908140835944_r8, 0.00033067780688240348_r8, & + 0.00032865563611891776_r8, 0.00032651519281321346_r8, & + 0.00032485211683275494_r8, 0.00032362623285198773_r8, & + 0.00032380031979991817_r8 & + / +data saar_ref(:,20,28) / & + 1.2411779743059039e-05_r8, 1.3266595003129593e-05_r8, & + 1.369094242883386e-05_r8, 1.3582796647414811e-05_r8, & + 1.4334589192420913e-05_r8, 1.450073104633033e-05_r8, & + 2.3080868687286417e-05_r8, 3.9831350979367408e-05_r8, & + 5.6071944959373275e-05_r8, 7.0270609927998789e-05_r8, & + 8.2523447700165659e-05_r8, 9.3811948966525884e-05_r8, & + 0.00010676654146445468_r8, 0.00011466648076190314_r8, & + 0.00011746539960437547_r8, 0.00012067874476679619_r8, & + 0.00014286770828573207_r8, 0.00017319737078178119_r8, & + 0.00020335190683071921_r8, 0.00022906775532433867_r8, & + 0.00025242186812120699_r8, 0.00027029116738936347_r8, & + 0.0002837612793614321_r8, 0.00029311657644269827_r8, & + 0.00029957272849570561_r8, 0.00030405059147609146_r8, & + 0.00030816986922769412_r8, 0.0003174970109271912_r8, & + 0.00032644707638468092_r8, 0.00033295925338829572_r8, & + 0.00033901817708574333_r8, 0.00034333827882713141_r8, & + 0.00034767471763572316_r8, 0.0003500624088146417_r8, & + 0.00035138421127930595_r8, 0.00035113359339682744_r8, & + 0.0003502703129544993_r8, 0.00034929222783642292_r8, & + 0.00034792425310531221_r8, 0.00034688451160372314_r8, & + 0.00034618046684409341_r8, 0.00034547261040905266_r8, & + 0.00034577064994064603_r8, 0.00034501960248986405_r8, & + 0.00034319820537164142_r8 & + / +data saar_ref(:,21,28) / & + 1.3948598380016446e-05_r8, 1.6523673373706069e-05_r8, & + 1.4995753803347239e-05_r8, 1.3542977671781332e-05_r8, & + 1.2195344956082014e-05_r8, 1.7991117905855578e-05_r8, & + 2.9126626315269374e-05_r8, 4.5109892210252034e-05_r8, & + 6.3987530712846766e-05_r8, 7.5100385676534365e-05_r8, & + 9.4642754590525271e-05_r8, 0.00010480699829670294_r8, & + 0.00011252796957718288_r8, 0.00011605823074456094_r8, & + 0.00011672119241468521_r8, 0.00012038149590827978_r8, & + 0.00014170107873311315_r8, 0.00017140080322548918_r8, & + 0.00020253978192391362_r8, 0.00022928011885954287_r8, & + 0.00025441305780920885_r8, 0.00027272241402511832_r8, & + 0.00028862508842070124_r8, 0.00029936551316599045_r8, & + 0.0003056056191729298_r8, 0.00030982458917205754_r8, & + 0.00031449795103873925_r8, 0.00032498644248157155_r8, & + 0.00033479978172858805_r8, 0.00034140153553807116_r8, & + 0.00034724396237972404_r8, 0.00035164438160465908_r8, & + 0.00035632942621781859_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,28) / & + 1.8368611257133774e-05_r8, 1.8648785868368256e-05_r8, & + 1.5712095859874866e-05_r8, 1.8494311847856009e-05_r8, & + 2.2265799276008854e-05_r8, 2.6925974231966039e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,28) / & + 2.8859227389571083e-05_r8, 2.7593356360000663e-05_r8, & + 2.8377098720958657e-05_r8, 1.9335868194068446e-05_r8, & + 1.9827686075661806e-05_r8, 2.5556950997655479e-05_r8, & + 4.2183289541032296e-05_r8, 6.5159636986623947e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,28) / & + 2.1496963548986261e-05_r8, 2.024937379177021e-05_r8, & + 2.2351552873092085e-05_r8, 1.7872085673983984e-05_r8, & + 1.9730196288108603e-05_r8, 2.0546826181900257e-05_r8, & + 3.9652506739412089e-05_r8, 6.1285907893504849e-05_r8, & + 5.0912034177494117e-05_r8, 6.6679520966496156e-05_r8, & + 7.6284111326433047e-05_r8, 9.2393842104564148e-05_r8, & + 0.00011378401829960263_r8, 0.000132997125747296_r8, & + 0.0001553211446739517_r8, 0.00017685384570956586_r8, & + 0.00021416364286019492_r8, 0.00024423961764812637_r8, & + 0.00026675237939585212_r8, 0.00029241941438711992_r8, & + 0.00031030182028760024_r8, 0.00033833022152552283_r8, & + 0.00035797653878611992_r8, 0.00036426293498708566_r8, & + 0.00036344484714293467_r8, 0.00036078540213289265_r8, & + 0.00036066443658612664_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,28) / & + 2.4233678286670767e-05_r8, 2.2245893188962446e-05_r8, & + 2.2823764058278904e-05_r8, 2.3604413861934587e-05_r8, & + 2.4289150017057398e-05_r8, 2.4846925202505211e-05_r8, & + 3.3251205717986846e-05_r8, 4.8288674625098558e-05_r8, & + 5.6572515577716987e-05_r8, 6.9891731545620019e-05_r8, & + 8.0148866004564655e-05_r8, 9.2863666633663427e-05_r8, & + 0.00011699836261817407_r8, 0.00013707902445020517_r8, & + 0.00015778552689008928_r8, 0.00018813720386120551_r8, & + 0.00023452752966522186_r8, 0.00026540800353582996_r8, & + 0.00029491325484915729_r8, 0.00032702509224761611_r8, & + 0.00033401486820636595_r8, 0.00039032881045823406_r8, & + 0.00042572023115486265_r8, 0.00044404968022429124_r8, & + 0.00045431808556300004_r8, 0.00045868215248399838_r8, & + 0.00044939894062981134_r8, 0.00046497327105809219_r8, & + 0.00042689751285635751_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,28) / & + 9.8495924943783262e-06_r8, 9.1465915351267493e-06_r8, & + 9.1388929057133735e-06_r8, 1.0688707489769199e-05_r8, & + 1.1140129180143596e-05_r8, 1.6503463700760601e-05_r8, & + 2.3120641551296526e-05_r8, 2.0300022104786248e-05_r8, & + 2.5173036248783219e-05_r8, 2.857131591878564e-05_r8, & + 3.2637924904752205e-05_r8, 3.4640103329525072e-05_r8, & + 6.6591999359744521e-05_r8, 7.9915201291734687e-05_r8, & + 9.7890955001890393e-05_r8, 0.00014291355586091466_r8, & + 0.000238580532595502_r8, 0.00027477372905836654_r8, & + 0.00030594405697782296_r8, 0.0003363317099566315_r8, & + 0.00035322942047912931_r8, 0.00041260256030799562_r8, & + 0.00042008291500774227_r8, 0.00043844687161700052_r8, & + 0.00045833576310818237_r8, 0.00046103623917575202_r8, & + 0.00047203911069838958_r8, 0.00047830547575152872_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,28) / & + 6.8350479449363645e-06_r8, 6.1047872027973243e-06_r8, & + 6.0495403622137538e-06_r8, 7.015995802899184e-06_r8, & + 6.8975335109128798e-06_r8, 1.312766972936392e-05_r8, & + 1.7564890528042929e-05_r8, 1.4387749413775392e-05_r8, & + 1.5996430226137916e-05_r8, 1.8841763257408161e-05_r8, & + 2.2537998570942864e-05_r8, 2.2512368665840654e-05_r8, & + 5.4064222247227284e-05_r8, 6.6054015356561713e-05_r8, & + 6.6016309747203743e-05_r8, 0.00010373218401277021_r8, & + 0.00024246252068298128_r8, 0.00028018357664102842_r8, & + 0.00031177213051992395_r8, 0.00034698498877283509_r8, & + 0.00035574754616874527_r8, 0.00041759317131075129_r8, & + 0.00043891532747966194_r8, 0.00046414953146443482_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,28) / & + 7.4135144423551989e-06_r8, 6.4365848361487974e-06_r8, & + 5.9605350429845638e-06_r8, 7.4888721008930628e-06_r8, & + 6.8165079946514038e-06_r8, 1.2717434907388205e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,28) / & + 0.00014886065786572135_r8, 9.6962429665055214e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,28) / & + 4.9124652918886945e-05_r8, 4.8221480288530644e-05_r8, & + 5.2434583100318979e-05_r8, 5.9967672487952738e-05_r8, & + 6.1662206910212142e-05_r8, 6.9335802669607903e-05_r8, & + 6.191338310226473e-05_r8, 6.3124415963138148e-05_r8, & + 6.163868748783296e-05_r8, 5.8122103807021298e-05_r8, & + 5.4426965173086036e-05_r8, 5.358234501849941e-05_r8, & + 5.4646111096039776e-05_r8, 5.5138345760975372e-05_r8, & + 5.5410972399731306e-05_r8, 5.560674349076215e-05_r8, & + 5.6429659091143965e-05_r8, 5.8390951985891039e-05_r8, & + 6.005461372199591e-05_r8, 6.3500651426212653e-05_r8, & + 6.7219187673493724e-05_r8, 7.2893871204944796e-05_r8, & + 6.6559078446262098e-05_r8, 7.5632924429124934e-05_r8, & + 8.8344303219799577e-05_r8, 9.8304640130241673e-05_r8, & + 0.00010266609532041878_r8, 0.00010477782588660709_r8, & + 0.00010778936864508093_r8, 0.00010942707156851824_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,28) / & + 3.5061458100661356e-05_r8, 3.6882400982379018e-05_r8, & + 3.6647801328442434e-05_r8, 4.2655787076105704e-05_r8, & + 4.6364070889231292e-05_r8, 5.8533882862499846e-05_r8, & + 5.6285225688594916e-05_r8, 5.8260777259617957e-05_r8, & + 5.8999171306800439e-05_r8, 5.7024876840439959e-05_r8, & + 5.5644759378514657e-05_r8, 5.5596783569068667e-05_r8, & + 5.7826089576227727e-05_r8, 5.8049270357458683e-05_r8, & + 5.8748234448561829e-05_r8, 5.8902753339202454e-05_r8, & + 6.0017723998773752e-05_r8, 6.1608543533444256e-05_r8, & + 6.3975432969475129e-05_r8, 6.8783261024775317e-05_r8, & + 7.2047193011016102e-05_r8, 7.7104318947823731e-05_r8, & + 7.3232143567272145e-05_r8, 8.2141508556108275e-05_r8, & + 9.2803365240917032e-05_r8, 0.0001012998577697034_r8, & + 0.00010536040421105141_r8, 0.00010849220085925123_r8, & + 0.0001105896960150324_r8, 0.00011216648753117385_r8, & + 0.00011427201193290546_r8, 0.00011574247051881699_r8, & + 0.00011650138606482704_r8, 0.00011687989672968256_r8, & + 0.00011647978963882977_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,28) / & + 4.5422059864908461e-05_r8, 6.0208455988696729e-05_r8, & + 5.637480730538913e-05_r8, 6.1552412480607162e-05_r8, & + 6.0733443387111026e-05_r8, 7.0495191376488883e-05_r8, & + 5.9349349172945593e-05_r8, 5.6551853554396862e-05_r8, & + 5.917417801292373e-05_r8, 5.9506823183860272e-05_r8, & + 5.9110131124064631e-05_r8, 5.9316049177380835e-05_r8, & + 6.2350857835952457e-05_r8, 6.2682523386290708e-05_r8, & + 6.4257477691838225e-05_r8, 6.5428614065684976e-05_r8, & + 6.7222829035710403e-05_r8, 6.8235649702144067e-05_r8, & + 7.0791405882936155e-05_r8, 7.5490828372654607e-05_r8, & + 7.8821189780753324e-05_r8, 8.2343534959308982e-05_r8, & + 8.3353786985607798e-05_r8, 8.9568173485557429e-05_r8, & + 9.7130715146038349e-05_r8, 0.00010343301877413879_r8, & + 0.00010835404978802857_r8, 0.00011558913501615352_r8, & + 0.00011288546348194701_r8, 0.00011448350769527857_r8, & + 0.00011597360323218932_r8, 0.00011648933579874924_r8, & + 0.00011826644671982526_r8, 0.00011784077040294508_r8, & + 0.00011809601505502833_r8, 0.00011839487570851802_r8, & + 0.00012057925068327931_r8, 0.00012140692970535491_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,28) / & + 6.3592725487633941e-05_r8, 9.7285996373647665e-05_r8, & + 8.9699961163880457e-05_r8, 0.00011457390696602748_r8, & + 0.00010763389415195273_r8, 0.00012089037553064631_r8, & + 8.6450304821147341e-05_r8, 6.4301463600935344e-05_r8, & + 6.0175492487446392e-05_r8, 6.1411548894552245e-05_r8, & + 6.2185522356261803e-05_r8, 6.4547154478301303e-05_r8, & + 6.7011250984363473e-05_r8, 6.8415320348842371e-05_r8, & + 7.0026838821136273e-05_r8, 7.1738520691636898e-05_r8, & + 7.2411188267426587e-05_r8, 7.2991306207235762e-05_r8, & + 7.5391821530191704e-05_r8, 7.8992982443843812e-05_r8, & + 8.1900784745734878e-05_r8, 8.5657248430292122e-05_r8, & + 8.9427196341298251e-05_r8, 9.4331830202985732e-05_r8, & + 0.00010029438304370766_r8, 0.00010547476589976352_r8, & + 0.00011192907358864488_r8, 0.00012147403216057726_r8, & + 0.00011822967072687257_r8, 0.00011789485055596216_r8, & + 0.0001188367582420755_r8, 0.00011903639853320401_r8, & + 0.00012023823911786147_r8, 0.00011994609627008322_r8, & + 0.00012058924918462745_r8, 0.00012124721420408093_r8, & + 0.00012415532006659175_r8, 0.00012458518460540087_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,29) / & + 0.00010703824768503108_r8, 0.00010738562651934575_r8, & + 0.00013248121735851052_r8, 0.00011546729636377876_r8, & + 0.00011904592419978752_r8, 8.9586109257842403e-05_r8, & + 0.00010868910917699935_r8, 0.00012877849530798968_r8, & + 0.00014152199157929483_r8, 0.00015085496313267107_r8, & + 0.00015690868005595131_r8, 0.00016662681074659457_r8, & + 0.00017495905366924708_r8, 0.00018033628337707922_r8, & + 0.00018603538556867392_r8, 0.00019161115241116887_r8, & + 0.0002012986192871381_r8, 0.00020795110208685395_r8, & + 0.00021427701403242376_r8, 0.00021968026706462943_r8, & + 0.00022502996439573668_r8, 0.00023375089556117612_r8, & + 0.00023783729536520904_r8, 0.00024286059543431637_r8, & + 0.00024708786135573977_r8, 0.00025049380624438616_r8, & + 0.00025256195819450215_r8, 0.00025733423592010627_r8, & + 0.0002596767392390359_r8, 0.00026078365380073089_r8, & + 0.00026141975772785918_r8, 0.0002608752847372952_r8, & + 0.00025984408927989041_r8, 0.00025642379158365435_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,29) / & + 7.4279715272361995e-05_r8, 7.5096877232458848e-05_r8, & + 9.7905841569785327e-05_r8, 8.4702915920352383e-05_r8, & + 9.0112452259412965e-05_r8, 6.9781793900770646e-05_r8, & + 8.8730873210437307e-05_r8, 0.00010969451533503937_r8, & + 0.0001214256432793733_r8, 0.00013021427877855661_r8, & + 0.00013790903416337804_r8, 0.00015393640284352359_r8, & + 0.0001680869950252637_r8, 0.00017232944043319532_r8, & + 0.00017568069853441271_r8, 0.00017871724661614203_r8, & + 0.00018374574756209173_r8, 0.0001881552391357406_r8, & + 0.00019284743428874619_r8, 0.00019763752293360193_r8, & + 0.00020306194335388639_r8, 0.00021061454933776852_r8, & + 0.00021593203792077769_r8, 0.00022150273034598567_r8, & + 0.00022703397759976686_r8, 0.00023208416329637625_r8, & + 0.00023663690040087715_r8, 0.00024557630719632535_r8, & + 0.000252781422519216_r8, 0.00025807784991772821_r8, & + 0.00026213879348116129_r8, 0.00026478902310476488_r8, & + 0.00026555659969743301_r8, 0.00026474545106747199_r8, & + 0.00026424139238928715_r8, 0.00026494989530296653_r8, & + 0.00026413259156417166_r8, 0.00026169300338826603_r8, & + 0.000250917502898341_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,29) / & + 4.8706424931288179e-05_r8, 4.9135458341516219e-05_r8, & + 4.8110174592663831e-05_r8, 4.128423757869348e-05_r8, & + 4.4106074265617752e-05_r8, 3.8219433791692706e-05_r8, & + 4.787017874875677e-05_r8, 6.3085847153867763e-05_r8, & + 7.458392434228895e-05_r8, 8.5407153055009439e-05_r8, & + 9.553744155766061e-05_r8, 0.0001146008755914113_r8, & + 0.00013518155053326584_r8, 0.0001461153910899391_r8, & + 0.00015330324937015057_r8, 0.00015839795574489556_r8, & + 0.00016339266129549761_r8, 0.0001672469607065921_r8, & + 0.00016976748872241484_r8, 0.00017216370121905843_r8, & + 0.00017477887808279601_r8, 0.00018243640279307628_r8, & + 0.00018665472929750419_r8, 0.00019100319031132719_r8, & + 0.00019602878921905784_r8, 0.0002017399806784658_r8, & + 0.00020771833836479229_r8, 0.00022293132467002445_r8, & + 0.00023597942364256679_r8, 0.00024693208399271269_r8, & + 0.00025611328072725208_r8, 0.00026555276430013014_r8, & + 0.00027197049893544262_r8, 0.00027478584249263018_r8, & + 0.00027405890986240502_r8, 0.00027121740335307959_r8, & + 0.00026914373338453009_r8, 0.0002656865519565826_r8, & + 0.0002587522961230935_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,29) / & + 3.795558705152655e-05_r8, 3.758352226205444e-05_r8, & + 2.3971050617546255e-05_r8, 2.8915073794541336e-05_r8, & + 2.9375678814939743e-05_r8, 2.8995801182957592e-05_r8, & + 3.1993961889302208e-05_r8, 3.74016126850346e-05_r8, & + 4.7373041429742017e-05_r8, 5.781450876104537e-05_r8, & + 6.8198187046713811e-05_r8, 7.894381120647979e-05_r8, & + 9.7831528999544357e-05_r8, 0.00011416372379179004_r8, & + 0.00012597532904099921_r8, 0.00013531238536964693_r8, & + 0.00014561773013110942_r8, 0.00015384843142274973_r8, & + 0.00015875203477386132_r8, 0.00016291168385824714_r8, & + 0.00016499793943740754_r8, 0.00016940410905257443_r8, & + 0.00017305775399342144_r8, 0.00017668766846301614_r8, & + 0.00018051195591188855_r8, 0.00018518411027931671_r8, & + 0.00018992695512654804_r8, 0.00020698255035295316_r8, & + 0.00022290737480849655_r8, 0.00023684516684328023_r8, & + 0.000248908276227449_r8, 0.00025959715593500371_r8, & + 0.00026832896451904647_r8, 0.00027388440204458318_r8, & + 0.00027463722927733187_r8, 0.00027297032844597467_r8, & + 0.00027008262166794411_r8, 0.00026810498242203903_r8, & + 0.00026541786325304614_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,29) / & + 2.6293530863754547e-05_r8, 2.4751340218475185e-05_r8, & + 1.3574205628356752e-05_r8, 1.8479750957979957e-05_r8, & + 1.8571346498667068e-05_r8, 1.8829175404294447e-05_r8, & + 2.044555137169559e-05_r8, 2.3524759243067665e-05_r8, & + 2.8448392686730602e-05_r8, 3.3363322747238744e-05_r8, & + 3.785699522633608e-05_r8, 4.2887723661247284e-05_r8, & + 5.2557180575480626e-05_r8, 6.255881482531366e-05_r8, & + 7.0675840748017033e-05_r8, 7.9489751142762543e-05_r8, & + 9.2535707007577504e-05_r8, 0.00010586307416977038_r8, & + 0.00011736391233774736_r8, 0.00012858189306089201_r8, & + 0.000136843002281185_r8, 0.00014249947613780202_r8, & + 0.00014961510782524333_r8, 0.00015515397051784146_r8, & + 0.00016026573957832554_r8, 0.00016519175342913565_r8, & + 0.00016970831863616907_r8, 0.0001820877512576736_r8, & + 0.00019487343617011197_r8, 0.00021074123957499672_r8, & + 0.00022651095970834648_r8, 0.00024095670884339727_r8, & + 0.00025163441473000591_r8, 0.00025817780239678634_r8, & + 0.00026540272352516104_r8, 0.00026353728618722056_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,29) / & + 1.4048796911036572e-05_r8, 1.2293631986408314e-05_r8, & + 5.9316828839693828e-06_r8, 7.3725200220538232e-06_r8, & + 7.394834323095475e-06_r8, 7.5351136986437743e-06_r8, & + 8.2588151935287637e-06_r8, 9.0513440004351441e-06_r8, & + 1.0326499361097727e-05_r8, 1.1551176429331009e-05_r8, & + 1.2668926548114894e-05_r8, 1.3006803752638032e-05_r8, & + 1.3548548939758181e-05_r8, 1.5271044840011604e-05_r8, & + 1.7064338765554377e-05_r8, 1.9662643023522096e-05_r8, & + 2.5247440510754082e-05_r8, 3.4331008990895743e-05_r8, & + 4.4448755813296794e-05_r8, 5.7460020226639993e-05_r8, & + 7.0534750744813212e-05_r8, 8.3505844226630587e-05_r8, & + 9.838858080750709e-05_r8, 0.00011125920371931347_r8, & + 0.00012363819875627454_r8, 0.00013496320881288871_r8, & + 0.00014371783319365398_r8, 0.00016156726231408063_r8, & + 0.00017069528245910234_r8, 0.00018086855226984134_r8, & + 0.00019284141071227486_r8, 0.00020793184305216395_r8, & + 0.00022671299980705904_r8, 0.00023723157809579058_r8, & + 0.00024529498550982919_r8, 0.00025111605245693063_r8, & + 0.00025877005782479168_r8, 0.00026252203073068336_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,29) / & + 7.0705238009656178e-06_r8, 6.1318908940574601e-06_r8, & + 2.605603191634406e-06_r8, 3.921701209908113e-06_r8, & + 4.0133401281284086e-06_r8, 4.0853603310057413e-06_r8, & + 4.3588180972264343e-06_r8, 4.9393218651698363e-06_r8, & + 5.4633721665053417e-06_r8, 5.8789073890670166e-06_r8, & + 6.2345931890273365e-06_r8, 6.6169329687311879e-06_r8, & + 7.3260562630577807e-06_r8, 7.6997541893189444e-06_r8, & + 8.0936753644231286e-06_r8, 8.5842468609776938e-06_r8, & + 1.0228856715984034e-05_r8, 1.3951757539904757e-05_r8, & + 1.9604134937940325e-05_r8, 2.9799895309346775e-05_r8, & + 4.26086408736845e-05_r8, 5.742094550411807e-05_r8, & + 7.3369585501725155e-05_r8, 9.0576106101701475e-05_r8, & + 0.00010780342878775556_r8, 0.00012372263631055865_r8, & + 0.00013725169367505342_r8, 0.00016311843668971978_r8, & + 0.00017599249970656988_r8, 0.00018755328304640825_r8, & + 0.00019587268573163227_r8, 0.00020513285754494739_r8, & + 0.0002201993351418325_r8, 0.00023313505715002872_r8, & + 0.00024468142007831167_r8, 0.00025352496760452443_r8, & + 0.00026004603807685476_r8, 0.00026303910133516342_r8, & + 0.00026421159350517186_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,29) / & + 4.3797188885949446e-06_r8, 4.4496566043057328e-06_r8, & + 2.7783087111913143e-06_r8, 3.6546405460942629e-06_r8, & + 3.9775253056296142e-06_r8, 3.9792316200353389e-06_r8, & + 3.4979412551767379e-06_r8, 3.3618679300816526e-06_r8, & + 3.7500387609215597e-06_r8, 4.0216284005076542e-06_r8, & + 4.2196317446532379e-06_r8, 4.5425934658092966e-06_r8, & + 5.2264534851164319e-06_r8, 6.0175712330906596e-06_r8, & + 6.696085106096218e-06_r8, 7.4378248619308998e-06_r8, & + 9.2373319541912026e-06_r8, 1.2556499180812094e-05_r8, & + 1.9205555807433457e-05_r8, 3.044329135718204e-05_r8, & + 4.5713888081570957e-05_r8, 6.353569286386995e-05_r8, & + 8.2716005190053328e-05_r8, 0.00010180633155961447_r8, & + 0.00011886259213932785_r8, 0.0001332955031839802_r8, & + 0.00014623055368758934_r8, 0.00017462181959515058_r8, & + 0.00018883720082789974_r8, 0.00020338660326761217_r8, & + 0.00021204606698912483_r8, 0.00021919396639162472_r8, & + 0.00022779965893459162_r8, 0.00023635073967966178_r8, & + 0.00024623783936772111_r8, 0.00025399221935269744_r8, & + 0.00025800617392045819_r8, 0.00026117164343490679_r8, & + 0.00026289110333530815_r8, 0.0002636114010753766_r8, & + 0.000264045454844602_r8, 0.00026402505330985841_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,29) / & + 5.0468559691191078e-06_r8, 5.0103003883457744e-06_r8, & + 4.5448249246626867e-06_r8, 4.7818801056579515e-06_r8, & + 4.9143537140219461e-06_r8, 4.964758019664891e-06_r8, & + 4.681812157779193e-06_r8, 4.2838186097342865e-06_r8, & + 4.0631498921183985e-06_r8, 4.0076466366355557e-06_r8, & + 4.0162847914915565e-06_r8, 4.0483440830304413e-06_r8, & + 4.5569407837973458e-06_r8, 5.5814336898270796e-06_r8, & + 6.7963640665815056e-06_r8, 8.1330691832929682e-06_r8, & + 1.2126219036671615e-05_r8, 1.8316298256021245e-05_r8, & + 3.0331599696486651e-05_r8, 4.9452790604447368e-05_r8, & + 7.1240419673835033e-05_r8, 9.5027031319811135e-05_r8, & + 0.00011570581669598545_r8, 0.00013204903181358684_r8, & + 0.00014460714483218023_r8, 0.00015485833317644139_r8, & + 0.00016578207981348046_r8, 0.00019316600825064112_r8, & + 0.00020969608582865827_r8, 0.00022463082405729966_r8, & + 0.000232470642864133_r8, 0.00023784981512968954_r8, & + 0.00024260917540745486_r8, 0.00024800409044182815_r8, & + 0.00025449568749702495_r8, 0.00025919529986406786_r8, & + 0.00026197533821626778_r8, 0.00026356046105819719_r8, & + 0.00026382062419624255_r8, 0.00026458548722992141_r8, & + 0.00026485647988563275_r8, 0.00026404130431716371_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,29) / & + 6.1040555574782553e-06_r8, 5.9579027227369768e-06_r8, & + 6.0188570208802193e-06_r8, 5.5780932482618696e-06_r8, & + 5.5508909454638574e-06_r8, 5.4432205377458016e-06_r8, & + 5.224769338000968e-06_r8, 4.9371418750191803e-06_r8, & + 4.6901632229216847e-06_r8, 4.5143125109537692e-06_r8, & + 4.4089479530402553e-06_r8, 4.3854848332344978e-06_r8, & + 4.7686073652885595e-06_r8, 5.7964229506556523e-06_r8, & + 7.1189115246434744e-06_r8, 9.5302206609129599e-06_r8, & + 1.6350589932233602e-05_r8, 2.4753081090242697e-05_r8, & + 3.8691369815920399e-05_r8, 5.9243695460019985e-05_r8, & + 8.4512887858355406e-05_r8, 0.00010897723852014497_r8, & + 0.0001308775055385366_r8, 0.00014360271374489495_r8, & + 0.0001532853888456139_r8, 0.0001615287888860816_r8, & + 0.00017356951490577808_r8, 0.00019832604579685578_r8, & + 0.0002248354318017901_r8, 0.00023573381981669238_r8, & + 0.00024391245481913794_r8, 0.0002480726372203068_r8, & + 0.00025152785455994405_r8, 0.00025655218532942542_r8, & + 0.00026192536872199124_r8, 0.00026566843245153041_r8, & + 0.00026837470580974348_r8, 0.00026907660989834833_r8, & + 0.00026662409871119653_r8, 0.00026611443028218339_r8, & + 0.00026612117182369695_r8, 0.00026635151713635637_r8, & + 0.00026625352138446543_r8, 0.00026647780062862041_r8, 9e90_r8 & + / +data saar_ref(:,16,29) / & + 7.7316294037996049e-06_r8, 7.4556632554844705e-06_r8, & + 7.5232068773467055e-06_r8, 8.323557161668515e-06_r8, & + 8.1683947802975166e-06_r8, 8.1436422603551845e-06_r8, & + 8.4951645333171998e-06_r8, 8.0259359422101716e-06_r8, & + 7.3730616961091586e-06_r8, 7.1419412682655359e-06_r8, & + 6.850978613290564e-06_r8, 6.7531405590028596e-06_r8, & + 6.746459054535731e-06_r8, 7.6048806421710385e-06_r8, & + 8.6890557994065426e-06_r8, 1.0496786727519584e-05_r8, & + 1.6700889584019623e-05_r8, 2.9541032241833095e-05_r8, & + 5.1964649039087251e-05_r8, 8.1117889547990975e-05_r8, & + 0.00011726489291114299_r8, 0.00014440298131232458_r8, & + 0.00016616010234104007_r8, 0.00017715601018873954_r8, & + 0.00018338481424932501_r8, 0.00018884480957506101_r8, & + 0.00019898857659877154_r8, 0.00021946114878016045_r8, & + 0.00024864796271536387_r8, 0.00025705512211658546_r8, & + 0.0002650132858200519_r8, 0.00026783795622360989_r8, & + 0.00026936193289887824_r8, 0.00027324378032988692_r8, & + 0.00027811416403735113_r8, 0.00028233811853604419_r8, & + 0.00028556283163682516_r8, 0.00028610151510293121_r8, & + 0.00028205376418914598_r8, 0.00027970755364898248_r8, & + 0.00027919456287640301_r8, 0.00027944320955343449_r8, & + 0.00027976356481702555_r8, 0.00028034998614943652_r8, 9e90_r8 & + / +data saar_ref(:,17,29) / & + 9.9208814885871725e-06_r8, 9.9096231849218702e-06_r8, & + 9.886444458211483e-06_r8, 1.0255268558972127e-05_r8, & + 1.0818198151893096e-05_r8, 1.1541640336057472e-05_r8, & + 1.3992833155615751e-05_r8, 1.4615495976325654e-05_r8, & + 1.5094604852340768e-05_r8, 1.5793930545680024e-05_r8, & + 1.5968418456770293e-05_r8, 1.6253789950348731e-05_r8, & + 1.5791542248162393e-05_r8, 1.6334840764339236e-05_r8, & + 1.7230012010586769e-05_r8, 1.7688153992292304e-05_r8, & + 3.2623211412498255e-05_r8, 7.1404417089681758e-05_r8, & + 0.00011676882033875013_r8, 0.00015793890626924421_r8, & + 0.00018665614627858855_r8, 0.00020439042782337334_r8, & + 0.00021590866921283641_r8, 0.00022508810258241324_r8, & + 0.00023056111842671261_r8, 0.0002349142193452163_r8, & + 0.00024134545492396697_r8, 0.00025968501632094525_r8, & + 0.00027911879865014007_r8, 0.00028791888309660047_r8, & + 0.00029286235401759883_r8, 0.00029393771438509863_r8, & + 0.00029463802423531846_r8, 0.0002980697675213525_r8, & + 0.00030190747940266358_r8, 0.00030478928408709144_r8, & + 0.00030720386496937096_r8, 0.00030855264518536756_r8, & + 0.00030886080315505716_r8, 0.00030865906552136408_r8, & + 0.00030707574732386173_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,29) / & + 1.0738299720276284e-05_r8, 1.097468311972866e-05_r8, & + 1.1169748774700385e-05_r8, 1.0421560934460735e-05_r8, & + 1.0811520484076273e-05_r8, 1.1789497845055623e-05_r8, & + 1.5008804009340687e-05_r8, 1.7657305205186245e-05_r8, & + 2.1460035046463335e-05_r8, 2.6132196518302922e-05_r8, & + 2.8385500873980346e-05_r8, 3.0176363909349537e-05_r8, & + 3.0903813969093745e-05_r8, 3.054415042817992e-05_r8, & + 2.9501900058576753e-05_r8, 3.033057952773803e-05_r8, & + 5.8691756703605745e-05_r8, 0.00010937278819204175_r8, & + 0.00015710080495905479_r8, 0.00019172451150799196_r8, & + 0.00021573368470288769_r8, 0.00023149225667558118_r8, & + 0.00024279847280955899_r8, 0.0002512325505167794_r8, & + 0.0002570941203512656_r8, 0.00026232702539715007_r8, & + 0.00026787987638152535_r8, 0.00028166458512723447_r8, & + 0.00029757891952143984_r8, 0.00030682285590678354_r8, & + 0.00031171296736536854_r8, 0.00031402898143266582_r8, & + 0.00031539337771082461_r8, 0.00031749919965441079_r8, & + 0.00031934465840564191_r8, 0.00032070725045605676_r8, & + 0.0003215368057308491_r8, 0.00032128392802589952_r8, & + 0.00032068665353187118_r8, 0.00031888862989273218_r8, & + 0.00031718575387754594_r8, 0.00031438432169480932_r8, & + 0.00031282158402011891_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,29) / & + 1.1251601891227039e-05_r8, 1.1660753391123359e-05_r8, & + 1.2124510532743269e-05_r8, 1.2587895207116954e-05_r8, & + 1.2885121250230924e-05_r8, 1.3842221607925106e-05_r8, & + 1.9621888569790319e-05_r8, 2.5503981408788254e-05_r8, & + 3.4313524021719905e-05_r8, 4.4280967749904507e-05_r8, & + 5.1245468056479867e-05_r8, 5.7771176864031768e-05_r8, & + 6.6124766064737882e-05_r8, 7.0061056496966101e-05_r8, & + 7.2336471530276095e-05_r8, 7.6720151362950992e-05_r8, & + 0.00010830511589612103_r8, 0.00015152996471841802_r8, & + 0.00018849468397610439_r8, 0.00021636082824341048_r8, & + 0.00023825882353954042_r8, 0.00025487482668806602_r8, & + 0.00026619170773436757_r8, 0.00027472372282119666_r8, & + 0.00028151511772950098_r8, 0.00028671423258491355_r8, & + 0.00029086539470773943_r8, 0.00030137978221926224_r8, & + 0.00031275254447442401_r8, 0.0003202268236090925_r8, & + 0.00032574885736880751_r8, 0.0003290485054208114_r8, & + 0.00033166384306086293_r8, 0.00033340214745828934_r8, & + 0.00033459563316125463_r8, 0.00033436602254406325_r8, & + 0.00033407254011367436_r8, 0.00033364583572179578_r8, & + 0.00033342753147232797_r8, 0.0003320192843255623_r8, & + 0.00033019415973756466_r8, 0.00032878838233108655_r8, & + 0.00032760050686289572_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,29) / & + 1.1912163347646399e-05_r8, 1.2588568989466109e-05_r8, & + 1.335192318191856e-05_r8, 1.3953086459742631e-05_r8, & + 1.4019054770742848e-05_r8, 1.4476578049802969e-05_r8, & + 2.4329419483885247e-05_r8, 3.8734134406771356e-05_r8, & + 5.3772713253022711e-05_r8, 6.6466658049461625e-05_r8, & + 7.9028841147269312e-05_r8, 9.2120269638893847e-05_r8, & + 0.00010656525425801905_r8, 0.0001171615736402779_r8, & + 0.00012172749632257113_r8, 0.00012721235937400674_r8, & + 0.00014786091542238659_r8, 0.00017747515518102479_r8, & + 0.00020624820238585799_r8, 0.00023098704473509997_r8, & + 0.00025148343309887175_r8, 0.00027059500931035229_r8, & + 0.00028250258915337356_r8, 0.00029248244601547319_r8, & + 0.00030019641718689524_r8, 0.00030488773179015565_r8, & + 0.0003089218247721574_r8, 0.00031837090109201215_r8, & + 0.00032739183786965079_r8, 0.0003338689903443152_r8, & + 0.00033999521778773918_r8, 0.00034405355952558725_r8, & + 0.00034801580360487228_r8, 0.00034989509833817405_r8, & + 0.00035088505013214236_r8, 0.00035035020712003963_r8, & + 0.00034988517006847935_r8, 0.00034953840872155463_r8, & + 0.00034937062466465707_r8, 0.00034793118116993783_r8, & + 0.00034603677752348947_r8, 0.00034557276565196299_r8, & + 0.00034622320743919716_r8, 0.00034416869162838635_r8, & + 0.00034280419665098732_r8 & + / +data saar_ref(:,21,29) / & + 1.6983067705362384e-05_r8, 1.9612152313519949e-05_r8, & + 1.6750773739570242e-05_r8, 1.4441001262358502e-05_r8, & + 1.2231943121664373e-05_r8, 1.9346804545438118e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,29) / & + 1.8591981494770568e-05_r8, 2.0878962605739346e-05_r8, & + 1.7631034346603728e-05_r8, 1.694508093762861e-05_r8, & + 1.4100113061092417e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,29) / & + 2.2409342435557634e-05_r8, 2.1113417754457528e-05_r8, & + 2.0791475081169511e-05_r8, 1.3810831628118734e-05_r8, & + 1.5959690367526025e-05_r8, 1.6870450495278406e-05_r8, & + 3.5473775585636531e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,29) / & + 1.7238525773583606e-05_r8, 1.6087254919147234e-05_r8, & + 1.6202424800611603e-05_r8, 1.5010282143702667e-05_r8, & + 1.6655024182351938e-05_r8, 1.7612909807211357e-05_r8, & + 3.2512164787601069e-05_r8, 4.5643666469781906e-05_r8, & + 5.053525524330747e-05_r8, 6.4193460371362505e-05_r8, & + 7.4687796401154779e-05_r8, 8.8162427862273755e-05_r8, & + 0.0001105267212789833_r8, 0.00013033486228636302_r8, & + 0.00015107727621727996_r8, 0.00017085074580627986_r8, & + 0.00020838573739922648_r8, 0.00023728941252460878_r8, & + 0.00026095621055508792_r8, 0.00028904103610065168_r8, & + 0.00030652924462265871_r8, 0.00032820069665908747_r8, & + 0.00035384978843566798_r8, 0.00036258915446747518_r8, & + 0.00036764823731618839_r8, 0.00037368115747373186_r8, & + 0.00039853918003304609_r8, 0.00041709533038632976_r8, & + 0.00040578668547924812_r8, 0.00039916300723085059_r8, & + 0.00040203845302334243_r8, 0.00041425713424924737_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,29) / & + 1.9079792977163749e-05_r8, 1.7156615919560742e-05_r8, & + 1.7815005088457292e-05_r8, 1.7578214307421747e-05_r8, & + 1.9355386455596877e-05_r8, 2.0619853084792108e-05_r8, & + 2.6642766604272494e-05_r8, 4.1615964586845999e-05_r8, & + 5.2787032499948019e-05_r8, 6.2636876957080536e-05_r8, & + 7.3543930968694195e-05_r8, 8.3648177650660752e-05_r8, & + 0.00010940710974810732_r8, 0.00012874106004191505_r8, & + 0.00014818354247214704_r8, 0.00017678100116526777_r8, & + 0.00022635572365364216_r8, 0.00026483108410918716_r8, & + 0.00029456433006512213_r8, 0.00032250274050397_r8, & + 0.00034488897255369655_r8, 0.00039328221966794909_r8, & + 0.00041087944795701285_r8, 0.00043133205231648842_r8, & + 0.00045215333452032258_r8, 0.00046069327610912881_r8, & + 0.00046794409364398799_r8, 0.00048103236810550923_r8, & + 0.00046178387338115912_r8, 0.00045023525924054922_r8, & + 0.00043617712660987834_r8, 0.00041417545873611119_r8, & + 0.0003592623413910373_r8, 0.00033965353923627036_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,29) / & + 1.1159561318972534e-05_r8, 1.0122534687713e-05_r8, & + 1.0152720637577078e-05_r8, 1.1055481401812814e-05_r8, & + 1.1894718968366599e-05_r8, 1.5283940435097993e-05_r8, & + 2.1476594310058711e-05_r8, 2.5722615368872794e-05_r8, & + 3.019128191605721e-05_r8, 3.5223952006106493e-05_r8, & + 4.2377766353119396e-05_r8, 4.6601027225429562e-05_r8, & + 7.5569691485012107e-05_r8, 9.311734890020099e-05_r8, & + 0.00010678508506982127_r8, 0.00014466618259282785_r8, & + 0.00023587586113808868_r8, 0.00027338645358268538_r8, & + 0.00030482280323646552_r8, 0.00033444300276183928_r8, & + 0.00035296979577210166_r8, 0.0004128283468157357_r8, & + 0.00042178414457921478_r8, 0.0004415665684759311_r8, & + 0.00046658530410639593_r8, 0.00047290388771831742_r8, & + 0.0004846217448978749_r8, 0.00048931368555028322_r8, & + 0.00049476754475300249_r8, 0.00046776014267019484_r8, & + 0.00045266560881607345_r8, 0.00042903546772390212_r8, & + 0.00037189745322949776_r8, 0.0003567971181386981_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,29) / & + 7.4455015233343441e-06_r8, 6.8293054550761482e-06_r8, & + 6.2612555011780911e-06_r8, 6.5911669705485817e-06_r8, & + 7.067698911350393e-06_r8, 1.163021299180302e-05_r8, & + 1.8584448182243305e-05_r8, 1.6346855448641569e-05_r8, & + 1.7141303902465771e-05_r8, 2.059209646372993e-05_r8, & + 2.5100053649549396e-05_r8, 2.7438783220839971e-05_r8, & + 4.9331357102511359e-05_r8, 6.5616519277576522e-05_r8, & + 8.2204550276126451e-05_r8, 0.00010106958626475684_r8, & + 0.00023934270848842502_r8, 0.0002784982443669419_r8, & + 0.00031150931478423759_r8, 0.00034447227274422864_r8, & + 0.00035713073201895646_r8, 0.00041689463585846452_r8, & + 0.00043964718672061921_r8, 0.00046206811772159576_r8, & + 0.00048973079122613275_r8, 0.00050087032462578767_r8, & + 0.00052322562818377918_r8, 0.00051295424740972859_r8, & + 0.0005045747444875102_r8, 0.00048075715707220697_r8, & + 0.00046494619116662115_r8, 0.00044022088196532359_r8, & + 0.00037841798167609169_r8, 0.00037254145179895052_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,29) / & + 1.0277954919492294e-05_r8, 9.3419980884549655e-06_r8, & + 7.6600912369633726e-06_r8, 7.8521092153318436e-06_r8, & + 9.369998992125049e-06_r8, 1.2394743252368111e-05_r8, & + 1.8211404590204379e-05_r8, 1.8656165262430838e-05_r8, & + 2.0796914332510592e-05_r8, 2.6307904227493348e-05_r8, & + 3.276834389256931e-05_r8, 4.1485401300031745e-05_r8, & + 6.3384029474267904e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,29) / & + 0.00012517729883189391_r8, 8.934343637996797e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,29) / & + 4.8333621816679906e-05_r8, 4.7940359897356707e-05_r8, & + 5.1498822811017814e-05_r8, 5.8247284243944828e-05_r8, & + 5.8367719295417322e-05_r8, 6.6209736771713737e-05_r8, & + 5.9433200251625955e-05_r8, 6.1905545438565934e-05_r8, & + 6.0908562521483692e-05_r8, 6.0549806037897715e-05_r8, & + 5.5870403983343128e-05_r8, 5.4312831183904288e-05_r8, & + 5.3737146170896463e-05_r8, 5.5106138915974661e-05_r8, & + 5.5307312906220212e-05_r8, 5.5550184871905831e-05_r8, & + 5.6939781468962686e-05_r8, 5.8702670823573259e-05_r8, & + 5.9999920930498486e-05_r8, 6.2923949750698369e-05_r8, & + 6.6406795175745414e-05_r8, 7.2564093086821974e-05_r8, & + 6.6269541943069277e-05_r8, 7.421229307326207e-05_r8, & + 8.8089112582244095e-05_r8, 9.8583173545960332e-05_r8, & + 0.00010399200569734626_r8, 0.00010488871342171561_r8, & + 0.00010796441523397962_r8, 0.00010960960748217666_r8, & + 0.00011160959148295157_r8, 0.00011300460642007655_r8, & + 0.0001132900347525828_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,29) / & + 3.4961504121630887e-05_r8, 3.9286596400370946e-05_r8, & + 3.8363540948669693e-05_r8, 4.4020465390156305e-05_r8, & + 4.7032664847621333e-05_r8, 5.9257501561380616e-05_r8, & + 5.6702462864047892e-05_r8, 5.8024672560085361e-05_r8, & + 5.9276638472911368e-05_r8, 5.8842492183794748e-05_r8, & + 5.717330475058004e-05_r8, 5.638979596814495e-05_r8, & + 5.7715144611415404e-05_r8, 5.8066662024471175e-05_r8, & + 5.8824598436950871e-05_r8, 5.9054897496540303e-05_r8, & + 6.0643489825037222e-05_r8, 6.1975904912641878e-05_r8, & + 6.4182585227994568e-05_r8, 6.8808681969676053e-05_r8, & + 7.1977243133951576e-05_r8, 7.7416621352240309e-05_r8, & + 7.4051659771295851e-05_r8, 8.2555759535035694e-05_r8, & + 9.3501778917156819e-05_r8, 0.00010181777121352105_r8, & + 0.00010640534815360841_r8, 0.00010885606207430909_r8, & + 0.00011058239508856202_r8, 0.00011220573644694481_r8, & + 0.00011410882578006522_r8, 0.00011557728086468961_r8, & + 0.00011624600800025341_r8, 0.00011661162965717393_r8, & + 0.0001158799467532082_r8, 0.00011552754263262444_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,29) / & + 4.758213048951773e-05_r8, 6.2426490008686325e-05_r8, & + 5.6484415338639156e-05_r8, 6.4584390977837769e-05_r8, & + 6.1220966751787903e-05_r8, 7.2370932981313747e-05_r8, & + 6.0112762026260069e-05_r8, 5.6566146627462064e-05_r8, & + 5.8454476450849978e-05_r8, 5.9631159427619353e-05_r8, & + 5.9781333269608622e-05_r8, 5.9825958719512569e-05_r8, & + 6.2748889777329157e-05_r8, 6.2880022423477633e-05_r8, & + 6.456149710904362e-05_r8, 6.5852873917900345e-05_r8, & + 6.7581262877457421e-05_r8, 6.8466887368293244e-05_r8, & + 7.0958743255394928e-05_r8, 7.5594482558576033e-05_r8, & + 7.8940312304677466e-05_r8, 8.253174867647589e-05_r8, & + 8.3806600274600809e-05_r8, 9.0010201739415552e-05_r8, & + 9.7550780345886121e-05_r8, 0.0001039043055035059_r8, & + 0.00010891283791162966_r8, 0.00011650665676829749_r8, & + 0.00011376001671301065_r8, 0.0001143336444715632_r8, & + 0.00011564544532916063_r8, 0.00011601419423008776_r8, & + 0.00011770559101524411_r8, 0.00011746336590271042_r8, & + 0.00011763805795965051_r8, 0.00011803365928707884_r8, & + 0.00012057918384015179_r8, 0.00012140707833046883_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,29) / & + 6.5358555699761333e-05_r8, 9.7750250671802452e-05_r8, & + 8.9249806551421583e-05_r8, 0.0001164490239212978_r8, & + 0.00010904927073354018_r8, 0.00012256298720991963_r8, & + 8.674522386538353e-05_r8, 6.4744309825663567e-05_r8, & + 6.0242282001906788e-05_r8, 6.147407586463379e-05_r8, & + 6.2316467552965749e-05_r8, 6.4715979216812948e-05_r8, & + 6.717575501603501e-05_r8, 6.853014470264663e-05_r8, & + 7.0168978302705647e-05_r8, 7.1897831498325996e-05_r8, & + 7.2522600969651614e-05_r8, 7.3062739704537531e-05_r8, & + 7.5464289755531154e-05_r8, 7.9085223838657549e-05_r8, & + 8.1987681316251964e-05_r8, 8.5734936780509355e-05_r8, & + 8.9537730669847983e-05_r8, 9.444239033468481e-05_r8, & + 0.0001004286057235068_r8, 0.00010568126302326245_r8, & + 0.00011216307655629137_r8, 0.00012180766131032983_r8, & + 0.00011958660604869685_r8, 0.00011781925276747231_r8, & + 0.00011872551347181965_r8, 0.00011893545663067365_r8, & + 0.00012005723724025155_r8, 0.000119902473508845_r8, & + 0.00012042911620539156_r8, 0.00012100658929955681_r8, & + 0.00012415035399682004_r8, 0.00012457178415628599_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,30) / & + 9.7998228509232335e-05_r8, 9.84673667376794e-05_r8, & + 0.0001305946688345691_r8, 0.00011655709186111327_r8, & + 0.00012092777650983117_r8, 0.0001006704183393817_r8, & + 0.00012278328848463771_r8, 0.00013795181051295954_r8, & + 0.00014589107106387117_r8, 0.00015708439767418998_r8, & + 0.00016330379289769328_r8, 0.00016977556589977392_r8, & + 0.00017433015509875824_r8, 0.00017782767480687087_r8, & + 0.00018102270565559825_r8, 0.00018433090492521892_r8, & + 0.00019746409149563044_r8, 0.00020351687435306347_r8, & + 0.00021037322825842811_r8, 0.00021635446703157372_r8, & + 0.00022109257123937101_r8, 0.00023127090129533977_r8, & + 0.00023241039255509179_r8, 0.00023880835346517298_r8, & + 0.0002449419204138945_r8, 0.00024849164883069082_r8, & + 0.00025130048938508051_r8, 0.00025611770795817108_r8, & + 0.00025880944687057113_r8, 0.00026079778774901451_r8, & + 0.00026265506181733959_r8, 0.00026365497644203697_r8, & + 0.00026318100601457179_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,30) / & + 6.5944918752635146e-05_r8, 6.6610233999587692e-05_r8, & + 9.20701682568785e-05_r8, 8.184733669060296e-05_r8, & + 8.7407617807200918e-05_r8, 7.2775733037318488e-05_r8, & + 8.8251573348538886e-05_r8, 0.00011148101336025443_r8, & + 0.00012283710712333271_r8, 0.00013411458203147118_r8, & + 0.00014184612098884565_r8, 0.00015513289897231116_r8, & + 0.00016669561763979734_r8, 0.00017077758627763594_r8, & + 0.00017322258009785151_r8, 0.00017608554505034251_r8, & + 0.00018197225465302718_r8, 0.00018658799587058873_r8, & + 0.00019124538164411121_r8, 0.00019629606016739732_r8, & + 0.00020105151081794008_r8, 0.00020842596653264885_r8, & + 0.00021230201263245838_r8, 0.0002181054858314055_r8, & + 0.00022460096409868008_r8, 0.00022959551207798817_r8, & + 0.00023411149868589234_r8, 0.00024280800384479672_r8, & + 0.00025008813719303681_r8, 0.00025596137252827393_r8, & + 0.00026083860946589333_r8, 0.00026395725694718287_r8, & + 0.00026574678869696388_r8, 0.00026657216660260234_r8, & + 0.00026676420436220691_r8, 0.00026670009000363327_r8, & + 0.00026649657098865064_r8, 0.00026189716527932742_r8, & + 0.00024965523192585303_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,30) / & + 4.1126132892535794e-05_r8, 4.1543476750274816e-05_r8, & + 3.9901927396845058e-05_r8, 3.3555778611104972e-05_r8, & + 3.6034965374132231e-05_r8, 3.1696308345995739e-05_r8, & + 3.8976828243010282e-05_r8, 5.5775641106905039e-05_r8, & + 6.7563197789166667e-05_r8, 7.9089260788358642e-05_r8, & + 9.1136979279634654e-05_r8, 0.00011065824228143525_r8, & + 0.00013236549093753442_r8, 0.0001415745996872156_r8, & + 0.00014882764920969444_r8, 0.00015403962443249878_r8, & + 0.00016072919504652011_r8, 0.00016520792017534969_r8, & + 0.00016821379249085992_r8, 0.0001713417346152607_r8, & + 0.00017402241776156866_r8, 0.00017790887202380758_r8, & + 0.00018190850444583414_r8, 0.00018644880728716604_r8, & + 0.00019255793843875107_r8, 0.00019823035431485646_r8, & + 0.0002040746551147579_r8, 0.00021934321045131427_r8, & + 0.0002328318788766841_r8, 0.00024399480433870673_r8, & + 0.00025407775951990835_r8, 0.00026234650887999169_r8, & + 0.00026836023953363331_r8, 0.00027257377544977169_r8, & + 0.0002740732922067789_r8, 0.00027318543666860211_r8, & + 0.00027170487625254898_r8, 0.00026800745801092829_r8, & + 0.00025816788386640011_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,30) / & + 3.0170550505204469e-05_r8, 3.0022822058978704e-05_r8, & + 1.5579430850954124e-05_r8, 1.8748762621998071e-05_r8, & + 1.8914541674226319e-05_r8, 1.8520513536545077e-05_r8, & + 2.2114980708838881e-05_r8, 3.0175979376729152e-05_r8, & + 4.0604855320478959e-05_r8, 5.0363769527180698e-05_r8, & + 5.9815163802754959e-05_r8, 7.1711125331043644e-05_r8, & + 9.2796719508794298e-05_r8, 0.00010762541245241918_r8, & + 0.00011890755411939383_r8, 0.00012797645661151967_r8, & + 0.00014048916930253612_r8, 0.00014968109632545223_r8, & + 0.00015478686829651668_r8, 0.00015866945610891223_r8, & + 0.00016179943118907884_r8, 0.00016514968303748187_r8, & + 0.00016834012188861105_r8, 0.00017150656190355817_r8, & + 0.00017502160029744433_r8, 0.00017925697752592255_r8, & + 0.00018365705492126767_r8, 0.00019927936353188291_r8, & + 0.00021715431746535389_r8, 0.0002311438629970572_r8, & + 0.00024539827680844858_r8, 0.00025726618149283522_r8, & + 0.00026530125680395566_r8, 0.00027142921114566839_r8, & + 0.00027454495738696592_r8, 0.00027395926800246359_r8, & + 0.00027283941475261857_r8, 0.00027067428853357018_r8, & + 0.0002659809743989055_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,30) / & + 2.1083771547019156e-05_r8, 2.0278896436474213e-05_r8, & + 8.921513809115634e-06_r8, 1.4156682425601376e-05_r8, & + 1.4174911898501116e-05_r8, 1.4221521663465842e-05_r8, & + 1.5841349379531775e-05_r8, 1.9911731501992473e-05_r8, & + 2.4990271857853987e-05_r8, 3.0303534041183852e-05_r8, & + 3.4335149931764563e-05_r8, 3.841410953091834e-05_r8, & + 4.6779458610807385e-05_r8, 5.5402942035501339e-05_r8, & + 6.3337667666812388e-05_r8, 7.0595578140092709e-05_r8, & + 8.3880376778424124e-05_r8, 9.7377671407680009e-05_r8, & + 0.00010906626158000602_r8, 0.00012004838988272677_r8, & + 0.00012889074521750383_r8, 0.00013590300073389094_r8, & + 0.00014310960026473098_r8, 0.00014909143690999751_r8, & + 0.00015436264686920388_r8, 0.00015895127680683467_r8, & + 0.00016308522187797377_r8, 0.00017355619501209266_r8, & + 0.00018547846582579625_r8, 0.00019998772190313088_r8, & + 0.00021649538992140612_r8, 0.00023367524854208064_r8, & + 0.00024549291065967119_r8, 0.00025288002729920649_r8, & + 0.00026064563162493415_r8, 0.00026407969940901992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,30) / & + 1.1829879306488693e-05_r8, 1.085480726123309e-05_r8, & + 5.1699331606622216e-06_r8, 7.2512470825112272e-06_r8, & + 7.3180810261777133e-06_r8, 7.5100872913823194e-06_r8, & + 8.1252370834148705e-06_r8, 9.1449142242808594e-06_r8, & + 1.0543783213456869e-05_r8, 1.2125116340377207e-05_r8, & + 1.3292261628005528e-05_r8, 1.3426156384186791e-05_r8, & + 1.3725284860031954e-05_r8, 1.5768532802051043e-05_r8, & + 1.7277467547221676e-05_r8, 1.9058934938462325e-05_r8, & + 2.3544110992673501e-05_r8, 3.1618616169798616e-05_r8, & + 4.139941321986043e-05_r8, 5.3889959565167096e-05_r8, & + 6.7022306194444457e-05_r8, 7.9948116258890143e-05_r8, & + 9.3085102117843635e-05_r8, 0.00010605238332181059_r8, & + 0.00011817061897414839_r8, 0.00012945279981520737_r8, & + 0.00013907028947895918_r8, 0.00015451335923591706_r8, & + 0.00016305213955450712_r8, 0.00017219964839632288_r8, & + 0.00018472230845545851_r8, 0.00020130340033082435_r8, & + 0.00022089394628382029_r8, 0.00023446715305380601_r8, & + 0.00024582610473144535_r8, 0.00025402606456513522_r8, & + 0.00025735044141749484_r8, 0.0002607224289163888_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,30) / & + 6.3291741318368039e-06_r8, 5.8410555724207035e-06_r8, & + 3.1129691845504407e-06_r8, 3.5793725467891926e-06_r8, & + 3.7062511734629113e-06_r8, 3.8283657724088818e-06_r8, & + 4.2902180530508882e-06_r8, 5.0389248846253943e-06_r8, & + 5.6453471443728011e-06_r8, 6.2307439058193187e-06_r8, & + 6.7464136703075383e-06_r8, 7.1246131869605893e-06_r8, & + 8.1479753500161236e-06_r8, 9.0537990866864769e-06_r8, & + 9.7148659259179151e-06_r8, 1.0452310534799454e-05_r8, & + 1.224463686966726e-05_r8, 1.6250909092499798e-05_r8, & + 2.280908944328718e-05_r8, 3.2843129841518373e-05_r8, & + 4.6095230401465036e-05_r8, 6.0043536704543615e-05_r8, & + 7.5401218663727186e-05_r8, 9.2390761796024769e-05_r8, & + 0.00010856365268812993_r8, 0.00012244240006562809_r8, & + 0.00013450018048283006_r8, 0.00015873675073740619_r8, & + 0.00017234477598282311_r8, 0.00018301570173322675_r8, & + 0.00019218000685411812_r8, 0.00020124309551659646_r8, & + 0.00021478477489294664_r8, 0.00022923961953879085_r8, & + 0.00024294312972266403_r8, 0.00025306227979073488_r8, & + 0.00025903156997809934_r8, 0.00026250281624762642_r8, & + 0.00026446293367964079_r8, 0.00026482673191869087_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,30) / & + 4.1991033050822882e-06_r8, 4.1618110551958023e-06_r8, & + 2.9878799502062747e-06_r8, 3.8477474062973728e-06_r8, & + 3.929147694812013e-06_r8, 3.8633493833486142e-06_r8, & + 3.8375836076980659e-06_r8, 3.6308287066928232e-06_r8, & + 3.7041179611461166e-06_r8, 3.9094834360776755e-06_r8, & + 4.1983181040896243e-06_r8, 4.5343729945421928e-06_r8, & + 5.437470188820851e-06_r8, 6.5711184471152322e-06_r8, & + 7.5797090909772399e-06_r8, 8.6807937211249411e-06_r8, & + 1.1131617420520644e-05_r8, 1.483553898942868e-05_r8, & + 2.2983203673973398e-05_r8, 3.5202470675175883e-05_r8, & + 5.0849068419702542e-05_r8, 6.8470399307717683e-05_r8, & + 8.8391906312897684e-05_r8, 0.00010796963045707399_r8, & + 0.00012403845879720008_r8, 0.00013681284724179565_r8, & + 0.00014850224628189701_r8, 0.00017204109945161353_r8, & + 0.00018813927030727801_r8, 0.00020170552366716133_r8, & + 0.00021097310106432137_r8, 0.00021726014504849515_r8, & + 0.00022462663959228475_r8, 0.00023363427349233328_r8, & + 0.00024358526957853736_r8, 0.00025100974103829427_r8, & + 0.00025639073071321444_r8, 0.00026054955953918989_r8, & + 0.00026319580207619618_r8, 0.00026406588052194779_r8, & + 0.00026398426478855397_r8, 0.00026526940961251562_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,30) / & + 4.38055109667215e-06_r8, 4.3274439497313438e-06_r8, & + 3.8230677010559333e-06_r8, 4.4232704587622973e-06_r8, & + 4.4150059878154156e-06_r8, 4.5242684979435968e-06_r8, & + 4.6082486410916108e-06_r8, 4.2972513883741147e-06_r8, & + 3.7455909066367613e-06_r8, 3.6980905428485699e-06_r8, & + 3.8030912517189342e-06_r8, 4.0762876708011379e-06_r8, & + 5.0147555341869695e-06_r8, 6.2891676891004868e-06_r8, & + 7.6153459484609909e-06_r8, 9.0895597005323188e-06_r8, & + 1.2526873445129718e-05_r8, 1.7370089148051549e-05_r8, & + 2.7838188670434941e-05_r8, 4.3455616726016749e-05_r8, & + 6.2194419723074365e-05_r8, 8.2222035932314429e-05_r8, & + 0.00010278756824788496_r8, 0.00012051936559225856_r8, & + 0.00013431876118379118_r8, 0.00014572629308908319_r8, & + 0.00015707077052512139_r8, 0.00017985295463907578_r8, & + 0.00019561444662497153_r8, 0.00021046416225229466_r8, & + 0.00021937933943783622_r8, 0.000225384197286955_r8, & + 0.00023075687684309611_r8, 0.00023773366653263793_r8, & + 0.00024578831340885468_r8, 0.00025157519484486635_r8, & + 0.00025549822705665641_r8, 0.00025916850093865676_r8, & + 0.00026190144888205261_r8, 0.00026368311379101634_r8, & + 0.00026413423295516207_r8, 0.00026452089419191574_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,30) / & + 5.3011282823437148e-06_r8, 5.0982728153833198e-06_r8, & + 5.2159191309528596e-06_r8, 5.4016659988699113e-06_r8, & + 5.3683926164384374e-06_r8, 5.3512207597687164e-06_r8, & + 5.1629374636950712e-06_r8, 4.8913414371121179e-06_r8, & + 4.5389717983536901e-06_r8, 4.3896690837482158e-06_r8, & + 4.3125335651375822e-06_r8, 4.2403989480567725e-06_r8, & + 4.6817717748087362e-06_r8, 6.0049815382326027e-06_r8, & + 8.20164895553352e-06_r8, 1.1027320777779505e-05_r8, & + 1.7187883245543656e-05_r8, 2.6292054994381545e-05_r8, & + 4.0758118127715649e-05_r8, 6.039488765584428e-05_r8, & + 8.4223608105774215e-05_r8, 0.00010768616922743806_r8, & + 0.0001277477940829413_r8, 0.00014094063922029463_r8, & + 0.00015078602961684487_r8, 0.00015929462807417631_r8, & + 0.00017006419311604317_r8, 0.00019828567628159911_r8, & + 0.0002213679249365716_r8, 0.0002334546798711174_r8, & + 0.00024153826731962706_r8, 0.00024605790079397033_r8, & + 0.00025064941406204754_r8, 0.00025614837096006978_r8, & + 0.00026170945337723338_r8, 0.00026524402881528039_r8, & + 0.00026781894249018905_r8, 0.000267923013580585_r8, & + 0.00026605846894455648_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,30) / & + 6.577921554383336e-06_r8, 5.9718938125819273e-06_r8, & + 6.047729651928829e-06_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,30) / & + 8.2371088447056223e-06_r8, 8.2445234111612326e-06_r8, & + 8.556687104917299e-06_r8, 9.1682424318323124e-06_r8, & + 9.418143706931973e-06_r8, 1.0600664773519749e-05_r8, & + 1.4128344393688392e-05_r8, 1.6645923410840729e-05_r8, & + 1.8721268891941437e-05_r8, 2.1397741710279043e-05_r8, & + 2.3043081478324463e-05_r8, 2.4174033188857508e-05_r8, & + 2.5289820546068227e-05_r8, 2.7277075914424151e-05_r8, & + 2.8991060676409912e-05_r8, 2.9367965597700188e-05_r8, & + 5.5890512938896038e-05_r8, 9.8158891523355402e-05_r8, & + 0.00014130008751749563_r8, 0.00017573671106608244_r8, & + 0.00019906089131316738_r8, 0.00021562413140447219_r8, & + 0.00022600954367758247_r8, 0.00023455844425464975_r8, & + 0.00024267479254880646_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,30) / & + 8.8866778930832194e-06_r8, 9.0339866952943117e-06_r8, & + 9.3989970014174396e-06_r8, 1.0650657934748403e-05_r8, & + 1.0977157076773043e-05_r8, 1.1974168544523906e-05_r8, & + 1.6279904478834973e-05_r8, 1.900519611916969e-05_r8, & + 2.4894460802803764e-05_r8, 3.1098957644277333e-05_r8, & + 3.6368798455509468e-05_r8, 4.0925215730381765e-05_r8, & + 4.9723976228275896e-05_r8, 5.5563111698693985e-05_r8, & + 5.9539790175671917e-05_r8, 6.3442315148666854e-05_r8, & + 9.1855924852315182e-05_r8, 0.00012852241322028498_r8, & + 0.00016558852723383842_r8, 0.00019731456562751653_r8, & + 0.00021901602852981937_r8, 0.00023420640895237526_r8, & + 0.00024717273751458129_r8, 0.0002548591203381333_r8, & + 0.00026178287829090437_r8, 0.0002680890152359695_r8, & + 0.00027369123357123159_r8, 0.00028601012699847305_r8, & + 0.00029809824750620087_r8, 0.00030612921940657335_r8, & + 0.00031101022358620122_r8, 0.00031451426767405003_r8, & + 0.0003173468094552823_r8, 0.00031878320520221872_r8, & + 0.00031953382733558079_r8, 0.00031856026703892018_r8, & + 0.00031777745787042987_r8, 0.00031664740507417178_r8, & + 0.00031740285809660803_r8, 0.00031808838271954953_r8, & + 0.00031871305347495161_r8, 0.00031865458893788064_r8, & + 0.00031820448679340354_r8, 0.00031798259450087081_r8, 9e90_r8 & + / +data saar_ref(:,19,30) / & + 1.0232048832733601e-05_r8, 1.0537243661523537e-05_r8, & + 1.0885753939705053e-05_r8, 1.2055927224040331e-05_r8, & + 1.22205827861769e-05_r8, 1.325279403469122e-05_r8, & + 1.950595146871313e-05_r8, 2.5462658548669354e-05_r8, & + 3.4866325029612296e-05_r8, 4.4401081854862688e-05_r8, & + 5.2244988802103846e-05_r8, 6.0277905410633504e-05_r8, & + 7.4622158781237376e-05_r8, 8.652107354274761e-05_r8, & + 9.3283755373093564e-05_r8, 0.00010005191083893583_r8, & + 0.00012375017300117336_r8, 0.00015552269166603652_r8, & + 0.00018776018092281775_r8, 0.00021519183989909181_r8, & + 0.00023548614174461973_r8, 0.00025262711409663606_r8, & + 0.00026401811189634032_r8, 0.00027289189528472232_r8, & + 0.00028023945834024201_r8, 0.00028618188993926723_r8, & + 0.00029092565548871635_r8, 0.00030174254471237121_r8, & + 0.00031208810243904013_r8, 0.00031918438775613419_r8, & + 0.00032436292601123608_r8, 0.00032841511126008863_r8, & + 0.00033209947849757694_r8, 0.00033330343822283304_r8, & + 0.00033387531372413491_r8, 0.00033240776679010255_r8, & + 0.00033140141771417943_r8, 0.00033012043162175601_r8, & + 0.00033104803171105692_r8, 0.00033207516290343459_r8, & + 0.00033258965667688729_r8, 0.00033232191879874922_r8, & + 0.0003322141654356205_r8, 0.00033211062500446847_r8, 9e90_r8 & + / +data saar_ref(:,20,30) / & + 1.2086654413003355e-05_r8, 1.2636263858780427e-05_r8, & + 1.2796490093082358e-05_r8, 1.3426525704586903e-05_r8, & + 1.2994645816506101e-05_r8, 1.3308097652984796e-05_r8, & + 2.2078653748988684e-05_r8, 3.4880634553011459e-05_r8, & + 4.8812814420238842e-05_r8, 6.0598516644938119e-05_r8, & + 7.1239336720021887e-05_r8, 8.1693214112833019e-05_r8, & + 9.6393836560251095e-05_r8, 0.0001101724584427718_r8, & + 0.00011811123548453445_r8, 0.00012441044293213916_r8, & + 0.00014377384499590632_r8, 0.00017169833355340256_r8, & + 0.00020049799458315439_r8, 0.00022553086965757362_r8, & + 0.00024656259288707068_r8, 0.00026742837332309602_r8, & + 0.00027883235920587974_r8, 0.00028942388879909066_r8, & + 0.00029739470054387712_r8, 0.00030272232796393867_r8, & + 0.00030695484241821739_r8, 0.00031669340589898814_r8, & + 0.00032647781934611492_r8, 0.00033312137335153721_r8, & + 0.00033848817967688688_r8, 0.00034260409956930461_r8, & + 0.00034696145160204576_r8, 0.00034810479757323159_r8, & + 0.00034854912945836419_r8, 0.00034673871245038756_r8, & + 0.00034562907640144346_r8, 0.00034419908496284785_r8, & + 0.00034531219262653036_r8, 0.0003465896219278513_r8, & + 0.00034670691532241987_r8, 0.0003453914663824129_r8, & + 0.00034520291112748094_r8, 0.0003427509895258147_r8, & + 0.00034320310952032487_r8 & + / +data saar_ref(:,21,30) / & + 1.9231825617742534e-05_r8, 2.0167288651610286e-05_r8, & + 1.6920531093530777e-05_r8, 1.482730814916281e-05_r8, & + 1.3717128023335467e-05_r8, 1.566628241535319e-05_r8, & + 2.2640335599329962e-05_r8, 3.6661975262331159e-05_r8, & + 5.1214105416278328e-05_r8, 6.3469305506146719e-05_r8, & + 7.4926990474594046e-05_r8, 8.1944857658850569e-05_r8, & + 0.00010197666792066303_r8, 0.00011503552177064005_r8, & + 0.00012295000681195994_r8, 0.00012764029255794157_r8, & + 0.00014203980833233282_r8, 0.00016295055301825326_r8, & + 0.00018605899437042166_r8, 0.00020532774920896938_r8, & + 0.00022275654810411554_r8, 0.00024509985332476532_r8, & + 0.00024901414146955985_r8, 0.00029814287885204191_r8, & + 0.00030405751493100137_r8, 0.00030695162730540903_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,30) / & + 2.2926767117836512e-05_r8, 2.1957032571390724e-05_r8, & + 1.8389875207009499e-05_r8, 1.6745885948043233e-05_r8, & + 1.6762706338548635e-05_r8, 1.921993730636626e-05_r8, & + 2.4930510744394125e-05_r8, 3.5979664847416679e-05_r8, & + 4.7795366996869925e-05_r8, 5.779095147435397e-05_r8, & + 7.0692548506753384e-05_r8, 7.6103845151556838e-05_r8, & + 0.00010684380448666055_r8, 0.00011425071556393516_r8, & + 0.00011677319903163253_r8, 0.0001135940264699026_r8, & + 0.00011317113061581563_r8, 0.00011302823968626547_r8, & + 0.00011295487248533206_r8, 0.00011226143720595144_r8, & + 0.00010937467356149374_r8, 0.00010937509312375871_r8, & + 0.00010848236542429543_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,30) / & + 2.2741275510767525e-05_r8, 2.0614726145897707e-05_r8, & + 1.8860367477026164e-05_r8, 1.8267021266685905e-05_r8, & + 1.8938159653806858e-05_r8, 2.0327037032053914e-05_r8, & + 2.1425617693915743e-05_r8, 3.2528274485343211e-05_r8, & + 4.3122002848743964e-05_r8, 5.2033838451473271e-05_r8, & + 6.024280292247079e-05_r8, 6.1615647209907926e-05_r8, & + 0.00011697304063411168_r8, 0.00013510438968079185_r8, & + 0.00017640219927081495_r8, 0.00020683670615872843_r8, & + 0.00024316292460929595_r8, 0.00026898677054815662_r8, & + 0.00028443934218030763_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,30) / & + 1.7009724628053134e-05_r8, 1.6858596389223356e-05_r8, & + 1.5933325646811232e-05_r8, 1.7801260077935927e-05_r8, & + 1.8117444235572369e-05_r8, 1.8498661462569005e-05_r8, & + 2.7809579032493988e-05_r8, 3.9358935300597616e-05_r8, & + 5.0585556692090305e-05_r8, 6.1928743798808509e-05_r8, & + 7.2400535148185841e-05_r8, 8.3264718323733728e-05_r8, & + 0.00010687957300450611_r8, 0.00012682837215523713_r8, & + 0.00014675964874800204_r8, 0.0001661924185679757_r8, & + 0.00020229334358683093_r8, 0.00023689794162568261_r8, & + 0.00026217284712229264_r8, 0.00028958340477132691_r8, & + 0.00031765916653852421_r8, 0.0003445325447311521_r8, & + 0.00036334656323384342_r8, 0.00037963855112683185_r8, & + 0.00039039276916426737_r8, 0.00039699362000316307_r8, & + 0.00040451695095283487_r8, 0.0004431845282019847_r8, & + 0.00043927126398935227_r8, 0.00043707383273965572_r8, & + 0.00043907759463939665_r8, 0.00043906926787608112_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,30) / & + 1.7856394346284773e-05_r8, 1.5596883000800582e-05_r8, & + 1.5664827884104171e-05_r8, 1.6429891214288479e-05_r8, & + 1.7487969694287345e-05_r8, 1.7601156808875997e-05_r8, & + 2.2639157557020241e-05_r8, 3.4774768622543782e-05_r8, & + 4.8181384532472526e-05_r8, 5.6777312809117478e-05_r8, & + 6.7253842321723698e-05_r8, 7.5672844850541377e-05_r8, & + 0.0001041084939778087_r8, 0.00012375385971551112_r8, & + 0.00014643746062093774_r8, 0.00017464915681979928_r8, & + 0.00022304411500240266_r8, 0.00026507248547969294_r8, & + 0.00029461871447571239_r8, 0.00031781637194495856_r8, & + 0.00035297272445262371_r8, 0.00039801174032696031_r8, & + 0.00041934310287958666_r8, 0.00044559162737246166_r8, & + 0.00046533325831894638_r8, 0.00047133023647088633_r8, & + 0.00047752272410935394_r8, 0.00049219991787381766_r8, & + 0.00048036015605187828_r8, 0.00045558198819905475_r8, & + 0.00044027900306195728_r8, 0.00042153119347066749_r8, & + 0.000362052576370803_r8, 0.00034724748054696579_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,30) / & + 1.1030327410286519e-05_r8, 1.0132762892000879e-05_r8, & + 9.719762999385266e-06_r8, 1.0400902338557517e-05_r8, & + 1.1096366401804745e-05_r8, 1.2171056893146613e-05_r8, & + 1.6433633483070332e-05_r8, 2.0859293620989777e-05_r8, & + 2.8643952073932635e-05_r8, 3.4963264896269074e-05_r8, & + 4.1934699378528495e-05_r8, 5.0835540091706212e-05_r8, & + 7.7015029708862859e-05_r8, 9.8203574862368707e-05_r8, & + 0.00011887640477058595_r8, 0.00015189272529844662_r8, & + 0.00022989831464368565_r8, 0.00026802549324149563_r8, & + 0.00030022665974041834_r8, 0.00032725076370419256_r8, & + 0.00035515508133514154_r8, 0.00040752522494602752_r8, & + 0.00042759688615990948_r8, 0.00044884546289937499_r8, & + 0.00047912169911365439_r8, 0.00048548068850534756_r8, & + 0.00050265032560998797_r8, 0.00050322312528278904_r8, & + 0.00050082351607687477_r8, 0.00046826026842353353_r8, & + 0.00045345586175767673_r8, 0.00043052360161154827_r8, & + 0.0003739763172727443_r8, 0.00035846164295120901_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,30) / & + 8.4424689337081228e-06_r8, 9.0226946684129766e-06_r8, & + 8.3994385540765314e-06_r8, 7.4241955754633225e-06_r8, & + 7.7868977358242993e-06_r8, 9.6555934355062864e-06_r8, & + 1.4181082252230311e-05_r8, 1.6646824607201582e-05_r8, & + 2.0714978622339302e-05_r8, 2.6708064404684435e-05_r8, & + 3.3527398890553867e-05_r8, 4.3406019367480856e-05_r8, & + 6.5138348376019668e-05_r8, 8.5883020254203633e-05_r8, & + 0.00010493309335223577_r8, 0.00012886182108767924_r8, & + 0.00022290405244425432_r8, 0.00026394885574204625_r8, & + 0.00029829905543895152_r8, 0.00032646126507815431_r8, & + 0.00035314023144954805_r8, 0.00039273998303937486_r8, & + 0.00041678817333254392_r8, 0.00043482569071850183_r8, & + 0.00047339247279470443_r8, 0.00048529684750017125_r8, & + 0.00050630786193335629_r8, 0.00051125117212425658_r8, & + 0.00050987912641053002_r8, 0.00048181917258994296_r8, & + 0.00046713706878757563_r8, 0.00044193637352380496_r8, & + 0.00038195757371434598_r8, 0.0003726209880562006_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,30) / & + 1.1161445025732283e-05_r8, 1.1295150016610262e-05_r8, & + 1.0247747097212661e-05_r8, 9.1542795547397468e-06_r8, & + 9.8726887697979675e-06_r8, 1.1868061250003898e-05_r8, & + 1.6508072079635031e-05_r8, 2.0440130791341805e-05_r8, & + 2.4569457997629447e-05_r8, 3.1776906316960915e-05_r8, & + 4.0175287367010552e-05_r8, 5.1206623736379512e-05_r8, & + 7.7348603473476328e-05_r8, 0.00010286820759756222_r8, & + 0.00012255621841743313_r8, 0.00014403490807194882_r8, & + 0.00022528218373401313_r8, 0.00026978927498488647_r8, & + 0.00030365494257902551_r8, 0.00033302790814552282_r8, & + 0.00035923382352766114_r8, 0.00039521382696933535_r8, & + 0.00042037643236075329_r8, 0.00043681086028051012_r8, & + 0.00047483029232183848_r8, 0.00048814645003913775_r8, & + 0.00050729471410830757_r8, 0.00051867213053799325_r8, & + 0.00052203068237462711_r8, 0.00049672793046931529_r8, & + 0.00048157459517454801_r8, 0.00045561793844356451_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,30) / & + 1.1781967707433284e-05_r8, 1.2788980532657641e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,30) / & + 9.6411845570155516e-05_r8, 8.237490541217909e-05_r8, & + 6.2183301121672177e-05_r8, 6.8228352123758372e-05_r8, & + 6.7358707751210138e-05_r8, 6.354409154346843e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,30) / & + 4.9975608380998054e-05_r8, 5.1921788963150643e-05_r8, & + 5.1773495130929692e-05_r8, 5.7632967143586198e-05_r8, & + 5.8217624986488901e-05_r8, 6.3915875276707301e-05_r8, & + 5.899883802385118e-05_r8, 6.0805848153233055e-05_r8, & + 6.0823607551423731e-05_r8, 6.1283312976915708e-05_r8, & + 5.7531648284227389e-05_r8, 5.5101810297297969e-05_r8, & + 5.3633863577226432e-05_r8, 5.4508772182582667e-05_r8, & + 5.5612728068540185e-05_r8, 5.5303223711065374e-05_r8, & + 5.723797225446389e-05_r8, 5.8986998183081202e-05_r8, & + 6.0139566491164295e-05_r8, 6.2678832585502236e-05_r8, & + 6.596495693919109e-05_r8, 7.2400851788896874e-05_r8, & + 6.6337653429230482e-05_r8, 7.3389317998006208e-05_r8, & + 8.7599203091217915e-05_r8, 9.8497988832660355e-05_r8, & + 0.00010458615481736145_r8, 0.00010527961026816641_r8, & + 0.00010806568183247537_r8, 0.00010985198014495065_r8, & + 0.00011185884400630039_r8, 0.00011304506669017271_r8, & + 0.00011324684953692885_r8, 0.00011348211754744954_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,30) / & + 3.658246150820435e-05_r8, 4.2691842332092445e-05_r8, & + 4.0017200600043907e-05_r8, 4.4845417493089743e-05_r8, & + 4.7163040988416121e-05_r8, 5.9954035481567387e-05_r8, & + 5.757075603582118e-05_r8, 5.8343987905200462e-05_r8, & + 5.9199593473138892e-05_r8, 5.9687840153384057e-05_r8, & + 5.8904273518968709e-05_r8, 5.7343035750592871e-05_r8, & + 5.7208418394343387e-05_r8, 5.8253408084546013e-05_r8, & + 5.9001267601083328e-05_r8, 5.9267102497266209e-05_r8, & + 6.1291321347440011e-05_r8, 6.2399891358676373e-05_r8, & + 6.4517473204920661e-05_r8, 6.8871257131093597e-05_r8, & + 7.2093247856734773e-05_r8, 7.7812123202364387e-05_r8, & + 7.5052014603477348e-05_r8, 8.3068721334247553e-05_r8, & + 9.4152571490816397e-05_r8, 0.00010223822672712655_r8, & + 0.00010720552558902753_r8, 0.00010924765629428206_r8, & + 0.00011062276638713354_r8, 0.00011221738729055543_r8, & + 0.00011397649263014254_r8, 0.00011547352649704701_r8, & + 0.00011625541817085232_r8, 0.00011667845169744924_r8, & + 0.00011665209033152219_r8, 0.00011561445744291362_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,30) / & + 5.1856769762385723e-05_r8, 6.4898863797667334e-05_r8, & + 5.6962906183210055e-05_r8, 6.8567309787554749e-05_r8, & + 6.2478161954609019e-05_r8, 7.4434175691433704e-05_r8, & + 6.1308867114550738e-05_r8, 5.7324158885392272e-05_r8, & + 5.7790978745636675e-05_r8, 5.969021442595323e-05_r8, & + 6.052366320966674e-05_r8, 6.0494177428141353e-05_r8, & + 6.2841297272330318e-05_r8, 6.3201287643997481e-05_r8, & + 6.4824888182324239e-05_r8, 6.6313411171938999e-05_r8, & + 6.7960240348643812e-05_r8, 6.8722846113964683e-05_r8, & + 7.1192901971665467e-05_r8, 7.5762844930507895e-05_r8, & + 7.9131442378173994e-05_r8, 8.277194687453124e-05_r8, & + 8.4315920166481647e-05_r8, 9.0500051414434617e-05_r8, & + 9.7962870577005689e-05_r8, 0.00010435370433465712_r8, & + 0.00010951362409236324_r8, 0.00011732325798532977_r8, & + 0.0001147126930811818_r8, 0.00011417791908561046_r8, & + 0.00011536616187082293_r8, 0.00011544604682205172_r8, & + 0.00011705561122284948_r8, 0.00011689353631476749_r8, & + 0.00011700718156422715_r8, 0.00011760072079017039_r8, & + 0.00012058442591618129_r8, 0.00012140707519389617_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,30) / & + 6.7579383176078836e-05_r8, 9.6876933762223087e-05_r8, & + 8.8689319210059499e-05_r8, 0.00011851381314220316_r8, & + 0.000110865983325318_r8, 0.00012226607004016765_r8, & + 8.6984800866728179e-05_r8, 6.5368957160963649e-05_r8, & + 6.0759945486265268e-05_r8, 6.2316158660584024e-05_r8, & + 6.354483334325222e-05_r8, 6.5074358346828672e-05_r8, & + 6.7002462224027736e-05_r8, 6.8341650113016577e-05_r8, & + 6.9923872394143051e-05_r8, 7.1636713498419164e-05_r8, & + 7.232223152748714e-05_r8, 7.2937144274935135e-05_r8, & + 7.5301597129178585e-05_r8, 7.8926298407598175e-05_r8, & + 8.1835406303362365e-05_r8, 8.552335184933763e-05_r8, & + 8.9303545435946837e-05_r8, 9.4164634669096888e-05_r8, & + 0.00010012030844796962_r8, 0.00010537808234708466_r8, & + 0.00011173557148165235_r8, 0.00012140882228514823_r8, & + 0.00012032289681386914_r8, 0.00011787299133006543_r8, & + 0.00011875237833712144_r8, 0.00011893222831400157_r8, & + 0.00012006004610933876_r8, 0.00011999233845342623_r8, & + 0.00012039235123559159_r8, 0.0001209408218119268_r8, & + 0.00012414409461817768_r8, 0.0001245386506910944_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,31) / & + 9.0748246977710424e-05_r8, 9.0954234735028693e-05_r8, & + 0.00012530244459504479_r8, 0.00011021372330762823_r8, & + 0.00011541037969992254_r8, 0.00010042083120136322_r8, & + 0.00012734181847416447_r8, 0.00014202899770243579_r8, & + 0.00014776189989925282_r8, 0.00015305120652187723_r8, & + 0.00015823267771794691_r8, 0.00016579987622681539_r8, & + 0.00017114637215862147_r8, 0.00017480408844095028_r8, & + 0.00017694126055760133_r8, 0.00018122262908924636_r8, & + 0.00019305354247880542_r8, 0.00019873962564581534_r8, & + 0.00020754993270783589_r8, 0.0002159130936130843_r8, & + 0.0002189925906670791_r8, 0.00022808993993924187_r8, & + 0.00022818695440577423_r8, 0.00023611560527030229_r8, & + 0.00024244938144377142_r8, 0.00024643337680889968_r8, & + 0.00024967588168996825_r8, 0.00025613399728570792_r8, & + 0.0002588905489966498_r8, 0.00026151805893070778_r8, & + 0.00026406188588570676_r8, 0.00026580205641482874_r8, & + 0.000266102045254704_r8, 0.00026454060613566283_r8, & + 0.00026498299243459509_r8, 0.00026373603443655873_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,31) / & + 5.9152966679593156e-05_r8, 5.9701008056586136e-05_r8, & + 8.419792972778183e-05_r8, 7.2197621203475582e-05_r8, & + 7.893593636785061e-05_r8, 6.9865119107077699e-05_r8, & + 8.678716493674183e-05_r8, 0.00011018251545834166_r8, & + 0.00012279529525845891_r8, 0.00013431380430867145_r8, & + 0.00014160733694607236_r8, 0.00015360291851355194_r8, & + 0.00016544434649011437_r8, 0.00017062190045189084_r8, & + 0.00017310117299905057_r8, 0.00017614953884001507_r8, & + 0.00018183039521772192_r8, 0.00018647122354807782_r8, & + 0.00019158998896570733_r8, 0.00019747127922489419_r8, & + 0.00020131967541696209_r8, 0.00020764696709974805_r8, & + 0.00021105472282476729_r8, 0.00021699037773866749_r8, & + 0.00022324312281557848_r8, 0.0002278906543837284_r8, & + 0.00023204918155701466_r8, 0.00024079248953885735_r8, & + 0.00024805417719224573_r8, 0.00025516397768980502_r8, & + 0.00026097901550777702_r8, 0.00026455471727306935_r8, & + 0.0002670296088644581_r8, 0.00026747608763656207_r8, & + 0.00026731305646127531_r8, 0.00026721223421932971_r8, & + 0.00026645645577273302_r8, 0.00026278842207344902_r8, & + 0.00024769530268046081_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,31) / & + 3.4949956298899423e-05_r8, 3.5490639794020586e-05_r8, & + 3.3769289531179659e-05_r8, 2.4136729765174397e-05_r8, & + 2.7288015782420076e-05_r8, 2.5437443981065861e-05_r8, & + 3.6931921322663651e-05_r8, 5.7749577942844704e-05_r8, & + 6.9929474288995042e-05_r8, 8.2606928950991896e-05_r8, & + 9.5010274905975195e-05_r8, 0.00011498432039759951_r8, & + 0.00013570803281072255_r8, 0.00014391373906975702_r8, & + 0.00015033179034645893_r8, 0.00015572757753106508_r8, & + 0.00016319348908614748_r8, 0.00016797706970374872_r8, & + 0.00017139039452799889_r8, 0.00017489808620371045_r8, & + 0.00017786592662006213_r8, 0.00018050611605000444_r8, & + 0.00018407681717880621_r8, 0.00018801352881362768_r8, & + 0.0001942768531324976_r8, 0.00019952721068986626_r8, & + 0.00020514594686757645_r8, 0.00021890637859959527_r8, & + 0.00023154292518327011_r8, 0.00024309528555488372_r8, & + 0.00025331610500908401_r8, 0.00026106816316936315_r8, & + 0.00026630959016128025_r8, 0.00027077616369706515_r8, & + 0.00027258931351106558_r8, 0.00027224976233616686_r8, & + 0.00027045596755146035_r8, 0.00026714432151831602_r8, & + 0.00025634442041152605_r8, 0.00027060372702252466_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,31) / & + 2.3533775022921443e-05_r8, 2.3608798574739906e-05_r8, & + 1.3207805318167596e-05_r8, 1.0977983327686086e-05_r8, & + 1.116420716886397e-05_r8, 1.1082672481239606e-05_r8, & + 1.7055193163247816e-05_r8, 2.9919047200470965e-05_r8, & + 3.99608203834187e-05_r8, 4.8868618054049034e-05_r8, & + 5.7663480073503364e-05_r8, 7.00170853747019e-05_r8, & + 9.0373450288915377e-05_r8, 0.00010165860052892811_r8, & + 0.00011225095934876546_r8, 0.00012117955427280054_r8, & + 0.00013462320491641747_r8, 0.00014535501500380951_r8, & + 0.00015248882314997634_r8, 0.00015685249675933261_r8, & + 0.00016097748316189613_r8, 0.00016383005892136964_r8, & + 0.00016682823276340607_r8, 0.00016938017239116391_r8, & + 0.00017209379715884816_r8, 0.00017588401089536627_r8, & + 0.00017993815627476595_r8, 0.00019346284632799606_r8, & + 0.00020969168566563763_r8, 0.00022329007099255066_r8, & + 0.00023791393546987585_r8, 0.00025066122394543262_r8, & + 0.00025936892711495778_r8, 0.0002662007580206228_r8, & + 0.00027131694035864172_r8, 0.00027378481446258056_r8, & + 0.00027333815342283594_r8, 0.00027121207703078898_r8, & + 0.00026507117613989675_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,31) / & + 1.6402600529084563e-05_r8, 1.6215162676411553e-05_r8, & + 8.9726367560768142e-06_r8, 8.6308900826074455e-06_r8, & + 8.6544379808626851e-06_r8, 8.7087997837909307e-06_r8, & + 1.0677135342955084e-05_r8, 1.5274332826112021e-05_r8, & + 2.0016557097313416e-05_r8, 2.4619224614858569e-05_r8, & + 2.8044891367919428e-05_r8, 3.1548954095337224e-05_r8, & + 3.8089258774783767e-05_r8, 4.3470804400048811e-05_r8, & + 5.1267114527250804e-05_r8, 5.7419542103624828e-05_r8, & + 7.024063479458344e-05_r8, 8.4092080400762037e-05_r8, & + 9.6174327681953353e-05_r8, 0.00010693491984224015_r8, & + 0.00011689342201769311_r8, 0.00012519660039533853_r8, & + 0.00013334244593699932_r8, 0.0001405604618472951_r8, & + 0.00014610970710349301_r8, 0.00015121851639214069_r8, & + 0.00015566327424578077_r8, 0.00016457613593047108_r8, & + 0.00017459973089748069_r8, 0.00018653599938963535_r8, & + 0.000202839577767995_r8, 0.0002199931427667371_r8, & + 0.00023314444104891602_r8, 0.00024382380170372741_r8, & + 0.00025438200109555333_r8, 0.00026234935758887642_r8, & + 0.00026741460379833479_r8, 0.00027417000389608052_r8, & + 0.0002736749339932218_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,31) / & + 9.5024029032345145e-06_r8, 9.2209352370836402e-06_r8, & + 6.7343340788070685e-06_r8, 6.3035862113526301e-06_r8, & + 6.3717390874756898e-06_r8, 6.5449683918768242e-06_r8, & + 7.0346337961833671e-06_r8, 8.2516156769995976e-06_r8, & + 9.7078199554083234e-06_r8, 1.1237935768292375e-05_r8, & + 1.2150385425085182e-05_r8, 1.2422148056815435e-05_r8, & + 1.2818987370372398e-05_r8, 1.4160679518467329e-05_r8, & + 1.5542798685874854e-05_r8, 1.6984556153579497e-05_r8, & + 2.1112888167647803e-05_r8, 2.7473713879354084e-05_r8, & + 3.5972363870764574e-05_r8, 4.6420905879885813e-05_r8, & + 5.8706502662357074e-05_r8, 7.1791062208265277e-05_r8, & + 8.540464569118731e-05_r8, 9.9219350325330472e-05_r8, & + 0.00011197372058769584_r8, 0.00012321630918720231_r8, & + 0.00013379290541566013_r8, 0.00015176299388936529_r8, & + 0.00016100272989843023_r8, 0.00016907552028736793_r8, & + 0.00018024902329593799_r8, 0.00019546259831165983_r8, & + 0.00021324469447081321_r8, 0.0002279554571587974_r8, & + 0.00024221884986084166_r8, 0.00025236886799325328_r8, & + 0.00025393656182494281_r8, 0.00025568410995374641_r8, & + 0.00025752995125228071_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,31) / & + 5.4865053878315247e-06_r8, 5.3406898824902067e-06_r8, & + 4.4888969815454031e-06_r8, 3.4231098543010646e-06_r8, & + 3.5021489400391346e-06_r8, 3.6885009940710029e-06_r8, & + 4.0161917701738207e-06_r8, 4.7804753304268134e-06_r8, & + 5.5074429573434929e-06_r8, 6.2189210386362464e-06_r8, & + 6.7272751333272531e-06_r8, 7.1834415600450491e-06_r8, & + 7.963696206200771e-06_r8, 8.8394231605154422e-06_r8, & + 9.5398679896787704e-06_r8, 1.0286706528931517e-05_r8, & + 1.1814905766631196e-05_r8, 1.4687241682374275e-05_r8, & + 2.1249194054163457e-05_r8, 2.999129008805816e-05_r8, & + 4.3200948411590839e-05_r8, 5.7489413898866235e-05_r8, & + 7.4501025920232402e-05_r8, 9.150400413750365e-05_r8, & + 0.00010792456944548967_r8, 0.00012063153926101912_r8, & + 0.00013265347736145469_r8, 0.000158128334681878_r8, & + 0.00017470773034374226_r8, 0.00018545129697910754_r8, & + 0.00019303406675819844_r8, 0.00020023323318887334_r8, & + 0.00021165047025192905_r8, 0.00022491580283473777_r8, & + 0.00023802218709416905_r8, 0.00024857193264180884_r8, & + 0.00025436609691117706_r8, 0.00025813352166107178_r8, & + 0.00026053702256710761_r8, 0.00026231746367650082_r8, & + 0.00026197728249019805_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,31) / & + 3.6607185139326685e-06_r8, 3.57814419967803e-06_r8, & + 3.3226291490137278e-06_r8, 3.5871445337524338e-06_r8, & + 3.5419215398548898e-06_r8, 3.3543475792765301e-06_r8, & + 3.6167402419582257e-06_r8, 3.3772427426761194e-06_r8, & + 3.4426285099017244e-06_r8, 3.7293800593261632e-06_r8, & + 4.0302256928938404e-06_r8, 4.449425241481914e-06_r8, & + 5.3993815966749219e-06_r8, 6.5434903430640242e-06_r8, & + 7.6189217323353027e-06_r8, 8.9570134605449557e-06_r8, & + 1.1188527063942975e-05_r8, 1.5010306613752876e-05_r8, & + 2.3503364515609274e-05_r8, 3.5443544947597389e-05_r8, & + 5.1351231213346277e-05_r8, 6.9686755401468506e-05_r8, & + 8.9708753447475487e-05_r8, 0.00010791754579019062_r8, & + 0.0001245713472959445_r8, 0.00013628155599083573_r8, & + 0.00014746743767754295_r8, 0.00017142992110421787_r8, & + 0.00018969382223621629_r8, 0.00020253331955003706_r8, & + 0.00021114573874261202_r8, 0.00021569659299249485_r8, & + 0.00022257396095014446_r8, 0.00023113789888709314_r8, & + 0.0002398189227082891_r8, 0.00024703149237841396_r8, & + 0.00025232480071989144_r8, 0.00025748816317775717_r8, & + 0.0002604532691406418_r8, 0.00026176081438179609_r8, & + 0.00026220821152672918_r8, 0.00026246633156193339_r8, & + 0.00026241795087289743_r8, 0.00026228226763033155_r8, 9e90_r8 & + / +data saar_ref(:,14,31) / & + 3.4670664302953864e-06_r8, 3.405151048636156e-06_r8, & + 3.3245752702783979e-06_r8, 3.9768116099091618e-06_r8, & + 3.9268055979162594e-06_r8, 3.9088330446014609e-06_r8, & + 4.3097295066069903e-06_r8, 3.7462397495214207e-06_r8, & + 3.309182332606691e-06_r8, 3.3800735621855697e-06_r8, & + 3.5561042773505144e-06_r8, 3.8606751617195208e-06_r8, & + 4.8228177817284261e-06_r8, 5.8800257267356532e-06_r8, & + 7.1192670646311629e-06_r8, 8.8219116656941668e-06_r8, & + 1.1767198079257767e-05_r8, 1.659939056842365e-05_r8, & + 2.6553853983106464e-05_r8, 4.0433409435743878e-05_r8, & + 5.7772921489264128e-05_r8, 7.7522861210104703e-05_r8, & + 9.8091445487278678e-05_r8, 0.00011533431771804312_r8, & + 0.00013124145823178006_r8, 0.00014250570493429807_r8, & + 0.00015310206742988479_r8, 0.00017562180288334189_r8, & + 0.0001931136096685734_r8, 0.00020642365034376922_r8, & + 0.00021541588483397884_r8, 0.00021989324053417198_r8, & + 0.0002260026305241387_r8, 0.00023366383948082207_r8, & + 0.00024120725571838897_r8, 0.00024746662633755794_r8, & + 0.00025150963824142463_r8, 0.00025594356077173646_r8, & + 0.00025876313634589141_r8, 0.0002600434189205191_r8, & + 0.00026156578559993553_r8, 0.0002619227433143055_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,31) / & + 8.4142989229718697e-06_r8, 7.9856537523946102e-06_r8, & + 8.6014408896759907e-06_r8, 9.3730048433427356e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,31) / & + 9.3366595383564733e-06_r8, 9.4985624336005671e-06_r8, & + 1.0026069334656248e-05_r8, 1.1671762225750625e-05_r8, & + 1.2646935868156609e-05_r8, 1.3524708725437493e-05_r8, & + 1.7450786396644991e-05_r8, 2.0201265818158126e-05_r8, & + 2.8758557625508236e-05_r8, 3.7877970964724066e-05_r8, & + 4.6305015725405249e-05_r8, 5.512634685056847e-05_r8, & + 6.9518846653742253e-05_r8, 8.1673085727856429e-05_r8, & + 9.1862525075877264e-05_r8, 0.00010037482107535068_r8, & + 0.00012215464595792696_r8, 0.00014909903359776425_r8, & + 0.00017794422182397388_r8, 0.00020639431519861644_r8, & + 0.00022444504812155967_r8, 0.00023847557442946914_r8, & + 0.00025153078318198489_r8, 0.00025974430291220428_r8, & + 0.00026613848340432164_r8, 0.00027247497774351233_r8, & + 0.00027746430264068974_r8, 0.00028915338717843097_r8, & + 0.0002987223121750907_r8, 0.00030528590165373169_r8, & + 0.00030997212085033662_r8, 0.00031401397461322452_r8, & + 0.00031754095913638793_r8, 0.00031888291600229999_r8, & + 0.00031963755790878731_r8, 0.00031823433303920209_r8, & + 0.00031735063993147564_r8, 0.00031640552411470413_r8, & + 0.00031708572298750005_r8, 0.00031738278780560418_r8, & + 0.00031810148577398532_r8, 0.00031827480329637788_r8, & + 0.00031798296090221177_r8, 0.00031798259450087081_r8, 9e90_r8 & + / +data saar_ref(:,19,31) / & + 1.053629806847479e-05_r8, 1.0659712732567348e-05_r8, & + 1.0789063545017194e-05_r8, 1.1696328639204762e-05_r8, & + 1.2444908025398427e-05_r8, 1.3348088053700875e-05_r8, & + 1.7943431729385675e-05_r8, 2.5061966130239046e-05_r8, & + 3.619046500081165e-05_r8, 4.7195304784399858e-05_r8, & + 5.6429060619413567e-05_r8, 6.6437101373198194e-05_r8, & + 8.3286159562813146e-05_r8, 9.7679762791800262e-05_r8, & + 0.00010901370040196156_r8, 0.00011835545897213798_r8, & + 0.00014311517407449993_r8, 0.00016746380070072615_r8, & + 0.00019382130551189467_r8, 0.00021756297283108284_r8, & + 0.0002367077291110242_r8, 0.00025344944818157821_r8, & + 0.0002662967676819741_r8, 0.00027605000255628045_r8, & + 0.00028317412347927126_r8, 0.00028915261326462494_r8, & + 0.00029372589571864525_r8, 0.00030390851383171316_r8, & + 0.00031300464590254117_r8, 0.00031877894974514297_r8, & + 0.00032326849147508137_r8, 0.00032765875140413746_r8, & + 0.00033174753337453233_r8, 0.00033286768370066535_r8, & + 0.00033343315886302463_r8, 0.00033173706589418727_r8, & + 0.00033088926875377174_r8, 0.00033014114492782299_r8, & + 0.00033109617402543389_r8, 0.00033141999236589227_r8, & + 0.00033203573877931653_r8, 0.00033223080894802758_r8, & + 0.00033221138033207449_r8, 0.00033211062500446847_r8, 9e90_r8 & + / +data saar_ref(:,20,31) / & + 1.2164322983475694e-05_r8, 1.2393449192722558e-05_r8, & + 1.2301756489022345e-05_r8, 1.2456629708465468e-05_r8, & + 1.2491050905637701e-05_r8, 1.2817279306833756e-05_r8, & + 1.8486885805201903e-05_r8, 3.1260496605109156e-05_r8, & + 4.4302187475461523e-05_r8, 5.7224610472434932e-05_r8, & + 6.704205933893131e-05_r8, 7.5426348384652296e-05_r8, & + 9.1697643514172152e-05_r8, 0.0001053750847268042_r8, & + 0.00011526211370190891_r8, 0.00012239350301357423_r8, & + 0.00014812631515915531_r8, 0.00017404344452016574_r8, & + 0.0002022037250954237_r8, 0.00022549243581928104_r8, & + 0.00024645283063686688_r8, 0.00026690706298477125_r8, & + 0.00027937933880679242_r8, 0.00028951100976951441_r8, & + 0.00029721556253308655_r8, 0.0003031113610377088_r8, & + 0.00030778599824543855_r8, 0.0003174483694341351_r8, & + 0.00032666793262910626_r8, 0.00033282292747212247_r8, & + 0.00033768529594798395_r8, 0.00034205163947430761_r8, & + 0.00034636740212865989_r8, 0.00034733054463779002_r8, & + 0.00034784958044119311_r8, 0.00034606945648798468_r8, & + 0.00034541905534595234_r8, 0.00034441831112208337_r8, & + 0.00034533479710166509_r8, 0.00034570386217281068_r8, & + 0.00034626978122517674_r8, 0.0003463775564246592_r8, & + 0.00034637330936474522_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,31) / & + 1.7727570221341013e-05_r8, 1.8213418612988393e-05_r8, & + 1.5798584307650926e-05_r8, 1.4411703695963023e-05_r8, & + 1.3560868550554109e-05_r8, 1.4737758362525482e-05_r8, & + 2.2412525632456579e-05_r8, 3.5802955649136689e-05_r8, & + 4.6551497331094366e-05_r8, 5.892585101136228e-05_r8, & + 6.9946350236915002e-05_r8, 7.487911843970688e-05_r8, & + 9.7903511226950598e-05_r8, 0.00011114735795944067_r8, & + 0.00011970936460842978_r8, 0.00012516816058454058_r8, & + 0.00014318252991129315_r8, 0.00016544009814244953_r8, & + 0.00019024829812751176_r8, 0.00021019932035304113_r8, & + 0.00022805677685625939_r8, 0.00024943737806569656_r8, & + 0.00026002352397165492_r8, 0.00029757621979004231_r8, & + 0.00030522785856155452_r8, 0.00031155062152024359_r8, & + 0.00031652168356915381_r8, 0.00032651114049461001_r8, & + 0.00033502566733795375_r8, 0.00034112902993716838_r8, & + 0.00034544188497349199_r8, 0.000348992490123252_r8, & + 0.00035167183976009264_r8, 0.00035701286610841858_r8, & + 0.00035752275136493987_r8, 0.00035560360108405288_r8, & + 0.00035508973289494195_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,31) / & + 2.1032461346740468e-05_r8, 2.042574904127779e-05_r8, & + 1.687033434940764e-05_r8, 1.6233874448696496e-05_r8, & + 1.6119211699820298e-05_r8, 1.8100437823699641e-05_r8, & + 2.5213592343878822e-05_r8, 3.5539073953444144e-05_r8, & + 4.5115374265352641e-05_r8, 5.421323539931412e-05_r8, & + 6.7004057147591602e-05_r8, 7.3809142746751971e-05_r8, & + 0.00010801083952990164_r8, 0.00012307003109302605_r8, & + 0.00013618421014792567_r8, 0.00014429925616141231_r8, & + 0.0001591211815176719_r8, 0.00017837782554458532_r8, & + 0.00017931136788035701_r8, 0.00017919706541273634_r8, & + 0.00017732980736759614_r8, 0.00017651843835148743_r8, & + 0.00018605511617896065_r8, 0.00023979181895114504_r8, & + 0.00023976837325752877_r8, 0.00023973293045807922_r8, & + 0.0002397247914674332_r8, 0.00023970010080514003_r8, & + 0.00023972427197615524_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,31) / & + 2.1218448566733266e-05_r8, 2.0400916525431238e-05_r8, & + 1.6763384194527173e-05_r8, 1.8254902760615108e-05_r8, & + 1.955049062777643e-05_r8, 2.1389497545216776e-05_r8, & + 2.6918773912360184e-05_r8, 3.3564464314149485e-05_r8, & + 4.0444334472046367e-05_r8, 4.6611410035914258e-05_r8, & + 6.0030359766071371e-05_r8, 7.0470683698583745e-05_r8, & + 0.00011446330818090105_r8, 0.00013155716580754001_r8, & + 0.00015572286727958028_r8, 0.00017539665317781221_r8, & + 0.00018185530323434231_r8, 0.00019691005733584317_r8, & + 0.00019626370171407152_r8, 0.0001714397298125931_r8, & + 0.00017388670793841858_r8, 0.00018148199214611843_r8, & + 0.00018294557784933737_r8, 0.00016484954169493132_r8, & + 0.00016585640394648922_r8, 0.00016604849889794164_r8, & + 0.00016141357442452513_r8, 0.00013898694896459111_r8, & + 0.00013912806940245102_r8, 0.00013812104559106174_r8, & + 0.00013790722549720047_r8, 0.00013902826890397897_r8, & + 0.00013397737500755479_r8, 0.00013289208510700024_r8, & + 0.000133507049073019_r8, 0.00013072027492009366_r8, & + 0.00011660987927760473_r8, 0.00011323943389177367_r8, & + 0.00011222700764353229_r8, 0.00011187057645693446_r8, & + 0.00011187659991649972_r8, 0.00011187705002332011_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,31) / & + 2.1909063522991741e-05_r8, 2.046556486270236e-05_r8, & + 1.9769491431791152e-05_r8, 2.0626951137379803e-05_r8, & + 2.1809458210733422e-05_r8, 2.2371317436953218e-05_r8, & + 2.5958365163117102e-05_r8, 3.544759311330861e-05_r8, & + 4.5844006819791853e-05_r8, 5.2962825292591691e-05_r8, & + 6.5338671052586034e-05_r8, 7.6418564827110795e-05_r8, & + 0.00011098293670173253_r8, 0.00012913546669884404_r8, & + 0.00015292460245988995_r8, 0.00017801232625866488_r8, & + 0.00021180062517818545_r8, 0.00024665547042628406_r8, & + 0.00027079947170458084_r8, 0.00028456372372162299_r8, & + 0.00030189387681719108_r8, 0.00033135052716664628_r8, & + 0.0003457326938751518_r8, 0.00034605233531970312_r8, & + 0.00035648193397089982_r8, 0.00035718035800025451_r8, & + 0.00036117828057070429_r8, 0.00027640400543872153_r8, & + 0.00027836402198740096_r8, 0.00027595991874701704_r8, & + 0.00029224480178205437_r8, 0.00029155390364667437_r8, & + 0.00026982420744885659_r8, 0.00026720713418124542_r8, & + 0.00026688914365891682_r8, 0.00024894254064045465_r8, & + 0.00023647197513147912_r8, 0.00020073677087790049_r8, & + 0.00019737927264559349_r8, 0.00014963603988542466_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,31) / & + 2.0267625459420829e-05_r8, 1.8254925387388881e-05_r8, & + 1.9972511578056994e-05_r8, 2.0339820388955679e-05_r8, & + 2.1368838681692897e-05_r8, 2.1302073738713632e-05_r8, & + 2.3377915510877239e-05_r8, 3.2627822203044714e-05_r8, & + 4.574874077756596e-05_r8, 5.3730545973637884e-05_r8, & + 6.3993201589076699e-05_r8, 7.5017169287808588e-05_r8, & + 0.00010461094808799561_r8, 0.00012491498235644354_r8, & + 0.00015035297505802941_r8, 0.00017930687438419396_r8, & + 0.00022543890422633444_r8, 0.0002666050858786113_r8, & + 0.00029697506296669164_r8, 0.00032023240878971491_r8, & + 0.00035550456780317804_r8, 0.00040184042562709503_r8, & + 0.00042611822938202359_r8, 0.00045294538692987904_r8, & + 0.00047225346019657904_r8, 0.00047553125552805391_r8, & + 0.00047797754367201185_r8, 0.00044895467196180385_r8, & + 0.00043206792030643984_r8, 0.00041504131295826705_r8, & + 0.00041057512071289887_r8, 0.00040797413295685556_r8, & + 0.00040692653646124918_r8, 0.00040657579175597762_r8, & + 0.00040648251658983704_r8, 0.00040510291029619987_r8, & + 0.00038746438495958186_r8, 0.00035935288008032292_r8, & + 0.00035402729230697786_r8, 0.0003302927293504805_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,31) / & + 1.1544550251273103e-05_r8, 1.1053767195222152e-05_r8, & + 1.1985268569059136e-05_r8, 1.2623313489421292e-05_r8, & + 1.3032182157903512e-05_r8, 1.3580446474404836e-05_r8, & + 1.6134974185223266e-05_r8, 1.861698746696535e-05_r8, & + 2.5963798241322175e-05_r8, 3.1921330235511586e-05_r8, & + 3.9334319160900284e-05_r8, 4.7689004037455087e-05_r8, & + 6.8629092363093569e-05_r8, 9.134500435860751e-05_r8, & + 0.00011363720063369138_r8, 0.0001451758880034779_r8, & + 0.00021190694378747145_r8, 0.00024973381459937008_r8, & + 0.00028481917300741071_r8, 0.00031237345299029134_r8, & + 0.00034352183442803346_r8, 0.00038702758890497038_r8, & + 0.00041005882672895107_r8, 0.00043111401896170066_r8, & + 0.00046802109512704144_r8, 0.00047761747170464123_r8, & + 0.00049086832043772084_r8, 0.00050214636627076412_r8, & + 0.00049646843602344881_r8, 0.00046887837262468392_r8, & + 0.00045462683570916378_r8, 0.00043077884825186202_r8, & + 0.0003749430371566143_r8, 0.00035972302075672332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,31) / & + 8.3731203218062626e-06_r8, 9.5390698528736816e-06_r8, & + 9.2189721873886172e-06_r8, 7.1516356799852914e-06_r8, & + 7.1813545345776968e-06_r8, 8.0306089309438181e-06_r8, & + 9.8314430698557742e-06_r8, 1.2971656592443759e-05_r8, & + 1.7512673018022959e-05_r8, 2.2729083953483243e-05_r8, & + 2.8799712141366808e-05_r8, 3.8388341502072625e-05_r8, & + 5.8898238947566449e-05_r8, 8.2679993173643084e-05_r8, & + 0.00010456351367748375_r8, 0.00012946410185954687_r8, & + 0.00019862446023004388_r8, 0.00024224616227002112_r8, & + 0.00027801799816414143_r8, 0.00031305778680689529_r8, & + 0.00034659345132505471_r8, 0.00038431184389773281_r8, & + 0.00041013344872035783_r8, 0.00042729936963587672_r8, & + 0.00046064530625788952_r8, 0.00047263770199382481_r8, & + 0.00048764249251306553_r8, 0.00050036076382922083_r8, & + 0.00050565864789737949_r8, 0.0004828888564181616_r8, & + 0.00046911970108185169_r8, 0.00044544346970188032_r8, & + 0.00038357030188655852_r8, 0.00037218797654832772_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,31) / & + 9.6653133254929414e-06_r8, 1.0919031179761265e-05_r8, & + 1.0749903082753782e-05_r8, 8.8325415900007293e-06_r8, & + 8.6799130388824632e-06_r8, 9.812790768075185e-06_r8, & + 1.010458902644192e-05_r8, 1.4786084321827951e-05_r8, & + 1.9365496212353517e-05_r8, 2.4530566376446855e-05_r8, & + 3.1063688937421635e-05_r8, 3.9587854539401364e-05_r8, & + 6.1116157984593075e-05_r8, 8.4038628881541092e-05_r8, & + 0.00010831181992222088_r8, 0.00013454057170715741_r8, & + 0.00019906053333685947_r8, 0.00024924096438656_r8, & + 0.00028931178349535491_r8, 0.0003225878766405201_r8, & + 0.00035826421608905042_r8, 0.0003945586922054242_r8, & + 0.00042064179331508759_r8, 0.00043788462365447402_r8, & + 0.00046778885633055433_r8, 0.00048046542052405895_r8, & + 0.00049569684982174466_r8, 0.0005098650474601483_r8, & + 0.0005162330019320209_r8, 0.00049956007395318084_r8, & + 0.00048762883867697367_r8, 0.00046933643215648659_r8, & + 0.00042199730050479549_r8, 0.00042361169256767807_r8, & + 0.00050403332311739198_r8, 0.00050797136633406656_r8, & + 0.00050585869832442301_r8, 0.00050529562285869258_r8, & + 0.00050391208630631216_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,31) / & + 1.5896450049271713e-05_r8, 1.6547073295004427e-05_r8, & + 1.5952760324059161e-05_r8, 1.3791952279998136e-05_r8, & + 1.4397878218422265e-05_r8, 1.5525062517269208e-05_r8, & + 1.8178973532560323e-05_r8, 1.7785813996785364e-05_r8, & + 1.6449817657212846e-05_r8, 1.6875851077649236e-05_r8, & + 1.8681621745749394e-05_r8, 2.017592349467085e-05_r8, & + 2.7812981914745626e-05_r8, 4.1010903478780927e-05_r8, & + 6.0129927176681656e-05_r8, 8.5863718036137358e-05_r8, & + 0.00014810453131121709_r8, 0.00021202863616671583_r8, & + 0.00026957461969236385_r8, 0.00031873531894764255_r8, & + 0.00036412385941112175_r8, 0.0004007115756467373_r8, & + 0.00042523582999340028_r8, 0.00044314807401156384_r8, & + 0.00046708475208546979_r8, 0.00047980659603294137_r8, & + 0.00049154841276039581_r8, 0.00050848897943227452_r8, & + 0.00051980091037281159_r8, 0.0005238561879329684_r8, & + 0.00052380046107110571_r8, 0.00052229713364054396_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,31) / & + 3.3437695970956517e-05_r8, 3.5488165020942748e-05_r8, & + 2.4478757988410081e-05_r8, 2.254946833391902e-05_r8, & + 2.2562528935224594e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,31) / & + 3.3746733656873485e-05_r8, 3.3348591372878618e-05_r8, & + 3.6653517420078086e-05_r8, 3.59996947883982e-05_r8, & + 4.1311563812998335e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,31) / & + 3.3284858824539068e-05_r8, 3.3609299548913902e-05_r8, & + 3.5493987076456352e-05_r8, 4.0885069182250707e-05_r8, & + 3.9579855809608688e-05_r8, 4.1432159219694259e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,31) / & + 3.3809344146492514e-05_r8, 3.4424469359463548e-05_r8, & + 3.5460975944030962e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,31) / & + 0.00010426070623289668_r8, 8.5162800582817442e-05_r8, & + 6.30463681961974e-05_r8, 6.8254165264741508e-05_r8, & + 6.8033378179038328e-05_r8, 6.4336929352677133e-05_r8, & + 5.6504428785748715e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,31) / & + 5.0473129458430598e-05_r8, 5.3842612783563343e-05_r8, & + 5.1515193287818636e-05_r8, 5.7471527377744867e-05_r8, & + 5.964958060686048e-05_r8, 6.3548844874183224e-05_r8, & + 5.9195167835221481e-05_r8, 6.0131231805812119e-05_r8, & + 6.0579859177926806e-05_r8, 6.1300008265432297e-05_r8, & + 5.8809339722089488e-05_r8, 5.5699731877087292e-05_r8, & + 5.3671473730748241e-05_r8, 5.4203753476471499e-05_r8, & + 5.5872874951815233e-05_r8, 5.5430820001957323e-05_r8, & + 5.7731603353839458e-05_r8, 5.9386805215483588e-05_r8, & + 6.0339452950115952e-05_r8, 6.2646421274683753e-05_r8, & + 6.5790718353345387e-05_r8, 7.2179762426055207e-05_r8, & + 6.6514542833620807e-05_r8, 7.2620248805564184e-05_r8, & + 8.6411685646822423e-05_r8, 9.7983067933052643e-05_r8, & + 0.00010476479399036712_r8, 0.00010691321871995358_r8, & + 0.00010813526678777393_r8, 0.0001100988267297254_r8, & + 0.00011204886514756829_r8, 0.0001130166533892434_r8, & + 0.0001132424396438069_r8, 0.00011349208219224283_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,31) / & + 4.1272289056198899e-05_r8, 4.6189627783232111e-05_r8, & + 4.1715851441980217e-05_r8, 4.601977197989244e-05_r8, & + 4.7456822623390902e-05_r8, 6.067446787470779e-05_r8, & + 5.9141197153880097e-05_r8, 5.9802565370036941e-05_r8, & + 5.954549005790303e-05_r8, 5.9933336245871834e-05_r8, & + 6.0272435162258348e-05_r8, 5.8267845094374698e-05_r8, & + 5.7334090940250661e-05_r8, 5.8625798177692948e-05_r8, & + 5.932010805998334e-05_r8, 5.9694545690930812e-05_r8, & + 6.2001142326980962e-05_r8, 6.2930563909957801e-05_r8, & + 6.5031912046134167e-05_r8, 6.9166694567260106e-05_r8, & + 7.2650906818320417e-05_r8, 7.8187152922408937e-05_r8, & + 7.6178882379133561e-05_r8, 8.3741444263114805e-05_r8, & + 9.4878730391806561e-05_r8, 0.00010261583724581164_r8, & + 0.00010780866967858655_r8, 0.00010983132642806151_r8, & + 0.00011073252241641999_r8, 0.00011224154659357951_r8, & + 0.00011386476058855066_r8, 0.00011490012468706421_r8, & + 0.00011586343402959219_r8, 0.00011627228123123779_r8, & + 0.00011658570358108835_r8, 0.00011537792125425691_r8, & + 0.00011736822057753079_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,31) / & + 5.5725072260811957e-05_r8, 6.7403954344663535e-05_r8, & + 5.7702265019990935e-05_r8, 7.3221645589236688e-05_r8, & + 6.4883574126786147e-05_r8, 7.7190593842276254e-05_r8, & + 6.2968568421047682e-05_r8, 5.9787118667926711e-05_r8, & + 5.820365720573389e-05_r8, 5.9836751648997758e-05_r8, & + 6.1165841164729858e-05_r8, 6.1291530322619159e-05_r8, & + 6.3048634238720079e-05_r8, 6.3697687916147518e-05_r8, & + 6.5093425274589844e-05_r8, 6.6823017163813103e-05_r8, & + 6.8342188818855439e-05_r8, 6.9011161377278776e-05_r8, & + 7.146936100759917e-05_r8, 7.5962360431283156e-05_r8, & + 7.9346971973183778e-05_r8, 8.3006404789295776e-05_r8, & + 8.4860075621174508e-05_r8, 9.0999478636675894e-05_r8, & + 9.8396778012184189e-05_r8, 0.00010466331033470682_r8, & + 0.00011002548706093648_r8, 0.0001180429343514248_r8, & + 0.00011566408690788847_r8, 0.00011401510238390077_r8, & + 0.00011515470427651942_r8, 0.00011502297340712645_r8, & + 0.00011672630951596718_r8, 0.00011670568231533619_r8, & + 0.00011667874996176905_r8, 0.00011724309222815057_r8, & + 0.00012057453796154142_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,31) / & + 6.9951961558059611e-05_r8, 9.5068292555164629e-05_r8, & + 8.8066578357704847e-05_r8, 0.00011983866312983068_r8, & + 0.00011292035479134051_r8, 0.00012334896462158756_r8, & + 8.9303535656082636e-05_r8, 6.7436189779177002e-05_r8, & + 6.346256514320648e-05_r8, 6.4376284379612898e-05_r8, & + 6.5363760912516837e-05_r8, 6.5898443034934651e-05_r8, & + 6.6838749900461077e-05_r8, 6.8191628496501152e-05_r8, & + 6.9780452922313491e-05_r8, 7.1491814135178229e-05_r8, & + 7.2183764213216997e-05_r8, 7.2833978281785914e-05_r8, & + 7.5174514851225111e-05_r8, 7.8808348063461796e-05_r8, & + 8.1705519060291986e-05_r8, 8.5393544755119242e-05_r8, & + 8.9126074291997345e-05_r8, 9.3987228594598227e-05_r8, & + 9.9850271858070941e-05_r8, 0.00010501155509753863_r8, & + 0.00011137555522872909_r8, 0.00012113428094994069_r8, & + 0.00012072275981338274_r8, 0.00011792568695736971_r8, & + 0.00011880521959794721_r8, 0.00011894740708204124_r8, & + 0.00012007125152293918_r8, 0.00012006637379768443_r8, & + 0.0001203782727125537_r8, 0.00012091056054303912_r8, & + 0.00012414046476518572_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,32) / & + 8.5117898093274233e-05_r8, 8.5185699217464221e-05_r8, & + 0.0001164073158366202_r8, 9.6051868062551398e-05_r8, & + 0.00010084493645985973_r8, 9.1609075248246311e-05_r8, & + 0.00012237805230007952_r8, 0.00013966267762446509_r8, & + 0.00014917236428644488_r8, 0.00015442061124932416_r8, & + 0.00015605711063751654_r8, 0.00015621113479598602_r8, & + 0.00016912454076056094_r8, 0.00017474224506757417_r8, & + 0.00017692339341756182_r8, 0.00018437416591932576_r8, & + 0.00019173378286530614_r8, 0.00019765118294992392_r8, & + 0.0002074533025753375_r8, 0.0002169315752434548_r8, & + 0.00022001705388930348_r8, 0.00022736299283159458_r8, & + 0.0002313348933047619_r8, 0.00023723327184712692_r8, & + 0.00024228833564857689_r8, 0.00024563644494761692_r8, & + 0.00024903438512020859_r8, 0.0002571035587389007_r8, & + 0.0002600000471330186_r8, 0.00026409744025884769_r8, & + 0.00026769514242563946_r8, 0.00026975811374549711_r8, & + 0.00027154974639501291_r8, 0.00027026990273717241_r8, & + 0.00026799658086124837_r8, 0.00026624436282228091_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,32) / & + 5.421788436704097e-05_r8, 5.4328402161475351e-05_r8, & + 7.4717090488705839e-05_r8, 5.9958998145891465e-05_r8, & + 6.7168023766949324e-05_r8, 6.2934184735788791e-05_r8, & + 8.3420445269451353e-05_r8, 0.00010604941392878394_r8, & + 0.00012245377711729311_r8, 0.00013568960065400045_r8, & + 0.00014245518097204368_r8, 0.00015062977677374897_r8, & + 0.00016441690243745337_r8, 0.00017164356398425835_r8, & + 0.00017482683106422891_r8, 0.00017868202741277178_r8, & + 0.00018410084491119963_r8, 0.00018864327068269615_r8, & + 0.00019403535596335228_r8, 0.00020002742940169557_r8, & + 0.00020366483139226706_r8, 0.00020906351981215144_r8, & + 0.00021333618158395526_r8, 0.00021841588864209791_r8, & + 0.00022354844138952005_r8, 0.00022761864648287701_r8, & + 0.00023164521731816552_r8, 0.00024066018956993268_r8, & + 0.00024819456512888854_r8, 0.0002570491196888075_r8, & + 0.00026393426113567554_r8, 0.00026819327944337167_r8, & + 0.00027142149890065081_r8, 0.00027242989482447616_r8, & + 0.00027102352971870663_r8, 0.00026922112685662323_r8, & + 0.00026669082671175226_r8, 0.00026211568874630548_r8, & + 0.00025182742494200887_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,32) / & + 3.0547586440602064e-05_r8, 3.1092280980561558e-05_r8, & + 3.0604869060706266e-05_r8, 1.8931617626905449e-05_r8, & + 2.2317620483581788e-05_r8, 2.3038489387338988e-05_r8, & + 3.7347760558504508e-05_r8, 5.8634323006409307e-05_r8, & + 7.2992403516769784e-05_r8, 8.8243254152389457e-05_r8, & + 0.00010140849171266236_r8, 0.00011675251665944091_r8, & + 0.00013492941297866122_r8, 0.00014413389577495105_r8, & + 0.00015103300991828466_r8, 0.00015701868340963038_r8, & + 0.00016559339121915235_r8, 0.00017086312418032403_r8, & + 0.00017482481264201604_r8, 0.00017846197624855483_r8, & + 0.00018143330157928148_r8, 0.00018403491135123435_r8, & + 0.00018737959287421692_r8, 0.00019128283325686152_r8, & + 0.00019666017190189661_r8, 0.00020138528198971969_r8, & + 0.0002065869138880792_r8, 0.000218424367761327_r8, & + 0.00023032836470491671_r8, 0.00024237657042519122_r8, & + 0.00025280167137445709_r8, 0.00026092728134344788_r8, & + 0.00026669893565635713_r8, 0.00027163270958609637_r8, & + 0.00027384230960919792_r8, 0.00027342781783821563_r8, & + 0.00027072261706167431_r8, 0.00026801677204553085_r8, & + 0.00026081482816867627_r8, 0.0002706478574865259_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,32) / & + 1.9706995637219047e-05_r8, 1.973801131528489e-05_r8, & + 1.6730174494371816e-05_r8, 8.4109541008082138e-06_r8, & + 8.7673219569080646e-06_r8, 9.0404954467162679e-06_r8, & + 1.5893657786223394e-05_r8, 2.9426856743452762e-05_r8, & + 3.8360735057681232e-05_r8, 4.6370063304537249e-05_r8, & + 5.5212343536695611e-05_r8, 6.6018915854923249e-05_r8, & + 8.1051798449816687e-05_r8, 9.3497501018154809e-05_r8, & + 0.00010435247935555172_r8, 0.00011357055499161249_r8, & + 0.00012843614251687591_r8, 0.00013968234052990212_r8, & + 0.00014778173064124722_r8, 0.00015391153291849914_r8, & + 0.00015931655073211226_r8, 0.00016281822130523649_r8, & + 0.00016643641831556467_r8, 0.00016996678998308312_r8, & + 0.00017266772661104818_r8, 0.00017634593686056743_r8, & + 0.00018024420775227868_r8, 0.00019181692126065523_r8, & + 0.00020589892071644174_r8, 0.00021854192352207188_r8, & + 0.00023216108242065427_r8, 0.00024452494361956099_r8, & + 0.00025429934580512438_r8, 0.0002626743949585573_r8, & + 0.00026894370044563796_r8, 0.00027378093732745263_r8, & + 0.00027439359796284878_r8, 0.00027268187176994723_r8, & + 0.0002697401085474593_r8, 0.00027364747242879001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,32) / & + 1.328923148512593e-05_r8, 1.3251805091263334e-05_r8, & + 1.1390545216174414e-05_r8, 7.0722270906308799e-06_r8, & + 7.095398241543163e-06_r8, 7.201440114681542e-06_r8, & + 8.0486173845947551e-06_r8, 1.1709879119390206e-05_r8, & + 1.5119862052529727e-05_r8, 1.8900495584784441e-05_r8, & + 2.214627893405977e-05_r8, 2.5192264668076506e-05_r8, & + 2.8962931157999083e-05_r8, 3.3858542263137313e-05_r8, & + 4.1453386053461488e-05_r8, 4.6368955696564354e-05_r8, & + 5.6828989736631951e-05_r8, 6.8250858058140307e-05_r8, & + 7.8273800537969669e-05_r8, 9.0770622878807384e-05_r8, & + 0.00010238498345561993_r8, 0.00011317570747255669_r8, & + 0.00012285304265660871_r8, 0.00013266886670716403_r8, & + 0.00013931116892555907_r8, 0.00014589140902917686_r8, & + 0.00015178171800322394_r8, 0.00016193359487158516_r8, & + 0.00017071859721102484_r8, 0.00018094774351867758_r8, & + 0.00019524913945809602_r8, 0.00021164628104193176_r8, & + 0.00022669002510564563_r8, 0.00024035025637603879_r8, & + 0.00025323176527234433_r8, 0.00026315173176501874_r8, & + 0.0002703404601756376_r8, 0.00027460496703871458_r8, & + 0.0002764011260330062_r8, 0.00027712753917880675_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,32) / & + 7.824850200701035e-06_r8, 7.7646247567876811e-06_r8, & + 8.0217970716812746e-06_r8, 5.6878513798927729e-06_r8, & + 5.7111392812510944e-06_r8, 5.8109863407899386e-06_r8, & + 5.6103367775359129e-06_r8, 6.6039831186226791e-06_r8, & + 7.7631326408303346e-06_r8, 9.2129438974762568e-06_r8, & + 1.0066713469467052e-05_r8, 1.0684935238121892e-05_r8, & + 1.1489511621423132e-05_r8, 1.2524153341568212e-05_r8, & + 1.3822237459847259e-05_r8, 1.5058603574220359e-05_r8, & + 1.83242934673222e-05_r8, 2.2217483286464451e-05_r8, & + 2.8056851775693161e-05_r8, 3.7250181569908452e-05_r8, & + 4.8666145247820124e-05_r8, 6.1358589724319417e-05_r8, & + 7.693066728031123e-05_r8, 9.1965519926749404e-05_r8, & + 0.0001056454908815097_r8, 0.00011761455891413984_r8, & + 0.00012921268043107048_r8, 0.00015114410590544709_r8, & + 0.0001617501021421652_r8, 0.00016950343124669639_r8, & + 0.00017934830894953205_r8, 0.000192450628216652_r8, & + 0.00020811886580700416_r8, 0.00022387377987833571_r8, & + 0.00023875338774641169_r8, 0.00025066425478219594_r8, & + 0.0002545594885966304_r8, 0.00025549666384380872_r8, & + 0.0002562814217834199_r8, 0.00025943945178266698_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,32) / & + 4.9479830726665661e-06_r8, 4.8680874350986822e-06_r8, & + 5.2940747434441182e-06_r8, 3.5170019205679315e-06_r8, & + 3.5611871825070197e-06_r8, 3.6725979013039909e-06_r8, & + 3.5837204311755838e-06_r8, 4.2336036544203371e-06_r8, & + 5.2040774861513781e-06_r8, 6.0555092875401921e-06_r8, & + 6.5625646577706328e-06_r8, 7.2901640783344074e-06_r8, & + 8.4278307800771811e-06_r8, 9.4583995088532267e-06_r8, & + 1.0661479173065745e-05_r8, 1.1843843467623662e-05_r8, & + 1.3700251200477079e-05_r8, 1.5589234726833696e-05_r8, & + 2.0614354287217825e-05_r8, 2.9057752857458724e-05_r8, & + 4.1842241420944146e-05_r8, 5.5525781894256522e-05_r8, & + 7.376752663568241e-05_r8, 9.1577715106991683e-05_r8, & + 0.00010772085946635578_r8, 0.00012048283947224758_r8, & + 0.00013259062703485696_r8, 0.00015781591406227556_r8, & + 0.00017485216905382094_r8, 0.00018540393910293566_r8, & + 0.00019314556789170166_r8, 0.000200113674691682_r8, & + 0.00021025163964527777_r8, 0.00022168874014414356_r8, & + 0.00023300622595707644_r8, 0.0002432445763960713_r8, & + 0.00025106716554223866_r8, 0.00025491050108649327_r8, & + 0.00025714735797936945_r8, 0.00025954905950695658_r8, & + 0.00026064123893748963_r8, 0.00026111850116206878_r8, & + 0.00026255818293078264_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,32) / & + 3.4054177559071127e-06_r8, 3.3149792570453964e-06_r8, & + 3.5347641215835479e-06_r8, 3.6768805464948585e-06_r8, & + 3.6022122854269097e-06_r8, 3.3274985134692113e-06_r8, & + 3.5775127364038574e-06_r8, 3.0642194802380224e-06_r8, & + 3.2573247006277568e-06_r8, 3.6211381051477221e-06_r8, & + 3.8768065524090338e-06_r8, 4.5489853896588267e-06_r8, & + 5.660912585187338e-06_r8, 6.6693284218498641e-06_r8, & + 7.9856113482544948e-06_r8, 9.7187260507191336e-06_r8, & + 1.2509093328309785e-05_r8, 1.6225458788473573e-05_r8, & + 2.3474376919825472e-05_r8, 3.4322131168189972e-05_r8, & + 4.9579479159854299e-05_r8, 6.5965843842033002e-05_r8, & + 8.6056281636899095e-05_r8, 0.00010438968712343491_r8, & + 0.00012003863960831758_r8, 0.00013206733680637509_r8, & + 0.00014322873234028273_r8, 0.00016786931492106954_r8, & + 0.00018583981168440101_r8, 0.00019803073170049802_r8, & + 0.0002069487338318438_r8, 0.0002123557724826164_r8, & + 0.00021960800598397586_r8, 0.00022795007090954883_r8, & + 0.00023581436991459021_r8, 0.00024261151665344076_r8, & + 0.0002485726167974797_r8, 0.00025417452127036121_r8, & + 0.00025751734210892525_r8, 0.00025946230957715419_r8, & + 0.00026054777202968744_r8, 0.00026148636666589655_r8, & + 0.0002630155585056893_r8, 0.00026261085421946939_r8, 9e90_r8 & + / +data saar_ref(:,14,32) / & + 2.9846454837279127e-06_r8, 2.951813137700129e-06_r8, & + 3.1321498783496873e-06_r8, 3.9134209295931082e-06_r8, & + 3.9903968669490591e-06_r8, 3.8931828044137097e-06_r8, & + 4.3132682665124504e-06_r8, 3.3264131260598649e-06_r8, & + 3.1046772634017942e-06_r8, 3.0928996195654195e-06_r8, & + 3.1980624465425592e-06_r8, 3.580299375959927e-06_r8, & + 4.422882231437734e-06_r8, 5.1837555227902737e-06_r8, & + 6.5260406155059255e-06_r8, 8.5855675455070626e-06_r8, & + 1.2221254022123208e-05_r8, 1.7355360015969987e-05_r8, & + 2.631331269772749e-05_r8, 3.8679236535603482e-05_r8, & + 5.5594854518855473e-05_r8, 7.4310075300729057e-05_r8, & + 9.4468658042121435e-05_r8, 0.00011178223959295802_r8, & + 0.00012589620970280418_r8, 0.00013762864030356011_r8, & + 0.00014772084653654624_r8, 0.00017226969377188113_r8, & + 0.0001885724248623031_r8, 0.00020157893545450851_r8, & + 0.00021108784803548487_r8, 0.00021655561789668388_r8, & + 0.00022307700309798931_r8, 0.0002310737750069276_r8, & + 0.0002381512094054453_r8, 0.00024403771680034313_r8, & + 0.0002488007121262798_r8, 0.00025354433184833172_r8, & + 0.00025719010635590821_r8, 0.00025891155795307596_r8, & + 0.00026040713941981021_r8, 0.00026137388240760908_r8, & + 0.00026423248709650813_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,32) / & + 1.092391058313535e-05_r8, 1.1197460498069357e-05_r8, & + 1.112677565455359e-05_r8, 1.0866119927411152e-05_r8, & + 1.2533729384173886e-05_r8, 1.3192279253141336e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,32) / & + 1.1603847409111376e-05_r8, 1.1644260286718842e-05_r8, & + 1.1084546319017466e-05_r8, 1.1596897741626203e-05_r8, & + 1.2526144249105755e-05_r8, 1.3369514735246219e-05_r8, & + 1.6233893954024875e-05_r8, 2.2780829625768039e-05_r8, & + 3.595033312658548e-05_r8, 4.9619902955943374e-05_r8, & + 5.9177559587774968e-05_r8, 6.8547155728709068e-05_r8, & + 8.7153038864903358e-05_r8, 0.00010114863966387767_r8, & + 0.00011194051301898619_r8, 0.00012075834487797939_r8, & + 0.00014716953673526043_r8, 0.00017023616154032188_r8, & + 0.00019571237802574128_r8, 0.00021689203378629266_r8, & + 0.00023676651921770468_r8, 0.00025475460598098641_r8, & + 0.00026754155718905536_r8, 0.00027750030352715124_r8, & + 0.00028523771297784124_r8, 0.00029085234412280856_r8, & + 0.00029519722827090915_r8, 0.000304608437096032_r8, & + 0.00031354314632205338_r8, 0.00031918177731846202_r8, & + 0.00032320621573060757_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,32) / & + 1.1724397267071593e-05_r8, 1.1828684077417131e-05_r8, & + 1.1368086096752139e-05_r8, 1.1977314774326851e-05_r8, & + 1.2461247291353027e-05_r8, 1.3154861455894877e-05_r8, & + 1.7434157027294877e-05_r8, 2.8872698873914405e-05_r8, & + 4.2893211449807171e-05_r8, 5.7426753666174257e-05_r8, & + 6.6834264680607215e-05_r8, 7.4948209691996177e-05_r8, & + 9.1458439681272189e-05_r8, 0.00010495197345576912_r8, & + 0.0001144509419895657_r8, 0.00012243904253133908_r8, & + 0.00014720757964769028_r8, 0.00017121557781155572_r8, & + 0.00020041765349237679_r8, 0.00022358249395517657_r8, & + 0.00024603641741842116_r8, 0.00026473362023215726_r8, & + 0.00027835823698566252_r8, 0.00028849136883458173_r8, & + 0.00029723288496155827_r8, 0.00030189947052563734_r8, & + 0.00030704740039943492_r8, 0.00031578222831751026_r8, & + 0.00032373218223521929_r8, 0.00032987965266102824_r8, & + 0.00033618154788035243_r8, 0.00033856267836624305_r8, & + 0.00034450002256123643_r8, 0.00034755029807908341_r8, & + 0.00034804594847490583_r8, 0.00034805499538652774_r8, & + 0.00034806263536706381_r8, 0.00034805760902633574_r8, & + 0.00034805781007717757_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,32) / & + 1.5504562426035461e-05_r8, 1.5939215371445044e-05_r8, & + 1.4171956579046307e-05_r8, 1.3753895757995541e-05_r8, & + 1.3333626132698924e-05_r8, 1.4376470492337934e-05_r8, & + 2.0919563919823087e-05_r8, 3.4535041262014192e-05_r8, & + 4.4112118871835573e-05_r8, 5.7022798427453788e-05_r8, & + 6.7681992279122725e-05_r8, 7.4670135028955128e-05_r8, & + 9.663346548867283e-05_r8, 0.00010995521801476449_r8, & + 0.00011920179647215124_r8, 0.00012580718715472295_r8, & + 0.00014894599192471624_r8, 0.00017570191982428494_r8, & + 0.00020608812785092258_r8, 0.00022952636897762005_r8, & + 0.0002520449987668136_r8, 0.00027356128418394018_r8, & + 0.00028662841090399516_r8, 0.00029678877639406989_r8, & + 0.00030506520211662523_r8, 0.00031069274577440995_r8, & + 0.00031606192164758932_r8, 0.00032554818561687191_r8, & + 0.00033451357510872631_r8, 0.00034027707842990948_r8, & + 0.00034584604766498326_r8, 0.00034838593195368013_r8, & + 0.00035325999772158631_r8, 0.00035698634230535572_r8, & + 0.00035700158352807847_r8, 0.00035701147435073286_r8, & + 0.00035702181413607877_r8, 0.00035700235060028793_r8, & + 0.00035700538681074725_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,32) / & + 1.7614975177663414e-05_r8, 1.8185601036888698e-05_r8, & + 1.5688755521891207e-05_r8, 1.464438579390787e-05_r8, & + 1.39365330807001e-05_r8, 1.5241073936376114e-05_r8, & + 2.2870183306912197e-05_r8, 3.5811189961555248e-05_r8, & + 4.0960734283557061e-05_r8, 5.228484344343451e-05_r8, & + 6.3879273713944389e-05_r8, 7.1311557759131574e-05_r8, & + 0.00010486582484061238_r8, 0.00012040040852393811_r8, & + 0.00013420977446229886_r8, 0.00014458266780443453_r8, & + 0.00016950717708615168_r8, 0.00020072214301085139_r8, & + 0.0002265550884809474_r8, 0.00024361489523752139_r8, & + 0.00026467963209399198_r8, 0.00028673738544396734_r8, & + 0.00029969668124030631_r8, 0.00029840258524458475_r8, & + 0.00030599232401021031_r8, 0.00031191935404938439_r8, & + 0.00031716333675421053_r8, 0.00032275981205560277_r8, & + 0.00032669593897308028_r8, 0.00033960945604565468_r8, & + 0.00034349251650088165_r8, 0.00034399098229471629_r8, & + 0.00034722917845771747_r8, 0.00035753379865980994_r8, & + 0.00036767419405148887_r8, 0.00037037479004351864_r8, & + 0.00037038683930294995_r8, 0.00037036686348202943_r8, & + 0.0003703664590946062_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,32) / & + 1.6215112045210197e-05_r8, 1.6000084884945612e-05_r8, & + 1.2997246967736476e-05_r8, 1.4227236874246546e-05_r8, & + 1.5228396218734667e-05_r8, 1.6658892510269428e-05_r8, & + 2.1366253839152109e-05_r8, 2.7391399414420099e-05_r8, & + 3.3077386124114475e-05_r8, 3.9785448777112171e-05_r8, & + 5.1899118700163297e-05_r8, 6.3419942673530866e-05_r8, & + 0.00010260808341791802_r8, 0.00012308106770749975_r8, & + 0.00014261376163795476_r8, 0.00015873050373103282_r8, & + 0.00018922005699054058_r8, 0.00022186307878104022_r8, & + 0.00024758948389953458_r8, 0.00026830355800819305_r8, & + 0.00030152006057762923_r8, 0.00033879865313925445_r8, & + 0.00035895843718998727_r8, 0.0003607466626966364_r8, & + 0.0003748741675937249_r8, 0.00038207339892446158_r8, & + 0.00038044295535337056_r8, 0.00029456528017054697_r8, & + 0.000281814349863355_r8, 0.000234191305185821_r8, & + 0.00018985125565670072_r8, 0.00018581619658029311_r8, & + 0.00018074649765131671_r8, 0.00017412459416429229_r8, & + 0.00017354784856619197_r8, 0.00016426589203649255_r8, & + 0.00017155345701999904_r8, 0.00017499924440497278_r8, & + 0.00019227681310815821_r8, 0.00020388052919588563_r8, & + 0.00011187312154845013_r8, 0.00011187533586341989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,32) / & + 1.6208804983668876e-05_r8, 1.5490507017514167e-05_r8, & + 1.3188067961708987e-05_r8, 1.4350367051110663e-05_r8, & + 1.5333283030748663e-05_r8, 1.6341927709839269e-05_r8, & + 2.0892243041813874e-05_r8, 2.7029902440915668e-05_r8, & + 3.455717535570162e-05_r8, 4.1451522901750701e-05_r8, & + 5.3753080222266979e-05_r8, 6.6939942154273588e-05_r8, & + 0.00010458267773048092_r8, 0.00012549542095184469_r8, & + 0.00014654211756224571_r8, 0.00016539320797488857_r8, & + 0.00019635502813528184_r8, 0.00023144428425793168_r8, & + 0.00025780214535069872_r8, 0.00028246528793824467_r8, & + 0.00031783418425422279_r8, 0.00036083488613003825_r8, & + 0.0003851288081193858_r8, 0.00041173060080238746_r8, & + 0.00042956225364838976_r8, 0.00043684030885588198_r8, & + 0.00044054582577857126_r8, 0.00030463833279906357_r8, & + 0.00027289753345157054_r8, 0.00027366825571015907_r8, & + 0.00027204719879654572_r8, 0.00027259441553624091_r8, & + 0.00026626224533890595_r8, 0.00023468474007799854_r8, & + 0.00025163077953571205_r8, 0.00024830466914636947_r8, & + 0.00024742479043245961_r8, 0.00024690207210760809_r8, & + 0.00024557475697714614_r8, 0.00024535679469996427_r8, & + 0.00044837140157286099_r8, 0.00044879291934858662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,32) / & + 1.2680286370100646e-05_r8, 1.1873178143953126e-05_r8, & + 1.2371361602470518e-05_r8, 1.2440587181867813e-05_r8, & + 1.2774429798024651e-05_r8, 1.2764866388968684e-05_r8, & + 1.5348315904718721e-05_r8, 2.0706579862542292e-05_r8, & + 2.821157573624687e-05_r8, 3.1604802711175955e-05_r8, & + 3.9685083765679435e-05_r8, 5.2392696943164871e-05_r8, & + 7.9370807929511589e-05_r8, 0.00010226160071706394_r8, & + 0.00013009358245694367_r8, 0.0001599435655881597_r8, & + 0.00020332627088259927_r8, 0.00023802999116563349_r8, & + 0.00026118841987898708_r8, 0.00028669699045379295_r8, & + 0.00031785991801972868_r8, 0.00035609197085625433_r8, & + 0.00036881945524140159_r8, 0.00039438573429117504_r8, & + 0.00041421558772833063_r8, 0.00042609230900925881_r8, & + 0.00045379324427574007_r8, 0.00038752837347842103_r8, & + 0.0003906766020295335_r8, 0.00039635597441617192_r8, & + 0.00041288233256947147_r8, 0.00041553343693054691_r8, & + 0.00041685353622032017_r8, 0.00041669874652329166_r8, & + 0.00041562308592051636_r8, 0.00041554022385400841_r8, & + 0.00042008197588625662_r8, 0.00041109222273160427_r8, & + 0.00046264946789102679_r8, 0.00046213968560995859_r8, & + 0.00046146654095941756_r8, 0.00046257804967685654_r8, & + 0.0004619987335796131_r8, 0.00046285823602440539_r8, & + 0.0004632733852805593_r8 & + / +data saar_ref(:,26,32) / & + 6.1398056934361545e-06_r8, 6.0873170258698804e-06_r8, & + 6.4383494548778724e-06_r8, 5.8157367508660842e-06_r8, & + 5.8771931394212846e-06_r8, 5.8183715702781504e-06_r8, & + 6.8873836770915493e-06_r8, 8.5011898274656077e-06_r8, & + 1.0120755952408633e-05_r8, 1.1209454893653704e-05_r8, & + 1.5109305046036066e-05_r8, 1.7962408812339512e-05_r8, & + 2.8387990908186232e-05_r8, 4.1878843082668045e-05_r8, & + 6.6262823164670782e-05_r8, 9.640977171215302e-05_r8, & + 0.00015671470602693154_r8, 0.00020014907753521962_r8, & + 0.00023490302361599535_r8, 0.00027229786224164756_r8, & + 0.00030901021515101839_r8, 0.00034721721508940536_r8, & + 0.00037646523674772638_r8, 0.0003948999839846765_r8, & + 0.00040928912698754615_r8, 0.0004217610659037667_r8, & + 0.00043186283217775306_r8, 0.00045178601242597044_r8, & + 0.00046791971807294243_r8, 0.00047700125567768075_r8, & + 0.00048092099589962966_r8, 0.00048095494250687134_r8, & + 0.00047873701811700699_r8, 0.0004778406520896866_r8, & + 0.00047546129770975289_r8, 0.00047451443320928565_r8, & + 0.00047421216920975705_r8, 0.00047424160991878207_r8, & + 0.00047530453435997929_r8, 0.00047457824171392738_r8, & + 0.00047397265532724806_r8, 0.00047506010369663751_r8, & + 0.00047568322909234456_r8, 0.00047648093604189833_r8, & + 0.00047723719948573494_r8 & + / +data saar_ref(:,27,32) / & + 5.173444122609713e-06_r8, 5.1606640845868805e-06_r8, & + 5.1042353785318058e-06_r8, 5.0927984138220555e-06_r8, & + 5.2206175214552488e-06_r8, 5.2568695624311261e-06_r8, & + 5.6046741093058508e-06_r8, 5.8856696819789048e-06_r8, & + 6.1971661953109695e-06_r8, 6.860499685022893e-06_r8, & + 8.6975555578539422e-06_r8, 1.1641544722766474e-05_r8, & + 1.9024917832209428e-05_r8, 3.0058003402371185e-05_r8, & + 4.9402254719620476e-05_r8, 7.2435067712062255e-05_r8, & + 0.00013484887404041019_r8, 0.00019358811475832642_r8, & + 0.00023985473024450802_r8, 0.00028364348117402357_r8, & + 0.00033129018415218767_r8, 0.00037400283633634617_r8, & + 0.00040311046634182549_r8, 0.00042072170703270862_r8, & + 0.00043423534987817119_r8, 0.00044492700593721531_r8, & + 0.00045443051684930421_r8, 0.00047374625103726296_r8, & + 0.00048642672607037297_r8, 0.00049299634783822263_r8, & + 0.00049502167410883082_r8, 0.00049467103665591335_r8, & + 0.00049213304439776906_r8, 0.00049161893266259015_r8, & + 0.00049158061949418049_r8, 0.00049145905415396427_r8, & + 0.00049082818986972033_r8, 0.00049014257566940217_r8, & + 0.00049052680607422205_r8, 0.0004905381161802167_r8, & + 0.00049203212592144991_r8, 0.00049350156028296372_r8, & + 0.00049363687671351796_r8, 0.00049342826624736342_r8, 9e90_r8 & + / +data saar_ref(:,28,32) / & + 6.4962428514835976e-06_r8, 6.7159004611555451e-06_r8, & + 6.8447897552729084e-06_r8, 6.5635603207417427e-06_r8, & + 6.8317940548075919e-06_r8, 7.2515361889603866e-06_r8, & + 7.0463714322160693e-06_r8, 7.5169100731391357e-06_r8, & + 7.9680934649852586e-06_r8, 9.0241716019948281e-06_r8, & + 1.0956881462453584e-05_r8, 1.3771401513279561e-05_r8, & + 2.0274053820479929e-05_r8, 2.8155078191235778e-05_r8, & + 4.199782375429651e-05_r8, 6.136670884344593e-05_r8, & + 0.00011759298879543093_r8, 0.00018266770846381506_r8, & + 0.00024360796577868878_r8, 0.00029272472397643057_r8, & + 0.00034648512808743058_r8, 0.00039018530631202341_r8, & + 0.00041853803323647746_r8, 0.00043786364473539217_r8, & + 0.00045453737926532957_r8, 0.00046591412198362762_r8, & + 0.00047648135601476976_r8, 0.00049595003623952299_r8, & + 0.0005064528440944996_r8, 0.00050983152576550696_r8, & + 0.0005099750374274075_r8, 0.00050894626395629554_r8, & + 0.00050601671412179032_r8, 0.00050535887392487888_r8, & + 0.00050695096309305468_r8, 0.00050914775527534384_r8, & + 0.00050709442703534538_r8, 0.00050630373026358099_r8, & + 0.00050547146821525819_r8, 0.0005054221470218482_r8, & + 0.00050658965937838479_r8, 0.00050705613310420407_r8, & + 0.00050772947293941328_r8, 0.00050802244061480192_r8, & + 0.00050874684696051347_r8 & + / +data saar_ref(:,29,32) / & + 1.3167999222504443e-05_r8, 1.3231003497431693e-05_r8, & + 1.3009087867960853e-05_r8, 1.2183761542165796e-05_r8, & + 1.2840864206929552e-05_r8, 1.3489760111516473e-05_r8, & + 1.4153463826650964e-05_r8, 1.5391132699694009e-05_r8, & + 1.3945366131752686e-05_r8, 1.4463142140196813e-05_r8, & + 1.6465834254690228e-05_r8, 1.8058138554324832e-05_r8, & + 2.3480085875736967e-05_r8, 3.4314858966045526e-05_r8, & + 4.9809660995655512e-05_r8, 7.1629477789954154e-05_r8, & + 0.00013080701621301054_r8, 0.00019789407673149093_r8, & + 0.0002618461729987137_r8, 0.00031709567362748619_r8, & + 0.00036553930483357739_r8, 0.00040142823356840822_r8, & + 0.00042475636224201799_r8, 0.0004430601639917091_r8, & + 0.00047232953704004244_r8, 0.0004844265481464921_r8, & + 0.00049732429613701069_r8, 0.00051337051442337865_r8, & + 0.00052354703272169012_r8, 0.00052553233374463641_r8, & + 0.0005239438475728226_r8, 0.00052240406382949038_r8, & + 0.00051890695964658883_r8, 0.00051888626629017468_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,32) / & + 2.9336195699070608e-05_r8, 2.8826839476352498e-05_r8, & + 2.8220720223823049e-05_r8, 2.612135016250688e-05_r8, & + 2.6687243699136826e-05_r8, 2.8047685269804234e-05_r8, & + 2.7081427337379943e-05_r8, 2.2825618333197154e-05_r8, & + 2.2658287264732315e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,32) / & + 3.819448091910524e-05_r8, 3.6982516176747286e-05_r8, & + 3.9655505186023303e-05_r8, 3.6826755690167129e-05_r8, & + 4.0121325396815732e-05_r8, 4.3411040581259058e-05_r8, & + 4.8457225717061985e-05_r8, 5.1075588707867274e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,32) / & + 3.4626472782967137e-05_r8, 3.5692993675459837e-05_r8, & + 3.8137176290058246e-05_r8, 3.824821166454693e-05_r8, & + 4.1303421550587556e-05_r8, 4.3707893690723916e-05_r8, & + 5.5660305277778004e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,32) / & + 0.00012067703816550015_r8, 9.3523873382285607e-05_r8, & + 6.4496838921851855e-05_r8, 6.7045891881340407e-05_r8, & + 6.6576784302007272e-05_r8, 6.3568558538622781e-05_r8, & + 5.6955427268698042e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,32) / & + 5.6433049472055243e-05_r8, 5.9158844998240452e-05_r8, & + 5.3170391102657266e-05_r8, 5.7679786543978617e-05_r8, & + 5.9683749754083156e-05_r8, 6.3236819767547995e-05_r8, & + 6.0042910833192817e-05_r8, 6.0283254665862317e-05_r8, & + 6.061127925350871e-05_r8, 6.1057771394679682e-05_r8, & + 5.9502111348464087e-05_r8, 5.6320443864381261e-05_r8, & + 5.3900945115658806e-05_r8, 5.441964718181232e-05_r8, & + 5.6181133034800051e-05_r8, 5.5887817641139868e-05_r8, & + 5.8450735973014965e-05_r8, 5.9968297710039745e-05_r8, & + 6.0860745803329518e-05_r8, 6.3182878559596051e-05_r8, & + 6.6231227970025015e-05_r8, 7.2132963762821929e-05_r8, & + 6.6893735331720723e-05_r8, 7.2347375386357311e-05_r8, & + 8.541210904408675e-05_r8, 9.742886505985253e-05_r8, & + 0.00010479832962460929_r8, 0.00010821372317180133_r8, & + 0.00010816223060522242_r8, 0.00011024222286077257_r8, & + 0.00011207712701293712_r8, 0.00011276519224346474_r8, & + 0.00011324658101617404_r8, 0.0001134872679939111_r8, & + 0.00011431321445647432_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,32) / & + 4.6260482079013964e-05_r8, 5.0285980707559687e-05_r8, & + 4.3753327744715332e-05_r8, 4.8506116831677666e-05_r8, & + 4.8796871984142022e-05_r8, 6.2079262912542865e-05_r8, & + 6.1163572713110142e-05_r8, 6.2284728321060419e-05_r8, & + 6.0859726672015402e-05_r8, 6.0071575076861898e-05_r8, & + 6.0981711614470019e-05_r8, 5.9116752513373698e-05_r8, & + 5.7578235602060339e-05_r8, 5.935614298292985e-05_r8, & + 5.9707793505772621e-05_r8, 6.0376359949403724e-05_r8, & + 6.2790516605792026e-05_r8, 6.3625524058568149e-05_r8, & + 6.577872825772163e-05_r8, 6.9814596507104256e-05_r8, & + 7.3786159700427444e-05_r8, 7.8565443873238882e-05_r8, & + 7.7388169658413862e-05_r8, 8.4670340092499641e-05_r8, & + 9.5581922185485464e-05_r8, 0.0001028966421497671_r8, & + 0.00010823031410356732_r8, 0.00011069362047446568_r8, & + 0.00011085853093361768_r8, 0.00011223259322562_r8, & + 0.00011372792837348577_r8, 0.0001138403126625697_r8, & + 0.00011541534562910958_r8, 0.00011580067363007415_r8, & + 0.00011621382027448911_r8, 0.00011528243543808861_r8, & + 0.00011752458422326025_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,32) / & + 5.8602083243447467e-05_r8, 7.0144499176944691e-05_r8, & + 5.8622428264232856e-05_r8, 7.8670238618962985e-05_r8, & + 6.8105517574392618e-05_r8, 8.0330992294698204e-05_r8, & + 6.5626883875369337e-05_r8, 6.2361615599423374e-05_r8, & + 5.9206414251115136e-05_r8, 5.9989930119167644e-05_r8, & + 6.1578481403448015e-05_r8, 6.2089488141765055e-05_r8, & + 6.3351728116762437e-05_r8, 6.4295139178543074e-05_r8, & + 6.5357809403359445e-05_r8, 6.7353177205603602e-05_r8, & + 6.8758307949318967e-05_r8, 6.9312907171205631e-05_r8, & + 7.1762259496155597e-05_r8, 7.6219269715764205e-05_r8, & + 7.9690173419058252e-05_r8, 8.3260983021612637e-05_r8, & + 8.5408660038074902e-05_r8, 9.1466416599447019e-05_r8, & + 9.8767960487836413e-05_r8, 0.00010489152074636626_r8, & + 0.00011034381844279518_r8, 0.00011864421053321773_r8, & + 0.0001166411333357429_r8, 0.00011388647304189694_r8, & + 0.00011499448224374653_r8, 0.00011455967460335089_r8, & + 0.00011644499915859932_r8, 0.00011655859857457586_r8, & + 0.00011652739031103495_r8, 0.0001169872520174666_r8, & + 0.00012060575557928702_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,32) / & + 7.1600860256792578e-05_r8, 9.7110476813704646e-05_r8, & + 8.8054466096766307e-05_r8, 0.00011988493746949225_r8, & + 0.00011310337833996082_r8, 0.00012501168723247331_r8, & + 8.9161679475794418e-05_r8, 6.7086506667253726e-05_r8, & + 6.1218071798860012e-05_r8, 6.381544122389993e-05_r8, & + 6.4165879352870244e-05_r8, 6.5610696895495064e-05_r8, & + 6.6838639604186739e-05_r8, 6.8198011642257389e-05_r8, & + 6.9757389852877604e-05_r8, 7.1500491963766467e-05_r8, & + 7.2176146819386965e-05_r8, 7.2836629345460774e-05_r8, & + 7.5153115729188579e-05_r8, 7.8808038799678255e-05_r8, & + 8.1682716867570711e-05_r8, 8.5390581554404779e-05_r8, & + 8.9100531340630048e-05_r8, 9.3960366610029621e-05_r8, & + 9.9800788947583248e-05_r8, 0.00010493814780373007_r8, & + 0.00011127441415379223_r8, 0.00012109338967890442_r8, & + 0.00012111300132667919_r8, 0.00011794228011380344_r8, & + 0.00011880899068562889_r8, 0.00011891300965591702_r8, & + 0.00012003808709712837_r8, 0.00012006602123957326_r8, & + 0.00012032870573313963_r8, 0.00012086455769188577_r8, & + 0.00012414569932087452_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,33) / & + 8.2581807603468435e-05_r8, 8.267696878592814e-05_r8, & + 0.00010855499281952298_r8, 8.4688870397227721e-05_r8, & + 8.9153368424921219e-05_r8, 8.4421141440954852e-05_r8, & + 0.00011599275407261235_r8, 0.00013748008668894345_r8, & + 0.00015157642924092053_r8, 0.00015932486417246611_r8, & + 0.0001577381277831061_r8, 0.00015571761359850692_r8, & + 0.00016918535920928566_r8, 0.00017608326256630672_r8, & + 0.00017850157637250272_r8, 0.00018740337976057075_r8, & + 0.00019417404341068846_r8, 0.00019937718950087551_r8, & + 0.00020898528380859386_r8, 0.00021632827940018786_r8, & + 0.00022078890068300019_r8, 0.00022823364378452015_r8, & + 0.00023235094320795215_r8, 0.00023714420343432576_r8, & + 0.0002416413235600237_r8, 0.00024351699225462467_r8, & + 0.00024715762843844957_r8, 0.00025581619008381259_r8, & + 0.0002605375168634131_r8, 0.00026592771847923461_r8, & + 0.0002711555911174597_r8, 0.00027358426550290032_r8, & + 0.00027558845009706791_r8, 0.0002751850446633474_r8, & + 0.0002701162853649317_r8, 0.00026694296945813784_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,33) / & + 5.1761715941028556e-05_r8, 5.1271609040232056e-05_r8, & + 6.7566893799542377e-05_r8, 5.2120362717030316e-05_r8, & + 5.8600648945423739e-05_r8, 5.7884233583847451e-05_r8, & + 7.9825126058470292e-05_r8, 0.00010368057715797785_r8, & + 0.00012286372401955914_r8, 0.00013846854057154105_r8, & + 0.00014528369895765321_r8, 0.00015129443234448945_r8, & + 0.00016403458356674459_r8, 0.00017181550093678727_r8, & + 0.00017527028040923164_r8, 0.00017957430176555094_r8, & + 0.00018517130262147652_r8, 0.00018942580777729458_r8, & + 0.00019478485839238564_r8, 0.0002002285012549123_r8, & + 0.0002040323766834331_r8, 0.00020933214906907423_r8, & + 0.00021384815674949459_r8, 0.00021846336991289135_r8, & + 0.00022305830220554752_r8, 0.00022648154265728838_r8, & + 0.00023049197208927226_r8, 0.0002397216626721305_r8, & + 0.00024792894012388582_r8, 0.00025746962335840778_r8, & + 0.00026549832292292481_r8, 0.0002709764578899417_r8, & + 0.00027502633455609013_r8, 0.00027713066778623814_r8, & + 0.00027523751317304497_r8, 0.0002719423473711046_r8, & + 0.00026841733398788175_r8, 0.00026417150505561582_r8, & + 0.00026433441379071867_r8, 0.00026954473597839295_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,33) / & + 2.8581919138231308e-05_r8, 2.8881150702204798e-05_r8, & + 3.0571009750636153e-05_r8, 1.868287405734886e-05_r8, & + 2.1444547557021161e-05_r8, 2.3603788374148191e-05_r8, & + 3.7154663821001305e-05_r8, 5.357044444697694e-05_r8, & + 6.9611935142847376e-05_r8, 8.8036388970183586e-05_r8, & + 0.00010214454850091438_r8, 0.00011380872028649922_r8, & + 0.00012866044397634544_r8, 0.00013889920418004331_r8, & + 0.00014682739826192854_r8, 0.00015338513705862581_r8, & + 0.0001633196503056806_r8, 0.00016918327174072313_r8, & + 0.00017404029060493338_r8, 0.0001781485998487789_r8, & + 0.00018084088321792472_r8, 0.00018345683985392566_r8, & + 0.00018723395791699518_r8, 0.00019151672214207555_r8, & + 0.00019606777884959627_r8, 0.00020060423055146017_r8, & + 0.00020536587736579088_r8, 0.00021600996478216453_r8, & + 0.0002276439582559904_r8, 0.00023948706288528303_r8, & + 0.00025023299677432494_r8, 0.00025922679596535801_r8, & + 0.00026675616886410119_r8, 0.00027258164623530597_r8, & + 0.00027647864541602323_r8, 0.00027701304960525426_r8, & + 0.00027318610857648913_r8, 0.00026988978976338754_r8, & + 0.0002677798331708073_r8, 0.00027021954379283035_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,33) / & + 1.8066046099419403e-05_r8, 1.8069874421822886e-05_r8, & + 1.853920764995683e-05_r8, 1.0374373965570713e-05_r8, & + 1.0778973159298582e-05_r8, 1.1727924009124289e-05_r8, & + 1.7928385144276885e-05_r8, 2.6126586003528814e-05_r8, & + 3.2698736720773089e-05_r8, 4.0151601253176643e-05_r8, & + 4.9335607365940664e-05_r8, 5.7682279183128033e-05_r8, & + 6.6600334475984974e-05_r8, 8.0893238899724655e-05_r8, & + 9.1437337576656216e-05_r8, 0.0001004739430032318_r8, & + 0.00011815416238458459_r8, 0.00013041167216491453_r8, & + 0.00013903304960406624_r8, 0.0001469623744157426_r8, & + 0.00015436716009484147_r8, 0.00015960881523469929_r8, & + 0.00016456315780696604_r8, 0.00016954101888100778_r8, & + 0.00017284324267419159_r8, 0.00017647493100186187_r8, & + 0.00018024389189590421_r8, 0.00019061560801989367_r8, & + 0.00020294485900857555_r8, 0.00021490212365403062_r8, & + 0.00022819427526703023_r8, 0.00024024066778004187_r8, & + 0.0002516902325206947_r8, 0.000260787707644445_r8, & + 0.00026806880165984202_r8, 0.00027385789936140709_r8, & + 0.00027612475867988171_r8, 0.00027205180279387721_r8, & + 0.00026998145162075097_r8, 0.00027241090852795621_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,33) / & + 1.1608153158208233e-05_r8, 1.1586168278189545e-05_r8, & + 1.1837321909598963e-05_r8, 8.6098699985389054e-06_r8, & + 8.6800760891117873e-06_r8, 8.8311326677997576e-06_r8, & + 9.841351314680478e-06_r8, 1.2319264302460679e-05_r8, & + 1.48086725876649e-05_r8, 1.7538251929284644e-05_r8, & + 2.0318344210476634e-05_r8, 2.2523765209464733e-05_r8, & + 2.3878066296981682e-05_r8, 2.934696286545065e-05_r8, & + 3.5893104903839694e-05_r8, 3.9933877580414146e-05_r8, & + 4.9027901607078374e-05_r8, 5.8895795477050392e-05_r8, & + 6.760543925969394e-05_r8, 8.0530593729956465e-05_r8, & + 9.4468972310814372e-05_r8, 0.00010863185693342321_r8, & + 0.00011892408324022881_r8, 0.00013047091358931226_r8, & + 0.00013869142651704426_r8, 0.00014614775014717464_r8, & + 0.0001530276631051581_r8, 0.00016502041298041125_r8, & + 0.00017488686499136499_r8, 0.00018481344887129_r8, & + 0.00019691032836076995_r8, 0.00021082551783168328_r8, & + 0.00022693361315109865_r8, 0.0002406041792827114_r8, & + 0.00025254361006790584_r8, 0.0002604325600975964_r8, & + 0.00026314046227415285_r8, 0.0002678422848430926_r8, & + 0.00027537953191858944_r8, 0.00027712753917880675_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,33) / & + 7.2227040411256438e-06_r8, 7.1908509716298446e-06_r8, & + 7.6647364039553876e-06_r8, 6.1040461450327898e-06_r8, & + 6.2094547945109859e-06_r8, 6.3438858463792633e-06_r8, & + 6.0804933637336731e-06_r8, 6.8542379919127278e-06_r8, & + 7.7304253081274823e-06_r8, 8.7943191819182589e-06_r8, & + 9.5999259925225037e-06_r8, 1.0282154972891205e-05_r8, & + 1.119026431589909e-05_r8, 1.2325585835316567e-05_r8, & + 1.3271637182075068e-05_r8, 1.4245575271795776e-05_r8, & + 1.6313973005283242e-05_r8, 1.8622348847790755e-05_r8, & + 2.4284422153953447e-05_r8, 3.3293425615347383e-05_r8, & + 4.5579654848894334e-05_r8, 5.9361667593803673e-05_r8, & + 7.4504191482708924e-05_r8, 9.0764241859842389e-05_r8, & + 0.00010510848402597398_r8, 0.00011778030402549796_r8, & + 0.0001297451247826417_r8, 0.00015260959739756742_r8, & + 0.00016636791256209206_r8, 0.00017685490656384455_r8, & + 0.00018631866026731358_r8, 0.00019631255635597_r8, & + 0.00020823377039708976_r8, 0.00022247585336695666_r8, & + 0.00023577823356847754_r8, 0.00024749142964670913_r8, & + 0.00025534339960558809_r8, 0.0002584937530878481_r8, & + 0.00025800355852862486_r8, 0.00025766336614372942_r8, & + 0.00025818285865204517_r8, 0.00027829524891433312_r8, & + 0.00029293823514006743_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,33) / & + 4.6592649784181033e-06_r8, 4.6203989093266862e-06_r8, & + 5.1247619144579341e-06_r8, 3.5738442691741842e-06_r8, & + 3.6217468397518118e-06_r8, 3.8260207463841294e-06_r8, & + 3.727230260396977e-06_r8, 4.3554378484385631e-06_r8, & + 5.4244643520307437e-06_r8, 6.1493287649389007e-06_r8, & + 6.6352575090221437e-06_r8, 7.3274939900978375e-06_r8, & + 8.6295020134990978e-06_r8, 9.906883360123974e-06_r8, & + 1.1550915369353293e-05_r8, 1.3067572648042087e-05_r8, & + 1.5364057498340904e-05_r8, 1.7585068275720955e-05_r8, & + 2.3467114699093723e-05_r8, 3.3019447686303573e-05_r8, & + 4.6412953342375768e-05_r8, 6.0656500984056631e-05_r8, & + 7.9687673337578956e-05_r8, 9.8296111440987957e-05_r8, & + 0.00011346811506502689_r8, 0.00012544935863385679_r8, & + 0.00013640849245423746_r8, 0.00016014463726166098_r8, & + 0.00017687173507223186_r8, 0.00018854750661958906_r8, & + 0.00019826162289391655_r8, 0.0002058890269899942_r8, & + 0.00021395853570177568_r8, 0.00022267487991268432_r8, & + 0.00023144582117261262_r8, 0.00024013846291038552_r8, & + 0.00024799827943595368_r8, 0.00025247182834340997_r8, & + 0.00025502322149543668_r8, 0.00025678009644856129_r8, & + 0.00025727436011847973_r8, 0.000259756597890581_r8, & + 0.0002620728121463246_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,33) / & + 3.4999904893925533e-06_r8, 3.4287011290448445e-06_r8, & + 3.6623547138391685e-06_r8, 3.8821650369989962e-06_r8, & + 3.6187655979749371e-06_r8, 3.2949451740236578e-06_r8, & + 3.5562422933655878e-06_r8, 3.1366268599656733e-06_r8, & + 3.3680499821941891e-06_r8, 3.6013453342926986e-06_r8, & + 3.8447223398387545e-06_r8, 4.4281578949875999e-06_r8, & + 5.5192814081059767e-06_r8, 6.5833522357870071e-06_r8, & + 8.1658586736956092e-06_r8, 1.0212600186248401e-05_r8, & + 1.3762563230625314e-05_r8, 1.7419554304506609e-05_r8, & + 2.4257081606098759e-05_r8, 3.4586644352833165e-05_r8, & + 4.9436342792997735e-05_r8, 6.5555943856656493e-05_r8, & + 8.6120804562157683e-05_r8, 0.00010666375944238895_r8, & + 0.00012232047492145541_r8, 0.00013423220099101097_r8, & + 0.00014457287044593781_r8, 0.00016715086986110914_r8, & + 0.00018454780858619596_r8, 0.0001970421670655135_r8, & + 0.00020695658783792865_r8, 0.00021446298947673417_r8, & + 0.00022157249195678977_r8, 0.00022860525164152226_r8, & + 0.00023516242156535348_r8, 0.00024109831663644753_r8, & + 0.00024658070008613304_r8, 0.0002514210759529117_r8, & + 0.00025466674595696023_r8, 0.00025743560304125938_r8, & + 0.00025819690474491026_r8, 0.00026023526646903303_r8, & + 0.00026384030470063115_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,33) / & + 2.8074718943208024e-06_r8, 2.8045060383603648e-06_r8, & + 2.9312671887454747e-06_r8, 3.6381759335877498e-06_r8, & + 3.7892631527804558e-06_r8, 3.69529025193486e-06_r8, & + 4.2614067954686038e-06_r8, 3.6567779189560025e-06_r8, & + 3.2577644085437626e-06_r8, 2.9885699328734958e-06_r8, & + 2.9247973792529277e-06_r8, 3.1950333229765785e-06_r8, & + 3.8596054987929284e-06_r8, 4.6085726164603658e-06_r8, & + 6.0674322244974639e-06_r8, 8.3774088643502892e-06_r8, & + 1.2896219307654285e-05_r8, 1.8246706437827179e-05_r8, & + 2.6790171573614944e-05_r8, 3.7790875137477692e-05_r8, & + 5.4387064853646473e-05_r8, 7.3206367332164689e-05_r8, & + 9.365521553159318e-05_r8, 0.00011252672939263536_r8, & + 0.00012653372490891218_r8, 0.00013859075562417408_r8, & + 0.00014793997049882975_r8, 0.00017008744931452398_r8, & + 0.00018605024852624204_r8, 0.00020007573601792583_r8, & + 0.00020979254362235832_r8, 0.0002170754131008188_r8, & + 0.00022353508491969966_r8, 0.00023110681865276569_r8, & + 0.00023732092029772229_r8, 0.00024296790130109999_r8, & + 0.00024801076338136843_r8, 0.00025239806096945098_r8, & + 0.00025535920409003001_r8, 0.00025781359804719284_r8, & + 0.00025846607149603089_r8, 0.00026085011756120542_r8, & + 0.00026415338576505308_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,33) / & + 1.7581052127277381e-06_r8, 1.8659050111801138e-06_r8, & + 1.9700475471805654e-06_r8, 2.3671419504016614e-06_r8, & + 2.6350606953477839e-06_r8, 2.5635847663799522e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,33) / & + 1.0162810149265226e-05_r8, 1.0284020041900309e-05_r8, & + 9.8890159868775844e-06_r8, 1.1864811267078987e-05_r8, & + 1.2312793315009118e-05_r8, 1.2721012541691792e-05_r8, & + 1.615220382979297e-05_r8, 2.1333403516772144e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,33) / & + 1.0248580069708149e-05_r8, 1.0501659784155134e-05_r8, & + 1.007964849897578e-05_r8, 1.0274593954597167e-05_r8, & + 1.1065306908939945e-05_r8, 1.1612771821747381e-05_r8, & + 1.3930564632795262e-05_r8, 2.6745574656061257e-05_r8, & + 4.0267499724742224e-05_r8, 5.2033057411797635e-05_r8, & + 6.024334528677471e-05_r8, 7.116031087109112e-05_r8, & + 9.0083337085872478e-05_r8, 0.00010554825480673796_r8, & + 0.00011648580621967062_r8, 0.00012616763380193127_r8, & + 0.00014858360085765842_r8, 0.00017139456278201018_r8, & + 0.00019679489547604138_r8, 0.00022341175141603049_r8, & + 0.00024380680572195292_r8, 0.00026189560030917346_r8, & + 0.00027691228451206748_r8, 0.00028794069680078882_r8, & + 0.00029610874613866854_r8, 0.00030065283537620776_r8, & + 0.00030571560343789738_r8, 0.00031433201983409076_r8, & + 0.00032111376919813719_r8, 0.00032624212298881816_r8, & + 0.0003330512964823698_r8, 0.00033691128270258678_r8, & + 0.00034437305544010583_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,33) / & + 1.3543381122904695e-05_r8, 1.3965523549756229e-05_r8, & + 1.2623493918059849e-05_r8, 1.1975394559174483e-05_r8, & + 1.1903421868342778e-05_r8, 1.2775316404847728e-05_r8, & + 1.7933104558089762e-05_r8, 3.1731981843770707e-05_r8, & + 4.212141678409595e-05_r8, 5.4511693755717059e-05_r8, & + 6.4257890140278305e-05_r8, 7.2423066339055744e-05_r8, & + 9.4456093858419631e-05_r8, 0.00010908929836476151_r8, & + 0.0001195270927715252_r8, 0.00012763130289597559_r8, & + 0.00014965927107745745_r8, 0.00017507202099323143_r8, & + 0.00020412092161490385_r8, 0.00022893308442682278_r8, & + 0.00025105903037749044_r8, 0.00027184326346631172_r8, & + 0.00028589321970042377_r8, 0.00029652595026333727_r8, & + 0.00030507599899952425_r8, 0.00031063202103990558_r8, & + 0.00031607152748878569_r8, 0.0003254858241446749_r8, & + 0.00033403395221855668_r8, 0.00033964785507857695_r8, & + 0.00034572786549451221_r8, 0.00034805274661345949_r8, & + 0.00035327596394464785_r8, 0.00035707859657372281_r8, & + 0.00035699802156011716_r8, 0.00035700842305150514_r8, & + 0.00035700982451732847_r8, 0.00035701195499466382_r8, & + 0.00035702006862315327_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,33) / & + 1.1683901025269986e-05_r8, 1.2099346899025624e-05_r8, & + 1.0283949506767487e-05_r8, 1.0209599107311665e-05_r8, & + 9.9517494564185035e-06_r8, 1.0660557526801135e-05_r8, & + 1.4509342868268924e-05_r8, 2.3390629426806507e-05_r8, & + 2.9061886258252223e-05_r8, 3.9019914953092437e-05_r8, & + 4.8432097044860822e-05_r8, 5.5501553611025318e-05_r8, & + 8.3636415057201482e-05_r8, 0.00010533520694573578_r8, & + 0.00011896922952146542_r8, 0.00012935960731185533_r8, & + 0.00014940861497402579_r8, 0.00017370284698887731_r8, & + 0.00020201785401985283_r8, 0.00022859101496377105_r8, & + 0.00025562208293166653_r8, 0.00028246276390300469_r8, & + 0.00030039617995485378_r8, 0.00031093988998320664_r8, & + 0.00032244114029235984_r8, 0.0003318278504405623_r8, & + 0.00033983630431233574_r8, 0.00034862884569436444_r8, & + 0.00035681918824741166_r8, 0.0003603312811639834_r8, & + 0.0003637634342393743_r8, 0.0003672096345102794_r8, & + 0.00036934178303714302_r8, 0.00037321666706607404_r8, & + 0.00038167505476529874_r8, 0.0003817393882222017_r8, & + 0.0003713624551622302_r8, 0.0003712958891091665_r8, & + 0.00037036866292817057_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,33) / & + 7.9089606340493542e-06_r8, 8.0064135947840019e-06_r8, & + 6.2989980607360042e-06_r8, 6.5168636990906536e-06_r8, & + 6.7121820081999436e-06_r8, 7.2296134433823049e-06_r8, & + 9.832757896900417e-06_r8, 1.4815188920044521e-05_r8, & + 2.0075403703946534e-05_r8, 2.76918879694848e-05_r8, & + 3.5982967201217848e-05_r8, 4.7359740169803722e-05_r8, & + 7.5650917317942779e-05_r8, 0.00010450774177210517_r8, & + 0.00012064542240641182_r8, 0.00013297159321911159_r8, & + 0.00014993819952086786_r8, 0.0001675978368341049_r8, & + 0.00019206207843361337_r8, 0.00022178365055867038_r8, & + 0.00025409998298970112_r8, 0.00028496147665466075_r8, & + 0.00030616670822260791_r8, 0.00032549467420532781_r8, & + 0.0003421642024784523_r8, 0.00035930242078521319_r8, & + 0.00037518715148775542_r8, 0.00039799589863168572_r8, & + 0.00041899444666611789_r8, 0.00042730576674482708_r8, & + 0.00042820526094644639_r8, 0.00043942064574209125_r8, & + 0.00043954115806864221_r8, 0.00043914984417804415_r8, & + 0.00043828937702953099_r8, 0.00043817950635349941_r8, & + 0.00043672106659653991_r8, 0.00043635400528077047_r8, & + 0.00043564985178067331_r8, 0.00043432658228906507_r8, & + 0.00043450537641651841_r8, 0.00043568553441631274_r8, & + 0.00043452006638911272_r8, 0.00043404651896457709_r8, 9e90_r8 & + / +data saar_ref(:,24,33) / & + 7.0336957314955295e-06_r8, 7.002956284760993e-06_r8, & + 6.4838615782461038e-06_r8, 6.3606065733113047e-06_r8, & + 6.6112852326864282e-06_r8, 7.2227967705382823e-06_r8, & + 9.2245456833169463e-06_r8, 1.446296925508763e-05_r8, & + 2.1986580834304227e-05_r8, 3.189370899952737e-05_r8, & + 4.3948789195267662e-05_r8, 6.2245008599679479e-05_r8, & + 9.247933217378363e-05_r8, 0.0001160592416836841_r8, & + 0.00012948495466752957_r8, 0.00013854891374168808_r8, & + 0.00015478597779525387_r8, 0.00017475777072130868_r8, & + 0.00019860622348769858_r8, 0.00022738041001021169_r8, & + 0.00025778808570238936_r8, 0.00028910627211848331_r8, & + 0.00031480365402397013_r8, 0.00033849459032208706_r8, & + 0.00035865357733701951_r8, 0.00037610569400233434_r8, & + 0.00039181764732952167_r8, 0.00041643704778595154_r8, & + 0.00043699521461767186_r8, 0.0004474665807655544_r8, & + 0.000453757351464904_r8, 0.00045446068288186521_r8, & + 0.00045429596997738087_r8, 0.0004532537709037765_r8, & + 0.00045252356853042692_r8, 0.00045220207426157884_r8, & + 0.00045134295123328938_r8, 0.00045067422864372806_r8, & + 0.00045025201213064572_r8, 0.00044921515778026052_r8, & + 0.00044978453555569279_r8, 0.00045024748128190092_r8, & + 0.0004492222723381209_r8, 0.00044916308946089814_r8, & + 0.00044922577748872963_r8 & + / +data saar_ref(:,25,33) / & + 5.6229870296884451e-06_r8, 5.6599204145813843e-06_r8, & + 6.1152893658785731e-06_r8, 5.277322174489793e-06_r8, & + 5.3788946556524856e-06_r8, 5.6460881946790962e-06_r8, & + 6.4396343561943871e-06_r8, 8.9430886904068005e-06_r8, & + 1.4097476936274456e-05_r8, 2.1925615192578216e-05_r8, & + 3.1238775383339791e-05_r8, 4.4728295197780699e-05_r8, & + 7.1877792919498577e-05_r8, 0.00010303599392035724_r8, & + 0.00012702869601796169_r8, 0.00014795660014329184_r8, & + 0.00017667633094313283_r8, 0.00020014087767127313_r8, & + 0.00022115490179577712_r8, 0.00024675629515020689_r8, & + 0.00027341283709301606_r8, 0.00030232269308831888_r8, & + 0.00032917497397379572_r8, 0.00035410675345533363_r8, & + 0.00037568443229987243_r8, 0.00039327715535657291_r8, & + 0.00040803278680843081_r8, 0.00043386584507131606_r8, & + 0.00045209188754483516_r8, 0.00046200208938292726_r8, & + 0.00046861708790836901_r8, 0.00046967196228385916_r8, & + 0.00046808493031131351_r8, 0.00046597346978539332_r8, & + 0.00046427109372529813_r8, 0.00046332806285144431_r8, & + 0.00046264851748932962_r8, 0.00046284580692369115_r8, & + 0.00046386178359580476_r8, 0.00046313215481402884_r8, & + 0.00046274353983356679_r8, 0.00046291484859150244_r8, & + 0.00046257036939958572_r8, 0.00046352032903323976_r8, & + 0.00046260905439552894_r8 & + / +data saar_ref(:,26,33) / & + 4.7730471622932873e-06_r8, 4.7705345186681705e-06_r8, & + 4.9024018778943895e-06_r8, 3.9492568545682947e-06_r8, & + 4.0092285346674425e-06_r8, 3.8670855348503161e-06_r8, & + 4.4429198784257431e-06_r8, 4.9229949256734287e-06_r8, & + 5.8986703612591924e-06_r8, 8.0109579590809633e-06_r8, & + 1.1646259910483598e-05_r8, 1.601164013203962e-05_r8, & + 2.8995336717191577e-05_r8, 5.2760812098927727e-05_r8, & + 8.1643272725910829e-05_r8, 0.00011401383360720447_r8, & + 0.00016718578247225169_r8, 0.00020642239189045484_r8, & + 0.00024005413214794809_r8, 0.00027171972674718171_r8, & + 0.00030360181580731983_r8, 0.00033617804363783588_r8, & + 0.00036221028574428876_r8, 0.0003832457823588531_r8, & + 0.00040077504770380783_r8, 0.00041560719207878096_r8, & + 0.00042808723127045072_r8, 0.00045158630137950845_r8, & + 0.00046848146305579507_r8, 0.00047808991797950026_r8, & + 0.00048323991210292769_r8, 0.00048400501277928552_r8, & + 0.00048209795195115529_r8, 0.00047986665431332305_r8, & + 0.00047743866714678628_r8, 0.00047556753535785043_r8, & + 0.00047527758054157182_r8, 0.00047553888868263905_r8, & + 0.00047701127948063254_r8, 0.00047660464792740736_r8, & + 0.00047633658491279404_r8, 0.00047652732583115267_r8, & + 0.00047617474559160305_r8, 0.00047644552929996224_r8, & + 0.00047792397144320056_r8 & + / +data saar_ref(:,27,33) / & + 4.9505071815960867e-06_r8, 4.9822349756912973e-06_r8, & + 4.9691942991798407e-06_r8, 5.0502892686170374e-06_r8, & + 5.1183810289112628e-06_r8, 5.0549801860384974e-06_r8, & + 5.1532114239426135e-06_r8, 5.1376162277040676e-06_r8, & + 5.0504003423833448e-06_r8, 5.5891148404919932e-06_r8, & + 7.3880003154194598e-06_r8, 1.0277496516065621e-05_r8, & + 1.630203827036909e-05_r8, 2.5854904729391051e-05_r8, & + 4.2911116631608169e-05_r8, 6.5649238029224106e-05_r8, & + 0.00012894059910790822_r8, 0.00018826087328563629_r8, & + 0.00024061606731710811_r8, 0.00028975583765690824_r8, & + 0.00033534551018994489_r8, 0.00037473097194804807_r8, & + 0.00040105886398469497_r8, 0.00041930039501845561_r8, & + 0.00043255988789789752_r8, 0.00044353510601009464_r8, & + 0.00045452813783967191_r8, 0.00047702528524859808_r8, & + 0.00049095162239892515_r8, 0.00049664862873218115_r8, & + 0.00049910838175807779_r8, 0.00049921821327346839_r8, & + 0.00049754345301050045_r8, 0.00049593085852648374_r8, & + 0.00049486556169475292_r8, 0.00049376403949239031_r8, & + 0.00049307752626861286_r8, 0.00049325468399142734_r8, & + 0.00049338678722395286_r8, 0.00049374284951607687_r8, & + 0.00049410461501518644_r8, 0.00049475945353075993_r8, & + 0.00049368061368276479_r8, 0.00049279691551363614_r8, & + 0.00049340370509112536_r8 & + / +data saar_ref(:,28,33) / & + 5.6501822378380649e-06_r8, 5.6256648497848566e-06_r8, & + 5.7624449471478866e-06_r8, 6.1324645251266019e-06_r8, & + 6.2764360315524303e-06_r8, 6.357119918209955e-06_r8, & + 6.0424254456770875e-06_r8, 5.700404299777861e-06_r8, & + 5.9636658961555747e-06_r8, 7.1280322024032613e-06_r8, & + 8.6201949781105465e-06_r8, 1.0987771132982325e-05_r8, & + 1.5090217226742946e-05_r8, 2.0078357560192175e-05_r8, & + 3.0681735943761993e-05_r8, 4.632376047753851e-05_r8, & + 9.5246725285267313e-05_r8, 0.00016064931509095646_r8, & + 0.00023021384280660906_r8, 0.00029548148068193631_r8, & + 0.00035108908896230374_r8, 0.00039750475198513651_r8, & + 0.00042668408045672427_r8, 0.00044783148342135854_r8, & + 0.00046221265825886667_r8, 0.00047287364491405837_r8, & + 0.00048403269121412041_r8, 0.00050368172101453417_r8, & + 0.00051297836281114211_r8, 0.00051491123551266585_r8, & + 0.00051510671387301776_r8, 0.00051451189330367609_r8, & + 0.00051307066121013311_r8, 0.0005118612808658338_r8, & + 0.00051195514555491732_r8, 0.00051245289028996571_r8, & + 0.00051098085173418531_r8, 0.00050960688418118379_r8, & + 0.00050879671553403778_r8, 0.00050844128545756513_r8, & + 0.00050888506374998841_r8, 0.00050903317599340745_r8, & + 0.00050865067339322858_r8, 0.00050835906781921271_r8, & + 0.00050833546040036535_r8 & + / +data saar_ref(:,29,33) / & + 8.2740032957495806e-06_r8, 7.8149833758881082e-06_r8, & + 7.6831613773904182e-06_r8, 7.3652606586933437e-06_r8, & + 7.8915014723524225e-06_r8, 8.2587183671803414e-06_r8, & + 8.7254219194356163e-06_r8, 1.0144686220977307e-05_r8, & + 1.147113418362758e-05_r8, 1.3083967674036278e-05_r8, & + 1.4817838149535555e-05_r8, 1.5955282542214552e-05_r8, & + 1.9236868718716602e-05_r8, 2.6382397211809901e-05_r8, & + 3.7748958798573812e-05_r8, 5.374162097383101e-05_r8, & + 0.00010182091024584468_r8, 0.0001665046122255686_r8, & + 0.00024153048564988015_r8, 0.00031202926531570394_r8, & + 0.0003693835358254491_r8, 0.00041391517651629686_r8, & + 0.00044306553084440725_r8, 0.00046713196657171998_r8, & + 0.00048811289628895491_r8, 0.00050052759817165052_r8, & + 0.00051161164681757696_r8, 0.00052379960644840997_r8, & + 0.00053141280430742967_r8, 0.00053309302299400145_r8, & + 0.00053272698009509587_r8, 0.00053172187008174751_r8, & + 0.00053023707767585861_r8, 0.00052876712095802699_r8, & + 0.0005287684749431254_r8, 0.00052934626566855181_r8, & + 0.00052738764169476659_r8, 0.00052585389528983593_r8, & + 0.00052452983889582209_r8, 0.0005244103306251708_r8, & + 0.0005248650161960623_r8, 0.00052393281480645935_r8, & + 0.00052383593690095466_r8, 0.00052354808617375204_r8, & + 0.00052289085151311331_r8 & + / +data saar_ref(:,30,33) / & + 1.6854817890620612e-05_r8, 1.5590348440899975e-05_r8, & + 1.5869956261328511e-05_r8, 1.7070439537654307e-05_r8, & + 1.7650185145985581e-05_r8, 1.9054566188099616e-05_r8, & + 2.2645809949865814e-05_r8, 2.443762165019474e-05_r8, & + 2.3979370634817235e-05_r8, 2.5927330344739228e-05_r8, & + 2.8729502018955556e-05_r8, 3.2786357220707103e-05_r8, & + 4.2788199647448263e-05_r8, 5.9578560827211871e-05_r8, & + 7.5436020881868487e-05_r8, 9.7963795927687213e-05_r8, & + 0.00013703177612494035_r8, 0.00020633373708665598_r8, & + 0.00027715310649025572_r8, 0.00033533878362543821_r8, & + 0.0003909926803289678_r8, 0.00042871487446948512_r8, & + 0.00047445592053913421_r8, 0.00050054073445407628_r8, & + 0.00051679378830370799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,33) / & + 3.2506784753165781e-05_r8, 3.0620611458606534e-05_r8, & + 3.1614631086532376e-05_r8, 3.2668194934525376e-05_r8, & + 3.4069388477249516e-05_r8, 3.5600939912681077e-05_r8, & + 4.2453829606298665e-05_r8, 4.7119568067040911e-05_r8, & + 5.0016138402827437e-05_r8, 5.5349625329672112e-05_r8, & + 5.746882742812386e-05_r8, 6.8373719887279864e-05_r8, & + 9.0971901983797745e-05_r8, 0.00011477301059247753_r8, & + 0.00015751657109949071_r8, 0.00017099124276936524_r8, & + 0.00017609185114292344_r8, 0.00015162721658948619_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,32,33) / & + 4.5923907499988697e-05_r8, 3.9395085946835299e-05_r8, & + 4.9237136428160547e-05_r8, 6.6908196273726957e-05_r8, & + 7.5129333613188621e-05_r8, 7.8878496007468536e-05_r8, & + 8.744965210942265e-05_r8, 9.3887441857921607e-05_r8, & + 0.0001005722458488268_r8, 0.00010531023402938754_r8, & + 0.00010960281133701912_r8, 0.00012825508394021434_r8, & + 0.00013851745309404652_r8, 0.00018177933585713631_r8, & + 0.00017956884585239107_r8, 0.00017375530309781938_r8, & + 0.00015516623907658561_r8, 0.00015620575731082616_r8, & + 0.00015645911721285077_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,33) / & + 5.1338389241368807e-05_r8, 4.1586132275487721e-05_r8, & + 5.3862945861452699e-05_r8, 8.3180090684367459e-05_r8, & + 9.3680540717342318e-05_r8, 9.4844750958197036e-05_r8, & + 0.0001054980246950365_r8, 0.00010143956989034781_r8, & + 0.00011684637761432648_r8, 0.00011945489472724192_r8, & + 0.00012260688215159636_r8, 0.00014235226887590632_r8, & + 0.00014738524200408042_r8, 0.00018944659277212066_r8, & + 0.00017315467733652816_r8, 0.00016645243959674555_r8, & + 0.00015938776661276598_r8, 0.0001599234884164987_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,33) / & + 0.00026226529415520478_r8, 0.00015916356482261927_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,33) / & + 0.00017255310786186087_r8, 0.00011409419890903049_r8, & + 6.6440301143137547e-05_r8, 6.3995215199577559e-05_r8, & + 6.4386054305187954e-05_r8, 6.1618337605680627e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,33) / & + 6.761850305353618e-05_r8, 6.8789404162554818e-05_r8, & + 5.6401039127667717e-05_r8, 5.797180506473496e-05_r8, & + 5.9428952851831543e-05_r8, 6.2730303199454981e-05_r8, & + 6.1069656584500752e-05_r8, 6.1429376711219182e-05_r8, & + 6.042755687868193e-05_r8, 6.084462327091516e-05_r8, & + 5.9963104043395964e-05_r8, 5.691912420227693e-05_r8, & + 5.4162581051265948e-05_r8, 5.4954468933668971e-05_r8, & + 5.658706810490839e-05_r8, 5.6413899108579964e-05_r8, & + 5.9401633786384569e-05_r8, 6.0766455510894622e-05_r8, & + 6.1722019818088566e-05_r8, 6.4221903076836518e-05_r8, & + 6.7486087185493523e-05_r8, 7.2817541574188616e-05_r8, & + 6.8366058701987474e-05_r8, 7.3825962320561649e-05_r8, & + 8.6491664753341697e-05_r8, 9.793069103568521e-05_r8, & + 0.0001050137778890656_r8, 0.00010852601350381751_r8, & + 0.00010816863060418875_r8, 0.00011023754998580518_r8, & + 0.00011201822311780907_r8, 0.00011261300006941744_r8, & + 0.00011314520159229342_r8, 0.00011337633264603652_r8, & + 0.00011411511096071569_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,33) / & + 5.0382716734273623e-05_r8, 5.4891470253686252e-05_r8, & + 4.6697075833903539e-05_r8, 5.2398811652528352e-05_r8, & + 5.1690258702527663e-05_r8, 6.408152942550368e-05_r8, & + 6.3382678333715869e-05_r8, 6.4346710710239802e-05_r8, & + 6.2229850873798696e-05_r8, 6.0222707845261104e-05_r8, & + 6.1355763740268712e-05_r8, 5.9895163708883867e-05_r8, & + 5.7843932238137239e-05_r8, 5.9737554493382099e-05_r8, & + 6.0018260314861084e-05_r8, 6.1053531857036981e-05_r8, & + 6.3532572624810105e-05_r8, 6.4265912529252881e-05_r8, & + 6.6468057281214441e-05_r8, 7.0380422768068641e-05_r8, & + 7.4744483425966983e-05_r8, 7.9079223062585716e-05_r8, & + 7.8455177991358923e-05_r8, 8.5450058007143607e-05_r8, & + 9.5986230878275942e-05_r8, 0.00010306190885986907_r8, & + 0.0001084230804807142_r8, 0.00011141877920183283_r8, & + 0.00011095899495777253_r8, 0.0001121649964805648_r8, & + 0.00011354318564691423_r8, 0.00011342619936520851_r8, & + 0.00011513253864501326_r8, 0.00011557004451680164_r8, & + 0.00011612233159724067_r8, 0.00011564254783155295_r8, & + 0.00011761146652073941_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,33) / & + 6.1136209298905293e-05_r8, 7.3214474197959051e-05_r8, & + 6.0035452249011159e-05_r8, 8.4774938212785658e-05_r8, & + 7.2349439910477222e-05_r8, 8.3657169232804964e-05_r8, & + 6.9966578331877966e-05_r8, 6.3899809146995099e-05_r8, & + 5.9848739507023455e-05_r8, 6.0124899502796984e-05_r8, & + 6.1893911910406154e-05_r8, 6.2794375597277112e-05_r8, & + 6.3687475543960684e-05_r8, 6.4702642266843433e-05_r8, & + 6.5651362903792465e-05_r8, 6.7847966761509716e-05_r8, & + 6.9202946171870595e-05_r8, 6.9599496395207012e-05_r8, & + 7.2010150080514704e-05_r8, 7.6467636243448034e-05_r8, & + 7.9993668431034147e-05_r8, 8.3533220333644804e-05_r8, & + 8.5835476095646855e-05_r8, 9.1820328038720142e-05_r8, & + 9.90391488529761e-05_r8, 0.00010507248679637361_r8, & + 0.00011055818645773988_r8, 0.00011920155202666696_r8, & + 0.00011775102674464569_r8, 0.00011438703892257382_r8, & + 0.00011480798402306053_r8, 0.00011417896432745566_r8, & + 0.00011618046489444082_r8, 0.00011641360824596241_r8, & + 0.00011634780204435654_r8, 0.00011698325377676726_r8, & + 0.00012063320057603913_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,33) / & + 7.2694069332376177e-05_r8, 9.9496975941415353e-05_r8, & + 8.8048739931112226e-05_r8, 0.00012085567706072142_r8, & + 0.00011380624447502769_r8, 0.00012658379682012514_r8, & + 9.0749603974343542e-05_r8, 6.7514126185419458e-05_r8, & + 6.0432475081573053e-05_r8, 6.3684982563144517e-05_r8, & + 6.3237852419011209e-05_r8, 6.5469254482522003e-05_r8, & + 6.688939861169899e-05_r8, 6.8261402848471435e-05_r8, & + 6.9813775884669884e-05_r8, 7.1576762364543395e-05_r8, & + 7.2227824811999745e-05_r8, 7.285516695090104e-05_r8, & + 7.5169968119802124e-05_r8, 7.8830177794774538e-05_r8, & + 8.1707421590751901e-05_r8, 8.5420643759777289e-05_r8, & + 8.9142429289739087e-05_r8, 9.3987660968753261e-05_r8, & + 9.9822632065897215e-05_r8, 0.00010495058917344158_r8, & + 0.00011129230981782006_r8, 0.0001211647494267248_r8, & + 0.00012153571797717578_r8, 0.00011825274284688681_r8, & + 0.00011876168637009582_r8, 0.00011889843644025424_r8, & + 0.00011999726424771324_r8, 0.00012004242518673982_r8, & + 0.00012028006248231639_r8, 0.00012094762068474753_r8, & + 0.00012423092827295576_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,34) / & + 8.0424164435629949e-05_r8, 7.968608069268136e-05_r8, & + 0.00010109211073612725_r8, 7.7431534774072191e-05_r8, & + 8.2667710492552812e-05_r8, 8.3501885600922483e-05_r8, & + 0.00011576013610444693_r8, 0.00014061349080496364_r8, & + 0.00015492238693657248_r8, 0.00016157585073296873_r8, & + 0.00016205029699275177_r8, 0.00016476458404723229_r8, & + 0.00017351727090877606_r8, 0.00018057163887397136_r8, & + 0.00018264045995378017_r8, 0.00019008366317839871_r8, & + 0.00019644720992660337_r8, 0.00020121459093230939_r8, & + 0.00020918095888849587_r8, 0.00021372207777934415_r8, & + 0.00021932170162871584_r8, 0.00022697452068200577_r8, & + 0.00023131988772008409_r8, 0.00023539707877929074_r8, & + 0.00023966726984345901_r8, 0.00024133443484672428_r8, & + 0.0002453968204880326_r8, 0.00025293550866545739_r8, & + 0.00025957455469708692_r8, 0.00026528843323219591_r8, & + 0.00027031625455075677_r8, 0.00027343680981658022_r8, & + 0.00027444949171910924_r8, 0.00027209355640880911_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,34) / & + 5.2783062740335109e-05_r8, 5.1981042656632183e-05_r8, & + 6.3175101320506731e-05_r8, 4.9403994834712399e-05_r8, & + 5.4913163809384555e-05_r8, 5.7607854246745192e-05_r8, & + 8.0837533524672465e-05_r8, 0.00010701747681491829_r8, & + 0.00012577148318980476_r8, 0.00014161727666108415_r8, & + 0.00014896384645413866_r8, 0.00015515442708771186_r8, & + 0.00016539339441300687_r8, 0.00017222888059431504_r8, & + 0.00017545923755352434_r8, 0.00017961395289204006_r8, & + 0.00018520402562949631_r8, 0.00018913202610883095_r8, & + 0.00019425184877872257_r8, 0.0001991125653180618_r8, & + 0.0002030947698731474_r8, 0.00020838024596216479_r8, & + 0.00021283849138860122_r8, 0.00021725740823718846_r8, & + 0.00022173380391195746_r8, 0.00022488312741242999_r8, & + 0.00022902520808432706_r8, 0.00023836740631560997_r8, & + 0.00024745445994151546_r8, 0.00025633470558904687_r8, & + 0.00026425982532283284_r8, 0.00027059772078124504_r8, & + 0.00027491347922826742_r8, 0.00027711871352175137_r8, & + 0.00027550353509712348_r8, 0.00027209737648142525_r8, & + 0.00026811190475497387_r8, 0.00026397436343513918_r8, & + 0.0002661452617392516_r8, 0.00026953420334042879_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,34) / & + 2.9072016581810349e-05_r8, 2.9133753773949071e-05_r8, & + 2.8470819745037367e-05_r8, 2.0816485975033095e-05_r8, & + 2.2483991980791321e-05_r8, 2.5348285770805239e-05_r8, & + 3.5459014081836988e-05_r8, 4.8465422594957032e-05_r8, & + 6.3150306492638239e-05_r8, 8.2723324593963958e-05_r8, & + 9.803796976288219e-05_r8, 0.00010796019735857363_r8, & + 0.00012170871866884086_r8, 0.00013327064707883832_r8, & + 0.00014206282293263608_r8, 0.00014878321600599292_r8, & + 0.00015889000244340842_r8, 0.00016563094097654172_r8, & + 0.00017129182719772585_r8, 0.00017626910799132609_r8, & + 0.00017918784915450052_r8, 0.00018195262145098397_r8, & + 0.00018581607538622965_r8, 0.00019003478385624318_r8, & + 0.00019400050682728533_r8, 0.00019851293389522339_r8, & + 0.00020303705202254286_r8, 0.00021389840142890611_r8, & + 0.00022524425860543089_r8, 0.00023655787219588014_r8, & + 0.0002473400313232537_r8, 0.00025709394823836371_r8, & + 0.00026623486242955931_r8, 0.00027311204510872502_r8, & + 0.00027856485238753672_r8, 0.00028084578893741534_r8, & + 0.00027571790959795471_r8, 0.00027122705904147475_r8, & + 0.00026869615936164553_r8, 0.00026957271737890041_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,34) / & + 1.8064552697381753e-05_r8, 1.8080019404459681e-05_r8, & + 1.5848727813190197e-05_r8, 1.3121654205222445e-05_r8, & + 1.3465959450896647e-05_r8, 1.5121362434432968e-05_r8, & + 1.9372737063146872e-05_r8, 2.3459087061398869e-05_r8, & + 2.7780271835340372e-05_r8, 3.4725980570874502e-05_r8, & + 4.5470330196257845e-05_r8, 5.1803366055524832e-05_r8, & + 6.0211957330580338e-05_r8, 7.5017977280475041e-05_r8, & + 8.4352432366452206e-05_r8, 9.3216320904104623e-05_r8, & + 0.00011154007455760889_r8, 0.0001252582184223793_r8, & + 0.00013452466925404361_r8, 0.00014431832815364279_r8, & + 0.00015279754512088643_r8, 0.00015890549995509109_r8, & + 0.00016422396207755777_r8, 0.00016939656698135893_r8, & + 0.00017292134631798669_r8, 0.00017662103137566461_r8, & + 0.00018031635227165328_r8, 0.00019009749461931335_r8, & + 0.00020131788716541636_r8, 0.00021326767403166105_r8, & + 0.00022611185688789785_r8, 0.00023811880596189341_r8, & + 0.00025047184444785484_r8, 0.00026118311539856945_r8, & + 0.0002693098650169872_r8, 0.00027713222956700226_r8, & + 0.00027955410600069341_r8, 0.00027195758332664439_r8, & + 0.00026893751606939795_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,34) / & + 1.080337690938977e-05_r8, 1.0666902199548281e-05_r8, & + 1.0369097700592308e-05_r8, 9.7851875149164314e-06_r8, & + 9.8924950794282719e-06_r8, 1.0224266865470586e-05_r8, & + 1.1322405185877637e-05_r8, 1.2995838148450954e-05_r8, & + 1.520420689953134e-05_r8, 1.7351867093424833e-05_r8, & + 2.1145253862170809e-05_r8, 2.3151295929640994e-05_r8, & + 2.5024991460007182e-05_r8, 3.0783808902458206e-05_r8, & + 3.5941996732875151e-05_r8, 4.0500618528020518e-05_r8, & + 5.1049568092064376e-05_r8, 6.1860002225288483e-05_r8, & + 7.1612695543820014e-05_r8, 8.4508574988857401e-05_r8, & + 9.9361927715775037e-05_r8, 0.00011393524021434923_r8, & + 0.0001244108976425834_r8, 0.00013582809802424839_r8, & + 0.00014442456279443701_r8, 0.00015160021485809472_r8, & + 0.00015811025151364744_r8, 0.00016996303523393724_r8, & + 0.00018103567846859583_r8, 0.00019125750343748404_r8, & + 0.00020205673115537734_r8, 0.00021426987317515946_r8, & + 0.00022799778349671742_r8, 0.00023966235794381971_r8, & + 0.00024324032615698259_r8, 0.00024687321406147134_r8, & + 0.00025279472860277895_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,34) / & + 6.796579515345928e-06_r8, 6.7495065181778003e-06_r8, & + 6.78159702711202e-06_r8, 6.1630227136228841e-06_r8, & + 6.2701733152179361e-06_r8, 6.3610208650473309e-06_r8, & + 6.2892618255472925e-06_r8, 6.8690126129629242e-06_r8, & + 7.7718888304239929e-06_r8, 8.4141191553206144e-06_r8, & + 9.1850795973735186e-06_r8, 9.8681584747676792e-06_r8, & + 1.1005519214372516e-05_r8, 1.2480371907532161e-05_r8, & + 1.3619010827049773e-05_r8, 1.5208525107988171e-05_r8, & + 1.8190312998515276e-05_r8, 2.1582713467872412e-05_r8, & + 2.8970951927270322e-05_r8, 3.8064653817059114e-05_r8, & + 5.1206125071034825e-05_r8, 6.6330321504788622e-05_r8, & + 8.0584946170423206e-05_r8, 9.7102447051830836e-05_r8, & + 0.00011142942015107048_r8, 0.00012363388531353957_r8, & + 0.0001346810738615026_r8, 0.00015596296124684522_r8, & + 0.000173102775206634_r8, 0.00018536753025969708_r8, & + 0.00019501864497290086_r8, 0.00020284328884850964_r8, & + 0.0002112767269695307_r8, 0.00022250561292232437_r8, & + 0.00023229827886757273_r8, 0.00024124124070448971_r8, & + 0.00024935536804505303_r8, 0.00025511887121177111_r8, & + 0.00025603315495023913_r8, 0.00025328766191544313_r8, & + 0.00025510424518638479_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,34) / & + 4.3622060824997996e-06_r8, 4.3264870982418512e-06_r8, & + 4.433258408492688e-06_r8, 3.3941456942238287e-06_r8, & + 3.5134564810209983e-06_r8, 3.7151217526309878e-06_r8, & + 3.9211514983801957e-06_r8, 4.1564178861239739e-06_r8, & + 5.0986776311959609e-06_r8, 5.7526678310314799e-06_r8, & + 6.2307776667128873e-06_r8, 6.6729475171368877e-06_r8, & + 7.5778343219438463e-06_r8, 8.5354954776522546e-06_r8, & + 9.787454726680326e-06_r8, 1.1275127832387191e-05_r8, & + 1.4222367050994656e-05_r8, 1.7741409473625429e-05_r8, & + 2.5780289567100882e-05_r8, 3.6237401276728072e-05_r8, & + 5.0569140416264041e-05_r8, 6.5842220573594733e-05_r8, & + 8.51786195684722e-05_r8, 0.00010312796487437375_r8, & + 0.00011844777369123165_r8, 0.00012958262639505285_r8, & + 0.00013946870549330742_r8, 0.00016304295929090457_r8, & + 0.00018112688183370723_r8, 0.0001942516156334226_r8, & + 0.00020565491117091999_r8, 0.00021278442389653212_r8, & + 0.00021856884350610181_r8, 0.00022504003946764828_r8, & + 0.00023172631597411601_r8, 0.00023875001399962319_r8, & + 0.00024515439259106044_r8, 0.00024998677740015245_r8, & + 0.00025296299601180929_r8, 0.00025378563958001332_r8, & + 0.00025414547962601604_r8, 0.00025651738946161568_r8, & + 0.00026017589736481263_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,34) / & + 3.2861560088546669e-06_r8, 3.191962438745832e-06_r8, & + 3.2698201668390062e-06_r8, 3.1793596852165509e-06_r8, & + 3.2226042561896334e-06_r8, 3.2541223878959418e-06_r8, & + 4.1906565914107222e-06_r8, 3.2425803242860717e-06_r8, & + 3.3811382634953729e-06_r8, 3.5771886721228717e-06_r8, & + 3.8711621703075654e-06_r8, 4.2210255573840237e-06_r8, & + 5.0438899164562182e-06_r8, 6.3950919913652934e-06_r8, & + 7.6578929837337106e-06_r8, 9.2440134464604706e-06_r8, & + 1.2782626803980351e-05_r8, 1.70778049014728e-05_r8, & + 2.5599822461837771e-05_r8, 3.7588942621115874e-05_r8, & + 5.4804053551823877e-05_r8, 7.3012215076435772e-05_r8, & + 9.5390701781142075e-05_r8, 0.00011429894260624849_r8, & + 0.00013008930311866868_r8, 0.00014056090215081604_r8, & + 0.00014974811835132188_r8, 0.00017103332700206549_r8, & + 0.0001887529420069243_r8, 0.0002016415239665856_r8, & + 0.00021224312644560692_r8, 0.00022012777609505582_r8, & + 0.0002260654903757944_r8, 0.0002318316676547738_r8, & + 0.00023743033345769929_r8, 0.0002423761313918353_r8, & + 0.00024660570859081309_r8, 0.00025027704467297547_r8, & + 0.00025282517085796106_r8, 0.00025572601985681862_r8, & + 0.00025640677267968508_r8, 0.00025860045075557831_r8, & + 0.0002610098751371937_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,34) / & + 2.0670329182444627e-06_r8, 2.103900596689932e-06_r8, & + 2.1708738857258207e-06_r8, 2.6409083066380812e-06_r8, & + 2.7930232415187866e-06_r8, 3.0719973683319011e-06_r8, & + 4.5645628365940561e-06_r8, 3.5832503483536985e-06_r8, & + 3.2449534488483162e-06_r8, 3.0218874213414498e-06_r8, & + 3.026664660914189e-06_r8, 3.1239186963239527e-06_r8, & + 3.7414806777440661e-06_r8, 5.0003463523363142e-06_r8, & + 6.3820276766293718e-06_r8, 8.2717266032611191e-06_r8, & + 1.2130494898755876e-05_r8, 1.7670768630505362e-05_r8, & + 2.6720011936439055e-05_r8, 3.9847672026964275e-05_r8, & + 5.8672476790122462e-05_r8, 7.8255142689420069e-05_r8, & + 0.00010069085691927818_r8, 0.00011797532424924518_r8, & + 0.00013273829232289492_r8, 0.00014325765866422197_r8, & + 0.00015208144091508684_r8, 0.00017217525294023015_r8, & + 0.00018929641110694022_r8, 0.00020318919085091119_r8, & + 0.00021283087307354931_r8, 0.00022071356563422767_r8, & + 0.00022664822182675616_r8, 0.00023337061836685609_r8, & + 0.00023903188116623073_r8, 0.0002439094600085401_r8, & + 0.0002481672729622306_r8, 0.00025178856069643825_r8, & + 0.00025385014712558354_r8, 0.00025670808545582728_r8, & + 0.00025723767379894004_r8, 0.00026035700853161022_r8, & + 0.00026232059240417592_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,34) / & + 1.4345548009432556e-06_r8, 1.6115601115505807e-06_r8, & + 1.7183152018354071e-06_r8, 2.2517432099566546e-06_r8, & + 2.3484658130036088e-06_r8, 2.50623473378559e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,34) / & + 8.2743451714638507e-06_r8, 8.9165447081481809e-06_r8, & + 9.0700425621625782e-06_r8, 1.0829694980778446e-05_r8, & + 1.1257836503469434e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,34) / & + 8.6725094132361669e-06_r8, 8.7252039144765436e-06_r8, & + 8.7267921379446575e-06_r8, 8.4399591195642147e-06_r8, & + 9.1718050746395586e-06_r8, 9.4752164349460118e-06_r8, & + 9.42719084214217e-06_r8, 2.2571306104552758e-05_r8, & + 3.2495136617106896e-05_r8, 4.3342317472879887e-05_r8, & + 5.1807482820519006e-05_r8, 6.5073520050459881e-05_r8, & + 8.6650415972301328e-05_r8, 0.00010413543198654264_r8, & + 0.00011491775858409793_r8, 0.0001235888456512815_r8, & + 0.00014489232660269254_r8, 0.00016848938266199136_r8, & + 0.00018929233922894057_r8, 0.00021609867933344837_r8, & + 0.00023780450593878594_r8, 0.00025618982500323558_r8, & + 0.00027358772109489332_r8, 0.00028454902333833305_r8, & + 0.00029247142978973151_r8, 0.00029752297772411027_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,34) / & + 1.1292278849015382e-05_r8, 1.1639217856486836e-05_r8, & + 1.0861920132352145e-05_r8, 1.0091340034617346e-05_r8, & + 1.0282479123839903e-05_r8, 1.0956221044571447e-05_r8, & + 1.4243987931850436e-05_r8, 2.75460305970603e-05_r8, & + 3.7664826229188654e-05_r8, 4.9374193869040998e-05_r8, & + 5.857016406285479e-05_r8, 6.793204578468217e-05_r8, & + 9.0615607320793386e-05_r8, 0.00010694630175571279_r8, & + 0.00011803773821503773_r8, 0.00012671159007920504_r8, & + 0.00014809575688610509_r8, 0.00017273398224826935_r8, & + 0.00019955118574583564_r8, 0.00022580894167885398_r8, & + 0.00024851924121814946_r8, 0.00026970390352683542_r8, & + 0.00028555038908283228_r8, 0.00029650012532471805_r8, & + 0.00030528370547164789_r8, 0.00031105917406177501_r8, & + 0.00031648732479180766_r8, 0.00032583035111974058_r8, & + 0.00033406699248605005_r8, 0.00033949912571690899_r8, & + 0.00034387320775234529_r8, 0.00034523905760749826_r8, & + 0.00035050312002084179_r8, 0.00035352893468821754_r8, & + 0.0003570945680806374_r8, 0.00035710608265546791_r8, & + 0.00035709855936882348_r8, 0.00035710032353639538_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,34) / & + 8.4737645361013655e-06_r8, 8.6077266377515568e-06_r8, & + 7.3517082553179832e-06_r8, 6.947175304293643e-06_r8, & + 6.9617909729540884e-06_r8, 7.0808552561466711e-06_r8, & + 9.6248164406636038e-06_r8, 1.6775539243239733e-05_r8, & + 2.323827803062879e-05_r8, 3.2322929613440635e-05_r8, & + 3.9846252385596618e-05_r8, 4.7009515288400372e-05_r8, & + 7.0184000413091915e-05_r8, 9.414415059803148e-05_r8, & + 0.00010856585264444911_r8, 0.00012022581259978241_r8, & + 0.00013871766378460493_r8, 0.00016095631419378825_r8, & + 0.00018755333380017443_r8, 0.00021613812628792109_r8, & + 0.00024232209058729255_r8, 0.00026912433096024866_r8, & + 0.00029131546599036148_r8, 0.00030969929050739215_r8, & + 0.00032677732552797794_r8, 0.00033790119029815954_r8, & + 0.00034918608088043898_r8, 0.00037091049910536095_r8, & + 0.00039040209869515565_r8, 0.00039950039357229081_r8, & + 0.00040602020233549953_r8, 0.00040907876948603978_r8, & + 0.0004248932465444728_r8, 0.00042425801253952698_r8, & + 0.00042335749434987572_r8, 0.00042287329352358119_r8, & + 0.00042178561311965172_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,34) / & + 5.882910895930333e-06_r8, 6.0304160439872819e-06_r8, & + 4.8615698113292223e-06_r8, 4.8160446418759724e-06_r8, & + 5.0331913534441009e-06_r8, 5.30921026316449e-06_r8, & + 7.574293424999794e-06_r8, 1.2194018464366008e-05_r8, & + 1.7218955805108736e-05_r8, 2.4101070570422839e-05_r8, & + 3.1528052193474186e-05_r8, 4.0970404602485842e-05_r8, & + 6.6874180755093832e-05_r8, 9.6634620603552201e-05_r8, & + 0.00011335723720059739_r8, 0.00012656091915652285_r8, & + 0.00014368268521179514_r8, 0.00016204000087208489_r8, & + 0.00018559677956996075_r8, 0.00021503791286737759_r8, & + 0.00024489588468971316_r8, 0.00027457844256406291_r8, & + 0.00029955976605891289_r8, 0.00032108026972467842_r8, & + 0.00034059576759873372_r8, 0.00035672957534444528_r8, & + 0.00037261403722427857_r8, 0.00039816005533970092_r8, & + 0.00041936519454985381_r8, 0.00043016950501930561_r8, & + 0.000436333943751658_r8, 0.00043999486640775433_r8, & + 0.0004402676173910583_r8, 0.00043965648002976135_r8, & + 0.00043844014881962482_r8, 0.00043796388573655483_r8, & + 0.00043664204930465422_r8, 0.00043615328794957835_r8, & + 0.00043525960764524821_r8, 0.00043405434419311885_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,34) / & + 6.4079001782557697e-06_r8, 6.4394927560127541e-06_r8, & + 6.0013185063811212e-06_r8, 6.0903452664503662e-06_r8, & + 6.5296499909065578e-06_r8, 7.0777360635549142e-06_r8, & + 9.8149450472993002e-06_r8, 1.5728762692009083e-05_r8, & + 2.390252747665265e-05_r8, 3.5865305238627007e-05_r8, & + 4.9239701809839051e-05_r8, 6.6717133213947609e-05_r8, & + 9.6500682712858998e-05_r8, 0.00011748671073921376_r8, & + 0.0001291633896469829_r8, 0.00013892894124765365_r8, & + 0.00015694358946962298_r8, 0.00017623046261216701_r8, & + 0.00019950596356753037_r8, 0.00022862153019326023_r8, & + 0.00025793689945905043_r8, 0.00028769934071599436_r8, & + 0.00031413676384089469_r8, 0.00033579877485949829_r8, & + 0.00035576313945402644_r8, 0.00037352132083633415_r8, & + 0.00038981439807946641_r8, 0.00041547849064905952_r8, & + 0.00043477834328898429_r8, 0.00044567501327880804_r8, & + 0.00045227357754317236_r8, 0.00045497053926543083_r8, & + 0.00045464992040910197_r8, 0.00045301194776905851_r8, & + 0.00045219851214109311_r8, 0.00045165228467261684_r8, & + 0.00045072145151989337_r8, 0.00045017661901043053_r8, & + 0.00044983563983306619_r8, 0.00044923208981487031_r8, & + 0.00044913519550178634_r8, 0.00045005243098404537_r8, & + 0.00044893202896775916_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,34) / & + 5.5104495588436306e-06_r8, 5.4886785410454929e-06_r8, & + 5.7081932589069281e-06_r8, 5.3342784101484325e-06_r8, & + 5.6761029742389909e-06_r8, 6.0903793565532271e-06_r8, & + 7.5366515909409606e-06_r8, 1.1300444300687377e-05_r8, & + 1.8112076547497076e-05_r8, 2.9179375630410789e-05_r8, & + 4.1099016172481107e-05_r8, 5.7257494438266226e-05_r8, & + 8.5822898735667748e-05_r8, 0.00011285407553240073_r8, & + 0.00013181748099092068_r8, 0.00014902017109630637_r8, & + 0.00017433198120231244_r8, 0.00019866372174578398_r8, & + 0.00022215500674390711_r8, 0.00025010399856867019_r8, & + 0.00027775623159042461_r8, 0.00030816162065861103_r8, & + 0.00033553706838578728_r8, 0.00035898293014941662_r8, & + 0.00037799250508885942_r8, 0.00039509464474813148_r8, & + 0.0004098187817879317_r8, 0.00043490955183251911_r8, & + 0.0004529131979728279_r8, 0.00046266013171314803_r8, & + 0.00046852840370035885_r8, 0.00046992539416798319_r8, & + 0.00046810466791033392_r8, 0.00046606044140660248_r8, & + 0.00046486140420994281_r8, 0.0004633091939951115_r8, & + 0.00046375342338300337_r8, 0.00046359574612430673_r8, & + 0.000463897164491608_r8, 0.00046382195124531657_r8, & + 0.00046397624368006869_r8, 0.00046362007585433365_r8, & + 0.00046272209907322612_r8, 0.00046297426215757424_r8, & + 0.00045757067038393724_r8 & + / +data saar_ref(:,26,34) / & + 4.5814355729093193e-06_r8, 4.5351927575812858e-06_r8, & + 4.6128274009051212e-06_r8, 3.9998130465689778e-06_r8, & + 4.1825785909279433e-06_r8, 4.1361343508564032e-06_r8, & + 4.6982873103302686e-06_r8, 5.0940857841541136e-06_r8, & + 6.3730398522066768e-06_r8, 9.1060456831712848e-06_r8, & + 1.3378586090960232e-05_r8, 1.9524407382492088e-05_r8, & + 3.406016067448001e-05_r8, 5.8115913041132963e-05_r8, & + 8.5902921891135538e-05_r8, 0.00011692074302480592_r8, & + 0.00016893529143460228_r8, 0.0002120856747210869_r8, & + 0.00024469594141629069_r8, 0.00027886267763314941_r8, & + 0.00030892643019921745_r8, 0.00034154387430712066_r8, & + 0.00036754987229267949_r8, 0.00038856201714095089_r8, & + 0.00040463437294110781_r8, 0.00041893099132794413_r8, & + 0.00043258043692483199_r8, 0.00045639322444517716_r8, & + 0.00047265970546605791_r8, 0.00048178142898852041_r8, & + 0.00048622140414480183_r8, 0.00048782211582951021_r8, & + 0.00048566063686434637_r8, 0.00048292638233545605_r8, & + 0.00048144963980917364_r8, 0.00047769973569807537_r8, & + 0.00047897032712430063_r8, 0.00047928481567612198_r8, & + 0.00048023474508986655_r8, 0.0004803031849341496_r8, & + 0.00048056460295399316_r8, 0.00047947308016987964_r8, & + 0.00047693650937843707_r8, 0.00047737758441836133_r8, 9e90_r8 & + / +data saar_ref(:,27,34) / & + 5.0257901873933734e-06_r8, 4.9860739531827739e-06_r8, & + 4.9977943239931492e-06_r8, 4.6705226700738298e-06_r8, & + 4.753652577374564e-06_r8, 4.6126765089759817e-06_r8, & + 4.6779315451625864e-06_r8, 4.7637126056013473e-06_r8, & + 5.0081972147393996e-06_r8, 5.9206096557205138e-06_r8, & + 7.8531561947653372e-06_r8, 1.1226484865187673e-05_r8, & + 1.7642485080986607e-05_r8, 2.8147787687362354e-05_r8, & + 4.4516758076597629e-05_r8, 6.784280442099026e-05_r8, & + 0.00013230071387751281_r8, 0.00019737769069227886_r8, & + 0.00025376986006480566_r8, 0.00030712607734144381_r8, & + 0.00034738822338024986_r8, 0.00038207968773449052_r8, & + 0.00040671144689279222_r8, 0.00042606462534094486_r8, & + 0.00044012295857062396_r8, 0.00045099357841820592_r8, & + 0.00046266037320498102_r8, 0.00048368715473093754_r8, & + 0.00049698025269312581_r8, 0.00050264485038083585_r8, & + 0.00050529643834215415_r8, 0.00050539078655606094_r8, & + 0.00050433264912679487_r8, 0.0005024503632815396_r8, & + 0.00050062074710490541_r8, 0.00049809633750180684_r8, & + 0.00049729114895117493_r8, 0.00049712154263008789_r8, & + 0.00049702824336272239_r8, 0.00049710786524715918_r8, & + 0.0004968408757940997_r8, 0.00049692946968309018_r8, & + 0.00049508111515378221_r8, 0.00049311379474467729_r8, & + 0.00049341641638822121_r8 & + / +data saar_ref(:,28,34) / & + 5.6762744960507127e-06_r8, 5.5859108706938284e-06_r8, & + 5.5740097443031727e-06_r8, 5.5427257554779365e-06_r8, & + 5.5320440507988817e-06_r8, 5.4974271902098361e-06_r8, & + 5.3094794011893338e-06_r8, 5.4373069713003549e-06_r8, & + 6.1615680784852119e-06_r8, 7.2799437645529858e-06_r8, & + 8.6062444141794171e-06_r8, 1.0999724457492066e-05_r8, & + 1.5156970888034917e-05_r8, 2.1565940292296233e-05_r8, & + 3.2166743742470825e-05_r8, 4.7774868234155456e-05_r8, & + 9.8042329162873439e-05_r8, 0.00016480391450488207_r8, & + 0.0002373628180316148_r8, 0.00030872379523432604_r8, & + 0.00036165657431662385_r8, 0.00040525946706925213_r8, & + 0.00043404471262335764_r8, 0.00045725580051366696_r8, & + 0.00047206173329353447_r8, 0.00048262027752255275_r8, & + 0.0004932400841058225_r8, 0.00050928191584291354_r8, & + 0.00051620006585156506_r8, 0.00051816905467897594_r8, & + 0.00051876491391215235_r8, 0.00051842902533055248_r8, & + 0.00051799983963816965_r8, 0.00051697443064174689_r8, & + 0.00051540780102118976_r8, 0.00051439917501662328_r8, & + 0.00051325983585565223_r8, 0.000512061984864264_r8, & + 0.00051099977082999005_r8, 0.00051052422071368034_r8, & + 0.00050995647193880758_r8, 0.00051028520296405634_r8, & + 0.00051004907339471429_r8, 0.00050863101107871808_r8, & + 0.0005109494988087337_r8 & + / +data saar_ref(:,29,34) / & + 6.4133624761037778e-06_r8, 6.1392637959418057e-06_r8, & + 6.023783689315443e-06_r8, 5.7652106573733335e-06_r8, & + 6.1602550002332283e-06_r8, 6.4243411760793161e-06_r8, & + 6.7548491087833428e-06_r8, 8.1229454596467499e-06_r8, & + 8.9911562059827012e-06_r8, 1.0095852628241746e-05_r8, & + 1.1276915630709152e-05_r8, 1.2675843375814164e-05_r8, & + 1.5405076627974937e-05_r8, 2.1814704665785834e-05_r8, & + 3.125521880598771e-05_r8, 4.4513156277544703e-05_r8, & + 8.4929825462462177e-05_r8, 0.00014690361297012874_r8, & + 0.00022369647642210316_r8, 0.00030323418864013128_r8, & + 0.00036505919773968063_r8, 0.00041824578010364849_r8, & + 0.00045172732901663254_r8, 0.0004803708601343009_r8, & + 0.00049738052241131176_r8, 0.00051013120194584604_r8, & + 0.00052018275421446703_r8, 0.00053044768247521835_r8, & + 0.00053404150829177333_r8, 0.00053533831973374133_r8, & + 0.00053467967415103354_r8, 0.00053460343449786849_r8, & + 0.00053342516586966579_r8, 0.00053196906268263401_r8, & + 0.00053086824610301783_r8, 0.00053025882571450667_r8, & + 0.00052916588122223186_r8, 0.00052778758987581285_r8, & + 0.00052585280155443941_r8, 0.00052509909095359015_r8, & + 0.00052409351086935973_r8, 0.00052306680227684466_r8, & + 0.00052353637163089415_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,34) / & + 9.2789703415972102e-06_r8, 8.9628753311456979e-06_r8, & + 8.7773242295052818e-06_r8, 1.0928033648190495e-05_r8, & + 1.1288701573712775e-05_r8, 1.1892469726717443e-05_r8, & + 1.400806350376954e-05_r8, 1.5830454726530084e-05_r8, & + 1.7008628924585602e-05_r8, 1.8765771290438067e-05_r8, & + 2.1257344880812131e-05_r8, 2.3821192065282686e-05_r8, & + 2.9301225785753778e-05_r8, 3.9159767904645127e-05_r8, & + 5.0844332106450349e-05_r8, 6.6912774205161134e-05_r8, & + 0.00010717716082835467_r8, 0.00017456616748922363_r8, & + 0.00024818425819221477_r8, 0.00032303274833825715_r8, & + 0.00038506408506912802_r8, 0.00043663033955359051_r8, & + 0.00046963999747651739_r8, 0.00049782571212767641_r8, & + 0.00051463701993865779_r8, 0.00052736449505664715_r8, & + 0.00053772049428433362_r8, 0.00055010663250026676_r8, & + 0.00055391592034097323_r8, 0.00055472898822903744_r8, & + 0.00055443360811307672_r8, 0.00055365130999711354_r8, & + 0.00055334088147708071_r8, 0.00055238276597153861_r8, & + 0.00055255334547247279_r8, 0.00055187748135659726_r8, & + 0.00055028187261438614_r8, 0.00054882819442661056_r8, & + 0.00054679227634161153_r8, 0.00054293259714449009_r8, & + 0.00054185916482362166_r8, 0.00053888430056947079_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,34) / & + 2.7891529414059481e-05_r8, 2.5745416358006193e-05_r8, & + 2.7005751767994288e-05_r8, 3.0046475246878763e-05_r8, & + 3.1952456639010223e-05_r8, 3.3545242060123673e-05_r8, & + 3.8942209292958087e-05_r8, 4.1371394430074818e-05_r8, & + 4.7328785397921691e-05_r8, 5.3482962008830006e-05_r8, & + 6.0027602866419993e-05_r8, 7.4127748891475556e-05_r8, & + 8.8375925484732165e-05_r8, 0.00010911509647979842_r8, & + 0.00013640435742443493_r8, 0.00014334902856427535_r8, & + 0.00014687223037941139_r8, 0.00018498372290322421_r8, & + 0.00028478641174447487_r8, 0.00035370321683412344_r8, & + 0.0004088292069754641_r8, 0.00045410680585074672_r8, & + 0.00048509191916090298_r8, 0.00051407433193460101_r8, & + 0.00053086880877842876_r8, 0.00054375737747727694_r8, & + 0.00055403921836089641_r8, 0.00057028750182463994_r8, & + 0.00057719042626452649_r8, 0.00057632686717871506_r8, & + 0.00057607933579166179_r8, 0.00057627615897208649_r8, & + 0.0005766332593257667_r8, 0.0005754435546455848_r8, & + 0.00057590136288481614_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,34) / & + 3.9702932702591905e-05_r8, 3.2901276975474757e-05_r8, & + 4.1213739718465551e-05_r8, 4.5337428412659741e-05_r8, & + 5.2729102366443084e-05_r8, 5.7222575403686119e-05_r8, & + 6.6893521778100217e-05_r8, 7.4952800177656838e-05_r8, & + 8.0947265220387504e-05_r8, 8.7773088903084155e-05_r8, & + 9.5224487976357586e-05_r8, 0.0001148667864109275_r8, & + 0.00012768208725171042_r8, 0.00015447435740870033_r8, & + 0.00018254500937465318_r8, 0.00017796148924791811_r8, & + 0.00015450530012294479_r8, 0.00015586577661861058_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,34) / & + 4.5613429057015013e-05_r8, 3.6253686162773125e-05_r8, & + 4.8067763082823769e-05_r8, 6.9590320359093531e-05_r8, & + 8.4211454321429907e-05_r8, 9.0211617666694857e-05_r8, & + 0.00010643886235157882_r8, 0.00011498979512776916_r8, & + 0.00011960412438831616_r8, 0.00012273899328007473_r8, & + 0.00012655319613866185_r8, 0.00014535699413576771_r8, & + 0.00014879251634304601_r8, 0.00017043275349494069_r8, & + 0.00017463653517716136_r8, 0.00016567013370555049_r8, & + 0.00015813526510458637_r8, 0.00015893345126493356_r8, & + 0.00015886162815781279_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,34) / & + 0.00032482600460354103_r8, 0.00019567602404800178_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,34) / & + 0.00021947354398936915_r8, 0.00015051307158537908_r8, & + 6.9375567734919019e-05_r8, 6.0320032960933779e-05_r8, & + 6.0468866140060787e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,34) / & + 8.2034167315657688e-05_r8, 8.2425981123381023e-05_r8, & + 6.0164932689572326e-05_r8, 5.8636146691028355e-05_r8, & + 5.8770834977476932e-05_r8, 6.2042818014083987e-05_r8, & + 6.2250049567731926e-05_r8, 6.2912110449842005e-05_r8, & + 6.0964900540205118e-05_r8, 6.0691843495983251e-05_r8, & + 6.0511792623092842e-05_r8, 5.7707183120033062e-05_r8, & + 5.4588708401734211e-05_r8, 5.5682891090842248e-05_r8, & + 5.7135635889230656e-05_r8, 5.723216872115575e-05_r8, & + 6.0615801496280581e-05_r8, 6.1836833853047749e-05_r8, & + 6.2990319384320225e-05_r8, 6.5933301533307201e-05_r8, & + 6.9339018208931509e-05_r8, 7.4273812131272509e-05_r8, & + 7.1110453015715884e-05_r8, 7.7226613734734985e-05_r8, & + 8.9126927641007561e-05_r8, 9.9033950827498224e-05_r8, & + 0.00010525870942793977_r8, 0.00010801291256662092_r8, & + 0.00010806309903024387_r8, 0.00011003735833885153_r8, & + 0.00011173461403456932_r8, 0.00011246923461685349_r8, & + 0.00011294757426191183_r8, 0.00011321747030852342_r8, & + 0.00011382188674682111_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,34) / & + 5.4642175986925353e-05_r8, 6.0049432062628433e-05_r8, & + 5.0583087753166841e-05_r8, 5.7916313767477385e-05_r8, & + 5.5534377537695036e-05_r8, 6.5977121856331634e-05_r8, & + 6.5665799739799045e-05_r8, 6.6530104494803694e-05_r8, & + 6.3304009568625395e-05_r8, 6.0169312060969695e-05_r8, & + 6.1500976088941625e-05_r8, 6.0908748660593779e-05_r8, & + 5.8343469365618509e-05_r8, 6.0009610793793013e-05_r8, & + 6.0434783643295983e-05_r8, 6.173931237539027e-05_r8, & + 6.4250367141181067e-05_r8, 6.4930193868225201e-05_r8, & + 6.7119592661673527e-05_r8, 7.0929515335902164e-05_r8, & + 7.532040192498455e-05_r8, 7.9681547078788695e-05_r8, & + 7.9270301698659645e-05_r8, 8.6125422715808151e-05_r8, & + 9.6178569199838806e-05_r8, 0.00010306054479591427_r8, & + 0.00010831867758700403_r8, 0.00011196717804694272_r8, & + 0.00011104648266437896_r8, 0.00011203518605074226_r8, & + 0.00011326284412229889_r8, 0.00011343054633540383_r8, & + 0.00011477731198908095_r8, 0.0001151219612962867_r8, & + 0.00011544410614095654_r8, 0.00011509764235672043_r8, & + 0.00011752244839359567_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,34) / & + 6.3968866883614136e-05_r8, 7.6386922483204418e-05_r8, & + 6.1818165423210554e-05_r8, 8.9857733635575118e-05_r8, & + 7.7208919642003917e-05_r8, 8.7371214682301424e-05_r8, & + 7.3004624807477398e-05_r8, 6.51676145786061e-05_r8, & + 6.0348299813729513e-05_r8, 6.0416771071604894e-05_r8, & + 6.2241491799003895e-05_r8, 6.3507816191575182e-05_r8, & + 6.4098196205668081e-05_r8, 6.5034512447696677e-05_r8, & + 6.6013279395096448e-05_r8, 6.831489978660007e-05_r8, & + 6.9605772099031e-05_r8, 6.9878724201951511e-05_r8, & + 7.2250862954488664e-05_r8, 7.6686606501055477e-05_r8, & + 8.0200893631992973e-05_r8, 8.3744214921574789e-05_r8, & + 8.6100649335043544e-05_r8, 9.2093234221222997e-05_r8, & + 9.9208461607408008e-05_r8, 0.00010515567459974101_r8, & + 0.00011073747811031616_r8, 0.00011968234352855785_r8, & + 0.00011876497109936365_r8, 0.00011504186290781695_r8, & + 0.00011463879420279817_r8, 0.00011404836190448579_r8, & + 0.00011593059210563555_r8, 0.00011622089167036113_r8, & + 0.00011620500380206137_r8, 0.00011707743587457151_r8, & + 0.00012068204172016983_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,34) / & + 7.4021223807015321e-05_r8, 0.00010081959548441126_r8, & + 8.7950870214924286e-05_r8, 0.00012156232745907193_r8, & + 0.00011433315843149483_r8, 0.00012651343690147279_r8, & + 9.181728528936401e-05_r8, 6.7984147077450132e-05_r8, & + 6.0490336277978925e-05_r8, 6.3840315265675367e-05_r8, & + 6.3243889296417814e-05_r8, 6.5627283551812144e-05_r8, & + 6.6967223294391425e-05_r8, 6.8333961866657989e-05_r8, & + 6.9932244219120872e-05_r8, 7.1659544611225406e-05_r8, & + 7.228642120080624e-05_r8, 7.2884144019232211e-05_r8, & + 7.5205331198521268e-05_r8, 7.8878752802090751e-05_r8, & + 8.1746650639280313e-05_r8, 8.5453284943040771e-05_r8, & + 8.917507960754511e-05_r8, 9.403869033190214e-05_r8, & + 9.9841887888531058e-05_r8, 0.00010495254754635329_r8, & + 0.00011133677163274234_r8, 0.00012122319438436612_r8, & + 0.00012187800876458581_r8, 0.00011848328261909799_r8, & + 0.00011877158608457148_r8, 0.00011906851636014104_r8, & + 0.0001200806104900689_r8, 0.00012008096619160441_r8, & + 0.00012049183016498425_r8, 0.00012116869685373994_r8, & + 0.00012428419652027507_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,35) / & + 8.5003001441502177e-05_r8, 8.3844583668449732e-05_r8, & + 9.8938160506895664e-05_r8, 7.8068374866021225e-05_r8, & + 8.5946113214033031e-05_r8, 9.437129958662235e-05_r8, & + 0.00012490164894254812_r8, 0.00014854034803364304_r8, & + 0.0001582182124502632_r8, 0.00016584334221342309_r8, & + 0.00017143863901404813_r8, 0.00017569651627002332_r8, & + 0.00018251456212789707_r8, 0.00018895423317482636_r8, & + 0.0001918320986105343_r8, 0.000196609772063075_r8, & + 0.00020370645911085616_r8, 0.0002095743719289154_r8, & + 0.00021587463325110193_r8, 0.00021839270285591584_r8, & + 0.00022377548891113326_r8, 0.00023039576363754311_r8, & + 0.00023266092248235337_r8, 0.00023635258460109521_r8, & + 0.00024016490092157726_r8, 0.00024253914772436345_r8, & + 0.00024635199165869652_r8, 0.00025336679760909855_r8, & + 0.00025865204433620517_r8, 0.00026189686068894065_r8, & + 0.00026446357829249862_r8, 0.00026689930580196992_r8, & + 0.00026647126497355401_r8, 0.00026362323924525376_r8, & + 0.00025742775413256549_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,35) / & + 5.6341520634609563e-05_r8, 5.5653734468720242e-05_r8, & + 6.0831441475243191e-05_r8, 4.8207526675515626e-05_r8, & + 5.3534233357245067e-05_r8, 5.9698038869942512e-05_r8, & + 8.2436579582422415e-05_r8, 0.00010855188060258979_r8, & + 0.00012476191480345543_r8, 0.00013899653907252897_r8, & + 0.00014768231459288183_r8, 0.00015591304657033264_r8, & + 0.00016578846026285725_r8, 0.00017225127967408348_r8, & + 0.00017593730141136625_r8, 0.0001799514389105629_r8, & + 0.00018566259908270335_r8, 0.00018989119283118413_r8, & + 0.00019474585244925178_r8, 0.00019892194453955417_r8, & + 0.0002029731989779447_r8, 0.00020780621718452958_r8, & + 0.00021170734636895484_r8, 0.00021591380287261451_r8, & + 0.0002202071239786998_r8, 0.00022395645872457076_r8, & + 0.00022828115678973741_r8, 0.00023790141620051291_r8, & + 0.0002469244608394684_r8, 0.00025477109054268597_r8, & + 0.00026180951738661164_r8, 0.00026772573178415315_r8, & + 0.00027115698068135339_r8, 0.00027198212704273884_r8, & + 0.00027177983791550384_r8, 0.00027051853496148166_r8, & + 0.00026654905019382147_r8, 0.00026473948661583676_r8, & + 0.00026793464456238941_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,35) / & + 2.8470961883096587e-05_r8, 2.8138033530372686e-05_r8, & + 2.554921054579313e-05_r8, 1.946764827057005e-05_r8, & + 2.0503823472662783e-05_r8, 2.3528888596354341e-05_r8, & + 3.0766647068669842e-05_r8, 4.3303403465170936e-05_r8, & + 5.5602210233310253e-05_r8, 7.2553011322137558e-05_r8, & + 8.7410748207246883e-05_r8, 9.9034998492581423e-05_r8, & + 0.00011547973255558154_r8, 0.00012956736300203503_r8, & + 0.00013927920663017713_r8, 0.0001466726653790971_r8, & + 0.00015727468744720929_r8, 0.0001648193864938256_r8, & + 0.00017051966473276419_r8, 0.00017536807324054738_r8, & + 0.00017857931331416731_r8, 0.00018158026327501096_r8, & + 0.00018503271061371066_r8, 0.0001887988523391844_r8, & + 0.00019240965347602662_r8, 0.00019694740168527296_r8, & + 0.00020152218333511433_r8, 0.00021341431315222313_r8, & + 0.00022497405803606986_r8, 0.00023592745233199381_r8, & + 0.00024665130101315914_r8, 0.00025707187892548116_r8, & + 0.00026682773307293018_r8, 0.00027425007567600753_r8, & + 0.00028048367447446759_r8, 0.00028413548630784184_r8, & + 0.00027918525227484445_r8, 0.00027112346043754428_r8, & + 0.00026859090558854396_r8, 0.00026956601225317195_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,35) / & + 1.7106494436390907e-05_r8, 1.70400912972548e-05_r8, & + 1.3662199110872991e-05_r8, 1.2239255032894342e-05_r8, & + 1.2520170426017735e-05_r8, 1.3916956399528736e-05_r8, & + 1.9133896952235302e-05_r8, 2.2530667156878475e-05_r8, & + 2.5893514325050835e-05_r8, 3.3176852944552589e-05_r8, & + 4.5210532918974638e-05_r8, 5.2336185207029897e-05_r8, & + 6.4640001630045943e-05_r8, 8.055204862367507e-05_r8, & + 9.0403390913665595e-05_r8, 0.00010005586352062893_r8, & + 0.00011694301828726357_r8, 0.00013111120276484986_r8, & + 0.00014027241523429783_r8, 0.00015057942615825874_r8, & + 0.00015793044709345948_r8, 0.0001631277549425972_r8, & + 0.00016788989753070525_r8, 0.00017231433623665743_r8, & + 0.00017570402856314531_r8, 0.0001797980189349585_r8, & + 0.00018354338436548561_r8, 0.00019379067747286858_r8, & + 0.00020534275263260336_r8, 0.00021756589268570056_r8, & + 0.00022986121350898619_r8, 0.0002415770243399537_r8, & + 0.00025370395975415227_r8, 0.00026539319981955576_r8, & + 0.00027321925722743423_r8, 0.00028333769392704336_r8, & + 0.00028557734646521315_r8, 0.00027249765371185062_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,35) / & + 1.0085121443399305e-05_r8, 9.8872546984001087e-06_r8, & + 9.3611954294316646e-06_r8, 1.0034138680701091e-05_r8, & + 1.0114918873865138e-05_r8, 1.0444844172740231e-05_r8, & + 1.1708391564894423e-05_r8, 1.3195627035052727e-05_r8, & + 1.4738707468433231e-05_r8, 1.7065218329048539e-05_r8, & + 2.1873679640884867e-05_r8, 2.40736000842276e-05_r8, & + 2.8350806485983225e-05_r8, 3.4726994280603515e-05_r8, & + 3.9355774416471595e-05_r8, 4.5026184082463999e-05_r8, & + 5.6726437684663061e-05_r8, 6.8776773431818489e-05_r8, & + 7.9397531033056475e-05_r8, 9.385736243516034e-05_r8, & + 0.00010724867767676877_r8, 0.00011894556949101577_r8, & + 0.00013009583716169028_r8, 0.00014155163616636916_r8, & + 0.00014995165826199122_r8, 0.00015724372785037489_r8, & + 0.00016314811891706687_r8, 0.00017452690894283088_r8, & + 0.00018555447237172715_r8, 0.00019630104635490864_r8, & + 0.00020737004610690517_r8, 0.00021931049895193198_r8, & + 0.00022914010669436609_r8, 0.00023511175156754817_r8, & + 0.00023618596724474025_r8, 0.00024158690664576044_r8, & + 0.0002486231896851767_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,35) / & + 6.1264199905007237e-06_r8, 6.1415981310159656e-06_r8, & + 6.315191816688039e-06_r8, 5.5778885267896309e-06_r8, & + 5.7215365185743374e-06_r8, 5.7955137718430908e-06_r8, & + 6.5273916561915038e-06_r8, 6.8506204214600841e-06_r8, & + 7.997466040681447e-06_r8, 8.4221839570956518e-06_r8, & + 9.0934749255726263e-06_r8, 9.9662669283900418e-06_r8, & + 1.2182632503140222e-05_r8, 1.4806209728159454e-05_r8, & + 1.6458069769049879e-05_r8, 1.8824633959284782e-05_r8, & + 2.3467470224154069e-05_r8, 2.8383370310011732e-05_r8, & + 3.6020645522383205e-05_r8, 4.6374549733316316e-05_r8, & + 5.935022557890843e-05_r8, 7.3598407289071578e-05_r8, & + 8.7986916713264415e-05_r8, 0.00010531297073103872_r8, & + 0.00012028987947543288_r8, 0.00013268336906590918_r8, & + 0.00014258310373948128_r8, 0.00016184103175049484_r8, & + 0.0001774040847715886_r8, 0.00018918529815451147_r8, & + 0.00019936356784174588_r8, 0.00020762086726457593_r8, & + 0.00021586332470673898_r8, 0.00022454029310217314_r8, & + 0.00023272276560037014_r8, 0.00024022374547193222_r8, & + 0.00024628715246350919_r8, 0.0002522296286723707_r8, & + 0.00025317964718775729_r8, 0.00025291718701925931_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,35) / & + 3.7399746212806368e-06_r8, 3.7432117749123864e-06_r8, & + 3.8813752930546572e-06_r8, 3.3173653687382137e-06_r8, & + 3.556354043930897e-06_r8, 3.6412611369104175e-06_r8, & + 5.3618414543260576e-06_r8, 4.3755800743330182e-06_r8, & + 4.9763450698827337e-06_r8, 5.8211120226111383e-06_r8, & + 6.2612593746594083e-06_r8, 6.7167301954595661e-06_r8, & + 7.7036065104677565e-06_r8, 8.8665125744201078e-06_r8, & + 1.0214139689800885e-05_r8, 1.1673747214638665e-05_r8, & + 1.5162518663704191e-05_r8, 1.9475261214648208e-05_r8, & + 2.6551002281974801e-05_r8, 3.7030173229203215e-05_r8, & + 5.0778415062471122e-05_r8, 6.5588422447169961e-05_r8, & + 8.456469238556777e-05_r8, 0.00010251661804861091_r8, & + 0.00011976642705761722_r8, 0.00013261391411630119_r8, & + 0.00014270184069242566_r8, 0.00016429456404361698_r8, & + 0.00018046376662027484_r8, 0.00019340832440414084_r8, & + 0.00020507354449966685_r8, 0.00021270261769218941_r8, & + 0.00021903001600640063_r8, 0.00022500475154534977_r8, & + 0.00023194448916268357_r8, 0.00023961074151576889_r8, & + 0.00024522545227809688_r8, 0.00025065105597221299_r8, & + 0.00025247709063002343_r8, 0.00025401505404457379_r8, & + 0.00025481420013800617_r8, 0.00025642187007254424_r8, & + 0.00026027687210251866_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,35) / & + 2.4639545626911676e-06_r8, 2.3597273584056695e-06_r8, & + 2.4922895262128036e-06_r8, 2.9552878645385799e-06_r8, & + 3.1827103503761374e-06_r8, 3.4293060352619266e-06_r8, & + 5.4839086097149038e-06_r8, 3.8164233497545754e-06_r8, & + 3.6448242078750385e-06_r8, 3.8582693654304466e-06_r8, & + 4.1372458713615628e-06_r8, 4.6351409365278575e-06_r8, & + 5.5176303499697801e-06_r8, 7.0089628909926955e-06_r8, & + 8.2664031912796051e-06_r8, 9.4021549917348877e-06_r8, & + 1.3126274591207444e-05_r8, 1.7967290119607939e-05_r8, & + 2.6521030061001952e-05_r8, 3.9363993273401499e-05_r8, & + 5.637306332485851e-05_r8, 7.4535797977255295e-05_r8, & + 9.7704654779012801e-05_r8, 0.00011510632637334624_r8, & + 0.00013129657685536874_r8, 0.00014229008060026032_r8, & + 0.00015144313637835646_r8, 0.00017058413990183214_r8, & + 0.0001871808427726894_r8, 0.00019995129266072413_r8, & + 0.0002109055635068768_r8, 0.00021872656267838051_r8, & + 0.00022483203587725058_r8, 0.00023032326185015072_r8, & + 0.000236041388785966_r8, 0.00024166036491321617_r8, & + 0.00024606796871067883_r8, 0.00025021428345367157_r8, & + 0.00025243577109175172_r8, 0.00025511834837960265_r8, & + 0.00025570328751318321_r8, 0.00025696840724963017_r8, & + 0.00026003973887751732_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,35) / & + 1.4839504255254041e-06_r8, 1.4791792870809203e-06_r8, & + 1.6720518195043639e-06_r8, 2.3387829393554514e-06_r8, & + 2.6092197086546576e-06_r8, 2.9595362166760457e-06_r8, & + 4.9967191268972646e-06_r8, 3.4809744142979806e-06_r8, & + 3.2309012154780164e-06_r8, 3.2480905885011954e-06_r8, & + 3.3762970809691012e-06_r8, 3.6486822050259489e-06_r8, & + 4.3270635252978492e-06_r8, 5.9697103580290332e-06_r8, & + 7.3654083185952352e-06_r8, 8.698025181243462e-06_r8, & + 1.2766360324056531e-05_r8, 1.7559250678030548e-05_r8, & + 2.6698213909537182e-05_r8, 4.0982303225045145e-05_r8, & + 6.0170348910732705e-05_r8, 8.0225568484080108e-05_r8, & + 0.00010391476391011249_r8, 0.0001202276999865063_r8, & + 0.00013525779681861555_r8, 0.00014497831481995586_r8, & + 0.00015404946679842827_r8, 0.00017300203910246262_r8, & + 0.00019098644765397089_r8, 0.00020430157798962358_r8, & + 0.00021411883216080414_r8, 0.00022152400124271111_r8, & + 0.00022715026020396663_r8, 0.00023322567444589943_r8, & + 0.00023889703222975802_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,35) / & + 1.2596395406003001e-06_r8, 1.3545662957051655e-06_r8, & + 1.2966972427319188e-06_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,35) / & + 8.0118137271407401e-06_r8, 6.9791374342540691e-06_r8, & + 7.3365440026611271e-06_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,35) / & + 8.3292342392832936e-06_r8, 7.7607004018204922e-06_r8, & + 7.2573664959926848e-06_r8, 9.9432536078950564e-06_r8, & + 1.239901705664102e-05_r8, 1.2671314694951719e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,35) / & + 9.0201503959383992e-06_r8, 8.0057818906109342e-06_r8, & + 8.0147705178360872e-06_r8, 9.3531870932213307e-06_r8, & + 1.0940108370829539e-05_r8, 1.0717196841194297e-05_r8, & + 1.1143611253379487e-05_r8, 2.275098636451093e-05_r8, & + 3.1737967347268848e-05_r8, 4.3439392450346182e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,35) / & + 1.0254711501646048e-05_r8, 1.0030586659622918e-05_r8, & + 9.623782262452432e-06_r8, 9.7987047371473825e-06_r8, & + 1.0879588985553628e-05_r8, 1.1054251966331667e-05_r8, & + 1.2311100552961075e-05_r8, 2.5744285376697855e-05_r8, & + 3.7141327905650558e-05_r8, 4.8804911434967066e-05_r8, & + 5.8062872392945814e-05_r8, 6.6470400876463703e-05_r8, & + 8.987959984335428e-05_r8, 0.00010634313292526575_r8, & + 0.00011754004870142671_r8, 0.0001262100948651237_r8, & + 0.00014729788509939876_r8, 0.00017182998516344095_r8, & + 0.0001987727663935027_r8, 0.0002251149030191386_r8, & + 0.00024800260980289464_r8, 0.00026930940502514739_r8, & + 0.00028549451242334954_r8, 0.00029647916639097472_r8, & + 0.00030526482220938041_r8, 0.00031104727757018207_r8, & + 0.00031652581076682966_r8, 0.00032582564321538614_r8, & + 0.0003340536173698304_r8, 0.00033950162829701004_r8, & + 0.0003394548256051276_r8, 0.00033954357211858643_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,35) / & + 4.8939322168666128e-06_r8, 4.9238126292942154e-06_r8, & + 4.5304761118590925e-06_r8, 4.0798615810026004e-06_r8, & + 4.2417141074168724e-06_r8, 4.3583680940696381e-06_r8, & + 6.4042255944648152e-06_r8, 9.5400292087728466e-06_r8, & + 1.3044520044068625e-05_r8, 1.8467422221209348e-05_r8, & + 2.4164094709297684e-05_r8, 3.1770593639298162e-05_r8, & + 5.2926122640664478e-05_r8, 7.6376082149420542e-05_r8, & + 9.2111466438648325e-05_r8, 0.00010380401694294894_r8, & + 0.00012060527271514349_r8, 0.00014355835351457044_r8, & + 0.00017160776524429732_r8, 0.00020530216014698872_r8, & + 0.00023410129473992489_r8, 0.0002616417097654386_r8, & + 0.00028625714510415221_r8, 0.00031076577027612523_r8, & + 0.00032904378485185739_r8, 0.00034364514514131087_r8, & + 0.00035818219657223578_r8, 0.00038444700028104683_r8, & + 0.0004042979572946515_r8, 0.00041598071015398335_r8, & + 0.00042315251836546296_r8, 0.00042575312353087055_r8, & + 0.0004258001088223429_r8, 0.00042471781246032056_r8, & + 0.00042334657029020651_r8, 0.00042268868509917038_r8, & + 0.00042017098856479343_r8, 0.00042006247749264744_r8, & + 0.00041969032704775055_r8, 0.00041959827343719973_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,35) / & + 4.9557616980193969e-06_r8, 4.995179987176993e-06_r8, & + 4.6196842017851925e-06_r8, 4.480257149816757e-06_r8, & + 4.6318593133960198e-06_r8, 4.8649530055784376e-06_r8, & + 7.5298502024698154e-06_r8, 1.0860438702593168e-05_r8, & + 1.4610590765532723e-05_r8, 2.0781260239775062e-05_r8, & + 2.8674589623166684e-05_r8, 3.8757226218392192e-05_r8, & + 6.7231500837981243e-05_r8, 9.2977399533346756e-05_r8, & + 0.00010747984466978487_r8, 0.00011786322845249801_r8, & + 0.00013439115647211346_r8, 0.00015716318517152846_r8, & + 0.00018441410836212869_r8, 0.00021619481768287224_r8, & + 0.00024568145388434784_r8, 0.00027408481632188093_r8, & + 0.00029858396388024878_r8, 0.00032188543734383324_r8, & + 0.00034122201581470428_r8, 0.0003570656437221067_r8, & + 0.00037307219944198513_r8, 0.00039940268116385707_r8, & + 0.00042008804595736486_r8, 0.00043191609455256637_r8, & + 0.00043827747611144876_r8, 0.00044125007479604291_r8, & + 0.00044127869876431862_r8, 0.00043997020018907596_r8, & + 0.00043871480276806078_r8, 0.00043804800451435283_r8, & + 0.0004357387408544285_r8, 0.00043467420715228021_r8, & + 0.00043327803241579091_r8, 0.0004328454238321417_r8, & + 0.00043224726751515854_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,35) / & + 5.8290758285738756e-06_r8, 5.8089315531820274e-06_r8, & + 5.5548340154664534e-06_r8, 5.6677099568652696e-06_r8, & + 5.9736895011322091e-06_r8, 6.275806711184895e-06_r8, & + 9.3509984317225037e-06_r8, 1.3979336955983496e-05_r8, & + 2.119326393728191e-05_r8, 3.41724215939627e-05_r8, & + 4.8699162860535166e-05_r8, 6.6822414222371496e-05_r8, & + 9.8867194733950482e-05_r8, 0.00011819709379061866_r8, & + 0.00012761733212865691_r8, 0.00013671645261378082_r8, & + 0.00015496853730312865_r8, 0.0001771345141717924_r8, & + 0.00020143725753009859_r8, 0.00023108305737471586_r8, & + 0.00026046952381509459_r8, 0.00028913015670414989_r8, & + 0.00031483044513730689_r8, 0.00033830344839207708_r8, & + 0.00035875705755277902_r8, 0.00037606785414233797_r8, & + 0.00039199072802135359_r8, 0.00041808430845169061_r8, & + 0.00043719300637087816_r8, 0.0004481890208928147_r8, & + 0.00045417247018920146_r8, 0.00045683566912575865_r8, & + 0.00045671326439465301_r8, 0.00045520944668051082_r8, & + 0.00045400312291080894_r8, 0.00045269724913656799_r8, & + 0.00045071498279436359_r8, 0.00044781356162374195_r8, & + 0.00044691909174877589_r8, 0.00044603792850822575_r8, & + 0.00044313297370735053_r8, 0.00044312011742124972_r8, & + 0.00044129645765941702_r8, 0.00042882873184164736_r8, & + 0.00042869016651628054_r8 & + / +data saar_ref(:,25,35) / & + 5.5236777367692794e-06_r8, 5.4396033035084368e-06_r8, & + 5.3912772497230776e-06_r8, 5.6945007602460687e-06_r8, & + 5.8920162842849722e-06_r8, 6.0933855424837704e-06_r8, & + 7.3727136460290188e-06_r8, 1.0176947447784394e-05_r8, & + 1.5506898800202129e-05_r8, 2.6069190682489154e-05_r8, & + 3.8674808985181832e-05_r8, 5.5824662409681549e-05_r8, & + 8.4371878103368063e-05_r8, 0.0001116020532679314_r8, & + 0.000131449166516883_r8, 0.00014959289638144353_r8, & + 0.00017615166641673342_r8, 0.00020165207799082872_r8, & + 0.00022606438540941532_r8, 0.00025423253358415989_r8, & + 0.00028271231446030026_r8, 0.00031198024579414031_r8, & + 0.00033829928444971153_r8, 0.00036181833436848881_r8, & + 0.00038151703695767596_r8, 0.00039849947468445312_r8, & + 0.00041349326205579652_r8, 0.00043826885170866053_r8, & + 0.00045572144744998177_r8, 0.00046577319660847451_r8, & + 0.00047196703412978369_r8, 0.00047399783502096045_r8, & + 0.00047238823396489267_r8, 0.0004705211607111486_r8, & + 0.00046881305794675709_r8, 0.00046658857947979904_r8, & + 0.00046504766258482751_r8, 0.00046330037840762635_r8, & + 0.00046219945071256032_r8, 0.0004613884937708349_r8, & + 0.00046031536404718361_r8, 0.00045959817828028986_r8, & + 0.00045618022584587047_r8, 0.00044219823625765242_r8, & + 0.00044109593510278944_r8 & + / +data saar_ref(:,26,35) / & + 4.6019317272171059e-06_r8, 4.5496061985759895e-06_r8, & + 4.5269388913542313e-06_r8, 4.60790254597171e-06_r8, & + 4.6641854084980263e-06_r8, 4.664881589807917e-06_r8, & + 4.8394455923631925e-06_r8, 5.2699466169207111e-06_r8, & + 6.5622648644337515e-06_r8, 9.3073305857931397e-06_r8, & + 1.3940525612433718e-05_r8, 2.3521172763710704e-05_r8, & + 3.8309615434281833e-05_r8, 6.3614434252775114e-05_r8, & + 9.139323680274855e-05_r8, 0.00012363780002463308_r8, & + 0.00017768836479322716_r8, 0.00022139648975926684_r8, & + 0.00025376623883105579_r8, 0.00028516029398508195_r8, & + 0.00031565343887456906_r8, 0.00034554192907966866_r8, & + 0.00037034621462367693_r8, 0.00039231884484722951_r8, & + 0.00040994686127744493_r8, 0.00042466507291541547_r8, & + 0.00043869677472421233_r8, 0.00046205449158581073_r8, & + 0.00047786326089173636_r8, 0.00048720997732595395_r8, & + 0.00049212231495545115_r8, 0.00049414257718758184_r8, & + 0.0004920824133786421_r8, 0.0004891708729835827_r8, & + 0.00048714538117124086_r8, 0.00048382357252069896_r8, & + 0.00048245866498992902_r8, 0.00047999478651340396_r8, & + 0.00047846287531169858_r8, 0.00047759396215364127_r8, & + 0.00047690464972485123_r8, 0.00047857097512454182_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,35) / & + 4.6968492117509688e-06_r8, 4.5962544616994445e-06_r8, & + 4.5295674390774687e-06_r8, 4.1918576455806521e-06_r8, & + 4.26939520185262e-06_r8, 4.1961839784354519e-06_r8, & + 4.3177710678630357e-06_r8, 4.4051486959436986e-06_r8, & + 4.937436663414527e-06_r8, 6.1716438806464135e-06_r8, & + 8.4390844102775365e-06_r8, 1.2965522285197472e-05_r8, & + 2.0574409835957221e-05_r8, 3.1839069057688622e-05_r8, & + 4.9427326308697266e-05_r8, 7.4568885906346635e-05_r8, & + 0.00013925574059780879_r8, 0.00020859763035828142_r8, & + 0.00026581596504794236_r8, 0.00031359304424511298_r8, & + 0.00035262852296335731_r8, 0.00038623141224031985_r8, & + 0.00041218350338799719_r8, 0.00043312764363953089_r8, & + 0.0004482997528073394_r8, 0.00045999431171751511_r8, & + 0.00047111119619574289_r8, 0.00048877935384154542_r8, & + 0.00050062155461815872_r8, 0.00050717970929502307_r8, & + 0.00051003919825614056_r8, 0.00051044855836317377_r8, & + 0.00050900005653605233_r8, 0.00050665129213491326_r8, & + 0.00050433959554749394_r8, 0.00050129980039795069_r8, & + 0.00049889710457128316_r8, 0.00049680928536383973_r8, & + 0.00049591615811551439_r8, 0.00049560250871093128_r8, & + 0.00049514923794810128_r8, 0.00049651059186629819_r8, & + 0.00049595722183383493_r8, 0.00049366842726464787_r8, 9e90_r8 & + / +data saar_ref(:,28,35) / & + 5.5102151646367957e-06_r8, 5.3319748815381071e-06_r8, & + 5.1780297318165107e-06_r8, 4.7287958205913925e-06_r8, & + 4.8686534856072729e-06_r8, 4.8655456312103398e-06_r8, & + 5.0717660252890942e-06_r8, 5.6565628592560329e-06_r8, & + 6.463839228833534e-06_r8, 7.7947139325298634e-06_r8, & + 9.4759829037477098e-06_r8, 1.2037511604173813e-05_r8, & + 1.6494189982895072e-05_r8, 2.3987375655100409e-05_r8, & + 3.533126078866252e-05_r8, 5.1964265101597059e-05_r8, & + 0.00010375419881753443_r8, 0.000174624033485659_r8, & + 0.00025104274092486973_r8, 0.00031877550263750376_r8, & + 0.00036974024479245748_r8, 0.00041141569390016269_r8, & + 0.00044104473458186569_r8, 0.00046584427325186003_r8, & + 0.00048146437631926722_r8, 0.00049220733566661824_r8, & + 0.00050117363694449741_r8, 0.00051127676970944566_r8, & + 0.00051681069634529505_r8, 0.00051988720149890807_r8, & + 0.00052086923722062214_r8, 0.00052078964709887645_r8, & + 0.00051970220468201269_r8, 0.00051809469665951337_r8, & + 0.00051583771206890059_r8, 0.00051371475227297674_r8, & + 0.0005119354358466456_r8, 0.00051090478390501822_r8, & + 0.00051067208428426446_r8, 0.00051095261183769581_r8, & + 0.00051066169745727329_r8, 0.00051136746264540656_r8, & + 0.00051108681079349984_r8, 0.00050887892182306844_r8, 9e90_r8 & + / +data saar_ref(:,29,35) / & + 5.9084927526128057e-06_r8, 5.7588449699948281e-06_r8, & + 5.7101102755401384e-06_r8, 5.2533088659189694e-06_r8, & + 5.2325187485714179e-06_r8, 5.5194210431246251e-06_r8, & + 6.377077183653465e-06_r8, 7.3803558100010292e-06_r8, & + 7.883472513662875e-06_r8, 8.9374676646838131e-06_r8, & + 1.0065235440351298e-05_r8, 1.2222499547155722e-05_r8, & + 1.582300280622687e-05_r8, 2.1703543053249035e-05_r8, & + 3.0529574482855559e-05_r8, 4.3431196314494505e-05_r8, & + 8.3554785430055569e-05_r8, 0.00014611828202618302_r8, & + 0.00022304325050372551_r8, 0.00030407800885279398_r8, & + 0.00036662550006575517_r8, 0.00041910642989478506_r8, & + 0.00045428855721048908_r8, 0.00048463261402124387_r8, & + 0.00050314148142164455_r8, 0.00051699947904563419_r8, & + 0.00052711183628248112_r8, 0.00053662242538996051_r8, & + 0.00054008521844226898_r8, 0.00054041131886974438_r8, & + 0.00053824261070789319_r8, 0.00053736098362416754_r8, & + 0.00053536852796117059_r8, 0.00053368094037835388_r8, & + 0.00053105423770818787_r8, 0.00052970442660986016_r8, & + 0.00052960843732040698_r8, 0.00052854088055206137_r8, & + 0.00052752215705317981_r8, 0.00052642404035806016_r8, & + 0.00052630684721157567_r8, 0.00052647314253314681_r8, & + 0.00052931973555577459_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,35) / & + 8.8096337535976709e-06_r8, 8.6550624594568868e-06_r8, & + 8.7421933413082923e-06_r8, 9.5677251270471205e-06_r8, & + 9.5890774183068346e-06_r8, 9.9869869790279374e-06_r8, & + 1.1994870676252883e-05_r8, 1.2355096132838177e-05_r8, & + 1.3236903388582108e-05_r8, 1.440765138034717e-05_r8, & + 1.6358456586871323e-05_r8, 1.9780053850643959e-05_r8, & + 2.5308169284836199e-05_r8, 3.2949528988942167e-05_r8, & + 4.3320318142242631e-05_r8, 5.6803898332671676e-05_r8, & + 9.7143857418452076e-05_r8, 0.00015752510426094845_r8, & + 0.00022995940290881938_r8, 0.00030838527019376498_r8, & + 0.00037525084786302245_r8, 0.00043040135062453973_r8, & + 0.00046824782692949399_r8, 0.0004999457332981401_r8, & + 0.00051949038590366281_r8, 0.00053465917941028962_r8, & + 0.0005466106904772342_r8, 0.00056172260593823043_r8, & + 0.00056767163001092608_r8, 0.0005668840523192296_r8, & + 0.00056376491913683979_r8, 0.00056204477349615421_r8, & + 0.00055961284675710369_r8, 0.00055741428059230579_r8, & + 0.00055624108085127334_r8, 0.00055576499700699133_r8, & + 0.00055500045623726524_r8, 0.00055316181294336056_r8, & + 0.0005489634535347876_r8, 0.00054595002045053982_r8, & + 0.0005438140693217314_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,35) / & + 1.7595480440459101e-05_r8, 1.6877679246148281e-05_r8, & + 1.7299567931997039e-05_r8, 1.7509221256898739e-05_r8, & + 1.8458617100639145e-05_r8, 1.9282521783392056e-05_r8, & + 2.2058146849212276e-05_r8, 2.4540958580645035e-05_r8, & + 2.768208460430044e-05_r8, 3.2039994079999546e-05_r8, & + 3.8359353307972901e-05_r8, 4.9299251872077038e-05_r8, & + 6.4256668066919902e-05_r8, 8.1009404066853256e-05_r8, & + 0.00010150946576259744_r8, 0.00011860051904838352_r8, & + 0.00016631159596222362_r8, 0.00023023475349431016_r8, & + 0.00029918790015366354_r8, 0.00036469167329557169_r8, & + 0.00041890155193686845_r8, 0.00046433524717528292_r8, & + 0.00049647799178450342_r8, 0.00052297035400885911_r8, & + 0.00053913097596326493_r8, 0.00055176011880316261_r8, & + 0.00056156997238848846_r8, 0.00057754961682190292_r8, & + 0.00058383438863966036_r8, 0.00058241178928509997_r8, & + 0.00057987958953543809_r8, 0.00057897018328197406_r8, & + 0.00057770655865043991_r8, 0.00057556250214682526_r8, & + 0.0005753242881065152_r8, 0.00057535886306391156_r8, & + 0.00057512293538898476_r8, 0.00057338517065415415_r8, & + 0.00057063696556056631_r8, 0.00057175704570735532_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,35) / & + 2.9480378542138572e-05_r8, 2.4823423600219313e-05_r8, & + 3.0369471619571308e-05_r8, 3.0801096536491819e-05_r8, & + 3.6823127825881014e-05_r8, 4.0089111093699102e-05_r8, & + 4.7638651552882495e-05_r8, 5.6723093861780645e-05_r8, & + 6.1401481215528976e-05_r8, 6.8556276212911822e-05_r8, & + 7.6003149416561681e-05_r8, 9.0438757427863394e-05_r8, & + 0.00010882073133116391_r8, 0.00013370851378709372_r8, & + 0.0001736525079573982_r8, 0.00015795979526614455_r8, & + 0.00015502749520275415_r8, 0.0001560893420804442_r8, & + 0.00015604435347297998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,35) / & + 3.7315198695036462e-05_r8, 3.022992329926171e-05_r8, & + 3.9370317739558511e-05_r8, 5.3383481030723697e-05_r8, & + 6.7621430577720853e-05_r8, 7.6764601281675206e-05_r8, & + 9.2241807709122269e-05_r8, 0.00010220278877188358_r8, & + 0.00010627521893750132_r8, 0.00011115299912043308_r8, & + 0.00011388949374294683_r8, 0.00012791684114655342_r8, & + 0.00013205082288399747_r8, 0.00014998064815905857_r8, & + 0.00017431980301717739_r8, 0.00015884330976416252_r8, & + 0.00015798179283716082_r8, 0.00015891986257695524_r8, & + 0.00015970903861212778_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,35) / & + 3.8394899770673657e-05_r8, 3.1171560242075046e-05_r8, & + 3.8988248420417206e-05_r8, 5.3469128888852423e-05_r8, & + 7.0130608186867439e-05_r8, 7.9997297237110698e-05_r8, & + 9.4265569356429129e-05_r8, 0.00010696294734209885_r8, & + 0.00011328557423027382_r8, 0.00012059119887990346_r8, & + 0.00012374420323961742_r8, 0.0001383792100681742_r8, & + 0.00014387754122848831_r8, 0.00015817592080463914_r8, & + 0.0001702306487350371_r8, 0.00016123538427693584_r8, & + 0.00016300664019732209_r8, 0.00016344110387551966_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,35,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,35) / & + 2.791717362056433e-05_r8, 2.6000773732868535e-05_r8, & + 3.3987598106430402e-05_r8, 4.0900551937556733e-05_r8, & + 4.4975165446682059e-05_r8, 5.4331890691275311e-05_r8, & + 7.8587045484790262e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,37,35) / & + 2.9255305647833828e-05_r8, 2.8576208444220186e-05_r8, & + 3.4706178147358128e-05_r8, 4.1494741956465735e-05_r8, & + 4.5978236375349205e-05_r8, 5.6510660691075511e-05_r8, & + 8.0201719201449019e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,35) / & + 0.0002880506256132521_r8, 0.00019156903976425484_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,35) / & + 0.00021364435244355115_r8, 0.00017103116744871978_r8, & + 8.3293283479934232e-05_r8, 6.0128671754340627e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,35) / & + 9.4565243599451727e-05_r8, 9.4163366980950551e-05_r8, & + 6.3706952609735726e-05_r8, 6.3978234012196275e-05_r8, & + 5.9613591743130577e-05_r8, 7.0858496459147668e-05_r8, & + 6.4721577592477948e-05_r8, 6.5011243470335423e-05_r8, & + 6.224940110469665e-05_r8, 6.0452912239337316e-05_r8, & + 6.0650864790888433e-05_r8, 5.8623563241317367e-05_r8, & + 5.5078750101087726e-05_r8, 5.6508999871911282e-05_r8, & + 5.7814820177010793e-05_r8, 5.8346372571815887e-05_r8, & + 6.1846758386022876e-05_r8, 6.3052276991095512e-05_r8, & + 6.4612806144119799e-05_r8, 6.8036331140180771e-05_r8, & + 7.1333508268890127e-05_r8, 7.5773889760454667e-05_r8, & + 7.3507009631700615e-05_r8, 8.0836886765057932e-05_r8, & + 9.1163967214618951e-05_r8, 9.9576817280745233e-05_r8, & + 0.00010537725332362746_r8, 0.00010784795613214691_r8, & + 0.00010785951376899658_r8, 0.00010973813779130282_r8, & + 0.00011134611785411662_r8, 0.00011219553276665651_r8, & + 0.00011262691296255326_r8, 0.00011298191924479237_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,35) / & + 5.9266371795746349e-05_r8, 6.5967381696842319e-05_r8, & + 5.5100652912921663e-05_r8, 6.5457117705353921e-05_r8, & + 5.8920336153968768e-05_r8, 6.8553554719020602e-05_r8, & + 7.0490546458384739e-05_r8, 6.9592316369662652e-05_r8, & + 6.3768447856951248e-05_r8, 6.0414920816210948e-05_r8, & + 6.1559257450434951e-05_r8, 6.1829604834495036e-05_r8, & + 5.8823539576721766e-05_r8, 6.0227461686384962e-05_r8, & + 6.0837210288208817e-05_r8, 6.235492755469987e-05_r8, & + 6.4831526877302112e-05_r8, 6.5625034161069436e-05_r8, & + 6.7917534091727489e-05_r8, 7.1713360877579497e-05_r8, & + 7.5784837941708755e-05_r8, 8.0090261439733388e-05_r8, & + 7.9721298352682313e-05_r8, 8.7103087530022939e-05_r8, & + 9.6287145812547266e-05_r8, 0.00010285712043963267_r8, & + 0.00010797815067818468_r8, 0.00011245932820347286_r8, & + 0.00011120970772681431_r8, 0.00011189679529063676_r8, & + 0.0001129919596657659_r8, 0.00011348446872015346_r8, & + 0.00011432751141180489_r8, 0.00011452024669897919_r8, & + 0.00011455233870246416_r8, 0.00011449005446837531_r8, & + 0.00011746623129426941_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,35) / & + 6.5908505735966038e-05_r8, 7.9310228486587816e-05_r8, & + 6.3710436151159607e-05_r8, 9.2742574784928313e-05_r8, & + 8.2510422371679252e-05_r8, 9.3142584410070179e-05_r8, & + 7.5642253496289774e-05_r8, 6.5991791514214765e-05_r8, & + 6.0522307762288975e-05_r8, 6.0624099629424449e-05_r8, & + 6.2675684200806233e-05_r8, 6.4153229616406625e-05_r8, & + 6.4431069450634432e-05_r8, 6.5253015990449233e-05_r8, & + 6.635466434232896e-05_r8, 6.8687255997271234e-05_r8, & + 6.9890145453731603e-05_r8, 7.0178232017161456e-05_r8, & + 7.2545774251959777e-05_r8, 7.6883882239117064e-05_r8, & + 8.0301359162287018e-05_r8, 8.3890384394540664e-05_r8, & + 8.6244881314247461e-05_r8, 9.2252730856797971e-05_r8, & + 9.9263595741351569e-05_r8, 0.00010520058360040877_r8, & + 0.00011076562988647986_r8, 0.00011982317612163439_r8, & + 0.00011841392778984095_r8, 0.00011477327620310831_r8, & + 0.00011456392846338393_r8, 0.0001142593485607721_r8, & + 0.0001159321291414431_r8, 0.00011622506761254805_r8, & + 0.00011649375790881253_r8, 0.00011725293622903968_r8, & + 0.00012070005622655937_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,35) / & + 7.4846030309072317e-05_r8, 0.00010172448208738817_r8, & + 8.791794140722498e-05_r8, 0.00012189738155877171_r8, & + 0.00011493527839068795_r8, 0.00012736293893266044_r8, & + 9.2607199015347607e-05_r8, 6.8413922577672661e-05_r8, & + 6.0849074769934113e-05_r8, 6.406152881192621e-05_r8, & + 6.3525918549508617e-05_r8, 6.5869172539151602e-05_r8, & + 6.7057379221004959e-05_r8, 6.8415021483565403e-05_r8, & + 7.0048197319593815e-05_r8, 7.1744929862960268e-05_r8, & + 7.2350502379609223e-05_r8, 7.2921204794756107e-05_r8, & + 7.5254057360364825e-05_r8, 7.8924716279203273e-05_r8, & + 8.1793830308043479e-05_r8, 8.5493883481142671e-05_r8, & + 8.9199822328547336e-05_r8, 9.4079108502792653e-05_r8, & + 9.9864012255707833e-05_r8, 0.00010489285820828058_r8, & + 0.00011121467165010341_r8, 0.000121028395843449_r8, & + 0.00012156136177578162_r8, 0.0001184755802688503_r8, & + 0.00011898831664799987_r8, 0.00011936907573061396_r8, & + 0.00012020459576708955_r8, 0.00012011966079704586_r8, & + 0.00012067221603991255_r8, 0.00012121180772356008_r8, & + 0.00012429209038474732_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,36) / & + 9.3264906330975202e-05_r8, 9.4506928417252683e-05_r8, & + 0.00010626189926836017_r8, 8.991081084770106e-05_r8, & + 9.9602149207060186e-05_r8, 0.00011189295202945204_r8, & + 0.00013784253101496385_r8, 0.00015306302276578204_r8, & + 0.00016313940148508652_r8, 0.00017112769124296296_r8, & + 0.00017734224327236461_r8, 0.00018344822347277198_r8, & + 0.00019011044909285742_r8, 0.00019529818898310556_r8, & + 0.00019867893489154445_r8, 0.00020075076912799103_r8, & + 0.00020647003530282655_r8, 0.00021243584167534167_r8, & + 0.00021724928827120094_r8, 0.00022077588270799929_r8, & + 0.0002253637806826861_r8, 0.0002319784324863833_r8, & + 0.00023370270096566528_r8, 0.00023723590014059005_r8, & + 0.0002404929999211828_r8, 0.00024382681230488177_r8, & + 0.00024743506896028502_r8, 0.00025324410226481453_r8, & + 0.00025724921215515594_r8, 0.00025935699193309418_r8, & + 0.00026044061947843683_r8, 0.00026087666666892113_r8, & + 0.00026033084972624642_r8, 0.00025783326929048022_r8, & + 0.00025769672627439335_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,36) / & + 6.1239339682206788e-05_r8, 6.0418971528746906e-05_r8, & + 6.1964638120614731e-05_r8, 5.0240015604857975e-05_r8, & + 5.4601155809179694e-05_r8, 6.3197542924004499e-05_r8, & + 8.1770848811109654e-05_r8, 0.00010642528557422964_r8, & + 0.00012157810667675652_r8, 0.0001340976643360401_r8, & + 0.00014320957910312406_r8, 0.00015412310847738296_r8, & + 0.00016590239808502011_r8, 0.00017203889571511591_r8, & + 0.00017615713935494848_r8, 0.00018005533590464029_r8, & + 0.00018555344153214668_r8, 0.00019007104355254389_r8, & + 0.0001942117984604035_r8, 0.00019801181698648844_r8, & + 0.00020186496797493976_r8, 0.00020648308982422958_r8, & + 0.00021002620369513263_r8, 0.00021418234390706541_r8, & + 0.00021833501229778183_r8, 0.00022280222169456708_r8, & + 0.00022725599982997968_r8, 0.00023686551433829028_r8, & + 0.00024525629607041565_r8, 0.00025323716473747075_r8, & + 0.00026003069285393245_r8, 0.00026513290552294407_r8, & + 0.00026803770044503752_r8, 0.00026881892320066407_r8, & + 0.00026901567868536328_r8, 0.0002696248172255278_r8, & + 0.00026542002030665218_r8, 0.00026473499924552582_r8, & + 0.00026843887359238638_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,36) / & + 2.7582498373114412e-05_r8, 2.6855120905572093e-05_r8, & + 2.3886519876746928e-05_r8, 1.8873803795868082e-05_r8, & + 1.9470264145381283e-05_r8, 2.3014314772763519e-05_r8, & + 2.7985180566654409e-05_r8, 4.275352608688507e-05_r8, & + 5.5786106209356398e-05_r8, 7.0448444994580884e-05_r8, & + 8.4967483123893472e-05_r8, 9.7431684614177587e-05_r8, & + 0.00011699948915259866_r8, 0.00013194610643820639_r8, & + 0.00014146617663293842_r8, 0.00014974882756471763_r8, & + 0.00016038284311669046_r8, 0.00016702388178009098_r8, & + 0.00017189886926318373_r8, 0.0001756215749921658_r8, & + 0.00017862647686132425_r8, 0.00018202806530959848_r8, & + 0.00018544742404382893_r8, 0.00018907899278184796_r8, & + 0.00019285963653243126_r8, 0.00019728502476606469_r8, & + 0.00020219168841421599_r8, 0.00021454038547711493_r8, & + 0.00022657519142406905_r8, 0.00023768503198933329_r8, & + 0.00024839730331090631_r8, 0.00025844219182962418_r8, & + 0.00026794854068182955_r8, 0.00027467131935423922_r8, & + 0.00028109519429129446_r8, 0.00028435860359419591_r8, & + 0.00027637176214579382_r8, 0.0002671043204092073_r8, & + 0.00026843887359238638_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,36) / & + 1.475110249128466e-05_r8, 1.4594246072497588e-05_r8, & + 1.2402774513494546e-05_r8, 1.1907821822201569e-05_r8, & + 1.2172827039274047e-05_r8, 1.3484287016999326e-05_r8, & + 1.9296901576429906e-05_r8, 2.3535701119228027e-05_r8, & + 2.8091809610433849e-05_r8, 3.6219622110322587e-05_r8, & + 4.6999693884173449e-05_r8, 5.4793684846163275e-05_r8, & + 6.9826266893763809e-05_r8, 8.520496117444084e-05_r8, & + 9.6121462258000117e-05_r8, 0.00010669326394449524_r8, & + 0.00012296460893239445_r8, 0.00013585822609573866_r8, & + 0.00014449576230097451_r8, 0.0001537391227724781_r8, & + 0.00015984639371173886_r8, 0.00016474453763551877_r8, & + 0.0001696472194673582_r8, 0.00017419960286538345_r8, & + 0.00017793813462150369_r8, 0.00018190098369104876_r8, & + 0.00018614441208630856_r8, 0.00019803123153115375_r8, & + 0.00021050640683781973_r8, 0.00022311223962449053_r8, & + 0.00023563663618292847_r8, 0.00024656526549268206_r8, & + 0.00025796121763613987_r8, 0.00026747440605678902_r8, & + 0.00026888187710315102_r8, 0.00028730026244284371_r8, & + 0.00028797242791255299_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,36) / & + 9.3581139512369106e-06_r8, 9.1946302670137387e-06_r8, & + 8.9472119733204112e-06_r8, 1.0282155678004182e-05_r8, & + 1.0362939441585482e-05_r8, 1.091534473772184e-05_r8, & + 1.2271886553193515e-05_r8, 1.3556219581619606e-05_r8, & + 1.4728221845036399e-05_r8, 1.7184371606064483e-05_r8, & + 2.0431793554687183e-05_r8, 2.2032783886206768e-05_r8, & + 2.6006304022307314e-05_r8, 3.1125013378344769e-05_r8, & + 3.5331431515420135e-05_r8, 4.0684607971787855e-05_r8, & + 5.115427880927503e-05_r8, 6.2660788229227426e-05_r8, & + 7.3341494651983763e-05_r8, 8.8348117817247632e-05_r8, & + 0.00010143418818519183_r8, 0.00011133083082193465_r8, & + 0.00012378058979256552_r8, 0.00013662449752972918_r8, & + 0.0001469249704866662_r8, 0.00015551300408828765_r8, & + 0.00016220496292436323_r8, 0.000174631479151796_r8, & + 0.00018601898521963811_r8, 0.00019672426044925321_r8, & + 0.00020852565057564673_r8, 0.00022081276810857232_r8, & + 0.00022999443554510573_r8, 0.00023714889021122062_r8, & + 0.00024467871845453547_r8, 0.00025351533666973837_r8, & + 0.00025516657577417224_r8, 0.00025914290725370393_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,36) / & + 5.4868388918755511e-06_r8, 5.5137399420601026e-06_r8, & + 6.0631391759061549e-06_r8, 5.7029271838101702e-06_r8, & + 5.9080187577055007e-06_r8, 6.3297444004944884e-06_r8, & + 7.5445278167454903e-06_r8, 8.0086974646206466e-06_r8, & + 8.5933284156359225e-06_r8, 8.8555781672269791e-06_r8, & + 9.2210325106438728e-06_r8, 9.536449749869264e-06_r8, & + 1.0857172044751429e-05_r8, 1.313874714324386e-05_r8, & + 1.493933241971001e-05_r8, 1.720694543854567e-05_r8, & + 2.2335679343500513e-05_r8, 2.8578333158514099e-05_r8, & + 3.7165578930036967e-05_r8, 4.9505430953122764e-05_r8, & + 6.3523524577446512e-05_r8, 7.7455332816063984e-05_r8, & + 9.2212838076757112e-05_r8, 0.00011018660587963851_r8, & + 0.00012677216884396763_r8, 0.00014010225581084199_r8, & + 0.00015002111635846563_r8, 0.00016762950123258929_r8, & + 0.00018058126156808997_r8, 0.00019222150058572157_r8, & + 0.0002039113452919363_r8, 0.00021379531731288592_r8, & + 0.00022264907215686046_r8, 0.00022946269565035705_r8, & + 0.0002392083582281738_r8, 0.00024643409684026245_r8, & + 0.00025073033774766372_r8, 0.00025699666126492997_r8, & + 0.0002559905946208822_r8, 0.00025590521107921195_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,36) / & + 2.8786055331122538e-06_r8, 2.8845363246294113e-06_r8, & + 3.1912562953553805e-06_r8, 3.1821980088523101e-06_r8, & + 3.3958991643874048e-06_r8, 3.4342815537865215e-06_r8, & + 5.3365153786563838e-06_r8, 4.9573558482401212e-06_r8, & + 5.3875243470816785e-06_r8, 5.98380718633569e-06_r8, & + 6.3399985526879272e-06_r8, 6.6137297806088777e-06_r8, & + 7.0477905435783107e-06_r8, 8.0335993939159123e-06_r8, & + 9.5373985589781507e-06_r8, 1.0726554486889257e-05_r8, & + 1.4759810517997808e-05_r8, 2.0468209763480113e-05_r8, & + 2.868263780172029e-05_r8, 4.2226272495316098e-05_r8, & + 5.6253702963687028e-05_r8, 7.1456282963685132e-05_r8, & + 8.9895111966821969e-05_r8, 0.00010818688183452308_r8, & + 0.0001267409204536773_r8, 0.00014041195803118364_r8, & + 0.00015090913727430855_r8, 0.00016891687170717004_r8, & + 0.00018199626076210228_r8, 0.00019501327251851108_r8, & + 0.0002068330382198034_r8, 0.00021527201131552582_r8, & + 0.00022263510283372347_r8, 0.00022761942873982248_r8, & + 0.00023692356084791891_r8, 0.00024448217111141168_r8, & + 0.00024878468870730017_r8, 0.00025441475615459842_r8, & + 0.00025471268975389038_r8, 0.00025525907710801347_r8, & + 0.00025481694086352803_r8, 0.00025542166918049805_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,36) / & + 1.7841455319355488e-06_r8, 1.719727300570742e-06_r8, & + 1.8577070378936251e-06_r8, 2.8843321713771677e-06_r8, & + 3.1081906905930523e-06_r8, 2.9391650067194783e-06_r8, & + 5.2619253066404667e-06_r8, 4.3025391341800044e-06_r8, & + 4.2106193772185449e-06_r8, 4.2779462574264478e-06_r8, & + 4.6019869360392492e-06_r8, 5.3456245128012407e-06_r8, & + 6.247882301326931e-06_r8, 7.1739146126656215e-06_r8, & + 8.181261928571233e-06_r8, 9.0363663751915371e-06_r8, & + 1.2194823470336415e-05_r8, 1.7387702870411062e-05_r8, & + 2.625725464786834e-05_r8, 4.1285544065403056e-05_r8, & + 5.6392272054203748e-05_r8, 7.3038645350173855e-05_r8, & + 9.4266391389324198e-05_r8, 0.000112234547160232_r8, & + 0.00013040758023970169_r8, 0.00014312078367996483_r8, & + 0.00015306258003410319_r8, 0.00017007992280077854_r8, & + 0.00018334371612857436_r8, 0.00019639701205504092_r8, & + 0.00020785910480810923_r8, 0.00021626631691802013_r8, & + 0.00022338125625194621_r8, 0.0002284024208618415_r8, & + 0.00023596978783525612_r8, 0.00024273557081746518_r8, & + 0.00024743578497700707_r8, 0.00025205044075925361_r8, & + 0.00025287416619891324_r8, 0.00025501883353251875_r8, & + 0.00025491196560665299_r8, 0.00025570562113658027_r8, & + 0.00025935514448045745_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,36) / & + 1.3416365597364081e-06_r8, 1.3262903214483619e-06_r8, & + 1.5126927575886072e-06_r8, 2.9290772730178365e-06_r8, & + 2.6723076645066727e-06_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,36) / & + 8.8720623702955016e-06_r8, 7.2012036643593473e-06_r8, & + 7.2198201502538468e-06_r8, 9.0783653506829653e-06_r8, & + 1.2276788156061787e-05_r8, 1.2019900372940141e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,36) / & + 9.4924237956297842e-06_r8, 7.4452207014003136e-06_r8, & + 7.3971751996140087e-06_r8, 1.0161687496485549e-05_r8, & + 1.274741504480184e-05_r8, 1.2402341158461388e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,36) / & + 9.5357993102119205e-06_r8, 7.8114444366428227e-06_r8, & + 7.7352406586120956e-06_r8, 9.8485394761291279e-06_r8, & + 1.2020969884233934e-05_r8, 1.2089414655899176e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,36) / & + 9.8073687129634317e-06_r8, 9.4894769550658372e-06_r8, & + 9.3895081587803399e-06_r8, 9.8846224283653599e-06_r8, & + 1.1244912064452049e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,36) / & + 4.7568162306728073e-06_r8, 4.6735347496741637e-06_r8, & + 4.3172838832483791e-06_r8, 3.7923178699096185e-06_r8, & + 4.057637539178313e-06_r8, 4.2567628698925054e-06_r8, & + 5.8603761312496907e-06_r8, 8.3005233744214267e-06_r8, & + 1.0932340909772616e-05_r8, 1.3550575365627059e-05_r8, & + 1.7508505959358648e-05_r8, 2.3627411087747172e-05_r8, & + 4.3948827601823383e-05_r8, 6.2678405817163496e-05_r8, & + 7.482297018496387e-05_r8, 8.776076934987317e-05_r8, & + 0.00010552108169400931_r8, 0.00012794928111355139_r8, & + 0.00015951700123658356_r8, 0.00019563732679675949_r8, & + 0.00022567043690007016_r8, 0.00025476425770070245_r8, & + 0.00027756379650633597_r8, 0.00030060032269610068_r8, & + 0.0003201326419790225_r8, 0.00033822990410452882_r8, & + 0.00035450796931413005_r8, 0.00038112875827148298_r8, & + 0.00040175093269666045_r8, 0.00041601706516518908_r8, & + 0.00042291730890413955_r8, 0.00042544958988518367_r8, & + 0.00042626084920298167_r8, 0.00042508081757921254_r8, & + 0.00042331584774723619_r8, 0.00042220606310040977_r8, & + 0.00041990905634392101_r8, 0.00041979407455261628_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,36) / & + 4.7590707538616519e-06_r8, 4.6982100527634187e-06_r8, & + 4.5084996840190483e-06_r8, 4.3375885945434975e-06_r8, & + 4.5562091729302001e-06_r8, 4.8751097515873026e-06_r8, & + 7.0641566207589007e-06_r8, 1.0186370315454989e-05_r8, & + 1.3835770631927633e-05_r8, 1.8599140040114507e-05_r8, & + 2.5361733181798168e-05_r8, 3.624190467465145e-05_r8, & + 6.8532308380136098e-05_r8, 8.9928500235927886e-05_r8, & + 0.00010044555990857812_r8, 0.00011063303557830426_r8, & + 0.00012668056693392366_r8, 0.00014760798806804539_r8, & + 0.00017725269850962319_r8, 0.00021136801154460482_r8, & + 0.00024193169754406732_r8, 0.00027229213044981316_r8, & + 0.00029606170616371482_r8, 0.00031881672634277713_r8, & + 0.00033835083207221935_r8, 0.00035634521082865097_r8, & + 0.00037243429929178503_r8, 0.00039895500956485546_r8, & + 0.00042003638692817363_r8, 0.00043322084201170678_r8, & + 0.00043916909057096419_r8, 0.00044106981523015794_r8, & + 0.00044161206553838556_r8, 0.00044085369802557609_r8, & + 0.00043951071250678762_r8, 0.00043841874311107315_r8, & + 0.00043623617035046551_r8, 0.00043426852075063274_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,36) / & + 5.4095784085561723e-06_r8, 5.2703674319867261e-06_r8, & + 5.1509348420420798e-06_r8, 5.1242610112633209e-06_r8, & + 5.5165262265963126e-06_r8, 5.8411677929024739e-06_r8, & + 8.2018469563650607e-06_r8, 1.2137742196002644e-05_r8, & + 1.8448454982801675e-05_r8, 2.9245375972158092e-05_r8, & + 4.41595531211336e-05_r8, 6.4408282859131013e-05_r8, & + 9.7915563765173962e-05_r8, 0.00011722322212866881_r8, & + 0.00012616725837101284_r8, 0.00013446925792304573_r8, & + 0.00015076387763331655_r8, 0.00017398152132339767_r8, & + 0.00020199540644195036_r8, 0.00023214266862147073_r8, & + 0.00026131892761229527_r8, 0.00028987763252511385_r8, & + 0.00031620123384358133_r8, 0.00034054527307517704_r8, & + 0.00036086745065500443_r8, 0.00037859791787854167_r8, & + 0.00039470682126194683_r8, 0.00042092865257335987_r8, & + 0.00043948345975647574_r8, 0.0004503857180518243_r8, & + 0.00045577467833317695_r8, 0.00045777570398554331_r8, & + 0.00045812077007348746_r8, 0.00045746228866856659_r8, & + 0.00045661281801581303_r8, 0.00045483802744095202_r8, & + 0.00045239750301169328_r8, 0.00044914998480058237_r8, & + 0.00044682306369520791_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,36) / & + 5.501767460076336e-06_r8, 5.4479860891120108e-06_r8, & + 5.4830303488614819e-06_r8, 5.7075017324082241e-06_r8, & + 5.8768583309158618e-06_r8, 6.0213883227946586e-06_r8, & + 7.1612590300342102e-06_r8, 9.2022372816475683e-06_r8, & + 1.337369301665056e-05_r8, 2.1428053335597903e-05_r8, & + 3.3671829241869937e-05_r8, 4.9985445151489092e-05_r8, & + 8.020733047871991e-05_r8, 0.00010689691959759335_r8, & + 0.0001254264145343352_r8, 0.00014212354342827197_r8, & + 0.00016862477223826585_r8, 0.00019507927655868667_r8, & + 0.00022203802574531859_r8, 0.00025060599871578454_r8, & + 0.00027891234282283027_r8, 0.00030931543310405506_r8, & + 0.0003363819944464815_r8, 0.00036120184486822422_r8, & + 0.00038221550405187255_r8, 0.00039969426754079944_r8, & + 0.00041485098354735698_r8, 0.00043968183990641312_r8, & + 0.00045740531803494287_r8, 0.00046776107516803236_r8, & + 0.00047423386587303702_r8, 0.00047631697248888376_r8, & + 0.00047624321576374601_r8, 0.00047482549844253742_r8, & + 0.00047226419520888136_r8, 0.00046815492046342334_r8, & + 0.00046351474133130873_r8, 0.00045837586977428099_r8, & + 0.00045541296931136781_r8, 0.00045046439073187993_r8, & + 0.00044610550534895569_r8, 0.00044170639169724949_r8, & + 0.00044052137534566593_r8, 0.00043693037816274437_r8, & + 0.00043695400814276064_r8 & + / +data saar_ref(:,26,36) / & + 4.8513295258925871e-06_r8, 4.8896045963935898e-06_r8, & + 4.9485855040790437e-06_r8, 5.2078758644361274e-06_r8, & + 5.2767149930881138e-06_r8, 5.3000415638789138e-06_r8, & + 5.5517881029209037e-06_r8, 5.7208377570661321e-06_r8, & + 6.5035935846319784e-06_r8, 8.6916460784174403e-06_r8, & + 1.2681335181964984e-05_r8, 2.1073652556619746e-05_r8, & + 3.667454371930603e-05_r8, 6.2592307147277325e-05_r8, & + 8.8577811434630035e-05_r8, 0.00011971239221195673_r8, & + 0.00017290784159003754_r8, 0.00021722906576706062_r8, & + 0.0002499775760796694_r8, 0.00027969777972781072_r8, & + 0.00031072909222873782_r8, 0.00034300751956776532_r8, & + 0.00036789382613492847_r8, 0.00039001412055514833_r8, & + 0.00040825515946042571_r8, 0.00042295145993853737_r8, & + 0.00043689794091866449_r8, 0.00045963752593257732_r8, & + 0.00047574599569344319_r8, 0.0004863081441657301_r8, & + 0.00049164085307832066_r8, 0.00049251135441863089_r8, & + 0.0004916504891786834_r8, 0.00049054665505639879_r8, & + 0.00048742119504439527_r8, 0.00048452438982798127_r8, & + 0.00048042849843145244_r8, 0.00047613993974786198_r8, & + 0.0004730890646090418_r8, 0.00047118348297378967_r8, & + 0.00047141125201248096_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,36) / & + 4.6195492176272962e-06_r8, 4.5975529787023514e-06_r8, & + 4.4990054450401813e-06_r8, 4.2963252579333561e-06_r8, & + 4.4350434161043992e-06_r8, 4.474187003942335e-06_r8, & + 4.670682580414055e-06_r8, 4.6775008283367284e-06_r8, & + 5.1305598421338408e-06_r8, 6.1881461330611181e-06_r8, & + 8.364230273818329e-06_r8, 1.2455244277220217e-05_r8, & + 1.8591381353891112e-05_r8, 2.9938197573068718e-05_r8, & + 4.7248073997834253e-05_r8, 7.3818997938996593e-05_r8, & + 0.00013861017491428621_r8, 0.00020580827994238894_r8, & + 0.00026252888770441512_r8, 0.00030505620817591867_r8, & + 0.00034561262085437358_r8, 0.00037972223350636581_r8, & + 0.00040576905793966153_r8, 0.00042665830469798067_r8, & + 0.00044211470778225865_r8, 0.0004547399802773168_r8, & + 0.00046589134493658517_r8, 0.00048264202251820478_r8, & + 0.00049468271231407977_r8, 0.00050208440750214897_r8, & + 0.00050559254031110241_r8, 0.00050516376772698028_r8, & + 0.00050383598929327892_r8, 0.00050392400614078254_r8, & + 0.00050156897400608475_r8, 0.00050056330238032129_r8, & + 0.00049739057724889951_r8, 0.00049441289611391805_r8, & + 0.00049328314461861533_r8, 0.00049224005690636603_r8, & + 0.00049210646348834305_r8, 0.00049472301982346695_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,36) / & + 5.305942820034532e-06_r8, 5.2115935826554959e-06_r8, & + 5.0157484534342302e-06_r8, 4.5141688742429861e-06_r8, & + 4.9636803646455678e-06_r8, 5.1474833299515511e-06_r8, & + 5.2730040499697146e-06_r8, 6.0926616802535043e-06_r8, & + 6.7025763387178769e-06_r8, 7.8480052008254475e-06_r8, & + 9.7121605065258334e-06_r8, 1.2110325821553827e-05_r8, & + 1.5671569012438997e-05_r8, 2.2654272710483272e-05_r8, & + 3.4110242905132827e-05_r8, 5.0698819452554262e-05_r8, & + 0.00010397897376525123_r8, 0.0001773158608074365_r8, & + 0.00025571800940806818_r8, 0.00032129190484612562_r8, & + 0.00037297945151709146_r8, 0.00041309885481903547_r8, & + 0.00044051213220817784_r8, 0.00046380933701801888_r8, & + 0.00047951157342706973_r8, 0.00049159474594218599_r8, & + 0.00050015645823128362_r8, 0.00050982805677772676_r8, & + 0.00051545140048712772_r8, 0.00051842188888591011_r8, & + 0.00052076014609391051_r8, 0.00051944810236279526_r8, & + 0.0005173177833859595_r8, 0.0005173796964158744_r8, & + 0.00051450185693150969_r8, 0.0005141704898174005_r8, & + 0.00051249645228718165_r8, 0.00051145442440484563_r8, & + 0.00051160782592115219_r8, 0.00051134975148976617_r8, & + 0.00051147120392375917_r8, 0.00051400719725174621_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,36) / & + 6.2752658993401667e-06_r8, 5.9826714682920508e-06_r8, & + 6.1321675688159185e-06_r8, 5.455281447781068e-06_r8, & + 5.4682037722702392e-06_r8, 5.9373974614884806e-06_r8, & + 6.7259350849603618e-06_r8, 8.5029440523421654e-06_r8, & + 9.1219661492163212e-06_r8, 9.7993675106848217e-06_r8, & + 1.0923480229023443e-05_r8, 1.247097727123068e-05_r8, & + 1.5546154124852708e-05_r8, 2.0465820207838912e-05_r8, & + 3.0003181591939908e-05_r8, 4.3187194866442777e-05_r8, & + 8.2413008924758703e-05_r8, 0.00014848307553282523_r8, & + 0.00022814968682447026_r8, 0.00030793259391866654_r8, & + 0.00037233555866093403_r8, 0.00042364061688312073_r8, & + 0.00045852889728955525_r8, 0.00048788368342860168_r8, & + 0.00050780738400745744_r8, 0.00052334026224752802_r8, & + 0.00053365875981811902_r8, 0.00054501598255731864_r8, & + 0.00054980077093724007_r8, 0.00055075869290818085_r8, & + 0.00054895943380245719_r8, 0.0005465079623804659_r8, & + 0.00054243141155126779_r8, 0.00053905086070967737_r8, & + 0.00053649754425223414_r8, 0.00053569808184222856_r8, & + 0.00053474391659298376_r8, 0.00053001393033651233_r8, & + 0.00052936989279694696_r8, 0.00052804394513035133_r8, & + 0.00052836392682391168_r8, 0.00053015156184035796_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,36) / & + 9.7038668733054163e-06_r8, 8.6318746593952781e-06_r8, & + 9.2977572201421283e-06_r8, 8.3290517961109483e-06_r8, & + 8.363995596801906e-06_r8, 9.2188079824457427e-06_r8, & + 1.1280693627518732e-05_r8, 1.2629417726333857e-05_r8, & + 1.3598060543840934e-05_r8, 1.4210239349180259e-05_r8, & + 1.5719508314111492e-05_r8, 1.7907445937134936e-05_r8, & + 2.2314324692566806e-05_r8, 2.8093359983975175e-05_r8, & + 3.7805600741582708e-05_r8, 5.0487610816351559e-05_r8, & + 8.929135032590416e-05_r8, 0.00014957821927663446_r8, & + 0.00022585914758080795_r8, 0.00030725334401087486_r8, & + 0.00037412636074298238_r8, 0.00042933907297292159_r8, & + 0.00046875613079209089_r8, 0.0005013942842741569_r8, & + 0.00052378472886373392_r8, 0.00054184015411354346_r8, & + 0.00055660020311396085_r8, 0.00057547562906873427_r8, & + 0.00058289118368149773_r8, 0.00058143629022159953_r8, & + 0.00057667915655853878_r8, 0.00057222161919772633_r8, & + 0.00056742055906494257_r8, 0.00056513079460746615_r8, & + 0.00056203726032996997_r8, 0.00056278044837949795_r8, & + 0.00056007303550571828_r8, 0.00055678274855718859_r8, & + 0.00055914123213914751_r8, 0.00055484875776991933_r8, & + 0.00054829696347860537_r8, 0.00054399543938592069_r8, & + 0.00054220273693786803_r8, 0.0005407187218223142_r8, & + 0.00053905786496591152_r8 & + / +data saar_ref(:,31,36) / & + 1.4811275181359432e-05_r8, 1.4357717867047815e-05_r8, & + 1.5301005799121279e-05_r8, 1.5531071873539676e-05_r8, & + 1.6399469940808337e-05_r8, 1.7469981002967101e-05_r8, & + 2.0154308697080851e-05_r8, 2.381914525004068e-05_r8, & + 2.7058057787305398e-05_r8, 3.0938404157518583e-05_r8, & + 3.5821234563291257e-05_r8, 4.2016523005403904e-05_r8, & + 5.1333433141962101e-05_r8, 6.5393876316283795e-05_r8, & + 8.2802162419737135e-05_r8, 0.00010188560099753385_r8, & + 0.00014944794733200446_r8, 0.00021932345124486816_r8, & + 0.00029319570344902559_r8, 0.00036473281305911644_r8, & + 0.00042112367999832048_r8, 0.00046612878111999535_r8, & + 0.00049967019745911744_r8, 0.00052760852697271389_r8, & + 0.00054673978206402484_r8, 0.0005629386639118976_r8, & + 0.00057695170327762789_r8, 0.00059766016814440332_r8, & + 0.00060703782577234107_r8, 0.00060523860443738222_r8, & + 0.00060206377257455339_r8, 0.00059768377205872067_r8, & + 0.00059451400070164391_r8, 0.00058971739044761382_r8, & + 0.00058803736489048796_r8, 0.00058741432780870908_r8, & + 0.00058336808325530208_r8, 0.00058111825052997355_r8, & + 0.00057683455646674782_r8, 0.00057339562037445968_r8, & + 0.00056647680325317361_r8, 0.00056410679229656178_r8, & + 0.00056142162050239793_r8, 0.00056078548407400587_r8, & + 0.00055827660109091643_r8 & + / +data saar_ref(:,32,36) / & + 2.2904699319420399e-05_r8, 2.0521638527956467e-05_r8, & + 2.3384113106116861e-05_r8, 2.6676517144244027e-05_r8, & + 3.0671306024760537e-05_r8, 3.2019318069594703e-05_r8, & + 4.2778830118908985e-05_r8, 5.1719407544096185e-05_r8, & + 5.7092361417768599e-05_r8, 6.3442832528188336e-05_r8, & + 6.9514819974744841e-05_r8, 8.1299123561386595e-05_r8, & + 0.00010469706650981208_r8, 0.00013317245937773142_r8, & + 0.00016432155522240878_r8, 0.00016697059488514338_r8, & + 0.00019013162999838439_r8, 0.00021206883518312385_r8, & + 0.00026664934620380243_r8, 0.00043374601045717169_r8, & + 0.00048053773986018712_r8, 0.00051958483838845015_r8, & + 0.00054734766531401244_r8, 0.00056919494850853991_r8, & + 0.00058678472696960097_r8, 0.00060069703472365708_r8, & + 0.00061609636707108772_r8, 0.00063838156968065111_r8, & + 0.0006448266731019143_r8, 0.00064068862291970143_r8, & + 0.00063415649839371712_r8, 0.00062764947176616702_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,36) / & + 2.7394458214619424e-05_r8, 2.5519416098308733e-05_r8, & + 2.9896094258595425e-05_r8, 3.3149451109156646e-05_r8, & + 4.1202258827667479e-05_r8, 4.915161846994189e-05_r8, & + 6.558105698209635e-05_r8, 7.2457886230509728e-05_r8, & + 8.2736182568193407e-05_r8, 9.2721214891120315e-05_r8, & + 0.00010081621436299006_r8, 0.00011515959867371607_r8, & + 0.00012832929297791469_r8, 0.00015215406210156553_r8, & + 0.00017577224137614497_r8, 0.00017980991307443121_r8, & + 0.00019822502003138961_r8, 0.00020190190734958489_r8, & + 0.00025794568065844344_r8, 0.00049173106978290767_r8, & + 0.00053177904116260785_r8, 0.00057670559367523425_r8, & + 0.00060450857537517591_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,36) / & + 3.2771715501371132e-05_r8, 2.7590716403675988e-05_r8, & + 3.1540765824426274e-05_r8, 3.6327736699364509e-05_r8, & + 4.8462792169164132e-05_r8, 5.91627338598048e-05_r8, & + 7.6464458383107057e-05_r8, 8.8592297046876349e-05_r8, & + 9.9152042646113097e-05_r8, 0.00011165582356131847_r8, & + 0.00011679162077100998_r8, 0.00012931949757298157_r8, & + 0.00013884550853891946_r8, 0.00015352786147890778_r8, & + 0.00016407983822007229_r8, 0.0001602144431492338_r8, & + 0.0001627118366302509_r8, 0.00016330245554558272_r8, & + 0.00016347730160593977_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,36) / & + 3.3894770683771152e-05_r8, 2.9349078658229107e-05_r8, & + 3.2776712717586615e-05_r8, 3.8768324135789592e-05_r8, & + 5.1657180959391606e-05_r8, 6.3317554438890473e-05_r8, & + 7.6028532776455519e-05_r8, 9.1325788618756815e-05_r8, & + 0.00010089910182339024_r8, 0.00011702522532449641_r8, & + 0.00012166040620420945_r8, 0.00013438365918948811_r8, & + 0.00014344787500537355_r8, 0.00015807305495893351_r8, & + 0.00016835361064809773_r8, 0.00016429003948094357_r8, & + 0.00016675167132764644_r8, 0.00016726117891387448_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,36,36) / & + 2.7942884267809971e-05_r8, 2.8066465080000839e-05_r8, & + 3.3446079829834703e-05_r8, 3.8833447370367625e-05_r8, & + 4.2992660656719094e-05_r8, 5.5005525937935048e-05_r8, & + 9.4591495606764696e-05_r8, 0.00010183105551712362_r8, & + 0.00010572013431607241_r8, 0.00011507138950457993_r8, & + 0.00011642422180423639_r8, 0.00012051294985660539_r8, & + 0.00012262767363361822_r8, 0.00012499971444012917_r8, & + 0.00012282561535630751_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,37,36) / & + 2.9222782526739803e-05_r8, 2.9862729022077044e-05_r8, & + 3.4526784234614038e-05_r8, 3.880409682956708e-05_r8, & + 4.3573080551345749e-05_r8, 5.7842515143946319e-05_r8, & + 9.6959418354542013e-05_r8, 9.9527557965883658e-05_r8, & + 0.00010499788200476008_r8, 0.00011794727694217952_r8, & + 0.00011968095397870965_r8, 0.00012429306128141336_r8, & + 0.00012876377969542663_r8, 0.00013006439283107116_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,36) / & + 0.00026272784261578192_r8, 0.00018849482584637963_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,36) / & + 0.00020342176962124376_r8, 0.00018323060833677344_r8, & + 9.0684240987962077e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,36) / & + 0.00010429428986680821_r8, 0.00010202442036712406_r8, & + 6.9407434946335006e-05_r8, 7.316629071828786e-05_r8, & + 8.2603166441845625e-05_r8, 0.00012672368611351537_r8, & + 7.418775116453918e-05_r8, 7.0227607604524261e-05_r8, & + 6.3051123887528156e-05_r8, 6.0438587962626746e-05_r8, & + 6.0475322410218077e-05_r8, 5.9533627816576437e-05_r8, & + 5.55100080887474e-05_r8, 5.7429763107398861e-05_r8, & + 5.8726160164418342e-05_r8, 5.9646769026947277e-05_r8, & + 6.2848689319587757e-05_r8, 6.3971374242786637e-05_r8, & + 6.5932688547973037e-05_r8, 6.947656930562388e-05_r8, & + 7.2634766306089245e-05_r8, 7.6614827530254169e-05_r8, & + 7.5557545623935229e-05_r8, 8.3845449573317736e-05_r8, & + 9.2196969782249008e-05_r8, 9.9626809488903451e-05_r8, & + 0.00010505859003171832_r8, 0.00010797877844805713_r8, & + 0.00010771684594757818_r8, 0.00010949775128087007_r8, & + 0.00011105173566236289_r8, 0.00011192426577822653_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,36) / & + 6.430411570848015e-05_r8, 7.2729785837932868e-05_r8, & + 5.9869004288694073e-05_r8, 7.2492039138817807e-05_r8, & + 6.4420645582707203e-05_r8, 7.9854742959376663e-05_r8, & + 8.4016327961933899e-05_r8, 7.7288606961017399e-05_r8, & + 6.3363222782481329e-05_r8, 6.0950353988619671e-05_r8, & + 6.1479591822687373e-05_r8, 6.2500414138103342e-05_r8, & + 5.9353832987362598e-05_r8, 6.0729769541883552e-05_r8, & + 6.1482354235371591e-05_r8, 6.2954229954695375e-05_r8, & + 6.5340703607779104e-05_r8, 6.6255415546851373e-05_r8, & + 6.8688969782678387e-05_r8, 7.244975992685923e-05_r8, & + 7.6137976995263086e-05_r8, 8.0246851914900878e-05_r8, & + 8.0144589472954251e-05_r8, 8.8111221142226056e-05_r8, & + 9.6104010771523512e-05_r8, 0.00010250556644973898_r8, & + 0.00010754895841065906_r8, 0.00011308164248344199_r8, & + 0.00011165706033507169_r8, 0.00011182287590970259_r8, & + 0.00011280813168669963_r8, 0.00011257131252829188_r8, & + 0.00011337269876405062_r8, 0.00011358153193599076_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,44,36) / & + 6.7852248822118901e-05_r8, 8.2296080316193908e-05_r8, & + 6.5788009430437768e-05_r8, 9.6014214402120643e-05_r8, & + 8.8503276768927861e-05_r8, 0.00010071748467527033_r8, & + 8.0701625110116081e-05_r8, 6.6734576858299669e-05_r8, & + 6.0361593145475451e-05_r8, 6.0792519425892967e-05_r8, & + 6.3090885218631545e-05_r8, 6.4833326826766396e-05_r8, & + 6.4862749122147998e-05_r8, 6.5597866177526001e-05_r8, & + 6.6831236489160812e-05_r8, 6.9079347700147571e-05_r8, & + 7.0114783283380499e-05_r8, 7.0506115571187202e-05_r8, & + 7.2907566808741691e-05_r8, 7.715824755217274e-05_r8, & + 8.047243365512758e-05_r8, 8.4051824270000886e-05_r8, & + 8.639803467578924e-05_r8, 9.2541148636283478e-05_r8, & + 9.9455299897474911e-05_r8, 0.00010566451220679489_r8, & + 0.00011099787504922055_r8, 0.00012003202856134347_r8, & + 0.00011853952739246858_r8, 0.0001148389554066881_r8, & + 0.00011464267808158083_r8, 0.00011463319214885654_r8, & + 0.00011620644548521289_r8, 0.00011647044080329714_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,36) / & + 7.558023112975259e-05_r8, 0.0001025480313886171_r8, & + 8.7975573203041222e-05_r8, 0.00012275145681087059_r8, & + 0.00011557454726279044_r8, 0.00012876461919125178_r8, & + 9.3212302064346912e-05_r8, 6.869065582838141e-05_r8, & + 6.1036661815526159e-05_r8, 6.4341175917101957e-05_r8, & + 6.3860481401520184e-05_r8, 6.6154771087990744e-05_r8, & + 6.7164405261815083e-05_r8, 6.8515783004240212e-05_r8, & + 7.0162704303620331e-05_r8, 7.1846142373038953e-05_r8, & + 7.2423720142058556e-05_r8, 7.2971393423446182e-05_r8, & + 7.530541035943568e-05_r8, 7.8977312938639709e-05_r8, & + 8.1863389072021791e-05_r8, 8.5548989536371166e-05_r8, & + 8.9243021387569517e-05_r8, 9.4132844934399071e-05_r8, & + 9.9854218055742282e-05_r8, 0.00010471543535868521_r8, & + 0.00011106505867637171_r8, 0.00012067082554625754_r8, & + 0.00012134096071604922_r8, 0.00011863283278386999_r8, & + 0.0001190284622184439_r8, 0.00011943482684803777_r8, & + 0.00012028260127675248_r8, 0.00012015002986217925_r8, & + 0.00012069232080904067_r8, 0.00012121187712157118_r8, & + 0.00012429604917284104_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,37) / & + 0.00010253819553631921_r8, 0.00010378616254307115_r8, & + 0.00011324742598470553_r8, 0.00010438716376999605_r8, & + 0.00011530591183533357_r8, 0.00012568027348867038_r8, & + 0.00014390081398920455_r8, 0.00015634754464838082_r8, & + 0.00016578508801714083_r8, 0.00017331342514017166_r8, & + 0.00017956520832656264_r8, 0.00018597935309728632_r8, & + 0.00019252600007484301_r8, 0.00019829994070713681_r8, & + 0.00020199210282078049_r8, 0.00020331234267108628_r8, & + 0.00020578157243003614_r8, 0.00021128069008948531_r8, & + 0.00021379437863431377_r8, 0.00021758595054435499_r8, & + 0.00022204545985851659_r8, 0.00022954525664806716_r8, & + 0.00023157035938667451_r8, 0.00023454035342743197_r8, & + 0.00023784097488000603_r8, 0.00024179915856551988_r8, & + 0.00024609096893509196_r8, 0.00025322834823289075_r8, & + 0.00025763382643819918_r8, 0.00026104721778224822_r8, & + 0.00026257580597456739_r8, 0.0002608843445301483_r8, & + 0.00025970696575748273_r8, 0.00026080885069885453_r8, & + 0.00025957255799423005_r8, 0.00025434594490044056_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,37) / & + 6.6922903399054004e-05_r8, 6.609817465562284e-05_r8, & + 6.6296061524904126e-05_r8, 5.9167538487562128e-05_r8, & + 6.1467106676157599e-05_r8, 6.7188237287345773e-05_r8, & + 8.1079339719379649e-05_r8, 0.00010824410217713463_r8, & + 0.00012390433035526906_r8, 0.00013569734714974824_r8, & + 0.00014572993039827138_r8, 0.00015810803647074508_r8, & + 0.00016992678081828239_r8, 0.00017526424116324707_r8, & + 0.00017870650785235356_r8, 0.00018202856709438966_r8, & + 0.0001862493850713306_r8, 0.00019041825406923178_r8, & + 0.00019396495196949144_r8, 0.00019782230908594697_r8, & + 0.00020173289110624751_r8, 0.00020682345647681435_r8, & + 0.00021094934803532139_r8, 0.00021541458412021756_r8, & + 0.00021945999138678582_r8, 0.00022379117964617946_r8, & + 0.00022803860013649729_r8, 0.0002367260739970502_r8, & + 0.00024473475921466084_r8, 0.00025426988411985486_r8, & + 0.00026124952967198891_r8, 0.00026535755723865065_r8, & + 0.00026801847023625415_r8, 0.00026982024081929337_r8, & + 0.00026946904578183491_r8, 0.00026467748229892047_r8, & + 0.0002620481550511423_r8, 0.0002631981861712508_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,37) / & + 2.7771134379595812e-05_r8, 2.6811028235961286e-05_r8, & + 2.6028225698635598e-05_r8, 2.4262885992619178e-05_r8, & + 2.4309371747604783e-05_r8, 2.7377831688063541e-05_r8, & + 3.0475696165638918e-05_r8, 5.1503509466007113e-05_r8, & + 6.7843178407486762e-05_r8, 8.2108200352487727e-05_r8, & + 9.6902393893191137e-05_r8, 0.00011103725073499914_r8, & + 0.00013069805806866143_r8, 0.00014307900314512631_r8, & + 0.00015010243088028896_r8, 0.00015766739184749608_r8, & + 0.00016573026107780979_r8, 0.0001703713299285818_r8, & + 0.00017443819733189761_r8, 0.00017728381115863321_r8, & + 0.00018023149330582535_r8, 0.00018455644561390182_r8, & + 0.0001886934573454126_r8, 0.00019311986725502935_r8, & + 0.00019732690141326955_r8, 0.00020123931594454456_r8, & + 0.00020624912886064035_r8, 0.00021726726442700399_r8, & + 0.00022974507744652023_r8, 0.00024213102876309445_r8, & + 0.00025299614254457327_r8, 0.00026035678172419525_r8, & + 0.00026900849915657051_r8, 0.00027465972075343937_r8, & + 0.00027971605259379299_r8, 0.0002765224290391438_r8, & + 0.00026721645821135533_r8, 0.00026482871390969524_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,37) / & + 1.2585467228783987e-05_r8, 1.2260423861857177e-05_r8, & + 1.1794087315903798e-05_r8, 1.3371669721845677e-05_r8, & + 1.3637079427531657e-05_r8, 1.4791273278350632e-05_r8, & + 1.9328570034108849e-05_r8, 2.5607527600786323e-05_r8, & + 3.2241183868348666e-05_r8, 3.9659828555882217e-05_r8, & + 4.8165302234563443e-05_r8, 5.4574064617038672e-05_r8, & + 6.7788855723106207e-05_r8, 8.1001981476682038e-05_r8, & + 9.0918030805192448e-05_r8, 0.00010144748656272682_r8, & + 0.00011777983335185444_r8, 0.00013010160116184809_r8, & + 0.00013893410120304422_r8, 0.00014648844114930069_r8, & + 0.00015314804629966411_r8, 0.00016023229974890835_r8, & + 0.00016586861981227413_r8, 0.00017110573982996027_r8, & + 0.00017501493441967171_r8, 0.00017839011155068392_r8, & + 0.00018328903370165215_r8, 0.00019524782177358064_r8, & + 0.00020829702359493788_r8, 0.00022152566864575837_r8, & + 0.00023354892215112736_r8, 0.00024181195989514216_r8, & + 0.00024995930208739152_r8, 0.00025295556100193232_r8, & + 0.00025706359034249784_r8, 0.00026202687114003885_r8, & + 0.0002622530141344454_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,37) / & + 8.1867357430220479e-06_r8, 7.9147522973539226e-06_r8, & + 7.9969281071545243e-06_r8, 9.690050822281366e-06_r8, & + 9.834222642282358e-06_r8, 1.0708306295927345e-05_r8, & + 1.1916402195256277e-05_r8, 1.3043030054107295e-05_r8, & + 1.4102788063370628e-05_r8, 1.5654469724815227e-05_r8, & + 1.7006234940357739e-05_r8, 1.7627289386105457e-05_r8, & + 2.0176984075855676e-05_r8, 2.3894556208164157e-05_r8, & + 2.7183168129858503e-05_r8, 3.0796420303310942e-05_r8, & + 3.9734450217225557e-05_r8, 5.0843900086522081e-05_r8, & + 6.0920543320342973e-05_r8, 7.3829084135343495e-05_r8, & + 8.7820676606760456e-05_r8, 9.9195236943720085e-05_r8, & + 0.00011263419817446017_r8, 0.00012564788470736487_r8, & + 0.00013703101131163172_r8, 0.00014683926007232274_r8, & + 0.00015457240916481424_r8, 0.00016970160998219935_r8, & + 0.00018187891044872719_r8, 0.00019337848119191893_r8, & + 0.00020586022555184661_r8, 0.00021848532813727552_r8, & + 0.0002300370643449669_r8, 0.00024095456878978918_r8, & + 0.000248125670000327_r8, 0.00025214955825815971_r8, & + 0.00025507528256935388_r8, 0.00026076666737092236_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,37) / & + 5.288857991221871e-06_r8, 5.1745241519693464e-06_r8, & + 5.4833197040668656e-06_r8, 5.7809656166338771e-06_r8, & + 5.9243795881897968e-06_r8, 6.4137547911876105e-06_r8, & + 7.6720321341541332e-06_r8, 8.3777166096091716e-06_r8, & + 8.7627018963633645e-06_r8, 9.023518613396739e-06_r8, & + 9.1780871572167762e-06_r8, 8.6505558135376054e-06_r8, & + 8.5736876442848981e-06_r8, 9.8746077512219533e-06_r8, & + 1.1247055109290287e-05_r8, 1.2646188437874991e-05_r8, & + 1.6748753838067005e-05_r8, 2.3731403845685517e-05_r8, & + 3.241625201187166e-05_r8, 4.4152817322801446e-05_r8, & + 5.9313774079576723e-05_r8, 7.3650999815676649e-05_r8, & + 9.136465858169855e-05_r8, 0.00010859439631467083_r8, & + 0.00012544188341873108_r8, 0.00013950387190106423_r8, & + 0.00014922823957518963_r8, 0.00016574154568221861_r8, & + 0.00017801648168280223_r8, 0.0001907856275494429_r8, & + 0.0002042367311219061_r8, 0.00021529660787003935_r8, & + 0.00022486921203152913_r8, 0.00023286749271420265_r8, & + 0.00024352680155712673_r8, 0.00024960915618059924_r8, & + 0.00025326806372931774_r8, 0.00025973334938916235_r8, & + 0.00025798538933805113_r8, 0.00025611188207026031_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,37) / & + 2.5221192740835049e-06_r8, 2.4909120117144094e-06_r8, & + 2.6944170270132654e-06_r8, 3.3677686027357332e-06_r8, & + 3.4520556694178871e-06_r8, 3.6507479407329947e-06_r8, & + 5.3834847293454643e-06_r8, 5.7620548745883947e-06_r8, & + 6.3567563858343143e-06_r8, 6.7892718184657517e-06_r8, & + 7.0244675089248995e-06_r8, 6.7084463542651664e-06_r8, & + 6.514954370896502e-06_r8, 7.3618951691451835e-06_r8, & + 8.6826529463046863e-06_r8, 1.0114009790724421e-05_r8, & + 1.4796808363149408e-05_r8, 2.2292058832667907e-05_r8, & + 3.2153493643846844e-05_r8, 4.6397445099352445e-05_r8, & + 6.1506844453816163e-05_r8, 7.7523258918859426e-05_r8, & + 9.6536733699431964e-05_r8, 0.00011417889127258254_r8, & + 0.00013217402762037095_r8, 0.00014544084215070097_r8, & + 0.0001553251453595932_r8, 0.00017004420167185592_r8, & + 0.00018210155611097557_r8, 0.00019622829335018014_r8, & + 0.00020916122640236051_r8, 0.00021786027410750696_r8, & + 0.00022583005196281063_r8, 0.00023121396965365197_r8, & + 0.0002422394061033088_r8, 0.00024770122679522238_r8, & + 0.00025142681263075659_r8, 0.00025738289837117688_r8, & + 0.00025704532429705613_r8, 0.00025567671921727675_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,37) / & + 1.5390613034035895e-06_r8, 1.5284180647097553e-06_r8, & + 1.5747103846292617e-06_r8, 2.5248098947017004e-06_r8, & + 2.4536775815078443e-06_r8, 2.5637215184821007e-06_r8, & + 4.4016340267906552e-06_r8, 4.423722652680442e-06_r8, & + 4.6300657997682462e-06_r8, 4.7506075885327396e-06_r8, & + 5.0825579420567922e-06_r8, 5.5174868901705668e-06_r8, & + 5.9571581284938067e-06_r8, 6.6781756030165607e-06_r8, & + 7.6530094156847264e-06_r8, 8.5031950777191335e-06_r8, & + 1.2479998375447598e-05_r8, 1.8320621816020817e-05_r8, & + 2.8549810623784193e-05_r8, 4.4938212753495691e-05_r8, & + 5.9642539798648484e-05_r8, 7.6030000484919033e-05_r8, & + 9.5335297485352698e-05_r8, 0.00011338653491794181_r8, & + 0.00013228887073459019_r8, 0.00014509783106901291_r8, & + 0.00015566077191891067_r8, 0.00017143341546862998_r8, & + 0.00018333976750367268_r8, 0.00019682903716748432_r8, & + 0.00020864388854946068_r8, 0.00021720111981515225_r8, & + 0.00022445923428760951_r8, 0.00022904968038321705_r8, & + 0.00023843069628763338_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,37) / & + 5.2711595368494269e-06_r8, 4.1625457039857107e-06_r8, & + 3.6459681749508964e-06_r8, 4.6678285081313563e-06_r8, & + 4.6655288953272376e-06_r8, 4.7619870000666028e-06_r8, & + 4.973187386713764e-06_r8, 4.0582640116579656e-06_r8, & + 4.7038438050860274e-06_r8, 5.195320843459199e-06_r8, & + 5.6972610094590486e-06_r8, 6.8047404697493383e-06_r8, & + 9.276821363439696e-06_r8, 1.2937074972535224e-05_r8, & + 1.7689690924110347e-05_r8, 2.3082087802859618e-05_r8, & + 3.5105030696069157e-05_r8, 5.2628481722346703e-05_r8, & + 7.4426336985481805e-05_r8, 9.8513184608170666e-05_r8, & + 0.0001275999359221938_r8, 0.00015548144747504512_r8, & + 0.00018352384708495171_r8, 0.00020614689088416414_r8, & + 0.00023135962083662472_r8, 0.00024872278151806494_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,37) / & + 5.4371248597294204e-06_r8, 4.7492259716672795e-06_r8, & + 4.7989452959342651e-06_r8, 4.9446416434208471e-06_r8, & + 4.9864481119222613e-06_r8, 5.0384263850151799e-06_r8, & + 5.3399431711358619e-06_r8, 4.7426196281177136e-06_r8, & + 5.5749192750534507e-06_r8, 6.2810957220434912e-06_r8, & + 7.452968815193556e-06_r8, 9.6661467842770433e-06_r8, & + 1.3302456861291391e-05_r8, 1.7960196206609212e-05_r8, & + 2.4002971279340754e-05_r8, 3.175991282044564e-05_r8, & + 4.9211193500063879e-05_r8, 7.0335452691601974e-05_r8, & + 9.5775922760064686e-05_r8, 0.00012579464853744869_r8, & + 0.000162107949716601_r8, 0.00020147953022165612_r8, & + 0.00022792845134809962_r8, 0.00025031598660529429_r8, & + 0.00027032962282445578_r8, 0.00028436327539872475_r8, & + 0.00030163466645860147_r8, 0.00033231048115679138_r8, & + 0.00035415871205493431_r8, 0.00035812182335258108_r8, & + 0.00035198050443642444_r8, 0.00032523775645322794_r8, & + 0.0003746651641623295_r8, 0.00037748077282275498_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,37) / & + 6.9691766311445078e-06_r8, 5.7994459673101008e-06_r8, & + 5.3788368620836184e-06_r8, 4.6975999236581221e-06_r8, & + 4.7770782321746262e-06_r8, 4.7809819180949273e-06_r8, & + 5.2104146721733351e-06_r8, 4.6809057667691765e-06_r8, & + 5.3001938952201016e-06_r8, 6.2092196797984384e-06_r8, & + 7.7095611517009817e-06_r8, 1.131861468477546e-05_r8, & + 1.6007599140007397e-05_r8, 2.0805020565410779e-05_r8, & + 2.7003467396706546e-05_r8, 3.519174459029591e-05_r8, & + 5.4031884342495465e-05_r8, 7.3798717867999e-05_r8, & + 9.8313363483009091e-05_r8, 0.00012821156394883206_r8, & + 0.00016518262494468689_r8, 0.0002103683250044583_r8, & + 0.00023907240680231943_r8, 0.00026246677838785259_r8, & + 0.00028278796733607377_r8, 0.00029862394051736183_r8, & + 0.00031594994035107933_r8, 0.00034738220928135221_r8, & + 0.00036814386648073788_r8, 0.00037333910384796428_r8, & + 0.00036733471258883313_r8, 0.00033910683575215524_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,37) / & + 6.2583520523705729e-06_r8, 5.3286656692835877e-06_r8, & + 5.1109347915155739e-06_r8, 4.2901757401847977e-06_r8, & + 3.9505677532327284e-06_r8, 4.1587440434373819e-06_r8, & + 4.2724151687064567e-06_r8, 5.0990998232383126e-06_r8, & + 5.5610274238791709e-06_r8, 6.1808342500723346e-06_r8, & + 7.0722922117548053e-06_r8, 1.0554825064097912e-05_r8, & + 1.9710374116015994e-05_r8, 3.0013677776198584e-05_r8, & + 4.1213981901242768e-05_r8, 5.0479205268330148e-05_r8, & + 7.1006620945822678e-05_r8, 9.9762447489157503e-05_r8, & + 0.0001259142043105651_r8, 0.00015614719070472047_r8, & + 0.00019364908892920686_r8, 0.0002268957103831916_r8, & + 0.0002539513000172247_r8, 0.00027813356927499635_r8, & + 0.0002988006562059193_r8, 0.00031591135174994953_r8, & + 0.00033255549812625265_r8, 0.00035997604180182055_r8, & + 0.00038001039561347749_r8, 0.00039567714528638621_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,37) / & + 4.7898004758325271e-06_r8, 4.5321362342198314e-06_r8, & + 4.4543521892335839e-06_r8, 4.409900921896139e-06_r8, & + 4.1127917935392398e-06_r8, 4.2480385869804244e-06_r8, & + 4.8151934298557115e-06_r8, 6.8186775498860467e-06_r8, & + 8.8133731493113804e-06_r8, 1.0373801681194232e-05_r8, & + 1.2354911406446348e-05_r8, 1.6217694577077112e-05_r8, & + 2.8962300094634426e-05_r8, 4.3354793804431243e-05_r8, & + 5.5693375789326134e-05_r8, 6.6485146426208775e-05_r8, & + 8.7117967739935672e-05_r8, 0.00011520599716830373_r8, & + 0.00014744605234897899_r8, 0.00017974042696696673_r8, & + 0.00021025169333598802_r8, 0.00024074846162940158_r8, & + 0.00026605409244949212_r8, 0.00028985413975366814_r8, & + 0.00031122387314584595_r8, 0.00032980387250549026_r8, & + 0.00034682017548698108_r8, 0.00037521048075122204_r8, & + 0.00039647723851195618_r8, 0.00041179441097857549_r8, & + 0.00041974168975542211_r8, 0.00042300749832567677_r8, & + 0.00042371089301565973_r8, 0.00042288356251610996_r8, & + 0.00042208677737638203_r8, 0.00042097382961845477_r8, & + 0.00041916470309901968_r8, 0.00041751032423259613_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,37) / & + 4.2128947198335956e-06_r8, 4.228196802687372e-06_r8, & + 4.635901797492019e-06_r8, 4.7969162516627994e-06_r8, & + 4.5785978312192493e-06_r8, 4.8349415146978464e-06_r8, & + 5.7882166126070173e-06_r8, 8.8869925223997805e-06_r8, & + 1.2560492107321893e-05_r8, 1.6914367327009383e-05_r8, & + 2.2578087972782548e-05_r8, 3.4002749915316291e-05_r8, & + 6.4462178972863433e-05_r8, 8.1050574913903869e-05_r8, & + 9.005752752348813e-05_r8, 9.7952346194481936e-05_r8, & + 0.00011531946883580526_r8, 0.00013932304084039241_r8, & + 0.00017101374896276442_r8, 0.00020223038845807955_r8, & + 0.00023208839360747206_r8, 0.00026224828469299691_r8, & + 0.000287515118596233_r8, 0.00031047658375237371_r8, & + 0.00033114334566757269_r8, 0.00034984793912030596_r8, & + 0.00036606311709593372_r8, 0.00039340540013945422_r8, & + 0.00041556372913148363_r8, 0.00042893877471300389_r8, & + 0.00043610884748437146_r8, 0.00043821574177632341_r8, & + 0.00043828338230189167_r8, 0.00043709738289444315_r8, & + 0.0004368652330402885_r8, 0.00043587199465755614_r8, & + 0.00043520430437640843_r8, 0.00043384864017734101_r8, & + 0.00043141361266775009_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,37) / & + 4.5648742120870328e-06_r8, 4.5694874370235027e-06_r8, & + 4.712003294022079e-06_r8, 5.0290285915481571e-06_r8, & + 5.1447009207160749e-06_r8, 5.3655727623661266e-06_r8, & + 6.4139940331415788e-06_r8, 9.944179843654146e-06_r8, & + 1.5819674303214111e-05_r8, 2.4576802159536023e-05_r8, & + 3.6397086868844465e-05_r8, 5.8641774815235277e-05_r8, & + 9.590211496850419e-05_r8, 0.00011402585126968832_r8, & + 0.00012154216668717167_r8, 0.00012946624695757254_r8, & + 0.00014578091170130414_r8, 0.00016957517929053759_r8, & + 0.00019870546285861545_r8, 0.00022930757461417904_r8, & + 0.0002574091891375851_r8, 0.00028562052041156361_r8, & + 0.00031130518678179994_r8, 0.00033601221418929353_r8, & + 0.00035631614160354244_r8, 0.00037477307303786266_r8, & + 0.00039032744921597398_r8, 0.0004170243411411108_r8, & + 0.00043788738235002277_r8, 0.00044914965775823908_r8, & + 0.00045466780156201659_r8, 0.00045590063017897137_r8, & + 0.00045530167873275286_r8, 0.00045462261802015199_r8, & + 0.00045422891044778573_r8, 0.00045266986955616367_r8, & + 0.00045099811308734204_r8, 0.00044924627738940869_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,37) / & + 5.0632038984932794e-06_r8, 5.1181740040184972e-06_r8, & + 5.1457924230876239e-06_r8, 5.1105272062933896e-06_r8, & + 5.2064331363000959e-06_r8, 5.3051626634605083e-06_r8, & + 5.8556355646786362e-06_r8, 8.0539212230766807e-06_r8, & + 1.1738227990581363e-05_r8, 1.8323306086520347e-05_r8, & + 2.8149797926671444e-05_r8, 4.5803976335017114e-05_r8, & + 8.0673860807018309e-05_r8, 0.00010868477553414715_r8, & + 0.00012428158127479808_r8, 0.00013972216116768236_r8, & + 0.00016603540696317595_r8, 0.00019435608524352905_r8, & + 0.00022139669310757858_r8, 0.00024979507745112839_r8, & + 0.00027614287872699666_r8, 0.00030664523031535308_r8, & + 0.00033262131310932445_r8, 0.00035831804730754384_r8, & + 0.00037800230164427049_r8, 0.00039703031174958132_r8, & + 0.00041230538553967274_r8, 0.00043805462454813251_r8, & + 0.00045704949962203949_r8, 0.00046878164697267062_r8, & + 0.00047604799452272768_r8, 0.00047828639891154363_r8, & + 0.00047893146484645293_r8, 0.00047699107646442514_r8, & + 0.00047306765820779174_r8, 0.00046665739553283477_r8, & + 0.00045893463859143405_r8, 0.00045075440762787236_r8, & + 0.00044718034769676302_r8, 0.00044149983577545555_r8, & + 0.00043906931491726934_r8, 0.00043735331791975858_r8, & + 0.00043682913739632301_r8, 0.00043498408255811049_r8, & + 0.00043513497494277928_r8 & + / +data saar_ref(:,26,37) / & + 5.0312172754467441e-06_r8, 5.1645597790738998e-06_r8, & + 5.194836769069259e-06_r8, 5.1401386792561008e-06_r8, & + 5.2401924957110619e-06_r8, 5.2625772496241093e-06_r8, & + 5.7014039578925025e-06_r8, 5.9305924205903884e-06_r8, & + 5.851777804874343e-06_r8, 7.0097351058080929e-06_r8, & + 9.6703175889991112e-06_r8, 1.6179357562787059e-05_r8, & + 3.4616788413960483e-05_r8, 6.1796245686627377e-05_r8, & + 8.7166002206971028e-05_r8, 0.00011759666074176655_r8, & + 0.00017041270952871353_r8, 0.00021880491872199026_r8, & + 0.00025171025567761931_r8, 0.00027978462558750551_r8, & + 0.00030627214359207992_r8, 0.00033885830192680782_r8, & + 0.00036076044807582423_r8, 0.00038392354040535381_r8, & + 0.00040151315899496286_r8, 0.00041966615575496303_r8, & + 0.00043332523969954632_r8, 0.00045649594683364264_r8, & + 0.00047383181461388212_r8, 0.00048645178465508553_r8, & + 0.00049269762984446462_r8, 0.00049372271706016487_r8, & + 0.00049349707460858805_r8, 0.00049275383023055929_r8, & + 0.00048964874375053726_r8, 0.00048426555502474318_r8, & + 0.00047519679677621705_r8, 0.00046727413855821416_r8, & + 0.00046055867419415977_r8, 0.00045583538069971359_r8, & + 0.00045280817416575362_r8, 0.00045107980050816465_r8, & + 0.00045107661490829249_r8, 0.00044926349227046168_r8, & + 0.00044894910178072905_r8 & + / +data saar_ref(:,27,37) / & + 4.8992057016939384e-06_r8, 4.9430647581970779e-06_r8, & + 4.9377056566442553e-06_r8, 4.7405588928451148e-06_r8, & + 4.9342843948921513e-06_r8, 4.9498467904366905e-06_r8, & + 5.1957439570920735e-06_r8, 5.0587761069830835e-06_r8, & + 4.9282242269807363e-06_r8, 5.3600657067582703e-06_r8, & + 6.9913773942286265e-06_r8, 1.024860843789317e-05_r8, & + 1.6468907464921274e-05_r8, 2.8620446977210368e-05_r8, & + 4.5727792874814033e-05_r8, 7.0620582673173055e-05_r8, & + 0.00013294633071665881_r8, 0.00020123343068244385_r8, & + 0.00025665106839690673_r8, 0.00029973433545466097_r8, & + 0.00033591629174161412_r8, 0.00037080282898902266_r8, & + 0.00039340510783171013_r8, 0.00041584019928638926_r8, & + 0.00043286745950680861_r8, 0.00044826545508840369_r8, & + 0.000461452665252619_r8, 0.00048182004262099819_r8, & + 0.00049531732034301243_r8, 0.00050436273607432265_r8, & + 0.000509075414093735_r8, 0.00050674913693897104_r8, & + 0.00050548275018300081_r8, 0.00050654190554690341_r8, & + 0.00050598439634376078_r8, 0.00050269017675288758_r8, & + 0.00049745748897123078_r8, 0.00049332778752252647_r8, & + 0.00048917146778284766_r8, 0.00048523274180595563_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,37) / & + 5.4037341686721925e-06_r8, 5.3026135770498295e-06_r8, & + 5.1751309499644581e-06_r8, 5.313640569795277e-06_r8, & + 5.5705211011392569e-06_r8, 5.5354381943368149e-06_r8, & + 5.6151784007776385e-06_r8, 6.1878511593684357e-06_r8, & + 6.746581098514524e-06_r8, 7.7007536178860886e-06_r8, & + 9.3509635904198397e-06_r8, 1.1223013010782846e-05_r8, & + 1.57456090595412e-05_r8, 2.2601813077843917e-05_r8, & + 3.4999215151933157e-05_r8, 5.1042320918758077e-05_r8, & + 9.9774693938296241e-05_r8, 0.00017227111405503925_r8, & + 0.00024892841681048363_r8, 0.00031681865191065552_r8, & + 0.00036782247588881698_r8, 0.000407350373267226_r8, & + 0.00043291118684220177_r8, 0.00045674047720755176_r8, & + 0.00047477865868954516_r8, 0.00048891860784605005_r8, & + 0.0004993153015980695_r8, 0.00051427062910000456_r8, & + 0.00052249683730324638_r8, 0.00052629173016349783_r8, & + 0.00052928333612238423_r8, 0.00052660782248894773_r8, & + 0.00052587664221399031_r8, 0.00052605977885954907_r8, & + 0.00052327096769810301_r8, 0.00052062942189516886_r8, & + 0.00051636846426556958_r8, 0.00051192918023700625_r8, & + 0.00050529951272295086_r8, 0.0005003626744393882_r8, & + 0.00049424910386626443_r8, 0.00048907178716364817_r8, & + 0.00048537217601290344_r8, 0.00048164881529383808_r8, & + 0.00048126794961870004_r8 & + / +data saar_ref(:,29,37) / & + 6.0296057180397966e-06_r8, 5.8622455439543293e-06_r8, & + 6.085345390561115e-06_r8, 6.3732742995265933e-06_r8, & + 6.4150116502063619e-06_r8, 6.6634605478874169e-06_r8, & + 7.2198579078645326e-06_r8, 8.745802208600685e-06_r8, & + 9.4015238957560096e-06_r8, 1.0259757247535908e-05_r8, & + 1.1561423402257756e-05_r8, 1.3616268526089205e-05_r8, & + 1.7939281331078163e-05_r8, 2.3808208358916807e-05_r8, & + 3.4381516868809642e-05_r8, 4.7927520554330554e-05_r8, & + 8.574615374271855e-05_r8, 0.00015003334567706273_r8, & + 0.00022990960650489544_r8, 0.00030910226147601235_r8, & + 0.00037339477167408226_r8, 0.00042228698757253733_r8, & + 0.00045413780220472687_r8, 0.00048178802987301197_r8, & + 0.0005018971992990244_r8, 0.00051842010237944782_r8, & + 0.00053070760715884029_r8, 0.00054748977908559526_r8, & + 0.00055481361692835511_r8, 0.00055601980571349499_r8, & + 0.00055364471506178306_r8, 0.00055178003714258044_r8, & + 0.00054949635469556297_r8, 0.00054722676698705324_r8, & + 0.00054355744832169006_r8, 0.00054139476055285914_r8, & + 0.00053732062420413487_r8, 0.0005329282776321073_r8, & + 0.00052819661462584716_r8, 0.00052481192912798107_r8, & + 0.00052122857463706904_r8, 0.00051360843803389857_r8, & + 0.00051189347303188875_r8, 0.00051213840700665221_r8, & + 0.00051132600605185627_r8 & + / +data saar_ref(:,30,37) / & + 7.1929256209876882e-06_r8, 6.5098518094287538e-06_r8, & + 7.1532541369232823e-06_r8, 7.4282388376647113e-06_r8, & + 7.4886358342787221e-06_r8, 8.1179094911375552e-06_r8, & + 9.6859962306547583e-06_r8, 1.0410444849037425e-05_r8, & + 1.0686622533005688e-05_r8, 1.1655398664552902e-05_r8, & + 1.2864978418583873e-05_r8, 1.5034586442054764e-05_r8, & + 2.0352754381613415e-05_r8, 2.5924293357713411e-05_r8, & + 3.5071077942374367e-05_r8, 4.6583006785638984e-05_r8, & + 8.0045286145552955e-05_r8, 0.00013640259091698978_r8, & + 0.00020887207443240902_r8, 0.00029227381854409569_r8, & + 0.00036334211936842731_r8, 0.00041909354586653372_r8, & + 0.00045926685389938274_r8, 0.0004926315057052678_r8, & + 0.00051632774454180139_r8, 0.00053614759016992904_r8, & + 0.00055335216208071952_r8, 0.00057817937201749272_r8, & + 0.0005887041863813998_r8, 0.00058965107724828227_r8, & + 0.00058616294978885129_r8, 0.00058072876226620391_r8, & + 0.00057721527162024741_r8, 0.00057226174876523646_r8, & + 0.00056678641898480443_r8, 0.00056486958689902663_r8, & + 0.00056190253197824409_r8, 0.00055834124835020137_r8, & + 0.00055463120822514902_r8, 0.00055106288032861952_r8, & + 0.00054627550222883917_r8, 0.00053890938003821722_r8, & + 0.0005374974898782371_r8, 0.00053347781078376118_r8, & + 0.00053297215500203328_r8 & + / +data saar_ref(:,31,37) / & + 1.1294036650253195e-05_r8, 1.0881985339003374e-05_r8, & + 1.1425073759263293e-05_r8, 1.2113205338359564e-05_r8, & + 1.3165386259867043e-05_r8, 1.4876119692365414e-05_r8, & + 1.8547489578342717e-05_r8, 2.2686219391441235e-05_r8, & + 2.6055945956292874e-05_r8, 2.9913914744965433e-05_r8, & + 3.3873908431964451e-05_r8, 3.8751275118404623e-05_r8, & + 4.7891187011246298e-05_r8, 6.0750469897014656e-05_r8, & + 7.591388094894967e-05_r8, 9.480861893595707e-05_r8, & + 0.00014400456462593218_r8, 0.00020728328576670113_r8, & + 0.00027833187373553161_r8, 0.00035205163126296099_r8, & + 0.00041062895659302459_r8, 0.00045977351898530305_r8, & + 0.00049723145597809404_r8, 0.00052732476538893032_r8, & + 0.00054831369751423586_r8, 0.00056760356411430146_r8, & + 0.00058504438238057171_r8, 0.00061127054704467922_r8, & + 0.00062232416980809949_r8, 0.00062157187668815048_r8, & + 0.00061680862552918102_r8, 0.0006101726546839534_r8, & + 0.00060458723399758961_r8, 0.00059892042390285462_r8, & + 0.00059340135818784811_r8, 0.00058976196654256653_r8, & + 0.00058465487388137307_r8, 0.00058017787693486682_r8, & + 0.00057519666540733008_r8, 0.00057175241183987744_r8, & + 0.00056552833194611267_r8, 0.00056141399932802493_r8, & + 0.00055810805177831881_r8, 0.00055734972291710189_r8, & + 0.00055816149177605038_r8 & + / +data saar_ref(:,32,37) / & + 1.8444154122369752e-05_r8, 1.8396798003169168e-05_r8, & + 2.0711318155726684e-05_r8, 2.5834586059061534e-05_r8, & + 3.1272196362911874e-05_r8, 3.7518365230015518e-05_r8, & + 5.4833173608417323e-05_r8, 6.3021016916537363e-05_r8, & + 6.9663376250462928e-05_r8, 7.5839032500545729e-05_r8, & + 8.4774870297799022e-05_r8, 0.00010503831803287664_r8, & + 0.00013070080829307771_r8, 0.00016517755905823571_r8, & + 0.00020304903806121839_r8, 0.00024412894592818073_r8, & + 0.00032614043583927184_r8, 0.00038065947233811501_r8, & + 0.00042950371190120717_r8, 0.00047648926913187767_r8, & + 0.00051460493766492194_r8, 0.00054501934306021066_r8, & + 0.00056930663668275296_r8, 0.00058848230695845462_r8, & + 0.00060351083455432108_r8, 0.00061666866623422774_r8, & + 0.00062917355619155593_r8, 0.00064633034134297545_r8, & + 0.00065018900967792406_r8, 0.00064604860713364813_r8, & + 0.00063832556724149859_r8, 0.0006315239756036488_r8, & + 0.00062140444885651108_r8, 0.00061590882354769778_r8, & + 0.00061074067100299635_r8, 0.0006084887816260998_r8, & + 0.00060196245684307915_r8, 0.00059817905394143542_r8, & + 0.00059337157229379968_r8, 0.00059194795635947545_r8, & + 0.00058801700120893912_r8, 0.00058379831936484247_r8, & + 0.0005778880948965234_r8, 0.00057635065192948663_r8, & + 0.00057453528256521909_r8 & + / +data saar_ref(:,33,37) / & + 2.2070246043418272e-05_r8, 2.6533907059832035e-05_r8, & + 3.3432428513903365e-05_r8, 4.1405832824286931e-05_r8, & + 5.1680504037948924e-05_r8, 6.3033618327198312e-05_r8, & + 8.3056024001300038e-05_r8, 9.5784339640629643e-05_r8, & + 0.00010700944857480235_r8, 0.00011755598763675246_r8, & + 0.00013223951744046337_r8, 0.0001539683276875311_r8, & + 0.00017779818860379128_r8, 0.00021662522550879975_r8, & + 0.0002591947238474191_r8, 0.00030623526303780933_r8, & + 0.00038948435114418101_r8, 0.00044773381400342284_r8, & + 0.0004853845031414558_r8, 0.00052123784947897796_r8, & + 0.00055716138962398198_r8, 0.00058686991843876813_r8, & + 0.0006087954289840349_r8, 0.00062751541055926013_r8, & + 0.00063896232788634695_r8, 0.00065030643607122992_r8, & + 0.00065962032546970498_r8, 0.0006706777010978104_r8, & + 0.00067224610284779391_r8, 0.00066688144374111192_r8, & + 0.00065934942133821024_r8, 0.0006519506569302991_r8, & + 0.00064225911106002441_r8, 0.00063541344944912075_r8, & + 0.00062787123107663515_r8, 0.00062369497494673906_r8, & + 0.00061738910061442899_r8, 0.00061488475453552196_r8, & + 0.00061198220800952254_r8, 0.00060994969194888701_r8, & + 0.00060688800816979837_r8, 0.00060413859888445575_r8, & + 0.00060047602035230628_r8, 0.00059492810329224617_r8, & + 0.00059124470752841996_r8 & + / +data saar_ref(:,34,37) / & + 2.8866974001307154e-05_r8, 3.7057797735846281e-05_r8, & + 5.3654086147207442e-05_r8, 4.6311899742325469e-05_r8, & + 5.8144429018811163e-05_r8, 7.8175730264688282e-05_r8, & + 0.00014768547502111887_r8, 0.00016221371990551601_r8, & + 0.00015898045343281864_r8, 0.00016775743469998566_r8, & + 0.00018698938352344654_r8, 0.00016995903526771021_r8, & + 0.00017711083858794181_r8, 0.00019170782749391285_r8, & + 0.00020007101249835569_r8, 0.00021906307980396595_r8, & + 0.00032692166118398152_r8, 0.00044118815070856278_r8, & + 0.00051884157335797441_r8, 0.00055551971513514477_r8, & + 0.00058868914289307865_r8, 0.0005998880056250701_r8, & + 0.00064466073987003776_r8, 0.00065651071450535268_r8, & + 0.00066718345018459057_r8, 0.00067564167860752764_r8, & + 0.00068406389099286439_r8, 0.00069211866045674802_r8, & + 0.00069314375798242575_r8, 0.00069002414692771253_r8, & + 0.00068621856485828812_r8, 0.0006761581087421011_r8, & + 0.00066608560780532329_r8, 0.00065916245679376582_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,35,37) / & + 2.5400786617418176e-05_r8, 2.9552205978610634e-05_r8, & + 3.9544848789243595e-05_r8, 3.7742553608684535e-05_r8, & + 4.5497024231593723e-05_r8, 6.332224867169424e-05_r8, & + 0.00011653792446311793_r8, 0.00013139090384102186_r8, & + 0.00014251913955976497_r8, 0.00014543704875940572_r8, & + 0.00014470202445564335_r8, 0.00015100978131555557_r8, & + 0.00016549407595646185_r8, 0.00017642756258053576_r8, & + 0.00022698256811886145_r8, 0.00027890193158056_r8, & + 0.00036847364197615384_r8, 0.00035503122902597376_r8, & + 0.00037498243085302914_r8, 0.00039344395277392279_r8, & + 0.00048081811905001197_r8, 0.0003990425106939433_r8, & + 0.00067226111328462838_r8, 0.00068963732546377182_r8, & + 0.00070619098650638796_r8, 0.00070949880041059601_r8, & + 0.00071974777403600333_r8, 0.00071046400987782702_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,37) / & + 2.3860124430653585e-05_r8, 2.608831200739607e-05_r8, & + 2.979922674226012e-05_r8, 3.3147664423674106e-05_r8, & + 3.9545473702284092e-05_r8, 5.3004319969122537e-05_r8, & + 9.8079969747084033e-05_r8, 0.00010968772867682778_r8, & + 0.000113786356855332_r8, 0.00012083696440092071_r8, & + 0.0001188045938735887_r8, 0.00012938264651898647_r8, & + 0.00013664212114303335_r8, 0.00014279456136997401_r8, & + 0.00016317199292283598_r8, 0.00024317887550116387_r8, & + 0.00036234116556489038_r8, 0.00022555829341303153_r8, & + 0.00027305845550455173_r8, 0.000288821878050946_r8, & + 0.00044680904809508645_r8, 0.00042419587647071831_r8, & + 0.00064976581927004195_r8, 0.0007093778470749967_r8, & + 0.00072649135059666065_r8, 0.0007408414955982841_r8, & + 0.00075473128320752831_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,37) / & + 2.8372408659198944e-05_r8, 3.1835164758679975e-05_r8, & + 3.5993415181323599e-05_r8, 3.6225369327531333e-05_r8, & + 4.6017328518538094e-05_r8, 7.0623180308658796e-05_r8, & + 0.00011162414081548356_r8, 0.00011508405179570769_r8, & + 0.00011484567229925005_r8, 0.00012254378619254815_r8, & + 0.00012224730998302755_r8, 0.00012886172783257101_r8, & + 0.00013577648138204449_r8, 0.0001387620093181249_r8, & + 0.00014977083502096662_r8, 0.00021583592221974111_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,37) / & + 0.00023857200416751702_r8, 0.00020689387124918875_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,37) / & + 0.00019741589153892775_r8, 0.00018936006239944021_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,37) / & + 0.00011504057172518299_r8, 0.00011108519471897114_r8, & + 7.6630989769835634e-05_r8, 8.3350372500734122e-05_r8, & + 0.00010861207106648361_r8, 0.00017001650195535534_r8, & + 0.00010593256599123163_r8, 9.4307526843397132e-05_r8, & + 6.5597772411006984e-05_r8, 6.2568500022014192e-05_r8, & + 6.0160229792432309e-05_r8, 5.9931062930924367e-05_r8, & + 5.5876046155585713e-05_r8, 5.8737441045138315e-05_r8, & + 5.984359645085577e-05_r8, 6.1160445813614693e-05_r8, & + 6.3788262286200957e-05_r8, 6.4877915272263534e-05_r8, & + 6.6822107333121888e-05_r8, 7.0213770501595483e-05_r8, & + 7.324217152073658e-05_r8, 7.6854922705276544e-05_r8, & + 7.7725922808676159e-05_r8, 8.5059958170568252e-05_r8, & + 9.2285949410792647e-05_r8, 9.9269683593039137e-05_r8, & + 0.00010437580087248265_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,37) / & + 7.1575547713151517e-05_r8, 8.027070552062398e-05_r8, & + 6.5184665702213668e-05_r8, 8.7590189905716539e-05_r8, & + 7.9600479962045758e-05_r8, 0.00010305473725542558_r8, & + 0.00010826406158070414_r8, 0.00010217056836698544_r8, & + 6.313423832227665e-05_r8, 6.1554507389612395e-05_r8, & + 6.1230892581727505e-05_r8, 6.2870292601872405e-05_r8, & + 5.987877497029521e-05_r8, 6.1730927298321158e-05_r8, & + 6.2493500257641599e-05_r8, 6.4111152267498669e-05_r8, & + 6.6211307906892874e-05_r8, 6.7201724529120655e-05_r8, & + 6.9382465708242607e-05_r8, 7.297946163564431e-05_r8, & + 7.632259520066861e-05_r8, 8.0147029993400359e-05_r8, & + 8.13755309262072e-05_r8, 8.8983969834572959e-05_r8, & + 9.5409795832485938e-05_r8, 0.00010154905151858432_r8, & + 0.00010643793624521879_r8, 0.00011333542076295677_r8, & + 0.00011068942416385082_r8, 0.00011106133552052093_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,37) / & + 7.0711078176390553e-05_r8, 8.5495144255786157e-05_r8, & + 6.8009250485870333e-05_r8, 0.00010299693796875855_r8, & + 9.4904218384594111e-05_r8, 0.00010805029687877101_r8, & + 8.7928168596556071e-05_r8, 6.9431163737364507e-05_r8, & + 6.0156448396976211e-05_r8, 6.1047163107741479e-05_r8, & + 6.3534148234936118e-05_r8, 6.5505915081659851e-05_r8, & + 6.5380259927228301e-05_r8, 6.6069084153326499e-05_r8, & + 6.747552108471524e-05_r8, 6.9605907090312662e-05_r8, & + 7.0483303911158076e-05_r8, 7.0927724491006081e-05_r8, & + 7.3283543268729803e-05_r8, 7.7417233168386353e-05_r8, & + 8.0606246008743684e-05_r8, 8.4119683124346206e-05_r8, & + 8.666265328122838e-05_r8, 9.2913106932284082e-05_r8, & + 9.9212096369516504e-05_r8, 0.00010532774562031501_r8, & + 0.00011084715457471675_r8, 0.00012112273941025454_r8, & + 0.00012261788216868808_r8, 0.00011787459249354269_r8, & + 0.00011663027038282221_r8, 0.00011349457246723722_r8, & + 0.00011388177964349775_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,37) / & + 7.6581155157780278e-05_r8, 0.00010336804222805965_r8, & + 8.8152360519417927e-05_r8, 0.00012369104007718708_r8, & + 0.00011598439815668738_r8, 0.00012965476536546378_r8, & + 9.3972656037044053e-05_r8, 6.8872983205028204e-05_r8, & + 6.1117267032996021e-05_r8, 6.4619808338618615e-05_r8, & + 6.5456099114346902e-05_r8, 6.6442570902220259e-05_r8, & + 6.7298216770674034e-05_r8, 6.8628828946866845e-05_r8, & + 7.0293319742017937e-05_r8, 7.1949865518941387e-05_r8, & + 7.2497971525564554e-05_r8, 7.3034687203916269e-05_r8, & + 7.5359578427689435e-05_r8, 7.9025764873655199e-05_r8, & + 8.1922319369441841e-05_r8, 8.5584238749182519e-05_r8, & + 8.9286174908228606e-05_r8, 9.4216568318346628e-05_r8, & + 9.9933884031532758e-05_r8, 0.00010488133593907048_r8, & + 0.00011122453875877336_r8, 0.0001209946020992905_r8, & + 0.00012167587714700251_r8, 0.0001189084550296139_r8, & + 0.00011901662122375034_r8, 0.00011946028618856099_r8, & + 0.00012030796205630066_r8, 0.00012014190614508072_r8, & + 0.000120693530232184_r8, 0.00012121674289134455_r8, & + 0.0001243138241903165_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,38) / & + 0.00012758129060479802_r8, 0.00012858403745868955_r8, & + 0.0001388517071672516_r8, 0.00014958131085039111_r8, & + 0.00016002068247317287_r8, 0.00016427889489226919_r8, & + 0.00017241249008506754_r8, 0.00017469238050243094_r8, & + 0.00017834801863999915_r8, 0.000183080968078799_r8, & + 0.00018702018926056713_r8, 0.00019132974744971197_r8, & + 0.00019514775245854521_r8, 0.00020070738250450504_r8, & + 0.00020944044356028109_r8, 0.00021738715316053426_r8, & + 0.00022583961193014583_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,38) / & + 0.00011381727741225893_r8, 0.00011494269021319222_r8, & + 0.00012269276710403566_r8, 0.00012354552644461823_r8, & + 0.00013311653336950979_r8, 0.00013988699387605322_r8, & + 0.00015272703301559348_r8, 0.00016321256466510079_r8, & + 0.00017033526786240481_r8, 0.00017695698223017957_r8, & + 0.00018224955960897547_r8, 0.00018759380771313507_r8, & + 0.00019210130814851332_r8, 0.0001969809053033651_r8, & + 0.00020267172244084028_r8, 0.00020594948598848893_r8, & + 0.00020765548871817834_r8, 0.00021114839967241233_r8, & + 0.00021165504416057132_r8, 0.00021565003136538583_r8, & + 0.00022000359738392621_r8, 0.00022765656487397791_r8, & + 0.00022955783549946307_r8, 0.0002324171279930541_r8, & + 0.00023577876627824628_r8, 0.00023917109356656356_r8, & + 0.00024394341364063094_r8, 0.00025273005237153045_r8, & + 0.00025894076817193739_r8, 0.00026394256037621524_r8, & + 0.00026667325752902446_r8, 0.00026521120174742937_r8, & + 0.00026311766044722148_r8, 0.00026375158809485564_r8, & + 0.00026101419860334921_r8, 0.0002579201255782883_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,38) / & + 7.3122980197104319e-05_r8, 7.2592353784041639e-05_r8, & + 7.1822477841780431e-05_r8, 7.2703578626588265e-05_r8, & + 7.3202043486346111e-05_r8, 7.4065132788916842e-05_r8, & + 8.670269047381358e-05_r8, 0.00011681415085247818_r8, & + 0.00013301612058929971_r8, 0.00014496845077269731_r8, & + 0.00015631893130870788_r8, 0.00016846782743947935_r8, & + 0.00017775211629225693_r8, 0.00018173972300960346_r8, & + 0.0001842234404166327_r8, 0.00018670000023335607_r8, & + 0.00018983478619748596_r8, 0.00019393180154051197_r8, & + 0.00019765761630483552_r8, 0.00020240467448178211_r8, & + 0.00020703184302456657_r8, 0.00021254386414669261_r8, & + 0.00021725989435965044_r8, 0.00022147530273404357_r8, & + 0.00022495444880407539_r8, 0.00022809913973533363_r8, & + 0.0002315531669908525_r8, 0.00024040195750239698_r8, & + 0.00024939409699223798_r8, 0.00025910558286104787_r8, & + 0.00026531151091258612_r8, 0.00026795745184145367_r8, & + 0.00027003928067399925_r8, 0.00027151817510292364_r8, & + 0.00026822477522414471_r8, 0.00026419569769136215_r8, & + 0.00026258771921245516_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,38) / & + 2.86944397891828e-05_r8, 2.7672280136188899e-05_r8, & + 2.9565087994514343e-05_r8, 2.9942496126637659e-05_r8, & + 2.929632627294417e-05_r8, 3.0297350828220788e-05_r8, & + 3.4997082838032336e-05_r8, 5.9743453340039838e-05_r8, & + 7.6963033943534481e-05_r8, 9.0626238638632085e-05_r8, & + 0.00010505357688923808_r8, 0.00012252242850503093_r8, & + 0.00014055501610026823_r8, 0.00015014006104862879_r8, & + 0.00015585931697473135_r8, 0.00016267171034133708_r8, & + 0.00016968029797610106_r8, 0.00017458982316429471_r8, & + 0.00017901341486041298_r8, 0.00018214761550900874_r8, & + 0.00018608868766030259_r8, 0.0001908362980293132_r8, & + 0.00019581791194466078_r8, 0.00020073208332571706_r8, & + 0.00020504116220512365_r8, 0.00020858013786087551_r8, & + 0.00021283988600501777_r8, 0.00022250650619719882_r8, & + 0.00023609089897103417_r8, 0.00024872809352889598_r8, & + 0.00025836532334870083_r8, 0.00026242447981516593_r8, & + 0.00026902112649068521_r8, 0.00027314079174180081_r8, & + 0.00027488524515216733_r8, 0.00027086976342214334_r8, & + 0.00026949765736991772_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,38) / & + 1.0798326188018747e-05_r8, 1.0248533289247039e-05_r8, & + 1.1894686458345313e-05_r8, 1.263669059512597e-05_r8, & + 1.28942319242727e-05_r8, 1.3442098155149122e-05_r8, & + 1.7382171400208341e-05_r8, 2.4589484744113682e-05_r8, & + 3.1574775738438559e-05_r8, 3.7397188120187364e-05_r8, & + 4.4108863282605224e-05_r8, 4.9840097495079051e-05_r8, & + 5.911389043693814e-05_r8, 6.9623488255864119e-05_r8, & + 7.813249846697423e-05_r8, 8.8807307097878775e-05_r8, & + 0.00010474658326025118_r8, 0.0001183387374061711_r8, & + 0.00012964368783748234_r8, 0.00013573540050068522_r8, & + 0.00014426291172627131_r8, 0.00015347183532967047_r8, & + 0.00016012691174089938_r8, 0.00016645796791630134_r8, & + 0.00017133307095872687_r8, 0.00017546712571952057_r8, & + 0.00018072590944244953_r8, 0.00019227470430158497_r8, & + 0.00020503008293662144_r8, 0.00021839561645736286_r8, & + 0.00023062680214005872_r8, 0.00023920501994176572_r8, & + 0.00024920192859298376_r8, 0.00025664057369812805_r8, & + 0.00026193546009751876_r8, 0.00026243876540085753_r8, & + 0.00026443522005044617_r8, 0.0002672327876994655_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,38) / & + 7.1980322777348058e-06_r8, 6.7060996245176917e-06_r8, & + 6.7664810744844919e-06_r8, 7.4820734143181348e-06_r8, & + 7.6729933531901318e-06_r8, 8.3045050750702298e-06_r8, & + 9.6486780796839887e-06_r8, 1.137367999888957e-05_r8, & + 1.2533801322184561e-05_r8, 1.3303925761237678e-05_r8, & + 1.4058922975221057e-05_r8, 1.4015470021218329e-05_r8, & + 1.5678512544786345e-05_r8, 1.8549742150827689e-05_r8, & + 2.1796762881221918e-05_r8, 2.5593539328477789e-05_r8, & + 3.3753704023864007e-05_r8, 4.5387976284283719e-05_r8, & + 5.6176015902358253e-05_r8, 6.7513824790025275e-05_r8, & + 8.1687566650252646e-05_r8, 9.513198143003378e-05_r8, & + 0.00010917497642823705_r8, 0.00012286466541673499_r8, & + 0.00013479125556000146_r8, 0.0001456740142144236_r8, & + 0.00015321287708285164_r8, 0.00016902780483319559_r8, & + 0.00018150405893233877_r8, 0.00019419171360581883_r8, & + 0.00020685160003593216_r8, 0.00021868597229876292_r8, & + 0.00023097360364077746_r8, 0.00024249616588476497_r8, & + 0.00025078293093916453_r8, 0.00025595475156503126_r8, & + 0.00026047375328942048_r8, 0.00026347242148716077_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,38) / & + 6.1300973823672837e-06_r8, 5.7169645893067884e-06_r8, & + 5.5679605185241347e-06_r8, 6.005774423055807e-06_r8, & + 5.9503466382354985e-06_r8, 5.9620478331374269e-06_r8, & + 6.8250025415978355e-06_r8, 7.724280254994512e-06_r8, & + 8.2087042065814586e-06_r8, 8.5527337460199913e-06_r8, & + 8.8042715988769851e-06_r8, 8.4550685794528799e-06_r8, & + 8.8931248916256442e-06_r8, 9.3724172407331097e-06_r8, & + 1.0285440155893325e-05_r8, 1.1283521924597762e-05_r8, & + 1.4462714055762474e-05_r8, 2.1199497865508116e-05_r8, & + 2.9195644586866343e-05_r8, 3.9782834503580224e-05_r8, & + 5.4153400040154656e-05_r8, 6.8404917472542754e-05_r8, & + 8.8657198416895044e-05_r8, 0.00010627665089026294_r8, & + 0.00012382415880811477_r8, 0.00013926786204095624_r8, & + 0.00014950402984129698_r8, 0.00016579054725898338_r8, & + 0.000176598989032649_r8, 0.0001900748231197359_r8, & + 0.00020439926525564023_r8, 0.00021750387935417351_r8, & + 0.00022603177626895639_r8, 0.00023716638851896561_r8, & + 0.00024688857998107023_r8, 0.00025299140569180517_r8, & + 0.00025898968060525634_r8, 0.00026666596647245038_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,38) / & + 3.8902940681774288e-06_r8, 3.7274928667224599e-06_r8, & + 3.8794592614289165e-06_r8, 4.7465575857089625e-06_r8, & + 4.7150510676469439e-06_r8, 4.9321805150863157e-06_r8, & + 5.9443038071161713e-06_r8, 6.5944179783346497e-06_r8, & + 7.1492837080456035e-06_r8, 7.4134069377435299e-06_r8, & + 7.6156994321352917e-06_r8, 7.5288167368906886e-06_r8, & + 8.3515947130634347e-06_r8, 9.0395596861314107e-06_r8, & + 9.9632665438977332e-06_r8, 1.1180024169207166e-05_r8, & + 1.477919022699132e-05_r8, 2.2008784113891459e-05_r8, & + 3.1618427916340506e-05_r8, 4.3739748999186426e-05_r8, & + 5.8497979419061267e-05_r8, 7.5337835195098696e-05_r8, & + 9.5096580401771334e-05_r8, 0.00011477976873665973_r8, & + 0.00013569367212830098_r8, 0.0001514213300454064_r8, & + 0.00016287166721679162_r8, 0.00017495921801469622_r8, & + 0.00018147790236085741_r8, 0.00019536338468854818_r8, & + 0.00020975583476644683_r8, 0.00022179322842863988_r8, & + 0.00023078528118151192_r8, 0.00023722116536603884_r8, & + 0.00024679505943067892_r8, 0.00025342585230120541_r8, & + 0.00025793973512305932_r8, 0.00025891523767925992_r8, & + 0.00026188297372816576_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,38) / & + 2.303584782904709e-06_r8, 2.2937340241271324e-06_r8, & + 2.3979628463190149e-06_r8, 3.2382548423090123e-06_r8, & + 3.359872267322654e-06_r8, 3.689049026841312e-06_r8, & + 5.4508714286936953e-06_r8, 5.9461477250169795e-06_r8, & + 6.1585411689154163e-06_r8, 6.4034601342088252e-06_r8, & + 6.6274661449241456e-06_r8, 5.904681217108839e-06_r8, & + 5.9382983963508792e-06_r8, 7.2805035644708908e-06_r8, & + 8.4026172061080676e-06_r8, 1.0197677295556922e-05_r8, & + 1.5140469804244143e-05_r8, 2.225088251015809e-05_r8, & + 3.4484764981116244e-05_r8, 4.9558354099001709e-05_r8, & + 6.383513206039108e-05_r8, 8.1805151362758421e-05_r8, & + 0.00010131221102641146_r8, 0.00012230975218971226_r8, & + 0.00014591849431012257_r8, 0.00016172308714572532_r8, & + 0.00017293375954456614_r8, 0.00018406736102584434_r8, & + 0.00018914628081155045_r8, 0.0002069182144167029_r8, & + 0.00021723986049119152_r8, 0.00022715554949537652_r8, & + 0.00023660719814289348_r8, 0.0002362147777509653_r8, & + 0.00024585647911482672_r8, 0.00025259483328061674_r8, & + 0.00025707511996769762_r8, 0.00025832917986902946_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,38) / & + 3.1695398033191582e-06_r8, 3.2091372013720525e-06_r8, & + 3.2716167670649252e-06_r8, 3.3975609895030636e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,38) / & + 1.3723742339586231e-05_r8, 9.5916652276649761e-06_r8, & + 1.7827852330354103e-05_r8, 9.5297766637615914e-06_r8, & + 2.9442979379404941e-06_r8, 3.0350230858323623e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,38) / & + 6.1994669649531625e-06_r8, 5.0071435596137711e-06_r8, & + 4.0858146197199963e-06_r8, 3.9404592053602693e-06_r8, & + 3.9506313302433583e-06_r8, 4.044013769252066e-06_r8, & + 4.3517396701067392e-06_r8, 3.5807477557097094e-06_r8, & + 4.0419156354926338e-06_r8, 4.5710804148889954e-06_r8, & + 5.0613245203093357e-06_r8, 5.6539271970442529e-06_r8, & + 7.1722158372032518e-06_r8, 1.0306185152957406e-05_r8, & + 1.4448853017069948e-05_r8, 1.9095387460988664e-05_r8, & + 3.0118840271484353e-05_r8, 4.7356669506743981e-05_r8, & + 6.9289067927940637e-05_r8, 9.4782776721264361e-05_r8, & + 0.00012095761055383358_r8, 0.00014716644700301233_r8, & + 0.00017789411645277543_r8, 0.00020278022322861399_r8, & + 0.00022900866210311276_r8, 0.0002474451701814263_r8, & + 0.00026273924145020689_r8, 0.00030875796381645216_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,38) / & + 3.6562318691423474e-06_r8, 3.4627394989258602e-06_r8, & + 3.6682804466334037e-06_r8, 4.4697684397287511e-06_r8, & + 4.4924005890329528e-06_r8, 4.5444800469917995e-06_r8, & + 4.8773127031352219e-06_r8, 4.1254646328530648e-06_r8, & + 4.7752011616105421e-06_r8, 5.3034023908386756e-06_r8, & + 6.0539480642579228e-06_r8, 7.7134234215018643e-06_r8, & + 1.130374302697664e-05_r8, 1.5692966494927125e-05_r8, & + 2.1383567313288952e-05_r8, 2.8178596600869019e-05_r8, & + 4.2927383755736225e-05_r8, 6.3603112309663652e-05_r8, & + 8.8457714899530969e-05_r8, 0.00011790723959286497_r8, & + 0.0001510692774022371_r8, 0.00018764796450332526_r8, & + 0.00021514638029526218_r8, 0.0002386549978000068_r8, & + 0.00026183895876055345_r8, 0.00027780142916668889_r8, & + 0.00029477574946261561_r8, 0.00032452495457145706_r8, & + 0.0003479645193657122_r8, 0.00035395197342312853_r8, & + 0.00034615059875713929_r8, 0.00031657813558757223_r8, & + 0.00035004243896154794_r8, 0.00035619691321525442_r8, & + 0.00032463095862030267_r8, 0.00029839177263167084_r8, & + 0.00028528864106379913_r8, 0.00027247576321557347_r8, & + 0.00026147778583104057_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,38) / & + 4.2230446189910717e-06_r8, 3.9584614276092312e-06_r8, & + 4.3073563023554486e-06_r8, 4.1721970120714339e-06_r8, & + 4.2170856926256516e-06_r8, 4.2604366549146e-06_r8, & + 4.6838606479053133e-06_r8, 4.1705998453467402e-06_r8, & + 4.7082039963098114e-06_r8, 5.4023980425092511e-06_r8, & + 6.768299381147478e-06_r8, 9.9305147342938674e-06_r8, & + 1.507649190445211e-05_r8, 1.9953272100710734e-05_r8, & + 2.6108608676391595e-05_r8, 3.3239173255476329e-05_r8, & + 4.9860532929470851e-05_r8, 6.9670670751335959e-05_r8, & + 9.4225254822787451e-05_r8, 0.00012359209929625587_r8, & + 0.0001600849029291678_r8, 0.0002057623534264476_r8, & + 0.00023387783819517991_r8, 0.0002579359402500763_r8, & + 0.00027887803994760619_r8, 0.00029538993201910568_r8, & + 0.00031188729839250385_r8, 0.00034295495279599241_r8, & + 0.00036652711511052155_r8, 0.00037640005895057016_r8, & + 0.0003709603731948538_r8, 0.00033253358758047509_r8, & + 0.0003730343795424584_r8, 0.00038021681968553105_r8, & + 0.00034476356228328118_r8, 0.00027056695174601948_r8, & + 0.00027201173834200609_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,38) / & + 4.6223909252830682e-06_r8, 4.259528445136846e-06_r8, & + 4.5785109913698621e-06_r8, 3.7580345433932307e-06_r8, & + 3.5150734712565134e-06_r8, 3.8188377335799196e-06_r8, & + 4.1644488536020858e-06_r8, 4.4349438094067686e-06_r8, & + 4.6443124604919318e-06_r8, 5.3729843987184699e-06_r8, & + 6.6058159462648227e-06_r8, 1.0788873348452821e-05_r8, & + 1.8948054614962142e-05_r8, 2.7872484362150733e-05_r8, & + 3.7638570633368202e-05_r8, 4.6285609251415297e-05_r8, & + 6.5218058755233465e-05_r8, 9.1152117585708664e-05_r8, & + 0.00011641628229481868_r8, 0.00014765131427599265_r8, & + 0.00018913741261207404_r8, 0.00022606515963504356_r8, & + 0.00024981099505459812_r8, 0.0002730677345267234_r8, & + 0.00029478085378036273_r8, 0.00031232715778013829_r8, & + 0.00032723616470963461_r8, 0.00035506903987185193_r8, & + 0.00038007924688712421_r8, 0.00039367613138978087_r8, & + 0.0004015960851478084_r8, 0.00037872233243437024_r8, & + 0.000406209158460134_r8, 0.00040648266574544911_r8, & + 0.00040727254046285126_r8, 0.00040704842289516769_r8, & + 0.00040732463138077777_r8, 0.00040728729239063649_r8, & + 0.00040772683018423317_r8, 0.00040683809250151391_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,38) / & + 4.1229333431826706e-06_r8, 3.9839763493791344e-06_r8, & + 4.6838496711331293e-06_r8, 4.5718483153996141e-06_r8, & + 3.9660361717219734e-06_r8, 4.286893883525126e-06_r8, & + 4.5683855890126592e-06_r8, 6.2749088536788025e-06_r8, & + 8.0110599916469617e-06_r8, 9.837343057749855e-06_r8, & + 1.2319403141219948e-05_r8, 1.6568926646180027e-05_r8, & + 3.0318723883735249e-05_r8, 4.5336992707049776e-05_r8, & + 5.685079888441187e-05_r8, 6.7988800551563368e-05_r8, & + 8.6365812431516624e-05_r8, 0.00011356236132058788_r8, & + 0.00014313706154806552_r8, 0.00017598983918678705_r8, & + 0.00021139058573450378_r8, 0.00024477831202244745_r8, & + 0.00026827202184733314_r8, 0.00029156823729108427_r8, & + 0.00031243564620421499_r8, 0.00033069063524622625_r8, & + 0.0003455640309526915_r8, 0.00037392217023862214_r8, & + 0.00039555728933346246_r8, 0.00041207715510214988_r8, & + 0.00042066428687832818_r8, 0.0004228182815648116_r8, & + 0.00042340477462413084_r8, 0.0004227787660677714_r8, & + 0.00042219039515490697_r8, 0.00042062860382416416_r8, & + 0.00041892959060446037_r8, 0.00041748020883750737_r8, & + 0.00041648568813320544_r8, 0.00041561394765000378_r8, & + 0.00040864995259342745_r8, 0.00040734029617083499_r8, & + 0.00040734299655516542_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,38) / & + 3.3890953629395893e-06_r8, 3.598773401806115e-06_r8, & + 4.7452816931591953e-06_r8, 5.0902695185047833e-06_r8, & + 4.5820747730562316e-06_r8, 4.8610900860948895e-06_r8, & + 5.3532139750537072e-06_r8, 8.8744015663365305e-06_r8, & + 1.3203827973144856e-05_r8, 1.8261123779948378e-05_r8, & + 2.5826133963253379e-05_r8, 3.8741841084641781e-05_r8, & + 6.9167711954088942e-05_r8, 8.309018875661241e-05_r8, & + 9.1461693426211265e-05_r8, 0.00010010931676475647_r8, & + 0.00011607385516368487_r8, 0.00014071786073388938_r8, & + 0.00017172570759535613_r8, 0.00020393876738559522_r8, & + 0.00023448279729031032_r8, 0.00026457614537889413_r8, & + 0.00028904205725884679_r8, 0.00031184144670364563_r8, & + 0.0003314464768086575_r8, 0.00035062716422031514_r8, & + 0.00036628935751015793_r8, 0.00039492532980665743_r8, & + 0.00041582270820208253_r8, 0.00042947584504577518_r8, & + 0.000436547872352793_r8, 0.00043797114347599888_r8, & + 0.00043822141573279571_r8, 0.00043749097357088007_r8, & + 0.00043682387392515482_r8, 0.00043546763641504841_r8, & + 0.00043420270369618651_r8, 0.00043258804312146606_r8, & + 0.00043023066353199354_r8, 0.00042560483149690301_r8, & + 0.00041856582912368781_r8, 0.00041854030905625532_r8, & + 0.00041339315814185222_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,38) / & + 3.6667631173580587e-06_r8, 3.9117611721729715e-06_r8, & + 4.404251810229627e-06_r8, 4.9972098551125225e-06_r8, & + 4.9757978106891521e-06_r8, 5.1136725157829229e-06_r8, & + 5.648978970502566e-06_r8, 9.6845846254966129e-06_r8, & + 1.7136948698909172e-05_r8, 2.8868781924142638e-05_r8, & + 4.3086258841080575e-05_r8, 6.6009796804995504e-05_r8, & + 9.9405263922145383e-05_r8, 0.00011369071970778071_r8, & + 0.00012098387792839482_r8, 0.0001278645396144624_r8, & + 0.00014433114810236613_r8, 0.0001691207139626395_r8, & + 0.00019884854834083823_r8, 0.0002294994707377184_r8, & + 0.00025873387941724668_r8, 0.00028656674093206612_r8, & + 0.00031277894857894081_r8, 0.00033606131814983191_r8, & + 0.00035559959263243662_r8, 0.00037408999353110854_r8, & + 0.00038940512262372867_r8, 0.00041759806232829415_r8, & + 0.0004391163327612049_r8, 0.00044969025284211962_r8, & + 0.00045448531209309862_r8, 0.00045499803570644162_r8, & + 0.00045393288067356_r8, 0.00045283763319017162_r8, & + 0.00045164584528409318_r8, 0.00045040901349280939_r8, & + 0.00044947008047087117_r8, 0.00044739627177117352_r8, & + 0.00044053275544861967_r8, 0.0004371287485568728_r8, & + 0.00042809393958699756_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,38) / & + 4.4323765481028571e-06_r8, 4.5932254356440969e-06_r8, & + 4.4623461202871002e-06_r8, 4.6471026479437403e-06_r8, & + 4.7754966739453493e-06_r8, 4.8742839849244725e-06_r8, & + 5.6229380387317171e-06_r8, 7.6096955642503488e-06_r8, & + 1.2202280054221015e-05_r8, 2.0400918832626244e-05_r8, & + 3.0803311212428477e-05_r8, 4.9234895671196088e-05_r8, & + 8.0079587023850946e-05_r8, 0.00010825873172237387_r8, & + 0.00012657395834940694_r8, 0.00014228419703962237_r8, & + 0.00017011827777785543_r8, 0.00019807420355823335_r8, & + 0.00022536425687294198_r8, 0.00025347316340599104_r8, & + 0.00028030106229775371_r8, 0.00030866004506701819_r8, & + 0.00033383905269570967_r8, 0.00035836372103168309_r8, & + 0.00037827385156330478_r8, 0.00039849569069736222_r8, & + 0.00041354088546910115_r8, 0.00044105247122818922_r8, & + 0.00045947435774797526_r8, 0.00047070858567434032_r8, & + 0.00047827778824524554_r8, 0.00048101529494182091_r8, & + 0.00048123265972560173_r8, 0.00047879839950402546_r8, & + 0.00047381714099366853_r8, 0.00046731183225918484_r8, & + 0.00045923455344673504_r8, 0.00045133344890788021_r8, & + 0.00044505403839574542_r8, 0.00043970314129691845_r8, & + 0.0004360315460020427_r8, 0.00043390226139539096_r8, & + 0.00043284136764601476_r8, 0.00043221416900495873_r8, & + 0.00043087513366413558_r8 & + / +data saar_ref(:,26,38) / & + 4.8132630304589378e-06_r8, 4.9239588354575618e-06_r8, & + 4.7160254689695722e-06_r8, 4.6876031156965179e-06_r8, & + 4.7992356183753652e-06_r8, 4.8880856341734131e-06_r8, & + 5.6117438426223791e-06_r8, 5.5352544957202998e-06_r8, & + 5.8466656873889414e-06_r8, 7.145216732912334e-06_r8, & + 9.8795683388491187e-06_r8, 1.6049433488354013e-05_r8, & + 3.2338883583115523e-05_r8, 5.8405237301242445e-05_r8, & + 9.016225577145509e-05_r8, 0.00012441224920085064_r8, & + 0.00018009036351092377_r8, 0.00022483636120584994_r8, & + 0.0002564157660710701_r8, 0.00028485002443694662_r8, & + 0.00031098004996397191_r8, 0.00033925259557970243_r8, & + 0.00036174426105940158_r8, 0.00038469811191149309_r8, & + 0.00040361908996537415_r8, 0.0004235898952041307_r8, & + 0.00043755019374890574_r8, 0.00046224674487752823_r8, & + 0.00047957201410487351_r8, 0.00049068798604341279_r8, & + 0.00049767738550932409_r8, 0.00050026844711930697_r8, & + 0.00050041221608360651_r8, 0.00049865116275493076_r8, & + 0.00049337277203872294_r8, 0.00048633183397261818_r8, & + 0.00047713988749458532_r8, 0.00046820155346669675_r8, & + 0.00046103815316773461_r8, 0.00045542529725277743_r8, & + 0.00045094013381173805_r8, 0.00044837953451072924_r8, & + 0.00044761610138631912_r8, 0.00044691352778185902_r8, & + 0.00044734450037742381_r8 & + / +data saar_ref(:,27,38) / & + 4.7681572012875308e-06_r8, 4.7710109728957968e-06_r8, & + 4.7052106896633441e-06_r8, 4.574215943617449e-06_r8, & + 4.7577276993198091e-06_r8, 4.7547975612016325e-06_r8, & + 5.0727579623680931e-06_r8, 5.0106830208180559e-06_r8, & + 5.0162692486975774e-06_r8, 5.4052778440471207e-06_r8, & + 6.7792517258353241e-06_r8, 9.4477776855903394e-06_r8, & + 1.5597020163926223e-05_r8, 2.7623828129623862e-05_r8, & + 4.7164678719708736e-05_r8, 7.3709583826190106e-05_r8, & + 0.0001412839066838457_r8, 0.0002139500948855057_r8, & + 0.0002669020030723319_r8, 0.00030903130289749797_r8, & + 0.0003404196045881886_r8, 0.00037320077690230314_r8, & + 0.00039538365851795297_r8, 0.00041722268294148968_r8, & + 0.00043423501752916035_r8, 0.00045103213855946607_r8, & + 0.00046374178853212321_r8, 0.00048689663726821705_r8, & + 0.00050247832745937461_r8, 0.00051206438602897301_r8, & + 0.00051711639714266768_r8, 0.00051757838267501763_r8, & + 0.00051726595021775598_r8, 0.00051727286887308724_r8, & + 0.00051222531677153982_r8, 0.00050566948917613389_r8, & + 0.00049745984742032001_r8, 0.00048840085181082549_r8, & + 0.00048006905440433739_r8, 0.00047345336199862599_r8, & + 0.00046781318433459232_r8, 0.00046445168912519306_r8, & + 0.00046433670594610456_r8, 0.00046423272464690446_r8, & + 0.00046377649557860609_r8 & + / +data saar_ref(:,28,38) / & + 5.2908590378699731e-06_r8, 5.326042685648735e-06_r8, & + 5.2696552428803059e-06_r8, 5.0824702495743587e-06_r8, & + 5.373362918326663e-06_r8, 5.3867727077747599e-06_r8, & + 5.5966676920456892e-06_r8, 6.0715956228620949e-06_r8, & + 6.5888938184037484e-06_r8, 7.5157353786319384e-06_r8, & + 8.9415655297695234e-06_r8, 1.0763225575740958e-05_r8, & + 1.5824460422026534e-05_r8, 2.3584349979420641e-05_r8, & + 3.6653083800145062e-05_r8, 5.3143589818286215e-05_r8, & + 0.00010399728303906037_r8, 0.00018046706167523476_r8, & + 0.00025784686663367237_r8, 0.00032672565685629775_r8, & + 0.00037377368880307495_r8, 0.00041136389649390031_r8, & + 0.00043671873889651684_r8, 0.00045982771423383657_r8, & + 0.00047686591032308263_r8, 0.00049173678007456278_r8, & + 0.00050177876058745861_r8, 0.00052012028058387189_r8, & + 0.00052900465975661774_r8, 0.00053374767540502455_r8, & + 0.0005356220437713698_r8, 0.00053510946952120542_r8, & + 0.00053405922599459742_r8, 0.00053198794577119328_r8, & + 0.00052744651982156447_r8, 0.00052222487141852204_r8, & + 0.00051661029538269229_r8, 0.00050974729746369263_r8, & + 0.00050273078795719142_r8, 0.0004968220893897821_r8, & + 0.00049082381760183838_r8, 0.00048563216573949765_r8, & + 0.00048122889096651383_r8, 0.00047861051572604458_r8, & + 0.00047842696370090391_r8 & + / +data saar_ref(:,29,38) / & + 5.5581024433810851e-06_r8, 6.1551560670179274e-06_r8, & + 6.3652008229868216e-06_r8, 6.2787037089648383e-06_r8, & + 6.4276152964933955e-06_r8, 6.520891896015648e-06_r8, & + 6.2343919117771095e-06_r8, 7.9988751890953372e-06_r8, & + 9.0901737211138807e-06_r8, 1.0476746478499158e-05_r8, & + 1.1972787580816771e-05_r8, 1.3786180077743492e-05_r8, & + 1.8822156308040625e-05_r8, 2.5459302807361432e-05_r8, & + 3.656315932484294e-05_r8, 5.0108269162905962e-05_r8, & + 8.8723795926826872e-05_r8, 0.00015456648801292664_r8, & + 0.00023897818375292961_r8, 0.00032156498194339003_r8, & + 0.00038233498169415984_r8, 0.00043051973699564981_r8, & + 0.00046192874910576522_r8, 0.00048861761698034084_r8, & + 0.0005082984646116647_r8, 0.00052503736535871269_r8, & + 0.00053744302571035786_r8, 0.00055783024311333561_r8, & + 0.00056394459795952991_r8, 0.00056190687163432693_r8, & + 0.00055813709365370859_r8, 0.0005559957666947462_r8, & + 0.0005537200866877368_r8, 0.00055105218365787418_r8, & + 0.0005474600464661399_r8, 0.00054375109777109133_r8, & + 0.00053897607281343739_r8, 0.00053424550915365438_r8, & + 0.00052891069100865053_r8, 0.0005240384361872661_r8, & + 0.00051796129047947798_r8, 0.00051084587040168628_r8, & + 0.00050363020125705543_r8, 0.00050208855312347674_r8, & + 0.00050377835066051286_r8 & + / +data saar_ref(:,30,38) / & + 5.3000101922390291e-06_r8, 5.7190175722459492e-06_r8, & + 5.9348254800311594e-06_r8, 6.7905469230339073e-06_r8, & + 7.0341531589583026e-06_r8, 7.1839840684778845e-06_r8, & + 7.0448601251203653e-06_r8, 8.4664489641953191e-06_r8, & + 9.3503558278109809e-06_r8, 1.0654454829110952e-05_r8, & + 1.2178986995365233e-05_r8, 1.4375657736729448e-05_r8, & + 2.012765583177843e-05_r8, 2.6333977861270815e-05_r8, & + 3.600763318263242e-05_r8, 4.8278406941895086e-05_r8, & + 8.3976984573136965e-05_r8, 0.0001414591101877205_r8, & + 0.0002162395053640388_r8, 0.00030287764215034305_r8, & + 0.00037283908494984314_r8, 0.00042889837071893188_r8, & + 0.00046968914126831602_r8, 0.00050110437383654575_r8, & + 0.00052417189607813187_r8, 0.00054504233912514748_r8, & + 0.00056257499137180858_r8, 0.00059060885205179864_r8, & + 0.00060169945364943673_r8, 0.00059868620284950376_r8, & + 0.00059163295103050503_r8, 0.0005849034735103594_r8, & + 0.00058020003471123704_r8, 0.00057574542357133492_r8, & + 0.00057102755980332337_r8, 0.00056671439182542753_r8, & + 0.00056266017272226009_r8, 0.0005592474872033519_r8, & + 0.00055400761855926622_r8, 0.00054864786998587477_r8, & + 0.00054243492720668996_r8, 0.00053582685933658723_r8, & + 0.00053180894144630182_r8, 0.00052753684075705696_r8, & + 0.00052582979889009168_r8 & + / +data saar_ref(:,31,38) / & + 1.0535677021806389e-05_r8, 9.9481915691695719e-06_r8, & + 8.9503340132502611e-06_r8, 9.3979080217038645e-06_r8, & + 9.8255819043877378e-06_r8, 1.0875268494142164e-05_r8, & + 1.4172416443330282e-05_r8, 1.8356672278940296e-05_r8, & + 2.2101013298156925e-05_r8, 2.6077788264851583e-05_r8, & + 3.0251115136596186e-05_r8, 3.570947473839884e-05_r8, & + 4.7161348227331713e-05_r8, 5.9834864494232686e-05_r8, & + 7.5689827741407941e-05_r8, 9.5907032210820289e-05_r8, & + 0.0001480462700246_r8, 0.00021227065963456675_r8, & + 0.00028437959093591839_r8, 0.00035886649284376407_r8, & + 0.00041781540135835582_r8, 0.00046372048331241243_r8, & + 0.00050064619953038147_r8, 0.00052870822578801407_r8, & + 0.00054842906260001308_r8, 0.00056847678816247728_r8, & + 0.00058697884180126524_r8, 0.00061590096745123225_r8, & + 0.00062911255345199813_r8, 0.00062788220739617593_r8, & + 0.00062174350123556999_r8, 0.00061301054886378503_r8, & + 0.00060522604869274086_r8, 0.00059998337495926861_r8, & + 0.00059528788580852994_r8, 0.00058920822760208586_r8, & + 0.00058483365159411275_r8, 0.00058085773085270957_r8, & + 0.0005748486845772125_r8, 0.00057082391890770658_r8, & + 0.00056429230991066493_r8, 0.00055980423772178606_r8, & + 0.00055706589342035986_r8, 0.00055538178000565661_r8, & + 0.00055338070909949062_r8 & + / +data saar_ref(:,32,38) / & + 1.8554703012474165e-05_r8, 1.7871266629182968e-05_r8, & + 1.9799757772120221e-05_r8, 2.7490835967125621e-05_r8, & + 3.3692597686029401e-05_r8, 4.0506777027153254e-05_r8, & + 5.4779968270794e-05_r8, 6.6505620450127054e-05_r8, & + 7.4989358200108975e-05_r8, 8.2837289574239851e-05_r8, & + 9.3116581916443276e-05_r8, 0.00011112401232767915_r8, & + 0.00014049457960315059_r8, 0.00017407625946245974_r8, & + 0.00021179944477371391_r8, 0.00025436280355437875_r8, & + 0.00033257573571390581_r8, 0.00039301477557620749_r8, & + 0.00044891556310207385_r8, 0.00049209767624153991_r8, & + 0.00052537724487968667_r8, 0.00055222566910552787_r8, & + 0.00057497566837076024_r8, 0.00059441889627600652_r8, & + 0.00060932839361135284_r8, 0.00062258349046663704_r8, & + 0.00063302096274047196_r8, 0.00064813292010673239_r8, & + 0.00065409774565750273_r8, 0.0006506292148871697_r8, & + 0.00064278116765324636_r8, 0.00063443569075338475_r8, & + 0.0006247320143806022_r8, 0.0006211939603470956_r8, & + 0.00061580495438628047_r8, 0.00060927985166585753_r8, & + 0.00060299435996229926_r8, 0.00059868707202092013_r8, & + 0.00059642560837470872_r8, 0.00059532703277701156_r8, & + 0.00059054264903740715_r8, 0.00058393016477955347_r8, & + 0.000578932915830454_r8, 0.00057844326299701012_r8, & + 0.00057439718664150741_r8 & + / +data saar_ref(:,33,38) / & + 2.631471404931566e-05_r8, 3.3812440938900017e-05_r8, & + 4.7172900430721055e-05_r8, 6.9034035532903283e-05_r8, & + 8.4380227223326853e-05_r8, 0.000103335511548976_r8, & + 0.00012689737000070594_r8, 0.00014989947503333943_r8, & + 0.00016007989455061391_r8, 0.00017592111965333116_r8, & + 0.00019590518013378925_r8, 0.00021779093997368373_r8, & + 0.00025238723007724412_r8, 0.00029355665159236122_r8, & + 0.00033444884864039265_r8, 0.00037472322850988829_r8, & + 0.00043931547679265399_r8, 0.00048813468868167341_r8, & + 0.0005251072016481021_r8, 0.00055450974224271012_r8, & + 0.00058200532142508622_r8, 0.00060467636696689747_r8, & + 0.00062158326829086358_r8, 0.00063640547014570323_r8, & + 0.00064792730141977181_r8, 0.00065683252742848553_r8, & + 0.0006635345670725608_r8, 0.00067268521943862007_r8, & + 0.0006749574734501903_r8, 0.00067100828647392646_r8, & + 0.00066424425355967914_r8, 0.00065583539986174182_r8, & + 0.00064715146360319413_r8, 0.00064030636238987906_r8, & + 0.00063287609128626088_r8, 0.00062576263861936689_r8, & + 0.00061993519948666173_r8, 0.00061686096228891511_r8, & + 0.0006147268893928904_r8, 0.00061315545258750219_r8, & + 0.00061003755359348075_r8, 0.00060708322799923572_r8, & + 0.00060177866281515516_r8, 0.00059507505139227404_r8, & + 0.00059199253061372793_r8 & + / +data saar_ref(:,34,38) / & + 3.2304773666124466e-05_r8, 4.5552523166515413e-05_r8, & + 7.0471780177017482e-05_r8, 6.8309218529134132e-05_r8, & + 7.7329951640126081e-05_r8, 0.00010247496631505836_r8, & + 0.00016566820863072394_r8, 0.00017887890195433372_r8, & + 0.00017987796585665491_r8, 0.00018974232566674155_r8, & + 0.00020184310277915094_r8, 0.00020767948050305317_r8, & + 0.00022398327104505557_r8, 0.00024719519461800457_r8, & + 0.00026769004635210543_r8, 0.00029018712482416258_r8, & + 0.00039499395580823199_r8, 0.00046100437047279328_r8, & + 0.00052566920796502561_r8, 0.000561249016090935_r8, & + 0.00059855426458332904_r8, 0.00057895515952235141_r8, & + 0.00064971686601050316_r8, 0.00066033988730295693_r8, & + 0.00067141471191600451_r8, 0.00067873908841275133_r8, & + 0.00068584318469011487_r8, 0.00069386814206142994_r8, & + 0.00069606689025771581_r8, 0.00069399537769701113_r8, & + 0.00068918379202347502_r8, 0.00067807897442195722_r8, & + 0.00066661942190759623_r8, 0.00065944658138685115_r8, & + 0.00065238131592829888_r8, 0.00064360906899104731_r8, & + 0.00063794965691569064_r8, 0.00063550985697989864_r8, & + 0.00063310057184180052_r8, 0.00063277549532142366_r8, & + 0.00063096255221458211_r8, 0.00063016718393321008_r8, & + 0.00061785146047660703_r8, 0.00061045257566749863_r8, & + 0.00060728668565009287_r8 & + / +data saar_ref(:,35,38) / & + 2.4391541915205117e-05_r8, 3.0998041323769043e-05_r8, & + 4.5670423925054242e-05_r8, 4.2105835561232452e-05_r8, & + 4.6943184838477207e-05_r8, 6.5343068812211925e-05_r8, & + 0.00014849510288751739_r8, 0.00014315250484872997_r8, & + 0.00014591773562061414_r8, 0.00015166405653271024_r8, & + 0.00015111637026084374_r8, 0.00017396360075160294_r8, & + 0.00020838513365395602_r8, 0.00022157532433908961_r8, & + 0.00024021231617610899_r8, 0.00027345450613735199_r8, & + 0.00038425016145280213_r8, 0.00037808949588328779_r8, & + 0.00042188723189834864_r8, 0.00047368854314829343_r8, & + 0.00053421028629332577_r8, 0.00045795369129553301_r8, & + 0.00067333695317539242_r8, 0.0006866731477410857_r8, & + 0.00069738491276764879_r8, 0.00070252290165237756_r8, & + 0.00070873716157457607_r8, 0.00071281738710891342_r8, & + 0.00071561639809542552_r8, 0.00071490363413208898_r8, & + 0.00070985243146037922_r8, 0.00069758346842466905_r8, & + 0.00068457587934598837_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,38) / & + 1.9417548216632792e-05_r8, 2.2334597301499036e-05_r8, & + 2.62591933162357e-05_r8, 2.9178024627789385e-05_r8, & + 3.8021043245265862e-05_r8, 5.4744293186621678e-05_r8, & + 0.00011224000161778576_r8, 0.00011870659291765508_r8, & + 0.00011446821180355582_r8, 0.00011833529857130503_r8, & + 0.00011571966874066206_r8, 0.00013898246041879351_r8, & + 0.00017434266898345508_r8, 0.0001837833439387325_r8, & + 0.00022434871887760108_r8, 0.00028564996219417277_r8, & + 0.00038563001864693066_r8, 0.00026009569394738665_r8, & + 0.00030447914255597681_r8, 0.00040152249103476642_r8, & + 0.00050980612929485121_r8, 0.00044535007796046307_r8, & + 0.00068436139115691109_r8, 0.00071001043016353973_r8, & + 0.00072702667044582199_r8, 0.00074091882367122576_r8, & + 0.00075472902846977991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,38) / & + 2.836204104346232e-05_r8, 3.4102181852960004e-05_r8, & + 4.0262667542669018e-05_r8, 3.9544197127385493e-05_r8, & + 5.6910721797019163e-05_r8, 8.8419659316522583e-05_r8, & + 0.00012452203784274208_r8, 0.00013377290771493728_r8, & + 0.00012677850854829321_r8, 0.00013109457171972408_r8, & + 0.00013002593752832925_r8, 0.00013281022384599745_r8, & + 0.00015389486291195832_r8, 0.00015512926888699177_r8, & + 0.00019942828569792322_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,38) / & + 0.0002422162451773255_r8, 0.00020266328691035497_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,38) / & + 0.00020279646632975998_r8, 0.00017742944562060294_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,38) / & + 0.00012292396361916237_r8, 0.00011831964965005424_r8, & + 8.4615642369359706e-05_r8, 9.3781705512702799e-05_r8, & + 0.00013395082302364704_r8, 0.00020628185747629781_r8, & + 0.00015392990354378181_r8, 0.00016004065731218159_r8, & + 7.1872014651718456e-05_r8, 6.3107959812007817e-05_r8, & + 5.9393937502301815e-05_r8, 5.9989906850985036e-05_r8, & + 5.64292258818962e-05_r8, 5.9893575115905932e-05_r8, & + 6.0868792666025592e-05_r8, 6.2309887592087085e-05_r8, & + 6.4501714418074163e-05_r8, 6.5498658299564561e-05_r8, & + 6.7150785922735277e-05_r8, 7.0410812814263959e-05_r8, & + 7.3352925573494406e-05_r8, 7.6768652744450933e-05_r8, & + 7.8721434468311202e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,38) / & + 7.8837284328817683e-05_r8, 8.7192134442272163e-05_r8, & + 7.0935100588648194e-05_r8, 0.00010425282400653562_r8, & + 9.7409503882645219e-05_r8, 0.00012693428774161964_r8, & + 0.00014255945241372533_r8, 0.00014097924072743466_r8, & + 6.4113991327970112e-05_r8, 6.1352066685126271e-05_r8, & + 6.0786829192079681e-05_r8, 6.3085652199684419e-05_r8, & + 6.0402527615453879e-05_r8, 6.2790933855245575e-05_r8, & + 6.3529692429962185e-05_r8, 6.5251212641220362e-05_r8, & + 6.7106482200982869e-05_r8, 6.796699256799117e-05_r8, & + 6.9805784990969145e-05_r8, 7.3307766630143734e-05_r8, & + 7.6442817847045564e-05_r8, 7.9973893785610249e-05_r8, & + 8.2643572912313363e-05_r8, 8.9419134532657792e-05_r8, & + 9.4463945512690285e-05_r8, 0.00010040190491631357_r8, & + 0.0001053870801998543_r8, 0.00011428657787209816_r8, & + 0.00011155316044268718_r8, 0.0001108553639814219_r8, & + 0.00011092725917094433_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,44,38) / & + 7.3899114614595855e-05_r8, 8.8579326788434929e-05_r8, & + 7.020592311440101e-05_r8, 0.00010916428376935732_r8, & + 9.8802709525670592e-05_r8, 0.00011224331060424158_r8, & + 9.6939212524820077e-05_r8, 7.5419663457531891e-05_r8, & + 6.0157008095919877e-05_r8, 6.128889131169707e-05_r8, & + 6.3970855380826214e-05_r8, 6.6113154543935397e-05_r8, & + 6.5838086972555624e-05_r8, 6.6564632780499462e-05_r8, & + 6.8154500310798594e-05_r8, 7.0168557271460893e-05_r8, & + 7.0941470945829708e-05_r8, 7.1381812980211308e-05_r8, & + 7.3581140009311584e-05_r8, 7.7637741033362631e-05_r8, & + 8.0719642388949906e-05_r8, 8.4186418806323832e-05_r8, & + 8.7040467539700023e-05_r8, 9.3386677111043927e-05_r8, & + 9.8938646685803601e-05_r8, 0.00010505223411037812_r8, & + 0.00011055391331332786_r8, 0.00012101700933847766_r8, & + 0.00012351588016830609_r8, 0.00011918940287468363_r8, & + 0.00011748681794589353_r8, 0.00011461624338636627_r8, & + 0.00011366028069065921_r8, 0.00011428456194257988_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,38) / & + 7.7707901944626523e-05_r8, 0.00010402324732243937_r8, & + 8.8321836236501699e-05_r8, 0.00012411863376775767_r8, & + 0.00011618205647670377_r8, 0.00012963486302303783_r8, & + 9.5466565683109632e-05_r8, 6.9162660546515773e-05_r8, & + 6.1379833052102814e-05_r8, 6.4979075719534906e-05_r8, & + 6.6039861916462284e-05_r8, 6.6749932459526701e-05_r8, & + 6.7426780420869978e-05_r8, 6.8727356794644469e-05_r8, & + 7.0418438583829508e-05_r8, 7.2051084971568564e-05_r8, & + 7.2568280525825226e-05_r8, 7.3092632770179107e-05_r8, & + 7.5405566438088289e-05_r8, 7.9063684551798139e-05_r8, & + 8.1953556974106789e-05_r8, 8.5614202343950566e-05_r8, & + 8.9318837633669241e-05_r8, 9.4303227522247551e-05_r8, & + 9.9993410515030189e-05_r8, 0.00010497559009923771_r8, & + 0.00011137377684082872_r8, 0.00012133180089217771_r8, & + 0.00012280627300397716_r8, 0.00011956301902927084_r8, & + 0.00011912322281918407_r8, 0.00011952253471197383_r8, & + 0.000120284274053894_r8, 0.00012013813666706385_r8, & + 0.00012069359166384764_r8, 0.00012122113090143703_r8, & + 0.00012431439340956831_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,39) / & + 0.00013032625807510241_r8, 0.00013224348632506471_r8, & + 0.00013996734756647106_r8, 0.00015422598450008898_r8, & + 0.00016379457121530296_r8, 0.00016702549128590847_r8, & + 0.00017544537083419751_r8, 0.00017662550886183293_r8, & + 0.00017945467216659049_r8, 0.00018377350270506321_r8, & + 0.00018721231936465611_r8, 0.00019042246200335475_r8, & + 0.00019367107844051962_r8, 0.00019883119973988629_r8, & + 0.00020606171984913704_r8, 0.00021305194509055119_r8, & + 0.0002247280761633557_r8, 0.00022112502491299985_r8, & + 0.00022122487746590921_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,39) / & + 0.00012062160792708035_r8, 0.00012211119252584813_r8, & + 0.00012750205703735893_r8, 0.00013540028800552656_r8, & + 0.00014460909152921953_r8, 0.00014923556773040851_r8, & + 0.00016135828117549129_r8, 0.00016967280495288942_r8, & + 0.0001756380571855746_r8, 0.00018104678350600446_r8, & + 0.00018479646618822925_r8, 0.00018825660688511579_r8, & + 0.00019148122606738686_r8, 0.00019568367926734909_r8, & + 0.00020100888618159438_r8, 0.00020506229639665046_r8, & + 0.00021157438665237317_r8, 0.00021328572109099205_r8, & + 0.00021561276787831761_r8, 0.00021989917454741441_r8, & + 0.0002233422264712506_r8, 0.00023064547091260047_r8, & + 0.00023214561310722008_r8, 0.00023498132867360468_r8, & + 0.0002380666821725192_r8, 0.00024132638957617366_r8, & + 0.0002461222567558466_r8, 0.00025517810007519282_r8, & + 0.00026206453540751086_r8, 0.00026661324992659951_r8, & + 0.00026820327836851607_r8, 0.00026620788807815601_r8, & + 0.0002643533372445733_r8, 0.00026604560686513439_r8, & + 0.00026266265016158287_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,39) / & + 7.8143336441278876e-05_r8, 7.7839078080356401e-05_r8, & + 7.7931738878919837e-05_r8, 8.3561087555140189e-05_r8, & + 8.5647660566688048e-05_r8, 8.4811535532061173e-05_r8, & + 0.00010011360326743832_r8, 0.0001282570060966489_r8, & + 0.00014476985228075188_r8, 0.00015599338892101963_r8, & + 0.00016512940212249784_r8, 0.00017575269366584467_r8, & + 0.00018383446120785022_r8, 0.00018690500236507411_r8, & + 0.00018917415608820458_r8, 0.00019136401439096758_r8, & + 0.00019473832160855824_r8, 0.00019965853756940123_r8, & + 0.00020433680068823336_r8, 0.00021017377056329142_r8, & + 0.00021516023015026757_r8, 0.00021968339702378343_r8, & + 0.00022361768006290642_r8, 0.00022693964540654955_r8, & + 0.00022988602279763078_r8, 0.00023297939509707725_r8, & + 0.0002371081647547108_r8, 0.00024729367040434298_r8, & + 0.00025633157056004316_r8, 0.00026376671169231876_r8, & + 0.00026853278138506124_r8, 0.0002699393339245593_r8, & + 0.00027073821103566276_r8, 0.00026953696337096841_r8, & + 0.00026452896146741413_r8, 0.00026439095570224454_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,39) / & + 2.9492745325092569e-05_r8, 2.8564631479714591e-05_r8, & + 3.1638720087588879e-05_r8, 3.2088801284386324e-05_r8, & + 3.1871857415034555e-05_r8, 3.0219821654060704e-05_r8, & + 3.8797036691684963e-05_r8, 5.997501056193944e-05_r8, & + 7.5528930463440968e-05_r8, 8.883850121436292e-05_r8, & + 0.00010141080637977932_r8, 0.00011937129949615234_r8, & + 0.00013715755789239699_r8, 0.00014648131285542045_r8, & + 0.00015287311288120079_r8, 0.00015894414047356068_r8, & + 0.00016859361876782_r8, 0.00017565733541458284_r8, & + 0.00018161963377901969_r8, 0.00018607371722296619_r8, & + 0.00019094063598017058_r8, 0.0001951640219567918_r8, & + 0.00020007353066557197_r8, 0.00020462269640250877_r8, & + 0.00020880927763572511_r8, 0.00021285560462436644_r8, & + 0.00021716465610111931_r8, 0.00022750849667062235_r8, & + 0.00024004336789678409_r8, 0.00025120426340320272_r8, & + 0.00025912655810952017_r8, 0.00026328890260516555_r8, & + 0.00026761667994919442_r8, 0.00027070223857382806_r8, & + 0.00027308760238923049_r8, 0.00026890009135090105_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,39) / & + 8.88008194780075e-06_r8, 8.2499335414896274e-06_r8, & + 1.1291357157204245e-05_r8, 1.0994964391557082e-05_r8, & + 1.1200727299569493e-05_r8, 1.1384419565999073e-05_r8, & + 1.4752711334335707e-05_r8, 2.0019842897476344e-05_r8, & + 2.5251078671902512e-05_r8, 3.070238380359316e-05_r8, & + 3.6526701205850372e-05_r8, 4.1606832869162175e-05_r8, & + 4.8692715579130138e-05_r8, 5.7422185343506649e-05_r8, & + 6.4831917389276053e-05_r8, 7.357132724878603e-05_r8, & + 9.0007503863266384e-05_r8, 0.00010401797517115599_r8, & + 0.00011887937189395438_r8, 0.00012695206173258435_r8, & + 0.00013772817348710749_r8, 0.00014676582481491129_r8, & + 0.00015547785148982719_r8, 0.00016379539828778453_r8, & + 0.00017026562536030107_r8, 0.00017611988534575388_r8, & + 0.0001820209415229389_r8, 0.00019302756259610671_r8, & + 0.00020460230533919055_r8, 0.00021724081322672787_r8, & + 0.00022868171971534396_r8, 0.0002380095271535758_r8, & + 0.00024776168688679157_r8, 0.00025601927704622918_r8, & + 0.00026219627208676427_r8, 0.00026223819721264425_r8, & + 0.00026329394300512782_r8, 0.00026307327180489181_r8, & + 0.00026408768552189617_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,39) / & + 6.531787930439987e-06_r8, 5.9230841339198261e-06_r8, & + 6.2400717400465201e-06_r8, 6.2721220296823916e-06_r8, & + 6.3539496058350895e-06_r8, 6.588873648679776e-06_r8, & + 7.8225531299422301e-06_r8, 9.6885341470670358e-06_r8, & + 1.0684399082952972e-05_r8, 1.1470078815110797e-05_r8, & + 1.2264033217667022e-05_r8, 1.2482141167117726e-05_r8, & + 1.3486924202222249e-05_r8, 1.5244981215095278e-05_r8, & + 1.7622475753083669e-05_r8, 2.1456032983584782e-05_r8, & + 2.8232504810030508e-05_r8, 3.808963465767685e-05_r8, & + 4.9336650556184481e-05_r8, 6.1188459311421482e-05_r8, & + 7.5505609494867692e-05_r8, 8.9328250365298611e-05_r8, & + 0.00010422166064869979_r8, 0.00012023183271062054_r8, & + 0.00013462904541891647_r8, 0.00014754167457590515_r8, & + 0.00015736610887467903_r8, 0.00017298767038655309_r8, & + 0.00018464669347809427_r8, 0.00019699002570389189_r8, & + 0.0002106611983118632_r8, 0.00022166403084529778_r8, & + 0.00023114071211637139_r8, 0.00024078925949433237_r8, & + 0.00024949806792714385_r8, 0.00025644987378559847_r8, & + 0.00026143152663741137_r8, 0.00026323894425103858_r8, & + 0.00026345747677121862_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,39) / & + 7.3081647438435757e-06_r8, 6.7648315336939266e-06_r8, & + 6.4475715335983541e-06_r8, 6.4436945499299671e-06_r8, & + 6.3005192978124631e-06_r8, 6.1655168511143943e-06_r8, & + 6.5710764457399049e-06_r8, 7.6578147994114164e-06_r8, & + 7.9577078708898005e-06_r8, 8.246874743295995e-06_r8, & + 8.500164462425349e-06_r8, 8.7404392327336358e-06_r8, & + 9.514687937042158e-06_r8, 9.8032917938233711e-06_r8, & + 1.0291524233593593e-05_r8, 1.1110034015229358e-05_r8, & + 1.3487043752323897e-05_r8, 2.0037560822120709e-05_r8, & + 2.9608706391214438e-05_r8, 4.1275821275253269e-05_r8, & + 5.5818837398357951e-05_r8, 7.1205915726500386e-05_r8, & + 8.8917413824219184e-05_r8, 0.00010773283598164271_r8, & + 0.00012594112414085701_r8, 0.0001420718160157401_r8, & + 0.00015454014316100155_r8, 0.00017373330629018668_r8, & + 0.00018401438802322925_r8, 0.00019419609321605989_r8, & + 0.00020773288697988716_r8, 0.000221554341101389_r8, & + 0.0002286915320032739_r8, 0.00023662186610020329_r8, & + 0.00024558668077669782_r8, 0.00025284081281849686_r8, & + 0.00025871699141497023_r8, 0.00026376311150936492_r8, & + 0.00026414677697355135_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,39) / & + 6.1879993726102217e-06_r8, 6.0689770074607088e-06_r8, & + 6.0134150216625196e-06_r8, 6.4651010782933682e-06_r8, & + 6.4983593498272134e-06_r8, 6.4651449194158374e-06_r8, & + 6.0918471311079465e-06_r8, 6.7688728289421054e-06_r8, & + 7.0428236796980235e-06_r8, 7.2330515745334073e-06_r8, & + 7.4421410391123409e-06_r8, 7.471273164194547e-06_r8, & + 8.6144937818743528e-06_r8, 9.6084922599863982e-06_r8, & + 1.0521140568760482e-05_r8, 1.1672216857609811e-05_r8, & + 1.4766471441734389e-05_r8, 2.2071825077632246e-05_r8, & + 3.3828788311971292e-05_r8, 4.664398508351125e-05_r8, & + 6.1388448830682746e-05_r8, 7.8039800119523333e-05_r8, & + 9.6228769711771521e-05_r8, 0.00011621443036661551_r8, & + 0.00013703818923342694_r8, 0.00015376294539069162_r8, & + 0.00016728567050705858_r8, 0.00018304142740127575_r8, & + 0.00018863088822001426_r8, 0.00019927016542247168_r8, & + 0.00021040113649225227_r8, 0.00022187189310734535_r8, & + 0.00023169576292186283_r8, 0.00023649305333857425_r8, & + 0.00024562980605609804_r8, 0.00025281289880584186_r8, & + 0.00025790628214347077_r8, 0.00025925413214951051_r8, & + 0.00026279700753255357_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,39) / & + 4.390833556127551e-06_r8, 4.5241347598826837e-06_r8, & + 4.4994002652863751e-06_r8, 4.5053029907144417e-06_r8, & + 4.7537947467263921e-06_r8, 4.943519243048788e-06_r8, & + 5.2312462472046573e-06_r8, 5.7356420540716523e-06_r8, & + 6.1020083673673071e-06_r8, 6.3949931968202744e-06_r8, & + 6.6997175979369004e-06_r8, 6.434266582527381e-06_r8, & + 6.4970518486205946e-06_r8, 7.7573177853223171e-06_r8, & + 8.9869717251173517e-06_r8, 1.0975643108769105e-05_r8, & + 1.6346862295727215e-05_r8, 2.5457054884742625e-05_r8, & + 3.7234440231332402e-05_r8, 5.0765373070911646e-05_r8, & + 6.5256367300692208e-05_r8, 8.0821036188695274e-05_r8, & + 9.9034950239209436e-05_r8, 0.00011897167812040928_r8, & + 0.00014113498266851655_r8, 0.00015851538773891031_r8, & + 0.0001737752477066962_r8, 0.0001884152962698415_r8, & + 0.0001923163093909323_r8, 0.00020317889288599123_r8, & + 0.00021269506524514536_r8, 0.00022244678975569135_r8, & + 0.00023249268941757497_r8, 0.00023604923166559177_r8, & + 0.00024507295228395155_r8, 0.00025087647594754177_r8, & + 0.00025583012834928386_r8, 0.00025739804617128597_r8, & + 0.00025985057562757675_r8, 0.00026067208252101204_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,39) / & + 3.8143293339432394e-06_r8, 3.919977690695253e-06_r8, & + 3.9657181037677618e-06_r8, 3.3033092373825808e-06_r8, & + 3.4361171540329311e-06_r8, 3.6800818242646655e-06_r8, & + 4.2124644120780117e-06_r8, 4.7053822518636517e-06_r8, & + 5.1531466575515912e-06_r8, 5.5529772372508238e-06_r8, & + 5.9845489719122671e-06_r8, 6.2404958751179766e-06_r8, & + 6.4685554729028927e-06_r8, 7.5619797597315482e-06_r8, & + 8.7357129515249945e-06_r8, 1.067300139967838e-05_r8, & + 1.7424522717517075e-05_r8, 2.8691227013702348e-05_r8, & + 3.9500158935828526e-05_r8, 5.4110572041966186e-05_r8, & + 6.8945595407162374e-05_r8, 8.3544984638867333e-05_r8, & + 0.00010227852377826185_r8, 0.00012175062937872761_r8, & + 0.00014359201407949661_r8, 0.00016206333581241972_r8, & + 0.00017867342944312815_r8, 0.00019416164814661858_r8, & + 0.00019693028369687304_r8, 0.00020131272855155821_r8, & + 0.00020875688103576116_r8, 0.00021864782176729951_r8, & + 0.0002285433660796968_r8, 0.00023623520658786875_r8, & + 0.00024469539896935654_r8, 0.00024971419883110956_r8, & + 0.00025461707376143376_r8, 0.00025550164468500746_r8, & + 0.00025775590492643243_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,39) / & + 4.3562909633609991e-06_r8, 4.2257319426239017e-06_r8, & + 4.3064801077006709e-06_r8, 3.2577706320824669e-06_r8, & + 3.282146906619212e-06_r8, 3.1847902649246328e-06_r8, & + 3.0870327855317987e-06_r8, 3.2741904887348495e-06_r8, & + 3.58544166791496e-06_r8, 3.6243266155036736e-06_r8, & + 3.9067324394757384e-06_r8, 4.3060055430069747e-06_r8, & + 5.2797498839059613e-06_r8, 7.1936577425005207e-06_r8, & + 8.4647844414698623e-06_r8, 1.0357975650941227e-05_r8, & + 1.6554007869859567e-05_r8, 2.6862701215225247e-05_r8, & + 3.8801826124624652e-05_r8, 5.2313249623372122e-05_r8, & + 6.6316664524908347e-05_r8, 8.1165616265659217e-05_r8, & + 0.00010179677509400871_r8, 0.00012266454129965614_r8, & + 0.00014479633970578519_r8, 0.00016570140513645095_r8, & + 0.00018343933147310125_r8, 0.00020445312105143095_r8, & + 0.00020689634037387612_r8, 0.00020566313007365839_r8, & + 0.00021128820119155114_r8, 0.00022136200800608114_r8, & + 0.00023022481563605578_r8, 0.00024016984347338002_r8, & + 0.00024890053225431059_r8, 0.00025497878475799052_r8, & + 0.00025855622858006092_r8, 0.00025988859057229387_r8, & + 0.00026048683961150796_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,39) / & + 8.4245602537527729e-06_r8, 6.0070944188858155e-06_r8, & + 6.477064836490267e-06_r8, 3.4978894317816389e-06_r8, & + 2.9047787786603274e-06_r8, 2.9248568156528662e-06_r8, & + 2.9458159047140051e-06_r8, 3.416105395575641e-06_r8, & + 3.6263966600900975e-06_r8, 3.589109070371574e-06_r8, & + 3.8087008971147423e-06_r8, 4.1707298864762196e-06_r8, & + 5.228510556357291e-06_r8, 6.7674913377979129e-06_r8, & + 8.7297263048657076e-06_r8, 1.111970157210576e-05_r8, & + 1.7216982348130469e-05_r8, 2.5848041222876333e-05_r8, & + 3.8230986710718094e-05_r8, 5.6142673830395038e-05_r8, & + 7.6677224544941612e-05_r8, 0.00010136022427319425_r8, & + 0.00012553041135124381_r8, 0.0001469593409853187_r8, & + 0.00017083608760285938_r8, 0.00019041557179196286_r8, & + 0.00020550176526674003_r8, 0.00022325230840636011_r8, & + 0.00022182693868097499_r8, 0.00021987163654095811_r8, & + 0.00022548391209117614_r8, 0.00023685153565492105_r8, & + 0.00024757372433806382_r8, 0.00025849677473358239_r8, & + 0.00026480062795650091_r8, 0.00026840700735106097_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,39) / & + 1.0919014774576511e-05_r8, 9.438027431445958e-06_r8, & + 1.1708713739525453e-05_r8, 3.9641273595862295e-06_r8, & + 2.9188739138522818e-06_r8, 2.9897022810719521e-06_r8, & + 2.9363809525822063e-06_r8, 3.1767391536571591e-06_r8, & + 3.669094326811766e-06_r8, 4.1273913077455376e-06_r8, & + 4.0161820452106535e-06_r8, 4.1943227766894775e-06_r8, & + 4.651691922742997e-06_r8, 6.0150184657896147e-06_r8, & + 8.2242630517395547e-06_r8, 1.1070040407689805e-05_r8, & + 1.8692408156369173e-05_r8, 2.928397141136703e-05_r8, & + 4.5557223607457343e-05_r8, 6.9695023357824588e-05_r8, & + 9.5603004802773345e-05_r8, 0.00012300759107625523_r8, & + 0.00014443320102809133_r8, 0.00016660910390235343_r8, & + 0.00018738828678626005_r8, 0.00020396443114880465_r8, & + 0.00021702100190284623_r8, 0.00023618986804354629_r8, & + 0.00023940470972725058_r8, 0.000236201222987319_r8, & + 0.00023690765229257931_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,39) / & + 5.4152854972831579e-06_r8, 4.9832472630240913e-06_r8, & + 4.313829544723376e-06_r8, 3.2798303317712988e-06_r8, & + 3.2812199694890276e-06_r8, 3.30159178217959e-06_r8, & + 3.4754141905546611e-06_r8, 3.1907143553018824e-06_r8, & + 3.4118465846962807e-06_r8, 3.9348241395173605e-06_r8, & + 4.2711289102980249e-06_r8, 4.629917995674088e-06_r8, & + 5.3221939367766018e-06_r8, 7.4723083520374831e-06_r8, & + 1.0791455343699744e-05_r8, 1.4771372368406231e-05_r8, & + 2.4382932334226825e-05_r8, 4.017171924159203e-05_r8, & + 6.2704572935476583e-05_r8, 9.0786237526719018e-05_r8, & + 0.00011882346245212518_r8, 0.00014502116946577348_r8, & + 0.00016726587742992062_r8, 0.00018620782476362559_r8, & + 0.00020434530570046704_r8, 0.00022059673299308955_r8, & + 0.00023396479031297321_r8, 0.00025162128661836218_r8, & + 0.00025413249151572402_r8, 0.00025468677583769417_r8, & + 0.00025600206140547729_r8, 0.00025890001631722172_r8, & + 0.00025462341180705698_r8, 0.00024901008034406504_r8, & + 0.00025093639663771323_r8, 0.0002513178297437161_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,39) / & + 2.4634456549658338e-06_r8, 2.4061455483277935e-06_r8, & + 2.49005319149817e-06_r8, 3.726873377452278e-06_r8, & + 3.7568923405990091e-06_r8, 3.7865075116863596e-06_r8, & + 4.1374901200502709e-06_r8, 3.6654485240650571e-06_r8, & + 4.0111496759775424e-06_r8, 4.4560531673283968e-06_r8, & + 5.1157661343884878e-06_r8, 6.8285255042130611e-06_r8, & + 1.029508404468634e-05_r8, 1.4778356842119736e-05_r8, & + 2.0581750758363085e-05_r8, 2.6968634144665798e-05_r8, & + 4.052264478282246e-05_r8, 6.0999535008565672e-05_r8, & + 8.6486010740395401e-05_r8, 0.00011697343173619879_r8, & + 0.00014818044366183498_r8, 0.00017973999258048885_r8, & + 0.00020682727338257274_r8, 0.00022782679497511995_r8, & + 0.00024743928275296504_r8, 0.00026253723833578267_r8, & + 0.00027839722131252267_r8, 0.00030155583622993811_r8, & + 0.00031291044522824339_r8, 0.00031768729061360418_r8, & + 0.00031869643303551748_r8, 0.00029816142386377418_r8, & + 0.00028254036222754133_r8, 0.00028302356285561664_r8, & + 0.00027402680633631892_r8, 0.00026105283713071144_r8, & + 0.00026155024916175317_r8, 0.00026155273267537617_r8, & + 0.00026155452349563952_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,39) / & + 2.2679745394827548e-06_r8, 2.3254168161311319e-06_r8, & + 2.7150740992473038e-06_r8, 3.2634114783916459e-06_r8, & + 3.3210813034212658e-06_r8, 3.4684606319854237e-06_r8, & + 4.0059830807052522e-06_r8, 3.8191256941788008e-06_r8, & + 4.1235669012599577e-06_r8, 4.8154962652759635e-06_r8, & + 6.3740618822201169e-06_r8, 9.5686088211410512e-06_r8, & + 1.6254103655490848e-05_r8, 2.3250007411720932e-05_r8, & + 3.0346944832360845e-05_r8, 3.7812363629775626e-05_r8, & + 5.3505958659655603e-05_r8, 7.297133704792931e-05_r8, & + 9.6502611379502355e-05_r8, 0.00012691809339443878_r8, & + 0.00016265556590733488_r8, 0.00019921664763588033_r8, & + 0.00022713629700795855_r8, 0.0002510052173456205_r8, & + 0.00027294033748127047_r8, 0.00029046707076776706_r8, & + 0.00030476828113293954_r8, 0.00033555490925517019_r8, & + 0.00036208547495418194_r8, 0.00037418889040502159_r8, & + 0.00037992132851843232_r8, 0.00035222926053153674_r8, & + 0.0003544836944246069_r8, 0.00035640771114847631_r8, & + 0.00034574251914798026_r8, 0.0003288435924806669_r8, & + 0.00033156601739811207_r8, 0.00037401085290600502_r8, & + 0.00039126131052844156_r8, 0.00039143447650441131_r8, & + 0.00039131696006827657_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,39) / & + 2.9950414699486634e-06_r8, 3.055553474189901e-06_r8, & + 3.6040410758558198e-06_r8, 3.259174463750801e-06_r8, & + 2.7917602399471738e-06_r8, 3.2356936424932754e-06_r8, & + 4.0510572562564655e-06_r8, 4.318029421904731e-06_r8, & + 4.4134063910220118e-06_r8, 5.0904748168827887e-06_r8, & + 6.9183253341549589e-06_r8, 1.0829092512431815e-05_r8, & + 2.0642711843549885e-05_r8, 3.0186672113539617e-05_r8, & + 3.9220157536217131e-05_r8, 4.7935741617594823e-05_r8, & + 6.5679954879267446e-05_r8, 8.9418261816369627e-05_r8, & + 0.00011440944839320222_r8, 0.00014551226638388225_r8, & + 0.00018213579616448841_r8, 0.00021490521221213156_r8, & + 0.00024141028914664636_r8, 0.00026463282595439195_r8, & + 0.00028824282692431914_r8, 0.00030573720928001334_r8, & + 0.00031911387092175512_r8, 0.00034925859385375433_r8, & + 0.00037831653092546241_r8, 0.00039243686662598877_r8, & + 0.00040225293178100909_r8, 0.00038601092762633246_r8, & + 0.00040574264475734919_r8, 0.00040608197664517573_r8, & + 0.00040660362299467821_r8, 0.00040654588557901579_r8, & + 0.00040650695847349046_r8, 0.00040642950649351058_r8, & + 0.00040674186875170362_r8, 0.0004066128728832958_r8, & + 0.00040662128290574773_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,39) / & + 3.4318142637325362e-06_r8, 3.5346269747461736e-06_r8, & + 4.3422256152283524e-06_r8, 4.0556188243416688e-06_r8, & + 3.3160815175239836e-06_r8, 3.8720739901587294e-06_r8, & + 4.7999247129325793e-06_r8, 6.6032407709500584e-06_r8, & + 8.2586896812118255e-06_r8, 1.0256228581282498e-05_r8, & + 1.3445133066897832e-05_r8, 1.79919290712497e-05_r8, & + 3.321465279408685e-05_r8, 4.8323557820702455e-05_r8, & + 5.9496227960869075e-05_r8, 7.0061447639808852e-05_r8, & + 8.8717462300694536e-05_r8, 0.00011709782730411478_r8, & + 0.00014513216606185661_r8, 0.00017602336207230075_r8, & + 0.00021002151525255285_r8, 0.0002396025412965035_r8, & + 0.000265833140666387_r8, 0.00029087224513206598_r8, & + 0.00031285113978609156_r8, 0.00033224014306089048_r8, & + 0.00034783946549466854_r8, 0.00037672067394835089_r8, & + 0.00039921955719332162_r8, 0.0004149525562250871_r8, & + 0.00042138548521438997_r8, 0.00042333124098214753_r8, & + 0.00042382929799028785_r8, 0.00042287090161873052_r8, & + 0.00042210348053324981_r8, 0.00042047736445320442_r8, & + 0.00041879881483089916_r8, 0.00041718472411713298_r8, & + 0.00041633127071088723_r8, 0.00041565888156888539_r8, & + 0.00040856460048013218_r8, 0.00040809490544021473_r8, & + 0.00040833704712220641_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,39) / & + 3.1730738552742857e-06_r8, 3.3155121347151127e-06_r8, & + 4.1702473473220506e-06_r8, 4.4581370121469023e-06_r8, & + 4.3501578599321081e-06_r8, 4.537238894060242e-06_r8, & + 5.3961450184088589e-06_r8, 8.7796833318888609e-06_r8, & + 1.3209698908098589e-05_r8, 1.8074336275618242e-05_r8, & + 2.5984956518551479e-05_r8, 3.8583641012608397e-05_r8, & + 6.8652024564873742e-05_r8, 8.4067903910241585e-05_r8, & + 9.3498770494316276e-05_r8, 0.00010201867620691889_r8, & + 0.0001178782503212575_r8, 0.00014257040329494606_r8, & + 0.00017249368045068036_r8, 0.00020244524424085957_r8, & + 0.00023340164897712773_r8, 0.00026305885454327223_r8, & + 0.00029101355632876074_r8, 0.00031342052573979454_r8, & + 0.00033317070744079229_r8, 0.00035142174415833877_r8, & + 0.00036723304181366902_r8, 0.0003961838929203203_r8, & + 0.00041771079812781721_r8, 0.00043045079276533355_r8, & + 0.00043651646186552344_r8, 0.00043826213420275066_r8, & + 0.00043887687279006628_r8, 0.00043760125393686017_r8, & + 0.00043713389483990972_r8, 0.00043544640494118657_r8, & + 0.00043374334507533517_r8, 0.00043094243353144633_r8, & + 0.00042728342374416599_r8, 0.00042574616875187821_r8, & + 0.00042013729936911273_r8, 0.00041964029796604744_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,39) / & + 3.3678852032278474e-06_r8, 3.4830423692760978e-06_r8, & + 3.7883385557486221e-06_r8, 4.5378309147141268e-06_r8, & + 4.6395675952658022e-06_r8, 4.7022466063694041e-06_r8, & + 5.6123591130939513e-06_r8, 9.3051607082741452e-06_r8, & + 1.623863138661662e-05_r8, 2.7098857661356466e-05_r8, & + 4.1717204212210978e-05_r8, 6.4129491201901428e-05_r8, & + 9.9571082246082787e-05_r8, 0.00011307705610996024_r8, & + 0.00012019078525139757_r8, 0.0001267272545220882_r8, & + 0.0001434267984929864_r8, 0.00016776955047747893_r8, & + 0.00019700777514945479_r8, 0.00022547085572476201_r8, & + 0.00025333962161996443_r8, 0.00028234027497107543_r8, & + 0.00031154698130288016_r8, 0.00033397161431455768_r8, & + 0.00035400218159781167_r8, 0.00037169439726757674_r8, & + 0.00038702924515781207_r8, 0.00041662550172396218_r8, & + 0.000439284001792376_r8, 0.00045070539422730052_r8, & + 0.00045643424264103858_r8, 0.00045718553571920064_r8, & + 0.0004564690264782993_r8, 0.00045457522483633415_r8, & + 0.00045315725612198846_r8, 0.00045029925314694355_r8, & + 0.00044690034526148322_r8, 0.00044135562650258315_r8, & + 0.00043546979963254341_r8, 0.00043494741298228312_r8, & + 0.00042809393958699756_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,39) / & + 4.1630909619045318e-06_r8, 4.2622262882037276e-06_r8, & + 4.1242920218780227e-06_r8, 4.6186468816312168e-06_r8, & + 4.734723708500775e-06_r8, 4.8044617022304096e-06_r8, & + 5.7742758818380934e-06_r8, 7.9243462544722623e-06_r8, & + 1.2919542546586643e-05_r8, 2.1911273604681653e-05_r8, & + 3.3529683865524055e-05_r8, 5.226968700074834e-05_r8, & + 8.8047541385578965e-05_r8, 0.00011257082877593631_r8, & + 0.00012657445824441562_r8, 0.00013926819090075002_r8, & + 0.00016588738456049855_r8, 0.00019402267497209202_r8, & + 0.00022162231363397549_r8, 0.00024968986653948062_r8, & + 0.00027589900615068648_r8, 0.00030395954576965372_r8, & + 0.00033168958381746781_r8, 0.00035546790492195116_r8, & + 0.00037635161725964452_r8, 0.00039508637550761296_r8, & + 0.00041104961008442626_r8, 0.00044053667859047949_r8, & + 0.00045994834150459463_r8, 0.00047201001468463299_r8, & + 0.00047938281812348545_r8, 0.00048204107927937988_r8, & + 0.00048171957571757038_r8, 0.00047855785895975088_r8, & + 0.00047339681699445967_r8, 0.000466466311446639_r8, & + 0.00045857168193791668_r8, 0.00045094214107783834_r8, & + 0.00044529528180340495_r8, 0.00044023603122479938_r8, & + 0.00043529986636748214_r8, 0.00043347718634277713_r8, & + 0.00043269244294927398_r8, 0.00043211590986974471_r8, & + 0.00043122504510573298_r8 & + / +data saar_ref(:,26,39) / & + 4.5541769550105006e-06_r8, 4.6175017404098828e-06_r8, & + 4.3594547756588166e-06_r8, 4.7422426251570611e-06_r8, & + 4.8647439764196968e-06_r8, 4.926611555394991e-06_r8, & + 5.2516855402427305e-06_r8, 5.8497770348034893e-06_r8, & + 7.0854696314326439e-06_r8, 9.2296945008025814e-06_r8, & + 1.2379482389327972e-05_r8, 1.8587272912374418e-05_r8, & + 3.8302930949337808e-05_r8, 6.6446105127475973e-05_r8, & + 9.587378901464932e-05_r8, 0.00012543802852796963_r8, & + 0.00017442295852437438_r8, 0.00021760061169522852_r8, & + 0.0002511664618837437_r8, 0.00028299980703970447_r8, & + 0.00031084787386530499_r8, 0.00033664022597124842_r8, & + 0.00036444050179052878_r8, 0.00038593912878554957_r8, & + 0.00040547457432125691_r8, 0.00042279024291726956_r8, & + 0.00043762683920164317_r8, 0.00046438250659701358_r8, & + 0.00048231658541789254_r8, 0.00049265448475761765_r8, & + 0.00049911333559017374_r8, 0.00050188457661723494_r8, & + 0.00050217040868804198_r8, 0.00049946454850802126_r8, & + 0.00049401962875548534_r8, 0.00048669466225964353_r8, & + 0.00047815839377137923_r8, 0.00046968973303216689_r8, & + 0.00046256043061704125_r8, 0.00045705820735396737_r8, & + 0.00045119304978042042_r8, 0.00044842145759769607_r8, & + 0.00044741829867856522_r8, 0.00044655930948424879_r8, & + 0.00044612110967789964_r8 & + / +data saar_ref(:,27,39) / & + 4.5240040688105844e-06_r8, 4.5790672638608034e-06_r8, & + 4.3933775645761074e-06_r8, 4.5859897529066013e-06_r8, & + 4.7223383376240127e-06_r8, 4.6780920256362e-06_r8, & + 4.6963364572096922e-06_r8, 5.3220830869860608e-06_r8, & + 5.8294372154056784e-06_r8, 6.398553486574684e-06_r8, & + 7.086044908382893e-06_r8, 9.704361856271947e-06_r8, & + 1.6254875883783804e-05_r8, 2.8486741433378565e-05_r8, & + 4.786670606552551e-05_r8, 7.3715705068815975e-05_r8, & + 0.00013943367774153629_r8, 0.00021386434401949467_r8, & + 0.00027009941256691909_r8, 0.00031637068004967131_r8, & + 0.00034962041437527815_r8, 0.00038013850195723747_r8, & + 0.00040404596724258806_r8, 0.00042490847045846851_r8, & + 0.00044289086497463834_r8, 0.00045808572871497264_r8, & + 0.00047011941121079633_r8, 0.00049264589481196866_r8, & + 0.00050796689215929901_r8, 0.00051530918902724181_r8, & + 0.0005192822326813665_r8, 0.00052073985801753136_r8, & + 0.00052008464103454226_r8, 0.00051749914055410626_r8, & + 0.00051215650134436483_r8, 0.00050568870418676404_r8, & + 0.00049831280758164576_r8, 0.00048990318038787952_r8, & + 0.00048201894639874265_r8, 0.00047534101614280308_r8, & + 0.00046951266800164754_r8, 0.00046513494909631594_r8, & + 0.00046322914733527794_r8, 0.00046101891161936983_r8, & + 0.00046229090020761588_r8 & + / +data saar_ref(:,28,39) / & + 5.0613928722697782e-06_r8, 5.5544651453226679e-06_r8, & + 5.5872513072464404e-06_r8, 5.1940785986276874e-06_r8, & + 5.4802721419543278e-06_r8, 5.4930292902648493e-06_r8, & + 5.9691100858822824e-06_r8, 6.470465305646414e-06_r8, & + 6.8003340339168692e-06_r8, 7.406285256132645e-06_r8, & + 8.5132103979854309e-06_r8, 1.0246793931890401e-05_r8, & + 1.5278202755429347e-05_r8, 2.3256071586744842e-05_r8, & + 3.5863104307253927e-05_r8, 5.2957208898902911e-05_r8, & + 0.00010545710276560222_r8, 0.00018788657147545052_r8, & + 0.00026895766449739727_r8, 0.00033982200237811142_r8, & + 0.00038527567552868656_r8, 0.00041833591858161701_r8, & + 0.00044380727991791459_r8, 0.00046556660850561411_r8, & + 0.00048284566858188146_r8, 0.00049762743609001571_r8, & + 0.00050655998153153179_r8, 0.00052676104644499265_r8, & + 0.0005360097259683829_r8, 0.00053804926590581416_r8, & + 0.00053840383898592708_r8, 0.00053768699732824636_r8, & + 0.00053569057714656027_r8, 0.00053223602131084551_r8, & + 0.00052692805287418481_r8, 0.00052158247164949814_r8, & + 0.000515733317334846_r8, 0.00050851972716718793_r8, & + 0.0005012603703666602_r8, 0.00049426642051105787_r8, & + 0.00048841391939146014_r8, 0.00048222076674403285_r8, & + 0.00047852266566781297_r8, 0.0004782875219850558_r8, 9e90_r8 & + / +data saar_ref(:,29,39) / & + 5.465235803354757e-06_r8, 7.0590806499628159e-06_r8, & + 7.8221216382514688e-06_r8, 6.2776064191001612e-06_r8, & + 6.6038680744405999e-06_r8, 6.9168880690336726e-06_r8, & + 6.7144787904962675e-06_r8, 8.3164727429133848e-06_r8, & + 9.9073787016167475e-06_r8, 1.1763641754870898e-05_r8, & + 1.2956129724909819e-05_r8, 1.3805219746506581e-05_r8, & + 1.8138357118708332e-05_r8, 2.501541535838159e-05_r8, & + 3.5510844672716188e-05_r8, 4.9115466399336889e-05_r8, & + 8.8203973752986443e-05_r8, 0.00015559905407861542_r8, & + 0.00024257326461202955_r8, 0.00032652872932939264_r8, & + 0.00038809450423017011_r8, 0.00043456628248571646_r8, & + 0.00046551084288429196_r8, 0.00049040503987364471_r8, & + 0.00050912557562270372_r8, 0.00052530441756755788_r8, & + 0.00053677349012854641_r8, 0.00056110410472000121_r8, & + 0.00056786792667805233_r8, 0.00056488954471665802_r8, & + 0.00056147279701111534_r8, 0.00055840396768514877_r8, & + 0.00055559019249185949_r8, 0.00055215288718822629_r8, & + 0.00054802714405324956_r8, 0.0005434967543216998_r8, & + 0.0005387699279818509_r8, 0.00053369444710356091_r8, & + 0.0005276224416103099_r8, 0.00052066816739571497_r8, & + 0.00051410490522322888_r8, 0.00050794392911981566_r8, & + 0.00050268145692268582_r8, 0.00050217099617904922_r8, & + 0.00050150876678650312_r8 & + / +data saar_ref(:,30,39) / & + 5.7952282060467834e-06_r8, 7.1325793666572773e-06_r8, & + 7.5675707319313466e-06_r8, 6.9958238143998413e-06_r8, & + 7.3250665287988936e-06_r8, 8.1685685574161204e-06_r8, & + 7.893208009019418e-06_r8, 9.899441958687842e-06_r8, & + 1.1704018331099669e-05_r8, 1.3694559117985947e-05_r8, & + 1.4801805952431313e-05_r8, 1.6731118393956503e-05_r8, & + 2.0479593521407343e-05_r8, 2.6530904904830127e-05_r8, & + 3.5685762785967414e-05_r8, 4.7932766487437066e-05_r8, & + 8.4828632069096967e-05_r8, 0.00014343582002305561_r8, & + 0.00022200060513025789_r8, 0.00031102919266463142_r8, & + 0.00037993063399894438_r8, 0.00043652331528307484_r8, & + 0.00047680233900964492_r8, 0.00050675695568609702_r8, & + 0.00052858210076550715_r8, 0.00054744071761725008_r8, & + 0.00056422710297572803_r8, 0.000596893685350362_r8, & + 0.0006066636321025087_r8, 0.00060362163678944077_r8, & + 0.00059701154534316531_r8, 0.00058941377828124013_r8, & + 0.00058404541770362836_r8, 0.0005789709030915378_r8, & + 0.00057384672615115335_r8, 0.00056900100103013287_r8, & + 0.00056415017234026773_r8, 0.00056060662241547913_r8, & + 0.00055218842468813905_r8, 0.00054412172665520948_r8, & + 0.00053677554431513308_r8, 0.00053220617693481242_r8, & + 0.00052828534324508565_r8, 0.00052456917705974275_r8, & + 0.00052354366819707982_r8 & + / +data saar_ref(:,31,39) / & + 1.1770811588907117e-05_r8, 1.0972359147193726e-05_r8, & + 9.6660382987694601e-06_r8, 9.158569276001909e-06_r8, & + 9.1479333462990371e-06_r8, 9.8759690777065453e-06_r8, & + 1.2621150701491732e-05_r8, 1.6863418110925732e-05_r8, & + 2.1925609208236366e-05_r8, 2.7429463027402316e-05_r8, & + 3.2744944444638554e-05_r8, 3.7233764521650903e-05_r8, & + 4.6878853387590588e-05_r8, 5.9047090463359093e-05_r8, & + 7.4856571675339177e-05_r8, 9.4551177960894092e-05_r8, & + 0.00014960199411700385_r8, 0.00021996211053580331_r8, & + 0.00029955518574617654_r8, 0.00037185125894736916_r8, & + 0.00042810047832798844_r8, 0.00047348020112335134_r8, & + 0.00050786348020669732_r8, 0.00053449812054720742_r8, & + 0.00055428791001486727_r8, 0.00057293970243967648_r8, & + 0.00059099124832279486_r8, 0.00062245865648423969_r8, & + 0.0006342197394417395_r8, 0.00063145043788629068_r8, & + 0.00062539622399147409_r8, 0.00061639083787323496_r8, & + 0.00060983154397930997_r8, 0.00060353983063781151_r8, & + 0.00059857026691888498_r8, 0.00059101332222116863_r8, & + 0.00058605407342445155_r8, 0.00058268088714494239_r8, & + 0.00057806891693321192_r8, 0.00057218177765583735_r8, & + 0.00056487838792994847_r8, 0.00056087479869944149_r8, & + 0.00055979877674698099_r8, 0.00055828102579831074_r8, & + 0.0005558349976777237_r8 & + / +data saar_ref(:,32,39) / & + 1.9733589213603925e-05_r8, 1.913041197337591e-05_r8, & + 2.0428499009097164e-05_r8, 2.6772246017876143e-05_r8, & + 3.2354990354311893e-05_r8, 3.9122517629960937e-05_r8, & + 5.1527636249936251e-05_r8, 6.4463069884930033e-05_r8, & + 7.4591088436598056e-05_r8, 8.465025854414536e-05_r8, & + 9.6661291368370649e-05_r8, 0.00010973519225312724_r8, & + 0.00013456413114914126_r8, 0.00016539681431353398_r8, & + 0.0002014804769917304_r8, 0.00024069250208431581_r8, & + 0.00031766568834827808_r8, 0.00038228193057605534_r8, & + 0.00044104259034037028_r8, 0.00048916424713284646_r8, & + 0.00052388011970506433_r8, 0.00055103907573233221_r8, & + 0.00057337297533813258_r8, 0.0005919934647590538_r8, & + 0.00060762290236596466_r8, 0.00062189740198118819_r8, & + 0.00063317864533493369_r8, 0.00064851297428373199_r8, & + 0.00065655744734886942_r8, 0.00065389619016506073_r8, & + 0.00064710815274067164_r8, 0.00063775917634996773_r8, & + 0.00063022705029795723_r8, 0.00062550479054420641_r8, & + 0.00062019443168587055_r8, 0.00061123166769693361_r8, & + 0.00060528527642980505_r8, 0.00060170071092570344_r8, & + 0.00060342631773073095_r8, 0.00060107397815836196_r8, & + 0.0005971804920186604_r8, 0.00059040474208400633_r8, & + 0.00058550911397721396_r8, 0.00058044768457797438_r8, 9e90_r8 & + / +data saar_ref(:,33,39) / & + 2.9858741318332086e-05_r8, 3.8232245458287724e-05_r8, & + 5.2356960642558764e-05_r8, 7.3165554802590786e-05_r8, & + 9.2232498728798311e-05_r8, 0.00011724687439282397_r8, & + 0.00013054640352591851_r8, 0.00015964963600253136_r8, & + 0.00017992347395736499_r8, 0.00020179174314464445_r8, & + 0.00022501041879483794_r8, 0.00024899280945768552_r8, & + 0.00027549961402128647_r8, 0.00031463770985414648_r8, & + 0.00035471862896051541_r8, 0.00038957925658168947_r8, & + 0.00044897409304301924_r8, 0.00049778193992532939_r8, & + 0.00053538737912793685_r8, 0.0005660170023899212_r8, & + 0.00059114420642873092_r8, 0.00061079256929164212_r8, & + 0.00062711534464735669_r8, 0.00064094046500134786_r8, & + 0.000652676357939662_r8, 0.00066101109914954576_r8, & + 0.00066658303821906691_r8, 0.00067554589430542458_r8, & + 0.00068025157278585346_r8, 0.00067826121538626133_r8, & + 0.0006713211750791066_r8, 0.00066145033108267501_r8, & + 0.00065131597583404223_r8, 0.0006445937934647279_r8, & + 0.00063757175351204548_r8, 0.00062924638807291947_r8, & + 0.00062385441882218805_r8, 0.00062152483665449832_r8, & + 0.00062072703288149793_r8, 0.000620679524610221_r8, & + 0.00061823073885029832_r8, 0.00061103237695378314_r8, & + 0.00060418649558143585_r8, 0.00059701223250723618_r8, & + 0.00059202636662006205_r8 & + / +data saar_ref(:,34,39) / & + 3.7158222172216136e-05_r8, 4.9480730001669852e-05_r8, & + 7.2616722984206707e-05_r8, 9.2409554529746045e-05_r8, & + 0.00010713884349758583_r8, 0.0001302192634508423_r8, & + 0.0001814255382429123_r8, 0.00019397080411932323_r8, & + 0.00020695750892732825_r8, 0.00022487023570106051_r8, & + 0.00024292299019896478_r8, 0.00028230090166097324_r8, & + 0.00031538413983539011_r8, 0.00034483038923264158_r8, & + 0.00037498755390713085_r8, 0.00040527132815733249_r8, & + 0.00047442473671824835_r8, 0.00051022176355929342_r8, & + 0.00055654384618731721_r8, 0.00059001667051685727_r8, & + 0.00061996225221123014_r8, 0.00061329941072993843_r8, & + 0.00066165024370164584_r8, 0.00067316909250974243_r8, & + 0.00068312834939709434_r8, 0.00068915716073053015_r8, & + 0.00069394743689590377_r8, 0.00070121629097959031_r8, & + 0.00070400683505468856_r8, 0.00070021444801559023_r8, & + 0.00069208459506805531_r8, 0.00067995657612969235_r8, & + 0.00066771403226675266_r8, 0.00065996723212122536_r8, & + 0.00065265316912428717_r8, 0.00064486120914602032_r8, & + 0.00064054909442042083_r8, 0.00063822065725396197_r8, & + 0.00063684790673385408_r8, 0.00063761694255078626_r8, & + 0.00063527061885579491_r8, 0.00063055146841737826_r8, & + 0.0006190780257831431_r8, 0.00061050904158547418_r8, & + 0.00060733251784783854_r8 & + / +data saar_ref(:,35,39) / & + 2.696008279706187e-05_r8, 3.2256244592974046e-05_r8, & + 4.5375198372157566e-05_r8, 5.5256896097825866e-05_r8, & + 6.1707370540136372e-05_r8, 7.9818648890897842e-05_r8, & + 0.00015978106017388024_r8, 0.00015264595546754251_r8, & + 0.00015457305632678614_r8, 0.00015753317507461714_r8, & + 0.00015968858176242508_r8, 0.00020363926829834093_r8, & + 0.00026336535256390412_r8, 0.00028041937894773903_r8, & + 0.00030129949856232537_r8, 0.00033292969739271355_r8, & + 0.0004314961470028151_r8, 0.00040502234431902018_r8, & + 0.00048335737505013295_r8, 0.00056371360698920648_r8, & + 0.00061118030776697056_r8, 0.00053980753035322_r8, & + 0.00067823421403996761_r8, 0.00069120588466303854_r8, & + 0.00070361910214872638_r8, 0.00071109288038627785_r8, & + 0.00071664141065603778_r8, 0.00072431109199172473_r8, & + 0.00072665920138127239_r8, 0.00072176919704750487_r8, & + 0.00071260112308799931_r8, 0.00069856695570060011_r8, & + 0.00068508286562314201_r8, 0.00067695630265874956_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,36,39) / & + 2.0822309200881389e-05_r8, 2.3515619937419309e-05_r8, & + 2.8354383372848888e-05_r8, 3.7121479555849918e-05_r8, & + 4.6230081832540869e-05_r8, 6.8057378332475133e-05_r8, & + 0.00013072736698837743_r8, 0.00013474212865492323_r8, & + 0.00012788873357152668_r8, 0.00012200090665688612_r8, & + 0.00012247812005041568_r8, 0.00014528916302773852_r8, & + 0.00020288449064619437_r8, 0.0002055910272985155_r8, & + 0.00025694132341988425_r8, 0.00029758220160371128_r8, & + 0.00036585491291536785_r8, 0.00026990970291516307_r8, & + 0.00034912786979479502_r8, 0.00052067261478128102_r8, & + 0.00056827136348477783_r8, 0.00046508564373088669_r8, & + 0.00068976977215461283_r8, 0.00070952913233141132_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,39) / & + 3.0535930846851332e-05_r8, 3.7305908270776253e-05_r8, & + 4.7532126560069375e-05_r8, 5.1069726179775656e-05_r8, & + 6.6908576515939823e-05_r8, 9.9351774727469478e-05_r8, & + 0.00014250830052838726_r8, 0.00015473379168650853_r8, & + 0.00014481128889747238_r8, 0.00013495417043509099_r8, & + 0.00013596332383761071_r8, 0.00013674034943950725_r8, & + 0.00014868265259241362_r8, 0.00014114726073797141_r8, & + 0.00021842442678546677_r8, 0.000251183001950642_r8, & + 0.00022396364762284073_r8, 0.00020190482720960622_r8, & + 0.00010904852029139991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,39) / & + 0.00023636294201532791_r8, 0.00018934012950366235_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,39) / & + 0.00019151972491299825_r8, 0.00017778949797473811_r8, & + 0.00013795517877810925_r8, 0.0001122239505930253_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,39) / & + 0.00012888661625748619_r8, 0.00012400282664578425_r8, & + 9.5986663150175288e-05_r8, 9.8703692935116317e-05_r8, & + 0.00015400366480517494_r8, 0.00022378973526669601_r8, & + 0.00019312303381587744_r8, 0.00022441793001606538_r8, & + 8.2796009322316951e-05_r8, 6.3966664291744852e-05_r8, & + 5.9665018442386506e-05_r8, 6.0078645809256986e-05_r8, & + 5.7062780251891251e-05_r8, 6.0815737641715524e-05_r8, & + 6.1605310214139834e-05_r8, 6.3050616775940909e-05_r8, & + 6.5006096240752395e-05_r8, 6.5779968755184899e-05_r8, & + 6.7070300016695765e-05_r8, 7.0213719075252223e-05_r8, & + 7.2974728916507214e-05_r8, 7.6082856051381265e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,39) / & + 8.5101813359861624e-05_r8, 9.3297887621347582e-05_r8, & + 7.6843123788454174e-05_r8, 0.00011646384285237913_r8, & + 0.00010865397672098525_r8, 0.00013736400234156816_r8, & + 0.00017663541547217236_r8, 0.00018103568232004751_r8, & + 7.0369847005315295e-05_r8, 6.1017319963615352e-05_r8, & + 6.0549570468639672e-05_r8, 6.3258580496578035e-05_r8, & + 6.1005097219539862e-05_r8, 6.378384632165697e-05_r8, & + 6.4402529033128473e-05_r8, 6.6130181271079234e-05_r8, & + 6.7687446685806566e-05_r8, 6.8412189065427534e-05_r8, & + 6.9932366356399909e-05_r8, 7.3302565178396702e-05_r8, & + 7.6310107172655088e-05_r8, 7.9610850059719818e-05_r8, & + 8.3123622612060036e-05_r8, 8.912013388155588e-05_r8, & + 9.349149763545566e-05_r8, 9.9343857257500325e-05_r8, & + 0.00010441011366248246_r8, 0.00011473673142565777_r8, & + 0.0001121415886234984_r8, 0.00011077285946644642_r8, & + 0.00011068117202861431_r8, 0.00011126144329725726_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,39) / & + 7.6696338474229343e-05_r8, 9.1400105742778451e-05_r8, & + 7.2344590521185198e-05_r8, 0.00011318940470892171_r8, & + 0.00010111280997281099_r8, 0.00011351544563658474_r8, & + 0.00010870899598432506_r8, 8.308401447597392e-05_r8, & + 6.0409343564063995e-05_r8, 6.1505210541320206e-05_r8, & + 6.4346578443129926e-05_r8, 6.6700681819146086e-05_r8, & + 6.6280991113453239e-05_r8, 6.7124997360101221e-05_r8, & + 6.8794409820612551e-05_r8, 7.070884394277893e-05_r8, & + 7.1304001576497607e-05_r8, 7.171910342898003e-05_r8, & + 7.3789929152124714e-05_r8, 7.7811818862304194e-05_r8, & + 8.0808595084687801e-05_r8, 8.4233785433427612e-05_r8, & + 8.7320744778118407e-05_r8, 9.3650878545954654e-05_r8, & + 9.8651566132913201e-05_r8, 0.00010476920350264972_r8, & + 0.00011025326841151612_r8, 0.00012083289749489833_r8, & + 0.00012368038492955864_r8, 0.00011954928748600007_r8, & + 0.00011864938330093514_r8, 0.00011682079808256725_r8, & + 0.00011341813973915336_r8, 0.00011408037059770504_r8, & + 0.00011675439569300168_r8, 0.00011855237796068564_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,39) / & + 7.8598189502408525e-05_r8, 0.00010471903809047484_r8, & + 8.8575411366941811e-05_r8, 0.00012440161962723616_r8, & + 0.00011766574640131523_r8, 0.00012894535629679902_r8, & + 9.7113294128044474e-05_r8, 6.9739663477985528e-05_r8, & + 6.1719620016565822e-05_r8, 6.5278928885533305e-05_r8, & + 6.6451165483758347e-05_r8, 6.7082815160397115e-05_r8, & + 6.7566339772503423e-05_r8, 6.8839028572539418e-05_r8, & + 7.053568369539556e-05_r8, 7.2145734334575604e-05_r8, & + 7.2630728259948956e-05_r8, 7.3132243104801132e-05_r8, & + 7.5433141998341194e-05_r8, 7.9085820780306913e-05_r8, & + 8.1986176503816267e-05_r8, 8.5646737978758519e-05_r8, & + 8.9335775194881943e-05_r8, 9.4345007680046437e-05_r8, & + 0.00010001944387695309_r8, 0.00010492404765558805_r8, & + 0.00011136150849738806_r8, 0.00012129111520274242_r8, & + 0.0001231145738224047_r8, 0.00012008059711729973_r8, & + 0.00011945074346415372_r8, 0.00011953506526235871_r8, & + 0.00011993121848119799_r8, 0.00012011078326835046_r8, & + 0.00012069366461402938_r8, 0.00012120626126302974_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,40) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,40) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,40) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,40) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,40) / & + 0.00013520758917781559_r8, 0.00013763491971558017_r8, & + 0.00014154487935051798_r8, 0.00015907072120464533_r8, & + 0.00016683340033386487_r8, 0.0001696831995249238_r8, & + 0.00017760827540872255_r8, 0.00017995070550333868_r8, & + 0.00018240499899381052_r8, 0.00018582627859107408_r8, & + 0.00018855314811728642_r8, 0.00018989586184992228_r8, & + 0.00019402588593870156_r8, 0.0002003249551286163_r8, & + 0.0002065220947841216_r8, 0.00021570851544856911_r8, & + 0.00022570803141239049_r8, 0.00022441902253084544_r8, & + 0.00022863613181360026_r8, 0.0002329445157990394_r8, & + 0.00023558717040581033_r8, 0.00024843465444912403_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,40) / & + 0.00012499949304367044_r8, 0.00012647702132573559_r8, & + 0.00012934708559262083_r8, 0.00014130978330950379_r8, & + 0.00015085315418117475_r8, 0.00015538949079573348_r8, & + 0.0001676516823884423_r8, 0.00017525667148906215_r8, & + 0.00018021196776917009_r8, 0.00018450711608963323_r8, & + 0.00018725558766203256_r8, 0.00018921589787963805_r8, & + 0.00019276540009837028_r8, 0.00019778592055048452_r8, & + 0.00020260539238403343_r8, 0.0002070800930935926_r8, & + 0.0002137521570469189_r8, 0.00021552704467940649_r8, & + 0.00022025650044452076_r8, 0.00022495634563854264_r8, & + 0.00022837571402903935_r8, 0.00023589687522486178_r8, & + 0.00023816434648237523_r8, 0.00024195306555524672_r8, & + 0.00024550657225777599_r8, 0.00024971396541574955_r8, & + 0.00025380215318262513_r8, 0.00026101910572549154_r8, & + 0.00026572092807581861_r8, 0.00026625400710176839_r8, & + 0.0002624651466156598_r8, 0.00025603195515264869_r8, & + 0.00026025241900658034_r8, 0.00026688455179871572_r8, & + 0.00026353667487319246_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,40) / & + 8.0509045829345389e-05_r8, 8.035365914116104e-05_r8, & + 8.2268194191569704e-05_r8, 8.7047755984647206e-05_r8, & + 9.3856167530116587e-05_r8, 9.3362871682706273e-05_r8, & + 0.00011152473092933954_r8, 0.00013657995763612698_r8, & + 0.00015183615852812601_r8, 0.00016036929652490724_r8, & + 0.00016644172804636042_r8, 0.00017587134553992238_r8, & + 0.00018470353714077249_r8, 0.00018814148397545407_r8, & + 0.00019070580419226505_r8, 0.00019315900799907995_r8, & + 0.00019708192677342736_r8, 0.00020224779954241396_r8, & + 0.0002073732584308436_r8, 0.00021275148415040272_r8, & + 0.00021738277434783763_r8, 0.00022209869166659721_r8, & + 0.00022598306835377234_r8, 0.0002297319591581756_r8, & + 0.00023402264685435542_r8, 0.00023796962496238424_r8, & + 0.00024227434369829954_r8, 0.00025213052441915636_r8, & + 0.00026038216484709239_r8, 0.00026525712523654653_r8, & + 0.00026790351018161158_r8, 0.00026694361467781197_r8, & + 0.00026791531387162799_r8, 0.00026760304619513273_r8, & + 0.0002642580092077567_r8, 0.00026558359469365137_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,40) / & + 2.8614999348383672e-05_r8, 2.7875442061035282e-05_r8, & + 3.0783592405739372e-05_r8, 3.1892772940766769e-05_r8, & + 3.2709759776680828e-05_r8, 3.004632338604932e-05_r8, & + 4.0577500850139623e-05_r8, 5.6844949379141911e-05_r8, & + 7.0867843750709055e-05_r8, 8.2677038456582707e-05_r8, & + 9.2565276592540123e-05_r8, 0.00010894824257848464_r8, & + 0.00012838764064637234_r8, 0.00013890316572142577_r8, & + 0.00014675950781142856_r8, 0.00015235561035091089_r8, & + 0.00016512718863853377_r8, 0.00017344228809519085_r8, & + 0.00018061094638867903_r8, 0.00018555057276171318_r8, & + 0.00019025333231904108_r8, 0.00019460493983713709_r8, & + 0.00019928405117787562_r8, 0.00020376478523069215_r8, & + 0.00020806631791683156_r8, 0.00021286172069072252_r8, & + 0.00021758700518100237_r8, 0.00022828797529673864_r8, & + 0.00023895888759200578_r8, 0.00024961910238450118_r8, & + 0.00025682387860832205_r8, 0.00026232423379837642_r8, & + 0.00026612108369710396_r8, 0.00026810426869975539_r8, & + 0.00027117056734398705_r8, 0.00026928205542670861_r8, & + 0.00027284863419820688_r8, 0.0002740390543051524_r8, & + 0.00027583026368096283_r8, 0.00027949203556616248_r8, & + 0.00027967120181358841_r8, 0.00027956523498492438_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,40) / & + 6.8998098531646849e-06_r8, 6.3290191330269879e-06_r8, & + 8.1107136628512121e-06_r8, 1.0727602019310604e-05_r8, & + 1.0810431552408592e-05_r8, 1.0963311152267917e-05_r8, & + 1.317468549314502e-05_r8, 1.5957903207449197e-05_r8, & + 2.0834832736042087e-05_r8, 2.6828141950672684e-05_r8, & + 3.2085151354569667e-05_r8, 3.7266781661315873e-05_r8, & + 4.4831347297907431e-05_r8, 5.34095816374369e-05_r8, & + 6.0406118559407819e-05_r8, 6.6528787886821673e-05_r8, & + 8.3587252331851754e-05_r8, 9.7345675943750622e-05_r8, & + 0.00011326583985935618_r8, 0.00012423888437893465_r8, & + 0.00013577705749636063_r8, 0.00014542717807598769_r8, & + 0.00015500938158074501_r8, 0.00016399521965328816_r8, & + 0.00017086721676406151_r8, 0.00017734571761089042_r8, & + 0.00018392305877423053_r8, 0.00019497677181068453_r8, & + 0.00020577523734995542_r8, 0.00021761852480085118_r8, & + 0.00022810363017142113_r8, 0.0002377748028489168_r8, & + 0.00024566974968974654_r8, 0.00025339517400196091_r8, & + 0.0002596894350980134_r8, 0.00026243112709796749_r8, & + 0.00026430640452802529_r8, 0.0002633885269082323_r8, & + 0.00026544225351806441_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,40) / & + 5.2280928994569579e-06_r8, 4.7321243036261968e-06_r8, & + 5.1699149484962324e-06_r8, 6.0095429352742847e-06_r8, & + 6.1111740297667331e-06_r8, 6.3341714240731844e-06_r8, & + 7.1808065371479938e-06_r8, 8.4111378911196004e-06_r8, & + 9.4749514137298575e-06_r8, 1.1021521158849117e-05_r8, & + 1.2224653454480996e-05_r8, 1.3170675478202258e-05_r8, & + 1.4108419486382801e-05_r8, 1.57483052246339e-05_r8, & + 1.7614415841493426e-05_r8, 2.009404578374887e-05_r8, & + 2.5435266269386747e-05_r8, 3.3829427395013719e-05_r8, & + 4.459137754287427e-05_r8, 5.6950894310859588e-05_r8, & + 7.1189866950022648e-05_r8, 8.58848533505459e-05_r8, & + 0.00010078644656878002_r8, 0.00011720557166210906_r8, & + 0.00013312017559026707_r8, 0.00014709795697343344_r8, & + 0.00015888481398262954_r8, 0.00017562492077264076_r8, & + 0.00018683258987448436_r8, 0.00019828285337067961_r8, & + 0.00021263382003585296_r8, 0.00022320650527300591_r8, & + 0.00023138397025926829_r8, 0.0002399385902304449_r8, & + 0.00024773905703713545_r8, 0.00025418188742030361_r8, & + 0.00025913972705145574_r8, 0.000261982448263046_r8, & + 0.0002632639811169472_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,40) / & + 6.990991627859668e-06_r8, 6.7160795228628835e-06_r8, & + 6.4322539250379579e-06_r8, 5.7085209171644532e-06_r8, & + 5.6243602813618145e-06_r8, 5.6335321467047033e-06_r8, & + 6.3446570826546476e-06_r8, 7.2137255523080722e-06_r8, & + 7.6744321514038136e-06_r8, 8.2635838674541799e-06_r8, & + 8.7531506141511413e-06_r8, 9.4597841522290832e-06_r8, & + 1.0196394026308093e-05_r8, 1.0813759746721086e-05_r8, & + 1.1536717039484375e-05_r8, 1.2429601498670842e-05_r8, & + 1.4999222027968371e-05_r8, 2.1620473352295538e-05_r8, & + 3.1787772947195817e-05_r8, 4.4151315850868102e-05_r8, & + 5.8970748749000883e-05_r8, 7.4729848548895289e-05_r8, & + 9.1255769431154688e-05_r8, 0.00010911537866699217_r8, & + 0.00012657335170772604_r8, 0.00014214132384637659_r8, & + 0.00015459862937549957_r8, 0.00017643007483109349_r8, & + 0.00018678732313433217_r8, 0.00019587801362239927_r8, & + 0.00020966038056575943_r8, 0.00022282093122046037_r8, & + 0.00023072931571144258_r8, 0.00023760867958148036_r8, & + 0.00024561368485003253_r8, 0.00025150413076305126_r8, & + 0.0002567090175834225_r8, 0.000260762696405643_r8, & + 0.00026376394929914003_r8, 0.00026382234939668642_r8, & + 0.0002635995541184666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,40) / & + 6.6413499993504201e-06_r8, 6.9417564207111562e-06_r8, & + 6.8190678026305334e-06_r8, 6.5220056370196406e-06_r8, & + 6.4325680359635087e-06_r8, 6.4324103032545751e-06_r8, & + 6.0437145206015141e-06_r8, 6.7687005838259768e-06_r8, & + 7.0456303756060374e-06_r8, 7.302630664887691e-06_r8, & + 7.6174824896416544e-06_r8, 7.8449609474796089e-06_r8, & + 8.8919635531148111e-06_r8, 1.0095517285420843e-05_r8, & + 1.1412652396171218e-05_r8, 1.2731704636186336e-05_r8, & + 1.6219740736263548e-05_r8, 2.4099858090492339e-05_r8, & + 3.6488882812122287e-05_r8, 4.8981082361109866e-05_r8, & + 6.3992269824235769e-05_r8, 7.9367295490249064e-05_r8, & + 9.584447225941228e-05_r8, 0.0001137524063398069_r8, & + 0.00013332745699287142_r8, 0.00014973973223126707_r8, & + 0.000163242076989717_r8, 0.00018197852910735785_r8, & + 0.00018864341176385644_r8, 0.00019595323024097823_r8, & + 0.0002056242269649591_r8, 0.0002180761740088675_r8, & + 0.00022924759301928163_r8, 0.00023753199819027048_r8, & + 0.00024585404567923296_r8, 0.0002517988492109699_r8, & + 0.00025688048133242695_r8, 0.0002597855196316886_r8, & + 0.00026347202836323537_r8, 0.00026252373871958704_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,40) / & + 5.4317392551091798e-06_r8, 5.8768395716334289e-06_r8, & + 5.5913200643581061e-06_r8, 4.8648259754766656e-06_r8, & + 5.0100125135398635e-06_r8, 5.2416539289769694e-06_r8, & + 5.1820531936432655e-06_r8, 5.7891241427583307e-06_r8, & + 6.2237216953331548e-06_r8, 6.6085688406029276e-06_r8, & + 7.0970795782159523e-06_r8, 7.5638422690844249e-06_r8, & + 8.4702807969278257e-06_r8, 1.0109468341304966e-05_r8, & + 1.1801271074818299e-05_r8, 1.4483309415106616e-05_r8, & + 2.0972049846512953e-05_r8, 3.1569954998087936e-05_r8, & + 4.3255918796871896e-05_r8, 5.3573906820135404e-05_r8, & + 6.7290410495237195e-05_r8, 8.1678542437071686e-05_r8, & + 9.9269421915728809e-05_r8, 0.00011721196861888364_r8, & + 0.00013749177799614169_r8, 0.00015534918386876358_r8, & + 0.00017125903196675888_r8, 0.00018806854778704606_r8, & + 0.00019178376454851754_r8, 0.00019613144871391604_r8, & + 0.00020456381347473923_r8, 0.00021637396962108059_r8, & + 0.00022760644446077557_r8, 0.00023664996624084788_r8, & + 0.00024526680759055959_r8, 0.00025010272930840396_r8, & + 0.00025483135386740165_r8, 0.00025780742999647997_r8, & + 0.00026032470175314478_r8, 0.00026079492745698373_r8, & + 0.00026111045653604291_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,40) / & + 4.5754982198822484e-06_r8, 4.9619183102745729e-06_r8, & + 4.7649170424097603e-06_r8, 3.2670981662968676e-06_r8, & + 3.3043406339641748e-06_r8, 3.3344362881935793e-06_r8, & + 3.6182633044032949e-06_r8, 4.063234288622472e-06_r8, & + 4.4817059033875825e-06_r8, 4.9612433831461881e-06_r8, & + 5.408431544947695e-06_r8, 5.9722703975146907e-06_r8, & + 6.8790854162868743e-06_r8, 8.2850756825811495e-06_r8, & + 9.5418903425989336e-06_r8, 1.15429104493619e-05_r8, & + 1.8346326424326229e-05_r8, 2.9575816611487392e-05_r8, & + 4.0703049654300589e-05_r8, 5.279273927763575e-05_r8, & + 6.6882739512009342e-05_r8, 8.3097133350230686e-05_r8, & + 0.0001023759637585591_r8, 0.00012142958940045666_r8, & + 0.00014226713464201155_r8, 0.0001616155360492998_r8, & + 0.00017801978573559022_r8, 0.00019579619019296089_r8, & + 0.0002003557620329031_r8, 0.0002005660402450697_r8, & + 0.00020685330580953298_r8, 0.00021825686269660432_r8, & + 0.00022883212216667128_r8, 0.00023903344047735591_r8, & + 0.00024691924709093605_r8, 0.00025140838767233597_r8, & + 0.00025524214717539652_r8, 0.00025698850438980552_r8, & + 0.00025882799926766757_r8, 0.00026055239637929684_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,40) / & + 4.3935277732494557e-06_r8, 4.6503767792517739e-06_r8, & + 4.4854723949119175e-06_r8, 3.2567315126205948e-06_r8, & + 3.3036500256392944e-06_r8, 3.220505954685318e-06_r8, & + 2.9819899917344222e-06_r8, 3.1117080452368466e-06_r8, & + 3.2979468414688452e-06_r8, 3.4835827210676079e-06_r8, & + 3.704369873892862e-06_r8, 3.9611128756262007e-06_r8, & + 4.8441971448397238e-06_r8, 6.3330929946334682e-06_r8, & + 7.6391933047693498e-06_r8, 9.3800059538040306e-06_r8, & + 1.4710038863907433e-05_r8, 2.2822772767795866e-05_r8, & + 3.4409744937581356e-05_r8, 4.7686177938792306e-05_r8, & + 6.3713129786104042e-05_r8, 8.1845781063483286e-05_r8, & + 0.00010343665015083598_r8, 0.00012557549315791899_r8, & + 0.00014798188763608726_r8, 0.00016915023064985763_r8, & + 0.00018668312722728325_r8, 0.00020718066952021881_r8, & + 0.00021027321409515008_r8, 0.00020886859449477073_r8, & + 0.00021486593179395792_r8, 0.0002257285399444435_r8, & + 0.00023518919905163378_r8, 0.00024507293125495313_r8, & + 0.0002522955769629114_r8, 0.00025709740955062201_r8, & + 0.00026042238070580456_r8, 0.00026153962193496753_r8, & + 0.00026219478060814268_r8, 0.00026690089447787077_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,40) / & + 4.6053666285364095e-06_r8, 4.6107462458311228e-06_r8, & + 4.202522464076649e-06_r8, 3.4189242096087448e-06_r8, & + 3.330247043699542e-06_r8, 3.2353122608512048e-06_r8, & + 3.3857218798819065e-06_r8, 3.4618543321047159e-06_r8, & + 3.5458560086788722e-06_r8, 3.559602747697439e-06_r8, & + 3.6601731211270015e-06_r8, 3.6508034029661403e-06_r8, & + 4.3673661040941754e-06_r8, 5.7417382735668207e-06_r8, & + 7.4155742213666054e-06_r8, 9.4618695212992583e-06_r8, & + 1.5262736851938305e-05_r8, 2.3519953553723595e-05_r8, & + 3.5556265759999839e-05_r8, 5.1709269555520112e-05_r8, & + 7.279308008401603e-05_r8, 9.5936072893071066e-05_r8, & + 0.00012078158500669877_r8, 0.00014404991697762324_r8, & + 0.00016722628061548788_r8, 0.00018778452615517748_r8, & + 0.0002047230812147946_r8, 0.0002243767074303969_r8, & + 0.00022341262504883163_r8, 0.00022013156462615124_r8, & + 0.00022670432255423209_r8, 0.00023912001510026918_r8, & + 0.0002504004535408382_r8, 0.00026140485125989538_r8, & + 0.00026707600328686757_r8, 0.00027047714691444673_r8, & + 0.00027332774094197728_r8, 0.00027332519899375533_r8, & + 0.00027729847741324494_r8, 0.00027466245955944302_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,40) / & + 5.7555914078501884e-06_r8, 5.614284178297216e-06_r8, & + 4.6858562643979175e-06_r8, 3.8643672145865835e-06_r8, & + 3.4802731600975634e-06_r8, 3.4585984651408417e-06_r8, & + 3.1877786395578427e-06_r8, 3.4054505144955381e-06_r8, & + 4.0187603317927912e-06_r8, 4.1244899590055419e-06_r8, & + 3.8180732112621044e-06_r8, 3.9120671596204755e-06_r8, & + 4.1939804832642171e-06_r8, 5.2898918566478956e-06_r8, & + 7.3256554984796817e-06_r8, 9.9621938060753451e-06_r8, & + 1.6903747066158268e-05_r8, 2.7456970504066274e-05_r8, & + 4.1666352827435925e-05_r8, 6.4426005105982582e-05_r8, & + 9.0115871627406496e-05_r8, 0.0001173043758632941_r8, & + 0.00014204145224988083_r8, 0.00016508063908705084_r8, & + 0.00018627208438455137_r8, 0.00020391982318781462_r8, & + 0.00021763523983453904_r8, 0.00023676829956963407_r8, & + 0.00023912927170061246_r8, 0.00023563263533802424_r8, & + 0.00023884202792168999_r8, 0.00024453191032411311_r8, & + 0.0002538359251132371_r8, 0.00026587031583738741_r8, & + 0.00027764995057379333_r8, 0.00028105289744267823_r8, & + 0.0002842620756396493_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,40) / & + 4.3070287275802618e-06_r8, 4.1497356853225129e-06_r8, & + 3.331547990703726e-06_r8, 3.3918825105902231e-06_r8, & + 3.3193373486288776e-06_r8, 3.3304368560565168e-06_r8, & + 3.4729041901773873e-06_r8, 3.3339520265853883e-06_r8, & + 3.6424933312496705e-06_r8, 4.0749025985296286e-06_r8, & + 3.8881903368888814e-06_r8, 4.4854274441985762e-06_r8, & + 5.1789048052598359e-06_r8, 7.0197376497025456e-06_r8, & + 9.9388206763741587e-06_r8, 1.3313284785003542e-05_r8, & + 2.2063965367674358e-05_r8, 3.6911446703587694e-05_r8, & + 5.771226983985261e-05_r8, 8.6935900534930921e-05_r8, & + 0.00011450477015010944_r8, 0.00014140813064771041_r8, & + 0.00016485807400216793_r8, 0.00018594888097310649_r8, & + 0.00020474791916200678_r8, 0.00022112430735458669_r8, & + 0.00023309479834921854_r8, 0.00025142355319812394_r8, & + 0.00025492085618032689_r8, 0.00025475351202852264_r8, & + 0.00025872043685783402_r8, 0.00026067052692955133_r8, & + 0.00026076422409210254_r8, 0.00025114488571567503_r8, & + 0.00025020290115436271_r8, 0.00025078808023562272_r8, & + 0.00025117208007978007_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,40) / & + 2.4679048956136887e-06_r8, 2.4496310505339641e-06_r8, & + 2.4805657019587812e-06_r8, 3.6223261389165025e-06_r8, & + 3.6838840165161468e-06_r8, 3.7715330826866572e-06_r8, & + 4.1790109736007505e-06_r8, 3.9791691901068729e-06_r8, & + 4.0013537847748611e-06_r8, 4.6433152985686432e-06_r8, & + 5.0140458600042899e-06_r8, 7.1278353376551219e-06_r8, & + 1.1403351672606621e-05_r8, 1.6645250006269458e-05_r8, & + 2.2139341175184417e-05_r8, 2.8016752832190726e-05_r8, & + 4.2595071270902165e-05_r8, 6.4744159547224027e-05_r8, & + 9.0835128858185346e-05_r8, 0.00011935364860127645_r8, & + 0.00014675926431249718_r8, 0.00017377360189414686_r8, & + 0.0001971097767950526_r8, 0.00021584260645174825_r8, & + 0.00023543803219599129_r8, 0.00025226173998795545_r8, & + 0.00026648719173754374_r8, 0.00028690234949095019_r8, & + 0.00029208244084305936_r8, 0.00029376746813400932_r8, & + 0.00030014180429333817_r8, 0.00029156444866660811_r8, & + 0.00028266987193233697_r8, 0.00027428380044063142_r8, & + 0.000264377045340892_r8, 0.00026212921612591469_r8, & + 0.00026047363670267062_r8, 0.0002615929054487488_r8, & + 0.0002615796287674904_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,40) / & + 2.4782220834113018e-06_r8, 2.6452621017414452e-06_r8, & + 2.7345569830764227e-06_r8, 3.3466894397895596e-06_r8, & + 3.464570371225429e-06_r8, 3.6858255632703018e-06_r8, & + 4.2624847315173881e-06_r8, 4.3470924694951339e-06_r8, & + 4.7440252496333556e-06_r8, 6.0472455916181555e-06_r8, & + 7.799537828920979e-06_r8, 1.2553187163823124e-05_r8, & + 2.3141265035236143e-05_r8, 3.2876080681176212e-05_r8, & + 4.1739164103534026e-05_r8, 5.1052961211764275e-05_r8, & + 7.1543363274195775e-05_r8, 9.5918360572627405e-05_r8, & + 0.00012000727315059912_r8, 0.00014833512841565705_r8, & + 0.00017738670346881017_r8, 0.00021119370872592222_r8, & + 0.00023491682376142135_r8, 0.00025507654503433735_r8, & + 0.00027527569602988283_r8, 0.00029078161756408076_r8, & + 0.00030496510325054215_r8, 0.00033250487245503385_r8, & + 0.00035483889469830482_r8, 0.00036990871006294698_r8, & + 0.0003817627595454779_r8, 0.00036973869679987148_r8, & + 0.00037882565695653204_r8, 0.00039016232261607453_r8, & + 0.00038996377860769878_r8, 0.00038495916141219842_r8, & + 0.00039323694074071155_r8, 0.00039267553127660148_r8, & + 0.00039110716691765409_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,40) / & + 2.7245324289036565e-06_r8, 3.0229527492989439e-06_r8, & + 3.6038343928661657e-06_r8, 3.1015886798515453e-06_r8, & + 2.9550052232852113e-06_r8, 3.424989802488128e-06_r8, & + 4.2059083639708088e-06_r8, 4.993308511871332e-06_r8, & + 5.4645330653696603e-06_r8, 6.9304081699412697e-06_r8, & + 9.7088061660467493e-06_r8, 1.6899519265004525e-05_r8, & + 3.3264651915575652e-05_r8, 4.5942897228456186e-05_r8, & + 5.5448107498830335e-05_r8, 6.3299574622890006e-05_r8, & + 7.9246255411014624e-05_r8, 0.00010609817318588795_r8, & + 0.00013174031009645734_r8, 0.00016017878578770189_r8, & + 0.00019041428347799352_r8, 0.00022175073396556917_r8, & + 0.00024720597639309589_r8, 0.0002705816841003078_r8, & + 0.00029256857159524314_r8, 0.00030994077880520899_r8, & + 0.00032662313507013922_r8, 0.00035548233896928115_r8, & + 0.00037884185658041775_r8, 0.00039318515506679019_r8, & + 0.00040296036223745678_r8, 0.00039778073004910236_r8, & + 0.00040772683413508405_r8, 0.00040801931090663081_r8, & + 0.00040821279397175144_r8, 0.00040764297999467525_r8, & + 0.00040749352007888906_r8, 0.00040687581704260914_r8, & + 0.00040636554103641717_r8, 0.00040632257957285122_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,40) / & + 3.5072495897786099e-06_r8, 3.7659267280105415e-06_r8, & + 4.1962823691869773e-06_r8, 3.6126551470437253e-06_r8, & + 2.8329486608663668e-06_r8, 3.3916706582355181e-06_r8, & + 4.4531356657119861e-06_r8, 6.6026513730584732e-06_r8, & + 9.0807142112466214e-06_r8, 1.1576858704502096e-05_r8, & + 1.5642228138964165e-05_r8, 2.3739876521641382e-05_r8, & + 4.5124797588601823e-05_r8, 5.883705555846868e-05_r8, & + 6.7367868560616002e-05_r8, 7.3799526850745691e-05_r8, & + 9.0629023545563397e-05_r8, 0.00012481281567251138_r8, & + 0.00015229512568594022_r8, 0.00018102950389113794_r8, & + 0.00021205085016860105_r8, 0.00023638401845715504_r8, & + 0.0002616354524806252_r8, 0.00028725198734251989_r8, & + 0.00030948293458788438_r8, 0.00032817752917498679_r8, & + 0.0003467061000880609_r8, 0.00037679344957678937_r8, & + 0.00040025030632284675_r8, 0.00041374253240957577_r8, & + 0.00042099004539625993_r8, 0.00042265416657009426_r8, & + 0.00042377147192371048_r8, 0.00042266769921853192_r8, & + 0.00042195113148404945_r8, 0.00042048325572333929_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,40) / & + 3.7047712974309399e-06_r8, 3.7156366832421576e-06_r8, & + 4.00122064704998e-06_r8, 3.9752298770589657e-06_r8, & + 3.8755103650299517e-06_r8, 4.6568002641168839e-06_r8, & + 4.9033209295776258e-06_r8, 7.3261191389999798e-06_r8, & + 1.2518523287023152e-05_r8, 1.754355870406202e-05_r8, & + 2.5586869169655396e-05_r8, 3.9234765320060103e-05_r8, & + 7.1506826073292767e-05_r8, 8.6329519915368048e-05_r8, & + 9.4927742922855566e-05_r8, 0.00010215872592054476_r8, & + 0.000119973752239564_r8, 0.0001506071487704187_r8, & + 0.00018083224381600565_r8, 0.00021006374375603825_r8, & + 0.00023959698947389964_r8, 0.00026497612334104169_r8, & + 0.0002898546170249771_r8, 0.0003120183394789763_r8, & + 0.00033200215171843715_r8, 0.00034948459336747105_r8, & + 0.00036671985788634388_r8, 0.0003957329375693024_r8, & + 0.00041768315145012161_r8, 0.00043002132924692318_r8, & + 0.00043718512957597108_r8, 0.00043979208407108353_r8, & + 0.0004404909828054518_r8, 0.0004393702919896329_r8, & + 0.00043752019060273981_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,40) / & + 3.7987565435142324e-06_r8, 3.7040923418228763e-06_r8, & + 3.7823153023808709e-06_r8, 4.4531142129667213e-06_r8, & + 4.7240994178921528e-06_r8, 4.9156813839195264e-06_r8, & + 5.5532332897089102e-06_r8, 8.5042468518732322e-06_r8, & + 1.497082765514963e-05_r8, 2.3976021095603029e-05_r8, & + 3.9052593208880338e-05_r8, 6.1380218813610743e-05_r8, & + 9.6241372092110882e-05_r8, 0.00011214574976269071_r8, & + 0.00011916499189570561_r8, 0.00012630199261415558_r8, & + 0.00014557541617572526_r8, 0.00017374096658183248_r8, & + 0.00020508200780681695_r8, 0.00023369170136755888_r8, & + 0.00025979013384068943_r8, 0.00028700549268963015_r8, & + 0.00031302528986395075_r8, 0.00033470254954462707_r8, & + 0.00035551502224456056_r8, 0.00037400354136417607_r8, & + 0.00038966306635962575_r8, 0.00041906443493321843_r8, & + 0.00044001919996808115_r8, 0.00045170935036222508_r8, & + 0.00045774426273548772_r8, 0.00045905826343228552_r8, & + 0.00045818996476581066_r8, 0.0004562787612171309_r8, & + 0.00045421161431871086_r8, 0.00044898463498739528_r8, & + 0.00044355019979413221_r8, 0.00043576784145208281_r8, & + 0.00042966661811637177_r8, 0.00042436499555441066_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,40) / & + 4.3568985024236685e-06_r8, 4.3355899275616303e-06_r8, & + 4.3144295056417633e-06_r8, 4.7245859690319576e-06_r8, & + 4.8132839218003451e-06_r8, 4.8542811907216196e-06_r8, & + 5.8437744585722192e-06_r8, 7.9394431657503225e-06_r8, & + 1.2658271898624123e-05_r8, 2.0956319001829635e-05_r8, & + 3.4273255881003162e-05_r8, 5.3886374201163164e-05_r8, & + 8.7721565719571065e-05_r8, 0.0001147300103966388_r8, & + 0.00012711406480231133_r8, 0.00013920402849639543_r8, & + 0.00016531565044567779_r8, 0.00019451965508692404_r8, & + 0.00022296325180741811_r8, 0.00025222424563187964_r8, & + 0.00027897372616462183_r8, 0.00030519914489272084_r8, & + 0.00033448482173925159_r8, 0.00035686470911834985_r8, & + 0.0003783167330324304_r8, 0.00039765214741953683_r8, & + 0.00041333997764319322_r8, 0.000442782262234839_r8, & + 0.00046143659269934351_r8, 0.00047245392020149466_r8, & + 0.00047947907082738963_r8, 0.00048190674037547479_r8, & + 0.00048152828222722244_r8, 0.00047812717256343523_r8, & + 0.00047289690734700628_r8, 0.00046557113592921891_r8, & + 0.00045817374367898366_r8, 0.00045079264435086654_r8, & + 0.00044482837456871765_r8, 0.00044039865901464141_r8, & + 0.00043539713182206338_r8, 0.00043489630040972497_r8, & + 0.00043419052732943862_r8, 0.00043375763173206288_r8, 9e90_r8 & + / +data saar_ref(:,26,40) / & + 4.7963698865986708e-06_r8, 4.8490259232253063e-06_r8, & + 4.7049367954963251e-06_r8, 5.1837669498528238e-06_r8, & + 5.3182171345333054e-06_r8, 5.3744329648195225e-06_r8, & + 5.1953723641412829e-06_r8, 5.9144121945950098e-06_r8, & + 7.5666684651184628e-06_r8, 9.8636612796782158e-06_r8, & + 1.3439641845983543e-05_r8, 2.1043965853397785e-05_r8, & + 4.3073850247943577e-05_r8, 7.2875931750804329e-05_r8, & + 9.868295189166643e-05_r8, 0.00012485305134567339_r8, & + 0.00017488288503819541_r8, 0.00021742264681833305_r8, & + 0.0002505589646327868_r8, 0.00028147149099305968_r8, & + 0.0003097660119357072_r8, 0.00033529985159918766_r8, & + 0.00036439055343728696_r8, 0.00038595918810361407_r8, & + 0.00040670470704364295_r8, 0.0004241328217930773_r8, & + 0.00043814798216916415_r8, 0.00046473139844852197_r8, & + 0.00048319190473730342_r8, 0.00049246016516745102_r8, & + 0.00049949897779992764_r8, 0.00050184592130067052_r8, & + 0.00050291089106146482_r8, 0.00049993052699665941_r8, & + 0.00049453827864403578_r8, 0.00048683339996938725_r8, & + 0.00047820467545097405_r8, 0.00047040261399823585_r8, & + 0.00046336032754110812_r8, 0.00045781150363365342_r8, & + 0.00045133393679107375_r8, 0.00044962514816469529_r8, & + 0.00044878364442901364_r8, 0.00044834150447054292_r8, & + 0.00044788059001566643_r8 & + / +data saar_ref(:,27,40) / & + 5.048949931557385e-06_r8, 5.0952324876712217e-06_r8, & + 4.9032958039390904e-06_r8, 5.2439880336723335e-06_r8, & + 5.2990966529076474e-06_r8, 5.1347333195496054e-06_r8, & + 4.867353182372531e-06_r8, 5.5498280559419934e-06_r8, & + 6.4569692774473355e-06_r8, 6.9938880467673671e-06_r8, & + 7.5813444552953152e-06_r8, 1.0531457197266199e-05_r8, & + 1.9121743779721036e-05_r8, 3.3449323921682037e-05_r8, & + 5.2471525993659964e-05_r8, 7.7521602837407196e-05_r8, & + 0.00015048006360176313_r8, 0.00022334470192112227_r8, & + 0.00027856392198398678_r8, 0.00031977962404472124_r8, & + 0.00035288687783248049_r8, 0.00037925344414156545_r8, & + 0.00040238853754077469_r8, 0.00042355042282688328_r8, & + 0.0004444286516790302_r8, 0.00045953959491373526_r8, & + 0.00047002507294938915_r8, 0.00049367211495251659_r8, & + 0.00050895599945173042_r8, 0.00051604234095585413_r8, & + 0.00052048412537369416_r8, 0.00052176738912529819_r8, & + 0.00052138538175165662_r8, 0.0005188534892043462_r8, & + 0.00051338660904587722_r8, 0.00050714313199309738_r8, & + 0.00049911793013655945_r8, 0.000491303083238011_r8, & + 0.00048319051089758903_r8, 0.00047673703454323755_r8, & + 0.00046908178830071159_r8, 0.00046563487766179484_r8, & + 0.0004645599817214844_r8, 0.00046295657352924226_r8, & + 0.00046264585374886482_r8 & + / +data saar_ref(:,28,40) / & + 5.3380466995663623e-06_r8, 5.8992555298165215e-06_r8, & + 6.0103542139010151e-06_r8, 5.4547993130762408e-06_r8, & + 5.7530902399821795e-06_r8, 5.779911072638035e-06_r8, & + 6.3720914172578259e-06_r8, 6.8224119800338279e-06_r8, & + 6.9751489373181764e-06_r8, 7.4275365362322768e-06_r8, & + 8.5877731461459776e-06_r8, 1.0470062242042879e-05_r8, & + 1.6541193983100582e-05_r8, 2.5130652334455545e-05_r8, & + 3.7621237742734466e-05_r8, 5.4049100611396232e-05_r8, & + 0.0001138337315391411_r8, 0.00019463010264657169_r8, & + 0.00027448610361003499_r8, 0.00033743244265696743_r8, & + 0.00038120308530770761_r8, 0.00041142422246403463_r8, & + 0.00043545126179078431_r8, 0.00045686006750428142_r8, & + 0.00047859101570075748_r8, 0.0004941061301334856_r8, & + 0.0005018821107696976_r8, 0.00052403951535328925_r8, & + 0.00053549962176359096_r8, 0.00053909262661594199_r8, & + 0.00054007667817697173_r8, 0.00053933458263442761_r8, & + 0.00053754418202887021_r8, 0.0005346413996837545_r8, & + 0.00052994117075438516_r8, 0.00052532997200592296_r8, & + 0.00051860444521769906_r8, 0.00051181122138225989_r8, & + 0.00050428877641268174_r8, 0.00049730099618848478_r8, & + 0.00049066383767837655_r8, 0.00048497353289882661_r8, & + 0.00048155586910093124_r8, 0.00047943691825890606_r8, 9e90_r8 & + / +data saar_ref(:,29,40) / & + 5.2824604211852047e-06_r8, 7.0972095888775728e-06_r8, & + 8.1094179693923203e-06_r8, 5.9074052443173463e-06_r8, & + 6.2794017790476348e-06_r8, 6.6164827100781289e-06_r8, & + 6.7080340150258364e-06_r8, 7.6791447871297737e-06_r8, & + 9.1260590397556236e-06_r8, 1.1348770518584928e-05_r8, & + 1.2550975316739279e-05_r8, 1.3758283233187772e-05_r8, & + 1.8606560687764732e-05_r8, 2.543802241849517e-05_r8, & + 3.6195049121240341e-05_r8, 5.045528270708151e-05_r8, & + 9.3279481194076704e-05_r8, 0.00015755321672158279_r8, & + 0.0002423389689638731_r8, 0.00032298967290126843_r8, & + 0.00038327133556795366_r8, 0.0004271562206897089_r8, & + 0.00045665826878209866_r8, 0.00048005715711439332_r8, & + 0.00050020492340144978_r8, 0.00051719239396130691_r8, & + 0.00052918579812289237_r8, 0.00055384447200573881_r8, & + 0.00056306322255793089_r8, 0.00056379360747308457_r8, & + 0.00056204398711635851_r8, 0.00055925907336989685_r8, & + 0.00055651493543379935_r8, 0.00055288027162455873_r8, & + 0.00054891841534465441_r8, 0.00054416002992572923_r8, & + 0.00053840240892452304_r8, 0.00053341081972865562_r8, & + 0.0005269727338639309_r8, 0.00051907978159860255_r8, & + 0.00051173399152581892_r8, 0.00050763207089363118_r8, & + 0.0005034325461176092_r8, 0.00050273793879540931_r8, & + 0.00050258271884227824_r8 & + / +data saar_ref(:,30,40) / & + 5.895147813559972e-06_r8, 7.5416445190531244e-06_r8, & + 8.1984127703449022e-06_r8, 6.9704692354806886e-06_r8, & + 7.3564043140298009e-06_r8, 8.1748529406877105e-06_r8, & + 8.1590270547050112e-06_r8, 9.9015553063500013e-06_r8, & + 1.1884986869570951e-05_r8, 1.4724508928256335e-05_r8, & + 1.5616723438554973e-05_r8, 1.8352053737443172e-05_r8, & + 2.2668825018520766e-05_r8, 2.9306822521599622e-05_r8, & + 3.950918616603966e-05_r8, 5.5507449255962254e-05_r8, & + 9.7987629900282564e-05_r8, 0.00016083904770068368_r8, & + 0.00024684898329474199_r8, 0.00033250857019369578_r8, & + 0.0003951806745699533_r8, 0.0004447537899192428_r8, & + 0.0004813593790987622_r8, 0.00051080564788377975_r8, & + 0.0005321065931058412_r8, 0.00054954187740217063_r8, & + 0.00056585626648970064_r8, 0.00059686113598890098_r8, & + 0.00060301944151902836_r8, 0.0006018975315975172_r8, & + 0.00059691042474116648_r8, 0.00058935568578584593_r8, & + 0.00058350575265326556_r8, 0.00057877994545030081_r8, & + 0.00057296388802227237_r8, 0.00056829786712540365_r8, & + 0.0005623555485042345_r8, 0.00055843455966934918_r8, & + 0.00054924951597165562_r8, 0.00053987716226576356_r8, & + 0.00053177648630474081_r8, 0.00053101616121031543_r8, & + 0.00052634129513884755_r8, 0.00052285755870270752_r8, & + 0.00051732108294819015_r8 & + / +data saar_ref(:,31,40) / & + 1.1718705192321548e-05_r8, 1.1570405764424322e-05_r8, & + 1.0735851568408082e-05_r8, 1.0178632947517286e-05_r8, & + 1.0029077439701856e-05_r8, 1.170423529442821e-05_r8, & + 1.6657399440251488e-05_r8, 2.2683506008732839e-05_r8, & + 2.9364065874577405e-05_r8, 3.5831964249790145e-05_r8, & + 4.1664712183154985e-05_r8, 4.7232717254698178e-05_r8, & + 5.6848397391210442e-05_r8, 6.9083691949542073e-05_r8, & + 8.6327779093416438e-05_r8, 0.00011080034386231713_r8, & + 0.00017319023647784578_r8, 0.00025104398323372941_r8, & + 0.00033238152576561353_r8, 0.00040169349456232887_r8, & + 0.00045252878796297254_r8, 0.00049199234978490375_r8, & + 0.00052387689088973541_r8, 0.00054883036540127796_r8, & + 0.0005683471548939118_r8, 0.00058622165259400319_r8, & + 0.0006024740614353738_r8, 0.0006283264817942537_r8, & + 0.00063474864955589884_r8, 0.00063338216698058196_r8, & + 0.00062692900796005311_r8, 0.00061795509935151313_r8, & + 0.00061057319036837774_r8, 0.00060327705133910077_r8, & + 0.00059517411072125884_r8, 0.00059062026911833247_r8, & + 0.00058511199235069416_r8, 0.00058210051620910725_r8, & + 0.00057780432371924944_r8, 0.00057511771644008487_r8, & + 0.00056879265578509857_r8, 0.00056455599518150719_r8, & + 0.00056451042025964322_r8, 0.00056020490251902037_r8, 9e90_r8 & + / +data saar_ref(:,32,40) / & + 1.8894918154769799e-05_r8, 1.9598553522456133e-05_r8, & + 2.0435558871500835e-05_r8, 2.2310039572481602e-05_r8, & + 2.8228966545388052e-05_r8, 4.2534111634570169e-05_r8, & + 6.0496591027617003e-05_r8, 7.5778650126742865e-05_r8, & + 8.817604335689543e-05_r8, 9.9323584053246655e-05_r8, & + 0.00011014117876650723_r8, 0.00012038331392306502_r8, & + 0.00013881276417553767_r8, 0.00016377788099325498_r8, & + 0.00019795271410125766_r8, 0.00023492948565911409_r8, & + 0.00031133929110277681_r8, 0.00038180830516334015_r8, & + 0.00044353087636618115_r8, 0.000496775933221041_r8, & + 0.0005316985473803955_r8, 0.00055895525559249008_r8, & + 0.00058039339696558899_r8, 0.000599298989871412_r8, & + 0.00061461363807404506_r8, 0.00062911064748156511_r8, & + 0.00064106133075128005_r8, 0.0006530820301151913_r8, & + 0.00065960884000616955_r8, 0.00065876759132593601_r8, & + 0.00065020124306381223_r8, 0.00064062484468607045_r8, & + 0.00063286487720023803_r8, 0.00062562299236332991_r8, & + 0.00061898656332668865_r8, 0.0006121884863120173_r8, & + 0.00060544736317814972_r8, 0.00060254864001769201_r8, & + 0.00060366446017869546_r8, 0.00060253223150601924_r8, & + 0.00059962084685117635_r8, 0.00059277716111300267_r8, & + 0.00059041292497357734_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,40) / & + 3.1926175629488762e-05_r8, 4.0002137271958795e-05_r8, & + 5.0098110028000376e-05_r8, 5.8139846411329155e-05_r8, & + 7.710589029852784e-05_r8, 0.00011452853901511866_r8, & + 0.00013112762735779872_r8, 0.00016104305269770599_r8, & + 0.00018880707895869623_r8, 0.0002110572385198795_r8, & + 0.00023086823354143002_r8, 0.00024918421347393444_r8, & + 0.0002654671742492811_r8, 0.00029862401648413035_r8, & + 0.00033525457158206889_r8, 0.00036939754152819765_r8, & + 0.00043599873201610018_r8, 0.00048976308617634768_r8, & + 0.00053077965560431497_r8, 0.00056791452136265984_r8, & + 0.0005940378020471629_r8, 0.00061588803018671411_r8, & + 0.00063259310853724948_r8, 0.00064734605149381088_r8, & + 0.00065852284969014857_r8, 0.00066741057391220596_r8, & + 0.00067433888677539077_r8, 0.00068195097720895781_r8, & + 0.00068683075437210692_r8, 0.00068490610962271259_r8, & + 0.0006754480173616406_r8, 0.00066361903691047235_r8, & + 0.00065298319624743886_r8, 0.00064629201340140664_r8, & + 0.00064020702056891566_r8, 0.00063238037528871632_r8, & + 0.00062597702193160313_r8, 0.0006238132234857635_r8, & + 0.00062348650318811176_r8, 0.00062426495418954479_r8, & + 0.00062191149737300384_r8, 0.00061452483342796648_r8, & + 0.00061293997704355658_r8, 0.00060503288289274625_r8, 9e90_r8 & + / +data saar_ref(:,34,40) / & + 4.5743372054645717e-05_r8, 5.5617837878880792e-05_r8, & + 7.1653309489868019e-05_r8, 9.7626408782748879e-05_r8, & + 0.00011750473933469052_r8, 0.0001459899033844433_r8, & + 0.00018303994100194864_r8, 0.00019700280588213375_r8, & + 0.00022593362686043202_r8, 0.0002510962251628844_r8, & + 0.00028316935532121239_r8, 0.00033296123603101618_r8, & + 0.0003662332310893293_r8, 0.00040024574287486267_r8, & + 0.00043157850890088785_r8, 0.00046092311397888814_r8, & + 0.0005181849071376445_r8, 0.00055590016135115554_r8, & + 0.00059008895626367329_r8, 0.00061839393332709352_r8, & + 0.00064119244186809079_r8, 0.0006594445857116256_r8, & + 0.00067858534226647091_r8, 0.00068959123325691945_r8, & + 0.00069799555335460777_r8, 0.00070427224479883879_r8, & + 0.00070900622015005778_r8, 0.00071423737350622719_r8, & + 0.0007141088308401949_r8, 0.00070427589945079052_r8, & + 0.00069188148642111865_r8, 0.00067877753025544446_r8, & + 0.00066741191030642672_r8, 0.00065975808167603842_r8, & + 0.00065264568057647125_r8, 0.0006463239597099997_r8, & + 0.00064313420944637871_r8, 0.00064062477891925344_r8, & + 0.00064118195033887725_r8, 0.00064125633581470427_r8, & + 0.00063800162398559141_r8, 0.00063069920227680292_r8, & + 0.00062552697997180894_r8, 0.00061343356384728216_r8, & + 0.00060717286012347202_r8 & + / +data saar_ref(:,35,40) / & + 4.0656334560363407e-05_r8, 4.4739822877859053e-05_r8, & + 5.4132582319133474e-05_r8, 7.78811169263896e-05_r8, & + 9.0500017652131388e-05_r8, 0.00011222912349876399_r8, & + 0.00017894740391642271_r8, 0.00017210872475392384_r8, & + 0.00018838524607498475_r8, 0.00019772887132466765_r8, & + 0.00021409621696689987_r8, 0.00027379730024903879_r8, & + 0.00034107187768080832_r8, 0.00037143150406811437_r8, & + 0.00039954350294269555_r8, 0.00043816199527051434_r8, & + 0.00050550461872953477_r8, 0.00053727791759338676_r8, & + 0.00058233926014842122_r8, 0.00061933495505067117_r8, & + 0.00064634322446732609_r8, 0.00065724835165907906_r8, & + 0.00069255885408718533_r8, 0.00070550017365437372_r8, & + 0.00071702356374354675_r8, 0.00072507789055588584_r8, & + 0.00073181442418968437_r8, 0.00073797761675834157_r8, & + 0.00073653665467757754_r8, 0.00072261542435770047_r8, & + 0.00070783174096002827_r8, 0.00069489548195669033_r8, & + 0.00068210366323863771_r8, 0.000673682529565547_r8, & + 0.00066527178655082951_r8, 0.00065952220591384929_r8, & + 0.00065606808699408034_r8, 0.00065363023870628444_r8, & + 0.00065350427908904469_r8, 0.00065386523553030186_r8, & + 0.00065073006909395958_r8, 0.00064156586863983506_r8, & + 0.00063507000352657048_r8, 0.00063047579841803646_r8, & + 0.00062662899833754128_r8 & + / +data saar_ref(:,36,40) / & + 2.3840378827226982e-05_r8, 2.6178911810670878e-05_r8, & + 3.1061266183021547e-05_r8, 4.4396372291589185e-05_r8, & + 5.367369859779549e-05_r8, 7.1804237848623533e-05_r8, & + 0.00013708271205674838_r8, 0.00013534260602112645_r8, & + 0.00014167332553719137_r8, 0.00014060557341340064_r8, & + 0.00013151371163878687_r8, 0.00015996141972595963_r8, & + 0.00021346010164557179_r8, 0.00020933167868498478_r8, & + 0.00027844680034314599_r8, 0.00029379865358852408_r8, & + 0.00030445168608383039_r8, 0.00019906750215256406_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,37,40) / & + 3.8031048169078463e-05_r8, 4.7358576356183052e-05_r8, & + 6.6604941768807403e-05_r8, 7.230950430153757e-05_r8, & + 8.926708215132773e-05_r8, 0.00010748380146089543_r8, & + 0.0001426182332899944_r8, 0.00017164797574401912_r8, & + 0.00016941172473841865_r8, 0.00015518462288285082_r8, & + 0.0001450273117002185_r8, 0.00014028050866952602_r8, & + 0.00014905479905635423_r8, 0.00013457357998249663_r8, & + 0.00021259561639349573_r8, 0.00024592395032241966_r8, & + 0.00022229574871037683_r8, 0.00020424109777931481_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,40) / & + 4.3028101399111521e-05_r8, 5.5323423881332472e-05_r8, & + 8.0318156620644269e-05_r8, 8.3505601734368842e-05_r8, & + 0.00010112024451446238_r8, 0.00011958319461794361_r8, & + 0.00014353488662080901_r8, 0.00017856804121750691_r8, & + 0.00018758432296638351_r8, 0.00017060622729115458_r8, & + 0.00015381206519771699_r8, 0.00014303148632644885_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,40) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,40) / & + 0.00019145792234356298_r8, 0.00017040766453943891_r8, & + 0.0001338486297004283_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,40) / & + 0.00017010623047050393_r8, 0.00016396579747237762_r8, & + 0.00013923889260480498_r8, 0.00010944197239778194_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,40) / & + 0.00013278107224494242_r8, 0.00012946604037429937_r8, & + 0.00010987173327584332_r8, 0.00010780460480940463_r8, & + 0.00015111378176577695_r8, 0.00022609581691989951_r8, & + 0.00023908617411768612_r8, 0.00025958882085035622_r8, & + 0.00012369749075500272_r8, 6.6096992657620787e-05_r8, & + 6.1263158180666021e-05_r8, 6.0608805349272283e-05_r8, & + 5.7463837675078711e-05_r8, 6.1383001601760776e-05_r8, & + 6.2078316362114698e-05_r8, 6.3422792492012176e-05_r8, & + 6.5366165783189623e-05_r8, 6.5995054990944911e-05_r8, & + 6.6892665952250372e-05_r8, 6.9881462007620411e-05_r8, & + 7.2563719266632287e-05_r8, 7.5278695485538172e-05_r8, & + 7.8655905717825905e-05_r8, 8.3330477623034252e-05_r8, & + 8.8046131453251689e-05_r8, 9.3547131992745351e-05_r8, & + 9.9325178778335765e-05_r8, 0.00011110133780827562_r8, & + 0.0001082833921740353_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,40) / & + 9.0169174562397574e-05_r8, 9.8900114439487609e-05_r8, & + 8.2136575645032673e-05_r8, 0.00012522506280991679_r8, & + 0.00011683316566927623_r8, 0.00014008440400437562_r8, & + 0.00020794476512516193_r8, 0.00021312552269847957_r8, & + 8.6921851698327888e-05_r8, 6.0899758956799812e-05_r8, & + 6.0711757844827517e-05_r8, 6.3566219019275231e-05_r8, & + 6.1511758030951893e-05_r8, 6.4564302711363043e-05_r8, & + 6.5070172052193224e-05_r8, 6.674383550658996e-05_r8, & + 6.8046853947246512e-05_r8, 6.8710681284031615e-05_r8, & + 6.9997399924789534e-05_r8, 7.3239019361456524e-05_r8, & + 7.6110775901821445e-05_r8, 7.9078095660206215e-05_r8, & + 8.2895442140086843e-05_r8, 8.8316961487475222e-05_r8, & + 9.2424543497261093e-05_r8, 9.8218598778000409e-05_r8, & + 0.00010337927661534539_r8, 0.00011496469922513808_r8, & + 0.00011296246908205654_r8, 0.00011105139143267972_r8, & + 0.00011075614655372236_r8, 0.00011103072336772501_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,40) / & + 7.871923266880759e-05_r8, 9.4040200118694295e-05_r8, & + 7.4528675459628173e-05_r8, 0.00011739199178892064_r8, & + 0.00010727392236965655_r8, 0.00011441552776629698_r8, & + 0.00012215551547861594_r8, 9.2983424325412725e-05_r8, & + 6.1103692673961254e-05_r8, 6.1694281762012115e-05_r8, & + 6.4713608745480837e-05_r8, 6.7381654561089112e-05_r8, & + 6.6737478367655785e-05_r8, 6.7676986825412341e-05_r8, & + 6.9376124384433479e-05_r8, 7.1192200442381774e-05_r8, & + 7.1586485250093392e-05_r8, 7.1972794395761433e-05_r8, & + 7.3944641367792475e-05_r8, 7.7907109395860966e-05_r8, & + 8.0866479900465769e-05_r8, 8.4259247975827881e-05_r8, & + 8.7589274541378947e-05_r8, 9.384860527174932e-05_r8, & + 9.837728527417109e-05_r8, 0.00010441297795785_r8, 0.0001099784743089863_r8, & + 0.00012062376473917337_r8, 0.0001237097260923563_r8, & + 0.00011986563000740686_r8, 0.0001194875041077304_r8, & + 0.00011831384951345613_r8, 0.00011309700183415105_r8, & + 0.00011379778066911473_r8, 0.00011693869252766229_r8, & + 0.00011854979179616925_r8, 0.00012068454729721128_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,40) / & + 7.8819671376668458e-05_r8, 0.00010505067720107344_r8, & + 8.8891211292363664e-05_r8, 0.00012475235267096074_r8, & + 0.0001210126722902428_r8, 0.00012855623686517119_r8, & + 9.9160884144807463e-05_r8, 7.0464555548555003e-05_r8, & + 6.2351923296169662e-05_r8, 6.5515555693451431e-05_r8, & + 6.6834709493267933e-05_r8, 6.7358409617859462e-05_r8, & + 6.7708558164873882e-05_r8, 6.8950739174322061e-05_r8, & + 7.0637068759987458e-05_r8, 7.2220402038215216e-05_r8, & + 7.2678701322249336e-05_r8, 7.3169183924608552e-05_r8, & + 7.5444829303536966e-05_r8, 7.9101321985048704e-05_r8, & + 8.1991037347920134e-05_r8, 8.5660823789542918e-05_r8, & + 8.9327685100607803e-05_r8, 9.4365693548793966e-05_r8, & + 0.00010000329354251976_r8, 0.00010482614664710017_r8, & + 0.00011127273062471698_r8, 0.00012116225179013463_r8, & + 0.00012335626239943202_r8, 0.0001204774029603268_r8, & + 0.00011986414809623551_r8, 0.00011985551341063543_r8, & + 0.00011964955557466512_r8, 0.00011975133325469841_r8, & + 0.00012059064823184333_r8, 0.00012112776724965909_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,41) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,41) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,41) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,41) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,41) / & + 0.00013781804320924404_r8, 0.00014089350754889964_r8, & + 0.00014387696583629294_r8, 0.00016241994093676689_r8, & + 0.00016834509258762808_r8, 0.00017087405734450309_r8, & + 0.00017716898370103787_r8, 0.00018223829385706998_r8, & + 0.00018443909144189125_r8, 0.00018697555560885851_r8, & + 0.00018974715631731815_r8, 0.00018986891880912432_r8, & + 0.00019568575895907305_r8, 0.00020583720329548223_r8, & + 0.00021523847956515649_r8, 0.00022646955177578655_r8, & + 0.00023295310783239508_r8, 0.00023389540659858615_r8, & + 0.00023643785190226633_r8, 0.00023810241574042008_r8, & + 0.00024034705435420267_r8, 0.00025112211629503149_r8, & + 0.00025284325834093528_r8, 0.00025558957937785767_r8, & + 0.00025803029975260519_r8, 0.00026027044383475313_r8, & + 0.00026168041577914151_r8, 0.0002635157824151004_r8, & + 0.00026170354919424158_r8, 0.00025626667883775446_r8, & + 0.00025096452468513866_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,41) / & + 0.0001272477183846357_r8, 0.00012900054630774057_r8, & + 0.0001306994573561135_r8, 0.00014235918835212293_r8, & + 0.00015161376288466623_r8, 0.0001563700930788292_r8, & + 0.00016960573926474133_r8, 0.00017865266048783395_r8, & + 0.00018279436412889426_r8, 0.00018653629759252216_r8, & + 0.00018968058426460148_r8, 0.00019254924336082029_r8, & + 0.00019704750880830189_r8, 0.00020316962344826573_r8, & + 0.00020814056630313364_r8, 0.00021414683648309394_r8, & + 0.00022050768217593114_r8, 0.00022400927676193206_r8, & + 0.00022868264362336431_r8, 0.00023278526432173526_r8, & + 0.00023609786876596113_r8, 0.00024467937712823774_r8, & + 0.0002476704810367043_r8, 0.0002513568452331749_r8, & + 0.00025472458997043525_r8, 0.00025804658404254594_r8, & + 0.0002607129481853226_r8, 0.00026497898152274695_r8, & + 0.00026556065653697222_r8, 0.00026151654095107944_r8, & + 0.00025487686510199299_r8, 0.00024574762474015576_r8, & + 0.00025040911583690842_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,41) / & + 7.9540784834706191e-05_r8, 7.9420065848632626e-05_r8, & + 8.1514395133406388e-05_r8, 8.4337530731207547e-05_r8, & + 9.3437546609222247e-05_r8, 9.1960108577610885e-05_r8, & + 0.00011018995678269901_r8, 0.00013536503886237597_r8, & + 0.00014950048135611941_r8, 0.00015711186069578958_r8, & + 0.00016339218894560677_r8, 0.00017199403203830394_r8, & + 0.00018065152680048522_r8, 0.00018545375447027548_r8, & + 0.0001883461295629695_r8, 0.00019144348009724933_r8, & + 0.00019654190306047005_r8, 0.00020093389228016377_r8, & + 0.00020537933424568945_r8, 0.00021059538832386438_r8, & + 0.00021476055114537013_r8, 0.00022097922302249714_r8, & + 0.00022536907006864186_r8, 0.00022997537047321281_r8, & + 0.0002349755610382971_r8, 0.0002392102830428624_r8, & + 0.00024326219437833903_r8, 0.00025265680207841928_r8, & + 0.00025996263755924051_r8, 0.00026325272734905941_r8, & + 0.00026288524567871189_r8, 0.00026248292306931822_r8, & + 0.00026694040890084853_r8, 0.00026799324403022697_r8, & + 0.00026865900370690444_r8, 0.00027241819819791925_r8, & + 0.00027419141339734171_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,41) / & + 2.5148947630048559e-05_r8, 2.4621752776521409e-05_r8, & + 2.6001856171563673e-05_r8, 2.9935618179151e-05_r8, & + 3.1374053976052409e-05_r8, 2.7830186034749701e-05_r8, & + 3.7536715064495261e-05_r8, 5.0962144411902064e-05_r8, & + 6.4528353650264349e-05_r8, 7.4324466632093414e-05_r8, & + 8.2520108974060599e-05_r8, 9.5742920466402595e-05_r8, & + 0.00011521919643116929_r8, 0.00012736961454012024_r8, & + 0.0001365958092377505_r8, 0.00014394504265222_r8, & + 0.00015777148301385473_r8, 0.00016745488610628575_r8, & + 0.00017526514640376058_r8, 0.0001806995001989023_r8, & + 0.00018526595980974871_r8, 0.00018996437665930594_r8, & + 0.00019434634034029138_r8, 0.00019884551652203024_r8, & + 0.00020303326093052147_r8, 0.00020804393334315562_r8, & + 0.00021257534430322837_r8, 0.00022392522369609334_r8, & + 0.00023431722830060048_r8, 0.00024404962839572332_r8, & + 0.00025180561238237448_r8, 0.00025829534546409534_r8, & + 0.00026207534679544762_r8, 0.00026382950818505733_r8, & + 0.00026664064072486776_r8, 0.00026867962104673749_r8, & + 0.00027133035849745602_r8, 0.00027442657898225887_r8, & + 0.00027744813532244934_r8, 0.00027880966657537951_r8, & + 0.00028017994054686714_r8, 0.00028020554111260986_r8, & + 0.00028026556329941013_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,41) / & + 4.4077368972768998e-06_r8, 4.0270384041023857e-06_r8, & + 4.5374498371384537e-06_r8, 1.006639641075364e-05_r8, & + 1.0086788913858277e-05_r8, 1.0396255005004892e-05_r8, & + 1.1965366210223141e-05_r8, 1.357074695994695e-05_r8, & + 1.9719306480270899e-05_r8, 2.673398708052566e-05_r8, & + 3.0862031984552461e-05_r8, 3.5652878246129802e-05_r8, & + 4.4103789664710385e-05_r8, 5.2442598740590206e-05_r8, & + 6.0397536380754595e-05_r8, 6.7040538729397784e-05_r8, & + 8.2420903146136762e-05_r8, 9.7303483015288085e-05_r8, & + 0.00011283556193235654_r8, 0.00012503411815550716_r8, & + 0.00013690272493902011_r8, 0.00014761828218763046_r8, & + 0.00015650423161729307_r8, 0.00016540016891459361_r8, & + 0.00017155997839770075_r8, 0.00017782646789051506_r8, & + 0.0001837814866278022_r8, 0.00019504502925966991_r8, & + 0.00020613473448748235_r8, 0.0002174630562063036_r8, & + 0.00022777454624474253_r8, 0.00023703145202082701_r8, & + 0.00024447365884002078_r8, 0.00025118526953155692_r8, & + 0.00025647850115185112_r8, 0.00026059410906016509_r8, & + 0.00026402463226923953_r8, 0.00026696027262672068_r8, & + 0.00027260178261983225_r8, 0.00026842494329475515_r8, & + 0.00027783287907010766_r8, 0.00027961602859177375_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,41) / & + 3.8842388101281273e-06_r8, 3.5557448883177656e-06_r8, & + 3.4787101673936183e-06_r8, 5.1828396893348576e-06_r8, & + 5.3926804574899948e-06_r8, 5.5424318094923897e-06_r8, & + 6.4399954287010529e-06_r8, 7.3938615558447451e-06_r8, & + 8.9326392944406446e-06_r8, 1.1786174784398777e-05_r8, & + 1.3096239491825325e-05_r8, 1.4614680494977219e-05_r8, & + 1.6893959458140469e-05_r8, 1.8758225258229481e-05_r8, & + 2.1193065965376521e-05_r8, 2.3485635161165714e-05_r8, & + 2.8408984965968375e-05_r8, 3.6736650297603779e-05_r8, & + 4.7498764131892166e-05_r8, 6.0439154586905947e-05_r8, & + 7.5103231849492271e-05_r8, 9.106870990718702e-05_r8, & + 0.00010529316587050198_r8, 0.00012126631240466521_r8, & + 0.00013622299246926066_r8, 0.00014957338701809507_r8, & + 0.00016082665948604686_r8, 0.00017745941997553968_r8, & + 0.00018827936005139453_r8, 0.00019925731699499372_r8, & + 0.00021353752099277992_r8, 0.00022410281328930646_r8, & + 0.00023247047352390612_r8, 0.00024115996852160427_r8, & + 0.00024737685399138596_r8, 0.00025207391549800993_r8, & + 0.00025598309722233337_r8, 0.00025857949777228259_r8, & + 0.00026349657519908129_r8, 0.00026664176153526266_r8, & + 0.00027783287907010766_r8, 0.00027961602859177375_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,41) / & + 5.2790494828672062e-06_r8, 5.3739070646067243e-06_r8, & + 4.9945111311829185e-06_r8, 4.3415242268772342e-06_r8, & + 4.3711856920254016e-06_r8, 4.5257803694190824e-06_r8, & + 5.6048528214767332e-06_r8, 6.5688383365265689e-06_r8, & + 7.5157214512004985e-06_r8, 8.5634382472816795e-06_r8, & + 9.2674688613789865e-06_r8, 1.057198384246458e-05_r8, & + 1.2312010589021925e-05_r8, 1.3320752113538803e-05_r8, & + 1.4404557324791235e-05_r8, 1.5617516482456517e-05_r8, & + 1.8446942179566038e-05_r8, 2.4494971328727655e-05_r8, & + 3.444910969545243e-05_r8, 4.6640812016107519e-05_r8, & + 6.1364918444072942e-05_r8, 7.6898452837277965e-05_r8, & + 9.3624788452801675e-05_r8, 0.00011116366525399972_r8, & + 0.00012859030973545613_r8, 0.00014411338970181514_r8, & + 0.0001568651848824128_r8, 0.00017807051988027965_r8, & + 0.0001877709273337163_r8, 0.00019656526187919411_r8, & + 0.00021027572429925556_r8, 0.00022390637577457805_r8, & + 0.00023337078161653506_r8, 0.00024093921295494956_r8, & + 0.00024797185402024248_r8, 0.00025223048839821585_r8, & + 0.00025598645958681851_r8, 0.00025930492199843406_r8, & + 0.00026614437066292549_r8, 0.00026336849513898162_r8, & + 0.00026328242531626299_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,41) / & + 5.071841626564663e-06_r8, 5.8090396604835839e-06_r8, & + 5.6416232426127628e-06_r8, 5.2569877293748134e-06_r8, & + 5.0966928368374197e-06_r8, 5.1902403821419297e-06_r8, & + 5.5492629390975425e-06_r8, 6.3874391170316142e-06_r8, & + 6.8733594202550491e-06_r8, 7.2488596786836079e-06_r8, & + 7.6933437179941124e-06_r8, 8.6340391735338598e-06_r8, & + 1.036793827993365e-05_r8, 1.1858057105069311e-05_r8, & + 1.2939958188881922e-05_r8, 1.413438618093816e-05_r8, & + 1.8300248771986752e-05_r8, 2.6007377380024427e-05_r8, & + 3.7035270228985829e-05_r8, 4.8639866600428699e-05_r8, & + 6.3298627678458433e-05_r8, 7.8039901227597381e-05_r8, & + 9.4548287201407435e-05_r8, 0.00011267513599231574_r8, & + 0.00013244565643210412_r8, 0.00014953762993943383_r8, & + 0.00016311976589160787_r8, 0.00018217793796197952_r8, & + 0.00018924064442431404_r8, 0.00019574750257033368_r8, & + 0.00020546724559394953_r8, 0.0002200787900703306_r8, & + 0.00023208988388612788_r8, 0.00024170104208409436_r8, & + 0.00024937128685040733_r8, 0.00025388228880470067_r8, & + 0.00025794202709214427_r8, 0.00026088023637596541_r8, & + 0.00026590832945492268_r8, 0.00026547130024276981_r8, & + 0.00026478927425532166_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,41) / & + 4.5572103889589922e-06_r8, 5.251303461544603e-06_r8, & + 4.8129496547246985e-06_r8, 4.2852600481385367e-06_r8, & + 4.3844167820118805e-06_r8, 4.6630341210088935e-06_r8, & + 4.9995995573951133e-06_r8, 5.7268724620416694e-06_r8, & + 6.1439192234789375e-06_r8, 6.5341865289693482e-06_r8, & + 6.949575168372598e-06_r8, 7.6961971026462793e-06_r8, & + 9.1997716963095433e-06_r8, 1.1129700948787516e-05_r8, & + 1.2553393873557572e-05_r8, 1.4781930866649316e-05_r8, & + 2.0388284900662993e-05_r8, 2.9510148096952362e-05_r8, & + 4.0595213103623879e-05_r8, 5.1690627554093951e-05_r8, & + 6.6188324815004914e-05_r8, 8.2768356796854314e-05_r8, & + 9.9257739926588047e-05_r8, 0.00011709510070420358_r8, & + 0.00013713791396352141_r8, 0.00015475617242805581_r8, & + 0.00016987957640998201_r8, 0.00018919083961039892_r8, & + 0.00019384189879840014_r8, 0.00019631576993961_r8, & + 0.00020357242003162117_r8, 0.00021723262582338642_r8, & + 0.00022941255442474593_r8, 0.00023951421011704133_r8, & + 0.00024742806253397643_r8, 0.00025191730908292532_r8, & + 0.00025601151987381365_r8, 0.00025864169496588328_r8, & + 0.00026201192955976882_r8, 0.00026232192830214694_r8, & + 0.00026176766782321371_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,41) / & + 4.0204402798076669e-06_r8, 4.4570621064064094e-06_r8, & + 4.176604071133212e-06_r8, 3.3087813641983562e-06_r8, & + 3.3592110600058401e-06_r8, 3.3992093441173145e-06_r8, & + 3.3793822130558016e-06_r8, 3.8647468119640058e-06_r8, & + 4.2034176803717069e-06_r8, 4.7175992154718225e-06_r8, & + 5.1711838099675426e-06_r8, 5.8660449415595395e-06_r8, & + 7.0960505731182033e-06_r8, 8.773247228772721e-06_r8, & + 1.0094947507921756e-05_r8, 1.2103087970598939e-05_r8, & + 1.7973950207716125e-05_r8, 2.626518850985639e-05_r8, & + 3.7905308702065847e-05_r8, 5.0492192526825927e-05_r8, & + 6.5521230300332541e-05_r8, 8.429398586150799e-05_r8, & + 0.00010370876644304503_r8, 0.00012219070281052619_r8, & + 0.00014265040468911016_r8, 0.00016035484536304668_r8, & + 0.00017554036360839992_r8, 0.00019628484322600819_r8, & + 0.00020228279141131219_r8, 0.00020260980124089055_r8, & + 0.00020537883466890071_r8, 0.00021722054657495344_r8, & + 0.00022894376002583912_r8, 0.00024028350778584152_r8, & + 0.00024787219565954759_r8, 0.00025162401969492558_r8, & + 0.00025543736253763827_r8, 0.00025762343519263633_r8, & + 0.00026052580091285389_r8, 0.00026109427082745304_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,41) / & + 3.8404364744272981e-06_r8, 4.0870156361851025e-06_r8, & + 4.0795081992971716e-06_r8, 3.665958785502543e-06_r8, & + 3.7531290264638922e-06_r8, 3.8595835109275976e-06_r8, & + 3.4599765658425237e-06_r8, 3.3560845495903088e-06_r8, & + 3.3295955490715007e-06_r8, 3.3251404748043114e-06_r8, & + 3.5089273276908609e-06_r8, 3.8674065828897708e-06_r8, & + 4.8593815143661834e-06_r8, 6.3531370892067857e-06_r8, & + 7.884195045401145e-06_r8, 9.6968026910248305e-06_r8, & + 1.5025943261463552e-05_r8, 2.1964558367484395e-05_r8, & + 3.3082897887571917e-05_r8, 4.5714144662920433e-05_r8, & + 6.3143458901265731e-05_r8, 8.364775965934306e-05_r8, & + 0.00010528705625555512_r8, 0.00012703455110624789_r8, & + 0.00015053945168933675_r8, 0.00017202421353042477_r8, & + 0.00018868211771059821_r8, 0.00021060805214437309_r8, & + 0.00021349607656353972_r8, 0.00021108496377841859_r8, & + 0.00021570141630125123_r8, 0.00022629388222544927_r8, & + 0.00023499215352185083_r8, 0.00024606917222931183_r8, & + 0.00025238955539820545_r8, 0.00025528877700628684_r8, & + 0.00025821857535674207_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,41) / & + 5.3515650574157732e-06_r8, 5.3690932833113865e-06_r8, & + 5.21678199023424e-06_r8, 6.2354705345975799e-06_r8, & + 5.4311958607823141e-06_r8, 5.0470554912003452e-06_r8, & + 5.6425355679085688e-06_r8, 5.2679235589420896e-06_r8, & + 4.5539203869362592e-06_r8, 3.8352839545850926e-06_r8, & + 3.5278594918781854e-06_r8, 3.3298659856580572e-06_r8, & + 4.0698773672875757e-06_r8, 5.4768921675617354e-06_r8, & + 7.1825707030979651e-06_r8, 9.2068958297265831e-06_r8, & + 1.5176153951835231e-05_r8, 2.3507985851309283e-05_r8, & + 3.66374763441064e-05_r8, 5.2795480597542196e-05_r8, & + 7.4992223544562557e-05_r8, 9.8773514768895422e-05_r8, & + 0.0001227533326818053_r8, 0.00014581590858640326_r8, & + 0.00016812240701840795_r8, 0.00018790082641897076_r8, & + 0.00020309075428679601_r8, 0.00022567888186194527_r8, & + 0.00022600947803437169_r8, 0.00022158364147189719_r8, & + 0.00022707022532898681_r8, 0.00023951701472027973_r8, & + 0.00025042864610921953_r8, 0.00026189443795884658_r8, & + 0.00026744374164820012_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,41) / & + 7.7086349171571641e-06_r8, 7.433084494765594e-06_r8, & + 6.3243773012090067e-06_r8, 7.0744471164189355e-06_r8, & + 6.5541928749431035e-06_r8, 6.1484216972016935e-06_r8, & + 5.4339496768025874e-06_r8, 5.8438172250461116e-06_r8, & + 5.7896643216503386e-06_r8, 5.017465891452916e-06_r8, & + 4.1612048788272795e-06_r8, 3.4140991737660747e-06_r8, & + 3.6448898358255608e-06_r8, 4.8998181184972227e-06_r8, & + 7.0134551563768215e-06_r8, 9.4441770403709444e-06_r8, & + 1.6327276061717239e-05_r8, 2.6772350588121116e-05_r8, & + 4.2354218779988051e-05_r8, 6.4861994374378737e-05_r8, & + 9.1433971931845299e-05_r8, 0.0001186004316553695_r8, & + 0.00014354752523359005_r8, 0.00016560915535179086_r8, & + 0.00018592563441222206_r8, 0.00020350000638673228_r8, & + 0.00021720582962338357_r8, 0.00023945095275946956_r8, & + 0.00024520521189510733_r8, 0.00024350909438668425_r8, & + 0.00024836047937907294_r8, 0.00026094339957317183_r8, & + 0.00026956654967187583_r8, 0.00026706981572261471_r8, & + 0.0002463919523888788_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,41) / & + 5.8867071621787615e-06_r8, 5.6313934451795462e-06_r8, & + 4.6863120901685426e-06_r8, 4.0520853486779926e-06_r8, & + 3.9845687437832824e-06_r8, 4.0162455958622068e-06_r8, & + 3.9126311552316161e-06_r8, 3.9876107220369072e-06_r8, & + 4.3869095878515659e-06_r8, 4.6569080165930549e-06_r8, & + 4.0581180778934313e-06_r8, 4.3996673162664546e-06_r8, & + 5.2489415402843356e-06_r8, 7.3880707400662174e-06_r8, & + 1.0970761411724811e-05_r8, 1.4344037636385548e-05_r8, & + 2.326963709890512e-05_r8, 3.7859619231264848e-05_r8, & + 5.8908491021396305e-05_r8, 8.7751600144786251e-05_r8, & + 0.00011486115073741975_r8, 0.00014121475323390943_r8, & + 0.00016484984345617427_r8, 0.00018591795599586772_r8, & + 0.00020427590319440671_r8, 0.00021957371144993749_r8, & + 0.00023221463668141748_r8, 0.00025393945185218935_r8, & + 0.00026187894911297333_r8, 0.00026567299875408963_r8, & + 0.00027304631544951448_r8, 0.00027541288829548898_r8, & + 0.00027836431012539695_r8, 0.000278147831284888_r8, & + 0.00027508569467927325_r8, 0.00025007553076330792_r8, & + 0.00025143510533636116_r8, 0.0002513997065617597_r8, & + 0.00025142038536608738_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,41) / & + 3.6283890794680892e-06_r8, 3.5445212896032003e-06_r8, & + 3.5624496922828745e-06_r8, 3.8264150235084098e-06_r8, & + 3.8792654202571539e-06_r8, 3.9872142485086151e-06_r8, & + 4.492875419417725e-06_r8, 4.507560675912825e-06_r8, & + 4.3749475623020043e-06_r8, 4.5581576170316618e-06_r8, & + 4.8678722679386886e-06_r8, 6.4138313703873706e-06_r8, & + 1.0436405553251783e-05_r8, 1.580141819205272e-05_r8, & + 2.2465886202999065e-05_r8, 2.8718344135941879e-05_r8, & + 4.2885510613802725e-05_r8, 6.4390851062503388e-05_r8, & + 9.1044583621283277e-05_r8, 0.00011841914415668509_r8, & + 0.00014484022065596345_r8, 0.00016951070764165797_r8, & + 0.00019058390486472766_r8, 0.00020989931493638385_r8, & + 0.00022790910271660686_r8, 0.00024315985884668627_r8, & + 0.00025562582342679815_r8, 0.00027752079322571592_r8, & + 0.00028634493938809629_r8, 0.0002923604875083299_r8, & + 0.00030008648934027113_r8, 0.00030373489724125623_r8, & + 0.00030946085759688251_r8, 0.00032079374560742432_r8, & + 0.00032173649932431614_r8, 0.00030205438156720422_r8, & + 0.00028542287649079815_r8, 0.00027059784425293305_r8, & + 0.00026361822472539186_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,41) / & + 4.60671847682068e-06_r8, 4.6608300745190592e-06_r8, & + 4.37847915267366e-06_r8, 3.2498960514882939e-06_r8, & + 3.3518744607756248e-06_r8, 3.5892299139824522e-06_r8, & + 4.3099813594710901e-06_r8, 4.8739451888273446e-06_r8, & + 4.918183034822706e-06_r8, 5.667897003547222e-06_r8, & + 6.8539936141591082e-06_r8, 1.0413364820609815e-05_r8, & + 2.0657712117315124e-05_r8, 3.1165216576060949e-05_r8, & + 4.3096876587691271e-05_r8, 5.4220925144756036e-05_r8, & + 7.402320476592067e-05_r8, 9.9323096574731174e-05_r8, & + 0.00012320682188760422_r8, 0.00014929596002566888_r8, & + 0.0001746031024688167_r8, 0.00020267138040994462_r8, & + 0.00022376650660038317_r8, 0.00024357850416598825_r8, & + 0.00026362509790278616_r8, 0.00027847286977862904_r8, & + 0.00029107040065322256_r8, 0.00031565030335784427_r8, & + 0.00033073791773810247_r8, 0.00034312327891412349_r8, & + 0.00035198048277959538_r8, 0.00035325979912056516_r8, & + 0.00036051607468637326_r8, 0.00038352531066456234_r8, & + 0.0003901012098133059_r8, 0.00039101216362560616_r8, & + 0.0003942786287064134_r8, 0.00039452631043664468_r8, & + 0.00039644540290281635_r8, 0.00039609079017538729_r8, & + 0.00039572326167004241_r8, 0.00039589045511217584_r8, & + 0.00039538857133946802_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,41) / & + 3.4185599800905362e-06_r8, 3.7584858640361277e-06_r8, & + 4.2393731488424209e-06_r8, 3.0128471212029109e-06_r8, & + 3.0771273080588507e-06_r8, 3.4105660731481427e-06_r8, & + 4.3122921138747858e-06_r8, 5.6105592860259717e-06_r8, & + 6.1337871207130869e-06_r8, 7.410793146370802e-06_r8, & + 1.0023197932331507e-05_r8, 1.6375553845079257e-05_r8, & + 3.3530297881276976e-05_r8, 4.8751795985391479e-05_r8, & + 6.1557084545603083e-05_r8, 7.1885167491876048e-05_r8, & + 9.0356628903181553e-05_r8, 0.00011646849284999909_r8, & + 0.00014094291593645732_r8, 0.00016802870130258103_r8, & + 0.00019558067456567474_r8, 0.00022271738651098407_r8, & + 0.00024684306524414609_r8, 0.00026875995911703583_r8, & + 0.00029175535763554004_r8, 0.00030742260039235303_r8, & + 0.00032545743854084315_r8, 0.0003538327468642787_r8, & + 0.00037832210453081754_r8, 0.00039354414262243883_r8, & + 0.00040195568425369847_r8, 0.00040544396451668545_r8, & + 0.00041076733769851328_r8, 0.00041135998973689122_r8, & + 0.00041051539522734642_r8, 0.00041013148106973222_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,41) / & + 3.8237123401677436e-06_r8, 4.3325886994268745e-06_r8, & + 4.9743723297123082e-06_r8, 4.0011308402704692e-06_r8, & + 3.9381620912329235e-06_r8, 4.2737958266501058e-06_r8, & + 4.6923061295307827e-06_r8, 5.922835565185615e-06_r8, & + 9.18481150532943e-06_r8, 1.2787835810895614e-05_r8, & + 1.7026414914989918e-05_r8, 2.3716185497894099e-05_r8, & + 4.510292986005897e-05_r8, 6.080182751152249e-05_r8, & + 7.0640290025730064e-05_r8, 7.8066040550881874e-05_r8, & + 9.6853008264788419e-05_r8, 0.00012648982824770678_r8, & + 0.00015556225106350057_r8, 0.00018443910281223282_r8, & + 0.00021408503316644719_r8, 0.00023766010279054766_r8, & + 0.00026141419246767598_r8, 0.00028456894391631259_r8, & + 0.00030769892463982442_r8, 0.00032470015925710911_r8, & + 0.00034274820363302741_r8, 0.00037283030767182746_r8, & + 0.00039923135531234292_r8, 0.00041323232918531527_r8, & + 0.00042413776997674284_r8, 0.00042799256215349279_r8, & + 0.00042902469565085611_r8, 0.00042707320631660143_r8, & + 0.00042362640710424189_r8, 0.00041508564026651688_r8, & + 0.00040174779228177555_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,41) / & + 4.1118668178108094e-06_r8, 4.4977031162541158e-06_r8, & + 5.0934619882677363e-06_r8, 5.594587798410682e-06_r8, & + 5.7622098142879555e-06_r8, 6.1008313603630599e-06_r8, & + 5.0689123145654727e-06_r8, 5.6894758578731676e-06_r8, & + 1.1378002420956107e-05_r8, 1.8980675642194225e-05_r8, & + 2.7541486152067146e-05_r8, 3.7976776529718914e-05_r8, & + 6.741520954571176e-05_r8, 8.56822968582025e-05_r8, & + 9.3749787491253738e-05_r8, 9.9981145792341568e-05_r8, & + 0.00011861067150746898_r8, 0.0001489433780590753_r8, & + 0.00017877192916612741_r8, 0.00020784591752117231_r8, & + 0.00023569468830149525_r8, 0.00026264398035329031_r8, & + 0.00028834398006791348_r8, 0.00031148640292246886_r8, & + 0.00033266977088602907_r8, 0.00035041958152646542_r8, & + 0.00036684570936593597_r8, 0.000396129485954075_r8, & + 0.00041951061629788935_r8, 0.00043388688288178659_r8, & + 0.000442455706730224_r8, 0.00044553097905643073_r8, & + 0.00044497305793173649_r8, 0.00044305324122390771_r8, & + 0.00043921910197615557_r8, 0.00043265422275069775_r8, & + 0.00042312675689828766_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,41) / & + 4.3105151059241601e-06_r8, 4.4116917339325113e-06_r8, & + 4.7272397767671007e-06_r8, 6.428424940138636e-06_r8, & + 6.5728205087370096e-06_r8, 6.6673290813403764e-06_r8, & + 5.1515953452695296e-06_r8, 5.8843679445398714e-06_r8, & + 1.2448508269339338e-05_r8, 2.2017381808540875e-05_r8, & + 3.7509513679679247e-05_r8, 5.8294745986714798e-05_r8, & + 9.1704944307527275e-05_r8, 0.00010999085390676577_r8, & + 0.00011650367864694782_r8, 0.00012380878404384931_r8, & + 0.00014284520205517341_r8, 0.00017029761152478819_r8, & + 0.00020110687900826122_r8, 0.00022950098080408329_r8, & + 0.00025473983151323893_r8, 0.0002828288194390368_r8, & + 0.00030841640438444905_r8, 0.00033234489903183898_r8, & + 0.00035404500557620843_r8, 0.00037290246420535595_r8, & + 0.00038953015577061995_r8, 0.0004200080645089922_r8, & + 0.00044167883750947294_r8, 0.00045572859425105973_r8, & + 0.00046239054706108694_r8, 0.00046461920488260892_r8, & + 0.00046122616775137065_r8, 0.00045832234104953605_r8, & + 0.00045420813511143544_r8, 0.00044795991175606426_r8, & + 0.00044036539349251447_r8, 0.0004340609944639076_r8, & + 0.00042653554154594282_r8, 0.00042224944712233495_r8, & + 0.00041716349913410608_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,41) / & + 4.7614602926016098e-06_r8, 4.7432213321076855e-06_r8, & + 4.7627389228775478e-06_r8, 5.4595443959395258e-06_r8, & + 5.4755154751495842e-06_r8, 5.4316855576450919e-06_r8, & + 5.6602942323813123e-06_r8, 5.7837622632818989e-06_r8, & + 9.8987735333824832e-06_r8, 1.6594034288113084e-05_r8, & + 2.8604077699032415e-05_r8, 4.8986508863185179e-05_r8, & + 8.3019492604109643e-05_r8, 0.00011036256196163368_r8, & + 0.00012488750102319335_r8, 0.00013798494961667676_r8, & + 0.00016103417912191858_r8, 0.00018902235165368865_r8, & + 0.00022008583200921575_r8, 0.00024836341708215872_r8, & + 0.00027827924364327004_r8, 0.00030573837376051874_r8, & + 0.00033227480615103262_r8, 0.00035780707900911411_r8, & + 0.00038011964817507226_r8, 0.00039994920886905121_r8, & + 0.0004164100155801945_r8, 0.00044500695418399935_r8, & + 0.00046467245431669799_r8, 0.00047527453784647062_r8, & + 0.00048247335419344256_r8, 0.00048434921623027681_r8, & + 0.00048397279968691195_r8, 0.00047995185648086686_r8, & + 0.00047448505126564513_r8, 0.00046644418422324424_r8, & + 0.00045781700670529253_r8, 0.00045051180554825132_r8, & + 0.00044272362419206756_r8, 0.00043831151965034515_r8, & + 0.00043310493522754793_r8, 0.00043348134434758912_r8, & + 0.00043294125945371773_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,41) / & + 5.3991282644063739e-06_r8, 5.4078096328111962e-06_r8, & + 5.2966098822970006e-06_r8, 5.2945068637708185e-06_r8, & + 5.3340451883255996e-06_r8, 5.3569033442596882e-06_r8, & + 5.3251221300663791e-06_r8, 4.9235301492918456e-06_r8, & + 6.4323875658283399e-06_r8, 8.2573940713083836e-06_r8, & + 1.1432217975407577e-05_r8, 1.896649895341769e-05_r8, & + 3.9132042123726007e-05_r8, 6.7371282109833652e-05_r8, & + 9.5874845446069229e-05_r8, 0.00012567949460980617_r8, & + 0.00017740713879235852_r8, 0.00021578422583159283_r8, & + 0.00024812177508362236_r8, 0.00027795764566448928_r8, & + 0.00031059862096879677_r8, 0.00033844723158214449_r8, & + 0.00036470601051346181_r8, 0.00038874746314051942_r8, & + 0.00040956982441964495_r8, 0.000427535534011529_r8, & + 0.00044168820988117421_r8, 0.00046772182920391846_r8, & + 0.00048544841139021148_r8, 0.00049411901366160429_r8, & + 0.00050222538983744978_r8, 0.00050406861015426195_r8, & + 0.00050704351382113071_r8, 0.00050412812401492871_r8, & + 0.00049756485279776289_r8, 0.00048905754301173377_r8, & + 0.00047953859825947018_r8, 0.00047011588292607812_r8, & + 0.000461559746409953_r8, 0.00045422283435037747_r8, & + 0.00044799823973263659_r8, 0.00044649966664128373_r8, & + 0.0004466820948217924_r8, 0.00044815731763373558_r8, 9e90_r8 & + / +data saar_ref(:,27,41) / & + 5.9423268476563272e-06_r8, 5.883502245889776e-06_r8, & + 5.6622458690719428e-06_r8, 5.581900425094628e-06_r8, & + 5.5373705650495052e-06_r8, 5.4045069575611045e-06_r8, & + 5.3566849069879419e-06_r8, 5.6856091592432714e-06_r8, & + 6.3036876918187808e-06_r8, 6.8158719938355961e-06_r8, & + 8.0885460919131593e-06_r8, 1.0994085903447301e-05_r8, & + 2.056010311533092e-05_r8, 3.628979025871615e-05_r8, & + 5.8640005933397736e-05_r8, 8.8827341202956454e-05_r8, & + 0.00016704249920245244_r8, 0.00023582224218072269_r8, & + 0.00028402493586389594_r8, 0.00032099969648345216_r8, & + 0.00035397475182616655_r8, 0.00037859839743324745_r8, & + 0.00040151873294955219_r8, 0.00042254776449655385_r8, & + 0.00044179694812720007_r8, 0.00045745773907888694_r8, & + 0.00046550498804846064_r8, 0.00049173652922975572_r8, & + 0.00050789895017392566_r8, 0.00051707680750878336_r8, & + 0.00052293896696051516_r8, 0.00052511635736043189_r8, & + 0.00052479437040443974_r8, 0.0005221268946833383_r8, & + 0.00051647915390945357_r8, 0.00050979809944655733_r8, & + 0.0005004412086618736_r8, 0.00049074971458010577_r8, & + 0.00048104751957076956_r8, 0.00047262870385346016_r8, & + 0.00046373735187160828_r8, 0.00046029271935266999_r8, & + 0.00046016282904114093_r8, 0.00046087753743381663_r8, 9e90_r8 & + / +data saar_ref(:,28,41) / & + 5.8428046971474233e-06_r8, 6.0234130056328711e-06_r8, & + 5.9154464549087523e-06_r8, 5.3234598508166708e-06_r8, & + 5.6107847907622702e-06_r8, 5.578878426041322e-06_r8, & + 6.1776997240186809e-06_r8, 6.5116345273408724e-06_r8, & + 6.8573614645761854e-06_r8, 7.9727224543918199e-06_r8, & + 9.8531029526429271e-06_r8, 1.2321206811161498e-05_r8, & + 2.0187879741045439e-05_r8, 2.9253346644145943e-05_r8, & + 4.354263114913784e-05_r8, 6.1929414730202799e-05_r8, & + 0.00012817700233488011_r8, 0.0002098400833425855_r8, & + 0.00028314092319678782_r8, 0.00033727203983814841_r8, & + 0.00038060839026923647_r8, 0.00041154874487247731_r8, & + 0.00043368855800085873_r8, 0.00045634489460805454_r8, & + 0.0004755507625294925_r8, 0.00049018391068859977_r8, & + 0.00049539740841688903_r8, 0.00051838448517546121_r8, & + 0.00053182867314009816_r8, 0.00053909771960481605_r8, & + 0.00054158831166921785_r8, 0.00054157111359359625_r8, & + 0.00053915046477964127_r8, 0.00053630591717570241_r8, & + 0.0005325137003429763_r8, 0.0005273012614117168_r8, & + 0.00051955495647248962_r8, 0.00051176514325702242_r8, & + 0.00050337339209486774_r8, 0.00049563116599978386_r8, & + 0.00048733762456601258_r8, 0.00048253152586056431_r8, & + 0.00048020186448624_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,41) / & + 5.3601690833593187e-06_r8, 6.3084045341962713e-06_r8, & + 6.7498540950763553e-06_r8, 5.2589838286797983e-06_r8, & + 5.5340890657678808e-06_r8, 5.8051762792582366e-06_r8, & + 6.6247790170497057e-06_r8, 6.8822174066079339e-06_r8, & + 7.8428860970772187e-06_r8, 9.6287039760928414e-06_r8, & + 1.1178987189126637e-05_r8, 1.2895227902989218e-05_r8, & + 1.8291419803019517e-05_r8, 2.4609174885424116e-05_r8, & + 3.4856334739916734e-05_r8, 4.9467128158691259e-05_r8, & + 9.3192775147702358e-05_r8, 0.00015889665603595549_r8, & + 0.00023925666289426241_r8, 0.00031523338823806159_r8, & + 0.0003781354080537918_r8, 0.00042468729357978275_r8, & + 0.00045426626194460776_r8, 0.00048051019944863135_r8, & + 0.00050043475758654982_r8, 0.00051658070240486516_r8, & + 0.00052969680328340243_r8, 0.00055260601581675933_r8, & + 0.00056102878619534384_r8, 0.00056364717654792398_r8, & + 0.00056287970387090163_r8, 0.00056110871806345716_r8, & + 0.00055814139728967377_r8, 0.00055452504569812849_r8, & + 0.00055048116436401081_r8, 0.00054555632724194762_r8, & + 0.00053855380826132993_r8, 0.00053287862793714106_r8, & + 0.0005253785997927818_r8, 0.00051778409010748135_r8, & + 0.00051001662318398528_r8, 0.00050542411122213391_r8, & + 0.00050234831430059576_r8, 0.00050107575126055563_r8, & + 0.00050191667034619504_r8 & + / +data saar_ref(:,30,41) / & + 5.8606672959106495e-06_r8, 6.9112511003744829e-06_r8, & + 7.4383227935538702e-06_r8, 6.5927584732638104e-06_r8, & + 7.2074466003756103e-06_r8, 7.6714078254528296e-06_r8, & + 8.8342563363927813e-06_r8, 8.9639034912698265e-06_r8, & + 1.0428669175297803e-05_r8, 1.3066104114454549e-05_r8, & + 1.4859484373178265e-05_r8, 1.7378420874262774e-05_r8, & + 2.2678115171412255e-05_r8, 2.9317490528816744e-05_r8, & + 3.9054712618110791e-05_r8, 5.3891462414935752e-05_r8, & + 9.6073636829436813e-05_r8, 0.00015588236379264156_r8, & + 0.00023882416341325637_r8, 0.00032022112822527977_r8, & + 0.00038901114595261358_r8, 0.00044088957352699838_r8, & + 0.00047785910049567962_r8, 0.00051043988914763086_r8, & + 0.00053320361037758235_r8, 0.00055111903010841173_r8, & + 0.0005682458409448411_r8, 0.00059630119546900885_r8, & + 0.00060288363134564787_r8, 0.00060087196122721035_r8, & + 0.0005957691325193746_r8, 0.00059073460159594026_r8, & + 0.00058497238621715538_r8, 0.00058017328880343377_r8, & + 0.00057439174778592752_r8, 0.00056989446367989227_r8, & + 0.00056328272400241934_r8, 0.00055744400863915172_r8, & + 0.00055030668114972384_r8, 0.00054255983177314642_r8, & + 0.00053177375562700002_r8, 0.0005287269418973651_r8, & + 0.00052468833943369354_r8, 0.00052148001284759913_r8, & + 0.00051934241348088788_r8 & + / +data saar_ref(:,31,41) / & + 1.0662625565419389e-05_r8, 1.0980154111100896e-05_r8, & + 1.0288077152631227e-05_r8, 1.0929098180835745e-05_r8, & + 1.1175202486464582e-05_r8, 1.2843068157756425e-05_r8, & + 1.7996376313425464e-05_r8, 2.3177680446087888e-05_r8, & + 2.9055746896586316e-05_r8, 3.537424792340244e-05_r8, & + 4.0937848465627541e-05_r8, 4.6473301269532867e-05_r8, & + 5.4701698533967903e-05_r8, 6.6625459310357387e-05_r8, & + 8.3146813035326611e-05_r8, 0.00010611036817907008_r8, & + 0.00016758817087375702_r8, 0.00024401030112067648_r8, & + 0.00032414642755160028_r8, 0.00039812143059715698_r8, & + 0.00045154327440048893_r8, 0.00049259302561203598_r8, & + 0.00052411512866710054_r8, 0.00055054120932005975_r8, & + 0.00057097571593416551_r8, 0.00058923474067954255_r8, & + 0.00060541760147108336_r8, 0.00062849602700557517_r8, & + 0.00063545950309709079_r8, 0.00063307662377244396_r8, & + 0.00062612436711280395_r8, 0.00061903386082715691_r8, & + 0.00061159770311109004_r8, 0.00060380576721538824_r8, & + 0.00059640204955026938_r8, 0.00059123761558005806_r8, & + 0.00058638350318267413_r8, 0.00058252711536123001_r8, & + 0.00057902951577927335_r8, 0.00057638762689356357_r8, & + 0.00056013915853170802_r8, 0.00054875119810222244_r8, & + 0.00054351216448746771_r8, 0.00053898311933997523_r8, 9e90_r8 & + / +data saar_ref(:,32,41) / & + 1.7863516452060799e-05_r8, 1.9926687311204263e-05_r8, & + 2.0954855829286111e-05_r8, 2.8120151010692159e-05_r8, & + 3.4543538324247081e-05_r8, 4.5500535162262041e-05_r8, & + 6.0603879706401172e-05_r8, 7.4652914524276026e-05_r8, & + 8.5795380908312068e-05_r8, 9.4946230884844374e-05_r8, & + 0.00010377224562449617_r8, 0.00011261098499562485_r8, & + 0.00012924379312606113_r8, 0.00015244396478297778_r8, & + 0.00018694780018104732_r8, 0.00022546865475856046_r8, & + 0.00030085345707554588_r8, 0.00037103252303491527_r8, & + 0.00043126049146691788_r8, 0.00048677567011647137_r8, & + 0.00052299495440217463_r8, 0.00055527172657470565_r8, & + 0.000578501932878185_r8, 0.00059955777190197823_r8, & + 0.00061429308476785996_r8, 0.00062997156224767258_r8, & + 0.00064356975302692942_r8, 0.00065732257650459168_r8, & + 0.00066235971710463756_r8, 0.00066056367588305392_r8, & + 0.00065117472539424361_r8, 0.00064272743792614842_r8, & + 0.00063472041635881664_r8, 0.00062571359673435872_r8, & + 0.00061949257393285277_r8, 0.00061269199219329059_r8, & + 0.00060702990239433084_r8, 0.00060416802399938037_r8, & + 0.00060381897905218134_r8, 0.000605314115131601_r8, & + 0.00060349571283428184_r8, 0.00059864320079207865_r8, & + 0.00059135853757020271_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,41) / & + 3.539347539726507e-05_r8, 4.2591591932946702e-05_r8, & + 4.9235806690757012e-05_r8, 7.1484991815299305e-05_r8, & + 8.5086382800275004e-05_r8, 0.00010859633740438973_r8, & + 0.00012198341421750641_r8, 0.00014586116489575781_r8, & + 0.00016640326905939697_r8, 0.00018223388320027988_r8, & + 0.00019760699968284889_r8, 0.00021271601975693789_r8, & + 0.00023480593141235307_r8, 0.00026916423385347935_r8, & + 0.00031091188079263537_r8, 0.00034958452279900445_r8, & + 0.00041665956149250868_r8, 0.00047028457509349383_r8, & + 0.00051246218411833721_r8, 0.0005506331006822076_r8, & + 0.00057829956611452418_r8, 0.00060612716053863732_r8, & + 0.00062651830027377899_r8, 0.00064372151005710298_r8, & + 0.00065564860282716112_r8, 0.00066643872171614669_r8, & + 0.00067509555047332026_r8, 0.00068474156012868605_r8, & + 0.00068809441227307504_r8, 0.00068536148742312833_r8, & + 0.00067509441425816_r8, 0.0006633306980580357_r8, & + 0.00065381159389093179_r8, 0.00064627004232016376_r8, & + 0.00064034225312040313_r8, 0.00063265981161353911_r8, & + 0.0006266676128620117_r8, 0.0006237462992216055_r8, & + 0.00062274162942570546_r8, 0.00062464512065509709_r8, & + 0.00062321982126158613_r8, 0.00061909089490529633_r8, & + 0.00061634073397621688_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,41) / & + 6.0523258901186646e-05_r8, 6.7969199915420114e-05_r8, & + 7.6751177716350233e-05_r8, 0.00010595415905692554_r8, & + 0.00012312502015413053_r8, 0.00014871521828941798_r8, & + 0.00017133837772044909_r8, 0.00018654288608495364_r8, & + 0.00021576215054669681_r8, 0.00024866722780153805_r8, & + 0.00028425549248639809_r8, 0.00032323020821673783_r8, & + 0.0003515604710641528_r8, 0.00038865037083932012_r8, & + 0.00042167052436807204_r8, 0.00045403354407495995_r8, & + 0.00051070319293623886_r8, 0.00054957061121695876_r8, & + 0.00058200147630855007_r8, 0.00061087345615821261_r8, & + 0.00063436457922094866_r8, 0.0006571511253842501_r8, & + 0.00067526265814821392_r8, 0.00068803513205436878_r8, & + 0.00069873735565569852_r8, 0.00070668245286574147_r8, & + 0.00071295362860842508_r8, 0.00071884948999908159_r8, & + 0.00071711305842114034_r8, 0.00070689459159461641_r8, & + 0.00069325893147583774_r8, 0.00068000661205746941_r8, & + 0.00066946971866896734_r8, 0.00066154731576367049_r8, & + 0.00065400100899656931_r8, 0.00064762050112733235_r8, & + 0.00064391430760924351_r8, 0.00064104756026869608_r8, & + 0.00063975638112277852_r8, 0.00063957055009561056_r8, & + 0.0006389260977146022_r8, 0.00063660874258146061_r8, & + 0.00063737480996049268_r8, 0.00064030719210663551_r8, 9e90_r8 & + / +data saar_ref(:,35,41) / & + 7.1188628263806658e-05_r8, 7.4259695100370568e-05_r8, & + 7.881782054122927e-05_r8, 0.00011402648020452872_r8, & + 0.00012653937946861154_r8, 0.00014978604382402241_r8, & + 0.0001953975983841604_r8, 0.00020360046454874424_r8, & + 0.0002282381996945071_r8, 0.00026282976241920168_r8, & + 0.00030204101556709212_r8, 0.00035668332013359709_r8, & + 0.00040617422085083033_r8, 0.00044018352120748057_r8, & + 0.00046855937856846429_r8, 0.00049746242754805658_r8, & + 0.00054228135945401151_r8, 0.00057439576115441999_r8, & + 0.00060293303346656626_r8, 0.00062919069277215872_r8, & + 0.00065017952591274334_r8, 0.00067296597008872742_r8, & + 0.00068913078112601569_r8, 0.00070348242730133913_r8, & + 0.00071505909754882935_r8, 0.00072386838424007586_r8, & + 0.00073153623556358662_r8, 0.0007370839177796455_r8, & + 0.0007345327458867974_r8, 0.00071982178010081678_r8, & + 0.00070567584915346847_r8, 0.00069376019754745905_r8, & + 0.00068110029438699267_r8, 0.00067098306303811357_r8, & + 0.00066078217898040022_r8, 0.00065459965888263114_r8, & + 0.0006500219693450171_r8, 0.00064782001228605294_r8, & + 0.00064538423926429158_r8, 0.00064447844080680868_r8, & + 0.0006443580610105583_r8, 0.00064098737062801058_r8, & + 0.0006338090025081991_r8, 0.00062904351391467571_r8, & + 0.00062806428810475805_r8 & + / +data saar_ref(:,36,41) / & + 7.2104849656544719e-05_r8, 7.3961927840239324e-05_r8, & + 7.734299789241309e-05_r8, 0.000120951891635661_r8, & + 0.00013036216754762066_r8, 0.00015455758443487858_r8, & + 0.00020977916994536667_r8, 0.00021731829526824929_r8, & + 0.00024017024046543034_r8, 0.00027716230437473067_r8, & + 0.00030897500634717942_r8, 0.0003586900948303287_r8, & + 0.00041855203569583213_r8, 0.00045067540985845711_r8, & + 0.00047838513972403389_r8, 0.00050763755528561406_r8, & + 0.00054894629041492011_r8, 0.0005799851212360817_r8, & + 0.00060743155046474114_r8, 0.0006356894145259942_r8, & + 0.00065511022360050962_r8, 0.00067733172758173074_r8, & + 0.00069405275528922105_r8, 0.00071166904810190631_r8, & + 0.00072458968745645351_r8, 0.00073632204865720411_r8, & + 0.00074550480696871301_r8, 0.00075107665623639491_r8, & + 0.0007517921611375131_r8, 0.00073566885481885446_r8, & + 0.00072285774900740377_r8, 0.00071340101758551855_r8, & + 0.00070178566922669339_r8, 0.00068784312984744155_r8, & + 0.00067377516875581308_r8, 0.00066218225495104322_r8, & + 0.00065592513103839012_r8, 0.00065340118991333654_r8, & + 0.00064954857896695035_r8, 0.00064660201410686349_r8, & + 0.00064595279096087577_r8, 0.00064454077617486676_r8, & + 0.00064138162571961198_r8, 0.00064040988300200711_r8, & + 0.00063872529989426321_r8 & + / +data saar_ref(:,37,41) / & + 4.3753993482935397e-05_r8, 5.1805904214618432e-05_r8, & + 7.5128848573883297e-05_r8, 8.9918547500276807e-05_r8, & + 0.00010572257613875309_r8, 0.00012460901057290055_r8, & + 0.00015289287167199198_r8, 0.00017292712454244707_r8, & + 0.00018102222583717581_r8, 0.0001680369841862129_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,41) / & + 4.5870259894040567e-05_r8, 5.6571385569504294e-05_r8, & + 8.1512798009024598e-05_r8, 8.7048654495981579e-05_r8, & + 0.00010210461969733976_r8, 0.0001220024459807397_r8, & + 0.00014304212268267878_r8, 0.00017645340869411495_r8, & + 0.00018580005078510395_r8, 0.00017220236587869807_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,41) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,41) / & + 0.00015027849160125374_r8, 0.00013528730832446529_r8, & + 0.00013257915422862192_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,41) / & + 0.00015031725593467367_r8, 0.00014469359130225235_r8, & + 0.00013706318514506832_r8, 0.00010610912902531361_r8, & + 0.00011534320965447627_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,41) / & + 0.00013178572987735044_r8, 0.00012830407904787348_r8, & + 0.0001159614409736372_r8, 0.00012314924470476602_r8, & + 0.00014787351785711567_r8, 0.00023170042364827815_r8, & + 0.00026977719635069424_r8, 0.00030603303780760588_r8, & + 0.00018917202243789376_r8, 7.4400507763522884e-05_r8, & + 6.5198696128517577e-05_r8, 6.2859006132432021e-05_r8, & + 5.8051177551688247e-05_r8, 6.1539518287877427e-05_r8, & + 6.26522602470298e-05_r8, 6.3732412373833329e-05_r8, & + 6.5836387618529855e-05_r8, 6.642749647226592e-05_r8, & + 6.6870942810793942e-05_r8, 6.9759499034012824e-05_r8, & + 7.2377693115405106e-05_r8, 7.4858713128343236e-05_r8, & + 7.8109718460985441e-05_r8, 8.2397020705008973e-05_r8, & + 8.7216071005229826e-05_r8, 9.2958621398949305e-05_r8, & + 9.8850429976316884e-05_r8, 0.00011123756342956831_r8, & + 0.00010888201815683071_r8, 0.0001074866582122373_r8, & + 0.00010729107794182437_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,41) / & + 9.3683495339664323e-05_r8, 0.00010289196433571572_r8, & + 8.6802962614767817e-05_r8, 0.00012937438403523284_r8, & + 0.00012621911770373151_r8, 0.0001417206855751107_r8, & + 0.00022847306234420083_r8, 0.00023481567219944358_r8, & + 0.00011589745164207956_r8, 6.2435593546071282e-05_r8, & + 6.1582511675886497e-05_r8, 6.4395309458054975e-05_r8, & + 6.2011182274574096e-05_r8, 6.5288833335999723e-05_r8, & + 6.577451194459354e-05_r8, 6.7335160318106533e-05_r8, & + 6.8377107082332462e-05_r8, 6.9006829329836911e-05_r8, & + 7.0105660692797557e-05_r8, 7.3255145222664842e-05_r8, & + 7.6036889160198013e-05_r8, 7.8740757572640655e-05_r8, & + 8.2711350333718457e-05_r8, 8.7769604246007199e-05_r8, & + 9.1635962595061561e-05_r8, 9.7418035821174662e-05_r8, & + 0.00010263319139159907_r8, 0.00011512476248964826_r8, & + 0.00011336292279115377_r8, 0.00011124191200271632_r8, & + 0.00011101135581643813_r8, 0.00011124054418405299_r8, & + 0.00010949737044008297_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,41) / & + 8.0612925781593306e-05_r8, 9.6411926852420655e-05_r8, & + 7.6636584199930012e-05_r8, 0.00012060599920934874_r8, & + 0.00011397526962104559_r8, 0.00011786115895952263_r8, & + 0.000135481350724586_r8, 0.00010526290372459618_r8, & + 6.2559549889657512e-05_r8, 6.1816052479793805e-05_r8, & + 6.5010935949764227e-05_r8, 6.810591118781613e-05_r8, & + 6.7170311592372315e-05_r8, 6.8297208733585538e-05_r8, & + 6.9974482895796813e-05_r8, 7.165968952294479e-05_r8, & + 7.1912749114806128e-05_r8, 7.2227770392837141e-05_r8, & + 7.4104585978271935e-05_r8, 7.8056485835988274e-05_r8, & + 8.0953883534122935e-05_r8, 8.4284750125231619e-05_r8, & + 8.7829785910660784e-05_r8, 9.39592196981711e-05_r8, & + 9.8132876640292681e-05_r8, 0.00010398506420664239_r8, & + 0.0001096783827539024_r8, 0.0001203012976933404_r8, & + 0.00012404387844916725_r8, 0.00012058252504964705_r8, & + 0.00012025611088347056_r8, 0.00011914499878000984_r8, & + 0.00011281699485038678_r8, 0.00011338495585686669_r8, & + 0.00011698729751184899_r8, 0.00011843540953913026_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,41) / & + 7.9191350104031454e-05_r8, 0.00010548513702215799_r8, & + 8.9320698683849036e-05_r8, 0.00012490046396164336_r8, & + 0.00012336208966543284_r8, 0.00013023123687032887_r8, & + 0.00010277319493922461_r8, 7.1130603037315008e-05_r8, & + 6.3225948717942766e-05_r8, 6.5792097246069171e-05_r8, & + 6.700297693341358e-05_r8, 6.787442050799318e-05_r8, & + 6.8077468817221703e-05_r8, 6.9330151930825358e-05_r8, & + 7.1035988896034152e-05_r8, 7.2592730586283215e-05_r8, & + 7.2946090431768345e-05_r8, 7.3359508700463426e-05_r8, & + 7.5627118638885201e-05_r8, 7.9293935666982941e-05_r8, & + 8.2167710586365534e-05_r8, 8.5907458868276021e-05_r8, & + 8.9590264244673236e-05_r8, 9.4699425711380775e-05_r8, & + 0.0001003027907011021_r8, 0.00010509638844223141_r8, & + 0.00011162500370312535_r8, 0.00012143070867813616_r8, & + 0.00012387783300067996_r8, 0.00012054533767177575_r8, & + 0.0001198426447439106_r8, 0.00011990470112509041_r8, & + 0.00011923711004088492_r8, 0.00011923803777156401_r8, & + 0.00012019154387914356_r8, 0.00012076379781261916_r8, & + 0.00012431037531257947_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,42) / & + 0.00012058504673212918_r8, 0.00012142495459503843_r8, & + 0.00013036578577970266_r8, 0.00017440830590041757_r8, & + 0.00018197617053352099_r8, 0.0001904219098957043_r8, & + 0.00022252333750086259_r8, 0.0002306975035433796_r8, & + 0.00022630403016134595_r8, 0.00020107494192114981_r8, & + 0.0001996621578675_r8, 0.00019284292274891646_r8, & + 0.00018884186738304473_r8, 0.00018819975147859789_r8, & + 0.00018816576778352216_r8, 0.00019091964243799297_r8, & + 0.00019047091356842841_r8, 0.00019084949992625324_r8, & + 0.00019362639898854041_r8, 0.00020151003469491601_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,42) / & + 0.00012058504673212918_r8, 0.00012142495459503843_r8, & + 0.00013036578577970266_r8, 0.00017440830590041757_r8, & + 0.00018197617053352099_r8, 0.0001904219098957043_r8, & + 0.00022252333750086259_r8, 0.0002306975035433796_r8, & + 0.00022630403016134595_r8, 0.00020107494192114981_r8, & + 0.0001996621578675_r8, 0.00019284292274891646_r8, & + 0.00018884186738304473_r8, 0.00018819975147859789_r8, & + 0.00018816576778352216_r8, 0.00019091964243799297_r8, & + 0.00019047091356842841_r8, 0.00019084949992625324_r8, & + 0.00019362639898854041_r8, 0.00020151003469491601_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,42) / & + 0.00012058504673212918_r8, 0.00012142495459503843_r8, & + 0.00013036578577970266_r8, 0.00017440830590041757_r8, & + 0.00018197617053352099_r8, 0.0001904219098957043_r8, & + 0.00022252333750086259_r8, 0.0002306975035433796_r8, & + 0.00022630403016134595_r8, 0.00020107494192114981_r8, & + 0.0001996621578675_r8, 0.00019284292274891646_r8, & + 0.00018884186738304473_r8, 0.00018819975147859789_r8, & + 0.00018816576778352216_r8, 0.00019091964243799297_r8, & + 0.00019047091356842841_r8, 0.00019084949992625324_r8, & + 0.00019362639898854041_r8, 0.00020151003469491601_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,42) / & + 0.0001222314833362243_r8, 0.00012304616250209267_r8, & + 0.00013291078806681431_r8, 0.00017418192493957727_r8, & + 0.00018180408460582485_r8, 0.00018891255285663185_r8, & + 0.00022832204546686691_r8, 0.00022999258252793078_r8, & + 0.00022642136720520511_r8, 0.0001956788378890945_r8, & + 0.000199786013301882_r8, 0.00019856847348858529_r8, & + 0.00019668484961832399_r8, 0.0001966833015806312_r8, & + 0.00019601236765035525_r8, 0.00019600984148486101_r8, & + 0.00019492892611764389_r8, 0.000194954427561758_r8, & + 0.00019620446082317601_r8, 0.00020284406204478067_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,42) / & + 0.00014027948637822214_r8, 0.00014279450814273944_r8, & + 0.00014533923344118652_r8, 0.00016195337576451819_r8, & + 0.0001663805443245153_r8, 0.00016896682355514725_r8, & + 0.00017514137777036739_r8, 0.00018174834233037162_r8, & + 0.00018488476280620439_r8, 0.00018710653219047564_r8, & + 0.0001900356751814031_r8, 0.00019050168120678557_r8, & + 0.00019708285724926136_r8, 0.00020815007043020685_r8, & + 0.00021970029193185884_r8, 0.00023049016183187133_r8, & + 0.00023712560249443518_r8, 0.00024106967024943829_r8, & + 0.00024307722162895067_r8, 0.00024493189159956115_r8, & + 0.00024773859439456331_r8, 0.00025516276228011346_r8, & + 0.00025716702291668319_r8, 0.0002593891914397936_r8, & + 0.00026114123957493405_r8, 0.00026258167787090704_r8, & + 0.00026339266406159758_r8, 0.00026334744243033882_r8, & + 0.00025979801471057298_r8, 0.00025486351749430227_r8, & + 0.00025197849276701435_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,42) / & + 0.0001285270363261865_r8, 0.00012974421956337998_r8, & + 0.00013070451820364123_r8, 0.00013814422531329925_r8, & + 0.0001455882310457161_r8, 0.00015051320393314981_r8, & + 0.00016685385429785434_r8, 0.00017830165795274441_r8, & + 0.00018336573834176867_r8, 0.0001876684356468662_r8, & + 0.0001919840914335829_r8, 0.00019830538906693735_r8, & + 0.00020429472500341545_r8, 0.00021013398052755351_r8, & + 0.00021482728431230933_r8, 0.0002202622874222954_r8, & + 0.00022668917587042957_r8, 0.00023356994942963464_r8, & + 0.00023738640352171438_r8, 0.00024207122873776517_r8, & + 0.00024534618146785611_r8, 0.000250758761403285_r8, & + 0.00025402997098853758_r8, 0.00025728031581477237_r8, & + 0.00026048449193256869_r8, 0.00026298499470261662_r8, & + 0.00026496010005629117_r8, 0.00026760503341028303_r8, & + 0.00026630542050708493_r8, 0.00026106117499293441_r8, & + 0.00025586318922331795_r8, 0.00024559946630142823_r8, & + 0.00024110481643251937_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,42) / & + 7.6916021351734339e-05_r8, 7.6508354791602408e-05_r8, & + 7.6790545707529148e-05_r8, 7.7131849952508471e-05_r8, & + 8.3790682418361209e-05_r8, 8.1555288263285029e-05_r8, & + 9.7066437593685471e-05_r8, 0.00012162655409417734_r8, & + 0.0001358507505964461_r8, 0.00014444026913984533_r8, & + 0.00015259751365699343_r8, 0.00016130819959873729_r8, & + 0.00017059895603152543_r8, 0.00017715457997125099_r8, & + 0.00018067443880403087_r8, 0.00018465704349790896_r8, & + 0.00019163365792444762_r8, 0.00019750086691789495_r8, & + 0.00020134788292294593_r8, 0.00020768280506706379_r8, & + 0.00021149222606124161_r8, 0.00021663296631914197_r8, & + 0.00022072502144563998_r8, 0.00022498664869168586_r8, & + 0.000230500192121851_r8, 0.00023481520841942902_r8, & + 0.00023879001306157866_r8, 0.00024860859610425427_r8, & + 0.00025539238183110803_r8, 0.00025820403120029316_r8, & + 0.00025901940775415085_r8, 0.00025685498116481041_r8, & + 0.00026318049173070293_r8, 0.00026580556003950916_r8, & + 0.00026824411837398699_r8, 0.00027250008433318574_r8, & + 0.00027511816072722784_r8, 0.00027783230796724903_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,42) / & + 2.1481254328469746e-05_r8, 2.0983693731934026e-05_r8, & + 2.0210365833774804e-05_r8, 2.2916033917179699e-05_r8, & + 2.3688367465085037e-05_r8, 2.2029726724594468e-05_r8, & + 2.812221230488195e-05_r8, 3.7878285395223485e-05_r8, & + 4.8934528460864393e-05_r8, 5.7189006994174138e-05_r8, & + 6.4196792486298745e-05_r8, 7.2101398098816153e-05_r8, & + 8.7011145985393137e-05_r8, 0.0001001345139592904_r8, & + 0.00010958006676313796_r8, 0.00011793120087054811_r8, & + 0.00013303440828079749_r8, 0.00014565758474601459_r8, & + 0.0001553197262470613_r8, 0.00016388273599984363_r8, & + 0.00017065528530126075_r8, 0.00017641223159938979_r8, & + 0.00018173561701063156_r8, 0.00018694461111249576_r8, & + 0.00019136320664922844_r8, 0.00019587476241571014_r8, & + 0.00020009378191442466_r8, 0.00021173502851713836_r8, & + 0.00022267259317625699_r8, 0.0002317532791560298_r8, & + 0.00024088181424351511_r8, 0.00024924888231214195_r8, & + 0.00025645630851020362_r8, 0.00025977730145061489_r8, & + 0.00026389262099434536_r8, 0.00026857190570678274_r8, & + 0.0002721117866808348_r8, 0.0002758163431898508_r8, & + 0.0002778754432027215_r8, 0.00027840268848237899_r8, & + 0.00027971262254758162_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,42) / & + 2.9829167582881732e-06_r8, 2.8457293956071631e-06_r8, & + 3.4230453816908725e-06_r8, 8.4813600683845684e-06_r8, & + 8.5595229676030188e-06_r8, 9.1174422888923401e-06_r8, & + 1.0283341819491446e-05_r8, 1.1253181385609844e-05_r8, & + 1.6633154243778569e-05_r8, 2.229093562557254e-05_r8, & + 2.4890920421464408e-05_r8, 2.7864013591544004e-05_r8, & + 3.4169583872060222e-05_r8, 4.0727799291357369e-05_r8, & + 4.8211523619590303e-05_r8, 5.4610231140436402e-05_r8, & + 6.7452287563271064e-05_r8, 8.4598412205862602e-05_r8, & + 9.9781898386969132e-05_r8, 0.00011343217302298839_r8, & + 0.00012705420683793017_r8, 0.00013920322997706855_r8, & + 0.00014959244269654317_r8, 0.00016149908233071774_r8, & + 0.00016845912740250828_r8, 0.00017507115440459217_r8, & + 0.0001805456625743347_r8, 0.000192163976288035_r8, & + 0.00020317301943750742_r8, 0.00021403547425189473_r8, & + 0.00022547094622328177_r8, 0.00023511902057082686_r8, & + 0.00024464611099195527_r8, 0.00025069763444079875_r8, & + 0.00025594362329829873_r8, 0.00026084784017556598_r8, & + 0.00026538341504325411_r8, 0.00026962565862117074_r8, & + 0.00027384437528075838_r8, 0.00027703268668353536_r8, & + 0.00027945521845066962_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,42) / & + 3.555866981054865e-06_r8, 3.4642709714810489e-06_r8, & + 3.296429498082263e-06_r8, 4.6183060569398053e-06_r8, & + 4.9011308788251007e-06_r8, 4.9520978158510561e-06_r8, & + 5.4873067459407548e-06_r8, 6.508075606279555e-06_r8, & + 8.1404496985006664e-06_r8, 1.0796377703662271e-05_r8, & + 1.1824504243673436e-05_r8, 1.2848199381362026e-05_r8, & + 1.5028109649063311e-05_r8, 1.6777813913384005e-05_r8, & + 1.9782287489308768e-05_r8, 2.2288079975986192e-05_r8, & + 2.652709940957777e-05_r8, 3.5015951062162783e-05_r8, & + 4.6027683208526027e-05_r8, 6.0318130167978332e-05_r8, & + 7.5450157213260548e-05_r8, 9.1052038396294318e-05_r8, & + 0.00010572261245817768_r8, 0.00012312410766579236_r8, & + 0.00013792622974645566_r8, 0.00015127497166061377_r8, & + 0.00016202116541973809_r8, 0.00017917982287496675_r8, & + 0.00018912800834516941_r8, 0.00019896178636699807_r8, & + 0.00021229014341550269_r8, 0.00022384765296389468_r8, & + 0.00023372541414328708_r8, 0.00024292009956151852_r8, & + 0.00024843879721980116_r8, 0.00025283968160739903_r8, & + 0.00025615025483842171_r8, 0.00025860845270179122_r8, & + 0.0002644432076616992_r8, 0.00026384279095132172_r8, & + 0.00027113837009143203_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,42) / & + 3.6843543337352963e-06_r8, 3.8832126469173145e-06_r8, & + 3.5287416230481861e-06_r8, 3.4552065836309004e-06_r8, & + 3.4962288748573663e-06_r8, 3.6514002466346137e-06_r8, & + 4.4505530862006762e-06_r8, 5.5174175174401469e-06_r8, & + 6.4527431126407573e-06_r8, 7.3646606490507761e-06_r8, & + 8.107658999797005e-06_r8, 9.3633637199230798e-06_r8, & + 1.0727799926501277e-05_r8, 1.1792474649251886e-05_r8, & + 1.3227713313082059e-05_r8, 1.4761970717049675e-05_r8, & + 1.8426855007978771e-05_r8, 2.4689388019654446e-05_r8, & + 3.5009819345698476e-05_r8, 4.8461869518414182e-05_r8, & + 6.3290692973212015e-05_r8, 7.9249806436663554e-05_r8, & + 9.7132429220588777e-05_r8, 0.00011555321740203206_r8, & + 0.00013310397739941564_r8, 0.00014965467964792405_r8, & + 0.00016277743982884079_r8, 0.00018336019016750626_r8, & + 0.00019126653800868019_r8, 0.00019856080479763353_r8, & + 0.00021085636688940779_r8, 0.00022540810447953168_r8, & + 0.00023636837926286166_r8, 0.00024498108997955502_r8, & + 0.00025212219793796742_r8, 0.00025591319892595299_r8, & + 0.00025944377107897822_r8, 0.00026053974074338808_r8, & + 0.00026715908415500474_r8, 0.00026377818762584378_r8, & + 0.00027098176270915592_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,42) / & + 3.0148592994962656e-06_r8, 3.6945951130240512e-06_r8, & + 3.4855109304129912e-06_r8, 3.6554928839498446e-06_r8, & + 3.6655707241442114e-06_r8, 3.683808931080353e-06_r8, & + 4.5583395819864346e-06_r8, 5.4546923121879995e-06_r8, & + 6.1050656704838146e-06_r8, 6.7235630426838943e-06_r8, & + 7.4609553090532536e-06_r8, 8.852994149457898e-06_r8, & + 1.0939193802938331e-05_r8, 1.2316882815815023e-05_r8, & + 1.3201473915650009e-05_r8, 1.4473280844529158e-05_r8, & + 1.9466237154269279e-05_r8, 2.7105327649714752e-05_r8, & + 3.7668126432675059e-05_r8, 4.9667521881607202e-05_r8, & + 6.4448772548727983e-05_r8, 7.928079468914694e-05_r8, & + 9.7297284319035004e-05_r8, 0.00011696320039432978_r8, & + 0.00013478312162559935_r8, 0.00015351520944664079_r8, & + 0.00016843871430056569_r8, 0.00018817110075821497_r8, & + 0.00019435484127796967_r8, 0.00019947235861664399_r8, & + 0.00020880951393781056_r8, 0.00022392364706668108_r8, & + 0.0002358289170363818_r8, 0.00024552932314259989_r8, & + 0.00025377630590814912_r8, 0.00025764711406727609_r8, & + 0.00026143638764306314_r8, 0.0002620578622461845_r8, & + 0.00026631026934792511_r8, 0.0002677252851689308_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,42) / & + 3.2541925538216394e-06_r8, 3.9402295493999676e-06_r8, & + 3.6905201555935232e-06_r8, 3.6272292097579676e-06_r8, & + 3.6383018817236862e-06_r8, 3.7600219903326941e-06_r8, & + 4.3672390537612399e-06_r8, 5.1806204811988385e-06_r8, & + 5.7463654990202213e-06_r8, 6.1607924571462923e-06_r8, & + 6.6658842436937231e-06_r8, 7.5878002323886623e-06_r8, & + 9.34963223893225e-06_r8, 1.1368667760518488e-05_r8, & + 1.2824685715792019e-05_r8, 1.4964316460814718e-05_r8, & + 2.0255309367937699e-05_r8, 2.8423128037635116e-05_r8, & + 3.9751623271805172e-05_r8, 5.3474433352172462e-05_r8, & + 6.9825821575902894e-05_r8, 8.592138360370912e-05_r8, & + 0.00010261711704453048_r8, 0.00012039455055502092_r8, & + 0.00013692524146249638_r8, 0.00015517380978172024_r8, & + 0.00017087992983062789_r8, 0.00019229863971758393_r8, & + 0.00019775688908686283_r8, 0.00020066703406324579_r8, & + 0.00020614947765913114_r8, 0.00022029009373048349_r8, & + 0.00023288960972162338_r8, 0.00024294014836201441_r8, & + 0.00024912779651935685_r8, 0.0002533280622636197_r8, & + 0.00025715633950860464_r8, 0.00025962617902280325_r8, & + 0.0002630237695420884_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,42) / & + 3.1050523636612043e-06_r8, 3.4967251569733854e-06_r8, & + 3.3367308008478021e-06_r8, 3.5220233703778701e-06_r8, & + 3.4996496331311887e-06_r8, 3.412522340497518e-06_r8, & + 3.2975923697754592e-06_r8, 3.6822352777777008e-06_r8, & + 4.0228636479622362e-06_r8, 4.469682073728712e-06_r8, & + 4.9821287480134676e-06_r8, 5.5904016638625062e-06_r8, & + 6.8093324135149087e-06_r8, 8.5380232889726573e-06_r8, & + 1.0269609064100601e-05_r8, 1.2607100136578648e-05_r8, & + 1.8316927934679679e-05_r8, 2.6540750801075747e-05_r8, & + 3.827296370823946e-05_r8, 5.1380486867038458e-05_r8, & + 6.6949958114347394e-05_r8, 8.4635390039818089e-05_r8, & + 0.00010255250220111101_r8, 0.0001197376890340513_r8, & + 0.00013758298260886236_r8, 0.00015620832752273833_r8, & + 0.00017270942166476417_r8, 0.0002042492611499881_r8, & + 0.00022095036838737405_r8, 0.00022723012672889854_r8, & + 0.00023092954112161092_r8, 0.00024012194132924135_r8, & + 0.00023606795672563482_r8, 0.00022070517968545886_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,42) / & + 3.0032221852692462e-06_r8, 3.2314786876400814e-06_r8, & + 3.3166577198354061e-06_r8, 4.2394193224809402e-06_r8, & + 4.2389108215305081e-06_r8, 4.2301352768058892e-06_r8, & + 3.9698109965126686e-06_r8, 3.8046023072975317e-06_r8, & + 3.5363358567017778e-06_r8, 3.371823872909659e-06_r8, & + 3.413093442308066e-06_r8, 3.7039514715017856e-06_r8, & + 4.7483695992439595e-06_r8, 6.2727188577737021e-06_r8, & + 7.8431789919884716e-06_r8, 9.7279786376834677e-06_r8, & + 1.5162853706081991e-05_r8, 2.2555788215846945e-05_r8, & + 3.3428173132898987e-05_r8, 4.5859165169085802e-05_r8, & + 6.1840223677227257e-05_r8, 8.0533219407546977e-05_r8, & + 0.00010047161295940016_r8, 0.00012185108520869449_r8, & + 0.00014370555833745816_r8, 0.00016651320626890107_r8, & + 0.00018336125300675443_r8, 0.00021594198260931015_r8, & + 0.00023593691000853485_r8, 0.0002459522846914473_r8, & + 0.00025236666141729481_r8, 0.0002551041956208429_r8, & + 0.00025480958196422431_r8, 0.00024814398820276553_r8, & + 0.00023120895773556723_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,42) / & + 4.9214763187672917e-06_r8, 4.948841604556452e-06_r8, & + 4.9166018013244421e-06_r8, 7.3503229989756112e-06_r8, & + 6.6387702863607444e-06_r8, 6.0807370548407624e-06_r8, & + 6.4037451859357047e-06_r8, 6.130702337565341e-06_r8, & + 5.2574422537013303e-06_r8, 4.5020594067271515e-06_r8, & + 3.9618531389279163e-06_r8, 3.7113629333271731e-06_r8, & + 4.6824766548592843e-06_r8, 6.3101729216659836e-06_r8, & + 7.7297134544314284e-06_r8, 9.8590435806674849e-06_r8, & + 1.6174847957617247e-05_r8, 2.4228016663213597e-05_r8, & + 3.8302374376901428e-05_r8, 5.5871324496617057e-05_r8, & + 7.694494143882501e-05_r8, 9.8782631420206421e-05_r8, & + 0.00012008880206578815_r8, 0.00014258316596996295_r8, & + 0.00016574228753892705_r8, 0.00018423875890295429_r8, & + 0.00020133683661791761_r8, 0.00022878464139182628_r8, & + 0.00024321341492227909_r8, 0.00025176799143578624_r8, & + 0.00025810932769648509_r8, 0.00026354033214017906_r8, & + 0.00026709325961691183_r8, 0.00025765645452841267_r8, & + 0.00023842109790004067_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,42) / & + 7.5394113972197702e-06_r8, 7.3528078735912097e-06_r8, & + 6.7361552476573949e-06_r8, 7.7797421475107227e-06_r8, & + 7.2373336164969145e-06_r8, 6.886117939765833e-06_r8, & + 5.678183945213353e-06_r8, 6.1717948365536472e-06_r8, & + 6.4423030479370343e-06_r8, 5.8878348472555918e-06_r8, & + 4.9266894082951981e-06_r8, 4.0877880670721622e-06_r8, & + 4.5055634003027634e-06_r8, 6.0759566882030359e-06_r8, & + 8.0491279894904782e-06_r8, 1.082905015644688e-05_r8, & + 1.8528488852871414e-05_r8, 2.959994661323736e-05_r8, & + 4.7262720300793738e-05_r8, 7.1035218424425695e-05_r8, & + 9.7223132206487593e-05_r8, 0.0001218630852107086_r8, & + 0.00014419528686510818_r8, 0.00016575745560409017_r8, & + 0.00018632047194868268_r8, 0.00020194210963248266_r8, & + 0.00021605347549167613_r8, 0.00024101003695060132_r8, & + 0.00025429204165969749_r8, 0.00026140425244968444_r8, & + 0.00026796444655292743_r8, 0.00027033695531375696_r8, & + 0.00027228269227197265_r8, 0.00027024547448448351_r8, & + 0.00025189438936865468_r8, 0.00024679478011096275_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,42) / & + 6.6583521794150079e-06_r8, 6.3771521946719289e-06_r8, & + 5.7640655448653322e-06_r8, 4.5013704591934804e-06_r8, & + 4.4039947817453358e-06_r8, 4.4484880045579702e-06_r8, & + 4.5310778493376368e-06_r8, 4.356473603829832e-06_r8, & + 4.642125220367401e-06_r8, 4.6983909619735563e-06_r8, & + 4.3381812367804048e-06_r8, 4.301092314058464e-06_r8, & + 5.6206915344617128e-06_r8, 7.9770323060624934e-06_r8, & + 1.1828056275841633e-05_r8, 1.6102789615388777e-05_r8, & + 2.6326555714663049e-05_r8, 4.1299928663572933e-05_r8, & + 6.277356802442157e-05_r8, 9.01420075175164e-05_r8, & + 0.00011816838127195965_r8, 0.00014385704942813382_r8, & + 0.00016844825517840667_r8, 0.00018881598610635038_r8, & + 0.00020607765045955613_r8, 0.00022091489951330711_r8, & + 0.00023402182785172204_r8, 0.00025796084640242759_r8, & + 0.00027029910199604886_r8, 0.00027792236189604091_r8, & + 0.00028718996771442474_r8, 0.00029156065593722452_r8, & + 0.00029716708542096109_r8, 0.00029987387815550988_r8, & + 0.00030081819275902462_r8, 0.00028941641351358912_r8, & + 0.0002811758306779278_r8, 0.00030046251958481732_r8, & + 0.00030532150542051555_r8, 0.00032590391058956875_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,42) / & + 4.892063102088882e-06_r8, 4.7419699279602842e-06_r8, & + 4.6374637154841105e-06_r8, 4.0877069301388721e-06_r8, & + 4.1242427157233055e-06_r8, 4.1910232454335103e-06_r8, & + 4.7292510130080966e-06_r8, 4.8760707722404024e-06_r8, & + 4.5304846576225521e-06_r8, 4.0152405345194353e-06_r8, & + 4.3511313445891537e-06_r8, 5.6764280309040974e-06_r8, & + 1.0326037235819177e-05_r8, 1.5421477633551159e-05_r8, & + 2.259748043098065e-05_r8, 2.9530146976783832e-05_r8, & + 4.2956680469986748e-05_r8, 6.3058821876824428e-05_r8, & + 8.9718196404953252e-05_r8, 0.00011636890319113741_r8, & + 0.00014352466649906369_r8, 0.00016590453027958405_r8, & + 0.00018801836773714212_r8, 0.00020792244204734714_r8, & + 0.00022501336656819164_r8, 0.0002396137471170238_r8, & + 0.00025292226093358029_r8, 0.00027655887576132142_r8, & + 0.00029068032616393763_r8, 0.00029898257478845386_r8, & + 0.00030849247613328493_r8, 0.00031261709672205946_r8, & + 0.00032119540150138881_r8, 0.00033388048214400457_r8, & + 0.0003370199488674226_r8, 0.00033792254344486468_r8, & + 0.00033801318675572858_r8, 0.00035258562600121971_r8, & + 0.00034255503285185663_r8, 0.00036722836392705309_r8, & + 0.00038134078165267589_r8, 0.00038134302654244779_r8, & + 0.00038134940400615824_r8, 0.00038135253783803892_r8, 9e90_r8 & + / +data saar_ref(:,20,42) / & + 4.200488679943781e-06_r8, 4.1610417936294411e-06_r8, & + 4.2472181813557059e-06_r8, 3.5338975695131619e-06_r8, & + 3.5703407457579914e-06_r8, 3.6697480550316017e-06_r8, & + 4.5445178938851129e-06_r8, 5.4867683693586495e-06_r8, & + 5.09057824276505e-06_r8, 5.0172426693997086e-06_r8, & + 5.5689898335676046e-06_r8, 9.327927523474303e-06_r8, & + 1.9818145729639753e-05_r8, 3.0096322621911538e-05_r8, & + 4.2861674660936867e-05_r8, 5.3818651742519747e-05_r8, & + 7.2926055049581809e-05_r8, 9.6467266829188678e-05_r8, & + 0.00011913340165055205_r8, 0.00014447009832481829_r8, & + 0.0001714257918164647_r8, 0.00019410063637491308_r8, & + 0.0002157596261843784_r8, 0.00023609712235483812_r8, & + 0.00025550001168268805_r8, 0.00027088533557743775_r8, & + 0.00028623754296635911_r8, 0.00031220923439673225_r8, & + 0.00033133414290346399_r8, 0.00034288105629080422_r8, & + 0.00035035503989557518_r8, 0.00035607150952583972_r8, & + 0.00036554874881251947_r8, 0.00038390949644418165_r8, & + 0.00038011782834126751_r8, 0.0003878086760559757_r8, & + 0.00038949151358439203_r8, 0.00039418729116879128_r8, & + 0.00039613605403503643_r8, 0.0003938946150892998_r8, & + 0.00039350197886855759_r8, 0.00039243124943366502_r8, & + 0.00039278746903300153_r8, 0.0003908045228274954_r8, 9e90_r8 & + / +data saar_ref(:,21,42) / & + 4.0700314354575771e-06_r8, 4.3524501723512895e-06_r8, & + 4.790503226294309e-06_r8, 3.4115047882680214e-06_r8, & + 3.464319790966933e-06_r8, 3.6089973247741315e-06_r8, & + 4.7220194370025792e-06_r8, 5.8009353943684238e-06_r8, & + 6.4127483037986174e-06_r8, 7.2539061787517675e-06_r8, & + 9.1948516575310567e-06_r8, 1.4801473415890262e-05_r8, & + 3.2153064753685726e-05_r8, 4.9245698518382669e-05_r8, & + 6.2612769865294591e-05_r8, 7.3549329043256573e-05_r8, & + 9.533620598571317e-05_r8, 0.00012087296326337058_r8, & + 0.00014375151241424093_r8, 0.00016829688221148826_r8, & + 0.00019713289222516873_r8, 0.00022154828944890781_r8, & + 0.00024541203357566669_r8, 0.00026608346614413649_r8, & + 0.00028698310051657031_r8, 0.00030361890028529935_r8, & + 0.00032000381078302239_r8, 0.00034886600566817093_r8, & + 0.00037472268882056414_r8, 0.00038958511925622557_r8, & + 0.00040093019219750999_r8, 0.00040761617318252639_r8, & + 0.00041018558113036803_r8, 0.00041064336908757006_r8, & + 0.00040723211189681407_r8, 0.00040564917830160179_r8, & + 0.00040244888661450595_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,42) / & + 4.1259308997247495e-06_r8, 4.8830330112656898e-06_r8, & + 5.7732170854068182e-06_r8, 5.0868766370461491e-06_r8, & + 5.1867985101584197e-06_r8, 5.3443664881363177e-06_r8, & + 5.2862033528274857e-06_r8, 5.6845043882285919e-06_r8, & + 9.1426662652940615e-06_r8, 1.3069229093136973e-05_r8, & + 1.7985173086240949e-05_r8, 2.4677373132996917e-05_r8, & + 4.4169812241289917e-05_r8, 5.9816886505801681e-05_r8, & + 7.070339595060293e-05_r8, 7.9323125372073088e-05_r8, & + 0.00010155717872287636_r8, 0.00012888075599299444_r8, & + 0.00015795818408588326_r8, 0.00018528008994274684_r8, & + 0.0002114461511246317_r8, 0.00023658318085733031_r8, & + 0.00026112501130217666_r8, 0.00028419505583985477_r8, & + 0.00030472856297490491_r8, 0.00032205025869957825_r8, & + 0.00033866822588970048_r8, 0.00036902107301608046_r8, & + 0.00039561787213981687_r8, 0.00041074916068099322_r8, & + 0.00042221494559179618_r8, 0.00042715606682885651_r8, & + 0.00042784341295104653_r8, 0.00042536029970841169_r8, & + 0.0004215840471016568_r8, 0.00041374883884862725_r8, & + 0.00040076634037885286_r8, 0.00038987228944876718_r8, & + 0.00038847961333347109_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,42) / & + 4.2931048332379228e-06_r8, 5.1391485526187487e-06_r8, & + 6.1270451219119297e-06_r8, 7.681436208502038e-06_r8, & + 7.7113563684087032e-06_r8, 7.7594174697096005e-06_r8, & + 5.6361923839325709e-06_r8, 5.3928456016494142e-06_r8, & + 1.0329713107455792e-05_r8, 1.891088780849453e-05_r8, & + 2.7936364560429199e-05_r8, 4.0140873114563585e-05_r8, & + 6.7298082092581788e-05_r8, 8.5421775097904474e-05_r8, & + 9.3288668974242679e-05_r8, 9.8450279428029876e-05_r8, & + 0.00011936565153736531_r8, 0.00014865601510476539_r8, & + 0.00017647888896850058_r8, 0.00020509986522542772_r8, & + 0.0002311034611818821_r8, 0.00025877237491386243_r8, & + 0.0002861954550453181_r8, 0.00030996925736825323_r8, & + 0.000330230762214039_r8, 0.00034793595099267643_r8, & + 0.00036463333910614459_r8, 0.00039609336422492141_r8, & + 0.0004187462250632069_r8, 0.00043472752545331388_r8, & + 0.00044394797881677452_r8, 0.00044718947554906304_r8, & + 0.00044639965734996455_r8, 0.00044356813534891131_r8, & + 0.00043982351127409836_r8, 0.00043257944280011428_r8, & + 0.00042134220232865329_r8, 0.00040789035140440796_r8, & + 0.0004068337164380339_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,42) / & + 4.6233867318086707e-06_r8, 5.0600483722708849e-06_r8, & + 5.6078662720102124e-06_r8, 8.7565648412279018e-06_r8, & + 8.7754294901859762e-06_r8, 8.5916401838476646e-06_r8, & + 5.5857521775109146e-06_r8, 5.3992789600028325e-06_r8, & + 1.2652971196288155e-05_r8, 2.3334407499200369e-05_r8, & + 4.0925188486418122e-05_r8, 6.2337283815151851e-05_r8, & + 9.5937061598848648e-05_r8, 0.00011234848505520855_r8, & + 0.00011637088877606636_r8, 0.00012226251678271413_r8, & + 0.00014112432661821556_r8, 0.00016849505126491671_r8, & + 0.00019781673993025432_r8, 0.00022736629735252068_r8, & + 0.00025412922587812769_r8, 0.00028217732092126796_r8, & + 0.00030922251946703487_r8, 0.00033305197594828378_r8, & + 0.00035351942535439765_r8, 0.00037216373139036446_r8, & + 0.00038928422261394149_r8, 0.0004215482890442705_r8, & + 0.00044365651459219292_r8, 0.00045826819186723549_r8, & + 0.00046612179337897569_r8, 0.00046848127960766799_r8, & + 0.00046614191643596254_r8, 0.00046255432536059226_r8, & + 0.00045724048285292949_r8, 0.00044970868963906162_r8, & + 0.0004407378307522069_r8, 0.00042990367592226128_r8, & + 0.00042119124516861665_r8, 0.00041291945195831087_r8, & + 0.0004088472771443603_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,42) / & + 5.0895272367279878e-06_r8, 5.1433868433426413e-06_r8, & + 5.21901974481094e-06_r8, 6.5778461985935084e-06_r8, & + 6.4929969849138829e-06_r8, 6.2431426204466214e-06_r8, & + 5.5551135143742989e-06_r8, 5.6200256590122214e-06_r8, & + 1.0140698561328479e-05_r8, 1.7096146526122423e-05_r8, & + 3.0720506765266805e-05_r8, 5.0415881089705025e-05_r8, & + 8.3801544755493786e-05_r8, 0.00010615776430743316_r8, & + 0.00012065251139840233_r8, 0.00013402411866694078_r8, & + 0.00015929442806783653_r8, 0.00019093550761941687_r8, & + 0.00022080639223875294_r8, 0.000250374954228221_r8, & + 0.00028017486697571621_r8, 0.00030915810215694959_r8, & + 0.00033473121862319242_r8, 0.00035911765400673646_r8, & + 0.00038014037552116137_r8, 0.00039846735857041691_r8, & + 0.00041503431394418927_r8, 0.00044629428613944658_r8, & + 0.0004662363045617303_r8, 0.00047832627716680996_r8, & + 0.00048631017048395887_r8, 0.00048846235151732778_r8, & + 0.00048857815185915203_r8, 0.00048576904881638062_r8, & + 0.00047947774432969517_r8, 0.00047049596116565762_r8, & + 0.00045966886294942263_r8, 0.00044836338654321499_r8, & + 0.00043853005361787692_r8, 0.00043257826153557508_r8, & + 0.00042650008765700851_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,42) / & + 5.8152994715874761e-06_r8, 5.7668150838163358e-06_r8, & + 5.647608189477286e-06_r8, 5.5561396363577649e-06_r8, & + 5.5494322208547784e-06_r8, 5.4459163022634585e-06_r8, & + 5.140182936689425e-06_r8, 5.0660522187591056e-06_r8, & + 6.2178554292474245e-06_r8, 7.6772133716108982e-06_r8, & + 1.0546777738572275e-05_r8, 1.7284193255344699e-05_r8, & + 3.7959070445031719e-05_r8, 6.5438762538678149e-05_r8, & + 9.40783526479239e-05_r8, 0.00012275663117851309_r8, & + 0.00017506914825683392_r8, 0.00021464471667895311_r8, & + 0.0002453437572866168_r8, 0.00027577153600752906_r8, & + 0.00030759254017941479_r8, 0.00033884421685833525_r8, & + 0.0003644025673459783_r8, 0.00038858874062736541_r8, & + 0.00040869816093329982_r8, 0.00042551062825270229_r8, & + 0.00044039406696622834_r8, 0.0004696272494156952_r8, & + 0.00048776738974160954_r8, 0.00049815539506699259_r8, & + 0.00050637650832891532_r8, 0.00050866383920225057_r8, & + 0.00051100049397163666_r8, 0.00050919006991095915_r8, & + 0.00050240790856485743_r8, 0.00049494537672589527_r8, & + 0.00048448143247247053_r8, 0.00047320098064333667_r8, & + 0.00046273212883933627_r8, 0.00045402419167957437_r8, & + 0.00044670004523657389_r8, 0.00044171670898713049_r8, & + 0.00044118216089107898_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,42) / & + 6.2617222109471239e-06_r8, 6.1495139566606132e-06_r8, & + 5.8443056278673205e-06_r8, 5.7048306899910733e-06_r8, & + 5.5100018425537286e-06_r8, 5.402388613920825e-06_r8, & + 5.1704038831825351e-06_r8, 5.4861653858509109e-06_r8, & + 5.8199152202192618e-06_r8, 6.3457150243730616e-06_r8, & + 7.8201115860993334e-06_r8, 1.0838074278777335e-05_r8, & + 2.0830079095866503e-05_r8, 3.6791958880685669e-05_r8, & + 6.0109125906145525e-05_r8, 8.9465379661725667e-05_r8, & + 0.00016114504040916336_r8, 0.00022684276742006494_r8, & + 0.00027486411114441782_r8, 0.00031046477120324063_r8, & + 0.00034289022651360875_r8, 0.00037194241877643058_r8, & + 0.00039581948610926926_r8, 0.00041772762771922123_r8, & + 0.00043668785429913849_r8, 0.00045293338038388697_r8, & + 0.00046392571041940404_r8, 0.00049231379758209659_r8, & + 0.00050927462827934596_r8, 0.00051987715107087182_r8, & + 0.00052606269690624137_r8, 0.00052798536607127412_r8, & + 0.00052781502504007695_r8, 0.00052537305844775649_r8, & + 0.00051955196612425399_r8, 0.00051318620194310254_r8, & + 0.00050390360686833129_r8, 0.00049298398938677076_r8, & + 0.00048106903363446363_r8, 0.00047049821519783706_r8, & + 0.00046242890768466162_r8, 0.00045880502335065085_r8, & + 0.00045792865128304699_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,42) / & + 5.811081091909335e-06_r8, 5.7231412280796299e-06_r8, & + 5.34877756080546e-06_r8, 5.1017043026991735e-06_r8, & + 5.2165143391607418e-06_r8, 5.1685843296148859e-06_r8, & + 5.6733232869161656e-06_r8, 6.1755215947628427e-06_r8, & + 6.5015678733226835e-06_r8, 7.4958698127321031e-06_r8, & + 9.2120745699874302e-06_r8, 1.1813288671579511e-05_r8, & + 1.9283684882840129e-05_r8, 2.8648329211030836e-05_r8, & + 4.2858648906772807e-05_r8, 6.0505545351927284e-05_r8, & + 0.0001213986964618645_r8, 0.00020402685636695473_r8, & + 0.00027757110306080609_r8, 0.00033312985929588834_r8, & + 0.00037697534769202528_r8, 0.00040935911392961122_r8, & + 0.00043233755357440353_r8, 0.00045455151408698683_r8, & + 0.00047254039196914217_r8, 0.00048782195913397227_r8, & + 0.00049373511857675587_r8, 0.00051799451830119203_r8, & + 0.00053217962885397522_r8, 0.00054073406931117384_r8, & + 0.00054316374133965258_r8, 0.00054272322427743403_r8, & + 0.00054100495047488466_r8, 0.00053836485733008707_r8, & + 0.00053445733720184089_r8, 0.00052839073003628143_r8, & + 0.00052072808883334219_r8, 0.00051162236241398238_r8, & + 0.0005015851768791587_r8, 0.0004921938219954379_r8, & + 0.00048385662019876817_r8, 0.00047853980878890309_r8, & + 0.00047342408368084742_r8, 0.00046919205544469544_r8, & + 0.00046730665255206654_r8 & + / +data saar_ref(:,29,42) / & + 5.3327748800215675e-06_r8, 5.501699297133642e-06_r8, & + 5.5236353832767283e-06_r8, 5.2387221977479482e-06_r8, & + 5.5334462703971193e-06_r8, 5.71892987140364e-06_r8, & + 6.9292404290810319e-06_r8, 7.1224152435743605e-06_r8, & + 7.5730074748660573e-06_r8, 8.6605927883767164e-06_r8, & + 1.0220544892802122e-05_r8, 1.3031839986661895e-05_r8, & + 1.8396686275316402e-05_r8, 2.5579744581035808e-05_r8, & + 3.6417338882110897e-05_r8, 5.1170183198144073e-05_r8, & + 9.4356136282977568e-05_r8, 0.00015813554863115749_r8, & + 0.00024279143711543926_r8, 0.00032021342833487356_r8, & + 0.00038620998315947065_r8, 0.00043330530005794717_r8, & + 0.00046437900051432654_r8, 0.00049173449083944707_r8, & + 0.00051131847045963997_r8, 0.00052808674135998088_r8, & + 0.00053804861782468882_r8, 0.000559829378163632_r8, & + 0.00056586722076635589_r8, 0.00056772194101686391_r8, & + 0.0005659423418022028_r8, 0.00056349015919380521_r8, & + 0.00056069283146535176_r8, 0.00055750690147490616_r8, & + 0.00055263529162714279_r8, 0.00054706669508486859_r8, & + 0.00053933727831184447_r8, 0.00053279020664884083_r8, & + 0.00052285178221486369_r8, 0.00051389038133387271_r8, & + 0.00050528426150340101_r8, 0.00049867308416270256_r8, & + 0.00049350543429742841_r8, 0.00048937762308845034_r8, & + 0.00048122188441422072_r8 & + / +data saar_ref(:,30,42) / & + 6.3877287763492326e-06_r8, 6.7294404872358956e-06_r8, & + 7.19142283693013e-06_r8, 7.5300447103378074e-06_r8, & + 8.2655817096425335e-06_r8, 8.7788605201357911e-06_r8, & + 1.0256375384931428e-05_r8, 9.8927397983670023e-06_r8, & + 1.0770341592626422e-05_r8, 1.2730910738370171e-05_r8, & + 1.497579197716267e-05_r8, 1.8321006237709543e-05_r8, & + 2.3790768015958187e-05_r8, 3.1004007457560431e-05_r8, & + 4.1424045594000643e-05_r8, 5.5343898734492198e-05_r8, & + 9.5532835059638347e-05_r8, 0.00015248881364753289_r8, & + 0.00023803242150527659_r8, 0.00031944517384437332_r8, & + 0.00039264274961687949_r8, 0.00044862395711294445_r8, & + 0.00048672127881120808_r8, 0.00051944750483042641_r8, & + 0.0005433979862145647_r8, 0.00056334396147071847_r8, & + 0.00057944738855119379_r8, 0.00060382138508166517_r8, & + 0.0006097443854374123_r8, 0.00060663413762311732_r8, & + 0.00060129692370314465_r8, 0.0005951681726884964_r8, & + 0.00058929001692476358_r8, 0.0005847169904287453_r8, & + 0.00057896078768515625_r8, 0.00057389685143070443_r8, & + 0.0005671414791663101_r8, 0.00056154943413909192_r8, & + 0.0005532838552391846_r8, 0.0005453860565802737_r8, & + 0.00053583674702293183_r8, 0.00052838730106971805_r8, & + 0.00052192924709230199_r8, 0.00051949453388742506_r8, & + 0.00051852916651184771_r8 & + / +data saar_ref(:,31,42) / & + 1.0353327707899822e-05_r8, 1.0553323592299397e-05_r8, & + 1.0359876761135195e-05_r8, 1.2578632512366677e-05_r8, & + 1.2964579855172707e-05_r8, 1.417568968969076e-05_r8, & + 1.8864811677150118e-05_r8, 2.365733043462117e-05_r8, & + 2.8531776774861716e-05_r8, 3.3291595046731564e-05_r8, & + 3.777516136453512e-05_r8, 4.2686014858302954e-05_r8, & + 5.0370740839338471e-05_r8, 6.2005757253850202e-05_r8, & + 7.7145386782332e-05_r8, 9.8559872205257457e-05_r8, & + 0.00015590484843945227_r8, 0.0002285135392608241_r8, & + 0.00030989637263758598_r8, 0.00038650748333470095_r8, & + 0.00044468146877405586_r8, 0.00048899744030283176_r8, & + 0.000520938448207852_r8, 0.00054809185626462052_r8, & + 0.00057175579614738919_r8, 0.00059144831711998593_r8, & + 0.00060744955968919411_r8, 0.00062996520132016824_r8, & + 0.00063959502007250504_r8, 0.00063705469263851833_r8, & + 0.00063075617795979079_r8, 0.00062252357959949333_r8, & + 0.00061464133604823034_r8, 0.0006079501199853989_r8, & + 0.00060198715154895579_r8, 0.00059622613263379397_r8, & + 0.00059046166518674913_r8, 0.00058532161159588773_r8, & + 0.00058039822916135459_r8, 0.00057453036542423706_r8, & + 0.00056133365208448581_r8, 0.00054894223784938024_r8, & + 0.0005402293200094595_r8, 0.00053681201999355175_r8, & + 0.00053522889496289958_r8 & + / +data saar_ref(:,32,42) / & + 1.9728744271462174e-05_r8, 2.1339604574754256e-05_r8, & + 2.2171112460319647e-05_r8, 3.1315459873545238e-05_r8, & + 3.3134458123802252e-05_r8, 3.7617623484816465e-05_r8, & + 4.6571942825719195e-05_r8, 5.5969302933003232e-05_r8, & + 6.362909804823473e-05_r8, 7.0983799857951595e-05_r8, & + 7.7629568225431536e-05_r8, 8.5776482559669402e-05_r8, & + 0.00010266784898843305_r8, 0.00012552271412708701_r8, & + 0.0001533660070534729_r8, 0.00018983139432656126_r8, & + 0.00026690082406103977_r8, 0.00034068845510893276_r8, & + 0.00040258097758272542_r8, 0.00045910816243469206_r8, & + 0.00050040967332937495_r8, 0.00053615490784478844_r8, & + 0.00056247652432076054_r8, 0.00058687978722438833_r8, & + 0.00060651782262977495_r8, 0.00062376958787263798_r8, & + 0.00063635285621077803_r8, 0.00065571464731717702_r8, & + 0.00066313201199624079_r8, 0.00066118091063379714_r8, & + 0.00065428738971937096_r8, 0.00064547676468566697_r8, & + 0.00063689645419623148_r8, 0.00062865570294506814_r8, & + 0.00062261059430846453_r8, 0.00061608734307789874_r8, & + 0.00061063251441846014_r8, 0.00060755997125610487_r8, & + 0.00060519100204327217_r8, 0.00060388138986354294_r8, & + 0.00059959301405197176_r8, 0.00058866377228832922_r8, & + 0.00055129640427130128_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,42) / & + 4.6363342704875447e-05_r8, 5.1530199450340564e-05_r8, & + 5.56777025614629e-05_r8, 7.5285601106025139e-05_r8, & + 8.3922162810082812e-05_r8, 9.4562049835532843e-05_r8, & + 0.00010309518024959746_r8, 0.00011966715412700875_r8, & + 0.0001329714529681171_r8, 0.00014615545690041556_r8, & + 0.00015990008398858522_r8, 0.00017682467954397533_r8, & + 0.00021221686188623644_r8, 0.00025391607548412484_r8, & + 0.00029447532082719314_r8, 0.00033506050349398249_r8, & + 0.00040407851473380667_r8, 0.00045735169196776509_r8, & + 0.00049966527996991622_r8, 0.00053599825655313896_r8, & + 0.000564405637341707_r8, 0.00059298378240682027_r8, & + 0.00061388124570090541_r8, 0.00063298544837721835_r8, & + 0.0006471580967406565_r8, 0.00065929647074654707_r8, & + 0.00066826693500498168_r8, 0.00068147222748486398_r8, & + 0.00068518288698424593_r8, 0.00068272407095547251_r8, & + 0.00067463170171638018_r8, 0.00066412624883015366_r8, & + 0.00065488486176267251_r8, 0.00064656083301760261_r8, & + 0.00063958007604695297_r8, 0.00063314397140241908_r8, & + 0.00062809941116018556_r8, 0.00062513941456647959_r8, & + 0.00062347351930728114_r8, 0.0006240275621372277_r8, & + 0.0006243398144692992_r8, 0.00062271142664071827_r8, & + 0.00062273087412670109_r8, 0.00062667343189115132_r8, 9e90_r8 & + / +data saar_ref(:,34,42) / & + 7.8389525848417176e-05_r8, 8.3060655924877924e-05_r8, & + 8.7039851861026032e-05_r8, 0.00011453586303110609_r8, & + 0.00013028354817772945_r8, 0.00014846978851278773_r8, & + 0.00016312421607058981_r8, 0.00017778867758693669_r8, & + 0.00020323301429781975_r8, 0.00024288407951147161_r8, & + 0.00027527562176349817_r8, 0.00030407593431863641_r8, & + 0.00033564013992500459_r8, 0.00037657793966250168_r8, & + 0.00041184648780681865_r8, 0.00044517090020100483_r8, & + 0.00049693695347569446_r8, 0.00053533388754264542_r8, & + 0.00056670293961011463_r8, 0.00059531160948700747_r8, & + 0.00061833574677797325_r8, 0.00064080753548814945_r8, & + 0.00065854693014145245_r8, 0.00067415719901356994_r8, & + 0.00068653828838799588_r8, 0.00069655540803434228_r8, & + 0.00070398391106263119_r8, 0.0007129515262805792_r8, & + 0.00071287594162151055_r8, 0.00070532504687850967_r8, & + 0.00069376983578018161_r8, 0.00068134483959352747_r8, & + 0.00067101493218579204_r8, 0.00066326476600915758_r8, & + 0.00065582697085752901_r8, 0.00064997372803891841_r8, & + 0.00064535772834444958_r8, 0.00064259770046752205_r8, & + 0.00064011079482808838_r8, 0.00063881540577562809_r8, & + 0.00063944304177037997_r8, 0.00063897770076000069_r8, & + 0.00063912807957052463_r8, 0.00063998947045690725_r8, & + 0.00063937215900104554_r8 & + / +data saar_ref(:,35,42) / & + 9.2844723011567819e-05_r8, 9.5959137551512736e-05_r8, & + 9.9131312245536471e-05_r8, 0.00014267986623109368_r8, & + 0.00015523073587716776_r8, 0.0001739532377374117_r8, & + 0.00020386100167790359_r8, 0.0002258693634030282_r8, & + 0.00026389964207683463_r8, 0.00032270830468336003_r8, & + 0.00035824609804543711_r8, 0.00039079958930740799_r8, & + 0.00042455503039344521_r8, 0.00045570335409471401_r8, & + 0.00048113018695718034_r8, 0.00050509654985684811_r8, & + 0.00054226043991310912_r8, 0.00057143896232615904_r8, & + 0.00059757318810434732_r8, 0.00062223169795590553_r8, & + 0.00064304118128821384_r8, 0.00066172274147535215_r8, & + 0.00067721872883674003_r8, 0.0006929500813334877_r8, & + 0.00070445674730307717_r8, 0.0007133037391296533_r8, & + 0.00072000983179323604_r8, 0.00072758965754812787_r8, & + 0.00072675509975842552_r8, 0.00071626294314648068_r8, & + 0.00070401179077432931_r8, 0.00069144957431179074_r8, & + 0.00067922379706781438_r8, 0.00066980455954684806_r8, & + 0.00066070508393054202_r8, 0.00065354463430873069_r8, & + 0.00064845928454357728_r8, 0.00064610000291186426_r8, & + 0.00064356122851120948_r8, 0.00064081297079544538_r8, & + 0.00064054704110124577_r8, 0.0006408786921570076_r8, & + 0.00064222918637369764_r8, 0.00065293468232010263_r8, & + 0.0006543558316477908_r8 & + / +data saar_ref(:,36,42) / & + 8.7000138676951664e-05_r8, 9.0325818640615827e-05_r8, & + 9.8545950740720227e-05_r8, 0.00015485388238917756_r8, & + 0.00016968753477221779_r8, 0.00019338859484203778_r8, & + 0.00023865116992713453_r8, 0.00025451708554028314_r8, & + 0.00028827891808940365_r8, 0.00033699654196762383_r8, & + 0.00036434354409979711_r8, 0.00039241120677234443_r8, & + 0.00043190506769047313_r8, 0.00046083223492580808_r8, & + 0.00048722546307652026_r8, 0.00051103092207333922_r8, & + 0.00054996323260735524_r8, 0.00057445498693200938_r8, & + 0.0006005583052623517_r8, 0.00063008785971702575_r8, & + 0.00065154490390688185_r8, 0.00067176775042172799_r8, & + 0.0006883671998399476_r8, 0.00070535574236649961_r8, & + 0.00071923160889409809_r8, 0.0007309699515390479_r8, & + 0.00074002624432977318_r8, 0.00074640899092187141_r8, & + 0.00074917843989624039_r8, 0.00073657949865188217_r8, & + 0.00072478468277445841_r8, 0.00071662172412744938_r8, & + 0.0007063076869084252_r8, 0.00069496636646680242_r8, & + 0.00068247144502649518_r8, 0.00066472007247984325_r8, & + 0.00065772572311937304_r8, 0.00065432863448439225_r8, & + 0.00065092197173660746_r8, 0.00064776134694930171_r8, & + 0.0006440830356419867_r8, 0.00064345169751797791_r8, & + 0.00064117499811152344_r8, 0.00063949527775857104_r8, & + 0.00063871295799903572_r8 & + / +data saar_ref(:,37,42) / & + 6.0820816845468284e-05_r8, 6.275806584271855e-05_r8, & + 7.9509640228555732e-05_r8, 0.00014607309341958124_r8, & + 0.00017120492382167061_r8, 0.00019796948847142264_r8, & + 0.0002535137422291697_r8, 0.00026521907585993614_r8, & + 0.00028003495035777525_r8, 0.00031230500919993863_r8, & + 0.00034985798805047094_r8, 0.00035952905557482028_r8, & + 0.00040581837397302487_r8, 0.00044099029563035715_r8, & + 0.00047175632674454233_r8, 0.00050384057086249635_r8, & + 0.00055076924508950988_r8, 0.000568301259324291_r8, & + 0.00059167114034927506_r8, 0.00062450653719907368_r8, & + 0.0006570985612104729_r8, 0.000676772612766699_r8, & + 0.00069825838506474126_r8, 0.00071635112712498713_r8, & + 0.00073199832477644433_r8, 0.00074600645825506715_r8, & + 0.00075813010735339146_r8, 0.00076480370300642726_r8, & + 0.00076938893163065877_r8, 0.0007577968670717404_r8, & + 0.00074544701697152368_r8, 0.0007393978339565267_r8, & + 0.00073243561114971463_r8, 0.00072139746805295851_r8, & + 0.00071013021085025154_r8, 0.00068501588155283559_r8, & + 0.00067337112588189429_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,42) / & + 4.9692335964320279e-05_r8, 5.4774536999371979e-05_r8, & + 7.8352582711953205e-05_r8, 0.00010910940856071009_r8, & + 0.0001233256277245755_r8, 0.00012446296067291881_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,42) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,42) / & + 0.0001136785644126702_r8, 0.00010281369687464682_r8, & + 0.00012517120758814615_r8, 0.00010073668277022067_r8, & + 0.00018089270997477847_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,42) / & + 0.00013240300494910722_r8, 0.00012603119277971914_r8, & + 0.00013335583280795567_r8, 0.00010912674234745583_r8, & + 0.00013071241500509475_r8, 0.00023270025858652287_r8, & + 0.00040073585755194573_r8, 0.00025611492536653616_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,42) / & + 0.00013058195576389313_r8, 0.00012581014002782792_r8, & + 0.0001186666430960177_r8, 0.00013319728814081396_r8, & + 0.00014840463156673834_r8, 0.0002483697288628541_r8, & + 0.00031591970195881536_r8, 0.00035586483723637117_r8, & + 0.00026079817726411346_r8, 0.00011419902493946832_r8, & + 7.4437114661646245e-05_r8, 6.8591051454864452e-05_r8, & + 5.8544894352333166e-05_r8, 6.144153158536764e-05_r8, & + 6.3494115903107545e-05_r8, 6.4215717298051001e-05_r8, & + 6.6229583590871814e-05_r8, 6.6820992547093533e-05_r8, & + 6.6927262273326041e-05_r8, 6.9764167802168731e-05_r8, & + 7.2376958016250544e-05_r8, 7.4688775656278763e-05_r8, & + 7.7764763016244516e-05_r8, 8.1737445615252374e-05_r8, & + 8.6528207224526922e-05_r8, 9.2282377551602078e-05_r8, & + 9.8218312259428683e-05_r8, 0.00011095274367018597_r8, & + 0.00010974221125385987_r8, 0.00010739471042890408_r8, & + 0.00010738595943334092_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,42) / & + 9.7546254010026314e-05_r8, 0.00010595638726870808_r8, & + 9.1593955424062608e-05_r8, 0.00013267664783778277_r8, & + 0.00013280676408849122_r8, 0.00014459264387378309_r8, & + 0.00022923504625868939_r8, 0.00025159505812379269_r8, & + 0.0001488074888759067_r8, 6.968431454102481e-05_r8, & + 6.2978511226748589e-05_r8, 6.6012622356647219e-05_r8, & + 6.2567078122324581e-05_r8, 6.5872384252492762e-05_r8, & + 6.6596225180207242e-05_r8, 6.7896727603375515e-05_r8, & + 6.8666184301683313e-05_r8, 6.9275380223703505e-05_r8, & + 7.0261081335858144e-05_r8, 7.3267744033740558e-05_r8, & + 7.5994020052199014e-05_r8, 7.8508981414148396e-05_r8, & + 8.2509269334767128e-05_r8, 8.7359071881811852e-05_r8, & + 9.0975085261362371e-05_r8, 9.6705766313474797e-05_r8, & + 0.00010196762388927925_r8, 0.00011488017687955684_r8, & + 0.00011370372688439418_r8, 0.00011132529369923424_r8, & + 0.00011110162153609929_r8, 0.00011120220330471558_r8, & + 0.00010929664934438142_r8, 0.00010959988703129001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,44,42) / & + 8.2653236044581853e-05_r8, 9.8583168090144452e-05_r8, & + 7.8695032626471516e-05_r8, 0.00012147254831012292_r8, & + 0.00011831685931269423_r8, 0.00012189054562791904_r8, & + 0.00014629273763726842_r8, 0.00011894535503142872_r8, & + 6.5841602710264261e-05_r8, 6.1955939083362964e-05_r8, & + 6.510575666051355e-05_r8, 6.8848760030376202e-05_r8, & + 6.7550857420962859e-05_r8, 6.9029941566388624e-05_r8, & + 7.0577829827484233e-05_r8, 7.2106565339278785e-05_r8, & + 7.2243166582950714e-05_r8, 7.2471601589680745e-05_r8, & + 7.4245660281341096e-05_r8, 7.8211408674235322e-05_r8, & + 8.103114086805804e-05_r8, 8.4292368350099404e-05_r8, & + 8.7977955504746005e-05_r8, 9.3997811115407453e-05_r8, & + 9.7876584985705556e-05_r8, 0.00010355419240366882_r8, & + 0.00010932529592284591_r8, 0.00011992413184266122_r8, & + 0.00012430654807299245_r8, 0.00012135459405967141_r8, & + 0.0001205994126658712_r8, 0.00011951095948075514_r8, & + 0.00011254870392772798_r8, 0.0001130598606570404_r8, & + 0.00011728287819494925_r8, 0.00011825870290919728_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,42) / & + 7.9888861275204725e-05_r8, 0.00010618275843801661_r8, & + 8.9765995725621888e-05_r8, 0.00012483838810892369_r8, & + 0.00012467457775076852_r8, 0.00013287247792291308_r8, & + 0.00010832455541409354_r8, 7.2286183136834465e-05_r8, & + 6.4171298354560302e-05_r8, 6.5969825285369752e-05_r8, & + 6.704068332143891e-05_r8, 6.8492992518508428e-05_r8, & + 6.8537361087692771e-05_r8, 6.9899009073405468e-05_r8, & + 7.1554185691434762e-05_r8, 7.3129148567832255e-05_r8, & + 7.3343070582182533e-05_r8, 7.3639685246401916e-05_r8, & + 7.5893938254977171e-05_r8, 7.9559158421070033e-05_r8, & + 8.2417059455113745e-05_r8, 8.6262430392906449e-05_r8, & + 8.9990229512834584e-05_r8, 9.5170577681355292e-05_r8, & + 0.00010075687043642546_r8, 0.00010555819882218846_r8, & + 0.00011220440572507281_r8, 0.00012196595538040317_r8, & + 0.00012445763108319069_r8, 0.00012045195068453079_r8, & + 0.00011982249556377489_r8, 0.00011985300494872389_r8, & + 0.0001186787683838456_r8, 0.00011899942583052606_r8, & + 0.00012012301664919481_r8, 0.00012071735210740965_r8, & + 0.00012430990493116908_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,43) / & + 0.00011797439954062595_r8, 0.00011896473257351087_r8, & + 0.00012877601785974403_r8, 0.00017046313348309365_r8, & + 0.00017824339963689182_r8, 0.00018682034562453803_r8, & + 0.00021508617736002515_r8, 0.00022847131533336703_r8, & + 0.00022928535652034067_r8, 0.00022035448058434277_r8, & + 0.00021553843606685364_r8, 0.00020777475349966195_r8, & + 0.00020528030131988757_r8, 0.00020516837211927171_r8, & + 0.00020504704523883959_r8, 0.00020502695434178772_r8, & + 0.0002043832830809471_r8, 0.00020441563698205104_r8, & + 0.00020452083166452284_r8, 0.00020662050986105615_r8, & + 0.00020520040272937586_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,43) / & + 0.00011797439954062595_r8, 0.00011896473257351087_r8, & + 0.00012877601785974403_r8, 0.00017046313348309365_r8, & + 0.00017824339963689182_r8, 0.00018682034562453803_r8, & + 0.00021508617736002515_r8, 0.00022847131533336703_r8, & + 0.00022928535652034067_r8, 0.00022035448058434277_r8, & + 0.00021553843606685364_r8, 0.00020777475349966195_r8, & + 0.00020528030131988757_r8, 0.00020516837211927171_r8, & + 0.00020504704523883959_r8, 0.00020502695434178772_r8, & + 0.0002043832830809471_r8, 0.00020441563698205104_r8, & + 0.00020452083166452284_r8, 0.00020662050986105615_r8, & + 0.00020520040272937586_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,43) / & + 0.00011797439954062595_r8, 0.00011896473257351087_r8, & + 0.00012877601785974403_r8, 0.00017046313348309365_r8, & + 0.00017824339963689182_r8, 0.00018682034562453803_r8, & + 0.00021508617736002515_r8, 0.00022847131533336703_r8, & + 0.00022928535652034067_r8, 0.00022035448058434277_r8, & + 0.00021553843606685364_r8, 0.00020777475349966195_r8, & + 0.00020528030131988757_r8, 0.00020516837211927171_r8, & + 0.00020504704523883959_r8, 0.00020502695434178772_r8, & + 0.0002043832830809471_r8, 0.00020441563698205104_r8, & + 0.00020452083166452284_r8, 0.00020662050986105615_r8, & + 0.00020520040272937586_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,43) / & + 0.00012249111986224821_r8, 0.0001226836127401282_r8, & + 0.00013332748391317305_r8, 0.00016832812112591483_r8, & + 0.00017579754408382736_r8, 0.00018471100995528939_r8, & + 0.00021620514475912889_r8, 0.0002269735248588119_r8, & + 0.00022593764376302759_r8, 0.00021889580108624043_r8, & + 0.00022175492107444965_r8, 0.00020904201560912705_r8, & + 0.00020498193276168822_r8, 0.00020457262169453112_r8, & + 0.00020433471311735268_r8, 0.00020381666545647243_r8, & + 0.00020370309711492503_r8, 0.00020326037759423922_r8, & + 0.00020309746151382375_r8, 0.00020311341201308689_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,43) / & + 0.00014219703117460234_r8, 0.00014344696178351325_r8, & + 0.00014404949799138033_r8, 0.00015732360102758581_r8, & + 0.00016087109935835009_r8, 0.00016351438110512689_r8, & + 0.00017141413052656319_r8, 0.00017898314561754742_r8, & + 0.0001838254818889693_r8, 0.00018694814465254606_r8, & + 0.00019087011338496095_r8, 0.0001930112707236623_r8, & + 0.00020001370944042177_r8, 0.00021083129820221669_r8, & + 0.00022033639187573554_r8, 0.00022813422161051115_r8, & + 0.00023647727109618634_r8, 0.0002436070495969852_r8, & + 0.00024655038956570549_r8, 0.00025036382120985996_r8, & + 0.00025410065820968559_r8, 0.00025851226465288925_r8, & + 0.00026102292978446326_r8, 0.00026282076535794708_r8, & + 0.00026410907137118332_r8, 0.00026509742618323356_r8, & + 0.00026580297051559523_r8, 0.00026545727797092257_r8, & + 0.00026195991301940431_r8, 0.00025833898706487845_r8, & + 0.00025677198722785072_r8, 0.00025477020601706883_r8, & + 0.00024640642772864472_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,43) / & + 0.00012821963542285406_r8, 0.00012898165060391009_r8, & + 0.00012714586928349518_r8, 0.00013102820249390442_r8, & + 0.00013622706725141561_r8, 0.00014129485628781152_r8, & + 0.00016128373909587084_r8, 0.00017427577751193572_r8, & + 0.00018112559784537588_r8, 0.000186577612542355_r8, & + 0.00019098184886840025_r8, 0.00019742214050715262_r8, & + 0.00020520331077734135_r8, 0.00021114909273871148_r8, & + 0.00021626366412348075_r8, 0.00022111448335671241_r8, & + 0.000227413906498369_r8, 0.0002362916077201433_r8, & + 0.0002400853561242589_r8, 0.00024465046347920934_r8, & + 0.00024847634597313656_r8, 0.00025123701586910553_r8, & + 0.00025485226090900411_r8, 0.00025814111387211858_r8, & + 0.00026159657646979958_r8, 0.0002640642591178216_r8, & + 0.00026627585359658053_r8, 0.00026975003407665981_r8, & + 0.00026996094949957323_r8, 0.0002666467875450944_r8, & + 0.00026245745582439804_r8, 0.00025268969656871575_r8, & + 0.00024394118642087509_r8, 0.00024483439792621399_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,43) / & + 7.2423936838907118e-05_r8, 7.2278997588550356e-05_r8, & + 6.9973159657416196e-05_r8, 6.6950412660765206e-05_r8, & + 6.9366573011248977e-05_r8, 6.817029524826291e-05_r8, & + 8.1168215882180912e-05_r8, 0.00010085849863082256_r8, & + 0.00011465487114068795_r8, 0.00012476073780242789_r8, & + 0.00013284977038199351_r8, 0.00014002946722693017_r8, & + 0.00015031621797045004_r8, 0.00015875499966266527_r8, & + 0.00016422030722178918_r8, 0.00016935671737796517_r8, & + 0.00017720391411284596_r8, 0.00018454976987902579_r8, & + 0.00019008611481156906_r8, 0.00019637038660779476_r8, & + 0.00020080808785227485_r8, 0.00020517244229248131_r8, & + 0.00020938736733055831_r8, 0.00021370953076029083_r8, & + 0.0002192745748792814_r8, 0.00022353405019941792_r8, & + 0.00022778891130651303_r8, 0.00023853593211044325_r8, & + 0.0002458199304947857_r8, 0.00025007154687838181_r8, & + 0.00025252111180730996_r8, 0.0002542063170603478_r8, & + 0.00025750545503003421_r8, 0.00026337011560911041_r8, & + 0.00026814573057420363_r8, 0.00027227917590137289_r8, & + 0.00027548676845912985_r8, 0.00027571236921959539_r8, & + 0.00027689129277216657_r8, 0.00027756870948958916_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,43) / & + 1.8780680550371252e-05_r8, 1.8776267014847717e-05_r8, & + 1.6239558607782533e-05_r8, 1.6923633413375936e-05_r8, & + 1.6151876413710259e-05_r8, 1.5897941830972696e-05_r8, & + 1.8601260350568172e-05_r8, 2.3778299170236254e-05_r8, & + 3.0833403921204963e-05_r8, 3.7143989189932324e-05_r8, & + 4.2567834484837121e-05_r8, 4.6130620155527416e-05_r8, & + 5.5029411155199559e-05_r8, 6.5836112925720571e-05_r8, & + 7.3884161261694115e-05_r8, 8.088534200291993e-05_r8, & + 9.6242688366377969e-05_r8, 0.00011090257770566502_r8, & + 0.00012322155847980794_r8, 0.00013608688867203537_r8, & + 0.00014718392923655498_r8, 0.00015646345218538901_r8, & + 0.00016446165307496392_r8, 0.00017159870584500277_r8, & + 0.00017719829477796223_r8, 0.00018185018562530343_r8, & + 0.00018603302391004381_r8, 0.00019659818559249342_r8, & + 0.00020668400286548167_r8, 0.00021694561698489519_r8, & + 0.00022734479216635997_r8, 0.00023731800220223791_r8, & + 0.0002477171732638308_r8, 0.00025384671506734394_r8, & + 0.00026022387940108062_r8, 0.00026628945907028722_r8, & + 0.00027020939193044918_r8, 0.00027345075723985031_r8, & + 0.00027602401849956948_r8, 0.00027735118421710572_r8, & + 0.00027931044152200473_r8, 0.00027806937871340632_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,43) / & + 3.2789991281715052e-06_r8, 3.4404476249715689e-06_r8, & + 3.380501610833675e-06_r8, 7.4473858041957737e-06_r8, & + 7.5142952378889973e-06_r8, 8.4198520171088399e-06_r8, & + 8.8159051325203325e-06_r8, 9.1954243843228047e-06_r8, & + 1.2359408275746542e-05_r8, 1.5693799111777018e-05_r8, & + 1.736592331079801e-05_r8, 1.8964752089988923e-05_r8, & + 2.2527635000916934e-05_r8, 2.6586944252879164e-05_r8, & + 3.1094191728146486e-05_r8, 3.5228832231367929e-05_r8, & + 4.6649558890473188e-05_r8, 6.421317764390614e-05_r8, & + 8.0792743089337182e-05_r8, 9.6343704551462496e-05_r8, & + 0.00011271863126346469_r8, 0.00012865577245455039_r8, & + 0.00014391715189858277_r8, 0.00015737695054256223_r8, & + 0.0001652975281584038_r8, 0.00017157859499974414_r8, & + 0.00017640654257810565_r8, 0.00018667409554515513_r8, & + 0.00019653483533472346_r8, 0.00020730729871902871_r8, & + 0.00021880076089981861_r8, 0.00022919434995527011_r8, & + 0.00024130264882307533_r8, 0.00024822282113991971_r8, & + 0.00025505724445317379_r8, 0.00026199682522366036_r8, & + 0.00026679188094361233_r8, 0.00027150749103771552_r8, & + 0.00027447945152324354_r8, 0.00027639673737536854_r8, & + 0.00027781541666357278_r8, 0.0002778220695769681_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,43) / & + 4.5663744792932651e-06_r8, 4.6602218118574645e-06_r8, & + 4.6090895240861604e-06_r8, 4.8591428969298088e-06_r8, & + 5.1190753403487274e-06_r8, 5.2320388247227388e-06_r8, & + 5.7000610241945287e-06_r8, 7.1247896212546743e-06_r8, & + 8.3360196668863779e-06_r8, 1.0453434439655936e-05_r8, & + 1.135912058316115e-05_r8, 1.2175387586965736e-05_r8, & + 1.4418664579895952e-05_r8, 1.5961920183345999e-05_r8, & + 1.8263107236646508e-05_r8, 2.0122757132842521e-05_r8, & + 2.3757127770382124e-05_r8, 3.4662230734018827e-05_r8, & + 4.9435732705393025e-05_r8, 6.7568064407737472e-05_r8, & + 7.8484656908454366e-05_r8, 9.5671704419748917e-05_r8, & + 9.93030833341014e-05_r8, 0.00011709332678117018_r8, & + 0.00013336595985456956_r8, 0.00014798213208289777_r8, & + 0.00015974455754528798_r8, 0.0001790644428415659_r8, & + 0.00018856903970981861_r8, 0.0001971916745217903_r8, & + 0.00021063165623095025_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,43) / & + 4.0468375714326652e-06_r8, 4.1815573075319741e-06_r8, & + 3.9329319616604903e-06_r8, 3.7192285462549407e-06_r8, & + 3.7964065003142463e-06_r8, 4.0097761291524281e-06_r8, & + 4.4785498092289955e-06_r8, 5.756731190107276e-06_r8, & + 6.7310538726347362e-06_r8, 7.6808506541111353e-06_r8, & + 8.5511390762982717e-06_r8, 9.4154405315297347e-06_r8, & + 1.1327993344167638e-05_r8, 1.2449184723547591e-05_r8, & + 1.3765336412491312e-05_r8, 1.5198708443090684e-05_r8, & + 1.9032867685793875e-05_r8, 2.5642734583091766e-05_r8, & + 3.6865627278811291e-05_r8, 5.0350388662450514e-05_r8, & + 6.4946621603817259e-05_r8, 8.1453236190175295e-05_r8, & + 9.8213864553438839e-05_r8, 0.00011765859759321626_r8, & + 0.0001357180871394454_r8, 0.00015359245739746347_r8, & + 0.00016801159866970786_r8, 0.00018812939593384486_r8, & + 0.00019427985255700305_r8, 0.00020031583304484785_r8, & + 0.00021103490937990889_r8, 0.00022700100502990963_r8, & + 0.00023909225877437145_r8, 0.00024817395704877511_r8, & + 0.00025623040004994004_r8, 0.00026032610460580656_r8, & + 0.00026469869110272632_r8, 0.00026177860475837912_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,43) / & + 2.2561711132004404e-06_r8, 2.5412563614724641e-06_r8, & + 2.4613272228487341e-06_r8, 2.9821698730383751e-06_r8, & + 3.1362331604326904e-06_r8, 2.9776122106673295e-06_r8, & + 3.6318859488634435e-06_r8, 4.5351709425719887e-06_r8, & + 5.2676056816136169e-06_r8, 6.0336329669096961e-06_r8, & + 6.8093509503011682e-06_r8, 7.9462295653731687e-06_r8, & + 9.8171549727408806e-06_r8, 1.1302093563636671e-05_r8, & + 1.242054661278833e-05_r8, 1.3633413055446856e-05_r8, & + 1.8886740954315561e-05_r8, 2.6430340521522925e-05_r8, & + 3.872605385245452e-05_r8, 5.103417794435724e-05_r8, & + 6.5928160301407995e-05_r8, 7.9876428678074204e-05_r8, & + 9.8712626118338192e-05_r8, 0.00011801574518239456_r8, & + 0.00013600165358590972_r8, 0.00015493591627857413_r8, & + 0.00017014995625830491_r8, 0.00018978733588917299_r8, & + 0.00019556106336041459_r8, 0.0002008705337947312_r8, & + 0.00021012023991807814_r8, 0.00022546637532803134_r8, & + 0.00023809765375558951_r8, 0.00024764429648353986_r8, & + 0.00025597238181570452_r8, 0.00026007107250668339_r8, & + 0.00026399118864800541_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,43) / & + 2.742757661547555e-06_r8, 3.0897907734735206e-06_r8, & + 3.058529006494176e-06_r8, 3.3902864432142375e-06_r8, & + 3.3584499562748578e-06_r8, 3.3493978132196899e-06_r8, & + 3.5037258164325256e-06_r8, 4.2937103980956452e-06_r8, & + 5.0599272445167881e-06_r8, 5.7879215745413724e-06_r8, & + 6.4410845521494809e-06_r8, 7.2144565377482701e-06_r8, & + 8.6807442801609806e-06_r8, 1.0858412369844699e-05_r8, & + 1.2545069111166161e-05_r8, 1.4862027723835361e-05_r8, & + 2.0800497417560087e-05_r8, 2.911008802419999e-05_r8, & + 4.1965652630389816e-05_r8, 5.6071021876171582e-05_r8, & + 7.1421292291355947e-05_r8, 8.729425027159225e-05_r8, & + 0.00010342715838746258_r8, 0.00011872598706404823_r8, & + 0.00013697086606718079_r8, 0.00015604679136463966_r8, & + 0.00017140510287126347_r8, 0.00020426828316275902_r8, & + 0.00022207285680503309_r8, 0.00023308724627198527_r8, & + 0.00022003650688698571_r8, 0.00022146808433828183_r8, & + 0.00023490537856062497_r8, 0.00024609522776749946_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,43) / & + 2.6540300200168148e-06_r8, 2.9377529244571716e-06_r8, & + 3.0212581248888941e-06_r8, 3.943797844080411e-06_r8, & + 3.8535223406346087e-06_r8, 3.7195868988467408e-06_r8, & + 3.3874682854347899e-06_r8, 3.5659232780776581e-06_r8, & + 4.0932184509859132e-06_r8, 4.7089387642052127e-06_r8, & + 5.424195234828106e-06_r8, 6.224896370104792e-06_r8, & + 7.8870825551308587e-06_r8, 9.9121624013519837e-06_r8, & + 1.1834804846366868e-05_r8, 1.4757431630214424e-05_r8, & + 2.1507930148490835e-05_r8, 3.013301216142386e-05_r8, & + 4.1173739273297913e-05_r8, 5.3430319197604656e-05_r8, & + 6.8441279410906769e-05_r8, 8.3678428660898506e-05_r8, & + 9.9873757445679296e-05_r8, 0.00011671765564002883_r8, & + 0.00013619761465324829_r8, 0.00015568718210948393_r8, & + 0.00017281672250974206_r8, 0.00021072432796488479_r8, & + 0.00023313527201601535_r8, 0.00024536133304345608_r8, & + 0.00025098246164957573_r8, 0.00025615368141803947_r8, & + 0.00025705851277092322_r8, 0.00025597842760337124_r8, & + 0.00026633180032529483_r8, 0.00026521797620462147_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,43) / & + 2.6896376122675609e-06_r8, 2.8925078462280748e-06_r8, & + 3.0598774619461506e-06_r8, 4.2271260490170335e-06_r8, & + 4.354544229934588e-06_r8, 4.2259133794089314e-06_r8, & + 4.2582545640097945e-06_r8, 4.2777636185061487e-06_r8, & + 4.0018380467138985e-06_r8, 3.8385182336069416e-06_r8, & + 3.8880766158601785e-06_r8, 4.2643893983746648e-06_r8, & + 5.5565797091245345e-06_r8, 7.2590497027723513e-06_r8, & + 8.8856537860852066e-06_r8, 1.087307851461955e-05_r8, & + 1.6822311611781747e-05_r8, 2.4812086022707372e-05_r8, & + 3.4925891241092051e-05_r8, 4.7509632316599792e-05_r8, & + 6.3300200864258014e-05_r8, 8.0016898177930564e-05_r8, & + 9.9862338980527581e-05_r8, 0.0001215870799669589_r8, & + 0.00014317600509894488_r8, 0.0001646622592510628_r8, & + 0.0001828876527085438_r8, 0.00021893443249473526_r8, & + 0.00024050897851761436_r8, 0.00025340078392286004_r8, & + 0.00026070281036411828_r8, 0.00026395388842291687_r8, & + 0.00026665019849158705_r8, 0.0002626576207399028_r8, & + 0.00025241250034909927_r8, 0.00026374646380191666_r8, & + 0.00027275016572277723_r8, 0.00027976626218225223_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,43) / & + 4.8134285236862193e-06_r8, 4.8700748430453151e-06_r8, & + 4.7776153827945981e-06_r8, 7.3692147430481304e-06_r8, & + 6.8893011544748585e-06_r8, 6.417366217187929e-06_r8, & + 6.0837326872860324e-06_r8, 6.2110014998385312e-06_r8, & + 5.7588575302240257e-06_r8, 5.3231307442398294e-06_r8, & + 4.8802269842352913e-06_r8, 4.6296839626323295e-06_r8, & + 5.500036591598002e-06_r8, 6.9865693136090532e-06_r8, & + 8.4111296692604463e-06_r8, 1.053190872704484e-05_r8, & + 1.6487262808985962e-05_r8, 2.4221762792347109e-05_r8, & + 3.727044830292896e-05_r8, 5.6253278368476583e-05_r8, & + 7.5810091255532327e-05_r8, 9.7684124612950582e-05_r8, & + 0.00011857160739532727_r8, 0.00014166904642654883_r8, & + 0.00016641525372582304_r8, 0.00018550125868366493_r8, & + 0.00020248413215989266_r8, 0.0002335901637893909_r8, & + 0.00025136956616950731_r8, 0.00026351562517448312_r8, & + 0.00027139552364612067_r8, 0.00027611057372257724_r8, & + 0.00027905627850612958_r8, 0.00027313309706696113_r8, & + 0.00025416746208466726_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,43) / & + 7.6660056058793022e-06_r8, 7.5346665862472266e-06_r8, & + 6.901643233223768e-06_r8, 7.6408485437987226e-06_r8, & + 6.6263829907358685e-06_r8, 6.9552174324057648e-06_r8, & + 5.1546489829796399e-06_r8, 6.0718783491839887e-06_r8, & + 6.4367506054853857e-06_r8, 6.2476562430726273e-06_r8, & + 5.725801126893693e-06_r8, 4.9781741008189569e-06_r8, & + 5.2885652792882712e-06_r8, 6.7510256912079775e-06_r8, & + 8.6028458116367785e-06_r8, 1.1457168039026715e-05_r8, & + 1.8832701611312294e-05_r8, 3.0555061397053214e-05_r8, & + 4.632228574801601e-05_r8, 7.1666690323933367e-05_r8, & + 9.5861705458887131e-05_r8, 0.00012378930593278788_r8, & + 0.00014629199458704629_r8, 0.00016783783512469428_r8, & + 0.00019008658660743847_r8, 0.00020726216083548127_r8, & + 0.00022182533914645_r8, 0.0002473139315184278_r8, & + 0.00026396964540711563_r8, 0.00027374378983969035_r8, & + 0.00028116155117910874_r8, 0.00028636139189723326_r8, & + 0.00029023411752149015_r8, 0.00029182859369215284_r8, & + 0.00029860766928207192_r8, 0.00030041589048574916_r8, & + 0.00030001907178483958_r8, 0.00029987503462686172_r8, & + 0.00029805210604270422_r8, 0.00029713089928667946_r8, & + 0.00029665485230293562_r8, 0.00029698530451313025_r8, & + 0.00029696969442328001_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,43) / & + 6.8662752975336378e-06_r8, 6.6421340856180751e-06_r8, & + 6.1804082634430746e-06_r8, 4.4782812406260095e-06_r8, & + 4.3917545975001725e-06_r8, 4.3925087094403767e-06_r8, & + 4.7698484414349746e-06_r8, 4.3828174082588129e-06_r8, & + 4.5117328626205663e-06_r8, 4.2771678245225089e-06_r8, & + 4.2505295489897151e-06_r8, 4.096608402472633e-06_r8, & + 5.4200035953290005e-06_r8, 7.9204299097058474e-06_r8, & + 1.1810793693060058e-05_r8, 1.6414491141571093e-05_r8, & + 2.6743052085928121e-05_r8, 4.2171397701790479e-05_r8, & + 6.3406563693046094e-05_r8, 9.2327487593160155e-05_r8, & + 0.00012051176582778228_r8, 0.00014912876866641494_r8, & + 0.00017349032724986197_r8, 0.00019245181642086112_r8, & + 0.00020932370308665639_r8, 0.00022510469613926603_r8, & + 0.00023772548142892493_r8, 0.00026309675712741072_r8, & + 0.00027917404592296609_r8, 0.00028931158054893216_r8, & + 0.00029764728830537155_r8, 0.00030247755159605334_r8, & + 0.00030578989375617784_r8, 0.00030664736947209507_r8, & + 0.00030983074146021628_r8, 0.00031053402094808442_r8, & + 0.00030925762151340949_r8, 0.00031161497057201717_r8, & + 0.00031030198595133286_r8, 0.00030986997183804217_r8, & + 0.00030986587416630915_r8, 0.00030997837877251816_r8, & + 0.00031005809812579177_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,43) / & + 5.9562313824457176e-06_r8, 5.2619741470208032e-06_r8, & + 5.0624815073621313e-06_r8, 4.8292376895485928e-06_r8, & + 4.8541464637394974e-06_r8, 4.9053046988630751e-06_r8, & + 5.3398560837229667e-06_r8, 5.3244084156703037e-06_r8, & + 4.7667620839804208e-06_r8, 4.0286026685002922e-06_r8, & + 3.7782064924969199e-06_r8, 5.3465887296014619e-06_r8, & + 1.0004756548124645e-05_r8, 1.5126598505702657e-05_r8, & + 2.1907565198519679e-05_r8, 2.8560829590517664e-05_r8, & + 4.2267468958684128e-05_r8, 6.4764262646725798e-05_r8, & + 9.1214076233027362e-05_r8, 0.00011798479817778706_r8, & + 0.00014445491961156626_r8, 0.00016909620887559307_r8, & + 0.00019294245361663941_r8, 0.00021075107044877462_r8, & + 0.00022659715036835043_r8, 0.00024223813043362693_r8, & + 0.00025575986340725101_r8, 0.00028180478002657_r8, & + 0.00029976761985696067_r8, 0.00030971315866468727_r8, & + 0.00031834530595904509_r8, 0.00032082863257983324_r8, & + 0.0003279028143607753_r8, 0.0003388006929611527_r8, & + 0.00034005540281734271_r8, 0.00034890083573452181_r8, & + 0.00035620173591928385_r8, 0.00036679175080189618_r8, & + 0.00036675641796443811_r8, 0.0003667360472955325_r8, & + 0.00038133963631093386_r8, 0.00038134187202440683_r8, & + 0.00038134857932211865_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,43) / & + 4.8947652557104133e-06_r8, 4.7774536298559156e-06_r8, & + 4.730794378279256e-06_r8, 4.4124558711170017e-06_r8, & + 4.4343463909822168e-06_r8, 4.508394282607377e-06_r8, & + 5.2715064228332848e-06_r8, 5.889442258809897e-06_r8, & + 5.6585825698196781e-06_r8, 5.4762454690874374e-06_r8, & + 5.3717912140651687e-06_r8, 8.8950659661065925e-06_r8, & + 1.9840251037301555e-05_r8, 2.9141866761189306e-05_r8, & + 4.0531514962662833e-05_r8, 5.0529531741380986e-05_r8, & + 7.0066086788965693e-05_r8, 9.4568531600152224e-05_r8, & + 0.00011728605836904834_r8, 0.00014182397406227554_r8, & + 0.0001676141763731891_r8, 0.00018864005356202351_r8, & + 0.00021093588136180815_r8, 0.0002311522676664034_r8, & + 0.00024945572218479058_r8, 0.00026654305611426818_r8, & + 0.0002819141325238392_r8, 0.00031281645027688619_r8, & + 0.00033385545428621599_r8, 0.00034693020024422063_r8, & + 0.00035675683227229965_r8, 0.00036683070662093679_r8, & + 0.00037668181322759786_r8, 0.00038881477415619176_r8, & + 0.00038713135979939929_r8, 0.00038504774470970212_r8, & + 0.00038014174669054741_r8, 0.00037699578798359095_r8, & + 0.00037479553708464437_r8, 0.00037645487791071333_r8, & + 0.0003957644288826488_r8, 0.00039476203585105276_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,43) / & + 4.6728237156451343e-06_r8, 4.8377922836971612e-06_r8, & + 5.0880554067237582e-06_r8, 4.3011205703568432e-06_r8, & + 4.3325446348401986e-06_r8, 4.3803564353314271e-06_r8, & + 5.2572155646784501e-06_r8, 5.7216203626874464e-06_r8, & + 6.40540739323517e-06_r8, 7.1149393614174443e-06_r8, & + 8.2424623022228621e-06_r8, 1.1968755287445472e-05_r8, & + 3.0052355152375519e-05_r8, 4.8746428338445697e-05_r8, & + 6.2799806605297955e-05_r8, 7.4637278661295086e-05_r8, & + 9.5781293009791475e-05_r8, 0.00012026683174179968_r8, & + 0.00014382327070530654_r8, 0.00016727298761590892_r8, & + 0.00019440103349268909_r8, 0.00021770450418646386_r8, & + 0.00024192788235162882_r8, 0.00026387008153004783_r8, & + 0.00028287730600836368_r8, 0.00030190969813001094_r8, & + 0.00031741253542733641_r8, 0.00034774716985162856_r8, & + 0.00037123290513160567_r8, 0.00038520029482775936_r8, & + 0.00039595982856369723_r8, 0.00040284435538537664_r8, & + 0.00040503233748362969_r8, 0.00040640648175410877_r8, & + 0.00040301280060886199_r8, 0.00039966089998499281_r8, & + 0.00039351564396183567_r8, 0.00037547038221943057_r8, & + 0.00036578154579461412_r8, 0.00035732715694407655_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,43) / & + 4.5638127412905778e-06_r8, 5.2117843556615208e-06_r8, & + 5.9230231896573035e-06_r8, 5.7706045018020059e-06_r8, & + 5.778922363108802e-06_r8, 5.7981460408351463e-06_r8, & + 6.0455437366510535e-06_r8, 5.964978972024946e-06_r8, & + 8.1064010288599289e-06_r8, 1.142353840590679e-05_r8, & + 1.579126064729073e-05_r8, 2.1515724118967594e-05_r8, & + 4.1698378443970002e-05_r8, 5.8809987636741852e-05_r8, & + 7.0867146412586832e-05_r8, 8.1723345752879483e-05_r8, & + 0.00010345507600465762_r8, 0.00013439882329896536_r8, & + 0.00016273069401701355_r8, 0.00018812663921952081_r8, & + 0.00021325797832008619_r8, 0.00023943048305137245_r8, & + 0.00026677322235955946_r8, 0.00029308412799234441_r8, & + 0.00030975569273568879_r8, 0.0003281061036916225_r8, & + 0.00034431665331377125_r8, 0.00037372142350191164_r8, & + 0.00039743667141356345_r8, 0.00041190880091999867_r8, & + 0.00042227470007659814_r8, 0.00042676181046999423_r8, & + 0.00042673325262236882_r8, 0.00042434770675402265_r8, & + 0.00042019297280564892_r8, 0.00041396553436651824_r8, & + 0.00040329996930069632_r8, 0.00039265774848651287_r8, & + 0.00038821734819463252_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,43) / & + 4.5375094098821601e-06_r8, 5.3332201162338723e-06_r8, & + 6.2234646604340899e-06_r8, 7.9949034829676174e-06_r8, & + 7.9194954652136278e-06_r8, 7.5309139935444902e-06_r8, & + 6.5035661215534489e-06_r8, 6.227014182062239e-06_r8, & + 9.6575015917951655e-06_r8, 1.6082627801621042e-05_r8, & + 2.4109384697234733e-05_r8, 3.4599156509288492e-05_r8, & + 6.1440032336570644e-05_r8, 7.7582812726365838e-05_r8, & + 8.7474006023385549e-05_r8, 9.5351081951774606e-05_r8, & + 0.00011830410486527789_r8, 0.0001550348662772115_r8, & + 0.0001823122348191017_r8, 0.00020941792501438238_r8, & + 0.00023691385957192332_r8, 0.00026393039668193036_r8, & + 0.00029301264272708823_r8, 0.0003167353085368739_r8, & + 0.00033414276766357317_r8, 0.00035120491512455825_r8, & + 0.00036819423490915579_r8, 0.0003999940754449852_r8, & + 0.00042197376754434548_r8, 0.00043657514083447345_r8, & + 0.00044561190648656989_r8, 0.00044898650701782249_r8, & + 0.00044802212593263304_r8, 0.00044443280152008129_r8, & + 0.00043972011433704347_r8, 0.00043241250562330285_r8, & + 0.00042257349282632644_r8, 0.00041009322766942806_r8, & + 0.0004048838745364511_r8, 0.00040198544574896264_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,43) / & + 4.7397169938203546e-06_r8, 5.1806434629697387e-06_r8, & + 5.7264512265457959e-06_r8, 8.834715514895255e-06_r8, & + 8.5041090006423611e-06_r8, 7.8615834038171872e-06_r8, & + 5.6821282262223206e-06_r8, 6.2307283732016555e-06_r8, & + 1.2201940769047596e-05_r8, 2.10652346300582e-05_r8, & + 3.5239148072869354e-05_r8, 5.4547655256682469e-05_r8, & + 9.1919258610785996e-05_r8, 0.00010689711675034107_r8, & + 0.00011355664802796215_r8, 0.00011950370355861506_r8, & + 0.0001399999248943646_r8, 0.00017134304038264849_r8, & + 0.00019996751286382319_r8, 0.00022866176480558885_r8, & + 0.00025811190381276491_r8, 0.00028477235649304665_r8, & + 0.0003149098756115623_r8, 0.00033787969138303423_r8, & + 0.00035708936642903978_r8, 0.00037406945487884481_r8, & + 0.00039137970882038322_r8, 0.00042468206099438593_r8, & + 0.00044627408219578114_r8, 0.00045896191395762873_r8, & + 0.0004671285906865751_r8, 0.00047043782274129559_r8, & + 0.00046905880022133083_r8, 0.0004641818198272917_r8, & + 0.00045827952266333597_r8, 0.00045001978895624497_r8, & + 0.00044235293780269842_r8, 0.00042893978874393142_r8, & + 0.00041940382046411244_r8, 0.00041539903195314006_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,43) / & + 5.2953770623262366e-06_r8, 5.3891651129877502e-06_r8, & + 5.5345228140960147e-06_r8, 6.255770931240155e-06_r8, & + 6.1099295811307253e-06_r8, 5.9988162303418293e-06_r8, & + 5.66345188151981e-06_r8, 6.4401856955057092e-06_r8, & + 1.0409291222399646e-05_r8, 1.6908480937938899e-05_r8, & + 2.8865859619396423e-05_r8, 4.7480583860437495e-05_r8, & + 8.4368899482619223e-05_r8, 0.00010623129655791941_r8, & + 0.00011983021732124487_r8, 0.00013240851214322096_r8, & + 0.00015814391089425211_r8, 0.00019165605959955772_r8, & + 0.00022188765997125913_r8, 0.00025198899082469294_r8, & + 0.00028158233629996005_r8, 0.00031138145571104714_r8, & + 0.00033751163350203504_r8, 0.00036123191378838139_r8, & + 0.00038158439650691787_r8, 0.0003996132531899633_r8, & + 0.0004162420731283726_r8, 0.00044846845631301791_r8, & + 0.00046852116200170356_r8, 0.00048084853932254271_r8, & + 0.00048831318164390281_r8, 0.00049109841099583722_r8, & + 0.00049073905740726462_r8, 0.00048676319312615496_r8, & + 0.00048151557837364131_r8, 0.00047283969756217265_r8, & + 0.00046235059330529448_r8, 0.00045053761318750862_r8, & + 0.0004409995117617645_r8, 0.00043882570163428577_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,43) / & + 6.0741996046844942e-06_r8, 6.021247492971108e-06_r8, & + 5.9703777943348086e-06_r8, 5.9453599994583949e-06_r8, & + 5.9145737523077514e-06_r8, 5.8834909661994595e-06_r8, & + 5.6438623218452689e-06_r8, 5.9248324619215061e-06_r8, & + 6.2012879965346628e-06_r8, 7.8724718147235991e-06_r8, & + 1.0953788521451789e-05_r8, 1.665102079853005e-05_r8, & + 3.8433204227384125e-05_r8, 6.7600636746890366e-05_r8, & + 9.8361691162161482e-05_r8, 0.00012619869565969256_r8, & + 0.00017434334083999659_r8, 0.00021386056196145633_r8, & + 0.00024585597017399535_r8, 0.00027801499988632335_r8, & + 0.00030966485121784439_r8, 0.00034223979169352957_r8, & + 0.00036600618427221515_r8, 0.00038806126189660503_r8, & + 0.00040740340926925388_r8, 0.00042488432145609286_r8, & + 0.00044053441187275576_r8, 0.00047110540612255647_r8, & + 0.00049071939007669537_r8, 0.00050303577997335433_r8, & + 0.00050943712989565289_r8, 0.0005116937814921321_r8, & + 0.0005124209967432644_r8, 0.0005095051651299137_r8, & + 0.00050578351128405176_r8, 0.00049754227786057441_r8, & + 0.00048514478229151213_r8, 0.00047359132534954303_r8, & + 0.00046465142667766955_r8, 0.00045249312323205465_r8, & + 0.00044385358066310285_r8, 0.00043865957723754275_r8, & + 0.00043692545542878237_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,43) / & + 6.2251220460234294e-06_r8, 6.0579235584874397e-06_r8, & + 5.8244833180379578e-06_r8, 5.9479377400266556e-06_r8, & + 5.7145931982305984e-06_r8, 5.747937308761956e-06_r8, & + 5.3043236670323928e-06_r8, 5.5751630238280042e-06_r8, & + 5.7517748527605199e-06_r8, 6.4726712923750208e-06_r8, & + 7.9309865715011348e-06_r8, 1.1076536125133687e-05_r8, & + 2.0857247925494134e-05_r8, 3.5557728962688144e-05_r8, & + 6.1890620337326258e-05_r8, 9.1816521788387755e-05_r8, & + 0.00015727134058014355_r8, 0.00022024570170896089_r8, & + 0.00026791682049115688_r8, 0.00030313099656308415_r8, & + 0.00033718666153510036_r8, 0.00036920036872211944_r8, & + 0.00039306098932364111_r8, 0.00041570625824631301_r8, & + 0.00043515819937199423_r8, 0.00045233692973578653_r8, & + 0.00046382610817694725_r8, 0.00049436835502356309_r8, & + 0.00051202784643426976_r8, 0.00052285340471605244_r8, & + 0.0005276577657333867_r8, 0.00052875340755379472_r8, & + 0.00052814940060904767_r8, 0.0005253338212320998_r8, & + 0.00052134752335942125_r8, 0.00051406976729213665_r8, & + 0.00050295319378940953_r8, 0.00049172704860180906_r8, & + 0.00048107239780508296_r8, 0.00046988621378104428_r8, & + 0.00046181058486913028_r8, 0.00045721489185784604_r8, & + 0.00045084021412173942_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,43) / & + 5.4515316351266737e-06_r8, 5.3025068271960821e-06_r8, & + 5.0459913868976799e-06_r8, 5.1564442676780635e-06_r8, & + 5.3611540435669791e-06_r8, 5.3547536183586719e-06_r8, & + 5.8352678160837106e-06_r8, 6.4500683007048899e-06_r8, & + 6.6566818854908941e-06_r8, 7.3165523841728282e-06_r8, & + 8.8114680415876891e-06_r8, 1.1250756961676165e-05_r8, & + 1.8614916932210598e-05_r8, 2.7343102302361283e-05_r8, & + 4.2528321181801407e-05_r8, 5.9939630772538141e-05_r8, & + 0.0001143199864608826_r8, 0.00019750916589004303_r8, & + 0.00027162592761977169_r8, 0.00032796607213532247_r8, & + 0.00037253587890319492_r8, 0.00040380579902678584_r8, & + 0.00042759611705922687_r8, 0.0004498428288335897_r8, & + 0.00046916408392816883_r8, 0.00048551100270913185_r8, & + 0.00048989076488915786_r8, 0.00051735517226679951_r8, & + 0.00053244427865450374_r8, 0.00054049053315368724_r8, & + 0.00054309698278554811_r8, 0.00054262787247130447_r8, & + 0.00054093528000242141_r8, 0.00053841578935203967_r8, & + 0.00053381519226638596_r8, 0.00052737214393829338_r8, & + 0.00051928858725555996_r8, 0.00050946621956376016_r8, & + 0.00049940823052650198_r8, 0.00048953762819973449_r8, & + 0.00048176791503057168_r8, 0.00047783323645419682_r8, & + 0.00047276006065560193_r8, 0.00046873549832305737_r8, & + 0.00046722653786630179_r8 & + / +data saar_ref(:,29,43) / & + 5.1986182065301722e-06_r8, 5.1843384381349946e-06_r8, & + 5.228000365911815e-06_r8, 6.0261579690593587e-06_r8, & + 6.4722066844149874e-06_r8, 6.6738160161432807e-06_r8, & + 7.5199668274480525e-06_r8, 7.876487996682833e-06_r8, & + 8.2815528178614603e-06_r8, 9.335270461614423e-06_r8, & + 1.1059636341741782e-05_r8, 1.4093025898032754e-05_r8, & + 2.0795358873735162e-05_r8, 2.9782628457453199e-05_r8, & + 4.0651188186713894e-05_r8, 5.4667558715765937e-05_r8, & + 9.9169501173434661e-05_r8, 0.00017147681003905035_r8, & + 0.00025831566791163492_r8, 0.00033430456707847413_r8, & + 0.00039553786036618894_r8, 0.00043541461411730818_r8, & + 0.00046487011305007867_r8, 0.00049013713684146001_r8, & + 0.00051048080653466035_r8, 0.0005282893834374292_r8, & + 0.00053378193177420553_r8, 0.00055829484810257252_r8, & + 0.00056620226267922811_r8, 0.00056818157460986117_r8, & + 0.00056697466404986331_r8, 0.00056432801129621907_r8, & + 0.0005611688949273112_r8, 0.00055743809789728278_r8, & + 0.00055172900544294171_r8, 0.0005452852768274755_r8, & + 0.00053805987942546444_r8, 0.00053064118995853056_r8, & + 0.00052010867603541919_r8, 0.00050990201373253639_r8, & + 0.00050064430059137228_r8, 0.00049323009037676108_r8, & + 0.00048709425399135869_r8, 0.00048232280916350994_r8, & + 0.00048048563518010828_r8 & + / +data saar_ref(:,30,43) / & + 6.9105328434810757e-06_r8, 7.2713673058062363e-06_r8, & + 7.9513740383662188e-06_r8, 9.5376541431888997e-06_r8, & + 1.0396098466726795e-05_r8, 1.0623427547523267e-05_r8, & + 1.1052116135260663e-05_r8, 1.1036448228308599e-05_r8, & + 1.2078090078630851e-05_r8, 1.4096595605117816e-05_r8, & + 1.68085094704528e-05_r8, 2.0759506118560035e-05_r8, & + 2.8527210214739665e-05_r8, 3.7745065626195428e-05_r8, & + 4.7279452424885661e-05_r8, 6.1265036435448548e-05_r8, & + 0.00010244750064068332_r8, 0.00016451370692905574_r8, & + 0.00025328035970920262_r8, 0.00033598768291201865_r8, & + 0.00040483463440245523_r8, 0.0004554186717395182_r8, & + 0.00049135875134536896_r8, 0.00052230310103763692_r8, & + 0.00054550312341085697_r8, 0.00056549291420812903_r8, & + 0.00057806857777986545_r8, 0.0006032669587437943_r8, & + 0.00061009154201506325_r8, 0.00060802368709160189_r8, & + 0.00060233340285012406_r8, 0.00059564711378578053_r8, & + 0.00058932407665987269_r8, 0.00058314977126159998_r8, & + 0.00057618633772667314_r8, 0.00057119507468010036_r8, & + 0.0005666167847398736_r8, 0.00055972770063759535_r8, & + 0.00054926532965533597_r8, 0.00053865671104551683_r8, & + 0.00052872159917803977_r8, 0.00052051697721236284_r8, & + 0.00051418744753521791_r8, 0.00051267097860840688_r8, & + 0.00051577432394071354_r8 & + / +data saar_ref(:,31,43) / & + 1.100582657777006e-05_r8, 1.1695055870153212e-05_r8, & + 1.2494603279356798e-05_r8, 1.3494055743649829e-05_r8, & + 1.4127589698067562e-05_r8, 1.5110268767051193e-05_r8, & + 1.845040882932733e-05_r8, 2.2937558730369457e-05_r8, & + 2.7478512366168597e-05_r8, 3.143321891385654e-05_r8, & + 3.5498382323736517e-05_r8, 4.0398347490054521e-05_r8, & + 5.0027730137366332e-05_r8, 6.2317941950728307e-05_r8, & + 7.7773658884145461e-05_r8, 0.00010000911140258301_r8, & + 0.00015756658515536279_r8, 0.00022839752392913353_r8, & + 0.00031224278914911965_r8, 0.00038596573677194553_r8, & + 0.00044421106307208306_r8, 0.00048794833709033003_r8, & + 0.00052170158318676544_r8, 0.00054966142148091105_r8, & + 0.00057326553370989279_r8, 0.00059257107174987976_r8, & + 0.00060619790026017787_r8, 0.00062985590747546773_r8, & + 0.00063964626857376133_r8, 0.00063787832416654379_r8, & + 0.00062990929607877001_r8, 0.00062128529460918596_r8, & + 0.0006128198939338136_r8, 0.0006064071115847344_r8, & + 0.00059976963913723369_r8, 0.00059446025280899921_r8, & + 0.00058989454629597708_r8, 0.00058409661281592191_r8, & + 0.00057560449606630702_r8, 0.000565750575218158_r8, & + 0.00055311188321668697_r8, 0.00054188594058075757_r8, & + 0.00053452098927270317_r8, 0.00053110689440363367_r8, & + 0.00053149895971919749_r8 & + / +data saar_ref(:,32,43) / & + 2.273111028094914e-05_r8, 2.4194173663727437e-05_r8, & + 2.569248213216049e-05_r8, 3.0263178976093143e-05_r8, & + 2.9973882777843866e-05_r8, 3.4228449648469071e-05_r8, & + 4.006957872754701e-05_r8, 4.6863644629454893e-05_r8, & + 5.3108281667216197e-05_r8, 5.8913811014026305e-05_r8, & + 6.4286740553745633e-05_r8, 7.1225915147575568e-05_r8, & + 8.4942176323832191e-05_r8, 0.00010392553167655752_r8, & + 0.00012733170802877475_r8, 0.00016093666082819154_r8, & + 0.00023699499515540453_r8, 0.000314832735585741_r8, & + 0.00038347055539029095_r8, 0.0004427058755269109_r8, & + 0.00048878044937317969_r8, 0.00052473409237979783_r8, & + 0.00055447093636212309_r8, 0.00058057883495391969_r8, & + 0.00060249874422778522_r8, 0.00061973124377419212_r8, & + 0.00063213914008320988_r8, 0.00065310670653072052_r8, & + 0.00066131979622086425_r8, 0.00066079304519798242_r8, & + 0.0006528520437967827_r8, 0.00064466913673771669_r8, & + 0.00063570800793432184_r8, 0.00062911489498987275_r8, & + 0.00062350012130405928_r8, 0.00061711435725262591_r8, & + 0.00061156794896445306_r8, 0.0006079975341053861_r8, & + 0.00060306446311734802_r8, 0.00059971908371979799_r8, & + 0.00059333964859342736_r8, 0.00059249432497395502_r8, & + 0.00058698535255630353_r8, 0.00058556593423042948_r8, & + 0.0005855983229952099_r8 & + / +data saar_ref(:,33,43) / & + 5.5054273320329543e-05_r8, 5.8084802679191182e-05_r8, & + 6.1172081803255226e-05_r8, 7.4694942375531071e-05_r8, & + 8.0305151609049084e-05_r8, 8.6951106995913067e-05_r8, & + 8.7482985444372588e-05_r8, 0.0001016558834795012_r8, & + 0.00011373982685144013_r8, 0.00012760101007540405_r8, & + 0.00014208949702844076_r8, 0.00016128077689196371_r8, & + 0.00018828898108542481_r8, 0.00022435542455648979_r8, & + 0.00026154712651899802_r8, 0.00030147499845122668_r8, & + 0.00037582512685103509_r8, 0.00043891456309744762_r8, & + 0.00048753264197803605_r8, 0.00052735030160987986_r8, & + 0.00055881296180186439_r8, 0.00058691900620479729_r8, & + 0.00060901187588498207_r8, 0.00062858879976812479_r8, & + 0.0006441922601978558_r8, 0.00065673840274762401_r8, & + 0.000666039842921543_r8, 0.00068020426410095596_r8, & + 0.00068447476204955727_r8, 0.00068240939939786562_r8, & + 0.000675017881657331_r8, 0.00066609666514405423_r8, & + 0.00065695329914912848_r8, 0.00064862667937262176_r8, & + 0.00064132750217107081_r8, 0.00063546907968177837_r8, & + 0.00063064853050241352_r8, 0.00062751197883868912_r8, & + 0.00062558776448656231_r8, 0.00062491700821477067_r8, & + 0.00062487732048768167_r8, 0.00062405198371228766_r8, & + 0.00061964472199590613_r8, 0.00060199918123541489_r8, 9e90_r8 & + / +data saar_ref(:,34,43) / & + 8.3871022218492058e-05_r8, 8.6906028499436898e-05_r8, & + 9.0226215414282467e-05_r8, 0.00011904995910501701_r8, & + 0.00013364488706073106_r8, 0.00014700422311334773_r8, & + 0.0001520794630503121_r8, 0.00017431684049188658_r8, & + 0.00019707772215510301_r8, 0.0002428466835230559_r8, & + 0.00027839390027320694_r8, 0.00031418744701999384_r8, & + 0.00034404550045064036_r8, 0.00038299394083156677_r8, & + 0.00041741480119112051_r8, 0.00045092524282255842_r8, & + 0.00050161755992674949_r8, 0.00054037195724659036_r8, & + 0.00057136879667745886_r8, 0.0005982262783640074_r8, & + 0.00062221174074864451_r8, 0.00064409746163199874_r8, & + 0.00066111690324474734_r8, 0.00067635501471590212_r8, & + 0.00068828927589462195_r8, 0.00069814279943249406_r8, & + 0.00070488926410451711_r8, 0.00071280462655932053_r8, & + 0.00071340376016993865_r8, 0.0007071220477497599_r8, 0.0006970410591652_r8, & + 0.00068456731194735984_r8, 0.00067355396161587506_r8, & + 0.00066664274358252591_r8, 0.00065913980320543564_r8, & + 0.00065369241164613177_r8, 0.000648886054465264_r8, & + 0.00064662398265821015_r8, 0.00064459060517455674_r8, & + 0.00064355365740034352_r8, 0.00064336214372730878_r8, & + 0.00064337648958188542_r8, 0.00064327842043910069_r8, & + 0.00063653083208294167_r8, 0.00063940818260491215_r8 & + / +data saar_ref(:,35,43) / & + 9.5906438343365985e-05_r8, 9.9597185354855178e-05_r8, & + 0.00010550182226118045_r8, 0.0001588812219525691_r8, & + 0.00017208109181392526_r8, 0.00018925576815120553_r8, & + 0.0002021873028419487_r8, 0.00023340150232851247_r8, & + 0.00027778777133289706_r8, 0.00034272030278705473_r8, & + 0.0003740492912892096_r8, 0.00039740890761118014_r8, & + 0.00042434073187554437_r8, 0.00045476311935826747_r8, & + 0.00048013748400248078_r8, 0.00050507377431084611_r8, & + 0.00054018610818985877_r8, 0.00057031935508255224_r8, & + 0.00059634861057616755_r8, 0.00062035337467318682_r8, & + 0.00064138027302030698_r8, 0.0006597109628091037_r8, & + 0.00067578732748817185_r8, 0.00069182073252312517_r8, & + 0.00070351255625443975_r8, 0.00071273282576779203_r8, & + 0.00071936155112061037_r8, 0.00072677482254947213_r8, & + 0.00072845448625067039_r8, 0.00072246251351524584_r8, & + 0.00071224818868266852_r8, 0.00069968218346351801_r8, & + 0.00068595432877530127_r8, 0.00067784162043052097_r8, & + 0.0006691880351762543_r8, 0.00066178067471048057_r8, & + 0.00065694450582214038_r8, 0.00065549103931544295_r8, & + 0.00065384685267992474_r8, 0.0006520071854690903_r8, & + 0.00065090658176452678_r8, 0.00065109707664393827_r8, & + 0.00065260741104199041_r8, 0.00065164394972630111_r8, & + 0.00065405330322150089_r8 & + / +data saar_ref(:,36,43) / & + 9.9625991154995909e-05_r8, 0.0001057505550945453_r8, & + 0.00011511243996537035_r8, 0.000177341526091141_r8, & + 0.00019422542301223859_r8, 0.00021178453021953976_r8, & + 0.00024325441232278587_r8, 0.00027230563507042542_r8, & + 0.00030587822331023715_r8, 0.00035748159942764992_r8, & + 0.00038682490333860939_r8, 0.000398639081932785_r8, & + 0.00042649370092425197_r8, 0.00045554125658810711_r8, & + 0.00048166094575399228_r8, 0.00050570767362328334_r8, & + 0.00054220693410841913_r8, 0.00056476691330465615_r8, & + 0.00058950902993024621_r8, 0.00061953052821654177_r8, & + 0.00064293615584379142_r8, 0.00066286720962086194_r8, & + 0.00068023523421973557_r8, 0.00069832419624995439_r8, & + 0.00071276663684207136_r8, 0.00072516506648073709_r8, & + 0.00073356470463845341_r8, 0.00074247510527473309_r8, & + 0.00074776530256974092_r8, 0.00074129232815272836_r8, & + 0.00073219095244567004_r8, 0.00072433488080507946_r8, & + 0.00071452294196423512_r8, 0.00070463337738498608_r8, & + 0.00069261959450475316_r8, 0.00067599960458114105_r8, & + 0.00066673247237661912_r8, 0.000663817321275999_r8, & + 0.00066090054696856264_r8, 0.00065740579660414128_r8, & + 0.00064807806363843183_r8, 0.00064697860187823831_r8, & + 0.00064642343802125786_r8, 0.00064236691161795518_r8, & + 0.00064077796166269992_r8 & + / +data saar_ref(:,37,43) / & + 7.0930097030000584e-05_r8, 7.4666990331014561e-05_r8, & + 9.0140403870165393e-05_r8, 0.00015732859414862403_r8, & + 0.00018596623867536059_r8, 0.00020944220483609148_r8, & + 0.00026118598160321645_r8, 0.00027715953972807887_r8, & + 0.00028818887079496423_r8, 0.0003182915112333071_r8, & + 0.00036201861015285877_r8, 0.00036987832770659203_r8, & + 0.00040615778266875558_r8, 0.00044184719376684842_r8, & + 0.0004777697098862867_r8, 0.00050820592352826739_r8, & + 0.00055182214120965572_r8, 0.0005686093415433899_r8, & + 0.00059019369663184903_r8, 0.00062144135493710892_r8, & + 0.00065277882964139011_r8, 0.00067397430902759565_r8, & + 0.00069597115083421771_r8, 0.00071522121666139124_r8, & + 0.00073117935978088682_r8, 0.00074485007706234264_r8, & + 0.00075532327000286785_r8, 0.00076371770244962139_r8, & + 0.00076906959506678799_r8, 0.00076041829832911305_r8, & + 0.00074957300725197096_r8, 0.00074322030282048457_r8, & + 0.00073654949081251094_r8, 0.000725981516672161_r8, & + 0.00071523092518271914_r8, 0.00069400254366938001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,43) / & + 5.4433974174302911e-05_r8, 5.7358089655778145e-05_r8, & + 7.5991209881655456e-05_r8, 0.00013463826480758633_r8, & + 0.00017346156636566931_r8, 0.00020575912654011237_r8, & + 0.00026122947612119529_r8, 0.0002755008734835191_r8, & + 0.00028126981605464693_r8, 0.0002974141219998375_r8, & + 0.00035296455302820026_r8, 0.00035754568823454733_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,43) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,43) / & + 8.6531481690420788e-05_r8, 8.1560217386735456e-05_r8, & + 0.00011518930217178184_r8, 0.00010893886574417255_r8, & + 0.00018206095140818629_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,43) / & + 0.00012075741374368928_r8, 0.00011331911229370326_r8, & + 0.00012907238709192439_r8, 0.00011019006670960252_r8, & + 0.00016704569886254999_r8, 0.00029726034363609173_r8, & + 0.00036190422468330784_r8, 0.00038910812903428227_r8, & + 0.00033882126222755548_r8, 0.0001955768881837661_r8, & + 0.00012331604736442935_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,43) / & + 0.00012918166908325684_r8, 0.00012290660468024185_r8, & + 0.00011827060075230588_r8, 0.00013562023475628064_r8, & + 0.00015076124681989193_r8, 0.00024971279708591851_r8, & + 0.00032090710973179076_r8, 0.00040831984267845152_r8, & + 0.00031530791984213196_r8, 0.00018331406291604871_r8, & + 9.3947754472184421e-05_r8, 8.4102478757308282e-05_r8, & + 5.9063418756181674e-05_r8, 6.3733273908114798e-05_r8, & + 6.6593943834837235e-05_r8, 6.549976401060957e-05_r8, & + 6.7132173668564833e-05_r8, 6.8135974582021324e-05_r8, & + 6.8182158871044188e-05_r8, 7.1055790314120479e-05_r8, & + 7.3339005154873406e-05_r8, 7.4993516538996043e-05_r8, & + 7.7915319731831426e-05_r8, 8.1590861142675434e-05_r8, & + 8.6166902640193548e-05_r8, 9.1804623310206716e-05_r8, & + 9.7281629660155483e-05_r8, 0.00011039040257274237_r8, & + 0.00010972942320047997_r8, 0.00010725077469907886_r8, & + 0.00010737284252784494_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,43) / & + 0.00010099958134045258_r8, 0.00010848551810618946_r8, & + 9.5501593241538812e-05_r8, 0.00013712452745074218_r8, & + 0.00013670940140493281_r8, 0.00014739812220805349_r8, & + 0.00021738255299679949_r8, 0.00028332386734019623_r8, & + 0.00018312691681521081_r8, 9.3495653928019493e-05_r8, & + 6.5508552346025035e-05_r8, 7.0706557175675589e-05_r8, & + 6.3256446458790462e-05_r8, 6.7688355375178036e-05_r8, & + 6.8318287858814509e-05_r8, 6.8836829637051295e-05_r8, & + 6.9191003677190804e-05_r8, 7.0019937819696244e-05_r8, & + 7.0903370657443305e-05_r8, 7.370203295932149e-05_r8, & + 7.6307373130861346e-05_r8, 7.848148488432667e-05_r8, & + 8.239236739458686e-05_r8, 8.7167087201611154e-05_r8, & + 9.0558438181326329e-05_r8, 9.6059526885706122e-05_r8, & + 0.00010132790049882762_r8, 0.00011446593450540371_r8, & + 0.00011391019576568449_r8, 0.00011138045258553209_r8, & + 0.00011113697313428798_r8, 0.00011106828930322436_r8, & + 0.00010907651583634849_r8, 0.00010958474339258563_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,44,43) / & + 8.4562764900228274e-05_r8, 0.0001002828139822941_r8, & + 8.0565098826401637e-05_r8, 0.00012044684107687718_r8, & + 0.0001216217263936263_r8, 0.00012529526616847765_r8, & + 0.00015338374334790341_r8, 0.00013335884853970991_r8, & + 7.246196536625236e-05_r8, 6.2237959610780643e-05_r8, & + 6.5012206054552524e-05_r8, 6.9576663949958543e-05_r8, & + 6.7671200560048302e-05_r8, 6.9835997159762013e-05_r8, & + 7.1166813039706946e-05_r8, 7.2539352184201823e-05_r8, & + 7.2519358708451358e-05_r8, 7.2698793159612859e-05_r8, & + 7.4378212960433086e-05_r8, 7.8360040665722907e-05_r8, & + 8.1109977155573902e-05_r8, 8.4288684127918856e-05_r8, & + 8.8024851562559003e-05_r8, 9.3950681019613498e-05_r8, & + 9.759466950282788e-05_r8, 0.00010314898918728614_r8, & + 0.00010892223247868193_r8, 0.0001193628693657807_r8, & + 0.00012456156938632038_r8, 0.00012198192258992398_r8, & + 0.00012017784258453498_r8, 0.00011950702390906283_r8, & + 0.00011236454705751486_r8, 0.00011305235354923764_r8, & + 0.00011751132330249127_r8, 0.00011815924049438986_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,43) / & + 8.0613136331524719e-05_r8, 0.00010668948250213118_r8, & + 9.0189473446357138e-05_r8, 0.0001241061563062848_r8, & + 0.00012544787793365662_r8, 0.0001341703125061352_r8, & + 0.00011495448121967241_r8, 7.4703915503767542e-05_r8, & + 6.5114564227592396e-05_r8, 6.5954225524557131e-05_r8, & + 6.7028678850106793e-05_r8, 6.889634911886206e-05_r8, & + 6.8633236250804054e-05_r8, 7.0244448401383258e-05_r8, & + 7.1819808770607314e-05_r8, 7.3391606536841181e-05_r8, & + 7.3520557819040661e-05_r8, 7.3770531439857162e-05_r8, & + 7.6007443718935542e-05_r8, 7.9681746546487957e-05_r8, & + 8.2531757442176837e-05_r8, 8.639150075284981e-05_r8, & + 9.0175157821832381e-05_r8, 9.5307496072802195e-05_r8, & + 0.00010086770298669535_r8, 0.00010566979128455317_r8, & + 0.00011230198174172686_r8, 0.00012201698785599757_r8, & + 0.00012466651005966118_r8, 0.00012074513089981026_r8, & + 0.00011986366345405415_r8, 0.00011995436857852783_r8, & + 0.00011859508330642849_r8, 0.00011894803651256924_r8, & + 0.000120129145933458_r8, 0.00012074651395961216_r8, & + 0.00012430990493116908_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,44) / & + 0.00011359010101485577_r8, 0.00011575111772752677_r8, & + 0.00012693309352175181_r8, 0.00016232647013636695_r8, & + 0.00017042642059666459_r8, 0.00017985558903730047_r8, & + 0.00020112779522104822_r8, 0.00021730117748772939_r8, & + 0.00022803264969170275_r8, 0.00023212572582169416_r8, & + 0.00023541835877342982_r8, 0.00022108640198219732_r8, & + 0.00022349424917764775_r8, 0.00022261248817746098_r8, & + 0.00022135063042762147_r8, 0.00021936332677378661_r8, & + 0.00021505672583173457_r8, 0.00021654111595428068_r8, & + 0.00021801593368601309_r8, 0.00022117139739215739_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,44) / & + 0.00011359010101485577_r8, 0.00011575111772752677_r8, & + 0.00012693309352175181_r8, 0.00016232647013636695_r8, & + 0.00017042642059666459_r8, 0.00017985558903730047_r8, & + 0.00020112779522104822_r8, 0.00021730117748772939_r8, & + 0.00022803264969170275_r8, 0.00023212572582169416_r8, & + 0.00023541835877342982_r8, 0.00022108640198219732_r8, & + 0.00022349424917764775_r8, 0.00022261248817746098_r8, & + 0.00022135063042762147_r8, 0.00021936332677378661_r8, & + 0.00021505672583173457_r8, 0.00021654111595428068_r8, & + 0.00021801593368601309_r8, 0.00022117139739215739_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,44) / & + 0.00011359010101485577_r8, 0.00011575111772752677_r8, & + 0.00012693309352175181_r8, 0.00016232647013636695_r8, & + 0.00017042642059666459_r8, 0.00017985558903730047_r8, & + 0.00020112779522104822_r8, 0.00021730117748772939_r8, & + 0.00022803264969170275_r8, 0.00023212572582169416_r8, & + 0.00023541835877342982_r8, 0.00022108640198219732_r8, & + 0.00022349424917764775_r8, 0.00022261248817746098_r8, & + 0.00022135063042762147_r8, 0.00021936332677378661_r8, & + 0.00021505672583173457_r8, 0.00021654111595428068_r8, & + 0.00021801593368601309_r8, 0.00022117139739215739_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,44) / & + 0.00012371915150183237_r8, 0.00012364365720616294_r8, & + 0.00013311353182744615_r8, 0.00015627694166126806_r8, & + 0.00016207681901535135_r8, 0.00016962381706312152_r8, & + 0.0001906382373852028_r8, 0.00020628957085558488_r8, & + 0.00021607113507550078_r8, 0.00022154773765408706_r8, & + 0.0002280487199251484_r8, 0.00022150959654528083_r8, & + 0.00022230735867166844_r8, 0.00022123605603173566_r8, & + 0.00022012756226050573_r8, 0.00021914501192748603_r8, & + 0.00021988913901545612_r8, 0.00023007732934147141_r8, & + 0.00023997652265270159_r8, 0.00025655727270821135_r8, & + 0.00026011580524083647_r8, 0.00026177430124350496_r8, & + 0.00026426912887351399_r8, 0.00026482517887531387_r8, & + 0.0002653603359202124_r8, 0.00026579000526749902_r8, & + 0.00026643480038465511_r8, 0.0002676972066210786_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,44) / & + 0.00013984356311293197_r8, 0.00014046706427630216_r8, & + 0.00013837883807696046_r8, 0.00014978636117135024_r8, & + 0.00015271412733255675_r8, 0.00015575602490376756_r8, & + 0.0001658067842174475_r8, 0.0001750053598437618_r8, & + 0.00018247399785465028_r8, 0.00018790026195665069_r8, & + 0.00019371785422438295_r8, 0.00019723435621276294_r8, & + 0.00020452552506614104_r8, 0.00021306261002151128_r8, & + 0.00021834103409758458_r8, 0.00022348062896601756_r8, & + 0.00023327025162438896_r8, 0.00024142701088568911_r8, & + 0.00024605704732395681_r8, 0.00025359143920443834_r8, & + 0.00025748237585916488_r8, 0.00025972068794072746_r8, & + 0.00026252298263726079_r8, 0.00026423773897987904_r8, & + 0.00026555269286361621_r8, 0.00026649150342438019_r8, & + 0.00026743501636001003_r8, 0.00026894813650097169_r8, & + 0.00026770372076329572_r8, 0.00026696028427003834_r8, & + 0.00026649508672073997_r8, 0.00026260527845019352_r8, & + 0.0002549214524205192_r8, 0.00024706121127515045_r8, & + 0.00024834954006631033_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,44) / & + 0.00012445367103406732_r8, 0.00012480270044873748_r8, & + 0.00011831143290409175_r8, 0.00012123439797144531_r8, & + 0.0001245715024262981_r8, 0.00012992315543810688_r8, & + 0.00015215012609416317_r8, 0.00016523664513653488_r8, & + 0.00017343858844991425_r8, 0.00018069000907161044_r8, & + 0.00018430473872651162_r8, 0.00018858693046046936_r8, & + 0.00019625630625501621_r8, 0.00020233963150857235_r8, & + 0.00020800269011425593_r8, 0.00021234522682798902_r8, & + 0.00021781299026366399_r8, 0.00022638517929414638_r8, & + 0.00023062919694628758_r8, 0.00023439191319139267_r8, & + 0.00023893990338539852_r8, 0.00024240031005060968_r8, & + 0.00024697154763264183_r8, 0.00025130826378810329_r8, & + 0.00025530665680571801_r8, 0.00025836039101497833_r8, & + 0.00026123316962152064_r8, 0.00026719987441375812_r8, & + 0.00027062661747472792_r8, 0.00027166371665752749_r8, & + 0.00027025273610935849_r8, 0.00026395718678018062_r8, & + 0.00025287966396135726_r8, 0.00024779147028857867_r8, & + 0.00025031177378791191_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,44) / & + 6.560456309015338e-05_r8, 6.5695203311219355e-05_r8, & + 6.0284356941259177e-05_r8, 5.4478696926578753e-05_r8, & + 5.4084625937500371e-05_r8, 5.4483617925541546e-05_r8, & + 6.5940042660333052e-05_r8, 8.0246437677738633e-05_r8, & + 9.2097118791602446e-05_r8, 0.00010477166177245037_r8, & + 0.00011021093746008373_r8, 0.00011403160122447046_r8, & + 0.0001230915307701133_r8, 0.00013309732194464988_r8, & + 0.00014188909662322984_r8, 0.00014851862865978692_r8, & + 0.00015730012862747019_r8, 0.00016651578924491966_r8, & + 0.00017468451449784007_r8, 0.00018077917886440592_r8, & + 0.00018620345808536117_r8, 0.00019112979861995506_r8, & + 0.00019529817001183379_r8, 0.00020044364000109522_r8, & + 0.00020570731354869858_r8, 0.0002098844139346666_r8, & + 0.00021430438665669376_r8, 0.00022566395874168185_r8, & + 0.00023524707099190851_r8, 0.00023911457170016921_r8, & + 0.00024446212665703168_r8, 0.00025159604882191345_r8, & + 0.00025745155527958578_r8, 0.00026318064855132247_r8, & + 0.00026813491992096948_r8, 0.00027200164140408448_r8, & + 0.00027538674195823982_r8, 0.00027557947656147444_r8, & + 0.00027653506383042245_r8, 0.00027726076701385199_r8, & + 0.00027798840045755623_r8, 0.00027805811269703381_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,44) / & + 1.5644240549801833e-05_r8, 1.6125748095365452e-05_r8, & + 1.2958242087066378e-05_r8, 1.3144360990551719e-05_r8, & + 1.2086696872384731e-05_r8, 1.2259100010061057e-05_r8, & + 1.4120533921794171e-05_r8, 1.7135646084468478e-05_r8, & + 2.1629734091788665e-05_r8, 2.6543772943162139e-05_r8, & + 3.0162025908018495e-05_r8, 3.2535387411114256e-05_r8, & + 3.8457997391514609e-05_r8, 4.6020858294096965e-05_r8, & + 5.3123312987920974e-05_r8, 5.9978019062534246e-05_r8, & + 7.5457983556290442e-05_r8, 9.074395963204052e-05_r8, & + 0.00010564391105106207_r8, 0.00012065967664928819_r8, & + 0.00013442061645346215_r8, 0.00014609959768955698_r8, & + 0.00015518548474965091_r8, 0.00016303779290440101_r8, & + 0.00016925353935754646_r8, 0.00017438267675506063_r8, & + 0.00017888191669703391_r8, 0.00018883019770788708_r8, & + 0.00019817860857915498_r8, 0.00020891375527091609_r8, & + 0.00022012435720645567_r8, 0.00023109493052930605_r8, & + 0.00024140958718906865_r8, 0.00024992061100478983_r8, & + 0.00025757747211328314_r8, 0.00026390827572749231_r8, & + 0.00026846517735920736_r8, 0.00027185707246947657_r8, & + 0.00027441537836758544_r8, 0.00027617476142986937_r8, & + 0.0002774380052029942_r8, 0.0002774274537523623_r8, & + 0.00027737115469890174_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,44) / & + 3.7838296066778963e-06_r8, 4.2194108085533243e-06_r8, & + 3.5581027530158319e-06_r8, 7.0785259000160653e-06_r8, & + 7.1637106362487521e-06_r8, 8.2346770551484819e-06_r8, & + 8.3977538774997627e-06_r8, 8.9597076017287981e-06_r8, & + 1.086207958500446e-05_r8, 1.2737067688017518e-05_r8, & + 1.4020460073851364e-05_r8, 1.5941344061128772e-05_r8, & + 1.8245398708375891e-05_r8, 2.0813709213241837e-05_r8, & + 2.2867757373125098e-05_r8, 2.5584159923961512e-05_r8, & + 3.6295873447976107e-05_r8, 5.3398819636043823e-05_r8, & + 7.0101467865214844e-05_r8, 8.7426655243205695e-05_r8, & + 0.00010444680062647385_r8, 0.00011945498534588691_r8, & + 0.00013429455172636959_r8, 0.00014722529561977143_r8, & + 0.0001559294438163799_r8, 0.00016286201659054976_r8, & + 0.00016852110617947077_r8, 0.00017874575333601644_r8, & + 0.0001873083260506479_r8, 0.00019712609299247548_r8, & + 0.00020901504412663304_r8, 0.00022140646243638712_r8, & + 0.00023304783298262806_r8, 0.00024303270827323665_r8, & + 0.00025146081332749867_r8, 0.00025877589942490135_r8, & + 0.0002646062572121058_r8, 0.0002690281354787467_r8, & + 0.00027206214201851045_r8, 0.00027446444226593636_r8, & + 0.00027625280070756682_r8, 0.00027723148141214324_r8, & + 0.00027745065961220453_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,44) / & + 5.0091745935283663e-06_r8, 5.2125114261026344e-06_r8, & + 5.2331273252787668e-06_r8, 5.2512521018523004e-06_r8, & + 5.4170850582589219e-06_r8, 6.136163565974716e-06_r8, & + 6.5630834702741323e-06_r8, 7.9903085836590491e-06_r8, & + 9.0854886877780411e-06_r8, 1.0440889169019004e-05_r8, & + 1.112395277751554e-05_r8, 1.2520476637863464e-05_r8, & + 1.587630964305583e-05_r8, 1.6987607508678581e-05_r8, & + 1.7799209378896078e-05_r8, 1.9049759079146247e-05_r8, & + 2.1476393857650431e-05_r8, 2.7073610498742834e-05_r8, & + 3.9432563247558577e-05_r8, 5.2867924321131713e-05_r8, & + 6.5020727277859664e-05_r8, 8.9185424454055163e-05_r8, & + 0.00010330409643440277_r8, 0.00011845776117293636_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,44) / & + 4.3560950997058578e-06_r8, 4.4583945504996083e-06_r8, & + 4.4627955709030063e-06_r8, 4.3667040216001357e-06_r8, & + 4.3290323250074308e-06_r8, 4.91872589766217e-06_r8, & + 5.6123070400338946e-06_r8, 7.2928143893512945e-06_r8, & + 8.3317461291205668e-06_r8, 9.6331902645111494e-06_r8, & + 1.0281073172245493e-05_r8, 1.114239244726545e-05_r8, & + 1.4734181865781481e-05_r8, 1.5124424895854786e-05_r8, & + 1.5626165435159779e-05_r8, 1.7240987112633963e-05_r8, & + 2.0946828109732604e-05_r8, 2.780295974779335e-05_r8, & + 3.9839636853159939e-05_r8, 5.2454183590053211e-05_r8, & + 6.6398556646255142e-05_r8, 9.0387860212887914e-05_r8, & + 0.00010548000923640227_r8, 0.00012047548707537016_r8, & + 0.00013462413614667503_r8, 0.00014581973810717265_r8, & + 0.00016111703050608915_r8, 0.00018116680953918088_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,44) / & + 3.6376308984551123e-06_r8, 3.7521679804370459e-06_r8, & + 3.7657421622364561e-06_r8, 3.8731222420597593e-06_r8, & + 4.0490944597326744e-06_r8, 3.7682501497064415e-06_r8, & + 3.8840664943284747e-06_r8, 5.1464063613223351e-06_r8, & + 6.1057334524262546e-06_r8, 6.8216207622654531e-06_r8, & + 7.1355808276330478e-06_r8, 7.5990022532308072e-06_r8, & + 8.8824500846655391e-06_r8, 1.0970250125071357e-05_r8, & + 1.2245719469449421e-05_r8, 1.3515066288275543e-05_r8, & + 1.7566965569485462e-05_r8, 2.4170626846902104e-05_r8, & + 3.5013104064868483e-05_r8, 4.1918879875719892e-05_r8, & + 5.2603428113853326e-05_r8, 6.7012582589510435e-05_r8, & + 9.1555277459966786e-05_r8, 0.00011674765023531543_r8, & + 0.00013525668677222142_r8, 0.00015315924113176369_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,44) / & + 3.8847969633649447e-06_r8, 4.073748541337814e-06_r8, & + 4.0106085447116541e-06_r8, 3.1142021225579601e-06_r8, & + 3.4291710151455848e-06_r8, 3.1095846289812254e-06_r8, & + 3.0882209674859829e-06_r8, 3.829432845163195e-06_r8, & + 4.7551153409382869e-06_r8, 6.0524975903207943e-06_r8, & + 6.6057166890655273e-06_r8, 6.6155021214038628e-06_r8, & + 7.7379925654103852e-06_r8, 1.0282415126852246e-05_r8, & + 1.2119367950711765e-05_r8, 1.3834398592738509e-05_r8, & + 1.8685964083185861e-05_r8, 2.7433873248435771e-05_r8, & + 4.1677177258180445e-05_r8, 5.7384184042162449e-05_r8, & + 7.0356614879259069e-05_r8, 8.4031604965681888e-05_r8, & + 0.00010374214869439035_r8, 0.00011612700483501938_r8, & + 0.00013509236146412058_r8, 0.00015417594695371091_r8, & + 0.00016769993992854222_r8, 0.00019696513448132292_r8, & + 0.00021899190529297061_r8, 0.00024500079084872889_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,44) / & + 3.6053019105296065e-06_r8, 3.7439275781851442e-06_r8, & + 3.7735084292194323e-06_r8, 3.5429860818575379e-06_r8, & + 3.7755835661213292e-06_r8, 3.9175290338569322e-06_r8, & + 4.2066669249615245e-06_r8, 3.5667592122620785e-06_r8, & + 3.7901559669600495e-06_r8, 4.5850479694490257e-06_r8, & + 5.5149567297285125e-06_r8, 6.366087410342185e-06_r8, & + 8.0399279836953584e-06_r8, 1.0076700010945593e-05_r8, & + 1.2198566698027684e-05_r8, 1.4353357927427234e-05_r8, & + 2.0142354890958588e-05_r8, 2.7744568982202012e-05_r8, & + 3.6402511562847233e-05_r8, 4.8856851296330115e-05_r8, & + 6.3632563868481817e-05_r8, 7.7936453398934859e-05_r8, & + 9.7580786011835287e-05_r8, 0.00011638594681942845_r8, & + 0.00013716073683948553_r8, 0.00015699551255346047_r8, & + 0.0001770615940516098_r8, 0.00021415612840170755_r8, & + 0.00024139958337912479_r8, 0.00025626043771524997_r8, & + 0.00026552042346949655_r8, 0.00026984666388993577_r8, & + 0.00027284579589352006_r8, 0.00027127629922337712_r8, & + 0.00026729791733485245_r8, 0.0002679338935294241_r8, & + 0.00027361345182644906_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,44) / & + 3.1666698159090218e-06_r8, 3.23829679810704e-06_r8, & + 3.4145385448014339e-06_r8, 3.8139866428193814e-06_r8, & + 4.1710603802944308e-06_r8, 4.3142596665870535e-06_r8, & + 4.8095315391070078e-06_r8, 4.6987527668888126e-06_r8, & + 4.223279710261846e-06_r8, 3.9494142801406989e-06_r8, & + 4.0759767477535519e-06_r8, 4.7523571302340637e-06_r8, & + 6.1288401104542516e-06_r8, 7.9605621933087029e-06_r8, & + 9.8121526997077201e-06_r8, 1.1953801044546332e-05_r8, & + 1.7459311750544511e-05_r8, 2.351412340590845e-05_r8, & + 3.1349409831281095e-05_r8, 4.3437008479316707e-05_r8, & + 5.9752919976383112e-05_r8, 7.6862704372846383e-05_r8, & + 9.834885824778194e-05_r8, 0.00012112804004009427_r8, & + 0.00014383322651808947_r8, 0.00016511346447526648_r8, & + 0.00018546049264362059_r8, 0.00022090542371822937_r8, & + 0.0002443842607932905_r8, 0.00025774636959005848_r8, & + 0.00026534158768925419_r8, 0.00027019109577558031_r8, & + 0.00027319193303900971_r8, 0.00027070220731748008_r8, & + 0.00026948529519779196_r8, 0.00026678278494433796_r8, & + 0.00027372998143629639_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,44) / & + 3.9103622610885819e-06_r8, 3.9134635277799736e-06_r8, & + 3.9330924771731295e-06_r8, 5.4452564703380323e-06_r8, & + 5.3025776228010774e-06_r8, 4.9403789181802242e-06_r8, & + 4.861710551945228e-06_r8, 5.163457160863508e-06_r8, & + 5.1834932367369551e-06_r8, 5.0391250730251734e-06_r8, & + 4.8014390457528399e-06_r8, 4.5490488173846321e-06_r8, & + 5.1594255710130687e-06_r8, 6.4429956656171794e-06_r8, & + 8.0311692802861081e-06_r8, 1.0445448229196585e-05_r8, & + 1.6124566193282065e-05_r8, 2.2270615206949594e-05_r8, & + 3.170194205309764e-05_r8, 4.9329349830915546e-05_r8, & + 6.8565991638621076e-05_r8, 9.2854696959672378e-05_r8, & + 0.00011807102219131517_r8, 0.00014341462122779725_r8, & + 0.00016924920289504102_r8, 0.00018907842730362339_r8, & + 0.0002058781440050006_r8, 0.00023750440103579545_r8, & + 0.00025781243452312343_r8, 0.00026941349423581734_r8, & + 0.00027705778221840841_r8, 0.00028279730196302609_r8, & + 0.00028670133601713755_r8, 0.00028725562198285285_r8, & + 0.00029008703713643571_r8, 0.00029156546629158995_r8, & + 0.00029208267556304635_r8, 0.00029240129931041155_r8, & + 0.0002778267522185476_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,44) / & + 5.0114089773235588e-06_r8, 4.918687801633945e-06_r8, & + 4.7319269845485928e-06_r8, 5.4149794148459207e-06_r8, & + 5.372588859172746e-06_r8, 5.5273734578856055e-06_r8, & + 4.3900311708314286e-06_r8, 4.644175023172799e-06_r8, & + 4.7380002430430195e-06_r8, 4.7243448989525773e-06_r8, & + 4.7435017323397546e-06_r8, 4.2612567233427536e-06_r8, & + 4.5347936281119815e-06_r8, 5.5390755131551456e-06_r8, & + 7.3613689052573071e-06_r8, 1.0143391130972958e-05_r8, & + 1.6905471643782801e-05_r8, 2.6077851466467054e-05_r8, & + 3.7481778022888108e-05_r8, 6.1867978946579164e-05_r8, & + 8.5525180791284455e-05_r8, 0.00011694038458636054_r8, & + 0.00014551881489515973_r8, 0.00016795598752534545_r8, & + 0.00019267557852621197_r8, 0.00021111199410165954_r8, & + 0.00022627012191327812_r8, 0.00025439071145764465_r8, & + 0.00027344762626753199_r8, 0.00028409705661901804_r8, & + 0.00029190661968852931_r8, 0.00029665951737675998_r8, & + 0.00029860579193464608_r8, 0.00030042363163651438_r8, & + 0.00030380705234956518_r8, 0.00030495407577581441_r8, & + 0.00030514254646469842_r8, 0.00030533074476896398_r8, & + 0.00029825993503153938_r8, 0.0002978630705710651_r8, & + 0.00029756151191413251_r8, 0.00029793325628027354_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,44) / & + 5.3663162203719793e-06_r8, 5.2226681790457312e-06_r8, & + 5.0128696787745737e-06_r8, 4.3255691656416304e-06_r8, & + 4.2455913232096005e-06_r8, 4.2907363977475871e-06_r8, & + 4.7957820299095819e-06_r8, 4.4691301083092319e-06_r8, & + 4.1839523913833043e-06_r8, 3.7608183905943013e-06_r8, & + 3.6490648265795734e-06_r8, 3.6429157882292012e-06_r8, & + 4.4356075145403362e-06_r8, 6.0090860770052313e-06_r8, & + 9.2809071701663241e-06_r8, 1.4021734308369086e-05_r8, & + 2.3703828293815406e-05_r8, 3.6843710675546955e-05_r8, & + 5.8254464482941768e-05_r8, 8.7842470423587634e-05_r8, & + 0.00011604239680090534_r8, 0.00014580321872779752_r8, & + 0.00017271531325283143_r8, 0.00019149858151806795_r8, & + 0.00021053968146812386_r8, 0.0002282721021023607_r8, & + 0.00024255494499773726_r8, 0.00027017308908748784_r8, & + 0.00028977017828742867_r8, 0.00030249161871229093_r8, & + 0.00031150327056286603_r8, 0.00031443262131958374_r8, & + 0.00031399790549341066_r8, 0.00031689303349195617_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,44) / & + 5.4773080141189426e-06_r8, 5.3020549244406545e-06_r8, & + 5.1585818563444988e-06_r8, 5.3885971979588483e-06_r8, & + 5.3531917553846238e-06_r8, 5.4005985881072326e-06_r8, & + 5.7239634302674738e-06_r8, 5.6634223751812517e-06_r8, & + 5.0974269956463127e-06_r8, 4.3152839277388768e-06_r8, & + 3.8319663229040733e-06_r8, 4.8932835924192279e-06_r8, & + 7.8237865169418576e-06_r8, 1.1769019752564646e-05_r8, & + 1.7352245654498651e-05_r8, 2.4519071801818929e-05_r8, & + 3.8733812593846876e-05_r8, 5.7843025560730637e-05_r8, & + 8.5939860261410506e-05_r8, 0.00011627949423174593_r8, & + 0.00014306331305159514_r8, 0.00016911143151390349_r8, & + 0.00019283231366054373_r8, 0.00021151495174043651_r8, & + 0.00022916268127987012_r8, 0.0002464950599025378_r8, & + 0.00025948568273023205_r8, 0.00028643051186624482_r8, & + 0.00030563629795590146_r8, 0.00031950507776299882_r8, & + 0.00032924202560214198_r8, 0.00033249001130686881_r8, & + 0.00033641168352821954_r8, 0.00035025212281666505_r8, & + 0.00036411974593972561_r8, 0.00035885766869722218_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,44) / & + 5.7114933082944847e-06_r8, 5.5480022449955248e-06_r8, & + 5.4522111003227544e-06_r8, 5.1909948399424253e-06_r8, & + 5.2056664476969911e-06_r8, 5.1614631146549736e-06_r8, & + 5.8244780174042533e-06_r8, 6.1889431414120255e-06_r8, & + 6.1372944390761935e-06_r8, 5.9568367492247573e-06_r8, & + 5.7697471188430451e-06_r8, 8.12392892253163e-06_r8, & + 1.6262835548800143e-05_r8, 2.6116234444106525e-05_r8, & + 3.7280529412706045e-05_r8, 4.8651324903672609e-05_r8, & + 6.8286220708737449e-05_r8, 9.1091397795780432e-05_r8, & + 0.00011686253962904157_r8, 0.00014356707605879348_r8, & + 0.00016702915784754525_r8, 0.00018956315942342679_r8, & + 0.00020974575641661536_r8, 0.00022976698797235099_r8, & + 0.00025154380946451946_r8, 0.00026968104789788029_r8, & + 0.00028330292752912369_r8, 0.00031376928123208079_r8, & + 0.00033558660070853323_r8, 0.00035216751305558236_r8, & + 0.00036447507385621759_r8, 0.00037285447748883107_r8, & + 0.00037960712190343685_r8, 0.00038369455013742901_r8, & + 0.00038094186935074665_r8, 0.00037569233290795007_r8, & + 0.00036704694255111999_r8, 0.00035455177552604658_r8, & + 0.00034635729381148116_r8, 0.0003420967322881635_r8, & + 0.00033995467577614268_r8, 0.00033850143233195404_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,44) / & + 5.663001122095754e-06_r8, 5.5717192932238352e-06_r8, & + 5.617862097564656e-06_r8, 5.158003236927318e-06_r8, & + 5.1712962918793313e-06_r8, 5.1004153163190777e-06_r8, & + 5.7364219313226796e-06_r8, 5.9167778802892618e-06_r8, & + 6.4598419348119288e-06_r8, 7.0541672371750815e-06_r8, & + 7.8752368611136339e-06_r8, 1.2190743976882272e-05_r8, & + 2.8589218028220454e-05_r8, 4.8176076521691016e-05_r8, & + 6.3817943907265638e-05_r8, 7.6943325884156803e-05_r8, & + 9.7010738007054456e-05_r8, 0.00011964188815645671_r8, & + 0.00014388136779399751_r8, 0.00016869003284835765_r8, & + 0.00019279320902103499_r8, 0.00021736030782057946_r8, & + 0.00023958232999182655_r8, 0.00026069181652265463_r8, & + 0.00028374243404115926_r8, 0.00030213197194812428_r8, & + 0.00031660826500549911_r8, 0.00034791279307581002_r8, & + 0.00037078438529166601_r8, 0.00038587947859899534_r8, & + 0.0003964999552124961_r8, 0.00040247621438206118_r8, & + 0.00040368775301663539_r8, 0.00040311809297111897_r8, & + 0.00039897929218591543_r8, 0.00039273546500530847_r8, & + 0.00038317085084689945_r8, 0.00037017061728722092_r8, & + 0.00036024956571281469_r8, 0.00035553782004210964_r8, & + 0.00035365231056640732_r8, 0.00035188790643810296_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,44) / & + 5.4986558982310971e-06_r8, 5.6864245816516102e-06_r8, & + 5.9971690591925319e-06_r8, 6.1080572329877275e-06_r8, & + 6.0482334494491583e-06_r8, 6.0314537695546915e-06_r8, & + 6.5137699128919887e-06_r8, 6.6921425962201462e-06_r8, & + 7.7109801820248306e-06_r8, 1.0240664716823392e-05_r8, & + 1.4950267090092277e-05_r8, 2.2854899128495123e-05_r8, & + 4.1446697763829412e-05_r8, 6.0303911394827827e-05_r8, & + 7.4750411024047481e-05_r8, 8.7261460359931725e-05_r8, & + 0.00010996731171739525_r8, 0.0001397885070737864_r8, & + 0.00016624435742005329_r8, 0.00019057001383232647_r8, & + 0.00021576314274990665_r8, 0.00024240295394245141_r8, & + 0.0002675030294959436_r8, 0.00029198073951606883_r8, & + 0.00031177153628060138_r8, 0.00032943878177319662_r8, & + 0.00034518750088634998_r8, 0.00037555455158039676_r8, & + 0.00039895525527506301_r8, 0.00041338509050316014_r8, & + 0.0004222080657147111_r8, 0.00042614041021607246_r8, & + 0.00042556764930036105_r8, 0.0004232751983805027_r8, & + 0.00041867597804376281_r8, 0.00041228274462684958_r8, & + 0.00040203717487748977_r8, 0.0003900737140608493_r8, & + 0.00037763026940361818_r8, 0.00037153335899103542_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,44) / & + 5.3331286424872194e-06_r8, 5.6682398033507011e-06_r8, & + 6.0931213875071592e-06_r8, 7.3719021337804237e-06_r8, & + 7.1832213021906117e-06_r8, 6.9113033234506627e-06_r8, & + 7.0665295103852574e-06_r8, 7.9026895355688999e-06_r8, & + 1.0237814587990731e-05_r8, 1.5096876146441399e-05_r8, & + 2.460755676302438e-05_r8, 3.6251016886718521e-05_r8, & + 5.8025591373275037e-05_r8, 7.5086745250937167e-05_r8, & + 8.7134043742687244e-05_r8, 9.8589278484176218e-05_r8, & + 0.0001249772437267978_r8, 0.00016038393258569552_r8, & + 0.00018920512163188833_r8, 0.00021480124472904888_r8, & + 0.00024102216206602474_r8, 0.00026787937636964346_r8, & + 0.00029554122906052854_r8, 0.0003176687625160103_r8, & + 0.00033680055488471446_r8, 0.000353908192707313_r8, & + 0.0003706335102014033_r8, 0.00040065468533737324_r8, & + 0.00042375559571322717_r8, 0.00043788568352885933_r8, & + 0.00044618007690416073_r8, 0.00044946875521596487_r8, & + 0.00044828491442574657_r8, 0.0004446306830557888_r8, & + 0.00043943209953320093_r8, 0.00043208514551672613_r8, & + 0.00042073816009717817_r8, 0.00040714856451057725_r8, & + 0.00039610891038683032_r8, 0.00039167472102624859_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,44) / & + 5.377357708924577e-06_r8, 5.5519515376523943e-06_r8, & + 5.8312875029513994e-06_r8, 7.6843906846844883e-06_r8, & + 7.4732823868439992e-06_r8, 6.9951184716679252e-06_r8, & + 6.8274427709974152e-06_r8, 9.0427036969070068e-06_r8, & + 1.4339600077199886e-05_r8, 2.2118820702010905e-05_r8, & + 3.6290989377903118e-05_r8, 5.9354065191652276e-05_r8, & + 9.1233215366799588e-05_r8, 0.00010629120533021022_r8, & + 0.00011460010178000091_r8, 0.00012348537251457602_r8, & + 0.00014827520057159182_r8, 0.00017934719645016666_r8, & + 0.0002099448408080513_r8, 0.00023823710705216637_r8, & + 0.00026540962570654987_r8, 0.00029133173327989365_r8, & + 0.00031911767996501707_r8, 0.00034097637956605333_r8, & + 0.00036059932978470293_r8, 0.00037912232942900851_r8, & + 0.00039696517902400584_r8, 0.00042575892328501001_r8, & + 0.00044878648266051611_r8, 0.00046102814549514224_r8, & + 0.00046907847451484517_r8, 0.00047181447998812366_r8, & + 0.00047014952797364283_r8, 0.0004655645249962282_r8, & + 0.00045957154783774878_r8, 0.0004512214556082315_r8, & + 0.0004397077919841206_r8, 0.00042578194374650929_r8, & + 0.00041724140763655456_r8, 0.00040958946424643505_r8, & + 0.00040637124295088764_r8, 0.00040518923012803037_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,44) / & + 6.0682297504796454e-06_r8, 6.1315379732231636e-06_r8, & + 6.2159698722734547e-06_r8, 6.3813347559339768e-06_r8, & + 6.3439640182699793e-06_r8, 6.2754916802803126e-06_r8, & + 7.3006406579232935e-06_r8, 8.4877653498978158e-06_r8, & + 1.2098711637808237e-05_r8, 1.8351964818511415e-05_r8, & + 3.0061831238851326e-05_r8, 5.2532314715649237e-05_r8, & + 8.9001573224607725e-05_r8, 0.00011060777473937612_r8, & + 0.00012393976482154046_r8, 0.00013591721026114299_r8, & + 0.00016402821616218405_r8, 0.00019627919219299161_r8, & + 0.00022773845928440343_r8, 0.000258471774843148_r8, & + 0.00028687521014740709_r8, 0.00031664166908767344_r8, & + 0.00034177217522068595_r8, 0.00036510509832019775_r8, & + 0.00038509797299348688_r8, 0.00040388371682433216_r8, & + 0.00042157441070514565_r8, 0.00045108247465493737_r8, & + 0.00047356313851644905_r8, 0.00048538299726232835_r8, & + 0.00049224733787457794_r8, 0.00049377447699838848_r8, & + 0.00049410542567834056_r8, 0.00048906083798153121_r8, & + 0.00048402332236959655_r8, 0.00047447631968284995_r8, & + 0.00046206858850961094_r8, 0.0004497303511171021_r8, & + 0.00043888729643676186_r8, 0.00042667817389704623_r8, & + 0.00042155049520043044_r8, 0.00042278961241512254_r8, & + 0.00042078987058563161_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,44) / & + 6.9713749630279002e-06_r8, 6.9376516701648647e-06_r8, & + 6.8846296972735456e-06_r8, 6.8805084150080063e-06_r8, & + 6.8728213766462871e-06_r8, 6.9265055583511169e-06_r8, & + 7.0624874302530588e-06_r8, 7.0140640114607244e-06_r8, & + 6.6223024794915471e-06_r8, 8.6517071462057993e-06_r8, & + 1.1912145557642154e-05_r8, 1.9644778233354062e-05_r8, & + 4.1903804227713757e-05_r8, 7.2535515837965437e-05_r8, & + 0.00010155771365583331_r8, 0.00012865438732419615_r8, & + 0.00017618001542872444_r8, 0.00021560806149994164_r8, & + 0.00024669495413637721_r8, 0.00027826186064369425_r8, & + 0.00030756154617268805_r8, 0.00034041204214612319_r8, & + 0.00036788704899958305_r8, 0.00038956781859449444_r8, & + 0.00040839046240893635_r8, 0.00042784324145998424_r8, & + 0.00044416895485824048_r8, 0.00047409261244460568_r8, & + 0.0004947115387197949_r8, 0.00050709096578822844_r8, & + 0.00051216102302405707_r8, 0.00051415087515264025_r8, & + 0.00051538100188803441_r8, 0.00051059951224511095_r8, & + 0.00050695566429980897_r8, 0.00049749683419647171_r8, & + 0.00048442026204644466_r8, 0.00047155589022467048_r8, & + 0.00045972369779832248_r8, 0.00044659193739092517_r8, & + 0.0004402431803249428_r8, 0.00043780326344824186_r8, & + 0.00043641135558973056_r8, 0.00043361007230367744_r8, 9e90_r8 & + / +data saar_ref(:,27,44) / & + 7.0467123832392897e-06_r8, 6.8162009533287449e-06_r8, & + 6.5982043179751374e-06_r8, 6.9029223435117094e-06_r8, & + 6.7781590042764509e-06_r8, 6.7694206359561498e-06_r8, & + 6.2225322461793664e-06_r8, 6.1735485608107548e-06_r8, & + 6.3315571054242316e-06_r8, 7.2289657374116845e-06_r8, & + 8.5790243791461665e-06_r8, 1.2148047602863701e-05_r8, & + 2.0600324775262269e-05_r8, 3.5565760972711767e-05_r8, & + 6.3506838110416746e-05_r8, 9.4221651849155916e-05_r8, & + 0.00015636841191641162_r8, 0.00021863222660375092_r8, & + 0.00026324649807898595_r8, 0.00029865609164834441_r8, & + 0.00033357154430349481_r8, 0.00036771702877735489_r8, & + 0.00039384885198064253_r8, 0.00041518325656637802_r8, & + 0.00043353353351085008_r8, 0.0004531805177512218_r8, & + 0.00046809164020341395_r8, 0.0004980908728009233_r8, & + 0.00051702697584735601_r8, 0.00052673304704531495_r8, & + 0.00053102318174992223_r8, 0.00053262636154615176_r8, & + 0.0005315360423755475_r8, 0.00052731255404997175_r8, & + 0.00052307563006083414_r8, 0.00051499538523900137_r8, & + 0.00050306710453667614_r8, 0.00049012619467669763_r8, & + 0.00047796412357962537_r8, 0.00046533134377256356_r8, & + 0.00045806185662275808_r8, 0.00045458940101271081_r8, & + 0.00045388922471804801_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,44) / & + 6.3097218774965921e-06_r8, 6.0744165670734931e-06_r8, & + 5.9002420824039939e-06_r8, 6.3996158564698064e-06_r8, & + 6.5487964025632652e-06_r8, 6.4739654138161637e-06_r8, & + 6.821684994791187e-06_r8, 7.2939144265187054e-06_r8, & + 7.4913974966747051e-06_r8, 7.9847596206604594e-06_r8, & + 9.6231868709212581e-06_r8, 1.194416507725173e-05_r8, & + 1.8251323990064624e-05_r8, 2.6981119190579506e-05_r8, & + 4.3375557927674408e-05_r8, 6.2020663907315482e-05_r8, & + 0.00011172564121901669_r8, 0.00019035924063085972_r8, & + 0.00026359286841081016_r8, 0.00031880010234035543_r8, & + 0.00036266639446755968_r8, 0.00039516045308509785_r8, & + 0.00041813300586972436_r8, 0.00044015192518405129_r8, & + 0.00045813075190918862_r8, 0.00047557456802364373_r8, & + 0.00048885389099652637_r8, 0.00051921386632801467_r8, & + 0.00053689066540789571_r8, 0.00054433794479859905_r8, & + 0.00054698810413162172_r8, 0.00054724452992181206_r8, & + 0.00054477277944502015_r8, 0.00053983657633229626_r8, & + 0.00053381020930495153_r8, 0.00052672831630226602_r8, & + 0.00051751150040666024_r8, 0.00050675934932706008_r8, & + 0.0004955381966466354_r8, 0.00048588774213032269_r8, & + 0.00047854953678876528_r8, 0.00047435692805488082_r8, & + 0.00046977699306604095_r8, 0.00046559128904996458_r8, 9e90_r8 & + / +data saar_ref(:,29,44) / & + 6.2516270748890756e-06_r8, 6.2771929417774978e-06_r8, & + 6.4003612760414761e-06_r8, 7.3289583828048444e-06_r8, & + 7.7445707813840821e-06_r8, 7.8128730880180215e-06_r8, & + 8.1153044498034781e-06_r8, 8.6056963429190088e-06_r8, & + 9.085312206971654e-06_r8, 1.0326292458959e-05_r8, & + 1.2273975187604828e-05_r8, 1.517650523790476e-05_r8, & + 2.2286753294981947e-05_r8, 3.0788210115275572e-05_r8, & + 4.1543044646645842e-05_r8, 5.5688407357561013e-05_r8, & + 0.00010211528134764526_r8, 0.00017579609097681474_r8, & + 0.00026055444543801072_r8, 0.00033149991317444916_r8, & + 0.0003853122240095214_r8, 0.00042278509833770859_r8, & + 0.00044914566383204529_r8, 0.00047385647723687701_r8, & + 0.00049384692951678433_r8, 0.00051262820695059999_r8, & + 0.00052608731671744183_r8, 0.00055465101495874006_r8, & + 0.00056680145269095983_r8, 0.00056995123628045643_r8, & + 0.00056982091541204322_r8, 0.00056834982817177682_r8, & + 0.00056490532133384775_r8, 0.00055857016417282571_r8, & + 0.0005521291902516321_r8, 0.00054563583770935462_r8, & + 0.0005378078990716322_r8, 0.00052799415197975251_r8, & + 0.00051732120988286885_r8, 0.00050639089571004195_r8, & + 0.00049825539290806044_r8, 0.00049053295010885911_r8, & + 0.00048388807093598449_r8, 0.00048075048226081185_r8, & + 0.00048141276594997686_r8 & + / +data saar_ref(:,30,44) / & + 7.4492703426509848e-06_r8, 8.2161143891603658e-06_r8, & + 9.0305183846882108e-06_r8, 1.0282745555602118e-05_r8, & + 1.132586817751586e-05_r8, 1.1512131897374805e-05_r8, & + 1.1047973890916963e-05_r8, 1.1523938628558844e-05_r8, & + 1.3231525687249093e-05_r8, 1.5684034650362922e-05_r8, & + 1.8523908424218873e-05_r8, 2.2425478653045811e-05_r8, & + 3.0519202525267719e-05_r8, 3.8826200717801372e-05_r8, & + 4.8842316525828582e-05_r8, 6.2004950514192431e-05_r8, & + 0.0001075778574230124_r8, 0.00017550051806107232_r8, & + 0.00026101941086341911_r8, 0.00034304688225150558_r8, & + 0.00040641453268087821_r8, 0.00045172494333718894_r8, & + 0.00048382999292510067_r8, 0.0005140631726219734_r8, & + 0.00053719271438667864_r8, 0.00055775770973005368_r8, & + 0.00057413709713174542_r8, 0.00059932950536417001_r8, & + 0.00061096784670251292_r8, 0.00060870377473045767_r8, & + 0.00060534329823590932_r8, 0.00060046043262342616_r8, & + 0.00059568380476347294_r8, 0.00058638324497819723_r8, & + 0.00057883279646006559_r8, 0.00057330219261043632_r8, & + 0.00056837279913738543_r8, 0.0005608149445960525_r8, & + 0.00055060349993508095_r8, 0.00053821475396324315_r8, & + 0.00053011581814756202_r8, 0.00051789633092542173_r8, & + 0.00050590346619263803_r8, 0.00049712525876721876_r8, & + 0.00049817556310425984_r8 & + / +data saar_ref(:,31,44) / & + 1.1461435163533865e-05_r8, 1.2854411344159717e-05_r8, & + 1.4265594409088134e-05_r8, 1.3190351974075507e-05_r8, & + 1.3722689441783913e-05_r8, 1.40167608648076e-05_r8, & + 1.6210703559782373e-05_r8, 2.1090432692568261e-05_r8, & + 2.5178753767302703e-05_r8, 2.8994493919370556e-05_r8, & + 3.2747799185418042e-05_r8, 3.7176522334996319e-05_r8, & + 4.4652101550613403e-05_r8, 5.3885037966046211e-05_r8, & + 6.6466790103297048e-05_r8, 8.4161926343560503e-05_r8, & + 0.00014202309650608656_r8, 0.00021850677568342606_r8, & + 0.00030380249092746718_r8, 0.00038091030649631085_r8, & + 0.00044056211343955492_r8, 0.00048361215737934845_r8, & + 0.00051730681809956003_r8, 0.00054703731133932303_r8, & + 0.00057208180999856269_r8, 0.00059201062144367074_r8, & + 0.00060778211229734283_r8, 0.00062956241433628443_r8, & + 0.0006405976429077351_r8, 0.00063796389004284299_r8, & + 0.00063149194896972905_r8, 0.00062454830372533476_r8, & + 0.00061706051405469801_r8, 0.00060787015984481332_r8, & + 0.00060128571199438068_r8, 0.00059594413066846623_r8, & + 0.00059130019451216756_r8, 0.00058574118600140815_r8, & + 0.00057899438438847124_r8, 0.000567655700706254_r8, & + 0.00055645320266530939_r8, 0.00054205027779507696_r8, & + 0.00053281429123695604_r8, 0.0005221431332576164_r8, 9e90_r8 & + / +data saar_ref(:,32,44) / & + 2.4983477227992676e-05_r8, 2.6627473016434094e-05_r8, & + 2.8407431088226284e-05_r8, 2.5911626615618961e-05_r8, & + 2.5273775023518351e-05_r8, 3.0130361471541557e-05_r8, & + 3.6799361970757307e-05_r8, 4.3889331077721932e-05_r8, & + 4.9936679262397853e-05_r8, 5.4934710867058936e-05_r8, & + 5.9332483518441601e-05_r8, 6.6250761075937689e-05_r8, & + 7.9475568511292236e-05_r8, 9.4631120928666043e-05_r8, & + 0.00011459909844612273_r8, 0.00014350345669969107_r8, & + 0.00022407811939397957_r8, 0.00030303971566081995_r8, & + 0.00037356792852704453_r8, 0.00043589547092280775_r8, & + 0.00048379993535087697_r8, 0.00052086841157428601_r8, & + 0.00054978756249806694_r8, 0.00057604945282861274_r8, & + 0.00059890595875962936_r8, 0.00061735930331279496_r8, & + 0.00063179246645862135_r8, 0.00065138197325780554_r8, & + 0.00065885515645853056_r8, 0.00065967150254914229_r8, & + 0.00065189557879201203_r8, 0.00064626179716727162_r8, & + 0.00063580879249558572_r8, 0.00062836886374176434_r8, & + 0.00062186473314490066_r8, 0.0006165049997997659_r8, & + 0.00061175678658317411_r8, 0.00060818081710869022_r8, & + 0.00060584091836767169_r8, 0.00060268386034405047_r8, & + 0.00059694684532700154_r8, 0.00059726075988136157_r8, & + 0.00059161273497315399_r8, 0.00058599458725513271_r8, & + 0.00058214231289439855_r8 & + / +data saar_ref(:,33,44) / & + 5.9336871624108829e-05_r8, 6.1202679803995229e-05_r8, & + 6.3251573789537661e-05_r8, 6.9808793482596258e-05_r8, & + 7.5591601174368453e-05_r8, 8.1197796197858066e-05_r8, & + 8.1829075412124033e-05_r8, 9.4052276045081081e-05_r8, & + 0.0001050172810622539_r8, 0.00011637346217766004_r8, & + 0.00012906887253358957_r8, 0.00014596130854288317_r8, & + 0.00016888054567900263_r8, 0.00020027124384527003_r8, & + 0.00023517514571606119_r8, 0.00027422929575726332_r8, & + 0.00035510370069195043_r8, 0.00042189545852920905_r8, & + 0.00047472880747485011_r8, 0.00051766047086143629_r8, & + 0.0005504574934930656_r8, 0.00057857985476845542_r8, & + 0.00060127103110045382_r8, 0.00062205912242775511_r8, & + 0.00063834493646808201_r8, 0.0006523126514188022_r8, & + 0.00066300971028814286_r8, 0.00067839543584108483_r8, & + 0.00068373805755674207_r8, 0.00068380192398542294_r8, & + 0.00067722467330324132_r8, 0.00066944065069232293_r8, & + 0.00066029010810609873_r8, 0.00065117403687630802_r8, & + 0.00064310063224640255_r8, 0.00063746432298213444_r8, & + 0.00063324306713028226_r8, 0.00063037347457834379_r8, & + 0.00063016207662651403_r8, 0.00063001284119453764_r8, & + 0.00063019836586415538_r8, 0.00062953932655450352_r8, & + 0.00062317742845665572_r8, 0.00061352675117409773_r8, & + 0.00060987918030729657_r8 & + / +data saar_ref(:,34,44) / & + 8.3049301237535822e-05_r8, 8.6067618688131286e-05_r8, & + 9.0378049504127097e-05_r8, 0.00011810499711933958_r8, & + 0.0001301495008886477_r8, 0.00014072545938583405_r8, & + 0.00014149807195285063_r8, 0.00016774600160279044_r8, & + 0.00018867153805972116_r8, 0.00023123750723657088_r8, & + 0.00026702178261343385_r8, 0.00030192728310779828_r8, & + 0.0003310118009211433_r8, 0.00036836700508769316_r8, & + 0.00040213609346452208_r8, 0.00043530523095972377_r8, & + 0.00049040685124925726_r8, 0.00053284916756379851_r8, & + 0.00056617055094474377_r8, 0.00059524265160792642_r8, & + 0.00062010742144851102_r8, 0.00064245386367058337_r8, & + 0.00066063300384736436_r8, 0.00067584706955088321_r8, & + 0.00068692004246397574_r8, 0.0006964051933408379_r8, & + 0.0007033788568413488_r8, 0.00071202140969411128_r8, & + 0.00071397768743522991_r8, 0.00071121840784336488_r8, & + 0.00070309205773192037_r8, 0.00069190302558505209_r8, & + 0.00068106352164190901_r8, 0.00067242639189514595_r8, & + 0.00066382697799176836_r8, 0.00065750796286241859_r8, & + 0.00065242429694157883_r8, 0.00065056117698713764_r8, & + 0.0006500566529844613_r8, 0.00065022457043119666_r8, & + 0.0006502870195396861_r8, 0.00064911733901509123_r8, & + 0.00064807834481306467_r8, 0.00064165572597102622_r8, & + 0.00064074759383355264_r8 & + / +data saar_ref(:,35,44) / & + 9.6436391406863121e-05_r8, 0.00010271264535158816_r8, & + 0.0001109690663569026_r8, 0.00015796239177225422_r8, & + 0.00017188324488305793_r8, 0.00018936808670379102_r8, & + 0.00020259613515260014_r8, 0.00023588461351831534_r8, & + 0.00027778495505561662_r8, 0.00033434902021972033_r8, & + 0.00036542022394417758_r8, 0.00039148138343727927_r8, & + 0.00041199650404139085_r8, 0.00044297710308851033_r8, & + 0.00046973696750441919_r8, 0.00049716274394616671_r8, & + 0.00053515410272727659_r8, 0.00056628980465484448_r8, & + 0.00059296758477355631_r8, 0.00061774159521480062_r8, & + 0.0006400526251637567_r8, 0.00065980572167398182_r8, & + 0.00067703785873489929_r8, 0.00069296027897113304_r8, & + 0.00070435093805237673_r8, 0.00071397760988106056_r8, & + 0.00072167969093136683_r8, 0.00072959345417576411_r8, & + 0.00073299974503617362_r8, 0.0007316414048267819_r8, & + 0.00072448836324181609_r8, 0.00071333747408582721_r8, & + 0.00069972014483075994_r8, 0.00068939478943834181_r8, & + 0.00067965907897976911_r8, 0.0006711822293070203_r8, & + 0.00066410790381400838_r8, 0.00066270135043842873_r8, & + 0.00066097651259046603_r8, 0.00065890046580925426_r8, & + 0.00065591233240732706_r8, 0.00065381658197537034_r8, & + 0.0006527189368798924_r8, 0.00064320223296148154_r8, & + 0.00063707822953335816_r8 & + / +data saar_ref(:,36,44) / & + 0.00010872165626677632_r8, 0.00012348524662451579_r8, & + 0.00012832503749567642_r8, 0.0001801416407024016_r8, & + 0.00020362302099832688_r8, 0.00022039927129812901_r8, & + 0.00025273916032081319_r8, 0.0002781345570315309_r8, & + 0.00030387870609001414_r8, 0.00033944260482749936_r8, & + 0.00037074007987538158_r8, 0.0003836796839714558_r8, & + 0.0004119375966325922_r8, 0.00044393632059863892_r8, & + 0.00047085726659225102_r8, 0.00049671097594075619_r8, & + 0.00053478836994811654_r8, 0.0005566768506953104_r8, & + 0.00058079517583203453_r8, 0.00060777849482903561_r8, & + 0.00063659029280517976_r8, 0.00065772591480272354_r8, & + 0.00067808098995459243_r8, 0.00069786325720826799_r8, & + 0.00071340064886379559_r8, 0.00072655733225670941_r8, & + 0.00073100325341979918_r8, 0.00074170759050149447_r8, & + 0.0007496646676608109_r8, 0.00074914908962771915_r8, & + 0.00074403751387756714_r8, 0.00073831914617331052_r8, & + 0.00073124795232515144_r8, 0.00072364601434038954_r8, & + 0.00071481863861540046_r8, 0.00070275193129949948_r8, & + 0.00067696905767856584_r8, 0.00067421770492242942_r8, & + 0.00067145965872895052_r8, 0.0006683713290225944_r8, & + 0.00066062184240825179_r8, 0.0006562383637215202_r8, & + 0.00065206209580314853_r8, 0.00064418376780228973_r8, & + 0.00064305958748476285_r8 & + / +data saar_ref(:,37,44) / & + 7.9195013150548985e-05_r8, 8.9233131604703634e-05_r8, & + 9.8128071901528751e-05_r8, 0.0001528814093434837_r8, & + 0.00018546090887509736_r8, 0.00021322298140548853_r8, & + 0.00027365059128366283_r8, 0.00027769051162230472_r8, & + 0.00029056546846095168_r8, 0.00030835362530786076_r8, & + 0.00034847038238955467_r8, 0.00035945972201353345_r8, & + 0.00040092819127300042_r8, 0.000443960879279072_r8, & + 0.00048067185199564207_r8, 0.00050911465142571271_r8, & + 0.00055278364154947961_r8, 0.00057194067823082312_r8, & + 0.00059403172105939477_r8, 0.00062118283827144376_r8, & + 0.00065259461584514337_r8, 0.00067922306231817759_r8, & + 0.00070588086093663956_r8, 0.00072779992999263661_r8, & + 0.00074418348686687552_r8, 0.00075732723287668497_r8, & + 0.00075185740488984765_r8, 0.00076160823269134632_r8, & + 0.00076984284137982407_r8, 0.0007687771538353596_r8, & + 0.00076389785033782211_r8, 0.00075978194380878932_r8, & + 0.00075486289062868313_r8, 0.00075322060617936254_r8, & + 0.00074745582406909861_r8, 0.00073810596674765813_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,44) / & + 5.428285694437985e-05_r8, 6.1457312405052421e-05_r8, & + 7.2781816542238331e-05_r8, 0.00012866789326554826_r8, & + 0.00016414834517022365_r8, 0.00021030215049285819_r8, & + 0.0002827228100973346_r8, 0.00027428662711946047_r8, & + 0.00028526413754126448_r8, 0.00029448748455972325_r8, & + 0.00032858565217438318_r8, 0.00033930628356551335_r8, & + 0.00037558289696978177_r8, 0.00042960310465779841_r8, & + 0.00047471751331338782_r8, 0.00050654907327766553_r8, & + 0.00056214243741996403_r8, 0.00058885388508103068_r8, & + 0.00061155767117164115_r8, 0.00063555914095925388_r8, & + 0.00066267936923360387_r8, 0.00069873191668133074_r8, & + 0.00073092526794713236_r8, 0.00075652219854669756_r8, & + 0.00077479224992647346_r8, 0.0007897910581133804_r8, & + 0.00077184493611963617_r8, 0.00078032297981745456_r8, & + 0.00078919111650331509_r8, 0.00078781023383727464_r8, & + 0.00078499022956861331_r8, 0.00078241105009201658_r8, & + 0.00077846600199451416_r8, 0.00077538124226587252_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,44) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,44) / & + 8.0906560001281459e-05_r8, 7.4053287704478355e-05_r8, & + 0.00010868130807327506_r8, 0.00012050794549251547_r8, & + 0.00017695240876567918_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,44) / & + 0.00011669824610231051_r8, 0.00010828591858874657_r8, & + 0.00012534526448097021_r8, 0.00011380651448812933_r8, & + 0.00018611236850328398_r8, 0.00029437254364637986_r8, & + 0.00033741511769831115_r8, 0.00044061365588090863_r8, & + 0.00034062268183618713_r8, 0.00022396891942409291_r8, & + 0.0001375187667984403_r8, 0.00011578979378438307_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,44) / & + 0.00012804858466170243_r8, 0.00012202852032495786_r8, & + 0.00011894975413927269_r8, 0.00013182271255965858_r8, & + 0.0001532241238793972_r8, 0.00023490947292085807_r8, & + 0.00028628330087835416_r8, 0.00042169332966137703_r8, & + 0.00036168579281490443_r8, 0.00024187926323904988_r8, & + 0.00012532520425985726_r8, 0.00010341507722956252_r8, & + 6.5415654098917685e-05_r8, 6.9920623508517503e-05_r8, & + 7.725227790191357e-05_r8, 7.1197685086695709e-05_r8, & + 7.1168024406518683e-05_r8, 7.1808163531024091e-05_r8, & + 7.1750600761858455e-05_r8, 7.3624604405818036e-05_r8, & + 7.5013906650182578e-05_r8, 7.6231015868056918e-05_r8, & + 7.8352126261869827e-05_r8, 8.1573889595853185e-05_r8, & + 8.5801621503251249e-05_r8, 9.1074281780196523e-05_r8, & + 9.65343189783541e-05_r8, 0.00010968857744741349_r8, & + 0.000109318609850285_r8, 0.00010714738927532603_r8, & + 0.00010733944162608368_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,44) / & + 0.0001040317136990164_r8, 0.00011089669011503383_r8, & + 9.8935805446823062e-05_r8, 0.00013948076460862656_r8, & + 0.00013716562101152586_r8, 0.00014909893588221611_r8, & + 0.00020214857019891183_r8, 0.00030482809745746857_r8, & + 0.00021386514812584946_r8, 0.00012770345937494402_r8, & + 7.2242503565513226e-05_r8, 7.8156964406732467e-05_r8, & + 6.3900774315087249e-05_r8, 7.0440282729903234e-05_r8, & + 7.0851117215051497e-05_r8, 7.0183543336784204e-05_r8, & + 7.006939946516709e-05_r8, 7.1195562998011423e-05_r8, & + 7.1986496732005922e-05_r8, 7.4561729093654367e-05_r8, & + 7.69139250393201e-05_r8, 7.8719923896991047e-05_r8, & + 8.2373285217304709e-05_r8, 8.7113485646035435e-05_r8, & + 9.0386088987073066e-05_r8, 9.5530129184708017e-05_r8, & + 0.00010081158289222554_r8, 0.00011419953691223594_r8, & + 0.00011413655032990413_r8, 0.00011151282316212401_r8, & + 0.00011115082054882129_r8, 0.0001111906815483868_r8, & + 0.00010897543447751137_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,44) / & + 8.481329428232483e-05_r8, 0.00010107249481227976_r8, & + 8.2199643335167016e-05_r8, 0.00011745371366362665_r8, & + 0.00012317878551729047_r8, 0.00012803924234002263_r8, & + 0.00015784602061396345_r8, 0.00014929607081585667_r8, & + 8.2448308663006566e-05_r8, 6.3248154233161387e-05_r8, & + 6.4678402937571905e-05_r8, 7.0358650667249334e-05_r8, & + 6.7873212275247082e-05_r8, 7.0754749235974851e-05_r8, & + 7.1770502762960562e-05_r8, 7.2950190113595166e-05_r8, & + 7.2795790552668464e-05_r8, 7.2966152513713402e-05_r8, & + 7.4538127866373885e-05_r8, 7.8493206415803336e-05_r8, & + 8.1147873887758165e-05_r8, 8.4206789456604892e-05_r8, & + 8.7960145762971563e-05_r8, 9.3818990207955469e-05_r8, & + 9.7316800170740568e-05_r8, 0.00010272034278639846_r8, & + 0.00010850573645469656_r8, 0.00011864059379864306_r8, & + 0.00012467529632812847_r8, 0.0001224981749089333_r8, & + 0.00011995125408586739_r8, 0.0001196374340969978_r8, & + 0.00011233940968074093_r8, 0.00011340938545627776_r8, & + 0.00011756296895674391_r8, 0.00011813444916429218_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,44) / & + 7.9800694817350873e-05_r8, 0.00010646880636343463_r8, & + 9.0455629403364199e-05_r8, 0.00012213475176010318_r8, & + 0.00012579277606785742_r8, 0.00013439681303854779_r8, & + 0.00012160317682478063_r8, 7.8127550779834629e-05_r8, & + 6.5880181125164928e-05_r8, 6.5542242607830693e-05_r8, & + 6.6677891622016683e-05_r8, 6.906506039615603e-05_r8, & + 6.8682726610205059e-05_r8, 7.0529153574885829e-05_r8, & + 7.2007176912941331e-05_r8, 7.3563000573703452e-05_r8, & + 7.3637325249235381e-05_r8, 7.3866996389107358e-05_r8, & + 7.6085373880759605e-05_r8, 7.9748848626756306e-05_r8, & + 8.2598786182006863e-05_r8, 8.6428084643854486e-05_r8, & + 9.0293964472179799e-05_r8, 9.5303245145257005e-05_r8, & + 0.00010084922478769109_r8, 0.00010565447286480833_r8, & + 0.00011223592457364707_r8, 0.00012188577033832654_r8, & + 0.00012474242482698352_r8, 0.00012106735093659258_r8, & + 0.00011984170108158998_r8, 0.00012005169321586375_r8, & + 0.00011854193564246509_r8, 0.00011876678359747702_r8, & + 0.00012011474482421204_r8, 0.0001207395941395188_r8, & + 0.00012429403816067037_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,45) / & + 0.00010952807112242334_r8, 0.00011248467065164867_r8, & + 0.00012443797019352695_r8, 0.00015204189691365677_r8, & + 0.00015914430915907679_r8, 0.00016948450922288599_r8, & + 0.00018770415171160787_r8, 0.00020084534013262034_r8, & + 0.00021354129264830778_r8, 0.00022415052884429442_r8, & + 0.00023139830132647775_r8, 0.00022683660619442133_r8, & + 0.00023126177501552278_r8, 0.00022650138370323565_r8, & + 0.00022373486563736212_r8, 0.00022250317691671967_r8, & + 0.00022387094650976473_r8, 0.00022354250633384404_r8, & + 0.00022350752650148796_r8, 0.00022356993345408731_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,45) / & + 0.00010952807112242334_r8, 0.00011248467065164867_r8, & + 0.00012443797019352695_r8, 0.00015204189691365677_r8, & + 0.00015914430915907679_r8, 0.00016948450922288599_r8, & + 0.00018770415171160787_r8, 0.00020084534013262034_r8, & + 0.00021354129264830778_r8, 0.00022415052884429442_r8, & + 0.00023139830132647775_r8, 0.00022683660619442133_r8, & + 0.00023126177501552278_r8, 0.00022650138370323565_r8, & + 0.00022373486563736212_r8, 0.00022250317691671967_r8, & + 0.00022387094650976473_r8, 0.00022354250633384404_r8, & + 0.00022350752650148796_r8, 0.00022356993345408731_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,45) / & + 0.00010952807112242334_r8, 0.00011248467065164867_r8, & + 0.00012443797019352695_r8, 0.00015204189691365677_r8, & + 0.00015914430915907679_r8, 0.00016948450922288599_r8, & + 0.00018770415171160787_r8, 0.00020084534013262034_r8, & + 0.00021354129264830778_r8, 0.00022415052884429442_r8, & + 0.00023139830132647775_r8, 0.00022683660619442133_r8, & + 0.00023126177501552278_r8, 0.00022650138370323565_r8, & + 0.00022373486563736212_r8, 0.00022250317691671967_r8, & + 0.00022387094650976473_r8, 0.00022354250633384404_r8, & + 0.00022350752650148796_r8, 0.00022356993345408731_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,45) / & + 0.00012089271442412802_r8, 0.00012131506800596277_r8, & + 0.00012941446532646188_r8, 0.00014644014786327169_r8, & + 0.00015124948677966649_r8, 0.0001577231237763078_r8, & + 0.00017519930801323291_r8, 0.00018906799254659955_r8, & + 0.00020132761690465757_r8, 0.00021103866738329729_r8, & + 0.00021913228827663168_r8, 0.00021857139113091442_r8, & + 0.00022530381241685758_r8, 0.00022593091416197323_r8, & + 0.00022558302926448614_r8, 0.00022768501399630784_r8, & + 0.00023742139003727814_r8, 0.00023850098442122013_r8, & + 0.00024694217690703199_r8, 0.00025569259785082128_r8, & + 0.0002595365406705547_r8, 0.00026067342058547406_r8, & + 0.00026413971809075817_r8, 0.00026474093241549509_r8, & + 0.00026579158802549719_r8, 0.00026646771392058367_r8, & + 0.00026715982739898905_r8, 0.00027173448225293093_r8, & + 0.00027300606974128329_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,45) / & + 0.00013567401886341649_r8, 0.00013591341767566411_r8, & + 0.00013176729657858038_r8, 0.00014066900917185694_r8, & + 0.00014392782907973945_r8, 0.0001477083740034335_r8, & + 0.00015936229382983806_r8, 0.00016911958065984152_r8, & + 0.00017757416276410304_r8, 0.00018441293790767325_r8, & + 0.00019129459735340191_r8, 0.00019589326972832265_r8, & + 0.00020337904282929136_r8, 0.00020953171818856593_r8, & + 0.00021302277660675665_r8, 0.00021660399322186153_r8, & + 0.00022326080685272466_r8, 0.00023400532338450629_r8, & + 0.00024202073853457843_r8, 0.00025181451991238842_r8, & + 0.00025621855600394417_r8, 0.00025752994838528702_r8, & + 0.0002610303222428711_r8, 0.00026311471019112076_r8, & + 0.00026507095745467003_r8, 0.00026644668332955217_r8, & + 0.00026792888451027754_r8, 0.00027205396497849009_r8, & + 0.0002729765572701594_r8, 0.0002736680833335456_r8, & + 0.00027388310100303904_r8, 0.00027099988755285766_r8, & + 0.00026485160316027599_r8, 0.00025241524534758895_r8, & + 0.00024979990951787343_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,45) / & + 0.00011657197595043652_r8, 0.00011669549179674773_r8, & + 0.00010644681727033473_r8, 0.00010944709485092129_r8, & + 0.00011093468185963049_r8, 0.00011626762774273093_r8, & + 0.00013897135932083887_r8, 0.00015145238403243153_r8, & + 0.00016100848336979756_r8, 0.00017084711458514889_r8, & + 0.00017434547119189899_r8, 0.00017748002463117407_r8, & + 0.00018448440612807817_r8, 0.00019068431011512148_r8, & + 0.00019618384571333742_r8, 0.00020005885664099954_r8, & + 0.00020578207789095278_r8, 0.00021356303446128861_r8, & + 0.00021800260292170257_r8, 0.00022194765753328079_r8, & + 0.00022665971775227974_r8, 0.00023141827196373468_r8, & + 0.00023604688401031971_r8, 0.00024114498154930548_r8, & + 0.00024528067733751931_r8, 0.00024916559910885891_r8, & + 0.00025269028302636235_r8, 0.00026073340352969075_r8, & + 0.00026705976901270859_r8, 0.00027139745257027248_r8, & + 0.00027339168245646704_r8, 0.00027191653272765385_r8, & + 0.0002658601617880783_r8, 0.00025572441321948693_r8, & + 0.00025387693627248662_r8, 0.0002594698844455607_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,45) / & + 5.6177448834850194e-05_r8, 5.627413712681317e-05_r8, & + 4.7878716934737845e-05_r8, 4.3857709714623351e-05_r8, & + 4.1198898984961472e-05_r8, 4.0506240077472308e-05_r8, & + 5.091342842181396e-05_r8, 6.3094103831466323e-05_r8, & + 7.3418687106422981e-05_r8, 8.9571300889781474e-05_r8, & + 9.2940902070851611e-05_r8, 9.4439097405942993e-05_r8, & + 0.00010114525769900639_r8, 0.00011265619570388799_r8, & + 0.00012487705974733481_r8, 0.00013342618885897094_r8, & + 0.00014505287670763483_r8, 0.00015612499769449638_r8, & + 0.0001655301704130881_r8, 0.0001719274293363864_r8, & + 0.00017781193743983062_r8, 0.00018291873507746224_r8, & + 0.00018621401986123617_r8, 0.00019155291078274084_r8, & + 0.00019613760721983687_r8, 0.00020038382922294443_r8, & + 0.00020468150798283298_r8, 0.00021608303660603566_r8, & + 0.00022674464103620651_r8, 0.00023553385292474094_r8, & + 0.00024498297765596224_r8, 0.00025333328539898657_r8, & + 0.00025979232194941912_r8, 0.00026540768278837852_r8, & + 0.00026903239871242727_r8, 0.00027099173773287684_r8, & + 0.00027373103332483203_r8, 0.00027467042617685327_r8, & + 0.00027585241574717154_r8, 0.00027646873407413133_r8, & + 0.00027761062889896792_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,45) / & + 1.1455013271493645e-05_r8, 1.1861040409098894e-05_r8, & + 1.0046174074528341e-05_r8, 1.1655660175458736e-05_r8, & + 1.0455065126554615e-05_r8, 1.0388865193887076e-05_r8, & + 1.2458792445805896e-05_r8, 1.5103607145419558e-05_r8, & + 1.8213726218229575e-05_r8, 2.3299606791336122e-05_r8, & + 2.5822547841627167e-05_r8, 2.9327915904588577e-05_r8, & + 3.5477888211733587e-05_r8, 4.2776593819384261e-05_r8, & + 5.1880289469844292e-05_r8, 6.1012328961324345e-05_r8, & + 7.9318148171935932e-05_r8, 9.6476269587625636e-05_r8, & + 0.00011276929859256978_r8, 0.00012797684552323177_r8, & + 0.00014089101555295284_r8, 0.00015154424683859499_r8, & + 0.00015847435488456388_r8, 0.00016478082157139005_r8, & + 0.00017023485697838047_r8, 0.00017498281780164789_r8, & + 0.00017926110572580973_r8, 0.00018868679237308406_r8, & + 0.00019834770989354643_r8, 0.00020917799288967915_r8, & + 0.00022074601331892733_r8, 0.00023219517440243334_r8, & + 0.00024134883211637337_r8, 0.00025023408633218094_r8, & + 0.00025769747225095723_r8, 0.00026316450950296383_r8, & + 0.00026798532425101915_r8, 0.00027106164761644985_r8, & + 0.00027347456053905935_r8, 0.00027488946339962255_r8, & + 0.00027627922985878163_r8, 0.00027703832346377352_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,45) / & + 3.4352938939956709e-06_r8, 4.019344948637924e-06_r8, & + 3.4220053998918268e-06_r8, 7.7022378719732158e-06_r8, & + 7.7712622459646348e-06_r8, 8.1751025792991797e-06_r8, & + 8.3017536318673227e-06_r8, 8.992328653049697e-06_r8, & + 1.0189393294652645e-05_r8, 1.1795931238797453e-05_r8, & + 1.3090693513699852e-05_r8, 1.5754031803254632e-05_r8, & + 1.8569915019810634e-05_r8, 2.1129558875667367e-05_r8, & + 2.3699619663816764e-05_r8, 2.7764182857682081e-05_r8, & + 4.1029009759944903e-05_r8, 5.6516385246676518e-05_r8, & + 7.4193082083870028e-05_r8, 9.2148061724740254e-05_r8, & + 0.00010937480584052129_r8, 0.00012429682643577607_r8, & + 0.00013816385939652604_r8, 0.00014913576472680697_r8, & + 0.00015785077159170013_r8, 0.00016468560774538519_r8, & + 0.00017024713977516716_r8, 0.00017974522776215159_r8, & + 0.00018775346636635529_r8, 0.00019670748990782314_r8, & + 0.00020830918933241962_r8, 0.00022134608312082717_r8, & + 0.00023109753911042816_r8, 0.00024226052268773945_r8, & + 0.00025163754655581659_r8, 0.00025877407508229257_r8, & + 0.00026497466345461282_r8, 0.00026878521943093692_r8, & + 0.00027155224725830779_r8, 0.00027341191886270802_r8, & + 0.00027569417751956474_r8, 0.00027701429803903558_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,45) / & + 4.8548396747353722e-06_r8, 5.1836910589561354e-06_r8, & + 4.9804459052093329e-06_r8, 5.4554175504373746e-06_r8, & + 5.6211304860123863e-06_r8, 6.7472468921189783e-06_r8, & + 6.8824348139421246e-06_r8, 8.4431695050936858e-06_r8, & + 9.3883966330455591e-06_r8, 1.036569200362411e-05_r8, & + 1.1163175357322165e-05_r8, 1.3122467413165543e-05_r8, & + 1.5963203029511114e-05_r8, 1.7685970598209895e-05_r8, & + 1.8875633824274141e-05_r8, 2.0917996489065126e-05_r8, & + 2.7879522297385973e-05_r8, 3.929663885666879e-05_r8, & + 5.5023838012914119e-05_r8, 7.1824385078728421e-05_r8, & + 8.7445942823673856e-05_r8, 0.00010590358951957417_r8, & + 0.00012224324110349751_r8, 0.00013748489370197812_r8, & + 0.00015507408697671243_r8, 0.00016395617301116517_r8, & + 0.00017052997194914017_r8, 0.00017996291905083712_r8, & + 0.0001868033068071589_r8, 0.00019476261562623431_r8, & + 0.00020554181966619308_r8, 0.00021849382566868855_r8, & + 0.00022903948127807263_r8, 0.00024139034812012666_r8, & + 0.00025124085491813386_r8, 0.00026007999938126565_r8, & + 0.00026715527319228454_r8, 0.00027055627947008681_r8, & + 0.00027272287329298446_r8, 0.00027374691140523005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,45) / & + 3.7971962542327913e-06_r8, 3.8603091483507426e-06_r8, & + 3.8446542086744014e-06_r8, 4.1351110813533054e-06_r8, & + 4.1512541960635637e-06_r8, 4.7385099892318102e-06_r8, & + 5.3802789505224822e-06_r8, 7.2881379489386342e-06_r8, & + 8.3904826456094267e-06_r8, 9.3060428073773467e-06_r8, & + 9.9868720051356922e-06_r8, 1.1176114153119536e-05_r8, & + 1.375159559868668e-05_r8, 1.4208615917625475e-05_r8, & + 1.5176708795153157e-05_r8, 1.7280586623600337e-05_r8, & + 2.1683675595133543e-05_r8, 3.0397089848505084e-05_r8, & + 4.278712865860138e-05_r8, 5.6000493556193784e-05_r8, & + 7.1352526600039105e-05_r8, 9.4069180943786765e-05_r8, & + 0.00010966298521443097_r8, 0.00012566854417794744_r8, & + 0.00014094435345770906_r8, 0.00015361525788234402_r8, & + 0.00016832295976112465_r8, 0.00019132630095504416_r8, & + 0.00020530587508299391_r8, 0.00020840153957916391_r8, & + 0.00020844131044283509_r8, 0.00021515867318521066_r8, & + 0.00022830577314209293_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,45) / & + 3.6815788633729695e-06_r8, 3.6946718942071973e-06_r8, & + 3.7954336491711931e-06_r8, 4.0920877052675649e-06_r8, & + 4.184004534786968e-06_r8, 4.3588734684248851e-06_r8, & + 5.0243145735182187e-06_r8, 5.9207508000111897e-06_r8, & + 6.8263259937470525e-06_r8, 7.396467627791193e-06_r8, & + 7.9681104827393129e-06_r8, 8.7313964582978689e-06_r8, & + 1.0297805982972008e-05_r8, 1.1084867974435104e-05_r8, & + 1.2027112992668497e-05_r8, 1.3148690323759402e-05_r8, & + 1.5642536242548257e-05_r8, 2.0503734390252942e-05_r8, & + 2.7912964809859982e-05_r8, 3.9167247931522595e-05_r8, & + 4.9183858786300645e-05_r8, 6.066202176128438e-05_r8, & + 8.4239624892444408e-05_r8, 0.00010839508096214792_r8, & + 0.00012901727369825911_r8, 0.00014795299564963378_r8, & + 0.00016411185281392271_r8, 0.00020328272803293491_r8, & + 0.00022972269504547969_r8, 0.00023974325770110362_r8, & + 0.00023417556130870412_r8, 0.00022556105488492323_r8, & + 0.00022762172026499531_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,45) / & + 4.1430344320586091e-06_r8, 4.163221922388871e-06_r8, & + 3.7480096634029767e-06_r8, 4.1263595632019699e-06_r8, & + 4.4555898258957212e-06_r8, 4.3209581340121386e-06_r8, & + 3.6945761328524518e-06_r8, 3.8989476162725337e-06_r8, & + 4.6907518044495358e-06_r8, 5.5254662962182546e-06_r8, & + 6.2625465179243305e-06_r8, 6.9961815188047593e-06_r8, & + 8.5571089364429516e-06_r8, 1.0366690920012848e-05_r8, & + 1.2229828125241625e-05_r8, 1.4075110944047824e-05_r8, & + 1.8069573936463109e-05_r8, 2.2140740512490945e-05_r8, & + 2.8992975078584989e-05_r8, 3.9863267833035977e-05_r8, & + 5.2218291968982181e-05_r8, 6.3859828479402215e-05_r8, & + 8.1677774068844895e-05_r8, 0.00010154618091678168_r8, & + 0.00012420806403398965_r8, 0.00014505805329451175_r8, & + 0.00016446808814966451_r8, 0.00020698153427850719_r8, & + 0.00023776630311583_r8, 0.00025253239709797123_r8, & + 0.00026361423481045582_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,45) / & + 4.2640970868909848e-06_r8, 4.2254626505772592e-06_r8, & + 3.8297172257103287e-06_r8, 4.8665489275534412e-06_r8, & + 5.1364977084686748e-06_r8, 5.125103498409892e-06_r8, & + 4.4541907428242115e-06_r8, 3.7296234967854498e-06_r8, & + 4.0717480381354875e-06_r8, 4.6577925673233654e-06_r8, & + 5.3585170035410927e-06_r8, 6.2519219713114917e-06_r8, & + 7.9540732164359357e-06_r8, 9.9016762948353974e-06_r8, & + 1.1939551840969139e-05_r8, 1.3934238460090437e-05_r8, & + 1.872852645426073e-05_r8, 2.411300367464001e-05_r8, & + 3.0184301626193681e-05_r8, 4.1365555388742992e-05_r8, & + 5.4755107301200301e-05_r8, 7.0075616766463337e-05_r8, & + 9.0553601698851441e-05_r8, 0.00011177938268901066_r8, & + 0.00013501566539588471_r8, 0.00015587786242021831_r8, & + 0.00017598843113747871_r8, 0.00021500130736568429_r8, & + 0.00024247086210616798_r8, 0.00025641166897692481_r8, & + 0.00026639561881879715_r8, 0.00027222093489126032_r8, & + 0.00027400029158952108_r8, 0.0002739138315157809_r8, & + 0.00026883185847220416_r8, 0.00026743531296729179_r8, & + 0.0002574930354056841_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,45) / & + 4.0589651364913547e-06_r8, 3.9518670682914774e-06_r8, & + 3.7428533650734169e-06_r8, 4.1019055601051984e-06_r8, & + 4.4352112408594475e-06_r8, 4.6971924582080339e-06_r8, & + 5.3499621540256966e-06_r8, 4.9528121805716108e-06_r8, & + 4.7209441164119912e-06_r8, 4.561986792812469e-06_r8, & + 4.6163165354887682e-06_r8, 5.0472732352704631e-06_r8, & + 6.6144488734255285e-06_r8, 8.4082606498285383e-06_r8, & + 1.041849847369313e-05_r8, 1.2612003710910504e-05_r8, & + 1.747470134111331e-05_r8, 2.2317599262338347e-05_r8, & + 2.8740580377220705e-05_r8, 3.9749585355907146e-05_r8, & + 5.4984410881796584e-05_r8, 7.432431453422366e-05_r8, & + 9.7850484160563874e-05_r8, 0.00012293203200671395_r8, & + 0.00014812363953606601_r8, 0.00017121700905976914_r8, & + 0.00019053461721941825_r8, 0.00022568945378396968_r8, & + 0.00024677159503604416_r8, 0.00025881012606608389_r8, & + 0.00026674346307774499_r8, 0.00027196119285237413_r8, & + 0.00027489019988063447_r8, 0.00027521417031001796_r8, & + 0.00027321949078577796_r8, 0.00027215856456843518_r8, & + 0.000266813800128654_r8, 0.00027327492163343526_r8, & + 0.00026409474695115982_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,45) / & + 3.9778127451484783e-06_r8, 3.8718779782474375e-06_r8, & + 3.8243009239010085e-06_r8, 4.1459409627395238e-06_r8, & + 4.0781521539999543e-06_r8, 3.9784529619390284e-06_r8, & + 4.3726427255859081e-06_r8, 4.7096489163333089e-06_r8, & + 4.8174665056017711e-06_r8, 4.8341010238615088e-06_r8, & + 4.8098481252610548e-06_r8, 4.6562293298986143e-06_r8, & + 5.4353773142733572e-06_r8, 6.8787852347729334e-06_r8, & + 8.7078775763595427e-06_r8, 1.1246396294016942e-05_r8, & + 1.6762356692574125e-05_r8, 2.2191379742816953e-05_r8, & + 3.0945095284043042e-05_r8, 4.5935288607573685e-05_r8, & + 6.6192969798210371e-05_r8, 9.2079534826222843e-05_r8, & + 0.00011876114279033527_r8, 0.00014765994530925605_r8, & + 0.00017520471523568875_r8, 0.00019749840530512244_r8, & + 0.00021437012149770615_r8, 0.00024393919605509822_r8, & + 0.00026147862970940603_r8, 0.00027204972807469397_r8, & + 0.00027926632295017286_r8, 0.00028446569102210111_r8, & + 0.00028789024040241299_r8, 0.00028981789473107102_r8, & + 0.00028942918168034341_r8, 0.00028806839741318693_r8, & + 0.00028478333551249565_r8, 0.00028292219568473449_r8, & + 0.00027346725180193982_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,45) / & + 4.212198203621837e-06_r8, 4.1444483248961304e-06_r8, & + 4.0882887685765713e-06_r8, 4.233750567218166e-06_r8, & + 4.3546830895215876e-06_r8, 4.3518792361468436e-06_r8, & + 3.9962112312921287e-06_r8, 3.9893754649623381e-06_r8, & + 3.9807064484671094e-06_r8, 3.9441760045974217e-06_r8, & + 3.9902288237404631e-06_r8, 3.9746955423221863e-06_r8, & + 4.4723869927372617e-06_r8, 5.6328322277952934e-06_r8, & + 7.6643416792440426e-06_r8, 1.0557623053863701e-05_r8, & + 1.792065999623113e-05_r8, 2.6176836182114718e-05_r8, & + 3.9557398362242106e-05_r8, 6.1790232754189718e-05_r8, & + 8.7175336379068336e-05_r8, 0.00011706017964126429_r8, & + 0.00014531315546768584_r8, 0.00017056625489370256_r8, & + 0.00019567153636268231_r8, 0.00021507900494541432_r8, & + 0.00023069887222825926_r8, 0.00025899224766146836_r8, & + 0.00027641238131649809_r8, 0.00028729434479193719_r8, & + 0.00029470940627043297_r8, 0.00029924910609892687_r8, & + 0.00030238452690651494_r8, 0.00030538930954851615_r8, & + 0.00030671606930178437_r8, 0.00030519680100511129_r8, & + 0.00030079079361540039_r8, 0.00029285349186450636_r8, & + 0.00028935234451969401_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,45) / & + 5.4686666347777454e-06_r8, 5.3495306135800322e-06_r8, & + 5.0628820149783116e-06_r8, 4.1883682854334476e-06_r8, & + 4.1411104583774231e-06_r8, 4.1563784381306163e-06_r8, & + 4.683309195192651e-06_r8, 4.3571819333403658e-06_r8, & + 4.0252600088194942e-06_r8, 3.7277317160243045e-06_r8, & + 3.5853903688253779e-06_r8, 3.7159597172130008e-06_r8, & + 4.6052993683062609e-06_r8, 6.3885106900168182e-06_r8, & + 9.7555086794201096e-06_r8, 1.4445713790047356e-05_r8, & + 2.5152795670171401e-05_r8, 3.8611718174182396e-05_r8, & + 6.1763805474600848e-05_r8, 8.9952981586709276e-05_r8, & + 0.00011990975024401036_r8, 0.0001475746430928451_r8, & + 0.00017333097179145506_r8, 0.00019444773322405601_r8, & + 0.00021367210218014074_r8, 0.00023144565462936183_r8, & + 0.00024597779500478399_r8, 0.00027176880503882589_r8, & + 0.00029035025049750304_r8, 0.00030375111240653021_r8, & + 0.00031209250162298591_r8, 0.00031518182265589028_r8, & + 0.00031749418306067933_r8, 0.00032099071228227862_r8, & + 0.00032506844089913494_r8, 0.00032574632192478492_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,45) / & + 5.8436595901261459e-06_r8, 5.6734826253850044e-06_r8, & + 5.5283783774473512e-06_r8, 5.3092018366497863e-06_r8, & + 5.2665564693356547e-06_r8, 5.2575359017330483e-06_r8, & + 5.4924507639118231e-06_r8, 5.2949329623661374e-06_r8, & + 4.90414276104917e-06_r8, 4.2307557072833958e-06_r8, & + 3.9808041287709522e-06_r8, 4.7692209778022039e-06_r8, & + 7.8481544530930783e-06_r8, 1.2580669928572277e-05_r8, & + 1.9879536908785996e-05_r8, 2.820060752334541e-05_r8, & + 4.2484742698939081e-05_r8, 6.2409761411982297e-05_r8, & + 9.0733149401683096e-05_r8, 0.00011903124631877074_r8, & + 0.00014854638990357383_r8, 0.00017384881914578191_r8, & + 0.00019602108356089946_r8, 0.00021562969664747959_r8, & + 0.00023303853291430481_r8, 0.00025152352344476537_r8, & + 0.00026511741966826546_r8, 0.00028967361400715675_r8, & + 0.00030940770090935398_r8, 0.00032581684344621016_r8, & + 0.00033648725348848493_r8, 0.00034299201959083045_r8, & + 0.00035176933950167551_r8, 0.00036400037064656396_r8, & + 0.00036373998937868973_r8, 0.00036113764505931801_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,45) / & + 6.3720195602093035e-06_r8, 6.1698860288287012e-06_r8, & + 6.0182871639681152e-06_r8, 5.5682971785845064e-06_r8, & + 5.5427152165172598e-06_r8, 5.3993096418746071e-06_r8, & + 5.8415786349273743e-06_r8, 5.7962938653662494e-06_r8, & + 5.7653838862991484e-06_r8, 5.6279241698907465e-06_r8, & + 5.8739189350039205e-06_r8, 8.2197535742455752e-06_r8, & + 1.6814473030983387e-05_r8, 2.8491631961999064e-05_r8, & + 4.0762629455303067e-05_r8, 5.2586596531632333e-05_r8, & + 7.2084171370795955e-05_r8, 9.6861712202418195e-05_r8, & + 0.00012206533167241241_r8, 0.0001471210780990575_r8, & + 0.00017219535213451094_r8, 0.00019416154492927075_r8, & + 0.00021433321888925179_r8, 0.00023384661724140115_r8, & + 0.00025515196095440466_r8, 0.00027453228320354771_r8, & + 0.00028779774744745371_r8, 0.00031543047916052127_r8, & + 0.00033702106928683285_r8, 0.00035346593702164015_r8, & + 0.00036701847250140821_r8, 0.00037513920126487865_r8, & + 0.00038021708700782517_r8, 0.00038087588777807553_r8, & + 0.00037732130666191636_r8, 0.00037003956454799121_r8, & + 0.0003595336951631981_r8, 0.00034842542130039488_r8, & + 0.00034179187345520474_r8, 0.00034024974712587022_r8, & + 0.00034044822014967576_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,45) / & + 6.5278669775931786e-06_r8, 6.2436753641358463e-06_r8, & + 6.114040244570631e-06_r8, 5.7143243459693625e-06_r8, & + 5.7056896145594679e-06_r8, 5.5625838375503313e-06_r8, & + 5.9852509683315686e-06_r8, 6.0828329955214309e-06_r8, & + 6.2957578854998142e-06_r8, 6.8805790450470153e-06_r8, & + 8.881074083660549e-06_r8, 1.587657748891869e-05_r8, & + 3.4093450905225125e-05_r8, 5.1510613655749804e-05_r8, & + 6.6189169124439306e-05_r8, 7.8270716729619022e-05_r8, & + 9.7915323018963547e-05_r8, 0.00011979099011809884_r8, & + 0.00014553572754295386_r8, 0.00017008999041601526_r8, & + 0.00019390061325332063_r8, 0.00021819656802526429_r8, & + 0.00023989345698914848_r8, 0.00025947296828579455_r8, & + 0.00028292139955324362_r8, 0.000301845681442802_r8, & + 0.00031615934785380868_r8, 0.00034615023019487682_r8, & + 0.00036801513803276297_r8, 0.00038353242864935658_r8, & + 0.00039400507573459433_r8, 0.00039940924792176248_r8, & + 0.00039980542067076291_r8, 0.00039914493746014617_r8, & + 0.00039632093006076384_r8, 0.00039036819620826121_r8, & + 0.00038031659252372064_r8, 0.00036717713334088765_r8, & + 0.00035764282015444856_r8, 0.00035452760688587542_r8, & + 0.00035309638391953522_r8, 0.0003532364481073546_r8, & + 0.00035431487134410575_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,45) / & + 6.7054287080047914e-06_r8, 6.5451353098580405e-06_r8, & + 6.4998700782368646e-06_r8, 6.426505075381868e-06_r8, & + 6.4792779011354187e-06_r8, 6.5401937659449489e-06_r8, & + 7.0176145389705553e-06_r8, 7.6412950833285879e-06_r8, & + 8.6953254199040861e-06_r8, 1.0681030546777295e-05_r8, & + 1.6904742716681342e-05_r8, 2.727812637422311e-05_r8, & + 4.6181738843754912e-05_r8, 6.2552133472713872e-05_r8, & + 7.603533889418607e-05_r8, 8.764068324556262e-05_r8, & + 0.00010971973514959362_r8, 0.00013925601306706288_r8, & + 0.00016832773902393508_r8, 0.00019073423251642185_r8, & + 0.00021527530459026313_r8, 0.00024101834371094332_r8, & + 0.00026407284803138379_r8, 0.00028408157895037022_r8, & + 0.00030741537504789054_r8, 0.00032698808044169514_r8, & + 0.00034199864338916024_r8, 0.00037347839421561865_r8, & + 0.00039778723126878367_r8, 0.00041175445101117628_r8, & + 0.00041962116523214346_r8, 0.00042335010934470361_r8, & + 0.00042263371726834878_r8, 0.00042068842838685822_r8, & + 0.00041631622218631748_r8, 0.00041031397219304074_r8, & + 0.00040106122286984977_r8, 0.00038814711611351408_r8, & + 0.00037582456710863715_r8, 0.00037036631397778064_r8, & + 0.00036747418766106948_r8, 0.00036856429134736869_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,45) / & + 6.6906743916142887e-06_r8, 6.6705378746735977e-06_r8, & + 6.7529185928653075e-06_r8, 6.8916970217292934e-06_r8, & + 6.9301488014527309e-06_r8, 7.0036416793262579e-06_r8, & + 7.9668786937472851e-06_r8, 1.0532850620081406e-05_r8, & + 1.4791190514779619e-05_r8, 1.9980394492017908e-05_r8, & + 3.0580974332058159e-05_r8, 4.7363822892445442e-05_r8, & + 6.5860377230197406e-05_r8, 7.9111614942976107e-05_r8, & + 8.9092564128998039e-05_r8, 9.9981564754594168e-05_r8, & + 0.00012606459249310336_r8, 0.00015936591467900972_r8, & + 0.00018998035601977111_r8, 0.00021258755222377458_r8, & + 0.00023673717721991558_r8, 0.00026351303812077834_r8, & + 0.00028946246660277669_r8, 0.00031274522426072871_r8, & + 0.00033389153064369262_r8, 0.00035235286437844518_r8, & + 0.00036775441923911546_r8, 0.00039783954338004792_r8, & + 0.00042128417841559216_r8, 0.00043618957112343437_r8, & + 0.00044372189354448819_r8, 0.00044679518083279285_r8, & + 0.00044558533660629305_r8, 0.00044250400248648604_r8, & + 0.00043782926550891139_r8, 0.0004300337321979677_r8, & + 0.00041837002417500417_r8, 0.00040437271301728542_r8, & + 0.0003926242983930131_r8, 0.00038816470742387353_r8, & + 0.00038513836422738831_r8, 0.00038434331407766155_r8, & + 0.00038423930025229105_r8, 0.00038372208054339863_r8, 9e90_r8 & + / +data saar_ref(:,24,45) / & + 6.6934821636065477e-06_r8, 6.6529447967051538e-06_r8, & + 6.7252175761424597e-06_r8, 7.0370675048994268e-06_r8, & + 7.0739238209412058e-06_r8, 6.8834266534846443e-06_r8, & + 8.1630110767030835e-06_r8, 1.303836533694386e-05_r8, & + 2.2022700236949842e-05_r8, 3.4188909142475555e-05_r8, & + 5.1209520482414164e-05_r8, 7.6734224908541946e-05_r8, & + 9.6983649031167463e-05_r8, 0.00010805782700289799_r8, & + 0.00011422080835480127_r8, 0.00012328780044183757_r8, & + 0.00014833225013110803_r8, 0.00017944425558099385_r8, & + 0.00021099440938647743_r8, 0.00023863608253404031_r8, & + 0.00026473840331412286_r8, 0.00029142211145985768_r8, & + 0.00031697470581698247_r8, 0.00034110609275019634_r8, & + 0.00036057988326404131_r8, 0.00037893024332163772_r8, & + 0.00039587345658410807_r8, 0.0004244976120309657_r8, & + 0.00044850058130975305_r8, 0.00046198669618806066_r8, & + 0.00046939466820471724_r8, 0.00047141626142584717_r8, & + 0.00046981333761144978_r8, 0.00046578974301697649_r8, & + 0.00046027727114838536_r8, 0.00045040845402219074_r8, & + 0.00043660368119921214_r8, 0.00042241275930235238_r8, & + 0.00041139870298030829_r8, 0.00040630308441341409_r8, & + 0.00040406761819701314_r8, 0.0004025458736186507_r8, & + 0.00039915222978971292_r8, 0.00039718781006817814_r8, & + 0.00039568888345368754_r8 & + / +data saar_ref(:,25,45) / & + 7.5088525542837068e-06_r8, 7.4802195388375203e-06_r8, & + 7.4649331083844163e-06_r8, 7.5671841260352192e-06_r8, & + 7.5777963165096507e-06_r8, 7.2231214945299798e-06_r8, & + 8.5377078693306936e-06_r8, 1.0891144818161587e-05_r8, & + 1.6420603522804979e-05_r8, 2.5849399149285248e-05_r8, & + 4.0156608164706739e-05_r8, 6.0768177266086451e-05_r8, & + 9.122849179871742e-05_r8, 0.00011027865713058212_r8, & + 0.00012253383673991114_r8, 0.00013477946722855973_r8, & + 0.00016464502111398504_r8, 0.00019509154680710073_r8, & + 0.00022636552942084266_r8, 0.00025710846699443361_r8, & + 0.00028496167865040993_r8, 0.00031374856788737935_r8, & + 0.00033878878439962281_r8, 0.00036339094816919008_r8, & + 0.00038311758374661017_r8, 0.00040203950216136439_r8, & + 0.00042036788633047337_r8, 0.00045095399091048624_r8, & + 0.00047510277353757783_r8, 0.00048699930012385774_r8, & + 0.00049486355142679985_r8, 0.00049690777171100791_r8, & + 0.0004971780618625121_r8, 0.00049279866267595797_r8, & + 0.00048660709852888965_r8, 0.00047490390778699292_r8, & + 0.00046061787121213805_r8, 0.00044555805748444004_r8, & + 0.00043285565483857486_r8, 0.00042506138871388764_r8, & + 0.00042224215904035356_r8, 0.00042140996983069799_r8, & + 0.00041892950748368963_r8, 0.00041635400811844945_r8, & + 0.00041173190225611659_r8 & + / +data saar_ref(:,26,45) / & + 8.568221461092486e-06_r8, 8.4825673646810065e-06_r8, & + 8.3708346187299878e-06_r8, 7.9684865197907264e-06_r8, & + 7.9733809740643275e-06_r8, 7.8611648183868131e-06_r8, & + 8.2415255791610111e-06_r8, 7.9607065316254702e-06_r8, & + 7.7925547080559653e-06_r8, 9.7183075517001453e-06_r8, & + 1.3559690198775733e-05_r8, 2.2002844321065473e-05_r8, & + 4.4749043429753542e-05_r8, 7.6682152552252347e-05_r8, & + 0.00010369733092340587_r8, 0.0001294312344946813_r8, & + 0.00017603113232788077_r8, 0.00021325504210584434_r8, & + 0.0002441553637900278_r8, 0.00027435539508958794_r8, & + 0.00030159753965316283_r8, 0.00033077688935921265_r8, & + 0.00036081503062410141_r8, 0.00038513398746700016_r8, & + 0.00040467232297182584_r8, 0.00042487527933842155_r8, & + 0.00044206375189826855_r8, 0.0004742507625464399_r8, & + 0.00049569927169534542_r8, 0.00050814169184297011_r8, & + 0.00051472614819078806_r8, 0.00051774792720013074_r8, & + 0.00051929805382420016_r8, 0.00051612896543115204_r8, & + 0.00051113364006895757_r8, 0.00050215115177114171_r8, & + 0.00048948395659957156_r8, 0.00047271792511390117_r8, & + 0.00045654551173635396_r8, 0.0004445138806945499_r8, & + 0.00043859116799148195_r8, 0.00043794580671672388_r8, & + 0.00043477310017806599_r8, 0.00042908044681447635_r8, 9e90_r8 & + / +data saar_ref(:,27,45) / & + 8.726625394232414e-06_r8, 8.4456507327794777e-06_r8, & + 8.1846738515142556e-06_r8, 7.953981897771173e-06_r8, & + 7.9183398356486992e-06_r8, 7.8700787429405899e-06_r8, & + 7.4803374509887597e-06_r8, 7.1139278811305528e-06_r8, & + 7.1403523727375098e-06_r8, 7.971741746507642e-06_r8, & + 9.4362248692861632e-06_r8, 1.3369096753293596e-05_r8, & + 2.2171149640862535e-05_r8, 4.0006802718520034e-05_r8, & + 6.3546336522358188e-05_r8, 9.3851008963333852e-05_r8, & + 0.00015754299725447926_r8, 0.00022326191375469923_r8, & + 0.0002678779843397264_r8, 0.00030008865267926757_r8, & + 0.00033056547740447425_r8, 0.00036293933988386032_r8, & + 0.00039078375739433119_r8, 0.0004133944737447821_r8, & + 0.00043242743870624146_r8, 0.00045234384080997282_r8, & + 0.00046832611910768512_r8, 0.00049902620686501076_r8, & + 0.00051883097731285962_r8, 0.0005294959150945192_r8, & + 0.0005347505999911006_r8, 0.00053607088980651746_r8, & + 0.00053527036819591984_r8, 0.00053153822463075813_r8, & + 0.00052618334507041186_r8, 0.00051900777805680186_r8, & + 0.00051012288718619517_r8, 0.00049786274191352135_r8, & + 0.00048332591920182164_r8, 0.00046311764349035381_r8, & + 0.00045582855691685576_r8, 0.00045286318044138191_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,45) / & + 8.1057845526376619e-06_r8, 7.8049080857881277e-06_r8, & + 7.5767529836323298e-06_r8, 7.8710957367016691e-06_r8, & + 7.9542695148808503e-06_r8, 7.8880010336626571e-06_r8, & + 7.8870288090151516e-06_r8, 8.1835388805795781e-06_r8, & + 8.5189497009459284e-06_r8, 9.4938762265274896e-06_r8, & + 1.1557735372715415e-05_r8, 1.4633386625414449e-05_r8, & + 2.1992132157741153e-05_r8, 3.2881788253398344e-05_r8, & + 4.7054917995634777e-05_r8, 6.664626695597764e-05_r8, & + 0.00012367513126017706_r8, 0.00020620582784595175_r8, & + 0.00027770071875677423_r8, 0.00033039257624893105_r8, & + 0.00037120331962276301_r8, 0.00040291958420624226_r8, & + 0.00042524429049986692_r8, 0.00044633695739608269_r8, & + 0.00046316255462418006_r8, 0.0004797432559208259_r8, & + 0.00049490017747368662_r8, 0.00052390769235040248_r8, & + 0.00054326097790825974_r8, 0.00055042888288640509_r8, & + 0.0005537530918221955_r8, 0.00055354420751556918_r8, & + 0.00055066591849707667_r8, 0.00054525003387018351_r8, & + 0.00053801270851681633_r8, 0.00052956336300506376_r8, & + 0.00052041998548757299_r8, 0.00051095865453093081_r8, & + 0.0004995011848994257_r8, 0.00048924896628116767_r8, & + 0.00048178859198792654_r8, 0.00047639357186962498_r8, & + 0.00047197609683774354_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,45) / & + 8.5966551772772573e-06_r8, 8.6169941887774716e-06_r8, & + 8.6718224708355905e-06_r8, 9.2180975712901254e-06_r8, & + 9.5334048271592285e-06_r8, 9.6672289562100319e-06_r8, & + 8.9179519278308807e-06_r8, 9.364529263693431e-06_r8, & + 9.9813277033936991e-06_r8, 1.1545481169904211e-05_r8, & + 1.4045343426361602e-05_r8, 1.7051478668452077e-05_r8, & + 2.3960208549377814e-05_r8, 3.2732585891263915e-05_r8, & + 4.3028735298526787e-05_r8, 5.7207608599966541e-05_r8, & + 0.00010276474863779735_r8, 0.00017594167243650965_r8, & + 0.00026195920767024567_r8, 0.00033992761797909738_r8, & + 0.00039650559069834171_r8, 0.00043511295869371727_r8, & + 0.00046115712052749029_r8, 0.00048467513937681646_r8, & + 0.00050250865377793092_r8, 0.00051895594516723027_r8, & + 0.00053323803924031543_r8, 0.00055979009443697799_r8, & + 0.00057374151371374711_r8, 0.0005770882821852435_r8, & + 0.00057785347967260017_r8, 0.00057609052179777894_r8, & + 0.00057289383124161893_r8, 0.00056586708695364714_r8, & + 0.00055866110905176904_r8, 0.00055170235387240702_r8, & + 0.00054357497337544677_r8, 0.00053377021347889172_r8, & + 0.00052354497639290395_r8, 0.00051175674541512463_r8, & + 0.00050487273861236676_r8, 0.00049354527421696247_r8, & + 0.00048629480787914364_r8, 0.00048255362842180801_r8, & + 0.00048105450696450989_r8 & + / +data saar_ref(:,30,45) / & + 9.2539458419327461e-06_r8, 9.8916570915705749e-06_r8, & + 1.0475340305390069e-05_r8, 1.2249541352901845e-05_r8, & + 1.2650437003901472e-05_r8, 1.2724153390325512e-05_r8, & + 1.1403489991638429e-05_r8, 1.2035392695114183e-05_r8, & + 1.4423864827603442e-05_r8, 1.7256945653370384e-05_r8, & + 2.0457939756597675e-05_r8, 2.430596317030872e-05_r8, & + 3.1804357201082083e-05_r8, 4.0196453588235629e-05_r8, & + 5.1043393064215574e-05_r8, 6.3676466001875249e-05_r8, & + 0.00010961226825748879_r8, 0.00017868597477030393_r8, & + 0.00026352506862986635_r8, 0.00034904134834607212_r8, & + 0.00041485989740668185_r8, 0.00046098460845525108_r8, & + 0.00049280304628766412_r8, 0.00052172127039403166_r8, & + 0.00054361464802434099_r8, 0.00056261483813829284_r8, & + 0.00057874297377025858_r8, 0.00060246642931666887_r8, & + 0.00061429243380240622_r8, 0.00061434284899978099_r8, & + 0.00061252487662594244_r8, 0.00060822380016841511_r8, & + 0.00060359816233057_r8, 0.00059482491060412908_r8, & + 0.00058718771647893551_r8, 0.00058144199498141402_r8, & + 0.00057529388443689627_r8, 0.00056873032608330504_r8, & + 0.00055931163228815483_r8, 0.00054804506105433177_r8, & + 0.00054214614435969409_r8, 0.00052406674268277748_r8, & + 0.00050020595407605621_r8, 0.000495182531751996_r8, 9e90_r8 & + / +data saar_ref(:,31,45) / & + 1.1878561447277174e-05_r8, 1.2872227392631903e-05_r8, & + 1.3939711243273276e-05_r8, 1.3613871468921122e-05_r8, & + 1.3757819436883093e-05_r8, 1.3910649493157503e-05_r8, & + 1.6235146653475862e-05_r8, 2.1941815517941001e-05_r8, & + 2.6472456544625374e-05_r8, 2.9863907223338186e-05_r8, & + 3.3149685291176789e-05_r8, 3.7105821136743627e-05_r8, & + 4.4332313231222632e-05_r8, 5.3304725137565123e-05_r8, & + 6.6898850652083477e-05_r8, 8.4568135826720037e-05_r8, & + 0.00014504770537783054_r8, 0.00021632556840585433_r8, & + 0.00030065632625905065_r8, 0.00037997493153260408_r8, & + 0.00044209452741195859_r8, 0.0004859786992122419_r8, & + 0.00051991405537820474_r8, 0.0005492086944703298_r8, & + 0.00057383827502277313_r8, 0.00059478740452443949_r8, & + 0.00061028287585546245_r8, 0.0006308202585825996_r8, & + 0.00064212289504448413_r8, 0.00064176358078204653_r8, & + 0.00063662789638527196_r8, 0.00063199611748778839_r8, & + 0.00062474757102409383_r8, 0.00061498972353685698_r8, & + 0.00060789417004617407_r8, 0.00060214343836822049_r8, & + 0.00059650986645995582_r8, 0.00059226128298841706_r8, & + 0.00058589060824261658_r8, 0.00057591258130354657_r8, & + 0.0005643846360566439_r8, 0.00055241163128599553_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,32,45) / & + 2.5762048939186645e-05_r8, 2.666267985559762e-05_r8, & + 2.7594691473534644e-05_r8, 2.5880235230203347e-05_r8, & + 2.6405224025231436e-05_r8, 3.0358620188086599e-05_r8, & + 3.8231882686130331e-05_r8, 4.5761523412356986e-05_r8, & + 5.1471487741736609e-05_r8, 5.5818380069113619e-05_r8, & + 5.9903697131069836e-05_r8, 6.5173308281469397e-05_r8, & + 7.8890082498877425e-05_r8, 9.5406248068444625e-05_r8, & + 0.00011647059987239435_r8, 0.00014345345720960393_r8, & + 0.00021779384496282839_r8, 0.00029213764752227136_r8, & + 0.00036111661242862407_r8, 0.00043054451956843406_r8, & + 0.00048070920251807659_r8, 0.0005188112525106813_r8, & + 0.00054784506878412069_r8, 0.0005739383987326133_r8, & + 0.00059677941759532656_r8, 0.00061796073417687281_r8, & + 0.00063441022849485451_r8, 0.00065354293662990472_r8, & + 0.00066508904294474108_r8, 0.00066696236065890931_r8, & + 0.00065977842000228249_r8, 0.00065503875258714509_r8, & + 0.0006438497201708425_r8, 0.00063432541475514433_r8, & + 0.00062687650719900042_r8, 0.00062155412660410206_r8, & + 0.00061800470382414568_r8, 0.00061681902375079181_r8, & + 0.00061727174978681203_r8, 0.00061597157094707552_r8, & + 0.00061385850845872695_r8, 0.0006131316918689064_r8, & + 0.00060416926808935713_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,45) / & + 6.2218052987511818e-05_r8, 6.2947370398929931e-05_r8, & + 6.3454822190817646e-05_r8, 6.8635528224694694e-05_r8, & + 7.3467140653610009e-05_r8, 7.7033364279254892e-05_r8, & + 8.3886459902149081e-05_r8, 9.4928919809385338e-05_r8, & + 0.00010169566917598141_r8, 0.00010865507367946975_r8, & + 0.00011739335841315126_r8, 0.00012689560867727855_r8, & + 0.00015127514735065458_r8, 0.00018396898121633039_r8, & + 0.00021894250088560119_r8, 0.00025623772364584288_r8, & + 0.00033161163444024464_r8, 0.00039946304443716675_r8, & + 0.00045561516337490386_r8, 0.00050086374229550137_r8, & + 0.00053684807710413008_r8, 0.00056757574667799435_r8, & + 0.00059204376552209157_r8, 0.00061326967665763937_r8, & + 0.00063143853897252753_r8, 0.00064797938201910539_r8, & + 0.0006604664645276999_r8, 0.00067820353720020137_r8, & + 0.00068821644801891847_r8, 0.00068985923217794259_r8, & + 0.00068447484487823716_r8, 0.00067614252046890356_r8, & + 0.00066653842950954972_r8, 0.00065652557127213065_r8, & + 0.00064782819475431514_r8, 0.00064170646435967693_r8, & + 0.00063789138860503121_r8, 0.00063698055199672208_r8, & + 0.0006387348779291343_r8, 0.00064005930415198789_r8, & + 0.00063950026939944957_r8, 0.00063949315657683698_r8, & + 0.00063305748544959981_r8, 0.00063699043147426619_r8, & + 0.0006315536339847541_r8 & + / +data saar_ref(:,34,45) / & + 8.8186496365987347e-05_r8, 9.1490963516210712e-05_r8, & + 9.5580085861610292e-05_r8, 0.00011725766206442069_r8, & + 0.00012688300877351452_r8, 0.00013425023145732716_r8, & + 0.00014394398593332644_r8, 0.00016344306314777679_r8, & + 0.00018143932438848855_r8, 0.00022005148204359067_r8, & + 0.000251095022259622_r8, 0.00028008581958460403_r8, & + 0.00030878544433187642_r8, 0.00034587109875067651_r8, & + 0.00037957996740523741_r8, 0.00041358848632560766_r8, & + 0.00047009251444246738_r8, 0.00051614978472960859_r8, & + 0.00055217221722331884_r8, 0.00058229549344344304_r8, & + 0.00060843507039173232_r8, 0.00063205112960287998_r8, & + 0.00065082273442213922_r8, 0.00066625211163318814_r8, & + 0.00067851172214606573_r8, 0.00068899567472246331_r8, & + 0.00069720527860437287_r8, 0.00070933697859530145_r8, & + 0.00071329147172568034_r8, 0.00071248694171169736_r8, & + 0.00070626890451891411_r8, 0.00069736192314574395_r8, & + 0.00068763731990252488_r8, 0.00067765866646857915_r8, & + 0.000669223221365378_r8, 0.0006621591300512089_r8, & + 0.00065762235469597058_r8, 0.00065640553569104262_r8, & + 0.00065779190593090746_r8, 0.00065863177815799769_r8, & + 0.00065822773382448409_r8, 0.00065814285731420987_r8, & + 0.00065453529743731288_r8, 0.00065455251288378858_r8, & + 0.00064349012548389512_r8 & + / +data saar_ref(:,35,45) / & + 0.00010406053068182551_r8, 0.00011352048705337572_r8, & + 0.00012105485169886814_r8, 0.00015548483591987149_r8, & + 0.00017008585717238011_r8, 0.00018783003360944977_r8, & + 0.00020753975696481388_r8, 0.00023352170061809562_r8, & + 0.00027204329905770153_r8, 0.00032618436797416078_r8, & + 0.00035706419310953415_r8, 0.00038850162469061675_r8, & + 0.00040973237750091031_r8, 0.0004409915570601137_r8, & + 0.00046879841161738387_r8, 0.00049547966770491366_r8, & + 0.00053654288314415371_r8, 0.00056761426994216262_r8, & + 0.00059502508186429638_r8, 0.00062016881341932738_r8, & + 0.00064225496774400817_r8, 0.00066212192753213595_r8, & + 0.00067904976874331145_r8, 0.00069430033427494661_r8, & + 0.00070561432932010333_r8, 0.00071456091004171304_r8, & + 0.00072114288332528187_r8, 0.00073058593078937728_r8, & + 0.0007335452309745207_r8, 0.0007333788229718155_r8, & + 0.00072841066770387166_r8, 0.00071868606837168468_r8, & + 0.00070701064382074433_r8, 0.00069652257081186716_r8, & + 0.00068842762399226219_r8, 0.00067993977013815579_r8, & + 0.00067259799655670959_r8, 0.00067042368269449313_r8, & + 0.00066772778497944333_r8, 0.00066451607898174051_r8, & + 0.00066344222778765016_r8, 0.00065986440957650978_r8, & + 0.00065096449641824101_r8, 0.00063736427139261614_r8, & + 0.00063591362924167926_r8 & + / +data saar_ref(:,36,45) / & + 0.00011541333157378954_r8, 0.00013620175485763418_r8, & + 0.00013867642702035233_r8, 0.00017677179011620645_r8, & + 0.00020983839085255638_r8, 0.0002331275182846226_r8, & + 0.00026978236340545551_r8, 0.00028708553416326892_r8, & + 0.00030215234375594632_r8, 0.00032951006656306358_r8, & + 0.00035729795335483623_r8, 0.00036689635850128239_r8, & + 0.00039569263991624093_r8, 0.00043189472315501113_r8, & + 0.00046215626582232154_r8, 0.00048926702543450806_r8, & + 0.00053069822640747558_r8, 0.00055487895225580261_r8, & + 0.00057985098149471745_r8, 0.00060507955320546821_r8, & + 0.00063655507469155841_r8, 0.00066147509908063271_r8, & + 0.00068319570425771827_r8, 0.00070429503462485861_r8, & + 0.0007207892363205843_r8, 0.00073456378086042562_r8, & + 0.00072981181210632882_r8, 0.0007413111374651168_r8, & + 0.00075055941769812439_r8, 0.00075274223528246792_r8, & + 0.0007497731986940339_r8, 0.00074643375748464859_r8, & + 0.00074108455689811674_r8, 0.00073552276546626249_r8, & + 0.0007301614949044565_r8, 0.00072202008592029202_r8, & + 0.00069318498115234569_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,45) / & + 8.5316781739192457e-05_r8, 0.00010452762009393803_r8, & + 0.00010391238027094692_r8, 0.00015864826499672579_r8, & + 0.00018545736197775261_r8, 0.00022097338222263718_r8, & + 0.00029071375919356013_r8, 0.00029278363934170541_r8, & + 0.00028995318505112863_r8, 0.00030482807914070082_r8, & + 0.0003338032371896641_r8, 0.00034378919604280232_r8, & + 0.00037974163518434475_r8, 0.00042546415113289457_r8, & + 0.00046509630243952819_r8, 0.00049782670290955764_r8, & + 0.00054539949901006668_r8, 0.00057248904068103799_r8, & + 0.00059648769989365143_r8, 0.00062115769546396366_r8, & + 0.0006506499341171622_r8, 0.00068422526884313721_r8, & + 0.00071106416368208239_r8, 0.00073501788547133777_r8, & + 0.00075102863641553653_r8, 0.00076604331768562487_r8, & + 0.00075457907233328846_r8, 0.00075991872479244562_r8, & + 0.00076941998174629507_r8, 0.00077079449220534722_r8, & + 0.00076756950137805676_r8, 0.00076507399215345869_r8, & + 0.00076079522357877386_r8, 0.00075692919953934971_r8, & + 0.00075220236566172138_r8, 0.00074455719856149295_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,45) / & + 4.7295843862032809e-05_r8, 6.1324908358240254e-05_r8, & + 6.5990036842609228e-05_r8, 0.00013032324634951322_r8, & + 0.00015752801497023608_r8, 0.00020740339989704318_r8, & + 0.00029604347870503016_r8, 0.00028635786275774144_r8, & + 0.00028131439224715024_r8, 0.00029076941509382327_r8, & + 0.00031001245177745759_r8, 0.00032499142377508583_r8, & + 0.00035679558286462557_r8, 0.00040670032644788529_r8, & + 0.00045162411783140969_r8, 0.000491752474992178_r8, & + 0.00055253621837933595_r8, 0.00058739141687801934_r8, & + 0.00061514286253318458_r8, 0.0006374386480743116_r8, & + 0.00066179182221335698_r8, 0.00070229256554794623_r8, & + 0.00073137732036531323_r8, 0.00075748143859327688_r8, & + 0.00077538763487832428_r8, 0.00079160999553768688_r8, & + 0.00077893129880172594_r8, 0.00077935114132983581_r8, & + 0.00078887731761088432_r8, 0.00078896828100645674_r8, & + 0.00078565523272298131_r8, 0.00078281225612785517_r8, & + 0.00077864660059098452_r8, 0.00077523096291027931_r8, & + 0.00077077262105940234_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,45) / & + 2.6012232911175319e-05_r8, 3.8798358108063267e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,45) / & + 8.2220859578524647e-05_r8, 7.3753716784252934e-05_r8, & + 0.00010273039688658526_r8, 0.0001319494871150969_r8, & + 0.0001695658155467909_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,45) / & + 0.00011814088652713568_r8, 0.00010880847023998772_r8, & + 0.00012295269578948246_r8, 0.0001197528233988141_r8, & + 0.00019828438398590464_r8, 0.00027660327113757127_r8, & + 0.00032527000673967941_r8, 0.00042000804336868856_r8, & + 0.00040822111273273483_r8, 0.00026191959165738828_r8, & + 0.00016204591785827889_r8, 0.00012098256006557672_r8, & + 8.8988743486537875e-05_r8, 8.654844361212796e-05_r8, & + 0.00010346931709403053_r8, 9.1926946221024359e-05_r8, & + 9.2110499294774319e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,45) / & + 0.00012748278265162035_r8, 0.00012183862104276114_r8, & + 0.00012004556670642539_r8, 0.00012987910300258929_r8, & + 0.00015362829533463522_r8, 0.00021452534178520487_r8, & + 0.00025292714671081202_r8, 0.00038000940733602244_r8, & + 0.00038949683531154007_r8, 0.00028554878665625017_r8, & + 0.00016404022359927124_r8, 0.0001127224794233353_r8, & + 7.1101707404677746e-05_r8, 7.4963101197645242e-05_r8, & + 8.6184879340273204e-05_r8, 7.8133682549974757e-05_r8, & + 7.7488490323070815e-05_r8, 7.5419504721571778e-05_r8, & + 7.5153337092963627e-05_r8, 7.6272114870816422e-05_r8, & + 7.6813544139149332e-05_r8, 7.7786549873315884e-05_r8, & + 7.8559794011012421e-05_r8, 8.1070883482529588e-05_r8, & + 8.496000755739728e-05_r8, 8.9642706539616127e-05_r8, & + 9.5522662013050496e-05_r8, 0.00010942799366149538_r8, & + 0.00010915935463845131_r8, 0.00010720735721667023_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,45) / & + 0.00010624263512160292_r8, 0.00011316260500462223_r8, & + 0.00010168369389081027_r8, 0.00013867390809069858_r8, & + 0.0001372687880435079_r8, 0.00015094386786462577_r8, & + 0.00018586016468795491_r8, 0.00029416591573870306_r8, & + 0.00024085401117656286_r8, 0.0001633782111209905_r8, & + 8.769757499823865e-05_r8, 8.4221696107351021e-05_r8, & + 6.4607457171350405e-05_r8, 7.195283687763111e-05_r8, & + 7.2686758077286791e-05_r8, 7.1223593637852965e-05_r8, & + 7.0887378780122692e-05_r8, 7.1966748409531744e-05_r8, & + 7.2685613981054962e-05_r8, 7.5070759950439855e-05_r8, & + 7.7195912395240329e-05_r8, 7.888303739214912e-05_r8, & + 8.212886514049044e-05_r8, 8.6741729378705736e-05_r8, & + 9.0081832279845093e-05_r8, 9.4890648834522549e-05_r8, & + 0.00010046240314222123_r8, 0.00011428263645867809_r8, & + 0.00011488405028077391_r8, 0.00011233954017618427_r8, & + 0.00011181387049790079_r8, 0.00011183969402286438_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,45) / & + 8.4875009618966298e-05_r8, 0.00010165090333126898_r8, & + 8.3632135210179738e-05_r8, 0.00011464885234061888_r8, & + 0.00012223655213910474_r8, 0.00013045935218561962_r8, & + 0.00015976318136481365_r8, 0.00016544512036334341_r8, & + 9.6160409899895643e-05_r8, 6.7209198100500644e-05_r8, & + 6.4455851173447025e-05_r8, 7.1428384785889167e-05_r8, & + 6.8227998946223317e-05_r8, 7.1726910924276707e-05_r8, & + 7.2343304099822223e-05_r8, 7.3288096748518885e-05_r8, & + 7.3022105955937769e-05_r8, 7.3208370470448014e-05_r8, & + 7.4697126122323692e-05_r8, 7.8564999603310473e-05_r8, & + 8.1161562353153279e-05_r8, 8.4037848583899948e-05_r8, & + 8.7849687363852257e-05_r8, 9.3518218692050764e-05_r8, & + 9.7036708709399893e-05_r8, 0.00010220306335119089_r8, & + 0.00010800667476292604_r8, 0.00011789980906223422_r8, & + 0.00012476200814690955_r8, 0.00012282472979040622_r8, & + 0.00012049315444533549_r8, 0.00012047367029435029_r8, & + 0.00011233017495079078_r8, 0.00011341363808830442_r8, & + 0.0001175523525606062_r8, 0.00011803635350257406_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,45) / & + 7.9172539623009519e-05_r8, 0.00010635859983331468_r8, & + 9.0741457523284928e-05_r8, 0.00011834749750889099_r8, & + 0.00012547299282515914_r8, 0.00013420605854446506_r8, & + 0.00012671839329069765_r8, 8.2286977305402666e-05_r8, & + 6.6817654680328891e-05_r8, 6.5486783405726781e-05_r8, & + 6.655050245990313e-05_r8, 6.896966997116612e-05_r8, & + 6.8479722581623258e-05_r8, 7.0472446336909841e-05_r8, & + 7.1817450768294687e-05_r8, 7.33177971419756e-05_r8, & + 7.34366207033637e-05_r8, 7.3758573943327551e-05_r8, & + 7.5937225628511766e-05_r8, 7.9579388567265201e-05_r8, & + 8.2432004997479331e-05_r8, 8.6175365444479928e-05_r8, & + 9.0027068266355958e-05_r8, 9.4908167029385365e-05_r8, & + 0.00010039764064846296_r8, 0.0001050931761406208_r8, & + 0.00011155071866312658_r8, 0.00012106048489818704_r8, & + 0.0001244315690989329_r8, 0.00012159312082476802_r8, & + 0.00012000714123476815_r8, 0.00012020404421053237_r8, & + 0.00011871644775010311_r8, 0.00011882757961992376_r8, & + 0.00012025508980073379_r8, 0.00012077676817832612_r8, & + 0.00012429205481492562_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,46) / & + 0.00010613607615044207_r8, 0.00010911846738790783_r8, & + 0.00012084178017223694_r8, 0.00014224283101624903_r8, & + 0.00014766978346322871_r8, 0.00015790344932164793_r8, & + 0.0001742270836666189_r8, 0.00018575295062130739_r8, & + 0.00019591019852846519_r8, 0.00020496027302350196_r8, & + 0.00021280097777273972_r8, 0.00021678349102410247_r8, & + 0.00022869441966953975_r8, 0.00023116824167636836_r8, & + 0.00022999282061996227_r8, 0.00022512622731932959_r8, & + 0.00024044984674817933_r8, 0.00024215963574971536_r8, & + 0.00022880505927525346_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,46) / & + 0.00010613607615044207_r8, 0.00010911846738790783_r8, & + 0.00012084178017223694_r8, 0.00014224283101624903_r8, & + 0.00014766978346322871_r8, 0.00015790344932164793_r8, & + 0.0001742270836666189_r8, 0.00018575295062130739_r8, & + 0.00019591019852846519_r8, 0.00020496027302350196_r8, & + 0.00021280097777273972_r8, 0.00021678349102410247_r8, & + 0.00022869441966953975_r8, 0.00023116824167636836_r8, & + 0.00022999282061996227_r8, 0.00022512622731932959_r8, & + 0.00024044984674817933_r8, 0.00024215963574971536_r8, & + 0.00022880505927525346_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,46) / & + 0.00010613607615044207_r8, 0.00010911846738790783_r8, & + 0.00012084178017223694_r8, 0.00014224283101624903_r8, & + 0.00014766978346322871_r8, 0.00015790344932164793_r8, & + 0.0001742270836666189_r8, 0.00018575295062130739_r8, & + 0.00019591019852846519_r8, 0.00020496027302350196_r8, & + 0.00021280097777273972_r8, 0.00021678349102410247_r8, & + 0.00022869441966953975_r8, 0.00023116824167636836_r8, & + 0.00022999282061996227_r8, 0.00022512622731932959_r8, & + 0.00024044984674817933_r8, 0.00024215963574971536_r8, & + 0.00022880505927525346_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,46) / & + 0.0001174609546285128_r8, 0.0001174622505797548_r8, & + 0.00012423147445530001_r8, 0.00013689229137948668_r8, & + 0.00014040270550909518_r8, 0.00014571315683921119_r8, & + 0.00016130868525002882_r8, 0.00017366983522495768_r8, & + 0.00018395484994328598_r8, 0.00019283137002220059_r8, & + 0.00020059401352140533_r8, 0.00020411917156777816_r8, & + 0.00021521216208965599_r8, 0.00022029131563075174_r8, & + 0.00022272589669221606_r8, 0.0002247746849947245_r8, & + 0.00023112828220529422_r8, 0.00022654308214847563_r8, & + 0.0002390124338956568_r8, 0.00024948781140327552_r8, & + 0.00025507613757745211_r8, 0.0002558266098356463_r8, & + 0.00026099866041710726_r8, 0.00026276894632165128_r8, & + 0.00026479151553045828_r8, 0.00026637715048638007_r8, & + 0.00026794529581445102_r8, 0.00027279816956475773_r8, & + 0.00027351657956351482_r8, 0.00027465195635988825_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,46) / & + 0.00013013706872530345_r8, 0.0001300164943074992_r8, & + 0.00012529111112884287_r8, 0.00013140329732032883_r8, & + 0.00013570285065127115_r8, 0.00014033605006435906_r8, & + 0.00015261037999851967_r8, 0.00016208474351971563_r8, & + 0.00016994762786112319_r8, 0.00017766596355854347_r8, & + 0.00018505199335073938_r8, 0.00019028600047424026_r8, & + 0.00019742291398175659_r8, 0.00020239971415769072_r8, & + 0.00020573420876651027_r8, 0.0002083018509827714_r8, & + 0.00021232217429896055_r8, 0.00022645642038810162_r8, & + 0.00023723111712956014_r8, 0.0002456451449956198_r8, & + 0.00025083953477063423_r8, 0.00025234069942839323_r8, & + 0.00025576730485184072_r8, 0.00025934805973687941_r8, & + 0.0002623611646250186_r8, 0.00026463366277217656_r8, & + 0.00026713986781146771_r8, 0.00027215748367401965_r8, & + 0.0002749908048184812_r8, 0.00027651396736545856_r8, & + 0.00027714705850360354_r8, 0.00027528051487189326_r8, & + 0.00027026169413089241_r8, 0.00025861046577713772_r8, & + 0.00025054050919068348_r8, 0.00024772291682879222_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,46) / & + 0.00010691428437538964_r8, 0.00010689869716261651_r8, & + 9.5951455555354321e-05_r8, 9.9125826568180665e-05_r8, & + 9.9445556036280029e-05_r8, 0.00010342439082625033_r8, & + 0.00012642228611911595_r8, 0.00013983640550435122_r8, & + 0.00015130761189288341_r8, 0.00016234702911377877_r8, & + 0.00016693547509621801_r8, 0.00017095944594276588_r8, & + 0.00017810324253626322_r8, 0.0001841116779049765_r8, & + 0.00018903894688345412_r8, 0.00019265207227703464_r8, & + 0.00019856980784343191_r8, 0.00020550165605834537_r8, & + 0.0002104740230631605_r8, 0.00021524128282386629_r8, & + 0.00022007318992422578_r8, 0.00022524246228457359_r8, & + 0.00022978119361183953_r8, 0.00023470383239912641_r8, & + 0.00023899714813020029_r8, 0.00024360897459606301_r8, & + 0.00024755734874045007_r8, 0.00025668104417832591_r8, & + 0.00026417925043747736_r8, 0.00026951960347179702_r8, & + 0.00027286951139515926_r8, 0.00027336839461744713_r8, & + 0.00027051938262979199_r8, 0.00026099103019611251_r8, & + 0.00025316697888528206_r8, 0.00025535237891821601_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,46) / & + 4.6331090437239485e-05_r8, 4.6112791876722006e-05_r8, & + 3.8159743424504931e-05_r8, 3.8415869680474694e-05_r8, & + 3.4511330671971713e-05_r8, 3.0336181059677592e-05_r8, & + 4.0404179861854632e-05_r8, 5.4284809939234263e-05_r8, & + 6.5629349386072053e-05_r8, 8.3213476746311568e-05_r8, & + 8.7489150391812341e-05_r8, 8.9878878636894032e-05_r8, & + 9.6723452410887753e-05_r8, 0.00010815472234222469_r8, & + 0.0001208755466281301_r8, 0.00013020465049138087_r8, & + 0.00014404585485837425_r8, 0.0001550967041370879_r8, & + 0.00016370423466620322_r8, 0.00017017834280639218_r8, & + 0.00017608702429971871_r8, 0.00018125230203621851_r8, & + 0.00018420284684250035_r8, 0.00018888677310369085_r8, & + 0.00019296910859848597_r8, 0.00019743029580750993_r8, & + 0.00020177855554762554_r8, 0.00021342255864185489_r8, & + 0.00022442114616021_r8, 0.00023485886635559423_r8, & + 0.00024509518076867685_r8, 0.00025409425149191341_r8, & + 0.00026130460402636849_r8, 0.00026702256778008776_r8, & + 0.00026987722791465212_r8, 0.00027115935449336601_r8, & + 0.00027333411284057198_r8, 0.0002736918223749984_r8, & + 0.00027498815642119592_r8, 0.00027571230316946854_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,46) / & + 8.3840438093064782e-06_r8, 8.0806455082722674e-06_r8, & + 8.3245953337564646e-06_r8, 1.0956653414577866e-05_r8, & + 9.5485154922371049e-06_r8, 9.1287665849164469e-06_r8, & + 1.0787273178332313e-05_r8, 1.3689929405974089e-05_r8, & + 1.6455269536984018e-05_r8, 2.2415408026225713e-05_r8, & + 2.4958812823204208e-05_r8, 2.9982307977115434e-05_r8, & + 3.7313638171464797e-05_r8, 4.5059952077378622e-05_r8, & + 5.5751129393753025e-05_r8, 6.6101678565071533e-05_r8, & + 8.6159776592499468e-05_r8, 0.00010470256665438638_r8, & + 0.00012056655181709443_r8, 0.00013475930887941375_r8, & + 0.00014658841692797461_r8, 0.00015646301213627825_r8, & + 0.00016228949407746802_r8, 0.0001675987659403938_r8, & + 0.00017241117683583417_r8, 0.00017683302859418848_r8, & + 0.00018099729128342307_r8, 0.0001901173299458194_r8, & + 0.00020020472798589257_r8, 0.00021088560546122373_r8, & + 0.00022272280253547144_r8, 0.00023409141960207394_r8, & + 0.00024276337158224886_r8, 0.00025155061931692838_r8, & + 0.00025863241572928586_r8, 0.00026374395370214356_r8, & + 0.0002688819595083236_r8, 0.00027118040880346226_r8, & + 0.00027324913957957884_r8, 0.00027432749596766108_r8, & + 0.00027620275279099401_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,46) / & + 2.9353402997172534e-06_r8, 3.6816294777787148e-06_r8, & + 3.5558033152202368e-06_r8, 6.5575721936058199e-06_r8, & + 6.7130778607297755e-06_r8, 7.2605953425910687e-06_r8, & + 7.0169170410676381e-06_r8, 8.262261684288928e-06_r8, & + 8.7086787450957677e-06_r8, 1.0263100307138536e-05_r8, & + 1.1637270941270471e-05_r8, 1.4666504195078905e-05_r8, & + 1.8607630153957752e-05_r8, 2.1310769174490828e-05_r8, & + 2.4721569855510062e-05_r8, 2.9790737017926948e-05_r8, & + 4.4531242866084954e-05_r8, 6.1428203416090472e-05_r8, & + 7.9485828609951814e-05_r8, 9.6674106363569268e-05_r8, & + 0.00011333995939379022_r8, 0.00012818919678868885_r8, & + 0.00014081368290500145_r8, 0.00015120161534111598_r8, & + 0.00015987612194100177_r8, 0.00016672541782984974_r8, & + 0.0001723472922519144_r8, 0.00018115524363332506_r8, & + 0.00018876780799503707_r8, 0.00019704650177679997_r8, & + 0.00020833752662327435_r8, 0.00022050343345022237_r8, & + 0.00022978110316981045_r8, 0.00024082775637832433_r8, & + 0.00025064184354909783_r8, 0.00025778645130582618_r8, & + 0.00026477861888139293_r8, 0.00026849488402186307_r8, & + 0.00027185893627760496_r8, 0.00027371668949062033_r8, & + 0.0002763145870980092_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,46) / & + 4.6463187509138142e-06_r8, 5.1719902780673919e-06_r8, & + 4.468748999753183e-06_r8, 4.3765283673076547e-06_r8, & + 4.6066127841519262e-06_r8, 5.3575828069255095e-06_r8, & + 5.7430227185342791e-06_r8, 7.9734388792417066e-06_r8, & + 8.8066188366607313e-06_r8, 9.5658753963963329e-06_r8, & + 1.0497791395116448e-05_r8, 1.28597799687e-05_r8, 1.6147893054467989e-05_r8, & + 1.8037177793448485e-05_r8, 2.0050639351627213e-05_r8, & + 2.3195505192927301e-05_r8, 3.4868440454992729e-05_r8, & + 4.9144916348332455e-05_r8, 6.6300190030589882e-05_r8, & + 8.4234835822815019e-05_r8, 0.000101910754153805_r8, & + 0.00011940481216558542_r8, 0.00013529159384465688_r8, & + 0.00014819667596296964_r8, 0.00015855658670887402_r8, & + 0.0001669688124392205_r8, 0.00017425293963903822_r8, & + 0.00018383378766873549_r8, 0.00018969463347312434_r8, & + 0.00019587999545258791_r8, 0.00020562035393278691_r8, & + 0.00021711860460398602_r8, 0.00022714383459315261_r8, & + 0.00023912942624870141_r8, 0.00024935229997809927_r8, & + 0.00025806661067243579_r8, 0.00026590121179530924_r8, & + 0.00026946471383906524_r8, 0.00027252625646108857_r8, & + 0.00027373367390904859_r8, 0.00027643949811125544_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,46) / & + 3.265230261954696e-06_r8, 3.3140936981368364e-06_r8, & + 3.0133571736832009e-06_r8, 3.3998156717250935e-06_r8, & + 3.5430312622108374e-06_r8, 3.8125436939602109e-06_r8, & + 4.4506418028642523e-06_r8, 6.3081483914850794e-06_r8, & + 7.5067423082763007e-06_r8, 8.7172376737388405e-06_r8, & + 9.7110996745897242e-06_r8, 1.1421598109678604e-05_r8, & + 1.4130056105521777e-05_r8, 1.5028897711607776e-05_r8, & + 1.6232764595878598e-05_r8, 1.7982181142267786e-05_r8, & + 2.410197256472081e-05_r8, 3.4666030727381166e-05_r8, & + 4.8392485840334333e-05_r8, 6.3749969530112595e-05_r8, & + 8.2372922378911833e-05_r8, 0.00010410043861016121_r8, & + 0.00012126379321180346_r8, 0.00013720895055656151_r8, & + 0.00015106433766997978_r8, 0.00016309392076959003_r8, & + 0.00017615359040201435_r8, 0.00019808048600472499_r8, & + 0.00020762805157624481_r8, 0.00020925824761512435_r8, & + 0.00020816025331973532_r8, 0.00021463051359840241_r8, & + 0.00022662003324686318_r8, 0.00023646629073786866_r8, & + 0.00024546589132477359_r8, 0.00025586084645557469_r8, & + 0.00026388631441019521_r8, 0.00026598002254834635_r8, & + 0.00027075939795292135_r8, 0.00027239102942855635_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,46) / & + 2.8458976160464695e-06_r8, 2.7835792067872931e-06_r8, & + 2.5934161499755868e-06_r8, 2.9738260477729192e-06_r8, & + 3.2018334428588829e-06_r8, 3.3299593772466765e-06_r8, & + 3.4963567568777641e-06_r8, 4.5628171980709167e-06_r8, & + 5.4892178952862685e-06_r8, 6.2815180422149727e-06_r8, & + 7.0102017820961274e-06_r8, 8.3725306289090328e-06_r8, & + 1.0298111161478092e-05_r8, 1.1502659015796252e-05_r8, & + 1.2739800116445869e-05_r8, 1.3871137272039398e-05_r8, & + 1.689210626320116e-05_r8, 2.1222872271930549e-05_r8, & + 2.736327044994314e-05_r8, 3.7628096270775022e-05_r8, & + 4.843943855624411e-05_r8, 6.0528073066359821e-05_r8, & + 8.1952884325411839e-05_r8, 0.00010217334646089932_r8, & + 0.00012333394330320973_r8, 0.00014299241601908966_r8, & + 0.00016296012554585805_r8, 0.00020331313923270753_r8, & + 0.00023391156015745002_r8, 0.00024618556776627134_r8, & + 0.00024469005494439093_r8, 0.00023612102820388996_r8, & + 0.00023307492858958917_r8, 0.00023540497493732048_r8, & + 0.00024160642689177559_r8, 0.00025052188453205266_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,46) / & + 2.9745554969136163e-06_r8, 2.9145148291408901e-06_r8, & + 2.4702281543302877e-06_r8, 3.394043861712817e-06_r8, & + 3.7728550732568575e-06_r8, 4.4320145107215116e-06_r8, & + 3.2673156600849727e-06_r8, 4.2557754006380586e-06_r8, & + 5.1611201485372114e-06_r8, 5.8413691852766181e-06_r8, & + 6.4818495844048087e-06_r8, 7.4183763755032404e-06_r8, & + 8.957681609902281e-06_r8, 1.0423488604192919e-05_r8, & + 1.2185338211458645e-05_r8, 1.3645756227544914e-05_r8, & + 1.6865348780554651e-05_r8, 2.0121363798256686e-05_r8, & + 2.6546071466988628e-05_r8, 3.6615192434251674e-05_r8, & + 4.8399292034562353e-05_r8, 6.114788142856237e-05_r8, & + 8.0234967287713975e-05_r8, 0.00010029424748415691_r8, & + 0.0001218691382093622_r8, 0.00014210491102751094_r8, & + 0.00016183294302288425_r8, 0.00020378935854339152_r8, & + 0.00023413651434999494_r8, 0.00025012905313776505_r8, & + 0.00025724344060674178_r8, 0.00024920248870432442_r8, & + 0.0002381354910245232_r8, 0.00023639995492004935_r8, & + 0.00024226922934588273_r8, 0.00025017588161123079_r8, & + 0.00025795876216091915_r8, 0.00026269531333826708_r8, & + 0.00026526592426168904_r8, 0.00026663176111058068_r8, & + 0.00026766887356497983_r8, 0.00026848643927848253_r8, & + 0.00026893054997019717_r8, 0.00026879882767311342_r8, & + 0.00026941340399566296_r8 & + / +data saar_ref(:,14,46) / & + 3.9537570015788559e-06_r8, 3.8730620236497575e-06_r8, & + 3.1410674288695914e-06_r8, 4.1567978989294564e-06_r8, & + 4.584341769775693e-06_r8, 5.1464574108690313e-06_r8, & + 5.3398480880505781e-06_r8, 4.0866307772480258e-06_r8, & + 4.5010579369234072e-06_r8, 4.9971208532126842e-06_r8, & + 5.6391669525005936e-06_r8, 6.3502624663471107e-06_r8, & + 7.7605005843534237e-06_r8, 9.294393365123133e-06_r8, & + 1.105593954363208e-05_r8, 1.2918262517295663e-05_r8, & + 1.640340749512374e-05_r8, 1.9802763604066844e-05_r8, & + 2.5109821693582509e-05_r8, 3.4514745292742847e-05_r8, & + 4.7296498834646484e-05_r8, 6.2972438820131131e-05_r8, & + 8.3060667837587512e-05_r8, 0.00010388842978815653_r8, & + 0.00012666978160501415_r8, 0.00014724823493964158_r8, & + 0.0001664945915775064_r8, 0.00020951165670548408_r8, & + 0.00023782120901527683_r8, 0.00025297671139261769_r8, & + 0.00026435387303908091_r8, 0.00026495744985778543_r8, & + 0.00025438869114586556_r8, 0.00024659265752647973_r8, & + 0.00024865661317079906_r8, 0.00025025055547434457_r8, & + 0.00025775809922321766_r8, 0.00026273847511806229_r8, & + 0.00026549551335866513_r8, 0.00026685620401308046_r8, & + 0.00026795268865674004_r8, 0.00026878740954282385_r8, & + 0.00026911470574926078_r8, 0.00026908101284331496_r8, & + 0.00026979172231260282_r8 & + / +data saar_ref(:,15,46) / & + 4.858248840499428e-06_r8, 4.6975272626700017e-06_r8, & + 4.1675889708595971e-06_r8, 3.1822709859408411e-06_r8, & + 3.4457425088826604e-06_r8, 4.2707835496846654e-06_r8, & + 6.3340913654079099e-06_r8, 6.3682303033711849e-06_r8, & + 6.3404677343074532e-06_r8, 6.0820644096265618e-06_r8, & + 5.8483195282959517e-06_r8, 5.4553400382210331e-06_r8, & + 6.5870065452434874e-06_r8, 8.0912342298906519e-06_r8, & + 9.8284741193631948e-06_r8, 1.2051028150134168e-05_r8, & + 1.5975136608014392e-05_r8, 1.9859877245337852e-05_r8, & + 2.540160646143816e-05_r8, 3.6118360719151274e-05_r8, & + 5.0952612934296745e-05_r8, 7.0929343702334183e-05_r8, & + 9.4422074264868613e-05_r8, 0.00011880378879060295_r8, & + 0.00014376729676173343_r8, 0.00016632765780882924_r8, & + 0.00018577964767142453_r8, 0.00022413983889425554_r8, & + 0.00024508345489028353_r8, 0.00025813925107273232_r8, & + 0.00026656334437341091_r8, 0.00026886060683042727_r8, & + 0.00026367284640317905_r8, 0.00026055161433100971_r8, & + 0.00025692759658335802_r8, 0.00026264859144093397_r8, & + 0.0002570877460017232_r8, 0.00026197260114292213_r8, & + 0.00026589599986122939_r8, 0.00026752452386268776_r8, & + 0.00026868036372652149_r8, 0.00026934866627711029_r8, & + 0.00026954264688238761_r8, 0.00026988882579897567_r8, & + 0.00027019026825822972_r8 & + / +data saar_ref(:,16,46) / & + 4.9417225896056872e-06_r8, 4.8045714329489855e-06_r8, & + 4.6754591551435464e-06_r8, 3.3245913787074425e-06_r8, & + 3.3617037138845982e-06_r8, 3.4532080920346834e-06_r8, & + 4.1137476011427829e-06_r8, 4.7622774942578267e-06_r8, & + 5.3959465838496092e-06_r8, 5.9100498557500844e-06_r8, & + 6.2108719797829627e-06_r8, 5.4326613157606212e-06_r8, & + 5.4240592702935597e-06_r8, 6.8052459541878229e-06_r8, & + 8.6998731021850153e-06_r8, 1.1130668795634825e-05_r8, & + 1.654380689933779e-05_r8, 2.1537370390470343e-05_r8, & + 2.9662320675244139e-05_r8, 4.3883195822205849e-05_r8, & + 6.3266511580751462e-05_r8, 8.9293535310007991e-05_r8, & + 0.00011403196843688653_r8, 0.00014154140599670164_r8, & + 0.00016816414626861628_r8, 0.00019110506013842181_r8, & + 0.00020927526789957024_r8, 0.00024208031680463985_r8, & + 0.00026026007501983594_r8, 0.00027252546312191064_r8, & + 0.00028081519721096741_r8, 0.00028577005137069955_r8, & + 0.00028874452361589935_r8, 0.00028937544788194656_r8, & + 0.00028467377715686099_r8, 0.00028209275188669023_r8, & + 0.00027704756398728314_r8, 0.00027735773846394678_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,46) / & + 4.6273445013129153e-06_r8, 4.5879125998652173e-06_r8, & + 4.5980612788300394e-06_r8, 3.2301275319615563e-06_r8, & + 3.3538338277669061e-06_r8, 3.4886667047003163e-06_r8, & + 3.6069171699735526e-06_r8, 3.6601071312268918e-06_r8, & + 3.7569528967450083e-06_r8, 3.8362760768711768e-06_r8, & + 4.0219510271530988e-06_r8, 4.1247021513214824e-06_r8, & + 4.4277728064127397e-06_r8, 5.5977712265048219e-06_r8, & + 7.7972227693957139e-06_r8, 1.0795986669030286e-05_r8, & + 1.813106572103055e-05_r8, 2.560469584514412e-05_r8, & + 3.983276191373655e-05_r8, 6.2626984064462871e-05_r8, & + 8.8911191926511362e-05_r8, 0.00011896502340066813_r8, & + 0.00014441174502127763_r8, 0.00016797533932763834_r8, & + 0.0001914951021153416_r8, 0.00021167478840999798_r8, & + 0.00022777585223829404_r8, 0.000255643399935508_r8, & + 0.00027297473565736027_r8, 0.00028540011993227207_r8, & + 0.0002943583348431906_r8, 0.00029990093370058692_r8, & + 0.00030350472335191809_r8, 0.00030983966154382131_r8, & + 0.0003092534716071039_r8, 0.00030591318634747607_r8, & + 0.00029865189325849233_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,46) / & + 5.3903325860824732e-06_r8, 5.3397520759978929e-06_r8, & + 5.1904251862079999e-06_r8, 3.9166091172987568e-06_r8, & + 3.9262049792969869e-06_r8, 3.9342425946675099e-06_r8, & + 4.4105744915489897e-06_r8, 4.1265089364316976e-06_r8, & + 3.8776274601155641e-06_r8, 3.7866757202762129e-06_r8, & + 3.7670131067686096e-06_r8, 3.8905441762632278e-06_r8, & + 4.4989165743964949e-06_r8, 5.8708902735726304e-06_r8, & + 9.311354227552304e-06_r8, 1.3870283959762426e-05_r8, & + 2.4171871605855788e-05_r8, 3.5974486756046085e-05_r8, & + 5.729314269056357e-05_r8, 8.6366838516213217e-05_r8, & + 0.00011583950715141318_r8, 0.0001466161804646964_r8, & + 0.00017200331627458137_r8, 0.00019454924428311795_r8, & + 0.00021366536685284108_r8, 0.00023006429906438292_r8, & + 0.00024367251928289981_r8, 0.00026809987937327265_r8, & + 0.00028681396538001466_r8, 0.00030127737622949203_r8, & + 0.00031023195931223442_r8, 0.00031246768815452748_r8, & + 0.000316396820078887_r8, 0.0003262065006899545_r8, & + 0.00032912113092283576_r8, 0.0003270991041047781_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,46) / & + 5.9051815587727601e-06_r8, 5.7578856715261377e-06_r8, & + 5.6349454649822607e-06_r8, 5.1393892153513008e-06_r8, & + 5.1575267626020478e-06_r8, 5.1490751185508621e-06_r8, & + 5.2972075462122232e-06_r8, 5.1566808434568745e-06_r8, & + 4.8269848398393752e-06_r8, 4.4900189714680379e-06_r8, & + 4.4266077424677913e-06_r8, 5.0269307415477225e-06_r8, & + 8.1360118727548474e-06_r8, 1.3133849150965778e-05_r8, & + 2.124739633876041e-05_r8, 3.0425785425593153e-05_r8, & + 4.5559491015951235e-05_r8, 6.8091387535986194e-05_r8, & + 9.5896893538305878e-05_r8, 0.00012376769047370547_r8, & + 0.000152141035909674_r8, 0.0001779779125745245_r8, & + 0.00019927348513303222_r8, 0.00022010765009072483_r8, & + 0.00023663595230707623_r8, 0.00025432182006805552_r8, & + 0.00026748131964395992_r8, 0.00028974997082693317_r8, & + 0.00031068643220116978_r8, 0.00032834502164667497_r8, & + 0.00034158630185110792_r8, 0.00035103159564384498_r8, & + 0.00035977713451876118_r8, 0.00036018429353391684_r8, & + 0.00035190748871976468_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,46) / & + 6.3517246606791881e-06_r8, 6.1466793766091205e-06_r8, & + 6.0014846367558895e-06_r8, 5.6444210719550191e-06_r8, & + 5.6458917645937428e-06_r8, 5.5578426240558788e-06_r8, & + 5.6258616799539372e-06_r8, 5.6652824481422232e-06_r8, & + 5.8565787814682296e-06_r8, 5.8238563420498111e-06_r8, & + 6.0865923807647253e-06_r8, 7.8450688176968095e-06_r8, & + 1.5927428726751707e-05_r8, 2.8630628048537519e-05_r8, & + 4.0751522067560267e-05_r8, 5.4115305375831677e-05_r8, & + 7.5254106131715363e-05_r8, 0.00010151177601875655_r8, & + 0.00012602248820300758_r8, 0.00015059508067490548_r8, & + 0.0001738856409241108_r8, 0.00019486820295450716_r8, & + 0.00021551342962881936_r8, 0.00023556663505361382_r8, & + 0.00025593010842971971_r8, 0.00027481513533832841_r8, & + 0.00028891164207796093_r8, 0.00031654953249751668_r8, & + 0.00033794916079071927_r8, 0.00035451527942339904_r8, & + 0.00036717075520782032_r8, 0.00037517355766635821_r8, & + 0.00037802433703368782_r8, 0.00037737318575622108_r8, & + 0.00037411824676762559_r8, 0.00036664433328995044_r8, & + 0.0003550823563004799_r8, 0.00034484477008460152_r8, & + 0.00033924541765413112_r8, 0.00033841243746146106_r8, & + 0.00033753699836329258_r8, 0.00033608013149508337_r8, & + 0.00033460960338348796_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,46) / & + 6.5535753329270455e-06_r8, 6.2638843913617501e-06_r8, & + 6.1048074657051023e-06_r8, 5.9953805528570305e-06_r8, & + 6.0126324049864665e-06_r8, 5.9558504287570647e-06_r8, & + 5.9987409587840056e-06_r8, 5.9905036977216821e-06_r8, & + 6.357194847707045e-06_r8, 6.7942933146390148e-06_r8, & + 8.3186844633586809e-06_r8, 1.4002881995473219e-05_r8, & + 2.8296468591496533e-05_r8, 4.7159980624710937e-05_r8, & + 6.1324467765624477e-05_r8, 7.4173647112295928e-05_r8, & + 9.5962415393547197e-05_r8, 0.00011719241168098649_r8, & + 0.00014178905975056858_r8, 0.00016685117224340897_r8, & + 0.00019074477297544186_r8, 0.00021395005304465588_r8, & + 0.00023643054294597901_r8, 0.00025781150212283077_r8, & + 0.00028037858180639171_r8, 0.0003001010895575306_r8, & + 0.0003156009664051964_r8, 0.00034615949891554583_r8, & + 0.00036714616187901757_r8, 0.00038230328199339095_r8, & + 0.00039206787464171844_r8, 0.00039692757635140935_r8, & + 0.00039691841918480401_r8, 0.00039604366083464856_r8, & + 0.00039395694450987856_r8, 0.00038844413549096198_r8, & + 0.00037813600611361385_r8, 0.00036527259012257682_r8, & + 0.00035621567381872402_r8, 0.00035361092310174454_r8, & + 0.00035236608563130463_r8, 0.00035227048742428942_r8, & + 0.00035110421465301236_r8, 0.00035038966666391759_r8, 9e90_r8 & + / +data saar_ref(:,22,46) / & + 6.9699819723882465e-06_r8, 6.7746042900020189e-06_r8, & + 6.6250404004706616e-06_r8, 7.1147919908835977e-06_r8, & + 7.2052918299097966e-06_r8, 7.2633298556617046e-06_r8, & + 7.6101397652498734e-06_r8, 8.160908184565132e-06_r8, & + 9.1103198205864087e-06_r8, 1.1141773963752961e-05_r8, & + 1.7641473203678915e-05_r8, 2.7800644699943019e-05_r8, & + 4.5515661122731071e-05_r8, 6.2940818398623125e-05_r8, & + 7.5005190360605064e-05_r8, 8.6439245095323177e-05_r8, & + 0.00010763514046434854_r8, 0.00013480331648215056_r8, & + 0.00016520113343994688_r8, 0.0001887788298597223_r8, & + 0.0002130420262354008_r8, 0.00023715678400949508_r8, & + 0.00026141355022819861_r8, 0.00028223359617007051_r8, & + 0.00030453672173481444_r8, 0.00032553501762969567_r8, & + 0.00034134080597164363_r8, 0.00037412631230934116_r8, & + 0.00039886246671618105_r8, 0.00041226053405938375_r8, & + 0.00041957020644094796_r8, 0.00042278671598344492_r8, & + 0.00042167994752127775_r8, 0.00041944007430601803_r8, & + 0.00041548718658112672_r8, 0.00041024781957586483_r8, & + 0.00040171447472512137_r8, 0.00038896826564453074_r8, & + 0.00037687278879701657_r8, 0.00037129300829772776_r8, & + 0.00036836973784021136_r8, 0.00036696777285948279_r8, & + 0.00036437655512633056_r8, 0.00036503143218715042_r8, 9e90_r8 & + / +data saar_ref(:,23,46) / & + 6.9513044354981908e-06_r8, 6.8381975124467551e-06_r8, & + 6.8147481569599983e-06_r8, 7.5550958355912469e-06_r8, & + 7.7137758399990896e-06_r8, 7.8360373215676241e-06_r8, & + 8.9044177678309948e-06_r8, 1.1359798178032575e-05_r8, & + 1.4591956992812067e-05_r8, 2.015643371131815e-05_r8, & + 3.3042679169281354e-05_r8, 4.8422027873580151e-05_r8, & + 6.9201280701969634e-05_r8, 8.0998392732026424e-05_r8, & + 9.1534171310777218e-05_r8, 0.00010215837793361503_r8, & + 0.00012397118827249239_r8, 0.0001535013474487148_r8, & + 0.000185827625116971_r8, 0.00020932488184536124_r8, & + 0.00023379019323562284_r8, 0.00026035156136283439_r8, & + 0.0002868185929769161_r8, 0.00031094970686035999_r8, & + 0.00033216273384981251_r8, 0.00035253931989465273_r8, & + 0.00036877505515089145_r8, 0.00039893028822384543_r8, & + 0.00042354005225974175_r8, 0.00043931123783155009_r8, & + 0.00044616924158578551_r8, 0.00044761934029517524_r8, & + 0.00044542802287750988_r8, 0.00044200581020524662_r8, & + 0.00043800427231261763_r8, 0.00043081512239185232_r8, & + 0.00041949434651989781_r8, 0.00040509129228258778_r8, & + 0.00039308900236818714_r8, 0.00038911745724066338_r8, & + 0.0003861244461764511_r8, 0.00038490519148102922_r8, & + 0.00038447325447842073_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,46) / & + 6.8006592286346783e-06_r8, 6.7215843522472956e-06_r8, & + 6.8288403288315377e-06_r8, 7.2068200942119942e-06_r8, & + 7.2498191289137617e-06_r8, 7.1527638557952049e-06_r8, & + 8.7843710890673041e-06_r8, 1.4101352894419943e-05_r8, & + 2.0680083661656774e-05_r8, 3.3876146499690294e-05_r8, & + 5.2363470704724425e-05_r8, 7.3649118247423422e-05_r8, & + 9.6470244089262043e-05_r8, 0.00010660577497474499_r8, & + 0.00011522356945699796_r8, 0.00012377998376999973_r8, & + 0.00014649469735705884_r8, 0.00017616460319655743_r8, & + 0.00020737388573717711_r8, 0.00023479127937757368_r8, & + 0.00026113583619755603_r8, 0.00028839287592326448_r8, & + 0.00031377243566682854_r8, 0.00033843622248810407_r8, & + 0.0003589646503368823_r8, 0.00037824082416753593_r8, & + 0.00039441526269932097_r8, 0.0004230307836151487_r8, & + 0.0004480454054021049_r8, 0.0004632933530254551_r8, & + 0.0004700860812064562_r8, 0.00047160315065026924_r8, & + 0.00046954972134477432_r8, 0.00046548009569706995_r8, & + 0.00045994901903742433_r8, 0.00045068359380244467_r8, & + 0.00043713813797393767_r8, 0.00042244688908963209_r8, & + 0.00041146268269502586_r8, 0.00040625579187391654_r8, & + 0.00040307472049399244_r8, 0.00040046652658420201_r8, & + 0.0003993128986865853_r8, 0.00039773344178635999_r8, 9e90_r8 & + / +data saar_ref(:,25,46) / & + 7.5435602568623497e-06_r8, 7.4819430213483215e-06_r8, & + 7.3959329044608957e-06_r8, 7.7204856811602172e-06_r8, & + 7.7127895244328785e-06_r8, 7.1996821838099051e-06_r8, & + 8.5264129595923618e-06_r8, 1.2094533873489624e-05_r8, & + 1.7839611869683663e-05_r8, 3.0933333672576247e-05_r8, & + 4.7986144225932349e-05_r8, 6.9303586123673356e-05_r8, & + 9.7117422238872473e-05_r8, 0.0001121124600377901_r8, & + 0.00012275442141051744_r8, 0.00013400587779032101_r8, & + 0.00016195943046618327_r8, 0.00019362346118053685_r8, & + 0.00022355277246582469_r8, 0.00025245633073467741_r8, & + 0.00027878485777545382_r8, 0.00030763862333164509_r8, & + 0.00033409965956365535_r8, 0.00035833231532211233_r8, & + 0.00037889297975154262_r8, 0.000397883412699027_r8, & + 0.00041511424693385375_r8, 0.00044681973389121179_r8, & + 0.00047220017170855513_r8, 0.00048451002780220103_r8, & + 0.00049279181787704074_r8, 0.00049660586511153699_r8, & + 0.00049700507494100307_r8, 0.00049330419667075506_r8, & + 0.00048706967060529956_r8, 0.00047607904622032853_r8, & + 0.00046238553738143649_r8, 0.00044630155724955924_r8, & + 0.00043414182782353376_r8, 0.00042571605447596267_r8, & + 0.00042093610279499941_r8, 0.00041829272204343238_r8, & + 0.00041650822126722997_r8, 0.00041523705813732009_r8, & + 0.00041187736336812877_r8 & + / +data saar_ref(:,26,46) / & + 8.6045135957357724e-06_r8, 8.5014186085887398e-06_r8, & + 8.2883470395764423e-06_r8, 7.8017259052571182e-06_r8, & + 7.7773582169736503e-06_r8, 7.5479742920828753e-06_r8, & + 7.8699841550663644e-06_r8, 8.4139814361949686e-06_r8, & + 8.4628562552565986e-06_r8, 1.2025243516012894e-05_r8, & + 1.7846982769239051e-05_r8, 2.8723515805953945e-05_r8, & + 5.5061898767877634e-05_r8, 8.5853106662912382e-05_r8, & + 0.00010902209104027448_r8, 0.00013283391540906494_r8, & + 0.00017548092049224855_r8, 0.0002134479286668023_r8, & + 0.00024288227303194708_r8, 0.00027268124493263801_r8, & + 0.0003016225728848268_r8, 0.0003317100830634013_r8, & + 0.00035905739020864369_r8, 0.00038363863378565449_r8, & + 0.00040397664752750358_r8, 0.00042243571042835214_r8, & + 0.00043988264779888328_r8, 0.00047211694047936915_r8, & + 0.0004945644291287504_r8, 0.00050647991516406421_r8, & + 0.0005143433540084468_r8, 0.00051860816251358131_r8, & + 0.00051973844686030945_r8, 0.00051769300832939312_r8, & + 0.00051271917420034612_r8, 0.00050477439958279322_r8, & + 0.00049396261668940009_r8, 0.00047866328981627763_r8, & + 0.00046148592915210517_r8, 0.00044798801731912662_r8, & + 0.00044057238488376198_r8, 0.00043749008437439572_r8, & + 0.00043609288614311615_r8, 0.00042979113109228959_r8, 9e90_r8 & + / +data saar_ref(:,27,46) / & + 8.8924188835738087e-06_r8, 8.6325724771706604e-06_r8, & + 8.3828667221852808e-06_r8, 8.2538820628813541e-06_r8, & + 8.2384692207424791e-06_r8, 8.1504184541256558e-06_r8, & + 7.7354596863736436e-06_r8, 7.4721277193733284e-06_r8, & + 7.5737855239078994e-06_r8, 8.798783359926066e-06_r8, & + 1.0931018026903798e-05_r8, 1.5209142472673014e-05_r8, & + 2.5336066961184017e-05_r8, 4.4887873271753493e-05_r8, & + 6.7323644585692919e-05_r8, 9.9478801516488338e-05_r8, & + 0.00016525876873155755_r8, 0.00023234520468515244_r8, & + 0.00027550465907256658_r8, 0.00030789408845130158_r8, & + 0.00033926422152826994_r8, 0.00037009030955791056_r8, & + 0.00039322830916184003_r8, 0.00041577520058106224_r8, & + 0.00043463551877217306_r8, 0.00045212936993992831_r8, & + 0.000469675614326375_r8, 0.00049889713856376245_r8, & + 0.00051922224255882931_r8, 0.00053051033428109433_r8, & + 0.00053642664720075198_r8, 0.0005376626507613291_r8, & + 0.00053654004919591379_r8, 0.00053310089411278284_r8, & + 0.00052765302422726917_r8, 0.00052121361172899111_r8, & + 0.000513913177442428_r8, 0.00050494144096959381_r8, & + 0.00048884120918918372_r8, 0.00046879663033599206_r8, & + 0.00045773897602827265_r8, 0.00044977167202240936_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,46) / & + 8.4456719662665143e-06_r8, 8.1420348894513804e-06_r8, & + 7.9125925986936928e-06_r8, 8.727870574231905e-06_r8, & + 8.7444758791287593e-06_r8, 8.6187565246366315e-06_r8, & + 8.3993281617642729e-06_r8, 8.4626186921847046e-06_r8, & + 9.0596399321601215e-06_r8, 1.0174500524889333e-05_r8, & + 1.2156934689778953e-05_r8, 1.5009363134451818e-05_r8, & + 2.1747369453266239e-05_r8, 3.2490759328646539e-05_r8, & + 4.6099204985395012e-05_r8, 6.7188283653854522e-05_r8, & + 0.00013072929172161673_r8, 0.00021867420937112555_r8, & + 0.00028752658635867724_r8, 0.00034064178943344394_r8, & + 0.000380904586354012_r8, 0.00040956646114705017_r8, & + 0.00042975128064101897_r8, 0.00044962686165855745_r8, & + 0.00046609157755603964_r8, 0.00048161138173090796_r8, & + 0.00049835553047972939_r8, 0.00052565897437413945_r8, & + 0.00054592032701246071_r8, 0.00055494396399988937_r8, & + 0.00055857915679695662_r8, 0.00055777510510605065_r8, & + 0.00055377064154452755_r8, 0.00054958003994898784_r8, & + 0.00054386407987030267_r8, 0.00053696508495087016_r8, & + 0.00052803353663526294_r8, 0.00051995155949874567_r8, & + 0.00050912498123627085_r8, 0.00049940257564989301_r8, & + 0.00048885332381651617_r8, 0.00048522583026815625_r8, & + 0.00047941996767037517_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,46) / & + 9.3259425149550913e-06_r8, 9.2314908809500241e-06_r8, & + 9.2768364709378647e-06_r8, 9.647522541898568e-06_r8, & + 9.8495706055506363e-06_r8, 9.9836975606273781e-06_r8, & + 9.1485802012211616e-06_r8, 9.8553330903950382e-06_r8, & + 1.0891287231903406e-05_r8, 1.2441887487328275e-05_r8, & + 1.4609311793602799e-05_r8, 1.7034600987412054e-05_r8, & + 2.3222249254935995e-05_r8, 3.2041541469918267e-05_r8, & + 4.1421666118773749e-05_r8, 5.5977908575113687e-05_r8, & + 0.00010414552390822525_r8, 0.00018083900662663589_r8, & + 0.00026634974001317648_r8, 0.00034511655700361903_r8, & + 0.00040522712445647966_r8, 0.00044436136011114191_r8, & + 0.0004694987636203667_r8, 0.0004917405201047807_r8, & + 0.00050958923907011957_r8, 0.00052497600729603609_r8, & + 0.00053829623213454809_r8, 0.00056344643185723042_r8, & + 0.00057867134719240862_r8, 0.000583303809292113_r8, & + 0.00058397891025575171_r8, 0.00058120506857526038_r8, & + 0.00057638268983129968_r8, 0.00057122010665166471_r8, & + 0.00056536565153471948_r8, 0.00055910595705818222_r8, & + 0.00055092247121962595_r8, 0.00054199716454201902_r8, & + 0.00053124784458181214_r8, 0.00051983389595734644_r8, & + 0.00050938943481317739_r8, 0.00050118604274591405_r8, & + 0.00049343136786842844_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,46) / & + 1.0341458895590091e-05_r8, 1.0359546567450245e-05_r8, & + 1.0869760709067388e-05_r8, 1.27363962042309e-05_r8, & + 1.3065942721353332e-05_r8, 1.2952861675479542e-05_r8, & + 1.2515795717721365e-05_r8, 1.3454186117033486e-05_r8, & + 1.5910660047668745e-05_r8, 1.8741692952629823e-05_r8, & + 2.1801141210629629e-05_r8, 2.5401992451297053e-05_r8, & + 3.2442822236927449e-05_r8, 4.119987363450773e-05_r8, & + 5.1880414488431619e-05_r8, 6.5997666797167569e-05_r8, & + 0.00011268456896429723_r8, 0.0001842750595721571_r8, & + 0.0002718290463938721_r8, 0.00035593709889566658_r8, & + 0.00042139954607885117_r8, 0.00046892282954008255_r8, & + 0.00050098287718128732_r8, 0.00052880998415246849_r8, & + 0.00055049922652173852_r8, 0.00056785786378892001_r8, & + 0.00058157769720078116_r8, 0.00060600640210230086_r8, & + 0.00061827522053681954_r8, 0.00061903107772428114_r8, & + 0.00061688344596464286_r8, 0.00061144105542347321_r8, & + 0.00060322087372212385_r8, 0.00059786690275758056_r8, & + 0.00059200600805778573_r8, 0.00058628281099481951_r8, & + 0.00058074568696564119_r8, 0.00057540239073052793_r8, & + 0.00056850499665968008_r8, 0.00055773934662840092_r8, & + 0.00054331367077611805_r8, 0.00053275378081438511_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,46) / & + 1.3406496012343723e-05_r8, 1.3132769093887096e-05_r8, & + 1.3670614610323335e-05_r8, 1.4802222620066331e-05_r8, & + 1.5216212765617314e-05_r8, 1.6059407649498813e-05_r8, & + 2.0908794748161392e-05_r8, 2.6185829044333171e-05_r8, & + 2.9807887502825484e-05_r8, 3.300834183118267e-05_r8, & + 3.6139397753103831e-05_r8, 4.0363552968764839e-05_r8, & + 4.8250075332019621e-05_r8, 5.7654287542709329e-05_r8, & + 7.2609629464349157e-05_r8, 9.2993304518686602e-05_r8, & + 0.00014984308040386958_r8, 0.00022409580117806866_r8, & + 0.00030663492523776858_r8, 0.0003849913450113931_r8, & + 0.00044424482691208519_r8, 0.00048897500031699285_r8, & + 0.00052363373970487344_r8, 0.00055349835718897895_r8, & + 0.00057601103864375603_r8, 0.00059468285955806743_r8, & + 0.00060985636994520152_r8, 0.00063234847634155422_r8, & + 0.00064724503525854908_r8, 0.0006471699714611683_r8, & + 0.00064218168788344955_r8, 0.00063422454353464206_r8, & + 0.0006252851719975971_r8, 0.00061778215417639961_r8, & + 0.00061145904156486956_r8, 0.00060511269224030554_r8, & + 0.00060049356810334042_r8, 0.00059647117008251762_r8, & + 0.00059120356197717324_r8, 0.00058119972194805648_r8, & + 0.00056326358124067944_r8, 0.00055568088641672227_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,32,46) / & + 2.8706764313600389e-05_r8, 2.8161901302196637e-05_r8, & + 2.7847440622618412e-05_r8, 3.0747961106700372e-05_r8, & + 3.2548288050244987e-05_r8, 3.6955479170480598e-05_r8, & + 4.4305587310120327e-05_r8, 5.0544050403362157e-05_r8, & + 5.5550672376370471e-05_r8, 5.9597686687515639e-05_r8, & + 6.3726101449854708e-05_r8, 6.7574690743862526e-05_r8, & + 8.0516841210970551e-05_r8, 9.8365373689048615e-05_r8, & + 0.00012251817026386476_r8, 0.00015298293597101144_r8, & + 0.00022411295273150716_r8, 0.00029909824341935247_r8, & + 0.00036720580456545051_r8, 0.00043524080918342381_r8, & + 0.0004833471580104788_r8, 0.0005228110544323566_r8, & + 0.00055398729376426306_r8, 0.0005819417765752029_r8, & + 0.00060258735044251628_r8, 0.00061961425473573998_r8, & + 0.00063605974438000579_r8, 0.0006579156938676605_r8, & + 0.0006753518302061158_r8, 0.0006769107360456067_r8, & + 0.00067034187490646062_r8, 0.00066165802300950757_r8, & + 0.00065196184478541063_r8, 0.00064143134899519335_r8, & + 0.00063327990524215331_r8, 0.00062728642457454892_r8, & + 0.000623170797096704_r8, 0.00062232229075161194_r8, & + 0.00062469350153284244_r8, 0.00062580835202920944_r8, & + 0.00062577075692686189_r8, 0.00062263292560759591_r8, & + 0.00061854013911325769_r8, 0.00063130814934557748_r8, 9e90_r8 & + / +data saar_ref(:,33,46) / & + 6.6024772903337025e-05_r8, 6.6184954062284404e-05_r8, & + 6.5408787204062753e-05_r8, 6.977003522397172e-05_r8, & + 7.310092873099665e-05_r8, 7.5652363976500266e-05_r8, & + 8.449743217670225e-05_r8, 9.3401457383563297e-05_r8, & + 9.9399333807113761e-05_r8, 0.00010505740768490524_r8, & + 0.00011253731035372427_r8, 0.00011481919404928762_r8, & + 0.00013752687514954638_r8, 0.00017447999931433314_r8, & + 0.00021379294963934256_r8, 0.00025356638894419959_r8, & + 0.00032922032729751648_r8, 0.000396851429828723_r8, & + 0.00045268094749428562_r8, 0.00049802275006752413_r8, & + 0.00053528705442927886_r8, 0.00056693557667458739_r8, & + 0.00059349058100075902_r8, 0.00061676006273344414_r8, & + 0.0006334294381394862_r8, 0.00064784971492122968_r8, & + 0.00066166151053149492_r8, 0.00068156188917187048_r8, & + 0.00069578730744228128_r8, 0.00069738284121013765_r8, & + 0.00069310686260670262_r8, 0.00068495735756507286_r8, & + 0.00067416044369988676_r8, 0.00066320208464068151_r8, & + 0.00065432960859089582_r8, 0.0006478729869814643_r8, & + 0.00064473121272035441_r8, 0.00064404433831242135_r8, & + 0.00064579797032152618_r8, 0.00064723303404734306_r8, & + 0.00064665036825598866_r8, 0.00064477116602619999_r8, & + 0.00064400463888938041_r8, 0.00064990837150715548_r8, & + 0.00065020983209702259_r8 & + / +data saar_ref(:,34,46) / & + 9.1685837238673207e-05_r8, 9.607971270651006e-05_r8, & + 9.8873203746343527e-05_r8, 0.00010856281505286271_r8, & + 0.00011672969661075916_r8, 0.00012362241073625132_r8, & + 0.00014040556196553747_r8, 0.00015057731807889945_r8, & + 0.00016858846415970547_r8, 0.00020304995527826661_r8, & + 0.00022911133373430012_r8, 0.00025175781568068946_r8, & + 0.00028731701017034036_r8, 0.00032736936202118483_r8, & + 0.00036226731855398868_r8, 0.00039715247716750761_r8, & + 0.00045588590851399228_r8, 0.00050321646863880616_r8, & + 0.00054018380883763312_r8, 0.00057152360807929492_r8, & + 0.00059857117423141358_r8, 0.00062237728315334714_r8, & + 0.0006418724737057949_r8, 0.00065885655204399416_r8, & + 0.00067169480605940609_r8, 0.00068311871536580915_r8, & + 0.00069352724347401915_r8, 0.00070790958091350518_r8, & + 0.00071510830668916777_r8, 0.00071479030824162556_r8, & + 0.00070979225292475416_r8, 0.00070195170413864813_r8, & + 0.00069158859687201853_r8, 0.00068150323831775677_r8, & + 0.00067346476812543959_r8, 0.0006669801802648874_r8, & + 0.00066337614036289841_r8, 0.00066361343407434143_r8, & + 0.00066605440768169755_r8, 0.00066752341909732222_r8, & + 0.00066732733501348505_r8, 0.00066597295166635144_r8, & + 0.0006658530291278786_r8, 0.0006682405679812064_r8, 9e90_r8 & + / +data saar_ref(:,35,46) / & + 0.00010566531125829843_r8, 0.000114498077808215_r8, & + 0.00012089662618603746_r8, 0.00014778571818746029_r8, & + 0.00016312726903242614_r8, 0.00017807164444457368_r8, & + 0.000203036653326275_r8, 0.00021894654074690415_r8, & + 0.00025274329765534703_r8, 0.00030092792511223583_r8, & + 0.00032998632874087235_r8, 0.00036181592580367155_r8, & + 0.0003882025270150234_r8, 0.00042241531763529387_r8, & + 0.00045179359451185156_r8, 0.00048059698466755427_r8, & + 0.00052741896252092926_r8, 0.00056105201553903407_r8, & + 0.00058892001743146192_r8, 0.00061498650335253607_r8, & + 0.00063804073817684982_r8, 0.00065942774200559876_r8, & + 0.00067709974366566498_r8, 0.0006935962188521521_r8, & + 0.00070544953737523223_r8, 0.00071446328324390178_r8, & + 0.00072100141520647758_r8, 0.00073294051958491238_r8, & + 0.00073659883369095588_r8, 0.00073626645582542663_r8, & + 0.00073234640371486854_r8, 0.0007230212718625209_r8, & + 0.00071218259721707777_r8, 0.00070319669821568677_r8, & + 0.00069625622582185245_r8, 0.0006879580548588383_r8, & + 0.00068141563063304968_r8, 0.00068000514428079154_r8, & + 0.00067938145030934001_r8, 0.0006761844425558801_r8, & + 0.00067497900537599341_r8, 0.00067208196048766124_r8, & + 0.00066796349997159997_r8, 0.00065388286751031852_r8, & + 0.00064937911357020755_r8 & + / +data saar_ref(:,36,46) / & + 0.00011676603949734481_r8, 0.00013440717047996477_r8, & + 0.00013950617152627367_r8, 0.00018881061491746832_r8, & + 0.00021708533550345642_r8, 0.00023979170397079368_r8, & + 0.00027521066468304105_r8, 0.00028791733874048504_r8, & + 0.00029533391352497116_r8, 0.00031529213472705195_r8, & + 0.00033680035570987757_r8, 0.00034626292693210601_r8, & + 0.00037735178763942384_r8, 0.00041458605707932428_r8, & + 0.00044948989644294908_r8, 0.00048038822015687585_r8, & + 0.00052842566162463887_r8, 0.00055907075322355942_r8, & + 0.00058488803556342513_r8, 0.00061087299342179073_r8, & + 0.00064176198674596729_r8, 0.00066811573581326638_r8, & + 0.00069070623625128006_r8, 0.00071226972560312909_r8, & + 0.00073044570778510324_r8, 0.0007447625626345139_r8, & + 0.00073255069292291653_r8, 0.00074440376519875249_r8, & + 0.00075390243281849511_r8, 0.00075577931893520045_r8, & + 0.00075293081017965792_r8, 0.00075099365742969785_r8, & + 0.000745869096871173_r8, 0.00074102011166835469_r8, & + 0.00073661331578925662_r8, 0.00073153432102275205_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,46) / & + 8.0232725607898189e-05_r8, 9.8621561769729357e-05_r8, & + 0.00010391941086267348_r8, 0.00016241938923282649_r8, & + 0.00019178961807427805_r8, 0.00022418163378601016_r8, & + 0.00028874657079972302_r8, 0.00030159649417556912_r8, & + 0.00029760200945884706_r8, 0.00029987216204892134_r8, & + 0.00031614705665891581_r8, 0.00032761215153229997_r8, & + 0.00036852108648344629_r8, 0.00040756132392950835_r8, & + 0.00044708641506545767_r8, 0.00048570320024514055_r8, & + 0.00053944242194991197_r8, 0.00057150781992352715_r8, & + 0.00060002374072201626_r8, 0.00062478534817479454_r8, & + 0.00065381733235683563_r8, 0.00068892627945495491_r8, & + 0.00071429265820969904_r8, 0.00073768778551201297_r8, & + 0.00075507892677299522_r8, 0.00077070053818505688_r8, & + 0.00075919367442987514_r8, 0.00076146936186210568_r8, & + 0.00077098903523369923_r8, 0.00077255673248586871_r8, & + 0.00076925531123371354_r8, 0.00076764575892641397_r8, & + 0.00076325218595540447_r8, 0.00075955922443807558_r8, & + 0.00075492411398507531_r8, 0.00074961486667510387_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,46) / & + 3.352150447499307e-05_r8, 4.4882812786140477e-05_r8, & + 5.8704674355944687e-05_r8, 0.00011458320814437528_r8, & + 0.0001548777391083647_r8, 0.000203642386088469_r8, & + 0.00028129729884853182_r8, 0.00029962614842489612_r8, & + 0.00028973015100431515_r8, 0.00028296485320718228_r8, & + 0.00029914344131213747_r8, 0.00031509930545666994_r8, & + 0.00035777745132821649_r8, 0.00040026681108086217_r8, & + 0.00044011086585237776_r8, 0.0004868045494504982_r8, & + 0.00054867016245412471_r8, 0.00058420410140869411_r8, & + 0.0006161577153774941_r8, 0.00063900482883774213_r8, & + 0.0006652291900897748_r8, 0.00070526001812884346_r8, & + 0.00073169630696081321_r8, 0.00075778018189303731_r8, & + 0.0007752248260449638_r8, 0.0007917490960411502_r8, & + 0.00078826195110200928_r8, 0.00077874757846418876_r8, & + 0.00078832860588450417_r8, 0.00078890119100276943_r8, & + 0.00078552877378838067_r8, 0.00078285257060677028_r8, & + 0.00077864281683595257_r8, 0.00077514075268354538_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,46) / & + 2.5517309563657311e-05_r8, 3.698851755586634e-05_r8, & + 5.9415193338276805e-05_r8, 0.0001076104788451098_r8, & + 0.00016241767414899904_r8, 0.00021268195159800143_r8, & + 0.00026176750493572891_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,46) / & + 8.2843702505813375e-05_r8, 7.3190975711503545e-05_r8, & + 9.5957254099596226e-05_r8, 0.0001363914445684827_r8, & + 0.00017796573632037884_r8, 0.00025547314017967986_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,46) / & + 0.00012057421965789364_r8, 0.00011075608584817093_r8, & + 0.00012058044807025682_r8, 0.00012574172328098002_r8, & + 0.00019654021235691202_r8, 0.00027804130835195977_r8, & + 0.00031291679071584409_r8, 0.00041196889799745913_r8, & + 0.00041377729480980373_r8, 0.00027642622680461331_r8, & + 0.000185950704269624_r8, 0.00012666995907718024_r8, & + 9.38863084154722e-05_r8, 8.9483461010539419e-05_r8, & + 0.0001058437878273579_r8, 9.4854090930138551e-05_r8, & + 9.6490054595313424e-05_r8, 8.5853758795454739e-05_r8, & + 8.3851347209526003e-05_r8, 8.4317579100614033e-05_r8, & + 8.3543990338322006e-05_r8, 8.2878596859656617e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,46) / & + 0.00012524984282044499_r8, 0.00012042737249213651_r8, & + 0.00012008211921603699_r8, 0.00012882465970352083_r8, & + 0.00015193499090249225_r8, 0.00019485292460008223_r8, & + 0.00023967034526521604_r8, 0.0003473652758281672_r8, & + 0.00041525736467056624_r8, 0.00031251538254303129_r8, & + 0.00020242537889916419_r8, 0.00011884653233839195_r8, & + 7.3415844036447207e-05_r8, 7.7023432530319379e-05_r8, & + 9.0347256747086381e-05_r8, 8.3458811164402981e-05_r8, & + 8.3488941116247498e-05_r8, 7.8589421538139439e-05_r8, & + 7.7983970282295389e-05_r8, 7.8928844594286043e-05_r8, & + 7.938595185212819e-05_r8, 7.9461664136875137e-05_r8, & + 7.9437213590060574e-05_r8, 8.1214256420761955e-05_r8, & + 8.5040026470505244e-05_r8, 8.9135272279565816e-05_r8, & + 9.483969133074038e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,46) / & + 0.00010714000024521507_r8, 0.00011409761005036186_r8, & + 0.00010360575801484272_r8, 0.00013725350946554627_r8, & + 0.00013844596732750581_r8, 0.00014954260361018813_r8, & + 0.00018134622956992479_r8, 0.00027266883730044865_r8, & + 0.00027093471838587728_r8, 0.00019495704015080968_r8, & + 0.00011322755296765621_r8, 8.9685604575230027e-05_r8, & + 6.5526379271845249e-05_r8, 7.2593761133900469e-05_r8, & + 7.4100280539557837e-05_r8, 7.2340788154481216e-05_r8, & + 7.186952830677303e-05_r8, 7.2554519813678453e-05_r8, & + 7.3175134638843846e-05_r8, 7.5387287432547763e-05_r8, & + 7.7293219703251977e-05_r8, 7.8991502292022418e-05_r8, & + 8.1699108023369036e-05_r8, 8.6016418077694573e-05_r8, & + 8.9687119122961112e-05_r8, 9.4144338239579708e-05_r8, & + 9.9936342446239863e-05_r8, 0.00011450882589715639_r8, & + 0.00011572925784835352_r8, 0.00011348821832618796_r8, & + 0.00011265435926404563_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,44,46) / & + 8.5066298917298928e-05_r8, 0.00010190080247358449_r8, & + 8.5039158838732826e-05_r8, 0.00011337022043174527_r8, & + 0.00011979872223713809_r8, 0.0001302618411774829_r8, & + 0.00015989943287133811_r8, 0.00017707927169672045_r8, & + 0.00011160303531699204_r8, 7.5422424023981478e-05_r8, & + 6.4945019876518884e-05_r8, 7.2834382232300079e-05_r8, & + 6.852576015971073e-05_r8, 7.2663947347223202e-05_r8, & + 7.2835155563427079e-05_r8, 7.35236879070886e-05_r8, & + 7.3155709581018875e-05_r8, 7.3369749350376762e-05_r8, & + 7.4768231700759083e-05_r8, 7.8514969553542433e-05_r8, & + 8.1090685549610459e-05_r8, 8.3837250150574195e-05_r8, & + 8.755141768671291e-05_r8, 9.2860878315757935e-05_r8, & + 9.6661750937854381e-05_r8, 0.00010165501862618531_r8, & + 0.00010737234639971196_r8, 0.00011718204037016033_r8, & + 0.00012460336055408408_r8, 0.00012326370057963974_r8, & + 0.0001221818345817835_r8, 0.00012142719461467598_r8, & + 0.00011237087804510378_r8, 0.00011350371554075345_r8, & + 0.00011763283347936517_r8, 0.00011798058002734215_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,46) / & + 7.889553162008935e-05_r8, 0.00010611822031032909_r8, & + 9.1203551521871224e-05_r8, 0.00011386181115591808_r8, & + 0.00012448412297224028_r8, 0.0001340065788569623_r8, & + 0.0001311188412249925_r8, 8.6995843280889795e-05_r8, & + 6.800981057141002e-05_r8, 6.5783487981256074e-05_r8, & + 6.6637478351626775e-05_r8, 6.8868349563740576e-05_r8, & + 6.8293539718703261e-05_r8, 7.0383834060857848e-05_r8, & + 7.1576298183516392e-05_r8, 7.3020994929825079e-05_r8, & + 7.3188475361575127e-05_r8, 7.3610552666232448e-05_r8, & + 7.5740320200317449e-05_r8, 7.9374373188201183e-05_r8, & + 8.2208429822607204e-05_r8, 8.5865918020469612e-05_r8, & + 8.9716741176938596e-05_r8, 9.4444579506612259e-05_r8, & + 9.9951460167779647e-05_r8, 0.00010458468533775725_r8, & + 0.00011089728616114029_r8, 0.00012036872570398753_r8, & + 0.00012394430187775128_r8, 0.00012191048039372285_r8, & + 0.00012044422261812359_r8, 0.00012059298440128203_r8, & + 0.00011897648426955965_r8, 0.00011913735689037424_r8, & + 0.00012052990563595056_r8, 0.00012104331773090369_r8, & + 0.00012429995262658514_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,47) / & + 0.00010232422173399215_r8, 0.00010542486251157281_r8, & + 0.00011677946967036049_r8, 0.00013471244386352964_r8, & + 0.00013861138422299385_r8, 0.0001478984915139516_r8, & + 0.00016298144802936182_r8, 0.00017211115372722129_r8, & + 0.00018071550184682649_r8, 0.00018809198625448676_r8, & + 0.0001942648946987707_r8, 0.0001985686760855201_r8, & + 0.0002093886292889652_r8, 0.00021791212117547982_r8, & + 0.00022677775772339661_r8, 0.00023329139128912445_r8, & + 0.00024601138499083216_r8, 0.00025913094904699805_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,2,47) / & + 0.00010232422173399215_r8, 0.00010542486251157281_r8, & + 0.00011677946967036049_r8, 0.00013471244386352964_r8, & + 0.00013861138422299385_r8, 0.0001478984915139516_r8, & + 0.00016298144802936182_r8, 0.00017211115372722129_r8, & + 0.00018071550184682649_r8, 0.00018809198625448676_r8, & + 0.0001942648946987707_r8, 0.0001985686760855201_r8, & + 0.0002093886292889652_r8, 0.00021791212117547982_r8, & + 0.00022677775772339661_r8, 0.00023329139128912445_r8, & + 0.00024601138499083216_r8, 0.00025913094904699805_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,3,47) / & + 0.00010232422173399215_r8, 0.00010542486251157281_r8, & + 0.00011677946967036049_r8, 0.00013471244386352964_r8, & + 0.00013861138422299385_r8, 0.0001478984915139516_r8, & + 0.00016298144802936182_r8, 0.00017211115372722129_r8, & + 0.00018071550184682649_r8, 0.00018809198625448676_r8, & + 0.0001942648946987707_r8, 0.0001985686760855201_r8, & + 0.0002093886292889652_r8, 0.00021791212117547982_r8, & + 0.00022677775772339661_r8, 0.00023329139128912445_r8, & + 0.00024601138499083216_r8, 0.00025913094904699805_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,4,47) / & + 0.00011324348792748536_r8, 0.00011333510653109389_r8, & + 0.00011919616209957597_r8, 0.00012901352624371273_r8, & + 0.00013193788079672621_r8, 0.00013605586289585004_r8, & + 0.0001504111396155158_r8, 0.00016125710219412558_r8, & + 0.00016889911387074139_r8, 0.00017658042185334218_r8, & + 0.00018357457782650001_r8, 0.00018738929083034873_r8, & + 0.00019726375644143042_r8, 0.00020488527761934383_r8, & + 0.00021149376637072718_r8, 0.00021849075937855185_r8, & + 0.00022622419899155402_r8, 0.00022613279611359566_r8, & + 0.00023283898031301305_r8, 0.00024103531245595698_r8, & + 0.00024493672201106673_r8, 0.00024877314359535613_r8, & + 0.00025197856762135897_r8, 0.00025612412339901712_r8, & + 0.00025950579019950245_r8, 0.00026275223465678705_r8, & + 0.000266240776698791_r8, 0.00026864420997378403_r8, & + 0.00027059723885577638_r8, 0.00027462001343023018_r8, & + 0.00028077848561464694_r8, 0.00028502103104811476_r8, & + 0.00028768436864399789_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,47) / & + 0.00012357769383146246_r8, 0.00012316030655740772_r8, & + 0.00012002195919577619_r8, 0.00012393988180506055_r8, & + 0.00012981059371489141_r8, 0.00013410863246063803_r8, & + 0.00014732627836864154_r8, 0.00015652245112780512_r8, & + 0.00016351816598508497_r8, 0.00017194729440572288_r8, & + 0.00017989502930452052_r8, 0.000185516035142225_r8, & + 0.00019273814255544412_r8, 0.00019799357533230969_r8, & + 0.00020235656089716015_r8, 0.00020493182222938388_r8, & + 0.00020874445974758895_r8, 0.00022339274302274188_r8, & + 0.00023226228801983293_r8, 0.0002400447203887625_r8, & + 0.00024524486008498922_r8, 0.00024751064881888875_r8, & + 0.00025079771714342698_r8, 0.00025581371547129655_r8, & + 0.00025976173372486809_r8, 0.00026275473784901732_r8, & + 0.00026611301737786803_r8, 0.0002714599092747713_r8, & + 0.00027474787452493369_r8, 0.00027726007748408326_r8, & + 0.00027860592750417478_r8, 0.00027784956251744613_r8, & + 0.00027273885266105885_r8, 0.00026282195646312712_r8, & + 0.00025064707959105505_r8, 0.00024410836899439839_r8, & + 0.00023803643145291027_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,47) / & + 9.8207896180887858e-05_r8, 9.8133083619159547e-05_r8, & + 8.9900096170304308e-05_r8, 9.3007786821372947e-05_r8, & + 9.4202957156133205e-05_r8, 9.804778056539508e-05_r8, & + 0.00012206229672701942_r8, 0.00013708639266021548_r8, & + 0.00014917803953715868_r8, 0.00015986361193018645_r8, & + 0.00016608362886849496_r8, 0.00017208527176686234_r8, & + 0.00017954724422540152_r8, 0.00018530016062787206_r8, & + 0.00018958897936262041_r8, 0.00019294143619187924_r8, & + 0.00019900638754793794_r8, 0.00020539811935381299_r8, & + 0.00021068613300650481_r8, 0.00021619888449964659_r8, & + 0.00022108175011231342_r8, 0.00022584995458177465_r8, & + 0.0002305645290909133_r8, 0.00023507822513656583_r8, & + 0.00023966593655935759_r8, 0.00024444578227782296_r8, & + 0.00024853245187192582_r8, 0.00025778214407223675_r8, & + 0.00026515644798383558_r8, 0.00027031242546069292_r8, & + 0.00027314259629708884_r8, 0.00027359971912146552_r8, & + 0.00027057294296953824_r8, 0.00026322848963543019_r8, & + 0.0002506350079383354_r8, 0.00024647747931304769_r8, & + 0.00023413903696593003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,47) / & + 4.0064228721421016e-05_r8, 3.9573800192331465e-05_r8, & + 3.3366216895591106e-05_r8, 3.8092051451853561e-05_r8, & + 3.4299231551544118e-05_r8, 2.7826815572044355e-05_r8, & + 3.9072378469516951e-05_r8, 5.7251636355312247e-05_r8, & + 7.1233006622933715e-05_r8, 8.6580003712820132e-05_r8, & + 9.2794480466205565e-05_r8, 9.7633624691052256e-05_r8, & + 0.00010646173109994355_r8, 0.00011636466347452487_r8, & + 0.00012663880213926594_r8, 0.00013531920047671518_r8, & + 0.0001489150119684162_r8, 0.00015895795556900171_r8, & + 0.0001665294833731426_r8, 0.00017273959420941609_r8, & + 0.00017836620594472043_r8, 0.00018339870293720449_r8, & + 0.00018715866587282298_r8, 0.00019120589637936099_r8, & + 0.00019514314127118521_r8, 0.00019983203918934913_r8, & + 0.00020436907464182552_r8, 0.00021630926267466973_r8, & + 0.00022777347374049306_r8, 0.00023836981747985678_r8, & + 0.00024818361090762946_r8, 0.00025671124115527746_r8, & + 0.00026329142574542185_r8, 0.00026789662527219464_r8, & + 0.00027102175245232216_r8, 0.00027256197888701181_r8, & + 0.00027421588969683304_r8, 0.00027382664850878911_r8, & + 0.00027417438496814034_r8, 0.00027466786518162727_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,47) / & + 7.1894261091320354e-06_r8, 6.7719546141132979e-06_r8, & + 6.7446843962947824e-06_r8, 1.174997659959874e-05_r8, & + 9.7731742375085454e-06_r8, 8.726626035878901e-06_r8, & + 1.0384834587676033e-05_r8, 1.4224145929061662e-05_r8, & + 1.7945728186960077e-05_r8, 2.4107437239832785e-05_r8, & + 2.6980269220436e-05_r8, 3.1532211301344452e-05_r8, & + 3.8123454983277949e-05_r8, 4.5044408075360976e-05_r8, & + 5.4599812760477671e-05_r8, 6.4520874440584299e-05_r8, & + 8.4391947495463109e-05_r8, 0.00010315892278228703_r8, & + 0.00011952294891226415_r8, 0.00013317481939739424_r8, & + 0.00014522941214338347_r8, 0.00015511258032061342_r8, & + 0.00016215018361598731_r8, 0.00016747004211162977_r8, & + 0.00017223930222400925_r8, 0.00017673844540132155_r8, & + 0.00018088742931746742_r8, 0.00019006639594482816_r8, & + 0.00020039515535665719_r8, 0.00021119254623194595_r8, & + 0.00022320870284120971_r8, 0.00023429677095136297_r8, & + 0.00024375527330837847_r8, 0.00025261408747234313_r8, & + 0.00025987294934714215_r8, 0.00026548747401835507_r8, & + 0.00027040943717826878_r8, 0.00027206088304684644_r8, & + 0.00027329389707783435_r8, 0.0002741884338195182_r8, & + 0.00027611741296096191_r8, 0.00027684525787978058_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,47) / & + 2.902535368509255e-06_r8, 3.6519216944092349e-06_r8, & + 3.5305431681104152e-06_r8, 5.197212616043003e-06_r8, & + 5.3132482902419108e-06_r8, 5.7697549300361395e-06_r8, & + 5.9787577218746002e-06_r8, 7.8496436131631808e-06_r8, & + 8.6836466632409891e-06_r8, 1.0172803327482931e-05_r8, & + 1.1250983970822547e-05_r8, 1.3641166818509349e-05_r8, & + 1.6938601714998482e-05_r8, 1.9257542582545315e-05_r8, & + 2.1985695404354757e-05_r8, 2.5682789725725362e-05_r8, & + 3.6879945207628642e-05_r8, 5.1450272440166778e-05_r8, & + 6.8951489640034828e-05_r8, 8.5381206091654093e-05_r8, & + 0.00010204052530161956_r8, 0.00011658944396685572_r8, & + 0.00013050847379145582_r8, 0.00014226976043761353_r8, & + 0.00015244611577578364_r8, 0.0001609043699707115_r8, & + 0.00016756259081380931_r8, 0.0001787423716395601_r8, & + 0.00018665732795140322_r8, 0.00019430079679280421_r8, & + 0.00020507034630002673_r8, 0.00021661704952191332_r8, & + 0.00022746531060776774_r8, 0.00023865219448640729_r8, & + 0.00024838480644037096_r8, 0.00025620749001574423_r8, & + 0.00026338450979746403_r8, 0.0002676612784422863_r8, & + 0.00027150644391148057_r8, 0.00027374315658188549_r8, & + 0.00027602155605849796_r8, 0.00027602874237034179_r8, & + 0.00027562362667716265_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,47) / & + 4.5014639738084638e-06_r8, 5.1916485324331352e-06_r8, & + 3.9760369495429225e-06_r8, 3.3548325892821873e-06_r8, & + 3.5485106692426259e-06_r8, 3.7724031029659014e-06_r8, & + 4.7541658442723706e-06_r8, 6.7512504919228646e-06_r8, & + 8.0265877448969045e-06_r8, 8.5231717622184208e-06_r8, & + 9.1486565875150125e-06_r8, 1.0916813804459688e-05_r8, & + 1.3475662627219857e-05_r8, 1.5125619761413342e-05_r8, & + 1.6744427943237034e-05_r8, 1.8852175168534017e-05_r8, & + 2.5759837298387635e-05_r8, 3.5104703223378083e-05_r8, & + 4.8695827494189856e-05_r8, 6.3514787616879501e-05_r8, & + 7.9498898567833059e-05_r8, 9.5266345949441788e-05_r8, & + 0.00011075142503080322_r8, 0.00012559666308100052_r8, & + 0.00013882883653296927_r8, 0.00015089704652033041_r8, & + 0.00016207933535969526_r8, 0.0001801605516525637_r8, & + 0.00018932597456604406_r8, 0.00019361326199850476_r8, & + 0.00019966399155168152_r8, 0.00020955892844594945_r8, & + 0.00022083857348167461_r8, 0.00023255157608312061_r8, & + 0.00024345792869434943_r8, 0.0002529083036073568_r8, & + 0.00026144441083981654_r8, 0.00026598119486612116_r8, & + 0.00027075677931794268_r8, 0.00027276129384811826_r8, & + 0.0002749933808858532_r8, 0.00027549022455039811_r8, & + 0.00027541894193618924_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,47) / & + 3.56674106410153e-06_r8, 3.5772817530353012e-06_r8, & + 2.9325660736991606e-06_r8, 3.2989001500305811e-06_r8, & + 3.4733918099393124e-06_r8, 3.6777572896158973e-06_r8, & + 4.4180288594101677e-06_r8, 5.7227369264119297e-06_r8, & + 6.5857871135076496e-06_r8, 7.6816459828287502e-06_r8, & + 8.5786420587715176e-06_r8, 9.9393230923696403e-06_r8, & + 1.1833214295943993e-05_r8, 1.3178266556277141e-05_r8, & + 1.4530700385711719e-05_r8, 1.6134759062411266e-05_r8, & + 2.0568368647923291e-05_r8, 2.7642167575542907e-05_r8, & + 3.7381733087093857e-05_r8, 4.9660033435557846e-05_r8, & + 6.4120945260057784e-05_r8, 8.1002277570220492e-05_r8, & + 9.8270736820215782e-05_r8, 0.000114494048016785_r8, & + 0.00013014816069116099_r8, 0.00014472164363442768_r8, & + 0.00015998871911336102_r8, 0.00018778706642903317_r8, & + 0.00020229323706897506_r8, 0.00020522848784391756_r8, & + 0.00020414535879710499_r8, 0.00020988086414426042_r8, & + 0.00022093841129635191_r8, 0.00023209317860143817_r8, & + 0.00024297596754714476_r8, 0.00025344593822586764_r8, & + 0.00026210524046289455_r8, 0.00026559515852938128_r8, & + 0.0002705484329854253_r8, 0.00027221610657319155_r8, & + 0.00027376552948994167_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,47) / & + 3.4018066662918732e-06_r8, 3.2371191398328447e-06_r8, & + 2.7209336515790515e-06_r8, 3.0522861302760559e-06_r8, & + 3.2706107292907436e-06_r8, 3.6279373716951211e-06_r8, & + 4.1061948180734761e-06_r8, 5.0025047521102967e-06_r8, & + 5.5746316163787917e-06_r8, 6.1578457928675953e-06_r8, & + 6.6847119097883332e-06_r8, 8.0789139776243116e-06_r8, & + 1.0035375761668639e-05_r8, 1.1406714994163728e-05_r8, & + 1.3312235044868687e-05_r8, 1.4988391552994261e-05_r8, & + 1.8286883883963265e-05_r8, 2.2252759824931539e-05_r8, & + 2.8666982270744665e-05_r8, 3.8230873886187573e-05_r8, & + 5.0348764144399903e-05_r8, 6.447909914165935e-05_r8, & + 8.5543169771885329e-05_r8, 0.00010458290030152546_r8, & + 0.00012534350773754847_r8, 0.00014517829369954194_r8, & + 0.00016747354856063145_r8, 0.00020758806722337713_r8, & + 0.00023509455734326771_r8, 0.00024650554022116587_r8, & + 0.00024555420279981024_r8, 0.00023723503276619647_r8, & + 0.00023219460748314215_r8, 0.00023350123985554013_r8, & + 0.00024064738478000742_r8, 0.00025027147359097318_r8, & + 0.00025914540347287513_r8, 0.00026475003345025272_r8, & + 0.00026810249427200325_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,47) / & + 2.9513007839435562e-06_r8, 2.8301578926842554e-06_r8, & + 2.1118953039465649e-06_r8, 3.0256902799336799e-06_r8, & + 3.3128481676167918e-06_r8, 3.9550745107877759e-06_r8, & + 3.4944424092843862e-06_r8, 4.547693530771562e-06_r8, & + 5.4183255294352581e-06_r8, 6.0979949582697923e-06_r8, & + 6.5505427401769475e-06_r8, 7.492958860072182e-06_r8, & + 8.9894254179512985e-06_r8, 1.0508091546412222e-05_r8, & + 1.2751044806293767e-05_r8, 1.4422671760004631e-05_r8, & + 1.7381577722279313e-05_r8, 2.0560433598137012e-05_r8, & + 2.6517865572368565e-05_r8, 3.5992186115806893e-05_r8, & + 4.9970551691063958e-05_r8, 6.5005315149787714e-05_r8, & + 8.4739392298661224e-05_r8, 0.00010461631357944148_r8, & + 0.00012652294139714137_r8, 0.00014651620195218866_r8, & + 0.00016740554427278003_r8, 0.00020671858601126224_r8, & + 0.0002328410402529166_r8, 0.0002487405959398172_r8, & + 0.00025723653057497207_r8, 0.00025241684614761832_r8, & + 0.00024046337551937878_r8, 0.00023524851380884529_r8, & + 0.0002398573212355495_r8, 0.0002487561871519202_r8, & + 0.00025726987742608201_r8, 0.00026267313850169996_r8, & + 0.00026585162879973282_r8, 0.00026696181517841356_r8, & + 0.00026764167247174013_r8, 0.00026840724413349084_r8, & + 0.0002689159649359868_r8, 0.00026894904034133654_r8, 9e90_r8 & + / +data saar_ref(:,14,47) / & + 3.4105689132296372e-06_r8, 3.3799469664276288e-06_r8, & + 2.5191735054977859e-06_r8, 3.8408730032229149e-06_r8, & + 4.2457392823849314e-06_r8, 4.7964274556857313e-06_r8, & + 5.8554823921015166e-06_r8, 4.2630222755239213e-06_r8, & + 4.6354231677727579e-06_r8, 5.2924121962076198e-06_r8, & + 5.9457407419847859e-06_r8, 6.8228261720699571e-06_r8, & + 8.2616538022590963e-06_r8, 9.678172653179691e-06_r8, & + 1.1345857840211989e-05_r8, 1.293864371148652e-05_r8, & + 1.5696180145604831e-05_r8, 1.8387020998051224e-05_r8, & + 2.353767916557719e-05_r8, 3.2790609181395692e-05_r8, & + 4.7826252494094418e-05_r8, 6.4354089537008098e-05_r8, & + 8.4011531338077045e-05_r8, 0.0001058371186962446_r8, & + 0.00013049844091835304_r8, 0.00015187091951824534_r8, & + 0.00017137478826849753_r8, 0.00021199955013866695_r8, & + 0.00023774502549971053_r8, 0.00025361861165956365_r8, & + 0.00026589879623780625_r8, 0.00026722993090891534_r8, & + 0.0002543908920399745_r8, 0.00024153077937168828_r8, & + 0.000240937905678195_r8, 0.00024847790401337998_r8, & + 0.00025604365610497364_r8, 0.00026146786491605873_r8, & + 0.00026499050989062798_r8, 0.00026678353301279296_r8, & + 0.00026801237068354504_r8, 0.00026887300679331351_r8, & + 0.00026934656409198233_r8, 0.00026952789513647171_r8, & + 0.00027001791625889005_r8 & + / +data saar_ref(:,15,47) / & + 4.7626909501006171e-06_r8, 4.7062396808321716e-06_r8, & + 4.1674600871163096e-06_r8, 3.4395593026500605e-06_r8, & + 4.0427096955119327e-06_r8, 4.7990511897183629e-06_r8, & + 6.907384435512602e-06_r8, 6.8580265345144956e-06_r8, & + 6.6189875166343079e-06_r8, 6.308566849856526e-06_r8, & + 6.3485936269482001e-06_r8, 6.0150224867916273e-06_r8, & + 6.8439404068742041e-06_r8, 8.2579912172666902e-06_r8, & + 9.7922090797463381e-06_r8, 1.1525079494377302e-05_r8, & + 1.4968570334025017e-05_r8, 1.8202786586682486e-05_r8, & + 2.3390621261974666e-05_r8, 3.2818208559016096e-05_r8, & + 4.7258897726813277e-05_r8, 6.6232474922790899e-05_r8, & + 8.8287355663905706e-05_r8, 0.00011241420621765168_r8, & + 0.00013821427518107742_r8, 0.0001608930896654077_r8, & + 0.00018040485108719364_r8, 0.00022022998241762325_r8, & + 0.00024260297390567398_r8, 0.00025821781474392048_r8, & + 0.00026956315050464163_r8, 0.0002726496676084063_r8, & + 0.00026403387391653956_r8, 0.00024852006055562167_r8, & + 0.00024293138761897175_r8, 0.00024824944800568764_r8, & + 0.00025579927264599971_r8, 0.00026089139843959227_r8, & + 0.00026480235342518247_r8, 0.00026682829367177726_r8, & + 0.00026812170985421752_r8, 0.00026880579233278754_r8, & + 0.00026940316035858495_r8, 0.00026937542757661677_r8, & + 0.00027019308562221386_r8 & + / +data saar_ref(:,16,47) / & + 5.2836642476685075e-06_r8, 5.2209784781859658e-06_r8, & + 5.1472190589006102e-06_r8, 2.9949564017356141e-06_r8, & + 3.1323782202314988e-06_r8, 3.3381590374845122e-06_r8, & + 3.9610968882466693e-06_r8, 4.3447362229687935e-06_r8, & + 5.0766081582483627e-06_r8, 5.6505437678795789e-06_r8, & + 6.1009249750713904e-06_r8, 5.3482436271566933e-06_r8, & + 4.9018130774075924e-06_r8, 6.0335421170348166e-06_r8, & + 7.6818296885372561e-06_r8, 9.7644403477369627e-06_r8, & + 1.4965356959817448e-05_r8, 1.9952644831431789e-05_r8, & + 2.6683129944018407e-05_r8, 3.7797178611802043e-05_r8, & + 5.4576785440219036e-05_r8, 7.8627100376574163e-05_r8, & + 0.00010412249636913476_r8, 0.00013053405372058228_r8, & + 0.00015719306364836048_r8, 0.00017979675380527701_r8, & + 0.00019758082563210195_r8, 0.00023401348226727449_r8, & + 0.00025486473480012411_r8, 0.00027056421307909348_r8, & + 0.00028370074313709712_r8, 0.00029169397129784937_r8, & + 0.00029048550762766554_r8, 0.00027610312443871463_r8, & + 0.00026110328916525527_r8, 0.0002596655178180872_r8, & + 0.00026475030758459967_r8, 0.00027038598268365612_r8, & + 0.00027503495161820813_r8, 0.00027755021561299507_r8, & + 0.00027895850447333295_r8, 0.00027965032816790176_r8, & + 0.00028035207038027256_r8, 0.0002808281096445003_r8, & + 0.00028319411079445446_r8 & + / +data saar_ref(:,17,47) / & + 4.7007432987510242e-06_r8, 4.6975457349046968e-06_r8, & + 4.8069662965706669e-06_r8, 3.1212173430827397e-06_r8, & + 3.1704531549638105e-06_r8, 3.2465851456771454e-06_r8, & + 3.3501889547311788e-06_r8, 3.3773977489940592e-06_r8, & + 3.3999673697505345e-06_r8, 3.4769353869759674e-06_r8, & + 3.6679634778258243e-06_r8, 3.9685212882732989e-06_r8, & + 4.2396020173930775e-06_r8, 4.9736881847603872e-06_r8, & + 6.9363776759270079e-06_r8, 9.7769723811416174e-06_r8, & + 1.6537876275717153e-05_r8, 2.3990391297375153e-05_r8, & + 3.6973316666923315e-05_r8, 5.7601757248009658e-05_r8, & + 8.2807968163325519e-05_r8, 0.00011347272367151018_r8, & + 0.00014019869523327659_r8, 0.00016434938359667953_r8, & + 0.00018716269983464037_r8, 0.00020499024282930755_r8, & + 0.00022130825618304356_r8, 0.00025051493980530641_r8, & + 0.00026924911281719558_r8, 0.00028402022860706926_r8, & + 0.00029789808158285381_r8, 0.00030889802762426989_r8, & + 0.00031330859526667101_r8, 0.00029806850166582636_r8, & + 0.00027782834750990175_r8, 0.00027278979105236902_r8, & + 0.00027644944545581873_r8, 0.00028139639866957565_r8, & + 0.00028597949905432814_r8, 0.00028877423553640928_r8, & + 0.00029038215289026566_r8, 0.00029138352308003034_r8, & + 0.0002921288326173524_r8, 0.00029283998694134796_r8, & + 0.00029554406119883692_r8 & + / +data saar_ref(:,18,47) / & + 4.5608270579529009e-06_r8, 4.5806468310892061e-06_r8, & + 4.5719804168603395e-06_r8, 3.7317561912119141e-06_r8, & + 3.7345351070202754e-06_r8, 3.75348909754325e-06_r8, & + 4.0122631746634929e-06_r8, 3.7712828263521446e-06_r8, & + 3.5592933305511077e-06_r8, 3.5115973982443881e-06_r8, & + 3.5280597911937928e-06_r8, 4.3026955704003638e-06_r8, & + 4.981759807966135e-06_r8, 5.415766628123602e-06_r8, & + 8.7553977480165433e-06_r8, 1.3496582091979451e-05_r8, & + 2.3161042012003598e-05_r8, 3.5977186116958113e-05_r8, & + 5.6802501565980232e-05_r8, 8.6201305569464138e-05_r8, & + 0.00011487487280183311_r8, 0.00014665821804430321_r8, & + 0.00016900524507186161_r8, 0.00019467331569395936_r8, & + 0.00021345364835186769_r8, 0.00022923579031407855_r8, & + 0.00024260172134989738_r8, 0.00026637300998451802_r8, & + 0.00028502160355680831_r8, 0.00030082439004339731_r8, & + 0.00031621647577250003_r8, 0.0003262763600256005_r8, & + 0.00033552752823173511_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,47) / & + 5.0354367885614847e-06_r8, 4.9926185769009863e-06_r8, & + 4.925277989586061e-06_r8, 4.7993274050959758e-06_r8, & + 4.8152010427554054e-06_r8, 4.848788451802583e-06_r8, & + 4.8213672168560367e-06_r8, 4.9684233480264928e-06_r8, & + 4.7924275325251363e-06_r8, 4.7393081576721625e-06_r8, & + 4.7446937694772703e-06_r8, 5.8148402127219545e-06_r8, & + 8.3030953894928032e-06_r8, 1.3253609347927888e-05_r8, & + 2.0952052499102364e-05_r8, 3.1054665324413792e-05_r8, & + 4.846001725591769e-05_r8, 7.3288021466749433e-05_r8, & + 0.00010036561083848939_r8, 0.00012862974234592936_r8, & + 0.00015345255923259116_r8, 0.00017781755615038704_r8, & + 0.00019909852762270736_r8, 0.00022033269018554311_r8, & + 0.00023729107468675482_r8, 0.00025303640003937792_r8, & + 0.00026529610224708405_r8, 0.00028886990645607538_r8, & + 0.00031177099449804653_r8, 0.00033206892200698176_r8, & + 0.0003457355090423732_r8, 0.00035214426164278544_r8, & + 0.00035631187092487383_r8, 0.0003550094672191279_r8, & + 0.0003481551488411375_r8, 0.00032915044568112775_r8, & + 0.00031453142445174323_r8, 0.00030830839731800432_r8, & + 0.00030896536632021713_r8, 0.00031042361228791172_r8, & + 0.00031126995954872463_r8, 0.00031053476200265033_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,47) / & + 5.5094523509914797e-06_r8, 5.3942608178135165e-06_r8, & + 5.29601891343424e-06_r8, 5.4792689963065082e-06_r8, & + 5.5038248419305033e-06_r8, 5.4947822168248756e-06_r8, & + 5.2011453888562757e-06_r8, 5.653480967614421e-06_r8, & + 6.360692025620212e-06_r8, 6.605190128719909e-06_r8, & + 6.971245699253108e-06_r8, 8.7101005964516768e-06_r8, & + 1.585231326467085e-05_r8, 2.699404549085008e-05_r8, & + 3.9762711782910406e-05_r8, 5.4510017683360837e-05_r8, & + 7.8053450839597811e-05_r8, 0.00010457031114171552_r8, & + 0.0001292762115654992_r8, 0.00015439797098677516_r8, & + 0.00017655513599907101_r8, 0.00019844783103520214_r8, & + 0.00021993665931113648_r8, 0.00024010189480203964_r8, & + 0.00025887001931591374_r8, 0.00027539042192587849_r8, & + 0.00028927118651123871_r8, 0.00031844555933445402_r8, & + 0.00034035464634084083_r8, 0.00035746521243135317_r8, & + 0.00036787563781595688_r8, 0.00037347340927211103_r8, & + 0.00037552513352306823_r8, 0.00037474181290133711_r8, & + 0.00037005313214835261_r8, 0.00036207799153206374_r8, & + 0.00035062584447619679_r8, 0.00034198209639892357_r8, & + 0.0003370191287424075_r8, 0.00033598725828648611_r8, & + 0.00033375271703087867_r8, 0.00033354216017713326_r8, & + 0.00033223427922120664_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,47) / & + 5.8224305178714648e-06_r8, 5.6447363075201342e-06_r8, & + 5.5530416800387361e-06_r8, 6.0648718847364691e-06_r8, & + 6.1132812996389309e-06_r8, 6.1944892752218556e-06_r8, & + 5.8352458207562414e-06_r8, 5.9931202763109828e-06_r8, & + 6.9650865899608555e-06_r8, 7.9982380827245729e-06_r8, & + 1.0096852125365623e-05_r8, 1.5131166751408596e-05_r8, & + 2.7230016813096378e-05_r8, 4.3223814340676051e-05_r8, & + 5.9649999332502645e-05_r8, 7.3767271480049338e-05_r8, & + 9.6461316418410662e-05_r8, 0.00012004576172754789_r8, & + 0.00014468620654947164_r8, 0.00016961952704181227_r8, & + 0.00019299429560613719_r8, 0.00021753554753358912_r8, & + 0.00023981643915186985_r8, 0.00026121478443121346_r8, & + 0.00028158489624262274_r8, 0.00029932462491420936_r8, & + 0.00031500576105039413_r8, 0.00034652547181618566_r8, & + 0.0003683902776252358_r8, 0.00038397249914823262_r8, & + 0.00039250760813718308_r8, 0.00039647061092441891_r8, & + 0.0003966982390878531_r8, 0.00039531136533568751_r8, & + 0.00039184683536644361_r8, 0.00038693244469465625_r8, & + 0.0003772216709999731_r8, 0.00036498778478823195_r8, & + 0.00035616427647430711_r8, 0.00035194074411258662_r8, & + 0.00034947749874463647_r8, 0.00034833790683724863_r8, & + 0.00034764350774910065_r8, 0.00034856526994131833_r8, 9e90_r8 & + / +data saar_ref(:,22,47) / & + 6.1068546451543985e-06_r8, 6.0014992597196824e-06_r8, & + 5.9500729613120127e-06_r8, 7.6174630608313312e-06_r8, & + 7.8491722310897185e-06_r8, 8.0253928641453515e-06_r8, & + 8.1361572936125032e-06_r8, 8.65932503584048e-06_r8, & + 9.4391607932856608e-06_r8, 1.2441198946784592e-05_r8, & + 2.0630923161375249e-05_r8, 2.9038445280566368e-05_r8, & + 4.5794071674161685e-05_r8, 6.0760990913611589e-05_r8, & + 7.6269910657172755e-05_r8, 8.9880897523120169e-05_r8, & + 0.00011165443632815943_r8, 0.0001381189058542736_r8, & + 0.00016602479926138973_r8, 0.00019123990000698341_r8, & + 0.00021361190896442207_r8, 0.00024083315180882457_r8, & + 0.00026446947833088817_r8, 0.0002860581248424343_r8, & + 0.00030601764371295795_r8, 0.00032503631831039048_r8, & + 0.0003431684838930995_r8, 0.00037519038181039305_r8, & + 0.0003981282267342589_r8, 0.00041287335336497624_r8, & + 0.00042013875250223259_r8, 0.00042286405507776441_r8, & + 0.00042187964072496907_r8, 0.00041923602707608472_r8, & + 0.00041516772221337486_r8, 0.00041050779364693572_r8, & + 0.00040136292861830112_r8, 0.00038796126058199769_r8, & + 0.00037647067043700361_r8, 0.00037064712444880244_r8, & + 0.00036696701243170773_r8, 0.00036496858692951559_r8, & + 0.00036345972635968497_r8, 0.00036451223423805598_r8, 9e90_r8 & + / +data saar_ref(:,23,47) / & + 5.7959993070425052e-06_r8, 5.752340241543966e-06_r8, & + 5.7678658538193638e-06_r8, 8.2626029958877289e-06_r8, & + 8.6192143724891002e-06_r8, 8.8045067138324575e-06_r8, & + 9.9027339526746791e-06_r8, 1.2338424973046758e-05_r8, & + 1.4147054475680579e-05_r8, 1.889370422051345e-05_r8, & + 3.3999507819846847e-05_r8, 4.4625197444292734e-05_r8, & + 6.5619072219806073e-05_r8, 7.8934688376338055e-05_r8, & + 9.236549356264983e-05_r8, 0.00010526428997644497_r8, & + 0.00012698993449384893_r8, 0.0001567909227834167_r8, & + 0.00018672239695733143_r8, 0.0002131581148211596_r8, & + 0.00023673576311107296_r8, 0.00026459888682827981_r8, & + 0.00029005399638329588_r8, 0.00031241993492670802_r8, & + 0.00033284252055396389_r8, 0.00035331011947841763_r8, & + 0.00037260517086432933_r8, 0.0004022123972298059_r8, & + 0.00042716643982869412_r8, 0.00044287990235857949_r8, & + 0.00044985412568179637_r8, 0.000450429470007601_r8, & + 0.00044801398565695545_r8, 0.00044365513118217124_r8, & + 0.00043935652125295038_r8, 0.00043290004372108335_r8, & + 0.00042202634532970351_r8, 0.00040735662538347194_r8, & + 0.00039443015517986655_r8, 0.0003901153065285873_r8, & + 0.00038641348754606635_r8, 0.00038322583274383033_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,47) / & + 5.395488866075083e-06_r8, 5.4064216092483521e-06_r8, & + 5.7103571721308772e-06_r8, 6.8557483900447647e-06_r8, & + 6.9126770216525121e-06_r8, 6.8620948189124471e-06_r8, & + 9.386366757582325e-06_r8, 1.4751364035945797e-05_r8, & + 1.8074270376219799e-05_r8, 2.7544352662002383e-05_r8, & + 4.6415903330972322e-05_r8, 6.3211529790508205e-05_r8, & + 8.6747633805410974e-05_r8, 9.9699052085397798e-05_r8, & + 0.00010994282326897629_r8, 0.00012096045070326169_r8, & + 0.00014373069526728608_r8, 0.00017326848438536333_r8, & + 0.00020410380063218961_r8, 0.00023153203353576084_r8, & + 0.00025681713643827491_r8, 0.00028260418669642085_r8, & + 0.00030913957332383881_r8, 0.00033234599186816334_r8, & + 0.00035388933920171113_r8, 0.00037475026688321705_r8, & + 0.00039316776267404977_r8, 0.00042294651255170843_r8, & + 0.00045027620342347267_r8, 0.0004651179853476646_r8, & + 0.00047319922548153269_r8, 0.00047507428210950988_r8, & + 0.00047326250750721064_r8, 0.00046916361649160324_r8, & + 0.00046353551185520069_r8, 0.00045360454694526857_r8, & + 0.00043999231039197628_r8, 0.00042431137077452564_r8, & + 0.00041264194722283098_r8, 0.00040615175571315736_r8, & + 0.00040393974096587478_r8, 0.00040187788857655042_r8, & + 0.00040079924871968734_r8, 0.00040091342565474482_r8, 9e90_r8 & + / +data saar_ref(:,25,47) / & + 5.7326338889739457e-06_r8, 5.7849824260901244e-06_r8, & + 5.8098452732616968e-06_r8, 6.1501762174546877e-06_r8, & + 6.1519703331847112e-06_r8, 5.859994646017604e-06_r8, & + 8.1854695972172338e-06_r8, 1.1039335042311058e-05_r8, & + 1.7701636007144281e-05_r8, 3.1890953120968165e-05_r8, & + 4.988384577656987e-05_r8, 7.3852709865034007e-05_r8, & + 9.6822272874742119e-05_r8, 0.00010905305324466485_r8, & + 0.00011869173390854074_r8, 0.00012962402752237037_r8, & + 0.00015768175492139087_r8, 0.000189102034090707_r8, & + 0.00021933109891770716_r8, 0.00024785817404607773_r8, & + 0.00027390498350177996_r8, 0.0003005760332879233_r8, & + 0.00032662100424677088_r8, 0.0003503834037502972_r8, & + 0.00037230937314975684_r8, 0.00039253070005932104_r8, & + 0.00041123710736198341_r8, 0.00044301977392554952_r8, & + 0.0004711428439041432_r8, 0.00048296004988378194_r8, & + 0.00049256827497246827_r8, 0.00049675498862644034_r8, & + 0.00049681203362260699_r8, 0.00049287294835092664_r8, & + 0.00048666061611852516_r8, 0.00047457607796742987_r8, & + 0.00046085260300404197_r8, 0.00044491231792374392_r8, & + 0.00043376608465840906_r8, 0.00042550993912836293_r8, & + 0.00041963876894609452_r8, 0.00041689722322145104_r8, & + 0.00041532188077784781_r8, 0.00041427492642507122_r8, & + 0.00041179965651735629_r8 & + / +data saar_ref(:,26,47) / & + 6.540206114732822e-06_r8, 6.550606901912988e-06_r8, & + 6.2729835787163818e-06_r8, 6.160504008325457e-06_r8, & + 6.142445537505927e-06_r8, 6.0420130637678951e-06_r8, & + 6.716621285798416e-06_r8, 7.5636417090542367e-06_r8, & + 8.6850292934188401e-06_r8, 1.5440200335073242e-05_r8, & + 2.3698478360370062e-05_r8, 3.711868498957295e-05_r8, & + 6.3937028015758097e-05_r8, 9.0775150452842253e-05_r8, & + 0.00011143657704235291_r8, 0.00013173949562274442_r8, & + 0.00017537998572447151_r8, 0.00021380874950583813_r8, & + 0.00024620330679986688_r8, 0.00027506800500957772_r8, & + 0.00030243429369210078_r8, 0.00033185889552516859_r8, & + 0.0003565038545886211_r8, 0.00038029767331366359_r8, & + 0.00040206335034925598_r8, 0.00042060462738360518_r8, & + 0.00043775016042153396_r8, 0.0004691111679266875_r8, & + 0.00049313707059183115_r8, 0.00050502745151835256_r8, & + 0.00051329561067802191_r8, 0.00051705005861521643_r8, & + 0.00051681018421221594_r8, 0.00051348016951628466_r8, & + 0.00050763125779682656_r8, 0.00049844186785990977_r8, & + 0.00048724726364120875_r8, 0.0004734901043559216_r8, & + 0.00045904222875196534_r8, 0.00044710412104390372_r8, & + 0.0004402076397891138_r8, 0.00043588104371951986_r8, & + 0.00043443540521480664_r8, 0.00042844579993863487_r8, 9e90_r8 & + / +data saar_ref(:,27,47) / & + 6.8848790735131136e-06_r8, 6.7304967268037271e-06_r8, & + 6.507777108641974e-06_r8, 7.1809167579150394e-06_r8, & + 7.1670938905950119e-06_r8, 7.0566295642229285e-06_r8, & + 7.1306400232762674e-06_r8, 7.189721770409437e-06_r8, & + 7.1341005656452191e-06_r8, 9.0454929513084373e-06_r8, & + 1.2514024322574471e-05_r8, 1.7248546047919231e-05_r8, & + 3.0591956088297934e-05_r8, 5.1671606702456551e-05_r8, & + 7.626538307593419e-05_r8, 0.00010505951468644627_r8, & + 0.00016731295391411911_r8, 0.00023264720402011035_r8, & + 0.00028204917074076667_r8, 0.00031400232342037248_r8, & + 0.00034581506654693378_r8, 0.0003746495811668924_r8, & + 0.00039580898358499317_r8, 0.00041719267597712642_r8, & + 0.00043590488453758606_r8, 0.00045236206592961229_r8, & + 0.00046872527193462252_r8, 0.00049791544666710969_r8, & + 0.00051911319746104283_r8, 0.00053027407596581552_r8, & + 0.00053612792711108317_r8, 0.00053762264701216506_r8, & + 0.00053601519070056193_r8, 0.0005321229492837729_r8, & + 0.00052616453497336083_r8, 0.00051909886123791753_r8, & + 0.00051054601664958542_r8, 0.00050092137863179561_r8, & + 0.00048687699591144101_r8, 0.00047381235737145382_r8, & + 0.00046334915784287673_r8, 0.00046109433851682731_r8, & + 0.00045316815663606284_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,47) / & + 6.6809427401162073e-06_r8, 6.4727450169995892e-06_r8, & + 6.2943533022706504e-06_r8, 7.8783380211179063e-06_r8, & + 8.0438710992945808e-06_r8, 7.7950885031023085e-06_r8, & + 7.7631522720820319e-06_r8, 7.8373673242961271e-06_r8, & + 8.26561650178174e-06_r8, 9.6229060093908311e-06_r8, & + 1.1492361665470304e-05_r8, 1.4348333365269477e-05_r8, & + 2.1689696085931373e-05_r8, 3.3413205278053365e-05_r8, & + 4.8211681406140839e-05_r8, 6.9476981314452546e-05_r8, & + 0.00013229952950894974_r8, 0.00021812493227776482_r8, & + 0.00029041291386934964_r8, 0.0003418547314378711_r8, & + 0.00038548639554123734_r8, 0.00041213860859232572_r8, & + 0.00043369485887504111_r8, 0.00045305226607619706_r8, & + 0.00046934788482843703_r8, 0.00048322741349387757_r8, & + 0.0004982176420720969_r8, 0.00052613364057375314_r8, & + 0.00054596394539124641_r8, 0.00055421799834496537_r8, & + 0.00055680729293214673_r8, 0.00055572860151992427_r8, & + 0.0005523105351166748_r8, 0.00054755446870928634_r8, & + 0.00054169785362056676_r8, 0.0005355274544346653_r8, & + 0.00052761866721843088_r8, 0.00052085384269743684_r8, & + 0.00050944273440823207_r8, 0.00050128744180646587_r8, & + 0.00049090750932173925_r8, 0.00048674353935808026_r8, & + 0.00048077674193570513_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,47) / & + 7.120180564891167e-06_r8, 7.0912793125187201e-06_r8, & + 7.2140159359261532e-06_r8, 8.2688482022903524e-06_r8, & + 8.3915375566488572e-06_r8, 8.2443185483574741e-06_r8, & + 7.9249707651224921e-06_r8, 9.3430649289410047e-06_r8, & + 1.0517149097380637e-05_r8, 1.2123457829038836e-05_r8, & + 1.4083576177993367e-05_r8, 1.7361398727438808e-05_r8, & + 2.4557040405209759e-05_r8, 3.3226679363111939e-05_r8, & + 4.327661820126211e-05_r8, 5.8946442526279368e-05_r8, & + 0.00011146043088303809_r8, 0.00018782804274307277_r8, & + 0.00027125476167445036_r8, 0.00034252889628916754_r8, & + 0.00040167677579576531_r8, 0.00043901659124406025_r8, & + 0.00046515786198581032_r8, 0.00048719388433489499_r8, & + 0.00050584305788872622_r8, 0.00052087091248502102_r8, & + 0.00053369753229826078_r8, 0.00056004711644391781_r8, & + 0.00057693934574236936_r8, 0.00058182737028546335_r8, & + 0.00058259750652540638_r8, 0.00057981584858225873_r8, & + 0.00057437391819865544_r8, 0.00056913242671263427_r8, & + 0.00056277977258570755_r8, 0.00055670024789070485_r8, & + 0.00054816363611126506_r8, 0.00054347652138864448_r8, & + 0.00053298679115696996_r8, 0.00052153667418757769_r8, & + 0.00051206927210243236_r8, 0.00050838333937582567_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,47) / & + 8.3688869651653244e-06_r8, 8.2651598021390605e-06_r8, & + 8.9042140331657599e-06_r8, 1.0862221489965238e-05_r8, & + 1.1215095255532108e-05_r8, 1.1326308818750492e-05_r8, & + 1.1985089159657401e-05_r8, 1.3936923478545551e-05_r8, & + 1.6580848613017002e-05_r8, 1.9545171498450095e-05_r8, & + 2.2475691300024506e-05_r8, 2.6156980966329585e-05_r8, & + 3.2998196769213362e-05_r8, 4.2220363119187997e-05_r8, & + 5.4121473481722795e-05_r8, 7.0915295395960833e-05_r8, & + 0.00011828296917059747_r8, 0.00019188439430688914_r8, & + 0.00027837479995168233_r8, 0.00035853828235114988_r8, & + 0.00041971646292896837_r8, 0.00046652741764125367_r8, & + 0.00049821428962101475_r8, 0.00052491236835441326_r8, & + 0.00054706361637205006_r8, 0.00056489780821719496_r8, & + 0.00057875949473111131_r8, 0.00060412687010923441_r8, & + 0.00061838470961494269_r8, 0.00062073231606103783_r8, & + 0.00062021283215974408_r8, 0.00061404152334177959_r8, & + 0.00060567307479941909_r8, 0.00060040359575987818_r8, & + 0.00059302388057147677_r8, 0.00058767113330604015_r8, & + 0.00058227627124155662_r8, 0.00057999924552878056_r8, & + 0.00057718982324048347_r8, 0.00057153066008909753_r8, & + 0.00055689155494481276_r8, 0.00054822994125537248_r8, & + 0.00054673974275357801_r8, 0.00053902375327488606_r8, 9e90_r8 & + / +data saar_ref(:,31,47) / & + 1.4164854061113215e-05_r8, 1.3503872702744066e-05_r8, & + 1.3977174436742755e-05_r8, 1.4042447433131283e-05_r8, & + 1.4633792035247359e-05_r8, 1.6310948188551965e-05_r8, & + 2.0236379032109831e-05_r8, 2.6303705856830432e-05_r8, & + 3.0171828791789629e-05_r8, 3.3702867231321644e-05_r8, & + 3.698213847183619e-05_r8, 4.1525975012661964e-05_r8, & + 5.0390844568845405e-05_r8, 6.0717762983478021e-05_r8, & + 7.6582129212115108e-05_r8, 9.6436268223123965e-05_r8, & + 0.00014793941307763832_r8, 0.00022232413619825426_r8, & + 0.00030563360604382182_r8, 0.00038376014801108524_r8, & + 0.00044099033534172454_r8, 0.00048878999253970656_r8, & + 0.00052301981947095258_r8, 0.0005529381419410931_r8, & + 0.00057256069383891108_r8, 0.00058858316850282102_r8, & + 0.00060572327502584505_r8, 0.00063062487033290794_r8, & + 0.00064622059045535798_r8, 0.0006469940977833292_r8, & + 0.00064452766002826012_r8, 0.00063494429165976201_r8, & + 0.00062686339125058322_r8, 0.00061996039868515457_r8, & + 0.00061281275763503816_r8, 0.00060749564913843929_r8, & + 0.00060284644530536548_r8, 0.00060029505227516568_r8, & + 0.0005984687482178566_r8, 0.00059450597907156726_r8, & + 0.0005840094118036241_r8, 0.00057556891940121146_r8, & + 0.00057327594757075389_r8, 0.00058001623283930723_r8, 9e90_r8 & + / +data saar_ref(:,32,47) / & + 3.0726712439319897e-05_r8, 2.9892352247769792e-05_r8, & + 2.9455220074641262e-05_r8, 3.1071555319801415e-05_r8, & + 3.2040250531221567e-05_r8, 3.7999636530374396e-05_r8, & + 4.1381156133714643e-05_r8, 4.8218505611731463e-05_r8, & + 5.2500194560035362e-05_r8, 5.61084893556998e-05_r8, & + 6.0462652068542023e-05_r8, 6.5567342042265162e-05_r8, & + 7.638364871500236e-05_r8, 9.2012881507724724e-05_r8, & + 0.00011514316973577249_r8, 0.00014270053219868158_r8, & + 0.0002118711040978986_r8, 0.00028865294624042935_r8, & + 0.00036236043174751946_r8, 0.00042778822420491333_r8, & + 0.00047620597463791714_r8, 0.00051983519781362026_r8, & + 0.00055400374352812304_r8, 0.00058354606877461968_r8, & + 0.00060013060572212766_r8, 0.00061146245225505871_r8, & + 0.00062963126914772393_r8, 0.00065450954239754328_r8, & + 0.00067229429699016893_r8, 0.00067414203397367541_r8, & + 0.00067074851267871934_r8, 0.00066080337627157646_r8, & + 0.00065304244258983441_r8, 0.0006426844884394533_r8, & + 0.00063433514625817872_r8, 0.00062828704269831596_r8, & + 0.00062291431506069045_r8, 0.00062103292713316591_r8, & + 0.00062099469381436169_r8, 0.00062190645743206735_r8, & + 0.00062363938763853786_r8, 0.00061727685579357158_r8, & + 0.00061052974266842671_r8, 0.00062799329424835027_r8, & + 0.00058914086640806534_r8 & + / +data saar_ref(:,33,47) / & + 6.489862509538618e-05_r8, 6.5524609362660596e-05_r8, & + 6.4932393910112286e-05_r8, 6.8612524360502121e-05_r8, & + 7.0645306080996756e-05_r8, 7.3261737397084043e-05_r8, & + 7.8051373186667958e-05_r8, 8.3320293562585436e-05_r8, & + 8.9618058664178206e-05_r8, 9.489567565809629e-05_r8, & + 0.00010232177821850636_r8, 0.00010946573335310003_r8, & + 0.00013443311089233846_r8, 0.00016679563996043021_r8, & + 0.00020479807590881045_r8, 0.00024470168912482312_r8, & + 0.00032182065265034539_r8, 0.00039147724897138994_r8, & + 0.00044881193824380982_r8, 0.00049566634437781269_r8, & + 0.00053476812083564046_r8, 0.00056768725319186297_r8, & + 0.00059697900947503749_r8, 0.00062071345719710142_r8, & + 0.00063508587390189526_r8, 0.00064731911901816049_r8, & + 0.00066303428005340956_r8, 0.00068502974282785595_r8, & + 0.00070009986508887318_r8, 0.00070185637256856177_r8, & + 0.00069766559494491254_r8, 0.00068962381119253219_r8, & + 0.00067936671419870944_r8, 0.00066785483501507082_r8, & + 0.00065860890551791334_r8, 0.00065266714037563202_r8, & + 0.00065029802345379088_r8, 0.00064889773704543538_r8, & + 0.0006486627615673085_r8, 0.00064854471701047002_r8, & + 0.00064941189921449249_r8, 0.00064595860296037496_r8, & + 0.00064375360309713143_r8, 0.00065156755626767789_r8, & + 0.00065589381389007041_r8 & + / +data saar_ref(:,34,47) / & + 8.6717869317707815e-05_r8, 9.0857805529837889e-05_r8, & + 9.2831825640605329e-05_r8, 0.00010103707309604293_r8, & + 0.00010385670603459188_r8, 0.00010959379365496407_r8, & + 0.00012732957845143747_r8, 0.00013093676563427859_r8, & + 0.00014758464249610019_r8, 0.00017943495914028091_r8, & + 0.00020260726065827854_r8, 0.00022632455484809384_r8, & + 0.000267240012671475_r8, 0.0003079231764280771_r8, & + 0.00034474332964037419_r8, 0.00038076602962363329_r8, & + 0.00044135533012974341_r8, 0.00048989954922271507_r8, & + 0.00052850380917455022_r8, 0.0005630960230644732_r8, & + 0.00059181370713460549_r8, 0.00061601533610797666_r8, & + 0.00063680809677666643_r8, 0.00065545342278223637_r8, & + 0.00066936650836739897_r8, 0.00068111827525646799_r8, & + 0.00069259174150166638_r8, 0.00071023766488391654_r8, & + 0.00072111888722875062_r8, 0.00072192165963086093_r8, & + 0.0007167666059076566_r8, 0.00070864074246546006_r8, & + 0.0006975369063225306_r8, 0.00068698612905916147_r8, & + 0.00067814747902643379_r8, 0.00067218440396014164_r8, & + 0.00066971197211960652_r8, 0.00066977248201800365_r8, & + 0.00067088924554756474_r8, 0.00067183431283096443_r8, & + 0.0006719033253075223_r8, 0.00066947009219601799_r8, & + 0.00067030114677191785_r8, 0.00067294476432678001_r8, 9e90_r8 & + / +data saar_ref(:,35,47) / & + 9.9237437895649441e-05_r8, 0.00010233996147332314_r8, & + 0.00010790312322051832_r8, 0.0001294263612907258_r8, & + 0.00014153200308997439_r8, 0.00015472605995995448_r8, & + 0.00018555793427812211_r8, 0.00019544115131149833_r8, & + 0.00022839838379421767_r8, 0.00027628377324633176_r8, & + 0.00030522286682901342_r8, 0.00033744074511734949_r8, & + 0.00036609497376797687_r8, 0.00040238664127478747_r8, & + 0.00043184495082233771_r8, 0.00046366584597128303_r8, & + 0.00051419494447396512_r8, 0.0005491062502640424_r8, & + 0.00057703419191917882_r8, 0.00060578546692875235_r8, & + 0.00062984155483112106_r8, 0.00065218548909189871_r8, & + 0.00067041270356604538_r8, 0.00068878186637194431_r8, & + 0.00070166812887742839_r8, 0.00071298361003158421_r8, & + 0.00072031966239711608_r8, 0.00073618707078686044_r8, & + 0.00074283246452918738_r8, 0.00074267728008468739_r8, & + 0.00073720862793250606_r8, 0.00072813686502571588_r8, & + 0.00071725510793085455_r8, 0.00070880178507125714_r8, & + 0.00070058297393117209_r8, 0.00069300666324145169_r8, & + 0.00068797269329260607_r8, 0.00068577925059091507_r8, & + 0.00068583307360426218_r8, 0.00068416423651871804_r8, & + 0.00068317675300028319_r8, 0.00068011323627870568_r8, & + 0.00068042898341424507_r8, 0.00066659039813051391_r8, & + 0.00066740823484055713_r8 & + / +data saar_ref(:,36,47) / & + 0.00010974434002464167_r8, 0.0001202700653674528_r8, & + 0.00012961393630558902_r8, 0.00018367773481575966_r8, & + 0.00020618498323077736_r8, 0.00022660232802920114_r8, & + 0.00026291407940869918_r8, 0.00027612631023142108_r8, & + 0.00028457303475855816_r8, 0.00029781006675296727_r8, & + 0.00031195644755411297_r8, 0.00032151799401319359_r8, & + 0.00035438321205622945_r8, 0.00039442225841345476_r8, & + 0.00042575226460435167_r8, 0.00046034176434201938_r8, & + 0.00051837856989361245_r8, 0.00055698434661285046_r8, & + 0.00058478469557116282_r8, 0.00061144562719698593_r8, & + 0.00063895469695377394_r8, 0.00066384516812151826_r8, & + 0.00068712463469811937_r8, 0.0007086724826250051_r8, & + 0.00072911598855036495_r8, 0.00074144505653921642_r8, & + 0.00073271762469725716_r8, 0.00074772597095711861_r8, & + 0.00075693364451806847_r8, 0.00075788326291029878_r8, & + 0.00075511352308087947_r8, 0.00075177298986835292_r8, & + 0.00074500219608807702_r8, 0.00073984520745876169_r8, & + 0.00073546268682741557_r8, 0.00073248885581899954_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,47) / & + 6.1279922481633853e-05_r8, 7.3156813005413374e-05_r8, & + 8.3810256145762301e-05_r8, 0.00013181395240966447_r8, & + 0.00016451186845830261_r8, 0.0002018540190178214_r8, & + 0.00025715543278745465_r8, 0.0002791683396490567_r8, & + 0.00028891913228299413_r8, 0.00029740529168193819_r8, & + 0.00030763113844611216_r8, 0.00031618955756464742_r8, & + 0.00035899610161092306_r8, 0.00039899682505686873_r8, & + 0.00043437420994712144_r8, 0.00047142226989754728_r8, & + 0.00053069370135777822_r8, 0.0005697449539875778_r8, & + 0.0006021030339966861_r8, 0.00062932348575249247_r8, & + 0.00065806654349007609_r8, 0.00068684816619980576_r8, & + 0.00071244501860893517_r8, 0.00073539197733441431_r8, & + 0.00075703964412058818_r8, 0.00076777522391019274_r8, & + 0.00075088447956199531_r8, 0.00076549760167506152_r8, & + 0.00077481089730955231_r8, 0.00077595829772082541_r8, & + 0.00077269056851992789_r8, 0.00077009515234536217_r8, & + 0.00076443929626612611_r8, 0.0007594646714223105_r8, & + 0.00075504946721884796_r8, 0.00075015124349244746_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,47) / & + 2.3597999291027995e-05_r8, 3.0281332799143715e-05_r8, & + 4.520020083566559e-05_r8, 7.9151525037019966e-05_r8, & + 0.00011851222800804725_r8, 0.00017846723260505108_r8, & + 0.00024562383319662659_r8, 0.00029171367687046688_r8, & + 0.00028359658541872169_r8, 0.00028041890796837263_r8, & + 0.00030107746200937159_r8, 0.00031696072947406609_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,47) / & + 2.6820019349060546e-05_r8, 3.1963215642760734e-05_r8, & + 4.9983203618230945e-05_r8, 8.9786036881318905e-05_r8, & + 0.00013431444005531084_r8, 0.00019479396693347826_r8, & + 0.00025806880451552698_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,47) / & + 8.710709679634754e-05_r8, 7.8365765879463445e-05_r8, & + 9.2411995595446681e-05_r8, 0.00013948035620813042_r8, & + 0.00022255649372660206_r8, 0.00025922029780870662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,47) / & + 0.00012437772250463964_r8, 0.00011430609738825195_r8, & + 0.00011933289003429063_r8, 0.00013570928545640122_r8, & + 0.00020589575675592522_r8, 0.00027610955445709246_r8, & + 0.000307930718226626_r8, 0.00040004384203799802_r8, & + 0.00042018610965546729_r8, 0.00028662670513676002_r8, & + 0.00019150617674059675_r8, 0.00012788217397019118_r8, & + 9.8830394346219064e-05_r8, 9.2547860617370669e-05_r8, & + 0.00010866410005699803_r8, 9.8452947878134936e-05_r8, & + 9.8461564983977915e-05_r8, 8.6399008414871092e-05_r8, & + 8.4500587165102747e-05_r8, 8.4794102586730602e-05_r8, & + 8.4116439583897486e-05_r8, 8.3229056958203954e-05_r8, & + 8.2615554648614141e-05_r8, 8.5632619551086835e-05_r8, & + 9.0550723888697607e-05_r8, 9.3873167296773874e-05_r8, & + 0.00010116930641271645_r8, 0.00011717784394599655_r8, & + 9.1524936134713828e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,47) / & + 0.00012195364837155969_r8, 0.0001181845078861405_r8, & + 0.0001196175465397974_r8, 0.00012780045423668474_r8, & + 0.00014849535813756264_r8, 0.00017905546958179596_r8, & + 0.00023092541761977957_r8, 0.00032272383535386412_r8, & + 0.00042426170878374106_r8, 0.00032290989988681_r8, & + 0.00022598220046504279_r8, 0.00012324585920502919_r8, & + 7.5780380016350456e-05_r8, 7.8124225524156871e-05_r8, & + 9.2303640138588744e-05_r8, 8.6712765677683047e-05_r8, & + 8.6901121500822411e-05_r8, 8.0311471660693802e-05_r8, & + 7.9688518608492088e-05_r8, 8.055457862465355e-05_r8, & + 8.0762096780125306e-05_r8, 8.0789884361430565e-05_r8, & + 8.0873604015528616e-05_r8, 8.293416959651114e-05_r8, & + 8.7099147032516032e-05_r8, 9.0828499101744571e-05_r8, & + 9.7131032374345706e-05_r8, 0.0001171458194937631_r8, & + 0.00010192984105466091_r8, 0.00010331799010269882_r8, & + 0.00010709171129963757_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,47) / & + 0.00010737237146414147_r8, 0.000113994284059207_r8, & + 0.00010469404584229807_r8, 0.00013555405238138945_r8, & + 0.00013919701463581697_r8, 0.00014419693813756657_r8, & + 0.00017544616874920669_r8, 0.0002377791619323221_r8, & + 0.00029943202669889909_r8, 0.00021849702685065251_r8, & + 0.00014240329274928893_r8, 9.5056138652430675e-05_r8, & + 6.671244704552379e-05_r8, 7.2408701013519303e-05_r8, & + 7.5400150951147242e-05_r8, 7.3798627601973579e-05_r8, & + 7.3179630370795668e-05_r8, 7.3148484409466734e-05_r8, & + 7.3617112687441731e-05_r8, 7.5718833441139354e-05_r8, & + 7.7408060001679137e-05_r8, 7.8990199391025501e-05_r8, & + 8.1188139455770996e-05_r8, 8.5094059435304601e-05_r8, & + 8.9126797216175114e-05_r8, 9.3336951244030067e-05_r8, & + 9.8858031458268412e-05_r8, 0.00011525674794604646_r8, & + 0.00011584357285940314_r8, 0.00011222526888560828_r8, & + 0.00011041444706342104_r8, 0.00011006660069094573_r8, & + 0.00010832406241699729_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,47) / & + 8.5196778358120635e-05_r8, 0.00010232364378795448_r8, & + 8.6399415302554862e-05_r8, 0.00011286631512736501_r8, & + 0.00011777738136229483_r8, 0.00012768963218929731_r8, & + 0.00015997957521422354_r8, 0.00018333176665913088_r8, & + 0.00012853109126764964_r8, 8.6795956449030854e-05_r8, & + 6.7619483855265564e-05_r8, 7.4500539136416942e-05_r8, & + 6.8863506532465326e-05_r8, 7.3434724636955409e-05_r8, & + 7.3306640992783448e-05_r8, 7.3725237553841794e-05_r8, & + 7.3258161710113706e-05_r8, 7.3433671280888257e-05_r8, & + 7.4774465025655677e-05_r8, 7.8424127606354757e-05_r8, & + 8.0953344185575869e-05_r8, 8.3598648060443669e-05_r8, & + 8.7024352458941751e-05_r8, 9.210919188618253e-05_r8, & + 9.6265102688011375e-05_r8, 0.00010106636055514691_r8, & + 0.00010663143815105318_r8, 0.0001163539069732379_r8, & + 0.00012433618086643292_r8, 0.00012484387479037317_r8, & + 0.0001231966987625204_r8, 0.00012193260412749156_r8, & + 0.00011248914184279279_r8, 0.00011358633681435019_r8, & + 0.0001176969067312149_r8, 0.00011825498898742586_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,47) / & + 7.8945115967986784e-05_r8, 0.00010600199716884251_r8, & + 9.1965766602365495e-05_r8, 0.00010984400068074916_r8, & + 0.00012264807032845115_r8, 0.00013343741176015473_r8, & + 0.00013505286008050021_r8, 9.2272066295618436e-05_r8, & + 7.0011805612578483e-05_r8, 6.6455294467531725e-05_r8, & + 6.6939656328111072e-05_r8, 6.9015554012554666e-05_r8, & + 6.8299156036135921e-05_r8, 7.0486509829953309e-05_r8, & + 7.1532243304757274e-05_r8, 7.2931828416869144e-05_r8, & + 7.3096484460873158e-05_r8, 7.3565795716474473e-05_r8, & + 7.5667778453786261e-05_r8, 7.927380988711985e-05_r8, & + 8.21064380726424e-05_r8, 8.572428391865853e-05_r8, & + 8.9545145060220709e-05_r8, 9.4212127307458085e-05_r8, & + 9.9735239862091499e-05_r8, 0.00010433001369577323_r8, & + 0.00011053982163174857_r8, 0.00011997640693747505_r8, & + 0.00012366568444518297_r8, 0.00012199987854453818_r8, & + 0.00012062045292614149_r8, 0.00012085379248756024_r8, & + 0.00011908020924430478_r8, 0.00011923905080586211_r8, & + 0.00012064116231000039_r8, 0.00012122105743559348_r8, & + 0.00012431408508182653_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,48) / & + 9.8490865092830108e-05_r8, 0.0001015699745771084_r8, & + 0.00011299621284394176_r8, 0.00012841202635871819_r8, & + 0.00013265752298933587_r8, 0.00014066200949743434_r8, & + 0.00015435066692624983_r8, 0.00016145663196955027_r8, & + 0.00016773942667901894_r8, 0.00017389732953325605_r8, & + 0.0001797185163448925_r8, 0.00018361502821312125_r8, & + 0.00019175903573343447_r8, 0.0002004954155347938_r8, & + 0.00020907598146216382_r8, 0.00022300129647258399_r8, & + 0.00024359446363642257_r8, 0.00023581261552606909_r8, & + 0.00022685430940861499_r8, 0.00023504762511112118_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,48) / & + 9.8490865092830108e-05_r8, 0.0001015699745771084_r8, & + 0.00011299621284394176_r8, 0.00012841202635871819_r8, & + 0.00013265752298933587_r8, 0.00014066200949743434_r8, & + 0.00015435066692624983_r8, 0.00016145663196955027_r8, & + 0.00016773942667901894_r8, 0.00017389732953325605_r8, & + 0.0001797185163448925_r8, 0.00018361502821312125_r8, & + 0.00019175903573343447_r8, 0.0002004954155347938_r8, & + 0.00020907598146216382_r8, 0.00022300129647258399_r8, & + 0.00024359446363642257_r8, 0.00023581261552606909_r8, & + 0.00022685430940861499_r8, 0.00023504762511112118_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,48) / & + 9.8490865092830108e-05_r8, 0.0001015699745771084_r8, & + 0.00011299621284394176_r8, 0.00012841202635871819_r8, & + 0.00013265752298933587_r8, 0.00014066200949743434_r8, & + 0.00015435066692624983_r8, 0.00016145663196955027_r8, & + 0.00016773942667901894_r8, 0.00017389732953325605_r8, & + 0.0001797185163448925_r8, 0.00018361502821312125_r8, & + 0.00019175903573343447_r8, 0.0002004954155347938_r8, & + 0.00020907598146216382_r8, 0.00022300129647258399_r8, & + 0.00024359446363642257_r8, 0.00023581261552606909_r8, & + 0.00022685430940861499_r8, 0.00023504762511112118_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,48) / & + 0.00010876469672429339_r8, 0.00010930031712725482_r8, & + 0.00011490807437403173_r8, 0.00012253245730342092_r8, & + 0.00012619665721202528_r8, 0.00013015557260517198_r8, & + 0.0001427760658643992_r8, 0.00015219387334647095_r8, & + 0.00015806762232410969_r8, 0.00016436352079863132_r8, & + 0.00017073453383912663_r8, 0.00017486316374734284_r8, & + 0.00018426939266026829_r8, 0.00019324896609756843_r8, & + 0.00020039369541932072_r8, 0.00020834154551085981_r8, & + 0.00021946633526148841_r8, 0.00022037566004286902_r8, & + 0.00022521845101990774_r8, 0.00023608926106321413_r8, & + 0.0002405171580826205_r8, 0.00024516642912900913_r8, & + 0.00024832652896571183_r8, 0.00025324887840957953_r8, & + 0.00025722912007828714_r8, 0.00026102457094163826_r8, & + 0.00026479861987429941_r8, 0.00026914796024785905_r8, & + 0.00027126139461937821_r8, 0.00027430751319067984_r8, & + 0.00028132918163481258_r8, 0.0002854349223789003_r8, & + 0.00028710605363732096_r8, 0.00028207942921052359_r8, & + 0.00027066001652543471_r8, 0.00025040213252328102_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,48) / & + 0.00011773847984367642_r8, 0.00011732152221445166_r8, & + 0.00011667473902489104_r8, 0.00011938280439592272_r8, & + 0.00012642626662520839_r8, 0.00013058803118380028_r8, & + 0.00014404591352123016_r8, 0.00015288207773063382_r8, & + 0.00016012609264353652_r8, 0.00016965578811534962_r8, & + 0.00017795836643602752_r8, 0.0001839875166508611_r8, & + 0.00019206146838095893_r8, 0.00019866497262422276_r8, & + 0.00020484148362040586_r8, 0.00020846304686418532_r8, & + 0.00021344820947628572_r8, 0.00022442599720265353_r8, & + 0.00023130059846294531_r8, 0.00023826561294824306_r8, & + 0.00024318899206570606_r8, 0.00024605428414976703_r8, & + 0.00024978193318381947_r8, 0.00025501116182807273_r8, & + 0.00025903829838010752_r8, 0.00026241253725288384_r8, & + 0.00026589902448672693_r8, 0.00027125910163478613_r8, & + 0.00027446910977359652_r8, 0.00027750145846134781_r8, & + 0.00027977545876034082_r8, 0.00027976168174664591_r8, & + 0.00027285317647693824_r8, 0.00026323493403979781_r8, & + 0.00025175860379047398_r8, 0.00024126519501826849_r8, & + 0.0002360034668599872_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,48) / & + 9.395911660944481e-05_r8, 9.3879172672707079e-05_r8, & + 8.9885034640082941e-05_r8, 9.232812875063487e-05_r8, & + 9.5667986839640363e-05_r8, 0.00010034226692688253_r8, & + 0.00012591709528008425_r8, 0.00014043734371033418_r8, & + 0.00015196492037644269_r8, 0.00016253774691821281_r8, & + 0.00017015336245181591_r8, 0.00017745246749288713_r8, & + 0.00018517166222358554_r8, 0.00019104371928720999_r8, & + 0.00019531693892865172_r8, 0.00019875163225321633_r8, & + 0.00020487237289673827_r8, 0.00021091940780118863_r8, & + 0.00021627770638487449_r8, 0.0002217748533128409_r8, & + 0.00022641361838878258_r8, 0.00023043940731275791_r8, & + 0.00023534278696487243_r8, 0.00023989427056670897_r8, & + 0.00024437795855813672_r8, 0.00024880059848006149_r8, & + 0.00025278124272472123_r8, 0.00026147202027496704_r8, & + 0.00026813107926697028_r8, 0.00027285012032938225_r8, & + 0.00027498679583075873_r8, 0.00027425159174065923_r8, & + 0.00026695938396473771_r8, 0.00025855243502206004_r8, & + 0.00024799207710512122_r8, 0.0002407257697044374_r8, & + 0.00023183748955718099_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,48) / & + 4.0356072046284294e-05_r8, 3.9983121159117678e-05_r8, & + 3.6672500836371511e-05_r8, 4.0142281225803275e-05_r8, & + 3.686394768136695e-05_r8, 3.1979560954271559e-05_r8, & + 4.6842929217063168e-05_r8, 6.8381210679829073e-05_r8, & + 8.4403637144445505e-05_r8, 9.6554940008087046e-05_r8, & + 0.00010367059034238232_r8, 0.00010957968516294809_r8, & + 0.00011914994253994111_r8, 0.00012812116772621391_r8, & + 0.00013629995033900244_r8, 0.00014364396982850371_r8, & + 0.00015549954346342595_r8, 0.00016462532409392976_r8, & + 0.00017166516088969069_r8, 0.00017746659966726819_r8, & + 0.00018260693576453439_r8, 0.00018730825708743754_r8, & + 0.00019187838045034241_r8, 0.00019609765887430904_r8, & + 0.00020017922724934931_r8, 0.0002047897222020482_r8, & + 0.00020938125049599736_r8, 0.0002213248384477872_r8, & + 0.00023312155264990404_r8, 0.00024382808100075412_r8, & + 0.00025242686204086343_r8, 0.00025944810191202137_r8, & + 0.00026457476270956516_r8, 0.00026814082903067532_r8, & + 0.00027161132620429453_r8, 0.00027385145424952979_r8, & + 0.00027490269928916194_r8, 0.00027463386064567196_r8, & + 0.00027371831228354445_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,48) / & + 7.502002201596867e-06_r8, 7.6713960220855115e-06_r8, & + 7.834314012936733e-06_r8, 1.2796623135377258e-05_r8, & + 1.07963137949613e-05_r8, 9.3984087182882116e-06_r8, & + 1.1919872941219299e-05_r8, 1.7947562104906318e-05_r8, & + 2.4346459028722826e-05_r8, 2.9908062577049878e-05_r8, & + 3.3116747825669498e-05_r8, 3.6623535120868723e-05_r8, & + 4.2581012723471878e-05_r8, 4.9894754978837606e-05_r8, & + 5.8874366230198646e-05_r8, 6.8610493057245188e-05_r8, & + 8.8066104148829907e-05_r8, 0.00010646739921904154_r8, & + 0.00012257802868761192_r8, 0.00013570624583198252_r8, & + 0.00014717426671040937_r8, 0.00015633005054613489_r8, & + 0.00016357429206374685_r8, 0.00016896514251768524_r8, & + 0.00017356580996276383_r8, 0.00017783993630932047_r8, & + 0.00018180314852581181_r8, 0.00019141187701448239_r8, & + 0.00020218965889423721_r8, 0.00021364672913645703_r8, & + 0.00022538929319103126_r8, 0.00023622358968952112_r8, & + 0.00024605144403869671_r8, 0.00025459265231214824_r8, & + 0.00026191725569296443_r8, 0.00026752676609834413_r8, & + 0.00027140493101739517_r8, 0.00027286095157533756_r8, & + 0.00027326126582953971_r8, 0.0002738465727920395_r8, & + 0.00027529644893613595_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,48) / & + 3.4060637629209119e-06_r8, 4.5853900728223205e-06_r8, & + 4.2529381169044018e-06_r8, 4.9336853416463479e-06_r8, & + 5.0451609410375702e-06_r8, 5.3119130091921875e-06_r8, & + 6.1867164413306878e-06_r8, 8.633449821315294e-06_r8, & + 1.0974290689383238e-05_r8, 1.3075808198608716e-05_r8, & + 1.4073556471388633e-05_r8, 1.5673657045169588e-05_r8, & + 1.8106035051152752e-05_r8, 2.0372246415835545e-05_r8, & + 2.3201104676354536e-05_r8, 2.6731471167269099e-05_r8, & + 3.6974937481427627e-05_r8, 5.0947221168281123e-05_r8, & + 6.8463150708787882e-05_r8, 8.483768570016798e-05_r8, & + 0.00010135239381888553_r8, 0.0001155233208197026_r8, & + 0.00012959208731247912_r8, 0.00014154753233413622_r8, & + 0.00015158574659890085_r8, 0.00015980454481509805_r8, & + 0.00016628711435921707_r8, 0.00017807162739867668_r8, & + 0.00018674758019469355_r8, 0.00019533465035539874_r8, & + 0.00020635494807956436_r8, 0.00021780213698736678_r8, & + 0.000229223368035953_r8, 0.00024017433174103493_r8, & + 0.00024932138717628256_r8, 0.00025715511245237658_r8, & + 0.00026370215204603244_r8, 0.00026800749179093188_r8, & + 0.00027116047059884906_r8, 0.00027315659118360151_r8, & + 0.00027452076658567248_r8, 0.00027518898485458259_r8, & + 0.000275207656334252_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,48) / & + 5.2578583498494831e-06_r8, 5.9047797326403632e-06_r8, & + 4.3655369952748355e-06_r8, 3.3690769237492746e-06_r8, & + 3.5252556512260237e-06_r8, 3.6316052822789754e-06_r8, & + 4.5274071404538226e-06_r8, 6.1608845356510703e-06_r8, & + 7.597227674834292e-06_r8, 8.5607219112852142e-06_r8, & + 9.2869363997607851e-06_r8, 1.0440208973227648e-05_r8, & + 1.2055347960119211e-05_r8, 1.335937469218206e-05_r8, & + 1.4610109171598593e-05_r8, 1.5964414743892067e-05_r8, & + 1.9389055030387836e-05_r8, 2.5755629576996347e-05_r8, & + 3.7861064719914861e-05_r8, 5.0888176506806449e-05_r8, & + 6.589465503984664e-05_r8, 8.0694524454323594e-05_r8, & + 9.6293929942549027e-05_r8, 0.00011205908144398286_r8, & + 0.00012663376653413203_r8, 0.00014007779042843395_r8, & + 0.00015188234994002929_r8, 0.00017348100907723803_r8, & + 0.00018464072166162986_r8, 0.00019032818075528647_r8, & + 0.00019661957347188048_r8, 0.00020616712308719586_r8, & + 0.0002179330207605007_r8, 0.00022968166311534532_r8, & + 0.00024084224070885086_r8, 0.00025081379289133377_r8, & + 0.00025927148144075639_r8, 0.0002651311740788472_r8, & + 0.00026972969496410598_r8, 0.00027198694663970932_r8, & + 0.00027345667728431044_r8, 0.00027483127291921008_r8, & + 0.00027515431452407215_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,48) / & + 5.0514680367713272e-06_r8, 4.9799851738211164e-06_r8, & + 4.1563699107541804e-06_r8, 4.1049317476584804e-06_r8, & + 4.2294494693183449e-06_r8, 4.4638234982477087e-06_r8, & + 5.2003411222197973e-06_r8, 5.2987897464140211e-06_r8, & + 6.130437898950674e-06_r8, 7.0845300333913187e-06_r8, & + 7.7273268519134079e-06_r8, 8.7565856679475079e-06_r8, & + 1.0329950364472288e-05_r8, 1.1831845182296781e-05_r8, & + 1.3406679086801688e-05_r8, 1.4829454556767924e-05_r8, & + 1.7617329673656644e-05_r8, 2.1489685655734311e-05_r8, & + 2.7743946965724936e-05_r8, 3.6761286339424308e-05_r8, & + 4.8677292417125583e-05_r8, 6.3217937757893637e-05_r8, & + 7.9225399374268439e-05_r8, 9.5928903137220195e-05_r8, & + 0.00011305361402201565_r8, 0.00012979738945149744_r8, & + 0.00014575513027803593_r8, 0.00017778998874727855_r8, & + 0.00019613115905192644_r8, 0.0002021498518917722_r8, & + 0.00020160126532237365_r8, 0.00020554117295438373_r8, & + 0.00021591175107564173_r8, 0.00022779806393652472_r8, & + 0.00023940503095550101_r8, 0.00025032314823285323_r8, & + 0.00025908468558188442_r8, 0.00026501996796834189_r8, & + 0.00026942952588552091_r8, 0.00027161201302288552_r8, & + 0.00027313150924987125_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,48) / & + 5.5026736386298056e-06_r8, 5.2337075884306252e-06_r8, & + 4.6322544144577871e-06_r8, 4.3485089965570783e-06_r8, & + 4.5092510861279748e-06_r8, 4.7735016258568234e-06_r8, & + 5.6895304753492131e-06_r8, 5.5970818330770163e-06_r8, & + 5.9201883425329277e-06_r8, 6.693949455090474e-06_r8, & + 7.211457362491986e-06_r8, 8.4218876831630692e-06_r8, & + 1.0466980509079766e-05_r8, 1.2187080765155174e-05_r8, & + 1.4080974502919585e-05_r8, 1.5778581051166424e-05_r8, & + 1.8804769916193487e-05_r8, 2.2403703346577796e-05_r8, & + 2.8061577089321518e-05_r8, 3.6670651274781446e-05_r8, & + 4.8425057859015347e-05_r8, 6.3010628592075426e-05_r8, & + 8.1462537913692661e-05_r8, 0.00010072169013886_r8, & + 0.00012087981835510371_r8, 0.00014113291920140496_r8, & + 0.00016051372521341822_r8, 0.0001999579804970697_r8, & + 0.0002256097062553431_r8, 0.00023859015324305266_r8, & + 0.00024184180869506617_r8, 0.00023361402915245182_r8, & + 0.00022922736798554428_r8, 0.0002320952233455221_r8, & + 0.0002410432932191777_r8, 0.00025153660038037948_r8, & + 0.0002599406938727344_r8, 0.00026569604971764742_r8, & + 0.00026886866972633419_r8, 0.00027138951535941646_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,48) / & + 4.451974834280865e-06_r8, 4.2617642282633864e-06_r8, & + 3.7703594274555371e-06_r8, 3.5301958885561377e-06_r8, & + 3.7575106224150646e-06_r8, 3.9073374530655316e-06_r8, & + 4.6677078235824253e-06_r8, 5.3531214267465707e-06_r8, & + 6.0279913617501756e-06_r8, 6.5800801692386992e-06_r8, & + 7.1020014435327306e-06_r8, 7.9139039279220802e-06_r8, & + 9.6883113229404304e-06_r8, 1.1883842866907013e-05_r8, & + 1.3919520072447076e-05_r8, 1.5431806960965303e-05_r8, & + 1.8084362492025845e-05_r8, 2.1321476803874687e-05_r8, & + 2.7128633296937872e-05_r8, 3.6059816794831974e-05_r8, & + 4.9783133996024089e-05_r8, 6.5982697710218708e-05_r8, & + 8.5423245556086029e-05_r8, 0.00010640104246738094_r8, & + 0.00012869312091803617_r8, 0.00014972704666934574_r8, & + 0.00016972162646273649_r8, 0.0002084474922771299_r8, & + 0.00023333237969573264_r8, 0.00024869126934089035_r8, & + 0.00025736701108777658_r8, 0.00025464007625463763_r8, & + 0.00024304543513600289_r8, 0.00023570304383729784_r8, & + 0.00023840957937174267_r8, 0.00024698753126358114_r8, & + 0.00025615656106961878_r8, 0.00026289865053857122_r8, & + 0.00026678630348091691_r8, 0.00026802187782063044_r8, & + 0.00026817639471773285_r8, 0.00026841658131178766_r8, & + 0.00026902791305421776_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,48) / & + 3.4605655811398345e-06_r8, 3.4475449620420419e-06_r8, & + 3.0586062172112414e-06_r8, 3.6775477825237068e-06_r8, & + 3.9555438112103304e-06_r8, 4.1581906244524479e-06_r8, & + 4.5890502995990895e-06_r8, 4.3364908354631693e-06_r8, & + 4.8397687518126769e-06_r8, 5.4929771932325787e-06_r8, & + 6.1331122506316951e-06_r8, 6.9634271328848181e-06_r8, & + 8.4496221989058126e-06_r8, 1.0150884205334956e-05_r8, & + 1.1848338488605862e-05_r8, 1.3306871943843103e-05_r8, & + 1.5572959255895029e-05_r8, 1.8186448083122569e-05_r8, & + 2.3614511465026281e-05_r8, 3.2436441080418764e-05_r8, & + 4.6604598288844705e-05_r8, 6.4002579815021599e-05_r8, & + 8.3763833294729732e-05_r8, 0.00010625470278904384_r8, & + 0.00013128065607352919_r8, 0.00015343292662799393_r8, & + 0.00017427015112768209_r8, 0.00021403400848789606_r8, & + 0.00023969149241031128_r8, 0.00025617729006099124_r8, & + 0.00026820066518281336_r8, 0.00027289215809947302_r8, & + 0.00026593336689125028_r8, 0.00025111310760906415_r8, & + 0.00024234290241285697_r8, 0.00024534210358956272_r8, & + 0.00025256149537492223_r8, 0.00025970106792327777_r8, & + 0.00026424987515726863_r8, 0.00026668642324075551_r8, & + 0.00026797394814371281_r8, 0.00026865756229092807_r8, & + 0.00026915356649493126_r8, 0.00027007038571956926_r8, 9e90_r8 & + / +data saar_ref(:,15,48) / & + 3.7526717995791909e-06_r8, 3.7881811350793596e-06_r8, & + 3.6100574970135583e-06_r8, 3.2199830041736141e-06_r8, & + 3.5088638863185564e-06_r8, 3.8496296896736173e-06_r8, & + 5.075476421066896e-06_r8, 5.2451636583681682e-06_r8, & + 5.1388887180153389e-06_r8, 5.20765612895014e-06_r8, & + 5.5181150905835871e-06_r8, 5.7175194662797894e-06_r8, & + 6.7764037694064086e-06_r8, 8.2659376616548768e-06_r8, & + 9.7808265973419246e-06_r8, 1.139225389822447e-05_r8, & + 1.4238810439530411e-05_r8, 1.6986934905106117e-05_r8, & + 2.2046825423198469e-05_r8, 3.0669952935965631e-05_r8, & + 4.4457088175426357e-05_r8, 6.271824349304481e-05_r8, & + 8.4560874673870838e-05_r8, 0.00010894109147699152_r8, & + 0.00013455672441969196_r8, 0.00015807985636681312_r8, & + 0.0001789414568945319_r8, 0.00022025000151978466_r8, & + 0.0002455906070803457_r8, 0.00026266567015723719_r8, & + 0.00027404102885458836_r8, 0.00028032539218742175_r8, & + 0.00027769693088528066_r8, 0.00026209574836467546_r8, & + 0.00024790508214529629_r8, 0.00024647954184698484_r8, & + 0.00025239442179753356_r8, 0.00025894612880747084_r8, & + 0.0002635663207359787_r8, 0.00026611571915575262_r8, & + 0.0002674098890013114_r8, 0.00026810812605142069_r8, & + 0.00026899333700313658_r8, 0.00026919957334247161_r8, 9e90_r8 & + / +data saar_ref(:,16,48) / & + 4.0247943465145475e-06_r8, 4.0508454482461587e-06_r8, & + 4.0612705654843659e-06_r8, 2.8062229936774313e-06_r8, & + 2.890177702588583e-06_r8, 2.9862646547617876e-06_r8, & + 3.502856423879963e-06_r8, 3.8178705859173611e-06_r8, & + 4.1250795822302205e-06_r8, 4.4386741360136802e-06_r8, & + 4.7723964650748782e-06_r8, 4.5527164491261947e-06_r8, & + 4.7976917977261847e-06_r8, 6.0856342912170037e-06_r8, & + 7.7252083009536051e-06_r8, 9.7168591397200527e-06_r8, & + 1.4145601045894888e-05_r8, 1.8697516923788219e-05_r8, & + 2.487806984546473e-05_r8, 3.5875754915209105e-05_r8, & + 5.3409862650610595e-05_r8, 7.706509355917585e-05_r8, & + 0.00010397757334095086_r8, 0.00013072081962179876_r8, & + 0.00015675625663757754_r8, 0.00017934938721720793_r8, & + 0.00019904575591442791_r8, 0.00023795075263433965_r8, & + 0.00026094019773248737_r8, 0.00027696406682042678_r8, & + 0.00028890339762911553_r8, 0.00029792039234156361_r8, & + 0.00029996088741221906_r8, 0.00028668737585108104_r8, & + 0.00026611846709726595_r8, 0.00025962274191103813_r8, & + 0.00026359305885909366_r8, 0.00026984667309867588_r8, & + 0.00027480446413568986_r8, 0.00027762247124135209_r8, & + 0.00027914854398693477_r8, 0.0002798105091675333_r8, & + 0.00027995943855499709_r8, 0.00028038851079604447_r8, 9e90_r8 & + / +data saar_ref(:,17,48) / & + 3.6230353060361118e-06_r8, 3.67487036456696e-06_r8, & + 3.753331344974876e-06_r8, 2.9629958673771696e-06_r8, & + 3.0017089710523501e-06_r8, 3.0113194839327191e-06_r8, & + 3.1985148021253694e-06_r8, 3.1974729944027269e-06_r8, & + 3.1588082154768977e-06_r8, 3.2074018992415516e-06_r8, & + 3.3328961253720005e-06_r8, 3.7217508840524536e-06_r8, & + 4.2499696764335806e-06_r8, 5.0046093710043382e-06_r8, & + 6.8118821398558765e-06_r8, 9.5563117325012268e-06_r8, & + 1.6134514581699261e-05_r8, 2.444672708216712e-05_r8, & + 3.641874771793612e-05_r8, 5.6807033145066681e-05_r8, & + 8.3569088896153648e-05_r8, 0.00011382451193093306_r8, & + 0.00014238358865081252_r8, 0.00016839993115686164_r8, & + 0.0001912615657478772_r8, 0.00021002116774338587_r8, & + 0.00022700561534271096_r8, 0.00025715176251137317_r8, & + 0.00027674414951492111_r8, 0.00029200662410175978_r8, & + 0.00030512309518320401_r8, 0.00031514183938917547_r8, & + 0.00031920929929842918_r8, 0.00030855905268781236_r8, & + 0.0002850685017202602_r8, 0.00027354253337346892_r8, & + 0.00027611679287038059_r8, 0.00028171439208921165_r8, & + 0.00028628041128637332_r8, 0.00028894928241074652_r8, & + 0.00029078610215061063_r8, 0.00029151344398255105_r8, & + 0.00029222441802458874_r8, 0.00029299005293725882_r8, & + 0.0002963963691367537_r8 & + / +data saar_ref(:,18,48) / & + 3.6486551442190629e-06_r8, 3.7272928669816557e-06_r8, & + 3.7801008930069255e-06_r8, 3.3971550291823532e-06_r8, & + 3.4016406903640333e-06_r8, 3.4220066608076828e-06_r8, & + 3.5539559111605547e-06_r8, 3.3957795612711522e-06_r8, & + 3.249109765957891e-06_r8, 3.2000964904797301e-06_r8, & + 3.2749313402570054e-06_r8, 4.1417571832744625e-06_r8, & + 4.9039895329330971e-06_r8, 5.9354054917362441e-06_r8, & + 9.924331365731253e-06_r8, 1.5673656136490891e-05_r8, & + 2.6642475156378626e-05_r8, 4.1781571445039954e-05_r8, & + 6.4792963243150904e-05_r8, 9.5435876590858911e-05_r8, & + 0.00012662424001206736_r8, 0.00015584494434841469_r8, & + 0.00017890208013865728_r8, 0.0002032903760209482_r8, & + 0.00022129994975291821_r8, 0.00023689989334339998_r8, & + 0.00024960999861652576_r8, 0.00027316783632590967_r8, & + 0.00029085860975084992_r8, 0.00030635548697271521_r8, & + 0.00031963449355748119_r8, 0.00032840755857362048_r8, & + 0.00033288133611690675_r8, 0.00032932485073594646_r8, & + 0.00031271741151678919_r8, 0.00029290832448801099_r8, & + 0.00028811393304494176_r8, 0.00029243847582731235_r8, & + 0.00029679540959069836_r8, 0.00029892324098574258_r8, & + 0.00030067238173911106_r8, 0.00030208015294641349_r8, & + 0.00030256610713242694_r8, 0.0003038945610235034_r8, & + 0.00030943275951167193_r8 & + / +data saar_ref(:,19,48) / & + 4.1560797414685591e-06_r8, 4.193803890885832e-06_r8, & + 4.1805052635269826e-06_r8, 4.2390500965795213e-06_r8, & + 4.2455738705038422e-06_r8, 4.2852397030427504e-06_r8, & + 4.2481873910793517e-06_r8, 4.3605380977019604e-06_r8, & + 4.3801757816247276e-06_r8, 4.3946265291164207e-06_r8, & + 4.5195214851867365e-06_r8, 5.3218444428276432e-06_r8, & + 8.2730250447579226e-06_r8, 1.4758976619573694e-05_r8, & + 2.4933796348771211e-05_r8, 3.6399327407420743e-05_r8, & + 5.6203319840454181e-05_r8, 8.0457306286919485e-05_r8, & + 0.00010811075271310373_r8, 0.00013495132391532123_r8, & + 0.00015970466493043495_r8, 0.00018211675367093658_r8, & + 0.00020299524250777247_r8, 0.00022300295693162203_r8, & + 0.00023931130729476795_r8, 0.00025421906039244438_r8, & + 0.0002663245997973063_r8, 0.00029140790778197333_r8, & + 0.00031137525194600125_r8, 0.00032757275488747825_r8, & + 0.00034011876961249096_r8, 0.00034745443504289426_r8, & + 0.00035166665129572887_r8, 0.00035231536992618394_r8, & + 0.00034589335640612835_r8, 0.00032902115707677252_r8, & + 0.00031320906239455659_r8, 0.0003095710185190374_r8, & + 0.00031114193052368162_r8, 0.00031095780343654467_r8, & + 0.00031112709850682343_r8, 0.00031062261317163113_r8, & + 0.00031214687771533733_r8, 0.00031507454830932642_r8, & + 0.00031735725103369052_r8 & + / +data saar_ref(:,20,48) / & + 4.5897692491122982e-06_r8, 4.5422980568717979e-06_r8, & + 4.5026863522937279e-06_r8, 4.9940959847409404e-06_r8, & + 5.0026267114058721e-06_r8, 5.018785640181474e-06_r8, & + 4.7865791351143726e-06_r8, 5.121018301715033e-06_r8, & + 6.0464738160127897e-06_r8, 6.3914682573029761e-06_r8, & + 6.994478586241089e-06_r8, 9.7918065810511591e-06_r8, & + 1.8637905990245639e-05_r8, 3.1965941724128674e-05_r8, & + 4.6058352537141696e-05_r8, 6.059584769802622e-05_r8, & + 8.5027946232839042e-05_r8, 0.00010942989294218083_r8, & + 0.00013282710265716434_r8, 0.0001561062196838377_r8, & + 0.00017995320027338252_r8, 0.00020229198240094199_r8, & + 0.0002230555471737456_r8, 0.0002425304957731981_r8, & + 0.00025944684904894848_r8, 0.00027527743297731642_r8, & + 0.00028906708184951317_r8, 0.00031913340405826816_r8, & + 0.00034093816159161232_r8, 0.00035687083616860155_r8, & + 0.00036648952427693394_r8, 0.00037136128727720009_r8, & + 0.00037313227225860973_r8, 0.00037251372681607238_r8, & + 0.00036860203746453971_r8, 0.00036052511936564562_r8, & + 0.00034559274241059858_r8, 0.00033366054001017763_r8, & + 0.00032973719871862188_r8, 0.00033116794149789342_r8, & + 0.00033123193894718257_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,48) / & + 4.9873161407630253e-06_r8, 4.9413698224614583e-06_r8, & + 4.9590392830258453e-06_r8, 5.6582392547404353e-06_r8, & + 5.6992172445247181e-06_r8, 5.8054278881107012e-06_r8, & + 5.4320529293630585e-06_r8, 5.8403314780697683e-06_r8, & + 7.306270937761761e-06_r8, 8.6309457599161325e-06_r8, & + 1.1492455174300514e-05_r8, 1.9486886108602458e-05_r8, & + 3.2949795694066279e-05_r8, 5.1212050595383715e-05_r8, & + 6.5296121927628793e-05_r8, 7.839316559089277e-05_r8, & + 0.00010038278324464547_r8, 0.00012317760424200434_r8, & + 0.0001474156450573029_r8, 0.00017201635804358844_r8, & + 0.00019693984291807961_r8, 0.00022119305504757762_r8, & + 0.00024251467076726025_r8, 0.00026278724345525981_r8, & + 0.00028040873167501685_r8, 0.00029777412924880469_r8, & + 0.00031392467256987548_r8, 0.00034766706401363339_r8, & + 0.00036914155914755863_r8, 0.00038417192521640581_r8, & + 0.0003920994264734763_r8, 0.00039562020758210608_r8, & + 0.00039583032660934776_r8, 0.00039402431902817587_r8, & + 0.00039092388587874319_r8, 0.00038675771385263141_r8, & + 0.00037926375747694197_r8, 0.00036779149140025405_r8, & + 0.0003585220579900899_r8, 0.00035227795056720819_r8, & + 0.00034937979365155987_r8, 0.00034757533742949914_r8, & + 0.00034581730781351751_r8, 0.0003458687727611908_r8, & + 0.00034602474634702331_r8 & + / +data saar_ref(:,22,48) / & + 5.1292543937966745e-06_r8, 5.1536028813468929e-06_r8, & + 5.2398484382420523e-06_r8, 6.9590703671711538e-06_r8, & + 7.4063889884533026e-06_r8, 7.6178744271780853e-06_r8, & + 7.865914309309475e-06_r8, 9.0364831448456773e-06_r8, & + 1.1143027674814946e-05_r8, 1.5937188185064438e-05_r8, & + 2.4107302262844306e-05_r8, 3.2836881075805043e-05_r8, & + 5.0315251943038692e-05_r8, 6.6115172235294494e-05_r8, & + 7.8354537488973836e-05_r8, 9.0070722918293461e-05_r8, & + 0.00011340983472329316_r8, 0.00013989445781135575_r8, & + 0.00016719750429052289_r8, 0.00019136220825966628_r8, & + 0.00021612889875884307_r8, 0.0002427711936140094_r8, & + 0.00026530474762732431_r8, 0.00028653034579391733_r8, & + 0.00030526636678248692_r8, 0.0003234628739792651_r8, & + 0.0003421645273530563_r8, 0.00037689507081554373_r8, & + 0.00039800137862696413_r8, 0.00041237297473005003_r8, & + 0.00041976962743237874_r8, 0.00042262256648829355_r8, & + 0.00042220649800896117_r8, 0.00041996601636112472_r8, & + 0.00041690773657408861_r8, 0.00041246769722488245_r8, & + 0.00040474142235039892_r8, 0.00039069257786522712_r8, & + 0.0003785591914683911_r8, 0.00037116400633179956_r8, & + 0.00036776293734774629_r8, 0.0003663963663096012_r8, & + 0.000365650621598006_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,48) / & + 4.8552885092111632e-06_r8, 4.9342137055026575e-06_r8, & + 5.1156472201933966e-06_r8, 7.4975986508954273e-06_r8, & + 8.1421279473920265e-06_r8, 8.4463895484664127e-06_r8, & + 1.0078553944615317e-05_r8, 1.3723947477217115e-05_r8, & + 1.7306036411919951e-05_r8, 2.5513385420398296e-05_r8, & + 3.9684473500528718e-05_r8, 5.0340799058900653e-05_r8, & + 6.8036654903604949e-05_r8, 8.0893524915048683e-05_r8, & + 9.0874037968100273e-05_r8, 0.00010274010857253453_r8, & + 0.00012582766703019086_r8, 0.00015528757381682068_r8, & + 0.0001847506055922416_r8, 0.00021056774887653939_r8, & + 0.00023766932430318186_r8, 0.00026369380593773144_r8, & + 0.00028744002028184459_r8, 0.00031006286272650124_r8, & + 0.00033035323969246924_r8, 0.00034901140231726385_r8, & + 0.00036743381474178447_r8, 0.00040020466414338301_r8, & + 0.00042430092087702282_r8, 0.00043992450858674798_r8, & + 0.00044766578012547331_r8, 0.00044889418631195477_r8, & + 0.00044702747824690482_r8, 0.00044318687602082466_r8, & + 0.00043848200575663944_r8, 0.00043209882077052675_r8, & + 0.00042276330649842787_r8, 0.00040851216201928051_r8, & + 0.0003961043671789578_r8, 0.00038994386854628081_r8, & + 0.00038726547933079302_r8, 0.00038589181051698038_r8, & + 0.00038409895461722992_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,48) / & + 4.5203480453399307e-06_r8, 4.6543774987841867e-06_r8, & + 5.1216780808260432e-06_r8, 6.8746932043090721e-06_r8, & + 6.9699443581418112e-06_r8, 6.891122126674389e-06_r8, & + 9.1933932165115807e-06_r8, 1.5633533333352919e-05_r8, & + 2.0887044489913112e-05_r8, 3.0832639641964089e-05_r8, & + 5.0384894265920291e-05_r8, 6.7916177821022777e-05_r8, & + 8.8063604453442296e-05_r8, 0.00010229419948417337_r8, & + 0.00010934975681110918_r8, 0.00012043074196146231_r8, & + 0.00014378745295659016_r8, 0.0001720932162254695_r8, & + 0.00020233178141737318_r8, 0.0002306752146449289_r8, & + 0.00025780031236767597_r8, 0.00028264784390778758_r8, & + 0.00030920852436293876_r8, 0.00033297146942927745_r8, & + 0.00035353883400445006_r8, 0.00037278163103446604_r8, & + 0.00038996283567796519_r8, 0.00042164124603220237_r8, & + 0.00044850106288562506_r8, 0.00046429967828094394_r8, & + 0.00047351938199928815_r8, 0.00047587711321891253_r8, & + 0.00047452089292025708_r8, 0.00047037173177787427_r8, & + 0.00046392800134924077_r8, 0.00045446765055515029_r8, & + 0.00044118419004250323_r8, 0.00042588260751975525_r8, & + 0.00041402194466971337_r8, 0.00040752725383018515_r8, & + 0.00040442629516821316_r8, 0.00040282065559516824_r8, & + 0.00040154295773219895_r8, 0.000401054439816441_r8, & + 0.00040019531819771357_r8 & + / +data saar_ref(:,25,48) / & + 4.5308978187853601e-06_r8, 4.6985542273739162e-06_r8, & + 4.8934099476652726e-06_r8, 6.2803498488397445e-06_r8, & + 6.2239616055693844e-06_r8, 5.8380462801261613e-06_r8, & + 7.9283447641575076e-06_r8, 1.2266498282037175e-05_r8, & + 2.2480699480001666e-05_r8, 3.6716629746351202e-05_r8, & + 5.6531123521110222e-05_r8, 7.9150819352356578e-05_r8, & + 9.9081770372318924e-05_r8, 0.00011213575579758475_r8, & + 0.00012283938772339722_r8, 0.00013472739061613347_r8, & + 0.00016384149986910454_r8, 0.00019307795230168423_r8, & + 0.00022278502043964106_r8, 0.0002525507733266244_r8, & + 0.0002797790067784532_r8, 0.00030568166432994856_r8, & + 0.00033138536401771578_r8, 0.00035583375510299159_r8, & + 0.00037644203453346983_r8, 0.00039521571060970571_r8, & + 0.00041264582880580806_r8, 0.0004449486962628092_r8, & + 0.00047172566252511202_r8, 0.00048501890211824229_r8, & + 0.00049451879377181347_r8, 0.00049788147483634498_r8, & + 0.00049820869291742329_r8, 0.00049405514800120447_r8, & + 0.00048725261605656359_r8, 0.00047541816132119281_r8, & + 0.00046066397595761089_r8, 0.0004450831356624293_r8, & + 0.00043286360305287773_r8, 0.00042568475274928311_r8, & + 0.00042088154960032685_r8, 0.00041792898645425051_r8, & + 0.00041601461248008529_r8, 0.0004144074746246003_r8, 9e90_r8 & + / +data saar_ref(:,26,48) / & + 4.9436265341386071e-06_r8, 5.0719477349814599e-06_r8, & + 4.9485671662305404e-06_r8, 5.3642157533559318e-06_r8, & + 5.3221517419878655e-06_r8, 5.1987012591827265e-06_r8, & + 5.7948407419802724e-06_r8, 7.2521109233759754e-06_r8, & + 1.0344894567721583e-05_r8, 1.8136669367421992e-05_r8, & + 2.8688445482422497e-05_r8, 4.4318370784239268e-05_r8, & + 6.9218696883412319e-05_r8, 9.7987274362121098e-05_r8, & + 0.00012289214428503305_r8, 0.00014431755462503192_r8, & + 0.00018919551496333062_r8, 0.00022264147908666437_r8, & + 0.00025393015287855419_r8, 0.00028189834202896677_r8, & + 0.00030903695817788523_r8, 0.00033659175694340635_r8, & + 0.000358276396887319_r8, 0.00038117180270485704_r8, & + 0.00040189983254625762_r8, 0.00042133241306167434_r8, & + 0.00043795064435500636_r8, 0.00046969551108878946_r8, & + 0.00049331857194451223_r8, 0.00050600936900988783_r8, & + 0.00051401300535336176_r8, 0.00051754128624622838_r8, & + 0.00051774016076179227_r8, 0.00051431755963968206_r8, & + 0.00050824751669163487_r8, 0.00049733286110052418_r8, & + 0.0004853175937495314_r8, 0.00047116202922088657_r8, & + 0.00045763315478159644_r8, 0.00044607695095646993_r8, & + 0.0004389386841752992_r8, 0.00043409482302596866_r8, & + 0.00043213283704225393_r8, 0.00042850037277374851_r8, 9e90_r8 & + / +data saar_ref(:,27,48) / & + 5.4335115199823606e-06_r8, 5.3771898445439298e-06_r8, & + 5.3249247666010248e-06_r8, 6.2998889687978248e-06_r8, & + 6.2945079908233271e-06_r8, 6.1922396119494557e-06_r8, & + 6.2107651955405196e-06_r8, 6.6362624080472605e-06_r8, & + 6.5532784132293062e-06_r8, 9.0662089933485799e-06_r8, & + 1.3627768569205735e-05_r8, 1.8358729400430167e-05_r8, & + 3.443194853841119e-05_r8, 5.675505539876392e-05_r8, & + 8.6447164360228018e-05_r8, 0.00011696300235041321_r8, & + 0.00018315940384139838_r8, 0.00024415418596718751_r8, & + 0.00028885603542558926_r8, 0.00031986000584660374_r8, & + 0.00034737665770143638_r8, 0.00037259475855702082_r8, & + 0.00039141333092102795_r8, 0.00041162172331260532_r8, & + 0.00042975582099953125_r8, 0.00044792080252372302_r8, & + 0.00046342093120421891_r8, 0.00049451733019899942_r8, & + 0.00051629492791948998_r8, 0.0005293106180954642_r8, & + 0.00053573217256776154_r8, 0.00053832153369575179_r8, & + 0.00053762307230568486_r8, 0.00053376968959974983_r8, & + 0.00052770298024791703_r8, 0.00051936310732148157_r8, & + 0.00051053685010971788_r8, 0.00049935395849408707_r8, & + 0.00048536230778909958_r8, 0.00046996235766387008_r8, & + 0.00045891335188548888_r8, 0.00045155044680458134_r8, & + 0.00044910871460271368_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,48) / & + 5.4147139499183537e-06_r8, 5.2925256717585233e-06_r8, & + 5.1991488997135917e-06_r8, 7.2111419173623452e-06_r8, & + 7.3125434960150891e-06_r8, 6.8173622845036984e-06_r8, & + 6.464897261901619e-06_r8, 6.9275047739781753e-06_r8, & + 7.3593835794919475e-06_r8, 8.8315080895258703e-06_r8, & + 1.0400076538296236e-05_r8, 1.254785464736151e-05_r8, & + 2.1373310721360476e-05_r8, 3.3818807129825913e-05_r8, & + 5.1854932129833771e-05_r8, 7.5691608148684166e-05_r8, & + 0.0001437974050710821_r8, 0.00022923228989788023_r8, & + 0.00029711884503161052_r8, 0.00034487176509030097_r8, & + 0.00038132058059119669_r8, 0.0004047836431380538_r8, & + 0.00042580083048775636_r8, 0.00044427864254634078_r8, & + 0.00046068160855635917_r8, 0.00047645342221767114_r8, & + 0.00049033960491160324_r8, 0.00052007198800024346_r8, & + 0.00053960782050351127_r8, 0.00055075864054846978_r8, & + 0.00055429002293270622_r8, 0.00055420423857112909_r8, & + 0.00055131062356014824_r8, 0.00054543806172110347_r8, & + 0.00053851881059294952_r8, 0.00053071370132498901_r8, & + 0.00052175846550307292_r8, 0.00051592095208969604_r8, & + 0.00050753772728460761_r8, 0.00050480050051120585_r8, & + 0.00049257160590191113_r8, 0.000486602455887419_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,48) / & + 5.6206397326755356e-06_r8, 5.6934384116147885e-06_r8, & + 5.806851281840316e-06_r8, 7.0797036009377033e-06_r8, & + 7.2207567788753925e-06_r8, 6.8186386185004986e-06_r8, & + 6.8080992772599645e-06_r8, 8.7113519098424921e-06_r8, & + 9.6908566431818192e-06_r8, 1.154520127683701e-05_r8, & + 1.3403749616096303e-05_r8, 1.7638859235884343e-05_r8, & + 2.4670495742722263e-05_r8, 3.4306778789399445e-05_r8, & + 4.628299308753426e-05_r8, 6.5546518860501113e-05_r8, & + 0.00012404243025148482_r8, 0.00020390296604347105_r8, & + 0.00028374026397736058_r8, 0.00034948428947657287_r8, & + 0.0004021424762512655_r8, 0.00043571181820213075_r8, & + 0.00046066914574010946_r8, 0.00048311283937635516_r8, & + 0.00050205967140797589_r8, 0.00051943348700714297_r8, & + 0.00053130968651191317_r8, 0.00055790365816844271_r8, & + 0.00057496772653331345_r8, 0.00058263900086694251_r8, & + 0.00058321876878947396_r8, 0.00058113833331354683_r8, & + 0.00057665123946118826_r8, 0.00057039028273909173_r8, & + 0.00056274165420659391_r8, 0.00055387702724143701_r8, & + 0.00054239220202326893_r8, 0.0005430592167636033_r8, & + 0.00054321409005431555_r8, 0.00053856426041518893_r8, & + 0.00053223699052472187_r8, 0.00052279552441842139_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,48) / & + 7.0034294987383872e-06_r8, 7.2449507484990046e-06_r8, & + 7.8656672604974948e-06_r8, 8.4118798894648484e-06_r8, & + 9.8841643492750938e-06_r8, 1.0423550156097175e-05_r8, & + 1.0875045289709423e-05_r8, 1.3582414783632891e-05_r8, & + 1.6232643602376834e-05_r8, 1.9640056629350191e-05_r8, & + 2.2724155925965395e-05_r8, 2.7882529531294703e-05_r8, & + 3.4565585303199901e-05_r8, 4.3879728843211591e-05_r8, & + 5.6400796098390927e-05_r8, 7.5991612779864826e-05_r8, & + 0.00013108916060399503_r8, 0.00021036639542253391_r8, & + 0.00029093004163388531_r8, 0.00036648399055577349_r8, & + 0.00042461250887085219_r8, 0.00047004979676664647_r8, & + 0.00049936291203913925_r8, 0.00052575458023417182_r8, & + 0.00054586478851536722_r8, 0.00056338673025861945_r8, & + 0.00057713884792744531_r8, 0.00060239001464863795_r8, & + 0.00061837153885632614_r8, 0.00062446657735454065_r8, & + 0.00062350381092909229_r8, 0.00061729464757727111_r8, & + 0.00061225972405131454_r8, 0.00060533148732701985_r8, & + 0.00059569634437993597_r8, 0.00058873118863265702_r8, & + 0.00057734366391817447_r8, 0.00057757091391113537_r8, & + 0.00057651425232729651_r8, 0.00057362068829077155_r8, & + 0.00056747697686961311_r8, 0.00056574417618236283_r8, & + 0.00056648385221020128_r8, 0.00056554382778672442_r8, 9e90_r8 & + / +data saar_ref(:,31,48) / & + 1.363267943320999e-05_r8, 1.3670650434623169e-05_r8, & + 1.4473036614012569e-05_r8, 1.3718688295349816e-05_r8, & + 1.5411799621689414e-05_r8, 1.7741882153001622e-05_r8, & + 2.0085338395868118e-05_r8, 2.583025799357698e-05_r8, & + 2.9395882657404376e-05_r8, 3.2691676332727049e-05_r8, & + 3.5933413005973669e-05_r8, 4.0065463857322158e-05_r8, & + 4.7220676638842543e-05_r8, 5.7354728155917717e-05_r8, & + 7.3653900986207823e-05_r8, 9.4012034918023599e-05_r8, & + 0.00014924397943395616_r8, 0.00022532123160823357_r8, & + 0.00030651865384310063_r8, 0.00038522781057519944_r8, & + 0.00044326083558986825_r8, 0.00049393421873300677_r8, & + 0.0005263631759432069_r8, 0.00055558900213503834_r8, & + 0.00057078618617316683_r8, 0.00058511410157191925_r8, & + 0.00060101497712441478_r8, 0.00062932929096749975_r8, & + 0.00064658183391053678_r8, 0.00065218054695067456_r8, & + 0.00064998286091986102_r8, 0.00063895321610466492_r8, & + 0.00063251463119454502_r8, 0.00062567487554246806_r8, & + 0.00061768338055026236_r8, 0.00061168434852044984_r8, & + 0.00060690395799672654_r8, 0.00060245324649437404_r8, & + 0.0006005717522103598_r8, 0.00059810086520919667_r8, & + 0.00059365457428585909_r8, 0.00058925650006407806_r8, & + 0.0005860808332648909_r8, 0.00058453130292821084_r8, & + 0.00057462679507287392_r8 & + / +data saar_ref(:,32,48) / & + 2.8775894687892333e-05_r8, 2.8898199289095975e-05_r8, & + 2.9639449486466678e-05_r8, 3.1772652919544541e-05_r8, & + 3.3464868926277065e-05_r8, 3.9312235216994529e-05_r8, & + 4.0759351438669616e-05_r8, 4.771455757863786e-05_r8, & + 5.1854224272531361e-05_r8, 5.5214521651770903e-05_r8, & + 5.8891866056354448e-05_r8, 6.3950520412272286e-05_r8, & + 7.4995451079825194e-05_r8, 9.186602274881465e-05_r8, & + 0.00011545534471690723_r8, 0.00014312937551079965_r8, & + 0.00021169777112107721_r8, 0.0002900309273773484_r8, & + 0.0003679310046781087_r8, 0.00043133679784189026_r8, & + 0.0004794362368829994_r8, 0.00052323737809452928_r8, & + 0.00055583741661234716_r8, 0.00058521968666824223_r8, & + 0.00059518993493762546_r8, 0.00060780140187561324_r8, & + 0.00062528755825154881_r8, 0.00065226841707840871_r8, & + 0.00067029829427701882_r8, 0.00067640031828358337_r8, & + 0.00067416711823244037_r8, 0.00066422678102979441_r8, & + 0.0006559804447156441_r8, 0.00064618378750861956_r8, & + 0.00063759320315018785_r8, 0.00063097525858661532_r8, & + 0.00062739157537916178_r8, 0.00062421941791280394_r8, & + 0.00062281374971024002_r8, 0.00062171526823020032_r8, & + 0.00062128050086402028_r8, 0.00061804303352114916_r8, & + 0.00061568513073738797_r8, 0.00061469274921801848_r8, 9e90_r8 & + / +data saar_ref(:,33,48) / & + 5.6117271604959984e-05_r8, 5.7033018320884978e-05_r8, & + 5.8057532291829649e-05_r8, 6.7747651245385676e-05_r8, & + 7.0318814600143755e-05_r8, 6.9115376568754171e-05_r8, & + 7.2453764247963016e-05_r8, 7.7139285061988305e-05_r8, & + 8.0884486095844668e-05_r8, 8.5624561975018691e-05_r8, & + 9.2285500033285097e-05_r8, 0.0001021785251714974_r8, & + 0.00013063250258904535_r8, 0.00016171396907296032_r8, & + 0.00019732652264566966_r8, 0.00023688078315287742_r8, & + 0.00031325826284807047_r8, 0.0003856191106545062_r8, & + 0.0004451601068912748_r8, 0.0004931347699158663_r8, & + 0.00053351762280187686_r8, 0.00056671897195444858_r8, & + 0.00059560731881547571_r8, 0.00062039490854498352_r8, & + 0.00063454125630569148_r8, 0.00064984305034561189_r8, & + 0.00066563002570430051_r8, 0.00068906666444901751_r8, & + 0.00070441116523636946_r8, 0.00070831631651895402_r8, & + 0.00070388287728348476_r8, 0.00069466136617381366_r8, & + 0.00068432391088115493_r8, 0.00067274984118029842_r8, & + 0.0006622644674888704_r8, 0.00065629625522764978_r8, & + 0.00065469603338222425_r8, 0.00065411898923636446_r8, & + 0.00065312055836129642_r8, 0.00065139069728255077_r8, & + 0.00065125858769866224_r8, 0.00064853371154293272_r8, & + 0.00064796464603833481_r8, 0.00065105758370180903_r8, & + 0.00065346753095351002_r8 & + / +data saar_ref(:,34,48) / & + 7.8194939218085633e-05_r8, 8.2265600127529905e-05_r8, & + 8.49788498988917e-05_r8, 9.7607951460560745e-05_r8, & + 9.8527019981439924e-05_r8, 0.00010014007070403605_r8, & + 0.00011883348823658042_r8, 0.00012313651490324784_r8, & + 0.00013134509472614912_r8, 0.00016499819385108451_r8, & + 0.00018891188487826145_r8, 0.00021243462711196512_r8, & + 0.0002547707265556528_r8, 0.00029886351247540268_r8, & + 0.00033753260890794537_r8, 0.00037337676301155804_r8, & + 0.00043321688040189754_r8, 0.00048365488582260773_r8, & + 0.00052354871892591932_r8, 0.00056070037554979148_r8, & + 0.000590643493700112_r8, 0.00061582495384549765_r8, & + 0.00063661718954328387_r8, 0.00065604920111286792_r8, & + 0.00067004817649061836_r8, 0.00068358936279234062_r8, & + 0.00069513073564906117_r8, 0.00071458757404478993_r8, & + 0.00072553750408698011_r8, 0.00072757104549826292_r8, & + 0.00072289804635084767_r8, 0.00071445944499015244_r8, & + 0.00070294708560910768_r8, 0.00069139198214263195_r8, & + 0.0006816191060709649_r8, 0.00067551340252538746_r8, & + 0.00067366073639917869_r8, 0.00067412646689644353_r8, & + 0.00067204309425963026_r8, 0.00067173688111415064_r8, & + 0.00067188488137685548_r8, 0.00067092482674489546_r8, & + 0.00067150410676466922_r8, 0.0006723810973868024_r8, & + 0.00066886481685754886_r8 & + / +data saar_ref(:,35,48) / & + 9.2941823822230543e-05_r8, 9.6336903478257222e-05_r8, & + 0.00010241419293238217_r8, 0.00011772441684035862_r8, & + 0.00012521399884406157_r8, 0.00013727353288501363_r8, & + 0.00017445837814171093_r8, 0.00018416709087759018_r8, & + 0.00021277084055669213_r8, 0.00026933852915332488_r8, & + 0.00029960926588612366_r8, 0.00033167919606470211_r8, & + 0.00035783290165374877_r8, 0.00039680864530855845_r8, & + 0.00042622838750028675_r8, 0.00045800063999925462_r8, & + 0.00050800755181892041_r8, 0.00054175052149990123_r8, & + 0.00056948412692784701_r8, 0.00059842560362442093_r8, & + 0.00062111721820712351_r8, 0.0006438155268609642_r8, & + 0.00066160636303766885_r8, 0.00067979985679136466_r8, & + 0.00069298921315524126_r8, 0.00070838809969668039_r8, & + 0.00071685948627458411_r8, 0.00073466495571056331_r8, & + 0.00074016252287971462_r8, 0.00073993365166767102_r8, & + 0.00073449964486056913_r8, 0.00072627263888933621_r8, & + 0.00071478250476212713_r8, 0.00070612694937750571_r8, & + 0.00069797054009720265_r8, 0.00069121614202186446_r8, & + 0.00068824421188476773_r8, 0.0006856358729384562_r8, & + 0.00068419418717975927_r8, 0.00068257600594792537_r8, & + 0.00068143478651510074_r8, 0.00067837385073732891_r8, & + 0.00067505438936713339_r8, 0.00066934394084040957_r8, & + 0.00066813155729184579_r8 & + / +data saar_ref(:,36,48) / & + 9.4860154129247651e-05_r8, 0.00010273458693397654_r8, & + 0.00011293947457915925_r8, 0.00015092614350801877_r8, & + 0.00016954595712979402_r8, 0.00018727775210699053_r8, & + 0.00022877713869411126_r8, 0.00024802549630434877_r8, & + 0.0002661804192147394_r8, 0.00029005519333232655_r8, & + 0.00030166120845656088_r8, 0.00030839818814372227_r8, & + 0.00033144602353828699_r8, 0.00036888144631432029_r8, & + 0.00039966495745289972_r8, 0.00043088586297996098_r8, & + 0.00049286979013690377_r8, 0.00054356215477201046_r8, & + 0.00057279854651499571_r8, 0.00059833798372972789_r8, & + 0.00062321065004992764_r8, 0.00064365570798725956_r8, & + 0.00066932462622160908_r8, 0.000690895044915352_r8, & + 0.00071281236600913224_r8, 0.0007233132478429371_r8, & + 0.00072738489791702218_r8, 0.00074539356379133535_r8, & + 0.00075358089429894035_r8, 0.00075456375198281454_r8, & + 0.00075171168636785455_r8, 0.00074673696327756949_r8, & + 0.00073812003755242904_r8, 0.00073344428798871413_r8, & + 0.00072905396992650263_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,48) / & + 3.9423600480485375e-05_r8, 4.4294886489491765e-05_r8, & + 5.2868724150733548e-05_r8, 8.7078320456503546e-05_r8, & + 0.00011365090856795791_r8, 0.00014549309327353984_r8, & + 0.00022336889753329635_r8, 0.00024601428580402039_r8, & + 0.00027112902033828113_r8, 0.00028980205665552129_r8, & + 0.00030147128700873025_r8, 0.0003004243746571846_r8, & + 0.00033314760045152552_r8, 0.00037144974189297705_r8, & + 0.00040796218554680605_r8, 0.00043881264555472097_r8, & + 0.00050309351782391746_r8, 0.00055758361377229075_r8, & + 0.00058994877835317995_r8, 0.00061601124870978938_r8, & + 0.00064247468240847204_r8, 0.00066414169358355044_r8, & + 0.0006917070762932849_r8, 0.00071464399739977534_r8, & + 0.00073848171312903687_r8, 0.00074667114926532338_r8, & + 0.00074496568146075869_r8, 0.00076286589072887612_r8, & + 0.00077210591911596924_r8, 0.00077363909118954117_r8, & + 0.0007708925826565605_r8, 0.00076675301673123717_r8, & + 0.00075975590239277192_r8, 0.00075549618163194693_r8, & + 0.00075249658843339355_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,48) / & + 1.7730178187645169e-05_r8, 2.0984561654150059e-05_r8, & + 3.3858772957175567e-05_r8, 5.1964617294042101e-05_r8, & + 8.1419746791671445e-05_r8, 0.00012951340883924538_r8, & + 0.00022664650836711316_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,48) / & + 2.7117107370801643e-05_r8, 2.8545907633856804e-05_r8, & + 4.0587867155106533e-05_r8, 5.8306193786698643e-05_r8, & + 9.3417486648033547e-05_r8, 0.00014975153321200146_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,48) / & + 9.1299575805927496e-05_r8, 8.4409350297668257e-05_r8, & + 9.1772745161198359e-05_r8, 0.00014038288420916046_r8, & + 0.00021695124254737222_r8, 0.00024910017442981395_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,48) / & + 0.00012892150427115139_r8, 0.00011929237289929397_r8, & + 0.00011940915418739416_r8, 0.00014488085225935259_r8, & + 0.00020808523441141156_r8, 0.00026783785976992256_r8, & + 0.00031099313697457076_r8, 0.00038703177393201898_r8, & + 0.00041750151647206756_r8, 0.00027739121867925286_r8, & + 0.00020514999415278509_r8, 0.00012819125982187749_r8, & + 0.00010126770564003468_r8, 9.3229304155511891e-05_r8, & + 0.00010931135265357495_r8, 0.00010023674075153683_r8, & + 9.9251124183508585e-05_r8, 8.6323682914529227e-05_r8, & + 8.4423632231843784e-05_r8, 8.4539773509244556e-05_r8, & + 8.3743441263952543e-05_r8, 8.3392126487368123e-05_r8, & + 8.222093795225083e-05_r8, 8.5441090632060285e-05_r8, & + 9.0523336975760488e-05_r8, 9.3477858417101222e-05_r8, & + 0.00010066103299433139_r8, 0.00011769661747796235_r8, & + 9.1383571753324172e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,48) / & + 0.00012267599361142232_r8, 0.00011860890906973437_r8, & + 0.00011953863281509097_r8, 0.00012598780798779756_r8, & + 0.00014415724119736079_r8, 0.00016870786518987892_r8, & + 0.00021434136107023209_r8, 0.00028937697918093251_r8, & + 0.00041763160054697647_r8, 0.00032638314172944217_r8, & + 0.00024099324771823322_r8, 0.00012807806263301724_r8, & + 7.9998416568532248e-05_r8, 8.0837836127191706e-05_r8, & + 9.4939203199058633e-05_r8, 8.9866768586272761e-05_r8, & + 8.9406103027489254e-05_r8, 8.1547593824416611e-05_r8, & + 8.0424149982061385e-05_r8, 8.1319545799473554e-05_r8, & + 8.1213420179585458e-05_r8, 8.1248832085355999e-05_r8, & + 8.106594033478539e-05_r8, 8.3196429190735843e-05_r8, & + 8.7667150376282918e-05_r8, 9.1406507775389036e-05_r8, & + 9.7435807353133435e-05_r8, 0.00011878586823398894_r8, & + 0.00010408315894991409_r8, 0.00010373733226816371_r8, & + 0.00010647167527506535_r8, 0.00010622764567802415_r8, & + 0.00010482340669028747_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,48) / & + 0.00010687670956136436_r8, 0.00011308868048734663_r8, & + 0.0001050943269687719_r8, 0.00013337969474289352_r8, & + 0.0001388002519072248_r8, 0.00014032199357613491_r8, & + 0.00015157271661276971_r8, 0.00017611226454907516_r8, & + 0.00030744289206247245_r8, 0.00023260379139415443_r8, & + 0.00016838003350484271_r8, 0.00010174266295727696_r8, & + 6.8177197330544857e-05_r8, 7.22829090324509e-05_r8, & + 7.6783499222665472e-05_r8, 7.5376736505212603e-05_r8, & + 7.4560522918931752e-05_r8, 7.3778122123188038e-05_r8, & + 7.3983681442610279e-05_r8, 7.6008511023894934e-05_r8, & + 7.7431001526568502e-05_r8, 7.8932576702580705e-05_r8, & + 8.0717107241074778e-05_r8, 8.417026607296893e-05_r8, & + 8.8601776483419501e-05_r8, 9.291180457315527e-05_r8, & + 9.8225277080938789e-05_r8, 0.00011558975250290549_r8, & + 0.0001158365842165805_r8, 0.00011155456982584724_r8, & + 0.00010999459757100909_r8, 0.00010979434400289792_r8, & + 0.00010791926241211952_r8, 0.00011123088733683245_r8, & + 0.00011595365554524724_r8, 0.00011600833548917015_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,48) / & + 8.4919346888491691e-05_r8, 0.00010279316377313998_r8, & + 8.7586343692984213e-05_r8, 0.00011290383820538597_r8, & + 0.0001168009459372029_r8, 0.00012491362467822762_r8, & + 0.00015821521596481061_r8, 0.00018052741299630156_r8, & + 0.00014530321206011307_r8, 9.9169966947477951e-05_r8, & + 7.3599237179637283e-05_r8, 7.6248262232225903e-05_r8, & + 6.9250519230190069e-05_r8, 7.4033334156370462e-05_r8, & + 7.3898100351915908e-05_r8, 7.3987431233525419e-05_r8, & + 7.3405909046343388e-05_r8, 7.3502133828895179e-05_r8, & + 7.47797231279904e-05_r8, 7.8323823076156712e-05_r8, & + 8.0773949495285856e-05_r8, 8.3344979743431858e-05_r8, & + 8.6456838659707639e-05_r8, 9.1419928794696725e-05_r8, & + 9.5887957971437025e-05_r8, 0.000100548949183996_r8, & + 0.00010589849582283386_r8, 0.00011521896207407371_r8, & + 0.00012445014779090448_r8, 0.00012553490094310046_r8, & + 0.00012339364240530548_r8, 0.00012202419882846409_r8, & + 0.00011273408379702782_r8, 0.000113603887778803_r8, & + 0.00011764982017580262_r8, 0.00011834971850960232_r8, & + 0.00012058036223272682_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,48) / & + 7.8678263494292311e-05_r8, 0.00010656441095298577_r8, & + 9.2777727148713119e-05_r8, 0.00010652119407781036_r8, & + 0.00012028488947074642_r8, 0.00013239144476388079_r8, & + 0.00013856128477646745_r8, 9.7750202064923798e-05_r8, & + 7.2308588515861938e-05_r8, 6.752116847536008e-05_r8, & + 6.7467235498387497e-05_r8, 6.9274557927019961e-05_r8, & + 6.8420080602366848e-05_r8, 7.06951482949309e-05_r8, & + 7.1562359470557166e-05_r8, 7.2927349669115685e-05_r8, & + 7.3077059708626137e-05_r8, 7.3548913845199757e-05_r8, & + 7.5650733227107322e-05_r8, 7.9223292326809159e-05_r8, & + 8.2057396560367461e-05_r8, 8.564883423674463e-05_r8, & + 8.9444725313682263e-05_r8, 9.4064076205851877e-05_r8, & + 9.9602262722987245e-05_r8, 0.00010417784605068923_r8, & + 0.00011030110553683176_r8, 0.00011966471762357235_r8, & + 0.00012348343420572297_r8, 0.00012206932715639968_r8, & + 0.00012061194344746307_r8, 0.00012088648875191952_r8, & + 0.00011912553615446256_r8, 0.00011925748676263909_r8, & + 0.00012066862014586372_r8, 0.00012128189441250808_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,49) / & + 9.5786266420302968e-05_r8, 9.919521093575816e-05_r8, & + 0.00011024065755710818_r8, 0.00012292300687753182_r8, & + 0.00012882752569243832_r8, 0.00013661755340424879_r8, & + 0.00014839905854642337_r8, 0.00015418005706776668_r8, & + 0.00015809855688849931_r8, 0.00016277462857176674_r8, & + 0.00016783902766729093_r8, 0.00017226311552938166_r8, & + 0.00017889446686004221_r8, 0.00018970184155946197_r8, & + 0.00019610505578771312_r8, 0.00020616149126169509_r8, & + 0.00023239472106661448_r8, 0.00021908029027370665_r8, & + 0.00022358496122135471_r8, 0.00023444243886109066_r8, & + 0.00023835184603102202_r8, 0.00024593376216247158_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,49) / & + 9.5786266420302968e-05_r8, 9.919521093575816e-05_r8, & + 0.00011024065755710818_r8, 0.00012292300687753182_r8, & + 0.00012882752569243832_r8, 0.00013661755340424879_r8, & + 0.00014839905854642337_r8, 0.00015418005706776668_r8, & + 0.00015809855688849931_r8, 0.00016277462857176674_r8, & + 0.00016783902766729093_r8, 0.00017226311552938166_r8, & + 0.00017889446686004221_r8, 0.00018970184155946197_r8, & + 0.00019610505578771312_r8, 0.00020616149126169509_r8, & + 0.00023239472106661448_r8, 0.00021908029027370665_r8, & + 0.00022358496122135471_r8, 0.00023444243886109066_r8, & + 0.00023835184603102202_r8, 0.00024593376216247158_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,49) / & + 9.5786266420302968e-05_r8, 9.919521093575816e-05_r8, & + 0.00011024065755710818_r8, 0.00012292300687753182_r8, & + 0.00012882752569243832_r8, 0.00013661755340424879_r8, & + 0.00014839905854642337_r8, 0.00015418005706776668_r8, & + 0.00015809855688849931_r8, 0.00016277462857176674_r8, & + 0.00016783902766729093_r8, 0.00017226311552938166_r8, & + 0.00017889446686004221_r8, 0.00018970184155946197_r8, & + 0.00019610505578771312_r8, 0.00020616149126169509_r8, & + 0.00023239472106661448_r8, 0.00021908029027370665_r8, & + 0.00022358496122135471_r8, 0.00023444243886109066_r8, & + 0.00023835184603102202_r8, 0.00024593376216247158_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,49) / & + 0.00010477853873923561_r8, 0.000105855586506323_r8, & + 0.00011144421432625505_r8, 0.0001177399713463465_r8, & + 0.00012240582266975707_r8, 0.00012746550983540377_r8, & + 0.00013840966520078311_r8, 0.00014564937581158229_r8, & + 0.00015050525360350272_r8, 0.00015634036985881223_r8, & + 0.0001621954500114955_r8, 0.00016740098185162401_r8, & + 0.00017677581916585605_r8, 0.00018788326567314564_r8, & + 0.0001949926237652331_r8, 0.00020177902055257578_r8, & + 0.00021290284485546643_r8, 0.00021578025554249382_r8, & + 0.0002217334622215643_r8, 0.00023387773334164886_r8, & + 0.00023867505889659877_r8, 0.00024333630494180903_r8, & + 0.00024686152405437641_r8, 0.00025186037682930834_r8, & + 0.00025607431850474804_r8, 0.00025984631312238381_r8, & + 0.00026359601514139216_r8, 0.00026935234531572029_r8, & + 0.00027236941408431399_r8, 0.00027511912009287889_r8, & + 0.0002820850368145821_r8, 0.00028636356718586916_r8, & + 0.00028831863899253762_r8, 0.00028437716056853654_r8, & + 0.00027474693273778249_r8, 0.00025108224501172832_r8, & + 0.00024813711190608401_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,49) / & + 0.00011377194874085376_r8, 0.00011356501147860379_r8, & + 0.00011493249717544799_r8, 0.00011727789249826345_r8, & + 0.00012446881663102572_r8, 0.00012865340094444169_r8, & + 0.00014126178684811962_r8, 0.00015053740265837936_r8, & + 0.00015917821654853849_r8, 0.00016983299957246554_r8, & + 0.00017827712599448949_r8, 0.00018509198628855367_r8, & + 0.00019456167981345517_r8, 0.00020304552151210851_r8, & + 0.00021050872938573208_r8, 0.00021543887451371102_r8, & + 0.00022148062929844712_r8, 0.00022823624483502515_r8, & + 0.00023372287253901772_r8, 0.00023940248270996783_r8, & + 0.00024382884219729579_r8, 0.00024725305524403126_r8, & + 0.00025125757228106494_r8, 0.00025586219643341872_r8, & + 0.00025957092007482485_r8, 0.00026305326326859959_r8, & + 0.00026633265637948883_r8, 0.00027175762210907115_r8, & + 0.00027518993075477448_r8, 0.00027821645807604635_r8, & + 0.00028099439114557856_r8, 0.00028074152257362948_r8, & + 0.00026958979318461915_r8, 0.00026011380402945361_r8, & + 0.00025064285030329021_r8, 0.00023946823498078627_r8, & + 0.00023755238494448913_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,49) / & + 9.6324992960443979e-05_r8, 9.6195337839150369e-05_r8, & + 9.5768479957396115e-05_r8, 9.6596683909627018e-05_r8, & + 0.00010168733880860105_r8, 0.00010602461472362443_r8, & + 0.00013202873533635278_r8, 0.000145137681545692_r8, & + 0.0001563728544039077_r8, 0.0001673712082889213_r8, & + 0.000175532763566326_r8, 0.00018327429296027806_r8, & + 0.00019182672648800382_r8, 0.00019800269190075755_r8, & + 0.00020264064935697631_r8, 0.00020625266802401821_r8, & + 0.00021200506519892184_r8, 0.00021762835661933807_r8, & + 0.00022278766593164225_r8, 0.00022783641513763193_r8, & + 0.00023209248967580591_r8, 0.00023657620217260993_r8, & + 0.00024149410846401121_r8, 0.00024620077951959549_r8, & + 0.0002503555485808213_r8, 0.00025427061842324872_r8, & + 0.00025794997836986239_r8, 0.0002657549016213655_r8, & + 0.00027170743499809629_r8, 0.00027597843582585568_r8, & + 0.00027821498784845488_r8, 0.0002763363914924742_r8, & + 0.000264006284265779_r8, 0.00025607410624923284_r8, & + 0.00024799372905625673_r8, 0.00024062004195772799_r8, & + 0.00022714534758842408_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,49) / & + 5.0206942391177681e-05_r8, 4.9875093871144486e-05_r8, & + 5.037473347132956e-05_r8, 4.6907766937850457e-05_r8, & + 4.4753069208088868e-05_r8, 4.2248223431290267e-05_r8, & + 6.0323820649010232e-05_r8, 8.2313896983450917e-05_r8, & + 9.9045997530599001e-05_r8, 0.00010919629165027033_r8, & + 0.00011597140924929312_r8, 0.00012247173178001123_r8, & + 0.00013201989569007567_r8, 0.00014025649115803051_r8, & + 0.00014725239931558917_r8, 0.00015306827856848953_r8, & + 0.0001629440834629567_r8, 0.00017106729511105076_r8, & + 0.00017752012671616398_r8, 0.0001829292259419472_r8, & + 0.00018733913167135117_r8, 0.00019229264501623725_r8, & + 0.00019704671838341123_r8, 0.00020242265071505216_r8, & + 0.00020733559308342027_r8, 0.00021178578905300241_r8, & + 0.00021652064328312945_r8, 0.0002284287894153437_r8, & + 0.00024035532068793924_r8, 0.00025054874855581582_r8, & + 0.00025577600235152944_r8, 0.00026123355683714365_r8, & + 0.00026597971431839817_r8, 0.00026973834473990703_r8, & + 0.00027318134746551659_r8, 0.00027472949550242807_r8, & + 0.0002745501483439506_r8, 0.00027432595053766931_r8, & + 0.00027392765462202481_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,49) / & + 1.4556368609498848e-05_r8, 1.5672365803473424e-05_r8, & + 1.6578799448738017e-05_r8, 1.4144919840104246e-05_r8, & + 1.2715286821330207e-05_r8, 1.1239372017728604e-05_r8, & + 1.5500344315905944e-05_r8, 2.4241616529501331e-05_r8, & + 3.4019810003118196e-05_r8, 3.9086191130994825e-05_r8, & + 4.2450318948460188e-05_r8, 4.7725268570901631e-05_r8, & + 5.6850825251958295e-05_r8, 6.5472079477917953e-05_r8, & + 7.4327021259515112e-05_r8, 8.3129498644719763e-05_r8, & + 0.00010063718852546379_r8, 0.00011675696117898047_r8, & + 0.00013064794580299174_r8, 0.00014253254928201268_r8, & + 0.0001523883676692408_r8, 0.00016053533769605548_r8, & + 0.00016682243400788972_r8, 0.00017234570136908078_r8, & + 0.00017703053315147818_r8, 0.00018106213186009888_r8, & + 0.00018508009174777445_r8, 0.00019549654493804022_r8, & + 0.00020706789818552499_r8, 0.00021916824129875095_r8, & + 0.00023033618292633644_r8, 0.00024104438144356032_r8, & + 0.0002511525615240113_r8, 0.00025859730868327485_r8, & + 0.00026484993916690055_r8, 0.00026892915922439924_r8, & + 0.00027135044296649021_r8, 0.0002725138009383038_r8, & + 0.00027308010937762434_r8, 0.00027319708163799008_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,49) / & + 5.3201171149304582e-06_r8, 6.9860982866743075e-06_r8, & + 6.3563418413163195e-06_r8, 4.9584434145471248e-06_r8, & + 5.0452910054912479e-06_r8, 5.2721774777020248e-06_r8, & + 6.9185327948074376e-06_r8, 1.0363788902853226e-05_r8, & + 1.4299146336843249e-05_r8, 1.653734272678281e-05_r8, & + 1.7777262942129505e-05_r8, 2.0271442311785281e-05_r8, & + 2.441091302518112e-05_r8, 2.7260997528334321e-05_r8, & + 3.1181101725079537e-05_r8, 3.5613048143156534e-05_r8, & + 4.7278563561477592e-05_r8, 6.1129810173028522e-05_r8, & + 7.7013259772622171e-05_r8, 9.272515609119847e-05_r8, & + 0.00010856390290982995_r8, 0.00012190967448255911_r8, & + 0.0001346504517894481_r8, 0.00014635651526259888_r8, & + 0.0001558029337404361_r8, 0.00016324458711741431_r8, & + 0.00016947753439333437_r8, 0.00018091645823038261_r8, & + 0.00018958995234184529_r8, 0.00019909787968279985_r8, & + 0.00021012989063077619_r8, 0.00022190263309537314_r8, & + 0.00023331474018518336_r8, 0.00024317321336396483_r8, & + 0.00025170630862183987_r8, 0.00025886228788112281_r8, & + 0.00026471581151277219_r8, 0.00026866157073448231_r8, & + 0.00027100245547118183_r8, 0.00027248876266804985_r8, & + 0.00027325437822215787_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,49) / & + 5.9146153183999494e-06_r8, 6.2995613869965539e-06_r8, & + 5.319375872641868e-06_r8, 3.8610633118167276e-06_r8, & + 3.9912205721635456e-06_r8, 4.1033227372247364e-06_r8, & + 4.6852332244169315e-06_r8, 5.8308042160119171e-06_r8, & + 7.5062273541565488e-06_r8, 8.8356876785167184e-06_r8, & + 9.6602169807577451e-06_r8, 1.1202927536085768e-05_r8, & + 1.3223814270669402e-05_r8, 1.417007987997809e-05_r8, & + 1.5462054609304921e-05_r8, 1.6930629715682989e-05_r8, & + 2.0732879357970732e-05_r8, 2.7529707789544273e-05_r8, & + 3.9267487916139493e-05_r8, 5.1678768552128001e-05_r8, & + 6.6588758292155203e-05_r8, 8.1306476568800126e-05_r8, & + 9.6321439818420129e-05_r8, 0.00011209745391574091_r8, & + 0.0001268068035470396_r8, 0.0001403285284130394_r8, & + 0.00015224449374424005_r8, 0.00017426149990074408_r8, & + 0.00018551641472786941_r8, 0.000192321832946805_r8, & + 0.00019892727288472475_r8, 0.00020800856311328796_r8, & + 0.00021961786611254203_r8, 0.00023090702423738378_r8, & + 0.00024164074985434056_r8, 0.00025166785675947024_r8, & + 0.00025977709753930621_r8, 0.00026562335358965966_r8, & + 0.0002691621656325625_r8, 0.00027134128881263551_r8, & + 0.00027267084813115383_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,49) / & + 6.7115817430307115e-06_r8, 6.5687091665644593e-06_r8, & + 5.973381249242832e-06_r8, 5.1720527474830144e-06_r8, & + 5.2319449161585516e-06_r8, 5.4442226157383983e-06_r8, & + 5.8238348063730395e-06_r8, 4.7381907445310948e-06_r8, & + 5.6976446622894124e-06_r8, 6.4742363264568062e-06_r8, & + 6.9255454818010307e-06_r8, 8.7056020790420727e-06_r8, & + 1.1262465748689905e-05_r8, 1.260680512533755e-05_r8, & + 1.3795474643938506e-05_r8, 1.5005599231389411e-05_r8, & + 1.7485741986195697e-05_r8, 2.0541018108356586e-05_r8, & + 2.625416175207495e-05_r8, 3.4624235590870061e-05_r8, & + 4.6292865603025147e-05_r8, 6.0026022256007961e-05_r8, & + 7.5035303712885708e-05_r8, 9.1379457350897314e-05_r8, & + 0.00010857185760700356_r8, 0.00012616961636476774_r8, & + 0.0001417998801710376_r8, 0.00017410632602348969_r8, & + 0.00019335701586521435_r8, 0.00020346352076059488_r8, & + 0.00020729771020851996_r8, 0.00020956383790127057_r8, & + 0.00021701440472952281_r8, 0.00022628394860363534_r8, & + 0.00023685511589576768_r8, 0.00024797262144566446_r8, & + 0.00025707725775466785_r8, 0.00026399380185415379_r8, & + 0.00026826510986332488_r8, 0.00027075660052004405_r8, & + 0.00027211215494616823_r8, 0.00027268436765079759_r8, & + 0.00027062228468674156_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,49) / & + 7.6122868636492349e-06_r8, 7.2933592466714558e-06_r8, & + 7.0264866736865912e-06_r8, 6.1420083658522968e-06_r8, & + 6.1746182168089132e-06_r8, 6.2031011069544676e-06_r8, & + 6.575768084383587e-06_r8, 5.4392702411061812e-06_r8, & + 5.74993732983943e-06_r8, 6.6655256163103644e-06_r8, & + 7.2039323925903595e-06_r8, 8.9075168708046587e-06_r8, & + 1.1637323456608964e-05_r8, 1.3173239802080166e-05_r8, & + 1.4551611439604739e-05_r8, 1.5923463546565471e-05_r8, & + 1.8230673022727003e-05_r8, 2.1328476989663929e-05_r8, & + 2.6487989115881891e-05_r8, 3.450479474658875e-05_r8, & + 4.627054388671012e-05_r8, 6.0779231559312505e-05_r8, & + 7.8028212348460219e-05_r8, 9.7092422526959762e-05_r8, & + 0.00011679339874575674_r8, 0.0001371023568248491_r8, & + 0.00015485761486793578_r8, 0.00019290354917126954_r8, & + 0.00021817389392231846_r8, 0.00023354014493542902_r8, & + 0.00023954956620474179_r8, 0.00023526784446261767_r8, & + 0.000232394752672046_r8, 0.00023381300474899474_r8, & + 0.0002409765177321755_r8, 0.0002504404796476662_r8, & + 0.00025878778866184895_r8, 0.00026506349992463945_r8, & + 0.00026871270415605567_r8, 0.00027058040846687602_r8, & + 0.00027172518321594958_r8, 0.00027255164067538807_r8, & + 0.00027064457978546053_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,49) / & + 6.506856704189505e-06_r8, 6.2424520045912721e-06_r8, & + 6.5983360385948489e-06_r8, 5.5487411247039627e-06_r8, & + 5.5870507202785995e-06_r8, 5.3209756233743282e-06_r8, & + 5.6585916809739437e-06_r8, 5.75964534272029e-06_r8, & + 5.9941348029515244e-06_r8, 6.3987854292848724e-06_r8, & + 7.0450301919339701e-06_r8, 8.1648296175224647e-06_r8, & + 1.0531871380951175e-05_r8, 1.2513146758022683e-05_r8, & + 1.3977891259359819e-05_r8, 1.5338930895238238e-05_r8, & + 1.7638739981609269e-05_r8, 2.0819664136907722e-05_r8, & + 2.6132840213581968e-05_r8, 3.437161651524188e-05_r8, & + 4.7150009859172561e-05_r8, 6.3435528821226628e-05_r8, & + 8.2443282223154511e-05_r8, 0.00010295397657993559_r8, & + 0.00012425863434343537_r8, 0.0001454166679561018_r8, & + 0.00016520329325188924_r8, 0.00020587666064217811_r8, & + 0.00023265417906992691_r8, 0.00024958007796520824_r8, & + 0.00025992390984326487_r8, 0.00026002930811867082_r8, & + 0.00025205163832422685_r8, 0.00024356729451531733_r8, & + 0.00024160565197254593_r8, 0.00024619536782604794_r8, & + 0.0002543458105194898_r8, 0.00026153073425865382_r8, & + 0.00026603114197672076_r8, 0.00026825670315182076_r8, & + 0.00026877183636360755_r8, 0.0002688489302952508_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,49) / & + 4.438256613824969e-06_r8, 4.3663403852449233e-06_r8, & + 5.0448497256924522e-06_r8, 4.3083172501611273e-06_r8, & + 4.3590220805681945e-06_r8, 4.0305762698369314e-06_r8, & + 4.2216040566345749e-06_r8, 4.2533278387227368e-06_r8, & + 4.6820088744100495e-06_r8, 5.1092831691660326e-06_r8, & + 5.6214374581463387e-06_r8, 6.1423992590766504e-06_r8, & + 7.5480520708686346e-06_r8, 9.3937921896161971e-06_r8, & + 1.1041655608665087e-05_r8, 1.2465001396129404e-05_r8, & + 1.4789498326010866e-05_r8, 1.757653629064342e-05_r8, & + 2.2447836791472919e-05_r8, 3.0505244810581861e-05_r8, & + 4.3311812993070474e-05_r8, 6.0397657692962359e-05_r8, & + 8.0872320959960508e-05_r8, 0.00010262367918639171_r8, & + 0.00012547976570193519_r8, 0.00014717676850230276_r8, & + 0.00016901254301380947_r8, 0.00021300255961199024_r8, & + 0.00024136628155767672_r8, 0.00025880895498782696_r8, & + 0.0002708003643612131_r8, 0.00027673860120797235_r8, & + 0.00027446607414957847_r8, 0.00026278045478264075_r8, & + 0.00024997730418074024_r8, 0.00024600679530805694_r8, & + 0.00025178271062018741_r8, 0.00025958249621236586_r8, & + 0.00026470985594046511_r8, 0.00026754369028530762_r8, & + 0.00026866016068034538_r8, 0.00026888652831016236_r8, & + 0.00026891603859385273_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,49) / & + 3.3037071547324943e-06_r8, 3.3224575345179279e-06_r8, & + 3.779199764690166e-06_r8, 3.2515833437969298e-06_r8, & + 3.2124310428068396e-06_r8, 2.9914397894425384e-06_r8, & + 3.1750652940821037e-06_r8, 3.4183159515847169e-06_r8, & + 3.471568466808106e-06_r8, 3.720768853577729e-06_r8, & + 4.1783211755648834e-06_r8, 4.6694042367066815e-06_r8, & + 5.5830209853232447e-06_r8, 7.2232095638537099e-06_r8, & + 8.8007862450476368e-06_r8, 1.0467019922400347e-05_r8, & + 1.3252942776438739e-05_r8, 1.621807923714277e-05_r8, & + 2.1139687929636015e-05_r8, 2.951165938400184e-05_r8, & + 4.3109436838636678e-05_r8, 6.1272123905818581e-05_r8, & + 8.3836369450685405e-05_r8, 0.00010772191320153632_r8, & + 0.00013138636402086385_r8, 0.00015411077040639528_r8, & + 0.00017674969736582174_r8, 0.00022082368592389633_r8, & + 0.00024891050218952101_r8, 0.00026538578467462739_r8, & + 0.00027600399661380307_r8, 0.00028307852295024987_r8, & + 0.00028384026911058716_r8, 0.00027269686653249919_r8, & + 0.00025600863858016071_r8, 0.00024735231896995239_r8, & + 0.00025095308083271486_r8, 0.00025835721381662057_r8, & + 0.00026348602997888369_r8, 0.0002661065884831234_r8, & + 0.00026750111743539871_r8, 0.00026799964986512443_r8, & + 0.00026833741985496942_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,49) / & + 2.8631464667748187e-06_r8, 2.89018790595436e-06_r8, & + 2.9238328383705606e-06_r8, 2.957909521199346e-06_r8, & + 2.9239332499512662e-06_r8, 2.9056690656616004e-06_r8, & + 3.0761391207294221e-06_r8, 3.1128051180192029e-06_r8, & + 3.0793552276320615e-06_r8, 3.0656101756861074e-06_r8, & + 3.2192267442978041e-06_r8, 3.8681532974258805e-06_r8, & + 5.23423564487638e-06_r8, 6.8037961305027227e-06_r8, & + 8.4760544941481108e-06_r8, 1.067870832821338e-05_r8, & + 1.496144953561384e-05_r8, 1.9706700664479358e-05_r8, & + 2.7143616368924918e-05_r8, 3.9099450013747545e-05_r8, & + 5.7334300275833221e-05_r8, 8.0742401515536036e-05_r8, & + 0.00010779691385018561_r8, 0.00013397335641645767_r8, & + 0.0001591262563040036_r8, 0.00018099675896822461_r8, & + 0.00020299265785753511_r8, 0.00024223082102483169_r8, & + 0.00026585164275435332_r8, 0.00028075810630688233_r8, & + 0.00029144211424801593_r8, 0.00029913672763321917_r8, & + 0.00030122717382702097_r8, 0.00029226890822936871_r8, & + 0.0002732306085765075_r8, 0.00026149464287861555_r8, & + 0.00026244147996298719_r8, 0.00026898948328209698_r8, & + 0.0002742389764462934_r8, 0.00027721645705018708_r8, & + 0.00027906512611393808_r8, 0.00027972122131172456_r8, & + 0.00028044794986666673_r8, 0.00028074503692213679_r8, & + 0.00028371771055908402_r8 & + / +data saar_ref(:,17,49) / & + 2.645284444976024e-06_r8, 2.6996289748133247e-06_r8, & + 2.6498132656005601e-06_r8, 2.9328717391229595e-06_r8, & + 2.9695996084257444e-06_r8, 3.0015367314382162e-06_r8, & + 3.2146084915770671e-06_r8, 3.2401396852687017e-06_r8, & + 3.176346550747081e-06_r8, 3.1306154990489125e-06_r8, & + 3.1172566716589788e-06_r8, 3.6773908081734176e-06_r8, & + 5.004639504827976e-06_r8, 6.8358139357281308e-06_r8, & + 9.3593742087548183e-06_r8, 1.2590714950458882e-05_r8, & + 2.040954554292358e-05_r8, 2.9551961149873126e-05_r8, & + 4.2782626253218464e-05_r8, 6.3211088097817075e-05_r8, & + 9.0145341060844712e-05_r8, 0.00011927661688305871_r8, & + 0.00014833160716034159_r8, 0.00017356887075667293_r8, & + 0.00019740495772214791_r8, 0.00021584495526559466_r8, & + 0.00023361041030663246_r8, 0.00026258990061395849_r8, & + 0.00028067333555513945_r8, 0.00029428401094644418_r8, & + 0.0003054814566495151_r8, 0.0003133806623677965_r8, & + 0.00031655557390227444_r8, 0.00031104481727740104_r8, & + 0.00029394398865663498_r8, 0.00027951655195493288_r8, & + 0.00027703099540801437_r8, 0.00028130664544933644_r8, & + 0.00028548944016749603_r8, 0.00028839118670551849_r8, & + 0.000290475671615293_r8, 0.00029170869841577026_r8, & + 0.00029276119859631436_r8, 0.00029333153954507249_r8, 9e90_r8 & + / +data saar_ref(:,18,49) / & + 3.138130948176025e-06_r8, 3.1947898332245406e-06_r8, & + 3.2581981897208361e-06_r8, 3.1311045311083059e-06_r8, & + 3.1724453386278655e-06_r8, 3.2082495121368789e-06_r8, & + 3.3830954902091005e-06_r8, 3.2000601084339991e-06_r8, & + 3.1534877047421155e-06_r8, 3.1370038951367404e-06_r8, & + 3.2095327092291706e-06_r8, 3.8601748762141619e-06_r8, & + 4.6578365313949793e-06_r8, 6.9408908414123577e-06_r8, & + 1.2134326957322821e-05_r8, 1.8536943124154396e-05_r8, & + 3.2521759718113149e-05_r8, 4.917641981611776e-05_r8, & + 7.2483738609433845e-05_r8, 0.00010217408119372282_r8, & + 0.00013226014248354857_r8, 0.00015978468199671781_r8, & + 0.00018466302359843772_r8, 0.00020611475436390264_r8, & + 0.00022421575977764289_r8, 0.00023819372870632791_r8, & + 0.00025096006057377868_r8, 0.00027430252673756538_r8, & + 0.00029127106261326062_r8, 0.00030454890500834927_r8, & + 0.00031507779179183509_r8, 0.00032214451424027098_r8, & + 0.00032559359086756294_r8, 0.00032511034692427792_r8, & + 0.00031821284016835249_r8, 0.00030591169168854245_r8, & + 0.00029538278100874646_r8, 0.00029313162928411041_r8, & + 0.00029513012313180087_r8, 0.00029712755567012477_r8, & + 0.00029851434944588618_r8, 0.00029942544240398012_r8, & + 0.00029782315108893949_r8, 0.00030084560436015475_r8, 9e90_r8 & + / +data saar_ref(:,19,49) / & + 3.7456744733197821e-06_r8, 3.7386191646241474e-06_r8, & + 3.7376699822787479e-06_r8, 3.6409225224092007e-06_r8, & + 3.6955625603126932e-06_r8, 3.7257182466310227e-06_r8, & + 4.0832185801302773e-06_r8, 3.6780796721035091e-06_r8, & + 3.7680624537842318e-06_r8, 3.8806000205267861e-06_r8, & + 4.0770754053341409e-06_r8, 4.611699199639717e-06_r8, & + 8.0842614549198608e-06_r8, 1.5761328288038606e-05_r8, & + 2.6955761132388014e-05_r8, 3.9579184760616923e-05_r8, & + 6.1060917598879843e-05_r8, 8.5149901111506669e-05_r8, & + 0.00011138966532516252_r8, 0.00013662821509155567_r8, & + 0.00016075525663690517_r8, 0.00018272254749730608_r8, & + 0.00020325243618868151_r8, 0.00022247039137393375_r8, & + 0.00023811340643941275_r8, 0.00025126411832159548_r8, & + 0.00026378717645504337_r8, 0.00028989469359886499_r8, & + 0.00030992166421193524_r8, 0.00032485957674909237_r8, & + 0.00033546989959105705_r8, 0.00034197856614481776_r8, & + 0.00034550247128298424_r8, 0.0003465006727643391_r8, & + 0.00034364809500759982_r8, 0.00033537024801123068_r8, & + 0.00032207784192914547_r8, 0.00031339581632496672_r8, & + 0.0003114735006374796_r8, 0.00031161275255037619_r8, & + 0.00031224902191560438_r8, 0.0003111204992901128_r8, & + 0.00031160939230059795_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,49) / & + 4.1632464830651347e-06_r8, 4.0756307082662729e-06_r8, & + 4.0665444786976855e-06_r8, 4.2821728417924852e-06_r8, & + 4.292790245503638e-06_r8, 4.3058012781061096e-06_r8, & + 4.7480002336950198e-06_r8, 4.6062059831982178e-06_r8, & + 4.9143203453691244e-06_r8, 5.4055997878441155e-06_r8, & + 6.0711513657934141e-06_r8, 9.1745991839710541e-06_r8, & + 1.9089189825947787e-05_r8, 3.382775036254927e-05_r8, & + 4.8324739157951846e-05_r8, 6.3062727211635447e-05_r8, & + 8.6479535080894913e-05_r8, 0.00011149174759533744_r8, & + 0.00013562568352994643_r8, 0.00015830565655504459_r8, & + 0.00018179731191666156_r8, 0.00020369844348381915_r8, & + 0.00022356168469904721_r8, 0.00024252788582278649_r8, & + 0.0002586814820264271_r8, 0.00027357236866543567_r8, & + 0.00028712055367342154_r8, 0.0003167832119950495_r8, & + 0.00033954104234617329_r8, 0.00035538682271353734_r8, & + 0.00036455235859113425_r8, 0.00036886311969964715_r8, & + 0.00037004531545839183_r8, 0.00036946683383906343_r8, & + 0.00036707626220832486_r8, 0.0003632551332768694_r8, & + 0.00035277524141846285_r8, 0.00033921751661541169_r8, & + 0.0003314138104865807_r8, 0.0003282791855798919_r8, & + 0.00032701437878941079_r8, 0.00032558968813502286_r8, & + 0.00032665861881481939_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,49) / & + 4.535816124096806e-06_r8, 4.5138596627278678e-06_r8, & + 4.5594025671725165e-06_r8, 4.9675912773441962e-06_r8, & + 5.0153321386112727e-06_r8, 5.0629603625782038e-06_r8, & + 5.4177353109337643e-06_r8, 5.6315960000281091e-06_r8, & + 6.4031099585635357e-06_r8, 7.6599141727862214e-06_r8, & + 9.8767222133545754e-06_r8, 1.8097033349618907e-05_r8, & + 3.1537462337402459e-05_r8, 5.2257275594298309e-05_r8, & + 6.393070758794232e-05_r8, 7.6618095912267458e-05_r8, & + 9.9620911965340658e-05_r8, 0.00012355722099119089_r8, & + 0.00014859753622500728_r8, 0.0001732919988468389_r8, & + 0.00019909989682087017_r8, 0.00022179258530233466_r8, & + 0.00024317226799805883_r8, 0.00026315631548953311_r8, & + 0.0002812943040774914_r8, 0.00029831502188176436_r8, & + 0.00031354354046090504_r8, 0.00034541917013815868_r8, & + 0.00036791385327708445_r8, 0.00038292883254758653_r8, & + 0.00039136010137061003_r8, 0.00039467369715613117_r8, & + 0.00039456360622492216_r8, 0.00039275666918456807_r8, & + 0.00039004578158840082_r8, 0.00038746239714621862_r8, & + 0.00038316844655101988_r8, 0.00037451131720006846_r8, & + 0.00036556437315105863_r8, 0.00035708820908139519_r8, & + 0.00035085715098347268_r8, 0.00034915911423670493_r8, & + 0.00034723692940048881_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,49) / & + 4.8060619894703893e-06_r8, 4.8790002603385217e-06_r8, & + 4.936009301672033e-06_r8, 6.729905464805132e-06_r8, & + 6.8897868983176935e-06_r8, 6.9275671982549918e-06_r8, & + 7.7788271677229197e-06_r8, 8.8471069117282837e-06_r8, & + 1.1598555405959501e-05_r8, 1.5794413110437912e-05_r8, & + 2.2701903170010346e-05_r8, 3.1724821044553102e-05_r8, & + 4.6536262561110579e-05_r8, 6.6291756022131542e-05_r8, & + 7.5866955526471662e-05_r8, 8.5874749295175533e-05_r8, & + 0.00011025536638543225_r8, 0.0001360878042965525_r8, & + 0.00016453681256771208_r8, 0.00018982273227438756_r8, & + 0.00021680262078338237_r8, 0.00024195237379263059_r8, & + 0.00026406999762448234_r8, 0.0002843630349427884_r8, & + 0.00030451881696606504_r8, 0.00032362923993418393_r8, & + 0.00034115982021923406_r8, 0.00037627143306856697_r8, & + 0.00039822620833463021_r8, 0.00041190382248239814_r8, & + 0.00041997691238936081_r8, 0.00042260926629701288_r8, & + 0.00042242471904678047_r8, 0.00042024832205183997_r8, & + 0.00041734873203949619_r8, 0.00041342456441353811_r8, & + 0.00040612091745435451_r8, 0.00039235250585039478_r8, & + 0.00038096349371002296_r8, 0.0003728813004535488_r8, & + 0.00036680965470762221_r8, 0.00036554465436969952_r8, & + 0.0003656711709974293_r8, 0.0003663998397232439_r8, & + 0.00036640001567591935_r8 & + / +data saar_ref(:,23,49) / & + 4.8699095897047116e-06_r8, 4.9900111670288271e-06_r8, & + 5.0333846377254888e-06_r8, 7.6086147090515676e-06_r8, & + 7.8066811169529111e-06_r8, 7.9497747218715526e-06_r8, & + 9.9315401628004499e-06_r8, 1.3057481259653157e-05_r8, & + 1.919334660102863e-05_r8, 2.7256231540369148e-05_r8, & + 4.0016367290221557e-05_r8, 5.3512494192864547e-05_r8, & + 6.6189721825213045e-05_r8, 7.9277742226368942e-05_r8, & + 8.9235714730739337e-05_r8, 9.8770466515133969e-05_r8, & + 0.00012149470131360417_r8, 0.00014717863736787948_r8, & + 0.00017792908601473105_r8, 0.00020676611726536652_r8, & + 0.00023478341130507894_r8, 0.00026135240252818815_r8, & + 0.00028420869181603468_r8, 0.0003057133934105274_r8, & + 0.00032675715757099797_r8, 0.00034616652026333184_r8, & + 0.00036441376220117463_r8, 0.0004002254508168579_r8, & + 0.00042436380633597149_r8, 0.00043939344612559523_r8, & + 0.00044711861498699512_r8, 0.00044805370162497358_r8, & + 0.00044603595793019373_r8, 0.0004424470452031387_r8, & + 0.00043729999968402652_r8, 0.00043115842126334003_r8, & + 0.00042241083951673685_r8, 0.00040777063082751111_r8, & + 0.00039579211171529517_r8, 0.00038908509034254221_r8, & + 0.00038579922129221555_r8, 0.00038433237803218832_r8, & + 0.00038313766746657233_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,49) / & + 4.8206193258772921e-06_r8, 4.9907684644930626e-06_r8, & + 5.1717641536875494e-06_r8, 7.7683047145294885e-06_r8, & + 7.8165734378972941e-06_r8, 7.8500237976269357e-06_r8, & + 1.0739364879023951e-05_r8, 1.6404034152536045e-05_r8, & + 2.4254564361431382e-05_r8, 3.5791748439644357e-05_r8, & + 5.3862893649324192e-05_r8, 7.404329008680978e-05_r8, & + 9.006781923747944e-05_r8, 0.00010257133589682178_r8, & + 0.00010980964298083521_r8, 0.00011843530855241578_r8, & + 0.00014269388619234482_r8, 0.00016995729826881445_r8, & + 0.0002005457657374389_r8, 0.00023147385437687732_r8, & + 0.00025843686033356905_r8, 0.0002850339756154971_r8, & + 0.00030984150013556154_r8, 0.00033259669712829763_r8, & + 0.00035319151857851383_r8, 0.00037229394391348166_r8, & + 0.00039020778182540265_r8, 0.00042348952649775873_r8, & + 0.00044904606041246164_r8, 0.00046429946653978141_r8, & + 0.00047251191366401104_r8, 0.00047461252923687645_r8, & + 0.00047274201109479924_r8, 0.0004682633211621229_r8, & + 0.000461160728160704_r8, 0.00045207158980684249_r8, & + 0.00044053529830692331_r8, 0.00042527408763071324_r8, & + 0.00041331889671306711_r8, 0.00040765747555944064_r8, & + 0.00040382015181581089_r8, 0.00040003577301614803_r8, & + 0.00039833235199776827_r8, 0.00040101173404976032_r8, & + 0.00040124096162467461_r8 & + / +data saar_ref(:,25,49) / & + 4.7618450068813639e-06_r8, 4.9654708863198614e-06_r8, & + 5.1346435341515245e-06_r8, 7.3908971117478827e-06_r8, & + 7.2683433987057822e-06_r8, 6.9470328562592466e-06_r8, & + 9.4026702867835349e-06_r8, 1.5405828684757688e-05_r8, & + 2.8057937794975443e-05_r8, 4.5197867767428092e-05_r8, & + 6.4692290880193816e-05_r8, 8.6069249006204604e-05_r8, & + 0.00010338819350071143_r8, 0.00011585315917249886_r8, & + 0.00012614154961658626_r8, 0.00013792752190747623_r8, & + 0.0001677176693414039_r8, 0.00019918089933020899_r8, & + 0.00023046646176890726_r8, 0.00026099461078443259_r8, & + 0.00028711385999042525_r8, 0.00031306663202704786_r8, & + 0.00033711252904081922_r8, 0.00036079067686856743_r8, & + 0.00038129960888597569_r8, 0.00040004606134633576_r8, & + 0.00041742966467123589_r8, 0.00044985997577616163_r8, & + 0.00047385867883288375_r8, 0.00048686321195959899_r8, & + 0.00049447617723483075_r8, 0.00049797404563102466_r8, & + 0.00049824230333327905_r8, 0.00049414629899630959_r8, & + 0.0004871230076168433_r8, 0.00047628873144041556_r8, & + 0.00046248481261738201_r8, 0.00044646106585776113_r8, & + 0.00043353687074212618_r8, 0.00042714959499406811_r8, & + 0.000422742390788805_r8, 0.0004193623364339522_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,49) / & + 4.9139544955029526e-06_r8, 5.0630148677558637e-06_r8, & + 5.1472711242707673e-06_r8, 6.0624715120788986e-06_r8, & + 5.9472611504097214e-06_r8, 5.6398347768419971e-06_r8, & + 5.8583595841967111e-06_r8, 8.1910483103359749e-06_r8, & + 1.3049973536730257e-05_r8, 2.130062049038908e-05_r8, & + 3.363485049171204e-05_r8, 5.1101188957622848e-05_r8, & + 7.6973090311039242e-05_r8, 0.00010863402043518628_r8, & + 0.00013375030691985295_r8, 0.00015528013798785166_r8, & + 0.00019565551981749925_r8, 0.00023155193650497026_r8, & + 0.00026228528779996091_r8, 0.00029134612678900795_r8, & + 0.00031722946246412443_r8, 0.00034340435173463757_r8, & + 0.00036535672582458815_r8, 0.00038814944190555101_r8, & + 0.00040858028716773503_r8, 0.0004274735988161457_r8, & + 0.00044420955418988917_r8, 0.00047702158361450319_r8, & + 0.00049809280899853613_r8, 0.00051000559009350358_r8, & + 0.0005172346620877788_r8, 0.00052080810074357081_r8, & + 0.00052179973250447633_r8, 0.0005190095882107843_r8, & + 0.00051332160921427111_r8, 0.00050333973715806994_r8, & + 0.00049061174240336541_r8, 0.00047550691258426353_r8, & + 0.00046091207492532458_r8, 0.00045010622733654887_r8, & + 0.00044165749261050965_r8, 0.00043692152218540142_r8, & + 0.00043478634260923725_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,49) / & + 5.3049238156336623e-06_r8, 5.3012177677272065e-06_r8, & + 5.2973296591696872e-06_r8, 6.1293037245606658e-06_r8, & + 6.1383728498710739e-06_r8, 5.9523878398214538e-06_r8, & + 5.7872423384909643e-06_r8, 6.2440522680097817e-06_r8, & + 7.015053661724161e-06_r8, 9.3560138317863326e-06_r8, & + 1.3395204321736396e-05_r8, 1.91683375816404e-05_r8, & + 3.8907718806718932e-05_r8, 6.355478455968032e-05_r8, & + 9.4494548772936524e-05_r8, 0.00012701126274315287_r8, & + 0.00019540546986533761_r8, 0.00025065878713705775_r8, & + 0.00028769791260239595_r8, 0.00031717685429420901_r8, & + 0.00034233116722614252_r8, 0.00036610125960021895_r8, & + 0.00038705314540784174_r8, 0.00040836913058199764_r8, & + 0.00042806373554971089_r8, 0.00044651945935875729_r8, & + 0.00046325237424660163_r8, 0.00049627179429383292_r8, & + 0.00051715595283163601_r8, 0.00053123781818437089_r8, & + 0.00053898023044132238_r8, 0.00054278533406466076_r8, & + 0.00054288292217663937_r8, 0.00053956690140260729_r8, & + 0.00053373022040058868_r8, 0.00052639951847054578_r8, & + 0.00051875789419207879_r8, 0.00050873128708140607_r8, & + 0.00049613270307205081_r8, 0.00048126284039447714_r8, & + 0.00046840774384663284_r8, 0.00046013496269535763_r8, & + 0.00046135353548628971_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,49) / & + 5.592621141136374e-06_r8, 5.5144311360562637e-06_r8, & + 5.43685583980053e-06_r8, 6.7481644189163782e-06_r8, & + 6.7448494538834282e-06_r8, 6.5489047641996042e-06_r8, & + 6.0289343378296801e-06_r8, 7.3287682913036853e-06_r8, & + 8.1919606454808877e-06_r8, 9.3956908960862344e-06_r8, & + 1.1133058800355101e-05_r8, 1.4715075476192052e-05_r8, & + 2.5938182960491194e-05_r8, 3.9992664476961483e-05_r8, & + 6.1244555754598088e-05_r8, 8.6676613937045877e-05_r8, & + 0.00016143535073139502_r8, 0.00024096991891856556_r8, & + 0.00029920014714432793_r8, 0.00034064561274123849_r8, & + 0.00037052075270552648_r8, 0.00039350943469287176_r8, & + 0.00041410245070964833_r8, 0.00043331704799778729_r8, & + 0.00045088992592126853_r8, 0.0004676121988139904_r8, & + 0.00048311531642093557_r8, 0.00051546741832368508_r8, & + 0.00053677138540009499_r8, 0.00055143141844195623_r8, & + 0.00055801509427857196_r8, 0.00056000711354485316_r8, & + 0.00055785294391327703_r8, 0.00055165535612139405_r8, & + 0.0005444462849909709_r8, 0.00053755790331729404_r8, & + 0.00053056532812470556_r8, 0.00052430266232130103_r8, & + 0.00051591275386959218_r8, 0.00050886928321364927_r8, & + 0.00048956048955445264_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,49) / & + 6.2408583740549223e-06_r8, 6.3787541549489235e-06_r8, & + 6.4440957887681388e-06_r8, 6.782608621965947e-06_r8, & + 7.1193634203828926e-06_r8, 7.2105792584106881e-06_r8, & + 7.2004690445433978e-06_r8, 9.1694369264714163e-06_r8, & + 1.0105647646705373e-05_r8, 1.1965039027427149e-05_r8, & + 1.4449732654207256e-05_r8, 1.8944393636432725e-05_r8, & + 2.7242771337863638e-05_r8, 3.7899337508247252e-05_r8, & + 5.1172891721267997e-05_r8, 7.1541335361777816e-05_r8, & + 0.00013441815949021314_r8, 0.00021211571743613125_r8, & + 0.00029013690299512738_r8, 0.00035485938828204309_r8, & + 0.00040052439858088155_r8, 0.00043354984278601901_r8, & + 0.00045702201133195714_r8, 0.00047735657815366276_r8, & + 0.00049467722041052664_r8, 0.00051256063761231485_r8, & + 0.00052657998019964389_r8, 0.00055567899195195481_r8, & + 0.00057557955127498996_r8, 0.00058416792905688765_r8, & + 0.00058664418539999786_r8, 0.00058610143416690122_r8, & + 0.00058187101304260701_r8, 0.00057553588429467954_r8, & + 0.00056755034096668978_r8, 0.00055892358757932148_r8, & + 0.00055033124552062958_r8, 0.00055085179890682155_r8, & + 0.00055070754547791555_r8, 0.00054123820944631097_r8, & + 0.00053410432314313745_r8, 0.00052702705917504616_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,49) / & + 8.1499876630889966e-06_r8, 8.6491945243891296e-06_r8, & + 9.1369236608142481e-06_r8, 8.4180217512877281e-06_r8, & + 1.0617703269907553e-05_r8, 1.1599035679198301e-05_r8, & + 1.0911932771681307e-05_r8, 1.4510171747444451e-05_r8, & + 1.7065931704887585e-05_r8, 2.0329017042164492e-05_r8, & + 2.3813039450062721e-05_r8, 2.9020199582983193e-05_r8, & + 3.6813832075575407e-05_r8, 4.6538313253533356e-05_r8, & + 5.9718347349221624e-05_r8, 7.9193241572176432e-05_r8, & + 0.00013706942739499055_r8, 0.0002134895174263416_r8, & + 0.00029574306534978369_r8, 0.00037013821191897277_r8, & + 0.00042598982669907849_r8, 0.00047078698272104403_r8, & + 0.00049857584254749023_r8, 0.00052086944313774522_r8, & + 0.00053643571805296337_r8, 0.00055360667974760206_r8, & + 0.00056839875195663998_r8, 0.00059633650279423489_r8, & + 0.00061554874791716499_r8, 0.00062313756041180643_r8, & + 0.00062268985512618238_r8, 0.00061908592564022811_r8, & + 0.00061312167773564441_r8, 0.00060599937815909851_r8, & + 0.00059710414931742539_r8, 0.00058849683686131417_r8, & + 0.00057842503074696924_r8, 0.000577369446891027_r8, & + 0.00057603263016557085_r8, 0.00057408072791131643_r8, & + 0.0005670792793200035_r8, 0.00056141295313445598_r8, & + 0.00056113634487198487_r8, 0.00056179150230228328_r8, 9e90_r8 & + / +data saar_ref(:,31,49) / & + 1.303757216410129e-05_r8, 1.3830410528860245e-05_r8, & + 1.500329379326111e-05_r8, 1.7436815587859802e-05_r8, & + 1.8807829902554689e-05_r8, 2.0320480788285627e-05_r8, & + 2.0941166112805363e-05_r8, 2.6448974178209653e-05_r8, & + 2.9811367246004816e-05_r8, 3.2933626337350973e-05_r8, & + 3.6557177493171137e-05_r8, 4.0755925109556443e-05_r8, & + 4.7446190229262788e-05_r8, 5.753565850533675e-05_r8, & + 7.4711156503077164e-05_r8, 9.5250295127728596e-05_r8, & + 0.00015215580965267879_r8, 0.0002313889412362502_r8, & + 0.000312032852862806_r8, 0.00038913197199785723_r8, & + 0.00044753909835308983_r8, 0.00049709014812400498_r8, & + 0.00053041881500449646_r8, 0.00055657255585781276_r8, & + 0.00057081017724736061_r8, 0.00058632645882879784_r8, & + 0.0006017638146782545_r8, 0.00063080058524217335_r8, & + 0.00065027709420403248_r8, 0.00065729083766757402_r8, & + 0.00065292192595986531_r8, 0.00064344839992852988_r8, & + 0.00063549618645394141_r8, 0.00062812169967084474_r8, & + 0.0006214395557066453_r8, 0.00061298312323110468_r8, & + 0.00060692272245987011_r8, 0.00060174896004485258_r8, & + 0.00059887021159154294_r8, 0.00059512457779326456_r8, & + 0.00058871591516558965_r8, 0.0005828466771300193_r8, & + 0.0005798135684793171_r8, 0.00057753594101741135_r8, & + 0.00057065975457229988_r8 & + / +data saar_ref(:,32,49) / & + 2.3191966640602874e-05_r8, 2.4592204266178121e-05_r8, & + 2.6783389286460642e-05_r8, 3.5207022287781718e-05_r8, & + 3.7069215342945461e-05_r8, 3.9168568828809781e-05_r8, & + 4.2486077032934291e-05_r8, 4.7352605100357539e-05_r8, & + 5.095923383593656e-05_r8, 5.3551911929686898e-05_r8, & + 5.64891191645104e-05_r8, 6.0249184559477956e-05_r8, & + 6.8702869143990659e-05_r8, 8.6413471301809714e-05_r8, & + 0.00011234795067294306_r8, 0.0001423731430830539_r8, & + 0.00021325692567971565_r8, 0.00029213134529083726_r8, & + 0.00036700572570882452_r8, 0.00043079022341428004_r8, & + 0.0004799568895700793_r8, 0.00052281531120501362_r8, & + 0.00055533523962828445_r8, 0.0005834749635915328_r8, & + 0.00059696340646282905_r8, 0.00061488180316462005_r8, & + 0.00063193846856752155_r8, 0.000659049359203032_r8, & + 0.00067680850312529695_r8, 0.00068418459005725307_r8, & + 0.00067813707455639219_r8, 0.00066734152540135708_r8, & + 0.00065680727186486355_r8, 0.00064687256568799097_r8, & + 0.00063829193037472152_r8, 0.00063137224371579044_r8, & + 0.00062775008756292062_r8, 0.00062583843814135499_r8, & + 0.00062524702306500867_r8, 0.00062393647897392634_r8, & + 0.00062185411222865717_r8, 0.00061924386675615297_r8, & + 0.00061404744282665224_r8, 0.0005949445735068615_r8, & + 0.00058704312066970674_r8 & + / +data saar_ref(:,33,49) / & + 4.6591654869131756e-05_r8, 4.8384335592217335e-05_r8, & + 5.0972622782211583e-05_r8, 6.6823467861202072e-05_r8, & + 7.1088201871873934e-05_r8, 6.7130839624534818e-05_r8, & + 7.1309756826631385e-05_r8, 7.4664990275745969e-05_r8, & + 7.825340847237799e-05_r8, 8.3995276850621947e-05_r8, & + 9.1092027155478456e-05_r8, 9.9053652769180115e-05_r8, & + 0.0001238004716924346_r8, 0.00015709072004304339_r8, & + 0.00019633752695643274_r8, 0.00023785472359822031_r8, & + 0.00031403834024644212_r8, 0.00038294636123283396_r8, & + 0.00044017084907174969_r8, 0.00048956249192160981_r8, & + 0.00052980760266402305_r8, 0.00056294767844291453_r8, & + 0.00058979672558075625_r8, 0.00061513688190377306_r8, & + 0.00063178481928519105_r8, 0.00065027025512287833_r8, & + 0.00066657669586401766_r8, 0.00069111843223215578_r8, & + 0.00070650358971465768_r8, 0.00071122932582185535_r8, & + 0.00070676374444978882_r8, 0.00069604433110165016_r8, & + 0.0006837845455965741_r8, 0.00067166305879384487_r8, & + 0.00066108290177838787_r8, 0.00065498054967286234_r8, & + 0.00065312775402154646_r8, 0.00065402255311475027_r8, & + 0.00065381790407974998_r8, 0.00065299347330031576_r8, & + 0.00065340873852191578_r8, 0.00065371436281331261_r8, & + 0.00065342150258694402_r8, 0.00065395155926526339_r8, 9e90_r8 & + / +data saar_ref(:,34,49) / & + 7.5335345053072333e-05_r8, 8.104812648151603e-05_r8, & + 8.2854986458776158e-05_r8, 9.2032950219841941e-05_r8, & + 9.7655301283258215e-05_r8, 0.00010018572736981626_r8, & + 0.00011528711707283433_r8, 0.00011855186473396753_r8, & + 0.00012644790721007965_r8, 0.00016080837778715903_r8, & + 0.00018519915482194746_r8, 0.00020528312826022382_r8, & + 0.00024551259232021428_r8, 0.00028990592743249313_r8, & + 0.00032972215249850152_r8, 0.00036637477677431489_r8, & + 0.00042549957031851754_r8, 0.00047551701096892321_r8, & + 0.00051516824273591783_r8, 0.00055370844478972022_r8, & + 0.00058400697615451636_r8, 0.00061010759271583673_r8, & + 0.0006301358146233218_r8, 0.00064935704034887022_r8, & + 0.00066309128303906277_r8, 0.00067812737192948411_r8, & + 0.00069116227100229921_r8, 0.00071101321035590536_r8, & + 0.00072149715280733133_r8, 0.00072405986929522097_r8, & + 0.00072039153841482501_r8, 0.00071192176208708833_r8, & + 0.00070019632317840953_r8, 0.00068925961668530743_r8, & + 0.00068021987296817_r8, 0.00067473149989099603_r8, & + 0.0006728109274600193_r8, 0.00067353494874060674_r8, & + 0.00067185879225336264_r8, 0.00067172213342401958_r8, & + 0.00067218208980088701_r8, 0.000671613689182306_r8, & + 0.00067216166297925342_r8, 0.00067285991584745792_r8, & + 0.00066699582670719801_r8 & + / +data saar_ref(:,35,49) / & + 9.5709118927870591e-05_r8, 0.00010183893561290263_r8, & + 0.00010675736825420001_r8, 0.00010916059646912215_r8, & + 0.00011635664111063011_r8, 0.0001304595851700451_r8, & + 0.00016400361219524144_r8, 0.00017726153286123884_r8, & + 0.00021001123928223304_r8, 0.00027055474773993139_r8, & + 0.00030209802194598474_r8, 0.00033410868298328354_r8, & + 0.00035672591172716979_r8, 0.00039347449567789141_r8, & + 0.00042254153749975566_r8, 0.00045320585931323334_r8, & + 0.00050249958419703341_r8, 0.00053841415225927146_r8, & + 0.00056655949227360177_r8, 0.00059418531906495697_r8, & + 0.00061651895324034206_r8, 0.00064009496740150299_r8, & + 0.00065888336210908835_r8, 0.00067511242531022124_r8, & + 0.00068653699577268497_r8, 0.00070135046572470663_r8, & + 0.00071062474433746968_r8, 0.0007274699710525408_r8, & + 0.00073120944889888001_r8, 0.00073141559524883711_r8, & + 0.00072692951682741872_r8, 0.0007189641595740096_r8, & + 0.00070844386196473083_r8, 0.00070080465029326734_r8, & + 0.00069377851409345816_r8, 0.00068905588741995246_r8, & + 0.00068635319904508684_r8, 0.00068510542682881305_r8, & + 0.00068490236747492813_r8, 0.00068316478996603431_r8, & + 0.00068230063492531897_r8, 0.00067916530265143583_r8, & + 0.00067021331281123125_r8, 0.00066406607764177956_r8, & + 0.00066337914987633039_r8 & + / +data saar_ref(:,36,49) / & + 7.8538432485495237e-05_r8, 8.3339863776126454e-05_r8, & + 9.0012658150474812e-05_r8, 0.00010680261529630877_r8, & + 0.00011986452864242443_r8, 0.00013774653436371837_r8, & + 0.00018525865518794171_r8, 0.00021412152974141025_r8, & + 0.00024375017966680876_r8, 0.00028561083167287542_r8, & + 0.0003098764496567573_r8, 0.00032784620183818664_r8, & + 0.00034473335880822912_r8, 0.00037842935976861996_r8, & + 0.00040744254300355222_r8, 0.00043741693242400594_r8, & + 0.0004979969162062502_r8, 0.00054582879303484639_r8, & + 0.00057487214615050319_r8, 0.0005997930057650906_r8, & + 0.00062212604274174631_r8, 0.0006433364234342332_r8, & + 0.00066681190808322126_r8, 0.00068581842424021808_r8, & + 0.00070190219794957634_r8, 0.00071667462582426084_r8, & + 0.00072602856187386957_r8, 0.00074348547659024774_r8, & + 0.00074780851247552944_r8, 0.00074784923783434551_r8, & + 0.00074342941577979816_r8, 0.0007352500124174681_r8, & + 0.00072324520880036965_r8, 0.00071674370983302639_r8, & + 0.00070924338452782768_r8, 0.00070437579295218279_r8, & + 0.000701114449762164_r8, 0.000699820786989277_r8, & + 0.00069993263849253945_r8, 0.00069703246980656213_r8, & + 0.00069338071296686963_r8, 0.00068265204992198165_r8, & + 0.00068091292775211297_r8, 0.00067834313057213327_r8, & + 0.00067803974859435693_r8 & + / +data saar_ref(:,37,49) / & + 2.9750016205953823e-05_r8, 3.0549534791172353e-05_r8, & + 3.6552937272658857e-05_r8, 6.1125668233281448e-05_r8, & + 8.0439504392192977e-05_r8, 9.9463565674103675e-05_r8, & + 0.00017400004528496786_r8, 0.00021682977945721127_r8, & + 0.00024255597433488953_r8, 0.00027343028484669838_r8, & + 0.00029774506667039553_r8, 0.00029773837346530531_r8, & + 0.00031877762789477205_r8, 0.00035345790095536332_r8, & + 0.00038497072618354493_r8, 0.00041512810416705374_r8, & + 0.00048017753340382798_r8, 0.00054421658005597291_r8, & + 0.00057767816215607717_r8, 0.00060321600280584654_r8, & + 0.00062935365900119295_r8, 0.00064819972596528487_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,49) / & + 1.5199104368560223e-05_r8, 1.6802727236751236e-05_r8, & + 2.9002858018166209e-05_r8, 4.5705609541163024e-05_r8, & + 6.4974653775688959e-05_r8, 0.00010718698865733662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,49) / & + 2.6205784509078235e-05_r8, 2.7734157056771948e-05_r8, & + 3.9292581625210921e-05_r8, 5.3029556289513453e-05_r8, & + 8.8285050869938496e-05_r8, 0.0001254262400878371_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,49) / & + 9.5068914528046437e-05_r8, 8.9377360038329223e-05_r8, & + 9.4627508253749824e-05_r8, 0.00015590748528513469_r8, & + 0.00020210632486810035_r8, 0.00023832018701628691_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,49) / & + 0.00013035039531516564_r8, 0.0001211671514180793_r8, & + 0.00011791408228077087_r8, 0.00015051133185734088_r8, & + 0.00019824011719275797_r8, 0.00023324214293012944_r8, & + 0.00029217485760817428_r8, 0.0003577023268010271_r8, & + 0.00040849571908792282_r8, 0.00029884881053627937_r8, & + 0.00021817604269779397_r8, 0.00013486774990570307_r8, & + 0.00010703745143070368_r8, 9.6608952172623537e-05_r8, & + 0.00011119640654597394_r8, 0.00010228290622170398_r8, & + 0.00010017000471336437_r8, 8.6831101781937204e-05_r8, & + 8.4631582749056635e-05_r8, 8.4974249616821831e-05_r8, & + 8.3769318931369342e-05_r8, 8.3465073363864342e-05_r8, & + 8.1981415779870399e-05_r8, 8.5027455393030303e-05_r8, & + 8.9982288092361741e-05_r8, 9.2830637085359989e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,49) / & + 0.00012579189332713852_r8, 0.00012044562153973287_r8, & + 0.00011899544713008598_r8, 0.00012211827974785774_r8, & + 0.00013748922766832486_r8, 0.00015906919904641479_r8, & + 0.00020183994350237089_r8, 0.00025998667752666035_r8, & + 0.00040045379880741187_r8, 0.0003306465638382147_r8, & + 0.00025770400616131531_r8, 0.00013651774209628403_r8, & + 8.6353325754565918e-05_r8, 8.4830572490555734e-05_r8, & + 9.7907387839475497e-05_r8, 9.2506151900227448e-05_r8, & + 9.0877619843032279e-05_r8, 8.2479823612932298e-05_r8, & + 8.011426453010847e-05_r8, 8.1089979375108921e-05_r8, & + 8.0675833112652591e-05_r8, 8.0726102796779185e-05_r8, & + 7.9830191043723687e-05_r8, 8.1301175065060104e-05_r8, & + 8.5424730952757266e-05_r8, 8.9652482520960689e-05_r8, & + 9.4631246901742252e-05_r8, 0.0001162830442273796_r8, & + 0.00011026311877186524_r8, 0.00010736662165702061_r8, & + 0.00010636291099447592_r8, 0.00010618942822324233_r8, & + 0.00010478229979462245_r8, 0.00010835484090290623_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,49) / & + 0.00010624119953570408_r8, 0.00011159391329243788_r8, & + 0.0001048762975086381_r8, 0.00013143134206384757_r8, & + 0.00013729463729305786_r8, 0.00013891141622618907_r8, & + 0.00014704465022217678_r8, 0.00016056588416095546_r8, & + 0.00029110379145482005_r8, 0.00024661822271949198_r8, & + 0.00018964821255477714_r8, 0.00011080075826077722_r8, & + 7.0172354844516216e-05_r8, 7.2506262367800188e-05_r8, & + 7.8279550161803322e-05_r8, 7.7131052759043015e-05_r8, & + 7.5914939315868907e-05_r8, 7.4512621222814585e-05_r8, & + 7.4254882851038678e-05_r8, 7.619846834372153e-05_r8, & + 7.7382664864260935e-05_r8, 7.8801943755029495e-05_r8, & + 8.0304152266579427e-05_r8, 8.3305118793342109e-05_r8, & + 8.8153223092611965e-05_r8, 9.2633299434445777e-05_r8, & + 9.7610985906143152e-05_r8, 0.00011488187310191027_r8, & + 0.00011588774939414479_r8, 0.00011169782684928694_r8, & + 0.0001100382484204657_r8, 0.00010977358447569113_r8, & + 0.00010763650627908818_r8, 0.00010916795656914045_r8, & + 0.00011595577927433104_r8, 0.0001160082027486992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,49) / & + 8.5060227304479115e-05_r8, 0.00010292290748972689_r8, & + 8.828174937697492e-05_r8, 0.00011482702308614862_r8, & + 0.00011618039537676743_r8, 0.00012288426044382956_r8, & + 0.00015515304798393483_r8, 0.00017265253062247668_r8, & + 0.000157389255358099_r8, 0.00010992079010647469_r8, & + 8.1016661776549343e-05_r8, 7.8373831157045102e-05_r8, & + 6.9691665324036323e-05_r8, 7.4490644336723584e-05_r8, & + 7.4677101493484871e-05_r8, 7.4522575216986377e-05_r8, & + 7.3662526214384228e-05_r8, 7.3587735578143926e-05_r8, & + 7.4809658845359395e-05_r8, 7.8224011131474772e-05_r8, & + 8.0535496377155444e-05_r8, 8.307736064765248e-05_r8, & + 8.5972713117522738e-05_r8, 9.0799685426813339e-05_r8, & + 9.5552414724223763e-05_r8, 0.00010007300658586106_r8, & + 0.00010511609617356473_r8, 0.00011375418084202585_r8, & + 0.00012410199980288195_r8, 0.00012564970298902669_r8, & + 0.00012303849211375427_r8, 0.00012135649407601862_r8, & + 0.00011294733620425804_r8, 0.00011364436602375238_r8, & + 0.00011761773797635985_r8, 0.00011832193996307605_r8, & + 0.00012058034842929655_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,49) / & + 7.8618777688085491e-05_r8, 0.00010704822861846988_r8, & + 9.315562664654318e-05_r8, 0.00010452730983321709_r8, & + 0.0001175916366212143_r8, 0.00013073895709640474_r8, & + 0.00014238427488824366_r8, 0.00010273790703485379_r8, & + 7.4802431909355211e-05_r8, 6.8569636308491304e-05_r8, & + 6.7942171615813067e-05_r8, 6.9534839409971384e-05_r8, & + 6.8554412665529509e-05_r8, 7.0944286189645825e-05_r8, & + 7.1625365866083163e-05_r8, 7.2957353208366959e-05_r8, & + 7.3088019441387237e-05_r8, 7.3561146971355316e-05_r8, & + 7.564697670132286e-05_r8, 7.9183271344077691e-05_r8, & + 8.2021755981234582e-05_r8, 8.5582463948934197e-05_r8, & + 8.9388805627263175e-05_r8, 9.3958381158716064e-05_r8, & + 9.9489222529646561e-05_r8, 0.00010405421890456829_r8, & + 0.00011007575492985682_r8, 0.00011939241909324394_r8, & + 0.0001233379384313082_r8, 0.00012214139711301389_r8, & + 0.0001205324586689372_r8, 0.00012072130823620193_r8, & + 0.00011916474097261226_r8, 0.00011928879729196605_r8, & + 0.0001206773872328822_r8, 0.00012130696694664052_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,50) / & + 9.4392485269396268e-05_r8, 9.8864159366058606e-05_r8, & + 0.00010894597954711464_r8, 0.00012088359744248501_r8, & + 0.000123997686314535_r8, 0.00013181872169919072_r8, & + 0.00014631286725156671_r8, 0.00015258812971173671_r8, & + 0.000153428147748919_r8, 0.00015602051819855572_r8, & + 0.00015978212597431626_r8, 0.00016562042871880623_r8, & + 0.00017003639886784978_r8, 0.0001847185084497098_r8, & + 0.00018945878639582258_r8, 0.00019556527692104968_r8, & + 0.00021375650442346237_r8, 0.00022107911846018047_r8, & + 0.00021940679335888302_r8, 0.00023196382525863854_r8, & + 0.0002373094553664007_r8, 0.00024330638460741931_r8, & + 0.00024717591816777443_r8, 0.00025158611023521195_r8, & + 0.00025568697338057333_r8, 0.00025905355714293072_r8, & + 0.00026287776653936043_r8, 0.00026974227102556896_r8, & + 0.00027285251632019355_r8, 0.00027553240823680915_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,50) / & + 9.4392485269396268e-05_r8, 9.8864159366058606e-05_r8, & + 0.00010894597954711464_r8, 0.00012088359744248501_r8, & + 0.000123997686314535_r8, 0.00013181872169919072_r8, & + 0.00014631286725156671_r8, 0.00015258812971173671_r8, & + 0.000153428147748919_r8, 0.00015602051819855572_r8, & + 0.00015978212597431626_r8, 0.00016562042871880623_r8, & + 0.00017003639886784978_r8, 0.0001847185084497098_r8, & + 0.00018945878639582258_r8, 0.00019556527692104968_r8, & + 0.00021375650442346237_r8, 0.00022107911846018047_r8, & + 0.00021940679335888302_r8, 0.00023196382525863854_r8, & + 0.0002373094553664007_r8, 0.00024330638460741931_r8, & + 0.00024717591816777443_r8, 0.00025158611023521195_r8, & + 0.00025568697338057333_r8, 0.00025905355714293072_r8, & + 0.00026287776653936043_r8, 0.00026974227102556896_r8, & + 0.00027285251632019355_r8, 0.00027553240823680915_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,50) / & + 9.4392485269396268e-05_r8, 9.8864159366058606e-05_r8, & + 0.00010894597954711464_r8, 0.00012088359744248501_r8, & + 0.000123997686314535_r8, 0.00013181872169919072_r8, & + 0.00014631286725156671_r8, 0.00015258812971173671_r8, & + 0.000153428147748919_r8, 0.00015602051819855572_r8, & + 0.00015978212597431626_r8, 0.00016562042871880623_r8, & + 0.00017003639886784978_r8, 0.0001847185084497098_r8, & + 0.00018945878639582258_r8, 0.00019556527692104968_r8, & + 0.00021375650442346237_r8, 0.00022107911846018047_r8, & + 0.00021940679335888302_r8, 0.00023196382525863854_r8, & + 0.0002373094553664007_r8, 0.00024330638460741931_r8, & + 0.00024717591816777443_r8, 0.00025158611023521195_r8, & + 0.00025568697338057333_r8, 0.00025905355714293072_r8, & + 0.00026287776653936043_r8, 0.00026974227102556896_r8, & + 0.00027285251632019355_r8, 0.00027553240823680915_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,50) / & + 0.00010184736222932057_r8, 0.00010379846724596001_r8, & + 0.00010909561917535613_r8, 0.00011543978198715002_r8, & + 0.00011851878405623735_r8, 0.00012430357714937571_r8, & + 0.00013737238501293516_r8, 0.00014438931602637678_r8, & + 0.00014694990861773439_r8, 0.00015134182923972922_r8, & + 0.00015635932672406185_r8, 0.0001644558628340119_r8, & + 0.00017350387472204299_r8, 0.00018725916900378395_r8, & + 0.000193454808822032_r8, 0.00019866103195469238_r8, & + 0.00020799344339953046_r8, 0.00021508773670858935_r8, & + 0.00022200175267340111_r8, 0.00023350679187202579_r8, & + 0.00023855637961926534_r8, 0.00024304949212811943_r8, & + 0.00024689100529823099_r8, 0.00025152869005493501_r8, & + 0.00025573440014762676_r8, 0.00025936430586884793_r8, & + 0.000263112187608979_r8, 0.00026985255285819299_r8, & + 0.00027355084464766221_r8, 0.0002764792482445022_r8, & + 0.00028259039027119171_r8, 0.00028678539455392112_r8, & + 0.0002893524070418876_r8, 0.00028749518983659363_r8, & + 0.00027881900601364203_r8, 0.00025300982744938397_r8, & + 0.00024905580180247422_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,50) / & + 0.00011167226696271669_r8, 0.00011195698407734153_r8, & + 0.00011395698324003448_r8, 0.00011668252513721116_r8, & + 0.00012249263820395345_r8, 0.00012661110453940911_r8, & + 0.00013906703116706008_r8, 0.00014778005981126867_r8, & + 0.00015887808163926893_r8, 0.00016970160748816277_r8, & + 0.00017831794071174439_r8, 0.00018638183199340028_r8, & + 0.00019744960807145773_r8, 0.00020764982542648692_r8, & + 0.00021523335956781661_r8, 0.00022081136997642632_r8, & + 0.00022770793470920081_r8, 0.00023244040996637895_r8, & + 0.00023653801397140498_r8, 0.00024122408090959121_r8, & + 0.00024520887171620287_r8, 0.0002489527114777344_r8, & + 0.00025293254194788634_r8, 0.00025693380870193131_r8, & + 0.00026045800356599703_r8, 0.00026403956567965393_r8, & + 0.00026715478499458856_r8, 0.00027272228955487556_r8, & + 0.00027620748791599043_r8, 0.00027916516291290626_r8, & + 0.00028242688098227342_r8, 0.00028263906886425404_r8, & + 0.00026954304633659669_r8, 0.00026001038244518991_r8, & + 0.00025129271794096652_r8, 0.00024085558012979213_r8, & + 0.00023923291982412697_r8, 0.00022771740736391238_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,50) / & + 0.00010414763930901173_r8, 0.0001039701964375163_r8, & + 0.00010421009971382341_r8, 0.00010316265653070059_r8, & + 0.00010807869360894661_r8, 0.0001112895611338771_r8, & + 0.00013717968835377881_r8, 0.00014859658824194116_r8, & + 0.00016052101826867426_r8, 0.00017148563231514418_r8, & + 0.00017985235253408958_r8, 0.00018772487828090515_r8, & + 0.00019749546094530068_r8, 0.00020394237752488354_r8, & + 0.00020900911071908179_r8, 0.00021272658676800755_r8, & + 0.00021818978310032415_r8, 0.00022345989293787446_r8, & + 0.00022844600853934687_r8, 0.00023305978923242619_r8, & + 0.00023712084411301506_r8, 0.00024272477958854077_r8, & + 0.00024758141567616962_r8, 0.00025209480752665662_r8, & + 0.00025591557634636192_r8, 0.00025959320198899087_r8, & + 0.0002629368589430203_r8, 0.00026989400468695326_r8, & + 0.00027507653512280351_r8, 0.00027912311954252821_r8, & + 0.0002815381093444627_r8, 0.00028013598824670288_r8, & + 0.00026784754788128064_r8, 0.00026063923610018596_r8, & + 0.00025451219732755504_r8, 0.00025208764267984241_r8, & + 0.00026047896031994479_r8, 0.00025524999377906363_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,50) / & + 6.7927996375240508e-05_r8, 6.7652561428724754e-05_r8, & + 6.8464926309214243e-05_r8, 5.8838998299045353e-05_r8, & + 5.798513649284341e-05_r8, 5.8428255372135626e-05_r8, & + 7.6250711192921486e-05_r8, 9.7007017626295525e-05_r8, & + 0.00011234675470942633_r8, 0.00012128739174480488_r8, & + 0.00012733849372992183_r8, 0.0001350882459355799_r8, & + 0.00014550604329798388_r8, 0.00015246072007209121_r8, & + 0.00015865205240851181_r8, 0.00016306950352117818_r8, & + 0.00017104078883970099_r8, 0.00017833816674566607_r8, & + 0.00018403031199201047_r8, 0.0001889500947006593_r8, & + 0.0001927444494908833_r8, 0.0001986715360580979_r8, & + 0.00020367753824414945_r8, 0.00021007927465576976_r8, & + 0.00021607174175183365_r8, 0.00022074827841702787_r8, & + 0.0002257225510922958_r8, 0.00023789410169582751_r8, & + 0.00024949440416736853_r8, 0.0002589747028169943_r8, & + 0.00026484999947911048_r8, 0.00026926219255619846_r8, & + 0.0002725816892309594_r8, 0.00027473904197949391_r8, & + 0.0002764977684102823_r8, 0.00027623180340288349_r8, & + 0.00027415308825114171_r8, 0.00027404893305540577_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,50) / & + 2.8120431984853567e-05_r8, 2.9439210946431391e-05_r8, & + 2.9960968079295158e-05_r8, 1.7904069164598274e-05_r8, & + 1.633935943441838e-05_r8, 1.5449463100850857e-05_r8, & + 2.0432726122117895e-05_r8, 3.106513832365017e-05_r8, & + 4.2380043881019272e-05_r8, 4.7948035835977919e-05_r8, & + 5.1636739408379697e-05_r8, 6.1559199172670488e-05_r8, & + 7.6207638108526682e-05_r8, 8.4831615588699456e-05_r8, & + 9.2919647089659494e-05_r8, 9.9992635012837182e-05_r8, & + 0.00011447075365588577_r8, 0.00012748740190243586_r8, & + 0.00013858093105565027_r8, 0.00014859805715838049_r8, & + 0.00015699920776378825_r8, 0.00016444401883147314_r8, & + 0.00017030155906916714_r8, 0.00017594230043194189_r8, & + 0.00018142140225332995_r8, 0.00018536815917360937_r8, & + 0.00018959126021734693_r8, 0.0002009060357115423_r8, & + 0.00021327796892113009_r8, 0.00022584838347655686_r8, & + 0.00023696044340918779_r8, 0.0002474731834949219_r8, & + 0.00025770254351952773_r8, 0.00026398215517597662_r8, & + 0.00026853265261087217_r8, 0.00027035710631055236_r8, & + 0.00027080773664339903_r8, 0.00027120983078421558_r8, & + 0.00027174509368908898_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,50) / & + 9.1529348133580493e-06_r8, 1.0533045342613227e-05_r8, & + 9.6849180988850643e-06_r8, 5.2140275220651682e-06_r8, & + 5.2159931409549287e-06_r8, 5.4925325660734658e-06_r8, & + 7.7192613750975385e-06_r8, 1.1589486944939124e-05_r8, & + 1.5876087514655182e-05_r8, 1.8195316720713157e-05_r8, & + 1.9921092239293431e-05_r8, 2.5381992906137246e-05_r8, & + 3.3748991527212605e-05_r8, 3.8067087303676244e-05_r8, & + 4.3195055304445996e-05_r8, 4.8104495093154664e-05_r8, & + 6.037575588800989e-05_r8, 7.3192959089946269e-05_r8, & + 8.6699137453082612e-05_r8, 0.00010088056970628743_r8, & + 0.00011528535509172751_r8, 0.00012686780537024141_r8, & + 0.00013863019188428059_r8, 0.00015031828162053828_r8, & + 0.00016007435422968526_r8, 0.00016778436531840289_r8, & + 0.00017441264815057372_r8, 0.00018587405711333516_r8, & + 0.00019407949770982038_r8, 0.00020307149678246213_r8, & + 0.00021379046291222485_r8, 0.00022562000463043818_r8, & + 0.00023646960920909471_r8, 0.00024538831826123847_r8, & + 0.00025311054193516343_r8, 0.00025899748636236809_r8, & + 0.00026387985865484949_r8, 0.00026757371505424553_r8, & + 0.00026989617948222579_r8, 0.00027073456937138138_r8, & + 0.00027275198782210716_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,50) / & + 5.8360320308207258e-06_r8, 6.1069595698989683e-06_r8, & + 5.2968168721814438e-06_r8, 4.2533465514701427e-06_r8, & + 4.3559236777936634e-06_r8, 4.4853465890062354e-06_r8, & + 4.9723273024984856e-06_r8, 5.5964723163523577e-06_r8, & + 6.9530287125777537e-06_r8, 8.0797329612129927e-06_r8, & + 8.8136968734499913e-06_r8, 1.1482576226371241e-05_r8, & + 1.4853483358605098e-05_r8, 1.6155858788305762e-05_r8, & + 1.7965771388115274e-05_r8, 1.9875807137121525e-05_r8, & + 2.5479562338101568e-05_r8, 3.3499698968994614e-05_r8, & + 4.430805572852965e-05_r8, 5.6200454136039637e-05_r8, & + 7.0708436142792591e-05_r8, 8.4398841149185976e-05_r8, & + 9.9125011429811115e-05_r8, 0.00011501786134945654_r8, & + 0.00012996315584321697_r8, 0.00014393713342614943_r8, & + 0.00015662085792852092_r8, 0.00018026394725937124_r8, & + 0.00019322436228613003_r8, 0.00020032652364784537_r8, & + 0.00020568726250442724_r8, 0.00021250995501937095_r8, & + 0.00022201343655425313_r8, 0.00023209198385388795_r8, & + 0.00024222740988624514_r8, 0.00025205141755219208_r8, & + 0.0002595993544134013_r8, 0.00026466070936218_r8, 0.0002678490545318536_r8, & + 0.00026951848996233888_r8, 0.00027139755074832427_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,50) / & + 7.3613162185329721e-06_r8, 7.1738718941997286e-06_r8, & + 6.7551051097850214e-06_r8, 5.7051475585436424e-06_r8, & + 5.7060784013063754e-06_r8, 5.8508645413768739e-06_r8, & + 5.922825837046042e-06_r8, 4.9216070770050269e-06_r8, & + 4.6206995173563319e-06_r8, 5.3580176966969277e-06_r8, & + 5.6619770250031426e-06_r8, 8.6201236158885525e-06_r8, & + 1.2112702810906124e-05_r8, 1.3096272726404941e-05_r8, & + 1.4107768985172593e-05_r8, 1.5189362606070241e-05_r8, & + 1.7759511675932768e-05_r8, 2.1492953124141735e-05_r8, & + 2.775395540175722e-05_r8, 3.6406614566029817e-05_r8, & + 4.8422232959617625e-05_r8, 6.2049272587690377e-05_r8, & + 7.7139528612707299e-05_r8, 9.373970571779535e-05_r8, & + 0.0001110562069884972_r8, 0.00012889474012486168_r8, & + 0.00014487050540730334_r8, 0.00017751447899795784_r8, & + 0.00019910264120256415_r8, 0.00021219858051279992_r8, & + 0.00021897132788222586_r8, 0.00022080856988507906_r8, & + 0.00022442376463254697_r8, 0.00022925601829210796_r8, & + 0.00023735164459309376_r8, 0.00024738627964451251_r8, & + 0.00025624960171835397_r8, 0.00026244914348400706_r8, & + 0.00026638621428678327_r8, 0.00026845516939311896_r8, & + 0.00027040608835278532_r8, 0.00027259877663598857_r8, & + 0.00027062228468674156_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,50) / & + 8.0754206769751186e-06_r8, 7.7793538502731229e-06_r8, & + 7.9070344480517184e-06_r8, 6.9688955479562802e-06_r8, & + 6.8642352935921932e-06_r8, 6.6578505725184893e-06_r8, & + 6.3558955971824158e-06_r8, 5.5136326216205267e-06_r8, & + 4.5564596969070459e-06_r8, 5.3545237068993757e-06_r8, & + 5.6950077207323038e-06_r8, 8.3427513591057303e-06_r8, & + 1.1829201348407451e-05_r8, 1.2946890400433165e-05_r8, & + 1.4005300129028959e-05_r8, 1.5153922993172606e-05_r8, & + 1.7249035111392997e-05_r8, 2.0441007489730214e-05_r8, & + 2.5758860167124898e-05_r8, 3.3932710245549697e-05_r8, & + 4.6309126315504158e-05_r8, 6.1507745658857839e-05_r8, & + 7.89756093145016e-05_r8, 9.7733659260815949e-05_r8, & + 0.00011660327462519849_r8, 0.00013596995592744684_r8, & + 0.00015304353749176369_r8, 0.00019024543615061968_r8, & + 0.00021774771414766658_r8, 0.00023573211564383039_r8, & + 0.00024559418592664004_r8, 0.00024635769391661991_r8, & + 0.00024351027851391268_r8, 0.00023945388690225819_r8, & + 0.00024116838561514888_r8, 0.00024775874536235105_r8, & + 0.00025559855047105053_r8, 0.00026175440532940226_r8, & + 0.00026594606140727844_r8, 0.00026796313189709391_r8, & + 0.00026957091097935614_r8, 0.00027012587087521197_r8, & + 0.00027062228468674156_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,50) / & + 7.3530804588405887e-06_r8, 7.0659051181398618e-06_r8, & + 8.1937721358316886e-06_r8, 6.4533072838632595e-06_r8, & + 6.2529426016135463e-06_r8, 5.8098086025695817e-06_r8, & + 5.5583875641469799e-06_r8, 5.2692790950684917e-06_r8, & + 5.2455098734289304e-06_r8, 5.4045062958065e-06_r8, & + 5.8673878597751673e-06_r8, 7.3068303678205884e-06_r8, & + 9.8215910487713487e-06_r8, 1.1433414004466028e-05_r8, & + 1.2724358610344589e-05_r8, 1.4123658742064748e-05_r8, & + 1.6283959372420976e-05_r8, 1.9736156200814326e-05_r8, & + 2.5151859883651771e-05_r8, 3.3506771089133395e-05_r8, & + 4.6257734414951997e-05_r8, 6.2506435155491719e-05_r8, & + 8.1655750440996159e-05_r8, 0.00010150582995977728_r8, & + 0.00012169759364058094_r8, 0.00014151430700097119_r8, & + 0.00016107507115175612_r8, 0.00020277179483265802_r8, & + 0.00023239916202554779_r8, 0.00025125979607622441_r8, & + 0.00026291990238612965_r8, 0.00026645963919328227_r8, & + 0.00026326513740241816_r8, 0.00025546426757268477_r8, & + 0.00024859895667739816_r8, 0.00024733038863325864_r8, & + 0.000251950432380649_r8, 0.00025760072340605134_r8, & + 0.00026302911490524002_r8, 0.00026646154705024902_r8, & + 0.00026813348756421908_r8, 0.00026848441163317946_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,50) / & + 5.6263542719402056e-06_r8, 5.4893868408097322e-06_r8, & + 7.0481792212809528e-06_r8, 5.3809816334504085e-06_r8, & + 5.3363826280548008e-06_r8, 4.8298857409969761e-06_r8, & + 4.3093381535750026e-06_r8, 4.1559270496511816e-06_r8, & + 4.3477761759416387e-06_r8, 4.6311522123553376e-06_r8, & + 4.8937550036346674e-06_r8, 5.2273601737208068e-06_r8, & + 6.6476782036749554e-06_r8, 8.4639908081747906e-06_r8, & + 9.9228098229771071e-06_r8, 1.1338737452177482e-05_r8, & + 1.3713174879885056e-05_r8, 1.6794483823847152e-05_r8, & + 2.1808386785382712e-05_r8, 2.975599152932976e-05_r8, & + 4.1965684133791463e-05_r8, 5.8675399380995299e-05_r8, & + 7.9066291836049919e-05_r8, 0.00010087765120667561_r8, & + 0.00012317581613457341_r8, 0.00014438396848327528_r8, & + 0.00016639205732021397_r8, 0.00021219281850160066_r8, & + 0.00024279466253964661_r8, 0.00026147339702045083_r8, & + 0.00027370442511404867_r8, 0.00027990291845540337_r8, & + 0.00027926768623400146_r8, 0.00027133761919070112_r8, & + 0.00025924762470061436_r8, 0.00025217610835155939_r8, & + 0.00025315980313431045_r8, 0.00025761800255326184_r8, & + 0.00026334501430233428_r8, 0.000266739740027594_r8, & + 0.00026816769579404058_r8, 0.00026874712258126166_r8, & + 0.00026943923942653351_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,50) / & + 4.2094867664008623e-06_r8, 4.1583883988618902e-06_r8, & + 5.0225821949051898e-06_r8, 4.0851807674865998e-06_r8, & + 4.0305176025020024e-06_r8, 3.632013947741463e-06_r8, & + 2.9993540159097386e-06_r8, 3.1029732794074609e-06_r8, & + 3.1719842298344631e-06_r8, 3.4984859914331521e-06_r8, & + 3.9203869956937404e-06_r8, 4.2927742135495662e-06_r8, & + 5.0199629452886679e-06_r8, 6.4163924020191432e-06_r8, & + 7.9140332850118511e-06_r8, 9.5990213001334955e-06_r8, & + 1.2678567342361401e-05_r8, 1.6105014826764686e-05_r8, & + 2.1597071904190237e-05_r8, 3.0253518510296781e-05_r8, & + 4.3681551526844882e-05_r8, 6.1817809366214004e-05_r8, & + 8.4199523817122827e-05_r8, 0.00010803823596109697_r8, & + 0.00013235628070860998_r8, 0.00015593908907015461_r8, & + 0.00017850877331977794_r8, 0.00022282102085223189_r8, & + 0.00025007247790267018_r8, 0.00026611650259651437_r8, & + 0.00027662461387578435_r8, 0.00028283950989336094_r8, & + 0.00028299825197178774_r8, 0.00027476619140509871_r8, & + 0.00026157589835877084_r8, 0.00025315932264654249_r8, & + 0.00025327156586451834_r8, 0.00025737464612344299_r8, & + 0.00026275642488176421_r8, 0.00026555469979593646_r8, & + 0.00026713147536492_r8, 0.00026771499903514135_r8, & + 0.00026912587242422059_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,50) / & + 3.3478969143814301e-06_r8, 3.3227396953960909e-06_r8, & + 3.240269486663302e-06_r8, 3.4941209561803946e-06_r8, & + 3.3706731235320402e-06_r8, 3.1995246923587733e-06_r8, & + 2.9925941931441167e-06_r8, 2.8741880571537968e-06_r8, & + 2.7560751110178472e-06_r8, 2.7151977951230764e-06_r8, & + 2.815714703027737e-06_r8, 3.7167072524766737e-06_r8, & + 5.4229191951804939e-06_r8, 6.9977914019442797e-06_r8, & + 8.610141379357737e-06_r8, 1.0975596613726148e-05_r8, & + 1.6246706799162177e-05_r8, 2.2104673714400237e-05_r8, & + 3.0691357203995049e-05_r8, 4.3013682439997331e-05_r8, & + 6.0844545865780903e-05_r8, 8.4259791699645316e-05_r8, & + 0.00011052149493720328_r8, 0.00013609246331605483_r8, & + 0.00016151087911065311_r8, 0.00018304169610051674_r8, & + 0.00020456625868274584_r8, 0.00024108643361106654_r8, & + 0.00026472419823795186_r8, 0.00027887968779681218_r8, & + 0.00028904129891423779_r8, 0.00029558181107092109_r8, & + 0.00029684774067767136_r8, 0.0002904340683479355_r8, & + 0.00027814662084224887_r8, 0.00026759214305602339_r8, & + 0.00026464129240966525_r8, 0.00026779520097193645_r8, & + 0.00027259071142925813_r8, 0.00027574840973424916_r8, & + 0.00027793078602793086_r8, 0.00027897680718036899_r8, & + 0.00028065002041727802_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,50) / & + 3.0156538327800572e-06_r8, 3.0165119013313522e-06_r8, & + 2.6985245639864664e-06_r8, 3.0539738236611223e-06_r8, & + 3.0919239875958486e-06_r8, 3.125162757405664e-06_r8, & + 3.1859150060398329e-06_r8, 3.3091626724883324e-06_r8, & + 3.2726123665028589e-06_r8, 3.2179366841243129e-06_r8, & + 3.1100676726232067e-06_r8, 3.6704875240854791e-06_r8, & + 5.4564071452599069e-06_r8, 8.0619340960908086e-06_r8, & + 1.1303378347384397e-05_r8, 1.5081685237583584e-05_r8, & + 2.4798024282452556e-05_r8, 3.5696777828728149e-05_r8, & + 5.057212269416861e-05_r8, 7.021315512570956e-05_r8, & + 9.5524855676847265e-05_r8, 0.00012489470592637507_r8, & + 0.00015252686367857261_r8, 0.0001762572028053913_r8, & + 0.0001996348727834362_r8, 0.00021627391025874721_r8, & + 0.00023327570314774206_r8, 0.00025928821075903299_r8, & + 0.00027769415754459438_r8, 0.00029026877510857313_r8, & + 0.00030038053343203823_r8, 0.00030680898673883056_r8, & + 0.0003089496942267131_r8, 0.00030597653745988634_r8, & + 0.00029771347243018749_r8, 0.00028741533480135262_r8, & + 0.00028100268392492161_r8, 0.00028029495196792793_r8, & + 0.00028266545148699013_r8, 0.00028535305025227155_r8, & + 0.00028889192754005398_r8, 0.00029148676990090473_r8, & + 0.00029305536458493951_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,50) / & + 3.3166671042734485e-06_r8, 3.3235786366931252e-06_r8, & + 3.2954559819386907e-06_r8, 3.1911692921324671e-06_r8, & + 3.2651209332107269e-06_r8, 3.27446237876682e-06_r8, & + 3.4763890729942791e-06_r8, 3.2269742071513537e-06_r8, & + 3.2820717527620132e-06_r8, 3.3580334785333516e-06_r8, & + 3.450356827038968e-06_r8, 4.1092517475702177e-06_r8, & + 4.7586084575535658e-06_r8, 7.7948300123061748e-06_r8, & + 1.3180852025442801e-05_r8, 1.9832560076111576e-05_r8, & + 3.5144364833095349e-05_r8, 5.2400109721599278e-05_r8, & + 7.5837660072172795e-05_r8, 0.00010549041514963894_r8, & + 0.00013445507408816262_r8, 0.00016175792723410637_r8, & + 0.0001853785021096299_r8, 0.00020477921509460663_r8, & + 0.00022237593209564367_r8, 0.0002354120687191326_r8, & + 0.00024803234082673389_r8, 0.00027108194001865949_r8, & + 0.00028819359263185717_r8, 0.00030048578233591043_r8, & + 0.00031008541404979584_r8, 0.00031592371862315048_r8, & + 0.00031818554424676779_r8, 0.00031765430659370215_r8, & + 0.00031421302485138683_r8, 0.00030794048331306311_r8, & + 0.00030061081937433741_r8, 0.00029551257151686796_r8, & + 0.00029400165279866647_r8, 0.00029463518692542112_r8, & + 0.00029563794899494113_r8, 0.00029608699379223187_r8, & + 0.00029778158642390217_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,50) / & + 3.6869693219982584e-06_r8, 3.6269046789921807e-06_r8, & + 3.591289851553345e-06_r8, 3.4180231836164092e-06_r8, & + 3.5539540741433191e-06_r8, 3.5573741417160017e-06_r8, & + 4.1418034041181534e-06_r8, 3.3036132128832403e-06_r8, & + 3.4740981278525459e-06_r8, 3.7412180402654475e-06_r8, & + 3.9832794098926505e-06_r8, 4.6383579905954521e-06_r8, & + 8.6105469211231724e-06_r8, 1.665447307231882e-05_r8, & + 2.8565185187757044e-05_r8, 4.2197048986065675e-05_r8, & + 6.5256357846670481e-05_r8, 8.9241776902486471e-05_r8, & + 0.0001133895634004123_r8, 0.00013866821864860659_r8, & + 0.00016268107605697186_r8, 0.00018425208171753263_r8, & + 0.00020448252108942657_r8, 0.00022344524685560452_r8, & + 0.00023857025489151373_r8, 0.00025084636283497755_r8, & + 0.00026269428416661066_r8, 0.00028878943763503549_r8, & + 0.00030838243035785759_r8, 0.00032284707379934903_r8, & + 0.00033336457892762817_r8, 0.0003385389939133719_r8, & + 0.00034017691440342714_r8, 0.00033913767404273758_r8, & + 0.00033603183510326332_r8, 0.00033082311568282172_r8, & + 0.00032307166299610872_r8, 0.00031442603167414088_r8, & + 0.00031028771609903811_r8, 0.00030871235795462118_r8, & + 0.0003087627490772035_r8, 0.00030938753492001448_r8, & + 0.00031030359018343614_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,50) / & + 4.1282037923328034e-06_r8, 3.9945244830487582e-06_r8, & + 3.9562641240691243e-06_r8, 3.8448556881023982e-06_r8, & + 3.9456287933500191e-06_r8, 3.9577576682750619e-06_r8, & + 4.8354071338247601e-06_r8, 4.1862964994625428e-06_r8, & + 4.2365976855837016e-06_r8, 4.8327685177767628e-06_r8, & + 5.5221080948468881e-06_r8, 7.7824937276921473e-06_r8, & + 1.8936492719064255e-05_r8, 3.3919400505997641e-05_r8, & + 5.0017423340371302e-05_r8, 6.5145885428948084e-05_r8, & + 9.2052335816958502e-05_r8, 0.00011631831969844002_r8, & + 0.00013984089329806187_r8, 0.00016158664091880622_r8, & + 0.00018437867150196955_r8, 0.00020501631391162836_r8, & + 0.00022470859803721979_r8, 0.00024355605274849304_r8, & + 0.00025888022709625799_r8, 0.0002731567382243563_r8, & + 0.00028566979282393617_r8, 0.00031313207275594248_r8, & + 0.00033468363355779906_r8, 0.00035011944337346682_r8, & + 0.00036067364001230384_r8, 0.0003661277424606026_r8, & + 0.00036738155824258124_r8, 0.00036627942027829584_r8, & + 0.00036323907287406134_r8, 0.00035869233760482683_r8, & + 0.00035109824080240432_r8, 0.00033880364109935241_r8, & + 0.00032773906003255349_r8, 0.00032449545765353638_r8, & + 0.00032440416354863897_r8, 0.00032420622680604471_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,50) / & + 4.5396984043096859e-06_r8, 4.4742253523395382e-06_r8, & + 4.4487495300727713e-06_r8, 4.6342113450984807e-06_r8, & + 4.768336960732509e-06_r8, 4.7852950551738418e-06_r8, & + 5.7810960463913791e-06_r8, 5.861106024117632e-06_r8, & + 6.0454748735072895e-06_r8, 7.4300726578263285e-06_r8, & + 1.0154133424466667e-05_r8, 1.7943082168941926e-05_r8, & + 3.5581718820166256e-05_r8, 5.4411358832222668e-05_r8, & + 6.5884117266668199e-05_r8, 7.9146307787114891e-05_r8, & + 0.00010481052604622372_r8, 0.00012761747045079646_r8, & + 0.00015428492690669699_r8, 0.00017761847807245927_r8, & + 0.00020187471821418737_r8, 0.00022143766430666849_r8, & + 0.0002405401743182395_r8, 0.00025929123854926615_r8, & + 0.00027745119758633066_r8, 0.00029499772109211307_r8, & + 0.00030985225507220712_r8, 0.00033740755957023039_r8, & + 0.00035964793603947905_r8, 0.00037513509291963809_r8, & + 0.0003850595008358031_r8, 0.00038943542028868009_r8, & + 0.00038984996720778283_r8, 0.00038782266140049071_r8, & + 0.00038480946327988305_r8, 0.0003819861014229407_r8, & + 0.00037685343180796175_r8, 0.00036958320347495524_r8, & + 0.00036085570962232513_r8, 0.00035585662879119288_r8, & + 0.00034722007783187427_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,50) / & + 5.2334618016346773e-06_r8, 5.2337399244612602e-06_r8, & + 5.069253121687892e-06_r8, 7.0436096377999319e-06_r8, & + 7.327448967825059e-06_r8, 7.4073801030389033e-06_r8, & + 8.5331253383344508e-06_r8, 9.2262291015898833e-06_r8, & + 1.1511634766292845e-05_r8, 1.5544046577402819e-05_r8, & + 2.4029293886628131e-05_r8, 3.4614581833212019e-05_r8, & + 5.3922289071913118e-05_r8, 6.8805525052990739e-05_r8, & + 7.9573690784472462e-05_r8, 9.1514917623446566e-05_r8, & + 0.0001159383337752108_r8, 0.00013942687542475895_r8, & + 0.00017065596664463494_r8, 0.0001948433445594664_r8, & + 0.0002198578794215446_r8, 0.00024088639750949778_r8, & + 0.00026080391539280685_r8, 0.0002800203407697905_r8, & + 0.0003012188505237027_r8, 0.00032080750762368711_r8, & + 0.00033677359909869384_r8, 0.00036719965722241914_r8, & + 0.00039006876531321686_r8, 0.00040503919336520384_r8, & + 0.00041408671156724759_r8, 0.0004182250566152407_r8, & + 0.00041838890678462314_r8, 0.00041624902418164322_r8, & + 0.0004129276060708986_r8, 0.00040919312821041177_r8, & + 0.00040185266613767845_r8, 0.0003885938509261658_r8, & + 0.00037784453184760394_r8, 0.00036960972840376175_r8, & + 0.00036400922095354939_r8, 0.00036405956335408134_r8, & + 0.00036415560046985842_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,50) / & + 5.4813824870431422e-06_r8, 5.5151090459809222e-06_r8, & + 5.175267792040159e-06_r8, 8.3746656277909411e-06_r8, & + 8.8603489606104264e-06_r8, 9.0902308843349215e-06_r8, & + 1.1470577185907042e-05_r8, 1.3874270089655203e-05_r8, & + 1.9501601529478932e-05_r8, 2.6928666544228256e-05_r8, & + 4.1891651094057706e-05_r8, 5.4392804293740268e-05_r8, & + 7.1191224601155941e-05_r8, 8.1906975777820793e-05_r8, & + 9.2599453057479349e-05_r8, 0.00010402625137835274_r8, & + 0.00012831314439735333_r8, 0.00015525191189214645_r8, & + 0.00018829356092858621_r8, 0.00021478832351223256_r8, & + 0.0002407681051681301_r8, 0.00026410075168312538_r8, & + 0.00028774873143912194_r8, 0.00030853416336982077_r8, & + 0.00033051759318456067_r8, 0.00035007032870073174_r8, & + 0.000367287141265847_r8, 0.00040034605520000835_r8, & + 0.00042436381713292711_r8, 0.00043861143312771804_r8, & + 0.00044662948755141925_r8, 0.00044928721311351971_r8, & + 0.00044827840067105371_r8, 0.00044476137596478145_r8, & + 0.00043964446713298225_r8, 0.00043338864480958696_r8, & + 0.00042374741722688166_r8, 0.00040741362062829569_r8, & + 0.00039474299637570537_r8, 0.00038620480632544041_r8, & + 0.00038090252643175135_r8, 0.00038095561888430935_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,50) / & + 5.126869377070287e-06_r8, 5.2203801045587316e-06_r8, & + 5.0400884168345754e-06_r8, 8.1728406387076674e-06_r8, & + 8.267790216379425e-06_r8, 8.0487717910070259e-06_r8, & + 1.2577134539693503e-05_r8, 1.697134139054265e-05_r8, & + 2.4334025328981935e-05_r8, 4.0874414578993485e-05_r8, & + 5.9513891719429997e-05_r8, 7.5942616755339575e-05_r8, & + 9.0170809997160815e-05_r8, 9.9888822356753674e-05_r8, & + 0.00010772374429626466_r8, 0.00011741988889584374_r8, & + 0.00014395967663205443_r8, 0.00017437184446992556_r8, & + 0.00020499075513567529_r8, 0.00023429421936066789_r8, & + 0.00026096806897220478_r8, 0.00028694212113167358_r8, & + 0.00031196534287359089_r8, 0.00033494405755525006_r8, & + 0.00035600883515608572_r8, 0.00037551853702162945_r8, & + 0.0003942928357147612_r8, 0.00042689791430028373_r8, & + 0.00045204726198009784_r8, 0.00046500597597081192_r8, & + 0.00047292377445462872_r8, 0.00047530807435496172_r8, & + 0.00047457202203550139_r8, 0.00046979579871326513_r8, & + 0.00046327674909398502_r8, 0.00045361551718859792_r8, & + 0.00044116848567864398_r8, 0.00042641406225897653_r8, & + 0.00041456251081531002_r8, 0.00040410814608689077_r8, & + 0.00039924055477435615_r8, 0.00039688883553910484_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,50) / & + 4.9924264054437976e-06_r8, 5.1172596619461979e-06_r8, & + 5.2002686346955025e-06_r8, 7.2631798629975111e-06_r8, & + 6.9168670317648303e-06_r8, 6.5540486491517977e-06_r8, & + 1.1047099873234274e-05_r8, 1.4864636679357836e-05_r8, & + 2.8823900989055382e-05_r8, 5.1697587018296944e-05_r8, & + 6.8982709901711916e-05_r8, 8.6316431695826227e-05_r8, & + 0.00010272303518775828_r8, 0.00011244916097290302_r8, & + 0.00012269473839470556_r8, 0.00013415603620009733_r8, & + 0.00016448519158431853_r8, 0.00019605096928762081_r8, & + 0.0002268662879421968_r8, 0.00025598857354294286_r8, & + 0.00028353465070676001_r8, 0.00031055919150460858_r8, & + 0.00033468915117437515_r8, 0.00035868448228211519_r8, & + 0.00037965779559763577_r8, 0.00039939472174338713_r8, & + 0.00041762962637669724_r8, 0.00044998750443306812_r8, & + 0.00047535750595435435_r8, 0.00048740567263583614_r8, & + 0.00049568178914694721_r8, 0.00049859637455826095_r8, & + 0.00049933633145607533_r8, 0.00049445546086582368_r8, & + 0.0004872146231811629_r8, 0.00047709556194829245_r8, & + 0.00046322983401541435_r8, 0.00044972430168373017_r8, & + 0.00043929686560280714_r8, 0.00043373574969924505_r8, & + 0.00042929058064186519_r8, 0.00043385691034086626_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,50) / & + 5.2785765374978932e-06_r8, 5.3659367993247024e-06_r8, & + 5.5782884031057597e-06_r8, 5.9680019765065772e-06_r8, & + 5.8771703546516505e-06_r8, 5.7775390713071885e-06_r8, & + 6.9892376525468527e-06_r8, 9.0676340511149747e-06_r8, & + 1.4722813179446369e-05_r8, 2.5789156245968139e-05_r8, & + 3.8360222438395101e-05_r8, 5.223707460759237e-05_r8, & + 8.3747427952486365e-05_r8, 0.00010827396007907833_r8, & + 0.00013141235151782642_r8, 0.00015217917761576401_r8, & + 0.00019411690820681716_r8, 0.0002288885982588823_r8, & + 0.00025936258532681318_r8, 0.0002887465560591211_r8, & + 0.00031681552216850946_r8, 0.00034178595650887438_r8, & + 0.00036495774717689551_r8, 0.00038781385068776668_r8, & + 0.00040849835794272183_r8, 0.00042663088352999949_r8, & + 0.00044287150099041594_r8, 0.00047621394480336127_r8, & + 0.00049952605506024567_r8, 0.00051256582180671609_r8, & + 0.0005205482252111566_r8, 0.00052370900390339076_r8, & + 0.0005247772597228612_r8, 0.00052159176889237497_r8, & + 0.00051510116782159463_r8, 0.0005071297077472274_r8, & + 0.00049430059734223496_r8, 0.00048040381270831624_r8, & + 0.00046716695125365384_r8, 0.00045760195822965407_r8, & + 0.00045137663685414204_r8, 0.00044926200090199817_r8, & + 0.00044886580115217033_r8, 0.00045443467756500875_r8, 9e90_r8 & + / +data saar_ref(:,27,50) / & + 5.7087274418284533e-06_r8, 5.6587736499681844e-06_r8, & + 5.668544206288461e-06_r8, 6.3501239621760692e-06_r8, & + 6.3474422286513784e-06_r8, 6.1989793973345882e-06_r8, & + 6.1673595493358479e-06_r8, 6.7574334736742396e-06_r8, & + 7.9506697861274686e-06_r8, 9.8824973756019365e-06_r8, & + 1.34202001715667e-05_r8, 1.9836873087313558e-05_r8, & + 4.2816688445361331e-05_r8, 6.8136642838797899e-05_r8, & + 9.9300966426450098e-05_r8, 0.00013436468172670486_r8, & + 0.00020580741481056444_r8, 0.00025599153048362833_r8, & + 0.00028879336231551317_r8, 0.00031942613088256953_r8, & + 0.00034397710658736445_r8, 0.0003662810306251381_r8, & + 0.00038951250869051198_r8, 0.00041059859256502084_r8, & + 0.00043165015900543702_r8, 0.00044890364231253168_r8, & + 0.00046529316024703632_r8, 0.0004975747889489824_r8, & + 0.00052011677017609569_r8, 0.00053460677864945857_r8, & + 0.00054263564090706936_r8, 0.00054593976897871236_r8, & + 0.00054603541878323839_r8, 0.00054267195501475499_r8, & + 0.00053724141436039489_r8, 0.00053094389704022951_r8, & + 0.0005226205071091972_r8, 0.0005126681347496577_r8, & + 0.00050042732445784591_r8, 0.00048703959813369864_r8, & + 0.00047281980244142779_r8, 0.00046501904415871109_r8, & + 0.00046261229348797919_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,50) / & + 5.9634874656130252e-06_r8, 5.7954583079337449e-06_r8, & + 5.6662925499672483e-06_r8, 6.9584954850922173e-06_r8, & + 6.9373313522265752e-06_r8, 6.8349915314547496e-06_r8, & + 5.7571244166219161e-06_r8, 7.4717302419680095e-06_r8, & + 8.3622167622014132e-06_r8, 9.5394261194047759e-06_r8, & + 1.2030973986389798e-05_r8, 1.7347143697731006e-05_r8, & + 3.1276363276424055e-05_r8, 4.9384028937069646e-05_r8, & + 7.4583293982750254e-05_r8, 0.00010497314542300826_r8, & + 0.00018743160448005653_r8, 0.00025855740438373079_r8, & + 0.00030947604164968147_r8, 0.00034796416891097595_r8, & + 0.00037262173270161391_r8, 0.00039389180444431303_r8, & + 0.00041404690449089348_r8, 0.00043340711542326016_r8, & + 0.00045238956306263106_r8, 0.00046882051468435828_r8, & + 0.00048420124666934719_r8, 0.0005152571153473033_r8, & + 0.00053886725342720354_r8, 0.000555234692541719_r8, & + 0.00056310082891740127_r8, 0.00056501703941524073_r8, & + 0.000563398716505478_r8, 0.00055838768618033513_r8, & + 0.00055261105711516161_r8, 0.00054785770838742154_r8, & + 0.00054141432685998118_r8, 0.00053678278623060533_r8, & + 0.00052672303017450796_r8, 0.00050824782033725112_r8, & + 0.00048974635820365586_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,50) / & + 6.6462972385463843e-06_r8, 6.7291388211280957e-06_r8, & + 6.8272894670488177e-06_r8, 6.8715524923552452e-06_r8, & + 7.0874833080530136e-06_r8, 7.2322691323039243e-06_r8, & + 7.1138683224419867e-06_r8, 9.1483804700420154e-06_r8, & + 1.0494118420630533e-05_r8, 1.2655272842121593e-05_r8, & + 1.5470304245586867e-05_r8, 1.9917239649099914e-05_r8, & + 2.9834213793534775e-05_r8, 4.1037677781168796e-05_r8, & + 5.5652233586967574e-05_r8, 7.6033812519433092e-05_r8, & + 0.00014389064520948516_r8, 0.00022565966175748371_r8, & + 0.00030310917986196552_r8, 0.00036626925235046785_r8, & + 0.00040376275758762122_r8, 0.00043049180304967019_r8, & + 0.000450988226663304_r8, 0.00046907445784223509_r8, & + 0.00048573341965404748_r8, 0.0005022712516222688_r8, & + 0.00051752296984175711_r8, 0.00054906299422513908_r8, & + 0.00057197776197236779_r8, 0.00058382220209433238_r8, & + 0.000588172066039765_r8, 0.00058740175261704202_r8, & + 0.00058289610934064283_r8, 0.00057735478593851531_r8, & + 0.0005702752014619878_r8, 0.00056501715700154752_r8, & + 0.0005594404570082905_r8, 0.00055572712793546561_r8, & + 0.00055225795011723934_r8, 0.0005493208858370289_r8, & + 0.00054050183142526911_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,50) / & + 8.8849272647675178e-06_r8, 9.4558786209082661e-06_r8, & + 9.9804541894425757e-06_r8, 9.091776250736446e-06_r8, & + 1.0161156079217821e-05_r8, 1.1286281078983195e-05_r8, & + 1.0942066266393051e-05_r8, 1.4783120225186293e-05_r8, & + 1.7360228465133381e-05_r8, 2.0344309685939975e-05_r8, & + 2.3734825444158331e-05_r8, 2.9077188135293409e-05_r8, & + 3.8566934736537978e-05_r8, 4.8545767232576255e-05_r8, & + 6.1497145029126089e-05_r8, 7.9872932504692601e-05_r8, & + 0.00013940234690068678_r8, 0.00021959648341795754_r8, & + 0.0003044008771665882_r8, 0.00037801241355982169_r8, & + 0.00042860867119295731_r8, 0.00046769389929024555_r8, & + 0.00049136089092826805_r8, 0.00051061135682744347_r8, & + 0.00052575875307552498_r8, 0.00054187552209902779_r8, & + 0.00055738602394553489_r8, 0.00058855789748331105_r8, & + 0.0006094478487325358_r8, 0.00061924516258672678_r8, & + 0.0006214306996982482_r8, 0.00061786488038551881_r8, & + 0.00061115651643896317_r8, 0.00060452767245556985_r8, & + 0.00059719386653817161_r8, 0.00058998748851142536_r8, & + 0.00058304273369606504_r8, 0.0005794223238526731_r8, & + 0.00057606366175604442_r8, 0.0005728606848914308_r8, & + 0.00056327878784450953_r8, 0.00055792844676237098_r8, & + 0.00055466566152331418_r8, 0.00055855078958892039_r8, 9e90_r8 & + / +data saar_ref(:,31,50) / & + 1.2991859412976427e-05_r8, 1.4113041834216264e-05_r8, & + 1.5383746028434726e-05_r8, 1.8844802987210376e-05_r8, & + 1.9901393175176046e-05_r8, 2.1045823284485018e-05_r8, & + 2.0800368202722056e-05_r8, 2.6227708961898463e-05_r8, & + 2.9763791577107592e-05_r8, 3.3080925748756436e-05_r8, & + 3.7282168738067511e-05_r8, 4.1864805254991638e-05_r8, & + 5.0509050649432362e-05_r8, 6.1725273637761372e-05_r8, & + 7.8947669898571024e-05_r8, 9.9867757561556141e-05_r8, & + 0.00015991933449694182_r8, 0.00024022864619907143_r8, & + 0.00032321584558034366_r8, 0.000396680855771744_r8, & + 0.00045257741684573871_r8, 0.00049652619245618484_r8, & + 0.00052661597892578226_r8, 0.00055109943480316341_r8, & + 0.00056983929121255574_r8, 0.00058582675159974014_r8, & + 0.00060154414663798493_r8, 0.00063108942255931549_r8, & + 0.00065174957448578053_r8, 0.00065642663966724668_r8, & + 0.0006522006701100868_r8, 0.00064352643706342718_r8, & + 0.00063434128317213403_r8, 0.00062627919654768328_r8, & + 0.00062052101224607402_r8, 0.000613379849693436_r8, & + 0.00060683342901555733_r8, 0.00060304446864404399_r8, & + 0.00059983451864884364_r8, 0.00059307365177750887_r8, & + 0.00058488362150037104_r8, 0.00057899731660580856_r8, & + 0.00057448369544048296_r8, 0.00057345120244825282_r8, 9e90_r8 & + / +data saar_ref(:,32,50) / & + 1.7762417184796285e-05_r8, 1.9651332331470274e-05_r8, & + 2.2550129043207075e-05_r8, 3.5433498995596001e-05_r8, & + 3.674341816748474e-05_r8, 3.7278646572180986e-05_r8, & + 4.3580140659396409e-05_r8, 4.684095992992276e-05_r8, & + 4.9569503998298905e-05_r8, 5.1938652963355995e-05_r8, & + 5.5187538279363633e-05_r8, 6.0123402519043528e-05_r8, & + 7.1245833785688062e-05_r8, 8.7915008372650976e-05_r8, & + 0.00011234427991323443_r8, 0.00014235407771375611_r8, & + 0.00021607685092682271_r8, 0.00029396338980789566_r8, & + 0.0003651673994924541_r8, 0.00042862161164435394_r8, & + 0.00047825638138674091_r8, 0.00052020892123939258_r8, & + 0.00055148499171843175_r8, 0.00057929890377605292_r8, & + 0.00060208504883484159_r8, 0.00062182221147974318_r8, & + 0.00063882319738878149_r8, 0.00066708217159105673_r8, & + 0.00068504981373948548_r8, 0.0006864725607118174_r8, & + 0.00067727827027500714_r8, 0.00066572326234936934_r8, & + 0.00065400925206954622_r8, 0.00064454722938814117_r8, & + 0.0006363971370835391_r8, 0.0006306558041599547_r8, & + 0.00062746197798597069_r8, 0.00062847591339125768_r8, & + 0.00062874578711907283_r8, 0.00062627297606813396_r8, & + 0.00061968092207693786_r8, 0.00061217496605633448_r8, & + 0.00060832735919940631_r8, 0.00059122364688398799_r8, & + 0.00058986470666409232_r8 & + / +data saar_ref(:,33,50) / & + 3.4631902360366666e-05_r8, 3.5977718338738568e-05_r8, & + 3.9398995938369181e-05_r8, 6.3108276347392892e-05_r8, & + 6.6264612645156002e-05_r8, 6.472820814131276e-05_r8, & + 7.1995850387740265e-05_r8, 7.3216604366128362e-05_r8, & + 7.6893045401813586e-05_r8, 8.238536078931763e-05_r8, & + 8.943282177232725e-05_r8, 9.9180085090075362e-05_r8, & + 0.00012195594284868767_r8, 0.00015313588732398086_r8, & + 0.00019308151385869616_r8, 0.000235852279648682_r8, & + 0.00031351855429138459_r8, 0.0003805536263732071_r8, & + 0.00043516570127567468_r8, 0.00048462638398864187_r8, & + 0.00052319849960706069_r8, 0.00055788206650189784_r8, & + 0.00058557670673890978_r8, 0.00061130703067001412_r8, & + 0.0006321249090551008_r8, 0.00065167630088433807_r8, & + 0.00066873549071472488_r8, 0.0006928798776969805_r8, & + 0.00070842774811330424_r8, 0.00071177255676415046_r8, & + 0.00070646762241704728_r8, 0.00069505820473415001_r8, & + 0.00068257689486504454_r8, 0.00067207978487217486_r8, & + 0.00066221281065989069_r8, 0.00065634744401973531_r8, & + 0.00065424599048400636_r8, 0.00065833186437590306_r8, & + 0.00066014386864834973_r8, 0.00065734731075681109_r8, & + 0.00065596465272247631_r8, 0.00065617126870931271_r8, & + 0.00065560575519330055_r8, 0.00063339341731842721_r8, 9e90_r8 & + / +data saar_ref(:,34,50) / & + 6.6003971176205954e-05_r8, 6.9485151090639582e-05_r8, & + 7.0440529452703044e-05_r8, 8.6948524295998376e-05_r8, & + 9.3385402503248452e-05_r8, 9.9574638430829422e-05_r8, & + 0.00011235021650969099_r8, 0.00011076292192826045_r8, & + 0.00012611932266975406_r8, 0.00015584126562208681_r8, & + 0.00017642242410629086_r8, 0.00019530573979520532_r8, & + 0.00023046477405215611_r8, 0.00027424875429648177_r8, & + 0.00031615670239461702_r8, 0.00035387688315287417_r8, & + 0.00041541723547639246_r8, 0.00046696003597292715_r8, & + 0.00050670519009760929_r8, 0.0005442440823102459_r8, & + 0.00057424165180205902_r8, 0.00060186896278442736_r8, & + 0.00062371654089034224_r8, 0.00064327893512561892_r8, & + 0.00065933164812219489_r8, 0.00067511939546899063_r8, & + 0.00068910135524470519_r8, 0.00070911682734682764_r8, & + 0.00072101186360104725_r8, 0.00072413311032585475_r8, & + 0.00072010019733735099_r8, 0.000710800815901408_r8, & + 0.00070006624830375771_r8, 0.00069071808247069292_r8, & + 0.00068202147122539756_r8, 0.00067758604610637055_r8, & + 0.00067628412954748535_r8, 0.00067819385816194786_r8, & + 0.00068074975116096668_r8, 0.00067929406986293834_r8, & + 0.00067595487277332322_r8, 0.0006753537254720923_r8, & + 0.00067544019360747307_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,50) / & + 9.3078592129193394e-05_r8, 0.00010082235331620636_r8, & + 0.00010202566928106328_r8, 0.00010552477532840783_r8, & + 0.00011392183902028161_r8, 0.00012828469373132824_r8, & + 0.00015593959700009596_r8, 0.0001675697360214019_r8, & + 0.00021485154524472649_r8, 0.00027442530734915569_r8, & + 0.00030313570928048271_r8, 0.00033341751705934626_r8, & + 0.00035610196960515192_r8, 0.00039226526889899881_r8, & + 0.00041958303976156298_r8, 0.00044990227653954735_r8, & + 0.0004991817231387324_r8, 0.00053666625478418365_r8, & + 0.00056690911038469616_r8, 0.00059453110519827406_r8, & + 0.00061763356812084532_r8, 0.00064145265434318818_r8, & + 0.0006615526541345802_r8, 0.00067671322395522634_r8, & + 0.00068835911459869624_r8, 0.00069973405192265609_r8, & + 0.00070962548113385061_r8, 0.00072618110292841135_r8, & + 0.00073192779258699143_r8, 0.00073303300317072574_r8, & + 0.00072859794134446342_r8, 0.00071995416145380603_r8, & + 0.00071076450692488934_r8, 0.0007038843685718189_r8, & + 0.00069689252197137027_r8, 0.00069334860003828619_r8, & + 0.0006912180049198582_r8, 0.00069108711041880513_r8, & + 0.00069258862560308469_r8, 0.00069002089229930287_r8, & + 0.00069019032546687039_r8, 0.00067728046015378318_r8, & + 0.00066316604953069235_r8, 0.00066080276036630285_r8, 9e90_r8 & + / +data saar_ref(:,36,50) / & + 7.1235162929630445e-05_r8, 7.5225041336940041e-05_r8, & + 8.1549321002927528e-05_r8, 8.9500628238627834e-05_r8, & + 0.00010039433687892233_r8, 0.00011963635873961152_r8, & + 0.00016573837579071185_r8, 0.00020068635453715741_r8, & + 0.00025635916255872592_r8, 0.0003139626683511517_r8, & + 0.00034134651292554581_r8, 0.00036895498860657497_r8, & + 0.00039087073729147286_r8, 0.0004252680148274075_r8, & + 0.00044620262127422936_r8, 0.00047774192095913632_r8, & + 0.00052924220268936722_r8, 0.00056206573517542579_r8, & + 0.00059012363885813329_r8, 0.00061660498901171777_r8, & + 0.00063804668915720284_r8, 0.00066012093877531176_r8, & + 0.00068053930100624312_r8, 0.00069548508249899854_r8, & + 0.00070655823016121185_r8, 0.00071831925059586365_r8, & + 0.00072783235663639_r8, 0.00074307150083861861_r8, & + 0.00074730564484692963_r8, 0.00074820070678326047_r8, & + 0.00074401349103081407_r8, 0.00073487156613989907_r8, & + 0.000726191046996346_r8, 0.00071970439662404583_r8, & + 0.00071210925444964521_r8, 0.00070861008275943432_r8, & + 0.00070581969581361994_r8, 0.00070529415053441683_r8, & + 0.00070352909145352568_r8, 0.00069658895086491843_r8, & + 0.00068142572981945079_r8, 0.00067377321683207835_r8, & + 0.00067346214240429322_r8, 0.00067241754760834975_r8, & + 0.00067170467943604201_r8 & + / +data saar_ref(:,37,50) / & + 2.836857869497565e-05_r8, 2.6855334567843586e-05_r8, & + 3.1750078774984094e-05_r8, 5.1221008092047495e-05_r8, & + 6.206758357676867e-05_r8, 8.0898143873688147e-05_r8, & + 0.00014868438736057347_r8, 0.00020160969909103699_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,50) / & + 1.7966113001124958e-05_r8, 2.0971381591581365e-05_r8, & + 3.0917266113152336e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,50) / & + 2.6371637256554273e-05_r8, 2.8020950591356084e-05_r8, & + 4.1163356874800577e-05_r8, 5.092153712679318e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,50) / & + 0.00010603495057934555_r8, 9.7157688368322621e-05_r8, & + 9.8431248302794592e-05_r8, 0.00015468930689586279_r8, & + 0.00017435506577228826_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,50) / & + 0.00012185068482171127_r8, 0.00011294221715563777_r8, & + 0.00011186201234508864_r8, 0.00013981933718034632_r8, & + 0.00016598116970517086_r8, 0.00019024352453306438_r8, & + 0.00023938490811750742_r8, 0.00030069836395551396_r8, & + 0.00038346189776078729_r8, 0.0003138453367818769_r8, & + 0.00024342379473142568_r8, 0.00014270186117643758_r8, & + 0.00011119706958952648_r8, 0.00010163828121019934_r8, & + 0.00011384417002551524_r8, 0.00010606958250893012_r8, & + 0.00010234941973605705_r8, 9.1467826196040981e-05_r8, & + 8.7370208041044907e-05_r8, 8.813728331816892e-05_r8, & + 8.6347726382183547e-05_r8, 8.5682195708822599e-05_r8, & + 8.5567411074983856e-05_r8, 8.8610734380313878e-05_r8, & + 9.1665353197292415e-05_r8, 9.7370402331034886e-05_r8, & + 9.9528444609350272e-05_r8, 0.00010948380510253157_r8, & + 0.0001141859087448016_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,50) / & + 0.00012098254304466386_r8, 0.00011531989029652685_r8, & + 0.00011566343252889548_r8, 0.00011837599937804992_r8, & + 0.00012833391345936864_r8, 0.00014294413224283899_r8, & + 0.00018061402958386257_r8, 0.00022510492287773572_r8, & + 0.00037362519400054457_r8, 0.00033086776402434367_r8, & + 0.00026873826445665251_r8, 0.00014525349763454994_r8, & + 9.3050751981848317e-05_r8, 8.7911148458208338e-05_r8, & + 0.00010102211678895176_r8, 9.5654523698886776e-05_r8, & + 9.2733438466346816e-05_r8, 8.5626536580488168e-05_r8, & + 8.1262599656532202e-05_r8, 8.1995785453511548e-05_r8, & + 8.0695435441138563e-05_r8, 8.0095601651525636e-05_r8, & + 7.9730020670351821e-05_r8, 8.1073217437518797e-05_r8, & + 8.4877334803905676e-05_r8, 9.0060322406307111e-05_r8, & + 9.3233854180490181e-05_r8, 0.00011330685189466708_r8, & + 0.00011319071699029944_r8, 0.00010983009635162478_r8, & + 0.00010726604130409144_r8, 0.00010656213883570366_r8, & + 0.00010481469718956235_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,50) / & + 0.0001053217604869001_r8, 0.0001095297560299712_r8, & + 0.00010425509044897285_r8, 0.00012930619264587989_r8, & + 0.00013547788619846954_r8, 0.00013738755174697273_r8, & + 0.00015392075336255356_r8, 0.00017237387655453539_r8, & + 0.00026533237898327305_r8, 0.00026528253312457236_r8, & + 0.00020301913565581254_r8, 0.00012056027917441152_r8, & + 7.2821972259813796e-05_r8, 7.2934703668139697e-05_r8, & + 8.00228789247584e-05_r8, 7.879112468449561e-05_r8, & + 7.7102732718187253e-05_r8, 7.533048637588126e-05_r8, & + 7.4434614331675116e-05_r8, 7.6289389906556411e-05_r8, & + 7.7295673440021939e-05_r8, 7.8602337060838052e-05_r8, & + 7.9869823531187055e-05_r8, 8.2497748640943027e-05_r8, & + 8.7766496205151078e-05_r8, 9.2338048930920956e-05_r8, & + 9.6935299422604894e-05_r8, 0.00011278483482225231_r8, & + 0.00011645353189206256_r8, 0.00011311052483654065_r8, & + 0.00011059757055992033_r8, 0.00011057484049314331_r8, & + 0.00010799291773071842_r8, 0.00010969300379221801_r8, & + 0.00011596199311755347_r8, 0.00011600518851560741_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,50) / & + 8.5370117507321125e-05_r8, 0.00010274733819079012_r8, & + 8.8838708824377644e-05_r8, 0.00011913200726056556_r8, & + 0.00011605252939259659_r8, 0.00012136047985688047_r8, & + 0.00015405266030767069_r8, 0.00016883717789236582_r8, & + 0.00016382724091898896_r8, 0.00011979433363885206_r8, & + 8.8540027206763849e-05_r8, 8.1036224735807168e-05_r8, & + 7.0283791016170579e-05_r8, 7.4837321880685925e-05_r8, & + 7.5680598887714194e-05_r8, 7.5318277962349806e-05_r8, & + 7.4035455144433446e-05_r8, 7.3698617278008261e-05_r8, & + 7.4825964988503495e-05_r8, 7.8109174741778102e-05_r8, & + 8.0279122569069377e-05_r8, 8.2807616215299092e-05_r8, & + 8.5528541728930362e-05_r8, 9.0142221923943908e-05_r8, & + 9.5288488327947767e-05_r8, 9.9618757745081112e-05_r8, & + 0.00010436754375554848_r8, 0.00011246532737602133_r8, & + 0.00012325227540516283_r8, 0.00012557564539491972_r8, & + 0.00012255758202055339_r8, 0.00012136835391546046_r8, & + 0.00011305229067168323_r8, 0.00011377472397460486_r8, & + 0.00011735776163061557_r8, 0.00011830614565796579_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,50) / & + 7.888158871611082e-05_r8, 0.00010688214382558562_r8, & + 9.3422910686961823e-05_r8, 0.00010334837283374771_r8, & + 0.00011505290582391063_r8, 0.00012885521886827158_r8, & + 0.00014530022502322028_r8, 0.00010712163153488996_r8, & + 7.8305429285541417e-05_r8, 7.014747015152137e-05_r8, & + 6.87312140056193e-05_r8, 7.0066628541000825e-05_r8, & + 6.87258323482694e-05_r8, 7.1187356872079422e-05_r8, & + 7.1735855548856644e-05_r8, 7.3005541072378846e-05_r8, & + 7.3112324750520137e-05_r8, 7.3579922934314905e-05_r8, & + 7.5651098402034796e-05_r8, 7.9159332767606092e-05_r8, & + 8.1989951456775173e-05_r8, 8.5525327628119464e-05_r8, & + 8.9326783763158898e-05_r8, 9.3859444344935857e-05_r8, & + 9.9411604662418823e-05_r8, 0.00010393671657201469_r8, & + 0.00010987124019627954_r8, 0.00011921301122003345_r8, & + 0.00012318992840207527_r8, 0.00012211161792092192_r8, & + 0.00012042539585547889_r8, 0.00012068553150939261_r8, & + 0.00011909622580442667_r8, 0.00011929178664449948_r8, & + 0.00012062818917889497_r8, 0.00012129836164474467_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,51) / & + 9.4549273133225e-05_r8, 9.9383034245557664e-05_r8, & + 0.0001086216465674487_r8, 0.00012049568908727801_r8, & + 0.00012188155635769821_r8, 0.00012604493592868187_r8, & + 0.00014458843904592461_r8, 0.00015179734073981737_r8, & + 0.00015199381888411769_r8, 0.00015434116830295567_r8, & + 0.00015633686394084297_r8, 0.00016244379140992454_r8, & + 0.0001657876834234906_r8, 0.00018358183609084154_r8, & + 0.00018707328462493883_r8, 0.00019041561097720661_r8, & + 0.00020243394763686375_r8, 0.00022115299467661995_r8, & + 0.00022128658242665664_r8, 0.00023131396489301911_r8, & + 0.00023714731101116897_r8, 0.0002430188250313088_r8, & + 0.0002467811726649288_r8, 0.00025127763418268114_r8, & + 0.00025522832228232119_r8, 0.00025865048190794126_r8, & + 0.00026219132980694878_r8, 0.00026984932102952166_r8, & + 0.00027374594996391899_r8, 0.00027633283062239938_r8, & + 0.00028271232648772272_r8, 0.00028653518406100567_r8, & + 0.00029109943829917534_r8, 0.00029345107946462294_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,2,51) / & + 9.4549273133225e-05_r8, 9.9383034245557664e-05_r8, & + 0.0001086216465674487_r8, 0.00012049568908727801_r8, & + 0.00012188155635769821_r8, 0.00012604493592868187_r8, & + 0.00014458843904592461_r8, 0.00015179734073981737_r8, & + 0.00015199381888411769_r8, 0.00015434116830295567_r8, & + 0.00015633686394084297_r8, 0.00016244379140992454_r8, & + 0.0001657876834234906_r8, 0.00018358183609084154_r8, & + 0.00018707328462493883_r8, 0.00019041561097720661_r8, & + 0.00020243394763686375_r8, 0.00022115299467661995_r8, & + 0.00022128658242665664_r8, 0.00023131396489301911_r8, & + 0.00023714731101116897_r8, 0.0002430188250313088_r8, & + 0.0002467811726649288_r8, 0.00025127763418268114_r8, & + 0.00025522832228232119_r8, 0.00025865048190794126_r8, & + 0.00026219132980694878_r8, 0.00026984932102952166_r8, & + 0.00027374594996391899_r8, 0.00027633283062239938_r8, & + 0.00028271232648772272_r8, 0.00028653518406100567_r8, & + 0.00029109943829917534_r8, 0.00029345107946462294_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,3,51) / & + 9.4549273133225e-05_r8, 9.9383034245557664e-05_r8, & + 0.0001086216465674487_r8, 0.00012049568908727801_r8, & + 0.00012188155635769821_r8, 0.00012604493592868187_r8, & + 0.00014458843904592461_r8, 0.00015179734073981737_r8, & + 0.00015199381888411769_r8, 0.00015434116830295567_r8, & + 0.00015633686394084297_r8, 0.00016244379140992454_r8, & + 0.0001657876834234906_r8, 0.00018358183609084154_r8, & + 0.00018707328462493883_r8, 0.00019041561097720661_r8, & + 0.00020243394763686375_r8, 0.00022115299467661995_r8, & + 0.00022128658242665664_r8, 0.00023131396489301911_r8, & + 0.00023714731101116897_r8, 0.0002430188250313088_r8, & + 0.0002467811726649288_r8, 0.00025127763418268114_r8, & + 0.00025522832228232119_r8, 0.00025865048190794126_r8, & + 0.00026219132980694878_r8, 0.00026984932102952166_r8, & + 0.00027374594996391899_r8, 0.00027633283062239938_r8, & + 0.00028271232648772272_r8, 0.00028653518406100567_r8, & + 0.00029109943829917534_r8, 0.00029345107946462294_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,4,51) / & + 0.00010004969628725221_r8, 0.00010327299294415983_r8, & + 0.00010796316933253631_r8, 0.00011558023165423127_r8, & + 0.00011777445223653633_r8, 0.00012103426431798993_r8, & + 0.00013825635555116196_r8, 0.00014481484331522782_r8, & + 0.00014620664109743931_r8, 0.0001502430888989804_r8, & + 0.00015351017859736364_r8, 0.00016306161524081887_r8, & + 0.0001739384994577361_r8, 0.00018947865018106283_r8, & + 0.00019433230332901877_r8, 0.00019785519673454449_r8, & + 0.0002064621753205626_r8, 0.00021744694289779971_r8, & + 0.00022390197962532878_r8, 0.00023336872109534914_r8, & + 0.00023866451580584327_r8, 0.00024299702025672274_r8, & + 0.00024687512425551432_r8, 0.00025127711387714767_r8, & + 0.00025543599504639834_r8, 0.00025903376218125202_r8, & + 0.00026269400392228091_r8, 0.00027023929951373318_r8, & + 0.00027454253052618252_r8, 0.00027747125330916227_r8, & + 0.00028251695155236296_r8, 0.00028662121233491352_r8, & + 0.00029005052631185047_r8, 0.00028959159187557976_r8, & + 0.00028302660277076106_r8, 0.00025809898200194098_r8, & + 0.00024903178605691155_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,51) / & + 0.00011115965060588762_r8, 0.00011242098112575865_r8, & + 0.00011244534085703503_r8, 0.00011681792356559503_r8, & + 0.00012090002776987102_r8, 0.00012490596151803666_r8, & + 0.00013905999504557697_r8, 0.00014544552765986682_r8, & + 0.00015673303385712613_r8, 0.0001676060735460926_r8, & + 0.00017652021146591124_r8, 0.00018581649772637636_r8, & + 0.00019903283864963368_r8, 0.00021022418069454574_r8, & + 0.00021772981991670013_r8, 0.0002236577772113965_r8, & + 0.00023085706028585343_r8, 0.00023470198121499934_r8, & + 0.00023778620287569221_r8, 0.00024197603680637205_r8, & + 0.00024573934117982379_r8, 0.00024970363297797141_r8, & + 0.00025357465773102943_r8, 0.00025727806175098052_r8, & + 0.0002608012956033066_r8, 0.00026456001470309524_r8, & + 0.0002677089904146011_r8, 0.000273385265334146_r8, & + 0.00027681411493469475_r8, 0.00027975656527581735_r8, & + 0.00028303627958735871_r8, 0.00028460696930024913_r8, & + 0.00027530900803964984_r8, 0.00026507328135753704_r8, & + 0.00025677551686864477_r8, 0.00024715063143127404_r8, & + 0.00024068758746781889_r8, 0.00023638131468230216_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,51) / & + 0.00011392315432634615_r8, 0.00011383963021084373_r8, & + 0.00011228320843759258_r8, 0.00010699890509117971_r8, & + 0.00011074618980407277_r8, 0.00011352040291709877_r8, & + 0.00014033894425438133_r8, 0.00014943043810812843_r8, & + 0.00016234734235131981_r8, 0.00017314386400351005_r8, & + 0.00018183685164926202_r8, 0.00019029728437139655_r8, & + 0.00020142054122408693_r8, 0.00020785370892183042_r8, & + 0.00021307064354119466_r8, 0.00021670353991340801_r8, & + 0.00022210252412779033_r8, 0.0002270500105080074_r8, & + 0.00023186564803399012_r8, 0.00023613546393643595_r8, & + 0.00024032392718833584_r8, 0.00024717251485867938_r8, & + 0.00025190227835842678_r8, 0.0002560653224061353_r8, & + 0.00025969214667256776_r8, 0.00026337717365569174_r8, & + 0.00026654755989988119_r8, 0.00027277553734714297_r8, & + 0.00027718544323183746_r8, 0.0002811073042593471_r8, & + 0.00028376401625992888_r8, 0.00028349459783732226_r8, & + 0.00027493408163444872_r8, 0.00026776037165165539_r8, & + 0.00026193107514068965_r8, 0.00026024232721368995_r8, & + 0.00025437965972115628_r8, 0.00025691358260320667_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,51) / & + 8.8999636919180624e-05_r8, 8.8700833796781796e-05_r8, & + 8.8947539652817388e-05_r8, 6.9959886767221419e-05_r8, & + 7.0486163304877381e-05_r8, 7.0988809292606514e-05_r8, & + 8.926539532371744e-05_r8, 0.00010861810500059071_r8, & + 0.00012158040344970503_r8, 0.00012979178905026263_r8, & + 0.0001353144271052542_r8, 0.00014652193199911784_r8, & + 0.00016043941195399713_r8, 0.00016605668706145968_r8, & + 0.00017099521090340462_r8, 0.00017438668064012573_r8, & + 0.00018090556973949129_r8, 0.00018675619322684696_r8, & + 0.00019183061544361825_r8, 0.00019613146861516815_r8, & + 0.00019983253462464457_r8, 0.00020687549912346028_r8, & + 0.00021234372006354558_r8, 0.00021887815439449501_r8, & + 0.00022531707313882429_r8, 0.00023021331171706224_r8, & + 0.00023525188798858041_r8, 0.0002475966181414536_r8, & + 0.0002583454167073231_r8, 0.00026670933686723811_r8, & + 0.00027269901065304393_r8, 0.00027612360641511943_r8, & + 0.0002776690746711328_r8, 0.00027694267721296818_r8, & + 0.00027784109042974363_r8, 0.00027633774819625818_r8, & + 0.00027396488154533507_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,51) / & + 4.4974853293688583e-05_r8, 4.5788736423496215e-05_r8, & + 4.6262176744343186e-05_r8, 2.2998701667272027e-05_r8, & + 2.1240079694186587e-05_r8, 2.0749977043404838e-05_r8, & + 2.5376527555877844e-05_r8, 3.6648437775938125e-05_r8, & + 4.7047758119486329e-05_r8, 5.321988774872652e-05_r8, & + 5.721054607602077e-05_r8, 7.2893141807449662e-05_r8, & + 9.4232220229773046e-05_r8, 0.00010303715712972734_r8, & + 0.00011039517834368178_r8, 0.00011679250942962408_r8, & + 0.00012881068296258528_r8, 0.00013836114531972615_r8, & + 0.00014727082172453113_r8, 0.00015508702584861856_r8, & + 0.00016262909824499847_r8, 0.00016918684384079714_r8, & + 0.00017479785485831649_r8, 0.00018043080823938162_r8, & + 0.00018670188757463299_r8, 0.0001907162553485775_r8, & + 0.0001948921566589931_r8, 0.00020648065264517316_r8, & + 0.00021944081724758487_r8, 0.0002322410701610589_r8, & + 0.00024343585393304032_r8, 0.00025341256004205435_r8, & + 0.00026362261347308015_r8, 0.00026890752162617398_r8, & + 0.00027207243511376662_r8, 0.00027115958416192368_r8, & + 0.00026943632792919049_r8, 0.00026931767169191084_r8, & + 0.00027037783514039995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,51) / & + 1.3453394323418144e-05_r8, 1.4221405675719667e-05_r8, & + 1.3532139773575974e-05_r8, 6.4732215253949259e-06_r8, & + 6.2986027460545927e-06_r8, 6.6382284090787557e-06_r8, & + 9.2475791620290954e-06_r8, 1.3053609743144281e-05_r8, & + 1.6900229881310982e-05_r8, 1.9254309927296232e-05_r8, & + 2.1405223189479664e-05_r8, 2.9615564918315367e-05_r8, & + 4.1948881155792224e-05_r8, 4.803997325717138e-05_r8, & + 5.4148197985572866e-05_r8, 5.996614870062957e-05_r8, & + 7.242339453957753e-05_r8, 8.3761610027646968e-05_r8, & + 9.6238434381132161e-05_r8, 0.00010880131969645954_r8, & + 0.00012192713165104201_r8, 0.00013199809189640182_r8, & + 0.00014364827904799117_r8, 0.00015497623712422355_r8, & + 0.00016482639211964591_r8, 0.00017266099365883223_r8, & + 0.00017908720017613056_r8, 0.00018950452632027266_r8, & + 0.00019770387028310237_r8, 0.0002066132384992527_r8, & + 0.0002173320586897611_r8, 0.0002287853408903435_r8, & + 0.00024015732428757101_r8, 0.00024899815171435186_r8, & + 0.0002562837071953768_r8, 0.00026039566865331313_r8, & + 0.00026354793819703432_r8, 0.00026610831653425137_r8, & + 0.00026831601820480067_r8, 0.00026946163127076177_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,51) / & + 5.4955046431104194e-06_r8, 5.5774226513841661e-06_r8, & + 5.0190809824902463e-06_r8, 4.6507869196961494e-06_r8, & + 4.6769963909840313e-06_r8, 4.7777586827412488e-06_r8, & + 5.4056877691735831e-06_r8, 6.0964661471565733e-06_r8, & + 7.2353243407570871e-06_r8, 8.1623913410163391e-06_r8, & + 8.831270626651777e-06_r8, 1.2289800615363624e-05_r8, & + 1.7068249865191508e-05_r8, 1.9298004835521886e-05_r8, & + 2.1880539894900024e-05_r8, 2.4259249067327092e-05_r8, & + 3.1391853024200427e-05_r8, 3.9728578496981516e-05_r8, & + 5.020111385704186e-05_r8, 6.1863919076016167e-05_r8, & + 7.6027197832573818e-05_r8, 8.9097592232367196e-05_r8, & + 0.00010444343975136242_r8, 0.00012057238936758309_r8, & + 0.00013530909364659389_r8, 0.00014894637682786869_r8, & + 0.00016136493152213866_r8, 0.00018533918459158244_r8, & + 0.00019976682330354089_r8, 0.00020673857563756638_r8, & + 0.00021173624797640945_r8, 0.00021712913459566893_r8, & + 0.00022472620037041979_r8, 0.00023353508681109113_r8, & + 0.00024295176240180256_r8, 0.00025176568050085427_r8, & + 0.00025891998256480716_r8, 0.00026312796159337452_r8, & + 0.00026604944830654437_r8, 0.00026702130742641922_r8, & + 0.000268940628889039_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,51) / & + 7.4706091206994351e-06_r8, 7.2870883979547343e-06_r8, & + 6.4535511360767125e-06_r8, 5.981583459871867e-06_r8, & + 5.9586136042664128e-06_r8, 6.0116407906784244e-06_r8, & + 5.8249364077915069e-06_r8, 5.0495235777796303e-06_r8, & + 4.3909006395149783e-06_r8, 5.0503274797201745e-06_r8, & + 5.343271366639015e-06_r8, 8.5570538720535682e-06_r8, & + 1.2338061853154915e-05_r8, 1.3397408728489077e-05_r8, & + 1.4538273173912004e-05_r8, 1.5744488717830155e-05_r8, & + 1.8708554465985665e-05_r8, 2.301599303413647e-05_r8, & + 2.9722147465121248e-05_r8, 3.8699090712326515e-05_r8, & + 5.1365908053327538e-05_r8, 6.5850111425067444e-05_r8, & + 8.1971782859922415e-05_r8, 9.9478344485276864e-05_r8, & + 0.00011687468217229122_r8, 0.00013411338767897542_r8, & + 0.00014994002294760594_r8, 0.00018277725760994359_r8, & + 0.00020723959938761676_r8, 0.00022105003110000143_r8, & + 0.00022954596872587084_r8, 0.00023197106830887183_r8, & + 0.00023333801800349895_r8, 0.00023421236865002224_r8, & + 0.00023908801417342885_r8, 0.00024698152808750749_r8, & + 0.00025490522208146399_r8, 0.00026052970751879693_r8, & + 0.00026358051904162996_r8, 0.00026527278596520789_r8, & + 0.00026790618206883082_r8, 0.00026729946019773873_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,51) / & + 6.9719029749608065e-06_r8, 6.7451556874404267e-06_r8, & + 6.8592559206938859e-06_r8, 6.7554478622708938e-06_r8, & + 6.810612374690341e-06_r8, 6.5842197000510307e-06_r8, & + 5.5639610247132742e-06_r8, 4.4137908286111311e-06_r8, & + 4.2753022793516439e-06_r8, 4.5574266821946784e-06_r8, & + 4.7392590225003274e-06_r8, 7.6378974752819049e-06_r8, & + 1.1399150743149539e-05_r8, 1.2574158351049894e-05_r8, & + 1.3596578041258976e-05_r8, 1.4686005200131715e-05_r8, & + 1.6882433194468417e-05_r8, 2.0005370414298602e-05_r8, & + 2.5297066917551766e-05_r8, 3.3501980831797783e-05_r8, & + 4.6155910447799794e-05_r8, 6.2088177368854405e-05_r8, & + 8.0040619841323125e-05_r8, 9.8827293468542444e-05_r8, & + 0.0001175927570386444_r8, 0.00013601927827438802_r8, & + 0.00015293371935894018_r8, 0.00018905263257744062_r8, & + 0.00021802206247263726_r8, 0.00023672273525325653_r8, & + 0.00024848435695443816_r8, 0.00025282375717814088_r8, & + 0.00025125937752698828_r8, 0.00024534657903277422_r8, & + 0.0002431851244076565_r8, 0.00024690276566608957_r8, & + 0.00025344580099485447_r8, 0.00025894495154521848_r8, & + 0.00026256160821294054_r8, 0.00026464485046193191_r8, & + 0.0002670271826514701_r8, 0.00026760517357105919_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,51) / & + 6.299877004743282e-06_r8, 6.07274342157258e-06_r8, & + 7.1937049060834048e-06_r8, 6.0827749970395889e-06_r8, & + 6.0382842846992888e-06_r8, 5.5571332391141984e-06_r8, & + 4.9230141740642077e-06_r8, 4.0644382362681899e-06_r8, & + 4.4686674792230013e-06_r8, 4.5287771094991409e-06_r8, & + 4.7977020468838694e-06_r8, 6.1177524168585842e-06_r8, & + 8.6320231069515393e-06_r8, 1.0496851110678194e-05_r8, & + 1.17285347846694e-05_r8, 1.3144603777867704e-05_r8, & + 1.5419934768361426e-05_r8, 1.8720359663296287e-05_r8, & + 2.4049426999031419e-05_r8, 3.2430537075870735e-05_r8, & + 4.5006137630294784e-05_r8, 6.1465585850220179e-05_r8, & + 8.0663162450219018e-05_r8, 0.00010075899042418363_r8, & + 0.00012092326421534841_r8, 0.00014054476568924824_r8, & + 0.00016016752344922956_r8, 0.00020140785319963889_r8, & + 0.00023182337183952505_r8, 0.00025153005040256279_r8, & + 0.00026404998956261076_r8, 0.00026912175581802664_r8, & + 0.00026781106749233471_r8, 0.00026087788573591757_r8, & + 0.00025305303419974242_r8, 0.00024976931988308996_r8, & + 0.00025218389742335943_r8, 0.00025620682014323423_r8, & + 0.00026115891672475649_r8, 0.00026464921572172021_r8, & + 0.00026676123966983982_r8, 0.00026760769737601176_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,51) / & + 5.5457800126859326e-06_r8, 5.4173857993396228e-06_r8, & + 6.9024057831983282e-06_r8, 5.7683856975815074e-06_r8, & + 5.7345469192647185e-06_r8, 5.1634791693774844e-06_r8, & + 4.2484142956359504e-06_r8, 4.1544253028075537e-06_r8, & + 4.2117946968025987e-06_r8, 4.3302429189706071e-06_r8, & + 4.2344990825100685e-06_r8, 4.3431606763478343e-06_r8, & + 5.8691869645854245e-06_r8, 7.9021356509586275e-06_r8, & + 9.2700120403067189e-06_r8, 1.0782876056254257e-05_r8, & + 1.3253808363717696e-05_r8, 1.6334797013725322e-05_r8, & + 2.1183079390423326e-05_r8, 2.9255284261293686e-05_r8, & + 4.1001104608755654e-05_r8, 5.7924824696309347e-05_r8, & + 7.7946536561090564e-05_r8, 9.9822796189270662e-05_r8, & + 0.00012225966608285938_r8, 0.00014384916773397773_r8, & + 0.00016595313100609967_r8, 0.0002124538461207072_r8, & + 0.00024338476108323512_r8, 0.00026298424443883822_r8, & + 0.00027571599995520528_r8, 0.00028151829614368317_r8, & + 0.00028177620313817156_r8, 0.00027540564902697696_r8, & + 0.00026350802256717314_r8, 0.000255231400395282_r8, & + 0.00025366891605819758_r8, 0.0002564056121292515_r8, & + 0.00026151579766151809_r8, 0.00026548480585938673_r8, & + 0.00026723339937303976_r8, 0.00026775981697047278_r8, & + 0.00026682011647390997_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,51) / & + 4.9124157450310874e-06_r8, 4.8498319313560084e-06_r8, & + 5.6023325758186902e-06_r8, 4.8630115118832544e-06_r8, & + 4.8202263219689923e-06_r8, 4.4088062108220797e-06_r8, & + 3.473463299799233e-06_r8, 3.5010647981790384e-06_r8, & + 3.6210619692873203e-06_r8, 3.9149912218354218e-06_r8, & + 4.1246656894011777e-06_r8, 4.1663596853825063e-06_r8, & + 4.8297825733210959e-06_r8, 6.1732401937689882e-06_r8, & + 7.7154574798586624e-06_r8, 9.3392659892678342e-06_r8, & + 1.2779367101834886e-05_r8, 1.6874025795200853e-05_r8, & + 2.2387313361368125e-05_r8, 3.0833083680813744e-05_r8, & + 4.3734627282782227e-05_r8, 6.2143050844649567e-05_r8, & + 8.3773922202781369e-05_r8, 0.00010739675342575635_r8, & + 0.00013170523559991265_r8, 0.0001553866973665537_r8, & + 0.00017829450731772715_r8, 0.00022328774067765283_r8, & + 0.00025022562618388043_r8, 0.00026707698273656822_r8, & + 0.0002776833789419383_r8, 0.00028289309946810643_r8, & + 0.00028330467124769649_r8, 0.00027725065583235727_r8, & + 0.00026568816677138981_r8, 0.00025714376187524739_r8, & + 0.00025480391869505987_r8, 0.00025681092362557425_r8, & + 0.00026112075905574046_r8, 0.00026455926306344504_r8, & + 0.00026622021785678828_r8, 0.00026755059694602351_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,51) / & + 4.2179036931494679e-06_r8, 4.187163666431042e-06_r8, & + 3.950019289517169e-06_r8, 3.2083209175765294e-06_r8, & + 3.1736088110895097e-06_r8, 3.1520824356176079e-06_r8, & + 2.9970578137994147e-06_r8, 3.0789177520818889e-06_r8, & + 2.9894167398905873e-06_r8, 3.085707676787721e-06_r8, & + 3.2184557312902339e-06_r8, 3.8087585130132048e-06_r8, & + 4.9533627289193986e-06_r8, 6.4643263386871645e-06_r8, & + 8.3441257595595773e-06_r8, 1.069804609399339e-05_r8, & + 1.7348013980111089e-05_r8, 2.423764347718021e-05_r8, & + 3.3215212586106257e-05_r8, 4.5182047234329704e-05_r8, & + 6.197688172501153e-05_r8, 8.6086898555662685e-05_r8, & + 0.00011131071046266753_r8, 0.00013720107951344763_r8, & + 0.00016169221270604615_r8, 0.00018304974385501175_r8, & + 0.0002048744057332394_r8, 0.00024073667271744058_r8, & + 0.00026426372759472827_r8, 0.00027880258564805699_r8, & + 0.00028873622899965983_r8, 0.00029405429656166393_r8, & + 0.00029506743889357571_r8, 0.00029105450045640837_r8, & + 0.00028238579950199202_r8, 0.00027376454070021243_r8, & + 0.00026978304270874014_r8, 0.00026905074816069172_r8, & + 0.00027117078234489931_r8, 0.00027419978299072172_r8, & + 0.00027666390530893623_r8, 0.00027877501530817296_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,51) / & + 3.434187828787196e-06_r8, 3.40724874391058e-06_r8, & + 3.0360990611188543e-06_r8, 2.7831809055395252e-06_r8, & + 2.7262062906721151e-06_r8, 2.8309437417391015e-06_r8, & + 2.802965609209244e-06_r8, 3.0983625152157223e-06_r8, & + 3.1382654303130374e-06_r8, 3.1564148247534557e-06_r8, & + 3.1432942247758939e-06_r8, 3.5085739165498599e-06_r8, & + 4.6492631949078793e-06_r8, 6.7995528648837486e-06_r8, & + 1.0382641301464279e-05_r8, 1.436498193479953e-05_r8, & + 2.5718729768766457e-05_r8, 3.7519016827512912e-05_r8, & + 5.4182556502708218e-05_r8, 7.3905846187957071e-05_r8, & + 9.7353317048250895e-05_r8, 0.00012656297366056934_r8, & + 0.00015251702052705718_r8, 0.00017602591859197135_r8, & + 0.00019854470106632868_r8, 0.00021502025511768635_r8, & + 0.00023132287126090569_r8, 0.00025660729376341117_r8, & + 0.00027582199132231583_r8, 0.00028857313948288269_r8, & + 0.00029805835241451562_r8, 0.000303144080450544_r8, & + 0.00030455740091916728_r8, 0.00030272860747075766_r8, & + 0.00029760666896708275_r8, 0.00029122982962689821_r8, & + 0.00028638127673754536_r8, 0.0002831896290106618_r8, & + 0.00028236779002971981_r8, 0.00028364541386311019_r8, & + 0.00028874386418506151_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,51) / & + 3.3386564763945157e-06_r8, 3.2460476669883848e-06_r8, & + 3.1680125004808132e-06_r8, 3.3250875384045265e-06_r8, & + 3.3395527429033243e-06_r8, 3.4287450547798807e-06_r8, & + 3.4458879808714406e-06_r8, 3.2612922949606487e-06_r8, & + 3.2130931758459035e-06_r8, 3.3290842569816537e-06_r8, & + 3.486588550347272e-06_r8, 3.8400922346669464e-06_r8, & + 4.6404393118947832e-06_r8, 7.4694830430279053e-06_r8, & + 1.2875153732620155e-05_r8, 2.0515769476472871e-05_r8, & + 3.6519924489293212e-05_r8, 5.5802741130758183e-05_r8, & + 7.9754632733960911e-05_r8, 0.00010832465104604936_r8, & + 0.00013677552022656948_r8, 0.00016407692955644739_r8, & + 0.00018631720439002937_r8, 0.00020473509617285272_r8, & + 0.00022188042028837106_r8, 0.00023454806770908246_r8, & + 0.00024760011294627777_r8, 0.0002695267710461376_r8, & + 0.00028657890281233824_r8, 0.00029882385116257188_r8, & + 0.00030794267506244633_r8, 0.00031313153907370952_r8, & + 0.00031441455869844233_r8, 0.00031319231278809664_r8, & + 0.00031018045683559758_r8, 0.00030674525555976078_r8, & + 0.00030345751046922286_r8, 0.00029994160746641595_r8, & + 0.00029770883853794035_r8, 0.00029670376566077355_r8, & + 0.00029539150033523661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,51) / & + 3.8228779695225781e-06_r8, 3.6787135967596931e-06_r8, & + 3.6255379766593609e-06_r8, 3.5993332590225714e-06_r8, & + 3.7277517046562717e-06_r8, 3.660638695290426e-06_r8, & + 4.0017763691393527e-06_r8, 3.2842354253823167e-06_r8, & + 3.4261356767293766e-06_r8, 3.6544105813739801e-06_r8, & + 3.9100409075010243e-06_r8, 4.4440874677841093e-06_r8, & + 8.9048295795683342e-06_r8, 1.6448195399708027e-05_r8, & + 2.8894645348131469e-05_r8, 4.3096162900674472e-05_r8, & + 6.6815901013097699e-05_r8, 9.0332298969927972e-05_r8, & + 0.00011443413903024566_r8, 0.00014041778560070043_r8, & + 0.00016453596068521004_r8, 0.0001866939993378689_r8, & + 0.00020623278128601685_r8, 0.00022430711056581709_r8, & + 0.00023931585644838298_r8, 0.00025143458649121587_r8, & + 0.00026351294210129881_r8, 0.00028790319330324434_r8, & + 0.00030667361000567183_r8, 0.00032092427993001395_r8, & + 0.00033195189331884238_r8, 0.00033809366251630893_r8, & + 0.00033909086638158194_r8, 0.00033590219376588697_r8, & + 0.00033118864233707687_r8, 0.00032720097490251439_r8, & + 0.00032468957967106643_r8, 0.00031983499619744394_r8, & + 0.00031586119187248412_r8, 0.00031358457804889624_r8, & + 0.00031208186013407412_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,51) / & + 4.2448477084156139e-06_r8, 4.1016167689413319e-06_r8, & + 4.0839690740712791e-06_r8, 3.9229890920955726e-06_r8, & + 4.1347018244183659e-06_r8, 4.1499175095668596e-06_r8, & + 4.7576411471250859e-06_r8, 4.1104558839447729e-06_r8, & + 4.0380685385680766e-06_r8, 4.4527112801295655e-06_r8, & + 5.1946515177573743e-06_r8, 7.7418080935465605e-06_r8, & + 1.8496985904060645e-05_r8, 3.3390188960424257e-05_r8, & + 5.0541334997783809e-05_r8, 6.5794932433494674e-05_r8, & + 9.5531427515204665e-05_r8, 0.00011587832479863741_r8, & + 0.0001395260141768539_r8, 0.00016136175967334092_r8, & + 0.00018289350843824715_r8, 0.00020204034644433777_r8, & + 0.00022076562716118997_r8, 0.00023952960684190918_r8, & + 0.00025557303956126528_r8, 0.00026991554571086475_r8, & + 0.00028207438473348454_r8, 0.0003086196593964509_r8, & + 0.00032927363087268481_r8, 0.00034476449716627869_r8, & + 0.00035673491026957797_r8, 0.00036347703359042549_r8, & + 0.0003650071782094835_r8, 0.00036256093613657592_r8, & + 0.00035797384482458739_r8, 0.00035389656777398421_r8, & + 0.00035041242757121203_r8, 0.00034275321824367785_r8, & + 0.00033715109647460613_r8, 0.00033224430200266147_r8, & + 0.00033063994695019526_r8, 0.00033399879527383367_r8, & + 0.00033050072794167803_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,51) / & + 4.6948917438897005e-06_r8, 4.6185737397072469e-06_r8, & + 4.6452042529863434e-06_r8, 4.6820174490994657e-06_r8, & + 4.8854581677572081e-06_r8, 4.8168053820394934e-06_r8, & + 5.9285864504621319e-06_r8, 5.8879602272125884e-06_r8, & + 5.9019265530120332e-06_r8, 7.7691426549837269e-06_r8, & + 1.2564161252405016e-05_r8, 2.2472213713606508e-05_r8, & + 4.2351059247489491e-05_r8, 5.7335041220314528e-05_r8, & + 6.7857289850525035e-05_r8, 8.1146328286187445e-05_r8, & + 0.00011042311286648741_r8, 0.00013437254620647638_r8, & + 0.00016117901258734269_r8, 0.00018407092801877239_r8, & + 0.00020541692390898145_r8, 0.0002228077012786892_r8, & + 0.00023763624652028894_r8, 0.00025709350889428545_r8, & + 0.00027557175616686221_r8, 0.00029285889149530239_r8, & + 0.00030697802199701105_r8, 0.0003347808208997559_r8, & + 0.00035618815599363463_r8, 0.00037117348720825554_r8, & + 0.00038160369478834838_r8, 0.00038718921926988558_r8, & + 0.00038815867599457899_r8, 0.00038586231439264809_r8, & + 0.00038261192596934367_r8, 0.00037880652094487218_r8, & + 0.00037344108260068098_r8, 0.00036458252026888859_r8, & + 0.00035795019638860433_r8, 0.00035383932678644155_r8, & + 0.00034979306054492253_r8, 0.0003471485835449105_r8, & + 0.00034362510987972122_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,51) / & + 5.5753565960861904e-06_r8, 5.5433531079739316e-06_r8, & + 5.6045824948814453e-06_r8, 6.4197816166543399e-06_r8, & + 6.6088675475443208e-06_r8, 6.733631793650112e-06_r8, & + 8.1632021863342317e-06_r8, 8.8876845252919334e-06_r8, & + 1.1180087732139626e-05_r8, 1.7557648884187676e-05_r8, & + 2.9873281219231346e-05_r8, 4.2641637938231795e-05_r8, & + 6.1958400448801836e-05_r8, 7.0903880792379037e-05_r8, & + 7.9983458931689604e-05_r8, 9.2485782675796372e-05_r8, & + 0.00012080791252793268_r8, 0.00014944551797854881_r8, & + 0.00017900062415656323_r8, 0.00020479811138053019_r8, & + 0.0002261158623419191_r8, 0.00024376962075459588_r8, & + 0.0002611430486905855_r8, 0.00028142700431943023_r8, & + 0.0003033069057971294_r8, 0.00032273570162584406_r8, & + 0.00033796846861507514_r8, 0.00036760688564708164_r8, & + 0.00038912984218544133_r8, 0.00040443836069906233_r8, & + 0.0004135131465892214_r8, 0.00041905609714244763_r8, & + 0.00041938300665550498_r8, 0.00041669151394017385_r8, & + 0.00041312058934222531_r8, 0.00040811084027969939_r8, & + 0.00040070923105405313_r8, 0.00038725710061416637_r8, & + 0.00037681033980662332_r8, 0.00037024324305763925_r8, & + 0.00036612397787583423_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,51) / & + 5.9010352850042037e-06_r8, 5.8274087379163695e-06_r8, & + 5.8346412499372242e-06_r8, 7.6102095184656153e-06_r8, & + 7.8572246150629294e-06_r8, 8.0568699591318939e-06_r8, & + 1.0176695899549134e-05_r8, 1.2336151234244861e-05_r8, & + 1.6990378517562951e-05_r8, 2.5669232801060975e-05_r8, & + 4.4031020057287312e-05_r8, 5.7868912534555124e-05_r8, & + 7.697704180030892e-05_r8, 8.55115516623278e-05_r8, & + 9.4363165672484782e-05_r8, 0.00010652634181742643_r8, & + 0.00013331231329372504_r8, 0.00016531968277306032_r8, & + 0.00019513800205472306_r8, 0.0002212722010206773_r8, & + 0.00024445216751819656_r8, 0.00026496047441217877_r8, & + 0.00029167572638796326_r8, 0.00031328395508565323_r8, & + 0.00033560875135611165_r8, 0.00035499474109505346_r8, & + 0.00037170870529720128_r8, 0.00040298623831485497_r8, & + 0.00042615790721846705_r8, 0.00044147019423894059_r8, & + 0.00044931329608360849_r8, 0.00045289507788981014_r8, & + 0.0004527331637759986_r8, 0.00044898020981306105_r8, & + 0.00044387848893224195_r8, 0.0004358652460670932_r8, & + 0.00042571278381145191_r8, 0.00040966881518634721_r8, & + 0.00039502609881366237_r8, 0.00038611424695366993_r8, & + 0.00037956706871901505_r8, 0.00037845422921140183_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,51) / & + 5.4191717348784527e-06_r8, 5.4295139002601292e-06_r8, & + 5.3775901295148775e-06_r8, 7.8673488209312353e-06_r8, & + 7.859285425939093e-06_r8, 7.6215944349524809e-06_r8, & + 1.0858757701096483e-05_r8, 1.5305482301630745e-05_r8, & + 2.3175720944361028e-05_r8, 4.1171024537202622e-05_r8, & + 6.4285377606142682e-05_r8, 8.0693987881509826e-05_r8, & + 9.7348630797237798e-05_r8, 0.00010525233494565617_r8, & + 0.00011316757933230302_r8, 0.00012380258211098778_r8, & + 0.00014999158142628443_r8, 0.00018381744938338328_r8, & + 0.00021415244053780164_r8, 0.00024300059051632938_r8, & + 0.00026678312195373269_r8, 0.00029071953066906614_r8, & + 0.00031765325640097992_r8, 0.00034062937299757457_r8, & + 0.00036153488369639704_r8, 0.00038024031180014555_r8, & + 0.00039840591699719292_r8, 0.00042857811500544651_r8, & + 0.0004551830140593121_r8, 0.0004690001402694431_r8, & + 0.00047689408272718855_r8, 0.00048022212556145515_r8, & + 0.00048100663391353627_r8, 0.00047707285214204566_r8, & + 0.00047033563294133032_r8, 0.00045935163116246435_r8, & + 0.00044701954833270888_r8, 0.00043520067461490382_r8, & + 0.00042213024542595565_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,51) / & + 5.2364965481523121e-06_r8, 5.2846949388652141e-06_r8, & + 5.4524903672407812e-06_r8, 7.3148500508560317e-06_r8, & + 7.0477041329215071e-06_r8, 6.1290849181849022e-06_r8, & + 1.1206685371359921e-05_r8, 1.5315153049371396e-05_r8, & + 3.0387693743168952e-05_r8, 5.5207992699271575e-05_r8, & + 7.2828199724985832e-05_r8, 8.7464982336504839e-05_r8, & + 0.00010411875530167377_r8, 0.00011415955036149926_r8, & + 0.00012455437724426949_r8, 0.00013638041881946074_r8, & + 0.00016722107721260288_r8, 0.00020091420112274114_r8, & + 0.00023150925556130565_r8, 0.00026150736859641296_r8, & + 0.00028770985024355669_r8, 0.00031257128284425576_r8, & + 0.00033750603423765997_r8, 0.00036180712490284025_r8, & + 0.00038269231495465184_r8, 0.00040177970553047866_r8, & + 0.00041981396384677496_r8, 0.00045130025807816845_r8, & + 0.00047771890569930659_r8, 0.00048992089764272678_r8, & + 0.00049854115321058769_r8, 0.00050197240435312688_r8, & + 0.00050347125592958321_r8, 0.00049957566001945081_r8, & + 0.00049274550443344017_r8, 0.00048061860063649333_r8, & + 0.00046653938905281018_r8, 0.00045358576829368757_r8, & + 0.00044514846883674598_r8, 0.00044048247671612894_r8, & + 0.00043822569365693266_r8, 0.00043635295002334416_r8, & + 0.00043471150029642848_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,51) / & + 5.8492086292823691e-06_r8, 5.8385464451472015e-06_r8, & + 6.1560980331054702e-06_r8, 6.2497773014930913e-06_r8, & + 6.1424678720982486e-06_r8, 5.927522283296747e-06_r8, & + 7.8274060796430271e-06_r8, 1.0195957172694816e-05_r8, & + 1.4889411234836985e-05_r8, 2.6730979627684521e-05_r8, & + 3.9698194124444023e-05_r8, 5.2292596194881014e-05_r8, & + 8.4138272384055943e-05_r8, 0.00010877919774191702_r8, & + 0.00013127146647022976_r8, 0.00015374055876719582_r8, & + 0.00019734915107499888_r8, 0.0002315748290292501_r8, & + 0.00025974684818643167_r8, 0.00028989744613134476_r8, & + 0.00031612616865428527_r8, 0.00033971139660634263_r8, & + 0.00036308102480972113_r8, 0.00038559623317340001_r8, & + 0.00040569223108484655_r8, 0.00042335029626259032_r8, & + 0.00044043212439401472_r8, 0.00047296743919148637_r8, & + 0.00049972185280203012_r8, 0.00051290699786198427_r8, & + 0.00052156473866999092_r8, 0.00052509123749462986_r8, & + 0.00052667886182658442_r8, 0.00052383203981390262_r8, & + 0.00051812638115599006_r8, 0.00050840913370758301_r8, & + 0.00049452786822206881_r8, 0.00048046392551064461_r8, & + 0.00046980556011778528_r8, 0.00046107442339342455_r8, & + 0.00045628297067943827_r8, 0.00045345965186832009_r8, & + 0.00045101422499354286_r8, 0.00044970295107912183_r8, 9e90_r8 & + / +data saar_ref(:,27,51) / & + 6.4024968271097438e-06_r8, 6.2195326177023881e-06_r8, & + 6.2842999668590729e-06_r8, 6.7383796959531783e-06_r8, & + 6.7581503194696847e-06_r8, 6.7037275492236579e-06_r8, & + 6.8255802312279242e-06_r8, 7.2497271558829901e-06_r8, & + 8.212936733940514e-06_r8, 1.012050232476058e-05_r8, & + 1.4317992779932965e-05_r8, 2.1155515328086112e-05_r8, & + 4.2985622014413022e-05_r8, 7.4336449874186231e-05_r8, & + 0.00010708682642535331_r8, 0.0001467020007372959_r8, & + 0.00021569564985528028_r8, 0.00026243605264588267_r8, & + 0.00029323690764491983_r8, 0.00032214121562784708_r8, & + 0.00034542842477601341_r8, 0.00036554339860713755_r8, & + 0.00039311689474117481_r8, 0.00041331529757511508_r8, & + 0.00043330087618792757_r8, 0.00044995513485461861_r8, & + 0.00046581690341111493_r8, 0.00049704752728641573_r8, & + 0.00052251464358678908_r8, 0.00053643374792529299_r8, & + 0.00054472270433178818_r8, 0.00054772882005646928_r8, & + 0.00054898481122990636_r8, 0.00054586213630666424_r8, & + 0.00054097063209911924_r8, 0.00053361149928252691_r8, & + 0.00052364905345908628_r8, 0.00051367742251676759_r8, & + 0.00050217240318908352_r8, 0.00048702377172117405_r8, & + 0.00047503351304652695_r8, 0.00046836905311139381_r8, & + 0.00046471389518739552_r8, 0.00046181690486028749_r8, 9e90_r8 & + / +data saar_ref(:,28,51) / & + 6.100155882732168e-06_r8, 5.7080794309293897e-06_r8, & + 5.5518758469811911e-06_r8, 6.8496002854852674e-06_r8, & + 6.6869931626026793e-06_r8, 6.513008818798745e-06_r8, & + 5.31442152626572e-06_r8, 6.3384664274149291e-06_r8, & + 7.2893309506271615e-06_r8, 8.6893401192942494e-06_r8, & + 1.1444688839960538e-05_r8, 1.6680147367907349e-05_r8, & + 3.190181927077138e-05_r8, 5.3489519047198894e-05_r8, & + 7.9170423473097723e-05_r8, 0.00011341906450997728_r8, & + 0.00019591771412453044_r8, 0.00026538697963424026_r8, & + 0.00031586029581185976_r8, 0.00035087728414244073_r8, & + 0.00037602356336120856_r8, 0.00039661191477811383_r8, & + 0.00041978588526704423_r8, 0.00043883695447996778_r8, & + 0.00045739237645483236_r8, 0.00047423266494605638_r8, & + 0.000488906594428053_r8, 0.00051886249603883504_r8, & + 0.0005440088973286116_r8, 0.00056031309407779221_r8, & + 0.00056855593217832671_r8, 0.00056995070598434862_r8, & + 0.00056872595593741577_r8, 0.00056398136133382958_r8, & + 0.00055855240897577081_r8, 0.00055253607259673218_r8, & + 0.0005455956918381682_r8, 0.00054072279290583939_r8, & + 0.00053373365044809013_r8, 0.00052508178271288815_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,51) / & + 5.8305117826946992e-06_r8, 5.6438826584163267e-06_r8, & + 5.7365917044467479e-06_r8, 5.812625006964189e-06_r8, & + 5.7730851582092735e-06_r8, 5.620345325267871e-06_r8, & + 5.7007057552553238e-06_r8, 7.3276204869177237e-06_r8, & + 8.9374880178580846e-06_r8, 1.1005575706072181e-05_r8, & + 1.3803213413946195e-05_r8, 1.908306229123957e-05_r8, & + 3.0378394499998305e-05_r8, 4.3622530446513011e-05_r8, & + 5.8905259291403865e-05_r8, 8.1986545364429652e-05_r8, & + 0.00015431110586081812_r8, 0.00024212836188209529_r8, & + 0.00031596317755434264_r8, 0.00037388927745006094_r8, & + 0.00040975368709121618_r8, 0.00043384463774017037_r8, & + 0.00045446233769862095_r8, 0.00047148528063602077_r8, & + 0.00048838845535718271_r8, 0.00050477495587898126_r8, & + 0.00051905457180135043_r8, 0.00054967140637330139_r8, & + 0.00057444649745474368_r8, 0.00058980156665139393_r8, & + 0.00059601088919888554_r8, 0.00059478681823265181_r8, & + 0.0005897349003941881_r8, 0.00058411464526928673_r8, & + 0.00057808849729117497_r8, 0.00057213811682181777_r8, & + 0.00056563674261823264_r8, 0.00056090484604881237_r8, & + 0.00055552459765644002_r8, 0.00055199253165459899_r8, & + 0.00054408126126445991_r8, 0.00054021821062568733_r8, & + 0.00053891763150557806_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,51) / & + 8.2304248954251836e-06_r8, 8.5535190715761058e-06_r8, & + 8.9344707724638903e-06_r8, 9.6382680287447488e-06_r8, & + 9.9325966694818898e-06_r8, 1.0602542322340972e-05_r8, & + 1.0339595208727692e-05_r8, 1.2956394055882828e-05_r8, & + 1.5581526039195651e-05_r8, 1.8647994567186721e-05_r8, & + 2.220782332486973e-05_r8, 2.9891164728198532e-05_r8, & + 4.1897877143953156e-05_r8, 5.321389913496522e-05_r8, & + 6.7296137270661649e-05_r8, 8.7834871672103095e-05_r8, & + 0.00014709442130042506_r8, 0.00023220225644198693_r8, & + 0.00031539914966817261_r8, 0.00038610464918099186_r8, & + 0.00043535541183424754_r8, 0.00047097475967204373_r8, & + 0.00049541750193695842_r8, 0.00051386687793640291_r8, & + 0.00052899422934774573_r8, 0.00054471960325793486_r8, & + 0.00055856178768885366_r8, 0.00058996068681182903_r8, & + 0.00061021198501097908_r8, 0.00062340024640149217_r8, & + 0.00062779550388635268_r8, 0.00062273452311536375_r8, & + 0.00061528601150081695_r8, 0.00060886859858737177_r8, & + 0.00060199261509996074_r8, 0.00059586692766865307_r8, & + 0.00058755799494144602_r8, 0.00058331859076349638_r8, & + 0.0005794227612524348_r8, 0.00057278539121604559_r8, & + 0.00056338376680236985_r8, 0.00055863549269965639_r8, & + 0.00055426454202517599_r8, 0.00055326398865958022_r8, 9e90_r8 & + / +data saar_ref(:,31,51) / & + 1.3461727447445565e-05_r8, 1.4273350095330795e-05_r8, & + 1.5103348518776627e-05_r8, 1.9456917150564975e-05_r8, & + 2.0015222954844847e-05_r8, 2.0575745670030769e-05_r8, & + 2.0325295830594301e-05_r8, 2.3918980265111925e-05_r8, & + 2.8010735498277392e-05_r8, 3.2261472217825337e-05_r8, & + 3.6688048814328134e-05_r8, 4.3271137058580122e-05_r8, & + 5.4777964685352448e-05_r8, 6.7892241279715289e-05_r8, & + 8.535463958233315e-05_r8, 0.00010642652891796578_r8, & + 0.00016660260409527311_r8, 0.00024840135465818193_r8, & + 0.0003326317397895958_r8, 0.00040443526906885902_r8, & + 0.00045894182869701767_r8, 0.0005004003581653932_r8, & + 0.00052796312570170024_r8, 0.00055058836295544973_r8, & + 0.00056783453261480623_r8, 0.00058344227451512416_r8, & + 0.0005970849754237626_r8, 0.00063121538955996314_r8, & + 0.00065062130391684535_r8, 0.00065932660848908172_r8, & + 0.00065725200660164641_r8, 0.00064941084737583519_r8, & + 0.00063940989817143519_r8, 0.0006301777460886687_r8, & + 0.00062281207961245491_r8, 0.00061685983457965819_r8, & + 0.00060946268376166812_r8, 0.00060653494568779862_r8, & + 0.00060383105261405232_r8, 0.00059402966793147731_r8, & + 0.00058421295253168143_r8, 0.0005789653648917895_r8, & + 0.00057313297651132912_r8, 0.00057206514454070153_r8, & + 0.00057195101214791084_r8 & + / +data saar_ref(:,32,51) / & + 1.6856341881546079e-05_r8, 1.8131995547911835e-05_r8, & + 2.0783084925155569e-05_r8, 3.2839542232660528e-05_r8, & + 3.3813450144221807e-05_r8, 3.4199497905001648e-05_r8, & + 3.8546812259724447e-05_r8, 4.2147725690800734e-05_r8, & + 4.657775340052505e-05_r8, 5.042869443898109e-05_r8, & + 5.4941006495007794e-05_r8, 6.1994450547303638e-05_r8, & + 7.5310245707933541e-05_r8, 9.2215718187092178e-05_r8, & + 0.0001162780105711576_r8, 0.00014640463003839159_r8, & + 0.0002208941528217383_r8, 0.00030162870992720027_r8, & + 0.00037439989533696665_r8, 0.00043734006354419051_r8, & + 0.00048677805743045893_r8, 0.00052605090573096583_r8, & + 0.0005542057846921189_r8, 0.00058070637914900186_r8, & + 0.00060303644956693505_r8, 0.00062222967612588691_r8, & + 0.00063687428599090712_r8, 0.00066672219246419488_r8, & + 0.00068529754677132762_r8, 0.00068935404260742821_r8, & + 0.00068052467868975983_r8, 0.00067085601544737922_r8, & + 0.00066044938503006948_r8, 0.00065198437656285911_r8, & + 0.00064371507602674176_r8, 0.00063819041366168223_r8, & + 0.00063470984023222582_r8, 0.00063450856508757048_r8, & + 0.00063412427226061847_r8, 0.00063109756777080255_r8, & + 0.00061589178779154373_r8, 0.00060267409974753725_r8, & + 0.00059808314310106833_r8, 0.0005888098037579051_r8, & + 0.00058809329730547747_r8 & + / +data saar_ref(:,33,51) / & + 2.8458199949844927e-05_r8, 2.8631986795221173e-05_r8, & + 3.165297837422231e-05_r8, 5.3763073555603638e-05_r8, & + 5.6419640311340621e-05_r8, 5.8052738179048275e-05_r8, & + 6.5988077419736711e-05_r8, 6.9454579488340576e-05_r8, & + 7.5247871852329569e-05_r8, 8.0533278182809615e-05_r8, & + 8.8748590217175641e-05_r8, 0.00010058170732673888_r8, & + 0.00012386061862784122_r8, 0.00015410186702963954_r8, & + 0.00019300931001674446_r8, 0.000235482965487987_r8, & + 0.00031487049955855129_r8, 0.00038421985205691015_r8, & + 0.00044181334973040067_r8, 0.00049044111757706537_r8, & + 0.00052919774570988709_r8, 0.00056273987457695072_r8, & + 0.00059042332136038629_r8, 0.00061602513737649947_r8, & + 0.00063794339337630243_r8, 0.00065788535148671656_r8, & + 0.00067319271105927806_r8, 0.00069702393893922461_r8, & + 0.00071331486258317898_r8, 0.00071729173635977621_r8, & + 0.00071051440483817739_r8, 0.00070042434821109337_r8, & + 0.00069067193709469222_r8, 0.00068325163217947983_r8, & + 0.0006743588992610208_r8, 0.00066919394299886465_r8, & + 0.00066737933145702779_r8, 0.00067329995809711155_r8, & + 0.00067445035562905251_r8, 0.00067184939035192274_r8, & + 0.00066195622544673572_r8, 0.00065777938019565831_r8, & + 0.00065777209108416077_r8, 0.00068054078843122698_r8, 9e90_r8 & + / +data saar_ref(:,34,51) / & + 5.8112371979921504e-05_r8, 5.9361338354227635e-05_r8, & + 5.9631157147186206e-05_r8, 7.4942105720341649e-05_r8, & + 8.2366040455711281e-05_r8, 9.0678110201567247e-05_r8, & + 0.00010487920364916376_r8, 0.00010859036760147524_r8, & + 0.00012575995055514282_r8, 0.00015298421653854252_r8, & + 0.00017363415331408979_r8, 0.00019556361746100696_r8, & + 0.00023211473528100113_r8, 0.00027497404815224021_r8, & + 0.0003159273386142963_r8, 0.00035286893716459511_r8, & + 0.00041597025229129115_r8, 0.0004694829100287228_r8, & + 0.00050975282341726019_r8, 0.00054527276591447309_r8, & + 0.00057566158955764683_r8, 0.00060336227960186605_r8, & + 0.00062667045217085172_r8, 0.00064760812196393703_r8, & + 0.0006651010350720481_r8, 0.0006812152970115332_r8, & + 0.00069460877520409502_r8, 0.00071653114285674148_r8, & + 0.00073004260475234876_r8, 0.00073345447497021109_r8, & + 0.00072860042957286755_r8, 0.00071916219915669306_r8, & + 0.00070958539278225365_r8, 0.00070097801422900198_r8, & + 0.00069210124515886888_r8, 0.0006870658628479753_r8, & + 0.00068626143578571597_r8, 0.00069048159775150959_r8, & + 0.000694370312350504_r8, 0.00069561080354628283_r8, & + 0.00068874344919638637_r8, 0.00068511911817325524_r8, & + 0.00068136511792228497_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,51) / & + 8.6858110978472764e-05_r8, 9.1919921387469562e-05_r8, & + 9.1544024744400569e-05_r8, 9.7765228942382898e-05_r8, & + 0.00010755718085793327_r8, 0.00012343820589827268_r8, & + 0.00014948327701304773_r8, 0.00016922911832547102_r8, & + 0.00022341237880338827_r8, 0.0002787170183230172_r8, & + 0.00030808772844284935_r8, 0.0003389912133421466_r8, & + 0.00036137092272242686_r8, 0.00039700403486143363_r8, & + 0.00042391557547299236_r8, 0.00045515516168431226_r8, & + 0.00050282335105292285_r8, 0.00053946486737324769_r8, & + 0.00056919817641768052_r8, 0.00059654421005227599_r8, & + 0.00061985777559925889_r8, 0.00064371799690556833_r8, & + 0.00066436606093726728_r8, 0.00068044175589628442_r8, & + 0.0006936984998731229_r8, 0.00070508097883749063_r8, & + 0.00071556515617700323_r8, 0.00073296512712757911_r8, & + 0.00074159606740896791_r8, 0.00074345385528315586_r8, & + 0.000739889287114769_r8, 0.00073166226515448659_r8, & + 0.00072268851738080116_r8, 0.00071496915472152171_r8, & + 0.0007074561412083256_r8, 0.00070326696692604804_r8, & + 0.00070194696717168698_r8, 0.00070197554387958089_r8, & + 0.00070227209097945193_r8, 0.00070202708708899089_r8, & + 0.00070484190475063129_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,51) / & + 7.2944697895075658e-05_r8, 7.9265473460769757e-05_r8, & + 8.7175138352258203e-05_r8, 9.5658763597589061e-05_r8, & + 0.00010645296286795701_r8, 0.00012608471723993568_r8, & + 0.00016364925950684524_r8, 0.00020492029029975847_r8, & + 0.00027242198448372177_r8, 0.00032949230913274346_r8, & + 0.000357443391954421_r8, 0.00038981008069967235_r8, & + 0.00040902335135759038_r8, 0.00044239012385026752_r8, & + 0.00046144268191703603_r8, 0.0004964475764454837_r8, & + 0.00053848674363993394_r8, 0.00056929291513139883_r8, & + 0.00059745265156013229_r8, 0.00062358397565560842_r8, & + 0.00064525701496705309_r8, 0.00066746168346784628_r8, & + 0.00068792166052129161_r8, 0.00070274160342848415_r8, & + 0.00071542893088725958_r8, 0.00072544216504258677_r8, & + 0.00073554541773622321_r8, 0.00074982445196011512_r8, & + 0.00075566772483389073_r8, 0.00075668493309276352_r8, & + 0.00075328283722890944_r8, 0.00074574607858477588_r8, & + 0.00073759549483710365_r8, 0.0007305578234747199_r8, & + 0.00072375101033973863_r8, 0.00072008235552067218_r8, & + 0.00071772349349592758_r8, 0.0007145505333260554_r8, & + 0.00070535180819133905_r8, 0.00068451016525829776_r8, & + 0.00067165061964601894_r8, 0.00066899053340186072_r8, & + 0.00066949117721852407_r8, 0.00066892717159627553_r8, & + 0.0006686624027890173_r8 & + / +data saar_ref(:,37,51) / & + 3.1621164073332958e-05_r8, 2.9974372965096078e-05_r8, & + 3.2625672274739634e-05_r8, 4.7607804687112184e-05_r8, & + 5.3870117503903706e-05_r8, 7.3799486706010959e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,51) / & + 2.032799377749715e-05_r8, 2.445437049012016e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,51) / & + 2.6024693465621654e-05_r8, 2.7626800309800641e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,51) / & + 0.00010765477847000544_r8, 9.8266459091761552e-05_r8, & + 9.8848364949911193e-05_r8, 0.0001275173758237902_r8, & + 0.00014320908155937722_r8, 0.00013431838178819695_r8, & + 0.0001523472488888299_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,51) / & + 0.00011087201874464294_r8, 0.00010147351681240195_r8, & + 0.00010426108897877457_r8, 0.00012149632100736299_r8, & + 0.00013187421942110315_r8, 0.00014589179560567736_r8, & + 0.0001920419074476306_r8, 0.00023595962736578375_r8, & + 0.00034486046355172939_r8, 0.00030042135641097944_r8, & + 0.00025266837188642221_r8, 0.0001491917658973007_r8, & + 0.0001144781865774427_r8, 0.00010618173839731933_r8, & + 0.0001158950684191387_r8, 0.00010762737472378349_r8, & + 0.00010347479041872704_r8, 9.1455710985639447e-05_r8, & + 8.7434715258316798e-05_r8, 8.8578636414854848e-05_r8, & + 8.6679514813290333e-05_r8, 8.6151172771381846e-05_r8, & + 8.6290849671223112e-05_r8, 8.8869001454336942e-05_r8, & + 9.2464140338821172e-05_r8, 9.7673108725552322e-05_r8, & + 0.00010016827220564387_r8, 0.0001089447169937134_r8, & + 0.0001138990654373962_r8, 0.00011418576208582532_r8, & + 0.00011414513369488039_r8, 0.00011049631974030709_r8, & + 0.00010338916715236107_r8, 0.00013485516925562183_r8, & + 0.00013514206583897266_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,51) / & + 0.00011507369466300687_r8, 0.00010872426486834897_r8, & + 0.00011215361114121254_r8, 0.0001148477371777603_r8, & + 0.00011978359951832495_r8, 0.00012785580982797328_r8, & + 0.00015227934002053341_r8, 0.0001790933821533729_r8, & + 0.00033535961557637961_r8, 0.00032582665574604203_r8, & + 0.00027193401535808979_r8, 0.00015420139076482777_r8, & + 0.00010123848874680675_r8, 8.9890361165015519e-05_r8, & + 0.0001040454652675094_r8, 9.8445845575625968e-05_r8, & + 9.4441295015804672e-05_r8, 8.8355467709088869e-05_r8, & + 8.2819135221077209e-05_r8, 8.3471834061139261e-05_r8, & + 8.2840190197035001e-05_r8, 8.2143512859813214e-05_r8, & + 8.2316322215102028e-05_r8, 8.3902653084824377e-05_r8, & + 8.7891866117048825e-05_r8, 9.2918419994239088e-05_r8, & + 9.5755698271501771e-05_r8, 0.00011116378210022033_r8, & + 0.00011565880529428469_r8, 0.00011352342820705092_r8, & + 0.00011091325713794755_r8, 0.00011097889099854329_r8, & + 0.00010396115083125098_r8, 0.00011717981357902789_r8, & + 0.00011273801797975229_r8, 0.00011273721174808856_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,51) / & + 0.00010374922763755037_r8, 0.00010671451055774695_r8, & + 0.00010332200572711535_r8, 0.00012758893608290556_r8, & + 0.00013441541836891745_r8, 0.00013701259396992763_r8, & + 0.00015895051648860765_r8, 0.00018056300469968019_r8, & + 0.00024685377437729943_r8, 0.0002728797148340495_r8, & + 0.00020799460765158969_r8, 0.00012826530129958578_r8, & + 7.6540440681093798e-05_r8, 7.3387587581402825e-05_r8, & + 8.1771708712518359e-05_r8, 8.0763277674943611e-05_r8, & + 7.8319033659101798e-05_r8, 7.6127977228856129e-05_r8, & + 7.4640185168575125e-05_r8, 7.640030970921742e-05_r8, & + 7.7250147984694479e-05_r8, 7.8461209641426363e-05_r8, & + 7.9549746213885978e-05_r8, 8.1866472507821341e-05_r8, & + 8.7567453014017219e-05_r8, 9.2098324009315077e-05_r8, & + 9.631766896141154e-05_r8, 0.00011032847627954612_r8, & + 0.00011707269997372634_r8, 0.00011474191565915203_r8, & + 0.00011264198032850588_r8, 0.00011272573161036722_r8, & + 0.00010781266466434329_r8, 0.00011413029919936177_r8, & + 0.00011597776183009996_r8, 0.00011600297264720833_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,51) / & + 8.5670307597217904e-05_r8, 0.00010223553428555736_r8, & + 8.9296070523289825e-05_r8, 0.00012386076349336713_r8, & + 0.00011816811092467164_r8, 0.00012162216798696022_r8, & + 0.00015435685904887516_r8, 0.00016600598811192122_r8, & + 0.00016748984152263074_r8, 0.0001281894569036169_r8, & + 9.5132116984527408e-05_r8, 8.3817935027215621e-05_r8, & + 7.091243779882485e-05_r8, 7.5073054544027976e-05_r8, & + 7.6785368922294844e-05_r8, 7.637159885073524e-05_r8, & + 7.4473455225614627e-05_r8, 7.3934373027610022e-05_r8, & + 7.4916921486621775e-05_r8, 7.8048473462862607e-05_r8, & + 8.0079860797055316e-05_r8, 8.2543408759092328e-05_r8, & + 8.5126263396511265e-05_r8, 8.9468914702369828e-05_r8, & + 9.5103281774647398e-05_r8, 9.9201018798913368e-05_r8, & + 0.00010370587266005886_r8, 0.00011146873221105136_r8, & + 0.00012244405997533718_r8, 0.00012513807870864611_r8, & + 0.0001222038073276169_r8, 0.00012069856013364634_r8, & + 0.00011315274184363057_r8, 0.0001139548003227356_r8, & + 0.00011681995933553733_r8, 0.00011819289560814985_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,51) / & + 7.9266021000052442e-05_r8, 0.00010694741860146346_r8, & + 9.38870541970552e-05_r8, 0.0001048111203960828_r8, & + 0.0001130597894685613_r8, 0.00012675170878388096_r8, & + 0.00014701665510635003_r8, 0.00011000077717826145_r8, & + 8.17324094646483e-05_r8, 7.1802089355668103e-05_r8, & + 6.939753327534184e-05_r8, 7.0466984219235841e-05_r8, & + 6.8904258126067399e-05_r8, 7.1410171463658453e-05_r8, & + 7.1872704783214773e-05_r8, 7.3114449621651019e-05_r8, & + 7.3172203879852328e-05_r8, 7.361049483669699e-05_r8, & + 7.5673772295449426e-05_r8, 7.9143333629247341e-05_r8, & + 8.1972645676514486e-05_r8, 8.5473573473139242e-05_r8, & + 8.9259603008784379e-05_r8, 9.3748713137730371e-05_r8, & + 9.9359162080262374e-05_r8, 0.00010381932800067231_r8, & + 0.00010970514957842122_r8, 0.00011904293640105366_r8, & + 0.00012302352315549954_r8, 0.00012198333549605706_r8, & + 0.00012034974985120624_r8, 0.00012063732507951817_r8, & + 0.00011914717377383105_r8, 0.00011923568563774354_r8, & + 0.00012041128091096673_r8, 0.00012130394985992425_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,52) / & + 9.5392989512765194e-05_r8, 0.00010007909880314376_r8, & + 0.00010908747369232281_r8, 0.00012059970668193643_r8, & + 0.00012223462264688645_r8, 0.00012551777793125464_r8, & + 0.0001470305795368765_r8, 0.00015531798617828056_r8, & + 0.00015068753812199804_r8, 0.00015337263428896825_r8, & + 0.00015518680745259096_r8, 0.00016246563486331194_r8, & + 0.00016652115624564277_r8, 0.00018483544049884506_r8, & + 0.00018793183918957705_r8, 0.00018961904890146028_r8, & + 0.00019805602045445993_r8, 0.00021525963516174894_r8, & + 0.0002220956745723301_r8, 0.00023034487308427887_r8, & + 0.00023648934993787248_r8, 0.00024210879784074198_r8, & + 0.00024591617174368676_r8, 0.0002501699935876173_r8, & + 0.00025419807015666316_r8, 0.00025753806279563206_r8, & + 0.00026128618172183832_r8, 0.00026956455352856264_r8, & + 0.00027463206248045432_r8, 0.00027697000012358487_r8, & + 0.00028212064644563499_r8, 0.00028591425676245197_r8, & + 0.00029061991218658917_r8, 0.00029328541812100414_r8, & + 0.000291213995610231_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,52) / & + 9.5392989512765194e-05_r8, 0.00010007909880314376_r8, & + 0.00010908747369232281_r8, 0.00012059970668193643_r8, & + 0.00012223462264688645_r8, 0.00012551777793125464_r8, & + 0.0001470305795368765_r8, 0.00015531798617828056_r8, & + 0.00015068753812199804_r8, 0.00015337263428896825_r8, & + 0.00015518680745259096_r8, 0.00016246563486331194_r8, & + 0.00016652115624564277_r8, 0.00018483544049884506_r8, & + 0.00018793183918957705_r8, 0.00018961904890146028_r8, & + 0.00019805602045445993_r8, 0.00021525963516174894_r8, & + 0.0002220956745723301_r8, 0.00023034487308427887_r8, & + 0.00023648934993787248_r8, 0.00024210879784074198_r8, & + 0.00024591617174368676_r8, 0.0002501699935876173_r8, & + 0.00025419807015666316_r8, 0.00025753806279563206_r8, & + 0.00026128618172183832_r8, 0.00026956455352856264_r8, & + 0.00027463206248045432_r8, 0.00027697000012358487_r8, & + 0.00028212064644563499_r8, 0.00028591425676245197_r8, & + 0.00029061991218658917_r8, 0.00029328541812100414_r8, & + 0.000291213995610231_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,52) / & + 9.5392989512765194e-05_r8, 0.00010007909880314376_r8, & + 0.00010908747369232281_r8, 0.00012059970668193643_r8, & + 0.00012223462264688645_r8, 0.00012551777793125464_r8, & + 0.0001470305795368765_r8, 0.00015531798617828056_r8, & + 0.00015068753812199804_r8, 0.00015337263428896825_r8, & + 0.00015518680745259096_r8, 0.00016246563486331194_r8, & + 0.00016652115624564277_r8, 0.00018483544049884506_r8, & + 0.00018793183918957705_r8, 0.00018961904890146028_r8, & + 0.00019805602045445993_r8, 0.00021525963516174894_r8, & + 0.0002220956745723301_r8, 0.00023034487308427887_r8, & + 0.00023648934993787248_r8, 0.00024210879784074198_r8, & + 0.00024591617174368676_r8, 0.0002501699935876173_r8, & + 0.00025419807015666316_r8, 0.00025753806279563206_r8, & + 0.00026128618172183832_r8, 0.00026956455352856264_r8, & + 0.00027463206248045432_r8, 0.00027697000012358487_r8, & + 0.00028212064644563499_r8, 0.00028591425676245197_r8, & + 0.00029061991218658917_r8, 0.00029328541812100414_r8, & + 0.000291213995610231_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,52) / & + 9.9170757860195187e-05_r8, 0.00010374020441397902_r8, & + 0.00010778851817011114_r8, 0.00011826303538426689_r8, & + 0.00011906538094304459_r8, 0.00012432522392358136_r8, & + 0.00014463331189536354_r8, 0.00015035279968945233_r8, & + 0.0001466204637406124_r8, 0.00014998936742052443_r8, & + 0.0001529527750831501_r8, 0.00016331531844740061_r8, & + 0.00017716761331476575_r8, 0.00019261449787671571_r8, & + 0.00019647861799883636_r8, 0.00019899793579827689_r8, & + 0.00020680724116314814_r8, 0.00021943333733852842_r8, & + 0.00022526881012926929_r8, 0.00023240629226866334_r8, & + 0.00023799086035888761_r8, 0.00024227135813195734_r8, & + 0.00024614363662229919_r8, 0.00025044187811776119_r8, & + 0.00025452929978905261_r8, 0.00025815074141988123_r8, & + 0.00026188539700093067_r8, 0.00027004351617965195_r8, & + 0.00027508957657918382_r8, 0.00027770190011735022_r8, & + 0.00028191910046979199_r8, 0.00028586972244589939_r8, & + 0.00028998363327982783_r8, 0.00029086538040820891_r8, & + 0.00028662179141568009_r8, 0.00026446152743994118_r8, & + 0.0002515612587901135_r8, 0.00024927305598778889_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,52) / & + 0.00011120818471936038_r8, 0.00011356138008614941_r8, & + 0.00010936511106458558_r8, 0.00011657045653694971_r8, & + 0.00011919082117233844_r8, 0.00012448536939298926_r8, & + 0.00014227244550728849_r8, 0.00014464906077847766_r8, & + 0.00015192074690687022_r8, 0.00016321071266847816_r8, & + 0.00017239457460266301_r8, 0.00018298844563946099_r8, & + 0.00019913440080189979_r8, 0.00021046774317286617_r8, & + 0.00021819807780993909_r8, 0.00022424776383033469_r8, & + 0.00023089842567252611_r8, 0.00023418608046298745_r8, & + 0.00023694020810456783_r8, 0.00024108637912195416_r8, & + 0.00024494167846154458_r8, 0.00024906625144217583_r8, & + 0.00025292547239805197_r8, 0.00025663532215164321_r8, & + 0.00026020938579503618_r8, 0.00026408441575568193_r8, & + 0.00026742541884099537_r8, 0.00027343676337111285_r8, & + 0.00027677165660561291_r8, 0.00027981749589753242_r8, & + 0.00028285622535298785_r8, 0.00028544210039989918_r8, & + 0.0002822698914130897_r8, 0.00027256092442945609_r8, & + 0.00026412804484005303_r8, 0.00025502123714972225_r8, & + 0.0002488318218437399_r8, 0.00024551812574303037_r8, & + 0.00026058472842321406_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,52) / & + 0.00012221668141217831_r8, 0.00012246707591745702_r8, & + 0.00011640356772655638_r8, 0.00010594852120332087_r8, & + 0.00010783368457512449_r8, 0.0001102055556262518_r8, & + 0.00013785553368922651_r8, 0.00014774000608916774_r8, & + 0.00015909359346649675_r8, 0.00017052190676635162_r8, & + 0.00017982515473978863_r8, 0.00019067207922747063_r8, & + 0.00020444573897596702_r8, 0.0002108576417180119_r8, & + 0.0002163899799385609_r8, 0.00021999084194755823_r8, & + 0.00022540201665308913_r8, 0.00023028878942186464_r8, & + 0.00023504291217373678_r8, 0.00023916651912853245_r8, & + 0.00024344139090450457_r8, 0.00025083164054551769_r8, & + 0.00025521514762506505_r8, 0.00025912786233995379_r8, & + 0.00026269945105201727_r8, 0.00026637288671275586_r8, & + 0.00026944183962897641_r8, 0.00027464209887184329_r8, & + 0.00027835114067030085_r8, 0.00028241663039617148_r8, & + 0.00028488017207806165_r8, 0.00028497247738924075_r8, & + 0.00027978540391798186_r8, 0.00027307943874107582_r8, & + 0.0002661126898851593_r8, 0.00026351761442204477_r8, & + 0.00025834483422138574_r8, 0.0002565908049181372_r8, & + 0.00026058472842321406_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,52) / & + 0.00010881841892906104_r8, 0.00010864504197515005_r8, & + 0.00010720499306311329_r8, 7.3174447990248035e-05_r8, & + 7.3888060593180018e-05_r8, 7.3498107562450015e-05_r8, & + 9.1916967978345691e-05_r8, 0.00011098624756753921_r8, & + 0.00012293599335276201_r8, 0.00013089445056604186_r8, & + 0.00013630052957326684_r8, 0.00015599417975940236_r8, & + 0.00017793442734660684_r8, 0.00018249642734971514_r8, & + 0.00018649712134435174_r8, 0.00018928068990753627_r8, & + 0.00019461604530477013_r8, 0.00019990413838630268_r8, & + 0.00020435868606546968_r8, 0.00020824084188593618_r8, & + 0.00021206576264886639_r8, 0.00022113652199032627_r8, & + 0.00022701714806191604_r8, 0.00023290065706529076_r8, & + 0.00023867194119170447_r8, 0.00024355478861026622_r8, & + 0.00024828411022274644_r8, 0.00025939825789677749_r8, & + 0.00026819725005054984_r8, 0.00027449248256228943_r8, & + 0.00027855569199331973_r8, 0.00028070270620853764_r8, & + 0.00028011329554548519_r8, 0.00027938022414465929_r8, & + 0.0002760917393688686_r8, 0.00027473789951959303_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,52) / & + 6.2863049827567431e-05_r8, 6.318596225849882e-05_r8, & + 6.3703003517323826e-05_r8, 2.7497625585550421e-05_r8, & + 2.627065056801595e-05_r8, 2.5555145840740202e-05_r8, & + 2.8500721084739985e-05_r8, 3.9007057736885715e-05_r8, & + 4.8010092955608098e-05_r8, 5.3772378654141299e-05_r8, & + 5.7970785466827806e-05_r8, 8.1574210200094013e-05_r8, & + 0.00011100751884122542_r8, 0.00011957391230763352_r8, & + 0.00012678468934763264_r8, 0.00013367636689053943_r8, & + 0.00014434745278273494_r8, 0.00015250066507304665_r8, & + 0.0001600835292012016_r8, 0.00016619655154406134_r8, & + 0.0001726250610186188_r8, 0.00017775430446970506_r8, & + 0.00018316058291200748_r8, 0.00018867053404169077_r8, & + 0.00019471993769140777_r8, 0.00019936054272140294_r8, & + 0.00020399123435072445_r8, 0.00021588092594999056_r8, & + 0.00022896978538693128_r8, 0.0002409127457907946_r8, & + 0.00025100564968581101_r8, 0.0002597493246337418_r8, & + 0.00026815111257627198_r8, 0.00027159367304956003_r8, & + 0.00027281988833686445_r8, 0.00026829990196086575_r8, & + 0.00026702373898375512_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,52) / & + 1.922606893094213e-05_r8, 1.947243812755061e-05_r8, & + 1.943466305892915e-05_r8, 1.0706067435309236e-05_r8, & + 1.0402828203906412e-05_r8, 1.0581947069126933e-05_r8, & + 1.2629592343896762e-05_r8, 1.6084275398574866e-05_r8, & + 1.9333855627720439e-05_r8, 2.1336393802991275e-05_r8, & + 2.3514415477243584e-05_r8, 3.1059193894232208e-05_r8, & + 4.349460478846816e-05_r8, 4.9848757666947832e-05_r8, & + 5.6628934987776845e-05_r8, 6.3803987340214428e-05_r8, & + 7.669160586382878e-05_r8, 8.8721371294171264e-05_r8, & + 0.00010182147471023417_r8, 0.00011419819722720469_r8, & + 0.00012692305137902631_r8, 0.00013588987520523265_r8, & + 0.00014754528231977984_r8, 0.00015779081934445236_r8, & + 0.00016660182916434157_r8, 0.0001736300879273377_r8, & + 0.00017951215697626816_r8, 0.00018958359269582881_r8, & + 0.00019909442812473331_r8, 0.00020844116879880346_r8, & + 0.00021923102920181332_r8, 0.00023071486169221392_r8, & + 0.0002430959032984148_r8, 0.00025253744517342682_r8, & + 0.00025989127742972275_r8, 0.00026160419716002959_r8, & + 0.00026279350633769084_r8, 0.00026468804632938245_r8, & + 0.00026630982433802043_r8, 0.00026558754826351094_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,52) / & + 4.9499574573832648e-06_r8, 4.9000540279089613e-06_r8, & + 5.0013242318481394e-06_r8, 5.8728332151717374e-06_r8, & + 5.8949645435552192e-06_r8, 6.0332330220268584e-06_r8, & + 6.818704002709282e-06_r8, 8.025045782191369e-06_r8, & + 9.3167235992939533e-06_r8, 1.0082465975397387e-05_r8, & + 1.0806902569915326e-05_r8, 1.3564695200203586e-05_r8, & + 1.7895282464512342e-05_r8, 2.0183480269224373e-05_r8, & + 2.2764515385744733e-05_r8, 2.5096777694265724e-05_r8, & + 3.1535474589759285e-05_r8, 3.8946941412372681e-05_r8, & + 4.8712818717256761e-05_r8, 6.0067426657578936e-05_r8, & + 7.3468793369113497e-05_r8, 8.6170543198268182e-05_r8, & + 0.00010159436202290265_r8, 0.00011732142710139419_r8, & + 0.00013200383866924148_r8, 0.00014549276266911229_r8, & + 0.00015777806786315053_r8, 0.00018214686998787382_r8, & + 0.00019830117955289058_r8, 0.00020652091699478763_r8, & + 0.00021239885305657474_r8, 0.00021827947221570883_r8, & + 0.00022589800491277118_r8, 0.00023401527069595769_r8, & + 0.0002432019083561816_r8, 0.00025195291803465329_r8, & + 0.00025855407166118597_r8, 0.00026227489886641398_r8, & + 0.0002642445025698931_r8, 0.00026477778734789522_r8, & + 0.00026816521733632348_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,52) / & + 6.7920348766889235e-06_r8, 6.6660705571045275e-06_r8, & + 5.8332395436973608e-06_r8, 6.0440138188357717e-06_r8, & + 6.0197671869568268e-06_r8, 6.0001778773309983e-06_r8, & + 5.6456474854631457e-06_r8, 5.0911648434942896e-06_r8, & + 5.3969805541841421e-06_r8, 6.2331046801679011e-06_r8, & + 6.749603564822593e-06_r8, 9.265167772392589e-06_r8, & + 1.2172285806420566e-05_r8, 1.3336198780531976e-05_r8, & + 1.4664019866824234e-05_r8, 1.5888207533227224e-05_r8, & + 1.8634238047709326e-05_r8, 2.2517104945228815e-05_r8, & + 2.8659796420299038e-05_r8, 3.7803954679129909e-05_r8, & + 5.0803612598787887e-05_r8, 6.5599804264822106e-05_r8, & + 8.1918354403907341e-05_r8, 9.9258530544844281e-05_r8, & + 0.00011664411426914906_r8, 0.00013313454050158287_r8, & + 0.00014856086111151011_r8, 0.00018259347216401141_r8, & + 0.00021001931320698025_r8, 0.00022619116509356666_r8, & + 0.00023612148028203606_r8, 0.00023996374826339658_r8, & + 0.00024027791450715732_r8, 0.00023855991871738378_r8, & + 0.00024103171074029645_r8, 0.00024744086154800902_r8, & + 0.00025437970504964817_r8, 0.00025917836022480392_r8, & + 0.00026176613871821647_r8, 0.0002631271509331052_r8, & + 0.00026468811869952927_r8, 0.00026729946019773873_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,52) / & + 5.694239316532447e-06_r8, 5.5598907385760595e-06_r8, & + 5.1175124293435216e-06_r8, 6.7168157904501638e-06_r8, & + 6.7407727976164767e-06_r8, 6.4826138679079609e-06_r8, & + 5.8335721125939251e-06_r8, 4.4138577158591136e-06_r8, & + 4.5742590110335138e-06_r8, 5.0050352481809986e-06_r8, & + 5.4471157576410458e-06_r8, 7.9449598656341335e-06_r8, & + 1.1130621129454116e-05_r8, 1.2340363702854018e-05_r8, & + 1.3381418161664061e-05_r8, 1.44900907218844e-05_r8, & + 1.675833451075518e-05_r8, 2.0000308096695127e-05_r8, & + 2.5471345469829749e-05_r8, 3.4293718189374513e-05_r8, & + 4.7354429405809278e-05_r8, 6.3737539723405593e-05_r8, & + 8.1679322580721658e-05_r8, 0.00010005308498882831_r8, & + 0.0001191379945368965_r8, 0.00013691138249877208_r8, & + 0.00015357221499731649_r8, 0.00019035904055068192_r8, & + 0.00022071818395138712_r8, 0.00023968993802698705_r8, & + 0.00025214382725569003_r8, 0.00025786109769964207_r8, & + 0.00025648627883423944_r8, 0.00024947647325569721_r8, & + 0.00024588720466911165_r8, 0.00024811668035168536_r8, & + 0.00025337242680725677_r8, 0.00025793036195598988_r8, & + 0.00026113156657390742_r8, 0.0002629291088923743_r8, & + 0.0002647551519466125_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,52) / & + 4.5009210387827227e-06_r8, 4.3874501608930679e-06_r8, & + 4.876313659189399e-06_r8, 5.4966902286433791e-06_r8, & + 5.5062711736773083e-06_r8, 5.0687738589036786e-06_r8, & + 4.6788161906459038e-06_r8, 3.7177786564040308e-06_r8, & + 3.883385238360991e-06_r8, 4.1709007524154954e-06_r8, & + 4.5977236067008252e-06_r8, 5.8354548542850268e-06_r8, & + 8.2207090922004616e-06_r8, 9.9650251256253575e-06_r8, & + 1.1231139520038819e-05_r8, 1.2572632037340854e-05_r8, & + 1.5063597891536171e-05_r8, 1.8351078397007098e-05_r8, & + 2.4033400269729137e-05_r8, 3.2815287876940192e-05_r8, & + 4.5487534326979946e-05_r8, 6.247018613007113e-05_r8, & + 8.1923045841515705e-05_r8, 0.00010202361356689383_r8, & + 0.00012263679915936729_r8, 0.00014297716337936827_r8, & + 0.0001622253314916539_r8, 0.00020423754093446702_r8, & + 0.00023402045021696854_r8, 0.00025290884873341128_r8, & + 0.00026563764467107633_r8, 0.00027183139315258459_r8, & + 0.0002714302970257965_r8, 0.00026397097458310154_r8, & + 0.00025526560203417025_r8, 0.00025101372228715968_r8, & + 0.00025254752368694439_r8, 0.00025634402512164108_r8, & + 0.00026063940174578617_r8, 0.00026348019725359255_r8, & + 0.00026544139228607797_r8, 0.00026667849155764898_r8, & + 0.00026718319599929762_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,52) / & + 4.3460341783129851e-06_r8, 4.2508813627386248e-06_r8, & + 4.9904990010822291e-06_r8, 4.9784560795625716e-06_r8, & + 4.9728218794553517e-06_r8, 4.5491886979572145e-06_r8, & + 3.7913899454158407e-06_r8, 3.818142713291222e-06_r8, & + 3.7289461584441306e-06_r8, 3.7515227487571555e-06_r8, & + 3.745256440774764e-06_r8, 4.0425485318330753e-06_r8, & + 5.3909634697509092e-06_r8, 7.3591700280856154e-06_r8, & + 8.8495183907814351e-06_r8, 1.036577746100099e-05_r8, & + 1.3142500667787033e-05_r8, 1.6335196203545834e-05_r8, & + 2.1353274147391417e-05_r8, 2.9576870188475337e-05_r8, & + 4.1884002368535646e-05_r8, 5.9292928131287653e-05_r8, & + 7.9966327820697616e-05_r8, 0.00010146373633558814_r8, & + 0.00012367987036464051_r8, 0.00014635825475566244_r8, & + 0.00016750259629293211_r8, 0.00021477337135564868_r8, & + 0.00024469594939138784_r8, 0.00026393316329592533_r8, & + 0.00027635637217334125_r8, 0.00028296821488414648_r8, & + 0.00028432123188856182_r8, 0.0002777180336344258_r8, & + 0.00026617729383978902_r8, 0.00025663201626738584_r8, & + 0.00025383445140457603_r8, 0.0002566406856417685_r8, & + 0.00026106530671219047_r8, 0.00026435227439420336_r8, & + 0.00026598709163326058_r8, 0.0002669831141877274_r8, & + 0.00026706342567102333_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,52) / & + 4.4775186897208117e-06_r8, 4.4020187955483937e-06_r8, & + 4.7178981685764842e-06_r8, 4.5329805896944021e-06_r8, & + 4.5316706503974704e-06_r8, 4.3854984338211598e-06_r8, & + 3.4738140094623008e-06_r8, 3.5245942026302802e-06_r8, & + 3.6095015217935342e-06_r8, 3.6221286571918268e-06_r8, & + 3.6875906679734604e-06_r8, 4.0547379346181613e-06_r8, & + 4.6351970164919003e-06_r8, 5.8935748334725591e-06_r8, & + 7.5731815699188539e-06_r8, 9.295810649306664e-06_r8, & + 1.329585767597574e-05_r8, 1.7706728752790867e-05_r8, & + 2.335975152578248e-05_r8, 3.1785791184869391e-05_r8, & + 4.4929986461925589e-05_r8, 6.4094748809278405e-05_r8, & + 8.6496652775969163e-05_r8, 0.00011022361724946213_r8, & + 0.00013376834370852761_r8, 0.00015686146256872652_r8, & + 0.00017846570855545215_r8, 0.00022274657822088243_r8, & + 0.00024992083405967695_r8, 0.00026783477729829983_r8, & + 0.00027866689832957686_r8, 0.00028414110134387932_r8, & + 0.00028495256452170639_r8, 0.00027976122590285584_r8, & + 0.00027003795094735194_r8, 0.00026125351049626036_r8, & + 0.00025786238069640206_r8, 0.00025814760560094598_r8, & + 0.00026044975300781658_r8, 0.00026277269407422353_r8, & + 0.00026477167116414045_r8, 0.00026709213980731402_r8, & + 0.00026682239719769433_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,52) / & + 3.9777068778651445e-06_r8, 3.9521971339356204e-06_r8, & + 3.6942621945236762e-06_r8, 2.9240166682092754e-06_r8, & + 2.9583013700162361e-06_r8, 3.0576310360533035e-06_r8, & + 2.9846487245029888e-06_r8, 3.0536949098393115e-06_r8, & + 3.0086625754930244e-06_r8, 3.0460073283079639e-06_r8, & + 3.1247543456217328e-06_r8, 3.5298509412133702e-06_r8, & + 4.2275845253998424e-06_r8, 5.4343627969608455e-06_r8, & + 7.1666386122710124e-06_r8, 9.4924281444070836e-06_r8, & + 1.7277792646073314e-05_r8, 2.4525656656899246e-05_r8, & + 3.3846843969515985e-05_r8, 4.6200350381289349e-05_r8, & + 6.4060769643951333e-05_r8, 8.8204802554746914e-05_r8, & + 0.0001137694067188773_r8, 0.00014038347760885066_r8, & + 0.00016375368335206776_r8, 0.00018468512468527268_r8, & + 0.00020579624640695951_r8, 0.00023993203353629244_r8, & + 0.00026414842362504403_r8, 0.00027982164555229118_r8, & + 0.00028997105369618468_r8, 0.00029415180841631678_r8, & + 0.00029508841495053389_r8, 0.00029265300323469585_r8, & + 0.00028616312093809865_r8, 0.0002792738471717199_r8, & + 0.0002762255197778359_r8, 0.00027381287432240361_r8, & + 0.00027259689130536589_r8, 0.00027303765230428292_r8, & + 0.0002751640569632896_r8, 0.00027970588364445377_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,52) / & + 3.0081939822157946e-06_r8, 2.9687515406486627e-06_r8, & + 2.6635176540666376e-06_r8, 2.4459295673715789e-06_r8, & + 2.3815430133669309e-06_r8, 2.4623557696112892e-06_r8, & + 2.3762843975081093e-06_r8, 2.67776993740456e-06_r8, & + 2.7384066022052568e-06_r8, 2.8169940836065388e-06_r8, & + 2.8507388287832394e-06_r8, 3.246620466380335e-06_r8, & + 3.9388052219385723e-06_r8, 5.1158385035017211e-06_r8, & + 7.8423033928017911e-06_r8, 1.1472572542872377e-05_r8, & + 2.4465240530682811e-05_r8, 3.8058768323544083e-05_r8, & + 5.4024423392625779e-05_r8, 7.4348126805695705e-05_r8, & + 9.8111899611380855e-05_r8, 0.00012500627082645991_r8, & + 0.00015106042999924349_r8, 0.00017530772197409128_r8, & + 0.00019650278960375419_r8, 0.00021403872317653892_r8, & + 0.00022996696685419367_r8, 0.00025559267542146866_r8, & + 0.00027562914790869641_r8, 0.0002880855325249665_r8, & + 0.0002972408122831182_r8, 0.00030135917662143109_r8, & + 0.00030248677045043509_r8, 0.00030128884211100135_r8, & + 0.0002973655123585833_r8, 0.00029325911927965617_r8, & + 0.00029070212467256291_r8, 0.00028878319121021338_r8, & + 0.0002874182049724547_r8, 0.00028465856341442777_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,52) / & + 3.0706374136724094e-06_r8, 2.8840942428854587e-06_r8, & + 2.7763662541588013e-06_r8, 3.2997738059920339e-06_r8, & + 3.2507181451893831e-06_r8, 3.4093224145226629e-06_r8, & + 3.1603655971856695e-06_r8, 3.0409038383518004e-06_r8, & + 2.7969023477129434e-06_r8, 2.9311062238786751e-06_r8, & + 3.1148604211193303e-06_r8, 3.6068752537967468e-06_r8, & + 4.6920734928359033e-06_r8, 6.9317121068392645e-06_r8, & + 1.2158307188436087e-05_r8, 2.0167286020198904e-05_r8, & + 4.0020360982535889e-05_r8, 6.2287987496351056e-05_r8, & + 8.5804265776574055e-05_r8, 0.00011272491444042181_r8, & + 0.00013890833153075086_r8, 0.00016429132534665251_r8, & + 0.0001862353712339319_r8, 0.00020527261686575804_r8, & + 0.00022151548144862623_r8, 0.00023458984882359664_r8, & + 0.00024724143748303351_r8, 0.0002700335270651883_r8, & + 0.00028673043626119737_r8, 0.00029759748445203836_r8, & + 0.00030631964255055643_r8, 0.0003107237417727468_r8, & + 0.0003116313519271455_r8, 0.00031051758896416233_r8, & + 0.00030838571595248723_r8, 0.00030591538160376093_r8, & + 0.00030427825430141565_r8, 0.00030279378412041648_r8, & + 0.00030229998697795869_r8, 0.00029975302310673608_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,52) / & + 4.0059093282835087e-06_r8, 3.7181369025595765e-06_r8, & + 3.6549069985638043e-06_r8, 3.7774517694357168e-06_r8, & + 3.7025737556601098e-06_r8, 3.6640023876555695e-06_r8, & + 3.9928254247297536e-06_r8, 3.2873247413118916e-06_r8, & + 3.2968904029658635e-06_r8, 3.3798287139947603e-06_r8, & + 3.5433549257216828e-06_r8, 4.1966083144754405e-06_r8, & + 8.6779349837134719e-06_r8, 1.6024535007444391e-05_r8, & + 2.9701142932521121e-05_r8, 4.4680913839480317e-05_r8, & + 6.9213284474104202e-05_r8, 9.3226864216912271e-05_r8, & + 0.00011833615682573477_r8, 0.00014289055588158304_r8, & + 0.00016563739281175616_r8, 0.00018759324184946364_r8, & + 0.00020638664359832576_r8, 0.0002239552896945696_r8, & + 0.00023861666927727448_r8, 0.0002517259180243486_r8, & + 0.00026401519377538564_r8, 0.00028826822193463419_r8, & + 0.00030673430324521704_r8, 0.0003204660908046664_r8, & + 0.00033091565843787593_r8, 0.00033665718282791473_r8, & + 0.00033786167333356974_r8, 0.000334862946331976_r8, & + 0.00033111230215174416_r8, 0.00032727058779664675_r8, & + 0.00032658004242083055_r8, 0.00032364836380802895_r8, & + 0.00032092485347620848_r8, 0.00031902578368739641_r8, & + 0.00031658993228501827_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,52) / & + 4.4316893752141303e-06_r8, 4.17435641555176e-06_r8, & + 4.2389628219252439e-06_r8, 4.1465801323445473e-06_r8, & + 4.2799373668068274e-06_r8, 4.2447866247637122e-06_r8, & + 4.513452866176171e-06_r8, 4.0590709558557553e-06_r8, & + 3.5768607540958131e-06_r8, 3.6198035919292566e-06_r8, & + 4.1717112500653725e-06_r8, 7.3416244857003318e-06_r8, & + 1.6251582159052133e-05_r8, 3.2954806135183688e-05_r8, & + 5.0303732873334626e-05_r8, 6.6494103965839021e-05_r8, & + 9.2468429382727205e-05_r8, 0.00011158808669454766_r8, & + 0.00013617322003181228_r8, 0.00015829755387037007_r8, & + 0.00017953273141700966_r8, 0.00019919644229334708_r8, & + 0.00021687045553161544_r8, 0.00023599677755141072_r8, & + 0.00025227089297895079_r8, 0.00026799949574971254_r8, & + 0.00028077723721576614_r8, 0.00030793936589164057_r8, & + 0.00032794355893655646_r8, 0.00034312726704190122_r8, & + 0.00035479236860626659_r8, 0.00036114460748394047_r8, & + 0.00036278670466714932_r8, 0.000360309838996303_r8, & + 0.0003558891946261253_r8, 0.00035138988760185917_r8, & + 0.0003492760984830862_r8, 0.00034297537525458004_r8, & + 0.00033770375780630064_r8, 0.00033294615680517402_r8, & + 0.00033053582867734887_r8, 0.00032895374432259135_r8, & + 0.00032680372668990852_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,52) / & + 4.8755406036761391e-06_r8, 4.7537603198684212e-06_r8, & + 5.0142661335034004e-06_r8, 4.8179811091402232e-06_r8, & + 4.9982037881838193e-06_r8, 4.9540596167446171e-06_r8, & + 6.1409050992255512e-06_r8, 5.5742369756071438e-06_r8, & + 5.5965129372048544e-06_r8, 7.3911084817332197e-06_r8, & + 1.3034200998002299e-05_r8, 2.3600028759256489e-05_r8, & + 4.2851553691042512e-05_r8, 5.8795160939622403e-05_r8, & + 6.9208811536631981e-05_r8, 8.3143388966986834e-05_r8, & + 0.00011229585623798146_r8, 0.00013601495720457567_r8, & + 0.00016264632110650365_r8, 0.00018499052576158569_r8, & + 0.00020539932421683319_r8, 0.00022233095129613184_r8, & + 0.00023467922308491483_r8, 0.0002561662397171121_r8, & + 0.00027530912467610592_r8, 0.00029296978290952336_r8, & + 0.00030651685911700009_r8, 0.00033505599321109779_r8, & + 0.00035628504464697104_r8, 0.00037012017331750253_r8, & + 0.00038087550512878253_r8, 0.00038679081438904619_r8, & + 0.00038740666244916949_r8, 0.00038524265518826713_r8, & + 0.00038170598584224473_r8, 0.00037728914136527192_r8, & + 0.00037294076091840564_r8, 0.00036274857893859311_r8, & + 0.00035565356649974001_r8, 0.00034957689723156529_r8, & + 0.00034680169504703912_r8, 0.00034528237870417276_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,52) / & + 6.2904385936068513e-06_r8, 6.1090752806245815e-06_r8, & + 6.3142058547046796e-06_r8, 6.826210048473438e-06_r8, & + 6.9711626536547897e-06_r8, 7.0926148354758303e-06_r8, & + 8.3631758680407024e-06_r8, 9.6367417807235804e-06_r8, & + 1.2544108598434892e-05_r8, 2.2156854524500083e-05_r8, & + 3.5426547998194134e-05_r8, 4.7816344261558867e-05_r8, & + 6.4061267436645185e-05_r8, 7.2313394414387079e-05_r8, & + 8.0286912509560518e-05_r8, 9.266695130329346e-05_r8, & + 0.00012528125005260889_r8, 0.00016003406927971768_r8, & + 0.00018846731169913555_r8, 0.00021209203317261463_r8, & + 0.0002309612649729863_r8, 0.00024625032431075712_r8, & + 0.00026282490000499261_r8, 0.00028646513350522192_r8, & + 0.0003090130279737228_r8, 0.00032775415106305603_r8, & + 0.00034202153208416354_r8, 0.00037202393075534061_r8, & + 0.00039394699729099051_r8, 0.00040798871977233757_r8, & + 0.0004167939823203313_r8, 0.00042186942996562778_r8, & + 0.00042201331917305056_r8, 0.0004193086572322045_r8, & + 0.00041599579691408941_r8, 0.00040978834451752731_r8, & + 0.00040313010230435945_r8, 0.00039127971677480788_r8, & + 0.00037511813334385676_r8, 0.00036647554344923467_r8, & + 0.00036256128572965138_r8, 0.00035638380487045565_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,52) / & + 6.9285977666395833e-06_r8, 6.6382937150074689e-06_r8, & + 6.7437125567727801e-06_r8, 7.7052906955531832e-06_r8, & + 7.8276894285676423e-06_r8, 8.066809919000258e-06_r8, & + 9.7652950075437593e-06_r8, 1.2830816420362092e-05_r8, & + 1.954219717875789e-05_r8, 3.2002440913625627e-05_r8, & + 5.0808779011219585e-05_r8, 6.3663118574182526e-05_r8, & + 7.8062428985512626e-05_r8, 8.5892578286210879e-05_r8, & + 9.3232699318586889e-05_r8, 0.00010387424371700364_r8, & + 0.0001346684772006028_r8, 0.0001699863618758794_r8, & + 0.00019851370368017022_r8, 0.00022365161023548959_r8, & + 0.00024604478645684301_r8, 0.00026829647887483617_r8, & + 0.00028987831782721933_r8, 0.00031398066144537541_r8, & + 0.00033651444603677191_r8, 0.0003555128516419624_r8, & + 0.00037116290577934971_r8, 0.00040136760415747787_r8, & + 0.00042486179392179431_r8, 0.00044388153811713405_r8, & + 0.00045235004366394975_r8, 0.000456257604382829_r8, & + 0.00045659027368955712_r8, 0.0004537168931720758_r8, & + 0.00044837234888683896_r8, 0.00044038100422736347_r8, & + 0.00043177115037290614_r8, 0.00042412079865804839_r8, & + 0.00041164558566112472_r8, 0.00040721366357066881_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,52) / & + 6.0400548600269824e-06_r8, 5.9138635012069758e-06_r8, & + 5.9655103125322188e-06_r8, 8.0626518860360523e-06_r8, & + 8.1149804009880515e-06_r8, 8.133656630420037e-06_r8, & + 1.0310332978099505e-05_r8, 1.7539165944282166e-05_r8, & + 3.0645883142091225e-05_r8, 4.8271024072248073e-05_r8, & + 7.0004013179321149e-05_r8, 8.522662490905823e-05_r8, & + 0.00010044613452767388_r8, 0.00010815072353669494_r8, & + 0.00011565871355940629_r8, 0.00012571929015811278_r8, & + 0.00014998721455981027_r8, 0.0001835138240275712_r8, & + 0.00021497062335880266_r8, 0.00024315038965631904_r8, & + 0.00026754391204660113_r8, 0.00029276765225200581_r8, & + 0.00031224730790821486_r8, 0.00033544022278869439_r8, & + 0.00035615791023827398_r8, 0.00037511537762550983_r8, & + 0.00039233580062574349_r8, 0.0004222750354940425_r8, & + 0.00045051168567696362_r8, 0.00046974909942938139_r8, & + 0.00047863320195161484_r8, 0.00048262421404741442_r8, & + 0.00048382601508363868_r8, 0.0004811019063738591_r8, & + 0.00047364233774650478_r8, 0.00046213145918713543_r8, & + 0.000450202407542956_r8, 0.00044098167056360124_r8, & + 0.00043366753526966214_r8, 0.00043165330926196597_r8, & + 0.0004317232466965606_r8, 0.00042710841673273582_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,52) / & + 5.6014452284856214e-06_r8, 5.6512503791987123e-06_r8, & + 5.856374350855526e-06_r8, 7.7777403912008143e-06_r8, & + 7.5176035442356539e-06_r8, 7.0775715627642869e-06_r8, & + 1.167298537650764e-05_r8, 2.3059868463861885e-05_r8, & + 4.383127325501409e-05_r8, 6.5407802256128126e-05_r8, & + 8.1780890871899667e-05_r8, 9.3528389945193624e-05_r8, & + 0.00010836913194916113_r8, 0.00011812868351479707_r8, & + 0.00012720336595734507_r8, 0.00013869796939613253_r8, & + 0.00016676711701868417_r8, 0.00020102667904259704_r8, & + 0.00023235299287945922_r8, 0.00026251213493414422_r8, & + 0.00028877924153035585_r8, 0.00031240555984147822_r8, & + 0.0003365270816709372_r8, 0.00036028935406634478_r8, & + 0.00038031938464285587_r8, 0.00039903282249550244_r8, & + 0.00041776950195602001_r8, 0.00045096467454723284_r8, & + 0.00047879414888693869_r8, 0.00049168145978127295_r8, & + 0.0005005590397973897_r8, 0.000505007485180127_r8, & + 0.0005076069315446954_r8, 0.00050578755527179984_r8, & + 0.0004992125544694741_r8, 0.0004859021749757223_r8, & + 0.00047127669562942187_r8, 0.00045783997691958074_r8, & + 0.00044957234079926318_r8, 0.00044571374989403996_r8, & + 0.00044402468882778832_r8, 0.00044092133962804481_r8, & + 0.00044003227153278815_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,52) / & + 6.4967044862537545e-06_r8, 6.5353809692982497e-06_r8, & + 6.764591572456006e-06_r8, 6.8640963737806496e-06_r8, & + 6.7387398337390925e-06_r8, 6.6405489294081362e-06_r8, & + 7.4776762602523348e-06_r8, 1.2407421996693743e-05_r8, & + 1.9632590437777613e-05_r8, 3.2661058740699456e-05_r8, & + 4.8214501802936629e-05_r8, 6.2986817246418118e-05_r8, & + 9.4869959839159735e-05_r8, 0.00011914443525590162_r8, & + 0.00013743977262303705_r8, 0.00015670341066800658_r8, & + 0.00019414396412329159_r8, 0.00022964768338399577_r8, & + 0.00025953062490788033_r8, 0.00029094608168063046_r8, & + 0.00031605614633362116_r8, 0.00033899149160237146_r8, & + 0.00036466084748874102_r8, 0.00038666311088788935_r8, & + 0.00040605460307610206_r8, 0.00042422598663564734_r8, & + 0.0004427192119284295_r8, 0.00047744424920435034_r8, & + 0.00050227776316449479_r8, 0.00051463711273095237_r8, & + 0.00052286466248177945_r8, 0.00052743860589719914_r8, & + 0.00053049120778114625_r8, 0.00052970591945472698_r8, & + 0.00052493680198498498_r8, 0.00051323949749700743_r8, & + 0.00049806762161332466_r8, 0.00048285488381488869_r8, & + 0.00047207942961373969_r8, 0.00046405374452287973_r8, & + 0.00045932825069187482_r8, 0.00045549647198761826_r8, & + 0.00045368505308388386_r8, 0.00045117751540909635_r8, 9e90_r8 & + / +data saar_ref(:,27,52) / & + 7.1501779161166497e-06_r8, 6.981783375814989e-06_r8, & + 6.9642099229573441e-06_r8, 7.1517149340524693e-06_r8, & + 7.168732301513245e-06_r8, 7.1400619700688667e-06_r8, & + 6.9751874253943279e-06_r8, 7.6510983271138817e-06_r8, & + 8.7832559428056341e-06_r8, 1.259328847903202e-05_r8, & + 1.8658195441680187e-05_r8, 2.6707648179267557e-05_r8, & + 5.1417333501080416e-05_r8, 8.6998900220426004e-05_r8, & + 0.00012051423610934692_r8, 0.00015700210579676295_r8, & + 0.0002193330586905921_r8, 0.0002641053530474752_r8, & + 0.00029389424080397708_r8, 0.00032157431958600738_r8, & + 0.00034584422079257519_r8, 0.00036870522361986345_r8, & + 0.00039433621599454372_r8, 0.0004149176993591678_r8, & + 0.00043407243627582566_r8, 0.000450520419003232_r8, & + 0.00046662020391661705_r8, 0.00049917251609140061_r8, & + 0.00052407290142391749_r8, 0.0005370133297730714_r8, & + 0.00054543481142660724_r8, 0.00054953268360836342_r8, & + 0.00055180526198922528_r8, 0.00055020412613473958_r8, & + 0.00054539225355670472_r8, 0.00053620897438346805_r8, & + 0.00052477784481384738_r8, 0.00051288486338914373_r8, & + 0.00050102087001073113_r8, 0.00048820047323428389_r8, & + 0.00047933712193604994_r8, 0.00047580871867155806_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,52) / & + 6.2850754390613063e-06_r8, 5.8961594424660278e-06_r8, & + 5.7383003765236013e-06_r8, 6.2619466368928569e-06_r8, & + 5.9591167673448421e-06_r8, 5.6803381026524542e-06_r8, & + 5.383545506752725e-06_r8, 5.5903960800199773e-06_r8, & + 6.7931879887237207e-06_r8, 8.7606895328657138e-06_r8, & + 1.1427822513373624e-05_r8, 1.5813396836486356e-05_r8, & + 2.993149922500777e-05_r8, 5.0016267871231005e-05_r8, & + 7.7248086126458236e-05_r8, 0.00011167162850307284_r8, & + 0.00019657602191903019_r8, 0.00026965251089344896_r8, & + 0.00031872465978647718_r8, 0.00035335579379454211_r8, & + 0.00038059198500740437_r8, 0.00040270941853910155_r8, & + 0.00042325918628825841_r8, 0.00044170654632600119_r8, & + 0.00045971200817826468_r8, 0.00047689612509224649_r8, & + 0.0004912554760692654_r8, 0.00052310676471453623_r8, & + 0.00055072424394706193_r8, 0.00056542022847576887_r8, & + 0.00057483953065070041_r8, 0.00057649016816087577_r8, & + 0.00057486500246053843_r8, 0.00057001505628623706_r8, & + 0.00056298782725739511_r8, 0.0005562311172969184_r8, & + 0.00054915407178913361_r8, 0.00054023272884564516_r8, & + 0.00053227926316780588_r8, 0.00052129905108200074_r8, & + 0.00051196242970375134_r8, 0.00050568179644712582_r8, & + 0.00049786011841666789_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,52) / & + 5.483823382565565e-06_r8, 5.2068819405261406e-06_r8, & + 5.3137973944369355e-06_r8, 5.0286834227654324e-06_r8, & + 4.7640580227837217e-06_r8, 4.4912122330139025e-06_r8, & + 4.7433426017721644e-06_r8, 5.9010671595292466e-06_r8, & + 7.5728107615888024e-06_r8, 9.6673692466920018e-06_r8, & + 1.2162328340703074e-05_r8, 1.7397036167638355e-05_r8, & + 2.9914965397667628e-05_r8, 4.4585378609048573e-05_r8, & + 6.211622193016355e-05_r8, 8.6656571941465073e-05_r8, & + 0.00016238588653195746_r8, 0.00025042337341638136_r8, & + 0.00032191655271116595_r8, 0.00037680477491783558_r8, & + 0.00041282706948770937_r8, 0.00043755220712207385_r8, & + 0.00045677883415988914_r8, 0.00047363629025043338_r8, & + 0.0004903509267104077_r8, 0.00050694065908085759_r8, & + 0.00052107877238479047_r8, 0.00055186123433832214_r8, & + 0.00057898004241120355_r8, 0.00059422588850615644_r8, & + 0.00060183026271203163_r8, 0.00060077559756979856_r8, & + 0.00059643437715152211_r8, 0.00059047207292520752_r8, & + 0.00058463269721712211_r8, 0.00057787434623455343_r8, & + 0.00057031995696997019_r8, 0.00056374968057132564_r8, & + 0.00055461359590510892_r8, 0.00054799283037767967_r8, & + 0.00054145181064065582_r8, 0.00053827264231633457_r8, & + 0.00053902989609943685_r8, 0.00053981849050467189_r8, 9e90_r8 & + / +data saar_ref(:,30,52) / & + 8.6666113016919086e-06_r8, 8.7139506890546041e-06_r8, & + 8.9596640701899847e-06_r8, 9.7902299435776805e-06_r8, & + 9.0936622001509141e-06_r8, 9.1171321815392001e-06_r8, & + 9.1377557254959499e-06_r8, 1.0922204984135741e-05_r8, & + 1.3870231760195048e-05_r8, 1.733782655793389e-05_r8, & + 2.1093923635986429e-05_r8, 2.9205179895633914e-05_r8, & + 4.2147558765209749e-05_r8, 5.5279745433622873e-05_r8, & + 7.1188949553976582e-05_r8, 9.1823489109467993e-05_r8, & + 0.0001526756535837244_r8, 0.0002418609372730682_r8, & + 0.00032545309385247241_r8, 0.00039380392206643099_r8, & + 0.00044237449359909355_r8, 0.00047618878952166457_r8, & + 0.0004999839113553206_r8, 0.00051758600732691598_r8, & + 0.00053360506238677829_r8, 0.00054897123388907032_r8, & + 0.00056173908882506049_r8, 0.00059005708917709741_r8, & + 0.00061078085167123744_r8, 0.0006243533955167627_r8, & + 0.00062954898428201197_r8, 0.00062515621021352798_r8, & + 0.00061835707762737419_r8, 0.00061177297711081349_r8, & + 0.00060522275964238848_r8, 0.00059943744040792907_r8, & + 0.00059084925445766431_r8, 0.00058408248628752932_r8, & + 0.0005774207923818094_r8, 0.00056920011242293019_r8, & + 0.00056221181541862278_r8, 0.00055866554532967418_r8, & + 0.00055636852982769887_r8, 0.0005551998268569677_r8, & + 0.00055559151950474112_r8 & + / +data saar_ref(:,31,52) / & + 1.4273822334215812e-05_r8, 1.4614903603155236e-05_r8, & + 1.5124384475861946e-05_r8, 1.8862409781509262e-05_r8, & + 1.8905948362519984e-05_r8, 1.9039363106989068e-05_r8, & + 1.7683681583947698e-05_r8, 2.0305783644518186e-05_r8, & + 2.5033361729863696e-05_r8, 3.0385764816998498e-05_r8, & + 3.5809289170437245e-05_r8, 4.3953261793469794e-05_r8, & + 5.7406172693257967e-05_r8, 7.2234960349616602e-05_r8, & + 9.0404872434127895e-05_r8, 0.00011251426247556242_r8, & + 0.00017576103682609382_r8, 0.0002616323385993271_r8, & + 0.0003460853802878007_r8, 0.00041940086233311036_r8, & + 0.00047134083694074332_r8, 0.00050949298127092276_r8, & + 0.00053621006757688643_r8, 0.00055589344552823769_r8, & + 0.00057298854475568931_r8, 0.00058786211962734436_r8, & + 0.00059931680142649181_r8, 0.00063148548560820988_r8, & + 0.00065072774252139922_r8, 0.00066157974729211548_r8, & + 0.00066135412091494826_r8, 0.00065385531632207081_r8, & + 0.00064406366589194939_r8, 0.00063494677489829587_r8, & + 0.00062578238494480853_r8, 0.00062018361427918834_r8, & + 0.00061449325957531483_r8, 0.00060893132565296006_r8, & + 0.00060472858709468473_r8, 0.00059501083754948385_r8, & + 0.00058561855821573057_r8, 0.00058074226846019817_r8, & + 0.00057672463638912405_r8, 0.00057169419370046862_r8, 9e90_r8 & + / +data saar_ref(:,32,52) / & + 1.8339380131795028e-05_r8, 1.8816737987275207e-05_r8, & + 2.0360000875774328e-05_r8, 2.8638663739957892e-05_r8, & + 3.0104566417608754e-05_r8, 3.0182484694471448e-05_r8, & + 3.0929327329676481e-05_r8, 3.3651083010456094e-05_r8, & + 3.9379847308554838e-05_r8, 4.583811335135178e-05_r8, & + 5.2466569406860044e-05_r8, 6.0992306290252128e-05_r8, & + 7.6229455825882727e-05_r8, 9.5573501537775707e-05_r8, & + 0.00012128960811330754_r8, 0.00015301137800008576_r8, & + 0.00022789090552401906_r8, 0.00030861605798610675_r8, & + 0.00038492977988370975_r8, 0.00044939676173751401_r8, & + 0.00049777983651917788_r8, 0.00053603945490364837_r8, & + 0.00056348465976054692_r8, 0.0005875945191951543_r8, & + 0.00060803262615415489_r8, 0.00062566678989168622_r8, & + 0.00063932251500605311_r8, 0.00066606922619951868_r8, & + 0.00068452261126234208_r8, 0.00069154998218334427_r8, & + 0.00068570762324298763_r8, 0.00067706913486514149_r8, & + 0.00066818484475572658_r8, 0.00066051082009156486_r8, & + 0.00065145374186055928_r8, 0.00064870268834201796_r8, & + 0.00064712554990185389_r8, 0.00064533514260684216_r8, & + 0.00064262953085089799_r8, 0.00063692345807207697_r8, & + 0.00061926452028833923_r8, 0.00060272500832258267_r8, & + 0.00059433266396338648_r8, 0.0005895224342624952_r8, & + 0.00059422157812346233_r8 & + / +data saar_ref(:,33,52) / & + 3.1884038930818992e-05_r8, 3.145204738669431e-05_r8, & + 3.2652282794422785e-05_r8, 4.2790992507226811e-05_r8, & + 4.6579506828129591e-05_r8, 4.9537711948897843e-05_r8, & + 5.3954279223322434e-05_r8, 5.8815840468633253e-05_r8, & + 6.7029874898754394e-05_r8, 7.5369410400572185e-05_r8, & + 8.6190023057702625e-05_r8, 9.9553634024139072e-05_r8, & + 0.00012467589340898469_r8, 0.00015625365395785642_r8, & + 0.00019328102299270627_r8, 0.00023349565312761329_r8, & + 0.00031331698375797109_r8, 0.00038528176458617076_r8, & + 0.00044762047242637344_r8, 0.00049612481522186855_r8, & + 0.00053525090000842122_r8, 0.00056872009450436157_r8, & + 0.00059563473239999183_r8, 0.00062024207414029147_r8, & + 0.00064185483025029351_r8, 0.00066084853645560077_r8, & + 0.00067690216743938956_r8, 0.00069998290779659845_r8, & + 0.00071549760604764018_r8, 0.0007205294872378316_r8, & + 0.00071428934929736328_r8, 0.00070577350374087251_r8, & + 0.00069772386374854732_r8, 0.00069148443315724425_r8, & + 0.00068352768506554245_r8, 0.00068076745851412942_r8, & + 0.00068269395732040649_r8, 0.00068913942010667272_r8, & + 0.00068999512707179091_r8, 0.00068700738486893002_r8, & + 0.00067699428452546644_r8, 0.000666692738695166_r8, & + 0.00066409249097962048_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,52) / & + 6.190683655964652e-05_r8, 6.1490058188204671e-05_r8, & + 6.1562183960037759e-05_r8, 6.0645074432409624e-05_r8, & + 7.0931117791351518e-05_r8, 7.9176953325506755e-05_r8, & + 9.3303671391772091e-05_r8, 0.0001010513907388017_r8, & + 0.00011996122702225317_r8, 0.00014589640494685815_r8, & + 0.00016857493402597945_r8, 0.00019268312916335509_r8, & + 0.00022967008164714671_r8, 0.00027275214832205843_r8, & + 0.0003114516974715733_r8, 0.00034864534106246095_r8, & + 0.00041538705692260679_r8, 0.00047055632617112815_r8, & + 0.00051244885382904391_r8, 0.00054759307722908226_r8, & + 0.00057854919151979322_r8, 0.00060627930042697609_r8, & + 0.00062967862020184067_r8, 0.00065141461930947632_r8, & + 0.00066956285723369284_r8, 0.0006854807772764919_r8, & + 0.00070017651861927236_r8, 0.00072296825470206255_r8, & + 0.00073612082794233193_r8, 0.00073939502031971727_r8, & + 0.00073451119951235702_r8, 0.00072579257788529274_r8, & + 0.00071684796288486196_r8, 0.00070782414006377624_r8, & + 0.00069890824431607587_r8, 0.00069391239644091946_r8, & + 0.00069489120806997303_r8, 0.00070058530131789521_r8, & + 0.00070617048411040757_r8, 0.00070765966771631813_r8, & + 0.00070447420656072378_r8, 0.00069457988524956817_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,35,52) / & + 9.1965677362512019e-05_r8, 9.4096652076054775e-05_r8, & + 9.5777838455831689e-05_r8, 9.190856680223144e-05_r8, & + 0.00010258811227818676_r8, 0.00011805516914925014_r8, & + 0.00014086182842729502_r8, 0.00016313360444570872_r8, & + 0.0002184045842013538_r8, 0.00027239093009518063_r8, & + 0.00030392407601056515_r8, 0.00033706036993260362_r8, & + 0.00035658325245451167_r8, 0.00039305482371785591_r8, & + 0.00042372027244585905_r8, 0.00045683692939037403_r8, & + 0.00050584350433154437_r8, 0.00054164842429575135_r8, & + 0.00057157400111291817_r8, 0.00059905752698304938_r8, & + 0.00062277813288250268_r8, 0.00064658984879533733_r8, & + 0.00066682867612463019_r8, 0.00068337303695141245_r8, & + 0.00069728596446026996_r8, 0.00070978651825536496_r8, & + 0.00072147284213116701_r8, 0.00073979542470840182_r8, & + 0.00074966063094720364_r8, 0.00075224275903953692_r8, & + 0.00075010275624960525_r8, 0.00074275993924400588_r8, & + 0.00073450586104363276_r8, 0.00072569773760343468_r8, & + 0.00071796892127099247_r8, 0.00071399392755575346_r8, & + 0.00071333139056588008_r8, 0.0007145054130802802_r8, & + 0.00071510922571397075_r8, 0.00071546189614821079_r8, & + 0.00072069271205594566_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,52) / & + 8.0797203472722929e-05_r8, 8.5719032469434527e-05_r8, & + 8.9785563119351342e-05_r8, 9.9846885858960872e-05_r8, & + 0.00010921631261171334_r8, 0.00012858628129609401_r8, & + 0.00015953053151980488_r8, 0.00019382325795154183_r8, & + 0.0002560809712514052_r8, 0.00031489767514094686_r8, & + 0.0003451435948580418_r8, 0.00039159682464572396_r8, & + 0.00040832445700448596_r8, 0.00044339472907736928_r8, & + 0.0004674441624521178_r8, 0.0005001130444332797_r8, & + 0.00054086312904305807_r8, 0.00057144844726376282_r8, & + 0.00060042072657109642_r8, 0.00062648218179701118_r8, & + 0.00064796306101690126_r8, 0.00066998013369189602_r8, & + 0.00069034828347163389_r8, 0.00070658768086650939_r8, & + 0.00072028151789612564_r8, 0.00073154445105215406_r8, & + 0.00074222873008423747_r8, 0.00075650683818645134_r8, & + 0.0007624953639573434_r8, 0.00076323024505736648_r8, & + 0.0007611905960731724_r8, 0.00075558755291121036_r8, & + 0.00074852721875546353_r8, 0.00074181035079811048_r8, & + 0.00073607817536477276_r8, 0.00073253717367124114_r8, & + 0.00072946417445760438_r8, 0.00072423296851820476_r8, & + 0.00071249035284401722_r8, 0.00068714789306109625_r8, & + 0.00066970220025326904_r8, 0.00066811147612971626_r8, & + 0.00066844745466112935_r8, 0.00066882790000483746_r8, 9e90_r8 & + / +data saar_ref(:,37,52) / & + 5.6645184326606506e-05_r8, 6.5148085533916789e-05_r8, & + 6.7664244941048206e-05_r8, 9.5521958704764497e-05_r8, & + 0.00010646758774342097_r8, 0.00012472994430016092_r8, & + 0.00015549197159266698_r8, 0.00017867030931916788_r8, & + 0.00022245461765207924_r8, 0.00026485888531845421_r8, & + 0.00028050443913126157_r8, 0.00033171379896722195_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,52) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,52) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,52) / & + 9.7764049467932701e-05_r8, 8.8151585070881259e-05_r8, & + 9.1358961086399892e-05_r8, 0.00010720328252343945_r8, & + 0.00011551505920398989_r8, 0.00011991351043062592_r8, & + 0.00015089818007788493_r8, 0.00016381123181901665_r8, & + 0.00026565867070050175_r8, 0.00023212315352081771_r8, & + 0.00020941266896741073_r8, 0.0001390096419873619_r8, & + 0.00011159818086876439_r8, 0.00010443229378045776_r8, & + 0.0001099287273185067_r8, 0.00010178306514638709_r8, & + 0.00010503199422255126_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,52) / & + 0.00010391678485487612_r8, 9.1097376751521838e-05_r8, & + 9.7377397266317932e-05_r8, 0.00010863609010029008_r8, & + 0.00011131765628164911_r8, 0.00011678410428012316_r8, & + 0.00014753968999637725_r8, 0.00016769038096902579_r8, & + 0.000298576380955146_r8, 0.00027623571942611921_r8, & + 0.00024365747503880621_r8, 0.00015300008165256349_r8, & + 0.00011768151038580895_r8, 0.0001110730152584263_r8, & + 0.000118794539619578_r8, 0.00010849556011371254_r8, & + 0.00010494248579948493_r8, 9.0752023537777644e-05_r8, & + 8.730561314780658e-05_r8, 8.8522787645831523e-05_r8, & + 8.7016672231455229e-05_r8, 8.6696182969286841e-05_r8, & + 8.6887384134067339e-05_r8, 8.9429158965297672e-05_r8, & + 9.3615781710074645e-05_r8, 9.8278223085401331e-05_r8, & + 0.00010296134407776553_r8, 0.00010838131021442815_r8, & + 0.00011436077161732377_r8, 0.00011509617441813469_r8, & + 0.00011508267249643874_r8, 0.00011065093048070909_r8, & + 0.00010702174010901398_r8, 0.00013477657052482345_r8, & + 0.00013462910176464019_r8, 0.00013450796734085474_r8, & + 0.00013055414161571057_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,52) / & + 0.00011015133658341367_r8, 0.0001023034207078729_r8, & + 0.00010889639524145059_r8, 0.00011196342868326755_r8, & + 0.00011519308456724566_r8, 0.00011974456876919869_r8, & + 0.00013222663109892823_r8, 0.00014611386470640209_r8, & + 0.00028670673241834447_r8, 0.00031520152163464616_r8, & + 0.00026492416594712181_r8, 0.00015988045913398289_r8, & + 0.00010873638316486374_r8, 9.0017564611977495e-05_r8, & + 0.00010640168448711326_r8, 0.0001007662842310838_r8, & + 9.481539127753749e-05_r8, 8.8562502151049038e-05_r8, & + 8.2822314050198648e-05_r8, 8.3382623854328815e-05_r8, & + 8.2566947816602217e-05_r8, 8.1557474533702052e-05_r8, & + 8.1616120548467881e-05_r8, 8.2707472944436644e-05_r8, & + 8.68258729088181e-05_r8, 9.1640379706011882e-05_r8, & + 9.4574173508098574e-05_r8, 0.00010879419753170412_r8, & + 0.00011592537293951743_r8, 0.00011650315909262333_r8, & + 0.00011513540102429145_r8, 0.00011475730155192652_r8, & + 0.00010555322115181439_r8, 0.00012268717421522185_r8, & + 0.00011574368006366079_r8, 0.00011611450548636818_r8, & + 0.00013301238186277722_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,52) / & + 0.00010180100051466276_r8, 0.00010338515628962022_r8, & + 0.00010196486046183782_r8, 0.00012651872428663444_r8, & + 0.00013439951834968216_r8, 0.00013769501383421509_r8, & + 0.00016198245979373105_r8, 0.00018566572075710591_r8, & + 0.00023670373455802863_r8, 0.00026928678118628632_r8, & + 0.00020674814668265605_r8, 0.00013203347155499713_r8, & + 7.9995986503395231e-05_r8, 7.379391442134606e-05_r8, & + 8.3136240637613295e-05_r8, 8.291764496684399e-05_r8, & + 7.9367799300169483e-05_r8, 7.680780072174596e-05_r8, & + 7.4889740928741423e-05_r8, 7.6589383425812945e-05_r8, & + 7.7298015786098629e-05_r8, 7.841587934845824e-05_r8, & + 7.936526669462672e-05_r8, 8.1456619475515414e-05_r8, & + 8.7590100419514074e-05_r8, 9.198934453937731e-05_r8, & + 9.5814291250114915e-05_r8, 0.00010792299480543305_r8, & + 0.00011682491762240774_r8, 0.00011575063691886502_r8, & + 0.00011439590249335708_r8, 0.00011445294757562241_r8, & + 0.00010779573319617575_r8, 0.00011786669862376577_r8, & + 0.00011599079860940673_r8, 0.00011600187623536892_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,52) / & + 8.5766197181687717e-05_r8, 0.00010123889416155043_r8, & + 8.9567230828307048e-05_r8, 0.00012593813445786476_r8, & + 0.00012404802564575058_r8, 0.00012437158887620571_r8, & + 0.00015560187972204212_r8, 0.00016663822540851522_r8, & + 0.00016833067495551087_r8, 0.00013446035017743236_r8, & + 0.00010024858131051893_r8, 8.6105368659753485e-05_r8, & + 7.1579288556050162e-05_r8, 7.5290074603690785e-05_r8, & + 7.785513675792575e-05_r8, 7.747544939766963e-05_r8, & + 7.4869322461546293e-05_r8, 7.41914921845194e-05_r8, & + 7.504623395722882e-05_r8, 7.8016312468493523e-05_r8, & + 7.9945237095807432e-05_r8, 8.2293405846271255e-05_r8, & + 8.4743427703508581e-05_r8, 8.8795703350993813e-05_r8, & + 9.49738996926254e-05_r8, 9.8849737691003066e-05_r8, & + 0.00010304618608563817_r8, 0.0001104022303423421_r8, & + 0.00012162757089969319_r8, 0.00012460756423250305_r8, & + 0.00012185332202403107_r8, 0.00012003260528424462_r8, & + 0.00011354215607959397_r8, 0.0001144702691930638_r8, & + 0.00011654744430151456_r8, 0.00011811659354769447_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,52) / & + 7.9546862676593613e-05_r8, 0.00010740156265022734_r8, & + 9.4640249974957253e-05_r8, 0.00010718704586887595_r8, & + 0.00011175122845260542_r8, 0.000125636170702885_r8, & + 0.00014775443013585659_r8, 0.00011233157198327909_r8, & + 8.403993684365086e-05_r8, 7.3392784761658114e-05_r8, & + 6.9985537950479533e-05_r8, 7.0555996050299455e-05_r8, & + 6.907596397386453e-05_r8, 7.1607903185912447e-05_r8, & + 7.2045438144839399e-05_r8, 7.3300014987271535e-05_r8, & + 7.3248941695437924e-05_r8, 7.3667545222048198e-05_r8, & + 7.5705358606161985e-05_r8, 7.9145781529503469e-05_r8, & + 8.1988263209352644e-05_r8, 8.5424482631174027e-05_r8, & + 8.9201954191396119e-05_r8, 9.3655061189177325e-05_r8, & + 9.9298968385173818e-05_r8, 0.00010372439797672839_r8, & + 0.00010954982936659881_r8, 0.00011885972384406086_r8, & + 0.00012287982626310004_r8, 0.00012191591654752267_r8, & + 0.00012027855886040617_r8, 0.00012049096638813044_r8, & + 0.00011920800095789879_r8, 0.00011931556247950247_r8, & + 0.00012033415687689746_r8, 0.00012127644430237723_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,53) / & + 9.6111922293074095e-05_r8, 0.00010159830271273357_r8, & + 0.00011017428680585242_r8, 0.00012207760364014306_r8, & + 0.00012303298704680751_r8, 0.00012859777948018262_r8, & + 0.00014999347668606964_r8, 0.00015903681792121493_r8, & + 0.00015499784909696717_r8, 0.00015252048123180965_r8, & + 0.00015371419112448641_r8, 0.00016347546276162598_r8, & + 0.00017076949878874607_r8, 0.00018645748587870338_r8, & + 0.00019041088808371696_r8, 0.00019166555551999935_r8, & + 0.00019796415263789491_r8, 0.00021557535137108584_r8, & + 0.00022280387618860674_r8, 0.00022972727546033566_r8, & + 0.00023581686221021454_r8, 0.00024183474133960832_r8, & + 0.00024549840603215579_r8, 0.00024962915544950366_r8, & + 0.00025312485364348139_r8, 0.00025686182687461331_r8, & + 0.00026055888433429132_r8, 0.00026912361705605043_r8, & + 0.00027491057085421021_r8, 0.00027698891995354242_r8, & + 0.00028158342545345899_r8, 0.00028537537522574559_r8, & + 0.0002901957653923518_r8, 0.00029307932722053221_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,2,53) / & + 9.6111922293074095e-05_r8, 0.00010159830271273357_r8, & + 0.00011017428680585242_r8, 0.00012207760364014306_r8, & + 0.00012303298704680751_r8, 0.00012859777948018262_r8, & + 0.00014999347668606964_r8, 0.00015903681792121493_r8, & + 0.00015499784909696717_r8, 0.00015252048123180965_r8, & + 0.00015371419112448641_r8, 0.00016347546276162598_r8, & + 0.00017076949878874607_r8, 0.00018645748587870338_r8, & + 0.00019041088808371696_r8, 0.00019166555551999935_r8, & + 0.00019796415263789491_r8, 0.00021557535137108584_r8, & + 0.00022280387618860674_r8, 0.00022972727546033566_r8, & + 0.00023581686221021454_r8, 0.00024183474133960832_r8, & + 0.00024549840603215579_r8, 0.00024962915544950366_r8, & + 0.00025312485364348139_r8, 0.00025686182687461331_r8, & + 0.00026055888433429132_r8, 0.00026912361705605043_r8, & + 0.00027491057085421021_r8, 0.00027698891995354242_r8, & + 0.00028158342545345899_r8, 0.00028537537522574559_r8, & + 0.0002901957653923518_r8, 0.00029307932722053221_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,3,53) / & + 9.6111922293074095e-05_r8, 0.00010159830271273357_r8, & + 0.00011017428680585242_r8, 0.00012207760364014306_r8, & + 0.00012303298704680751_r8, 0.00012859777948018262_r8, & + 0.00014999347668606964_r8, 0.00015903681792121493_r8, & + 0.00015499784909696717_r8, 0.00015252048123180965_r8, & + 0.00015371419112448641_r8, 0.00016347546276162598_r8, & + 0.00017076949878874607_r8, 0.00018645748587870338_r8, & + 0.00019041088808371696_r8, 0.00019166555551999935_r8, & + 0.00019796415263789491_r8, 0.00021557535137108584_r8, & + 0.00022280387618860674_r8, 0.00022972727546033566_r8, & + 0.00023581686221021454_r8, 0.00024183474133960832_r8, & + 0.00024549840603215579_r8, 0.00024962915544950366_r8, & + 0.00025312485364348139_r8, 0.00025686182687461331_r8, & + 0.00026055888433429132_r8, 0.00026912361705605043_r8, & + 0.00027491057085421021_r8, 0.00027698891995354242_r8, & + 0.00028158342545345899_r8, 0.00028537537522574559_r8, & + 0.0002901957653923518_r8, 0.00029307932722053221_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,4,53) / & + 9.9861083562640651e-05_r8, 0.00010519956330945115_r8, & + 0.00010838641924554858_r8, 0.00012115889167763118_r8, & + 0.00012046821074119973_r8, 0.00012812585959706129_r8, & + 0.00014870702613385675_r8, 0.00015650142672930272_r8, & + 0.00015216944161592532_r8, 0.00015031217218664647_r8, & + 0.00015228558640801261_r8, 0.00016443080618115284_r8, & + 0.00018208267341512414_r8, 0.000194613554494194_r8, & + 0.00019882205299772229_r8, 0.00020095339729321747_r8, & + 0.00020836699042463524_r8, 0.00021983913082946669_r8, & + 0.00022505446416918047_r8, 0.00023081129857082682_r8, & + 0.00023657223983058302_r8, 0.00024094839125352057_r8, & + 0.00024490405121909244_r8, 0.00024916498152692643_r8, & + 0.00025311685671756089_r8, 0.0002568408222317041_r8, & + 0.00026054625634605263_r8, 0.0002691688759191718_r8, & + 0.00027518917879587601_r8, 0.00027713295391639724_r8, & + 0.00028102098032049578_r8, 0.00028480883455679927_r8, & + 0.00028907781622084292_r8, 0.00029088130660138463_r8, & + 0.00028869574080841721_r8, 0.00027008944392969947_r8, & + 0.00025626625602657917_r8, 0.00025268102059973409_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,53) / & + 0.00011028346190661715_r8, 0.00011342123022380585_r8, & + 0.00010450659120449128_r8, 0.00011438115689933782_r8, & + 0.0001168123294171483_r8, 0.00012280066375276483_r8, & + 0.00014067159824695554_r8, 0.00014845599318644203_r8, & + 0.00014804317904438725_r8, 0.00015653416669744882_r8, & + 0.00016622321091809263_r8, 0.0001787167029843336_r8, & + 0.00019793409882467062_r8, 0.00020813762560031044_r8, & + 0.00021601968227912579_r8, 0.00022194888413667375_r8, & + 0.00022851965714468616_r8, 0.00023124105323467606_r8, & + 0.00023429757814232639_r8, 0.00023895451524153706_r8, & + 0.00024328469519927317_r8, 0.00024752782081890497_r8, & + 0.00025145112857285253_r8, 0.00025514710568654827_r8, & + 0.00025876710938947309_r8, 0.00026260234965642704_r8, & + 0.00026612262892708141_r8, 0.00027294842937579324_r8, & + 0.00027640669230433136_r8, 0.00027941411213760955_r8, & + 0.00028246508292053917_r8, 0.0002852893049718854_r8, & + 0.00028543671360173822_r8, 0.00027922623405302727_r8, & + 0.00027142450824829451_r8, 0.0002617100558853723_r8, & + 0.00025601394805430501_r8, 0.00025333936941034259_r8, & + 0.00026052932192216044_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,53) / & + 0.00012580496225950578_r8, 0.00012663091436402688_r8, & + 0.00011414495884113394_r8, 0.00010027521864199435_r8, & + 0.00010092140248475389_r8, 0.00010290606431946195_r8, & + 0.00012532184628811415_r8, 0.00014335503153755416_r8, & + 0.00015145129225873114_r8, 0.0001618321987993478_r8, & + 0.00017263631863538258_r8, 0.0001876828984012241_r8, & + 0.00020613419523044541_r8, 0.00021272880424707177_r8, & + 0.00021822110640936374_r8, 0.00022192854696917593_r8, & + 0.00022761221830533391_r8, 0.00023251269558183954_r8, & + 0.0002372284742833213_r8, 0.00024158804845357694_r8, & + 0.00024588516050643529_r8, 0.00025323238365694914_r8, & + 0.00025745313716917748_r8, 0.00026128992196625014_r8, & + 0.00026492338784761798_r8, 0.00026842105971423629_r8, & + 0.00027131909034252823_r8, 0.0002758319300932267_r8, & + 0.00027914790195652031_r8, 0.0002833239908298492_r8, & + 0.0002853718976767523_r8, 0.00028515514241515523_r8, & + 0.00028154331131338348_r8, 0.00027596176231119076_r8, & + 0.00026885458951273627_r8, 0.00026623915174697033_r8, & + 0.00026322912768215968_r8, 0.00025823201081065928_r8, & + 0.00026401761953427709_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,53) / & + 0.00012302813199118601_r8, 0.00012309630251852063_r8, & + 0.00011837393015874839_r8, 6.9724882615434025e-05_r8, & + 7.0633971166215737e-05_r8, 6.9412045180655555e-05_r8, & + 8.3668908659968692e-05_r8, 0.00010374275524221126_r8, & + 0.00011661563860274873_r8, 0.00012487622891703089_r8, & + 0.00013073354944471546_r8, 0.0001626903021862834_r8, & + 0.00019698097166073573_r8, 0.00020126691401908047_r8, & + 0.00020458956888772762_r8, 0.00020755942225892423_r8, & + 0.00021219339060612143_r8, 0.00021715369302971257_r8, & + 0.00022142083160775594_r8, 0.00022503575839892857_r8, & + 0.00022925479890678995_r8, 0.00024007906458572102_r8, & + 0.0002453332265286122_r8, 0.00025024673368041571_r8, & + 0.00025485682793151341_r8, 0.00025922021873014354_r8, & + 0.00026321931433125767_r8, 0.00027137714283495534_r8, & + 0.00027693242372718883_r8, 0.00028086881166377426_r8, & + 0.00028256394571492374_r8, 0.00028231282590144441_r8, & + 0.00028097133745599916_r8, 0.00028000802310424057_r8, & + 0.00027626077823848083_r8, 0.00027404777495390527_r8, & + 0.0002720066139118307_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,53) / & + 7.8314602121133344e-05_r8, 7.8489497691210686e-05_r8, & + 7.8011134401738107e-05_r8, 2.9316934716088366e-05_r8, & + 2.8449319913105496e-05_r8, 2.7679179051140112e-05_r8, & + 2.8431380241295332e-05_r8, 3.7852599605735888e-05_r8, & + 4.5946697857798096e-05_r8, 5.1351759203394728e-05_r8, & + 5.5332569349549594e-05_r8, 9.2402563839296285e-05_r8, & + 0.00013395305998555867_r8, 0.00014107950868206504_r8, & + 0.00014743246546598481_r8, 0.00015342355929450594_r8, & + 0.00016306536781643356_r8, 0.00017047951523633132_r8, & + 0.00017709673143369113_r8, 0.00018315123527656263_r8, & + 0.00018871789038465373_r8, 0.00019446530512682241_r8, & + 0.00019988650471779604_r8, 0.00020539900305790215_r8, & + 0.00021085790425548297_r8, 0.00021587073903819856_r8, & + 0.00022093849087227943_r8, 0.00023255066212972284_r8, & + 0.00024384543426992093_r8, 0.00025374451751098532_r8, & + 0.00026175853725977655_r8, 0.00026633980609829736_r8, & + 0.0002707357479754726_r8, 0.00026980932560459855_r8, & + 0.00027102219906636614_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,53) / & + 2.6713498588659118e-05_r8, 2.6798939543506865e-05_r8, & + 2.666299829430137e-05_r8, 1.5361807882987851e-05_r8, & + 1.5059667337418403e-05_r8, 1.487677434066366e-05_r8, & + 1.6149872926697578e-05_r8, 1.8993660734181062e-05_r8, & + 2.1620606387995152e-05_r8, 2.3558326672417609e-05_r8, & + 2.5255282055717234e-05_r8, 3.356195068527797e-05_r8, & + 4.5284261738746022e-05_r8, 5.0036536719652825e-05_r8, & + 5.6359545703525784e-05_r8, 6.2980943473588138e-05_r8, & + 7.6353544505979035e-05_r8, 8.9728710889886608e-05_r8, & + 0.00010368638274779867_r8, 0.00011795743721749055_r8, & + 0.00013043577286044693_r8, 0.00013925772369682902_r8, & + 0.0001499056634844695_r8, 0.00015905359269518661_r8, & + 0.00016669705072738439_r8, 0.00017307893752904749_r8, & + 0.00017872405125720731_r8, 0.00019003723930884628_r8, & + 0.00020013383776716097_r8, 0.00021016931520801861_r8, & + 0.00022158927759231801_r8, 0.00023336204487054449_r8, & + 0.00024565860719556694_r8, 0.00025494391060720313_r8, & + 0.00026157255012239849_r8, 0.0002622054400213335_r8, & + 0.00026426305774950601_r8, 0.00026603689836535155_r8, & + 0.00026674967763032326_r8, 0.0002657924728314393_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,53) / & + 7.097217487881536e-06_r8, 7.0423011740611648e-06_r8, & + 7.0452257209294518e-06_r8, 8.6187331855491617e-06_r8, & + 8.6475733511093371e-06_r8, 8.8797077546448308e-06_r8, & + 9.7394836804823266e-06_r8, 1.0847197487032913e-05_r8, & + 1.1801794058907052e-05_r8, 1.2650890376613324e-05_r8, & + 1.3312838520795424e-05_r8, 1.4554108387666834e-05_r8, & + 1.655867861241376e-05_r8, 1.7892899661621376e-05_r8, & + 1.9636417564516977e-05_r8, 2.1459570620812963e-05_r8, & + 2.6202944568393968e-05_r8, 3.3042597568565621e-05_r8, & + 4.2919698142327098e-05_r8, 5.3993778636012508e-05_r8, & + 6.6930709808984387e-05_r8, 7.9997328168367752e-05_r8, & + 9.5339855785105354e-05_r8, 0.00011060885796228044_r8, & + 0.00012501056755898353_r8, 0.00013885823551254521_r8, & + 0.0001515108981869279_r8, 0.00017768577317941626_r8, & + 0.00019515252897537314_r8, 0.00020458211965169017_r8, & + 0.0002105276384838178_r8, 0.00021672403375303106_r8, & + 0.00022464534651350294_r8, 0.0002330477414925444_r8, & + 0.00024279216183855959_r8, 0.00025279869276249281_r8, & + 0.00025958519060876326_r8, 0.00026296196927226773_r8, & + 0.00026416780993677536_r8, 0.00026348038291506594_r8, & + 0.00026319001252333833_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,53) / & + 7.5246162572100641e-06_r8, 7.4560817196300493e-06_r8, & + 6.4610949414895893e-06_r8, 5.7935721780724353e-06_r8, & + 5.7766702544866111e-06_r8, 5.7555345250048738e-06_r8, & + 5.5008912758220488e-06_r8, 5.7468281373109776e-06_r8, & + 6.5475392957724427e-06_r8, 7.7198155749095026e-06_r8, & + 8.4738597364099004e-06_r8, 1.022508556033199e-05_r8, & + 1.2149022270422679e-05_r8, 1.321617684934327e-05_r8, & + 1.471156802556707e-05_r8, 1.5770425771527532e-05_r8, & + 1.803083729486226e-05_r8, 2.1339403756648134e-05_r8, & + 2.6848875359934997e-05_r8, 3.5750275424007475e-05_r8, & + 4.863277762528129e-05_r8, 6.3608517128654072e-05_r8, & + 7.9780243041576243e-05_r8, 9.6780001916198867e-05_r8, & + 0.00011385794441696877_r8, 0.00013043306194604246_r8, & + 0.0001459373366457346_r8, 0.00018194769852311322_r8, & + 0.00021212231521196319_r8, 0.00023040139870109252_r8, & + 0.00024048119055020944_r8, 0.00024470301833502185_r8, & + 0.00024371296186467321_r8, 0.00024021975645276134_r8, & + 0.00024168107700394496_r8, 0.0002476542902082166_r8, & + 0.00025451435226416181_r8, 0.00025905581379356054_r8, & + 0.00026167973740956116_r8, 0.00026310060180938455_r8, & + 0.00026301743463039363_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,53) / & + 5.910492142000006e-06_r8, 5.8447836349740719e-06_r8, & + 4.8693316475066132e-06_r8, 6.3682577199173444e-06_r8, & + 6.309253165457248e-06_r8, 6.1969601953479957e-06_r8, & + 5.5461856636029067e-06_r8, 4.5450455326752302e-06_r8, & + 4.8903422877036923e-06_r8, 5.7652116972833646e-06_r8, & + 6.6724310463396518e-06_r8, 8.75775887710109e-06_r8, & + 1.1291599725609708e-05_r8, 1.2500372467339756e-05_r8, & + 1.3648815120847652e-05_r8, 1.4722566183745237e-05_r8, & + 1.6986034713800166e-05_r8, 2.0394446364237169e-05_r8, & + 2.6033300162099962e-05_r8, 3.550007295857364e-05_r8, & + 4.8725983009039801e-05_r8, 6.5768733459519571e-05_r8, & + 8.3734871507233372e-05_r8, 0.00010178859910152807_r8, & + 0.00012070140330772127_r8, 0.00013867611997773766_r8, & + 0.00015579898475969118_r8, 0.00019465555492334535_r8, & + 0.00022649247770875459_r8, 0.00024525602082577043_r8, & + 0.00025712933362441372_r8, 0.00026269774158616546_r8, & + 0.0002605025797211769_r8, 0.00025228805636790701_r8, & + 0.00024719141176879437_r8, 0.0002485726640719956_r8, & + 0.00025367365295728004_r8, 0.00025816825755733887_r8, & + 0.00026126564807346187_r8, 0.00026303771352365431_r8, & + 0.00026375216293723854_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,53) / & + 3.8407120842968077e-06_r8, 3.7865574909662686e-06_r8, & + 3.6688299919666776e-06_r8, 4.685355121425641e-06_r8, & + 4.6639536630606288e-06_r8, 4.5297853743683864e-06_r8, & + 4.4725449306484131e-06_r8, 3.6930553329430403e-06_r8, & + 3.6785052856675984e-06_r8, 4.2338914959800302e-06_r8, & + 5.0362212660895695e-06_r8, 6.4228671112212321e-06_r8, & + 8.7349242041916295e-06_r8, 1.0336251244967702e-05_r8, & + 1.1687906165047587e-05_r8, 1.2952425066625643e-05_r8, & + 1.5480284893456148e-05_r8, 1.8874658553584799e-05_r8, & + 2.5094469779189583e-05_r8, 3.4345369665650674e-05_r8, & + 4.7318295952178146e-05_r8, 6.4884290745965143e-05_r8, & + 8.4612889144843943e-05_r8, 0.00010431092476253382_r8, & + 0.00012473482307108927_r8, 0.00014541108959427882_r8, & + 0.00016470782451812697_r8, 0.0002077643199437165_r8, & + 0.0002370463585560054_r8, 0.00025451447155028933_r8, & + 0.00026713870990214015_r8, 0.000274221997257885_r8, & + 0.00027471391283161726_r8, 0.00026764402536753103_r8, & + 0.00025760397551127746_r8, 0.0002519083120313668_r8, & + 0.00025280399670225086_r8, 0.0002565484891439126_r8, & + 0.00026020606475772579_r8, 0.00026261821687422642_r8, & + 0.00026444356545566976_r8, 0.00026543319773987512_r8, & + 0.000266572243845745_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,53) / & + 3.5401643215514388e-06_r8, 3.4793699423783909e-06_r8, & + 3.5972364001404067e-06_r8, 3.7397527979681353e-06_r8, & + 3.7369578724033499e-06_r8, 3.6436931166205037e-06_r8, & + 3.7062253646177207e-06_r8, 3.5104357285869446e-06_r8, & + 3.3852438681526494e-06_r8, 3.2879875590638019e-06_r8, & + 3.50622991019642e-06_r8, 4.1129616453813409e-06_r8, & + 5.7163721057849039e-06_r8, 7.6398862353275549e-06_r8, & + 9.3657493738928348e-06_r8, 1.0895922235025643e-05_r8, & + 1.3848445649311477e-05_r8, 1.7074444103223359e-05_r8, & + 2.2181453414248716e-05_r8, 3.0287573109050166e-05_r8, & + 4.3682197798911622e-05_r8, 6.1333704314283602e-05_r8, & + 8.2338243376714747e-05_r8, 0.00010377990726425421_r8, & + 0.00012553886914615559_r8, 0.00014786797571475737_r8, & + 0.00016833373995861321_r8, 0.00021483359030500241_r8, & + 0.00024437117884742061_r8, 0.0002632215065353717_r8, & + 0.0002757215236268006_r8, 0.00028254655613079214_r8, & + 0.0002835903077081566_r8, 0.0002780391046960596_r8, & + 0.00026836790134806047_r8, 0.00026039111456023148_r8, & + 0.00025751160248376024_r8, 0.00025848557624035814_r8, & + 0.0002608134894698648_r8, 0.00026292973715449013_r8, & + 0.0002646625615093479_r8, 0.00026561178211072613_r8, & + 0.00026665385436344923_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,53) / & + 4.0492326150166734e-06_r8, 3.9543781727989526e-06_r8, & + 3.9188483709516453e-06_r8, 3.894270982638336e-06_r8, & + 3.9013136858263347e-06_r8, 3.8738881736989577e-06_r8, & + 3.5283631892740915e-06_r8, 3.5516596433001801e-06_r8, & + 3.4276264652810288e-06_r8, 3.3307135442957324e-06_r8, & + 3.3784384454155634e-06_r8, 3.8721613465693986e-06_r8, & + 4.9346189508992378e-06_r8, 6.4896428657868644e-06_r8, & + 8.3782236737152663e-06_r8, 1.0236003565387533e-05_r8, & + 1.402289992295283e-05_r8, 1.7976958928687939e-05_r8, & + 2.3514052191055231e-05_r8, 3.2542133212201281e-05_r8, & + 4.6930597895798748e-05_r8, 6.6400465690468543e-05_r8, & + 8.9476379655784453e-05_r8, 0.00011371045257528776_r8, & + 0.00013686292750419521_r8, 0.0001592844841151677_r8, & + 0.00017887807892648237_r8, 0.00022230655518722391_r8, & + 0.00024987448452666816_r8, 0.00026837910162233708_r8, & + 0.00027906047452040878_r8, 0.00028396547570230508_r8, & + 0.00028365741005617064_r8, 0.0002789674629793663_r8, & + 0.00027203435901474457_r8, 0.00026665152352864374_r8, & + 0.00026392689552014425_r8, 0.0002626333161070396_r8, & + 0.00026176151176500576_r8, 0.0002619453628760502_r8, & + 0.00026372418674957995_r8, 0.00026633820021128827_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,53) / & + 3.9156381900130266e-06_r8, 3.8237203468345276e-06_r8, & + 3.6392202964899837e-06_r8, 3.3129487462483845e-06_r8, & + 3.3466273199724641e-06_r8, 3.2986279667036435e-06_r8, & + 3.053312606653465e-06_r8, 2.9850243107265223e-06_r8, & + 2.9658238655822455e-06_r8, 2.963779955673972e-06_r8, & + 2.9932483844966414e-06_r8, 3.2118882611281377e-06_r8, & + 3.9996973100931158e-06_r8, 5.4122020951170719e-06_r8, & + 7.2089473675665491e-06_r8, 9.6047240250411556e-06_r8, & + 1.5874001162341183e-05_r8, 2.208829823732714e-05_r8, & + 3.0569268178261002e-05_r8, 4.4544675225033044e-05_r8, & + 6.5059767091266146e-05_r8, 9.0582787945777277e-05_r8, & + 0.00011723353626805522_r8, 0.00014320314931509217_r8, & + 0.0001671029417023323_r8, 0.00018805592009241715_r8, & + 0.00020670618142619638_r8, 0.00024234099299357234_r8, & + 0.00026683127285769562_r8, 0.00028244444001538163_r8, & + 0.00029122994518624524_r8, 0.00029465007502999966_r8, & + 0.00029531239142050971_r8, 0.00029267142577991875_r8, & + 0.0002878228907859478_r8, 0.00028355265624298591_r8, & + 0.00028089388563152503_r8, 0.00027875884155297882_r8, & + 0.00027639030761296136_r8, 0.00027452769598805912_r8, & + 0.00027540070050725856_r8, 0.00027970604482338259_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,53) / & + 3.3094935409049032e-06_r8, 3.2174382201908861e-06_r8, & + 3.0551847889613073e-06_r8, 3.0370989917980439e-06_r8, & + 3.0232319383745869e-06_r8, 2.9089618728897494e-06_r8, & + 2.6503569336018339e-06_r8, 2.6234324171118985e-06_r8, & + 2.6367921043467554e-06_r8, 2.6628542627550433e-06_r8, & + 2.6955361870605742e-06_r8, 2.8161499444767168e-06_r8, & + 3.2938566328874806e-06_r8, 4.462449679643237e-06_r8, & + 6.8817867602272303e-06_r8, 1.0477985128980146e-05_r8, & + 2.1415419648674047e-05_r8, 3.3090285239769857e-05_r8, & + 4.8838005230466527e-05_r8, 7.0039944725574068e-05_r8, & + 9.6893073082870968e-05_r8, 0.00012565803069466874_r8, & + 0.00015263805490610334_r8, 0.00017687023461656286_r8, & + 0.00019788351615960021_r8, 0.00021637335468034893_r8, & + 0.00023236283133529404_r8, 0.00026009865063488234_r8, & + 0.00027916346889206669_r8, 0.00029072141220617888_r8, & + 0.00029826075795968444_r8, 0.00030187676581187092_r8, & + 0.00030301233557815583_r8, 0.00030185252194278426_r8, & + 0.00029903716974409643_r8, 0.00029599747061212435_r8, & + 0.00029400022449826377_r8, 0.00029258180285441368_r8, & + 0.00029134913143204552_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,53) / & + 3.8207196350564546e-06_r8, 3.6132992928735999e-06_r8, & + 3.4828664411118844e-06_r8, 3.6064546575031836e-06_r8, & + 3.6303642124869713e-06_r8, 3.3931044244554925e-06_r8, & + 3.2213297600864917e-06_r8, 2.9507100846020868e-06_r8, & + 3.0987804955224749e-06_r8, 3.0549242425093127e-06_r8, & + 3.0597993338414713e-06_r8, 3.2025036970365622e-06_r8, & + 4.1483895208176156e-06_r8, 6.7566305593726498e-06_r8, & + 1.2564887030660589e-05_r8, 2.0440372654752177e-05_r8, & + 4.001797018862122e-05_r8, 6.0400930842338923e-05_r8, & + 8.5300725619905443e-05_r8, 0.00011283637308002521_r8, & + 0.00013966368438864701_r8, 0.0001635495203738751_r8, & + 0.00018548358123023938_r8, 0.0002054939864265315_r8, & + 0.000221169988309048_r8, 0.00023535724654361794_r8, & + 0.00024793363307919225_r8, 0.00027227238511222347_r8, & + 0.00028889097507531355_r8, 0.00029929366229661274_r8, & + 0.00030720099625174282_r8, 0.00031112490582051443_r8, & + 0.00031220241003389603_r8, 0.00031191085319704745_r8, & + 0.00031015770446177812_r8, 0.00030810700331594659_r8, & + 0.00030676851761333296_r8, 0.00030536734240717034_r8, & + 0.0003046205627962713_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,53) / & + 4.9783788168403726e-06_r8, 4.7004679545030153e-06_r8, & + 4.4572432589225395e-06_r8, 3.5553921767563025e-06_r8, & + 3.5316702368135078e-06_r8, 3.4761583080878871e-06_r8, & + 4.1275419828581171e-06_r8, 3.3595573757039196e-06_r8, & + 3.6660363190001023e-06_r8, 3.7079720843789438e-06_r8, & + 3.6818164059900334e-06_r8, 4.1841114960079431e-06_r8, & + 8.1537135710438989e-06_r8, 1.6004321372691538e-05_r8, & + 2.9417546350823201e-05_r8, 4.4401258114445518e-05_r8, & + 6.8998026259506619e-05_r8, 9.2789407283037166e-05_r8, & + 0.00011807163599399272_r8, 0.00014296425338791512_r8, & + 0.00016520307713650489_r8, 0.00018567437163908012_r8, & + 0.00020354950645015037_r8, 0.00022202260542304405_r8, & + 0.00023661188773337275_r8, 0.00025076549140903024_r8, & + 0.00026267180480008727_r8, 0.0002888596844190506_r8, & + 0.00030774293944662971_r8, 0.00032173416386767177_r8, & + 0.00033261739229908797_r8, 0.00033797541276161223_r8, & + 0.00033900357344152521_r8, 0.00033655634088632899_r8, & + 0.00033281264668271561_r8, 0.00032925120843777352_r8, & + 0.00032757445720542008_r8, 0.00032516218435491365_r8, & + 0.0003230808119404623_r8, 0.00032080175306397815_r8, & + 0.00031819292364687515_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,53) / & + 5.0537717282127448e-06_r8, 4.8759042313037172e-06_r8, & + 4.6418788321169717e-06_r8, 3.86129607482868e-06_r8, & + 3.9030204685286983e-06_r8, 3.8808946314161525e-06_r8, & + 4.6422707669770843e-06_r8, 4.0852346784461179e-06_r8, & + 3.9185916844767143e-06_r8, 4.2766361511315427e-06_r8, & + 4.7805986529949522e-06_r8, 7.999981131932806e-06_r8, & + 1.7207329780784843e-05_r8, 3.3590291646697259e-05_r8, & + 5.0958034273746285e-05_r8, 6.6553465000574326e-05_r8, & + 9.0175593043111224e-05_r8, 0.00011040388066461748_r8, & + 0.00013462864398452003_r8, 0.00015719987823528721_r8, & + 0.00017862792378182994_r8, 0.00019914950450877886_r8, & + 0.00021849530407121789_r8, 0.00023787383941661062_r8, & + 0.00025483629018175995_r8, 0.00027154842795136888_r8, & + 0.00028510852794904934_r8, 0.00031240299003857324_r8, & + 0.00033189040018735146_r8, 0.00034617962890725484_r8, & + 0.00035871594959257526_r8, 0.00036496272536875278_r8, & + 0.0003667238148274109_r8, 0.00036450933889289937_r8, & + 0.00036018193918615864_r8, 0.00035458330987055825_r8, & + 0.00035008869594010765_r8, 0.00034350572613517654_r8, & + 0.00033884382833427283_r8, 0.0003354880011438148_r8, & + 0.0003330715109043124_r8, 0.00032753076053674754_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,53) / & + 5.2563704475745224e-06_r8, 5.2289293526097669e-06_r8, & + 5.2238965145619555e-06_r8, 4.8971710859912949e-06_r8, & + 4.9783961844065455e-06_r8, 4.9852714625991102e-06_r8, & + 5.970252176384118e-06_r8, 5.2273554805155758e-06_r8, & + 6.0830957076165655e-06_r8, 8.6814253942795658e-06_r8, & + 1.4931254076791153e-05_r8, 2.5558722818092938e-05_r8, & + 4.4830417316363035e-05_r8, 6.0827744429326646e-05_r8, & + 7.3277465839050843e-05_r8, 8.5816620065637243e-05_r8, & + 0.00010974622156450278_r8, 0.00013148436449120834_r8, & + 0.00015688682353503087_r8, 0.00018028049938972551_r8, & + 0.00020207722888373938_r8, 0.00022128340853276606_r8, & + 0.00024018245908197361_r8, 0.00026150672713330436_r8, & + 0.00028057089196539885_r8, 0.00029909442051199574_r8, & + 0.00031358455387687682_r8, 0.00034292013094169816_r8, & + 0.00036427277901700136_r8, 0.00037655010882523237_r8, & + 0.00038640700836439356_r8, 0.0003916290131829763_r8, & + 0.00039171851922124238_r8, 0.00039024907421666147_r8, & + 0.00038720622230881238_r8, 0.00038218084513594373_r8, & + 0.00037594986211193787_r8, 0.00036531708290402255_r8, & + 0.00035830987550663666_r8, 0.00035378566678653421_r8, & + 0.00034797768831471373_r8, 0.00034349593320287384_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,53) / & + 6.8215236853507776e-06_r8, 6.7973152620954121e-06_r8, & + 6.843732803858195e-06_r8, 7.5257491453408762e-06_r8, & + 7.6499945468056697e-06_r8, 7.7736936920272349e-06_r8, & + 8.7447890560789458e-06_r8, 1.0276998729248162e-05_r8, & + 1.404189037291462e-05_r8, 2.430012782209346e-05_r8, & + 3.7601076689579954e-05_r8, 4.9878910963370288e-05_r8, & + 6.4578159238556102e-05_r8, 7.2817661246635888e-05_r8, & + 8.2535863545313065e-05_r8, 9.572636165062832e-05_r8, & + 0.00012562374786966404_r8, 0.00015133826634014741_r8, & + 0.00017767487672231183_r8, 0.00020308262939451702_r8, & + 0.00022489482911230971_r8, 0.00024520723253717446_r8, & + 0.00026481655061405106_r8, 0.00028909571377068563_r8, & + 0.00031044333671289171_r8, 0.00032954414240495304_r8, & + 0.00034560538682718554_r8, 0.00037885474638105909_r8, & + 0.00040215810113368661_r8, 0.00041377929989770153_r8, & + 0.00041942532073338551_r8, 0.00042336953292320735_r8, & + 0.00042270165012156134_r8, 0.00042061103804742344_r8, & + 0.00041917271661855317_r8, 0.00041496370673485902_r8, & + 0.00040840551629056187_r8, 0.00039661946198578856_r8, & + 0.00038133513240215468_r8, 0.00037043460294584944_r8, & + 0.00036064119617748287_r8, 0.00035638380487045565_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,53) / & + 7.6116387487604074e-06_r8, 7.5559239317835661e-06_r8, & + 7.4179849106915927e-06_r8, 8.6325391008679249e-06_r8, & + 8.8444974876534e-06_r8, 9.1252835766784474e-06_r8, & + 1.0898736463581742e-05_r8, 1.3798855611548907e-05_r8, & + 2.0954878810173609e-05_r8, 3.5665545773995054e-05_r8, & + 5.2550304619008576e-05_r8, 6.500731409746357e-05_r8, & + 7.6424062174627099e-05_r8, 8.3929166533014079e-05_r8, & + 9.1935505589826386e-05_r8, 0.00010234517586733028_r8, & + 0.00013299575915338876_r8, 0.00016195078131742195_r8, & + 0.0001894653785510837_r8, 0.00021777883030716616_r8, & + 0.00024239910665170257_r8, 0.0002655288574978941_r8, & + 0.00028395090319550915_r8, 0.00031124731695181859_r8, & + 0.00033429368391414802_r8, 0.00035407433701463144_r8, & + 0.00037076482202366869_r8, 0.00040329396094199253_r8, & + 0.0004274652507204453_r8, 0.0004452918747832581_r8, & + 0.00045310815850214655_r8, 0.00045612231664333655_r8, & + 0.00045581141049788002_r8, 0.00045273536421768786_r8, & + 0.00044806801434799521_r8, 0.0004423002441149178_r8, & + 0.00043511116796801516_r8, 0.0004272341155641073_r8, & + 0.00041830349814476548_r8, 0.00041551325953777826_r8, & + 0.00041724126512915545_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,53) / & + 6.5418422728711385e-06_r8, 6.5408981065399132e-06_r8, & + 6.3979608936777406e-06_r8, 8.4734898687043811e-06_r8, & + 8.7246240393078481e-06_r8, 8.9511224963924863e-06_r8, & + 1.1495064689542252e-05_r8, 1.9987072252381521e-05_r8, & + 3.4010814506019558e-05_r8, 5.4798391789350623e-05_r8, & + 7.2332583225653968e-05_r8, 8.5686668662747994e-05_r8, & + 9.8570674418349319e-05_r8, 0.0001058745084874675_r8, & + 0.00011280218481385962_r8, 0.00012147291873982519_r8, & + 0.00014808967335384464_r8, 0.00017977792485509658_r8, & + 0.00021190805472158698_r8, 0.0002415676767119813_r8, & + 0.00026754975131904231_r8, 0.00029149999133603092_r8, & + 0.00031008189710618613_r8, 0.00033528013398681917_r8, & + 0.00035683309398729199_r8, 0.00037631784252211895_r8, & + 0.00039304921647796465_r8, 0.00042558732082927423_r8, & + 0.00045172496745480217_r8, 0.00047044384146880639_r8, & + 0.00047972963965835382_r8, 0.00048331024100131513_r8, & + 0.00048390822024824343_r8, 0.0004805162389326759_r8, & + 0.0004723653832419142_r8, 0.00046140661558706313_r8, & + 0.00045004364029095758_r8, 0.00044166268691359686_r8, & + 0.00043575188813907824_r8, 0.00043337310872345285_r8, & + 0.0004331965092556433_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,53) / & + 6.1409671126294042e-06_r8, 6.2194936422298093e-06_r8, & + 6.1355348813358237e-06_r8, 8.7576336115650835e-06_r8, & + 8.7867409820450485e-06_r8, 8.2212859750791629e-06_r8, & + 1.3388993860752366e-05_r8, 3.122645844932193e-05_r8, & + 5.4309745903300935e-05_r8, 7.5615837005168991e-05_r8, & + 8.878269227657449e-05_r8, 9.868762609883292e-05_r8, & + 0.00011017859875308571_r8, 0.00011979605470226215_r8, & + 0.00012862815911440832_r8, 0.0001403891617807742_r8, & + 0.00016919569935245612_r8, 0.00020344930664699658_r8, & + 0.00023568610442596216_r8, 0.00026560818121603347_r8, & + 0.00029196590322871821_r8, 0.00031644424029172855_r8, & + 0.00033962035368061263_r8, 0.00036294609184679195_r8, & + 0.00038229225313058589_r8, 0.0004006478991542579_r8, & + 0.00041840431584731677_r8, 0.00045146074324543307_r8, & + 0.00047825485432226013_r8, 0.00049245137405185316_r8, & + 0.00050124601469208967_r8, 0.00050594683823082661_r8, & + 0.00050917465455177621_r8, 0.00050820097047363374_r8, & + 0.00050212801273179729_r8, 0.00048801997520047443_r8, & + 0.00047237081623086003_r8, 0.00046012500051393338_r8, & + 0.00045184967231689719_r8, 0.00044819204565425537_r8, & + 0.00044622589283404261_r8, 0.00044321152102305423_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,53) / & + 7.1018315148532528e-06_r8, 7.1704985098858912e-06_r8, & + 6.8011123262216033e-06_r8, 7.5583988397381647e-06_r8, & + 7.1285534156187431e-06_r8, 6.9524645436935961e-06_r8, & + 7.1488961297674001e-06_r8, 1.5536592725343025e-05_r8, & + 2.6065436449195011e-05_r8, 4.1401361018641006e-05_r8, & + 5.8650293153056628e-05_r8, 7.587690623320781e-05_r8, & + 0.00010461255531554774_r8, 0.00012478672174360623_r8, & + 0.00014013755007866613_r8, 0.00015642037101990964_r8, & + 0.00019171042518707491_r8, 0.000227962163005265_r8, & + 0.00025976142209440734_r8, 0.000290554433291713_r8, & + 0.00031687263141268591_r8, 0.000343103263995602_r8, & + 0.00036502466268750061_r8, 0.00038674081695322041_r8, & + 0.00040552013879182832_r8, 0.00042417979844459419_r8, & + 0.00044231134196966317_r8, 0.00047714688951027649_r8, & + 0.00050170728878005076_r8, 0.00051419923365225587_r8, & + 0.00052190305036616956_r8, 0.00052747418920825659_r8, & + 0.00053198815270768141_r8, 0.00053337602850251123_r8, & + 0.00052980914954095005_r8, 0.00051718074249511856_r8, & + 0.00050066718001074611_r8, 0.00048603890072263168_r8, & + 0.00047424753069814278_r8, 0.00046554253997318113_r8, & + 0.00046047526590297034_r8, 0.00045762973900523155_r8, & + 0.00045428277270614069_r8, 0.00045338034319688001_r8, 9e90_r8 & + / +data saar_ref(:,27,53) / & + 7.6168070383579027e-06_r8, 7.463174961437928e-06_r8, & + 6.8322553888952962e-06_r8, 7.0069110673001989e-06_r8, & + 6.9687624332862646e-06_r8, 6.8985450135424253e-06_r8, & + 6.4285490277360543e-06_r8, 8.4790547695602043e-06_r8, & + 1.0247969377699104e-05_r8, 1.4952313430730893e-05_r8, & + 2.1825412145914245e-05_r8, 3.2130050662280813e-05_r8, & + 5.9422470499084579e-05_r8, 9.3228453162202854e-05_r8, & + 0.00012560251271990014_r8, 0.0001594839235314951_r8, & + 0.00021911269479535361_r8, 0.0002636144036022584_r8, & + 0.00029532843689930702_r8, 0.00032207991102903971_r8, & + 0.00034642888788378968_r8, 0.00037188008552404319_r8, & + 0.0003934228794507409_r8, 0.00041474533515721053_r8, & + 0.00043337640153505192_r8, 0.00045124112155676423_r8, & + 0.00046798153920093202_r8, 0.00050085111109250506_r8, & + 0.00052624344963958188_r8, 0.00053848409570783769_r8, & + 0.00054597880407150764_r8, 0.00055094165794811352_r8, & + 0.00055473683978530088_r8, 0.00055466930599772123_r8, & + 0.0005501397049695356_r8, 0.0005404408325007774_r8, & + 0.00052929215551672417_r8, 0.00051621281215836622_r8, & + 0.00050325074113111829_r8, 0.00049191399019684191_r8, & + 0.00048456519450188856_r8, 0.00047719168926959888_r8, & + 0.00047275327495116629_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,53) / & + 6.5353570203773342e-06_r8, 6.4167683048318934e-06_r8, & + 5.9703828314202017e-06_r8, 6.3000755913521896e-06_r8, & + 6.2527643111333758e-06_r8, 6.1256325696362591e-06_r8, & + 6.1235517580865886e-06_r8, 6.2286167974997924e-06_r8, & + 7.1137018711835528e-06_r8, 8.8311857834626249e-06_r8, & + 1.1007460088848731e-05_r8, 1.5050672562505605e-05_r8, & + 2.8274528420406885e-05_r8, 5.0046919839039913e-05_r8, & + 8.0610499456474472e-05_r8, 0.000119001376101907_r8, & + 0.00020734119111838088_r8, 0.00027961513645735771_r8, & + 0.00032813107042774752_r8, 0.00036077278077155633_r8, & + 0.00038406240684568112_r8, 0.0004051662729467488_r8, & + 0.00042345409524613149_r8, 0.00044256413809550975_r8, & + 0.00046076634368264613_r8, 0.00047813603219445385_r8, & + 0.00049239233976264979_r8, 0.00052486038588875166_r8, & + 0.00055274577423128205_r8, 0.00056737175748357304_r8, & + 0.00057680879997881382_r8, 0.00058020492776867142_r8, & + 0.0005807438122768043_r8, 0.00057746282293173637_r8, & + 0.00057166412111221319_r8, 0.00056360613611389123_r8, & + 0.00055430139204217302_r8, 0.000543086937582793_r8, & + 0.00053072785369253056_r8, 0.00051882004698173699_r8, & + 0.00051110597814788699_r8, 0.00050932062276989062_r8, & + 0.00050602176853718555_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,53) / & + 5.9831673571432543e-06_r8, 5.9342485765856512e-06_r8, & + 5.8011621476473437e-06_r8, 5.7578731577602742e-06_r8, & + 5.3038195731817094e-06_r8, 4.9718933472415377e-06_r8, & + 5.2811728225805422e-06_r8, 6.2573924546440775e-06_r8, & + 7.7931388157776066e-06_r8, 9.7889936794212831e-06_r8, & + 1.2322725619939182e-05_r8, 1.7166210954917676e-05_r8, & + 2.8480872444405418e-05_r8, 4.4679342197238587e-05_r8, & + 6.4568191625715075e-05_r8, 9.1494657358204181e-05_r8, & + 0.00017183173234618286_r8, 0.00026178550993880023_r8, & + 0.00033294499450470082_r8, 0.00038577871332021066_r8, & + 0.0004171655637600297_r8, 0.0004387655008475031_r8, & + 0.00045587360869186599_r8, 0.00047333011996648661_r8, & + 0.00048982282292457365_r8, 0.00050651425100912788_r8, & + 0.00052099368321357239_r8, 0.00055411135158189482_r8, & + 0.0005837971626495034_r8, 0.00059853157357857463_r8, & + 0.0006076177092861633_r8, 0.00060757549497294659_r8, & + 0.00060434865907811955_r8, 0.00059909912930059212_r8, & + 0.00059270157454208291_r8, 0.00058446712946366274_r8, & + 0.00057504302515597736_r8, 0.00056565558942076695_r8, & + 0.00055414625589896959_r8, 0.0005434715172101211_r8, & + 0.00053496842752517372_r8, 0.00053113578760746098_r8, & + 0.00053698858519109108_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,53) / & + 9.7413209840257228e-06_r8, 9.824284601265702e-06_r8, & + 9.7663366070528416e-06_r8, 9.3004780908758372e-06_r8, & + 7.2037043265617353e-06_r8, 6.8939465287718143e-06_r8, & + 8.553022699422741e-06_r8, 1.0701817779006364e-05_r8, & + 1.3536248111582378e-05_r8, 1.7190580600083418e-05_r8, & + 2.1745920773925777e-05_r8, 2.8397886088232772e-05_r8, & + 3.9313974087295011e-05_r8, 5.2367062978892516e-05_r8, & + 6.9035799906209255e-05_r8, 9.0616160160517499e-05_r8, & + 0.00015964151910201623_r8, 0.0002528420519676713_r8, & + 0.00033710532257314206_r8, 0.00040683549723248623_r8, & + 0.00045121798024683933_r8, 0.00047919479043654549_r8, & + 0.00049992092534447211_r8, 0.00051786862436807373_r8, & + 0.00053448077826816448_r8, 0.00054991903467641891_r8, & + 0.00056286135475709979_r8, 0.00059577934567926001_r8, & + 0.0006231257996382214_r8, 0.00063412705938805834_r8, & + 0.00063874288423777749_r8, 0.00063623069585860479_r8, & + 0.00062949030649636238_r8, 0.00062187775083221298_r8, & + 0.00061312374058700983_r8, 0.00060466665611927882_r8, & + 0.00059607722229290205_r8, 0.00058746366184963476_r8, & + 0.00057715905977230738_r8, 0.00056844527242350096_r8, & + 0.00056119402549125732_r8, 0.00055495094263881327_r8, & + 0.00055616128327272158_r8, 0.00055287131396316224_r8, 9e90_r8 & + / +data saar_ref(:,31,53) / & + 1.4869623918679973e-05_r8, 1.4968315361417498e-05_r8, & + 1.4886665917587041e-05_r8, 1.6933790695873097e-05_r8, & + 1.4117675067739534e-05_r8, 1.536171474618898e-05_r8, & + 1.5827221729098741e-05_r8, 1.9106818534423929e-05_r8, & + 2.2879068841028573e-05_r8, 2.774147621060146e-05_r8, & + 3.39827503511449e-05_r8, 4.2199144520691306e-05_r8, & + 5.5512317919778929e-05_r8, 6.9776471750385559e-05_r8, & + 8.8288868664932946e-05_r8, 0.00011127905969359344_r8, & + 0.00018229946839883033_r8, 0.00027369890093003273_r8, & + 0.00035860222330899702_r8, 0.00043048228972269179_r8, & + 0.00047964023441922642_r8, 0.00051358470306526777_r8, & + 0.00053870053760894285_r8, 0.00055891885839329692_r8, & + 0.00057686106608898012_r8, 0.00059148026723682015_r8, & + 0.00060153589678303655_r8, 0.00063379632498361484_r8, & + 0.00065831106126275373_r8, 0.00066696269418300763_r8, & + 0.00066687477792472705_r8, 0.00065998337472356148_r8, & + 0.00064998302146579878_r8, 0.00063970843668773123_r8, & + 0.0006318731847724542_r8, 0.00062489580780804971_r8, & + 0.000619083003900877_r8, 0.00061254992199621841_r8, & + 0.00060464771930108759_r8, 0.0005963494120510822_r8, & + 0.00058815370954392124_r8, 0.00058395300792459589_r8, & + 0.00058094729998529665_r8, 0.00057382057632838113_r8, 9e90_r8 & + / +data saar_ref(:,32,53) / & + 1.973913897581545e-05_r8, 1.9761258804300798e-05_r8, & + 1.928722494163458e-05_r8, 2.7321618545366807e-05_r8, & + 2.4047121895486586e-05_r8, 2.8885467650988293e-05_r8, & + 2.7907716760744441e-05_r8, 3.1388360581401744e-05_r8, & + 3.3658080532675467e-05_r8, 3.9929946909262104e-05_r8, & + 4.932423401613834e-05_r8, 5.9045222526348776e-05_r8, & + 7.5889997664295108e-05_r8, 9.708599950961518e-05_r8, & + 0.00012458792340116858_r8, 0.00015737855491767581_r8, & + 0.00023422944781942515_r8, 0.00031471458655241407_r8, & + 0.00039278082507768772_r8, 0.00045778041794570633_r8, & + 0.00050374368911737294_r8, 0.0005416836469643412_r8, & + 0.00056947450466646773_r8, 0.00059343698394321394_r8, & + 0.00061281160489765648_r8, 0.00062857641516226952_r8, & + 0.00064189539394268671_r8, 0.00066766034927571278_r8, & + 0.00068541696619864268_r8, 0.0006909611814250393_r8, & + 0.00068811520846051545_r8, 0.00067962647751832188_r8, & + 0.0006705606775452384_r8, 0.0006632177430325745_r8, & + 0.00065834251987448506_r8, 0.0006563076458755506_r8, & + 0.00065352671631531596_r8, 0.00065094570165759389_r8, & + 0.00064700887041111289_r8, 0.00063864964014739324_r8, & + 0.00062513780815339338_r8, 0.00060959494505066607_r8, & + 0.00059794805549929402_r8, 0.00059535460130282706_r8, 9e90_r8 & + / +data saar_ref(:,33,53) / & + 3.5417914359726887e-05_r8, 3.5152459774699824e-05_r8, & + 3.4092650198977929e-05_r8, 4.1307129103198214e-05_r8, & + 3.923833534778181e-05_r8, 4.8023582125253801e-05_r8, & + 4.8015803475395402e-05_r8, 5.1868035904339152e-05_r8, & + 5.7137811857579162e-05_r8, 6.8504709222817566e-05_r8, & + 8.2589314416317219e-05_r8, 9.7275454996624558e-05_r8, & + 0.00012345362865493341_r8, 0.00015736838236867816_r8, & + 0.00019472253356012047_r8, 0.00023381493546339159_r8, & + 0.0003110002192416264_r8, 0.00038448557627232554_r8, & + 0.00044877466474413494_r8, 0.00049885733818662336_r8, & + 0.0005377849683085151_r8, 0.00057395506880143527_r8, & + 0.00060070041160379436_r8, 0.0006248726829012199_r8, & + 0.00064523607086794919_r8, 0.00066304915655221951_r8, & + 0.00067945514324071522_r8, 0.00070263224724593544_r8, & + 0.00071676225653973219_r8, 0.000719373413867643_r8, & + 0.00071576242989505976_r8, 0.00070799544468101868_r8, & + 0.00069985733019610529_r8, 0.00069357754260942204_r8, & + 0.00069046209885866537_r8, 0.00068992196190840115_r8, & + 0.00068963530632934044_r8, 0.0006932814194015195_r8, & + 0.00069507266559186149_r8, 0.00069285967229965495_r8, & + 0.00068652851555946605_r8, 0.00066386046411269495_r8, & + 0.0006523002636461369_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,53) / & + 6.5578253436690784e-05_r8, 6.5017499523498809e-05_r8, & + 6.4424980597604166e-05_r8, 5.3000544957381414e-05_r8, & + 6.0627356582829569e-05_r8, 7.1093891542162787e-05_r8, & + 8.1782450657605509e-05_r8, 9.0391345255265155e-05_r8, & + 0.00010734438204248975_r8, 0.0001324856253311602_r8, & + 0.00015738886047444379_r8, 0.00018467159274864451_r8, & + 0.00021653651383469241_r8, 0.0002618400897350853_r8, & + 0.0003030568578633401_r8, 0.00034131898465901189_r8, & + 0.00040924521214011345_r8, 0.000466667594501533_r8, & + 0.00051090689886702345_r8, 0.00054803602551312125_r8, & + 0.00057985881062564641_r8, 0.00060826786005839929_r8, & + 0.00063143763612765835_r8, 0.00065369374944266646_r8, & + 0.00067172119267289339_r8, 0.00068806675981407882_r8, & + 0.00070413731829792271_r8, 0.00072540133521903642_r8, & + 0.00073879803521714098_r8, 0.00074103277599485819_r8, & + 0.00073858375799518584_r8, 0.00073070271840485303_r8, & + 0.00072228755709023349_r8, 0.00071327736598485333_r8, & + 0.0007054578545425327_r8, 0.00070263666757141663_r8, & + 0.00070422251172717442_r8, 0.00070894952266599605_r8, & + 0.00071253203602553161_r8, 0.00071180675883565484_r8, & + 0.00071029504816742632_r8, 0.0006988092704063683_r8, & + 0.00070610959497648411_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,53) / & + 9.9206527527748967e-05_r8, 9.9821685418387105e-05_r8, & + 0.00010112548081811393_r8, 7.8610817372743932e-05_r8, & + 9.1550951326608462e-05_r8, 0.00010615331287046921_r8, & + 0.00012701804713277873_r8, 0.00014808001589980212_r8, & + 0.00019688213492336174_r8, 0.00025157823957044109_r8, & + 0.00028858392748042528_r8, 0.00032568213228725113_r8, & + 0.00034139402880673263_r8, 0.00037985033344957241_r8, & + 0.00041406071642724148_r8, 0.00044817474981272013_r8, & + 0.0004991707984326227_r8, 0.00053668080021961636_r8, & + 0.00056877460981114101_r8, 0.0005971017274430555_r8, & + 0.00062123406141876517_r8, 0.00064427279575281779_r8, & + 0.00066382341960601022_r8, 0.0006824013620794772_r8, & + 0.0006978878711062311_r8, 0.0007113922543071973_r8, & + 0.00072374701189473417_r8, 0.00074145240847317735_r8, & + 0.0007522266374932182_r8, 0.00075516575122573681_r8, & + 0.00075510375015240994_r8, 0.00074863501976238486_r8, & + 0.00074155796252494701_r8, 0.00073342267807761257_r8, & + 0.00072560734362437469_r8, 0.00072313794939975271_r8, & + 0.00072376073851365176_r8, 0.00072681053340130212_r8, & + 0.00072833816643354222_r8, 0.00072610827059607077_r8, & + 0.00071836603876523149_r8, 0.00072245660527451194_r8, & + 0.00074324891186609084_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,53) / & + 9.7236057591105986e-05_r8, 0.00010091110247660917_r8, & + 0.00010506769994706273_r8, 0.00010003227604949218_r8, & + 0.00011047450241382082_r8, 0.0001286101967774175_r8, & + 0.00015649210387613357_r8, 0.00019201789896129337_r8, & + 0.00025114664963326173_r8, 0.00031320616786114286_r8, & + 0.00034478852158720188_r8, 0.00038742580216723162_r8, & + 0.00039877581177130694_r8, 0.00043602787922317849_r8, & + 0.00046511966320463406_r8, 0.00049503406650137775_r8, & + 0.00053822155604746444_r8, 0.00057000609676775122_r8, & + 0.00059898646415406319_r8, 0.00062613133518065801_r8, & + 0.00064752511872483219_r8, 0.00066815748519197227_r8, & + 0.00068805108476093868_r8, 0.00070671173457538127_r8, & + 0.00072114541626489047_r8, 0.00073294642540792953_r8, & + 0.00074316698650904402_r8, 0.00075716079376405643_r8, & + 0.00076348019134511984_r8, 0.00076444128444478558_r8, & + 0.00076353756941012084_r8, 0.00075901643296257351_r8, & + 0.00075284231273577086_r8, 0.00074739448135484061_r8, & + 0.00074210352012598778_r8, 0.0007389694265885927_r8, & + 0.00073528711906687577_r8, 0.00073246848837295059_r8, & + 0.00072026529832390897_r8, 0.00070250951374058125_r8, & + 0.00067480429772917854_r8, 0.00067297670523896156_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,37,53) / & + 7.1069117090111485e-05_r8, 8.1054973346875322e-05_r8, & + 8.0174444411076307e-05_r8, 0.0001075647786735875_r8, & + 0.00011672701324323711_r8, 0.00012816150289398761_r8, & + 0.00015256721326148553_r8, 0.00017979917395207038_r8, & + 0.0002239207062310356_r8, 0.00026716640670779602_r8, & + 0.0003025944149233131_r8, 0.00035690233018532643_r8, & + 0.00039157884004390836_r8, 0.00043523864414246941_r8, & + 0.00046717112513130549_r8, 0.00049507180241968054_r8, & + 0.00054321964655540996_r8, 0.00057784381834590892_r8, & + 0.00060793460967397024_r8, 0.00063691307111321614_r8, & + 0.00066000822183011711_r8, 0.00068057638762199853_r8, & + 0.00070148779133454128_r8, 0.00072166690823037625_r8, & + 0.000737700800282602_r8, 0.00075033669961233236_r8, & + 0.00075951935932320612_r8, 0.00077396132626618864_r8, & + 0.00077994225114392873_r8, 0.00078062966765473827_r8, & + 0.00077940105784898492_r8, 0.00077531893673463788_r8, & + 0.00076880393062999785_r8, 0.00076380285750847086_r8, & + 0.00075902805879868448_r8, 0.00075533328913513051_r8, & + 0.00074906239959706029_r8, 0.00074060469240023877_r8, & + 0.00072749436848893855_r8, 0.00071231913652763956_r8, & + 0.00069104275751898547_r8, 0.00069134361662373999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,53) / & + 8.3155537950522154e-05_r8, 9.8655776549122582e-05_r8, & + 7.6390199928692747e-05_r8, 0.00011266899536568595_r8, & + 0.0001213703272790273_r8, 0.00012219126905645378_r8, & + 0.00013027595652296563_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,53) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,53) / & + 9.2272183076311652e-05_r8, 7.7086483840605304e-05_r8, & + 8.4921300466719819e-05_r8, 9.4260360965614003e-05_r8, & + 9.5079000264923949e-05_r8, 9.8067788965500334e-05_r8, & + 0.00012857862570471757_r8, 0.00014232310727433891_r8, & + 0.00024454446659253644_r8, 0.00021328506035926532_r8, & + 0.00019679273334351994_r8, 0.0001375112711074305_r8, & + 0.00011188876065364056_r8, 0.00010526403434369262_r8, & + 0.00011148308776650689_r8, 0.00010294475231273158_r8, & + 0.000104734568970419_r8, 8.5380826549941608e-05_r8, & + 8.5671525596039185e-05_r8, 8.6164397210028443e-05_r8, & + 8.6467648499423511e-05_r8, 8.5845251760041798e-05_r8, & + 8.6820750151059501e-05_r8, 8.7873642253654248e-05_r8, & + 9.227606073210833e-05_r8, 9.6768627477711709e-05_r8, & + 0.00010351171964734541_r8, 0.00010516167860361135_r8, & + 0.00010939088807559941_r8, 0.00011021362381111077_r8, & + 0.00010889702428518656_r8, 0.00010476829822236703_r8, & + 0.00010953682035120835_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,53) / & + 9.9268137128159399e-05_r8, 8.3096901405746464e-05_r8, & + 9.2198837184086853e-05_r8, 0.00010005987266357267_r8, & + 9.8962954273429325e-05_r8, 0.00010011823236431504_r8, & + 0.00011574753059173118_r8, 0.00012527856166449173_r8, & + 0.00024861625647060913_r8, 0.00024984495026328791_r8, & + 0.00022633752949050657_r8, 0.00015280852511476292_r8, & + 0.0001203025341319302_r8, 0.00011469961988401538_r8, & + 0.00012213047044770767_r8, 0.0001099091614300468_r8, & + 0.00010577159507935581_r8, 9.0329128328039054e-05_r8, & + 8.7904803429951668e-05_r8, 8.820848795949824e-05_r8, & + 8.7413049315294088e-05_r8, 8.7004965621549716e-05_r8, & + 8.7776291048380947e-05_r8, 8.9893301065153115e-05_r8, & + 9.476855892826165e-05_r8, 9.8843145184259243e-05_r8, & + 0.00010439415005541154_r8, 0.00010845500543574414_r8, & + 0.00011533987273715617_r8, 0.00011596560526038259_r8, & + 0.00011566006757430386_r8, 0.00011041966094215336_r8, & + 0.00011232572217142794_r8, 0.00013513188690037677_r8, & + 0.00013369654490413138_r8, 0.00013363414649693355_r8, & + 0.00012920232019564292_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,53) / & + 0.00010567073068678764_r8, 9.6119014677777473e-05_r8, & + 0.00010591038693148485_r8, 0.00010989298125567106_r8, & + 0.00011300435022759635_r8, 0.00011590116644393745_r8, & + 0.00012343065237322017_r8, 0.00013195623563209521_r8, & + 0.00024274373519382283_r8, 0.00029533491892344695_r8, & + 0.00024908015452576219_r8, 0.00015870298355600185_r8, & + 0.00011538892373146614_r8, 9.1074130850950154e-05_r8, & + 0.00010836387956704454_r8, 0.00010213771368911833_r8, & + 9.4564141611421331e-05_r8, 8.7625846488459055e-05_r8, & + 8.2721943126048202e-05_r8, 8.3187998735914501e-05_r8, & + 8.2498654900335129e-05_r8, 8.2022309737212151e-05_r8, & + 8.2298427811308355e-05_r8, 8.374776140810342e-05_r8, & + 8.8310687482879394e-05_r8, 9.3607488772481324e-05_r8, & + 9.6927038019997634e-05_r8, 0.0001084474189895672_r8, & + 0.00011690322790984222_r8, 0.00011986359291699125_r8, & + 0.00011995065880170125_r8, 0.00011886709730936221_r8, & + 0.00011384059851776554_r8, 0.00013108048548778617_r8, & + 0.00012273614755173659_r8, 0.00012350922028101036_r8, & + 0.00013306151831710405_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,53) / & + 9.9709034374727542e-05_r8, 9.971523960866325e-05_r8, & + 0.00010022593700941768_r8, 0.00012535390412485021_r8, & + 0.00013369486665443291_r8, 0.00013688350518585652_r8, & + 0.00015575051945633512_r8, 0.00017434334478055326_r8, & + 0.0002119103577562066_r8, 0.00025915091284926258_r8, & + 0.00020105060876237223_r8, 0.00013178914022255825_r8, & + 8.2331978270903244e-05_r8, 7.4198661457268444e-05_r8, & + 8.413910114334522e-05_r8, 8.467336316453407e-05_r8, & + 8.0201839197996413e-05_r8, 7.7050832457942209e-05_r8, & + 7.513853061019677e-05_r8, 7.6766291088002867e-05_r8, & + 7.7384649503306515e-05_r8, 7.8409909488179593e-05_r8, & + 7.9262064164974658e-05_r8, 8.1203088866217772e-05_r8, & + 8.7767231717440579e-05_r8, 9.2035396338005827e-05_r8, & + 9.5456164104191149e-05_r8, 0.00010579195501646485_r8, & + 0.0001154805541978665_r8, 0.00011645935524492475_r8, & + 0.00011543352846883237_r8, 0.00011543454496659664_r8, & + 0.00011008683243104931_r8, 0.0001241689144981986_r8, & + 0.00011609785050812628_r8, 0.00011611590192729816_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,53) / & + 8.540006833124385e-05_r8, 9.9960479855550367e-05_r8, & + 8.9429714186390352e-05_r8, 0.00012700019623183422_r8, & + 0.00012969808150199271_r8, 0.00012671558268939457_r8, & + 0.00015267498588212918_r8, 0.00016134241420086564_r8, & + 0.00016768617266764402_r8, 0.00013825057190453889_r8, & + 0.00010381520339938729_r8, 8.7628473568022208e-05_r8, & + 7.230178554362201e-05_r8, 7.545453520682058e-05_r8, & + 7.8811689977591935e-05_r8, 7.8487106992768075e-05_r8, & + 7.5177920971905606e-05_r8, 7.4386878763165671e-05_r8, & + 7.5115188724121524e-05_r8, 7.7912648559675822e-05_r8, & + 7.9789170252319666e-05_r8, 8.2055174723060618e-05_r8, & + 8.4372178716220829e-05_r8, 8.8163305676865387e-05_r8, & + 9.4904390465203124e-05_r8, 9.856706990737231e-05_r8, & + 0.00010251864176143666_r8, 0.0001091130358111555_r8, & + 0.00012043788186927887_r8, 0.00012388168969318589_r8, & + 0.00012115085371890845_r8, 0.00011953917154674349_r8, & + 0.00011421398419886496_r8, 0.00011510424912307189_r8, & + 0.00011646915417336248_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,53) / & + 7.9424284075375667e-05_r8, 0.00010737321534671019_r8, & + 9.5256291238238127e-05_r8, 0.00010965386844046685_r8, & + 0.00011199627535210307_r8, 0.00012495771263585628_r8, & + 0.00014818733958941804_r8, 0.00011430140763040132_r8, & + 8.6226971034648832e-05_r8, 7.4908308005357406e-05_r8, & + 7.079644915922795e-05_r8, 7.081786652439851e-05_r8, & + 6.9214783024183719e-05_r8, 7.1754034058516835e-05_r8, & + 7.221933360938905e-05_r8, 7.3520112604414563e-05_r8, & + 7.331385258799419e-05_r8, 7.3696677641100196e-05_r8, & + 7.5730170788340672e-05_r8, 7.9117541787611704e-05_r8, & + 8.1953749568884941e-05_r8, 8.5375459070369041e-05_r8, & + 8.9139930746788765e-05_r8, 9.3559757136789682e-05_r8, & + 9.9232262266682182e-05_r8, 0.00010363880755256818_r8, & + 0.00010942222831567089_r8, 0.00011867576198516017_r8, & + 0.00012275067756710895_r8, 0.00012186069234652157_r8, & + 0.00012021430873939112_r8, 0.0001204133408445841_r8, & + 0.00011931423994993631_r8, 0.00011943428468324258_r8, & + 0.0001203586219509397_r8, 0.00012128230402698811_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,54) / & + 9.8479087038750654e-05_r8, 0.00010360550842706914_r8, & + 0.00011320062924821239_r8, 0.00012543293392271648_r8, & + 0.00012419374456230367_r8, 0.00013112247672720788_r8, & + 0.00014579594804002886_r8, 0.00016047131113005876_r8, & + 0.00015777981070970486_r8, 0.00015288314087434025_r8, & + 0.00015426923465530141_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,54) / & + 9.8479087038750654e-05_r8, 0.00010360550842706914_r8, & + 0.00011320062924821239_r8, 0.00012543293392271648_r8, & + 0.00012419374456230367_r8, 0.00013112247672720788_r8, & + 0.00014579594804002886_r8, 0.00016047131113005876_r8, & + 0.00015777981070970486_r8, 0.00015288314087434025_r8, & + 0.00015426923465530141_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,54) / & + 9.8479087038750654e-05_r8, 0.00010360550842706914_r8, & + 0.00011320062924821239_r8, 0.00012543293392271648_r8, & + 0.00012419374456230367_r8, 0.00013112247672720788_r8, & + 0.00014579594804002886_r8, 0.00016047131113005876_r8, & + 0.00015777981070970486_r8, 0.00015288314087434025_r8, & + 0.00015426923465530141_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,54) / & + 0.00010131549893734814_r8, 0.00010741433034700557_r8, & + 0.00011048839243555259_r8, 0.00012345816240067541_r8, & + 0.00012285864527055313_r8, 0.00012995772344638482_r8, & + 0.00015021002143708706_r8, 0.00015940004914732114_r8, & + 0.00015754779902211132_r8, 0.00015539553253686523_r8, & + 0.00015346937808078187_r8, 0.00016591400157982118_r8, & + 0.00018701856081568141_r8, 0.00019587535477645461_r8, & + 0.00020004907402603017_r8, 0.0002021764313558371_r8, & + 0.00020983685597348778_r8, 0.00021835531357992621_r8, & + 0.00022332743767985712_r8, 0.00022901973082152573_r8, & + 0.00023475432972883654_r8, 0.00023943555811140778_r8, & + 0.00024366476278113162_r8, 0.00024768612997530233_r8, & + 0.0002515749824546019_r8, 0.0002552787845103793_r8, & + 0.00025891965111205878_r8, 0.00026775108392039921_r8, & + 0.00027500612520647177_r8, 0.00027581808529480339_r8, & + 0.00028005542554683608_r8, 0.00028372986120573962_r8, & + 0.0002877271584101538_r8, 0.00028987487486805622_r8, & + 0.00028941092297864743_r8, 0.00027535690280153994_r8, & + 0.00026078614544373788_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,54) / & + 0.0001074852034812327_r8, 0.00011121308952502035_r8, & + 9.9294395002045573e-05_r8, 0.00011183950196408496_r8, & + 0.00011372338804124761_r8, 0.00012012427944696668_r8, & + 0.00013298687620933401_r8, 0.0001468111936341931_r8, & + 0.00014928758034635871_r8, 0.00015174643158276182_r8, & + 0.00015885581713820122_r8, 0.00017397079837429125_r8, & + 0.00019426395196090046_r8, 0.00020263649428122266_r8, & + 0.00020960133061747298_r8, 0.00021508769695847857_r8, & + 0.0002231329588332344_r8, 0.0002256081938966389_r8, & + 0.00022995824189116402_r8, 0.00023513039068515478_r8, & + 0.00023996558383928591_r8, 0.00024484288451099689_r8, & + 0.00024879579506940089_r8, 0.00025251728073240678_r8, & + 0.00025613535468084838_r8, 0.00025983936862682014_r8, & + 0.00026352154039667344_r8, 0.0002714337219895027_r8, & + 0.00027598856389264434_r8, 0.00027844014493820849_r8, & + 0.00028188439806092568_r8, 0.00028479238989732739_r8, & + 0.00028637811143975266_r8, 0.00028377265765257021_r8, & + 0.00027783577117061303_r8, 0.00026841492769941389_r8, & + 0.00026099254909627245_r8, 0.00025911821738080983_r8, & + 0.00026142563167919091_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,54) / & + 0.00012166677607528613_r8, 0.00012279961148674431_r8, & + 0.000106230540205142_r8, 9.178686616666635e-05_r8, & + 9.2592346347688956e-05_r8, 9.454031582882956e-05_r8, & + 0.00010856036213862844_r8, 0.00013018676748876673_r8, & + 0.00014247859396503875_r8, 0.00015026769779067647_r8, & + 0.00016090633637187593_r8, 0.0001803081168636316_r8, & + 0.00020215823827445878_r8, 0.00020908493078460706_r8, & + 0.00021426668993693423_r8, 0.00021837438702870674_r8, & + 0.00022493159586479391_r8, 0.00022994214273931995_r8, & + 0.00023521834920272629_r8, 0.00024001627343035547_r8, & + 0.00024458737692811328_r8, 0.00025203857184754187_r8, & + 0.00025635733231179714_r8, 0.00026022361232035308_r8, & + 0.00026393799068034365_r8, 0.00026749911152253723_r8, & + 0.00027060536256538526_r8, 0.00027606305146273642_r8, & + 0.00027925728232410061_r8, 0.00028315381120184654_r8, & + 0.00028564635506565886_r8, 0.00028589231065511382_r8, & + 0.00028326441620462104_r8, 0.0002785104275412197_r8, & + 0.00027168254049689678_r8, 0.00026781872959616329_r8, & + 0.00026398497330415427_r8, 0.0002601499587553132_r8, & + 0.00026339273503721337_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,54) / & + 0.00012507545257695323_r8, 0.00012529609513335261_r8, & + 0.00011876588048779091_r8, 6.1142047157194767e-05_r8, & + 6.2786775242185637e-05_r8, 6.2180438979089425e-05_r8, & + 7.0904142392246402e-05_r8, 9.1495749375967831e-05_r8, & + 0.00010542099866475506_r8, 0.00011441052992951647_r8, & + 0.00012181728943394291_r8, 0.00016224250972729737_r8, & + 0.00020542228109342732_r8, 0.00021146387770167363_r8, & + 0.00021582461148723765_r8, 0.00022023481597939232_r8, & + 0.00022611202914249421_r8, 0.00023065683631546204_r8, & + 0.00023492031738539331_r8, 0.0002388614747704739_r8, & + 0.00024328011183097023_r8, 0.00025132594635085775_r8, & + 0.00025602639662646314_r8, 0.00026057533950204923_r8, & + 0.00026477284461418629_r8, 0.0002687692227502169_r8, & + 0.00027200605802145882_r8, 0.00027738907042438411_r8, & + 0.00028080778022528374_r8, 0.00028364989580303724_r8, & + 0.00028422063653339404_r8, 0.00028265149799743547_r8, & + 0.00028057445136663093_r8, 0.00027993538218691139_r8, & + 0.00027803445942853789_r8, 0.00027571540387663998_r8, & + 0.00027250991802755387_r8, 0.00027571035595418011_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,54) / & + 8.6344870630215029e-05_r8, 8.6601155302028026e-05_r8, & + 8.5205345186614896e-05_r8, 2.6374479194890381e-05_r8, & + 2.560175671353558e-05_r8, 2.5303371349603514e-05_r8, & + 2.5547908027649827e-05_r8, 3.4464251241461908e-05_r8, & + 4.2706449039199013e-05_r8, 4.851962202690681e-05_r8, & + 5.3152673161265325e-05_r8, 0.0001013582889952576_r8, & + 0.00015237637994420074_r8, 0.00015849126776233322_r8, & + 0.00016351763492740488_r8, 0.00016682005947705366_r8, & + 0.00017586842201118075_r8, 0.00018317455624171656_r8, & + 0.00018967857935326044_r8, 0.00019773061951862384_r8, & + 0.00020312887951675436_r8, 0.00020848468531267479_r8, & + 0.00021340659844160443_r8, 0.00021866660615469573_r8, & + 0.00022385552386011064_r8, 0.00022890266925345917_r8, & + 0.00023362023894613117_r8, 0.00024505748545981419_r8, & + 0.00025349138871908953_r8, 0.00026231464083005784_r8, & + 0.00026898464406238741_r8, 0.00027001679145827802_r8, & + 0.00027335912921989036_r8, 0.00027594258339677354_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,54) / & + 3.352744818295715e-05_r8, 3.3650617166856491e-05_r8, & + 3.2975569658213384e-05_r8, 1.4400147941904664e-05_r8, & + 1.410091314388529e-05_r8, 1.4027212865283436e-05_r8, & + 1.5178345181215091e-05_r8, 1.8371726132343816e-05_r8, & + 2.1413104378910124e-05_r8, 2.4916532605934616e-05_r8, & + 2.6692150190402034e-05_r8, 3.9734743001085485e-05_r8, & + 5.4022546635431858e-05_r8, 5.7223606393192832e-05_r8, & + 6.2001695001280354e-05_r8, 6.5221401298565847e-05_r8, & + 7.783673289799024e-05_r8, 9.0756740705504076e-05_r8, & + 0.00010461636166131367_r8, 0.00012059156047407673_r8, & + 0.00013263978268467937_r8, 0.00014248908574570907_r8, & + 0.00015197106093051331_r8, 0.00016051179013985774_r8, & + 0.0001681707077073074_r8, 0.0001747884581348289_r8, & + 0.00018060230890552519_r8, 0.00019553992592827296_r8, & + 0.00020506048577125072_r8, 0.00021568142406318161_r8, & + 0.00022785421566662493_r8, 0.00023817953480358568_r8, & + 0.00024656211432218283_r8, 0.00025206313410533932_r8, & + 0.0002585101844152431_r8, 0.00026316857456143476_r8, & + 0.00026427612137692384_r8, 0.00026568821921448964_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,54) / & + 1.0786432127215067e-05_r8, 1.0757409152275452e-05_r8, & + 1.0261440730877136e-05_r8, 8.3125018477435603e-06_r8, & + 8.3085678575151613e-06_r8, 8.5062206997015777e-06_r8, & + 9.2136776326200516e-06_r8, 1.0675100297377661e-05_r8, & + 1.1719278107060844e-05_r8, 1.3378033132910154e-05_r8, & + 1.4149171311777082e-05_r8, 1.5825557045766968e-05_r8, & + 1.7432783336787439e-05_r8, 1.839194758122927e-05_r8, & + 1.9799939918900498e-05_r8, 2.150581435942302e-05_r8, & + 2.6771494265601966e-05_r8, 3.3368685580630803e-05_r8, & + 4.3239968017596261e-05_r8, 5.4638888760696651e-05_r8, & + 6.7919110148228156e-05_r8, 8.1859610038794779e-05_r8, & + 9.6724705973401108e-05_r8, 0.00011178554444535847_r8, & + 0.00012609770784230599_r8, 0.00013990769378342805_r8, & + 0.00015245536767484298_r8, 0.00018099335733253447_r8, & + 0.00019781280785113279_r8, 0.00020714392116401358_r8, & + 0.00021373027710470339_r8, 0.00022039420015930453_r8, & + 0.00022791785658036901_r8, 0.00023554935794026051_r8, & + 0.00024419157260518581_r8, 0.00025312690347973894_r8, & + 0.00025922427132916867_r8, 0.00026153875985267147_r8, & + 0.00026206415636378293_r8, 0.00026304110521646558_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,54) / & + 9.2995761519014636e-06_r8, 9.2800826896540954e-06_r8, & + 7.9787837791614516e-06_r8, 5.9409572492361297e-06_r8, & + 5.892202365199755e-06_r8, 5.8072138031101247e-06_r8, & + 5.452937965313167e-06_r8, 5.6558884375382257e-06_r8, & + 6.423311063846551e-06_r8, 7.6293845161778696e-06_r8, & + 8.3601326528646259e-06_r8, 1.0135814101309722e-05_r8, & + 1.2364117063539867e-05_r8, 1.3585725626598758e-05_r8, & + 1.5009938539056427e-05_r8, 1.6090042044903922e-05_r8, & + 1.8840868735242305e-05_r8, 2.2219829209738964e-05_r8, & + 2.8046486293621323e-05_r8, 3.7244571985216798e-05_r8, & + 5.023118758738699e-05_r8, 6.5250004497815993e-05_r8, & + 8.1559142672111643e-05_r8, 9.8653974678974445e-05_r8, & + 0.00011534622393229677_r8, 0.00013194985494892865_r8, & + 0.00014741990408147568_r8, 0.00018476459646496536_r8, & + 0.00021472458741744749_r8, 0.00023178159951753533_r8, & + 0.0002415305543332061_r8, 0.00024545127735102414_r8, & + 0.00024497598624096577_r8, 0.0002425178044033406_r8, & + 0.00024383779139887715_r8, 0.00024891459441355737_r8, & + 0.00025473694210372428_r8, 0.00025877875413948896_r8, & + 0.00026149903489989352_r8, 0.00026317480191453399_r8, & + 0.00026338400052823845_r8, 0.00026596712687989525_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,54) / & + 7.235081018331693e-06_r8, 7.2208887318020873e-06_r8, & + 6.1412743376598992e-06_r8, 6.3808738904801263e-06_r8, & + 6.3371918470580521e-06_r8, 6.2391330239185371e-06_r8, & + 5.5457171089858853e-06_r8, 4.0876214074638487e-06_r8, & + 4.513873093132884e-06_r8, 5.5437722944859681e-06_r8, & + 6.4683646787889203e-06_r8, 8.4273724550327028e-06_r8, & + 1.1016271968079983e-05_r8, 1.2284822115193992e-05_r8, & + 1.3551893542103491e-05_r8, 1.4707161109188048e-05_r8, & + 1.721353478225799e-05_r8, 2.0667665456229285e-05_r8, & + 2.6536381249723599e-05_r8, 3.5765076493049532e-05_r8, & + 4.8918974289026343e-05_r8, 6.5751746861999344e-05_r8, & + 8.4053038081678981e-05_r8, 0.00010239058865107628_r8, & + 0.00012078785651665839_r8, 0.00013888113619834922_r8, & + 0.0001560205168809831_r8, 0.00019616439403913425_r8, & + 0.00022802246537348639_r8, 0.00024592437123540089_r8, & + 0.00025744070629306554_r8, 0.00026242019647759659_r8, & + 0.00026059409449877529_r8, 0.00025407191748021162_r8, & + 0.00024959545703872259_r8, 0.00025035927683176765_r8, & + 0.00025443675766429082_r8, 0.0002582548869518038_r8, & + 0.00026125763080036472_r8, 0.00026320887322557135_r8, & + 0.00026391001826154805_r8, 0.00026588679075418198_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,54) / & + 4.4929871518710519e-06_r8, 4.5001447405841143e-06_r8, & + 4.2220091823248473e-06_r8, 4.3475786411628984e-06_r8, & + 4.3219472571912235e-06_r8, 4.3113008038785495e-06_r8, & + 4.5523004275864936e-06_r8, 3.6582653916501e-06_r8, & + 3.4317180563825272e-06_r8, 3.6820113914356591e-06_r8, & + 4.4584556301111171e-06_r8, 5.9576463340501919e-06_r8, & + 8.2535750377640542e-06_r8, 9.7947356989011458e-06_r8, & + 1.1273327308022184e-05_r8, 1.2680239307623463e-05_r8, & + 1.5388127603014231e-05_r8, 1.8941375771486739e-05_r8, & + 2.5207850537257582e-05_r8, 3.436430216221876e-05_r8, & + 4.7679821873630251e-05_r8, 6.5212030442235984e-05_r8, & + 8.524228961128738e-05_r8, 0.00010538258772073657_r8, & + 0.00012578718421381034_r8, 0.00014612183218846663_r8, & + 0.00016518575478168069_r8, 0.00020810443211619298_r8, & + 0.00023728339711488251_r8, 0.00025469156105954597_r8, & + 0.00026700986540601575_r8, 0.00027341016490792811_r8, & + 0.00027353903827131748_r8, 0.00026773039238979702_r8, & + 0.00025968122406641738_r8, 0.00025484830753570134_r8, & + 0.00025514805227909963_r8, 0.00025754088717354795_r8, & + 0.00026005360540602457_r8, 0.00026211815501928884_r8, & + 0.00026367458120636752_r8, 0.00026536075237756403_r8, & + 0.00026610635443807254_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,54) / & + 3.7467213925958345e-06_r8, 3.8094628573543744e-06_r8, & + 3.6434246002842342e-06_r8, 3.6448902466164719e-06_r8, & + 3.636630747570109e-06_r8, 3.9438772394788919e-06_r8, & + 4.5398084629558408e-06_r8, 4.0856639432763071e-06_r8, & + 3.8213222571555634e-06_r8, 3.5131853238521176e-06_r8, & + 3.4858611088994121e-06_r8, 3.9909022408591115e-06_r8, & + 5.5508915961748141e-06_r8, 7.480796091181979e-06_r8, & + 9.396231733931736e-06_r8, 1.1058700697668607e-05_r8, & + 1.3961370135895407e-05_r8, 1.7326579686248002e-05_r8, & + 2.2646171320795789e-05_r8, 3.0848585728450327e-05_r8, & + 4.4819006058105222e-05_r8, 6.2492017901063048e-05_r8, & + 8.3727662018725368e-05_r8, 0.00010553500298271073_r8, & + 0.0001274496376768183_r8, 0.00014898468345191421_r8, & + 0.00016912148246103818_r8, 0.00021408511595603295_r8, & + 0.0002435731194276577_r8, 0.00026184752308946595_r8, & + 0.00027404914234611201_r8, 0.00027989361386667665_r8, & + 0.00028051006766590867_r8, 0.00027679974808152776_r8, & + 0.00027021429864336949_r8, 0.00026460693840049145_r8, & + 0.00026181562758150948_r8, 0.00026117163004931755_r8, & + 0.00026137697993549913_r8, 0.00026201928908827686_r8, & + 0.00026284686480975892_r8, 0.0002652074800242236_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,54) / & + 4.4247941418137498e-06_r8, 4.475029699919947e-06_r8, & + 4.1842871591367107e-06_r8, 4.0078440810039829e-06_r8, & + 4.0302823357456018e-06_r8, 4.1991266872377301e-06_r8, & + 4.1690665235427485e-06_r8, 4.2462338044201642e-06_r8, & + 4.2365123520992137e-06_r8, 4.1297530694110953e-06_r8, & + 4.0410768433270539e-06_r8, 4.3354752310939833e-06_r8, & + 5.1380027921995268e-06_r8, 6.7456837530778113e-06_r8, & + 8.8708905815038623e-06_r8, 1.1065719648607965e-05_r8, & + 1.4877614718022257e-05_r8, 1.9018497843057458e-05_r8, & + 2.4844242813598659e-05_r8, 3.4615756549066856e-05_r8, & + 4.9508831819869977e-05_r8, 6.9226540666697913e-05_r8, & + 9.2154294995931585e-05_r8, 0.00011595908892153858_r8, & + 0.00013962735263826952_r8, 0.00016184405742391379_r8, & + 0.0001808438349138928_r8, 0.00022241430844328428_r8, & + 0.00025001841284549419_r8, 0.00026653739734160261_r8, & + 0.00027646311893785079_r8, 0.00028092280423341789_r8, & + 0.00028083948174336554_r8, 0.0002781021065744279_r8, & + 0.00027376330479806727_r8, 0.00026923121784524481_r8, & + 0.00026655593377833794_r8, 0.00026512393693011799_r8, & + 0.00026287518270030804_r8, 0.000262503655382862_r8, & + 0.00026233970249871637_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,54) / & + 4.8510089405057461e-06_r8, 4.8515987926966093e-06_r8, & + 4.563020999105989e-06_r8, 3.6980555917626818e-06_r8, & + 3.6691709340987473e-06_r8, 3.6264663298403605e-06_r8, & + 3.2889103823355815e-06_r8, 3.133992310588019e-06_r8, & + 3.3156890921753774e-06_r8, 3.4838689257699763e-06_r8, & + 3.6328981463615571e-06_r8, 3.9397099909289086e-06_r8, & + 4.8563816305894259e-06_r8, 6.3487148930801069e-06_r8, & + 8.5421124867886526e-06_r8, 1.1171756610451058e-05_r8, & + 1.6569875593630048e-05_r8, 2.3014334390949125e-05_r8, & + 3.0872901258496786e-05_r8, 4.5544105012483528e-05_r8, & + 6.5709581645426786e-05_r8, 9.1740403225525153e-05_r8, & + 0.00011873426311228595_r8, 0.00014480479354671722_r8, & + 0.00016972275662368764_r8, 0.0001916353074599655_r8, & + 0.00020873687695698658_r8, 0.00024341274986266955_r8, & + 0.00026641391610536931_r8, 0.00028083891954629008_r8, & + 0.00028862795439173498_r8, 0.00029280319884394143_r8, & + 0.00029360926168667202_r8, 0.00029174544672080574_r8, & + 0.00028825583255101149_r8, 0.00028470147261704115_r8, & + 0.00028106374660913163_r8, 0.00028001414746460734_r8, & + 0.00027792010491904673_r8, 0.00027689622204686912_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,54) / & + 4.6814453195792498e-06_r8, 4.6336686789974621e-06_r8, & + 4.4544561297347018e-06_r8, 4.519390665721544e-06_r8, & + 4.465892355887689e-06_r8, 4.0810526812820513e-06_r8, & + 3.6540898233527303e-06_r8, 3.166419590417677e-06_r8, & + 3.211252191694888e-06_r8, 3.0272439869477537e-06_r8, & + 2.9953622734831006e-06_r8, 3.2830966677913073e-06_r8, & + 3.8614257125722242e-06_r8, 5.2298451202460483e-06_r8, & + 8.4403429451505717e-06_r8, 1.2112999564144837e-05_r8, & + 2.1821243992773112e-05_r8, 3.2935960567218827e-05_r8, & + 5.0451994370406614e-05_r8, 7.1693860477314679e-05_r8, & + 9.7450711295767834e-05_r8, 0.00012674754790234516_r8, & + 0.00015312798479277342_r8, 0.00017780692386717216_r8, & + 0.00019850813494822541_r8, 0.00021710099514102762_r8, & + 0.0002320717297477712_r8, 0.00025860762562695513_r8, & + 0.00027701371626464189_r8, 0.00028860973640443673_r8, & + 0.00029601819303391253_r8, 0.00030056721805521457_r8, & + 0.00030193608475580317_r8, 0.00030112028552579186_r8, & + 0.00029909934232483373_r8, 0.00029593783632845822_r8, & + 0.00029433420337254894_r8, 0.00029390577474009376_r8, & + 0.00029370523332596278_r8, 0.00028979603877406923_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,54) / & + 5.4475116080622371e-06_r8, 5.3291921272171179e-06_r8, & + 5.0290757394717237e-06_r8, 3.7138359700862802e-06_r8, & + 3.7381992757563437e-06_r8, 3.3615130025106015e-06_r8, & + 3.4786443177909146e-06_r8, 3.1244903249361264e-06_r8, & + 4.362369956910052e-06_r8, 3.9025880320122611e-06_r8, & + 3.7243721558866167e-06_r8, 3.7859201267080721e-06_r8, & + 3.7929811164727757e-06_r8, 6.0224998368363808e-06_r8, & + 1.2325078091076979e-05_r8, 2.0450331696938832e-05_r8, & + 3.8904641467976893e-05_r8, 5.934700402477855e-05_r8, & + 8.7402406133113062e-05_r8, 0.00011410083407171662_r8, & + 0.00013979672255926953_r8, 0.00016309189716851464_r8, & + 0.00018343804848958259_r8, 0.00020185587514832712_r8, & + 0.00021704622630822613_r8, 0.00023119628247012476_r8, & + 0.00024318278848808338_r8, 0.00026717059780485369_r8, & + 0.00028424729438506657_r8, 0.00029564565644341013_r8, & + 0.00030356701767685247_r8, 0.00030839211040213931_r8, & + 0.00031007735956418568_r8, 0.00031041058635415171_r8, & + 0.00030889814210536409_r8, 0.00030671845208290907_r8, & + 0.00030733340160581698_r8, 0.00030739415515522228_r8, & + 0.00030716981375651349_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,54) / & + 6.3470230714777697e-06_r8, 6.3302583227421055e-06_r8, & + 5.6237605882442504e-06_r8, 3.5664683836382752e-06_r8, & + 3.5885724690498735e-06_r8, 3.4242769829061496e-06_r8, & + 4.1315531184172052e-06_r8, 3.7043416136233281e-06_r8, & + 5.1759487470546325e-06_r8, 5.0051606955559028e-06_r8, & + 5.129774789655055e-06_r8, 5.5049944607219258e-06_r8, & + 7.2964905754459812e-06_r8, 1.3403513995910164e-05_r8, & + 2.6465799551335003e-05_r8, 4.1462140348719954e-05_r8, & + 6.5683371294009225e-05_r8, 8.9677088820068029e-05_r8, & + 0.0001158915485857095_r8, 0.00014029564641739674_r8, & + 0.00016271285635743304_r8, 0.00018422299651283132_r8, & + 0.00020008172412204706_r8, 0.00021820974853162023_r8, & + 0.00023359823897390906_r8, 0.00024805520065798703_r8, & + 0.00025844869422853278_r8, 0.00028550894452279777_r8, & + 0.00030607048987516737_r8, 0.00032121334224143711_r8, & + 0.00033289145841785574_r8, 0.00033878357843255776_r8, & + 0.00034145682582902877_r8, 0.00033654866234574774_r8, & + 0.00033336307717156958_r8, 0.00033087038153719911_r8, & + 0.00033184881385067802_r8, 0.00032865352545983622_r8, & + 0.0003259059208669648_r8, 0.00032153009823171361_r8, & + 0.00032008391127140987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,54) / & + 5.7901317393752058e-06_r8, 6.195686450757657e-06_r8, & + 5.3890200574154085e-06_r8, 4.1805454814258197e-06_r8, & + 4.2343956734566968e-06_r8, 4.1495424907243872e-06_r8, & + 4.9303578708640381e-06_r8, 4.9507123036356213e-06_r8, & + 5.8221507663423752e-06_r8, 6.7333443194814645e-06_r8, & + 8.427283526157573e-06_r8, 1.2086008009680707e-05_r8, & + 2.0743405505693044e-05_r8, 3.3997201682091695e-05_r8, & + 5.0513469916287105e-05_r8, 6.5171011147333101e-05_r8, & + 8.906596614957739e-05_r8, 0.0001099070727978297_r8, & + 0.00013472717652711225_r8, 0.00015681501607514855_r8, & + 0.00017886313827382482_r8, 0.00019905391344021028_r8, & + 0.00021906229412267024_r8, 0.00023797249440249581_r8, & + 0.00025573288133025172_r8, 0.00027229941362635885_r8, & + 0.00028473272220555133_r8, 0.00031188949193547064_r8, & + 0.00033268354928396896_r8, 0.00034524716782036852_r8, & + 0.00035904009835102403_r8, 0.00036567282731156284_r8, & + 0.00036796196482476575_r8, 0.000362863429203126_r8, & + 0.00035947983903541223_r8, 0.00035575868565096988_r8, & + 0.00035302632032950477_r8, 0.00034616610590498196_r8, & + 0.0003408626625615488_r8, 0.00033747428188965934_r8, & + 0.00033445462726806142_r8, 0.00033177166211710617_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,54) / & + 5.2823506335007324e-06_r8, 6.1283316753902392e-06_r8, & + 5.7543694001867846e-06_r8, 5.31364454263373e-06_r8, & + 5.3364305893799707e-06_r8, 5.324504627497567e-06_r8, & + 5.8657080272887773e-06_r8, 6.2280852491857339e-06_r8, & + 7.8710525904369268e-06_r8, 1.1610682435008674e-05_r8, & + 1.9878550711938209e-05_r8, 3.1372770789370607e-05_r8, & + 4.7979774118723709e-05_r8, 6.272952300597543e-05_r8, & + 7.3904503304090573e-05_r8, 8.3653280294925948e-05_r8, & + 0.00010522204905101236_r8, 0.00012821634521720983_r8, & + 0.00015376598818754721_r8, 0.00017687970650704624_r8, & + 0.00020099090822598326_r8, 0.00022052828249320128_r8, & + 0.00024521487965275271_r8, 0.00026551176728917438_r8, & + 0.00028422491615335481_r8, 0.00030194650114545525_r8, & + 0.00031615195378089181_r8, 0.00034588197379477027_r8, & + 0.00036807531825119524_r8, 0.00038084841552541831_r8, & + 0.00038966835042676212_r8, 0.00039507404654164416_r8, & + 0.00039599226156582381_r8, 0.00039399965593082541_r8, & + 0.00039128407836126826_r8, 0.00038737751608598612_r8, & + 0.00038028551276628772_r8, 0.00037116875196784298_r8, & + 0.00035935855760094052_r8, 0.0003535011361708413_r8, & + 0.00034831598458382672_r8, 0.00034470881644157038_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,54) / & + 6.4463777214413717e-06_r8, 7.3367387142796319e-06_r8, & + 7.2906842101615144e-06_r8, 7.9691161917557283e-06_r8, & + 8.1007636645970828e-06_r8, 8.2508836833421237e-06_r8, & + 9.5656047218845794e-06_r8, 1.0810989153753424e-05_r8, & + 1.4885520057109013e-05_r8, 2.395885092334667e-05_r8, & + 3.8949764828289253e-05_r8, 5.0451114573026124e-05_r8, & + 6.1845846950295719e-05_r8, 7.1734511434016693e-05_r8, & + 8.200035406880417e-05_r8, 9.2384459210255164e-05_r8, & + 0.00011908951740685197_r8, 0.00014367710890134927_r8, & + 0.00017062345145957047_r8, 0.00019575892613461863_r8, & + 0.00022004950414455761_r8, 0.00024368139224630823_r8, & + 0.00027026545271384314_r8, 0.00029209071177808542_r8, & + 0.00031237692231873349_r8, 0.0003320937337960048_r8, & + 0.00034895338834226312_r8, 0.00038471322121444754_r8, & + 0.00040789501500211486_r8, 0.00042020386933131447_r8, & + 0.00042452246692223431_r8, 0.00042811871072499422_r8, & + 0.00042745623425941346_r8, 0.00042661444304434624_r8, & + 0.00042464676540557403_r8, 0.00042093472698379091_r8, & + 0.00041273531592131787_r8, 0.00040281277520131168_r8, & + 0.00038285563005633472_r8, 0.0003688862921566613_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,54) / & + 7.2938590673046621e-06_r8, 7.8884645066901495e-06_r8, & + 7.6845744011537177e-06_r8, 9.894358274134002e-06_r8, & + 1.019611026374138e-05_r8, 1.052456462562716e-05_r8, & + 1.2241040837273586e-05_r8, 1.4566120194185694e-05_r8, & + 1.954632569027062e-05_r8, 3.1405806606837422e-05_r8, & + 4.8239817686571166e-05_r8, 6.1386749702900087e-05_r8, & + 7.3920321522532838e-05_r8, 8.1420993742298102e-05_r8, & + 8.8859104149042917e-05_r8, 9.9084984654363594e-05_r8, & + 0.00012912951836168809_r8, 0.0001581915391850296_r8, & + 0.00018617374923702044_r8, 0.0002151030625131451_r8, & + 0.00023946975895841916_r8, 0.00026414096592678035_r8, & + 0.00028923662085213398_r8, 0.00031582966191156582_r8, & + 0.00033893543962837261_r8, 0.00035966043641238868_r8, & + 0.00037670162160200523_r8, 0.00041115367107396477_r8, & + 0.00043472888958939271_r8, 0.00044972127062369965_r8, & + 0.00045679209704909378_r8, 0.00045941484804379567_r8, & + 0.00046023069442948066_r8, 0.00045779372666737749_r8, & + 0.00045133932066660968_r8, 0.00044533855425393022_r8, & + 0.00043655159057533465_r8, 0.00042934787024682172_r8, & + 0.00042254096563598567_r8, 0.00042143977300523221_r8, & + 0.00041926333440689965_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,54) / & + 6.5019053900869274e-06_r8, 6.8313718612266328e-06_r8, & + 6.5650039876120465e-06_r8, 9.7129951964543467e-06_r8, & + 1.0077167092729698e-05_r8, 1.0124213284273689e-05_r8, & + 1.0877312859508631e-05_r8, 1.8085097909116711e-05_r8, & + 2.9891762615142469e-05_r8, 4.9038807967827701e-05_r8, & + 6.7912549114463667e-05_r8, 8.1697687943186616e-05_r8, & + 9.460575054514652e-05_r8, 0.00010113392636629919_r8, & + 0.00010709044964922827_r8, 0.00011521927548604593_r8, & + 0.00014258896811190553_r8, 0.0001776720542641779_r8, & + 0.00020886878075022312_r8, 0.00024173677596114453_r8, & + 0.00027120257327823072_r8, 0.00029372055377631861_r8, & + 0.00031865268727770762_r8, 0.00034383623288118361_r8, & + 0.00036676633106933805_r8, 0.0003862764954369378_r8, & + 0.00040318205875168752_r8, 0.00043619227990551821_r8, & + 0.00045965158676124652_r8, 0.00047415524889176254_r8, & + 0.00048296442429842182_r8, 0.00048662587936857223_r8, & + 0.00048888987951604555_r8, 0.0004854920653412306_r8, & + 0.00047604517757554273_r8, 0.00046461960321526712_r8, & + 0.00045291132857796764_r8, 0.00044429287129848057_r8, & + 0.00043837327729401982_r8, 0.00043684778051457173_r8, & + 0.00043572490011481587_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,54) / & + 6.514530126915919e-06_r8, 6.6094905298140908e-06_r8, & + 6.2878297103678661e-06_r8, 1.0069537794938338e-05_r8, & + 9.4948200755128693e-06_r8, 8.7557363864215975e-06_r8, & + 1.0544613088642402e-05_r8, 2.8165613860036101e-05_r8, & + 5.5860716237219284e-05_r8, 7.7969977873591643e-05_r8, & + 9.0134982123723278e-05_r8, 9.8469481325478561e-05_r8, & + 0.00010819267691477678_r8, 0.0001158828656118409_r8, & + 0.00012403968573133637_r8, 0.00013442016334591397_r8, & + 0.00016404364277161149_r8, 0.00019986317160175914_r8, & + 0.00023433412862401736_r8, 0.00026688650187593093_r8, & + 0.00029616818973281716_r8, 0.00032120922089103933_r8, & + 0.00034550872092385432_r8, 0.0003681298221152509_r8, & + 0.00038799546284493201_r8, 0.00040658940118692348_r8, & + 0.00042403063726517725_r8, 0.00045562523650617654_r8, & + 0.00048198016194416236_r8, 0.00049515823658783395_r8, & + 0.00050426087872581713_r8, 0.00050856144971838985_r8, & + 0.00051255811944619944_r8, 0.00051066253844135059_r8, & + 0.00050485096292909924_r8, 0.00048851077365848086_r8, & + 0.00047223400604988046_r8, 0.00046134127981831727_r8, & + 0.00045451438215678326_r8, 0.00045154879724632112_r8, & + 0.00044939433813366689_r8, 0.00044728500724301539_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,54) / & + 7.5334230273179266e-06_r8, 7.5641792585626978e-06_r8, & + 6.7265609799142129e-06_r8, 6.8059890588888506e-06_r8, & + 6.5047093159735371e-06_r8, 6.6785033262563665e-06_r8, & + 6.4297174109730874e-06_r8, 1.6338637953471512e-05_r8, & + 3.1535088939121999e-05_r8, 4.9674735863654359e-05_r8, & + 6.6693541538518055e-05_r8, 8.1317403169460132e-05_r8, & + 0.00010693385760539737_r8, 0.00012439216169269599_r8, & + 0.00013809802219094826_r8, 0.00015324408801725182_r8, & + 0.00018953322698280934_r8, 0.00022591847779006519_r8, & + 0.00025798180448999774_r8, 0.00028957219006803096_r8, & + 0.00031651155067326443_r8, 0.00034500020633192755_r8, & + 0.00036599504276650218_r8, 0.00038780718374387422_r8, & + 0.00040683075822218242_r8, 0.00042555694000469496_r8, & + 0.00044105017788377874_r8, 0.00047417147652197521_r8, & + 0.00050224429366037444_r8, 0.00051460877505160683_r8, & + 0.00052405771068076768_r8, 0.00052910084706811662_r8, & + 0.0005346280146943847_r8, 0.00053451329226072725_r8, & + 0.00053034716018569394_r8, 0.00051513843152794754_r8, & + 0.00049798804514625402_r8, 0.00048541045809708888_r8, & + 0.00047512353624381171_r8, 0.00046888597071631012_r8, & + 0.00046470220648692331_r8, 0.00046293596503626909_r8, & + 0.00045719392149287576_r8, 0.00045357600869357664_r8, 9e90_r8 & + / +data saar_ref(:,27,54) / & + 7.6664119697145906e-06_r8, 7.7069101821741234e-06_r8, & + 6.4976332074941202e-06_r8, 6.7142999174208075e-06_r8, & + 6.7111377397997776e-06_r8, 6.644437124116383e-06_r8, & + 6.2514979026827047e-06_r8, 1.0048611408923325e-05_r8, & + 1.0323125615810257e-05_r8, 1.4580988766271593e-05_r8, & + 2.2899380200263073e-05_r8, 3.3804163018533714e-05_r8, & + 6.4576048383953243e-05_r8, 9.8986222991009247e-05_r8, & + 0.00012775064538654216_r8, 0.00015818663687477904_r8, & + 0.0002115825603864361_r8, 0.00025637379749466737_r8, & + 0.00029082571476859726_r8, 0.00031927775674304602_r8, & + 0.00034224574048961979_r8, 0.00036928361150597561_r8, & + 0.00039097371843362566_r8, 0.00041179983025298292_r8, & + 0.00043084623111157956_r8, 0.00044931282199129458_r8, & + 0.00046761290785633108_r8, 0.00050094657125963481_r8, & + 0.0005294094913367766_r8, 0.00054150206125588905_r8, & + 0.00054785345977262953_r8, 0.00055326382587650652_r8, & + 0.00055816519513846214_r8, 0.00055671399016845387_r8, & + 0.00055099059455435313_r8, 0.00054034867445800253_r8, & + 0.00052984482990933669_r8, 0.00051642682612562999_r8, & + 0.00050277130163695852_r8, 0.00049242891706970516_r8, & + 0.00048625784781478038_r8, 0.00048427907704574191_r8, & + 0.00047878210360933251_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,54) / & + 6.4634319329490234e-06_r8, 6.5513671563792255e-06_r8, & + 5.65097327305819e-06_r8, 6.9699145319735749e-06_r8, & + 6.9319185189123613e-06_r8, 6.7538729408639909e-06_r8, & + 6.6809863518766141e-06_r8, 7.0854285960480267e-06_r8, & + 7.0056070098132302e-06_r8, 7.3177197117248945e-06_r8, & + 9.7370986928058098e-06_r8, 1.3827527219705188e-05_r8, & + 2.728395057694019e-05_r8, 5.2025058979461347e-05_r8, & + 8.3873759564975669e-05_r8, 0.00012441289818167082_r8, & + 0.00020738377935216481_r8, 0.00027677074502118436_r8, & + 0.00032667582866423978_r8, 0.00036004613972446425_r8, & + 0.0003796110652945409_r8, 0.00040111086183443524_r8, & + 0.00042032911400642251_r8, 0.00043910632759346438_r8, & + 0.00045731284483897588_r8, 0.00047536394764090192_r8, & + 0.0004925293843241218_r8, 0.00052756342858359449_r8, & + 0.00055661916871744253_r8, 0.00057274257839614478_r8, & + 0.00058014508341116319_r8, 0.00058394598734445196_r8, & + 0.00058467630027930404_r8, 0.00058144669007999922_r8, & + 0.00057547701340194125_r8, 0.00056659561532708803_r8, & + 0.00055741068588677548_r8, 0.00054605636963361165_r8, & + 0.00053151258364743837_r8, 0.00051837454937126467_r8, & + 0.00051026360097416123_r8, 0.00050703090899701687_r8, & + 0.00050701379676769051_r8, 0.00050916381287313445_r8, 9e90_r8 & + / +data saar_ref(:,29,54) / & + 6.137911426976822e-06_r8, 6.2330878271533778e-06_r8, & + 5.6929669417988154e-06_r8, 6.2336073450535543e-06_r8, & + 6.2113263324030915e-06_r8, 5.9929950840702745e-06_r8, & + 6.0748433854820405e-06_r8, 6.6554406565532107e-06_r8, & + 7.6217624561621244e-06_r8, 9.0192501044959052e-06_r8, & + 1.163298963569552e-05_r8, 1.5997380261286089e-05_r8, & + 2.7165904551751815e-05_r8, 4.4375344478782299e-05_r8, & + 6.6504373446964052e-05_r8, 9.6624931435372924e-05_r8, & + 0.00017940862723438058_r8, 0.00026635727017329899_r8, & + 0.00033411627989331054_r8, 0.0003818254958489573_r8, & + 0.00041011564663062395_r8, 0.00043233217837066243_r8, & + 0.00044874672714791765_r8, 0.00046644894027510707_r8, & + 0.00048355349232260045_r8, 0.00050045785244715816_r8, & + 0.00051651687514345343_r8, 0.0005516567687499633_r8, & + 0.00058283755718103287_r8, 0.00060002049111336823_r8, & + 0.00060854686286720408_r8, 0.00060898614476900305_r8, & + 0.00060522150625399378_r8, 0.00060279206266057215_r8, & + 0.00059558074536645244_r8, 0.00058622409971783869_r8, & + 0.00057665379451898012_r8, 0.00056838342928332297_r8, & + 0.00055624442436563303_r8, 0.00054388480406649309_r8, & + 0.00053402621413542104_r8, 0.00052843065166014228_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,54) / & + 9.9516190729141174e-06_r8, 9.9703107548654838e-06_r8, & + 9.4251481842852909e-06_r8, 8.5655052682931103e-06_r8, & + 7.6810583038186176e-06_r8, 7.5956634943242881e-06_r8, & + 8.9096217221166729e-06_r8, 1.0750829020568325e-05_r8, & + 1.2811405684618121e-05_r8, 1.6359486911602601e-05_r8, & + 2.1713627307798812e-05_r8, 2.8740609275093088e-05_r8, & + 4.1474329754738763e-05_r8, 5.6690080941813257e-05_r8, & + 7.5038364158218536e-05_r8, 0.00010139027742965784_r8, & + 0.0001795065883810213_r8, 0.00027118378270245285_r8, & + 0.00035006828607463911_r8, 0.00041353004338496322_r8, & + 0.00045311733494811672_r8, 0.00047824366722755895_r8, & + 0.00049328030448805718_r8, 0.00051135951973497117_r8, & + 0.00052852244244324905_r8, 0.00054395494686491886_r8, & + 0.00055733702618810104_r8, 0.00059335524768052285_r8, & + 0.00062539207257545043_r8, 0.00063781904882922818_r8, & + 0.00064087735984952993_r8, 0.0006390238755533301_r8, & + 0.00063137025930488574_r8, 0.00062639189797690097_r8, & + 0.00061771769956951077_r8, 0.00060856119324592727_r8, & + 0.00060058513527532788_r8, 0.00059295153308159773_r8, & + 0.00058244400218680097_r8, 0.00057171432658932977_r8, & + 0.00056739431120962571_r8, 0.00056439387784885692_r8, & + 0.00056695471442462259_r8, 0.00055078765429951914_r8, 9e90_r8 & + / +data saar_ref(:,31,54) / & + 1.5381189621876507e-05_r8, 1.5322636658627422e-05_r8, & + 1.4468230317893906e-05_r8, 1.498579310208845e-05_r8, & + 1.1416922671336218e-05_r8, 1.2830954885600609e-05_r8, & + 1.4512117768625771e-05_r8, 1.8252012021509579e-05_r8, & + 2.1733665384834569e-05_r8, 2.6847857536297369e-05_r8, & + 3.2993707169270686e-05_r8, 4.1999689260563584e-05_r8, & + 5.6722067870303741e-05_r8, 7.152798926476606e-05_r8, & + 9.105941826762298e-05_r8, 0.00011644704978410726_r8, & + 0.0001980285579482118_r8, 0.00029046625251977112_r8, & + 0.00037159877636337631_r8, 0.00043666385860852331_r8, & + 0.00048112768157881225_r8, 0.00051300180277507061_r8, & + 0.00053471895777692342_r8, 0.00055387532969899999_r8, & + 0.00057256863017492014_r8, 0.00058778626478277641_r8, & + 0.00059800637182199094_r8, 0.00063248071163310394_r8, & + 0.00066016379722337799_r8, 0.00067098091017691317_r8, & + 0.00066959110715785115_r8, 0.00066290789241068746_r8, & + 0.00065250591501181355_r8, 0.00064222333253148253_r8, & + 0.00063759354201111003_r8, 0.00063101718042944189_r8, & + 0.00062559626469621641_r8, 0.00062071915912619415_r8, & + 0.00061271092588465609_r8, 0.00060318266601374682_r8, & + 0.00059559103501786754_r8, 0.000589185259450358_r8, & + 0.00058535548537115773_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,54) / & + 2.0191384336185284e-05_r8, 2.0033479080914123e-05_r8, & + 1.784082724446443e-05_r8, 2.5775918310893097e-05_r8, & + 2.1713025390082771e-05_r8, 2.6623386478247181e-05_r8, & + 2.7442143588723935e-05_r8, 3.2412599631409e-05_r8, & + 3.4974393081369159e-05_r8, 4.009600303927197e-05_r8, & + 4.883418250783932e-05_r8, 5.843569388348907e-05_r8, & + 7.4872421451294989e-05_r8, 9.5139931196596664e-05_r8, & + 0.00012362768502774776_r8, 0.00015894214077891364_r8, & + 0.00024433013628034878_r8, 0.00032342439608093302_r8, & + 0.00039745871662254505_r8, 0.00045943238732904841_r8, & + 0.00050254140126323142_r8, 0.00054231744321036549_r8, & + 0.00056966260390641345_r8, 0.00058964702139396895_r8, & + 0.00060982808148782753_r8, 0.00062566927960977113_r8, & + 0.00063961499677681597_r8, 0.00066745343675866996_r8, & + 0.00068353952539309474_r8, 0.00069135699976997434_r8, & + 0.00069015800535995127_r8, 0.00068166786572202646_r8, & + 0.00067222508952558024_r8, 0.00066412691321384766_r8, & + 0.00066453072368710924_r8, 0.00066254174157408718_r8, & + 0.00065561933417423079_r8, 0.00065222815405598317_r8, & + 0.00064944874946982871_r8, 0.00064201932393497386_r8, & + 0.00062557775552875034_r8, 0.00061331972456376302_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,54) / & + 3.4121499738589263e-05_r8, 3.3931746930973578e-05_r8, & + 3.1267443790351883e-05_r8, 4.1721219637646608e-05_r8, & + 4.2123162955126474e-05_r8, 4.6301861098207376e-05_r8, & + 4.8342842791237046e-05_r8, 5.1614262500158048e-05_r8, & + 5.7580959093597768e-05_r8, 7.0301723331630246e-05_r8, & + 8.1874047500389102e-05_r8, 9.5064073878650657e-05_r8, & + 0.00011946085989637981_r8, 0.00015163825395919756_r8, & + 0.00019161105646454805_r8, 0.00023538204898721385_r8, & + 0.00031586768764284068_r8, 0.00038744298811197288_r8, & + 0.00044940141134325534_r8, 0.00050104038923235708_r8, & + 0.00053965289511285954_r8, 0.00057780623498197034_r8, & + 0.00060466619299114131_r8, 0.00062919328682179614_r8, & + 0.00065019166721847757_r8, 0.00066765548303897022_r8, & + 0.00068294272054998759_r8, 0.00070597189239521817_r8, & + 0.00071819566718015111_r8, 0.00071938089521407641_r8, & + 0.00071764011278312558_r8, 0.00071043858694554715_r8, & + 0.00070263431109534214_r8, 0.00069629787113394917_r8, & + 0.00069822056928480554_r8, 0.00069801821353378908_r8, & + 0.00069419418943059467_r8, 0.00069055137222298179_r8, & + 0.00069142134864750605_r8, 0.00069124022592259658_r8, & + 0.00068031528332359302_r8, 0.00063658262322225474_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,54) / & + 6.2310307412821928e-05_r8, 6.1839713152557572e-05_r8, & + 5.9899556304195821e-05_r8, 5.2930066065264163e-05_r8, & + 5.9155993334987695e-05_r8, 6.6148637729673829e-05_r8, & + 7.3507426982554537e-05_r8, 8.1897992895979348e-05_r8, & + 9.8388236874915374e-05_r8, 0.00012408682021776703_r8, & + 0.00014748392660266006_r8, 0.00017247817086541941_r8, & + 0.00020501485870512784_r8, 0.00025007815793902963_r8, & + 0.00029608577507751695_r8, 0.00033799242791467972_r8, & + 0.00040766409380989813_r8, 0.0004640595976396723_r8, & + 0.00050854808538138181_r8, 0.00054834506360819358_r8, & + 0.00058137755200119334_r8, 0.00061062818070518573_r8, & + 0.00063295245546792151_r8, 0.00065729302739428149_r8, & + 0.00067706568032764017_r8, 0.00069376742924338311_r8, & + 0.0007088599913755325_r8, 0.00072961405877657102_r8, & + 0.00074376268097822934_r8, 0.00074295658542896119_r8, & + 0.00074199041370698749_r8, 0.00073614971150046777_r8, & + 0.00072962122573252172_r8, 0.00072330834689433886_r8, & + 0.00071791165497689087_r8, 0.00071622330151385131_r8, & + 0.0007162563630526168_r8, 0.00071568300073727249_r8, & + 0.00071769643169112792_r8, 0.00071617963540881557_r8, & + 0.00071047702206772779_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,54) / & + 9.7695428530113256e-05_r8, 9.7473305949855464e-05_r8, & + 9.6723023357961211e-05_r8, 6.8200111126133758e-05_r8, & + 8.1712365029173087e-05_r8, 9.5158453644241515e-05_r8, & + 0.00011232060787966092_r8, 0.00013234357055252733_r8, & + 0.00017407105507891434_r8, 0.00022846322561424724_r8, & + 0.00026904924454900143_r8, 0.00030159771752636408_r8, & + 0.00031843447935426747_r8, 0.00035645497119990828_r8, & + 0.00039124650919569482_r8, 0.00042504977159759169_r8, & + 0.00047903007310368318_r8, 0.00052049353691250189_r8, & + 0.00055508199266392493_r8, 0.00058483540889791338_r8, & + 0.00061094069122152742_r8, 0.0006343918264617378_r8, & + 0.00065251036782441711_r8, 0.00067444561316722205_r8, & + 0.00069518270181047846_r8, 0.00071061568989247881_r8, & + 0.00072259145456689538_r8, 0.00074073337826831569_r8, & + 0.0007513935590810249_r8, 0.00075308946786088683_r8, & + 0.00075372801118582164_r8, 0.00074900086975428486_r8, & + 0.00074371561737174687_r8, 0.00073809969957129866_r8, & + 0.00073142152632606249_r8, 0.00072888519068914153_r8, & + 0.00072946627329294861_r8, 0.00073319051693403192_r8, & + 0.00073591392988492843_r8, 0.00073086307822181455_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,54) / & + 0.0001072130159350439_r8, 0.00010980150911644826_r8, & + 0.00011130501663400137_r8, 9.9179923739889004e-05_r8, & + 0.00011100242193997213_r8, 0.00012335437969505879_r8, & + 0.0001496591978848525_r8, 0.00018836633805794273_r8, & + 0.00024259534811760258_r8, 0.00030931883997239621_r8, & + 0.00034597588042278643_r8, 0.00038011859388789777_r8, & + 0.00038885411456361413_r8, 0.00042432270041917669_r8, & + 0.00045414087837123535_r8, 0.00048395915011600373_r8, & + 0.00052873673314821859_r8, 0.00056245948512149719_r8, & + 0.00059175084006909376_r8, 0.00061831307388660322_r8, & + 0.00064070106717493774_r8, 0.00066024461801043942_r8, & + 0.00067871198494916956_r8, 0.00070085152771325358_r8, & + 0.00071780469052838572_r8, 0.00072995764905049688_r8, & + 0.00073994589307610568_r8, 0.00075508094927785705_r8, & + 0.00076207433855465692_r8, 0.00076340117890654001_r8, & + 0.0007629782127898698_r8, 0.00075905229329290285_r8, & + 0.00075347796261504704_r8, 0.00074865459737933607_r8, & + 0.00074351442068254189_r8, 0.00073991729911096124_r8, & + 0.00073604513171778604_r8, 0.00073800510946553778_r8, & + 0.00070466915905139846_r8, 0.00069545860960462148_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,54) / & + 9.3034385282322855e-05_r8, 9.7664288593177993e-05_r8, & + 9.9304122010411428e-05_r8, 0.00011495021278697524_r8, & + 0.0001256634031934263_r8, 0.00013293695965472114_r8, & + 0.00015332671834529719_r8, 0.00017683909743223638_r8, & + 0.00021297298206688844_r8, 0.00025504013870232447_r8, & + 0.00028782082181803527_r8, 0.00033019345967602712_r8, & + 0.00037912296672061536_r8, 0.00042094977660143355_r8, & + 0.00045437692847485325_r8, 0.0004818519824059676_r8, & + 0.00053132385013089948_r8, 0.00056840085893634451_r8, & + 0.00059893157257459194_r8, 0.00062763454018566927_r8, & + 0.00065106882551084358_r8, 0.00067164357654320649_r8, & + 0.0006924432234842148_r8, 0.0007141094178729668_r8, & + 0.0007328237942179121_r8, 0.00074668892071008165_r8, & + 0.00075592643612859968_r8, 0.0007727501242413145_r8, & + 0.00078010146754246303_r8, 0.00078115277178563141_r8, & + 0.00078027111548189588_r8, 0.00077624731381158954_r8, & + 0.00076988953268137888_r8, 0.0007648649724334998_r8, & + 0.00075957170997067341_r8, 0.00075515349259040027_r8, & + 0.00074673507288411031_r8, 0.00072873640819116643_r8, & + 0.00071389574206117291_r8, 0.00070930891277752226_r8, & + 0.00069078137530227755_r8, 0.000690775004482899_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,54) / & + 9.3965722085485615e-05_r8, 0.00010465656224591109_r8, & + 0.00010413834981643247_r8, 0.00012290712063302062_r8, & + 0.00013709359412261777_r8, 0.00014339712588029772_r8, & + 0.00015756139367802198_r8, 0.00017486196510449074_r8, & + 0.00019629212688480229_r8, 0.00022971868899377166_r8, & + 0.00025519988535352222_r8, 0.00028426817670418298_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,54) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,54) / & + 9.2442431962766548e-05_r8, 7.4315455684095962e-05_r8, & + 8.2730027624757735e-05_r8, 9.0418862365554184e-05_r8, & + 9.078142397411261e-05_r8, 9.044424686774462e-05_r8, & + 0.00011360949626536764_r8, 0.00012253748056154342_r8, & + 0.00021835745396723804_r8, 0.00018953418110499891_r8, & + 0.00017913561606224614_r8, 0.00013319389260666432_r8, & + 0.00011156033354339001_r8, 0.00010644785222659229_r8, & + 0.00011407761585095667_r8, 0.00010519496184949593_r8, & + 0.00010254936214199418_r8, 8.5781440785776135e-05_r8, & + 8.6409021668571836e-05_r8, 8.5899806636840952e-05_r8, & + 8.6476539609557209e-05_r8, 8.5873854881025801e-05_r8, & + 8.772402274400487e-05_r8, 8.856982066268623e-05_r8, & + 9.4281290420423388e-05_r8, 9.7369153434445239e-05_r8, & + 0.00010158218463378167_r8, 0.00010504638918101063_r8, & + 0.00010938082929035421_r8, 0.00010992789563142003_r8, & + 0.00010872582695114004_r8, 0.00010426952251716594_r8, & + 0.00011014874373761821_r8, 0.00013133402036490826_r8, & + 0.00013093355146166124_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,54) / & + 9.4977403432037975e-05_r8, 7.8313804784353871e-05_r8, & + 8.9902373219295767e-05_r8, 9.6926334105090639e-05_r8, & + 9.4711173893488891e-05_r8, 9.3416242448007025e-05_r8, & + 0.00010073851921156492_r8, 0.00010593064903550435_r8, & + 0.00021323071191058486_r8, 0.00022462354321615627_r8, & + 0.00020640192811517235_r8, 0.00014813135020806231_r8, & + 0.00012138119014760318_r8, 0.00011615813786243887_r8, & + 0.00012546050265171613_r8, 0.00011152351987857332_r8, & + 0.00010475559382614987_r8, 9.0207611870849871e-05_r8, & + 8.8320129929048025e-05_r8, 8.7538167353969483e-05_r8, & + 8.7238659509017013e-05_r8, 8.692558766944006e-05_r8, & + 8.8513630111529534e-05_r8, 9.0276834208663371e-05_r8, & + 9.6000995443765559e-05_r8, 9.9459177581120664e-05_r8, & + 0.00010353482990032995_r8, 0.00010889297059074399_r8, & + 0.00011608696797510633_r8, 0.0001166210597861421_r8, & + 0.00011637420651248376_r8, 0.00011245768460480673_r8, & + 0.0001155794386931561_r8, 0.00013525345619504198_r8, & + 0.00013341492346703485_r8, 0.00013300799892984131_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,54) / & + 0.00010198138445537152_r8, 9.0694485135667217e-05_r8, & + 0.00010342004190724_r8, 0.00010927517582924103_r8, & + 0.00011177108463837859_r8, 0.00011345003706817925_r8, & + 0.00011812919691769064_r8, 0.00012362270037664672_r8, & + 0.00021581813844115819_r8, 0.00027163338343402359_r8, & + 0.00022919752787362894_r8, 0.00015203396793284042_r8, & + 0.00011738389180745857_r8, 9.1670492204541659e-05_r8, & + 0.00010966314629518988_r8, 0.00010281703533674127_r8, & + 9.4246769290067282e-05_r8, 8.6343662218181153e-05_r8, & + 8.266477600937783e-05_r8, 8.2767140117634457e-05_r8, & + 8.2154701459051245e-05_r8, 8.194276065338366e-05_r8, & + 8.2323001221688648e-05_r8, 8.3776170545039007e-05_r8, & + 8.8883250514190619e-05_r8, 9.4233495219498158e-05_r8, & + 9.7338462207353644e-05_r8, 0.00010791684148727716_r8, & + 0.00011638263180825752_r8, 0.00012070307729913484_r8, & + 0.00012106798296402638_r8, 0.00012034381105894953_r8, & + 0.00011890089598686766_r8, 0.00013308034690468119_r8, & + 0.00012416959347149865_r8, 0.00012414346431863791_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,54) / & + 9.7531914795339033e-05_r8, 9.5816860711756024e-05_r8, & + 9.7910500498775728e-05_r8, 0.00012395868264576145_r8, & + 0.00013220212330530807_r8, 0.00013469867616563774_r8, & + 0.00015113177180645483_r8, 0.00016719208498304085_r8, & + 0.00019723571601316505_r8, 0.00024690573968226152_r8, & + 0.00019241696051242136_r8, 0.00012800406349426738_r8, & + 8.2872200457742516e-05_r8, 7.4627804942322976e-05_r8, & + 8.5001445031209117e-05_r8, 8.6179807313502957e-05_r8, & + 8.0831138701271889e-05_r8, 7.6944675452138693e-05_r8, & + 7.5405730197262194e-05_r8, 7.6909656499397723e-05_r8, & + 7.7426693451457105e-05_r8, 7.8414779668268354e-05_r8, & + 7.9220797905790827e-05_r8, 8.1069231497554503e-05_r8, & + 8.7990267649578718e-05_r8, 9.219041991175177e-05_r8, & + 9.5212583269195281e-05_r8, 0.00010439003844779289_r8, & + 0.00011382416906846153_r8, 0.00011763125888047226_r8, & + 0.00011614287610169877_r8, 0.00011615762626168036_r8, & + 0.00011405752727450608_r8, 0.0001278826419104_r8, & + 0.00011736047747865236_r8, 0.00011774813085787018_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,54) / & + 8.520398025504874e-05_r8, 9.8849418860176756e-05_r8, & + 8.9098098228239988e-05_r8, 0.00012690636374346006_r8, & + 0.00013211805786683697_r8, 0.00012720917879883409_r8, & + 0.00015143376281864633_r8, 0.00015817194359178915_r8, & + 0.00016571726855650498_r8, 0.00013944724127403095_r8, & + 0.00010571345770570967_r8, 8.8512796538970981e-05_r8, & + 7.2952676190056844e-05_r8, 7.5566565500053348e-05_r8, & + 7.9769414309532308e-05_r8, 7.9476755676775667e-05_r8, & + 7.5461983110238862e-05_r8, 7.4553569196691993e-05_r8, & + 7.5171190671545639e-05_r8, 7.7864941157528483e-05_r8, & + 7.9659015251437812e-05_r8, 8.1830847317784601e-05_r8, & + 8.4075030848696912e-05_r8, 8.7619593159134375e-05_r8, & + 9.4887443983824994e-05_r8, 9.8347811421059493e-05_r8, & + 0.00010208642876198596_r8, 0.00010839100379026557_r8, & + 0.0001192863229598831_r8, 0.00012396005647422842_r8, & + 0.00012029553676758958_r8, 0.00011796508425051122_r8, & + 0.00011490748135923924_r8, 0.00011538407719801414_r8, & + 0.00011653834373467109_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,54) / & + 7.9510434776094131e-05_r8, 0.00010746087605518136_r8, & + 9.5840991877524414e-05_r8, 0.00011144239574544711_r8, & + 0.00011259735574113916_r8, 0.00012350876039189776_r8, & + 0.00014818578083626409_r8, 0.00011606047510699781_r8, & + 8.8492770690758396e-05_r8, 7.6372377191514994e-05_r8, & + 7.1760586594445629e-05_r8, 7.1115544594648687e-05_r8, & + 6.9329234366877223e-05_r8, 7.1874535380882839e-05_r8, & + 7.2402508075206272e-05_r8, 7.3714945375903706e-05_r8, & + 7.3364235743321698e-05_r8, 7.3705988854090029e-05_r8, & + 7.5742170827192582e-05_r8, 7.9086957361534254e-05_r8, & + 8.192195550469913e-05_r8, 8.5325183396613326e-05_r8, & + 8.9081893738594887e-05_r8, 9.3475478209340936e-05_r8, & + 9.9191846743242504e-05_r8, 0.00010355456157036811_r8, & + 0.00010931437009439064_r8, 0.00011850810079937706_r8, & + 0.00012264539813059585_r8, 0.00012176995991936861_r8, & + 0.00012011857637571429_r8, 0.00012010396694129241_r8, & + 0.00011947925656811514_r8, 0.00011953156827909914_r8, & + 0.0001203213894949583_r8, 0.00012128842753363887_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,55) / & + 9.7542084258292681e-05_r8, 0.00010329324496280324_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,2,55) / & + 9.7542084258292681e-05_r8, 0.00010329324496280324_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,3,55) / & + 9.7542084258292681e-05_r8, 0.00010329324496280324_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,4,55) / & + 0.00010278750072680365_r8, 0.00011007771284445314_r8, & + 0.00011431632520268623_r8, 0.00012649443434752035_r8, & + 0.00012631455833318696_r8, 0.0001329097283632247_r8, & + 0.00015003412170737254_r8, 0.00016016623467131032_r8, & + 0.00016052359665832624_r8, 0.00016119819366140133_r8, & + 0.0001569025090827997_r8, 0.00016826548968363979_r8, & + 0.00018755425158275004_r8, 0.00019249565774673229_r8, & + 0.00019761522832817323_r8, 0.0002001889920861824_r8, & + 0.00020854872365283456_r8, 0.00021524988492645401_r8, & + 0.00022080992666525081_r8, 0.00022722636952679474_r8, & + 0.00023284362603390662_r8, 0.00023799678196069149_r8, & + 0.0002423086615882899_r8, 0.00024607301680072414_r8, & + 0.00024992773351869348_r8, 0.00025356748005985022_r8, & + 0.00025712658899391277_r8, 0.00026601482785069828_r8, & + 0.00027454566528063051_r8, 0.00027438624741711235_r8, & + 0.00027919673482291801_r8, 0.00028294572221436437_r8, & + 0.00028626742541268055_r8, 0.00028847796059358469_r8, & + 0.00028900830345390127_r8, 0.00028051443801949496_r8, & + 0.00026761901450146109_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,55) / & + 0.00010281989083386482_r8, 0.00010735533593587064_r8, & + 9.677069052474338e-05_r8, 0.00010869840836393672_r8, & + 0.00010983116659203545_r8, 0.00011728142204462329_r8, & + 0.00012429958038208996_r8, 0.00013999649594821005_r8, & + 0.00014735113665173728_r8, 0.00015157329500476395_r8, & + 0.00015361614931732413_r8, 0.00016945913466472328_r8, & + 0.00018708488011231382_r8, 0.00019388097316176201_r8, & + 0.0002003523378991544_r8, 0.00020503164758570614_r8, & + 0.00021385413469550418_r8, 0.00021701434010434952_r8, & + 0.00022311266152700248_r8, 0.00022899074843880717_r8, & + 0.00023427685625814851_r8, 0.00023997668997867945_r8, & + 0.00024426682704729787_r8, 0.00024815971091995032_r8, & + 0.00025200471852524062_r8, 0.00025562479541766097_r8, & + 0.00025930748660290767_r8, 0.00026806499369553367_r8, & + 0.00027489837016539902_r8, 0.0002768084839583496_r8, & + 0.00028073519130595269_r8, 0.00028409776347580414_r8, & + 0.00028643874899480376_r8, 0.0002866621699551845_r8, & + 0.0002839502837188616_r8, 0.00027687305028712149_r8, & + 0.00026748071807176536_r8, 0.00026537819565477535_r8, & + 0.00027621607290668733_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,55) / & + 0.00010997962912649379_r8, 0.00011149851536748551_r8, & + 9.6173213495491646e-05_r8, 8.1451837632985356e-05_r8, & + 8.2694990544190513e-05_r8, 8.620380192822409e-05_r8, & + 8.7072590093537696e-05_r8, 0.00011426101114538654_r8, & + 0.00012812260852635403_r8, 0.00013763593242904369_r8, & + 0.00014749096428407635_r8, 0.00016914036082538931_r8, & + 0.00019141779107701768_r8, 0.00019839907382493359_r8, & + 0.00020317981210089871_r8, 0.00020703976385170932_r8, & + 0.000213548809071532_r8, 0.0002189556956260868_r8, & + 0.00022516325721841767_r8, 0.00023096612366113378_r8, & + 0.00023616150708863964_r8, 0.00024432264374810826_r8, & + 0.00024915675028600449_r8, 0.00025352635873816999_r8, & + 0.00025771580059111651_r8, 0.0002615123050611366_r8, & + 0.00026509520286355139_r8, 0.0002730079612598003_r8, & + 0.00027780660653280116_r8, 0.00028129558715525354_r8, & + 0.00028446290450973217_r8, 0.00028659243107931494_r8, & + 0.00028651197261343519_r8, 0.00028378045978177875_r8, & + 0.000278038767505301_r8, 0.00027327777405438541_r8, & + 0.00026817144812602147_r8, 0.00026645528143345875_r8, & + 0.00026330744349021645_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,55) / & + 0.00011448977986414717_r8, 0.00011494543728543732_r8, & + 0.00010908568198842482_r8, 5.1319964353054559e-05_r8, & + 5.3759999880081724e-05_r8, 5.5324272700487423e-05_r8, & + 5.5645342647374063e-05_r8, 7.9273406281306501e-05_r8, & + 9.2711941366780995e-05_r8, 0.00010213310659788759_r8, & + 0.00011080299434348823_r8, 0.00015239180104068169_r8, & + 0.0001940397431882684_r8, 0.00019939251849611532_r8, & + 0.00020343204875546169_r8, 0.00020710084538837374_r8, & + 0.00021312491200777583_r8, 0.00021928613510567338_r8, & + 0.00022477334005526728_r8, 0.00023013511761268_r8, & + 0.0002353178482144875_r8, 0.00024389283660104774_r8, & + 0.00024899254940295067_r8, 0.00025391927955722814_r8, & + 0.00025869799832981021_r8, 0.00026307433805151757_r8, & + 0.00026699842110153679_r8, 0.00027483231742004308_r8, & + 0.00027938382324439601_r8, 0.00028261469893576754_r8, & + 0.00028464131927429453_r8, 0.00028497415691543411_r8, & + 0.00028340506877046586_r8, 0.00028199692458868476_r8, & + 0.0002805046712891484_r8, 0.00027913318026273886_r8, & + 0.00027817646465203293_r8, 0.00027748977236522219_r8, & + 0.00028252449845366596_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,55) / & + 8.3027389098349857e-05_r8, 8.3440687675447538e-05_r8, & + 8.2473807160039295e-05_r8, 2.2446522230741888e-05_r8, & + 2.1658611731608214e-05_r8, 2.2779334516630833e-05_r8, & + 2.2466199427406495e-05_r8, 3.112009126231666e-05_r8, & + 4.0267134578852605e-05_r8, 4.7036928875466448e-05_r8, & + 5.2658949973364414e-05_r8, 9.9555347500458237e-05_r8, & + 0.00014808413969587684_r8, 0.00015392602836384318_r8, & + 0.00015805705878468051_r8, 0.00015999187569879335_r8, & + 0.00016907323192024681_r8, 0.00017822394692080138_r8, & + 0.00018663285303560916_r8, 0.00019424058244175743_r8, & + 0.00019915888490072174_r8, 0.00020441498929225308_r8, & + 0.0002091833812987751_r8, 0.00021341336473498302_r8, & + 0.0002189928579799601_r8, 0.00022411064928510744_r8, & + 0.00022895112519051258_r8, 0.00024145924819651704_r8, & + 0.00025078626022672561_r8, 0.00026201524692170714_r8, & + 0.00026980099305351041_r8, 0.00027498702364251457_r8, & + 0.00027903908078317938_r8, 0.00028042833306613651_r8, & + 0.00028192315672301809_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,55) / & + 3.5143807848443277e-05_r8, 3.5356538753675432e-05_r8, & + 3.4723863766009564e-05_r8, 1.0894918198338769e-05_r8, & + 1.0503611033592092e-05_r8, 1.1215016505111773e-05_r8, & + 1.2651471718860685e-05_r8, 1.6455500018767074e-05_r8, & + 2.036224460342638e-05_r8, 2.5366740811264845e-05_r8, & + 2.7990536365377207e-05_r8, 4.2461186177092486e-05_r8, & + 5.7618481431152136e-05_r8, 6.2008881146655498e-05_r8, & + 6.6608118437603105e-05_r8, 6.8430884166320596e-05_r8, & + 8.1184598852965833e-05_r8, 9.4465616436272183e-05_r8, & + 0.00011015531254226967_r8, 0.0001249851978262977_r8, & + 0.00013631350246260282_r8, 0.00014643126785678461_r8, & + 0.00015553090802816573_r8, 0.00016281127976535922_r8, & + 0.00017087490883088108_r8, 0.0001777949805240381_r8, & + 0.00018387783853719309_r8, 0.00020089839287569002_r8, & + 0.0002105774389637069_r8, 0.00022093543093081933_r8, & + 0.00023276534079855814_r8, 0.00024161070456583941_r8, & + 0.00024819449197131615_r8, 0.0002533028667438734_r8, & + 0.00025605146297388637_r8, 0.00025918597976647638_r8, & + 0.00026077391333742512_r8, 0.00026122403727843761_r8, & + 0.00026192988509233064_r8, 0.00026289488735123503_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,55) / & + 1.3178286916267635e-05_r8, 1.3191611541514971e-05_r8, & + 1.2774845490394453e-05_r8, 6.697231025127538e-06_r8, & + 6.6967405361300105e-06_r8, 6.8299769287282383e-06_r8, & + 7.3809461380240339e-06_r8, 9.0164108492135248e-06_r8, & + 1.0419961981154406e-05_r8, 1.2756379692933662e-05_r8, & + 1.3858457240886086e-05_r8, 1.6992484342165566e-05_r8, & + 2.0054719042190306e-05_r8, 2.2303342847293547e-05_r8, & + 2.4600279858657558e-05_r8, 2.7093193084319031e-05_r8, & + 3.4341311256528413e-05_r8, 4.1291920663367139e-05_r8, & + 5.1369055288527678e-05_r8, 6.3035492298144913e-05_r8, & + 7.6594525075625048e-05_r8, 9.0813208820716686e-05_r8, & + 0.00010541649413071099_r8, 0.00012023247678376844_r8, & + 0.00013453879159217852_r8, 0.00014783010660655513_r8, & + 0.00015996872109342745_r8, 0.00018982276649472888_r8, & + 0.0002060713692376062_r8, 0.00021494469713991704_r8, & + 0.0002225872456802427_r8, 0.00022942334669090583_r8, & + 0.00023614282487471059_r8, 0.00024199567303067528_r8, & + 0.00024830265416586129_r8, 0.0002540893772104122_r8, & + 0.00025791133835348281_r8, 0.00025943137929030339_r8, & + 0.00026065447980492195_r8, 0.00026247177016203518_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,55) / & + 1.030868493580017e-05_r8, 1.030157877924725e-05_r8, & + 9.3466534298270821e-06_r8, 6.2557073476224893e-06_r8, & + 6.2490265125738795e-06_r8, 6.1718594592377687e-06_r8, & + 5.6976610329487224e-06_r8, 4.7435718559901907e-06_r8, & + 6.0432895745731109e-06_r8, 6.6533602310317527e-06_r8, & + 7.2609917267340551e-06_r8, 9.5097243763511503e-06_r8, & + 1.2704556407987427e-05_r8, 1.4542794562967807e-05_r8, & + 1.625978248975176e-05_r8, 1.7770418208632879e-05_r8, & + 2.2114477568514216e-05_r8, 2.6059381072626751e-05_r8, & + 3.2782299162112121e-05_r8, 4.2720906275295082e-05_r8, & + 5.6232188784610062e-05_r8, 7.116596736847058e-05_r8, & + 8.730608611753836e-05_r8, 0.00010420066738828804_r8, & + 0.00012053087335704548_r8, 0.00013655965180319114_r8, & + 0.00015152345412540002_r8, 0.00018770621930038292_r8, & + 0.00021582161608530231_r8, 0.00023160227260876225_r8, & + 0.00024177864264036871_r8, 0.00024626993737446621_r8, & + 0.00024786197288611254_r8, 0.00024770399908984297_r8, & + 0.00024905454669950226_r8, 0.00025237711335055862_r8, & + 0.0002558655278951707_r8, 0.00025868329397842288_r8, & + 0.00026080571493323866_r8, 0.00026271581837745343_r8, & + 0.0002637720943438563_r8, 0.00026506654042901203_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,55) / & + 7.7874033619921127e-06_r8, 7.7566301349608494e-06_r8, & + 7.0005167388246811e-06_r8, 5.6604647603902725e-06_r8, & + 5.7699896006258737e-06_r8, 5.9167370259133374e-06_r8, & + 5.4547502234243002e-06_r8, 3.3020619574313753e-06_r8, & + 4.0270580991748197e-06_r8, 4.846941783694726e-06_r8, & + 5.4601201138636196e-06_r8, 7.5896060143174418e-06_r8, & + 1.0532191989370116e-05_r8, 1.1767456600451826e-05_r8, & + 1.3116368163818592e-05_r8, 1.4475184467016861e-05_r8, & + 1.7228227320472974e-05_r8, 2.0788208699710178e-05_r8, & + 2.6904454819092441e-05_r8, 3.590362791251783e-05_r8, & + 4.9729611512055827e-05_r8, 6.6006403882608148e-05_r8, & + 8.4129249347183452e-05_r8, 0.00010235283290884816_r8, & + 0.00012030178238518963_r8, 0.00013775095360475285_r8, & + 0.00015408118453373134_r8, 0.00019275460288227487_r8, & + 0.00022381346973921094_r8, 0.0002418271289701718_r8, & + 0.00025378688561626981_r8, 0.00025931002964411042_r8, & + 0.00025942931319489562_r8, 0.00025639455880838375_r8, & + 0.00025376827155461411_r8, 0.0002542011692302268_r8, & + 0.00025642593617499469_r8, 0.00025879152939655738_r8, & + 0.00026078977399585497_r8, 0.00026277275760036898_r8, & + 0.00026394733542489397_r8, 0.00026535065627591824_r8, & + 0.00026528279307227244_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,55) / & + 4.8784573723177398e-06_r8, 4.9236166056401754e-06_r8, & + 4.7438327371932106e-06_r8, 3.7432280147723977e-06_r8, & + 3.7394135080482911e-06_r8, 4.0013414179009668e-06_r8, & + 4.7553259013751601e-06_r8, 3.7388286735042432e-06_r8, & + 3.2646059221915596e-06_r8, 2.9572780182599575e-06_r8, & + 3.1559597347565984e-06_r8, 4.8448170045927291e-06_r8, & + 7.3291755273465753e-06_r8, 8.7603765383835698e-06_r8, & + 1.0285855871235277e-05_r8, 1.1909915301596879e-05_r8, & + 1.4915108607340493e-05_r8, 1.8618956135701362e-05_r8, & + 2.4546478769792066e-05_r8, 3.3444449299843377e-05_r8, & + 4.7347431669045329e-05_r8, 6.4477029778375647e-05_r8, & + 8.4725025706160236e-05_r8, 0.00010565533497018559_r8, & + 0.00012660967399687878_r8, 0.00014594331568751695_r8, & + 0.00016385791096567217_r8, 0.00020589283595829163_r8, & + 0.00023537124242072413_r8, 0.0002539507842224987_r8, & + 0.00026547918041748791_r8, 0.00027090595415963048_r8, & + 0.00027071254522266497_r8, 0.00026729858736002522_r8, & + 0.00026245728302916929_r8, 0.00025917328072585643_r8, & + 0.0002587848350705126_r8, 0.00025923222198843282_r8, & + 0.00026020917064353496_r8, 0.00026130292155993366_r8, & + 0.00026287525625141259_r8, 0.00026525514849659007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,55) / & + 3.9599881543592227e-06_r8, 4.2284013247266816e-06_r8, & + 4.0516858723830843e-06_r8, 3.7903831064478747e-06_r8, & + 3.786947288435921e-06_r8, 4.9149864824035301e-06_r8, & + 5.5531659165896434e-06_r8, 5.175223129133763e-06_r8, & + 4.5808401167600034e-06_r8, 4.009713775474787e-06_r8, & + 3.5084756153789563e-06_r8, 3.7723324438837568e-06_r8, & + 5.0265610266006676e-06_r8, 6.7656322811714731e-06_r8, & + 8.6666591175705997e-06_r8, 1.0574596059698473e-05_r8, & + 1.3731460240054575e-05_r8, 1.7256764302229235e-05_r8, & + 2.2741598517978967e-05_r8, 3.0758925797569784e-05_r8, & + 4.483972817379731e-05_r8, 6.2746645033724782e-05_r8, & + 8.4855821220008228e-05_r8, 0.00010741425790557321_r8, & + 0.00012988936479285511_r8, 0.00015087153570193167_r8, & + 0.00017015605634017566_r8, 0.00021426442278296064_r8, & + 0.00024376964020164852_r8, 0.00026202702871084578_r8, & + 0.00027301106651142655_r8, 0.00027776173552484612_r8, & + 0.00027796650248380314_r8, 0.00027593024036782419_r8, & + 0.00027208380731348896_r8, 0.00026788783295911246_r8, & + 0.00026493211840280406_r8, 0.00026314408487901342_r8, & + 0.00026184074585686092_r8, 0.00026154239143997979_r8, & + 0.00026151200508018355_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,55) / & + 4.7205164700972459e-06_r8, 5.0903431284052654e-06_r8, & + 4.6706040878029753e-06_r8, 4.1926400652713354e-06_r8, & + 4.3226606017545292e-06_r8, 4.7050838615687638e-06_r8, & + 4.6257052905035644e-06_r8, 4.9722047252473164e-06_r8, & + 5.3542955307829517e-06_r8, 5.1882018721951426e-06_r8, & + 4.9815031931959328e-06_r8, 4.8920427302454699e-06_r8, & + 4.9715545738596921e-06_r8, 6.1779730237981711e-06_r8, & + 8.1156598417368538e-06_r8, 1.0630345480268051e-05_r8, & + 1.5047439758153178e-05_r8, 2.0011756620656352e-05_r8, & + 2.6171889537955665e-05_r8, 3.5764403578601594e-05_r8, & + 5.0866957621297923e-05_r8, 7.1532405943309626e-05_r8, & + 9.4333132720534601e-05_r8, 0.00011766893311599493_r8, & + 0.00014126270985473829_r8, 0.00016328767427955517_r8, & + 0.00018203053561741575_r8, 0.00022218547876966455_r8, & + 0.00025025034225656894_r8, 0.00026512030125388559_r8, & + 0.0002746928426480221_r8, 0.00027875954990716641_r8, & + 0.00027899636239565173_r8, 0.00027779688381481888_r8, & + 0.00027480281259372559_r8, 0.00027033265524811025_r8, & + 0.00026715927009754887_r8, 0.00026518565411137176_r8, & + 0.00026249681962028817_r8, 0.00026221880920771244_r8, & + 0.00026150148712250046_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,55) / & + 5.4331608289927443e-06_r8, 5.7284386157201797e-06_r8, & + 5.310791780859643e-06_r8, 4.1860053754629297e-06_r8, & + 4.0662666591379882e-06_r8, 4.0533534347513973e-06_r8, & + 3.6547423195630031e-06_r8, 3.2441798874720711e-06_r8, & + 3.7039535758060758e-06_r8, 4.0256165188149431e-06_r8, & + 4.5243373970669919e-06_r8, 4.718948287180475e-06_r8, & + 5.1341280454632598e-06_r8, 6.5840703500551118e-06_r8, & + 8.7479173354140268e-06_r8, 1.1436763834929525e-05_r8, & + 1.9102110567436105e-05_r8, 2.7501702164162144e-05_r8, & + 3.4157036112303155e-05_r8, 4.8962446996086802e-05_r8, & + 6.8239797936624403e-05_r8, 9.3835403968907532e-05_r8, & + 0.00011968145759388662_r8, 0.00014501958328516743_r8, & + 0.00016931762530744682_r8, 0.00019117115850563561_r8, & + 0.00020841048456444802_r8, 0.00024197162606891273_r8, & + 0.00026442091817361208_r8, 0.00027758128237930749_r8, & + 0.00028592584611363589_r8, 0.00029050621588996378_r8, & + 0.00029135613440962286_r8, 0.00029072400946727279_r8, & + 0.00028803827119637933_r8, 0.00028527224717722388_r8, & + 0.00028048939302280254_r8, 0.000280032444659635_r8, & + 0.0002786008412039355_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,55) / & + 5.3243515190182792e-06_r8, 5.4432658692676359e-06_r8, & + 5.1696184119033585e-06_r8, 5.0836352878992573e-06_r8, & + 5.0043477355185618e-06_r8, 4.3564826155977815e-06_r8, & + 4.3207386910142266e-06_r8, 3.5899380347864648e-06_r8, & + 3.4457646156490875e-06_r8, 3.2787778825347038e-06_r8, & + 3.354819565247042e-06_r8, 3.7240994892892526e-06_r8, & + 4.2957695572138758e-06_r8, 5.965352831045784e-06_r8, & + 1.0353371170760804e-05_r8, 1.4610152091192817e-05_r8, & + 2.8586860788710924e-05_r8, 4.1452429896736708e-05_r8, & + 5.6176770264823196e-05_r8, 7.5852037479670942e-05_r8, & + 9.9951995076416711e-05_r8, 0.00012681378089860371_r8, & + 0.00015164454346057823_r8, 0.0001755722985649403_r8, & + 0.00019579966272153133_r8, 0.00021408020619320163_r8, & + 0.00022834879504129608_r8, 0.00025434445764383964_r8, & + 0.00027338183792585924_r8, 0.0002848459316283844_r8, & + 0.00029277421506731285_r8, 0.00029777855472620492_r8, & + 0.00029923517814696307_r8, 0.00029968732603158284_r8, & + 0.0002983401780615486_r8, 0.00029622531437464443_r8, & + 0.00029390739973600508_r8, 0.00029403142184974095_r8, & + 0.00029250211466648799_r8, 0.00028969012951374364_r8, & + 0.00028817282067012176_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,55) / & + 5.7118740483344461e-06_r8, 5.7109648432947553e-06_r8, & + 5.2584380449148649e-06_r8, 3.7985911650150348e-06_r8, & + 3.841260573838599e-06_r8, 3.4863691027600034e-06_r8, & + 3.8012237385840517e-06_r8, 3.4414254191930784e-06_r8, & + 4.9759901098688101e-06_r8, 4.2599313443912079e-06_r8, & + 4.1287062606625985e-06_r8, 4.0944286475797097e-06_r8, & + 4.2177691907942238e-06_r8, 6.1710338197957475e-06_r8, & + 1.3907744064831806e-05_r8, 2.3151588970490304e-05_r8, & + 4.5462588093841738e-05_r8, 6.5442516792002368e-05_r8, & + 9.0462925000886355e-05_r8, 0.00011481272306990042_r8, & + 0.00013987010820677582_r8, 0.00016275172863085955_r8, & + 0.00018159044917185867_r8, 0.00019959920673355048_r8, & + 0.00021517572839857958_r8, 0.00022886445512551877_r8, & + 0.00024051510757986221_r8, 0.00026337578768642855_r8, & + 0.00028074054021218827_r8, 0.00029195636109564488_r8, & + 0.0002993271966521574_r8, 0.00030424917195966193_r8, & + 0.00030635936003925321_r8, 0.00030851811296676515_r8, & + 0.00030839668365769687_r8, 0.00030710015882944215_r8, & + 0.00030676755678076862_r8, 0.00030789586964625115_r8, & + 0.00030797018492927347_r8, 0.00030770116516698899_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,55) / & + 6.322590132436009e-06_r8, 6.4937016767448773e-06_r8, & + 5.48519611408596e-06_r8, 4.0795891213655562e-06_r8, & + 4.1196213546751747e-06_r8, 3.9873850787325467e-06_r8, & + 4.5201088492257465e-06_r8, 4.3475375826229458e-06_r8, & + 5.9605465533802591e-06_r8, 5.708305109136262e-06_r8, & + 6.0801886910168775e-06_r8, 6.0483588047407774e-06_r8, & + 7.1234599106961181e-06_r8, 1.185970987146539e-05_r8, & + 2.4798335826745609e-05_r8, 3.9510100876320351e-05_r8, & + 6.5268554913280107e-05_r8, 8.579016802571551e-05_r8, & + 0.00011281561856635102_r8, 0.00013752082608906114_r8, & + 0.00016155799105440887_r8, 0.00018419942254455684_r8, & + 0.0002007925853763317_r8, 0.00021762635512693272_r8, & + 0.00023336878924373164_r8, 0.00024741951691184414_r8, & + 0.0002588115462974371_r8, 0.000283680487742688_r8, & + 0.00030346787861131594_r8, 0.00031717514735527983_r8, & + 0.00032794067379329658_r8, 0.00033428498331716799_r8, & + 0.00033679998610343078_r8, 0.00033625086892302589_r8, & + 0.00033554660520223413_r8, 0.00033514249052091449_r8, & + 0.00034028037319309561_r8, 0.00033550517113771727_r8, & + 0.00032826601661403081_r8, 0.00032203093073541501_r8, & + 0.0003217182843224205_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,55) / & + 5.8655865323698485e-06_r8, 6.6045796673879643e-06_r8, & + 5.477715914778148e-06_r8, 4.8581855474084983e-06_r8, & + 4.9153494190605383e-06_r8, 4.8440834176124177e-06_r8, & + 5.6325629340380382e-06_r8, 6.3000645728623116e-06_r8, & + 7.6747058599007701e-06_r8, 8.6865427374370115e-06_r8, & + 1.1058452849693647e-05_r8, 1.4412144486137946e-05_r8, & + 2.1214845756707927e-05_r8, 3.294376118843171e-05_r8, & + 4.7541971809587952e-05_r8, 6.160632635177642e-05_r8, & + 8.4046313594516323e-05_r8, 0.00010306276493872309_r8, & + 0.00012994244707927616_r8, 0.00015418604311735366_r8, & + 0.00017789567504721595_r8, 0.00019998583297902423_r8, & + 0.00021959435222462394_r8, 0.00023842218414590516_r8, & + 0.00025568387393283559_r8, 0.00027153070053840633_r8, & + 0.00028434622550254908_r8, 0.00031076422563197854_r8, & + 0.00033136051631451122_r8, 0.00034422790457757594_r8, & + 0.00035569422374153516_r8, 0.00036231897978277833_r8, & + 0.00036440291820841268_r8, 0.00036173759027125342_r8, & + 0.00036042512264578854_r8, 0.00035953872678737568_r8, & + 0.00036095233560382598_r8, 0.00035232430636436692_r8, & + 0.0003429827011610881_r8, 0.00033898045547480345_r8, & + 0.00033444916226350364_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,55) / & + 5.4519611775449392e-06_r8, 6.7621541595978702e-06_r8, & + 6.2371025445608009e-06_r8, 5.9195875665379685e-06_r8, & + 5.9382184707925844e-06_r8, 5.9880094514755554e-06_r8, & + 6.723500100167173e-06_r8, 8.4504024826576033e-06_r8, & + 1.1683796405888289e-05_r8, 1.6406533315743037e-05_r8, & + 2.6411517557307821e-05_r8, 3.8109667238229604e-05_r8, & + 5.0807448029904012e-05_r8, 6.3543758547980801e-05_r8, & + 7.3073554891313789e-05_r8, 8.1304338685898506e-05_r8, & + 0.00010038629530375535_r8, 0.00012207772192513664_r8, & + 0.00014832562873041239_r8, 0.00017330635094884393_r8, & + 0.00019879791422933879_r8, 0.00022145887466251039_r8, & + 0.00024604838535530757_r8, 0.00026763051879537237_r8, & + 0.00028600978451970326_r8, 0.00030291932122319737_r8, & + 0.00031741935942016918_r8, 0.00034683865432131092_r8, & + 0.00036854645692524648_r8, 0.00038208121125011467_r8, & + 0.00039086434844465886_r8, 0.00039610288684990131_r8, & + 0.00039727281417013328_r8, 0.00039594591009216144_r8, & + 0.0003942916455783853_r8, 0.00039218227507874172_r8, & + 0.00038600623242671247_r8, 0.00037831100907868571_r8, & + 0.00036306177895268401_r8, 0.00035270094144647276_r8, & + 0.00034753987738430248_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,55) / & + 6.2843447741701767e-06_r8, 7.6521791063833946e-06_r8, & + 7.7314074994412893e-06_r8, 8.2978386719050968e-06_r8, & + 8.4242196659573101e-06_r8, 8.6885041381399649e-06_r8, & + 1.0254657605431423e-05_r8, 1.2664333480180064e-05_r8, & + 1.8496603896943113e-05_r8, 2.8223209402449496e-05_r8, & + 4.4279802383880557e-05_r8, 5.6276320778107068e-05_r8, & + 6.3786750906966709e-05_r8, 7.3281293198354435e-05_r8, & + 8.2915879659983e-05_r8, 9.2090021743552225e-05_r8, 0.0001165134428215_r8, & + 0.00014148023449689587_r8, 0.00016756007358092117_r8, & + 0.00019299898930728637_r8, 0.00021756470284722438_r8, & + 0.00024290146226913837_r8, 0.00027108688430363019_r8, & + 0.00029470129690971564_r8, 0.00031486304435864672_r8, & + 0.00033428487902498237_r8, 0.00035187110619583985_r8, & + 0.00038635175040868972_r8, 0.00040854406367244616_r8, & + 0.00042165040008009853_r8, 0.00042726207204411978_r8, & + 0.00043075444377970167_r8, 0.00043029459614457442_r8, & + 0.00042968932558056866_r8, 0.00042688448221238297_r8, & + 0.00042225455929220256_r8, 0.00041366143924921898_r8, & + 0.00040651902604573912_r8, 0.00038429891714356442_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,55) / & + 6.933833361297925e-06_r8, 7.9298686685542039e-06_r8, & + 7.9791977606550937e-06_r8, 1.0014015216755803e-05_r8, & + 1.0218393921992806e-05_r8, 1.0544867704329518e-05_r8, & + 1.2377448046482436e-05_r8, 1.5067460607090799e-05_r8, & + 1.9509741673375783e-05_r8, 3.0698509218601472e-05_r8, & + 4.9840279191649336e-05_r8, 6.3856698924928898e-05_r8, & + 7.5344314843843124e-05_r8, 8.3019115962243144e-05_r8, & + 9.082779497960976e-05_r8, 0.00010115646107391771_r8, & + 0.00013098014019549198_r8, 0.00015884506848527441_r8, & + 0.00018590702458722385_r8, 0.00021425060656676538_r8, & + 0.00023813363563064452_r8, 0.00026413626079678688_r8, & + 0.00029179250392891826_r8, 0.00031825747054068591_r8, & + 0.00033993796786986781_r8, 0.00036126578514844972_r8, & + 0.00037941541835858305_r8, 0.00041370966498051407_r8, & + 0.00043703287173631672_r8, 0.00045118772005588609_r8, & + 0.00045846987766487039_r8, 0.00046120367456022054_r8, & + 0.00046245435500302589_r8, 0.00046053113182463289_r8, & + 0.00045351784070556404_r8, 0.00044527572286352817_r8, & + 0.00043579013220266513_r8, 0.00042980468746243642_r8, & + 0.00042296902632034806_r8, 0.00042309900267024171_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,55) / & + 6.33809588518257e-06_r8, 6.8171737034815075e-06_r8, & + 6.7344898708757164e-06_r8, 9.9915793101483374e-06_r8, & + 1.0636962253052005e-05_r8, 1.0576495443900764e-05_r8, & + 1.1223363728552283e-05_r8, 1.8437250439781157e-05_r8, & + 2.7759637679314141e-05_r8, 4.6237325897969003e-05_r8, & + 6.8045040482422661e-05_r8, 8.1736381274258278e-05_r8, & + 9.3748136020189657e-05_r8, 0.00010084783364641483_r8, & + 0.00010789845489421069_r8, 0.00011651832091247301_r8, & + 0.00014394962911629447_r8, 0.00017880744206246775_r8, & + 0.00020848820600305123_r8, 0.000239902069874579_r8, & + 0.00026832069762846211_r8, 0.00029237417375879709_r8, & + 0.00031725530237802649_r8, 0.00034295466004448545_r8, & + 0.00036548944760831357_r8, 0.00038647577259388248_r8, & + 0.00040465705760395589_r8, 0.00043798114360763045_r8, & + 0.00046247487113841161_r8, 0.00047617367728068247_r8, & + 0.00048489395009790998_r8, 0.0004885798334532263_r8, & + 0.00049130881083530263_r8, 0.00048853270652349083_r8, & + 0.00047964426752635441_r8, 0.00046732471578062973_r8, & + 0.00045566272421018804_r8, 0.0004482872538899766_r8, & + 0.00044207740687487627_r8, 0.00043991277590080393_r8, & + 0.00043845208038656794_r8, 0.00043549938646635837_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,55) / & + 6.5547937033398669e-06_r8, 6.508449826107172e-06_r8, & + 6.2057420012475927e-06_r8, 1.0928625307611591e-05_r8, & + 9.0892279960906322e-06_r8, 9.5392290905584009e-06_r8, & + 1.4458200790420123e-05_r8, 3.7014040849837735e-05_r8, & + 6.1856845763603302e-05_r8, 8.0531900966726198e-05_r8, & + 9.1679887145956822e-05_r8, 9.9402631563502567e-05_r8, & + 0.00010734163538459702_r8, 0.00011523952920709235_r8, & + 0.0001232844302356421_r8, 0.00013330863276640371_r8, & + 0.00016371455582303064_r8, 0.00020019361252710549_r8, & + 0.00023391254984031178_r8, 0.00026359245624315859_r8, & + 0.00029248724638900948_r8, 0.00031875567638141246_r8, & + 0.00034347456123107341_r8, 0.00036674461865483115_r8, & + 0.00038813267564789447_r8, 0.00040728260551339395_r8, & + 0.00042596139231681216_r8, 0.00045846661159841719_r8, & + 0.00048557330177780782_r8, 0.0004982391496029877_r8, & + 0.00050738498995036316_r8, 0.00051097055408896386_r8, & + 0.00051419500021378304_r8, 0.00051163498109969428_r8, & + 0.00050559098728616254_r8, 0.00048873501147805084_r8, & + 0.00047364453438198084_r8, 0.00046456294808820041_r8, & + 0.00045864324227193348_r8, 0.00045594045990579991_r8, & + 0.00045335700163207153_r8, 0.00044820581309856674_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,55) / & + 7.3567140564059477e-06_r8, 7.082041668751143e-06_r8, & + 6.1653501431365014e-06_r8, 7.0589573198923648e-06_r8, & + 6.4093605651719858e-06_r8, 7.3785763094981362e-06_r8, & + 8.2369362944050262e-06_r8, 1.9466456086678383e-05_r8, & + 3.538639014745179e-05_r8, 5.4848156119813055e-05_r8, & + 7.2041506053608696e-05_r8, 8.5707628335966764e-05_r8, & + 0.00010548954490036984_r8, 0.00012330577658374117_r8, & + 0.00013683689040897465_r8, 0.00015187043013911071_r8, & + 0.00018970834775365494_r8, 0.00022581912192905118_r8, & + 0.00025715068052240963_r8, 0.00028724377603484615_r8, & + 0.00031616485819117287_r8, 0.00034510166840343194_r8, & + 0.00036858085860439936_r8, 0.00039032943539857155_r8, & + 0.0004110835904936528_r8, 0.00042950201931277442_r8, & + 0.00044134989231690792_r8, 0.00047564346482517459_r8, & + 0.00050401093009159526_r8, 0.00051715748583314278_r8, & + 0.00052703944607542809_r8, 0.00053099976446762526_r8, & + 0.000535523969670089_r8, 0.00053405980524799061_r8, & + 0.00052881963152510026_r8, 0.0005128162459265166_r8, & + 0.00049577290365530598_r8, 0.00048417732154814507_r8, & + 0.00047629039526678418_r8, 0.00047215164720969407_r8, & + 0.00047024758210387094_r8, 0.00046871319933128357_r8, & + 0.0004586217520839383_r8, 0.00045357600869357664_r8, 9e90_r8 & + / +data saar_ref(:,27,55) / & + 7.2540902006323928e-06_r8, 7.1007608624427716e-06_r8, & + 5.9312883518711912e-06_r8, 6.9691312487520312e-06_r8, & + 6.9562016398420059e-06_r8, 6.8918747220335675e-06_r8, & + 6.6069801301799896e-06_r8, 9.3046199540105142e-06_r8, & + 1.0127282740599098e-05_r8, 1.6454455650555778e-05_r8, & + 2.6749432386247348e-05_r8, 3.8317122941632568e-05_r8, & + 7.0907730791547316e-05_r8, 0.00011033145444910805_r8, & + 0.0001376198517435475_r8, 0.00016288342015771925_r8, & + 0.00021540806190941707_r8, 0.00025905509007232092_r8, & + 0.00029016691537758662_r8, 0.00031974106337928952_r8, & + 0.00034372659496643347_r8, 0.00037111449553690662_r8, & + 0.00039318463080644547_r8, 0.00041332628826723885_r8, & + 0.00043317386359693791_r8, 0.00045221862968587983_r8, & + 0.00046732015774901862_r8, 0.00050192499057376478_r8, & + 0.0005303326457408627_r8, 0.00054390773067242593_r8, & + 0.00055216364900803042_r8, 0.00055634318830155387_r8, & + 0.00055961867261827879_r8, 0.00055657853787609301_r8, & + 0.00054990527219973633_r8, 0.00053847444383749794_r8, & + 0.00052616967661768695_r8, 0.00051343896268829839_r8, & + 0.00050274071875793999_r8, 0.00049411609884918173_r8, & + 0.00049015708978313293_r8, 0.00048794350795047223_r8, & + 0.00048706430341911584_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,55) / & + 6.5469754722129196e-06_r8, 6.555821080401476e-06_r8, & + 5.6223416634115153e-06_r8, 7.8520941390982268e-06_r8, & + 7.8522930818732748e-06_r8, 7.4374040813652855e-06_r8, & + 6.9590332283297792e-06_r8, 7.2454319644643837e-06_r8, & + 6.920153361943814e-06_r8, 7.8620998748379687e-06_r8, & + 1.1038138724676659e-05_r8, 1.5583472721547619e-05_r8, & + 3.3999962387763656e-05_r8, 6.7452278578430496e-05_r8, & + 0.0001012980181844661_r8, 0.00013794320086387964_r8, & + 0.00021914919723110956_r8, 0.00028750939159223523_r8, & + 0.00032989123789866682_r8, 0.00036237667036353923_r8, & + 0.00038067662885311269_r8, 0.00040192883680988979_r8, & + 0.00042107793874342241_r8, 0.00043931977540586465_r8, & + 0.00045762983278870749_r8, 0.00047578462745424073_r8, & + 0.00049207147400399161_r8, 0.00052942276305343_r8, & + 0.00055957959334012003_r8, 0.00057680806570722118_r8, & + 0.0005844229507182111_r8, 0.00058705957100871483_r8, & + 0.00058570292002455959_r8, 0.00058033694147558541_r8, & + 0.00057317387841790792_r8, 0.0005641524730160925_r8, & + 0.00055467637889234679_r8, 0.00054427324616464971_r8, & + 0.00053181864697979806_r8, 0.00051769429831293465_r8, & + 0.00050998857070061942_r8, 0.00050719840410891164_r8, & + 0.00050673185028743157_r8, 0.00050653226498098374_r8, 9e90_r8 & + / +data saar_ref(:,29,55) / & + 6.7596124895765706e-06_r8, 6.7461408425353462e-06_r8, & + 6.039270686711725e-06_r8, 7.6999439562685606e-06_r8, & + 8.0392616044070488e-06_r8, 7.6963456690969318e-06_r8, & + 7.5135383760291113e-06_r8, 7.533408930661358e-06_r8, & + 7.9595803235667954e-06_r8, 9.0112111868219539e-06_r8, & + 1.1228543925575555e-05_r8, 1.5729468523189319e-05_r8, & + 3.0319315306375514e-05_r8, 5.1706233429949858e-05_r8, & + 7.7019786512082448e-05_r8, 0.00011118161293402618_r8, & + 0.00019895532540218351_r8, 0.00028509785596437067_r8, & + 0.00034625349264451609_r8, 0.00038516790869381448_r8, & + 0.00041009259024426268_r8, 0.00043171020082127668_r8, & + 0.00044739127594030408_r8, 0.00046468332534145638_r8, & + 0.00048219497265458906_r8, 0.00049926826233529496_r8, & + 0.00051455221053651947_r8, 0.00055202813196289068_r8, & + 0.00058249830603931171_r8, 0.00060176386987723562_r8, & + 0.0006097883669337476_r8, 0.00061052872249518525_r8, & + 0.00060632546792252333_r8, 0.00060205589392916755_r8, & + 0.00059409546775151709_r8, 0.00058517717923324737_r8, & + 0.00057617294064324267_r8, 0.00057001589683493758_r8, & + 0.00055986824134997087_r8, 0.00054766808053050486_r8, & + 0.00052866358528818257_r8, 0.00052314963340926773_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,55) / & + 1.0425972740725371e-05_r8, 1.0345663177611083e-05_r8, & + 9.5870519532251301e-06_r8, 8.6795389840130515e-06_r8, & + 9.1064334984258584e-06_r8, 9.2687846820098529e-06_r8, & + 1.0088537254082726e-05_r8, 1.0989493420702294e-05_r8, & + 1.2352180946071711e-05_r8, 1.502730539846939e-05_r8, & + 2.0446731782797323e-05_r8, 2.7712741476538133e-05_r8, & + 4.5542280078066701e-05_r8, 6.3702423207999238e-05_r8, & + 8.3533330723736647e-05_r8, 0.00011411604995219901_r8, & + 0.0001972869474837019_r8, 0.00028818591738347663_r8, & + 0.00036182201123776639_r8, 0.00041507421247099694_r8, & + 0.00045105656440111203_r8, 0.00047587785811614822_r8, & + 0.00048765307612251069_r8, 0.00050640678043029834_r8, & + 0.00052399472920065088_r8, 0.0005402180674507792_r8, & + 0.00055522051771651944_r8, 0.00059197336426296124_r8, & + 0.00062080547312163724_r8, 0.00063661332571285291_r8, & + 0.00064056839169157956_r8, 0.00063883786161176843_r8, & + 0.00063211866418418701_r8, 0.00062660921151229843_r8, & + 0.00061882037377573222_r8, 0.00061152884311962876_r8, & + 0.00060397612358214885_r8, 0.00059765177646380074_r8, & + 0.00058986404517391078_r8, 0.00057873054105465557_r8, & + 0.00057977818804227108_r8, 0.00057477675258119912_r8, & + 0.00057009776544052237_r8, 0.00055038912710241158_r8, 9e90_r8 & + / +data saar_ref(:,31,55) / & + 1.6294664319062746e-05_r8, 1.6203706396582308e-05_r8, & + 1.5165750946004295e-05_r8, 1.4167307665730942e-05_r8, & + 1.3321606576776449e-05_r8, 1.3913726777304385e-05_r8, & + 1.4604506904490674e-05_r8, 1.7264973573436001e-05_r8, & + 2.0911603659949115e-05_r8, 2.6133777106368772e-05_r8, & + 3.3315454827666797e-05_r8, 4.2630744573150717e-05_r8, & + 6.0962161374971962e-05_r8, 7.9309976037517677e-05_r8, & + 0.00010103079597090023_r8, 0.00013132805566354249_r8, & + 0.00021882828972252433_r8, 0.00030985156101243501_r8, & + 0.00038230857948180747_r8, 0.00043762421910664332_r8, & + 0.00047816728163274289_r8, 0.00050877111401374266_r8, & + 0.00052746857669953157_r8, 0.00054869038825838053_r8, & + 0.00056728610910275663_r8, 0.00058360450585693863_r8, & + 0.00059742657514333809_r8, 0.00063364162172086641_r8, & + 0.00065933297625398292_r8, 0.00067220414974339979_r8, & + 0.00067135665697170394_r8, 0.00066449071845587596_r8, & + 0.00065456588274730057_r8, 0.00064534654577245694_r8, & + 0.00063986787912540747_r8, 0.00063561287164167152_r8, & + 0.00063081303481464426_r8, 0.00062675243983355614_r8, & + 0.00062077316432121129_r8, 0.00061012137999870062_r8, & + 0.00060172258493951258_r8, 0.00059416937674909055_r8, & + 0.00058694782690997299_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,55) / & + 2.1361113914334834e-05_r8, 2.1184820834677676e-05_r8, & + 1.8618194354422435e-05_r8, 2.5628258175252674e-05_r8, & + 2.5425350256400707e-05_r8, 2.6402298438536513e-05_r8, & + 2.7515586943197682e-05_r8, 3.1812708695287316e-05_r8, & + 3.6527939735421543e-05_r8, 4.2536777270213518e-05_r8, & + 5.3138749896453167e-05_r8, 6.0805365646076999e-05_r8, & + 7.7495160996358283e-05_r8, 0.00010180936637828234_r8, & + 0.00013224920477810349_r8, 0.00017016921489915052_r8, & + 0.00025861991216007178_r8, 0.00033853625472323536_r8, & + 0.00040481218635961687_r8, 0.00045852524817975251_r8, & + 0.00049989476662201172_r8, 0.00053738996148906012_r8, & + 0.00056337539003537863_r8, 0.00058281609378221637_r8, & + 0.00060387023031324575_r8, 0.00062086904388983601_r8, & + 0.00063618016048618161_r8, 0.000665648164607731_r8, & + 0.00068329794689965583_r8, 0.00069271116533759251_r8, & + 0.00069163996752518624_r8, 0.00068378979948969718_r8, & + 0.00067460530679218529_r8, 0.00066655270668479342_r8, & + 0.00066464921545186415_r8, 0.00066178958376835449_r8, & + 0.00065793312929394846_r8, 0.00065278835605883244_r8, & + 0.00064901738395731678_r8, 0.00064061093807603244_r8, & + 0.00062496450077332362_r8, 0.0006177879611369366_r8, & + 0.00059931385432300543_r8, 0.00059931385432300543_r8, 9e90_r8 & + / +data saar_ref(:,33,55) / & + 3.2487768388280848e-05_r8, 3.2151924649114773e-05_r8, & + 2.8977223700378775e-05_r8, 4.3955851358530747e-05_r8, & + 4.5060725115633931e-05_r8, 4.5863458428580847e-05_r8, & + 4.7712098668236992e-05_r8, 5.2695900158102709e-05_r8, & + 5.8055260882701325e-05_r8, 7.1851084106726914e-05_r8, & + 8.4205522891397903e-05_r8, 9.5458618063475501e-05_r8, & + 0.00012044444363953295_r8, 0.00015210182729760851_r8, & + 0.00019320200885992065_r8, 0.00024018636522008517_r8, & + 0.00032240972711237542_r8, 0.00039566231690006502_r8, & + 0.00045274507042599322_r8, 0.00050240311572423196_r8, & + 0.0005408923575335329_r8, 0.0005778265171911156_r8, & + 0.00060365698997884244_r8, 0.00062902970836143236_r8, & + 0.00064979684993574235_r8, 0.00066736384885272859_r8, & + 0.00068274376956482363_r8, 0.00070618884309791219_r8, & + 0.0007185912214514367_r8, 0.00072052429704439944_r8, & + 0.00071820203858716084_r8, 0.0007126992323129856_r8, & + 0.00070605296634022126_r8, 0.00070087953947285501_r8, & + 0.00069938672309892414_r8, 0.0006972501438303947_r8, & + 0.00069692199134811187_r8, 0.00068919425332523618_r8, & + 0.00068540934758781963_r8, 0.00067743516384324637_r8, & + 0.00064659931112809289_r8, 0.00063946793271077538_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,55) / & + 5.5370954050103574e-05_r8, 5.4768560475879935e-05_r8, & + 5.1932076276055367e-05_r8, 5.6155214769170642e-05_r8, & + 5.9391173717614547e-05_r8, 6.2777188302772462e-05_r8, & + 6.8579316863697182e-05_r8, 7.7671561535161071e-05_r8, & + 9.2995979145836567e-05_r8, 0.00011836172220580741_r8, & + 0.00013999244733532706_r8, 0.00016196148765340387_r8, & + 0.00020015957854009305_r8, 0.00024342742432498631_r8, & + 0.0002897786520690675_r8, 0.0003347473254405599_r8, & + 0.00040597189055687931_r8, 0.00046404314139087435_r8, & + 0.00050859320051072196_r8, 0.00054991026656270184_r8, & + 0.00058390562916963286_r8, 0.00061369050419207997_r8, & + 0.00063529286652867919_r8, 0.00066088983225952834_r8, & + 0.00068074394807317664_r8, 0.00069731648352751904_r8, & + 0.00071125067832313353_r8, 0.00073226646631332126_r8, & + 0.00074444247943951391_r8, 0.00074303786998730257_r8, & + 0.000740465106367067_r8, 0.00073679527591111865_r8, & + 0.00073277324647913423_r8, 0.00072963388208803319_r8, & + 0.00072299907572546441_r8, 0.00072010385095051604_r8, & + 0.00072055656177352203_r8, 0.00071899291062510679_r8, & + 0.00071782283236660968_r8, 0.00071759846705683208_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,55) / & + 8.8674472026139189e-05_r8, 8.8426850386178044e-05_r8, & + 8.5899953842898856e-05_r8, 6.9422058796752528e-05_r8, & + 8.0010419274593954e-05_r8, 8.9596422591503987e-05_r8, & + 0.00010383198102071044_r8, 0.00011920153134622127_r8, & + 0.00015554040393312763_r8, 0.00020233841397470777_r8, & + 0.00024136717099544665_r8, 0.00027114999058204357_r8, & + 0.00029795971336587054_r8, 0.00033452470214644819_r8, & + 0.00036942532777694246_r8, 0.00040233178124027426_r8, & + 0.000459434123828465_r8, 0.00050489549107030638_r8, & + 0.00054254213784663582_r8, 0.00057527307935925588_r8, & + 0.00060361779429654637_r8, 0.00062823530373260384_r8, & + 0.0006460096475252898_r8, 0.00066622990154249241_r8, & + 0.00069069586203358412_r8, 0.00070844957508173667_r8, & + 0.00072026776445328726_r8, 0.0007386533638286273_r8, & + 0.00074890436658103928_r8, 0.00075012497398258969_r8, & + 0.00074961448474577467_r8, 0.00074671729227415284_r8, & + 0.00074367137864715964_r8, 0.00074134315922797878_r8, & + 0.00073667774163905337_r8, 0.00073141154955977796_r8, & + 0.00073278006973670332_r8, 0.00073650975437412035_r8, & + 0.00073796365734520161_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,36,55) / & + 0.00010717936820255286_r8, 0.0001099063852050971_r8, & + 0.00011018128004723812_r8, 0.00010527851097915148_r8, & + 0.00011813512489732112_r8, 0.00012349278289498539_r8, & + 0.00013827970251919028_r8, 0.00016787886560923264_r8, & + 0.00021699439085401021_r8, 0.00026842317850091593_r8, & + 0.00031174071532098557_r8, 0.00034234385914016488_r8, & + 0.00035373605843124585_r8, 0.0003899234564826153_r8, & + 0.00042064133425193838_r8, 0.00044898036679551147_r8, & + 0.00050134185728773698_r8, 0.00054045995715323197_r8, & + 0.00057344953537152789_r8, 0.00060168265313449276_r8, & + 0.00062716446157912479_r8, 0.00064767552823322876_r8, & + 0.0006651552957690636_r8, 0.0006858450576499751_r8, & + 0.00070757314028841388_r8, 0.00072227832581334475_r8, & + 0.00073296158355843114_r8, 0.00075100218763349399_r8, & + 0.0007593801683832889_r8, 0.00076131617689943005_r8, & + 0.0007611618190542721_r8, 0.00075800796479201971_r8, & + 0.00075338420477198665_r8, 0.00074984522957631701_r8, & + 0.00074465906271757446_r8, 0.00074012994266929187_r8, & + 0.0007347117553731001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,55) / & + 0.00010822019231818341_r8, 0.00011169667790962123_r8, & + 0.00011519100263497011_r8, 0.0001299343944066602_r8, & + 0.00014148532795990064_r8, 0.00014316660528944844_r8, & + 0.0001547089155659887_r8, 0.00017144232010722505_r8, & + 0.00020299925858029036_r8, 0.00024261660584268103_r8, & + 0.00027434109354817506_r8, 0.00031536932855293071_r8, & + 0.0003491621968718202_r8, 0.00039053127815400689_r8, & + 0.00042702866464809245_r8, 0.00045620716005156459_r8, & + 0.00050907062217577577_r8, 0.00055062998538190798_r8, & + 0.00058448266744368213_r8, 0.00061468426958746726_r8, & + 0.00064063472704816978_r8, 0.00066239143361302528_r8, & + 0.0006824060182644764_r8, 0.00070353181722084153_r8, & + 0.00072450947169404485_r8, 0.00073990053682315997_r8, & + 0.00075009385376743594_r8, 0.00077028572934698082_r8, & + 0.000778762747707074_r8, 0.00078013797815787086_r8, & + 0.00077957756403380528_r8, 0.0007759895544321285_r8, & + 0.00077025400499219302_r8, 0.00076565398889650411_r8, & + 0.00075913800203470327_r8, 0.00075444006420554485_r8, & + 0.00074443915426466458_r8, 0.00072210936342811472_r8, & + 0.00070978579836108015_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,55) / & + 0.00011198337820582213_r8, 0.00011480836429217985_r8, & + 0.00011520387496318359_r8, 0.00013265214562808571_r8, & + 0.00014625959086005168_r8, 0.00014512305160090184_r8, & + 0.00015011735831400644_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,55) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,55) / & + 9.1220809755792256e-05_r8, 7.4631842722008425e-05_r8, & + 8.3957390664563073e-05_r8, 9.0605431589150585e-05_r8, & + 9.2658333208374798e-05_r8, 9.2273773933818361e-05_r8, & + 0.00012214477112721558_r8, 0.00012257330936835473_r8, & + 0.00021216144892400647_r8, 0.00017356255653286644_r8, & + 0.00016678667294544049_r8, 0.00012699505137662808_r8, & + 0.00011087339855090823_r8, 0.00010826506794458474_r8, & + 0.00011567664887885444_r8, 0.00010708400500992006_r8, & + 9.6973690444504773e-05_r8, 8.5883828761772714e-05_r8, & + 8.5494199063970824e-05_r8, 8.4806112115976999e-05_r8, & + 8.5583607101324911e-05_r8, 8.4881173727280408e-05_r8, & + 8.8615715209487843e-05_r8, 8.9231444165848185e-05_r8, & + 9.4699963361501394e-05_r8, 9.720404832943621e-05_r8, & + 0.00010191686124418506_r8, 0.00010794984802047085_r8, & + 0.00010788156451646326_r8, 0.00010803353646676637_r8, & + 0.00010610471151958801_r8, 0.00010332977422618001_r8, & + 0.00011160415168397011_r8, 0.00013110274558077973_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,55) / & + 9.2985128187502176e-05_r8, 7.5893030349405375e-05_r8, & + 8.9443675562386621e-05_r8, 9.7383937361414914e-05_r8, & + 9.3311514836927974e-05_r8, 9.1929664879767189e-05_r8, & + 0.00010140008747881069_r8, 0.00010314707545615611_r8, & + 0.00020094608676005663_r8, 0.00020143963294919401_r8, & + 0.00018681095551476321_r8, 0.00014014883448554679_r8, & + 0.00011991343936161616_r8, 0.00011326324971142824_r8, & + 0.00012590807580003822_r8, 0.00011179612446996739_r8, & + 0.00010142391207102814_r8, 8.9696202671000455e-05_r8, & + 8.7625204819150629e-05_r8, 8.6363129008180792e-05_r8, & + 8.6503252339875322e-05_r8, 8.6075151422477847e-05_r8, & + 8.8870935152165334e-05_r8, 9.0623410879868218e-05_r8, & + 9.6626376671243207e-05_r8, 9.9745019190239107e-05_r8, & + 0.00010323326587149267_r8, 0.0001103560771727654_r8, & + 0.00011625826091491913_r8, 0.00011680591577596921_r8, & + 0.00011659232073430962_r8, 0.00011385147762587302_r8, & + 0.00011710312384197126_r8, 0.00013508747664473119_r8, & + 0.00013229177676182534_r8, 0.00013055436735775553_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,55) / & + 9.8752288933448502e-05_r8, 8.5934031361580671e-05_r8, & + 0.00010091320076819313_r8, 0.00011039066829358379_r8, & + 0.0001106865080224_r8, 0.00011100036769765764_r8, & + 0.00011257365662215138_r8, 0.00011509621736651517_r8, & + 0.000206337219368484_r8, 0.00024421816634608284_r8, & + 0.00020795310847973402_r8, 0.00014186552102407984_r8, & + 0.00011381971428462552_r8, 8.9852853879215266e-05_r8, & + 0.00010898041827493428_r8, 0.00010232101031696301_r8, & + 9.3106193791870137e-05_r8, 8.4773096946832245e-05_r8, & + 8.2437088427158645e-05_r8, 8.2127399790122863e-05_r8, & + 8.1643878963572774e-05_r8, 8.1704182264768127e-05_r8, & + 8.2202182646672306e-05_r8, 8.3795904577564227e-05_r8, & + 8.948483018016345e-05_r8, 9.4642463055666761e-05_r8, & + 9.7545744197816709e-05_r8, 0.00010750823440299219_r8, & + 0.00011610504808557742_r8, 0.00012071045477350159_r8, & + 0.00012140796061390472_r8, 0.00012053748433805572_r8, & + 0.00012056982997539068_r8, 0.00013339325417550558_r8, & + 0.00012460630687493156_r8, 0.00012617456628638183_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,55) / & + 9.5422888732429374e-05_r8, 9.1958867987001003e-05_r8, & + 9.5798855889996212e-05_r8, 0.00012339643328430227_r8, & + 0.00013067712393590307_r8, 0.00013164087983528835_r8, & + 0.00015192390786187629_r8, 0.00017179141199937575_r8, & + 0.00020402225358658158_r8, 0.00023366523105013631_r8, & + 0.00018210239148310861_r8, 0.00012151626244561284_r8, & + 8.1560789163042313e-05_r8, 7.4864082853847271e-05_r8, & + 8.5358240920220302e-05_r8, 8.7258752359319387e-05_r8, & + 8.1120224302127811e-05_r8, 7.6737775957925187e-05_r8, & + 7.5688755148354205e-05_r8, 7.708991889890302e-05_r8, & + 7.7423311267012281e-05_r8, 7.842051718921547e-05_r8, & + 7.9231441642823021e-05_r8, 8.108226264817626e-05_r8, & + 8.8259566260898533e-05_r8, 9.2442957234882458e-05_r8, & + 9.5055011457049018e-05_r8, 0.00010336776737122599_r8, & + 0.00011249828424364076_r8, 0.00011904208496318753_r8, & + 0.00011745123850740595_r8, 0.00011623997193413442_r8, & + 0.00011618169906119414_r8, 0.0001261577600067583_r8, & + 0.00011874606375264603_r8, 0.00011877872567575479_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,55) / & + 8.5058401502343008e-05_r8, 9.7813141637213033e-05_r8, & + 8.8838074386504395e-05_r8, 0.00012584240086189859_r8, & + 0.0001326727118419102_r8, 0.00012629524238296763_r8, & + 0.0001526072320980052_r8, 0.00016128324228611838_r8, & + 0.00016598238346331241_r8, 0.00013908542807066339_r8, & + 0.00010657037146095995_r8, 8.8767417270099372e-05_r8, & + 7.3495326911796638e-05_r8, 7.5510834819131331e-05_r8, & + 8.0458353736298982e-05_r8, 8.0328639720986234e-05_r8, & + 7.571440725431629e-05_r8, 7.4715075577627739e-05_r8, & + 7.5222267831293973e-05_r8, 7.7817893081938511e-05_r8, & + 7.9537617170082585e-05_r8, 8.1621229787635111e-05_r8, & + 8.3856250827686805e-05_r8, 8.7172569813425595e-05_r8, & + 9.48999521350585e-05_r8, 9.821499056597906e-05_r8, & + 0.0001017342420077647_r8, 0.00010789531943500233_r8, & + 0.00011881352797997563_r8, 0.00012351526147667092_r8, & + 0.0001190167076254738_r8, 0.00011670421179749927_r8, & + 0.00011546547371717992_r8, 0.00011556990754298546_r8, & + 0.00011657470321146643_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,55) / & + 7.967627844591616e-05_r8, 0.00010741897331371824_r8, & + 9.6300389678830771e-05_r8, 0.00011202667550147866_r8, & + 0.00011312685359097319_r8, 0.00012183153114596649_r8, & + 0.00014821157989484035_r8, 0.00011721839430364173_r8, & + 9.0846629212845757e-05_r8, 7.7961897804448835e-05_r8, & + 7.280844807694962e-05_r8, 7.1405621428160867e-05_r8, & + 6.9432931344710373e-05_r8, 7.1924447671326913e-05_r8, & + 7.2579164612035738e-05_r8, 7.3843701560251615e-05_r8, & + 7.3380205356519325e-05_r8, 7.3725752692478484e-05_r8, & + 7.5734373866574598e-05_r8, 7.9048765849223549e-05_r8, & + 8.187309961500378e-05_r8, 8.5263004447391958e-05_r8, & + 8.9049314323795e-05_r8, 9.3395382890146302e-05_r8, & + 9.9183034686420473e-05_r8, 0.00010346121829687349_r8, & + 0.00010919727871806018_r8, 0.00011847892647046144_r8, & + 0.00012257723963281317_r8, 0.00012164014268893251_r8, & + 0.00011992919209327905_r8, 0.00011976484549868836_r8, & + 0.00011964497461333151_r8, 0.00011960884295190585_r8, & + 0.00012036424459753556_r8, 0.00012122400063755361_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,56) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,56) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,56) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,56) / & + 0.00010290532021105094_r8, 0.00011213848285066902_r8, & + 0.0001190155471608895_r8, 0.00012914599623603342_r8, & + 0.00013066023172769468_r8, 0.00013676334108534476_r8, & + 0.00014884250218655048_r8, 0.0001594366053435523_r8, & + 0.0001616732243469495_r8, 0.00016493064693602578_r8, & + 0.00016253038682349999_r8, 0.00017066037754615793_r8, & + 0.00018107622718708266_r8, 0.00018600683575987551_r8, & + 0.00019187794388557522_r8, 0.00019617429915466897_r8, & + 0.00020380006087725955_r8, 0.00021143686704410628_r8, & + 0.00021842537997784583_r8, 0.00022538457755729471_r8, & + 0.00023085001157545706_r8, 0.00023651468366751453_r8, & + 0.00024091745337463758_r8, 0.00024449953367771765_r8, & + 0.00024829074469341308_r8, 0.00025187591193458165_r8, & + 0.00025520565955369225_r8, 0.00026419910640668989_r8, & + 0.00027364005601645446_r8, 0.00027446881037036845_r8, & + 0.00027838044176973321_r8, 0.000282599284486483_r8, & + 0.00028496375399529345_r8, 0.00028727646759966872_r8, & + 0.00028861010774549597_r8, 0.00028486260156758631_r8, & + 0.00027613525822974368_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,56) / & + 9.7782578766286219e-05_r8, 0.00010299345576786747_r8, & + 9.7562058217175884e-05_r8, 0.00010753617800246072_r8, & + 0.00010757873393082332_r8, 0.00011597364082061071_r8, & + 0.0001190242249012985_r8, 0.00013461217439345914_r8, & + 0.00014335411620205121_r8, 0.00014986906263012871_r8, & + 0.00015344594314111433_r8, 0.00016594424595955208_r8, & + 0.00017893185232139037_r8, 0.00018522268396776859_r8, & + 0.00019114843291072775_r8, 0.0001955251984380824_r8, & + 0.00020350051979227521_r8, 0.00020810094453952124_r8, & + 0.00021480928551071457_r8, 0.00022139166356621801_r8, & + 0.00022740087836984655_r8, 0.00023370254781810701_r8, & + 0.00023845314662955267_r8, 0.000242649800085935_r8, & + 0.00024677961010133201_r8, 0.00025062196006230968_r8, & + 0.00025423123360245303_r8, 0.00026340405308112149_r8, & + 0.00027201094645679151_r8, 0.00027536246065064542_r8, & + 0.00027893957218706484_r8, 0.00028300186009741284_r8, & + 0.00028558602842629349_r8, 0.00028754282410376511_r8, & + 0.00028803939736747418_r8, 0.00028510643056417489_r8, & + 0.00027766643616709347_r8, 0.00027423029869779158_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,56) / & + 9.4149328381461925e-05_r8, 9.59014793670374e-05_r8, & + 8.5127246434041088e-05_r8, 7.3490835744166082e-05_r8, & + 7.5116199072646284e-05_r8, 8.0571425304726616e-05_r8, & + 7.3702022299690787e-05_r8, 0.00010356615539574024_r8, & + 0.00011350326605586138_r8, 0.00012331217972921929_r8, & + 0.00013491865908864511_r8, 0.00015646028904088243_r8, & + 0.00017877195019419032_r8, 0.00018555454450285195_r8, & + 0.00018992824806370626_r8, 0.00019346922839138213_r8, & + 0.00019926426558260571_r8, 0.00020427044788279004_r8, & + 0.00020984821982019606_r8, 0.00021585985320443724_r8, & + 0.00022179426520475097_r8, 0.00023082776960334903_r8, & + 0.00023650274834858138_r8, 0.00024171411526649825_r8, & + 0.00024661083480962922_r8, 0.00025097818176851962_r8, & + 0.00025507248584408443_r8, 0.00026490045988263771_r8, & + 0.00027261665528521584_r8, 0.00027782074441055964_r8, & + 0.00028138753612462134_r8, 0.00028467694818318934_r8, & + 0.00028738052831680789_r8, 0.00028830593669556105_r8, & + 0.00028655880272351842_r8, 0.00028279862704547063_r8, & + 0.00027815195855852799_r8, 0.0002749711212804953_r8, & + 0.00027855533559285585_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,56) / & + 9.5264436387367825e-05_r8, 9.584458278654637e-05_r8, & + 9.1880175026423335e-05_r8, 4.4187066143927265e-05_r8, & + 4.6932120176362823e-05_r8, 5.0980667869719852e-05_r8, & + 4.5834151036775936e-05_r8, 6.8497784027650926e-05_r8, & + 8.06709036961532e-05_r8, 8.9166388581026968e-05_r8, & + 9.8217603607115975e-05_r8, 0.00013791449997322731_r8, & + 0.00017692605668533302_r8, 0.00018203339578230879_r8, & + 0.00018574000077581411_r8, 0.0001890980302171281_r8, & + 0.00019435170739409165_r8, 0.00020012299885515709_r8, & + 0.00020520093897690169_r8, 0.00021046553865483147_r8, & + 0.00021570800042532951_r8, 0.00022533258353142464_r8, & + 0.00023117933720646303_r8, 0.00023691819342336204_r8, & + 0.0002425589201108933_r8, 0.00024767652603035887_r8, & + 0.00025240394982940361_r8, 0.00026344367891834811_r8, & + 0.00027187128083651932_r8, 0.00027814383855064636_r8, & + 0.00028167954465537263_r8, 0.00028427592123797909_r8, & + 0.0002859181705662294_r8, 0.00028588835910250114_r8, & + 0.00028464412931288128_r8, 0.0002833543144708158_r8, & + 0.00028237034247933639_r8, 0.00028108455423870432_r8, & + 0.0002833554301227387_r8, 0.00028296372751008132_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,56) / & + 6.986735709470591e-05_r8, 7.0385510726445589e-05_r8, & + 7.0108536121384321e-05_r8, 2.0261277177102876e-05_r8, & + 2.0495905462049529e-05_r8, 2.2753329412753162e-05_r8, & + 2.1248477029070955e-05_r8, 2.9311354193422101e-05_r8, & + 3.7892599541005962e-05_r8, 4.4952993553925316e-05_r8, & + 5.1308323833481736e-05_r8, 8.9236304079412621e-05_r8, & + 0.00013026891559502439_r8, 0.00013764395561545879_r8, & + 0.0001436942499624664_r8, 0.00014937989254035328_r8, & + 0.00015996951304648029_r8, 0.00017012179200157247_r8, & + 0.00017955613897860674_r8, 0.0001852235240180981_r8, & + 0.00018988854776568498_r8, 0.00019465573783089169_r8, & + 0.0001992579688601548_r8, 0.00020294228066211061_r8, & + 0.00020850413147372257_r8, 0.00021366789089809983_r8, & + 0.00021885499944065157_r8, 0.00023163059503562324_r8, & + 0.00024339900697306795_r8, 0.00025569916795112379_r8, & + 0.00026483775035070293_r8, 0.00027215902387980759_r8, & + 0.00027814886344349247_r8, 0.00028093812659491549_r8, & + 0.00028220857028778563_r8, 0.00028183849860166979_r8, & + 0.00027759490707351953_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,56) / & + 3.0734661603491509e-05_r8, 3.1026932883791331e-05_r8, & + 3.0708004253294946e-05_r8, 9.5680293451447907e-06_r8, & + 9.4661229488878639e-06_r8, 1.0721092124453519e-05_r8, & + 1.2352612595580123e-05_r8, 1.610065757061956e-05_r8, & + 2.0387211230042389e-05_r8, 2.4846799200469156e-05_r8, & + 2.7254318233880932e-05_r8, 3.8621316774430683e-05_r8, & + 5.159166139803248e-05_r8, 5.8451759969915266e-05_r8, & + 6.457906884032414e-05_r8, 6.9578922076882002e-05_r8, & + 8.3457917539255129e-05_r8, 9.686650124890869e-05_r8, & + 0.0001137716277007672_r8, 0.00012610068465214059_r8, & + 0.0001369368436526914_r8, 0.00014606170903970082_r8, & + 0.00015548126552713125_r8, 0.00016246349152605787_r8, & + 0.00017076101767794441_r8, 0.00017777077168922909_r8, & + 0.00018415995771263807_r8, 0.00020017116499929322_r8, & + 0.00021101520890909982_r8, 0.0002216335138651226_r8, & + 0.00023232538530105251_r8, 0.00023865243305951406_r8, & + 0.00024458426316537865_r8, 0.00024689348690121269_r8, & + 0.00025190488368667408_r8, 0.00025593657418345324_r8, & + 0.00025822193224838807_r8, 0.000259618602685836_r8, & + 0.0002613702476792246_r8, 0.00026292652625805848_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,56) / & + 1.2446585189004847e-05_r8, 1.2497125023095383e-05_r8, & + 1.2448504465846878e-05_r8, 6.5437934923525686e-06_r8, & + 6.5908023093989486e-06_r8, 6.9051993133509282e-06_r8, & + 7.5055097598351625e-06_r8, 8.8991548559542153e-06_r8, & + 1.0217801022972084e-05_r8, 1.2166565747670826e-05_r8, & + 1.3263991384839707e-05_r8, 1.6114769052679458e-05_r8, & + 1.892812837907428e-05_r8, 2.1704518355721428e-05_r8, & + 2.4156579534298443e-05_r8, 2.6634695332056411e-05_r8, & + 3.3271920547455151e-05_r8, 4.0606587514111367e-05_r8, & + 5.0192650733168498e-05_r8, 6.1296653565817287e-05_r8, & + 7.4442289494581657e-05_r8, 8.8013896670704821e-05_r8, & + 0.00010280596542114505_r8, 0.00011776187886041534_r8, & + 0.00013263317898824865_r8, 0.0001460919304156106_r8, & + 0.00015855618142630762_r8, 0.00018825983281275461_r8, & + 0.00020618949186918686_r8, 0.0002158545505294334_r8, & + 0.00022366961249530999_r8, 0.0002312167591678488_r8, & + 0.00023838430867490423_r8, 0.00024413160156518259_r8, & + 0.00024998928728086391_r8, 0.00025455868728339453_r8, & + 0.00025737772079855017_r8, 0.00025928763317978993_r8, & + 0.00026050114951187435_r8, 0.00026218165113695913_r8, & + 0.00026363395012423215_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,56) / & + 9.4273162529607069e-06_r8, 9.3802809792486655e-06_r8, & + 9.0284122012308939e-06_r8, 5.8621627433718776e-06_r8, & + 5.8714668576610609e-06_r8, 5.8824039184348149e-06_r8, & + 5.7167838827031532e-06_r8, 5.0067469646528688e-06_r8, & + 6.2491516637616723e-06_r8, 6.6120222428862103e-06_r8, & + 7.252464796983242e-06_r8, 9.5451059293962235e-06_r8, & + 1.2801108317678157e-05_r8, 1.4555506476343148e-05_r8, & + 1.6333550002963113e-05_r8, 1.7905534969162426e-05_r8, & + 2.1863209648584368e-05_r8, 2.6132096076118418e-05_r8, & + 3.295926474540839e-05_r8, 4.2849389002805197e-05_r8, & + 5.6341943377858471e-05_r8, 7.162819993047315e-05_r8, & + 8.7741607813304732e-05_r8, 0.00010429595023966266_r8, & + 0.00012083380473814927_r8, 0.00013664626716281922_r8, & + 0.00015157542075134854_r8, 0.00018533524235584258_r8, & + 0.00021341534959890199_r8, 0.0002317929642171075_r8, & + 0.00024410931232057541_r8, 0.00024983244772915601_r8, & + 0.00025201465050132983_r8, 0.00025233037339158576_r8, & + 0.00025281476482716858_r8, 0.00025481482170212509_r8, & + 0.00025711750206007723_r8, 0.00025940506115480614_r8, & + 0.00026096404364216809_r8, 0.00026211086262415627_r8, & + 0.00026303249443365099_r8, 0.00026384842148563086_r8, & + 0.00026363568350228647_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,56) / & + 7.1438794575791273e-06_r8, 6.9814062543394838e-06_r8, & + 6.6731296865811688e-06_r8, 4.9518285584515535e-06_r8, & + 5.0335089912066043e-06_r8, 5.1050973929706069e-06_r8, & + 5.099757947304216e-06_r8, 3.3566562484995327e-06_r8, & + 4.1917932028113525e-06_r8, 5.0332066485079181e-06_r8, & + 5.6506792370033372e-06_r8, 7.8109315161529111e-06_r8, & + 1.0721168738361596e-05_r8, 1.1849138376396356e-05_r8, & + 1.3236568166111389e-05_r8, 1.4644288888632169e-05_r8, & + 1.7316688469959548e-05_r8, 2.0950155261542329e-05_r8, & + 2.72420834337909e-05_r8, 3.651163517064256e-05_r8, & + 5.0852199352351054e-05_r8, 6.7260867752935862e-05_r8, & + 8.5057152071030026e-05_r8, 0.00010290527864658072_r8, & + 0.00012083319971068594_r8, 0.00013782677807643433_r8, & + 0.00015365993833833431_r8, 0.0001905371699922558_r8, & + 0.000221663500958029_r8, 0.0002420110754250029_r8, & + 0.00025514244653960621_r8, 0.00026095509863881142_r8, & + 0.0002615160179913192_r8, 0.00025928063467605111_r8, & + 0.00025718017181198725_r8, 0.00025729096381874777_r8, & + 0.00025868619133846623_r8, 0.00026032117051354902_r8, & + 0.00026137122374759271_r8, 0.0002620867188966491_r8, & + 0.000262887045128375_r8, 0.00026416947890642528_r8, & + 0.0002637275120587976_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,56) / & + 4.525084492342298e-06_r8, 4.4461881879541618e-06_r8, & + 4.3773422206785308e-06_r8, 3.2431528384180573e-06_r8, & + 3.2933602298449507e-06_r8, 3.8095795750334583e-06_r8, & + 4.4375422824153715e-06_r8, 3.6843621422045821e-06_r8, & + 3.1936046177434251e-06_r8, 2.9448159899157612e-06_r8, & + 3.2488421059012751e-06_r8, 5.056223483522099e-06_r8, & + 7.6003779042378244e-06_r8, 8.999460276016138e-06_r8, & + 1.0521906933276581e-05_r8, 1.2189042373718303e-05_r8, & + 1.5064210896521897e-05_r8, 1.8629105064524064e-05_r8, & + 2.4119565422196281e-05_r8, 3.2858641891979615e-05_r8, & + 4.6862985392473225e-05_r8, 6.3485685116430743e-05_r8, & + 8.3369429963505386e-05_r8, 0.00010434163649925041_r8, & + 0.00012565669809509332_r8, 0.00014444497576613825_r8, & + 0.00016129486419607725_r8, 0.00020374300117092077_r8, & + 0.00023441700510885803_r8, 0.00025364027785912218_r8, & + 0.00026433207825881728_r8, 0.00026952735768000815_r8, & + 0.00026922811298368609_r8, 0.00026680699004362837_r8, & + 0.00026323447116120542_r8, 0.00026101304079622977_r8, & + 0.00026089344638062739_r8, 0.00026088900601379465_r8, & + 0.00026107539028305749_r8, 0.00026108691473643542_r8, & + 0.00026213139822700213_r8, 0.00026492411975157166_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,56) / & + 3.5434305958781364e-06_r8, 3.8128371245975891e-06_r8, & + 3.6556795684348527e-06_r8, 3.5800579061545257e-06_r8, & + 3.592315483333868e-06_r8, 5.1781285612209098e-06_r8, & + 5.4718508376177788e-06_r8, 5.1313319230003907e-06_r8, & + 4.5012873252426361e-06_r8, 3.8690863627556688e-06_r8, & + 3.4048142606096427e-06_r8, 3.6981489409893746e-06_r8, & + 5.0630764933082065e-06_r8, 6.7988406565850432e-06_r8, & + 8.7787592905369588e-06_r8, 1.0881265217622042e-05_r8, & + 1.387837509925913e-05_r8, 1.724496444594039e-05_r8, & + 2.2392107492745308e-05_r8, 3.0288078556628954e-05_r8, & + 4.3913560944176482e-05_r8, 6.1555596592674855e-05_r8, & + 8.4178281456391552e-05_r8, 0.00010706305947614751_r8, & + 0.00013016104853247706_r8, 0.00015083412026897869_r8, & + 0.00016963310952549044_r8, 0.00021341833739324631_r8, & + 0.00024292089448125034_r8, 0.00026088189944009513_r8, & + 0.00027067265886883814_r8, 0.00027533737486429418_r8, & + 0.00027580394411400115_r8, 0.00027462228850133217_r8, & + 0.00027203449048732403_r8, 0.00026852484134493737_r8, & + 0.00026575589760388516_r8, 0.00026377454660268861_r8, & + 0.00026224275348075738_r8, 0.00026133095542505726_r8, & + 0.00026149652691995554_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,56) / & + 4.1733767740305122e-06_r8, 4.6430332183832725e-06_r8, & + 4.2919394331903407e-06_r8, 4.3080329355732751e-06_r8, & + 4.4124744249246975e-06_r8, 5.0774408492817385e-06_r8, & + 4.8055996367369468e-06_r8, 4.9192700705778329e-06_r8, & + 5.3447726593796419e-06_r8, 5.085090430114546e-06_r8, & + 4.7975115532427962e-06_r8, 4.5466652702142058e-06_r8, & + 4.7451080515040051e-06_r8, 6.1505886739335666e-06_r8, & + 8.2156428533063118e-06_r8, 1.0883914224420972e-05_r8, & + 1.540016299074087e-05_r8, 2.0029215491850137e-05_r8, & + 2.6100713575714953e-05_r8, 3.5942498767638142e-05_r8, & + 5.1947946345650778e-05_r8, 7.3235230147283554e-05_r8, & + 9.6858891406783023e-05_r8, 0.00011982514589664464_r8, & + 0.00014294237224231435_r8, 0.00016314794458498628_r8, & + 0.00018155064489444833_r8, 0.00022046446126633721_r8, & + 0.00024855000923061166_r8, 0.00026373693837475326_r8, & + 0.00027254050936907555_r8, 0.0002763021428575908_r8, & + 0.00027693779884705258_r8, 0.0002762378950208822_r8, & + 0.00027400415943785528_r8, 0.00027050961274575284_r8, & + 0.00026742671946236834_r8, 0.0002649471455972282_r8, & + 0.00026305120564980398_r8, 0.00026186929758682429_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,56) / & + 4.8003677310706033e-06_r8, 5.2135394739072007e-06_r8, & + 4.8129793542105781e-06_r8, 3.7504287841828108e-06_r8, & + 3.7329190120507871e-06_r8, 3.7869398445682009e-06_r8, & + 3.5508390099667398e-06_r8, 3.1783587971064939e-06_r8, & + 3.7645202125824044e-06_r8, 4.1392390271918601e-06_r8, & + 4.7022545876914232e-06_r8, 4.5389286036358468e-06_r8, & + 5.1364673368898081e-06_r8, 7.0112335192695649e-06_r8, & + 9.4015554071312008e-06_r8, 1.2680814701531148e-05_r8, & + 2.1837615006470678e-05_r8, 2.9516511922355031e-05_r8, & + 3.6237562039781773e-05_r8, 5.2521848461769214e-05_r8, & + 7.3192019393240906e-05_r8, 9.8830619430710528e-05_r8, & + 0.00012386667583907639_r8, 0.00014751659604289266_r8, & + 0.00017036319578270082_r8, 0.00018949899208430449_r8, & + 0.00020648595745583286_r8, 0.00023993686441212066_r8, & + 0.00026324324648442556_r8, 0.00027663256183808595_r8, & + 0.0002848481650539065_r8, 0.00028897437064919195_r8, & + 0.00029015691130590066_r8, 0.00029009418077771205_r8, & + 0.00028816804040843441_r8, 0.00028512213380262085_r8, & + 0.00028115584847641988_r8, 0.0002785148732645465_r8, & + 0.00027742653996087706_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,56) / & + 4.5391359793444854e-06_r8, 4.7494390069148617e-06_r8, & + 4.4422069787631641e-06_r8, 4.9937690809755956e-06_r8, & + 4.9398745372966023e-06_r8, 4.5666462126822943e-06_r8, & + 4.3714494400681294e-06_r8, 3.3754582365726835e-06_r8, & + 3.1446673128089916e-06_r8, 3.1239789079911877e-06_r8, & + 3.3995293659990253e-06_r8, 3.6899556194184845e-06_r8, & + 4.2179460713082775e-06_r8, 6.5597129427857219e-06_r8, & + 1.109301792272379e-05_r8, 1.6454132803538225e-05_r8, & + 3.2249157820217041e-05_r8, 4.5495431840292703e-05_r8, & + 6.0477659891636476e-05_r8, 8.0128044784928671e-05_r8, & + 0.00010414726651395025_r8, 0.00013048682073561071_r8, & + 0.00015427864996541684_r8, 0.00017550449264775334_r8, & + 0.00019473551155147606_r8, 0.00021140165100548523_r8, & + 0.00022583483176456074_r8, 0.00025435406024330187_r8, & + 0.00027389177377581004_r8, 0.00028605415550861358_r8, & + 0.00029391447830911236_r8, 0.00029872493483230428_r8, & + 0.00030083213258472505_r8, 0.00030267153569822787_r8, & + 0.0003020120351053276_r8, 0.00030034381218190182_r8, & + 0.00029556575063166503_r8, 0.00029374398786453167_r8, & + 0.00029185655932267699_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,56) / & + 4.4804733928180438e-06_r8, 4.5374663275588678e-06_r8, & + 4.1081076090861963e-06_r8, 4.465550035059362e-06_r8, & + 4.4749830826156284e-06_r8, 4.0835697554197047e-06_r8, & + 4.4589747530271586e-06_r8, 3.788047711012802e-06_r8, & + 4.115926275014959e-06_r8, 3.8462701283240146e-06_r8, & + 3.8503469056917875e-06_r8, 3.8520140190744617e-06_r8, & + 3.9590746510886195e-06_r8, 6.5811689447464984e-06_r8, & + 1.4346243106577125e-05_r8, 2.4105935695871713e-05_r8, & + 4.6328368367591029e-05_r8, 6.7275276844051517e-05_r8, & + 9.2878092947994964e-05_r8, 0.0001159424897745325_r8, & + 0.00013991000645964587_r8, 0.00016386404292249908_r8, & + 0.0001831019447974096_r8, 0.00020032574499538301_r8, & + 0.00021555191254750164_r8, 0.00022895161398249112_r8, & + 0.00024073544609022626_r8, 0.00026516560695837737_r8, & + 0.00028277903994172721_r8, 0.00029489639629997944_r8, & + 0.00030251296851173664_r8, 0.00030832635232067983_r8, & + 0.00031173344626423869_r8, 0.00031599961198948559_r8, & + 0.00031611355996461209_r8, 0.00031475853120605044_r8, & + 0.0003094915519197335_r8, 0.00030792785564013784_r8, & + 0.0003077373288593461_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,56) / & + 4.9382566057152311e-06_r8, 5.063115374306326e-06_r8, & + 4.2062146114432102e-06_r8, 4.4248486317026387e-06_r8, & + 4.5510283462219237e-06_r8, 4.4964917266521755e-06_r8, & + 4.8697558666925021e-06_r8, 4.469602423700849e-06_r8, & + 4.8478675261754154e-06_r8, 5.0177290528605746e-06_r8, & + 5.3712857180864675e-06_r8, 5.5494683886507848e-06_r8, & + 7.333358330931822e-06_r8, 1.3688212175406798e-05_r8, & + 2.5691361383618534e-05_r8, 3.9466967906506156e-05_r8, & + 6.3416353258786864e-05_r8, 8.5046489284994572e-05_r8, & + 0.00011224621798530579_r8, 0.00013668678379998269_r8, & + 0.00016022971699184685_r8, 0.00018301929409476276_r8, & + 0.00020126538590936474_r8, 0.00021818788411932902_r8, & + 0.000233754745911052_r8, 0.00024793412213239448_r8, & + 0.00026023548206663394_r8, 0.00028511327814380528_r8, & + 0.00030355716041879726_r8, 0.00031752861793758123_r8, & + 0.00032689476982630588_r8, 0.00033377570641457486_r8, & + 0.00033632153620981716_r8, 0.00034061187276324199_r8, & + 0.00034139575767423117_r8, 0.00034198845220752663_r8, & + 0.00034641277133544386_r8, 0.00034292665814343018_r8, & + 0.00032907493597394082_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,56) / & + 5.3168871067673884e-06_r8, 5.7152264296689468e-06_r8, & + 4.8089694256127347e-06_r8, 5.2400310165242343e-06_r8, & + 5.2470238155072681e-06_r8, 5.1013986941964851e-06_r8, & + 5.6759393491232031e-06_r8, 5.8293402931550898e-06_r8, & + 6.6709946152263007e-06_r8, 7.8455896961018674e-06_r8, & + 1.0280183901465533e-05_r8, 1.4054058356773217e-05_r8, & + 2.429021385371071e-05_r8, 3.8238387736714625e-05_r8, & + 5.2060618869791472e-05_r8, 6.4099213173571633e-05_r8, & + 8.3893510267876026e-05_r8, 0.00010283993783089249_r8, & + 0.00012878548185018914_r8, 0.00015472304852283687_r8, & + 0.00017948254101401575_r8, 0.0002019357131647541_r8, & + 0.00022215720118343692_r8, 0.000241006097336307_r8, & + 0.0002582875212175755_r8, 0.00027381459167741848_r8, & + 0.00028721896696577601_r8, 0.00031324800013420181_r8, & + 0.00033246148016147188_r8, 0.000345914596674971_r8, & + 0.00035647660314196584_r8, 0.00036229703356739699_r8, & + 0.00036333200587009988_r8, 0.00036436188886779231_r8, & + 0.00036375397485408995_r8, 0.0003642770255003999_r8, & + 0.00036840619415765778_r8, 0.00035687676785607988_r8, & + 0.00034264413987680395_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,56) / & + 5.9431661648335717e-06_r8, 6.6145323012456744e-06_r8, & + 6.2428378392660568e-06_r8, 6.6243423637410139e-06_r8, & + 6.5999599979652821e-06_r8, 6.5118010145643829e-06_r8, & + 6.9309623832813994e-06_r8, 7.9922772415979862e-06_r8, & + 1.0665412438638615e-05_r8, 1.5726724921090148e-05_r8, & + 2.5812900505502556e-05_r8, 3.8208797253789073e-05_r8, & + 5.4911875015674233e-05_r8, 6.723391806055016e-05_r8, & + 7.7369944830454838e-05_r8, 8.6518040601740246e-05_r8, & + 0.00010400355745594982_r8, 0.00012329632673782493_r8, & + 0.00014758518638316334_r8, 0.00017406605023598652_r8, & + 0.00020073940652399233_r8, 0.00022431652423907108_r8, & + 0.00024831625829624057_r8, 0.00026950223254997843_r8, & + 0.00028849483091275774_r8, 0.00030495710142372376_r8, & + 0.00031989139497127296_r8, 0.00034871924173255123_r8, & + 0.00036898424268630816_r8, 0.00038208151970620102_r8, & + 0.0003922350226539113_r8, 0.00039701997646728998_r8, & + 0.0003982767502881667_r8, 0.000398290268180835_r8, & + 0.00039840769942340622_r8, 0.00039899450327614803_r8, & + 0.00039317404140846443_r8, 0.00038672110939314621_r8, & + 0.00038263689847238455_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,56) / & + 7.1200622789278081e-06_r8, 7.9271705066478824e-06_r8, & + 8.1596861198022996e-06_r8, 8.9275902956196791e-06_r8, & + 9.0436097797925265e-06_r8, 9.2250440004506852e-06_r8, & + 1.0196993056898085e-05_r8, 1.3137030728184943e-05_r8, & + 1.8848996919417219e-05_r8, 3.1415230804414822e-05_r8, & + 4.548284288835675e-05_r8, 5.7172113461351596e-05_r8, & + 6.7185892542869367e-05_r8, 7.4998294118154205e-05_r8, & + 8.4309927039725565e-05_r8, 9.6958211208291988e-05_r8, & + 0.00012077713391950197_r8, 0.00014420438944255198_r8, & + 0.00016976861513117651_r8, 0.00019546586439218473_r8, & + 0.00022215238162811557_r8, 0.00024639919289590071_r8, & + 0.00027346248974499112_r8, 0.00029733817550514874_r8, & + 0.00031770815844644226_r8, 0.00033555080146749621_r8, & + 0.00035261555225413562_r8, 0.000385335075968233_r8, & + 0.0004063978688795509_r8, 0.00041892057428389261_r8, & + 0.00042550679427976693_r8, 0.00042871688539948105_r8, & + 0.00042832445975097189_r8, 0.00042749677127539124_r8, & + 0.00042635946301494508_r8, 0.00042186000495447084_r8, & + 0.00041452981724480792_r8, 0.00040835576937334282_r8, & + 0.00040068084895448645_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,56) / & + 7.649714723454561e-06_r8, 8.4082263305174616e-06_r8, & + 8.5938267002289713e-06_r8, 1.0573272154063099e-05_r8, & + 1.078639164562756e-05_r8, 1.0998673126080064e-05_r8, & + 1.240013018512825e-05_r8, 1.602850610498268e-05_r8, & + 2.2948289250649113e-05_r8, 3.827026105003521e-05_r8, & + 5.6907517506931692e-05_r8, 6.8266415083665193e-05_r8, & + 7.8215346073802356e-05_r8, 8.5035373132075898e-05_r8, & + 9.312659326797201e-05_r8, 0.00010583601672818986_r8, & + 0.00013437954692396115_r8, 0.00016209005998490275_r8, & + 0.00019031323774994227_r8, 0.00021600868809013086_r8, & + 0.00024235469200858896_r8, 0.00026734835753749737_r8, & + 0.00029549983039033983_r8, 0.00032121884163231252_r8, & + 0.00034112078267098563_r8, 0.00036121475532794261_r8, & + 0.00037941981257855743_r8, 0.00041238341065540128_r8, & + 0.00043453952482402111_r8, 0.00044979749694253887_r8, & + 0.0004570013628071776_r8, 0.00045944449059251533_r8, & + 0.00045978788055366359_r8, 0.00045781327829707159_r8, & + 0.00045299739284230964_r8, 0.000443636458110333_r8, & + 0.00043566785545047173_r8, 0.00043128675124215785_r8, & + 0.00042653520317945045_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,56) / & + 7.2107586389893961e-06_r8, 7.5183701390143429e-06_r8, & + 7.6233884856534328e-06_r8, 1.0466093307397056e-05_r8, & + 1.0721823003486566e-05_r8, 1.1069211063109874e-05_r8, & + 1.3621850593541215e-05_r8, 2.0220705574172411e-05_r8, & + 3.1884606880755768e-05_r8, 5.1265662737616147e-05_r8, & + 7.2470162204424496e-05_r8, 8.5731315131088009e-05_r8, & + 9.8068985954734018e-05_r8, 0.0001055896082853802_r8, & + 0.00011241196966216376_r8, 0.00012170237357890716_r8, & + 0.00014985146333750551_r8, 0.00018474111880219029_r8, & + 0.00021570865483583955_r8, 0.00024303639315122836_r8, & + 0.00026830656625209648_r8, 0.00029269669036020201_r8, & + 0.00031807614915459333_r8, 0.00034313941076576711_r8, & + 0.00036406427847489786_r8, 0.00038545554084061409_r8, & + 0.0004039037927837314_r8, 0.00043603014090289695_r8, & + 0.00046092854187469869_r8, 0.00047545688656515427_r8, & + 0.00048380553656482785_r8, 0.00048716874697189987_r8, & + 0.00048929841210145549_r8, 0.00048627038053398254_r8, & + 0.00047892505766432698_r8, 0.00046551982051889102_r8, & + 0.00045474304517471409_r8, 0.00044901349355369076_r8, & + 0.00044520396627793145_r8, 0.00044228174309914487_r8, & + 0.0004387940888008349_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,56) / & + 7.1854352835411516e-06_r8, 7.1286302797658703e-06_r8, & + 7.0139789534007358e-06_r8, 1.2644945197083787e-05_r8, & + 9.8711030272472552e-06_r8, 1.1826372473849247e-05_r8, & + 2.313097085094132e-05_r8, 4.6148937722727822e-05_r8, & + 6.8370261467185682e-05_r8, 8.391291521473701e-05_r8, & + 9.3689956604854917e-05_r8, 0.00010211533254090639_r8, & + 0.00011170807857680603_r8, 0.00012070025734067994_r8, & + 0.00012751322756988359_r8, 0.00013681596835194562_r8, & + 0.00016651492380798509_r8, 0.00020333395223689308_r8, & + 0.00023735476005682014_r8, 0.00026459205440145319_r8, & + 0.00029071123259241557_r8, 0.00031618673980346917_r8, & + 0.00034137378848376955_r8, 0.00036374859491377552_r8, & + 0.00038520569792385327_r8, 0.00040415085893626943_r8, & + 0.00042312561692589839_r8, 0.00045651445794570733_r8, & + 0.00048338192171204036_r8, 0.00049704554526253033_r8, & + 0.00050576199452938872_r8, 0.00051005607136008022_r8, & + 0.00051357014480048202_r8, 0.00051122362598822913_r8, & + 0.00050530777784291907_r8, 0.00048931761634543407_r8, & + 0.00047559214964981462_r8, 0.00046588253716555882_r8, & + 0.00046189682531302598_r8, 0.00045925757484164078_r8, & + 0.00045377320272993639_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,56) / & + 7.7693492415484882e-06_r8, 7.3912496760971986e-06_r8, & + 6.7201649491706461e-06_r8, 1.0653266199466317e-05_r8, & + 7.9324780043057841e-06_r8, 8.9350846085824845e-06_r8, & + 1.3336808132671319e-05_r8, 2.6928181482880641e-05_r8, & + 4.2890525275779915e-05_r8, 6.3136955046747957e-05_r8, & + 7.8965952077437546e-05_r8, 9.139856985028402e-05_r8, & + 0.00010858105029456804_r8, 0.00012721468921276686_r8, & + 0.00013936847972155291_r8, 0.00015214270440615683_r8, & + 0.00018771574135721325_r8, 0.0002248384853731001_r8, & + 0.00025741635302266178_r8, 0.00028654905053999649_r8, & + 0.00031564404645317617_r8, 0.00034152941610798751_r8, & + 0.00036773019082214891_r8, 0.00038813449037018277_r8, & + 0.00040754720294745666_r8, 0.00042543443821238341_r8, & + 0.00043886334407113411_r8, 0.0004747272851327974_r8, & + 0.00050269329855985806_r8, 0.00051747125686867393_r8, & + 0.0005263997960429465_r8, 0.00053136213259869283_r8, & + 0.00053531809656196699_r8, 0.00053460047846499124_r8, & + 0.00053008760242036473_r8, 0.000516832148160947_r8, & + 0.00049999718151266944_r8, 0.0004853422349974605_r8, & + 0.00047959380834591961_r8, 0.00047587793345440712_r8, & + 0.00047610928940484357_r8, 0.0004735606436941243_r8, & + 0.00047402507178856808_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,56) / & + 7.9473924627036069e-06_r8, 7.5219385123139086e-06_r8, & + 6.6047603666311982e-06_r8, 7.760569154030021e-06_r8, & + 7.5825263429039653e-06_r8, 7.2782817263244672e-06_r8, & + 7.8717371310664773e-06_r8, 9.6746654571866042e-06_r8, & + 1.3059514411011534e-05_r8, 2.2231617232980768e-05_r8, & + 3.4393869654348074e-05_r8, 4.667370443736752e-05_r8, & + 7.779540757254533e-05_r8, 0.00011843993452365887_r8, & + 0.00014485093145276336_r8, 0.00016618162936562288_r8, & + 0.0002179229340322196_r8, 0.0002607458701497101_r8, & + 0.00029040300469350389_r8, 0.00032142508718069926_r8, & + 0.00034781480013660443_r8, 0.00037323954180258742_r8, & + 0.00039688717871717453_r8, 0.00041687399585834767_r8, & + 0.00043589366790883698_r8, 0.00045479164641690543_r8, & + 0.00046872077715719878_r8, 0.00050338376537950819_r8, & + 0.00052916395668519301_r8, 0.00054370398322182273_r8, & + 0.00055281797404066132_r8, 0.00055751333266595613_r8, & + 0.00055986633744517717_r8, 0.00055748950817159258_r8, & + 0.00055151142089482949_r8, 0.00054055908133441904_r8, & + 0.0005253854865442545_r8, 0.0005111226235183726_r8, & + 0.00050150124388442807_r8, 0.00049382632520895281_r8, & + 0.00049150297101812192_r8, 0.00048974172473245376_r8, & + 0.00049114166674625506_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,56) / & + 7.9314066417394926e-06_r8, 7.8064134733579447e-06_r8, & + 7.2031875185482672e-06_r8, 8.1805108547589276e-06_r8, & + 8.3430325143080146e-06_r8, 7.9657909021977689e-06_r8, & + 7.969210357162688e-06_r8, 8.1387655313903936e-06_r8, & + 8.7105964100896478e-06_r8, 1.0985565390912124e-05_r8, & + 1.3509937128501792e-05_r8, 1.8119311669081897e-05_r8, & + 3.9036622601153965e-05_r8, 7.7870136134774648e-05_r8, & + 0.00011203705565723727_r8, 0.0001465303522955141_r8, & + 0.00022497348957770599_r8, 0.00029012308964425192_r8, & + 0.00032648727116875361_r8, 0.00035762328729830315_r8, & + 0.00037929425974103176_r8, 0.000401219112647586_r8, & + 0.0004209780349499871_r8, 0.00043978355629610539_r8, & + 0.00045817497697870897_r8, 0.00047693009803113998_r8, & + 0.0004925402974655025_r8, 0.00052900346965017531_r8, & + 0.00055682661049406216_r8, 0.00057360028614189074_r8, & + 0.00058376661217756352_r8, 0.00058688756287623132_r8, & + 0.00058541846297005084_r8, 0.00057973702729255828_r8, & + 0.00057263460254750845_r8, 0.00056353431006978872_r8, & + 0.00055287289945371077_r8, 0.00054164054190942372_r8, & + 0.00052840566167996822_r8, 0.00051386191359401999_r8, & + 0.00050747920527953829_r8, 0.00050688804013514709_r8, & + 0.00050648736550217076_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,56) / & + 8.9537989602694685e-06_r8, 8.9076723518417513e-06_r8, & + 8.4981541905592351e-06_r8, 8.4685055112349115e-06_r8, & + 8.9243357528602284e-06_r8, 9.0573618346608527e-06_r8, & + 9.4477450133631161e-06_r8, 9.4641373401295385e-06_r8, & + 9.6006573153116095e-06_r8, 9.9404310549735974e-06_r8, & + 1.1184048008291143e-05_r8, 1.5225134141139603e-05_r8, & + 3.0827929701376101e-05_r8, 5.8685460525178211e-05_r8, & + 8.8379860197362168e-05_r8, 0.00012509426841078144_r8, & + 0.00021587820620563983_r8, 0.00029803822877339198_r8, & + 0.00035278190855826083_r8, 0.00038387787077962681_r8, & + 0.00040772944404346602_r8, 0.00042934983443826072_r8, & + 0.0004457579749170681_r8, 0.00046348666882303964_r8, & + 0.00048130159792873268_r8, 0.00050021843731362225_r8, & + 0.00051643746473345291_r8, 0.00055413391633793191_r8, & + 0.00058246600460425319_r8, 0.00060148359966136287_r8, & + 0.00061187067131332777_r8, 0.00061344104257179727_r8, & + 0.00060955973519620141_r8, 0.00060249667650315504_r8, & + 0.00059501570782701679_r8, 0.00058754266943676419_r8, & + 0.00057958299578802878_r8, 0.00057345221780242433_r8, & + 0.00056298114780584455_r8, 0.00054350317762882666_r8, & + 0.00052381208803202483_r8, 0.00052266259823725261_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,56) / & + 1.196096086577244e-05_r8, 1.1881320087068521e-05_r8, & + 1.1475712191924952e-05_r8, 9.7829643296980516e-06_r8, & + 1.0268625070651344e-05_r8, 1.0498150863501015e-05_r8, & + 1.1487063285623397e-05_r8, 1.1631054210380069e-05_r8, & + 1.2184967057101802e-05_r8, 1.381300246117833e-05_r8, & + 1.8106383538448111e-05_r8, 2.4376394737707956e-05_r8, & + 4.4632452578206555e-05_r8, 7.019479805884458e-05_r8, & + 9.655964218525969e-05_r8, 0.0001314840595149493_r8, & + 0.0002181916575445012_r8, 0.00030352011131606725_r8, & + 0.00036628423191090279_r8, 0.00040967440695420965_r8, & + 0.00044298823917313448_r8, 0.00046901921429530908_r8, & + 0.00048364739794264707_r8, 0.00050249153602838843_r8, & + 0.00051882857172772174_r8, 0.00053667967943612691_r8, & + 0.00055379138438972273_r8, 0.00059176572612267681_r8, & + 0.00061983996544073762_r8, 0.00063661919620480343_r8, & + 0.0006429034905668943_r8, 0.00064290451154044392_r8, & + 0.00063717431216072349_r8, 0.00062983147748866067_r8, & + 0.00062231301763219138_r8, 0.00061601778297089716_r8, & + 0.00060972455054745839_r8, 0.0006042346511734352_r8, & + 0.00059749657628274644_r8, 0.00057764723933778606_r8, & + 0.0005772275622339478_r8, 0.00057639073092758276_r8, & + 0.00056972232332242378_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,56) / & + 1.6531286453246199e-05_r8, 1.6429876319881692e-05_r8, & + 1.5895212117285392e-05_r8, 1.4561803346719762e-05_r8, & + 1.4004529223497213e-05_r8, 1.4229160023515872e-05_r8, & + 1.4201937609321858e-05_r8, 1.5565819543386091e-05_r8, & + 1.8784811339084358e-05_r8, 2.3873286463690303e-05_r8, & + 3.2381585987262634e-05_r8, 4.2879621289865848e-05_r8, & + 6.5012598964569573e-05_r8, 9.0278156420814932e-05_r8, & + 0.0001179443993764869_r8, 0.00015356728603328776_r8, & + 0.00023992496216479822_r8, 0.00032454277581953062_r8, & + 0.00038627689954039683_r8, 0.00043501433763909789_r8, & + 0.00047343830425259639_r8, 0.00050114035158318213_r8, & + 0.00052013433810650742_r8, 0.00054339404921880611_r8, & + 0.00055893974652887132_r8, 0.0005764763047991187_r8, & + 0.00059424015274436371_r8, 0.00063318717311761606_r8, & + 0.0006607685761527716_r8, 0.0006732512692306131_r8, & + 0.00067441377617860154_r8, 0.000670469763853899_r8, & + 0.00065948841943110905_r8, 0.00065062693470129527_r8, & + 0.00064285983719400755_r8, 0.00063846491911618577_r8, & + 0.00063409344321740078_r8, 0.00062899375251224468_r8, & + 0.00062156196059867208_r8, 0.00060921848675551992_r8, & + 0.00060088611683418146_r8, 0.00059373084997767125_r8, & + 0.00058567789631456646_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,56) / & + 2.2035541157152847e-05_r8, 2.1885655039457068e-05_r8, & + 2.0526297294011237e-05_r8, 2.490658519010476e-05_r8, & + 2.5595589182129915e-05_r8, 2.5478320891230114e-05_r8, & + 2.1553704770542695e-05_r8, 2.6646946256561279e-05_r8, & + 3.4333882198832484e-05_r8, 4.2724477969289242e-05_r8, & + 5.7969121951886842e-05_r8, 6.7807070770053727e-05_r8, & + 8.7354628848473786e-05_r8, 0.00011512689318958277_r8, & + 0.00014946825152573347_r8, 0.00018968353643956972_r8, & + 0.00027437954003349307_r8, 0.00034951943786646201_r8, & + 0.00040665608306639754_r8, 0.00045808435767969005_r8, & + 0.00049821617356053736_r8, 0.00053059106952367573_r8, & + 0.00055483960569962642_r8, 0.00057863185641922744_r8, & + 0.00059685199951099407_r8, 0.00061519711256427349_r8, & + 0.00063239144662099219_r8, 0.00066502185421681557_r8, & + 0.00068609144338262098_r8, 0.00069563369764511992_r8, & + 0.00069163811081162307_r8, 0.00068761202764580859_r8, & + 0.00067708453494349943_r8, 0.00067012906747276814_r8, & + 0.00066406237543955888_r8, 0.00065791953984124579_r8, & + 0.00065659562815637896_r8, 0.00065103021177747862_r8, & + 0.00064232134620983517_r8, 0.00063521082155455885_r8, & + 0.000628114942205548_r8, 0.00061547468719944359_r8, & + 0.00060255758985220547_r8, 0.00060037029318614596_r8, 9e90_r8 & + / +data saar_ref(:,33,56) / & + 3.1586686575146114e-05_r8, 3.1137097913852323e-05_r8, & + 2.8766390420264947e-05_r8, 4.1388117137147784e-05_r8, & + 4.3078898513928912e-05_r8, 4.296468092781161e-05_r8, & + 3.9314418992312474e-05_r8, 4.8483120652853488e-05_r8, & + 5.6112355526981316e-05_r8, 7.2240778177244647e-05_r8, & + 8.9238508005761591e-05_r8, 0.00010297719750761524_r8, & + 0.00013000257196123493_r8, 0.0001640881588009421_r8, & + 0.0002060082833541591_r8, 0.00025171659838503231_r8, & + 0.00033124702015295478_r8, 0.00040082538407489038_r8, & + 0.00045311799502608866_r8, 0.00050073719313571295_r8, & + 0.00053804750098503172_r8, 0.00057074502913542172_r8, & + 0.00059556548888371904_r8, 0.00062557427625328679_r8, & + 0.00064727723039484462_r8, 0.00066520781821042272_r8, & + 0.00068020703971178079_r8, 0.00070648039538832711_r8, & + 0.00072014916103380338_r8, 0.00072416777117630452_r8, & + 0.00071551450892957523_r8, 0.00071223096217844933_r8, & + 0.0007042861182766395_r8, 0.00070584258452448354_r8, & + 0.00070181054456687193_r8, 0.00069560111156647254_r8, & + 0.0006936843434390261_r8, 0.00068109367928648472_r8, & + 0.00067578737104591498_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,56) / & + 4.6235371285578691e-05_r8, 4.5393766826215648e-05_r8, & + 4.2776997880824492e-05_r8, 5.4298285365899707e-05_r8, & + 5.651051335135406e-05_r8, 5.890066199329883e-05_r8, & + 6.5497966159053857e-05_r8, 7.4932712651306423e-05_r8, & + 8.7997472322869473e-05_r8, 0.00011433020334710543_r8, & + 0.00013559177263509637_r8, 0.00015763175982455959_r8, & + 0.00019693781166332054_r8, 0.00024035765077634047_r8, & + 0.00028501584799788617_r8, 0.00032885685353631529_r8, & + 0.00040031356353734387_r8, 0.00045932155673951604_r8, & + 0.00050457558342126968_r8, 0.00054535285694945587_r8, & + 0.00057888372602864344_r8, 0.00060846965982127655_r8, & + 0.00063122117509742902_r8, 0.00065856048047761807_r8, & + 0.00067819129081558404_r8, 0.00069493916328122924_r8, & + 0.00070868902544557162_r8, 0.00073087001924165308_r8, & + 0.00074209006015296306_r8, 0.00074340626724122639_r8, & + 0.00073731288105013417_r8, 0.00073449303807222573_r8, & + 0.00073268034409708599_r8, 0.00073284333258693407_r8, & + 0.0007284940938365968_r8, 0.00072224061636532724_r8, & + 0.0007222941356022928_r8, 0.0007244854663996346_r8, & + 0.00071704569811473023_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,35,56) / & + 7.3283868092239947e-05_r8, 7.3424314885312886e-05_r8, & + 7.1436079631662997e-05_r8, 6.9267477863808812e-05_r8, & + 7.7136339494630611e-05_r8, 8.626988727143308e-05_r8, & + 0.00010281729261249848_r8, 0.00011157925061685477_r8, & + 0.00013820465073937624_r8, 0.00017584327400200388_r8, & + 0.00020601999952885185_r8, 0.00023953515014806412_r8, & + 0.00027657926976309754_r8, 0.0003154084262823892_r8, & + 0.00035103276943509174_r8, 0.00038546532770664999_r8, & + 0.00044404304673845727_r8, 0.00049250514990461104_r8, & + 0.0005329673692900615_r8, 0.00056841759419128395_r8, & + 0.00059802194337580273_r8, 0.00062395124359206555_r8, & + 0.00064434378363851239_r8, 0.00066409702617740724_r8, & + 0.00068622359191544994_r8, 0.00070434857916713996_r8, & + 0.00071687175516302239_r8, 0.00073522354545215004_r8, & + 0.00074600361659211446_r8, 0.00074930515803121238_r8, & + 0.00074833643992682983_r8, 0.0007451775976580967_r8, & + 0.00074543248847867198_r8, 0.00074551227173084739_r8, & + 0.00074545878023505663_r8, 0.00073622236557249624_r8, & + 0.00073765951609568896_r8, 0.00074168743400565128_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,56) / & + 9.6928145391794095e-05_r8, 0.00010021824262078317_r8, & + 0.00010164887444294084_r8, 0.00010406325086769558_r8, & + 0.0001180125112688689_r8, 0.00012816988130454621_r8, & + 0.00013760688681394356_r8, 0.00014512467865840053_r8, & + 0.00018032154497972275_r8, 0.0002212554280228069_r8, & + 0.00024820995073645901_r8, 0.00028429314950884988_r8, & + 0.00031255348511861393_r8, 0.00034789929655371294_r8, & + 0.00038078314503267119_r8, 0.00040915967367335005_r8, & + 0.00046134181790306655_r8, 0.00050770218688049921_r8, & + 0.0005463032359244121_r8, 0.0005796553611730435_r8, & + 0.00060764752280799362_r8, 0.00063090921240125416_r8, & + 0.00065087239905359967_r8, 0.00066940801695999301_r8, & + 0.00069389871262235682_r8, 0.00071246382622886222_r8, & + 0.00072466637848500311_r8, 0.00074483418165072711_r8, & + 0.00075507180065150219_r8, 0.00075873289922955749_r8, & + 0.00075950957660630167_r8, 0.00075718609317310787_r8, & + 0.00075495098248433087_r8, 0.00075562009873892766_r8, & + 0.00075447114877424471_r8, 0.0007447510996907616_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,56) / & + 0.00011332083996754972_r8, 0.00011789512104875149_r8, & + 0.00012151445274788481_r8, 0.00013194091381650336_r8, & + 0.00014441023891996799_r8, 0.00015150474198183129_r8, & + 0.0001613541719130759_r8, 0.00016610201592976044_r8, & + 0.00018319340088934234_r8, 0.00021600150371342577_r8, & + 0.00024341140438102236_r8, 0.0002776242454933273_r8, & + 0.00031427051265312537_r8, 0.00035063679774561044_r8, & + 0.00038739484804636029_r8, 0.00041758133084975209_r8, & + 0.00047024272024671546_r8, 0.00052186777306949424_r8, & + 0.00056115782577586789_r8, 0.00059434781062385218_r8, & + 0.0006224503337848037_r8, 0.00064684916894342057_r8, & + 0.00066798282910034612_r8, 0.00068677473488600396_r8, & + 0.00071092177789430343_r8, 0.00072966101771921883_r8, & + 0.00074149810661785912_r8, 0.00076400121399532867_r8, & + 0.00077407436159557849_r8, 0.00077648079098808934_r8, & + 0.00077709002351412763_r8, 0.0007746225510759996_r8, & + 0.00077035057297391511_r8, 0.00076643898734011552_r8, & + 0.00075926761437436149_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,56) / & + 0.00012245263662102217_r8, 0.00013537195697567385_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,56) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,56) / & + 0.0001002836803054623_r8, 8.0408564165005531e-05_r8, & + 8.7802629896256937e-05_r8, 9.5351784704192862e-05_r8, & + 0.0001031545870831523_r8, 0.00010873566179032531_r8, & + 0.00015023316344958551_r8, 0.00014194575938171908_r8, & + 0.00022872536039098064_r8, 0.00017743416281525574_r8, & + 0.00017278508998444308_r8, 0.00012453577187491864_r8, & + 0.00011225553861380489_r8, 0.000113650499958501_r8, & + 0.00011556784072856347_r8, 0.00010701826837436196_r8, & + 9.1246593202367693e-05_r8, 8.5309953312996244e-05_r8, & + 8.3976527160366924e-05_r8, 8.3235506910301019e-05_r8, & + 8.4008395383181137e-05_r8, 8.3187824909943835e-05_r8, & + 8.9152871904700298e-05_r8, 8.9363465181525995e-05_r8, & + 9.4305699258061609e-05_r8, 9.6546703609930865e-05_r8, & + 0.00010232571009949577_r8, 0.00011058007269640105_r8, & + 0.00010666345404568442_r8, 0.00010803774615204123_r8, & + 0.00010914555191002773_r8, 0.00010745732495093623_r8, & + 0.00011342888151439662_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,56) / & + 9.3863117059872814e-05_r8, 7.6374831730928987e-05_r8, & + 9.0848344498283424e-05_r8, 9.8788217661699621e-05_r8, & + 9.9141184972183869e-05_r8, 9.5904448856463915e-05_r8, & + 0.00012153187353553546_r8, 0.00011984959708804215_r8, & + 0.00020406552203313763_r8, 0.00018333656241330894_r8, & + 0.00017273704136513136_r8, 0.00013206156697337197_r8, & + 0.0001166091122053458_r8, 0.00010870926828844753_r8, & + 0.00012271148554953139_r8, 0.00011019457222566661_r8, & + 9.6339144347138369e-05_r8, 8.8520023698559512e-05_r8, & + 8.6250265128011514e-05_r8, 8.5015366755956536e-05_r8, & + 8.5435962020722427e-05_r8, 8.4835874334842411e-05_r8, & + 8.8774854261467961e-05_r8, 9.0276675966200536e-05_r8, & + 9.6762752573573995e-05_r8, 9.9492988374229888e-05_r8, & + 0.00010290499786991557_r8, 0.00011209160375949353_r8, & + 0.00011619359193965952_r8, 0.00011692823818088416_r8, & + 0.00011753230406602469_r8, 0.00011585330592562221_r8, & + 0.00011769433299386346_r8, 0.00013489580073677959_r8, & + 0.00012987382984062395_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,56) / & + 9.6245876553784199e-05_r8, 8.2819182139612387e-05_r8, & + 9.8426847659780823e-05_r8, 0.00011164076329656946_r8, & + 0.00011093533887747704_r8, 0.00010931708714832431_r8, & + 0.00011071324981594196_r8, 0.00011135699139590733_r8, & + 0.00020939735709016441_r8, 0.00021342869628591886_r8, & + 0.00018627565044677008_r8, 0.00013152538676272762_r8, & + 0.00010606766383986222_r8, 8.7552961806587504e-05_r8, & + 0.00010646971612171886_r8, 0.00010070604500603466_r8, & + 9.1288967649312238e-05_r8, 8.3176155738411267e-05_r8, & + 8.1881184527322876e-05_r8, 8.1369734111797637e-05_r8, & + 8.1360404045428483e-05_r8, 8.1404698381154619e-05_r8, & + 8.1879995247419681e-05_r8, 8.390971592401541e-05_r8, & + 9.0048587956957185e-05_r8, 9.4861577905559329e-05_r8, & + 9.7793179851703345e-05_r8, 0.00010727259322668022_r8, & + 0.00011598323144998163_r8, 0.00012032546002639259_r8, & + 0.0001213144092329531_r8, 0.00012032247465345618_r8, & + 0.0001210916415922341_r8, 0.00013204514462195155_r8, & + 0.00012486557295673489_r8, 0.00012527324441024795_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,56) / & + 9.3360184278844002e-05_r8, 8.8182488052038687e-05_r8, & + 9.3342019703396956e-05_r8, 0.00012368624723313714_r8, & + 0.00012959392720395311_r8, 0.00012690645950651135_r8, & + 0.00014533109789995985_r8, 0.00016477862094413091_r8, & + 0.00019905773846285861_r8, 0.00021660737128148668_r8, & + 0.00016985468977527272_r8, 0.00011521814909894035_r8, & + 7.9828735978708243e-05_r8, 7.5111021925333314e-05_r8, & + 8.5299365135799822e-05_r8, 8.8048155450869023e-05_r8, & + 8.118952147736453e-05_r8, 7.659254753474858e-05_r8, & + 7.5886050123103637e-05_r8, 7.7279937283091408e-05_r8, & + 7.7461561803617186e-05_r8, 7.8490869139559723e-05_r8, & + 7.9305817147258374e-05_r8, 8.1247377908093304e-05_r8, & + 8.8562015129393259e-05_r8, 9.278038712797947e-05_r8, & + 9.5031951537900277e-05_r8, 0.00010269785988956149_r8, & + 0.00011149703778579043_r8, 0.00011981742415917121_r8, & + 0.00011862733387004514_r8, 0.00011608099467636006_r8, & + 0.00011627447428014846_r8, 0.00012133375571991643_r8, & + 0.00011886017200862792_r8, 0.00012035861412877452_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,56) / & + 8.5069166999576055e-05_r8, 9.6829295634810175e-05_r8, & + 8.8542395524581085e-05_r8, 0.00012508381055096671_r8, & + 0.00013244925849038012_r8, 0.00012471387248110498_r8, & + 0.00015112845743852236_r8, 0.0001616319565312254_r8, & + 0.00016455635487026872_r8, 0.0001374348016767922_r8, & + 0.00010585954850534599_r8, 8.8825559720589055e-05_r8, & + 7.4186018514953484e-05_r8, 7.5817715000175585e-05_r8, & + 8.1057219225717217e-05_r8, 8.1135824071902258e-05_r8, & + 7.6007035577790381e-05_r8, 7.4914964670136843e-05_r8, & + 7.5307647403747029e-05_r8, 7.7839537127368026e-05_r8, & + 7.9500660724096672e-05_r8, 8.1466829250364077e-05_r8, & + 8.3716467722642825e-05_r8, 8.6833578868591489e-05_r8, & + 9.4978203834190952e-05_r8, 9.8183832191253915e-05_r8, & + 0.00010149317698820726_r8, 0.00010774565379310504_r8, & + 0.00011871445450598253_r8, 0.00012346171453404909_r8, & + 0.00011860914518537204_r8, 0.00011640194304106245_r8, & + 0.00011579339209271133_r8, 0.0001157560019263035_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,56) / & + 7.9890741492342755e-05_r8, 0.00010725233444432791_r8, & + 9.676388552691305e-05_r8, 0.00011359713443696842_r8, & + 0.00011258908411398509_r8, 0.00012112215932747147_r8, & + 0.00014837708302749264_r8, 0.0001176648879314945_r8, & + 9.2849446877899748e-05_r8, 7.9378872981862618e-05_r8, & + 7.3721615798996601e-05_r8, 7.1606921049845081e-05_r8, & + 6.9601214677730779e-05_r8, 7.1989543213831655e-05_r8, & + 7.2741005552413821e-05_r8, 7.3968600194648925e-05_r8, & + 7.3393685266919998e-05_r8, 7.3728498598357056e-05_r8, & + 7.5730855544363688e-05_r8, 7.9010774094877341e-05_r8, & + 8.1841431017546637e-05_r8, 8.5196987426212006e-05_r8, & + 8.9019122462695742e-05_r8, 9.3296743610807705e-05_r8, & + 9.9174180475845419e-05_r8, 0.00010337243011791272_r8, & + 0.0001091212136134301_r8, 0.0001185565461382349_r8, & + 0.00012246773193165663_r8, 0.00012151712671293898_r8, & + 0.000119698682973993_r8, 0.00011966890541140926_r8, & + 0.0001197759281147497_r8, 0.00011968338677031894_r8, & + 0.00012054771058961873_r8, 0.00012118129155264018_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,57) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,57) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,57) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,57) / & + 0.00010429321724223704_r8, 0.00011414394426295581_r8, & + 0.00012209142267112855_r8, 0.00013146981525092105_r8, & + 0.00013361824366262486_r8, 0.00013977630411537875_r8, & + 0.00014903076614411457_r8, 0.000157685801873906_r8, & + 0.00016126890373726951_r8, 0.0001666772856424263_r8, & + 0.0001668819445809144_r8, 0.00017176585894332493_r8, & + 0.00017506486216340401_r8, 0.0001813814026408347_r8, & + 0.00018763472990278204_r8, 0.0001925610261246429_r8, & + 0.0001991046900968449_r8, 0.00020858808336107941_r8, & + 0.00021689757430887505_r8, 0.00022423645991437641_r8, & + 0.0002297144021400832_r8, 0.00023576020449904081_r8, & + 0.00024005775328152432_r8, 0.00024357652403161716_r8, & + 0.00024729496291824802_r8, 0.00025079171160372575_r8, & + 0.00025382786304719061_r8, 0.00026300359675714477_r8, & + 0.00027233077072858164_r8, 0.00027501293604194571_r8, & + 0.00027768774759725498_r8, 0.000282637991435201_r8, & + 0.00028464142112627852_r8, 0.00028655236219175768_r8, & + 0.00028852085952499844_r8, 0.00028807753644494616_r8, & + 0.00028414077912681949_r8, 0.00028322686221346076_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,57) / & + 9.4686577348539929e-05_r8, 0.00010003457351426302_r8, & + 9.9426675891013262e-05_r8, 0.00010888147678281988_r8, & + 0.00010809633990402976_r8, 0.00011756882890234342_r8, & + 0.0001186667994918084_r8, 0.00013294713084487989_r8, & + 0.0001420041533362369_r8, 0.00014955923377831651_r8, & + 0.00015510457059404395_r8, 0.00016462847042968831_r8, & + 0.00017405803331741628_r8, 0.00018018347509299499_r8, & + 0.00018536860515987478_r8, 0.00018930734598277267_r8, & + 0.00019640441384011719_r8, 0.00020249444927984231_r8, & + 0.00020924641485033489_r8, 0.00021601081692341285_r8, & + 0.00022244828220139285_r8, 0.00022904493395678184_r8, & + 0.00023408503704960349_r8, 0.00023850159188220532_r8, & + 0.00024280653040352517_r8, 0.00024677610250267273_r8, & + 0.00025033901827593776_r8, 0.00025953171169651289_r8, & + 0.00026857698874636573_r8, 0.00027365338721938937_r8, & + 0.0002772219894996965_r8, 0.00028197918654139303_r8, & + 0.00028498991997648999_r8, 0.00028721566078006115_r8, & + 0.00028937700214562147_r8, 0.0002900042586937297_r8, & + 0.00028720252119624433_r8, 0.00028350286572919047_r8, & + 0.00028732343909855664_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,57) / & + 7.8916670296149533e-05_r8, 8.0560158048756931e-05_r8, & + 7.5149892540771822e-05_r8, 7.0373628331296442e-05_r8, & + 7.3056111036321291e-05_r8, 8.0533473738235824e-05_r8, & + 6.9779988823813341e-05_r8, 9.5762866844851537e-05_r8, & + 0.00010511522239770927_r8, 0.00011370868420278741_r8, & + 0.00012526017199050528_r8, 0.00014526821909137828_r8, & + 0.00016738690196227483_r8, 0.00017470084315781767_r8, & + 0.00017911248434713999_r8, 0.00018277366680949462_r8, & + 0.00018835256693032024_r8, 0.00019314176909466062_r8, & + 0.00019799523597411131_r8, 0.00020324523369028821_r8, & + 0.00020876458056188617_r8, 0.00021690472034680016_r8, & + 0.00022318227611254103_r8, 0.00022928716864335132_r8, & + 0.00023486601895240437_r8, 0.00023981569852146576_r8, & + 0.0002443550395981496_r8, 0.0002551718935363101_r8, & + 0.00026449646618685618_r8, 0.00027205848828739179_r8, & + 0.00027726968645239142_r8, 0.00028151984859361241_r8, & + 0.00028511631855470966_r8, 0.00028830725115467823_r8, & + 0.00029030860141701751_r8, 0.00029027905249278367_r8, & + 0.00028777991454130423_r8, 0.00028454432762188271_r8, & + 0.00028479588250847511_r8, 0.00028385374443434889_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,57) / & + 7.244833840282068e-05_r8, 7.3051178465428066e-05_r8, & + 7.1084097045451115e-05_r8, 4.0902422543221511e-05_r8, & + 4.4355795029042665e-05_r8, 4.9325011315363732e-05_r8, & + 4.1124136444501254e-05_r8, 5.7032025774631085e-05_r8, & + 6.8577189205661098e-05_r8, 7.778974593206145e-05_r8, & + 8.6848414431347698e-05_r8, 0.00012172477263778488_r8, & + 0.00015864277902535265_r8, 0.00016538950887338519_r8, & + 0.00016975709958739582_r8, 0.00017451309324802405_r8, & + 0.00018061355084606309_r8, 0.00018633485497977198_r8, & + 0.00019089844486532305_r8, 0.00019538169713351254_r8, & + 0.0001997023741544468_r8, 0.00020748213321361702_r8, & + 0.00021310799014887056_r8, 0.00021942852007936491_r8, & + 0.00022558658534443054_r8, 0.00023147419973840224_r8, & + 0.00023698790130251423_r8, 0.00024971345996303363_r8, & + 0.00026014417140496538_r8, 0.00026936715938029727_r8, & + 0.00027573734499163836_r8, 0.00028062526597020832_r8, & + 0.00028363427913779638_r8, 0.00028610047242881445_r8, & + 0.00028720814915314557_r8, 0.00028719982075235451_r8, & + 0.00028665165662587262_r8, 0.000286210601094206_r8, & + 0.00028637958992444839_r8, 0.00028459351135805635_r8, & + 0.00028919027627902102_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,57) / & + 5.170006198715259e-05_r8, 5.2185456560105913e-05_r8, & + 5.1910711763859659e-05_r8, 2.0596118955325612e-05_r8, & + 2.1721852276885124e-05_r8, 2.433871243544878e-05_r8, & + 2.16915568509135e-05_r8, 2.7921998181004953e-05_r8, & + 3.440487463783139e-05_r8, 4.0559185305928035e-05_r8, & + 4.6798420970151392e-05_r8, 7.7182578697993585e-05_r8, & + 0.00011268776716247847_r8, 0.00012165144746367049_r8, & + 0.00012952207749898618_r8, 0.00014015910674246889_r8, & + 0.00015206591613118532_r8, 0.00016137290176987591_r8, & + 0.0001700056696967452_r8, 0.00017567395246399198_r8, & + 0.00018060282888958813_r8, 0.0001857827644430163_r8, & + 0.00018989090448799789_r8, 0.0001942423573540215_r8, & + 0.00019921989473769148_r8, 0.00020426433136386661_r8, & + 0.00020956612667747318_r8, 0.0002225046677032011_r8, & + 0.00023541934422656802_r8, 0.00024814522559349811_r8, & + 0.0002580628943029798_r8, 0.00026670271338442619_r8, & + 0.00027395281392279493_r8, 0.0002783834682555095_r8, & + 0.00028152944071343193_r8, 0.00028389030094668079_r8, & + 0.00028547288708719476_r8, 0.00028779478896017618_r8, & + 0.00028920955481705218_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,57) / & + 2.278641911631277e-05_r8, 2.3072353431600117e-05_r8, & + 2.3028634967898729e-05_r8, 9.8213518344113108e-06_r8, & + 1.004044087475656e-05_r8, 1.1326450324714584e-05_r8, & + 1.3292083649720669e-05_r8, 1.6409577923684306e-05_r8, & + 2.0129740584346923e-05_r8, 2.2731469900017805e-05_r8, & + 2.405642977008418e-05_r8, 3.250411815749907e-05_r8, & + 4.3726870889276006e-05_r8, 5.0824822549259784e-05_r8, & + 5.7681243976612099e-05_r8, 6.5256885167437801e-05_r8, & + 7.7606295760458728e-05_r8, 8.8694527606290459e-05_r8, & + 0.00010264337068974157_r8, 0.00011412634313609197_r8, & + 0.00012515535743010461_r8, 0.00013412545555515807_r8, & + 0.00014388281550905703_r8, 0.00015283050627376647_r8, & + 0.0001617587969999117_r8, 0.00016944227266984594_r8, & + 0.00017633817954280839_r8, 0.00019132958437040031_r8, & + 0.00020350405544996016_r8, 0.00021462964938690686_r8, & + 0.00022528475539525602_r8, 0.00023431797732002349_r8, & + 0.00023805518948191969_r8, 0.00024305961687548012_r8, & + 0.0002489876291124216_r8, 0.00025402235545755365_r8, & + 0.00025602777086777058_r8, 0.00025795689627715611_r8, & + 0.00025863630073867677_r8, 0.00026859283525367206_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,57) / & + 9.2512464768194858e-06_r8, 9.2869574134824282e-06_r8, & + 9.2884103017303845e-06_r8, 6.872181925690378e-06_r8, & + 6.994461732200819e-06_r8, 7.6770906118658952e-06_r8, & + 8.5201737359458363e-06_r8, 9.4588992601245846e-06_r8, & + 1.0378026965042935e-05_r8, 1.1454186124891599e-05_r8, & + 1.2186235568334302e-05_r8, 1.3685201484065131e-05_r8, & + 1.5360179096758432e-05_r8, 1.7011813654152342e-05_r8, & + 1.855415751417469e-05_r8, 2.0038750657986878e-05_r8, & + 2.3907206116157491e-05_r8, 2.8625055584180956e-05_r8, & + 3.547994014278524e-05_r8, 4.5275471439291505e-05_r8, & + 5.7924736821310267e-05_r8, 7.1615225460385412e-05_r8, & + 8.6596049204624867e-05_r8, 0.00010193020295628871_r8, & + 0.00011769891561825031_r8, 0.00013225497727462334_r8, & + 0.00014565266476196094_r8, 0.00017469240371125299_r8, & + 0.00019568950996596077_r8, 0.00020836851243309344_r8, & + 0.00021735685003062389_r8, 0.00022537986283752398_r8, & + 0.00023440511988942662_r8, 0.00024167349409807135_r8, & + 0.00024829668476620772_r8, 0.00025351332178004578_r8, & + 0.00025636224182221953_r8, 0.00025855983472748391_r8, & + 0.00026003122101666512_r8, 0.00026142525386617973_r8, & + 0.00026276190933460005_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,57) / & + 7.2568679057109527e-06_r8, 7.1261599629732644e-06_r8, & + 6.9826747512338866e-06_r8, 5.8277865147909072e-06_r8, & + 5.8335920711265426e-06_r8, 5.9471897182462161e-06_r8, & + 6.1647793073123182e-06_r8, 6.094223168459419e-06_r8, & + 6.7158125026865634e-06_r8, 7.1862525298133729e-06_r8, & + 7.9618238397431311e-06_r8, 9.7047494393534227e-06_r8, & + 1.2300548880127305e-05_r8, 1.3705827768324217e-05_r8, & + 1.5049549102455241e-05_r8, 1.615271373410204e-05_r8, & + 1.8595344825082361e-05_r8, 2.1883806777064911e-05_r8, & + 2.7595499820615735e-05_r8, 3.6926619461471544e-05_r8, & + 4.994929231480602e-05_r8, 6.548165805969943e-05_r8, & + 8.1762990548761946e-05_r8, 9.8455530946227351e-05_r8, & + 0.0001154237794808767_r8, 0.00013127316324003016_r8, & + 0.00014641553811500001_r8, 0.00017936021680673472_r8, & + 0.00020888995613979817_r8, 0.00023193806463694697_r8, & + 0.00024721092305974093_r8, 0.00025459744974204148_r8, & + 0.00025675335418555998_r8, 0.00025688785396663235_r8, & + 0.00025584136872658229_r8, 0.0002566668193538008_r8, & + 0.00025786089736011325_r8, 0.00025993338652497978_r8, & + 0.00026135220379738615_r8, 0.0002620415869556248_r8, & + 0.00026250936545382623_r8, 0.00026325729509085911_r8, & + 0.00026363020141594896_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,57) / & + 6.202999447621634e-06_r8, 5.84855879800793e-06_r8, & + 5.7135824354600868e-06_r8, 4.9279090625376287e-06_r8, & + 5.1137529566039634e-06_r8, 5.299532255182099e-06_r8, & + 5.4016895296636019e-06_r8, 4.6749907949071862e-06_r8, & + 5.0573154260212975e-06_r8, 5.8128971561682124e-06_r8, & + 6.448542694574519e-06_r8, 8.1124886499282156e-06_r8, & + 1.0714745190787255e-05_r8, 1.2193148188674932e-05_r8, & + 1.347281955607778e-05_r8, 1.4596102713801408e-05_r8, & + 1.6929998541850124e-05_r8, 2.037533953844714e-05_r8, & + 2.6448467147369132e-05_r8, 3.5871200226386784e-05_r8, & + 5.0006337313327601e-05_r8, 6.6550104415382514e-05_r8, & + 8.4403835967968106e-05_r8, 0.00010238095756693339_r8, & + 0.00012023895284340625_r8, 0.00013659391013465594_r8, & + 0.0001522869844444724_r8, 0.0001888021131144709_r8, & + 0.00022193867275018353_r8, 0.00024635405942088987_r8, & + 0.00026111220860228223_r8, 0.00026676826212291421_r8, & + 0.00026689809311303248_r8, 0.00026430197081431288_r8, & + 0.00026176869885549963_r8, 0.0002605784237364605_r8, & + 0.00026068448938438909_r8, 0.00026168214666275421_r8, & + 0.00026235582480248177_r8, 0.00026236930939266793_r8, & + 0.00026230113051883553_r8, 0.00026343672618801774_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,57) / & + 4.3062008890703932e-06_r8, 3.9835715466801363e-06_r8, & + 3.9228499480434675e-06_r8, 3.1951465520000445e-06_r8, & + 3.2502223216347159e-06_r8, 3.5143063308378751e-06_r8, & + 3.996854495239272e-06_r8, 3.8450729270861691e-06_r8, & + 3.6564544267423385e-06_r8, 3.7168437594957461e-06_r8, & + 4.1983360770449906e-06_r8, 5.3782617426668319e-06_r8, & + 7.6178087953396407e-06_r8, 9.4946676282484015e-06_r8, & + 1.1084099770078103e-05_r8, 1.2696844111564687e-05_r8, & + 1.5459140265711147e-05_r8, 1.8764922019014633e-05_r8, & + 2.4027416364999518e-05_r8, 3.2787727726415962e-05_r8, & + 4.6608482414543254e-05_r8, 6.4024658755777638e-05_r8, & + 8.3716388477731099e-05_r8, 0.00010406249424032603_r8, & + 0.00012416544577120616_r8, 0.000142509435364251_r8, & + 0.00015934395634247176_r8, 0.00020131641695043633_r8, & + 0.00023393335500807621_r8, 0.0002545083798461622_r8, & + 0.00026587858264745491_r8, 0.00027099054631085265_r8, & + 0.00027084758516484475_r8, 0.0002682771633590859_r8, & + 0.0002650572355813877_r8, 0.00026280548627374476_r8, & + 0.00026246315362669735_r8, 0.00026237530835282816_r8, & + 0.00026225352634265614_r8, 0.00026194871749703387_r8, & + 0.00026180383936274051_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,57) / & + 3.2872547317955436e-06_r8, 3.2745886432510825e-06_r8, & + 3.1652366695160884e-06_r8, 3.0973085071235046e-06_r8, & + 3.0909402141358657e-06_r8, 4.3779980524065567e-06_r8, & + 4.4643585398554571e-06_r8, 4.2092844751574382e-06_r8, & + 3.7047266932909622e-06_r8, 3.3667478072929703e-06_r8, & + 3.2818673915564903e-06_r8, 3.6079823617748211e-06_r8, & + 5.0073596367523739e-06_r8, 6.9165940188475997e-06_r8, & + 9.037763786741722e-06_r8, 1.108858102440263e-05_r8, & + 1.4291930879530962e-05_r8, 1.7593519201410231e-05_r8, & + 2.2715592763750972e-05_r8, 3.1101215626674677e-05_r8, & + 4.4744945782517276e-05_r8, 6.3236563450230174e-05_r8, & + 8.5402033571828497e-05_r8, 0.00010832206543522715_r8, & + 0.0001306996494758739_r8, 0.00015135241239822063_r8, & + 0.00017023196197303743_r8, 0.00021337787634765273_r8, & + 0.00024253758783516523_r8, 0.00025987410825052589_r8, & + 0.00026946292939135006_r8, 0.00027413848860056186_r8, & + 0.00027500862727683066_r8, 0.00027401304854727306_r8, & + 0.00027167551466417253_r8, 0.00026844591313118321_r8, & + 0.00026563256874096656_r8, 0.00026366931248378935_r8, & + 0.00026225196067495215_r8, 0.0002613532159115937_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,57) / & + 3.4722194830956656e-06_r8, 3.6447790292104211e-06_r8, & + 3.4383331130803698e-06_r8, 3.6291365850163369e-06_r8, & + 3.6563984123791421e-06_r8, 4.4716368191144489e-06_r8, & + 4.3014488418186502e-06_r8, 4.2324776813970505e-06_r8, & + 4.1709812782245548e-06_r8, 3.8309427361757755e-06_r8, & + 3.599287172688039e-06_r8, 3.5485083872035251e-06_r8, & + 4.4467935079577154e-06_r8, 6.2375455223309135e-06_r8, & + 8.5147793061834803e-06_r8, 1.1140567048549011e-05_r8, & + 1.5223592889174601e-05_r8, 1.9435298965698961e-05_r8, & + 2.5346924830507296e-05_r8, 3.5539292627299419e-05_r8, & + 5.2362030418470082e-05_r8, 7.3852637576538518e-05_r8, & + 9.8157210046699681e-05_r8, 0.00012229881438448461_r8, & + 0.00014518320008733216_r8, 0.00016524789448802582_r8, & + 0.00018382748367695131_r8, 0.000222638380555687_r8, & + 0.00024889953049154123_r8, 0.00026358115629708078_r8, & + 0.00027135509354134441_r8, 0.00027457651888512682_r8, & + 0.00027513632970710259_r8, 0.00027438290676299525_r8, & + 0.00027260544301333314_r8, 0.00027040388756754095_r8, & + 0.0002678284726645296_r8, 0.00026450108901428612_r8, & + 0.00026231831582009386_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,57) / & + 3.8450530638544355e-06_r8, 4.0084388027423231e-06_r8, & + 3.7564059495353782e-06_r8, 3.3056579552095238e-06_r8, & + 3.3237890519000238e-06_r8, 3.4877008991164887e-06_r8, & + 3.2340755292315129e-06_r8, 3.0895980939880735e-06_r8, & + 3.3705283148037658e-06_r8, 3.5586654220788978e-06_r8, & + 3.7755192218327688e-06_r8, 3.5749899815583985e-06_r8, & + 4.2929980162720761e-06_r8, 6.1012590830568192e-06_r8, & + 8.598283045043837e-06_r8, 1.2167591433423937e-05_r8, & + 1.9373946443621861e-05_r8, 2.5559492352667571e-05_r8, & + 3.3513845874693209e-05_r8, 4.8879260388340851e-05_r8, & + 7.159087270496977e-05_r8, 9.8820830947699109e-05_r8, & + 0.00012550042762805784_r8, 0.00015019505493462672_r8, & + 0.00017254312429298982_r8, 0.00019090927590822231_r8, & + 0.00020806595575136166_r8, 0.00024183610034764832_r8, & + 0.00026456592230471901_r8, 0.00027715403758303038_r8, & + 0.00028383000236499009_r8, 0.00028712944269932713_r8, & + 0.00028808289717638358_r8, 0.00028785769875909218_r8, & + 0.00028698011036318403_r8, 0.00028568962775829147_r8, & + 0.00028304943596509845_r8, 0.00027725346955239077_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,57) / & + 3.6263103749191176e-06_r8, 3.7224026662879834e-06_r8, & + 3.5146795181932654e-06_r8, 3.8737925344664393e-06_r8, & + 3.8589452116644798e-06_r8, 3.8313853384839373e-06_r8, & + 3.6476384273881543e-06_r8, 3.090571574671175e-06_r8, & + 2.962345080886999e-06_r8, 2.9372118546666039e-06_r8, & + 3.1012616298794818e-06_r8, 3.2880849436257232e-06_r8, & + 3.7001525839045031e-06_r8, 5.4409521994832171e-06_r8, & + 8.9509574788376915e-06_r8, 1.4012237709316526e-05_r8, & + 2.7037960965235699e-05_r8, 3.7498832438052204e-05_r8, & + 5.4155198897492855e-05_r8, 7.763297263353642e-05_r8, & + 0.0001059026483349255_r8, 0.00013435726472876979_r8, & + 0.00015810265897297482_r8, 0.00017860516534818092_r8, & + 0.00019653184581371755_r8, 0.00021240789448931748_r8, & + 0.00022734190689109991_r8, 0.00025709020193720466_r8, & + 0.00027646216603077273_r8, 0.00028844242182958507_r8, & + 0.00029564312714724055_r8, 0.00029996610706329576_r8, & + 0.00030224737894204171_r8, 0.00030415047004201941_r8, & + 0.00030545232188232559_r8, 0.00030568096808049339_r8, & + 0.00030338644449746704_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,57) / & + 3.6664769826163707e-06_r8, 3.676410985726825e-06_r8, & + 3.3940865390947578e-06_r8, 4.9815541030684012e-06_r8, & + 4.967868904453533e-06_r8, 4.7456276432217858e-06_r8, & + 4.7190078802355097e-06_r8, 3.6872552015310616e-06_r8, & + 3.4484355408639546e-06_r8, 3.418224523833775e-06_r8, & + 3.452349283098945e-06_r8, 3.5000667111372911e-06_r8, & + 3.593771786600303e-06_r8, 6.0420154452564586e-06_r8, & + 1.3137927353027056e-05_r8, 2.255451141418755e-05_r8, & + 4.2501211284447937e-05_r8, 6.0348365097049068e-05_r8, & + 8.8103169878721042e-05_r8, 0.00011612996121879782_r8, & + 0.00014248146018590682_r8, 0.0001660024934561498_r8, & + 0.00018593200124920152_r8, 0.00020290959396025214_r8, & + 0.00021768448793801914_r8, 0.00023127606654740085_r8, & + 0.0002443351719374456_r8, 0.00027036572794700211_r8, & + 0.00028807657746603149_r8, 0.00030095938832317738_r8, & + 0.00030971808794638114_r8, 0.00031618263547397339_r8, & + 0.00032040725073730758_r8, 0.00032414571161936827_r8, & + 0.00032596813881226403_r8, 0.00032501710653572109_r8, & + 0.00032436107087219831_r8, 0.0003272514942799345_r8, & + 0.00031220767983339298_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,57) / & + 4.2558158894500315e-06_r8, 4.2181839235777171e-06_r8, & + 3.8495219631631998e-06_r8, 5.1974508589956492e-06_r8, & + 5.2311606993452183e-06_r8, 5.0001460293539316e-06_r8, & + 5.0810795569798362e-06_r8, 4.3688138364142391e-06_r8, & + 4.0199903911425624e-06_r8, 4.129542697685786e-06_r8, & + 4.2370581992290243e-06_r8, 4.7363442957102195e-06_r8, & + 7.8126644152569931e-06_r8, 1.7169534577682222e-05_r8, & + 3.1232747820361267e-05_r8, 4.581500163971772e-05_r8, & + 6.8782682426614411e-05_r8, 9.0317594994687522e-05_r8, & + 0.0001153959169531306_r8, 0.00013874276428706465_r8, & + 0.00016230838000019335_r8, 0.00018453640672281025_r8, & + 0.00020415211237993715_r8, 0.00022132507638650303_r8, & + 0.00023774111004470843_r8, 0.00025351591965930883_r8, & + 0.00026641925373564398_r8, 0.0002915258719478015_r8, & + 0.00031029954943438042_r8, 0.00032413326377861629_r8, & + 0.00033395775725307531_r8, 0.00033939332730980351_r8, & + 0.0003421518432040185_r8, 0.00034464104980226981_r8, & + 0.00034522291672129367_r8, 0.0003442904692260613_r8, & + 0.00034529731787718551_r8, 0.00034276745205269883_r8, & + 0.00032537722559488821_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,57) / & + 5.2133650255696242e-06_r8, 5.2353836769715658e-06_r8, & + 4.970685189716623e-06_r8, 5.5912395209367915e-06_r8, & + 5.588922694993387e-06_r8, 5.496066996312085e-06_r8, & + 5.5770521011494311e-06_r8, 5.083132886542388e-06_r8, & + 5.1857088091234612e-06_r8, 5.8615498576074484e-06_r8, & + 7.8247669840425292e-06_r8, 1.1909127175410503e-05_r8, & + 2.6803619939641032e-05_r8, 4.5406317626479933e-05_r8, & + 6.0359983372340354e-05_r8, 7.1193231572625395e-05_r8, & + 8.907546603986929e-05_r8, 0.00010867838934549847_r8, & + 0.0001326214113572526_r8, 0.00015714401727190525_r8, & + 0.0001821010592412377_r8, 0.00020516700978807524_r8, & + 0.00022582270144955093_r8, 0.00024450959696269934_r8, & + 0.00026321438319189651_r8, 0.00027986721078087073_r8, & + 0.00029392331295372714_r8, 0.00032021653258147974_r8, & + 0.00033903700350342453_r8, 0.00035308630735174785_r8, & + 0.00036413097101764379_r8, 0.00036904173126338109_r8, & + 0.00036909147407021255_r8, 0.00036968889582272998_r8, & + 0.00036996760001520339_r8, 0.00037120426180189465_r8, & + 0.00037422384506652237_r8, 0.00037445115319664958_r8, & + 0.00037301956508337136_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,57) / & + 6.7114748500529506e-06_r8, 6.8577275411170958e-06_r8, & + 6.7996732798899229e-06_r8, 7.1957494849605327e-06_r8, & + 7.158451833152794e-06_r8, 7.1517946750181529e-06_r8, & + 7.2228632676822992e-06_r8, 7.4768439045697772e-06_r8, & + 9.3114695424466849e-06_r8, 1.4455891251010684e-05_r8, & + 2.4229904158977619e-05_r8, 3.6819757542430845e-05_r8, & + 5.7278187631118517e-05_r8, 7.0537672132539993e-05_r8, & + 8.1317379712525156e-05_r8, 9.0368074645206777e-05_r8, & + 0.00010562293504279766_r8, 0.00012490615196288795_r8, & + 0.00014906949005013881_r8, 0.0001749724480080345_r8, & + 0.00020107088290472258_r8, 0.00022552932635180347_r8, & + 0.00024927646931481183_r8, 0.00027080756925897451_r8, & + 0.0002903349131362539_r8, 0.00030709903164675105_r8, & + 0.00032207412968070475_r8, 0.00035183693218453259_r8, & + 0.00037212986974487249_r8, 0.00038467168585560956_r8, & + 0.00039447268926702121_r8, 0.00039967902777155779_r8, & + 0.00040003831780618368_r8, 0.00039941438995844288_r8, & + 0.00039914783817614235_r8, 0.00040005446612191006_r8, & + 0.00039488465511242494_r8, 0.00038810138217690071_r8, & + 0.00038694274845538912_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,57) / & + 8.2482230865090839e-06_r8, 8.4566182525437598e-06_r8, & + 8.5513679479549245e-06_r8, 9.9455409461521898e-06_r8, & + 1.004417144175334e-05_r8, 1.0296475981894464e-05_r8, & + 1.1332520486401946e-05_r8, 1.4720409223381045e-05_r8, & + 2.0605667383439491e-05_r8, 3.1581425874641753e-05_r8, & + 4.4077309326828276e-05_r8, 5.6067453075050829e-05_r8, & + 6.9612884920980091e-05_r8, 7.8657315353327303e-05_r8, & + 8.8456766144721539e-05_r8, 0.00010176126534734493_r8, & + 0.00012164827903460578_r8, 0.00014379298040042746_r8, & + 0.00016947157804557056_r8, 0.00019611591241839606_r8, & + 0.00022197754693443214_r8, 0.00024706326219564579_r8, & + 0.00027297146335172152_r8, 0.00029731883446879471_r8, & + 0.00031811674275472292_r8, 0.00033558519314312108_r8, & + 0.00035153922100438504_r8, 0.00038377530617824871_r8, & + 0.00040638393973131313_r8, 0.00041764257569054056_r8, & + 0.0004230750098965395_r8, 0.00042561900798720071_r8, & + 0.00042532411674162899_r8, 0.00042505206054607394_r8, & + 0.00042539492898094214_r8, 0.00042257665150596449_r8, & + 0.00041567589553475633_r8, 0.00040887499138229309_r8, & + 0.00040220987525695735_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,57) / & + 8.9366622290462078e-06_r8, 9.1992499647384979e-06_r8, & + 9.2743124165391428e-06_r8, 1.1752131122832097e-05_r8, & + 1.200144836066992e-05_r8, 1.245940048767094e-05_r8, & + 1.4389467760724245e-05_r8, 1.8802852795405342e-05_r8, & + 2.6955602337317392e-05_r8, 4.4933989273937479e-05_r8, & + 6.0109841706740002e-05_r8, 6.9018894299118939e-05_r8, & + 7.7810942437412007e-05_r8, 8.5337316302029314e-05_r8, & + 9.3476018303483577e-05_r8, 0.00010657606672094602_r8, & + 0.00013272715127537503_r8, 0.00015892964231460093_r8, & + 0.00018618477176662366_r8, 0.00021343609855062622_r8, & + 0.00024057157751186323_r8, 0.00026734607226103511_r8, & + 0.00029530936225246669_r8, 0.00032150328533912765_r8, & + 0.00034248051910382941_r8, 0.00036197379696157906_r8, & + 0.00037833040253360971_r8, 0.00041013368875418853_r8, & + 0.00043260782864686488_r8, 0.00044786598704103764_r8, & + 0.00045490945436572905_r8, 0.00045656386929395615_r8, & + 0.00045543552194071137_r8, 0.00045382326362690412_r8, & + 0.00045172466608770016_r8, 0.00044459897442137284_r8, & + 0.00043870964225900695_r8, 0.00043459049712805188_r8, & + 0.0004245809021950238_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,57) / & + 8.5091389011363418e-06_r8, 9.0658700169325515e-06_r8, & + 9.1707288907115311e-06_r8, 1.0638184721012971e-05_r8, & + 1.1024677818974275e-05_r8, 1.2394366283263364e-05_r8, & + 1.9171683655603709e-05_r8, 2.7651741513904468e-05_r8, & + 4.1093463322882753e-05_r8, 6.2597237333535986e-05_r8, & + 7.8353003175096064e-05_r8, 8.7882659301761999e-05_r8, & + 9.6807906593241868e-05_r8, 0.00010294735764505816_r8, & + 0.00010933571144698455_r8, 0.00011903885366952521_r8, & + 0.00015024365733728437_r8, 0.00018227626221191241_r8, & + 0.00021265225973136339_r8, 0.00024094018633334278_r8, & + 0.00026681234111997272_r8, 0.00029257116171778872_r8, & + 0.00031803434317051064_r8, 0.0003424404290120692_r8, & + 0.0003625756353630841_r8, 0.00038231198658163467_r8, & + 0.00039837748709835866_r8, 0.00043062054152922217_r8, & + 0.00045642717475692917_r8, 0.00047307439042742355_r8, & + 0.00048236167005586653_r8, 0.00048531521119183697_r8, & + 0.00048600635881089645_r8, 0.0004828158957823155_r8, & + 0.00047621242675377978_r8, 0.00046495643443974843_r8, & + 0.00045644629878463045_r8, 0.0004509884693679869_r8, & + 0.00044684469628207801_r8, 0.00044443332200303745_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,57) / & + 7.8944681508172702e-06_r8, 8.6849361513580951e-06_r8, & + 9.3374572620642154e-06_r8, 1.1801678894955758e-05_r8, & + 1.1303785763838371e-05_r8, 1.546660793665518e-05_r8, & + 3.6434766374862846e-05_r8, 6.0516039912953484e-05_r8, & + 7.6925424139271068e-05_r8, 8.789117959251587e-05_r8, & + 9.5242011333884237e-05_r8, 0.00010210092768088296_r8, & + 0.00011096253315444958_r8, 0.00011891228860569613_r8, & + 0.00012729217210087846_r8, 0.00013786650089832523_r8, & + 0.00016857198877544003_r8, 0.00020485455047629215_r8, & + 0.00023819936010629415_r8, 0.00026539344680626256_r8, & + 0.00029151496989960159_r8, 0.00031640419772355205_r8, & + 0.00034110427938800763_r8, 0.00036306785725211046_r8, & + 0.000383296083173602_r8, 0.00040095822044116058_r8, & + 0.00041601545605447483_r8, 0.00045103022062409923_r8, & + 0.00047845042325870489_r8, 0.00049455521873358207_r8, & + 0.00050340091371308294_r8, 0.00050832588891180799_r8, & + 0.00051132717883764283_r8, 0.00051085063918465201_r8, & + 0.00050555084178698464_r8, 0.0004903272761521988_r8, & + 0.00047664804177456057_r8, 0.00046786696669080222_r8, & + 0.00046392686301838357_r8, 0.00046256906354354729_r8, & + 0.00046337628457148767_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,57) / & + 8.246357240390795e-06_r8, 8.4592087511217334e-06_r8, & + 8.5558320249578863e-06_r8, 1.147901789241106e-05_r8, & + 9.838641351035859e-06_r8, 1.0881834643072212e-05_r8, & + 1.8045030600048063e-05_r8, 3.2660078516305317e-05_r8, & + 5.0933798611205834e-05_r8, 7.0210205680445908e-05_r8, & + 8.5354632650765566e-05_r8, 9.6543825403238692e-05_r8, & + 0.00011374486467318834_r8, 0.00012969847178591055_r8, & + 0.00014313201230023106_r8, 0.00015738018380842301_r8, & + 0.00019205201319716229_r8, 0.0002295675810313399_r8, & + 0.00026273767412846608_r8, 0.00029127507998535966_r8, & + 0.00031944479121242349_r8, 0.0003442249942372133_r8, & + 0.00036887502931432235_r8, 0.00038933546098101116_r8, & + 0.00040709308284654177_r8, 0.00042442174140491453_r8, & + 0.00043856339134238276_r8, 0.00047477795125316035_r8, & + 0.00050095073421022593_r8, 0.00051603902416068792_r8, & + 0.00052470406595073421_r8, 0.00053052429511929163_r8, & + 0.0005345144464809254_r8, 0.00053565355060647727_r8, & + 0.00053169220216012496_r8, 0.00051840266721369819_r8, & + 0.00050016044386869422_r8, 0.00048645413027361578_r8, & + 0.00048122837650931943_r8, 0.00047879425232030484_r8, & + 0.00047758876973936739_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,57) / & + 8.8764104079384392e-06_r8, 8.6726409201082228e-06_r8, & + 8.269122957691014e-06_r8, 9.3072365871919735e-06_r8, & + 9.0316671547543306e-06_r8, 8.6683241665664747e-06_r8, & + 9.868634733249499e-06_r8, 1.171027848953382e-05_r8, & + 1.7098068585041734e-05_r8, 2.7986509808517524e-05_r8, & + 4.2008826356637891e-05_r8, 5.5928824149130272e-05_r8, & + 8.8764042992812644e-05_r8, 0.00012422112344585346_r8, & + 0.00015195736812827256_r8, 0.00017602117905172148_r8, & + 0.00022241642611454555_r8, 0.00026143518911923456_r8, & + 0.00029331861948702823_r8, 0.00032259902899333493_r8, & + 0.00035155107446508684_r8, 0.00037651210199027366_r8, & + 0.00039959182833160137_r8, 0.00042018753768667517_r8, & + 0.00043807426300732528_r8, 0.00045621868354298333_r8, & + 0.00047152041420538398_r8, 0.00050432310074663325_r8, & + 0.00052643708519252701_r8, 0.00053996625964581701_r8, & + 0.00054858374121057355_r8, 0.00055449342758716476_r8, & + 0.00055810974705044656_r8, 0.00055731137046522144_r8, & + 0.00055244460255166365_r8, 0.00054181165817138784_r8, & + 0.00052500442913902036_r8, 0.00050928485532447643_r8, & + 0.00049879206556476625_r8, 0.00049219034077098466_r8, & + 0.00048874922862822542_r8, 0.0004874219588540692_r8, & + 0.00048784514452080818_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,57) / & + 9.5504766828167593e-06_r8, 9.4330826649135387e-06_r8, & + 9.1680980705783316e-06_r8, 9.7923004995959068e-06_r8, & + 9.9086595261440562e-06_r8, 9.6396162854762567e-06_r8, & + 9.9165976285427494e-06_r8, 9.9351071408117532e-06_r8, & + 1.0886098100135165e-05_r8, 1.3058732145646336e-05_r8, & + 1.6376439643157651e-05_r8, 2.2555218615431998e-05_r8, & + 4.8386615540437618e-05_r8, 8.7769465290080871e-05_r8, & + 0.00012719322111002065_r8, 0.00016596006543431285_r8, & + 0.00023654374675536417_r8, 0.00028925978311200123_r8, & + 0.00032400449233209168_r8, 0.00035145544681756128_r8, & + 0.00037676498517618783_r8, 0.00039897046893278665_r8, & + 0.00042008257209378804_r8, 0.0004405354479397861_r8, & + 0.00045949684211521908_r8, 0.00047835174741705865_r8, & + 0.00049455039331543508_r8, 0.00052860993932649786_r8, & + 0.00055232824062680856_r8, 0.00056734066259802533_r8, & + 0.00057782014834055929_r8, 0.00058299988322652171_r8, & + 0.00058308255870305784_r8, 0.00057926936633544157_r8, & + 0.00057347971382021887_r8, 0.00056559144947886109_r8, & + 0.0005545129919997064_r8, 0.00054067110352140071_r8, & + 0.00052646382784973746_r8, 0.00051137713736647023_r8, & + 0.00050466344779912702_r8, 0.00050179811979025814_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,57) / & + 1.0658044016414366e-05_r8, 1.0591199253664364e-05_r8, & + 1.0460723858223307e-05_r8, 1.0449607998395976e-05_r8, & + 1.0600996284481863e-05_r8, 1.0829066401827009e-05_r8, & + 1.0864631437544204e-05_r8, 1.0890224618644311e-05_r8, & + 1.082263574900321e-05_r8, 1.1321521782821101e-05_r8, & + 1.3556649041144074e-05_r8, 1.8447580141320018e-05_r8, & + 3.9306259392548666e-05_r8, 7.1637717567396987e-05_r8, & + 0.00010687272823697771_r8, 0.00014938922700961197_r8, & + 0.00023919835232623249_r8, 0.00031197939740069432_r8, & + 0.00036001457134956447_r8, 0.00038990837657989813_r8, & + 0.00041144532620926558_r8, 0.00043086856004308726_r8, & + 0.0004486445784483181_r8, 0.0004663508485241808_r8, & + 0.00048511204506828076_r8, 0.00050383177772602501_r8, & + 0.00052050548241588327_r8, 0.00055747087883278987_r8, & + 0.00058355363901890279_r8, 0.00060077236135560241_r8, & + 0.00061158414911314553_r8, 0.00061345816411855197_r8, & + 0.00060931256163453769_r8, 0.00060247633449516899_r8, & + 0.0005955611715985974_r8, 0.00058927519812355727_r8, & + 0.00058277315900840787_r8, 0.00057660070062189473_r8, & + 0.00056392185584690311_r8, 0.00053463981965479472_r8, & + 0.00052081477957374169_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,57) / & + 1.2255836199338661e-05_r8, 1.2138584916296285e-05_r8, & + 1.1984585497449937e-05_r8, 1.1403529835443764e-05_r8, & + 1.1399645880219093e-05_r8, 1.1513052058783402e-05_r8, & + 1.2397009548699805e-05_r8, 1.230929945511468e-05_r8, & + 1.2758978586011494e-05_r8, 1.4949077341212136e-05_r8, & + 1.9404716256023448e-05_r8, 2.6258294493931748e-05_r8, & + 4.9424702577384888e-05_r8, 7.9461971786681429e-05_r8, & + 0.00011162830867884073_r8, 0.00015262802828863855_r8, & + 0.00024291673419562455_r8, 0.00032177486141242824_r8, & + 0.00038070726077070585_r8, 0.0004213393943837415_r8, & + 0.00044892734480095066_r8, 0.00047101580866082149_r8, & + 0.0004882481254592201_r8, 0.00050506036013829602_r8, & + 0.00052047519536866152_r8, 0.00053731852853194787_r8, & + 0.00055323937515469439_r8, 0.00059031184329417683_r8, & + 0.0006178204093657023_r8, 0.00063327654788855668_r8, & + 0.0006404934590493593_r8, 0.00064156686489929616_r8, & + 0.0006371225408307148_r8, 0.000630089263221158_r8, & + 0.00062218568421833968_r8, 0.00061588490417826126_r8, & + 0.00061017422809498713_r8, 0.0006070055855340482_r8, & + 0.00060394012383408163_r8, 0.00059387914601555898_r8, & + 0.00058671986212853087_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,57) / & + 1.4549739210628016e-05_r8, 1.4416153201084963e-05_r8, & + 1.4373640123859355e-05_r8, 1.4937437477582702e-05_r8, & + 1.4383189567330208e-05_r8, 1.4133362410876615e-05_r8, & + 1.4418111119894299e-05_r8, 1.5681151389189878e-05_r8, & + 1.8639419341741231e-05_r8, 2.46979362908578e-05_r8, & + 3.4340307510497507e-05_r8, 4.8242622178374254e-05_r8, & + 7.609513156660739e-05_r8, 0.00010690788348447801_r8, & + 0.00014150834866645637_r8, 0.00018184207641687558_r8, & + 0.00026822573043483873_r8, 0.00034338850158953572_r8, & + 0.00040197121749126446_r8, 0.00044418800122817949_r8, & + 0.0004757429859717845_r8, 0.00050025437781131446_r8, & + 0.00052071382019496719_r8, 0.00054027716941326502_r8, & + 0.00055465236623325172_r8, 0.00057114431881400373_r8, & + 0.0005879608365617874_r8, 0.00062614754781367471_r8, & + 0.0006532801276189703_r8, 0.00066499842304650471_r8, & + 0.00066755639176288041_r8, 0.00066667986386141685_r8, & + 0.00065925166274195465_r8, 0.00065209311426234152_r8, & + 0.00064412035252907015_r8, 0.00063743675813147742_r8, & + 0.00063200429516253236_r8, 0.00062599127705532129_r8, & + 0.00061945561812360784_r8, 0.00061049893905953554_r8, & + 0.00060404454658612161_r8, 0.00059008039103046104_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,32,57) / & + 1.8296888080677779e-05_r8, 1.8150353312306689e-05_r8, & + 1.8043036495486903e-05_r8, 2.1988601456430596e-05_r8, & + 2.4622342915184803e-05_r8, 2.4682536027014921e-05_r8, & + 1.9047247503820392e-05_r8, 2.298906937170777e-05_r8, & + 3.2186511191028228e-05_r8, 4.2967513355643405e-05_r8, & + 5.9979553683720139e-05_r8, 7.7044249755090012e-05_r8, & + 0.00010492206447047384_r8, 0.00013949652941411917_r8, & + 0.00017868070183835633_r8, 0.00022037358993487376_r8, & + 0.00029765395647668208_r8, 0.00036448550968485601_r8, & + 0.00041765272845626354_r8, 0.00046572224888530268_r8, & + 0.00050115824967150561_r8, 0.00052865468726137556_r8, & + 0.00055210905104859087_r8, 0.00057540135398830201_r8, & + 0.00059264704041988713_r8, 0.00061062261240867424_r8, & + 0.00062858692040889362_r8, 0.00066334433857193466_r8, & + 0.00068457675392872837_r8, 0.00069327824481273277_r8, & + 0.00068798485091116216_r8, 0.00068713226625580724_r8, & + 0.00067434528960160455_r8, 0.00066991142371413076_r8, & + 0.00066327891157564017_r8, 0.00065652931632216127_r8, & + 0.00065263122427567722_r8, 0.00064500125451802382_r8, & + 0.0006341257631579454_r8, 0.000628151372192119_r8, & + 0.00062319841163479455_r8, 0.00061732733754664307_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,57) / & + 2.4619030937469684e-05_r8, 2.4013958519208146e-05_r8, & + 2.2355686203098804e-05_r8, 3.3783080877365865e-05_r8, & + 3.9589394050302665e-05_r8, 4.0101989733161483e-05_r8, & + 2.9274762400146353e-05_r8, 3.9183819347362893e-05_r8, & + 5.4679540447683516e-05_r8, 7.156601269266796e-05_r8, & + 9.3572383010843559e-05_r8, 0.00011129826733637095_r8, & + 0.00014230587566108803_r8, 0.00018256214097660264_r8, & + 0.00022440820568980603_r8, 0.00026608697147688414_r8, & + 0.00033940312054838334_r8, 0.00040696276633717517_r8, & + 0.00045590169286621919_r8, 0.00050159063896671363_r8, & + 0.00053797334647106177_r8, 0.00056428779276631734_r8, & + 0.00058702100499731773_r8, 0.00061849804168446305_r8, & + 0.00064187172630162108_r8, 0.00066096359989520879_r8, & + 0.00067754048129337453_r8, 0.00070774143170696359_r8, & + 0.00072185158529499891_r8, 0.00072617265982283458_r8, & + 0.00071257950622642219_r8, 0.00071482466908486539_r8, & + 0.00068981177840692683_r8, 0.00070369568148216579_r8, & + 0.00070127749270513758_r8, 0.00069486800755695903_r8, & + 0.00068462500519823671_r8, 0.00066691568550689519_r8, & + 0.00065365750951961788_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,57) / & + 3.5848418921744319e-05_r8, 3.4643463935415733e-05_r8, & + 3.2607093146491715e-05_r8, 4.8605292485222815e-05_r8, & + 5.14745799362229e-05_r8, 5.4556606799282171e-05_r8, & + 5.9427521137701506e-05_r8, 6.9282567342963684e-05_r8, & + 8.4476511023829531e-05_r8, 0.00011091854095499659_r8, & + 0.00013400770970829596_r8, 0.00015573023825968496_r8, & + 0.0001962580306882593_r8, 0.00024030033392701913_r8, & + 0.00028379767759057547_r8, 0.00032513863394863099_r8, & + 0.00039469865419637401_r8, 0.00045354985708893978_r8, & + 0.00049900420473588118_r8, 0.00053858853108293544_r8, & + 0.0005711205452266242_r8, 0.00059742119747241591_r8, & + 0.00062120591876318055_r8, 0.00064939427487206952_r8, & + 0.00067107558432621169_r8, 0.00068875029152406684_r8, & + 0.00070326995783988138_r8, 0.0007295077054667961_r8, & + 0.00074105778340278529_r8, 0.00074392323817645822_r8, & + 0.00073302017474412891_r8, 0.00072549100855392524_r8, & + 0.00072006486292013386_r8, 0.00073229082247508004_r8, & + 0.00073320243654030821_r8, 0.00072341759160301459_r8, & + 0.00072459586718592807_r8, 0.00072546384442624668_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,57) / & + 5.6328523616688162e-05_r8, 5.6089955604599104e-05_r8, & + 5.641636876748482e-05_r8, 6.4847251800211986e-05_r8, & + 6.7957536022883076e-05_r8, 7.8604586237793642e-05_r8, & + 9.9209304131758167e-05_r8, 0.00010801374802007307_r8, & + 0.00012710427755683508_r8, 0.00015771817779919501_r8, & + 0.00018240388344650606_r8, 0.00021260552207750432_r8, & + 0.00025339555495415686_r8, 0.00029743435228282575_r8, & + 0.00033523793097287768_r8, 0.00037110125368063096_r8, & + 0.00043013737215958888_r8, 0.00048049658086075198_r8, & + 0.00052154010688211982_r8, 0.00055820777658933745_r8, & + 0.00058859107030506989_r8, 0.00061530233534335971_r8, & + 0.00063811694737458469_r8, 0.00066012711514635343_r8, & + 0.00068014284710975442_r8, 0.00069761506202222693_r8, & + 0.00071117103013097836_r8, 0.0007325537939125023_r8, & + 0.00074369635112682604_r8, 0.00074681424094294869_r8, & + 0.00074900459805989615_r8, 0.00073690997504751202_r8, & + 0.00074016955335196445_r8, 0.00074799086647881993_r8, & + 0.0007510751266608459_r8, 0.00074044032535099645_r8, & + 0.00073903687508254298_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,57) / & + 8.1690944536863381e-05_r8, 8.4164348679989317e-05_r8, & + 9.0210353006531604e-05_r8, 9.7888677176466264e-05_r8, & + 0.00010529910840800215_r8, 0.00011617456287182276_r8, & + 0.00013606002099494135_r8, 0.00014058361474398855_r8, & + 0.00015342876444633538_r8, 0.0001834557014135481_r8, & + 0.00020584085646431835_r8, 0.00023589205396999506_r8, & + 0.0002716146117714847_r8, 0.0003072603144404805_r8, & + 0.00034223442506145979_r8, 0.00037483880958994885_r8, & + 0.00043104564381631115_r8, 0.00048547556640917138_r8, & + 0.00052631850916995144_r8, 0.00056290653973244261_r8, & + 0.00059338413551597721_r8, 0.00061987620877043432_r8, & + 0.00064261315702002328_r8, 0.00066405353812078421_r8, & + 0.00068678834957923711_r8, 0.00070723714328327348_r8, & + 0.0007214400726203113_r8, 0.00074483738256290631_r8, & + 0.00075601081060156319_r8, 0.00075965633029652173_r8, & + 0.00076280873663057492_r8, 0.00075380753224686627_r8, & + 0.00075856402519737531_r8, 0.00076263767555913363_r8, & + 0.00076495578905523239_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,57) / & + 0.00011412530310431439_r8, 0.00011545703059418996_r8, & + 0.00012180819464454325_r8, 0.00013124195678278444_r8, & + 0.00014088059695905464_r8, 0.00014926769467839138_r8, & + 0.0001638049143192576_r8, 0.0001679370846824408_r8, & + 0.00017373733627287766_r8, 0.00019514328603430041_r8, & + 0.00021826570725424249_r8, 0.00025210099558143088_r8, & + 0.00028731256860911933_r8, 0.00031722687941791017_r8, & + 0.00035243360314558608_r8, 0.00038186365203105184_r8, & + 0.00043841092134946593_r8, 0.00049939468236250679_r8, & + 0.00054086432851185179_r8, 0.00057658090945070239_r8, & + 0.00060568567525233811_r8, 0.00063210623283911735_r8, & + 0.00065504681627787283_r8, 0.0006745533123473929_r8, & + 0.00069912155274805374_r8, 0.00072069677235404536_r8, & + 0.00073442927578101368_r8, 0.00075906658883102439_r8, & + 0.00077075859923362092_r8, 0.00077422853443494342_r8, & + 0.00077594607136894332_r8, 0.00077448135232202912_r8, & + 0.00077052748331128272_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,57) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,57) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,57) / & + 0.00011899811009757944_r8, 8.2873053299589396e-05_r8, & + 8.9870977647381499e-05_r8, 9.7099622955962124e-05_r8, & + 0.00010615668011819507_r8, 0.00011755186972856956_r8, & + 0.00015777955527359634_r8, 0.00016436198587938173_r8, & + 0.00023093012191435083_r8, 0.00017857541713349692_r8, & + 0.00017284346084826057_r8, 0.00012396175107439624_r8, & + 0.00011453453378525364_r8, 0.00011822973930563748_r8, & + 0.00011496255088895575_r8, 0.0001056060483370652_r8, & + 8.7996003727259958e-05_r8, 8.4464364664969509e-05_r8, & + 8.2854697009552102e-05_r8, 8.2039798963162033e-05_r8, & + 8.2629253519296957e-05_r8, 8.1991064583106232e-05_r8, & + 8.898543585105123e-05_r8, 8.9290052933492788e-05_r8, & + 9.4496519180080869e-05_r8, 9.6891435759493882e-05_r8, & + 0.00010222406439366422_r8, 0.00011180302977552589_r8, & + 0.0001090496275877101_r8, 0.00011156134291446284_r8, & + 0.00011239413107388912_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,57) / & + 9.7140428529446366e-05_r8, 8.0524167107191166e-05_r8, & + 9.2215909291708386e-05_r8, 0.0001005352282764489_r8, & + 0.00010725992806637544_r8, 0.00010766785063593686_r8, & + 0.00014209901384466624_r8, 0.00014482193222965729_r8, & + 0.00021145911777386539_r8, 0.00017596803023025643_r8, & + 0.00016575966824062445_r8, 0.00012589608928965631_r8, & + 0.000113017607900212_r8, 0.0001067656507576592_r8, & + 0.00011829395113255488_r8, 0.00010746733953234073_r8, & + 9.2224949654927304e-05_r8, 8.695913876538222e-05_r8, & + 8.5014936173648812e-05_r8, 8.4088096446289877e-05_r8, & + 8.4477911562786095e-05_r8, 8.3897711360504356e-05_r8, & + 8.8133325903102727e-05_r8, 8.9378459557044827e-05_r8, & + 9.6815613699292733e-05_r8, 9.928118732633504e-05_r8, & + 0.00010329864367758446_r8, 0.0001128008544903082_r8, & + 0.00011627142583595246_r8, 0.0001174475157871783_r8, & + 0.00011841221877912847_r8, 0.00011651304331396217_r8, & + 0.00011644996201334923_r8, 0.00013171114761885495_r8, & + 0.00012780877724539845_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,57) / & + 9.4925799302596661e-05_r8, 8.2748044785792372e-05_r8, & + 9.647389597960115e-05_r8, 0.00011126856369332457_r8, & + 0.00011592780946978213_r8, 0.00010973466698431767_r8, & + 0.00012411454294323078_r8, 0.00013130793259528775_r8, & + 0.00021575119958810811_r8, 0.00019288329456974059_r8, & + 0.00016893865944015747_r8, 0.00012372225289965564_r8, & + 9.7833848210452867e-05_r8, 8.6034151382193683e-05_r8, & + 0.00010343051514346951_r8, 9.8221877667694279e-05_r8, & + 8.9695835305678997e-05_r8, 8.1862195995385743e-05_r8, & + 8.131636911417204e-05_r8, 8.1001768335240773e-05_r8, & + 8.1265914992355282e-05_r8, 8.1097804030577428e-05_r8, & + 8.1466703768750059e-05_r8, 8.3907246579338241e-05_r8, & + 9.0632142996553545e-05_r8, 9.5051753827672181e-05_r8, & + 9.8334112631840104e-05_r8, 0.00010711125527430376_r8, & + 0.00011584666671750594_r8, 0.00011977713429607512_r8, & + 0.00012081015107339529_r8, 0.00011987508930175536_r8, & + 0.00012058043666266162_r8, 0.00012788516389789395_r8, & + 0.00012464813271667651_r8, 0.00012899843011300564_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,57) / & + 9.1219820448373135e-05_r8, 8.4453340402293592e-05_r8, & + 9.0013792518068634e-05_r8, 0.00012182358286856423_r8, & + 0.00013020803593210041_r8, 0.00012096296645578854_r8, & + 0.00013547991412526667_r8, 0.00015141001274264729_r8, & + 0.00019329327358236573_r8, 0.00019665036100133897_r8, & + 0.00015612980232621826_r8, 0.00011072303421472551_r8, & + 7.8532344425344405e-05_r8, 7.557086622607871e-05_r8, & + 8.5563283329914564e-05_r8, 8.8597689606149886e-05_r8, & + 8.1153029041210043e-05_r8, 7.6548024730446545e-05_r8, & + 7.6019941965481356e-05_r8, 7.7434411878335872e-05_r8, & + 7.7695586908055109e-05_r8, 7.8612269194070002e-05_r8, & + 7.948960318805049e-05_r8, 8.1416925914795188e-05_r8, & + 8.888086225188582e-05_r8, 9.3199114262257249e-05_r8, & + 9.5310189791729351e-05_r8, 0.00010238709344253232_r8, & + 0.00011082776854015098_r8, 0.00011974751232954552_r8, & + 0.00011856289083335631_r8, 0.0001158340045978485_r8, & + 0.00011532968443166933_r8, 0.00011797728090502331_r8, & + 0.00011807999251426985_r8, 0.00011994273385386671_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,57) / & + 8.5326907248050641e-05_r8, 9.5971498400517261e-05_r8, & + 8.8075656350582065e-05_r8, 0.00012197612019519925_r8, & + 0.00013206167715633138_r8, 0.00012170003565911668_r8, & + 0.00014738519835893376_r8, 0.00015528420138000618_r8, & + 0.00016146577679847061_r8, 0.00013413323432152359_r8, & + 0.00010389809454520928_r8, 8.8904747245283921e-05_r8, & + 7.482829621039536e-05_r8, 7.6388469249390905e-05_r8, & + 8.2014862715685584e-05_r8, 8.1855181897782814e-05_r8, & + 7.6299716555099052e-05_r8, 7.5127386060229359e-05_r8, & + 7.5451563423478032e-05_r8, 7.7903582866860127e-05_r8, & + 7.9550192311006132e-05_r8, 8.1391292469324116e-05_r8, & + 8.363074120367096e-05_r8, 8.6602302686009146e-05_r8, & + 9.5049298857520089e-05_r8, 9.8273529031872738e-05_r8, & + 0.00010137401017793938_r8, 0.00010795778120444919_r8, & + 0.00011822332643699944_r8, 0.00012344985078509852_r8, & + 0.00011809055459463686_r8, 0.00011642623193318614_r8, & + 0.00011540096104407502_r8, 0.00011597871433254347_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,57) / & + 8.0607578986678516e-05_r8, 0.00010744855033169457_r8, & + 9.7270756190075694e-05_r8, 0.00011290843411734922_r8, & + 0.00011181359977355666_r8, 0.00012099067495001641_r8, & + 0.00014951438166510485_r8, 0.00011777963855014108_r8, & + 9.4008303145367978e-05_r8, 8.0430498728746453e-05_r8, & + 7.4322176354559602e-05_r8, 7.1857644316135479e-05_r8, & + 6.9780020502102877e-05_r8, 7.2108643528442796e-05_r8, & + 7.2896201766087332e-05_r8, 7.4064205259689956e-05_r8, & + 7.3430848750098896e-05_r8, 7.3733829935959848e-05_r8, & + 7.5738883872834527e-05_r8, 7.8981731285593219e-05_r8, & + 8.1832219390647751e-05_r8, 8.5154685792482798e-05_r8, & + 8.8996868924325057e-05_r8, 9.3244125965417978e-05_r8, & + 9.9167849134988297e-05_r8, 0.00010331628821397117_r8, & + 0.00010904087966280816_r8, 0.00011858037004682576_r8, & + 0.00012235568451042126_r8, 0.00012132678479774499_r8, & + 0.00011936563045901374_r8, 0.00011954204604166672_r8, & + 0.00011989252504734154_r8, 0.00011981136404800682_r8, & + 0.00012059689167402811_r8, 0.00012117836632428091_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,58) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,58) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,58) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,58) / & + 0.00010834385418371709_r8, 0.00011588317763167513_r8, & + 0.00012301318414132482_r8, 0.00013163927572546762_r8, & + 0.00013215722030710959_r8, 0.00014048886223755271_r8, & + 0.0001485198164589295_r8, 0.00015616730028803359_r8, & + 0.0001610425755475888_r8, 0.00016707129902589191_r8, & + 0.00016896695340243466_r8, 0.00017261850736803409_r8, & + 0.00017347499308819405_r8, 0.00017953845393738874_r8, & + 0.00018612704831839243_r8, 0.00019080887778571301_r8, & + 0.00019694546888935109_r8, 0.00020796447365878211_r8, & + 0.00021674194389737208_r8, 0.00022412734301240151_r8, & + 0.0002297018526016169_r8, 0.00023599743809209027_r8, & + 0.00024012188080141812_r8, 0.00024368351413396207_r8, & + 0.00024738481333803962_r8, 0.00025058481624499318_r8, & + 0.00025336588001383196_r8, 0.00026271072445688384_r8, & + 0.00027098832845927947_r8, 0.00027493444470535772_r8, & + 0.00027780513853031228_r8, 0.00028298865950671505_r8, & + 0.00028536102107228832_r8, 0.00028639291525271358_r8, & + 0.00028874205841268943_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,58) / & + 9.416545422172076e-05_r8, 9.8841162781167341e-05_r8, & + 0.00010196983941876623_r8, 0.00011075929466834955_r8, & + 0.00010945603785084072_r8, 0.00012008340865972932_r8, & + 0.0001211948160441851_r8, 0.0001341467579137225_r8, & + 0.00014357604779957663_r8, 0.0001517420804871649_r8, & + 0.0001577497471075554_r8, 0.00016599312380383925_r8, & + 0.00017332546911064386_r8, 0.00017905311325782378_r8, & + 0.00018389844852482033_r8, 0.0001875227296392004_r8, & + 0.00019396709231953032_r8, 0.00020135909273313575_r8, & + 0.0002081322357321036_r8, 0.00021493717212850164_r8, & + 0.00022144775007060686_r8, 0.00022802126669266195_r8, & + 0.00023299760861289159_r8, 0.00023738861367987184_r8, & + 0.0002417063688496446_r8, 0.00024559437366963822_r8, & + 0.00024897063909615994_r8, 0.00025808343880885789_r8, & + 0.00026674268680420779_r8, 0.00027244110821780635_r8, & + 0.00027661853156616588_r8, 0.00028171774035841901_r8, & + 0.00028510488342493303_r8, 0.00028701715458100168_r8, & + 0.00028993537246356841_r8, 0.00029205422359594946_r8, & + 0.00029267981019804131_r8, 0.00029009739471213083_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,58) / & + 6.6864500341783523e-05_r8, 6.8091006154033821e-05_r8, & + 6.8172963788993326e-05_r8, 7.0606010432584411e-05_r8, & + 7.4437557536021005e-05_r8, 8.1818731896051762e-05_r8, & + 7.1206654204762624e-05_r8, 9.0095794546777842e-05_r8, & + 0.00010111053727309317_r8, 0.00011071364430858338_r8, & + 0.00012140987081459653_r8, 0.00013792406514494474_r8, & + 0.00015817437464541207_r8, 0.00016628660327042596_r8, & + 0.00017118452307873891_r8, 0.0001754073867203869_r8, & + 0.00018152259591498407_r8, 0.00018666911829325837_r8, & + 0.0001914404835473619_r8, 0.00019639929725364763_r8, & + 0.00020154046002731363_r8, 0.00020815976075547586_r8, & + 0.00021417126011341467_r8, 0.00022025515275461984_r8, & + 0.00022618140159553739_r8, 0.0002317298935397877_r8, & + 0.00023664655059954919_r8, 0.00024787322039545765_r8, & + 0.00025782169232178831_r8, 0.00026644518256660086_r8, & + 0.0002731369804491831_r8, 0.00027862560386456763_r8, & + 0.00028269165869980939_r8, 0.00028631990484757994_r8, & + 0.00028995968569393892_r8, 0.00029220595936543689_r8, & + 0.00029297939057574846_r8, 0.00029149954792952447_r8, & + 0.0002902881720209727_r8, 0.00028904753032523979_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,58) / & + 5.2152748839660397e-05_r8, 5.263090687796506e-05_r8, & + 5.2944178143954686e-05_r8, 4.1786257387242185e-05_r8, & + 4.568179562030631e-05_r8, 4.9583563533504843e-05_r8, & + 4.233526510720326e-05_r8, 4.9714468237018378e-05_r8, & + 5.8053413837502774e-05_r8, 6.7983735060359561e-05_r8, & + 7.8537566104225804e-05_r8, 0.00010452912924405036_r8, & + 0.00013605094791415415_r8, 0.0001458270806848016_r8, & + 0.00015084541112031161_r8, 0.00015779075202094125_r8, & + 0.00016672106568215686_r8, 0.00017474254089662274_r8, & + 0.00018022857732844825_r8, 0.00018482634649959063_r8, & + 0.0001887945438446593_r8, 0.00019433719025603718_r8, & + 0.00019916119235586379_r8, 0.00020469227408431489_r8, & + 0.00021037528860120275_r8, 0.00021658538376377194_r8, & + 0.00022269848051960809_r8, 0.00023683510482528218_r8, & + 0.00024842652137511886_r8, 0.00025887260155386672_r8, & + 0.00026728693574105738_r8, 0.00027498061113519792_r8, & + 0.00027960838523575268_r8, 0.00028277199920230761_r8, & + 0.00028536851893254573_r8, 0.00028761553885994588_r8, & + 0.00028867861913723698_r8, 0.00028916105496070902_r8, & + 0.00028959914177125243_r8, 0.00028902875332974032_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,58) / & + 3.4393361464480757e-05_r8, 3.4718079515233707e-05_r8, & + 3.4316996846485824e-05_r8, 2.3700712990319722e-05_r8, & + 2.4935256236430187e-05_r8, 2.7383026290165085e-05_r8, & + 2.3775528832451183e-05_r8, 2.7143133156702269e-05_r8, & + 3.1252092613348853e-05_r8, 3.6113018494943246e-05_r8, & + 4.1592752090474592e-05_r8, 6.2420191798842747e-05_r8, & + 8.9078991399469738e-05_r8, 9.8401516079006998e-05_r8, & + 0.00010568878784688977_r8, 0.00011736726309086934_r8, & + 0.00013106845345861796_r8, 0.00014209346296095447_r8, & + 0.00015147064620329095_r8, 0.0001598829817991654_r8, & + 0.00016653647647910661_r8, 0.0001730439350866943_r8, & + 0.00017734896651477118_r8, 0.00018265254176741904_r8, & + 0.00018735676309113177_r8, 0.00019208667285713308_r8, & + 0.00019690017432673725_r8, 0.00020952559122818656_r8, & + 0.00022303284236190634_r8, 0.00023651027159757011_r8, & + 0.00024801422684517569_r8, 0.00025812813748361016_r8, & + 0.00026572560465600828_r8, 0.00027064127681556305_r8, & + 0.00027460496704375401_r8, 0.00028273278107809408_r8, & + 0.00028635929143688642_r8, 0.00028792130674737838_r8, & + 0.00028927737053137918_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,58) / & + 1.3822942909160647e-05_r8, 1.4000921235771896e-05_r8, & + 1.3868174118473596e-05_r8, 1.0390998093117339e-05_r8, & + 1.073843795720669e-05_r8, 1.1835084733606561e-05_r8, & + 1.3357122198773748e-05_r8, 1.5411070874432298e-05_r8, & + 1.7809766045856084e-05_r8, 1.9273799068829012e-05_r8, & + 2.0352894758180834e-05_r8, 2.5972768196428779e-05_r8, & + 3.4315739736524144e-05_r8, 3.9113461047295634e-05_r8, & + 4.4027175071271781e-05_r8, 5.0389529275163236e-05_r8, & + 6.0020026175207209e-05_r8, 6.8589274582636525e-05_r8, & + 7.9312369939298991e-05_r8, 9.1751576060036664e-05_r8, & + 0.00010407984126247799_r8, 0.00011492217571665722_r8, & + 0.00012552442846953157_r8, 0.00013705332856669026_r8, & + 0.00014748313998621659_r8, 0.00015657001900796754_r8, & + 0.00016442402495420866_r8, 0.00018005163006331397_r8, & + 0.00019227136916888669_r8, 0.00020396031434793179_r8, & + 0.00021618173199670183_r8, 0.0002286543289726836_r8, & + 0.00023947871012942849_r8, 0.00024702632437675534_r8, & + 0.0002496747967188637_r8, 0.00025329636792828617_r8, & + 0.00025479803512163551_r8, 0.00025759282784428846_r8, & + 0.00026838430105731361_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,58) / & + 5.9226778281016208e-06_r8, 5.9374922721881322e-06_r8, & + 5.5577513530445162e-06_r8, 6.3348780394559068e-06_r8, & + 6.4131254683303785e-06_r8, 7.1597626230063867e-06_r8, & + 8.2603911640898501e-06_r8, 9.0164147341439931e-06_r8, & + 9.6816712139227243e-06_r8, 1.0417368963747411e-05_r8, & + 1.109070572535396e-05_r8, 1.2411732261360131e-05_r8, & + 1.4182151972204402e-05_r8, 1.5331213842198184e-05_r8, & + 1.6445965372136155e-05_r8, 1.7386389269699566e-05_r8, & + 1.9684107620907666e-05_r8, 2.2285479820753853e-05_r8, & + 2.7497567240004135e-05_r8, 3.6995662381772472e-05_r8, & + 4.9608689365520658e-05_r8, 6.3755369807647546e-05_r8, & + 7.8899370073596026e-05_r8, 9.4479878872464024e-05_r8, & + 0.00011042896835112503_r8, 0.00012528497690288278_r8, & + 0.00013911389268213002_r8, 0.00016790606616180417_r8, & + 0.00018829212180739667_r8, 0.00020322423634128959_r8, & + 0.0002137614113625773_r8, 0.0002238406575213078_r8, & + 0.00023405519812245005_r8, 0.00024170874987923166_r8, & + 0.00024789583266967733_r8, 0.00025292885999577905_r8, & + 0.00025529044126539014_r8, 0.00025828421847720801_r8, & + 0.00025999115202631515_r8, 0.00026145800218529665_r8, & + 0.00026279411712736836_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,58) / & + 6.2893132879601488e-06_r8, 6.129771467015716e-06_r8, & + 5.6095218543647554e-06_r8, 6.0855073633986435e-06_r8, & + 5.977121782658466e-06_r8, 6.1264981134305417e-06_r8, & + 6.6643122774330975e-06_r8, 6.7710422256106187e-06_r8, & + 6.9120734064100162e-06_r8, 7.2106951064421208e-06_r8, & + 7.8046320498615235e-06_r8, 9.3370361318101587e-06_r8, & + 1.2145580797609303e-05_r8, 1.3675252664011506e-05_r8, & + 1.4668714411021722e-05_r8, 1.5363847843644292e-05_r8, & + 1.7152031525043861e-05_r8, 2.0143921583339315e-05_r8, & + 2.5633772075134836e-05_r8, 3.539523710666088e-05_r8, & + 4.8689283625837755e-05_r8, 6.42266064254961e-05_r8, & + 8.0463429345102662e-05_r8, 9.7436714956954093e-05_r8, & + 0.0001144564942574272_r8, 0.00013027265981867953_r8, & + 0.00014544225536987888_r8, 0.00017765675078569514_r8, & + 0.00020702647705266958_r8, 0.00023131471245539835_r8, & + 0.00024644774987356028_r8, 0.00025479343948082116_r8, & + 0.00025757330113758761_r8, 0.00025860669035654405_r8, & + 0.00025611042079918097_r8, 0.00025728256367917474_r8, & + 0.0002574193527380355_r8, 0.00025916695427811255_r8, & + 0.00026068375465112972_r8, 0.00026168773357986962_r8, & + 0.00026229035289242496_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,58) / & + 6.3674678871578553e-06_r8, 5.9113603966395113e-06_r8, & + 5.6634996876924404e-06_r8, 5.5307214155969402e-06_r8, & + 5.9671888917905255e-06_r8, 6.0138480319375115e-06_r8, & + 6.3785377046858125e-06_r8, 6.2550137192068096e-06_r8, & + 6.2159221697110227e-06_r8, 6.3300683202450619e-06_r8, & + 6.5563998336722216e-06_r8, 7.1875592159773257e-06_r8, & + 9.6205425272497073e-06_r8, 1.1562309315995715e-05_r8, & + 1.2791594885734125e-05_r8, 1.3646037272698804e-05_r8, & + 1.57483447788141e-05_r8, 1.9098644844900343e-05_r8, & + 2.5042588804444798e-05_r8, 3.4119727700991055e-05_r8, & + 4.7778735183966265e-05_r8, 6.4650347796739487e-05_r8, & + 8.2342344645057317e-05_r8, 0.00010039535696102876_r8, & + 0.00011855329739036686_r8, 0.00013507654799342823_r8, & + 0.00015087492954701725_r8, 0.00018540971261928315_r8, & + 0.00022008896818168715_r8, 0.00024588319443322469_r8, & + 0.0002602129282378084_r8, 0.00026626919597379678_r8, & + 0.00026727124021079545_r8, 0.000266110355398855_r8, & + 0.00026372887262709956_r8, 0.00026243609991680552_r8, & + 0.00026072272180739631_r8, 0.00026110833165164492_r8, & + 0.00026132438560427909_r8, 0.00026184125583482627_r8, & + 0.00026191028434126708_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,58) / & + 5.0509075167203642e-06_r8, 4.5009398322788026e-06_r8, & + 4.3385151079098598e-06_r8, 3.2625491802765582e-06_r8, & + 3.3743929288857538e-06_r8, 3.5677224911359159e-06_r8, & + 4.0207500902834034e-06_r8, 4.1578590024947356e-06_r8, & + 4.4072015364733953e-06_r8, 4.6240824066742173e-06_r8, & + 4.937909707045414e-06_r8, 4.9437303537826865e-06_r8, & + 6.2644435823305102e-06_r8, 8.6642954881714309e-06_r8, & + 1.0644748737672852e-05_r8, 1.2305406365930633e-05_r8, & + 1.5031774456486902e-05_r8, 1.8234399001078002e-05_r8, & + 2.365162213656765e-05_r8, 3.2434142919899163e-05_r8, & + 4.5669480328659279e-05_r8, 6.4441465003505592e-05_r8, & + 8.3820594077919244e-05_r8, 0.00010402563596212074_r8, & + 0.00012326785973111617_r8, 0.00014141535896920981_r8, & + 0.00015885686456006644_r8, 0.00019747124563602203_r8, & + 0.00023055384228155504_r8, 0.00025234743815083499_r8, & + 0.00026486254075062791_r8, 0.00027013566798524314_r8, & + 0.00027102358192828769_r8, 0.00026930782183794399_r8, & + 0.0002664117619931541_r8, 0.00026421886119551706_r8, & + 0.00026283771151563415_r8, 0.00026227220761869993_r8, & + 0.00026176229724614493_r8, 0.0002616904994631415_r8, & + 0.00026154631582340582_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,58) / & + 3.8471467380406643e-06_r8, 3.4982795140008877e-06_r8, & + 3.3763865692613091e-06_r8, 2.6447239951982762e-06_r8, & + 2.62130505496236e-06_r8, 3.3697450437701424e-06_r8, & + 3.4010750200416761e-06_r8, 3.3885013895027523e-06_r8, & + 3.0285624618225467e-06_r8, 2.8658658585390861e-06_r8, & + 3.0807313091074054e-06_r8, 3.7574924887171666e-06_r8, & + 4.4405206795396797e-06_r8, 6.5970255147869534e-06_r8, & + 9.1158078153714867e-06_r8, 1.1258453224593075e-05_r8, & + 1.4563001050481951e-05_r8, 1.7933700237558858e-05_r8, & + 2.3155108658557908e-05_r8, 3.2243521563261082e-05_r8, & + 4.6353746793967135e-05_r8, 6.6573752225250907e-05_r8, & + 8.7786372728819234e-05_r8, 0.0001110931434253628_r8, & + 0.00013244861592169433_r8, 0.0001528147088879127_r8, & + 0.00017208494219869577_r8, 0.00021417627566644324_r8, & + 0.0002426691204935091_r8, 0.00025918870147832718_r8, & + 0.00026863085107996037_r8, 0.0002727173617084148_r8, & + 0.00027385407795660935_r8, 0.0002732416298057983_r8, & + 0.00027117756746179933_r8, 0.0002687642906314602_r8, & + 0.00026628337731883983_r8, 0.00026292680078847196_r8, & + 0.00026221945204376289_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,58) / & + 3.47912394754031e-06_r8, 3.2722084979011914e-06_r8, & + 3.143907601105736e-06_r8, 2.5684124644330305e-06_r8, & + 2.5691403904619852e-06_r8, 3.1102406025962032e-06_r8, & + 2.9915071314232871e-06_r8, 3.0277988034377835e-06_r8, & + 2.9226140320349205e-06_r8, 2.7348966086496461e-06_r8, & + 2.6919913724544347e-06_r8, 3.3076822872836111e-06_r8, & + 4.3510421573968517e-06_r8, 5.9033264589994133e-06_r8, & + 8.182421511127628e-06_r8, 1.0733456843329493e-05_r8, & + 1.4667060335118512e-05_r8, 1.8828671950185238e-05_r8, & + 2.4937936373143105e-05_r8, 3.5067673159152201e-05_r8, & + 5.2433420113929448e-05_r8, 7.5294251338588696e-05_r8, & + 0.00010026477824674695_r8, 0.00012501734693765276_r8, & + 0.00014788389376713525_r8, 0.00016832063047616028_r8, & + 0.00018670433302213265_r8, 0.00022566419383346142_r8, & + 0.00025008205533389902_r8, 0.0002639889785539616_r8, & + 0.00027111568966906073_r8, 0.00027388371360761418_r8, & + 0.00027430837957909511_r8, 0.00027375828359102694_r8, & + 0.0002722318121707902_r8, 0.00027119669025210853_r8, & + 0.00026931127739406794_r8, 0.00026432535265439542_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,58) / & + 3.5850679728633922e-06_r8, 3.4260512199254804e-06_r8, & + 3.3024890101133342e-06_r8, 2.6915596143200374e-06_r8, & + 2.6772395357084562e-06_r8, 2.8107778572192145e-06_r8, & + 2.6784148007501145e-06_r8, 2.6603825757831112e-06_r8, & + 2.6648417927760142e-06_r8, 2.7449653166160597e-06_r8, & + 2.7383194842426212e-06_r8, 2.8697820970156771e-06_r8, & + 3.6783002330196163e-06_r8, 4.816134896836627e-06_r8, & + 6.8281616177868387e-06_r8, 1.0275278798166108e-05_r8, & + 1.7111813000844756e-05_r8, 2.2613668575690594e-05_r8, & + 3.0672218377306134e-05_r8, 4.4936950017326577e-05_r8, & + 6.8922097900088428e-05_r8, 9.9178079268517672e-05_r8, & + 0.00012788300492532666_r8, 0.00015288180958363543_r8, & + 0.00017522193117922437_r8, 0.0001940952266845102_r8, & + 0.00021118715124374737_r8, 0.00024456532285526393_r8, & + 0.0002657266960068653_r8, 0.00027771122814660028_r8, & + 0.00028379792313421861_r8, 0.00028641849959097133_r8, & + 0.00028703125864064843_r8, 0.00028695377947130733_r8, & + 0.00028652835517233016_r8, 0.00028596903599114009_r8, & + 0.00028474144023607516_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,58) / & + 3.6957557835622991e-06_r8, 3.5856448167386567e-06_r8, & + 3.5013531177750103e-06_r8, 3.4221074667709656e-06_r8, & + 3.4132866515966144e-06_r8, 3.4162503463586878e-06_r8, & + 3.2459703883335307e-06_r8, 2.9573478448414188e-06_r8, & + 2.8592411695562493e-06_r8, 2.7232265719524313e-06_r8, & + 2.7097343367884023e-06_r8, 2.8599255636979069e-06_r8, & + 3.4051492945080399e-06_r8, 4.4814891462492382e-06_r8, & + 7.2399872285961502e-06_r8, 1.2722097232391747e-05_r8, & + 2.5695395747326193e-05_r8, 3.4225982126468068e-05_r8, & + 4.9510173979439489e-05_r8, 7.4193526733326985e-05_r8, & + 0.00010540862334703662_r8, 0.00013605105920307491_r8, & + 0.00016112815190726142_r8, 0.00018171934104822154_r8, & + 0.00019913361501036923_r8, 0.00021543837047695283_r8, & + 0.00023011212536488658_r8, 0.00025884949812279167_r8, & + 0.00027754426326443311_r8, 0.00028886478888359403_r8, & + 0.00029556193956961597_r8, 0.00029926573469229686_r8, & + 0.00030072938180827311_r8, 0.00030290190645560882_r8, & + 0.00030591817527948236_r8, 0.00030910324353762927_r8, & + 0.0003103723868299388_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,58) / & + 4.2850372048007573e-06_r8, 4.1745699420407163e-06_r8, & + 4.2118880324122535e-06_r8, 5.3455210416731365e-06_r8, & + 5.3371237305314729e-06_r8, 5.3259649093361357e-06_r8, & + 4.8610248968449351e-06_r8, 3.6825415606579255e-06_r8, & + 3.3038219946454488e-06_r8, 3.1932200780997932e-06_r8, & + 3.1167974967573658e-06_r8, 3.3126709015229728e-06_r8, & + 4.1620819279321967e-06_r8, 6.1983202996251074e-06_r8, & + 1.4136054614018199e-05_r8, 2.5345978197717941e-05_r8, & + 4.5661488594318631e-05_r8, 6.0535386662878516e-05_r8, & + 8.6986524154414124e-05_r8, 0.00011594234311883718_r8, & + 0.00014394066918698269_r8, 0.00016750847748819058_r8, & + 0.0001883495056879862_r8, 0.00020587068058414051_r8, & + 0.00022102050127208118_r8, 0.00023526167512642141_r8, & + 0.00024781141461599395_r8, 0.00027251567807301015_r8, & + 0.00028980829333107055_r8, 0.00030177200919372565_r8, & + 0.00031035088449211853_r8, 0.00031576088479845737_r8, & + 0.00031865331988806554_r8, 0.00032239829954691911_r8, & + 0.00032561823283620714_r8, 0.00032589732958939935_r8, & + 0.00032729788427264046_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,58) / & + 5.2770464554688845e-06_r8, 5.2949651086144082e-06_r8, & + 5.6983633676980476e-06_r8, 6.5912251627690459e-06_r8, & + 6.5708133024224484e-06_r8, 6.7429588166197378e-06_r8, & + 6.1817390933159025e-06_r8, 5.0007786111171566e-06_r8, & + 4.2352560758934435e-06_r8, 4.0388480810725471e-06_r8, & + 4.0796485762954052e-06_r8, 5.0807150403860808e-06_r8, & + 8.4015500937455943e-06_r8, 1.7428476097105333e-05_r8, & + 3.2185580275191766e-05_r8, 4.74625763518841e-05_r8, & + 6.9812056618418546e-05_r8, 8.9521773356859155e-05_r8, & + 0.00011425287796071637_r8, 0.00013766475239925245_r8, & + 0.00016191821994727281_r8, 0.0001842664824145848_r8, & + 0.00020522083521019445_r8, 0.00022330314745540024_r8, & + 0.00024019885667965241_r8, 0.0002563077666073549_r8, & + 0.00026901659891772879_r8, 0.00029296251999390478_r8, & + 0.00031096011978864579_r8, 0.00032364742202434379_r8, & + 0.0003332605449895383_r8, 0.00033793067760226608_r8, & + 0.00034064821664380889_r8, 0.00034343636344320741_r8, & + 0.00034517700347244554_r8, 0.00034530210403022939_r8, & + 0.00035014151218191688_r8, 0.00034599887597934573_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,58) / & + 6.5196324826146936e-06_r8, 6.930450524715612e-06_r8, & + 7.6270005222620584e-06_r8, 7.6028427446131717e-06_r8, & + 7.5669215452983674e-06_r8, 7.854568802181677e-06_r8, & + 7.4289130239610805e-06_r8, 6.3357866937087839e-06_r8, & + 5.9050410138282108e-06_r8, 7.0411726157344876e-06_r8, & + 1.001073944471695e-05_r8, 1.4726737495562527e-05_r8, & + 2.5598663730969777e-05_r8, 4.0612774665946581e-05_r8, & + 5.470260768134654e-05_r8, 6.6700954527165542e-05_r8, & + 8.5098128964189077e-05_r8, 0.00010501114150380215_r8, & + 0.00013011302802619701_r8, 0.00015529009530972857_r8, & + 0.00018100129463011341_r8, 0.00020362968647313377_r8, & + 0.00022407225700490162_r8, 0.00024290849497455476_r8, & + 0.00026153099583603814_r8, 0.00027830975581558288_r8, & + 0.0002922767438729474_r8, 0.00031869454100692373_r8, & + 0.00033702649882490844_r8, 0.00035076403747484998_r8, & + 0.00036108452831183977_r8, 0.00036565712156567942_r8, & + 0.00036678315053922836_r8, 0.00036886316250534841_r8, & + 0.00037034896329751906_r8, 0.00037285042555398944_r8, & + 0.00037921564658552863_r8, 0.00037936466550770822_r8, & + 0.00037403482607059011_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,58) / & + 8.415433468476665e-06_r8, 9.1927420663072324e-06_r8, & + 9.6805381662227879e-06_r8, 9.1217872129952784e-06_r8, & + 9.1505061581384759e-06_r8, 9.3870132909796349e-06_r8, & + 9.3401095354156875e-06_r8, 9.7368098736880197e-06_r8, & + 1.3571201621654171e-05_r8, 2.4233988756186237e-05_r8, & + 3.5303384686505073e-05_r8, 4.3204435638273002e-05_r8, & + 5.4876176690532608e-05_r8, 6.5048739130918842e-05_r8, & + 7.5622693916175201e-05_r8, 8.5757361362787782e-05_r8, & + 0.00010248917338631233_r8, 0.00012203812536339921_r8, & + 0.00014824670816811558_r8, 0.00017570198564135714_r8, & + 0.00020243994683419314_r8, 0.00022410146380373914_r8, & + 0.00024654580487048865_r8, 0.00026760068986456228_r8, & + 0.00028690005162890686_r8, 0.00030404234134746405_r8, & + 0.0003186923135980614_r8, 0.00034806299386758638_r8, & + 0.00036766893970225918_r8, 0.00038113075051803301_r8, & + 0.00039001642236853286_r8, 0.00039491450619257571_r8, & + 0.00039582113881088561_r8, 0.00039646517369520609_r8, & + 0.00039688821407982881_r8, 0.00040019400380151285_r8, & + 0.0003987979672647518_r8, 0.00039327643216788223_r8, & + 0.00038910704776512001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,58) / & + 1.0560950239874883e-05_r8, 1.1270237981070169e-05_r8, & + 1.1363744397973151e-05_r8, 1.1946599136906307e-05_r8, & + 1.2163689910526584e-05_r8, 1.2709123927607578e-05_r8, & + 1.4154144245266695e-05_r8, 1.8966426296978614e-05_r8, & + 3.0827984359138934e-05_r8, 4.5104724861881876e-05_r8, & + 5.4429939964110335e-05_r8, 6.2568052663985438e-05_r8, & + 7.1306063527578676e-05_r8, 7.9215281796125327e-05_r8, & + 8.9314283571843584e-05_r8, 0.00010240226111804819_r8, & + 0.00012284867035250788_r8, 0.00014578016300756622_r8, & + 0.00017197993241364301_r8, 0.00019952395508056095_r8, & + 0.00022532856644112286_r8, 0.0002497447951539018_r8, & + 0.00027385168641142816_r8, 0.00029711169293748508_r8, & + 0.00031784659333975997_r8, 0.00033587086475951377_r8, & + 0.00035072499505139958_r8, 0.00038269236557095655_r8, & + 0.00040514178757516717_r8, 0.00041735294258147111_r8, & + 0.00042359601340993499_r8, 0.00042673626641435584_r8, & + 0.00042645408045866425_r8, 0.00042585631079064762_r8, & + 0.00042597043393753252_r8, 0.00042310960056701985_r8, & + 0.00041748420697996044_r8, 0.00041332469185131405_r8, & + 0.00040542615018184202_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,58) / & + 1.1696029273038765e-05_r8, 1.2156402096331092e-05_r8, & + 1.1903575481318335e-05_r8, 1.3973492595715535e-05_r8, & + 1.436053525996639e-05_r8, 1.4996190770432095e-05_r8, & + 1.7133496667924829e-05_r8, 2.1502481701010153e-05_r8, & + 3.3802799380964186e-05_r8, 5.657601767896394e-05_r8, & + 6.4655873795508128e-05_r8, 7.1246897613625587e-05_r8, & + 7.9080696352172697e-05_r8, 8.645678212843919e-05_r8, & + 9.5609569378832574e-05_r8, 0.00010910954625351351_r8, & + 0.0001358175918549159_r8, 0.00016452378389110266_r8, & + 0.00019202510054617446_r8, 0.00021899683803507073_r8, & + 0.00024448364260250141_r8, 0.0002713619125600692_r8, & + 0.00029771098923736376_r8, 0.00032244331887160149_r8, & + 0.00034442002560396151_r8, 0.00036310596680092248_r8, & + 0.00037836224834901343_r8, 0.0004110726724676237_r8, & + 0.00043402858068662415_r8, 0.00044853200647610759_r8, & + 0.00045615166861836631_r8, 0.0004585773188757935_r8, & + 0.00045782252962137777_r8, 0.00045597911111050141_r8, & + 0.00045300751111231638_r8, 0.00044470732073101019_r8, & + 0.00043888904685399825_r8, 0.00043555435830052076_r8, & + 0.00042626083523299515_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,58) / & + 9.9447033123252522e-06_r8, 1.1544458354461614e-05_r8, & + 1.1996842968940714e-05_r8, 1.2229351435248986e-05_r8, & + 1.2238951361008341e-05_r8, 1.3215897684421751e-05_r8, & + 2.1582457774142639e-05_r8, 2.8955806197917588e-05_r8, & + 4.3501637939844582e-05_r8, 7.11127204277413e-05_r8, & + 7.9273295125035519e-05_r8, 8.5333000962850125e-05_r8, & + 9.4470391847836617e-05_r8, 0.00010044316533073059_r8, & + 0.00010833792904928595_r8, 0.0001194562549724541_r8, & + 0.00015016607500554198_r8, 0.00018450284821018068_r8, & + 0.00021609844040625383_r8, 0.00024381161313784768_r8, & + 0.00027014036521844933_r8, 0.00029464820433598558_r8, & + 0.00032046562856431635_r8, 0.0003447565272881154_r8, & + 0.00036519649236789383_r8, 0.00038368740668309531_r8, & + 0.00039985422500835374_r8, 0.00043395756004614022_r8, & + 0.00046018684668024644_r8, 0.00047533036157087756_r8, & + 0.00048472313163797938_r8, 0.00048707103471677703_r8, & + 0.00048756739113969816_r8, 0.00048434055149938001_r8, & + 0.00047794044720202297_r8, 0.00046686751620990158_r8, & + 0.00045823522219272622_r8, 0.00045369528140499214_r8, & + 0.00044830893874290103_r8, 0.00044745093052095842_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,58) / & + 7.4493396309957075e-06_r8, 1.0276162136521273e-05_r8, & + 1.2862055390599318e-05_r8, 1.1782437123400754e-05_r8, & + 1.3184721712075833e-05_r8, 1.9985073068390635e-05_r8, & + 4.4484357638758767e-05_r8, 6.7254152040756589e-05_r8, & + 8.06610260673917e-05_r8, 8.9924957816023233e-05_r8, & + 9.5167883739595004e-05_r8, 9.9615993827621192e-05_r8, & + 0.00010750847497520567_r8, 0.00011556737680054953_r8, & + 0.00012580948656149444_r8, 0.00013848028643709896_r8, & + 0.00016862807091740057_r8, 0.00020644321376807909_r8, & + 0.00023932067527646827_r8, 0.00026684511808939155_r8, & + 0.00029415427201843455_r8, 0.00031939677212072912_r8, & + 0.00034322732568151549_r8, 0.00036620631051092719_r8, & + 0.00038641268911904567_r8, 0.00040434153299789171_r8, & + 0.00041869282162069945_r8, 0.0004543166113638175_r8, & + 0.00048339115759491418_r8, 0.00049741987671020479_r8, & + 0.0005071161329264955_r8, 0.00051047336618570839_r8, & + 0.00051239997012528259_r8, 0.00051056358479633604_r8, & + 0.00050490331521669814_r8, 0.0004910630281172696_r8, & + 0.0004783913506677315_r8, 0.00047257888205419376_r8, & + 0.00046545211033394732_r8, 0.00046296381261745303_r8, & + 0.00046082004899897639_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,58) / & + 7.1458415345718865e-06_r8, 9.6309256316093867e-06_r8, & + 1.1414384454018919e-05_r8, 1.1758312059637842e-05_r8, & + 1.293791166584406e-05_r8, 1.6573611949429388e-05_r8, & + 2.8558366127513961e-05_r8, 4.8811961549767337e-05_r8, & + 7.334003663456505e-05_r8, 8.8238614171582709e-05_r8, & + 9.9617399031076402e-05_r8, 0.00010713645211120371_r8, & + 0.00012009724514169573_r8, 0.00013327839549862679_r8, & + 0.00014625792000162841_r8, 0.00016174522607580587_r8, & + 0.0001944216352406606_r8, 0.00023178439603591087_r8, & + 0.00026531835271441715_r8, 0.00029345842428454952_r8, & + 0.00032188119156607056_r8, 0.00034799058447629099_r8, & + 0.00037009074491944601_r8, 0.00039206248834086941_r8, & + 0.00041228592040511847_r8, 0.00043085185856120688_r8, & + 0.00044203646799635085_r8, 0.00047735873878627873_r8, & + 0.00050379231318767304_r8, 0.00051792816775496711_r8, & + 0.00052704368584642906_r8, 0.00053191362522318211_r8, & + 0.00053492409894654485_r8, 0.0005345210801593628_r8, & + 0.00052953079619458136_r8, 0.00051576289351754447_r8, & + 0.00049895658476582631_r8, 0.00048906318837486332_r8, & + 0.00048319657242975353_r8, 0.00047944435428915594_r8, & + 0.0004760850517306752_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,58) / & + 8.495579516476386e-06_r8, 9.8066449231818722e-06_r8, & + 1.0130344273014119e-05_r8, 1.1827859258417555e-05_r8, & + 1.2027116012176723e-05_r8, 1.2416852189246151e-05_r8, & + 1.4397446171270832e-05_r8, 1.9352451214747854e-05_r8, & + 3.2560404482787501e-05_r8, 4.6171291379061947e-05_r8, & + 6.2226859569261333e-05_r8, 7.5640465949249224e-05_r8, & + 0.00010499725832426377_r8, 0.00013589399082701098_r8, & + 0.00016223469645872858_r8, 0.00018527997446310046_r8, & + 0.00022627690207279783_r8, 0.00026355175830169054_r8, & + 0.00029627934863469456_r8, 0.00032421065564808521_r8, & + 0.0003522296454344533_r8, 0.00037713450535445294_r8, & + 0.0003996269174517362_r8, 0.00042036773484311165_r8, & + 0.00044007763203856204_r8, 0.00045894982431877887_r8, & + 0.00047346864031032001_r8, 0.00050618209331347217_r8, & + 0.00052818081563249552_r8, 0.00054158034597102619_r8, & + 0.00055046095922223735_r8, 0.00055657787465153625_r8, & + 0.00055967264089560513_r8, 0.0005582343508087461_r8, & + 0.00055322166234697935_r8, 0.0005423726544835566_r8, & + 0.00052589309466775881_r8, 0.00051237938216774687_r8, & + 0.00050276158742990789_r8, 0.00049358193332879651_r8, & + 0.0004887361142105357_r8, 0.00048679383625943357_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,58) / & + 9.4890573630457406e-06_r8, 9.8885548095078356e-06_r8, & + 9.8304179374458706e-06_r8, 1.2924920061457079e-05_r8, & + 1.302980343544202e-05_r8, 1.273769853531244e-05_r8, & + 1.2364841672361131e-05_r8, 1.2322056504640046e-05_r8, & + 1.3401890096465922e-05_r8, 1.6591275330359929e-05_r8, & + 2.3977800118826741e-05_r8, 3.3873244035381779e-05_r8, & + 6.9198707588729509e-05_r8, 0.0001094902555282543_r8, & + 0.00014923056625698117_r8, 0.00018864190449987625_r8, & + 0.00024923511836471939_r8, 0.00029332734081214816_r8, & + 0.00032569731610714367_r8, 0.00035265447303769841_r8, & + 0.00037804152556604258_r8, 0.00039981586973242012_r8, & + 0.00042273369115800128_r8, 0.00044484810379170014_r8, & + 0.00046536474395066953_r8, 0.00048524139987371435_r8, & + 0.00050208975986127898_r8, 0.00053514959286639547_r8, & + 0.00055466988266734897_r8, 0.00056744539566632086_r8, & + 0.00057883972341014737_r8, 0.00058653679715636969_r8, & + 0.0005871935772984294_r8, 0.00058322230940246751_r8, & + 0.0005774355790330284_r8, 0.0005703461781460886_r8, & + 0.00056010615764146465_r8, 0.00054739847806909879_r8, & + 0.00053224923143072901_r8, 0.00051189011904428287_r8, & + 0.00050358551521322513_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,58) / & + 1.0241024088397026e-05_r8, 1.0148279248477078e-05_r8, & + 1.0044024464106934e-05_r8, 1.2776480520786548e-05_r8, & + 1.2737825763641947e-05_r8, 1.2591870704537032e-05_r8, & + 1.150788913347636e-05_r8, 1.064704996169564e-05_r8, & + 1.0574607186911006e-05_r8, 1.2589169375202571e-05_r8, & + 1.8720109937433215e-05_r8, 2.8023826437794785e-05_r8, & + 6.0158319460844255e-05_r8, 9.6551707018965798e-05_r8, & + 0.00013431034607072598_r8, 0.00018039790676706844_r8, & + 0.00026179737812773559_r8, 0.00032009141992335926_r8, & + 0.00035934205801165946_r8, 0.00038750142662860473_r8, & + 0.00040842404102129352_r8, 0.00042929399263108662_r8, & + 0.00044895776416818082_r8, 0.00046880972986592913_r8, & + 0.00048935865202895531_r8, 0.00050869852666055905_r8, & + 0.0005255196207909396_r8, 0.00056174379266725515_r8, & + 0.00058197335970962727_r8, 0.00059650420569812919_r8, & + 0.0006089154216208884_r8, 0.00061456334299091436_r8, & + 0.00061278391906556464_r8, 0.00060743524805070153_r8, & + 0.00060101936431238446_r8, 0.00059457279337714591_r8, & + 0.00058869384635388178_r8, 0.0005828353034197382_r8, & + 0.00056741040471593217_r8, 0.00053813517624571163_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,58) / & + 1.0422440063971089e-05_r8, 1.0276237424478028e-05_r8, & + 9.7917558101455419e-06_r8, 1.1657007503420416e-05_r8, & + 1.1823042012502149e-05_r8, 1.1894489688748193e-05_r8, & + 1.1968625279786654e-05_r8, 1.1739411398024871e-05_r8, & + 1.3254610473796814e-05_r8, 1.810198177469973e-05_r8, & + 2.6552961925588078e-05_r8, 3.814349211863705e-05_r8, & + 6.8624841249919103e-05_r8, 0.00010316206436166944_r8, & + 0.00013858479748088024_r8, 0.00018375191057104886_r8, & + 0.00027150574311252552_r8, 0.00033711663775728442_r8, & + 0.00038653240028248205_r8, 0.00042125842329304193_r8, & + 0.00044407351334796794_r8, 0.00046595454769695656_r8, & + 0.00048407964767287312_r8, 0.00050239838076431031_r8, & + 0.00052001767064829331_r8, 0.00053677396808733051_r8, & + 0.00055192283958603009_r8, 0.00058631140874179947_r8, & + 0.0006109502230736691_r8, 0.00062690175197032338_r8, & + 0.00063598244625552851_r8, 0.00063835354527019329_r8, & + 0.0006372583701195996_r8, 0.0006320836757456171_r8, & + 0.00062522443335744386_r8, 0.00061877633654664138_r8, & + 0.00061320623971439843_r8, 0.00060979086228597789_r8, & + 0.00060864118889410992_r8, 0.0006033960086155568_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,58) / & + 1.1865213988459755e-05_r8, 1.1710452620309584e-05_r8, & + 1.1711673070350839e-05_r8, 1.3314707933311432e-05_r8, & + 1.3626970344138612e-05_r8, 1.3504557851132497e-05_r8, & + 1.334455076109216e-05_r8, 1.6794119566829049e-05_r8, & + 2.2982204809247833e-05_r8, 3.3507287876740766e-05_r8, & + 4.8626061876607589e-05_r8, 6.7502416039118553e-05_r8, & + 0.0001024559704302778_r8, 0.00013684918794497597_r8, & + 0.00017265574371462457_r8, 0.00021556948827136451_r8, & + 0.00029405443182053894_r8, 0.0003565424934254426_r8, & + 0.00040544365748431326_r8, 0.00044085924244911053_r8, & + 0.00046779984031120893_r8, 0.00049242340779582019_r8, & + 0.00051298809239125093_r8, 0.00053101956217264153_r8, & + 0.00054691422694688198_r8, 0.00056239696056924215_r8, & + 0.00057778763096636245_r8, 0.00061118031133836407_r8, & + 0.00064192366631941737_r8, 0.00065659685553841091_r8, & + 0.00066254954002484821_r8, 0.00066102529806056503_r8, & + 0.00065817939246129832_r8, 0.00065259682579938772_r8, & + 0.00064563911356088936_r8, 0.00064016778187685956_r8, & + 0.00063359823838005558_r8, 0.00062973924155449411_r8, & + 0.00062505295545324904_r8, 0.00061417933319024109_r8, & + 0.00060779225520103751_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,58) / & + 1.3402802633699377e-05_r8, 1.2833400502838e-05_r8, & + 1.3981596877352904e-05_r8, 1.8184117212400133e-05_r8, & + 2.2437186674373844e-05_r8, 2.26406205059856e-05_r8, & + 1.9942990092994519e-05_r8, 2.4450686652110799e-05_r8, & + 3.756505687796385e-05_r8, 5.4159099862986391e-05_r8, & + 7.5278140139245104e-05_r8, 9.8655338024705404e-05_r8, & + 0.00013620941365231502_r8, 0.00017713182798442605_r8, & + 0.00021512924673454883_r8, 0.00025397445390337508_r8, & + 0.00032251932255432635_r8, 0.00037880361706537719_r8, & + 0.00042490563921432996_r8, 0.000463768915526501_r8, & + 0.00049417682519429693_r8, 0.00052028546361397143_r8, & + 0.00054441460638900271_r8, 0.00056412920898564218_r8, & + 0.00057994345343320437_r8, 0.00059616323923721189_r8, & + 0.00061346384181098384_r8, 0.00064735212230534881_r8, & + 0.00067337611423660233_r8, 0.00068284164224708505_r8, & + 0.00068376345486807473_r8, 0.00068239297975001027_r8, & + 0.0006694716334585245_r8, 0.00066743157833962067_r8, & + 0.00066287781932367887_r8, 0.00065747265018641185_r8, & + 0.00064966971867906663_r8, 0.00064341246264498851_r8, & + 0.00063716259033272653_r8, 0.0006281738899816693_r8, & + 0.00062285968636490558_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,58) / & + 1.6465467292125749e-05_r8, 1.5826667799021675e-05_r8, & + 1.606077295562989e-05_r8, 2.6806856371483269e-05_r8, & + 3.5576121455457663e-05_r8, 3.7120124059613342e-05_r8, & + 2.8456856161343711e-05_r8, 3.766543287395295e-05_r8, & + 5.9703593300737831e-05_r8, 8.0993755672403831e-05_r8, & + 0.00010571889003310502_r8, 0.00012852850936531426_r8, & + 0.00016635142569461781_r8, 0.00021029017583510922_r8, & + 0.00024790325837771403_r8, 0.00028474562059964864_r8, & + 0.00035264068557064538_r8, 0.00041296298602203817_r8, & + 0.00045924229034953728_r8, 0.00050007806477507446_r8, & + 0.00053466451409322233_r8, 0.00056151091126871845_r8, & + 0.00058380757546249936_r8, 0.0006075142732408558_r8, & + 0.0006279516634743748_r8, 0.00064815501688180518_r8, & + 0.00066500680876785737_r8, 0.00069653853876255596_r8, & + 0.00071709943743980098_r8, 0.00072030217026768778_r8, & + 0.00070856245665793969_r8, 0.00070841009531808895_r8, & + 0.00066804640708848352_r8, 0.00069444461695441378_r8, & + 0.0006931556792910353_r8, 0.00068250391348682643_r8, & + 0.00066665737889527721_r8, 0.00065756133183041685_r8, & + 0.0006520865600107825_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,58) / & + 2.8190512618930624e-05_r8, 2.7048197310995805e-05_r8, & + 2.6533459680204818e-05_r8, 4.2251466139596519e-05_r8, & + 4.5327570064853322e-05_r8, 4.8494512484910602e-05_r8, & + 5.0910027039843846e-05_r8, 6.7437731896375914e-05_r8, & + 9.0268985983999643e-05_r8, 0.00011782748821099566_r8, & + 0.00014078892159807512_r8, 0.00016250393035497913_r8, & + 0.00020276912256865287_r8, 0.00024543543667449182_r8, & + 0.00028610052058395503_r8, 0.00032366007766158113_r8, & + 0.00039029093684264665_r8, 0.00044634894520156931_r8, & + 0.00049197735619694357_r8, 0.00053124921456328643_r8, & + 0.00056390356744914034_r8, 0.00059099656005196833_r8, & + 0.000614854207492027_r8, 0.00064096484498610544_r8, & + 0.00066354804886447228_r8, 0.00068382649827498638_r8, & + 0.00070025509277208092_r8, 0.000729639767623659_r8, & + 0.00073686397463381792_r8, 0.00073819046623500276_r8, & + 0.00072943435066300866_r8, 0.00070622583854359317_r8, & + 0.00068066089864580743_r8, 0.0007261883874203186_r8, & + 0.00072844839394050481_r8, 0.0007227998205984169_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,58) / & + 4.9733961223556635e-05_r8, 5.1057409015280787e-05_r8, & + 5.4004126627458905e-05_r8, 6.4529349003227188e-05_r8, & + 6.0869749573596507e-05_r8, 6.8189162588160594e-05_r8, & + 9.1416443567000642e-05_r8, 0.00010909250585321573_r8, & + 0.00013106463846326475_r8, 0.00015576755362134477_r8, & + 0.00017694326432585785_r8, 0.00020267622085240602_r8, & + 0.00023744496620076511_r8, 0.0002759714243049696_r8, & + 0.00031665952431007453_r8, 0.00035310693082107154_r8, & + 0.00041285051317509235_r8, 0.00046446889093487394_r8, & + 0.00050642848567917977_r8, 0.00054429954772206393_r8, & + 0.00057590232900078114_r8, 0.00060351268800316535_r8, & + 0.00062806392466710091_r8, 0.00065243195794801386_r8, & + 0.00067316519568245622_r8, 0.0006923308577565688_r8, & + 0.00070898525991332684_r8, 0.00073462251179794646_r8, & + 0.00073616522693173794_r8, 0.00074545212855660445_r8, & + 0.0007511496112645933_r8, 0.0007220272360157513_r8, & + 0.00072405445878199744_r8, 0.00074974213725878482_r8, & + 0.00075379244067810781_r8, 0.0007417059490625209_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,58) / & + 9.1072859793300871e-05_r8, 9.377888637193426e-05_r8, & + 9.8176358146591299e-05_r8, 0.00010183704857252581_r8, & + 0.00010221331477907525_r8, 0.00010595126257441603_r8, & + 0.00012590674987101989_r8, 0.00014149120576707085_r8, & + 0.0001534458700336276_r8, 0.00017205576761101864_r8, & + 0.00019232131731253125_r8, 0.0002172354239348876_r8, & + 0.00024880901042234887_r8, 0.00028279113007193424_r8, & + 0.00032444867516007804_r8, 0.00036190843439719181_r8, & + 0.00042188168857478447_r8, 0.00047550502631012263_r8, & + 0.00051715053087561611_r8, 0.00055556059482864378_r8, & + 0.00058778566009029965_r8, 0.00061594656097753724_r8, & + 0.00064063331096073149_r8, 0.00066526416652095506_r8, & + 0.00068656614864447108_r8, 0.00070665720378769534_r8, & + 0.00072296350367263189_r8, 0.00074792461970665119_r8, & + 0.00075410231155677797_r8, 0.00075986486111244411_r8, & + 0.00076588538324754817_r8, 0.00075124778231811515_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,58) / & + 0.00013502448414726742_r8, 0.00012592545654601861_r8, & + 0.00012916057834285491_r8, 0.00013545907827852344_r8, & + 0.00014160930918893425_r8, 0.00014790871633867092_r8, & + 0.00015824210636051518_r8, 0.0001695855707383273_r8, & + 0.00018421771089249605_r8, 0.00018600430239245101_r8, & + 0.00020992840311889611_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,58) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,58) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,58) / & + 0.00011719250890657606_r8, 8.6350599945891454e-05_r8, & + 9.0314067796343764e-05_r8, 9.8773868950868357e-05_r8, & + 0.00011170119919191054_r8, 0.00013037747589364973_r8, & + 0.00017092966460448858_r8, 0.00020597787957386322_r8, & + 0.00023784216906538465_r8, 0.00019060630156540412_r8, & + 0.00018198203211273738_r8, 0.00012422012983294268_r8, & + 0.0001160424464656783_r8, 0.00011895436398219349_r8, & + 0.00011406467693510241_r8, 0.0001045561758349156_r8, & + 8.6667844109220159e-05_r8, 8.404659748142561e-05_r8, & + 8.2497832647576857e-05_r8, 8.1659672928615309e-05_r8, & + 8.2162232365421504e-05_r8, 8.1699168297171668e-05_r8, & + 8.8497100974964653e-05_r8, 8.9012866166508927e-05_r8, & + 9.48410853751546e-05_r8, 9.7121272254460669e-05_r8, & + 0.00010229567004876235_r8, 0.00011187372918503349_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,58) / & + 9.9354412961391128e-05_r8, 8.6938436083413087e-05_r8, & + 9.3325990745423952e-05_r8, 0.00010550707648953345_r8, & + 0.00011319618802394848_r8, 0.00012548788109245776_r8, & + 0.0001648582497825965_r8, 0.0001767109317061978_r8, & + 0.00022920087912021235_r8, 0.00018857676353500872_r8, & + 0.00017418089608904979_r8, 0.00012327417975051776_r8, & + 0.00011130630640139378_r8, 0.00010672696277759361_r8, & + 0.00011529785974137175_r8, 0.00010550738885150795_r8, & + 9.0578156854144391e-05_r8, 8.5923915319582075e-05_r8, & + 8.4394569107028476e-05_r8, 8.369391807439938e-05_r8, & + 8.3994851255196238e-05_r8, 8.3350180932124175e-05_r8, & + 8.7201184169735432e-05_r8, 8.8474873371531909e-05_r8, & + 9.6341688813927993e-05_r8, 9.8825878156737055e-05_r8, & + 0.0001031844312890367_r8, 0.00011142038539659947_r8, & + 0.00011622894684755181_r8, 0.00011739717727133681_r8, & + 0.00011823034321154199_r8, 0.00011634264556177672_r8, & + 0.00011575482219363016_r8, 0.00012883088379332826_r8, & + 0.00012722547972884621_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,58) / & + 9.3560390102304428e-05_r8, 8.4352305278090426e-05_r8, & + 9.5925970191229208e-05_r8, 0.00011225951104741846_r8, & + 0.00011899643174888546_r8, 0.00011479206667715559_r8, & + 0.0001422448662608448_r8, 0.00015221517929436392_r8, & + 0.00022453809192924025_r8, 0.00018425330945772195_r8, & + 0.00015954463295077961_r8, 0.00011866693834342536_r8, & + 9.2609327515880946e-05_r8, 8.5694100037829294e-05_r8, & + 0.00010125849110629311_r8, 9.6452126219048428e-05_r8, & + 8.8901693285821677e-05_r8, 8.1190676755564105e-05_r8, & + 8.0967235869386874e-05_r8, 8.1066674713419547e-05_r8, & + 8.1406164924818837e-05_r8, 8.0861982576725249e-05_r8, & + 8.1090660140128201e-05_r8, 8.414267153648905e-05_r8, & + 9.1074140373724176e-05_r8, 9.5174605921158375e-05_r8, & + 9.8803866136708615e-05_r8, 0.00010690829393800818_r8, & + 0.00011551590244654248_r8, 0.00011924244094096313_r8, & + 0.00012023090773252549_r8, 0.00011947276187481932_r8, & + 0.00012013560283572059_r8, 0.00012480423760751445_r8, & + 0.00012160625442543675_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,58) / & + 8.8933666896848302e-05_r8, 8.1334965455123919e-05_r8, & + 8.7493385614129411e-05_r8, 0.00011916141292082852_r8, & + 0.00013268780885415641_r8, 0.00011259971992941247_r8, & + 0.00012733326306983659_r8, 0.00014024132390466043_r8, & + 0.00019547384036566699_r8, 0.0001759407587123825_r8, & + 0.00014333739956868898_r8, 0.00010772687284586609_r8, & + 7.7735025723105463e-05_r8, 7.6394735195243173e-05_r8, & + 8.6127853641302147e-05_r8, 8.9266102431791831e-05_r8, & + 8.1223926452799451e-05_r8, 7.6631773879394939e-05_r8, & + 7.6219741284964073e-05_r8, 7.7602580655849337e-05_r8, & + 7.8250608293988169e-05_r8, 7.8763462828127675e-05_r8, & + 7.9706257077185791e-05_r8, 8.1531982864042286e-05_r8, & + 8.9197566605625449e-05_r8, 9.368633347147897e-05_r8, & + 9.5705967169930982e-05_r8, 0.00010236161450662833_r8, & + 0.00011064623443957357_r8, 0.00011959142231072972_r8, & + 0.00011772256976750798_r8, 0.00011560959906804683_r8, & + 0.00011456248130011225_r8, 0.00011635169166806753_r8, & + 0.00011711713361246958_r8, 0.00011450829151414363_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,58) / & + 8.5698410535137168e-05_r8, 9.5257022030986166e-05_r8, & + 8.7933202632509079e-05_r8, 0.00011819661142635229_r8, & + 0.00013173682107045186_r8, 0.00011832226271095689_r8, & + 0.00014340762722337279_r8, 0.00014843629320957706_r8, & + 0.00016011176519513146_r8, 0.00012812142043728444_r8, & + 0.00010179463304673219_r8, 8.9071086016590756e-05_r8, & + 7.5321050735717595e-05_r8, 7.6840127844363137e-05_r8, & + 8.2972695304245323e-05_r8, 8.2475426623794071e-05_r8, & + 7.6574502029792076e-05_r8, 7.5352948830694237e-05_r8, & + 7.5656276360727755e-05_r8, 7.8041688938783348e-05_r8, & + 7.9686164245290487e-05_r8, 8.1388470686188715e-05_r8, & + 8.3603794370510322e-05_r8, 8.6458141495683217e-05_r8, & + 9.5073440985243292e-05_r8, 9.8440168794476619e-05_r8, & + 0.00010137389691210944_r8, 0.0001081196481029536_r8, & + 0.00011760245602755303_r8, 0.00012312608996465783_r8, & + 0.00011740098884241945_r8, 0.00011626611928093676_r8, & + 0.00011473377534978606_r8, 0.00011553700909995881_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,58) / & + 8.1516775518167801e-05_r8, 0.00010783675999565663_r8, & + 9.7820748038417174e-05_r8, 0.00011056178114828621_r8, & + 0.00011102213238815298_r8, 0.00012068929606625698_r8, & + 0.00015127763330545225_r8, 0.00011821994255428954_r8, & + 9.4573495117888478e-05_r8, 8.104234670962603e-05_r8, & + 7.4848426765703409e-05_r8, 7.2079019847490431e-05_r8, & + 6.9916289861337081e-05_r8, 7.2098658467207395e-05_r8, & + 7.3035153217557058e-05_r8, 7.4135744058416951e-05_r8, & + 7.3438750072070194e-05_r8, 7.3752271310670634e-05_r8, & + 7.5754715124632329e-05_r8, 7.8975110740475989e-05_r8, & + 8.1833640592958548e-05_r8, 8.514270535316698e-05_r8, & + 8.8975500737506981e-05_r8, 9.3241633225619859e-05_r8, & + 9.9174731337343667e-05_r8, 0.00010325041059189854_r8, & + 0.00010899486611849709_r8, 0.00011862561181888211_r8, & + 0.00012230881292798747_r8, 0.0001211138799230459_r8, & + 0.0001191662948776598_r8, 0.00011940100768873268_r8, & + 0.00012001741881338168_r8, 0.00011998782419896094_r8, & + 0.00012059732196522097_r8, 0.0001211850139877327_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,59) / & + 0.00011312970914710224_r8, 0.00011719866035517535_r8, & + 0.00012184166838553061_r8, 0.00013015688916471197_r8, & + 0.0001305327892496236_r8, 0.00013931987511010219_r8, & + 0.00014729902072978872_r8, 0.00015617418900641168_r8, & + 0.0001616451432808868_r8, 0.00016759294887409073_r8, & + 0.00017048266236776454_r8, 0.00017409858680570277_r8, & + 0.00017384809220274768_r8, 0.00017957320817692867_r8, & + 0.00018579309859889827_r8, 0.00019059944670484513_r8, & + 0.00019677152295539987_r8, 0.00020844433999979794_r8, & + 0.00021649184807811912_r8, 0.00022380124139759756_r8, & + 0.00022965521158853261_r8, 0.00023634434369016729_r8, & + 0.00024043014115691355_r8, 0.00024426097830243781_r8, & + 0.00024796781908214269_r8, 0.00025085982866089373_r8, & + 0.00025353526626644622_r8, 0.00026301023253374838_r8, & + 0.00026986360048108891_r8, 0.00027500698183589758_r8, & + 0.000278639009048461_r8, 0.00028331822075038738_r8, & + 0.00028577169032267905_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,59) / & + 9.5112722883346044e-05_r8, 9.8427830533102603e-05_r8, & + 0.00010398947060373862_r8, 0.00011183020501061886_r8, & + 0.00011179815980602323_r8, 0.00012134905135655813_r8, & + 0.00012315563668484369_r8, 0.00013599069117693822_r8, & + 0.00014590842468009959_r8, 0.0001543224274116102_r8, & + 0.00016066563976854426_r8, 0.00016810586020472114_r8, & + 0.0001740224891072039_r8, 0.00018015601619130297_r8, & + 0.00018487331514579336_r8, 0.00018851464297289254_r8, & + 0.00019450924159916176_r8, 0.000202839453265016_r8, & + 0.00020915387526478367_r8, 0.00021597730694330208_r8, & + 0.00022237900703777318_r8, 0.00022890951211937993_r8, & + 0.00023376931524592216_r8, 0.00023821036615227117_r8, & + 0.00024245312190343697_r8, 0.00024616902139252417_r8, & + 0.00024933277689594721_r8, 0.00025849222226895392_r8, & + 0.00026622570912355331_r8, 0.00027234258569977141_r8, & + 0.00027711619182784294_r8, 0.00028196925795000014_r8, & + 0.00028532006900991273_r8, 0.00028744281408227154_r8, & + 0.00029085586204872176_r8, 0.00029360219237039643_r8, & + 0.00029611523035525587_r8, 0.00029561176431337934_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,59) / & + 5.9012515607116122e-05_r8, 5.9747393850900219e-05_r8, & + 6.4819714137374674e-05_r8, 7.1349264665529873e-05_r8, & + 7.5838577504263894e-05_r8, 8.1978506996707888e-05_r8, & + 7.3062475754098524e-05_r8, 8.6942495875126004e-05_r8, & + 9.9705644215821945e-05_r8, 0.00011080991876000136_r8, & + 0.0001211815083363075_r8, 0.00013390123601884034_r8, & + 0.000151114241547132_r8, 0.0001600232676630838_r8, & + 0.00016547402776494324_r8, 0.00017036505508198686_r8, & + 0.00017731932604785386_r8, 0.000183079746889195_r8, & + 0.00018806779055331914_r8, 0.00019306997986115351_r8, & + 0.00019804349841745581_r8, 0.00020412952632540903_r8, & + 0.00020981398829528534_r8, 0.00021554919720944665_r8, & + 0.00022130221525354095_r8, 0.00022702077976497677_r8, & + 0.00023231795626412567_r8, 0.00024400652550430515_r8, & + 0.00025408356927926338_r8, 0.00026308427062192907_r8, & + 0.00027054074463279612_r8, 0.0002765064060024376_r8, & + 0.0002810302290587567_r8, 0.00028466833332267428_r8, & + 0.00028867324395696171_r8, 0.00029166596609729367_r8, & + 0.00029395921788269447_r8, 0.00029450131970920536_r8, & + 0.00029424425956321872_r8, 0.00029224052859163751_r8, & + 0.00029174207308739329_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,59) / & + 3.8118971848104227e-05_r8, 3.8319843151054011e-05_r8, & + 4.0968781070494515e-05_r8, 4.3793474125200437e-05_r8, & + 4.7978774719459043e-05_r8, 5.1259675253743151e-05_r8, & + 4.526071529080268e-05_r8, 4.7579568212514522e-05_r8, & + 5.3593189937414653e-05_r8, 6.309719670350591e-05_r8, & + 7.3907219476265743e-05_r8, 8.9492897738876567e-05_r8, & + 0.0001130610377600189_r8, 0.00012570413244397311_r8, & + 0.00013157403585110415_r8, 0.0001401879497330732_r8, & + 0.00015268962378597677_r8, 0.00016413360693653316_r8, & + 0.00017083498434719953_r8, 0.00017651289458285623_r8, & + 0.00018098240506222692_r8, 0.00018616133538427451_r8, & + 0.00019070715381206161_r8, 0.00019549064928970182_r8, & + 0.00020047132978597652_r8, 0.00020613386988580743_r8, & + 0.00021210097333802349_r8, 0.00022772034964922_r8, & + 0.00024023027952940022_r8, 0.00025131786007011016_r8, & + 0.00026080692625120316_r8, 0.0002691572808927424_r8, & + 0.00027549542539988459_r8, 0.00027940426419207455_r8, & + 0.00028235114025829166_r8, 0.00028537571390028669_r8, & + 0.00028767574017097891_r8, 0.00028983476136410527_r8, & + 0.00029092952656970819_r8, 0.00029137436333835875_r8, & + 0.00029177181222747985_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,59) / & + 2.247260581420463e-05_r8, 2.2567929791718322e-05_r8, & + 2.2589722859986366e-05_r8, 2.6052910887597162e-05_r8, & + 2.716440129982826e-05_r8, 2.9469627924523669e-05_r8, & + 2.6030084071556208e-05_r8, 2.8075409518868738e-05_r8, & + 3.046731211944421e-05_r8, 3.4536832956272129e-05_r8, & + 3.8905255487133946e-05_r8, 4.8761904988991159e-05_r8, & + 6.3839206824440261e-05_r8, 7.2374402278177494e-05_r8, & + 7.7717524374945702e-05_r8, 8.7032586264367676e-05_r8, & + 0.00010287435480408973_r8, 0.00011834956749311434_r8, & + 0.00013008648267647793_r8, 0.00014241629736294335_r8, & + 0.00015174429293793708_r8, 0.00016034906448842481_r8, & + 0.0001659099262663313_r8, 0.00017209997617221069_r8, & + 0.00017742722709130753_r8, 0.00018222422606262498_r8, & + 0.00018695327417062277_r8, 0.00019930364856471627_r8, & + 0.000212630240095673_r8, 0.00022668958691844345_r8, & + 0.00024000150796939693_r8, 0.00025090635328565731_r8, & + 0.00025992568445579433_r8, 0.00026647160441598645_r8, & + 0.00027147462272716249_r8, 0.00027711593108629469_r8, & + 0.00028305746746714656_r8, 0.00028633400175452232_r8, & + 0.0002894025347782587_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,59) / & + 8.1658931774084674e-06_r8, 8.1973281326251936e-06_r8, & + 8.0452632071692794e-06_r8, 9.883819766137244e-06_r8, & + 1.0130426575783246e-05_r8, 1.1022268567434649e-05_r8, & + 1.2149773717153584e-05_r8, 1.3936530337440247e-05_r8, & + 1.5798382570218177e-05_r8, 1.7191063221051243e-05_r8, & + 1.8053312716396047e-05_r8, 2.0547746422644025e-05_r8, & + 2.4611268692704112e-05_r8, 2.6937717536107835e-05_r8, & + 2.9314745577359679e-05_r8, 3.3153295419547785e-05_r8, & + 4.1022829083414377e-05_r8, 4.9780692126785796e-05_r8, & + 6.0696041490941314e-05_r8, 7.5011431749196959e-05_r8, & + 8.9101301192818868e-05_r8, 0.00010251318377919119_r8, & + 0.0001143305003016341_r8, 0.00012727096739154116_r8, & + 0.00013882449460822873_r8, 0.00014879708812388847_r8, & + 0.00015774129142905193_r8, 0.00017523359102213746_r8, & + 0.00018716901944971001_r8, 0.00019854282523203552_r8, & + 0.00021274251255923971_r8, 0.00022802778345860708_r8, & + 0.00024037353225486426_r8, 0.00024881714585660151_r8, & + 0.00025341857900928002_r8, 0.00025836111834796497_r8, & + 0.00026426555445811339_r8, 0.0002691006212188919_r8, & + 0.00026848092713578051_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,59) / & + 4.3672042282674498e-06_r8, 4.35830629248475e-06_r8, & + 3.7234971421005632e-06_r8, 5.2008667255955852e-06_r8, & + 5.2214847831157567e-06_r8, 5.7920301626957263e-06_r8, & + 7.00505939899568e-06_r8, 7.8556860370105202e-06_r8, & + 8.7526901554796985e-06_r8, 9.7197334202325825e-06_r8, & + 1.0741127352543131e-05_r8, 1.2686058790903942e-05_r8, & + 1.4849859527447883e-05_r8, 1.5465459371619064e-05_r8, & + 1.6399675704478891e-05_r8, 1.7319459864920057e-05_r8, & + 2.0278482918562931e-05_r8, 2.3448522489036452e-05_r8, & + 3.0089788803917183e-05_r8, 4.1405319886946746e-05_r8, & + 5.4566970366634124e-05_r8, 6.9627457660562364e-05_r8, & + 8.3932260830787723e-05_r8, 9.9862484267930132e-05_r8, & + 0.00011492179157277546_r8, 0.00012940830555048025_r8, & + 0.00014247248466307694_r8, 0.0001700868599105619_r8, & + 0.00018858379517169195_r8, 0.000202759005807305_r8, & + 0.0002143935847987003_r8, 0.00022767284280488079_r8, & + 0.00023805383441018074_r8, 0.00024480296808844726_r8, & + 0.0002501138722412193_r8, 0.00025385621927316766_r8, & + 0.00025648411703588155_r8, 0.00025970822581869609_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,59) / & + 6.3736719190848955e-06_r8, 6.2605555678432011e-06_r8, & + 5.4437172224163413e-06_r8, 6.0223623535350972e-06_r8, & + 5.729809416328105e-06_r8, 5.78773500429961e-06_r8, & + 6.4359184955546147e-06_r8, 6.483197856640295e-06_r8, & + 6.2794880994905192e-06_r8, 6.5294702981642426e-06_r8, & + 7.1941085828986065e-06_r8, 9.2697356692473396e-06_r8, & + 1.2623685176722028e-05_r8, 1.3967276973916137e-05_r8, & + 1.4477462153296341e-05_r8, 1.5199043708940094e-05_r8, & + 1.8340579235640474e-05_r8, 2.1852613306874626e-05_r8, & + 2.8182023271882203e-05_r8, 3.9498251976930539e-05_r8, & + 5.331973545899373e-05_r8, 7.0235795498766165e-05_r8, & + 8.590385701623224e-05_r8, 0.00010336218315631264_r8, & + 0.00011983136247585646_r8, 0.00013567746759108771_r8, & + 0.00015009456055861299_r8, 0.00018156721143720579_r8, & + 0.0002084894087413648_r8, 0.00022914217885383378_r8, & + 0.00024260229051960581_r8, 0.00025063982016079565_r8, & + 0.00025431427737581682_r8, 0.00025574845621629378_r8, & + 0.00025363412494097107_r8, 0.00025649908795427243_r8, & + 0.00025745642538972701_r8, 0.00025962422986703428_r8, & + 0.00026102725704989325_r8, 0.00026126587141012467_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,59) / & + 6.9901380298840203e-06_r8, 6.6028810551832559e-06_r8, & + 6.2071834854115544e-06_r8, 7.2583597911414191e-06_r8, & + 6.9761140458051319e-06_r8, 6.3075455639727864e-06_r8, & + 6.4629007592209844e-06_r8, 6.6870150957534637e-06_r8, & + 6.3434396630949402e-06_r8, 6.0237782299714904e-06_r8, & + 5.9514592687560859e-06_r8, 6.6480991808014786e-06_r8, & + 9.2292802733578119e-06_r8, 1.1035483129017509e-05_r8, & + 1.2319117977222872e-05_r8, 1.3264363600946061e-05_r8, & + 1.5559970676479643e-05_r8, 1.9239057487805074e-05_r8, & + 2.5468984520312311e-05_r8, 3.4777856342244974e-05_r8, & + 4.8711875658598117e-05_r8, 6.7025493652895176e-05_r8, & + 8.4599332580434934e-05_r8, 0.00010361220471271403_r8, & + 0.00012189814546983944_r8, 0.00013903091384146756_r8, & + 0.0001542408292435023_r8, 0.00018727482385617582_r8, & + 0.00021958566011888317_r8, 0.00024120810716998317_r8, & + 0.00025424949944193389_r8, 0.00025929944043351062_r8, & + 0.00026150562334330079_r8, 0.00026174937305752858_r8, & + 0.00026016224787305561_r8, 0.00026063113674923449_r8, & + 0.00025982297984702334_r8, 0.00026039758678129634_r8, & + 0.00026131547280431857_r8, 0.00026125937951085846_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,59) / & + 5.9271083890975301e-06_r8, 5.4016340827332068e-06_r8, & + 5.1395133145675243e-06_r8, 4.1578844782475041e-06_r8, & + 4.2786518765576362e-06_r8, 4.2050840795904804e-06_r8, & + 4.4762602180425203e-06_r8, 4.3883748632842255e-06_r8, & + 4.8433578014704986e-06_r8, 5.0538581157691023e-06_r8, & + 5.1932376328734331e-06_r8, 4.8053436865598683e-06_r8, & + 5.6854433280192542e-06_r8, 7.7564708708823599e-06_r8, & + 9.925048728262274e-06_r8, 1.1786528150214562e-05_r8, & + 1.4739194974789942e-05_r8, 1.8108664065752352e-05_r8, & + 2.420185987873093e-05_r8, 3.3291095402085825e-05_r8, & + 4.6781645048073737e-05_r8, 6.6229160063633767e-05_r8, & + 8.5306139390963479e-05_r8, 0.00010609489182391965_r8, & + 0.00012578732541287924_r8, 0.00014402392059887094_r8, & + 0.00016110920134272363_r8, 0.00019680706006291169_r8, & + 0.0002282242659842752_r8, 0.00024772934087544124_r8, & + 0.00026008806778107552_r8, 0.00026445346645025911_r8, & + 0.00026639672368950938_r8, 0.00026578805074938162_r8, & + 0.00026362579951131633_r8, 0.00026254285110930401_r8, & + 0.00026192209002106432_r8, 0.00026154773932030972_r8, & + 0.00026186414198166221_r8, 0.00026144662482162389_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,59) / & + 4.6379605755078735e-06_r8, 4.2055303140957142e-06_r8, & + 4.0440701991874001e-06_r8, 2.657691606821875e-06_r8, & + 2.6536827771572138e-06_r8, 2.946000915991169e-06_r8, & + 2.8332321510505209e-06_r8, 2.8675033584535889e-06_r8, & + 2.9237001320524509e-06_r8, 2.9022623896527363e-06_r8, & + 3.1480955371186538e-06_r8, 4.1051994246275766e-06_r8, & + 4.2321486094491876e-06_r8, 6.1862475972437226e-06_r8, & + 8.6870306666899347e-06_r8, 1.1086571790691491e-05_r8, & + 1.4592046011126258e-05_r8, 1.8013560430438265e-05_r8, & + 2.3827462895988366e-05_r8, 3.3840494044174475e-05_r8, & + 4.8272838048619481e-05_r8, 6.8806999741034049e-05_r8, & + 8.9498505572408268e-05_r8, 0.00011257008169354935_r8, & + 0.00013370631030018161_r8, 0.00015339783438582096_r8, & + 0.00017288230990995644_r8, 0.00021261252747592897_r8, & + 0.00024201711357944069_r8, 0.00025721556118637063_r8, & + 0.00026631595974317647_r8, 0.00026990548285386027_r8, & + 0.00027152092897252497_r8, 0.00027141835776578563_r8, & + 0.00027013332259084882_r8, 0.00026872791954357769_r8, & + 0.00026608425690240975_r8, 0.00026172889761498264_r8, & + 0.00026210797213070349_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,59) / & + 3.9673642997081675e-06_r8, 3.6203819865129926e-06_r8, & + 3.4916230199797214e-06_r8, 2.2812395508566031e-06_r8, & + 2.2840042408644638e-06_r8, 2.4368572369897459e-06_r8, & + 2.4152967111344424e-06_r8, 2.3252583929096573e-06_r8, & + 2.4132691608959578e-06_r8, 2.5451072465502574e-06_r8, & + 2.5508148085922422e-06_r8, 3.6244391908324276e-06_r8, & + 5.0926275688870563e-06_r8, 5.9500352297220672e-06_r8, & + 8.0192711618900617e-06_r8, 1.07752612977911e-05_r8, & + 1.533637618300554e-05_r8, 1.9682650140689432e-05_r8, & + 2.6881351687771023e-05_r8, 3.7644653769772409e-05_r8, & + 5.5037611751987448e-05_r8, 7.8195122317667516e-05_r8, & + 0.00010326012064982208_r8, 0.00012731854304378986_r8, & + 0.00014955111188515768_r8, 0.00016889629710647446_r8, & + 0.00018703277227482081_r8, 0.00022342273829986846_r8, & + 0.00024907868421816006_r8, 0.00026260964915487771_r8, & + 0.00027033191907143876_r8, 0.00027313999363282889_r8, & + 0.00027427524742710619_r8, 0.00027435790948752628_r8, & + 0.00027371101821808334_r8, 0.00027302811789770855_r8, & + 0.00027037398795506397_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,59) / & + 3.880151415855744e-06_r8, 3.6011042806903852e-06_r8, & + 3.5043155690268239e-06_r8, 2.7036638800982621e-06_r8, & + 2.6646660234618775e-06_r8, 2.7098343956287727e-06_r8, & + 2.4635647098446212e-06_r8, 2.3159362683096257e-06_r8, & + 2.3005983210145289e-06_r8, 2.6250902510349943e-06_r8, & + 2.4338641992826777e-06_r8, 2.9210749600062974e-06_r8, & + 4.4480971129241285e-06_r8, 5.6485260819880354e-06_r8, & + 7.3670995126467563e-06_r8, 1.1818351891982959e-05_r8, & + 1.969742134723809e-05_r8, 2.4948771949388139e-05_r8, & + 3.39203952812595e-05_r8, 4.7940996749902781e-05_r8, & + 7.0996210861932945e-05_r8, 0.0001004589386568416_r8, & + 0.0001294306116642716_r8, 0.00015412313116134905_r8, & + 0.00017591785915335614_r8, 0.00019488721593349245_r8, & + 0.00021178402931056194_r8, 0.00024315849967324114_r8, & + 0.00026403007820734664_r8, 0.00027674767486489475_r8, & + 0.00028465874975775146_r8, 0.00028769917675257599_r8, & + 0.00028852155859552918_r8, 0.00028966731275190225_r8, & + 0.00028945295170722338_r8, 0.00028765313255898388_r8, & + 0.00028430678528835437_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,59) / & + 4.2371599847335843e-06_r8, 4.0070269063590817e-06_r8, & + 4.0299276235699618e-06_r8, 3.7624000056367715e-06_r8, & + 3.7482042470748402e-06_r8, 3.6889058591863012e-06_r8, & + 3.3393284094301568e-06_r8, 2.7369168329677911e-06_r8, & + 2.6397439582452735e-06_r8, 2.6525207877512476e-06_r8, & + 2.628007387848422e-06_r8, 2.8713068207510998e-06_r8, & + 4.2602413353527952e-06_r8, 5.692032944449888e-06_r8, & + 9.2086760023264283e-06_r8, 1.7244986020028294e-05_r8, & + 3.1226005027844225e-05_r8, 3.8838557913517804e-05_r8, & + 5.3468497406124383e-05_r8, 7.4904393081528549e-05_r8, & + 0.00010239317625758378_r8, 0.00013099885425927994_r8, & + 0.00015798786117705976_r8, 0.00017980172220359716_r8, & + 0.00019854394816095426_r8, 0.00021637070935293941_r8, & + 0.00023132015982336339_r8, 0.00025799653260913028_r8, & + 0.00027634322020562724_r8, 0.00028839345908373263_r8, & + 0.00029657665730239491_r8, 0.00030077521607355361_r8, & + 0.00030136433713167369_r8, 0.00030412635662605968_r8, & + 0.00030636394479372165_r8, 0.00030895417592002031_r8, & + 0.00031214498628034601_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,59) / & + 5.357460609289369e-06_r8, 5.1448782773099111e-06_r8, & + 5.5595091914448836e-06_r8, 6.1167057429629775e-06_r8, & + 6.0966930782940459e-06_r8, 6.1547597311645155e-06_r8, & + 5.3091447576071076e-06_r8, 3.4963210737685998e-06_r8, & + 3.2279319554891277e-06_r8, 3.0643107432020251e-06_r8, & + 3.1022579969307444e-06_r8, 3.5379711578597919e-06_r8, & + 5.0936598867428492e-06_r8, 6.9876740749692147e-06_r8, & + 1.6264267474615341e-05_r8, 2.8463549966542944e-05_r8, & + 4.972439561654993e-05_r8, 6.5049136010682826e-05_r8, & + 9.0109358437683425e-05_r8, 0.00011629044491411212_r8, & + 0.00014256274928186119_r8, 0.000166025603736178_r8, & + 0.00018845461330017256_r8, 0.0002065467881053749_r8, & + 0.00022329671309994289_r8, 0.00023924526232867697_r8, & + 0.00025087862764179249_r8, 0.00027391604269772071_r8, & + 0.00028858438699390669_r8, 0.00030055572646880296_r8, & + 0.00030988330211828915_r8, 0.00031486896978524158_r8, & + 0.00031637181390673441_r8, 0.00031917214272356934_r8, & + 0.00032235433685851565_r8, 0.00032358103639443334_r8, & + 0.00032785458631622998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,59) / & + 6.7903240561404415e-06_r8, 6.9777935088121573e-06_r8, & + 8.1382562575768063e-06_r8, 8.3388172115137496e-06_r8, & + 8.2743350328811469e-06_r8, 8.7963614789793365e-06_r8, & + 7.7139514950262581e-06_r8, 5.3905028376737371e-06_r8, & + 4.7829443886132638e-06_r8, 4.5388376594827274e-06_r8, & + 4.6609072342566818e-06_r8, 6.0671853172358598e-06_r8, & + 9.09127914147118e-06_r8, 1.5964672910490741e-05_r8, & + 2.833763966405391e-05_r8, 4.1753634513588079e-05_r8, & + 6.2554677879060296e-05_r8, 8.1689311765128331e-05_r8, & + 0.0001087432799531939_r8, 0.00013523444820583033_r8, & + 0.00016080571715895378_r8, 0.00018350978932346607_r8, & + 0.00020500622510752865_r8, 0.00022343895972925027_r8, & + 0.00024085620155514254_r8, 0.00025690949963672277_r8, & + 0.00026891339913290952_r8, 0.00029218477993698654_r8, & + 0.0003070739109182667_r8, 0.00031896216010453298_r8, & + 0.000328657035960067_r8, 0.00033388223754067151_r8, & + 0.00033634226740927371_r8, 0.00033937653130383026_r8, & + 0.00034289419004896409_r8, 0.0003452438947190249_r8, & + 0.00036283193386137466_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,59) / & + 8.2737082107567867e-06_r8, 9.4002594497659992e-06_r8, & + 1.0940781940561973e-05_r8, 1.0534891867242411e-05_r8, & + 1.0441187754455513e-05_r8, 1.1161306171654502e-05_r8, & + 1.0271742481361682e-05_r8, 8.4136620705005764e-06_r8, & + 7.8424732424690284e-06_r8, 9.0068964174037613e-06_r8, & + 1.2215370217413901e-05_r8, 1.6986692043807713e-05_r8, & + 2.3726391969884474e-05_r8, 3.6257177518548704e-05_r8, & + 4.7852023964644703e-05_r8, 5.8929991101583694e-05_r8, & + 7.6125650942032543e-05_r8, 9.5782281997524438e-05_r8, & + 0.00012372310047307697_r8, 0.00015170331678025843_r8, & + 0.00017862417354001927_r8, 0.00020185533269038883_r8, & + 0.00022190311288054824_r8, 0.00024122382925534841_r8, & + 0.00025926731065549073_r8, 0.00027531206521425917_r8, & + 0.00028895426657179113_r8, 0.00031481941521177217_r8, & + 0.00033136707001669372_r8, 0.00034389028515842689_r8, & + 0.00035344021472818652_r8, 0.00035864981117022658_r8, & + 0.00036190065037298384_r8, 0.00036609793865576462_r8, & + 0.00036973305715902758_r8, 0.00037461166540716612_r8, & + 0.00038643468665938284_r8, 0.00038421553293860263_r8, & + 0.00037445601360893143_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,59) / & + 1.0427399792187445e-05_r8, 1.2474161080434914e-05_r8, & + 1.3431519335816712e-05_r8, 1.2468827960582187e-05_r8, & + 1.2405361810153731e-05_r8, 1.2966135929432805e-05_r8, & + 1.2694502990904891e-05_r8, 1.371110108066726e-05_r8, & + 1.8271817479648561e-05_r8, 2.8470069499270115e-05_r8, & + 3.8885004961519271e-05_r8, 4.3094869342224392e-05_r8, & + 4.8623913017363751e-05_r8, 5.8543608791254948e-05_r8, & + 6.8027537324839859e-05_r8, 7.9044471668087072e-05_r8, & + 9.7928379985598083e-05_r8, 0.0001179623292140743_r8, & + 0.00014604954830469254_r8, 0.0001743506533211747_r8, & + 0.00020140138587207239_r8, 0.00022227026047575153_r8, & + 0.00024268519379785284_r8, 0.00026357971407949844_r8, & + 0.00028281880404078008_r8, 0.00029949925911291922_r8, & + 0.00031380128653972635_r8, 0.00034148278457867774_r8, & + 0.00035977164546020828_r8, 0.00037334948962136632_r8, & + 0.00038220119616546704_r8, 0.0003869385170759473_r8, & + 0.00038965742465766842_r8, 0.000392720984498801_r8, & + 0.00039445450947988122_r8, 0.00040019028840958563_r8, & + 0.00040336794693419264_r8, 0.00039881583655696851_r8, & + 0.00039089367304388398_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,59) / & + 1.3413577830591304e-05_r8, 1.5405088176854811e-05_r8, & + 1.5501518141616688e-05_r8, 1.450670971092455e-05_r8, & + 1.4674209672882359e-05_r8, 1.552627409217238e-05_r8, & + 1.7883130723454507e-05_r8, 2.5826882832760424e-05_r8, & + 4.1086968567554664e-05_r8, 5.2131894719315813e-05_r8, & + 5.8400878651411832e-05_r8, 6.3508560399800569e-05_r8, & + 6.877042126850594e-05_r8, 7.5422417942548785e-05_r8, & + 8.554180061884581e-05_r8, 0.00010036015928228581_r8, & + 0.000126094499503267_r8, 0.00014966591180008365_r8, & + 0.00017649206402238902_r8, 0.00020343900055679542_r8, & + 0.00022930562009614673_r8, 0.0002515414291061634_r8, & + 0.00027446812415133715_r8, 0.00029707166772080583_r8, & + 0.00031817724444234202_r8, 0.00033561923368593632_r8, & + 0.00035034812307258023_r8, 0.00038229583828833398_r8, & + 0.00040341677748104995_r8, 0.00041780592815133665_r8, & + 0.00042570348129381946_r8, 0.00042999346863881969_r8, & + 0.00043038071140732488_r8, 0.00042947417045055916_r8, & + 0.00042843301746314186_r8, 0.00042583615109968546_r8, & + 0.00042053129833673772_r8, 0.00041689385003440885_r8, & + 0.00040903656977718425_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,59) / & + 1.5390767503290421e-05_r8, 1.6461519131735731e-05_r8, & + 1.6206296693857027e-05_r8, 1.563620479413277e-05_r8, & + 1.5931310838345911e-05_r8, 1.6215234014479557e-05_r8, & + 1.9127503428397465e-05_r8, 2.6806996716881414e-05_r8, & + 4.812262000442448e-05_r8, 6.3170084458634835e-05_r8, & + 6.7044309687258399e-05_r8, 7.3072582414374792e-05_r8, & + 8.0142437797413318e-05_r8, 8.73122042649574e-05_r8, & + 9.7529772079496359e-05_r8, 0.00011226392025583748_r8, & + 0.00014506386241275391_r8, 0.00017474783628124919_r8, & + 0.00020093886871338143_r8, 0.00022622378514474596_r8, & + 0.00025146611475979378_r8, 0.00027529674232049594_r8, & + 0.00030086887232717299_r8, 0.00032339377070955932_r8, & + 0.00034533157073538608_r8, 0.000363140201601153_r8, & + 0.00037845800020954503_r8, 0.00041239560170840079_r8, & + 0.00043529713446973024_r8, 0.00045061859053676441_r8, & + 0.00045944658009480348_r8, 0.00046293249742211049_r8, & + 0.0004631230758768563_r8, 0.00046035480691149363_r8, & + 0.00045589594154601455_r8, 0.00044765826611527362_r8, & + 0.00044115019796315711_r8, 0.00043647488029491434_r8, & + 0.00042569976139884114_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,59) / & + 1.2502941039708661e-05_r8, 1.4955035042508302e-05_r8, & + 1.6436486913701609e-05_r8, 1.4479959650998578e-05_r8, & + 1.3192779383381384e-05_r8, 1.4012524397741435e-05_r8, & + 2.2459532511402249e-05_r8, 3.1125885791290555e-05_r8, & + 5.3446359782874923e-05_r8, 7.5838517727909251e-05_r8, & + 7.9793529279339201e-05_r8, 8.5855677846482324e-05_r8, & + 9.4743066231865367e-05_r8, 0.00010201268494134344_r8, & + 0.00011163037599171033_r8, 0.00012384790494493009_r8, & + 0.00015784605400985554_r8, 0.00019445884062785579_r8, & + 0.0002234988775683226_r8, 0.00025042626620146716_r8, & + 0.00027532439442264198_r8, 0.00029763817406835947_r8, & + 0.00032365821025720699_r8, 0.00034610219339897358_r8, & + 0.00036665121633712894_r8, 0.00038453498999632804_r8, & + 0.0004008661212609783_r8, 0.00043544971063236391_r8, & + 0.00046242551252510464_r8, 0.00047693831766610517_r8, & + 0.00048712981611514664_r8, 0.00048956225685774896_r8, & + 0.00049011262982915065_r8, 0.00048627071227437768_r8, & + 0.00048045985624871118_r8, 0.00047093359169781817_r8, & + 0.00046299037509269246_r8, 0.00045629122775970611_r8, & + 0.00044954241887009967_r8, 0.0004477917950902269_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,59) / & + 7.5482159613794909e-06_r8, 1.2535359206890459e-05_r8, & + 1.6806779101090196e-05_r8, 1.3655085973866653e-05_r8, & + 1.5574159002966315e-05_r8, 2.4588989064319455e-05_r8, & + 4.6637781823621855e-05_r8, 6.5467303477786915e-05_r8, & + 8.1091751899308061e-05_r8, 8.945084279487758e-05_r8, & + 9.3695977139959336e-05_r8, 9.7900105117298568e-05_r8, & + 0.00010489463612957889_r8, 0.00011458042414621277_r8, & + 0.00012538449198319919_r8, 0.00013853941948169929_r8, & + 0.00017262423266987259_r8, 0.00021266475232508815_r8, & + 0.00024299576685159384_r8, 0.00027107784792514188_r8, & + 0.00029669035683107424_r8, 0.00032070872224618371_r8, & + 0.00034164066033566802_r8, 0.0003644091036049921_r8, & + 0.0003845756894232005_r8, 0.00040265627960325427_r8, & + 0.00041822757388313325_r8, 0.00045420006626032235_r8, & + 0.00048531754096225657_r8, 0.00049854543333768136_r8, & + 0.00050949590464170118_r8, 0.00051167286891455426_r8, & + 0.00051241516324486566_r8, 0.0005084221657964275_r8, & + 0.00050277021851137245_r8, 0.00049225285855366576_r8, & + 0.0004820981275893915_r8, 0.00047522471920119746_r8, & + 0.0004651457508979587_r8, 0.00046312543301734447_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,59) / & + 5.8191842496504316e-06_r8, 1.1272372897163383e-05_r8, & + 1.4673188607155137e-05_r8, 1.3697295799664525e-05_r8, & + 1.8889893568320379e-05_r8, 2.4720282384323268e-05_r8, & + 3.6342809481794216e-05_r8, 5.1882534879101272e-05_r8, & + 7.4562732059008053e-05_r8, 8.9852026843515847e-05_r8, & + 0.00010085962140117064_r8, 0.00010628496921990522_r8, & + 0.00011713844632676059_r8, 0.00013138490337009939_r8, & + 0.00014501598028091909_r8, 0.00016181518951668511_r8, & + 0.00019871409726682324_r8, 0.0002365002445961171_r8, & + 0.00026809986345821448_r8, 0.0002963665366401801_r8, & + 0.00032411651390112006_r8, 0.00035009357175374612_r8, & + 0.00036607705377977802_r8, 0.0003872421853370171_r8, & + 0.00040862817593249412_r8, 0.00042746624565322231_r8, & + 0.00044101239199708715_r8, 0.00047586919257662605_r8, & + 0.00050444206012262749_r8, 0.00051842683967319187_r8, & + 0.00052872714528690685_r8, 0.00053244223921443119_r8, & + 0.00053415746080604626_r8, 0.00053179968637912217_r8, & + 0.00052631711681751063_r8, 0.00051394131236059373_r8, & + 0.00050047865137377897_r8, 0.0004915622148014651_r8, & + 0.00048307686467931164_r8, 0.00047850259153582836_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,59) / & + 7.2176095206950362e-06_r8, 1.1108761590711348e-05_r8, & + 1.2340009632481667e-05_r8, 1.5207219414783831e-05_r8, & + 1.6908731445456901e-05_r8, 1.8042756898211985e-05_r8, & + 1.903445944050126e-05_r8, 2.3787070298681865e-05_r8, & + 3.4441869113254649e-05_r8, 5.0976363927014807e-05_r8, & + 7.2280587412311927e-05_r8, 8.6522597788158759e-05_r8, & + 0.00011036202973478539_r8, 0.00013907844654234769_r8, & + 0.00016374950385491098_r8, 0.0001866348885925233_r8, & + 0.00022845236097415985_r8, 0.00026451192862806468_r8, & + 0.00029583350153259119_r8, 0.00032495536707946636_r8, & + 0.00035144356585690127_r8, 0.0003766100663966192_r8, & + 0.00039723908565854349_r8, 0.00041664207695801825_r8, & + 0.00043742163734444519_r8, 0.00045712482371353721_r8, & + 0.000473597204326743_r8, 0.00050646853806247038_r8, & + 0.00053056856061375153_r8, 0.00054409930682215713_r8, & + 0.00055399810419249241_r8, 0.00055968873602176884_r8, & + 0.00056177709123130242_r8, 0.0005595079972419277_r8, & + 0.00055396087074886238_r8, 0.00054235601783420365_r8, & + 0.00052868015909649814_r8, 0.00051825661092533672_r8, & + 0.00050856664280255447_r8, 0.00049384570807516873_r8, & + 0.00048893677276392645_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,59) / & + 8.8009590813813353e-06_r8, 1.0506663586849223e-05_r8, & + 1.0844876068609583e-05_r8, 1.4975049035222334e-05_r8, & + 1.5116160941083532e-05_r8, 1.5102764920288204e-05_r8, & + 1.4250443307711272e-05_r8, 1.5218518343540461e-05_r8, & + 1.5501164983840449e-05_r8, 2.0696645278572207e-05_r8, & + 3.4354936229638252e-05_r8, 5.1577349159975927e-05_r8, & + 8.7872879238473452e-05_r8, 0.00012981703782254103_r8, & + 0.00016655384947925796_r8, 0.00020248210873492604_r8, & + 0.00025623079916280812_r8, 0.00029410804078532158_r8, & + 0.00032299288807158863_r8, 0.00035296678612273166_r8, & + 0.00037791985509597748_r8, 0.00039873526750423848_r8, & + 0.00042119145345796363_r8, 0.00044475502974858139_r8, & + 0.00046543937620008421_r8, 0.0004864692686337968_r8, & + 0.00050502391413645008_r8, 0.00053712368244568127_r8, & + 0.00055801251378666391_r8, 0.00057069885531668891_r8, & + 0.00058199870574780592_r8, 0.00059027281044565522_r8, & + 0.00059200347806669779_r8, 0.00058891544290219536_r8, & + 0.00058247459253420132_r8, 0.00057471126952822883_r8, & + 0.00056487801348945748_r8, 0.0005520951119744055_r8, & + 0.00053421146867382668_r8, 0.00050946260379517176_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,59) / & + 9.4354507327862559e-06_r8, 9.6707505308599499e-06_r8, & + 9.7168429396082509e-06_r8, 1.334496494515042e-05_r8, & + 1.3179273011765749e-05_r8, 1.2867255627508075e-05_r8, & + 1.3490715133073171e-05_r8, 1.1342210120397709e-05_r8, & + 1.1145131589737966e-05_r8, 1.5581685205605036e-05_r8, & + 2.73224569563718e-05_r8, 4.3488724522770488e-05_r8, & + 8.0064009687395144e-05_r8, 0.00012336740323576849_r8, & + 0.00016215082098800426_r8, 0.00020296467468240505_r8, & + 0.00027092092214836484_r8, 0.00031709252961534625_r8, & + 0.0003477396723687379_r8, 0.00037667063182417052_r8, & + 0.00040078084679810087_r8, 0.00042342331276855712_r8, & + 0.00044609557234972412_r8, 0.00046828416338290298_r8, & + 0.0004895631960821846_r8, 0.00051026346919727278_r8, & + 0.00052825083879067989_r8, 0.00056224155567884658_r8, & + 0.0005814290699374798_r8, 0.00059460961690110871_r8, & + 0.00060643553403793757_r8, 0.0006149156774336496_r8, & + 0.00061722280567045175_r8, 0.00061493674149172041_r8, & + 0.00060950732594611398_r8, 0.00060297592791015177_r8, & + 0.00059583559672523516_r8, 0.00058816177770928361_r8, & + 0.00057546475486601868_r8, 0.00053772038438608405_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,59) / & + 9.2929403311002322e-06_r8, 9.1189524226025427e-06_r8, & + 8.524801402088381e-06_r8, 1.061229598277532e-05_r8, & + 1.0661789903304477e-05_r8, 1.0546676749404077e-05_r8, & + 1.2804015208025631e-05_r8, 1.1134708452426728e-05_r8, & + 1.5170862311741213e-05_r8, 2.4872513238577524e-05_r8, & + 4.0198714232054641e-05_r8, 5.7466475617331464e-05_r8, & + 9.2646939647374416e-05_r8, 0.00013184162546845337_r8, & + 0.00016842302241244563_r8, 0.00021030393956131916_r8, & + 0.00028584753470495831_r8, 0.00033756833330445869_r8, & + 0.00037553220259813221_r8, 0.00040767824226399968_r8, & + 0.00043160301050715468_r8, 0.00045658461479314283_r8, & + 0.00047797114663518825_r8, 0.00049882627022753659_r8, & + 0.00051830224569236565_r8, 0.0005368914909190263_r8, & + 0.00055390980649464656_r8, 0.00058793021875692855_r8, & + 0.00060990803101230431_r8, 0.00062460523806126848_r8, & + 0.00063364495475178603_r8, 0.0006370287626106607_r8, & + 0.0006401031077981988_r8, 0.00063836629963690179_r8, & + 0.00063404992296124413_r8, 0.00062809328750387989_r8, & + 0.00062198684860883255_r8, 0.00061254217462729905_r8, & + 0.00060574755305501586_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,59) / & + 1.2271158261005612e-05_r8, 1.2285354456846197e-05_r8, & + 1.2732989311946518e-05_r8, 1.1111835336797432e-05_r8, & + 1.187053926614275e-05_r8, 1.2345684916863061e-05_r8, & + 1.5170464094737237e-05_r8, 2.2789589900274117e-05_r8, & + 3.5434712002058928e-05_r8, 5.3967627672552585e-05_r8, & + 7.4349090227325546e-05_r8, 9.4442430636366791e-05_r8, & + 0.00012965655789302534_r8, 0.00016520861434239008_r8, & + 0.0002010693798744488_r8, 0.00023982523415529857_r8, & + 0.00030718118709056929_r8, 0.00035766263484599941_r8, & + 0.00039827022677901738_r8, 0.00043188770307284776_r8, & + 0.00045592098440075531_r8, 0.00048044017198656778_r8, & + 0.00050165612506116364_r8, 0.00052104768381899488_r8, & + 0.00053930152677754547_r8, 0.00055620057961223242_r8, & + 0.00057235065076836954_r8, 0.00060443530137484507_r8, & + 0.00063676158919044785_r8, 0.00065354563871698843_r8, & + 0.00066012413190929674_r8, 0.00065719935916501535_r8, & + 0.00065798229892742349_r8, 0.00065581575238640635_r8, & + 0.00065111994891459287_r8, 0.00064461888448223389_r8, & + 0.00063622801710301602_r8, 0.0006307212654616622_r8, & + 0.00062546351884482597_r8, 0.00061429724523865076_r8, & + 0.00060900695025941178_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,59) / & + 1.6391779132384196e-05_r8, 1.5688712628666905e-05_r8, & + 1.9227262385975507e-05_r8, 1.6513028866579397e-05_r8, & + 2.1249991412642079e-05_r8, 2.3729372615347525e-05_r8, & + 3.1367701043302232e-05_r8, 4.4082641422507565e-05_r8, & + 6.0092422337976467e-05_r8, 8.2195870207752084e-05_r8, & + 0.00010450239085287759_r8, 0.00012788485872666268_r8, & + 0.00016689860794087851_r8, 0.00020401870046075546_r8, & + 0.00023848415106482096_r8, 0.00027180783049510747_r8, & + 0.00033156227577969127_r8, 0.00037987320595379631_r8, & + 0.00041827501413918956_r8, 0.00045177453236819857_r8, & + 0.00047939130072720645_r8, 0.000506195504851607_r8, & + 0.00052993909387636078_r8, 0.00054561772907593404_r8, & + 0.00055907073667999007_r8, 0.00057313609654245667_r8, & + 0.00058719877452954655_r8, 0.00062073964388152636_r8, & + 0.00065609427672644099_r8, 0.00066839238225229489_r8, & + 0.00067134702335282302_r8, 0.00067001871859991968_r8, & + 0.00066608744428323606_r8, 0.00066683201428624267_r8, & + 0.00066869429166337624_r8, 0.00066015280682019725_r8, & + 0.00064965106575424233_r8, 0.00064327767101542502_r8, & + 0.00064060214565269584_r8, 0.00062968680086485877_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,59) / & + 1.8183418528627522e-05_r8, 1.8697730941444559e-05_r8, & + 2.2052228754808737e-05_r8, 2.635013472313304e-05_r8, & + 3.4585221208322657e-05_r8, 3.7713286402269464e-05_r8, & + 4.3293301684817976e-05_r8, 6.7618421103807114e-05_r8, & + 8.8585065102283637e-05_r8, 0.00011302571018254513_r8, & + 0.00013465862879050145_r8, 0.00015542679237367285_r8, & + 0.00019669467956542585_r8, 0.00023230669767903636_r8, & + 0.00026671090315996112_r8, 0.00029965749827249726_r8, & + 0.00035916314733665494_r8, 0.00040735440892272122_r8, & + 0.000449559459455587_r8, 0.00048623220701023173_r8, & + 0.0005179780593047975_r8, 0.00055033001703973065_r8, & + 0.00057073758512419756_r8, 0.00058455355051533441_r8, & + 0.00059665025559574422_r8, 0.00061319160700067457_r8, & + 0.00062692815491972322_r8, 0.00065742450945323935_r8, & + 0.00070189199150286804_r8, 0.00070383702499671457_r8, & + 0.0006984778344495305_r8, 0.00068719606026265982_r8, & + 0.00067311761680159655_r8, 0.00068405075079420422_r8, & + 0.00068803063804368078_r8, 0.00067642536200943364_r8, & + 0.00066226317247037518_r8, 0.00065645468780594046_r8, & + 0.0006549176818322238_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,59) / & + 3.2360607722730485e-05_r8, 3.2204757594178457e-05_r8, & + 3.3970725996454036e-05_r8, 4.0956127746618539e-05_r8, & + 4.4660206572510707e-05_r8, 4.770791274637409e-05_r8, & + 5.7890691021911197e-05_r8, 8.9753992267351448e-05_r8, & + 0.00011781239363200295_r8, 0.00014254410744327941_r8, & + 0.00016031411218727078_r8, 0.00018168615266605519_r8, & + 0.0002161926192027081_r8, 0.00025279668713295309_r8, & + 0.00028787249653660718_r8, 0.00032112423160483774_r8, & + 0.00038095107805029152_r8, 0.00043098649249776182_r8, & + 0.00047609831569413001_r8, 0.00051537530668745505_r8, & + 0.00054736346353047175_r8, 0.00057709770707513482_r8, & + 0.00059983658946173286_r8, 0.00062363883437777676_r8, & + 0.00064552617503863062_r8, 0.00066732359965901769_r8, & + 0.00068520103836330285_r8, 0.00071752666272473936_r8, & + 0.00072552984946651366_r8, 0.00073296234224641348_r8, & + 0.00073521782080568842_r8, 0.0006955219800540898_r8, & + 0.00068851864418016239_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,59) / & + 6.9641041507346571e-05_r8, 6.7782823910028184e-05_r8, & + 6.8184797378353839e-05_r8, 7.0798974759626377e-05_r8, & + 6.7080329614632167e-05_r8, 6.7313105373748583e-05_r8, & + 8.7736302536447759e-05_r8, 0.00011563743722871294_r8, & + 0.00014098217885625844_r8, 0.00016009123278605368_r8, & + 0.00017598421207144896_r8, 0.00020107634374103681_r8, & + 0.00023190813686531161_r8, 0.00026549379452841848_r8, & + 0.00030491957795365066_r8, 0.00033945393934187471_r8, & + 0.00039634333451230057_r8, 0.00044811235820518407_r8, & + 0.00049174088826258236_r8, 0.0005313514184357587_r8, & + 0.00056350835478602781_r8, 0.00059172987400944353_r8, & + 0.00061642874422980823_r8, 0.00064250631350507015_r8, & + 0.00066608838564136998_r8, 0.00068761721855540095_r8, & + 0.0007072547109549241_r8, 0.00073880849408841491_r8, & + 0.00072925990976126665_r8, 0.0007508754020378773_r8, & + 0.00075977559687436533_r8, 0.00071274366120303888_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,59) / & + 8.7122591567292558e-05_r8, 9.9056775958867251e-05_r8, & + 0.00010320407406320358_r8, 9.5672831665908329e-05_r8, & + 8.7261077950812787e-05_r8, 8.7214482335130274e-05_r8, & + 0.00011551406380658616_r8, 0.0001416685303394346_r8, & + 0.00015395305310670959_r8, 0.00017059949332700301_r8, & + 0.00018913635739647736_r8, 0.00021215425481942941_r8, & + 0.00024230450258762672_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,59) / & + 0.00010360431577251981_r8, 8.7119581082206309e-05_r8, & + 9.2656939445899696e-05_r8, 0.00010324689943654639_r8, & + 0.00012713023918625415_r8, 0.00015085583199682222_r8, & + 0.00019822424874541664_r8, 0.00025192382632110738_r8, & + 0.00025865879696301288_r8, 0.00021496641609582823_r8, & + 0.00019250941667900499_r8, 0.00012715684132053888_r8, & + 0.00011335420593482425_r8, 0.00011272982134301263_r8, & + 0.00011388176622798316_r8, 0.00010442686030865971_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,59) / & + 0.00010293122101951455_r8, 9.1213231275316263e-05_r8, & + 9.4890130210353982e-05_r8, 0.00010675680999563479_r8, & + 0.00011941148262567372_r8, 0.0001412465972284049_r8, & + 0.00018390988842523922_r8, 0.00020252318513435834_r8, & + 0.00024517458715552686_r8, 0.000205547536041174_r8, & + 0.00018282429533920982_r8, 0.00012197083297287735_r8, & + 0.00010692694648932535_r8, 0.00010241492728597729_r8, & + 0.00011146589266246653_r8, 0.00010244730844422627_r8, & + 9.0245456622368552e-05_r8, 8.415486984695329e-05_r8, & + 8.3023361808039496e-05_r8, 8.2668158211273403e-05_r8, & + 8.2843977759135232e-05_r8, 8.2211828122566983e-05_r8, & + 8.3143569699300525e-05_r8, 8.5603643616715222e-05_r8, & + 9.4075617444299217e-05_r8, 9.7256784559686591e-05_r8, & + 0.00010140716134683337_r8, 0.00010750762796585874_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,59) / & + 9.1853882792795275e-05_r8, 8.5890274243301902e-05_r8, & + 9.6843340431072039e-05_r8, 0.00011235910158346206_r8, & + 0.00011899000079219077_r8, 0.00012465024850840756_r8, & + 0.00016254312120571768_r8, 0.00017051088510227757_r8, & + 0.00023248611583637037_r8, 0.00018748775981717661_r8, & + 0.00015789541354216692_r8, 0.00011594191126438503_r8, & + 9.0243393611987496e-05_r8, 8.6062256802774484e-05_r8, & + 9.9983635984587146e-05_r8, 9.5385225058306852e-05_r8, & + 8.8053850337123176e-05_r8, 8.0408734193443434e-05_r8, & + 8.0284674587023942e-05_r8, 8.0690154078072202e-05_r8, & + 8.1070961595324276e-05_r8, 8.0009225113125487e-05_r8, & + 8.0341281615996482e-05_r8, 8.4260449433654568e-05_r8, & + 9.015799695574231e-05_r8, 9.3894657725404054e-05_r8, & + 9.7736176820932205e-05_r8, 0.00010540854634322005_r8, & + 0.00011392527027424464_r8, 0.00011841750311707381_r8, & + 0.00011906341780698148_r8, 0.00011819732370717856_r8, & + 0.00011902594791459767_r8, 0.00012200391722304782_r8, & + 0.00011852998888371351_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,59) / & + 8.6645677303098651e-05_r8, 7.9211448953109265e-05_r8, & + 8.7182029851848322e-05_r8, 0.0001160068644166836_r8, & + 0.00012351549680165037_r8, 0.00010763841724422324_r8, & + 0.00012437820978776422_r8, 0.00013409211829747716_r8, & + 0.00020093866972742825_r8, 0.00016223433824642987_r8, & + 0.00013139458680908536_r8, 0.00010591910976237211_r8, & + 7.7345687362909387e-05_r8, 7.7322055618782084e-05_r8, & + 8.7887954887741151e-05_r8, 9.0000182636294725e-05_r8, & + 8.1316381132775072e-05_r8, 7.6900388949662299e-05_r8, & + 7.6517043400555149e-05_r8, 7.7917090097796959e-05_r8, & + 7.887103734435982e-05_r8, 7.8831005773444295e-05_r8, & + 7.9814689244559991e-05_r8, 8.1892383933297516e-05_r8, & + 8.9484517002674584e-05_r8, 9.4143074719898695e-05_r8, & + 9.6073720112800349e-05_r8, 0.00010242636909489316_r8, & + 0.00011060631305983372_r8, 0.00011955484628531453_r8, & + 0.0001170348389310289_r8, 0.00011514521231669187_r8, & + 0.0001133533311721884_r8, 0.00011442324564192528_r8, & + 0.00011552561073200066_r8, 0.00011450875952945861_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,59) / & + 8.6070389133073469e-05_r8, 9.4676404719601324e-05_r8, & + 8.8406123656184068e-05_r8, 0.00011626144337483109_r8, & + 0.00012926878673190042_r8, 0.00011575720599134008_r8, & + 0.00013907046766318661_r8, 0.00014188388058278289_r8, & + 0.00016064700969171906_r8, 0.00012276670914468119_r8, & + 9.9123997170924899e-05_r8, 8.939620480283651e-05_r8, & + 7.5739163753990295e-05_r8, 7.7414610087568099e-05_r8, & + 8.4048607247853976e-05_r8, 8.3045537822740013e-05_r8, & + 7.687264588989935e-05_r8, 7.5598093415526444e-05_r8, & + 7.5897636274159278e-05_r8, 7.819551061451224e-05_r8, & + 7.9885639865629379e-05_r8, 8.1393531352880611e-05_r8, & + 8.3612848378661903e-05_r8, 8.6391910537711168e-05_r8, & + 9.5161965261026524e-05_r8, 9.8675548748606193e-05_r8, & + 0.0001015099489286391_r8, 0.00010854463450497492_r8, & + 0.00011745975636977381_r8, 0.00012283926507798603_r8, & + 0.00011686705673233532_r8, 0.00011623363475741775_r8, & + 0.00011483649903726848_r8, 0.00011569047001147178_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,59) / & + 8.2170021108610568e-05_r8, 0.00010815474718477841_r8, & + 9.8324824244600513e-05_r8, 0.00010924618657053892_r8, & + 0.00011000211942100421_r8, 0.00012015623407939184_r8, & + 0.00015180216883864769_r8, 0.00011855114818093083_r8, & + 9.4799820264408614e-05_r8, 8.151191553134438e-05_r8, & + 7.5258536474203077e-05_r8, 7.2193893623462776e-05_r8, & + 7.0018625426172528e-05_r8, 7.2124212809550976e-05_r8, & + 7.3163778039540567e-05_r8, 7.4216752273872978e-05_r8, & + 7.3447747096359457e-05_r8, 7.3758781801106879e-05_r8, & + 7.578118508441688e-05_r8, 7.8964365768604598e-05_r8, & + 8.1828412899238376e-05_r8, 8.5134742096473602e-05_r8, & + 8.8975584443959951e-05_r8, 9.3277852119401022e-05_r8, & + 9.9196188435362925e-05_r8, 0.00010318200485608675_r8, & + 0.00010891333003116926_r8, 0.00011884350183090824_r8, & + 0.00012230924381815384_r8, 0.00012096429434508828_r8, & + 0.00011903055216734656_r8, 0.00011937782075464101_r8, & + 0.00012009271165004085_r8, 0.00012005183549256523_r8, & + 0.0001206055162482782_r8, 0.00012118327286752605_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,60) / & + 0.00011326184544589247_r8, 0.00011599711744332711_r8, & + 0.00011772457801052959_r8, 0.00012720909614703029_r8, & + 0.00012964474312958212_r8, 0.00013632484843999207_r8, & + 0.00014340454056419063_r8, 0.00015597512368098319_r8, & + 0.00016199079516111025_r8, 0.00016767018714938296_r8, & + 0.00017129306879806264_r8, 0.00017513073729939156_r8, & + 0.00017330748325438883_r8, 0.00017948149569758958_r8, & + 0.0001852429849426996_r8, 0.00019145980082365931_r8, & + 0.00019704851818670612_r8, 0.00020771694166019536_r8, & + 0.00021462577356943225_r8, 0.00022088256719937955_r8, & + 0.00022755969256626904_r8, 0.00023537938367713485_r8, & + 0.00023984502842583816_r8, 0.00024415053830441282_r8, & + 0.00024803302916670875_r8, 0.00025130247649983244_r8, & + 0.00025382534928629428_r8, 0.00026346776933602916_r8, & + 0.00026915937204540299_r8, 0.00027536824003092288_r8, & + 0.00027955076801561458_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,5,60) / & + 9.5593247035541143e-05_r8, 9.7525645865567597e-05_r8, & + 0.00010423296747260989_r8, 0.00011185723686964836_r8, & + 0.00011360374710523182_r8, 0.00012076025925568435_r8, & + 0.00012198960947263348_r8, 0.0001362043230382194_r8, & + 0.00014687694570056345_r8, 0.0001553868031789438_r8, & + 0.00016185692272035817_r8, 0.00016898656817055982_r8, & + 0.00017348742787956869_r8, 0.00018102645529325732_r8, & + 0.00018568385984488742_r8, 0.0001896079235821896_r8, & + 0.00019505336635751878_r8, 0.00020284476621909475_r8, & + 0.00020851414164020494_r8, 0.00021450470803525235_r8, & + 0.0002210154147972408_r8, 0.00022821480054517016_r8, & + 0.00023332675566502148_r8, 0.0002380782326295702_r8, & + 0.00024242078577479275_r8, 0.00024629655752809093_r8, & + 0.0002494923523240376_r8, 0.00025885211559590487_r8, & + 0.00026576769734726113_r8, 0.00027251152345138398_r8, & + 0.00027761252831087335_r8, 0.00028184732491677068_r8, & + 0.00028523648573929874_r8, 0.00028769346689590795_r8, & + 0.0002914418079850231_r8, 0.00029408138308707489_r8, & + 0.00029713666247382442_r8, 0.00029955389991943399_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,60) / & + 5.4237757050884718e-05_r8, 5.45626359820459e-05_r8, & + 6.3027132644114041e-05_r8, 7.0816187934673596e-05_r8, & + 7.4963932961887752e-05_r8, 8.0026863830170463e-05_r8, & + 7.0822350584306425e-05_r8, 8.3780149182601155e-05_r8, & + 9.8708691986913833e-05_r8, 0.0001104781007569979_r8, & + 0.0001205207648505156_r8, 0.00013071892729990935_r8, & + 0.00014534114874200705_r8, 0.00015490881310056329_r8, & + 0.00016100971318279506_r8, 0.0001663858987830799_r8, & + 0.00017408236420864406_r8, 0.00018007708682272726_r8, & + 0.00018514712834490586_r8, 0.00019023435796033329_r8, & + 0.00019500512384876766_r8, 0.0002012164866963166_r8, & + 0.0002066635206434712_r8, 0.00021221992644548135_r8, & + 0.0002177868911232396_r8, 0.00022339971419877081_r8, & + 0.00022894274785181961_r8, 0.0002414499739585447_r8, & + 0.00025153661994693153_r8, 0.00026071986338783347_r8, & + 0.00026865992050823802_r8, 0.00027465477139223957_r8, & + 0.00027961374383265547_r8, 0.00028350833794556874_r8, & + 0.00028765857064777712_r8, 0.00029110223871059681_r8, & + 0.0002939633910892536_r8, 0.00029582264106096294_r8, & + 0.00029580991834446749_r8, 0.00029451165779578406_r8, & + 0.00029351029849010132_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,60) / & + 2.9347276632541569e-05_r8, 2.9471464417919316e-05_r8, & + 3.3514021600491996e-05_r8, 4.1625955072624376e-05_r8, & + 4.5288136619755498e-05_r8, 4.8475069424360411e-05_r8, & + 4.1669621707307743e-05_r8, 4.5611120424110836e-05_r8, & + 5.2835175196257998e-05_r8, 6.1858447137555731e-05_r8, & + 7.1609935881226274e-05_r8, 8.1099651663617766e-05_r8, & + 9.8384685122728636e-05_r8, 0.00011128203634676079_r8, & + 0.00011859206365445747_r8, 0.00012739758786391267_r8, & + 0.00014214801737659214_r8, 0.00015496402744423029_r8, & + 0.00016181581874237766_r8, 0.00016954083837491239_r8, & + 0.00017496757122744839_r8, 0.00018134950693346247_r8, & + 0.00018581700031222734_r8, 0.00019027906754789223_r8, & + 0.00019501544746904661_r8, 0.00020018039997370631_r8, & + 0.00020571255818308736_r8, 0.00022203526474943647_r8, & + 0.00023508832506938113_r8, 0.00024651613731055101_r8, & + 0.0002565175954427036_r8, 0.00026407322785641373_r8, & + 0.00027162260979226362_r8, 0.00027657390740691578_r8, & + 0.00028020900310189468_r8, 0.00028384816014491118_r8, & + 0.00028656133599300448_r8, 0.00028943484062516679_r8, & + 0.00029120517835767189_r8, 0.00029272679832900787_r8, & + 0.00029334712924769171_r8, 0.00029259043041995441_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,60) / & + 1.5800921145524401e-05_r8, 1.5775493025158955e-05_r8, & + 1.5762443383103398e-05_r8, 2.373751858086356e-05_r8, & + 2.4551743639504666e-05_r8, 2.6285640399801906e-05_r8, & + 2.3752527399147414e-05_r8, 2.769672819479554e-05_r8, & + 3.0969970955927104e-05_r8, 3.5533829546512686e-05_r8, & + 3.9487459679994139e-05_r8, 4.4139078619844269e-05_r8, & + 5.3455883138872486e-05_r8, 6.0131014338994562e-05_r8, & + 6.5602336012928757e-05_r8, 7.2060497688691133e-05_r8, & + 8.8728132809734112e-05_r8, 0.00010606150693497516_r8, & + 0.00011837832955341008_r8, 0.00013407295321174559_r8, & + 0.00014519566699892832_r8, 0.00015546435414493404_r8, & + 0.00016204306443711472_r8, 0.00016845860108921412_r8, & + 0.00017431127675574228_r8, 0.0001793615397262857_r8, & + 0.00018432412088320398_r8, 0.00019697766205010916_r8, & + 0.00021025854004532186_r8, 0.00022451358212408279_r8, & + 0.00023818569367484583_r8, 0.00024806763554060483_r8, & + 0.00025706229160791047_r8, 0.00026452849674382439_r8, & + 0.00027147572328245809_r8, 0.00027758296530752891_r8, & + 0.00028130564245652074_r8, 0.00028464769753068177_r8, & + 0.00028886905958643824_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,60) / & + 5.7530372318309815e-06_r8, 5.6835393069471751e-06_r8, & + 5.506680575603564e-06_r8, 7.1790811691383571e-06_r8, & + 7.2303040986919745e-06_r8, 7.8009403396591628e-06_r8, & + 9.4928011906984374e-06_r8, 1.2174865847150577e-05_r8, & + 1.4864478977228931e-05_r8, 1.7503799935247248e-05_r8, & + 1.8589579956199863e-05_r8, 1.9991290985743712e-05_r8, & + 2.2339892842268046e-05_r8, 2.332056623044387e-05_r8, & + 2.5077389792419022e-05_r8, 2.7795013993970564e-05_r8, & + 3.5733402551424532e-05_r8, 4.6236152591352201e-05_r8, & + 5.908556397986889e-05_r8, 7.4848508256073959e-05_r8, & + 9.0129108393336696e-05_r8, 0.00010461049926869217_r8, & + 0.00011740969072476403_r8, 0.0001301353796185094_r8, & + 0.00014154841579599854_r8, 0.00015118656166727122_r8, & + 0.00016019385387291838_r8, 0.00017756066618637158_r8, & + 0.00018975769014350596_r8, 0.00020275238143870359_r8, & + 0.00021942705710003161_r8, 0.00023424283998458865_r8, & + 0.00024458341646291872_r8, 0.00025176000413567364_r8, & + 0.00025838790984541668_r8, 0.00027107830127669436_r8, & + 0.0002782563600330792_r8, 0.00028045597503885362_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,60) / & + 4.1915094169309873e-06_r8, 4.1709074808000186e-06_r8, & + 3.5220930551249581e-06_r8, 4.2567488445811103e-06_r8, & + 4.1771447702873701e-06_r8, 4.5592456629067489e-06_r8, & + 5.7112398421996566e-06_r8, 6.8656235706950326e-06_r8, & + 8.3883776051868038e-06_r8, 9.8138544987626626e-06_r8, & + 1.1305883131597932e-05_r8, 1.313316145775045e-05_r8, & + 1.518409790032182e-05_r8, 1.5785077133311703e-05_r8, & + 1.6952782363589454e-05_r8, 1.8656276192355355e-05_r8, & + 2.28358358339228e-05_r8, 2.7576637637085136e-05_r8, & + 3.6246729229978748e-05_r8, 4.9619812615854571e-05_r8, & + 6.3772014572009979e-05_r8, 7.9538571182936435e-05_r8, & + 9.326325815593881e-05_r8, 0.00010879534733449483_r8, & + 0.00012347925152235431_r8, 0.00013717900475183721_r8, & + 0.00014902127062575821_r8, 0.00017383728522159028_r8, & + 0.00019045151230551662_r8, 0.00020354586927699835_r8, & + 0.0002181080090513766_r8, 0.00023196423989408697_r8, & + 0.0002424553587506314_r8, 0.00024888829492097491_r8, & + 0.00025305973827735774_r8, 0.00025714044142673077_r8, & + 0.00026093526954950279_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,60) / & + 6.2549523761943656e-06_r8, 6.2563180675359594e-06_r8, & + 5.4865434233704452e-06_r8, 5.511208989110283e-06_r8, & + 5.2331112496093677e-06_r8, 4.9530688371685651e-06_r8, & + 5.5381969912418529e-06_r8, 5.5773826516749531e-06_r8, & + 5.2052854195139801e-06_r8, 5.5542206151520204e-06_r8, & + 6.515952783691313e-06_r8, 9.1478587123623957e-06_r8, & + 1.2649280860017547e-05_r8, 1.4177631588824285e-05_r8, & + 1.4912572491380725e-05_r8, 1.6033893262578835e-05_r8, & + 2.0370442159183023e-05_r8, 2.4423713443664847e-05_r8, & + 3.2100174964705384e-05_r8, 4.433049020222452e-05_r8, & + 5.8155277853134484e-05_r8, 7.604882275764889e-05_r8, & + 9.0600112856035125e-05_r8, 0.00010858543187552387_r8, & + 0.0001249320519333716_r8, 0.00014041267500707085_r8, & + 0.00015368305809508495_r8, 0.00018411563428180925_r8, & + 0.00020760936352055013_r8, 0.0002242641575244808_r8, & + 0.000236643626390464_r8, 0.00024359964704673552_r8, & + 0.00024867991535561376_r8, 0.00025134530619902798_r8, & + 0.00025210173290662077_r8, 0.00025695230102249801_r8, & + 0.0002599864012977307_r8, 0.0002618655800791637_r8, & + 0.00026248686893923462_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,60) / & + 6.8902624255759802e-06_r8, 6.7020445488019274e-06_r8, & + 6.2106131062644972e-06_r8, 7.1365409323160983e-06_r8, & + 6.3817948068689394e-06_r8, 5.0840985785373542e-06_r8, & + 5.1989983456039937e-06_r8, 5.7887637463583034e-06_r8, & + 5.37546482554583e-06_r8, 4.9158097669289246e-06_r8, & + 4.9035944840307412e-06_r8, 6.8382900795435863e-06_r8, & + 1.0009180715201103e-05_r8, 1.179212674260266e-05_r8, & + 1.3176208054350675e-05_r8, 1.4322375920308997e-05_r8, & + 1.7256075587240079e-05_r8, 2.1134581511231073e-05_r8, & + 2.7880323798339728e-05_r8, 3.7843849684862817e-05_r8, & + 5.2413468013158387e-05_r8, 7.1248429670738435e-05_r8, & + 8.927673330396878e-05_r8, 0.00010944314049760838_r8, & + 0.00012750043979743573_r8, 0.0001444298829611045_r8, & + 0.00015845357433865608_r8, 0.00019087138894063521_r8, & + 0.00021806264209778836_r8, 0.00023505281667453694_r8, & + 0.00024644908880224289_r8, 0.00025064306427583389_r8, & + 0.00025382944841115403_r8, 0.0002553249098056396_r8, & + 0.00025545992564104632_r8, 0.0002578995183583703_r8, & + 0.00025958393058910764_r8, 0.00026136188406263169_r8, & + 0.00026414971879448637_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,60) / & + 5.9154055464007598e-06_r8, 5.5789571162810228e-06_r8, & + 5.3393948608423536e-06_r8, 4.5608450485287759e-06_r8, & + 4.6025858665641349e-06_r8, 3.9859656098044828e-06_r8, & + 4.027872393541067e-06_r8, 4.4642974165720654e-06_r8, & + 4.6492316835034952e-06_r8, 4.6357204846048964e-06_r8, & + 4.6240333262658922e-06_r8, 4.9165759302950404e-06_r8, & + 6.6654354563033306e-06_r8, 8.5634267095760453e-06_r8, & + 1.051892663060086e-05_r8, 1.233137809664546e-05_r8, & + 1.5693535950891337e-05_r8, 1.9414360191925789e-05_r8, & + 2.5701862747090423e-05_r8, 3.5056993318408847e-05_r8, & + 4.9848612861495325e-05_r8, 6.9226356161157157e-05_r8, & + 8.9574926202563098e-05_r8, 0.00011132203406929714_r8, & + 0.00013167335442569722_r8, 0.00015008343966519281_r8, & + 0.00016576489116733537_r8, 0.00019979287050306879_r8, & + 0.00022758740652543104_r8, 0.00024398766624833987_r8, & + 0.00025440610915658708_r8, 0.00025844607064164456_r8, & + 0.00026074175337278569_r8, 0.00026064807063015726_r8, & + 0.00025964900842333281_r8, 0.00026029087241029959_r8, & + 0.00026109464129654263_r8, 0.00026187880408455973_r8, & + 0.00026494494409112107_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,60) / & + 4.7973260871893221e-06_r8, 4.5012226031006209e-06_r8, & + 4.3388433429708503e-06_r8, 3.0131781034104977e-06_r8, & + 3.0060650140861105e-06_r8, 3.0496036381532717e-06_r8, & + 2.9557198880788173e-06_r8, 2.8711089937743599e-06_r8, & + 3.0519297724228579e-06_r8, 3.1852211047368415e-06_r8, & + 3.3764753779731504e-06_r8, 3.9451401977533314e-06_r8, & + 4.3701119217224922e-06_r8, 6.0697869464452875e-06_r8, & + 8.3985989020950057e-06_r8, 1.0832180903504307e-05_r8, & + 1.4599171699096168e-05_r8, 1.7949607580569061e-05_r8, & + 2.3570561278792876e-05_r8, 3.3378179058398132e-05_r8, & + 4.7927106729612341e-05_r8, 6.8502144104718314e-05_r8, & + 9.085193901911667e-05_r8, 0.00011402323446730334_r8, & + 0.00013537819176079281_r8, 0.00015513625387477702_r8, & + 0.00017336434100386744_r8, 0.00021133922943112251_r8, & + 0.00024014779451504532_r8, 0.00025548232707482606_r8, & + 0.00026410051143745345_r8, 0.00026766316060401112_r8, & + 0.00026948876444356695_r8, 0.00026955101784603567_r8, & + 0.00026810083600813225_r8, 0.00026646614241910519_r8, & + 0.00026410374472078657_r8, 0.00026333777594570237_r8, & + 0.00026210797213070349_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,60) / & + 4.1651240859983412e-06_r8, 3.8928638947783048e-06_r8, & + 3.7383845432085315e-06_r8, 2.4392155612990377e-06_r8, & + 2.4399423421573683e-06_r8, 2.4543422805187941e-06_r8, & + 2.5434963422515632e-06_r8, 2.5036119031785704e-06_r8, & + 2.5299187402556256e-06_r8, 2.7622434380721666e-06_r8, & + 2.7340635263102794e-06_r8, 3.4570409770839028e-06_r8, & + 4.8832504612895668e-06_r8, 5.7316352088500256e-06_r8, & + 7.8419260368528125e-06_r8, 1.0778307407474666e-05_r8, & + 1.6303079032063062e-05_r8, 2.0386394269968223e-05_r8, & + 2.7287080609812185e-05_r8, 3.7724782269952293e-05_r8, & + 5.4625965370704389e-05_r8, 7.7749493979221125e-05_r8, & + 0.00010283442429659739_r8, 0.00012664357396484276_r8, & + 0.00014897926351232929_r8, 0.00016773432679167416_r8, & + 0.00018485478312411894_r8, 0.00021981738827400594_r8, & + 0.00024543901676790918_r8, 0.0002594722929022887_r8, & + 0.00026791144679757969_r8, 0.00027146136390417759_r8, & + 0.00027325220810367777_r8, 0.00027407075263562132_r8, & + 0.00027441845901709757_r8, 0.00027197767126960421_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,60) / & + 4.1021573434291198e-06_r8, 3.8623944065153246e-06_r8, & + 3.7325119654482921e-06_r8, 2.7056424172802036e-06_r8, & + 2.6861761007637674e-06_r8, 2.7346328034607831e-06_r8, & + 2.542153421335065e-06_r8, 2.3765660734748228e-06_r8, & + 2.4626529896772306e-06_r8, 3.0720295983856922e-06_r8, & + 2.6125292414206159e-06_r8, 3.070511264410547e-06_r8, & + 4.7203708042495513e-06_r8, 6.8940022202326965e-06_r8, & + 9.5682295779311647e-06_r8, 1.4923945015164088e-05_r8, & + 2.3944652420246777e-05_r8, 2.9610473822599431e-05_r8, & + 3.9501741159458249e-05_r8, 5.3536697311780472e-05_r8, & + 7.5021631703155048e-05_r8, 0.00010208458830197588_r8, & + 0.00012920116570929507_r8, 0.00015354582668185345_r8, & + 0.00017576842040398298_r8, 0.00019387404196565577_r8, & + 0.00020978556825132334_r8, 0.00024041456368998677_r8, & + 0.00026129886015399201_r8, 0.00027406699216862542_r8, & + 0.00028285459750941263_r8, 0.00028720636435329734_r8, & + 0.00028881779479382724_r8, 0.0002904551464019695_r8, & + 0.00029027062880739111_r8, 0.00028791253131265487_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,60) / & + 4.6304627602584302e-06_r8, 4.3994923758208968e-06_r8, & + 4.462540052625572e-06_r8, 3.6961130421085728e-06_r8, & + 3.678829782962144e-06_r8, 3.6848841029932061e-06_r8, & + 3.3006255025666695e-06_r8, 2.7152586135838655e-06_r8, & + 2.5876135352467429e-06_r8, 3.098144135603833e-06_r8, & + 2.7693011706665752e-06_r8, 3.1227322725471108e-06_r8, & + 4.963862197163053e-06_r8, 8.1459826668215331e-06_r8, & + 1.3670718623509433e-05_r8, 2.2930166198795851e-05_r8, & + 3.6834957380186108e-05_r8, 4.612438000348958e-05_r8, & + 6.2208172288327862e-05_r8, 8.2645697647909432e-05_r8, & + 0.00010672110497247152_r8, 0.00013247669216853529_r8, & + 0.00015755745404535227_r8, 0.00017968758616014184_r8, & + 0.00019940941450452088_r8, 0.00021687446317919618_r8, & + 0.00023168026992481436_r8, 0.00025816885141740714_r8, & + 0.00027587678354604097_r8, 0.00028743961337985468_r8, & + 0.0002960245730842691_r8, 0.00030125682166323779_r8, & + 0.00030251170789906716_r8, 0.00030523089328717766_r8, & + 0.00030730820618790156_r8, 0.00030938930833063368_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,60) / & + 5.8776170682897403e-06_r8, 5.6844795362216811e-06_r8, & + 6.2806895140155047e-06_r8, 6.0524548902840132e-06_r8, & + 5.9226920151887549e-06_r8, 5.8442993340947724e-06_r8, & + 4.9192957928737759e-06_r8, 3.478783581088568e-06_r8, & + 3.2633406555273267e-06_r8, 3.416666668286024e-06_r8, & + 3.4632794634926904e-06_r8, 3.57643411020367e-06_r8, & + 5.2048649841670035e-06_r8, 8.0353250624018939e-06_r8, & + 1.9235255456051628e-05_r8, 3.1784323533798411e-05_r8, & + 5.1341849968749675e-05_r8, 6.9356110237474359e-05_r8, & + 9.5309874192972953e-05_r8, 0.00012116195854034062_r8, & + 0.00014573346557454774_r8, 0.00016926671129133432_r8, & + 0.00019089897385334172_r8, 0.00020965221828677421_r8, & + 0.0002272538214640595_r8, 0.00024288096369245524_r8, & + 0.00025525986581003801_r8, 0.00027681115220654182_r8, & + 0.00028912925836489339_r8, 0.00029965437666472843_r8, & + 0.00030861327496322478_r8, 0.00031408122783304368_r8, & + 0.000316071166451975_r8, 0.00031896898815540986_r8, & + 0.00032219453520974912_r8, 0.00032587397553637235_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,60) / & + 7.6426236540067457e-06_r8, 7.9383255124357765e-06_r8, & + 9.3350086024726123e-06_r8, 9.2617024841296959e-06_r8, & + 8.8827807514331117e-06_r8, 9.0590782619108874e-06_r8, & + 7.6246454179663593e-06_r8, 5.5882584814074305e-06_r8, & + 5.3217726243280282e-06_r8, 5.2629744668106874e-06_r8, & + 5.3036719413138226e-06_r8, 6.3174731120693237e-06_r8, & + 9.2039504647257905e-06_r8, 1.6618779253382479e-05_r8, & + 2.9526225213366082e-05_r8, 4.2415093597988172e-05_r8, & + 6.1604497161240712e-05_r8, 8.1777432683027374e-05_r8, & + 0.0001102330465630651_r8, 0.00013847402473334309_r8, & + 0.00016403126441154564_r8, 0.00018747426819131009_r8, & + 0.0002082948539165603_r8, 0.00022692651904182055_r8, & + 0.00024459305802465461_r8, 0.00026004261389848282_r8, & + 0.00027265269596304936_r8, 0.00029488577831088432_r8, & + 0.00030729629249189944_r8, 0.00031759454092606298_r8, & + 0.0003267015774817099_r8, 0.00033288491766430379_r8, & + 0.00033546649228033193_r8, 0.00033929685121072002_r8, & + 0.00034440284860246879_r8, 0.00034963803520457801_r8, & + 0.0003694959195297463_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,60) / & + 9.4492056364013198e-06_r8, 1.08128907976812e-05_r8, & + 1.2497427974681887e-05_r8, 1.2452394603368797e-05_r8, & + 1.2106000530005553e-05_r8, 1.2634099057748701e-05_r8, & + 1.1423245448057606e-05_r8, 9.6882893133697017e-06_r8, & + 9.8279739374301915e-06_r8, 1.0987906038432162e-05_r8, & + 1.4092796988680233e-05_r8, 1.7762185241749305e-05_r8, & + 2.498224175558345e-05_r8, 4.0132040175845677e-05_r8, & + 5.1976825229058595e-05_r8, 6.2308008660599799e-05_r8, & + 7.8361531446138403e-05_r8, 9.7472744769465627e-05_r8, & + 0.00012482315445327182_r8, 0.00015235275522060938_r8, & + 0.00017866366971034319_r8, 0.00020268889642609456_r8, & + 0.00022379235438543894_r8, 0.00024336051270919086_r8, & + 0.00026154402598715682_r8, 0.00027763354173450676_r8, & + 0.00029128854723544024_r8, 0.00031674330319792524_r8, & + 0.00033191395431260797_r8, 0.00034289624187662683_r8, & + 0.00035176384476594936_r8, 0.00035875906370258536_r8, & + 0.00036183545207829599_r8, 0.00036699859233247408_r8, & + 0.00037121705894246725_r8, 0.00037509860069044284_r8, & + 0.0003858942281752471_r8, 0.00038136559453190818_r8, & + 0.00037096963409358143_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,60) / & + 1.1592651028131383e-05_r8, 1.4193124144702872e-05_r8, & + 1.5258390689115578e-05_r8, 1.4720562242836001e-05_r8, & + 1.4593473152337888e-05_r8, 1.5159518191428123e-05_r8, & + 1.5106707686799015e-05_r8, 1.6876141354346914e-05_r8, & + 2.3120133355532955e-05_r8, 3.2700592460509033e-05_r8, & + 4.107430916924286e-05_r8, 4.540465956284757e-05_r8, & + 5.2786165018317261e-05_r8, 6.4678085490738911e-05_r8, & + 7.5006661185397983e-05_r8, 8.6487753010718613e-05_r8, & + 0.00010426348309732613_r8, 0.00012321412045182288_r8, & + 0.0001490349334143413_r8, 0.00017432096084568142_r8, & + 0.00019990844291364369_r8, 0.00022194251230116198_r8, & + 0.00024406650692896493_r8, 0.00026556139109349156_r8, & + 0.00028528293355839041_r8, 0.00030190793127535709_r8, & + 0.00031604801942556671_r8, 0.00034402165894230585_r8, & + 0.000361806138419815_r8, 0.00037369210680763686_r8, & + 0.00038182605992814549_r8, 0.00038768413579928768_r8, & + 0.00039103387864111055_r8, 0.0003970913493868199_r8, & + 0.00040017395356760355_r8, 0.00040381093218661517_r8, & + 0.00040135999654489592_r8, 0.00039567197878863033_r8, & + 0.00038568977515667213_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,60) / & + 1.5095822718523477e-05_r8, 1.753758147296637e-05_r8, & + 1.7779292612542598e-05_r8, 1.6688991756301469e-05_r8, & + 1.7161686259126139e-05_r8, 1.8104313762461679e-05_r8, & + 2.1104373230591805e-05_r8, 2.8193838237118195e-05_r8, & + 4.0817864135691686e-05_r8, 5.2870320639387674e-05_r8, & + 5.8666008294240813e-05_r8, 6.4603408751547263e-05_r8, & + 7.1508205094633599e-05_r8, 7.8800670058332161e-05_r8, & + 8.8363017413590095e-05_r8, 0.00010489428597797187_r8, & + 0.00013164947510862523_r8, 0.00015423529256727058_r8, & + 0.00017943213337378959_r8, 0.00020414779361023838_r8, & + 0.00023035073947448717_r8, 0.00025324804643964745_r8, & + 0.00027731138778092925_r8, 0.00030128096662937178_r8, & + 0.00032253269351485025_r8, 0.00033917983948784111_r8, & + 0.00035379323411796403_r8, 0.00038747812114008675_r8, & + 0.00040920398923515946_r8, 0.00042370243214671092_r8, & + 0.00043080530140409746_r8, 0.00043500379253701773_r8, & + 0.00043560210542488063_r8, 0.00043605223449636431_r8, & + 0.00043502965734397176_r8, 0.00043114898693713077_r8, & + 0.00042410991460338591_r8, 0.00041833960192779845_r8, & + 0.00040651286422724862_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,60) / & + 1.7380226577704115e-05_r8, 1.878866839094757e-05_r8, & + 1.875638305466596e-05_r8, 1.7630979238505586e-05_r8, & + 1.8225989286975933e-05_r8, 1.8701436023386226e-05_r8, & + 2.1904887196678176e-05_r8, 2.999132771354441e-05_r8, & + 4.9507305395174358e-05_r8, 6.0233070547795657e-05_r8, & + 6.6008061716677988e-05_r8, 7.2650589068878465e-05_r8, & + 8.1941442469333247e-05_r8, 9.0372725689431393e-05_r8, & + 0.00010015750772621691_r8, 0.00011581792636806489_r8, & + 0.00015125212635431237_r8, 0.00017976008958250596_r8, & + 0.00020452957541052159_r8, 0.00022952158662546625_r8, & + 0.00025624975386198245_r8, 0.00028105005339677753_r8, & + 0.00030499359828634124_r8, 0.00032831871101648502_r8, & + 0.00034973719022828937_r8, 0.00036662283466474838_r8, & + 0.00038198587519635863_r8, 0.00041733561132692941_r8, & + 0.00044094095786765565_r8, 0.00045678551295797874_r8, & + 0.00046557742903491031_r8, 0.00046884478480036407_r8, & + 0.00046866322080539325_r8, 0.00046540596669396479_r8, & + 0.00046093530871155354_r8, 0.00045370075689763021_r8, & + 0.00044767205715993226_r8, 0.00044162475601303445_r8, & + 0.00042804201186353571_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,60) / & + 1.4292912635542152e-05_r8, 1.6757091313961938e-05_r8, & + 1.8627080058191287e-05_r8, 1.6290519461855568e-05_r8, & + 1.5682524363316412e-05_r8, 1.6783212715803693e-05_r8, & + 2.4540135740034087e-05_r8, 3.8327336476931815e-05_r8, & + 6.1792671050279655e-05_r8, 7.3671391490829317e-05_r8, & + 7.9530374557946744e-05_r8, 8.5727219993431391e-05_r8, & + 9.6060721247431149e-05_r8, 0.00010466530851989015_r8, & + 0.00011447853209457271_r8, 0.0001272845621311245_r8, & + 0.000161169714072723_r8, 0.00019625803339619465_r8, & + 0.00022550823664014568_r8, 0.00025249379167013175_r8, & + 0.00027876696155415033_r8, 0.00030273458844348315_r8, & + 0.00032453415615083198_r8, 0.00034712029486102034_r8, & + 0.00036784333841747169_r8, 0.00038538151227874944_r8, & + 0.00040171491926569857_r8, 0.00043729055466299946_r8, & + 0.00046489683850413393_r8, 0.00048027931455662197_r8, & + 0.00049057484439611989_r8, 0.00049319581910885072_r8, & + 0.00049367329662332977_r8, 0.00048982973015191061_r8, & + 0.0004838253564772202_r8, 0.00047569969949385487_r8, & + 0.00046923813173791558_r8, 0.00045995476236694626_r8, & + 0.00044817702867093495_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,60) / & + 8.4168485174058475e-06_r8, 1.386678855635067e-05_r8, & + 1.8275875806311459e-05_r8, 1.5172194281125094e-05_r8, & + 1.8696646308191964e-05_r8, 2.7998251762912725e-05_r8, & + 5.2114079736818564e-05_r8, 7.2413336118947412e-05_r8, & + 8.3699557324680017e-05_r8, 9.0280720413763634e-05_r8, & + 9.4512365519111322e-05_r8, 9.7766599327619622e-05_r8, & + 0.00010386759083950541_r8, 0.0001125053499985304_r8, & + 0.00012361127608080408_r8, 0.00013679174946111221_r8, & + 0.00017029610176412196_r8, 0.00020803519982153713_r8, & + 0.00023900820637905859_r8, 0.00026623615254873568_r8, & + 0.00029225325745016283_r8, 0.0003176378906963118_r8, & + 0.00033728554262751437_r8, 0.00036041527637878455_r8, & + 0.00038148867784959002_r8, 0.00039981744066658819_r8, & + 0.00041589780781713283_r8, 0.00045305118405322735_r8, & + 0.00048502077404510613_r8, 0.00049938202507588206_r8, & + 0.00051011387900671309_r8, 0.00051255172306255068_r8, & + 0.00051326696316100491_r8, 0.00050963751541947648_r8, & + 0.00050376908957327918_r8, 0.00049498197665095924_r8, & + 0.00048708560868183264_r8, 0.00047689612914759147_r8, & + 0.00046522581123337582_r8, 0.00046336311893707151_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,60) / & + 5.7841596370217887e-06_r8, 1.2689465683995319e-05_r8, & + 1.6374058393297714e-05_r8, 1.4335009607213776e-05_r8, & + 2.0120012073156047e-05_r8, 2.6014327449050861e-05_r8, & + 4.0753441969371082e-05_r8, 5.5754601435928399e-05_r8, & + 7.3796761175403194e-05_r8, 8.9988450110487896e-05_r8, & + 9.9570800416168482e-05_r8, 0.00010412321089343506_r8, & + 0.00011172777983425419_r8, 0.00012552819360062999_r8, & + 0.00013981642065208466_r8, 0.00015549454362471238_r8, & + 0.00019247281858246362_r8, 0.00022911897417782876_r8, & + 0.00025906067828246755_r8, 0.00028823099594328118_r8, & + 0.00031439328336454076_r8, 0.00034257023576950851_r8, & + 0.00035993429456840462_r8, 0.00038018697637217199_r8, & + 0.00040274321232005504_r8, 0.00042233185991108767_r8, & + 0.00043810093473543193_r8, 0.00047190547207460662_r8, & + 0.00050340726522018326_r8, 0.00051765817833503581_r8, & + 0.00052828290812602212_r8, 0.00053158916898931794_r8, & + 0.00053288389213768973_r8, 0.00053017463669834813_r8, & + 0.00052483294035677534_r8, 0.00051377959352198895_r8, & + 0.00050289624266903284_r8, 0.00049324446955114232_r8, & + 0.0004818669772715836_r8, 0.00047837059542158594_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,60) / & + 7.0617985728980339e-06_r8, 1.2766397736429688e-05_r8, & + 1.4461927391461086e-05_r8, 1.6791481086255023e-05_r8, & + 1.8783062878036592e-05_r8, 2.0297915737417531e-05_r8, & + 2.2857761014844303e-05_r8, 2.7568334421675822e-05_r8, & + 4.0542155926613891e-05_r8, 6.1256545633524376e-05_r8, & + 8.3477337589491965e-05_r8, 9.8621749125891029e-05_r8, & + 0.00011855348609488803_r8, 0.00014424461762695958_r8, & + 0.00016486865147640714_r8, 0.00018469620819418008_r8, & + 0.00022588320563137973_r8, 0.00026111189259199035_r8, & + 0.00028937324857699731_r8, 0.0003221030937984695_r8, & + 0.00034809112475629245_r8, 0.00037425721172749732_r8, & + 0.00039416116297720494_r8, 0.00041334126031004198_r8, & + 0.0004353070363425002_r8, 0.00045551404826947784_r8, & + 0.00047386428233559268_r8, 0.00050543557082695313_r8, & + 0.00053217449745326223_r8, 0.00054537159797114418_r8, & + 0.00055526937878576659_r8, 0.00056026835942924347_r8, & + 0.0005625724260417673_r8, 0.0005609457426586765_r8, & + 0.00055638799508711263_r8, 0.00054551814653528048_r8, & + 0.00053525187430954408_r8, 0.00052590686339936939_r8, & + 0.00051826885443107061_r8, 0.00049364736261798994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,60) / & + 9.1472814206991431e-06_r8, 1.2062638272797443e-05_r8, & + 1.2924956205343694e-05_r8, 1.5551834182651937e-05_r8, & + 1.6069818092028204e-05_r8, 1.6655083382355418e-05_r8, & + 1.7420542812123902e-05_r8, 1.9305911023132959e-05_r8, & + 2.4525236418816324e-05_r8, 3.5449166085132693e-05_r8, & + 5.4805559546637975e-05_r8, 7.8133310636245221e-05_r8, & + 0.00010991443553628204_r8, 0.00014879193042363579_r8, & + 0.00017758377636454121_r8, 0.00020859893334840019_r8, & + 0.00025960990231723363_r8, 0.00029471232814610722_r8, & + 0.00032228271428603989_r8, 0.00035324823675682347_r8, & + 0.00037877165571722707_r8, 0.00040104707853920549_r8, & + 0.00042231695781809101_r8, 0.00044813717175285742_r8, & + 0.00046821772158012307_r8, 0.00048923995269130587_r8, & + 0.0005081964597044539_r8, 0.00053942954442188725_r8, & + 0.00056402753215692837_r8, 0.0005785992770654697_r8, & + 0.00058804812109075838_r8, 0.00059498562602338181_r8, & + 0.00059857585401382261_r8, 0.00059846691841926617_r8, & + 0.00059491515984711873_r8, 0.00058852396899872997_r8, & + 0.0005790838885335513_r8, 0.00055759495960579393_r8, & + 0.00053639620596555209_r8, 0.0005087404773819888_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,60) / & + 9.9170184458672753e-06_r8, 1.0631446262820678e-05_r8, & + 1.0928481919624496e-05_r8, 1.2613553899381227e-05_r8, & + 1.2685894845121485e-05_r8, 1.2836236400921344e-05_r8, & + 1.6409267300969172e-05_r8, 1.3852747324956061e-05_r8, & + 1.7633459220001522e-05_r8, 2.7522412889494247e-05_r8, & + 4.5157969056344644e-05_r8, 6.818814436680038e-05_r8, & + 0.00010485544728956265_r8, 0.0001461090435321229_r8, & + 0.00018059623028405237_r8, 0.00021504787550514508_r8, & + 0.00027381666120516524_r8, 0.00031750031216674007_r8, & + 0.00034654950097994181_r8, 0.00037565895771087812_r8, & + 0.00040034367747718221_r8, 0.00042434106072663803_r8, & + 0.00044812588992812198_r8, 0.00047206331095514282_r8, & + 0.00049270566664277112_r8, 0.00051325588848146646_r8, & + 0.00053079958873673318_r8, 0.00056199276255129043_r8, & + 0.00058624062456451211_r8, 0.00060333968192621888_r8, & + 0.00061197940476405736_r8, 0.00061970866812895977_r8, & + 0.00062377433306719005_r8, 0.00062493604063307458_r8, & + 0.00062268997113986823_r8, 0.00061869985786211328_r8, & + 0.00061131298090969042_r8, 0.00059707092302982586_r8, & + 0.00057674163000956825_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,60) / & + 9.4738232712768401e-06_r8, 9.429163711064735e-06_r8, & + 8.9436041780821799e-06_r8, 1.0002999577188806e-05_r8, & + 1.0122951474467017e-05_r8, 1.0393353366219432e-05_r8, & + 1.387411843918603e-05_r8, 1.6325242341718511e-05_r8, & + 2.7398154290076898e-05_r8, 4.448436586526929e-05_r8, & + 6.5552740471489407e-05_r8, 8.624960503816522e-05_r8, & + 0.00012022880636078961_r8, 0.00015897528418132835_r8, & + 0.00019556252358726643_r8, 0.00023200693497162957_r8, & + 0.00029308192330612117_r8, 0.00033978837298213367_r8, & + 0.00037414487675136533_r8, 0.00040536322197724339_r8, & + 0.00043052833872392907_r8, 0.00045517786831418853_r8, & + 0.0004776665359234764_r8, 0.00049967712799063352_r8, & + 0.00052058553167170206_r8, 0.00054086412644602211_r8, & + 0.00055896611898010847_r8, 0.00059431951669475073_r8, & + 0.00061726492700959297_r8, 0.00063000799482995477_r8, & + 0.0006372800828574846_r8, 0.00064281585358167293_r8, & + 0.00064692740176029598_r8, 0.0006484670591064385_r8, & + 0.00064744801986620765_r8, 0.00064353030873048379_r8, & + 0.00063631712142314082_r8, 0.00062162912310915488_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,60) / & + 1.3651609981081906e-05_r8, 1.4175649850071267e-05_r8, & + 1.5198556647311879e-05_r8, 1.3228183199513185e-05_r8, & + 1.5265412029495406e-05_r8, 1.773588381715213e-05_r8, & + 3.0634024131414571e-05_r8, 4.5440221826333607e-05_r8, & + 6.4051985233824429e-05_r8, 8.5861451450455805e-05_r8, & + 0.0001052380247126583_r8, 0.00012310266594212356_r8, & + 0.00015504897203325475_r8, 0.00018956793551736428_r8, & + 0.00022362991265700377_r8, 0.00025771055062686493_r8, & + 0.00031310406045796332_r8, 0.00035706947624913497_r8, & + 0.00039561898270476363_r8, 0.00042754118384327652_r8, & + 0.0004532365417147767_r8, 0.00047781172632523517_r8, & + 0.00049848457127205071_r8, 0.00051950309154560252_r8, & + 0.00053810781810684943_r8, 0.00055643026269974435_r8, & + 0.00057527763231637137_r8, 0.00061188309257752716_r8, & + 0.00063765559461273881_r8, 0.00065013585055360588_r8, & + 0.00065561642926096134_r8, 0.00065946481622424066_r8, & + 0.00066304840167850476_r8, 0.00066507621144114965_r8, & + 0.00066413278069958278_r8, 0.0006585201960461382_r8, & + 0.00064441184724041162_r8, 0.00063032570868851027_r8, & + 0.00062296958034125348_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,32,60) / & + 2.3625334296403383e-05_r8, 2.3850342134197387e-05_r8, & + 2.7636603344805077e-05_r8, 2.3906437961382978e-05_r8, & + 2.9455832121836444e-05_r8, 3.3024885195768716e-05_r8, & + 5.9069915071448194e-05_r8, 7.1623208153167231e-05_r8, & + 8.9384497380800673e-05_r8, 0.00011157270334656997_r8, & + 0.00012975376156483764_r8, 0.00014547687884433922_r8, & + 0.00017811704195436556_r8, 0.00020939457878837132_r8, & + 0.00024086720926120382_r8, 0.00027361418920020231_r8, & + 0.00032690854657255625_r8, 0.00037166899290592953_r8, & + 0.0004086291688967181_r8, 0.00044133896722480469_r8, & + 0.00047049796064610802_r8, 0.00049705005835449861_r8, & + 0.00051940835024152855_r8, 0.00053880426399552372_r8, & + 0.00055273283311993709_r8, 0.00056807302619004026_r8, & + 0.00058353023175272765_r8, 0.00061795165113034327_r8, & + 0.00064743644277559271_r8, 0.00066169841992602435_r8, & + 0.00066495848401132245_r8, 0.00066875008969221293_r8, & + 0.00067218134874906727_r8, 0.00067351631605035622_r8, & + 0.00067534349571892101_r8, 0.00066731984335032413_r8, & + 0.00065465988347804325_r8, 0.00064485877183074439_r8, & + 0.00064029682474369841_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,60) / & + 2.7157376581258447e-05_r8, 2.9082552312600542e-05_r8, & + 3.5225778159112832e-05_r8, 3.5976993657800683e-05_r8, & + 4.4287258238318802e-05_r8, 4.6514951597285456e-05_r8, & + 6.8125528762001417e-05_r8, 9.0010558425764072e-05_r8, & + 0.00010697070716385485_r8, 0.00013038189821312334_r8, & + 0.00014746554895066406_r8, 0.00016422037116097524_r8, & + 0.00020128372715670948_r8, 0.00023004017752188967_r8, & + 0.00026568562408828007_r8, 0.0002980817735642617_r8, & + 0.00035407708535534465_r8, 0.00039867845370741508_r8, & + 0.000438093898579012_r8, 0.0004737907995394072_r8, & + 0.00050516126484817893_r8, 0.0005377413783086676_r8, & + 0.00056074452695330159_r8, 0.00057279076537334608_r8, & + 0.00058144581388524001_r8, 0.00059597707566827517_r8, & + 0.00060874564868403916_r8, 0.00064083434929956525_r8, & + 0.00068910045521496392_r8, 0.00069494266331243193_r8, & + 0.00069319382627672688_r8, 0.00067986810855216186_r8, & + 0.0006774960380954583_r8, 0.00068216138610871589_r8, & + 0.00068664817117629036_r8, 0.00067925600525315364_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,60) / & + 6.8989565785241614e-05_r8, 6.562438441571338e-05_r8, & + 5.2644864264576965e-05_r8, 5.186333538351986e-05_r8, & + 5.424623359166614e-05_r8, 5.6992846933758069e-05_r8, & + 7.5186125791646652e-05_r8, 0.00010648959893985792_r8, & + 0.00013223675578558544_r8, 0.00015284543589931757_r8, & + 0.00016768873759840335_r8, 0.00018904031163981922_r8, & + 0.0002203687979557522_r8, 0.00025256730786473076_r8, & + 0.0002860927431198617_r8, 0.00031705627919157841_r8, & + 0.00037416620435871061_r8, 0.00042192228549973245_r8, & + 0.00046737053635305045_r8, 0.00050804429946983687_r8, & + 0.00053993050144672398_r8, 0.00057020092063738857_r8, & + 0.00059310329174366036_r8, 0.00061528338169047566_r8, & + 0.00063698236236847173_r8, 0.00065874871685319997_r8, & + 0.00067665818511260028_r8, 0.00070670794688577974_r8, & + 0.00072522200003941734_r8, 0.00073019003298893594_r8, & + 0.00073447939996730723_r8, 0.00069480973575500185_r8, & + 0.00069479058586648806_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,60) / & + 0.00015313242405139965_r8, 0.00013028950677329053_r8, & + 0.00013223577218597737_r8, 0.00010040706823582255_r8, & + 9.643128361328276e-05_r8, 9.7170531257794842e-05_r8, & + 0.0001140243730244664_r8, 0.00013090720413223625_r8, & + 0.00014554160553013592_r8, 0.00016528025367923307_r8, & + 0.00018036457900984666_r8, 0.00020111233102167717_r8, & + 0.00022987654780106271_r8, 0.00026364371290933219_r8, & + 0.00029962012746759589_r8, 0.00033247834524002432_r8, & + 0.00038950125967551606_r8, 0.00044105597438954749_r8, & + 0.00048582986516419036_r8, 0.00052643244903912692_r8, & + 0.00055867499686214144_r8, 0.00058706215371087818_r8, & + 0.00061190217206967361_r8, 0.00063769602287965725_r8, & + 0.00066287213771913428_r8, 0.00068567093799126331_r8, & + 0.00070571151176945443_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,60) / & + 0.00010000476850711346_r8, 8.9230124007043374e-05_r8, & + 9.4567394644399101e-05_r8, 0.00011439273084169781_r8, & + 0.00014540756018836703_r8, 0.00017588897737819348_r8, & + 0.00022277944012586668_r8, 0.00026555347224688241_r8, & + 0.00025934176658428732_r8, 0.00022249499372630724_r8, & + 0.00021233455823726097_r8, 0.00012779964911847666_r8, & + 0.00010913859661537789_r8, 0.00010382257185746254_r8, & + 0.00011644251266862029_r8, 0.00010621982655363559_r8, & + 8.4516873200731179e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,60) / & + 0.00011117751943460348_r8, 9.4441271935685978e-05_r8, & + 9.6809288864833841e-05_r8, 0.00010972432511159495_r8, & + 0.00012611643591552791_r8, 0.00015030066925730671_r8, & + 0.000191154119656985_r8, 0.0002169453492819847_r8, & + 0.00025111172934819158_r8, 0.00021122124600355223_r8, & + 0.0001794121864716015_r8, 0.00011895738888575627_r8, & + 0.00010241612699591207_r8, 0.0001029944949784472_r8, & + 0.00011019901297368809_r8, 0.00010231842234945305_r8, & + 9.5197145119295409e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,60) / & + 9.1074088288455068e-05_r8, 8.6937913611331754e-05_r8, & + 9.7561698956658444e-05_r8, 0.00011170014301411455_r8, & + 0.00012312371419346939_r8, 0.00013511972281274602_r8, & + 0.00018129677862502538_r8, 0.00020511790272166824_r8, & + 0.00024031998314408596_r8, 0.00019269530409429312_r8, & + 0.00015326707900115543_r8, 0.00011305998707814158_r8, & + 8.6416667167644827e-05_r8, 8.4186150913410129e-05_r8, & + 9.6026646705233641e-05_r8, 9.2448489698772004e-05_r8, & + 8.5298113264297893e-05_r8, 7.8048491514161086e-05_r8, & + 7.815552588572532e-05_r8, 7.9051101431905829e-05_r8, & + 7.9532310415598618e-05_r8, 7.8279048030359651e-05_r8, & + 7.8996850563054939e-05_r8, 8.3652408832893231e-05_r8, & + 8.8162764806885616e-05_r8, 9.1675804499657991e-05_r8, & + 9.5143597357486589e-05_r8, 0.00010254047492231432_r8, & + 0.00011116314340347619_r8, 0.00011693463753524926_r8, & + 0.00011725181081154144_r8, 0.00011737404140104728_r8, & + 0.00011884767160686656_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,60) / & + 8.4854410042833493e-05_r8, 7.7821445785563099e-05_r8, & + 8.7320821188812314e-05_r8, 0.00010858182337262747_r8, & + 0.00011162425139912056_r8, 0.00010638681799623164_r8, & + 0.00012906547658357229_r8, 0.00013746249606116259_r8, & + 0.00020233757703803687_r8, 0.00015504943917212178_r8, & + 0.00012214001370847285_r8, 0.00010475923844983925_r8, & + 7.7277611053482023e-05_r8, 7.8191931497813343e-05_r8, & + 9.0233914303179934e-05_r8, 9.0168616759806904e-05_r8, & + 8.1271711304707085e-05_r8, 7.7227220299705843e-05_r8, & + 7.6865478840185795e-05_r8, 7.8466413677400011e-05_r8, & + 7.9424757490454629e-05_r8, 7.8829680244892194e-05_r8, & + 7.9839043211471991e-05_r8, 8.2452200925509103e-05_r8, & + 8.9874436145728095e-05_r8, 9.4691347749705854e-05_r8, & + 9.621598953500183e-05_r8, 0.0001025137859191146_r8, & + 0.00011079464278200308_r8, 0.00011955073795939009_r8, & + 0.0001163531999431116_r8, 0.00011393750737935354_r8, & + 0.00011125972595124535_r8, 0.00011179494956476133_r8, & + 0.00011422208690091381_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,60) / & + 8.6852186711564193e-05_r8, 9.4233031838863621e-05_r8, & + 8.9020708381378795e-05_r8, 0.00011420504484376216_r8, & + 0.00012665596429230647_r8, 0.00011262404460947174_r8, & + 0.00013730125864402709_r8, 0.00013923528465273842_r8, & + 0.00016025412536891916_r8, 0.00011905507961463124_r8, & + 9.6505357710827158e-05_r8, 8.9806509592579425e-05_r8, & + 7.6227724655450542e-05_r8, 7.8164879515325064e-05_r8, & + 8.5103976208539557e-05_r8, 8.3513781453818455e-05_r8, & + 7.718664582104141e-05_r8, 7.5857821756592517e-05_r8, & + 7.623225960127392e-05_r8, 7.8383432720793115e-05_r8, & + 8.0140547976469798e-05_r8, 8.1431021070351938e-05_r8, & + 8.3599039050363865e-05_r8, 8.6305773139603982e-05_r8, & + 9.5318930650766559e-05_r8, 9.8958500396122525e-05_r8, & + 0.00010169352787744906_r8, 0.00010921611261849863_r8, & + 0.00011813660163590273_r8, 0.00012253802284653968_r8, & + 0.00011629978550389043_r8, 0.00011601102921721591_r8, & + 0.00011492772062688701_r8, 0.00011651073244843877_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,60) / & + 8.3160211104192107e-05_r8, 0.00010675247726497606_r8, & + 9.8889656259101093e-05_r8, 0.00010912629381529703_r8, & + 0.00011084257444175112_r8, 0.00011948811777547825_r8, & + 0.00015394173058044225_r8, 0.0001206698233025128_r8, & + 9.8807994677555089e-05_r8, 8.2119742517602556e-05_r8, & + 7.6191540381628458e-05_r8, 7.3143071903328507e-05_r8, & + 7.012856801201682e-05_r8, 7.220795258383677e-05_r8, & + 7.3280199115039902e-05_r8, 7.4297473658231286e-05_r8, & + 7.3466892248841696e-05_r8, 7.3781178734628027e-05_r8, & + 7.5820130037653011e-05_r8, 7.8970682568319829e-05_r8, & + 8.1835943356825332e-05_r8, 8.5120988994195145e-05_r8, & + 8.8988772790989264e-05_r8, 9.3292797461368845e-05_r8, & + 9.9241865944167196e-05_r8, 0.00010313500110920119_r8, & + 0.00010886732989935249_r8, 0.00011912068735247114_r8, & + 0.00012233552526036675_r8, 0.00012084224815066734_r8, & + 0.00011900233440115456_r8, 0.0001194285595155744_r8, & + 0.00012016237762694014_r8, 0.00012007476116842312_r8, & + 0.00012062947384910062_r8, 0.00012131676176477431_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,61) / & + 0.00011008107854125788_r8, 0.00011132011673872224_r8, & + 0.00011055360479869937_r8, 0.00012141337406470477_r8, & + 0.00012512422729148962_r8, 0.00013073120298892231_r8, & + 0.00013453821706469162_r8, 0.00014919162295460052_r8, & + 0.0001609218467296969_r8, 0.0001668198976388418_r8, & + 0.00017105425902477967_r8, 0.00017503117399232106_r8, & + 0.00017234401878928052_r8, 0.0001792635690787828_r8, & + 0.00018516131746267411_r8, 0.00019196038546155165_r8, & + 0.00019667634411862098_r8, 0.00020531018418029609_r8, & + 0.00021223036685061246_r8, 0.00021648027643514587_r8, & + 0.00022352952658322766_r8, 0.00023285766553969556_r8, & + 0.00023786894053720912_r8, 0.00024263417697664293_r8, & + 0.00024691163686227678_r8, 0.00025079914733789791_r8, & + 0.00025347781437793499_r8, 0.00026336786357819618_r8, & + 0.0002686517557823491_r8, 0.00027541287801039572_r8, & + 0.00027980298546401286_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,5,61) / & + 9.4403102162269337e-05_r8, 9.5290442746516401e-05_r8, & + 0.00010152374525558111_r8, 0.00010957303447996014_r8, & + 0.0001120028208028789_r8, 0.00011789944788193544_r8, & + 0.00011792413683420865_r8, 0.00013358858376501495_r8, & + 0.00014658644792790173_r8, 0.00015558491641578601_r8, & + 0.00016207560549112097_r8, 0.00016900555685230891_r8, & + 0.00017216140111512253_r8, 0.00018093649082355677_r8, & + 0.00018546644540846626_r8, 0.00018960356044825664_r8, & + 0.00019436315020961745_r8, 0.00020128806748209745_r8, & + 0.00020697767185472358_r8, 0.00021107051767259484_r8, & + 0.00021754778830787184_r8, 0.00022538780142085897_r8, & + 0.00023091354864648527_r8, 0.00023609517535524735_r8, & + 0.00024060772681444559_r8, 0.00024488960206937274_r8, & + 0.00024836727093154395_r8, 0.00025809140261547368_r8, & + 0.00026477315459608479_r8, 0.00027187073740070599_r8, & + 0.00027702825539635252_r8, 0.00028090489584916769_r8, & + 0.00028408978917665736_r8, 0.00028750638884746999_r8, & + 0.00029171380609591992_r8, 0.000294048765702148_r8, & + 0.00029707551566035128_r8, 0.00029977447692110162_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,61) / & + 5.0999714458918037e-05_r8, 5.107686779272037e-05_r8, & + 6.0587134951565962e-05_r8, 6.821779777981076e-05_r8, & + 7.1516470639206749e-05_r8, 7.5518047717269281e-05_r8, & + 6.6833407461311086e-05_r8, 8.0207029552585395e-05_r8, & + 9.763770059040466e-05_r8, 0.00011009157025150905_r8, & + 0.00011970938284671028_r8, 0.00012852230102683118_r8, & + 0.00014136961445081165_r8, 0.00015094455292560176_r8, & + 0.0001576794717109187_r8, 0.00016325174308447262_r8, & + 0.00017143380116307043_r8, 0.00017745289452230284_r8, & + 0.00018255357638157735_r8, 0.00018778175692031881_r8, & + 0.0001923009472942909_r8, 0.0001981555345509138_r8, & + 0.00020332241862200913_r8, 0.00020882302968788769_r8, & + 0.00021429046347596646_r8, 0.00021986657850600461_r8, & + 0.00022557780222960317_r8, 0.00023871021381248735_r8, & + 0.00024898976802862884_r8, 0.00025820315640055872_r8, & + 0.00026646892922955432_r8, 0.00027268787207589324_r8, & + 0.00027819470817533689_r8, 0.00028265019312256613_r8, & + 0.00028720516566815363_r8, 0.00029097966324445688_r8, & + 0.00029412191411680704_r8, 0.00029706138292610071_r8, & + 0.00029725222102891378_r8, 0.00029672175058716394_r8, & + 0.00029497812750213704_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,61) / & + 2.3766675814260808e-05_r8, 2.3908790796621056e-05_r8, & + 2.8642545301122522e-05_r8, 3.7693722168868759e-05_r8, & + 4.0596046726920356e-05_r8, 4.3162967097996924e-05_r8, & + 3.3919191714559116e-05_r8, 4.1719749080477888e-05_r8, & + 5.2456429911708257e-05_r8, 6.2717180729805974e-05_r8, & + 7.1115335965712267e-05_r8, 7.9186725006139187e-05_r8, & + 9.3193154473834047e-05_r8, 0.00010426918246722865_r8, & + 0.00011314154550909809_r8, 0.00012126758498092416_r8, & + 0.00013640925927188525_r8, 0.00014889800529969524_r8, & + 0.00015593748316130099_r8, 0.0001654144584969384_r8, & + 0.00017183075624307992_r8, 0.0001789725940976096_r8, & + 0.0001834522817747373_r8, 0.00018787360744269466_r8, & + 0.00019259178100853073_r8, 0.0001976164606616239_r8, & + 0.00020298487360771646_r8, 0.00021860174755140523_r8, & + 0.00023170131046334975_r8, 0.00024319042640869379_r8, & + 0.0002526436784144953_r8, 0.00025973931265524505_r8, & + 0.0002681847421932019_r8, 0.00027423935479839603_r8, & + 0.00027911360194514086_r8, 0.00028381646995251532_r8, & + 0.00028724884814674732_r8, 0.00029047456951344333_r8, & + 0.00029268618337744404_r8, 0.00029490469946753171_r8, & + 0.00029580534249352747_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,61) / & + 1.2314891668559702e-05_r8, 1.2291188174079215e-05_r8, & + 1.3185964485605407e-05_r8, 1.889614041743374e-05_r8, & + 1.9304535408380785e-05_r8, 1.9707073801842543e-05_r8, & + 1.8777205094659666e-05_r8, 2.4998880557277888e-05_r8, & + 3.0811076387636193e-05_r8, 3.7470301278135163e-05_r8, & + 4.1653564843453276e-05_r8, 4.5995187366790786e-05_r8, & + 5.4469166643820491e-05_r8, 5.9758228758166794e-05_r8, & + 6.6622492688436788e-05_r8, 7.1975861230548358e-05_r8, & + 8.8293002932875341e-05_r8, 0.00010456161097544995_r8, & + 0.00011683915692022163_r8, 0.00013369033457060023_r8, & + 0.00014565371259063825_r8, 0.00015657777478710476_r8, & + 0.00016337986450780582_r8, 0.00016976618940658776_r8, & + 0.00017585819744553956_r8, 0.00018114045062257847_r8, & + 0.00018597784991036898_r8, 0.00019881951619003427_r8, & + 0.00021253776408737979_r8, 0.00022640090316102085_r8, & + 0.00023868508762311643_r8, 0.00024685204002111564_r8, & + 0.0002554101197787328_r8, 0.00026378875744137046_r8, & + 0.00027299811110607214_r8, 0.0002791844338987987_r8, & + 0.00028310548046773024_r8, 0.00028651710507020907_r8, & + 0.00028970711850097715_r8, 0.00029469085401194993_r8, & + 0.00029648009516554787_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,61) / & + 5.3622022831023114e-06_r8, 5.2614071075384341e-06_r8, & + 5.6134354700321445e-06_r8, 5.4004085375962646e-06_r8, & + 5.2541809308073322e-06_r8, 5.511830644663337e-06_r8, & + 7.215338268775416e-06_r8, 1.0369306983175242e-05_r8, & + 1.4360762970605767e-05_r8, 1.893692792716702e-05_r8, & + 2.0731581381123685e-05_r8, 2.2429827388537967e-05_r8, & + 2.5094412961706481e-05_r8, 2.5867712145909495e-05_r8, & + 2.850385792862286e-05_r8, 3.1630694646145408e-05_r8, & + 4.0733413183158516e-05_r8, 5.2874270229121241e-05_r8, & + 6.7847844570486426e-05_r8, 8.4291189705721018e-05_r8, & + 0.00010002622060403483_r8, 0.00011442361016494529_r8, & + 0.00012780499908567235_r8, 0.00013976189409225378_r8, & + 0.00015051150851491565_r8, 0.00015936074559817185_r8, & + 0.00016719901328291097_r8, 0.00018223478308756447_r8, & + 0.00019539714931614188_r8, 0.00021182548799588894_r8, & + 0.00022918980460312309_r8, 0.00024006306607709724_r8, & + 0.00024713659273570813_r8, 0.00025514801868537038_r8, & + 0.0002675792588741149_r8, 0.00027579053251227032_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,61) / & + 4.3505729938432214e-06_r8, 4.3496291556061933e-06_r8, & + 3.9078251988199086e-06_r8, 3.7483927132418386e-06_r8, & + 3.6676585184654375e-06_r8, 3.8871427484598805e-06_r8, & + 4.8436738664138406e-06_r8, 6.5213115787351424e-06_r8, & + 8.611154530934101e-06_r8, 1.0701610792048879e-05_r8, & + 1.2601462050353048e-05_r8, 1.4313670280065501e-05_r8, & + 1.6618541494445907e-05_r8, 1.8156924410032828e-05_r8, & + 1.9848785626433781e-05_r8, 2.1902307553741746e-05_r8, & + 2.6740346463862074e-05_r8, 3.3962193478818353e-05_r8, & + 4.6458172405591358e-05_r8, 6.1918312197725028e-05_r8, & + 7.6955996050130407e-05_r8, 9.2677705945744631e-05_r8, & + 0.0001063456945702947_r8, 0.00012148921263175248_r8, & + 0.00013563388515510762_r8, 0.0001479028486722463_r8, & + 0.00015812601124660526_r8, 0.00017848903574406129_r8, & + 0.00019361725220362703_r8, 0.00020893984805288014_r8, & + 0.00022493211063977383_r8, 0.00023598836449592356_r8, & + 0.00024481513981518277_r8, 0.00024912322409859165_r8, & + 0.00025273064669011959_r8, 0.00025878487284473629_r8, & + 0.00026155515394587505_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,61) / & + 5.4584173673761082e-06_r8, 5.6521260597659577e-06_r8, & + 4.8513233257603335e-06_r8, 5.1470232255176251e-06_r8, & + 4.9186893182402859e-06_r8, 4.2551591919227562e-06_r8, & + 4.4571612551854664e-06_r8, 4.4990896749461581e-06_r8, & + 4.3827326198675356e-06_r8, 5.0339221155551827e-06_r8, & + 6.3500295690179082e-06_r8, 9.4359414652643722e-06_r8, & + 1.3329104422725328e-05_r8, 1.5236217262312666e-05_r8, & + 1.6664667448209713e-05_r8, 1.8128992548982064e-05_r8, & + 2.2742445887006588e-05_r8, 2.8089308117604268e-05_r8, & + 3.7607174746438796e-05_r8, 5.0826519298339563e-05_r8, & + 6.4936585288222134e-05_r8, 8.1702554910788054e-05_r8, & + 9.5988904454183508e-05_r8, 0.00011389357999661644_r8, & + 0.00013028472126422851_r8, 0.00014510564652472663_r8, & + 0.00015755195303311461_r8, 0.00018565634583000135_r8, & + 0.00020684162895716622_r8, 0.00022159408984713714_r8, & + 0.00023204258440422199_r8, 0.00023775640113786402_r8, & + 0.00024400729755946811_r8, 0.00024787459251591549_r8, & + 0.0002509495838155174_r8, 0.00025641827296991524_r8, & + 0.00026017404638829604_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,61) / & + 5.683584021653018e-06_r8, 5.7999459342359005e-06_r8, & + 5.4807476281535979e-06_r8, 6.478631834087403e-06_r8, & + 6.1005173583285132e-06_r8, 4.2111058018331149e-06_r8, & + 4.0694597918614089e-06_r8, 4.437520023418152e-06_r8, & + 4.0239240729139263e-06_r8, 3.8426821378625738e-06_r8, & + 4.3314950266381965e-06_r8, 7.3267026438659667e-06_r8, & + 1.0970158936527639e-05_r8, 1.2745231660974079e-05_r8, & + 1.4261395683730492e-05_r8, 1.5697102721124601e-05_r8, & + 1.8935957516592193e-05_r8, 2.3098309741346068e-05_r8, & + 3.0477093261565611e-05_r8, 4.1398252340414019e-05_r8, & + 5.626461223297571e-05_r8, 7.3627662297118249e-05_r8, & + 9.2585846304628436e-05_r8, 0.00011262043225359886_r8, & + 0.00013098491694566892_r8, 0.00014757626550410783_r8, & + 0.00016088968291651633_r8, 0.00019218335701780002_r8, & + 0.00021673140120243375_r8, 0.0002316739312163832_r8, & + 0.00024121855171289775_r8, 0.00024529621210065382_r8, & + 0.00024805535362023255_r8, 0.00025051973009690344_r8, & + 0.00025237340216375799_r8, 0.00025616355654290481_r8, & + 0.00025948561213261364_r8, 0.00026149664978691888_r8, & + 0.00026659509835361985_r8, 0.00026779371883279803_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,61) / & + 5.0067544937748539e-06_r8, 4.9481785290017591e-06_r8, & + 4.8429425342244656e-06_r8, 4.3768840390771899e-06_r8, & + 4.501399374134997e-06_r8, 3.6072749225160502e-06_r8, & + 3.4441718095999264e-06_r8, 3.7767666122597812e-06_r8, & + 3.791282654682579e-06_r8, 3.7862870765155311e-06_r8, & + 3.8565744223711743e-06_r8, 4.9943351971703649e-06_r8, & + 7.5438458195559975e-06_r8, 9.4167782571231539e-06_r8, & + 1.1284077731525922e-05_r8, 1.309568321395878e-05_r8, & + 1.6699852026443438e-05_r8, 2.0649500086737986e-05_r8, & + 2.686183977715314e-05_r8, 3.6268367752790357e-05_r8, & + 5.1701998627414382e-05_r8, 7.0435006983103195e-05_r8, & + 9.2404799058841872e-05_r8, 0.00011492494708773067_r8, & + 0.00013616371871040672_r8, 0.0001544274764728039_r8, & + 0.000168689084304394_r8, 0.00020170245887492422_r8, & + 0.00022775215247891636_r8, 0.00024276546073022213_r8, & + 0.00025235203588912898_r8, 0.00025599613125887929_r8, & + 0.00025741011219232961_r8, 0.00025771015933255575_r8, & + 0.00025787892833321782_r8, 0.00025967854328493126_r8, & + 0.00026092092013830766_r8, 0.00026254915385984397_r8, & + 0.00026654997246606952_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,61) / & + 4.4722926535747024e-06_r8, 4.3334151142151467e-06_r8, & + 4.2278087439038465e-06_r8, 3.2122406332981673e-06_r8, & + 3.1875380682144391e-06_r8, 3.1709069931117154e-06_r8, & + 3.1139599111109115e-06_r8, 2.9722251792018086e-06_r8, & + 2.9610781139493029e-06_r8, 3.0200132608525587e-06_r8, & + 3.0771458631012909e-06_r8, 3.5925722958187989e-06_r8, & + 4.2982583071551752e-06_r8, 5.8798363863835074e-06_r8, & + 8.2949368143186571e-06_r8, 1.0834584192477555e-05_r8, & + 1.48698883746689e-05_r8, 1.8339521981290119e-05_r8, & + 2.3253116906790979e-05_r8, 3.1653205502936496e-05_r8, & + 4.5880826785796193e-05_r8, 6.611078048953234e-05_r8, & + 9.0475025427848958e-05_r8, 0.00011573900101519468_r8, & + 0.00013830441966146623_r8, 0.00015750951421442276_r8, & + 0.00017367437639703137_r8, 0.00021118361607777133_r8, & + 0.00023977570006002721_r8, 0.00025507521568669155_r8, & + 0.00026364449829024684_r8, 0.00026701919609591914_r8, & + 0.000268070002893736_r8, 0.00026762162114671398_r8, & + 0.00026551236658540767_r8, 0.00026265693920068695_r8, & + 0.00026238825676583641_r8, 0.00026461784133691624_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,61) / & + 4.1277805720543481e-06_r8, 3.9658201117312783e-06_r8, & + 3.8461680928227786e-06_r8, 2.6726703504910598e-06_r8, & + 2.6751155710013615e-06_r8, 2.6992114233989402e-06_r8, & + 2.8904779936159948e-06_r8, 2.9449878867935111e-06_r8, & + 2.8319139104926731e-06_r8, 2.795937161015088e-06_r8, & + 2.6983291439110013e-06_r8, 3.1718336095101215e-06_r8, & + 4.5820846833261121e-06_r8, 5.4709541802067125e-06_r8, & + 7.9129366944807704e-06_r8, 1.1256631423891292e-05_r8, & + 1.7609935663345001e-05_r8, 2.145714372406835e-05_r8, & + 2.7180157973467709e-05_r8, 3.6660129222095031e-05_r8, & + 5.2706035092041821e-05_r8, 7.6440309575552957e-05_r8, & + 0.00010240829948917197_r8, 0.00012869605532630642_r8, & + 0.00015139306827426481_r8, 0.00016978403107186847_r8, & + 0.00018564909205381823_r8, 0.00021948520447380405_r8, & + 0.00024373136658137177_r8, 0.00025740645001917319_r8, & + 0.00026579740276173723_r8, 0.00027000170332912348_r8, & + 0.00027147414643305683_r8, 0.00027247508268517365_r8, & + 0.00027201412789978224_r8, 0.000269070024171264_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,61) / & + 4.1666622000144889e-06_r8, 4.0130649204786621e-06_r8, & + 3.8657948224982116e-06_r8, 2.7361176999456364e-06_r8, & + 2.7320030359887097e-06_r8, 2.7537133896998662e-06_r8, & + 2.7089011166913295e-06_r8, 2.729205341984264e-06_r8, & + 3.0260758653478249e-06_r8, 3.0929142791206525e-06_r8, & + 2.7379839301295031e-06_r8, 3.0747994843234573e-06_r8, & + 4.8185795150229701e-06_r8, 8.1342317225575345e-06_r8, & + 1.2132213817419608e-05_r8, 1.8035779451989469e-05_r8, & + 2.7696804605144261e-05_r8, 3.4001351573087796e-05_r8, & + 4.3800468535459177e-05_r8, 5.8424161909766751e-05_r8, & + 7.9300020527358123e-05_r8, 0.00010647334136496407_r8, & + 0.00013285799953006481_r8, 0.00015830491208457432_r8, & + 0.00018014963939204235_r8, 0.00019761651914612863_r8, & + 0.00021251806108844184_r8, 0.00024074239118146998_r8, & + 0.00025974190159445704_r8, 0.00027159842499983823_r8, & + 0.00027979439572887196_r8, 0.00028534014267209986_r8, & + 0.00028731954631627587_r8, 0.00028865944503260585_r8, & + 0.00028824352777339409_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,61) / & + 4.5594759056154654e-06_r8, 4.3939900437356729e-06_r8, & + 4.3274945732097933e-06_r8, 4.0521532087392916e-06_r8, & + 3.899560400506825e-06_r8, 3.8609303610866507e-06_r8, & + 3.3414115466807376e-06_r8, 2.9062826384634049e-06_r8, & + 3.1137515835188563e-06_r8, 3.3629684366738635e-06_r8, & + 2.907924782505356e-06_r8, 3.2824682713554778e-06_r8, & + 5.2389096420818047e-06_r8, 1.057731518401256e-05_r8, & + 1.820039438111542e-05_r8, 2.7840197100446093e-05_r8, & + 4.0085082803168693e-05_r8, 5.188436393344777e-05_r8, & + 6.9840093732303436e-05_r8, 9.1120079274920933e-05_r8, & + 0.00011452116642957647_r8, 0.00013934784999519804_r8, & + 0.00016297170627201338_r8, 0.00018497361341776215_r8, & + 0.00020427289106442182_r8, 0.00022060246967399533_r8, & + 0.00023476444985878495_r8, 0.00026013331172378341_r8, & + 0.00027579671019746098_r8, 0.00028619822035904182_r8, & + 0.00029418190854630532_r8, 0.00030005519202951921_r8, & + 0.00030229009361534392_r8, 0.00030376601643189606_r8, & + 0.00030639299004035732_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,61) / & + 5.3426454589453589e-06_r8, 5.2078177435013876e-06_r8, & + 5.3972248934325367e-06_r8, 7.6189896329400616e-06_r8, & + 6.8332814846868425e-06_r8, 6.019710580357741e-06_r8, & + 4.2284694717290711e-06_r8, 3.8700110432295745e-06_r8, & + 3.8816776764682309e-06_r8, 4.2141779554513754e-06_r8, & + 3.7530558874901876e-06_r8, 3.8090032401344502e-06_r8, & + 5.1625852821446479e-06_r8, 9.8248284223411301e-06_r8, & + 2.3158224053977764e-05_r8, 3.7281651433488401e-05_r8, & + 5.3505440293836868e-05_r8, 7.3129955071473118e-05_r8, & + 0.00010138759106180654_r8, 0.00012787747051441742_r8, & + 0.00015191236730248677_r8, 0.00017524561131895719_r8, & + 0.00019617361648421335_r8, 0.00021513880402019585_r8, & + 0.0002324478008243266_r8, 0.00024702822303731192_r8, & + 0.00025990762901316157_r8, 0.00028060551911820249_r8, & + 0.00028980026885505589_r8, 0.00029888541310801593_r8, & + 0.00030723676621199246_r8, 0.00031233355062094568_r8, & + 0.00031471766416667717_r8, 0.00031766147839031131_r8, & + 0.00032229324117222729_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,61) / & + 6.8703666592946317e-06_r8, 6.9270833194000023e-06_r8, & + 7.5474698256173103e-06_r8, 9.9100340167375469e-06_r8, & + 8.9782440344027296e-06_r8, 8.1606753808644409e-06_r8, & + 5.8062886920949692e-06_r8, 5.5553337640147139e-06_r8, & + 5.7100403212760756e-06_r8, 6.0460508091971954e-06_r8, & + 6.3434088097000086e-06_r8, 7.3317813940489796e-06_r8, & + 1.0460120309440778e-05_r8, 1.9823072051364085e-05_r8, & + 3.4482306900789659e-05_r8, 4.9104569980712567e-05_r8, & + 6.6529294734826795e-05_r8, 8.7579502491493141e-05_r8, & + 0.00011751933347082291_r8, 0.00014537476466782839_r8, & + 0.00017032686221419142_r8, 0.00019358009089274732_r8, & + 0.00021457227073819822_r8, 0.00023334946342692673_r8, & + 0.00025084895105508334_r8, 0.00026565091186019725_r8, & + 0.00027871175310536551_r8, 0.00030047660983585476_r8, & + 0.00031024869712540011_r8, 0.00031892903821628931_r8, & + 0.0003272530771590263_r8, 0.000333385278893148_r8, & + 0.00033622118761353695_r8, 0.00034033802060725443_r8, & + 0.00034830568066063325_r8, 0.00036149943362701666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,61) / & + 8.2666634896442685e-06_r8, 8.74282923202403e-06_r8, & + 9.4287831598531814e-06_r8, 1.1831685462873762e-05_r8, & + 1.1208781281144809e-05_r8, 1.0736807225124243e-05_r8, & + 9.0713277152724978e-06_r8, 9.9266759783765045e-06_r8, & + 1.2887057311969896e-05_r8, 1.6164674769340277e-05_r8, & + 1.9748958725390609e-05_r8, 2.3561034470778229e-05_r8, & + 3.3218958337751183e-05_r8, 4.7644928511577392e-05_r8, & + 6.0109584247740136e-05_r8, 7.2020487073869374e-05_r8, & + 8.845230213819936e-05_r8, 0.000106997360970993_r8, & + 0.00013319715753868952_r8, 0.00015904113987333008_r8, & + 0.00018426314027792813_r8, 0.00020755520982999263_r8, & + 0.00023035751425556076_r8, 0.00025038433273630702_r8, & + 0.00026917430502382055_r8, 0.00028553163934533454_r8, & + 0.00029907356819271755_r8, 0.00032472519012655886_r8, & + 0.00033886912548988514_r8, 0.00034769454997574643_r8, & + 0.00035540287954276273_r8, 0.00036393141630464804_r8, & + 0.00036707508477424553_r8, 0.00037445902778579905_r8, & + 0.00038376228302875804_r8, 0.00039388962655377216_r8, & + 0.00039409064267047217_r8, 0.00037609839471017573_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,61) / & + 9.6849010386033712e-06_r8, 1.0820377823926101e-05_r8, & + 1.1431963478471799e-05_r8, 1.4149250261665544e-05_r8, & + 1.3923610025442416e-05_r8, 1.4409479881655523e-05_r8, & + 1.4803901998111108e-05_r8, 2.2010062636773319e-05_r8, & + 3.1899227271339356e-05_r8, 4.0995260785509489e-05_r8, & + 4.6361554793399805e-05_r8, 5.2937561372653446e-05_r8, & + 6.4497989747787731e-05_r8, 7.6253052788457867e-05_r8, & + 8.7840796898332207e-05_r8, 9.974429864546216e-05_r8, & + 0.00011765929844985941_r8, 0.00013353935441626178_r8, & + 0.00015705988040552916_r8, 0.00018061106926072341_r8, & + 0.00020521164518673499_r8, 0.00022726786248340844_r8, & + 0.00025265975179436886_r8, 0.000274565563590744_r8, & + 0.00029458141211135337_r8, 0.00031187251645182958_r8, & + 0.00032619215858946437_r8, 0.00035617974399482048_r8, & + 0.0003744992087357749_r8, 0.00038440595007220774_r8, & + 0.0003908643324797649_r8, 0.00039785255587585579_r8, & + 0.00040055458197750304_r8, 0.00041230890880276163_r8, & + 0.00042073950209436673_r8, 0.00042042604086044405_r8, & + 0.00040334615653584305_r8, 0.00039301880768814821_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,61) / & + 1.1283487287745667e-05_r8, 1.2655283574449196e-05_r8, & + 1.3384868696334194e-05_r8, 1.6857935690764383e-05_r8, & + 1.7911790741251691e-05_r8, 1.9440241421973332e-05_r8, & + 2.4292363745988612e-05_r8, 3.6253134263132303e-05_r8, & + 4.795823099493213e-05_r8, 5.841419045063031e-05_r8, & + 6.2121637164196469e-05_r8, 6.7408934287564119e-05_r8, & + 7.6588875342838245e-05_r8, 8.4275873390720236e-05_r8, & + 9.5577538686988133e-05_r8, 0.00011020390278025172_r8, & + 0.00013566485668587216_r8, 0.00015465076488840356_r8, & + 0.00017932445227220067_r8, 0.00020378776468631089_r8, & + 0.00023110828441013707_r8, 0.00025567510582854088_r8, & + 0.0002833908682378351_r8, 0.00030696755739042852_r8, & + 0.00032831584247554986_r8, 0.00034603074509798108_r8, & + 0.00036027932360851105_r8, 0.00039689789701233545_r8, & + 0.00041959996185659577_r8, 0.0004334218765726269_r8, & + 0.00043869366049541068_r8, 0.00044154785073863024_r8, & + 0.00044171258808802248_r8, 0.00044412671800350321_r8, & + 0.00044587509549952217_r8, 0.00043916156903523064_r8, & + 0.00043221193598615338_r8, 0.00042216494983749343_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,61) / & + 1.148364195491845e-05_r8, 1.3211491844280828e-05_r8, & + 1.44220611030067e-05_r8, 1.755174809496653e-05_r8, & + 1.8793680899326425e-05_r8, 2.0644763752509845e-05_r8, & + 2.6768589182609021e-05_r8, 3.9460681594166448e-05_r8, & + 5.6974154325512019e-05_r8, 6.551476845905794e-05_r8, & + 6.9848164715869307e-05_r8, 7.414896569933534e-05_r8, & + 8.2632181750742079e-05_r8, 9.0635470634778533e-05_r8, & + 0.00010181429257876987_r8, 0.00011591969716000942_r8, & + 0.00014749985420682313_r8, 0.00017299398944334001_r8, & + 0.00019790648103400421_r8, 0.00022335261415025725_r8, & + 0.00025297489129822592_r8, 0.00028074846434754782_r8, & + 0.00030583885914566711_r8, 0.00032946744559192578_r8, & + 0.00035075808971862175_r8, 0.00036835369749736415_r8, & + 0.00038273050181693855_r8, 0.00042035029667771598_r8, & + 0.00044432362798590123_r8, 0.00046015086164237669_r8, & + 0.00046780574969527549_r8, 0.0004706977614683252_r8, & + 0.00046983755583881087_r8, 0.00046806230848422324_r8, & + 0.00046541281913995482_r8, 0.00045869895767190148_r8, & + 0.00045508338957180234_r8, 0.00044808783021906478_r8, & + 0.00043905874705088349_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,61) / & + 9.1800303824106277e-06_r8, 1.2126743407533768e-05_r8, & + 1.4720990465986044e-05_r8, 1.3851236696746352e-05_r8, & + 1.4023312545167465e-05_r8, 1.5347319273722739e-05_r8, & + 2.5700171236897113e-05_r8, 4.2035327874979499e-05_r8, & + 6.4348476416691756e-05_r8, 7.4761444316342465e-05_r8, & + 7.9878449604188322e-05_r8, 8.5613193903923498e-05_r8, & + 9.5681489976706311e-05_r8, 0.00010517549477365432_r8, & + 0.00011531759015030973_r8, 0.00012683226107213712_r8, & + 0.00015745610728992609_r8, 0.00018997767389690123_r8, & + 0.00021909267136285129_r8, 0.00024568926942210192_r8, & + 0.00027556398651473399_r8, 0.00030295073589316278_r8, & + 0.00032048838929937432_r8, 0.00034377032374217892_r8, & + 0.00036433140392660025_r8, 0.00038223672352091727_r8, & + 0.00039863817769296645_r8, 0.00043661796826541423_r8, & + 0.00046452498804639428_r8, 0.00048061456022833147_r8, & + 0.00049067257838064844_r8, 0.00049322657090248103_r8, & + 0.00049296837990997695_r8, 0.00048958091402355496_r8, & + 0.00048482358587571605_r8, 0.00047901356612732712_r8, & + 0.00047219275807012465_r8, 0.00046456029080264996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,61) / & + 6.4491141445006882e-06_r8, 1.0650254766571059e-05_r8, & + 1.4732989546886127e-05_r8, 1.2724877858860634e-05_r8, & + 1.4282291817682841e-05_r8, 2.0699563910803696e-05_r8, & + 4.3724070308219116e-05_r8, 6.4156643919226005e-05_r8, & + 7.9212848882364968e-05_r8, 8.7049189020008046e-05_r8, & + 9.2483968572802409e-05_r8, 9.6687940525751225e-05_r8, & + 0.00010310574484267397_r8, 0.00011272059351993846_r8, & + 0.00012396173303490102_r8, 0.00013674679004118553_r8, & + 0.00017115698919689963_r8, 0.00020721498202191821_r8, & + 0.00023844768646270065_r8, 0.00026680465828574421_r8, & + 0.00029361062596797388_r8, 0.00031893064577266352_r8, & + 0.00033417203944519091_r8, 0.00035686179091142092_r8, & + 0.00037712383615507003_r8, 0.00039575358876477005_r8, & + 0.00041274851442347083_r8, 0.00045234200952942055_r8, & + 0.00048256627976440704_r8, 0.000498113598530308_r8, & + 0.0005093298849141052_r8, 0.00051184786457435867_r8, & + 0.00051195855355594801_r8, 0.00050811196526931012_r8, & + 0.00050279174943378374_r8, 0.00049661928473690594_r8, & + 0.00048884113920869498_r8, 0.00047862270279881188_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,61) / & + 5.5828117646822749e-06_r8, 9.4019580501054031e-06_r8, & + 1.3275648175189956e-05_r8, 1.3285709831539119e-05_r8, & + 1.5300135564713246e-05_r8, 2.1782157430474848e-05_r8, & + 3.913232317171096e-05_r8, 5.7368917589775935e-05_r8, & + 7.7389976130092582e-05_r8, 9.1557863167020137e-05_r8, & + 9.8463257315569862e-05_r8, 0.00010306843108452596_r8, & + 0.00011126223616638958_r8, 0.00012449932523474349_r8, & + 0.00013888085827205751_r8, 0.00015461998263170576_r8, & + 0.00019335379737397656_r8, 0.00022971069270723025_r8, & + 0.00025928891735821125_r8, 0.00029068227588158229_r8, & + 0.00031682743651779624_r8, 0.00034257637090339354_r8, & + 0.00035899560463104334_r8, 0.00037972955385130128_r8, & + 0.00040025894172811125_r8, 0.00042040451865241673_r8, & + 0.00043689864517819409_r8, 0.00047258827248820092_r8, & + 0.00050148744241021123_r8, 0.00051645562812552737_r8, & + 0.00052725343467022938_r8, 0.00053015239638523419_r8, & + 0.00053049406003071212_r8, 0.00052704174351795783_r8, & + 0.00052146666940402586_r8, 0.00051405067973082713_r8, & + 0.00050559229386427202_r8, 0.00049422583547078559_r8, & + 0.00049461616387725164_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,61) / & + 6.6399470599159953e-06_r8, 8.6149505186595235e-06_r8, & + 1.0847780403066191e-05_r8, 1.5809864074886627e-05_r8, & + 1.751338522889559e-05_r8, 2.0051217585980691e-05_r8, & + 2.6738185780318189e-05_r8, 3.6907520306821334e-05_r8, & + 5.9085847894712254e-05_r8, 8.3749005911337514e-05_r8, & + 9.7932087807253761e-05_r8, 0.00010759537837034396_r8, & + 0.00012444130353999095_r8, 0.00014125084022089369_r8, & + 0.00015904582726438763_r8, 0.00017451770776405294_r8, & + 0.00021537590510033668_r8, 0.00025230711485222035_r8, & + 0.00028088609507384029_r8, 0.0003159692022231153_r8, & + 0.00034483518466439851_r8, 0.00037139986552464464_r8, & + 0.00039050541113625029_r8, 0.00041044528063665585_r8, & + 0.00043099100652533852_r8, 0.00045083379355620489_r8, & + 0.00046854020292939121_r8, 0.00050149297190680685_r8, & + 0.00052865047066485776_r8, 0.00054239665746062934_r8, & + 0.00055194544832846244_r8, 0.00055601534528721102_r8, & + 0.00055789484949980142_r8, 0.00055673267932910544_r8, & + 0.00055387699410107741_r8, 0.00054913111297125183_r8, & + 0.00055193621976832999_r8, 0.00054652771903580886_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,61) / & + 7.9523318058102422e-06_r8, 8.5776631392639544e-06_r8, & + 9.3735021084823299e-06_r8, 1.1268532960652791e-05_r8, & + 1.2356133093379083e-05_r8, 1.3848156478133821e-05_r8, & + 1.6052490459235303e-05_r8, 3.129351835218618e-05_r8, & + 4.9912428267634225e-05_r8, 6.9442080323201327e-05_r8, & + 8.7598169280488577e-05_r8, 0.0001043314721499542_r8, & + 0.00013015994271628296_r8, 0.00015479576695962929_r8, & + 0.00017800743259221074_r8, 0.00020110122390782042_r8, & + 0.00024556190183909021_r8, 0.00028172493691792585_r8, & + 0.00031313112180049799_r8, 0.0003447590159893034_r8, & + 0.00037376373555674224_r8, 0.00040200816077354989_r8, & + 0.00042567651959445643_r8, 0.00044987616742672438_r8, & + 0.00046918893243401346_r8, 0.00048841463356588579_r8, & + 0.00050652101708429265_r8, 0.00053826709108679483_r8, & + 0.00056303613147715365_r8, 0.00057803063702852834_r8, & + 0.00058694329370823875_r8, 0.00059312711153829373_r8, & + 0.00059891013367315016_r8, 0.0006029338678752794_r8, & + 0.00060327716432111394_r8, 0.00059993754177444165_r8, & + 0.00059198456278450459_r8, 0.00056336282919361783_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,61) / & + 8.9753992138975162e-06_r8, 9.2105541359244362e-06_r8, & + 9.1977718055877176e-06_r8, 9.2226223527187382e-06_r8, & + 9.7912985119650636e-06_r8, 1.0705754064834159e-05_r8, & + 1.6108433162749669e-05_r8, 2.5443921927351162e-05_r8, & + 4.0771459724561201e-05_r8, 5.8604672664883074e-05_r8, & + 7.8163842468910135e-05_r8, 9.8429102269639455e-05_r8, & + 0.00012960085306872683_r8, 0.00016167192280297615_r8, & + 0.00019028458746730913_r8, 0.00021903172844576585_r8, & + 0.00026980417853100482_r8, 0.00030911779802507671_r8, & + 0.00034192276624232803_r8, 0.0003732800372441395_r8, & + 0.00039922346893508866_r8, 0.00042699999218521881_r8, & + 0.0004503494860804418_r8, 0.00047540603971262511_r8, & + 0.0004958946369559411_r8, 0.00051535864028131608_r8, & + 0.00053300091646228621_r8, 0.00056385705107938212_r8, & + 0.00058990927947245788_r8, 0.00060860220663061482_r8, & + 0.00061606540289057936_r8, 0.0006225445774103082_r8, & + 0.000627412653838101_r8, 0.00062991279442094444_r8, & + 0.00063035719403790663_r8, 0.0006282713280752239_r8, & + 0.00062050680045856288_r8, 0.00060384697197798573_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,61) / & + 9.3264123797597499e-06_r8, 9.3368369451000437e-06_r8, & + 9.4999806742109727e-06_r8, 1.0063791007911739e-05_r8, & + 1.1068265297070529e-05_r8, 1.2701962497155864e-05_r8, & + 2.0972531528423121e-05_r8, 3.4438626258062049e-05_r8, & + 5.3011573116278262e-05_r8, 7.3606552902922718e-05_r8, & + 9.2767075789205967e-05_r8, 0.00011211290191336006_r8, & + 0.00014631301710782882_r8, 0.00018087810015545133_r8, & + 0.00021274791138519645_r8, 0.00024355111299441528_r8, & + 0.00029546693706500207_r8, 0.00033587768419484764_r8, & + 0.00036917535857691416_r8, 0.00040032995099679156_r8, & + 0.00042607974466321515_r8, 0.00045180199575938878_r8, & + 0.00047535990967275744_r8, 0.00049922555030716003_r8, & + 0.00052168489643689229_r8, 0.00054195221248259473_r8, & + 0.00056025093088601008_r8, 0.00059437032276181997_r8, & + 0.00061937383564139798_r8, 0.00063292752885471494_r8, & + 0.00063906203816246616_r8, 0.00064489306638393145_r8, & + 0.00064806120034633535_r8, 0.00065044239355375967_r8, & + 0.00065164362198917819_r8, 0.00065059818404494579_r8, & + 0.00064231053697726625_r8, 0.00063115069021537381_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,61) / & + 1.0856807189197936e-05_r8, 1.1305473242981055e-05_r8, & + 1.2664255621336743e-05_r8, 1.3864176926245654e-05_r8, & + 1.7640332270389073e-05_r8, 2.2468721889677188e-05_r8, & + 4.0800824976240447e-05_r8, 6.1412021803575182e-05_r8, & + 8.0776164710676102e-05_r8, 0.00010006455713140326_r8, & + 0.00011583584821440104_r8, 0.0001338653060326959_r8, & + 0.00016719177602132881_r8, 0.00019893287118179529_r8, & + 0.00022843548912548225_r8, 0.00025906550907892479_r8, & + 0.00030738192373030971_r8, 0.0003474651445298064_r8, & + 0.00038333927496311181_r8, 0.00041646610160179983_r8, & + 0.0004440474087330024_r8, 0.00046924957488954328_r8, & + 0.00049412821571057357_r8, 0.00051781102513013318_r8, & + 0.0005391968848433655_r8, 0.00055840713827606293_r8, & + 0.00057916513751432672_r8, 0.00061629119292204871_r8, & + 0.00064137208551549006_r8, 0.00065246809883984127_r8, & + 0.00065738865999601093_r8, 0.00066383788641660854_r8, & + 0.00066679316853288215_r8, 0.00066990108218338855_r8, & + 0.00067073701973707181_r8, 0.00066724022415552209_r8, & + 0.00065059216965510785_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,61) / & + 2.0663499292134213e-05_r8, 2.1730788733042037e-05_r8, & + 2.3285903720860273e-05_r8, 2.1741886986859585e-05_r8, & + 2.6769886090531387e-05_r8, 3.1321276518749e-05_r8, & + 5.6377129822421868e-05_r8, 7.3430612628475517e-05_r8, & + 9.2745902695521055e-05_r8, 0.00011398583562452787_r8, & + 0.00012907334089476855_r8, 0.00014499120249719598_r8, & + 0.00017681826241946927_r8, 0.00020778214914802878_r8, & + 0.00023815729152499573_r8, 0.00026997617308516947_r8, & + 0.00032055758832386593_r8, 0.00036402636932326488_r8, & + 0.00040389495232738917_r8, 0.00043752243403310978_r8, & + 0.00046625387912617254_r8, 0.00049236233015189019_r8, & + 0.00051471124763003307_r8, 0.00053639845399877097_r8, & + 0.00055378884464794972_r8, 0.00057110986763687617_r8, & + 0.00058981634250531475_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,61) / & + 0.00010399535848421899_r8, 9.1978374699305782e-05_r8, & + 9.5610894468897131e-05_r8, 0.0001153796652047708_r8, & + 0.00015735080427621678_r8, 0.00018975286886557493_r8, & + 0.0002375325075657339_r8, 0.00027340615397282756_r8, & + 0.0002680012940573127_r8, 0.00023057806547105157_r8, & + 0.00021886459624429849_r8, 0.00012814683927524253_r8, & + 0.0001089383718322278_r8, 0.00010546356714073072_r8, & + 0.0001207669673821023_r8, 0.00010650798597045765_r8, & + 8.4578638262226941e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,61) / & + 0.00011103051156854092_r8, 9.392553251463637e-05_r8, & + 9.7362894779543476e-05_r8, 0.00012570701188806442_r8, & + 0.0001435936021356963_r8, 0.00016880209146212017_r8, & + 0.00021981343027570641_r8, 0.00026259693716763097_r8, & + 0.00026738683784453506_r8, 0.00021637911655446342_r8, & + 0.00018719267911932873_r8, 0.00012025514346238167_r8, & + 0.00010840037975081103_r8, 0.00011426111714993301_r8, & + 0.00011312234576500805_r8, 0.00010457273008667733_r8, & + 9.5341847342187553e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,61) / & + 9.0496718809525637e-05_r8, 8.6897536894254917e-05_r8, & + 9.7512218939407711e-05_r8, 0.00011580453311373444_r8, & + 0.00012755305352951828_r8, 0.00013941767025363989_r8, & + 0.00019335841898759318_r8, 0.0002209745504634233_r8, & + 0.00023210598321338164_r8, 0.00018171990609816259_r8, & + 0.00013945862345488973_r8, 0.00010839455143560741_r8, & + 8.2897039901596746e-05_r8, 8.3359924699163201e-05_r8, & + 9.4085958245619265e-05_r8, 9.0584841359649348e-05_r8, & + 8.2559925223481265e-05_r8, 7.6691971151216073e-05_r8, & + 7.7018423584783365e-05_r8, 7.8450226543760567e-05_r8, & + 7.8733513514566542e-05_r8, 7.7408167692466793e-05_r8, & + 7.8315354757022625e-05_r8, 8.364128013766466e-05_r8, & + 8.7834161172082001e-05_r8, 9.1407183246711317e-05_r8, & + 9.3672804655577744e-05_r8, 0.00010070354157140087_r8, & + 0.00010935715341544123_r8, 0.00011606488697672066_r8, & + 0.0001164411269273977_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,61) / & + 8.4272085105422894e-05_r8, 7.7313120276751066e-05_r8, & + 8.7660453273456513e-05_r8, 0.00010334441712292666_r8, & + 0.00010716686792993339_r8, 0.00010615572318144951_r8, & + 0.00014400951150363292_r8, 0.00015531148535142357_r8, & + 0.00019793286445270785_r8, 0.00015097582228348273_r8, & + 0.00011803258628667379_r8, 0.0001036347335706448_r8, & + 7.8009182064040457e-05_r8, 7.9546280190575386e-05_r8, & + 9.2285543614562993e-05_r8, 8.9875487144364712e-05_r8, & + 8.0859052845205797e-05_r8, 7.7438916057808954e-05_r8, & + 7.7319696594737713e-05_r8, 7.9045344572047178e-05_r8, & + 7.9720062906265079e-05_r8, 7.8794611439939429e-05_r8, & + 7.9753230237286749e-05_r8, 8.2937702615302862e-05_r8, & + 9.0487454981921987e-05_r8, 9.5294164923433796e-05_r8, & + 9.6399585927898278e-05_r8, 0.00010263394354932509_r8, & + 0.00011117784487333015_r8, 0.00011939765188769353_r8, & + 0.00011521578552469694_r8, 0.00011299605738725219_r8, & + 0.00011051974649994694_r8, 0.00011086433981500154_r8, & + 0.00011420091905414369_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,61) / & + 8.7828997510445772e-05_r8, 9.3929754578281005e-05_r8, & + 8.9699626050271651e-05_r8, 0.00011171927250743134_r8, & + 0.00012519937561248626_r8, 0.00010774761297575612_r8, & + 0.00014156050702178802_r8, 0.00014809364533714111_r8, & + 0.00015742248125642189_r8, 0.00011610648108800677_r8, & + 9.5606436427901948e-05_r8, 9.0283284455689109e-05_r8, & + 7.6843123347621094e-05_r8, 7.8970524563332575e-05_r8, & + 8.5947430518849312e-05_r8, 8.3838856979113913e-05_r8, & + 7.7442040304080665e-05_r8, 7.6111998201320569e-05_r8, & + 7.6647352891166863e-05_r8, 7.8657945914340456e-05_r8, & + 8.0419688507943479e-05_r8, 8.1519326848216491e-05_r8, & + 8.3608904814730373e-05_r8, 8.6015061523480628e-05_r8, & + 9.5600831023065255e-05_r8, 9.9379752952393318e-05_r8, & + 0.00010205145949056524_r8, 0.00011061005244696267_r8, & + 0.00011867379175468045_r8, 0.00012190676193385432_r8, & + 0.00011621411318411933_r8, 0.00011601029816716493_r8, & + 0.00011668574601017181_r8, 0.00011641752882130789_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,61) / & + 8.4360033955873688e-05_r8, 0.0001048732910077899_r8, & + 9.9367628527801622e-05_r8, 0.00011098731684758589_r8, & + 0.00011451912206923153_r8, 0.00011829748360349592_r8, & + 0.00015883720938740433_r8, 0.00012416601040376478_r8, & + 0.00010458662604291346_r8, 8.3325521384844064e-05_r8, & + 7.7427122585548201e-05_r8, 7.4149491239330935e-05_r8, & + 7.0243936594929568e-05_r8, 7.231823056342402e-05_r8, & + 7.3375007944059833e-05_r8, 7.434327941625797e-05_r8, & + 7.3481395120592058e-05_r8, 7.3810099083209329e-05_r8, & + 7.5872555375320109e-05_r8, 7.9002070846747075e-05_r8, & + 8.1859401900166552e-05_r8, 8.5156281284495136e-05_r8, & + 8.9013626062485053e-05_r8, 9.3204480221512333e-05_r8, & + 9.9296205409161217e-05_r8, 0.00010310884307810723_r8, & + 0.00010890400976326793_r8, 0.00011945983860312425_r8, & + 0.00012236298606804497_r8, 0.00012062535904464587_r8, & + 0.00011901802020019627_r8, 0.00011957875727097416_r8, & + 0.00012025889775338412_r8, 0.00012006446795586845_r8, & + 0.00012071914813995716_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,62) / & + 0.00010230649683712951_r8, 0.00010272570608076366_r8, & + 0.00010155813998889612_r8, 0.00011292837414305275_r8, & + 0.00011518259197824229_r8, 0.00012090351418772865_r8, & + 0.00012529841355121216_r8, 0.00013905187467287683_r8, & + 0.00015761267987220048_r8, 0.00016437788369940597_r8, & + 0.00016943255739449686_r8, 0.00017394195329185647_r8, & + 0.00017224546593125952_r8, 0.00017999746831727959_r8, & + 0.00018622255454452778_r8, 0.00019200069319942373_r8, & + 0.00019609422178920783_r8, 0.00020291324808832941_r8, & + 0.00020938825699621066_r8, 0.00021393858527502362_r8, & + 0.00022075564002598281_r8, 0.00023134127948420711_r8, & + 0.00023671000607383287_r8, 0.00024170385550552264_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,62) / & + 9.1017826604950489e-05_r8, 9.126355069661118e-05_r8, & + 9.61566425525736e-05_r8, 0.00010465760110574524_r8, & + 0.00010654630200005026_r8, 0.00011280308578977226_r8, & + 0.00011456686821285003_r8, 0.00013001095263670242_r8, & + 0.00014644519278562862_r8, 0.00015623812356669152_r8, & + 0.0001629994393562749_r8, 0.00016944850675569613_r8, & + 0.00017206527584983131_r8, 0.00018095303851633522_r8, & + 0.00018538443755422606_r8, 0.00018925453680136245_r8, & + 0.0001937901458472984_r8, 0.00020018770760215742_r8, & + 0.0002056143910838513_r8, 0.00020904137086294081_r8, & + 0.0002153399462076933_r8, 0.00022217063502973845_r8, & + 0.00022770850092570561_r8, 0.00023313087288643456_r8, & + 0.00023791045279239925_r8, 0.00024257433005070195_r8, & + 0.00024652789089898931_r8, 0.00025645454853866494_r8, & + 0.00026359231615730806_r8, 0.00027136735403024149_r8, & + 0.00027685287454063171_r8, 0.0002809310091531491_r8, & + 0.0002843342376426939_r8, 0.00028832853106432595_r8, & + 0.00029252894434523842_r8, 0.00029433606151438486_r8, & + 0.00029688798477548535_r8, 0.00030035175469317067_r8, & + 0.00030059136476216812_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,62) / & + 4.8148042055682159e-05_r8, 4.8161670299184419e-05_r8, & + 5.7010366295743213e-05_r8, 6.3269151750137745e-05_r8, & + 6.5900160765920951e-05_r8, 6.9070673627055477e-05_r8, & + 6.4805599891128485e-05_r8, 7.7719857410200408e-05_r8, & + 9.7153346580186042e-05_r8, 0.00011080856705304786_r8, & + 0.00011999729944989591_r8, 0.00012827998884307231_r8, & + 0.00014044793337730527_r8, 0.00014951487570388783_r8, & + 0.00015621971388004113_r8, 0.00016173870234081244_r8, & + 0.00017013179963394626_r8, 0.00017629610628889952_r8, & + 0.00018156614931320465_r8, 0.00018678207334230833_r8, & + 0.00019109139738328674_r8, 0.00019597324598605393_r8, & + 0.0002009194910169976_r8, 0.00020628609805852348_r8, & + 0.00021168333738941727_r8, 0.00021728084811509698_r8, & + 0.00022321058304060063_r8, 0.0002363989929967506_r8, & + 0.000246919939693462_r8, 0.00025618852488879938_r8, & + 0.00026454009684605647_r8, 0.0002712966000472631_r8, & + 0.00027720645725120885_r8, 0.00028231930203175036_r8, & + 0.00028732106341369004_r8, 0.0002911524333270017_r8, & + 0.00029430166781322623_r8, 0.00029792597887250279_r8, & + 0.00029894314919661982_r8, 0.00029882692983769851_r8, & + 0.00029932097144763794_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,62) / & + 2.0353632578003112e-05_r8, 2.0670864786807255e-05_r8, & + 2.5811047128241133e-05_r8, 3.2348557556582842e-05_r8, & + 3.4830108997266423e-05_r8, 3.6049370005278037e-05_r8, & + 2.8293493537018218e-05_r8, 3.6943035447168443e-05_r8, & + 5.0712441247701746e-05_r8, 6.3648706099008132e-05_r8, & + 7.0879091440976844e-05_r8, 7.9778609624060292e-05_r8, & + 9.345943145828639e-05_r8, 0.00010308428160990168_r8, & + 0.0001123215662793316_r8, 0.00012028318067840256_r8, & + 0.00013511956482897797_r8, 0.00014752359072718043_r8, & + 0.00015566223407089628_r8, 0.00016506650342519035_r8, & + 0.00017158336782972447_r8, 0.00017817496641938537_r8, & + 0.00018284837771059693_r8, 0.00018743780596099712_r8, & + 0.00019226927325250164_r8, 0.00019734945944197013_r8, & + 0.0002026894252616707_r8, 0.00021701209611511962_r8, & + 0.00022980132151261234_r8, 0.00024120690269485676_r8, & + 0.00024991265992854608_r8, 0.00025735940034287232_r8, & + 0.00026612922042130993_r8, 0.00027309011182029871_r8, & + 0.00027890092590688399_r8, 0.00028436931428638763_r8, & + 0.00028848560137905994_r8, 0.00029220917957759789_r8, & + 0.00029501802993246772_r8, 0.0002969983667692869_r8, & + 0.00029856785714637673_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,62) / & + 1.0976426284749751e-05_r8, 1.1013741034522982e-05_r8, & + 1.366597314184459e-05_r8, 1.4610643205602606e-05_r8, & + 1.4584282204093091e-05_r8, 1.4340011777777031e-05_r8, & + 1.4783728920803741e-05_r8, 2.0993090882184134e-05_r8, & + 2.7852892677341247e-05_r8, 3.6951318003066567e-05_r8, & + 4.0985788576077472e-05_r8, 4.6346905200966395e-05_r8, & + 5.5116671781984626e-05_r8, 6.0680443437751215e-05_r8, & + 6.7641120949585713e-05_r8, 7.4232938256437039e-05_r8, & + 9.0400774255659804e-05_r8, 0.00010615942462807647_r8, & + 0.00011833375880000462_r8, 0.00013333372145011299_r8, & + 0.00014512942232009456_r8, 0.00015590401610650646_r8, & + 0.00016316948134837011_r8, 0.00017016496936194422_r8, & + 0.00017658988403567954_r8, 0.00018219424434376809_r8, & + 0.0001869812066982045_r8, 0.00019990353984966459_r8, & + 0.00021416832584140492_r8, 0.00022730001920254152_r8, & + 0.0002380103376848074_r8, 0.00024540564263150061_r8, & + 0.0002534995406673906_r8, 0.00026191723913112963_r8, & + 0.00027183108793840823_r8, 0.0002801895193017769_r8, & + 0.0002849196831166563_r8, 0.00028916628468417531_r8, & + 0.00029203854818643467_r8, 0.00029664454486464775_r8, & + 0.00029898670966618915_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,62) / & + 5.9312212007052048e-06_r8, 5.8368068393546176e-06_r8, & + 6.649076331914706e-06_r8, 4.9813716670974165e-06_r8, & + 4.8638085507675472e-06_r8, 4.9897668086300324e-06_r8, & + 6.0891279806243202e-06_r8, 8.6275094648264733e-06_r8, & + 1.2656103370986078e-05_r8, 1.7583727801532156e-05_r8, & + 1.9767103353277074e-05_r8, 2.1839639030959502e-05_r8, & + 2.5105696888279499e-05_r8, 2.6563282515894291e-05_r8, & + 2.9419893038479965e-05_r8, 3.3045090483898727e-05_r8, & + 4.2218477339182702e-05_r8, 5.3894003862353589e-05_r8, & + 6.8269441907289644e-05_r8, 8.3967252279564756e-05_r8, & + 9.9491995665942286e-05_r8, 0.00011363888274354363_r8, & + 0.00012746592381582194_r8, 0.00014016868736140903_r8, & + 0.00015143962535238387_r8, 0.00016071464465247429_r8, & + 0.00016842657496713668_r8, 0.00018384655605325763_r8, & + 0.00019775016411426022_r8, 0.00021521392068523783_r8, & + 0.00023167841831619811_r8, 0.00024063749408370847_r8, & + 0.00024546025923111067_r8, 0.00025128712260684313_r8, & + 0.00026382804459966719_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,62) / & + 4.4226387917932307e-06_r8, 4.5035102249690836e-06_r8, & + 4.2650517649608352e-06_r8, 3.7554549294707502e-06_r8, & + 3.7331067891026979e-06_r8, 3.8256180956910395e-06_r8, & + 4.5318090488669113e-06_r8, 6.3953706276844078e-06_r8, & + 8.5436436521721571e-06_r8, 1.0835698094074283e-05_r8, & + 1.2515471327270884e-05_r8, 1.4681677746980175e-05_r8, & + 1.7681369385284112e-05_r8, 1.943587983777731e-05_r8, & + 2.1150750611912594e-05_r8, 2.3132562560315488e-05_r8, & + 2.7978713051036394e-05_r8, 3.6070155083939856e-05_r8, & + 4.8710762146989792e-05_r8, 6.4117477304940373e-05_r8, & + 7.9119713628961289e-05_r8, 9.4726048234027179e-05_r8, & + 0.00010938009968901845_r8, 0.00012543401176934042_r8, & + 0.00013955168084103483_r8, 0.00015140720792384388_r8, & + 0.00016176655492473459_r8, 0.00018092798145781457_r8, & + 0.00019575693722625269_r8, 0.00021218334251934761_r8, & + 0.00022816860270662872_r8, 0.0002380231402699007_r8, & + 0.00024367973531610275_r8, 0.00024688459965730157_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,62) / & + 4.392639796816389e-06_r8, 4.8573208699221481e-06_r8, & + 4.5147971851833519e-06_r8, 5.5649924468105529e-06_r8, & + 5.4532514450667808e-06_r8, 4.5563081502436474e-06_r8, & + 4.1729648785817426e-06_r8, 4.0618772489300511e-06_r8, & + 4.4225423179257711e-06_r8, 5.3869287910913355e-06_r8, & + 6.7048557317651083e-06_r8, 1.0153982568547297e-05_r8, & + 1.4514281251042468e-05_r8, 1.6524743830446608e-05_r8, & + 1.8280451778540526e-05_r8, 2.0039808151837648e-05_r8, & + 2.4521063397919738e-05_r8, 3.0659441032594843e-05_r8, & + 4.0560562040536383e-05_r8, 5.3902645743932779e-05_r8, & + 6.8426932095913974e-05_r8, 8.4113143001313643e-05_r8, & + 9.9915903313050575e-05_r8, 0.00011818716908253755_r8, & + 0.00013506743434384989_r8, 0.00015001089944927706_r8, & + 0.00016246565753222654_r8, 0.00018815855561315231_r8, & + 0.0002075731492626266_r8, 0.0002214965150828191_r8, & + 0.00023080532027593061_r8, 0.00023571077444660188_r8, & + 0.00024165323920239342_r8, 0.00024592717454217185_r8, & + 0.00025022100030367691_r8, 0.00025525543657692719_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,62) / & + 4.3550867981249736e-06_r8, 4.8717393042865933e-06_r8, & + 4.9836049395722549e-06_r8, 6.4903066111226689e-06_r8, & + 6.6395576891899252e-06_r8, 4.891466601566781e-06_r8, & + 4.5529452424617105e-06_r8, 3.602871420336887e-06_r8, & + 3.3301882868209185e-06_r8, 3.4996207008720988e-06_r8, & + 4.1937607563530729e-06_r8, 7.4715043135449491e-06_r8, & + 1.1359154965830689e-05_r8, 1.2915147207293555e-05_r8, & + 1.4507081901391514e-05_r8, 1.6251474390086286e-05_r8, & + 1.974798157697968e-05_r8, 2.4273913427286956e-05_r8, & + 3.1940242074124407e-05_r8, 4.3612372491829064e-05_r8, & + 5.890354942430642e-05_r8, 7.5349398519264816e-05_r8, & + 9.4907762469960316e-05_r8, 0.00011504395259676303_r8, & + 0.00013457869546224237_r8, 0.00015171926949899197_r8, & + 0.00016513643021400594_r8, 0.00019467570999108988_r8, & + 0.00021740002935883643_r8, 0.00023153253097540224_r8, & + 0.00023962726628595822_r8, 0.00024309168477068476_r8, & + 0.00024504847207202529_r8, 0.00024861477136200024_r8, & + 0.00025195814725066391_r8, 0.00025636135307706924_r8, & + 0.00025990089629507421_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,62) / & + 4.1403195768656091e-06_r8, 4.4060328422570518e-06_r8, & + 4.3928234365727243e-06_r8, 4.737892991914946e-06_r8, & + 4.8079162189911915e-06_r8, 4.0337598198902048e-06_r8, & + 3.9218762082383159e-06_r8, 3.472740958363618e-06_r8, & + 3.4426518403445788e-06_r8, 3.4129930358622084e-06_r8, & + 3.4743039221874331e-06_r8, 4.8217152617814634e-06_r8, & + 7.5171469050991746e-06_r8, 9.4304378138028045e-06_r8, & + 1.1430188304522332e-05_r8, 1.3365123755541588e-05_r8, & + 1.7147669203512883e-05_r8, 2.122984282434767e-05_r8, & + 2.7547833327671885e-05_r8, 3.7535268117761966e-05_r8, & + 5.3227180199151801e-05_r8, 7.1914243629000698e-05_r8, & + 9.4557019972344236e-05_r8, 0.00011765747472728598_r8, & + 0.00013964111796369624_r8, 0.00015762489906064015_r8, & + 0.00017136465645267487_r8, 0.00020252500807952932_r8, & + 0.00022805822187434667_r8, 0.00024304213976979679_r8, & + 0.00025166316184944016_r8, 0.00025406620278889055_r8, & + 0.00025443083852490157_r8, 0.00025524574978273332_r8, & + 0.0002571186319748142_r8, 0.00025975898206692704_r8, & + 0.00026150522911728665_r8, 0.00026250319751637736_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,62) / & + 4.3061989451925046e-06_r8, 4.3529472492138979e-06_r8, & + 4.2554189170842737e-06_r8, 3.3232892118955713e-06_r8, & + 3.2985845412612112e-06_r8, 3.3590691233730778e-06_r8, & + 3.3026408513603769e-06_r8, 3.0613416153197572e-06_r8, & + 2.9430108159265388e-06_r8, 2.9696344199253673e-06_r8, & + 2.9793759375076714e-06_r8, 3.5644899959124562e-06_r8, & + 4.5154912517506583e-06_r8, 5.6139279603729464e-06_r8, & + 8.2834847229509307e-06_r8, 1.1227351070799232e-05_r8, & + 1.5595357924196736e-05_r8, 1.9085169198572716e-05_r8, & + 2.3870670314336752e-05_r8, 3.2045791708961365e-05_r8, & + 4.6869113453285328e-05_r8, 6.7682333363613251e-05_r8, & + 9.3600317857056063e-05_r8, 0.0001200310562515378_r8, & + 0.00014337703998152268_r8, 0.00016144303575482531_r8, & + 0.00017562511241631589_r8, 0.00021056404911312212_r8, & + 0.00024020655505346117_r8, 0.00025557546769714264_r8, & + 0.00026347392520236417_r8, 0.00026570860191292057_r8, & + 0.00026557346274529923_r8, 0.00026437685025952298_r8, & + 0.00026165675471159658_r8, 0.00026126133196204037_r8, & + 0.00026200963852814329_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,62) / & + 4.3780200966019307e-06_r8, 4.3702349209936346e-06_r8, & + 4.2976287300808476e-06_r8, 2.848772024318076e-06_r8, & + 2.8773869424276911e-06_r8, 3.0976611187941813e-06_r8, & + 3.4301351753322154e-06_r8, 3.4249154251569319e-06_r8, & + 3.0466728471806436e-06_r8, 2.7672082854521748e-06_r8, & + 2.6931365931451223e-06_r8, 3.3265594380310582e-06_r8, & + 5.6926686525702767e-06_r8, 6.0304917225820907e-06_r8, & + 9.1703384894947023e-06_r8, 1.3271013681506314e-05_r8, & + 1.9534440153063749e-05_r8, 2.3675249595192353e-05_r8, & + 2.9061599044522295e-05_r8, 3.8483840633195355e-05_r8, & + 5.5702193345607113e-05_r8, 8.1164325227526995e-05_r8, & + 0.00010886152506845883_r8, 0.00013627972190795144_r8, & + 0.00015848992970281278_r8, 0.00017572486682424749_r8, & + 0.00018985252668588537_r8, 0.00022130187321210817_r8, & + 0.00024491009346245884_r8, 0.00025774872881329143_r8, & + 0.00026523981330590555_r8, 0.00026862770949467879_r8, & + 0.00027017654096318534_r8, 0.00026995681139364651_r8, & + 0.00027134981492511322_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,62) / & + 4.5598005781701979e-06_r8, 4.4709544596675265e-06_r8, & + 4.4362796817080167e-06_r8, 3.1250085209321688e-06_r8, & + 3.131366055861203e-06_r8, 3.1582090948011304e-06_r8, & + 3.0954232458444766e-06_r8, 3.4357213167854941e-06_r8, & + 3.509795670727949e-06_r8, 2.9513473398559301e-06_r8, & + 2.7401277281659253e-06_r8, 3.5699388853026379e-06_r8, & + 6.7894170795952147e-06_r8, 1.0462338356724779e-05_r8, & + 1.5845202717597254e-05_r8, 2.2339745118364644e-05_r8, & + 3.1067670196315991e-05_r8, 3.8222231015507004e-05_r8, & + 4.8236702583235931e-05_r8, 6.3332076089376224e-05_r8, & + 8.5171146109879636e-05_r8, 0.00011354084429059694_r8, & + 0.00014059450192313811_r8, 0.00016647196435136727_r8, & + 0.00018722898513537942_r8, 0.00020442155421836878_r8, & + 0.00021849510863722086_r8, 0.00024406106019877845_r8, & + 0.00026071122123533377_r8, 0.000271221340237766_r8, & + 0.00027871117892072623_r8, 0.00028401334220468652_r8, & + 0.00028645603010593943_r8, 0.00028653959922156011_r8, & + 0.00028710900913881082_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,62) / & + 4.7676814278490139e-06_r8, 4.6075010364943423e-06_r8, & + 4.6566587804428396e-06_r8, 5.6143111739225455e-06_r8, & + 5.3483809331750543e-06_r8, 5.1553582570290442e-06_r8, & + 3.615891645592924e-06_r8, 3.5114345829955541e-06_r8, & + 3.9156802888125105e-06_r8, 3.4224254498107536e-06_r8, & + 3.0385341567368763e-06_r8, 4.1313141468058977e-06_r8, & + 7.4172015458334829e-06_r8, 1.4266185290343038e-05_r8, & + 2.3611075218677015e-05_r8, 3.3732436039341341e-05_r8, & + 4.4736184813018127e-05_r8, 5.7488780333009251e-05_r8, & + 7.6059173483623176e-05_r8, 9.7474558117193624e-05_r8, & + 0.00012112985663706475_r8, 0.000145599726945124_r8, & + 0.00016912119925769004_r8, 0.00019113734124077446_r8, & + 0.00020992882234802248_r8, 0.00022603669377979966_r8, & + 0.0002397817524343305_r8, 0.00026370298212382095_r8, & + 0.00027708332274649464_r8, 0.00028644529423681506_r8, & + 0.00029453496752092145_r8, 0.00030060576181098329_r8, & + 0.00030457252146841128_r8, 0.00030387053572626806_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,62) / & + 5.6247183889547695e-06_r8, 5.4748538640945418e-06_r8, & + 5.3359462321880117e-06_r8, 9.881544917314912e-06_r8, & + 8.9456978983864998e-06_r8, 8.0451355037772594e-06_r8, & + 4.5676678521134026e-06_r8, 5.1555069868717491e-06_r8, & + 5.1187726439382838e-06_r8, 5.0716276328170803e-06_r8, & + 4.5495808921318968e-06_r8, 4.911899669025853e-06_r8, & + 6.0574221757049731e-06_r8, 1.3172542821458413e-05_r8, & + 2.8677843333292766e-05_r8, 4.4243416371422878e-05_r8, & + 5.8430226835709715e-05_r8, 7.7272112557100943e-05_r8, & + 0.00010484503398202937_r8, 0.00013086128083630565_r8, & + 0.00015527374589137735_r8, 0.00017825553463599064_r8, & + 0.00019950335632783992_r8, 0.00021847624637770695_r8, & + 0.00023567161902642513_r8, 0.00025080006911183135_r8, & + 0.00026398418185538404_r8, 0.00028473663708848169_r8, & + 0.00029104166605750718_r8, 0.00029851518886451779_r8, & + 0.00030823516420461_r8, 0.00031329207175200181_r8, & + 0.00031698759937922043_r8, 0.00031866603691106101_r8, & + 0.00032650242489777771_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,62) / & + 6.9211486744663737e-06_r8, 6.8607845401912057e-06_r8, & + 6.9080660193059547e-06_r8, 1.1524375514508528e-05_r8, & + 1.0815949574302584e-05_r8, 1.0389530575865949e-05_r8, & + 6.6784355095979564e-06_r8, 7.3605703571487333e-06_r8, & + 7.2939996283066673e-06_r8, 7.9017460662168363e-06_r8, & + 8.38618477415311e-06_r8, 1.005721359651865e-05_r8, & + 1.5305077108898649e-05_r8, 2.7898689891928822e-05_r8, & + 4.283305282219474e-05_r8, 5.7578207796880854e-05_r8, & + 7.2467920630122683e-05_r8, 9.272410816946323e-05_r8, & + 0.00012147047642504823_r8, 0.00014824310078513902_r8, & + 0.00017312927515767426_r8, 0.00019646165244294303_r8, & + 0.00021853857311140962_r8, 0.00023742155256576601_r8, & + 0.00025499967420432963_r8, 0.00027031055197336562_r8, & + 0.00028369750933509918_r8, 0.00030565531582526178_r8, & + 0.00031322228200729023_r8, 0.00031982004561934577_r8, & + 0.00032887376437697364_r8, 0.0003356639905005101_r8, & + 0.00034077463558976768_r8, 0.00034855156730882877_r8, & + 0.00036677634841307104_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,62) / & + 7.961784080174518e-06_r8, 7.9585901374072107e-06_r8, & + 7.9497884138435947e-06_r8, 1.2273467461336346e-05_r8, & + 1.2348647932597979e-05_r8, 1.2555338553906229e-05_r8, & + 1.1082011128005554e-05_r8, 1.2835426605708321e-05_r8, & + 1.6652718111847224e-05_r8, 2.2102386241167196e-05_r8, & + 2.6927992117405365e-05_r8, 3.2527241292988698e-05_r8, & + 4.5205208741987181e-05_r8, 5.9170831958058127e-05_r8, & + 7.0469895314635654e-05_r8, 8.2005352209277651e-05_r8, & + 9.5929032964066897e-05_r8, 0.00011487617564227033_r8, & + 0.00014106972820290877_r8, 0.00016620770357520388_r8, & + 0.0001906266207082961_r8, 0.00021371825084592623_r8, & + 0.00023606787580209753_r8, 0.00025650651019594066_r8, & + 0.00027553916077251416_r8, 0.00029175063384012488_r8, & + 0.00030560826790781352_r8, 0.00033173486050224924_r8, & + 0.00034599775411076858_r8, 0.0003534893427802661_r8, & + 0.00036048370572185035_r8, 0.00036930508986196049_r8, & + 0.00037702330568077479_r8, 0.00038430514098488668_r8, & + 0.00039927757510329373_r8, 0.00040951781161698573_r8, & + 0.00040696714192212216_r8, 0.0003766679965034515_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,62) / & + 9.0558714176228216e-06_r8, 9.0716137570824497e-06_r8, & + 9.2596183720287927e-06_r8, 1.409309835785492e-05_r8, & + 1.4676039084789756e-05_r8, 1.5854516485287513e-05_r8, & + 1.8786988407298099e-05_r8, 2.9702753911304572e-05_r8, & + 4.0312278974974723e-05_r8, 4.9028493155493288e-05_r8, & + 5.3728971668563045e-05_r8, 6.0564724163310831e-05_r8, & + 7.2315340987953451e-05_r8, 8.3134087485060273e-05_r8, & + 9.4079623694910176e-05_r8, 0.00010544233104047041_r8, & + 0.00012167139374697451_r8, 0.00013947458055192186_r8, & + 0.0001640189157401573_r8, 0.000187098102908926_r8, & + 0.00021127218173885769_r8, 0.00023350924427695412_r8, & + 0.00025793594683214322_r8, 0.00028040025230463707_r8, & + 0.00030084535251490837_r8, 0.0003186677631017134_r8, & + 0.0003332265660525752_r8, 0.00036448604578330772_r8, & + 0.00038441488460446132_r8, 0.00039435867653084391_r8, & + 0.00039990550299132848_r8, 0.00040703974801175355_r8, & + 0.00041126332723411555_r8, 0.00042074778787085489_r8, & + 0.00042739240179857333_r8, 0.00042576957991199559_r8, & + 0.00041629300091709066_r8, 0.00039479088879279599_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,62) / & + 9.6494193908329939e-06_r8, 9.9832327648970928e-06_r8, & + 1.0748129894494518e-05_r8, 1.693727656287795e-05_r8, & + 2.0055839095819777e-05_r8, 2.332151945852634e-05_r8, & + 3.4870842335349099e-05_r8, 4.8008660524136606e-05_r8, & + 5.7167151862194908e-05_r8, 6.2490099506997632e-05_r8, & + 6.5292657536429003e-05_r8, 6.9071078406690757e-05_r8, & + 7.595145516009682e-05_r8, 8.5590681300439498e-05_r8, & + 9.843091202096418e-05_r8, 0.00011214578739532257_r8, & + 0.00013547165642843281_r8, 0.00015381899074316766_r8, & + 0.00017855494855608612_r8, 0.0002025411869944334_r8, & + 0.00022820799077843132_r8, 0.00025292742004057785_r8, & + 0.00028329504009935372_r8, 0.00030658401720935638_r8, & + 0.0003281852553503273_r8, 0.00034710775767981248_r8, & + 0.00036105198789663606_r8, 0.00039818577453508858_r8, & + 0.0004216593348809098_r8, 0.00043505787317390284_r8, & + 0.00043980296702077817_r8, 0.00044260532287571081_r8, & + 0.00044310675287535822_r8, 0.00044508430105255463_r8, & + 0.00044623289238792773_r8, 0.00044014675392758923_r8, & + 0.00043424925599955581_r8, 0.00041949135335563216_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,62) / & + 8.5262878669661036e-06_r8, 9.7924638168386929e-06_r8, & + 1.0968338979982409e-05_r8, 1.7494548665578989e-05_r8, & + 1.9539606443640162e-05_r8, 2.2594112879097682e-05_r8, & + 3.1795143983137658e-05_r8, 4.6074688136449251e-05_r8, & + 6.1655995953154765e-05_r8, 6.8030036121029844e-05_r8, & + 7.123212325639306e-05_r8, 7.3702369561955264e-05_r8, & + 7.9930699993590844e-05_r8, 8.9522411572755749e-05_r8, & + 0.00010209687709789779_r8, 0.00011537230946052432_r8, & + 0.00014318202133837022_r8, 0.00016639202741126931_r8, & + 0.00019037497347709813_r8, 0.0002149296147104769_r8, & + 0.0002439806707200284_r8, 0.00027458563784385552_r8, & + 0.00030407016335157547_r8, 0.00032889415580088341_r8, & + 0.0003494187764366314_r8, 0.00036763790900607574_r8, & + 0.00038172084438443661_r8, 0.00041898306352711884_r8, & + 0.00044300051113090993_r8, 0.00045927166568374741_r8, & + 0.00046644640812602969_r8, 0.00046893065328939903_r8, & + 0.00046810599737754564_r8, 0.00046702339766739365_r8, & + 0.00046547925304102008_r8, 0.00045913466993836784_r8, & + 0.00045592021848426352_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,62) / & + 6.2253107084605748e-06_r8, 8.5651813258892674e-06_r8, & + 1.0183946213843679e-05_r8, 1.1848501089495871e-05_r8, & + 1.2341180805513293e-05_r8, 1.4729012141207697e-05_r8, & + 2.7774420439034884e-05_r8, 4.7175108382128625e-05_r8, & + 6.9284549644973303e-05_r8, 7.6891322023153782e-05_r8, & + 8.1219049181921417e-05_r8, 8.7266758915003419e-05_r8, & + 9.593825821462148e-05_r8, 0.00010510984140611924_r8, & + 0.00011566698120363412_r8, 0.00012682493883763699_r8, & + 0.00015731338815083018_r8, 0.00018921768378671861_r8, & + 0.00021576044863076858_r8, 0.0002427708784748242_r8, & + 0.00027181212709644276_r8, 0.00030227424284795572_r8, & + 0.00031987314835616473_r8, 0.0003446426460411638_r8, & + 0.00036450547573309451_r8, 0.00038239658851143415_r8, & + 0.00039851308713687391_r8, 0.00043560345745488448_r8, & + 0.00046210060811358315_r8, 0.000479599928014658_r8, & + 0.00048967037070856497_r8, 0.0004925749332345379_r8, & + 0.00049175762087861502_r8, 0.00048868742477974373_r8, & + 0.00048476674663958184_r8, 0.00048080690427971688_r8, & + 0.00047443789215120011_r8, 0.0004681091904255458_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,62) / & + 4.9900080000446605e-06_r8, 7.3986812076774842e-06_r8, & + 9.7823642462800772e-06_r8, 1.056153942930724e-05_r8, & + 1.1279609148123205e-05_r8, 1.4214587573507939e-05_r8, & + 3.8433180736820519e-05_r8, 6.2542746695141657e-05_r8, & + 7.8976470142483129e-05_r8, 8.5843287935968821e-05_r8, & + 9.1491901949891709e-05_r8, 9.7141099317037352e-05_r8, & + 0.00010385794315994911_r8, 0.00011396136277020789_r8, & + 0.00012589514159983242_r8, 0.00013838686670944773_r8, & + 0.00017355696101904961_r8, 0.00021162166858877297_r8, & + 0.00024185601282103737_r8, 0.00027001686441218331_r8, & + 0.00029681353200665064_r8, 0.0003224220149818241_r8, & + 0.0003367155829095343_r8, 0.0003591026802971813_r8, & + 0.0003783430817517782_r8, 0.00039652945144245998_r8, & + 0.00041345113715810921_r8, 0.00045198429038184693_r8, & + 0.00047978137046336233_r8, 0.00049687956038284374_r8, & + 0.00050760956083783669_r8, 0.00051073817171441_r8, & + 0.00051067351420410996_r8, 0.00050768714972680468_r8, & + 0.00050341134115744663_r8, 0.00049997253861229659_r8, & + 0.00049451601898991583_r8, 0.00048634589535849048_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,62) / & + 5.1789461191294688e-06_r8, 6.2278805289000443e-06_r8, & + 9.0147095103804222e-06_r8, 1.1485970132651175e-05_r8, & + 1.2816096478011986e-05_r8, 1.6304325619494321e-05_r8, & + 3.7170613736504087e-05_r8, 5.8707409854988061e-05_r8, & + 8.0012016125745615e-05_r8, 9.1171901091469451e-05_r8, & + 9.8219055949479102e-05_r8, 0.00010278557612988319_r8, & + 0.00011149283849607155_r8, 0.00012475194842307921_r8, & + 0.00013871869214471941_r8, 0.00015508510072985556_r8, & + 0.00019545546852132919_r8, 0.00023195680874269742_r8, & + 0.00026229627391468387_r8, 0.00029261101520776465_r8, & + 0.00032112887828080725_r8, 0.00034656164447492157_r8, & + 0.00036045863609782038_r8, 0.00038085926214677179_r8, & + 0.00040061018524444091_r8, 0.00041949201751169185_r8, & + 0.00043651775139909066_r8, 0.00047324494924193879_r8, & + 0.0004996830855247674_r8, 0.00051564501214727745_r8, & + 0.00052612147158026415_r8, 0.00052949107206357753_r8, & + 0.00052948191796233434_r8, 0.00052672936029155113_r8, & + 0.00052175326945336751_r8, 0.00051811201224378426_r8, & + 0.00051218260449625397_r8, 0.00049511619376937932_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,62) / & + 6.0375100417598009e-06_r8, 5.2622530195373742e-06_r8, & + 7.006726446139695e-06_r8, 1.5571598535767018e-05_r8, & + 1.7034765192833125e-05_r8, 2.1046798533712856e-05_r8, & + 3.3788989165172063e-05_r8, 4.9575918523992576e-05_r8, & + 7.5192606739817874e-05_r8, 9.4837379624430456e-05_r8, & + 0.0001051677504319756_r8, 0.00011250841929811538_r8, & + 0.00012564700768392877_r8, 0.00014095135861068287_r8, & + 0.00015767105945251825_r8, 0.00017453410586102874_r8, & + 0.00021548255085616127_r8, 0.00025234475469702259_r8, & + 0.00028326096330991152_r8, 0.0003174947630727264_r8, & + 0.00034851765335964168_r8, 0.00037438046991056657_r8, & + 0.00038792122357832279_r8, 0.00040679056035766687_r8, & + 0.0004269016687326922_r8, 0.00044551562501192444_r8, & + 0.00046253829514263572_r8, 0.00049762213275033305_r8, & + 0.00052399957138440619_r8, 0.00053841079795625198_r8, & + 0.00054722896572821688_r8, 0.00055093730821401013_r8, & + 0.00055153969422153332_r8, 0.00054783309888767904_r8, & + 0.00054620910558776312_r8, 0.00054430721108158445_r8, & + 0.00052761095583758928_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,62) / & + 6.8769706999746894e-06_r8, 5.7886598700937594e-06_r8, & + 6.6279569383263662e-06_r8, 1.0665070437924218e-05_r8, & + 1.2632852537896094e-05_r8, 1.4766418189321981e-05_r8, & + 2.3408878152524605e-05_r8, 5.1478018073996385e-05_r8, & + 7.5111286192202674e-05_r8, 9.4964952365682729e-05_r8, & + 0.0001083050778652229_r8, 0.00011907262680408725_r8, & + 0.00013742282935723163_r8, 0.00015641828279682523_r8, & + 0.00017571309391627867_r8, 0.00019550160459019851_r8, & + 0.00023634677006847187_r8, 0.00027427865131623313_r8, & + 0.00030865401787087666_r8, 0.00034109858570854315_r8, & + 0.0003710384725892689_r8, 0.00040101077270899139_r8, & + 0.00042476678782238429_r8, 0.000442792590268981_r8, & + 0.00046268293797804486_r8, 0.0004806208314708876_r8, & + 0.0004967162814201062_r8, 0.00052980168298816168_r8, & + 0.00055432670435188764_r8, 0.00056799685593065575_r8, & + 0.00057671616383872678_r8, 0.00058304366208490014_r8, & + 0.00058729038068783973_r8, 0.00059100476654598349_r8, & + 0.00059674390525923872_r8, 0.00059885208226193986_r8, & + 0.00060697978155642483_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,62) / & + 7.9421985584954406e-06_r8, 7.4591691314615589e-06_r8, & + 7.9083528646413959e-06_r8, 9.3119187845141948e-06_r8, & + 1.1524073775684541e-05_r8, 1.5355028251373525e-05_r8, & + 3.1486221243519215e-05_r8, 5.5181136894246582e-05_r8, & + 7.5492895256571745e-05_r8, 9.2866845259545423e-05_r8, & + 0.00010799270463060513_r8, 0.00012198494009075238_r8, & + 0.00014526549283185033_r8, 0.00016792196092586098_r8, & + 0.00019088550509608056_r8, 0.00021425882421237009_r8, & + 0.00025916759341967118_r8, 0.00029981745610666071_r8, & + 0.00033582271972645991_r8, 0.00036792961691867865_r8, & + 0.00039695312070520014_r8, 0.00042696440673527128_r8, & + 0.00045204138507657905_r8, 0.00047265757496036629_r8, & + 0.00049277531976227448_r8, 0.00051076045948797455_r8, & + 0.00052735718412161672_r8, 0.00056048080916014083_r8, & + 0.00058467537158719504_r8, 0.00060012209672326462_r8, & + 0.00060770283163850383_r8, 0.0006150176050664474_r8, & + 0.00062296661226989849_r8, 0.00062880703501480562_r8, & + 0.00063123707443916424_r8, 0.00063085743306439204_r8, & + 0.00062523815993033793_r8, 0.00062913657914749632_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,62) / & + 9.0290369636233932e-06_r8, 9.0438214470445778e-06_r8, & + 9.4927247444692941e-06_r8, 1.0631057222596306e-05_r8, & + 1.2645890900693848e-05_r8, 1.5966546753564769e-05_r8, & + 2.9321890405994602e-05_r8, 4.9560472985110855e-05_r8, & + 7.039272289841352e-05_r8, 9.2992962506806563e-05_r8, & + 0.00010834193445815793_r8, 0.00012446928194527273_r8, & + 0.00015315095645854177_r8, 0.00017959620606501568_r8, & + 0.00021307919693114397_r8, 0.0002420931321948467_r8, & + 0.00028908021568604708_r8, 0.00032810103915254825_r8, & + 0.00036281265918590601_r8, 0.00039278836166596929_r8, & + 0.0004198619393390563_r8, 0.00044813094969962686_r8, & + 0.00047205535718616734_r8, 0.00049640386273963112_r8, & + 0.00051893469166692911_r8, 0.00053843106272106448_r8, & + 0.00055602319366226537_r8, 0.00058988444391987584_r8, & + 0.00061362349229445476_r8, 0.00062800247684124076_r8, & + 0.00063448120486021137_r8, 0.0006412187840415817_r8, & + 0.00064681862960270814_r8, 0.00064939864383571719_r8, & + 0.00065078330804091585_r8, 0.00065020791281718293_r8, & + 0.00064503981758984904_r8, 0.00064726376826570867_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,62) / & + 1.0459452263737922e-05_r8, 1.0915357427554167e-05_r8, & + 1.2375017437041448e-05_r8, 1.3848758420415146e-05_r8, & + 1.7464003974403415e-05_r8, 2.2753662589334786e-05_r8, & + 3.9948304444892613e-05_r8, 6.159240307908907e-05_r8, & + 8.0550166734471817e-05_r8, 9.8534508504225044e-05_r8, & + 0.00011325224223310667_r8, 0.00013206244664157592_r8, & + 0.00016620584939226496_r8, 0.00019737460211409195_r8, & + 0.00022661869969808559_r8, 0.00025665764326604853_r8, & + 0.00030393362134229851_r8, 0.00034401326732803254_r8, & + 0.00037705450677028468_r8, 0.00040924054667192019_r8, & + 0.00043754285148737905_r8, 0.00046396595376852834_r8, & + 0.00048966878917033299_r8, 0.00051457897226998871_r8, & + 0.00053745399227003645_r8, 0.00055726350482683139_r8, & + 0.00057714943504889112_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,62) / & + 3.5981153951752964e-05_r8, 3.7804179672259796e-05_r8, & + 4.4504425766122207e-05_r8, 6.5396103864489717e-05_r8, & + 6.8026678723867313e-05_r8, 6.1635843314103176e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,62) / & + 9.8371806307405525e-05_r8, 9.3642538863701309e-05_r8, & + 9.8158057449946673e-05_r8, 0.00010937720401224107_r8, & + 0.0001374701436234781_r8, 0.0001305176106882884_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,62) / & + 0.00010343320373519913_r8, 9.3447671936065438e-05_r8, & + 9.7576056248608299e-05_r8, 0.00011608679264828212_r8, & + 0.00015511967826834481_r8, 0.00017602622852040214_r8, & + 0.00021387221740126937_r8, 0.00028725667384385528_r8, & + 0.00024927859173813242_r8, 0.00023271131482293774_r8, & + 0.00019718461057012193_r8, 0.00012858730025476698_r8, & + 0.00010916051363320742_r8, 0.00010556003527034944_r8, & + 0.00012075453468066789_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,62) / & + 0.00010431252488837833_r8, 9.3133921414323236e-05_r8, & + 9.6461466821964423e-05_r8, 0.00014509294619779675_r8, & + 0.0001584871575224975_r8, 0.00018108037390554842_r8, & + 0.00023576213039615252_r8, 0.00027213338716582455_r8, & + 0.00028207025587652894_r8, 0.00022997522799889311_r8, & + 0.00019741468754598521_r8, 0.00012333642685488153_r8, & + 0.00011525079792499978_r8, 0.00012076488350118624_r8, & + 0.00012218220766808919_r8, 0.00010976463815738292_r8, & + 0.0001044574319058975_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,62) / & + 9.150179197065101e-05_r8, 8.8681850744030101e-05_r8, & + 9.8505470942936659e-05_r8, 0.00012150090894178801_r8, & + 0.00013199349889949228_r8, 0.00014580149913602665_r8, & + 0.00020384949677838555_r8, 0.00023303697863103992_r8, & + 0.00022761031015898126_r8, 0.00018176915716038903_r8, & + 0.00013536026156482484_r8, 0.0001057747193200739_r8, & + 8.2697510041120651e-05_r8, 8.6625450016058968e-05_r8, & + 9.3635313764387526e-05_r8, 8.8687463200951336e-05_r8, & + 7.9581609045031079e-05_r8, 7.5815291523307059e-05_r8, & + 7.6323575167362666e-05_r8, 7.7986739174436864e-05_r8, & + 7.7986313961017457e-05_r8, 7.6854827742287344e-05_r8, & + 7.7779087741986421e-05_r8, 8.3542060653161049e-05_r8, & + 8.8015417288754214e-05_r8, 9.1856923428717277e-05_r8, & + 9.3153866696631991e-05_r8, 0.00010012065423118501_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,62) / & + 8.535183026972739e-05_r8, 7.8309949157374765e-05_r8, & + 8.8883489082998841e-05_r8, 0.00010086965021305791_r8, & + 0.00010532981802468679_r8, 0.00010643941109933711_r8, & + 0.00015952893055737793_r8, 0.00016956059921852758_r8, & + 0.00018998964001725556_r8, 0.00014843344426966005_r8, & + 0.00011681585391321391_r8, 0.00010253216567764481_r8, & + 7.9103579480555518e-05_r8, 8.2287600878034375e-05_r8, & + 9.3045571704655799e-05_r8, 8.9193587823477717e-05_r8, & + 8.0098970144137108e-05_r8, 7.745509817498764e-05_r8, & + 7.7731558620425774e-05_r8, 7.9414563196628977e-05_r8, & + 7.9684554749918221e-05_r8, 7.8685367952128547e-05_r8, & + 7.9436034379602114e-05_r8, 8.2864909907957504e-05_r8, & + 9.1389324029078053e-05_r8, 9.586119919065019e-05_r8, & + 9.7070667765035288e-05_r8, 0.00010299649948193831_r8, & + 0.00011184401463493661_r8, 0.0001176796299490288_r8, & + 0.00011466952433725879_r8, 0.00011293359809962932_r8, & + 0.00011025951116803274_r8, 0.00011076071264536808_r8, & + 0.00011419797166861352_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,62) / & + 8.8668600205446689e-05_r8, 9.3862486826652792e-05_r8, & + 9.0643214600221104e-05_r8, 0.00010943449176519558_r8, & + 0.00012299169495132598_r8, 0.00010126886354842205_r8, & + 0.00014997969080897004_r8, 0.00015532487794219795_r8, & + 0.00015170897542876425_r8, 0.00011342935987409461_r8, & + 9.5904855502054149e-05_r8, 9.0719666248376615e-05_r8, & + 7.7555164729266847e-05_r8, 7.9883418130265608e-05_r8, & + 8.6367265328899959e-05_r8, 8.4002245577074287e-05_r8, & + 7.7592624595368764e-05_r8, 7.6269278572376576e-05_r8, & + 7.7069869559544301e-05_r8, 7.8963914534706519e-05_r8, & + 8.0627025101358396e-05_r8, 8.1561605914962424e-05_r8, & + 8.3608022125937736e-05_r8, 8.5618125587986224e-05_r8, & + 9.6181404440505791e-05_r8, 9.9762508466966988e-05_r8, & + 0.00010263399369763723_r8, 0.00011178956306640006_r8, & + 0.00011935704749142764_r8, 0.00012064165530145901_r8, & + 0.00011586749060933479_r8, 0.00011648524511351753_r8, & + 0.00011705637776571477_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,62) / & + 8.4884875320711512e-05_r8, 0.00010444667461594009_r8, & + 9.994527130830039e-05_r8, 0.00011123222593650882_r8, & + 0.00011565900861892424_r8, 0.00011706380826280774_r8, & + 0.00015975825381521865_r8, 0.00012428407468975796_r8, & + 0.00010629225327185664_r8, 8.3753190238175157e-05_r8, & + 7.7891662496504992e-05_r8, 7.4447981579426031e-05_r8, & + 7.036573021198877e-05_r8, 7.2429184809492085e-05_r8, & + 7.3445975190335492e-05_r8, 7.4345603872494294e-05_r8, & + 7.3486457940831571e-05_r8, 7.38111660431078e-05_r8, & + 7.5906682190628912e-05_r8, 7.9021555405048898e-05_r8, & + 8.1894883572446165e-05_r8, 8.5169484771490349e-05_r8, & + 8.9038181925965731e-05_r8, 9.3083219192282912e-05_r8, & + 9.9368705993299616e-05_r8, 0.00010313240857183693_r8, & + 0.00010899756428854018_r8, 0.00011983598194562259_r8, & + 0.00012231096150034244_r8, 0.00012044242597368132_r8, & + 0.00011909441689610968_r8, 0.00011969141185971776_r8, & + 0.00012032243930666311_r8, 0.00012023759412541507_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,63) / & + 9.4216305461523799e-05_r8, 9.4289032765879478e-05_r8, & + 9.4463297539824396e-05_r8, 0.00010573133259064145_r8, & + 0.00010544852043861661_r8, 0.00011187060542705883_r8, & + 0.00011805450016150659_r8, 0.00013358770321427878_r8, & + 0.00015213987053489111_r8, 0.00016162515544642365_r8, & + 0.00016752630946389888_r8, 0.00017235114171119123_r8, & + 0.0001730735878409802_r8, 0.00018085313981921943_r8, & + 0.00018676430151913696_r8, 0.00019107167178647122_r8, & + 0.000195600902414466_r8, 0.00020130493230148289_r8, & + 0.00020691362862647336_r8, 0.0002115793207785281_r8, & + 0.00021826701451992759_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,63) / & + 8.5734344280933151e-05_r8, 8.566809984805095e-05_r8, & + 8.9120177928282053e-05_r8, 9.7720595931682371e-05_r8, & + 9.8186587849383901e-05_r8, 0.00010560854130853746_r8, & + 0.00011168155927027742_r8, 0.00012669485940710801_r8, & + 0.00014536281179926877_r8, 0.0001558602449352198_r8, & + 0.00016349934804187153_r8, 0.0001695389763777429_r8, & + 0.0001740188801426008_r8, 0.00018138309592292262_r8, & + 0.00018579287977178309_r8, 0.00018911498787301415_r8, & + 0.00019365730868396765_r8, 0.0001994735689032699_r8, & + 0.00020445507014148892_r8, 0.00020813896824851236_r8, & + 0.00021365186942572269_r8, 0.00022053474618320449_r8, & + 0.00022627410376119275_r8, 0.00023209386795307232_r8, & + 0.00023721100153768044_r8, 0.00024205430338280671_r8, & + 0.00024624665379538121_r8, 0.00025658369176412591_r8, & + 0.00026407692328407866_r8, 0.00027201031283375661_r8, & + 0.00027799785056459634_r8, 0.00028178442960264473_r8, & + 0.00028561102554958796_r8, 0.00028989399284503763_r8, & + 0.000293631936954181_r8, 0.00029503757540394091_r8, & + 0.00029679186804077324_r8, 0.00030030862512503691_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,63) / & + 4.5163700899108203e-05_r8, 4.5192117456772034e-05_r8, & + 5.2092594572615597e-05_r8, 5.6606039551643217e-05_r8, & + 5.8731005490764606e-05_r8, 6.2123261285787075e-05_r8, & + 6.3515313813367942e-05_r8, 7.5328529725241341e-05_r8, & + 9.4686158913862397e-05_r8, 0.00010876031970580405_r8, & + 0.00011813265237888487_r8, 0.0001266816507418781_r8, & + 0.00013938007972730745_r8, 0.00014845232419136606_r8, & + 0.00015495882181150135_r8, 0.00016053612974539788_r8, & + 0.00016932929890934258_r8, 0.00017597679954991521_r8, & + 0.0001814600839711905_r8, 0.00018654004655319062_r8, & + 0.00019073618670310526_r8, 0.00019495898393638158_r8, & + 0.00019962841727718943_r8, 0.00020476972175463489_r8, & + 0.00021000571976759495_r8, 0.0002155487479946381_r8, & + 0.0002213931775138077_r8, 0.00023454012118003802_r8, & + 0.00024528994170056664_r8, 0.00025474210259085256_r8, & + 0.00026307498190252215_r8, 0.00027038690754879795_r8, & + 0.00027665217604959245_r8, 0.00028216471988452591_r8, & + 0.00028743054505413917_r8, 0.00029136262347626761_r8, & + 0.00029425543661692924_r8, 0.00029781809059214185_r8, & + 0.00030017310047856534_r8, 0.0003004029499212891_r8, & + 0.00029970869459491992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,63) / & + 1.9018931243730088e-05_r8, 1.9467527967557814e-05_r8, & + 2.3590428082394839e-05_r8, 2.683705849324268e-05_r8, & + 2.8934198620892805e-05_r8, 2.903443285326949e-05_r8, & + 2.4877083593498154e-05_r8, 3.3418722276477632e-05_r8, & + 4.6369012314051359e-05_r8, 6.0080007456261941e-05_r8, & + 6.6198028939534206e-05_r8, 7.649379224972794e-05_r8, & + 9.1601262944702395e-05_r8, 0.00010105768906931701_r8, & + 0.00011003457765403876_r8, 0.00011857538252320515_r8, & + 0.00013364830092130127_r8, 0.00014746327686465823_r8, & + 0.00015689307745248083_r8, 0.00016535222205089179_r8, & + 0.0001711869781024876_r8, 0.0001770764764550095_r8, & + 0.00018196179848143439_r8, 0.00018674082448542038_r8, & + 0.00019154513673274527_r8, 0.00019648813282396944_r8, & + 0.00020150317226723597_r8, 0.00021449354324132712_r8, & + 0.00022740586323000885_r8, 0.00023911548622019307_r8, & + 0.00024767731424701406_r8, 0.00025581372850951923_r8, & + 0.00026462632685580751_r8, 0.00027221286199714085_r8, & + 0.00027859431746159917_r8, 0.00028433791093425209_r8, & + 0.00028903053181232689_r8, 0.00029313431265693275_r8, & + 0.00029651984366573474_r8, 0.00029808767304181097_r8, & + 0.00029957275842137931_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,63) / & + 1.1197853811706227e-05_r8, 1.1327585069812947e-05_r8, & + 1.3124981561298819e-05_r8, 1.10073276857854e-05_r8, & + 1.1016759139758068e-05_r8, 1.0708494121083341e-05_r8, & + 1.1854526798846187e-05_r8, 1.6763925672310053e-05_r8, & + 2.2947929371357618e-05_r8, 3.2327522789807461e-05_r8, & + 3.570402303053389e-05_r8, 4.2112360892259795e-05_r8, & + 5.1294319525665225e-05_r8, 5.7096409716869573e-05_r8, & + 6.315619012392549e-05_r8, 7.1411628675840971e-05_r8, & + 8.7943840540834073e-05_r8, 0.00010481640104097901_r8, & + 0.00011629475676676513_r8, 0.00012880633813810644_r8, & + 0.00013959887389368894_r8, 0.00015043482831615605_r8, & + 0.00015924595415830344_r8, 0.00016744444594381599_r8, & + 0.00017429202000031999_r8, 0.00018028307006715466_r8, & + 0.00018533652142470883_r8, 0.00019801548157973299_r8, & + 0.00021220177794836233_r8, 0.00022529480436582751_r8, & + 0.00023567638348158875_r8, 0.00024327321838052928_r8, & + 0.00025128573834481011_r8, 0.00026000544007973887_r8, & + 0.00026970164691383111_r8, 0.00027948527067465028_r8, & + 0.00028585549805980104_r8, 0.00029100893098558478_r8, & + 0.00029427814396034276_r8, 0.00029719204250203704_r8, & + 0.00029948145442259031_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,63) / & + 6.625300122805924e-06_r8, 6.560546488127759e-06_r8, & + 6.9935288671540811e-06_r8, 5.149823867744933e-06_r8, & + 5.1157712370094249e-06_r8, 5.1309787670437588e-06_r8, & + 5.8264054644944794e-06_r8, 7.2952494034537503e-06_r8, & + 1.0847791070013109e-05_r8, 1.5320715586981159e-05_r8, & + 1.7156536242525905e-05_r8, 1.9098836579398342e-05_r8, & + 2.2162914552872891e-05_r8, 2.4101650884000507e-05_r8, & + 2.6355750489821765e-05_r8, 3.0053761885230413e-05_r8, & + 3.8611232835811463e-05_r8, 4.9078732985147255e-05_r8, & + 6.0772841421055437e-05_r8, 7.4719890455227959e-05_r8, & + 8.9499102211985815e-05_r8, 0.00010347046614159066_r8, & + 0.00011793463840376183_r8, 0.00013213149357241627_r8, & + 0.00014454846506547746_r8, 0.00015510878113287672_r8, & + 0.00016379775831637647_r8, 0.00018159979268412931_r8, & + 0.00019606014679054764_r8, 0.0002124203431296681_r8, & + 0.00022880156075783138_r8, 0.00023821533745295941_r8, & + 0.00024286801507855297_r8, 0.00024804668653724744_r8, & + 0.00025801141562255329_r8, 0.00027718413447416567_r8, & + 0.00028539077180382084_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,63) / & + 4.2010442094934668e-06_r8, 4.4084125341908068e-06_r8, & + 4.6531029041938519e-06_r8, 4.4413245752071216e-06_r8, & + 4.4566332825228328e-06_r8, 4.4770852455805814e-06_r8, & + 4.82530439237602e-06_r8, 6.2876004018761749e-06_r8, & + 8.3354257601481462e-06_r8, 1.0574085384388235e-05_r8, & + 1.1880651568792816e-05_r8, 1.3812843956598628e-05_r8, & + 1.6487196901998802e-05_r8, 1.8025075725687125e-05_r8, & + 1.9525753066275924e-05_r8, 2.1268241466003707e-05_r8, & + 2.5537461461401751e-05_r8, 3.1970024660073144e-05_r8, & + 4.2201263129674494e-05_r8, 5.52455859431433e-05_r8, & + 6.9949321310123233e-05_r8, 8.5152324569734601e-05_r8, & + 0.00010124724228465058_r8, 0.0001186105188311124_r8, & + 0.00013361831895043874_r8, 0.00014674742428993852_r8, & + 0.00015843920464882731_r8, 0.00017914007457514049_r8, & + 0.00019434898440581102_r8, 0.00020964579809475424_r8, & + 0.00022674525592452735_r8, 0.00023745434335691512_r8, & + 0.00024241033224261285_r8, 0.00024564289895408919_r8, & + 0.00025392817819480819_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,63) / & + 3.5549699649442289e-06_r8, 4.3526536119967708e-06_r8, & + 5.0796173543431708e-06_r8, 6.5509705159455271e-06_r8, & + 6.474251270222782e-06_r8, 5.7592461836061598e-06_r8, & + 4.8472323964736076e-06_r8, 4.4014415811395731e-06_r8, & + 5.0891291982076496e-06_r8, 6.1895878703790018e-06_r8, & + 7.3313443176428431e-06_r8, 1.054768257352366e-05_r8, & + 1.454617240358838e-05_r8, 1.6549027867499344e-05_r8, & + 1.8386221877051545e-05_r8, 2.0213389803505027e-05_r8, & + 2.4287177246412862e-05_r8, 2.9627704465827994e-05_r8, & + 3.8335375355918071e-05_r8, 5.0425538450371522e-05_r8, & + 6.5107297307005687e-05_r8, 8.107565878018823e-05_r8, & + 9.8844048576398062e-05_r8, 0.00011838748601483423_r8, & + 0.00013609034347225924_r8, 0.00015230546152535533_r8, & + 0.00016523095121585938_r8, 0.00018959029865821711_r8, & + 0.00020740841129791122_r8, 0.00022121616281282148_r8, & + 0.00023184389090085371_r8, 0.00023663373421747911_r8, & + 0.00024271866607532595_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,63) / & + 3.7596374055983577e-06_r8, 4.719505690109941e-06_r8, & + 5.2760998200506474e-06_r8, 7.5637294930938456e-06_r8, & + 7.5408901551418628e-06_r8, 6.3107385173646886e-06_r8, & + 6.4476962648887223e-06_r8, 4.0823715085547461e-06_r8, & + 3.6928818951573452e-06_r8, 4.0015280501502641e-06_r8, & + 4.6147315904791806e-06_r8, 7.6662049885037723e-06_r8, & + 1.1566374583515721e-05_r8, 1.3174705874135779e-05_r8, & + 1.4812058797851246e-05_r8, 1.6600121805331548e-05_r8, & + 2.0229952548245483e-05_r8, 2.4677186167368221e-05_r8, & + 3.2009921250635691e-05_r8, 4.3493292083687008e-05_r8, & + 5.8899748591713282e-05_r8, 7.6338781996151779e-05_r8, & + 9.6675900179457036e-05_r8, 0.00011805334641615308_r8, & + 0.00013857499678637366_r8, 0.00015698743210646902_r8, & + 0.0001704237973647175_r8, 0.00019777744971687388_r8, & + 0.00021803624019382003_r8, 0.00023203037548360738_r8, & + 0.00024012609830185086_r8, 0.00024276967281463652_r8, & + 0.00024563529173168857_r8, 0.00025071199114734983_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,63) / & + 4.1541890364875119e-06_r8, 4.7420130447898997e-06_r8, & + 4.6556616213714322e-06_r8, 5.2195599633082646e-06_r8, & + 5.2281736481780526e-06_r8, 4.7392836851587226e-06_r8, & + 4.8055033705427458e-06_r8, 3.9098134117376368e-06_r8, & + 3.9447956687425437e-06_r8, 3.947856180796536e-06_r8, & + 3.9213259612210211e-06_r8, 5.0636172810353192e-06_r8, & + 7.7717252200306491e-06_r8, 1.0011931343526898e-05_r8, & + 1.2132102211876622e-05_r8, 1.4074493588835995e-05_r8, & + 1.7906434638685405e-05_r8, 2.1817018601817431e-05_r8, & + 2.8235636947051759e-05_r8, 3.8881191836055107e-05_r8, & + 5.4796737581714735e-05_r8, 7.4515244568239725e-05_r8, & + 9.7397238814986452e-05_r8, 0.00012137206544578713_r8, & + 0.0001436006122865975_r8, 0.00016202632456671713_r8, & + 0.00017590080572810871_r8, 0.00020464231402149525_r8, & + 0.00022807505142714607_r8, 0.00024306248674398973_r8, & + 0.00025054597790930455_r8, 0.00025212007424235808_r8, & + 0.00025290637037170277_r8, 0.00025414640093535232_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,63) / & + 4.8328153070265378e-06_r8, 5.0707521650361368e-06_r8, & + 4.7598279596875011e-06_r8, 3.4957285598843818e-06_r8, & + 3.4617017122735257e-06_r8, 3.5743557835650826e-06_r8, & + 3.7423875405181767e-06_r8, 3.3737009393747271e-06_r8, & + 3.4147933599385528e-06_r8, 3.543107560127356e-06_r8, & + 3.6031280536935818e-06_r8, 4.4252931570346609e-06_r8, & + 4.7341107481585389e-06_r8, 6.4328417090295776e-06_r8, & + 9.3496371819565267e-06_r8, 1.2439006313417668e-05_r8, & + 1.656597467228491e-05_r8, 1.9841734754716469e-05_r8, & + 2.4965105005672884e-05_r8, 3.4311817546540188e-05_r8, & + 4.9688406243396896e-05_r8, 7.1219776979344969e-05_r8, & + 9.6367030090267538e-05_r8, 0.00012228289449129422_r8, & + 0.00014538314279251735_r8, 0.0001633582110734464_r8, & + 0.00017798709125015788_r8, 0.00021210364768827671_r8, & + 0.00024094127400285773_r8, 0.00025660003185805911_r8, & + 0.00026291118999089585_r8, 0.00026340145048842935_r8, & + 0.00026108676390606254_r8, 0.00025985994356028045_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,63) / & + 5.465387241138794e-06_r8, 5.5511618951855788e-06_r8, & + 5.2559301212466088e-06_r8, 3.1145068151235637e-06_r8, & + 3.1134241816335481e-06_r8, 3.377390312746184e-06_r8, & + 4.1918186078759563e-06_r8, 3.8973751291928339e-06_r8, & + 3.5485178011371415e-06_r8, 3.3639199291111048e-06_r8, & + 3.3584813595505273e-06_r8, 4.3738301365951537e-06_r8, & + 6.587120582068499e-06_r8, 7.3941252485430389e-06_r8, & + 1.122284475189414e-05_r8, 1.5591002314178451e-05_r8, & + 2.1353748831361719e-05_r8, 2.5556104867707617e-05_r8, & + 3.1353619041694441e-05_r8, 4.229334589717929e-05_r8, & + 6.0095656689925325e-05_r8, 8.5789150369168195e-05_r8, & + 0.00011239855943263161_r8, 0.00013897462115878488_r8, & + 0.00015907309676185292_r8, 0.00017674462228482054_r8, & + 0.000191877858609706_r8, 0.00022332228191046681_r8, & + 0.00024662942182383053_r8, 0.00025919519812993627_r8, & + 0.00026517848618246275_r8, 0.00026695030908576448_r8, & + 0.00026872553851994152_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,63) / & + 5.678551146733205e-06_r8, 5.6245030829977058e-06_r8, & + 5.4111306714052804e-06_r8, 3.5564287541830505e-06_r8, & + 3.619157136601096e-06_r8, 3.703266859111187e-06_r8, & + 3.612258682128109e-06_r8, 4.1844960928528666e-06_r8, & + 3.8949936528457474e-06_r8, 3.3060948059089922e-06_r8, & + 3.2068822983475856e-06_r8, 4.5163880831223782e-06_r8, & + 9.6277784465563417e-06_r8, 1.3215241683188504e-05_r8, & + 1.9673794129702809e-05_r8, 2.6357784521083918e-05_r8, & + 3.468057350788431e-05_r8, 4.21625099493809e-05_r8, & + 5.2982846591168413e-05_r8, 6.9450140230282146e-05_r8, & + 9.1470793685492915e-05_r8, 0.00011923452822922916_r8, & + 0.00014539025624066011_r8, 0.00017087821010121649_r8, & + 0.00018887559494660283_r8, 0.00020625820918031108_r8, & + 0.00022142071938110539_r8, 0.00024616031728269912_r8, & + 0.00026218425163490914_r8, 0.00027225588999208849_r8, & + 0.00027902651987734482_r8, 0.00028354114177988975_r8, & + 0.00029132480801464085_r8, 0.00029248653620189962_r8, & + 0.00028830690252203747_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,63) / & + 5.5946439987357687e-06_r8, 5.4066576882133372e-06_r8, & + 5.3508725831469467e-06_r8, 6.1844112933091584e-06_r8, & + 5.9420875093464506e-06_r8, 5.7081299463086161e-06_r8, & + 4.5133790721751988e-06_r8, 4.4402944382325987e-06_r8, & + 4.3787352194853186e-06_r8, 3.6259369918365216e-06_r8, & + 3.2722126210089829e-06_r8, 4.7508639425801485e-06_r8, & + 9.5914691156446406e-06_r8, 1.7103797741722038e-05_r8, & + 2.7328621883993503e-05_r8, 3.7622117919243211e-05_r8, & + 4.8975337902660555e-05_r8, 6.19364093460928e-05_r8, & + 8.0497249988030234e-05_r8, 0.00010209621670097455_r8, & + 0.00012557674156394083_r8, 0.00014969937305207905_r8, & + 0.00017266867367547389_r8, 0.00019503559833895155_r8, & + 0.00021327436102874987_r8, 0.000229246534432284_r8, & + 0.00024308994567407186_r8, 0.0002665182555393111_r8, & + 0.0002788705865552696_r8, 0.00028739918342868639_r8, & + 0.00029523561780101871_r8, 0.0003023539251222221_r8, & + 0.00030900075937962556_r8, 0.0003089335379493571_r8, & + 0.00030568822847495258_r8, 0.00030135194049358215_r8, & + 0.00030135176670543991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,63) / & + 6.3385125745826287e-06_r8, 6.0753457389740834e-06_r8, & + 5.744113191927296e-06_r8, 1.0034588795405277e-05_r8, & + 9.3040664830060216e-06_r8, 8.7967350103790749e-06_r8, & + 5.8288314657219754e-06_r8, 7.2555322547042627e-06_r8, & + 6.3033043175023267e-06_r8, 6.0470933596358526e-06_r8, & + 5.6164040104409163e-06_r8, 5.4107782540951049e-06_r8, & + 6.8577459542644183e-06_r8, 1.606302181238937e-05_r8, & + 3.1644312860006664e-05_r8, 4.7017715266264268e-05_r8, & + 6.1953531534095297e-05_r8, 8.0573983659769336e-05_r8, & + 0.000106178237432324_r8, 0.00013141702309390138_r8, & + 0.00015553581379330441_r8, 0.00017840361545785657_r8, & + 0.00019944818153376631_r8, 0.00021912174650005214_r8, & + 0.0002369059285879145_r8, 0.0002522189492443999_r8, & + 0.00026552049362063047_r8, 0.00028691832450065225_r8, & + 0.00029275467478921896_r8, 0.00029805880476062259_r8, & + 0.00030756825996916765_r8, 0.00031782094509614318_r8, & + 0.00032546544200148239_r8, 0.0003282405109392952_r8, & + 0.00032668644472805529_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,63) / & + 7.0296103560155213e-06_r8, 6.8578867846935772e-06_r8, & + 6.6522619299273352e-06_r8, 1.1179777180996092e-05_r8, & + 1.0563394742906821e-05_r8, 1.1228365464318798e-05_r8, & + 7.2473219289481365e-06_r8, 9.3551845196276667e-06_r8, & + 9.1017983509416126e-06_r8, 9.3572908449269899e-06_r8, & + 1.0061561133470939e-05_r8, 1.2262911891966711e-05_r8, & + 2.1690810554517112e-05_r8, 3.7423821690784483e-05_r8, & + 5.1019111040952028e-05_r8, 6.2718633175138559e-05_r8, & + 7.5999079534749462e-05_r8, 9.4812524794650227e-05_r8, & + 0.00012038688418520871_r8, 0.00014599479126119582_r8, & + 0.00017047770320511408_r8, 0.00019451921499604865_r8, & + 0.00021876358656655644_r8, 0.00023785002996880029_r8, & + 0.00025610069207458383_r8, 0.0002715169044729467_r8, & + 0.00028525973805013853_r8, 0.00030789322537987877_r8, & + 0.0003157240821964032_r8, 0.00032059409094773236_r8, & + 0.0003291282577748106_r8, 0.00033979701296210911_r8, & + 0.00034857625789739524_r8, 0.00035587300665147081_r8, & + 0.00034337151315878378_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,63) / & + 7.7600383440331694e-06_r8, 7.7400914815967446e-06_r8, & + 7.5380420362399408e-06_r8, 1.1625759571211656e-05_r8, & + 1.1606197534755287e-05_r8, 1.1914748994094038e-05_r8, & + 9.3206221322210235e-06_r8, 1.3928058685032238e-05_r8, & + 1.5985842233428847e-05_r8, 2.1501028703779909e-05_r8, & + 3.0032297317007182e-05_r8, 3.9539094829051514e-05_r8, & + 5.5644023780833054e-05_r8, 6.9328314613584409e-05_r8, & + 7.8323651201311559e-05_r8, 8.6377127798236271e-05_r8, & + 9.8143904021314769e-05_r8, 0.00011675527347532607_r8, & + 0.00014193355481235305_r8, 0.0001674881396103766_r8, & + 0.00019168697952707018_r8, 0.0002154079629798474_r8, & + 0.00023923563520349112_r8, 0.00025962633962817177_r8, & + 0.00027892913640681951_r8, 0.00029455133926660417_r8, & + 0.00030899307070934211_r8, 0.00033530363960271054_r8, & + 0.00035132417926256375_r8, 0.00035930241487449076_r8, & + 0.00036561839042301451_r8, 0.00037384115229131798_r8, & + 0.00038361449301970964_r8, 0.00039482684449676535_r8, & + 0.00040564144740348556_r8, 0.0004114468611066338_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,63) / & + 9.5993022267584282e-06_r8, 9.6044553217695135e-06_r8, & + 9.8268136205829708e-06_r8, 1.3499522763555987e-05_r8, & + 1.4341072574553143e-05_r8, 1.5481943593409645e-05_r8, & + 1.9313972514720236e-05_r8, 2.8966008499712914e-05_r8, & + 3.8053084208639061e-05_r8, 4.8526032317365109e-05_r8, & + 5.7031376804703409e-05_r8, 6.4008347748314209e-05_r8, & + 7.3322917135838588e-05_r8, 8.3004871288128106e-05_r8, & + 9.2683377652486628e-05_r8, 0.00010295980401399457_r8, & + 0.00011903952697414887_r8, 0.00013804505919236897_r8, & + 0.00016190516715259103_r8, 0.00018489874955032436_r8, & + 0.00020880135735410892_r8, 0.00023348619012213468_r8, & + 0.00025841967906531149_r8, 0.00028181538332122311_r8, & + 0.00030248023697439962_r8, 0.00032006080648772724_r8, & + 0.00033474347555673416_r8, 0.00036604644968421052_r8, & + 0.00038794822709218381_r8, 0.00039862887094009261_r8, & + 0.0004033002543443424_r8, 0.00040846760404615541_r8, & + 0.00041392649761651831_r8, 0.00041852219103254823_r8, & + 0.0004243814591325274_r8, 0.00042561403671365576_r8, & + 0.00042334903093307284_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,63) / & + 1.0976007519994523e-05_r8, 1.1112855341234445e-05_r8, & + 1.1984695872443004e-05_r8, 1.6840892659554356e-05_r8, & + 2.0774337965297612e-05_r8, 2.6482418428796831e-05_r8, & + 3.9413963695948681e-05_r8, 4.9412653369323462e-05_r8, & + 5.6688698179350322e-05_r8, 6.1828647040033415e-05_r8, & + 6.5495516955892653e-05_r8, 6.8856634497985707e-05_r8, & + 7.4213571561643638e-05_r8, 8.319810677633155e-05_r8, & + 9.4649341684776685e-05_r8, 0.0001085242710893917_r8, & + 0.00013073618912855516_r8, 0.00015042143692296024_r8, & + 0.0001748790439329885_r8, 0.00019916538768549033_r8, & + 0.00022413344705202428_r8, 0.0002499805230895855_r8, & + 0.00028017199065640534_r8, 0.00030396388128721088_r8, & + 0.0003263216314024161_r8, 0.00034562912805536115_r8, & + 0.00036011342180052611_r8, 0.00039702423648358223_r8, & + 0.00042210734000299967_r8, 0.00043303372124062824_r8, & + 0.00043581058575314707_r8, 0.00043847181790725187_r8, & + 0.00043858541998126246_r8, 0.00044148368476656756_r8, & + 0.00044368207821918529_r8, 0.00044138509568343451_r8, & + 0.00043731760278799796_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,63) / & + 9.6637997598591889e-06_r8, 1.03903171930641e-05_r8, & + 1.1108234541908104e-05_r8, 1.7449994296687419e-05_r8, & + 2.0519668809614086e-05_r8, 2.5353502342113876e-05_r8, & + 3.6809571031128096e-05_r8, 5.1612066855274341e-05_r8, & + 6.082262625284332e-05_r8, 6.6166541339265748e-05_r8, & + 6.949710071435709e-05_r8, 7.250469042230732e-05_r8, & + 7.8317285159202921e-05_r8, 8.7680643590694045e-05_r8, & + 9.909831784866959e-05_r8, 0.00011359573214890644_r8, & + 0.00013942765400114333_r8, 0.00016232537897934205_r8, & + 0.00018744953424323086_r8, 0.0002133577894946091_r8, & + 0.00024035389224735695_r8, 0.00027037025781836098_r8, & + 0.0003024221027210026_r8, 0.00032720530533146845_r8, & + 0.00034780856962502983_r8, 0.00036568690264756216_r8, & + 0.00038206168083576223_r8, 0.00041785200479386552_r8, & + 0.00044227133122505449_r8, 0.00045880972422936053_r8, & + 0.00046608789680845764_r8, 0.00046810853190242338_r8, & + 0.00046651815847562885_r8, 0.0004661630393598097_r8, & + 0.00046742705927930875_r8, 0.00046374556581934841_r8, & + 0.00045290117291105014_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,63) / & + 6.6088028083985232e-06_r8, 7.951447036542399e-06_r8, & + 8.1027728129302266e-06_r8, 1.1739110899235017e-05_r8, & + 1.4197718121311837e-05_r8, 2.0065213165275211e-05_r8, & + 3.5680676872403e-05_r8, 5.9262779992475139e-05_r8, & + 7.1617655556869615e-05_r8, 7.7653704549672818e-05_r8, & + 8.185502883404047e-05_r8, 8.706638595019644e-05_r8, & + 9.3764693246094541e-05_r8, 0.00010240024004184425_r8, & + 0.00011342291781403845_r8, 0.00012678611138069586_r8, & + 0.00015813733120313564_r8, 0.00018853481401680274_r8, & + 0.00021437355658602872_r8, 0.00024134395072919089_r8, & + 0.00026921137886770706_r8, 0.00029856102758442951_r8, & + 0.00032085056613387022_r8, 0.00034696370034339194_r8, & + 0.0003675749326399972_r8, 0.00038514815457842345_r8, & + 0.00040209244817918045_r8, 0.00043603055925298676_r8, & + 0.00046173329234607707_r8, 0.00048198958441464867_r8, & + 0.00049376293993875782_r8, 0.00049677874300366512_r8, & + 0.00049460787880049276_r8, 0.00049158916860652193_r8, & + 0.00048787271961715832_r8, 0.00048461329736493541_r8, & + 0.00048163311055330027_r8, 0.0004830751943313446_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,63) / & + 4.8566150132431767e-06_r8, 6.2852422919435191e-06_r8, & + 6.6452169829660761e-06_r8, 1.0117453695113437e-05_r8, & + 1.1628859967123267e-05_r8, 1.7204627114519236e-05_r8, & + 4.3458843017126134e-05_r8, 6.880725435356327e-05_r8, & + 8.0231435351790423e-05_r8, 8.6321866699806557e-05_r8, & + 9.1040483850685547e-05_r8, 9.6319134256438036e-05_r8, & + 0.00010219329881835795_r8, 0.00011194731207343323_r8, & + 0.00012447809557698456_r8, 0.00013835003088778644_r8, & + 0.00017352482490390242_r8, 0.00021153197823988931_r8, & + 0.00024076447728922106_r8, 0.00026762116352046009_r8, & + 0.00029357281887433247_r8, 0.00032091583961196281_r8, & + 0.0003382482108450345_r8, 0.00036213388540334667_r8, & + 0.00038258854872493789_r8, 0.00040037996880583999_r8, & + 0.00041637834268038945_r8, 0.00045130037114019688_r8, & + 0.00048018874182791034_r8, 0.0004981182174448825_r8, & + 0.00050797121258442214_r8, 0.0005110615615195284_r8, & + 0.000510555744567325_r8, 0.00051021183647440526_r8, & + 0.00050625414350401274_r8, 0.00050314406283630644_r8, & + 0.0004996691869506325_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,63) / & + 4.763214673246427e-06_r8, 5.6027863246028798e-06_r8, & + 6.5669312713085116e-06_r8, 1.0748317010999375e-05_r8, & + 1.1997456228715792e-05_r8, 1.533843322327741e-05_r8, & + 3.6534998350194682e-05_r8, 5.9861997178012806e-05_r8, & + 7.9603093747911916e-05_r8, 8.9741326548292794e-05_r8, & + 9.6200021398626381e-05_r8, 0.00010041444029703847_r8, & + 0.00010850693123959765_r8, 0.00012088632030925128_r8, & + 0.00013502661902771668_r8, 0.00015211312183860791_r8, & + 0.00019334329758048273_r8, 0.00023014925647898155_r8, & + 0.00026047453185887466_r8, 0.0002883861064176984_r8, & + 0.00031566636916241297_r8, 0.00034320188043233301_r8, & + 0.0003607412291387899_r8, 0.00038162341373458955_r8, & + 0.00040235121122404494_r8, 0.00042164832360286016_r8, & + 0.00043785665434434073_r8, 0.00047270269249541705_r8, & + 0.0004990857034278196_r8, 0.00051463574724642722_r8, & + 0.0005249281923803338_r8, 0.00052886024828050588_r8, & + 0.00052854964862960132_r8, 0.00052721556089667171_r8, & + 0.00052353174780497868_r8, 0.0005194265966277842_r8, & + 0.00051748279024955231_r8, 0.00051822339583922972_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,63) / & + 5.4704158466137451e-06_r8, 5.4076406000972415e-06_r8, & + 6.0359689795986208e-06_r8, 1.5587178115093345e-05_r8, & + 1.7426296036380514e-05_r8, 2.1908165068589776e-05_r8, & + 3.4591074048571373e-05_r8, 5.7181925811814846e-05_r8, & + 8.1621639854023305e-05_r8, 9.6827320325171403e-05_r8, & + 0.00010523965034397954_r8, 0.00011106408640046161_r8, & + 0.00012204392671266862_r8, 0.00013699278024930441_r8, & + 0.00015407502613782947_r8, 0.00017341013198250466_r8, & + 0.0002163907406000579_r8, 0.00025416063695635037_r8, & + 0.00028540257164970281_r8, 0.00031668701654805081_r8, & + 0.00034690900999656917_r8, 0.00037291491791752418_r8, & + 0.00039109433243283325_r8, 0.00041086372015324371_r8, & + 0.00043053556781988682_r8, 0.00044892901367506307_r8, & + 0.00046564400555859636_r8, 0.00050075316085826144_r8, & + 0.00052563591255630634_r8, 0.00054054081917895736_r8, & + 0.00054789715557936394_r8, 0.00055163163876422892_r8, & + 0.00055246189900781076_r8, 0.00054563338153970273_r8, & + 0.00054461929521405414_r8, 0.00053875602746187245_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,63) / & + 6.619983239032405e-06_r8, 6.3124327589290236e-06_r8, & + 6.5699750291689548e-06_r8, 1.3930684506718814e-05_r8, & + 1.6357832839622136e-05_r8, 1.855647303827562e-05_r8, & + 3.3800415574110661e-05_r8, 6.3909366116905633e-05_r8, & + 8.7890353107434501e-05_r8, 0.00010496278941662212_r8, & + 0.00011530722007313459_r8, 0.00012290158587072725_r8, & + 0.00013539764558340644_r8, 0.00015153704214864789_r8, & + 0.00016998072509381753_r8, 0.00019011793016006403_r8, & + 0.00023378721579498418_r8, 0.00027342362643787186_r8, & + 0.0003067627530439251_r8, 0.00033813303664302841_r8, & + 0.00036794761780801875_r8, 0.00039598943928476478_r8, & + 0.00041894624331483259_r8, 0.00043792322287224545_r8, & + 0.00045815317523350646_r8, 0.00047601277394029005_r8, & + 0.00049041017266980905_r8, 0.00052478570673577412_r8, & + 0.00054760938914303497_r8, 0.00056011497277205357_r8, & + 0.00056861794443573404_r8, 0.00057709558123042741_r8, & + 0.00057927711361436933_r8, 0.000574594347731153_r8, & + 0.00058438437999251019_r8, 0.00059249935786684469_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,63) / & + 7.6106575751722194e-06_r8, 7.6822958697454621e-06_r8, & + 8.1470445289911292e-06_r8, 1.0965592008866946e-05_r8, & + 1.3976465789228012e-05_r8, 1.8716181090825107e-05_r8, & + 4.0136086485640816e-05_r8, 8.6003154607220374e-05_r8, & + 0.00010302719266690712_r8, 0.00011369287229916975_r8, & + 0.0001209285214213923_r8, 0.00012706895059882815_r8, & + 0.00013919742218730931_r8, 0.00015505709620081083_r8, & + 0.00017309172459408875_r8, 0.0001939845246457778_r8, & + 0.00023729601819469519_r8, 0.00027460701300379613_r8, & + 0.00030906630965582093_r8, 0.00034057518383839728_r8, & + 0.00037019441156359035_r8, 0.00039058465992149806_r8, & + 0.0004057321000891953_r8, 0.00041507657041467752_r8, & + 0.00042619199540130747_r8, 0.00043580081610487576_r8, & + 0.00044333007444153413_r8, 0.00047246143268856843_r8, & + 0.00053202678829199831_r8, 0.0005428926960850865_r8, & + 0.00055015577869575402_r8, 0.00054678258403311961_r8, & + 0.00061053657317343684_r8, 0.00061684986045839089_r8, & + 0.00062742135573595238_r8, 0.00062889104470146998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,63) / & + 8.472752681396703e-06_r8, 8.4899311122253209e-06_r8, & + 8.9114236655058283e-06_r8, 9.7778590863677648e-06_r8, & + 1.1791895433246427e-05_r8, 1.3921582765404294e-05_r8, & + 2.3365637935208894e-05_r8, 7.4067828233568338e-05_r8, & + 8.9432538450288731e-05_r8, 0.0001196653414584076_r8, & + 0.00012285582529569488_r8, 0.00012658715002921166_r8, & + 0.00013693074153734588_r8, 0.00015073750729415692_r8, & + 0.00016784690770773304_r8, 0.00018766723195579759_r8, & + 0.00022749074084645263_r8, 0.00025922366089106702_r8, & + 0.00029196078351391875_r8, 0.0003157920114146217_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,63) / & + 9.8978285424702645e-05_r8, 9.5289135323673737e-05_r8, & + 0.00010182406655654519_r8, 0.00011197332868143918_r8, & + 0.00012564258040930355_r8, 0.00014254683307883965_r8, & + 0.00018353982545528329_r8, 0.00014166544504290999_r8, & + 0.00014630831974833436_r8, 0.00014078509655745272_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,63) / & + 0.00010205337444512074_r8, 9.7365231452793414e-05_r8, & + 0.00010319698440819314_r8, 0.00011618468889157128_r8, & + 0.00013426434995884889_r8, 0.00016323667575385839_r8, & + 0.00020104946371799512_r8, 0.00020824645722713488_r8, & + 0.00017240079959682169_r8, 0.00014525743793799371_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,63) / & + 0.00010156491630850517_r8, 9.0498697006407167e-05_r8, & + 9.5419709301887654e-05_r8, 0.00015359054233697521_r8, & + 0.00016856463040565322_r8, 0.00019016338598915964_r8, & + 0.00023764884455808308_r8, 0.00028546391561412148_r8, & + 0.00027662551339654973_r8, 0.00022273440102535844_r8, & + 0.00019125514427721803_r8, 0.00012435539446197183_r8, & + 0.00011194658424656774_r8, 0.00011613971689931698_r8, & + 0.00012907377307419957_r8, 0.00011391578427154172_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,63) / & + 9.2023238018264694e-05_r8, 9.0288770188703653e-05_r8, & + 9.9296389563845232e-05_r8, 0.00012813160563321477_r8, & + 0.00013650772447733401_r8, 0.000153314379899481_r8, & + 0.00021015925129244358_r8, 0.00023742730553030878_r8, & + 0.00022439541373792875_r8, 0.00018526126645446129_r8, & + 0.00013776807040631102_r8, 0.00010674983832251135_r8, & + 8.4338391718497487e-05_r8, 9.1555010427682847e-05_r8, & + 9.4775289408279012e-05_r8, 8.81115966684473e-05_r8, & + 7.8112931017961781e-05_r8, 7.5473567920169226e-05_r8, & + 7.6141374698108615e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,63) / & + 8.5819790473007674e-05_r8, 7.9909540576727313e-05_r8, & + 9.0595213174028542e-05_r8, 0.00010022759013698064_r8, & + 0.00010480577544487236_r8, 0.00010852661643304829_r8, & + 0.00016962072361040387_r8, 0.00017519350280457966_r8, & + 0.0001841694706311574_r8, 0.0001468376361969027_r8, & + 0.00011741484754599497_r8, 0.0001018785098139874_r8, & + 8.0348722572095538e-05_r8, 8.4588853511564007e-05_r8, & + 9.3247005175128132e-05_r8, 8.8509409836155968e-05_r8, & + 7.9667870628547441e-05_r8, 7.7425004760328319e-05_r8, & + 7.8224230655373207e-05_r8, 7.9875132570566223e-05_r8, & + 7.9668072009386203e-05_r8, 7.8659947294792677e-05_r8, & + 7.9041325200307727e-05_r8, 8.2004881909434176e-05_r8, & + 9.3041180172405159e-05_r8, 9.649349770930236e-05_r8, & + 9.8405324787619139e-05_r8, 0.00010372566906917662_r8, & + 0.00011280608259960347_r8, 0.00011563686220027536_r8, & + 0.00011431828732837217_r8, 0.00011300383920520445_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,63) / & + 8.9215952810478173e-05_r8, 9.3903456311527679e-05_r8, & + 9.1809780340568612e-05_r8, 0.00010731902477071786_r8, & + 0.00011967190775034424_r8, 9.7290583074203894e-05_r8, & + 0.00015531020248920881_r8, 0.00015348124373535619_r8, & + 0.00014469619189955157_r8, 0.00011128321106791958_r8, & + 9.6918404296482139e-05_r8, 9.1172133532394506e-05_r8, & + 7.8270213303898762e-05_r8, 8.084694338301429e-05_r8, & + 8.648370813863835e-05_r8, 8.394198941477258e-05_r8, & + 7.7644801782198513e-05_r8, 7.6298503706545963e-05_r8, & + 7.7475206129570579e-05_r8, 7.9385003212870887e-05_r8, & + 8.0726020196243982e-05_r8, 8.1616428221538157e-05_r8, & + 8.3573267073434841e-05_r8, 8.5312303362195335e-05_r8, & + 9.7226428408537724e-05_r8, 0.00010001609294759831_r8, & + 0.00010351494182922786_r8, 0.00011439520943370353_r8, & + 0.00012110772278896665_r8, 0.00012023725464812139_r8, & + 0.00011575495787411804_r8, 0.00011666642301165349_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,63) / & + 8.5403014590201221e-05_r8, 0.00010458652628636368_r8, & + 0.00010104539061680254_r8, 0.00011112498858495591_r8, & + 0.00011446875148297596_r8, 0.00011602656644085217_r8, & + 0.00016000732424364169_r8, 0.00012401772205234332_r8, & + 0.00010652456708965513_r8, 8.4173437709312299e-05_r8, & + 7.8205903369775388e-05_r8, 7.4676223282750634e-05_r8, & + 7.0490574557564934e-05_r8, 7.2542637391015657e-05_r8, & + 7.3501050516817359e-05_r8, 7.4345694432693648e-05_r8, & + 7.347766148827365e-05_r8, 7.3810673867442356e-05_r8, & + 7.5920976104196296e-05_r8, 7.9038351745284685e-05_r8, & + 8.1921114469481695e-05_r8, 8.5186529441223685e-05_r8, & + 8.9055127353870227e-05_r8, 9.3013556367351562e-05_r8, & + 9.9442559650466663e-05_r8, 0.00010314640823254212_r8, & + 0.00010908327102096434_r8, 0.00012007513546322792_r8, & + 0.00012226063668765728_r8, 0.00012016878995334001_r8, & + 0.00011914233159869451_r8, 0.00011975331132748818_r8, & + 0.00012035968620823161_r8, 0.00012025104494216819_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,64) / & + 8.7447828999538359e-05_r8, 8.71207928641192e-05_r8, & + 8.9247213993401769e-05_r8, 9.9834125619294623e-05_r8, & + 9.8326153270944514e-05_r8, 0.00010468162459964257_r8, & + 0.0001144472068103364_r8, 0.00013164596063565347_r8, & + 0.00014846242808377852_r8, 0.00016004925359652331_r8, & + 0.00016651154752265579_r8, 0.00017168261950770535_r8, & + 0.00017498590174261816_r8, 0.0001823042421844915_r8, & + 0.00018772340433232513_r8, 0.00019158059190066778_r8, & + 0.00019599317054194051_r8, 0.00020130608021770918_r8, & + 0.00020552578000411267_r8, 0.00021021646859108048_r8, & + 0.00021601202584262157_r8, 0.00022621765704777951_r8, & + 0.00023201058052263872_r8, 0.000238673408445112_r8, & + 0.00024331397904674487_r8, 0.0002480769441118021_r8, & + 0.00025214368107550039_r8, 0.00026246327019920513_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,64) / & + 7.8449918576089535e-05_r8, 7.8367981488974015e-05_r8, & + 8.0816553041359107e-05_r8, 8.9019428290764002e-05_r8, & + 8.8696921523484466e-05_r8, 9.7099440036325154e-05_r8, & + 0.00010779235353903092_r8, 0.00012266367882428927_r8, & + 0.00014124337679026058_r8, 0.00015272455397191266_r8, & + 0.00016113254230580874_r8, 0.00016749995376851622_r8, & + 0.0001745393836730073_r8, 0.00018091751784974792_r8, & + 0.0001852286351981194_r8, 0.00018848322537627394_r8, & + 0.00019310859695425097_r8, 0.00019864185039452059_r8, & + 0.00020281874088660387_r8, 0.0002074385165000351_r8, & + 0.00021194703968977887_r8, 0.00021916223143497905_r8, & + 0.00022476181525227161_r8, 0.00023083574463874136_r8, & + 0.00023579439896287736_r8, 0.00024078063599082753_r8, & + 0.00024501004055753204_r8, 0.00025574436969193648_r8, & + 0.00026380939495703734_r8, 0.00027178695886484071_r8, & + 0.00027763802703917805_r8, 0.00028226295182840605_r8, & + 0.0002863611239177348_r8, 0.0002909861796424181_r8, & + 0.00029474505818056926_r8, 0.00029638114126307157_r8, & + 0.00029739730686146855_r8, 0.00030048179178212387_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,64) / & + 4.1819819633797621e-05_r8, 4.1980104058081556e-05_r8, & + 4.5781587695847344e-05_r8, 4.8741189874099895e-05_r8, & + 5.0899459867600348e-05_r8, 5.5216023503071974e-05_r8, & + 6.1148542087911998e-05_r8, 7.1864922308199732e-05_r8, & + 8.8476086495034711e-05_r8, 0.00010110344638362302_r8, & + 0.00011084258843885032_r8, 0.00011910256516286816_r8, & + 0.00013347726576690139_r8, 0.00014412459774506276_r8, & + 0.00015136132059731099_r8, 0.00015776360259777577_r8, & + 0.00016743354461269487_r8, 0.00017484289874938598_r8, & + 0.00018076966410739137_r8, 0.00018592827854883837_r8, & + 0.00019013180907033068_r8, 0.00019435432257497917_r8, & + 0.000198816199696717_r8, 0.00020367990332840764_r8, & + 0.00020863689431579208_r8, 0.00021397775175692265_r8, & + 0.00021943219147161147_r8, 0.00023273647130184815_r8, & + 0.00024359422449602371_r8, 0.00025328897235552168_r8, & + 0.00026172927921869297_r8, 0.00026940307697735378_r8, & + 0.00027603899707863959_r8, 0.00028176410445375727_r8, & + 0.00028710272538490705_r8, 0.00029133274017021656_r8, & + 0.0002942139401848399_r8, 0.00029786227434547199_r8, & + 0.00030168160457623048_r8, 0.00030208626137105432_r8, & + 0.00030025224681918817_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,64) / & + 1.7876988646633069e-05_r8, 1.8377751506624278e-05_r8, & + 1.9762780676768271e-05_r8, 2.1040397478755878e-05_r8, & + 2.2908841686614494e-05_r8, 2.2519751880564163e-05_r8, & + 2.2374163377186393e-05_r8, 3.2882218334197267e-05_r8, & + 4.2562155013023634e-05_r8, 5.3347122176745381e-05_r8, & + 5.8144475347945661e-05_r8, 6.6721199589354538e-05_r8, & + 8.1656548901518875e-05_r8, 9.2339041128943484e-05_r8, & + 0.00010194265036242959_r8, 0.00011155347177131603_r8, & + 0.00012776270838225697_r8, 0.0001424492539625922_r8, & + 0.00015319826437798837_r8, 0.00016195125454995067_r8, & + 0.00016796761045655839_r8, 0.00017438258498464097_r8, & + 0.000179805141201926_r8, 0.0001849335147030125_r8, & + 0.0001896188499797885_r8, 0.00019427676409544236_r8, & + 0.00019884022775749246_r8, 0.00021127076268630834_r8, & + 0.00022412496655292496_r8, 0.00023624117855538612_r8, & + 0.00024530252259928018_r8, 0.00025384841835791644_r8, & + 0.00026269906408522809_r8, 0.00027072811578988514_r8, & + 0.00027772328857275826_r8, 0.00028388419453111635_r8, & + 0.00028902019456070958_r8, 0.00029346302410543682_r8, & + 0.00029711168008789423_r8, 0.00029885218911983584_r8, & + 0.00029984935750735768_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,64) / & + 1.072450990755823e-05_r8, 1.082669780171593e-05_r8, & + 1.0653162173456999e-05_r8, 8.5586063538104455e-06_r8, & + 8.6561111968104093e-06_r8, 8.4752707434455946e-06_r8, & + 1.016861049947283e-05_r8, 1.4187833175046765e-05_r8, & + 1.9542393919402086e-05_r8, 2.7475490106028766e-05_r8, & + 2.99708080744553e-05_r8, 3.5012577070101939e-05_r8, & + 4.2369092721130429e-05_r8, 4.7304763302285493e-05_r8, & + 5.244261366331695e-05_r8, 6.0415637684753712e-05_r8, & + 7.6655018676618104e-05_r8, 9.4052848383440024e-05_r8, & + 0.00010622159422324941_r8, 0.00011830296461343173_r8, & + 0.00012954375535828975_r8, 0.00014170921014774568_r8, & + 0.00015243765579969068_r8, 0.00016201656069049538_r8, & + 0.00016968215617267074_r8, 0.00017671974159294091_r8, & + 0.00018221378934904083_r8, 0.00019459696587980358_r8, & + 0.00020741388876420566_r8, 0.00022033321828293621_r8, & + 0.00023181541682303655_r8, 0.00023991219386858829_r8, & + 0.00024818444384238963_r8, 0.00025769111354908631_r8, & + 0.00026828745013712975_r8, 0.00027899735074433474_r8, & + 0.00028631197765047363_r8, 0.00029129021827748711_r8, & + 0.00029515393481631381_r8, 0.00029731681575308552_r8, & + 0.00029901896665465347_r8, 0.00029738701079927166_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,64) / & + 6.9312906344291252e-06_r8, 6.8717599550652297e-06_r8, & + 6.7539672031689134e-06_r8, 5.7305697936956798e-06_r8, & + 5.7455021407710744e-06_r8, 5.7300987028739874e-06_r8, & + 6.1787017140410158e-06_r8, 6.7542064546184903e-06_r8, & + 1.0572571131566602e-05_r8, 1.4648377646221889e-05_r8, & + 1.6107452318584982e-05_r8, 1.7532134475327935e-05_r8, & + 1.9813994642396794e-05_r8, 2.1567606125369326e-05_r8, & + 2.3308142714721989e-05_r8, 2.6492408035289296e-05_r8, & + 3.3837343538128217e-05_r8, 4.3332397963658715e-05_r8, & + 5.4038257896946569e-05_r8, 6.7590947768082259e-05_r8, & + 8.2258791361711469e-05_r8, 9.6647701522891859e-05_r8, & + 0.00011192724782033466_r8, 0.00012665766603988461_r8, & + 0.00013968877304008445_r8, 0.00015155714879858164_r8, & + 0.00016085172678823782_r8, 0.00017981309166166941_r8, & + 0.00019471964671856053_r8, 0.00020955462169853226_r8, & + 0.00022572852956726828_r8, 0.00023589452517221147_r8, & + 0.00024115082807208197_r8, 0.00024772818401597174_r8, & + 0.00025911493831160833_r8, 0.00027659457900949407_r8, & + 0.00028625728302813472_r8, 0.00029015919256707119_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,64) / & + 4.1560508897002777e-06_r8, 4.4667137425448006e-06_r8, & + 5.1686437275774976e-06_r8, 5.7138166004209613e-06_r8, & + 5.7215891895348243e-06_r8, 5.6928425747935966e-06_r8, & + 5.5118424451436212e-06_r8, 6.0790338680535767e-06_r8, & + 8.1814617514571947e-06_r8, 1.0448293593695663e-05_r8, & + 1.1700893976743992e-05_r8, 1.2998509532386291e-05_r8, & + 1.488171982337426e-05_r8, 1.6258426953007944e-05_r8, & + 1.7616516963715324e-05_r8, 1.9128880564783329e-05_r8, & + 2.2578510248086726e-05_r8, 2.7474971155702204e-05_r8, & + 3.6081521875102041e-05_r8, 4.8489500935137951e-05_r8, & + 6.3257665412083636e-05_r8, 7.8565259462486507e-05_r8, & + 9.5643592924707046e-05_r8, 0.0001132774347639837_r8, & + 0.00012866737570542798_r8, 0.00014342709947726896_r8, & + 0.0001557089598891954_r8, 0.00017799045060557558_r8, & + 0.00019442560950912465_r8, 0.00020902888999955579_r8, & + 0.00022620566928494097_r8, 0.00023755980889997796_r8, & + 0.00024287488262436852_r8, 0.00024785562310060768_r8, & + 0.00025846108166397287_r8, 0.0002764703786724684_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,64) / & + 3.4210833954943608e-06_r8, 4.418244339038271e-06_r8, & + 5.7757877864359782e-06_r8, 7.7358252171051913e-06_r8, & + 7.6361223535768054e-06_r8, 7.2467401651310118e-06_r8, & + 6.0002742065000516e-06_r8, 5.0737888345504541e-06_r8, & + 5.8285989035528452e-06_r8, 6.9293059590787529e-06_r8, & + 7.9951700717971424e-06_r8, 1.0629329550662358e-05_r8, & + 1.3812410171168248e-05_r8, 1.5812079381263241e-05_r8, & + 1.7409683969685849e-05_r8, 1.8934559803347732e-05_r8, & + 2.2121367705636068e-05_r8, 2.6318125409997811e-05_r8, & + 3.3448757768520813e-05_r8, 4.4673245679671028e-05_r8, & + 5.9773180596224273e-05_r8, 7.6167639896952515e-05_r8, & + 9.4808753317615025e-05_r8, 0.00011479078826812931_r8, & + 0.00013317181780845509_r8, 0.00015067411954144041_r8, & + 0.00016390749493270111_r8, 0.00018866048624137526_r8, & + 0.00020587805509389599_r8, 0.00022011435926473058_r8, & + 0.00023368253543618354_r8, 0.00024055589023488442_r8, & + 0.00024566520769362873_r8, 0.00025074022727892425_r8, & + 0.00026255049792546351_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,64) / & + 3.8556135397711152e-06_r8, 5.0217147002432942e-06_r8, & + 5.6377736668983831e-06_r8, 7.0108156102529549e-06_r8, & + 7.1371940691960716e-06_r8, 6.813180762866511e-06_r8, & + 7.9860220906482645e-06_r8, 5.2029733608667984e-06_r8, & + 4.6259810741433129e-06_r8, 5.0046114296164623e-06_r8, & + 5.6739050526353307e-06_r8, 8.2573282590826008e-06_r8, & + 1.1746123281750525e-05_r8, 1.3575216813467331e-05_r8, & + 1.5292576336721195e-05_r8, 1.7000507081776142e-05_r8, & + 2.0102469813934381e-05_r8, 2.3951012576405275e-05_r8, & + 3.039370694235589e-05_r8, 4.1343010979996914e-05_r8, & + 5.6883146525349529e-05_r8, 7.4961125945615227e-05_r8, & + 9.6076157396910304e-05_r8, 0.00011830356752525762_r8, & + 0.00013972928136525822_r8, 0.00015913135696028931_r8, & + 0.00017255334232991562_r8, 0.00019823294618652462_r8, & + 0.00021598923649456621_r8, 0.00023017882405554778_r8, & + 0.00024139488657565222_r8, 0.00024624354008732371_r8, & + 0.00024932793945326413_r8, 0.00025441387693395204_r8, & + 0.00026575784537589611_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,64) / & + 4.3266566175553047e-06_r8, 5.0167548227974118e-06_r8, & + 4.6475565733913666e-06_r8, 4.2002804844879505e-06_r8, & + 4.1813890650515631e-06_r8, 4.1513841436580738e-06_r8, & + 5.0086546206169035e-06_r8, 4.2798867842688921e-06_r8, & + 4.5334607330587837e-06_r8, 4.7269698035962753e-06_r8, & + 4.7368741841345324e-06_r8, 5.6758282350280901e-06_r8, & + 8.6498208209902953e-06_r8, 1.1141792031512094e-05_r8, & + 1.3300276317984247e-05_r8, 1.5431067341916127e-05_r8, & + 1.8808624576861564e-05_r8, 2.2387808287930989e-05_r8, & + 2.8383784911070607e-05_r8, 3.9181141204829936e-05_r8, & + 5.5532804666956428e-05_r8, 7.5943632135343163e-05_r8, & + 9.9717796850648231e-05_r8, 0.00012475823170584227_r8, & + 0.0001475362798196708_r8, 0.00016687833932570577_r8, & + 0.00018098766084821545_r8, 0.00020725231645353157_r8, & + 0.00022659510365915746_r8, 0.0002417988121680123_r8, & + 0.00025076343520455668_r8, 0.00025366500227196731_r8, & + 0.00025413348015617169_r8, 0.00025570816646723529_r8, & + 0.00026149225680149201_r8, 0.00027292163233144732_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,64) / & + 5.2304945613488169e-06_r8, 5.457573299828249e-06_r8, & + 4.7947731913353692e-06_r8, 3.4401546001032543e-06_r8, & + 3.443098701043249e-06_r8, 3.4761521721761193e-06_r8, & + 3.9644862975505787e-06_r8, 3.697705192122356e-06_r8, & + 3.898271857563799e-06_r8, 4.0947865699304623e-06_r8, & + 4.1956188121163528e-06_r8, 4.7460731536830521e-06_r8, & + 5.2879547456353218e-06_r8, 7.7802636871362876e-06_r8, & + 1.0889818175754054e-05_r8, 1.4015728244006824e-05_r8, & + 1.7760508229822999e-05_r8, 2.1051228402835848e-05_r8, & + 2.6395588875007961e-05_r8, 3.6745649504714661e-05_r8, & + 5.3398563509528739e-05_r8, 7.5739186107506048e-05_r8, & + 0.00010155883817409257_r8, 0.00012858074448709501_r8, & + 0.00015169423307480917_r8, 0.00016909521049457551_r8, & + 0.00018354623991370967_r8, 0.00021286413384299544_r8, & + 0.00023723069597608292_r8, 0.00025421461515074523_r8, & + 0.0002610753672703033_r8, 0.00026255048165835297_r8, & + 0.00026231797975511832_r8, 0.00026092554091247867_r8, & + 0.00025945976369884534_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,64) / & + 5.9066145640171891e-06_r8, 5.9698705213832904e-06_r8, & + 5.3343379450334906e-06_r8, 3.1469128934878393e-06_r8, & + 3.1474214418786327e-06_r8, 3.2255681698531995e-06_r8, & + 3.9505284307430509e-06_r8, 4.2764936851191152e-06_r8, & + 4.061990186414626e-06_r8, 3.9696265045298781e-06_r8, & + 4.0102200894809704e-06_r8, 4.5081067841538908e-06_r8, & + 6.0921037992472256e-06_r8, 7.5531057360455647e-06_r8, & + 1.1725772661003332e-05_r8, 1.623866752151121e-05_r8, & + 2.2047583236393664e-05_r8, 2.5924806429310216e-05_r8, & + 3.2347126216516216e-05_r8, 4.5360177749457066e-05_r8, & + 6.5325164115717885e-05_r8, 9.1544249681530798e-05_r8, & + 0.00011844398978588611_r8, 0.00014566668321390564_r8, & + 0.00016529618769200481_r8, 0.00018053421675341076_r8, & + 0.00019439858159260351_r8, 0.00022244997940314338_r8, & + 0.00024519078602610364_r8, 0.00025923857519059493_r8, & + 0.0002644015226651451_r8, 0.00026594252619067732_r8, & + 0.00026703277062885337_r8, 0.00026662632420507078_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,64) / & + 5.8907405978085666e-06_r8, 5.8575943822607961e-06_r8, & + 5.3762083538588478e-06_r8, 3.3687519519771339e-06_r8, & + 3.4595536663405536e-06_r8, 3.6125279957832549e-06_r8, & + 3.3033865551071518e-06_r8, 4.2334350692913658e-06_r8, & + 4.0993647797063098e-06_r8, 3.7277564255589468e-06_r8, & + 3.6929474764245131e-06_r8, 4.2644731105872628e-06_r8, & + 7.9202262606766937e-06_r8, 1.1853701122215715e-05_r8, & + 1.8630684203541896e-05_r8, 2.5619246048124332e-05_r8, & + 3.4286587003769252e-05_r8, 3.9954598975505755e-05_r8, & + 5.1751011115990181e-05_r8, 7.1089749143819132e-05_r8, & + 9.6151060743304383e-05_r8, 0.00012492664064895462_r8, & + 0.00015092477275842692_r8, 0.00017548492681978252_r8, & + 0.00019288595699983456_r8, 0.00020835442491311674_r8, & + 0.00022199067658403064_r8, 0.0002459123761505251_r8, & + 0.00026280889525374224_r8, 0.00027324163199267756_r8, & + 0.00027907949635223389_r8, 0.00028257746038537105_r8, & + 0.00028900574590743619_r8, 0.00029304981732873001_r8, & + 0.00029380458950436285_r8, 0.00029514880522970443_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,64) / & + 5.5001914489604733e-06_r8, 5.246231429971874e-06_r8, & + 5.2181996392025124e-06_r8, 5.2321808430507404e-06_r8, & + 5.1438229321224754e-06_r8, 5.3128408108857608e-06_r8, & + 4.3613670085952601e-06_r8, 4.2102163870603572e-06_r8, & + 4.1068566782056022e-06_r8, 3.7778297501419714e-06_r8, & + 3.5188531326693827e-06_r8, 4.1632483467545887e-06_r8, & + 7.964879527950535e-06_r8, 1.6220338047545594e-05_r8, & + 2.7606661300006464e-05_r8, 3.7832486572573424e-05_r8, & + 4.8456338157638825e-05_r8, 5.8778592016378017e-05_r8, & + 7.9002754046758139e-05_r8, 0.00010418670489664325_r8, & + 0.00013071969728410232_r8, 0.00015626045073297628_r8, & + 0.00017850085619937537_r8, 0.00019994842165417032_r8, & + 0.00021732955569168081_r8, 0.00023244526222085222_r8, & + 0.00024518158595367135_r8, 0.00026741669604321853_r8, & + 0.00027926033154880971_r8, 0.00028754402091348631_r8, & + 0.00029431800686640372_r8, 0.00030138127591193586_r8, & + 0.00030955985949258929_r8, 0.00031087328600714785_r8, & + 0.00031086392611143828_r8, 0.00031164599315304184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,64) / & + 6.0038018224303241e-06_r8, 5.464094641760336e-06_r8, & + 5.194200076961457e-06_r8, 8.0583600768367197e-06_r8, & + 7.3875330857166293e-06_r8, 6.9517271799466426e-06_r8, & + 6.6093054792392568e-06_r8, 6.0767682146963323e-06_r8, & + 6.087549769282096e-06_r8, 6.1233102230989959e-06_r8, & + 6.0427545759142967e-06_r8, 5.5662563009252105e-06_r8, & + 7.7982397099572168e-06_r8, 1.9601757173642118e-05_r8, & + 3.5263172898097597e-05_r8, 4.9667427419503142e-05_r8, & + 6.3367955308749605e-05_r8, 8.163046570300104e-05_r8, & + 0.00010749825338236849_r8, 0.00013423080295808161_r8, & + 0.00015951387789023906_r8, 0.00018254844023285341_r8, & + 0.00020352880509419343_r8, 0.00022302134182861192_r8, & + 0.00024045753125995459_r8, 0.00025509135605663636_r8, & + 0.00026799344704871777_r8, 0.00028973100456786794_r8, & + 0.00029691934505339952_r8, 0.00030176873229710398_r8, & + 0.0003093335340474713_r8, 0.00032125595557841414_r8, & + 0.0003309794636623923_r8, 0.00033165373820728995_r8, & + 0.000329120125135467_r8, 0.00032931632667665699_r8, & + 0.00033299859582086778_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,64) / & + 6.4982140576800713e-06_r8, 6.0109584708793193e-06_r8, & + 5.8100405738905399e-06_r8, 8.8781657632507501e-06_r8, & + 8.2589186464243956e-06_r8, 8.7617331558359914e-06_r8, & + 7.7522344271769195e-06_r8, 9.2139168412764745e-06_r8, & + 9.4546277603939957e-06_r8, 9.7678620310909266e-06_r8, & + 1.1279378042094062e-05_r8, 1.4954097321178127e-05_r8, & + 2.9369595891312371e-05_r8, 4.6747484056929276e-05_r8, & + 5.9696752896869353e-05_r8, 6.8906315612016835e-05_r8, & + 8.1535692351590472e-05_r8, 9.9546306911102447e-05_r8, & + 0.00012337777704033348_r8, 0.00014884794161954725_r8, & + 0.0001733394535037434_r8, 0.00019688372239818505_r8, & + 0.00022305171036534772_r8, 0.00024217834112105161_r8, & + 0.0002607194014238955_r8, 0.00027601718416665018_r8, & + 0.00028943192014310726_r8, 0.00031282721452161006_r8, & + 0.00032365097755912499_r8, 0.00032903849697023306_r8, & + 0.00033588415987073405_r8, 0.00034759159536212626_r8, & + 0.00035820620808601572_r8, 0.00036042032327377962_r8, & + 0.0003570641404661953_r8, 0.00036057991567412157_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,64) / & + 7.043707525584751e-06_r8, 6.9840757470145241e-06_r8, & + 6.8413924291448145e-06_r8, 9.03298098624876e-06_r8, & + 8.8977034552965105e-06_r8, 9.4226547326107998e-06_r8, & + 8.221563369670384e-06_r8, 1.3582385246220365e-05_r8, & + 1.6104779963683985e-05_r8, 2.2909477251367827e-05_r8, & + 3.2535231342956787e-05_r8, 4.4167905597687056e-05_r8, & + 6.233268846880715e-05_r8, 7.5604395459902892e-05_r8, & + 8.4308435581035684e-05_r8, 9.0900660869278735e-05_r8, & + 0.00010375690640656129_r8, 0.00012201988340849417_r8, & + 0.0001452618482753462_r8, 0.0001709922150045946_r8, & + 0.00019524934257580809_r8, 0.00021833963900473371_r8, & + 0.00024260435244802874_r8, 0.00026295798732745506_r8, & + 0.00028309404885793198_r8, 0.00029977473895192753_r8, & + 0.00031429477250479625_r8, 0.00034172953566268389_r8, & + 0.000360823791978563_r8, 0.00037071520337444053_r8, & + 0.00037616117410997407_r8, 0.00038262763582453253_r8, & + 0.00039051660759089718_r8, 0.00039572974617976196_r8, & + 0.00039537240480701051_r8, 0.00039680313858763154_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,64) / & + 9.2023868254356538e-06_r8, 9.5700774418305716e-06_r8, & + 1.000513125664203e-05_r8, 1.1669651498841825e-05_r8, & + 1.2188068908095991e-05_r8, 1.3113483041550126e-05_r8, & + 1.6927086257403183e-05_r8, 2.6222003890876046e-05_r8, & + 3.7524317976172718e-05_r8, 5.0169692098238657e-05_r8, & + 5.9412058605563354e-05_r8, 6.631994743029619e-05_r8, & + 7.3888069632617023e-05_r8, 8.3065998717504874e-05_r8, & + 9.3176561989351584e-05_r8, 0.00010349685506862821_r8, & + 0.00012151741923978594_r8, 0.00014182842802040038_r8, & + 0.00016513958245244293_r8, 0.00018917150223861435_r8, & + 0.00021265174112190905_r8, 0.00023603483480727857_r8, & + 0.00026008788245736428_r8, 0.00028331824858397411_r8, & + 0.00030315560422717783_r8, 0.00032088120685773875_r8, & + 0.00033631571129563948_r8, 0.00036762179758118517_r8, & + 0.00039063161846696656_r8, 0.00040331649437698935_r8, & + 0.00040742957138746117_r8, 0.00041093165240154735_r8, & + 0.00041667821734543985_r8, 0.00042001154831712844_r8, & + 0.0004254146963219936_r8, 0.00042479645699976438_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,64) / & + 1.1290841743065095e-05_r8, 1.1843537669436849e-05_r8, & + 1.2977012618371056e-05_r8, 1.7044002067323131e-05_r8, & + 1.9602632600211462e-05_r8, 2.5121005249975387e-05_r8, & + 3.5729876318757268e-05_r8, 4.5908467394127187e-05_r8, & + 5.3291221300422007e-05_r8, 5.9512766893590239e-05_r8, & + 6.4230037884117853e-05_r8, 6.8945798234964508e-05_r8, & + 7.5921789950829447e-05_r8, 8.3521583671112421e-05_r8, & + 9.738948243642528e-05_r8, 0.00011154154174336999_r8, & + 0.00013170849452260713_r8, 0.00015286350443918608_r8, & + 0.00017784531153224387_r8, 0.00020367445014758779_r8, & + 0.00022949343704407944_r8, 0.0002527590448390792_r8, & + 0.00028123140201834771_r8, 0.00030560683836426569_r8, & + 0.00032395899478027812_r8, 0.00034345475223389262_r8, & + 0.00035883566024303397_r8, 0.00039467342833414816_r8, & + 0.00041946193585018157_r8, 0.00043225950524013033_r8, & + 0.00043485251568697083_r8, 0.00043741132624496113_r8, & + 0.00043984851169882178_r8, 0.00044173207496541757_r8, & + 0.00044506858076362194_r8, 0.0004419262450209079_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,64) / & + 1.0422876507804554e-05_r8, 1.1156901983269351e-05_r8, & + 1.1971744497767837e-05_r8, 1.6583144821748378e-05_r8, & + 2.0448475821201177e-05_r8, 2.6580055233479997e-05_r8, & + 4.0560822323885768e-05_r8, 5.2858777123022286e-05_r8, & + 5.8452754628522067e-05_r8, 6.2867553437418621e-05_r8, & + 6.6864843902060309e-05_r8, 7.1812704310866691e-05_r8, & + 8.1154157202148166e-05_r8, 9.0232716625105963e-05_r8, & + 0.00010479579807337871_r8, 0.00011882318500896379_r8, & + 0.00014282874265511138_r8, 0.00016703340113517678_r8, & + 0.00019461510856585607_r8, 0.00022228017290109908_r8, & + 0.00024898842358189006_r8, 0.00027370490501394285_r8, & + 0.00030273130155156658_r8, 0.00032832561455983821_r8, & + 0.0003454443487520383_r8, 0.00036525477305466973_r8, & + 0.00038176101234823869_r8, 0.00041791938326014237_r8, & + 0.00044215892147056419_r8, 0.00045863678884616878_r8, & + 0.00046530530771254935_r8, 0.00046701769991753188_r8, & + 0.00046610181165206973_r8, 0.0004657597538179061_r8, & + 0.0004674198249737556_r8, 0.00046908681437217659_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,64) / & + 7.2024790431163709e-06_r8, 8.1233797795347739e-06_r8, & + 8.0811564490124307e-06_r8, 1.0213122173526226e-05_r8, & + 1.336717371674905e-05_r8, 2.0975695382115231e-05_r8, & + 3.79834952103595e-05_r8, 6.0746177240747257e-05_r8, & + 6.8489625113119201e-05_r8, 7.4057730696768187e-05_r8, & + 7.8687831250285145e-05_r8, 8.3606671047103341e-05_r8, & + 9.125890640334241e-05_r8, 0.00010024261307556188_r8, & + 0.00011287268646403568_r8, 0.00012833781303185204_r8, & + 0.00016183990270775213_r8, 0.00019166344894197174_r8, & + 0.0002198559863546117_r8, 0.00024764162879952503_r8, & + 0.00027380703533327818_r8, 0.00029820008800706435_r8, & + 0.00032036100871350379_r8, 0.00034561166624493293_r8, & + 0.00036558340632067958_r8, 0.00038415287380157891_r8, & + 0.00040089306965786469_r8, 0.00043501739156759134_r8, & + 0.00046145811600405292_r8, 0.00048180616474743178_r8, & + 0.0004932654658472952_r8, 0.0004956036170327882_r8, & + 0.00049333644647469872_r8, 0.0004905328589069085_r8, & + 0.00048691502552720251_r8, 0.00048480771692443922_r8, & + 0.00048345593187762795_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,64) / & + 4.8739953613118503e-06_r8, 6.0570603105161143e-06_r8, & + 5.7749209990220373e-06_r8, 9.3191048185139793e-06_r8, & + 1.1240310290426612e-05_r8, 2.0379279381364003e-05_r8, & + 4.5759974965891102e-05_r8, 6.9602696461811293e-05_r8, & + 7.8382355003660199e-05_r8, 8.4305863757834328e-05_r8, & + 8.8333599990823459e-05_r8, 9.2747986271853885e-05_r8, & + 9.9026626298805241e-05_r8, 0.00010938874315514414_r8, & + 0.00012274919595090366_r8, 0.00013938990781947098_r8, & + 0.0001782624976191843_r8, 0.00021384574697492513_r8, & + 0.00024337596397135583_r8, 0.00026992586371575133_r8, & + 0.00029517356357781243_r8, 0.00032042883588945139_r8, & + 0.00033666106541077779_r8, 0.00036008037113786993_r8, & + 0.00038098891982256102_r8, 0.0003987043724909568_r8, & + 0.00041479555244111762_r8, 0.00044887513306212095_r8, & + 0.00047935347366887102_r8, 0.00049813815381708935_r8, & + 0.00050876786810641578_r8, 0.00051137321286541439_r8, & + 0.00051048622012804426_r8, 0.00051002789220444035_r8, & + 0.00050629043460357378_r8, 0.00050278474767241003_r8, & + 0.00050239837713853268_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,64) / & + 4.304864091147905e-06_r8, 5.6001792663277545e-06_r8, & + 5.6836783257130556e-06_r8, 1.0255109641834119e-05_r8, & + 1.0799111262949062e-05_r8, 1.6470200977467019e-05_r8, & + 3.9876373262017888e-05_r8, 6.352071638757917e-05_r8, & + 7.9793365616731823e-05_r8, 8.8585683764302807e-05_r8, & + 9.4264766533209252e-05_r8, 9.9252981188200991e-05_r8, & + 0.00010727657619481027_r8, 0.00011916395474463873_r8, & + 0.0001354067462696008_r8, 0.00015295369382491671_r8, & + 0.00019595474028930387_r8, 0.00023475416642953812_r8, & + 0.00026552135016445614_r8, 0.00029200799019718672_r8, & + 0.00031744740975771989_r8, 0.00034248712319048634_r8, & + 0.00035858418256666026_r8, 0.00038170479163031909_r8, & + 0.00040292882094028991_r8, 0.00042195070233807435_r8, & + 0.00043801241735593697_r8, 0.00047118311049685387_r8, & + 0.0004987950397749494_r8, 0.00051516297215829137_r8, & + 0.00052555039058433176_r8, 0.00052917659128759714_r8, & + 0.00052891864584354419_r8, 0.00052742243050537564_r8, & + 0.00052585896537100235_r8, 0.00052019813916860322_r8, & + 0.00052094301684150622_r8, 0.00052202780863695047_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,64) / & + 4.8834119580571206e-06_r8, 5.659091274414798e-06_r8, & + 5.8715130529420192e-06_r8, 1.3087339341535984e-05_r8, & + 1.5708569477744078e-05_r8, 2.2128961742521341e-05_r8, & + 3.8188272720971865e-05_r8, 6.4649635318691384e-05_r8, & + 8.4937505601431941e-05_r8, 9.5926040480131348e-05_r8, & + 0.00010211450726643385_r8, 0.00010761578645700154_r8, & + 0.00011720388163463296_r8, 0.0001309487040942473_r8, & + 0.00015064481272535982_r8, 0.00016978399784032701_r8, & + 0.00021420437095421603_r8, 0.00025457748492048682_r8, & + 0.00028717052499720999_r8, 0.00031658560597288096_r8, & + 0.00034302133707788123_r8, 0.00036755190581724888_r8, & + 0.00038906409195902411_r8, 0.00041131548825014993_r8, & + 0.00043112126450715372_r8, 0.00044955823592474217_r8, & + 0.00046581520106978919_r8, 0.00049978243566708991_r8, & + 0.00052498567403371833_r8, 0.00054050433226278925_r8, & + 0.00054762884514886125_r8, 0.00055097382926698913_r8, & + 0.00055217313881237499_r8, 0.0005458582089390956_r8, & + 0.00054590273973166266_r8, 0.00053804790466412762_r8, & + 0.00053487815052111469_r8, 0.0005348725972896814_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,64) / & + 5.6241972588501639e-06_r8, 5.7919887938016448e-06_r8, & + 6.0379641339964587e-06_r8, 1.6253370525891451e-05_r8, & + 1.8385019835826745e-05_r8, 2.1764586178083846e-05_r8, & + 4.4785792626311773e-05_r8, 7.7026384534941762e-05_r8, & + 9.6036654585024978e-05_r8, 0.00010631878146768628_r8, & + 0.00011169122618377798_r8, 0.00011696075124727648_r8, & + 0.0001283818054102838_r8, 0.00014213891958187564_r8, & + 0.00016019452137837369_r8, 0.00018041008768588873_r8, & + 0.0002272016343897948_r8, 0.00026706157728995745_r8, & + 0.00030190761068465863_r8, 0.0003316731472711375_r8, & + 0.00035962246357112602_r8, 0.00038519694465350427_r8, & + 0.00040945119908387576_r8, 0.00043021857470144237_r8, & + 0.00044882910023209989_r8, 0.00047261061374455061_r8, & + 0.00048698409571389464_r8, 0.00052090748313896713_r8, & + 0.00054502864708397725_r8, 0.00055883057710505858_r8, & + 0.00056630532772801944_r8, 0.00057358821422747082_r8, & + 0.00057515097497280667_r8, 0.00056159299183133741_r8, & + 0.00056229778637261927_r8, 0.00055187766999130006_r8, & + 0.00055220596202535874_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,64) / & + 5.9729930686609882e-06_r8, 6.053637748873125e-06_r8, & + 6.2123094248236372e-06_r8, 1.4704075021246026e-05_r8, & + 1.5890588320743744e-05_r8, 1.9138005675620285e-05_r8, & + 5.3679504864841758e-05_r8, 9.3651463738920923e-05_r8, & + 0.00011139996763524665_r8, 0.00011861926408154496_r8, & + 0.00012177303301896102_r8, 0.00012580817158916582_r8, & + 0.00013834876787065841_r8, 0.00015125323111193125_r8, & + 0.00016832009089440619_r8, 0.00019014115092864323_r8, & + 0.00023543258909383509_r8, 0.0002736451463273961_r8, & + 0.00030892227054364873_r8, 0.00033758077019372751_r8, & + 0.00036567917049862422_r8, 0.00038032412816643816_r8, & + 0.00038803822441439657_r8, 0.00039605611071114521_r8, & + 0.00040188210372721898_r8, 0.00046139142598225187_r8, & + 0.00047098186821255679_r8, 0.00047219257190106814_r8, & + 0.00045367438843927618_r8, 0.00037171745413305617_r8, & + 0.00037170125709779384_r8, 0.00037166264734302807_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,64) / & + 9.7557510387966375e-05_r8, 9.1660305222626131e-05_r8, & + 0.00010158962459137776_r8, 0.0001110763371504429_r8, & + 0.00012374101633491527_r8, 0.00015331137595722276_r8, & + 0.00014433792534057573_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,64) / & + 0.00010510395005115564_r8, 9.5348822437629687e-05_r8, & + 0.00010310397940345605_r8, 0.00011071415811172842_r8, & + 0.00012592226341593793_r8, 0.00015818162516160764_r8, & + 0.0001489230689799384_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,64) / & + 0.00010196676292672975_r8, 8.7708318109612146e-05_r8, & + 9.3902947934217757e-05_r8, 0.00015093172810634272_r8, & + 0.00016823037131673678_r8, 0.00019004125054482467_r8, & + 0.00024637561197318264_r8, 0.00027739191334119861_r8, & + 0.00026700449832127909_r8, 0.00021167544145647067_r8, & + 0.00018200283126316918_r8, 0.00012376107999703326_r8, & + 0.00010379347043413052_r8, 0.00010380609005800987_r8, & + 0.00012024588033401837_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,64) / & + 9.0759629108936755e-05_r8, 9.0492682470933377e-05_r8, & + 9.9167369413030894e-05_r8, 0.00013187763075190993_r8, & + 0.00014268025503175007_r8, 0.00016130112016764318_r8, & + 0.00021463044467752052_r8, 0.00023308242965293046_r8, & + 0.0002201855340785228_r8, 0.0001793277205090589_r8, & + 0.00013756815245217469_r8, 0.00010610271067871434_r8, & + 8.5756501223767498e-05_r8, 9.2033108988582283e-05_r8, & + 9.41501049713906e-05_r8, 8.7840079616492692e-05_r8, & + 7.7763025673486551e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,64) / & + 8.4772173237991261e-05_r8, 8.148175432393261e-05_r8, & + 9.2273651164214999e-05_r8, 0.00010111343715870949_r8, & + 0.0001059897756670882_r8, 0.00011143468477333591_r8, & + 0.0001726074770299868_r8, 0.00017874449740205552_r8, & + 0.0001790184712561193_r8, 0.00014441465022000036_r8, & + 0.00011810218639928444_r8, 0.00010132302377555914_r8, & + 8.1625218681384326e-05_r8, 8.5326586800703368e-05_r8, & + 9.2587064382706712e-05_r8, 8.7218609359353684e-05_r8, & + 7.9460938309199112e-05_r8, 7.7480601865286379e-05_r8, & + 7.8836105099659243e-05_r8, 8.0333628945916118e-05_r8, & + 7.9729046887614554e-05_r8, 7.8732426716755183e-05_r8, & + 7.8694256931191996e-05_r8, 8.113245910916458e-05_r8, & + 9.4953797337097358e-05_r8, 9.6929583661656258e-05_r8, & + 9.9745670371763825e-05_r8, 0.00010464618291139809_r8, & + 0.00011380457228989975_r8, 0.00011441907790463114_r8, & + 0.00011413711768488684_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,44,64) / & + 8.9257970679465954e-05_r8, 9.4196300668723945e-05_r8, & + 9.3303276564925405e-05_r8, 0.00010686800868397877_r8, & + 0.00011825457307912999_r8, 9.7118214381182119e-05_r8, & + 0.00015596340146513857_r8, 0.00015210809789433359_r8, & + 0.0001394731070669176_r8, 0.00010967174706413401_r8, & + 9.820767523948503e-05_r8, 9.1572420294629175e-05_r8, & + 7.9014987745682161e-05_r8, 8.166154074306666e-05_r8, & + 8.6394944963257085e-05_r8, 8.3565433674376484e-05_r8, & + 7.7643926627739913e-05_r8, 7.6338747802193527e-05_r8, & + 7.7878975024116935e-05_r8, 7.9791864373886441e-05_r8, & + 8.0800064854040404e-05_r8, 8.1734913791712912e-05_r8, & + 8.3504950643625064e-05_r8, 8.53357130326705e-05_r8, & + 9.8101130301199858e-05_r8, 0.00010014233663796836_r8, & + 0.00010423518759592712_r8, 0.00011552064402211108_r8, & + 0.00012120080821760947_r8, 0.00011997432223209101_r8, & + 0.00011586001961293609_r8, 0.00011675851467190363_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,64) / & + 8.6322688934555527e-05_r8, 0.00010538679871142157_r8, & + 0.00010236986572369981_r8, 0.00011213353459446798_r8, & + 0.00011372815855061191_r8, 0.00011566369569378819_r8, & + 0.00015984147714461302_r8, 0.00012348046794040862_r8, & + 0.00010590026325085319_r8, 8.4429642425010528e-05_r8, & + 7.8492457208448029e-05_r8, 7.4847238198204078e-05_r8, & + 7.064427443652778e-05_r8, 7.2646438055684753e-05_r8, & + 7.3550495777774248e-05_r8, 7.4326733711815079e-05_r8, & + 7.3471488935634372e-05_r8, 7.3810347843863942e-05_r8, & + 7.5949432491706782e-05_r8, 7.9044963783516818e-05_r8, & + 8.1951315824925947e-05_r8, 8.5220958033043414e-05_r8, & + 8.9065267575322361e-05_r8, 9.302800891516333e-05_r8, & + 9.9507127343961867e-05_r8, 0.00010317394465416156_r8, & + 0.00010912568100682395_r8, 0.00012009938521224974_r8, & + 0.00012215598466577845_r8, 0.0001200824648724741_r8, & + 0.0001191898961092756_r8, 0.0001197551970111518_r8, & + 0.00012038170710252809_r8, 0.00012023103426589598_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,65) / & + 8.3383164650614768e-05_r8, 7.9807323971883314e-05_r8, & + 8.475091063579843e-05_r8, 9.5376825833579326e-05_r8, & + 9.3544478628327277e-05_r8, 0.0001004923100374208_r8, & + 0.00011388373859767985_r8, 0.0001319207372575486_r8, & + 0.00014802581472747321_r8, 0.00016012075058584142_r8, & + 0.00016668231933317958_r8, 0.00017225110910656547_r8, & + 0.00017762746840935788_r8, 0.00018433833636306141_r8, & + 0.00018911011802228659_r8, 0.0001924888985837434_r8, & + 0.00019684008040967503_r8, 0.00020202138458480715_r8, & + 0.00020540589379648699_r8, 0.00021062491402175606_r8, & + 0.00021509620601977211_r8, 0.00022549189772686401_r8, & + 0.00023150060175291262_r8, 0.00023819015872614472_r8, & + 0.00024290583194466113_r8, 0.00024770601927703102_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,5,65) / & + 7.1797618943422154e-05_r8, 7.1789610435371616e-05_r8, & + 7.2289460386938057e-05_r8, 8.0688487927662884e-05_r8, & + 8.0531062330452857e-05_r8, 9.0045179462882241e-05_r8, & + 0.00010520875417311671_r8, 0.00011958596413184997_r8, & + 0.0001353783012226355_r8, 0.00014791328826597479_r8, & + 0.00015663472318624039_r8, 0.00016320671965301217_r8, & + 0.00017192667297923387_r8, 0.00017872133756236159_r8, & + 0.00018307365491172572_r8, 0.00018654577802838354_r8, & + 0.00019136726434367028_r8, 0.00019681221874003085_r8, & + 0.00020042800506986133_r8, 0.00020458690904799791_r8, & + 0.00020862957691244644_r8, 0.00021473364815840097_r8, & + 0.00021996324298685424_r8, 0.00022568362092540898_r8, & + 0.00023078417911627893_r8, 0.0002359412153711222_r8, & + 0.00024058864138402572_r8, 0.00025230617628782244_r8, & + 0.00026153835502476243_r8, 0.00026999846950299868_r8, & + 0.00027625223913178691_r8, 0.0002816116236045233_r8, & + 0.00028611649108055496_r8, 0.00029067944606467485_r8, & + 0.00029442816675949093_r8, 0.00029658547560447917_r8, & + 0.00029783046199651408_r8, 0.00030055804465284591_r8, & + 0.00030602815617315423_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,65) / & + 3.7987487722431839e-05_r8, 3.8468635203324183e-05_r8, & + 3.9607750347337129e-05_r8, 4.1422760968746144e-05_r8, & + 4.4341867689034963e-05_r8, 5.021362827850984e-05_r8, & + 5.9277679046443602e-05_r8, 7.0180573802757149e-05_r8, & + 8.3000648155172368e-05_r8, 9.2421784402708546e-05_r8, & + 0.00010212957340796375_r8, 0.00010891039187711581_r8, & + 0.00012453928542870604_r8, 0.00013773488665042854_r8, & + 0.00014635021030581866_r8, 0.00015400536627337326_r8, & + 0.00016493459659492476_r8, 0.00017312453903654666_r8, & + 0.0001793582338726488_r8, 0.00018475791611141808_r8, & + 0.0001889687927887682_r8, 0.00019321383082382068_r8, & + 0.00019761944861615069_r8, 0.00020255542623592951_r8, & + 0.00020726235021761952_r8, 0.00021238953426832579_r8, & + 0.0002174731542972976_r8, 0.00023089383923681516_r8, & + 0.00024160614258657924_r8, 0.00025102640684894327_r8, & + 0.00025990247475368825_r8, 0.00026812255751709795_r8, & + 0.00027517545958927268_r8, 0.00028113153504312043_r8, & + 0.00028646908349651675_r8, 0.00029093606687101827_r8, & + 0.00029420190560801903_r8, 0.00029818641420683385_r8, & + 0.00030348880445363498_r8, 0.00030476980325962275_r8, & + 0.00030047128486455471_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,65) / & + 1.5314550819937404e-05_r8, 1.5832921784162868e-05_r8, & + 1.5423628334649611e-05_r8, 1.6317712151392544e-05_r8, & + 1.8209950958517371e-05_r8, 1.8698823133881324e-05_r8, & + 2.1689138925829193e-05_r8, 3.6284800291441738e-05_r8, & + 4.3897844325704509e-05_r8, 5.0901009310792615e-05_r8, & + 5.4988715031434252e-05_r8, 5.9905788711790319e-05_r8, & + 7.2623915942688936e-05_r8, 8.4296874370944078e-05_r8, & + 9.4613714145117347e-05_r8, 0.00010495214680404521_r8, & + 0.00012168872163690405_r8, 0.00013627334948779226_r8, & + 0.00014804852276354574_r8, 0.00015818298433171362_r8, & + 0.00016551181843498709_r8, 0.00017243763293427585_r8, & + 0.00017806630815568746_r8, 0.00018341358001013928_r8, & + 0.00018798932225472158_r8, 0.00019262330771393084_r8, & + 0.00019693066947905986_r8, 0.00020969479345753708_r8, & + 0.00022196804120069646_r8, 0.00023362022351668932_r8, & + 0.00024317545795846975_r8, 0.00025196983710590369_r8, & + 0.00026118647527028396_r8, 0.00026948717793265218_r8, & + 0.00027695079338542592_r8, 0.00028346372431306733_r8, & + 0.00028897690885909143_r8, 0.00029388847075866985_r8, & + 0.0002975413583487565_r8, 0.00029963041452837159_r8, & + 0.00029938856532073552_r8, 0.00029742412449009669_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,65) / & + 9.3300970684977392e-06_r8, 9.3432914755089513e-06_r8, & + 8.3872283443300873e-06_r8, 7.7033767443928752e-06_r8, & + 8.0104324525919007e-06_r8, 8.0530006885360107e-06_r8, & + 1.017903087139006e-05_r8, 1.4993605910071284e-05_r8, & + 2.0193371291681114e-05_r8, 2.6645087401058582e-05_r8, & + 2.8783806653749729e-05_r8, 3.1207259898974115e-05_r8, & + 3.5770750499717505e-05_r8, 4.0077668673674749e-05_r8, & + 4.4651238373495276e-05_r8, 5.1171668685394703e-05_r8, & + 6.5357875101236393e-05_r8, 8.2479784116247864e-05_r8, & + 9.71475392735628e-05_r8, 0.0001099884419084024_r8, & + 0.00012338750369204787_r8, 0.00013693679938105849_r8, & + 0.00014773231624971329_r8, 0.00015762674228207422_r8, & + 0.00016600069390043987_r8, 0.0001746485707305334_r8, & + 0.00018008682004383461_r8, 0.00019239338014130958_r8, & + 0.00020441644002207972_r8, 0.00021684746434451956_r8, & + 0.00022935567801123197_r8, 0.00023751859943423043_r8, & + 0.00024581488624974944_r8, 0.00025592396376222944_r8, & + 0.00026739761460181129_r8, 0.00027883072572574847_r8, & + 0.00028662320973531067_r8, 0.00029137715274367985_r8, & + 0.00029485130569016784_r8, 0.00029735962112024044_r8, & + 0.00029841615144426254_r8, 0.00029743641112565933_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,65) / & + 7.0944169994945137e-06_r8, 7.0064066890623149e-06_r8, & + 6.655624491870092e-06_r8, 6.2468259072046611e-06_r8, & + 6.2878784802345776e-06_r8, 6.3427147637724074e-06_r8, & + 6.9372183556654926e-06_r8, 7.4372770571962669e-06_r8, & + 1.1652545090538605e-05_r8, 1.5087408339333703e-05_r8, & + 1.6241524283066271e-05_r8, 1.7109129115077e-05_r8, & + 1.8591979040244402e-05_r8, 2.002964844124633e-05_r8, & + 2.1604368160433812e-05_r8, 2.4085936490220753e-05_r8, & + 2.9862625149316211e-05_r8, 3.9542090653064701e-05_r8, & + 5.1305753821568241e-05_r8, 6.4943591223608202e-05_r8, & + 8.0261032491093335e-05_r8, 9.5466585016083872e-05_r8, & + 0.0001108437142162543_r8, 0.00012532873158447336_r8, & + 0.00013872835257156557_r8, 0.00015151239037027817_r8, & + 0.0001607864980773171_r8, 0.00017976896252724765_r8, & + 0.00019445617294480748_r8, 0.00020809951660585507_r8, & + 0.00022413696425289454_r8, 0.00023490568870898344_r8, & + 0.00024036801454969028_r8, 0.00024800361388059296_r8, & + 0.00026072738347025082_r8, 0.0002769163233699951_r8, & + 0.00028685061828507186_r8, 0.00029059235145688584_r8, & + 0.00029317403455479386_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,65) / & + 4.5193677030937502e-06_r8, 4.7821472606050757e-06_r8, & + 5.5170093237351313e-06_r8, 6.6341457552674987e-06_r8, & + 6.6424071760892662e-06_r8, 6.6355594383670813e-06_r8, & + 5.8969857112951571e-06_r8, 6.3407774300956351e-06_r8, & + 8.4070406405932765e-06_r8, 1.0532940517942378e-05_r8, & + 1.1717811646351343e-05_r8, 1.2568580176612977e-05_r8, & + 1.3878170120774308e-05_r8, 1.4962910397415719e-05_r8, & + 1.6216688536188777e-05_r8, 1.7484244515893234e-05_r8, & + 2.0142482500101828e-05_r8, 2.5095298314313501e-05_r8, & + 3.3451889571476555e-05_r8, 4.6447128414714176e-05_r8, & + 6.1431931075862434e-05_r8, 7.7355792099607768e-05_r8, & + 9.4579056477599727e-05_r8, 0.00011185835941286797_r8, & + 0.00012788503257325816_r8, 0.0001432889412091974_r8, & + 0.000155543571733954_r8, 0.0001790939134456948_r8, & + 0.00019568486093445684_r8, 0.0002099463798182631_r8, & + 0.00022639283447596561_r8, 0.00023846950326945435_r8, & + 0.00024398156810753272_r8, 0.00024939621917207424_r8, & + 0.00026155212351977527_r8, 0.00027743908508490867_r8, & + 0.00028811434327571375_r8, 0.00029206331633401954_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,65) / & + 3.9573940885743774e-06_r8, 4.8099274302498612e-06_r8, & + 6.1178581522767563e-06_r8, 7.7483816394837221e-06_r8, & + 7.6614328384450954e-06_r8, 7.5976138775525519e-06_r8, & + 6.708023322047176e-06_r8, 5.6504590981093748e-06_r8, & + 6.3823754490970618e-06_r8, 7.4782368131440907e-06_r8, & + 8.5839355361466665e-06_r8, 1.077019754447645e-05_r8, & + 1.3289434423753151e-05_r8, 1.5182629518418874e-05_r8, & + 1.6500722323957728e-05_r8, 1.7805387122716905e-05_r8, & + 2.0273746288204717e-05_r8, 2.4206612282803948e-05_r8, & + 3.0773064663171517e-05_r8, 4.2002032450847994e-05_r8, & + 5.7498411290957425e-05_r8, 7.4318240420754935e-05_r8, & + 9.2486339542378814e-05_r8, 0.00011193389850986716_r8, & + 0.00013103388617399396_r8, 0.00014890501815753021_r8, & + 0.00016180962859495978_r8, 0.00018737004459731669_r8, & + 0.00020405433072324204_r8, 0.00021831866626683064_r8, & + 0.00023389832976091859_r8, 0.00024310173240001243_r8, & + 0.00024802351556007439_r8, 0.00025339174211368143_r8, & + 0.00026516147472509358_r8, 0.00027703938438634348_r8, & + 0.00028706376215906345_r8, 0.00029200901623288491_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,65) / & + 4.489761986007258e-06_r8, 5.4446513144136603e-06_r8, & + 5.6308521075553264e-06_r8, 5.6591878417675569e-06_r8, & + 5.8156304100657177e-06_r8, 6.1361229020395893e-06_r8, & + 8.0506090359056031e-06_r8, 5.4875168024049632e-06_r8, & + 5.2854277474197448e-06_r8, 5.8216575649753088e-06_r8, & + 6.6870387806959292e-06_r8, 8.9972359214632146e-06_r8, & + 1.1945039236673911e-05_r8, 1.4014955283526628e-05_r8, & + 1.5712802640218224e-05_r8, 1.7312987740662627e-05_r8, & + 1.9909866915313284e-05_r8, 2.3439720190806877e-05_r8, & + 2.9729290413103392e-05_r8, 4.063090361273126e-05_r8, & + 5.627710907357554e-05_r8, 7.4651384057008608e-05_r8, & + 9.5452671430095489e-05_r8, 0.00011748428816941558_r8, & + 0.00013952838220267352_r8, 0.00015924482599511669_r8, & + 0.00017220045273871545_r8, 0.00019681381136138108_r8, & + 0.00021248992767839992_r8, 0.00022611689747873825_r8, & + 0.00024036321842520615_r8, 0.00024790541772037671_r8, & + 0.00025197305789419802_r8, 0.0002575674109850768_r8, & + 0.00026856656233972305_r8, 0.00027575302708249825_r8, & + 0.00027391893770458374_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,65) / & + 4.496077397406254e-06_r8, 4.9960667529280398e-06_r8, & + 4.0935901654019034e-06_r8, 3.6764511634746085e-06_r8, & + 3.717362239744872e-06_r8, 3.7398873091017638e-06_r8, & + 4.7510286085616798e-06_r8, 4.1822291449485213e-06_r8, & + 4.6353632951256091e-06_r8, 4.9410856150609042e-06_r8, & + 5.0628213604661998e-06_r8, 6.0937472385802034e-06_r8, & + 9.0720727552408617e-06_r8, 1.1642847164667974e-05_r8, & + 1.4030817925437603e-05_r8, 1.6256367328383359e-05_r8, & + 1.9161160846108583e-05_r8, 2.2469362707986615e-05_r8, & + 2.8066936211169562e-05_r8, 3.8517750011539668e-05_r8, & + 5.4786339689212204e-05_r8, 7.5648560012437334e-05_r8, & + 0.00010018912507139045_r8, 0.00012602999490729801_r8, & + 0.00014959840159014628_r8, 0.00017033162654200593_r8, & + 0.00018427332971803018_r8, 0.00020860088738744171_r8, & + 0.00022382964309624375_r8, 0.00023821792712307377_r8, & + 0.00024916429935429912_r8, 0.00025382411319683395_r8, & + 0.00025600081664445387_r8, 0.00025866962482077677_r8, & + 0.00026469806039929093_r8, 0.00027317599822952347_r8, & + 0.00027331899947776296_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,65) / & + 4.8604666946842501e-06_r8, 4.9633216065326188e-06_r8, & + 3.9490774032555205e-06_r8, 3.455599361655798e-06_r8, & + 3.5421139382819911e-06_r8, 3.435457337191676e-06_r8, & + 3.6180577860114545e-06_r8, 3.5472704261743787e-06_r8, & + 3.825043429221038e-06_r8, 4.1020213691559868e-06_r8, & + 4.1697828248763613e-06_r8, 4.4783952518686026e-06_r8, & + 5.8148735927504305e-06_r8, 8.4438430100037298e-06_r8, & + 1.1724065504652932e-05_r8, 1.5006359212756699e-05_r8, & + 1.8667679863634871e-05_r8, 2.1711804774595783e-05_r8, & + 2.6889109041667249e-05_r8, 3.7400196753746733e-05_r8, & + 5.4730331420229239e-05_r8, 7.8735333157436071e-05_r8, & + 0.00010658004899242409_r8, 0.00013576885543910714_r8, & + 0.00016009112205006142_r8, 0.00017870111996497474_r8, & + 0.00019195454716869828_r8, 0.00021556900436419952_r8, & + 0.00023312263467119515_r8, 0.00024875858154490562_r8, & + 0.00025721954006227056_r8, 0.00026070720891293762_r8, & + 0.00026189864005785491_r8, 0.0002615060912847185_r8, & + 0.00026193579074687209_r8, 0.00027072178721276787_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,65) / & + 5.2426934475779402e-06_r8, 5.2624563415872928e-06_r8, & + 4.3705893287828757e-06_r8, 3.0846046746987364e-06_r8, & + 3.1346961680743084e-06_r8, 3.0903743847045382e-06_r8, & + 3.2407375492246639e-06_r8, 4.1518227172531561e-06_r8, & + 3.9368932365367072e-06_r8, 3.9110175057064651e-06_r8, & + 3.9638943393823966e-06_r8, 3.7865942337593202e-06_r8, & + 4.7448791818664087e-06_r8, 6.4056395600294866e-06_r8, & + 1.0610742511703081e-05_r8, 1.5777786403684415e-05_r8, & + 2.166606500630348e-05_r8, 2.4685580581878971e-05_r8, & + 3.1014660610476029e-05_r8, 4.5168161093303036e-05_r8, & + 6.7380125807300309e-05_r8, 9.5917330969646014e-05_r8, & + 0.00012598291231121853_r8, 0.00015409464311549125_r8, & + 0.00017380635117338921_r8, 0.00018777546984447485_r8, & + 0.0001990899800005177_r8, 0.00022309000322576103_r8, & + 0.00024392847584761492_r8, 0.00025830936047291212_r8, & + 0.00026323842051391091_r8, 0.00026469909585556065_r8, & + 0.00026597260777851979_r8, 0.00026654883703834301_r8, & + 0.00026506025952645297_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,65) / & + 4.9408530338009304e-06_r8, 4.9175379231319308e-06_r8, & + 4.2895552084260505e-06_r8, 3.070633781298834e-06_r8, & + 3.0864279870478461e-06_r8, 3.3599340840617159e-06_r8, & + 2.9796889960552184e-06_r8, 3.5217117241356865e-06_r8, & + 3.7045777017873421e-06_r8, 3.5764876863610749e-06_r8, & + 3.5597093801188626e-06_r8, 3.4273905634795055e-06_r8, & + 4.6664210185330384e-06_r8, 8.107054660828993e-06_r8, & + 1.4967601914414733e-05_r8, 2.3086592160891443e-05_r8, & + 3.1359890291357416e-05_r8, 3.4665639315983028e-05_r8, & + 4.6597321560296539e-05_r8, 6.9018251603820646e-05_r8, & + 9.8470654158812809e-05_r8, 0.00012994702269794465_r8, & + 0.00015773119749064578_r8, 0.00018001370000216322_r8, & + 0.00019625634170821561_r8, 0.00021002432333870188_r8, & + 0.00022165717482116446_r8, 0.00024517461402393447_r8, & + 0.00026346874967998486_r8, 0.00027432323338822659_r8, & + 0.00027956757326876204_r8, 0.00028277502529501042_r8, & + 0.00028702505225275182_r8, 0.00029233678379226089_r8, & + 0.00029792815377285755_r8, 0.00029986494449511434_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,65) / & + 4.6814686189137498e-06_r8, 4.3652575882399308e-06_r8, & + 4.4276020081334156e-06_r8, 4.4515197053655568e-06_r8, & + 4.4021680350595661e-06_r8, 4.9284138803822334e-06_r8, & + 3.873738135593598e-06_r8, 3.4643309208538189e-06_r8, & + 3.553854160323568e-06_r8, 3.4864820576950105e-06_r8, & + 3.4733116823001144e-06_r8, 3.5472698621454072e-06_r8, & + 5.521418419891344e-06_r8, 1.4063141718234105e-05_r8, & + 2.7531813970162117e-05_r8, 3.7962778422927909e-05_r8, & + 4.6513006077423111e-05_r8, 5.4426494564945045e-05_r8, & + 7.6563235531374764e-05_r8, 0.00010678406623265433_r8, & + 0.00013749070790515243_r8, 0.00016432864223899264_r8, & + 0.00018652095433465671_r8, 0.00020565697635633218_r8, & + 0.00022129922512337255_r8, 0.00023547060192360183_r8, & + 0.00024690070201751951_r8, 0.00026758902772057474_r8, & + 0.0002784121487125906_r8, 0.0002868102906208776_r8, & + 0.00029299760503753025_r8, 0.00029984642486841409_r8, & + 0.0003076565280448372_r8, 0.00031185785354850322_r8, & + 0.00031441692739338635_r8, 0.00031415153926595988_r8, & + 0.0003124886526364814_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,65) / & + 5.5347573914228516e-06_r8, 4.7081661681656697e-06_r8, & + 4.5807151972300618e-06_r8, 6.4595165459386556e-06_r8, & + 5.6589650361256236e-06_r8, 5.7948512367100371e-06_r8, & + 5.7739242376530739e-06_r8, 5.005145086390943e-06_r8, & + 5.6136040390835537e-06_r8, 5.7959645479528455e-06_r8, & + 6.2137266178940744e-06_r8, 6.634616702585031e-06_r8, & + 1.0485424187264467e-05_r8, 2.5880196192782258e-05_r8, & + 4.2370832554282327e-05_r8, 5.4636648051347384e-05_r8, & + 6.7205548120670574e-05_r8, 8.5243568573584085e-05_r8, & + 0.00011180905065099493_r8, 0.00013973610923595438_r8, & + 0.00016660240001438768_r8, 0.000189546810635814_r8, & + 0.0002102505917605883_r8, 0.00022863662888136297_r8, & + 0.00024444668980985702_r8, 0.00025847289102075429_r8, & + 0.00027100406533887085_r8, 0.00029274391410723103_r8, & + 0.00030034700150208233_r8, 0.00030485374252607801_r8, & + 0.00031193290064489293_r8, 0.00032232276602694364_r8, & + 0.00033153685467176479_r8, 0.0003340126309174561_r8, & + 0.00033261431488288741_r8, 0.00033216042848210306_r8, & + 0.00033094443724234509_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,65) / & + 6.2961178321440948e-06_r8, 5.479613810901791e-06_r8, & + 5.3152708353285301e-06_r8, 6.9674180258673914e-06_r8, & + 6.3190022041080729e-06_r8, 6.6357800570317595e-06_r8, & + 6.127688336408257e-06_r8, 8.0342242917374754e-06_r8, & + 8.6793584434122039e-06_r8, 1.0486165810051754e-05_r8, & + 1.4102953175193796e-05_r8, 2.1272626243712959e-05_r8, & + 3.9642164980091509e-05_r8, 5.6533990313031479e-05_r8, & + 6.8562870172924221e-05_r8, 7.7326646234401073e-05_r8, & + 9.1269995117795088e-05_r8, 0.00010914868629916361_r8, & + 0.00013195846972565553_r8, 0.00015677448249899439_r8, & + 0.00018194363548418272_r8, 0.00020537937554877743_r8, & + 0.00022874014937148784_r8, 0.00024759656146370874_r8, & + 0.00026500344847673978_r8, 0.00028006777721467993_r8, & + 0.00029318000125436313_r8, 0.00031691716100941777_r8, & + 0.00033077547668802543_r8, 0.00033751936407141884_r8, & + 0.00034411119158134191_r8, 0.00035480921016580298_r8, & + 0.00036434884911059826_r8, 0.00037027319103893582_r8, & + 0.00036992501919157314_r8, 0.00037011065807593992_r8, & + 0.00037472901729336354_r8, 0.00037923979939584728_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,65) / & + 6.707306537087521e-06_r8, 6.5993626754111787e-06_r8, & + 6.6242501823284262e-06_r8, 7.1125930824599393e-06_r8, & + 7.0540934798085138e-06_r8, 7.9555775476253006e-06_r8, & + 7.2839162532602884e-06_r8, 1.1126711717629721e-05_r8, & + 1.609784213696652e-05_r8, 2.7162640932324377e-05_r8, & + 3.8359550037740415e-05_r8, 4.9820947935544575e-05_r8, & + 6.5882091040850562e-05_r8, 7.6671545382600055e-05_r8, & + 8.5325750031917759e-05_r8, 9.2949422547099802e-05_r8, & + 0.00010669864623033777_r8, 0.00012516925333480044_r8, & + 0.00014729391708570843_r8, 0.00017300088730873853_r8, & + 0.00019792852068034337_r8, 0.00022048536028571535_r8, & + 0.00024278135430088105_r8, 0.00026342946290903725_r8, & + 0.00028303384928927093_r8, 0.00030012488871538191_r8, & + 0.00031397912892529441_r8, 0.00034238460326168631_r8, & + 0.00036284695030018517_r8, 0.00037456360189168651_r8, & + 0.00038059038876902694_r8, 0.00038770808118744653_r8, & + 0.00039323787228780113_r8, 0.00039984682609002487_r8, & + 0.00040172836379500873_r8, 0.00040046461041073379_r8, & + 0.0003985533285751892_r8, 0.00039418076247746398_r8, & + 0.00039985314242066004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,65) / & + 8.4960623367689759e-06_r8, 9.2470032180617472e-06_r8, & + 1.0195134299144561e-05_r8, 1.0629464496921782e-05_r8, & + 1.1146982024504017e-05_r8, 1.28504323023038e-05_r8, & + 1.5372818436492604e-05_r8, 2.3070718279267961e-05_r8, & + 3.8044480377915869e-05_r8, 5.0682791803379191e-05_r8, & + 5.9089685144864884e-05_r8, 6.4724136988738535e-05_r8, & + 7.1827670671939143e-05_r8, 8.0178982036819313e-05_r8, & + 9.0165536000018866e-05_r8, 0.00010070547207988682_r8, & + 0.00011863793342946488_r8, 0.00014010889500519014_r8, & + 0.00016250527997854289_r8, 0.0001877806239898475_r8, & + 0.00021115069510104197_r8, 0.00023403613057324855_r8, & + 0.0002575600894145529_r8, 0.00028075799681644403_r8, & + 0.00030107749668335554_r8, 0.00031926211896455073_r8, & + 0.00033327294555142033_r8, 0.00036533991555394186_r8, & + 0.00038684409234993142_r8, 0.00039931220208146747_r8, & + 0.00040505818137788122_r8, 0.00041055305834758709_r8, & + 0.00041685817815509922_r8, 0.00042073826689884768_r8, & + 0.00041975433836152537_r8, 0.00041730509607973654_r8, & + 0.00041132756378260617_r8, 0.00041289581269005244_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,65) / & + 1.0696982959737656e-05_r8, 1.1783055361471811e-05_r8, & + 1.3479027790144707e-05_r8, 1.7783200543310811e-05_r8, & + 1.9794386775377836e-05_r8, 2.5042913561589928e-05_r8, & + 3.3772654177044987e-05_r8, 4.4346892287718097e-05_r8, & + 5.1960031885344819e-05_r8, 5.7544600924558395e-05_r8, & + 6.1976141010050659e-05_r8, 6.6887573587761474e-05_r8, & + 7.2816709784475554e-05_r8, 8.1867061513995565e-05_r8, & + 9.6100684298348771e-05_r8, 0.00011105642644565444_r8, & + 0.00013311678034573632_r8, 0.00015565010147870962_r8, & + 0.00017871917646217325_r8, 0.00020416634581723692_r8, & + 0.00022885489308142591_r8, 0.0002510239333219241_r8, & + 0.00028051850833064179_r8, 0.0003038553535231268_r8, & + 0.00032279389739297334_r8, 0.00034135552138473703_r8, & + 0.00035497467775306556_r8, 0.00039109118765175377_r8, & + 0.0004151411963150778_r8, 0.00043055550267949335_r8, & + 0.00043502315614190543_r8, 0.000437287089227687_r8, & + 0.00044277226684210302_r8, 0.00044387761290941118_r8, & + 0.00044516098195767869_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,65) / & + 1.0512574823784802e-05_r8, 1.1493312094764915e-05_r8, & + 1.2798661648804064e-05_r8, 1.6858113210762024e-05_r8, & + 1.969975285629227e-05_r8, 2.5420244961573518e-05_r8, & + 4.1470709943910966e-05_r8, 5.3422770803017874e-05_r8, & + 5.7841948319129479e-05_r8, 6.1713576384251034e-05_r8, & + 6.5234811935574932e-05_r8, 7.0316301231446995e-05_r8, & + 7.7689901010186404e-05_r8, 8.8339935063612649e-05_r8, & + 0.0001038162062919998_r8, 0.00011942013918958781_r8, & + 0.00014862407623186292_r8, 0.00017220586225199372_r8, & + 0.00019635354035936866_r8, 0.00022278814211163948_r8, & + 0.00024814635012615195_r8, 0.00027159194247466706_r8, & + 0.00030358386989388832_r8, 0.00032746839970920717_r8, & + 0.00034548128483176741_r8, 0.00036510417195561299_r8, & + 0.00037959912224584642_r8, 0.00041644857194385792_r8, & + 0.00044129046210741331_r8, 0.00045798560195833171_r8, & + 0.00046434243679519189_r8, 0.00046489260707033867_r8, & + 0.00046591668668634334_r8, 0.00046526683825926472_r8, & + 0.0004656087431604164_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,65) / & + 7.7614708988722273e-06_r8, 8.6815110247949938e-06_r8, & + 9.1761479000654196e-06_r8, 1.0119775256522194e-05_r8, & + 1.328895898584349e-05_r8, 2.1914014004387792e-05_r8, & + 4.2598114891673718e-05_r8, 6.2687868361536585e-05_r8, & + 6.7051649171200281e-05_r8, 7.3001442731068509e-05_r8, & + 7.7673804814215082e-05_r8, 8.3146368084074701e-05_r8, & + 9.0392255523520391e-05_r8, 9.9753966050105612e-05_r8, & + 0.00011248646981753228_r8, 0.00012781591874470424_r8, & + 0.00016416537657125568_r8, 0.000193505166097707_r8, & + 0.00021883007235860892_r8, 0.0002463888689117441_r8, & + 0.0002716153221509317_r8, 0.00029681992671460602_r8, & + 0.00032116034092756794_r8, 0.00034545487235335506_r8, & + 0.00036437128939054294_r8, 0.00038267012345164864_r8, & + 0.00039811049417117503_r8, 0.00043320034239671608_r8, & + 0.00046084144177864901_r8, 0.00048119405730493397_r8, & + 0.00049046261159613224_r8, 0.00049165361321245368_r8, & + 0.00049059517517984917_r8, 0.00048763788849572894_r8, & + 0.00048463483224842253_r8, 0.00048359269268807658_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,65) / & + 5.0494306188290659e-06_r8, 6.4559942380928689e-06_r8, & + 6.601547006313214e-06_r8, 8.7706836874745311e-06_r8, & + 1.2293783727252928e-05_r8, 2.4098263234376142e-05_r8, & + 5.0487951550093731e-05_r8, 7.1080723882567404e-05_r8, & + 7.7214536321278468e-05_r8, 8.4184909952217518e-05_r8, & + 8.7723590436372402e-05_r8, 9.2063262852628799e-05_r8, & + 9.6219346005520237e-05_r8, 0.00010602264944188034_r8, & + 0.0001185947951655948_r8, 0.00013482135779069109_r8, & + 0.00017466044389905885_r8, 0.00021013575133523941_r8, & + 0.00023872685717482938_r8, 0.00026610617057882911_r8, & + 0.0002908399211972896_r8, 0.00031526172844076946_r8, & + 0.00033533949280285742_r8, 0.00035924082587504921_r8, & + 0.00037902882249198316_r8, 0.00039662816287743268_r8, & + 0.00041252152328609632_r8, 0.00044614258115359715_r8, & + 0.00047735477280686856_r8, 0.00049910401579449418_r8, & + 0.00050932848851539868_r8, 0.0005111929249116651_r8, & + 0.00051113237271064975_r8, 0.00050942993219213592_r8, & + 0.00050272080141461112_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,65) / & + 4.1610749521884933e-06_r8, 5.9957624971297105e-06_r8, & + 6.0523088908749235e-06_r8, 9.4031687368384848e-06_r8, & + 9.9723649095296938e-06_r8, 1.6595094726744823e-05_r8, & + 4.2704308152361372e-05_r8, 6.9169266222625042e-05_r8, & + 8.1597124404820428e-05_r8, 8.9562559373133514e-05_r8, & + 9.4135252144094699e-05_r8, 9.7955589745561854e-05_r8, & + 0.00010269373665685447_r8, 0.00011274387656773741_r8, & + 0.00012876338141085104_r8, 0.00014592924895081731_r8, & + 0.00019092048128410908_r8, 0.00022903758754047018_r8, & + 0.00025985934346804191_r8, 0.00028747096646637905_r8, & + 0.00031305769517382139_r8, 0.0003374396423307392_r8, & + 0.00035709083486981121_r8, 0.00038218462322928891_r8, & + 0.0004028709266377908_r8, 0.00042165749194833778_r8, & + 0.00043713730940664558_r8, 0.00046843699169266296_r8, & + 0.00049806587709246377_r8, 0.00051687680607824266_r8, & + 0.00052660895290199768_r8, 0.00052893894261678179_r8, & + 0.00053043273637356364_r8, 0.00052934998849397843_r8, & + 0.00052798416905849399_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,65) / & + 4.8292267480822769e-06_r8, 6.1636953009279554e-06_r8, & + 6.4422032454285137e-06_r8, 1.0736041745292139e-05_r8, & + 1.3680826484408302e-05_r8, 2.1668094665777323e-05_r8, & + 4.334496775426746e-05_r8, 7.1601681836604871e-05_r8, & + 8.7559763080796908e-05_r8, 9.6441506680219096e-05_r8, & + 0.00010117968600566075_r8, 0.00010566647910327153_r8, & + 0.00011234695142902198_r8, 0.00012357272033630435_r8, & + 0.00014330388261228448_r8, 0.00016163702999883963_r8, & + 0.00020847306131732717_r8, 0.00024689509217227119_r8, & + 0.00027820363617326639_r8, 0.00030739527897274326_r8, & + 0.00033311150035394331_r8, 0.00035691856562372073_r8, & + 0.0003789899281952844_r8, 0.00040419870949711788_r8, & + 0.00042499994969149397_r8, 0.0004443850843109663_r8, & + 0.00045970792573213511_r8, 0.00049087878451963365_r8, & + 0.00051897523924566524_r8, 0.00053600673266763382_r8, & + 0.00054469274122344237_r8, 0.00054732662549067455_r8, & + 0.00054966047713992554_r8, 0.00054662442825658233_r8, & + 0.00054487699965047049_r8, 0.00053607801718203048_r8, & + 0.00053563719856982849_r8, 0.00053691532528808348_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,65) / & + 5.6075412838533535e-06_r8, 5.8471507447659606e-06_r8, & + 6.2357417427474129e-06_r8, 1.6115959103692609e-05_r8, & + 1.8891242653314569e-05_r8, 2.367122828229471e-05_r8, & + 4.7073532089456651e-05_r8, 7.7717787397768259e-05_r8, & + 9.4321992131892138e-05_r8, 0.0001033724102423796_r8, & + 0.00010831661378245339_r8, 0.00011375532131804918_r8, & + 0.00012425327611612213_r8, 0.00013791793500026719_r8, & + 0.00015717985200071075_r8, 0.00017691840023573884_r8, & + 0.00022460320242432749_r8, 0.00026526841819936564_r8, & + 0.00029996854774441136_r8, 0.0003298735786113903_r8, & + 0.00035671383096402256_r8, 0.0003813589296030453_r8, & + 0.00040549067184026847_r8, 0.00042796734435452684_r8, & + 0.00044813704251661537_r8, 0.00046713649928832189_r8, & + 0.00048283443886464874_r8, 0.00051833382612460975_r8, & + 0.00054314381611410203_r8, 0.00055836316252408694_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,65) / & + 0.00010392815809394371_r8, 9.7837380701141596e-05_r8, & + 9.6414796640534873e-05_r8, 9.8220094430514086e-05_r8, & + 0.0001231883360710977_r8, 0.00010269872147934332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,65) / & + 0.00010209486106440709_r8, 9.5080107661926389e-05_r8, & + 9.7018406978921983e-05_r8, 0.00010683123212150494_r8, & + 0.00012335691470795313_r8, 0.00012599170800242171_r8, & + 0.00015163735726022429_r8, 0.00019228482120626502_r8, & + 0.00017062758711707123_r8, 0.0001458758375406785_r8, & + 0.00014612340849142125_r8, 0.00011883380231439868_r8, & + 9.9096800575795829e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,65) / & + 0.00010055341775778699_r8, 8.9640207222547609e-05_r8, & + 9.4622121624950376e-05_r8, 0.00013828761252859378_r8, & + 0.00015746221069423799_r8, 0.00018465554049341122_r8, & + 0.0002332536131836022_r8, 0.00025923126288389267_r8, & + 0.0002323982390574657_r8, 0.00018843846861249419_r8, & + 0.00017449489424853972_r8, 0.00012445764977565667_r8, & + 0.00010299496798166312_r8, 0.0001006830557001554_r8, & + 0.00010975371510109095_r8, 9.6827841797865246e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,65) / & + 9.04494438555299e-05_r8, 9.0360460096287792e-05_r8, & + 9.8712368471940757e-05_r8, 0.00013280886791767089_r8, & + 0.00014453576069307363_r8, 0.00016747266361448633_r8, & + 0.00020914953482064212_r8, 0.00021675063470881151_r8, & + 0.000199178632697166_r8, 0.00016239119010458044_r8, & + 0.00012935357678834852_r8, 0.00010255819484694078_r8, & + 8.5648992390749618e-05_r8, 8.9403899589803295e-05_r8, & + 9.1776662116919028e-05_r8, 8.6184738105389702e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,65) / & + 8.2565277359256445e-05_r8, 8.2529596902956582e-05_r8, & + 9.3902874527541106e-05_r8, 0.00010345388776638269_r8, & + 0.00010851141404864565_r8, 0.00011671736797923492_r8, & + 0.00016693970134697923_r8, 0.00017428077532121908_r8, & + 0.0001701677143549489_r8, 0.00013908392632961465_r8, & + 0.00011690423554266136_r8, 0.00010047926328560416_r8, & + 8.2585305951288782e-05_r8, 8.5987820582448225e-05_r8, & + 9.1663852806420418e-05_r8, 8.5565499179750078e-05_r8, & + 7.9338007801029969e-05_r8, 7.7509775504265981e-05_r8, & + 7.9295009773646579e-05_r8, 8.0538247731392156e-05_r8, & + 7.9714382395013931e-05_r8, 7.8885748809860663e-05_r8, & + 7.8498034262124719e-05_r8, 8.0741642668593491e-05_r8, & + 9.6545801383092486e-05_r8, 9.7535504080104108e-05_r8, & + 0.0001013181551106809_r8, 0.00010552284576613222_r8, & + 0.00011421507211001569_r8, 0.000114250891966829_r8, & + 0.00011412036902695713_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,44,65) / & + 8.8404144605988861e-05_r8, 9.4873909307323758e-05_r8, & + 9.4985762534466423e-05_r8, 0.00010825675668477372_r8, & + 0.00011840184937949443_r8, 9.8478943651874822e-05_r8, & + 0.00015321636862922243_r8, 0.00014763917736404408_r8, & + 0.00013515994229378468_r8, 0.00010897295056358713_r8, & + 9.9228881519970198e-05_r8, 9.1725899880298255e-05_r8, & + 7.9718609999354371e-05_r8, 8.2236617749281596e-05_r8, & + 8.6092082464244284e-05_r8, 8.2885517905017351e-05_r8, & + 7.7523336276568802e-05_r8, 7.6387600954446984e-05_r8, & + 7.8231320473770463e-05_r8, 8.0029228109406258e-05_r8, & + 8.0872787768073953e-05_r8, 8.1915508376820612e-05_r8, & + 8.3502077597937761e-05_r8, 8.5600208494186482e-05_r8, & + 9.8779441731703649e-05_r8, 0.00010033264783935401_r8, & + 0.0001050115053907685_r8, 0.00011557632231644338_r8, & + 0.00012053082633090503_r8, 0.00011960993462803547_r8, & + 0.00011605353230835418_r8, 0.00011681598775508313_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,65) / & + 8.6175116959541953e-05_r8, 0.00010676854678147305_r8, & + 0.00010375775423117348_r8, 0.00011327458329815206_r8, & + 0.00011366960204158256_r8, 0.00011576148170982607_r8, & + 0.00016004093208374498_r8, 0.00012286657144601107_r8, & + 0.00010525473739334032_r8, 8.4704675495685084e-05_r8, & + 7.8586961784812135e-05_r8, 7.4858740087039118e-05_r8, & + 7.0803596697900989e-05_r8, 7.2719134948472298e-05_r8, & + 7.3573325897534242e-05_r8, 7.4275782598450131e-05_r8, & + 7.3398253780753374e-05_r8, 7.3803460087603091e-05_r8, & + 7.5963670994671885e-05_r8, 7.905549141085814e-05_r8, & + 8.1992172736404292e-05_r8, 8.5293905039530269e-05_r8, & + 8.9119087827636736e-05_r8, 9.3104392210061773e-05_r8, & + 9.9568897777032911e-05_r8, 0.00010316095934156633_r8, & + 0.00010913384363474395_r8, 0.00012009081189197876_r8, & + 0.00012197031313759056_r8, 0.00012010406662625356_r8, & + 0.000119262805085846_r8, 0.00011975140624533578_r8, & + 0.00012042120754801174_r8, 0.00012026175237251121_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,66) / & + 7.8805983450755282e-05_r8, 6.7678558527877361e-05_r8, & + 7.5422658585260339e-05_r8, 8.7475362871066771e-05_r8, & + 8.41263296405369e-05_r8, 9.2255656061628272e-05_r8, & + 0.00011375633002114632_r8, 0.00013039375006266996_r8, & + 0.00014253076463490222_r8, 0.00015728720667763894_r8, & + 0.00016423615628606688_r8, 0.00017034616285159753_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,66) / & + 6.7547120882266594e-05_r8, 6.743491657966791e-05_r8, & + 6.5217722434117434e-05_r8, 7.4078569201569916e-05_r8, & + 7.4632943343201974e-05_r8, 8.5225501688126844e-05_r8, & + 0.00010349438252587635_r8, 0.00011711744033632939_r8, & + 0.00012937324064209187_r8, 0.0001424448196101166_r8, & + 0.00015115157803119474_r8, 0.00015818832114926663_r8, & + 0.00016785847548061823_r8, 0.00017589107145285469_r8, & + 0.00018016625260757721_r8, 0.00018316555904289848_r8, & + 0.0001879540715136567_r8, 0.00019351165272705001_r8, & + 0.00019729766773744846_r8, 0.00020081460868816124_r8, & + 0.00020521101958434842_r8, 0.00021035701511739824_r8, & + 0.00021576539605558262_r8, 0.00022135614710925772_r8, & + 0.00022700001335655562_r8, 0.00023278018055875214_r8, & + 0.00023795544459343914_r8, 0.0002499473171306035_r8, & + 0.00025974719399809429_r8, 0.00026872368209806478_r8, & + 0.00027502628236924934_r8, 0.00028077058644894389_r8, & + 0.00028523115447875655_r8, 0.00029010706786834154_r8, & + 0.00029391395079434617_r8, 0.00029647423929755418_r8, & + 0.00029851157896606991_r8, 0.00030141795250672253_r8, & + 0.00030686012421576772_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,66) / & + 3.534012745723873e-05_r8, 3.613440619196078e-05_r8, & + 3.5129796356589866e-05_r8, 3.7489065452386769e-05_r8, & + 4.1651242672319547e-05_r8, 4.9278276222828849e-05_r8, & + 6.04743102696539e-05_r8, 7.3627194180852582e-05_r8, & + 8.2829917883027996e-05_r8, 8.926477857598834e-05_r8, & + 9.8280621675864041e-05_r8, 0.00010434445389055148_r8, & + 0.00012040406186796763_r8, 0.00013512294517146502_r8, & + 0.00014381832136325644_r8, 0.00015174254329201873_r8, & + 0.00016385378550058715_r8, 0.000171908807586332_r8, & + 0.00017784631359289875_r8, 0.00018343161866797843_r8, & + 0.00018753163479495139_r8, 0.00019123712914810478_r8, & + 0.00019563165467258772_r8, 0.00020106517380704539_r8, & + 0.00020578564664688594_r8, 0.00021092768886076695_r8, & + 0.0002160072562425969_r8, 0.00022918803249187829_r8, & + 0.00023939939044244791_r8, 0.00024811284462438355_r8, & + 0.00025794066697990822_r8, 0.00026688014237150428_r8, & + 0.00027446797194875312_r8, 0.00028063752959453823_r8, & + 0.00028607330095751956_r8, 0.00029070960595406589_r8, & + 0.00029453307268770637_r8, 0.00029897558537176277_r8, & + 0.00030472354924193423_r8, 0.00030477477588270846_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,66) / & + 1.2896745931650464e-05_r8, 1.3324470618226503e-05_r8, & + 1.1496866578067566e-05_r8, 1.3187044956807297e-05_r8, & + 1.5555172177385867e-05_r8, 1.7643960460810707e-05_r8, & + 2.3656366528256773e-05_r8, 4.2338078544153041e-05_r8, & + 4.9778256094829144e-05_r8, 5.4386239672401043e-05_r8, & + 5.8743825805538511e-05_r8, 6.2714104928150583e-05_r8, & + 7.4882378215447478e-05_r8, 8.6171740148933406e-05_r8, & + 9.634396967914977e-05_r8, 0.00010626324333100905_r8, & + 0.00012233573978960959_r8, 0.00013659959002267183_r8, & + 0.00014780634901986471_r8, 0.00015870151079480239_r8, & + 0.00016675519182418296_r8, 0.00017337454724847414_r8, & + 0.00017840674160186129_r8, 0.00018366870839800028_r8, & + 0.00018815756354286786_r8, 0.0001928466534865662_r8, & + 0.00019727897367971157_r8, 0.00021037665292327498_r8, & + 0.00022198320392404646_r8, 0.00023257702982271491_r8, & + 0.00024230440942330495_r8, 0.0002513768198046972_r8, & + 0.00026102603388297995_r8, 0.00026958597087143113_r8, & + 0.00027708640222444235_r8, 0.00028352393918544072_r8, & + 0.00028946548565363084_r8, 0.00029456153957689693_r8, & + 0.00029827440991791679_r8, 0.00030029259567620516_r8, & + 0.00029948787042873644_r8, 0.00029840885412771447_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,66) / & + 8.1557329430277093e-06_r8, 8.0890291089033387e-06_r8, & + 7.1599423209971484e-06_r8, 7.5255437310683138e-06_r8, & + 8.1939066492692069e-06_r8, 8.6238994086239889e-06_r8, & + 1.1283659357633143e-05_r8, 1.8520522491383122e-05_r8, & + 2.4456769644567297e-05_r8, 2.9924919193607253e-05_r8, & + 3.2310233498317741e-05_r8, 3.4136014145034055e-05_r8, & + 3.8221197287264432e-05_r8, 4.2425269886806549e-05_r8, & + 4.7151932812985332e-05_r8, 5.3044283082948009e-05_r8, & + 6.5447951784454336e-05_r8, 8.2119966225926557e-05_r8, & + 9.6935221918683834e-05_r8, 0.00010978570487356309_r8, & + 0.00012404196669392426_r8, 0.0001377232937229946_r8, & + 0.00014735605503949403_r8, 0.00015673198047678617_r8, & + 0.00016527841087962832_r8, 0.00017451052771915696_r8, & + 0.00017966621348215463_r8, 0.00019195085940847673_r8, & + 0.00020434206244519243_r8, 0.00021717872299617505_r8, & + 0.00022978472417629363_r8, 0.00023777286260303696_r8, & + 0.00024568907493038389_r8, 0.00025552074256764704_r8, & + 0.00026682655953956411_r8, 0.00027795060604081872_r8, & + 0.00028647944998854623_r8, 0.00029151021440397068_r8, & + 0.00029478079822487484_r8, 0.00029779471718912828_r8, & + 0.00029921546571733891_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,66) / & + 6.9305539696118817e-06_r8, 6.8061510029201066e-06_r8, & + 6.4919673170040257e-06_r8, 6.5176449147241337e-06_r8, & + 6.5701730395759472e-06_r8, 6.6881747343090889e-06_r8, & + 7.6754627703401319e-06_r8, 9.6399161874484686e-06_r8, & + 1.310781044959626e-05_r8, 1.5549610595896743e-05_r8, & + 1.648836834232479e-05_r8, 1.7323105763971162e-05_r8, & + 1.8836166777857313e-05_r8, 2.03147887866317e-05_r8, & + 2.1944627802586029e-05_r8, 2.4158455884812605e-05_r8, & + 2.9510718490530967e-05_r8, 3.9769928942537142e-05_r8, & + 5.1712014383023407e-05_r8, 6.4930845233694684e-05_r8, & + 8.0489899605701572e-05_r8, 9.601572411314234e-05_r8, & + 0.00011081125023687078_r8, 0.00012491239128203501_r8, & + 0.00013849052185937845_r8, 0.00015135178299125474_r8, & + 0.00016062186225020446_r8, 0.00017965150653879728_r8, & + 0.00019363844887471308_r8, 0.0002070921412206983_r8, & + 0.00022358354719586204_r8, 0.00023448963464294849_r8, & + 0.00024018626856907926_r8, 0.0002478008035796824_r8, & + 0.00026015199781809884_r8, 0.00027520604138989944_r8, & + 0.00028585511812786102_r8, 0.0002914064895410896_r8, & + 0.00029292286644167122_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,66) / & + 4.9000697291095075e-06_r8, 4.9913237493597531e-06_r8, & + 5.4198207005701704e-06_r8, 6.5827906945363144e-06_r8, & + 6.578536800906439e-06_r8, 6.621001257418012e-06_r8, & + 6.1696834826533296e-06_r8, 7.0692164094194919e-06_r8, & + 8.9491761741011035e-06_r8, 1.0573871400166904e-05_r8, & + 1.1682195994791825e-05_r8, 1.2862179919604556e-05_r8, & + 1.4452492553531498e-05_r8, 1.5232683708187946e-05_r8, & + 1.6509356198494241e-05_r8, 1.7703495386560484e-05_r8, & + 2.0579051014927184e-05_r8, 2.6782427543545864e-05_r8, & + 3.6037528931306625e-05_r8, 4.9218879780558201e-05_r8, & + 6.465047848158206e-05_r8, 8.0854014033078758e-05_r8, & + 9.7657614639928191e-05_r8, 0.00011446406170710405_r8, & + 0.00013112915452496705_r8, 0.00014582112541091673_r8, & + 0.00015806166871267416_r8, 0.00018176474412822025_r8, & + 0.00019726525165915048_r8, 0.00021038420349699392_r8, & + 0.00022639952123817666_r8, 0.00023820909894163055_r8, & + 0.00024377130250928837_r8, 0.00024922664682830171_r8, & + 0.00026101218922026714_r8, 0.00027535004173699315_r8, & + 0.00028630517577673441_r8, 0.00029211440742832833_r8, & + 0.0002928229701575959_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,66) / & + 4.7288082599396813e-06_r8, 5.1833706408966517e-06_r8, & + 6.0603043710829348e-06_r8, 6.9024573516139832e-06_r8, & + 6.7777915581536617e-06_r8, 6.8348403174650768e-06_r8, & + 6.1277031190560175e-06_r8, 5.7707705354917613e-06_r8, & + 6.5101810029971249e-06_r8, 7.5118238819483681e-06_r8, & + 8.6789750747224812e-06_r8, 1.1047449726931479e-05_r8, & + 1.399647064831194e-05_r8, 1.5590027038433895e-05_r8, & + 1.6952104158872468e-05_r8, 1.8303249835849509e-05_r8, & + 2.0864555504880751e-05_r8, 2.5755652897814328e-05_r8, & + 3.3701678533676303e-05_r8, 4.5677737015951012e-05_r8, & + 6.1478719091564448e-05_r8, 7.8836760573837582e-05_r8, & + 9.7256095510419294e-05_r8, 0.0001163776361502532_r8, & + 0.00013564796627978947_r8, 0.00015248683635160968_r8, & + 0.00016519479466889589_r8, 0.00019071836897181627_r8, & + 0.00020653345391850438_r8, 0.00021978597335019605_r8, & + 0.00023424538145039477_r8, 0.00024361747003739896_r8, & + 0.00024817698201669145_r8, 0.00025278174284080335_r8, & + 0.00026422419768177299_r8, 0.00027472199547131504_r8, & + 0.00028345223994327045_r8, 0.00029156164367350607_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,66) / & + 5.2087406315265812e-06_r8, 5.6849896603820338e-06_r8, & + 5.4924820264683882e-06_r8, 5.5985357917633603e-06_r8, & + 5.5806736616145477e-06_r8, 6.1088857867094926e-06_r8, & + 7.0702503148726716e-06_r8, 5.1334539784736987e-06_r8, & + 5.2180783474133017e-06_r8, 5.8246466327833198e-06_r8, & + 6.7593652406412236e-06_r8, 9.4770211013259775e-06_r8, & + 1.2897765569861286e-05_r8, 1.486134938714821e-05_r8, & + 1.6522625214782092e-05_r8, 1.8206661336053643e-05_r8, & + 2.105705730255318e-05_r8, 2.5119669071852031e-05_r8, & + 3.2495843122515319e-05_r8, 4.4518305998972597e-05_r8, & + 6.0540045591796722e-05_r8, 7.9778985851924097e-05_r8, & + 0.00010120507832258402_r8, 0.00012302391024082861_r8, & + 0.00014455224622664513_r8, 0.00016284208680837734_r8, & + 0.00017545184300725466_r8, 0.00019998523115946642_r8, & + 0.00021495327076111003_r8, 0.00022786677632567531_r8, & + 0.0002410750941668463_r8, 0.00024875614766825408_r8, & + 0.00025243984389588685_r8, 0.00025636016329521629_r8, & + 0.0002667093506741507_r8, 0.00027368476379639473_r8, & + 0.00027668493705683249_r8, 0.00028665476846419837_r8, & + 0.0002949019128402329_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,66) / & + 4.7317691819633874e-06_r8, 4.9138164629721838e-06_r8, & + 3.8219472994221946e-06_r8, 3.4402810236501929e-06_r8, & + 3.5415289176062122e-06_r8, 3.8655378452103382e-06_r8, & + 4.853943605596489e-06_r8, 4.0646411163098206e-06_r8, & + 4.3384516938777634e-06_r8, 4.4740766294946637e-06_r8, & + 4.5095304650195983e-06_r8, 6.0305372926730205e-06_r8, & + 9.7718518673521984e-06_r8, 1.2603603793488516e-05_r8, & + 1.4966677479559115e-05_r8, 1.7131384711312895e-05_r8, & + 1.9990596006658601e-05_r8, 2.3468432491648319e-05_r8, & + 2.9807536743972918e-05_r8, 4.1342588074935663e-05_r8, & + 5.8417723587685009e-05_r8, 8.0592038594757331e-05_r8, & + 0.00010546813545869092_r8, 0.00013146995674639052_r8, & + 0.00015472919667658373_r8, 0.00017428438330719797_r8, & + 0.00018789938720647914_r8, 0.00021197438410902852_r8, & + 0.00022660389391622522_r8, 0.00023970640386640417_r8, & + 0.00025010985331213914_r8, 0.00025488500318005219_r8, & + 0.00025730238394048373_r8, 0.00025848631494334537_r8, & + 0.00026369618893141744_r8, 0.00027192986011541099_r8, & + 0.00027443342471295586_r8, 0.00028814170312394021_r8, & + 0.00029469750579896311_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,66) / & + 4.4736440225197136e-06_r8, 4.4676139566899986e-06_r8, & + 3.4194497852927828e-06_r8, 3.0071826581313657e-06_r8, & + 3.2848315354565516e-06_r8, 3.3353383443372947e-06_r8, & + 3.6399643029576328e-06_r8, 3.4355229850465362e-06_r8, & + 3.6559713573374397e-06_r8, 3.773632665112126e-06_r8, & + 3.7125284779568375e-06_r8, 4.1209880002070383e-06_r8, & + 5.7719992823476271e-06_r8, 8.8241124924666058e-06_r8, & + 1.2553784433316722e-05_r8, 1.5803175188366609e-05_r8, & + 1.9193997829014356e-05_r8, 2.2124154269575423e-05_r8, & + 2.7828463673765885e-05_r8, 3.9262624995594698e-05_r8, & + 5.7384298572203133e-05_r8, 8.2581991320109945e-05_r8, & + 0.0001102899972794288_r8, 0.00014043555211489773_r8, & + 0.00016529840376933316_r8, 0.00018384724921867226_r8, & + 0.00019706234516171989_r8, 0.00022068016443836774_r8, & + 0.00023595655326696585_r8, 0.00024855080636297763_r8, & + 0.00025660948698078066_r8, 0.00026053738603041009_r8, & + 0.00026243090525371554_r8, 0.00026243839691288644_r8, & + 0.00026263193178284125_r8, 0.00026105339011675506_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,66) / & + 4.5962857960556247e-06_r8, 4.5874087544313885e-06_r8, & + 3.8135312277171992e-06_r8, 2.6387553890642859e-06_r8, & + 2.7800502944547302e-06_r8, 3.0068122239034684e-06_r8, & + 3.5054930360088107e-06_r8, 4.0243955639618102e-06_r8, & + 3.8829405803461747e-06_r8, 3.8505103324182086e-06_r8, & + 3.7954241007220341e-06_r8, 3.6747247154289876e-06_r8, & + 4.9395617482430407e-06_r8, 7.3543093939976724e-06_r8, & + 1.2408993395688675e-05_r8, 1.7847828245864332e-05_r8, & + 2.3101778052425494e-05_r8, 2.6224905070862323e-05_r8, & + 3.3483082662485673e-05_r8, 4.8424571789970246e-05_r8, & + 7.0920639334431267e-05_r8, 9.9187007663489456e-05_r8, & + 0.00012780103914354597_r8, 0.00015562314817160972_r8, & + 0.00017629791796258009_r8, 0.0001912747220256191_r8, & + 0.00020313539494644725_r8, 0.00022668534417953542_r8, & + 0.00024451103184170065_r8, 0.00025686294383846741_r8, & + 0.00026186776596311189_r8, 0.00026398298620218324_r8, & + 0.00026597336947389698_r8, 0.0002672467779571211_r8, & + 0.00026635130235473149_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,66) / & + 4.3558387246889048e-06_r8, 4.327024374674599e-06_r8, & + 3.8329627405856017e-06_r8, 2.916041689440367e-06_r8, & + 3.0189454232669998e-06_r8, 3.2136093050915213e-06_r8, & + 3.1144793545061978e-06_r8, 3.7240179339588392e-06_r8, & + 3.6363949396544541e-06_r8, 3.5719162850250181e-06_r8, & + 3.5359814271910777e-06_r8, 3.567873141247841e-06_r8, & + 6.2165359138384447e-06_r8, 1.1025682181991911e-05_r8, & + 1.9229634388167288e-05_r8, 2.7502386579669879e-05_r8, & + 3.4725527980459012e-05_r8, 3.9303684622093561e-05_r8, & + 5.199459423278264e-05_r8, 7.4007042514171137e-05_r8, & + 0.00010254440870299369_r8, 0.00013243773799322356_r8, & + 0.00015899374939848531_r8, 0.0001809374144520908_r8, & + 0.00019780142377401067_r8, 0.00021170826119885531_r8, & + 0.00022373249195028054_r8, 0.00024657275408965343_r8, & + 0.00026351252175735068_r8, 0.00027398812353780777_r8, & + 0.00027900608664107164_r8, 0.00028257789922867243_r8, & + 0.00028636920767456263_r8, 0.00028972892820047807_r8, & + 0.00029280784118663116_r8, 0.00029527686604404911_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,66) / & + 4.5178022901517263e-06_r8, 4.2401116921211451e-06_r8, & + 4.2930691418395073e-06_r8, 4.1548576478083236e-06_r8, & + 4.1808071056488921e-06_r8, 4.6990278560188377e-06_r8, & + 3.648651898944845e-06_r8, 3.5534169204838164e-06_r8, & + 3.4112507425159507e-06_r8, 3.2642574955973944e-06_r8, & + 3.3714962168326436e-06_r8, 3.8759346968953724e-06_r8, & + 9.7890513234799074e-06_r8, 2.1518404470372491e-05_r8, & + 3.4110316492384482e-05_r8, 4.3152539188013556e-05_r8, & + 5.1420106988985284e-05_r8, 6.2054317184068357e-05_r8, & + 8.2915080376917431e-05_r8, 0.00011010581642843924_r8, & + 0.0001389121351404918_r8, 0.00016441945395752409_r8, & + 0.00018699234749272126_r8, 0.00020614741757647685_r8, & + 0.0002220000664341746_r8, 0.00023592432549496319_r8, & + 0.00024769111657204951_r8, 0.00026916722723970297_r8, & + 0.00028059581857518433_r8, 0.00028775180943945946_r8, & + 0.00029359109022607856_r8, 0.00030038546165087987_r8, & + 0.00030713796061640529_r8, 0.00031031196724169393_r8, & + 0.0003117092486457197_r8, 0.00031087304127438222_r8, & + 0.00031096981766059442_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,66) / & + 5.7818614526389e-06_r8, 4.8132978536897829e-06_r8, & + 4.5753655934747707e-06_r8, 5.9161484452783463e-06_r8, & + 5.3851970093757931e-06_r8, 6.2008593662212649e-06_r8, & + 4.905834032964183e-06_r8, 4.9808787577488211e-06_r8, & + 5.4016569189891753e-06_r8, 5.5610621742482173e-06_r8, & + 6.1594667196189026e-06_r8, 6.7806359156693668e-06_r8, & + 1.7622021036953397e-05_r8, 3.7776453402257747e-05_r8, & + 5.0493601302953649e-05_r8, 5.9981278577964652e-05_r8, & + 7.2201223238329564e-05_r8, 9.0217869318120168e-05_r8, & + 0.00011422865833289004_r8, 0.0001406257414140498_r8, & + 0.0001663013709483147_r8, 0.00018857245928048582_r8, & + 0.0002090046453956918_r8, 0.0002268511133763651_r8, & + 0.00024309832227898721_r8, 0.00025734651986753334_r8, & + 0.00027003287319354917_r8, 0.00029282504092662003_r8, & + 0.00030213525221511618_r8, 0.00030407688719632581_r8, & + 0.00031007653819065925_r8, 0.00031930519078457367_r8, & + 0.00032863544984496464_r8, 0.00033049079559527685_r8, & + 0.00032853450314645913_r8, 0.00032836446838797867_r8, & + 0.0003279253943964799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,66) / & + 7.0110980985463856e-06_r8, 5.930296486411475e-06_r8, & + 5.5578998645756683e-06_r8, 7.2185740603364255e-06_r8, & + 6.8741658071981679e-06_r8, 7.7283225545673262e-06_r8, & + 4.8243666910592012e-06_r8, 7.3074181184983319e-06_r8, & + 9.004828556658466e-06_r8, 1.2265645870651949e-05_r8, & + 1.6303754575049e-05_r8, 2.2826457964237514e-05_r8, & + 4.1526462849097653e-05_r8, 5.8736992559561513e-05_r8, & + 6.8933180625656426e-05_r8, 7.6939050678609451e-05_r8, & + 8.9798976793825156e-05_r8, 0.00010639198993954193_r8, & + 0.00012832768956255129_r8, 0.00015473944940756917_r8, & + 0.00018019696244118868_r8, 0.00020336172425139214_r8, & + 0.00022448921540502888_r8, 0.00024306701866650391_r8, & + 0.00026064939585325968_r8, 0.00027572340219757875_r8, & + 0.00028933506154964195_r8, 0.00031373079623059293_r8, & + 0.0003271120021605543_r8, 0.00033100756674769952_r8, & + 0.00033687656604831765_r8, 0.00034636267950408892_r8, & + 0.00035564591534684381_r8, 0.00035968252235491204_r8, & + 0.00035877718960669586_r8, 0.00035857672070118497_r8, & + 0.00035874430018217342_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,66) / & + 7.685973200189676e-06_r8, 7.4049387288151133e-06_r8, & + 7.5743263296010772e-06_r8, 8.2383210156099205e-06_r8, & + 9.1282514787726743e-06_r8, 1.0567505176439013e-05_r8, & + 6.2205486944701802e-06_r8, 1.1688424540260403e-05_r8, & + 2.4279648524829466e-05_r8, 3.5780397521675069e-05_r8, & + 4.5445071981258555e-05_r8, 5.3200018273219925e-05_r8, & + 6.4513037757669682e-05_r8, 7.3617384916191053e-05_r8, & + 8.1505906051195212e-05_r8, 8.9481165881701651e-05_r8, & + 0.00010244780886075026_r8, 0.00011832931819596457_r8, & + 0.00014094304823922184_r8, 0.00016817914870559736_r8, & + 0.00019375641231006348_r8, 0.00021564560093098462_r8, & + 0.00023739427460487008_r8, 0.00025792077358813894_r8, & + 0.00027658395838387162_r8, 0.00029227175908761393_r8, & + 0.00030618195719908712_r8, 0.00033396184788974428_r8, & + 0.00035224938368346522_r8, 0.00036109148549691206_r8, & + 0.0003666504086367838_r8, 0.00037389067881649578_r8, & + 0.00037983960805234245_r8, 0.0003842836290720113_r8, & + 0.00038610345550754488_r8, 0.000383285545465885_r8, & + 0.00037710320889520495_r8, 0.00038255539059093061_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,66) / & + 8.8909971856968578e-06_r8, 9.7090017766039339e-06_r8, & + 1.1233232702004351e-05_r8, 1.2114616246125168e-05_r8, & + 1.4422274379590829e-05_r8, 1.7137174712465455e-05_r8, & + 1.5759586288536135e-05_r8, 2.8202100284084685e-05_r8, & + 4.5858869131604543e-05_r8, 5.3814127133025343e-05_r8, & + 5.9970632671773739e-05_r8, 6.4407689356578651e-05_r8, & + 7.1015911504787241e-05_r8, 7.7899539374797573e-05_r8, & + 8.7501004654573942e-05_r8, 9.8186652072023044e-05_r8, & + 0.0001169871047150109_r8, 0.00013630711400869109_r8, & + 0.00015784001358937203_r8, 0.00018290044313829887_r8, & + 0.00020679478571981321_r8, 0.0002284487410786688_r8, & + 0.00025177009716869064_r8, 0.00027409688048206778_r8, & + 0.00029475696906021127_r8, 0.0003106712496892409_r8, & + 0.00032518562012007283_r8, 0.00035715025854858324_r8, & + 0.00037736910800923021_r8, 0.00038894147234885693_r8, & + 0.00039464636620351084_r8, 0.00040068745229965383_r8, & + 0.00040734811205748181_r8, 0.00041067680861472022_r8, & + 0.00041002302045666444_r8, 0.00040697507657218621_r8, & + 0.00039511855250618237_r8, 0.00040696136447292358_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,66) / & + 1.0562665195988845e-05_r8, 1.1937489877107454e-05_r8, & + 1.4559156773834848e-05_r8, 2.0744419956126291e-05_r8, & + 2.4872649866963755e-05_r8, 3.0161134097027144e-05_r8, & + 3.7738687504037861e-05_r8, 4.7888266909090613e-05_r8, & + 5.3830448748853728e-05_r8, 5.7654468521920182e-05_r8, & + 6.0790233282475632e-05_r8, 6.4488054389489952e-05_r8, & + 7.129663312772885e-05_r8, 8.0993302697628751e-05_r8, & + 9.5580898048245702e-05_r8, 0.00011058905198497134_r8, & + 0.0001337710632745726_r8, 0.00015842945621821045_r8, & + 0.00018215340310710176_r8, 0.00020725984110873673_r8, & + 0.00023013067012488055_r8, 0.00025330780366598568_r8, & + 0.00027722160408669909_r8, 0.00029999937932035812_r8, & + 0.00032144202889004077_r8, 0.00033769732448946549_r8, & + 0.00035234624055785902_r8, 0.00038743369649832046_r8, & + 0.00041126109845054346_r8, 0.0004274391325398999_r8, & + 0.00043257197235118609_r8, 0.00043264245718210582_r8, & + 0.00043730242296858386_r8, 0.00043915977550806044_r8, & + 0.00043538209667262021_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,66) / & + 1.0503585839915881e-05_r8, 1.2033482466358231e-05_r8, & + 1.4658283750241578e-05_r8, 1.8761108724210369e-05_r8, & + 2.2087799445193794e-05_r8, 2.8046958612221004e-05_r8, & + 4.4425703528128104e-05_r8, 5.625971553277648e-05_r8, & + 5.7490456931102384e-05_r8, 6.0189053903032139e-05_r8, & + 6.2636786768074885e-05_r8, 6.6220753673831351e-05_r8, & + 7.4649278887878404e-05_r8, 8.7019877210860769e-05_r8, & + 0.000104018410400296_r8, 0.00012124863301739328_r8, & + 0.00015449706484428621_r8, 0.00017853014561258415_r8, & + 0.00020397142055371637_r8, 0.0002298669742429169_r8, & + 0.00025232982198120953_r8, 0.00027820230675263861_r8, & + 0.00030944990760144772_r8, 0.00033248788659512215_r8, & + 0.00035378946723970621_r8, 0.00037131242852158128_r8, & + 0.00038472001345272468_r8, 0.00041914582222197226_r8, & + 0.0004437301873364887_r8, 0.00046174043211492271_r8, & + 0.00046815588342092766_r8, 0.00046580535716795365_r8, & + 0.00046627434833291658_r8, 0.00046687179005607232_r8, & + 0.00047069702536816168_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,66) / & + 8.0518136834153929e-06_r8, 9.9636618202347399e-06_r8, & + 1.1930460949758449e-05_r8, 1.3240175936128844e-05_r8, & + 1.9828361634013002e-05_r8, 2.7884545441094512e-05_r8, & + 4.7541756058204417e-05_r8, 6.4962440706170388e-05_r8, & + 6.503993450986409e-05_r8, 6.9518234222469742e-05_r8, & + 7.4387383841675978e-05_r8, 8.044279969303766e-05_r8, & + 8.9307727736592752e-05_r8, 9.9512097667148991e-05_r8, & + 0.00011325696708849231_r8, 0.00012912380692929162_r8, & + 0.00016702480105604891_r8, 0.00019679195776217318_r8, & + 0.00022361456081335999_r8, 0.00024964072976687825_r8, & + 0.00027399512785930807_r8, 0.00029936147197973443_r8, & + 0.00032920139805402181_r8, 0.00035245508044590704_r8, & + 0.0003724138014575384_r8, 0.00038997260352675801_r8, & + 0.00040472275494932245_r8, 0.00043838649944168541_r8, & + 0.00046431545271668432_r8, 0.0004833852974413732_r8, & + 0.00049065188959745716_r8, 0.00049238839137646657_r8, & + 0.00049213850909740641_r8, 0.00049206294247164145_r8, & + 0.00049078225301050701_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,66) / & + 5.2145282985667097e-06_r8, 7.786827003514384e-06_r8, & + 9.066108478044055e-06_r8, 1.2487538524532641e-05_r8, & + 2.116824971085404e-05_r8, 3.222823455725497e-05_r8, & + 5.6772907699852827e-05_r8, 7.2301709732863569e-05_r8, & + 7.5871262766954116e-05_r8, 8.1951467076635183e-05_r8, & + 8.5556647333876544e-05_r8, 8.928750603737673e-05_r8, & + 9.4369790709313432e-05_r8, 0.00010580402626567172_r8, & + 0.00011925749493886234_r8, 0.00013538863030967941_r8, & + 0.00017667571639893328_r8, 0.00021031690900832618_r8, & + 0.00023830790081475782_r8, 0.00026584189577037639_r8, & + 0.00029137579773731644_r8, 0.00031675068121913603_r8, & + 0.0003421632846480717_r8, 0.00036667015052623914_r8, & + 0.0003864650867402587_r8, 0.00040433368979678923_r8, & + 0.0004200949734034654_r8, 0.00045340657669242022_r8, & + 0.00048103746061639135_r8, 0.00049990021530896993_r8, & + 0.00050729400280629603_r8, 0.00050945299114930659_r8, & + 0.00051003234608970897_r8, 0.00051056595185995776_r8, & + 0.00050937568094263036_r8, 0.00050354403038343186_r8, & + 0.00050336977112190682_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,66) / & + 4.3275509566138052e-06_r8, 7.3918595926865662e-06_r8, & + 8.4114439011747458e-06_r8, 1.1248758956030434e-05_r8, & + 1.7154124369022234e-05_r8, 2.5427343915907301e-05_r8, & + 5.1045352708791735e-05_r8, 7.5444557461435836e-05_r8, & + 8.2561105213104394e-05_r8, 8.8226773250583347e-05_r8, & + 9.1375350763914413e-05_r8, 9.3688946766769192e-05_r8, & + 9.8047247254363148e-05_r8, 0.00010881299681905227_r8, & + 0.00012520217515504112_r8, 0.00014326444591001626_r8, & + 0.00018853792015022616_r8, 0.00022255461595625169_r8, & + 0.00025118522230162932_r8, 0.00028100155857456162_r8, & + 0.00030802847978480641_r8, 0.00033482074185193123_r8, & + 0.0003590278066393117_r8, 0.00038415708884248772_r8, & + 0.00040436251187190545_r8, 0.00042273618738860843_r8, & + 0.00043841771454436907_r8, 0.00047035543705572526_r8, & + 0.00049815291953257852_r8, 0.00051732753916206367_r8, & + 0.00052573005220677685_r8, 0.00052761205646802199_r8, & + 0.00052859058438414091_r8, 0.00052838772412686032_r8, & + 0.00052688315623446646_r8, 0.00052455804221071577_r8, & + 0.00052675514217449652_r8, 0.00052609339903672743_r8, & + 0.00051932870913545814_r8, 0.00052475492838677002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,66) / & + 4.5813541580481037e-06_r8, 7.6226648179467385e-06_r8, & + 9.1259026230806164e-06_r8, 1.4332765483468248e-05_r8, & + 2.1503881590612629e-05_r8, 2.9571089687364098e-05_r8, & + 5.2125134660827411e-05_r8, 7.7478420978745427e-05_r8, & + 8.6336381156275075e-05_r8, 9.2042923055889059e-05_r8, & + 9.5564792856270758e-05_r8, 9.8251206624384179e-05_r8, & + 0.00010330628514396884_r8, 0.00011457252921993704_r8, & + 0.0001324386292145094_r8, 0.00015127267527174665_r8, & + 0.00019858669028838011_r8, 0.00023320375484387729_r8, & + 0.0002626206959940027_r8, 0.00029440626977389846_r8, & + 0.00032228400267757197_r8, 0.00034908589668480888_r8, & + 0.00037348573197115974_r8, 0.00039951456175757737_r8, & + 0.00042043166638138836_r8, 0.00043949142528493501_r8, & + 0.00045522423918873631_r8, 0.00048665608284725669_r8, & + 0.00051504120840375328_r8, 0.00053439079341192062_r8, & + 0.00054331354452472882_r8, 0.00054514187714944777_r8, & + 0.00054669652846375534_r8, 0.000546158889456877_r8, & + 0.0005442257058845643_r8, 0.00054191787050808071_r8, & + 0.00054409095705081122_r8, 0.00054294369626499514_r8, & + 0.00053528495575718533_r8, 0.00054135359489369567_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,66) / & + 5.0566303238377003e-06_r8, 5.2896234458185273e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,66) / & + 5.7989629015098129e-06_r8, 7.7815447424757596e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,66) / & + 0.0001053207433858817_r8, 9.699283903073433e-05_r8, & + 9.4408974648154239e-05_r8, 9.9208949540148701e-05_r8, & + 0.00012236442652215044_r8, 0.00010269490082298312_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,66) / & + 0.00010117892597538376_r8, 9.6134385709852049e-05_r8, & + 9.6310949563808366e-05_r8, 0.00010271329218993086_r8, & + 0.00012184060539471793_r8, 0.00012892771238001544_r8, & + 0.00015178751184661803_r8, 0.00017602732430760875_r8, & + 0.00015105449446132889_r8, 0.00014289698019976979_r8, & + 0.00012749628514563622_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,66) / & + 9.6109884441002814e-05_r8, 9.0316134971690475e-05_r8, & + 9.3004758291216134e-05_r8, 0.0001337303718345625_r8, & + 0.00015158096582609326_r8, 0.00015943369998555168_r8, & + 0.00020452407702345864_r8, 0.00021103941480622002_r8, & + 0.00018639532037590856_r8, 0.000164153961734339_r8, & + 0.00016227012128596673_r8, 0.00012413904047050051_r8, & + 0.00010351773215316111_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,66) / & + 8.8867821977257758e-05_r8, 8.8958810512609147e-05_r8, & + 9.8613762318244079e-05_r8, 0.00013022080064525507_r8, & + 0.00013795203442276059_r8, 0.00016072115214348472_r8, & + 0.00017457059501246254_r8, 0.00017726881503748513_r8, & + 0.00016943457050529401_r8, 0.00014361740662393371_r8, & + 0.00011987998526555891_r8, 9.913067845984925e-05_r8, & + 8.6094323767122276e-05_r8, 8.868010855180807e-05_r8, & + 9.0636484583669474e-05_r8, 8.5756158632542415e-05_r8, & + 7.6447860847470451e-05_r8, 7.596135776995613e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,66) / & + 8.2001066661197737e-05_r8, 8.3879495014904231e-05_r8, & + 9.5415759672929292e-05_r8, 0.00010611806865768215_r8, & + 0.00011051891022003689_r8, 0.00012201659774805535_r8, & + 0.00015391725845873916_r8, 0.0001593295533686262_r8, & + 0.00015514487521498812_r8, 0.00013058505203870406_r8, & + 0.00011371992391640714_r8, 9.9907718065228823e-05_r8, & + 8.2985538780947597e-05_r8, 8.6076284774615924e-05_r8, & + 9.07182961985012e-05_r8, 8.4358389703250811e-05_r8, & + 7.8971452290108076e-05_r8, 7.7404150362471463e-05_r8, & + 7.9539804242944795e-05_r8, 8.048945521437548e-05_r8, & + 7.9611095243843595e-05_r8, 7.9192964754485281e-05_r8, & + 7.8511688825383771e-05_r8, 8.0981806010197878e-05_r8, & + 9.7711994321673338e-05_r8, 9.829435565956181e-05_r8, & + 0.0001029393667911211_r8, 0.00010586624708793763_r8, & + 0.00011421118522597431_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,66) / & + 8.7489385649569328e-05_r8, 9.6234714536801838e-05_r8, & + 9.6870396929224514e-05_r8, 0.00010385945406105607_r8, & + 0.00011377609838297571_r8, 9.556245241210488e-05_r8, & + 0.00015043358227015389_r8, 0.00014342195698429419_r8, & + 0.00013187166624106922_r8, 0.00010917304691645048_r8, & + 0.00010010731541528908_r8, 9.1738681522128454e-05_r8, & + 8.0519378890597681e-05_r8, 8.2742545879295774e-05_r8, & + 8.5656639918701912e-05_r8, 8.2206784712701006e-05_r8, & + 7.7304143168519307e-05_r8, 7.6406123498689668e-05_r8, & + 7.8479808386884632e-05_r8, 8.0161236067928003e-05_r8, & + 8.0965281540206304e-05_r8, 8.215033657257785e-05_r8, & + 8.3552946240577459e-05_r8, 8.5978339086791952e-05_r8, & + 9.9256841269211045e-05_r8, 0.00010055744540261746_r8, & + 0.00010560837621014494_r8, 0.00011672195667359273_r8, & + 0.00011999182713180299_r8, 0.00011923238059786957_r8, & + 0.00011625603958102234_r8, 0.00011689654979122179_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,66) / & + 8.456803366405911e-05_r8, 0.00010800578682441784_r8, & + 0.00010520499579370396_r8, 0.00010874383081679986_r8, & + 0.00011191207565604383_r8, 0.00011391471406900203_r8, & + 0.00016089375451829342_r8, 0.00012255132829773376_r8, & + 0.00010509971800967163_r8, 8.498276022122677e-05_r8, & + 7.8569138986492453e-05_r8, 7.4797807864726933e-05_r8, & + 7.0948679545973256e-05_r8, 7.27613099286977e-05_r8, & + 7.3564285750335776e-05_r8, 7.4195847975478562e-05_r8, & + 7.3290712239176475e-05_r8, 7.3771366926241055e-05_r8, & + 7.5969838842462943e-05_r8, 7.9056750545471784e-05_r8, & + 8.2048887489771734e-05_r8, 8.5370608029467057e-05_r8, & + 8.9204660152987812e-05_r8, 9.3212314665554384e-05_r8, & + 9.9627609316596595e-05_r8, 0.00010312041478653573_r8, & + 0.00010913030003816828_r8, 0.00012005209913102993_r8, & + 0.0001216226882889279_r8, 0.00011997092192830488_r8, & + 0.00011932513617362534_r8, 0.00011977316549039975_r8, & + 0.00012044081214146212_r8, 0.00012026760910638616_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,67) / & + 7.9254236325903641e-05_r8, 7.7657822346787541e-05_r8, & + 7.5417815721917557e-05_r8, 8.8760492138513939e-05_r8, & + 8.4108612500408467e-05_r8, 9.0652782523659652e-05_r8, & + 0.00011087253997982347_r8, 0.0001283860084928242_r8, & + 0.0001390406660341213_r8, 0.00015286325589994936_r8, & + 0.00015935441213497698_r8, 0.00016634840543178352_r8, & + 0.00017514195624738983_r8, 0.00018208350504323991_r8, & + 0.00018618732522820308_r8, 0.00018888822555992841_r8, & + 0.00019445387252747071_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,67) / & + 6.791797887293828e-05_r8, 6.9001612594715771e-05_r8, & + 6.5619346649477782e-05_r8, 7.6655756367479462e-05_r8, & + 7.7090517679580093e-05_r8, 8.7469484689945256e-05_r8, & + 0.00010555253233972784_r8, 0.00011934213817218635_r8, & + 0.00012899011367761476_r8, 0.00014142391848768197_r8, & + 0.00014942945415494262_r8, 0.00015697324553396052_r8, & + 0.00016728352573180513_r8, 0.00017529289954784549_r8, & + 0.00017918929469293475_r8, 0.00018182381302807969_r8, & + 0.00018666319973632028_r8, 0.00019144759332301791_r8, & + 0.00019479615366995424_r8, 0.00019827130045035202_r8, & + 0.00020303788721063481_r8, 0.00020750919143347983_r8, & + 0.00021318608258278545_r8, 0.00021906379031434061_r8, & + 0.00022509977678995851_r8, 0.00023128569265054349_r8, & + 0.0002365168896089475_r8, 0.00024763556432764116_r8, & + 0.00025787945098914851_r8, 0.00026738110705719874_r8, & + 0.00027377806471135489_r8, 0.00028001283514951248_r8, & + 0.00028456044825587014_r8, 0.00028981693592455165_r8, & + 0.0002935858855842874_r8, 0.00029665599252721802_r8, & + 0.00029924461469725284_r8, 0.00030269616401959183_r8, & + 0.00030795225398823085_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,67) / & + 3.5589577897743108e-05_r8, 3.6618634591667132e-05_r8, & + 3.510506522086141e-05_r8, 3.9665801581990488e-05_r8, & + 4.4536605049694756e-05_r8, 5.257965365991876e-05_r8, & + 6.4501338227269432e-05_r8, 7.958293622633757e-05_r8, & + 8.6303232221061855e-05_r8, 9.1160351715945771e-05_r8, & + 9.9395983074758147e-05_r8, 0.00010577536390675318_r8, & + 0.00012121959742472396_r8, 0.00013610429194715578_r8, & + 0.00014362532713644912_r8, 0.00015089988698035038_r8, & + 0.00016389978090813024_r8, 0.0001712165243462624_r8, & + 0.00017671021265941585_r8, 0.00018210628315823435_r8, & + 0.00018621940239012862_r8, 0.00018946720611026765_r8, & + 0.00019388621861354279_r8, 0.00019960790534245248_r8, & + 0.0002046252397173368_r8, 0.00020998702132649577_r8, & + 0.0002153202978775644_r8, 0.00022834635926028253_r8, & + 0.00023832444699333754_r8, 0.00024658139869768549_r8, & + 0.00025649625219997953_r8, 0.00026633522661070826_r8, & + 0.00027441393885781207_r8, 0.00028074889489619202_r8, & + 0.00028632417722379143_r8, 0.00029134621030277048_r8, & + 0.00029579208641874528_r8, 0.00030061507211584304_r8, & + 0.00030561913183475939_r8, 0.00030341257998822951_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,67) / & + 1.1910475944611279e-05_r8, 1.219316743382396e-05_r8, & + 1.0071103457139147e-05_r8, 1.2590629246268613e-05_r8, & + 1.5423345564301493e-05_r8, 1.8623580560361258e-05_r8, & + 2.6417481815515411e-05_r8, 4.5228270521298228e-05_r8, & + 5.2476869768236536e-05_r8, 5.6044466470477744e-05_r8, & + 6.0575361296226052e-05_r8, 6.5284588980210828e-05_r8, & + 7.6476395542907582e-05_r8, 8.7691779729751643e-05_r8, & + 9.7525025425030502e-05_r8, 0.00010702727397346723_r8, & + 0.000124055393777339_r8, 0.00013847605286840291_r8, & + 0.0001492208713858131_r8, 0.00015991800443160146_r8, & + 0.00016782498690862292_r8, 0.0001742132731349538_r8, & + 0.00017884530631044059_r8, 0.00018404864434175549_r8, & + 0.00018869658640509866_r8, 0.00019328661330540392_r8, & + 0.00019797208737590657_r8, 0.00021115274724651847_r8, & + 0.00022278842300390238_r8, 0.00023265364906048018_r8, & + 0.00024192522670168562_r8, 0.00025148319811199501_r8, & + 0.00026155782810499581_r8, 0.00027036317684366783_r8, & + 0.00027789225089818451_r8, 0.0002843984245870561_r8, & + 0.00029084402573611675_r8, 0.00029585431280004592_r8, & + 0.00029956734329233091_r8, 0.00030108746335518854_r8, & + 0.00030024357264299417_r8, 0.0002991964892878714_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,67) / & + 7.0530958404759618e-06_r8, 6.9364690368155397e-06_r8, & + 6.4404180574377051e-06_r8, 7.0883969536944984e-06_r8, & + 7.9711953425586083e-06_r8, 8.6983337437033587e-06_r8, & + 1.1984728416704693e-05_r8, 2.0665845710825836e-05_r8, & + 2.6757157941910589e-05_r8, 3.0934578034638891e-05_r8, & + 3.3441603624025073e-05_r8, 3.5703022100730527e-05_r8, & + 3.9607090806856597e-05_r8, 4.3469287147865192e-05_r8, & + 4.8040133208522914e-05_r8, 5.3812973900708687e-05_r8, & + 6.6315762622905125e-05_r8, 8.2131912241484694e-05_r8, & + 9.5512523074821348e-05_r8, 0.00010841061204824873_r8, & + 0.00012215614425004911_r8, 0.00013566653869879564_r8, & + 0.00014578196729692918_r8, 0.00015526988356174355_r8, & + 0.00016419758062564721_r8, 0.00017288334368372387_r8, & + 0.00017858918761301122_r8, 0.00019163301366736615_r8, & + 0.00020436373715797235_r8, 0.00021774071187325559_r8, & + 0.00023028434494584089_r8, 0.00023856214933882768_r8, & + 0.00024617481410927781_r8, 0.00025514102807889334_r8, & + 0.0002659160926627401_r8, 0.00027658692802717675_r8, & + 0.00028600449524608104_r8, 0.00029163246680840882_r8, & + 0.00029509954737963636_r8, 0.00029733981726584856_r8, & + 0.00029715749765006286_r8, 0.00029715514237570997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,67) / & + 6.3054229593019712e-06_r8, 6.1842775405387135e-06_r8, & + 6.0080981101097046e-06_r8, 6.3529839281346868e-06_r8, & + 6.4290605135690852e-06_r8, 6.6127041198869287e-06_r8, & + 8.1121829118948992e-06_r8, 1.1418480093551505e-05_r8, & + 1.3756280767568457e-05_r8, 1.5424502904557685e-05_r8, & + 1.6306512014264326e-05_r8, 1.7260923818242842e-05_r8, & + 1.8687887279530592e-05_r8, 2.0183447564553154e-05_r8, & + 2.1802121199965288e-05_r8, 2.3918646726869422e-05_r8, & + 2.9354809423925326e-05_r8, 3.9390467445436316e-05_r8, & + 5.0274423059379202e-05_r8, 6.3019798775209443e-05_r8, & + 7.8399603515597475e-05_r8, 9.372988209200733e-05_r8, & + 0.00010862515179031061_r8, 0.00012297087804738572_r8, & + 0.00013682992798806959_r8, 0.00014954031988257912_r8, & + 0.00015962798801272632_r8, 0.00017914878318313367_r8, & + 0.00019319060980813157_r8, 0.0002069178712906414_r8, & + 0.00022368183605724298_r8, 0.00023414058657503613_r8, & + 0.00023998541451543469_r8, 0.00024699563689601983_r8, & + 0.00025795579121385217_r8, 0.00027181800566518789_r8, & + 0.00028354143901887816_r8, 0.00029085696683521175_r8, & + 0.00029307113032324975_r8, 0.00029440603709109581_r8, & + 0.0002961980175965141_r8, 0.00029714588771658678_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,67) / & + 5.243795951312229e-06_r8, 5.1749730899582667e-06_r8, & + 5.3562328899633211e-06_r8, 6.3071466241781334e-06_r8, & + 6.3197585131891863e-06_r8, 6.4130240987376533e-06_r8, & + 6.5675172227518267e-06_r8, 7.7933420062700262e-06_r8, & + 8.8077949851995412e-06_r8, 1.0169728132498549e-05_r8, & + 1.1541593081776248e-05_r8, 1.3601832344193647e-05_r8, & + 1.577621515213072e-05_r8, 1.6851715375833649e-05_r8, & + 1.8106619725743825e-05_r8, 1.936850880161224e-05_r8, & + 2.2198675975616502e-05_r8, 2.8958759822711988e-05_r8, & + 3.9256825983393178e-05_r8, 5.2702508868120748e-05_r8, & + 6.9199433911536136e-05_r8, 8.5319499709303465e-05_r8, & + 0.00010194644604152024_r8, 0.00011870678891480071_r8, & + 0.00013586165154825817_r8, 0.00015015155039253968_r8, & + 0.00016289482719018125_r8, 0.00018599919771951221_r8, & + 0.00020186563615398969_r8, 0.00021396678644871266_r8, & + 0.00022849681267395229_r8, 0.00023916587735726855_r8, & + 0.00024393042395247797_r8, 0.00024858273060286647_r8, & + 0.00025899363135256637_r8, 0.00027180814543940402_r8, & + 0.00028320089370254865_r8, 0.00029185778506817531_r8, & + 0.00029396406572695927_r8, 0.00029537993874595902_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,67) / & + 5.6267192323507573e-06_r8, 5.7040466670776618e-06_r8, & + 6.09566720842706e-06_r8, 6.5436735901216702e-06_r8, & + 6.4322052390243319e-06_r8, 6.4819415988437728e-06_r8, & + 5.7315799436671419e-06_r8, 5.8706945564496056e-06_r8, & + 6.4524465664619396e-06_r8, 7.230801539061138e-06_r8, & + 8.5714902150631969e-06_r8, 1.1691960210238724e-05_r8, & + 1.5302963239623426e-05_r8, 1.6805324556581947e-05_r8, & + 1.8285874021869591e-05_r8, 1.9861069003334291e-05_r8, & + 2.250340633953611e-05_r8, 2.8285559720473493e-05_r8, & + 3.7980599616504505e-05_r8, 5.1561957771126213e-05_r8, & + 6.8502545157698988e-05_r8, 8.6238381394975087e-05_r8, & + 0.00010556352351860228_r8, 0.00012500084723080426_r8, & + 0.00014431890833630371_r8, 0.00016027691618434274_r8, & + 0.00017346047126052622_r8, 0.00019833035884424743_r8, & + 0.00021442056788508596_r8, 0.00022611278314096326_r8, & + 0.00023771128908685714_r8, 0.00024625474648238329_r8, & + 0.00024929281599096861_r8, 0.00025207820345841752_r8, & + 0.00026205246056627628_r8, 0.00027292951799534555_r8, & + 0.0002814514011372862_r8, 0.00029072729144502318_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,67) / & + 5.9353474966506459e-06_r8, 6.0027573657819298e-06_r8, & + 5.7109542924136119e-06_r8, 6.0698328285998729e-06_r8, & + 6.0152280074837397e-06_r8, 6.8128838527926e-06_r8, & + 6.5654827342351045e-06_r8, 4.5399756548135698e-06_r8, & + 4.719669751901387e-06_r8, 5.2513048133996831e-06_r8, & + 6.1812861087058381e-06_r8, 9.9486331000574696e-06_r8, & + 1.4504418596768641e-05_r8, 1.6315529442527165e-05_r8, & + 1.7885098005228942e-05_r8, 1.9678644356320776e-05_r8, & + 2.2872788579537713e-05_r8, 2.7673908728030573e-05_r8, & + 3.6289879448790401e-05_r8, 5.0265921997899815e-05_r8, & + 6.7844869301868712e-05_r8, 8.8174272186993416e-05_r8, & + 0.00011075236122347458_r8, 0.00013320196169030565_r8, & + 0.00015404712041182744_r8, 0.00017056431444068904_r8, & + 0.00018355975766131083_r8, 0.00020827904458333408_r8, & + 0.00022329792807728385_r8, 0.00023532379221062193_r8, & + 0.00024589512737167374_r8, 0.00025249729766059763_r8, & + 0.00025456309602057243_r8, 0.0002552058560156003_r8, & + 0.00026217500939969984_r8, 0.00027202451223557535_r8, & + 0.00027948593712490881_r8, 0.00028841800970449321_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,67) / & + 4.9076419681105412e-06_r8, 4.9446613909628064e-06_r8, & + 4.134809947313594e-06_r8, 3.110866126647798e-06_r8, & + 3.3031743417303088e-06_r8, 4.0431058981286866e-06_r8, & + 5.0146844449419306e-06_r8, 3.8719775702290395e-06_r8, & + 3.889233829069658e-06_r8, 3.8197577961401137e-06_r8, & + 3.7159647964906407e-06_r8, 5.7592674414816602e-06_r8, & + 1.082124209588238e-05_r8, 1.4239500009705857e-05_r8, & + 1.6646788845866659e-05_r8, 1.8635050879807329e-05_r8, & + 2.1232558923938425e-05_r8, 2.5022387764674837e-05_r8, & + 3.2419308328947554e-05_r8, 4.5890352375511463e-05_r8, & + 6.5147097187223592e-05_r8, 8.9045872064931754e-05_r8, & + 0.00011507638200082695_r8, 0.00014136744689766478_r8, & + 0.00016342672631185407_r8, 0.00018068399239021306_r8, & + 0.00019419700441940379_r8, 0.00021836835601958304_r8, & + 0.00023344901799549208_r8, 0.0002458062378723093_r8, & + 0.00025461209953339209_r8, 0.00025887394252105964_r8, & + 0.00026037072646316946_r8, 0.0002595185368754835_r8, & + 0.0002606421375257795_r8, 0.00027058200896141256_r8, & + 0.00027632458512782054_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,67) / & + 4.3768077707848194e-06_r8, 4.4307061947407252e-06_r8, & + 3.5466232556935339e-06_r8, 1.9354965052674298e-06_r8, & + 2.5063587864839519e-06_r8, 3.1488363589517688e-06_r8, & + 4.6021843249719162e-06_r8, 3.6476454128998899e-06_r8, & + 3.7611957185209774e-06_r8, 3.6930626053843061e-06_r8, & + 3.3786341711861132e-06_r8, 3.9044889416296615e-06_r8, & + 5.6875356700644196e-06_r8, 9.4267753250767465e-06_r8, & + 1.3811485830130566e-05_r8, 1.6884129020571641e-05_r8, & + 1.9435315838388781e-05_r8, 2.2690868032546081e-05_r8, & + 2.8904969691616625e-05_r8, 4.1628581820469646e-05_r8, & + 6.2118521541629156e-05_r8, 8.8145239184723653e-05_r8, & + 0.00011713810677072131_r8, 0.00014739969731278826_r8, & + 0.00017047328436740306_r8, 0.00018745233306960771_r8, & + 0.00020057276959074404_r8, 0.00022399227665914693_r8, & + 0.00023921510780313453_r8, 0.00025139026175632787_r8, & + 0.00025859985842470256_r8, 0.00026188721108311592_r8, & + 0.00026364172877454462_r8, 0.00026439461908850517_r8, & + 0.00026438318519148772_r8, 0.00026563000563648438_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,67) / & + 4.8607954591360757e-06_r8, 4.9012423959988428e-06_r8, & + 4.3256887721374466e-06_r8, 2.1032832990021671e-06_r8, & + 2.2604803740059372e-06_r8, 2.7738048315620609e-06_r8, & + 5.1229023817118996e-06_r8, 4.5930437547788002e-06_r8, & + 4.4337580140144692e-06_r8, 4.2789227027346175e-06_r8, & + 4.0385815180419966e-06_r8, 3.9616874362575966e-06_r8, & + 6.1285722534684119e-06_r8, 9.9667324504283382e-06_r8, & + 1.6180378276799263e-05_r8, 2.1402557600708861e-05_r8, & + 2.507634535197549e-05_r8, 2.8602713441903169e-05_r8, & + 3.6778568257328182e-05_r8, 5.2793368620803614e-05_r8, & + 7.6764942359433379e-05_r8, 0.00010390633548288822_r8, & + 0.00013117593568030361_r8, 0.00015818064886374841_r8, & + 0.0001781287965112047_r8, 0.0001931321498022066_r8, & + 0.00020590816366047263_r8, 0.00022895895061773896_r8, & + 0.00024502346443132145_r8, 0.00025596669932147149_r8, & + 0.00026142009921809251_r8, 0.00026410645726501915_r8, & + 0.00026624817090133883_r8, 0.00026770070565875918_r8, & + 0.00026809545640673271_r8, 0.00026625028166004603_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,67) / & + 4.9334355102789478e-06_r8, 4.9362813392444307e-06_r8, & + 4.6820600379559853e-06_r8, 2.6649832164303004e-06_r8, & + 2.7746572785729785e-06_r8, 2.9573877994218166e-06_r8, & + 4.2575391306751316e-06_r8, 4.5107647672847901e-06_r8, & + 4.3894490860997147e-06_r8, 4.0493753813261256e-06_r8, & + 3.8715106502015756e-06_r8, 4.4212666472379766e-06_r8, & + 1.0556773463627134e-05_r8, 1.8685367723423575e-05_r8, & + 2.7895479874516334e-05_r8, 3.5213071369790276e-05_r8, & + 4.1019941561118191e-05_r8, 4.7176260201948933e-05_r8, & + 6.0976694755475881e-05_r8, 8.2188900030756175e-05_r8, & + 0.00010934661796076716_r8, 0.00013713842618061285_r8, & + 0.00016138182205834969_r8, 0.00018335768223333042_r8, & + 0.00020022429177641362_r8, 0.00021389050968739873_r8, & + 0.0002265068467664401_r8, 0.00024948283654208407_r8, & + 0.00026461350842648632_r8, 0.0002734815230036726_r8, & + 0.00027861893703933746_r8, 0.00028255498060834411_r8, & + 0.00028606359933866727_r8, 0.00028806133245775316_r8, & + 0.0002891576529320723_r8, 0.00029200570857400364_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,67) / & + 5.3168777969636095e-06_r8, 5.1545578673965219e-06_r8, & + 5.1553617047277866e-06_r8, 4.0722772927996636e-06_r8, & + 4.1024336805531956e-06_r8, 4.5314911532538e-06_r8, 3.689561930387e-06_r8, & + 3.9574766568968121e-06_r8, 3.3621907254380891e-06_r8, & + 3.0724440359058346e-06_r8, 3.2116527433092571e-06_r8, & + 4.9915575257003029e-06_r8, 1.7429103741418754e-05_r8, & + 3.3288841892126248e-05_r8, 4.368774086658007e-05_r8, & + 5.0918069046858159e-05_r8, 5.9207000520111349e-05_r8, & + 7.1394962891906984e-05_r8, 9.1270674010049066e-05_r8, & + 0.00011496873020655461_r8, 0.00014047887075413522_r8, & + 0.00016455612567217343_r8, 0.00018755861419077633_r8, & + 0.00020718353778699056_r8, 0.00022323652741080554_r8, & + 0.00023689107384080986_r8, 0.00024922327169237576_r8, & + 0.00027260667226976888_r8, 0.00028558569025114903_r8, & + 0.00029138425092475678_r8, 0.00029651800368013937_r8, & + 0.00030249405046103422_r8, 0.00030808252612546589_r8, & + 0.00030981627852123589_r8, 0.00030995661968879243_r8, & + 0.00030944178800262559_r8, 0.00031001894884252366_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,67) / & + 6.5425849001744546e-06_r8, 5.612064525620571e-06_r8, & + 5.1337904496607317e-06_r8, 6.0964996041038554e-06_r8, & + 6.0146385973817469e-06_r8, 7.4644563404404375e-06_r8, & + 4.4477657055193629e-06_r8, 5.1378511407204496e-06_r8, & + 4.5449844743731145e-06_r8, 4.5573283480274205e-06_r8, & + 5.4106133286160661e-06_r8, 8.058933015945094e-06_r8, & + 3.0106695385491217e-05_r8, 5.0287284000303785e-05_r8, & + 5.8992696821826945e-05_r8, 6.6057635022931925e-05_r8, & + 7.7114572699770142e-05_r8, 9.3781864018465378e-05_r8, & + 0.00011685972290787885_r8, 0.00014171834448677351_r8, & + 0.00016511654305494279_r8, 0.00018658174259762828_r8, & + 0.00020785531659908235_r8, 0.00022572243117816279_r8, & + 0.00024213010875059191_r8, 0.00025648868925799657_r8, & + 0.00026905356556450864_r8, 0.00029454896034301599_r8, & + 0.00030778849296760551_r8, 0.00030960663165861108_r8, & + 0.00031306503466909167_r8, 0.00031939821028398514_r8, & + 0.00032664801575198394_r8, 0.00032811238892676604_r8, & + 0.00032669181209681926_r8, 0.00032616253511141922_r8, & + 0.0003253508284688105_r8, 0.00032167135232387292_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,67) / & + 8.3220487441287921e-06_r8, 7.1146187732071214e-06_r8, & + 6.4715993943225952e-06_r8, 9.1276501232264503e-06_r8, & + 9.4748464018611178e-06_r8, 1.114280932284279e-05_r8, & + 5.332395933109454e-06_r8, 8.1896188433050328e-06_r8, & + 1.0418607747775986e-05_r8, 1.5077840493255143e-05_r8, & + 2.0734977144993783e-05_r8, 2.8623876030538807e-05_r8, & + 5.0947394053574613e-05_r8, 6.5840414704350063e-05_r8, & + 7.3806417636926918e-05_r8, 8.0307103695883222e-05_r8, & + 8.9995562314158989e-05_r8, 0.00010527053819745115_r8, & + 0.00012844117460144897_r8, 0.00015608430595653695_r8, & + 0.00018107449631515188_r8, 0.00020314228007287766_r8, & + 0.00022390193415373983_r8, 0.00024296076121132731_r8, & + 0.00026059322237721543_r8, 0.00027616308021493274_r8, & + 0.0002898299167173448_r8, 0.0003148005781430347_r8, & + 0.00032930586454952079_r8, 0.00033236621088409101_r8, & + 0.00033624167707025179_r8, 0.00034233062703849053_r8, & + 0.00034813159858424305_r8, 0.00034962735653013656_r8, & + 0.00034668004924951607_r8, 0.00034457000804859168_r8, & + 0.00034309845427991627_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,67) / & + 9.5201885496429063e-06_r8, 8.8070913750950452e-06_r8, & + 8.9023519792198881e-06_r8, 1.1740041314038741e-05_r8, & + 1.3636424558886236e-05_r8, 1.5805021973883903e-05_r8, & + 7.9010462843781833e-06_r8, 2.0496797101479712e-05_r8, & + 3.5440097505587025e-05_r8, 4.6637635206530232e-05_r8, & + 5.442069664334802e-05_r8, 6.0714738880201484e-05_r8, & + 7.0505926151813149e-05_r8, 7.9160463391295409e-05_r8, & + 8.6274051204734566e-05_r8, 9.3530005671361324e-05_r8, & + 0.00010607102488346568_r8, 0.00011944636354992284_r8, & + 0.0001426810093844165_r8, 0.000171029224020157_r8, & + 0.0001952534460337752_r8, 0.00021715137329429511_r8, & + 0.00023952863824659005_r8, 0.00026080385397009032_r8, & + 0.00028028726889754745_r8, 0.00029636833284784128_r8, & + 0.00031118487813364218_r8, 0.00033766153427642649_r8, & + 0.00035428035191062413_r8, 0.00036137873869529578_r8, & + 0.0003661904579746214_r8, 0.00037144979875851179_r8, & + 0.00037555473654184732_r8, 0.0003757819394363275_r8, & + 0.00037345308547672459_r8, 0.00036743575706662721_r8, & + 0.00036355713024889221_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,67) / & + 1.1035548182723351e-05_r8, 1.1318653193760298e-05_r8, & + 1.3474072220791642e-05_r8, 1.4699013837350412e-05_r8, & + 1.9982374657887758e-05_r8, 2.4825247061783148e-05_r8, & + 2.5326806243500128e-05_r8, 4.3537317223175991e-05_r8, & + 5.4417857512021593e-05_r8, 6.0220328569574891e-05_r8, & + 6.5058946714016412e-05_r8, 6.87384978790205e-05_r8, & + 7.5038167932193198e-05_r8, 8.210791269296006e-05_r8, & + 9.1494487320429549e-05_r8, 0.00010231396472601338_r8, & + 0.00012347784029370426_r8, 0.00014321913849182663_r8, & + 0.00016567798765297382_r8, 0.00019001605039349707_r8, & + 0.00021267885837992649_r8, 0.00023237820029709731_r8, & + 0.00025716911310917054_r8, 0.00027939509035218937_r8, & + 0.00030114744819903299_r8, 0.00031661693054411657_r8, & + 0.00033327546498406228_r8, 0.00036583904082788721_r8, & + 0.00038587535808433241_r8, 0.00039691756892995696_r8, & + 0.00039979760224393736_r8, 0.00040297575700159777_r8, & + 0.00040627713674194706_r8, 0.00040531332134586715_r8, & + 0.00040402589535941516_r8, 0.00039656189402635563_r8, & + 0.00037852205226214779_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,67) / & + 1.2508559763757146e-05_r8, 1.3303519631583875e-05_r8, & + 1.7699141649063306e-05_r8, 2.6179716214917859e-05_r8, & + 3.2726525437680783e-05_r8, 3.9335035011066395e-05_r8, & + 4.8320996124780899e-05_r8, 5.3170780084531714e-05_r8, & + 5.7112744460819872e-05_r8, 5.9338127066125647e-05_r8, & + 6.2188542204508025e-05_r8, 6.5917727991124183e-05_r8, & + 7.2721071021341786e-05_r8, 8.47502853478609e-05_r8, & + 9.9976271742885063e-05_r8, 0.00011412552864209699_r8, & + 0.00013855669048731592_r8, 0.00016588721763293964_r8, & + 0.0001910482625163742_r8, 0.00021592652829778854_r8, & + 0.00023791534510873266_r8, 0.0002593227067509261_r8, & + 0.00028697365870510868_r8, 0.00030991627188294962_r8, & + 0.0003323641657743692_r8, 0.00034818909377558972_r8, & + 0.00036458818097164403_r8, 0.00039952245296051298_r8, & + 0.00042272310197866072_r8, 0.0004377699238332971_r8, & + 0.00044005948121717561_r8, 0.00043555726080350189_r8, & + 0.00043589840184623553_r8, 0.00043514269959648688_r8, & + 0.00043121284297468777_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,67) / & + 1.1593803846887123e-05_r8, 1.310440140525236e-05_r8, & + 1.8057093634552342e-05_r8, 2.0747189654400562e-05_r8, & + 2.748680784850721e-05_r8, 3.3907860380600457e-05_r8, & + 4.9469201141174195e-05_r8, 5.5671623112888743e-05_r8, & + 5.7059756760510929e-05_r8, 5.9108194832750211e-05_r8, & + 6.1449411435468839e-05_r8, 6.6122060444371488e-05_r8, & + 7.4877270808196419e-05_r8, 8.8502948892026044e-05_r8, & + 0.00010593263668326565_r8, 0.00012346805195041107_r8, & + 0.00016034312210315882_r8, 0.00018413932881342068_r8, & + 0.00020997394030653778_r8, 0.00023575866735634212_r8, & + 0.0002578197234902555_r8, 0.00028130884277590329_r8, & + 0.00031665172338736806_r8, 0.00033927352139688282_r8, & + 0.00036014012181260189_r8, 0.00037678790744735766_r8, & + 0.00039088701690499913_r8, 0.00042485283786361083_r8, & + 0.00044845757294076843_r8, 0.00046710576374041606_r8, & + 0.00047249223817204483_r8, 0.00046756710559750416_r8, & + 0.00046338641084744546_r8, 0.00046283061775430654_r8, & + 0.00045445297441783542_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,67) / & + 8.1726729424722497e-06_r8, 1.1138734847613407e-05_r8, & + 1.4918474055730602e-05_r8, 1.5157058807084582e-05_r8, & + 2.6836311905879378e-05_r8, 3.3823619317046822e-05_r8, & + 5.4094378582874828e-05_r8, 6.3581874647391948e-05_r8, & + 6.4476840641481594e-05_r8, 6.7741429255680454e-05_r8, & + 7.2017460727656396e-05_r8, 7.7470091205496296e-05_r8, & + 8.6982769379398449e-05_r8, 9.6782204493754554e-05_r8, & + 0.00011179178434606303_r8, 0.00012984873353264742_r8, & + 0.00017039535333890829_r8, 0.00019788481633520479_r8, & + 0.00022595398988319512_r8, 0.00025098363561740716_r8, & + 0.00027524660292887148_r8, 0.0002997341008211622_r8, & + 0.0003326679631929923_r8, 0.00035501423084882732_r8, & + 0.00037504749895826293_r8, 0.00039218644949359451_r8, & + 0.00040688502478273408_r8, 0.00043989911846162565_r8, & + 0.00046453650692174231_r8, 0.0004838261306794811_r8, & + 0.00049034608639939243_r8, 0.00049203761432582184_r8, & + 0.00049064391364562305_r8, 0.00048873663041816139_r8, & + 0.00048809234274379382_r8, 0.00048587632066358552_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,67) / & + 5.2332689661753043e-06_r8, 8.9858139447374203e-06_r8, & + 1.1405517847766736e-05_r8, 1.8809658368803728e-05_r8, & + 3.208837208174782e-05_r8, 4.0574772338698951e-05_r8, & + 6.2397877559890904e-05_r8, 7.328546740495163e-05_r8, & + 7.5595007688633744e-05_r8, 7.9836150015007401e-05_r8, & + 8.3655696789497789e-05_r8, 8.6882614397187124e-05_r8, & + 9.3965719204141065e-05_r8, 0.00010402383026722894_r8, & + 0.00011871923089744918_r8, 0.00013659856753421392_r8, & + 0.00017952090795787063_r8, 0.00021025929618713688_r8, & + 0.00023883411527036771_r8, 0.00026481906437497308_r8, & + 0.00029043998384047694_r8, 0.00031767622697025024_r8, & + 0.0003468943879702977_r8, 0.00037062796047729357_r8, & + 0.00039034748271371035_r8, 0.00040755059055518539_r8, & + 0.00042339366082284191_r8, 0.00045590459079254317_r8, & + 0.00048160720905794554_r8, 0.00049928660463016163_r8, & + 0.00050644327904179876_r8, 0.00050805415460533176_r8, & + 0.00050807978522106876_r8, 0.00050677825934781595_r8, & + 0.0005055003798127523_r8, 0.00050333505483202113_r8, & + 0.00050429473202901897_r8, 0.00050053222529018759_r8, & + 0.00050381837826806385_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,67) / & + 4.9165344079032194e-06_r8, 8.7912171904920581e-06_r8, & + 1.0627997903952193e-05_r8, 2.2202240704923765e-05_r8, & + 3.4569925700508998e-05_r8, 4.3238789691953168e-05_r8, & + 6.3954381970045347e-05_r8, 7.888834744016779e-05_r8, & + 8.2619156208127545e-05_r8, 8.6255488334560269e-05_r8, & + 8.8752089965983549e-05_r8, 9.0814293519125971e-05_r8, & + 9.668490724465234e-05_r8, 0.00010868352706118889_r8, & + 0.00012302734754438661_r8, 0.0001423039019057874_r8, & + 0.00018802902282242278_r8, 0.00021833415494285665_r8, & + 0.00024691485223378809_r8, 0.00027462560158818386_r8, & + 0.00030268897709757382_r8, 0.0003345900583760611_r8, & + 0.00036546986918918357_r8, 0.0003897171271096315_r8, & + 0.00040887429021042111_r8, 0.00042610491949506956_r8, & + 0.0004422165061527182_r8, 0.00047458677759563983_r8, & + 0.00049984735315020741_r8, 0.00051841092580513619_r8, & + 0.00052666582402849263_r8, 0.00052838530185353276_r8, & + 0.00052852925583239132_r8, 0.00052729318311984868_r8, & + 0.0005251968698709857_r8, 0.00052214641971679639_r8, & + 0.00052231442456194687_r8, 0.00052513757856095615_r8, & + 0.00052301191599653154_r8, 0.00052656627682879287_r8, & + 0.00052686710165381664_r8, 0.00053257789759245404_r8, & + 0.00053279841535731377_r8, 0.00053279995191354683_r8, 9e90_r8 & + / +data saar_ref(:,27,67) / & + 5.8294332800004549e-06_r8, 5.6556033787591083e-06_r8, & + 5.7064224501954029e-06_r8, 7.0883215234772783e-06_r8, & + 7.7553138014218585e-06_r8, 7.8425195226849483e-06_r8, & + 1.0177589752862696e-05_r8, 1.493046051431739e-05_r8, & + 1.8843914459814467e-05_r8, 2.3519197031574161e-05_r8, & + 2.9681853130072808e-05_r8, 4.2046008034800273e-05_r8, & + 5.0564753618156207e-05_r8, 6.1847277869893618e-05_r8, & + 7.5295870678977948e-05_r8, 8.5830566505059466e-05_r8, & + 0.00010222904908463196_r8, 0.00011517440513723851_r8, & + 0.00013174438102660306_r8, 0.00014114810820142794_r8, & + 0.00014275261117331075_r8, 0.00014264221429706713_r8, & + 0.00014288091465048628_r8, 0.00014240154643986884_r8, & + 0.00014207601063312612_r8, 0.00014332183537011086_r8, & + 0.00013961967237993163_r8, 0.00014779289626450055_r8, & + 0.00014811371054487466_r8, 0.00014811827307365498_r8, & + 0.00014811900352779893_r8, 0.0001481184530399491_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,67) / & + 5.5432124862320772e-06_r8, 5.4665331415348191e-06_r8, & + 5.3541964519473016e-06_r8, 8.1394983862369274e-06_r8, & + 8.4383646285111712e-06_r8, 8.6572412621960092e-06_r8, & + 8.2387900655753231e-06_r8, 1.1605740991886627e-05_r8, & + 1.5553784080549845e-05_r8, 2.0134443112223855e-05_r8, & + 2.5760430479954069e-05_r8, 3.6074464926883668e-05_r8, & + 4.379581342148659e-05_r8, 5.741799015470961e-05_r8, & + 7.0434415246628759e-05_r8, 8.1744994159225085e-05_r8, & + 0.00010060097583370259_r8, 0.0001165066992929836_r8, & + 0.00013343915894613176_r8, 0.00014666391044765656_r8, & + 0.00015091224531147397_r8, 0.00015169961744303698_r8, & + 0.00015145813874202152_r8, 0.00015120179438733521_r8, & + 0.00015086579009187569_r8, 0.00015088945399816629_r8, & + 0.00014920200238396236_r8, 0.00015000989696171114_r8, & + 0.00015228772635421606_r8, 0.00015397743470577397_r8, & + 0.00015448795357972102_r8, 0.00015431972835706657_r8, & + 0.00015464825954529944_r8, 0.00015462178663679669_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,67) / & + 6.8249818715384604e-06_r8, 7.4818860829852039e-06_r8, & + 6.2596706367931542e-06_r8, 8.744539826542789e-06_r8, & + 9.0229411038691229e-06_r8, 8.9220849033109666e-06_r8, & + 8.020489609220262e-06_r8, 1.0822643602225323e-05_r8, & + 1.4823874659510955e-05_r8, 1.9460066715991503e-05_r8, & + 2.5267995581429533e-05_r8, 3.3556996881878615e-05_r8, & + 4.4681147029759117e-05_r8, 5.8552000024122825e-05_r8, & + 6.9976620612514418e-05_r8, 8.1671801337452758e-05_r8, & + 0.0001010143857160625_r8, 0.00012230406094002413_r8, & + 0.00013826123398849623_r8, 0.00015062285092378366_r8, & + 0.00015535876548940832_r8, 0.00015628718550828965_r8, & + 0.00015689568487990864_r8, 0.00015698347733248167_r8, & + 0.00015677812413193536_r8, 0.00015712969359866398_r8, & + 0.00015676499768843248_r8, 0.0001523858935071543_r8, & + 0.00015585626093086587_r8, 0.00016171021513813685_r8, & + 0.00015975312817406761_r8, 0.00016007271323548839_r8, & + 0.00015946196399817559_r8, 0.00015884981742491115_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,67) / & + 1.1634240576328445e-05_r8, 1.4156842933660231e-05_r8, & + 8.219609240289718e-06_r8, 9.189970383017597e-06_r8, & + 9.1257593314522757e-06_r8, 9.138432046648491e-06_r8, & + 1.0058307895159664e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,67) / & + 4.0423111654531143e-05_r8, 4.1183854234706207e-05_r8, & + 4.4793964280809894e-05_r8, 5.0520965799698311e-05_r8, & + 5.9259474081487957e-05_r8, 5.9796170202560143e-05_r8, & + 6.8730396349302148e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,67) / & + 4.1349847870126755e-05_r8, 4.2139794625496965e-05_r8, & + 4.6260187730587851e-05_r8, 5.2656988329904318e-05_r8, & + 6.1256647031258173e-05_r8, 6.4075425712073922e-05_r8, & + 7.1428269526417807e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,67) / & + 9.7284200874165946e-05_r8, 8.7410553247583791e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,67) / & + 9.7536672128605793e-05_r8, 9.1776600105585623e-05_r8, & + 9.4369626359135881e-05_r8, 0.00010384473373058263_r8, & + 0.00011927344625308805_r8, 0.00013124593551667595_r8, & + 0.00015210555765436204_r8, 0.0001563442547062013_r8, & + 0.00014571069168069177_r8, 0.00013704543310285802_r8, & + 0.00012437675287756218_r8, 0.00011246412543323541_r8, & + 8.7841515628746733e-05_r8, 6.9355317646970985e-05_r8, & + 6.5097525837699179e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,67) / & + 9.1639381228325609e-05_r8, 8.8459521784506635e-05_r8, & + 9.4627041588140836e-05_r8, 0.00012952817726919239_r8, & + 0.00014697747262660342_r8, 0.00015378429401079912_r8, & + 0.00015548119457215606_r8, 0.00014624167441161593_r8, & + 0.00013968402986881063_r8, 0.00013718962035913859_r8, & + 0.00013481399748384212_r8, 0.00012127798762568177_r8, & + 9.9893259556104962e-05_r8, 7.6711965654826505e-05_r8, & + 6.8174666933621111e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,67) / & + 8.8910632658552311e-05_r8, 8.8439525213594361e-05_r8, & + 9.809259650309141e-05_r8, 0.00012746069766639371_r8, & + 0.0001320372125418571_r8, 0.00015222309613807013_r8, & + 0.00015433959631700302_r8, 0.00015348464533404945_r8, & + 0.00015011285395004668_r8, 0.00012955850172108682_r8, & + 0.00011037922301968195_r8, 9.5471385297116906e-05_r8, & + 8.7279093553248687e-05_r8, 8.9036742963177084e-05_r8, & + 8.9749290629308946e-05_r8, 8.8107841410887879e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,67) / & + 8.3240476597951882e-05_r8, 8.6023111604764329e-05_r8, & + 9.6060533381435074e-05_r8, 0.00010494194527721593_r8, & + 0.00010914925664176134_r8, 0.00011986744727276555_r8, & + 0.00014547667393527731_r8, 0.00014704256941217245_r8, & + 0.00014392396994711661_r8, 0.00012495268400723728_r8, & + 0.00011252944475255032_r8, 0.00010029103472421743_r8, & + 8.3773876773447016e-05_r8, 8.506232991500751e-05_r8, & + 8.9568581786232248e-05_r8, 8.3682341507290914e-05_r8, & + 7.8295200696943366e-05_r8, 7.7322724104004719e-05_r8, & + 7.9720019572202043e-05_r8, 8.0431348408854735e-05_r8, & + 7.9501823711311328e-05_r8, 7.9465510058369007e-05_r8, & + 7.8403259306105818e-05_r8, 8.1135675494515387e-05_r8, & + 9.8326708669734948e-05_r8, 9.9140512745514344e-05_r8, & + 0.00010398250607265128_r8, 0.00010582343091412722_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,67) / & + 8.8155570485194362e-05_r8, 9.8142708271199472e-05_r8, & + 9.8733535075837064e-05_r8, 9.7724217901156132e-05_r8, & + 0.00010455332731592297_r8, 9.1843299792122626e-05_r8, & + 0.00014681370191290514_r8, 0.00014087471137074275_r8, & + 0.00012965626625964402_r8, 0.0001095149081788453_r8, & + 0.00010051769120799109_r8, 9.1561916199341966e-05_r8, & + 8.1458596069766277e-05_r8, 8.3104794895371188e-05_r8, & + 8.5136499610771475e-05_r8, 8.1680179537825678e-05_r8, & + 7.6809918366563693e-05_r8, 7.6394290358839824e-05_r8, & + 7.864084084785645e-05_r8, 8.0180216227360596e-05_r8, & + 8.110397317742947e-05_r8, 8.2390613609697222e-05_r8, & + 8.3623430860163745e-05_r8, 8.6396709746566631e-05_r8, & + 9.9565884296056641e-05_r8, 0.00010083184703626868_r8, & + 0.00010601948443857018_r8, 0.0001170566411391373_r8, & + 0.00011889445236901454_r8, 0.00011893041181477406_r8, & + 0.00011626926836205517_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,67) / & + 8.4010897378187022e-05_r8, 0.00010892546238609497_r8, & + 0.0001065232960702345_r8, 0.00010439792295854729_r8, & + 0.00010928756948887645_r8, 0.00011191588695510111_r8, & + 0.0001609778434452619_r8, 0.00012174570348436367_r8, & + 0.00010466705878282512_r8, 8.5017684178187333e-05_r8, & + 7.8646183390555189e-05_r8, 7.4826092049481757e-05_r8, & + 7.1082046164927521e-05_r8, 7.2799221461903102e-05_r8, & + 7.3547095912974509e-05_r8, 7.4105065599453058e-05_r8, & + 7.3192240394665084e-05_r8, 7.3745852239522408e-05_r8, & + 7.5987801937193262e-05_r8, 7.905673348261389e-05_r8, & + 8.2118783731592132e-05_r8, 8.541290755373262e-05_r8, & + 8.9283698904611247e-05_r8, 9.3322980337889628e-05_r8, & + 9.9679020563044586e-05_r8, 0.00010309308401545514_r8, & + 0.0001091677568319501_r8, 0.000120005776733926_r8, & + 0.00012121995653120966_r8, 0.00011958739457873929_r8, & + 0.00011931687585465967_r8, 0.00011973503437604977_r8, & + 0.00012045263155891621_r8, 0.00012027613740776741_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,68) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,68) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,68) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,68) / & + 8.1259243795534232e-05_r8, 8.1563309907663813e-05_r8, & + 7.7828087552793074e-05_r8, 9.5109334535176294e-05_r8, & + 9.0507628366094501e-05_r8, 9.7431507633991099e-05_r8, & + 0.00011532955180050554_r8, 0.00013121340003945247_r8, & + 0.00013845543037276233_r8, 0.00015171404897944724_r8, & + 0.00015806129746088004_r8, 0.00016475995825884865_r8, & + 0.00017323768634821667_r8, 0.00017966799067014946_r8, & + 0.00018381011370941007_r8, 0.0001869797398536396_r8, & + 0.00019308982768808365_r8, 0.00019528195187579867_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,5,68) / & + 7.1572165095805393e-05_r8, 7.3261492619975426e-05_r8, & + 7.0946029063826671e-05_r8, 8.5887882626441904e-05_r8, & + 8.6440822152509503e-05_r8, 9.5488170868319932e-05_r8, & + 0.0001106190915838062_r8, 0.0001234817609447723_r8, & + 0.00013168996527832005_r8, 0.00014318803421732091_r8, & + 0.00015076050530767014_r8, 0.00015860213879305028_r8, & + 0.00016893083318825439_r8, 0.00017554991620595425_r8, & + 0.00017943412868618512_r8, 0.00018246098495914003_r8, & + 0.00018870292205353331_r8, 0.00019060908237304695_r8, & + 0.00019375203255843015_r8, 0.00019849287354221877_r8, & + 0.00020454293991110494_r8, 0.00020873390206284712_r8, & + 0.00021486902363560982_r8, 0.00022074932628102714_r8, & + 0.00022694919496698854_r8, 0.00023296021225369798_r8, & + 0.00023826369554350799_r8, 0.00024809527092882889_r8, & + 0.00025830439682889965_r8, 0.00026736412289050319_r8, & + 0.00027434568286843758_r8, 0.00028059493612892216_r8, & + 0.00028524353236310224_r8, 0.00029058656439681668_r8, & + 0.00029388232126590069_r8, 0.00029750828212531658_r8, & + 0.00030021854207800124_r8, 0.00030385073394211562_r8, & + 0.00030809208114043063_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,68) / & + 3.8902238663065257e-05_r8, 3.987832430880564e-05_r8, & + 4.111443188862572e-05_r8, 4.8147585499731785e-05_r8, & + 5.2618470507088812e-05_r8, 5.9146083172354711e-05_r8, & + 6.9209065911769255e-05_r8, 8.2562666729693807e-05_r8, & + 8.9542630744783854e-05_r8, 9.4311113233501825e-05_r8, & + 0.00010261797866467152_r8, 0.00010868614979878774_r8, & + 0.00012316471022628351_r8, 0.000136699561061625_r8, & + 0.00014337792834332179_r8, 0.00015018597697965711_r8, & + 0.00016307347925580062_r8, 0.00016983119522631028_r8, & + 0.00017564632907942927_r8, 0.00018090220223526403_r8, & + 0.00018527493841883814_r8, 0.00018898044574786066_r8, & + 0.00019363458131494828_r8, 0.00019894119449393623_r8, & + 0.00020398156820989374_r8, 0.00020942007720905215_r8, & + 0.00021517438568713031_r8, 0.00022846070377634931_r8, & + 0.00023893892175919472_r8, 0.00024769239653822992_r8, & + 0.00025708503953125403_r8, 0.00026682578838927676_r8, & + 0.00027503475907206812_r8, 0.00028171673169310665_r8, & + 0.00028738979710244984_r8, 0.00029301737232317806_r8, & + 0.00029785784880001303_r8, 0.00030266027322595342_r8, & + 0.00030632467726496884_r8, 0.00030337742798383313_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,68) / & + 1.305777137758403e-05_r8, 1.316187216140267e-05_r8, & + 1.2663174274621143e-05_r8, 1.5328112574274409e-05_r8, & + 1.7616813655042758e-05_r8, 2.1180166068516137e-05_r8, & + 2.8037098935516903e-05_r8, 4.2671570556188089e-05_r8, & + 4.8896432767270283e-05_r8, 5.1935384668117051e-05_r8, & + 5.6099000217705959e-05_r8, 6.00967161456983e-05_r8, & + 6.9469015184572819e-05_r8, 8.0850743668529047e-05_r8, & + 9.07866079940262e-05_r8, 0.00010042883585443986_r8, & + 0.00011882825566860351_r8, 0.00013372962424653659_r8, & + 0.00014558712015282682_r8, 0.00015647463516628776_r8, & + 0.00016457456580787054_r8, 0.00017134367969920831_r8, & + 0.00017666465809990591_r8, 0.00018204196231101308_r8, & + 0.00018682917047947294_r8, 0.00019123274430405803_r8, & + 0.00019596761098027876_r8, 0.00020940162438494415_r8, & + 0.00022203907499267187_r8, 0.00023229549095787669_r8, & + 0.0002414956426264698_r8, 0.00025106647618140408_r8, & + 0.00026111321207052476_r8, 0.00027023667312696007_r8, & + 0.00027811533748044577_r8, 0.00028524378533546129_r8, & + 0.00029225929584137669_r8, 0.00029738213421024628_r8, & + 0.00030120576414589497_r8, 0.0003018386521558627_r8, & + 0.00030028538058079834_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,68) / & + 5.9200610777067842e-06_r8, 5.8130949413518198e-06_r8, & + 5.4401261261023223e-06_r8, 6.7534110556301311e-06_r8, & + 7.3902829010078494e-06_r8, 8.1878371696394974e-06_r8, & + 1.2224489980736161e-05_r8, 1.9840837999081347e-05_r8, & + 2.4556510755902755e-05_r8, 2.7393934371542344e-05_r8, & + 2.941818983169651e-05_r8, 3.083693749018491e-05_r8, & + 3.3344959884614201e-05_r8, 3.6864927128999114e-05_r8, & + 4.0950709762261347e-05_r8, 4.6118820537249137e-05_r8, & + 5.7775693161527886e-05_r8, 7.2689671830589609e-05_r8, & + 8.6333800524223273e-05_r8, 0.00010021883145908701_r8, & + 0.00011476773329866493_r8, 0.00012831607661738776_r8, & + 0.00014006656093388034_r8, 0.00015039151647238379_r8, & + 0.00015975857536671277_r8, 0.00016814832361389498_r8, & + 0.00017464786673505669_r8, 0.00018845623591878181_r8, & + 0.00020108357329431964_r8, 0.00021479700028831678_r8, & + 0.00022792175144544397_r8, 0.00023690582079437142_r8, & + 0.00024461897713420666_r8, 0.00025332749386201386_r8, & + 0.0002637108375980003_r8, 0.00027461165985460332_r8, & + 0.00028467962952236927_r8, 0.00029159324465327668_r8, & + 0.00029591807471507548_r8, 0.00029755223988997645_r8, & + 0.00029765820567274529_r8, 0.00029713823316366108_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,68) / & + 5.3766153468975295e-06_r8, 5.2955754318919961e-06_r8, & + 5.2810865409752831e-06_r8, 6.0414888907439751e-06_r8, & + 6.1023677166284387e-06_r8, 6.3590389085432875e-06_r8, & + 8.128608856013862e-06_r8, 1.2049491318166733e-05_r8, & + 1.3845311048929169e-05_r8, 1.5128041769574834e-05_r8, & + 1.6008232843642445e-05_r8, 1.678577177012787e-05_r8, & + 1.7843326450293659e-05_r8, 1.9212198503069537e-05_r8, & + 2.0737836778244106e-05_r8, 2.2518986553852033e-05_r8, & + 2.7898391587784459e-05_r8, 3.7031431127398171e-05_r8, & + 4.7516958459581508e-05_r8, 6.0171508015945964e-05_r8, & + 7.5908422284745968e-05_r8, 9.1376306421141269e-05_r8, & + 0.00010705576234852897_r8, 0.00012205425601370941_r8, & + 0.00013615970416931095_r8, 0.00014897071390768379_r8, & + 0.00015977570100819913_r8, 0.00017985544591623973_r8, & + 0.00019445969181003357_r8, 0.00020871833332291827_r8, & + 0.00022514084554168818_r8, 0.00023462683662913426_r8, & + 0.00023982645895975055_r8, 0.00024603679885195641_r8, & + 0.00025585350813612243_r8, 0.00026935211803210746_r8, & + 0.00028194158248139267_r8, 0.00029044410790813506_r8, & + 0.00029454665794027997_r8, 0.00029573899895345482_r8, & + 0.00029641417395196953_r8, 0.00029712176740665593_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,68) / & + 5.5650842627171e-06_r8, 5.4524742692895477e-06_r8, & + 5.4337785441655717e-06_r8, 6.2551658046351187e-06_r8, & + 6.2682464964125208e-06_r8, 6.3621420868271497e-06_r8, & + 6.6865707412480232e-06_r8, 8.0612645905782879e-06_r8, & + 8.8840448894549597e-06_r8, 1.0405285183617182e-05_r8, & + 1.2079713603686153e-05_r8, 1.4415758199937477e-05_r8, & + 1.6813264606277661e-05_r8, 1.8184351742909068e-05_r8, & + 1.9375514945655568e-05_r8, 2.0259210693392478e-05_r8, & + 2.368609722043191e-05_r8, 2.9951033960439389e-05_r8, & + 4.0605288756474659e-05_r8, 5.4473906637346882e-05_r8, & + 7.1837158559501368e-05_r8, 8.8267123670905223e-05_r8, & + 0.00010562790815727967_r8, 0.00012319130974355267_r8, & + 0.0001409161838407572_r8, 0.00015616141737751329_r8, & + 0.00016943383069564088_r8, 0.00019334192124270544_r8, & + 0.00021051804416891435_r8, 0.00022301000023468531_r8, & + 0.00023566288491154008_r8, 0.00024453934347736769_r8, & + 0.00024698064206159974_r8, 0.00024999646756190287_r8, & + 0.00025937856161368145_r8, 0.00027120645819123015_r8, & + 0.00028301545370306005_r8, 0.00029210325725816002_r8, & + 0.00029515778725364166_r8, 0.00029636961932995396_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,68) / & + 6.2794143344537717e-06_r8, 6.1848937835848177e-06_r8, & + 6.2280210148573393e-06_r8, 7.022739283079555e-06_r8, & + 7.0387183977977007e-06_r8, 7.0872959228854994e-06_r8, & + 5.9618199780810497e-06_r8, 6.1563049611267834e-06_r8, & + 6.8129860033262881e-06_r8, 7.7798094294935744e-06_r8, & + 9.5140324262561491e-06_r8, 1.2792142492485542e-05_r8, & + 1.6337015111652235e-05_r8, 1.7872569868505877e-05_r8, & + 1.920196722928014e-05_r8, 2.0484247186887853e-05_r8, & + 2.3392227493937278e-05_r8, 2.8999134008394125e-05_r8, & + 3.929534390093641e-05_r8, 5.4255835835097364e-05_r8, & + 7.2184125806396536e-05_r8, 9.0530954186971544e-05_r8, & + 0.00011049236349760235_r8, 0.00013108332575653204_r8, & + 0.00015094521264256248_r8, 0.00016807619622531025_r8, & + 0.00018223304896465545_r8, 0.00020775612577433541_r8, & + 0.00022499487998880977_r8, 0.00023584241102805957_r8, & + 0.00024521420938941271_r8, 0.00025220244690100853_r8, & + 0.00025362319198523101_r8, 0.00025555442978201761_r8, & + 0.00026444313481186773_r8, 0.00027472914613466609_r8, & + 0.00028155737160383059_r8, 0.0002915493271802911_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,68) / & + 6.1044006474141363e-06_r8, 6.0336417473393494e-06_r8, & + 5.8408887098207587e-06_r8, 5.586105908463258e-06_r8, & + 5.8728675429184551e-06_r8, 7.2809649944764621e-06_r8, & + 6.7487273910133224e-06_r8, 4.6254494333122789e-06_r8, & + 4.7690309117691597e-06_r8, 5.343228417258506e-06_r8, & + 6.4695458430082145e-06_r8, 1.0274109232993776e-05_r8, & + 1.5085892865844896e-05_r8, 1.717828534372841e-05_r8, & + 1.8753965378442691e-05_r8, 2.0413479524540826e-05_r8, & + 2.3532663394712042e-05_r8, 2.8366743921779998e-05_r8, & + 3.7439184577105294e-05_r8, 5.2481510281740637e-05_r8, & + 7.1348797258580208e-05_r8, 9.2891175913893141e-05_r8, & + 0.00011591061966656645_r8, 0.00013943370215551288_r8, & + 0.00016090263768226605_r8, 0.00017805115779676259_r8, & + 0.00019220829387056222_r8, 0.00021870667536043941_r8, & + 0.00023417898916172194_r8, 0.00024508962895711467_r8, & + 0.00025358653602542487_r8, 0.00025891942771208193_r8, & + 0.00026010313614514006_r8, 0.00025927475570951844_r8, & + 0.00026461691607300133_r8, 0.00027487987930453924_r8, & + 0.00028019589494626663_r8, 0.0002896035403296573_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,68) / & + 4.5670705625138962e-06_r8, 4.6844759778077647e-06_r8, & + 4.2716633372917948e-06_r8, 3.006102159518029e-06_r8, & + 3.2317580598012683e-06_r8, 3.5749042635849959e-06_r8, & + 4.9466367153319798e-06_r8, 3.6933442885760709e-06_r8, & + 3.6197013240195249e-06_r8, 3.603917177410331e-06_r8, & + 3.5649596242218403e-06_r8, 5.6011186442327536e-06_r8, & + 1.0780245234415676e-05_r8, 1.4763141101870457e-05_r8, & + 1.7568391229851645e-05_r8, 1.9457627021490194e-05_r8, & + 2.180906915148594e-05_r8, 2.5639863903103537e-05_r8, & + 3.3419128370043192e-05_r8, 4.7690570419577782e-05_r8, & + 6.8223293062601287e-05_r8, 9.3068369621859633e-05_r8, & + 0.00011957344049571094_r8, 0.00014613371001107568_r8, & + 0.00016899917542941917_r8, 0.00018593135226673002_r8, & + 0.00020032861419878205_r8, 0.0002259585674206053_r8, & + 0.00024056261584591627_r8, 0.00025190828405508828_r8, & + 0.00025985882484067869_r8, 0.00026431750305909403_r8, & + 0.00026515107358280108_r8, 0.00026488615371636292_r8, & + 0.00026591919172595265_r8, 0.00026716501777287582_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,68) / & + 3.9866928925860379e-06_r8, 4.2736390348747724e-06_r8, & + 3.8527006246977833e-06_r8, 2.6028651909763658e-06_r8, & + 2.8475842440488768e-06_r8, 2.9146261579660927e-06_r8, & + 5.3670640168139832e-06_r8, 3.7354187929339172e-06_r8, & + 3.8156855243817283e-06_r8, 3.6893702935349558e-06_r8, & + 3.3593040559533171e-06_r8, 3.7741987762888171e-06_r8, & + 6.0878730459368304e-06_r8, 1.1465492803872213e-05_r8, & + 1.6629947767668918e-05_r8, 1.9508674652702173e-05_r8, & + 2.0854612322699737e-05_r8, 2.397437030536748e-05_r8, & + 3.1135476937052419e-05_r8, 4.5897712974801198e-05_r8, & + 6.8998150506335807e-05_r8, 9.5624713194954514e-05_r8, & + 0.00012472669881073061_r8, 0.00015410121158856228_r8, & + 0.00017678101761661521_r8, 0.00019252322056307721_r8, & + 0.00020535250244011483_r8, 0.00022730245500556155_r8, & + 0.00024137366855830997_r8, 0.00025301924454432587_r8, & + 0.00025984841533123433_r8, 0.00026312161092497375_r8, & + 0.00026498645798169796_r8, 0.00026637439213819588_r8, & + 0.00026693333798389062_r8, 0.00026716398467622993_r8, & + 0.00026483901352419132_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,68) / & + 5.0298256814574893e-06_r8, 5.235980403328839e-06_r8, & + 4.8634898464399268e-06_r8, 2.4431829825002984e-06_r8, & + 2.5189834573857481e-06_r8, 2.7622916922330956e-06_r8, & + 5.8478667162337281e-06_r8, 4.9419879757289832e-06_r8, & + 4.8182473165717252e-06_r8, 4.6701759102672116e-06_r8, & + 4.3531840180201868e-06_r8, 3.9261166552605214e-06_r8, & + 6.9157559683210647e-06_r8, 1.3039043994000349e-05_r8, & + 2.1866518809590361e-05_r8, 2.7057593875360091e-05_r8, & + 2.8212444508231171e-05_r8, 3.0170719198386362e-05_r8, & + 3.9414297745030317e-05_r8, 5.8157766427515053e-05_r8, & + 8.5431016965518497e-05_r8, 0.00011382324974539536_r8, & + 0.00014079765621229892_r8, 0.00016567204071240169_r8, & + 0.00018459661761306828_r8, 0.0001984650968986953_r8, & + 0.00021051206732666119_r8, 0.00023145265140046579_r8, & + 0.0002456438463837924_r8, 0.00025605226737888915_r8, & + 0.00026170469792017892_r8, 0.00026429317263333891_r8, & + 0.00026632763131067264_r8, 0.00026790428944822511_r8, & + 0.00026924804094915681_r8, 0.00026698110811313537_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,68) / & + 5.5047002959822151e-06_r8, 5.5633131160354156e-06_r8, & + 5.3177731101420798e-06_r8, 2.9490996441512346e-06_r8, & + 2.9547068068224776e-06_r8, 2.9612487892500335e-06_r8, & + 5.2391150595169764e-06_r8, 5.0051291283046815e-06_r8, & + 4.6825005108771111e-06_r8, 4.4276977026841404e-06_r8, & + 4.2789579591110432e-06_r8, 4.8931406603047221e-06_r8, & + 1.3107578501042233e-05_r8, 2.453963381751548e-05_r8, & + 3.5043761765483791e-05_r8, 4.1722864338660823e-05_r8, & + 4.4947710413787464e-05_r8, 5.0383315969175407e-05_r8, & + 6.6435144970129065e-05_r8, 8.9914108027348548e-05_r8, & + 0.00011829407015086224_r8, 0.00014561985371496029_r8, & + 0.00016859300295728495_r8, 0.00018802785038796467_r8, & + 0.00020342440323038225_r8, 0.00021617062914059773_r8, & + 0.00022816323907881816_r8, 0.0002503331926533523_r8, & + 0.00026441565319351869_r8, 0.00027311825393084969_r8, & + 0.00027865778952272169_r8, 0.00028211555717061248_r8, & + 0.00028523630181373006_r8, 0.00028760661044122219_r8, & + 0.00029035091791895556_r8, 0.0002935687830543081_r8, & + 0.00029256018276466373_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,68) / & + 5.8009255613367334e-06_r8, 5.7498679544878344e-06_r8, & + 5.6787434281855239e-06_r8, 4.050386318647272e-06_r8, & + 4.0167053207682917e-06_r8, 4.2615929308451622e-06_r8, & + 4.3276854838416323e-06_r8, 3.7425564437071646e-06_r8, & + 3.2286222631614888e-06_r8, 3.0444330882378322e-06_r8, & + 3.5096509542649263e-06_r8, 6.1025445266626927e-06_r8, & + 2.1290741221947262e-05_r8, 4.0275377731355414e-05_r8, & + 5.0393247059120554e-05_r8, 5.612889075515179e-05_r8, & + 6.2775094417480637e-05_r8, 7.6512280631718346e-05_r8, & + 9.8218967758688643e-05_r8, 0.00012250423007389497_r8, & + 0.000147465961198989_r8, 0.00016953973065084396_r8, & + 0.00019172639468450532_r8, 0.00020979741423366393_r8, & + 0.0002246293712332154_r8, 0.00023854624787694059_r8, & + 0.00025084919717835875_r8, 0.00027348491307484896_r8, & + 0.00028592871161038625_r8, 0.00029198313228002016_r8, & + 0.00029707824958211462_r8, 0.00030267103654277962_r8, & + 0.0003076912489735813_r8, 0.00031053697916380644_r8, & + 0.0003116248377202039_r8, 0.00031112126009896621_r8, & + 0.0003105282900944596_r8, 0.00030866938267705256_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,68) / & + 6.85621316159993e-06_r8, 6.377913841072396e-06_r8, & + 5.791070826512633e-06_r8, 5.886631818922311e-06_r8, & + 6.03966127637527e-06_r8, 7.5189764311271592e-06_r8, & + 4.9278117417665722e-06_r8, 3.9541156762722267e-06_r8, & + 3.7245737894048398e-06_r8, 4.3176380764074521e-06_r8, & + 7.069755694947442e-06_r8, 1.2389430631476383e-05_r8, & + 3.5143906029370499e-05_r8, 5.4150199114231479e-05_r8, & + 6.2817844097792509e-05_r8, 6.9389298196160387e-05_r8, & + 8.0444659797255396e-05_r8, 9.8207287782408882e-05_r8, & + 0.00012084323220490835_r8, 0.00014530859908115843_r8, & + 0.0001677593757302353_r8, 0.00018873007787075351_r8, & + 0.00021091834721976378_r8, 0.00022911083682190282_r8, & + 0.00024464066473794857_r8, 0.00025966783668908384_r8, & + 0.00027279747405745065_r8, 0.00029750637517712662_r8, & + 0.00030954640801820468_r8, 0.00031366247065388124_r8, & + 0.00031787718673183458_r8, 0.00032313851598618856_r8, & + 0.0003279481739608338_r8, 0.00032945113773097699_r8, & + 0.00032769802810248032_r8, 0.00032442670427239984_r8, & + 0.00032293333143325646_r8, 0.00032127126927704091_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,68) / & + 8.7658583587216078e-06_r8, 7.9295470031259474e-06_r8, & + 7.4287380621287769e-06_r8, 9.540873672163395e-06_r8, & + 1.0238120470912123e-05_r8, 1.1776640168145874e-05_r8, & + 8.0792019577501941e-06_r8, 9.2769243805402613e-06_r8, & + 1.3524177345698492e-05_r8, 2.067156237647678e-05_r8, & + 3.1112185247495596e-05_r8, 4.2111272114739538e-05_r8, & + 6.1122650240832006e-05_r8, 7.1905903355568501e-05_r8, & + 7.8398989744843067e-05_r8, 8.4659850339233858e-05_r8, & + 9.5427933510525113e-05_r8, 0.00011195037546141749_r8, & + 0.00013387544208676519_r8, 0.00015957319053355989_r8, & + 0.00018340074279284011_r8, 0.00020697099352668833_r8, & + 0.00022808916088900411_r8, 0.00024886043667686004_r8, & + 0.00026738511036589554_r8, 0.00028251251896022197_r8, & + 0.00029677504024850547_r8, 0.00032181994703048045_r8, & + 0.00033619738520595046_r8, 0.00034278459709322849_r8, & + 0.00034738536834582099_r8, 0.00035044584591176144_r8, & + 0.00035022521764413705_r8, 0.00034956752463751904_r8, & + 0.00034605232579755133_r8, 0.00034026157779102755_r8, & + 0.00033642344735805243_r8, 0.00033466083994669436_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,68) / & + 1.0153768781120799e-05_r8, 9.5989991302812445e-06_r8, & + 9.8825092734874809e-06_r8, 1.3001884980034023e-05_r8, & + 1.5087640026430847e-05_r8, 1.8002559390914044e-05_r8, & + 1.5675964340093498e-05_r8, 2.8911212733385271e-05_r8, & + 4.249251007832568e-05_r8, 5.3398568388824782e-05_r8, & + 6.1514370979556612e-05_r8, 6.8123888663710529e-05_r8, & + 7.6108530746121623e-05_r8, 8.262270340845042e-05_r8, & + 8.9861288480496245e-05_r8, 9.710454456909385e-05_r8, & + 0.00011144987215031686_r8, 0.00012814853592367015_r8, & + 0.00015092524700001625_r8, 0.00017578154530782295_r8, & + 0.00019911112078683862_r8, 0.00022069236992931608_r8, & + 0.00024481533906388125_r8, 0.00026831121776395089_r8, & + 0.00028973651529382683_r8, 0.00030609592272788308_r8, & + 0.00032190862868318389_r8, 0.00034821951899804716_r8, & + 0.00036527074315632554_r8, 0.00037440841041048881_r8, & + 0.00037857428186922871_r8, 0.00038088249828086007_r8, & + 0.00037867184463629842_r8, 0.00037530229104952031_r8, & + 0.00037083059748155989_r8, 0.0003636934588807832_r8, & + 0.00035974557320277048_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,68) / & + 1.1666558592827942e-05_r8, 1.1583500428978073e-05_r8, & + 1.3734184471941938e-05_r8, 1.6963741873417912e-05_r8, & + 2.2533631373304986e-05_r8, 2.8357136204311247e-05_r8, & + 3.3450019858894389e-05_r8, 4.6322308915281262e-05_r8, & + 5.4860198339566362e-05_r8, 6.0193254036214412e-05_r8, & + 6.4557898564680357e-05_r8, 6.8947228556119901e-05_r8, & + 7.5559616319355563e-05_r8, 8.3340762284495087e-05_r8, & + 9.4396364879211368e-05_r8, 0.00010626034224446525_r8, & + 0.00012753583712806524_r8, 0.00015204927286061027_r8, & + 0.00017492548741218468_r8, 0.0001977971946889582_r8, & + 0.00021997413593805327_r8, 0.00023669120133334496_r8, & + 0.00026701828851773975_r8, 0.00029196512013626572_r8, & + 0.00031369413190668891_r8, 0.00033033343321857791_r8, & + 0.00034730326980007858_r8, 0.00037885071350588661_r8, & + 0.0004000246340622778_r8, 0.00041130017220803019_r8, & + 0.00041163639058437696_r8, 0.00041229648514931112_r8, & + 0.0004108139920724041_r8, 0.00040596185217719674_r8, & + 0.00040220354847852227_r8, 0.00039256031205313168_r8, & + 0.0003798679299199455_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,68) / & + 1.3558507358318088e-05_r8, 1.3556383592881882e-05_r8, & + 1.8791139390072642e-05_r8, 2.7386588964863707e-05_r8, & + 3.350211490999394e-05_r8, 4.0126981087743708e-05_r8, & + 4.7660954350452805e-05_r8, 5.1625778488058618e-05_r8, & + 5.5492789811873763e-05_r8, 5.8240470171049742e-05_r8, & + 6.097790159080294e-05_r8, 6.543720947826605e-05_r8, & + 7.380777729934008e-05_r8, 8.6992091256272297e-05_r8, & + 0.0001015460759020972_r8, 0.00011544141382805336_r8, & + 0.00013881220945484272_r8, 0.00017014243944640857_r8, & + 0.00019563597771062014_r8, 0.00021870362226306006_r8, & + 0.00024100293056994424_r8, 0.00025976450362481476_r8, & + 0.00029054593165967412_r8, 0.00031572845272640772_r8, & + 0.00033788330565285234_r8, 0.00035398205662965921_r8, & + 0.00037085450523124486_r8, 0.00040463891912253424_r8, & + 0.00042921218710348185_r8, 0.00044261835357605958_r8, & + 0.00044213175701804478_r8, 0.00043997129819572803_r8, & + 0.00043671515714407738_r8, 0.00043136580645807563_r8, & + 0.00042497797974534675_r8, 0.00041419658798612943_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,68) / & + 1.1642022931057938e-05_r8, 1.2660995240141665e-05_r8, & + 1.9066497338992089e-05_r8, 2.0538368818269486e-05_r8, & + 2.7653945666406437e-05_r8, 3.5896231020781034e-05_r8, & + 4.9473771019148746e-05_r8, 5.3246887100100251e-05_r8, & + 5.6699900999893259e-05_r8, 5.9212028300903913e-05_r8, & + 6.1534314668180819e-05_r8, 6.6511175635442321e-05_r8, & + 7.549580151252918e-05_r8, 8.9103127206747391e-05_r8, & + 0.00010620370120082642_r8, 0.00012480860591871642_r8, & + 0.00015558089733103169_r8, 0.000184532442802823_r8, & + 0.00020977319750949274_r8, 0.00023531553584064461_r8, & + 0.00025832355409342042_r8, 0.00028187349008862596_r8, & + 0.00031410674734994661_r8, 0.00033774820851306756_r8, & + 0.00035825646987579153_r8, 0.00037444268785553642_r8, & + 0.0003900593275705396_r8, 0.00042508384607730797_r8, & + 0.00044975800969295301_r8, 0.00046871936181266802_r8, & + 0.00047402909395473359_r8, 0.00047388009219320759_r8, & + 0.00046171369898313698_r8, 0.00047044168244937782_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,68) / & + 7.6276992295304166e-06_r8, 1.0717395389845503e-05_r8, & + 1.562178805863339e-05_r8, 1.8230995259733961e-05_r8, & + 3.0870780413707874e-05_r8, 3.8089499052758978e-05_r8, & + 5.6133645250696278e-05_r8, 6.2131396979265546e-05_r8, & + 6.5603789994526706e-05_r8, 6.8321326750369815e-05_r8, & + 7.143057533167374e-05_r8, 7.6147124569140513e-05_r8, & + 8.3890276850340204e-05_r8, 9.3968083934967719e-05_r8, & + 0.00011005659099302878_r8, 0.00013084537154737559_r8, & + 0.00016943501201803433_r8, 0.00019839787805997529_r8, & + 0.00022494298391813461_r8, 0.00025082556289931346_r8, & + 0.00027568742007238529_r8, 0.0003024690668017135_r8, & + 0.00033328978026982441_r8, 0.0003564030609405004_r8, & + 0.00037658612249179599_r8, 0.00039326341800706243_r8, & + 0.00040873230323187481_r8, 0.00044150871984992101_r8, & + 0.00046491736561784326_r8, 0.00048620441428302348_r8, & + 0.00049424365589389291_r8, 0.0004959951298401555_r8, & + 0.00049481956109148802_r8, 0.00049158657855007202_r8, & + 0.00049037600731970826_r8, 0.0004858683760260537_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,68) / & + 5.4795594428233652e-06_r8, 9.4850081709432631e-06_r8, & + 1.3482693445328791e-05_r8, 2.5617280712940715e-05_r8, & + 4.1321835192708571e-05_r8, 4.9052143686655236e-05_r8, & + 6.5758157815405332e-05_r8, 7.3917398809993104e-05_r8, & + 7.6687746601645233e-05_r8, 8.0395584552151982e-05_r8, & + 8.3911698239918917e-05_r8, 8.7935476131400207e-05_r8, & + 9.6003355640162755e-05_r8, 0.00010675727083246334_r8, & + 0.00012286897362341718_r8, 0.00014352273723408618_r8, & + 0.00018568117441498545_r8, 0.00021654431266391857_r8, & + 0.00024362199335016882_r8, 0.00026930357677051062_r8, & + 0.00029543841237852588_r8, 0.00032355301577359643_r8, & + 0.00035214894118859905_r8, 0.00037466758840345521_r8, & + 0.00039431758700736029_r8, 0.00041135966063141825_r8, & + 0.00042658599656947033_r8, 0.00045863144224028972_r8, & + 0.00048235010819289934_r8, 0.00050138082963656968_r8, & + 0.00051054423559778741_r8, 0.000512869664076816_r8, & + 0.00051264675969787076_r8, 0.00051118405460916856_r8, & + 0.00050989629099894729_r8, 0.00050820908009770042_r8, & + 0.00050610377641488653_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,68) / & + 5.301310668271589e-06_r8, 9.1008221504642607e-06_r8, & + 1.207131966465452e-05_r8, 2.4889505229765503e-05_r8, & + 4.0578601588037771e-05_r8, 5.0726795750033882e-05_r8, & + 6.8721504369874379e-05_r8, 7.8418756002263443e-05_r8, & + 8.1686302904105664e-05_r8, 8.5294674523433948e-05_r8, & + 8.8477095810486579e-05_r8, 9.2290218350023228e-05_r8, & + 0.00010006534327295414_r8, 0.00011290846924385537_r8, & + 0.00012994109461133795_r8, 0.00015232201799776304_r8, & + 0.00019591646671874625_r8, 0.00022651882238739217_r8, & + 0.00025431822962487533_r8, 0.00028113657984001679_r8, & + 0.00030910810635272968_r8, 0.00034050464288614134_r8, & + 0.00036965502294480294_r8, 0.00039260749846772652_r8, & + 0.00041236666673669364_r8, 0.00042956989351336809_r8, & + 0.00044521216869559678_r8, 0.00047752336099371505_r8, & + 0.00050135892121877231_r8, 0.00051965157641588929_r8, & + 0.00052890461143137771_r8, 0.00053145349109736967_r8, & + 0.00053144572066631131_r8, 0.00053058517572837931_r8, & + 0.0005292266223432074_r8, 0.00052527601414978375_r8, & + 0.00052384863272337493_r8, 0.00052574442599077095_r8, & + 0.00052597655849943002_r8, 0.00052548680641857008_r8, & + 0.00052575728172923723_r8, 0.00052575970759220823_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,68) / & + 6.2920998958381573e-06_r8, 6.0404001166971409e-06_r8, & + 6.1152342749948732e-06_r8, 7.0474438174161275e-06_r8, & + 7.605063217575731e-06_r8, 7.7893915150923454e-06_r8, & + 9.7260950583180486e-06_r8, 1.4272445147230656e-05_r8, & + 1.8151799942327208e-05_r8, 2.3066338863839159e-05_r8, & + 2.8779616726042062e-05_r8, 4.0793526230766103e-05_r8, & + 4.9274873146716519e-05_r8, 6.0992804107507564e-05_r8, & + 7.3725775760552316e-05_r8, 8.4793434114745615e-05_r8, & + 0.00010156350193467415_r8, 0.00011487311890591079_r8, & + 0.00013015650948447951_r8, 0.00013962490115102116_r8, & + 0.00014143765348131464_r8, 0.00014136765995641324_r8, & + 0.00014186185332477647_r8, 0.0001411457608815644_r8, & + 0.00014076907492305927_r8, 0.0001427476382170051_r8, & + 0.00013974021597052365_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,68) / & + 7.2196846293266622e-06_r8, 6.8670541852484255e-06_r8, & + 6.3082022433673783e-06_r8, 7.3383943777604062e-06_r8, & + 7.7304672371265107e-06_r8, 7.9701840185028926e-06_r8, & + 8.5908104378970651e-06_r8, 1.2717036644144633e-05_r8, & + 1.6044642916974427e-05_r8, 2.1365190054060979e-05_r8, & + 2.7386804442444944e-05_r8, 3.6831449980032138e-05_r8, & + 4.5064303526105502e-05_r8, 5.8927060990222279e-05_r8, & + 6.8497506371488555e-05_r8, 7.928444120890144e-05_r8, & + 9.8390575598052225e-05_r8, 0.00011327702293010637_r8, & + 0.00012668272172112696_r8, 0.000136774318038319_r8, & + 0.00014034750758129869_r8, 0.000141618730010481_r8, & + 0.00013917202109253973_r8, 0.00013692164301495037_r8, & + 0.00013778563291540948_r8, 0.00014376463628085762_r8, & + 0.00014656852316408302_r8, 0.00014561538423136302_r8, & + 0.00014665058491056878_r8, 0.00015604832628371098_r8, & + 0.00015516169067977543_r8, 0.00015531796488164307_r8, & + 0.00015560493041792749_r8, 0.0001554930539077208_r8, & + 0.00015530886157974811_r8, 0.00015529691225817284_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,68) / & + 8.017403072772277e-06_r8, 7.8694052106183489e-06_r8, & + 6.9626159152107709e-06_r8, 7.0723518043569832e-06_r8, & + 7.4137937609580335e-06_r8, 7.828117477151066e-06_r8, & + 8.9500443204238609e-06_r8, 1.2916615719230455e-05_r8, & + 1.6215703644588427e-05_r8, 2.2123891560384742e-05_r8, & + 2.8615140455270139e-05_r8, 3.7484863466088088e-05_r8, & + 4.8496310314756873e-05_r8, 6.1154600621173772e-05_r8, & + 7.1198516151583271e-05_r8, 8.1850343402661474e-05_r8, & + 0.0001009947140420186_r8, 0.00011646776939685243_r8, & + 0.00012902011540158109_r8, 0.00013900141675913358_r8, & + 0.00014335577523038028_r8, 0.00014543154725603236_r8, & + 0.00014206421926949933_r8, 0.00013881795245931003_r8, & + 0.00014287461715460412_r8, 0.00014969802665348509_r8, & + 0.00015297406640560579_r8, 0.00015152129447649048_r8, & + 0.00015178854836413975_r8, 0.00016145239775148301_r8, & + 0.0001622226910774369_r8, 0.00016243838122580721_r8, & + 0.00016210444059259368_r8, 0.00016113657857392972_r8, & + 0.00016288640772895222_r8, 0.0001628801178644376_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,68) / & + 1.4203782610623723e-05_r8, 1.5311707442920826e-05_r8, & + 8.4601783713889841e-06_r8, 7.619342637035824e-06_r8, & + 7.7314747167394248e-06_r8, 8.0806396801915397e-06_r8, & + 9.9524281496826951e-06_r8, 1.3593993800208496e-05_r8, & + 1.658195669736224e-05_r8, 2.2570026250070679e-05_r8, & + 2.8798991358889742e-05_r8, 3.8416183991079431e-05_r8, & + 4.9971875038122459e-05_r8, 6.1373703687947847e-05_r8, & + 7.4771559226551263e-05_r8, 8.5915984656097035e-05_r8, & + 0.00010516350897233511_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,68) / & + 4.1566465062508206e-05_r8, 4.2751659694868283e-05_r8, & + 4.5339034534341072e-05_r8, 4.999173643985543e-05_r8, & + 5.6760790921152186e-05_r8, 5.8890887659782728e-05_r8, & + 6.9159842016266451e-05_r8, 7.9253985567439355e-05_r8, & + 8.9378123398159662e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,68) / & + 4.063046107717655e-05_r8, 4.1770105288758887e-05_r8, & + 4.6060745798906942e-05_r8, 5.2115872616187186e-05_r8, & + 5.9589548990516751e-05_r8, 6.1706569583760279e-05_r8, & + 7.1989160196514858e-05_r8, 7.9994332478123355e-05_r8, & + 9.3402059410355851e-05_r8, 9.4841410927623643e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,68) / & + 9.198536848409623e-05_r8, 8.8470183201667281e-05_r8, & + 9.3760125337295146e-05_r8, 0.00011509584947285111_r8, & + 0.00012773410329066889_r8, 0.00013291997100388017_r8, & + 0.00013591209545176473_r8, 0.00014573455159685105_r8, & + 0.00013268432471143072_r8, 0.00013387386319798006_r8, & + 0.00012779963615600513_r8, 0.0001165620308118876_r8, & + 9.397340442292278e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,68) / & + 9.1002100331453968e-05_r8, 8.749503694145627e-05_r8, & + 9.4263418716781301e-05_r8, 0.00012807923362715922_r8, & + 0.00013868862040530491_r8, 0.00014560214320084118_r8, & + 0.00014098807382266113_r8, 0.00013756332877520145_r8, & + 0.00013116253980861067_r8, 0.00013192988671784144_r8, & + 0.00012934450621452113_r8, 0.00012073961640358843_r8, & + 0.0001102971604790332_r8, 0.00010301908125015042_r8, & + 9.2477990586040931e-05_r8, 8.8374574910396678e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,68) / & + 9.0159433176983407e-05_r8, 8.8159921577465606e-05_r8, & + 9.8955137017814782e-05_r8, 0.00012110507697419111_r8, & + 0.00011476701509809574_r8, 0.00014819717631436405_r8, & + 0.00014119908200982317_r8, 0.00014115380021549121_r8, & + 0.00013995759889067394_r8, 0.00011895748684423769_r8, & + 0.00010500609145933912_r8, 9.4435156525262532e-05_r8, & + 8.811234947005958e-05_r8, 8.9611284061492474e-05_r8, & + 8.9773980291370399e-05_r8, 8.7689366059581864e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,68) / & + 8.6199502801290274e-05_r8, 8.8537481578762826e-05_r8, & + 9.690255258753705e-05_r8, 0.00010119962872669296_r8, & + 0.00010539292576414866_r8, 0.00011298297116586334_r8, & + 0.00014064700654347592_r8, 0.00014042455068114052_r8, & + 0.00013719516521259258_r8, 0.0001219865939484463_r8, & + 0.00011243795924444628_r8, 0.0001010237907058949_r8, & + 8.4792702028367158e-05_r8, 8.4945897247297409e-05_r8, & + 8.8795026597061907e-05_r8, 8.351356666382338e-05_r8, & + 7.7973734804425145e-05_r8, 7.7406656756135367e-05_r8, & + 7.965303628811103e-05_r8, 8.0287038764538101e-05_r8, & + 7.9448408926474878e-05_r8, 7.9786247381972219e-05_r8, & + 7.8530355687138714e-05_r8, 8.1504244273037667e-05_r8, & + 9.8238780544940345e-05_r8, 9.9566842583868848e-05_r8, & + 0.00010451950981982659_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,68) / & + 8.9892217164925541e-05_r8, 0.00010045991689495422_r8, & + 0.00010073145341329855_r8, 9.3834419624811891e-05_r8, & + 9.3615685174997283e-05_r8, 9.1733270799713963e-05_r8, & + 0.0001451590739671547_r8, 0.00013920889671119376_r8, & + 0.00012805583545227734_r8, 0.00011007457782881281_r8, & + 0.00010098115889963225_r8, 9.1610839787286218e-05_r8, & + 8.2245763320544897e-05_r8, 8.3353040391635078e-05_r8, & + 8.4443044136825384e-05_r8, 8.0939836427058453e-05_r8, & + 7.5977475306832556e-05_r8, 7.6358651282808218e-05_r8, & + 7.8600974572872977e-05_r8, 8.0067475935546064e-05_r8, & + 8.1307254967306978e-05_r8, 8.2711925409225678e-05_r8, & + 8.3973021077389986e-05_r8, 8.7201608870482293e-05_r8, & + 9.9511890432360159e-05_r8, 0.00010097689813126379_r8, & + 0.00010634867062244552_r8, 0.00011676405525276078_r8, & + 0.00011776423591098566_r8, 0.00011891716797780852_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,68) / & + 8.4245431933685871e-05_r8, 0.00010964054598154856_r8, & + 0.00010787033993335711_r8, 0.00010231323202960387_r8, & + 0.00010506515824956978_r8, 0.00011104367214081997_r8, & + 0.00015974341317305366_r8, 0.00012093118804464008_r8, & + 0.00010434270866066124_r8, 8.4882430967334714e-05_r8, & + 7.8624836018383059e-05_r8, 7.4928789000686019e-05_r8, & + 7.1204851163549966e-05_r8, 7.2815809862851897e-05_r8, & + 7.3508885720398909e-05_r8, 7.4000967686433408e-05_r8, & + 7.2946940761491511e-05_r8, 7.3720198501833764e-05_r8, & + 7.5988351099059092e-05_r8, 7.9056700196076314e-05_r8, & + 8.2203226817337304e-05_r8, 8.5472449432199787e-05_r8, & + 8.9361612911518997e-05_r8, 9.3427078051185834e-05_r8, & + 9.9698915164244076e-05_r8, 0.00010308832993452851_r8, & + 0.00010919194353722369_r8, 0.00011983517378282729_r8, & + 0.00012074893438095467_r8, 0.00011915680700467661_r8, & + 0.00011930323653056314_r8, 0.0001197348172571664_r8, & + 0.00012046219113122237_r8, 0.00012027743484772239_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,69) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,69) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,69) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,69) / & + 8.5107199544397143e-05_r8, 8.6643554092596774e-05_r8, & + 8.2574192292975663e-05_r8, 0.00010285964007846015_r8, & + 9.9705347126405496e-05_r8, 0.00010768854530856826_r8, & + 0.00012117579403971732_r8, 0.00013260147862898658_r8, & + 0.0001399468588701436_r8, 0.00015101527786453079_r8, & + 0.00015719837480073989_r8, 0.00016302744604906527_r8, & + 0.00017107440539993499_r8, 0.00017739031061058199_r8, & + 0.00018147706058901925_r8, 0.00018534073603853029_r8, & + 0.00019051305415495099_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,69) / & + 7.6732184313890901e-05_r8, 7.8174005833092717e-05_r8, & + 7.8811343042039356e-05_r8, 9.7392928818749349e-05_r8, & + 9.8353447029316286e-05_r8, 0.00010517118172480961_r8, & + 0.00011631123271964159_r8, 0.00012640902802122918_r8, & + 0.00013455613933147971_r8, 0.00014508120236552237_r8, & + 0.00015255090617922792_r8, 0.00015962539695003956_r8, & + 0.00016958754903819128_r8, 0.00017511923138928501_r8, & + 0.00017879468147115912_r8, 0.00018280730498881665_r8, & + 0.00018848974648066357_r8, 0.00018965281733859728_r8, & + 0.0001935265645926076_r8, 0.00019945025353970279_r8, & + 0.00020591602096796727_r8, 0.00021045063424305675_r8, & + 0.0002163716859672311_r8, 0.00022203629651052325_r8, & + 0.00022748681127252442_r8, 0.00023312266605626699_r8, & + 0.00023857354347166384_r8, 0.00024798597021314788_r8, & + 0.00025800053422582046_r8, 0.00026677845070916916_r8, & + 0.00027344178888406427_r8, 0.00027979554643619095_r8, & + 0.00028501868609897408_r8, 0.00029033915023489687_r8, & + 0.00029390171824121732_r8, 0.00029826066343621434_r8, & + 0.00030088940444119244_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,69) / & + 4.4013908890442143e-05_r8, 4.4792767643245913e-05_r8, & + 5.0925201500360869e-05_r8, 6.017676286638172e-05_r8, & + 6.3383547018096889e-05_r8, 6.7635303357756597e-05_r8, & + 7.4713801061542499e-05_r8, 8.4504003514671602e-05_r8, & + 9.4265345008712306e-05_r8, 0.00010026918823623403_r8, & + 0.00010931534252371335_r8, 0.00011465270489856405_r8, & + 0.00012835272967215783_r8, 0.00013847625856386482_r8, & + 0.000144923847934165_r8, 0.00015128404046748617_r8, & + 0.00016237599586367256_r8, 0.000168628304829695_r8, & + 0.00017480358919316806_r8, 0.00018031051464322613_r8, & + 0.00018521554091854525_r8, 0.00018991715821388582_r8, & + 0.00019527026646050353_r8, 0.00020006925469728267_r8, & + 0.00020483814074346375_r8, 0.00021024777086505616_r8, & + 0.00021610965468083849_r8, 0.00022966799222020278_r8, & + 0.00024082720794919892_r8, 0.00025029934498916755_r8, & + 0.00025941752431352046_r8, 0.00026784677859033969_r8, & + 0.00027575563025877912_r8, 0.00028255406262980457_r8, & + 0.00028836436621322418_r8, 0.00029427893903770705_r8, & + 0.00029891740510507058_r8, 0.00030363748210615534_r8, & + 0.00030589939137493392_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,69) / & + 1.5076089868504963e-05_r8, 1.5197927631731383e-05_r8, & + 1.8121907963682489e-05_r8, 2.0422668315489184e-05_r8, & + 2.1434459180031612e-05_r8, 2.505317457636293e-05_r8, & + 3.0872852042574243e-05_r8, 4.0767125646772485e-05_r8, & + 4.7232598616487927e-05_r8, 5.0647105820463542e-05_r8, & + 5.4993609199972159e-05_r8, 5.7657807475474533e-05_r8, & + 6.6529168367834322e-05_r8, 7.6283234261225735e-05_r8, & + 8.5696952678364393e-05_r8, 9.4749086056346291e-05_r8, & + 0.00011147413421134557_r8, 0.0001250426066693932_r8, & + 0.00013718515636932315_r8, 0.00014818713960593012_r8, & + 0.00015680077627165057_r8, 0.00016422555116885103_r8, & + 0.00017104184099673303_r8, 0.00017677730639407209_r8, & + 0.00018196903510381897_r8, 0.00018687132764564615_r8, & + 0.00019156360820387556_r8, 0.0002048243734575303_r8, & + 0.00021886583481300103_r8, 0.00023042835500073028_r8, & + 0.00024054040865969939_r8, 0.00024929855822544537_r8, & + 0.00025891987641129052_r8, 0.00026861689847362499_r8, & + 0.00027684852986119496_r8, 0.00028439649745871335_r8, & + 0.00029124106921484276_r8, 0.00029698086791450385_r8, & + 0.00030099786910067126_r8, 0.00030149922251508112_r8, & + 0.00029918175548375952_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,69) / & + 4.9216818099706204e-06_r8, 4.9045866572889414e-06_r8, & + 5.0725794524178887e-06_r8, 7.4438201975457112e-06_r8, & + 7.6781637550114057e-06_r8, 8.5553544957828838e-06_r8, & + 1.3818059899126776e-05_r8, 2.0137276074463472e-05_r8, & + 2.388192931476664e-05_r8, 2.6050792479603973e-05_r8, & + 2.7637158886080467e-05_r8, 2.836893070672955e-05_r8, & + 3.0132878789071337e-05_r8, 3.3380364654857961e-05_r8, & + 3.6642909042769945e-05_r8, 4.051731707509195e-05_r8, & + 4.8723131985929978e-05_r8, 6.1133212947132013e-05_r8, & + 7.5544939814268584e-05_r8, 9.0852610252233434e-05_r8, & + 0.00010678724903859315_r8, 0.00012014736000247842_r8, & + 0.0001327380082503181_r8, 0.00014392989781946872_r8, & + 0.00015396400459035198_r8, 0.00016226270463079172_r8, & + 0.00016896864892046752_r8, 0.00018315653413645327_r8, & + 0.00019637306692245414_r8, 0.00021036971596947641_r8, & + 0.00022366294718799017_r8, 0.0002328916582161499_r8, & + 0.000240701096889484_r8, 0.00024978031041071158_r8, & + 0.00026004433246728522_r8, 0.00027117225168913392_r8, & + 0.00028146970865365942_r8, 0.00028988152230736801_r8, & + 0.00029485695836769198_r8, 0.00029700014163329728_r8, & + 0.00029715170869463548_r8, 0.00029694659566811561_r8, & + 0.00029681140841648982_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,69) / & + 4.5724937031483311e-06_r8, 4.5506048793576001e-06_r8, & + 4.5501374438046087e-06_r8, 6.076043799117276e-06_r8, & + 6.1902785672868576e-06_r8, 6.5728733478549724e-06_r8, & + 9.0714920945028722e-06_r8, 1.3335170823313582e-05_r8, & + 1.4912594573646552e-05_r8, 1.6032445468675323e-05_r8, & + 1.6866069294436662e-05_r8, 1.7547594083989905e-05_r8, & + 1.858247871668672e-05_r8, 2.0010206533181216e-05_r8, & + 2.1282947101311718e-05_r8, 2.2904756919918839e-05_r8, & + 2.7297460832763208e-05_r8, 3.4901463115380304e-05_r8, & + 4.5803790116661803e-05_r8, 5.9868991008746836e-05_r8, & + 7.5969231608281155e-05_r8, 9.1998613253613414e-05_r8, & + 0.00010838203407225498_r8, 0.0001240045698965716_r8, & + 0.00013879381726862377_r8, 0.00015168467283201156_r8, & + 0.00016253229908821872_r8, 0.00018366806183617952_r8, & + 0.00019818457412689556_r8, 0.00021255653204838371_r8, & + 0.00022718597398486195_r8, 0.0002352829218621758_r8, & + 0.00023966157748934509_r8, 0.00024497936014318159_r8, & + 0.00025433664287224657_r8, 0.0002677422025576986_r8, & + 0.00028093703106210545_r8, 0.00029066567221547681_r8, & + 0.00029574592201385549_r8, 0.00029745665491766028_r8, & + 0.0002963243992005513_r8, 0.00029698343931629977_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,69) / & + 6.0460700799755634e-06_r8, 5.980327559103841e-06_r8, & + 5.9201054281464156e-06_r8, 6.1564934265175819e-06_r8, & + 6.1554250016485697e-06_r8, 6.3307418651041774e-06_r8, & + 7.1856283005508628e-06_r8, 9.3349854311475919e-06_r8, & + 1.0798502140483661e-05_r8, 1.2589077274059429e-05_r8, & + 1.4140760271867429e-05_r8, 1.5754273832451457e-05_r8, & + 1.7937907199226505e-05_r8, 1.9395189348613476e-05_r8, & + 2.0512788069315442e-05_r8, 2.1677479276085632e-05_r8, & + 2.5319186093239301e-05_r8, 3.1628192213971969e-05_r8, & + 4.2040433427428135e-05_r8, 5.6554692478197825e-05_r8, & + 7.4275491550235414e-05_r8, 9.2085757460407287e-05_r8, & + 0.00011090452809775745_r8, 0.00013008116265518727_r8, & + 0.00014806955201304204_r8, 0.00016394576604498336_r8, & + 0.00017794629303009149_r8, 0.00020433383890826643_r8, & + 0.00022023910487072891_r8, 0.00023333955095479949_r8, & + 0.00024443499921393119_r8, 0.00025050901357506517_r8, & + 0.00025192661132822695_r8, 0.00025284126074837652_r8, & + 0.00026019735262109339_r8, 0.00027218840138121784_r8, & + 0.00028482163612370936_r8, 0.00029293833506996539_r8, & + 0.00029607967377905467_r8, 0.00029810669293240625_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,69) / & + 6.591399709505155e-06_r8, 6.4993140747361849e-06_r8, & + 6.4383762837171257e-06_r8, 7.112529710070588e-06_r8, & + 7.1416866890925435e-06_r8, 7.0530633026874371e-06_r8, & + 6.3106171004714433e-06_r8, 7.0112323137569354e-06_r8, & + 8.3487166467608184e-06_r8, 1.0172100032333277e-05_r8, & + 1.2167908218513951e-05_r8, 1.4498376046786289e-05_r8, & + 1.7325763419951822e-05_r8, 1.8950618858524725e-05_r8, & + 2.032399478338553e-05_r8, 2.1686577490383738e-05_r8, & + 2.4903853798057497e-05_r8, 3.0635901545914312e-05_r8, & + 4.0808375732775195e-05_r8, 5.5751493084048407e-05_r8, & + 7.4174840400442147e-05_r8, 9.358447798269729e-05_r8, & + 0.0001149316087141541_r8, 0.00013721969277269671_r8, & + 0.00015767927708263692_r8, 0.0001758926580227486_r8, & + 0.00019096478214727044_r8, 0.00021790359356924286_r8, & + 0.00023374068929490443_r8, 0.00024497709670777168_r8, & + 0.00025332036668334847_r8, 0.0002580924582974702_r8, & + 0.00025892778371393202_r8, 0.00025973697593043016_r8, & + 0.0002659626936829717_r8, 0.00027609311149940654_r8, & + 0.00028390750139450319_r8, 0.0002923663422933309_r8, & + 0.00029498287402894243_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,69) / & + 5.4725290246001465e-06_r8, 5.3559750977054995e-06_r8, & + 5.1963320947620851e-06_r8, 4.8971805963261905e-06_r8, & + 5.1408431045282255e-06_r8, 5.8334712869551605e-06_r8, & + 6.0369862844215477e-06_r8, 5.0973879090698893e-06_r8, & + 5.7442834771585268e-06_r8, 6.8518859948607661e-06_r8, & + 8.5307948701346104e-06_r8, 1.1278151990790304e-05_r8, & + 1.5193653967891965e-05_r8, 1.7616610323520898e-05_r8, & + 1.9265676876955737e-05_r8, 2.0836875427893562e-05_r8, & + 2.3811503873926855e-05_r8, 2.8653158311496546e-05_r8, & + 3.7880617711142372e-05_r8, 5.282329021594476e-05_r8, & + 7.2510214478352811e-05_r8, 9.4839558684753019e-05_r8, & + 0.00011853986505143783_r8, 0.00014223959383381012_r8, & + 0.00016474914904361093_r8, 0.00018309993602378565_r8, & + 0.00019794335412842435_r8, 0.00022594148387239892_r8, & + 0.00024121320034544406_r8, 0.00025162755927442927_r8, & + 0.0002589274569218048_r8, 0.00026328404236285202_r8, & + 0.0002641912605318462_r8, 0.00026373737083433801_r8, & + 0.0002663220093220647_r8, 0.00027259922429894947_r8, & + 0.00026732740529675805_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,69) / & + 3.6435873321717143e-06_r8, 3.6905916167754463e-06_r8, & + 3.4336350391580426e-06_r8, 3.1765932384070273e-06_r8, & + 3.3576714857535373e-06_r8, 3.1508939781254686e-06_r8, & + 3.992712924423224e-06_r8, 3.2914657942672147e-06_r8, & + 3.5285212581518578e-06_r8, 3.9692323318764687e-06_r8, & + 4.7834903270108185e-06_r8, 6.6976696890595675e-06_r8, & + 1.1741054611612119e-05_r8, 1.6242834828436403e-05_r8, & + 1.9171473901152251e-05_r8, 2.054582163138422e-05_r8, & + 2.2442715854736673e-05_r8, 2.6204086097395654e-05_r8, & + 3.4038665549378089e-05_r8, 4.8528624716810048e-05_r8, & + 7.0022106482779179e-05_r8, 9.5465340162345674e-05_r8, & + 0.00012196782673046715_r8, 0.00014804696176888202_r8, & + 0.00017180335975541068_r8, 0.00018932364300707679_r8, & + 0.00020445956328369401_r8, 0.00023135566104171877_r8, & + 0.00024507278272495033_r8, 0.00025569428070997376_r8, & + 0.00026335396210431302_r8, 0.00026772974453510373_r8, & + 0.00026823207061520393_r8, 0.000268067499452261_r8, & + 0.00026843943579789049_r8, 0.00026773098183145651_r8, & + 0.0002653249377021278_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,69) / & + 3.1792733967012135e-06_r8, 3.4558517842981741e-06_r8, & + 3.455126703040277e-06_r8, 2.7852381766936336e-06_r8, & + 2.8085191001246008e-06_r8, 2.7245780732756971e-06_r8, & + 4.2890866505424761e-06_r8, 3.4022418233360455e-06_r8, & + 3.2058151376885311e-06_r8, 3.1335977197787191e-06_r8, & + 3.2167517674062089e-06_r8, 4.0665962247446233e-06_r8, & + 8.5369866822465479e-06_r8, 1.7225854283248737e-05_r8, & + 2.367524352896056e-05_r8, 2.4944231268225789e-05_r8, & + 2.3568093659182269e-05_r8, 2.5955183046974379e-05_r8, & + 3.3852240867369067e-05_r8, 5.0801911866809373e-05_r8, & + 7.6058826615156135e-05_r8, 0.00010431379646880318_r8, & + 0.00013296797389563447_r8, 0.00016048053055642964_r8, & + 0.00018220265365628826_r8, 0.00019731829429010832_r8, & + 0.00021068005256096747_r8, 0.00023275562063054047_r8, & + 0.00024422067066679279_r8, 0.00025449073378508246_r8, & + 0.00026153056649011003_r8, 0.00026493891189968742_r8, & + 0.00026658510433875314_r8, 0.00026811887248862678_r8, & + 0.00026964355836077522_r8, 0.00026988772931742119_r8, & + 0.00026538839261122882_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,69) / & + 4.1583472849456111e-06_r8, 4.3350236987835252e-06_r8, & + 4.5462776535755836e-06_r8, 2.983183794510217e-06_r8, & + 2.9271832159030073e-06_r8, 2.6571644701884193e-06_r8, & + 6.1278774313913074e-06_r8, 4.4068276714461018e-06_r8, & + 4.552628911806747e-06_r8, 4.1831124425853013e-06_r8, & + 3.9176667939051004e-06_r8, 3.9019016066819818e-06_r8, & + 8.115848186801086e-06_r8, 1.9867717957974249e-05_r8, & + 3.1669986715187094e-05_r8, 3.5582618656935359e-05_r8, & + 3.2401387001489913e-05_r8, 3.3078230887653774e-05_r8, & + 4.4515200150958649e-05_r8, 6.7395085965010068e-05_r8, & + 9.6741242928908178e-05_r8, 0.00012684046937462388_r8, & + 0.00015208056840139089_r8, 0.00017385012948763616_r8, & + 0.00019073764808832746_r8, 0.0002033716960524975_r8, & + 0.00021560428824069386_r8, 0.00023597439782116443_r8, & + 0.00024697740845956419_r8, 0.00025622063647663857_r8, & + 0.00026252907584017502_r8, 0.00026530345943598561_r8, & + 0.00026736761542594297_r8, 0.00026931063450213782_r8, & + 0.00027064334913374442_r8, 0.00027199145005723005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,69) / & + 4.5458915789395896e-06_r8, 4.431319660155882e-06_r8, & + 4.4796880857957243e-06_r8, 3.4448199408525746e-06_r8, & + 3.3941829297853595e-06_r8, 2.9901635381162411e-06_r8, & + 5.4649846308980994e-06_r8, 4.2504989361689557e-06_r8, & + 4.4137880573775533e-06_r8, 4.3377615084919295e-06_r8, & + 4.3608292711565645e-06_r8, 5.2970336622852898e-06_r8, & + 1.4352101259648945e-05_r8, 3.0613782122241788e-05_r8, & + 4.2329157855598426e-05_r8, 4.7412294317367637e-05_r8, & + 4.7558712818515742e-05_r8, 5.3956376924877625e-05_r8, & + 7.3695514347841924e-05_r8, 0.00010088738244385562_r8, & + 0.00012996882372891545_r8, 0.00015545018390201407_r8, & + 0.00017533213602349585_r8, 0.00019178548063882494_r8, & + 0.00020536752891985396_r8, 0.00021719893335014369_r8, & + 0.00022902904047994912_r8, 0.00025003341796190758_r8, & + 0.00026258909958882702_r8, 0.00027162003292613104_r8, & + 0.0002779157251310534_r8, 0.00028128605769127613_r8, & + 0.00028446703435989606_r8, 0.00028851189389929798_r8, & + 0.00029198996396827823_r8, 0.00029420272094385884_r8, & + 0.00029452781088802371_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,69) / & + 4.5212607685304309e-06_r8, 4.360235857407179e-06_r8, & + 4.2899903303350556e-06_r8, 4.0700601382023708e-06_r8, & + 4.0348465946784532e-06_r8, 4.0419796643604789e-06_r8, & + 4.1584828213262181e-06_r8, 3.6627302982263116e-06_r8, & + 3.6219701206312291e-06_r8, 3.8535655589210904e-06_r8, & + 5.5362570051346804e-06_r8, 1.0422611045114007e-05_r8, & + 2.8956776217816404e-05_r8, 4.7010735039117922e-05_r8, & + 5.6275295925236971e-05_r8, 6.0244012353147579e-05_r8, & + 6.5519282294825964e-05_r8, 8.0777953001478733e-05_r8, & + 0.00010457721406313664_r8, 0.00013045055682990632_r8, & + 0.00015591124323580929_r8, 0.00017712098011065104_r8, & + 0.00019583044795135225_r8, 0.00021154447902955382_r8, & + 0.00022545318648855572_r8, 0.00023944854078516371_r8, & + 0.00025159192338198156_r8, 0.00027299530293637591_r8, & + 0.00028442768282741757_r8, 0.00029057762307794908_r8, & + 0.00029647487666113525_r8, 0.00030235312342222285_r8, & + 0.00030763402247024749_r8, 0.00031200185884326838_r8, & + 0.00031384590680081986_r8, 0.00031410427993112429_r8, & + 0.00031315888749154923_r8, 0.0003101778266622196_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,69) / & + 5.6412746295830965e-06_r8, 5.5664374052297507e-06_r8, & + 5.3711888574678307e-06_r8, 5.2700077134710806e-06_r8, & + 5.369655093238788e-06_r8, 6.1443217202168317e-06_r8, & + 5.4357307665405259e-06_r8, 5.1144326178964825e-06_r8, & + 5.7557147357773412e-06_r8, 8.3003905566133054e-06_r8, & + 1.4457068543562457e-05_r8, 2.5186221583887028e-05_r8, & + 4.8268672590261805e-05_r8, 6.1549585830793167e-05_r8, & + 6.8749285703554553e-05_r8, 7.4173213484063052e-05_r8, & + 8.4505295294218458e-05_r8, 0.00010192946423841807_r8, & + 0.00012451848548118133_r8, 0.00014901237656206909_r8, & + 0.00017214794321650597_r8, 0.00019364584474231318_r8, & + 0.00021395694579731667_r8, 0.00023195399287028915_r8, & + 0.00024833091025242969_r8, 0.00026420138511918599_r8, & + 0.00027741696435676887_r8, 0.00030171012265383035_r8, & + 0.00031247470846481571_r8, 0.00031688810991722493_r8, & + 0.00032231852258313994_r8, 0.00032835627350929645_r8, & + 0.00033344851454751828_r8, 0.00033470834465626628_r8, & + 0.00033224775838570708_r8, 0.00032828180415709111_r8, & + 0.00032587247374749685_r8, 0.00032351286436206914_r8, & + 0.00032161656252799981_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,69) / & + 7.7481932178365493e-06_r8, 7.5494221601691059e-06_r8, & + 7.749160931758962e-06_r8, 8.3496647290304806e-06_r8, & + 9.0649527450585076e-06_r8, 1.0123497691935151e-05_r8, & + 1.0736930285784845e-05_r8, 1.3828034448061069e-05_r8, & + 2.0743982476982553e-05_r8, 3.1325601095436611e-05_r8, & + 4.2750530693690702e-05_r8, 5.4304328589856524e-05_r8, & + 6.8472148413632286e-05_r8, 7.6426192214303816e-05_r8, & + 8.2301436031687844e-05_r8, 8.8312194043157591e-05_r8, & + 0.00010143670395485746_r8, 0.00011853228071749239_r8, & + 0.00013955679823750416_r8, 0.00016318596753785267_r8, & + 0.00018699861351169976_r8, 0.00020970387733457025_r8, & + 0.00023053040517076443_r8, 0.00025273473752049965_r8, & + 0.00027217840690325771_r8, 0.00028859627709116041_r8, & + 0.00030325823580447197_r8, 0.00033000862766658935_r8, & + 0.00034529816608875003_r8, 0.00035330232677560424_r8, & + 0.00035879730607066648_r8, 0.00036218052038682958_r8, & + 0.00036222153747288887_r8, 0.00035744057271935647_r8, & + 0.000352402158400171_r8, 0.00034647141343182751_r8, & + 0.00034312025271038613_r8, 0.00033953520563047778_r8, & + 0.00033891575306270921_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,69) / & + 9.8375173071605268e-06_r8, 1.0401930515730652e-05_r8, & + 1.1241858723239861e-05_r8, 1.2202055694144827e-05_r8, & + 1.5024658526334012e-05_r8, 1.8853753718965618e-05_r8, & + 2.5999986546205628e-05_r8, 3.8170905626940141e-05_r8, & + 4.9878526086939365e-05_r8, 5.9201049995660889e-05_r8, & + 6.5332032187577897e-05_r8, 7.0546792577144511e-05_r8, & + 7.6358200033101617e-05_r8, 8.2493265327710606e-05_r8, & + 9.0418775374055666e-05_r8, 9.8070528011004753e-05_r8, & + 0.00011550848781866629_r8, 0.00013580638211560075_r8, & + 0.00015794319921577456_r8, 0.00018068532021763936_r8, & + 0.0002043886034682109_r8, 0.00022486472752090251_r8, & + 0.00024672264976212247_r8, 0.00027274064467664252_r8, & + 0.00029444680829243062_r8, 0.00031250009873861923_r8, & + 0.00032891395109441683_r8, 0.00035791044770776926_r8, & + 0.0003769592924681163_r8, 0.00038674676681613537_r8, & + 0.0003908865533417528_r8, 0.00039280988316495186_r8, & + 0.00039041804867445592_r8, 0.00038393017988866158_r8, & + 0.00037843472727138144_r8, 0.00037137757032294533_r8, & + 0.00036659028213892249_r8, 0.00035921555541213108_r8, & + 0.00034748999880933085_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,69) / & + 1.162697568270499e-05_r8, 1.296455080179527e-05_r8, & + 1.4378619493264126e-05_r8, 1.6934831431344404e-05_r8, & + 2.1754597180842149e-05_r8, 2.8473397298404753e-05_r8, & + 4.1015538571089953e-05_r8, 4.8852256176133691e-05_r8, & + 5.5781324443587393e-05_r8, 6.0393343898180369e-05_r8, & + 6.3863230068428564e-05_r8, 6.8514143739286941e-05_r8, & + 7.5285416273894473e-05_r8, 8.4293523807843225e-05_r8, & + 9.7009675599712587e-05_r8, 0.00010920696735271164_r8, & + 0.00013146959433612163_r8, 0.00015461339617108642_r8, & + 0.00017715234329471262_r8, 0.00020116840786282793_r8, & + 0.00022445923702938436_r8, 0.00024345328886135319_r8, & + 0.00027153840517677293_r8, 0.00029916901791567015_r8, & + 0.00032003725138883782_r8, 0.00033773407814706132_r8, & + 0.00035440657626319676_r8, 0.00038530281012923184_r8, & + 0.00040640052746569288_r8, 0.00041748958168906118_r8, & + 0.0004193737428956492_r8, 0.00041932883901768623_r8, & + 0.00041670873240619912_r8, 0.00041136833962992239_r8, & + 0.00040822639575641124_r8, 0.00040198187866168333_r8, & + 0.00038965410677395602_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,69) / & + 1.2364341422762994e-05_r8, 1.3567145944448579e-05_r8, & + 1.6500537169689563e-05_r8, 2.3266378844197265e-05_r8, & + 2.8702767957341132e-05_r8, 3.5458953349785053e-05_r8, & + 4.3493061029651742e-05_r8, 4.7851665150827131e-05_r8, & + 5.2054455998369693e-05_r8, 5.6049618324360393e-05_r8, & + 5.8914446211151516e-05_r8, 6.3805510990965853e-05_r8, & + 7.5373581188646469e-05_r8, 9.0134318948183268e-05_r8, & + 0.00010472368899231681_r8, 0.00011829458760123503_r8, & + 0.00014143616901880472_r8, 0.00016820138468725472_r8, & + 0.00019386694103876899_r8, 0.00021811782351092518_r8, & + 0.00024056843182661378_r8, 0.00026213500520806725_r8, & + 0.00029150704534549747_r8, 0.00032056404272686406_r8, & + 0.00034065887066931657_r8, 0.0003566060517894592_r8, & + 0.00037257870540314506_r8, 0.00040548192647536031_r8, & + 0.00043117792523149166_r8, 0.00044294932146729597_r8, & + 0.0004429989052091572_r8, 0.00044098779512131308_r8, & + 0.00043788974154450994_r8, 0.00043009358369441468_r8, & + 0.00042593731443400665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,69) / & + 1.0202885544145128e-05_r8, 1.1591585269633284e-05_r8, & + 1.5228925609622607e-05_r8, 1.8331676833566848e-05_r8, & + 2.5291326183836284e-05_r8, 3.4597087698097022e-05_r8, & + 4.6813166110943658e-05_r8, 5.0279069455670759e-05_r8, & + 5.4873139046863563e-05_r8, 5.8517409935867114e-05_r8, & + 6.1504230612546623e-05_r8, 6.6279692720430761e-05_r8, & + 7.7515404773061564e-05_r8, 9.2767101441731129e-05_r8, & + 0.00010929041288304913_r8, 0.00012657467566389079_r8, & + 0.00015244361329294558_r8, 0.0001813450200304738_r8, & + 0.00020784371223581748_r8, 0.00023301519674129339_r8, & + 0.00025601587511573222_r8, 0.00028155397711489164_r8, & + 0.00031138668717940949_r8, 0.00033679584670300814_r8, & + 0.00035745587864040339_r8, 0.00037459119153225519_r8, & + 0.00039133847218618438_r8, 0.00042636850743378119_r8, & + 0.00045405700887673003_r8, 0.00047004937953063543_r8, & + 0.00047504462353415577_r8, 0.00047612461982311598_r8, & + 0.00047150856083261157_r8, 0.00046777938821114084_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,69) / & + 7.0379899524816833e-06_r8, 9.4398349005834954e-06_r8, & + 1.4029445335323875e-05_r8, 2.0898734791223634e-05_r8, & + 3.165545414338345e-05_r8, 3.9859771299246767e-05_r8, & + 5.4436255125686153e-05_r8, 5.8734522174794673e-05_r8, & + 6.3779263639654406e-05_r8, 6.8178409668081098e-05_r8, & + 7.1720265247083125e-05_r8, 7.6006962488593414e-05_r8, & + 8.3429871727273242e-05_r8, 9.4891129709815015e-05_r8, & + 0.00011116403662460963_r8, 0.00013176645172767435_r8, & + 0.0001676598381231725_r8, 0.00019416218802444275_r8, & + 0.00022155877380270852_r8, 0.00024929331806138847_r8, & + 0.00027427800683369033_r8, 0.00030099677002164073_r8, & + 0.00032941129869467337_r8, 0.0003536361760938049_r8, & + 0.00037397237284497584_r8, 0.00039298295073322923_r8, & + 0.00041020760599435382_r8, 0.00044141401448612671_r8, & + 0.00046550513212124006_r8, 0.00048532046709991508_r8, & + 0.00049442532813285135_r8, 0.0004978340933665473_r8, & + 0.00049853065541213164_r8, 0.00049519043750421814_r8, & + 0.00049232442738684774_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,69) / & + 6.7138747450274214e-06_r8, 9.7468217265920471e-06_r8, & + 1.6076243037567471e-05_r8, 3.0599920490978975e-05_r8, & + 4.5443466749034122e-05_r8, 5.2849916823159324e-05_r8, & + 6.177112409034995e-05_r8, 7.0367555354956709e-05_r8, & + 7.41469737447056e-05_r8, 7.8347484617550937e-05_r8, & + 8.200065989366719e-05_r8, 8.5656313732907716e-05_r8, & + 9.2744856811690152e-05_r8, 0.00010351928669829181_r8, & + 0.00012041641086366153_r8, 0.00014145564473672472_r8, & + 0.00018213023655103759_r8, 0.00021257817128127635_r8, & + 0.00023923507795599609_r8, 0.00026744856062538118_r8, & + 0.00029361422120021275_r8, 0.00032068449334611646_r8, & + 0.00034605879202613641_r8, 0.0003696557222305869_r8, & + 0.00038853934154551786_r8, 0.00040728671909199448_r8, & + 0.00042359518471726424_r8, 0.00045597191802669947_r8, & + 0.00048004608329670133_r8, 0.00049960430611657323_r8, & + 0.00050942977379605408_r8, 0.00051338938395064238_r8, & + 0.00051456155300146176_r8, 0.00051304501996672798_r8, & + 0.00051225772694548526_r8, 0.00050723481862816272_r8, & + 0.00050444911109349608_r8, 0.00050290022612843209_r8, & + 0.00050759898702761258_r8, 0.00050809794127726468_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,69) / & + 6.2966055941773363e-06_r8, 9.7234228983486335e-06_r8, & + 1.5600108429402609e-05_r8, 2.8339065102716188e-05_r8, & + 4.4580531073723419e-05_r8, 5.3048695958416606e-05_r8, & + 6.5050022417001194e-05_r8, 7.5762211828077794e-05_r8, & + 7.9750144334826928e-05_r8, 8.348925613736353e-05_r8, & + 8.6964942002958198e-05_r8, 9.0924997377071298e-05_r8, & + 9.8844309112349233e-05_r8, 0.00010890285633667299_r8, & + 0.00012802506535924084_r8, 0.00015150243208507632_r8, & + 0.00019324292606022584_r8, 0.00022631255284195548_r8, & + 0.00025227065620394429_r8, 0.00027981310340681204_r8, & + 0.00030792112957289366_r8, 0.00033647824010812601_r8, & + 0.00036280861066744836_r8, 0.00038629844750725812_r8, & + 0.0004057315350090825_r8, 0.00042419871963979104_r8, & + 0.00043983425865967821_r8, 0.00047344069332538999_r8, & + 0.0004974334532985785_r8, 0.00051531379739913066_r8, & + 0.00052568097678534211_r8, 0.00052952478282283755_r8, & + 0.00053069333123241329_r8, 0.00053023516175551664_r8, & + 0.00052931894840162902_r8, 0.00052497007782279946_r8, & + 0.00052228422238362901_r8, 0.00052153772600216483_r8, & + 0.00052410344184720807_r8, 0.00052472621508638099_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,69) / & + 7.3508195475997178e-06_r8, 7.0620992803941833e-06_r8, & + 7.3751371837280094e-06_r8, 8.4110597665918861e-06_r8, & + 9.1397903849905144e-06_r8, 9.5628632729822678e-06_r8, & + 1.0012633494906543e-05_r8, 1.7058554105833335e-05_r8, & + 1.6463324105648598e-05_r8, 2.0078059500369993e-05_r8, & + 2.1643120910546037e-05_r8, 2.1760636849371481e-05_r8, & + 1.8243040688460147e-05_r8, 1.2568251579664298e-05_r8, & + 2.1454888800529359e-05_r8, 3.1284346276644153e-05_r8, & + 2.4773740120012997e-05_r8, 2.9882790441324139e-05_r8, & + 3.3727847541385765e-05_r8, 3.6656027828760593e-05_r8, & + 3.5313399033019638e-05_r8, 3.5914332659592014e-05_r8, & + 2.8551348354554494e-05_r8, 2.3926372622897396e-05_r8, & + 2.5060933175361881e-05_r8, 2.5381256209291792e-05_r8, & + 9.7669759183398295e-06_r8, 9.6693135397072996e-06_r8, & + 9.6676691585428032e-06_r8, 9.666564022383457e-06_r8, & + 9.6663827284921502e-06_r8, 9.6665310311964076e-06_r8, & + 9.666677118331313e-06_r8, 9.6666842446459644e-06_r8, & + 9.6666902307583931e-06_r8, 9.6671279277594611e-06_r8, & + 9.6669419304718753e-06_r8, 9.6660083220961897e-06_r8, & + 9.665204520925013e-06_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,69) / & + 8.6636615721556394e-06_r8, 8.3170624359773834e-06_r8, & + 6.3499292389046265e-06_r8, 5.7355929732168764e-06_r8, & + 5.6629084042041367e-06_r8, 5.7676132782379101e-06_r8, & + 7.1969984517514058e-06_r8, 1.0419605077716547e-05_r8, & + 1.1851644837493078e-05_r8, 1.5832673346833247e-05_r8, & + 2.0243989479593668e-05_r8, 2.5364617574912386e-05_r8, & + 3.2912649549468153e-05_r8, 4.5855673024991255e-05_r8, & + 5.2944024370418728e-05_r8, 6.2671411075793844e-05_r8, & + 8.614929841024407e-05_r8, 0.00010372779723179438_r8, & + 0.00011859167367489544_r8, 0.00012928996449145479_r8, & + 0.00013451853149525929_r8, 0.00013607133663800131_r8, & + 0.00012961450397888424_r8, 0.00012613695997471945_r8, & + 0.00013254900320676491_r8, 0.00014076821927702172_r8, & + 0.00010361610863117458_r8, 0.00010233491618919553_r8, & + 0.00012940918975472296_r8, 0.0001363596355379133_r8, & + 0.0001366972219773826_r8, 0.00013675899234284012_r8, & + 0.00013689245174011044_r8, 0.00010693304577252523_r8, & + 0.00010692310328564308_r8, 8.2734134172337558e-05_r8, & + 1.0162969757518223e-05_r8, 1.0161866103100522e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,69) / & + 8.0287450819355007e-06_r8, 7.3088876789696367e-06_r8, & + 6.2740080475067845e-06_r8, 4.5804396541867219e-06_r8, & + 4.7196189965437744e-06_r8, 5.0161988194119676e-06_r8, & + 6.0093299488076993e-06_r8, 8.9552089830249056e-06_r8, & + 1.1487482410775067e-05_r8, 1.5721371967177367e-05_r8, & + 2.1390962859323221e-05_r8, 2.8678936663947453e-05_r8, & + 4.0997118387263724e-05_r8, 5.4102326369099692e-05_r8, & + 6.5402630730797772e-05_r8, 7.8617539814072453e-05_r8, & + 0.00010054461827076472_r8, 0.00011729488889263561_r8, & + 0.0001321076128218577_r8, 0.00014193273134286021_r8, & + 0.00014621373002138982_r8, 0.00014681440481428463_r8, & + 0.00014137659613602517_r8, 0.00013811543781315394_r8, & + 0.00014283942088921196_r8, 0.00015072650208597651_r8, & + 0.00015428861330716586_r8, 0.00015356845874272616_r8, & + 0.0001551687871141484_r8, 0.00016186062322954016_r8, & + 0.0001623227465803736_r8, 0.0001623479958091161_r8, & + 0.00016250782391547566_r8, 0.00016260528060358975_r8, & + 0.0001628785831624435_r8, 0.00016288007447114853_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,69) / & + 1.1931524720623092e-05_r8, 9.8349198128531993e-06_r8, & + 5.9518019155779414e-06_r8, 5.46879924362164e-06_r8, & + 5.7711493330055411e-06_r8, 5.9916227036146793e-06_r8, & + 7.5914080223874578e-06_r8, 1.1344230411609492e-05_r8, & + 1.3938566640438499e-05_r8, 1.8890707595994209e-05_r8, & + 2.613477096451741e-05_r8, 3.6119354739838488e-05_r8, & + 5.0554488029856853e-05_r8, 6.0583862774145915e-05_r8, & + 7.2762364514987116e-05_r8, 8.4364175574744611e-05_r8, & + 0.00010625854810900222_r8, 0.00012647522343515067_r8, & + 0.00014232465407743115_r8, 0.00015213347282889368_r8, & + 0.00015583196728636355_r8, 0.0001572710133125753_r8, & + 0.00015331684214015808_r8, 0.00015053081452157577_r8, & + 0.00015434109387601577_r8, 0.00016033173501443131_r8, & + 0.00016223210834541137_r8, 0.00016157769121530731_r8, & + 0.00016465166758762643_r8, 0.00016979133501721688_r8, & + 0.00016988444700700474_r8, 0.00016987424968644487_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,69) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,69) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,69) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,69) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,69) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,69) / & + 4.413318364741566e-05_r8, 4.4209382904948711e-05_r8, & + 4.6104691797557802e-05_r8, 4.8744178708344665e-05_r8, & + 5.3548871570738395e-05_r8, 5.817517823215014e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,69) / & + 4.3564085419411458e-05_r8, 4.4397978730351703e-05_r8, & + 4.5929586883402641e-05_r8, 4.9815784474146602e-05_r8, & + 5.4743596806387148e-05_r8, 5.8446067808104843e-05_r8, & + 6.9098664366711203e-05_r8, 8.0551569835760238e-05_r8, & + 9.1056913404465294e-05_r8, 9.3490114059611312e-05_r8, & + 9.3658564443798426e-05_r8, 9.2095220380659934e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,69) / & + 4.0682136854196406e-05_r8, 4.1964261666490443e-05_r8, & + 4.6154644496226243e-05_r8, 5.2591854226418359e-05_r8, & + 5.8840546199159651e-05_r8, 6.105985601411365e-05_r8, & + 7.2048860490600525e-05_r8, 8.3503041971095819e-05_r8, & + 9.4686850537736196e-05_r8, 9.6344849790594065e-05_r8, & + 9.7121493268150562e-05_r8, 9.4747737878602315e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,69) / & + 5.1487836293603219e-05_r8, 5.1458579228103931e-05_r8, & + 5.6314998337662874e-05_r8, 6.1142439308530775e-05_r8, & + 6.6686533450071122e-05_r8, 6.5117896108812717e-05_r8, & + 7.5436858396494769e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,69) / & + 9.3337189818713811e-05_r8, 8.9216094118894571e-05_r8, & + 9.4350650900716047e-05_r8, 0.00011543709651664347_r8, & + 0.00012752946208543042_r8, 0.00013290213826905461_r8, & + 0.00013938638335198619_r8, 0.00014080176860406925_r8, & + 0.00012767448865100438_r8, 0.00013509864224185714_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,69) / & + 9.0066016902734395e-05_r8, 8.7785502245323903e-05_r8, & + 9.4442485793381421e-05_r8, 0.00013126294428035014_r8, & + 0.00013691804380048801_r8, 0.00014204420066973416_r8, & + 0.0001394078590256144_r8, 0.00013549673050590902_r8, & + 0.00013122912696171896_r8, 0.00013050915217924415_r8, & + 0.00013125507453420283_r8, 0.00013253881269124099_r8, & + 0.00012797187158496381_r8, 0.00012155223289945103_r8, & + 0.00011580275195298791_r8, 0.00012287246608527508_r8, & + 0.00021209457593369355_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,69) / & + 9.0332536178438266e-05_r8, 8.9272445859484866e-05_r8, & + 9.8350579522118911e-05_r8, 0.00011764831992612739_r8, & + 0.00010423842104203445_r8, 0.00014451278497851623_r8, & + 0.00013649327182751184_r8, 0.00013704800624250436_r8, & + 0.00013677649052956951_r8, 0.00012029075125915295_r8, & + 0.00010830331346301531_r8, 0.00010478141703452673_r8, & + 0.00012320807991324944_r8, 0.00015711718079649975_r8, & + 0.00015277520145467354_r8, 0.00015054339927658247_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,69) / & + 8.9794624096045515e-05_r8, 9.2512134131724158e-05_r8, & + 9.8258907257490062e-05_r8, 0.00010158113373869856_r8, & + 0.00010340099538961232_r8, 0.00011093725942790034_r8, & + 0.00013808202152399256_r8, 0.00013797658284485243_r8, & + 0.00013544321688344508_r8, 0.0001229155732704302_r8, & + 0.0001140889807431063_r8, 0.00010187103565947765_r8, & + 8.5497499787709778e-05_r8, 8.4829160195013664e-05_r8, & + 8.6882787831673975e-05_r8, 8.2289159905141467e-05_r8, & + 7.7037526397414523e-05_r8, 7.6934605847842969e-05_r8, & + 7.9075589864726045e-05_r8, 7.9531201631138402e-05_r8, & + 7.9333765022983379e-05_r8, 8.0352449588898939e-05_r8, & + 7.9132761203019658e-05_r8, 8.3179956206987869e-05_r8, & + 9.7660398920797176e-05_r8, 9.9661415975727693e-05_r8, & + 0.00010462876891909407_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,69) / & + 9.2113496702705473e-05_r8, 0.00010300216413111163_r8, & + 0.0001028883167508198_r8, 9.0333007633073404e-05_r8, & + 8.7602106452701464e-05_r8, 9.4015863564213357e-05_r8, & + 0.00014454677870871934_r8, 0.00013799585630393119_r8, & + 0.00012704961634001126_r8, 0.00011092590387846253_r8, & + 0.0001017242277170954_r8, 9.1834195084288596e-05_r8, & + 8.2813643697043728e-05_r8, 8.3253748609863875e-05_r8, & + 8.3245280977138007e-05_r8, 7.9705269694035737e-05_r8, & + 7.4894422000499505e-05_r8, 7.6114350599126293e-05_r8, & + 7.8357166682436444e-05_r8, 7.971330755672362e-05_r8, & + 8.1484778926441042e-05_r8, 8.3088783542385815e-05_r8, & + 8.4536720893264806e-05_r8, 8.840419470926625e-05_r8, & + 9.9247215004866375e-05_r8, 0.00010102493594190713_r8, & + 0.0001065889865556989_r8, 0.00011588977900199831_r8, & + 0.00011570520493677255_r8, 0.00011892654781669356_r8, & + 0.00011688808359559973_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,69) / & + 8.4799118903266924e-05_r8, 0.00011028195169534093_r8, & + 0.00010908039382713606_r8, 9.9105864264937632e-05_r8, & + 0.00010187833866670272_r8, 0.00011215291090546128_r8, & + 0.00015790013166309033_r8, 0.00012042341183148399_r8, & + 0.0001040992434528888_r8, 8.4805082005778021e-05_r8, & + 7.8586248005285277e-05_r8, 7.4942688461185008e-05_r8, & + 7.134419524125124e-05_r8, 7.2819868011471099e-05_r8, & + 7.347063796575222e-05_r8, 7.3858759877210088e-05_r8, & + 7.2647546969208977e-05_r8, 7.3701266676752544e-05_r8, & + 7.5987838300628366e-05_r8, 7.9048910421507056e-05_r8, & + 8.2287729914765897e-05_r8, 8.5537366222538411e-05_r8, & + 8.9468591358145847e-05_r8, 9.3548598720053915e-05_r8, & + 9.9700485287782843e-05_r8, 0.00010309678966494803_r8, & + 0.00010927439835321806_r8, 0.00011963906751127512_r8, & + 0.00012050966285697414_r8, 0.00011890154364850813_r8, & + 0.0001193132259984372_r8, 0.00011974255192632332_r8, & + 0.00012046187689746989_r8, 0.00012027935762497821_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,70) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,70) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,70) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,70) / & + 9.0075215915189096e-05_r8, 8.8585761863057159e-05_r8, & + 8.8108926274557602e-05_r8, 0.00010348628174635034_r8, & + 0.00010342204366805219_r8, 0.00011067903403724187_r8, & + 0.0001219859896924489_r8, 0.00013267646248510406_r8, & + 0.00014080337044603041_r8, 0.00015045173168049114_r8, & + 0.00015713661338231347_r8, 0.00016228571539215613_r8, & + 0.00017071803912147468_r8, 0.00017703339702576244_r8, & + 0.00018041544464565142_r8, 0.00018454893873766655_r8, & + 0.00018895188543916657_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,70) / & + 8.1987957170467004e-05_r8, 8.2708764914218345e-05_r8, & + 8.6425283060312033e-05_r8, 0.00010165083478934981_r8, & + 0.00010346628124065081_r8, 0.00011026371330423997_r8, & + 0.00011865192653663036_r8, 0.00012815972515009731_r8, & + 0.00013712915825844565_r8, 0.00014667689282915294_r8, & + 0.0001540744989937214_r8, 0.00015974095262106844_r8, & + 0.00016984919621283669_r8, 0.00017514445258761635_r8, & + 0.000178294844163861_r8, 0.00018263459206247049_r8, & + 0.00018784726433298635_r8, 0.00018843737621047695_r8, & + 0.0001933090136387461_r8, 0.00019908566773490409_r8, & + 0.00020582048379577542_r8, 0.00021233401761610668_r8, & + 0.00021839231716040393_r8, 0.00022375511303710684_r8, & + 0.00022860945923820815_r8, 0.00023317221866662587_r8, & + 0.00023860210755756583_r8, 0.0002484146296549062_r8, & + 0.00025788855040315763_r8, 0.00026639358299715535_r8, & + 0.00027255327661455285_r8, 0.00027930058182929418_r8, & + 0.0002852359396678694_r8, 0.00029052597138513804_r8, & + 0.00029485489422510314_r8, 0.0002991338577182104_r8, & + 0.00030214846768278212_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,70) / & + 4.9381324687166178e-05_r8, 5.0148642777170311e-05_r8, & + 6.1153751141313498e-05_r8, 6.981519695056959e-05_r8, & + 7.1866054082682729e-05_r8, 7.647191376039128e-05_r8, & + 8.1052865019804439e-05_r8, 9.1020717039590985e-05_r8, & + 0.00010412786663906126_r8, 0.00011221853674478252_r8, & + 0.00012130834749584525_r8, 0.00012616894591914319_r8, & + 0.00013947716827113617_r8, 0.00014589802447945624_r8, & + 0.00015093411159302549_r8, 0.00015599340907117098_r8, & + 0.0001648108457718973_r8, 0.00016905307211701257_r8, & + 0.00017549426775732968_r8, 0.00018136385361900925_r8, & + 0.00018675243872324501_r8, 0.00019283585993374767_r8, & + 0.00019862260945417237_r8, 0.00020338503872294419_r8, & + 0.00020790371862232325_r8, 0.00021342344385914247_r8, & + 0.00021893526552085429_r8, 0.00023199371987173798_r8, & + 0.00024352154389106187_r8, 0.00025310894702968996_r8, & + 0.00026169357555499658_r8, 0.00026920038533673478_r8, & + 0.00027682738942244177_r8, 0.0002836106353463768_r8, & + 0.00028931660045672153_r8, 0.00029468009112321414_r8, & + 0.00029808727554919684_r8, 0.00030190609488165516_r8, & + 0.00030237824692888729_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,70) / & + 1.6264738626247427e-05_r8, 1.659966984391457e-05_r8, & + 2.331623243077831e-05_r8, 2.5896403637475736e-05_r8, & + 2.6336928216096528e-05_r8, 3.0204580674347423e-05_r8, & + 3.7470986302144854e-05_r8, 4.6365797621850174e-05_r8, & + 5.5610548849422106e-05_r8, 6.1614210913232039e-05_r8, & + 6.7030933100178992e-05_r8, 6.8717532012185418e-05_r8, & + 7.9331097289625524e-05_r8, 8.6095060853263531e-05_r8, & + 9.3027441965247456e-05_r8, 9.9881380101926769e-05_r8, & + 0.00011211585399120152_r8, 0.00011913399231651987_r8, & + 0.00012966893417244767_r8, 0.00014018540699049445_r8, & + 0.00014928274385348625_r8, 0.000157684678399898_r8, & + 0.00016523906425912254_r8, 0.00017140735637572778_r8, & + 0.00017713020610983667_r8, 0.00018330293775259621_r8, & + 0.00018879590344748773_r8, 0.00020098362469483431_r8, & + 0.0002156207528614269_r8, 0.0002282989097734603_r8, & + 0.00023902135683070795_r8, 0.00024694236197902075_r8, & + 0.00025596426693213348_r8, 0.00026598362504168824_r8, & + 0.00027429633613083453_r8, 0.00028175339979347197_r8, & + 0.00028757402261761174_r8, 0.00029305973119637317_r8, & + 0.00029660564189668822_r8, 0.00029759292461779146_r8, & + 0.00029433422972680343_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,70) / & + 4.3691118799760477e-06_r8, 4.5189606177932913e-06_r8, & + 5.9461509265392186e-06_r8, 9.1408186600996434e-06_r8, & + 9.0090860758609567e-06_r8, 9.9194694662766203e-06_r8, & + 1.740301347094435e-05_r8, 2.4397852344512638e-05_r8, & + 2.9023643450096661e-05_r8, 3.197831816939297e-05_r8, & + 3.3760597611325174e-05_r8, 3.3856066504421838e-05_r8, & + 3.501177788123611e-05_r8, 3.7771954247421852e-05_r8, & + 4.018177980924646e-05_r8, 4.2556337305638523e-05_r8, & + 4.7982764627686412e-05_r8, 5.5239048807555434e-05_r8, & + 6.8119001902341677e-05_r8, 8.3285301365944813e-05_r8, & + 0.00010129282856382582_r8, 0.00011432666753899374_r8, & + 0.00012680417327174423_r8, 0.00013913518437652227_r8, & + 0.00015037114281812286_r8, 0.00015893075221652152_r8, & + 0.00016591167239448737_r8, 0.00018146639691517008_r8, & + 0.00019552267591101729_r8, 0.00020940079905841085_r8, & + 0.00022142115369453897_r8, 0.00022913044215395556_r8, & + 0.00023618554810733887_r8, 0.00024532907274016033_r8, & + 0.00025553366694810905_r8, 0.00026672695460163543_r8, & + 0.0002776563550850429_r8, 0.00028589142113479726_r8, & + 0.0002906691696424229_r8, 0.00029340458901121045_r8, & + 0.00029424199690243651_r8, 0.00029431390166685705_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,70) / & + 4.2873446648901823e-06_r8, 4.3470452726534029e-06_r8, & + 4.3907012234617516e-06_r8, 6.4562849262298628e-06_r8, & + 6.6339249705931491e-06_r8, 7.2277623056069199e-06_r8, & + 1.1054660488941758e-05_r8, 1.5150813130958312e-05_r8, & + 1.6835877143561506e-05_r8, 1.8102943447473279e-05_r8, & + 1.8952630245094707e-05_r8, 1.9678705015349371e-05_r8, & + 2.0562884294766126e-05_r8, 2.19878869318269e-05_r8, & + 2.2809682720743256e-05_r8, 2.4123663125587837e-05_r8, & + 2.7453142592989496e-05_r8, 3.3526365997647951e-05_r8, & + 4.4994032265262053e-05_r8, 6.0050723306984466e-05_r8, & + 7.6469868607859158e-05_r8, 9.3389918501395842e-05_r8, & + 0.00011031231965606417_r8, 0.00012756120498170229_r8, & + 0.00014350298058313999_r8, 0.00015677281615607855_r8, & + 0.00016809509709854573_r8, 0.00019105403241922458_r8, & + 0.00020623001308935096_r8, 0.00021996305926543782_r8, & + 0.00023187864204658975_r8, 0.00023755631183139541_r8, & + 0.0002403212909966374_r8, 0.00024414858159518084_r8, & + 0.00025208692155478029_r8, 0.00026543498525629614_r8, & + 0.00027918026557926455_r8, 0.00028967489945159195_r8, & + 0.00029462029782063935_r8, 0.00029571020939939135_r8, & + 0.00029534723148506181_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,70) / & + 6.561688658263215e-06_r8, 6.5613445647805642e-06_r8, & + 6.5256129266501744e-06_r8, 6.4290650468465675e-06_r8, & + 6.3563296723477236e-06_r8, 6.6331267588105783e-06_r8, & + 8.514329515869794e-06_r8, 1.1704898506293307e-05_r8, & + 1.3428712219162404e-05_r8, 1.503316228232528e-05_r8, & + 1.6451657174221582e-05_r8, 1.7257430599514142e-05_r8, & + 1.8733488399253947e-05_r8, 2.0489105786653908e-05_r8, & + 2.1474830499260476e-05_r8, 2.263580453413208e-05_r8, & + 2.5798710830531026e-05_r8, 3.2274290871231042e-05_r8, & + 4.3348998596944066e-05_r8, 5.9096059478391089e-05_r8, & + 7.7341183391158234e-05_r8, 9.7622003953779912e-05_r8, & + 0.00011774621907862138_r8, 0.000138798464028365_r8, & + 0.00015726011023924115_r8, 0.00017341009938213916_r8, & + 0.0001882794844068897_r8, 0.00021584934085227203_r8, & + 0.00023064238830729556_r8, 0.00024395411794705515_r8, & + 0.00025412988388284102_r8, 0.00025765738270887512_r8, & + 0.00025869265443455373_r8, 0.00025767229564507962_r8, & + 0.00025744643435520056_r8, 0.00026991839605005897_r8, & + 0.0002837156094071553_r8, 0.00029318133450996215_r8, & + 0.00029682997665911044_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,70) / & + 6.5969377544058099e-06_r8, 6.5296492155767037e-06_r8, & + 6.4399082328272939e-06_r8, 6.4592988591371502e-06_r8, & + 6.4395512537946129e-06_r8, 6.2772229481334412e-06_r8, & + 6.9752963061435991e-06_r8, 8.6615952814877795e-06_r8, & + 1.0837982218815579e-05_r8, 1.3095879122133977e-05_r8, & + 1.5207480670337217e-05_r8, 1.6754007430232806e-05_r8, & + 1.8101398876052435e-05_r8, 2.0092000507487414e-05_r8, & + 2.1984104161060367e-05_r8, 2.3726118869044741e-05_r8, & + 2.6929244763388193e-05_r8, 3.356064447086825e-05_r8, & + 4.4258142210948105e-05_r8, 5.9725780806482006e-05_r8, & + 7.8660036683621712e-05_r8, 0.00010010435506425654_r8, & + 0.00012276552849194961_r8, 0.00014632263228334818_r8, & + 0.00016650609563367204_r8, 0.00018395717404049109_r8, & + 0.00019907198247965448_r8, 0.00022533853025959795_r8, & + 0.0002404492001478673_r8, 0.00025267283472188331_r8, & + 0.00026064874431716063_r8, 0.00026436071050835907_r8, & + 0.00026465951565995477_r8, 0.00026487305056010189_r8, & + 0.00026094966221580011_r8, 0.00027200408770630821_r8, & + 0.00028437583095998069_r8, 0.00029155537235052025_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,70) / & + 4.4441379531390789e-06_r8, 4.1513117816517688e-06_r8, & + 3.7580350556982695e-06_r8, 3.9868681402962438e-06_r8, & + 3.9316500353458403e-06_r8, 3.9345037538289011e-06_r8, & + 4.7706202708380999e-06_r8, 5.7254232648315669e-06_r8, & + 7.4933264495142477e-06_r8, 9.6399243508855292e-06_r8, & + 1.2190229960985965e-05_r8, 1.535273408070826e-05_r8, & + 1.8300969526917338e-05_r8, 2.0017683308559418e-05_r8, & + 2.1469190201230468e-05_r8, 2.2849047016083546e-05_r8, & + 2.5784450622720452e-05_r8, 3.1531483621902901e-05_r8, & + 4.1950768711610801e-05_r8, 5.7749532812727721e-05_r8, & + 7.8325415779365777e-05_r8, 0.00010141946643176512_r8, & + 0.0001259336525095822_r8, 0.00014942251708714957_r8, & + 0.00017091022560542489_r8, 0.00018837281466395822_r8, & + 0.00020277025946966736_r8, 0.00022856400399307272_r8, & + 0.00024394970288078865_r8, 0.00025465099312851842_r8, & + 0.00026090595482574578_r8, 0.00026516846546173603_r8, & + 0.00026551408262995632_r8, 0.00026575094111628666_r8, & + 0.00026470475506470081_r8, 0.00026450158859049562_r8, & + 0.0002671286606895771_r8, 0.00027813424214581461_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,70) / & + 2.6707980720084069e-06_r8, 2.2788964292013067e-06_r8, & + 1.7805312925628332e-06_r8, 4.0061239308142907e-06_r8, & + 3.532958003809634e-06_r8, 2.5155076687715574e-06_r8, & + 2.6196607283910221e-06_r8, 2.8857100892731286e-06_r8, & + 3.5690817014466086e-06_r8, 4.9223515505567906e-06_r8, & + 7.3517040486179763e-06_r8, 1.1416764113541382e-05_r8, & + 1.8315477245858064e-05_r8, 2.2454898538953006e-05_r8, & + 2.4848447506795763e-05_r8, 2.4919847468460357e-05_r8, & + 2.5741995496972043e-05_r8, 3.0085860898136935e-05_r8, & + 3.9579453057947768e-05_r8, 5.5668186984722007e-05_r8, & + 7.8952702953818946e-05_r8, 0.00010533220507474819_r8, & + 0.00013149972321596236_r8, 0.00015653937909875944_r8, & + 0.00017802240336189685_r8, 0.0001949149868469102_r8, & + 0.00020939205430764446_r8, 0.00023401730404473854_r8, & + 0.00024768867772650516_r8, 0.00025783073743459041_r8, & + 0.00026476697146312299_r8, 0.00026872191101801784_r8, & + 0.00026957745975736365_r8, 0.00026938091114242952_r8, & + 0.0002686592198577663_r8, 0.00026679836361446553_r8, & + 0.00026652422347698206_r8, 0.00027813424214581461_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,70) / & + 2.4024298248139604e-06_r8, 2.2010858126230378e-06_r8, & + 2.5545378048301912e-06_r8, 4.0529039913417824e-06_r8, & + 3.7474422475915851e-06_r8, 2.5063342769692618e-06_r8, & + 2.8416692459383202e-06_r8, 2.398884460316205e-06_r8, & + 2.2064285447375213e-06_r8, 2.7013544628282528e-06_r8, & + 3.8452271807412207e-06_r8, 6.9065576240748096e-06_r8, & + 1.5251689982971684e-05_r8, 2.6405437130463719e-05_r8, & + 3.1361484267275199e-05_r8, 3.057860247148848e-05_r8, & + 2.7558915569767458e-05_r8, 3.0479886705870598e-05_r8, & + 4.0452894054352285e-05_r8, 5.9321067592093181e-05_r8, & + 8.6318054254882402e-05_r8, 0.00011569710092896737_r8, & + 0.00014294098265892088_r8, 0.00016824299539934905_r8, & + 0.00018722618045051762_r8, 0.00020216402547155413_r8, & + 0.00021579561636893833_r8, 0.000237880014073083_r8, & + 0.0002497465850782059_r8, 0.00025894142558761382_r8, & + 0.00026556670272395385_r8, 0.00026901259977501259_r8, & + 0.00027086675644977351_r8, 0.00027122103370572954_r8, & + 0.00027236353750663097_r8, 0.00027190412353287024_r8, & + 0.0002659807464365053_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,70) / & + 2.8447913706003449e-06_r8, 2.6255930563102988e-06_r8, & + 3.7371107982221981e-06_r8, 3.8678096761029598e-06_r8, & + 3.4715538995556253e-06_r8, 2.6540262005493946e-06_r8, & + 5.0906741241149974e-06_r8, 3.3759155565625076e-06_r8, & + 3.2855781273159677e-06_r8, 3.262655236225716e-06_r8, & + 4.5736256116033437e-06_r8, 7.1351753585159672e-06_r8, & + 1.7003662816112061e-05_r8, 3.2643607401536781e-05_r8, & + 4.0083586664534405e-05_r8, 4.1377911334747989e-05_r8, & + 3.5927337873637194e-05_r8, 3.954018921985632e-05_r8, & + 5.414007538505873e-05_r8, 7.7191188180210292e-05_r8, & + 0.00010694114366164021_r8, 0.00013475935261561095_r8, & + 0.00015878567500923288_r8, 0.00017897936188132336_r8, & + 0.00019476767260987989_r8, 0.00020738242828706438_r8, & + 0.00021985370835708517_r8, 0.00024112036977348459_r8, & + 0.00025199268487523691_r8, 0.00025940302308568268_r8, & + 0.00026565092125129241_r8, 0.00026911301253269637_r8, & + 0.00027183894041221874_r8, 0.00027298102768346326_r8, & + 0.00027355244868792919_r8, 0.00027384295384005858_r8, & + 0.00027411075996464481_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,70) / & + 3.0835853044176123e-06_r8, 2.5110682739723574e-06_r8, & + 3.1930067465990394e-06_r8, 3.738697682184035e-06_r8, & + 3.6439828602697163e-06_r8, 3.1877405864342433e-06_r8, & + 4.4762059696505463e-06_r8, 3.2579310071745893e-06_r8, & + 4.2420699644163314e-06_r8, 4.7930862301259031e-06_r8, & + 6.9313683907747897e-06_r8, 1.2011941187844926e-05_r8, & + 2.8853455948972588e-05_r8, 4.3947032284101463e-05_r8, & + 5.0951418061750624e-05_r8, 5.358556350788579e-05_r8, & + 5.2508643492713256e-05_r8, 6.3823371326557259e-05_r8, & + 8.4570999980106802e-05_r8, 0.00010912575866724555_r8, & + 0.00013673015036635977_r8, 0.00016007921529034296_r8, & + 0.00017845562470094272_r8, 0.00019463174784756197_r8, & + 0.00020860378334602359_r8, 0.00022068888043749339_r8, & + 0.00023300904657521691_r8, 0.00025350101284098478_r8, & + 0.00026426871320256451_r8, 0.00027166866954119248_r8, & + 0.0002784961028625216_r8, 0.00028284744749900749_r8, & + 0.00028705339852944193_r8, 0.00028962308394917967_r8, & + 0.0002894917835731326_r8, 0.00028897961652665029_r8, & + 0.00029023054644176791_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,70) / & + 3.4581865970400826e-06_r8, 2.7283861490037033e-06_r8, & + 2.686752535661233e-06_r8, 3.9401903035047953e-06_r8, & + 3.9540156813290539e-06_r8, 3.7969219404188989e-06_r8, & + 3.5206727225621003e-06_r8, 4.3865858726705808e-06_r8, & + 5.2825915970449681e-06_r8, 7.0869304013277292e-06_r8, & + 1.2139244466180718e-05_r8, 2.354478149222367e-05_r8, & + 4.3611526581111133e-05_r8, 5.6368103224154267e-05_r8, & + 6.3041548260049415e-05_r8, 6.6469210239505862e-05_r8, & + 7.304645162741158e-05_r8, 8.995092635666796e-05_r8, & + 0.00011159797144169206_r8, 0.00013446172261841747_r8, & + 0.00015828284128929679_r8, 0.00017964810341650518_r8, & + 0.0001977223318201748_r8, 0.00021345936928291641_r8, & + 0.00022709169580670572_r8, 0.00023976375516198008_r8, & + 0.00025218051465178437_r8, 0.00027458940578937931_r8, & + 0.00028467047620371383_r8, 0.00028978834489522021_r8, & + 0.00029700384324097569_r8, 0.00030451585852829169_r8, & + 0.00030932142377606821_r8, 0.00031274828049411563_r8, & + 0.00031363207321017636_r8, 0.00031280638798183747_r8, & + 0.00030986661706268009_r8, 0.00030543809557929605_r8, & + 0.00030351991963447516_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,70) / & + 5.1998585860404148e-06_r8, 4.7512734207626501e-06_r8, & + 4.9148577751360114e-06_r8, 5.0241031287583132e-06_r8, & + 5.2005889835334166e-06_r8, 5.4721657091748732e-06_r8, & + 6.1726233943267836e-06_r8, 8.1458880202190778e-06_r8, & + 1.1334438069606921e-05_r8, 1.8556852618482598e-05_r8, & + 3.0124186138776991e-05_r8, 4.5001913236629729e-05_r8, & + 5.9386230680166196e-05_r8, 6.7513507401976855e-05_r8, & + 7.3372868189764548e-05_r8, 7.8177901161246462e-05_r8, & + 8.8462815890418819e-05_r8, 0.00010502398370700487_r8, & + 0.00012698662560539799_r8, 0.00014910185745585801_r8, & + 0.00017217170662649895_r8, 0.00019394911286057634_r8, & + 0.00021380287383100245_r8, 0.00023127357796545636_r8, & + 0.00024747346705542527_r8, 0.00026205922539969379_r8, & + 0.00027495379123053626_r8, 0.00030087871738712369_r8, & + 0.00031263514505194497_r8, 0.00031514489746441269_r8, & + 0.00032004541376288141_r8, 0.00033064441818110959_r8, & + 0.00033655151864055177_r8, 0.00033759409009525041_r8, & + 0.00033487154407156237_r8, 0.00032937394550465763_r8, & + 0.00032357762644479336_r8, 0.00031960797482446406_r8, & + 0.0003183420503688888_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,70) / & + 7.6223642935003958e-06_r8, 8.0053353512495709e-06_r8, & + 8.7547003460594994e-06_r8, 8.445073127303183e-06_r8, & + 9.5625000755469892e-06_r8, 1.0702566502409265e-05_r8, & + 1.4777308246536353e-05_r8, 2.1199070683192953e-05_r8, & + 3.264526993971914e-05_r8, 4.6721233242148606e-05_r8, & + 5.706298531671694e-05_r8, 6.4092364814268539e-05_r8, & + 7.1282212118637921e-05_r8, 7.6250053284352445e-05_r8, & + 8.2634928577268187e-05_r8, 8.8532974542105989e-05_r8, & + 0.0001016793572642361_r8, 0.00012149025543374214_r8, & + 0.0001444840865846739_r8, 0.00016647902652878766_r8, & + 0.00019069195239839696_r8, 0.00021241103468391009_r8, & + 0.00023231346556763739_r8, 0.00025283197346427454_r8, & + 0.00027063166545823422_r8, 0.00028630318127550807_r8, & + 0.00029937139744052119_r8, 0.00032796925788734912_r8, & + 0.00034595367979472824_r8, 0.0003529562668258833_r8, & + 0.00035330632800254809_r8, 0.00036198384759419976_r8, & + 0.00036766591737546708_r8, 0.00036245807484864439_r8, & + 0.00035696693929456954_r8, 0.000350442180083916_r8, & + 0.00034384549801808382_r8, 0.00033819436871905295_r8, & + 0.00033274624021224211_r8, 0.00032224593927865629_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,70) / & + 1.1612262781549701e-05_r8, 1.3250062815486911e-05_r8, & + 1.4357395312003775e-05_r8, 1.3916254100192319e-05_r8, & + 1.7600955951863801e-05_r8, 2.1569126957531717e-05_r8, & + 3.0347881204653019e-05_r8, 4.276734841523917e-05_r8, & + 5.3232120185113592e-05_r8, 6.1913641101659541e-05_r8, & + 6.7501648027025368e-05_r8, 7.1482363049958183e-05_r8, & + 7.6344780993772149e-05_r8, 8.1594115040554507e-05_r8, & + 9.002063649340778e-05_r8, 9.8306252806872079e-05_r8, & + 0.00011716553720378517_r8, 0.00014336734587147381_r8, & + 0.00016696047554831133_r8, 0.00018905500348559136_r8, & + 0.00021222836400203301_r8, 0.00023446281572961497_r8, & + 0.00025571469825530333_r8, 0.00027823994000515499_r8, & + 0.00029606072394792023_r8, 0.00031237955752186082_r8, & + 0.00032688315281840006_r8, 0.000357921715808955_r8, & + 0.00037953065390174411_r8, 0.00038930323432133823_r8, & + 0.00038781325987430961_r8, 0.0003932301782687149_r8, & + 0.00039522797163251414_r8, 0.00038863911217032796_r8, & + 0.00038085200481205515_r8, 0.0003765588656369221_r8, & + 0.00036732729085820414_r8, 0.00035472273173512092_r8, & + 0.00034435693305048809_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,70) / & + 1.5782174617912797e-05_r8, 1.7179641410006836e-05_r8, & + 1.8479241732180744e-05_r8, 1.9933227637077547e-05_r8, & + 2.4546389473475432e-05_r8, 2.9625249547801048e-05_r8, & + 4.0527819102590734e-05_r8, 4.9182180805601364e-05_r8, & + 5.5086800784994475e-05_r8, 6.0206076243532259e-05_r8, & + 6.4816175431607633e-05_r8, 6.8315173000985362e-05_r8, & + 7.4695866067592929e-05_r8, 8.470077841391503e-05_r8, & + 9.7875426566071915e-05_r8, 0.0001108207869253174_r8, & + 0.00013436018013966337_r8, 0.00016032030516332176_r8, & + 0.00018300932141042915_r8, 0.00020738475335275926_r8, & + 0.00022988357058357725_r8, 0.00025213400978836017_r8, & + 0.00027890182206331837_r8, 0.0003020953419366152_r8, & + 0.00032052700566674645_r8, 0.00033858936102607018_r8, & + 0.00035433858105032233_r8, 0.00038584613800512872_r8, & + 0.00040814216513149979_r8, 0.00041859655586744179_r8, & + 0.00041931879350642784_r8, 0.00042084100652955286_r8, & + 0.000419428425919674_r8, 0.0004137067832716973_r8, & + 0.00040785872102224813_r8, 0.00040342811077509992_r8, & + 0.00038872027584886687_r8, 0.00036859975842419243_r8, & + 0.00035571274870931948_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,70) / & + 1.5077183420036754e-05_r8, 1.6516248413834763e-05_r8, & + 1.8730753539568476e-05_r8, 2.079202281286417e-05_r8, & + 2.751756274616318e-05_r8, 3.4711362866426658e-05_r8, & + 4.2384788969292858e-05_r8, 4.7576807960593727e-05_r8, & + 5.1242688058681742e-05_r8, 5.6376582582188231e-05_r8, & + 6.0332185155995534e-05_r8, 6.3865882988308988e-05_r8, & + 7.4000028258335731e-05_r8, 8.9960846831885051e-05_r8, & + 0.00010593823168664987_r8, 0.0001206124610265484_r8, & + 0.00014432406339465978_r8, 0.00016748781634375599_r8, & + 0.00019214826153120864_r8, 0.00021721658472851328_r8, & + 0.00024058957585191141_r8, 0.00026525615774032548_r8, & + 0.00029402558281671097_r8, 0.00031888510177899992_r8, & + 0.00033646131490557902_r8, 0.00035514018523563834_r8, & + 0.00037156753257867517_r8, 0.000406290887479339_r8, & + 0.00043237802912598594_r8, 0.00044365608913302676_r8, & + 0.00044305651801035444_r8, 0.0004419276296735461_r8, & + 0.0004395485202861076_r8, 0.0004321020333742752_r8, & + 0.0004257163711186667_r8, 0.00041805514647615301_r8, & + 0.00040234324656959021_r8, 0.0003852490146868199_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,70) / & + 1.0078990047999518e-05_r8, 1.1365656762059302e-05_r8, & + 1.3554292666287036e-05_r8, 1.4987670219354117e-05_r8, & + 2.3034486831549029e-05_r8, 3.2627200146518484e-05_r8, & + 4.3095694494675039e-05_r8, 4.7755875744537041e-05_r8, & + 5.07309845099557e-05_r8, 5.5516499599840361e-05_r8, & + 5.9477384939359122e-05_r8, 6.4633247501622417e-05_r8, & + 7.6142951693811936e-05_r8, 9.163627925870774e-05_r8, & + 0.0001089642206040779_r8, 0.00012537827296625585_r8, & + 0.00014909913289186353_r8, 0.00017420321500104274_r8, & + 0.00020131843316456102_r8, 0.00022704267968646241_r8, & + 0.00025222677700683597_r8, 0.00027660156306768451_r8, & + 0.00030844552387409582_r8, 0.00033136870321988653_r8, & + 0.00035461530044288158_r8, 0.00037380268915047547_r8, & + 0.00038961148055298656_r8, 0.00042517447760493846_r8, & + 0.00045394313646082387_r8, 0.00046765478621261082_r8, & + 0.00047260076283292085_r8, 0.00047230690741338616_r8, & + 0.0004671994967720964_r8, 0.00046570275395144698_r8, & + 0.00045895454033264568_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,70) / & + 6.8416241661572826e-06_r8, 7.5470622568672072e-06_r8, & + 1.1771685233115353e-05_r8, 1.5908802199177414e-05_r8, & + 2.6543379623941294e-05_r8, 3.6118196770732848e-05_r8, & + 4.6434904424650504e-05_r8, 5.3954070679798947e-05_r8, & + 5.5813436417896019e-05_r8, 6.0771702848840575e-05_r8, & + 6.5175135415053328e-05_r8, 6.9584926272637669e-05_r8, & + 7.8054891696254915e-05_r8, 9.0231392702311923e-05_r8, & + 0.0001073386399254841_r8, 0.00012712780204041904_r8, & + 0.00016173442093512209_r8, 0.00018944426060579997_r8, & + 0.00021882447476363615_r8, 0.00024485331911590206_r8, & + 0.00027120997242716116_r8, 0.00029802276532290049_r8, & + 0.00032578121730409581_r8, 0.00034608738422833542_r8, & + 0.00037119612162044599_r8, 0.00039005775633160447_r8, & + 0.00040684489077016727_r8, 0.00044065392837212543_r8, & + 0.00046898456655552931_r8, 0.0004836674625986243_r8, & + 0.00049022510019532258_r8, 0.00049192336750142611_r8, & + 0.00048882935311915542_r8, 0.00049256280436177564_r8, & + 0.00049385033776079242_r8, 0.00049471284045115714_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,70) / & + 9.3301975739289601e-06_r8, 7.2605163183641974e-06_r8, & + 7.1099646898636888e-06_r8, 5.3120374040120277e-06_r8, & + 5.304716834997937e-06_r8, 5.1562242402781679e-06_r8, & + 5.9677189848492656e-06_r8, 8.0213162451241735e-06_r8, & + 6.6954338982264528e-06_r8, 7.7280662616324821e-06_r8, & + 9.1568589330024805e-06_r8, 1.1422007848571179e-05_r8, & + 1.7812593427213607e-05_r8, 2.7042770978184275e-05_r8, & + 3.6661640737644325e-05_r8, 4.0733032965955145e-05_r8, & + 5.4419927294408586e-05_r8, 6.7552550276168185e-05_r8, & + 7.768634408918484e-05_r8, 8.4034218236597524e-05_r8, & + 8.5916852922955647e-05_r8, 8.6371636593845255e-05_r8, & + 8.6511924280308322e-05_r8, 8.7471146976337625e-05_r8, & + 8.8702591952886548e-05_r8, 8.8068819826775949e-05_r8, & + 8.9397333005225078e-05_r8, 9.2216051767538226e-05_r8, & + 9.4521440443549035e-05_r8, 9.572440212592355e-05_r8, & + 9.6252984798214669e-05_r8, 9.5510156494873265e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,70) / & + 9.4348539690409044e-06_r8, 8.2036188209107999e-06_r8, & + 8.3280236118625268e-06_r8, 8.757080397160757e-06_r8, & + 8.613133563494373e-06_r8, 8.8047375965514135e-06_r8, & + 8.6901036103345011e-06_r8, 9.5922321504122571e-06_r8, & + 1.0475534011282817e-05_r8, 1.1535511813368883e-05_r8, & + 1.3897793224152245e-05_r8, 1.6243075217341416e-05_r8, & + 2.6771396725075658e-05_r8, 4.1171890385432264e-05_r8, & + 5.6269582052510132e-05_r8, 6.6856424027260839e-05_r8, & + 9.0577045413118792e-05_r8, 0.00011271255496854622_r8, & + 0.00012929524060686356_r8, 0.00013966572708470052_r8, & + 0.00014289521274942336_r8, 0.00014363173456644879_r8, & + 0.00014393441696547367_r8, 0.00014569077153247441_r8, & + 0.00014817190768937955_r8, 0.00014693073496673304_r8, & + 0.00014901221181907757_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,70) / & + 7.4377870393502247e-06_r8, 6.5361233521978296e-06_r8, & + 6.4839631377086706e-06_r8, 9.7092496610952994e-06_r8, & + 9.9525811890765104e-06_r8, 9.8515724640002006e-06_r8, & + 9.4779656096352152e-06_r8, 1.4130353162742254e-05_r8, & + 1.5914554756313465e-05_r8, 1.7171368488589053e-05_r8, & + 1.9022705294407423e-05_r8, 2.0110698329998905e-05_r8, & + 2.1801128222914654e-05_r8, 1.9783952211464307e-05_r8, & + 1.7123411650904402e-05_r8, 2.3032541579142886e-05_r8, & + 4.9512571152213859e-05_r8, 9.1972385324160444e-05_r8, & + 0.00010933484840807012_r8, 0.00011926536903535439_r8, & + 0.00012609740515531482_r8, 0.00012838885435870653_r8, & + 0.00012362181605915515_r8, 0.00011745600149895272_r8, & + 0.00011554174456550805_r8, 0.00011813287802888868_r8, & + 8.3636706054281756e-05_r8, 7.1612678297109105e-05_r8, & + 5.0970212406578825e-05_r8, 2.3191144448322815e-05_r8, & + 1.7636243107366752e-05_r8, 1.0854562878311938e-05_r8, & + 9.6876617554641307e-06_r8, 9.6788510499156083e-06_r8, & + 9.6752455469164684e-06_r8, 9.6666111734447089e-06_r8, & + 9.6667357114863754e-06_r8, 9.6659574446740346e-06_r8, & + 9.6654061197742369e-06_r8, 9.6644836599999551e-06_r8, & + 9.6638743533773358e-06_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,70) / & + 8.2133679415370854e-06_r8, 7.1893234342520914e-06_r8, & + 6.1561701842293688e-06_r8, 7.0070376139393265e-06_r8, & + 7.212911218444837e-06_r8, 7.2025005878650195e-06_r8, & + 7.8565986509354821e-06_r8, 1.225720580430008e-05_r8, & + 1.314856998731592e-05_r8, 1.4723824268825904e-05_r8, & + 1.69041152616072e-05_r8, 1.8957502393810698e-05_r8, & + 2.2785810362007366e-05_r8, 3.0319282432576091e-05_r8, & + 2.6047742363443446e-05_r8, 3.0338510314873089e-05_r8, & + 5.6835050646299126e-05_r8, 9.5603439655091561e-05_r8, & + 0.00011255551374795583_r8, 0.00012471098034775246_r8, & + 0.00013160674956644658_r8, 0.00013532413428916893_r8, & + 0.00012948171798117457_r8, 0.00012557578076088986_r8, & + 0.00013389643824413471_r8, 0.00013842433248149335_r8, & + 0.00011922489057007764_r8, 0.00011532842269206591_r8, & + 0.00011127486393694123_r8, 5.7678632719363027e-05_r8, & + 3.3843650918577916e-05_r8, 3.3214759038770284e-05_r8, & + 2.8637252152243347e-05_r8, 1.8195115422754018e-05_r8, & + 1.0162801169310051e-05_r8, 1.0162561544848434e-05_r8, & + 1.0162560308034342e-05_r8, 1.0161799325360229e-05_r8, & + 1.016151472661282e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,70) / & + 1.0828959889955207e-05_r8, 8.7168836710254534e-06_r8, & + 5.149026952658572e-06_r8, 5.0226080633696521e-06_r8, & + 5.0969953796270034e-06_r8, 5.0274414519617899e-06_r8, & + 5.4874465194386183e-06_r8, 7.5462024389095961e-06_r8, & + 9.2419124626653639e-06_r8, 1.2064488240139705e-05_r8, & + 1.5599596259944072e-05_r8, 2.0856004784947041e-05_r8, & + 3.0601285881502655e-05_r8, 4.1321870174194656e-05_r8, & + 4.8956542632211405e-05_r8, 6.5999778733179655e-05_r8, & + 9.5408998071854769e-05_r8, 0.00011493507427425204_r8, & + 0.0001289776083230183_r8, 0.00013798375955637618_r8, & + 0.00014251656107226778_r8, 0.00014490051841395662_r8, & + 0.00013725075140135813_r8, 0.0001337198459157411_r8, & + 0.00013999835266447129_r8, 0.00014753465716648196_r8, & + 0.00015359067826267313_r8, 0.00015300515420499052_r8, & + 0.00015602902418345645_r8, 0.00016202755878144535_r8, & + 0.00016231319393938582_r8, 0.00016230246819469004_r8, & + 0.00016229983312097038_r8, 0.00016229314860159334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,70) / & + 1.1188951889846338e-05_r8, 9.0180537138568935e-06_r8, & + 4.05001511353697e-06_r8, 6.0342991734503931e-06_r8, & + 6.2405886756065769e-06_r8, 6.3318622024560012e-06_r8, & + 8.1744277528804932e-06_r8, 1.1081725334195671e-05_r8, & + 1.3399296221718526e-05_r8, 1.7950698207994387e-05_r8, & + 2.4856406808677152e-05_r8, 3.470286234188027e-05_r8, & + 4.9022503591262813e-05_r8, 5.8430979563705339e-05_r8, & + 6.9576938882306413e-05_r8, 8.3352195157133913e-05_r8, & + 0.00010668324250573833_r8, 0.00012592380321610805_r8, & + 0.00014285349854832003_r8, 0.00015205796999183919_r8, & + 0.00015577405444348088_r8, 0.00015680338498250717_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,70) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,70) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,70) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,70) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,70) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,70) / & + 4.401129237395657e-05_r8, 4.4192419933845394e-05_r8, & + 4.614346445687414e-05_r8, 4.8897953068147578e-05_r8, & + 5.3278860322345408e-05_r8, 5.739886029840571e-05_r8, & + 6.8326670103862464e-05_r8, 8.0995708610968818e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,70) / & + 4.3439157085996638e-05_r8, 4.4602061445878575e-05_r8, & + 4.6304623058364114e-05_r8, 4.9754082479509989e-05_r8, & + 5.423371544166411e-05_r8, 5.8002710251413697e-05_r8, & + 6.8225809280666642e-05_r8, 7.9952223699701716e-05_r8, & + 8.9051426466529353e-05_r8, 9.0909126487577634e-05_r8, & + 9.1416042024495991e-05_r8, 9.1186107346324339e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,70) / & + 4.1034191965289897e-05_r8, 4.2369564303871094e-05_r8, & + 4.6774400674080126e-05_r8, 5.1776259681242093e-05_r8, & + 5.7544190157177944e-05_r8, 5.993027790688879e-05_r8, & + 7.0804918203140022e-05_r8, 8.200387359048113e-05_r8, & + 9.268950250849752e-05_r8, 9.6064015476999477e-05_r8, & + 9.6987054126192093e-05_r8, 9.3907716349139194e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,70) / & + 4.1148266764799025e-05_r8, 4.3303878238792205e-05_r8, & + 4.628445898440992e-05_r8, 7.1360898490604503e-05_r8, & + 7.7182773001429285e-05_r8, 7.9594715786273132e-05_r8, & + 8.9356115518928302e-05_r8, 9.7385869587600607e-05_r8, & + 0.00010068072186681752_r8, 9.8683395333583365e-05_r8, & + 9.9134684587848923e-05_r8, 0.00010384702814238511_r8, & + 0.00010558555347565635_r8, 0.00010643792943820863_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,70) / & + 8.6943139128598302e-05_r8, 8.6388667644712085e-05_r8, & + 9.1163310085373483e-05_r8, 0.00011468589573544499_r8, & + 0.00012896158432888438_r8, 0.00013351092678964713_r8, & + 0.00013049825927809424_r8, 0.00012798968219404958_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,70) / & + 8.8911096583095122e-05_r8, 8.7157474661112938e-05_r8, & + 8.6736605108271152e-05_r8, 5.964061036775969e-05_r8, & + 6.5619632993428001e-05_r8, 7.093626870851048e-05_r8, & + 8.016477969878492e-05_r8, 7.7175439860476227e-05_r8, & + 7.5762033821199677e-05_r8, 8.3083379799424038e-05_r8, & + 8.5984634109808589e-05_r8, 0.00012489007918493208_r8, & + 0.00016788406846169059_r8, 0.00017366945060309484_r8, & + 0.00017553846876199608_r8, 0.00018313615314896674_r8, & + 0.00023658595483355382_r8, 0.00027448068427609966_r8, & + 0.00026520800416735593_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,70) / & + 9.2177654999908338e-05_r8, 9.104052906327478e-05_r8, & + 8.9598929192379905e-05_r8, 5.4454085465619598e-05_r8, & + 5.5676354516385026e-05_r8, 7.1048553155874853e-05_r8, & + 8.269309949929734e-05_r8, 7.7021194011604857e-05_r8, & + 8.0339802796822269e-05_r8, 8.7044849735507275e-05_r8, & + 8.8381523695203461e-05_r8, 0.00013158831200935068_r8, & + 0.00018309525915658959_r8, 0.00019015417186153458_r8, & + 0.00018710737300154604_r8, 0.00018242429016771235_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,70) / & + 9.3323007821208065e-05_r8, 9.5254970707354131e-05_r8, & + 9.8523160988909478e-05_r8, 0.00010121392445528639_r8, & + 0.00010132324359123423_r8, 0.00010981592589694693_r8, & + 0.00013340253067790529_r8, 0.00013416152836012531_r8, & + 0.00013207100481287706_r8, 0.00012416927925156372_r8, & + 0.00011522422366454204_r8, 0.00010178223020895731_r8, & + 8.5044720671733479e-05_r8, 8.3655840887300679e-05_r8, & + 8.290177568649805e-05_r8, 7.8998366032348262e-05_r8, & + 7.4209045849606359e-05_r8, 7.5694456536901217e-05_r8, & + 7.7963190441897236e-05_r8, 7.832989219473972e-05_r8, & + 7.9000598495587314e-05_r8, 8.0932037920146559e-05_r8, & + 7.999236169464349e-05_r8, 8.5294111884078079e-05_r8, & + 9.6741231813571554e-05_r8, 9.9756193549640994e-05_r8, & + 0.00010442185965648175_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,70) / & + 9.5842024212091623e-05_r8, 0.00010549154774045462_r8, & + 0.00010448317720747911_r8, 8.4821141990866079e-05_r8, & + 8.4424733331583382e-05_r8, 9.4383986779190133e-05_r8, & + 0.00014029395740897271_r8, 0.0001329175828033015_r8, & + 0.00012523370017502176_r8, 0.00011159874824347083_r8, & + 0.00010247088018282377_r8, 9.2318269493725559e-05_r8, & + 8.2958818076907161e-05_r8, 8.28675883663461e-05_r8, & + 8.1531641023174038e-05_r8, 7.8155693147616032e-05_r8, & + 7.352012826306655e-05_r8, 7.5621140871111054e-05_r8, & + 7.7908835686974645e-05_r8, 7.9228384760487639e-05_r8, & + 8.1443248201645962e-05_r8, 8.3352986424303674e-05_r8, & + 8.5119314691850455e-05_r8, 8.9562687915125506e-05_r8, & + 9.8897146355168258e-05_r8, 0.00010101493085128192_r8, & + 0.00010656210361110837_r8, 0.00011517939741652916_r8, & + 0.00011468513761929684_r8, 0.00011894279660262703_r8, & + 0.00011688800922431521_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,70) / & + 8.7341183689449816e-05_r8, 0.00011065399704046688_r8, & + 0.00010979452990172878_r8, 9.2677797881123944e-05_r8, & + 9.9908062296049781e-05_r8, 0.00011244675449835923_r8, & + 0.00015291520080392679_r8, 0.00011764783091772661_r8, & + 0.00010242705832659296_r8, 8.5189578639891048e-05_r8, & + 7.9439018407814914e-05_r8, 7.534709357042083e-05_r8, & + 7.1474001465924645e-05_r8, 7.2838504691109796e-05_r8, & + 7.3414015225762002e-05_r8, 7.3711321045158814e-05_r8, & + 7.2461970597156923e-05_r8, 7.3673361759258655e-05_r8, & + 7.5987921391251859e-05_r8, 7.9034593582315329e-05_r8, & + 8.2340908912562199e-05_r8, 8.5591644080555275e-05_r8, & + 8.9588729098681762e-05_r8, 9.3709806929059494e-05_r8, & + 9.9672945369578888e-05_r8, 0.00010306831439616596_r8, & + 0.00010931294972495317_r8, 0.00011943318071375645_r8, & + 0.00012037763033024213_r8, 0.00011880564525950921_r8, & + 0.0001193192166493208_r8, 0.00011975243071165054_r8, & + 0.00012046152434447958_r8, 0.00012029516070199463_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,71) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,71) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,71) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,71) / & + 9.0086283209321898e-05_r8, 8.9580826008315599e-05_r8, & + 8.9869574071308424e-05_r8, 9.1383984148528421e-05_r8, & + 9.3533460984378912e-05_r8, 0.00010242725784372124_r8, & + 0.00011258669564110178_r8, 0.00012858392426261987_r8, & + 0.00013889490616609735_r8, 0.00014803283991807602_r8, & + 0.00015578067850934092_r8, 0.00016050481098500133_r8, & + 0.0001709239431061816_r8, 0.00017698668936499753_r8, & + 0.0001794514602769805_r8, 0.00018337912236608719_r8, & + 0.00018734914714100932_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,71) / & + 7.9766949547661469e-05_r8, 8.0866640837772992e-05_r8, & + 8.786782020920839e-05_r8, 8.4079484230436299e-05_r8, & + 8.9830863915786049e-05_r8, 0.00010167478361783291_r8, & + 0.00010650293647958259_r8, 0.00012474173465857875_r8, & + 0.00013681026041845174_r8, 0.00014552629269008272_r8, & + 0.00015370290069056879_r8, 0.00015835594300237925_r8, & + 0.00017043505188569819_r8, 0.00017588013904450568_r8, & + 0.00017839177722658037_r8, 0.00018224410458100217_r8, & + 0.00018644548250306377_r8, 0.00018822697353787575_r8, & + 0.00019408024121151594_r8, 0.00019940242069896067_r8, & + 0.00020576054460364694_r8, 0.00021464782226032577_r8, & + 0.00022034159061353357_r8, 0.00022568044117042077_r8, & + 0.00023047895867498816_r8, 0.00023459489506084383_r8, & + 0.00023993878403357063_r8, 0.00024999734208932997_r8, & + 0.00025937390259327749_r8, 0.00026761896002182724_r8, & + 0.00027374550378977405_r8, 0.00027993934891968312_r8, & + 0.00028598357762297209_r8, 0.00029090331635526031_r8, & + 0.00029527468361464346_r8, 0.00029861782822661217_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,71) / & + 5.0404754422002944e-05_r8, 5.1638743104308348e-05_r8, & + 6.9950529475921243e-05_r8, 6.8359336046831001e-05_r8, & + 7.1881178402254014e-05_r8, 8.1792538291538641e-05_r8, & + 7.8749615264751569e-05_r8, 0.00010077500177362894_r8, & + 0.00011684466233612771_r8, 0.00012623166701772773_r8, & + 0.00013476397348311219_r8, 0.0001392896525799474_r8, & + 0.00015186362751863294_r8, 0.00015677923917628656_r8, & + 0.00016018554194056046_r8, 0.00016368465821860122_r8, & + 0.00017098052918962457_r8, 0.00017340685316176641_r8, & + 0.00017996376205553231_r8, 0.0001855796332645595_r8, & + 0.00019098637453407536_r8, 0.00019820929736174325_r8, & + 0.00020382992554328721_r8, 0.00020892181789377413_r8, & + 0.00021385459630322262_r8, 0.00021928484094192662_r8, & + 0.0002244467645866865_r8, 0.00023674107975936968_r8, & + 0.00024795172683323634_r8, 0.00025671626908518365_r8, & + 0.00026476686436732575_r8, 0.00027167008060279929_r8, & + 0.00027887556944285798_r8, 0.00028508482844117244_r8, & + 0.00028992568353154654_r8, 0.00029365042892972036_r8, & + 0.00029500376128815221_r8, 0.00029775422418320624_r8, & + 0.00029847976431768216_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,71) / & + 1.9757923735836992e-05_r8, 2.0085236187043866e-05_r8, & + 3.062767710902084e-05_r8, 3.0522517087420683e-05_r8, & + 3.1235457386391607e-05_r8, 3.7990943392348345e-05_r8, & + 4.4457712679279494e-05_r8, 5.8175820415078895e-05_r8, & + 7.0973619607161341e-05_r8, 8.0775756348398474e-05_r8, & + 8.713413534029455e-05_r8, 8.7796683211275109e-05_r8, & + 9.8283519414807125e-05_r8, 0.00010253928646676225_r8, & + 0.00010660401116940807_r8, 0.00011115072878702108_r8, & + 0.00011993944857757029_r8, 0.00012217051213850926_r8, & + 0.00012992620191197904_r8, 0.00014006091227177116_r8, & + 0.00014962018637516033_r8, 0.00015806793714709985_r8, & + 0.00016519695112036185_r8, 0.00017198440291745512_r8, & + 0.00017819410229641215_r8, 0.00018485037383573097_r8, & + 0.0001907423451833093_r8, 0.00020206021794864088_r8, & + 0.00021659370373779553_r8, 0.00022868987516003178_r8, & + 0.00023873486468526791_r8, 0.000246320223316644_r8, & + 0.00025460432379859738_r8, 0.00026386773100398617_r8, & + 0.00027171112426668657_r8, 0.00027868017309567235_r8, & + 0.0002835560039837727_r8, 0.00028681021273672805_r8, & + 0.00028864155075619609_r8, 0.00029038531363155854_r8, & + 0.00029029425177027848_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,71) / & + 5.0023754812253633e-06_r8, 5.2007665977968463e-06_r8, & + 7.8752421676154725e-06_r8, 9.7050387237412862e-06_r8, & + 9.737804570409928e-06_r8, 1.087011418754914e-05_r8, & + 2.0194578143387172e-05_r8, 2.9068488514602028e-05_r8, & + 3.5565438096758201e-05_r8, 4.0557937953472071e-05_r8, & + 4.3178533518639314e-05_r8, 4.2355970301569822e-05_r8, & + 4.3321132311758955e-05_r8, 4.5747427638692233e-05_r8, & + 4.7153066556423432e-05_r8, 4.9339295815484355e-05_r8, & + 5.3750541577818445e-05_r8, 5.785914555297503e-05_r8, & + 6.6765054009971776e-05_r8, 8.0499333542112972e-05_r8, & + 0.00010211068871682411_r8, 0.00011457234607074824_r8, & + 0.00012656889545533605_r8, 0.00013964911650342888_r8, & + 0.00015152619015095385_r8, 0.0001609424595269579_r8, & + 0.00016873978334259684_r8, 0.00018618461012790164_r8, & + 0.00020004838983741496_r8, 0.00021251197103560601_r8, & + 0.00022203755599118388_r8, 0.00022738781268678149_r8, & + 0.0002326204923867718_r8, 0.00024083001689182947_r8, & + 0.00025048152936758096_r8, 0.0002617561839250851_r8, & + 0.00027341794805761991_r8, 0.0002805706443310603_r8, & + 0.00028533873781667456_r8, 0.00028775701083494967_r8, & + 0.00029026549561674095_r8, 0.00029104351190907042_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,71) / & + 4.348738733447342e-06_r8, 4.5469030545221711e-06_r8, & + 4.6439957323623108e-06_r8, 6.2776029718602015e-06_r8, & + 6.3476954914801568e-06_r8, 6.8261227104114092e-06_r8, & + 1.0902817771091448e-05_r8, 1.4577143261415495e-05_r8, & + 1.6365174805266328e-05_r8, 1.8018178481759844e-05_r8, & + 1.9063492987956356e-05_r8, 2.0102974719639401e-05_r8, & + 2.1125151639640916e-05_r8, 2.2877691293320732e-05_r8, & + 2.3955610851153345e-05_r8, 2.5434214328026166e-05_r8, & + 2.8496110174793425e-05_r8, 3.4916849417238203e-05_r8, & + 4.6115318926005154e-05_r8, 6.0309414493913952e-05_r8, & + 7.9090591335232899e-05_r8, 9.7464854208021822e-05_r8, & + 0.00011539910333851896_r8, 0.00013347286994864926_r8, & + 0.00014956212761147038_r8, 0.00016371934297061542_r8, & + 0.00017571914052581347_r8, 0.00020088602405856056_r8, & + 0.00021824056464618845_r8, 0.00023094490862207202_r8, & + 0.00024021539866978526_r8, 0.00024300932107866748_r8, & + 0.00024260671360528947_r8, 0.00024394269096587182_r8, & + 0.00024891289346015916_r8, 0.00026214076995517927_r8, & + 0.00027598592269163243_r8, 0.00028423678851160784_r8, & + 0.00028896088851498169_r8, 0.00029068888929263941_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,71) / & + 7.6968077155103296e-06_r8, 7.785085516082821e-06_r8, & + 7.7787850206408578e-06_r8, 7.0795464162911925e-06_r8, & + 6.3947879373379542e-06_r8, 5.9647967422859976e-06_r8, & + 7.9723256360711077e-06_r8, 1.1236609178104247e-05_r8, & + 1.2943003494502921e-05_r8, 1.4554782086484492e-05_r8, & + 1.6216204596728955e-05_r8, 1.7428112362288354e-05_r8, & + 1.7399972265665266e-05_r8, 2.0387334215143103e-05_r8, & + 2.1343854033523909e-05_r8, 2.2778623823466121e-05_r8, & + 2.4958097086303593e-05_r8, 3.1372876868334769e-05_r8, & + 4.2696304911114158e-05_r8, 5.9443154442237387e-05_r8, & + 7.9446444141132371e-05_r8, 0.00010153042080844341_r8, & + 0.00012253315371346427_r8, 0.00014368807059131483_r8, & + 0.00016335774102465853_r8, 0.00017989828763066359_r8, & + 0.00019443111401232539_r8, 0.00022170588371005405_r8, & + 0.0002391357398072746_r8, 0.00025283304177453625_r8, & + 0.00026273223480009804_r8, 0.0002654484085211164_r8, & + 0.00026520377387935653_r8, 0.00026221983394362998_r8, & + 0.00025313637545788434_r8, 0.00026617641993523157_r8, & + 0.0002813682014278593_r8, 0.00029203915788051494_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,71) / & + 7.4843265683342937e-06_r8, 7.4645541079704534e-06_r8, & + 7.4405276920769845e-06_r8, 6.085153452752609e-06_r8, & + 5.9297091170288314e-06_r8, 5.1926768006074539e-06_r8, & + 5.926191702967962e-06_r8, 7.9557920755967054e-06_r8, & + 1.0019764721943001e-05_r8, 1.2571279463248416e-05_r8, & + 1.4947937840268441e-05_r8, 1.723050884816917e-05_r8, & + 1.6838170524260992e-05_r8, 1.9419237942360898e-05_r8, & + 2.1264491062009027e-05_r8, 2.3389804221060199e-05_r8, & + 2.6828323626328499e-05_r8, 3.3139674328039028e-05_r8, & + 4.4227222028027123e-05_r8, 6.1780485014312548e-05_r8, & + 8.2568640439084184e-05_r8, 0.00010579985453461346_r8, & + 0.00012874945270385292_r8, 0.00015117021339844871_r8, & + 0.00017082429085719161_r8, 0.00018739245684490534_r8, & + 0.00020204771406788597_r8, 0.00022826429152850928_r8, & + 0.00024678490745915914_r8, 0.00026007185768552878_r8, & + 0.00026767292395294068_r8, 0.00027232362547128684_r8, & + 0.00027110095410660354_r8, 0.00026902371620342005_r8, & + 0.00025579960382442359_r8, 0.00026618646673327477_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,71) / & + 5.5302507065122389e-06_r8, 5.2934427718108979e-06_r8, & + 5.1136213983152237e-06_r8, 3.758125575887401e-06_r8, & + 3.7586931135173643e-06_r8, 3.3469436682024787e-06_r8, & + 3.8270968363433593e-06_r8, 6.2455487245728432e-06_r8, & + 8.6704798907055665e-06_r8, 1.1616787250863097e-05_r8, & + 1.4770243395626075e-05_r8, 1.9295235805797852e-05_r8, & + 2.2321319449860629e-05_r8, 2.3372934617679096e-05_r8, & + 2.4432125751504207e-05_r8, 2.5073729644704206e-05_r8, & + 2.7597393355166954e-05_r8, 3.3383670995902716e-05_r8, & + 4.4678386488053558e-05_r8, 6.2444297905029462e-05_r8, & + 8.4725718882982398e-05_r8, 0.00010866470859513326_r8, & + 0.00013327764751455852_r8, 0.00015578096288219304_r8, & + 0.00017518779157687145_r8, 0.00019115495202929065_r8, & + 0.00020556251913926579_r8, 0.00023031298469046641_r8, & + 0.00024688920301391305_r8, 0.00025830173564616508_r8, & + 0.00026341111441374938_r8, 0.00026824546469198315_r8, & + 0.00026752194485010728_r8, 0.00026756960191020738_r8, & + 0.00026428298527928482_r8, 0.00026444263646060404_r8, & + 0.00026715148715379444_r8, 0.00027322568049819435_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,71) / & + 3.7122019591176967e-06_r8, 3.2757312971925956e-06_r8, & + 3.040468394200548e-06_r8, 3.5108891131826626e-06_r8, & + 3.0377091657200545e-06_r8, 2.4841198860694512e-06_r8, & + 2.6531195097953135e-06_r8, 4.2613226593975315e-06_r8, & + 6.4636378766333841e-06_r8, 9.8970432537148022e-06_r8, & + 1.3782618094266895e-05_r8, 2.0040698398741421e-05_r8, & + 2.7798386908681574e-05_r8, 2.9332422163227238e-05_r8, & + 3.1556687410579455e-05_r8, 3.0565724613167879e-05_r8, & + 3.0016075133355275e-05_r8, 3.4868092518891703e-05_r8, & + 4.6409008193142469e-05_r8, 6.4890377554190423e-05_r8, & + 9.0148433198281125e-05_r8, 0.00011684442837442089_r8, & + 0.00014257481555550024_r8, 0.00016603250383360658_r8, & + 0.00018464432597633013_r8, 0.00019991854170839097_r8, & + 0.0002134492193985159_r8, 0.00023614048799265385_r8, & + 0.00025015560611571898_r8, 0.00026002174753367161_r8, & + 0.00026613967995331374_r8, 0.00026987595681277591_r8, & + 0.00027085221573139117_r8, 0.00027080295218780235_r8, & + 0.00026993109724133478_r8, 0.00026745722348834466_r8, & + 0.00026721107900421062_r8, 0.00027312905085639602_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,71) / & + 2.7356463258737385e-06_r8, 2.3046444913115388e-06_r8, & + 2.4874837726485925e-06_r8, 3.6980526081889225e-06_r8, & + 3.2051480956907466e-06_r8, 2.3402738675952512e-06_r8, & + 2.4838214070788978e-06_r8, 2.8817247654864195e-06_r8, & + 3.7299347362649573e-06_r8, 6.3375772064260413e-06_r8, & + 1.0754594908832724e-05_r8, 1.7439203210734972e-05_r8, & + 2.8470035970769e-05_r8, 3.5489184684286031e-05_r8, & + 3.7647536423300108e-05_r8, 3.6773036864905126e-05_r8, & + 3.3373450512811214e-05_r8, 3.7748211387483681e-05_r8, & + 5.0510906544873846e-05_r8, 7.1156921853047708e-05_r8, & + 9.8735937739501578e-05_r8, 0.00012757159460305699_r8, & + 0.00015362714298359598_r8, 0.00017613058441013369_r8, & + 0.0001932616263433841_r8, 0.00020751626453063309_r8, & + 0.00022022896685459182_r8, 0.00024115918003228995_r8, & + 0.00025462990757109193_r8, 0.00026319889815167421_r8, & + 0.00026895153884956633_r8, 0.00027229704007877999_r8, & + 0.0002741720778770659_r8, 0.00027429140980319845_r8, & + 0.00027416833418416909_r8, 0.00027300263187351044_r8, & + 0.00027382813691791385_r8, 0.00027504130434997053_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,71) / & + 2.3871663811752356e-06_r8, 1.8852023094947843e-06_r8, & + 2.5360587155016392e-06_r8, 3.5419395055839707e-06_r8, & + 3.4104649232749271e-06_r8, 2.7422367755729592e-06_r8, & + 2.5990729079686126e-06_r8, 3.1364688707843029e-06_r8, & + 3.6779486785250992e-06_r8, 5.7547679728130972e-06_r8, & + 1.0753532830638551e-05_r8, 1.7303416206855486e-05_r8, & + 3.2139614470621038e-05_r8, 4.2283932741860415e-05_r8, & + 4.4536889208325633e-05_r8, 4.5007212064439689e-05_r8, & + 3.9598783891512705e-05_r8, 4.7792657252469401e-05_r8, & + 6.4455946850709944e-05_r8, 8.6569944575297513e-05_r8, & + 0.00011534738010437353_r8, 0.0001394962947398087_r8, & + 0.00016389129374687802_r8, 0.00018239628304350132_r8, & + 0.00019852540775323771_r8, 0.00021238658876393803_r8, & + 0.00022464524417074381_r8, 0.00024466682694930579_r8, & + 0.00025681749343150546_r8, 0.00026353111720759384_r8, & + 0.00026846877833674868_r8, 0.00027199790565251219_r8, & + 0.00027503275170154772_r8, 0.00027566299131928342_r8, & + 0.00027539001114676036_r8, 0.00027494799526420872_r8, & + 0.00027495488992509932_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,71) / & + 2.7715154675139588e-06_r8, 1.8926700398476915e-06_r8, & + 2.5250047287511346e-06_r8, 3.4736760968432268e-06_r8, & + 3.4291751692754582e-06_r8, 3.2255509865375614e-06_r8, & + 3.4621544841311386e-06_r8, 4.471503040768465e-06_r8, & + 6.552650508445677e-06_r8, 1.1173879960481947e-05_r8, & + 1.8059518759191302e-05_r8, 2.7527301000862435e-05_r8, & + 4.4870455895426142e-05_r8, 5.3368155080592758e-05_r8, & + 5.6556322847617094e-05_r8, 5.7938381932637182e-05_r8, & + 5.609262839666133e-05_r8, 7.1318018385842935e-05_r8, & + 9.2171790859248961e-05_r8, 0.0001130721637001747_r8, & + 0.00013863180187323113_r8, 0.00016044477397035483_r8, & + 0.00017981347908404237_r8, 0.00019591055136128881_r8, & + 0.00021143501352189763_r8, 0.00022531494450132684_r8, & + 0.00023841320176140639_r8, 0.00025776073630859471_r8, & + 0.00026859626840295504_r8, 0.00027462118998324871_r8, & + 0.00028011484593620252_r8, 0.00028482756398461067_r8, & + 0.0002893736319133502_r8, 0.00029022125938253911_r8, & + 0.00028958693887784379_r8, 0.00028903249964000856_r8, & + 0.00028883899459039862_r8, 0.00028892488180897136_r8, & + 0.00028873186080006754_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,71) / & + 4.3898320187703195e-06_r8, 3.146979346859724e-06_r8, & + 3.3721582443479398e-06_r8, 4.8971422821044704e-06_r8, & + 4.9292095090465172e-06_r8, 5.4312122808381394e-06_r8, & + 5.9925375191642093e-06_r8, 7.5151325434695055e-06_r8, & + 1.067244005921507e-05_r8, 1.7423137979235492e-05_r8, & + 2.870189983280768e-05_r8, 4.3317645682310948e-05_r8, & + 5.5626735768126959e-05_r8, 6.430955427458803e-05_r8, & + 6.8950066405390419e-05_r8, 7.184380277715093e-05_r8, & + 7.7698620243084093e-05_r8, 9.4006545685403867e-05_r8, & + 0.00011580308516163426_r8, 0.00013572050598080108_r8, & + 0.00015863814980638261_r8, 0.00017887417482657624_r8, & + 0.00019800284167119012_r8, 0.00021483768546552419_r8, & + 0.00022950998124060068_r8, 0.00024214665790400216_r8, & + 0.00025536299978776205_r8, 0.00027898421399239073_r8, & + 0.00028931931818276639_r8, 0.00029326516188457255_r8, & + 0.00029878203215612622_r8, 0.00030544662221930783_r8, & + 0.00030909261234916249_r8, 0.00031006473963558236_r8, & + 0.00030876880253376466_r8, 0.00030674148482811615_r8, & + 0.0003046637029690521_r8, 0.00030262587741459264_r8, & + 0.00030223700738681665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,71) / & + 7.6966922901855207e-06_r8, 6.6127979947839245e-06_r8, & + 7.3433931038364492e-06_r8, 6.0713379073602763e-06_r8, & + 6.6897367948610428e-06_r8, 7.2767082596528681e-06_r8, & + 9.9689351903065746e-06_r8, 1.4912361522327103e-05_r8, & + 2.3604676314240864e-05_r8, 3.6084965272655144e-05_r8, & + 4.913653392813643e-05_r8, 6.0526515667181146e-05_r8, & + 6.6374897233997357e-05_r8, 7.35301983400508e-05_r8, & + 7.8154096294821805e-05_r8, 8.243155198085238e-05_r8, & + 9.2809823848720647e-05_r8, 0.00010757294993034377_r8, & + 0.00013082457661334987_r8, 0.00015125445539934868_r8, & + 0.00017481911031420088_r8, 0.00019450224404185263_r8, & + 0.00021526938001750439_r8, 0.00023347508553401964_r8, & + 0.00024900982116285805_r8, 0.00026300959406099335_r8, & + 0.00027632309805306543_r8, 0.00030395740877495788_r8, & + 0.00031643252088104832_r8, 0.00031765155633170565_r8, & + 0.0003180343901358619_r8, 0.00032778604547600447_r8, & + 0.00033364732905872906_r8, 0.00033527363511340281_r8, & + 0.00033190518338167986_r8, 0.00032547214635607601_r8, & + 0.0003197711105021472_r8, 0.00031739208735979171_r8, & + 0.00031749798754499546_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,71) / & + 1.0952645301207846e-05_r8, 1.1141695889280476e-05_r8, & + 1.2244634992914173e-05_r8, 1.0471621927473044e-05_r8, & + 1.2565053258377383e-05_r8, 1.4043361236175801e-05_r8, & + 2.2455175909727104e-05_r8, 3.4400171464494854e-05_r8, & + 4.8913445003697625e-05_r8, 6.086932557016807e-05_r8, & + 6.7479376760405232e-05_r8, 7.1541087493152939e-05_r8, & + 7.5850624192642507e-05_r8, 8.0658224139324735e-05_r8, & + 8.5073807548761046e-05_r8, 9.0155788559892304e-05_r8, & + 0.0001034887343523129_r8, 0.00012248797693499512_r8, & + 0.00014688774184520455_r8, 0.00016847105038445692_r8, & + 0.00019140980935547649_r8, 0.0002124726670690524_r8, & + 0.00023371327685120242_r8, 0.00025205354854826776_r8, & + 0.00026832611532332982_r8, 0.00028329276240101329_r8, & + 0.00029599477701253705_r8, 0.00032623348017500847_r8, & + 0.00034325348200253664_r8, 0.00034902965500901984_r8, & + 0.00034311163443178017_r8, 0.00035171143157815255_r8, & + 0.00036235208566180445_r8, 0.00035953416389274476_r8, & + 0.00035590145825712722_r8, 0.00035014803576883022_r8, & + 0.00033786447528711717_r8, 0.00033185589929178182_r8, & + 0.00033008505461356148_r8, 0.00032228446006617092_r8, & + 0.00032267739042063338_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,71) / & + 1.3570167169926831e-05_r8, 1.5830421437401764e-05_r8, & + 1.6294428170764726e-05_r8, 1.6643585101946605e-05_r8, & + 1.9975972630787116e-05_r8, 2.3381199315728783e-05_r8, & + 3.4831496848917449e-05_r8, 4.6012959940868066e-05_r8, & + 5.6996303206110313e-05_r8, 6.4642215887965242e-05_r8, & + 6.9999516902645041e-05_r8, 7.3726131375989587e-05_r8, & + 7.9089043257819596e-05_r8, 8.5230129852442203e-05_r8, & + 9.2811606110607277e-05_r8, 0.00010018461868512154_r8, & + 0.00011751806731106225_r8, 0.00014082633422796145_r8, & + 0.00016626192491614352_r8, 0.00018779357132691851_r8, & + 0.00021016741756333963_r8, 0.00023046854324981287_r8, & + 0.00025399019041342179_r8, 0.00027244581415837739_r8, & + 0.00028824076434776102_r8, 0.00030332321196571612_r8, & + 0.00031698278771931013_r8, 0.00034991189267154818_r8, & + 0.00037048712422636825_r8, 0.0003807721965036439_r8, & + 0.00037130916329313401_r8, 0.00037916172040854281_r8, & + 0.0003889645579867969_r8, 0.00038125156092932717_r8, & + 0.00037545997515371545_r8, 0.00037429065433417234_r8, & + 0.00035873081951395217_r8, 0.00034729224708362051_r8, & + 0.00034254618412742066_r8, 0.00033541258760279568_r8, & + 0.00033587250632086574_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,71) / & + 1.8321011505378003e-05_r8, 2.0083497360887698e-05_r8, & + 2.0791552875819238e-05_r8, 2.2524375784444432e-05_r8, & + 2.6659851150475404e-05_r8, 3.0559368322867726e-05_r8, & + 4.0037249790634753e-05_r8, 4.8518613871645911e-05_r8, & + 5.4960609527074818e-05_r8, 6.0018140996767959e-05_r8, & + 6.5998647871231666e-05_r8, 7.0339709215524855e-05_r8, & + 7.6824776493642654e-05_r8, 8.6871866009667625e-05_r8, & + 9.9453386583133111e-05_r8, 0.00011091021864105317_r8, & + 0.00013298995984231362_r8, 0.00015841039257590323_r8, & + 0.0001820095603707934_r8, 0.00020708467004629141_r8, & + 0.00022910401788599292_r8, 0.00025169808094377004_r8, & + 0.00027680856249569512_r8, 0.00029867647459003573_r8, & + 0.0003145238662993809_r8, 0.00033191891144463998_r8, & + 0.00034724476068686628_r8, 0.00037802591335062857_r8, & + 0.00040097246993715466_r8, 0.0004108707448647347_r8, & + 0.00040829520941401671_r8, 0.00041235618843821897_r8, & + 0.00041335286334729011_r8, 0.0004073669086103245_r8, & + 0.00040174473661862525_r8, 0.00039643650738465204_r8, & + 0.00038241161593368002_r8, 0.0003677716802394774_r8, & + 0.00035560765211114045_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,71) / & + 2.183130538618067e-05_r8, 2.1100388310314755e-05_r8, & + 2.1154564260792497e-05_r8, 2.1158482603520385e-05_r8, & + 2.9212748011860186e-05_r8, 3.7128006310816284e-05_r8, & + 4.3882224559616274e-05_r8, 4.7584526763248503e-05_r8, & + 5.2008256912502822e-05_r8, 5.6612197782070018e-05_r8, & + 6.1331946589860138e-05_r8, 6.5229034669375479e-05_r8, & + 7.4287051806172988e-05_r8, 9.0177767194448013e-05_r8, & + 0.00010651512017567202_r8, 0.00012152308926859043_r8, & + 0.00014474115121729792_r8, 0.00016795406619764708_r8, & + 0.00019229801426022436_r8, 0.00021826768904195648_r8, & + 0.0002414023600374315_r8, 0.00026569152507201552_r8, & + 0.00029451614286083415_r8, 0.00031822819306828916_r8, & + 0.00033561639507504327_r8, 0.00035433036434096276_r8, & + 0.00037054987136500968_r8, 0.00040544151331257212_r8, & + 0.00043232027570028398_r8, 0.0004439669006557124_r8, & + 0.00044260319013866004_r8, 0.00044186221992552045_r8, & + 0.00044077662190651113_r8, 0.00043150501901138139_r8, & + 0.00042508033206018186_r8, 0.00041924931596484138_r8, & + 0.00040234324656959021_r8, 0.0003852490146868199_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,71) / & + 1.0159436857198689e-05_r8, 9.9266058644335174e-06_r8, & + 1.1278351356233771e-05_r8, 1.6316721463795645e-05_r8, & + 2.3775797484572298e-05_r8, 3.1336069026908246e-05_r8, & + 4.0190542150588285e-05_r8, 4.6212401276940682e-05_r8, & + 5.0100592693626191e-05_r8, 5.3980693616928096e-05_r8, & + 5.8179208025196996e-05_r8, 6.3669926152399106e-05_r8, & + 7.5951923292222901e-05_r8, 8.8036323784700056e-05_r8, & + 0.00010488516785525176_r8, 0.00012214390762626623_r8, & + 0.00014728105418138681_r8, 0.0001711003726915993_r8, & + 0.00019718859017846043_r8, 0.00022691385115911362_r8, & + 0.00025377648716519462_r8, 0.0002754569016187987_r8, & + 0.00030872264252498687_r8, 0.00033017535471230672_r8, & + 0.00035441042128886647_r8, 0.00037388845782215254_r8, & + 0.00039029256941525652_r8, 0.00042591323218551825_r8, & + 0.00045189020688955463_r8, 0.00046521719048471538_r8, & + 0.00046995047984537189_r8, 0.00046777724731569982_r8, & + 0.00046671272413686466_r8, 0.00046972174799598182_r8, & + 0.00047077762966686696_r8, 0.00046968992198314236_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,71) / & + 7.7282000737179923e-06_r8, 6.9329848044147436e-06_r8, & + 8.00581081203208e-06_r8, 1.4113030758049392e-05_r8, & + 2.2991630261910869e-05_r8, 3.0766616566383286e-05_r8, & + 4.1370835380825033e-05_r8, 4.9149952471928842e-05_r8, & + 5.2693673844572824e-05_r8, 5.6899246186080167e-05_r8, & + 6.1146090910140947e-05_r8, 6.5582462170025771e-05_r8, & + 7.5596125511596599e-05_r8, 8.6550046561009961e-05_r8, & + 0.00010404165055451158_r8, 0.00012318437544418692_r8, & + 0.00015461388901232549_r8, 0.00018092591722641699_r8, & + 0.00020964772753561908_r8, 0.00023853831817178517_r8, & + 0.00026501634947183973_r8, 0.00028783616463868954_r8, & + 0.00032265426881592023_r8, 0.00034211621865308278_r8, & + 0.00036844102106020426_r8, 0.00038736802412306652_r8, & + 0.00040564869792754956_r8, 0.00044130122905732412_r8, & + 0.00046762547458776839_r8, 0.00048234145208417002_r8, & + 0.00048874191686641472_r8, 0.00048860225365994709_r8, & + 0.00048925940482411859_r8, 0.00049213907419616413_r8, & + 0.00049518287662540664_r8, 0.00049293640406168691_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,71) / & + 1.5611056609947046e-05_r8, 1.2968236150017039e-05_r8, & + 1.1451556021529331e-05_r8, 7.4281469759165378e-06_r8, & + 7.4522690012817633e-06_r8, 7.2087893638835299e-06_r8, & + 8.0648044624757612e-06_r8, 8.5808868181824608e-06_r8, & + 8.561357972632102e-06_r8, 9.6631432632388461e-06_r8, & + 1.1935186783735507e-05_r8, 1.4530289415892352e-05_r8, & + 2.6926526075827391e-05_r8, 4.3498541979993141e-05_r8, & + 5.778179025595219e-05_r8, 6.8800186103862673e-05_r8, & + 9.076704717906791e-05_r8, 0.00010992230995123529_r8, & + 0.00012390716307975926_r8, 0.00013238015047771373_r8, & + 0.00013477209062245777_r8, 0.00013548683807756732_r8, & + 0.00013582072136830784_r8, 0.00013741064506803192_r8, & + 0.00013982038472971827_r8, 0.00013901858645023568_r8, & + 0.00014138958529209914_r8, 0.00014507264605977019_r8, & + 0.00014934920646429914_r8, 0.0001506460670883003_r8, & + 0.00015126030980806132_r8, 0.00015108507520416293_r8, & + 0.00014751163967676443_r8, 0.00014921267988016816_r8, & + 0.0001480888402014954_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,71) / & + 1.5966278217847333e-05_r8, 1.2160552080043135e-05_r8, & + 1.0623494746419343e-05_r8, 8.049653420258873e-06_r8, & + 8.2126536911152676e-06_r8, 7.8773905787049894e-06_r8, & + 8.7541980165358563e-06_r8, 9.5365592872641012e-06_r8, & + 9.8969251491899985e-06_r8, 1.0776355251252358e-05_r8, & + 1.2610063281344321e-05_r8, 1.4268937794088607e-05_r8, & + 2.1939688111120074e-05_r8, 3.5820576577225328e-05_r8, & + 4.7554726792001737e-05_r8, 6.0954192975498766e-05_r8, & + 8.5846740348299367e-05_r8, 0.00010897724812859171_r8, & + 0.0001254801968185183_r8, 0.00013670418013324946_r8, & + 0.00014108994030537342_r8, 0.0001426657324331876_r8, & + 0.00014325864007254702_r8, 0.00014427883674895101_r8, & + 0.00014615765267693583_r8, 0.00014681144898133784_r8, & + 0.00014866835814275034_r8, 0.00015333516760582689_r8, & + 0.00015687879338513168_r8, 0.00015868975544573391_r8, & + 0.00015941823478699248_r8, 0.0001592607235652436_r8, & + 0.0001579689055353768_r8, 0.00015916682609469425_r8, & + 0.00015741963815552059_r8, 0.00015990822257142684_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,71) / & + 1.4483509110738163e-05_r8, 1.0499387382534456e-05_r8, & + 9.2575904168824779e-06_r8, 8.7655833122391344e-06_r8, & + 9.3944474348145239e-06_r8, 9.4109953302937739e-06_r8, & + 9.5217594041420421e-06_r8, 1.1086491640327591e-05_r8, & + 1.3167261822599789e-05_r8, 1.3761818866928494e-05_r8, & + 1.5657211021192541e-05_r8, 1.6764715815856595e-05_r8, & + 2.0496254635147967e-05_r8, 2.4532536904406647e-05_r8, & + 2.0109220814564245e-05_r8, 2.5581738450019735e-05_r8, & + 5.0285692193220057e-05_r8, 9.8830674652894952e-05_r8, & + 0.00011731424282466293_r8, 0.00013113834131845865_r8, & + 0.00013729186329083812_r8, 0.00014149404196932692_r8, & + 0.00014050429216747121_r8, 0.00013961421108927858_r8, & + 0.00013731933721510082_r8, 0.00013804076482898151_r8, & + 0.00014425530229462182_r8, 0.00014415232516736456_r8, & + 0.00014279064702878911_r8, 9.900579395695856e-05_r8, & + 9.2239651558578977e-05_r8, 7.0351414554937583e-05_r8, & + 5.5651064063516312e-05_r8, 5.5132278870273682e-05_r8, & + 4.9498337751569374e-05_r8, 2.7454933456077173e-05_r8, & + 1.7330350988175608e-05_r8, 1.6589072712860001e-05_r8, & + 1.6878370629039869e-05_r8, 1.601022770905428e-05_r8, & + 1.5914535896348829e-05_r8, 1.5427512628958871e-05_r8, & + 1.5373264671966737e-05_r8, 1.4643388960262748e-05_r8, & + 1.4646291732278493e-05_r8 & + / +data saar_ref(:,28,71) / & + 1.209823258792587e-05_r8, 1.2611568536709753e-05_r8, & + 1.1248943624063105e-05_r8, 1.0174306087794565e-05_r8, & + 1.0564265419260608e-05_r8, 1.0664966454567511e-05_r8, & + 1.0451084141966679e-05_r8, 1.4614155960090063e-05_r8, & + 1.5846872823842268e-05_r8, 1.4662773281540745e-05_r8, & + 1.5242941749692849e-05_r8, 1.7081627814570477e-05_r8, & + 2.0965399425169958e-05_r8, 2.4552527552637346e-05_r8, & + 1.591152760412472e-05_r8, 1.788318165351918e-05_r8, & + 3.9150494954927836e-05_r8, 9.5747780476265136e-05_r8, & + 0.00011411372625969645_r8, 0.0001280009554495721_r8, & + 0.0001340882740954144_r8, 0.00013986176992298143_r8, & + 0.00013817189210872527_r8, 0.00013738692366998794_r8, & + 0.00013756025884700341_r8, 0.00014042469674602372_r8, & + 0.0001478757667854166_r8, 0.00014654314668906824_r8, & + 0.000148377379666896_r8, 0.00013292217565790247_r8, & + 0.00010908301140683561_r8, 5.7722072020694842e-05_r8, & + 3.3797861770833278e-05_r8, 1.0534163964029916e-05_r8, & + 1.0163072608925333e-05_r8, 1.0162784002170236e-05_r8, & + 1.016258572613182e-05_r8, 1.0162524533126693e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,71) / & + 1.3236208229788255e-05_r8, 1.5522672395720694e-05_r8, & + 1.4493523618981663e-05_r8, 1.0814000950629365e-05_r8, & + 1.1328056709671497e-05_r8, 1.2291078305504494e-05_r8, & + 1.340744642516244e-05_r8, 1.7805221019633696e-05_r8, & + 1.5465835810545695e-05_r8, 1.4467386649612225e-05_r8, & + 1.5952859274480216e-05_r8, 1.7156968279206089e-05_r8, & + 1.9892759158743236e-05_r8, 2.2242637643381426e-05_r8, & + 2.5367601629534978e-05_r8, 3.0088076123585392e-05_r8, & + 4.6628338099665101e-05_r8, 6.5817211317102472e-05_r8, & + 8.7266839213187455e-05_r8, 9.6823564762384039e-05_r8, & + 9.9220032109790116e-05_r8, 0.00010270016915784241_r8, & + 8.1590189421792999e-05_r8, 7.8965871873157926e-05_r8, & + 7.8414143138971648e-05_r8, 7.9166770684047335e-05_r8, & + 8.0408713915881049e-05_r8, 8.7163328861849542e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,71) / & + 1.9547835417612161e-05_r8, 2.1510799377481193e-05_r8, & + 2.2695876667832043e-05_r8, 2.0833271196299811e-05_r8, & + 2.0125068911843162e-05_r8, 2.3500891001188563e-05_r8, & + 3.4356775207813707e-05_r8, 4.0950464128898874e-05_r8, & + 3.9941614002457496e-05_r8, 4.6004878040803573e-05_r8, & + 4.9571742326051753e-05_r8, 5.0430039233358163e-05_r8, & + 5.3570169079878662e-05_r8, 5.6448146039709113e-05_r8, & + 6.3384929738300903e-05_r8, 6.5679330493483782e-05_r8, & + 7.3098614217700678e-05_r8, 7.6820027428795739e-05_r8, & + 0.00010713482581994987_r8, 0.0001075534255618481_r8, & + 8.77244818965127e-05_r8, 8.7750301304405652e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,71) / & + 2.1610245060172667e-05_r8, 2.4826578173022401e-05_r8, & + 2.3105878185043504e-05_r8, 2.4091110507565396e-05_r8, & + 2.4272108579647464e-05_r8, 2.8409056865647254e-05_r8, & + 4.5164277447690605e-05_r8, 4.561275854485249e-05_r8, & + 5.1474166751822645e-05_r8, 5.5488923813825013e-05_r8, & + 5.5602201253497619e-05_r8, 5.8032891145190554e-05_r8, & + 6.491197181131545e-05_r8, 7.163000376942614e-05_r8, & + 7.7872810222722426e-05_r8, 7.2316194448986538e-05_r8, & + 7.7600219756413034e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,71) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,71) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,71) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,71) / & + 4.0883923521516844e-05_r8, 4.0835008968927304e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,36,71) / & + 4.4574937154248285e-05_r8, 4.5014058703659284e-05_r8, & + 4.8323327483561141e-05_r8, 5.145802144525169e-05_r8, & + 5.4823214750298802e-05_r8, 5.8485092642621683e-05_r8, & + 6.9367646440610665e-05_r8, 8.1732791903105166e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,71) / & + 4.3620637391168226e-05_r8, 4.4454408512578093e-05_r8, & + 4.8080998574645383e-05_r8, 5.155647611209216e-05_r8, & + 5.5694514548328661e-05_r8, 5.9250483722096819e-05_r8, & + 6.931003165038667e-05_r8, 8.2918552941763917e-05_r8, & + 8.9709446018383703e-05_r8, 8.9226503539348756e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,71) / & + 4.1716681128649337e-05_r8, 4.2500571926710367e-05_r8, & + 4.6663066514281906e-05_r8, 5.2717194895685226e-05_r8, & + 5.7560068919167558e-05_r8, 5.9924648380618182e-05_r8, & + 6.9048781286976257e-05_r8, 7.9267908430756412e-05_r8, & + 8.7535790322531006e-05_r8, 8.9279162779892847e-05_r8, & + 9.156566603838568e-05_r8, 9.2198127141258107e-05_r8, & + 9.9581583714736913e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,71) / & + 4.0587143995537441e-05_r8, 4.1284202005336883e-05_r8, & + 4.5662893204621381e-05_r8, 6.6953480121014378e-05_r8, & + 7.1799457388123044e-05_r8, 7.3470912641667981e-05_r8, & + 8.0443075558696427e-05_r8, 8.712543417250687e-05_r8, & + 9.1474104652830129e-05_r8, 9.2436508679066202e-05_r8, & + 9.4882682436306308e-05_r8, 9.9625240364245457e-05_r8, & + 0.00010403375703953983_r8, 0.00010641924084804283_r8, & + 0.00010600292003388753_r8, 0.00010613846522222953_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,71) / & + 4.6762253834387995e-05_r8, 5.1056774319162439e-05_r8, & + 5.2609134023775392e-05_r8, 7.0391673782762586e-05_r8, & + 7.5807072530330592e-05_r8, 7.7904105814148925e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,71) / & + 2.9063191670949182e-05_r8, 3.0190616020827953e-05_r8, & + 3.0037019500529898e-05_r8, 2.8005100088822085e-05_r8, & + 3.3384828238783788e-05_r8, 3.6553761740596761e-05_r8, & + 5.0301889719499835e-05_r8, 4.8567469527620279e-05_r8, & + 4.8270515178531397e-05_r8, 5.677319502255539e-05_r8, & + 6.0888584310918956e-05_r8, 0.00011298106950811764_r8, & + 0.00017369714808996924_r8, 0.00018742695848245945_r8, & + 0.00020058586807040725_r8, 0.00021463056490259188_r8, & + 0.00023954238526138806_r8, 0.00025832368245808828_r8, & + 0.00026969134415342149_r8, 0.00028966447730830147_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,71) / & + 3.4846575611344028e-05_r8, 3.8789720302230368e-05_r8, & + 3.2322555747668147e-05_r8, 2.8653104332995803e-05_r8, & + 3.3676469312628806e-05_r8, 4.3653080174498758e-05_r8, & + 6.0589670550508097e-05_r8, 5.4735458193223912e-05_r8, & + 5.5914730600281466e-05_r8, 6.9247062862929986e-05_r8, & + 8.492701324346345e-05_r8, 0.0001309766395529789_r8, & + 0.00019175831573874864_r8, 0.00020321763754047137_r8, & + 0.00021749759143690312_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,71) / & + 9.8041247333242786e-05_r8, 9.8569461854606627e-05_r8, & + 9.7065644331231822e-05_r8, 9.2722770060815242e-05_r8, & + 9.4992742105206023e-05_r8, 0.00010640579339176606_r8, & + 0.0001256073132728753_r8, 0.00012261100104434222_r8, & + 0.00012792253184105244_r8, 0.00012431169672412644_r8, & + 0.00011448606853025882_r8, 0.00010055417523341948_r8, & + 8.3282261683415246e-05_r8, 8.1360003951305734e-05_r8, & + 7.8177255787966404e-05_r8, 7.5087384292868463e-05_r8, & + 7.0921609267607917e-05_r8, 7.4170528048433311e-05_r8, & + 7.6438365278387049e-05_r8, 7.7109114992034283e-05_r8, & + 7.851846869295719e-05_r8, 8.1091192791191675e-05_r8, & + 8.0960737767954473e-05_r8, 8.6747499607435448e-05_r8, & + 9.5861667759798624e-05_r8, 9.9649725578721191e-05_r8, & + 0.00010421742052856536_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,71) / & + 0.00010228515619372454_r8, 0.00010747353207253002_r8, & + 0.00010475164712448582_r8, 7.9111348766664171e-05_r8, & + 8.5053597601532686e-05_r8, 9.463531301086704e-05_r8, & + 0.00013079576781153653_r8, 0.00012259720964873271_r8, & + 0.00012176535499850632_r8, 0.00011148797526243422_r8, & + 0.00010286326938975078_r8, 9.3021065788509693e-05_r8, & + 8.2692496681998969e-05_r8, 8.212446453621886e-05_r8, & + 7.9609513805946076e-05_r8, 7.6362091884939949e-05_r8, & + 7.1932403944314875e-05_r8, 7.4993976623917891e-05_r8, & + 7.7267234981052984e-05_r8, 7.8702678426741522e-05_r8, & + 8.1331298273505556e-05_r8, 8.3493487665624511e-05_r8, & + 8.5844948697357069e-05_r8, 9.0463687106061627e-05_r8, & + 9.8486816374045844e-05_r8, 0.00010058215858335071_r8, & + 0.00010600162078539796_r8, 0.0001147815441530534_r8, & + 0.00011486804021780123_r8, 0.00011812546898683563_r8, & + 0.00011702763500420153_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,71) / & + 9.3291189788783551e-05_r8, 0.00011054237635208577_r8, & + 0.00010978727985525821_r8, 8.6501202687967895e-05_r8, & + 9.9930764638496672e-05_r8, 0.00011225705535447428_r8, & + 0.00014098192393868149_r8, 0.00011252456324134007_r8, & + 9.8951340719472298e-05_r8, 8.5981574686520298e-05_r8, & + 8.159811510035324e-05_r8, 7.6478084634071908e-05_r8, & + 7.1579461916618142e-05_r8, 7.2857009464150503e-05_r8, & + 7.3373331539323573e-05_r8, 7.3521346966366015e-05_r8, & + 7.2321971253788903e-05_r8, 7.366542660062953e-05_r8, & + 7.5974306599253433e-05_r8, 7.9002201386766855e-05_r8, & + 8.238924554736807e-05_r8, 8.564677121818484e-05_r8, & + 8.9713115980671437e-05_r8, 9.382455562700983e-05_r8, & + 9.9645301765841264e-05_r8, 0.00010302079374692371_r8, & + 0.00010919073432769872_r8, 0.00011926441488039474_r8, & + 0.00012019838821649759_r8, 0.00011877043972005545_r8, & + 0.00011933121315178308_r8, 0.00011975442246905881_r8, & + 0.00012046862737149429_r8, 0.00012029881904718497_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,72) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,72) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,72) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,72) / & + 8.8585418134865321e-05_r8, 8.5417011465972241e-05_r8, & + 8.9340072284253109e-05_r8, 8.6910205223724468e-05_r8, & + 8.9191303288491334e-05_r8, 9.9697771592170817e-05_r8, & + 0.00010864967273884846_r8, 0.00012779450163164096_r8, & + 0.00013585357399471411_r8, 0.00014699983281064256_r8, & + 0.0001550328382291441_r8, 0.00015972539162746176_r8, & + 0.00017104499755859532_r8, 0.00017691188292388369_r8, & + 0.00017932509408421135_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,5,72) / & + 8.1123769656290268e-05_r8, 8.1366007386952764e-05_r8, & + 8.999326781043998e-05_r8, 6.558828731451625e-05_r8, & + 7.5776651333944964e-05_r8, 9.2489995764483878e-05_r8, & + 9.2115485226185845e-05_r8, 0.00011684591430587835_r8, & + 0.00013515615963275587_r8, 0.00014386692351662744_r8, & + 0.00015327736116626454_r8, 0.00015887426791123468_r8, & + 0.00017237426698419629_r8, 0.00017770274326180154_r8, & + 0.00018122169675151853_r8, 0.00018391192614942295_r8, & + 0.00018689384607416346_r8, 0.00019017952414140623_r8, & + 0.00019513118436224406_r8, 0.00019936762183075645_r8, & + 0.00020529850843909305_r8, 0.00021468173978561649_r8, & + 0.00021958394591376689_r8, 0.00022496426701678227_r8, & + 0.00023054609051342096_r8, 0.00023500810204740249_r8, & + 0.00023997286458124495_r8, 0.00025038776109635247_r8, & + 0.00026008175031780832_r8, 0.0002680594454853054_r8, & + 0.00027466857455721701_r8, 0.00028022604159148173_r8, & + 0.00028636632472253139_r8, 0.00029105885170490898_r8, & + 0.00029488638446675635_r8, 0.00029794358704474897_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,72) / & + 5.8144285044309951e-05_r8, 5.8810366746851049e-05_r8, & + 7.796243970176508e-05_r8, 6.2206878814005841e-05_r8, & + 6.8453928847648796e-05_r8, 8.0792707050099765e-05_r8, & + 7.2266884068457969e-05_r8, 0.00010533584637432441_r8, & + 0.00012413059365361188_r8, 0.00013470308629374826_r8, & + 0.00014379632145037716_r8, 0.00014923837195064034_r8, & + 0.00016190777255907043_r8, 0.00016711080767930266_r8, & + 0.00017001623794035692_r8, 0.00017271213309861221_r8, & + 0.000178198192067162_r8, 0.00018032453769306601_r8, & + 0.00018609339630233141_r8, 0.00019017929351421522_r8, & + 0.00019513350365143632_r8, 0.00020286215571834243_r8, & + 0.0002074877953105183_r8, 0.00021275390631569604_r8, & + 0.00021915210265314864_r8, 0.00022466270299867011_r8, & + 0.00022975671788938939_r8, 0.00024141087869806075_r8, & + 0.00025207055776042169_r8, 0.00025947145569792899_r8, & + 0.00026714078492743958_r8, 0.00027298341203866276_r8, & + 0.00027949930282043995_r8, 0.00028475856699283715_r8, & + 0.00028830160314237158_r8, 0.00028978861237416914_r8, & + 0.00029058021039490752_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,72) / & + 2.5148158682105657e-05_r8, 2.403964106734219e-05_r8, & + 3.4723049133634464e-05_r8, 3.4519919079480815e-05_r8, & + 3.7213608726446112e-05_r8, 4.5949394598434091e-05_r8, & + 4.8984605510087156e-05_r8, 6.6710155578547173e-05_r8, & + 8.0063663375800549e-05_r8, 9.1537871271374588e-05_r8, & + 9.822560087343616e-05_r8, 0.00010000682246367031_r8, & + 0.00010907930676035292_r8, 0.00011350846007056064_r8, & + 0.00011650737284761619_r8, 0.00011961941638929085_r8, & + 0.00012836218323315567_r8, 0.00013172265324460698_r8, & + 0.00014018389356839421_r8, 0.00014930970708612183_r8, & + 0.00015779626882922185_r8, 0.00016473997698095367_r8, & + 0.00017218034192057998_r8, 0.00017834933043008424_r8, & + 0.00018421864799706412_r8, 0.00019044877399806051_r8, & + 0.00019610264505810589_r8, 0.00020769380160702995_r8, & + 0.0002217916444418993_r8, 0.0002320283521839982_r8, & + 0.00024057344691420703_r8, 0.00024789319801416789_r8, & + 0.00025556235881610446_r8, 0.00026401108437169179_r8, & + 0.00027079140022070021_r8, 0.0002761185030407196_r8, & + 0.00027939005524385573_r8, 0.00028067120166968738_r8, & + 0.00028357849172977147_r8, 0.00028805326841400205_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,72) / & + 5.2459750261423897e-06_r8, 4.947544164236507e-06_r8, & + 6.9509961754908863e-06_r8, 9.5038789566699176e-06_r8, & + 1.0078914256271413e-05_r8, 1.215828068187126e-05_r8, & + 1.9912570284106344e-05_r8, 2.7967388149719717e-05_r8, & + 3.4190671654554785e-05_r8, 3.965131611149816e-05_r8, & + 4.2839242261458156e-05_r8, 4.2852843498031427e-05_r8, & + 4.4634717343857248e-05_r8, 4.6504551762116777e-05_r8, & + 4.876689716698121e-05_r8, 5.1352682588459102e-05_r8, & + 5.6286591234812732e-05_r8, 6.4560313450187252e-05_r8, & + 7.3042932930604537e-05_r8, 8.6660412935006339e-05_r8, & + 0.00010862788043145902_r8, 0.00012062797240704301_r8, & + 0.00013269719514271352_r8, 0.00014445967389110985_r8, & + 0.00015563053005767291_r8, 0.00016489077152436369_r8, & + 0.00017275444974906699_r8, 0.00018981236635981266_r8, & + 0.00020409606868090053_r8, 0.00021518007387544166_r8, & + 0.00022229870115905598_r8, 0.00022619030069227924_r8, & + 0.00023033810394809215_r8, 0.00023812893379338625_r8, & + 0.00024687868541098526_r8, 0.00025693046635827296_r8, & + 0.00026657795077035469_r8, 0.00027466555428169427_r8, & + 0.00028135598447708737_r8, 0.00028494620705228537_r8, & + 0.0002896496353862015_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,72) / & + 4.4910104639060256e-06_r8, 4.850030683694305e-06_r8, & + 4.9901975549558474e-06_r8, 6.2002634562857671e-06_r8, & + 6.3250120057275825e-06_r8, 6.8883274787976074e-06_r8, & + 1.050233534792961e-05_r8, 1.3365977676719529e-05_r8, & + 1.4979859485358303e-05_r8, 1.6741666641277314e-05_r8, & + 1.7851175739146931e-05_r8, 1.8866314401765671e-05_r8, & + 2.0487671657720776e-05_r8, 2.2311926088905564e-05_r8, & + 2.4249091202592246e-05_r8, 2.6961614344148708e-05_r8, & + 3.0644552869819851e-05_r8, 4.0607671134741408e-05_r8, & + 5.030602813520846e-05_r8, 6.2643042192448323e-05_r8, & + 8.3895337558070386e-05_r8, 0.00010529684030608653_r8, & + 0.00012196940448409808_r8, 0.00013769261555760605_r8, & + 0.00015304700908608463_r8, 0.0001661007050153822_r8, & + 0.00017663678574809735_r8, 0.00020078502270516832_r8, & + 0.00021766239713758023_r8, 0.00022810407994782388_r8, & + 0.00023476563940144889_r8, 0.00023566567519099304_r8, & + 0.00023479571890393109_r8, 0.00023779315800594451_r8, & + 0.00024370334776263581_r8, 0.0002550493811277108_r8, & + 0.00026595012538415872_r8, 0.00027771537658593149_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,72) / & + 7.6833581385076137e-06_r8, 7.7986668982325812e-06_r8, & + 7.8785866421410656e-06_r8, 6.3769027685231798e-06_r8, & + 5.8745053487607082e-06_r8, 6.0271582313542201e-06_r8, & + 8.538942772067452e-06_r8, 1.1161467420081899e-05_r8, & + 1.2836275684198072e-05_r8, 1.4174495479958432e-05_r8, & + 1.5547866602693155e-05_r8, 1.6965823787765051e-05_r8, & + 1.6390141564326953e-05_r8, 1.9396032769473901e-05_r8, & + 2.0510416245386901e-05_r8, 2.2446966653094265e-05_r8, & + 2.4571287498003637e-05_r8, 3.0950951434608385e-05_r8, & + 4.1676906502644134e-05_r8, 5.8130425115481521e-05_r8, & + 7.9362377573404457e-05_r8, 0.00010167733490887747_r8, & + 0.00012246983200535515_r8, 0.00014246820928810793_r8, & + 0.00016200310133660854_r8, 0.00017802118712538522_r8, & + 0.00019268064397880925_r8, 0.00022016232155947684_r8, & + 0.0002387413990715317_r8, 0.00025178997180480274_r8, & + 0.00026053313607438513_r8, 0.00026301402306235828_r8, & + 0.00026206247967854929_r8, 0.00025837357254139911_r8, & + 0.00025092434107704673_r8, 0.00026440392173031536_r8, & + 0.00027646755614678864_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,72) / & + 7.2465121488488435e-06_r8, 7.3293000256320999e-06_r8, & + 7.2862782543396722e-06_r8, 5.3554606269559799e-06_r8, & + 5.5147401065777048e-06_r8, 4.8429818429752856e-06_r8, & + 5.083815197123557e-06_r8, 7.063922341290406e-06_r8, & + 8.8647690477032189e-06_r8, 1.1913212472350961e-05_r8, & + 1.4090705766544044e-05_r8, 1.6878776171372742e-05_r8, & + 1.6216610267469441e-05_r8, 1.8594692463551281e-05_r8, & + 1.9996488101845251e-05_r8, 2.1768602139562406e-05_r8, & + 2.5460319370227537e-05_r8, 3.1962920674378135e-05_r8, & + 4.3224130901728704e-05_r8, 6.1279092541783448e-05_r8, & + 8.3876271909552187e-05_r8, 0.00010718440308985606_r8, & + 0.00012999251661754575_r8, 0.00015070052651166183_r8, & + 0.00016958709118544018_r8, 0.00018608883692091573_r8, & + 0.00020068173791022628_r8, 0.00022763990018055319_r8, & + 0.00024684484232596058_r8, 0.00026036858249996073_r8, & + 0.0002674559241156289_r8, 0.0002726774831553575_r8, & + 0.00027054722725589075_r8, 0.00026650580112821205_r8, & + 0.000254219502471911_r8, 0.0002651280150347761_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,72) / & + 6.2324874897360478e-06_r8, 6.1167446841404399e-06_r8, & + 6.0689696210451101e-06_r8, 3.895569518138834e-06_r8, & + 3.994066580053933e-06_r8, 3.5117647993363626e-06_r8, & + 3.8596751888127153e-06_r8, 6.8982314154180917e-06_r8, & + 9.6259497613040696e-06_r8, 1.3645402540637773e-05_r8, & + 1.7041438476520705e-05_r8, 2.1248054043797456e-05_r8, & + 2.4662597521090534e-05_r8, 2.6138348501124215e-05_r8, & + 2.7016505485546636e-05_r8, 2.6733157359626672e-05_r8, & + 2.8146177168235297e-05_r8, 3.3995816315352163e-05_r8, & + 4.5754913858320915e-05_r8, 6.4587458066875443e-05_r8, & + 8.9298895591313212e-05_r8, 0.00011379675934786168_r8, & + 0.00013747063879606273_r8, 0.00015886131671037681_r8, & + 0.00017718006266063979_r8, 0.00019316844317166312_r8, & + 0.00020770233648209445_r8, 0.0002325169852943277_r8, & + 0.00024860443515140561_r8, 0.00026000671416431538_r8, & + 0.00026541563796861068_r8, 0.00026967320367802508_r8, & + 0.00026920625128027856_r8, 0.00026833631368318114_r8, & + 0.00026629333015679602_r8, 0.00026632623315158002_r8, & + 0.0002680257460016755_r8, 0.00027225399060297538_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,72) / & + 4.9455402320828328e-06_r8, 4.6846806822146452e-06_r8, & + 4.6740493879451094e-06_r8, 3.3642233838573237e-06_r8, & + 3.3645446578707272e-06_r8, 2.9006448874671002e-06_r8, & + 3.681465766810965e-06_r8, 7.1383569574423263e-06_r8, & + 1.1394525653200602e-05_r8, 1.701723323876861e-05_r8, & + 2.1794253178996873e-05_r8, 2.6211156756403099e-05_r8, & + 3.1440707695748524e-05_r8, 3.3235251343855447e-05_r8, & + 3.4369671881325487e-05_r8, 3.3049200470266765e-05_r8, & + 3.1519942447992634e-05_r8, 3.7788121343153839e-05_r8, & + 5.1253183794816842e-05_r8, 7.259530857327688e-05_r8, & + 9.9128570145205343e-05_r8, 0.00012458548840269947_r8, & + 0.00014877293178248126_r8, 0.00017046115023330158_r8, & + 0.00018774787840676835_r8, 0.00020249509157503821_r8, & + 0.00021582424895815876_r8, 0.00023847890736709046_r8, & + 0.00025264030432509864_r8, 0.00026209310647687156_r8, & + 0.00026791482831972803_r8, 0.00027168040344242134_r8, & + 0.00027290608223478301_r8, 0.00027215376577718669_r8, & + 0.00027150084828294301_r8, 0.00027054703378089203_r8, & + 0.00027071720688993668_r8, 0.00027289691132141949_r8, & + 0.00027164063691533392_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,72) / & + 3.7333878584893486e-06_r8, 3.3470086464654672e-06_r8, & + 3.3656434345091484e-06_r8, 3.0903125987616957e-06_r8, & + 3.0837865744398555e-06_r8, 2.75083492685938e-06_r8, & + 3.7928597878197014e-06_r8, 7.5187063373481993e-06_r8, & + 1.313343121827374e-05_r8, 2.0911959686724092e-05_r8, & + 2.8525076068021686e-05_r8, 3.4737213901008671e-05_r8, & + 4.17708205340433e-05_r8, 4.3538910549836223e-05_r8, & + 4.3609524634151039e-05_r8, 4.1591499832289546e-05_r8, & + 3.7374127317067918e-05_r8, 4.3991210216956512e-05_r8, & + 5.9047274142963388e-05_r8, 8.3040306158235324e-05_r8, & + 0.00011022716952954279_r8, 0.00013606874704172913_r8, & + 0.00015898007187280409_r8, 0.00017929196221062486_r8, & + 0.00019503807736404738_r8, 0.00020886668226260052_r8, & + 0.00022167995674224022_r8, 0.00024284846567028829_r8, & + 0.00025724531897162718_r8, 0.00026577352545028497_r8, & + 0.00027094015608201293_r8, 0.00027455336931975975_r8, & + 0.00027620784275534814_r8, 0.00027574632700988613_r8, & + 0.00027498859921282941_r8, 0.00027455912490676214_r8, & + 0.00027477750926744004_r8, 0.00027519175956582456_r8, & + 0.00027481605854860758_r8, 0.00027505535874797232_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,72) / & + 3.0909594070144317e-06_r8, 2.6072970677613844e-06_r8, & + 2.8154946273567843e-06_r8, 3.1840172177386648e-06_r8, & + 3.1426329572264041e-06_r8, 2.768454473512306e-06_r8, & + 3.2207285393681508e-06_r8, 5.4351825949976136e-06_r8, & + 9.8423390175918619e-06_r8, 1.7649655155908203e-05_r8, & + 2.6854020005361846e-05_r8, 3.3506847688858243e-05_r8, & + 4.2094964156740239e-05_r8, 4.6579617694003872e-05_r8, & + 4.6457119612193067e-05_r8, 4.5266121106024545e-05_r8, & + 4.1535775402453307e-05_r8, 5.0971139343508259e-05_r8, & + 6.8753730094879488e-05_r8, 9.1854051428877587e-05_r8, & + 0.00011868591229186069_r8, 0.00014036925859296946_r8, & + 0.00016327301611362342_r8, 0.00018137289952564547_r8, & + 0.00019742060567927382_r8, 0.00021140026517554644_r8, & + 0.00022424526398989641_r8, 0.000244625960093817_r8, & + 0.00025783338139412023_r8, 0.00026602194382742775_r8, & + 0.00027087835797925692_r8, 0.00027395631221425716_r8, & + 0.0002765851374955677_r8, 0.00027658058576911047_r8, & + 0.00027550797796880699_r8, 0.0002752711615437448_r8, & + 0.00027573057104623668_r8, 0.00027585563882256931_r8, & + 0.0002756688884416047_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,72) / & + 4.1190585376927043e-06_r8, 3.2145258320460659e-06_r8, & + 3.9222596963440953e-06_r8, 5.0980936335009772e-06_r8, & + 5.0417708144636861e-06_r8, 5.0809517050854332e-06_r8, & + 6.1084794557122316e-06_r8, 9.7709361292962862e-06_r8, & + 1.7612100726006159e-05_r8, 2.7592163807775798e-05_r8, & + 3.6592314201936229e-05_r8, 4.2555194673347377e-05_r8, & + 5.1208231369743434e-05_r8, 5.6251654502432219e-05_r8, & + 5.7974643275136613e-05_r8, 5.805162198856151e-05_r8, & + 5.7389471335296248e-05_r8, 7.1041237055992809e-05_r8, & + 9.2621805156767179e-05_r8, 0.00011445223249861763_r8, & + 0.00013875246668303162_r8, 0.00015988216172548348_r8, & + 0.00018072297019369022_r8, 0.00019724117887779031_r8, & + 0.00021296989968509623_r8, 0.00022726574297057413_r8, & + 0.00024056721729977305_r8, 0.00026154252937327246_r8, & + 0.00027449255586222944_r8, 0.00028096653362063092_r8, & + 0.00028495365690976688_r8, 0.00028877985274328031_r8, & + 0.00029319361958321137_r8, 0.00029286232381011513_r8, & + 0.00028994584347133027_r8, 0.00028892984881842955_r8, & + 0.00028887165716965073_r8, 0.00028901730773821564_r8, & + 0.00028885173917874232_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,72) / & + 6.7575313583420519e-06_r8, 5.6222689027452429e-06_r8, & + 6.649360104769584e-06_r8, 1.0237246695949251e-05_r8, & + 1.0538581184396653e-05_r8, 1.1861711397613193e-05_r8, & + 1.3146816277496809e-05_r8, 2.1701579330646827e-05_r8, & + 3.1494473265967418e-05_r8, 4.1819461673220846e-05_r8, & + 5.0374184842744364e-05_r8, 5.5911006637924789e-05_r8, & + 6.123265327113696e-05_r8, 6.7932482456054585e-05_r8, & + 7.1096250733515437e-05_r8, 7.3013883234487745e-05_r8, & + 7.6975928217685698e-05_r8, 8.8906621156902856e-05_r8, & + 0.00011377300367400543_r8, 0.00013525385224811922_r8, & + 0.00015883000357873859_r8, 0.00017840346179177503_r8, & + 0.00019842805870316045_r8, 0.00021532645784065304_r8, & + 0.0002308843633866201_r8, 0.00024506817802525912_r8, & + 0.00025842357417856909_r8, 0.00028352532235735242_r8, & + 0.00029743243287603193_r8, 0.00030160126460131094_r8, & + 0.00030371561808876547_r8, 0.0003082404686005686_r8, & + 0.00031282895785460783_r8, 0.00031226484931322308_r8, & + 0.00030755365820030807_r8, 0.00030415849594526327_r8, & + 0.00030266334205048516_r8, 0.00030220594568474416_r8, & + 0.00030117665745216509_r8, 0.00029875409942654174_r8, & + 0.00029779765471390184_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,72) / & + 1.0521905287598637e-05_r8, 9.7745680762303618e-06_r8, & + 1.1293990497139508e-05_r8, 1.2713350156645964e-05_r8, & + 1.3457625207388466e-05_r8, 1.8509019436276046e-05_r8, & + 2.317227093743473e-05_r8, 4.014292654772635e-05_r8, & + 4.9236938060966091e-05_r8, 5.7189727054331911e-05_r8, & + 6.3279495570750183e-05_r8, 6.6375137692790831e-05_r8, & + 6.9466976173871407e-05_r8, 7.6511994191244317e-05_r8, & + 8.0519003311826188e-05_r8, 8.4562008631974145e-05_r8, & + 9.4422715364496886e-05_r8, 0.00010877938041071741_r8, & + 0.00013339305534778242_r8, 0.00015604827832285824_r8, & + 0.00017934319250980117_r8, 0.0001973475327666194_r8, & + 0.00021675927928264054_r8, 0.0002339828724740623_r8, & + 0.0002499200099348342_r8, 0.0002646581751068036_r8, & + 0.00027797930526282162_r8, 0.00030630106478644762_r8, & + 0.00032211068111528149_r8, 0.00032450241506698654_r8, & + 0.00032322127542444942_r8, 0.00032767086883205379_r8, & + 0.00033182243437748787_r8, 0.00032976930896834878_r8, & + 0.0003223779863145333_r8, 0.00031682437618090636_r8, & + 0.00031416076543195221_r8, 0.00031413736517297306_r8, & + 0.00031154598057788022_r8, 0.00031071584629621191_r8, & + 0.00031037275736912933_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,72) / & + 1.3763877998439122e-05_r8, 1.3448429044097569e-05_r8, & + 1.5378203539974033e-05_r8, 1.5045563305396924e-05_r8, & + 1.6839773376754069e-05_r8, 2.3209944346004885e-05_r8, & + 3.1133885512664058e-05_r8, 4.8670403148577631e-05_r8, & + 5.8661413818913001e-05_r8, 6.6060435851428666e-05_r8, & + 7.0637375176105238e-05_r8, 7.2688942263302885e-05_r8, & + 7.5400971184984663e-05_r8, 8.0466812045253833e-05_r8, & + 8.4560690978660659e-05_r8, 8.9533056297598119e-05_r8, & + 0.00010264022299962461_r8, 0.00012040291628516955_r8, & + 0.00014409379080809458_r8, 0.00016859196635664444_r8, & + 0.00019117355630222618_r8, 0.00021084269984780198_r8, & + 0.00023098946407749501_r8, 0.00024827803758347295_r8, & + 0.00026483602247337506_r8, 0.00028053831432235925_r8, & + 0.00029418485465850278_r8, 0.00032299434730736863_r8, & + 0.00033995953364822736_r8, 0.00034307550222998121_r8, & + 0.000340775913198649_r8, 0.00034644216221842774_r8, & + 0.00035258706987547923_r8, 0.00035256910624071485_r8, & + 0.00034793089716135696_r8, 0.000341323087809773_r8, & + 0.00033211439604467915_r8, 0.00032871017691481419_r8, & + 0.00032663821765459999_r8, 0.00032236089625840343_r8, & + 0.00032339381114181143_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,72) / & + 1.4365202945149471e-05_r8, 1.5530995059125702e-05_r8, & + 1.6672221233668703e-05_r8, 1.7128470204467751e-05_r8, & + 2.0176696169751205e-05_r8, 2.503870487170667e-05_r8, & + 3.7761335935457538e-05_r8, 4.7651444915060443e-05_r8, & + 6.0963382553297782e-05_r8, 6.8367185185611303e-05_r8, & + 7.3088376625446801e-05_r8, 7.6277071810599474e-05_r8, & + 8.1188474556298862e-05_r8, 8.6635747080977227e-05_r8, & + 9.1639856186306201e-05_r8, 9.7328932622476141e-05_r8, & + 0.00011301969768854899_r8, 0.00013343101589704899_r8, & + 0.00015942822540741499_r8, 0.00018143320002428901_r8, & + 0.0002035213232064753_r8, 0.00022527790779403896_r8, & + 0.00024855667261843028_r8, 0.00026585371301934943_r8, & + 0.00028262249235503143_r8, 0.00029811790699429031_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,72) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,72) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,72) / & + 1.1045181500860013e-05_r8, 8.7978778848338539e-06_r8, & + 8.6115750978328244e-06_r8, 1.5011897941790994e-05_r8, & + 2.154535738598536e-05_r8, 2.7581787288987565e-05_r8, & + 3.8303119286534402e-05_r8, 4.4188429539290053e-05_r8, & + 4.9345804914795436e-05_r8, 5.3153868792139146e-05_r8, & + 5.7342703401134181e-05_r8, 6.2078915015691333e-05_r8, & + 7.3275471134041914e-05_r8, 8.0518074882130299e-05_r8, & + 9.7104228515698792e-05_r8, 0.00011731089858484855_r8, & + 0.00014663156121129763_r8, 0.00017113596749672219_r8, & + 0.00019755015889703548_r8, 0.0002289931013725866_r8, & + 0.00025564857681573128_r8, 0.00027801724118899226_r8, & + 0.00031044550912498145_r8, 0.00033126702671675045_r8, & + 0.0003553692014976253_r8, 0.0003744216276518908_r8, & + 0.00039143818079864437_r8, 0.00042654128548159806_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,72) / & + 9.2285575294998727e-06_r8, 7.824211938170962e-06_r8, & + 7.5446119536540308e-06_r8, 1.4223513454443079e-05_r8, & + 2.1874920045915482e-05_r8, 2.8914825299363332e-05_r8, & + 4.1070308422290594e-05_r8, 4.7800588275184658e-05_r8, & + 5.1875806345991206e-05_r8, 5.602139170580709e-05_r8, & + 6.0334508281496755e-05_r8, 6.4748427193383733e-05_r8, & + 7.5033755369553295e-05_r8, 8.5008007469683627e-05_r8, & + 0.0001025467317295331_r8, 0.00012272805017453942_r8, & + 0.00015440887615151568_r8, 0.00018000198631387693_r8, & + 0.00020829355265437232_r8, 0.00023898871751801_r8, & + 0.00026500087423603235_r8, 0.0002887617960844075_r8, & + 0.000321743202033735_r8, 0.00034296646697409231_r8, & + 0.00036806513903753604_r8, 0.00038740631240500266_r8, & + 0.00040543391591313344_r8, 0.00044115659903460778_r8, & + 0.00046777697316105807_r8, 0.00048280096819626635_r8, & + 0.00048913707768131001_r8, 0.00048885611479271079_r8, & + 0.00048958878406818701_r8, 0.00049265707223670292_r8, & + 0.00049417527351604577_r8, 0.00049425504667323112_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,72) / & + 1.4873213993071692e-05_r8, 1.3549331013274044e-05_r8, & + 9.973796478173304e-06_r8, 7.1197439364999543e-06_r8, & + 7.1227322110801163e-06_r8, 6.6224028417739958e-06_r8, & + 8.0498083919045745e-06_r8, 8.3481789712877481e-06_r8, & + 8.4078459628042119e-06_r8, 9.2065886825773312e-06_r8, & + 1.0894770552126665e-05_r8, 1.3563583138517594e-05_r8, & + 2.580520548287624e-05_r8, 4.2598564261683054e-05_r8, & + 5.6272588994724534e-05_r8, 6.9718201799333861e-05_r8, & + 9.3357735251692193e-05_r8, 0.00011025790777264576_r8, & + 0.00012482581945008633_r8, 0.00013180192175452898_r8, & + 0.00013464412874529717_r8, 0.00013593097158514454_r8, & + 0.00013616627677859525_r8, 0.00013702769226519191_r8, & + 0.00013873082716777326_r8, 0.00013903326494675144_r8, & + 0.00014091199876906864_r8, 0.00014529346257717896_r8, & + 0.00014790444764682629_r8, 0.00014921896702804125_r8, & + 0.00015017952662353998_r8, 0.00015014579731403456_r8, & + 0.00015008447502486258_r8, 0.00015044104408238815_r8, & + 0.00014904621697392535_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,72) / & + 1.6048259311568897e-05_r8, 1.2800034341544492e-05_r8, & + 1.0424249173443826e-05_r8, 7.4179601105461011e-06_r8, & + 7.5441051962215611e-06_r8, 7.4118514385468465e-06_r8, & + 9.0402963404853197e-06_r8, 8.9862486427094118e-06_r8, & + 9.0764269315508751e-06_r8, 9.7508188199842807e-06_r8, & + 1.119145137919226e-05_r8, 1.2844164233475143e-05_r8, & + 1.9250329018142511e-05_r8, 3.3481392308314327e-05_r8, & + 4.4389407934805915e-05_r8, 5.8267440516903631e-05_r8, & + 8.535716860236486e-05_r8, 0.00010868067080817312_r8, & + 0.00012517377328920441_r8, 0.00013611750727227393_r8, & + 0.0001411716257809342_r8, 0.00014326603846447536_r8, & + 0.00014383594899805007_r8, 0.00014442899783764627_r8, & + 0.00014540903131742079_r8, 0.00014710253699025202_r8, & + 0.00014868242788302334_r8, 0.0001530060063802063_r8, & + 0.00015595436598264594_r8, 0.00015789659183214602_r8, & + 0.00015846654188346275_r8, 0.00015859646340991428_r8, & + 0.000158764510487567_r8, 0.00015912191844240798_r8, & + 0.00015834469577828022_r8, 0.00016054495706681462_r8, & + 0.0001612874032321927_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,72) / & + 1.7913071951916111e-05_r8, 1.3126255026467625e-05_r8, & + 1.1108801110361182e-05_r8, 7.4611475364688684e-06_r8, & + 7.9403236840951709e-06_r8, 8.4668659489298498e-06_r8, & + 9.7422100188317298e-06_r8, 1.0073553738804669e-05_r8, & + 1.0203604145237659e-05_r8, 1.0941861598638505e-05_r8, & + 1.2221698777981923e-05_r8, 1.3300468257727519e-05_r8, & + 1.6776254781793773e-05_r8, 2.3654202844796171e-05_r8, & + 2.7029131247254755e-05_r8, 3.7273546585098966e-05_r8, & + 6.5453550503724662e-05_r8, 0.0001034109706602862_r8, & + 0.00012396325012141313_r8, 0.00013926009195951568_r8, & + 0.00014538721208059218_r8, 0.00014765033448137162_r8, & + 0.00014763434674336398_r8, 0.00014823029953797223_r8, & + 0.00014889494497765453_r8, 0.00015048722412190429_r8, & + 0.00015320652014529367_r8, 0.00015435270014860756_r8, & + 0.00015805675927736931_r8, 0.00016227797329392341_r8, & + 0.00016363191387277148_r8, 0.00016702069665434333_r8, & + 0.0001662045030196297_r8, 0.00016796832926730399_r8, & + 0.00016765742569344359_r8, 6.9917140350584807e-05_r8, & + 4.831559824455791e-05_r8, 2.7892729326118148e-05_r8, & + 2.0917814172898161e-05_r8, 1.8382469351835498e-05_r8, & + 1.7168750968188912e-05_r8, 1.7053650128509578e-05_r8, & + 1.7165796486930446e-05_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,72) / & + 1.1011731918375168e-05_r8, 1.2030703518381321e-05_r8, & + 1.0585123811584687e-05_r8, 8.0604254438996388e-06_r8, & + 8.1968788752180135e-06_r8, 8.6510574948282384e-06_r8, & + 8.8645451538536951e-06_r8, 9.2940728916018251e-06_r8, & + 9.2707787086775159e-06_r8, 7.125352166744364e-06_r8, & + 7.0569088815031143e-06_r8, 8.3932815574239151e-06_r8, & + 9.3512835608667453e-06_r8, 1.1237202273165205e-05_r8, & + 1.2318953050017841e-05_r8, 1.5697093882858253e-05_r8, & + 2.9031356242948833e-05_r8, 4.7771200308391239e-05_r8, & + 7.0512279168958368e-05_r8, 8.5160637983704404e-05_r8, & + 9.0008190913581272e-05_r8, 8.7427603240932509e-05_r8, & + 8.1232691647304002e-05_r8, 7.8393965433470547e-05_r8, & + 7.7649760651278728e-05_r8, 7.8627950368839009e-05_r8, & + 8.0429110630289501e-05_r8, 8.6125766751868641e-05_r8, & + 9.4914379724154199e-05_r8, 0.00010416282807738956_r8, & + 0.00011222742639525712_r8, 0.00011917101124136617_r8, & + 0.00012663418756332512_r8, 0.00013500763044107841_r8, & + 0.00014474584417288957_r8, 0.0001548127165011108_r8, & + 0.00016594788192747024_r8, 0.00017710720972843421_r8, & + 0.00019201547673692749_r8, 0.00020649161361782075_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,72) / & + 1.0784661380146412e-05_r8, 1.1308485081722959e-05_r8, & + 1.1041874081885339e-05_r8, 8.8261428396941843e-06_r8, & + 8.7771036469145822e-06_r8, 9.8723724947628329e-06_r8, & + 1.2573802650789153e-05_r8, 1.1827558016641111e-05_r8, & + 1.0966652621226962e-05_r8, 1.1192908135945621e-05_r8, & + 1.1795964057391863e-05_r8, 1.0758660053163194e-05_r8, & + 1.014888631029696e-05_r8, 1.0987534757903667e-05_r8, & + 1.2616369742770056e-05_r8, 1.5406522859657369e-05_r8, & + 2.3830028439523073e-05_r8, 3.8096137124872935e-05_r8, & + 5.9541112232277133e-05_r8, 7.8963696201569155e-05_r8, & + 8.5156410756079306e-05_r8, 8.5508982643107314e-05_r8, & + 8.3065902657630396e-05_r8, 7.9832943766178059e-05_r8, & + 7.8701047809750127e-05_r8, 7.9032386634297371e-05_r8, & + 8.0294863776961782e-05_r8, 8.7606196030528698e-05_r8, & + 9.7945265175111753e-05_r8, 0.00010769494156235273_r8, & + 0.00011710594061259683_r8, 0.00012500706598512012_r8, & + 0.00013302364918182873_r8, 0.00014251883176452415_r8, & + 0.00015412881961210804_r8, 0.00016679877791200704_r8, & + 0.00017995696964660197_r8, 0.00019227705735476517_r8, & + 0.00021095333698943372_r8, 0.00022154401487476318_r8, & + 0.00024049835010075642_r8, 0.00026398505014753857_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,72) / & + 1.3198996019313087e-05_r8, 1.2643839308553795e-05_r8, & + 1.2326342972891612e-05_r8, 1.3369307453421643e-05_r8, & + 1.4261564574744583e-05_r8, 1.6702619076571057e-05_r8, & + 2.1998653211027415e-05_r8, 2.3541767562000813e-05_r8, & + 2.5127758111763147e-05_r8, 2.5957927214381638e-05_r8, & + 2.5345120064457951e-05_r8, 2.3750450417534739e-05_r8, & + 2.2401871960138457e-05_r8, 2.4500183780141468e-05_r8, & + 2.5941481819365728e-05_r8, 2.829642286882953e-05_r8, & + 3.5120752903538013e-05_r8, 4.5636303498501397e-05_r8, & + 6.5300837004985329e-05_r8, 8.6549284266806655e-05_r8, & + 8.98300473530318e-05_r8, 9.152972334313807e-05_r8, & + 8.9673710840126094e-05_r8, 8.6355914635155261e-05_r8, & + 8.4096729825707737e-05_r8, 8.3847330139757463e-05_r8, & + 8.5131853030819194e-05_r8, 9.1127381447576362e-05_r8, & + 0.00010116444203641177_r8, 0.00011200113385148137_r8, & + 0.00012221850003707888_r8, 0.00013132319663677097_r8, & + 0.00013962550810405161_r8, 0.00014885118122908055_r8, & + 0.00016099087545360839_r8, 0.00017547510589228788_r8, & + 0.00018940756882778704_r8, 0.00020231429429690782_r8, & + 0.00022097211535275298_r8, 0.00023078385391823788_r8, & + 0.00025937015291994811_r8, 0.00027849556609688098_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,72) / & + 1.3726712873082449e-05_r8, 1.7334823871145683e-05_r8, & + 1.3614494939860235e-05_r8, 1.5804899449721619e-05_r8, & + 1.639921013821118e-05_r8, 1.7858285764208247e-05_r8, & + 2.4208983081054299e-05_r8, 2.5081320796955002e-05_r8, & + 2.7504762748634245e-05_r8, 2.8960965584470101e-05_r8, & + 2.7778601488823146e-05_r8, 2.8356213987968042e-05_r8, & + 2.9155195597711924e-05_r8, 3.353262833318365e-05_r8, & + 3.6477701046118471e-05_r8, 4.0074062720367612e-05_r8, & + 4.8738881007586261e-05_r8, 5.7952062093829044e-05_r8, & + 7.6688316108162576e-05_r8, 9.3340008434856381e-05_r8, & + 9.6355933891995754e-05_r8, 9.691756062065444e-05_r8, & + 9.3877163812724625e-05_r8, 8.9674956957091676e-05_r8, & + 8.7442679932979136e-05_r8, 8.7359862295898695e-05_r8, & + 8.8452667918118192e-05_r8, 9.3800203745631155e-05_r8, & + 0.00010236908262432281_r8, 0.00011302016380189777_r8, & + 0.00012269287082009099_r8, 0.00013173441519155092_r8, & + 0.00014132123371398019_r8, 0.00015014280645853174_r8, & + 0.00016258477657334964_r8, 0.0001781991919186631_r8, & + 0.00019160449495926222_r8, 0.00020053020795020952_r8, & + 0.00021447152645778859_r8, 0.00023029209247039419_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,72) / & + 2.7624040807904763e-05_r8, 2.6234213048488597e-05_r8, & + 1.9282633561868322e-05_r8, 2.2360164234115907e-05_r8, & + 2.1401172438861913e-05_r8, 1.8865934074180633e-05_r8, & + 1.9183851585612644e-05_r8, 2.1066990852823108e-05_r8, & + 2.2137130800186652e-05_r8, 2.4405504201475782e-05_r8, & + 2.8546144744678158e-05_r8, 3.4577243659091389e-05_r8, & + 4.7797435828239847e-05_r8, 5.8239700348553696e-05_r8, & + 6.6874150844743201e-05_r8, 7.3197197718146296e-05_r8, & + 8.0160105256565621e-05_r8, 8.6149550546473378e-05_r8, & + 9.0739852390808219e-05_r8, 9.3913582886479731e-05_r8, & + 9.3837195263978018e-05_r8, 9.2406820650111298e-05_r8, & + 9.0437449053892054e-05_r8, 8.9213969391522933e-05_r8, & + 8.8921702133102674e-05_r8, 8.9883080484268467e-05_r8, & + 9.1282100166957056e-05_r8, 9.8214534632794665e-05_r8, & + 0.00010780420062049446_r8, 0.0001156780812134658_r8, & + 0.00012524919472668599_r8, 0.00013443495604378939_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,72) / & + 2.9524508051480504e-05_r8, 3.2478608556702829e-05_r8, & + 3.412467324785614e-05_r8, 3.6780735096711051e-05_r8, & + 3.8172374663557245e-05_r8, 4.6591445853151919e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,72) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,72) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,72) / & + 4.2298652581011426e-05_r8, 4.2554820703568005e-05_r8, & + 4.7166274649022853e-05_r8, 5.2240760182379367e-05_r8, & + 5.6010151036788803e-05_r8, 5.8943355776310147e-05_r8, & + 7.0491227385210839e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,37,72) / & + 4.38955683591315e-05_r8, 4.447892395694019e-05_r8, & + 4.8638231260987144e-05_r8, 5.3062373037356899e-05_r8, & + 5.7009743287680559e-05_r8, 6.1079357023148949e-05_r8, & + 7.1266243755488252e-05_r8, 8.4222200097815088e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,72) / & + 3.4069789474433061e-05_r8, 3.3605371286242766e-05_r8, & + 3.5264642213243312e-05_r8, 4.4042971406514048e-05_r8, & + 4.9413459037076738e-05_r8, 5.081291024647457e-05_r8, & + 5.6839208122763058e-05_r8, 6.5273879240119957e-05_r8, & + 7.0041150819922729e-05_r8, 7.2346809159267613e-05_r8, & + 7.194206467571007e-05_r8, 6.8295861021455532e-05_r8, & + 5.5665980498611627e-05_r8, 5.2620260226205548e-05_r8, & + 5.9573452706732636e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,72) / & + 3.8200197196605657e-05_r8, 3.9820290715072541e-05_r8, & + 4.2885321540881811e-05_r8, 5.2881480814629448e-05_r8, & + 5.4984676190470866e-05_r8, 5.3006063844853904e-05_r8, & + 5.639957823020316e-05_r8, 6.5247031263335366e-05_r8, & + 7.0163259761538301e-05_r8, 8.3086252409349725e-05_r8, & + 8.8248603175455396e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,72) / & + 3.8988079200522388e-05_r8, 4.0695747224715062e-05_r8, & + 3.8185524197206829e-05_r8, 5.4271944353518401e-05_r8, & + 5.3409317523175311e-05_r8, 4.9954202728041097e-05_r8, & + 7.2600206962561106e-05_r8, 7.9900668519220929e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,72) / & + 2.0950195481621329e-05_r8, 2.0558211654631703e-05_r8, & + 2.0002193661400588e-05_r8, 3.0481242858273929e-05_r8, & + 3.5524404469703919e-05_r8, 3.8801375635267876e-05_r8, & + 5.274141276505088e-05_r8, 4.8787557107614326e-05_r8, & + 4.9247508620377204e-05_r8, 5.3990514944716604e-05_r8, & + 5.6273291306649526e-05_r8, 9.8904437290196851e-05_r8, & + 0.00015680579437298391_r8, 0.00018025158220882711_r8, & + 0.00019894520365697788_r8, 0.00022000303761417363_r8, & + 0.00024363566257132186_r8, 0.00025515307484417718_r8, & + 0.00027909998019936524_r8, 0.00029373719900443714_r8, & + 0.00029455307101834401_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,72) / & + 2.3966762717709751e-05_r8, 2.7292147686960974e-05_r8, & + 2.3320681905305619e-05_r8, 4.5453422722862777e-05_r8, & + 5.0889238907805743e-05_r8, 5.977950624605194e-05_r8, & + 7.295638223717805e-05_r8, 7.1680123598088827e-05_r8, & + 7.236743154874286e-05_r8, 8.5163907252462932e-05_r8, & + 9.5233918485625922e-05_r8, 0.00013597756266585818_r8, & + 0.000192090411554135_r8, 0.00021108142027673578_r8, & + 0.00022985686878047504_r8, 0.00025758943641121496_r8, & + 0.00026118497138833069_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,72) / & + 0.00010480074707191933_r8, 0.00010256087903758784_r8, & + 9.6486131243988006e-05_r8, 8.7222806792678725e-05_r8, & + 9.0544559735580428e-05_r8, 0.00010206498570311917_r8, & + 0.00012065258930753504_r8, 0.00011805914982531812_r8, & + 0.00012710759718331325_r8, 0.00012446350705467259_r8, & + 0.00011460594417191463_r8, 9.9784346837335347e-05_r8, & + 8.121391021364199e-05_r8, 7.8873758110025157e-05_r8, & + 7.4828820290988071e-05_r8, 7.2176753210011202e-05_r8, & + 6.8461909363243934e-05_r8, 7.316388587506485e-05_r8, & + 7.539414049466987e-05_r8, 7.6433803028234639e-05_r8, & + 7.8519399750361107e-05_r8, 8.0674670303705276e-05_r8, & + 8.231100574483506e-05_r8, 8.77555248287516e-05_r8, & + 9.5556435149447513e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,72) / & + 0.00010679709009953234_r8, 0.0001093974723071782_r8, & + 0.00010546924250806096_r8, 7.862241913006546e-05_r8, & + 8.5722493468462046e-05_r8, 9.6150970217148097e-05_r8, & + 0.00012656144610316065_r8, 0.00011850864701968167_r8, & + 0.00012053715977470451_r8, 0.00011143291669010529_r8, & + 0.00010309081093742324_r8, 9.3404202199975624e-05_r8, & + 8.223382783195744e-05_r8, 8.1214350500788941e-05_r8, & + 7.8116403023009465e-05_r8, 7.4859066940435084e-05_r8, & + 7.0605517901172745e-05_r8, 7.4489440117032253e-05_r8, & + 7.675702468934765e-05_r8, 7.8358782045543149e-05_r8, & + 8.1516374402179869e-05_r8, 8.3461366234283317e-05_r8, & + 8.7111456616863854e-05_r8, 9.1248807748205797e-05_r8, & + 9.8257301775686909e-05_r8, 0.00010023281896080963_r8, & + 0.00010547863099313256_r8, 0.00011459905672806568_r8, & + 0.00011526332262047044_r8, 0.00011667863963677216_r8, & + 0.00011723547555636874_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,72) / & + 9.6429039850821571e-05_r8, 0.0001120735312154447_r8, & + 0.00011100482200388958_r8, 8.602626666346764e-05_r8, & + 9.9311621428669331e-05_r8, 0.00011346550056383065_r8, & + 0.00012997763178314051_r8, 0.00010988768059714531_r8, & + 9.4797874431475071e-05_r8, 8.3985489582653203e-05_r8, & + 8.0898166354980555e-05_r8, 7.6252676001575627e-05_r8, & + 7.1661806388275711e-05_r8, 7.2836997452171997e-05_r8, & + 7.331696939119816e-05_r8, 7.3359297460124444e-05_r8, & + 7.2201656891700332e-05_r8, 7.3645678500020427e-05_r8, & + 7.5965737047142186e-05_r8, 7.8994891605051694e-05_r8, & + 8.2442648774078495e-05_r8, 8.5721565287000723e-05_r8, & + 8.9846802200081407e-05_r8, 9.3905968968153818e-05_r8, & + 9.9577612179445088e-05_r8, 0.00010298608511814637_r8, & + 0.00010905215540249283_r8, 0.00011922489679408694_r8, & + 0.00012004372014105036_r8, 0.00011879415203998989_r8, & + 0.00011933134982441889_r8, 0.00011977007458613508_r8, & + 0.00012048501932725292_r8, 0.00012031371633324318_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,73) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,73) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,73) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,73) / & + 8.816591883757236e-05_r8, 8.4356001135577028e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,5,73) / & + 8.8994076622089772e-05_r8, 8.9671906057915194e-05_r8, & + 9.5517517493520191e-05_r8, 5.5381909784472575e-05_r8, & + 6.6710058300775737e-05_r8, 8.2927697176019227e-05_r8, & + 8.0339309420163541e-05_r8, 0.00011060074109694331_r8, & + 0.00013328121952794472_r8, 0.00014530591751248548_r8, & + 0.00015678799803284506_r8, 0.00016262853917231769_r8, & + 0.00017455606867032962_r8, 0.00017959380177056026_r8, & + 0.00018433987399719365_r8, 0.00018710940229471666_r8, & + 0.00019020016787183114_r8, 0.00019181910062504782_r8, & + 0.00019315515731068456_r8, 0.00019448197957421307_r8, & + 0.00019818445049605418_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,73) / & + 7.4401192272121762e-05_r8, 7.3354768062092581e-05_r8, & + 8.4402975589809969e-05_r8, 5.7033940927145343e-05_r8, & + 6.3992779759645382e-05_r8, 7.4773555923989809e-05_r8, & + 6.801851094029467e-05_r8, 0.00010671289951353563_r8, & + 0.00012707089408110731_r8, 0.00014026247218284113_r8, & + 0.00015039053243947139_r8, 0.00015619942404788582_r8, & + 0.0001679826469172223_r8, 0.00017305114141705842_r8, & + 0.0001755481100547076_r8, 0.00017775919516794839_r8, & + 0.00018074430242420123_r8, 0.00018253779805420565_r8, & + 0.00018667620283592965_r8, 0.00019011793980601422_r8, & + 0.00019428538204241971_r8, 0.00020288325350133177_r8, & + 0.00020726909975656626_r8, 0.00021293623023585688_r8, & + 0.00022019062087937866_r8, 0.00022638725717079856_r8, & + 0.00023123593531555625_r8, 0.00024255783617479988_r8, & + 0.00025297696410110019_r8, 0.00025957880589410438_r8, & + 0.00026648901902750924_r8, 0.00027037280032277561_r8, & + 0.00027588568285890659_r8, 0.00027978063556117664_r8, & + 0.00028345432061458023_r8, 0.00028560391965687436_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,73) / & + 3.6032986830972288e-05_r8, 3.3064677221109229e-05_r8, & + 4.1476202578024207e-05_r8, 3.6987741174300282e-05_r8, & + 4.1981149086227532e-05_r8, 4.9844639554005959e-05_r8, & + 5.2146991088334697e-05_r8, 7.1717836803938796e-05_r8, & + 8.4390877146381756e-05_r8, 9.489156811538725e-05_r8, & + 0.00010178804142834324_r8, 0.00010573773438873887_r8, & + 0.00011435746256933931_r8, 0.000120050576151022_r8, & + 0.0001234191482944802_r8, 0.00012600490599237588_r8, & + 0.00013574207598530586_r8, 0.00014314851933941685_r8, & + 0.00015253873186363512_r8, 0.00015992262932843862_r8, & + 0.00016622289534789443_r8, 0.00017224805280326904_r8, & + 0.00017959524793486259_r8, 0.0001854076858613866_r8, & + 0.00019118836646694575_r8, 0.0001975058521187697_r8, & + 0.00020344419126254706_r8, 0.00021635832159267728_r8, & + 0.0002290672301283368_r8, 0.00023765293654224979_r8, & + 0.00024523510763064106_r8, 0.00025201250730880279_r8, & + 0.00025889342645681068_r8, 0.00026597007981253975_r8, & + 0.00027142703917121562_r8, 0.00027381989500713786_r8, & + 0.00027482292395469268_r8, 0.00027621765225074651_r8, & + 0.00028138329423425313_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,73) / & + 8.7752166090625329e-06_r8, 7.7481357178343887e-06_r8, & + 8.7275262841932115e-06_r8, 1.0002058619590392e-05_r8, & + 1.1413264781977528e-05_r8, 1.4285927311107242e-05_r8, & + 2.0218318814646119e-05_r8, 2.6006067422021255e-05_r8, & + 3.0403521838101746e-05_r8, 3.4356746417671108e-05_r8, & + 3.7429901198247223e-05_r8, 3.8665694314864605e-05_r8, & + 4.1573866761344051e-05_r8, 4.364270787555868e-05_r8, & + 4.6890416738503257e-05_r8, 4.9676740822128818e-05_r8, & + 5.6301282183600097e-05_r8, 6.9586927864311989e-05_r8, & + 8.1008039707972486e-05_r8, 9.4733936989442038e-05_r8, & + 0.00011169772410282037_r8, 0.00012445174310150408_r8, & + 0.00013654395569398951_r8, 0.00014663950868849045_r8, & + 0.00015652353792879899_r8, 0.00016458700864817866_r8, & + 0.00017209811608210606_r8, 0.00018798352584043973_r8, & + 0.000203774749366371_r8, 0.00021579280558525573_r8, & + 0.00022247872614018779_r8, 0.00022636886878900573_r8, & + 0.00023187249791820324_r8, 0.0002404825225538324_r8, & + 0.00024917150237050475_r8, 0.00025662466943103329_r8, & + 0.00026369115820721819_r8, 0.00027337431082011498_r8, & + 0.00027976698537951212_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,73) / & + 5.9600715958398843e-06_r8, 6.7623044701912185e-06_r8, & + 6.2657988635248225e-06_r8, 7.6029689072920873e-06_r8, & + 8.1393136400281398e-06_r8, 9.3359581456256653e-06_r8, & + 1.1922326139189481e-05_r8, 1.3869140797537131e-05_r8, & + 1.560403776895241e-05_r8, 1.7685417007284773e-05_r8, & + 1.925301105821815e-05_r8, 2.0426653946553783e-05_r8, & + 2.2842685180660404e-05_r8, 2.4088069689493902e-05_r8, & + 2.6634822111614786e-05_r8, 2.9559284258826929e-05_r8, & + 3.3538869983176966e-05_r8, 4.6967917718645346e-05_r8, & + 5.5788722371157752e-05_r8, 6.7779073054702535e-05_r8, & + 8.7563281092761834e-05_r8, 0.00010762128992443798_r8, & + 0.00012161036342401015_r8, 0.00013437324313706319_r8, & + 0.00014868356333624366_r8, 0.00015954851630601262_r8, & + 0.00016814240970785849_r8, 0.00018684882236725414_r8, & + 0.00020256544439011077_r8, 0.00021552788407933543_r8, & + 0.00022207956620911776_r8, 0.00022296418449534039_r8, & + 0.00022459287318595244_r8, 0.00023147151743631558_r8, & + 0.00024007856646564158_r8, 0.00025007008888643003_r8, & + 0.00025915368140838456_r8, 0.00027192426819899496_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,73) / & + 6.3794997655444672e-06_r8, 7.3787689391140213e-06_r8, & + 6.6436931137885016e-06_r8, 5.7792968252321884e-06_r8, & + 5.7766075866410753e-06_r8, 6.5452151892084586e-06_r8, & + 1.1764128254026519e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,73) / & + 6.822712668506013e-06_r8, 6.9074293706189233e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,73) / & + 6.5728631491426398e-06_r8, 6.610121634456776e-06_r8, & + 6.12389613814771e-06_r8, 3.8663251386388747e-06_r8, & + 3.8510675973471246e-06_r8, 3.7760682153529825e-06_r8, & + 4.2817336256998605e-06_r8, 7.0805787871341444e-06_r8, & + 1.0125207238322159e-05_r8, 1.4836520316829205e-05_r8, & + 1.8652459284139742e-05_r8, 2.2809458363164317e-05_r8, & + 2.7217959740691234e-05_r8, 2.9494684142473348e-05_r8, & + 3.0335667724727761e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,73) / & + 5.144015412143848e-06_r8, 5.0348487629974255e-06_r8, & + 4.5381212971852168e-06_r8, 3.477947611934134e-06_r8, & + 3.9647913503338986e-06_r8, 3.3450865085061125e-06_r8, & + 5.5479346537558084e-06_r8, 1.1831306318026441e-05_r8, & + 1.7786263801603912e-05_r8, 2.4493100276816352e-05_r8, & + 2.9648523703923199e-05_r8, 3.1515849187858479e-05_r8, & + 3.6117386641221745e-05_r8, 3.8678010807322598e-05_r8, & + 3.8714780914601243e-05_r8, 3.7041235174323957e-05_r8, & + 3.4259026849753363e-05_r8, 4.2358878961681931e-05_r8, & + 5.7555328434368163e-05_r8, 8.1473293155563285e-05_r8, & + 0.00010756934932515993_r8, 0.0001327384922654709_r8, & + 0.00015437216563569158_r8, 0.00017486749594251323_r8, & + 0.00019117803275213961_r8, 0.00020549629696011714_r8, & + 0.00021905765434135347_r8, 0.00024094467823933659_r8, & + 0.00025557000772425103_r8, 0.00026390835147636839_r8, & + 0.00026915218962781235_r8, 0.00027333710490876192_r8, & + 0.0002748815181733902_r8, 0.00027394221084092323_r8, & + 0.00027331312460129642_r8, 0.00027307280912298353_r8, & + 0.00027318322124153521_r8, 0.00027356325030194361_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,73) / & + 4.235717088296864e-06_r8, 3.8478234592543008e-06_r8, & + 3.8192984196243737e-06_r8, 3.1017941898115301e-06_r8, & + 3.4891406610273949e-06_r8, 3.8361640018649417e-06_r8, & + 5.9789095720197418e-06_r8, 1.3746809344938972e-05_r8, & + 2.2212163990395746e-05_r8, 3.0298474274931354e-05_r8, & + 3.6989851677416682e-05_r8, 4.1538831843422392e-05_r8, & + 4.6504844851036156e-05_r8, 4.8208642828959263e-05_r8, & + 4.6900878109091017e-05_r8, 4.4350052486492224e-05_r8, & + 3.9381889693058308e-05_r8, 4.738884975301041e-05_r8, & + 6.279043682591775e-05_r8, 8.7602407432410244e-05_r8, & + 0.00011456869975879939_r8, 0.0001391824900039259_r8, & + 0.00016132056819324561_r8, 0.00018045824810233874_r8, & + 0.00019569966695560538_r8, 0.00020945695123898074_r8, & + 0.00022202606551618778_r8, 0.00024377710780850223_r8, & + 0.00025854632865842303_r8, 0.00026737354775505974_r8, & + 0.00027269803997574855_r8, 0.00027601343929576191_r8, & + 0.00027825484766788041_r8, 0.00027703379795421045_r8, & + 0.00027548905609912596_r8, 0.00027515871994467068_r8, & + 0.00027543916946187448_r8, 0.00027554614688677639_r8, & + 0.00027594691400012055_r8, 0.00027593265185369098_r8, & + 0.0002775129745712921_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,73) / & + 4.3689224925632579e-06_r8, 4.2207521564179955e-06_r8, & + 4.3823932250333867e-06_r8, 4.5772815753648459e-06_r8, & + 4.6077318258289036e-06_r8, 4.2045941055701112e-06_r8, & + 5.5729737327719171e-06_r8, 1.1304507578887265e-05_r8, & + 1.9751201111205351e-05_r8, 2.8705210231021428e-05_r8, & + 3.6063694359362742e-05_r8, 4.0625786725203726e-05_r8, & + 4.7274457780517075e-05_r8, 4.9880801524081295e-05_r8, & + 4.9199618042080812e-05_r8, 4.7649529289477824e-05_r8, & + 4.6144982273052587e-05_r8, 5.6175939508851654e-05_r8, & + 7.3182260873631038e-05_r8, 9.493122631696055e-05_r8, & + 0.00012122449244497292_r8, 0.00014333204079467241_r8, & + 0.00016619733963892553_r8, 0.00018376312591261089_r8, & + 0.00019907352947440263_r8, 0.00021228810084794098_r8, & + 0.0002248105652237854_r8, 0.00024602331774212433_r8, & + 0.00026000755013163689_r8, 0.0002682452133502947_r8, & + 0.00027314341565378071_r8, 0.00027557846693732665_r8, & + 0.0002782043537582937_r8, 0.0002774917301280986_r8, & + 0.00027515486992993441_r8, 0.00027503964215294809_r8, & + 0.0002757850154273506_r8, 0.00027587707503039759_r8, & + 0.00027602290144294482_r8, 0.00027573047588026159_r8, & + 0.00027623994776636171_r8, 0.00027638761706781531_r8, & + 0.0002764386439097853_r8, 0.00027659878466370686_r8, 9e90_r8 & + / +data saar_ref(:,16,73) / & + 6.9286759686386522e-06_r8, 6.8749702211474258e-06_r8, & + 7.4252931435339654e-06_r8, 9.5153880733464202e-06_r8, & + 9.5613735242569336e-06_r8, 9.2510635972597183e-06_r8, & + 1.0596639390331257e-05_r8, 1.9291814554070863e-05_r8, & + 2.9556538461923514e-05_r8, 3.8018849963163458e-05_r8, & + 4.4080012635415105e-05_r8, 4.8866471426038956e-05_r8, & + 5.6827527442281091e-05_r8, 5.9951309189294389e-05_r8, & + 6.0611889240000095e-05_r8, 6.0290840904306413e-05_r8, & + 6.2103704659262362e-05_r8, 7.3562219581091792e-05_r8, & + 9.3422746472281951e-05_r8, 0.00011560363040095542_r8, & + 0.00014070877501065298_r8, 0.00016299331754388683_r8, & + 0.00018419599534408274_r8, 0.00020043599399081514_r8, & + 0.00021561826096333769_r8, 0.00022942059430120423_r8, & + 0.00024242607746253941_r8, 0.0002650526973310707_r8, & + 0.00027970002840920258_r8, 0.00028616552994048847_r8, & + 0.00028951452664465621_r8, 0.00029266535941220703_r8, & + 0.00029676685582438517_r8, 0.00029603354564513418_r8, & + 0.00029106284977776061_r8, 0.00028906514006813225_r8, & + 0.00028913974076640194_r8, 0.00028914451681337537_r8, & + 0.00028923550600056652_r8, 0.0002889826837580779_r8, & + 0.0002889775154026478_r8, 0.00028902383958465545_r8, & + 0.00028770758034517741_r8, 0.00028832110059484318_r8, & + 0.00029001345755605559_r8 & + / +data saar_ref(:,17,73) / & + 9.5972960717194091e-06_r8, 9.2283186073063486e-06_r8, & + 1.1000576823060028e-05_r8, 1.774509814836037e-05_r8, & + 1.8578381304976848e-05_r8, 2.0406373215490889e-05_r8, & + 2.5547108329178792e-05_r8, 3.7927621312811202e-05_r8, & + 4.7140438231655438e-05_r8, 5.248070204252331e-05_r8, & + 5.5997010665948836e-05_r8, 5.9365433100538619e-05_r8, & + 6.5287032150579291e-05_r8, 6.9131414261466614e-05_r8, & + 7.129326729319868e-05_r8, 7.2441783156491134e-05_r8, & + 7.7211825711577851e-05_r8, 8.7917875901457571e-05_r8, & + 0.00011105008440508499_r8, 0.00013445537006456077_r8, & + 0.00015925824115905023_r8, 0.00017963976999933038_r8, & + 0.00019855953495541016_r8, 0.00021490623153856486_r8, & + 0.00023066955537433048_r8, 0.00024548359706473799_r8, & + 0.00025851980596297715_r8, 0.00028362325500595683_r8, & + 0.00029863385429298756_r8, 0.00030354969235093452_r8, & + 0.0003053916431816256_r8, 0.0003100138308120512_r8, & + 0.00031553544498869377_r8, 0.00031503053397788524_r8, & + 0.00030840430139405893_r8, 0.0003037049478393977_r8, & + 0.00030252565980929752_r8, 0.00030252731030662471_r8, & + 0.00030138618049981833_r8, 0.00030045290899714051_r8, & + 0.00030168597600805101_r8, 0.00030185748010897671_r8, & + 0.00030054890583845008_r8, 0.00030081224823405529_r8, & + 0.00030265526088159224_r8 & + / +data saar_ref(:,18,73) / & + 1.0949764029255659e-05_r8, 1.1166220358216415e-05_r8, & + 1.2800051218042072e-05_r8, 1.9735749414336207e-05_r8, & + 2.0957196360609182e-05_r8, 2.5426901117941814e-05_r8, & + 3.6210527714593182e-05_r8, 5.0543774986580844e-05_r8, & + 5.8198393370268211e-05_r8, 6.1870007671040224e-05_r8, & + 6.4566126432224626e-05_r8, 6.7464166894428456e-05_r8, & + 7.2367335249250107e-05_r8, 7.7214187025596097e-05_r8, & + 8.0522522893758483e-05_r8, 8.3959969653126863e-05_r8, & + 9.2770422741758518e-05_r8, 0.00010597277184231728_r8, & + 0.00012898669425818625_r8, 0.0001523741868061949_r8, & + 0.00017575764106867429_r8, 0.00019483053704643142_r8, & + 0.00021326431245342759_r8, 0.00023052403294152894_r8, & + 0.00024665981775181373_r8, 0.00026207219477351364_r8, & + 0.00027480246867301331_r8, 0.00030238727539139761_r8, & + 0.00031790463409653703_r8, 0.00032103315452552473_r8, & + 0.00032099793538925651_r8, 0.00032748130420877082_r8, & + 0.00033346068795700971_r8, 0.00033218080389063901_r8, & + 0.0003248753746478232_r8, 0.00031782627124884094_r8, & + 0.00031490519176201185_r8, 0.00031501248611483365_r8, & + 0.00031326574974578056_r8, 0.00031063455150108092_r8, & + 0.00031115423359162012_r8, 0.00031210750408247509_r8, & + 0.00031229952118194898_r8, 0.0003125861042578729_r8, & + 0.00031287252844842679_r8 & + / +data saar_ref(:,19,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,73) / & + 1.2757976826127618e-05_r8, 1.1683485990589683e-05_r8, & + 1.0804436011447379e-05_r8, 7.6929969992632143e-06_r8, & + 7.984950319904392e-06_r8, 6.8091900346394099e-06_r8, & + 8.8537106811939186e-06_r8, 8.3964266481213399e-06_r8, & + 8.8887040006332734e-06_r8, 9.9640469954954551e-06_r8, & + 1.1498019170742339e-05_r8, 1.4750237452381015e-05_r8, & + 2.5170365915114403e-05_r8, 3.9538061805730875e-05_r8, & + 5.3284089437981937e-05_r8, 6.6647522283735738e-05_r8, & + 9.0921685649063871e-05_r8, 0.00010797147224732194_r8, & + 0.00012176808522821368_r8, 0.00013153172722486087_r8, & + 0.000135154726463887_r8, 0.00013605835605845607_r8, & + 0.00013659369939250163_r8, 0.00013761693382128605_r8, & + 0.00013839997753109463_r8, 0.00013947710869475908_r8, & + 0.00014095385083365757_r8, 0.00014485395764485959_r8, & + 0.00014882205873099262_r8, 0.00014872082099004244_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,73) / & + 1.3702222802968519e-05_r8, 1.2567947904662142e-05_r8, & + 1.1495988299696872e-05_r8, 7.9071005962225995e-06_r8, & + 7.7672929226949944e-06_r8, 8.8854073037839252e-06_r8, & + 9.8963274899529312e-06_r8, 9.5599487368681346e-06_r8, & + 9.0904089134724401e-06_r8, 1.0360599134862486e-05_r8, & + 1.1662300695152379e-05_r8, 1.3547527058618686e-05_r8, & + 2.123918851620637e-05_r8, 3.2577805345200599e-05_r8, & + 4.4541740247695619e-05_r8, 5.8270167813355439e-05_r8, & + 8.3533925617394758e-05_r8, 0.00010923679415549062_r8, & + 0.00012691463130413107_r8, 0.0001359440721001551_r8, & + 0.00013931062505126077_r8, 0.000140302007057938_r8, & + 0.00014124233320315065_r8, 0.00014362094846490491_r8, & + 0.00014423248540659225_r8, 0.00014441386529160513_r8, & + 0.0001471177794116598_r8, 0.00014902146917499841_r8, & + 0.00015072719376800701_r8, 0.00014815628568815356_r8, & + 0.00014353389890912213_r8, 0.00013663703705950678_r8, & + 0.00013903239572981494_r8, 0.00014404821261617391_r8, & + 0.00015181768635239869_r8, 0.00016062958640621129_r8, & + 0.00016317408750499875_r8, 0.00015887995623929975_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,73) / & + 1.6483447245623065e-05_r8, 1.3810449404786117e-05_r8, & + 1.182759729202352e-05_r8, 8.2458761225783165e-06_r8, & + 7.9463912292207742e-06_r8, 9.4836895407232011e-06_r8, & + 9.8232913970752916e-06_r8, 9.6865108418809153e-06_r8, & + 8.8797882504788231e-06_r8, 9.8226886631937673e-06_r8, & + 1.0829134347845158e-05_r8, 1.1758258389788861e-05_r8, & + 1.5081356533965285e-05_r8, 2.260726735717302e-05_r8, & + 3.1750715454197378e-05_r8, 4.3582631406654707e-05_r8, & + 6.9039679907880025e-05_r8, 9.7362305384416194e-05_r8, & + 0.00011872989068272763_r8, 0.00013116284006651211_r8, & + 0.00013591354650854804_r8, 0.0001368802054850444_r8, & + 0.00013926399726925276_r8, 0.00014102183222117863_r8, & + 0.00014119073250551211_r8, 0.00014149414771106274_r8, & + 0.00014551294847695684_r8, 0.00014659596087648305_r8, & + 0.00014887630233511982_r8, 0.00014761703156853813_r8, & + 0.00014293498102325501_r8, 0.00013542827240871613_r8, & + 0.00013868136253757037_r8, 0.00014818431092139187_r8, & + 0.00015810903455661622_r8, 0.00016794442337599575_r8, & + 0.0001694864117601335_r8, 0.00016772639380166872_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,73) / & + 7.4892282773752197e-06_r8, 7.3074786935146102e-06_r8, & + 7.3073494967797839e-06_r8, 6.355655701615356e-06_r8, & + 6.545851750295191e-06_r8, 6.5545845245926606e-06_r8, & + 6.3819266495479433e-06_r8, 5.8881033567612686e-06_r8, & + 5.5393868484142377e-06_r8, 5.4644098222335236e-06_r8, & + 5.8904597744802318e-06_r8, 6.5918808558896252e-06_r8, & + 7.6545839357941326e-06_r8, 9.3617005264035232e-06_r8, & + 1.1865993418448337e-05_r8, 1.5267316082131156e-05_r8, & + 2.6563913359888182e-05_r8, 4.4423589011726164e-05_r8, & + 6.6569883281045899e-05_r8, 8.5459413442443282e-05_r8, & + 9.1934091261688423e-05_r8, 8.9776475210534689e-05_r8, & + 8.5095981494935901e-05_r8, 8.1382467518299791e-05_r8, & + 7.9096274167672346e-05_r8, 7.9071671439413444e-05_r8, & + 8.0880675529878345e-05_r8, 8.7432972232554378e-05_r8, & + 9.5624225894882787e-05_r8, 0.00010570447294310044_r8, & + 0.00011514684663850839_r8, 0.00012409588184522402_r8, & + 0.00013137518069444306_r8, 0.0001382725272224788_r8, & + 0.00014596513437111448_r8, 0.00015519925682442364_r8, & + 0.00016578687923369905_r8, 0.00017671608890119833_r8, & + 0.00019005916669128387_r8, 0.00020513221767131382_r8, & + 0.00022469261712626179_r8, 0.00025246710956276802_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,73) / & + 6.9157150065489198e-06_r8, 6.5550511181295224e-06_r8, & + 6.6772443526415319e-06_r8, 5.2734989517338182e-06_r8, & + 5.2420142803268286e-06_r8, 5.5816140902720027e-06_r8, & + 5.9669406370602489e-06_r8, 5.8229468560091246e-06_r8, & + 6.1085078001408831e-06_r8, 6.3530301021435146e-06_r8, & + 6.5713589029891537e-06_r8, 6.9751975527821131e-06_r8, & + 7.9135755406562461e-06_r8, 8.9906120658741075e-06_r8, & + 1.0439040124513759e-05_r8, 1.2543935454964037e-05_r8, & + 2.0092961644913409e-05_r8, 3.3829401895684881e-05_r8, & + 5.4116563749511688e-05_r8, 7.6766687508039299e-05_r8, & + 8.7586006779538924e-05_r8, 8.9317401932244932e-05_r8, & + 8.6645426045198654e-05_r8, 8.2829267809045139e-05_r8, & + 8.0456907053946008e-05_r8, 7.9872341921650807e-05_r8, & + 8.1255347962775408e-05_r8, 8.8909695000620448e-05_r8, & + 9.9766157470701836e-05_r8, 0.000111229429042735_r8, & + 0.00012158574659733786_r8, 0.00013041486389249644_r8, & + 0.0001382230163683048_r8, 0.00014615393353412329_r8, & + 0.00015441280642301987_r8, 0.00016448088420256368_r8, & + 0.00017461465368196836_r8, 0.00018618884125780598_r8, & + 0.00019983867156324301_r8, 0.00021333111848144008_r8, & + 0.00023392338231429985_r8, 0.00026695341448891395_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,30,73) / & + 7.6678575765667236e-06_r8, 6.967614362126857e-06_r8, & + 6.6358993014315491e-06_r8, 6.1983396607624193e-06_r8, & + 6.4224963013685177e-06_r8, 6.900823976508422e-06_r8, & + 7.19499060603438e-06_r8, 8.4741059653101083e-06_r8, & + 8.333910694925763e-06_r8, 8.2957873023849978e-06_r8, & + 8.555465624357549e-06_r8, 8.8249447483162729e-06_r8, & + 9.5679024875624228e-06_r8, 1.0478938376064225e-05_r8, & + 1.1285437834313064e-05_r8, 1.3058163093986005e-05_r8, & + 1.8282549189201526e-05_r8, 2.9675592706170388e-05_r8, & + 4.8308368740604313e-05_r8, 7.3852681455089457e-05_r8, & + 9.1063840083242519e-05_r8, 9.4910235517406763e-05_r8, & + 9.2353862776856105e-05_r8, 8.8420579286886672e-05_r8, & + 8.4854654007943868e-05_r8, 8.4081324082689745e-05_r8, & + 8.5261264733505634e-05_r8, 9.1837106018197878e-05_r8, & + 0.00010227083368328168_r8, 0.00011407298744387877_r8, & + 0.00012551750049515114_r8, 0.00013483613580504665_r8, & + 0.00014318085909144855_r8, 0.00015129940813017503_r8, & + 0.0001602129755387986_r8, 0.00017111783341836542_r8, & + 0.0001816361873124043_r8, 0.00019281955073901366_r8, & + 0.00020660068863164011_r8, 0.00022289802544182976_r8, & + 0.00025040199677751348_r8, 0.00028272688332517458_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,73) / & + 1.082891870049642e-05_r8, 1.1807679576349001e-05_r8, & + 1.0491687114319305e-05_r8, 1.1745184675179752e-05_r8, & + 1.09396056689285e-05_r8, 1.057513979200249e-05_r8, 1.0316577013626e-05_r8, & + 1.0803090311036925e-05_r8, 1.0977246798228582e-05_r8, & + 1.1674116318164756e-05_r8, 1.2598365615499443e-05_r8, & + 1.439629296103998e-05_r8, 1.6465110493791687e-05_r8, & + 1.8663753808882137e-05_r8, 2.1302889932621638e-05_r8, & + 2.4216782651265269e-05_r8, 3.0138498169183475e-05_r8, & + 4.0897871553591015e-05_r8, 5.7304914153448305e-05_r8, & + 7.8053142852289859e-05_r8, 9.4828689028487824e-05_r8, & + 9.9058277403559717e-05_r8, 9.6206043797049422e-05_r8, & + 9.1911988442053692e-05_r8, 8.8657440846500244e-05_r8, & + 8.7641426725599162e-05_r8, 8.8122324216339127e-05_r8, & + 9.2250919712080222e-05_r8, 0.00010021125767665808_r8, & + 0.0001094252182577629_r8, 0.00012032397331741132_r8, & + 0.00013069226203373953_r8, 0.00013963932696874063_r8, & + 0.00014862683679372243_r8, 0.00015961794997062275_r8, & + 0.00017443997293742258_r8, 0.00018864215671241652_r8, & + 0.00019978836701824772_r8, 0.00021057669526847772_r8, & + 0.00022883183143565863_r8, 0.00025504100418465107_r8, & + 0.00029638012888243522_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,73) / & + 1.8649795560672336e-05_r8, 1.9121144526114819e-05_r8, & + 1.8597334415077493e-05_r8, 2.2545798174834805e-05_r8, & + 2.2820673368254451e-05_r8, 2.2223773188681066e-05_r8, & + 2.1757403762786035e-05_r8, 2.3664435506894384e-05_r8, & + 2.5822822310679772e-05_r8, 2.8340814133541585e-05_r8, & + 3.2651433313592137e-05_r8, 3.94532323374923e-05_r8, & + 5.1628558574503966e-05_r8, 6.1137320125875807e-05_r8, & + 6.8106191829008178e-05_r8, 7.3270988362188785e-05_r8, & + 7.8009621876595254e-05_r8, 8.3102570973916969e-05_r8, & + 8.8311039648897489e-05_r8, 9.3025399854974419e-05_r8, & + 9.5069455823349261e-05_r8, 9.4236800175506133e-05_r8, & + 9.2380612290238632e-05_r8, 9.0905038630873834e-05_r8, & + 9.0631824682438475e-05_r8, 9.1264751148643379e-05_r8, & + 9.2533555134925404e-05_r8, 9.8342025967993789e-05_r8, & + 0.00010672145286695198_r8, 0.0001154206621168434_r8, & + 0.00012456562479381143_r8, 0.00013447880597822516_r8, & + 0.00014155614570560054_r8, 0.00015083353877939386_r8, & + 0.00016365861806679689_r8, 0.00018203294504046732_r8, & + 0.00020039503897654207_r8, 0.00021142755107482746_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,73) / & + 2.6924465831895286e-05_r8, 2.5908547207716842e-05_r8, & + 2.6926443292450337e-05_r8, 3.1738040870280969e-05_r8, & + 3.460413742630121e-05_r8, 3.6895860409251847e-05_r8, & + 4.4319513608456364e-05_r8, 4.293443729901304e-05_r8, & + 4.8452193025001015e-05_r8, 5.1931423396327202e-05_r8, & + 4.8413280573802438e-05_r8, 5.9253733949846994e-05_r8, & + 7.9623057989426567e-05_r8, 9.1987882559142588e-05_r8, & + 9.8013902143182855e-05_r8, 0.00010055675233222445_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,73) / & + 5.4192487407935205e-05_r8, 4.5910252412150832e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,35,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,73) / & + 2.7057813153734589e-05_r8, 2.5228567465886811e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,73) / & + 3.0349050175246472e-05_r8, 2.9807146268344124e-05_r8, & + 3.1409782868784831e-05_r8, 3.8614772695007689e-05_r8, & + 4.3928773013609344e-05_r8, 4.4552779098558796e-05_r8, & + 5.0893361279236401e-05_r8, 5.7510647896372027e-05_r8, & + 6.0804726851425737e-05_r8, 6.5114996824401628e-05_r8, & + 6.3145996041049599e-05_r8, 5.8606565882405219e-05_r8, & + 5.2190550566227252e-05_r8, 5.0837519298858121e-05_r8, & + 5.3568547268419776e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,73) / & + 3.6582254205365291e-05_r8, 3.8014233863178598e-05_r8, & + 3.7304887265606764e-05_r8, 3.9326630088122034e-05_r8, & + 4.4615653943740276e-05_r8, 4.5331507755004841e-05_r8, & + 5.1721444167941781e-05_r8, 6.0568419777693752e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,73) / & + 2.0138640366032881e-05_r8, 2.1440654289899652e-05_r8, & + 1.8871706694102447e-05_r8, 3.3730208668731617e-05_r8, & + 3.9515738468298796e-05_r8, 4.7410432346660204e-05_r8, & + 7.2216989963227118e-05_r8, 6.4750253605501293e-05_r8, & + 6.1620415184081284e-05_r8, 5.3857462911695802e-05_r8, & + 5.1813414935124488e-05_r8, 5.8471820943447529e-05_r8, & + 8.5504717850732497e-05_r8, 0.00010135612677360656_r8, & + 0.00012961270037508736_r8, 0.0001488914806630425_r8, & + 0.00019683735553111477_r8, 0.00021044815092918935_r8, & + 0.00021782126680919977_r8, 0.00018187054946959934_r8, & + 0.00010156213231455063_r8, 0.00017395500399422327_r8, & + 0.00018176963043787831_r8, 0.00018274996973523041_r8, & + 0.00018284279340291954_r8, 0.00018284440577525499_r8, & + 0.00018282894765659572_r8, 0.00018279305323862116_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,73) / & + 1.9468225286919275e-05_r8, 1.9292932591957565e-05_r8, & + 1.8624058371346209e-05_r8, 3.4309807655900939e-05_r8, & + 3.9547272131799279e-05_r8, 4.3242600649173598e-05_r8, & + 5.9422385751961781e-05_r8, 5.4092912595606184e-05_r8, & + 5.3005563091697088e-05_r8, 5.1989621519531458e-05_r8, & + 5.3470994227355028e-05_r8, 8.3367972036413359e-05_r8, & + 0.00012853187076053186_r8, 0.00015069881296514998_r8, & + 0.0001722000580121616_r8, 0.00020207810155024032_r8, & + 0.00023137585891791655_r8, 0.00024835027646792678_r8, & + 0.00026927195059811305_r8, 0.000253954127333518_r8, & + 0.00018547930641684698_r8, 0.00018017351921813292_r8, & + 0.00018807552540200175_r8, 0.00018844047254881885_r8, & + 0.00018847004335194342_r8, 0.00018846898853864017_r8, & + 0.00018846149052789945_r8, 0.00018842659866521807_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,73) / & + 2.6017591667419823e-05_r8, 2.6442656305165849e-05_r8, & + 2.3400070505414708e-05_r8, 5.7741877780140147e-05_r8, & + 6.4524613108936702e-05_r8, 6.9260480272770498e-05_r8, & + 8.1950085433576324e-05_r8, 7.6011842992660406e-05_r8, & + 7.3860493352720318e-05_r8, 8.0472552519847323e-05_r8, & + 8.4847875723253119e-05_r8, 0.00012463658055229853_r8, & + 0.00018315861729418503_r8, 0.00020079597249164483_r8, & + 0.00021541327777345102_r8, 0.00024639795472258103_r8, & + 0.00025515585056896933_r8, 0.00026738001500056384_r8, & + 0.00026723710359373979_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,73) / & + 0.00010892655529606238_r8, 0.00010458769238246049_r8, & + 9.7697564181104514e-05_r8, 9.5933702660432136e-05_r8, & + 9.2991879298892817e-05_r8, 0.00010233894916513436_r8, & + 0.00011917670955129684_r8, 0.00011677318939368215_r8, & + 0.00012723830470775363_r8, 0.00012406736219533799_r8, & + 0.0001141837708488027_r8, 9.9388458881390939e-05_r8, & + 7.9954167659303515e-05_r8, 7.7659603479728141e-05_r8, & + 7.3111252673505761e-05_r8, 7.0255258438279211e-05_r8, & + 6.6847946013427349e-05_r8, 7.2832842792730282e-05_r8, & + 7.5098032531655163e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,73) / & + 0.00010993249109398236_r8, 0.00011130133986988394_r8, & + 0.00010656830808575488_r8, 8.3169052153550551e-05_r8, & + 8.7363047035635e-05_r8, 9.8910118479591372e-05_r8, & + 0.00012524579199845156_r8, 0.00011779324684264852_r8, & + 0.00012040496851211752_r8, 0.00011127541206931147_r8, & + 0.00010303760804508517_r8, 9.3677425762407661e-05_r8, & + 8.1812652660336185e-05_r8, 8.0423551395101953e-05_r8, & + 7.707345122385121e-05_r8, 7.3702284653992929e-05_r8, & + 6.960581187864833e-05_r8, 7.4121281572034979e-05_r8, & + 7.6364816372046816e-05_r8, 7.8182971809054322e-05_r8, & + 8.1958803227413405e-05_r8, 8.3646254193114899e-05_r8, & + 8.8587487152910375e-05_r8, 9.1831474150349065e-05_r8, & + 9.805320042059309e-05_r8, 9.9722384051833418e-05_r8, & + 0.00010481174193501692_r8, 0.00011440986257738964_r8, & + 0.00011536971034651003_r8, 0.00011605613038652849_r8, & + 0.00011730564614971058_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,73) / & + 9.782429750071817e-05_r8, 0.00011302132438277491_r8, & + 0.00011190717843928071_r8, 8.794796129996002e-05_r8, & + 0.00010080717769510791_r8, 0.00011569986999835669_r8, & + 0.00012462168847982542_r8, 0.00010893949256604522_r8, & + 9.1197343234871583e-05_r8, 8.172178647008647e-05_r8, & + 7.9496887370752927e-05_r8, 7.5685710367934524e-05_r8, & + 7.1713425263404863e-05_r8, 7.2765398364276406e-05_r8, & + 7.3204969060716545e-05_r8, 7.3233087887839742e-05_r8, & + 7.2092955537778243e-05_r8, 7.3620326792143926e-05_r8, & + 7.5957744508679334e-05_r8, 7.8963377829662613e-05_r8, & + 8.2516927795705464e-05_r8, 8.580888422542136e-05_r8, & + 9.0031686278369954e-05_r8, 9.3971193252106129e-05_r8, & + 9.9501312809417971e-05_r8, 0.00010299441700388025_r8, & + 0.00010895676046946394_r8, 0.00011924594948626209_r8, & + 0.00012008240355992898_r8, 0.00011867324653134684_r8, & + 0.00011933131565623061_r8, 0.00011976987645577269_r8, & + 0.00012048471651987754_r8, 0.00012031966481977764_r8, & + 0.00012082619297373191_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,74) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,74) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,74) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,74) / & + 8.7896190541865218e-05_r8, 8.4385683172717358e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,5,74) / & + 9.6223180087168095e-05_r8, 9.8141392901859669e-05_r8, & + 0.00010087043606495589_r8, 6.2952970608817402e-05_r8, & + 7.2085349537603965e-05_r8, 8.4914857459997368e-05_r8, & + 8.3847139196434258e-05_r8, 0.00011505214738048479_r8, & + 0.00013448783479304735_r8, 0.00014835464650780173_r8, & + 0.00015961332152935378_r8, 0.0001643520337985378_r8, & + 0.00017510105985996799_r8, 0.00017988435014540841_r8, & + 0.00018453950786530117_r8, 0.00018757195481607962_r8, & + 0.00019151254767230732_r8, 0.00019191442563355843_r8, & + 0.00019371834349077345_r8, 0.00019448197957421307_r8, & + 0.00019818445049605418_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,74) / & + 9.2077778757109098e-05_r8, 8.9377258162268806e-05_r8, & + 8.9963180007810963e-05_r8, 5.9140298391375749e-05_r8, & + 6.5296321286522377e-05_r8, 7.3721460730960214e-05_r8, & + 7.3645055796318294e-05_r8, 0.00011559847509646147_r8, & + 0.00013156800469689284_r8, 0.00014552407803609293_r8, & + 0.00015490161513752451_r8, 0.00015919478932069339_r8, & + 0.00017064673425803322_r8, 0.00017429844056624983_r8, & + 0.00017536175501958696_r8, 0.00017585072378053108_r8, & + 0.00017797320618017105_r8, 0.00017955485787883796_r8, & + 0.00018480885649971629_r8, 0.00018924577172901435_r8, & + 0.00019468875534110774_r8, 0.0002018728080806288_r8, & + 0.00020717140474828732_r8, 0.00021336672899903314_r8, & + 0.00021874003670935375_r8, 0.00022559234731383702_r8, & + 0.00023035519997135343_r8, 0.00024194493322729965_r8, & + 0.00025149616323905382_r8, 0.00025762262958755819_r8, & + 0.00026399133213552138_r8, 0.00026802666059468321_r8, & + 0.00027251156681863437_r8, 0.00027564131880387162_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,74) / & + 5.4046465987478887e-05_r8, 4.9952361256592043e-05_r8, & + 5.2014955602028579e-05_r8, 3.8077752154896134e-05_r8, & + 4.3976267198782625e-05_r8, 5.0358138730379392e-05_r8, & + 5.6370715518988667e-05_r8, 8.1703954623184796e-05_r8, & + 9.3906450140485479e-05_r8, 0.00010400051049994987_r8, & + 0.00011173943061306586_r8, 0.00011667111700524216_r8, & + 0.00012632474778740953_r8, 0.00013311921901839694_r8, & + 0.00013719315030735123_r8, 0.00013974455685541356_r8, & + 0.00014862022334651625_r8, 0.00015514827149670039_r8, & + 0.00016273601947999121_r8, 0.00016905388023715688_r8, & + 0.00017523752867350655_r8, 0.00018150651237870777_r8, & + 0.00018877559768922357_r8, 0.00019549448613741778_r8, & + 0.00020099873735310417_r8, 0.00020769973896053411_r8, & + 0.00021374739405159482_r8, 0.00022630256210788449_r8, & + 0.00023688493804205398_r8, 0.0002446663060537579_r8, & + 0.00025182877325274667_r8, 0.0002581027631448338_r8, & + 0.0002636971915684799_r8, 0.00026875019904915997_r8, & + 0.00027272443117766515_r8, 0.00027409434310077057_r8, & + 0.00027427026783887669_r8, 0.00027428430573352809_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,74) / & + 1.3860192346241334e-05_r8, 1.2245393742626642e-05_r8, & + 1.1864709215126629e-05_r8, 1.1930614125888492e-05_r8, & + 1.4192680718280076e-05_r8, 1.7458968701323208e-05_r8, & + 2.4703369073203247e-05_r8, 3.1939437256086048e-05_r8, & + 3.6628471579031469e-05_r8, 4.0574526907224152e-05_r8, & + 4.5015891190899345e-05_r8, 4.6580046120919676e-05_r8, & + 5.1251384883870618e-05_r8, 5.6287352162166444e-05_r8, & + 6.1249801956736406e-05_r8, 6.5179230175949055e-05_r8, & + 7.5498529646889106e-05_r8, 8.8135125510826215e-05_r8, & + 0.00010109943947574665_r8, 0.00011447313963193015_r8, & + 0.00012685322251991687_r8, 0.00013631844433206069_r8, & + 0.0001475371339114608_r8, 0.00015591392933044025_r8, & + 0.0001637171682189015_r8, 0.00017078205213725374_r8, & + 0.00017846092575765754_r8, 0.00019403926135887461_r8, & + 0.00021010802515850205_r8, 0.00022103855812678167_r8, & + 0.00022846638033207598_r8, 0.00023520305778765795_r8, & + 0.00024205224557456882_r8, 0.00025003831390276544_r8, & + 0.0002560779874975379_r8, 0.00026032435044351588_r8, & + 0.00026331634539730764_r8, 0.00027429733247307859_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,74) / & + 6.9026446558655293e-06_r8, 6.9426449619044908e-06_r8, & + 6.4634294322605819e-06_r8, 7.9107528722524902e-06_r8, & + 8.4502977356803031e-06_r8, 9.3972986106079626e-06_r8, & + 1.1607516223535504e-05_r8, 1.2343949633738075e-05_r8, & + 1.791336226806071e-05_r8, 2.1722072180768022e-05_r8, & + 2.4529308392184485e-05_r8, 2.5321645096443417e-05_r8, & + 2.7946624495800775e-05_r8, 3.1813643798625496e-05_r8, & + 3.4613219821601299e-05_r8, 3.7207694582653883e-05_r8, & + 4.7703633521109413e-05_r8, 5.9412410132402012e-05_r8, & + 7.387278892596179e-05_r8, 9.1971923238929172e-05_r8, & + 0.00010670142292577382_r8, 0.00011810155624533408_r8, & + 0.00013335860655512682_r8, 0.00014348033481865785_r8, & + 0.00015274285507772603_r8, 0.0001607150921970718_r8, & + 0.00016821727476492714_r8, 0.0001823633286423968_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,74) / & + 6.1900231602302974e-06_r8, 5.6987437487958883e-06_r8, & + 6.08089213836955e-06_r8, 7.0103761953827555e-06_r8, & + 6.8819856763899092e-06_r8, 7.366977107501247e-06_r8, & + 7.9710890084257998e-06_r8, 9.5231397987382816e-06_r8, & + 1.3069279383301272e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,74) / & + 5.5701279876010785e-06_r8, 5.6301054883911193e-06_r8, & + 9.0941133829645583e-06_r8, 9.5358242926647555e-06_r8, & + 7.2896361876184769e-06_r8, 1.0995396288146972e-05_r8, & + 1.0848849933645955e-05_r8, 1.4148352421726942e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,74) / & + 1.1271778697256717e-05_r8, 1.0763214406404594e-05_r8, & + 1.0953574924258513e-05_r8, 9.004174784173863e-06_r8, & + 8.9850448447330545e-06_r8, 9.1941322365138028e-06_r8, & + 1.0100447217342125e-05_r8, 1.1756741002673406e-05_r8, & + 1.3922064057747716e-05_r8, 1.757128414958106e-05_r8, & + 2.1568291606339845e-05_r8, 2.3038497024247058e-05_r8, & + 3.4547523582723035e-05_r8, 4.6955530053601651e-05_r8, & + 5.940742797462956e-05_r8, 7.0622188733162361e-05_r8, & + 9.2382192848829459e-05_r8, 0.00010952500591904349_r8, & + 0.00012127914734514402_r8, 0.00012704258455281062_r8, & + 0.00013076427892100149_r8, 0.00013097360194963011_r8, & + 0.00013206477183764869_r8, 0.00013413559378124196_r8, & + 0.00013494931464365714_r8, 0.00013563368215887753_r8, & + 0.0001377232011483342_r8, 0.00014026554793383065_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,74) / & + 1.1787446834440058e-05_r8, 1.1869412591408454e-05_r8, & + 1.1219239044091825e-05_r8, 9.3846995437518034e-06_r8, & + 9.3528181287071854e-06_r8, 1.0860684627481601e-05_r8, & + 1.0576441269992517e-05_r8, 1.0626166129401739e-05_r8, & + 1.1649804946436796e-05_r8, 1.3960432369386347e-05_r8, & + 1.6542071448325041e-05_r8, 1.8951490032592854e-05_r8, & + 2.879738810424178e-05_r8, 4.0044886185935965e-05_r8, & + 5.1572450686999704e-05_r8, 6.3881193552338105e-05_r8, & + 8.7311396729029096e-05_r8, 0.00010927233117823138_r8, & + 0.00012607318790953934_r8, 0.00013445594167609315_r8, & + 0.0001367559463852211_r8, 0.00013795672863595743_r8, & + 0.00013904682478417256_r8, 0.00014185223368956714_r8, & + 0.00014313830140801992_r8, 0.00014378815323591454_r8, & + 0.00014629360450492274_r8, 0.0001477965735888696_r8, & + 0.00014868473510280019_r8, 0.00014948510171419147_r8, & + 0.00014852431530783768_r8, 0.00014453488439782638_r8, & + 0.00014224888636879153_r8, 0.00014816583881623846_r8, & + 0.00015422150441430496_r8, 0.00016051966164214873_r8, & + 0.00016460336272441873_r8, 0.00015918549839736613_r8, & + 0.0001573279355401036_r8, 0.00015649611705299222_r8, & + 0.00015599277415372548_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,74) / & + 1.1495891287248894e-05_r8, 1.0989760669730569e-05_r8, & + 9.1459769591700852e-06_r8, 9.493107212467293e-06_r8, & + 9.3497514316529747e-06_r8, 1.0360268684899363e-05_r8, & + 9.4385485061616739e-06_r8, 8.8818020006079027e-06_r8, & + 8.9989792756619029e-06_r8, 1.0056068861535811e-05_r8, & + 1.1191246252063083e-05_r8, 1.2453160986286224e-05_r8, & + 1.5964921363385362e-05_r8, 2.164766222866607e-05_r8, & + 2.9352110520715731e-05_r8, 3.8783370082520772e-05_r8, & + 6.0438827354165274e-05_r8, 8.5559262393019759e-05_r8, & + 0.00010810666684376628_r8, 0.00012251302085349166_r8, & + 0.00012725790166937442_r8, 0.00012697458085705852_r8, & + 0.00012486304713414022_r8, 0.00012452737846090466_r8, & + 0.00012350757876526791_r8, 0.00012294576305350616_r8, & + 0.00012395116013628465_r8, 0.00012679944072307373_r8, & + 0.00013080769231293366_r8, 0.00013557215438870273_r8, & + 0.00013741859278964253_r8, 0.00013774028638991216_r8, & + 0.0001393282465190262_r8, 0.00014230601048302737_r8, & + 0.00015192230138500511_r8, 0.0001635738360367007_r8, & + 0.00016965604004058285_r8, 0.00016968873605819273_r8, & + 0.00017463522993282237_r8, 0.00018772864476500098_r8, & + 0.000237849941329541_r8, 0.00027658872134744865_r8, & + 0.00031700520244744317_r8, 0.0003404650997599558_r8, & + 0.00035035618323995952_r8 & + / +data saar_ref(:,28,74) / & + 6.344053424348502e-06_r8, 6.5774178265588003e-06_r8, & + 6.4415004079570943e-06_r8, 6.4423587106742212e-06_r8, & + 6.5821057126231228e-06_r8, 6.3506692178623359e-06_r8, & + 6.1772104945597999e-06_r8, 6.0187344651922092e-06_r8, & + 5.8703514856991374e-06_r8, 6.0007452569472131e-06_r8, & + 6.449143598307261e-06_r8, 7.0142188948641234e-06_r8, & + 7.3324276923724264e-06_r8, 9.1005236342415182e-06_r8, & + 1.1822486079648735e-05_r8, 1.5115284359614423e-05_r8, & + 2.729484116321893e-05_r8, 4.4874634095777273e-05_r8, & + 6.7066265271029221e-05_r8, 8.864663556338975e-05_r8, & + 0.00010072546807036812_r8, 0.00010004475073751197_r8, & + 9.3125864673790658e-05_r8, 8.6685219649225526e-05_r8, & + 8.1322211358199366e-05_r8, 7.8700749940668771e-05_r8, & + 7.9248560122475038e-05_r8, 8.7729588527676896e-05_r8, & + 9.857142034855001e-05_r8, 0.00011195088397674502_r8, & + 0.00012373532605860894_r8, 0.00013374070350599579_r8, & + 0.00014129296317736282_r8, 0.00014666284889419917_r8, & + 0.0001524871628458396_r8, 0.00016110363080027264_r8, & + 0.00017108709009504286_r8, 0.00018219665506891215_r8, & + 0.00019551027947565055_r8, 0.00021742354638456179_r8, & + 0.00024870979741952858_r8, 0.00027924493904296686_r8, & + 0.00032098353774583067_r8, 0.00035884164831586902_r8, & + 0.00036891817119545569_r8 & + / +data saar_ref(:,29,74) / & + 5.4560996895124636e-06_r8, 5.5055597450376026e-06_r8, & + 5.7017192664240689e-06_r8, 4.7656655002591495e-06_r8, & + 4.7452492164295462e-06_r8, 4.8046523540818095e-06_r8, & + 5.2848376578143818e-06_r8, 5.1621730708825722e-06_r8, & + 5.3023907186658541e-06_r8, 5.5931906168313949e-06_r8, & + 6.0230264126758589e-06_r8, 6.6054954009873532e-06_r8, & + 7.1892045814949266e-06_r8, 8.4084792884522608e-06_r8, & + 1.0545396604214774e-05_r8, 1.2536143031377235e-05_r8, & + 2.0218582827561795e-05_r8, 3.3468097213510359e-05_r8, & + 5.3113674087487704e-05_r8, 7.6741993215619737e-05_r8, & + 9.2484656484799198e-05_r8, 9.6513896480131438e-05_r8, & + 9.2652882005741588e-05_r8, 8.7507353771492137e-05_r8, & + 8.4184925419725448e-05_r8, 8.2747180327908421e-05_r8, & + 8.3782988179103912e-05_r8, 9.360157084734246e-05_r8, & + 0.00010730029497483178_r8, 0.00012296485738043101_r8, & + 0.00013699862226710277_r8, 0.00014794094260903867_r8, & + 0.00015547930269171873_r8, 0.00016171960609637735_r8, & + 0.00016629725543687053_r8, 0.00017302164057222158_r8, & + 0.00018226335715124987_r8, 0.00019450976881166002_r8, & + 0.00021010254911261203_r8, 0.00023331277354707826_r8, & + 0.00026385879019250952_r8, 0.0002938049052174116_r8, & + 0.0003285222550935938_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,74) / & + 5.8849928177492431e-06_r8, 5.8331638242157566e-06_r8, & + 5.4932676763590061e-06_r8, 5.2189275760519725e-06_r8, & + 5.1080069761248865e-06_r8, 5.1419781366464314e-06_r8, & + 6.222887391724263e-06_r8, 6.1759250557599253e-06_r8, & + 6.3760808988403547e-06_r8, 6.7297525243664998e-06_r8, & + 7.1656007952818452e-06_r8, 7.8223148261342639e-06_r8, & + 8.3486816828833847e-06_r8, 9.4696329597306038e-06_r8, & + 1.0971885371746235e-05_r8, 1.2825508644456081e-05_r8, & + 1.8045368293092906e-05_r8, 2.9543551499338772e-05_r8, & + 4.8044996298312896e-05_r8, 7.2862759703430164e-05_r8, & + 9.0374264571263375e-05_r8, 9.4641618122609118e-05_r8, & + 9.1713819949810124e-05_r8, 8.7818442979301818e-05_r8, & + 8.4916958815010472e-05_r8, 8.4142866184155958e-05_r8, & + 8.5291407507703912e-05_r8, 9.2265661799888923e-05_r8, & + 0.00010418935008748921_r8, 0.00011874891917016591_r8, & + 0.00013173062821433975_r8, 0.00014172314595578913_r8, & + 0.00014981320832077884_r8, 0.00015779630518235178_r8, & + 0.00016583016899901468_r8, 0.00017583321764871244_r8, & + 0.00018696451726976995_r8, 0.00020011570570840068_r8, & + 0.00021666143776491171_r8, 0.00023869585482679751_r8, & + 0.00026576005979972065_r8, 0.00028505799385120497_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,74) / & + 1.0938494973093074e-05_r8, 1.1013153957045181e-05_r8, & + 9.6818169236522999e-06_r8, 1.0074239359571775e-05_r8, & + 9.5452304398023626e-06_r8, 9.4336276597617785e-06_r8, & + 9.9026580928190877e-06_r8, 9.6490917407966851e-06_r8, & + 9.7862610960013435e-06_r8, 1.0416395545187128e-05_r8, & + 1.1009354675904207e-05_r8, 1.167231432921864e-05_r8, & + 1.2399815575599212e-05_r8, 1.3786648149844798e-05_r8, & + 1.5973385117363616e-05_r8, 1.8120372566348668e-05_r8, & + 2.3392017810126623e-05_r8, 3.3600110225055249e-05_r8, & + 5.0201136974981558e-05_r8, 7.3120014344726542e-05_r8, & + 9.2655954578136832e-05_r8, 9.8579098663301249e-05_r8, & + 9.5643331352310857e-05_r8, 9.1134256764774737e-05_r8, & + 8.8167820671519021e-05_r8, 8.6835371660843084e-05_r8, & + 8.6947430781046501e-05_r8, 8.9780484863844859e-05_r8, & + 9.734751146423315e-05_r8, 0.00010807188090995332_r8, & + 0.00012031642971172285_r8, 0.00013194787590965971_r8, & + 0.00014190336543767266_r8, 0.00015154798172069045_r8, & + 0.00016295474895536478_r8, 0.00017719739958133916_r8, & + 0.00019069433746659966_r8, 0.00020375269791278778_r8, & + 0.00021594148083581123_r8, 0.00022964668231806901_r8, & + 0.00025022855262747516_r8, 0.00029806804257452064_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,32,74) / & + 1.9718446968423648e-05_r8, 1.9044263445660814e-05_r8, & + 1.8095801449226078e-05_r8, 1.8957732886686521e-05_r8, & + 1.9951188317247964e-05_r8, 1.9871362729788758e-05_r8, & + 1.8348974509098459e-05_r8, 2.0308509349030051e-05_r8, & + 2.2640628455671316e-05_r8, 2.5501215783925791e-05_r8, & + 2.8322393572208472e-05_r8, 3.280636506373356e-05_r8, & + 4.0205072504432158e-05_r8, 4.8217523621824064e-05_r8, & + 5.4543188180028169e-05_r8, 5.9871234827692939e-05_r8, & + 6.7336382907471227e-05_r8, 7.4782940353038956e-05_r8, & + 8.2437472593621799e-05_r8, 9.0239993020709201e-05_r8, & + 9.459099544512447e-05_r8, 9.4314436459051252e-05_r8, & + 9.1800363243287644e-05_r8, 8.9514634715109664e-05_r8, & + 8.8684533652062461e-05_r8, 8.8549902082504258e-05_r8, & + 8.9458225469433484e-05_r8, 9.3879920357306317e-05_r8, & + 0.00010167362455901396_r8, 0.00011129755014767438_r8, & + 0.00012108651529244772_r8, 0.00013169748577453858_r8, & + 0.00014164005009317549_r8, 0.0001523948358591987_r8, & + 0.00016519474228797077_r8, 0.00018120709489093163_r8, & + 0.00019712809721843296_r8, 0.00020947839955800455_r8, & + 0.00022037526400528283_r8, 0.00022924839026302959_r8, & + 0.0002546478004980133_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,74) / & + 3.6747876733072262e-05_r8, 3.3668214827789777e-05_r8, & + 3.450278608900383e-05_r8, 3.463204208222665e-05_r8, & + 3.8626537379837846e-05_r8, 4.222654449902116e-05_r8, & + 5.1604004111092959e-05_r8, 5.6851765965526163e-05_r8, & + 6.2588886986587319e-05_r8, 6.7606612705079872e-05_r8, & + 6.616698350101048e-05_r8, 6.4892029867556997e-05_r8, & + 6.9923550804992492e-05_r8, 7.9857988200446214e-05_r8, & + 8.6790272628694171e-05_r8, 9.1653880219187304e-05_r8, & + 9.5153225591099066e-05_r8, 9.5156087252119058e-05_r8, & + 9.4408310350661587e-05_r8, 9.356777164982201e-05_r8, & + 9.2254563239634093e-05_r8, 9.0383541579242165e-05_r8, & + 8.9444654881606605e-05_r8, 8.9012049023463966e-05_r8, & + 8.9556562051038843e-05_r8, 9.0393874374478556e-05_r8, & + 9.201868846360298e-05_r8, 9.8549114545251872e-05_r8, & + 0.00010733526003974542_r8, 0.00011798867463397577_r8, & + 0.00012678252334561628_r8, 0.00013689914884613559_r8, & + 0.00014720368121061135_r8, 0.00016025433358252269_r8, & + 0.00017509917603001265_r8, 0.00019170672457155489_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,74) / & + 5.0443083564220063e-05_r8, 4.6172774957915566e-05_r8, & + 4.368501557615608e-05_r8, 3.95691580148592e-05_r8, & + 4.6507957898900452e-05_r8, 5.0880778209454547e-05_r8, & + 6.4138007249096846e-05_r8, 7.2539335726189665e-05_r8, & + 7.8852305989695817e-05_r8, 8.7378772469506806e-05_r8, & + 8.4875796790405224e-05_r8, 8.0810384936649105e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,74) / & + 4.8812521935585666e-05_r8, 4.6803042631543511e-05_r8, & + 4.4972047393993192e-05_r8, 4.3863107073765371e-05_r8, & + 4.3222676951655316e-05_r8, 4.2810926551986169e-05_r8, & + 4.2133842422099944e-05_r8, 4.1623525371139887e-05_r8, & + 4.114301806191501e-05_r8, 4.0733723270687975e-05_r8, & + 4.0434131152375919e-05_r8, 4.0172345726159107e-05_r8, & + 3.9856274096720214e-05_r8, 3.9854324968607743e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,74) / & + 2.6982476896205641e-05_r8, 2.9275376358728796e-05_r8, & + 3.4735207634492924e-05_r8, 4.094460427686545e-05_r8, & + 4.2970674475051124e-05_r8, 4.8834156391415599e-05_r8, & + 5.527504318454113e-05_r8, 6.4080221133148044e-05_r8, & + 7.1507699375485698e-05_r8, 7.1932372799795376e-05_r8, & + 7.2121048208835533e-05_r8, 7.1624785138483068e-05_r8, & + 6.5465477576003359e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,74) / & + 2.9078030019709095e-05_r8, 3.1003868522424994e-05_r8, & + 3.4369215169116678e-05_r8, 4.2432768875121824e-05_r8, & + 4.6692716988044761e-05_r8, 4.9976823082416118e-05_r8, & + 5.7227215716744983e-05_r8, 6.3612976436584745e-05_r8, & + 6.8280279300610136e-05_r8, 6.8291390180812194e-05_r8, & + 6.7201229340947054e-05_r8, 6.5913118553239048e-05_r8, & + 6.573439574636205e-05_r8, 5.8415316530600947e-05_r8, & + 5.7946766545971504e-05_r8, 3.7905514097845848e-05_r8, & + 4.3413912939397791e-05_r8, 6.1315126179664053e-05_r8, & + 8.0406522078134131e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,74) / & + 1.5424346995357598e-05_r8, 1.5425476633071345e-05_r8, & + 1.5268513624344106e-05_r8, 1.9597992523026171e-05_r8, & + 2.1485784134394415e-05_r8, 2.4192938594539772e-05_r8, & + 4.501730086902008e-05_r8, 4.3930435779008224e-05_r8, & + 4.2216176770817104e-05_r8, 3.3116314297749643e-05_r8, & + 3.3153631665802535e-05_r8, 3.2911510301497216e-05_r8, & + 3.9558563441923485e-05_r8, 4.1534858818141127e-05_r8, & + 4.7644872406610847e-05_r8, 4.6986653848035678e-05_r8, & + 5.3647783778673999e-05_r8, 6.422973078556452e-05_r8, & + 8.179020074473411e-05_r8, 8.4130989259567136e-05_r8, & + 8.8589290088240269e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,74) / & + 2.2898474670319438e-05_r8, 2.3375945944142175e-05_r8, & + 2.3731939992709389e-05_r8, 3.9879816425256924e-05_r8, & + 4.7416394092886113e-05_r8, 5.3993227705286372e-05_r8, & + 7.9345257759414189e-05_r8, 7.5709943523228219e-05_r8, & + 7.1855647459732579e-05_r8, 6.7516720967602305e-05_r8, & + 6.5473915433511155e-05_r8, 6.2867647559611002e-05_r8, & + 7.3873271480552437e-05_r8, 8.5720469171135698e-05_r8, & + 0.00010838048759014108_r8, 0.00012661464230142832_r8, & + 0.00014508525075189254_r8, 0.00015260712400330326_r8, & + 0.00016171546219111502_r8, 0.00014143294058725734_r8, & + 8.3949455799878071e-05_r8, 0.00015789933493767894_r8, & + 0.00015775643120312751_r8, 0.0001558820746820056_r8, & + 0.00015563146018800068_r8, 0.00015635642222141443_r8, & + 0.00015633175283319363_r8, 0.00015554123726672805_r8, & + 0.0001531284270330427_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,74) / & + 2.0936877496432329e-05_r8, 2.11440189873825e-05_r8, & + 2.0638558293922382e-05_r8, 3.9758099980238716e-05_r8, & + 4.6102921674866527e-05_r8, 4.9676210987631063e-05_r8, & + 6.4404664187775676e-05_r8, 5.992735625724446e-05_r8, & + 5.800464958049687e-05_r8, 5.6225900374445835e-05_r8, & + 5.8014205506215558e-05_r8, 7.7440877762889924e-05_r8, & + 0.00010887843569707866_r8, 0.00012287691868472655_r8, & + 0.00014719840112790397_r8, 0.0001773877973942631_r8, & + 0.00018768015949361137_r8, 0.00020984572538410888_r8, & + 0.00021706793466180763_r8, 0.00018962644805735506_r8, & + 0.00011611015728114145_r8, 0.00017197799822405856_r8, & + 0.00018077029403440315_r8, 0.00018148211537555303_r8, & + 0.00018156218449355053_r8, 0.00018145088258980638_r8, & + 0.00018143810689369766_r8, 0.0001814025949899549_r8, & + 0.00018091107420894928_r8, 0.00018826612617454949_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,74) / & + 4.8738334294949713e-05_r8, 5.314512838878028e-05_r8, & + 4.3528629579400556e-05_r8, 7.9474155166606782e-05_r8, & + 8.3939473780040343e-05_r8, 8.6639045739374007e-05_r8, & + 9.7104855018508886e-05_r8, 8.8895496310385918e-05_r8, & + 8.3647622908877251e-05_r8, 9.0009067466786117e-05_r8, & + 9.3719613423142361e-05_r8, 0.0001126462783500743_r8, & + 0.00016951264696917607_r8, 0.00017712973422024769_r8, & + 0.00019505624844571082_r8, 0.00023364707980187262_r8, & + 0.00024364112479647207_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,74) / & + 0.00011838691494502641_r8, 0.0001173470085511221_r8, & + 9.7693717474082127e-05_r8, 0.00011013552096819212_r8, & + 0.00010363015412396525_r8, 0.00010914651210642415_r8, & + 0.00011836921373255359_r8, 0.00011528015580362496_r8, & + 0.00011989942772513175_r8, 0.00012616055566876119_r8, & + 0.0001161632572591171_r8, 0.00010621943040500232_r8, & + 7.8938542463824154e-05_r8, 7.6385914403324104e-05_r8, & + 7.2032936352452853e-05_r8, 6.9008472411145156e-05_r8, & + 6.6048838394466931e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,74) / & + 0.00011237638943730006_r8, 0.00011326288306334123_r8, & + 0.00010791814501932315_r8, 8.8712496841690267e-05_r8, & + 9.0771142841006888e-05_r8, 0.00010215033865648968_r8, & + 0.00012473543335504004_r8, 0.0001187709853904836_r8, & + 0.00012036975963804177_r8, 0.00011149811979425819_r8, & + 0.00010332165342194682_r8, 9.4149792160246886e-05_r8, & + 8.1518591230760111e-05_r8, 7.9687835513498866e-05_r8, & + 7.6537850210508417e-05_r8, 7.2987251563593169e-05_r8, & + 6.8971468064320403e-05_r8, 7.3853435802062676e-05_r8, & + 7.6071947961251635e-05_r8, 7.8111601539075114e-05_r8, & + 8.2302115216803897e-05_r8, 8.4340801726942534e-05_r8, & + 8.9525636555071953e-05_r8, 9.1940142754931903e-05_r8, & + 9.7622803145482393e-05_r8, 9.9391746539887984e-05_r8, & + 0.00010450953593360426_r8, 0.00011422205893841209_r8, & + 0.00011536661657795047_r8, 0.00011608710894305391_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,74) / & + 9.8466141957157986e-05_r8, 0.00011304363676727364_r8, & + 0.00011190479040667263_r8, 8.9411845064640174e-05_r8, & + 0.00010323060556113417_r8, 0.00011843619311787392_r8, & + 0.00012353286493587613_r8, 0.00010851687021352552_r8, & + 9.0681484561386412e-05_r8, 8.1667604135906872e-05_r8, & + 7.9563491806933784e-05_r8, 7.5757135619823179e-05_r8, & + 7.1725897917253661e-05_r8, 7.2652544048625454e-05_r8, & + 7.3110069084274186e-05_r8, 7.3150495805336148e-05_r8, & + 7.1996311509965236e-05_r8, 7.3609557211826558e-05_r8, & + 7.5937982906615923e-05_r8, 7.8951768904399417e-05_r8, & + 8.2599200488699915e-05_r8, 8.5921395460456068e-05_r8, & + 9.0167816060006943e-05_r8, 9.401131490348788e-05_r8, & + 9.9451719922747387e-05_r8, 0.00010306863317872868_r8, & + 0.00010909519344876955_r8, 0.00011941360472136356_r8, & + 0.00012013606120511787_r8, 0.0001186373825729355_r8, & + 0.00011933122833761605_r8, 0.00011976967070570559_r8, & + 0.00012048444821081678_r8, 0.00012031940454377165_r8, & + 0.00012084611618262632_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,75) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,75) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,75) / & + 0.00016488580949843788_r8, 0.00016431041730423127_r8, & + 0.00016642796505200432_r8, 0.0001779522951608739_r8, & + 0.00017227365163944574_r8, 0.0001710785625030894_r8, & + 0.00016232699141278519_r8, 0.00016829927200953098_r8, & + 0.0001756401471079484_r8, 0.00017528491816111051_r8, & + 0.00020040127176217871_r8, 0.00020122267573329978_r8, & + 0.0001960724704093986_r8, 0.0002069176184920566_r8, & + 0.00020031104615743985_r8, 0.00018406165796334026_r8, & + 0.00019364208293711518_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,75) / & + 0.00016115186234374709_r8, 0.0001613083105088339_r8, & + 0.0001632793296889979_r8, 0.00017345015967267416_r8, & + 0.00017167058360838822_r8, 0.00017459523881004232_r8, & + 0.00016766036654217398_r8, 0.00017069169360203298_r8, & + 0.00018271158081040347_r8, 0.00019088717082250427_r8, & + 0.00021017690616569791_r8, 0.00020208565459773416_r8, & + 0.00019411871282760574_r8, 0.00019524957137464637_r8, & + 0.00018818158189242687_r8, 0.0001817773508759593_r8, & + 0.00019257531891553052_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,75) / & + 0.00013034935462651805_r8, 0.00013844014001081209_r8, & + 0.00017158197403381383_r8, 0.00017537150777212866_r8, & + 0.00017543979777063988_r8, 0.00017218135354017986_r8, & + 0.00016799699977424525_r8, 0.00017501815692591631_r8, & + 0.00018309821934442058_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,75) / & + 0.00011931923262165702_r8, 0.00011267417999844757_r8, & + 0.00010611905419117785_r8, 8.8990396147244145e-05_r8, & + 9.0314406882958305e-05_r8, 9.7606029471380455e-05_r8, & + 0.00010605330799523367_r8, 0.00013242261274220668_r8, & + 0.00014284410069628471_r8, 0.00015218562844501591_r8, & + 0.00015729063971696214_r8, 0.00016159908516196091_r8, & + 0.0001735230475481646_r8, 0.00017540205166208123_r8, & + 0.00017544046878127006_r8, 0.00017635307663159766_r8, & + 0.00017693099560677958_r8, 0.00017636342760181969_r8, & + 0.00018403267918653234_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,75) / & + 7.3480087044053275e-05_r8, 7.0600611820067165e-05_r8, & + 6.7706272830193881e-05_r8, 5.307537446664388e-05_r8, & + 5.8391890228954786e-05_r8, 6.4158365844191629e-05_r8, & + 7.6741410434342142e-05_r8, 9.840440583720522e-05_r8, & + 0.00011033640276360983_r8, 0.00012094922234286399_r8, & + 0.00012755271354449214_r8, 0.00013238355029367006_r8, & + 0.00014295349254997493_r8, 0.00015012429049475335_r8, & + 0.00015237053541383147_r8, 0.00015618391165595082_r8, & + 0.0001617359684749424_r8, 0.00016475740279374093_r8, & + 0.00017031045964138061_r8, 0.00017632883681450786_r8, & + 0.00018259676988500529_r8, 0.00018880209548996409_r8, & + 0.00019597894217661681_r8, 0.00020260943742026629_r8, & + 0.00020744814313102894_r8, 0.00021347010704922254_r8, & + 0.0002189105225621298_r8, 0.00023013744769846675_r8, & + 0.00024042945474000058_r8, 0.00024869624799990085_r8, & + 0.00025649113373007662_r8, 0.00026357908674019267_r8, & + 0.00026944935630546186_r8, 0.00027281698082030702_r8, & + 0.00027563066800717287_r8, 0.00027456459694122793_r8, & + 0.0002741923163975164_r8, 0.00027338348233597041_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,75) / & + 1.9872379197735338e-05_r8, 1.8668985834366623e-05_r8, & + 1.8094649136061178e-05_r8, 1.7288142284170788e-05_r8, & + 1.9562941468154999e-05_r8, 2.197559125186244e-05_r8, & + 3.1160845299770338e-05_r8, 4.077440903089209e-05_r8, & + 4.7418859994238236e-05_r8, 5.3860179869900681e-05_r8, & + 5.9415344339682696e-05_r8, 6.15525310527651e-05_r8, & + 6.5570448064122952e-05_r8, 7.2897432209946588e-05_r8, & + 7.8245815966525596e-05_r8, 8.378837948377282e-05_r8, & + 9.6590049339746327e-05_r8, 0.0001070216405308617_r8, & + 0.00011849106835996827_r8, 0.00013061640172625777_r8, & + 0.00014070986403875643_r8, 0.00014834928629581419_r8, & + 0.00015810331160084583_r8, 0.000165927990250692_r8, & + 0.00017265392800934939_r8, 0.00017912128055634044_r8, & + 0.00018606284050690818_r8, 0.00020008505995035985_r8, & + 0.00021477610220011143_r8, 0.00022520562391938856_r8, & + 0.00023434657625071272_r8, 0.00024236201686583857_r8, & + 0.00025047211892315795_r8, 0.0002562436647802536_r8, & + 0.00025970689666961612_r8, 0.00026236218901713412_r8, & + 0.00025968379470736429_r8, 0.00026891248163237808_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,75) / & + 7.0491018540486342e-06_r8, 6.6961937602259373e-06_r8, & + 7.2049641533659304e-06_r8, 9.1027206569525178e-06_r8, & + 9.5309979386468509e-06_r8, 1.0089332463786628e-05_r8, & + 1.2319335919971901e-05_r8, 1.4564189053383162e-05_r8, & + 1.6583189514616084e-05_r8, 1.9212912056741287e-05_r8, & + 2.3870843665004564e-05_r8, 2.5100475927548314e-05_r8, & + 2.6978096667668965e-05_r8, 3.073867729698893e-05_r8, & + 3.4318466092676836e-05_r8, 3.810783217863551e-05_r8, & + 5.3718451827834658e-05_r8, 6.7471042494256315e-05_r8, & + 8.1847466400437359e-05_r8, 9.8803056468185578e-05_r8, & + 0.00011302667659344563_r8, 0.00012376216172065198_r8, & + 0.00013687370746277483_r8, 0.00014697066891939704_r8, & + 0.00015546361627762897_r8, 0.00016261307228762227_r8, & + 0.00016928332447253757_r8, 0.00018309595931481284_r8, & + 0.00020022302270972304_r8, 0.00021124674188913924_r8, & + 0.00022119911171089967_r8, 0.00022916426816420009_r8, & + 0.00023866365003099243_r8, 0.00024622004377401264_r8, & + 0.00025209171076310096_r8, 0.00025604568462455843_r8, & + 0.00025766938497767325_r8, 0.00026199330651915047_r8, & + 0.00026870187639630756_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,75) / & + 5.8471398628776001e-06_r8, 5.5883270265849643e-06_r8, & + 6.3835488327281053e-06_r8, 6.8701942063442776e-06_r8, & + 6.9671867751424904e-06_r8, 7.8210042651080423e-06_r8, & + 8.6214590472743232e-06_r8, 1.0508168720268806e-05_r8, & + 1.2220575154655166e-05_r8, 1.2534968270130993e-05_r8, & + 1.494342399237004e-05_r8, 1.7047776599330993e-05_r8, & + 1.886631502785705e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,75) / & + 6.3983130845835598e-06_r8, 6.3254003377176269e-06_r8, & + 8.6540350780818327e-06_r8, 8.4046110462108811e-06_r8, & + 6.9084635970225082e-06_r8, 1.0939854096222998e-05_r8, & + 9.346774707887344e-06_r8, 1.3285594403402354e-05_r8, & + 1.5920194842339498e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,75) / & + 8.801688724486773e-06_r8, 8.6741753161331457e-06_r8, & + 9.7662755158400833e-06_r8, 7.5910907555678455e-06_r8, & + 6.3797452100196465e-06_r8, 1.1469507783476882e-05_r8, & + 1.0793566085552902e-05_r8, 1.3203985998413864e-05_r8, & + 1.5896458632575905e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,75) / & + 7.1711032965927324e-06_r8, 7.5662498984047005e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,75) / & + 1.8797607071674271e-05_r8, 2.0734430834591952e-05_r8, & + 1.7341689399335079e-05_r8, 1.3156410640682972e-05_r8, & + 1.2394132398344738e-05_r8, 1.170168851682157e-05_r8, & + 1.2126758609917992e-05_r8, 1.3580034842602811e-05_r8, & + 1.6004754505372186e-05_r8, 2.007700522664468e-05_r8, & + 2.3934969539307306e-05_r8, 2.7417615930189622e-05_r8, & + 3.9561622332521185e-05_r8, 5.1490408795557813e-05_r8, & + 6.3851795047571637e-05_r8, 7.4228202657079196e-05_r8, & + 9.5147381123684196e-05_r8, 0.00011358642000271749_r8, & + 0.00012585542081348073_r8, 0.00013177256006761026_r8, & + 0.00013585452381133532_r8, 0.00013724995566276522_r8, & + 0.00013996648213965364_r8, 0.00014241691073638903_r8, & + 0.00014443461391936248_r8, 0.00014447032529278967_r8, & + 0.00014915723139526842_r8, 0.0001442191975758367_r8, & + 0.00014500396069313954_r8, 0.00014453292166086986_r8, & + 0.00014790475656375432_r8, 0.00014701155838501702_r8, & + 0.00013551062707869096_r8, 0.00014910429461005676_r8, & + 0.00015174348908600434_r8, 0.00015154458858395741_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,75) / & + 1.4567519558974488e-05_r8, 1.5892076373423901e-05_r8, & + 1.4675686476862825e-05_r8, 1.2194447647616055e-05_r8, & + 1.1810524796792357e-05_r8, 1.1948109053634973e-05_r8, & + 1.1168283105291225e-05_r8, 1.1004251268699708e-05_r8, & + 1.2640475930135953e-05_r8, 1.527134172291747e-05_r8, & + 1.8674648636423355e-05_r8, 2.2688653114614742e-05_r8, & + 3.3698055910333778e-05_r8, 4.5436653857754205e-05_r8, & + 5.7342364413329185e-05_r8, 6.9520339294833398e-05_r8, & + 9.296733101175523e-05_r8, 0.00011504340754520689_r8, & + 0.00013101305299451947_r8, 0.00014007300083783189_r8, & + 0.00014356223416625374_r8, 0.00014488173844302688_r8, & + 0.0001473947539673993_r8, 0.00014977329007190835_r8, & + 0.00015170661751507121_r8, 0.0001512927257894651_r8, & + 0.00015359392933676089_r8, 0.00014973643268061047_r8, & + 0.00014764059227673418_r8, 0.00014773855124085807_r8, & + 0.00014885043991293991_r8, 0.00014419234269736546_r8, & + 0.00013470622936028327_r8, 0.00014165136480673226_r8, & + 0.00015276043206319313_r8, 0.00016090572143898161_r8, & + 0.00016440106095520575_r8, 0.00015852002167049455_r8, & + 0.00015638445474648239_r8, 0.0001554223446522497_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,75) / & + 1.0748730699304816e-05_r8, 1.1126511282772584e-05_r8, & + 9.5826804243222417e-06_r8, 1.0087066777242239e-05_r8, & + 9.9323816274455202e-06_r8, 9.9593258174412868e-06_r8, & + 8.8754492264463476e-06_r8, 7.5307434291383379e-06_r8, & + 7.5546607081346901e-06_r8, 8.1150566915397389e-06_r8, & + 9.3312253839388166e-06_r8, 1.1385543759911076e-05_r8, & + 1.5035568964889665e-05_r8, 2.1382776183638179e-05_r8, & + 2.9467939024857784e-05_r8, 3.9147311293329767e-05_r8, & + 6.2567403114494529e-05_r8, 8.8166382265703909e-05_r8, & + 0.00011073830420461229_r8, 0.00012677905072744637_r8, & + 0.00013245462719452584_r8, 0.00013082758908344337_r8, & + 0.00012577022360807141_r8, 0.00012259904195602105_r8, & + 0.00011958040601538957_r8, 0.00011670469957411435_r8, & + 0.00011315009604144025_r8, 0.00011025303760069255_r8, & + 0.00011339782735248173_r8, 0.00011798017467972617_r8, & + 0.00012619029509599406_r8, 0.00013108353808059402_r8, & + 0.00013922161392198587_r8, 0.00014444506421290332_r8, & + 0.00014929731886030608_r8, 0.00016150492641966337_r8, & + 0.00016886630506884724_r8, 0.00017576228438581561_r8, & + 0.00018703904134653057_r8, 0.00020997322371019522_r8, & + 0.00024664898065611027_r8, 0.00029254515813520145_r8, & + 0.00032717587495035433_r8, 0.00034486688925684659_r8, & + 0.0003516696197202934_r8 & + / +data saar_ref(:,28,75) / & + 6.9333591178556729e-06_r8, 7.0252185708152119e-06_r8, & + 6.6678311335795561e-06_r8, 6.8249424309744314e-06_r8, & + 6.5471589940096908e-06_r8, 6.4015406081466235e-06_r8, & + 6.3316898903745243e-06_r8, 5.8507448006934189e-06_r8, & + 5.6823642255883314e-06_r8, 6.0094180984850092e-06_r8, & + 6.434704822785714e-06_r8, 7.4134690875425047e-06_r8, & + 7.8842679563505432e-06_r8, 1.0203444711735365e-05_r8, & + 1.3725207449164007e-05_r8, 1.7960541466707958e-05_r8, & + 3.2559565462542612e-05_r8, 5.1173577388550653e-05_r8, & + 7.4886329835133111e-05_r8, 9.8373919376107906e-05_r8, & + 0.00011078654637074101_r8, 0.00011156472289931706_r8, & + 0.00010320699306682722_r8, 9.477067477578805e-05_r8, & + 8.8621042996696716e-05_r8, 8.4516207505608699e-05_r8, & + 8.359434169909442e-05_r8, 9.0620656402743557e-05_r8, & + 0.00010404928749782983_r8, 0.00011934062471418874_r8, & + 0.00013346584394889662_r8, 0.0001431698661488197_r8, & + 0.00015213885359395806_r8, 0.00015730791635595369_r8, & + 0.00016124522772158426_r8, 0.00016796828459025032_r8, & + 0.00017634494541423262_r8, 0.0001864340135400556_r8, & + 0.0001994947618869594_r8, 0.00022080156689750343_r8, & + 0.00025748973367948312_r8, 0.00030053858278919086_r8, & + 0.00032618849506071924_r8, 0.00035142758691798364_r8, & + 0.0003693633968978954_r8 & + / +data saar_ref(:,29,75) / & + 5.006456714893456e-06_r8, 5.1133358677315387e-06_r8, & + 5.3477322345653296e-06_r8, 4.8203260247511664e-06_r8, & + 4.5470314553831978e-06_r8, 4.6070405091892022e-06_r8, & + 5.2150931896899397e-06_r8, 5.2204065035590058e-06_r8, & + 5.2383729692413029e-06_r8, 5.4573966689605631e-06_r8, & + 5.8170312241598302e-06_r8, 6.5139466709355798e-06_r8, & + 6.860697059686515e-06_r8, 8.1465535847018382e-06_r8, & + 9.9727659409432747e-06_r8, 1.2135142810109399e-05_r8, & + 2.0182481652814815e-05_r8, 3.2861360304827677e-05_r8, & + 5.2402942943229281e-05_r8, 7.6155198276579188e-05_r8, & + 9.3241946663645461e-05_r8, 9.9454002010141118e-05_r8, & + 9.5441029768955784e-05_r8, 8.9917402044292877e-05_r8, & + 8.635972657521486e-05_r8, 8.4411921538863016e-05_r8, & + 8.5938669779192994e-05_r8, 9.9070523849421278e-05_r8, & + 0.00011539281603384229_r8, 0.00013396682740910259_r8, & + 0.00015047626294862197_r8, 0.00016206077508387003_r8, & + 0.00017002995649675014_r8, 0.000173495634470095_r8, & + 0.00017542139452117141_r8, 0.00018098341685325031_r8, & + 0.00019027786326412781_r8, 0.00020265584368924365_r8, & + 0.00022019432660417909_r8, 0.00024544945111484488_r8, & + 0.00027827866829184127_r8, 0.00031369733914976436_r8, & + 0.00033360128174217022_r8, 0.00033799081771242932_r8, 9e90_r8 & + / +data saar_ref(:,30,75) / & + 5.0022325704875203e-06_r8, 5.0044487103304409e-06_r8, & + 4.8612361836077078e-06_r8, 4.9028140652988438e-06_r8, & + 4.6596384082101241e-06_r8, 4.7243011847796649e-06_r8, & + 6.0080147869421742e-06_r8, 5.672596777192579e-06_r8, & + 5.8036424975805446e-06_r8, 6.198165299100812e-06_r8, & + 6.5966495038630454e-06_r8, 7.1166073021301375e-06_r8, & + 7.9671123734729487e-06_r8, 9.1499424167219092e-06_r8, & + 1.027379899170241e-05_r8, 1.2062100314100196e-05_r8, & + 1.7767137000217883e-05_r8, 2.8778783346643568e-05_r8, & + 4.7355642562715631e-05_r8, 7.0619740814443355e-05_r8, & + 8.5737859478990036e-05_r8, 9.1352274432192915e-05_r8, & + 8.9508747076063106e-05_r8, 8.68725073884101e-05_r8, & + 8.4967863599820739e-05_r8, 8.4162949076354044e-05_r8, & + 8.5461529367433027e-05_r8, 9.56116134485073e-05_r8, & + 0.0001089436030982473_r8, 0.00012544472235484499_r8, & + 0.00013909900791903175_r8, 0.0001499923273750883_r8, & + 0.00015751998989668118_r8, 0.00016303003905574861_r8, & + 0.00017063749631572933_r8, 0.00018320522109809963_r8, & + 0.00019594364375397527_r8, 0.00021028362908843767_r8, & + 0.00022711767125644343_r8, 0.00025133821890124987_r8, & + 0.00028694564124881971_r8, 0.00033289755353530382_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,75) / & + 9.3675576801842675e-06_r8, 9.0343487774690846e-06_r8, & + 7.9327605073199706e-06_r8, 7.8982154136258675e-06_r8, & + 7.7153251969562197e-06_r8, 7.8105620465763212e-06_r8, & + 8.2682490060466673e-06_r8, 8.184198366742264e-06_r8, & + 8.2772275764753958e-06_r8, 8.9333507884798633e-06_r8, & + 9.4424441284625109e-06_r8, 9.8705362912970649e-06_r8, & + 1.0999741458966289e-05_r8, 1.2098168467601026e-05_r8, & + 1.2967771878230965e-05_r8, 1.5438993985909295e-05_r8, & + 2.2281143509909819e-05_r8, 3.3471313882060594e-05_r8, & + 5.2356448613847613e-05_r8, 7.5384791822350806e-05_r8, & + 9.1571444343934349e-05_r8, 9.441332971433795e-05_r8, & + 9.0629316923579911e-05_r8, 8.7112543024355966e-05_r8, & + 8.5096009904655329e-05_r8, 8.412814289584875e-05_r8, & + 8.451647496262575e-05_r8, 8.9647937676062722e-05_r8, & + 9.7849148930606933e-05_r8, 0.00010967288390809288_r8, & + 0.00012055474753687542_r8, 0.00013379536484983156_r8, & + 0.00014476184861643573_r8, 0.00015470802408424657_r8, & + 0.00016825823360096858_r8, 0.00018428540033787924_r8, & + 0.00019789500049613505_r8, 0.0002098777555578074_r8, & + 0.00022119333190436763_r8, 0.00022941601085341325_r8, & + 0.00023131322668854161_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,75) / & + 1.7477950175097656e-05_r8, 1.6728434491098475e-05_r8, & + 1.6367534215021352e-05_r8, 1.5126412080080261e-05_r8, & + 1.5034480983353159e-05_r8, 1.52606233088676e-05_r8, & + 1.295595413470849e-05_r8, 1.5185421725456446e-05_r8, & + 1.6721944263843015e-05_r8, 1.8704179206247836e-05_r8, & + 2.0566971741959888e-05_r8, 2.2240372524871828e-05_r8, & + 2.6032078476961651e-05_r8, 3.1991907405109526e-05_r8, & + 3.7801036451511364e-05_r8, 4.3737158743517448e-05_r8, & + 5.4873167058808757e-05_r8, 6.7046496512472583e-05_r8, & + 7.9754839515926241e-05_r8, 9.0453523815910226e-05_r8, & + 9.4570184641288015e-05_r8, 9.2728472360368211e-05_r8, & + 8.9379507410876187e-05_r8, 8.6686596821605066e-05_r8, & + 8.5807059560124072e-05_r8, 8.5842565411058613e-05_r8, & + 8.6869145287636723e-05_r8, 9.1522190447515298e-05_r8, & + 9.8596995038100014e-05_r8, 0.00010861836435233562_r8, & + 0.00011931518189097497_r8, 0.00013095832734640761_r8, & + 0.00014160558188300087_r8, 0.00015347580473683609_r8, & + 0.00016688416810436532_r8, 0.00018230478591935986_r8, & + 0.00019805247439743455_r8, 0.00021170486672733436_r8, & + 0.00022557609461487898_r8, 0.00023537600961033478_r8, & + 0.00024191794309967238_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,75) / & + 2.8675347147754413e-05_r8, 2.7511921165016008e-05_r8, & + 2.8633057452120296e-05_r8, 2.7451032036731227e-05_r8, & + 3.0712831104093248e-05_r8, 3.3019843262228068e-05_r8, & + 3.5524652761423122e-05_r8, 3.939120336972498e-05_r8, & + 4.2194409204328303e-05_r8, 4.4964378870434129e-05_r8, & + 4.888631528500903e-05_r8, 5.391371871277765e-05_r8, & + 6.5873364291634589e-05_r8, 7.8059867411164251e-05_r8, & + 8.7040266440719077e-05_r8, 9.2298963550936389e-05_r8, & + 9.5944913587909915e-05_r8, 9.5047033107888636e-05_r8, & + 9.3453478984659554e-05_r8, 9.1317410264926598e-05_r8, & + 8.9707271094923054e-05_r8, 8.8116463615445819e-05_r8, & + 8.7494636646356374e-05_r8, 8.7587811188495878e-05_r8, & + 8.8429383566085662e-05_r8, 8.9846994705501567e-05_r8, & + 9.1987124056801153e-05_r8, 9.8174365846524311e-05_r8, & + 0.00010461909681493733_r8, 0.00011566634019529381_r8, & + 0.00012513628341260204_r8, 0.00013375382181218381_r8, & + 0.00014293552794573266_r8, 0.00015648951146402188_r8, & + 0.00017265775607809125_r8, 0.00019032693026047964_r8, & + 0.00020879715210211995_r8, 0.00022355021368208487_r8, & + 0.00023599461494106005_r8, 0.00024584191324040659_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,75) / & + 4.0106626548177149e-05_r8, 3.9431311880077776e-05_r8, & + 3.53011895737334e-05_r8, 3.5269166996773639e-05_r8, & + 3.8886142371980694e-05_r8, 4.1850632587929319e-05_r8, & + 5.1527882068343357e-05_r8, 5.4331000839408355e-05_r8, & + 5.7333414582928881e-05_r8, 5.9243619811771347e-05_r8, & + 6.4408831225949424e-05_r8, 7.1027000320337082e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,75) / & + 4.254073660310594e-05_r8, 4.081246779055615e-05_r8, & + 3.8398914354200624e-05_r8, 3.8752753195290762e-05_r8, & + 4.0623664496652087e-05_r8, 4.2080897201764668e-05_r8, & + 4.5533432527516908e-05_r8, 4.5084068533067497e-05_r8, & + 4.4336961508400694e-05_r8, 4.3602973252289667e-05_r8, & + 4.4258778730557505e-05_r8, 4.1731446383979074e-05_r8, & + 4.3273956830048113e-05_r8, 4.2024129932255381e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,75) / & + 1.7404215382649539e-05_r8, 1.878344306120833e-05_r8, & + 2.1178418663985586e-05_r8, 3.1987284314195807e-05_r8, & + 3.3671906376254327e-05_r8, 3.8216449384969173e-05_r8, & + 4.4241186359229967e-05_r8, 4.851437039107611e-05_r8, & + 4.836391833945967e-05_r8, 4.8949328790959657e-05_r8, & + 5.4387711234661301e-05_r8, 6.4061930262930946e-05_r8, & + 6.5465477576003359e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,75) / & + 1.6692185985548396e-05_r8, 1.8263240221055963e-05_r8, & + 1.9722661531532443e-05_r8, 3.1553322475851477e-05_r8, & + 3.4342504155963671e-05_r8, 3.7520569203716618e-05_r8, & + 4.7637101647520816e-05_r8, 4.7068023674644158e-05_r8, & + 4.5328494862153768e-05_r8, 4.4182055705948438e-05_r8, & + 4.2299598440779986e-05_r8, 4.2498631058584375e-05_r8, & + 4.4229398194774333e-05_r8, 3.4589040669130041e-05_r8, & + 3.2463621114024183e-05_r8, 2.9928504344823166e-05_r8, & + 4.298439594283871e-05_r8, 5.9909732003621358e-05_r8, & + 8.0449848108607569e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,75) / & + 1.7559765672969237e-05_r8, 1.6742445203731902e-05_r8, & + 1.6928044013588314e-05_r8, 2.3350225389623671e-05_r8, & + 3.0198350638288723e-05_r8, 3.5026292375694354e-05_r8, & + 5.1745865827351093e-05_r8, 4.9485487106184223e-05_r8, & + 4.3766377825543171e-05_r8, 4.3509393098525369e-05_r8, & + 4.4856335400917819e-05_r8, 4.6806313036028385e-05_r8, & + 6.3375041617718693e-05_r8, 7.0649435170371723e-05_r8, & + 7.8832470880869744e-05_r8, 8.0213778201075058e-05_r8, & + 0.00010014119088933971_r8, 9.2333705867350896e-05_r8, & + 9.9873441368313423e-05_r8, 0.00011408370964034726_r8, & + 8.5285924129961202e-05_r8, 0.00017840239058202948_r8, & + 9.7728338200585887e-05_r8, 9.7781709830084269e-05_r8, & + 9.7780306418703347e-05_r8, 9.7771858449880432e-05_r8, & + 9.7771433255138617e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,75) / & + 2.9742886148384944e-05_r8, 2.973491539203586e-05_r8, & + 3.0742340716277123e-05_r8, 4.6935808409240798e-05_r8, & + 6.0095691381860799e-05_r8, 6.6172966726440926e-05_r8, & + 8.5335569048515579e-05_r8, 8.5021596139212157e-05_r8, & + 8.3928542961960183e-05_r8, 8.3828493657754402e-05_r8, & + 8.6059641424539199e-05_r8, 7.8104848912164125e-05_r8, & + 7.5755947481713905e-05_r8, 7.9255928610784255e-05_r8, & + 8.7703897058660858e-05_r8, 9.7601634255864805e-05_r8, & + 0.00010956305270363877_r8, 0.00010533141423942111_r8, & + 0.00011349638590049316_r8, 0.00011647440985022622_r8, & + 6.8089294760429896e-05_r8, 0.00015439916847197581_r8, & + 0.00010388346027430438_r8, 0.00010139285428418718_r8, & + 0.00010109064983528021_r8, 0.0001010582708314939_r8, & + 0.00010104787836088488_r8, 0.0001010402995775146_r8, & + 0.00010093744992521303_r8, 0.0001009251081202397_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,75) / & + 2.4636265824960693e-05_r8, 2.4008109832796373e-05_r8, & + 2.4403789180364938e-05_r8, 4.3493813588519802e-05_r8, & + 4.9682302162817658e-05_r8, 5.2368173142992142e-05_r8, & + 6.3954486513706049e-05_r8, 6.1068124721056554e-05_r8, & + 5.9969169362435651e-05_r8, 5.770538759011652e-05_r8, & + 6.1501695185345982e-05_r8, 7.3941453036863302e-05_r8, & + 9.9020293324214646e-05_r8, 0.0001069144503506915_r8, & + 0.00012953189691098198_r8, 0.00015764750314420768_r8, & + 0.00015710866487217138_r8, 0.00016644054835763993_r8, & + 0.00016888412245833222_r8, 0.00015254402227497484_r8, & + 8.6961928285828166e-05_r8, 0.00015830305274084749_r8, & + 0.00011769602186735526_r8, 0.00011594655723992841_r8, & + 0.00011389862438661075_r8, 0.00011382909122981314_r8, & + 0.00011381430093029748_r8, 0.000111972773949335_r8, & + 0.00010941339600837708_r8, 0.00010403249830823408_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,75) / & + 3.1593641461516676e-05_r8, 3.0664877375890104e-05_r8, & + 2.9369543161870654e-05_r8, 5.4471549271881946e-05_r8, & + 5.6189501492860565e-05_r8, 5.7492174478328525e-05_r8, & + 6.6589999217353196e-05_r8, 6.3082337513300745e-05_r8, & + 6.3384116568223798e-05_r8, 5.8954844278706895e-05_r8, & + 6.8445744435033717e-05_r8, 9.1906084199274015e-05_r8, & + 0.00013345800353473336_r8, 0.00014090946995061181_r8, & + 0.00016869098851460683_r8, 0.00020467950384675792_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,75) / & + 0.0001260183127370561_r8, 0.00012263655624784233_r8, & + 0.00010136410455961582_r8, 0.00011566581726082581_r8, & + 0.00010057775891169982_r8, 0.00010586713134299299_r8, & + 0.00011854814793688898_r8, 0.00011747513701345699_r8, & + 0.00012225295203275436_r8, 0.00013104629930538376_r8, & + 0.00012089986387735447_r8, 0.00010578773367289568_r8, & + 7.6784992927955692e-05_r8, 7.4182373751575169e-05_r8, & + 7.1477066884182607e-05_r8, 6.8619085607089331e-05_r8, & + 6.510414952771911e-05_r8, 7.1671617804619365e-05_r8, & + 7.3706852522278089e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,75) / & + 0.00011440382521676154_r8, 0.00011552407275544268_r8, & + 0.00010928941376567082_r8, 9.2619782633376457e-05_r8, & + 9.5336836468662805e-05_r8, 0.00010639800504463246_r8, & + 0.00012529125993902463_r8, 0.00011999882883312416_r8, & + 0.00012029682375987241_r8, 0.00011169227763127078_r8, & + 0.00010369045735219601_r8, 9.4761897666441569e-05_r8, & + 8.1636150112222188e-05_r8, 7.9264011495934554e-05_r8, & + 7.6606893153635176e-05_r8, 7.2792429044263106e-05_r8, & + 6.8472025219302657e-05_r8, 7.3714282462043846e-05_r8, & + 7.5871313913828802e-05_r8, 7.8135686353510874e-05_r8, & + 8.2804306331778712e-05_r8, 8.473658508200888e-05_r8, & + 8.9991177786493751e-05_r8, 9.1638853778721013e-05_r8, & + 9.7024122106446846e-05_r8, 9.9265686271317679e-05_r8, & + 0.00010428589940964317_r8, 0.00011413636886574527_r8, & + 0.00011539880875210845_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,75) / & + 9.8804846860648445e-05_r8, 0.0001132838167789353_r8, & + 0.00011210832072285321_r8, 9.0250347406901517e-05_r8, & + 0.00010609728901573475_r8, 0.00012117455103604263_r8, & + 0.00012309905662496177_r8, 0.00010771473686000334_r8, & + 8.9594142431801145e-05_r8, 8.1176404135592054e-05_r8, & + 7.9169739568908936e-05_r8, 7.5650500046411419e-05_r8, & + 7.1766028625052785e-05_r8, 7.2580520753858234e-05_r8, & + 7.3073502398489154e-05_r8, 7.3097038003177707e-05_r8, & + 7.1895796107438085e-05_r8, 7.3602803036710118e-05_r8, & + 7.5906308400692612e-05_r8, 7.8945433805588535e-05_r8, & + 8.2725048219165035e-05_r8, 8.5998345951625229e-05_r8, & + 9.0283067617721836e-05_r8, 9.401531179887738e-05_r8, & + 9.9337541681965953e-05_r8, 0.00010324855086892822_r8, & + 0.00010926170996136214_r8, 0.00011939915573143822_r8, & + 0.00012011450738282359_r8, 0.00011863235412802195_r8, & + 0.00011934109255463351_r8, 0.00011976941923436134_r8, & + 0.00012050000349432774_r8, 0.00012032524584072763_r8, & + 0.00012088622002004578_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,76) / & + 0.00016424857344110469_r8, 0.00016621685710602451_r8, & + 0.00016242820176636736_r8, 0.00015847052472595102_r8, & + 0.0001562248990384571_r8, 0.00015701245720362817_r8, & + 0.00015648092415425629_r8, 0.00016034445508499766_r8, & + 0.00016389706103736538_r8, 0.0001643673350081774_r8, & + 0.00017073611319963987_r8, 0.00016828208305099635_r8, & + 0.00017145583885657957_r8, 0.00017620593152831935_r8, & + 0.00017300727783935437_r8, 0.00016611588364397943_r8, & + 0.00017684790936736705_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,76) / & + 0.00016424857344110469_r8, 0.00016621685710602451_r8, & + 0.00016242820176636736_r8, 0.00015847052472595102_r8, & + 0.0001562248990384571_r8, 0.00015701245720362817_r8, & + 0.00015648092415425629_r8, 0.00016034445508499766_r8, & + 0.00016389706103736538_r8, 0.0001643673350081774_r8, & + 0.00017073611319963987_r8, 0.00016828208305099635_r8, & + 0.00017145583885657957_r8, 0.00017620593152831935_r8, & + 0.00017300727783935437_r8, 0.00016611588364397943_r8, & + 0.00017684790936736705_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,76) / & + 0.00016424857344110469_r8, 0.00016621685710602451_r8, & + 0.00016242820176636736_r8, 0.00015847052472595102_r8, & + 0.0001562248990384571_r8, 0.00015701245720362817_r8, & + 0.00015648092415425629_r8, 0.00016034445508499766_r8, & + 0.00016389706103736538_r8, 0.0001643673350081774_r8, & + 0.00017073611319963987_r8, 0.00016828208305099635_r8, & + 0.00017145583885657957_r8, 0.00017620593152831935_r8, & + 0.00017300727783935437_r8, 0.00016611588364397943_r8, & + 0.00017684790936736705_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,76) / & + 0.00015634906502634083_r8, 0.00015611285073842917_r8, & + 0.00015619437341852398_r8, 0.00015864000640865294_r8, & + 0.00015901724947361916_r8, 0.00016078950390370587_r8, & + 0.00015977589479656727_r8, 0.00016144047232178826_r8, & + 0.00016662017244995248_r8, 0.00016949945899844788_r8, & + 0.00017552056656029987_r8, 0.00017256463314487108_r8, & + 0.00017028543151778922_r8, 0.00017078706632324279_r8, & + 0.00016894978393081639_r8, 0.0001663296348726751_r8, & + 0.00016511139631812004_r8, 0.00016194656762309878_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,5,76) / & + 0.0001540511138616683_r8, 0.00015431206532774916_r8, & + 0.0001539507791498065_r8, 0.00015246981705040733_r8, & + 0.00016851490699272892_r8, 0.00016982169446978098_r8, & + 0.00016976382472015767_r8, 0.00017499006314946632_r8, & + 0.00018150835300888922_r8, 0.00018556683907587659_r8, & + 0.00019035986433108874_r8, 0.00019148105161673041_r8, & + 0.00019564731694350268_r8, 0.0001966434864141331_r8, & + 0.00019715165746250898_r8, 0.0001745139793792653_r8, & + 0.00016272673867500905_r8, 0.00016383370485930352_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,76) / & + 0.00014902708901948006_r8, 0.00014914680993298419_r8, & + 0.00014936702497966067_r8, 0.00015816175482421236_r8, & + 0.00016681400164276155_r8, 0.00016872012739499136_r8, & + 0.00016929341861818354_r8, 0.00017664229812252858_r8, & + 0.00018201038800712431_r8, 0.00018477599617823981_r8, & + 0.00018894485552641054_r8, 0.00019160120385317543_r8, & + 0.00019805178952833749_r8, 0.00020345501107183099_r8, & + 0.00020562637844588621_r8, 0.00020204047643300352_r8, & + 0.00019606970094595416_r8, 0.00016383370485930352_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,76) / & + 9.3716905114272182e-05_r8, 9.401000697962806e-05_r8, & + 8.8757562086357701e-05_r8, 8.848594854708863e-05_r8, & + 9.1934687951733467e-05_r8, 9.6046783436261253e-05_r8, & + 0.00010457094999087956_r8, 0.00012047704865614834_r8, & + 0.00013097491129625158_r8, 0.0001391292645016405_r8, & + 0.00014459079170600593_r8, 0.00014784194677563414_r8, & + 0.00015691025209706508_r8, 0.00016334586094480987_r8, & + 0.00016370104251933117_r8, 0.00016883535541394596_r8, & + 0.00017647779462517366_r8, 0.00017970484950454997_r8, & + 0.00018385776036189058_r8, 0.0001876568108703172_r8, & + 0.0001925976925219588_r8, 0.00019525810601248424_r8, & + 0.00020134483524262604_r8, 0.00020615706777310936_r8, & + 0.00020917629866772124_r8, 0.00021509907375409732_r8, & + 0.00022043861757669266_r8, 0.00023189617937457009_r8, & + 0.00024373860737997332_r8, 0.0002522470311946953_r8, & + 0.0002606442268554972_r8, 0.00026697734711781691_r8, & + 0.00027092625678799289_r8, 0.00027087823132920124_r8, & + 0.00027159023771288165_r8, 0.00026947824191868937_r8, & + 0.00026985197202923525_r8, 0.00026750231278217085_r8, & + 0.00026237714090488373_r8, 0.00026143578748823962_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,76) / & + 3.2477150961324165e-05_r8, 3.226994158659799e-05_r8, & + 3.1285528611846444e-05_r8, 2.7416118870340566e-05_r8, & + 2.9115054307843295e-05_r8, 3.1124148298693708e-05_r8, & + 3.9217609419679367e-05_r8, 5.1258864308705318e-05_r8, & + 6.074456410721828e-05_r8, 7.0682622521253769e-05_r8, & + 7.8049569607812575e-05_r8, 8.1930854574484321e-05_r8, & + 8.6171585625419102e-05_r8, 9.3716343968055653e-05_r8, & + 9.8600360491911832e-05_r8, 0.00010447588116368274_r8, & + 0.00011665329024450825_r8, 0.00012556560215545132_r8, & + 0.00013563353062581677_r8, 0.00014424852946246024_r8, & + 0.00015276275270091562_r8, 0.00015876993439526031_r8, & + 0.00016717856539184099_r8, 0.00017461192614320103_r8, & + 0.00018070968358707218_r8, 0.00018656034067191443_r8, & + 0.00019300711331757839_r8, 0.00020662040329789649_r8, & + 0.00022123503147650157_r8, 0.00023190401008657167_r8, & + 0.00024126738304818468_r8, 0.00024828840253646634_r8, & + 0.00025569916863161363_r8, 0.00025968259615645445_r8, & + 0.00026161640733330982_r8, 0.00026246058236262091_r8, & + 0.00026303378292431769_r8, 0.00026665961379412407_r8, & + 0.00026470158276006313_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,76) / & + 1.0102126700092845e-05_r8, 1.0158952410268962e-05_r8, & + 1.1398611377529809e-05_r8, 1.1426248995419215e-05_r8, & + 1.1975361874861797e-05_r8, 1.2703313704375124e-05_r8, & + 1.5700148980344817e-05_r8, 1.8428201901102113e-05_r8, & + 2.1304996492880845e-05_r8, 2.5056566561520049e-05_r8, & + 2.8875821295887917e-05_r8, 2.9961711425736515e-05_r8, & + 3.0930062857778095e-05_r8, 3.5015734327223156e-05_r8, & + 3.8685673424119623e-05_r8, 4.2832257801506379e-05_r8, & + 5.4467385760901892e-05_r8, 6.7063576891647508e-05_r8, & + 8.1213835124099591e-05_r8, 9.50203519018343e-05_r8, & + 0.00010987105659001507_r8, 0.00011997106794625323_r8, & + 0.00013351899002075258_r8, 0.000146622978306764_r8, & + 0.0001558519454511974_r8, 0.00016278523286857906_r8, & + 0.00016957784425389942_r8, 0.00018253116090879073_r8, & + 0.00019916388931782433_r8, 0.00021330439128107705_r8, & + 0.00022432677247665283_r8, 0.00023211656984093183_r8, & + 0.00024144121247183359_r8, 0.00024896146174552654_r8, & + 0.00025363222124904469_r8, 0.00025651727060947634_r8, & + 0.00025906613465532179_r8, 0.00026250219228864092_r8, & + 0.00026849233009615836_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,76) / & + 8.1955299274375505e-06_r8, 7.9416307428620748e-06_r8, & + 8.3399164893274117e-06_r8, 8.6580136874351989e-06_r8, & + 9.1216811955438061e-06_r8, 9.9829784604567788e-06_r8, & + 1.1553780298527941e-05_r8, 1.2862031881260491e-05_r8, & + 1.3798070472310144e-05_r8, 1.5146585479335727e-05_r8, & + 1.7613378507695817e-05_r8, 2.0112216937004849e-05_r8, & + 2.3198307036511173e-05_r8, 2.6692303299365767e-05_r8, & + 3.0503400503452193e-05_r8, 3.7558992311021881e-05_r8, & + 5.076793945273362e-05_r8, 6.8602356831864964e-05_r8, & + 8.6616201364909297e-05_r8, 0.00010569356380316575_r8, & + 0.00012498153166627454_r8, 0.00013880045561056516_r8, & + 0.0001494122147913772_r8, 0.00015939438759472453_r8, & + 0.00016418285964154601_r8, 0.00016378654879557343_r8, & + 0.00016318798327840311_r8, 0.00016552512363433579_r8, & + 0.0001697958456477356_r8, 0.00018546006588504289_r8, & + 0.00020373992968488423_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,76) / & + 8.1358671096679959e-06_r8, 7.8606040811474401e-06_r8, & + 8.5155221874047777e-06_r8, 8.6559951764696443e-06_r8, & + 9.1606592889388131e-06_r8, 1.0803025263734162e-05_r8, & + 1.2966606301052274e-05_r8, 1.5305872735518744e-05_r8, & + 1.7226364975893584e-05_r8, 1.9189842118742586e-05_r8, & + 2.1197215349037001e-05_r8, 2.3578983255098578e-05_r8, & + 2.7147991755471078e-05_r8, 3.1176622156239485e-05_r8, & + 3.5654477016619402e-05_r8, 4.1918239598420837e-05_r8, & + 5.7327285125216042e-05_r8, 7.3969937710255401e-05_r8, & + 9.148543729974612e-05_r8, 0.00011133188010638542_r8, & + 0.00012720265988696493_r8, 0.0001419881281917149_r8, & + 0.00015171149764231615_r8, 0.00016108883397680527_r8, & + 0.00016459375850621483_r8, 0.00016498638272844453_r8, & + 0.00016270311608545176_r8, 0.00016042599588191966_r8, & + 0.00015934501955507295_r8, 0.00017822050534367303_r8, & + 0.00019946372515974262_r8, 0.00021389365999526438_r8, & + 0.00022575740429933087_r8, 0.0002352651209491015_r8, & + 0.00024577241679443952_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,76) / & + 8.2196771191985208e-06_r8, 8.26633904553544e-06_r8, & + 8.6813773903779003e-06_r8, 8.3083814808272087e-06_r8, & + 8.706290632655943e-06_r8, 1.1390402863826242e-05_r8, & + 1.2878350152219222e-05_r8, 1.60515624684187e-05_r8, & + 1.8737132386699541e-05_r8, 2.1671078968229714e-05_r8, & + 2.4800617451115745e-05_r8, 2.6889442764291573e-05_r8, & + 3.0548946104124209e-05_r8, 3.5552584970832862e-05_r8, & + 4.1050551154642584e-05_r8, 4.7436097294150748e-05_r8, & + 6.3525194498990765e-05_r8, 7.9346149619064177e-05_r8, & + 9.632895607248239e-05_r8, 0.00011445195098151815_r8, & + 0.0001304062819761817_r8, 0.00014386189143637601_r8, & + 0.00015338405972314007_r8, 0.00016163636784798273_r8, & + 0.00016521444734509308_r8, 0.00016567479577714973_r8, & + 0.00016271241582753264_r8, 0.00015717967236565192_r8, & + 0.00014591197411514427_r8, 0.00015637747736109599_r8, & + 0.00017975222820067649_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,76) / & + 7.7767905603689501e-06_r8, 8.2608313975048274e-06_r8, & + 8.210797993639188e-06_r8, 8.4106277052374153e-06_r8, & + 9.7826919342976517e-06_r8, 1.2223708200988579e-05_r8, & + 1.459817479828424e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,76) / & + 8.9475544171402075e-06_r8, 9.023826154723437e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,76) / & + 4.0006060956736989e-05_r8, 3.0326629849353317e-05_r8, & + 1.8514209591574161e-05_r8, 1.5627235297421949e-05_r8, & + 1.2367103180565648e-05_r8, 1.2900081364127873e-05_r8, & + 9.8849728490185054e-06_r8, 1.4824041366209705e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,76) / & + 3.278364341885868e-05_r8, 3.0077723233325892e-05_r8, & + 2.0015800984147421e-05_r8, 1.542934960913634e-05_r8, & + 1.4090952046709039e-05_r8, 1.2771385238005528e-05_r8, & + 1.2026602797561281e-05_r8, 1.3453626004910827e-05_r8, & + 1.4805831619345671e-05_r8, 1.7871868857998487e-05_r8, & + 2.2801865651076951e-05_r8, 3.0684728703162386e-05_r8, & + 4.4966190400037583e-05_r8, 5.8626062739658091e-05_r8, & + 6.8243798255092754e-05_r8, 7.8100585741399707e-05_r8, & + 9.7361783232932374e-05_r8, 0.00011457789539405851_r8, & + 0.00012959331963086621_r8, 0.0001379667492873382_r8, & + 0.00013854048182677841_r8, 0.00013078423318554111_r8, & + 0.00011875973028166459_r8, 0.00010819389280008923_r8, & + 9.7885384981748861e-05_r8, 9.0039059926937405e-05_r8, & + 8.4973295616906755e-05_r8, 8.4319762991307061e-05_r8, & + 8.9775359111632616e-05_r8, 0.00010207960625533642_r8, & + 0.00011916662549875124_r8, 0.0001348575308571428_r8, & + 0.00014277075761194723_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,76) / & + 1.5026506299521059e-05_r8, 1.7007145102432401e-05_r8, & + 1.427780305035411e-05_r8, 1.1697854113361495e-05_r8, & + 1.1137797209295724e-05_r8, 1.0707575529916748e-05_r8, & + 9.1085932261226098e-06_r8, 9.8703522409950443e-06_r8, & + 1.0550387246865419e-05_r8, 1.2611748740166274e-05_r8, & + 1.6121562942421476e-05_r8, 2.1042309117169364e-05_r8, & + 3.1598439722694791e-05_r8, 4.3955548277771263e-05_r8, & + 5.5600673067526778e-05_r8, 6.7308195932263415e-05_r8, & + 8.8984956683261542e-05_r8, 0.00011052181444697207_r8, & + 0.00012916159449024274_r8, 0.0001376574230051073_r8, & + 0.00014111454760866809_r8, 0.00013696296172271079_r8, & + 0.00012678940927558159_r8, 0.00011678751216064991_r8, & + 0.00010856740057466901_r8, 0.00010306593577509938_r8, & + 9.8297454773343818e-05_r8, 9.4100255698213291e-05_r8, & + 0.00010105508368020556_r8, 0.00010941088628792045_r8, & + 0.00012080227802360472_r8, 0.00012800209192627239_r8, & + 0.00013348774505413032_r8, 0.00014084565181205733_r8, & + 0.00015682109565044074_r8, 0.00016387308633632639_r8, & + 0.00017170182506891113_r8, 0.00018319124282501864_r8, & + 0.00020960556558078045_r8, 0.00024842734932155119_r8, & + 0.00029202101147834714_r8, 0.00032776159490724275_r8, & + 0.00033243996835363222_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,76) / & + 1.0071301275108863e-05_r8, 1.0768373234586523e-05_r8, & + 9.0118849812680678e-06_r8, 8.8879325072541162e-06_r8, & + 8.764703575705022e-06_r8, 9.0127227198813006e-06_r8, & + 7.3582430272099477e-06_r8, 6.3847456914656368e-06_r8, & + 5.6948309901158369e-06_r8, 6.2595577513006136e-06_r8, & + 7.5719391246835686e-06_r8, 1.0381563098072884e-05_r8, & + 1.409297511474473e-05_r8, 1.9920547114927079e-05_r8, & + 2.8199912775143442e-05_r8, 3.8214588900106418e-05_r8, & + 6.0535654848740618e-05_r8, 8.487909935862247e-05_r8, & + 0.00010996089609898852_r8, 0.00012559638109155413_r8, & + 0.00013513466838245794_r8, 0.00013109812484234952_r8, & + 0.00011930537462184923_r8, 0.00010731917426027222_r8, & + 9.6171778848891127e-05_r8, 8.7718353488106614e-05_r8, & + 8.4009726383783352e-05_r8, 8.7828409023748262e-05_r8, & + 9.99697455920332e-05_r8, 0.00011260421274817163_r8, & + 0.00012698061565997258_r8, 0.00013839449793627876_r8, & + 0.00014905602399954528_r8, 0.00015676991015473117_r8, & + 0.00016421513259543406_r8, 0.00017092265493400639_r8, & + 0.00017861369997720109_r8, 0.00019089890356472803_r8, & + 0.00021103620618585702_r8, 0.00024865158104467815_r8, & + 0.00029179347200193595_r8, 0.00032801673503869201_r8, & + 0.00034286050966016884_r8, 0.0003497243467411681_r8, & + 0.00035373834835143074_r8 & + / +data saar_ref(:,28,76) / & + 7.1670384634776034e-06_r8, 7.2108096402826717e-06_r8, & + 6.6897568602930265e-06_r8, 7.150211636076582e-06_r8, & + 6.4776584385938794e-06_r8, 6.2725996097877852e-06_r8, & + 5.53991170612505e-06_r8, 4.7970895935922658e-06_r8, & + 4.8400277321850535e-06_r8, 5.414848684515773e-06_r8, & + 6.0497880839443555e-06_r8, 7.4939227085055975e-06_r8, & + 8.578306880565259e-06_r8, 1.1128376595991427e-05_r8, & + 1.4755019234103031e-05_r8, 1.9208617203020591e-05_r8, & + 3.336345050068498e-05_r8, 5.2037030183972092e-05_r8, & + 7.8173443762580229e-05_r8, 0.00010192986030171511_r8, & + 0.00011437244229856744_r8, 0.00011403045006758615_r8, & + 0.00010810424819682271_r8, 0.00010056435026632276_r8, & + 9.2135122051354671e-05_r8, 8.5446893271126835e-05_r8, & + 8.4427205489579898e-05_r8, 9.5239489451391649e-05_r8, & + 0.00011059492204088461_r8, 0.00012820118073310314_r8, & + 0.00014447952973244658_r8, 0.00015544672110063743_r8, & + 0.00016578697449472229_r8, 0.00017216021517615796_r8, & + 0.00017700010652144088_r8, 0.00018097033790635822_r8, & + 0.00018712888917299199_r8, 0.00019805476844377459_r8, & + 0.00021407808530817825_r8, 0.0002460711783049988_r8, & + 0.00028281279023389689_r8, 0.00031665823671925367_r8, & + 0.00032905609786158829_r8, 0.00032914902199913758_r8, & + 0.0003284029535365223_r8 & + / +data saar_ref(:,29,76) / & + 4.7654800089969813e-06_r8, 4.9928363407068795e-06_r8, & + 5.4340845109219252e-06_r8, 5.1657977901092321e-06_r8, & + 4.6026323963071079e-06_r8, 4.7192777686941161e-06_r8, & + 5.0082748213879538e-06_r8, 5.5396462978713826e-06_r8, & + 5.6380604179575252e-06_r8, 5.794964047937691e-06_r8, & + 6.1211947568696724e-06_r8, 7.2125743027562542e-06_r8, & + 8.7588326545237874e-06_r8, 9.7429262634574016e-06_r8, & + 1.1368089582164617e-05_r8, 1.3452367003844854e-05_r8, & + 2.1114032845898942e-05_r8, 3.4215898423468267e-05_r8, & + 5.4931060307098128e-05_r8, 7.9133839417851149e-05_r8, & + 9.4009109497254729e-05_r8, 9.8688485871906891e-05_r8, & + 9.5498867702983845e-05_r8, 9.2038090187781602e-05_r8, & + 8.9232781170595917e-05_r8, 8.7482462587434761e-05_r8, & + 8.8744323033374236e-05_r8, 0.00010373414991515906_r8, & + 0.0001215871646112321_r8, 0.00014202661621505892_r8, & + 0.00015903256426518997_r8, 0.00017038348437430772_r8, & + 0.00018050090354457856_r8, 0.00018738198042831753_r8, & + 0.00019264065567807244_r8, 0.00019977818277238282_r8, & + 0.00020982301217327667_r8, 0.00022368201385486005_r8, & + 0.00024482140503408374_r8, 0.0002714559264227633_r8, & + 0.00030143049089415339_r8, 0.00032566537210770185_r8, & + 0.0003360065491415717_r8, 0.00033838223242228631_r8, 0.000336893843622477_r8 & + / +data saar_ref(:,30,76) / & + 4.91037228149282e-06_r8, 4.9759352188914036e-06_r8, & + 5.3099690562040345e-06_r8, 5.7157018522575663e-06_r8, & + 5.8108862019880791e-06_r8, 6.0212482063049706e-06_r8, & + 7.0199223999637744e-06_r8, 6.5525004235314097e-06_r8, & + 6.5988505860376741e-06_r8, 6.7350105874489879e-06_r8, & + 7.1451310621548764e-06_r8, 8.5629488397052502e-06_r8, & + 1.1460773308823234e-05_r8, 1.1751921373774834e-05_r8, & + 1.2699063681481024e-05_r8, 1.4626421752643565e-05_r8, & + 2.1105359771296513e-05_r8, 3.3031764717205984e-05_r8, & + 5.2652135736131323e-05_r8, 7.577179731399944e-05_r8, & + 8.7598223334735319e-05_r8, 9.1171569881358735e-05_r8, & + 9.0411562767636025e-05_r8, 8.9318274768227201e-05_r8, & + 8.8236678336938134e-05_r8, 8.7819494802914415e-05_r8, & + 8.9303644055866509e-05_r8, 0.00010095636296639232_r8, & + 0.00011531571800541626_r8, 0.00013382169548916507_r8, & + 0.00014853968852581931_r8, 0.00016045574584117991_r8, & + 0.00016912278742977141_r8, 0.00017611524270967974_r8, & + 0.00018324651687913322_r8, 0.00019721387097425128_r8, & + 0.000213040767028784_r8, 0.00022879459463457264_r8, & + 0.00024751793005484536_r8, 0.00027127273225301189_r8, & + 0.00030573472017799981_r8, 0.00033259825602066943_r8, & + 0.0003480340324404274_r8, 0.00035281088062159908_r8, 9e90_r8 & + / +data saar_ref(:,31,76) / & + 7.9446209970457736e-06_r8, 7.4261220955912385e-06_r8, & + 7.6831235122153013e-06_r8, 8.254502729887563e-06_r8, & + 8.6757027359527275e-06_r8, 8.4868500791729894e-06_r8, & + 8.7266027814740668e-06_r8, 8.6797678307101879e-06_r8, & + 8.928576619723879e-06_r8, 9.3553608589014602e-06_r8, & + 9.6633585023804263e-06_r8, 1.0552555430084907e-05_r8, & + 1.2773748097017547e-05_r8, 1.3499687519262491e-05_r8, & + 1.3970072853439054e-05_r8, 1.654163827673627e-05_r8, & + 2.4277114023185735e-05_r8, 3.6692282953235617e-05_r8, & + 5.669680442717094e-05_r8, 8.0241829363550946e-05_r8, & + 9.4040421676321533e-05_r8, 9.5197457494681912e-05_r8, & + 9.1516159802922681e-05_r8, 8.9014594034951232e-05_r8, & + 8.7634312193675854e-05_r8, 8.6910830520315192e-05_r8, & + 8.7468295843629186e-05_r8, 9.5199948369514926e-05_r8, & + 0.00010477455905895986_r8, 0.00011722354224427377_r8, & + 0.00012750192153519448_r8, 0.00014239667739862302_r8, & + 0.00015310351794771556_r8, 0.00016263830111221987_r8, & + 0.00017481730401847808_r8, 0.00018986557507770708_r8, & + 0.00020587916846266603_r8, 0.0002197601357011816_r8, & + 0.00023253670404691076_r8, 0.00024610807082009592_r8, & + 0.00028552174983315683_r8, 0.00032154477368973061_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,32,76) / & + 1.3360604007265604e-05_r8, 1.2343462759637041e-05_r8, & + 1.3982390310334076e-05_r8, 1.3125592510918981e-05_r8, & + 1.3596717756285127e-05_r8, 1.3100983070539593e-05_r8, & + 1.1561818801030543e-05_r8, 1.2834183889399198e-05_r8, & + 1.3802160408561968e-05_r8, 1.5020201563192229e-05_r8, & + 1.6304461027742931e-05_r8, 1.7147218541146026e-05_r8, & + 1.9718651532796484e-05_r8, 2.3158829464455939e-05_r8, & + 2.7021628430132498e-05_r8, 3.1797738667459116e-05_r8, & + 4.3068715594327245e-05_r8, 5.7240724803920998e-05_r8, & + 7.3052414764480226e-05_r8, 8.8886108595963753e-05_r8, & + 9.7009702684952765e-05_r8, 9.5911463121324937e-05_r8, & + 9.2141887622630993e-05_r8, 8.87970614474543e-05_r8, & + 8.726281213145309e-05_r8, 8.7023060653705769e-05_r8, & + 8.7719990178057188e-05_r8, 9.2440076996340418e-05_r8, & + 9.93721314304577e-05_r8, 0.00010761229026838527_r8, & + 0.00011800274234587124_r8, 0.00013080018371599501_r8, & + 0.00014195084744914575_r8, 0.0001544279907040996_r8, & + 0.00016960834711811585_r8, 0.00018416968940478638_r8, & + 0.00020117957401723672_r8, 0.00021940554238112514_r8, & + 0.00023220676131760769_r8, 0.00023984155823232817_r8, & + 0.00025888332046158984_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,76) / & + 1.7554043768845578e-05_r8, 1.6959049801409004e-05_r8, & + 2.0295439393552587e-05_r8, 2.0639091422882895e-05_r8, & + 2.5375496125658792e-05_r8, 2.6445113099792723e-05_r8, & + 2.8127552668388068e-05_r8, 3.388020660233256e-05_r8, & + 3.5398142066212807e-05_r8, 3.8861118116918345e-05_r8, & + 4.1599912764717798e-05_r8, 4.6730766187925383e-05_r8, & + 5.876474850051013e-05_r8, 6.9906272258086089e-05_r8, & + 7.938544003746587e-05_r8, 8.5950563005238542e-05_r8, & + 9.1434547195346535e-05_r8, 9.2125371685579263e-05_r8, & + 9.1475007475545466e-05_r8, 9.0440079723301198e-05_r8, & + 8.9579130220458159e-05_r8, 8.8210614500082069e-05_r8, & + 8.7406512723161328e-05_r8, 8.7309339433523105e-05_r8, & + 8.8002024144543734e-05_r8, 8.94297265618324e-05_r8, & + 9.1648714941931084e-05_r8, 9.7367443241518444e-05_r8, & + 0.0001028467970945456_r8, 0.00011313965859657942_r8, & + 0.00012385835305319228_r8, 0.00013307780868881654_r8, & + 0.00014224653326854988_r8, 0.00015755142422152471_r8, & + 0.00017434142122865485_r8, 0.00019291520952539521_r8, & + 0.00021151737835750102_r8, 0.00022641180371776125_r8, & + 0.00024026180212883411_r8, 0.00024561898614699221_r8, & + 0.00027660634989758572_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,76) / & + 1.5439350308381233e-05_r8, 1.5398728468517981e-05_r8, & + 1.5612847625657071e-05_r8, 2.092617860134795e-05_r8, & + 3.0614121263644188e-05_r8, 3.9918964899941895e-05_r8, & + 5.819244345878145e-05_r8, 6.0365694838644882e-05_r8, & + 5.8069374947039694e-05_r8, 6.1407830934217785e-05_r8, & + 6.6647458410563117e-05_r8, 5.1788662415300766e-05_r8, & + 5.9859001618661908e-05_r8, 6.8747222916983535e-05_r8, & + 7.8713438074581578e-05_r8, 7.9148288791018424e-05_r8, & + 9.923947830564359e-05_r8, 9.4605295265741971e-05_r8, & + 9.0473794612031636e-05_r8, 8.8722776727330181e-05_r8, & + 8.8490401189683405e-05_r8, 8.8107815103259996e-05_r8, & + 8.8185005002285461e-05_r8, 8.9238467956681883e-05_r8, & + 9.0219036668536532e-05_r8, 9.210670138537727e-05_r8, & + 9.5055583302977226e-05_r8, 0.00010086153087592727_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,76) / & + 1.3879412406229606e-05_r8, 1.3553793475362416e-05_r8, & + 1.320335408214367e-05_r8, 2.0636363688251e-05_r8, & + 2.9079995994245911e-05_r8, 4.061309696518672e-05_r8, & + 6.6712656646011905e-05_r8, 6.6290663704659351e-05_r8, & + 6.2440861244122167e-05_r8, 6.3392324301570616e-05_r8, & + 6.6420159872329098e-05_r8, 4.9344478822695429e-05_r8, & + 5.6169209656407886e-05_r8, 6.5783526698607868e-05_r8, & + 7.4660352950103314e-05_r8, 7.4755173826601914e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,76) / & + 8.5433347035275933e-06_r8, 8.8094164288152774e-06_r8, & + 1.2055260650612155e-05_r8, 1.5402680870056637e-05_r8, & + 1.7537706123516356e-05_r8, 1.8540676173122365e-05_r8, & + 1.9137695367891472e-05_r8, 1.8660210373303431e-05_r8, & + 1.8094459066492377e-05_r8, 1.9248430296922692e-05_r8, & + 2.0793781841210452e-05_r8, 2.4432994682981437e-05_r8, & + 2.9770085538536667e-05_r8, 3.6200012253184455e-05_r8, & + 4.6340191233784322e-05_r8, 5.285801589360732e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,76) / & + 1.250519028620726e-05_r8, 1.3118376269149585e-05_r8, & + 1.5151184697953901e-05_r8, 1.8937745789322055e-05_r8, & + 2.018261555297353e-05_r8, 2.2583323829531258e-05_r8, & + 2.6152079672674501e-05_r8, 2.7073973632996261e-05_r8, & + 2.795549748637617e-05_r8, 2.9906619624969008e-05_r8, & + 3.1443179486449328e-05_r8, 3.7241862188078282e-05_r8, & + 4.6720798230574853e-05_r8, 5.2195692189068586e-05_r8, & + 5.786099837535713e-05_r8, 6.2620234802965015e-05_r8, & + 7.2546970090422292e-05_r8, 7.6696824690807207e-05_r8, & + 7.8307327301354972e-05_r8, 7.9067241536031349e-05_r8, & + 8.0583144341121965e-05_r8, 8.220511595766528e-05_r8, & + 8.5073395008724084e-05_r8, 8.7321019437346074e-05_r8, & + 8.7522415984423848e-05_r8, 8.7708273198387437e-05_r8, & + 8.9487169523021643e-05_r8, 9.2650606586261339e-05_r8, & + 9.6704551126929278e-05_r8, 0.00010096132852392447_r8, & + 0.00010578981678069546_r8, 0.00010215889989561504_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,76) / & + 1.4600023728694388e-05_r8, 1.5184954045283705e-05_r8, & + 1.4810591131667857e-05_r8, 1.9409331425585049e-05_r8, & + 2.1696935710972688e-05_r8, 2.4515478358747824e-05_r8, & + 3.2257782061397521e-05_r8, 3.3702269609332334e-05_r8, & + 3.5418815950160958e-05_r8, 3.7746460178623655e-05_r8, & + 4.0081806084779022e-05_r8, 4.0937441963851372e-05_r8, & + 4.2693601762731238e-05_r8, 4.6628252140587294e-05_r8, & + 5.0798350377565507e-05_r8, 5.5871657327363318e-05_r8, & + 6.8316811380192798e-05_r8, 7.6083632218565582e-05_r8, & + 8.1902739040684745e-05_r8, 8.24173008336139e-05_r8, & + 8.3268266883776095e-05_r8, 8.6877277131609871e-05_r8, & + 8.8111653501987263e-05_r8, 9.0481852745474212e-05_r8, & + 9.0301827881343694e-05_r8, 9.0799200058700179e-05_r8, & + 9.5529326619600587e-05_r8, 9.5866756380001296e-05_r8, & + 0.00010065268512988243_r8, 0.0001054028980832526_r8, & + 0.00010969442359204399_r8, 0.00010220728072792804_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,76) / & + 2.4796630486973784e-05_r8, 2.3818170775097715e-05_r8, & + 2.3689650841881697e-05_r8, 3.5860953095363651e-05_r8, & + 4.4955787405417526e-05_r8, 4.9103160743294693e-05_r8, & + 5.6392748964190097e-05_r8, 5.8548690258902264e-05_r8, & + 6.2096838793739418e-05_r8, 6.8239006895451829e-05_r8, & + 7.494029120288514e-05_r8, 7.6520508180647064e-05_r8, & + 8.0981728900877999e-05_r8, 9.4919792579911997e-05_r8, & + 0.00010605229589695335_r8, 0.00011602891886354098_r8, & + 0.00013269740644254705_r8, 0.00011601338093915865_r8, & + 0.00011341209948722275_r8, 0.0001266589697856074_r8, & + 8.0570111210686042e-05_r8, 0.00016794194660298343_r8, & + 9.7705789231177875e-05_r8, 9.7739554282682287e-05_r8, & + 9.774454008829988e-05_r8, 9.7762172850156961e-05_r8, & + 9.7770837290723714e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,76) / & + 3.4526234905461003e-05_r8, 3.3508204715121623e-05_r8, & + 3.2799863984479625e-05_r8, 5.4714799775238595e-05_r8, & + 6.5727178014420088e-05_r8, 6.9404516344942214e-05_r8, & + 7.9984339311304435e-05_r8, 8.0452046738753555e-05_r8, & + 8.0823703980475187e-05_r8, 8.4153385130693713e-05_r8, & + 8.9447433555827876e-05_r8, 8.4406600747263273e-05_r8, & + 8.2129765070170857e-05_r8, 8.3617364044519894e-05_r8, & + 9.040907687560001e-05_r8, 9.9039899035068273e-05_r8, & + 0.00011652101172609372_r8, 0.00010931489934035265_r8, & + 0.00011449722643562894_r8, 0.00012187196433402711_r8, & + 7.1876928508492668e-05_r8, 0.00016700032516667499_r8, & + 0.00010095968184689873_r8, 0.00010094260390580614_r8, & + 0.00010094096202858445_r8, 0.00010092587603750251_r8, & + 0.00010091363141760501_r8, 0.00010093618157309022_r8, & + 0.00010096164480951948_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,76) / & + 2.6494128025359032e-05_r8, 2.5734162791068448e-05_r8, & + 2.5822669165510513e-05_r8, 4.3409747712898484e-05_r8, & + 4.817375472582423e-05_r8, 5.0405784094523978e-05_r8, & + 6.1857198261902353e-05_r8, 5.8671843694216176e-05_r8, & + 5.8019430547085981e-05_r8, 5.6353121729105746e-05_r8, & + 5.9156582952893796e-05_r8, 7.0789315629919989e-05_r8, & + 9.356146086469689e-05_r8, 0.00010091746626248325_r8, & + 0.00011859868876152303_r8, 0.00014948353873114266_r8, & + 0.00015830302828230124_r8, 0.00016604235768063764_r8, & + 0.00016173467309025377_r8, 0.00015260387535234634_r8, & + 7.5542918770971659e-05_r8, 0.00015856719590357613_r8, & + 0.00010411032643524725_r8, 0.00010422794822019535_r8, & + 0.0001041925607025184_r8, 0.00010417392394017748_r8, & + 0.00010417354332489679_r8, 0.00010416838226270419_r8, & + 0.00010406183995730513_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,76) / & + 2.4078864059503996e-05_r8, 2.3527865755593115e-05_r8, & + 2.5900509929961371e-05_r8, 4.5925512076742234e-05_r8, & + 4.8630086801038308e-05_r8, 5.085803151688055e-05_r8, & + 5.8330716745682119e-05_r8, 5.6654219960991394e-05_r8, & + 5.7494628057801366e-05_r8, 5.8581022029228797e-05_r8, & + 5.747621740157417e-05_r8, 8.2484377442913924e-05_r8, & + 0.00012519978861860276_r8, 0.00013477495331667229_r8, & + 0.0001634421680346987_r8, 0.00020069119341223455_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,76) / & + 0.00012652936294006684_r8, 0.00012321592111193844_r8, & + 0.00010304950673755916_r8, 0.00011791929474106271_r8, & + 0.00010530687580896643_r8, 0.00010780755528531361_r8, & + 0.00012102775586972612_r8, 0.00012061707109140356_r8, & + 0.00012588980695540347_r8, 0.00013263679147386981_r8, & + 0.00012241123726538337_r8, 0.00010562682774182003_r8, & + 7.6114999165951281e-05_r8, 7.248584868375162e-05_r8, & + 7.1994584130795399e-05_r8, 6.8898586476269678e-05_r8, & + 6.5396400932131443e-05_r8, 7.1894848642634003e-05_r8, & + 7.3806692607907432e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,76) / & + 0.00011608091293737679_r8, 0.00011758327482935464_r8, & + 0.00011039476768664867_r8, 9.6808305353535031e-05_r8, & + 0.00010071799751733991_r8, 0.00011125468931680411_r8, & + 0.0001262126619599993_r8, 0.00012159137656808576_r8, & + 0.00011957060064304205_r8, 0.00011126969584695045_r8, & + 0.00010356312762472471_r8, 9.488874643201806e-05_r8, & + 8.1804359293677402e-05_r8, 7.8980268817444005e-05_r8, & + 7.6785751820650675e-05_r8, 7.3061662312346023e-05_r8, & + 6.8421579451573815e-05_r8, 7.3734417469208748e-05_r8, & + 7.5733507979225905e-05_r8, 7.8236744555245177e-05_r8, & + 8.3166891266130475e-05_r8, 8.514472568282386e-05_r8, & + 9.0225503173660193e-05_r8, 9.1661932514490351e-05_r8, & + 9.6328853945752696e-05_r8, 9.8924667200628828e-05_r8, & + 0.00010405155282231346_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,76) / & + 9.9024247248097314e-05_r8, 0.0001134525208934185_r8, & + 0.00011215492155099124_r8, 9.1665179078674697e-05_r8, & + 0.00010950149633105936_r8, 0.00012379320785606011_r8, & + 0.00012397273581049153_r8, 0.00010670549575655736_r8, & + 8.8673366993377768e-05_r8, 8.0673949574476604e-05_r8, & + 7.8835454435020552e-05_r8, 7.5951017124362345e-05_r8, & + 7.2603011887434297e-05_r8, 7.3066003209511251e-05_r8, & + 7.3191980146351571e-05_r8, 7.3368788901367063e-05_r8, & + 7.2016107877844769e-05_r8, 7.373228715978684e-05_r8, & + 7.6075574536276389e-05_r8, 7.9092425021723648e-05_r8, & + 8.3009471099938523e-05_r8, 8.624222955094236e-05_r8, & + 9.0646754686243836e-05_r8, 9.4360183216691233e-05_r8, & + 9.94860882758378e-05_r8, 0.00010393116346933791_r8, & + 0.00011110761314462222_r8, 0.00011923885440817289_r8, & + 0.00012006129808459256_r8, 0.00011863241182042349_r8, & + 0.0001194223863322437_r8, 0.00011979676253358772_r8, & + 0.00012050163882242939_r8, 0.00012034480736565609_r8, & + 0.0001208960520343314_r8, 0.00012135741737954726_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,77) / & + 0.00016555652539815125_r8, 0.00017023968581779305_r8, & + 0.0001558490828334624_r8, 0.00014859801534503097_r8, & + 0.00014917344977820278_r8, 0.0001505341295498873_r8, & + 0.00015350765996015526_r8, 0.00015609390833974719_r8, & + 0.00015781843342373172_r8, 0.00015861696550429304_r8, & + 0.00015695521852531461_r8, 0.00015424392644895174_r8, & + 0.00016112028976015443_r8, 0.00016244162614621789_r8, & + 0.000161346369824866_r8, 0.000158634514687648_r8, & + 0.00016002499891581612_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,77) / & + 0.00016555652539815125_r8, 0.00017023968581779305_r8, & + 0.0001558490828334624_r8, 0.00014859801534503097_r8, & + 0.00014917344977820278_r8, 0.0001505341295498873_r8, & + 0.00015350765996015526_r8, 0.00015609390833974719_r8, & + 0.00015781843342373172_r8, 0.00015861696550429304_r8, & + 0.00015695521852531461_r8, 0.00015424392644895174_r8, & + 0.00016112028976015443_r8, 0.00016244162614621789_r8, & + 0.000161346369824866_r8, 0.000158634514687648_r8, & + 0.00016002499891581612_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,77) / & + 0.00016555652539815125_r8, 0.00017023968581779305_r8, & + 0.0001558490828334624_r8, 0.00014859801534503097_r8, & + 0.00014917344977820278_r8, 0.0001505341295498873_r8, & + 0.00015350765996015526_r8, 0.00015609390833974719_r8, & + 0.00015781843342373172_r8, 0.00015861696550429304_r8, & + 0.00015695521852531461_r8, 0.00015424392644895174_r8, & + 0.00016112028976015443_r8, 0.00016244162614621789_r8, & + 0.000161346369824866_r8, 0.000158634514687648_r8, & + 0.00016002499891581612_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,77) / & + 0.00015531319933807919_r8, 0.00015815525321546833_r8, & + 0.00015137251632136838_r8, 0.00015376207780442536_r8, & + 0.00015484796959050546_r8, 0.00015606661587224736_r8, & + 0.00015764663209945066_r8, 0.00015759911703326469_r8, & + 0.00015879319298241296_r8, 0.00015995230245836498_r8, & + 0.00016122690006523403_r8, 0.00016223752776302344_r8, & + 0.0001620189081279274_r8, 0.00016260552651594726_r8, & + 0.00016299500713217081_r8, 0.00016354921144957088_r8, & + 0.00016681946475149395_r8, 0.00019250719120286058_r8, & + 0.00022273955887314813_r8, 0.0002265570830034627_r8, & + 0.00022930506030409208_r8, 0.00022828203509729991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,77) / & + 0.00014743192559984122_r8, 0.00014832478563676064_r8, & + 0.00014692284350963848_r8, 0.00015495415979926828_r8, & + 0.00016903428362204215_r8, 0.00017039573224107558_r8, & + 0.00017471242691376827_r8, 0.00017518193950630235_r8, & + 0.00017786989557026735_r8, 0.00017996613675069526_r8, & + 0.00017855566978075329_r8, 0.00018009798398597288_r8, & + 0.00018241432880941751_r8, 0.00018485622220135796_r8, & + 0.00019080137982389883_r8, 0.00019357947622374426_r8, & + 0.0001890745613460541_r8, 0.00019871896490929536_r8, & + 0.00022236501558489441_r8, 0.00022814171412726504_r8, & + 0.00023165679052714603_r8, 0.00022305477906069826_r8, & + 0.0002347337212332811_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,77) / & + 0.00015386749590178331_r8, 0.0001550207475313636_r8, & + 0.00015200115174623466_r8, 0.00016154596112160483_r8, & + 0.00016683911866015498_r8, 0.00017273922277185518_r8, & + 0.00017676657963176643_r8, 0.00018146481509145404_r8, & + 0.00018402683895307918_r8, 0.00018539323540145341_r8, & + 0.00018688197490210557_r8, 0.00018891355548976088_r8, & + 0.0001919687645117309_r8, 0.00019325774700272612_r8, & + 0.0001949865847485274_r8, 0.00020083400177567013_r8, & + 0.00020388172178982623_r8, 0.00021074961394656751_r8, & + 0.00022385920347630438_r8, 0.00022992379367796614_r8, & + 0.00023549208027310084_r8, 0.00023302257998246762_r8, & + 0.00024628264870749799_r8, 0.00024550304943770013_r8, & + 0.00024271396771922754_r8, 0.00024698762427136924_r8, & + 0.00025499318821387988_r8, 0.00025880558987355319_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,77) / & + 0.00012457226860409249_r8, 0.00012650173655407863_r8, & + 0.00012040622870567271_r8, 0.00012853782395653122_r8, & + 0.00013263216293246999_r8, 0.00013513731318667168_r8, & + 0.00014042266841634757_r8, 0.00015067999395353127_r8, & + 0.00015666471032929868_r8, 0.00016183198547362496_r8, & + 0.00016520797838556167_r8, 0.00016734683873631656_r8, & + 0.00017237476171715348_r8, 0.00017775282667015685_r8, & + 0.00017923555671264381_r8, 0.00018334271260156645_r8, & + 0.00019006307322086047_r8, 0.00019739145201772758_r8, & + 0.00019907218208054995_r8, 0.0002040466750995763_r8, & + 0.00020909860388137037_r8, 0.00020749541611675106_r8, & + 0.00020994743694821054_r8, 0.00021422443724149342_r8, & + 0.00021532832245814554_r8, 0.00022213298463950461_r8, & + 0.00023149577217673241_r8, 0.00024186789986432183_r8, & + 0.00025154660673656741_r8, 0.00025793888008541761_r8, & + 0.00026212981304227987_r8, 0.00026420147134697484_r8, & + 0.000263600695772758_r8, 0.00026112801243295827_r8, & + 0.00026346125174310178_r8, 0.00026475764355354705_r8, & + 0.00026742740297381516_r8, 0.00026640183227817182_r8, & + 0.00026209107972309043_r8, 0.00026136884096099577_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,77) / & + 5.2881391857054079e-05_r8, 5.3947043622459862e-05_r8, & + 5.1795291220175289e-05_r8, 4.2003589789907272e-05_r8, & + 4.3629963341240341e-05_r8, 4.6948549203507838e-05_r8, & + 5.3449987147506853e-05_r8, 6.7975307440354247e-05_r8, & + 7.9830584602930856e-05_r8, 9.0937142386917727e-05_r8, & + 9.8543383093537004e-05_r8, 0.00010456178164761556_r8, & + 0.00010932892191494396_r8, 0.00011669459956001338_r8, & + 0.00012169502086584123_r8, 0.00012761065835352332_r8, & + 0.00013769034721381501_r8, 0.0001461128402869948_r8, & + 0.00015473576817015623_r8, 0.00016201616153860019_r8, & + 0.00017120701740483369_r8, 0.00017471383959341373_r8, & + 0.00018181145631281393_r8, 0.00018798418465111244_r8, & + 0.000192606784433973_r8, 0.00019968885194192207_r8, & + 0.00020678171667191269_r8, 0.0002182068310566852_r8, & + 0.00023177828624417176_r8, 0.00024102124537904711_r8, & + 0.00024829961781873747_r8, 0.00025376537246429094_r8, & + 0.00025738475463859628_r8, 0.00025951542164279266_r8, & + 0.0002615795765383982_r8, 0.00026253919065076563_r8, & + 0.00026187711299195438_r8, 0.00026394856697459744_r8, & + 0.00026394377265672521_r8, 0.00026509414525557618_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,77) / & + 1.5170651172580835e-05_r8, 1.559475229752959e-05_r8, & + 1.6909406173159299e-05_r8, 1.4896058414540745e-05_r8, & + 1.5704145965336684e-05_r8, 1.6401985036083609e-05_r8, & + 2.0522317191263826e-05_r8, 2.4632743897123372e-05_r8, & + 2.8308123607739272e-05_r8, 3.2709682553533097e-05_r8, & + 3.5837090247344316e-05_r8, 3.7398299044219126e-05_r8, & + 3.8082551807163729e-05_r8, 4.1522058496373869e-05_r8, & + 4.6619061330666554e-05_r8, 5.1649215131683382e-05_r8, & + 6.2812079142016218e-05_r8, 7.5035720156566951e-05_r8, & + 8.8849512774547937e-05_r8, 0.00010230522765821183_r8, & + 0.00011840372558822688_r8, 0.00012723774906345502_r8, & + 0.00014279391687166412_r8, 0.00015439328277906897_r8, & + 0.0001611310803133091_r8, 0.0001687681264633717_r8, & + 0.00017644522721773547_r8, 0.00018691333368522383_r8, & + 0.00019941392717730285_r8, 0.00021584096616549537_r8, & + 0.00022749563320562438_r8, 0.0002376126428966593_r8, & + 0.00024787121455935811_r8, 0.000255062458135947_r8, & + 0.00025887416736167067_r8, 0.00026161361818259534_r8, & + 0.00026270773654289535_r8, 0.00026418283152339318_r8, & + 0.00026307463372656279_r8, 0.0002655928784978999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,77) / & + 1.0671937625823323e-05_r8, 1.0621224506140956e-05_r8, & + 1.117685283998181e-05_r8, 1.1252242736672662e-05_r8, & + 1.215137207248466e-05_r8, 1.3009919100029815e-05_r8, & + 1.6061442228817033e-05_r8, 1.7816408254297149e-05_r8, & + 1.9577166952953455e-05_r8, 2.1685180614727543e-05_r8, & + 2.3362989594783137e-05_r8, 2.4825507208506641e-05_r8, & + 2.6273382223267682e-05_r8, 2.9871473667227449e-05_r8, & + 3.4969803316465339e-05_r8, 4.0946272967004608e-05_r8, & + 5.3559576051206756e-05_r8, 6.8414871995343553e-05_r8, & + 8.6080643055026196e-05_r8, 0.00010457317592868937_r8, & + 0.0001208619621923559_r8, 0.00013475864369461339_r8, & + 0.00014641497136770753_r8, 0.00015398786879414171_r8, & + 0.00015837587530528492_r8, 0.00015994623027319616_r8, & + 0.00016095117950616994_r8, 0.0001608200949320769_r8, & + 0.0001605799194786583_r8, 0.00017029673785642213_r8, & + 0.00018724158279438739_r8, 0.00020273314596199905_r8, & + 0.00021962420602684372_r8, 0.00023115408306313492_r8, & + 0.00024166876292204176_r8, 0.00024992372418982138_r8, & + 0.0002565057616230497_r8, 0.00026316611962274379_r8, & + 0.00026748107743020908_r8, 0.00026993557065229003_r8, & + 0.00027226121357101552_r8, 0.00027324497180733606_r8, & + 0.0002739517764406122_r8, 0.00027422703298671366_r8, 9e90_r8 & + / +data saar_ref(:,11,77) / & + 8.2510141582865743e-06_r8, 8.2208067280249815e-06_r8, & + 7.9640901843997602e-06_r8, 7.5997431391806799e-06_r8, & + 8.4090016736871444e-06_r8, 9.7183195762285486e-06_r8, & + 1.3484349488249867e-05_r8, 1.5746989411584385e-05_r8, & + 1.8441465476697902e-05_r8, 2.1144360895325553e-05_r8, & + 2.3111339028731459e-05_r8, 2.5441601563936128e-05_r8, & + 2.7605852413500666e-05_r8, 3.2203268648414336e-05_r8, & + 3.7921968935569872e-05_r8, 4.3851119480922895e-05_r8, & + 5.6847058207371099e-05_r8, 7.2215494480670073e-05_r8, & + 8.8981745053419832e-05_r8, 0.00010503545231885953_r8, & + 0.00011988148901027779_r8, 0.00013314418855481182_r8, & + 0.00014219921275733478_r8, 0.00014962033008246873_r8, & + 0.00015422778821678736_r8, 0.00015658125483464707_r8, & + 0.00015644096220182715_r8, 0.00015455639543943738_r8, & + 0.00015133498960438443_r8, 0.00015772796990440457_r8, & + 0.00017509970654594237_r8, 0.00019620790877429098_r8, & + 0.00021385297770650747_r8, 0.00022855140901029291_r8, & + 0.00024079834376140174_r8, 0.00024989176940163417_r8, & + 0.00025723826345948098_r8, 0.00026368618157943336_r8, & + 0.00026864215106593443_r8, 0.00027119553385056798_r8, & + 0.00027319959153895769_r8, 0.00027427807303564728_r8, & + 0.00027423818289523319_r8, 0.00027388910328149401_r8, & + 0.00027274714034394837_r8 & + / +data saar_ref(:,12,77) / & + 7.4515435307702383e-06_r8, 7.5174693471956031e-06_r8, & + 6.8298427700849059e-06_r8, 7.5633567855978305e-06_r8, & + 8.4777330789469761e-06_r8, 9.23273708487591e-06_r8, & + 1.1866212311150449e-05_r8, 1.4484945381250631e-05_r8, & + 1.7324141562744585e-05_r8, 2.0112791665073902e-05_r8, & + 2.191123216777114e-05_r8, 2.4134082237546603e-05_r8, & + 2.5948333034435624e-05_r8, 2.979210422843887e-05_r8, & + 3.5543034997378681e-05_r8, 4.0131239345369369e-05_r8, & + 5.2933077947381042e-05_r8, 6.7367831999881202e-05_r8, & + 8.3113076945863217e-05_r8, 9.9186414264479486e-05_r8, & + 0.00011402385275970289_r8, 0.0001266290285483523_r8, & + 0.00013666246163508258_r8, 0.0001446187056549171_r8, & + 0.000149598310989069_r8, 0.00015262537911482632_r8, & + 0.00015304581589862469_r8, 0.00015075683741418755_r8, & + 0.00014148622084584906_r8, 0.00013890665017608192_r8, & + 0.00015304583403441218_r8, 0.00017056580857083208_r8, & + 0.00019566187818156937_r8, 0.00021996063526608952_r8, & + 0.00023589144163896347_r8, 0.00025015626920750494_r8, & + 0.00026057908851537205_r8, 0.00026641682735719963_r8, & + 0.00027036573175027859_r8, 0.00027280902511677183_r8, & + 0.00027451461876749065_r8, 0.00027503895582194581_r8, & + 0.00027484484234443981_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,77) / & + 8.63795597015739e-06_r8, 8.7298665822282129e-06_r8, & + 8.1877365857722599e-06_r8, 8.4812213192220287e-06_r8, & + 9.2746849620720958e-06_r8, 9.8575738143122963e-06_r8, & + 1.0510061802693655e-05_r8, 1.0517284119332385e-05_r8, & + 1.1847675059957771e-05_r8, 1.3539366972324385e-05_r8, & + 1.4556366265576944e-05_r8, 1.7261929115013448e-05_r8, & + 1.5239711901805787e-05_r8, 1.7170050598334658e-05_r8, & + 2.1500147445120398e-05_r8, 2.4455499607324023e-05_r8, & + 3.1890191483000356e-05_r8, 4.1234977869432894e-05_r8, & + 5.2839929152749369e-05_r8, 6.8388906858088945e-05_r8, & + 8.2524806924091088e-05_r8, 9.8197412134735311e-05_r8, & + 0.00011014589409011967_r8, 0.0001173277229087587_r8, & + 0.00012453203452101054_r8, 0.00012869117288992528_r8, & + 0.00013248736351624774_r8, 0.0001336889628775289_r8, & + 0.00013182712334475449_r8, 0.0001239637287421593_r8, & + 0.00011827335757249489_r8, 0.00012683197148219766_r8, & + 0.00015057637612642837_r8, 0.00020462899168872402_r8, & + 0.00022909040240917555_r8, 0.00024998713358685985_r8, & + 0.00026147685594775317_r8, 0.00026813213495889706_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,77) / & + 1.0040538632841915e-05_r8, 9.6687084770145982e-06_r8, & + 8.8948681645098659e-06_r8, 7.0762023324213435e-06_r8, & + 7.0298597916748334e-06_r8, 7.8240237547389375e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,77) / & + 2.8348926083173275e-05_r8, 2.2967273657869533e-05_r8, & + 1.6561453630350802e-05_r8, 1.3803615235914172e-05_r8, & + 1.1410674674694817e-05_r8, 1.0938871643921443e-05_r8, & + 1.0828041430337898e-05_r8, 1.4395160423617706e-05_r8, & + 1.8094314141007318e-05_r8, 2.3342242855071053e-05_r8, & + 3.0533770983834257e-05_r8, 4.1310432585193438e-05_r8, & + 5.1518833477516148e-05_r8, 6.2390342900645965e-05_r8, & + 7.0610789565685324e-05_r8, 7.9876745473923564e-05_r8, & + 9.6968732100509119e-05_r8, 0.0001097411352671865_r8, & + 0.00012285257614974541_r8, 0.00013063079803638983_r8, & + 0.00013211163901058278_r8, 0.00012908492443622512_r8, & + 0.00011582630358298395_r8, 0.00010097606423345962_r8, & + 8.9891547833669403e-05_r8, 7.9796923310498756e-05_r8, & + 7.6204716880767033e-05_r8, 7.6026453250056499e-05_r8, & + 8.4154161201009133e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,77) / & + 2.118363482333855e-05_r8, 1.9089032961776822e-05_r8, & + 1.5323946919317899e-05_r8, 1.2925274441469488e-05_r8, & + 1.1740603577519873e-05_r8, 1.1106355487491108e-05_r8, & + 1.0373998748571505e-05_r8, 1.3553033997889138e-05_r8, & + 1.6849913075538684e-05_r8, 2.2134634687243539e-05_r8, & + 2.8621569890540333e-05_r8, 3.7559056600591012e-05_r8, & + 4.9086981511510059e-05_r8, 6.239109517671836e-05_r8, & + 7.1476500080800451e-05_r8, 8.0958576225858105e-05_r8, & + 9.9201693568049998e-05_r8, 0.00011287282288177567_r8, & + 0.00012751907660599733_r8, 0.00013534195865307563_r8, & + 0.00013721953499425422_r8, 0.00013423509855071053_r8, & + 0.00012259049131995085_r8, 0.00010905450681945618_r8, & + 9.7696059753527329e-05_r8, 8.5562404638095618e-05_r8, & + 7.9759085960044211e-05_r8, 7.8655464906459452e-05_r8, & + 8.7417452212024967e-05_r8, 9.9549075593486567e-05_r8, & + 0.00011530802847425114_r8, 0.00013288957211028433_r8, & + 0.00014495179591618424_r8, 0.00014269287748921376_r8, & + 0.00014477110270868073_r8, 0.00014800433729509745_r8, & + 0.00015590140166925581_r8, 0.00017256608024631242_r8, & + 0.00019860866652078596_r8, 0.00025698958969860321_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,77) / & + 1.0605593570743566e-05_r8, 1.190209196195557e-05_r8, & + 1.0716822780673282e-05_r8, 1.0119880630770892e-05_r8, & + 1.0012663991996179e-05_r8, 9.9789919358526468e-06_r8, & + 7.879571288732592e-06_r8, 9.6366578579485705e-06_r8, & + 1.0624738619987894e-05_r8, 1.3898706201007333e-05_r8, & + 1.7901045281137415e-05_r8, 2.1647504108706023e-05_r8, & + 2.9536989066573698e-05_r8, 4.1831948495756925e-05_r8, & + 5.2980031981749495e-05_r8, 6.3959120560317807e-05_r8, & + 8.5685935169976685e-05_r8, 0.00010653402522489423_r8, & + 0.00012438450767317713_r8, 0.00013290145348515619_r8, & + 0.00013736816257292798_r8, 0.00013563732168419331_r8, & + 0.00012422110573812888_r8, 0.00011152638785950134_r8, & + 0.00010018056925035655_r8, 9.0381434179694612e-05_r8, & + 8.3434128231651346e-05_r8, 8.2154831165779418e-05_r8, & + 9.4013336079531252e-05_r8, 0.00010636597010012268_r8, & + 0.00012130423726077086_r8, 0.00013672696932002585_r8, & + 0.00014949399271555952_r8, 0.00015565884687259024_r8, & + 0.00016066873923423669_r8, 0.00016522108144596158_r8, & + 0.00017144113639991739_r8, 0.00018544920721479599_r8, & + 0.00021000418480885143_r8, 0.00025005197182567592_r8, & + 0.00029638298102579259_r8, 0.00032628759112294169_r8, & + 0.00032519107278992807_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,77) / & + 8.197783197386793e-06_r8, 9.0974224517505251e-06_r8, & + 7.2044177715301717e-06_r8, 8.4932786322870409e-06_r8, & + 8.2555894998237145e-06_r8, 8.0791614852560128e-06_r8, & + 6.4943163400104839e-06_r8, 5.9577420647233558e-06_r8, & + 5.5445749611867322e-06_r8, 6.8886327079535945e-06_r8, & + 8.7501278648906938e-06_r8, 1.0602240204917879e-05_r8, & + 1.4009141436068987e-05_r8, 2.0008497091907813e-05_r8, & + 2.8301337766697372e-05_r8, 3.770521372384949e-05_r8, & + 5.8349899447096921e-05_r8, 8.433654582742193e-05_r8, & + 0.00010866512270133556_r8, 0.00012432827827176031_r8, & + 0.0001344688267680073_r8, 0.0001344243938519959_r8, & + 0.00012410358637946113_r8, 0.00011234084652300742_r8, & + 0.00010138863546656571_r8, 9.3219314217949447e-05_r8, & + 8.8160362061707014e-05_r8, 9.2741998436135755e-05_r8, & + 0.00010881384139677281_r8, 0.00012187708177259163_r8, & + 0.00013765424871218715_r8, 0.00015116851753984713_r8, & + 0.00016267004215220822_r8, 0.0001731911247364299_r8, & + 0.00018441793654331684_r8, 0.00019282121822757913_r8, & + 0.00019971147134967038_r8, 0.00021504404775774127_r8, & + 0.00024149883737172706_r8, 0.00027674689996085532_r8, & + 0.00031257321198834741_r8, 0.00033505138632641145_r8, & + 0.0003383579422295206_r8, 0.00032786499381455032_r8, 9e90_r8 & + / +data saar_ref(:,28,77) / & + 6.2312701390072914e-06_r8, 6.7944177057703086e-06_r8, & + 5.772095149998276e-06_r8, 5.821796888048815e-06_r8, & + 4.6848837914621615e-06_r8, 4.6589884549337628e-06_r8, & + 4.0268335740249699e-06_r8, 3.9517289060553759e-06_r8, & + 4.5741375637763937e-06_r8, 5.3447704467377596e-06_r8, & + 6.0051763316938152e-06_r8, 7.1914940895478242e-06_r8, & + 8.517189255333061e-06_r8, 1.0779600360269802e-05_r8, & + 1.4607949567613702e-05_r8, 1.9023544054592414e-05_r8, & + 3.2181957809258666e-05_r8, 5.117364282757497e-05_r8, & + 7.7186856549230052e-05_r8, 9.8620665992183237e-05_r8, & + 0.00011189266494498397_r8, 0.00011492398975205872_r8, & + 0.00011042920373521774_r8, 0.00010286451880643516_r8, & + 9.5080589574542064e-05_r8, 8.8256680794043349e-05_r8, & + 8.6775271967573321e-05_r8, 9.9508536191743332e-05_r8, & + 0.00011928210260839174_r8, 0.00013582540082713747_r8, & + 0.00015318075283075454_r8, 0.00016608863043603945_r8, & + 0.00017731458278923815_r8, 0.00018817715276279472_r8, & + 0.00019917653166788782_r8, 0.00020663940233779765_r8, & + 0.00021374146487023471_r8, 0.00022722058025683803_r8, & + 0.00024891804030107687_r8, 0.00028217378466185278_r8, & + 0.00030850153458879574_r8, 0.00032061300864540392_r8, & + 0.00032205840137281862_r8, 0.00031973773582896759_r8, & + 0.00032376340931067343_r8 & + / +data saar_ref(:,29,77) / & + 4.4346101319675584e-06_r8, 5.0347882522924091e-06_r8, & + 5.1445248072258244e-06_r8, 4.6471535652287601e-06_r8, & + 4.0972752031022094e-06_r8, 4.5181372281598342e-06_r8, & + 4.6007664484166042e-06_r8, 5.7286683268554808e-06_r8, & + 5.9219823070182041e-06_r8, 6.0135874855538153e-06_r8, & + 6.2823686096043717e-06_r8, 7.4860472207615569e-06_r8, & + 1.0008131324971579e-05_r8, 1.1214419509504669e-05_r8, & + 1.3069902101695652e-05_r8, 1.5534126272349023e-05_r8, & + 2.2517391407705504e-05_r8, 3.6881582755146502e-05_r8, & + 5.7499253664974665e-05_r8, 8.0680664020258748e-05_r8, & + 9.6252609408284401e-05_r8, 0.00010134365763374517_r8, & + 9.6236267686514995e-05_r8, 9.2676618445074671e-05_r8, & + 9.0573231157515562e-05_r8, 8.948876476228202e-05_r8, & + 9.030192898648545e-05_r8, 0.00010538226365322106_r8, & + 0.00012519220970062301_r8, 0.00014629463374229209_r8, & + 0.00016401860914560165_r8, 0.00017763271388099208_r8, & + 0.000189586568405126_r8, 0.00019953270443693816_r8, & + 0.00020849542346385968_r8, 0.00021899762395471699_r8, & + 0.00023065720514399738_r8, 0.00024747982947170139_r8, & + 0.00026964174773171448_r8, 0.00029338630866487022_r8, & + 0.00031261444926861836_r8, 0.00032342986557400469_r8, & + 0.00032852479059997726_r8, 0.00033094543943022259_r8, & + 0.00033388658364674295_r8 & + / +data saar_ref(:,30,77) / & + 5.1010699905612169e-06_r8, 5.5337449116288026e-06_r8, & + 5.869079257902854e-06_r8, 6.9641892186874907e-06_r8, & + 7.2688610343404275e-06_r8, 7.2578114016718034e-06_r8, & + 7.8956585123960183e-06_r8, 7.4170832793770064e-06_r8, & + 7.4156606616948528e-06_r8, 7.6243259196892804e-06_r8, & + 7.7853990597779685e-06_r8, 9.7222176599984702e-06_r8, & + 1.3765702065256348e-05_r8, 1.4232969876248268e-05_r8, & + 1.5479237133701325e-05_r8, 1.7354923050462278e-05_r8, & + 2.3492092071490028e-05_r8, 3.554450795797093e-05_r8, & + 5.4740636016977828e-05_r8, 7.6478760545396052e-05_r8, & + 8.9611511984896217e-05_r8, 9.2801464798857207e-05_r8, & + 9.0704252088173867e-05_r8, 8.9021322543577852e-05_r8, & + 8.8040315560044286e-05_r8, 8.8193339616147692e-05_r8, & + 8.9678894627582116e-05_r8, 9.9966451998193605e-05_r8, & + 0.00011549832643864464_r8, 0.00013693590550215031_r8, & + 0.00015433709117722682_r8, 0.00016908356416392873_r8, & + 0.00017896199772130957_r8, 0.00018555112778975943_r8, & + 0.00019216981650499215_r8, 0.00020537414219220682_r8, & + 0.00022254029538966707_r8, 0.00024125217247090367_r8, & + 0.00026698274495326224_r8, 0.00029473600197267206_r8, & + 0.00031664200662282735_r8, 0.0003251565034922962_r8, & + 0.00033829069210307465_r8, 0.000346674700365888_r8, & + 0.00034823785545992257_r8 & + / +data saar_ref(:,31,77) / & + 7.803735995280593e-06_r8, 7.8932739259354967e-06_r8, & + 8.2489572994230645e-06_r8, 9.8298987496413159e-06_r8, & + 1.0463759693594952e-05_r8, 9.453294645594782e-06_r8, & + 9.3238175077662316e-06_r8, 9.6240595778116372e-06_r8, & + 1.0016120013967262e-05_r8, 1.005882988450432e-05_r8, & + 1.0373022571999676e-05_r8, 1.1020913051869555e-05_r8, & + 1.2830611506877859e-05_r8, 1.3628898428983943e-05_r8, & + 1.5214616966083896e-05_r8, 1.7681935337978364e-05_r8, & + 2.462276404626401e-05_r8, 3.6544818488014094e-05_r8, & + 5.7111696338326711e-05_r8, 7.9280635679896132e-05_r8, & + 9.1137924528509175e-05_r8, 9.1590270213631441e-05_r8, & + 8.925540749831932e-05_r8, 8.6979884914673299e-05_r8, & + 8.5741094652422732e-05_r8, 8.5089561988231868e-05_r8, & + 8.561336604633484e-05_r8, 9.2179126934291297e-05_r8, & + 0.00010246253694659597_r8, 0.00011636055667390577_r8, & + 0.00013131998444547305_r8, 0.00014598832279577887_r8, & + 0.00015720486028322224_r8, 0.00016589338185555666_r8, & + 0.00017558594539672246_r8, 0.00018868194852211982_r8, & + 0.00020432670967868697_r8, 0.00022069365543229014_r8, & + 0.00023942270900211988_r8, 0.00026371349150602951_r8, & + 0.00029383384445117562_r8, 0.00031495319698275387_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,32,77) / & + 1.1289927648211007e-05_r8, 1.0573958429491569e-05_r8, & + 1.1527474736554587e-05_r8, 1.147109930117446e-05_r8, & + 1.2590257320315834e-05_r8, 1.1894588220812243e-05_r8, & + 1.0995315074922958e-05_r8, 1.2153975349913182e-05_r8, & + 1.3275384808098161e-05_r8, 1.4210243956263136e-05_r8, & + 1.5226105792280663e-05_r8, 1.5301808635664906e-05_r8, & + 1.7099413188578506e-05_r8, 2.0065810437539708e-05_r8, & + 2.3476940505879967e-05_r8, 2.7539453191299478e-05_r8, & + 3.7482538496022382e-05_r8, 5.0783824542823536e-05_r8, & + 6.6583658967095228e-05_r8, 8.3633277353151517e-05_r8, & + 9.3040693893269399e-05_r8, 9.2855087091347661e-05_r8, & + 9.0016956644553965e-05_r8, 8.6693040845518216e-05_r8, & + 8.4834232726454422e-05_r8, 8.4022644467430366e-05_r8, & + 8.4156174542252734e-05_r8, 8.7761638689433524e-05_r8, & + 9.4371458424220549e-05_r8, 0.00010354966564757322_r8, & + 0.0001155045193773274_r8, 0.00012874654362409456_r8, & + 0.00014128530206084427_r8, 0.00015402162689160556_r8, & + 0.00016887878333287273_r8, 0.00018333554286384981_r8, & + 0.00019947540007745284_r8, 0.00021589787267280118_r8, & + 0.00022814628597782799_r8, 0.00024338675511469848_r8, & + 0.00027289018272957428_r8, 0.00030442936262473037_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,77) / & + 1.1599757180757067e-05_r8, 1.0914311042110051e-05_r8, & + 1.2621388685584141e-05_r8, 1.6572130047805722e-05_r8, & + 1.9177962403673471e-05_r8, 2.0670889512473689e-05_r8, & + 2.449435082561226e-05_r8, 2.9655022940760988e-05_r8, & + 3.1998007243166537e-05_r8, 3.5136118095602128e-05_r8, & + 3.7234856944324044e-05_r8, 4.0990958022380887e-05_r8, & + 4.9756871655817535e-05_r8, 6.0349531393648452e-05_r8, & + 7.1314874161356584e-05_r8, 7.9694040039914052e-05_r8, & + 8.8147615903506345e-05_r8, 8.9494759259597326e-05_r8, & + 8.8956322996631564e-05_r8, 8.8492818550870591e-05_r8, & + 8.8057166029435237e-05_r8, 8.6827925470514474e-05_r8, & + 8.5860847069582549e-05_r8, 8.5570015718326552e-05_r8, & + 8.5789983361316897e-05_r8, 8.6649370564548817e-05_r8, & + 8.8420695587177088e-05_r8, 9.3520876627183386e-05_r8, & + 0.00010002429376456782_r8, 0.00010960680195628806_r8, & + 0.00012067378339751089_r8, 0.00013069719405151264_r8, & + 0.00014083941166074363_r8, 0.00015559424524935029_r8, & + 0.0001727156348847431_r8, 0.00018817704109781275_r8, & + 0.00020823890724686389_r8, 0.00022213452679828652_r8, & + 0.00023392344895047158_r8, 0.00024462048906245809_r8, & + 0.00028048305465401725_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,77) / & + 9.6097368659971059e-06_r8, 9.4583210372834576e-06_r8, & + 9.9140923083688262e-06_r8, 1.4965014677399697e-05_r8, & + 1.9730219891608674e-05_r8, 2.5271007263246498e-05_r8, & + 3.7423075910102352e-05_r8, 4.1658862319889973e-05_r8, & + 4.3428926232923284e-05_r8, 4.7484160834516808e-05_r8, & + 5.0131771988061237e-05_r8, 5.3071063346535476e-05_r8, & + 6.3336928680231231e-05_r8, 7.6358992790140316e-05_r8, & + 8.8386189290983323e-05_r8, 9.4212636408689838e-05_r8, & + 9.8306064948097495e-05_r8, 9.3842406197022985e-05_r8, & + 9.0240242364618341e-05_r8, 8.8750480873031176e-05_r8, & + 8.8680048069770683e-05_r8, 8.8179437572245199e-05_r8, & + 8.7921858397241648e-05_r8, 8.8805501856694698e-05_r8, & + 8.9606619969481808e-05_r8, 9.1106176282835841e-05_r8, & + 9.3415063627806934e-05_r8, 9.8867839339093563e-05_r8, & + 0.0001047924770577746_r8, 0.00011514939468749471_r8, & + 0.00012520520651678716_r8, 0.00013357613824631023_r8, & + 0.00014247962054837865_r8, 0.00015727251474938428_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,35,77) / & + 9.5216092747291581e-06_r8, 9.3164274988176823e-06_r8, & + 8.9517926788255491e-06_r8, 1.2324772385606333e-05_r8, & + 1.5693928842075242e-05_r8, 2.0635546327685885e-05_r8, & + 2.7594969579206968e-05_r8, 2.5567655240386249e-05_r8, & + 2.3392560622302707e-05_r8, 2.1804022889431463e-05_r8, & + 2.3228475669666303e-05_r8, 2.8117250041953944e-05_r8, & + 1.4319932143961253e-05_r8, 1.5649767644878407e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,77) / & + 1.1429573905625698e-05_r8, 1.1057243239456262e-05_r8, & + 1.3550482885167715e-05_r8, 1.6651161029711115e-05_r8, & + 1.7927090178802085e-05_r8, 1.8621100215758045e-05_r8, & + 1.9823277910099088e-05_r8, 1.9591888663148093e-05_r8, & + 1.9849626765220161e-05_r8, 2.2814607497156223e-05_r8, & + 2.5829387031874898e-05_r8, 3.3981188317990534e-05_r8, & + 4.2072619482882045e-05_r8, 5.187036691200914e-05_r8, & + 6.1644457243689019e-05_r8, 6.9122583759721138e-05_r8, & + 7.5841566490887627e-05_r8, 7.6946053280665488e-05_r8, & + 7.7580292700494605e-05_r8, 7.9013889847420518e-05_r8, & + 8.0716382455243505e-05_r8, 8.2524597158015851e-05_r8, & + 8.4224870548056872e-05_r8, 8.5056372127927845e-05_r8, & + 8.5537690646507884e-05_r8, 8.6435718139950997e-05_r8, & + 8.7115280975496283e-05_r8, 8.9367987484709291e-05_r8, & + 9.2660896959433022e-05_r8, 9.5908284220597487e-05_r8, & + 9.9468591199269285e-05_r8, 0.00010447840179913084_r8, & + 0.00010463107632007403_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,77) / & + 1.8816405860461799e-05_r8, 1.867044411138899e-05_r8, & + 2.0682507738268746e-05_r8, 2.4029634186023378e-05_r8, & + 2.6154544040977694e-05_r8, 2.7827518177145164e-05_r8, & + 3.2586534210005628e-05_r8, 3.8928101673463239e-05_r8, & + 4.3265777492706216e-05_r8, 4.9087624838509207e-05_r8, & + 5.2578987584029682e-05_r8, 5.9342328089434407e-05_r8, & + 6.461247690013765e-05_r8, 6.9103534600722542e-05_r8, & + 7.2203852908841467e-05_r8, 7.4620756195620513e-05_r8, & + 7.8085381577981759e-05_r8, 7.9469394011112441e-05_r8, & + 8.032707952720911e-05_r8, 8.1454953358539123e-05_r8, & + 8.3190679908606732e-05_r8, 8.4843959174556052e-05_r8, & + 8.6427587795882515e-05_r8, 8.7236304576653208e-05_r8, & + 8.7464853617812342e-05_r8, 8.8188746988736291e-05_r8, & + 8.9248817780545155e-05_r8, 9.209023536013433e-05_r8, & + 9.5301596280703905e-05_r8, 9.8758880711343649e-05_r8, & + 0.00010300965060631232_r8, 0.00010497592006633969_r8, & + 0.00010437690276329519_r8, 8.5932798514894496e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,77) / & + 2.2012444429770277e-05_r8, 2.1800717687889032e-05_r8, & + 2.0890506816559344e-05_r8, 2.0605692613274662e-05_r8, & + 2.3692999500180195e-05_r8, 2.7361600418584861e-05_r8, & + 3.558348815288037e-05_r8, 4.1920476884919505e-05_r8, & + 4.6814469087946027e-05_r8, 5.1598052893424093e-05_r8, & + 5.5029703488666976e-05_r8, 5.9310982721311797e-05_r8, & + 6.2124978061606711e-05_r8, 6.639729849305465e-05_r8, & + 6.9871793358189781e-05_r8, 7.3324430983782657e-05_r8, & + 7.8087883174067285e-05_r8, 7.9044985039630617e-05_r8, & + 8.0868155530682706e-05_r8, 8.2578727027353963e-05_r8, & + 8.4463556247446115e-05_r8, 8.6707157758440516e-05_r8, & + 8.7912235361674358e-05_r8, 8.9466993959804911e-05_r8, & + 8.9452319887954447e-05_r8, 9.0174261519354872e-05_r8, & + 9.2786443307464795e-05_r8, 9.5223606259897217e-05_r8, & + 9.8836345125839027e-05_r8, 0.00010370011565313415_r8, & + 0.00010753070170328281_r8, 0.00010475136806932354_r8, & + 0.00010633668700263278_r8, 8.6193144474228892e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,77) / & + 2.9126480751747512e-05_r8, 2.7928148691152304e-05_r8, & + 2.5366208425868989e-05_r8, 3.7454632699455244e-05_r8, & + 4.2996021519412581e-05_r8, 4.5456710215617694e-05_r8, & + 5.0761923864301973e-05_r8, 5.5440794263622786e-05_r8, & + 5.9745202423699098e-05_r8, 6.5751673866095467e-05_r8, & + 6.9897228049845106e-05_r8, 7.036492210539644e-05_r8, & + 7.1215465132271893e-05_r8, 7.7474129747813375e-05_r8, & + 8.6350556097465655e-05_r8, 9.2870735587901243e-05_r8, & + 9.8649948004346191e-05_r8, 8.7030582222653754e-05_r8, & + 8.3647564113061921e-05_r8, 8.67768233234956e-05_r8, & + 8.4625355390697811e-05_r8, 9.1050546254528174e-05_r8, & + 8.937417126592931e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,77) / & + 3.5138256085457718e-05_r8, 3.3561436081809714e-05_r8, & + 3.0925265570503149e-05_r8, 5.0873679367904379e-05_r8, & + 5.8348973297382933e-05_r8, 6.0771493317146042e-05_r8, & + 6.9762861251184723e-05_r8, 7.2361592537276549e-05_r8, & + 7.3312004774655896e-05_r8, 7.7097093359674399e-05_r8, & + 8.1680712301339945e-05_r8, 8.0767724459150447e-05_r8, & + 8.0007505978014513e-05_r8, 8.0131805302497181e-05_r8, & + 8.5735958527325876e-05_r8, 9.0713352566115338e-05_r8, & + 9.3225660488139471e-05_r8, 6.0991573606526182e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,77) / & + 2.8428641961253829e-05_r8, 3.1942457515503029e-05_r8, & + 2.7034056836114309e-05_r8, 4.318808179811967e-05_r8, & + 4.8805922453664653e-05_r8, 5.1359053297026874e-05_r8, & + 6.360950070564442e-05_r8, 6.0710622727526181e-05_r8, & + 5.9167373456847218e-05_r8, 5.9853230607171831e-05_r8, & + 6.1415240802859214e-05_r8, 6.8681103552767274e-05_r8, & + 8.782068981232679e-05_r8, 9.337198444806015e-05_r8, & + 0.00011520499332987479_r8, 0.00014688248715670035_r8, & + 0.00015436926475052121_r8, 0.00016002727841536577_r8, & + 0.00015295816720706468_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,77) / & + 0.00012546214731843332_r8, 0.00012076795581886735_r8, & + 0.00010261095158839622_r8, 0.0001191113983225334_r8, & + 0.00011193349591588827_r8, 0.00011301536161533621_r8, & + 0.00012415484335883016_r8, 0.0001265341738592037_r8, & + 0.0001288951340520594_r8, 0.00013041049953057122_r8, & + 0.00011885742028834759_r8, 0.00010019647887189631_r8, & + 7.3459102354555986e-05_r8, 7.0784593054357026e-05_r8, & + 7.0440724794390517e-05_r8, 6.8340694970149855e-05_r8, & + 6.5674448815666715e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,77) / & + 0.00011679133335160642_r8, 0.00011841340753490665_r8, & + 0.00011085014239745392_r8, 0.00010171200816873181_r8, & + 0.00010673026301802526_r8, 0.00011639042573658355_r8, & + 0.00012715584321193493_r8, 0.00012375017101139274_r8, & + 0.00011846500225970322_r8, 0.00010985835133423321_r8, & + 0.00010235917770614811_r8, 9.3711151479344948e-05_r8, & + 8.1073309762033475e-05_r8, 7.8245864751776988e-05_r8, & + 7.6096698432325102e-05_r8, 7.330402020815591e-05_r8, & + 6.8602770573342173e-05_r8, 7.3804068108920671e-05_r8, & + 7.5839223262411966e-05_r8, 7.9663822493245671e-05_r8, & + 8.4525625621954627e-05_r8, 8.6145594845348538e-05_r8, & + 9.067875992842096e-05_r8, 9.314473436562399e-05_r8, & + 9.6347866162901878e-05_r8, 9.9763831698720297e-05_r8, & + 0.00010575069586028241_r8, 0.00011397749850076531_r8, & + 0.00011443950626928791_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,77) / & + 9.9312235944957976e-05_r8, 0.00011383714092299407_r8, & + 0.00011229150577996797_r8, 9.4008752441905087e-05_r8, & + 0.00011298345583698602_r8, 0.00012627659709609347_r8, & + 0.00012435697126905146_r8, 0.00010614237415318288_r8, & + 8.7290423252133441e-05_r8, 7.9706345680338248e-05_r8, & + 7.8451344194243431e-05_r8, 7.6204378895370527e-05_r8, & + 7.3082812105419698e-05_r8, 7.3674297806769384e-05_r8, & + 7.3039552974378462e-05_r8, 7.3786201698022719e-05_r8, & + 7.2283000054775546e-05_r8, 7.3947718903761054e-05_r8, & + 7.6321629444752522e-05_r8, 7.935312205177656e-05_r8, & + 8.3345463987915142e-05_r8, 8.6590719980594061e-05_r8, & + 9.1117169964329464e-05_r8, 9.4965731206018771e-05_r8, & + 9.9882644457917916e-05_r8, 0.00010455300180654783_r8, & + 0.00011224705376768441_r8, 0.00011890878431565946_r8, & + 0.00011956155568831218_r8, 0.00011866575987343729_r8, & + 0.00011947124963038231_r8, 0.00011988277620626074_r8, & + 0.00012051137949647388_r8, 0.00012035409994340816_r8, & + 0.00012090757966147928_r8, 0.0001213700886900975_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,78) / & + 0.00015795538753067556_r8, 0.00015754691557117036_r8, & + 0.00014916908718940247_r8, 0.00014881110752918369_r8, & + 0.00015218104368950431_r8, 0.0001531433893095894_r8, & + 0.00015561884138127748_r8, 0.00015722316147299034_r8, & + 0.0001585996758349927_r8, 0.00015798767339226483_r8, & + 0.00015606690779315952_r8, 0.00015542631964997599_r8, & + 0.0001611635365597001_r8, 0.00016291456088613035_r8, & + 0.00016154028092406296_r8, 0.0001590424628966366_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,78) / & + 0.00015795538753067556_r8, 0.00015754691557117036_r8, & + 0.00014916908718940247_r8, 0.00014881110752918369_r8, & + 0.00015218104368950431_r8, 0.0001531433893095894_r8, & + 0.00015561884138127748_r8, 0.00015722316147299034_r8, & + 0.0001585996758349927_r8, 0.00015798767339226483_r8, & + 0.00015606690779315952_r8, 0.00015542631964997599_r8, & + 0.0001611635365597001_r8, 0.00016291456088613035_r8, & + 0.00016154028092406296_r8, 0.0001590424628966366_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,78) / & + 0.00015795538753067556_r8, 0.00015754691557117036_r8, & + 0.00014916908718940247_r8, 0.00014881110752918369_r8, & + 0.00015218104368950431_r8, 0.0001531433893095894_r8, & + 0.00015561884138127748_r8, 0.00015722316147299034_r8, & + 0.0001585996758349927_r8, 0.00015798767339226483_r8, & + 0.00015606690779315952_r8, 0.00015542631964997599_r8, & + 0.0001611635365597001_r8, 0.00016291456088613035_r8, & + 0.00016154028092406296_r8, 0.0001590424628966366_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,78) / & + 0.00014919133828989083_r8, 0.00015424333914406418_r8, & + 0.00015266352556610381_r8, 0.00015484713229811401_r8, & + 0.00015622676882882691_r8, 0.00015740723112370942_r8, & + 0.00015982837812337979_r8, 0.0001596654812361041_r8, & + 0.00016136483182891247_r8, 0.00016222307757656008_r8, & + 0.0001637719659691555_r8, 0.00016481025727911247_r8, & + 0.00016441216127943359_r8, 0.00016622374589361292_r8, & + 0.00016656608376904361_r8, 0.00016795547310832448_r8, & + 0.00017511162264003622_r8, 0.00021293190777086412_r8, & + 0.00022629061742362915_r8, 0.00023023494450228617_r8, & + 0.00023127901877907634_r8, 0.0002344008931056814_r8, & + 0.0002366381208202899_r8, 0.0002366816731552419_r8, & + 0.0002366306221602563_r8, 0.00024455411200486731_r8, & + 0.0002201891728447431_r8, 0.00024461995523460632_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,78) / & + 0.00016869787267720788_r8, 0.00016831153005712803_r8, & + 0.00016842462731260998_r8, 0.00017425169315186568_r8, & + 0.00017482695469801918_r8, 0.00017223847083723423_r8, & + 0.00017638972278710796_r8, 0.0001750433531817138_r8, & + 0.00017548784420164969_r8, 0.0001766044499156893_r8, & + 0.00017814301778645893_r8, 0.00018187070845854903_r8, & + 0.00018708447532901978_r8, 0.00019708159157274494_r8, & + 0.00020687538954912947_r8, 0.00021169253965160753_r8, & + 0.00021792685802283812_r8, 0.00022209746099433031_r8, & + 0.00022984962006985987_r8, 0.00023612246472876747_r8, & + 0.00023892752009214174_r8, 0.0002375914694083765_r8, & + 0.00023949968030864509_r8, 0.00024381813409765161_r8, & + 0.0002444528143831167_r8, 0.0002455108536790522_r8, & + 0.00024588643077871414_r8, 0.00024911237869808663_r8, & + 0.00024967635249663491_r8, 0.00023829396573854197_r8, & + 0.00024611529062376007_r8, 0.00024314401344448889_r8, & + 0.00023607492396973787_r8, 0.00023295277197293271_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,78) / & + 0.00017331658174415731_r8, 0.00017316130164351859_r8, & + 0.00017044944039004025_r8, 0.00017240292832793635_r8, & + 0.00017672940834257043_r8, 0.00017326405862266335_r8, & + 0.00017791475447718021_r8, 0.00018074166023074548_r8, & + 0.00018467476718417956_r8, 0.00018869783150189789_r8, & + 0.00019269115151941557_r8, 0.00019575403857402253_r8, & + 0.00020099457503339017_r8, 0.00020649447710902692_r8, & + 0.00021128063847089169_r8, 0.00021611364786520016_r8, & + 0.00022623625104516062_r8, 0.00023176544162590876_r8, & + 0.00023796023229053219_r8, 0.00024477502397637565_r8, & + 0.00024871092573570177_r8, 0.00025288196197557943_r8, & + 0.00025269271801493782_r8, 0.000251412939464604_r8, & + 0.00025149240808209651_r8, 0.00025247175687085016_r8, & + 0.00025613421696731048_r8, 0.00025916106468932355_r8, & + 0.00025942561281921587_r8, 0.00025324690199674021_r8, & + 0.00024703289155108649_r8, 0.00024103753249294724_r8, & + 0.00024303580092757682_r8, 0.0002450031955889105_r8, & + 0.00024469152190051505_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,78) / & + 0.00015051800223046119_r8, 0.00015093970925249549_r8, & + 0.00014635993742477451_r8, 0.00014653822100277059_r8, & + 0.00015524264392522059_r8, 0.00015735843031233429_r8, & + 0.00016432962261398454_r8, 0.00017248672895152465_r8, & + 0.00017692571777814462_r8, 0.00018100270280104611_r8, & + 0.00018486746049577426_r8, 0.00018943061398433959_r8, & + 0.00019666340570420029_r8, 0.00020234239542168243_r8, & + 0.00020546082113895647_r8, 0.00021032498970452012_r8, & + 0.00021821115784178383_r8, 0.00022863185520683983_r8, & + 0.00023319492832069055_r8, 0.00023790370215082975_r8, & + 0.00024088940270668876_r8, 0.00023760427657889061_r8, & + 0.00023520792343404787_r8, 0.0002352771999054531_r8, & + 0.00023724894318588816_r8, 0.00024070178742935497_r8, & + 0.00024715586548528076_r8, 0.00024960042362305818_r8, & + 0.00025056433401904609_r8, 0.00025074441660319_r8, & + 0.00025151762408442431_r8, 0.0002510682070440442_r8, & + 0.0002500106990206595_r8, 0.00025108529429896395_r8, & + 0.00025057097429859415_r8, 0.00025119260693677017_r8, & + 0.00024989063017908774_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,78) / & + 7.2417913588857026e-05_r8, 7.4366325734725691e-05_r8, & + 7.1941998575933443e-05_r8, 5.9762342958849201e-05_r8, & + 6.1039227512455798e-05_r8, 6.5448756505832994e-05_r8, & + 7.2562746755029572e-05_r8, 8.996928931802103e-05_r8, & + 0.00010305314973013983_r8, 0.00011323416617845493_r8, & + 0.0001201337060761585_r8, 0.00012748712246061898_r8, & + 0.00013514587764158672_r8, 0.00014350303285934864_r8, & + 0.0001489375495152287_r8, 0.00015525083820212834_r8, & + 0.00016350795369667794_r8, 0.00017293467867218198_r8, & + 0.0001802372051699315_r8, 0.00018670253920667143_r8, & + 0.0001944930114074011_r8, 0.00019416242383622775_r8, & + 0.00019969860580756505_r8, 0.00020472908558938927_r8, & + 0.00020797094360706133_r8, 0.00021495241310107681_r8, & + 0.00022120531575396945_r8, 0.00022918854675144725_r8, & + 0.00023938316560621193_r8, 0.00024487119426243136_r8, & + 0.00025098376203664736_r8, 0.00025502548105768168_r8, & + 0.00025671493397002074_r8, 0.00025908997406112885_r8, & + 0.00026070533421012634_r8, 0.00026161947664290742_r8, & + 0.00026016265855603315_r8, 0.00026435459688915194_r8, & + 0.00026042217639181419_r8, 0.00025647271747921487_r8, & + 0.00025585333365184579_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,78) / & + 2.0470427995557268e-05_r8, 2.1366679383012103e-05_r8, & + 2.2420781329922194e-05_r8, 2.0260597223108555e-05_r8, & + 2.0734706233089599e-05_r8, 2.1662891344254919e-05_r8, & + 2.7539048155513372e-05_r8, 3.4214795820185658e-05_r8, & + 4.0204821739926894e-05_r8, 4.5290175086822301e-05_r8, & + 4.8902854889420139e-05_r8, 5.128511440156165e-05_r8, & + 5.4424263714793159e-05_r8, 6.315358154617673e-05_r8, & + 7.0704635880428234e-05_r8, 7.9626360351367276e-05_r8, & + 9.4110342243212372e-05_r8, 0.00010779712888545747_r8, & + 0.00012084000548399321_r8, 0.00013298718392610475_r8, & + 0.00014621677965428892_r8, 0.00015296032172888488_r8, & + 0.00016322593489010855_r8, 0.00017133456782483862_r8, & + 0.00017679134117709711_r8, 0.00018407090573960687_r8, & + 0.0001900943285791066_r8, 0.00019942644634987676_r8, & + 0.00021066605730196746_r8, 0.00022363416681205479_r8, & + 0.00023577168430331368_r8, 0.00024653364985665856_r8, & + 0.00025419778542778591_r8, 0.00026064774999886648_r8, & + 0.00026370906166040225_r8, 0.00026597465944874066_r8, & + 0.00026540579889263767_r8, 0.0002655330203147304_r8, & + 0.00026133751686257471_r8, 0.00026461406966218242_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,78) / & + 1.0462819921174849e-05_r8, 1.085197048452485e-05_r8, & + 1.1958211530257208e-05_r8, 1.0731413538302151e-05_r8, & + 1.208478545485071e-05_r8, 1.3720659452077605e-05_r8, & + 1.837146204807481e-05_r8, 2.1336560492519114e-05_r8, & + 2.4200983617778009e-05_r8, 2.6870952638658132e-05_r8, & + 2.8508476641548149e-05_r8, 2.953651383302992e-05_r8, & + 3.1711679135988781e-05_r8, 3.7245798934994327e-05_r8, & + 4.366947059368209e-05_r8, 5.1618184363688961e-05_r8, & + 6.4852254771310556e-05_r8, 7.9298938496758021e-05_r8, & + 9.4826676374038662e-05_r8, 0.00011042380017083527_r8, & + 0.00012379967695447106_r8, 0.00013660804234511434_r8, & + 0.00014696961210306018_r8, 0.00015481286677559514_r8, & + 0.00016079197092885804_r8, 0.0001657321305875709_r8, & + 0.00017037148501621764_r8, 0.00017588737881224308_r8, & + 0.00017757439476177235_r8, 0.00017613556225111492_r8, & + 0.00018166103098508901_r8, 0.00019161190207544465_r8, & + 0.00020797250217855306_r8, 0.00022494202061218392_r8, & + 0.00023579305229590709_r8, 0.0002443776649984639_r8, & + 0.00025089990329075275_r8, 0.00025857281636462503_r8, & + 0.00026475324189610607_r8, 0.00026831643336266389_r8, & + 0.00027112377897436105_r8, 0.00027284380452943856_r8, & + 0.00027368942791908534_r8, 0.00027400363510567707_r8, & + 0.00027328801077047626_r8 & + / +data saar_ref(:,11,78) / & + 6.6807531920774604e-06_r8, 7.0685564867058778e-06_r8, & + 6.5202435323233453e-06_r8, 5.2365135303638586e-06_r8, & + 5.6036382706379261e-06_r8, 6.5025976934492792e-06_r8, & + 1.0207836431366117e-05_r8, 1.1652608240839473e-05_r8, & + 1.4059104804738193e-05_r8, 1.702575403784141e-05_r8, & + 1.9143062545856369e-05_r8, 2.0207180395797097e-05_r8, & + 2.2820722134002289e-05_r8, 2.5868186633124327e-05_r8, & + 2.9571118190577373e-05_r8, 3.3478314614775957e-05_r8, & + 4.2478927068328486e-05_r8, 5.3168148934011299e-05_r8, & + 6.7784627422397972e-05_r8, 8.2636958242475236e-05_r8, & + 9.7704580987093502e-05_r8, 0.00011113137106934789_r8, & + 0.00012364126051306565_r8, 0.00013295306525121231_r8, & + 0.0001405685340988058_r8, 0.0001456081130145991_r8, & + 0.00014864436617813449_r8, 0.00014971912994816934_r8, & + 0.00014530010540867683_r8, 0.00014322463245507557_r8, & + 0.00014956082688260793_r8, 0.00016830902300409185_r8, & + 0.00018993704859486754_r8, 0.00021410518674467633_r8, & + 0.00022992432298819736_r8, 0.00024096525276279908_r8, & + 0.0002498694960775439_r8, 0.00025822389206555995_r8, & + 0.0002646059039547901_r8, 0.00026815031174278056_r8, & + 0.00027090254305565844_r8, 0.00027213701906138055_r8, & + 0.00027314532612853718_r8, 0.00027334509309524845_r8, & + 0.00027277128557008775_r8 & + / +data saar_ref(:,12,78) / & + 4.8719963332724738e-06_r8, 5.3029965109952545e-06_r8, & + 4.1462104170857852e-06_r8, 4.486264127327887e-06_r8, & + 5.0266814180439744e-06_r8, 5.2667891114096193e-06_r8, & + 6.9217573543600267e-06_r8, 8.709904601480024e-06_r8, & + 1.0029532315831932e-05_r8, 1.1530082788742438e-05_r8, & + 1.2935740829410205e-05_r8, 1.4532318408312904e-05_r8, & + 1.5697432414385391e-05_r8, 1.8318415253344297e-05_r8, & + 2.2147437070935156e-05_r8, 2.5048864171361862e-05_r8, & + 3.1553374319562164e-05_r8, 3.9995318749333398e-05_r8, & + 5.0894883452774028e-05_r8, 6.3321755975563154e-05_r8, & + 7.6741076044613304e-05_r8, 9.0566987376796657e-05_r8, & + 0.00010395136308466691_r8, 0.00011598111943853197_r8, & + 0.00012678076203694996_r8, 0.00013409151837503664_r8, & + 0.00013781745140485017_r8, 0.00013980546339804285_r8, & + 0.00013343081005095885_r8, 0.00012603368959069504_r8, & + 0.00012598871782087891_r8, 0.00013938144016986166_r8, & + 0.00016329545691865527_r8, 0.00019932279588143052_r8, & + 0.00022601079955125887_r8, 0.0002426492666460629_r8, & + 0.00025461760818497862_r8, 0.0002640809345535271_r8, & + 0.00026910608177159787_r8, 0.00027195573522337686_r8, & + 0.00027408819177274815_r8, 0.00027537686703460522_r8, & + 0.00027534862428365317_r8, 0.00027392794857475567_r8, 9e90_r8 & + / +data saar_ref(:,13,78) / & + 5.5640131050685665e-06_r8, 5.925887513011231e-06_r8, & + 5.1063534349395173e-06_r8, 4.2051338394232736e-06_r8, & + 4.3041206098694858e-06_r8, 4.2443889529909211e-06_r8, & + 4.9362329287598227e-06_r8, 5.81022148706278e-06_r8, & + 6.6056640539070826e-06_r8, 7.1051658872871524e-06_r8, & + 7.7238594805027262e-06_r8, 8.8767750784823826e-06_r8, & + 9.2296842883108726e-06_r8, 1.0554853813363831e-05_r8, & + 1.2422250039692599e-05_r8, 1.4306858771101917e-05_r8, & + 2.0017362491103467e-05_r8, 2.7076184449884453e-05_r8, & + 3.447490736223714e-05_r8, 4.3457534012172156e-05_r8, & + 5.4829053870400856e-05_r8, 7.0258545738993578e-05_r8, & + 8.4627577566902997e-05_r8, 9.6563130812682576e-05_r8, & + 0.00010743940985774114_r8, 0.00011601657061111945_r8, & + 0.00012142015670145505_r8, 0.0001259228381068568_r8, & + 0.00011750085064014007_r8, 0.0001110587415062984_r8, & + 0.00010501282900705875_r8, 0.00010967312587109253_r8, & + 0.00013638251050704627_r8, 0.0001893519723348572_r8, & + 0.00022317756035052926_r8, 0.0002466391112298535_r8, & + 0.00025969734247276031_r8, 0.0002677024381563616_r8, & + 0.00027164348434491722_r8, 0.0002738930862544156_r8, & + 0.00027625629120303581_r8, 0.00027786538345928843_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,78) / & + 7.4041618634171515e-06_r8, 7.2423273144816524e-06_r8, & + 6.3470549387211168e-06_r8, 4.7870645224745258e-06_r8, & + 4.431626192042008e-06_r8, 4.2982783715722339e-06_r8, & + 3.7805604110700017e-06_r8, 4.2033075139016976e-06_r8, & + 4.2337694629502376e-06_r8, 4.630460517975404e-06_r8, & + 5.0360235537649833e-06_r8, 5.8615972149926754e-06_r8, & + 6.5433300696179785e-06_r8, 7.7940928749194897e-06_r8, & + 9.1781650069207663e-06_r8, 1.0967320179086084e-05_r8, & + 1.6608900138741611e-05_r8, 2.4073570433535061e-05_r8, & + 3.084703740333863e-05_r8, 3.9399624108604451e-05_r8, & + 4.9329796051073809e-05_r8, 6.3549730175555596e-05_r8, & + 7.7047403665131184e-05_r8, 8.8812213219631027e-05_r8, & + 9.9686011073603386e-05_r8, 0.00010930776763616334_r8, & + 0.00011357316059036026_r8, 0.00011069724323005166_r8, & + 9.3013424266040389e-05_r8, 8.4601607227884307e-05_r8, & + 8.1633858164457216e-05_r8, 9.446748261525607e-05_r8, & + 0.00012927480808509314_r8, 0.00017780442297641748_r8, & + 0.00021514924561488104_r8, 0.000242881998481293_r8, & + 0.00026054113928900143_r8, 0.00026768533415159429_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,78) / & + 7.9905684878805711e-06_r8, 7.4155458797479009e-06_r8, & + 5.0641824828685657e-06_r8, 4.2800661131629828e-06_r8, & + 4.2192535028020611e-06_r8, 3.9890027868053344e-06_r8, & + 3.810832706987988e-06_r8, 3.2856391374847573e-06_r8, & + 3.2945984267056739e-06_r8, 3.4773847667993687e-06_r8, & + 3.7982947424152502e-06_r8, 4.5370773684281974e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,78) / & + 4.1790459629201789e-05_r8, 1.4934658775834166e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,78) / & + 0.00010859846521307971_r8, 2.5414062366396679e-05_r8, & + 1.3377719678250883e-05_r8, 9.8262855942534232e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,78) / & + 2.7127478975362176e-05_r8, 1.6270791465222162e-05_r8, & + 1.2431246173194737e-05_r8, 1.0412053882813675e-05_r8, & + 9.1635774039205038e-06_r8, 8.7735378338894823e-06_r8, & + 1.0283046916720359e-05_r8, 1.4041981943677531e-05_r8, & + 1.9972472689713222e-05_r8, 2.7651582972533783e-05_r8, & + 3.495412252522892e-05_r8, 4.5350251732873612e-05_r8, & + 5.8470576083302055e-05_r8, 6.7952036499106352e-05_r8, & + 7.5294598560007604e-05_r8, 8.4156717746768078e-05_r8, & + 0.00010074744548468323_r8, 0.00011393964555663836_r8, & + 0.00012500341653030734_r8, 0.00013255169086960505_r8, & + 0.00013410990622614083_r8, 0.0001284710971428789_r8, & + 0.00011632485538915788_r8, 0.00010420120806116575_r8, & + 9.357536203544398e-05_r8, 8.4205267769289121e-05_r8, & + 7.7463907400001126e-05_r8, 7.4588577287779007e-05_r8, & + 8.2674489749125303e-05_r8, 9.4407329570523046e-05_r8, & + 0.00010696754256123203_r8, 0.00012117397922907539_r8, & + 0.00013407242934227731_r8, 0.0001404928617332396_r8, & + 0.00014390309864269462_r8, 0.00014955394641350762_r8, & + 0.00015922859779056905_r8, 0.00017717462373711835_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,78) / & + 1.2908415556485462e-05_r8, 1.2117058432486549e-05_r8, & + 1.1717804007192927e-05_r8, 1.0124807516043408e-05_r8, & + 9.3565804623074687e-06_r8, 9.1223143645535825e-06_r8, & + 1.0348546845314473e-05_r8, 1.4032217583851876e-05_r8, & + 1.9167745025625561e-05_r8, 2.743857173902064e-05_r8, & + 3.4778668453106322e-05_r8, 4.4180494428379105e-05_r8, & + 5.6392031389060125e-05_r8, 6.6890517418069943e-05_r8, & + 7.4843467559737226e-05_r8, 8.3548360779532829e-05_r8, & + 0.00010112662358357625_r8, 0.00011496830448857186_r8, & + 0.00012788279259323755_r8, 0.00013622969499965147_r8, & + 0.00013783114407620335_r8, 0.00013406391139252633_r8, & + 0.00012305817092408882_r8, 0.00011024508050873204_r8, & + 9.9846658725344541e-05_r8, 8.906954753036203e-05_r8, & + 8.2506291239286877e-05_r8, 7.9774136141068077e-05_r8, & + 9.0133560323345569e-05_r8, 0.00010246507778783959_r8, & + 0.00011649338835263972_r8, 0.00013403154789388798_r8, & + 0.00015002182031743881_r8, 0.00015557634048367409_r8, & + 0.00015763117394769098_r8, 0.0001601293521556644_r8, & + 0.00016686200623597042_r8, 0.00018445009531717951_r8, & + 0.00021745881677783619_r8, 0.00028324680277738463_r8, & + 0.00032275599804716014_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,78) / & + 8.333580488195411e-06_r8, 9.2076564455141577e-06_r8, & + 8.627259478183481e-06_r8, 8.5978741461303053e-06_r8, & + 8.5746821049988616e-06_r8, 8.6170786197009042e-06_r8, & + 8.1317694198852239e-06_r8, 8.9361121930716348e-06_r8, & + 1.0500385015847015e-05_r8, 1.5279496012666274e-05_r8, & + 1.999194204526938e-05_r8, 2.4668779731566323e-05_r8, & + 3.345393281008565e-05_r8, 4.4070211050165425e-05_r8, & + 5.3715595135860477e-05_r8, 6.4738996504752849e-05_r8, & + 8.6858448802806755e-05_r8, 0.00010619278776444917_r8, & + 0.00012403737507936019_r8, 0.00013413037539431204_r8, & + 0.00013624602783568211_r8, 0.00013443520139814338_r8, & + 0.00012588472043071255_r8, 0.00011503688826004431_r8, & + 0.00010526335431134098_r8, 9.6327262996810203e-05_r8, & + 9.0467637485653173e-05_r8, 8.842023342474905e-05_r8, & + 0.00010125290159477074_r8, 0.00011616518108483962_r8, & + 0.00013379409941717611_r8, 0.00015098799801818827_r8, & + 0.00016637087192248589_r8, 0.00017499586070461725_r8, & + 0.00018116812718364108_r8, 0.00018776701058730399_r8, & + 0.000196256032642333_r8, 0.00021416163091222523_r8, & + 0.00024634373385129749_r8, 0.00029132983330549514_r8, & + 0.00032004782386431174_r8, 0.00032153067009102942_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,78) / & + 7.008405752646366e-06_r8, 7.9215371100880826e-06_r8, & + 5.9840692419031105e-06_r8, 6.3210603771797701e-06_r8, & + 5.8436987494641106e-06_r8, 5.697855798375732e-06_r8, & + 4.8647466681515889e-06_r8, 4.8534950405486359e-06_r8, & + 5.0708734490055732e-06_r8, 6.3880228347288601e-06_r8, & + 8.039672360859292e-06_r8, 1.0786746047149515e-05_r8, & + 1.4899175299821501e-05_r8, 2.0500617593829085e-05_r8, & + 2.7031000393987891e-05_r8, 3.5663062812862652e-05_r8, & + 5.5389254814826785e-05_r8, 7.8978129363272537e-05_r8, & + 0.00010293008928021334_r8, 0.00011925215729830409_r8, & + 0.00012681035933786785_r8, 0.00012792687705660653_r8, & + 0.00012238638781205763_r8, 0.00011317873254851945_r8, & + 0.00010457367669786535_r8, 9.7715022255782065e-05_r8, & + 9.4079426519434183e-05_r8, 9.7168987455589737e-05_r8, & + 0.00011407597618504408_r8, 0.00013228334926652089_r8, & + 0.00014991961438898352_r8, 0.00016433512540577145_r8, & + 0.000177239219721673_r8, 0.00018996187229491262_r8, & + 0.00020443788535842294_r8, 0.00021840220006484766_r8, & + 0.00023165982422593495_r8, 0.00024893511679901543_r8, & + 0.00026936457912068881_r8, 0.00028755417969262897_r8, & + 0.0003051449781660303_r8, 0.00031805678215353637_r8, & + 0.0003087082917561347_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,78) / & + 4.8697362558645081e-06_r8, 5.7689261648298344e-06_r8, & + 4.7284929258146909e-06_r8, 3.1279902364882329e-06_r8, & + 2.6424543736760069e-06_r8, 3.029300616407962e-06_r8, & + 3.0609027711632002e-06_r8, 3.7254084796247697e-06_r8, & + 4.4692388030998582e-06_r8, 5.04292086584921e-06_r8, & + 5.2708899734125641e-06_r8, 6.4773621289492214e-06_r8, & + 8.2872116181298549e-06_r8, 1.0759163960630822e-05_r8, & + 1.4521876805318812e-05_r8, 1.9015724741635405e-05_r8, & + 3.0995509996710577e-05_r8, 4.8571202150309424e-05_r8, & + 7.2675702665354089e-05_r8, 9.5380777176740767e-05_r8, & + 0.00010760318047022041_r8, 0.00011349193714326841_r8, & + 0.00011199990991835023_r8, 0.0001051741835105385_r8, & + 9.7977898481581995e-05_r8, 9.2253632131393683e-05_r8, & + 9.0937411766529077e-05_r8, 0.00010189546855972562_r8, & + 0.000122788710522144_r8, 0.00014324336370880828_r8, & + 0.00016126311330525112_r8, 0.00017577503833872944_r8, & + 0.00018897295582778401_r8, 0.00020404655238048404_r8, & + 0.00021928395429386037_r8, 0.00023302570190096049_r8, & + 0.00024559511209212224_r8, 0.00026149329875674066_r8, & + 0.00027698927620808066_r8, 0.00029135785517544121_r8, & + 0.00030320953626869696_r8, 0.00031321769649137306_r8, & + 0.0003163906045900551_r8, 0.00031452016480012108_r8, & + 0.00031642396213918839_r8 & + / +data saar_ref(:,29,78) / & + 3.7819520213997596e-06_r8, 4.4752029085209031e-06_r8, & + 4.2608813685240825e-06_r8, 4.0326238472848351e-06_r8, & + 3.9941002618838717e-06_r8, 4.3356407075057236e-06_r8, & + 4.4420431121592503e-06_r8, 5.4858594563054712e-06_r8, & + 5.9032437020266138e-06_r8, 6.0467580259127864e-06_r8, & + 6.5085977030757574e-06_r8, 7.6616661929712038e-06_r8, & + 1.054981198408433e-05_r8, 1.0936158656578975e-05_r8, & + 1.3402736673910744e-05_r8, 1.6265460090578796e-05_r8, & + 2.4114869941566991e-05_r8, 3.6703307531225363e-05_r8, & + 5.6768491551129325e-05_r8, 7.9229920135279855e-05_r8, & + 9.6338865369334918e-05_r8, 0.00010348533670464507_r8, & + 0.00010146890445464137_r8, 9.7304492106993083e-05_r8, & + 9.4059264305086852e-05_r8, 9.2326837825521183e-05_r8, & + 9.2922354611918798e-05_r8, 0.00010685118319133273_r8, & + 0.00012806575931861034_r8, 0.00014936053997573307_r8, & + 0.00016805340564146458_r8, 0.00018262467805522025_r8, & + 0.0001967667902392489_r8, 0.00020761905053303379_r8, & + 0.0002177281171154783_r8, 0.00023080252714829179_r8, & + 0.00024551076082656424_r8, 0.0002644652118036545_r8, & + 0.00028184764362744382_r8, 0.00029701542276886682_r8, & + 0.0003083668220826806_r8, 0.00031602530312641622_r8, & + 0.00032033794349352752_r8, 0.00032597661664017209_r8, & + 0.00033054076136827891_r8 & + / +data saar_ref(:,30,78) / & + 5.2893406787820908e-06_r8, 6.2407133961781159e-06_r8, & + 6.2594079280523006e-06_r8, 7.2238488351160024e-06_r8, & + 7.5924046255851309e-06_r8, 7.6030365959960139e-06_r8, & + 8.0841667806675871e-06_r8, 7.3245871841456264e-06_r8, & + 7.9127723900311453e-06_r8, 8.4195880730671122e-06_r8, & + 8.9483266278449777e-06_r8, 1.0747648489225596e-05_r8, & + 1.3409174732458874e-05_r8, 1.3731637125407062e-05_r8, & + 1.6086509269748908e-05_r8, 1.8243008276086225e-05_r8, & + 2.4695734730882888e-05_r8, 3.4400870293945392e-05_r8, & + 5.2339044105667958e-05_r8, 7.1145672741251809e-05_r8, & + 8.5319232236443957e-05_r8, 9.118792786357572e-05_r8, & + 9.0242604056308954e-05_r8, 8.7615577300328453e-05_r8, & + 8.6785346613790394e-05_r8, 8.68881766858485e-05_r8, & + 8.7997991091514025e-05_r8, 9.7902264227331162e-05_r8, & + 0.00011609730723260483_r8, 0.00013640072184539927_r8, & + 0.00015616486196861953_r8, 0.00016899037494594888_r8, & + 0.00018143770812750003_r8, 0.00018944617730303742_r8, & + 0.00019636191713326203_r8, 0.00020920786806869881_r8, & + 0.00022710597818790344_r8, 0.00024902244875283584_r8, & + 0.00027541360334186129_r8, 0.00029609464222176194_r8, & + 0.00031105979736115532_r8, 0.00031624030502924158_r8, & + 0.00032762233998690892_r8, 0.00033809606481337187_r8, 9e90_r8 & + / +data saar_ref(:,31,78) / & + 7.9918410158110837e-06_r8, 9.3359874064278511e-06_r8, & + 8.8928798762769631e-06_r8, 1.0993188694610077e-05_r8, & + 1.1626156067109909e-05_r8, 1.0815838996533855e-05_r8, & + 1.0199338956235508e-05_r8, 1.0621203899077668e-05_r8, & + 1.1006297510863562e-05_r8, 1.1484226072943186e-05_r8, & + 1.2480441655747045e-05_r8, 1.3686280905899909e-05_r8, & + 1.4901873000551901e-05_r8, 1.6065636359189213e-05_r8, & + 1.8102808003363677e-05_r8, 2.0443289410520221e-05_r8, & + 2.6396770535120002e-05_r8, 3.680133212262642e-05_r8, & + 5.6858540805905568e-05_r8, 7.6427596595584436e-05_r8, & + 8.7444168124492963e-05_r8, 8.9725560578638182e-05_r8, & + 8.8189158296396233e-05_r8, 8.5857670208503957e-05_r8, & + 8.4784487642163662e-05_r8, 8.4508712343725278e-05_r8, & + 8.4988671176397792e-05_r8, 9.0032571795527574e-05_r8, & + 9.9927770807821658e-05_r8, 0.00011530373090903955_r8, & + 0.00013234651785975059_r8, 0.00014641250334798282_r8, & + 0.00015811949060853651_r8, 0.00016893144097148051_r8, & + 0.0001801273965820229_r8, 0.00019579067926887191_r8, & + 0.00021422467102225184_r8, 0.00023220553265446977_r8, & + 0.00025446643838850216_r8, 0.00027510579319851332_r8, & + 0.00029402165165929233_r8, 0.00031020592330268884_r8, & + 0.00032694148006535691_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,78) / & + 1.0991947699386344e-05_r8, 1.1285774253744715e-05_r8, & + 1.0548886466786657e-05_r8, 1.1873761724480195e-05_r8, & + 1.2547887538244411e-05_r8, 1.257844550049962e-05_r8, & + 1.3261528928508077e-05_r8, 1.4864963501887687e-05_r8, & + 1.5742498097813249e-05_r8, 1.6769438097746629e-05_r8, & + 1.7968822417844148e-05_r8, 1.9395544418117883e-05_r8, & + 2.1631806186927396e-05_r8, 2.4771251973783534e-05_r8, & + 2.8477640329224765e-05_r8, 3.2820174448098891e-05_r8, & + 4.3051631814905622e-05_r8, 5.6154508208565303e-05_r8, & + 7.2552671211995712e-05_r8, 8.6856361071551046e-05_r8, & + 9.3376952378132326e-05_r8, 9.3283280870068598e-05_r8, & + 9.0779747271493537e-05_r8, 8.7816515547969808e-05_r8, & + 8.6094901005846246e-05_r8, 8.5321249687311915e-05_r8, & + 8.5281813593570389e-05_r8, 8.7951501044852593e-05_r8, & + 9.3962624806993435e-05_r8, 0.00010375369247529542_r8, & + 0.00011689743575751136_r8, 0.00013025826359859471_r8, & + 0.00014179093611984013_r8, 0.00015388528621072188_r8, & + 0.00016747033360939534_r8, 0.00018219105197923096_r8, & + 0.00019876009518973709_r8, 0.00021363485515901083_r8, & + 0.00022805344423807659_r8, 0.0002445693260172298_r8, & + 0.00026392441571079978_r8, 0.00027946681441343922_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,78) / & + 1.0390661163596128e-05_r8, 1.0134334124471006e-05_r8, & + 1.0133478581328056e-05_r8, 1.258298779656591e-05_r8, & + 1.4113332620495373e-05_r8, 1.670515398233745e-05_r8, & + 2.5926768908010297e-05_r8, 3.1506872597191708e-05_r8, & + 3.4950809155995837e-05_r8, 3.8097733485673706e-05_r8, & + 4.1604059079421223e-05_r8, 4.5646999278679527e-05_r8, & + 5.3188898743866607e-05_r8, 6.3251234547445452e-05_r8, & + 7.2313412406522042e-05_r8, 7.9731880317977544e-05_r8, & + 8.8583832792783358e-05_r8, 9.1364324783742057e-05_r8, & + 9.1530888669826162e-05_r8, 9.0655470134890252e-05_r8, & + 8.9529285208010085e-05_r8, 8.7976412724861123e-05_r8, & + 8.6789929769561078e-05_r8, 8.5865797519133678e-05_r8, & + 8.561667715098199e-05_r8, 8.5772835606677376e-05_r8, & + 8.653956088688966e-05_r8, 9.0924375580572216e-05_r8, & + 9.725739234177282e-05_r8, 0.00010659331852427232_r8, & + 0.00011632510793952506_r8, 0.00012614178859198137_r8, & + 0.0001343357149701977_r8, 0.00014665628058453464_r8, & + 0.00016371380698155074_r8, 0.00017875429680160845_r8, & + 0.00019912192385551693_r8, 0.00021417916240326867_r8, & + 0.00022635331269497242_r8, 0.00023856151308857383_r8, & + 0.00025999855948670176_r8, 0.0002520292684967799_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,78) / & + 8.0812584593859609e-06_r8, 7.9148673028621114e-06_r8, & + 8.1243154952839732e-06_r8, 1.0655020789654478e-05_r8, & + 1.3295813396544467e-05_r8, 1.7119325037633849e-05_r8, & + 2.4430625659773103e-05_r8, 2.7522909036548684e-05_r8, & + 2.9451174776190336e-05_r8, 3.1911665047603664e-05_r8, & + 3.6436780755192704e-05_r8, 4.710398568604014e-05_r8, & + 6.0544757736783152e-05_r8, 7.5037503627563041e-05_r8, & + 8.605573489888952e-05_r8, 9.4043643397759638e-05_r8, & + 9.7944607593258756e-05_r8, 9.3869638817662741e-05_r8, & + 9.0656943816758154e-05_r8, 8.9199154299417872e-05_r8, & + 8.897430380421626e-05_r8, 8.8259295467906228e-05_r8, & + 8.771692517143245e-05_r8, 8.8177353278925312e-05_r8, & + 8.8744603198455095e-05_r8, 8.9694394012333962e-05_r8, & + 9.1242397681664717e-05_r8, 9.6669562720239511e-05_r8, & + 0.00010245400805541436_r8, 0.00011287112204396323_r8, & + 0.00012286113247954067_r8, 0.00013166087264609576_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,78) / & + 1.0401665945175487e-05_r8, 1.0049128034733223e-05_r8, & + 1.029038224681868e-05_r8, 1.2332353324110019e-05_r8, & + 1.4125129323844627e-05_r8, 1.6208464303238687e-05_r8, & + 1.8382257877269243e-05_r8, 1.856964606437104e-05_r8, & + 1.8746243210648354e-05_r8, 2.1662727780452023e-05_r8, & + 2.4151055636675551e-05_r8, 2.8779592289117328e-05_r8, & + 2.8732378983268106e-05_r8, 3.6041465505493909e-05_r8, & + 4.6531334469407207e-05_r8, 5.4247130424978141e-05_r8, & + 8.1470579041508011e-05_r8, 8.4053142579182811e-05_r8, & + 8.2948576232153769e-05_r8, 8.4345785191850673e-05_r8, & + 8.3776631466642463e-05_r8, 8.4613691454537451e-05_r8, & + 8.4822596312738983e-05_r8, 8.5831546208022373e-05_r8, & + 8.6981900740839351e-05_r8, 8.5282517126349013e-05_r8, & + 8.6723149015934252e-05_r8, 9.0303705165326311e-05_r8, & + 9.4458538785244361e-05_r8, 9.7980819246756541e-05_r8, & + 0.00010298986088156333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,36,78) / & + 1.9309246612665592e-05_r8, 1.8761876339190947e-05_r8, & + 1.9330171737037741e-05_r8, 1.8877806932374184e-05_r8, & + 2.1139247427548026e-05_r8, 2.2692387529310957e-05_r8, & + 2.3799630547794602e-05_r8, 2.7326232319264302e-05_r8, & + 2.9220585289372023e-05_r8, 3.3219871922684208e-05_r8, & + 3.6568203341772693e-05_r8, 3.991890892000656e-05_r8, & + 4.0523657036662488e-05_r8, 5.0173097599035057e-05_r8, & + 5.9691543072981274e-05_r8, 7.0494723431914667e-05_r8, & + 8.0246795776743197e-05_r8, 8.2028011203453605e-05_r8, & + 8.2942105039180417e-05_r8, 8.4062712999370898e-05_r8, & + 8.4704204884923718e-05_r8, 8.6086021639110238e-05_r8, & + 8.7098596242720234e-05_r8, 8.7588078878963097e-05_r8, & + 8.7644699656134464e-05_r8, 8.7984526909860094e-05_r8, & + 8.9065240624996479e-05_r8, 9.1149396738518141e-05_r8, & + 9.4823791318373129e-05_r8, 9.7869889276881836e-05_r8, & + 0.00010102934174004_r8, 0.00010669064393103147_r8, & + 0.00010933278619732185_r8, 9.7381968385323449e-05_r8, & + 8.4305087190216689e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,78) / & + 3.1422825059983209e-05_r8, 3.0590312231207283e-05_r8, & + 3.11963581373182e-05_r8, 3.4335751463219663e-05_r8, & + 3.7651488311634444e-05_r8, 3.9946192636465e-05_r8, & + 4.5138804059681047e-05_r8, 5.3400768991502681e-05_r8, & + 5.7471164433116143e-05_r8, 6.1644127840930233e-05_r8, & + 6.4343298103593246e-05_r8, 6.8694029073859033e-05_r8, & + 7.2255571968607858e-05_r8, 7.7043206057673258e-05_r8, & + 7.8754892314743361e-05_r8, 8.0185439851609513e-05_r8, & + 8.2605482904772877e-05_r8, 8.3606641450318018e-05_r8, & + 8.4200499973112038e-05_r8, 8.4784724104330539e-05_r8, & + 8.5691826954440949e-05_r8, 8.6710529655854916e-05_r8, & + 8.769159686665301e-05_r8, 8.805665403372499e-05_r8, & + 8.837364811658647e-05_r8, 8.9131289909756043e-05_r8, & + 8.9780054603830989e-05_r8, 9.2085372650541389e-05_r8, & + 9.4880908451731849e-05_r8, 9.7938539326921159e-05_r8, & + 0.00010113251267409376_r8, 0.00010615149705661029_r8, & + 0.00010648656019450385_r8, 8.9341853585464041e-05_r8, & + 8.452322595305091e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,78) / & + 3.0868680204769033e-05_r8, 3.0061416410951777e-05_r8, & + 2.8910759678158683e-05_r8, 2.8511523289416372e-05_r8, & + 3.1112376660507624e-05_r8, 3.4066392617108274e-05_r8, & + 3.9839330302625531e-05_r8, 4.5674335400558913e-05_r8, & + 5.0117490383040464e-05_r8, 5.3803475365162957e-05_r8, & + 5.6475434710182914e-05_r8, 6.1999262170521607e-05_r8, & + 6.6276489961072582e-05_r8, 7.0521892733756817e-05_r8, & + 7.3521947019711541e-05_r8, 7.6092658659183336e-05_r8, & + 7.9830129739538204e-05_r8, 8.1211549123140682e-05_r8, & + 8.2567804049101385e-05_r8, 8.417194988196748e-05_r8, & + 8.5800297181978338e-05_r8, 8.6208678083683115e-05_r8, & + 8.7859258529079736e-05_r8, 8.9128414093449693e-05_r8, & + 8.9498724727170179e-05_r8, 9.0107684817167095e-05_r8, & + 9.1225397623527333e-05_r8, 9.4485521142359722e-05_r8, & + 9.7174549133310169e-05_r8, 0.00010117833698007781_r8, & + 0.00010418970440410736_r8, 0.00010698682096841027_r8, & + 0.00010480970474251454_r8, 8.6019959049153587e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,78) / & + 2.8012724785248124e-05_r8, 2.6348313529337366e-05_r8, & + 2.2975353344311058e-05_r8, 2.7573488783747677e-05_r8, & + 3.188731699371907e-05_r8, 3.4532452561933824e-05_r8, & + 4.121023450186509e-05_r8, 4.7857114158748033e-05_r8, & + 5.1469379725645741e-05_r8, 5.6465897868256614e-05_r8, & + 6.0229925466037256e-05_r8, 6.02389199408071e-05_r8, & + 6.0556674341555504e-05_r8, 6.6274392450916446e-05_r8, & + 7.3559755942260793e-05_r8, 7.9126019051281577e-05_r8, & + 8.4910345466730918e-05_r8, 8.0895414958003956e-05_r8, & + 8.1043161076106327e-05_r8, 8.3291491568317368e-05_r8, & + 8.5620666666629558e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,78) / & + 3.5206540671623325e-05_r8, 3.3366344307441016e-05_r8, & + 3.052664672890931e-05_r8, 4.7781020293234638e-05_r8, & + 5.4789767847074064e-05_r8, 5.71515025472303e-05_r8, & + 6.8213387576174936e-05_r8, 6.7225937771926282e-05_r8, & + 6.8101418115995972e-05_r8, 7.2763470553281962e-05_r8, & + 7.7037709190839519e-05_r8, 7.5773188539048395e-05_r8, & + 7.5810177510830803e-05_r8, 7.3998768248958324e-05_r8, & + 8.3570240536858607e-05_r8, 8.7320430022075482e-05_r8, & + 9.6077790335717398e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,78) / & + 3.1999255462662082e-05_r8, 3.5986721881246827e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,78) / & + 0.00012276113225340404_r8, 0.00011655908140122598_r8, & + 0.00010224215180216398_r8, 0.00011929449585593272_r8, & + 0.00011682727254457992_r8, 0.00011717945412611661_r8, & + 0.00012587597276751287_r8, 0.00013068305774977708_r8, & + 0.0001278359364302421_r8, 0.0001246443026572044_r8, & + 0.00011405389826904369_r8, 9.5821095781983124e-05_r8, & + 7.26083223653951e-05_r8, 7.0951064905694188e-05_r8, & + 7.0597746960554108e-05_r8, 6.8717044944118332e-05_r8, & + 6.7464664317834375e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,78) / & + 0.00011630031945379104_r8, 0.00011819415615926698_r8, & + 0.00011090142128942826_r8, 0.00010616055998077769_r8, & + 0.00011323316808845374_r8, 0.00012082995109937178_r8, & + 0.00012774067981878576_r8, 0.00012551440040077438_r8, & + 0.00011682221784045222_r8, 0.0001072756632694423_r8, & + 0.00010056763502535571_r8, 9.1990156118022418e-05_r8, & + 8.0375570499643771e-05_r8, 7.7970992664824499e-05_r8, & + 7.5722559695899833e-05_r8, 7.3721884326981808e-05_r8, & + 6.8598696094693195e-05_r8, 7.4047247893720055e-05_r8, & + 7.6130743873620854e-05_r8, 8.1121675025975137e-05_r8, & + 8.6014925887354044e-05_r8, 8.7076954427516408e-05_r8, & + 9.1721173270690681e-05_r8, 9.5177480894226946e-05_r8, & + 9.7120479447981213e-05_r8, 0.0001004612463472875_r8, & + 0.00010558545127429648_r8, 0.00011329666552099225_r8, & + 0.0001142379580521585_r8, 0.00011581975776860452_r8, & + 0.00011720569837490614_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,78) / & + 9.9410581769798065e-05_r8, 0.00011569270279271118_r8, & + 0.00011358531883695711_r8, 9.8828345106708167e-05_r8, & + 0.0001169261911473522_r8, 0.00012864285911905746_r8, & + 0.00012190773010895272_r8, 0.0001054018393182832_r8, & + 8.4976659598906114e-05_r8, 7.7600084418039063e-05_r8, & + 7.6838741011975412e-05_r8, 7.5580514088758506e-05_r8, & + 7.314091356146005e-05_r8, 7.379848520483585e-05_r8, & + 7.2823635278534846e-05_r8, 7.3912768967715898e-05_r8, & + 7.2331622951818516e-05_r8, 7.4023125671987444e-05_r8, & + 7.6410456077918062e-05_r8, 7.9542489150760605e-05_r8, & + 8.3587579146907702e-05_r8, 8.6749504826738889e-05_r8, & + 9.1267654483148197e-05_r8, 9.5301819467071485e-05_r8, & + 0.00010005201114351154_r8, 0.0001043434855760326_r8, & + 0.00011113890684771901_r8, 0.00011867071332856466_r8, & + 0.00011893205961324203_r8, 0.00011868171078915221_r8, & + 0.00011959274119942079_r8, 0.00012001482775433847_r8, & + 0.00012061290548411972_r8, 0.00012037536198520196_r8, & + 0.0001209245555420071_r8, 0.00012140226641366358_r8, & + 0.00012431065200918967_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,79) / & + 0.00013710247020023785_r8, 0.00013718526570616089_r8, & + 0.00013753617458682593_r8, 0.00015242512781194062_r8, & + 0.00015325017212644356_r8, 0.00015569911280076317_r8, & + 0.00015450717469678047_r8, 0.00015590417848226424_r8, & + 0.00015792119527740942_r8, 0.00016111292880155681_r8, & + 0.00016980801034981505_r8, 0.00017952519359100831_r8, & + 0.00017602666166196645_r8, 0.00016744256283848295_r8, & + 0.00016257164860835924_r8, 0.00016034995641500753_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,79) / & + 0.00013710247020023785_r8, 0.00013718526570616089_r8, & + 0.00013753617458682593_r8, 0.00015242512781194062_r8, & + 0.00015325017212644356_r8, 0.00015569911280076317_r8, & + 0.00015450717469678047_r8, 0.00015590417848226424_r8, & + 0.00015792119527740942_r8, 0.00016111292880155681_r8, & + 0.00016980801034981505_r8, 0.00017952519359100831_r8, & + 0.00017602666166196645_r8, 0.00016744256283848295_r8, & + 0.00016257164860835924_r8, 0.00016034995641500753_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,79) / & + 0.00013710247020023785_r8, 0.00013718526570616089_r8, & + 0.00013753617458682593_r8, 0.00015242512781194062_r8, & + 0.00015325017212644356_r8, 0.00015569911280076317_r8, & + 0.00015450717469678047_r8, 0.00015590417848226424_r8, & + 0.00015792119527740942_r8, 0.00016111292880155681_r8, & + 0.00016980801034981505_r8, 0.00017952519359100831_r8, & + 0.00017602666166196645_r8, 0.00016744256283848295_r8, & + 0.00016257164860835924_r8, 0.00016034995641500753_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,79) / & + 0.00014204549597878188_r8, 0.00014119326491223759_r8, & + 0.00014154851570448388_r8, 0.00015251566200184837_r8, & + 0.00015750847980942599_r8, 0.00015920697704075452_r8, & + 0.00016020898368532491_r8, 0.00016312393956749918_r8, & + 0.0001671775886862846_r8, 0.00017252246741901524_r8, & + 0.00017884701958080919_r8, 0.00018321889722042414_r8, & + 0.00018025417077569244_r8, 0.00018182708075326756_r8, & + 0.00018736111451271895_r8, 0.0001849243302198942_r8, & + 0.00019881136124740435_r8, 0.000225873921926721_r8, & + 0.00022973092572483027_r8, 0.00023190122965654559_r8, & + 0.00023568778665762651_r8, 0.00024335319246143785_r8, & + 0.00023812576403649854_r8, 0.0002385484353667266_r8, & + 0.00024380909655272209_r8, 0.00024508325375095368_r8, & + 0.00024749163745831976_r8, 0.00024579551304978428_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,79) / & + 0.00016739316332333335_r8, 0.00016572477794198808_r8, & + 0.00016575521465272706_r8, 0.00016638629555455056_r8, & + 0.00017300081734129941_r8, 0.00016729328635903029_r8, & + 0.00017406776516025251_r8, 0.00018269537898072175_r8, & + 0.00018877680967623034_r8, 0.00019492357376916004_r8, & + 0.00019987090403517403_r8, 0.00020401339846603145_r8, & + 0.00020781481263092681_r8, 0.00021244200658836372_r8, & + 0.00021792794219864856_r8, 0.00022026737218167503_r8, & + 0.00022682895065843307_r8, 0.00023419793502155151_r8, & + 0.00023881724655498072_r8, 0.00024181098782958415_r8, & + 0.00024490509412557811_r8, 0.00024933268989394596_r8, & + 0.0002484306321866354_r8, 0.00024774359991598481_r8, & + 0.00024919480026934103_r8, 0.00025024221125805258_r8, & + 0.00025230490171278686_r8, 0.00025107754344159565_r8, & + 0.000252773824466779_r8, 0.00024890818091187668_r8, & + 0.00024894934020843379_r8, 0.00025325817048239493_r8, & + 0.00024813254387908503_r8, 0.00024961148451629509_r8, & + 0.00025145250417086141_r8, 0.00025183406207265197_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,79) / & + 0.0001835810490016117_r8, 0.00018027704340034187_r8, & + 0.00017858355082603407_r8, 0.00016538047811795768_r8, & + 0.00018074463202654716_r8, 0.00017449634057108802_r8, & + 0.00018316957817898102_r8, 0.00019268781387881786_r8, & + 0.00019884967485712978_r8, 0.00020607534683676513_r8, & + 0.00021176753848920632_r8, 0.00021611685684817236_r8, & + 0.00022220072228058778_r8, 0.00022627639543201867_r8, & + 0.00022939868731952566_r8, 0.00023315862838454906_r8, & + 0.00024053642454914548_r8, 0.00024620696213297416_r8, & + 0.00025222896068233681_r8, 0.0002568164492466872_r8, & + 0.00025960118337954564_r8, 0.00026132431933442447_r8, & + 0.00026216275557126124_r8, 0.00025876447945021735_r8, & + 0.00025768580814379988_r8, 0.00025835430958597217_r8, & + 0.0002600832078765893_r8, 0.00026027327228405635_r8, & + 0.00025958173214561789_r8, 0.00025700123811558473_r8, & + 0.00025553760792487566_r8, 0.00025426980375853813_r8, & + 0.00025428330542416312_r8, 0.00025335722885037187_r8, & + 0.00025403639828284639_r8, 0.00025500958312439718_r8, & + 0.0002511954687023397_r8, 0.00024739144656813622_r8, & + 0.00023509787810707431_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,79) / & + 0.00015798061079663132_r8, 0.00015753478970296456_r8, & + 0.00015401490482051439_r8, 0.00014687032041350975_r8, & + 0.00015950784906032194_r8, 0.00016434092917956368_r8, & + 0.00017342435122797976_r8, 0.00018298472324124477_r8, & + 0.00018751151000987427_r8, 0.00019212898262192999_r8, & + 0.00019667129573500613_r8, 0.00020319650665465781_r8, & + 0.00021219033340817109_r8, 0.00021689829723061494_r8, & + 0.0002203922015806228_r8, 0.00022583822809082833_r8, & + 0.00023475459406146953_r8, 0.00024090494081927631_r8, & + 0.00024566000764317817_r8, 0.00024884557775673951_r8, & + 0.0002509112368517403_r8, 0.00025076282494290893_r8, & + 0.00025032904722145953_r8, 0.00024833940663171835_r8, & + 0.00024905667678074933_r8, 0.00025025313988179617_r8, & + 0.00025288765547284715_r8, 0.0002537530169035826_r8, & + 0.00025275543221020888_r8, 0.00025162271247609061_r8, & + 0.00025108335377952871_r8, 0.00024880756452692491_r8, & + 0.00024850857965295946_r8, 0.00025014002028034049_r8, & + 0.00025181603480570197_r8, 0.00025254194150076841_r8, & + 0.00024828177574698031_r8, 0.00024478753322136143_r8, & + 0.00023509787810707431_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,79) / & + 8.3602550104722845e-05_r8, 8.5272793668394155e-05_r8, & + 8.3244319274181994e-05_r8, 7.1800643358642453e-05_r8, & + 7.2992843920111427e-05_r8, 7.6474317495978076e-05_r8, & + 8.5770070284919595e-05_r8, 0.00010751568925666681_r8, & + 0.00012144427521120998_r8, 0.00013222591021006219_r8, & + 0.00013998817022679356_r8, 0.00014812730849905609_r8, & + 0.00015948033983684149_r8, 0.00016767581234735006_r8, & + 0.00017148208957544974_r8, 0.00017692513091125377_r8, & + 0.00018420425538176528_r8, 0.00019167406119526744_r8, & + 0.00019803955800095491_r8, 0.00020275360954406438_r8, & + 0.00020758277067965491_r8, 0.00020559405476932533_r8, & + 0.00021121607368827563_r8, 0.00021533007571926946_r8, & + 0.00021869166277338186_r8, 0.00022265560419093821_r8, & + 0.00022665587435373403_r8, 0.00023178809756143441_r8, & + 0.00024093152366614734_r8, 0.00024498549774884662_r8, & + 0.00025059480088486112_r8, 0.00025366101839931416_r8, & + 0.00025433644674503628_r8, 0.00025685936491795562_r8, & + 0.00025746789177899098_r8, 0.0002583989230882808_r8, & + 0.00025431848327857711_r8, 0.0002472453273110989_r8, & + 0.00024781717297940256_r8, 0.00025661254901998836_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,79) / & + 2.4388026643707373e-05_r8, 2.527606228406145e-05_r8, & + 2.6550846338621078e-05_r8, 2.390863388181641e-05_r8, & + 2.434617995365122e-05_r8, 2.6348946487140425e-05_r8, & + 3.3277672564438814e-05_r8, 4.2790830848882073e-05_r8, & + 5.1937721631317481e-05_r8, 6.0088355088803892e-05_r8, & + 6.6729408823975979e-05_r8, 7.1771555754924815e-05_r8, & + 8.1360153222040233e-05_r8, 9.5516064615200219e-05_r8, & + 0.00010519166793610022_r8, 0.00011576098579155477_r8, & + 0.00012916587821238144_r8, 0.00013986901793106778_r8, & + 0.00014919749546334743_r8, 0.00015778123627395335_r8, & + 0.00016660216372558147_r8, 0.00017209103719777037_r8, & + 0.00018098862770690575_r8, 0.00018736041062554246_r8, & + 0.00019181054960770843_r8, 0.00019663853038213649_r8, & + 0.00020115842655675945_r8, 0.00020984312970290703_r8, & + 0.00022184930686237344_r8, 0.00023039150982396132_r8, & + 0.00024366637126009734_r8, 0.00025255039503838323_r8, & + 0.00025659719222062007_r8, 0.00026304645102817359_r8, & + 0.00026568781690336377_r8, 0.00026677584790880428_r8, & + 0.00026649998746028304_r8, 0.00026622364223069826_r8, & + 0.0002638521163827754_r8, 0.00027225955891265884_r8, & + 0.00027592225244887615_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,79) / & + 1.0266473994963711e-05_r8, 1.0387954689035633e-05_r8, & + 1.20906724880686e-05_r8, 9.219944326018094e-06_r8, & + 1.0658683800362396e-05_r8, 1.2768202061902014e-05_r8, & + 1.8567123866621441e-05_r8, 2.2176834797373371e-05_r8, & + 2.650076650148735e-05_r8, 3.038058018875143e-05_r8, & + 3.3060518022069283e-05_r8, 3.5767327837853298e-05_r8, & + 4.0812410524752635e-05_r8, 4.8896396240251948e-05_r8, & + 5.73287966234861e-05_r8, 6.6717535161100485e-05_r8, & + 8.3249492498483349e-05_r8, 9.7882959516938975e-05_r8, & + 0.00011017371357168728_r8, 0.00012326592734808662_r8, & + 0.00013551930022698603_r8, 0.00014818118234400464_r8, & + 0.00015982002025970469_r8, 0.00016633652820816699_r8, & + 0.00017156733755171338_r8, 0.00017558155053521511_r8, & + 0.00017897692307910102_r8, 0.00018402870419215753_r8, & + 0.00018874825123679594_r8, 0.0001960667448626394_r8, & + 0.00020594393509608245_r8, 0.0002061520384848546_r8, & + 0.00021403207519628964_r8, 0.00022668731074684372_r8, & + 0.00023609210918295413_r8, 0.00024502825155193125_r8, & + 0.00025301812742445747_r8, 0.00025985778850546015_r8, & + 0.00026511418011352029_r8, 0.00026877576168038778_r8, & + 0.00027164937580832402_r8, 0.00027284290655564953_r8, & + 0.0002731043261694173_r8, 0.00027330993533833018_r8, & + 0.00027374885185142467_r8 & + / +data saar_ref(:,11,79) / & + 5.3993993430211896e-06_r8, 5.5884240453638087e-06_r8, & + 5.3397774193570799e-06_r8, 4.5764728723068436e-06_r8, & + 4.6219558890962843e-06_r8, 4.7902633522917899e-06_r8, & + 8.9257692867874771e-06_r8, 9.8631172779998033e-06_r8, & + 1.1649193151979531e-05_r8, 1.4230522448963988e-05_r8, & + 1.6818566970814187e-05_r8, 1.8532412619102986e-05_r8, & + 2.3123512712342236e-05_r8, 2.659418309719777e-05_r8, & + 2.9740389937086835e-05_r8, 3.3232757348008095e-05_r8, & + 4.2365551156687962e-05_r8, 5.3607955435953407e-05_r8, & + 6.6514316614489205e-05_r8, 8.0986518634943951e-05_r8, & + 9.5991075680231989e-05_r8, 0.00011156882238578721_r8, & + 0.00012824914957666861_r8, 0.00013705801977882527_r8, & + 0.00014370155157294309_r8, 0.00014846707445807444_r8, & + 0.00015068347170764956_r8, 0.00015061724555230776_r8, & + 0.0001444262442258827_r8, 0.00014259352755413104_r8, & + 0.00014959616556613355_r8, 0.0001689265046883044_r8, & + 0.00019428097121137222_r8, 0.00021762527583362015_r8, & + 0.00023020108832730031_r8, 0.00024084121762187288_r8, & + 0.0002511399059578478_r8, 0.00025856030478711272_r8, & + 0.00026455921347201533_r8, 0.00026794532339748388_r8, & + 0.00027056372253186412_r8, 0.00027166962891881117_r8, & + 0.00027236841826326814_r8, 0.00027308058070950152_r8, & + 0.00027366358234614499_r8 & + / +data saar_ref(:,12,79) / & + 3.175521522334652e-06_r8, 3.4934427387377247e-06_r8, & + 2.3413049626734483e-06_r8, 3.9370299759308246e-06_r8, & + 4.099187717848477e-06_r8, 3.9365467888732582e-06_r8, & + 5.7390079942043056e-06_r8, 7.4879408559646024e-06_r8, & + 8.6968833700807461e-06_r8, 1.0110377311164895e-05_r8, & + 1.1847659543635494e-05_r8, 1.3974348752622915e-05_r8, & + 1.6715075801242733e-05_r8, 2.0239442718926512e-05_r8, & + 2.3928841442095917e-05_r8, 2.7027233992265323e-05_r8, & + 3.4538613052471621e-05_r8, 4.3768192929688222e-05_r8, & + 5.4680784471935699e-05_r8, 6.7566613268011755e-05_r8, & + 8.0828067597738055e-05_r8, 9.4416237421780788e-05_r8, & + 0.00010842271590615024_r8, 0.00011930430401757912_r8, & + 0.00012755869939753484_r8, 0.00013317997211228952_r8, & + 0.0001361255426052358_r8, 0.0001337397336218767_r8, & + 0.00012345084880347073_r8, 0.0001204005501607723_r8, & + 0.0001243805990860697_r8, 0.00014520923766068064_r8, & + 0.00017702314707050592_r8, 0.00020861713092989748_r8, & + 0.00023015050141877511_r8, 0.00024389294212213926_r8, & + 0.00025548165188675541_r8, 0.00026376814208529335_r8, & + 0.0002691373472707894_r8, 0.00027207350314429322_r8, & + 0.00027422636913729465_r8, 0.00027630178192464223_r8, & + 0.00027604145298879267_r8, 0.00027589153363754795_r8, 9e90_r8 & + / +data saar_ref(:,13,79) / & + 3.3745946839302481e-06_r8, 3.5434866655707582e-06_r8, & + 2.9985970452639708e-06_r8, 3.2592502927930032e-06_r8, & + 3.3244826846011066e-06_r8, 3.3593618750532465e-06_r8, & + 3.4988085546326673e-06_r8, 4.2492018085330519e-06_r8, & + 5.1762513349908106e-06_r8, 5.8550284796323215e-06_r8, & + 6.6377866329181253e-06_r8, 7.4853519511661212e-06_r8, & + 8.2138702597701249e-06_r8, 9.7650805708807816e-06_r8, & + 1.1829893503983752e-05_r8, 1.4021894347408407e-05_r8, & + 1.9315094794373686e-05_r8, 2.6120827091089038e-05_r8, & + 3.3970508916308931e-05_r8, 4.3717848961657919e-05_r8, & + 5.4919443370298619e-05_r8, 6.7861096604365925e-05_r8, & + 8.1464279936960485e-05_r8, 9.4862364365290734e-05_r8, & + 0.00010699955482968709_r8, 0.00011640325978693117_r8, & + 0.00012251485316968366_r8, 0.00012273405195146317_r8, & + 0.00010998104030804057_r8, 0.00010108330904557711_r8, & + 9.8752788038448101e-05_r8, 0.00010989719226444767_r8, & + 0.00014065176454470369_r8, 0.00018545376202476599_r8, & + 0.00022110270458042039_r8, 0.00024285338896523197_r8, & + 0.00025750688135510615_r8, 0.00026664072824665168_r8, & + 0.00027163348182686461_r8, 0.00027406114285979553_r8, & + 0.00027585444150276498_r8, 0.00027826219093038705_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,79) / & + 3.832096429228475e-06_r8, 3.8373866580969171e-06_r8, & + 3.3614116953194948e-06_r8, 3.2999840919275957e-06_r8, & + 3.1606349566537066e-06_r8, 3.0642979458424248e-06_r8, & + 3.1748051289388213e-06_r8, 3.2823956634769318e-06_r8, & + 3.5119895698067927e-06_r8, 3.8578068352587415e-06_r8, & + 4.2634832168405269e-06_r8, 4.7768036448072595e-06_r8, & + 5.3645363768516178e-06_r8, 6.186400100781751e-06_r8, & + 7.5265829711713906e-06_r8, 9.2788206591950256e-06_r8, & + 1.4229339727752934e-05_r8, 2.1550253132474517e-05_r8, & + 2.8564438227367375e-05_r8, 3.829013570862688e-05_r8, & + 4.7595907933692131e-05_r8, 5.9663157103779728e-05_r8, & + 7.2555818008513979e-05_r8, 8.6421000230877849e-05_r8, & + 9.742510874259667e-05_r8, 0.00010540735137405598_r8, & + 0.00011060055255363393_r8, 0.00010192327182408241_r8, & + 8.583651746791995e-05_r8, 7.3922802968461404e-05_r8, & + 7.2826504945680805e-05_r8, 8.4086005541640397e-05_r8, & + 0.000115447712880295_r8, 0.00017005880715402759_r8, & + 0.00021502727076531307_r8, 0.00024482464972289776_r8, & + 0.00026097927611932586_r8, 0.00026788462879358992_r8, & + 0.00027210968989144202_r8, 0.00027319944342700162_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,79) / & + 5.4324468655468749e-06_r8, 5.048218185737313e-06_r8, & + 4.3423291573287764e-06_r8, 4.1365653843250821e-06_r8, & + 3.998877855699682e-06_r8, 3.7855064755887386e-06_r8, & + 4.1232283388877708e-06_r8, 3.8784764051101271e-06_r8, & + 4.0220997189516212e-06_r8, 4.1763672670526409e-06_r8, & + 4.5534818301398715e-06_r8, 5.0415857927818041e-06_r8, & + 5.8857591928534482e-06_r8, 6.7738259983988144e-06_r8, & + 8.0244916382726086e-06_r8, 9.7024172420777307e-06_r8, & + 1.4377065969906598e-05_r8, 2.305345520416179e-05_r8, & + 3.1653476861250624e-05_r8, 4.333196826783916e-05_r8, & + 5.2855706292355149e-05_r8, 6.5482499212218947e-05_r8, & + 7.7919847189946706e-05_r8, 9.1628895570379233e-05_r8, & + 9.9813750864645079e-05_r8, 0.00010443077032871905_r8, & + 0.00010582568956730667_r8, 8.9565576236198393e-05_r8, & + 7.1754439332138924e-05_r8, 6.2068852292895184e-05_r8, & + 6.0696041860539757e-05_r8, 6.7778922805880444e-05_r8, & + 8.8827661393911612e-05_r8, 0.00014324442612605886_r8, & + 0.00020378399483413415_r8, 0.00024726511756110737_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,79) / & + 7.7941031135572742e-06_r8, 7.1950866289701197e-06_r8, & + 6.7344868463123159e-06_r8, 6.8730536617488523e-06_r8, & + 7.0135534056644536e-06_r8, 6.7474926909923801e-06_r8, & + 6.9726540416591363e-06_r8, 6.8541826820970268e-06_r8, & + 6.9175466454561763e-06_r8, 7.3030250026182418e-06_r8, & + 7.849123945743118e-06_r8, 8.4309595143762653e-06_r8, & + 8.6114056309629711e-06_r8, 9.4160842715211164e-06_r8, & + 1.0681960749962871e-05_r8, 1.3234091935794683e-05_r8, & + 1.913575666820516e-05_r8, 2.8750063517800595e-05_r8, & + 3.8643606175726289e-05_r8, 5.3585787596103661e-05_r8, & + 6.759315285549912e-05_r8, 8.3949101193390532e-05_r8, & + 9.9268614872927556e-05_r8, 0.00011003308958774912_r8, & + 0.00011677567375409369_r8, 0.00011861956818668338_r8, & + 0.00011224710460890392_r8, 8.4922183850031862e-05_r8, & + 6.7394383691340282e-05_r8, 6.4759132935842558e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,79) / & + 9.182168202105235e-06_r8, 9.1189148987942921e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,79) / & + 2.4693893170657622e-05_r8, 1.0066632912745244e-05_r8, & + 8.6802505559997522e-06_r8, 7.1219558763422447e-06_r8, & + 7.1148630086652994e-06_r8, 6.3385747306769633e-06_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,79) / & + 3.4825393344250291e-05_r8, 1.4513747983206858e-05_r8, & + 9.3872431071928799e-06_r8, 8.2167357792300329e-06_r8, & + 7.8842981715481729e-06_r8, 7.4967786335545455e-06_r8, & + 8.3959925053231718e-06_r8, 9.9389260045678658e-06_r8, & + 1.3266847999997326e-05_r8, 1.9955037231503075e-05_r8, & + 2.7498869102598767e-05_r8, 3.5801053185007835e-05_r8, & + 4.8612464058320465e-05_r8, 5.7642440786762791e-05_r8, & + 6.6921222120082735e-05_r8, 7.792999607187352e-05_r8, & + 9.6765556077998372e-05_r8, 0.0001143052716117994_r8, & + 0.00012538991220589025_r8, 0.0001316940332716511_r8, & + 0.00013173000193099867_r8, 0.00012625706975646727_r8, & + 0.00011348698810855119_r8, 0.00010038359351800848_r8, & + 9.1783726039968867e-05_r8, 8.3968684978802445e-05_r8, & + 7.9049106212278266e-05_r8, 7.5116515968236836e-05_r8, & + 8.3189358041127636e-05_r8, 9.686996145393987e-05_r8, & + 0.0001101238868092206_r8, 0.00011897319594842784_r8, & + 0.00012717805257483474_r8, 0.00013488360544704079_r8, & + 0.00013507289209845085_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,79) / & + 1.2623641435875388e-05_r8, 1.0021746865519397e-05_r8, & + 8.9221485011951599e-06_r8, 8.4581231082287124e-06_r8, & + 7.7209527109281627e-06_r8, 7.5659302996354761e-06_r8, & + 9.5049802717534838e-06_r8, 1.3619679708784333e-05_r8, & + 2.0752151128083179e-05_r8, 2.9717790450083528e-05_r8, & + 3.7922036082617749e-05_r8, 4.7235767719500071e-05_r8, & + 5.9990480307471753e-05_r8, 6.9288996064804427e-05_r8, & + 7.7417009223194454e-05_r8, 8.6044852325288396e-05_r8, & + 0.00010187288253987906_r8, 0.00011645120107242455_r8, & + 0.00012721674041473344_r8, 0.00013460173955474306_r8, & + 0.00013619949658746569_r8, 0.00013125727704814028_r8, & + 0.00011798735021851092_r8, 0.00010550497334214833_r8, & + 9.5322062275855296e-05_r8, 8.7340570241599614e-05_r8, & + 8.1416998644620714e-05_r8, 7.7834178157791566e-05_r8, & + 8.6950872151918813e-05_r8, 9.9919152651267403e-05_r8, & + 0.00011352570986038816_r8, 0.00012539955383738285_r8, & + 0.00013737159887451414_r8, 0.00014325069176464547_r8, & + 0.00014520031912198693_r8, 0.00015134712910717721_r8, & + 0.00016126093357645219_r8, 0.00018188105596065178_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,79) / & + 8.6016624522236945e-06_r8, 8.2874869866255947e-06_r8, & + 8.363315068254204e-06_r8, 7.6937435126439568e-06_r8, & + 7.1647321946895702e-06_r8, 7.3771998899165923e-06_r8, & + 1.0223531332645681e-05_r8, 1.6666028539044337e-05_r8, & + 2.4095035482850493e-05_r8, 3.3262901421909163e-05_r8, & + 4.0918951172929249e-05_r8, 4.9115109945844536e-05_r8, & + 6.0056588000423283e-05_r8, 6.9606749477127655e-05_r8, & + 7.6631216921707083e-05_r8, 8.4104572145555237e-05_r8, & + 9.7908229925272681e-05_r8, 0.00011181331532699198_r8, & + 0.00012480670342942147_r8, 0.0001333082610172931_r8, & + 0.00013580345749667448_r8, 0.00013289904173237777_r8, & + 0.00012230563292558907_r8, 0.00011090375272688486_r8, & + 0.00010055176161646187_r8, 9.2120051483930677e-05_r8, & + 8.6732857670419883e-05_r8, 8.4207889045537766e-05_r8, & + 9.3878250939801244e-05_r8, 0.00010817455945955777_r8, & + 0.00012398518907134987_r8, 0.00014089160632494376_r8, & + 0.0001565377563812928_r8, 0.00016669203591877983_r8, & + 0.0001713974628236692_r8, 0.00017467418958744165_r8, & + 0.00018263913363171432_r8, 0.00020422685716474945_r8, & + 0.00024651758020539938_r8, 0.00031042119596662884_r8, & + 0.00032531984755262869_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,79) / & + 6.9536143191034682e-06_r8, 7.0724291347047054e-06_r8, & + 6.668978083987489e-06_r8, 6.3135505780969667e-06_r8, & + 6.2666155505210762e-06_r8, 6.2540598983947648e-06_r8, & + 7.3629670156995153e-06_r8, 9.8339009102960246e-06_r8, & + 1.2837206628489588e-05_r8, 1.7029694652816174e-05_r8, & + 2.216752076444163e-05_r8, 2.8956424498488378e-05_r8, & + 3.7199883401439762e-05_r8, 4.7385992246412064e-05_r8, & + 5.6731084011577883e-05_r8, 6.809219483779573e-05_r8, & + 8.9322034416795527e-05_r8, 0.00010754082619170013_r8, & + 0.00012394817221290748_r8, 0.00013113132527853223_r8, & + 0.00013326054230597691_r8, 0.00013116948855736992_r8, & + 0.00012311792490634965_r8, 0.00011418146440766159_r8, & + 0.00010546488710282873_r8, 9.7898683460275452e-05_r8, & + 9.319547104767945e-05_r8, 9.3609528368367712e-05_r8, & + 0.00010815815410350822_r8, 0.00012627001178442865_r8, & + 0.00014629425654178477_r8, 0.00016386755950796402_r8, & + 0.00017845546660910083_r8, 0.00018875363818381778_r8, & + 0.00019801124701458286_r8, 0.00020732753125897132_r8, & + 0.00021628016185683412_r8, 0.00023816356322400585_r8, & + 0.0002760849221563192_r8, 0.00031976311566219985_r8, & + 0.00033969280145313796_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,79) / & + 5.7973663041294702e-06_r8, 6.1952811886357928e-06_r8, & + 5.2697813368519982e-06_r8, 4.0659823208208172e-06_r8, & + 3.938142668909094e-06_r8, 4.2069512069544578e-06_r8, & + 4.6905755303034102e-06_r8, 5.7972529743056919e-06_r8, & + 6.0473755574970127e-06_r8, 6.4163382727539904e-06_r8, & + 7.9239571728329526e-06_r8, 1.4189984143051587e-05_r8, & + 1.7375084704435264e-05_r8, 2.3511139488316621e-05_r8, & + 3.0090016341824464e-05_r8, 3.9328211859597736e-05_r8, & + 6.0483326489600238e-05_r8, 8.2990946250867175e-05_r8, & + 0.00010366211906395395_r8, 0.00011589704445872231_r8, & + 0.0001197220932274391_r8, 0.00012226754875322343_r8, & + 0.000118490013074757_r8, 0.00011159191348600877_r8, 0.00010423570196009_r8, & + 9.8234320681969825e-05_r8, 9.595587598903619e-05_r8, & + 0.00010090775115802292_r8, 0.00012112346555120352_r8, & + 0.00014182144370550068_r8, 0.00015990638258787349_r8, & + 0.00017656096338782601_r8, 0.00018855291304778149_r8, & + 0.00020028683733927909_r8, 0.00021337013338878046_r8, & + 0.00022864111307926359_r8, 0.00024337831105083048_r8, & + 0.00025749822171925341_r8, 0.00027127232246421047_r8, & + 0.00031541767257633487_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,79) / & + 3.8028997517563234e-06_r8, 4.1883076969542734e-06_r8, & + 3.7708242688672371e-06_r8, 2.3234984935162689e-06_r8, & + 2.1675865458581651e-06_r8, 2.5939261804006296e-06_r8, & + 3.3523279943073211e-06_r8, 4.1962066851681396e-06_r8, & + 4.5807961705989951e-06_r8, 5.2630361429442074e-06_r8, & + 5.5566115894056533e-06_r8, 7.5739092669964411e-06_r8, & + 9.1550095117111222e-06_r8, 1.2710325645147312e-05_r8, & + 1.6863905488900732e-05_r8, 2.186267960984285e-05_r8, & + 3.4264533024609662e-05_r8, 5.1738631659442808e-05_r8, & + 7.3181609987546981e-05_r8, 9.3414292827810323e-05_r8, & + 0.0001026083400633516_r8, 0.00011045770049021912_r8, & + 0.00011217535370039736_r8, 0.00010772786726780635_r8, & + 0.00010206319347069045_r8, 9.7716814560785126e-05_r8, & + 9.7633039226192802e-05_r8, 0.00010748908817928753_r8, & + 0.00013044630593034442_r8, 0.00015210391477442261_r8, & + 0.00016985235803318479_r8, 0.00018549852131817705_r8, & + 0.00019890303949370093_r8, 0.00021309766554251952_r8, & + 0.00022772720021871679_r8, 0.00024059365963500693_r8, & + 0.00025204603845137741_r8, 0.00026307605099896736_r8, & + 0.00027439726734542239_r8, 0.0002822873388642846_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,79) / & + 3.4567729939544298e-06_r8, 3.5928327953715817e-06_r8, & + 3.5893799184188058e-06_r8, 3.35893706068224e-06_r8, & + 3.4704396078566303e-06_r8, 3.871492374139213e-06_r8, & + 4.164833614017402e-06_r8, 5.296745854266115e-06_r8, & + 5.9358340806033898e-06_r8, 6.6232624820957289e-06_r8, & + 7.7547439515051522e-06_r8, 9.6978573141046906e-06_r8, & + 1.1193838314556383e-05_r8, 1.2046337025451322e-05_r8, & + 1.5148476715601811e-05_r8, 1.8428477527134375e-05_r8, & + 2.6958604912400666e-05_r8, 3.9361463246133915e-05_r8, & + 6.017790752822022e-05_r8, 8.3859317022270941e-05_r8, & + 0.00010178150033499507_r8, 0.0001098001132608639_r8, & + 0.00010895210480378224_r8, 0.00010441376477546379_r8, & + 0.0001016710204966671_r8, 0.00010017525890783011_r8, & + 0.00010062483336168657_r8, 0.00011230479446973853_r8, & + 0.00013461075856164878_r8, 0.00015632394947318059_r8, & + 0.00017477922302741429_r8, 0.000188645678684804_r8, & + 0.00020478526849918615_r8, 0.00021620249626928443_r8, & + 0.00022726426067994746_r8, 0.00023709146148992574_r8, & + 0.00024419071197322666_r8, 0.00025955009752696799_r8, & + 0.00027640144706520838_r8, 0.00029227527665697916_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,79) / & + 6.605587446060232e-06_r8, 7.133100694846582e-06_r8, & + 7.0134180789595081e-06_r8, 7.4435228802853925e-06_r8, & + 7.61621438180818e-06_r8, 7.742720226580137e-06_r8, & + 7.7217479142703442e-06_r8, 7.9867941986224869e-06_r8, & + 9.1155983935714389e-06_r8, 1.0244634611066554e-05_r8, & + 1.1331239893417458e-05_r8, 1.2987346523642874e-05_r8, & + 1.2938422192424071e-05_r8, 1.3928742628778253e-05_r8, & + 1.7462458418583218e-05_r8, 2.0145953382063021e-05_r8, & + 2.7178546494760279e-05_r8, 3.8085484941659392e-05_r8, & + 5.8201136499811109e-05_r8, 7.7621377199105766e-05_r8, & + 9.2196334488337808e-05_r8, 9.8097778022827498e-05_r8, & + 9.5866350648703399e-05_r8, 9.1336851609560968e-05_r8, & + 9.0971275839974784e-05_r8, 9.1414030381579972e-05_r8, & + 9.2979312622061165e-05_r8, 0.00010298839103627317_r8, & + 0.00012198853328525034_r8, 0.00014059396912450639_r8, & + 0.00016108395365981232_r8, 0.00017068573531283163_r8, & + 0.00018764924145195391_r8, 0.00019995784197015959_r8, & + 0.00021029870673695846_r8, 0.00022233561150172016_r8, & + 0.00023565432497244022_r8, 0.00025105249522416011_r8, & + 0.00027086531483182317_r8, 0.00028260709025510497_r8, & + 0.00029874993667471442_r8, 0.00029842346010237121_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,79) / & + 8.4252497720076758e-06_r8, 9.6582879223406474e-06_r8, & + 9.0537544499302496e-06_r8, 1.2123880361189112e-05_r8, & + 1.2133825893365225e-05_r8, 1.2334304789040395e-05_r8, & + 1.179868866310719e-05_r8, 1.2288306031333995e-05_r8, & + 1.2788252268492103e-05_r8, 1.3462977982445946e-05_r8, & + 1.4119126648993679e-05_r8, 1.5284899925824166e-05_r8, & + 1.6327532981221055e-05_r8, 1.8253026377203051e-05_r8, & + 2.0810579424520539e-05_r8, 2.3490097139011126e-05_r8, & + 3.1504817207162775e-05_r8, 4.5035176532689574e-05_r8, & + 6.6768767054859769e-05_r8, 8.4032601918110309e-05_r8, & + 9.2760710193050079e-05_r8, 9.3681331510105892e-05_r8, & + 9.1804665743155432e-05_r8, 8.8873791194910302e-05_r8, & + 8.786306556377752e-05_r8, 8.7617489605603793e-05_r8, & + 8.8699555649878091e-05_r8, 9.3008869941599539e-05_r8, & + 0.0001037504867191565_r8, 0.00011938987356513684_r8, & + 0.00013773775452769114_r8, 0.00014937719616018173_r8, & + 0.00016341773087912001_r8, 0.00017720239301432687_r8, & + 0.000192082785954727_r8, 0.00021026777747471407_r8, & + 0.00022858120812518261_r8, 0.0002425377941679134_r8, & + 0.0002569218012468123_r8, 0.00026148425127588501_r8, & + 0.0002621700941905488_r8, 0.00030056251456643562_r8, & + 0.00032482483302631869_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,79) / & + 1.0736629778987808e-05_r8, 1.1315400427766965e-05_r8, & + 1.0503618901292461e-05_r8, 1.2780169579113353e-05_r8, & + 1.3077675489876171e-05_r8, 1.3731209849561059e-05_r8, & + 1.4664679262365182e-05_r8, 1.5760770322501887e-05_r8, & + 1.6450628570273807e-05_r8, 1.7474706224308372e-05_r8, & + 1.8638961598853797e-05_r8, 1.9647113418625827e-05_r8, & + 2.1359683997177667e-05_r8, 2.4352668187572174e-05_r8, & + 2.7682423921460527e-05_r8, 3.1643998243974015e-05_r8, & + 4.3780204605643149e-05_r8, 5.8952616735398171e-05_r8, & + 7.6009017231697836e-05_r8, 8.9144914161896883e-05_r8, & + 9.4130225305399332e-05_r8, 9.373402610369674e-05_r8, & + 9.168080648116717e-05_r8, 8.9460505374661106e-05_r8, & + 8.7933346971647594e-05_r8, 8.7356481475574764e-05_r8, & + 8.7764329214992258e-05_r8, 9.0604628911215561e-05_r8, & + 9.7098256376724224e-05_r8, 0.00010665991600779988_r8, & + 0.00011796844596942239_r8, 0.00012777038865162638_r8, & + 0.00013880359886635156_r8, 0.00015013550719594193_r8, & + 0.00016408630046204045_r8, 0.00018035702532020811_r8, & + 0.0001982570908996526_r8, 0.00021378549560168789_r8, & + 0.00022626158373583485_r8, 0.0002346551224223775_r8, & + 0.00023985975227184335_r8, 0.00023349037263667701_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,79) / & + 1.0703129328293089e-05_r8, 1.0710218914454206e-05_r8, & + 1.1250616562719451e-05_r8, 1.3021900411885092e-05_r8, & + 1.5090130696913859e-05_r8, 1.8182934499504993e-05_r8, & + 2.7267735734588028e-05_r8, 3.1756640905995713e-05_r8, & + 3.5817896807696497e-05_r8, 3.9256234651342097e-05_r8, & + 4.334603772878215e-05_r8, 4.6733542439469062e-05_r8, & + 5.2353238830247786e-05_r8, 6.0185220770608812e-05_r8, & + 6.6809901380670533e-05_r8, 7.2234645123552465e-05_r8, & + 8.2229031795423257e-05_r8, 8.8319490105584486e-05_r8, & + 9.0755541706015772e-05_r8, 9.0842402770482204e-05_r8, & + 8.9539561357535283e-05_r8, 8.7809197746352576e-05_r8, & + 8.6435496115397172e-05_r8, 8.5419814653149359e-05_r8, & + 8.4952549801757868e-05_r8, 8.4821580924124201e-05_r8, & + 8.5319196049903485e-05_r8, 8.8525993160706152e-05_r8, & + 9.3969637415595615e-05_r8, 0.00010173551994755872_r8, & + 0.00010886621379533283_r8, 0.00011568797876341933_r8, & + 0.00012288695122159528_r8, 0.0001316485811653371_r8, & + 0.00014844244956657571_r8, 0.00016456176952725959_r8, & + 0.00018245223486726999_r8, 0.00019517929631166365_r8, & + 0.00019894284990606335_r8, 0.00023224721617486958_r8, & + 0.00024408558228570729_r8, 0.00024838682243810917_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,79) / & + 8.4464534568287134e-06_r8, 8.3754655837659345e-06_r8, & + 9.2086985317906217e-06_r8, 1.3343426266864057e-05_r8, & + 1.5747984007675693e-05_r8, 1.8928200267752955e-05_r8, & + 2.7733886059267448e-05_r8, 3.1203662938126946e-05_r8, & + 3.4431828379977951e-05_r8, 4.0415584058772664e-05_r8, & + 4.5609467399546492e-05_r8, 5.169412872523913e-05_r8, & + 5.5828503145960993e-05_r8, 6.6882577822840073e-05_r8, & + 7.5082020790204963e-05_r8, 8.0496038382621676e-05_r8, & + 8.6395648025518692e-05_r8, 8.8640400844873954e-05_r8, & + 8.906948380977715e-05_r8, 8.8263347862434203e-05_r8, & + 8.7254098863596388e-05_r8, 8.7313413470903399e-05_r8, & + 8.6945570079807174e-05_r8, 8.6329120591565603e-05_r8, & + 8.600224870879059e-05_r8, 8.579882773832689e-05_r8, & + 8.5692340326126837e-05_r8, 8.7583678864678791e-05_r8, & + 9.1972664907590093e-05_r8, 0.0001004649626471374_r8, & + 0.00010756497195120018_r8, 0.00011377378630303893_r8, & + 0.00012049205670596147_r8, 0.0001270094468834969_r8, & + 0.00014341248039074158_r8, 0.00015810971629993991_r8, & + 0.00016676941014963915_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,79) / & + 1.6580891115277655e-05_r8, 1.6211841050961871e-05_r8, & + 1.5273248312728107e-05_r8, 1.5933387367388852e-05_r8, & + 1.7337396150685288e-05_r8, 1.8369447550037347e-05_r8, & + 1.9578008560737437e-05_r8, 2.2725189757077374e-05_r8, & + 2.4378776274480524e-05_r8, 3.0063647817622889e-05_r8, & + 3.3968097097822869e-05_r8, 4.316577407454176e-05_r8, & + 4.3388150149766175e-05_r8, 5.6421622977812905e-05_r8, & + 6.5367895913939078e-05_r8, 7.2608147930742383e-05_r8, & + 7.9873675519136192e-05_r8, 8.2726192995044812e-05_r8, & + 8.2256484441271379e-05_r8, 8.2360874130578066e-05_r8, & + 8.2608785809379012e-05_r8, 8.2818884547153371e-05_r8, & + 8.3039493154082514e-05_r8, 8.3885478132639777e-05_r8, & + 8.5266303830934553e-05_r8, 8.5868611285592428e-05_r8, & + 8.7035047171282948e-05_r8, 9.1125942956004301e-05_r8, & + 9.463867503546936e-05_r8, 9.8279884622846911e-05_r8, & + 0.00010315246053421293_r8, 0.00010907482569729987_r8, & + 0.00011604805556873714_r8, 0.00011467581038933879_r8, & + 0.00011463925850774357_r8, 0.00010117398893944905_r8, & + 0.00010574927934219679_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,79) / & + 3.2918411254289167e-05_r8, 3.2346248874174983e-05_r8, & + 3.0148538595572553e-05_r8, 2.9662152567708428e-05_r8, & + 3.3569282449707974e-05_r8, 3.5760038486000604e-05_r8, & + 3.574014610357882e-05_r8, 4.2374721147541251e-05_r8, & + 4.4354829148669363e-05_r8, 4.8026703232127706e-05_r8, & + 5.0940617363493372e-05_r8, 5.5128739925163273e-05_r8, & + 5.4644834257381188e-05_r8, 6.1413562073622119e-05_r8, & + 6.7734013342235315e-05_r8, 7.3184200068452374e-05_r8, & + 7.9781919654566178e-05_r8, 8.2403861956155435e-05_r8, & + 8.338979475091651e-05_r8, 8.4560775969706625e-05_r8, & + 8.5260496352093521e-05_r8, 8.6189115253382817e-05_r8, & + 8.7324357800440012e-05_r8, 8.8143337170038823e-05_r8, & + 8.877582548106789e-05_r8, 8.9249469443315423e-05_r8, & + 9.0153106961417997e-05_r8, 9.2901901713388768e-05_r8, & + 9.6886772990575269e-05_r8, 0.00010027796058813322_r8, & + 0.00010428677536121075_r8, 0.00011067739044753376_r8, & + 0.00011670849807335769_r8, 0.00011210568754313181_r8, & + 0.00010389951237537943_r8, 9.0313313682686218e-05_r8, & + 0.00010389580757886727_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,79) / & + 4.2486023834647153e-05_r8, 4.1212275939975091e-05_r8, & + 3.9933464096574788e-05_r8, 4.3543689565914419e-05_r8, & + 4.6987606208562965e-05_r8, 4.9472707454980275e-05_r8, & + 5.2319073019423046e-05_r8, 5.8977035517389724e-05_r8, & + 6.1778168116666832e-05_r8, 6.4938799692294596e-05_r8, & + 6.6996466819683732e-05_r8, 6.9662964385638958e-05_r8, & + 7.1533078068115701e-05_r8, 7.5052987332957659e-05_r8, & + 7.6906479496472298e-05_r8, 7.8536737248193763e-05_r8, & + 8.1522601612893343e-05_r8, 8.3212850239829716e-05_r8, & + 8.4363723217622594e-05_r8, 8.5252123254549324e-05_r8, & + 8.6051204376560387e-05_r8, 8.6937013664507146e-05_r8, & + 8.7982790345875089e-05_r8, 8.8654383172752921e-05_r8, & + 8.9254812933201749e-05_r8, 9.0190912931157322e-05_r8, & + 9.0386294733520994e-05_r8, 9.2697214106873111e-05_r8, & + 9.6470180206541817e-05_r8, 0.00010037534823011442_r8, & + 0.00010421849432987992_r8, 0.00010950003312848104_r8, & + 0.0001116026680231538_r8, 9.9363768827973877e-05_r8, & + 8.7500781616706483e-05_r8, 8.3785813059168032e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,79) / & + 3.9023365077623469e-05_r8, 3.7565547607738103e-05_r8, & + 3.697690615389322e-05_r8, 4.0229516768751825e-05_r8, & + 4.2554220245753208e-05_r8, 4.4208964648065021e-05_r8, & + 4.6833835711686645e-05_r8, 5.2405979710719869e-05_r8, & + 5.5706163391563549e-05_r8, 5.9204314253137853e-05_r8, & + 6.1164569793977584e-05_r8, 6.7100724738496001e-05_r8, & + 7.0543725600097061e-05_r8, 7.3722796141176175e-05_r8, & + 7.6149830321989298e-05_r8, 7.8023491308427855e-05_r8, & + 8.0840669048497693e-05_r8, 8.2391745817088878e-05_r8, & + 8.398147077452835e-05_r8, 8.600693660553292e-05_r8, & + 8.7259572703295634e-05_r8, 8.7883278440944548e-05_r8, & + 8.9052238784304206e-05_r8, 8.9881780859812739e-05_r8, & + 9.0422478681462506e-05_r8, 9.1098557752372853e-05_r8, & + 9.1530749908501222e-05_r8, 9.450246444720438e-05_r8, & + 9.7590017337268739e-05_r8, 0.0001007470987399939_r8, & + 0.0001048908299365783_r8, 0.00010775792206171042_r8, & + 0.00010455532672237435_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,79) / & + 2.5760762419889846e-05_r8, 2.5508548323523797e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,79) / & + 0.00012045402588592856_r8, 0.00011548702277127797_r8, & + 0.00010371153187286068_r8, 0.00011988776647370055_r8, & + 0.00012054092852280481_r8, 0.00012008025652459553_r8, & + 0.00012634188090427262_r8, 0.00013356681978880772_r8, & + 0.00012622217974599318_r8, 0.0001188465720519153_r8, & + 0.00011020220612399768_r8, 9.3747204390326138e-05_r8, & + 7.3975925533770008e-05_r8, 7.3524284336223982e-05_r8, & + 7.3182140760531667e-05_r8, 7.1106249522356126e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,79) / & + 0.00011541004928803047_r8, 0.00011780539083847706_r8, & + 0.00011120593577743227_r8, 0.00011098296945414362_r8, & + 0.00011882340163622539_r8, 0.00012426929587499588_r8, & + 0.00012794498561260825_r8, 0.00012660364962569762_r8, & + 0.0001145293313647189_r8, 0.00010412096732174495_r8, & + 9.8828874620574705e-05_r8, 9.055350077473674e-05_r8, & + 8.019293299123537e-05_r8, 7.8561982117905782e-05_r8, & + 7.6042748337680182e-05_r8, 7.4446712964179257e-05_r8, & + 6.8560981174036869e-05_r8, 7.427094519719771e-05_r8, & + 7.6409240277357696e-05_r8, 8.1814045323329657e-05_r8, & + 8.6695442043741166e-05_r8, 8.7601433701620844e-05_r8, & + 9.2765977065391251e-05_r8, 9.5870008690653966e-05_r8, & + 9.7268094060755405e-05_r8, 0.00010027310344156637_r8, & + 0.00010501044856761793_r8, 0.00011309353644782415_r8, & + 0.00011442466592929672_r8, 0.00011659708041074731_r8, & + 0.00011756217061695542_r8, 0.0001181181302935338_r8, & + 0.00011844343796959274_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,79) / & + 9.9301211667374969e-05_r8, 0.00011646421427356107_r8, & + 0.00011391098851589093_r8, 0.00010436624479489724_r8, & + 0.00012104683786767668_r8, 0.00013071941630353603_r8, & + 0.00012103371587745653_r8, 0.00010452524505848148_r8, & + 8.329751961166519e-05_r8, 7.6374072386552357e-05_r8, & + 7.5900375042578524e-05_r8, 7.5177872086171468e-05_r8, & + 7.3042210460951492e-05_r8, 7.375383666813924e-05_r8, & + 7.2690966273676982e-05_r8, 7.3941416673635105e-05_r8, & + 7.2300966695339617e-05_r8, 7.4056255384938048e-05_r8, & + 7.64491461521834e-05_r8, 7.9669761877283903e-05_r8, & + 8.3812592840658187e-05_r8, 8.6818538257272081e-05_r8, & + 9.1298158580160104e-05_r8, 9.5504142949447729e-05_r8, & + 0.00010011978967279915_r8, 0.00010423560803763704_r8, & + 0.00011052074076673984_r8, 0.0001185410282855896_r8, & + 0.00011883225906377421_r8, 0.00011881044889878846_r8, & + 0.00011970649576175184_r8, 0.0001202108448498997_r8, & + 0.00012076400070369906_r8, 0.00012050719408180788_r8, & + 0.00012096478834691953_r8, 0.00012142197381142688_r8, & + 0.00012430980215923394_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,80) / & + 0.00013195174859438789_r8, 0.0001325820024696251_r8, & + 0.00013289264208419366_r8, 0.00014541555177496936_r8, & + 0.0001487648760374197_r8, 0.00015137567852246974_r8, & + 0.0001550606143202733_r8, 0.00015337190739103077_r8, & + 0.0001541383282990467_r8, 0.00015606512206855735_r8, & + 0.00016000958591349295_r8, 0.00016999979195825193_r8, & + 0.00017068666902003094_r8, 0.0001811104507645157_r8, & + 0.00017037686829101043_r8, 0.00015103587540740964_r8, & + 0.00015288685641472055_r8, 0.00015680099179884443_r8, & + 0.00016026883292394241_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,80) / & + 0.00013195174859438789_r8, 0.0001325820024696251_r8, & + 0.00013289264208419366_r8, 0.00014541555177496936_r8, & + 0.0001487648760374197_r8, 0.00015137567852246974_r8, & + 0.0001550606143202733_r8, 0.00015337190739103077_r8, & + 0.0001541383282990467_r8, 0.00015606512206855735_r8, & + 0.00016000958591349295_r8, 0.00016999979195825193_r8, & + 0.00017068666902003094_r8, 0.0001811104507645157_r8, & + 0.00017037686829101043_r8, 0.00015103587540740964_r8, & + 0.00015288685641472055_r8, 0.00015680099179884443_r8, & + 0.00016026883292394241_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,80) / & + 0.00013195174859438789_r8, 0.0001325820024696251_r8, & + 0.00013289264208419366_r8, 0.00014541555177496936_r8, & + 0.0001487648760374197_r8, 0.00015137567852246974_r8, & + 0.0001550606143202733_r8, 0.00015337190739103077_r8, & + 0.0001541383282990467_r8, 0.00015606512206855735_r8, & + 0.00016000958591349295_r8, 0.00016999979195825193_r8, & + 0.00017068666902003094_r8, 0.0001811104507645157_r8, & + 0.00017037686829101043_r8, 0.00015103587540740964_r8, & + 0.00015288685641472055_r8, 0.00015680099179884443_r8, & + 0.00016026883292394241_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,80) / & + 0.00013784414158106618_r8, 0.0001372619543740437_r8, & + 0.00013766720656230183_r8, 0.00014418276406736612_r8, & + 0.00015264265791505331_r8, 0.00015432177159948509_r8, & + 0.00016054041626824929_r8, 0.00016290281391197615_r8, & + 0.00016525101314076064_r8, 0.00016871486619569255_r8, & + 0.00017257949906611655_r8, 0.00017638695976258945_r8, & + 0.00017598248788421833_r8, 0.00018520915759250145_r8, & + 0.00020723880197142473_r8, 0.00020927029157546145_r8, & + 0.00021901951702113967_r8, 0.00022338041956397538_r8, & + 0.00022733579400734065_r8, 0.0002302609368961133_r8, & + 0.0002356900525992825_r8, 0.00024441596641947054_r8, & + 0.00023864362143073207_r8, 0.00023824302885961691_r8, & + 0.00024645037469153876_r8, 0.00024745477567552515_r8, & + 0.00024843562013522835_r8, 0.00024811821163705784_r8, & + 0.00025216313187505896_r8, 0.000254525699294365_r8, & + 0.00025227317055354981_r8, 0.00025413606524863556_r8, & + 0.0002528394016140237_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,80) / & + 0.00016357577148074846_r8, 0.00016183797696319498_r8, & + 0.00016168755658557617_r8, 0.00015590854145148021_r8, & + 0.0001689136834214105_r8, 0.00016492557580121466_r8, & + 0.00017562672193745187_r8, 0.00018642157734620205_r8, & + 0.00019135482759230417_r8, 0.00019728861024449133_r8, & + 0.00020183432128460335_r8, 0.00020661901470716968_r8, & + 0.00020953101703271996_r8, 0.0002139978174168766_r8, & + 0.00022072580643747727_r8, 0.00022318113319389437_r8, & + 0.00022837694911225558_r8, 0.0002346723170917532_r8, & + 0.00023942514153148443_r8, 0.00024246601564981705_r8, & + 0.00024601106299366901_r8, 0.00025027652473412048_r8, & + 0.00024885897049958095_r8, 0.0002483953247480576_r8, & + 0.00025150614842497454_r8, 0.00025234759884232739_r8, & + 0.00025329286928839399_r8, 0.0002527488182306549_r8, & + 0.00025577222165225062_r8, 0.00025405991024911035_r8, & + 0.0002519071158356656_r8, 0.00025361114060152456_r8, & + 0.00025342702915785812_r8, 0.00025185901264440657_r8, & + 0.00025173192977544657_r8, 0.00025216153429406178_r8, & + 0.00024837905718811813_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,80) / & + 0.00017871798744832632_r8, 0.00017514639065368881_r8, & + 0.000173427115242702_r8, 0.00015962633488146298_r8, & + 0.000176162374445822_r8, 0.00017332396789124783_r8, & + 0.0001838093095523496_r8, 0.0001959868954324217_r8, & + 0.00020261558681011215_r8, 0.00021023429073179444_r8, & + 0.00021638818955912754_r8, 0.00022191664914673599_r8, & + 0.0002283389697721136_r8, 0.00023295278952767818_r8, & + 0.00023604783259400383_r8, 0.00023955845524445678_r8, & + 0.00024655199783595109_r8, 0.00025201090328730964_r8, & + 0.00025653607101780153_r8, 0.00025923014771639857_r8, & + 0.00026115919848967767_r8, 0.00026242607944480345_r8, & + 0.00026324899290367486_r8, 0.00026185816814514642_r8, & + 0.00026146517980846662_r8, 0.00026159170950818401_r8, & + 0.00026176613213572448_r8, 0.00026152595816616737_r8, & + 0.00026125766365882303_r8, 0.0002587616511711761_r8, & + 0.00025703603257121361_r8, 0.00025651556332022968_r8, & + 0.00025684232756148013_r8, 0.00025552845654509013_r8, & + 0.0002558068400978863_r8, 0.0002553998079532874_r8, & + 0.00025226961517724384_r8, 0.00024927058958017077_r8, & + 0.00023943865404881442_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,7,80) / & + 0.00015570558146843695_r8, 0.00015410943185200035_r8, & + 0.00015166885280390482_r8, 0.00014267112904098092_r8, & + 0.00015412674908598891_r8, 0.00016252394000529778_r8, & + 0.0001752614459949735_r8, 0.00018621513344577086_r8, & + 0.00019136128256140505_r8, 0.00019684915241601102_r8, & + 0.00020199909706025495_r8, 0.00020950909173519781_r8, & + 0.00021935442108141526_r8, 0.00022467519339388261_r8, & + 0.00022893949920457134_r8, 0.00023346138982937683_r8, & + 0.000243462640572462_r8, 0.00024676145027274933_r8, & + 0.00025039945854528838_r8, 0.00025351464554023323_r8, & + 0.00025544331938425141_r8, 0.00025605237489207235_r8, & + 0.0002562165615918985_r8, 0.00025644270152394067_r8, & + 0.00025670609920983473_r8, 0.00025681830103350603_r8, & + 0.00025706793589790825_r8, 0.00025758279611370628_r8, & + 0.00025700618487668986_r8, 0.0002563274562680317_r8, & + 0.0002547468077318542_r8, 0.00025198487186333193_r8, & + 0.00025125606450478925_r8, 0.00025050043635572067_r8, & + 0.00024947461531043641_r8, 0.00024792610280616108_r8, & + 0.00024432495384410334_r8, 0.00024196461143834069_r8, & + 0.00023511584227336446_r8, 0.00023792327207822935_r8, & + 0.00024236481331733279_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,80) / & + 8.6273159427042686e-05_r8, 8.666423061265283e-05_r8, & + 8.4768271842193841e-05_r8, 7.2883480696670931e-05_r8, & + 7.4297462454017718e-05_r8, 7.8879589281979836e-05_r8, & + 9.3836290674466892e-05_r8, 0.00011807450905681243_r8, & + 0.00013230066982939645_r8, 0.00014322516079885039_r8, & + 0.00015150487226148608_r8, 0.0001591667682433601_r8, & + 0.00017071243832320025_r8, 0.00017921203309287088_r8, & + 0.00018183995397516123_r8, 0.00018556755991432905_r8, & + 0.00019329350586156646_r8, 0.00019824428790799948_r8, & + 0.00020382387381447377_r8, 0.00020770886123821361_r8, & + 0.00021049999006575408_r8, 0.0002102844179003153_r8, & + 0.00021505632988645518_r8, 0.00021843516984081939_r8, & + 0.00022182260842975858_r8, 0.00022458390691916622_r8, & + 0.00022800364266219888_r8, 0.00023279400007615421_r8, & + 0.00024185284610194835_r8, 0.00024523726698500993_r8, & + 0.00024973360246625709_r8, 0.00025169798288549072_r8, & + 0.00025243600445515844_r8, 0.00025310447224615546_r8, & + 0.00025101514177561978_r8, 0.00024588430892104324_r8, & + 0.00024197675685150882_r8, 0.00023489888347988678_r8, & + 0.00023373058634649875_r8, 0.00023792327207822935_r8, & + 0.00024236481331733279_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,80) / & + 2.6239462642099568e-05_r8, 2.6395184892820134e-05_r8, & + 2.7267948017556389e-05_r8, 2.7718438984951327e-05_r8, & + 2.8519430225546512e-05_r8, 3.0708054308749234e-05_r8, & + 4.1082129962241602e-05_r8, 5.2109864717705106e-05_r8, & + 6.3490895862158291e-05_r8, 7.5127722222648115e-05_r8, & + 8.5144153670291563e-05_r8, 9.4034906440081172e-05_r8, & + 0.00011019837148118756_r8, 0.0001238185925840247_r8, & + 0.0001323718464180234_r8, 0.00013937049138527119_r8, & + 0.00015060732811805581_r8, 0.00015873114074123763_r8, & + 0.00016566086437048346_r8, 0.00017141490772874592_r8, & + 0.00017589654776333606_r8, 0.00018106927987950606_r8, & + 0.00018971727770479834_r8, 0.00019392532652224082_r8, & + 0.00019764222175895713_r8, 0.00020148848333219837_r8, & + 0.00020588908037239516_r8, 0.00021606546672945398_r8, & + 0.00023078738404530186_r8, 0.00023807681961591801_r8, & + 0.00024878403977051278_r8, 0.00025436160266526761_r8, & + 0.00025830670890817584_r8, 0.00026227017460494226_r8, & + 0.00026348534763709504_r8, 0.00026581722213935233_r8, & + 0.00026599353970511682_r8, 0.00026628595704269813_r8, & + 0.00026520005290054023_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,80) / & + 1.0473694808806397e-05_r8, 9.8619349237876891e-06_r8, & + 1.1624211770502685e-05_r8, 1.0428692158580101e-05_r8, & + 1.1932860699380217e-05_r8, 1.3929765576524396e-05_r8, & + 2.0296472790190661e-05_r8, 2.5345935138620519e-05_r8, & + 3.1232194088732115e-05_r8, 3.7181893296673267e-05_r8, & + 4.2434117610820043e-05_r8, 4.8165525027417691e-05_r8, & + 5.6878799145801623e-05_r8, 6.6325707576255752e-05_r8, & + 7.5685132858263268e-05_r8, 8.3600423279147788e-05_r8, & + 9.9525490878155744e-05_r8, 0.00011154075105033826_r8, & + 0.00012257996254223815_r8, 0.00013457599515542904_r8, & + 0.00014467754057509663_r8, 0.00015533795928961153_r8, & + 0.00016685643813335008_r8, 0.00017202297760468858_r8, & + 0.00017619253471023308_r8, 0.00017986990505548231_r8, & + 0.00018207603925067837_r8, 0.00018509452500171125_r8, & + 0.00018748645489200021_r8, 0.000191838775065986_r8, & + 0.00020522643000172724_r8, 0.00021271575272352244_r8, & + 0.00022045250849063257_r8, 0.00023177687793107446_r8, & + 0.00024186369194901765_r8, 0.00024957483289894965_r8, & + 0.0002571420129490242_r8, 0.00026248217355841484_r8, & + 0.00026691446160493162_r8, 0.00026964125252462007_r8, & + 0.00027184358499651132_r8, 0.00027262626182539517_r8, & + 0.00027298366351576818_r8, 0.00027318182931775477_r8, & + 0.00027422129086922297_r8 & + / +data saar_ref(:,11,80) / & + 5.0725159477163998e-06_r8, 4.8810228761348306e-06_r8, & + 5.0033354303358681e-06_r8, 4.792113976712963e-06_r8, & + 4.8631606309773591e-06_r8, 5.1893416483194228e-06_r8, & + 9.282696876758248e-06_r8, 1.0004595305481962e-05_r8, & + 1.1827495690543398e-05_r8, 1.4440087764715308e-05_r8, & + 1.7455552188190536e-05_r8, 1.9687230395651809e-05_r8, & + 2.4058327104057605e-05_r8, 2.825477048026799e-05_r8, & + 3.2267739363355514e-05_r8, 3.5949449749273987e-05_r8, & + 4.482216928167912e-05_r8, 5.5987463425860394e-05_r8, & + 6.8821863869412294e-05_r8, 8.344593846012329e-05_r8, & + 9.91729163832037e-05_r8, 0.00011470669273328894_r8, & + 0.00013150223299190919_r8, 0.0001396745699018728_r8, & + 0.00014499520707436398_r8, 0.00014854762929572858_r8, & + 0.00014901749922886109_r8, 0.00014817044451110036_r8, & + 0.00014404030844333198_r8, 0.00014481982053786747_r8, & + 0.00015640975451128387_r8, 0.00017798987282944143_r8, & + 0.00020473302379417054_r8, 0.00022382202282128348_r8, & + 0.00023583651143201722_r8, 0.00024620774769630425_r8, & + 0.00025584847975652111_r8, 0.00026192460810239919_r8, & + 0.00026686364800239864_r8, 0.00026964917657001686_r8, & + 0.00027152874979351991_r8, 0.00027226751678067362_r8, & + 0.00027285151206125229_r8, 0.00027311566251304414_r8, & + 0.00027362779980811966_r8 & + / +data saar_ref(:,12,80) / & + 3.0252664671756442e-06_r8, 3.0465295050258033e-06_r8, & + 2.442218135475996e-06_r8, 4.6257597518716613e-06_r8, & + 4.6426068685531957e-06_r8, 4.677499828702421e-06_r8, & + 7.3677230443619913e-06_r8, 8.498043585681448e-06_r8, & + 9.7887985977470459e-06_r8, 1.1377414907021249e-05_r8, & + 1.318064000056098e-05_r8, 1.527961204770796e-05_r8, & + 1.8781205416073988e-05_r8, 2.2520418338700183e-05_r8, & + 2.6263964400157598e-05_r8, 2.9485210824744479e-05_r8, & + 3.8097221295176985e-05_r8, 4.8232210160904299e-05_r8, & + 6.0440164846577575e-05_r8, 7.4302717068794758e-05_r8, & + 8.8820808434852163e-05_r8, 0.00010274885065042052_r8, & + 0.0001161491731530222_r8, 0.00012599715122219428_r8, & + 0.00013280984915116047_r8, 0.00013675639459105406_r8, & + 0.00013841303888109311_r8, 0.00013463870429934854_r8, & + 0.00012621692217345805_r8, 0.00012601786251815883_r8, & + 0.00013541469335647194_r8, 0.00016106516945438643_r8, & + 0.00019237385301853384_r8, 0.00021756161543777099_r8, & + 0.00023475723153892244_r8, 0.00024739594345422205_r8, & + 0.00025832459173280836_r8, 0.00026461378273705987_r8, & + 0.00026981572601355826_r8, 0.0002725815281224152_r8, & + 0.00027373802094464938_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,80) / & + 3.0476105002554137e-06_r8, 3.0409896689561973e-06_r8, & + 2.9259730927467377e-06_r8, 3.9411780611779019e-06_r8, & + 3.9589677027280846e-06_r8, 3.9592378160727272e-06_r8, & + 4.2822579457499764e-06_r8, 5.0955126393791069e-06_r8, & + 5.8290159795925047e-06_r8, 6.629666515423242e-06_r8, & + 7.2648767703546111e-06_r8, 8.0487655091130163e-06_r8, & + 9.1613170124513501e-06_r8, 1.1093598017420259e-05_r8, & + 1.3688034337876563e-05_r8, 1.6266501141868827e-05_r8, & + 2.2422105439753648e-05_r8, 2.8978875166629625e-05_r8, & + 3.7730678500327455e-05_r8, 4.8300090592857213e-05_r8, & + 6.0635697675669642e-05_r8, 7.3817930505700081e-05_r8, & + 8.7786113831050139e-05_r8, 0.00010097083685550135_r8, & + 0.00011223424529791178_r8, 0.00012003974698788415_r8, & + 0.0001242912594104777_r8, 0.00012281033541561737_r8, & + 0.00010959339610804417_r8, 9.9084085303398719e-05_r8, & + 0.0001017239652300464_r8, 0.00011681436265286589_r8, & + 0.00014715856153809956_r8, 0.00018939075725668973_r8, & + 0.00022249639688104385_r8, 0.00024283530750067182_r8, & + 0.00025708319562600033_r8, 0.00026540285627149704_r8, & + 0.00027071296844318837_r8, 0.00027323553573368092_r8, & + 0.0002737824844291419_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,80) / & + 3.191640289663306e-06_r8, 3.1794100568166444e-06_r8, & + 3.0599007494459885e-06_r8, 3.5292350276346171e-06_r8, & + 3.3654946477667223e-06_r8, 3.443205407621118e-06_r8, & + 3.4546081918621987e-06_r8, 3.6087440410252965e-06_r8, & + 3.7036307511119183e-06_r8, 4.0779126498371286e-06_r8, & + 4.4118927439456264e-06_r8, 4.8370554545791963e-06_r8, & + 5.455036548745524e-06_r8, 6.4783432693762101e-06_r8, & + 7.9420851457349768e-06_r8, 9.8722760374598979e-06_r8, & + 1.5310604046126409e-05_r8, 2.1714720580691347e-05_r8, & + 2.8477548505018463e-05_r8, 3.7450698069328981e-05_r8, & + 4.8129633320494856e-05_r8, 6.074126804845761e-05_r8, & + 7.4634021466538851e-05_r8, 8.8972919048483707e-05_r8, & + 9.99746061583143e-05_r8, 0.00010799470045616049_r8, & + 0.00011268334356024288_r8, 0.00010851629585416232_r8, & + 9.1393672304695988e-05_r8, 7.5198579450686632e-05_r8, & + 7.2007293546732918e-05_r8, 7.8719710962480609e-05_r8, & + 9.8153660229767227e-05_r8, 0.0001431131833215011_r8, & + 0.00019982127791025724_r8, 0.00024244762965924899_r8, & + 0.00026204689584663363_r8, 0.00026916270665307837_r8, & + 0.00027269211760484009_r8, 0.0002727129173525973_r8, & + 0.00027312189356035942_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,80) / & + 4.7756053587503304e-06_r8, 4.6503944129775828e-06_r8, & + 4.3269096964682335e-06_r8, 4.3184126397726514e-06_r8, & + 4.1956469007062895e-06_r8, 4.2170458214260327e-06_r8, & + 4.43056808335583e-06_r8, 4.6028361626389643e-06_r8, & + 4.6480940393641502e-06_r8, 4.6716548100926703e-06_r8, & + 4.9214762994055627e-06_r8, 5.2326602422084771e-06_r8, & + 5.7622062779296689e-06_r8, 6.6659058690334087e-06_r8, & + 7.7447216530943267e-06_r8, 9.3200859760781725e-06_r8, & + 1.4647135703472873e-05_r8, 2.2451669951211592e-05_r8, & + 3.1022113514890422e-05_r8, 4.1569398266483731e-05_r8, & + 5.3954113398577501e-05_r8, 6.743339593560741e-05_r8, & + 8.1771003751401357e-05_r8, 9.4715475932281111e-05_r8, & + 0.00010359677065463542_r8, 0.00010806377483232253_r8, & + 0.00010718332665202031_r8, 9.2431561039107529e-05_r8, & + 7.3812216358223849e-05_r8, 6.2416987926924383e-05_r8, & + 5.9729247560239652e-05_r8, 6.4134372304159174e-05_r8, & + 7.697687435884603e-05_r8, 0.0001134072156291687_r8, & + 0.0001777153889954493_r8, 0.00023234848943867658_r8, & + 0.0002574042531126138_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,80) / & + 7.4250052785193946e-06_r8, 7.449422693350815e-06_r8, & + 7.3088248663264122e-06_r8, 6.6962126396687852e-06_r8, & + 6.5822478528396991e-06_r8, 6.6087006791461186e-06_r8, & + 6.2073245982357872e-06_r8, 6.7259942480358421e-06_r8, & + 6.9867282989505627e-06_r8, 7.6351246680215478e-06_r8, & + 8.108064678010058e-06_r8, 8.469310132846099e-06_r8, & + 8.7047467764492401e-06_r8, 9.7807166636825995e-06_r8, & + 1.1247413831120817e-05_r8, 1.3478303385495143e-05_r8, & + 1.9820778458547664e-05_r8, 2.9989247884344368e-05_r8, & + 4.0789658846402448e-05_r8, 5.4980020739079032e-05_r8, & + 6.9361945821815049e-05_r8, 8.6192210076448158e-05_r8, & + 0.00010161574881716565_r8, 0.00011091966504772735_r8, & + 0.00011706593838081983_r8, 0.00011772969171049773_r8, & + 0.00010973687364763658_r8, 8.652290530604421e-05_r8, & + 6.9649603099603593e-05_r8, 6.6393339226175673e-05_r8, & + 6.8305088091437916e-05_r8, 7.4438520542170438e-05_r8, & + 8.8067228307558997e-05_r8, 0.00012927556213199244_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,80) / & + 8.9265472895677475e-06_r8, 9.2291991286523974e-06_r8, & + 9.4605787890576437e-06_r8, 8.5565768017097285e-06_r8, & + 8.6089460033111406e-06_r8, 8.6818082130795411e-06_r8, & + 7.6220396429638825e-06_r8, 8.5135928089743804e-06_r8, & + 8.7468498975074184e-06_r8, 9.6073006607121774e-06_r8, & + 1.0194986171811822e-05_r8, 1.0746634944016428e-05_r8, & + 1.1431788666708281e-05_r8, 1.2596071973541757e-05_r8, & + 1.4633253774375798e-05_r8, 1.7310574369816081e-05_r8, & + 2.535186804742554e-05_r8, 3.7378112241339202e-05_r8, & + 5.0393647510300359e-05_r8, 6.5949159392414308e-05_r8, & + 8.2265734190023785e-05_r8, 0.00010249681046005524_r8, & + 0.00011706059964219264_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,80) / & + 8.60390942013872e-06_r8, 7.6966140577205419e-06_r8, & + 6.6057209994855809e-06_r8, 7.1067307646178481e-06_r8, & + 6.8086592514175146e-06_r8, 6.4937898361246193e-06_r8, & + 7.103230158229742e-06_r8, 8.5460079586335445e-06_r8, & + 1.1104728766616807e-05_r8, 1.6874030950553113e-05_r8, & + 2.3090428089765213e-05_r8, 2.8693634320562599e-05_r8, & + 3.7097724174938509e-05_r8, 4.8501757667106892e-05_r8, & + 5.8606145037636944e-05_r8, 6.8840526573009993e-05_r8, & + 8.6927421859781675e-05_r8, 0.0001059775140445566_r8, & + 0.00012077137518972616_r8, 0.00013190568461893484_r8, & + 0.00013534542193256307_r8, 0.00012905177240900222_r8, & + 0.00011776943870327049_r8, 0.00010468950684507057_r8, & + 9.2148235456465658e-05_r8, 8.4798848964382054e-05_r8, & + 7.8968776899921437e-05_r8, 7.2049168201631077e-05_r8, & + 7.9283991512882045e-05_r8, 8.7655036942479905e-05_r8, & + 9.8748137426989517e-05_r8, 0.00011022681706832829_r8, & + 0.00011722954321078299_r8, 0.00012162369972055146_r8, & + 0.00012524998050212076_r8, 0.00013051113548516132_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,80) / & + 8.4714832578875498e-06_r8, 7.6923650414399777e-06_r8, & + 7.1722213024295763e-06_r8, 7.8892498860551432e-06_r8, & + 7.6775346843533142e-06_r8, 7.3353487426079561e-06_r8, & + 7.8417376194993344e-06_r8, 1.0143768371382377e-05_r8, & + 1.4457076581453658e-05_r8, 2.1600472158067655e-05_r8, & + 2.904823139023747e-05_r8, 3.5178070118181058e-05_r8, & + 4.6219173474026504e-05_r8, 5.6864524568099187e-05_r8, & + 6.6894172752300136e-05_r8, 7.7594824185399469e-05_r8, & + 9.5453416166116592e-05_r8, 0.00011224047178274991_r8, & + 0.00012520696263531314_r8, 0.00013396457993333172_r8, & + 0.00013544503651985741_r8, 0.00012886753758838384_r8, & + 0.00011682086045314004_r8, 0.00010392202264227957_r8, & + 9.3210184287463962e-05_r8, 8.544234931351507e-05_r8, & + 7.9755451008176319e-05_r8, 7.5411581180194031e-05_r8, & + 8.3014397386690016e-05_r8, 9.3718443975450181e-05_r8, & + 0.00010613324354877077_r8, 0.00011708456045333511_r8, & + 0.0001247104263167698_r8, 0.00013100359138899781_r8, & + 0.00013458463012644661_r8, 0.0001429969080617722_r8, & + 0.00016826511556618329_r8, 0.00028251797375196039_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,80) / & + 7.8397278017121879e-06_r8, 7.714036837379873e-06_r8, & + 7.5200865760122547e-06_r8, 8.5070500822057352e-06_r8, & + 8.140702044470814e-06_r8, 7.9198514288710986e-06_r8, & + 9.9534473704545322e-06_r8, 1.5449570614008871e-05_r8, & + 2.4078761819137459e-05_r8, 3.4812535147029017e-05_r8, & + 4.3106369176226018e-05_r8, 5.1397153584845121e-05_r8, & + 6.1656310656364315e-05_r8, 7.0200820965183976e-05_r8, & + 7.8068791847052946e-05_r8, 8.5981115799844691e-05_r8, & + 9.9450300295899399e-05_r8, 0.00011243978603759398_r8, & + 0.00012433707156476621_r8, 0.00013266008181612296_r8, & + 0.00013442223394286463_r8, 0.00012953841627014821_r8, & + 0.00011772383155239751_r8, 0.00010592749268491414_r8, & + 9.6563035422514589e-05_r8, 8.7995698599415879e-05_r8, & + 8.2231851013241355e-05_r8, 7.8932860147597336e-05_r8, & + 8.8855881392104093e-05_r8, 0.00010167672330010341_r8, & + 0.00011417224457508434_r8, 0.00012503328119908421_r8, & + 0.00013524554948944422_r8, 0.00014442349932805148_r8, & + 0.0001504109577201142_r8, 0.00016085313051632914_r8, & + 0.00017967646370026306_r8, 0.00022269092019982562_r8, & + 0.00030759625592037331_r8, 0.00033824150302044895_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,80) / & + 7.2695275083674089e-06_r8, 6.9356099489352068e-06_r8, & + 6.9067475539582851e-06_r8, 7.9747787035863575e-06_r8, & + 7.9564741693255941e-06_r8, 8.2014798886823249e-06_r8, & + 1.1361788221822414e-05_r8, 1.8922651106291149e-05_r8, & + 2.677223151142309e-05_r8, 3.6195413595288628e-05_r8, & + 4.2733661911920957e-05_r8, 5.022980331390858e-05_r8, & + 5.9718704433095094e-05_r8, 6.8831777258422641e-05_r8, & + 7.6260845003697892e-05_r8, 8.3452951635825073e-05_r8, & + 9.579149632012865e-05_r8, 0.00010905843533684262_r8, & + 0.00012210860914260144_r8, 0.00013141125027434214_r8, & + 0.00013403583600034741_r8, 0.00013081741120256126_r8, & + 0.00012167517356924764_r8, 0.00011121307843921013_r8, & + 0.00010242825434703089_r8, 9.4067699783524265e-05_r8, & + 8.7455014533604716e-05_r8, 8.527363621874252e-05_r8, & + 9.594098787151455e-05_r8, 0.00011297193400552478_r8, & + 0.00012891025015020593_r8, 0.000144359315395091_r8, & + 0.00015928434795398625_r8, 0.00017305781587793198_r8, & + 0.00018409310917737951_r8, 0.00019173448077895746_r8, & + 0.00020347102168479406_r8, 0.00023569519397362735_r8, & + 0.00029451000255371337_r8, 0.00034092313990264728_r8, & + 0.00028725938026814694_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,80) / & + 6.196650460913208e-06_r8, 6.1084801442032473e-06_r8, & + 5.8898855756639451e-06_r8, 6.040250267304846e-06_r8, & + 5.9894757829774705e-06_r8, 6.2794251221751891e-06_r8, & + 9.0848368117433659e-06_r8, 1.2238933216513254e-05_r8, & + 1.5811875165846105e-05_r8, 1.9499858043838578e-05_r8, & + 2.4223454899221741e-05_r8, 3.1833297754122693e-05_r8, & + 4.1073853125658671e-05_r8, 5.1692020917907427e-05_r8, & + 6.1860753121353279e-05_r8, 7.2547269412198979e-05_r8, & + 9.1390000140382325e-05_r8, 0.00010790094842636455_r8, & + 0.00012238483582648987_r8, 0.00012992933365166251_r8, & + 0.00013279081442218253_r8, 0.00013034699923105539_r8, & + 0.00012311285510750912_r8, 0.00011469052115535074_r8, & + 0.00010695052377827125_r8, 9.9900730213331305e-05_r8, & + 9.4319992549415842e-05_r8, 9.2979367535631085e-05_r8, & + 0.00010695211269733279_r8, 0.00012640601437435462_r8, & + 0.00014635321247073418_r8, 0.00016436840421663794_r8, & + 0.00017926773053648156_r8, 0.00019054957468618344_r8, & + 0.00020012221625533689_r8, 0.00020929854461052282_r8, & + 0.00021803785927559165_r8, 0.00022607973574107471_r8, & + 0.00023137412548276327_r8, 0.00023880225718597267_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,80) / & + 5.1931595506589312e-06_r8, 5.1529483422439367e-06_r8, & + 5.1052677181222904e-06_r8, 4.7967674033684271e-06_r8, & + 4.7621029204956262e-06_r8, 5.2900235128934359e-06_r8, & + 7.9919587797116436e-06_r8, 9.3242190757970498e-06_r8, & + 9.0727400411611373e-06_r8, 9.182640201079879e-06_r8, & + 1.0854642127985143e-05_r8, 1.7999190154832376e-05_r8, & + 2.1915453203796519e-05_r8, 2.9545049594382867e-05_r8, & + 3.7637058030028115e-05_r8, 4.792961859376407e-05_r8, & + 6.8963920018379212e-05_r8, 8.8848664366325124e-05_r8, & + 0.000107218475782104_r8, 0.000118255568610963_r8, & + 0.00012175898907899643_r8, 0.00012334360954657187_r8, & + 0.00011922232054241163_r8, 0.00011357324828901162_r8, & + 0.00010754405972150044_r8, 0.00010316367625001309_r8, & + 0.00010126582718048437_r8, 0.00010543327811540265_r8, & + 0.00012335927943594606_r8, 0.00014357866078589239_r8, & + 0.00016172465892306577_r8, 0.00017979197877225368_r8, & + 0.00019404591368328471_r8, 0.00020613497271339032_r8, & + 0.00021558241930141103_r8, 0.00022518312665430282_r8, & + 0.00023143253093460027_r8, 0.00023611479460317191_r8, & + 0.00024225371309071137_r8, 0.00025429790807145718_r8, & + 0.00025621998666171752_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,80) / & + 2.7591512507211145e-06_r8, 2.4511853881373509e-06_r8, & + 2.9947762926189008e-06_r8, 2.9941554432355928e-06_r8, & + 2.8902043118922674e-06_r8, 3.1496045541372427e-06_r8, & + 4.293994125823286e-06_r8, 5.068517584439395e-06_r8, & + 5.4400530989564422e-06_r8, 6.1319567121701753e-06_r8, & + 6.8113728911818797e-06_r8, 9.1372674072936678e-06_r8, & + 1.1942650893518229e-05_r8, 1.6176288907069413e-05_r8, & + 2.1152531703081161e-05_r8, 2.6705056205104677e-05_r8, & + 3.9596568206448444e-05_r8, 5.7640930434160433e-05_r8, & + 7.8713322736497551e-05_r8, 9.8511762048779391e-05_r8, & + 0.00010852825846088319_r8, 0.0001149663177980138_r8, & + 0.00011462517930936387_r8, 0.00011160777702996831_r8, & + 0.00010835580737362373_r8, 0.00010594700028224643_r8, & + 0.00010748547276506988_r8, 0.00011592496174636455_r8, & + 0.00013673690655276438_r8, 0.00015750404072476239_r8, & + 0.00017575980229161151_r8, 0.00019474681220315598_r8, & + 0.0002106005550716385_r8, 0.0002242808579142923_r8, & + 0.00023424846264898311_r8, 0.00024202733966203821_r8, & + 0.00025012325043607356_r8, 0.00025467581962179458_r8, & + 0.00025886179370220545_r8, 0.00025918902223512292_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,80) / & + 3.4121158949274657e-06_r8, 3.0713305808583719e-06_r8, & + 3.953373708624974e-06_r8, 3.3281321596218126e-06_r8, & + 3.189215681682105e-06_r8, 3.4548852333936855e-06_r8, & + 4.0249295336539184e-06_r8, 5.3558379610533999e-06_r8, & + 6.3287631880589985e-06_r8, 7.3209016448823035e-06_r8, & + 8.7693634060165746e-06_r8, 1.0268237897107066e-05_r8, & + 1.1091085966948832e-05_r8, 1.3225361579925145e-05_r8, & + 1.675891941260353e-05_r8, 2.0524524476969262e-05_r8, & + 2.897124839552261e-05_r8, 4.279240986045856e-05_r8, & + 6.3211684991724463e-05_r8, 8.6467818482091805e-05_r8, & + 0.00010408739221998786_r8, 0.00011278984815386392_r8, & + 0.00011254346847376698_r8, 0.00010996269407288359_r8, & + 0.00010860084186725773_r8, 0.00010802198274061487_r8, & + 0.0001094197166607187_r8, 0.00011944146846687534_r8, & + 0.00013918582706812628_r8, 0.00016269630226154261_r8, & + 0.00018157865732062285_r8, 0.00019864749167837099_r8, & + 0.00021758947260465386_r8, 0.00023073627640407231_r8, & + 0.00024046871929918193_r8, 0.00024710873080165157_r8, & + 0.00026219356353243293_r8, 0.0002666747179767423_r8, & + 0.00027183440730034697_r8, 0.00026012286784852449_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,80) / & + 8.3360965800562112e-06_r8, 8.0037570452617479e-06_r8, & + 8.8221727877567516e-06_r8, 6.6298818341388929e-06_r8, & + 6.7916285551824939e-06_r8, 6.8377657721198297e-06_r8, & + 7.4336536673705966e-06_r8, 8.8338938285467677e-06_r8, & + 1.0166230037762636e-05_r8, 1.1484306648283501e-05_r8, & + 1.2478323578093498e-05_r8, 1.2653952494639475e-05_r8, & + 1.2868743435881664e-05_r8, 1.4422970841476606e-05_r8, & + 1.7372300574743686e-05_r8, 2.1015421656195899e-05_r8, & + 2.8862465943548839e-05_r8, 4.2722073853203381e-05_r8, & + 6.2102728058854249e-05_r8, 8.1993203106736913e-05_r8, & + 9.4917015020481657e-05_r8, 0.00010002949411332059_r8, & + 9.83791497045574e-05_r8, 9.5231297701123908e-05_r8, & + 9.5244325821656451e-05_r8, 9.6407180242936665e-05_r8, & + 9.8698167374555753e-05_r8, 0.00010907783263850583_r8, & + 0.00012690654173922006_r8, 0.0001478636545494659_r8, & + 0.00016389849301448397_r8, 0.00017707322749299453_r8, & + 0.0001940280573387311_r8, 0.00020677651238476056_r8, & + 0.00021216953561196654_r8, 0.00022414364316776958_r8, & + 0.00023563872773287641_r8, 0.00024479765414530048_r8, & + 0.00026090760258142562_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,80) / & + 9.5298449635220852e-06_r8, 9.3811962601887702e-06_r8, & + 9.4116839058076811e-06_r8, 1.0774635821971732e-05_r8, & + 1.1295714045743609e-05_r8, 1.1521312420124156e-05_r8, & + 1.194107727553842e-05_r8, 1.2914784438426903e-05_r8, & + 1.3320186597339898e-05_r8, 1.375993263764383e-05_r8, & + 1.4269204628615278e-05_r8, 1.50924128754401e-05_r8, & + 1.6593368886263453e-05_r8, 1.88105495609907e-05_r8, & + 2.1950616666314216e-05_r8, 2.6178272846103454e-05_r8, & + 3.7778000630592085e-05_r8, 5.3083475036811001e-05_r8, & + 7.2750290997062296e-05_r8, 8.6693799951797056e-05_r8, & + 9.1355244308429019e-05_r8, 9.1817896029272892e-05_r8, & + 9.0057563683584071e-05_r8, 8.8233195749752433e-05_r8, & + 8.7963081558812856e-05_r8, 8.8148435121176568e-05_r8, & + 9.0633966332642754e-05_r8, 9.7147976632940206e-05_r8, & + 0.0001093587567574458_r8, 0.00012528722165701896_r8, & + 0.00014167015609180185_r8, 0.00015415985695044213_r8, & + 0.00017017133775710106_r8, 0.00018622477646798434_r8, & + 0.0001984262070656097_r8, 0.00021150362019921784_r8, & + 0.00022508881160450715_r8, 0.000233306456733077_r8, & + 0.00023641875792029956_r8, 0.00023368924595329091_r8, & + 0.00023199185747067497_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,80) / & + 1.0264929876119821e-05_r8, 1.0423146626696065e-05_r8, & + 1.0654539477755235e-05_r8, 1.1981761165913276e-05_r8, & + 1.2186176311359309e-05_r8, 1.2629992666371007e-05_r8, & + 1.3923405853404188e-05_r8, 1.4971906695352294e-05_r8, & + 1.6063065919716397e-05_r8, 1.7344107876331496e-05_r8, & + 1.8689684588573574e-05_r8, 1.9652366499128095e-05_r8, & + 2.1334928584465755e-05_r8, 2.4111463352843927e-05_r8, & + 2.7712475368250258e-05_r8, 3.2200383809763963e-05_r8, & + 4.4382266946431495e-05_r8, 6.0893051886545151e-05_r8, & + 8.0205815267305592e-05_r8, 9.2053718421316802e-05_r8, & + 9.4949696737303243e-05_r8, 9.4414339912682807e-05_r8, & + 9.3018798029481902e-05_r8, 9.1693103308961149e-05_r8, & + 9.1053742360123742e-05_r8, 9.0858514979714366e-05_r8, & + 9.1940585966314754e-05_r8, 9.5738779654325323e-05_r8, & + 0.00010220850224591542_r8, 0.0001121835691210858_r8, & + 0.00012445896277333695_r8, 0.00013646000410243999_r8, & + 0.00015007072034669088_r8, 0.00016441192950997623_r8, & + 0.00017962597661798881_r8, 0.00019478474659107055_r8, & + 0.000210885098870646_r8, 0.00022244918515365955_r8, & + 0.00022939253620322578_r8, 0.00023203647326143172_r8, & + 0.00023149048386464889_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,80) / & + 1.0938236036421717e-05_r8, 1.1316478271219767e-05_r8, & + 1.293165603122321e-05_r8, 1.2200001908519119e-05_r8, & + 1.3992432849668224e-05_r8, 1.6859130570020913e-05_r8, & + 2.2029601069681182e-05_r8, 2.4660056113008308e-05_r8, & + 2.6972362524247226e-05_r8, 2.9004272044629823e-05_r8, & + 3.1350024167171888e-05_r8, 3.2043195452947892e-05_r8, & + 3.4168683529000316e-05_r8, 3.9057313956914478e-05_r8, & + 4.3960946033826444e-05_r8, 4.9194037148305974e-05_r8, & + 6.1627371365418327e-05_r8, 7.5694484807384231e-05_r8, & + 8.8170041281472453e-05_r8, 9.3404307255821821e-05_r8, & + 9.3857074429186372e-05_r8, 9.1530281466953219e-05_r8, & + 9.0435005856045857e-05_r8, 8.8936278916557185e-05_r8, & + 8.8152632421077115e-05_r8, 8.7712525611093322e-05_r8, & + 8.7821685854870115e-05_r8, 8.9628409446930425e-05_r8, & + 9.356541535941604e-05_r8, 0.00010034489918367411_r8, & + 0.0001086246796522762_r8, 0.00011766881117639641_r8, & + 0.00012715467674507316_r8, 0.00013728154927564147_r8, & + 0.00014908577610174315_r8, 0.0001627315048078892_r8, & + 0.00017780907554930945_r8, 0.00018819636097277043_r8, & + 0.0001930863991714337_r8, 0.00017760246209991637_r8, & + 0.00023271302169061529_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,80) / & + 9.7341549526182908e-06_r8, 9.9107902438895823e-06_r8, & + 1.1067449613818914e-05_r8, 1.3965635996210177e-05_r8, & + 1.7441038145978697e-05_r8, 2.2222617435755306e-05_r8, & + 3.4339913596725999e-05_r8, 3.8559368889630818e-05_r8, & + 4.1217262551491604e-05_r8, 4.4562680224612231e-05_r8, & + 4.7087299875131683e-05_r8, 4.7795601862720522e-05_r8, & + 4.7792673751540086e-05_r8, 5.4392012347409293e-05_r8, & + 5.9714654621877102e-05_r8, 6.4576283640726344e-05_r8, & + 7.2816512062260665e-05_r8, 7.9163758747127113e-05_r8, & + 8.3464065637237398e-05_r8, 8.5769015151902314e-05_r8, & + 8.685087879586912e-05_r8, 8.558446725930056e-05_r8, & + 8.6239361333614937e-05_r8, 8.6086645216523752e-05_r8, & + 8.5613202422868068e-05_r8, 8.5464893535975821e-05_r8, & + 8.558523160265947e-05_r8, 8.6752013147886573e-05_r8, & + 9.0136569504301959e-05_r8, 9.6843742578886342e-05_r8, & + 0.00010361547032513232_r8, 0.00011069145388238265_r8, & + 0.00011876010761146943_r8, 0.0001268915646970453_r8, & + 0.00013671640491550027_r8, 0.00015213015101367988_r8, & + 0.00016381855444733205_r8, 0.00016810502699529222_r8, & + 0.00016945556523500889_r8, 0.00017150821350702132_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,80) / & + 2.2343886947746608e-05_r8, 2.2219247137762093e-05_r8, & + 1.9405115608106382e-05_r8, 1.8936353486984048e-05_r8, & + 2.2473713796793838e-05_r8, 2.5589103628761115e-05_r8, & + 3.4367404751663275e-05_r8, 3.7919292666301981e-05_r8, & + 3.9471723734143276e-05_r8, 4.1656449170594466e-05_r8, & + 4.3637810469785193e-05_r8, 4.8985442917989401e-05_r8, & + 4.4957515967812695e-05_r8, 5.1172217874881559e-05_r8, & + 6.1801593153494813e-05_r8, 6.4708743488173362e-05_r8, & + 7.158647820650875e-05_r8, 7.4391147195226073e-05_r8, & + 7.6374416017450521e-05_r8, 7.8269519109809235e-05_r8, & + 8.0150581103655873e-05_r8, 8.0291673903363947e-05_r8, & + 8.1379333120636457e-05_r8, 8.2481391252150495e-05_r8, & + 8.3715599496931935e-05_r8, 8.5211308882625526e-05_r8, & + 8.6647042170936365e-05_r8, 9.054930954900915e-05_r8, & + 9.3858656994748652e-05_r8, 9.7304878659261685e-05_r8, & + 0.00010136765554001575_r8, 0.00010679449864500202_r8, & + 0.00011419352789599345_r8, 0.00011991975163168131_r8, & + 0.00012414504486492_r8, 0.00012494538873969566_r8, & + 0.00011859019058103152_r8, 0.00012002588578732065_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,80) / & + 4.2457481504274356e-05_r8, 4.2196885528710249e-05_r8, & + 3.6924123722719082e-05_r8, 3.8541039567134897e-05_r8, & + 4.3753092382222246e-05_r8, 4.7068207330551399e-05_r8, & + 4.8629717501085074e-05_r8, 5.5402458375959025e-05_r8, & + 5.7213076750007211e-05_r8, 5.9169048041158713e-05_r8, & + 6.1129775326234981e-05_r8, 6.5528913479480711e-05_r8, & + 6.5475131369663905e-05_r8, 6.9309250876857439e-05_r8, & + 7.431415901703956e-05_r8, 7.5755812904509923e-05_r8, & + 7.8787920141186772e-05_r8, 8.0829254524617767e-05_r8, & + 8.2253437730133987e-05_r8, 8.3398094091633604e-05_r8, & + 8.4095711959033436e-05_r8, 8.4557978843775359e-05_r8, & + 8.6050673848927982e-05_r8, 8.7383122842533292e-05_r8, & + 8.8544369673048708e-05_r8, 8.980285208227978e-05_r8, & + 9.0647605699979011e-05_r8, 9.3716612763999733e-05_r8, & + 9.7805599994669958e-05_r8, 0.0001020321282563552_r8, & + 0.00010633985856128939_r8, 0.00011222365094554356_r8, & + 0.00011944273657721982_r8, 0.00012135995499663147_r8, & + 0.0001220509304401141_r8, 0.00011972978321994241_r8, & + 0.00011906875545735288_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,80) / & + 4.8740604657006875e-05_r8, 4.7590267569311593e-05_r8, & + 4.2641141211928171e-05_r8, 4.6461696791105583e-05_r8, & + 5.2096843600867124e-05_r8, 5.5188587993316825e-05_r8, & + 5.8666913720157293e-05_r8, 6.3975550356283533e-05_r8, & + 6.6364925994418354e-05_r8, 6.8598646123923783e-05_r8, & + 6.9945545321716449e-05_r8, 7.1691478988865364e-05_r8, & + 7.3356372877977146e-05_r8, 7.5133979789427705e-05_r8, & + 7.6359700316433742e-05_r8, 7.7303211720203586e-05_r8, & + 7.9399011136746585e-05_r8, 8.2043587417613575e-05_r8, & + 8.4098081555535119e-05_r8, 8.5319522817547096e-05_r8, & + 8.5989502753236916e-05_r8, 8.6611548100032918e-05_r8, & + 8.7691480505369568e-05_r8, 8.8820162943615178e-05_r8, & + 9.0093901100555222e-05_r8, 9.1130181735738617e-05_r8, & + 9.1229705975797817e-05_r8, 9.3625204827267857e-05_r8, & + 9.8515956577471152e-05_r8, 0.00010451259137113291_r8, & + 0.00010923998197463536_r8, 0.00011496545075759899_r8, & + 0.00011993646118016377_r8, 0.00011395767376198256_r8, & + 0.00012187060650083843_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,80) / & + 4.7943398106162055e-05_r8, 4.6709219572113783e-05_r8, & + 3.8730732956565819e-05_r8, 4.1237227238521001e-05_r8, & + 4.6431294255189608e-05_r8, 5.0175754772652168e-05_r8, & + 5.6189315969471833e-05_r8, 6.0268348922504774e-05_r8, & + 6.2783715240507051e-05_r8, 6.5088546198519936e-05_r8, & + 6.6680672958109409e-05_r8, 7.0476333155534567e-05_r8, & + 7.2425566112374642e-05_r8, 7.3330946845594108e-05_r8, & + 7.4784495979159538e-05_r8, 7.5973086798161038e-05_r8, & + 7.8751667744595585e-05_r8, 8.0862426414973697e-05_r8, & + 8.3234110251643138e-05_r8, 8.5509390572501774e-05_r8, & + 8.742686145278927e-05_r8, 8.7960476845827925e-05_r8, & + 8.8916394024062266e-05_r8, 8.9959803704555799e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,80) / & + 0.00011859401231857266_r8, 0.00011393428677654766_r8, & + 0.00010552294515968901_r8, 0.00012196723259354105_r8, & + 0.00012330075422340234_r8, 0.00012322061088815606_r8, & + 0.00012713151483569781_r8, 0.00013480861698497837_r8, & + 0.00012273347863843008_r8, 0.00011176125332918624_r8, & + 0.00010637306363847935_r8, 9.1895705627329178e-05_r8, & + 7.5545443395262966e-05_r8, 7.5414978121290512e-05_r8, & + 7.4576647411721901e-05_r8, 7.2675179084828487e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,80) / & + 0.00011411900274826374_r8, 0.00011723755263597214_r8, & + 0.00011137124702245952_r8, 0.00011567346930475176_r8, & + 0.0001236165530344211_r8, 0.00012707286243270697_r8, & + 0.00012771573839611596_r8, 0.00012701597073814952_r8, & + 0.00011172755731195846_r8, 0.00010056569519273329_r8, & + 9.6932124403919064e-05_r8, 8.9062416469515201e-05_r8, & + 7.999657047515683e-05_r8, 7.9001088830495136e-05_r8, & + 7.524098103224477e-05_r8, 7.5220942166923785e-05_r8, & + 6.8773449928884663e-05_r8, 7.4394955422886307e-05_r8, & + 7.6648181638017089e-05_r8, 8.2352935067198625e-05_r8, & + 8.7053436042911029e-05_r8, 8.7922545427220441e-05_r8, & + 9.3614765256876519e-05_r8, 9.6225452071273395e-05_r8, & + 9.7208905255454794e-05_r8, 0.00010007739213159496_r8, & + 0.00010464387767162041_r8, 0.000112940130174991_r8, & + 0.00011446664664181327_r8, 0.00011670900469394991_r8, & + 0.00011772972835462355_r8, 0.0001184021089860555_r8, & + 0.00011920707345175103_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,80) / & + 9.8958649369424711e-05_r8, 0.00011558769934604908_r8, & + 0.00011270975362075156_r8, 0.00010889493625710776_r8, & + 0.00012474789557565896_r8, 0.00013241523058508232_r8, & + 0.00012350039335925705_r8, 0.00010380533708197124_r8, & + 8.3813384344687294e-05_r8, 7.707100584494754e-05_r8, & + 7.6793790106846128e-05_r8, 7.5153532136034039e-05_r8, & + 7.239763763280248e-05_r8, 7.300292453734782e-05_r8, & + 7.2266059150047642e-05_r8, 7.3594476570683931e-05_r8, & + 7.1991536283885459e-05_r8, 7.387126961523545e-05_r8, & + 7.6240633004550973e-05_r8, 7.9585666913414851e-05_r8, & + 8.3659803935976092e-05_r8, 8.6583572843590659e-05_r8, & + 9.1039764282053627e-05_r8, 9.5291653453221037e-05_r8, & + 9.9714787514803831e-05_r8, 0.00010375275421388355_r8, & + 0.00010971785031922862_r8, 0.00011841794508781362_r8, & + 0.00011881805388005135_r8, 0.00011891715154194284_r8, & + 0.00011972848821241616_r8, 0.00012028791808940047_r8, & + 0.00012092688960008602_r8, 0.00012068402979396212_r8, & + 0.00012108703782269108_r8, 0.0001214551896699992_r8, & + 0.00012430887326675996_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,81) / & + 0.00012966781855727698_r8, 0.00013006815069824284_r8, & + 0.00013149767889151574_r8, 0.00013965266357246841_r8, & + 0.00014385611886587107_r8, 0.00014603940202949489_r8, & + 0.00015516036909161477_r8, 0.00015422770642285074_r8, & + 0.00015373121321651985_r8, 0.00015428584139559555_r8, & + 0.00015576462791087379_r8, 0.00015886467159676726_r8, & + 0.00015885429375047438_r8, 0.00017006305860585202_r8, & + 0.00018010366113204072_r8, 0.0001641338729783945_r8, & + 0.00015806460057215253_r8, 0.0001774887316811683_r8, & + 0.00018373779841475814_r8, 0.00020900640272502208_r8, & + 0.00021566232470544933_r8, 0.00018070928268612723_r8, & + 0.00022708670226682763_r8, 0.00026318518790854033_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,81) / & + 0.00012966781855727698_r8, 0.00013006815069824284_r8, & + 0.00013149767889151574_r8, 0.00013965266357246841_r8, & + 0.00014385611886587107_r8, 0.00014603940202949489_r8, & + 0.00015516036909161477_r8, 0.00015422770642285074_r8, & + 0.00015373121321651985_r8, 0.00015428584139559555_r8, & + 0.00015576462791087379_r8, 0.00015886467159676726_r8, & + 0.00015885429375047438_r8, 0.00017006305860585202_r8, & + 0.00018010366113204072_r8, 0.0001641338729783945_r8, & + 0.00015806460057215253_r8, 0.0001774887316811683_r8, & + 0.00018373779841475814_r8, 0.00020900640272502208_r8, & + 0.00021566232470544933_r8, 0.00018070928268612723_r8, & + 0.00022708670226682763_r8, 0.00026318518790854033_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,81) / & + 0.00012966781855727698_r8, 0.00013006815069824284_r8, & + 0.00013149767889151574_r8, 0.00013965266357246841_r8, & + 0.00014385611886587107_r8, 0.00014603940202949489_r8, & + 0.00015516036909161477_r8, 0.00015422770642285074_r8, & + 0.00015373121321651985_r8, 0.00015428584139559555_r8, & + 0.00015576462791087379_r8, 0.00015886467159676726_r8, & + 0.00015885429375047438_r8, 0.00017006305860585202_r8, & + 0.00018010366113204072_r8, 0.0001641338729783945_r8, & + 0.00015806460057215253_r8, 0.0001774887316811683_r8, & + 0.00018373779841475814_r8, 0.00020900640272502208_r8, & + 0.00021566232470544933_r8, 0.00018070928268612723_r8, & + 0.00022708670226682763_r8, 0.00026318518790854033_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,81) / & + 0.00013380016499945838_r8, 0.00013338909697368479_r8, & + 0.00013497336239185633_r8, 0.00013817603249711822_r8, & + 0.00014722822579320944_r8, 0.00014853166279359104_r8, & + 0.00015903382957409531_r8, 0.00016346279698353241_r8, & + 0.00016413471215496436_r8, 0.00016546160134982063_r8, & + 0.00016723340965125232_r8, 0.00016971017089764204_r8, & + 0.000170723531787665_r8, 0.00017754257192114623_r8, & + 0.00019690761528879378_r8, 0.00020754521581597038_r8, & + 0.00022155306867535632_r8, 0.00022483472837746146_r8, & + 0.00022826249798667687_r8, 0.00023046276142594266_r8, & + 0.00023468529342028128_r8, 0.00024562791829953423_r8, & + 0.00024474878080876642_r8, 0.0002453592698949148_r8, & + 0.00024885323343562456_r8, 0.00024997080527434197_r8, & + 0.00025032387837866754_r8, 0.00025070844049439491_r8, & + 0.00025228229010555053_r8, 0.00025697506662678384_r8, & + 0.00025498512496879887_r8, 0.00025492238827686377_r8, & + 0.00025348241997523614_r8, 0.00024882415578469772_r8, & + 0.00024759339227977908_r8, 0.00024756992021206708_r8, & + 0.00024306703844806127_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,81) / & + 0.00015907573387699683_r8, 0.00015801641372335768_r8, & + 0.00015829106775477059_r8, 0.00014788539026988965_r8, & + 0.00016363953493205342_r8, 0.00016109357315857793_r8, & + 0.00017329869991041175_r8, 0.00018512611072423453_r8, & + 0.00018906330266029228_r8, 0.00019378400502427208_r8, & + 0.00019802850211121309_r8, 0.00020402505347755817_r8, & + 0.00020851112109387021_r8, 0.00021387170526554903_r8, & + 0.00022087208358658191_r8, 0.00022407469323791924_r8, & + 0.00022996396668031156_r8, 0.00023620445434307648_r8, & + 0.00024073426193012886_r8, 0.00024357549568023435_r8, & + 0.00024704269218068072_r8, 0.00025053951247673188_r8, & + 0.00025038572406185181_r8, 0.00025067339230351419_r8, & + 0.00025274802938567923_r8, 0.00025365622533135015_r8, & + 0.00025429051632783016_r8, 0.00025434243665045403_r8, & + 0.00025663869002449615_r8, 0.00025622772603772819_r8, & + 0.00025402794396662962_r8, 0.00025400017095021589_r8, & + 0.00025386501816030836_r8, 0.00025149289950463947_r8, & + 0.0002504753382312953_r8, 0.0002505495904726742_r8, & + 0.00024765847588014881_r8, 0.00025376075971169634_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,81) / & + 0.00017098352067750102_r8, 0.0001680662370824858_r8, & + 0.00016602340723316581_r8, 0.00015651821985611982_r8, & + 0.00017043223835085477_r8, 0.00016936736029575541_r8, & + 0.0001791873810756064_r8, 0.00019235383996660105_r8, & + 0.00019896276115978902_r8, 0.00020684597384503208_r8, & + 0.00021405839714557927_r8, 0.00022282873848756646_r8, & + 0.00023247098767693078_r8, 0.00023924461799204529_r8, & + 0.00024198311214038002_r8, 0.00024565285295317474_r8, & + 0.00025098429580828953_r8, 0.0002558823075233897_r8, & + 0.00025913046226214154_r8, 0.00026110692882984284_r8, & + 0.00026304079216169933_r8, 0.00026311387783768979_r8, & + 0.00026366554603373711_r8, 0.00026337844918674345_r8, & + 0.00026326778081119405_r8, 0.00026309088862108937_r8, & + 0.00026300084120091898_r8, 0.00026282513320086755_r8, & + 0.00026288611659722557_r8, 0.00025990749986410446_r8, & + 0.00025825317638217076_r8, 0.00025814349080558927_r8, & + 0.00025848499497087762_r8, 0.00025715770380246134_r8, & + 0.00025664555068226629_r8, 0.00025565452637920917_r8, & + 0.00025297697595425326_r8, 0.0002516669273761861_r8, & + 0.00024600539255801484_r8, 0.00024322839825380345_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,81) / & + 0.00014958452647282968_r8, 0.0001477628798168909_r8, & + 0.00014553779804484285_r8, 0.00013639962797091807_r8, & + 0.00014373495319017289_r8, 0.0001546675486186917_r8, & + 0.00017228441046438005_r8, 0.00018456897409805206_r8, & + 0.00019013802663814358_r8, 0.00019691441036971799_r8, & + 0.00020267599627758434_r8, 0.00021149876811027551_r8, & + 0.00022254500202258581_r8, 0.00022851017365787459_r8, & + 0.0002330074610493756_r8, 0.00023737635406881032_r8, & + 0.00024459299554357685_r8, 0.0002480978961917615_r8, & + 0.00025167828464098908_r8, 0.0002546671372267408_r8, & + 0.00025728292765406777_r8, 0.00025863184102618337_r8, & + 0.00025921532260728819_r8, 0.00026011264727443729_r8, & + 0.00026065833518345861_r8, 0.00026063016345543287_r8, & + 0.00026060421825805112_r8, 0.00026052065017220457_r8, & + 0.00025936696611347234_r8, 0.00025818130486845135_r8, & + 0.00025605952048190562_r8, 0.00025266075478944111_r8, & + 0.0002523775036017653_r8, 0.00025068579974338729_r8, & + 0.00025047653720383325_r8, 0.0002491564700884166_r8, & + 0.00024524174703648589_r8, 0.00024359691101717709_r8, & + 0.00024119389203507656_r8, 0.00024254477639951358_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,81) / & + 8.3990401912547745e-05_r8, 8.342262130990095e-05_r8, & + 8.048850187870276e-05_r8, 6.8092678303577231e-05_r8, & + 7.0654844366801377e-05_r8, 8.1025625353924586e-05_r8, & + 0.00010183056107780002_r8, 0.00012655744696109247_r8, & + 0.00013970689679978772_r8, 0.00014981817196618087_r8, & + 0.00015732188484281871_r8, 0.00016348366997201932_r8, & + 0.00017263321971057791_r8, 0.00018137745488066187_r8, & + 0.00018602471613130876_r8, 0.0001899048306157748_r8, & + 0.00019870741576760663_r8, 0.00020390041850443287_r8, & + 0.00020936069146529893_r8, 0.00021374613390406683_r8, & + 0.00021674790923302377_r8, 0.00021835140503564617_r8, & + 0.00022100647406401224_r8, 0.00022385006398204906_r8, & + 0.00022610928805382962_r8, 0.00022909954732424487_r8, & + 0.00023240071829996799_r8, 0.00023695916780641199_r8, & + 0.00024333351700887984_r8, 0.00024599602366187797_r8, & + 0.00024966972749191816_r8, 0.00025023229932853768_r8, & + 0.00025055397664749864_r8, 0.00025018611255556069_r8, & + 0.00024791562351681498_r8, 0.00024049553009949454_r8, & + 0.00024364686614343947_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,81) / & + 2.5395542590249853e-05_r8, 2.4563471275234249e-05_r8, & + 2.4110842293626903e-05_r8, 3.0400628384954108e-05_r8, & + 3.173957313101191e-05_r8, 3.4769205338213994e-05_r8, & + 4.939896949910808e-05_r8, 6.4573611617993156e-05_r8, & + 7.8031584369891044e-05_r8, 9.0521367684221851e-05_r8, & + 0.00010184578019824859_r8, 0.0001137470257338365_r8, & + 0.00012989565694830063_r8, 0.00014197583215655376_r8, & + 0.00014948755062720262_r8, 0.00015602288851900269_r8, & + 0.00016882476092685891_r8, 0.00017590112002022719_r8, & + 0.00018086690755181678_r8, 0.00018623775684252779_r8, & + 0.00019083597006653991_r8, 0.00019407930863875645_r8, & + 0.00019817941551340882_r8, 0.00020129291148276437_r8, & + 0.00020425450309121651_r8, 0.00020784635619357648_r8, & + 0.00021289135833478447_r8, 0.00022568016037528084_r8, & + 0.00023704606356545008_r8, 0.00024297797933309326_r8, & + 0.00024998518890391198_r8, 0.00025409656910056766_r8, & + 0.00025864050312914824_r8, 0.00026091102944801408_r8, & + 0.00026316519268346011_r8, 0.00026380591162912114_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,81) / & + 1.0841355288297411e-05_r8, 1.0039452033174592e-05_r8, & + 1.1307994458135446e-05_r8, 1.4358187405660987e-05_r8, & + 1.6133578224913886e-05_r8, 1.8092389776018443e-05_r8, & + 2.5447611891393225e-05_r8, 3.393535211233255e-05_r8, & + 4.1856632163164217e-05_r8, 5.0083324639156311e-05_r8, & + 5.7310551351693893e-05_r8, 6.6541276676674151e-05_r8, & + 8.00432647548372e-05_r8, 9.0748096990747633e-05_r8, & + 9.8472507942166316e-05_r8, 0.00010644203826037086_r8, & + 0.00012292939448975816_r8, 0.00013342596828610489_r8, & + 0.00014282913079349214_r8, 0.00015169125514469288_r8, & + 0.00016068295340285939_r8, 0.00016766988590739978_r8, & + 0.00017512504116288887_r8, 0.00017994260075066744_r8, & + 0.00018380656404762459_r8, 0.00018755039425255506_r8, & + 0.00019112508378699877_r8, 0.00019855494627609607_r8, & + 0.00020507933066681976_r8, 0.00021225602833502884_r8, & + 0.00022267919371215896_r8, 0.00023268650060576541_r8, & + 0.00024154663029893737_r8, 0.00024763620187856099_r8, & + 0.00025258527646724693_r8, 0.0002559626691201242_r8, & + 0.00025968882890182641_r8, 0.0002630441107030982_r8, & + 0.00026606157527646074_r8, 0.00026804451686767772_r8, & + 0.00026954713056540915_r8, 0.00027085864589654731_r8, & + 0.00027136756433321276_r8, 0.00027130187575321002_r8, & + 0.00027277752933336531_r8 & + / +data saar_ref(:,11,81) / & + 4.9059861278323779e-06_r8, 4.8269601991780758e-06_r8, & + 5.1991106457235206e-06_r8, 6.3162999930803524e-06_r8, & + 6.6306100802325112e-06_r8, 7.0363845436949342e-06_r8, & + 1.0300647444153338e-05_r8, 1.2035535543111675e-05_r8, & + 1.4458563533701846e-05_r8, 1.7518866685219862e-05_r8, & + 2.0391215493319778e-05_r8, 2.266616238781437e-05_r8, & + 2.7045777911320852e-05_r8, 3.1477184873801852e-05_r8, & + 3.594491138192586e-05_r8, 4.0491284258497284e-05_r8, & + 5.1912318666942958e-05_r8, 6.3904618318982593e-05_r8, & + 7.6949839706811339e-05_r8, 9.0382164294567957e-05_r8, & + 0.00010597650090363521_r8, 0.00011980731672776267_r8, & + 0.00013266767245907377_r8, 0.00014147738962462197_r8, & + 0.0001465483361834142_r8, 0.00014990911535567918_r8, & + 0.00015114663981655762_r8, 0.00014977065241796541_r8, & + 0.00014801733740752481_r8, 0.00015163523087585097_r8, & + 0.00016427419212682173_r8, 0.00018770377973125439_r8, & + 0.00021137236427745296_r8, 0.00022645451369706336_r8, & + 0.00023826975619353302_r8, 0.00024754164426194327_r8, & + 0.00025582813159527048_r8, 0.00026148591715467441_r8, & + 0.00026555201041546207_r8, 0.00026817865089264305_r8, & + 0.00026940235158323298_r8, 0.00027069999926115945_r8, & + 0.00027138809703703738_r8, 0.0002714200708264966_r8, & + 0.00027300940987932162_r8 & + / +data saar_ref(:,12,81) / & + 3.4094855402948596e-06_r8, 3.5627523964127974e-06_r8, & + 3.3853840580657435e-06_r8, 6.2278546215982117e-06_r8, & + 6.25583397391467e-06_r8, 6.4434357081753209e-06_r8, & + 8.2993102239025608e-06_r8, 9.7682603001572598e-06_r8, & + 1.0780997202856928e-05_r8, 1.2121968535570643e-05_r8, & + 1.3580978998954995e-05_r8, 1.5337612424411469e-05_r8, & + 1.9017614515286304e-05_r8, 2.2544853110145355e-05_r8, & + 2.6176714946861307e-05_r8, 2.9883191929114788e-05_r8, & + 3.9004369989684379e-05_r8, 4.9367082801298753e-05_r8, & + 6.1651044364236551e-05_r8, 7.5770951139144782e-05_r8, & + 9.0743344836430998e-05_r8, 0.00010466686072530004_r8, & + 0.00011747823034069055_r8, 0.00012750004225472382_r8, & + 0.00013453507385619405_r8, 0.00013866264838114148_r8, & + 0.00014049402611282657_r8, 0.00013727858162337114_r8, & + 0.0001313990632887129_r8, 0.00013053782599082621_r8, & + 0.00013910054239149564_r8, 0.00016398430484133088_r8, & + 0.00019290683426778838_r8, 0.00021752348051225567_r8, & + 0.00023425838912943643_r8, 0.0002462316495822617_r8, & + 0.00025597064478899661_r8, 0.00026229532494674465_r8, & + 0.00026665203281570033_r8, 0.00027012374854549186_r8, & + 0.0002715886331365817_r8, 0.00026974859039906508_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,81) / & + 3.9677419295327482e-06_r8, 3.9883629467005825e-06_r8, & + 4.1886784921811547e-06_r8, 5.6134496114727299e-06_r8, & + 5.634244780236426e-06_r8, 5.6551998970340851e-06_r8, & + 5.9130339904659662e-06_r8, 6.9397704129623589e-06_r8, & + 7.4983432365078297e-06_r8, 8.09833876068048e-06_r8, & + 8.6244965804706175e-06_r8, 9.4713595981655024e-06_r8, & + 1.111662312594062e-05_r8, 1.3000259149508885e-05_r8, & + 1.5253587099835891e-05_r8, 1.763745809422488e-05_r8, & + 2.3640860778261075e-05_r8, 3.0484196974078915e-05_r8, & + 3.9927551092613749e-05_r8, 5.069856936122741e-05_r8, & + 6.3541814882384423e-05_r8, 7.6931407855296884e-05_r8, & + 9.1001764648059529e-05_r8, 0.0001040659865862292_r8, & + 0.0001157257448888611_r8, 0.00012380890673763616_r8, & + 0.00012805689667777953_r8, 0.00012732859531886542_r8, & + 0.0001166481705786577_r8, 0.00010557895761558421_r8, & + 0.00010574292585441499_r8, 0.00011813595049547565_r8, & + 0.00014448430648338908_r8, 0.00018362522533528944_r8, & + 0.00021646105976706672_r8, 0.00023900823887005077_r8, & + 0.00025344998205877088_r8, 0.00026299021521330166_r8, & + 0.00026811796155962712_r8, 0.00027126065746545605_r8, & + 0.00027270617449231133_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,81) / & + 3.7630002490089948e-06_r8, 3.7403210202046669e-06_r8, & + 3.8536102396808826e-06_r8, 4.7657895383528707e-06_r8, & + 4.7152460406467981e-06_r8, 4.865426309510459e-06_r8, & + 4.1619362379416838e-06_r8, 4.7806243951575999e-06_r8, & + 4.9494290891716364e-06_r8, 5.2430643224492601e-06_r8, & + 5.523014861151983e-06_r8, 5.870012747639378e-06_r8, & + 6.7235811456590348e-06_r8, 7.5526536866745174e-06_r8, & + 8.4581894865549963e-06_r8, 1.0028858412880918e-05_r8, & + 1.4938701665378647e-05_r8, 2.2033219126246374e-05_r8, & + 2.916245097621088e-05_r8, 3.7782696287372667e-05_r8, & + 4.8843120976640624e-05_r8, 6.1474939549085113e-05_r8, & + 7.6327664005366766e-05_r8, 9.1123244012823729e-05_r8, & + 0.0001039070470786933_r8, 0.00011409234610813561_r8, & + 0.00011994765946698408_r8, 0.00011808786603881924_r8, & + 0.00010018421215289545_r8, 8.2208590311750121e-05_r8, & + 7.4369391314547544e-05_r8, 7.7053417820609893e-05_r8, & + 8.8632180955418592e-05_r8, 0.00011909932720796949_r8, & + 0.00017045999184841864_r8, 0.00022021627318623928_r8, & + 0.00025143736187553743_r8, 0.00026716813532560839_r8, & + 0.00027206000317950719_r8, 0.00027294812334205105_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,81) / & + 4.069148890316996e-06_r8, 3.9501354830710116e-06_r8, & + 3.9195901268481236e-06_r8, 4.7375820220886178e-06_r8, & + 4.6396842305111424e-06_r8, 5.0663356378732898e-06_r8, & + 3.8989771549071437e-06_r8, 4.1395023690646239e-06_r8, & + 4.6186695767602393e-06_r8, 4.7731506076412475e-06_r8, & + 4.9088545029102073e-06_r8, 5.1008345617598883e-06_r8, & + 5.8634625650667313e-06_r8, 6.5892492883801666e-06_r8, & + 7.3619268085906382e-06_r8, 8.7849180148678054e-06_r8, & + 1.3893518863101162e-05_r8, 2.1858297344244888e-05_r8, & + 3.074257602341006e-05_r8, 4.0511348224087619e-05_r8, & + 5.3630792252927385e-05_r8, 6.818774374635109e-05_r8, & + 8.3232793952454839e-05_r8, 9.6553260650487571e-05_r8, & + 0.00010661330377918928_r8, 0.0001121491101182036_r8, & + 0.00011277566714450689_r8, 0.00010213177013684189_r8, & + 8.1953410247933965e-05_r8, 6.7975840352948427e-05_r8, & + 6.3455449556268644e-05_r8, 6.6132410694357181e-05_r8, & + 7.2383140568832522e-05_r8, 9.0433870242717711e-05_r8, & + 0.00013644354891351708_r8, 0.00019286712110411049_r8, & + 0.00023384633765460624_r8, 0.00024763840182164063_r8, & + 0.00027264659891080298_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,81) / & + 5.2834759958116267e-06_r8, 5.1336510133650675e-06_r8, & + 5.1440820514952981e-06_r8, 5.03018741738735e-06_r8, & + 4.8637803780683273e-06_r8, 5.2166284822145059e-06_r8, & + 4.1628999926314634e-06_r8, 4.7973911975248929e-06_r8, & + 5.1209546395294406e-06_r8, 5.8453103402698389e-06_r8, & + 6.325420052432212e-06_r8, 6.6570269306429243e-06_r8, & + 7.4280940872721351e-06_r8, 8.3913813539623889e-06_r8, & + 9.8699197722612414e-06_r8, 1.211997326052199e-05_r8, & + 1.896698089944212e-05_r8, 3.0104977626052833e-05_r8, & + 4.2155770966236055e-05_r8, 5.6432616814989457e-05_r8, & + 7.41935576707295e-05_r8, 9.2419576333624959e-05_r8, & + 0.00010624497063796202_r8, 0.00011435904945702278_r8, & + 0.00011613708265610988_r8, 0.00011094234724601478_r8, & + 0.00010136569954712546_r8, 8.2216496507363625e-05_r8, & + 6.9023231855214301e-05_r8, 6.6249689370263763e-05_r8, & + 6.9994017922021026e-05_r8, 7.5605045274951911e-05_r8, & + 8.2779586826594291e-05_r8, 9.6399719821533335e-05_r8, & + 0.00014115948217282589_r8, 0.00020592501166156514_r8, & + 0.00025269905189529389_r8, 0.00027721141635955851_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,81) / & + 5.9114494286456788e-06_r8, 6.0105533718872416e-06_r8, & + 6.0409209124163045e-06_r8, 5.2711886965051909e-06_r8, & + 5.1886160854718511e-06_r8, 4.9643911198569338e-06_r8, & + 4.1455831229159062e-06_r8, 5.0225756984965762e-06_r8, & + 5.1795221072448721e-06_r8, 6.0115653424647247e-06_r8, & + 6.9639433265912986e-06_r8, 7.6384682834869508e-06_r8, & + 8.6258577557364808e-06_r8, 1.0249251995142858e-05_r8, & + 1.2089374221235797e-05_r8, 1.5204406217810231e-05_r8, & + 2.374849619124956e-05_r8, 3.8773222732498057e-05_r8, & + 5.3309880928812319e-05_r8, 7.1661241272622111e-05_r8, & + 9.1428585543024596e-05_r8, 0.00010931469836970253_r8, & + 0.00012098360355590356_r8, 0.00012487713902370072_r8, & + 0.00011766319157414214_r8, 0.00010603600913972871_r8, & + 8.8450509275266417e-05_r8, 6.9878546408916551e-05_r8, & + 6.4352800238975165e-05_r8, 6.846974657171005e-05_r8, & + 7.6483738949743483e-05_r8, 8.3467708368134203e-05_r8, & + 9.1528011669319518e-05_r8, 0.00010472725665316185_r8, & + 0.00015494612513525759_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,81) / & + 5.9359031809006174e-06_r8, 6.1835664783588499e-06_r8, & + 6.2226333068894598e-06_r8, 4.5489465286487349e-06_r8, & + 4.5006344617921707e-06_r8, 4.0188183473840576e-06_r8, & + 3.3510472975511043e-06_r8, 3.8095467583636504e-06_r8, & + 4.0700154736177908e-06_r8, 4.7211552897385481e-06_r8, & + 5.944781050632498e-06_r8, 7.0353019578204755e-06_r8, & + 8.9185952402030983e-06_r8, 1.2191525375034859e-05_r8, & + 1.5797118952157773e-05_r8, 2.1164943719090168e-05_r8, & + 3.3664932600227249e-05_r8, 5.1697950335118958e-05_r8, & + 6.8008519521068801e-05_r8, 8.7792393880593955e-05_r8, & + 0.00010692512409918992_r8, 0.00011917383864116444_r8, & + 0.00012334195824282399_r8, 0.00011783689783748417_r8, & + 0.00010481315982639049_r8, 8.391682217499165e-05_r8, & + 7.5492509038094935e-05_r8, 6.4007458249664559e-05_r8, & + 6.698865745616235e-05_r8, 7.609039218929509e-05_r8, & + 8.6813620170099476e-05_r8, 9.3562380405115851e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,81) / & + 5.0819239923201575e-06_r8, 5.2495460985447714e-06_r8, & + 4.9446379279460487e-06_r8, 5.1385101841287207e-06_r8, & + 4.9555714102090773e-06_r8, 5.8557275124439896e-06_r8, & + 5.9024319812479853e-06_r8, 5.477502761954927e-06_r8, & + 6.0004216266844683e-06_r8, 7.7749318092394591e-06_r8, & + 9.6309808318051753e-06_r8, 1.1357378451407467e-05_r8, & + 1.5984372286363126e-05_r8, 2.0967612540525583e-05_r8, & + 2.8808529264393477e-05_r8, 3.7381167092505834e-05_r8, & + 5.4237123130612168e-05_r8, 6.9354306905918906e-05_r8, & + 8.3929946843006508e-05_r8, 0.00010180338452857828_r8, & + 0.00011351169149549936_r8, 0.00011918582421808845_r8, & + 0.00011570115769748641_r8, 0.00010470750931506527_r8, & + 9.2747407710413483e-05_r8, 8.0968956730338888e-05_r8, & + 7.2031731247990764e-05_r8, 6.5109109865558643e-05_r8, & + 6.9849536700886656e-05_r8, 7.9354469249989193e-05_r8, & + 9.144667145433795e-05_r8, 0.0001003806776997452_r8, & + 0.00010627210724006423_r8, 0.00011172773734198893_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,81) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,81) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,81) / & + 7.6431602213516122e-06_r8, 6.6973368034650143e-06_r8, & + 6.1226912067611204e-06_r8, 6.7133440808326253e-06_r8, & + 6.7719948654172891e-06_r8, 7.0677420960301437e-06_r8, & + 7.8784802237931515e-06_r8, 1.0872473486798621e-05_r8, & + 1.529465583344099e-05_r8, 2.2204478577687174e-05_r8, & + 2.7941608141866576e-05_r8, 3.360495289984229e-05_r8, & + 4.1766461834590644e-05_r8, 5.0363659634183103e-05_r8, & + 6.0291062867332782e-05_r8, 7.0467995023093015e-05_r8, & + 8.8297225896626666e-05_r8, 0.00010733933793079253_r8, & + 0.00012287567024323349_r8, 0.0001335439597271138_r8, & + 0.00013756929119675072_r8, 0.00013150220526400965_r8, & + 0.0001203961664461058_r8, 0.00010679642667036294_r8, & + 9.4641349296035405e-05_r8, 8.6364630143782249e-05_r8, & + 8.1424835802437919e-05_r8, 7.5404194340190952e-05_r8, & + 8.1551436511432461e-05_r8, 8.9371441031147619e-05_r8, & + 0.00010105654950390653_r8, 0.00011309929667864393_r8, & + 0.00012052208754216615_r8, 0.00012475838816480047_r8, & + 0.00012558680035010719_r8, 0.00012947235926020543_r8, & + 0.00019340373593549842_r8, 0.00034174973280667582_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,81) / & + 6.8719638069558121e-06_r8, 6.6388376039828301e-06_r8, & + 6.4534085793577001e-06_r8, 6.9754272066563489e-06_r8, & + 7.224345957171864e-06_r8, 7.4968685900331443e-06_r8, & + 8.5537256564068569e-06_r8, 1.2746841898413437e-05_r8, & + 2.0214344676449525e-05_r8, 2.8996633617488746e-05_r8, & + 3.4759053515476871e-05_r8, 4.0003233697203499e-05_r8, & + 4.7683746278785802e-05_r8, 5.6062921246099072e-05_r8, & + 6.5047798676152411e-05_r8, 7.5265106904003084e-05_r8, & + 9.418476293683848e-05_r8, 0.00011205270685140643_r8, & + 0.00012567064714806214_r8, 0.00013583500938787874_r8, & + 0.00013936277282431694_r8, 0.00013261687871426764_r8, & + 0.000121533376797628_r8, 0.00010841151697039573_r8, & + 9.6825011792599648e-05_r8, 8.8609097167651398e-05_r8, & + 8.2664185536278988e-05_r8, 7.8533379478837624e-05_r8, & + 8.6261962191858774e-05_r8, 9.4454953651752768e-05_r8, & + 0.00010646189093388375_r8, 0.00011940952837664705_r8, & + 0.00012870738060407705_r8, 0.00013243242888419035_r8, & + 0.00013419056140620669_r8, 0.00014046736381161237_r8, & + 0.00018520901354824763_r8, 0.00029636189590382083_r8, & + 0.00036258622306839468_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,81) / & + 7.330157978868354e-06_r8, 7.2263074723146259e-06_r8, & + 7.2421337957745256e-06_r8, 7.5314795514776604e-06_r8, & + 7.8897518747569569e-06_r8, 8.2943351814015012e-06_r8, & + 1.1088459721625703e-05_r8, 1.8505717616328367e-05_r8, & + 2.8252192387493784e-05_r8, 3.9637631226513726e-05_r8, & + 4.6165523608190324e-05_r8, 5.272122432227181e-05_r8, & + 5.9997282717728163e-05_r8, 6.7394941555827553e-05_r8, & + 7.4151091310692408e-05_r8, 8.1591879040373598e-05_r8, & + 9.7025376881210173e-05_r8, 0.00011133941151707135_r8, & + 0.00012381015715351912_r8, 0.00013258631031055407_r8, & + 0.00013434450836191395_r8, 0.00012929580283734378_r8, & + 0.00011925056129432757_r8, 0.00010771195961633901_r8, & + 9.783934744621623e-05_r8, 8.8842739207719071e-05_r8, & + 8.2307697761109684e-05_r8, 7.9581585108111697e-05_r8, & + 8.9946619423175644e-05_r8, 0.00010214399666871222_r8, & + 0.00011532660567468369_r8, 0.0001277384109125324_r8, & + 0.00013794469600511929_r8, 0.00014624606767707742_r8, & + 0.00015530241792692192_r8, 0.00016926838495606654_r8, & + 0.00020361875619458181_r8, 0.00026733525959218661_r8, & + 0.00033411605794398476_r8, 0.00034726158214204401_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,81) / & + 7.2494756797928307e-06_r8, 7.0869588632985203e-06_r8, & + 7.223116753707522e-06_r8, 8.2663340801193545e-06_r8, & + 8.5565210529865891e-06_r8, 9.4222912216416001e-06_r8, & + 1.414182745844285e-05_r8, 2.27723732985227e-05_r8, & + 3.0456849783810591e-05_r8, 3.9393561671907376e-05_r8, & + 4.6192507318960049e-05_r8, 5.3380548800393781e-05_r8, & + 6.068808316931063e-05_r8, 6.868277299426444e-05_r8, & + 7.5347031302021463e-05_r8, 8.1314586347598866e-05_r8, & + 9.4028034515356842e-05_r8, 0.00010671089430117834_r8, & + 0.00011959000587727225_r8, 0.00012870033093236271_r8, & + 0.00013194848656210032_r8, 0.0001292632994168768_r8, & + 0.00012125047560921253_r8, 0.0001116436284455175_r8, & + 0.00010329071603322831_r8, 9.5097386648648673e-05_r8, & + 8.8907378775365153e-05_r8, 8.6908034039566171e-05_r8, & + 9.8097791510840912e-05_r8, 0.00011425796713283981_r8, & + 0.00013008944515949291_r8, 0.00014420689105403044_r8, & + 0.0001570650239596068_r8, 0.00017143879391874931_r8, & + 0.0001854339664948988_r8, 0.00019655193007034311_r8, & + 0.00021107180840893901_r8, 0.00022992846167916092_r8, & + 0.00025951840371049502_r8, 0.00023972181528586898_r8, & + 0.00024318091796987076_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,81) / & + 6.1785414749211082e-06_r8, 6.1271695372203737e-06_r8, & + 6.0730325632633389e-06_r8, 6.3559737921431363e-06_r8, & + 6.3610379243128504e-06_r8, 7.031184855905764e-06_r8, & + 1.141169213987539e-05_r8, 1.3931470588690626e-05_r8, & + 1.7125881653586434e-05_r8, 2.1335376944716029e-05_r8, & + 2.6491736523929988e-05_r8, 3.4280519415122408e-05_r8, & + 4.3001231507794716e-05_r8, 5.3194927053391619e-05_r8, & + 6.2894353054828236e-05_r8, 7.2710493570416133e-05_r8, & + 8.9435465624492847e-05_r8, 0.00010519164532976273_r8, & + 0.00011853562840176155_r8, 0.00012807316566137937_r8, & + 0.00013187406144218647_r8, 0.00012873619877345368_r8, & + 0.00012345596706820952_r8, 0.00011617915959992364_r8, & + 0.00011011521786078791_r8, 0.0001047326591517272_r8, & + 0.00010039793288023688_r8, 9.8686730847427821e-05_r8, & + 0.00010938001584783631_r8, 0.00012507140019838052_r8, & + 0.00014403561420215855_r8, 0.00016072336392666052_r8, & + 0.00017385517502893684_r8, 0.00018817117592108784_r8, & + 0.00019873349631066345_r8, 0.0002083339148891383_r8, & + 0.00021684843552042599_r8, 0.0002239432448878792_r8, & + 0.00023300549258991842_r8, 0.00024075568744265778_r8, & + 0.00024820619959975849_r8, 0.00025388735484457446_r8, & + 0.0002570527225283514_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,81) / & + 5.1543528820610543e-06_r8, 4.8512547086113808e-06_r8, & + 5.0752845482139408e-06_r8, 5.6355529217403996e-06_r8, & + 5.5768365597159155e-06_r8, 6.090955209194413e-06_r8, & + 8.9670646798713144e-06_r8, 9.6555224840733251e-06_r8, & + 9.2604168512466455e-06_r8, 1.0095467777730951e-05_r8, & + 1.1977756309102714e-05_r8, 1.8175126021445108e-05_r8, & + 2.3572843687522122e-05_r8, 3.2149799578247796e-05_r8, & + 4.0323997259613166e-05_r8, 4.9592526133532848e-05_r8, & + 7.1058328661522581e-05_r8, 9.0597622632449234e-05_r8, & + 0.00010734219343861429_r8, 0.00012084857625152437_r8, & + 0.00012562342287520593_r8, 0.00012511236431408997_r8, & + 0.00012124675670248641_r8, 0.00011661430210295774_r8, & + 0.00011221189472247338_r8, 0.00010950270237281243_r8, & + 0.00010932756352729883_r8, 0.00011339432999442274_r8, & + 0.000124972181797066_r8, 0.00014138902529451782_r8, & + 0.00015943616619704739_r8, 0.00017767359959425466_r8, & + 0.00019314378292108504_r8, 0.00020851882690896959_r8, & + 0.0002184848921984305_r8, 0.00022809110241055983_r8, & + 0.00023540244170363239_r8, 0.00024145663660927075_r8, & + 0.00024774376977499345_r8, 0.00025378939897037223_r8, & + 0.00025946054834009136_r8, 0.00026314662098658146_r8, & + 0.00026554217321937348_r8, 0.00026592204407792933_r8, 9e90_r8 & + / +data saar_ref(:,28,81) / & + 3.435542548452774e-06_r8, 3.1777190714972087e-06_r8, & + 4.0549004620348216e-06_r8, 4.6107941225573625e-06_r8, & + 4.1160878878496216e-06_r8, 4.3362367473754081e-06_r8, & + 5.4506445968387019e-06_r8, 6.1453257415526834e-06_r8, & + 6.4335981124066313e-06_r8, 6.8228191874238387e-06_r8, & + 7.7857755421523597e-06_r8, 1.0440102936510627e-05_r8, & + 1.4184908869261274e-05_r8, 1.8256094526650172e-05_r8, & + 2.3611367688663884e-05_r8, 2.911101692745284e-05_r8, & + 4.2704419586884859e-05_r8, 6.1492845258794097e-05_r8, & + 8.2687653341200981e-05_r8, 0.00010236779140929878_r8, & + 0.00011309031300108869_r8, 0.00011776601303530222_r8, & + 0.00011636785597556588_r8, 0.00011406770865642802_r8, & + 0.00011177009791276012_r8, 0.00011082613481548983_r8, & + 0.00011400597589428426_r8, 0.00012206303836279726_r8, & + 0.00013627858713462942_r8, 0.00015458113401539399_r8, & + 0.00017306436779149055_r8, 0.0001922589316786403_r8, & + 0.00020951030775369887_r8, 0.00022547086903868758_r8, & + 0.00023700861390791867_r8, 0.00024622077861143727_r8, & + 0.0002545806659999869_r8, 0.00025987549302020378_r8, & + 0.00026456305813624798_r8, 0.00026900436178289215_r8, & + 0.00027278252078251857_r8, 0.00027479134110820096_r8, & + 0.00027666228906619947_r8, 0.00027973704393262545_r8, 9e90_r8 & + / +data saar_ref(:,29,81) / & + 4.5798237471305536e-06_r8, 4.515295160016435e-06_r8, & + 6.5770379626877121e-06_r8, 4.7827750259056626e-06_r8, & + 4.0973867373620562e-06_r8, 4.283208917178308e-06_r8, & + 5.2463416687276589e-06_r8, 6.0786794188085595e-06_r8, & + 6.8180415894911654e-06_r8, 7.5760080045173641e-06_r8, & + 8.9202497354526064e-06_r8, 9.8753211933125707e-06_r8, & + 1.1686432169916073e-05_r8, 1.4226038522969583e-05_r8, & + 1.803539947799141e-05_r8, 2.1909551303032109e-05_r8, & + 3.1066371696785903e-05_r8, 4.3395485338512273e-05_r8, & + 6.2574876924953145e-05_r8, 8.4289426319401282e-05_r8, & + 0.00010011594356884998_r8, 0.00010932067951167206_r8, & + 0.00011044968087001216_r8, 0.00010923585753507369_r8, & + 0.00010809500915463175_r8, 0.00010829806102892939_r8, & + 0.0001101160419821994_r8, 0.00012153194498132404_r8, & + 0.00013618341500232518_r8, 0.00015861958667151972_r8, & + 0.00017881689558600641_r8, 0.00019863508746151648_r8, & + 0.000217906495433548_r8, 0.00023098671736464279_r8, & + 0.00024190313111933294_r8, 0.00025129711897230677_r8, & + 0.00026283032492764781_r8, 0.00026962554335604278_r8, & + 0.00027542594665102611_r8, 0.00028229620200579368_r8, & + 0.0002873713323515055_r8, 0.00028841196963273546_r8, & + 0.00029028704673168343_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,81) / & + 8.9536254556310724e-06_r8, 8.0148022753691918e-06_r8, & + 9.272774432001805e-06_r8, 6.2299231360808302e-06_r8, & + 6.3480479172713259e-06_r8, 5.97662846076199e-06_r8, & + 7.0800022532168603e-06_r8, 8.5002525400321008e-06_r8, & + 9.7191647005114702e-06_r8, 1.0835097269728927e-05_r8, & + 1.1605858013104555e-05_r8, 1.2083683900497021e-05_r8, & + 1.4177064660192175e-05_r8, 1.5792004580799946e-05_r8, & + 1.9593369931213653e-05_r8, 2.3070540196504415e-05_r8, & + 3.0845276973938122e-05_r8, 4.1736566784261812e-05_r8, & + 5.923623408012721e-05_r8, 7.8561643938173287e-05_r8, & + 9.0446966316554464e-05_r8, 9.5285707218351718e-05_r8, & + 9.5261472103111251e-05_r8, 9.3666477044668044e-05_r8, & + 9.3586735151813497e-05_r8, 9.5410590846866831e-05_r8, & + 9.6976453550170431e-05_r8, 0.00010881407025006166_r8, & + 0.00012390565280858605_r8, 0.00014788390775631024_r8, & + 0.00016731069765113271_r8, 0.00018797344667997165_r8, & + 0.00021143852800194627_r8, 0.00022729789094851085_r8, & + 0.0002345980219260257_r8, 0.00024773900299937432_r8, & + 0.00026262425562438764_r8, 0.00027600122208116471_r8, & + 0.00028266139968839341_r8, 0.00028996698240965754_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,81) / & + 1.0339908419741178e-05_r8, 9.0951850736090888e-06_r8, & + 9.0336314792811495e-06_r8, 8.2630415780632058e-06_r8, & + 9.0416975782480177e-06_r8, 8.9618505213093916e-06_r8, & + 1.0981889428201806e-05_r8, 1.2237453291345909e-05_r8, & + 1.302841911244075e-05_r8, 1.3680484441200365e-05_r8, & + 1.4507124363962987e-05_r8, 1.5364676967987446e-05_r8, & + 1.7312511896934942e-05_r8, 1.9894557407213217e-05_r8, & + 2.3794972812919514e-05_r8, 2.8041182034779521e-05_r8, & + 3.8720142570747941e-05_r8, 5.0057708657024608e-05_r8, & + 6.8136432181436281e-05_r8, 8.0510106411670762e-05_r8, & + 8.4704539265623551e-05_r8, 8.6019069034127581e-05_r8, & + 8.5131616596743534e-05_r8, 8.4445323707188654e-05_r8, & + 8.4704541260270362e-05_r8, 8.5722506641860928e-05_r8, & + 8.7867590713979661e-05_r8, 9.7037738037351664e-05_r8, & + 0.00010963852422362064_r8, 0.0001272311625820286_r8, & + 0.00014385940437006194_r8, 0.00015921908942974824_r8, & + 0.000175790005357648_r8, 0.00018561051481322905_r8, & + 0.00019324231885247447_r8, 0.0002070951527578428_r8, & + 0.00021924862767784344_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,81) / & + 1.1239794218061196e-05_r8, 1.0863644720053509e-05_r8, & + 1.0940136349604273e-05_r8, 9.8812279647410485e-06_r8, & + 1.0371807308589653e-05_r8, 1.1168275159360488e-05_r8, & + 1.402083638920427e-05_r8, 1.6914506310260842e-05_r8, & + 1.8387325411368853e-05_r8, 1.9632598399703152e-05_r8, & + 2.0822118590329476e-05_r8, 2.1849452272829235e-05_r8, & + 2.3869323365869381e-05_r8, 2.7154897218630688e-05_r8, & + 3.0784336386726168e-05_r8, 3.5542623885817716e-05_r8, & + 4.6906167484781524e-05_r8, 6.2971737598744483e-05_r8, & + 8.2091305065527958e-05_r8, 9.1862576494907146e-05_r8, & + 9.3416233974185107e-05_r8, 9.2159668803013008e-05_r8, & + 9.1424608793314301e-05_r8, 8.9793482584417454e-05_r8, & + 8.9666213071743685e-05_r8, 8.9643320863217569e-05_r8, & + 9.0720729601115999e-05_r8, 9.6869527883993987e-05_r8, & + 0.00010486723325571579_r8, 0.00011640429655082873_r8, & + 0.00013036516392987555_r8, 0.00014571946011742129_r8, & + 0.00016217160753075949_r8, 0.0001765634670529662_r8, & + 0.00019157140180647538_r8, 0.00020496686204323633_r8, & + 0.00021262689384060534_r8, 0.00022010653651804749_r8, & + 0.00022037043016083152_r8, 0.00021406037203700569_r8, & + 0.00022511397248956737_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,81) / & + 1.1660193009640099e-05_r8, 1.222912440494015e-05_r8, & + 1.3445459346117122e-05_r8, 1.1445931485126155e-05_r8, & + 1.3177971967847619e-05_r8, 1.5882127362669532e-05_r8, & + 2.1203730016828692e-05_r8, 2.3286712299744141e-05_r8, & + 2.4537990000807718e-05_r8, 2.6061733037879647e-05_r8, & + 2.7496247842956972e-05_r8, 2.8964492255955425e-05_r8, & + 3.2403163441891011e-05_r8, 3.6429258669681459e-05_r8, & + 4.1031998855981285e-05_r8, 4.6267920541140455e-05_r8, & + 5.9037458859252296e-05_r8, 7.6115807168418556e-05_r8, & + 9.065951827775192e-05_r8, 9.5680982009840407e-05_r8, & + 9.5529730285977307e-05_r8, 9.2716045578123386e-05_r8, & + 9.1491645156589483e-05_r8, 8.9583038986163919e-05_r8, & + 8.918274929512493e-05_r8, 8.9063994214729842e-05_r8, & + 8.9515567751521116e-05_r8, 9.2290712638547348e-05_r8, & + 9.6401965226173281e-05_r8, 0.00010298867927012303_r8, & + 0.0001122357590276167_r8, 0.00012351809396530147_r8, & + 0.00013514788688386942_r8, 0.00014815440165953056_r8, & + 0.00016247531347724238_r8, 0.00017594490411014052_r8, & + 0.00018841132191373803_r8, 0.00020134450742925671_r8, & + 0.00020606912267475552_r8, 0.00019757305212593601_r8, & + 0.00023271302169061529_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,81) / & + 1.029180458071253e-05_r8, 1.0779020103470478e-05_r8, & + 1.166933922782517e-05_r8, 1.5006067909741759e-05_r8, & + 1.8514964729281713e-05_r8, 2.2671344444674565e-05_r8, & + 2.9335042374561995e-05_r8, 3.330299542027339e-05_r8, & + 3.4466954092243746e-05_r8, 3.6105905418613958e-05_r8, & + 3.7986707747129266e-05_r8, 3.9213790930467569e-05_r8, & + 4.1983791937870907e-05_r8, 4.6546334448789631e-05_r8, & + 5.2310653498011692e-05_r8, 5.7528613571237501e-05_r8, & + 6.860308655795848e-05_r8, 7.961602296247802e-05_r8, & + 8.69857027580902e-05_r8, 8.8724031596306205e-05_r8, & + 8.7922793123603607e-05_r8, 8.5384331708414813e-05_r8, & + 8.5186379766189667e-05_r8, 8.506431088337587e-05_r8, & + 8.4606086093057497e-05_r8, 8.460445114750216e-05_r8, & + 8.4934509026397107e-05_r8, 8.6493120095696043e-05_r8, & + 8.9127315543868191e-05_r8, 9.3852710737502633e-05_r8, & + 9.917803098399928e-05_r8, 0.00010593256291933077_r8, & + 0.00011366580340493182_r8, 0.00012335552712604723_r8, & + 0.00013422886154829819_r8, 0.00014555132097525021_r8, & + 0.00015116630106698075_r8, 0.00014725658199338977_r8, & + 0.00015455872143132563_r8, 0.00017977308238591229_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,81) / & + 2.1619152798434862e-05_r8, 2.2054290995602695e-05_r8, & + 1.8941102869075749e-05_r8, 2.3081338281668934e-05_r8, & + 2.7230873216796629e-05_r8, 3.2598938009493736e-05_r8, & + 4.2403319101733407e-05_r8, 4.8046235103406158e-05_r8, & + 4.9867694930818364e-05_r8, 5.2415681983690744e-05_r8, & + 5.4799513515201134e-05_r8, 5.8042936123430859e-05_r8, & + 6.0216311085266793e-05_r8, 6.3980981153128003e-05_r8, & + 7.14307092818829e-05_r8, 7.427562576255274e-05_r8, & + 7.8757549083928436e-05_r8, 8.0543604531193582e-05_r8, & + 8.0890777439698115e-05_r8, 8.0831697686557926e-05_r8, & + 8.1320663953624747e-05_r8, 8.1048694876538404e-05_r8, & + 8.2046651982859513e-05_r8, 8.2933127188292694e-05_r8, & + 8.3827762155335868e-05_r8, 8.5032711498548482e-05_r8, & + 8.6355607878957737e-05_r8, 8.9711619735395308e-05_r8, & + 9.3104173240504036e-05_r8, 9.7109100024824545e-05_r8, & + 0.00010101369629187197_r8, 0.00010604266919662295_r8, & + 0.00011289209159024146_r8, 0.00012098642728167322_r8, & + 0.00012985604890152771_r8, 0.0001365439211956485_r8, & + 0.00013476974779316251_r8, 0.00012924454941361718_r8, & + 0.00013548125815871008_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,36,81) / & + 4.0572586326611236e-05_r8, 4.0942903660023257e-05_r8, & + 3.469990785430964e-05_r8, 4.45781518580039e-05_r8, & + 4.9513636583137839e-05_r8, 5.4286640517228972e-05_r8, & + 6.1191483388642432e-05_r8, 6.5875659840361348e-05_r8, & + 6.7301515121757951e-05_r8, 6.8876948610164564e-05_r8, & + 7.0151672035772327e-05_r8, 7.2359951172947063e-05_r8, & + 7.3110664468250993e-05_r8, 7.5597324645552386e-05_r8, & + 7.8329702615123785e-05_r8, 7.9046993815455225e-05_r8, & + 7.9435392539750163e-05_r8, 8.0359313500961608e-05_r8, & + 8.1866981626391207e-05_r8, 8.3176835899083463e-05_r8, & + 8.4089859326887508e-05_r8, 8.4614002309845403e-05_r8, & + 8.6025592631943536e-05_r8, 8.7552020768732022e-05_r8, & + 8.9329825796912078e-05_r8, 9.1018914858542833e-05_r8, & + 9.2516433136206446e-05_r8, 9.6497705812468226e-05_r8, & + 0.00010078058041414236_r8, 0.00010491396811921853_r8, & + 0.00010834038142429069_r8, 0.00011301509584711941_r8, & + 0.00012092128409426488_r8, 0.00012679569515338065_r8, & + 0.00013114083785823805_r8, 0.00013244564788710862_r8, & + 0.00012541132046984301_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,81) / & + 4.71266077549364e-05_r8, 4.6354616012860192e-05_r8, & + 3.9235097266958403e-05_r8, 4.3492016917462233e-05_r8, & + 5.0036808890914855e-05_r8, 5.4644373791711166e-05_r8, & + 6.1177432035664528e-05_r8, 6.4820413025708611e-05_r8, & + 6.6688657892630845e-05_r8, 6.8926544184389645e-05_r8, & + 7.0253906545372292e-05_r8, 7.1957573965499846e-05_r8, & + 7.3766723754190068e-05_r8, 7.491858919128619e-05_r8, & + 7.6231189816081414e-05_r8, 7.7160229102499314e-05_r8, & + 7.8303874354396203e-05_r8, 8.0158389743596406e-05_r8, & + 8.2647476151160665e-05_r8, 8.4508867947544536e-05_r8, & + 8.5726155110874691e-05_r8, 8.6463650049512064e-05_r8, & + 8.7466722852832461e-05_r8, 8.8715759704318355e-05_r8, & + 9.0077707858977202e-05_r8, 9.0952104244680006e-05_r8, & + 9.1963060344553153e-05_r8, 9.5669960619126842e-05_r8, & + 0.0001003389745943456_r8, 0.00010638923606562718_r8, & + 0.00011087320552371334_r8, 0.00011350682024804101_r8, & + 0.00011333214722750225_r8, 0.00012018764195705149_r8, & + 0.00012187060650083843_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,81) / & + 4.9043970076214159e-05_r8, 4.7265532528312648e-05_r8, & + 3.8923197102286647e-05_r8, 3.6505978637851065e-05_r8, & + 4.4339666038849802e-05_r8, 4.94588225014497e-05_r8, & + 5.7275898970649389e-05_r8, 6.206510865890621e-05_r8, & + 6.392413373808901e-05_r8, 6.5829277458853171e-05_r8, & + 6.6942652057332036e-05_r8, 6.9306167108449247e-05_r8, & + 7.155687161419475e-05_r8, 7.230360296085475e-05_r8, & + 7.3011598231151475e-05_r8, 7.4567991736343309e-05_r8, & + 7.8860531830075232e-05_r8, 8.079232876809823e-05_r8, & + 8.3443789131700286e-05_r8, 8.6052627986718842e-05_r8, & + 8.7929256137689432e-05_r8, 8.8458719411856515e-05_r8, & + 8.9182916117961115e-05_r8, 9.0233727985226776e-05_r8, & + 8.9207334940939026e-05_r8, 8.9324755582102298e-05_r8, & + 9.0945604724293309e-05_r8, 9.5897965728523294e-05_r8, & + 9.9989245787676203e-05_r8, 0.00010679141812399364_r8, & + 0.00011294128462223061_r8, 0.0001085368056785284_r8, & + 0.00010319101489024658_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,81) / & + 5.6754101280873397e-05_r8, 5.4250117077823257e-05_r8, & + 4.5357534743175948e-05_r8, 3.3340554369219376e-05_r8, & + 3.8846715126874913e-05_r8, 4.6170708236513693e-05_r8, & + 5.3424709302524575e-05_r8, 5.91380459325235e-05_r8, & + 6.2493664310225277e-05_r8, 6.4493872480820766e-05_r8, & + 6.5625448153976476e-05_r8, 6.9251978552065162e-05_r8, & + 7.1695971389391e-05_r8, 7.3111544019912559e-05_r8, & + 7.2821136519578451e-05_r8, 7.2332520014649693e-05_r8, & + 8.1437494965237836e-05_r8, 8.3537040698043022e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,81) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,81) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,81) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,81) / & + 0.00011618888084864823_r8, 0.00011298826693688145_r8, & + 0.00010684802553626515_r8, 0.00012503859761640556_r8, & + 0.00012727243848710765_r8, 0.0001261270115971862_r8, & + 0.00012682463349177482_r8, 0.0001349546904687967_r8, & + 0.00011940402665214678_r8, 0.00010665432478513043_r8, & + 0.00010349596346386542_r8, 9.0180538076459806e-05_r8, & + 7.6661617117655131e-05_r8, 7.7675815507393119e-05_r8, & + 7.3030212000352031e-05_r8, 7.4611480446834858e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,81) / & + 0.00011259754550573522_r8, 0.00011657089713271006_r8, & + 0.00011142196690468302_r8, 0.00011983667647033661_r8, & + 0.0001273621511745994_r8, 0.00012891805804133918_r8, & + 0.00012730746168319052_r8, 0.00012693021655398639_r8, & + 0.00010912470086188538_r8, 9.736422806970155e-05_r8, & + 9.4830353097980025e-05_r8, 8.7694824892658931e-05_r8, & + 7.973897522003144e-05_r8, 7.9455008160424746e-05_r8, & + 7.4425756543365884e-05_r8, 7.5941343159154098e-05_r8, & + 6.9254467790659885e-05_r8, 7.4595579413936413e-05_r8, & + 7.6898749481151127e-05_r8, 8.2751573394980064e-05_r8, & + 8.7304277169442579e-05_r8, 8.8094105708128517e-05_r8, & + 9.4091747634074229e-05_r8, 9.6435754849886259e-05_r8, & + 9.7074176122813625e-05_r8, 9.98882021225391e-05_r8, & + 0.00010441268335007081_r8, 0.00011281026113644916_r8, & + 0.00011455634906451401_r8, 0.00011679785027629604_r8, & + 0.00011762673820664917_r8, 0.00011836112413181972_r8, & + 0.00011941491261895662_r8, 0.0001198255637811288_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,45,81) / & + 9.8481808295584837e-05_r8, 0.00011383015172852592_r8, & + 0.00011123474311154125_r8, 0.00011188422330156694_r8, & + 0.00012814506212630058_r8, 0.00013365583670350194_r8, & + 0.00012546549282250823_r8, 0.00010299064075432278_r8, & + 8.4253824904304933e-05_r8, 7.7978299961824467e-05_r8, & + 7.746192730780904e-05_r8, 7.5019504950256312e-05_r8, & + 7.15867233874772e-05_r8, 7.2285413723921174e-05_r8, & + 7.1798395601622972e-05_r8, 7.3204953957767244e-05_r8, & + 7.1685328650551532e-05_r8, 7.3662310977015352e-05_r8, & + 7.6002149700460844e-05_r8, 7.9426119160791499e-05_r8, & + 8.3433998099977476e-05_r8, 8.6290101541772145e-05_r8, & + 9.0775500778139385e-05_r8, 9.4973996132331393e-05_r8, & + 9.9240094242188277e-05_r8, 0.00010327336958928788_r8, & + 0.00010903199289548536_r8, 0.00011834920996474202_r8, & + 0.00011883127785389941_r8, 0.00011898684998673733_r8, & + 0.00011973672156226641_r8, 0.00012035169752855698_r8, & + 0.00012102012563764036_r8, 0.00012085454050053821_r8, & + 0.00012116823971020079_r8, 0.00012157995602216907_r8, & + 0.00012430885350324112_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,82) / & + 0.00012816824160137284_r8, 0.00012851659134942051_r8, & + 0.00013069148963215494_r8, 0.00013690153548545842_r8, & + 0.00014133100832121459_r8, 0.00014339586443499452_r8, & + 0.00015283220358823757_r8, 0.00015520362113417038_r8, & + 0.00015477657538509466_r8, 0.00015518655415097725_r8, & + 0.00015588064181900368_r8, 0.00015703490839578797_r8, & + 0.00015651931924053408_r8, 0.00016172414003397834_r8, & + 0.0001702932107102298_r8, 0.0001737969367300827_r8, & + 0.00018958707583402175_r8, 0.00020851942351317798_r8, & + 0.00021106816421668048_r8, 0.00022394541997097187_r8, & + 0.00022992724381239507_r8, 0.00017646501346547597_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,82) / & + 0.00012816824160137284_r8, 0.00012851659134942051_r8, & + 0.00013069148963215494_r8, 0.00013690153548545842_r8, & + 0.00014133100832121459_r8, 0.00014339586443499452_r8, & + 0.00015283220358823757_r8, 0.00015520362113417038_r8, & + 0.00015477657538509466_r8, 0.00015518655415097725_r8, & + 0.00015588064181900368_r8, 0.00015703490839578797_r8, & + 0.00015651931924053408_r8, 0.00016172414003397834_r8, & + 0.0001702932107102298_r8, 0.0001737969367300827_r8, & + 0.00018958707583402175_r8, 0.00020851942351317798_r8, & + 0.00021106816421668048_r8, 0.00022394541997097187_r8, & + 0.00022992724381239507_r8, 0.00017646501346547597_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,82) / & + 0.00012816824160137284_r8, 0.00012851659134942051_r8, & + 0.00013069148963215494_r8, 0.00013690153548545842_r8, & + 0.00014133100832121459_r8, 0.00014339586443499452_r8, & + 0.00015283220358823757_r8, 0.00015520362113417038_r8, & + 0.00015477657538509466_r8, 0.00015518655415097725_r8, & + 0.00015588064181900368_r8, 0.00015703490839578797_r8, & + 0.00015651931924053408_r8, 0.00016172414003397834_r8, & + 0.0001702932107102298_r8, 0.0001737969367300827_r8, & + 0.00018958707583402175_r8, 0.00020851942351317798_r8, & + 0.00021106816421668048_r8, 0.00022394541997097187_r8, & + 0.00022992724381239507_r8, 0.00017646501346547597_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,82) / & + 0.00013070866268033194_r8, 0.0001306227353995631_r8, & + 0.00013343823045491382_r8, 0.00013687533959899495_r8, & + 0.00014425923666961738_r8, 0.000144765213268289_r8, & + 0.00015538165852005593_r8, 0.00016202526620250242_r8, & + 0.0001633280186429002_r8, 0.00016434567219845319_r8, & + 0.00016543399004622508_r8, 0.00016727553373210177_r8, & + 0.00016914562513813537_r8, 0.00017345389942428091_r8, & + 0.00018466147271763842_r8, 0.00019421533237730493_r8, & + 0.00022064771789327754_r8, 0.00022685150524056732_r8, & + 0.00023044510627949239_r8, 0.00023232450424141057_r8, & + 0.000235864482810816_r8, 0.00024560545465177324_r8, & + 0.00024686530203157767_r8, 0.0002502928209552853_r8, & + 0.00025261462708929723_r8, 0.00025285270889690122_r8, & + 0.00025332330997762068_r8, 0.00025393494570755349_r8, & + 0.00025478674833007874_r8, 0.00025824778171132151_r8, & + 0.0002570582969121045_r8, 0.00025611072770760277_r8, & + 0.00025400497282065043_r8, 0.00024772563394938888_r8, & + 0.00024696838000456403_r8, 0.0002474087367420786_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,82) / & + 0.00015403885852480003_r8, 0.00015403501033957567_r8, & + 0.00015484919905687833_r8, 0.00014758442157832984_r8, & + 0.00015794950696720685_r8, 0.00015745643082484075_r8, & + 0.00017005279154517418_r8, 0.00018159460321428721_r8, & + 0.00018528632752153949_r8, 0.00018950826191021513_r8, & + 0.00019355805022030719_r8, 0.00020049632437094521_r8, & + 0.0002077581258125269_r8, 0.00021467385473951172_r8, & + 0.00022097855881075967_r8, 0.00022545148371323342_r8, & + 0.00023307949992556427_r8, 0.00023923930195055755_r8, & + 0.00024370524524368163_r8, 0.00024623033376855924_r8, & + 0.00024919252211182282_r8, 0.00025219405835707418_r8, & + 0.00025284351841887721_r8, 0.00025365196017050195_r8, & + 0.00025478052295206324_r8, 0.00025546988013035415_r8, & + 0.00025614005163648699_r8, 0.00025643310256421941_r8, & + 0.0002578791180421992_r8, 0.00025785372391393032_r8, & + 0.00025641932650240327_r8, 0.00025589553463598063_r8, & + 0.00025324860673667509_r8, 0.00025044789792409196_r8, & + 0.00024978984882357983_r8, 0.00025085328992778332_r8, & + 0.00025149143585034969_r8, 0.00025941504545445561_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,82) / & + 0.00016334194732278381_r8, 0.00016193218692230892_r8, & + 0.00016027420416601454_r8, 0.00015724264985968593_r8, & + 0.00016468328799626239_r8, 0.00016470923460384739_r8, & + 0.00017370756602412123_r8, 0.0001868146052445722_r8, & + 0.00019267681821949348_r8, 0.00020147338641730831_r8, & + 0.00020982644814423177_r8, 0.00022126276904119751_r8, & + 0.00023381513840387734_r8, 0.00024211975146534948_r8, & + 0.00024499767865891032_r8, 0.00024815612046849962_r8, & + 0.0002526208590494943_r8, 0.00025727740926109705_r8, & + 0.00026005612170496825_r8, 0.00026179557353210061_r8, & + 0.00026362426613159426_r8, 0.00026358250609326961_r8, & + 0.00026390935267492496_r8, 0.00026396473987548005_r8, & + 0.00026397262208039481_r8, 0.00026389373804810382_r8, & + 0.00026385312438428102_r8, 0.00026367012765352347_r8, & + 0.0002638450538661776_r8, 0.00026142805032805988_r8, & + 0.00026025580262214478_r8, 0.00026012818842404805_r8, & + 0.00025946377021259052_r8, 0.00025832106633977536_r8, & + 0.00025716692007734967_r8, 0.00025608262818835293_r8, & + 0.00025413916585361704_r8, 0.00025290908218508854_r8, & + 0.00024837264556749379_r8, 0.00024640569547314728_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,82) / & + 0.00014180764742153387_r8, 0.00014113284405942156_r8, & + 0.00014076942212403566_r8, 0.00013306227487237341_r8, & + 0.00013817186071914269_r8, 0.00014775427790147727_r8, & + 0.00016594735301751206_r8, 0.00018042810269453848_r8, & + 0.00018627858947693979_r8, 0.00019492297223785114_r8, & + 0.00020213220114820494_r8, 0.00021139931419036925_r8, & + 0.00022256323781302793_r8, 0.00022890847798435378_r8, & + 0.00023391176235674119_r8, 0.00023828979073174815_r8, & + 0.00024383504685174514_r8, 0.00024845019633176421_r8, & + 0.0002528173730435126_r8, 0.00025558450510573989_r8, & + 0.00025779135165547953_r8, 0.00025930317393495434_r8, & + 0.00026022348170057262_r8, 0.00026069459486053774_r8, & + 0.0002608700431224949_r8, 0.00026108920703254898_r8, & + 0.0002610020904124704_r8, 0.00026077714873081229_r8, & + 0.00026019696394896506_r8, 0.00025936038273682637_r8, & + 0.00025764905651257976_r8, 0.00025494495836418072_r8, & + 0.00025434350062896659_r8, 0.00025273128289701291_r8, & + 0.00024996578342696468_r8, 0.00024695800551268517_r8, & + 0.00024368200264417115_r8, 0.00024195265727847061_r8, & + 0.00024202485454266246_r8, 0.00024403025713619017_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,82) / & + 8.3126982365545115e-05_r8, 8.2229860649898261e-05_r8, & + 8.0568126821511373e-05_r8, 7.3547014975790999e-05_r8, & + 7.6076391451431973e-05_r8, 8.6351938098206172e-05_r8, & + 0.00010611116908022167_r8, 0.00013183088361038751_r8, & + 0.00014566504385659775_r8, 0.00015574029448996206_r8, & + 0.00016268478691050756_r8, 0.00016817007001655712_r8, & + 0.00017677653780809793_r8, 0.00018483284540152302_r8, & + 0.00019071654347081575_r8, 0.00019564334741063719_r8, & + 0.00020349815433702339_r8, 0.00020969346897138083_r8, & + 0.00021616702279902966_r8, 0.00022064093903809322_r8, & + 0.00022413743937145969_r8, 0.00022654592549915768_r8, & + 0.00022915354995844115_r8, 0.00023237214507847577_r8, & + 0.00023381174717967821_r8, 0.00023660915946838678_r8, & + 0.00023804431285462345_r8, 0.0002424451012236693_r8, & + 0.00024651164724470346_r8, 0.00024849545419253769_r8, & + 0.0002502503502833442_r8, 0.00025063520651086085_r8, & + 0.00025228716541611979_r8, 0.00025287088775795871_r8, & + 0.00025137485686256957_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,82) / & + 3.0204524772346929e-05_r8, 2.8834478605058134e-05_r8, & + 2.7383678865763454e-05_r8, 3.6043775827535225e-05_r8, & + 3.8021225229442946e-05_r8, 4.2452472962807386e-05_r8, & + 5.6127597412578967e-05_r8, 7.6929772030635406e-05_r8, & + 9.3566744714322089e-05_r8, 0.00010796225718943221_r8, & + 0.0001190259589624575_r8, 0.00013031412122958735_r8, & + 0.00014417573289027068_r8, 0.0001545113414444471_r8, & + 0.00016167321371160631_r8, 0.00016807873274120639_r8, & + 0.00017857641663868279_r8, 0.00018565387410856895_r8, & + 0.00019101310855447188_r8, 0.00019627118543175007_r8, & + 0.00020091023923893804_r8, 0.0002043724396608343_r8, & + 0.0002081072962644277_r8, 0.00021210733911044256_r8, & + 0.00021687152312427062_r8, 0.00022046508690586592_r8, & + 0.00022451260563478807_r8, 0.00023290253832846205_r8, & + 0.00024053973616871112_r8, 0.00024560778420311825_r8, & + 0.00025043013942585525_r8, 0.00025361038608374471_r8, & + 0.00025610402813971631_r8, 0.00025789227552972503_r8, & + 0.00026012995097401449_r8, 0.00026283222779743159_r8, & + 0.0002622655918090123_r8, 0.00025287217747800632_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,82) / & + 1.1971188942235538e-05_r8, 1.1622186787593522e-05_r8, & + 1.2314721226005849e-05_r8, 1.8723289336834538e-05_r8, & + 1.9944805096228848e-05_r8, 2.163895358891851e-05_r8, & + 2.937514135098132e-05_r8, 4.0000979195430919e-05_r8, & + 5.0039830261247977e-05_r8, 5.9880119767854416e-05_r8, & + 6.7517924861450144e-05_r8, 7.6256643908905765e-05_r8, & + 8.9238602796451428e-05_r8, 9.9272378159603221e-05_r8, & + 0.00010677652129365052_r8, 0.00011474331188323993_r8, & + 0.00012959544930140601_r8, 0.00014098838188555244_r8, & + 0.00014959027606070653_r8, 0.00015791195758269004_r8, & + 0.00016631497630601689_r8, 0.00017237852640506694_r8, & + 0.00017850375483258817_r8, 0.00018283146120889467_r8, & + 0.00018682558969276226_r8, 0.00018992856280012198_r8, & + 0.00019302269931971021_r8, 0.00019964586578811704_r8, & + 0.00020769738338106327_r8, 0.00021711185394977602_r8, & + 0.00022808029625531159_r8, 0.00023827805841098012_r8, & + 0.00024586613747960931_r8, 0.00025163332745212186_r8, & + 0.0002564161859530593_r8, 0.00025994469747022054_r8, & + 0.00026277313761129557_r8, 0.00026434908129799247_r8, & + 0.00026588620666572534_r8, 0.0002669956706293581_r8, & + 0.00026796163623520199_r8, 0.00026976744330287934_r8, & + 0.00027028516474857393_r8, 0.00026972231865918863_r8, 9e90_r8 & + / +data saar_ref(:,11,82) / & + 4.8716049199456723e-06_r8, 5.1075757598425173e-06_r8, & + 5.4390903867900723e-06_r8, 7.3867428954548518e-06_r8, & + 7.6964216447053047e-06_r8, 8.0432745780100488e-06_r8, & + 1.0948592289938873e-05_r8, 1.3689400496226646e-05_r8, & + 1.6622294987104342e-05_r8, 2.0241380238837803e-05_r8, & + 2.3175437758910085e-05_r8, 2.5327642255531286e-05_r8, & + 2.997734700737883e-05_r8, 3.4291511437742485e-05_r8, & + 3.920017859428202e-05_r8, 4.450879943044784e-05_r8, & + 5.6571737831195037e-05_r8, 7.1402858119799277e-05_r8, & + 8.5364582486508711e-05_r8, 9.9357280325226781e-05_r8, & + 0.00011420189681494987_r8, 0.00012667459374940003_r8, & + 0.00013735827319379744_r8, 0.00014541229173866484_r8, & + 0.0001507103323361529_r8, 0.00015375277142710839_r8, & + 0.00015491854982466294_r8, 0.0001531117752637616_r8, & + 0.0001528954731218799_r8, 0.00015832556297491808_r8, & + 0.0001719652623719818_r8, 0.0001964084288346691_r8, & + 0.00021685420142679855_r8, 0.00022975973857374685_r8, & + 0.00024020196265834965_r8, 0.00024874484879000932_r8, & + 0.00025606585526251731_r8, 0.00026106556774633757_r8, & + 0.00026447980455047949_r8, 0.00026686176083733966_r8, & + 0.00026833921513856189_r8, 0.00026996330292073907_r8, & + 0.00027035491082569096_r8, 0.00026974929765730452_r8, 9e90_r8 & + / +data saar_ref(:,12,82) / & + 3.6230963556801502e-06_r8, 3.8401816291131249e-06_r8, & + 3.8112106274016174e-06_r8, 6.8046867089248565e-06_r8, & + 6.8826166457854673e-06_r8, 6.9535978709014047e-06_r8, & + 7.6955553757360158e-06_r8, 9.7413229588454192e-06_r8, & + 1.0610296826992586e-05_r8, 1.1834388802387659e-05_r8, & + 1.3099714413634416e-05_r8, 1.4725754917114788e-05_r8, & + 1.8443422144894307e-05_r8, 2.1698546953289874e-05_r8, & + 2.5632891451622523e-05_r8, 2.8879012815445315e-05_r8, & + 3.7129975014138711e-05_r8, 4.8167425132238991e-05_r8, & + 6.1143180208588565e-05_r8, 7.5570007673520385e-05_r8, & + 8.9891876334114728e-05_r8, 0.00010303464895578064_r8, & + 0.00011506855782822714_r8, 0.00012589091207581787_r8, & + 0.00013411155021626737_r8, 0.00013920241327962241_r8, & + 0.0001407874569545009_r8, 0.00013678631587373463_r8, & + 0.00013217602747899509_r8, 0.00013044322582688546_r8, & + 0.0001375320870193584_r8, 0.00016052354613647888_r8, & + 0.00019045428027293854_r8, 0.00021440479464003662_r8, & + 0.00023126944079856772_r8, 0.00024339978039901133_r8, & + 0.00025320864764890878_r8, 0.00026011772539935021_r8, & + 0.0002642775532919705_r8, 0.00026748218494339348_r8, & + 0.00026900743173233075_r8, 0.00027017670753654342_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,82) / & + 4.6137973993935859e-06_r8, 4.6630273688013595e-06_r8, & + 5.083331018704915e-06_r8, 6.5981316740119575e-06_r8, & + 6.6367825761469941e-06_r8, 6.6203883739407701e-06_r8, & + 6.4066222242670322e-06_r8, 7.475407162420451e-06_r8, & + 7.9447386988446883e-06_r8, 8.4335013090653657e-06_r8, & + 8.9579925474213843e-06_r8, 9.7445821596559618e-06_r8, & + 1.1319619771196994e-05_r8, 1.3079304533965456e-05_r8, & + 1.5099757231960259e-05_r8, 1.7058151096682351e-05_r8, & + 2.3121705099933675e-05_r8, 3.0155764296341932e-05_r8, & + 3.9694402576333973e-05_r8, 5.0927811037790023e-05_r8, & + 6.3460477814115834e-05_r8, 7.6438488519527364e-05_r8, & + 8.9526481442873154e-05_r8, 0.00010315712690803352_r8, & + 0.00011535701863432659_r8, 0.00012458862020599972_r8, & + 0.00012795322519413966_r8, 0.00012914076033878727_r8, & + 0.00012124161578486663_r8, 0.00011051471875611489_r8, & + 0.00011040781637055036_r8, 0.00012345324454450605_r8, & + 0.00014927631355923099_r8, 0.00018403418245019332_r8, & + 0.00021339745430880828_r8, 0.00023524289531829811_r8, & + 0.00024945953510920261_r8, 0.00026041249564048255_r8, & + 0.00026602849459465204_r8, 0.00026849002212973937_r8, & + 0.00026977955275862424_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,82) / & + 4.5868863014615282e-06_r8, 4.5576062340495325e-06_r8, & + 4.9250517060092382e-06_r8, 5.8738092069967258e-06_r8, & + 5.9274197160311261e-06_r8, 6.1538221323338535e-06_r8, & + 4.6674899376038608e-06_r8, 5.6530332124623433e-06_r8, & + 6.135802930217264e-06_r8, 6.5023803753875373e-06_r8, & + 6.783022201049114e-06_r8, 7.4228806297775682e-06_r8, & + 8.5453534746027156e-06_r8, 9.3464547335968806e-06_r8, & + 1.013777802570448e-05_r8, 1.191422561762373e-05_r8, & + 1.7049203681237033e-05_r8, 2.4594347524786037e-05_r8, & + 3.179575942604471e-05_r8, 4.170643851144002e-05_r8, & + 5.3213041352188472e-05_r8, 6.5945267340594452e-05_r8, & + 8.048953472739807e-05_r8, 9.5217299958784096e-05_r8, & + 0.00010812918447670231_r8, 0.00011830041507024556_r8, & + 0.00012419717605574151_r8, 0.00012418318892498567_r8, & + 0.00011091003074774641_r8, 9.4847801566450891e-05_r8, & + 8.5936172636533092e-05_r8, 8.9589869931614035e-05_r8, & + 0.00010156949307844995_r8, 0.00012928306849580178_r8, & + 0.00016843263238008741_r8, 0.00021160704045632204_r8, & + 0.00024195658558996911_r8, 0.0002615877979174323_r8, & + 0.00026856950643152749_r8, 0.00027007237335185854_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,82) / & + 3.9743251421876264e-06_r8, 3.8406514377346387e-06_r8, & + 3.9605793517560125e-06_r8, 5.1712711184600418e-06_r8, & + 5.2265585547156796e-06_r8, 5.6401055064090117e-06_r8, & + 3.3830600096998334e-06_r8, 3.5787880403576827e-06_r8, & + 4.7484222204522748e-06_r8, 5.0936937739694565e-06_r8, & + 5.3058918984673965e-06_r8, 5.7334452587059652e-06_r8, & + 6.6004611198799027e-06_r8, 7.2994194958545521e-06_r8, & + 8.0827711797554861e-06_r8, 9.6343899660986461e-06_r8, & + 1.4813854243750703e-05_r8, 2.2460882619182088e-05_r8, & + 3.1116036812209109e-05_r8, 4.2991388733582862e-05_r8, & + 5.6464372072708818e-05_r8, 7.1662876004400115e-05_r8, & + 8.6506699071203419e-05_r8, 9.982419428024563e-05_r8, & + 0.00010877165186226555_r8, 0.0001137496311943308_r8, & + 0.00011485643623583549_r8, 0.00010578950017997037_r8, & + 8.9214635447735802e-05_r8, 7.6641436163069556e-05_r8, & + 7.107024950434589e-05_r8, 7.1929232902695687e-05_r8, & + 7.5621734055819886e-05_r8, 8.6200025812639469e-05_r8, & + 0.00011343972092844251_r8, 0.00015683644713143321_r8, & + 0.0001978270102315322_r8, 0.00022686256781551266_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,82) / & + 3.7154062746729958e-06_r8, 3.4325290281096035e-06_r8, & + 3.4537685418211095e-06_r8, 3.4136713801511458e-06_r8, & + 3.5662237757505307e-06_r8, 3.7700507441695486e-06_r8, & + 2.3293903148642678e-06_r8, 3.1773117120461711e-06_r8, & + 3.4656039522391185e-06_r8, 4.1283111224360816e-06_r8, & + 4.7098523919327741e-06_r8, 5.098845168846051e-06_r8, & + 5.8864447424859656e-06_r8, 7.1483370381943446e-06_r8, & + 8.5810494791338212e-06_r8, 1.0850188881851419e-05_r8, & + 1.8037640612879252e-05_r8, 2.9276817732537224e-05_r8, & + 4.0788193449259646e-05_r8, 5.6622300360186681e-05_r8, & + 7.5193387488180563e-05_r8, 9.3816875242742212e-05_r8, & + 0.00010711552575691999_r8, 0.00011571216211599786_r8, & + 0.00011591781879420539_r8, 0.00011073198634580142_r8, & + 0.0001027213120343862_r8, 8.3002455365933263e-05_r8, & + 7.0830418305757191e-05_r8, 6.8430321054665093e-05_r8, & + 7.087504256077614e-05_r8, 7.5754933532772752e-05_r8, & + 8.0841999336984713e-05_r8, 9.1434155491299313e-05_r8, & + 0.00012454762431097921_r8, 0.00018103482744982895_r8, & + 0.00023391465992474663_r8, 0.00025754788092822306_r8, & + 0.00026398996069929432_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,82) / & + 3.5796706868046186e-06_r8, 3.4603796088624694e-06_r8, & + 3.4292019690160271e-06_r8, 2.2614278862637015e-06_r8, & + 2.2687674225868291e-06_r8, 2.2338902961812082e-06_r8, & + 1.9931724230169896e-06_r8, 2.6892007946969473e-06_r8, & + 3.0381895267247797e-06_r8, 3.1969830481161007e-06_r8, & + 3.9564403675359537e-06_r8, 4.8795460101957767e-06_r8, & + 6.1755440619884392e-06_r8, 8.6274069484088128e-06_r8, & + 1.112179254984937e-05_r8, 1.4593529362178489e-05_r8, & + 2.4402687416938799e-05_r8, 4.1943037193105395e-05_r8, & + 5.6573376911051857e-05_r8, 7.6520858608507717e-05_r8, & + 9.6272887915212522e-05_r8, 0.00011243687080442845_r8, & + 0.00011888215726585666_r8, 0.00011707054914258011_r8, & + 0.0001074828460941175_r8, 9.4122212955125096e-05_r8, & + 7.8880020937095201e-05_r8, 6.1460314645196261e-05_r8, & + 6.0352723598695327e-05_r8, 6.7093541195654768e-05_r8, & + 7.5176748902439791e-05_r8, 8.1837754938474198e-05_r8, & + 8.8208873736039594e-05_r8, 0.00010010537643319434_r8, & + 0.00013728457415956806_r8, 0.00020007696547764571_r8, & + 0.00026134766537459645_r8, 0.00027806555127170897_r8, & + 0.00032031626154477684_r8, 0.00031513932613529589_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,82) / & + 3.7308965803083611e-06_r8, 3.9146216663949691e-06_r8, & + 4.009288741733902e-06_r8, 2.994815251629603e-06_r8, & + 2.8134643362556227e-06_r8, 3.3077569090963231e-06_r8, & + 3.2585581168116949e-06_r8, 3.5368792902988849e-06_r8, & + 3.7665651156089255e-06_r8, 4.3356580207642435e-06_r8, & + 5.1725915342871198e-06_r8, 6.7084489584269401e-06_r8, & + 9.4649523726154334e-06_r8, 1.3695684091463688e-05_r8, & + 1.8333577900624356e-05_r8, 2.4647312196675202e-05_r8, & + 4.0456089411450988e-05_r8, 5.9461190164301188e-05_r8, & + 7.6812722111477909e-05_r8, 9.6760651463120362e-05_r8, & + 0.00011197981985738643_r8, 0.0001202770481774946_r8, & + 0.00011755484343823213_r8, 0.00010583534663413632_r8, & + 9.2153662111766425e-05_r8, 8.0073327202817999e-05_r8, & + 7.1077184255033591e-05_r8, 6.2976955476667907e-05_r8, & + 6.6894634214608809e-05_r8, 7.5844954006615582e-05_r8, & + 8.6010066660186023e-05_r8, 9.324869065356678e-05_r8, & + 9.8448761001329406e-05_r8, 0.0001062852475347251_r8, & + 0.00013113934118288038_r8, 0.00018811088379898697_r8, & + 0.00024985468618531656_r8, 0.00029486510929571929_r8, & + 0.00032626375347576955_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,82) / & + 4.3213570554222946e-06_r8, 4.5871214941456117e-06_r8, & + 4.6692533086722604e-06_r8, 5.1487700031657604e-06_r8, & + 4.9071419299623361e-06_r8, 5.1985102216877213e-06_r8, & + 4.7949728066773533e-06_r8, 5.1287113967499265e-06_r8, & + 5.4249794384044827e-06_r8, 6.9099268865945799e-06_r8, & + 8.4166555539879998e-06_r8, 1.1164309407295468e-05_r8, & + 1.6129164454116789e-05_r8, 2.3100546767473093e-05_r8, & + 3.1339105213716502e-05_r8, 4.1137443617695532e-05_r8, & + 6.0427739055860858e-05_r8, 7.8176496838656674e-05_r8, & + 9.3569224869098194e-05_r8, 0.00010945892731130762_r8, & + 0.00011640035362076801_r8, 0.00011878085376943075_r8, & + 0.00011286684447345651_r8, 0.00010154419095985121_r8, & + 8.9743024943237604e-05_r8, 7.8910837642277618e-05_r8, & + 7.0593881919286508e-05_r8, 6.583336853690617e-05_r8, & + 7.1333659927510536e-05_r8, 8.1454839862260328e-05_r8, & + 9.3077965500581777e-05_r8, 0.00010089700645192862_r8, & + 0.00010554060849154954_r8, 0.00010932928892131759_r8, & + 0.00012247346880151899_r8, 0.00017107634670683947_r8, & + 0.00024593362402980509_r8, 0.0003143246049672138_r8, & + 0.00035514779172339745_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,82) / & + 5.5247028190477311e-06_r8, 5.6298207803307116e-06_r8, & + 5.382968484112588e-06_r8, 6.2713949947552578e-06_r8, & + 6.2818179317433287e-06_r8, 6.0632950866562907e-06_r8, & + 5.4593943944419348e-06_r8, 5.7696540648717708e-06_r8, & + 5.9640797526641175e-06_r8, 7.945362446057321e-06_r8, & + 1.0128158756644793e-05_r8, 1.3679211770885496e-05_r8, & + 2.130519843975987e-05_r8, 3.1142074823782472e-05_r8, & + 4.1911798503714321e-05_r8, 5.2324672467813106e-05_r8, & + 7.2957283435593775e-05_r8, 8.9477606617888378e-05_r8, & + 0.00010600994217662479_r8, 0.00012049061667005011_r8, & + 0.0001259079810182206_r8, 0.00012594367069828543_r8, & + 0.00011886458500013837_r8, 0.00010739005779111562_r8, & + 9.5369119494731236e-05_r8, 8.4211072781110834e-05_r8, & + 7.5192528241146199e-05_r8, 6.8637072548700717e-05_r8, & + 7.5372091575757241e-05_r8, 8.776506714157985e-05_r8, & + 9.930453595533748e-05_r8, 0.00010712404050403779_r8, & + 0.00011192806497651538_r8, 0.00011608525057867395_r8, & + 0.00012850307307913833_r8, 0.00017630135743091269_r8, & + 0.00024952556298953277_r8, 0.00032707424726282914_r8, & + 0.0003772488372074929_r8, 0.00041022952440886048_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,82) / & + 7.8124154561648785e-06_r8, 6.9940867310070472e-06_r8, & + 6.2613538888688605e-06_r8, 5.8498110963575181e-06_r8, & + 6.0988647962186573e-06_r8, 6.4730477729088729e-06_r8, & + 7.413644729069923e-06_r8, 1.0745650505774546e-05_r8, & + 1.5725971243181494e-05_r8, 2.1999163348102548e-05_r8, & + 2.7343641240021042e-05_r8, 3.2845969044061833e-05_r8, & + 4.0998385120644288e-05_r8, 4.926239558732403e-05_r8, & + 5.7620933069962922e-05_r8, 6.5676709956721978e-05_r8, & + 8.2748700807933875e-05_r8, 0.00010019396305158586_r8, & + 0.00011417597478748907_r8, 0.00012672607203283675_r8, & + 0.00013110307072759892_r8, 0.00012748358895465944_r8, & + 0.00011582679595852136_r8, 0.00010310462410012321_r8, & + 9.0652798702771617e-05_r8, 7.9256584618699969e-05_r8, & + 7.2685980644504443e-05_r8, 6.8327887494020086e-05_r8, & + 7.6048770476294447e-05_r8, 8.9447703165795609e-05_r8, & + 0.00010273497926934555_r8, 0.00011262338127288557_r8, & + 0.00011850848384393457_r8, 0.00012151860888081081_r8, & + 0.00012767192977340791_r8, 0.00016409807592314665_r8, & + 0.00025559045059974348_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,82) / & + 7.4583901956037826e-06_r8, 6.8948593709475237e-06_r8, & + 6.4780669381229011e-06_r8, 6.388494304982075e-06_r8, & + 6.7694496014396107e-06_r8, 7.525035904655245e-06_r8, & + 9.3265298585531871e-06_r8, 1.5622002597118969e-05_r8, & + 2.2418930895979195e-05_r8, 2.9078231693895815e-05_r8, & + 3.3457878345632726e-05_r8, 3.9042863744340107e-05_r8, & + 4.5965113860855048e-05_r8, 5.3091307767708939e-05_r8, & + 6.1542083966737183e-05_r8, 7.0246666811427436e-05_r8, & + 8.818187810364469e-05_r8, 0.00010653974086539638_r8, & + 0.00012034007016157764_r8, 0.00013170116311693128_r8, & + 0.00013521422605167758_r8, 0.00013059405847957566_r8, & + 0.00012002733173980816_r8, 0.00010735308756130036_r8, & + 9.4099057805857236e-05_r8, 8.337439157252174e-05_r8, & + 7.7465589979905538e-05_r8, 7.2884527327638074e-05_r8, & + 7.9945797373961571e-05_r8, 9.1729222577353374e-05_r8, & + 0.0001042675046470392_r8, 0.00011598797856096612_r8, & + 0.00012491413899000641_r8, 0.00012993116835831859_r8, & + 0.00013102167202677715_r8, 0.00014106601363460405_r8, & + 0.00020496501164383321_r8, 0.00035325501265052464_r8, & + 0.00041526645352720398_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,23,82) / & + 6.4067476860888245e-06_r8, 6.3819647578249635e-06_r8, & + 6.3405934015165334e-06_r8, 6.106478445612329e-06_r8, & + 6.3752367697190347e-06_r8, 7.0956948118983314e-06_r8, & + 9.5950459348140567e-06_r8, 1.7749682203089422e-05_r8, & + 2.6111228115570217e-05_r8, 3.3494932699883759e-05_r8, & + 3.7371748285831923e-05_r8, 4.132433865626991e-05_r8, & + 4.7218240774174701e-05_r8, 5.4732470461902017e-05_r8, & + 6.3546441134419999e-05_r8, 7.3395007448375315e-05_r8, & + 9.2742826948310244e-05_r8, 0.00011067204106420043_r8, & + 0.00012394085982061947_r8, 0.00013322797401111501_r8, & + 0.00013595071555836492_r8, 0.00012984920874838554_r8, & + 0.00011865665934435952_r8, 0.00010677052978458623_r8, & + 9.550548361049845e-05_r8, 8.6796757293255042e-05_r8, & + 8.0491172544549069e-05_r8, 7.6486858367970424e-05_r8, & + 8.4862515587882625e-05_r8, 9.78980150393897e-05_r8, & + 0.00011185125463063725_r8, 0.00012561386619574055_r8, & + 0.00013678073578605269_r8, 0.00014283691019384_r8, & + 0.00014619519719786885_r8, 0.00015477894497698699_r8, & + 0.00020168358494722312_r8, 0.0003422628311224472_r8, & + 0.00040507813459141648_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,82) / & + 7.2230984620672062e-06_r8, 7.1572615522481429e-06_r8, & + 7.2865949107194827e-06_r8, 6.0559031331346589e-06_r8, & + 6.5421665319678805e-06_r8, 7.5414802638695748e-06_r8, & + 1.2464628596960662e-05_r8, 2.234529384278656e-05_r8, & + 3.179106604744229e-05_r8, 4.0859366911703368e-05_r8, & + 4.5734716618472082e-05_r8, 5.0869590374806405e-05_r8, & + 5.7788395191557501e-05_r8, 6.4899046922899258e-05_r8, & + 7.2130471688813255e-05_r8, 8.0135916349711501e-05_r8, & + 9.6385916539023245e-05_r8, 0.00011132597584807891_r8, & + 0.00012457914445364809_r8, 0.0001332541057997876_r8, & + 0.0001355889201202674_r8, 0.00013070126241551845_r8, & + 0.00011937276371014682_r8, 0.0001082784357026771_r8, & + 9.8255759036664414e-05_r8, 9.0425268739670561e-05_r8, & + 8.3907759627818419e-05_r8, 8.0932258215954292e-05_r8, & + 9.1651250395699896e-05_r8, 0.00010740513522507488_r8, & + 0.00012231958216779099_r8, 0.00013579365810350558_r8, & + 0.00014767737924751035_r8, 0.00015712898517594208_r8, & + 0.00016731641502691532_r8, 0.00018134568975986426_r8, & + 0.00020312858289357112_r8, 0.00025082786544450704_r8, & + 0.00028661657199129765_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,82) / & + 7.7599740779052022e-06_r8, 7.4936174344800941e-06_r8, & + 7.3893521796716677e-06_r8, 7.1051407559176142e-06_r8, & + 7.847293565528804e-06_r8, 9.5340184722951459e-06_r8, & + 1.6932407199931488e-05_r8, 2.6655707235831894e-05_r8, & + 3.4326053278235999e-05_r8, 4.2905263008764395e-05_r8, & + 4.8563976179821001e-05_r8, 5.4663983805060673e-05_r8, & + 6.163214532766369e-05_r8, 6.8540091368525963e-05_r8, & + 7.486034956591846e-05_r8, 8.0998128154637523e-05_r8, & + 9.3782298515780377e-05_r8, 0.00010782577089400527_r8, & + 0.00012118288041868993_r8, 0.0001308208990469992_r8, & + 0.00013491283493296841_r8, 0.00013176125502510505_r8, & + 0.00012289929826144507_r8, 0.0001135725236453033_r8, & + 0.00010499485612445452_r8, 9.7896102124926529e-05_r8, & + 9.2636337037964553e-05_r8, 9.1221159476664567e-05_r8, & + 0.00010139773577538848_r8, 0.00011741741619400816_r8, & + 0.00013209787971200186_r8, 0.00014548486146065875_r8, & + 0.00015857778005384804_r8, 0.00017223009957069638_r8, & + 0.00018546007960109907_r8, 0.00019683995926524013_r8, & + 0.00020746167994809808_r8, 0.00021630927700317564_r8, & + 0.00022543961518196079_r8, 0.00023562635327034373_r8, & + 0.0002417701621704869_r8, 0.00024430474408644446_r8, & + 0.00024700509961334303_r8, 0.00024663094447424904_r8, 9e90_r8 & + / +data saar_ref(:,26,82) / & + 6.6331498962923973e-06_r8, 6.3058373246446083e-06_r8, & + 5.6597626300391056e-06_r8, 5.7725055783753075e-06_r8, & + 6.1496719265199306e-06_r8, 7.5648169283923732e-06_r8, & + 1.1201275068807109e-05_r8, 1.5065522404350895e-05_r8, & + 1.90964013492066e-05_r8, 2.4769611857491152e-05_r8, & + 3.0167754827477305e-05_r8, 3.7065603735413495e-05_r8, & + 4.5294846249738209e-05_r8, 5.3582380612269989e-05_r8, & + 6.2492080210120634e-05_r8, 7.0663390518015668e-05_r8, & + 8.523353289662608e-05_r8, 0.00010080908542479399_r8, & + 0.00011376910931145843_r8, 0.00012541238019262381_r8, & + 0.00013052737985962779_r8, 0.00012723391607247778_r8, & + 0.00012197339076252248_r8, 0.00011658780158561234_r8, & + 0.00011184387098890591_r8, 0.00010765576656476547_r8, & + 0.00010464442614457889_r8, 0.00010503809540584657_r8, & + 0.00011292411975740297_r8, 0.00012845183157310348_r8, & + 0.00014533061483764926_r8, 0.00016138736988745555_r8, & + 0.0001744402355597654_r8, 0.00018996804703597437_r8, & + 0.00020187632347004288_r8, 0.00021272896177524649_r8, & + 0.00022161053382223944_r8, 0.00023019650187971262_r8, & + 0.00023908630431863716_r8, 0.00024610237701981971_r8, & + 0.00025284672674102059_r8, 0.0002564554331603708_r8, & + 0.000259799778251748_r8, 0.00026167806552706516_r8, & + 0.00026129966428926438_r8 & + / +data saar_ref(:,27,82) / & + 5.725529702822857e-06_r8, 5.4070458911279204e-06_r8, & + 5.1343633865699959e-06_r8, 5.1237835649180034e-06_r8, & + 5.0277516990460081e-06_r8, 5.8028622303578582e-06_r8, & + 6.8759805893956954e-06_r8, 7.9986614448704844e-06_r8, & + 8.6742878720873657e-06_r8, 1.0386685550022437e-05_r8, & + 1.300956413016336e-05_r8, 1.830964360058309e-05_r8, & + 2.5415974501756996e-05_r8, 3.2941231605017617e-05_r8, & + 3.9691476666871742e-05_r8, 4.7030242603446069e-05_r8, & + 6.5951821588200135e-05_r8, 8.6117707014861725e-05_r8, & + 0.00010307095832818603_r8, 0.00011807167400707288_r8, & + 0.00012401578329034128_r8, 0.00012374952659491997_r8, & + 0.000120263191578187_r8, 0.00011620844562557608_r8, & + 0.00011344144649348182_r8, 0.00011130006890257961_r8, & + 0.00011129082226251981_r8, 0.00011535602596065398_r8, & + 0.00012562059834857856_r8, 0.00014318321852469838_r8, & + 0.00016134728334217915_r8, 0.00018026989546033193_r8, & + 0.00019573878204906428_r8, 0.00021199066267338227_r8, & + 0.00022335444888216212_r8, 0.00023471116311361755_r8, & + 0.0002420129327869455_r8, 0.00024854477882362155_r8, & + 0.0002547702449423125_r8, 0.00025962135459190746_r8, & + 0.00026342210343988001_r8, 0.00026511733107822705_r8, & + 0.00026799119368674771_r8, 0.00026628050277703038_r8, & + 0.00026890469786710833_r8 & + / +data saar_ref(:,28,82) / & + 5.2266562937264688e-06_r8, 5.4065237177518072e-06_r8, & + 6.097246932556816e-06_r8, 5.9926060246491667e-06_r8, & + 5.1045858347149435e-06_r8, 5.57151318362648e-06_r8, & + 6.5755330431238867e-06_r8, 7.160848929344634e-06_r8, & + 7.1682784145626157e-06_r8, 7.5590830547421134e-06_r8, & + 8.8063016178950785e-06_r8, 1.1297776524865399e-05_r8, & + 1.5245594280656678e-05_r8, 1.9409208693328135e-05_r8, & + 2.3979648349869579e-05_r8, 2.8806959815280672e-05_r8, & + 4.1519361817397346e-05_r8, 6.1464414945615729e-05_r8, & + 8.1801037079565504e-05_r8, 0.00010117234982189487_r8, & + 0.00011238988993733275_r8, 0.00011860057212563391_r8, & + 0.00011751205202980216_r8, 0.00011499087921560116_r8, & + 0.00011322122317527669_r8, 0.00011262958046629067_r8, & + 0.00011477380964276907_r8, 0.00012354998754085422_r8, & + 0.00013623332800241124_r8, 0.00015648321510151338_r8, & + 0.00017585823056792541_r8, 0.00019504122206280173_r8, & + 0.00021236054060247983_r8, 0.00022856733130953614_r8, & + 0.00024149017865153312_r8, 0.00025142210292686295_r8, & + 0.00025904102588903332_r8, 0.00026424114350410071_r8, & + 0.00026849365406510353_r8, 0.00027221255450519607_r8, & + 0.00027560267147500175_r8, 0.00027668425035403738_r8, & + 0.00027793870779454794_r8, 0.0002785723238478127_r8, 9e90_r8 & + / +data saar_ref(:,29,82) / & + 5.9843014636361806e-06_r8, 6.126130924736178e-06_r8, & + 7.6868939344148736e-06_r8, 6.5727423621922179e-06_r8, & + 6.0588828546834552e-06_r8, 6.4878296503893215e-06_r8, & + 7.0488265689834933e-06_r8, 7.4165966685935817e-06_r8, & + 7.5268606061239094e-06_r8, 8.022549239994184e-06_r8, & + 9.0323264876628981e-06_r8, 1.0289393950531177e-05_r8, & + 1.2990712355963948e-05_r8, 1.5879957521889463e-05_r8, & + 1.9875029789451208e-05_r8, 2.4065907648385258e-05_r8, & + 3.2357913504135463e-05_r8, 4.4133789329827946e-05_r8, & + 6.2120987141136134e-05_r8, 8.2223104441606082e-05_r8, & + 9.8160619249193327e-05_r8, 0.00010772944822885201_r8, & + 0.00010958987954484392_r8, 0.00010868338763867716_r8, & + 0.0001077664942403026_r8, 0.00010829971015786559_r8, & + 0.00011006411396861515_r8, 0.00012164684174122076_r8, & + 0.00013638935379627786_r8, 0.00015865041103629499_r8, & + 0.00018120591089953965_r8, 0.0002030937448013865_r8, & + 0.00022182368914729921_r8, 0.00023532759439026077_r8, & + 0.00024729971173016409_r8, 0.00025745949202568119_r8, & + 0.00026617147926170145_r8, 0.00027216844305543087_r8, & + 0.00027767575694836853_r8, 0.00028396605039464768_r8, & + 0.00028854571747193204_r8, 0.00028933429076702957_r8, & + 0.00029065424068814254_r8, 0.00029193684769922106_r8, & + 0.00029219642091664897_r8 & + / +data saar_ref(:,30,82) / & + 8.1433150114088052e-06_r8, 7.5468485835367945e-06_r8, & + 8.2150502972129042e-06_r8, 6.4239438004864918e-06_r8, & + 6.4972484789768646e-06_r8, 6.8382217499184302e-06_r8, & + 7.4265494033296692e-06_r8, 8.2477844363675275e-06_r8, & + 8.8224437224202194e-06_r8, 1.0125571345841691e-05_r8, & + 1.0951236975300537e-05_r8, 1.2638077063619136e-05_r8, & + 1.5287325317924679e-05_r8, 1.7664569720892681e-05_r8, & + 2.1694562345242826e-05_r8, 2.5484857029054876e-05_r8, & + 3.2036206635487566e-05_r8, 4.067744860769921e-05_r8, & + 5.6094490653957346e-05_r8, 7.2590717202363573e-05_r8, & + 8.570311080396163e-05_r8, 9.1513547388435539e-05_r8, & + 9.2153534230457611e-05_r8, 9.2695955483420214e-05_r8, & + 9.2932891314254063e-05_r8, 9.4540657594947123e-05_r8, & + 9.5989521914099414e-05_r8, 0.00010576991607219703_r8, & + 0.00012090585149598556_r8, 0.00014527053412694487_r8, & + 0.00016804495616079866_r8, 0.00019345065271874555_r8, & + 0.00021297177160838925_r8, 0.00022912140273624726_r8, & + 0.00023919663499599205_r8, 0.00025463505618161862_r8, & + 0.00027072180037294053_r8, 0.00027864811985001386_r8, & + 0.00028572820160458769_r8, 0.00029416768800693725_r8, & + 0.00029822069702575019_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,82) / & + 9.9457847955790535e-06_r8, 8.9144595540970585e-06_r8, & + 7.9749694648880286e-06_r8, 7.0434695598984883e-06_r8, & + 7.8265271168673169e-06_r8, 8.2966811387237266e-06_r8, & + 9.776569525702502e-06_r8, 1.1203076810135132e-05_r8, & + 1.2251604015855609e-05_r8, 1.3255138028407989e-05_r8, & + 1.4455387845359546e-05_r8, 1.5599737246945961e-05_r8, & + 1.7805630666582169e-05_r8, 2.1285342415034082e-05_r8, & + 2.5310837556759821e-05_r8, 2.9707806006318558e-05_r8, & + 3.7366782905491672e-05_r8, 4.7458945941569566e-05_r8, & + 6.1787616306574171e-05_r8, 7.2863609872311097e-05_r8, & + 7.9062880219899799e-05_r8, 8.1473175101321257e-05_r8, & + 8.1635536276739569e-05_r8, 8.2876361066116375e-05_r8, & + 8.3717199525311663e-05_r8, 8.5304861101387618e-05_r8, & + 8.720152438857028e-05_r8, 9.4470595617135279e-05_r8, & + 0.00010691874694569213_r8, 0.00012572332031758241_r8, & + 0.0001459751174290055_r8, 0.00017055785574752699_r8, & + 0.00019214908213164984_r8, 0.00021648330555116817_r8, & + 0.00022108294539006183_r8, 0.00024683299348919862_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,82) / & + 1.1669143204533917e-05_r8, 1.1341993578268641e-05_r8, & + 1.030168799879356e-05_r8, 8.0880116159921778e-06_r8, & + 9.104082239266808e-06_r8, 9.7865813992974708e-06_r8, & + 1.3124596707698264e-05_r8, 1.6070398364072137e-05_r8, & + 1.7454546768349464e-05_r8, 1.8660232711048942e-05_r8, & + 1.9939654635954298e-05_r8, 2.0695315768492409e-05_r8, & + 2.3390855505423086e-05_r8, 2.6769620061843871e-05_r8, & + 3.0190673360315624e-05_r8, 3.4407985961601037e-05_r8, & + 4.3635878376205591e-05_r8, 5.6616442741302504e-05_r8, & + 7.0956245220477255e-05_r8, 7.9827776957136425e-05_r8, & + 8.3720896567003058e-05_r8, 8.4398706501644826e-05_r8, & + 8.4605801258570649e-05_r8, 8.440731989089526e-05_r8, & + 8.5221055319396731e-05_r8, 8.5861998929422683e-05_r8, & + 8.7311026468986242e-05_r8, 9.228156843252679e-05_r8, & + 0.00010080135171978184_r8, 0.00011089117093132452_r8, & + 0.00012557911094255951_r8, 0.00013883574518774427_r8, & + 0.00015363339505451883_r8, 0.00016140071337735021_r8, & + 0.00017185738484289722_r8, 0.00018395721699762644_r8, & + 0.00018917087065724086_r8, 0.0001988035051428446_r8, & + 0.00020016329730971025_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,82) / & + 1.1980012237480105e-05_r8, 1.262757229452583e-05_r8, & + 1.250851599672412e-05_r8, 1.1481405613594198e-05_r8, & + 1.2844249047280565e-05_r8, 1.4643912047075836e-05_r8, & + 1.9421877963734336e-05_r8, 2.1082709409039856e-05_r8, & + 2.201564905755531e-05_r8, 2.3384930694723463e-05_r8, & + 2.4545394195768319e-05_r8, 2.637330404045314e-05_r8, & + 3.0058630309803147e-05_r8, 3.3184285028208317e-05_r8, & + 3.7024062128008104e-05_r8, 4.1357185830908052e-05_r8, & + 5.2476765631247838e-05_r8, 6.8424987306924686e-05_r8, & + 8.2288861401368836e-05_r8, 8.8362591376977314e-05_r8, & + 8.9765946020041484e-05_r8, 8.8215305885727848e-05_r8, & + 8.7240245824242687e-05_r8, 8.6246898007358836e-05_r8, & + 8.6379724506909308e-05_r8, 8.6496664641633146e-05_r8, & + 8.69418308128907e-05_r8, 8.9418184807859612e-05_r8, & + 9.3702523321306637e-05_r8, 0.0001011454647813915_r8, & + 0.00011154888684468646_r8, 0.00012199985642872454_r8, & + 0.00013322177679826172_r8, 0.0001450302452776299_r8, & + 0.00015817749844981055_r8, 0.00017208426595129105_r8, & + 0.00018259527352470557_r8, 0.00020363135770061058_r8, & + 0.0002076010972106638_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,82) / & + 1.1201031481370028e-05_r8, 1.1893499847768886e-05_r8, & + 1.2247907755404519e-05_r8, 1.7638875518424638e-05_r8, & + 1.9479014489680134e-05_r8, 2.1801406943525671e-05_r8, & + 2.4634859816684981e-05_r8, 2.7565419156892244e-05_r8, & + 2.9177736528303684e-05_r8, 3.1162740066998634e-05_r8, & + 3.2690011871991685e-05_r8, 3.4490356035887042e-05_r8, & + 3.8409648173685533e-05_r8, 4.2246296269645862e-05_r8, & + 4.70055503860943e-05_r8, 5.2123465073855941e-05_r8, & + 6.5798454789591927e-05_r8, 8.0140141067960795e-05_r8, & + 8.8650295693648034e-05_r8, 9.0445435916315501e-05_r8, & + 8.9279044578186029e-05_r8, 8.6915471293413858e-05_r8, & + 8.6114764322816473e-05_r8, 8.5239276345518492e-05_r8, & + 8.5016374842265734e-05_r8, 8.492871656982321e-05_r8, & + 8.4970576552732702e-05_r8, 8.5635924435968085e-05_r8, & + 8.7239252308562074e-05_r8, 9.3047767769881382e-05_r8, & + 9.9450328588255636e-05_r8, 0.0001070396802196453_r8, & + 0.00011546649208284686_r8, 0.00012578935819677046_r8, & + 0.00013768814491205692_r8, 0.0001472198167027314_r8, & + 0.00015023592401817784_r8, 0.00014118029204992846_r8, & + 0.00013906600035535111_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,35,82) / & + 1.789881372833255e-05_r8, 1.8959595904672526e-05_r8, & + 1.7124335557508928e-05_r8, 2.7081459846531246e-05_r8, & + 3.0200904548536651e-05_r8, 3.4488539378694872e-05_r8, & + 3.9787217359855684e-05_r8, 4.5160697959054696e-05_r8, & + 4.880857488495607e-05_r8, 5.2518777239248162e-05_r8, & + 5.4970086079559744e-05_r8, 5.6672486968528465e-05_r8, & + 6.0065729593796126e-05_r8, 6.4404910040612964e-05_r8, & + 7.0035179816403591e-05_r8, 7.4320993292447838e-05_r8, & + 8.1965901306504832e-05_r8, 8.6268194847239276e-05_r8, & + 8.7474867515495349e-05_r8, 8.6553608876132574e-05_r8, & + 8.5661573990459863e-05_r8, 8.4737760909179915e-05_r8, & + 8.4779187070563029e-05_r8, 8.4900039203974773e-05_r8, & + 8.5362267914913724e-05_r8, 8.5939673285006027e-05_r8, & + 8.6704973337499807e-05_r8, 8.886493926545561e-05_r8, & + 9.1974692131439303e-05_r8, 9.6678895884364901e-05_r8, & + 0.00010224798649417044_r8, 0.00010845106038836097_r8, & + 0.00011675767646385956_r8, 0.00012562616702673101_r8, & + 0.00013436599543493181_r8, 0.00014131703081180497_r8, & + 0.00014509755602757981_r8, 0.00014297073429416811_r8, & + 0.00013620058372090625_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,36,82) / & + 2.9799677795190061e-05_r8, 3.1001675239596927e-05_r8, & + 2.6634755853564071e-05_r8, 4.1966861186654009e-05_r8, & + 4.6567611105126358e-05_r8, 5.1774206874678347e-05_r8, & + 6.1981953345397581e-05_r8, 6.6646770355846806e-05_r8, & + 6.8891993092289354e-05_r8, 7.0801920536595303e-05_r8, & + 7.1935787687948038e-05_r8, 7.1816802679450337e-05_r8, & + 7.2681034021830442e-05_r8, 7.4878611962082202e-05_r8, & + 7.6842434052583827e-05_r8, 7.8662300783770287e-05_r8, & + 8.1255925637601758e-05_r8, 8.2227229619594671e-05_r8, & + 8.2544551746376534e-05_r8, 8.2655772738880263e-05_r8, & + 8.3573464142213075e-05_r8, 8.4370139251061915e-05_r8, & + 8.569591285941974e-05_r8, 8.7228231728663397e-05_r8, & + 8.9314662601023276e-05_r8, 9.1326567178650115e-05_r8, & + 9.3313339776660345e-05_r8, 9.8084810884186313e-05_r8, & + 0.00010250433346020439_r8, 0.00010600121352867067_r8, & + 0.00011054000661542264_r8, 0.00011530343434304447_r8, & + 0.00012415574588258555_r8, 0.0001329090803652011_r8, & + 0.00013936490592494382_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,82) / & + 4.0241817533299179e-05_r8, 3.9909113590571323e-05_r8, & + 3.3912177744398704e-05_r8, 4.1694739070118308e-05_r8, & + 4.7350768178955063e-05_r8, 5.2330958970662199e-05_r8, & + 6.1055116885039493e-05_r8, 6.4386719406086111e-05_r8, & + 6.6244499014685352e-05_r8, 6.8122190979320096e-05_r8, & + 6.9270933735206754e-05_r8, 7.0305944264038311e-05_r8, & + 7.1111165641254772e-05_r8, 7.2293919606863837e-05_r8, & + 7.3903380483264755e-05_r8, 7.5442469714947141e-05_r8, & + 7.8900841824778973e-05_r8, 8.0679370441817024e-05_r8, & + 8.1894423720706619e-05_r8, 8.2889116615039455e-05_r8, & + 8.4649540590487829e-05_r8, 8.5619753018080367e-05_r8, & + 8.7200980488339708e-05_r8, 8.8599035140380267e-05_r8, & + 8.9964192986838188e-05_r8, 8.9801052786130409e-05_r8, & + 9.1692355553769236e-05_r8, 9.6069324710144641e-05_r8, & + 0.00010024726700163009_r8, 0.00010358648975035431_r8, & + 0.00010639846160509396_r8, 0.00011047341126265643_r8, & + 0.00010236099478491525_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,82) / & + 4.8435347655343708e-05_r8, 4.667731574370527e-05_r8, & + 4.04897375712126e-05_r8, 3.8527254423728463e-05_r8, & + 4.5823686350732703e-05_r8, 5.0387657371679956e-05_r8, & + 5.7439723515406329e-05_r8, 6.2525001442161686e-05_r8, & + 6.488010749364959e-05_r8, 6.707954302759148e-05_r8, & + 6.834337587769112e-05_r8, 7.0288083732994471e-05_r8, & + 7.1746916983306386e-05_r8, 7.2689144699814842e-05_r8, & + 7.351055717687085e-05_r8, 7.4921841287640595e-05_r8, & + 7.9596061088296871e-05_r8, 8.1750759971198366e-05_r8, & + 8.3930234559631474e-05_r8, 8.6714608456061763e-05_r8, & + 8.8806238529557397e-05_r8, 8.9670657752719695e-05_r8, & + 9.0733296663788967e-05_r8, 9.1748851729718875e-05_r8, & + 9.1699587792862402e-05_r8, 8.9454899188799795e-05_r8, & + 9.1098580518877016e-05_r8, 9.5727235867684203e-05_r8, & + 0.00010015462492701783_r8, 0.00010359792171640016_r8, & + 0.00010678166591000884_r8, 0.00010852464906451121_r8, & + 0.00010475632729250986_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,82) / & + 5.4788871049047687e-05_r8, 5.2502221866596255e-05_r8, & + 4.4540411391644245e-05_r8, 3.5800271603603407e-05_r8, & + 4.023862125134412e-05_r8, 4.6607099002630173e-05_r8, & + 5.2678627183446785e-05_r8, 6.0108986872942924e-05_r8, & + 6.3591516169753188e-05_r8, 6.6284640219961942e-05_r8, & + 6.7693324881421465e-05_r8, 7.0428134068667745e-05_r8, & + 7.2513955661658642e-05_r8, 7.3668214176864368e-05_r8, & + 7.4454955836005752e-05_r8, 7.5121536566065343e-05_r8, & + 7.9949771905191529e-05_r8, 8.2849004310078694e-05_r8, & + 8.5361607578920563e-05_r8, 8.8591476018002921e-05_r8, & + 9.1180060767036982e-05_r8, 9.1980724200042149e-05_r8, & + 9.2902455806007913e-05_r8, 9.3980034078347286e-05_r8, & + 9.490935485307132e-05_r8, 9.4670201600821676e-05_r8, & + 9.6010700929940362e-05_r8, 9.9779094929458332e-05_r8, & + 0.00010456393639276572_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,82) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,82) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,82) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,82) / & + 0.00011381634102508406_r8, 0.00011334418599654013_r8, & + 0.00010798269030494416_r8, 0.00012698497620822763_r8, & + 0.00012921983146470692_r8, 0.00012632127793593234_r8, & + 0.00012571562840629088_r8, 0.00013341337197602871_r8, & + 0.00011550956905898728_r8, 0.00010303299397210236_r8, & + 9.9405523102969186e-05_r8, 8.9091686610704468e-05_r8, & + 7.800941938348068e-05_r8, 7.9362353146722304e-05_r8, & + 7.3642535611712423e-05_r8, 7.618777943503898e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,82) / & + 0.00011106016319328173_r8, 0.00011600360579194511_r8, & + 0.00011139417488297411_r8, 0.0001238552160457519_r8, & + 0.0001304396571916768_r8, 0.0001298259140025246_r8, & + 0.00012674366424330976_r8, 0.00012600686617334636_r8, & + 0.00010644212144956183_r8, 9.473457486591971e-05_r8, & + 9.2387108051005922e-05_r8, 8.6506437893681657e-05_r8, & + 7.964746705081422e-05_r8, 8.0125697074371095e-05_r8, & + 7.4515489265909458e-05_r8, 7.6624545081527783e-05_r8, & + 6.9692519211091042e-05_r8, 7.4886749531101967e-05_r8, & + 7.7210848953480175e-05_r8, 8.3096331452197318e-05_r8, & + 8.7454059538219129e-05_r8, 8.798285054974744e-05_r8, & + 9.4116656572484781e-05_r8, 9.6514570885567055e-05_r8, & + 9.6909709176293079e-05_r8, 9.9763191972069534e-05_r8, & + 0.00010419303287111842_r8, 0.00011273771322509254_r8, & + 0.00011468408927148894_r8, 0.0001169196813516756_r8, & + 0.00011754940725456154_r8, 0.00011833406919097266_r8, & + 0.00011947644510510904_r8, 0.00011980847687342382_r8, & + 0.00012013892218493925_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,82) / & + 9.7840608203890204e-05_r8, 0.00011370098703267922_r8, & + 0.00011124945022586144_r8, 0.00011646668049323266_r8, & + 0.00013069983468388271_r8, 0.00013470805414676786_r8, & + 0.00012444566326419432_r8, 0.00010184525337231545_r8, & + 8.214911831286908e-05_r8, 7.6614809292899319e-05_r8, & + 7.6171373952816615e-05_r8, 7.4559868204243269e-05_r8, & + 7.2009006667028523e-05_r8, 7.2708767627108006e-05_r8, & + 7.2054376589969846e-05_r8, 7.35506617286531e-05_r8, & + 7.1953183665779709e-05_r8, 7.3827392956060767e-05_r8, & + 7.6207920379046614e-05_r8, 7.9635363451745729e-05_r8, & + 8.3767319619827552e-05_r8, 8.6522708563751817e-05_r8, & + 9.1066186854332109e-05_r8, 9.5343431761694958e-05_r8, & + 9.9581476772121533e-05_r8, 0.00010367353677664361_r8, & + 0.00010951062529187412_r8, 0.00011827117266268843_r8, & + 0.00011884467532193167_r8, 0.00011901169996821817_r8, & + 0.00011974253054545896_r8, 0.00012039970459033937_r8, & + 0.00012109006901508973_r8, 0.00012109633039446124_r8, & + 0.00012140044634710031_r8, 0.0001216478984881018_r8, & + 0.00012430887524311217_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,83) / & + 0.00012761985088291449_r8, 0.00012740000036894802_r8, & + 0.00013035239316648852_r8, 0.00013628635198328982_r8, & + 0.00014057635460526565_r8, 0.00014259765116001713_r8, & + 0.00015080425528305822_r8, 0.00015359654395727564_r8, & + 0.000154545424917081_r8, 0.00015588617967412792_r8, & + 0.00015699619232106897_r8, 0.00015774998120381619_r8, & + 0.0001574223301802851_r8, 0.00015987048700314655_r8, & + 0.00016626022309274954_r8, 0.00017422614954113534_r8, & + 0.00020916656204959612_r8, 0.00021880183491088738_r8, & + 0.00021403298470177573_r8, 0.00022281737757663022_r8, & + 0.00022858598961548166_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,83) / & + 0.00012761985088291449_r8, 0.00012740000036894802_r8, & + 0.00013035239316648852_r8, 0.00013628635198328982_r8, & + 0.00014057635460526565_r8, 0.00014259765116001713_r8, & + 0.00015080425528305822_r8, 0.00015359654395727564_r8, & + 0.000154545424917081_r8, 0.00015588617967412792_r8, & + 0.00015699619232106897_r8, 0.00015774998120381619_r8, & + 0.0001574223301802851_r8, 0.00015987048700314655_r8, & + 0.00016626022309274954_r8, 0.00017422614954113534_r8, & + 0.00020916656204959612_r8, 0.00021880183491088738_r8, & + 0.00021403298470177573_r8, 0.00022281737757663022_r8, & + 0.00022858598961548166_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,83) / & + 0.00012761985088291449_r8, 0.00012740000036894802_r8, & + 0.00013035239316648852_r8, 0.00013628635198328982_r8, & + 0.00014057635460526565_r8, 0.00014259765116001713_r8, & + 0.00015080425528305822_r8, 0.00015359654395727564_r8, & + 0.000154545424917081_r8, 0.00015588617967412792_r8, & + 0.00015699619232106897_r8, 0.00015774998120381619_r8, & + 0.0001574223301802851_r8, 0.00015987048700314655_r8, & + 0.00016626022309274954_r8, 0.00017422614954113534_r8, & + 0.00020916656204959612_r8, 0.00021880183491088738_r8, & + 0.00021403298470177573_r8, 0.00022281737757663022_r8, & + 0.00022858598961548166_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,83) / & + 0.00012977513534434795_r8, 0.00013009050562177573_r8, & + 0.00013373634937695545_r8, 0.00013909573377841636_r8, & + 0.00014367770672235147_r8, 0.00014415013333075015_r8, & + 0.00015233514538314912_r8, 0.00015830216368853715_r8, & + 0.00016015772669025053_r8, 0.00016293104313588668_r8, & + 0.00016469167340768886_r8, 0.00016662725005496179_r8, & + 0.00016962107369918148_r8, 0.00017256182197437374_r8, & + 0.00017983700617702864_r8, 0.00019062299986534511_r8, & + 0.00022079787628944534_r8, 0.00022682301614930373_r8, & + 0.00022998501305457724_r8, 0.0002331404237773265_r8, & + 0.00023722116881540905_r8, 0.00024608128430765992_r8, & + 0.00024812728058195383_r8, 0.00025141727287934633_r8, & + 0.00025460003869633786_r8, 0.00025551195374436591_r8, & + 0.00025614465968909201_r8, 0.00025691447184788879_r8, & + 0.0002574900050981125_r8, 0.00025902345858223424_r8, & + 0.00025795372929005136_r8, 0.00025747674347326686_r8, & + 0.00025437350451739879_r8, 0.00024927455501050366_r8, & + 0.00024848132330243029_r8, 0.00024884064258644858_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,83) / & + 0.00014970545444412483_r8, 0.00015078467252418031_r8, & + 0.00015179327370743337_r8, 0.00015126006217995906_r8, & + 0.00015291937975993539_r8, 0.00015514783610333431_r8, & + 0.00016724762023790919_r8, 0.00017777722947165566_r8, & + 0.00018199974630659683_r8, 0.0001877613235240836_r8, & + 0.00019257337322950527_r8, 0.00019975078383701131_r8, & + 0.00020942209515145203_r8, 0.00021717375781521163_r8, & + 0.00022262697747904407_r8, 0.00022792679087248074_r8, & + 0.00023657743990829959_r8, 0.00024215273362135877_r8, & + 0.00024645083433240351_r8, 0.00024872540371293471_r8, & + 0.00025111229641439797_r8, 0.00025495024095419506_r8, & + 0.00025548804240965717_r8, 0.00025633422819864047_r8, & + 0.00025735955292893888_r8, 0.00025792041980919649_r8, & + 0.00025832849458499627_r8, 0.00025866067914334228_r8, & + 0.0002593987804407875_r8, 0.00025939815774326711_r8, & + 0.00025889961058981269_r8, 0.00025862504728092561_r8, & + 0.0002528306963505367_r8, 0.00025036380434376735_r8, & + 0.00025045198065354579_r8, 0.000252135556233734_r8, & + 0.00025807430282108538_r8, 0.00026512765511366924_r8, & + 0.00025975480845458237_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,83) / & + 0.00015682451599940598_r8, 0.00015674583189025248_r8, & + 0.00015600709246354924_r8, 0.00015879169280610849_r8, & + 0.00015883989999672358_r8, 0.00016109528684428245_r8, & + 0.00016917385912525802_r8, 0.00018136725493117495_r8, & + 0.00018746227728893991_r8, 0.00019829984408156312_r8, & + 0.00020818701216429922_r8, 0.00022021509932439336_r8, & + 0.00023346116908304969_r8, 0.00024148033383211516_r8, & + 0.0002447725043391782_r8, 0.00024751468409239466_r8, & + 0.00025298280162624196_r8, 0.00025673804494385545_r8, & + 0.00025944969271115328_r8, 0.00026128734038054381_r8, & + 0.000262893133045892_r8, 0.00026388046483526319_r8, & + 0.00026391708425821007_r8, 0.00026396886643537517_r8, & + 0.00026405239707550607_r8, 0.00026405708635472827_r8, & + 0.00026400680723866909_r8, 0.00026376623075979676_r8, & + 0.00026367994924118561_r8, 0.00026262563663951015_r8, & + 0.00026213908912278678_r8, 0.0002615298874697395_r8, & + 0.00025944156730505635_r8, 0.00025854780794419156_r8, & + 0.00025733582806974328_r8, 0.0002566783322651364_r8, & + 0.00025520866086530019_r8, 0.00025352492797428317_r8, & + 0.00025056774703389366_r8, 0.00024870207172913658_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,83) / & + 0.00013400636799937139_r8, 0.00013452289636683244_r8, & + 0.000135742373982519_r8, 0.00013513969690471538_r8, & + 0.00013884295728535076_r8, 0.00014698480900461231_r8, & + 0.00016109040472847888_r8, 0.00017614634523981925_r8, & + 0.00018199393464490152_r8, 0.00019244609056925032_r8, & + 0.00020220192663158583_r8, 0.00021250742088599838_r8, & + 0.00022360947661702516_r8, 0.00022972032909673531_r8, & + 0.00023430869593570036_r8, 0.00023736674630724585_r8, & + 0.00024374947323210078_r8, 0.00024738007154538112_r8, & + 0.00025086267926720674_r8, 0.00025334511285516519_r8, & + 0.00025506919424995859_r8, 0.00025672570658107465_r8, & + 0.00025763402479425857_r8, 0.00025800406808247926_r8, & + 0.00025856926325750862_r8, 0.00025921575120152338_r8, & + 0.00025938275061374862_r8, 0.00025932427435802882_r8, & + 0.00025945224433891214_r8, 0.00025910652914547678_r8, & + 0.00025825595931291653_r8, 0.0002562202078189266_r8, & + 0.00025457254617874421_r8, 0.00025289727979646521_r8, & + 0.0002500483461129257_r8, 0.00024576640750265284_r8, & + 0.00024283219100347739_r8, 0.00024120057903123158_r8, & + 0.00024224031113280085_r8, 0.00024392839408572347_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,83) / & + 8.1999916189528336e-05_r8, 8.1849423122940787e-05_r8, & + 8.1405558928901531e-05_r8, 8.8225708502686075e-05_r8, & + 9.0545445142065754e-05_r8, 9.5363651513049024e-05_r8, & + 0.0001149471078685524_r8, 0.00014142683991336376_r8, & + 0.00015473373510216544_r8, 0.00016556761161372972_r8, & + 0.00017308010493647405_r8, 0.00017951576014589793_r8, & + 0.00018865181194369372_r8, 0.00019619186201898063_r8, & + 0.00020257476353169386_r8, 0.00020721921399026135_r8, & + 0.00021396997614982135_r8, 0.00021862091106051793_r8, & + 0.00022348812766831533_r8, 0.00022753600736676987_r8, & + 0.00023050945985440057_r8, 0.00023369515289929863_r8, & + 0.00023599203950544877_r8, 0.00023889474507637673_r8, & + 0.00024143804971215379_r8, 0.00024375149583437758_r8, & + 0.00024511725383118881_r8, 0.00024865243043280575_r8, & + 0.00025113966261730455_r8, 0.00025280844148806061_r8, & + 0.00025391294743894042_r8, 0.00025436696430837177_r8, & + 0.00025474417868539412_r8, 0.00025300904459790919_r8, & + 0.00024998693881233587_r8, 0.00024902041459440885_r8, & + 0.00024044038523512624_r8, 0.00023936796601604012_r8, & + 0.00023870692039073302_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,9,83) / & + 3.655128686970999e-05_r8, 3.5603751049346634e-05_r8, & + 3.3217699638791594e-05_r8, 4.5841581130798855e-05_r8, & + 4.7867479100347225e-05_r8, 5.2203807313412547e-05_r8, & + 6.4468650468170206e-05_r8, 9.2878271574569786e-05_r8, & + 0.00011167389306695117_r8, 0.00012858539131446598_r8, & + 0.00013995195905730357_r8, 0.00015005806853397538_r8, & + 0.00016160944146019027_r8, 0.0001708960288210083_r8, & + 0.00017753571113748702_r8, 0.00018304962147121855_r8, & + 0.00019152292965520846_r8, 0.00019701387660555212_r8, & + 0.00020208818562917602_r8, 0.00020683620420904153_r8, & + 0.00021113369870389738_r8, 0.00021744308713919565_r8, & + 0.00022124589787702177_r8, 0.00022509951572426785_r8, & + 0.0002299428429736272_r8, 0.00023305575504522382_r8, & + 0.00023642769504210093_r8, 0.00024286558652936483_r8, & + 0.00024858179796948888_r8, 0.00025212367769464106_r8, & + 0.00025549719105390348_r8, 0.00025837063263750597_r8, & + 0.00026068184136755312_r8, 0.00026203388639878126_r8, & + 0.000260237638565094_r8, 0.0002580150143373681_r8, & + 0.0002551562417388641_r8, 0.00025208817015542803_r8, & + 0.00025137738446137235_r8, 0.00025233249051306584_r8, & + 0.00025392979430504775_r8, 0.00025920215275197843_r8, & + 0.00025450253839806955_r8, 0.00024521826537308929_r8, & + 0.0002443394587852292_r8 & + / +data saar_ref(:,10,83) / & + 1.4409236849536127e-05_r8, 1.444172902320498e-05_r8, & + 1.4103443150389479e-05_r8, 1.8975757899093968e-05_r8, & + 1.9864276627614612e-05_r8, 2.1584963340786542e-05_r8, & + 3.0136886549614056e-05_r8, 4.2582129747958844e-05_r8, & + 5.4600917014843223e-05_r8, 6.6154445848366205e-05_r8, & + 7.504808814262863e-05_r8, 8.4286064160060713e-05_r8, & + 9.3812941427674304e-05_r8, 0.00010415505319899401_r8, & + 0.00011289332801186819_r8, 0.00012056035736520142_r8, & + 0.00013299321340265363_r8, 0.00014456536324586176_r8, & + 0.00015402545150183341_r8, 0.00016247281484956609_r8, & + 0.00016918003743466708_r8, 0.00017544957484427718_r8, & + 0.00018051950525547992_r8, 0.00018422883945961151_r8, & + 0.00018777454923487767_r8, 0.00019071597488750199_r8, & + 0.00019313872682570079_r8, 0.0002002224026913938_r8, & + 0.00021015668456260311_r8, 0.00022186098195901884_r8, & + 0.0002327158954823988_r8, 0.00024175761633883519_r8, & + 0.00024877461926433767_r8, 0.00025421336059118532_r8, & + 0.00025851542803347391_r8, 0.00026205133647563865_r8, & + 0.00026453765655266073_r8, 0.0002659648233212277_r8, & + 0.00026662687581841622_r8, 0.00026742596487037176_r8, & + 0.00026811895699626942_r8, 0.0002696296576155297_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,11,83) / & + 6.013662492829222e-06_r8, 6.3393701241366428e-06_r8, & + 5.7621324575064721e-06_r8, 7.2777334911017213e-06_r8, & + 7.4412978001519051e-06_r8, 7.7152662743167995e-06_r8, & + 1.0941665717508196e-05_r8, 1.4514447115787156e-05_r8, & + 1.8173936218522866e-05_r8, 2.2366663164313329e-05_r8, & + 2.5765721555388171e-05_r8, 2.8693208287761412e-05_r8, & + 3.3184631673028709e-05_r8, 3.9244082853322123e-05_r8, & + 4.5328452308351408e-05_r8, 5.1293706800407066e-05_r8, & + 6.2823906901917433e-05_r8, 7.8198279977830808e-05_r8, & + 9.3555593935405057e-05_r8, 0.00010902282539424701_r8, & + 0.00012209565073790607_r8, 0.00013411406604818622_r8, & + 0.00014327311762769117_r8, 0.00014964754363357789_r8, & + 0.00015462205507248353_r8, 0.00015708187605204538_r8, & + 0.00015757883272662267_r8, 0.00015612030463349604_r8, & + 0.00015749633609446012_r8, 0.00016654302502261585_r8, & + 0.00018343448560826891_r8, 0.00020577865940079714_r8, & + 0.00022356716107731041_r8, 0.00023526143707649174_r8, & + 0.00024506022421571535_r8, 0.00025317510125136874_r8, & + 0.00026041670592674834_r8, 0.00026473341270698367_r8, & + 0.00026707749043009134_r8, 0.00026920689976691107_r8, & + 0.00027051079883655242_r8, 0.00027046457743330868_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,83) / & + 3.5409925598758637e-06_r8, 3.6827976041408132e-06_r8, & + 3.2473170476666153e-06_r8, 6.3298382946648516e-06_r8, & + 6.4487254556657098e-06_r8, 6.4555086111068603e-06_r8, & + 7.1240741264550774e-06_r8, 9.0047959687895121e-06_r8, & + 1.0145067114176979e-05_r8, 1.1475338981253089e-05_r8, & + 1.2609869124120576e-05_r8, 1.3697333503340513e-05_r8, & + 1.6630224218322743e-05_r8, 2.0354956023984243e-05_r8, & + 2.4513091946835817e-05_r8, 2.8043546400558563e-05_r8, & + 3.5845717438198822e-05_r8, 4.6287998033736471e-05_r8, & + 5.8497624722164773e-05_r8, 7.2598553947321104e-05_r8, & + 8.5962257108187091e-05_r8, 9.8872763690620343e-05_r8, & + 0.00011019399187728017_r8, 0.00012111791735693796_r8, & + 0.0001324957348222181_r8, 0.00013842203186468978_r8, & + 0.00014012076649866801_r8, 0.00013803119932082525_r8, & + 0.00013348832844177122_r8, 0.00013241478135261813_r8, & + 0.00013902115702784949_r8, 0.00015755571136825746_r8, & + 0.00018609543086676189_r8, 0.00021057013834120612_r8, & + 0.0002291340721919701_r8, 0.0002428623317972489_r8, & + 0.00025415298415730014_r8, 0.00026188424687985634_r8, & + 0.00026558285540356107_r8, 0.00026853419799128419_r8, & + 0.00026940988660533648_r8, 0.00027073664320926964_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,83) / & + 3.9284501639262368e-06_r8, 3.9858142608459535e-06_r8, & + 4.3536077199621378e-06_r8, 6.171593239619149e-06_r8, & + 6.2680431714166953e-06_r8, 6.3604178538620995e-06_r8, & + 6.450502259903598e-06_r8, 6.9147863441706609e-06_r8, & + 7.2484319764213556e-06_r8, 7.5852896651000949e-06_r8, & + 7.9584278754412926e-06_r8, 7.9192653527658696e-06_r8, & + 8.490960277685604e-06_r8, 1.0081724047940036e-05_r8, & + 1.21942775809326e-05_r8, 1.4257419339474963e-05_r8, & + 2.1008196034957533e-05_r8, 2.8514255745352438e-05_r8, & + 3.6789052908581002e-05_r8, 4.7574692193744653e-05_r8, & + 5.9672076442896623e-05_r8, 7.2496890377127718e-05_r8, & + 8.4591857780762453e-05_r8, 9.8751390154753384e-05_r8, & + 0.00011150575013678969_r8, 0.00012199713721287507_r8, & + 0.0001253932015661891_r8, 0.00012926525649916288_r8, & + 0.00012202488940191545_r8, 0.00011030669080610192_r8, & + 0.00010863842129273897_r8, 0.00011790721378163722_r8, & + 0.00013926249953726287_r8, 0.00017098528430011865_r8, & + 0.00020168743249681604_r8, 0.0002277828898913145_r8, & + 0.00024581287681176841_r8, 0.00025934951664477495_r8, & + 0.0002655127760608063_r8, 0.00026797156822290291_r8, & + 0.00026868136433224211_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,83) / & + 4.4079788222347531e-06_r8, 4.4096914755747432e-06_r8, & + 4.8013606826707448e-06_r8, 5.6489505260896728e-06_r8, & + 5.8047240938272239e-06_r8, 6.0230421896087662e-06_r8, & + 4.793424656363994e-06_r8, 5.6841041787242911e-06_r8, & + 5.9755212563399582e-06_r8, 6.1535313898619093e-06_r8, & + 6.3072186425721581e-06_r8, 6.2555716791450579e-06_r8, & + 6.3864559332627487e-06_r8, 7.1001251692671747e-06_r8, & + 7.9545443367129761e-06_r8, 9.6842796688901538e-06_r8, & + 1.5620118938373025e-05_r8, 2.3568663643101284e-05_r8, & + 3.0460577674144119e-05_r8, 3.9780736428915511e-05_r8, & + 5.1004315598457634e-05_r8, 6.4396835324375437e-05_r8, & + 7.8555796306615058e-05_r8, 9.312832362507618e-05_r8, & + 0.0001061859054646291_r8, 0.0001171641687966797_r8, & + 0.00012314796135799768_r8, 0.00012392775939169039_r8, & + 0.00011349944659714893_r8, 9.8705466228232844e-05_r8, & + 9.033002951850221e-05_r8, 9.2641529964389819e-05_r8, & + 0.00010261263936607656_r8, 0.00012716573503249049_r8, & + 0.00016094255281102378_r8, 0.00020342255639264848_r8, & + 0.00023458629960363236_r8, 0.00025773220414205172_r8, & + 0.00026467088891482315_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,83) / & + 3.7411264787022184e-06_r8, 3.7197584678952945e-06_r8, & + 3.9175312529373619e-06_r8, 4.8330447730429368e-06_r8, & + 4.950578566910369e-06_r8, 5.0294651721779779e-06_r8, & + 3.5369158032318509e-06_r8, 3.9599729695496175e-06_r8, & + 4.5661298037230248e-06_r8, 4.9704902473131752e-06_r8, & + 5.1188749816228055e-06_r8, 4.9585355826895549e-06_r8, & + 5.1859694177964637e-06_r8, 6.1224970012711419e-06_r8, & + 7.0545601636801494e-06_r8, 8.6840039315803287e-06_r8, & + 1.4088142118477131e-05_r8, 2.168669658195528e-05_r8, & + 3.0556792975548347e-05_r8, 4.1767921439521406e-05_r8, & + 5.5320390384901487e-05_r8, 7.1280311235420528e-05_r8, & + 8.6830212001809493e-05_r8, 0.00010081559341592648_r8, & + 0.00010995552473060161_r8, 0.00011643571220897794_r8, & + 0.00011839728970126914_r8, 0.00011043626699536425_r8, & + 9.8580350811309806e-05_r8, 8.6762909512609114e-05_r8, & + 7.8906769270459121e-05_r8, 7.7844409868301878e-05_r8, & + 8.1757192662404066e-05_r8, 9.4595387783352628e-05_r8, & + 0.0001214708793084782_r8, 0.0001600812829862245_r8, & + 0.00019132463230040408_r8, 0.00019154682316401445_r8, & + 0.00019978076400543868_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,83) / & + 3.1021775434090399e-06_r8, 3.1136812653845784e-06_r8, & + 3.0397864237093986e-06_r8, 2.966444902971311e-06_r8, & + 3.1185693855741692e-06_r8, 3.0635049857339673e-06_r8, & + 2.403557994515459e-06_r8, 3.1349590888389932e-06_r8, & + 3.3976513501507812e-06_r8, 3.986400195374068e-06_r8, & + 4.5485255544401097e-06_r8, 4.9921081219210274e-06_r8, & + 5.5897355423713769e-06_r8, 7.0230311355170716e-06_r8, & + 8.7376206347787884e-06_r8, 1.120410699584775e-05_r8, & + 1.8954056123383151e-05_r8, 2.9293072592413338e-05_r8, & + 4.2024731046335395e-05_r8, 5.7451800877669395e-05_r8, & + 7.5353996635013268e-05_r8, 9.3982767105583992e-05_r8, & + 0.00010762021474262637_r8, 0.00011642891155466894_r8, & + 0.00011821442159065548_r8, 0.00011601518705595836_r8, & + 0.00011046331663368473_r8, 9.0956984690470196e-05_r8, & + 7.8867533058576096e-05_r8, 7.4281893853737598e-05_r8, & + 7.3989456530630329e-05_r8, 7.7844715779795741e-05_r8, & + 8.1863554050827704e-05_r8, 9.0060070568632333e-05_r8, & + 0.00011283032744878689_r8, 0.0001527532344493238_r8, & + 0.00019223165930129805_r8, 0.00021896160381621981_r8, & + 0.00024419131059342895_r8, 0.00025649503473734216_r8, & + 0.00027012987026915619_r8, 0.00028511013478288308_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,83) / & + 2.5849255942462735e-06_r8, 2.6795179191460046e-06_r8, & + 2.5851159644114182e-06_r8, 1.5712264416799315e-06_r8, & + 1.7107654826657212e-06_r8, 1.9422259495066263e-06_r8, & + 1.6568728181530689e-06_r8, 2.3606883824112969e-06_r8, & + 2.997249912018119e-06_r8, 3.3438663400177269e-06_r8, & + 3.9916067364648965e-06_r8, 5.1464794723941285e-06_r8, & + 6.343852865372719e-06_r8, 8.5156740641575172e-06_r8, & + 1.2057836801786833e-05_r8, 1.5918741851343125e-05_r8, & + 2.7308487590554433e-05_r8, 4.2693984831665179e-05_r8, & + 6.0452885135823526e-05_r8, 8.0002527361932183e-05_r8, & + 9.7523281035003125e-05_r8, 0.00011160404212226912_r8, & + 0.00011428938179520133_r8, 0.00011201146221421403_r8, & + 0.00010398047193191675_r8, 9.3937131888713226e-05_r8, & + 8.4099825199809833e-05_r8, 6.6240693286247058e-05_r8, & + 6.4674847547885754e-05_r8, 6.9611347325612493e-05_r8, & + 7.616271199037602e-05_r8, 8.240325067394516e-05_r8, & + 8.7341969884252083e-05_r8, 9.401947991667111e-05_r8, & + 0.00011217113215891593_r8, 0.0001566645189490698_r8, & + 0.00021179361423066611_r8, 0.00025141992484813608_r8, & + 0.00029439915326783276_r8, 0.00030320116504069369_r8, & + 0.00030914135720131738_r8, 0.00031840873818540696_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,83) / & + 2.5380923944993264e-06_r8, 2.702897868528468e-06_r8, & + 3.0437385286455113e-06_r8, 2.3697530228516554e-06_r8, & + 2.4102624270455651e-06_r8, 3.0950074862025835e-06_r8, & + 2.7783432214819233e-06_r8, 3.6199213651508173e-06_r8, & + 3.7154106802788575e-06_r8, 4.278313817498748e-06_r8, & + 4.9529461811801531e-06_r8, 6.4182295394426708e-06_r8, & + 9.5922487275655509e-06_r8, 1.4534856145641881e-05_r8, & + 2.067982806150344e-05_r8, 2.7590042765540202e-05_r8, & + 4.4805203866771977e-05_r8, 6.325987420841578e-05_r8, & + 8.2283697056729921e-05_r8, 0.00010171684461642944_r8, & + 0.00011443887951005785_r8, 0.00012003279995599246_r8, & + 0.00011344350000795789_r8, 0.00010212188732031424_r8, & + 8.9810688672990917e-05_r8, 7.9369436084443043e-05_r8, & + 7.2706283037568173e-05_r8, 6.7192659702376226e-05_r8, & + 7.2740324067133329e-05_r8, 8.1905777936544063e-05_r8, & + 9.1344517755441343e-05_r8, 9.7694725543369813e-05_r8, & + 0.00010189107663801885_r8, 0.00010668347279495081_r8, & + 0.00012143468117539162_r8, 0.00016234792160748677_r8, & + 0.00022099257805518969_r8, 0.00026914389757191822_r8, & + 0.00031514047644453215_r8, 0.00034020030880312069_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,83) / & + 3.9802127651308023e-06_r8, 4.0417424960856085e-06_r8, & + 4.3856962591634793e-06_r8, 4.9943931768063167e-06_r8, & + 4.8723061784379415e-06_r8, 5.00934855716908e-06_r8, & + 4.5436879939914124e-06_r8, 5.0784396188487743e-06_r8, & + 5.6779901500770569e-06_r8, 7.2018716463948845e-06_r8, & + 8.6132120107854351e-06_r8, 1.1746215591313164e-05_r8, & + 1.8477659957197536e-05_r8, 2.7749994616376661e-05_r8, & + 3.7139855769192995e-05_r8, 4.6709420425821981e-05_r8, & + 6.5494980507244008e-05_r8, 8.0696487103931912e-05_r8, & + 9.5446877324356359e-05_r8, 0.00011002698200545024_r8, & + 0.00011761582969630511_r8, 0.0001204140073269542_r8, & + 0.00011304342252629123_r8, 0.00010236577793860099_r8, & + 9.0807990663848453e-05_r8, 8.0849110601044908e-05_r8, & + 7.475609427191879e-05_r8, 7.1176880660130416e-05_r8, & + 7.9604266498240487e-05_r8, 9.1941780549023778e-05_r8, & + 0.00010270744861154872_r8, 0.00010826774543634134_r8, & + 0.00011143269340279705_r8, 0.00011326270045724051_r8, & + 0.00012259355010875347_r8, 0.00015610752707633755_r8, & + 0.00021365804561924594_r8, 0.00028044086955819261_r8, & + 0.00033598566814726708_r8, 0.00036725763166089922_r8, & + 0.00037803669674444664_r8, 0.00038517050453699069_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,83) / & + 5.7969354864474948e-06_r8, 5.4563717169681886e-06_r8, & + 5.2869826250024262e-06_r8, 6.272418914718605e-06_r8, & + 6.4282276034418886e-06_r8, 6.080346876448212e-06_r8, & + 6.3649751989728716e-06_r8, 6.7616526978721007e-06_r8, & + 8.1651127585103491e-06_r8, 1.1771908989600015e-05_r8, & + 1.589141177954403e-05_r8, 2.0781288161080656e-05_r8, & + 3.2377563856804115e-05_r8, 4.2965665299274513e-05_r8, & + 5.2477261762572541e-05_r8, 6.1382033271268515e-05_r8, & + 7.6425913788533571e-05_r8, 8.8730501446831906e-05_r8, & + 0.00010302958329446692_r8, 0.00011625640750749494_r8, & + 0.0001250836458727618_r8, 0.00012621338117081534_r8, & + 0.00011749229556164122_r8, 0.00010572782498374221_r8, & + 9.329067426021916e-05_r8, 8.1488557560786796e-05_r8, & + 7.4816756155611524e-05_r8, 6.9939042577138344e-05_r8, & + 7.8864394179530267e-05_r8, 9.3301462149201117e-05_r8, & + 0.00010532290800961123_r8, 0.00011077019248983207_r8, & + 0.00011407723729790919_r8, 0.0001165145762308782_r8, & + 0.00012706642299659891_r8, 0.00016726037198852803_r8, & + 0.00023704065861994991_r8, 0.00031235877355307012_r8, & + 0.00036677934958787229_r8, 0.00039868170092528641_r8, & + 0.0004103539232986762_r8, 0.0004189105986382492_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,83) / & + 6.9750640925074076e-06_r8, 6.4059087870225664e-06_r8, & + 6.0660404411389283e-06_r8, 6.7278491569509489e-06_r8, & + 7.0431294480644512e-06_r8, 7.1472851306047555e-06_r8, & + 9.0685425352652605e-06_r8, 1.2116739355995058e-05_r8, & + 1.7919519964902971e-05_r8, 2.5118168356526757e-05_r8, & + 3.0852843631536993e-05_r8, 3.666434886665361e-05_r8, & + 4.6368326481099026e-05_r8, 5.3580620955295198e-05_r8, & + 6.0954921723822903e-05_r8, 6.8125377947734201e-05_r8, & + 8.3302377403459947e-05_r8, 9.6485401324941943e-05_r8, & + 0.00011102558426991584_r8, 0.00012357619562064522_r8, & + 0.00013062836044598955_r8, 0.00013077639833960746_r8, & + 0.00011739419026310667_r8, 0.00010432376880789099_r8, & + 9.2474874762662557e-05_r8, 8.0093001310979341e-05_r8, & + 7.3270810125683071e-05_r8, 7.0792180137037512e-05_r8, & + 8.1692196500511111e-05_r8, 9.7904182467867669e-05_r8, & + 0.0001116501278140619_r8, 0.00011936864488674879_r8, & + 0.00012255678458743428_r8, 0.00012369766486021444_r8, & + 0.0001294696538168822_r8, 0.00016140207907436389_r8, & + 0.00024581060888188177_r8, 0.00033442621103857905_r8, & + 0.00039902255652390749_r8, 0.00042730379473421434_r8, & + 0.00044288416495578557_r8, 0.00045186711577736502_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,83) / & + 7.1115060971214417e-06_r8, 6.6958359306796389e-06_r8, & + 6.6321665309814572e-06_r8, 7.1479771235949485e-06_r8, & + 7.5596069200265622e-06_r8, 8.2679057508060873e-06_r8, & + 1.187489681102684e-05_r8, 2.0228602209554125e-05_r8, & + 2.8141837192234087e-05_r8, 3.4070891105763828e-05_r8, & + 3.7845952828669658e-05_r8, 4.2107799386741096e-05_r8, & + 4.7200391540813913e-05_r8, 5.392495690060342e-05_r8, & + 6.2507720026301985e-05_r8, 7.1103855716761718e-05_r8, & + 8.939499582783212e-05_r8, 0.00010563983481008312_r8, & + 0.00012017527397379429_r8, 0.00013069833679481792_r8, & + 0.00013348408503822162_r8, 0.00013019115415905652_r8, & + 0.00011838538943638934_r8, 0.00010618888461953331_r8, & + 9.4638990965488064e-05_r8, 8.3829330914863301e-05_r8, & + 7.6333858417643584e-05_r8, 7.3201446838450646e-05_r8, & + 8.2301207688499181e-05_r8, 9.8593666190900496e-05_r8, & + 0.00011328034738552346_r8, 0.00012381219186483774_r8, & + 0.0001324998193245092_r8, 0.00013420897015501944_r8, & + 0.00013385980003336221_r8, 0.00014782844695359528_r8, & + 0.00022693467271082124_r8, 0.00036090108644099998_r8, & + 0.00042867622667993552_r8, 0.00046035819724261386_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,83) / & + 6.6933650347766633e-06_r8, 6.1458403556208688e-06_r8, & + 6.1917958372889608e-06_r8, 6.0498212700281524e-06_r8, & + 6.5375146297104575e-06_r8, 7.2955756159351992e-06_r8, & + 1.1685017675645602e-05_r8, 2.253000449918332e-05_r8, & + 2.9044205049050634e-05_r8, 3.4531372802121888e-05_r8, & + 3.7905036944155096e-05_r8, 4.0885790941553639e-05_r8, & + 4.6300885178910931e-05_r8, 5.4553543764771313e-05_r8, & + 6.4096099920817664e-05_r8, 7.4735127678531249e-05_r8, & + 9.3440610328791046e-05_r8, 0.00011019203650838338_r8, & + 0.00012414503585386785_r8, 0.00013234696102528356_r8, & + 0.00013416704947451133_r8, 0.00012976662453336959_r8, & + 0.00011674834533274221_r8, 0.00010621472470896848_r8, & + 9.5789529312552543e-05_r8, 8.7586246797197314e-05_r8, & + 8.1490294466632184e-05_r8, 7.809666179376865e-05_r8, & + 8.749465007786403e-05_r8, 0.00010407745223241471_r8, & + 0.00012010850396431721_r8, 0.00013325552932152122_r8, & + 0.000144135710516252_r8, 0.00015068588571477958_r8, & + 0.00015388433127158145_r8, 0.00015694819706400107_r8, & + 0.0002211255746135176_r8, 0.00038334716815951374_r8, & + 0.00045999083455898357_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,83) / & + 7.5845944755840645e-06_r8, 6.7907879906532963e-06_r8, & + 6.164122915417446e-06_r8, 5.3103244891723102e-06_r8, & + 6.3007874322873848e-06_r8, 7.7925896246700871e-06_r8, & + 1.6421668889066955e-05_r8, 2.7849698898894247e-05_r8, & + 3.5100936020830959e-05_r8, 4.2098717040767551e-05_r8, & + 4.6066084704503573e-05_r8, 5.0406255968863643e-05_r8, & + 5.6589809906509361e-05_r8, 6.3781779051093619e-05_r8, & + 7.1542516185082579e-05_r8, 8.0320888249493683e-05_r8, & + 9.735320572329219e-05_r8, 0.00011284348397117395_r8, & + 0.00012726636649326267_r8, 0.00013608573054246797_r8, & + 0.00013844334352680453_r8, 0.00013398224900833605_r8, & + 0.00012090871638591526_r8, 0.00011006063996242997_r8, & + 0.00010018196174509884_r8, 9.2928569090255486e-05_r8, & + 8.7734679428230335e-05_r8, 8.5860069265725921e-05_r8, & + 9.7189198170966108e-05_r8, 0.00011466669114787484_r8, & + 0.00013125239116646605_r8, 0.00014610003148627672_r8, & + 0.00015853938496102963_r8, 0.00016894862347717823_r8, & + 0.00017887727729557669_r8, 0.0001878628844778604_r8, & + 0.00019577251402888904_r8, 0.00020202955659325922_r8, & + 0.00021157160523151472_r8, 0.00021849234913549795_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,83) / & + 8.4315012389208029e-06_r8, 7.6244285861667244e-06_r8, & + 6.0168208780959589e-06_r8, 5.6261428985710889e-06_r8, & + 6.7286943839943677e-06_r8, 9.6184113971606329e-06_r8, & + 2.0303306481694995e-05_r8, 3.1095024708723064e-05_r8, & + 3.8383587453028335e-05_r8, 4.5591168324591513e-05_r8, & + 4.9909876364816056e-05_r8, 5.5239529515489416e-05_r8, & + 6.2066680293632013e-05_r8, 6.8566763028814402e-05_r8, & + 7.459268267301162e-05_r8, 8.1321853568068199e-05_r8, & + 9.491650215817127e-05_r8, 0.00011030059176925569_r8, & + 0.00012384401256976347_r8, 0.00013430489710828967_r8, & + 0.00013807791404472553_r8, 0.00013419995831943002_r8, & + 0.00012458833352108862_r8, 0.00011556049189375412_r8, & + 0.0001080230630146177_r8, 0.00010196222060163823_r8, & + 9.7663006380409943e-05_r8, 9.7507563317330377e-05_r8, & + 0.00010672208984681636_r8, 0.00012326600710601556_r8, & + 0.0001385225752708832_r8, 0.00015256322228439584_r8, & + 0.00016644187082061608_r8, 0.00017905334295281072_r8, & + 0.00019106871283144653_r8, 0.00020097064335306168_r8, & + 0.00021018864554711936_r8, 0.00021779965024653559_r8, & + 0.0002268904454201709_r8, 0.00023446353219243579_r8, & + 0.00024111646918449536_r8, 0.00024442055890562276_r8, & + 0.00024576995140374454_r8, 0.00024583659472811277_r8, & + 0.00024592283191211632_r8 & + / +data saar_ref(:,26,83) / & + 6.9832889855377108e-06_r8, 6.333816665696151e-06_r8, & + 4.254531554154207e-06_r8, 4.0887698534904257e-06_r8, & + 5.2553372441091964e-06_r8, 7.7369735959285953e-06_r8, & + 1.1931968346267632e-05_r8, 1.825403779359869e-05_r8, & + 2.5013244743052778e-05_r8, 3.1539433474744005e-05_r8, & + 3.6288097509510498e-05_r8, 4.1771978992436811e-05_r8, & + 5.0477090800895128e-05_r8, 5.7750548931490548e-05_r8, & + 6.4802403683447707e-05_r8, 7.2568857936172368e-05_r8, & + 8.6214215771478496e-05_r8, 0.00010086483915091244_r8, & + 0.00011340563615239721_r8, 0.00012363748669627086_r8, & + 0.00012821424863161207_r8, 0.00012563380701765455_r8, & + 0.00012140398746614403_r8, 0.00011770334389374074_r8, & + 0.00011406069417764821_r8, 0.00011087878341236804_r8, & + 0.00010858447202183476_r8, 0.00011098016063029751_r8, & + 0.00011887639873921258_r8, 0.00013491866173150879_r8, & + 0.00015113055797872773_r8, 0.00016676390887573257_r8, & + 0.00018084932888537845_r8, 0.0001952957813494009_r8, & + 0.00020828169112473201_r8, 0.00022034990250167097_r8, & + 0.00023070134879771278_r8, 0.00023983218894462678_r8, & + 0.00024719320323927972_r8, 0.00025224753595485378_r8, & + 0.00025581454784706393_r8, 0.00025815965506053489_r8, & + 0.00026060995960055589_r8, 0.00025982329952368137_r8, & + 0.00025983585203664814_r8 & + / +data saar_ref(:,27,83) / & + 6.4397948917701367e-06_r8, 6.3955313534298478e-06_r8, & + 4.7968962291373544e-06_r8, 4.4456384448814042e-06_r8, & + 4.6800805870096616e-06_r8, 5.840967725289876e-06_r8, & + 6.9328387551832708e-06_r8, 8.5812274627733936e-06_r8, & + 1.0387623820540408e-05_r8, 1.4269116986724678e-05_r8, & + 1.7632372578870709e-05_r8, 2.2110878192357125e-05_r8, & + 3.0035818980723065e-05_r8, 3.7468934200338894e-05_r8, & + 4.3678866261795299e-05_r8, 5.1608142185423969e-05_r8, & + 6.8728142539351982e-05_r8, 8.7998744019763246e-05_r8, & + 0.00010462583114465991_r8, 0.00011653490694285867_r8, & + 0.00012108836078689426_r8, 0.00012159678562372495_r8, & + 0.00011907908537943555_r8, 0.000116187398280834_r8, & + 0.00011464175169919774_r8, 0.00011404673606705751_r8, & + 0.00011458027511096522_r8, 0.00012110995075000778_r8, & + 0.00013059652901565745_r8, 0.00014720299539541001_r8, & + 0.00016452893049648216_r8, 0.00018264261956297469_r8, & + 0.00019918760238192505_r8, 0.00021565527196165519_r8, & + 0.00022860990365629409_r8, 0.00024038201891513552_r8, & + 0.00024840782035875708_r8, 0.000254608055706009_r8, & + 0.00025998929420903443_r8, 0.00026457280913859106_r8, & + 0.0002687505286309932_r8, 0.0002672359589444211_r8, & + 0.00027096070934304052_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,83) / & + 7.0265384627519386e-06_r8, 7.5795709543371044e-06_r8, & + 6.9149688240679721e-06_r8, 7.0205784437357506e-06_r8, & + 6.1502564889741903e-06_r8, 6.4896053978734795e-06_r8, & + 7.3299801432973659e-06_r8, 7.8744529339458148e-06_r8, & + 7.1620332583384519e-06_r8, 8.1667548006028925e-06_r8, & + 9.8451360580447557e-06_r8, 1.2023148090981948e-05_r8, & + 1.6187493075643601e-05_r8, 2.0932129997259524e-05_r8, & + 2.5474667685468648e-05_r8, 3.0300303178848351e-05_r8, & + 4.4208832245382846e-05_r8, 6.4549717212846819e-05_r8, & + 8.6186164822185134e-05_r8, 0.00010414957798903694_r8, & + 0.0001135269795257826_r8, 0.00011989542297302414_r8, & + 0.00011927344413468585_r8, 0.00011727949755385727_r8, & + 0.0001165500785095631_r8, 0.00011648008947651396_r8, & + 0.00011789570297894508_r8, 0.00012753715772716902_r8, & + 0.00013967226725237941_r8, 0.00015838034704317405_r8, & + 0.00017609834523467941_r8, 0.00019633407116953396_r8, & + 0.00021453662500781488_r8, 0.00023053013728258474_r8, & + 0.00024354014830818679_r8, 0.00025341273844252041_r8, & + 0.00026094263857877602_r8, 0.00026561105503816176_r8, & + 0.00026928967380928346_r8, 0.00027216828910836039_r8, & + 0.00027468984475589777_r8, 0.00027557072381290034_r8, & + 0.00027621208940756156_r8, 0.00027770786022411842_r8, & + 0.00027826814145841191_r8 & + / +data saar_ref(:,29,83) / & + 7.3405360485321397e-06_r8, 7.9180511453529533e-06_r8, & + 7.8400280454752654e-06_r8, 6.867083942489349e-06_r8, & + 6.6421702652145422e-06_r8, 6.9400375762252095e-06_r8, & + 7.3777039914009433e-06_r8, 8.0823054574927397e-06_r8, & + 7.6308404207939599e-06_r8, 7.9482621227807774e-06_r8, & + 8.526790872908388e-06_r8, 1.0276582483978432e-05_r8, & + 1.3831614369092453e-05_r8, 1.7383558289800477e-05_r8, & + 2.1340366428717344e-05_r8, 2.5262661473436067e-05_r8, & + 3.3299285748404621e-05_r8, 4.6285077086070784e-05_r8, & + 6.4438721638349184e-05_r8, 8.4032771027261905e-05_r8, & + 9.8105373216780746e-05_r8, 0.00010643684841529168_r8, & + 0.00010828863132421918_r8, 0.00010878312846009966_r8, & + 0.00010928607871115781_r8, 0.00010985216343317891_r8, & + 0.00011303556356545981_r8, 0.00012364633215844196_r8, & + 0.00013780146823194576_r8, 0.00015785528276361405_r8, & + 0.00017865815636196409_r8, 0.00020210410676185672_r8, & + 0.00022236969370288708_r8, 0.00023694145970331652_r8, & + 0.00024962715708155245_r8, 0.00025978517831847853_r8, & + 0.00026825618022215873_r8, 0.00027402177405175715_r8, & + 0.00027867416581505382_r8, 0.0002843283999378987_r8, & + 0.00028714356105408558_r8, 0.00028865876189510643_r8, & + 0.00028933719167334535_r8, 0.00029077360735021214_r8, & + 0.00029128232175228494_r8 & + / +data saar_ref(:,30,83) / & + 7.7681389208392173e-06_r8, 7.8978007565942798e-06_r8, & + 7.7109541427423552e-06_r8, 6.555869002503242e-06_r8, & + 7.0045102862568236e-06_r8, 7.2950704698611972e-06_r8, & + 6.9635955175455598e-06_r8, 8.4331633058714489e-06_r8, & + 8.5901475569366934e-06_r8, 9.2475996725772418e-06_r8, & + 1.0149689608649414e-05_r8, 1.1964235530380775e-05_r8, & + 1.4732976058733028e-05_r8, 1.7358857405820973e-05_r8, & + 2.1122437695589234e-05_r8, 2.4917066028298618e-05_r8, & + 3.1528800788475298e-05_r8, 3.9488138414697691e-05_r8, & + 5.3450550917850231e-05_r8, 6.7540620492128876e-05_r8, & + 8.0032656097859441e-05_r8, 8.6753393376411538e-05_r8, & + 8.6046278611394246e-05_r8, 9.1597529494769859e-05_r8, & + 9.337769961040445e-05_r8, 9.5055409451471809e-05_r8, & + 9.8618338327431903e-05_r8, 0.00010742514632436073_r8, & + 0.00012096545022895044_r8, 0.00014435241613483407_r8, & + 0.00016888612224257187_r8, 0.00019470709004323856_r8, & + 0.00021465355425925612_r8, 0.00023309412504143349_r8, & + 0.00024612204592608605_r8, 0.00025928095452321435_r8, & + 0.00027103613970258858_r8, 0.00028009488294687343_r8, & + 0.00028675796474416591_r8, 0.00029660753513468678_r8, & + 0.00029954084430556789_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,83) / & + 9.0864830570961467e-06_r8, 8.7450312836159465e-06_r8, & + 7.4397950941617398e-06_r8, 7.5445889025069961e-06_r8, & + 8.6769700751715073e-06_r8, 8.9493630595135647e-06_r8, & + 8.6214902412209833e-06_r8, 1.0427315258868726e-05_r8, & + 1.1534642485630627e-05_r8, 1.2693824998474123e-05_r8, & + 1.4176272031916053e-05_r8, 1.5717361002866861e-05_r8, & + 1.8371829501610985e-05_r8, 2.1710178354682979e-05_r8, & + 2.5564062964739055e-05_r8, 2.9457807400438245e-05_r8, & + 3.6577097780819925e-05_r8, 4.4132677906372764e-05_r8, & + 5.5418292434696173e-05_r8, 6.5136909057818951e-05_r8, & + 7.2728576307249114e-05_r8, 7.5291457593090015e-05_r8, & + 7.6829750743661294e-05_r8, 8.1076700430665936e-05_r8, & + 8.2938185814529519e-05_r8, 8.4862443714221522e-05_r8, & + 8.7799233102526462e-05_r8, 9.4288952391853061e-05_r8, & + 0.00010559545676471808_r8, 0.00012486161369164577_r8, & + 0.00015133716939156735_r8, 0.00017696985295372977_r8, & + 0.00019700102380244516_r8, 0.00022405206720781218_r8, & + 0.0002442126357600923_r8, 0.00026291656840888195_r8, & + 0.00027819796152217015_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,83) / & + 1.0846565235899792e-05_r8, 1.077853148941437e-05_r8, & + 9.2670960971466446e-06_r8, 8.3487285456123988e-06_r8, & + 9.5204312176670329e-06_r8, 1.0057480242570558e-05_r8, & + 1.1867093729357438e-05_r8, 1.4294669117114278e-05_r8, & + 1.5518961203644097e-05_r8, 1.6604155305082636e-05_r8, & + 1.7907912188526737e-05_r8, 1.971001037613669e-05_r8, & + 2.2962325183862454e-05_r8, 2.6054470872408659e-05_r8, & + 2.9140060820208925e-05_r8, 3.2635717732235625e-05_r8, & + 4.0478115556479351e-05_r8, 5.0437283363768368e-05_r8, & + 6.1522906591267767e-05_r8, 7.0566111347348566e-05_r8, & + 7.6103342048435148e-05_r8, 7.8860711815480406e-05_r8, & + 8.0461637230219073e-05_r8, 8.1601694970017278e-05_r8, & + 8.2740849127109457e-05_r8, 8.3972094983561667e-05_r8, & + 8.5638860580107673e-05_r8, 8.9463979110182424e-05_r8, & + 0.00010030610007536673_r8, 0.00011707753246788347_r8, & + 0.00013598176363324217_r8, 0.00015486704690623578_r8, & + 0.00017147770472884354_r8, 0.00014746671335948326_r8, & + 0.00015974145467137482_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,83) / & + 1.0728664560450867e-05_r8, 1.1199294656082436e-05_r8, & + 1.1348117580176293e-05_r8, 1.1593511520960076e-05_r8, & + 1.2603366364548683e-05_r8, 1.3866013359086199e-05_r8, & + 1.6068545947026817e-05_r8, 1.832435795874036e-05_r8, & + 1.9422739348741404e-05_r8, 2.0729485643861088e-05_r8, & + 2.1922839105332971e-05_r8, 2.3209552000191061e-05_r8, & + 2.5797086047583071e-05_r8, 2.8348121112930703e-05_r8, & + 3.1416582129714271e-05_r8, 3.5033615269058346e-05_r8, & + 4.5691291037600907e-05_r8, 5.9958172392664404e-05_r8, & + 7.3500541666736947e-05_r8, 8.091172610608628e-05_r8, & + 8.4574917948340624e-05_r8, 8.5125088764297164e-05_r8, & + 8.4956683339897421e-05_r8, 8.493061359701936e-05_r8, & + 8.5215754180730755e-05_r8, 8.5930263445803108e-05_r8, & + 8.6409163261961939e-05_r8, 8.9075661960019863e-05_r8, & + 9.4010830114583453e-05_r8, 0.00010111920514177219_r8, & + 0.00011103485781642841_r8, 0.00011959205389110419_r8, & + 0.00012831315274218429_r8, 0.0001367153896259081_r8, & + 0.00014745941990444643_r8, 0.00016079182403571038_r8, & + 0.00017833853018943947_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,83) / & + 1.0366612470971497e-05_r8, 1.1400619278801942e-05_r8, & + 1.1921753163459972e-05_r8, 1.7144992333016557e-05_r8, & + 1.8015546179133807e-05_r8, 1.9729939588917172e-05_r8, & + 2.0668229494310927e-05_r8, 2.4360352356773893e-05_r8, & + 2.656980360549211e-05_r8, 2.8422504252212573e-05_r8, & + 3.0124331334755254e-05_r8, 3.1601416395116444e-05_r8, & + 3.4629397121920868e-05_r8, 3.8275340599701799e-05_r8, & + 4.2298463064989599e-05_r8, 4.740362053417717e-05_r8, & + 6.1816174091103803e-05_r8, 7.6212890793449741e-05_r8, & + 8.5363805075599735e-05_r8, 8.8083334938787741e-05_r8, & + 8.8311058857349836e-05_r8, 8.725646900732929e-05_r8, & + 8.6447187928868018e-05_r8, 8.5734527419868646e-05_r8, & + 8.5567401185140612e-05_r8, 8.5632999746319512e-05_r8, & + 8.5729361221495117e-05_r8, 8.673229349253592e-05_r8, & + 8.9364204568933591e-05_r8, 9.6506648760612357e-05_r8, & + 0.00010520981181055041_r8, 0.00011439957368532796_r8, & + 0.00012269984864100741_r8, 0.00013132152273782077_r8, & + 0.00013978716983150679_r8, 0.0001437201760748597_r8, & + 0.00014688018854900573_r8, 0.000142048748709951_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,83) / & + 1.3617412676669464e-05_r8, 1.521516034999201e-05_r8, & + 1.5280112729223382e-05_r8, 2.5114454961380155e-05_r8, & + 2.6859229746079527e-05_r8, 2.9497636562557422e-05_r8, & + 3.2691673213923995e-05_r8, 3.8539701068259054e-05_r8, & + 4.3308665535004439e-05_r8, 4.7053583354618088e-05_r8, & + 4.9917701969667198e-05_r8, 5.14983577150233e-05_r8, & + 5.4903259901908174e-05_r8, 6.006350636502e-05_r8, & + 6.5639392645843302e-05_r8, 7.0899235034067106e-05_r8, & + 8.0738169085202408e-05_r8, 8.68342733116504e-05_r8, & + 8.8685802679395928e-05_r8, 8.8425219848999785e-05_r8, & + 8.7832342982784489e-05_r8, 8.7005143146117936e-05_r8, & + 8.6707925530787124e-05_r8, 8.6576268113588479e-05_r8, & + 8.6728024641329193e-05_r8, 8.6943872659699898e-05_r8, & + 8.7217147815811175e-05_r8, 8.8849312995530335e-05_r8, & + 9.2602616663993624e-05_r8, 9.9160949782849543e-05_r8, & + 0.00010709095612046051_r8, 0.00011631510132180538_r8, & + 0.0001272007217648322_r8, 0.00013731890435058592_r8, & + 0.00014388143885868867_r8, 0.0001444504078906225_r8, & + 0.00014813365098802702_r8, 0.00014655728142376926_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,83) / & + 2.172014864345506e-05_r8, 2.3332105388890834e-05_r8, & + 2.1032552857589795e-05_r8, 3.3013090059997305e-05_r8, & + 3.6574010680345205e-05_r8, 4.1670467178764403e-05_r8, & + 5.0156707944724021e-05_r8, 5.8512305201218178e-05_r8, & + 6.3093887725552397e-05_r8, 6.6385540603682082e-05_r8, & + 6.8551108502108138e-05_r8, 6.9502520914129756e-05_r8, & + 7.1138030493258467e-05_r8, 7.4303452479634961e-05_r8, & + 7.6688630714044246e-05_r8, 7.9117091763482224e-05_r8, & + 8.3701584102444571e-05_r8, 8.5669504678475425e-05_r8, & + 8.6111516578120709e-05_r8, 8.509579114050727e-05_r8, & + 8.4698846115518017e-05_r8, 8.4503266926994831e-05_r8, & + 8.5739833312405625e-05_r8, 8.6494250315270087e-05_r8, & + 8.7661553749932261e-05_r8, 8.9025556706221306e-05_r8, & + 9.0767166739317171e-05_r8, 9.5247918188646837e-05_r8, & + 0.00010059385432372226_r8, 0.00010811589295189193_r8, & + 0.00011933587376485338_r8, 0.00013005655320144212_r8, & + 0.0001390351014010485_r8, 0.00015082963587782086_r8, & + 0.00014911816348084459_r8, 0.00015063129938103488_r8, & + 0.0001720307130048229_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,83) / & + 3.3878283542179078e-05_r8, 3.4148858583981911e-05_r8, & + 2.9542328732343243e-05_r8, 3.8911473601162438e-05_r8, & + 4.3898138386656307e-05_r8, 4.9087996361283253e-05_r8, & + 5.7712544551207714e-05_r8, 6.1765869673180126e-05_r8, & + 6.3785573544414409e-05_r8, 6.5535640388823853e-05_r8, & + 6.668861149778578e-05_r8, 6.7802437008488003e-05_r8, & + 6.8819473521957423e-05_r8, 7.0065828083964519e-05_r8, & + 7.1608796830328875e-05_r8, 7.3007107824797065e-05_r8, & + 7.7743138353769241e-05_r8, 8.1391612654753e-05_r8, & + 8.3648980128919536e-05_r8, 8.4221472644855009e-05_r8, & + 8.4165913060701622e-05_r8, 8.4128813946090071e-05_r8, & + 8.5614704889600584e-05_r8, 8.6872953130242081e-05_r8, & + 8.7938994302008509e-05_r8, 8.7867330527063555e-05_r8, & + 8.9408412736695172e-05_r8, 9.4576548010979542e-05_r8, & + 9.984759379279264e-05_r8, 0.00010630297241985253_r8, & + 0.00012138952023687414_r8, 0.00013543600825682652_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,83) / & + 4.7020729539986595e-05_r8, 4.5917608121184357e-05_r8, & + 4.1779463275379492e-05_r8, 4.0929562149349877e-05_r8, & + 4.6612498772639469e-05_r8, 4.9862476924737399e-05_r8, & + 5.6696237245274648e-05_r8, 6.1056593066063686e-05_r8, & + 6.3446904577678322e-05_r8, 6.5227615856396876e-05_r8, & + 6.6508958373995582e-05_r8, 6.8948242141089871e-05_r8, & + 7.1500200202080449e-05_r8, 7.225298424996007e-05_r8, & + 7.3298624622637821e-05_r8, 7.4218235479874058e-05_r8, & + 7.7023266099704714e-05_r8, 8.0199938767589973e-05_r8, & + 8.2643972830014992e-05_r8, 8.4650927379316201e-05_r8, & + 8.6626495715848951e-05_r8, 8.7747160344893652e-05_r8, & + 8.9281236318392631e-05_r8, 9.0378171234178971e-05_r8, & + 9.1669914370870977e-05_r8, 9.0710145898339665e-05_r8, & + 9.1735331954720427e-05_r8, 9.5472131494427201e-05_r8, & + 9.9973012279190048e-05_r8, 0.00010229319302842542_r8, & + 0.00010393036362695895_r8, 0.00010614347732822004_r8, & + 0.00010527609115797471_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,83) / & + 4.8899964417997611e-05_r8, 4.8936743471160077e-05_r8, & + 4.4518561255572098e-05_r8, 4.0899429985593893e-05_r8, & + 4.297064467668411e-05_r8, 4.9233415314753523e-05_r8, & + 5.7124358395051948e-05_r8, 6.3099430692271764e-05_r8, & + 6.5769384742834814e-05_r8, 6.7433928280025929e-05_r8, & + 6.8498975104383313e-05_r8, 7.1094165074027873e-05_r8, & + 7.3453260536924232e-05_r8, 7.349333408043932e-05_r8, & + 7.4324762975048933e-05_r8, 7.4852646730108941e-05_r8, & + 7.7612623299976277e-05_r8, 8.0531240652969441e-05_r8, & + 8.3118821576742577e-05_r8, 8.5248998935555986e-05_r8, & + 8.8027137981337933e-05_r8, 8.9287796002394181e-05_r8, & + 9.0131778477009169e-05_r8, 9.1128372418900256e-05_r8, & + 9.3385392045331381e-05_r8, 9.5416204093255882e-05_r8, & + 9.6779845162167251e-05_r8, 9.9626745199694119e-05_r8, & + 0.00010396814253003024_r8, 0.00010655916757497718_r8, & + 0.00010682235570713568_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,83) / & + 4.4605223062604138e-05_r8, 4.7873494265319767e-05_r8, & + 4.3866639282209156e-05_r8, 4.5191532724316708e-05_r8, & + 4.5958837147423793e-05_r8, 5.4852296943076535e-05_r8, & + 6.4209801862183499e-05_r8, 6.7131432869112304e-05_r8, & + 6.84212286378001e-05_r8, 6.9170826731067181e-05_r8, & + 7.1404732154889568e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,83) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,83) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,83) / & + 0.00011173390856094854_r8, 0.00011201296689427371_r8, & + 0.00010856642712932326_r8, 0.00012977963087484689_r8, & + 0.00013028946909844646_r8, 0.00012721847272067002_r8, & + 0.00012548399319201105_r8, 0.00013237101382675216_r8, & + 0.00011239392567528371_r8, 0.00010011663023151262_r8, & + 9.6156883358604125e-05_r8, 8.795003481338973e-05_r8, & + 7.8672663091211193e-05_r8, 8.0243933408303582e-05_r8, & + 7.4280845561154583e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,44,83) / & + 0.00010945671621321806_r8, 0.00011546196787018302_r8, & + 0.00011118729476281334_r8, 0.00012743768477153442_r8, & + 0.00013257737375679175_r8, 0.00013064196998842506_r8, & + 0.0001262659182702045_r8, 0.0001244818253130022_r8, & + 0.00010365782218741041_r8, 9.2368981300918393e-05_r8, & + 8.9809404109943364e-05_r8, 8.53439479679648e-05_r8, & + 7.9577570781311579e-05_r8, 8.0757731313036454e-05_r8, & + 7.4914437618921211e-05_r8, 7.6977041823879272e-05_r8, & + 7.0134237993332185e-05_r8, 7.5245654211552406e-05_r8, & + 7.7413299489665583e-05_r8, 8.3017708633973232e-05_r8, & + 8.7190204444557092e-05_r8, 8.7698807237442241e-05_r8, & + 9.3873060834487947e-05_r8, 9.6598633859320038e-05_r8, & + 9.691289590718352e-05_r8, 9.9696875816350123e-05_r8, & + 0.00010401147956372847_r8, 0.00011265426173053835_r8, & + 0.00011473658346444643_r8, 0.00011698760846839225_r8, & + 0.00011745443099121717_r8, 0.00011830489740350365_r8, & + 0.00011950446713516284_r8, 0.00011989208586058132_r8, & + 0.00012021673055038425_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,83) / & + 9.7142588220404649e-05_r8, 0.00011380178191179366_r8, & + 0.00011125615067203416_r8, 0.00011987547159146256_r8, & + 0.00013268973526343978_r8, 0.00013568641724952412_r8, & + 0.00012374981099676222_r8, 0.0001007349962662934_r8, & + 7.9865091676334e-05_r8, 7.5564197295324714e-05_r8, & + 7.507369628478908e-05_r8, 7.4139583229295387e-05_r8, & + 7.1989595889346321e-05_r8, 7.2978913457222682e-05_r8, & + 7.2227368160332608e-05_r8, 7.3761820415221491e-05_r8, & + 7.2151397459215057e-05_r8, 7.3914940700049863e-05_r8, & + 7.6340473487651069e-05_r8, 7.9737791868095658e-05_r8, & + 8.3925255786278233e-05_r8, 8.6615907249460206e-05_r8, & + 9.1192145470456472e-05_r8, 9.5560338044141914e-05_r8, & + 9.9812903898456612e-05_r8, 0.0001038971423808341_r8, & + 0.00010978581987501702_r8, 0.00011820076903749498_r8, & + 0.0001188477668377036_r8, 0.00011903918205599437_r8, & + 0.00011973026346652433_r8, 0.00012041642290054811_r8, & + 0.00012112433877658335_r8, 0.00012119846742222064_r8, & + 0.00012167842717680792_r8, 0.00012177699427540322_r8, & + 0.00012430856806226279_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,84) / & + 0.00012955897071068552_r8, 0.00012931005691898582_r8, & + 0.00013220803509226924_r8, 0.00013798675862793482_r8, & + 0.00014195052456148692_r8, 0.00014325258338531872_r8, & + 0.00014911040358244176_r8, 0.00015193673717187116_r8, & + 0.00015310821486767441_r8, 0.00015587013275388602_r8, & + 0.00015761072356042902_r8, 0.00015864859459593117_r8, & + 0.00015886000577614015_r8, 0.00016040086401024594_r8, & + 0.00016458435700425608_r8, 0.00017437897966413916_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,84) / & + 0.00012955897071068552_r8, 0.00012931005691898582_r8, & + 0.00013220803509226924_r8, 0.00013798675862793482_r8, & + 0.00014195052456148692_r8, 0.00014325258338531872_r8, & + 0.00014911040358244176_r8, 0.00015193673717187116_r8, & + 0.00015310821486767441_r8, 0.00015587013275388602_r8, & + 0.00015761072356042902_r8, 0.00015864859459593117_r8, & + 0.00015886000577614015_r8, 0.00016040086401024594_r8, & + 0.00016458435700425608_r8, 0.00017437897966413916_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,84) / & + 0.00012955897071068552_r8, 0.00012931005691898582_r8, & + 0.00013220803509226924_r8, 0.00013798675862793482_r8, & + 0.00014195052456148692_r8, 0.00014325258338531872_r8, & + 0.00014911040358244176_r8, 0.00015193673717187116_r8, & + 0.00015310821486767441_r8, 0.00015587013275388602_r8, & + 0.00015761072356042902_r8, 0.00015864859459593117_r8, & + 0.00015886000577614015_r8, 0.00016040086401024594_r8, & + 0.00016458435700425608_r8, 0.00017437897966413916_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,84) / & + 0.00013204048367802964_r8, 0.00013292444974037144_r8, & + 0.00013662566690363664_r8, 0.0001428924015065803_r8, & + 0.000144913181479712_r8, 0.000145151891151886_r8, & + 0.00014984960924213509_r8, 0.00015505261985703184_r8, & + 0.00015724023289933275_r8, 0.00016216724141308522_r8, & + 0.00016506318795982816_r8, 0.00016747409630741325_r8, & + 0.00017129347063145236_r8, 0.00017405941797503391_r8, & + 0.00017877108473288847_r8, 0.00019340221717917979_r8, & + 0.00022082496312147252_r8, 0.00022535758015606146_r8, & + 0.00022774070241666537_r8, 0.0002307721471359576_r8, & + 0.00023713499454137366_r8, 0.00024524251655300226_r8, & + 0.00024816957177427931_r8, 0.00025134645581504955_r8, & + 0.00025477353729637647_r8, 0.00025660138175856234_r8, & + 0.00025769943158458086_r8, 0.00025856435497987023_r8, & + 0.00025889151523249477_r8, 0.00025939226380528339_r8, & + 0.00025830521388228733_r8, 0.00025852612237383521_r8, & + 0.00025497515004135077_r8, 0.00025217977041980158_r8, & + 0.00025140125984467957_r8, 0.00025063188322665015_r8, & + 0.00026149144591843139_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,84) / & + 0.00014724115222827889_r8, 0.00014936064935079966_r8, & + 0.00015024312213355511_r8, 0.00015224389281909325_r8, & + 0.00014902396962187883_r8, 0.00015328121057867346_r8, & + 0.00016457084194982142_r8, 0.00017349680170849043_r8, & + 0.00017954197960683212_r8, 0.00018893274446624887_r8, & + 0.0001956543170145507_r8, 0.00020314611111466345_r8, & + 0.00021332086909287037_r8, 0.0002193780547739986_r8, & + 0.00022365070034576761_r8, 0.00022864642891011404_r8, & + 0.00023819288080464902_r8, 0.00024264308309788506_r8, & + 0.00024650328604306605_r8, 0.00024912597738811933_r8, & + 0.00025156356547169958_r8, 0.00025645293825713811_r8, & + 0.00025717985810786196_r8, 0.00025819606436116899_r8, & + 0.00025940689261936574_r8, 0.00025990862697308954_r8, & + 0.00026016058924829735_r8, 0.00026042323962247803_r8, & + 0.00026072392269561959_r8, 0.00026074377597499327_r8, & + 0.00026075957538468044_r8, 0.0002607323600642034_r8, & + 0.00025398063012776394_r8, 0.00025202091151860771_r8, & + 0.00025281902154298858_r8, 0.0002542236977011579_r8, & + 0.00026245152342565083_r8, 0.00026669183474020605_r8, & + 0.00026261838294625077_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,84) / & + 0.00015102634983450513_r8, 0.00015189892819625212_r8, & + 0.00015142121954976002_r8, 0.00015478875223901738_r8, & + 0.00015360911850463723_r8, 0.00015739159275524324_r8, & + 0.00016575756746780868_r8, 0.00017634561476920742_r8, & + 0.00018337968023331372_r8, 0.00019757921676631876_r8, & + 0.00020868256029313469_r8, 0.00022087531410784931_r8, & + 0.00023356581956182217_r8, 0.00023908882071021033_r8, & + 0.00024210086919120263_r8, 0.00024514589014528479_r8, & + 0.00025249491150339075_r8, 0.00025539749461559_r8, & + 0.00025807090426475368_r8, 0.00026029293931596683_r8, & + 0.00026162647172345223_r8, 0.0002635925305515576_r8, & + 0.00026375248617857252_r8, 0.00026388472402138189_r8, & + 0.00026402288377474088_r8, 0.00026400698864252435_r8, & + 0.00026411925771156904_r8, 0.00026385487267104285_r8, & + 0.00026342970252378033_r8, 0.00026333594065293956_r8, & + 0.0002633487634898479_r8, 0.00026230171712299835_r8, & + 0.00025963282877008271_r8, 0.0002589129139820054_r8, & + 0.00025779144181478175_r8, 0.00025771629567151669_r8, & + 0.0002563077843059141_r8, 0.00025423536515171844_r8, & + 0.00025223339016554731_r8, 0.00025027955804236265_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,84) / & + 0.0001234555961304873_r8, 0.00012479309827205986_r8, & + 0.0001265182882397105_r8, 0.00013494728053104802_r8, & + 0.00013777853108270892_r8, 0.00014559291266829193_r8, & + 0.00015654470148348672_r8, 0.00017135159632405598_r8, & + 0.00017676566614192499_r8, 0.00018737898188785247_r8, & + 0.00019984942876749361_r8, 0.00021345217920720053_r8, & + 0.00022534994798328729_r8, 0.00022965185305025819_r8, & + 0.00023294095896041699_r8, 0.00023530575194098712_r8, & + 0.00024181071332856212_r8, 0.00024372348938171635_r8, & + 0.00024564402606166503_r8, 0.00024824028168757078_r8, & + 0.00025043725639185707_r8, 0.00025269352368249013_r8, & + 0.00025360934975550219_r8, 0.00025470677390289034_r8, & + 0.0002558155900605003_r8, 0.00025687592703692254_r8, & + 0.000257739784614117_r8, 0.00025859301104805282_r8, & + 0.00025898642930074616_r8, 0.00025922263977967057_r8, & + 0.00025898041726931206_r8, 0.00025748253687168357_r8, & + 0.00025558866598548389_r8, 0.00025362212039461057_r8, & + 0.00025109115002640514_r8, 0.0002467465992780477_r8, & + 0.00024344289823810604_r8, 0.00024227336069262192_r8, & + 0.00024351971765535643_r8, 0.00024505754986566827_r8, & + 0.00024516833498960982_r8, 0.00024409969188225961_r8, & + 0.00024998044061600735_r8, 0.00024975902825056156_r8, 9e90_r8 & + / +data saar_ref(:,8,84) / & + 7.5372881692946025e-05_r8, 7.6555760466361691e-05_r8, & + 7.6164394415157799e-05_r8, 9.1213575372879355e-05_r8, & + 9.4638857885588507e-05_r8, 9.8355934821279389e-05_r8, & + 0.00011974380629493968_r8, 0.00014540236704277444_r8, & + 0.0001589639290519846_r8, 0.00017002139264869773_r8, & + 0.00017883123302186632_r8, 0.00018877610425090357_r8, & + 0.00020024009150215695_r8, 0.00020847222172289256_r8, & + 0.00021562627996546798_r8, 0.00021945219344895732_r8, & + 0.00022465368636335743_r8, 0.00022673772522569704_r8, & + 0.00023014184258655164_r8, 0.00023346046471889537_r8, & + 0.00023615755220985938_r8, 0.00024002522109966746_r8, & + 0.00024119593654501738_r8, 0.00024411145017437104_r8, & + 0.00024686219997790564_r8, 0.00024904617786528701_r8, & + 0.00025071480528606892_r8, 0.00025369063650797864_r8, & + 0.0002552822534414472_r8, 0.00025684395020550139_r8, & + 0.00025777549951865768_r8, 0.00025827300003662906_r8, & + 0.00025733549609044967_r8, 0.00025424738299089619_r8, & + 0.00025276970563124551_r8, 0.00025483348893027159_r8, & + 0.00025240026032483727_r8, 0.00025501751569090704_r8, & + 0.00025355727939310605_r8, 0.00024741533610632887_r8, & + 0.00024925978238866166_r8, 0.00024873717620050711_r8, & + 0.00024641144782481806_r8, 0.00024088628136603206_r8, & + 0.00023869519290718738_r8 & + / +data saar_ref(:,9,84) / & + 3.6644698528732812e-05_r8, 3.6745749203685163e-05_r8, & + 3.3709666503230758e-05_r8, 4.7355500785380744e-05_r8, & + 4.9087713777855316e-05_r8, 5.2108111187808719e-05_r8, & + 6.4825427355628401e-05_r8, 8.9683690783738562e-05_r8, & + 0.00010863940173430048_r8, 0.00012599649650638052_r8, & + 0.00013984064241177551_r8, 0.00015229089755428314_r8, & + 0.00016596080953562963_r8, 0.00017677063531554169_r8, & + 0.00018372338335847878_r8, 0.00018937470492550387_r8, & + 0.00019809109056519115_r8, 0.00020291834343571632_r8, & + 0.00020709068346920137_r8, 0.00021158572735818662_r8, & + 0.00021495377144293323_r8, 0.00021972699982829053_r8, & + 0.0002229662047413453_r8, 0.00022632154263972667_r8, & + 0.00022994962639445835_r8, 0.00023293043067832751_r8, & + 0.00023614527783681185_r8, 0.00024262463649075603_r8, & + 0.00024817239124664056_r8, 0.00025169710847395746_r8, & + 0.00025495347619983004_r8, 0.00025751955149762919_r8, & + 0.00026012880930212384_r8, 0.0002610601334196252_r8, & + 0.00026068542915508433_r8, 0.00025954085002075078_r8, & + 0.00025847280253559385_r8, 0.00025560271487815381_r8, & + 0.00025414526509805278_r8, 0.00025077385130606913_r8, & + 0.00025291328618432961_r8, 0.00025296737112897531_r8, & + 0.00024873048130397623_r8, 0.00024207221760522488_r8, & + 0.00024195289641546589_r8 & + / +data saar_ref(:,10,84) / & + 1.6531190833649984e-05_r8, 1.6724768277019671e-05_r8, & + 1.557835984589254e-05_r8, 1.6726062216944801e-05_r8, & + 1.7519093798698348e-05_r8, 1.9151586105511008e-05_r8, & + 2.6464378274071391e-05_r8, 3.7233269511455783e-05_r8, & + 4.8223575627931079e-05_r8, 5.9704317146119577e-05_r8, & + 6.9233501829650499e-05_r8, 7.9959549970594779e-05_r8, & + 8.8946042066518819e-05_r8, 0.00010044176564807881_r8, & + 0.00011119530228511154_r8, 0.00012042755311468684_r8, & + 0.00013557867185121864_r8, 0.00014787125789934583_r8, & + 0.00015833842937968437_r8, 0.00016667596511283679_r8, & + 0.00017237316437043371_r8, 0.00017672209204077182_r8, & + 0.00018100457603826853_r8, 0.00018379017784665364_r8, & + 0.00018603079464902256_r8, 0.00018816576799572532_r8, & + 0.00019040540771120558_r8, 0.00019795304746854849_r8, & + 0.00020946897728983424_r8, 0.00022310846657498925_r8, & + 0.00023424103330500971_r8, 0.00024189493206500456_r8, & + 0.00024838871108568919_r8, 0.00025337677055026626_r8, & + 0.00025750955281528466_r8, 0.00026116174612234445_r8, & + 0.00026367191451220429_r8, 0.00026527220846668293_r8, & + 0.0002664627792096718_r8, 0.00026822637045432281_r8, & + 0.00026861131790732235_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,84) / & + 7.5939104989998614e-06_r8, 7.7118324379561124e-06_r8, & + 6.2229603029292347e-06_r8, 6.7243992549924037e-06_r8, & + 6.881030233003243e-06_r8, 7.2330557065696359e-06_r8, & + 1.1139373135871195e-05_r8, 1.5025155666753301e-05_r8, & + 1.8880247615325693e-05_r8, 2.323569149671408e-05_r8, & + 2.6661483514741765e-05_r8, 3.0684442703972764e-05_r8, & + 3.4590091378775842e-05_r8, 4.1266989653388564e-05_r8, & + 4.8349281264912511e-05_r8, 5.480532676870367e-05_r8, & + 6.8216831473453984e-05_r8, 8.2480641564885713e-05_r8, & + 9.7495152434569268e-05_r8, 0.00011276582909330906_r8, & + 0.00012516514641363504_r8, 0.00013552432125888892_r8, & + 0.00014380945433847622_r8, 0.00015005287640418107_r8, & + 0.00015446398917763751_r8, 0.00015674265448076702_r8, & + 0.00015736816011126801_r8, 0.00015728900183644852_r8, & + 0.00016029294185153836_r8, 0.00016992689924105143_r8, & + 0.00018784079657353054_r8, 0.00020821852970114726_r8, & + 0.00022494096280115835_r8, 0.00023659413570023826_r8, & + 0.000246712898765617_r8, 0.00025512992874680704_r8, & + 0.00026288658985766232_r8, 0.00026685322742025087_r8, & + 0.00026867698086881242_r8, 0.0002715272845044528_r8, & + 0.00027128220893646467_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,84) / & + 3.5735967227498492e-06_r8, 3.5951202832476209e-06_r8, & + 2.4203179558381818e-06_r8, 4.6912388952540517e-06_r8, & + 4.7283055544132662e-06_r8, 4.8243240212070592e-06_r8, & + 6.1130032844006688e-06_r8, 7.3251258032275775e-06_r8, & + 8.554737544320515e-06_r8, 1.0002462844350583e-05_r8, & + 1.1078704783099279e-05_r8, 1.2374245397014834e-05_r8, & + 1.4849630255052186e-05_r8, 1.791539289810038e-05_r8, & + 2.1369385679851427e-05_r8, 2.5065463126149218e-05_r8, & + 3.3345810697569412e-05_r8, 4.2549678847157641e-05_r8, & + 5.3214097722060582e-05_r8, 6.6426064699136013e-05_r8, 7.96552577759e-05_r8, & + 9.3159520748650317e-05_r8, 0.00010533399606635139_r8, & + 0.00011742725232485146_r8, 0.00012947647457126855_r8, & + 0.00013558207296100261_r8, 0.00013851035123088625_r8, & + 0.00013831411720138849_r8, 0.00013430458400486714_r8, & + 0.00013289938676948755_r8, 0.00013759308065772701_r8, & + 0.00015444534586845482_r8, 0.00018085409020458421_r8, & + 0.00020616060005647558_r8, 0.00022567428864062581_r8, & + 0.00024147904843611166_r8, 0.00025493026747639845_r8, & + 0.00026327939370589964_r8, 0.00026702491983857064_r8, & + 0.00027169646319727425_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,84) / & + 2.8353858667951651e-06_r8, 2.8611124194550221e-06_r8, & + 2.7024870488889945e-06_r8, 3.9697822415864813e-06_r8, & + 4.1506308409776469e-06_r8, 4.5826559070157951e-06_r8, & + 5.2102573643043244e-06_r8, 5.5405969238358664e-06_r8, & + 5.736860409995771e-06_r8, 6.3162418813636113e-06_r8, & + 6.6064449155848571e-06_r8, 6.7431745147544037e-06_r8, & + 7.2567612817479667e-06_r8, 8.4205386479329833e-06_r8, & + 1.0624927171647399e-05_r8, 1.3582474343732939e-05_r8, & + 2.115825516794225e-05_r8, 2.8464148082923572e-05_r8, & + 3.5984331893183224e-05_r8, 4.6149630179456518e-05_r8, & + 5.8054916044374493e-05_r8, 7.1811934252836816e-05_r8, & + 8.5314093998169901e-05_r8, 9.9458279941137459e-05_r8, & + 0.0001125508364212897_r8, 0.00012232106007317506_r8, & + 0.00012725764673065618_r8, 0.00012854043203036107_r8, & + 0.00011887393796329178_r8, 0.00010794804574670321_r8, & + 0.0001036785964149318_r8, 0.000110001585518585_r8, & + 0.00012822077192801103_r8, 0.00015802309864353816_r8, & + 0.00018778209304547988_r8, 0.00021479385505644165_r8, & + 0.00023920854803288435_r8, 0.00025865618717511445_r8, & + 0.00026417646081716294_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,14,84) / & + 3.2410982360192367e-06_r8, 3.2604965762701923e-06_r8, & + 3.3790966852616808e-06_r8, 4.0435452558256232e-06_r8, & + 4.2327625105222578e-06_r8, 4.7067435040424851e-06_r8, & + 4.1222493102720869e-06_r8, 4.5886781396380718e-06_r8, & + 4.7756500222186201e-06_r8, 4.9518775712638152e-06_r8, & + 5.1378597180618107e-06_r8, 5.0708329022664308e-06_r8, & + 5.2556438679831004e-06_r8, 5.951694069241803e-06_r8, & + 7.1112512966501854e-06_r8, 9.0835090463539254e-06_r8, & + 1.5645010681868449e-05_r8, 2.3315061308869812e-05_r8, & + 3.0652007066357947e-05_r8, 3.9923940124725549e-05_r8, & + 5.187644322759501e-05_r8, 6.6284426362826817e-05_r8, & + 8.0626607036562967e-05_r8, 9.4994348647752425e-05_r8, & + 0.00010793295632769399_r8, 0.00011813837315929437_r8, & + 0.00012385917165763852_r8, 0.00012215107497223147_r8, & + 0.0001106840319154577_r8, 9.808737760259833e-05_r8, & + 8.9597687336169903e-05_r8, 8.8978614669216365e-05_r8, & + 9.6866809788946894e-05_r8, 0.00011864248391184958_r8, & + 0.00014891813470763242_r8, 0.00018365801318194843_r8, & + 0.00021591848270641252_r8, 0.00023201684917314688_r8, & + 0.00022362929831050221_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,15,84) / & + 3.1006457836077302e-06_r8, 3.1751475517333388e-06_r8, & + 3.2528306878745467e-06_r8, 3.6038797558710648e-06_r8, & + 3.6815520671752849e-06_r8, 3.789118420435495e-06_r8, & + 3.493960418573186e-06_r8, 3.7366916506216516e-06_r8, & + 3.9059532138343232e-06_r8, 4.0597620695804268e-06_r8, & + 4.2084332954040351e-06_r8, 4.2695306202413333e-06_r8, & + 4.7270439095005725e-06_r8, 5.6629837095159124e-06_r8, & + 6.8326380094199815e-06_r8, 8.5722778303415477e-06_r8, & + 1.4466031063041347e-05_r8, 2.2298239404520699e-05_r8, & + 3.2006801323348562e-05_r8, 4.3200710856307499e-05_r8, & + 5.7307768421711995e-05_r8, 7.3167189107927613e-05_r8, & + 8.8541069265015644e-05_r8, 0.00010223134396073369_r8, & + 0.00011124499596174204_r8, 0.0001174269788220196_r8, & + 0.00011935424596149397_r8, 0.00011338578496256161_r8, & + 0.00010199271019677236_r8, 9.0974766632420903e-05_r8, & + 8.2123133397464461e-05_r8, 7.895795356775435e-05_r8, & + 8.2142148800449448e-05_r8, 9.4609320309649005e-05_r8, & + 0.00011992863850324608_r8, 0.00015248204997827408_r8, & + 0.00018091286001219368_r8, 0.00019893787821825915_r8, & + 0.00020588481281224249_r8, 0.00020799744651234172_r8, & + 0.00021449191450974612_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,84) / & + 3.1292429320565673e-06_r8, 3.234444051525917e-06_r8, & + 3.1714872506461355e-06_r8, 3.0705645104986141e-06_r8, & + 3.1706540810676269e-06_r8, 3.3370816769265941e-06_r8, & + 3.4242512577196804e-06_r8, 3.6851101303586047e-06_r8, & + 3.8504914835052038e-06_r8, 4.0920436137994886e-06_r8, & + 4.4379401975668365e-06_r8, 4.9856798991501031e-06_r8, & + 5.8114593621991043e-06_r8, 7.1171192044416885e-06_r8, & + 8.9109789497235945e-06_r8, 1.164075896055057e-05_r8, & + 2.0019003203071647e-05_r8, 3.1297787750516743e-05_r8, & + 4.4958780523144983e-05_r8, 6.0489841258154545e-05_r8, & + 7.8726077941978438e-05_r8, 9.6739563956824718e-05_r8, & + 0.00011033959052650555_r8, 0.00011898819527087591_r8, & + 0.00012140590895081809_r8, 0.00012010728386440034_r8, & + 0.00011656218301868551_r8, 0.0001010622948523458_r8, & + 8.6815882502581769e-05_r8, 7.9108198501022208e-05_r8, & + 7.6712948299639179e-05_r8, 7.9172055255937582e-05_r8, & + 8.3354443053094431e-05_r8, 9.2505207636060753e-05_r8, & + 0.00011348499707461511_r8, 0.00014562426972138562_r8, & + 0.00018091833587705693_r8, 0.00020834096124927552_r8, & + 0.00022773437013498269_r8, 0.00024335311980041384_r8, & + 0.00025877616720033361_r8, 0.00027766030975646814_r8, & + 0.00028733501837473907_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,84) / & + 2.91960727570365e-06_r8, 3.0900843064067451e-06_r8, & + 3.0017444386193116e-06_r8, 2.9091493029285359e-06_r8, & + 2.7872805453872368e-06_r8, 3.5645564439029263e-06_r8, & + 2.8334959194957991e-06_r8, 2.936548986962712e-06_r8, & + 3.7089231866329596e-06_r8, 4.1176583093836261e-06_r8, & + 4.5873175439986365e-06_r8, 6.0340062765499561e-06_r8, & + 7.2543838788418522e-06_r8, 9.3506384126277758e-06_r8, & + 1.2948838228661128e-05_r8, 1.7152448069568364e-05_r8, & + 3.0083910576183987e-05_r8, 4.5094331638009689e-05_r8, & + 6.3450829141877156e-05_r8, 8.3314427060214959e-05_r8, & + 0.00010121008735469015_r8, 0.00011367561385164727_r8, & + 0.00011782184373021672_r8, 0.00011731912260485953_r8, & + 0.00011032695350282822_r8, 0.00010343811204565721_r8, & + 9.585902985357044e-05_r8, 7.8241325251618402e-05_r8, & + 7.2004999657330679e-05_r8, 7.4097767942238858e-05_r8, & + 7.961317003996499e-05_r8, 8.5598081781500425e-05_r8, & + 9.0371309609398062e-05_r8, 9.7061927002895505e-05_r8, & + 0.00011281949886621874_r8, 0.00014398234617964218_r8, & + 0.00018747274423143665_r8, 0.00022791511129976406_r8, & + 0.00026367128766434931_r8, 0.00028709056816067697_r8, & + 0.00030308095587987515_r8, 0.000310904346210913_r8, & + 0.00031415016753157164_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,84) / & + 3.3588959595514121e-06_r8, 3.5257589640862055e-06_r8, & + 3.7554936254903143e-06_r8, 3.527915835518001e-06_r8, & + 3.4974772377378634e-06_r8, 4.3993588795348456e-06_r8, & + 3.593657830107603e-06_r8, 4.2012619584233981e-06_r8, & + 4.288394686953864e-06_r8, 5.0307421733854326e-06_r8, & + 5.8280681827957495e-06_r8, 7.6205425957877497e-06_r8, & + 1.0779123420287666e-05_r8, 1.5715458699911931e-05_r8, & + 2.2089874578958155e-05_r8, 2.9632550575467301e-05_r8, & + 4.8220158821506682e-05_r8, 6.6145658025198279e-05_r8, & + 8.5223235009847175e-05_r8, 0.00010300891868045904_r8, & + 0.00011542530184901146_r8, 0.00011963691119209156_r8, & + 0.00011523476621708854_r8, 0.00010689683875485825_r8, & + 9.7375074083197051e-05_r8, 8.9291498989730364e-05_r8, & + 8.4086143753285067e-05_r8, 7.8090808092973511e-05_r8, & + 8.2179294823587351e-05_r8, 9.1633552959444585e-05_r8, & + 9.9752059151363566e-05_r8, 0.00010541656705431455_r8, & + 0.00010870644976688797_r8, 0.00011308447423019741_r8, & + 0.00012627762699520234_r8, 0.00015681535192565963_r8, & + 0.0002030818343566263_r8, 0.00025121824615983453_r8, & + 0.00029194971210514303_r8, 0.00032001334595124884_r8, & + 0.00033460429034331369_r8, 0.00034083708203705063_r8, & + 0.0003419287962348559_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,84) / & + 5.0977872635015492e-06_r8, 4.9928719515611751e-06_r8, & + 5.3975506413185858e-06_r8, 5.4609378192674767e-06_r8, & + 5.4096140567264629e-06_r8, 5.6712223829616663e-06_r8, & + 5.5885136088772866e-06_r8, 5.8094044792678721e-06_r8, & + 6.7696565737878335e-06_r8, 8.1712978145035729e-06_r8, & + 9.9258502957534298e-06_r8, 1.3131720354685095e-05_r8, & + 2.0335707109432054e-05_r8, 2.950469573985782e-05_r8, & + 3.8701636069555541e-05_r8, 4.8374821386926623e-05_r8, & + 6.7568422605749753e-05_r8, 8.2976451303889807e-05_r8, & + 9.9019338417089133e-05_r8, 0.00011216507474288939_r8, & + 0.00012009618696860693_r8, 0.00012159421132446083_r8, & + 0.00011524687195324146_r8, 0.00010495838428702795_r8, & + 9.4555641431149371e-05_r8, 8.5377247234429387e-05_r8, & + 8.0558817014794371e-05_r8, 7.9043318413038675e-05_r8, & + 8.9101528512551865e-05_r8, 0.00010275727207329263_r8, & + 0.00011249673266832721_r8, 0.00011803557319183212_r8, & + 0.0001211310730699005_r8, 0.00012334221992423957_r8, & + 0.00013462510107517295_r8, 0.0001700537689685976_r8, & + 0.00022061128176980809_r8, 0.00027804712481593132_r8, & + 0.00032248369698172655_r8, 0.00035196330393530987_r8, & + 0.00036981789356339178_r8, 0.00037741916471163933_r8, & + 0.00037917406316408548_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,84) / & + 6.188865673702101e-06_r8, 5.5114586015866073e-06_r8, & + 5.8973007300843426e-06_r8, 6.4450854964730758e-06_r8, & + 6.4622565025161742e-06_r8, 6.2016995277616088e-06_r8, & + 6.7140216672705698e-06_r8, 7.737806576724236e-06_r8, & + 1.0108722320245253e-05_r8, 1.4122078959037138e-05_r8, & + 1.8586998733279348e-05_r8, 2.3974860941883934e-05_r8, & + 3.5871903009178306e-05_r8, 4.6409721559522976e-05_r8, & + 5.51974472022642e-05_r8, 6.3340284799172323e-05_r8, & + 7.7407821119609155e-05_r8, 8.9196783887317339e-05_r8, & + 0.00010268093277748554_r8, 0.0001156852162007548_r8, & + 0.0001238298839529448_r8, 0.00012484723887663888_r8, & + 0.00011783009215204457_r8, 0.00010649890231627044_r8, & + 9.4236853848221047e-05_r8, 8.3331978488754478e-05_r8, & + 7.7417643639816189e-05_r8, 7.3882045164582328e-05_r8, & + 8.5465398823025111e-05_r8, 0.00010130757974828924_r8, & + 0.00011330246031812713_r8, 0.00011897573581429932_r8, & + 0.0001213517314424309_r8, 0.00012177898296528908_r8, & + 0.00013171564386210263_r8, 0.00017284689906217523_r8, & + 0.00023668221856304805_r8, 0.00030807597162731153_r8, & + 0.00035667355955170185_r8, 0.00038203147018168906_r8, & + 0.00039833451484916143_r8, 0.00041069251185919597_r8, & + 0.00041774737343818684_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,84) / & + 6.6427509725491016e-06_r8, 5.7400782246468385e-06_r8, & + 6.0116599599938751e-06_r8, 7.2575538262246863e-06_r8, & + 7.3709355389219742e-06_r8, 7.2417014513373206e-06_r8, & + 9.1787876330346085e-06_r8, 1.3952125713127926e-05_r8, & + 2.028423004156882e-05_r8, 2.6835699769700315e-05_r8, & + 3.2359153054549164e-05_r8, 3.7214019439153778e-05_r8, & + 4.6401766170749883e-05_r8, 5.3390377254356893e-05_r8, & + 6.0224390977057856e-05_r8, 6.7518088812072144e-05_r8, & + 8.2426780752204953e-05_r8, 9.5234430359544676e-05_r8, & + 0.0001090326534309555_r8, 0.00012143716628034429_r8, & + 0.00012806046399450592_r8, 0.00012739497664340433_r8, & + 0.00011639716139767068_r8, 0.00010372068949414565_r8, & + 9.1798401031486398e-05_r8, 8.2245914211371004e-05_r8, & + 7.6442145706016735e-05_r8, 7.3990497546429798e-05_r8, & + 8.8109117791933115e-05_r8, 0.00010572728937210421_r8, & + 0.0001200426256296693_r8, 0.0001272789174339767_r8, & + 0.0001292405393863669_r8, 0.00012856952431800303_r8, & + 0.0001328077767988201_r8, 0.00016295440435429604_r8, & + 0.00023863040496937136_r8, 0.000328234410307086_r8, & + 0.00039157382427552196_r8, 0.00041699981494188512_r8, & + 0.00043357181767416666_r8, 0.00044446282038249215_r8, & + 0.00045020176284030818_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,84) / & + 7.7220102039097521e-06_r8, 6.9074024219154515e-06_r8, & + 6.4918813426931473e-06_r8, 7.6692573708928055e-06_r8, & + 7.9494376916091998e-06_r8, 8.2588733542116392e-06_r8, & + 1.2403211633765313e-05_r8, 2.1204555870015953e-05_r8, & + 2.8418270462190758e-05_r8, 3.3647759310389763e-05_r8, & + 3.7251713247120124e-05_r8, 4.0370571318048143e-05_r8, & + 4.5387131625871706e-05_r8, 5.2653775315903579e-05_r8, & + 6.0752092547437728e-05_r8, 7.0094223495915226e-05_r8, & + 8.7892420729154713e-05_r8, 0.00010423555182695359_r8, & + 0.00011833670768115627_r8, 0.00012854215480193133_r8, & + 0.00013173639072369285_r8, 0.00012899729471447106_r8, & + 0.00011734631479525248_r8, 0.00010540087071721914_r8, & + 9.4031240668226838e-05_r8, 8.3914195090378771e-05_r8, & + 7.7312212701398765e-05_r8, 7.4350293189793561e-05_r8, & + 8.6635981619753906e-05_r8, 0.00010277859468398014_r8, & + 0.00011904926139562053_r8, 0.00013041700663696072_r8, & + 0.00013873686446060047_r8, 0.00014136054178929327_r8, & + 0.00014162516656339352_r8, 0.00015515241287829767_r8, & + 0.00023478493167710559_r8, 0.00034633618289923768_r8, & + 0.00042435577419447861_r8, 0.00045150041078369251_r8, & + 0.00046443837808769479_r8, 0.00047121871758772272_r8, & + 0.000474069152315555_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,84) / & + 8.3776146518953493e-06_r8, 7.5329600023670076e-06_r8, & + 5.7985388856274828e-06_r8, 5.6595043989191094e-06_r8, & + 6.4701944142747696e-06_r8, 7.19472744001389e-06_r8, & + 1.2345140067745298e-05_r8, 2.1871946035878675e-05_r8, & + 2.7929512100931084e-05_r8, 3.2743879354842782e-05_r8, & + 3.5782923893462681e-05_r8, 3.8520112616541374e-05_r8, & + 4.3885941735751498e-05_r8, 5.2074989424656521e-05_r8, & + 6.2122284262859968e-05_r8, 7.3537170224511947e-05_r8, & + 9.1781498706789468e-05_r8, 0.00010964209092766894_r8, & + 0.00012341001070143986_r8, 0.00013150508608587548_r8, & + 0.00013361531918116391_r8, 0.00012982173364772288_r8, & + 0.00011931008591692509_r8, 0.00010818714327036999_r8, & + 9.7160168640682255e-05_r8, 8.7688154245767951e-05_r8, & + 8.1524413102743555e-05_r8, 7.9905243254509853e-05_r8, & + 9.2321029845341462e-05_r8, 0.00010963612213005681_r8, & + 0.00012676996651186316_r8, 0.00014066926071067208_r8, & + 0.00015317859247493087_r8, 0.00016173543594888515_r8, & + 0.00016788772120784017_r8, 0.00017484671562776924_r8, & + 0.00020567019366033828_r8, 0.00020657078973797052_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,84) / & + 9.4324637938407405e-06_r8, 8.7976580604411106e-06_r8, & + 5.8692214197936592e-06_r8, 5.7030076355036358e-06_r8, & + 7.068234368277087e-06_r8, 8.9842179005520864e-06_r8, & + 1.7776966802727564e-05_r8, 2.8114543496190397e-05_r8, & + 3.3471371604894952e-05_r8, 3.8644267619041969e-05_r8, & + 4.1796016405479119e-05_r8, 4.5112746365374179e-05_r8, & + 5.0543449914846637e-05_r8, 5.7694288446220075e-05_r8, & + 6.6191441941151769e-05_r8, 7.5511603642655761e-05_r8, & + 9.2597723703887285e-05_r8, 0.00010976634137820617_r8, & + 0.0001241702303372397_r8, 0.00013371718435439988_r8, & + 0.00013643684268128983_r8, 0.00013349293246623552_r8, & + 0.00012407589174585551_r8, 0.00011374488089740588_r8, & + 0.00010364148049503016_r8, 9.5623350909919207e-05_r8, & + 9.1153817923161071e-05_r8, 9.1012473177537912e-05_r8, & + 0.00010344509972720291_r8, 0.00012029408041553466_r8, & + 0.0001374514023910748_r8, 0.00015319702247917945_r8, & + 0.00016616564190345717_r8, 0.0001764759044244923_r8, & + 0.00018579898164634357_r8, 0.00019432672031021348_r8, & + 0.00020291436248832958_r8, 0.0002102826743483873_r8, & + 0.00021837752144790134_r8, 0.00022594644712713166_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,84) / & + 9.0839156279013841e-06_r8, 8.6371042404504682e-06_r8, & + 5.8302914113578784e-06_r8, 6.7059523323971705e-06_r8, & + 8.137602175752193e-06_r8, 1.248891071990439e-05_r8, & + 2.4276879026962211e-05_r8, 3.4582437626814543e-05_r8, & + 3.9579790384901037e-05_r8, 4.4877685189954868e-05_r8, & + 4.8268905057131906e-05_r8, 5.2235922647985462e-05_r8, & + 5.8268112539420679e-05_r8, 6.4247872131719677e-05_r8, & + 7.0306793022264136e-05_r8, 7.6817547387962452e-05_r8, & + 9.1073326744629739e-05_r8, 0.00010693817728286996_r8, & + 0.00012065152822816918_r8, 0.00013086057098452993_r8, & + 0.0001345653011887571_r8, 0.00013279495289941336_r8, & + 0.00012569569121213071_r8, 0.00011755271824590866_r8, & + 0.00011055411183231247_r8, 0.00010486627544951489_r8, & + 0.00010181303528075238_r8, 0.00010203204249340973_r8, & + 0.00011004390603179076_r8, 0.00012674888093818195_r8, & + 0.00014376738866612212_r8, 0.00015857415313217269_r8, & + 0.00017128650326329433_r8, 0.00018330913604676645_r8, & + 0.00019540303113065591_r8, 0.00020572634185381385_r8, & + 0.0002160729776040368_r8, 0.00022630637811125122_r8, & + 0.00023491088077792299_r8, 0.00024030565918645538_r8, & + 0.00024420400376072202_r8, 0.00024577379215210863_r8, & + 0.00024779989693803371_r8, 0.00024608642201707912_r8, 9e90_r8 & + / +data saar_ref(:,26,84) / & + 5.9994196029812507e-06_r8, 5.787801664727138e-06_r8, & + 3.4493045568131776e-06_r8, 3.8700290242734193e-06_r8, & + 4.8064291543198031e-06_r8, 7.8564136961882467e-06_r8, & + 1.5455669642372721e-05_r8, 2.4117575667570101e-05_r8, & + 3.1105652217384153e-05_r8, 3.6834864954450816e-05_r8, & + 4.077690009444481e-05_r8, 4.5123288501344913e-05_r8, & + 5.2837832122814483e-05_r8, 5.9712107825256563e-05_r8, & + 6.5746593444420602e-05_r8, 7.2735027753687356e-05_r8, & + 8.7505064165178768e-05_r8, 0.00010250569624229645_r8, & + 0.00011534044631041674_r8, 0.00012535697224322332_r8, & + 0.00012855836621864433_r8, 0.0001283102693693126_r8, & + 0.00012506080154200055_r8, 0.00012037127173258277_r8, & + 0.00011659838806600478_r8, 0.00011323996789562976_r8, & + 0.00011111133434867547_r8, 0.00011189182603811759_r8, & + 0.00011989919735642959_r8, 0.00013657499270379003_r8, & + 0.00015281781656169315_r8, 0.0001670758704326972_r8, & + 0.00018117553972670113_r8, 0.00019541028823017367_r8, & + 0.00020974568625453468_r8, 0.00022433117556821419_r8, & + 0.00023647685665965839_r8, 0.000246617396855345_r8, & + 0.00025430302230018605_r8, 0.00025744430762349483_r8, & + 0.00025926194561502882_r8, 0.00026019766989055393_r8, & + 0.00026255789081319059_r8, 0.00026010285116775809_r8, 9e90_r8 & + / +data saar_ref(:,27,84) / & + 5.4527287858562207e-06_r8, 5.8610307638910585e-06_r8, & + 4.4866529466649954e-06_r8, 4.8157092879317564e-06_r8, & + 5.0887971495382319e-06_r8, 6.2381825689444876e-06_r8, & + 7.6880241979266671e-06_r8, 9.7147565509891031e-06_r8, & + 1.4054921782819985e-05_r8, 2.0065677953102306e-05_r8, & + 2.3622515760577349e-05_r8, 2.7363414047988609e-05_r8, & + 3.4684362357060388e-05_r8, 4.1933561347260558e-05_r8, & + 4.8092783784468595e-05_r8, 5.5708538604161091e-05_r8, & + 7.2508719337551457e-05_r8, 9.1440409827952179e-05_r8, & + 0.00010722379959706151_r8, 0.00011945806915981612_r8, & + 0.00012446683568838709_r8, 0.00012539443916139188_r8, & + 0.00012313433665173546_r8, 0.0001199223133100648_r8, & + 0.00011790356103103464_r8, 0.00011727562360515366_r8, & + 0.00011785221321936549_r8, 0.00012334385121878485_r8, & + 0.00013299071861429945_r8, 0.00014734338255843824_r8, & + 0.00016283971314258913_r8, 0.00017913427258264668_r8, & + 0.0001970853323007318_r8, 0.00021498848964323982_r8, & + 0.00023026612346747425_r8, 0.00024328605389741838_r8, & + 0.0002525686627404194_r8, 0.00025795267431573561_r8, & + 0.0002623747684635163_r8, 0.00026370978292453298_r8, & + 0.00027392183014983439_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,84) / & + 7.2001006627710346e-06_r8, 8.0907402145122202e-06_r8, & + 6.7708706304415229e-06_r8, 7.5895945260493185e-06_r8, & + 6.5853296748319568e-06_r8, 6.5352202086806962e-06_r8, & + 6.8120887217426036e-06_r8, 7.2486461450970373e-06_r8, & + 6.7675394071000332e-06_r8, 9.0741931860658483e-06_r8, & + 1.1264458821279282e-05_r8, 1.3023685401148855e-05_r8, & + 1.7836706518188778e-05_r8, 2.2293796228972893e-05_r8, & + 2.7512402260424101e-05_r8, 3.2974070556589793e-05_r8, & + 4.7046374863985417e-05_r8, 6.6179681465791801e-05_r8, & + 8.7785265353681222e-05_r8, 0.00010554493658656903_r8, & + 0.00011501173007305579_r8, 0.00011966857023206824_r8, & + 0.00011959101953418728_r8, 0.00011808983329368403_r8, & + 0.00011696892565484132_r8, 0.00011747934838647393_r8, & + 0.00011905137136649086_r8, 0.00012830564361869_r8, & + 0.00014067598343099776_r8, 0.00015579819351640569_r8, & + 0.00017177975157840983_r8, 0.00019155306556571712_r8, & + 0.00021089138798590585_r8, 0.00022808607324740417_r8, & + 0.00024297634099778578_r8, 0.00025367596707641144_r8, & + 0.00026229273475598713_r8, 0.00026692964290173489_r8, & + 0.00026986213061390158_r8, 0.00027236408131374955_r8, & + 0.00027373657439988427_r8, 0.0002742652508854353_r8, & + 0.00027430478399763142_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,84) / & + 7.4840268035565843e-06_r8, 8.1770216590921696e-06_r8, & + 7.3337287404373479e-06_r8, 5.4138148645454895e-06_r8, & + 5.0632701124126603e-06_r8, 5.2606445093283706e-06_r8, & + 6.3447023667745793e-06_r8, 7.3275359447912013e-06_r8, & + 6.6464670290670396e-06_r8, 6.5807133714388273e-06_r8, & + 7.4927575553760495e-06_r8, 9.4996802477357564e-06_r8, & + 1.3242370468981987e-05_r8, 1.6819539487860593e-05_r8, & + 2.0615235392849074e-05_r8, 2.4557136416336478e-05_r8, & + 3.4088880765580155e-05_r8, 4.744786855422953e-05_r8, & + 6.6173714780515827e-05_r8, 8.5724408316760511e-05_r8, & + 9.8874650531027716e-05_r8, 0.00010518651497163647_r8, & + 0.00010756841701922091_r8, 0.00010869304455112663_r8, & + 0.00010972498370991636_r8, 0.00011125023794395522_r8, & + 0.00011481709197238397_r8, 0.00012572078292850575_r8, & + 0.00013795191228051785_r8, 0.00015578184880528714_r8, & + 0.00017489041093687085_r8, 0.00019737998047129188_r8, & + 0.00021898258755736184_r8, 0.00023387272026046229_r8, & + 0.00024793701156520999_r8, 0.00025870206142952111_r8, & + 0.00026741412583454265_r8, 0.00027405577811547309_r8, & + 0.00027906194229579959_r8, 0.00028327659127372351_r8, & + 0.00028534418387772092_r8, 0.00028752056926911648_r8, & + 0.00028761754076408249_r8, 0.00029008781086526877_r8, 9e90_r8 & + / +data saar_ref(:,30,84) / & + 7.293024230030009e-06_r8, 7.8544575109527572e-06_r8, & + 7.1472116128475574e-06_r8, 5.3588411039057958e-06_r8, & + 5.7345776467998538e-06_r8, 5.99132916245618e-06_r8, & + 5.967072014277352e-06_r8, 7.4017884053481841e-06_r8, & + 7.175812437468605e-06_r8, 8.1152642382773729e-06_r8, & + 9.4301186876370749e-06_r8, 1.1432688745535615e-05_r8, & + 1.4672289899937905e-05_r8, 1.7821064106607736e-05_r8, & + 2.1174338877902391e-05_r8, 2.4333295629936857e-05_r8, & + 3.1552184869968291e-05_r8, 4.0381881197675814e-05_r8, & + 5.3452434928742688e-05_r8, 6.6473301944765291e-05_r8, & + 7.8021993502881936e-05_r8, 8.501587169628167e-05_r8, & + 8.7312069049304381e-05_r8, 9.1333649055294497e-05_r8, & + 9.353158966070035e-05_r8, 9.6142370255118993e-05_r8, & + 0.00010091348822738315_r8, 0.00011011358459290836_r8, & + 0.00012262282291060741_r8, 0.00014511240228684766_r8, & + 0.00016879756496286722_r8, 0.0001934888435284454_r8, & + 0.00021510244345758473_r8, 0.00023334463727429537_r8, & + 0.00024706114708014729_r8, 0.00025967721631494332_r8, & + 0.00027066422037338978_r8, 0.00027872428536026639_r8, & + 0.00028503224215180659_r8, 0.00029242068890731384_r8, & + 0.00029304077906663298_r8, 0.00029031471055779794_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,84) / & + 7.9357102465994598e-06_r8, 8.1055584857881752e-06_r8, & + 7.3463752068525994e-06_r8, 7.1821383777641389e-06_r8, & + 8.0773764081021724e-06_r8, 8.3791347137020861e-06_r8, & + 7.6779954925676512e-06_r8, 9.6779742973578551e-06_r8, & + 1.1000326277023596e-05_r8, 1.2634800064133503e-05_r8, & + 1.4306154702391525e-05_r8, 1.630359785354149e-05_r8, & + 1.9292931502802868e-05_r8, 2.2853929256651123e-05_r8, & + 2.6184361492252221e-05_r8, 2.9512178694485259e-05_r8, & + 3.5697193549041629e-05_r8, 4.3398399881994502e-05_r8, & + 5.3749211379359718e-05_r8, 6.3535527567690062e-05_r8, & + 7.0973221242148082e-05_r8, 7.3627319679152472e-05_r8, & + 7.7343271404179344e-05_r8, 7.9769528974134529e-05_r8, & + 8.2033094945661676e-05_r8, 8.451650069942264e-05_r8, & + 8.7500321041451913e-05_r8, 9.3809617108437521e-05_r8, & + 0.00010645024633712775_r8, 0.0001269967923684422_r8, & + 0.00015295770517906773_r8, 0.00017893481524589499_r8, & + 0.00020237530720610032_r8, 0.0002260122906475727_r8, & + 0.00024645048346958397_r8, 0.0002629987009452224_r8, & + 0.00027723966861724082_r8, 0.0002853023129262353_r8, & + 0.00029292348054473351_r8, 0.00029770825865665349_r8, & + 0.00030174529199763047_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,84) / & + 8.7432921168746492e-06_r8, 8.7719270477305526e-06_r8, & + 9.2812336958872214e-06_r8, 8.9521956264894966e-06_r8, & + 9.3812040600304838e-06_r8, 9.4884168640362774e-06_r8, & + 1.0977645342195498e-05_r8, 1.3571804238191801e-05_r8, & + 1.4993109902230105e-05_r8, 1.6600796239712189e-05_r8, & + 1.8209093596026757e-05_r8, 1.9900885768899433e-05_r8, & + 2.2899014426471796e-05_r8, 2.5804344821282936e-05_r8, & + 2.8666679260679215e-05_r8, 3.1909593401584864e-05_r8, & + 3.9020391499527637e-05_r8, 4.8506207134363846e-05_r8, & + 5.9012622341626329e-05_r8, 6.8102521481381765e-05_r8, & + 7.384338437333743e-05_r8, 7.6461581245992145e-05_r8, & + 7.8627600827591257e-05_r8, 7.9957047343906404e-05_r8, & + 8.1380942068140372e-05_r8, 8.2833660847936132e-05_r8, & + 8.4030523720503197e-05_r8, 8.8453953503530786e-05_r8, & + 0.00010147061000729627_r8, 0.0001224184322305639_r8, & + 0.00014757622021735234_r8, 0.00017664532605340724_r8, & + 0.00020360640523272921_r8, 0.00023059409763214852_r8, & + 0.00025417358556864133_r8, 0.00026880565344686622_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,84) / & + 8.5773806347217984e-06_r8, 9.075149234274134e-06_r8, & + 1.0277156645679462e-05_r8, 9.9467856222483957e-06_r8, & + 1.0770394368527389e-05_r8, 1.1725534218605232e-05_r8, & + 1.3216412809454656e-05_r8, 1.6390032162198107e-05_r8, & + 1.8270868079031675e-05_r8, 1.9836565516563812e-05_r8, & + 2.1036788297853334e-05_r8, 2.213965356756298e-05_r8, & + 2.4213549847383085e-05_r8, 2.6413846935857552e-05_r8, & + 2.9170922610815942e-05_r8, 3.2725652085313659e-05_r8, & + 4.2149773153676382e-05_r8, 5.3860220315256228e-05_r8, & + 6.6307462981522275e-05_r8, 7.4615262178965485e-05_r8, & + 7.9858682564678613e-05_r8, 8.1787784990551926e-05_r8, & + 8.2814343504705363e-05_r8, 8.341344075161562e-05_r8, & + 8.396162967001111e-05_r8, 8.4908437877381389e-05_r8, & + 8.5334450460390444e-05_r8, 8.877190219778269e-05_r8, & + 9.5619572086129087e-05_r8, 0.00010728087536595637_r8, & + 0.00012255577764363465_r8, 0.0001455506194170522_r8, & + 0.00018701539485562911_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,84) / & + 9.6311827044638574e-06_r8, 1.0901804172126342e-05_r8, & + 1.0779721942916179e-05_r8, 1.4236953653394074e-05_r8, & + 1.563720133971783e-05_r8, 1.7435866664356811e-05_r8, & + 1.7177415148750712e-05_r8, 2.1896308204405213e-05_r8, & + 2.4051514551510365e-05_r8, 2.5641703772578809e-05_r8, & + 2.706675947958164e-05_r8, 2.8472661140924696e-05_r8, & + 3.0746896498941753e-05_r8, 3.3630024861029225e-05_r8, & + 3.6959748864660132e-05_r8, 4.1422742267794109e-05_r8, & + 5.3958845712632643e-05_r8, 6.7709075033625565e-05_r8, & + 7.8667992937976413e-05_r8, 8.347577360169015e-05_r8, & + 8.5346300872481029e-05_r8, 8.5606779423652701e-05_r8, & + 8.5344266374578944e-05_r8, 8.5005616011848156e-05_r8, & + 8.5007169627613938e-05_r8, 8.5346179255663541e-05_r8, & + 8.5593238542037365e-05_r8, 8.7879697242491421e-05_r8, & + 9.2663865076135539e-05_r8, 0.00010170272202633462_r8, & + 0.00011508003671445642_r8, 0.00012997884239796258_r8, & + 0.00014449997313873447_r8, 0.0001345637482154687_r8, & + 0.00014130685057232249_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,84) / & + 1.2057290690206413e-05_r8, 1.3631802828405772e-05_r8, & + 1.3631246230127361e-05_r8, 2.1203955727307502e-05_r8, & + 2.3545787625695769e-05_r8, 2.5810462835524567e-05_r8, & + 2.478657566767433e-05_r8, 2.9608364092952719e-05_r8, & + 3.4741456320165863e-05_r8, 3.864479390878993e-05_r8, & + 4.1630184202067647e-05_r8, 4.4075517389551288e-05_r8, & + 4.8180987315298077e-05_r8, 5.3753316984014156e-05_r8, & + 5.9491326016370147e-05_r8, 6.5429086853385052e-05_r8, & + 7.6595458993582502e-05_r8, 8.4377628961527414e-05_r8, & + 8.7420087994236436e-05_r8, 8.7952490048934321e-05_r8, & + 8.7614834062281689e-05_r8, 8.7023100229709254e-05_r8, & + 8.6798443958995859e-05_r8, 8.6623287696039979e-05_r8, & + 8.6756032222594013e-05_r8, 8.6839919801526191e-05_r8, & + 8.6985837631243129e-05_r8, 8.8904575125208513e-05_r8, & + 9.410374249587452e-05_r8, 0.0001022863625919999_r8, & + 0.00011287064234552875_r8, 0.00012974648130810679_r8, & + 0.0001481972052235353_r8, 0.00017033262482073758_r8, & + 0.00019333198501577506_r8, 0.00024520958852147003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,84) / & + 1.765465125244507e-05_r8, 1.8950132903130382e-05_r8, & + 1.7643924163191273e-05_r8, 2.813159315563002e-05_r8, & + 3.1429632964892875e-05_r8, 3.46869054088942e-05_r8, & + 3.6630334375040385e-05_r8, 4.5743020913531885e-05_r8, & + 5.2107081491954373e-05_r8, 5.6185317613788851e-05_r8, & + 5.9160353787833322e-05_r8, 6.2182826846767062e-05_r8, & + 6.6479795688995254e-05_r8, 7.0244488875324609e-05_r8, & + 7.4289826041420737e-05_r8, 7.7814574464402016e-05_r8, & + 8.3549554281200415e-05_r8, 8.6985988727959269e-05_r8, & + 8.8360642852584642e-05_r8, 8.8323994392935847e-05_r8, & + 8.7725976376332071e-05_r8, 8.6814652560828832e-05_r8, & + 8.6808468805153687e-05_r8, 8.6872649324308519e-05_r8, & + 8.7081117867776969e-05_r8, 8.7519467118674023e-05_r8, & + 8.8420302458629035e-05_r8, 9.172682310957057e-05_r8, & + 9.7599476513993247e-05_r8, 0.0001069390182579556_r8, & + 0.00012095652262081232_r8, 0.00013817868898778697_r8, & + 0.00015616130256311067_r8, 0.00017918327048663246_r8, & + 0.00020462744312057119_r8, 0.00023978421332788522_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,84) / & + 2.9177795270143852e-05_r8, 2.9197679175629672e-05_r8, & + 2.5304826102229863e-05_r8, 3.6761695920355098e-05_r8, & + 4.0907807418366887e-05_r8, 4.5475406624457745e-05_r8, & + 5.192887782904272e-05_r8, 5.6534619310337609e-05_r8, & + 5.8825514210085414e-05_r8, 6.0469886926294283e-05_r8, & + 6.1801942204040916e-05_r8, 6.3251160051029323e-05_r8, & + 6.5666751281537203e-05_r8, 6.7080353463541708e-05_r8, & + 6.9127903929639911e-05_r8, 7.0980621649571543e-05_r8, & + 7.4971747437497905e-05_r8, 7.9512595758968776e-05_r8, & + 8.3541807816049979e-05_r8, 8.6438642024169534e-05_r8, & + 8.702820054974865e-05_r8, 8.6039507940349443e-05_r8, & + 8.6359557789549634e-05_r8, 8.6588789412993041e-05_r8, & + 8.692406588605663e-05_r8, 8.7200110690878953e-05_r8, & + 8.8008919465569615e-05_r8, 9.1483265030219198e-05_r8, & + 9.7214803390438656e-05_r8, 0.00011007991501417462_r8, & + 0.00012860441674222427_r8, 0.00014338951478231262_r8, & + 0.00016243217973230912_r8, 0.00018890879505136519_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,84) / & + 4.4704255151182501e-05_r8, 4.4152600004279503e-05_r8, & + 4.1678836469394397e-05_r8, 4.3331874875171978e-05_r8, & + 4.712033478324523e-05_r8, 4.9947771267877717e-05_r8, & + 5.6279960749518029e-05_r8, 5.991755870461386e-05_r8, & + 6.1859319957059171e-05_r8, 6.3166899100951674e-05_r8, & + 6.4196255233507025e-05_r8, 6.6093231807310915e-05_r8, & + 6.880720152092017e-05_r8, 6.950850610421519e-05_r8, & + 7.0311925852126368e-05_r8, 7.1111262339099314e-05_r8, & + 7.3140173758121221e-05_r8, 7.6265707848377273e-05_r8, & + 7.9995333697138466e-05_r8, 8.314042775006461e-05_r8, & + 8.4675990728718789e-05_r8, 8.5531578601594674e-05_r8, & + 8.6959395910244047e-05_r8, 8.7849097055447235e-05_r8, & + 8.9055937876772725e-05_r8, 8.9936148864524414e-05_r8, & + 9.0800747752562165e-05_r8, 9.3810309373612596e-05_r8, & + 9.8400297569333208e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,84) / & + 4.4113955940814817e-05_r8, 4.5717683898225685e-05_r8, & + 4.5416148773121237e-05_r8, 4.5423583660946717e-05_r8, & + 4.7145119400536777e-05_r8, 5.3466354555035911e-05_r8, & + 6.1529706321344538e-05_r8, 6.4816878874850281e-05_r8, & + 6.620830451728861e-05_r8, 6.6864179033349508e-05_r8, & + 6.7146951947698319e-05_r8, 6.8805228641840178e-05_r8, & + 7.0584583907047849e-05_r8, 6.999524189248057e-05_r8, & + 6.9945691134107486e-05_r8, 7.0440158063120952e-05_r8, & + 7.181426349053759e-05_r8, 7.4867193037295716e-05_r8, & + 7.9171959842936826e-05_r8, 8.325678167490825e-05_r8, & + 8.5077729834270573e-05_r8, 8.7148421181543919e-05_r8, & + 8.8371952737393683e-05_r8, 8.9821674804360657e-05_r8, & + 9.1900360450068066e-05_r8, 9.4334613159584164e-05_r8, & + 9.6380356841347617e-05_r8, 9.921329696430227e-05_r8, & + 0.00010360735999565937_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,84) / & + 4.0683234909793708e-05_r8, 4.3371506634293277e-05_r8, & + 4.3679264185590592e-05_r8, 4.7002737128591173e-05_r8, & + 4.8841898105517292e-05_r8, 5.5968349955276363e-05_r8, & + 6.6322579179600933e-05_r8, 6.7332451003541477e-05_r8, & + 6.7802778717810787e-05_r8, 6.7894695865692675e-05_r8, & + 6.7982021559682859e-05_r8, 6.8716345494441701e-05_r8, & + 6.896454217991125e-05_r8, 6.6824230918726058e-05_r8, & + 6.576946461789212e-05_r8, 6.4761560078827743e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,84) / & + 4.6003259483883612e-05_r8, 4.6040466372067578e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,84) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,84) / & + 0.00011095136269102667_r8, 0.00011392617957799406_r8, & + 0.00010886678645207265_r8, 0.00013017214651542294_r8, & + 0.00013145585822372808_r8, 0.00012669211327861143_r8, & + 0.0001275716788152099_r8, 0.00012859342414330455_r8, & + 0.00010981536089851546_r8, 9.7741135172368725e-05_r8, & + 9.3630950491207994e-05_r8, 8.6953366275427718e-05_r8, & + 7.9052910494618517e-05_r8, 8.075336143190222e-05_r8, & + 7.5435485970740956e-05_r8, 7.7087435364593147e-05_r8, & + 7.0742451924114675e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,84) / & + 0.00010783078707369389_r8, 0.00011487636395352048_r8, & + 0.00011075257094654183_r8, 0.00013030086692989159_r8, & + 0.00013413362142051681_r8, 0.00013143024985750085_r8, & + 0.00012735929163490517_r8, 0.0001220342495824221_r8, & + 0.00010098295750608592_r8, 9.0306071696961653e-05_r8, & + 8.7648791235748076e-05_r8, 8.4130266495464011e-05_r8, & + 7.9293389250536942e-05_r8, 8.0920948308990014e-05_r8, & + 7.5444781852750028e-05_r8, 7.7287117193781827e-05_r8, & + 7.0777755061839282e-05_r8, 7.5640906000545787e-05_r8, & + 7.7845530874345376e-05_r8, 8.3245939786264237e-05_r8, & + 8.7177828015673478e-05_r8, 8.7617866137942006e-05_r8, & + 9.3525147800754095e-05_r8, 9.645995360661451e-05_r8, & + 9.6905962991082555e-05_r8, 9.9676980338148725e-05_r8, & + 0.00010383572691668869_r8, 0.00011255981706904815_r8, & + 0.00011478039678012499_r8, 0.00011700065807596445_r8, & + 0.00011733817722329909_r8, 0.00011826107751317098_r8, & + 0.00011951862497571799_r8, 0.00011991443495838533_r8, & + 0.00012035954901134918_r8, 0.00012038887517447101_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,84) / & + 9.5992235607094109e-05_r8, 0.00011454557659597063_r8, & + 0.00011182127063236981_r8, 0.00012255768020856103_r8, & + 0.00013467869824381571_r8, 0.00013664034153100158_r8, & + 0.00012191442254513797_r8, 9.9540393412174568e-05_r8, & + 7.7406822119449053e-05_r8, 7.3773545454855396e-05_r8, & + 7.3355026039095987e-05_r8, 7.3313214087986767e-05_r8, & + 7.1821548509863685e-05_r8, 7.3153206234042209e-05_r8, & + 7.2249371947365315e-05_r8, 7.3791752097220181e-05_r8, & + 7.2203039716047264e-05_r8, 7.3924295032911519e-05_r8, & + 7.6359403630037981e-05_r8, 7.9731856712208905e-05_r8, & + 8.3937827123606226e-05_r8, 8.6579405724350423e-05_r8, & + 9.1186063055095004e-05_r8, 9.5572572908404012e-05_r8, & + 9.9851487673241772e-05_r8, 0.00010394908270361604_r8, & + 0.00010980891548763911_r8, 0.00011813959879172074_r8, & + 0.00011883478095029005_r8, 0.00011905219535693965_r8, & + 0.00011970750002181713_r8, 0.00012043452467736206_r8, & + 0.00012114796815971643_r8, 0.0001212467650042629_r8, & + 0.00012176977902535207_r8, 0.00012187796261187756_r8, & + 0.00012430850001965134_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,85) / & + 0.00012977500040753791_r8, 0.0001322413489685072_r8, & + 0.00013356809729857334_r8, 0.00013805677521168139_r8, & + 0.00014235891944155881_r8, 0.0001434484070081588_r8, & + 0.00014850151326647795_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,2,85) / & + 0.00012977500040753791_r8, 0.0001322413489685072_r8, & + 0.00013356809729857334_r8, 0.00013805677521168139_r8, & + 0.00014235891944155881_r8, 0.0001434484070081588_r8, & + 0.00014850151326647795_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,3,85) / & + 0.00012977500040753791_r8, 0.0001322413489685072_r8, & + 0.00013356809729857334_r8, 0.00013805677521168139_r8, & + 0.00014235891944155881_r8, 0.0001434484070081588_r8, & + 0.00014850151326647795_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,4,85) / & + 0.00013299682270180089_r8, 0.0001346975138684878_r8, & + 0.00013803644128027062_r8, 0.00014289940187528995_r8, & + 0.00014350947179131481_r8, 0.00014328312781742474_r8, & + 0.0001471756969329409_r8, 0.00015330352901606466_r8, & + 0.0001563734169119144_r8, 0.00016347593777071175_r8, & + 0.00016829409540678806_r8, 0.00017089708371593941_r8, & + 0.00017519695741210952_r8, 0.00017927607927241157_r8, & + 0.00018292736067343683_r8, 0.00019383655359906721_r8, & + 0.00021818106161854709_r8, 0.00022117835662317344_r8, & + 0.00022571644234574184_r8, 0.00023011645348625413_r8, & + 0.00023685477949653624_r8, 0.00024464931113517529_r8, & + 0.00024783257669541112_r8, 0.00025133029930101086_r8, & + 0.00025457814950468911_r8, 0.0002565844517908702_r8, & + 0.00025788945294147016_r8, 0.00025884360031947222_r8, & + 0.00025929690894931692_r8, 0.00025950884734958236_r8, & + 0.00025882304670255598_r8, 0.00025912826445328709_r8, & + 0.00025627568926440221_r8, 0.00025416233425229392_r8, & + 0.00025312995060982355_r8, 0.00025554163486635645_r8, & + 0.00026273326588289786_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,85) / & + 0.00014726309520269346_r8, 0.00015009333892293877_r8, & + 0.00015028065652000964_r8, 0.00015176984531076665_r8, & + 0.00014593989630974004_r8, 0.00015030453328307108_r8, & + 0.00016143788773486574_r8, 0.00016878944248477224_r8, & + 0.00017697216812271474_r8, 0.00018944122546339848_r8, & + 0.00019821363485307807_r8, 0.00020574602632839609_r8, & + 0.00021432885744688201_r8, 0.00021853489983360424_r8, & + 0.00022197736737697446_r8, 0.00022584269479319381_r8, & + 0.00023629666536757811_r8, 0.00023927207724531288_r8, & + 0.00024414191876032782_r8, 0.00024731447505966408_r8, & + 0.00025011947062607704_r8, 0.00025530514799452548_r8, & + 0.00025703732025859666_r8, 0.00025862173589776802_r8, & + 0.00026000237827958637_r8, 0.00026071486820972682_r8, & + 0.00026104477390890689_r8, 0.00026129107877506186_r8, & + 0.0002616152548856938_r8, 0.00026158178088574326_r8, & + 0.00026165397093885919_r8, 0.00026157365439186982_r8, & + 0.00025671301885422514_r8, 0.00025513906958286793_r8, & + 0.00025587818278462806_r8, 0.00025757071072057965_r8, & + 0.00026403257633390842_r8, 0.0002669011319039165_r8, & + 0.00026232831649110469_r8, 0.00025720542105097587_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,85) / & + 0.00014596580545052238_r8, 0.00014772723275330472_r8, & + 0.00014604016080188603_r8, 0.00015103843071950982_r8, & + 0.00014819890152852549_r8, 0.00015336730428278228_r8, & + 0.00016363479405877201_r8, 0.00017168604873138898_r8, & + 0.00017908627525015745_r8, 0.00019509329276260761_r8, & + 0.00020720547853911536_r8, 0.00022009730222278116_r8, & + 0.00023308352535179083_r8, 0.00023748059353584364_r8, & + 0.00024099645469190475_r8, 0.00024411678093558923_r8, & + 0.00025208720241309623_r8, 0.00025422700692177201_r8, & + 0.00025699418422735134_r8, 0.00025922372186639532_r8, & + 0.00026011747365532712_r8, 0.00026268493195742021_r8, & + 0.00026329309384308088_r8, 0.00026367295949969097_r8, & + 0.00026387112991572824_r8, 0.00026400536642488695_r8, & + 0.00026421340047105439_r8, 0.00026390734064201407_r8, & + 0.00026337227602152118_r8, 0.00026355681226311172_r8, & + 0.00026390540761466082_r8, 0.00026274407587447519_r8, & + 0.00026079866380225906_r8, 0.00026009002827026979_r8, & + 0.00025927198272860129_r8, 0.00025921142191348377_r8, & + 0.00025804790050553989_r8, 0.00025562310095414052_r8, & + 0.00025401748192862672_r8, 0.00025266327093574501_r8, & + 0.0002464857116464731_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,85) / & + 0.00011057802947497329_r8, 0.00011250420373822641_r8, & + 0.00011359859431337926_r8, 0.00012908612569161168_r8, & + 0.00013278784222611238_r8, 0.00014004454023323085_r8, & + 0.00014992089292845037_r8, 0.00016451613455639207_r8, & + 0.00017023625100636547_r8, 0.00017932103997194581_r8, & + 0.00019090834952587018_r8, 0.00020900298394358816_r8, & + 0.00022136644895310347_r8, 0.00022672618396369718_r8, & + 0.00023069206207268559_r8, 0.00023322166081155105_r8, & + 0.00023822654818589004_r8, 0.00023963513425972303_r8, & + 0.00024174708817671401_r8, 0.0002445128102805066_r8, & + 0.00024722698712046959_r8, 0.00024930344892964268_r8, & + 0.00024997657591110977_r8, 0.00025196240804723841_r8, & + 0.00025382574581133126_r8, 0.00025508944752262335_r8, & + 0.00025625735401452274_r8, 0.00025817291735987896_r8, & + 0.00025957600544995139_r8, 0.00026072827114532505_r8, & + 0.00026118761141990295_r8, 0.00026033294346903353_r8, & + 0.0002583635699858555_r8, 0.00025664976878591786_r8, & + 0.00025473421010746382_r8, 0.00025117659401556892_r8, & + 0.00024780944270033102_r8, 0.00024595976608326217_r8, & + 0.00024693467733033915_r8, 0.00024704842934146758_r8, & + 0.00024635377206324471_r8, 0.00024577796513479942_r8, & + 0.00025089947689523696_r8, 0.00024943154715725645_r8, & + 0.00025434462098151658_r8 & + / +data saar_ref(:,8,85) / & + 6.4284858162292797e-05_r8, 6.662938509057007e-05_r8, & + 6.5702286829450005e-05_r8, 8.0480452354030388e-05_r8, & + 8.557889910130888e-05_r8, 9.0823177145999781e-05_r8, & + 0.00010534383459182853_r8, 0.00013137723084770243_r8, & + 0.00014824638603799323_r8, 0.00016177283466769739_r8, & + 0.00017140592073060942_r8, 0.00018335103812720961_r8, & + 0.0001954768904574049_r8, 0.00020567246013539534_r8, & + 0.00021281346837378749_r8, 0.0002164237465551338_r8, & + 0.00022249077373374832_r8, 0.00022518327919823344_r8, & + 0.00022881070780285962_r8, 0.00023202477690344254_r8, & + 0.00023463450323809749_r8, 0.00023686490136076951_r8, & + 0.00023692670552437049_r8, 0.00023987591727146505_r8, & + 0.0002441751572939949_r8, 0.00024661562771328326_r8, & + 0.00024878794800633347_r8, 0.00025298713955461036_r8, & + 0.00025553452120861552_r8, 0.00025788574695394598_r8, & + 0.00025957053330043835_r8, 0.00026036128557875137_r8, & + 0.00026055482287638061_r8, 0.00026001658369156509_r8, & + 0.00025875574547896111_r8, 0.00025717263616512238_r8, & + 0.00025560632304304389_r8, 0.00025522369850869094_r8, & + 0.00025369100892027436_r8, 0.00024824808134907181_r8, & + 0.00024857943397604295_r8, 0.00024815200295968124_r8, & + 0.00024781882772732214_r8, 0.00024358324094804764_r8, & + 0.00024475896513823211_r8 & + / +data saar_ref(:,9,85) / & + 3.1676258831481238e-05_r8, 3.2661818742407677e-05_r8, & + 2.9748797901004725e-05_r8, 4.7540707793259816e-05_r8, & + 4.8289383310915836e-05_r8, 5.0329994317296405e-05_r8, & + 5.7713774363317495e-05_r8, 7.4531034268117351e-05_r8, & + 9.2193555268124357e-05_r8, 0.00010910226499589942_r8, & + 0.00012422575892279765_r8, 0.00013854212563437185_r8, & + 0.00015579570816001362_r8, 0.000170032352757002_r8, & + 0.0001783801876013478_r8, 0.00018480241777788498_r8, & + 0.00019515450984818834_r8, 0.00020211890099777841_r8, & + 0.00020681109533345537_r8, 0.00021071485405611918_r8, & + 0.00021346996279746644_r8, 0.00021666089032357336_r8, & + 0.00021916984704495974_r8, 0.00022176218774924648_r8, & + 0.00022502250014426955_r8, 0.00022751779221851637_r8, & + 0.00023058862389460752_r8, 0.00023723923230139306_r8, & + 0.00024330391390460599_r8, 0.000247458943053924_r8, & + 0.00025101110097549141_r8, 0.00025375671444199884_r8, & + 0.00025663718541722269_r8, 0.0002578169066560835_r8, & + 0.00025890532856996651_r8, 0.00025915443397404105_r8, & + 0.00025886119562698324_r8, 0.00025807080838069322_r8, & + 0.00025877724928213651_r8, 0.00024914400465534899_r8, & + 0.00025002583870756907_r8, 0.00024907038622491484_r8, & + 0.00024669536960111036_r8, 0.00024129228712423207_r8, & + 0.00024153561611478581_r8 & + / +data saar_ref(:,10,85) / & + 1.6293044284655598e-05_r8, 1.6592332911219482e-05_r8, & + 1.5708782786743709e-05_r8, 1.7960653280966013e-05_r8, & + 1.8316916646443485e-05_r8, 1.9930597701864287e-05_r8, & + 2.3785642799860252e-05_r8, 3.0552346705098131e-05_r8, & + 3.9876551771957866e-05_r8, 4.9627339617996856e-05_r8, & + 5.7887468837629299e-05_r8, 6.7447627908477254e-05_r8, & + 7.8379582553782126e-05_r8, 9.1671910648086775e-05_r8, & + 0.00010332582976095876_r8, 0.00011414377419912924_r8, & + 0.00013182024625959702_r8, 0.0001461123867275147_r8, & + 0.00015822663089375973_r8, 0.00016642888278904167_r8, & + 0.00017209138602402175_r8, 0.0001753976968118447_r8, & + 0.0001785203044256157_r8, 0.0001804740841269732_r8, & + 0.00018180402360771453_r8, 0.00018306927929555687_r8, & + 0.00018506373946256197_r8, 0.00019226596823253698_r8, & + 0.00020468124730903964_r8, 0.00021884949308040381_r8, & + 0.00023071843050395636_r8, 0.00023833586501533689_r8, & + 0.00024450221580713893_r8, 0.0002502277076589881_r8, & + 0.00025460106287018461_r8, 0.00025841758102921166_r8, & + 0.00026042736892388865_r8, 0.00026110864363301914_r8, & + 0.00026398015177439663_r8, 0.0002636442325134776_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,85) / & + 8.3163785240177565e-06_r8, 8.169772898423352e-06_r8, & + 6.4851412163990791e-06_r8, 7.3946269431435639e-06_r8, & + 7.5131229810177008e-06_r8, 8.0639234185731915e-06_r8, & + 1.1595711869648634e-05_r8, 1.4588788662175349e-05_r8, & + 1.829376472163602e-05_r8, 2.2367155077287645e-05_r8, & + 2.5302861908103936e-05_r8, 2.893316863650392e-05_r8, & + 3.3603947329115235e-05_r8, 4.0435585282422267e-05_r8, & + 4.745576916218218e-05_r8, 5.4051322699740025e-05_r8, & + 6.7804885851021908e-05_r8, 8.2729904546473003e-05_r8, & + 9.7364184220276374e-05_r8, 0.00011169236883315265_r8, & + 0.00012410808160174391_r8, 0.00013307688317423124_r8, & + 0.00014082959732454489_r8, 0.00014708553386058682_r8, & + 0.00015104378167410214_r8, 0.00015312352585395672_r8, & + 0.00015382240073384494_r8, 0.00015352177870673166_r8, & + 0.00015716924751267648_r8, 0.00016697383703294315_r8, & + 0.00018589640684919199_r8, 0.00020686447469259054_r8, & + 0.00022384575923567918_r8, 0.00023504892812957037_r8, & + 0.00024496221928672896_r8, 0.00025419869694561685_r8, & + 0.00026239937680596839_r8, 0.00026616986604161892_r8, & + 0.00026748976749643803_r8, 0.00027205916363885497_r8, & + 0.00027141498982273488_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,85) / & + 3.6717016066647557e-06_r8, 3.4912102498912273e-06_r8, & + 1.8666507227612364e-06_r8, 3.8546865440904919e-06_r8, & + 3.8643650602964815e-06_r8, 4.0577699533444435e-06_r8, & + 5.9290765627170473e-06_r8, 6.8423986335602466e-06_r8, & + 7.9045980752463752e-06_r8, 9.423852529713924e-06_r8, & + 1.0679789582136396e-05_r8, 1.2567655660777245e-05_r8, & + 1.539196142268461e-05_r8, 1.8457440956139918e-05_r8, & + 2.1917976357998198e-05_r8, 2.5663949011639097e-05_r8, & + 3.4558435533796071e-05_r8, 4.4705654253329782e-05_r8, & + 5.5775232379410528e-05_r8, 6.8819306054339688e-05_r8, & + 8.3096913852776105e-05_r8, 9.6978069247398701e-05_r8, & + 0.00010928375075411247_r8, 0.0001219320829288625_r8, & + 0.00013166738944531839_r8, 0.0001376283628962981_r8, & + 0.00014108782682769767_r8, 0.0001402487520274572_r8, & + 0.00013715235802856928_r8, 0.00013647024071597073_r8, & + 0.00014302944458270076_r8, 0.00016090373352405229_r8, & + 0.00018499585491686809_r8, 0.00020557642973193185_r8, & + 0.00022216513055686583_r8, 0.00023910238774390742_r8, & + 0.00025474997348468042_r8, 0.0002646684146747859_r8, & + 0.0002677091086557099_r8, 0.00027205456945141699_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,85) / & + 2.4225428093872633e-06_r8, 2.3518007318926701e-06_r8, & + 1.6298252429781328e-06_r8, 3.0224280641566856e-06_r8, & + 3.145925735996932e-06_r8, 3.6918465960688007e-06_r8, & + 4.5170399180907827e-06_r8, 4.8042747330229695e-06_r8, & + 5.2155652387537483e-06_r8, 5.7974130516553559e-06_r8, & + 6.2383269925643888e-06_r8, 7.2875126571642793e-06_r8, & + 8.7732178919844597e-06_r8, 1.0309120533746257e-05_r8, & + 1.2890951678219071e-05_r8, 1.6160345921174624e-05_r8, & + 2.411224807774968e-05_r8, 3.2533719236830671e-05_r8, & + 4.1167607974438698e-05_r8, 5.2211816046010617e-05_r8, & + 6.5101380007196648e-05_r8, 7.9077897343186927e-05_r8, & + 9.3643943955499877e-05_r8, 0.00010786229137242171_r8, & + 0.00011950761079590967_r8, 0.00012700674303686504_r8, & + 0.00013100592604016296_r8, 0.00012872352532837585_r8, & + 0.00011881893225997786_r8, 0.00011107680949533032_r8, & + 0.00010803136708216184_r8, 0.00011409958278163365_r8, & + 0.00013095970079363058_r8, 0.00015668356190366402_r8, & + 0.00018119922540465897_r8, 0.00020587669461977277_r8, & + 0.00023334059837725054_r8, 0.00025783293665935939_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,85) / & + 2.8524746151381055e-06_r8, 2.8313121972392563e-06_r8, & + 2.6227898559500697e-06_r8, 3.1721399145167556e-06_r8, & + 3.2734016192190541e-06_r8, 3.8053262982631953e-06_r8, & + 3.6815067444972792e-06_r8, 3.8707386492496689e-06_r8, & + 4.2070712183159767e-06_r8, 4.6371807240330438e-06_r8, & + 5.0416324278789078e-06_r8, 5.5323389207568749e-06_r8, & + 6.3076645436582789e-06_r8, 7.1884919575381643e-06_r8, & + 8.7508879766861059e-06_r8, 1.1266894514786018e-05_r8, & + 1.8105997446158492e-05_r8, 2.6069757473415904e-05_r8, & + 3.4170480878048644e-05_r8, 4.4411711155407436e-05_r8, & + 5.7119564646267202e-05_r8, 7.18917295466088e-05_r8, & + 8.7007713962024567e-05_r8, 0.00010149570127667671_r8, & + 0.00011307245274436121_r8, 0.00012141059132975898_r8, & + 0.00012507945352197944_r8, 0.00012191305047834679_r8, & + 0.00011070016521219457_r8, 0.00010011651758270897_r8, & + 9.2626874590721436e-05_r8, 8.9905728498729129e-05_r8, & + 9.6904262257051287e-05_r8, 0.00011558192804740413_r8, & + 0.00013971427867840897_r8, 0.0001671657963524991_r8, & + 0.00019442956929398015_r8, 0.00021103272441538889_r8, & + 0.00021726732150468127_r8, 0.00022643589534513005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,85) / & + 3.3170527351203254e-06_r8, 3.3125414794812128e-06_r8, & + 3.274512836369052e-06_r8, 3.1659079668793214e-06_r8, & + 3.4038812082440786e-06_r8, 3.5427766295855708e-06_r8, & + 3.7649922178344985e-06_r8, 3.6678260876909258e-06_r8, & + 3.7066670020175886e-06_r8, 3.873829371416996e-06_r8, & + 4.1665276549030688e-06_r8, 4.5979265696043722e-06_r8, & + 5.6203458712371399e-06_r8, 6.6297413606214176e-06_r8, & + 8.0183270616599646e-06_r8, 1.005886202227815e-05_r8, & + 1.6214148708279903e-05_r8, 2.4776609045990708e-05_r8, & + 3.5074206370834765e-05_r8, 4.6514514012683703e-05_r8, & + 6.0935162801138393e-05_r8, 7.6621707777979411e-05_r8, & + 9.2164047117010171e-05_r8, 0.00010520914499046198_r8, & + 0.00011317988443354032_r8, 0.00011787888115031536_r8, & + 0.00011888421902298697_r8, 0.00011432031978970037_r8, & + 0.0001036674252662704_r8, 9.3327032981944984e-05_r8, & + 8.5338354207588107e-05_r8, 8.0551789885891363e-05_r8, & + 8.2911519523529942e-05_r8, 9.5786807115210611e-05_r8, & + 0.00011973012014495791_r8, 0.00015081572629753952_r8, & + 0.00017831743059246012_r8, 0.00019710683464679377_r8, & + 0.00020600435194767719_r8, 0.00020532504098459605_r8, & + 0.00021217091379642053_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,85) / & + 3.7239245904856299e-06_r8, 3.7047499311893596e-06_r8, & + 3.754600881702298e-06_r8, 3.4152800991466841e-06_r8, & + 3.5004446150487363e-06_r8, 4.0212772582221838e-06_r8, & + 4.3167311691267098e-06_r8, 3.8637274929418381e-06_r8, & + 3.9682188807115766e-06_r8, 4.1229103006640014e-06_r8, & + 4.4427234796262597e-06_r8, 4.8625638880512549e-06_r8, & + 6.2147833824316254e-06_r8, 7.9117757344008783e-06_r8, & + 1.0207263878628252e-05_r8, 1.3208680912038709e-05_r8, & + 2.2070568763469895e-05_r8, 3.4264651448446961e-05_r8, & + 4.8156349910361649e-05_r8, 6.4039240768694778e-05_r8, & + 8.2180142894619656e-05_r8, 9.941199795478733e-05_r8, & + 0.00011240167553377811_r8, 0.00012022807712737599_r8, & + 0.00012210930397070111_r8, 0.00012090895371409509_r8, & + 0.0001173797378583863_r8, 0.00010372102795364861_r8, & + 8.8512936233829607e-05_r8, 8.0635741795528597e-05_r8, & + 7.8776665404742759e-05_r8, 8.0409671127291485e-05_r8, & + 8.5225092349368683e-05_r8, 9.6980540705635278e-05_r8, & + 0.00012154027661460883_r8, 0.00015449205354371972_r8, & + 0.00018592072179595513_r8, 0.00020996822486947308_r8, & + 0.00022709454893996356_r8, 0.0002388903687452335_r8, & + 0.00025414662384155265_r8, 0.00027120639006568057_r8, & + 0.00028236417490081021_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,85) / & + 3.7176494684611574e-06_r8, 3.7698545257715358e-06_r8, & + 3.8259322895106328e-06_r8, 4.4150455835699515e-06_r8, & + 3.8135787541308586e-06_r8, 4.3917370263688575e-06_r8, & + 3.9484268454070019e-06_r8, 3.3407093564109835e-06_r8, & + 4.0193679349307799e-06_r8, 4.2434409433336936e-06_r8, & + 4.6980331545250363e-06_r8, 5.7945030152325806e-06_r8, & + 7.3845340399649506e-06_r8, 1.0017536383275084e-05_r8, & + 1.4326679010844512e-05_r8, 1.9394106922713299e-05_r8, & + 3.2976228579172826e-05_r8, 4.8691433624393884e-05_r8, & + 6.6666949536189194e-05_r8, 8.6383553005020685e-05_r8, & + 0.00010244428400671415_r8, 0.00011394191694314443_r8, & + 0.00011746715400105303_r8, 0.00011645613496597601_r8, & + 0.0001100344405095714_r8, 0.00010457826107904575_r8, & + 9.8759081634458288e-05_r8, 8.2198108293748509e-05_r8, & + 7.2683702351108244e-05_r8, 7.5488454364358684e-05_r8, & + 8.0971840625578052e-05_r8, 8.707900589862024e-05_r8, & + 9.2248324369259048e-05_r8, 0.00010193240174298712_r8, & + 0.00012431069382879339_r8, 0.00015822459314241083_r8, & + 0.00019761104863594324_r8, 0.00023232334569746872_r8, & + 0.00026022382882464245_r8, 0.0002767998590984883_r8, & + 0.00029055004445291817_r8, 0.00030106294483656754_r8, & + 0.00031417220635704949_r8, 0.00031679140528550082_r8, 9e90_r8 & + / +data saar_ref(:,18,85) / & + 4.5430880650655137e-06_r8, 4.6716432776074476e-06_r8, & + 4.7553823916399431e-06_r8, 5.1182821063857226e-06_r8, & + 4.7313856325980888e-06_r8, 5.2824475160903551e-06_r8, & + 4.3300997716702152e-06_r8, 4.6192734741483994e-06_r8, & + 4.6030013252621231e-06_r8, 5.2170525375103074e-06_r8, & + 6.0762643465999456e-06_r8, 7.7645726411406832e-06_r8, & + 1.1241253357998157e-05_r8, 1.6827257983512459e-05_r8, & + 2.4297751264989344e-05_r8, 3.23493836219302e-05_r8, & + 5.0921961887417159e-05_r8, 6.9162007152871854e-05_r8, & + 8.8122841159226088e-05_r8, 0.00010386847838912171_r8, & + 0.00011450355661666359_r8, 0.00011809967535065524_r8, & + 0.00011495074453468475_r8, 0.00010811754078487433_r8, & + 0.00010008928457706154_r8, 9.3424858132475051e-05_r8, & + 8.88201472758605e-05_r8, 8.2921676465302612e-05_r8, & + 8.5876299138114238e-05_r8, 9.5402410535406918e-05_r8, & + 0.00010292069632109652_r8, 0.00010890863179007326_r8, & + 0.00011264666207891096_r8, 0.00011769713249040947_r8, & + 0.00013428528358426655_r8, 0.00016947915319847015_r8, & + 0.00021788221348660838_r8, 0.00026028098351172372_r8, & + 0.0002910945118142193_r8, 0.00030873253768218148_r8, & + 0.00032202475932534708_r8, 0.00033100391459680288_r8, & + 0.00033814250082625416_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,85) / & + 6.4577881578619758e-06_r8, 6.4144060709612682e-06_r8, & + 6.5591767178470033e-06_r8, 6.5838251029062577e-06_r8, & + 6.5594607545804295e-06_r8, 6.5366161475052463e-06_r8, & + 6.3290170208771884e-06_r8, 6.2283282965767112e-06_r8, & + 7.1961142618014791e-06_r8, 8.6063497605568786e-06_r8, & + 1.0712595910600704e-05_r8, 1.3970666360750584e-05_r8, & + 2.2064776290957054e-05_r8, 3.2038994590251399e-05_r8, & + 4.0947639374810027e-05_r8, 4.991981454427559e-05_r8, & + 6.7346015439789206e-05_r8, 8.3440648084845285e-05_r8, & + 9.9215306646985803e-05_r8, 0.00011154491000945302_r8, & + 0.00011989800926285215_r8, 0.00012158607228288676_r8, & + 0.00011741769424938398_r8, 0.00010808617520412999_r8, & + 9.8536814309390419e-05_r8, 9.0805406017799496e-05_r8, & + 8.5283539071468796e-05_r8, 8.4253290246330315e-05_r8, & + 9.4405200939518105e-05_r8, 0.00010825270806896939_r8, & + 0.00011777999139299331_r8, 0.00012409184578345987_r8, & + 0.00012837150031651487_r8, 0.00013108048701440813_r8, & + 0.00014274111354572544_r8, 0.00017990733186101817_r8, & + 0.00023565860651371618_r8, 0.00028773221564221466_r8, & + 0.00032236301694154435_r8, 0.00034422329296232519_r8, & + 0.00035928603511211786_r8, 0.00036922123150480934_r8, & + 0.00037459599772263528_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,85) / & + 7.1707917302586308e-06_r8, 6.6988664493142366e-06_r8, & + 7.1102724575973775e-06_r8, 6.9670923142430312e-06_r8, & + 6.9233673117101391e-06_r8, 6.8179483425196249e-06_r8, & + 6.1755248772907067e-06_r8, 7.8248385855213087e-06_r8, & + 1.1024699836391371e-05_r8, 1.5295142263714679e-05_r8, & + 2.0566042751262097e-05_r8, 2.6948217200572134e-05_r8, & + 3.7617339269610306e-05_r8, 4.8263121560881649e-05_r8, & + 5.5706224193664892e-05_r8, 6.2756329386582673e-05_r8, & + 7.6061329195973584e-05_r8, 8.8861399569435334e-05_r8, & + 0.00010218855734414422_r8, 0.00011528988293216606_r8, & + 0.00012372076502069671_r8, 0.00012471890346500288_r8, & + 0.00011813388940251804_r8, 0.00010696729477068732_r8, & + 9.5193083475170483e-05_r8, 8.5291205785777098e-05_r8, & + 7.9094615137460878e-05_r8, 7.6492492393782281e-05_r8, & + 8.6849981505388434e-05_r8, 0.00010290750789688795_r8, & + 0.00011571774025493244_r8, 0.00012361245561697773_r8, & + 0.00012738396117887684_r8, 0.00012727777364841014_r8, & + 0.00013554859591286277_r8, 0.00017341040058110505_r8, & + 0.00023970598642972861_r8, 0.00030962337756875889_r8, & + 0.00035467364223955999_r8, 0.00037813933459995868_r8, & + 0.00039211243169968058_r8, 0.00040308005882564672_r8, & + 0.00040879665920383345_r8, 0.00041276933338507617_r8, & + 0.00041280505131982738_r8 & + / +data saar_ref(:,21,85) / & + 6.7511196113027513e-06_r8, 6.1294864549108329e-06_r8, & + 6.6370966028287698e-06_r8, 8.0190913394849061e-06_r8, & + 7.7916434075606745e-06_r8, 7.4618634900103778e-06_r8, & + 6.937212761153774e-06_r8, 1.2552575370463291e-05_r8, & + 1.8851120411589295e-05_r8, 2.5887499261269122e-05_r8, & + 3.1570673120332745e-05_r8, 3.7960773750879722e-05_r8, & + 4.6410574252694873e-05_r8, 5.5089913015250813e-05_r8, & + 6.1794200570183778e-05_r8, 6.8995162213735485e-05_r8, & + 8.3089027705285389e-05_r8, 9.674446483050542e-05_r8, & + 0.00011065730890479823_r8, 0.00012378852838124579_r8, & + 0.00013047211013577175_r8, 0.00013040496976760845_r8, & + 0.00011912844813539225_r8, 0.00010606348958020278_r8, & + 9.3743664501629164e-05_r8, 8.3362305994575983e-05_r8, & + 7.7356275756078883e-05_r8, 7.5360774457775345e-05_r8, & + 8.7833401237010479e-05_r8, 0.00010585091600128415_r8, & + 0.00012288359897327228_r8, 0.00013255017072891464_r8, & + 0.00013460713444467986_r8, 0.00013140656526071956_r8, & + 0.00013410920471196373_r8, 0.0001649549998946781_r8, & + 0.00024038706959004136_r8, 0.00033060107606625852_r8, & + 0.00038689415940646311_r8, 0.00041302666296756934_r8, & + 0.00042846080647952284_r8, 0.00043728408333792518_r8, & + 0.00044192790016272089_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,85) / & + 7.1756385125707286e-06_r8, 6.8217392337791862e-06_r8, & + 6.2396884717986182e-06_r8, 7.9464687553547953e-06_r8, & + 7.6877969704321326e-06_r8, 7.9529132692685013e-06_r8, & + 1.1914163662833121e-05_r8, 2.034712891520244e-05_r8, & + 2.6900710246558347e-05_r8, 3.2211029334805839e-05_r8, & + 3.5272697914226374e-05_r8, 3.8126549183526936e-05_r8, & + 4.3230069300607771e-05_r8, 5.0816956347537026e-05_r8, & + 5.9271369930173295e-05_r8, 6.8590486777821833e-05_r8, & + 8.6294567842144749e-05_r8, 0.00010267524836672422_r8, & + 0.00011836419005586642_r8, 0.00012944638371549275_r8, & + 0.0001327029912048468_r8, 0.00013199089299778232_r8, & + 0.00012022516086674142_r8, 0.00010777301636282288_r8, & + 9.5631015051651067e-05_r8, 8.4868130239771863e-05_r8, & + 7.7834611876455211e-05_r8, 7.5022817648662536e-05_r8, & + 8.6353524341518505e-05_r8, 0.00010475931684134085_r8, & + 0.00012478935792604561_r8, 0.00013864995051868996_r8, & + 0.00014495916138760514_r8, 0.00014646862467813045_r8, & + 0.00014567249494552625_r8, 0.00016302927997336643_r8, & + 0.00023607323123609223_r8, 0.00034752961771293138_r8, & + 0.00042108564254115144_r8, 0.0004468203676849437_r8, & + 0.00046017080371152033_r8, 0.00046848669661103047_r8, & + 0.0004716362717275563_r8, 0.00046700333949364334_r8, 9e90_r8 & + / +data saar_ref(:,23,85) / & + 8.0684241348356711e-06_r8, 8.181100364861355e-06_r8, & + 5.9619300639381906e-06_r8, 5.8122454814465398e-06_r8, & + 6.6311720391422482e-06_r8, 7.4062623156710969e-06_r8, & + 1.3400363940241156e-05_r8, 2.2810662012498931e-05_r8, & + 2.8559379378666583e-05_r8, 3.2575575305969482e-05_r8, & + 3.5065315653366344e-05_r8, 3.7498626561915292e-05_r8, & + 4.3325404859994504e-05_r8, 5.2422913083881467e-05_r8, & + 6.2952847112211327e-05_r8, 7.4629574169204457e-05_r8, & + 9.2541524075761785e-05_r8, 0.0001088468912124731_r8, & + 0.00012413718150099253_r8, 0.00013418183438578701_r8, & + 0.00013689862999310127_r8, 0.00013437561508800256_r8, & + 0.00012352774861779271_r8, 0.00011172950353973457_r8, & + 0.0001007821337403372_r8, 9.0765921078523934e-05_r8, & + 8.4049185975249098e-05_r8, 8.3052557774350298e-05_r8, & + 9.6022715839278001e-05_r8, 0.0001160546640131075_r8, & + 0.00013492828039716857_r8, 0.00015070080514412846_r8, & + 0.00016205346787479555_r8, 0.00017023453894252823_r8, & + 0.00017655932845708837_r8, 0.00018743722191938908_r8, & + 0.00019787929255263273_r8, 0.00020898865773763065_r8, & + 0.00028204078105740349_r8, 0.00031408420050014802_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,85) / & + 1.0259100063725953e-05_r8, 1.0621894617274699e-05_r8, & + 8.0300200203183865e-06_r8, 7.3492560617677403e-06_r8, & + 9.2382496519084773e-06_r8, 1.1736493412005759e-05_r8, & + 1.8841878073093339e-05_r8, 3.0168947655505693e-05_r8, & + 3.5286913466753241e-05_r8, 3.9300782776549403e-05_r8, & + 4.1858527896991153e-05_r8, 4.5017873941153115e-05_r8, & + 5.1491050057526936e-05_r8, 5.9663203374279644e-05_r8, & + 6.8493976071647169e-05_r8, 7.8062653865311436e-05_r8, & + 9.5921428537161952e-05_r8, 0.00011173822409889903_r8, & + 0.00012649839517474607_r8, 0.00013760679932137837_r8, & + 0.00014029816826960102_r8, 0.00013872765637671944_r8, & + 0.00013017889694676098_r8, 0.00012042668069165821_r8, & + 0.00011133073807547751_r8, 0.00010289658029125113_r8, & + 9.8747223878865582e-05_r8, 9.8966467612064332e-05_r8, & + 0.0001120963917440223_r8, 0.00012943556433082034_r8, & + 0.00014660199097612923_r8, 0.0001625333808236361_r8, & + 0.00017536624223018845_r8, 0.00018568256048759628_r8, & + 0.00019652901946276487_r8, 0.00020463487160632765_r8, & + 0.00021067912852666839_r8, 0.00021628743936597615_r8, & + 0.00022222069203034774_r8, 0.00022776969566761711_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,85) / & + 9.8121693944502018e-06_r8, 9.9715908004671523e-06_r8, & + 8.3853621783274968e-06_r8, 9.6877474348631396e-06_r8, & + 1.3136854271265697e-05_r8, 2.0113357086498407e-05_r8, & + 3.0350724732558511e-05_r8, 3.8094303010495498e-05_r8, & + 4.2058318614877086e-05_r8, 4.5880193255186703e-05_r8, & + 4.8761324739802455e-05_r8, 5.1840204022352762e-05_r8, & + 5.7583922378663121e-05_r8, 6.2943912527495404e-05_r8, & + 6.8775176540941389e-05_r8, 7.5583208951503599e-05_r8, & + 9.149376697345801e-05_r8, 0.00010690848215317774_r8, & + 0.00011973062614142069_r8, 0.00012912969923327969_r8, & + 0.00013225360081177385_r8, 0.00013227506636783232_r8, & + 0.00012710553155135645_r8, 0.00012054646089343023_r8, & + 0.00011479818601744822_r8, 0.00010972322590001849_r8, & + 0.00010674514424536562_r8, 0.00010614898556883814_r8, & + 0.0001156407886418561_r8, 0.00013170328029533436_r8, & + 0.0001488293819018018_r8, 0.00016334820189352423_r8, & + 0.00017598610403003217_r8, 0.00018653828394527827_r8, & + 0.00019906891425191191_r8, 0.0002089499471008906_r8, & + 0.0002190645008904669_r8, 0.00022881466209070852_r8, & + 0.00023659915534923799_r8, 0.00024204621038882642_r8, & + 0.00024436007221795763_r8, 0.00024451312717377479_r8, & + 0.00024745062041495864_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,85) / & + 5.7867270253314348e-06_r8, 6.3077060655799483e-06_r8, & + 5.5918738644931822e-06_r8, 5.5357827905675697e-06_r8, & + 7.5798103012923516e-06_r8, 1.357364878984484e-05_r8, & + 2.4534408706803819e-05_r8, 3.1991492591882261e-05_r8, & + 3.6861062232025676e-05_r8, 4.1803273144553585e-05_r8, & + 4.4999340158660273e-05_r8, 4.8241536270597679e-05_r8, & + 5.427459541284826e-05_r8, 5.9767906617565498e-05_r8, & + 6.4925221580039194e-05_r8, 7.1182474364080362e-05_r8, & + 8.6400963985015482e-05_r8, 0.00010048066695745927_r8, & + 0.00011280004110968582_r8, 0.00012284767477360023_r8, & + 0.00012784643882803235_r8, 0.00013016543358892129_r8, & + 0.00012651504498059879_r8, 0.00012178891383680865_r8, & + 0.00011783533303670638_r8, 0.00011440235649907323_r8, & + 0.00011192526002880629_r8, 0.00011150449370093524_r8, & + 0.00011890095850499531_r8, 0.00013535552466448876_r8, & + 0.00015077358897891313_r8, 0.00016438124472235288_r8, & + 0.00017725224257442886_r8, 0.00019207531485873212_r8, & + 0.00020572065785941476_r8, 0.00022000859158589745_r8, & + 0.00023216065724380701_r8, 0.00024320888470424001_r8, & + 0.00025119161145427599_r8, 0.00025623587125223209_r8, & + 0.0002577323153340399_r8, 0.00025957743575798833_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,85) / & + 3.5436007998935464e-06_r8, 4.8013810521239986e-06_r8, & + 5.7201810894963556e-06_r8, 6.0250622891844736e-06_r8, & + 6.6269643022661137e-06_r8, 8.9132962160361824e-06_r8, & + 1.0831263180227516e-05_r8, 1.5654179668600818e-05_r8, & + 2.1955846093679645e-05_r8, 2.8568564954737362e-05_r8, & + 3.2490271100988293e-05_r8, 3.5741717421909012e-05_r8, & + 4.1511138587015551e-05_r8, 4.7569020825063968e-05_r8, & + 5.4161198989106482e-05_r8, 6.1232919178959752e-05_r8, & + 7.8532468621070185e-05_r8, 9.6286021975571718e-05_r8, & + 0.00011101255745637913_r8, 0.00012326175871389826_r8, & + 0.00012906909029498172_r8, 0.00012869012763596339_r8, & + 0.00012596995911118381_r8, 0.00012333876084058814_r8, & + 0.00012097493897311318_r8, 0.00012029285756399911_r8, & + 0.00012091302352271507_r8, 0.0001265739433835956_r8, & + 0.00013838304249547492_r8, 0.00015317241032934668_r8, & + 0.00016828436157153388_r8, 0.00018277550349292439_r8, & + 0.0001991657919731112_r8, 0.00021754028516340502_r8, & + 0.00023390865096622308_r8, 0.00024681410896344632_r8, & + 0.00025335172372942992_r8, 0.00025634861549770992_r8, & + 0.00025705127312475101_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,28,85) / & + 4.8473491724151641e-06_r8, 6.3586186206253811e-06_r8, & + 7.0497418814222944e-06_r8, 7.6539308210384278e-06_r8, & + 6.7238033548926762e-06_r8, 6.6931881019290694e-06_r8, & + 6.4863300293812237e-06_r8, 7.777637503512743e-06_r8, & + 1.0457200336950315e-05_r8, 1.3608268521445829e-05_r8, & + 1.6028887064927718e-05_r8, 1.8575019249476766e-05_r8, & + 2.3285567581011445e-05_r8, 2.7600588644814682e-05_r8, & + 3.4527095843229522e-05_r8, 4.0889752471519706e-05_r8, & + 5.650137935740792e-05_r8, 7.8028343384053457e-05_r8, & + 9.8527078557331986e-05_r8, 0.0001145254089395253_r8, & + 0.00012252957935560314_r8, 0.00012432073522339465_r8, & + 0.00012345257347832833_r8, 0.0001219767838744315_r8, & + 0.0001217505745937057_r8, 0.00012293463205628901_r8, & + 0.00012565634341652517_r8, 0.00013557451458746223_r8, & + 0.0001505264494688355_r8, 0.00016457362961681588_r8, & + 0.00017943906251606233_r8, 0.00019558082417146837_r8, & + 0.00021366302603811291_r8, 0.00023202750875203084_r8, & + 0.00024796534221143557_r8, 0.00025870308985047579_r8, & + 0.00026576838972893667_r8, 0.0002688247394938973_r8, & + 0.00026981714054859462_r8, 0.00027169205718057156_r8, & + 0.00027393853532901754_r8, 0.00027458093550131001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,85) / & + 6.4914526180589809e-06_r8, 7.4214873164219937e-06_r8, & + 6.3439135433193205e-06_r8, 4.0710117375162159e-06_r8, & + 3.6152511455977775e-06_r8, 3.9086477793394077e-06_r8, & + 5.4022196740290682e-06_r8, 6.9845961326278191e-06_r8, & + 6.5985205059868202e-06_r8, 6.9911710242856144e-06_r8, & + 8.1957127140092347e-06_r8, 9.6606485387360293e-06_r8, & + 1.300430105828411e-05_r8, 1.7297179258219265e-05_r8, & + 2.2006271984654019e-05_r8, 2.6841099499052893e-05_r8, & + 3.7522986588275069e-05_r8, 5.3360279423804221e-05_r8, & + 7.384535338574388e-05_r8, 9.2104964442383158e-05_r8, & + 0.00010313434172307638_r8, 0.0001083506328399982_r8, & + 0.00010998858035402085_r8, 0.00011071961861724065_r8, & + 0.00011285283381830201_r8, 0.00011556594187893119_r8, & + 0.00011957837785557905_r8, 0.00013189996138520901_r8, & + 0.00014716897486141722_r8, 0.00016330513160796911_r8, & + 0.0001800121519322539_r8, 0.00019932413052284377_r8, & + 0.00021926786849971346_r8, 0.00023661702743659353_r8, & + 0.00025222281119298363_r8, 0.00026278423060388024_r8, & + 0.00027126107352662101_r8, 0.00027734309725229768_r8, & + 0.00028064336449579619_r8, 0.00028251184287340371_r8, & + 0.00028427802690630591_r8, 0.00028789655804629114_r8, & + 0.00028734316908734993_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,85) / & + 6.6470351271530869e-06_r8, 7.3139163839105657e-06_r8, & + 6.1545555490242793e-06_r8, 4.1790034100734772e-06_r8, & + 4.387330952796814e-06_r8, 4.8721415493915589e-06_r8, & + 5.4790453553884102e-06_r8, 6.6335720278578883e-06_r8, & + 6.3296786349765197e-06_r8, 7.2493599628626012e-06_r8, & + 8.4891979833679807e-06_r8, 9.970048037993213e-06_r8, & + 1.3263519193417945e-05_r8, 1.6673159253910007e-05_r8, & + 2.0292670263655689e-05_r8, 2.3832978239132024e-05_r8, & + 3.1138818887491981e-05_r8, 4.0287067467517578e-05_r8, & + 5.3905172227051617e-05_r8, 6.7372714404835058e-05_r8, & + 7.7583194193401125e-05_r8, 8.4827317690532402e-05_r8, & + 8.781856924356211e-05_r8, 8.9968967304628286e-05_r8, & + 9.2276025418044536e-05_r8, 9.5322342422654352e-05_r8, & + 9.8999526900267034e-05_r8, 0.00010917201830754494_r8, & + 0.00012545376056082106_r8, 0.00014550738449397576_r8, & + 0.0001669772434927637_r8, 0.00019220798830769852_r8, & + 0.00021611764223530063_r8, 0.0002349566541074685_r8, & + 0.00025103965895348422_r8, 0.00026302964522698482_r8, & + 0.00027328560605099943_r8, 0.0002809288604593901_r8, & + 0.00028697430138215687_r8, 0.00029035800937898945_r8, & + 0.00029157474032416044_r8, 0.00029082502904388691_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,85) / & + 7.2730744166377559e-06_r8, 7.3890244653280906e-06_r8, & + 6.7331206780149686e-06_r8, 6.3881119349392064e-06_r8, & + 6.78009272013672e-06_r8, 7.0894437799441545e-06_r8, & + 7.1427600712352059e-06_r8, 8.8350307016270276e-06_r8, & + 9.7834241619874355e-06_r8, 1.1184902965127222e-05_r8, & + 1.2813149098406836e-05_r8, 1.4841272441655821e-05_r8, & + 1.8014412045702121e-05_r8, 2.1501403997459719e-05_r8, & + 2.4835157351149605e-05_r8, 2.7794600563437134e-05_r8, & + 3.3825252456330589e-05_r8, 4.2332921306591192e-05_r8, & + 5.372109636337548e-05_r8, 6.3730689134332865e-05_r8, & + 7.0733889401403778e-05_r8, 7.486285574189533e-05_r8, & + 7.7135723717914088e-05_r8, 7.8893739982657403e-05_r8, & + 8.109230704042553e-05_r8, 8.3316167467487618e-05_r8, & + 8.5719508492321041e-05_r8, 9.2637052244531225e-05_r8, & + 0.00010776358286835949_r8, 0.00012926413241301583_r8, & + 0.00015414702470544929_r8, 0.00018332526026343152_r8, & + 0.00020961756831702245_r8, 0.00023181122937295813_r8, & + 0.00024987698406286055_r8, 0.00026396106077016093_r8, & + 0.00027735156439020618_r8, 0.00028637998772193258_r8, & + 0.00029422829668673887_r8, 0.00029890680647677039_r8, & + 0.00030157427430715342_r8, 0.00030289547480734244_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,32,85) / & + 7.4955619466403676e-06_r8, 7.4304864410348466e-06_r8, & + 7.8939340472916625e-06_r8, 7.5213608292939837e-06_r8, & + 7.9174767856834565e-06_r8, 8.2863666147352096e-06_r8, & + 1.078617543916662e-05_r8, 1.3493570226289131e-05_r8, & + 1.5074070070701599e-05_r8, 1.6713800636431153e-05_r8, & + 1.811256553547296e-05_r8, 1.9601949931622374e-05_r8, & + 2.2668965849564556e-05_r8, 2.5617357024090415e-05_r8, & + 2.8154979102992288e-05_r8, 3.0980013495632005e-05_r8, & + 3.7418588428922612e-05_r8, 4.6919084650786763e-05_r8, & + 5.7289340494734302e-05_r8, 6.6268865970521985e-05_r8, & + 7.1536820232258878e-05_r8, 7.3830239689527452e-05_r8, & + 7.576276801867677e-05_r8, 7.7678017181654493e-05_r8, & + 7.9768300582076481e-05_r8, 8.1379570804535794e-05_r8, & + 8.2821206033408554e-05_r8, 8.7875459166960077e-05_r8, & + 9.9057862562618537e-05_r8, 0.00012094766791562192_r8, & + 0.00014717364697529176_r8, 0.00017913212454708928_r8, & + 0.00020829554689178262_r8, 0.00023626276217548426_r8, & + 0.00025670720670227401_r8, 0.00027010187481703773_r8, & + 0.00028519885379904965_r8, 0.00029585331733514856_r8, & + 0.00030482821628086864_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,85) / & + 7.5499898330567601e-06_r8, 8.3087790107439963e-06_r8, & + 8.3182013304007446e-06_r8, 7.8770467259132516e-06_r8, & + 8.774366562289182e-06_r8, 9.8683671840002895e-06_r8, & + 1.2152731593124224e-05_r8, 1.5737036269134602e-05_r8, & + 1.762554269232462e-05_r8, 1.9063196105102074e-05_r8, & + 2.0346832626815461e-05_r8, 2.1600923373091255e-05_r8, & + 2.3761399251054294e-05_r8, 2.6160317438032285e-05_r8, & + 2.8595181271275114e-05_r8, 3.1578834162733728e-05_r8, & + 3.8672689026224462e-05_r8, 4.8289407661152941e-05_r8, & + 5.9734627213202444e-05_r8, 6.8754915711132476e-05_r8, & + 7.4131539390253815e-05_r8, 7.6860197673155398e-05_r8, & + 7.8659245108097942e-05_r8, 8.0056473689023682e-05_r8, & + 8.105301196031052e-05_r8, 8.2063356715359132e-05_r8, & + 8.2755478867729422e-05_r8, 8.6314495719665296e-05_r8, & + 9.4766244103217844e-05_r8, 0.00011329596441283229_r8, & + 0.0001382702091295132_r8, 0.00016778317036318343_r8, & + 0.00020170845288632955_r8, 0.0002361075661537347_r8, & + 0.00026449758450476098_r8, 0.00027697065015210335_r8, & + 0.00029031111592362792_r8, 0.00030597716664134626_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,85) / & + 9.5215762374011342e-06_r8, 1.0867827590691445e-05_r8, & + 8.9598402944882662e-06_r8, 1.3100083619651027e-05_r8, & + 1.4574680845332838e-05_r8, 1.5896656078949149e-05_r8, & + 1.6760775498512194e-05_r8, 2.0305131538769324e-05_r8, & + 2.2430811581189558e-05_r8, 2.4159721062986606e-05_r8, & + 2.5669565098434312e-05_r8, 2.7239951896834506e-05_r8, & + 2.9070197959469727e-05_r8, 3.1861862984207334e-05_r8, & + 3.4638871776588868e-05_r8, 3.835283944903266e-05_r8, & + 4.8037979527681718e-05_r8, 5.9562352156980982e-05_r8, & + 7.0717821586014398e-05_r8, 7.7376128690461132e-05_r8, & + 8.0733288085927781e-05_r8, 8.2509671775533386e-05_r8, & + 8.3071030563593043e-05_r8, 8.3294068034180495e-05_r8, & + 8.3356579759231311e-05_r8, 8.3624028386869811e-05_r8, & + 8.3716587695060188e-05_r8, 8.58250127311317e-05_r8, & + 9.1400525981186068e-05_r8, 0.00010528718865707368_r8, & + 0.00012753097282375213_r8, 0.00015818900020687633_r8, & + 0.00019358821553222026_r8, 0.00022407870739750866_r8, & + 0.00025777204018715967_r8, 0.00029287758353426576_r8, & + 0.00031034080254336264_r8, 0.00032119605951372353_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,85) / & + 1.1395994590350274e-05_r8, 1.2497520152977033e-05_r8, & + 1.1184741775750294e-05_r8, 1.987153288452915e-05_r8, & + 2.2384995484080677e-05_r8, 2.3615231603335797e-05_r8, & + 2.21903282375378e-05_r8, 2.6006902464904538e-05_r8, & + 3.033215387731576e-05_r8, 3.3642851378005775e-05_r8, & + 3.59266450352834e-05_r8, 3.8366586901863051e-05_r8, & + 4.1828512027870752e-05_r8, 4.6381679003967359e-05_r8, & + 5.1029902632135758e-05_r8, 5.6770544025886941e-05_r8, & + 6.8467756169899951e-05_r8, 7.8377509883118595e-05_r8, & + 8.4262465113581602e-05_r8, 8.6446590235807094e-05_r8, & + 8.685120453744926e-05_r8, 8.6644752842701271e-05_r8, & + 8.659615472792391e-05_r8, 8.627074595394282e-05_r8, & + 8.6093188624797236e-05_r8, 8.5983152128859104e-05_r8, & + 8.5819980188318098e-05_r8, 8.7482839814690175e-05_r8, & + 9.3187798875918367e-05_r8, 0.00010363252438404157_r8, & + 0.00012057506148694091_r8, 0.00015121682010498473_r8, & + 0.00018348333623513556_r8, 0.00021744007322184613_r8, & + 0.00025636539063327647_r8, 0.00029466718509661672_r8, & + 0.00032007444708015669_r8, 0.00033416305905799033_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,85) / & + 1.642837048293135e-05_r8, 1.6568077758598295e-05_r8, & + 1.3929362807549284e-05_r8, 2.5147115861625366e-05_r8, & + 2.8510688367969542e-05_r8, 3.0454074251325872e-05_r8, & + 3.0856747013077756e-05_r8, 3.7511663087412317e-05_r8, & + 4.2593593028581527e-05_r8, 4.5626596559670708e-05_r8, & + 4.7909436211196272e-05_r8, 5.0147775437252285e-05_r8, & + 5.3765307754425694e-05_r8, 5.7489663577040177e-05_r8, & + 6.2151899050766988e-05_r8, 6.6395434774509625e-05_r8, & + 7.4904743604682712e-05_r8, 8.223821105387767e-05_r8, & + 8.637935839616784e-05_r8, 8.8489625636012533e-05_r8, & + 8.9064441266026878e-05_r8, 8.8926605064708591e-05_r8, & + 8.8781503968578433e-05_r8, 8.8463807290795502e-05_r8, & + 8.8286801830052877e-05_r8, 8.8297809176249428e-05_r8, & + 8.8640381777276071e-05_r8, 9.1286154117554039e-05_r8, & + 9.8051438181383173e-05_r8, 0.00010999678513527205_r8, & + 0.00012622491628470615_r8, 0.00014956518937602969_r8, & + 0.00017677242683372072_r8, 0.00021311672265746676_r8, & + 0.00025108416237870721_r8, 0.00030085762899310849_r8, & + 0.00031886990518616848_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,85) / & + 2.5896759360712454e-05_r8, 2.5192299655705152e-05_r8, & + 2.0256984991125529e-05_r8, 3.1557222008736979e-05_r8, & + 3.6213712357731627e-05_r8, 4.0679977012646318e-05_r8, & + 4.6539605582805415e-05_r8, 5.0508632574043106e-05_r8, & + 5.2532242005745648e-05_r8, 5.3968179023105072e-05_r8, & + 5.5179605296213781e-05_r8, 5.5740978101358843e-05_r8, & + 5.7859941026641846e-05_r8, 5.9625923617498129e-05_r8, & + 6.1971728427140106e-05_r8, 6.4215598677799427e-05_r8, & + 6.9415982089201167e-05_r8, 7.4900653969726982e-05_r8, & + 8.0494604638927094e-05_r8, 8.5549424785632359e-05_r8, & + 8.8252559517600703e-05_r8, 8.8991907901932998e-05_r8, & + 8.9007016349526371e-05_r8, 8.8755430816067865e-05_r8, & + 8.855133260859541e-05_r8, 8.8614535486473376e-05_r8, & + 8.890301011719209e-05_r8, 9.1035833524350871e-05_r8, & + 9.6255230950396522e-05_r8, 0.00010637627389847478_r8, & + 0.00012252505804348545_r8, 0.00013622782627447324_r8, & + 0.00015571091084312451_r8, 0.00019311050312635107_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,85) / & + 3.9804197421927968e-05_r8, 3.9381176008569754e-05_r8, & + 3.7489023019679715e-05_r8, 4.0317008354383951e-05_r8, & + 4.4296180161611599e-05_r8, 4.7957307574285555e-05_r8, & + 5.4070910928045237e-05_r8, 5.8029779534970953e-05_r8, & + 5.9578483332579862e-05_r8, 6.0827116506773039e-05_r8, & + 6.1680641295821696e-05_r8, 6.280022375288583e-05_r8, & + 6.4914420533121491e-05_r8, 6.602182485557574e-05_r8, & + 6.6941137620109232e-05_r8, 6.7891241983771011e-05_r8, & + 7.0050362642147955e-05_r8, 7.3437489346602947e-05_r8, & + 7.8153730892797845e-05_r8, 8.305630453068001e-05_r8, & + 8.6233796218119403e-05_r8, 8.6787193662298093e-05_r8, & + 8.7022239472752346e-05_r8, 8.6932431388302034e-05_r8, & + 8.7527756610578054e-05_r8, 8.8142408209918895e-05_r8, & + 8.8686615363160911e-05_r8, 9.1096023697838976e-05_r8, & + 9.5854020406721568e-05_r8, 0.00010441301543177138_r8, & + 0.00011565101965326986_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,85) / & + 4.0344910023667098e-05_r8, 4.2089727629455288e-05_r8, & + 4.4214783949348777e-05_r8, 4.6863456141715655e-05_r8, & + 4.9966568170879854e-05_r8, 5.5370459008465717e-05_r8, & + 6.2186411324961454e-05_r8, 6.4028983138826552e-05_r8, & + 6.4659294280198116e-05_r8, 6.503668373369315e-05_r8, & + 6.5353069307841024e-05_r8, 6.6630075791092902e-05_r8, & + 6.7213103161346729e-05_r8, 6.5705399548080787e-05_r8, & + 6.4866947861091264e-05_r8, 6.4393606300715286e-05_r8, & + 6.5306572459717407e-05_r8, 6.5980501759597455e-05_r8, & + 6.716289690412003e-05_r8, 6.9105959391655011e-05_r8, & + 7.024461712495769e-05_r8, 7.1238341538285647e-05_r8, & + 7.2282248554418119e-05_r8, 6.9739118499105294e-05_r8, & + 6.9428841836962106e-05_r8, 6.9836926016893035e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,85) / & + 3.8065021588840574e-05_r8, 4.0886568934683207e-05_r8, & + 4.3202924361679997e-05_r8, 5.0689607634703975e-05_r8, & + 5.4544100484258309e-05_r8, 5.8893821395211403e-05_r8, & + 6.6414766320398933e-05_r8, 6.5465839911816364e-05_r8, & + 6.5455727504824343e-05_r8, 6.5447778624513387e-05_r8, & + 6.5584581450934615e-05_r8, 6.6549849969340343e-05_r8, & + 6.6490718206858821e-05_r8, 6.5385197802493499e-05_r8, & + 6.5296873024485935e-05_r8, 6.5335855345600443e-05_r8, & + 6.6725951120648449e-05_r8, 6.781443642374931e-05_r8, & + 6.9330359975479372e-05_r8, 7.160696754970422e-05_r8, & + 7.3232109535185507e-05_r8, 7.4575883261420164e-05_r8, & + 7.5388352748726053e-05_r8, 7.3379401272901683e-05_r8, & + 7.3360584370612124e-05_r8, 7.3912244395384267e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,41,85) / & + 4.2270937408846144e-05_r8, 4.3941475908643628e-05_r8, & + 4.6133638767045565e-05_r8, 7.3259963271575147e-05_r8, & + 7.2726134213785303e-05_r8, 7.1824801444011493e-05_r8, & + 7.6238110432856366e-05_r8, 7.1157158047217928e-05_r8, & + 6.8310405040980426e-05_r8, 6.758791784729219e-05_r8, & + 6.615075137261767e-05_r8, 6.4862846944607197e-05_r8, & + 6.2451324698427029e-05_r8, 6.242354137911719e-05_r8, & + 6.3586367936641303e-05_r8, 6.5950056663735367e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,85) / & + 4.8321111613063579e-05_r8, 5.9087663198685543e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,43,85) / & + 0.00010936151441997831_r8, 0.00011291006821919542_r8, & + 0.00010870420372523119_r8, 0.00013303477814413249_r8, & + 0.00013285156635420344_r8, 0.00012718396765679183_r8, & + 0.00012998596232265309_r8, 0.00012373658322609586_r8, & + 0.00010848656940582509_r8, 9.6514888354209724e-05_r8, & + 9.2277591191601761e-05_r8, 8.62055295286171e-05_r8, & + 7.9036007513042346e-05_r8, 8.0353947575630897e-05_r8, & + 7.6179915456594188e-05_r8, 7.7137984194678666e-05_r8, & + 7.2054495842968896e-05_r8, 7.7398483178054973e-05_r8, & + 7.9872034919073408e-05_r8, 8.4233656681439645e-05_r8, & + 8.6437663664371749e-05_r8, 8.6941868859811131e-05_r8, & + 9.2144158679682516e-05_r8, 9.5280188503437979e-05_r8, & + 9.6691419834825758e-05_r8, 9.9420804953534675e-05_r8, & + 0.00010285877294736284_r8, 0.00010984309675347455_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,85) / & + 0.0001058775683286355_r8, 0.00011387633775770254_r8, & + 0.00010996535498689235_r8, 0.00013279071601146567_r8, & + 0.00013534219021698639_r8, 0.00013208027854753191_r8, & + 0.00012817697948715485_r8, 0.00011906961565356462_r8, & + 9.8594016639418005e-05_r8, 8.8433138742180978e-05_r8, & + 8.5880746903312444e-05_r8, 8.2838737417555494e-05_r8, & + 7.869981381514544e-05_r8, 8.0413825073736591e-05_r8, & + 7.5736928332835986e-05_r8, 7.723141499787731e-05_r8, & + 7.1578049000773624e-05_r8, 7.6240879965437162e-05_r8, & + 7.8485065316202891e-05_r8, 8.330854412068187e-05_r8, & + 8.6976191596514738e-05_r8, 8.7124090548692609e-05_r8, & + 9.2687873879786177e-05_r8, 9.5906822706944941e-05_r8, & + 9.6702471034730518e-05_r8, 9.9625788728263334e-05_r8, & + 0.0001035956691454344_r8, 0.00011239824078735221_r8, & + 0.00011470980511942153_r8, 0.00011687104106744472_r8, & + 0.00011720190105443085_r8, 0.00011821383371932487_r8, & + 0.00011951220068648858_r8, 0.00011996464731767629_r8, & + 0.00012053399488920867_r8, 0.00012040128206912769_r8, & + 0.00012099856335237562_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,85) / & + 9.4337215472294333e-05_r8, 0.00011437170785609387_r8, & + 0.0001113542610785729_r8, 0.00012555100267227717_r8, & + 0.00013620937930572093_r8, 0.00013738069987135525_r8, & + 0.00012162644883286725_r8, 9.8129592205105763e-05_r8, & + 7.5788278684567204e-05_r8, 7.2767610055547315e-05_r8, & + 7.2383883750815829e-05_r8, 7.2451018699223405e-05_r8, & + 7.0932744905895001e-05_r8, 7.2485181243972855e-05_r8, & + 7.1870636868417366e-05_r8, 7.3378899059196192e-05_r8, & + 7.1978454514521242e-05_r8, 7.3734052388761253e-05_r8, & + 7.6135245431760786e-05_r8, 7.9472051505956117e-05_r8, & + 8.3528901588253006e-05_r8, 8.6237670692956367e-05_r8, & + 9.0770435936642335e-05_r8, 9.5172721339055344e-05_r8, & + 9.9427840474732815e-05_r8, 0.00010354010485381771_r8, & + 0.00010923783003160955_r8, 0.00011806118652926261_r8, & + 0.00011881226017925436_r8, 0.00011903356292613268_r8, & + 0.00011968747746978437_r8, 0.00012044207060212839_r8, & + 0.00012115839139037837_r8, 0.00012127267256067889_r8, & + 0.00012181795291705412_r8, 0.00012197536794648956_r8, & + 0.00012430852825309099_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,86) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,86) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,86) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,86) / & + 0.00013279609659336061_r8, 0.00013470296081499245_r8, & + 0.00013745709406202944_r8, 0.00014286564256673609_r8, & + 0.00014203142151936475_r8, 0.00014160688709035407_r8, & + 0.00014669346603298237_r8, 0.00015382839682657112_r8, & + 0.00015932459906868265_r8, 0.00016778925458004718_r8, & + 0.000175916622534462_r8, 0.00017927696841657054_r8, & + 0.00018296982457506394_r8, 0.00018883532587452253_r8, & + 0.00019300449251427932_r8, 0.00020032070354338897_r8, & + 0.00021743710254493572_r8, 0.00021913303283472332_r8, & + 0.00022582051879780089_r8, 0.00023067567112589597_r8, & + 0.00023692591040968769_r8, 0.0002445340300845744_r8, & + 0.00024702909869751003_r8, 0.00025106711345156796_r8, & + 0.00025458400897148775_r8, 0.00025653645657157062_r8, & + 0.00025804193539376996_r8, 0.00025905957328427277_r8, & + 0.0002600404148421962_r8, 0.00026041329858573901_r8, & + 0.0002600270273501815_r8, 0.00026005353522599465_r8, & + 0.00025816163388279697_r8, 0.00025701698625413342_r8, & + 0.00025714261631093097_r8, 0.00025826211898447954_r8, & + 0.00026398090910800359_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,86) / & + 0.00014868495720817427_r8, 0.00015142520340152244_r8, & + 0.00015011162203322167_r8, 0.00015236221081645128_r8, & + 0.00014401338885988962_r8, 0.00014666072753376498_r8, & + 0.00015774307879145143_r8, 0.00016458051432380414_r8, & + 0.00017323718926307333_r8, 0.00018539783864972398_r8, & + 0.00019452093400118661_r8, 0.00020179270409027215_r8, & + 0.00020920848092312208_r8, 0.00021355742917133252_r8, & + 0.0002176967653974416_r8, 0.00022151113735485294_r8, & + 0.00023147631038489304_r8, 0.00023420374944181405_r8, & + 0.0002400698857286179_r8, 0.0002438992923592128_r8, & + 0.00024773394593172713_r8, 0.00025261996985639467_r8, & + 0.00025470337086551235_r8, 0.00025698658046496712_r8, & + 0.00025913901762996072_r8, 0.00026033679463526797_r8, & + 0.00026107866319700912_r8, 0.00026157766896795447_r8, & + 0.00026205216339282843_r8, 0.00026207919894171648_r8, & + 0.00026197185136805294_r8, 0.00026177078370138144_r8, & + 0.00025974165320791486_r8, 0.00025899960801474905_r8, & + 0.00025957125164436902_r8, 0.00026087353296842385_r8, & + 0.00026506629598392687_r8, 0.00026750829033154907_r8, & + 0.00026390233348140107_r8, 0.00025512482403119687_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,86) / & + 0.00014154909473389481_r8, 0.00014209316594667487_r8, & + 0.00013849864835668949_r8, 0.00015013679661493045_r8, & + 0.00014462899302905081_r8, 0.00015040781501989494_r8, & + 0.00016344509257607755_r8, 0.00016857730511751721_r8, & + 0.00017578087976831522_r8, 0.0001912092763041749_r8, & + 0.00020437254359581075_r8, 0.00021744537588170554_r8, & + 0.0002316720390736328_r8, 0.00023676197634600366_r8, & + 0.00024091817903764502_r8, 0.00024421197961031483_r8, & + 0.00025009452696476454_r8, 0.00025285677102405648_r8, & + 0.00025547685818276257_r8, 0.00025724490880222716_r8, & + 0.00025826465259209545_r8, 0.00026185992676346363_r8, & + 0.00026180639845057294_r8, 0.00026260548457752363_r8, & + 0.00026326759882536616_r8, 0.00026373862854901401_r8, & + 0.00026371253296015223_r8, 0.00026313729201073681_r8, & + 0.00026274065372709792_r8, 0.00026313603860920169_r8, & + 0.00026379313175867956_r8, 0.00026272277600482464_r8, & + 0.0002618260960028895_r8, 0.00026106243127391101_r8, & + 0.0002606907051986614_r8, 0.00026069574461052582_r8, & + 0.00025975112238760435_r8, 0.00025708372615411402_r8, & + 0.00025507959597737158_r8, 0.00025167246476839194_r8, & + 0.0002476829891644449_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,86) / & + 9.7572428059988748e-05_r8, 9.8331587907183552e-05_r8, & + 9.8638824375905443e-05_r8, 0.00011852561768517334_r8, & + 0.00012509771049784292_r8, 0.00013431262046736641_r8, & + 0.00014732407347636085_r8, 0.00015974084522323129_r8, & + 0.00016612137277114306_r8, 0.00017561134219124829_r8, & + 0.00018732036586789546_r8, 0.00020640876744459129_r8, & + 0.00022033773245473874_r8, 0.00022848507040199779_r8, & + 0.00023236399366264695_r8, 0.00023544758769733758_r8, & + 0.00023986800518031881_r8, 0.00024230510343822785_r8, & + 0.00024478578569633814_r8, 0.00024715982520793226_r8, & + 0.00024882834959672005_r8, 0.00025127322576742634_r8, & + 0.00025129482457038891_r8, 0.00025295322874081876_r8, & + 0.00025457097856177981_r8, 0.00025602362021190356_r8, & + 0.00025714231344975186_r8, 0.0002592815204000239_r8, & + 0.00026118546329131285_r8, 0.00026290397063558535_r8, & + 0.00026352965138006163_r8, 0.00026289395438580405_r8, & + 0.00026112872117516181_r8, 0.00025982006506287047_r8, & + 0.00025850634980930379_r8, 0.00025576752241806319_r8, & + 0.00025247177608125269_r8, 0.00025014483969453075_r8, & + 0.000249756943889961_r8, 0.00024882894685083687_r8, & + 0.00024817006399006913_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,86) / & + 5.0619475562821881e-05_r8, 5.3371453588266652e-05_r8, & + 5.3446404269564571e-05_r8, 6.408064621176377e-05_r8, & + 7.2345129767716252e-05_r8, 7.8320140475011163e-05_r8, & + 9.1942596546394336e-05_r8, 0.00011517128433088651_r8, & + 0.00013279389861431203_r8, 0.00014795092114748749_r8, & + 0.00015851212388669363_r8, 0.00017193936115573132_r8, & + 0.0001858193325912684_r8, 0.00019687572878641203_r8, & + 0.00020257583083706807_r8, 0.00020648954982886735_r8, & + 0.00021330981341629714_r8, 0.000218267610383453_r8, & + 0.00022367778724196612_r8, 0.00022771242414184093_r8, & + 0.00023105232944688935_r8, 0.00023404579431058164_r8, & + 0.00023555736771858947_r8, 0.00023769488130598131_r8, & + 0.00024058606980188581_r8, 0.00024244171335138404_r8, & + 0.00024448172701559454_r8, 0.00024952468446757625_r8, & + 0.00025384829128614666_r8, 0.00025685155672350893_r8, & + 0.00025895047198240832_r8, 0.00026011991950989759_r8, & + 0.00026074387214026975_r8, 0.00026122632908913489_r8, & + 0.00026173095544243817_r8, 0.00026118947061668678_r8, & + 0.00026103643247236242_r8, 0.00026044242384814441_r8, & + 0.00025876473302566694_r8, 0.0002529731166999542_r8, & + 0.00025191020755564324_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,86) / & + 2.4530543422422296e-05_r8, 2.6294467994610505e-05_r8, & + 2.5236905762159313e-05_r8, 4.6276795061145001e-05_r8, & + 4.7015301657592565e-05_r8, 4.8747042800398607e-05_r8, & + 5.3713818768117086e-05_r8, 6.3480617994706904e-05_r8, & + 8.014375068625389e-05_r8, 9.6529557683263037e-05_r8, & + 0.00011140146190276494_r8, 0.00012639028030073633_r8, & + 0.00014698424112336809_r8, 0.00016274450520251587_r8, & + 0.00017323822843360857_r8, 0.00018018664052165331_r8, & + 0.00019072643222840447_r8, 0.00019840259629592155_r8, & + 0.00020424638460012149_r8, 0.00020811916260426492_r8, & + 0.00021130077537996814_r8, 0.00021491299231099218_r8, & + 0.00021729442641553424_r8, 0.00022016683081902289_r8, & + 0.00022312142919072493_r8, 0.00022537731983984571_r8, & + 0.00022817312332169365_r8, 0.0002332799656666076_r8, & + 0.00023845140145764451_r8, 0.00024323473831748831_r8, & + 0.00024776014672950813_r8, 0.00025088865699337436_r8, & + 0.00025344701040684771_r8, 0.00025526363097800177_r8, & + 0.00025785951167529451_r8, 0.00025959442111396768_r8, & + 0.0002609651988536711_r8, 0.00026183429048448528_r8, & + 0.00026072315935721176_r8, 0.00025239014599958012_r8, & + 0.00025054522806254196_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,86) / & + 1.4576074978906451e-05_r8, 1.5124084881281016e-05_r8, & + 1.4987394412057389e-05_r8, 1.8867830762993043e-05_r8, & + 1.9040108721317438e-05_r8, 2.0592800112212659e-05_r8, & + 2.2524084572345346e-05_r8, 2.6420243633256366e-05_r8, & + 3.4710126643725791e-05_r8, 4.3704354523997501e-05_r8, & + 5.1860694173470369e-05_r8, 6.0550445281539324e-05_r8, & + 7.2691851063327626e-05_r8, 8.5936030680816542e-05_r8, & + 9.7900039432328802e-05_r8, 0.00010848624260670777_r8, & + 0.00012647297646101505_r8, 0.00014232481604683808_r8, & + 0.00015496757297576487_r8, 0.0001635676311667422_r8, & + 0.00016973007195085537_r8, 0.00017418809863215117_r8, & + 0.00017702556345406794_r8, 0.00017901438903772767_r8, & + 0.00018050086661818704_r8, 0.00018162961013548084_r8, & + 0.00018384602285454358_r8, 0.0001914374407331708_r8, & + 0.00020388683506584275_r8, 0.00021626867172026232_r8, & + 0.0002273367385898977_r8, 0.00023563020994575985_r8, & + 0.00024217325188897841_r8, 0.00024851414453830231_r8, & + 0.00025365967161933479_r8, 0.00025804515644250531_r8, & + 0.00025949850753546937_r8, 0.00025949291143185105_r8, & + 0.00026259654760297819_r8, 0.0002636442325134776_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,86) / & + 7.9446250971565868e-06_r8, 7.7446910436577392e-06_r8, & + 6.4703289758370145e-06_r8, 7.2409540705921839e-06_r8, & + 7.3114008836319746e-06_r8, 8.0365631035835548e-06_r8, & + 1.0878018280880522e-05_r8, 1.2848390882636708e-05_r8, & + 1.6324586996238985e-05_r8, 2.0175824561716462e-05_r8, & + 2.2946436747573261e-05_r8, 2.5485749696973461e-05_r8, & + 3.0233438734713283e-05_r8, 3.6583785361250417e-05_r8, & + 4.2776812407951281e-05_r8, 4.8680691159255542e-05_r8, & + 6.2197040197139211e-05_r8, 7.7746323176665019e-05_r8, & + 9.2204679144121163e-05_r8, 0.0001059029429393764_r8, & + 0.00011896902690086362_r8, 0.00012977508282225212_r8, & + 0.00013795429962271959_r8, 0.00014449597737709665_r8, & + 0.00014867024369061518_r8, 0.00015093316121199928_r8, & + 0.00015185864584556005_r8, 0.00015053079378713992_r8, & + 0.00015397696173646689_r8, 0.00016435607807940294_r8, & + 0.0001831710540018337_r8, 0.00020503748881405538_r8, & + 0.00022222518413966464_r8, 0.00023245780678908404_r8, & + 0.00024146839699501878_r8, 0.00025369007512117652_r8, & + 0.00026200240032053172_r8, 0.00026538287859052064_r8, & + 0.00026597414153104392_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,86) / & + 3.6334629442931783e-06_r8, 3.270882991823436e-06_r8, & + 1.7111850254848607e-06_r8, 3.6660705649513445e-06_r8, & + 3.7293813871788537e-06_r8, 4.1076137928643576e-06_r8, & + 6.0844417159927501e-06_r8, 6.9619303411520213e-06_r8, & + 8.0971623143291092e-06_r8, 9.5116835432507193e-06_r8, & + 1.0718186826425676e-05_r8, 1.2370282099547671e-05_r8, & + 1.5273210958179437e-05_r8, 1.8690017867295611e-05_r8, & + 2.2255952896858411e-05_r8, 2.6122023950840841e-05_r8, & + 3.4819778420107811e-05_r8, 4.5320090957716998e-05_r8, & + 5.6702270649101553e-05_r8, 6.889349760182573e-05_r8, & + 8.3026399998909742e-05_r8, 9.6621767595935566e-05_r8, & + 0.00010915313759846199_r8, 0.00012158847636346438_r8, & + 0.00013108687783808644_r8, 0.00013745158372903017_r8, & + 0.00014130686854703641_r8, 0.00014116575166048617_r8, & + 0.00013885335115351664_r8, 0.00013983017610548555_r8, & + 0.00014778213531250906_r8, 0.00016566800132078625_r8, & + 0.0001861652404802086_r8, 0.00020588376673440166_r8, & + 0.00021942150466971517_r8, 0.00023983359036050544_r8, & + 0.00025385042650435822_r8, 0.00026517321605836028_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,86) / & + 2.4332708175438608e-06_r8, 2.237415713911768e-06_r8, & + 1.3558240796689735e-06_r8, 3.1071741376396265e-06_r8, & + 3.1442690420821739e-06_r8, 3.7018834294270012e-06_r8, & + 4.3700118457821097e-06_r8, 4.5051716853146509e-06_r8, & + 5.0180284236654549e-06_r8, 5.5761269549253844e-06_r8, & + 6.16254031373366e-06_r8, 7.7193338105719967e-06_r8, & + 9.8149886615052089e-06_r8, 1.1488933599007299e-05_r8, & + 1.3934137868574027e-05_r8, 1.6874976882599225e-05_r8, & + 2.4240531221923365e-05_r8, 3.3253641453269822e-05_r8, & + 4.2985134097260446e-05_r8, 5.4592900296538663e-05_r8, & + 6.8013628212402604e-05_r8, 8.1004861478242338e-05_r8, & + 9.5366581900632844e-05_r8, 0.0001093839924960952_r8, & + 0.00012038450448404172_r8, 0.00012752377726093074_r8, & + 0.00013153149661405543_r8, 0.0001307324112224784_r8, & + 0.00012392619140880624_r8, 0.00011930803444750103_r8, & + 0.0001186136353118733_r8, 0.00012450792616288368_r8, & + 0.00013809957535569444_r8, 0.00015897622814282325_r8, & + 0.00017939538006562922_r8, 0.00021014405864248919_r8, & + 0.00023540965957620399_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,86) / & + 3.204074981617784e-06_r8, 3.1633473361468086e-06_r8, & + 2.8731603306590151e-06_r8, 3.2648024809755331e-06_r8, & + 3.3049778294357701e-06_r8, 3.7760119053217139e-06_r8, & + 3.8240204353980401e-06_r8, 3.7518481116461675e-06_r8, & + 3.8767017873869445e-06_r8, 4.3252809334178177e-06_r8, & + 4.9960485480486786e-06_r8, 5.8801304910317803e-06_r8, & + 7.1649624724013177e-06_r8, 8.2378843689724451e-06_r8, & + 9.9237958880277302e-06_r8, 1.2425183195449145e-05_r8, & + 1.9298328964779117e-05_r8, 2.7620142493233541e-05_r8, & + 3.636204427670136e-05_r8, 4.7063574532916196e-05_r8, & + 6.0253653529138203e-05_r8, 7.5236072704366503e-05_r8, & + 9.0420029141526884e-05_r8, 0.00010447681744907785_r8, & + 0.00011506696339659331_r8, 0.00012260846037333769_r8, & + 0.00012583938623228299_r8, 0.00012302423939701142_r8, & + 0.00011398631048028156_r8, 0.00010636056144594985_r8, & + 0.00010084698466127406_r8, 9.8028459004098419e-05_r8, & + 0.00010230003313409607_r8, 0.00011881505184080722_r8, & + 0.00013889102512065223_r8, 0.00015727050594766518_r8, & + 0.00018201894614635179_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,86) / & + 3.8536948467935159e-06_r8, 3.8361547890112461e-06_r8, & + 3.695263607332077e-06_r8, 3.2474129430770754e-06_r8, & + 3.7581370702298251e-06_r8, 3.936908126612041e-06_r8, & + 4.1860077308532054e-06_r8, 3.7798367065073437e-06_r8, & + 3.8046004076366684e-06_r8, 4.1047720157397976e-06_r8, & + 4.5090002404755984e-06_r8, 5.1257818702921974e-06_r8, & + 6.3722878871250472e-06_r8, 7.506201137189497e-06_r8, & + 9.085239540696542e-06_r8, 1.1423312942314461e-05_r8, & + 1.817096892250804e-05_r8, 2.714446200187525e-05_r8, & + 3.7114884318570422e-05_r8, 4.9313790049145944e-05_r8, & + 6.4292629660261635e-05_r8, 8.0568763673376792e-05_r8, & + 9.5796413862921746e-05_r8, 0.00010839578129913067_r8, & + 0.00011606257636229764_r8, 0.00012003898503428202_r8, & + 0.00012040508001940982_r8, 0.00011508604649311515_r8, & + 0.00010496453797357439_r8, 9.5844828750377731e-05_r8, & + 8.9197642624472577e-05_r8, 8.5114393300010261e-05_r8, & + 8.7731036978408024e-05_r8, 0.0001012186570345975_r8, & + 0.0001240958985308916_r8, 0.00014878018680201363_r8, & + 0.00016804389784252376_r8, 0.00018521137370931359_r8, & + 0.00020060484813520902_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,86) / & + 4.1016990842744892e-06_r8, 4.0451752515111538e-06_r8, & + 3.9909731509861486e-06_r8, 2.8561230923010948e-06_r8, & + 3.7626448303134936e-06_r8, 4.3704830911401345e-06_r8, & + 4.4293768210087515e-06_r8, 3.7337471353554738e-06_r8, & + 4.0114689585649539e-06_r8, 4.4293839319978579e-06_r8, & + 4.9467264402138273e-06_r8, 5.5994630582091468e-06_r8, & + 7.406612942085071e-06_r8, 9.3611559351731896e-06_r8, & + 1.1903451945251728e-05_r8, 1.5303902706111642e-05_r8, & + 2.4638507540391822e-05_r8, 3.7253977443283542e-05_r8, & + 5.1357760861099341e-05_r8, 6.8778072428597758e-05_r8, & + 8.7788643170061975e-05_r8, 0.00010473429304526969_r8, & + 0.00011617210948194331_r8, 0.00012255287219391751_r8, & + 0.00012405258183148472_r8, 0.00012257862067440971_r8, & + 0.00011880044298197599_r8, 0.00010466115988480905_r8, & + 8.8952524903089105e-05_r8, 8.1503406143543949e-05_r8, & + 8.0888755930480648e-05_r8, 8.3401915626125372e-05_r8, & + 8.9646771993216601e-05_r8, 0.00010451250691394629_r8, & + 0.00013258434300404107_r8, 0.00016246107893437496_r8, & + 0.0001860236705672973_r8, 0.00020310747033549107_r8, & + 0.00022146043259846596_r8, 0.00024041589198431693_r8, & + 0.0002537324695788187_r8, 0.00026936386089148072_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,86) / & + 3.733252694013503e-06_r8, 3.7049554535521424e-06_r8, & + 3.7006298410199018e-06_r8, 3.3004917682131531e-06_r8, & + 3.3125537508045987e-06_r8, 3.9539134135259361e-06_r8, & + 3.8616414150091552e-06_r8, 3.5490963286095752e-06_r8, & + 3.9093223017135968e-06_r8, 4.3525564360947453e-06_r8, & + 5.1185614113534138e-06_r8, 6.1528598801919217e-06_r8, & + 8.4820328188228795e-06_r8, 1.1490173388957492e-05_r8, & + 1.6469121456186174e-05_r8, 2.2156458644458657e-05_r8, & + 3.5883431224267661e-05_r8, 5.208956775839782e-05_r8, & + 7.0180818994782619e-05_r8, 8.9279709894074185e-05_r8, & + 0.00010500717057353307_r8, 0.00011546647330332129_r8, & + 0.00011783571340524999_r8, 0.00011545015890475302_r8, & + 0.00011033613039195535_r8, 0.00010537305751871284_r8, & + 0.0001000786911335261_r8, 8.4590703753751795e-05_r8, & + 7.604070605525564e-05_r8, 7.8939164167846063e-05_r8, & + 8.4250873458616851e-05_r8, 9.0459187151925301e-05_r8, & + 9.6354583362606369e-05_r8, 0.00010761043088555768_r8, & + 0.00013199570646858368_r8, 0.00016812118336147471_r8, & + 0.000206271060831454_r8, 0.00023481730913591336_r8, & + 0.00025690895611782307_r8, 0.00027117065047028223_r8, & + 0.00028280723193743556_r8, 0.00029907675747309988_r8, & + 0.00031526216680733402_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,86) / & + 4.303330211565112e-06_r8, 4.3163501072197401e-06_r8, & + 4.2780752946637538e-06_r8, 4.1929425625589674e-06_r8, & + 4.0781202550120654e-06_r8, 4.4272376097576872e-06_r8, & + 4.1492907228772909e-06_r8, 4.745091899538375e-06_r8, & + 4.6043741852866133e-06_r8, 5.2860072377806194e-06_r8, & + 6.5183370263924797e-06_r8, 8.2705157392182324e-06_r8, & + 1.2117043222262167e-05_r8, 1.866938949006519e-05_r8, & + 2.7137811554636913e-05_r8, 3.5604158034232469e-05_r8, & + 5.4043227333852132e-05_r8, 7.2652994061595864e-05_r8, & + 9.0633324575907287e-05_r8, 0.00010556065058731181_r8, & + 0.00011476548333812577_r8, 0.00011773286720998342_r8, & + 0.00011438397370582393_r8, 0.00010783468510228614_r8, & + 0.00010020169608973827_r8, 9.3532313104127828e-05_r8, & + 8.9230859069519837e-05_r8, 8.3847993762631727e-05_r8, & + 8.9170084141469984e-05_r8, 9.8808035886844718e-05_r8, & + 0.00010648419383095556_r8, 0.000112799870061745_r8, & + 0.00011762226261509463_r8, 0.00012452504694734849_r8, & + 0.00014256987277276801_r8, 0.00017903638879412088_r8, & + 0.00022678402219000458_r8, 0.00026461472059955706_r8, & + 0.00028871255191030489_r8, 0.0003027455447038784_r8, & + 0.00031247166818805598_r8, 0.00032705398610159236_r8, & + 0.00033564861601395797_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,86) / & + 6.2345878473519871e-06_r8, 6.1719276794747064e-06_r8, & + 6.132663338453877e-06_r8, 6.1203383681717248e-06_r8, & + 6.1634922486791495e-06_r8, 6.2021979720029963e-06_r8, & + 6.1498142611251169e-06_r8, 6.9367413009167026e-06_r8, & + 7.1308538765838638e-06_r8, 8.9825001089820533e-06_r8, & + 1.1827630166658959e-05_r8, 1.5744501160839408e-05_r8, & + 2.4417472857415929e-05_r8, 3.461992662491783e-05_r8, & + 4.3257843509989995e-05_r8, 5.1946749290348518e-05_r8, & + 6.9033622784578575e-05_r8, 8.4775147050979928e-05_r8, & + 9.9875122609795406e-05_r8, 0.00011248013503810926_r8, & + 0.00012070159342203801_r8, 0.00012216725079696448_r8, & + 0.00011791333030657309_r8, 0.00010941817223046459_r8, & + 9.9861440070120425e-05_r8, 9.2499354297886991e-05_r8, & + 8.7643803699317073e-05_r8, 8.6434446790457488e-05_r8, & + 9.7429841372481647e-05_r8, 0.00011203946134312238_r8, & + 0.00012239478385283982_r8, 0.00012961906110816262_r8, & + 0.00013505745962132828_r8, 0.00013930985203968526_r8, & + 0.0001525087857727179_r8, 0.00018601619063634187_r8, & + 0.00023817210983082034_r8, 0.00028510073061764407_r8, & + 0.0003148001786393061_r8, 0.00033840927794431564_r8, & + 0.00035338297003034371_r8, 0.00036705687022686896_r8, & + 0.00037402816876914801_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,86) / & + 7.3846042380168279e-06_r8, 7.2917644528648821e-06_r8, & + 7.4551365492824291e-06_r8, 7.8121364928555236e-06_r8, & + 7.571161646424862e-06_r8, 7.5903175291784355e-06_r8, & + 6.8566942546663986e-06_r8, 9.8295961560043299e-06_r8, & + 1.220657748799657e-05_r8, 1.6832800915213515e-05_r8, & + 2.3108591532977647e-05_r8, 3.0081234127113986e-05_r8, & + 4.0728931570032493e-05_r8, 5.0700348688638807e-05_r8, & + 5.7695023045227899e-05_r8, 6.4254554363512979e-05_r8, & + 7.7103545082811837e-05_r8, 8.979692808546348e-05_r8, & + 0.00010286563604882793_r8, 0.00011650519730966185_r8, & + 0.00012540579202826341_r8, 0.00012716982565488607_r8, & + 0.00012047016775749507_r8, 0.00010981011170033012_r8, & + 9.8065333141831548e-05_r8, 8.838986246411263e-05_r8, & + 8.2264746052835324e-05_r8, 7.95668205828736e-05_r8, & + 9.0991290511875444e-05_r8, 0.00010894580536591264_r8, & + 0.00012390805813697158_r8, 0.00013316396158881381_r8, & + 0.00013848093252481956_r8, 0.00013919086066765558_r8, & + 0.00014811915076167815_r8, 0.00018233677469142075_r8, & + 0.00024009222277481348_r8, 0.00030481952742131746_r8, & + 0.00034785143490766082_r8, 0.00037291671815485426_r8, & + 0.00038715836318692121_r8, 0.00040148623225596332_r8, & + 0.00040707091723103986_r8, 0.00041282308872455151_r8, & + 0.00041280505131982738_r8 & + / +data saar_ref(:,21,86) / & + 7.0888261530797381e-06_r8, 7.1765107911547348e-06_r8, & + 7.7008047652463818e-06_r8, 9.687027851200879e-06_r8, & + 9.1284672014602716e-06_r8, 8.8735379006943583e-06_r8, & + 8.8980068191071129e-06_r8, 1.4977214695486325e-05_r8, & + 2.1524291883164783e-05_r8, 2.8955854605895111e-05_r8, & + 3.4649076619989107e-05_r8, 4.1262841808702612e-05_r8, & + 5.0081533974436713e-05_r8, 5.8031590701886819e-05_r8, & + 6.4625462328770224e-05_r8, 7.1347390576408624e-05_r8, & + 8.4966402044023777e-05_r8, 9.8742576144045949e-05_r8, & + 0.0001127510439541331_r8, 0.0001263151012137677_r8, & + 0.00013372570328647258_r8, 0.00013375714053973309_r8, & + 0.00012231850913887782_r8, 0.00010891036716318934_r8, & + 9.6496637905422921e-05_r8, 8.6368690655992734e-05_r8, & + 8.0771143804653315e-05_r8, 7.9361816045471283e-05_r8, & + 9.1388831348252812e-05_r8, 0.00011275383528229523_r8, & + 0.00013281997721888486_r8, 0.0001433370779916062_r8, & + 0.00014576954200683426_r8, 0.00014101149500650223_r8, & + 0.00014375649607255368_r8, 0.0001713563810158802_r8, & + 0.00024262164195820059_r8, 0.00032982391624822126_r8, & + 0.00038238121582404429_r8, 0.00040840317624027828_r8, & + 0.0004252783034167884_r8, 0.00043633884359903609_r8, & + 0.00043997235497378659_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,86) / & + 6.5337308251313131e-06_r8, 6.8640638973448998e-06_r8, & + 7.0989150159775301e-06_r8, 9.3554033731676241e-06_r8, & + 8.8462471747968398e-06_r8, 9.7537072138604391e-06_r8, & + 1.5350451020180351e-05_r8, 2.2798430842232951e-05_r8, & + 2.8913253086652461e-05_r8, 3.4253925072014188e-05_r8, & + 3.7134853936412949e-05_r8, 4.0963668548663465e-05_r8, & + 4.6578123006658292e-05_r8, 5.4576413415392286e-05_r8, & + 6.3520299580073532e-05_r8, 7.2790531807074451e-05_r8, & + 8.9278490716574236e-05_r8, 0.0001063168686501821_r8, & + 0.00012186259346302077_r8, 0.00013266626529305394_r8, & + 0.00013640407508332112_r8, 0.00013488515583075938_r8, & + 0.00012356263217094875_r8, 0.00011046564591256453_r8, & + 9.7693156700513176e-05_r8, 8.7433198940219849e-05_r8, & + 8.1900667975220016e-05_r8, 7.9629621947625867e-05_r8, & + 9.1095392939412041e-05_r8, 0.00011150696838684546_r8, & + 0.0001338042516884576_r8, 0.00014822668394003354_r8, & + 0.00015467923534786843_r8, 0.00015372610337148601_r8, & + 0.00015307241694946256_r8, 0.00016727597626202333_r8, & + 0.00023576477325655648_r8, 0.00034849084464518346_r8, & + 0.00040762016149175614_r8, 0.00043260197810186503_r8, & + 0.00045621032508648635_r8, 0.00046603689850106014_r8, & + 0.00046803328005977476_r8, 0.00045924188375478695_r8, 9e90_r8 & + / +data saar_ref(:,23,86) / & + 6.6429272690280623e-06_r8, 7.3645130514470771e-06_r8, & + 7.0879511545313982e-06_r8, 7.1381919832163203e-06_r8, & + 7.9034079647364105e-06_r8, 9.0502666244460031e-06_r8, & + 1.703120177801837e-05_r8, 2.670492888917085e-05_r8, & + 3.1721487335488536e-05_r8, 3.5261011818928289e-05_r8, & + 3.7678135359756025e-05_r8, 4.0591854113466048e-05_r8, & + 4.654863932808387e-05_r8, 5.6368744335061089e-05_r8, & + 6.777116347228562e-05_r8, 7.90252299887612e-05_r8, & + 9.6130040327844433e-05_r8, 0.00011251913316440932_r8, & + 0.00012675837918713987_r8, 0.0001372754486653561_r8, & + 0.00014150574333437107_r8, 0.00013814764618148278_r8, & + 0.00012754870971078136_r8, 0.00011544973458056728_r8, & + 0.00010466298453388707_r8, 9.474292734977135e-05_r8, & + 8.8525412210574943e-05_r8, 8.8256276854923579e-05_r8, & + 0.00010030055535868249_r8, 0.00011994069589795801_r8, & + 0.00014085130025044728_r8, 0.00015625703821720168_r8, & + 0.00016724352382724501_r8, 0.00017560120736558418_r8, & + 0.00018087581673073029_r8, 0.00018808682536072433_r8, & + 0.00020292371355445219_r8, 0.00022859028042669972_r8, & + 0.00026389977443944226_r8, 0.00027176115475325473_r8, & + 0.00028948760932057181_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,86) / & + 8.8179115046734116e-06_r8, 9.588314861572899e-06_r8, & + 9.6031548205062375e-06_r8, 9.567641577710487e-06_r8, & + 1.2164034149539732e-05_r8, 1.542561795257205e-05_r8, & + 2.2999344842839594e-05_r8, 3.4479638909945071e-05_r8, & + 3.8157830729255379e-05_r8, 4.1167830598208364e-05_r8, & + 4.3377506722759322e-05_r8, 4.5399214371303651e-05_r8, & + 5.1819185118494399e-05_r8, 5.9952444672249832e-05_r8, & + 6.9994953383270694e-05_r8, 8.0196708495468418e-05_r8, & + 9.8456199239049095e-05_r8, 0.00011452629101090229_r8, & + 0.00012797967099447162_r8, 0.00013854421356105997_r8, & + 0.00014231254515739898_r8, 0.0001400694975050239_r8, & + 0.00013235202752746048_r8, 0.00012315429171005731_r8, & + 0.00011532088790228689_r8, 0.00010818194828174736_r8, & + 0.00010370081619564309_r8, 0.00010392081417696033_r8, & + 0.00011551447521340668_r8, 0.00013253535053717329_r8, & + 0.00015033175962405977_r8, 0.00016586681399570534_r8, & + 0.00017843208500865782_r8, 0.00019060937849994751_r8, & + 0.0002002914036435846_r8, 0.00020860056564064335_r8, & + 0.00021670224911483991_r8, 0.00022797922293389786_r8, & + 0.00023855555881427577_r8, 0.00023993338344358871_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,86) / & + 9.1065144917721825e-06_r8, 9.6106199068816401e-06_r8, & + 9.9595849726899613e-06_r8, 1.184528674618389e-05_r8, & + 1.6914600626566733e-05_r8, 2.458433676804291e-05_r8, & + 3.4378121158573288e-05_r8, 3.984657806979819e-05_r8, & + 4.288099212814879e-05_r8, 4.5550445694707536e-05_r8, & + 4.7774129831114535e-05_r8, 4.9193106856352564e-05_r8, & + 5.3762380092627455e-05_r8, 5.9528769617101016e-05_r8, & + 6.6008046011573046e-05_r8, 7.3469352443148516e-05_r8, & + 9.0443557620510884e-05_r8, 0.00010696017511898346_r8, & + 0.00011973194739731558_r8, 0.00012892927500043991_r8, & + 0.00013183470155895348_r8, 0.00013095750091906929_r8, & + 0.00012635199467993661_r8, 0.00012096704421670573_r8, & + 0.00011646057059124631_r8, 0.00011271472581404001_r8, & + 0.00011036309820451071_r8, 0.00011071862268637283_r8, & + 0.00012006035096572207_r8, 0.00013597221672706511_r8, & + 0.00015202566776849186_r8, 0.00016661765741732393_r8, & + 0.00017930892702370662_r8, 0.0001910826348458209_r8, & + 0.0002025335535397303_r8, 0.00021401389772924837_r8, & + 0.0002243700266466922_r8, 0.00023413084195582782_r8, & + 0.00024251701549724515_r8, 0.00024533271551488374_r8, & + 0.00024733389710250456_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,86) / & + 6.9213648649317218e-06_r8, 7.5474313086669262e-06_r8, & + 8.1275475439777588e-06_r8, 9.0980408519630206e-06_r8, & + 1.21868736980241e-05_r8, 1.8987891053703963e-05_r8, & + 3.3103035344935893e-05_r8, 3.9337240457959438e-05_r8, & + 4.289240571789321e-05_r8, 4.5682456511626069e-05_r8, & + 4.8045715756347798e-05_r8, 4.9812691167006939e-05_r8, & + 5.3609743207668586e-05_r8, 5.822890610794469e-05_r8, & + 6.3451455572157662e-05_r8, 6.998716785350214e-05_r8, & + 8.5480076338679493e-05_r8, 0.00010263726220632207_r8, & + 0.00011464785325112599_r8, 0.0001240597471318758_r8, & + 0.00012858875480191916_r8, 0.00013091986622811304_r8, & + 0.00012598614063521224_r8, 0.000121885011227158_r8, & + 0.00011856313942688968_r8, 0.00011602216781957739_r8, & + 0.00011446817671170547_r8, 0.0001164295743391849_r8, & + 0.00012498438111036608_r8, 0.0001398436241686994_r8, & + 0.00015517085007261779_r8, 0.00016931800592925945_r8, & + 0.0001819822894327912_r8, 0.00019610688428477849_r8, & + 0.00020765495274130429_r8, 0.00022165479603586719_r8, & + 0.00023383810229018627_r8, 0.00024453194350621579_r8, & + 0.0002512934450062991_r8, 0.00025911959739319907_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,86) / & + 7.2029851146456376e-06_r8, 8.6820498670522575e-06_r8, & + 9.4083408900265935e-06_r8, 9.3816011195978278e-06_r8, & + 1.1722553512319731e-05_r8, 1.6272264640396978e-05_r8, & + 2.4901439148393161e-05_r8, 3.2524530633809898e-05_r8, & + 3.7745996679536163e-05_r8, 4.1995516705336111e-05_r8, & + 4.509002043984148e-05_r8, 4.7548170547370469e-05_r8, & + 5.1995240085481524e-05_r8, 5.6817181602209753e-05_r8, & + 6.3009080456546989e-05_r8, 6.9202254213645759e-05_r8, & + 8.5552447368560298e-05_r8, 0.00010313711105626409_r8, & + 0.00011508308639035178_r8, 0.00012499188333126672_r8, & + 0.00012992711631642983_r8, 0.00013061455075123339_r8, & + 0.00012672590065154719_r8, 0.00012448695338454361_r8, & + 0.00012319169728131077_r8, 0.00012352242159381218_r8, & + 0.00012512233081015948_r8, 0.00013222039772800822_r8, & + 0.00014390967695174746_r8, 0.00015870703097442543_r8, & + 0.00017502939146071245_r8, 0.00018880418866312827_r8, & + 0.00020132035598159577_r8, 0.00021660948183063988_r8, & + 0.00022851456326318674_r8, 0.00024052866744423427_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,86) / & + 5.0467190108111904e-06_r8, 6.5667734993868527e-06_r8, & + 7.7837938328376567e-06_r8, 7.776890125767575e-06_r8, & + 8.7040434533943743e-06_r8, 1.0334209055478354e-05_r8, & + 1.1800994141858926e-05_r8, 1.4672868160533203e-05_r8, & + 1.7172509815277858e-05_r8, 1.9699516401208909e-05_r8, & + 2.2534127375533875e-05_r8, 2.6015226735681256e-05_r8, & + 3.0480478232230742e-05_r8, 3.5432286663663953e-05_r8, & + 4.278163951047204e-05_r8, 4.9259859434373153e-05_r8, & + 6.5565948221775445e-05_r8, 8.6728375911323201e-05_r8, & + 0.00010364986280180942_r8, 0.00011608550854713451_r8, & + 0.00012147111848846049_r8, 0.00012483393055257792_r8, & + 0.00012445576007410824_r8, 0.0001233539483545705_r8, & + 0.00012501918779072831_r8, 0.00012820697123515744_r8, & + 0.00013219455081257085_r8, 0.00014422291077948748_r8, & + 0.00015897620311984326_r8, 0.00017445868203584534_r8, & + 0.00018926345527381998_r8, 0.00020365075275948324_r8, & + 0.00021940427552151592_r8, 0.0002385236862051439_r8, & + 0.00025341147918129679_r8, 0.00026223857552289202_r8, & + 0.0002675901168776876_r8, 0.00026929689259574279_r8, & + 0.0002696208745752469_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,86) / & + 4.8499582916527148e-06_r8, 5.5681409033349566e-06_r8, & + 5.2359742726231784e-06_r8, 4.4210854190542775e-06_r8, & + 4.5367794876628094e-06_r8, 4.9715105781482424e-06_r8, & + 5.8103758004087372e-06_r8, 7.4658418865062346e-06_r8, & + 7.2771359848892409e-06_r8, 7.9171878376392846e-06_r8, & + 9.0665727883469647e-06_r8, 1.1314147050032087e-05_r8, & + 1.5814267073539531e-05_r8, 2.054275050098532e-05_r8, & + 2.5660210729877899e-05_r8, 3.1111288289670274e-05_r8, & + 4.3510805275113019e-05_r8, 6.0053229077571415e-05_r8, & + 8.0802841437187765e-05_r8, 9.9128975158870649e-05_r8, & + 0.00010827878822732661_r8, 0.00011334026511785816_r8, & + 0.00011388775477927505_r8, 0.00011500828084605773_r8, & + 0.00011815023903587848_r8, 0.00012208987214040018_r8, & + 0.00012788070375397098_r8, 0.00014204838802701271_r8, & + 0.00016006994293475354_r8, 0.00017834406260849633_r8, & + 0.00019424382883743031_r8, 0.0002121394132390527_r8, & + 0.00022808396532702087_r8, 0.00024478968457020372_r8, & + 0.00025843516205375778_r8, 0.00026622557510712439_r8, & + 0.00027294235236559864_r8, 0.00027843418470439591_r8, & + 0.00028049950846223686_r8, 0.00028123863885502244_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,86) / & + 5.9039642654182886e-06_r8, 6.3003309936209799e-06_r8, & + 5.3671123819407476e-06_r8, 4.5636753992535062e-06_r8, & + 4.6107270694927491e-06_r8, 4.8627042562701555e-06_r8, & + 5.9371405232376317e-06_r8, 6.7789131394127184e-06_r8, & + 6.7839408265654691e-06_r8, 7.539534402395243e-06_r8, & + 8.8115146104514462e-06_r8, 1.0689960216051377e-05_r8, & + 1.4421922808943677e-05_r8, 1.7873196085905149e-05_r8, & + 2.1304280752546267e-05_r8, 2.4761135354685846e-05_r8, & + 3.1687881445805881e-05_r8, 4.1564079437526283e-05_r8, & + 5.6026757144745319e-05_r8, 7.0467593279604522e-05_r8, & + 7.9898821159843261e-05_r8, 8.6149604400293802e-05_r8, & + 8.7606313617794943e-05_r8, 9.0495263992315658e-05_r8, & + 9.2571536017658419e-05_r8, 9.5827934501520142e-05_r8, & + 0.00010002899380081121_r8, 0.00011183930592445155_r8, & + 0.00013472120771907957_r8, 0.00015420409340803021_r8, & + 0.00017744100032577448_r8, 0.00020114461931688572_r8, & + 0.00022385025940462296_r8, 0.00024305172252410182_r8, & + 0.0002583485129418583_r8, 0.00026885067237625239_r8, & + 0.00027810867965946906_r8, 0.00028599930816835097_r8, & + 0.0002894488927882739_r8, 0.00029129988490509767_r8, & + 0.00029111190300999684_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,86) / & + 7.2439309877103668e-06_r8, 7.1380569025126252e-06_r8, & + 6.342009010224893e-06_r8, 6.0329551902877218e-06_r8, & + 6.3014913374904464e-06_r8, 6.5546909056770737e-06_r8, & + 7.0405612833083567e-06_r8, 8.3651181270748065e-06_r8, & + 9.1435900443159804e-06_r8, 1.0355005158941159e-05_r8, & + 1.1838961829379237e-05_r8, 1.3203684194370856e-05_r8, & + 1.5973452729151403e-05_r8, 1.903189649837306e-05_r8, & + 2.1346432363123228e-05_r8, 2.4134268779572525e-05_r8, & + 3.0184196878082468e-05_r8, 3.8753601327813674e-05_r8, & + 5.0022431338047626e-05_r8, 5.834445642124035e-05_r8, & + 6.4574792295593074e-05_r8, 6.910086903568956e-05_r8, & + 7.120952941260039e-05_r8, 7.377169032931221e-05_r8, & + 7.5223038427733429e-05_r8, 7.7865971356246713e-05_r8, & + 8.0805533865315165e-05_r8, 9.0260653683560751e-05_r8, & + 0.00011128476136925223_r8, 0.0001323547850624716_r8, & + 0.00015965874104704745_r8, 0.00018904531849127471_r8, & + 0.00021624790525984805_r8, 0.00023869008393969857_r8, & + 0.0002562284165754078_r8, 0.00026922218368987554_r8, & + 0.0002809585285685072_r8, 0.00028960988885279781_r8, & + 0.00029544946232032919_r8, 0.00029777403783555847_r8, & + 0.00029937618213485582_r8, 0.00029890788599881593_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,32,86) / & + 7.0165323821581711e-06_r8, 6.9689965514974137e-06_r8, & + 6.4637748987421288e-06_r8, 6.3954979475262796e-06_r8, & + 6.8664031856623798e-06_r8, 7.1595223466618472e-06_r8, & + 9.2626018197230917e-06_r8, 1.1932096412928168e-05_r8, & + 1.3395513597798279e-05_r8, 1.4749495330244673e-05_r8, & + 1.6136929949071948e-05_r8, 1.7415394254602477e-05_r8, & + 2.0052932068271516e-05_r8, 2.2801565872074714e-05_r8, & + 2.5544192983921061e-05_r8, 2.840228050592521e-05_r8, & + 3.4255933940034849e-05_r8, 4.3023529970755884e-05_r8, & + 5.2826370466680213e-05_r8, 5.9760700955013451e-05_r8, & + 6.3962466771227717e-05_r8, 6.7329543300963184e-05_r8, & + 6.9502160808235542e-05_r8, 7.2191156769297075e-05_r8, & + 7.5038875449101499e-05_r8, 7.7853397726703949e-05_r8, & + 8.0520368006119239e-05_r8, 8.7901966096514024e-05_r8, & + 0.00010226688445289349_r8, 0.00012502687953280477_r8, & + 0.00015237519853531281_r8, 0.00018578764229420432_r8, & + 0.00021513560445243443_r8, 0.00023948551011800348_r8, & + 0.00025840897175880608_r8, 0.00027253753723530306_r8, & + 0.00028554118478129486_r8, 0.0002956372020272599_r8, & + 0.00030359870602071268_r8, 0.0003068421406529166_r8, & + 0.0003086783264543772_r8, 0.00030750498516970179_r8, & + 0.00031068788408680499_r8, 0.00031068788408680499_r8, 9e90_r8 & + / +data saar_ref(:,33,86) / & + 7.2402739028181164e-06_r8, 8.0662178460363086e-06_r8, & + 6.5541177622899109e-06_r8, 6.8856275648161275e-06_r8, & + 8.0801818480497212e-06_r8, 8.8280085214621436e-06_r8, & + 1.142664913830156e-05_r8, 1.4558556356110913e-05_r8, & + 1.622957114983001e-05_r8, 1.7711022196775099e-05_r8, & + 1.9047858683876298e-05_r8, 2.0354297910070048e-05_r8, & + 2.2792391816577706e-05_r8, 2.5171767463434983e-05_r8, & + 2.7463356905673995e-05_r8, 2.9645596042255908e-05_r8, & + 3.5400005504741377e-05_r8, 4.4058152739401331e-05_r8, & + 5.4552392064057125e-05_r8, 6.2657133516283729e-05_r8, & + 6.7534643465099869e-05_r8, 7.0985925462800414e-05_r8, & + 7.3720404370208005e-05_r8, 7.6170247188080698e-05_r8, & + 7.8057709080242088e-05_r8, 7.9696580126647069e-05_r8, & + 8.1182499290323993e-05_r8, 8.5960358160678155e-05_r8, & + 9.7601261329511609e-05_r8, 0.0001187423468554994_r8, & + 0.00014740702167973156_r8, 0.00018021587489209243_r8, & + 0.00021339420679120346_r8, 0.000242675910883432_r8, & + 0.00026630306228089758_r8, 0.00028181709779196562_r8, & + 0.00029554466519934609_r8, 0.00030562744385892481_r8, & + 0.00031121241211627703_r8, 0.00031488935292599122_r8, & + 0.00031807854752827723_r8, 0.00031895347846202349_r8, & + 0.00031831086780818629_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,86) / & + 9.0960071455112121e-06_r8, 1.0330016713159141e-05_r8, & + 7.9590057263853061e-06_r8, 1.2468107592152015e-05_r8, & + 1.3700020538171134e-05_r8, 1.4424325335859579e-05_r8, & + 1.6429797421468092e-05_r8, 2.0328425762780147e-05_r8, & + 2.2199256254639529e-05_r8, 2.368484781516876e-05_r8, & + 2.4911441922306193e-05_r8, 2.6011453430029321e-05_r8, & + 2.7289186165230501e-05_r8, 2.9641130295127429e-05_r8, & + 3.1577355581458327e-05_r8, 3.3745650702939437e-05_r8, & + 4.0153935903985794e-05_r8, 4.9390313121006716e-05_r8, & + 6.1336168928549761e-05_r8, 7.0699951885593482e-05_r8, & + 7.5718776182932552e-05_r8, 7.9110837508934863e-05_r8, & + 8.0935037652290963e-05_r8, 8.2179446760791746e-05_r8, & + 8.2839202310243493e-05_r8, 8.3122202194242965e-05_r8, & + 8.3419031999509117e-05_r8, 8.5538248679473274e-05_r8, & + 9.2688569511041168e-05_r8, 0.00011091602891955025_r8, & + 0.00014071139393268906_r8, 0.00017639817513731109_r8, & + 0.00021400400196806818_r8, 0.00024853331810279075_r8, & + 0.00027995878912348885_r8, 0.00030163019153691323_r8, & + 0.00031455468716724876_r8, 0.00032257360515391877_r8, & + 0.00032527960038310379_r8, 0.00032753679321487038_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,86) / & + 1.0509157507921953e-05_r8, 1.1355035925430075e-05_r8, & + 9.6134724313913817e-06_r8, 1.8315715582783309e-05_r8, & + 2.0625875580971523e-05_r8, 1.9888761558833431e-05_r8, & + 2.1728600350617092e-05_r8, 2.5957842397075682e-05_r8, & + 2.9282227574246918e-05_r8, 3.139502774618406e-05_r8, & + 3.2748473887222878e-05_r8, 3.3712201748723994e-05_r8, & + 3.5439800277345589e-05_r8, 3.775978260928066e-05_r8, & + 4.0521633802290551e-05_r8, 4.3753499668274895e-05_r8, & + 5.2340698696592536e-05_r8, 6.2515056902969445e-05_r8, & + 7.3843972295596362e-05_r8, 8.0725819344785673e-05_r8, & + 8.4038177711012868e-05_r8, 8.5626981838132535e-05_r8, & + 8.6145059896463897e-05_r8, 8.6312161702253946e-05_r8, & + 8.6158880131846809e-05_r8, 8.5967117769075916e-05_r8, & + 8.5990336505675912e-05_r8, 8.814563998290176e-05_r8, & + 9.5896955598548809e-05_r8, 0.00011216780316319448_r8, & + 0.00013866539884134217_r8, 0.00017761066734159537_r8, & + 0.00021845890755679297_r8, 0.00025762114681233863_r8, & + 0.00029413736481539689_r8, 0.00031965918710588165_r8, & + 0.00033294626942041077_r8, 0.00033884947570861411_r8, & + 0.00033766221284688922_r8, 0.00033891953842597045_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,86) / & + 1.3274500247489119e-05_r8, 1.3253051118146569e-05_r8, & + 1.1087026657879865e-05_r8, 2.1544526092950351e-05_r8, & + 2.5092490670729043e-05_r8, 2.565899670908683e-05_r8, & + 2.8789731082984954e-05_r8, 3.3671413648270967e-05_r8, & + 3.6761928388806948e-05_r8, 3.8525329739795582e-05_r8, & + 3.992839557912437e-05_r8, 4.031245925384262e-05_r8, & + 4.2480240666108651e-05_r8, 4.4714002036787967e-05_r8, & + 4.7801937887762813e-05_r8, 5.092057644138587e-05_r8, & + 5.9076648903596582e-05_r8, 6.9118371371445489e-05_r8, & + 7.898063008990284e-05_r8, 8.5260391276735655e-05_r8, & + 8.8631802799608527e-05_r8, 9.0106529967111843e-05_r8, & + 9.0588162939484327e-05_r8, 9.0676123553951152e-05_r8, & + 9.0730312316504046e-05_r8, 9.0710756224374235e-05_r8, & + 9.1040628097033269e-05_r8, 9.4443380509365014e-05_r8, & + 0.00010521748342672216_r8, 0.00012307639330471831_r8, & + 0.00014446714957354321_r8, 0.00017835789692519362_r8, & + 0.0002181449177339068_r8, 0.00026048252771553076_r8, & + 0.00029943891162784473_r8, 0.00032859950751900436_r8, & + 0.00033938655202979157_r8, 0.00035142709653346874_r8, & + 0.00034674616151269757_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,37,86) / & + 1.8842605798510694e-05_r8, 1.8331093671713765e-05_r8, & + 1.4636241189059906e-05_r8, 2.546661135103365e-05_r8, & + 3.1119346323170531e-05_r8, 3.5461837564827639e-05_r8, & + 4.2341539471174363e-05_r8, 4.5486047125274438e-05_r8, & + 4.7053760386760438e-05_r8, 4.8240642031644279e-05_r8, & + 4.922639199181455e-05_r8, 4.9772096842950546e-05_r8, & + 5.1760266085174062e-05_r8, 5.3227111596110984e-05_r8, & + 5.4932943126852801e-05_r8, 5.686921106084169e-05_r8, & + 6.1935639056853614e-05_r8, 6.8631675181158162e-05_r8, & + 7.5921329179381487e-05_r8, 8.3284474489099471e-05_r8, & + 8.8854028364866093e-05_r8, 9.1108230154133743e-05_r8, & + 9.1664126180421318e-05_r8, 9.152631336326759e-05_r8, & + 9.1056680205088276e-05_r8, 9.0304124015447998e-05_r8, & + 9.0091635404587062e-05_r8, 9.1556997260487476e-05_r8, & + 9.5692927000272162e-05_r8, 0.0001032984972657694_r8, & + 0.00011255492638933706_r8, 0.00012360568482188569_r8, & + 0.00014911998559131943_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,86) / & + 2.849698395026596e-05_r8, 2.8142102134713816e-05_r8, & + 2.6400503126336001e-05_r8, 3.0931362709780043e-05_r8, & + 3.704036385897928e-05_r8, 4.1415086383056438e-05_r8, & + 4.9150617499538192e-05_r8, 5.2470158393255493e-05_r8, & + 5.4532216908837557e-05_r8, 5.611318689203401e-05_r8, & + 5.7229968803530011e-05_r8, 5.899347751588144e-05_r8, & + 6.2319603048312388e-05_r8, 6.371397559193763e-05_r8, & + 6.4794492548303227e-05_r8, 6.5727110585825791e-05_r8, & + 6.8575521321503395e-05_r8, 7.168343377434023e-05_r8, & + 7.5919431300833551e-05_r8, 8.2635311725647381e-05_r8, & + 8.8208343767332695e-05_r8, 9.0154447954616086e-05_r8, & + 8.9635557824516997e-05_r8, 8.9505137467696112e-05_r8, & + 8.9456480903000749e-05_r8, 8.9990381993126838e-05_r8, & + 9.0791052616784565e-05_r8, 9.3620306223086888e-05_r8, & + 9.7659712854757775e-05_r8, 0.0001054719942324188_r8, & + 0.00011416148025939099_r8, 0.00012428518583128064_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,86) / & + 3.5229546193773591e-05_r8, 3.7105791719568524e-05_r8, & + 3.9296585697722572e-05_r8, 4.73720043351004e-05_r8, & + 5.2232962243917234e-05_r8, 5.6563597949635878e-05_r8, & + 6.3945789793233267e-05_r8, 6.4092620463547127e-05_r8, & + 6.4229920339706447e-05_r8, 6.4369870692477095e-05_r8, & + 6.4541883767714003e-05_r8, 6.4776502906800369e-05_r8, & + 6.5165327916327871e-05_r8, 6.4944694345297452e-05_r8, & + 6.6085535281565033e-05_r8, 6.7729610680049174e-05_r8, & + 7.0139310801250039e-05_r8, 7.1143550095476759e-05_r8, & + 7.2471481342925429e-05_r8, 7.4369241977056724e-05_r8, & + 7.5704649280616243e-05_r8, 7.7616654820777622e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,86) / & + 3.7707171784750301e-05_r8, 3.9655706272859985e-05_r8, & + 4.1292739513539459e-05_r8, 5.0601575434850823e-05_r8, & + 5.4852785811222173e-05_r8, 5.674467366853814e-05_r8, & + 6.4270984200821e-05_r8, 6.3133580658009e-05_r8, 6.2446658285037461e-05_r8, & + 6.180836652728506e-05_r8, 6.1857535290043926e-05_r8, & + 6.2879662259246783e-05_r8, 6.3161005738332634e-05_r8, & + 6.4008294863269314e-05_r8, 6.5792045963809428e-05_r8, & + 6.7612416383277659e-05_r8, 7.1228511527382819e-05_r8, & + 7.2364253755957897e-05_r8, 7.4385490883521372e-05_r8, & + 7.6535527031820907e-05_r8, 7.7398063054770789e-05_r8, & + 8.0392318724212576e-05_r8, 8.1786818823485367e-05_r8, & + 8.3767505752829603e-05_r8, 8.6385431589381021e-05_r8, & + 8.823425409537134e-05_r8, 9.7019293314732244e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,86) / & + 4.2223093467339464e-05_r8, 4.3271917725683939e-05_r8, & + 4.9725991979632431e-05_r8, 7.2210762043200584e-05_r8, & + 7.329351249144062e-05_r8, 7.2254845839512489e-05_r8, & + 7.5717754609778778e-05_r8, 7.0201756027073195e-05_r8, & + 6.6116178519133749e-05_r8, 6.3621779128311868e-05_r8, & + 6.2682261829188207e-05_r8, 6.2554625434629933e-05_r8, & + 6.214631910530213e-05_r8, 6.2287155203223125e-05_r8, & + 6.3286285614105897e-05_r8, 6.4407538421894602e-05_r8, & + 6.89182724800728e-05_r8, 7.0314114676410462e-05_r8, & + 7.3944971162367236e-05_r8, 7.7291989481465665e-05_r8, & + 7.8820541757804221e-05_r8, 8.7528873050326077e-05_r8, & + 9.1543070870398933e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,42,86) / & + 5.1834181338409606e-05_r8, 5.9979648387780386e-05_r8, & + 7.0571041016642664e-05_r8, 9.6300603980528564e-05_r8, & + 9.9564988611344532e-05_r8, 0.00010176991454878193_r8, & + 9.6678976263726542e-05_r8, 9.4518475495713772e-05_r8, & + 8.3225399011422377e-05_r8, 7.7238816322119068e-05_r8, & + 7.3934146914741671e-05_r8, 7.098825577656958e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,86) / & + 0.00010398780301522595_r8, 0.00010912272825671408_r8, & + 0.00010800303575782013_r8, 0.00013429902260813677_r8, & + 0.00013400856509650997_r8, 0.00012547795171087537_r8, & + 0.0001308693439984991_r8, 0.00012037356924508577_r8, & + 0.0001077720560165586_r8, 9.5763343095285985e-05_r8, & + 9.1697407984699924e-05_r8, 8.5809544068788277e-05_r8, & + 7.9262513410073543e-05_r8, 7.9472729242992233e-05_r8, & + 7.6530750443216792e-05_r8, 7.6717054659606354e-05_r8, & + 7.3666152425179326e-05_r8, 7.8037489117977103e-05_r8, & + 8.0317400685274778e-05_r8, 8.3972519218514742e-05_r8, & + 8.5954706255868794e-05_r8, 8.6321799047167126e-05_r8, & + 9.111042766889139e-05_r8, 9.4819640536530949e-05_r8, & + 9.6703311095752538e-05_r8, 9.9611840825083786e-05_r8, & + 0.00010302748486327095_r8, 0.00010973457972789473_r8, & + 0.00011145900690182493_r8, 0.00011358787835192338_r8, & + 0.00011435844010520314_r8, 0.00011577782175416737_r8, & + 0.00011732479783388659_r8, 0.00011762221362078277_r8, & + 0.00011892331433476819_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,86) / & + 0.00010355338245834363_r8, 0.00011237380310853818_r8, & + 0.00010874464365203891_r8, 0.00013482636755590967_r8, & + 0.00013567944429832772_r8, 0.00013259653817376135_r8, & + 0.00012808892023143784_r8, 0.00011639024700131114_r8, & + 9.5993990672438087e-05_r8, 8.6465744498569435e-05_r8, & + 8.4121139756671273e-05_r8, 8.1408335142868512e-05_r8, & + 7.7882590847472996e-05_r8, 7.9437773324029587e-05_r8, & + 7.5665562703967055e-05_r8, 7.6803955027414766e-05_r8, & + 7.2134254443774885e-05_r8, 7.656523382031414e-05_r8, & + 7.8828452535934952e-05_r8, 8.2909245784307785e-05_r8, & + 8.633457198833524e-05_r8, 8.6605448977623161e-05_r8, & + 9.1796515909589856e-05_r8, 9.549632461019843e-05_r8, & + 9.6903732188774743e-05_r8, 0.00010004958569387685_r8, & + 0.00010382059699153332_r8, 0.00011230722038472977_r8, & + 0.00011460161165504664_r8, 0.0001166886166080642_r8, & + 0.00011712168357213786_r8, 0.00011829942545518303_r8, & + 0.00011963588395953447_r8, 0.00012008836214485243_r8, & + 0.00012072808091396979_r8, 0.00012050591119359036_r8, & + 0.00012099655766066205_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,86) / & + 9.3187470630781499e-05_r8, 0.00011382177205212749_r8, & + 0.00011071126314697939_r8, 0.00012842535318824242_r8, & + 0.00013678398822668337_r8, 0.00013805190517434817_r8, & + 0.00012157775461838651_r8, 9.6595643447983594e-05_r8, & + 7.4342864596624832e-05_r8, 7.1997103449523113e-05_r8, & + 7.1600167320498445e-05_r8, 7.1649460790472976e-05_r8, & + 6.9964273277473089e-05_r8, 7.1641638517579007e-05_r8, & + 7.1424437241653961e-05_r8, 7.2892932388766095e-05_r8, & + 7.1741582157378473e-05_r8, 7.3500297631058374e-05_r8, & + 7.5858160005778407e-05_r8, 7.915812087699841e-05_r8, & + 8.3047251937859822e-05_r8, 8.5841829447879067e-05_r8, & + 9.0257004411997447e-05_r8, 9.4692288842531958e-05_r8, & + 9.8975171916599372e-05_r8, 0.00010313902663101311_r8, & + 0.0001086376218811226_r8, 0.00011800907835856901_r8, & + 0.00011878939001573567_r8, 0.00011902289276285358_r8, & + 0.00011966344982716255_r8, 0.00012043346600181765_r8, & + 0.00012121185945108875_r8, 0.00012140257488890486_r8, & + 0.00012194749537640735_r8, 0.00012228404525158667_r8, & + 0.00012430853287239666_r8, 0.00012452293113446184_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,87) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,87) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,87) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,87) / & + 0.0001393674983131704_r8, 0.00014384310121887158_r8, & + 0.00014486417825389594_r8, 0.00014666043807136028_r8, & + 0.00014342217934094843_r8, 0.0001431895379285721_r8, & + 0.00014844778868998459_r8, 0.00015445647785147592_r8, & + 0.0001625784468407461_r8, 0.00017035720920496717_r8, & + 0.00017724627501503081_r8, 0.00018036625809574687_r8, & + 0.00018289810960087601_r8, 0.00018902395209289996_r8, & + 0.00019748991577572694_r8, 0.000206141698979667_r8, & + 0.00021903388011751718_r8, 0.00022104530645640879_r8, & + 0.00022738936827992889_r8, 0.00023239144076149385_r8, & + 0.00023798687166368707_r8, 0.00024430467150146455_r8, & + 0.00024655795799316489_r8, 0.00025108490058222999_r8, & + 0.00025494872941670955_r8, 0.00025673652234964501_r8, & + 0.00025828450924434153_r8, 0.00025937734092078865_r8, & + 0.00026065353005414691_r8, 0.00026117111584915176_r8, & + 0.00026085751758678281_r8, 0.00026075188754830122_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,87) / & + 0.00015097778408956826_r8, 0.00015254099737979599_r8, & + 0.00014910779386202795_r8, 0.00014985816053438716_r8, & + 0.0001445593455704553_r8, 0.00014559170118241916_r8, & + 0.00015481359526322067_r8, 0.00016059858380407027_r8, & + 0.0001683978236400072_r8, 0.00017760233574136991_r8, & + 0.00018489345889391638_r8, 0.00019149093531022803_r8, & + 0.00019858308374614709_r8, 0.00020456575937337243_r8, & + 0.00021203056498754261_r8, 0.0002183725763776008_r8, & + 0.00022604096655577197_r8, 0.00023055579876980298_r8, & + 0.00023628441341367457_r8, 0.00024051747085887214_r8, & + 0.00024496690662675419_r8, 0.00025043286239515966_r8, & + 0.00025169651655971214_r8, 0.00025501294932823282_r8, & + 0.00025773579319516871_r8, 0.0002590570029107967_r8, & + 0.00026028943086603374_r8, 0.0002614099398001163_r8, & + 0.00026205609099887135_r8, 0.0002624669471414358_r8, & + 0.00026219112630026809_r8, 0.00026218906261785558_r8, & + 0.00026128695922102358_r8, 0.00026098760587209957_r8, & + 0.00026138073926167094_r8, 0.00026242377714911401_r8, & + 0.00026497538940711574_r8, 0.00026593816852956011_r8, & + 0.00026329703479860926_r8, 0.00025207681230348186_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,87) / & + 0.00013864600126122658_r8, 0.00013399314504322347_r8, & + 0.0001303577351236542_r8, 0.00014444568623890394_r8, & + 0.00014479682315896123_r8, 0.0001489361615935632_r8, & + 0.0001639114116988456_r8, 0.00016843828363569658_r8, & + 0.00017555903657476082_r8, 0.00018966600594290379_r8, & + 0.00020279491004867795_r8, 0.0002151697756618063_r8, & + 0.00022882733498189766_r8, 0.00023423519650619715_r8, & + 0.00023872601577049573_r8, 0.0002420888879220379_r8, & + 0.00024610136364239173_r8, 0.00024954574200025887_r8, & + 0.00025282974419333693_r8, 0.00025447049141312414_r8, & + 0.00025647750439574524_r8, 0.00026097776736035112_r8, & + 0.00025936769830088455_r8, 0.00026059546064803422_r8, & + 0.00026214126082135542_r8, 0.00026253517154759134_r8, & + 0.00026236247586790029_r8, 0.00026166004002786366_r8, & + 0.00026168856421155388_r8, 0.00026211013918088348_r8, & + 0.00026286244585513275_r8, 0.00026208316303184131_r8, & + 0.00026153479158491758_r8, 0.00026096648056318214_r8, & + 0.00026090796114032315_r8, 0.00026103581950124216_r8, & + 0.00026038431062346055_r8, 0.00025781487222186476_r8, & + 0.00025526723334076565_r8, 0.00024987511147888481_r8, & + 0.00024757397027194906_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,87) / & + 8.8605981978280722e-05_r8, 8.3831277907270429e-05_r8, & + 8.8150637668770192e-05_r8, 0.00011092758888429078_r8, & + 0.00011919644334015845_r8, 0.00013312991323821295_r8, & + 0.00015477204169777971_r8, 0.00016416369779655323_r8, & + 0.00017096121822750707_r8, 0.00018362870687643591_r8, & + 0.00019741651367553162_r8, 0.00021508590778388111_r8, & + 0.00022882117253104862_r8, 0.0002368333093960004_r8, & + 0.00023972205380487019_r8, 0.00024317020000727061_r8, & + 0.00024694701167264854_r8, 0.00024960540045359782_r8, & + 0.00025117339080461435_r8, 0.00025249372558914601_r8, & + 0.00025323685762705932_r8, 0.00025623505634305403_r8, & + 0.00025553336494242183_r8, 0.0002567358341633834_r8, & + 0.00025786568625726876_r8, 0.00025894587746763719_r8, & + 0.0002596391198607449_r8, 0.00026137931145323278_r8, & + 0.00026351186334850317_r8, 0.00026449742711195267_r8, & + 0.00026466754643204073_r8, 0.00026398134496352464_r8, & + 0.00026261489449297252_r8, 0.00026143167300218297_r8, & + 0.000260512756138828_r8, 0.00025865603152176291_r8, & + 0.00025549161546071971_r8, 0.00025292892867468487_r8, & + 0.00025134394935045031_r8, 0.00024973907871589195_r8, & + 0.00024909516925362935_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,8,87) / & + 4.3463844796725068e-05_r8, 4.4424590338497555e-05_r8, & + 4.9397991107706181e-05_r8, 6.3314210054539772e-05_r8, & + 6.9057072146803627e-05_r8, 7.7852399795564966e-05_r8, & + 9.7383080179694765e-05_r8, 0.00011819035397324803_r8, & + 0.0001319929690310664_r8, 0.00014398712729142641_r8, & + 0.00015426060715149223_r8, 0.00016916932773863191_r8, & + 0.00018515654755321323_r8, 0.0001953807893908109_r8, & + 0.00020050883796329187_r8, 0.00020489017063115051_r8, & + 0.00021132051016103622_r8, 0.00021661186943891121_r8, & + 0.00022173979349075719_r8, 0.00022543174364864988_r8, & + 0.00022858749228164116_r8, 0.00023345678676643693_r8, & + 0.00023670757331279593_r8, 0.00023944971340940683_r8, & + 0.00024157449546843257_r8, 0.00024340745997949247_r8, & + 0.00024511223200060207_r8, 0.00024974339010060229_r8, & + 0.00025450660673339171_r8, 0.00025762069364293803_r8, & + 0.0002597293148479294_r8, 0.00026085939312275235_r8, & + 0.0002616164120815033_r8, 0.00026247503679694491_r8, & + 0.00026339137299329443_r8, 0.00026327448397800207_r8, & + 0.00026263625479848468_r8, 0.00026087684770152974_r8, & + 0.0002597067017856764_r8, 0.00025325792384148563_r8, & + 0.00025145425343186596_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,87) / & + 2.3986372787012102e-05_r8, 2.5450003496448281e-05_r8, & + 2.6845671757601555e-05_r8, 4.5665728854137869e-05_r8, & + 4.5645559500064132e-05_r8, 4.8448345901818528e-05_r8, & + 5.4640019803308758e-05_r8, 6.5395735352276256e-05_r8, & + 8.2472303592248786e-05_r8, 9.7517707527587376e-05_r8, & + 0.00011014801383730305_r8, 0.00012422629408387304_r8, & + 0.00014626806288218504_r8, 0.00016158195247194235_r8, & + 0.00017115064630245346_r8, 0.00017764370187313419_r8, & + 0.00018703666685925718_r8, 0.00019445526010763558_r8, & + 0.00020032229438681395_r8, 0.00020428136673241061_r8, & + 0.00020731752958920809_r8, 0.00021025015156421291_r8, & + 0.00021342940970618565_r8, 0.00021749761577759207_r8, & + 0.00022130644806260229_r8, 0.0002240719540557032_r8, & + 0.0002263844905652522_r8, 0.00023114384519657782_r8, & + 0.00023625651351914188_r8, 0.0002414836446913156_r8, & + 0.00024675990675146161_r8, 0.0002504723813680687_r8, & + 0.00025333165159093722_r8, 0.00025611154786573667_r8, & + 0.0002596604445645527_r8, 0.00026167042631625973_r8, & + 0.00026303847981619665_r8, 0.00026253309164118814_r8, & + 0.00026076150930173699_r8, 0.00025323002132673927_r8, & + 0.00025182013030910729_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,87) / & + 1.4676798883003893e-05_r8, 1.5122545772249743e-05_r8, & + 1.5764392927400127e-05_r8, 1.9281146353504738e-05_r8, & + 1.9670007408909291e-05_r8, 2.1427962867330335e-05_r8, & + 2.3499584813942711e-05_r8, 2.7334444754634139e-05_r8, & + 3.6040856040665674e-05_r8, 4.6527205450868968e-05_r8, & + 5.6365967926897304e-05_r8, 6.521276894319884e-05_r8, & + 7.7272736981976668e-05_r8, 8.9709923038296856e-05_r8, & + 0.00010200656434287866_r8, 0.00011215990916935148_r8, & + 0.00012973233648443225_r8, 0.00014504097943222885_r8, & + 0.00015673577211522879_r8, 0.00016490045459347332_r8, & + 0.00017080139609547507_r8, 0.00017500786317916714_r8, & + 0.00017755892186040588_r8, 0.00017978265292373363_r8, & + 0.0001814040286827735_r8, 0.0001828733220043355_r8, & + 0.00018500624909752633_r8, 0.0001926681205739358_r8, & + 0.00020507904145521924_r8, 0.00021740857845694021_r8, & + 0.00022715238920436508_r8, 0.00023466873113788008_r8, & + 0.00024127187807353848_r8, 0.0002474036321151431_r8, & + 0.00025350571010450195_r8, 0.00025965736544807198_r8, & + 0.00026112710905042499_r8, 0.00026076447209560954_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,87) / & + 7.0180802469597911e-06_r8, 6.9442422390010511e-06_r8, & + 6.3663555232907757e-06_r8, 6.8009401781144776e-06_r8, & + 6.8999072197725269e-06_r8, 7.7203643856760861e-06_r8, & + 9.7375273998108963e-06_r8, 1.1582778028185662e-05_r8, & + 1.5268470573466299e-05_r8, 1.9150530784282227e-05_r8, & + 2.2627749084100364e-05_r8, 2.5584714455482671e-05_r8, & + 3.0682712733619481e-05_r8, 3.6298767600014662e-05_r8, & + 4.2745425025419676e-05_r8, 4.8285178904683619e-05_r8, & + 6.2065174941348161e-05_r8, 7.811837036478791e-05_r8, & + 9.3365857057816167e-05_r8, 0.00010756448481771053_r8, & + 0.00012098007388694276_r8, 0.00013137135019298586_r8, & + 0.00013938987995376674_r8, 0.00014563280306923728_r8, & + 0.00014982628399162339_r8, 0.00015214377763117382_r8, & + 0.00015409667201592633_r8, 0.00015451482394319253_r8, & + 0.00015894280021811242_r8, 0.00017031145199994046_r8, & + 0.00018670645380492099_r8, 0.00020319318339582305_r8, & + 0.00021587192316592605_r8, 0.00022687579657009932_r8, & + 0.00023793330739749463_r8, 0.00025469716050284763_r8, & + 0.00026150503644717865_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,87) / & + 2.9238466877754853e-06_r8, 2.6423526759697251e-06_r8, & + 1.5927855691650224e-06_r8, 3.071456356655713e-06_r8, & + 3.1919946481054291e-06_r8, 3.5822497067857496e-06_r8, & + 5.5562488300393774e-06_r8, 6.28793621377274e-06_r8, & + 7.4622046158255393e-06_r8, 8.6518319671625045e-06_r8, & + 9.7944217228496854e-06_r8, 1.1101087496145741e-05_r8, & + 1.3573962185726004e-05_r8, 1.6502077036967313e-05_r8, & + 1.974879424340582e-05_r8, 2.3254364306381463e-05_r8, & + 3.1503829222077172e-05_r8, 4.1669346097158552e-05_r8, & + 5.2726972277831457e-05_r8, 6.4730241255333377e-05_r8, & + 7.8112593793880467e-05_r8, 9.0839289297784596e-05_r8, & + 0.00010390661834876341_r8, 0.00011639176541722574_r8, & + 0.00012677879656666988_r8, 0.00013362539814848649_r8, & + 0.00013823763014356741_r8, 0.00014094300811776575_r8, & + 0.00013913631588778139_r8, 0.00014063345244246702_r8, & + 0.00014727808590307459_r8, 0.00015983479509033591_r8, & + 0.00017459376666592019_r8, 0.00019939578442673231_r8, & + 0.00020952011767347403_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,87) / & + 1.9716016451472307e-06_r8, 1.8121405270286489e-06_r8, & + 1.1811424322467686e-06_r8, 3.055195418255807e-06_r8, & + 3.0308582152091775e-06_r8, 3.4112647313037811e-06_r8, & + 4.2393348233152843e-06_r8, 4.396602722636906e-06_r8, & + 4.8167456417249457e-06_r8, 5.317816230919987e-06_r8, & + 5.917255903744181e-06_r8, 7.336368694853948e-06_r8, & + 9.1624487260040332e-06_r8, 1.0846146278202271e-05_r8, & + 1.3084642648411549e-05_r8, 1.5816390925013324e-05_r8, & + 2.2848875296458817e-05_r8, 3.1559333165760673e-05_r8, & + 4.086217281650918e-05_r8, 5.2173181725281765e-05_r8, & + 6.5008375202698187e-05_r8, 7.8026491174582887e-05_r8, & + 9.2126470798613126e-05_r8, 0.00010576591397667629_r8, & + 0.00011704338752264144_r8, 0.00012446713675006951_r8, & + 0.00012929284141218944_r8, 0.00013123815831041159_r8, & + 0.00012615735105637701_r8, 0.00012329295567772443_r8, & + 0.00012398149264451899_r8, 0.00012821830937260299_r8, & + 0.00013537659809328322_r8, 0.00014033230412065489_r8, & + 0.0001576954711730674_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,87) / & + 3.0975879667025651e-06_r8, 3.0738287540083814e-06_r8, & + 2.8921931440120001e-06_r8, 3.242981743345252e-06_r8, & + 3.2466273444316197e-06_r8, 3.6214725133587084e-06_r8, & + 3.8356541074327136e-06_r8, 3.6614350147807102e-06_r8, & + 3.658937657305548e-06_r8, 3.9720468673003563e-06_r8, & + 4.7304939454014024e-06_r8, 5.9454868953186153e-06_r8, & + 7.5092246086450016e-06_r8, 8.737359165729926e-06_r8, & + 1.0309164985204934e-05_r8, 1.2523470206918385e-05_r8, & + 1.935450185402135e-05_r8, 2.7463818860033201e-05_r8, & + 3.6272130030638208e-05_r8, 4.7188484737277434e-05_r8, & + 6.0539980092174429e-05_r8, 7.6171115414823924e-05_r8, & + 9.0588531589172713e-05_r8, 0.00010391838474765059_r8, & + 0.00011421723572095229_r8, 0.00012165003427964858_r8, & + 0.00012569619155930627_r8, 0.00012454010769878945_r8, & + 0.00011752226180527896_r8, 0.00011224688575065707_r8, & + 0.00010890581347427103_r8, 0.00010794269997086661_r8, & + 0.0001097318270939979_r8, 0.00012057881977795195_r8, & + 0.0001380903401932209_r8, 0.00014921556191630411_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,87) / & + 3.727611735653455e-06_r8, 3.7513216529894177e-06_r8, & + 3.5765526125396293e-06_r8, 2.957935179923669e-06_r8, & + 3.6285414625730418e-06_r8, 3.916432333131959e-06_r8, & + 4.0163451350843339e-06_r8, 3.6049114847614637e-06_r8, & + 3.7021858158735665e-06_r8, 4.1959500040243188e-06_r8, & + 4.7078795213451634e-06_r8, 5.3317416570833141e-06_r8, & + 6.5010721853658188e-06_r8, 7.9084886986689189e-06_r8, & + 9.7992551857812895e-06_r8, 1.2165689509944877e-05_r8, & + 1.9070550734232092e-05_r8, 2.7572017335625146e-05_r8, & + 3.7564301967846949e-05_r8, 5.0117212783186322e-05_r8, & + 6.5178507510108447e-05_r8, 8.1621422902838992e-05_r8, & + 9.5986706677063667e-05_r8, 0.00010813705228158483_r8, & + 0.00011549368848328885_r8, 0.00011955499393974713_r8, & + 0.00012014216965068334_r8, 0.00011552730251752643_r8, & + 0.00010755139427508277_r8, 0.00010152915861282243_r8, & + 9.7345303015750577e-05_r8, 9.601508693870715e-05_r8, & + 9.7563503984352855e-05_r8, 0.00010608958299389169_r8, & + 0.00012128196887484708_r8, 0.00014012665925134253_r8, & + 0.00016093737337749068_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,87) / & + 3.6222626433369342e-06_r8, 3.6299259302238369e-06_r8, & + 3.477508600550629e-06_r8, 2.4003419786940755e-06_r8, & + 3.4676302702296823e-06_r8, 4.0471874444926053e-06_r8, & + 3.7801508326106868e-06_r8, 3.5270685761456215e-06_r8, & + 3.9114247539979707e-06_r8, 4.6323608241621527e-06_r8, & + 5.4376775166781649e-06_r8, 6.2393085345025467e-06_r8, & + 7.6340818156338035e-06_r8, 9.4945243815753994e-06_r8, & + 1.2237200363398976e-05_r8, 1.577120946054454e-05_r8, & + 2.5037405509273168e-05_r8, 3.6453196320142412e-05_r8, & + 5.0534395910891339e-05_r8, 6.7736890753826117e-05_r8, & + 8.6603586830972756e-05_r8, 0.0001029070479465197_r8, & + 0.00011331299890506544_r8, 0.00011920474848617346_r8, & + 0.00012119820792422408_r8, 0.00012018350715555487_r8, & + 0.00011719217999328132_r8, 0.00010677252037568231_r8, & + 9.5522336288162096e-05_r8, 9.1400538282633282e-05_r8, & + 9.1787466798576661e-05_r8, 9.5156213183451234e-05_r8, & + 0.00010157069254989504_r8, 0.00011378855960790162_r8, & + 0.0001330401775682382_r8, 0.00015568695176331767_r8, & + 0.00018167732691384668_r8, 0.00020173994654694856_r8, & + 0.00021940992604610392_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,17,87) / & + 2.9158603103489358e-06_r8, 2.8977566512309694e-06_r8, & + 2.8190812821801346e-06_r8, 2.2662922344279395e-06_r8, & + 2.5500601376199515e-06_r8, 3.6536187918850839e-06_r8, & + 3.0600368377920923e-06_r8, 3.2121566473339791e-06_r8, & + 3.6767654737060012e-06_r8, 4.5072735795937523e-06_r8, & + 5.6963039808031063e-06_r8, 7.1759485422956555e-06_r8, & + 1.0052312310952989e-05_r8, 1.3410059702851438e-05_r8, & + 1.8270155119623384e-05_r8, 2.4381206442118214e-05_r8, & + 3.7736720213291653e-05_r8, 5.3320099727968469e-05_r8, & + 7.0574276463106699e-05_r8, 8.8334791164687324e-05_r8, & + 0.00010414028739436184_r8, 0.00011368533347309718_r8, & + 0.00011533063316022922_r8, 0.00011364115031357817_r8, & + 0.00011011502404011845_r8, 0.00010605289436725661_r8, & + 0.00010164121095442122_r8, 9.0399312901927147e-05_r8, & + 8.4939352858800292e-05_r8, 8.8344981170319017e-05_r8, & + 9.4655982117820183e-05_r8, 0.00010158679292052832_r8, & + 0.00010984742007567003_r8, 0.00012350097006177892_r8, & + 0.00014227582812843286_r8, 0.00016995891900081607_r8, & + 0.00020406747517889905_r8, 0.00023396759542801708_r8, & + 0.00025381681228694547_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,87) / & + 3.2878484394264541e-06_r8, 3.2318460850449841e-06_r8, & + 3.195074039284615e-06_r8, 3.0504514508046823e-06_r8, & + 3.0524900942910395e-06_r8, 3.6869311002225138e-06_r8, & + 3.3266231926553353e-06_r8, 3.9150189976881075e-06_r8, & + 4.6591381349543618e-06_r8, 6.0066519132929616e-06_r8, & + 8.014390923175324e-06_r8, 1.0612373317697089e-05_r8, & + 1.6275925920752667e-05_r8, 2.3364999269795848e-05_r8, & + 3.1600109778530446e-05_r8, 4.0574457392920741e-05_r8, & + 5.7697298773857651e-05_r8, 7.5217989626658421e-05_r8, & + 9.1637959701987846e-05_r8, 0.00010489730605101207_r8, & + 0.00011419413659205377_r8, 0.00011743677532934286_r8, & + 0.00011486029868534522_r8, 0.00010937045613019189_r8, & + 0.00010284363275133516_r8, 9.6813666297884132e-05_r8, & + 9.2752390434444617e-05_r8, 9.0135917003807649e-05_r8, & + 9.5767372162640325e-05_r8, 0.00010448338901233464_r8, & + 0.00011245543651469309_r8, 0.00011944223671149959_r8, & + 0.00012634720893517666_r8, 0.00013709664754131049_r8, & + 0.00015404631046519256_r8, 0.00018313320599611192_r8, & + 0.00022624988096250085_r8, 0.0002648412230723672_r8, & + 0.00028654464778009873_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,87) / & + 5.045260372943668e-06_r8, 4.9691930534819828e-06_r8, & + 4.8694977941172895e-06_r8, 5.111037745036125e-06_r8, & + 5.0881255682418686e-06_r8, 5.4673767683413568e-06_r8, & + 5.1964278200489607e-06_r8, 6.0812539886037685e-06_r8, & + 7.3028847874513728e-06_r8, 1.0454948181469477e-05_r8, & + 1.4452707729175232e-05_r8, 1.8954731388584935e-05_r8, & + 2.8111830623747818e-05_r8, 3.7392385347869503e-05_r8, & + 4.5630676266620281e-05_r8, 5.370781646028916e-05_r8, & + 6.8616305310174788e-05_r8, 8.3245198467232889e-05_r8, & + 9.7902402949206119e-05_r8, 0.00010966862530720563_r8, & + 0.00011732650480696931_r8, 0.00011907868228446466_r8, & + 0.00011578065002006934_r8, 0.00010855894024738787_r8, & + 9.9719011984810685e-05_r8, 9.228667718966947e-05_r8, & + 8.7661255831953901e-05_r8, 8.9275405903283859e-05_r8, & + 0.00010367141635022227_r8, 0.00011736997473168716_r8, & + 0.00012781317473532506_r8, 0.00013536438512053113_r8, & + 0.00014174394029038199_r8, 0.00014803939726708583_r8, & + 0.00016323743227742812_r8, 0.00018830143892573662_r8, & + 0.00023201517592124363_r8, 0.00027931886225770439_r8, & + 0.00031254089723836996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,87) / & + 6.6123120767461161e-06_r8, 6.6987107739449236e-06_r8, & + 6.6829559543152719e-06_r8, 7.3358029004656175e-06_r8, & + 7.2325001375878872e-06_r8, 7.6331144793820215e-06_r8, & + 7.2485565217198786e-06_r8, 9.7467694755795737e-06_r8, & + 1.2528018627175583e-05_r8, 1.8377201023937846e-05_r8, & + 2.5196570260609683e-05_r8, 3.2469566435855337e-05_r8, & + 4.3199472088472214e-05_r8, 5.1483215065465872e-05_r8, & + 5.7982529282204363e-05_r8, 6.3866637857359232e-05_r8, & + 7.6148081894863371e-05_r8, 8.8475358319364423e-05_r8, & + 0.00010149564395145664_r8, 0.00011500088186319002_r8, & + 0.00012301125802290035_r8, 0.00012428928376962111_r8, & + 0.0001188589725328358_r8, 0.00010924371847966957_r8, & + 9.8118642408490036e-05_r8, 8.9097643509537341e-05_r8, & + 8.3245762382866249e-05_r8, 8.2255910636567215e-05_r8, & + 9.8542943593722627e-05_r8, 0.00011678177770652229_r8, & + 0.00013168711783607015_r8, 0.00014163939116774058_r8, & + 0.00014937331298674168_r8, 0.0001541298495968836_r8, & + 0.00016399474822449843_r8, 0.00018679333411272507_r8, & + 0.00023526997451580334_r8, 0.00030104870905004648_r8, & + 0.00034400825766327681_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,21,87) / & + 7.4160027902427935e-06_r8, 7.587407826901286e-06_r8, & + 8.2497736254300917e-06_r8, 9.4737567104200586e-06_r8, & + 9.489623688499841e-06_r8, 9.797684354391984e-06_r8, & + 1.0908331484316278e-05_r8, 1.7595724619519593e-05_r8, & + 2.4300874315588266e-05_r8, 3.1335297322591627e-05_r8, & + 3.7011466180624216e-05_r8, 4.369481119886518e-05_r8, & + 5.1889388721503761e-05_r8, 5.8679933306403893e-05_r8, & + 6.5355663423413007e-05_r8, 7.2028947671677726e-05_r8, & + 8.5003754108787838e-05_r8, 9.869358139678877e-05_r8, & + 0.00011220170635486253_r8, 0.00012484399221838276_r8, & + 0.00013170937504538221_r8, 0.00013159127358425206_r8, & + 0.00012204174377375746_r8, 0.00011022325467150509_r8, & + 9.8635892290221752e-05_r8, 8.8875799833604654e-05_r8, & + 8.3377819550719049e-05_r8, 8.2245716894422023e-05_r8, & + 9.5979478776044686e-05_r8, 0.00011874177506764664_r8, & + 0.00013817052017879532_r8, 0.0001489067047455731_r8, & + 0.00015509406821366011_r8, 0.00015740204910377452_r8, & + 0.00016079500232184563_r8, 0.00017553455101084695_r8, & + 0.0002339080339256924_r8, 0.00032479503403912624_r8, & + 0.00037915117860955324_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,22,87) / & + 7.2124194413863363e-06_r8, 7.2302540040702568e-06_r8, & + 8.477202613520085e-06_r8, 9.7329298379259139e-06_r8, & + 1.0154246148942434e-05_r8, 1.1828372410765538e-05_r8, & + 1.8964106481219722e-05_r8, 2.7172264485315078e-05_r8, & + 3.2459195641747345e-05_r8, 3.6328885300737695e-05_r8, & + 3.9054855765236163e-05_r8, 4.2885535817571349e-05_r8, & + 4.8337211670534434e-05_r8, 5.6139053617199607e-05_r8, & + 6.4955476952189824e-05_r8, 7.3630498549198843e-05_r8, & + 8.9371880504053589e-05_r8, 0.00010563542031306163_r8, & + 0.00011845154592092908_r8, 0.00012796520348567421_r8, & + 0.00013192158252975844_r8, 0.00013092579364139533_r8, & + 0.00012090527637097098_r8, 0.00011027307559583346_r8, & + 9.9512559727554635e-05_r8, 8.9698054615472092e-05_r8, & + 8.4346862764398615e-05_r8, 8.4323344832713245e-05_r8, & + 9.6722320586514217e-05_r8, 0.00011621546106413155_r8, & + 0.00013718224518962659_r8, 0.00015221006824847348_r8, & + 0.00016201592462330723_r8, 0.00016409494203071498_r8, & + 0.00016571655804804541_r8, 0.00017729125244127342_r8, & + 0.00023829573366507647_r8, 0.00034476775592067772_r8, & + 0.00039868651001189132_r8, 0.00038456372074256024_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,87) / & + 6.5592428064017658e-06_r8, 6.8454068093687068e-06_r8, & + 8.0572447198094084e-06_r8, 7.8407843815177111e-06_r8, & + 9.0165651129602277e-06_r8, 1.1315600145014164e-05_r8, & + 2.0826931374286099e-05_r8, 3.0384694345304268e-05_r8, & + 3.4121413504211619e-05_r8, 3.7157429734658235e-05_r8, & + 3.9356253865733096e-05_r8, 4.1926758442762131e-05_r8, & + 4.7973866910437834e-05_r8, 5.7436951718496977e-05_r8, & + 6.819991882113093e-05_r8, 7.8069349813708979e-05_r8, & + 9.4135883456044532e-05_r8, 0.00011168901863087705_r8, & + 0.00012404154749429385_r8, 0.000134300131220275_r8, & + 0.00013869201868671547_r8, 0.00013689168191514538_r8, & + 0.00012725144084051496_r8, 0.00011555657773442474_r8, & + 0.00010606739546592155_r8, 9.6713982793358787e-05_r8, & + 9.1016759409871085e-05_r8, 9.1277620032615041e-05_r8, & + 0.00010225418666896399_r8, 0.00012042004782321077_r8, & + 0.00014000034991505495_r8, 0.00015589649889179773_r8, & + 0.00016884239145502293_r8, 0.0001772903791639062_r8, & + 0.00018362700163016842_r8, 0.00019015915087522799_r8, & + 0.000203207749185324_r8, 0.0002190325449632406_r8, & + 0.0002333006573553499_r8, 0.0002424435383727364_r8, & + 0.00026812535124662545_r8, 0.00034950830026815117_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,24,87) / & + 7.2815126891818667e-06_r8, 7.8701636745084144e-06_r8, & + 8.888253621553394e-06_r8, 9.7363037104332112e-06_r8, & + 1.3171204025219023e-05_r8, 1.710911055268255e-05_r8, & + 2.6278487064732982e-05_r8, 3.5014395735308198e-05_r8, & + 3.7537364449769852e-05_r8, 4.0096903716983724e-05_r8, & + 4.2312573735860264e-05_r8, 4.4384351678131793e-05_r8, & + 5.0789817984253246e-05_r8, 5.9366891297980205e-05_r8, & + 6.9249445961966371e-05_r8, 7.9446438592203677e-05_r8, & + 9.7213211509266365e-05_r8, 0.00011407412298039122_r8, & + 0.00012713186960337268_r8, 0.00013752745790908023_r8, & + 0.00014041338708111874_r8, 0.00013836122221201678_r8, & + 0.00013200803619231642_r8, 0.00012237254293485304_r8, & + 0.0001150457105460816_r8, 0.00010807411524860215_r8, & + 0.00010316934181313311_r8, 0.00010338662232149241_r8, & + 0.00011421857908816212_r8, 0.00013161334065481508_r8, & + 0.00014880719791072919_r8, 0.0001641353302081415_r8, & + 0.00017754769641507498_r8, 0.00018924607257413893_r8, & + 0.00019852965437287641_r8, 0.00020790486898235604_r8, & + 0.00021719683864554714_r8, 0.00022817819178393563_r8, & + 0.00023622168833271662_r8, 0.00024190882300738608_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,87) / & + 8.1931163056079898e-06_r8, 8.8896096193578941e-06_r8, & + 9.8280520586977759e-06_r8, 1.2976419578533241e-05_r8, & + 1.8039931387336239e-05_r8, 2.3862148930231377e-05_r8, & + 3.2598801317230603e-05_r8, 3.8377673283421428e-05_r8, & + 4.0552955618744042e-05_r8, 4.3041778551448988e-05_r8, & + 4.5175087295185858e-05_r8, 4.6803306159359413e-05_r8, & + 5.2254571818059474e-05_r8, 5.9853853029430137e-05_r8, & + 6.9130223293477333e-05_r8, 7.8623950839851539e-05_r8, & + 9.772241525025509e-05_r8, 0.00011419300857294586_r8, & + 0.00012750007906900428_r8, 0.00013671070931938178_r8, & + 0.00013896962957151712_r8, 0.00013776750644955429_r8, & + 0.00013343858608329232_r8, 0.00012675706231512891_r8, & + 0.0001209911177642655_r8, 0.00011578439792993091_r8, & + 0.00011226310185276115_r8, 0.00011311086134537344_r8, & + 0.0001236982780513764_r8, 0.00013941107162044987_r8, & + 0.00015627823476153623_r8, 0.00017180376724501277_r8, & + 0.00018548329436415627_r8, 0.00019820733417178147_r8, & + 0.00020928401718317525_r8, 0.000221575236093283_r8, & + 0.00023285626938793997_r8, 0.00024695596594088753_r8, & + 0.00025452208991609819_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,26,87) / & + 8.3299068358938366e-06_r8, 8.9925949229667925e-06_r8, & + 1.0211804298818189e-05_r8, 1.126721953765686e-05_r8, & + 1.4049518462458071e-05_r8, 2.0846624904384735e-05_r8, & + 3.5113422673119514e-05_r8, 4.0886826479150418e-05_r8, & + 4.4177393565508492e-05_r8, 4.6115643992095641e-05_r8, & + 4.8326883798740617e-05_r8, 4.9325146254692283e-05_r8, & + 5.2115655465114028e-05_r8, 5.6705706190327732e-05_r8, & + 6.2179170710474364e-05_r8, 6.8382024979882444e-05_r8, & + 8.4025978638500447e-05_r8, 0.00010293724251506308_r8, & + 0.00011523633218779574_r8, 0.00012469819232519149_r8, & + 0.00012929705845642588_r8, 0.0001309459536053963_r8, & + 0.0001255182009280024_r8, 0.0001219740103249552_r8, & + 0.00011922228042720463_r8, 0.00011732337780078119_r8, & + 0.00011713045630703304_r8, 0.00012015154011087147_r8, & + 0.00013050330575798547_r8, 0.00014432897897897053_r8, & + 0.00015716258867613209_r8, 0.00017134432705731814_r8, & + 0.00018385819227491467_r8, 0.00019790619147083937_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,27,87) / & + 1.2576239633613569e-05_r8, 1.3880435938679482e-05_r8, & + 1.5226118488180421e-05_r8, 1.3138463399045429e-05_r8, & + 1.6852384266186657e-05_r8, 2.3274150447480006e-05_r8, & + 3.368278971138295e-05_r8, 3.9476096399218028e-05_r8, & + 4.3066315016845241e-05_r8, 4.6179683616698107e-05_r8, & + 4.9019105174781617e-05_r8, 5.0658011338151523e-05_r8, & + 5.4297714994110649e-05_r8, 5.8977275640186702e-05_r8, & + 6.4761857629843471e-05_r8, 7.0228976222247401e-05_r8, & + 8.5450211904182789e-05_r8, 0.00010319468768089617_r8, & + 0.00011496444195087879_r8, 0.00012428722564281956_r8, & + 0.00012882601505929018_r8, 0.000130612544688411_r8, & + 0.00012662855612957915_r8, 0.00012465148942084571_r8, & + 0.00012373061298616769_r8, 0.00012399564374255398_r8, & + 0.00012639761183941617_r8, 0.00013300767611197455_r8, & + 0.0001442410012404791_r8, 0.00015801303759238486_r8, & + 0.00017534200127626646_r8, 0.00018706697556234494_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,87) / & + 6.777532938987519e-06_r8, 7.6210795544738691e-06_r8, & + 7.755926243133285e-06_r8, 7.6821521181314748e-06_r8, & + 8.5364553535944516e-06_r8, 1.0010743129645616e-05_r8, & + 1.3910092774218772e-05_r8, 1.3015106276133901e-05_r8, & + 1.4152990916409234e-05_r8, 1.5632190647900718e-05_r8, & + 1.7030651495832991e-05_r8, 2.0345260150041245e-05_r8, & + 2.4404785246437239e-05_r8, 2.9513484417047101e-05_r8, & + 3.6756109013030087e-05_r8, 4.4342247648561322e-05_r8, & + 6.1522797766576132e-05_r8, 7.8622526062592597e-05_r8, & + 9.4934586024165063e-05_r8, 0.00010777382338731002_r8, & + 0.00011366065873224275_r8, 0.00012022432907917729_r8, & + 0.00012045645298133789_r8, 0.00012041782628714944_r8, & + 0.00012260956025150128_r8, 0.00012666750381559846_r8, & + 0.00013122235009847174_r8, 0.0001439735721875074_r8, & + 0.00016042937039517275_r8, 0.00017665716699418144_r8, & + 0.00019006377427033063_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,29,87) / & + 4.7836069156287695e-06_r8, 4.8283876820580084e-06_r8, & + 5.4225713300021451e-06_r8, 5.396392518221549e-06_r8, & + 5.5228467561667237e-06_r8, 5.813226952878142e-06_r8, & + 6.1741923430379801e-06_r8, 6.9106456423420613e-06_r8, & + 7.2134028277052079e-06_r8, 8.7888226411923518e-06_r8, & + 1.0351573050582834e-05_r8, 1.3294436975564133e-05_r8, & + 1.8198510036546435e-05_r8, 2.2306764124578692e-05_r8, & + 2.7639774128033202e-05_r8, 3.3872458052335669e-05_r8, & + 5.0313786312982307e-05_r8, 6.6320118119504319e-05_r8, & + 8.3825259338457438e-05_r8, 9.9305097695863374e-05_r8, & + 0.00010652547547099838_r8, 0.00011058015426482687_r8, & + 0.00011081135644721026_r8, 0.00011263406261022127_r8, & + 0.00011623295372310638_r8, 0.00012162412214641637_r8, & + 0.0001271621288935468_r8, 0.00014046893765535973_r8, & + 0.00016377091242137317_r8, 0.00018059040632759896_r8, & + 0.0002016115624542583_r8, 0.00021974976685422309_r8, & + 0.00023523457875098924_r8, 0.00024629594548866203_r8, & + 0.00025863564972858978_r8, 0.00026320834411610309_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,87) / & + 5.9805116232232255e-06_r8, 5.8973268190216301e-06_r8, & + 6.1209220815721353e-06_r8, 5.6222468421191204e-06_r8, & + 5.7589190065747616e-06_r8, 5.9097597015845645e-06_r8, & + 6.5053045330281067e-06_r8, 7.2995234219411894e-06_r8, & + 7.8790759823882841e-06_r8, 9.5514378543548111e-06_r8, & + 1.114325289123668e-05_r8, 1.3249544495283518e-05_r8, & + 1.6805742854899212e-05_r8, 1.9985250145076357e-05_r8, & + 2.3437060990849272e-05_r8, 2.7748692488867819e-05_r8, & + 3.7102148165558393e-05_r8, 4.8193654139820311e-05_r8, & + 6.1571890233020151e-05_r8, 7.3589610560687664e-05_r8, & + 8.0625232183708588e-05_r8, 8.4895648008832716e-05_r8, & + 8.5597634320139912e-05_r8, 8.8431430571794955e-05_r8, & + 9.0965113381295422e-05_r8, 9.5395938665888524e-05_r8, & + 0.00010023212007238774_r8, 0.00010973319193115915_r8, & + 0.00013151575806461213_r8, 0.00014598074128055892_r8, & + 0.00018008569203369602_r8, 0.00020184654265099125_r8, & + 0.00022401096392521872_r8, 0.00024211898739243966_r8, & + 0.00025689423236603562_r8, 0.00026729936144720916_r8, & + 0.00027507815274733962_r8, 0.00028257947057885516_r8, & + 0.00028832720511538876_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,31,87) / & + 7.1393466401533606e-06_r8, 6.9166605368701156e-06_r8, & + 6.8878113082150332e-06_r8, 6.2867035015744274e-06_r8, & + 6.6746711979773162e-06_r8, 6.800748749027203e-06_r8, & + 7.0284316943320618e-06_r8, 8.340190203453146e-06_r8, & + 9.3872759570151668e-06_r8, 1.0749398674236971e-05_r8, & + 1.214532768900793e-05_r8, 1.3392873781223147e-05_r8, & + 1.6264505065398604e-05_r8, 1.892450989755404e-05_r8, & + 2.1073059472302848e-05_r8, 2.3854262377802867e-05_r8, & + 2.9699547633255731e-05_r8, 3.7378571225857272e-05_r8, & + 4.6519254128650855e-05_r8, 5.302592682044556e-05_r8, & + 5.8078214175466596e-05_r8, 6.2690831428263949e-05_r8, & + 6.4481192963482278e-05_r8, 6.7442016272039796e-05_r8, & + 7.0114217433854545e-05_r8, 7.4565418613454015e-05_r8, & + 7.9977456050218948e-05_r8, 9.1757348188447119e-05_r8, & + 0.00011357679742185847_r8, 0.00013260344745447778_r8, & + 0.00016659914255306429_r8, 0.00019427868989447397_r8, & + 0.00022129648731158977_r8, 0.00024387369606779095_r8, & + 0.00026165821678677192_r8, 0.00027497161194824885_r8, & + 0.00028406676510847427_r8, 0.00029070574965953572_r8, & + 0.00029200874373605686_r8, 0.00029468421957545854_r8, & + 0.00029530232232199554_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,87) / & + 6.1164649650125146e-06_r8, 5.9742242336416593e-06_r8, & + 5.5374130360344962e-06_r8, 5.9880524492211612e-06_r8, & + 6.6809358747358109e-06_r8, 6.9888349395810787e-06_r8, & + 8.9816465539383358e-06_r8, 1.1505976492890585e-05_r8, & + 1.2975121320407407e-05_r8, 1.4396803852921392e-05_r8, & + 1.6028340579711714e-05_r8, 1.7748494983798263e-05_r8, & + 2.089999297980581e-05_r8, 2.3586768572450461e-05_r8, & + 2.6349867662420012e-05_r8, 2.8988150915218579e-05_r8, & + 3.4630585507799747e-05_r8, 4.2361362766414743e-05_r8, & + 5.0272866867424837e-05_r8, 5.5420245951146298e-05_r8, & + 5.9043253184138209e-05_r8, 6.238581303521178e-05_r8, & + 6.4831726463625749e-05_r8, 6.8077643141934151e-05_r8, & + 7.244978337941434e-05_r8, 7.7597658681570749e-05_r8, & + 8.2508246860093067e-05_r8, 9.4097066632043094e-05_r8, & + 0.00011245319852132903_r8, 0.00013643134256868483_r8, & + 0.00016627826750881399_r8, 0.00019804901763749037_r8, & + 0.00022411462344980692_r8, 0.00024514172679655191_r8, & + 0.00026297384169581011_r8, 0.00027711787498338193_r8, & + 0.00028841156817704483_r8, 0.00029591770358947345_r8, & + 0.00030148895711187975_r8, 0.00030354627940363404_r8, & + 0.00030464357739870616_r8, 0.00030455041575585672_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,87) / & + 6.0784638151153795e-06_r8, 6.6503746333753471e-06_r8, & + 5.5483179689762968e-06_r8, 6.5305045130576899e-06_r8, & + 7.6551818206482797e-06_r8, 8.3921938550592569e-06_r8, & + 1.1077170099925276e-05_r8, 1.4669170799333001e-05_r8, & + 1.6594911267693277e-05_r8, 1.8192564429092716e-05_r8, & + 1.9529689130318696e-05_r8, 2.0770861634500097e-05_r8, & + 2.3578437464822241e-05_r8, 2.5659735211446275e-05_r8, & + 2.7380931955300752e-05_r8, 2.9179008295690089e-05_r8, & + 3.4990955000119548e-05_r8, 4.3009923080563952e-05_r8, & + 5.2434386648056711e-05_r8, 5.874628305608608e-05_r8, & + 6.2899092768263119e-05_r8, 6.6368924018598533e-05_r8, & + 6.9906627998350741e-05_r8, 7.303624644589918e-05_r8, & + 7.6754755976285035e-05_r8, 8.0367614206470743e-05_r8, & + 8.3630084770364404e-05_r8, 9.2178090655786179e-05_r8, & + 0.00010983796820517584_r8, 0.00013457185557994172_r8, & + 0.00016637406172849626_r8, 0.00019655546404117515_r8, & + 0.00022538796533742259_r8, 0.00024875613916778677_r8, & + 0.0002695306406025675_r8, 0.00028489361845981129_r8, & + 0.00029725980270676057_r8, 0.00030508712784326131_r8, & + 0.00031058788843280879_r8, 0.00031363121404162528_r8, & + 0.00031644353239804884_r8, 0.00031736419991374332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,87) / & + 7.9546594051028767e-06_r8, 9.1261715521886606e-06_r8, & + 7.965569655836463e-06_r8, 1.0749250341943156e-05_r8, & + 1.1818118332134018e-05_r8, 1.2793575120939011e-05_r8, & + 1.4745819427477348e-05_r8, 1.9897627046163185e-05_r8, & + 2.2090599054907927e-05_r8, 2.3886957614362666e-05_r8, & + 2.4870469375994253e-05_r8, 2.6221229553845068e-05_r8, & + 2.807640205674871e-05_r8, 2.9622443625491169e-05_r8, & + 3.1201468785994413e-05_r8, 3.3158981460309823e-05_r8, & + 3.8638967933336989e-05_r8, 4.7209797614150402e-05_r8, & + 5.9060000633471073e-05_r8, 6.8105170094371543e-05_r8, & + 7.3542790789575608e-05_r8, 7.774407675833613e-05_r8, & + 8.1485244148201557e-05_r8, 8.4135469787680647e-05_r8, & + 8.6470806160393124e-05_r8, 8.8049826937473653e-05_r8, & + 8.9122404777163737e-05_r8, 9.2917649811823739e-05_r8, & + 0.0001053777021747121_r8, 0.00012985007793476526_r8, & + 0.00016544163629736902_r8, 0.00020068189689538785_r8, & + 0.00023366333247826554_r8, 0.00026178950740299122_r8, & + 0.00028790159177581462_r8, 0.00030506454288671943_r8, & + 0.00031652090624199517_r8, 0.00032318413409696499_r8, & + 0.00032677015532036165_r8, 0.00032946136095095892_r8, & + 0.00032605725008074326_r8, 0.00032944905982773987_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,35,87) / & + 9.6469207057591227e-06_r8, 1.0422851575449191e-05_r8, & + 9.9034067076669933e-06_r8, 1.5754687501292507e-05_r8, & + 1.7895016189618579e-05_r8, 1.6944046345069942e-05_r8, & + 2.1239896234272619e-05_r8, 2.607489474852165e-05_r8, & + 2.8366549737427573e-05_r8, 2.9994089268034318e-05_r8, & + 3.0986846773353873e-05_r8, 3.2021835212867994e-05_r8, & + 3.3394244983882578e-05_r8, 3.5227307932924534e-05_r8, & + 3.7159089272013875e-05_r8, 3.8815991026710416e-05_r8, & + 4.3848065023479349e-05_r8, 5.191550063340592e-05_r8, & + 6.5209729428900899e-05_r8, 7.463704157834901e-05_r8, & + 8.0189083037606807e-05_r8, 8.3652051383111366e-05_r8, & + 8.6070815469111787e-05_r8, 8.7907266302633737e-05_r8, & + 8.8906151165981268e-05_r8, 8.9330166182873073e-05_r8, & + 8.9640549111556696e-05_r8, 9.3088983862543045e-05_r8, & + 0.00010659003421277424_r8, 0.00013311713815031349_r8, & + 0.00016713319380915552_r8, 0.00020930970710326488_r8, & + 0.000247023026073542_r8, 0.00027772833959045334_r8, & + 0.00030411783154482439_r8, 0.00032269128097445703_r8, & + 0.00033382962442733536_r8, 0.00033873975159054117_r8, & + 0.00034074511705321596_r8, 0.0003426402284659023_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,87) / & + 1.0772045887582167e-05_r8, 1.0953398332548632e-05_r8, & + 1.0325515092735196e-05_r8, 2.0261436513890123e-05_r8, & + 2.4064058083842845e-05_r8, 2.402571769332304e-05_r8, & + 2.857710167863589e-05_r8, 3.2449062696585147e-05_r8, & + 3.4693925432198824e-05_r8, 3.616875984523204e-05_r8, & + 3.7685960416879959e-05_r8, 3.8294186747490379e-05_r8, & + 4.0001158054849779e-05_r8, 4.1680195640835869e-05_r8, & + 4.3389014811027067e-05_r8, 4.506587270456898e-05_r8, & + 4.9796287798058248e-05_r8, 5.6445841050109595e-05_r8, & + 6.6003486832310628e-05_r8, 7.5017452256400708e-05_r8, & + 8.2560496255251433e-05_r8, 8.7258503792053102e-05_r8, & + 9.0207896030905871e-05_r8, 9.15782703857904e-05_r8, & + 9.2276119348818665e-05_r8, 9.2877612945398144e-05_r8, & + 9.3841821864991859e-05_r8, 9.8906419326112412e-05_r8, & + 0.00011289379902129075_r8, 0.00013840396861779453_r8, & + 0.00017311951206674096_r8, 0.00022053326317067595_r8, & + 0.00025088591283547134_r8, 0.00028467958162992622_r8, & + 0.0003147642510056853_r8, 0.00033667767788152052_r8, & + 0.00034883266698186344_r8, 0.00035135922297624102_r8, & + 0.00034711574849406154_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,37,87) / & + 1.3640933147140916e-05_r8, 1.3840094858196777e-05_r8, & + 1.2282819397276029e-05_r8, 2.4273236335530613e-05_r8, & + 2.9996637495215883e-05_r8, 3.3289887635650013e-05_r8, & + 4.0283544094316423e-05_r8, 4.2682332735442588e-05_r8, & + 4.3957632794021297e-05_r8, 4.4881864133355562e-05_r8, & + 4.5725330638866729e-05_r8, 4.6553183165009344e-05_r8, & + 4.8888395543855343e-05_r8, 5.0388153098233648e-05_r8, & + 5.1758735794825176e-05_r8, 5.3609839399614223e-05_r8, & + 5.7629950663337168e-05_r8, 6.3476362658248565e-05_r8, & + 6.9994977634115394e-05_r8, 7.6293069609222584e-05_r8, & + 8.494313224779128e-05_r8, 8.9263837528673912e-05_r8, & + 9.0753313127126906e-05_r8, 9.054550185731663e-05_r8, & + 9.0185053377282742e-05_r8, 9.0403964376801948e-05_r8, & + 9.1765585951365377e-05_r8, 9.5810749625624249e-05_r8, & + 0.00010156378317953159_r8, 0.00010346869105046976_r8, & + 0.00010957548474806208_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,87) / & + 2.0483347276139896e-05_r8, 2.0732252153359445e-05_r8, & + 2.0361573020566568e-05_r8, 2.6497912869032824e-05_r8, & + 3.3099294773479107e-05_r8, 3.7152392529009967e-05_r8, & + 4.6792668815207137e-05_r8, 4.8179047293688247e-05_r8, & + 5.0210603577550565e-05_r8, 5.1739669886336161e-05_r8, & + 5.2752194410341672e-05_r8, 5.4815520163307578e-05_r8, & + 5.8375479891427062e-05_r8, 5.9945942874905738e-05_r8, & + 6.1303037033557962e-05_r8, 6.2717219171200668e-05_r8, & + 6.5993075832265126e-05_r8, 6.9427567039271709e-05_r8, & + 7.2367288717936257e-05_r8, 7.8359759653100569e-05_r8, & + 8.5562940007430501e-05_r8, 8.9241864475817517e-05_r8, & + 8.911038662935919e-05_r8, 8.9545795365743574e-05_r8, & + 8.996645693987717e-05_r8, 9.0870418724569275e-05_r8, & + 9.2832255669798627e-05_r8, 9.8059381842897949e-05_r8, & + 0.00010120612343915886_r8, 0.00010679436081391051_r8, & + 0.00011294867439102806_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,87) / & + 3.1299145111043183e-05_r8, 3.2851317546785126e-05_r8, & + 3.399910703972282e-05_r8, 4.3999944015655567e-05_r8, & + 4.8649622805533492e-05_r8, 5.3427098330115055e-05_r8, & + 6.1468174874468288e-05_r8, 6.172291481201812e-05_r8, & + 6.1185300474325249e-05_r8, 6.1335687398633316e-05_r8, & + 6.1691645767461263e-05_r8, 6.26616566988559e-05_r8, & + 6.4031985615372165e-05_r8, 6.5585677657524336e-05_r8, & + 6.7999158197734166e-05_r8, 7.0353698614492166e-05_r8, & + 7.3062769533270791e-05_r8, 7.4681340755626161e-05_r8, & + 7.6875817911697719e-05_r8, 7.9158829419260097e-05_r8, & + 8.0674572310941348e-05_r8, 8.4351204290462279e-05_r8, & + 8.6070426621702342e-05_r8, 9.0648224555311564e-05_r8, & + 9.5501419564819837e-05_r8, 9.7613363644689178e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,87) / & + 3.5128378509775416e-05_r8, 3.6259331356190539e-05_r8, & + 3.7682225930903715e-05_r8, 4.5566008292955438e-05_r8, & + 4.9209977841317239e-05_r8, 5.163674207029597e-05_r8, & + 6.0910157189456443e-05_r8, 5.905122393034285e-05_r8, & + 5.8319527411772779e-05_r8, 5.8299729642236602e-05_r8, & + 5.8963136231482249e-05_r8, 6.1390249675973655e-05_r8, & + 6.2839260644953929e-05_r8, 6.4158240372695738e-05_r8, & + 6.6496598878512396e-05_r8, 6.8830721965326339e-05_r8, & + 7.2566889405693282e-05_r8, 7.3391811247949598e-05_r8, & + 7.6053821182767807e-05_r8, 7.8778156909758214e-05_r8, & + 8.0679610386355803e-05_r8, 8.6419211698713505e-05_r8, & + 8.9190107891134766e-05_r8, 9.2466877318175239e-05_r8, & + 9.4677395671308423e-05_r8, 9.5994351216482481e-05_r8, & + 9.7534468495256781e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,87) / & + 4.3041284610018255e-05_r8, 4.348267373978466e-05_r8, & + 5.2110767447577819e-05_r8, 6.9532710997319218e-05_r8, & + 7.1152924229654518e-05_r8, 7.0456521162546201e-05_r8, & + 7.4721643833248086e-05_r8, 6.9450314325375238e-05_r8, & + 6.4092595492140186e-05_r8, 6.1390217523062503e-05_r8, & + 6.0712954738453068e-05_r8, 6.0518583413214378e-05_r8, & + 6.0514092580816864e-05_r8, 6.067273020108025e-05_r8, & + 6.1848170307992774e-05_r8, 6.3562113565398756e-05_r8, & + 6.7241657429856813e-05_r8, 6.9170880901413964e-05_r8, & + 7.3096531909356234e-05_r8, 7.65851223285014e-05_r8, & + 7.8843432802936736e-05_r8, 8.7788959324036544e-05_r8, & + 9.2025920033074723e-05_r8, 9.4924361796148407e-05_r8, & + 9.6208887368677396e-05_r8, 9.7301324875850677e-05_r8, & + 9.9124270855313555e-05_r8, 0.00010306282710148055_r8, & + 0.00010103055621155049_r8, 9.9102441902227241e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,87) / & + 5.486369022128193e-05_r8, 5.5581515892128925e-05_r8, & + 7.9734289281015435e-05_r8, 9.5023280502847405e-05_r8, & + 9.35070570783649e-05_r8, 0.00010013955025604529_r8, & + 0.00010055343756596874_r8, 9.6752010831253847e-05_r8, & + 8.6563050153121257e-05_r8, 7.9488298509566236e-05_r8, & + 7.5249412182106464e-05_r8, 7.0644961475238791e-05_r8, & + 6.3706757016606969e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,87) / & + 9.3159983984739331e-05_r8, 9.9450812923000431e-05_r8, & + 0.00010384212652449395_r8, 0.0001294479545005419_r8, & + 0.00012977336068937514_r8, 0.00012517537457936703_r8, & + 0.00012759744898589658_r8, 0.00011682764862590521_r8, & + 0.00010444285657845514_r8, 9.3176791363299601e-05_r8, & + 8.9207924607382223e-05_r8, 8.4459589210812816e-05_r8, & + 7.9128452747195751e-05_r8, 7.864337152103037e-05_r8, & + 7.6472311239170378e-05_r8, 7.6026928075045329e-05_r8, & + 7.4401272449103664e-05_r8, 7.8039326472605178e-05_r8, & + 8.0024073492717464e-05_r8, 8.3170892169084315e-05_r8, & + 8.4974714165139939e-05_r8, 8.5252636764400664e-05_r8, & + 8.9238828821556853e-05_r8, 9.3759571753662923e-05_r8, & + 9.6085433537711426e-05_r8, 9.9064130850808703e-05_r8, & + 0.0001027773458171577_r8, 0.00010943241172692976_r8, & + 0.00011110703832331417_r8, 0.00011332969207288163_r8, & + 0.00011419679778224162_r8, 0.00011584812059175138_r8, & + 0.00011730401944436372_r8, 0.00011766166082788654_r8, & + 0.00011882653343775743_r8, 0.00011811057594246315_r8, & + 0.00011751016803156818_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,87) / & + 0.00010071318671195984_r8, 0.0001102055262277047_r8, & + 0.00010679510699820536_r8, 0.00013616204188043898_r8, & + 0.00013543105058575646_r8, 0.00013344524736824426_r8, & + 0.00012679078237846098_r8, 0.00011367995231343432_r8, & + 9.2567635583245753e-05_r8, 8.3851078594371077e-05_r8, & + 8.1846838288680945e-05_r8, 7.962893497578564e-05_r8, & + 7.6770062395811403e-05_r8, 7.8220248133193049e-05_r8, & + 7.5305443032971242e-05_r8, 7.6084630229891344e-05_r8, & + 7.2281494326056388e-05_r8, 7.6318520074171578e-05_r8, & + 7.8489973188428485e-05_r8, 8.2284146272152323e-05_r8, & + 8.5587251137945406e-05_r8, 8.5850099564766086e-05_r8, & + 9.0737481772969333e-05_r8, 9.4894568010119398e-05_r8, & + 9.6727709818681464e-05_r8, 9.9944320794898001e-05_r8, & + 0.00010364499298758209_r8, 0.00011210483326803377_r8, & + 0.00011443137406053078_r8, 0.00011654463321313785_r8, & + 0.00011701439094417885_r8, 0.00011842068535875633_r8, & + 0.00011988558613961582_r8, 0.00012036490409500738_r8, & + 0.00012117648535632674_r8, 0.00012076575692714856_r8, & + 0.00012099310739210085_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,87) / & + 9.2224908474420071e-05_r8, 0.00011313433796699465_r8, & + 0.00010998668620969333_r8, 0.00013048900492921211_r8, & + 0.00013698095995618722_r8, 0.00013872059167199425_r8, & + 0.00012149272278620947_r8, 9.4999542303721775e-05_r8, & + 7.2923430579668863e-05_r8, 7.1497602396430844e-05_r8, & + 7.10259320753043e-05_r8, 7.1127265125375835e-05_r8, & + 6.9405003990645302e-05_r8, 7.1165973212236548e-05_r8, & + 7.1163224763684359e-05_r8, 7.2603946065171606e-05_r8, & + 7.1636733009634683e-05_r8, 7.3360411098955593e-05_r8, & + 7.5701257686020917e-05_r8, 7.8960395592656969e-05_r8, & + 8.2765044138662897e-05_r8, 8.5601841183707795e-05_r8, & + 8.9936530263109844e-05_r8, 9.4405975178328633e-05_r8, & + 9.87562212646404e-05_r8, 0.00010292145731743965_r8, & + 0.00010828947574322837_r8, 0.00011794114435213467_r8, & + 0.00011876294427612264_r8, 0.0001190174091729815_r8, & + 0.00011963415610497371_r8, 0.00012044310256325704_r8, & + 0.00012128844227655957_r8, 0.00012158465837564245_r8, & + 0.00012207782816184951_r8, 0.00012240959634508689_r8, & + 0.00012430877357085126_r8, 0.00012446883873718667_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,88) / & + 0.00014666737735790692_r8, 0.0001492838356967432_r8, & + 0.00014990581705588403_r8, 0.00014823207531958573_r8, & + 0.00014444493338215943_r8, 0.00014308262495336068_r8, & + 0.00015006474255991914_r8, 0.00015325843252428508_r8, & + 0.0001654236112525673_r8, 0.00016922720101036817_r8, & + 0.00017512679244977429_r8, 0.00017797100102457731_r8, & + 0.00017994406834944473_r8, 0.00018638290825824576_r8, & + 0.00019810848940080301_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,5,88) / & + 0.000154142450718163_r8, 0.00015460004520912531_r8, & + 0.00014731873462375762_r8, 0.00014514144464615369_r8, & + 0.00014515113947913041_r8, 0.00014630348311024449_r8, & + 0.00015368340743409717_r8, 0.00015882569693625274_r8, & + 0.00016697898168775423_r8, 0.00017410024394032354_r8, & + 0.00018009234122323283_r8, 0.00018691548332150731_r8, & + 0.00019410099694943189_r8, 0.00020111507243748058_r8, & + 0.0002107312504121622_r8, 0.00021835226049821189_r8, & + 0.00022339801921708398_r8, 0.00023125851586854103_r8, & + 0.00023643553779063357_r8, 0.00024050211393231727_r8, & + 0.00024489596987570711_r8, 0.00025151222182474267_r8, & + 0.00025126903580187279_r8, 0.00025503100925983603_r8, & + 0.00025789941098842398_r8, 0.00025911273768993906_r8, & + 0.00026036440963433504_r8, 0.00026176290344069733_r8, & + 0.00026242104417951377_r8, 0.00026320972519012543_r8, & + 0.00026243876457423317_r8, 0.00026228673282950148_r8, & + 0.00026121198563082133_r8, 0.00026093808566184134_r8, & + 0.00026156624033369828_r8, 0.00026224568867104947_r8, & + 0.00026381676436377431_r8, 0.00026310903160202572_r8, & + 0.00026012891495257013_r8, 0.00025045358780248657_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,88) / & + 0.00013768540599762665_r8, 0.00012865912037111714_r8, & + 0.00012501181007877214_r8, 0.00013605898554261441_r8, & + 0.00014275046078381112_r8, 0.00014850047096161474_r8, & + 0.0001635393518347998_r8, 0.00016976350701907429_r8, & + 0.0001783325301774394_r8, 0.00019127559748601813_r8, & + 0.00020280822267746464_r8, 0.00021369940139251341_r8, & + 0.00022434651868940975_r8, 0.00022973438584153932_r8, & + 0.00023515698999883815_r8, 0.00023840216206812305_r8, & + 0.00024185507314450049_r8, 0.00024600713553637262_r8, & + 0.00025067857295774039_r8, 0.00025293957080911616_r8, & + 0.00025543099680693068_r8, 0.00025995306250057828_r8, & + 0.00025722160288637501_r8, 0.00025855450655492022_r8, & + 0.00026145929350996711_r8, 0.0002618062791652873_r8, & + 0.00026164188119003149_r8, 0.00026108164298252646_r8, & + 0.00026165615658280079_r8, 0.00026207243869072336_r8, & + 0.00026208838378380503_r8, 0.0002615995006742372_r8, & + 0.00026095698970236776_r8, 0.00026082016850565332_r8, & + 0.00026092430259378824_r8, 0.0002611640383523045_r8, & + 0.00026070279995309744_r8, 0.0002580701330523338_r8, & + 0.00025527698569266017_r8, 0.00024956807651697801_r8, & + 0.00024770623053997024_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,88) / & + 8.6406610302828415e-05_r8, 7.6069368522690872e-05_r8, & + 8.7796707439271915e-05_r8, 0.000110157869829824_r8, & + 0.00011835842509568109_r8, 0.00013671567581428171_r8, & + 0.00016183059161496629_r8, 0.00017185946622094188_r8, & + 0.00018144657538314069_r8, 0.00019759394435722824_r8, & + 0.00021141171505868473_r8, 0.00022675652209872297_r8, & + 0.0002369684425215172_r8, 0.00024225016616654654_r8, & + 0.00024600202246680142_r8, 0.00024862043284652806_r8, & + 0.0002523340592772546_r8, 0.00025441058000893579_r8, & + 0.00025575957281714028_r8, 0.00025641709935813917_r8, & + 0.00025707600573534131_r8, 0.00025946272075260866_r8, & + 0.00025901535514148043_r8, 0.00026006011680215725_r8, & + 0.00026114056311582728_r8, 0.00026185921388298627_r8, & + 0.00026206993411320652_r8, 0.0002628114194186264_r8, & + 0.00026513834649062416_r8, 0.00026536065400036121_r8, & + 0.00026499641558478483_r8, 0.00026417562245509654_r8, & + 0.00026336233601954254_r8, 0.00026229010716101757_r8, & + 0.00026151838550726622_r8, 0.00026022066507104259_r8, & + 0.00025739818587165232_r8, 0.00025463360957187631_r8, & + 0.00025295530033145086_r8, 0.00025108731784569328_r8, & + 0.00024990638394178108_r8, 0.00025126156842273999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,88) / & + 4.8382951582068864e-05_r8, 4.6461620435626623e-05_r8, & + 5.911608823164418e-05_r8, 7.3695378624696976e-05_r8, & + 7.4776627394946966e-05_r8, 8.6974723570937878e-05_r8, & + 0.00010933508344195927_r8, 0.00012816895180964541_r8, & + 0.00014002887317499013_r8, 0.00015006223808150846_r8, & + 0.00015968008602403877_r8, 0.00017391320516905694_r8, & + 0.00018744961387221821_r8, 0.00019702122355242914_r8, & + 0.00020389337299348145_r8, 0.00020880346352947752_r8, & + 0.00021502454033974684_r8, 0.00022215510409347335_r8, & + 0.00022610486259252099_r8, 0.00022883257151484366_r8, & + 0.0002315378087378494_r8, 0.00023716760142650676_r8, & + 0.00024005323518177087_r8, 0.00024334282099696807_r8, & + 0.0002461131751034728_r8, 0.0002484795471928092_r8, & + 0.00025027894455855766_r8, 0.00025456576077963639_r8, & + 0.00025855792708116821_r8, 0.00026116997139172162_r8, & + 0.00026252760410658006_r8, 0.00026338973446916896_r8, & + 0.00026414173534529634_r8, 0.00026449472232179362_r8, & + 0.00026428635761936562_r8, 0.0002635223245353087_r8, & + 0.00026123197419343947_r8, 0.00025809422266109599_r8, & + 0.0002563874845797683_r8, 0.00025239291380839787_r8, & + 0.00025129449502614415_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,88) / & + 3.4273807579896133e-05_r8, 3.521851924548652e-05_r8, & + 3.8598118098956049e-05_r8, 4.6829275486536003e-05_r8, & + 4.6611398834122905e-05_r8, 5.0185905109812709e-05_r8, & + 5.6773452002671911e-05_r8, 6.8089569329573318e-05_r8, & + 9.274397374033049e-05_r8, 0.00010811830744103259_r8, & + 0.00011857281829435536_r8, 0.00013127975336255546_r8, & + 0.00015065426251999092_r8, 0.00016426671276630357_r8, & + 0.00017276396521060926_r8, 0.00017758170450617668_r8, & + 0.00018463334076947055_r8, 0.00019380340625117003_r8, & + 0.00019903210718515596_r8, 0.00020293946403678606_r8, & + 0.0002052462807245739_r8, 0.0002083090314051697_r8, & + 0.00021214880851935309_r8, 0.00021682140075485916_r8, & + 0.00022141425759532337_r8, 0.00022446732372152718_r8, & + 0.00022636970376243816_r8, 0.00023253096593822234_r8, & + 0.00023875998049636225_r8, 0.00024463891859125388_r8, & + 0.0002498631653189312_r8, 0.00025358099976595258_r8, & + 0.00025673344549248284_r8, 0.00025999194075535556_r8, & + 0.00026282389627861792_r8, 0.00026455106380067977_r8, & + 0.0002634087966927096_r8, 0.00026147887203071472_r8, & + 0.00026043732859832382_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,10,88) / & + 2.0702814127809848e-05_r8, 2.1190562970169555e-05_r8, & + 2.0830334514798411e-05_r8, 2.2349914323228765e-05_r8, & + 2.297842519739605e-05_r8, 2.4528993240890437e-05_r8, & + 2.7642424249345304e-05_r8, 3.1217697291970057e-05_r8, & + 4.4743753335554563e-05_r8, 6.0752600005929046e-05_r8, & + 7.1929075325804156e-05_r8, 8.1186625305204932e-05_r8, & + 9.5868470587384555e-05_r8, 0.00010827341486841443_r8, & + 0.00011937304686735533_r8, 0.0001278150504665387_r8, & + 0.00014114076552783415_r8, 0.00015298027569031348_r8, & + 0.00016158378463711781_r8, 0.00016800614711950693_r8, & + 0.00017218295979618423_r8, 0.00017570236410478849_r8, & + 0.00017690750930737719_r8, 0.00017947280621850509_r8, & + 0.00018189597267789497_r8, 0.00018402998426369745_r8, & + 0.00018550355140241665_r8, 0.00019400543944013047_r8, & + 0.00020388590678379462_r8, 0.00021692002831792844_r8, & + 0.00022701436339443248_r8, 0.00023445298262888452_r8, & + 0.00024261232666861321_r8, 0.00025022927097723515_r8, & + 0.00025495688354769164_r8, 0.00026037031454807043_r8, & + 0.0002616413566880804_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,88) / & + 7.7153472248600059e-06_r8, 7.7931493452289612e-06_r8, & + 7.3327200790921477e-06_r8, 7.3399896230441501e-06_r8, & + 7.4725980535929466e-06_r8, 8.1402781693812585e-06_r8, & + 9.6520914503714337e-06_r8, 1.1370899739628311e-05_r8, & + 1.5013665910946251e-05_r8, 1.9534266976026626e-05_r8, & + 2.4043268827166948e-05_r8, 2.7798191140007251e-05_r8, & + 3.409844104850311e-05_r8, 4.0974318288335749e-05_r8, & + 4.8081080116791926e-05_r8, 5.4128824871208733e-05_r8, & + 6.7190292354991099e-05_r8, 8.1642898223707139e-05_r8, & + 9.6130828328411046e-05_r8, 0.00010999163766681814_r8, & + 0.0001221969044930366_r8, 0.00013128499364433688_r8, & + 0.00013899887874514399_r8, 0.00014526458746567421_r8, & + 0.00014976673548501126_r8, 0.00015263144876950205_r8, & + 0.00015498564055044706_r8, 0.00015747425092849454_r8, & + 0.000161686353487787_r8, 0.00017185111560306864_r8, & + 0.00018498422525096902_r8, 0.00019770860402807178_r8, & + 0.00020242402620436305_r8, 0.00019826984168184227_r8, & + 0.00021030897365343577_r8, 0.00021991116422012791_r8, & + 0.00022973778607922831_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,88) / & + 2.3723139437020256e-06_r8, 2.2677977345561086e-06_r8, & + 1.652696277679486e-06_r8, 2.6899030631290358e-06_r8, & + 2.7053415860750688e-06_r8, 2.9515446258972095e-06_r8, & + 5.1325724783237251e-06_r8, 5.3943557230678914e-06_r8, & + 6.3210892981076158e-06_r8, 7.4184434066586063e-06_r8, & + 8.5381763739764016e-06_r8, 9.8152320484213344e-06_r8, & + 1.2268462943691454e-05_r8, 1.5402020653367077e-05_r8, & + 1.8603301710694586e-05_r8, 2.214742449441511e-05_r8, & + 3.0300995391592269e-05_r8, 3.9051592749605668e-05_r8, & + 4.9358224550172785e-05_r8, 6.1299093418642719e-05_r8, & + 7.4132308668374566e-05_r8, 8.7195533308841364e-05_r8, & + 0.00010073913229874504_r8, 0.00011358603825824106_r8, & + 0.00012432512884116804_r8, 0.00013177107261446813_r8, & + 0.00013651427128860818_r8, 0.000140647913375894_r8, & + 0.00013960538195210742_r8, 0.00014002914231304542_r8, & + 0.00014503364650842953_r8, 0.00015217797283679935_r8, & + 0.00016065616268120115_r8, 0.0001757074501931767_r8, & + 0.00019410810935122978_r8, 0.00021672624079466639_r8, & + 0.00022852832320506165_r8, 0.00022452872240403252_r8, & + 0.00023487054725361811_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,88) / & + 1.6282581578224545e-06_r8, 1.5938779990745584e-06_r8, & + 1.2146429090925321e-06_r8, 3.0363494230628866e-06_r8, & + 3.0016162217091534e-06_r8, 3.1445396577738958e-06_r8, & + 4.3397231929251993e-06_r8, 4.549985048466553e-06_r8, & + 4.9241964611209419e-06_r8, 5.4119747977092495e-06_r8, & + 5.9568851370867254e-06_r8, 6.9378316958013916e-06_r8, & + 8.3277183780916442e-06_r8, 1.0394315175234887e-05_r8, & + 1.2818378387380329e-05_r8, 1.5864261085167818e-05_r8, & + 2.3115517519739849e-05_r8, 3.1241326541504897e-05_r8, & + 3.9704946971258432e-05_r8, 5.0421886941745421e-05_r8, & + 6.2817101631127347e-05_r8, 7.7283176176363969e-05_r8, & + 9.1729493764424545e-05_r8, 0.00010527433475068859_r8, & + 0.00011615920661021599_r8, 0.00012356919948108006_r8, & + 0.00012797273853316625_r8, 0.0001302865647611683_r8, & + 0.00012624208030587346_r8, 0.00012385932383279772_r8, & + 0.00012501347836884263_r8, 0.00012811568175436291_r8, & + 0.00013237717173699538_r8, 0.00013578960042150799_r8, & + 0.0001480895314398473_r8, 0.00015464360735421436_r8, & + 0.00016913965639369619_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,88) / & + 2.7855039657003863e-06_r8, 2.815696843440622e-06_r8, & + 2.7756327833125359e-06_r8, 3.1451274133318408e-06_r8, & + 3.1367529069463982e-06_r8, 3.3926922139270566e-06_r8, & + 3.6830100356279248e-06_r8, 3.5867754989470993e-06_r8, & + 3.8047528790684655e-06_r8, 4.2441680391312915e-06_r8, & + 4.8224104472746954e-06_r8, 5.5690288059337146e-06_r8, & + 6.7741528312239013e-06_r8, 8.3145177779291919e-06_r8, & + 9.8466288858813221e-06_r8, 1.1895947813389548e-05_r8, & + 1.8234548516050328e-05_r8, 2.6792710315127826e-05_r8, & + 3.5490203893657777e-05_r8, 4.5814110924335451e-05_r8, & + 5.8625575806281909e-05_r8, 7.5000741722418301e-05_r8, & + 8.9679237626020606e-05_r8, 0.00010257781577069785_r8, & + 0.0001124624905541501_r8, 0.00011992890710098036_r8, & + 0.00012397875986057947_r8, 0.00012487230332727521_r8, & + 0.00011977547688096496_r8, 0.00011522916832657314_r8, & + 0.00011298630535321548_r8, 0.00011262629388950692_r8, & + 0.00011447911797359889_r8, 0.0001191236481563187_r8, & + 0.00012905659884392703_r8, 0.00014627828773547568_r8, & + 0.00016160424953150489_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,88) / & + 3.2585115152192161e-06_r8, 3.3031793247753239e-06_r8, & + 3.2296455773433012e-06_r8, 2.948341255560943e-06_r8, & + 3.2514162873907704e-06_r8, 3.6323424290977074e-06_r8, & + 3.5791114378828883e-06_r8, 3.3097497059205343e-06_r8, & + 3.544262867300173e-06_r8, 4.2416580723316769e-06_r8, & + 4.8183815584933363e-06_r8, 5.3360569484000127e-06_r8, & + 6.4730301850412668e-06_r8, 7.8740943941833703e-06_r8, & + 9.442172809126113e-06_r8, 1.1605980913805277e-05_r8, & + 1.8082706035649474e-05_r8, 2.7069635847393585e-05_r8, & + 3.7165560296916537e-05_r8, 4.9356692338174529e-05_r8, & + 6.4277929750373121e-05_r8, 8.1155279629059319e-05_r8, & + 9.5131317253680799e-05_r8, 0.00010640740416352249_r8, & + 0.00011347053849499466_r8, 0.00011748588858675145_r8, & + 0.00011826640206956496_r8, 0.00011554438175055821_r8, & + 0.000111746864603506_r8, 0.00010840697412919366_r8, & + 0.00010594781447263363_r8, 0.00010573597795252838_r8, & + 0.00010674248855297535_r8, 0.00010977037023757454_r8, & + 0.00011144625250154386_r8, 0.00011555265415386658_r8, & + 0.00013763976126690146_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,88) / & + 2.8385414773728732e-06_r8, 2.8954326911050473e-06_r8, & + 2.8892200919662629e-06_r8, 2.7157910195136976e-06_r8, & + 3.122765233013267e-06_r8, 3.6168435127491813e-06_r8, & + 3.2350372042539648e-06_r8, 3.2073954316202776e-06_r8, & + 3.7653678144826092e-06_r8, 4.7773874735125472e-06_r8, & + 5.9927435629740342e-06_r8, 7.2832522190666782e-06_r8, & + 8.5795824298304477e-06_r8, 9.9184874668411478e-06_r8, & + 1.2399534198025088e-05_r8, 1.586639811569193e-05_r8, & + 2.5683896919873378e-05_r8, 3.7564431207766002e-05_r8, & + 5.0270976082610989e-05_r8, 6.6112681490904907e-05_r8, & + 8.4506322548232108e-05_r8, 0.00010044878385443314_r8, & + 0.00011006081035741255_r8, 0.00011604295545925142_r8, & + 0.00011763403673348148_r8, 0.00011645041192882431_r8, & + 0.00011369253697786622_r8, 0.00010864790753346619_r8, & + 0.00010726523655001888_r8, 0.00010772424529430615_r8, & + 0.00010895714416887846_r8, 0.0001115411302305247_r8, & + 0.00011526886973754691_r8, 0.00012005247763003598_r8, & + 0.00012566763029878933_r8, 0.00012634763568575584_r8, & + 0.00012766957037396585_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,88) / & + 2.0739544496045763e-06_r8, 2.1306982443321506e-06_r8, & + 2.2295003705330623e-06_r8, 2.3816004721489467e-06_r8, & + 2.5868374455580399e-06_r8, 3.2045146409408441e-06_r8, & + 2.8037405637360308e-06_r8, 3.0657216827561499e-06_r8, & + 3.8255567498742201e-06_r8, 4.9605411533593748e-06_r8, & + 6.5086528609053746e-06_r8, 8.2549573195255378e-06_r8, & + 1.1140579012537662e-05_r8, 1.4943495852335099e-05_r8, & + 1.9778249887734446e-05_r8, 2.5714254386610231e-05_r8, & + 3.921882647346399e-05_r8, 5.5422194209207187e-05_r8, & + 7.1596146818262351e-05_r8, 8.8200798714141866e-05_r8, & + 0.00010159985465504884_r8, 0.00011052324291635751_r8, & + 0.00011201901899328587_r8, 0.00011177805981528289_r8, & + 0.00010955921815071016_r8, 0.00010681691265818302_r8, & + 0.00010370453998613444_r8, 9.6652174419203577e-05_r8, & + 9.6927130847068954e-05_r8, 0.0001035116538441434_r8, & + 0.0001108950319311394_r8, 0.00011765674083137674_r8, & + 0.00012482347949963434_r8, 0.00013261410107597553_r8, & + 0.00014022783037007135_r8, 0.00014946558867450711_r8, & + 0.00014125155126917032_r8, 0.00014225591065465825_r8, & + 0.00014928135169619289_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,18,88) / & + 2.4845648222747305e-06_r8, 2.5206816858904144e-06_r8, & + 2.5536868501451579e-06_r8, 2.7857309767137654e-06_r8, & + 2.8397204310343254e-06_r8, 3.1129458476882192e-06_r8, & + 3.1658976076190303e-06_r8, 3.9404977072648478e-06_r8, & + 5.1950836733789634e-06_r8, 7.1099168895114589e-06_r8, & + 9.5057740832188189e-06_r8, 1.2763772941456485e-05_r8, & + 1.905132878197412e-05_r8, 2.644125541725374e-05_r8, & + 3.38844029062105e-05_r8, 4.2426805073105766e-05_r8, & + 5.9315006763904368e-05_r8, 7.5546667874603764e-05_r8, & + 9.0714223842020046e-05_r8, 0.00010359201847642154_r8, & + 0.00011189105659128967_r8, 0.00011580717021487392_r8, & + 0.0001142004134481515_r8, 0.00011042841398547731_r8, & + 0.0001055056316497685_r8, 0.00010073491465063739_r8, & + 9.7526336386492325e-05_r8, 9.50594044561124e-05_r8, & + 9.9957862322966727e-05_r8, 0.00011001497997648136_r8, & + 0.00012008317467192659_r8, 0.00012883474663501291_r8, & + 0.00013589118587989182_r8, 0.00014311105528502777_r8, & + 0.00015075607379157638_r8, 0.00015646016260301547_r8, & + 0.00015761538537136435_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,88) / & + 3.9865161011138113e-06_r8, 4.0637653520971323e-06_r8, & + 3.9098935393416948e-06_r8, 4.4441853144278199e-06_r8, & + 4.4773267303427846e-06_r8, 4.8173648245824691e-06_r8, & + 4.4081510549840017e-06_r8, 6.1263793402672435e-06_r8, & + 9.325391067016338e-06_r8, 1.3141533668849583e-05_r8, & + 1.7569701453668354e-05_r8, 2.2815892415071034e-05_r8, & + 3.2119368652077562e-05_r8, 4.0886444483851405e-05_r8, & + 4.8268284186418192e-05_r8, 5.5801549412920971e-05_r8, & + 6.9021761500820479e-05_r8, 8.2582939254732154e-05_r8, & + 9.6513581543416791e-05_r8, 0.00010877066518874065_r8, & + 0.0001161799002503199_r8, 0.00011881472795386164_r8, & + 0.00011589083545219538_r8, 0.00010975158576907101_r8, & + 0.00010206151351933121_r8, 9.5063737117531314e-05_r8, & + 9.1091762610447297e-05_r8, 9.1291416454815502e-05_r8, & + 0.00010239974996988521_r8, 0.00011602161652389958_r8, & + 0.00012843528020591678_r8, 0.00013855472653908062_r8, & + 0.0001458356766324848_r8, 0.00015220099302339665_r8, & + 0.00015781659506985415_r8, 0.00016554704559900284_r8, & + 0.00016901770390907614_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,88) / & + 5.1263316547447429e-06_r8, 5.5212497417168547e-06_r8, & + 5.5342747567660287e-06_r8, 6.3517589306651349e-06_r8, & + 6.4482495759893162e-06_r8, 7.3556559470816787e-06_r8, & + 6.0532867211934231e-06_r8, 8.9995868498809526e-06_r8, & + 1.6057210717912393e-05_r8, 2.2218598302111382e-05_r8, & + 2.8149104310165168e-05_r8, 3.508615823233731e-05_r8, & + 4.5160469805889675e-05_r8, 5.305249485748605e-05_r8, & + 5.881102150881566e-05_r8, 6.4220678566808366e-05_r8, & + 7.508467181268628e-05_r8, 8.7804012604105437e-05_r8, & + 0.00010123421785747911_r8, 0.00011414690614346892_r8, & + 0.00012101392647284473_r8, 0.00012234971525058305_r8, & + 0.0001172117574930371_r8, 0.00010879859414036966_r8, & + 9.8773479725479282e-05_r8, 9.0719440526788154e-05_r8, & + 8.5736518035182764e-05_r8, 8.6411930342405216e-05_r8, & + 9.8109712276978615e-05_r8, 0.00011541422373561347_r8, & + 0.00013142834753291171_r8, 0.00014423371914932731_r8, & + 0.00015601385278395168_r8, 0.00016344609674755068_r8, & + 0.00016976849817226379_r8, 0.00017217456626701338_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,88) / & + 6.9785728927313231e-06_r8, 7.5168314099160336e-06_r8, & + 7.9248173037310823e-06_r8, 8.6698892493998555e-06_r8, & + 8.786741605334302e-06_r8, 1.0299310900349996e-05_r8, & + 9.9524780160963973e-06_r8, 1.8935115439915339e-05_r8, & + 2.6808927285163017e-05_r8, 3.2795380590034701e-05_r8, & + 3.7101477752347018e-05_r8, 4.3212645045851428e-05_r8, & + 5.1237573555007786e-05_r8, 5.8584511263877053e-05_r8, & + 6.5086675284103178e-05_r8, 7.1801317559271657e-05_r8, & + 8.4288231988511345e-05_r8, 9.8151068902792695e-05_r8, & + 0.000111773416712406_r8, 0.00012311259609047547_r8, & + 0.0001288661268930755_r8, 0.00012965651329008022_r8, & + 0.00012163071754157036_r8, 0.00011123958124553153_r8, & + 0.00010013328999614713_r8, 9.0296119698196251e-05_r8, & + 8.395468587797314e-05_r8, 8.4251662163641589e-05_r8, & + 9.8416185613367166e-05_r8, 0.00012011959198487656_r8, & + 0.00013952262960215906_r8, 0.00015300351822650652_r8, & + 0.00016415653570913346_r8, 0.00017213834144368931_r8, & + 0.00017650521801718528_r8, 0.00018260997836899406_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,88) / & + 8.5024067653001715e-06_r8, 7.9445237513464333e-06_r8, & + 9.1049580921741526e-06_r8, 9.9467775428217179e-06_r8, & + 1.0525746797711849e-05_r8, 1.3621501382338217e-05_r8, & + 2.0513294853270921e-05_r8, 2.8675820015251362e-05_r8, & + 3.2691735174949844e-05_r8, 3.5575628573780195e-05_r8, & + 3.7933749537737179e-05_r8, 4.1498086654208997e-05_r8, & + 4.7713622713046061e-05_r8, 5.6553039693180009e-05_r8, & + 6.4834880589940494e-05_r8, 7.3199535434593244e-05_r8, & + 8.9401221809050951e-05_r8, 0.00010543251458496266_r8, & + 0.00011754924376524246_r8, 0.0001265133757655446_r8, & + 0.00013184508903468285_r8, 0.00013191258104180409_r8, & + 0.00012167886838818307_r8, 0.00011088419359265592_r8, & + 0.00010027570120287423_r8, 9.1620975939295043e-05_r8, & + 8.5202139521469615e-05_r8, 8.5590130447164367e-05_r8, & + 9.8887977864003303e-05_r8, 0.00011964972725752837_r8, & + 0.00014102400191651009_r8, 0.00015661362001958377_r8, & + 0.0001684353123695642_r8, 0.00017507084188180734_r8, & + 0.00017993926405382088_r8, 0.00018626218433115188_r8, & + 0.00019885569192799144_r8, 0.00020681654098535614_r8, & + 0.00021152533503866346_r8, 0.00023216835075272826_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,88) / & + 8.7583433305478718e-06_r8, 6.4268121298149036e-06_r8, & + 8.0908572095245023e-06_r8, 8.8528971970675444e-06_r8, & + 1.0950566538960412e-05_r8, 1.354685319635179e-05_r8, & + 2.3398726785297281e-05_r8, 3.0425646716123454e-05_r8, & + 3.2999102126023974e-05_r8, 3.5841802477420951e-05_r8, & + 3.813056744383016e-05_r8, 4.1267484500644523e-05_r8, & + 4.832364766103215e-05_r8, 5.8922002447342983e-05_r8, & + 6.8315871972865751e-05_r8, 7.7746383052868014e-05_r8, & + 9.4937229809582879e-05_r8, 0.00011262522130883636_r8, & + 0.00012448864260779742_r8, 0.00013426529880152004_r8, & + 0.00013839672430721004_r8, 0.00013652963850207414_r8, & + 0.00012678329244471696_r8, 0.00011662953287173306_r8, & + 0.00010627453504839103_r8, 9.8164334773891284e-05_r8, & + 9.2205312950566695e-05_r8, 9.3632321649072205e-05_r8, & + 0.00010448735366392946_r8, 0.00012266211928371661_r8, & + 0.00014272974368464527_r8, 0.0001590714823753812_r8, & + 0.00017180213010133374_r8, 0.00018078930876243345_r8, & + 0.00018759291851313099_r8, 0.00019502752539276994_r8, & + 0.00020445680555039391_r8, 0.00021715936962427728_r8, & + 0.00022581972471771007_r8, 0.00025024252007537287_r8, & + 0.00026401722708634297_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,88) / & + 9.3036228037449273e-06_r8, 7.7411584015353433e-06_r8, & + 8.1905586654408157e-06_r8, 9.9327806458970401e-06_r8, & + 1.3322674508067192e-05_r8, 1.6935934095462e-05_r8, & + 2.5482659268976478e-05_r8, 3.2212267832337386e-05_r8, & + 3.4567138737564822e-05_r8, 3.7690732037034539e-05_r8, & + 4.0062616050411114e-05_r8, 4.3307631084965038e-05_r8, & + 5.1470667761109957e-05_r8, 6.1936434040809843e-05_r8, & + 7.2042743691823496e-05_r8, 8.2455502720620689e-05_r8, & + 0.00010010253753682359_r8, 0.00011791491200683166_r8, & + 0.00013148627990848798_r8, 0.00014208255654612936_r8, & + 0.00014520013981167112_r8, 0.00014211163226211668_r8, & + 0.00013404719199488628_r8, 0.0001240881979823132_r8, & + 0.00011495633091797754_r8, 0.00010726493357021118_r8, & + 0.00010180700092071931_r8, 0.00010260237413929012_r8, & + 0.00011334433588300058_r8, 0.0001315759773722389_r8, & + 0.00015074233918631075_r8, 0.00016772727678219721_r8, & + 0.00018023461482557246_r8, 0.0001904220002572082_r8, & + 0.00019816358807325332_r8, 0.00020645081955522965_r8, & + 0.00021605814967598551_r8, 0.00022827631183760391_r8, & + 0.00023652774751004119_r8, 0.0002452406651551099_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,88) / & + 8.1761995181552907e-06_r8, 8.8023627975594164e-06_r8, & + 9.8672118626517887e-06_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,88) / & + 5.9908964753171026e-06_r8, 5.6668786962158703e-06_r8, & + 6.6141539674450715e-06_r8, 5.6525815444385461e-06_r8, & + 5.8576450971102592e-06_r8, 5.9411714992542243e-06_r8, & + 6.56910669998755e-06_r8, 7.9063588668052589e-06_r8, & + 8.9721273101072431e-06_r8, 1.1551167809786449e-05_r8, & + 1.3554538895441972e-05_r8, 1.646918510242911e-05_r8, & + 2.0852036551443065e-05_r8, 2.4360004109201132e-05_r8, & + 2.9597471877487607e-05_r8, 3.5849821502165727e-05_r8, & + 4.990341362511355e-05_r8, 6.5959114022820126e-05_r8, & + 7.971067156915026e-05_r8, 9.1854123941230643e-05_r8, & + 9.7366021873205493e-05_r8, 0.00010044997552010239_r8, & + 0.00010322437603250834_r8, 0.00010578300878207011_r8, & + 0.00010889388026702304_r8, 0.00011393987935244205_r8, & + 0.0001199804337290392_r8, 0.00013245797211384038_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,88) / & + 7.86608358117047e-06_r8, 7.5074799348068903e-06_r8, & + 8.9222706168095096e-06_r8, 5.8425295588956241e-06_r8, & + 6.0796189319560642e-06_r8, 6.1983745336372666e-06_r8, & + 7.2718852301018817e-06_r8, 8.810268580834768e-06_r8, & + 1.0468631500650619e-05_r8, 1.2419639222599727e-05_r8, & + 1.4266205347309659e-05_r8, 1.5322052450426865e-05_r8, & + 1.664759652566686e-05_r8, 1.869492035026904e-05_r8, & + 2.2111619248659361e-05_r8, 2.5774519949666311e-05_r8, & + 3.3737264338492636e-05_r8, 4.3805376175527419e-05_r8, & + 5.2729271391402938e-05_r8, 6.0530997560486796e-05_r8, & + 6.5033760134877377e-05_r8, 7.3466041624823411e-05_r8, & + 7.3197239016162816e-05_r8, 7.5275726407202131e-05_r8, & + 8.1378629281866422e-05_r8, 8.5799572522474101e-05_r8, & + 9.0125358990858262e-05_r8, 0.00010118143684911906_r8, & + 0.00011840683855538056_r8, 0.00012531707604514488_r8, & + 0.00016485723895512202_r8, 0.00019325938583920137_r8, & + 0.00021592392322216595_r8, 0.00023492546853911097_r8, & + 0.00025270661762436853_r8, 0.00026546332652943041_r8, & + 0.00027292275570507104_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,88) / & + 8.0743012947195788e-06_r8, 7.7578829206556312e-06_r8, & + 8.3296267793848898e-06_r8, 5.7422182571102815e-06_r8, & + 6.1129256474248149e-06_r8, 6.2610705460169946e-06_r8, & + 7.2169223556550718e-06_r8, 8.8875358642008566e-06_r8, & + 1.0880931998583243e-05_r8, 1.2451871360258135e-05_r8, & + 1.3976406333871845e-05_r8, 1.4900127601119903e-05_r8, & + 1.7262840700774314e-05_r8, 1.9894734563372927e-05_r8, & + 2.2304019106934569e-05_r8, 2.5050169796593051e-05_r8, & + 3.1524530743224914e-05_r8, 3.880389500726455e-05_r8, & + 4.4401345867821725e-05_r8, 4.9434912640098857e-05_r8, & + 5.3452164162979423e-05_r8, 6.0969665375704172e-05_r8, & + 6.2195365082172077e-05_r8, 6.5183355059520958e-05_r8, & + 6.9741840144061425e-05_r8, 7.4633667148070243e-05_r8, & + 8.3398170880534105e-05_r8, 9.9234829294533373e-05_r8, & + 0.00011958750236070296_r8, 0.0001355390582820721_r8, & + 0.00017078772900072189_r8, 0.000198998163203636_r8, & + 0.00022345256524053709_r8, 0.00024422493216456914_r8, & + 0.00026325959760622021_r8, 0.00027625286628996744_r8, & + 0.00028361873809247404_r8, 0.00028725827177457591_r8, & + 0.00028745126752588733_r8, 0.00028764772289574146_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,88) / & + 5.0535556735895525e-06_r8, 4.7558808806144959e-06_r8, & + 5.0518632849985181e-06_r8, 5.0528720579626327e-06_r8, & + 6.0654597968304201e-06_r8, 6.7865846337779837e-06_r8, & + 8.9566011232937272e-06_r8, 1.1498723130823663e-05_r8, & + 1.2991158616468914e-05_r8, 1.4472272031435138e-05_r8, & + 1.6047249936444439e-05_r8, 1.7472424479644161e-05_r8, & + 2.05370792214994e-05_r8, 2.3757590978071113e-05_r8, & + 2.6623411552347095e-05_r8, 2.9530485841919416e-05_r8, & + 3.5953516584127952e-05_r8, 4.2324271448837864e-05_r8, & + 4.6909241983024094e-05_r8, 5.1337188582798249e-05_r8, & + 5.5315852245359213e-05_r8, 5.9546562831201901e-05_r8, & + 6.1909924954733838e-05_r8, 6.4356110459304306e-05_r8, & + 6.8798600211389949e-05_r8, 7.5477001637758542e-05_r8, & + 8.3224087145798812e-05_r8, 0.00010014855582519515_r8, & + 0.0001233198763162188_r8, 0.00015021823530372348_r8, & + 0.00018025043440929512_r8, 0.00020831619955715292_r8, & + 0.00023251889364795856_r8, 0.00025346553715710745_r8, & + 0.00027166171994915501_r8, 0.00028510520300723956_r8, & + 0.00029346488192547406_r8, 0.00029768519893717208_r8, & + 0.00030000934782575025_r8, 0.0003007953794710772_r8, & + 0.00030165383451062627_r8, 0.00030308933206751545_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,33,88) / & + 4.2190944395120101e-06_r8, 4.5428920250842462e-06_r8, & + 5.2051835250668978e-06_r8, 6.3708495709637991e-06_r8, & + 7.5193270389444673e-06_r8, 8.6789684702202273e-06_r8, & + 1.1622749669264193e-05_r8, 1.5307738428659593e-05_r8, & + 1.6844480187011356e-05_r8, 1.839281506737487e-05_r8, & + 1.9688292328738255e-05_r8, 2.1214375638623147e-05_r8, & + 2.3854584050355959e-05_r8, 2.5818143672586007e-05_r8, & + 2.7835934362759615e-05_r8, 3.0527976562767075e-05_r8, & + 3.6987068038053493e-05_r8, 4.5068594654246826e-05_r8, & + 5.1951017212572796e-05_r8, 5.6988663846626599e-05_r8, & + 6.1033232034322274e-05_r8, 6.4536465969651692e-05_r8, & + 6.7937986826656832e-05_r8, 7.1199596092088254e-05_r8, & + 7.5677948723188837e-05_r8, 8.103967104844009e-05_r8, & + 8.6060350132118339e-05_r8, 9.9314245549063699e-05_r8, & + 0.00012044852609441967_r8, 0.00014989458962197155_r8, & + 0.0001834792955605908_r8, 0.00021289054050058353_r8, & + 0.00023827902248157209_r8, 0.00025877528133844786_r8, & + 0.00027680196925276769_r8, 0.00029129177293991276_r8, & + 0.00030207680283611234_r8, 0.00030795307744924431_r8, & + 0.0003118596389188821_r8, 0.00031393526593670153_r8, & + 0.00031497549002749671_r8, 0.00031567438844664112_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,34,88) / & + 6.6793745437099682e-06_r8, 7.7789800274036163e-06_r8, & + 8.6169023790557643e-06_r8, 1.0049350090696211e-05_r8, & + 1.119802400607845e-05_r8, 1.2670631239638475e-05_r8, & + 1.5942205583423336e-05_r8, 2.0547724448860776e-05_r8, & + 2.256927675062327e-05_r8, 2.4330190931881992e-05_r8, & + 2.5444915895369897e-05_r8, 2.7048119836858677e-05_r8, & + 2.8366440970208674e-05_r8, 2.9490025907302888e-05_r8, & + 3.1478691375838645e-05_r8, 3.3744457417593949e-05_r8, & + 4.1697178450491448e-05_r8, 5.0871099660921722e-05_r8, & + 6.0908858692263535e-05_r8, 6.9366458517036228e-05_r8, & + 7.4934339244056862e-05_r8, 7.8943151524920981e-05_r8, & + 8.3075007567527483e-05_r8, 8.685940758988791e-05_r8, & + 9.0215071501809345e-05_r8, 9.3307309704955874e-05_r8, & + 9.5580367061454545e-05_r8, 0.00010300585323480771_r8, & + 0.00012180759138964694_r8, 0.00015387415798282059_r8, & + 0.00019127663541576424_r8, 0.00022396943364560976_r8, & + 0.00025043072930110827_r8, 0.00027091962089989134_r8, & + 0.00029174209986459831_r8, 0.00030652128808187528_r8, & + 0.00031753317739341701_r8, 0.00032303025095828348_r8, & + 0.0003268894630742214_r8, 0.00032872480471382749_r8, & + 0.00032727588736135261_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,88) / & + 9.7851442196379532e-06_r8, 1.0196917452253818e-05_r8, & + 1.0491109510160429e-05_r8, 1.519400183706956e-05_r8, & + 1.7198054142931658e-05_r8, 1.6832540220331184e-05_r8, & + 2.3317039085122251e-05_r8, 2.8092922401229766e-05_r8, & + 2.9998457268279153e-05_r8, 3.1577489350371232e-05_r8, & + 3.1756029827492756e-05_r8, 3.3073929059949266e-05_r8, & + 3.3947439833074474e-05_r8, 3.5290958828910064e-05_r8, & + 3.7122041511545389e-05_r8, 3.8635354762196716e-05_r8, & + 4.5015209678987032e-05_r8, 5.3237181148516833e-05_r8, & + 6.4257467171314632e-05_r8, 7.3874121105181213e-05_r8, & + 8.006907927980956e-05_r8, 8.3999539672382934e-05_r8, & + 8.7890282393361367e-05_r8, 9.1397810822733518e-05_r8, & + 9.3806985527964402e-05_r8, 9.569701496781616e-05_r8, & + 9.67598854002906e-05_r8, 0.00010291523795674181_r8, & + 0.00012315643683850978_r8, 0.00015927780137205968_r8, & + 0.00019737244885311293_r8, 0.00023455762516988511_r8, & + 0.00026210143120861796_r8, 0.00028364301092053155_r8, & + 0.00030572695600066733_r8, 0.0003210573128934622_r8, & + 0.00033213435801041812_r8, 0.00033829756273189113_r8, & + 0.00034258619795309356_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,36,88) / & + 1.1239310628204818e-05_r8, 1.156314088170849e-05_r8, & + 1.2074752217029345e-05_r8, 2.1000155867474088e-05_r8, & + 2.5164019211770038e-05_r8, 2.5208228377448561e-05_r8, & + 3.0313301816542071e-05_r8, 3.5410195111671579e-05_r8, & + 3.804599047824845e-05_r8, 3.9781994382852282e-05_r8, & + 4.1010568769757104e-05_r8, 4.1859586570528823e-05_r8, & + 4.3012858532358447e-05_r8, 4.3744266453056904e-05_r8, & + 4.4645954019378928e-05_r8, 4.549388776180666e-05_r8, & + 4.7182615304346587e-05_r8, 5.0118739258581932e-05_r8, & + 5.5166518439837257e-05_r8, 6.2538202399533335e-05_r8, & + 7.203736986815405e-05_r8, 7.9691170983043296e-05_r8, & + 8.5700461045315555e-05_r8, 8.9355642471269234e-05_r8, & + 9.183639865001337e-05_r8, 9.3598451142914876e-05_r8, & + 9.5378329479485206e-05_r8, 0.00010227706114919847_r8, & + 0.00011664212957704022_r8, 0.00014132870626997198_r8, & + 0.00018660685653410874_r8, 0.00023863322636504878_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,88) / & + 1.2644994378472188e-05_r8, 1.349624577429511e-05_r8, & + 1.3796700663709518e-05_r8, 2.441980852450305e-05_r8, & + 3.0216986344735525e-05_r8, 3.2544715550858826e-05_r8, & + 3.8777691486110767e-05_r8, 4.2136547570129692e-05_r8, & + 4.3324966771242211e-05_r8, 4.410487419738314e-05_r8, & + 4.4696341953544257e-05_r8, 4.5336801888386002e-05_r8, & + 4.6642249966965046e-05_r8, 4.7693835356775905e-05_r8, & + 4.862810846169825e-05_r8, 4.9697761671446897e-05_r8, & + 5.221439528833261e-05_r8, 5.5165461758737107e-05_r8, & + 5.9249443387046521e-05_r8, 6.4554559914735716e-05_r8, & + 7.3588328051925564e-05_r8, 8.0717329099913194e-05_r8, & + 8.5809268980291278e-05_r8, 8.8850623723713714e-05_r8, & + 9.223479840221031e-05_r8, 9.5900589502054796e-05_r8, & + 9.928735037260872e-05_r8, 0.00010844665041955894_r8, & + 0.00012245375373018394_r8, 0.00014700112284337987_r8, & + 0.00019382543128059293_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,88) / & + 1.7813551653541682e-05_r8, 1.8875723444524672e-05_r8, & + 2.0034064210995982e-05_r8, 2.8735451373816248e-05_r8, & + 3.4816029570994145e-05_r8, 3.8396768067188968e-05_r8, & + 4.815923137792791e-05_r8, 4.9509940822564254e-05_r8, & + 5.0764726430012732e-05_r8, 5.1957727591197277e-05_r8, & + 5.2870742757620769e-05_r8, 5.4119717364817398e-05_r8, & + 5.6175386372940874e-05_r8, 5.794457597869114e-05_r8, & + 5.9602553601212564e-05_r8, 6.1031506138142708e-05_r8, & + 6.4572744989819581e-05_r8, 6.7293612811833472e-05_r8, & + 7.0173430315743861e-05_r8, 7.4060206407086077e-05_r8, & + 7.9922190104868016e-05_r8, 8.3669514481485058e-05_r8, & + 8.54675036163357e-05_r8, 8.7632634545226683e-05_r8, & + 8.9572603464641257e-05_r8, 9.0695712543400258e-05_r8, & + 9.2939839730125373e-05_r8, 9.8488936536411054e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,88) / & + 2.692898652457026e-05_r8, 2.7947799354504031e-05_r8, & + 2.8768943771823549e-05_r8, 4.1245675104431182e-05_r8, & + 4.6297216299614959e-05_r8, 5.0862162969233108e-05_r8, & + 5.8202868797008974e-05_r8, 5.8365950010664849e-05_r8, & + 5.8595044196533129e-05_r8, 5.9218880366904866e-05_r8, & + 5.9967217707575353e-05_r8, 6.1436900840531876e-05_r8, & + 6.4298008101909687e-05_r8, 6.550719564625642e-05_r8, & + 6.721782191679598e-05_r8, 6.9317767378054181e-05_r8, & + 7.2549229108962866e-05_r8, 7.6611176529642726e-05_r8, & + 8.0592319620178824e-05_r8, 8.4483807078667594e-05_r8, & + 8.6955648008759591e-05_r8, 8.9048009730342473e-05_r8, & + 9.1744273895685559e-05_r8, 9.484549559246445e-05_r8, & + 9.769627530025565e-05_r8, 9.9537606723078238e-05_r8, & + 9.8508427834629648e-05_r8, 9.9692670336189789e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,88) / & + 3.2590391814865801e-05_r8, 3.350122721916551e-05_r8, & + 3.5022708509539786e-05_r8, 4.1125337932919654e-05_r8, & + 4.4315790916912995e-05_r8, 4.7810855391317577e-05_r8, & + 5.5928440390081767e-05_r8, 5.5344494165370452e-05_r8, & + 5.5646695857461458e-05_r8, 5.6575849544638284e-05_r8, & + 5.7680366095773654e-05_r8, 6.0030282839228715e-05_r8, & + 6.245625062151032e-05_r8, 6.3954021057334483e-05_r8, & + 6.6048826180424328e-05_r8, 6.8329720795300199e-05_r8, & + 7.202027164134118e-05_r8, 7.4190044699946943e-05_r8, & + 7.782605459887735e-05_r8, 8.1615153618445124e-05_r8, & + 8.4428140233356772e-05_r8, 8.8931740169538554e-05_r8, & + 9.2185365798341107e-05_r8, 9.5408469104044758e-05_r8, & + 9.7539855223565227e-05_r8, 9.9419841119552973e-05_r8, & + 9.9864949172379967e-05_r8, 0.00010145533050090903_r8, & + 0.00010107809645935095_r8, 9.6497550764678271e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,88) / & + 4.2951969657882955e-05_r8, 4.3444282272658074e-05_r8, & + 4.8592894138740782e-05_r8, 6.028339336370123e-05_r8, & + 6.1859242084460529e-05_r8, 6.1655033391908994e-05_r8, & + 6.7257492139434534e-05_r8, 6.390810894839734e-05_r8, & + 6.062914766083332e-05_r8, 5.9257845562653084e-05_r8, & + 5.9217642458938058e-05_r8, 5.9751902127926903e-05_r8, & + 6.0168797650124205e-05_r8, 6.0734444916643863e-05_r8, & + 6.2118148442943881e-05_r8, 6.3777525272535926e-05_r8, & + 6.7095680093728018e-05_r8, 6.9788682588980242e-05_r8, & + 7.3630964136052568e-05_r8, 7.691071867066037e-05_r8, & + 7.9902853974889089e-05_r8, 8.7953838999934661e-05_r8, & + 9.1689024992327715e-05_r8, 9.4068426653759788e-05_r8, & + 9.5386920220205061e-05_r8, 9.6479736980020829e-05_r8, & + 9.8044926182403475e-05_r8, 0.00010175271179392732_r8, & + 0.0001005673385783376_r8, 9.8884311934827453e-05_r8, & + 9.8809780309104233e-05_r8, 9.9658634377257065e-05_r8, & + 9.9623682406668518e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,88) / & + 5.5655727688005232e-05_r8, 5.7135346476990166e-05_r8, & + 8.135128771429812e-05_r8, 9.7169050390245637e-05_r8, & + 9.7900669052759017e-05_r8, 0.00010194351731617333_r8, & + 0.0001009592658120881_r8, 9.4609604461982802e-05_r8, & + 8.4418295911770894e-05_r8, 7.8476779664575128e-05_r8, & + 7.5555792368474617e-05_r8, 6.9794612309192813e-05_r8, & + 6.0102907948346595e-05_r8, 5.9901207521830267e-05_r8, & + 6.0930392936770538e-05_r8, 6.2210697943247009e-05_r8, & + 6.5192162607930954e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,88) / & + 8.4142786175957026e-05_r8, 8.996110549041568e-05_r8, & + 9.9501966593264774e-05_r8, 0.00012834707344427953_r8, & + 0.00013013196705056513_r8, 0.0001303402308064533_r8, & + 0.00011781268992399042_r8, 0.00011176118232920854_r8, & + 9.6753602293488887e-05_r8, 8.8046893505091682e-05_r8, & + 8.4551448610971244e-05_r8, 8.0808400114959464e-05_r8, & + 7.731912449667482e-05_r8, 7.6571461093037486e-05_r8, & + 7.5505936421689691e-05_r8, 7.4719242006034801e-05_r8, & + 7.4342788046505669e-05_r8, 7.7371871238966159e-05_r8, & + 7.9233720051495634e-05_r8, 8.1884236249903393e-05_r8, & + 8.3993219084146949e-05_r8, 8.4360489073299883e-05_r8, & + 8.7843710163640221e-05_r8, 9.269471939082312e-05_r8, & + 9.5412677131545591e-05_r8, 9.8527468888842819e-05_r8, & + 0.00010241051858850088_r8, 0.0001090021517599171_r8, & + 0.00011065861265562653_r8, 0.00011312115355111657_r8, & + 0.00011419099271971312_r8, 0.00011599568470301597_r8, & + 0.0001173188677376789_r8, 0.00011781714779291769_r8, & + 0.00011873947232292471_r8, 0.00011811786650210034_r8, & + 0.00011765696020295522_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,88) / & + 9.7306065822353813e-05_r8, 0.0001073085584314108_r8, & + 0.00010385537775573986_r8, 0.0001367089614280301_r8, & + 0.00013517279735076395_r8, 0.0001353916108434652_r8, & + 0.00012346876453553688_r8, 0.00011102387736552684_r8, & + 8.8149075296310771e-05_r8, 8.070200790422468e-05_r8, & + 7.9088654834561507e-05_r8, 7.733274415133529e-05_r8, & + 7.5276166377015167e-05_r8, 7.6743544935228012e-05_r8, & + 7.4699379557882233e-05_r8, 7.5113549504324405e-05_r8, & + 7.210796607588504e-05_r8, 7.5832978561977721e-05_r8, & + 7.7947993900031671e-05_r8, 8.1444784006443074e-05_r8, & + 8.481962466709854e-05_r8, 8.5130092173687892e-05_r8, & + 8.9731749659075592e-05_r8, 9.4302011676710874e-05_r8, & + 9.646046448735523e-05_r8, 9.9772028578704025e-05_r8, & + 0.00010340465370506565_r8, 0.00011189637633857707_r8, & + 0.00011424683429674684_r8, 0.00011646406941389785_r8, & + 0.00011691301450586587_r8, 0.00011847915197117461_r8, & + 0.00011995870774955436_r8, 0.00012052704022583217_r8, & + 0.00012138356731007695_r8, 0.00012093503877310089_r8, & + 0.00012108150046265331_r8, 0.00012121142565940119_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,88) / & + 9.1278714272817246e-05_r8, 0.0001121754418084316_r8, & + 0.00010915352667437435_r8, 0.00013190982479157479_r8, & + 0.00013637133716595251_r8, 0.00013903178733844747_r8, & + 0.00012124063295041124_r8, 9.3581729343647635e-05_r8, & + 7.159098598953932e-05_r8, 7.0979255844606594e-05_r8, & + 7.0500645576785707e-05_r8, 7.0638022498009136e-05_r8, & + 6.9010166140399918e-05_r8, 7.0815570314213734e-05_r8, & + 7.0993243444783839e-05_r8, 7.2407549307469655e-05_r8, & + 7.1574422261170531e-05_r8, 7.3264095836391118e-05_r8, & + 7.5595847977647285e-05_r8, 7.8800944649618461e-05_r8, & + 8.2556934288345637e-05_r8, 8.5425248575888812e-05_r8, & + 8.9724263852487111e-05_r8, 9.4230639125927269e-05_r8, & + 9.8621788915271492e-05_r8, 0.00010278971029766423_r8, & + 0.00010813272615608322_r8, 0.00011789931086674576_r8, & + 0.00011871969561872634_r8, 0.00011899608325256888_r8, & + 0.00011958512605577853_r8, 0.00012044788673040386_r8, & + 0.00012131150506496163_r8, 0.00012166336222873619_r8, & + 0.00012214561341514053_r8, 0.00012246655489688872_r8, & + 0.00012430885042891647_r8, 0.00012446660211432498_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,89) / & + 0.00015506126285304235_r8, 0.00015514067729545088_r8, & + 0.00014251030779713751_r8, 0.00013889324738701844_r8, & + 0.00014269857389044051_r8, 0.0001450700544555979_r8, & + 0.00015210369512667145_r8, 0.00015827820496049755_r8, & + 0.00016646571147540569_r8, 0.00017415388170877207_r8, & + 0.00018031209448783224_r8, 0.00019021562613873099_r8, & + 0.00020139704800486806_r8, 0.00020840052809587535_r8, & + 0.00021613974404837788_r8, 0.00022235300422572088_r8, & + 0.00022752478992928951_r8, 0.00023595573572690988_r8, & + 0.00023982131526951035_r8, 0.00024397878949033948_r8, & + 0.0002485168870818451_r8, 0.0002543063825306256_r8, & + 0.00025382462463205603_r8, 0.0002565784777148696_r8, & + 0.00025955175042814932_r8, 0.00026066585583396602_r8, & + 0.0002613847775345247_r8, 0.00026222105267942932_r8, & + 0.00026301386701187162_r8, 0.00026395198142644462_r8, & + 0.00026296973573012054_r8, 0.00026214727164734059_r8, & + 0.00026102310561125822_r8, 0.0002614849491885023_r8, & + 0.00026208921240814486_r8, 0.00026265095969725782_r8, & + 0.00026341590204699615_r8, 0.00026182517982895049_r8, & + 0.00025784906003987156_r8, 0.00025041938105213975_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,6,89) / & + 0.00013505265169066785_r8, 0.00012418009207340112_r8, & + 0.00012214667804115231_r8, 0.00013091289880375203_r8, & + 0.00013993709770698259_r8, 0.00014755187284285696_r8, & + 0.00016143411884207267_r8, 0.00017114721314622571_r8, & + 0.0001824276474125714_r8, 0.0001947418137824182_r8, & + 0.0002036008311882304_r8, 0.00021215220144515958_r8, & + 0.00022010794762378539_r8, 0.00022568213981198358_r8, & + 0.00023212919161505008_r8, 0.00023578771191985686_r8, & + 0.00023939704084838503_r8, 0.00024393849956866104_r8, & + 0.00024876393039039867_r8, 0.00025269963208543445_r8, & + 0.00025565927390140751_r8, 0.00025936083288138407_r8, & + 0.0002568717969200248_r8, 0.00025797068039724489_r8, & + 0.00026142901711225501_r8, 0.00026185285650568438_r8, & + 0.00026175199719859308_r8, 0.00026165121399143959_r8, & + 0.00026253228898294846_r8, 0.00026327219190820861_r8, & + 0.00026230972599210824_r8, 0.00026174550769168478_r8, & + 0.00026114687513208168_r8, 0.00026155336269807126_r8, & + 0.00026193753584184166_r8, 0.00026225891537540749_r8, & + 0.0002620535545230928_r8, 0.00025961417810214097_r8, & + 0.00025602726883092218_r8, 0.00025132628677457822_r8, & + 0.00024939659086893492_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,89) / & + 8.7797907777596867e-05_r8, 7.445795375723177e-05_r8, & + 9.5365665189596079e-05_r8, 0.00011476440838400139_r8, & + 0.00012188729925174407_r8, 0.00013887691573681392_r8, & + 0.00015932921938497928_r8, 0.00017204321597699937_r8, & + 0.00018503726746242594_r8, 0.00020350127462300603_r8, & + 0.00021503650685275114_r8, 0.00022638826237404914_r8, & + 0.0002347359123687431_r8, 0.00024037451875969255_r8, & + 0.00024576907916504985_r8, 0.00024880003192202208_r8, & + 0.00025271737131295072_r8, 0.00025504575804197595_r8, & + 0.00025679034001850252_r8, 0.00025811394887361269_r8, & + 0.00025948012341195462_r8, 0.00026097062545046498_r8, & + 0.00026125868354297531_r8, 0.00026216498402197269_r8, & + 0.00026338431006612628_r8, 0.0002639282477038851_r8, & + 0.000264016462122748_r8, 0.00026409137584471829_r8, & + 0.00026545154738729916_r8, 0.00026549827355478806_r8, & + 0.00026447310454044448_r8, 0.00026364523651153634_r8, & + 0.0002631189946012982_r8, 0.00026260139132763393_r8, & + 0.00026213514985551199_r8, 0.0002608756363713002_r8, & + 0.00025838302567706908_r8, 0.00025538080093859711_r8, & + 0.00025371811213513993_r8, 0.00025212287602054671_r8, & + 0.00025054556552155604_r8, 0.00024992614326245131_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,89) / & + 6.3511860804185604e-05_r8, 5.8361473805408637e-05_r8, & + 7.86712357848798e-05_r8, 8.6994776000212521e-05_r8, & + 8.6525613489756286e-05_r8, 9.7456687129396984e-05_r8, & + 0.00011774776411512954_r8, 0.00013614882898664601_r8, & + 0.0001484969033383964_r8, 0.000159064873128162_r8, 0.000168291541852346_r8, & + 0.00017959138656554988_r8, 0.00019053162111853328_r8, & + 0.00019891916403208353_r8, 0.00020584920167426737_r8, & + 0.00021143480606083538_r8, 0.00021824184503492383_r8, & + 0.00022805626974815822_r8, 0.00023190578393234864_r8, & + 0.00023419948012621985_r8, 0.00023762146569726963_r8, & + 0.00024228067570994136_r8, 0.00024464035844440471_r8, & + 0.00024821947002258258_r8, 0.00025128385841172369_r8, & + 0.00025368062138746237_r8, 0.00025568751763087045_r8, & + 0.00025927827027092093_r8, 0.00026208576893513048_r8, & + 0.00026366919932532427_r8, 0.00026435069678528773_r8, & + 0.00026467632561985279_r8, 0.00026471166921986512_r8, & + 0.00026395875772933447_r8, 0.00026294483923669157_r8, & + 0.00026150570191509992_r8, 0.00025846251841802698_r8, & + 0.00025518656506650771_r8, 0.00025396198202309471_r8, & + 0.00025246602486187896_r8, 0.00025110458075036152_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,89) / & + 5.3318398764087783e-05_r8, 5.3537623094900152e-05_r8, & + 5.8575420066713504e-05_r8, 5.2316745062071865e-05_r8, & + 5.1842951359657254e-05_r8, 5.5885549676351966e-05_r8, & + 6.0675191879899974e-05_r8, 7.1994283689132544e-05_r8, & + 0.00010327284914510609_r8, 0.00011826015747224204_r8, & + 0.00012973094489860036_r8, 0.00014094496483212237_r8, & + 0.00015496531837617952_r8, 0.00016575689429075313_r8, & + 0.00017271979376421413_r8, 0.00017697110031807378_r8, & + 0.00018301613143425918_r8, 0.00019547792028960944_r8, & + 0.00020115187245839996_r8, 0.00020516262355881699_r8, & + 0.00020752747043546849_r8, 0.00021111785799108617_r8, & + 0.00021430509391360438_r8, 0.00021898246191263791_r8, & + 0.00022382825107849155_r8, 0.00022721539917464127_r8, & + 0.00022967834086365214_r8, 0.00023721948453091896_r8, & + 0.00024378264886253215_r8, 0.00024986851134197504_r8, & + 0.0002548564911132187_r8, 0.00025868260658778975_r8, & + 0.00026177392745768192_r8, 0.00026417561814735531_r8, & + 0.00026491778544923976_r8, 0.00026506505338953404_r8, & + 0.00026275537106273261_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,89) / & + 3.1271591474647952e-05_r8, 3.182929107356002e-05_r8, & + 2.8961373808790372e-05_r8, 2.875166746129246e-05_r8, & + 2.9574164626237835e-05_r8, 3.0668201665681982e-05_r8, & + 3.2220265950820353e-05_r8, 3.4319894153882109e-05_r8, & + 5.4349620942178451e-05_r8, 7.4516790109220308e-05_r8, & + 8.649754982902291e-05_r8, 9.7628689396086124e-05_r8, & + 0.00011321981973535932_r8, 0.00012572061121844655_r8, & + 0.00013372148012688224_r8, 0.00014079744462167784_r8, & + 0.00015038036256014183_r8, 0.00015910908419977256_r8, & + 0.00016450016428026123_r8, 0.00016955422998366778_r8, & + 0.00017203593999789941_r8, 0.00017614975629919922_r8, & + 0.00017572685622106257_r8, 0.0001788547657056754_r8, & + 0.00018173445529014984_r8, 0.0001848307350247571_r8, & + 0.00018623092326323793_r8, 0.00019634205312856718_r8, & + 0.00020079386673946251_r8, 0.00021288347129248318_r8, & + 0.00022256838054741576_r8, 0.00022776481731399072_r8, & + 0.00023087304881835808_r8, 0.00023654340300106129_r8, & + 0.00023834298821049339_r8, 0.0002385402287815201_r8, & + 0.00024267155224520277_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,89) / & + 1.0876412903203775e-05_r8, 1.10622263985391e-05_r8, & + 8.8439310844285663e-06_r8, 9.7607123673249947e-06_r8, & + 1.0011286874411929e-05_r8, 1.0367953103074785e-05_r8, & + 1.095009757225948e-05_r8, 1.2506704110209198e-05_r8, & + 1.6330158970531937e-05_r8, 2.214534306056512e-05_r8, & + 2.7469016712491617e-05_r8, 3.2070230343329801e-05_r8, & + 3.9502178750675342e-05_r8, 4.8326701015513126e-05_r8, & + 5.5208237223567576e-05_r8, 6.2212682513131413e-05_r8, & + 7.4813199121526413e-05_r8, 8.7506765985372948e-05_r8, & + 9.9322924262732642e-05_r8, 0.00011230377287453738_r8, & + 0.00012248142025160052_r8, 0.00013135282559421956_r8, & + 0.00013796001864724446_r8, 0.00014405439033706975_r8, & + 0.00014832499091040459_r8, 0.00015130103806476679_r8, & + 0.00015287740939746606_r8, 0.000155926141146001_r8, & + 0.00015936265870861787_r8, 0.00016802554316891225_r8, & + 0.00017939028368844071_r8, 0.00019204732516379109_r8, & + 0.00020010590108223916_r8, 0.00020595261952220133_r8, & + 0.00021153532638123795_r8, 0.0002172776793877344_r8, & + 0.00022319083281739153_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,89) / & + 3.023824117981825e-06_r8, 2.9415442339001919e-06_r8, & + 2.2090186498564724e-06_r8, 2.9500866707537256e-06_r8, & + 2.9932434635318031e-06_r8, 3.0749359504118242e-06_r8, & + 4.9495848671491238e-06_r8, 4.8779491057600199e-06_r8, & + 5.825872802429736e-06_r8, 7.0254850280038195e-06_r8, & + 8.1923123507391781e-06_r8, 9.517150913704946e-06_r8, & + 1.2339708578232268e-05_r8, 1.6034469250324645e-05_r8, & + 1.9335390310811964e-05_r8, 2.325512257112791e-05_r8, & + 3.1973442025771617e-05_r8, 3.9359974531685242e-05_r8, & + 5.0038104537401838e-05_r8, 6.3760867755743847e-05_r8, & + 7.6761352210791585e-05_r8, 9.0283214838342906e-05_r8, & + 0.00010308925642333179_r8, 0.00011557361947724683_r8, & + 0.00012509298681523431_r8, 0.00013258686813260654_r8, & + 0.00013713844541937584_r8, 0.00014052079452130619_r8, & + 0.00013913973977333253_r8, 0.00013985870161202434_r8, & + 0.00014325631234661225_r8, 0.00014818413234710313_r8, & + 0.00015822762416894812_r8, 0.00017503158574343983_r8, & + 0.00019423572284197867_r8, 0.00021144706325342528_r8, & + 0.00022024625829918863_r8, 0.00022169390758248485_r8, & + 0.0002276437639994323_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,13,89) / & + 2.0966154879835534e-06_r8, 2.04648422711421e-06_r8, & + 1.3520706037679022e-06_r8, 3.0211924173750606e-06_r8, & + 3.0726615169212779e-06_r8, 3.1788449853654684e-06_r8, & + 4.4844281780353841e-06_r8, 4.5761900702855315e-06_r8, & + 4.9192856194352344e-06_r8, 5.450423759490747e-06_r8, & + 5.9082216684144065e-06_r8, 6.5728523573723075e-06_r8, & + 7.8374692611224862e-06_r8, 1.0007544405293142e-05_r8, & + 1.2639535348769454e-05_r8, 1.602921586477083e-05_r8, & + 2.3480600835707266e-05_r8, 3.0277875863340468e-05_r8, & + 3.8520652314140858e-05_r8, 5.0114740517889469e-05_r8, & + 6.2736403525914781e-05_r8, 7.7337396969615079e-05_r8, & + 9.1586173310761616e-05_r8, 0.00010575723215633255_r8, & + 0.00011622888375788083_r8, 0.00012415532935225088_r8, & + 0.00012875438385198654_r8, 0.00013029337809178165_r8, & + 0.000126301528457863_r8, 0.00012335630445368113_r8, & + 0.00012329422224022481_r8, 0.00012547420156035864_r8, & + 0.00012922305468870702_r8, 0.00013610504124011264_r8, & + 0.00014186399105415638_r8, 0.00015696962536833282_r8, & + 0.00017446757637702091_r8, 0.00020480527286816615_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,89) / & + 2.9451211622231803e-06_r8, 2.9533226092004164e-06_r8, & + 2.7020251086848576e-06_r8, 3.1894885470013796e-06_r8, & + 3.1927497911882923e-06_r8, 3.3719382999859044e-06_r8, & + 3.6577065345606464e-06_r8, 4.0101332536772784e-06_r8, & + 4.3762441583090315e-06_r8, 4.7664744670731123e-06_r8, & + 5.1926541038906665e-06_r8, 5.6272558666594034e-06_r8, & + 6.566134567044616e-06_r8, 8.1509326576382922e-06_r8, & + 9.9029214795501328e-06_r8, 1.2060340790495592e-05_r8, & + 1.8600375857950857e-05_r8, 2.7538580357465118e-05_r8, & + 3.5988512075245429e-05_r8, 4.6348670007373961e-05_r8, & + 5.8603762287850214e-05_r8, 7.3641950858718757e-05_r8, & + 8.8644470229051498e-05_r8, 0.00010294243966463019_r8, & + 0.00011343622441401968_r8, 0.00012099449719333165_r8, & + 0.00012488235338409107_r8, 0.00012516977593497126_r8, & + 0.00012044214758299836_r8, 0.00011618845137734532_r8, & + 0.00011376932386264922_r8, 0.00011300378213975506_r8, & + 0.00011388427086028538_r8, 0.00011626383117300574_r8, & + 0.00012315772096372659_r8, 0.00013611671106957102_r8, & + 0.00015107125912702091_r8, 0.00016076365744272696_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,89) / & + 3.1776960583607073e-06_r8, 3.2160199407467304e-06_r8, & + 3.2573433707299621e-06_r8, 3.1344381652189697e-06_r8, & + 3.2413645287783353e-06_r8, 3.5667663225185979e-06_r8, & + 3.4541969740260295e-06_r8, 3.6422214274754107e-06_r8, & + 4.195500149684048e-06_r8, 4.8843448234511438e-06_r8, & + 5.5442021614275965e-06_r8, 6.2266610034108391e-06_r8, & + 7.1037937486344186e-06_r8, 8.2221902242013862e-06_r8, & + 9.9045491608974206e-06_r8, 1.2105172642931804e-05_r8, & + 1.8981644953601759e-05_r8, 2.8474350998931582e-05_r8, & + 3.9108569248403276e-05_r8, 5.1622646996415083e-05_r8, & + 6.6909358549036225e-05_r8, 8.3741174847968688e-05_r8, & + 9.7049747225480057e-05_r8, 0.0001083608673472169_r8, & + 0.00011509890329725911_r8, 0.00011871489232396899_r8, & + 0.00011888923620674453_r8, 0.00011571765389702457_r8, & + 0.00011346615256410355_r8, 0.00011195715324456596_r8, & + 0.00010993075314842673_r8, 0.00010872380697858599_r8, & + 0.0001089582353472977_r8, 0.00010975842280933857_r8, & + 0.0001112762386282591_r8, 0.00011449917575427142_r8, & + 0.00012372989768601774_r8, 0.00014082029893050396_r8, & + 0.00016337101153625458_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,16,89) / & + 2.7103274461940827e-06_r8, 2.7987596321291978e-06_r8, & + 2.9765929656718151e-06_r8, 3.0809878721809579e-06_r8, & + 3.246136347534598e-06_r8, 3.7542870089304332e-06_r8, & + 3.27421189094536e-06_r8, 3.468453659704133e-06_r8, & + 4.6450183230842663e-06_r8, 5.9881323762423065e-06_r8, & + 7.3087600831823335e-06_r8, 8.8467048937900507e-06_r8, & + 9.6847966898004285e-06_r8, 1.0845755126383115e-05_r8, & + 1.3248816885551909e-05_r8, 1.6898114862218302e-05_r8, & + 2.7756084566025799e-05_r8, 4.0306197372859603e-05_r8, & + 5.3025006131321424e-05_r8, 6.9357710974498438e-05_r8, & + 8.7160185844970448e-05_r8, 0.0001017610665580444_r8, & + 0.00011044119769161091_r8, 0.00011591424533360962_r8, & + 0.00011659180178856001_r8, 0.00011484888472987284_r8, & + 0.00011184610677580013_r8, 0.00010830882609429846_r8, & + 0.00011170317398512719_r8, 0.00011532484287716164_r8, & + 0.00011652356245963066_r8, 0.00011791916924034576_r8, & + 0.00012026092491544087_r8, 0.0001224571774883211_r8, & + 0.00012432206685412527_r8, 0.00012534472197049825_r8, & + 0.00012598848229362922_r8, 0.00012651083454410245_r8, & + 0.00012839896269147143_r8, 0.00013527871884283046_r8, & + 0.00013334492070773662_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,89) / & + 1.8430154357227766e-06_r8, 1.9613861767090689e-06_r8, & + 2.2001773160875201e-06_r8, 2.5520239667939322e-06_r8, & + 2.7520501813546022e-06_r8, 3.3352360932486772e-06_r8, & + 3.1036426712988918e-06_r8, 3.3482976257023012e-06_r8, & + 4.5348899148874339e-06_r8, 6.157582609316045e-06_r8, & + 7.833014788939363e-06_r8, 9.8194629864700922e-06_r8, & + 1.1951841581732941e-05_r8, 1.5829429465360183e-05_r8, & + 2.0851185055561028e-05_r8, 2.7393787664356387e-05_r8, & + 4.2010674709200632e-05_r8, 5.8702092333188975e-05_r8, & + 7.5124098172497225e-05_r8, 9.0742580909689349e-05_r8, & + 0.00010249551019242523_r8, 0.00010984336964953224_r8, & + 0.00011118608460866407_r8, 0.00011000121890704948_r8, & + 0.00010685114633143724_r8, 0.00010336107824993285_r8, & + 9.9959219763590338e-05_r8, 9.6270935643808306e-05_r8, & + 9.9569967238849732e-05_r8, 0.0001082094033827485_r8, & + 0.00011676846314820847_r8, 0.00012393240008114548_r8, & + 0.0001301000097781411_r8, 0.00013443941725766861_r8, & + 0.00013736683432482205_r8, 0.0001392518032053608_r8, & + 0.00013955731565327601_r8, 0.00014017288778581962_r8, & + 0.00014313637791759097_r8, 0.00014771410587593008_r8, & + 0.00014671934275688883_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,89) / & + 2.1158248832870466e-06_r8, 2.2207261178982864e-06_r8, & + 2.3236695456574435e-06_r8, 2.676057049529576e-06_r8, & + 2.8844412252821194e-06_r8, 3.4194600979384486e-06_r8, & + 3.7372210904590805e-06_r8, 4.4524658096049129e-06_r8, & + 6.0982317407100566e-06_r8, 8.6666025152059993e-06_r8, & + 1.113370303065349e-05_r8, 1.4687202872973793e-05_r8, & + 2.044107326811023e-05_r8, 2.7739142469025621e-05_r8, & + 3.5464205120401463e-05_r8, 4.4056150936350027e-05_r8, & + 6.0979632671606666e-05_r8, 7.7455434775724371e-05_r8, & + 9.2832154974891394e-05_r8, 0.00010521849321174134_r8, & + 0.00011238431331904419_r8, 0.00011600496205010902_r8, & + 0.00011381329555242195_r8, 0.00010928378641390374_r8, & + 0.0001030840130613974_r8, 9.7417286059384438e-05_r8, & + 9.3818349098068665e-05_r8, 9.2559556329636716e-05_r8, & + 9.808021170990984e-05_r8, 0.0001086235460870092_r8, & + 0.00012075917062697636_r8, 0.00013175158253036601_r8, & + 0.00014007186689565744_r8, 0.00014591116008801541_r8, & + 0.00014957866074993652_r8, 0.00015199774818194586_r8, & + 0.000153116360792978_r8, 0.00015460943278390477_r8, & + 0.00015698958280261754_r8, 0.00015826813027972894_r8, & + 0.00015791516233219292_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,89) / & + 3.3574435429108887e-06_r8, 3.542570768897993e-06_r8, & + 3.4574296528835715e-06_r8, 4.0328753103200154e-06_r8, & + 4.2168296121399428e-06_r8, 4.7383936475881972e-06_r8, & + 5.1740751234551165e-06_r8, 7.9046494616456833e-06_r8, & + 1.21196714823786e-05_r8, 1.6741777109813231e-05_r8, & + 2.1661823292422834e-05_r8, 2.7257878214916791e-05_r8, & + 3.5823046144020495e-05_r8, 4.3840443115042814e-05_r8, & + 5.0756568052787859e-05_r8, 5.79271395606043e-05_r8, & + 7.0998020510906084e-05_r8, 8.485763676376741e-05_r8, & + 9.8734023771778078e-05_r8, 0.0001107433379513553_r8, & + 0.00011767536937400882_r8, 0.00012025783236863209_r8, & + 0.00011748172601126204_r8, 0.00011217289503929692_r8, & + 0.00010455831242210114_r8, 9.7993152717207514e-05_r8, & + 9.4173920781271889e-05_r8, 9.3277669599043959e-05_r8, & + 0.00010162784929668893_r8, 0.00011376819892473428_r8, & + 0.00012743037462516443_r8, 0.00013989415324680243_r8, & + 0.00014931568619596787_r8, 0.00015549149191293146_r8, & + 0.00015939902654063114_r8, 0.0001617079095422284_r8, & + 0.00016340518892705137_r8, 0.00016242650205310706_r8, & + 0.0001639936866746748_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,20,89) / & + 4.2084060641271686e-06_r8, 4.8537805477486906e-06_r8, & + 4.9157002139368989e-06_r8, 5.7745187924736591e-06_r8, & + 6.2663432844930481e-06_r8, 7.5751819804665104e-06_r8, & + 6.1823639812351363e-06_r8, 1.3635134641209424e-05_r8, & + 2.103798844167407e-05_r8, 2.7418350993899422e-05_r8, & + 3.3053546126061871e-05_r8, 3.8641406825926325e-05_r8, & + 4.5843305203554549e-05_r8, 5.2225290635690897e-05_r8, & + 5.7603017879300177e-05_r8, 6.3322732167608241e-05_r8, & + 7.5032844404085414e-05_r8, 8.8828778108310081e-05_r8, & + 0.00010261820614258985_r8, 0.00011476368111963724_r8, & + 0.00012129544726387859_r8, 0.0001227309870903126_r8, & + 0.00011773564233201241_r8, 0.00011051969040625454_r8, & + 0.00010184040647856661_r8, 9.5367259997436121e-05_r8, & + 9.1748905633325795e-05_r8, 9.2357426957278096e-05_r8, & + 0.0001013416309679486_r8, 0.00011592195912742581_r8, & + 0.00013154026261472985_r8, 0.00014534821371799792_r8, & + 0.0001574642516567957_r8, 0.000165593055406994_r8, & + 0.00017062020591868842_r8, 0.00017270023654451883_r8, & + 0.00017465329371125428_r8, 0.0001755438720425076_r8, & + 0.00017905311213494628_r8, 0.00018260228918297531_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,89) / & + 5.9079362446251421e-06_r8, 7.0013496774093133e-06_r8, & + 7.4610131286171774e-06_r8, 8.1834959914206044e-06_r8, & + 8.933133181131014e-06_r8, 1.0826521757225115e-05_r8, & + 1.0085832110801159e-05_r8, 2.2435371072845477e-05_r8, & + 2.9216066100795914e-05_r8, 3.4555193006279189e-05_r8, & + 3.8057913970171462e-05_r8, 4.2654901938639872e-05_r8, & + 4.8665682117764402e-05_r8, 5.5094739079658359e-05_r8, & + 6.1874794188968927e-05_r8, 6.9260461689094166e-05_r8, & + 8.4009479559161412e-05_r8, 9.8267701833433668e-05_r8, & + 0.00011291258231648287_r8, 0.00012434493285535882_r8, & + 0.0001292357180026063_r8, 0.00012975039514117993_r8, & + 0.00012179914864501228_r8, 0.00011225905152591954_r8, & + 0.00010134417375893966_r8, 9.2420906148481025e-05_r8, & + 8.7645165515685961e-05_r8, 8.8598200451225613e-05_r8, & + 0.00010133758618498934_r8, 0.00012051456544348937_r8, & + 0.00013926122219645832_r8, 0.00015486433528868839_r8, & + 0.00016776022515808747_r8, 0.00017659311204870116_r8, & + 0.00018254675998084823_r8, 0.0001869334903517892_r8, & + 0.00018989662017719199_r8, 0.00019231527974599222_r8, & + 0.00019645646807935329_r8, 0.00019973446687853659_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,89) / & + 1.0475219364549251e-05_r8, 9.3535362759892225e-06_r8, & + 8.874831591887074e-06_r8, 8.6243618668965508e-06_r8, & + 1.0746877869441249e-05_r8, 1.2977640267520488e-05_r8, & + 1.9502039028446298e-05_r8, 2.7221655990400135e-05_r8, & + 3.0221304506053562e-05_r8, 3.2915680758117479e-05_r8, & + 3.5220554841069544e-05_r8, 3.8158411735701959e-05_r8, & + 4.5553719884588148e-05_r8, 5.4774562097888106e-05_r8, & + 6.3214189106908025e-05_r8, 7.2338955172580093e-05_r8, & + 9.0101347161928108e-05_r8, 0.00010506099193856341_r8, & + 0.0001192398579217559_r8, 0.0001300979507218946_r8, & + 0.00013342016052619564_r8, 0.00013201456310943149_r8, & + 0.00012142270201109604_r8, 0.00011014183614517125_r8, & + 9.8834274630780759e-05_r8, 8.9437376931349961e-05_r8, & + 8.3653277198255486e-05_r8, 8.3840179901517318e-05_r8, & + 9.7513179582464228e-05_r8, 0.00012119811542149212_r8, & + 0.00014090069942310655_r8, 0.00015801547688271529_r8, & + 0.00017060258386656654_r8, 0.00017927223307940274_r8, & + 0.00018592364544106987_r8, 0.00019270181661849571_r8, & + 0.00019660937394819103_r8, 0.00020573550030196454_r8, & + 0.00021505441340681465_r8, 0.00022589919969780557_r8, & + 0.00023222728261223372_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,89) / & + 2.6088815562893896e-05_r8, 1.7054758520969389e-05_r8, & + 1.2315541341194727e-05_r8, 9.4550949829225638e-06_r8, & + 1.1735180005218071e-05_r8, 1.421208844645964e-05_r8, & + 2.2476194635937809e-05_r8, 2.8952368640570509e-05_r8, & + 3.1198111959439978e-05_r8, 3.3792364737888774e-05_r8, & + 3.5949700965262069e-05_r8, 3.830805906931888e-05_r8, & + 4.6336569040341043e-05_r8, 5.861314656369658e-05_r8, & + 6.7869401024833157e-05_r8, 7.7372934012381588e-05_r8, & + 9.5834665274690511e-05_r8, 0.00011270085577617066_r8, & + 0.00012637019350117773_r8, 0.00013732782460407068_r8, & + 0.00013896566415967719_r8, 0.00013621629674722834_r8, & + 0.00012598110848607212_r8, 0.00011575547151870481_r8, & + 0.0001042941135372898_r8, 9.5389047723772245e-05_r8, & + 9.0055661283000666e-05_r8, 9.0833471619043666e-05_r8, & + 0.00010283213073800328_r8, 0.00012599520646134623_r8, & + 0.00014548426646594114_r8, 0.00016357678122958547_r8, & + 0.00017569746647473224_r8, 0.00018571988329963771_r8, & + 0.00019333711829592822_r8, 0.00020105530100214501_r8, & + 0.00020891416858819444_r8, 0.00022178956572598175_r8, & + 0.00023185760515645557_r8, 0.00024370954385144955_r8, & + 0.00025096724226911644_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,89) / & + 3.5494894805597988e-05_r8, 2.3335375146092047e-05_r8, & + 1.5577090790212198e-05_r8, 1.1683083240535715e-05_r8, & + 1.392461234131731e-05_r8, 1.7993503964003913e-05_r8, & + 2.3931842005037669e-05_r8, 3.1308156868011222e-05_r8, & + 3.3753014983654624e-05_r8, 3.7071604835071924e-05_r8, & + 3.9336047723092646e-05_r8, 4.1606587651478532e-05_r8, & + 5.0120074477283561e-05_r8, 6.2451165284889076e-05_r8, & + 7.319892912839831e-05_r8, 8.342410554851259e-05_r8, & + 0.00010245322996833701_r8, 0.00012050894562942113_r8, & + 0.00013472345513964736_r8, 0.00014589008396901393_r8, & + 0.00014740453677433821_r8, 0.00014452470153426608_r8, & + 0.00013520047943305384_r8, 0.00012537664815040291_r8, & + 0.00011374401974022874_r8, 0.00010442474104907467_r8, & + 9.9686559017421228e-05_r8, 0.00010057928545718248_r8, & + 0.00011262551662096825_r8, 0.00013446525586462756_r8, & + 0.00015495443156043906_r8, 0.00017404602302089616_r8, & + 0.0001868194001727942_r8, 0.00019734569230939151_r8, & + 0.00020013270029192148_r8, 0.0002079271057796871_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,89) / & + 9.0756216316534438e-06_r8, 8.4971602676048193e-06_r8, & + 1.0169214704780519e-05_r8, 5.7353639934977313e-06_r8, & + 6.2065414123338357e-06_r8, 6.2072433677456617e-06_r8, & + 7.4219779147182793e-06_r8, 9.322266299838192e-06_r8, & + 1.1387620325461074e-05_r8, 1.279257318494136e-05_r8, & + 1.469407540424806e-05_r8, 1.5087843884457213e-05_r8, & + 1.605874588300836e-05_r8, 1.8182723179807586e-05_r8, & + 2.0783715471854353e-05_r8, 2.3649857247638086e-05_r8, & + 3.0703002940578703e-05_r8, 3.8586895446845239e-05_r8, & + 4.5014066464592991e-05_r8, 5.0627283238713396e-05_r8, & + 5.421458050123134e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,89) / & + 1.007082277116595e-05_r8, 9.1210169505587845e-06_r8, & + 8.0389712977014669e-06_r8, 5.8676708987912972e-06_r8, & + 6.7012727541555065e-06_r8, 7.6841363956478293e-06_r8, & + 9.8373447673203268e-06_r8, 1.2154845725579272e-05_r8, & + 1.4194381643775044e-05_r8, 1.5421990316593599e-05_r8, & + 1.7180312246491678e-05_r8, 1.7476349877090973e-05_r8, & + 1.9773607385977318e-05_r8, 2.2653580982781925e-05_r8, & + 2.5011650909252369e-05_r8, 2.7899535751219564e-05_r8, & + 3.3540235362279404e-05_r8, 3.8848579642790063e-05_r8, & + 4.5605059676944011e-05_r8, 5.1379997869702799e-05_r8, & + 5.5033484697089803e-05_r8, 6.058309781642772e-05_r8, & + 5.9737092299461545e-05_r8, 6.1351923718265143e-05_r8, & + 6.4836452531257313e-05_r8, 6.9562649885868111e-05_r8, & + 7.9564650819223288e-05_r8, 0.00010059072765717015_r8, & + 0.00012286617064377175_r8, 0.00014550654164573328_r8, & + 0.00017640037804575435_r8, 0.00020195307661467481_r8, & + 0.00022282764108294786_r8, 0.00024377033544647914_r8, & + 0.00026235472797789445_r8, 0.00027579287257806229_r8, & + 0.00028237247052453218_r8, 0.00028710347860385119_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,89) / & + 8.9794925887900903e-06_r8, 8.029367878716702e-06_r8, & + 7.0817158706869383e-06_r8, 5.8149088424406482e-06_r8, & + 6.80725408181631e-06_r8, 8.0973456632150046e-06_r8, & + 1.0744144988312123e-05_r8, 1.3111375033825996e-05_r8, & + 1.5084338409875946e-05_r8, 1.6377227025448787e-05_r8, & + 1.8263500660171579e-05_r8, 1.9031696128588528e-05_r8, & + 2.1439119381587057e-05_r8, 2.4637671769855073e-05_r8, & + 2.7235448407431445e-05_r8, 3.0266077386193849e-05_r8, & + 3.5731938468818221e-05_r8, 4.0917693831585178e-05_r8, & + 4.7801014597166437e-05_r8, 5.3320793082046031e-05_r8, & + 5.7273022009483868e-05_r8, 6.2135771938686381e-05_r8, & + 6.1836128802197459e-05_r8, 6.3204552580368507e-05_r8, & + 6.677168004018935e-05_r8, 7.2572687670727771e-05_r8, & + 8.206330176995549e-05_r8, 0.00010406982672312942_r8, & + 0.00012802658098817055_r8, 0.00015413837989905059_r8, & + 0.00018431109545226994_r8, 0.00021088155086600537_r8, & + 0.00023285937813463065_r8, 0.00025492673854967968_r8, & + 0.00027455958275137446_r8, 0.00028791426188674976_r8, & + 0.00029447338273501963_r8, 0.00029828360710351578_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,89) / & + 4.0107526801924392e-06_r8, 5.009421745553322e-06_r8, & + 6.199380464762315e-06_r8, 7.2312144111936827e-06_r8, & + 8.7177720611058884e-06_r8, 1.1155514223328539e-05_r8, & + 1.5649977164816116e-05_r8, 1.9569404546066295e-05_r8, & + 2.1534180234624033e-05_r8, 2.3232646517141645e-05_r8, & + 2.4534902684354517e-05_r8, 2.6438551705818708e-05_r8, & + 2.8143518415876238e-05_r8, 2.9528968086289554e-05_r8, & + 3.1380205263468136e-05_r8, 3.3227385570750721e-05_r8, & + 3.9386813493473598e-05_r8, 4.6645145658758023e-05_r8, & + 5.3523249045934695e-05_r8, 5.9345828839750707e-05_r8, & + 6.3764496231852642e-05_r8, 6.7607630867168596e-05_r8, & + 7.0143911429247202e-05_r8, 7.3372925439304306e-05_r8, & + 7.750939193313004e-05_r8, 8.2293909421180472e-05_r8, & + 8.6405368010765576e-05_r8, 9.7750602152690765e-05_r8, & + 0.00011939301477311803_r8, 0.00015003880786873715_r8, & + 0.00018409936008077253_r8, 0.00021480404811681378_r8, & + 0.00024126337087327753_r8, 0.00026233012430359684_r8, & + 0.00027989532244976611_r8, 0.00029532019527177755_r8, & + 0.00030542165573572847_r8, 0.00030951929757382503_r8, & + 0.00031325967789516782_r8, 0.00031568619188921884_r8, & + 0.00031502940570373941_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,89) / & + 5.4306184310516739e-06_r8, 6.6994146269238776e-06_r8, & + 8.2404211084103991e-06_r8, 9.605288689395235e-06_r8, & + 1.119896737102325e-05_r8, 1.3371039099827937e-05_r8, & + 1.8137730831338683e-05_r8, 2.1808020604711332e-05_r8, & + 2.3703199139322369e-05_r8, 2.56126267922796e-05_r8, & + 2.6957467194208738e-05_r8, 2.8942325976806778e-05_r8, & + 3.0119197292134101e-05_r8, 3.1184246053224079e-05_r8, & + 3.2659268364728877e-05_r8, 3.4466919773417428e-05_r8, & + 4.2574198407319582e-05_r8, 5.0172906287524296e-05_r8, & + 5.8641275754619168e-05_r8, 6.6399749767427152e-05_r8, & + 7.1216900194484225e-05_r8, 7.5354771022148807e-05_r8, & + 7.9063610243329798e-05_r8, 8.2800195427874275e-05_r8, & + 8.6521430419453938e-05_r8, 9.0095258703934791e-05_r8, & + 9.2840324905858306e-05_r8, 0.00010132683457263135_r8, & + 0.00012187202774695061_r8, 0.00015536288692952227_r8, & + 0.00019119367605155893_r8, 0.00022286017366185889_r8, & + 0.00024988622801879959_r8, 0.00027142019839558195_r8, & + 0.00029178028022732892_r8, 0.00030693450187122185_r8, & + 0.00031767835803701741_r8, 0.00032276563147688817_r8, & + 0.00032755453687082273_r8, 0.00032752753892668327_r8, & + 0.00032739142646850093_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,89) / & + 9.0610865758195608e-06_r8, 9.6186939934575346e-06_r8, & + 1.035167622042361e-05_r8, 1.4312987692660989e-05_r8, & + 1.6029691625767632e-05_r8, 1.6157580309284087e-05_r8, & + 2.1944948027385068e-05_r8, 2.5553359680110475e-05_r8, & + 2.652885055463967e-05_r8, 2.8667785599905738e-05_r8, & + 2.8824685742353605e-05_r8, 3.0400550191474093e-05_r8, & + 3.1000987250146564e-05_r8, 3.1847581198740124e-05_r8, & + 3.3149455195944384e-05_r8, 3.4919573899858926e-05_r8, & + 4.5441551955261269e-05_r8, 5.3571486853133003e-05_r8, & + 6.3381123158391168e-05_r8, 7.3283821338862614e-05_r8, & + 7.889883309644322e-05_r8, 8.3243351170942764e-05_r8, & + 8.735179367940838e-05_r8, 9.1554107594773814e-05_r8, & + 9.4786243150302068e-05_r8, 9.7791890081261313e-05_r8, & + 9.9815352630192765e-05_r8, 0.00010734733173814279_r8, & + 0.00012948667541482278_r8, 0.00016726569471091631_r8, & + 0.00020586867770784045_r8, 0.00023961267604725241_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,89) / & + 1.5757761113049476e-05_r8, 1.6175162350253877e-05_r8, & + 1.6617299754051344e-05_r8, 2.0856855368688238e-05_r8, & + 2.5672651857153116e-05_r8, 2.6215646610676036e-05_r8, & + 3.1945262039681823e-05_r8, 3.7699366508786332e-05_r8, & + 4.0054452430607111e-05_r8, 4.1609402367494813e-05_r8, & + 4.2481595825444235e-05_r8, 4.280078170529597e-05_r8, & + 4.3370665380797355e-05_r8, 4.3834740005093404e-05_r8, & + 4.4520671312173006e-05_r8, 4.5330946537572485e-05_r8, & + 4.6318969171823815e-05_r8, 4.8733185536114374e-05_r8, & + 5.2887093552101006e-05_r8, 6.0032980496400499e-05_r8, & + 6.9755127009001947e-05_r8, 7.8095210006489836e-05_r8, & + 8.3971982284140854e-05_r8, 8.7791631822876245e-05_r8, & + 9.1002919452821355e-05_r8, 9.362805409302332e-05_r8, & + 9.608571588982729e-05_r8, 0.00010410791931138994_r8, & + 0.00011808563164003541_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,89) / & + 1.7183876403295626e-05_r8, 1.7960967242777836e-05_r8, & + 1.9061471148064616e-05_r8, 2.439734032520259e-05_r8, & + 2.9681676448232778e-05_r8, 3.214605649754964e-05_r8, & + 3.9215840190265888e-05_r8, 4.2419260714942577e-05_r8, & + 4.3825207294743662e-05_r8, 4.5142373731200341e-05_r8, & + 4.6248754768156586e-05_r8, 4.7308686509235325e-05_r8, & + 4.8985829391841928e-05_r8, 5.0307421787963061e-05_r8, & + 5.1631753141488262e-05_r8, 5.2846435560929617e-05_r8, & + 5.6472898495485326e-05_r8, 5.9564222378545422e-05_r8, & + 6.1764779982927882e-05_r8, 6.5168939961437498e-05_r8, & + 7.0766116867008956e-05_r8, 7.7393192869302949e-05_r8, & + 8.2405336424195435e-05_r8, 8.5383242118508204e-05_r8, & + 9.0630168857415414e-05_r8, 9.4171062797612342e-05_r8, & + 9.9572808627814802e-05_r8, 0.00011054382328260599_r8, & + 0.00012260212146829923_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,89) / & + 1.9325734924954513e-05_r8, 2.0464304288104726e-05_r8, & + 2.254719370814811e-05_r8, 3.4104392174378147e-05_r8, & + 3.884656565276863e-05_r8, 4.1947547672895848e-05_r8, & + 4.9106112457698576e-05_r8, 5.0326711571704973e-05_r8, & + 5.0959990360635058e-05_r8, 5.1833136858239764e-05_r8, & + 5.2722148016902169e-05_r8, 5.3897332285809608e-05_r8, & + 5.5776112674520704e-05_r8, 5.680360554397309e-05_r8, & + 5.8102876172745563e-05_r8, 5.9598883822168813e-05_r8, & + 6.4175438047695476e-05_r8, 6.6876269985376396e-05_r8, & + 7.0420107860784682e-05_r8, 7.3928531504865647e-05_r8, & + 7.8011397272978263e-05_r8, 8.3182890996059679e-05_r8, & + 8.642841389647011e-05_r8, 8.9558782363922723e-05_r8, & + 9.4830647327833113e-05_r8, 9.8430965145097771e-05_r8, & + 0.00010272314625618814_r8, 0.00010472873040438159_r8, & + 0.00010801861609201646_r8, 0.00010766535328981261_r8, & + 0.00010865332118851036_r8, 0.0001083836993533449_r8, & + 0.00010622079333475033_r8, 0.0001069554221292472_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,89) / & + 2.5221715392170082e-05_r8, 2.6331699257822211e-05_r8, & + 2.7376076514965157e-05_r8, 4.3068239473899283e-05_r8, & + 4.7202912688323091e-05_r8, 5.0641296080051859e-05_r8, & + 5.5736853441734217e-05_r8, 5.5721185353590668e-05_r8, & + 5.5855173197148511e-05_r8, 5.6182092934069062e-05_r8, & + 5.6849544872398798e-05_r8, 5.7996463532380331e-05_r8, & + 5.9928316367276776e-05_r8, 6.1096753968172576e-05_r8, & + 6.2567595026408895e-05_r8, 6.4648488463798227e-05_r8, & + 6.8746726300915347e-05_r8, 7.2772132583571238e-05_r8, & + 7.704329383883571e-05_r8, 8.1802214977697672e-05_r8, & + 8.5256854884308524e-05_r8, 8.8638503653339209e-05_r8, & + 9.180872064127979e-05_r8, 9.509294323192539e-05_r8, & + 9.8083483815714911e-05_r8, 0.00010104613442081353_r8, & + 0.0001029705622291921_r8, 0.00010596390538844122_r8, & + 0.00011017513955617497_r8, 0.00011124821515285579_r8, & + 0.00011218877153958796_r8, 0.00011262968806103674_r8, & + 0.00011268627348701184_r8, 0.00011169016351762465_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,40,89) / & + 3.3086541804921513e-05_r8, 3.3760218023392168e-05_r8, & + 3.492761820954247e-05_r8, 4.0270448196009073e-05_r8, & + 4.3102716362835101e-05_r8, 4.6549592933925535e-05_r8, & + 5.379873328474521e-05_r8, 5.3908311216944156e-05_r8, & + 5.4354797538988188e-05_r8, 5.5241247798591036e-05_r8, & + 5.6033591890785459e-05_r8, 5.724671434860841e-05_r8, & + 5.9158816531252733e-05_r8, 6.0712684170520189e-05_r8, & + 6.2541145469397429e-05_r8, 6.4542354181927147e-05_r8, & + 6.840856511561034e-05_r8, 7.1982063669369042e-05_r8, & + 7.5620479532051475e-05_r8, 8.0430257819475825e-05_r8, & + 8.3883844287194583e-05_r8, 8.7873459611964905e-05_r8, & + 9.078624798335524e-05_r8, 9.381881347745421e-05_r8, & + 9.6218587593194403e-05_r8, 9.8343993591734852e-05_r8, & + 0.00010022290469100872_r8, 0.00010313903644432254_r8, & + 0.00010352130433419818_r8, 0.00010102496181012987_r8, & + 0.00011052880859374392_r8, 0.00011040331091634099_r8, & + 0.00011435056941676511_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,89) / & + 4.4332238271062726e-05_r8, 4.4875074428709269e-05_r8, & + 4.688570719631498e-05_r8, 5.3222989816325643e-05_r8, & + 5.4731264527292088e-05_r8, 5.526538197019854e-05_r8, & + 6.1158013352891017e-05_r8, 5.9669070211053748e-05_r8, & + 5.8877104475622705e-05_r8, 5.8951098014830612e-05_r8, & + 5.9486646469251421e-05_r8, 6.0613455189592132e-05_r8, & + 6.2040633250254502e-05_r8, 6.3176460473820362e-05_r8, & + 6.4704426280377637e-05_r8, 6.6428338989817264e-05_r8, & + 6.9724090300337817e-05_r8, 7.2759633045016404e-05_r8, & + 7.6244994840235728e-05_r8, 7.9321121644588589e-05_r8, & + 8.2399072211604828e-05_r8, 8.8253668937088946e-05_r8, & + 9.1040983772820147e-05_r8, 9.3268459687799275e-05_r8, & + 9.4732308252754485e-05_r8, 9.5913696081713728e-05_r8, & + 9.7403714086419826e-05_r8, 0.00010027326770528961_r8, & + 0.00010006032366008936_r8, 9.9282146252692251e-05_r8, & + 9.8925326540464325e-05_r8, 9.9653336248162956e-05_r8, & + 9.9741422855681533e-05_r8, 0.00010016768305021928_r8, & + 9.9888752345095934e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,89) / & + 5.6291338411594639e-05_r8, 5.8276354762271171e-05_r8, & + 7.2708574482107849e-05_r8, 9.2905994566218152e-05_r8, & + 9.2961251687841216e-05_r8, 9.3804383027844385e-05_r8, & + 9.2380132247844572e-05_r8, 8.3127872569129492e-05_r8, & + 7.4261965148649707e-05_r8, 7.0390239426356042e-05_r8, & + 6.7562623725933831e-05_r8, 6.3834135383662979e-05_r8, & + 6.0923788903707239e-05_r8, 6.0999224339926833e-05_r8, & + 6.1954134739514532e-05_r8, 6.3341085107093318e-05_r8, & + 6.6483018467923622e-05_r8, 7.0706252677062416e-05_r8, & + 7.5481781602686765e-05_r8, 7.8979002272048872e-05_r8, & + 8.2688106911790705e-05_r8, 8.892894234127405e-05_r8, & + 9.1707683674148796e-05_r8, 9.4309729572624585e-05_r8, & + 9.5836134867959311e-05_r8, 9.7066113417385166e-05_r8, & + 9.8762749735352225e-05_r8, 0.00010165005317301508_r8, & + 0.00010206859903907751_r8, 0.00010229729390636626_r8, & + 0.00010274649101616135_r8, 0.00010308824718788619_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,89) / & + 7.7453930430380492e-05_r8, 8.3748960348516881e-05_r8, & + 9.202107131348011e-05_r8, 0.00012809191730039378_r8, & + 0.00012735097859413924_r8, 0.00012643395085816902_r8, & + 0.00011180181752181046_r8, 0.00010486735348943859_r8, & + 8.7463650668486524e-05_r8, 8.0986251352974662e-05_r8, & + 7.7712376343398411e-05_r8, 7.528966044516533e-05_r8, & + 7.3662174539893552e-05_r8, 7.3546394622256737e-05_r8, & + 7.3592384528219836e-05_r8, 7.3053755952014169e-05_r8, & + 7.3456205947116019e-05_r8, 7.6020951813913744e-05_r8, & + 7.7836215624250732e-05_r8, 8.0652092607784247e-05_r8, & + 8.3468111608553733e-05_r8, 8.4289354772290422e-05_r8, & + 8.7476938187031305e-05_r8, 9.2091495070116598e-05_r8, & + 9.5153637052958564e-05_r8, 9.8406903080700965e-05_r8, & + 0.00010212722541833118_r8, 0.00010840849913285817_r8, & + 0.00011039569483164001_r8, 0.0001130176271172984_r8, & + 0.00011433969269460342_r8, 0.00011613828391573274_r8, & + 0.00011738340881879411_r8, 0.00011806180822152837_r8, & + 0.000118910555632337_r8, 0.00011770607438813273_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,89) / & + 9.3889366247820844e-05_r8, 0.00010449939824016589_r8, & + 0.00010067140900080047_r8, 0.00013633527386205967_r8, & + 0.0001348475438676654_r8, 0.00013582550847985599_r8, & + 0.00011977795897932023_r8, 0.00010735804592305854_r8, & + 8.3014527088308968e-05_r8, 7.7211146747252564e-05_r8, & + 7.5970382149333478e-05_r8, 7.4794725547465101e-05_r8, & + 7.354987207247189e-05_r8, 7.5175060901814351e-05_r8, & + 7.3876310550576637e-05_r8, 7.4141575170107716e-05_r8, & + 7.171310112325484e-05_r8, 7.515081824585658e-05_r8, & + 7.7226597230520188e-05_r8, 8.0522384752401067e-05_r8, & + 8.3994952312258167e-05_r8, 8.4456961703257224e-05_r8, & + 8.8795138635641493e-05_r8, 9.3613111689998395e-05_r8, & + 9.6140662339062757e-05_r8, 9.9530610330261012e-05_r8, & + 0.00010305787008628858_r8, 0.00011161700310038888_r8, & + 0.00011402629311453587_r8, 0.00011630659823747529_r8, & + 0.00011682239084417326_r8, 0.00011850390895870323_r8, & + 0.00012000899516355422_r8, 0.00012061990764050452_r8, & + 0.00012158164297952395_r8, 0.00012102951757794418_r8, & + 0.00012116970375657665_r8, 0.00012121034253466247_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,89) / & + 9.0448519169831622e-05_r8, 0.00011205603333317147_r8, & + 0.00010909850556582108_r8, 0.00013335530515880652_r8, & + 0.00013550228923166519_r8, 0.00013904050450450338_r8, & + 0.00012072337133841103_r8, 9.1635368659524308e-05_r8, & + 7.008850977948521e-05_r8, 7.0164938301153031e-05_r8, & + 6.9642500844914798e-05_r8, 7.0056938916459102e-05_r8, & + 6.8669734633680957e-05_r8, 7.0515920900429872e-05_r8, & + 7.0833191560082796e-05_r8, 7.222519797695912e-05_r8, & + 7.1530242032469466e-05_r8, 7.3174144278377102e-05_r8, & + 7.5502190021821801e-05_r8, 7.8674556730327813e-05_r8, & + 8.2377853882812277e-05_r8, 8.5279224834652992e-05_r8, & + 8.9520064365902199e-05_r8, 9.4087105233034345e-05_r8, & + 9.8504579630978717e-05_r8, 0.0001026630605249548_r8, & + 0.00010800263648568573_r8, 0.00011785927961698874_r8, & + 0.00011867753741037159_r8, 0.00011896545643791407_r8, & + 0.00011953989969418735_r8, 0.00012043023161857066_r8, & + 0.00012132545165669076_r8, 0.00012169031144563206_r8, & + 0.00012217784222534045_r8, 0.000122502412196615_r8, & + 0.00012430620027974559_r8, 0.00012448071010950625_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,90) / & + 0.00015162450844518591_r8, 0.00015057653787929344_r8, & + 0.00013619604505121408_r8, 0.00013488671911162975_r8, & + 0.0001374090262571313_r8, 0.00014164858231144889_r8, & + 0.00014891123587116404_r8, 0.00015809013530575594_r8, & + 0.00016622380890513776_r8, 0.00017435963546620116_r8, & + 0.00018093968863703243_r8, 0.00019297439029766799_r8, & + 0.00020572290954644714_r8, 0.00021031631922012611_r8, & + 0.00021780806906745989_r8, 0.00022294396033190002_r8, & + 0.0002292617494862825_r8, 0.0002355222731955162_r8, & + 0.00023914629727586755_r8, 0.00024391579252507357_r8, & + 0.00024875676373107333_r8, 0.00025285155047483006_r8, & + 0.00025411972146990007_r8, 0.00025638427249112701_r8, & + 0.00025882739433424835_r8, 0.00026019277837243765_r8, & + 0.00026075571743396_r8, 0.00026163294549539447_r8, & + 0.00026274906846816782_r8, 0.00026386374893439495_r8, & + 0.00026355908645372462_r8, 0.00026285844891717132_r8, & + 0.00026217784299190962_r8, 0.00026244259018237551_r8, & + 0.0002628874799639791_r8, 0.00026383347793803051_r8, & + 0.0002647922678450934_r8, 0.00026449165541065115_r8, & + 0.00025827284449247268_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,90) / & + 0.00013364433186191751_r8, 0.00011908226784693377_r8, & + 0.00012025442267038809_r8, 0.00012989939127803468_r8, & + 0.00013785568399475533_r8, 0.00014610611822805651_r8, & + 0.00015914761857388268_r8, 0.00017229956783328817_r8, & + 0.0001855682618726259_r8, 0.00019715858991456672_r8, & + 0.0002039585111624995_r8, 0.00021080778094229312_r8, & + 0.00021781059067393015_r8, 0.00022274329995575397_r8, & + 0.00022849175689572838_r8, 0.00023259741252842014_r8, & + 0.00023777092437728494_r8, 0.0002424312577874329_r8, & + 0.0002466729034000314_r8, 0.00025090086831301386_r8, & + 0.00025495460843538557_r8, 0.00025740879239637615_r8, & + 0.00025752841605813465_r8, 0.00025879149603878369_r8, & + 0.0002613145395059466_r8, 0.00026185400078227366_r8, & + 0.0002618562207042687_r8, 0.00026209126557921264_r8, & + 0.00026334209652581264_r8, 0.00026415288154526357_r8, & + 0.0002633665108503167_r8, 0.00026259327193712715_r8, & + 0.00026219242927206105_r8, 0.00026253571435493999_r8, & + 0.00026299200996623441_r8, 0.00026360949097927779_r8, & + 0.00026386147029430193_r8, 0.00026264577981829337_r8, & + 0.00025779637468284293_r8, 0.00025282439030945491_r8, & + 0.00025089529135530544_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,90) / & + 9.3734878597615377e-05_r8, 7.6935035532393415e-05_r8, & + 0.00010554578462117373_r8, 0.00012210706860271898_r8, & + 0.00012718065646768299_r8, 0.00013864701846404175_r8, & + 0.00015564324220053712_r8, 0.00016733908112978501_r8, & + 0.00018353710206883781_r8, 0.00020329791525271467_r8, & + 0.00021297811139269599_r8, 0.00022268806242773282_r8, & + 0.00023316327424073558_r8, 0.0002393327750869573_r8, & + 0.00024420186801558149_r8, 0.00024777162472464423_r8, & + 0.00025222063610038845_r8, 0.00025521577102309719_r8, & + 0.00025730563939138786_r8, 0.0002590433107788229_r8, & + 0.0002609295807473503_r8, 0.00026170635434451749_r8, & + 0.00026261912279937068_r8, 0.00026323943710731168_r8, & + 0.00026413798824145992_r8, 0.00026445376957157693_r8, & + 0.00026450962069371524_r8, 0.00026438087502167208_r8, & + 0.00026484519438464915_r8, 0.00026453502000334738_r8, & + 0.0002635180810000191_r8, 0.00026280348831374023_r8, & + 0.0002622516956914925_r8, 0.00026199037534887105_r8, & + 0.00026166378189705782_r8, 0.00026039441373196183_r8, & + 0.00025811281555082795_r8, 0.00025495056300996432_r8, & + 0.00025325350454355114_r8, 0.00025195963072461734_r8, & + 0.00025057581282420427_r8, 0.00024972891636479666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,90) / & + 8.2174512767280652e-05_r8, 7.4438343568383468e-05_r8, & + 0.00010120719805190369_r8, 0.00010309658128579393_r8, & + 0.00010196229610291214_r8, 0.00011000199494856541_r8, & + 0.00012951261191707799_r8, 0.00014594239235171344_r8, & + 0.00015776781269636746_r8, 0.00016993523214832269_r8, & + 0.0001788568978747661_r8, 0.00018843296771467623_r8, & + 0.00020001578429044544_r8, 0.00020733872565909957_r8, & + 0.00021327298185961073_r8, 0.00021852990562176356_r8, & + 0.00022452391909934182_r8, 0.00023313734136171213_r8, & + 0.00023742046602429032_r8, 0.00023993704524439191_r8, & + 0.00024383431877348928_r8, 0.00024660997159714753_r8, & + 0.00024942214375872466_r8, 0.00025239740436874955_r8, & + 0.00025507927861118768_r8, 0.0002568444258164311_r8, & + 0.00025863514704864486_r8, 0.00026122964425307616_r8, & + 0.00026291072002806559_r8, 0.00026377657207436983_r8, & + 0.00026406181846270354_r8, 0.00026375987890742819_r8, & + 0.00026285195117870219_r8, 0.00026143081180085353_r8, & + 0.00026013090384029137_r8, 0.00025810222260735845_r8, & + 0.00025543394262370257_r8, 0.00025271913416062195_r8, & + 0.00025120309729144825_r8, 0.0002511464814460974_r8, & + 0.00025022014511324564_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,90) / & + 7.4801461458564033e-05_r8, 7.4433132261813613e-05_r8, & + 7.9074154880209375e-05_r8, 7.0604341282449231e-05_r8, & + 6.5129173205077701e-05_r8, 7.0083982219948658e-05_r8, & + 7.5059385457687606e-05_r8, 8.9800540529558017e-05_r8, & + 0.0001125126502652135_r8, 0.00012609089872073583_r8, & + 0.00013826512221248738_r8, 0.00014794097567422601_r8, & + 0.00015842480198146943_r8, 0.00016752167440186615_r8, & + 0.00017342905685001193_r8, 0.00017739673857637347_r8, & + 0.00018302580794405109_r8, 0.00019373260826450165_r8, & + 0.00019966001329891353_r8, 0.00020384509858256881_r8, & + 0.00020751611590622489_r8, 0.00021070286067263885_r8, & + 0.00021521946218714774_r8, 0.00021983032547582206_r8, & + 0.00022464188109193076_r8, 0.00022860879993979519_r8, & + 0.00023223447798132718_r8, 0.00024116020063191552_r8, & + 0.00024824282443097355_r8, 0.00025365046298551718_r8, & + 0.00025786821754889905_r8, 0.00025962747714958391_r8, & + 0.00026376091501480506_r8, 0.00026239631750905575_r8, & + 0.0002610258624220098_r8, 0.00025986909589921454_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,90) / & + 4.2139244968097766e-05_r8, 4.2363199198716388e-05_r8, & + 3.5964693518259405e-05_r8, 3.6018390756742067e-05_r8, & + 3.5333643333609355e-05_r8, 3.6240098909325783e-05_r8, & + 3.463428471729793e-05_r8, 3.578410423131042e-05_r8, & + 5.2850640233266153e-05_r8, 7.1202433480663745e-05_r8, & + 8.4754945760679185e-05_r8, 9.7318460855021292e-05_r8, & + 0.00011126204562263369_r8, 0.00012366841131770717_r8, & + 0.00013014832768380727_r8, 0.00013700364645642156_r8, & + 0.00014692210508286934_r8, 0.00015485978825311992_r8, & + 0.00015987571330316805_r8, 0.00016485670002303727_r8, & + 0.00016704548643566312_r8, 0.00017083939272268244_r8, & + 0.00017061655183280136_r8, 0.00017341667908210811_r8, & + 0.00017604092399961169_r8, 0.00017903360066565623_r8, & + 0.00018153461436820091_r8, 0.00019217989184542851_r8, & + 0.0001983282229251314_r8, 0.00020820931626998072_r8, & + 0.00021700826435793835_r8, 0.00022311274155865143_r8, & + 0.00022556054797048437_r8, 0.0002309612202213866_r8, & + 0.00023487068586399419_r8, 0.00023821718661638777_r8, & + 0.00024044045405932835_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,90) / & + 1.3735906731256833e-05_r8, 1.3674134423437845e-05_r8, & + 9.4462439251017095e-06_r8, 1.262119161208e-05_r8, & + 1.2983260865822397e-05_r8, 1.3186853248925969e-05_r8, & + 1.3009852899697649e-05_r8, 1.363214627682621e-05_r8, & + 1.694166284005342e-05_r8, 2.2098874904230899e-05_r8, & + 2.7759801609481582e-05_r8, 3.3201519424145171e-05_r8, & + 4.0540976893453312e-05_r8, 4.9595304789822574e-05_r8, & + 5.5274411731672363e-05_r8, 6.2209144100016804e-05_r8, & + 7.6400003305349701e-05_r8, 8.8825888704689189e-05_r8, & + 9.9731029205574236e-05_r8, 0.00011273617918947166_r8, & + 0.00012207893603736821_r8, 0.00013088829622154625_r8, & + 0.00013664946651078231_r8, 0.0001416845009017535_r8, & + 0.00014537537487289073_r8, 0.0001476129509049029_r8, & + 0.00014877794664934979_r8, 0.00015093985102696285_r8, & + 0.00015427824187968348_r8, 0.00016246802196583652_r8, & + 0.00017349559990738686_r8, 0.0001852483664004244_r8, & + 0.00019850543746234426_r8, 0.00021068605841097866_r8, & + 0.00021912492296740819_r8, 0.00022591900650692812_r8, & + 0.000230770057230094_r8, 0.00023804551962695997_r8, & + 0.00023619309607615562_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,12,90) / & + 4.6540182934453208e-06_r8, 4.3235277919829799e-06_r8, & + 3.0881875895547283e-06_r8, 3.8777955103219915e-06_r8, & + 4.0957717451522763e-06_r8, 4.112957094958017e-06_r8, & + 5.171220395505362e-06_r8, 5.0703199196531026e-06_r8, & + 6.1957860481203382e-06_r8, 7.3372824690910491e-06_r8, & + 8.534509547598202e-06_r8, 9.873596568110714e-06_r8, & + 1.2957606988284645e-05_r8, 1.6747918113372424e-05_r8, & + 1.9860210959926943e-05_r8, 2.3717820581168323e-05_r8, & + 3.3019270270941285e-05_r8, 4.1154959621353415e-05_r8, & + 5.288959225288618e-05_r8, 6.768575496304988e-05_r8, & + 8.123820855628823e-05_r8, 9.5219329209782493e-05_r8, & + 0.00010716792037960896_r8, 0.00011811895115631283_r8, & + 0.0001270244088382332_r8, 0.00013336164963389412_r8, & + 0.00013788133696299057_r8, 0.00014038407771421689_r8, & + 0.00013768677443826041_r8, 0.00013802518137041671_r8, & + 0.00014091695016457662_r8, 0.00014532715767989526_r8, & + 0.00015509998634908093_r8, 0.00017186536963415471_r8, & + 0.00018744947548600377_r8, 0.00020513399263985126_r8, & + 0.00021863012753498768_r8, 0.00022039945749701841_r8, & + 0.00022683344065302949_r8, 0.00022781220737107927_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,90) / & + 3.3773143614768869e-06_r8, 3.0931901386949684e-06_r8, & + 1.6314593843833953e-06_r8, 3.0697402327444906e-06_r8, & + 3.222397587059206e-06_r8, 3.3300956725183448e-06_r8, & + 4.6989218261847322e-06_r8, 4.5293668493214191e-06_r8, & + 4.7912700652040463e-06_r8, 5.3139859848523653e-06_r8, & + 5.7712441799028865e-06_r8, 6.4125006180194745e-06_r8, & + 7.7383783032775685e-06_r8, 9.658763129853512e-06_r8, & + 1.1940102908242463e-05_r8, 1.5014972455942273e-05_r8, & + 2.2753768317418056e-05_r8, 2.9705632721125474e-05_r8, & + 3.8564859287187614e-05_r8, 5.1126616612479031e-05_r8, & + 6.3344912742704018e-05_r8, 7.7218554575891196e-05_r8, & + 9.1278468671880089e-05_r8, 0.00010515595948969818_r8, & + 0.00011593216473025187_r8, 0.00012403006952841212_r8, & + 0.00013017379868017658_r8, 0.00013281131692343523_r8, & + 0.00012912280776025849_r8, 0.00012551278628749869_r8, & + 0.00012444427314731816_r8, 0.00012576573726120086_r8, & + 0.00012872350167913581_r8, 0.00013995182402727624_r8, & + 0.00015621943153745367_r8, 0.00018138345118749076_r8, & + 0.00020399091015969051_r8, 0.00021564747457415769_r8, & + 0.00022432644229737834_r8, 0.00022633456901331142_r8, & + 0.00022735664454385479_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,90) / & + 3.5299272112039655e-06_r8, 3.4490964093140596e-06_r8, & + 2.5089934640680325e-06_r8, 3.3588834364052919e-06_r8, & + 3.395430409413905e-06_r8, 3.6046471151612375e-06_r8, & + 4.0175737508791543e-06_r8, 4.3634091690564905e-06_r8, & + 4.6123948011714032e-06_r8, 4.8978270419658277e-06_r8, & + 5.2399190376224887e-06_r8, 5.9939316118488184e-06_r8, & + 7.2194677896568614e-06_r8, 8.4117240499399869e-06_r8, & + 9.9916923499060251e-06_r8, 1.1860765323507999e-05_r8, & + 1.8507127114966781e-05_r8, 2.7574091492405873e-05_r8, & + 3.6040965189311017e-05_r8, 4.6585486431242693e-05_r8, & + 5.7532839071508499e-05_r8, 7.0565886409991021e-05_r8, & + 8.6131003415838947e-05_r8, 0.00010217064755422486_r8, & + 0.00011430610117175786_r8, 0.00012159355244315039_r8, & + 0.00012589843277117913_r8, 0.000126329345140751_r8, & + 0.00012243877653321902_r8, 0.00011906128166542925_r8, & + 0.00011657979870194797_r8, 0.00011565605384192718_r8, & + 0.00011631767180340185_r8, 0.0001198542238074135_r8, & + 0.00012826511060230929_r8, 0.00015011630291541912_r8, & + 0.00017180237096487989_r8, 0.00020170133867502299_r8, & + 0.00022402459799609334_r8, 0.00022520873674356984_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,90) / & + 3.4864265315236014e-06_r8, 3.5230842469881004e-06_r8, & + 3.4021634328099081e-06_r8, 3.227091438645216e-06_r8, & + 3.3142647565519172e-06_r8, 3.7555169232737208e-06_r8, & + 3.7697688329968192e-06_r8, 4.1868554793617928e-06_r8, & + 4.7107094588208688e-06_r8, 5.3106161052445925e-06_r8, & + 5.8755003131922304e-06_r8, 6.4708524737917522e-06_r8, & + 7.6373996358739165e-06_r8, 9.0974906914293728e-06_r8, & + 1.1102452261234618e-05_r8, 1.3416645705137848e-05_r8, & + 2.0671882873743503e-05_r8, 3.0509542849616758e-05_r8, & + 4.1641077001161364e-05_r8, 5.4784275700400771e-05_r8, & + 6.9556034808398496e-05_r8, 8.515339031497739e-05_r8, & + 9.8775181979744793e-05_r8, 0.00010999915816918696_r8, & + 0.0001157865754295013_r8, 0.00011812287159254773_r8, & + 0.00011789433093627748_r8, 0.00011459716225061037_r8, & + 0.00011302441725014145_r8, 0.00011272337341799605_r8, & + 0.00011128874557938311_r8, 0.00011027015411751623_r8, & + 0.00011026302437663265_r8, 0.00011136201215389805_r8, & + 0.00011359239502630219_r8, 0.00011842182364116925_r8, & + 0.00012389987544805965_r8, 0.0001248771272339328_r8, & + 0.00014310130424789261_r8, 0.00016713526929091767_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,90) / & + 3.070578832301646e-06_r8, 3.1929028687120402e-06_r8, & + 3.3089863459950353e-06_r8, 3.3289175374682025e-06_r8, & + 3.4235429017134338e-06_r8, 4.3123720043642971e-06_r8, & + 3.9806405745351915e-06_r8, 4.1618947931348883e-06_r8, & + 5.6982735182143281e-06_r8, 6.9747627062073034e-06_r8, & + 8.1285721194895374e-06_r8, 8.9867852378839913e-06_r8, & + 1.0107914484717008e-05_r8, 1.2474503557349233e-05_r8, & + 1.5262296103007392e-05_r8, 1.9638373690376197e-05_r8, & + 3.1598760519598176e-05_r8, 4.4638039387124918e-05_r8, & + 5.9044692495674342e-05_r8, 7.6693869951541678e-05_r8, & + 9.3222284080113758e-05_r8, 0.00010564865132604708_r8, & + 0.00011280339283154168_r8, 0.00011528059149717613_r8, & + 0.00011407803171317175_r8, 0.00011161460865550328_r8, & + 0.00010835772762435812_r8, 0.00010507121309383213_r8, & + 0.00010833745006954297_r8, 0.00011362909699841239_r8, & + 0.00011680297046036112_r8, 0.00011906466253807761_r8, & + 0.00012157609786525372_r8, 0.00012355080450853547_r8, & + 0.00012549690400522854_r8, 0.0001267821471870916_r8, & + 0.00012783130576838079_r8, 0.0001287527326342874_r8, & + 0.00013215840529694605_r8, 0.00013423427597646892_r8, & + 0.00013343264487636285_r8, 0.00013118255936152596_r8, & + 0.00013413933749241596_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,90) / & + 1.9443352264037279e-06_r8, 2.0690141811798057e-06_r8, & + 2.3200213641814427e-06_r8, 2.7821078811592228e-06_r8, & + 2.8858435745503807e-06_r8, 4.3089014455170581e-06_r8, & + 3.4618522278177454e-06_r8, 3.7615006136991849e-06_r8, & + 5.8085895019569072e-06_r8, 7.8535694682219703e-06_r8, & + 9.3416202950106117e-06_r8, 1.1229844738519278e-05_r8, & + 1.397639828736936e-05_r8, 1.8245483972945615e-05_r8, & + 2.3631160605407321e-05_r8, 3.1212145228934969e-05_r8, & + 4.7337334322803936e-05_r8, 6.453604758486192e-05_r8, & + 8.095229423974919e-05_r8, 9.6175687997079507e-05_r8, & + 0.0001065298870912726_r8, 0.00011175323869370758_r8, & + 0.00011282910389613079_r8, 0.00011019480073241204_r8, & + 0.00010587145134267529_r8, 0.00010156123302312898_r8, & + 9.7344323068811512e-05_r8, 9.4019724356387381e-05_r8, & + 9.7636093036932486e-05_r8, 0.00010664951990893996_r8, & + 0.00011586978261546585_r8, 0.00012367873325315573_r8, & + 0.00013043762762255813_r8, 0.00013480486965387577_r8, & + 0.0001380776796293347_r8, 0.00014012983819668281_r8, & + 0.00014123617159951768_r8, 0.00014188911095928581_r8, & + 0.00014281588295976191_r8, 0.00014470752678996868_r8, & + 0.00014595824768762081_r8, 0.00014566518247252649_r8, & + 0.00014995186528218003_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,90) / & + 1.7647506068675934e-06_r8, 1.8284056266362977e-06_r8, & + 1.939551153184005e-06_r8, 2.4820572020373629e-06_r8, & + 2.6123740424302269e-06_r8, 4.4293101480266782e-06_r8, & + 4.0806135998804952e-06_r8, 5.510508584062316e-06_r8, & + 8.4287903985975866e-06_r8, 1.1919024589243194e-05_r8, & + 1.4843322414092059e-05_r8, 1.8441442890085929e-05_r8, & + 2.4300641345708452e-05_r8, 3.2389869317909295e-05_r8, & + 4.0127266149803541e-05_r8, 4.8711344217487909e-05_r8, & + 6.4909071636165937e-05_r8, 8.1842356808753096e-05_r8, & + 9.6807694304678566e-05_r8, 0.00010835207799636518_r8, & + 0.00011503431611143188_r8, 0.00011800493536383626_r8, & + 0.00011676465330249916_r8, 0.00011173932077019499_r8, & + 0.00010509330722733224_r8, 9.9164745191345806e-05_r8, & + 9.5102301243528723e-05_r8, 9.322026057815113e-05_r8, & + 9.8140260602297153e-05_r8, 0.00010745905982007979_r8, & + 0.00011893748014693435_r8, 0.00013043576512942933_r8, & + 0.00014019408496289266_r8, 0.00014696275537332186_r8, & + 0.00015120352323900552_r8, 0.00015341895143736864_r8, & + 0.00015486130933266604_r8, 0.00015649298812865298_r8, & + 0.00015741677572419745_r8, 0.00015806216004921704_r8, & + 0.00015835833557375497_r8, 0.00015910446437161785_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,19,90) / & + 2.9099314143164813e-06_r8, 2.9473238880595604e-06_r8, & + 2.8655354189508278e-06_r8, 3.8540168191767631e-06_r8, & + 4.1512965241957172e-06_r8, 5.4442413217177408e-06_r8, & + 6.7391375529669536e-06_r8, 1.1292375884518743e-05_r8, & + 1.6820069231947149e-05_r8, 2.2733904107899506e-05_r8, & + 2.7286672376254069e-05_r8, 3.2352496598975508e-05_r8, & + 3.9810484735116541e-05_r8, 4.7796703593619979e-05_r8, & + 5.4039529389673627e-05_r8, 6.1172555457724158e-05_r8, & + 7.3463831639131432e-05_r8, 8.7544674499496377e-05_r8, & + 0.00010105127772784749_r8, 0.00011186584050669052_r8, & + 0.00011903278368125167_r8, 0.00012168232032669798_r8, & + 0.00011992881862738191_r8, 0.00011495940555682012_r8, & + 0.00010799485560402308_r8, 0.00010173797780499492_r8, & + 9.7623763827769694e-05_r8, 9.6029922826328196e-05_r8, & + 0.00010324795706283542_r8, 0.00011340532423345939_r8, & + 0.00012570145366486767_r8, 0.00013829730229311389_r8, & + 0.00014881592035804811_r8, 0.00015676812552350489_r8, & + 0.00016168114310187941_r8, 0.00016428692843559561_r8, & + 0.00016632445085039437_r8, 0.00016761215935124596_r8, & + 0.00016817085939419587_r8, 0.00016924747871850822_r8, & + 0.00017184156538370993_r8, 0.00017123626711616356_r8, & + 0.00017033961156296429_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,20,90) / & + 3.8190882757420071e-06_r8, 4.4037188710288053e-06_r8, & + 4.413924043816291e-06_r8, 6.6634464776076296e-06_r8, & + 7.3460974476858998e-06_r8, 8.5488941022154068e-06_r8, & + 8.4640230610617075e-06_r8, 1.802036949168412e-05_r8, & + 2.4996869466739203e-05_r8, 3.0832796786398185e-05_r8, & + 3.5136032768292247e-05_r8, 3.9406246195050784e-05_r8, & + 4.5321063670760147e-05_r8, 5.1843728535080203e-05_r8, & + 5.700835732082368e-05_r8, 6.3383268637934e-05_r8, 7.629147869625846e-05_r8, & + 9.0623913529173738e-05_r8, 0.00010433844940994382_r8, & + 0.00011571288131016048_r8, 0.00012205981299115945_r8, & + 0.00012255260577770358_r8, 0.00011876833662805163_r8, & + 0.00011205968830049544_r8, 0.00010411515864615124_r8, & + 9.8092281381699986e-05_r8, 9.5501771067179594e-05_r8, & + 9.526111344420704e-05_r8, 0.00010329262719720948_r8, & + 0.00011653773962917987_r8, 0.0001307808704966054_r8, & + 0.00014408399459043387_r8, 0.00015501458967358072_r8, & + 0.00016393567400344546_r8, 0.00017054203989031759_r8, & + 0.00017472520774404856_r8, 0.00017744769676955463_r8, & + 0.00017890166163609352_r8, 0.0001804805225714515_r8, & + 0.00018216353448865678_r8, 0.00018433888571876909_r8, & + 0.00018433551777020818_r8, 0.00018450906861872514_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,90) / & + 5.2430427387110217e-06_r8, 6.5204067435909773e-06_r8, & + 6.7235737048428331e-06_r8, 9.1944921125474594e-06_r8, & + 1.1051289297534445e-05_r8, 1.313379757579093e-05_r8, & + 1.4665613830055101e-05_r8, 2.5284979677295075e-05_r8, & + 3.1258150534631531e-05_r8, 3.5165532689836739e-05_r8, & + 3.8052141819753953e-05_r8, 4.1437023355698543e-05_r8, & + 4.7009051777411856e-05_r8, 5.3698607535988876e-05_r8, & + 6.0681372472830957e-05_r8, 6.8288745057143728e-05_r8, & + 8.4187717536270267e-05_r8, 9.8974315637542272e-05_r8, & + 0.00011406103552490733_r8, 0.00012499907955205482_r8, & + 0.00013036436899848628_r8, 0.00012941069597399317_r8, & + 0.00012239053566310778_r8, 0.00011289361744969737_r8, & + 0.00010242064431545141_r8, 9.4439524577095922e-05_r8, & + 9.1406532950510531e-05_r8, 9.2122565070295754e-05_r8, & + 0.00010308196977628338_r8, 0.00012032925001570084_r8, & + 0.00013792236956665973_r8, 0.0001528935586628982_r8, & + 0.00016533492953549339_r8, 0.00017403339947940746_r8, & + 0.00018067816819018515_r8, 0.00018586168832970793_r8, & + 0.0001900353410817385_r8, 0.00019364223085577886_r8, & + 0.0001984733952741245_r8, 0.0001987879486940537_r8, & + 0.00019925935408820531_r8, 0.00019670489700754736_r8, & + 0.00019796147263869784_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,22,90) / & + 1.0421416277517223e-05_r8, 9.8023648471975065e-06_r8, & + 8.5151090405393192e-06_r8, 9.8231608771492596e-06_r8, & + 1.3328084630184239e-05_r8, 1.6428695051096596e-05_r8, & + 2.0752204265214173e-05_r8, 2.7830710567949908e-05_r8, & + 3.0683994464944377e-05_r8, 3.3530902535353872e-05_r8, & + 3.5882578991981448e-05_r8, 3.8611399807302845e-05_r8, & + 4.6313941819315945e-05_r8, 5.6630152562760031e-05_r8, & + 6.5152895378277654e-05_r8, 7.3377238557781682e-05_r8, & + 9.0506997630123061e-05_r8, 0.00010531450269646754_r8, & + 0.00012041579661136621_r8, 0.00013081911351971084_r8, & + 0.00013489878470696721_r8, 0.00013288445529247071_r8, & + 0.00012300121527422919_r8, 0.00011139458754556137_r8, & + 9.9930923477214268e-05_r8, 9.0124485258315877e-05_r8, & + 8.4103056457432158e-05_r8, 8.4246117889181957e-05_r8, & + 9.8042125981019407e-05_r8, 0.00011989971117840779_r8, & + 0.0001402179590015331_r8, 0.00015811842827382285_r8, & + 0.00017111500752357636_r8, 0.00017975099223781221_r8, & + 0.00018649687139352317_r8, 0.00019252459632684564_r8, & + 0.00019928727413394987_r8, 0.0002081035900671141_r8, & + 0.00021743035079877418_r8, 0.00022633613503075938_r8, & + 0.00023313550556376767_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,90) / & + 3.7291343841032407e-05_r8, 2.8904159166427637e-05_r8, & + 2.1089579041233467e-05_r8, 1.2109344101210542e-05_r8, & + 1.4485537310465041e-05_r8, 2.1904625696283897e-05_r8, & + 2.4131630484887202e-05_r8, 3.3624991934946151e-05_r8, & + 3.585715430026738e-05_r8, 3.8745170799285166e-05_r8, & + 4.0938730238764151e-05_r8, 4.2479799887918452e-05_r8, & + 5.2068519468891585e-05_r8, 6.3489046342906524e-05_r8, & + 7.1776783345010615e-05_r8, 8.08703249386604e-05_r8, & + 9.7550805262656658e-05_r8, 0.00011228085430014593_r8, & + 0.00012763990971633094_r8, 0.00013854002429797082_r8, & + 0.00014118673011859583_r8, 0.00013839828997453196_r8, & + 0.00012931500444998055_r8, 0.00011886968260579413_r8, & + 0.00010749482931872995_r8, 9.802759827889038e-05_r8, & + 9.2023315179914417e-05_r8, 9.1900597471316302e-05_r8, & + 0.00010414233988692417_r8, 0.00012596445199567096_r8, & + 0.00014687806639457021_r8, 0.00016625417614223791_r8, & + 0.00017867781687168574_r8, 0.00018909123034548025_r8, & + 0.0001976587173753615_r8, 0.00020617248750937737_r8, & + 0.00021526457653414215_r8, 0.00022591110334906398_r8, & + 0.00023717741618349816_r8, 0.00024768280197043975_r8, & + 0.00025261700837859259_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,90) / & + 6.0202131223959464e-05_r8, 4.6326044909637407e-05_r8, & + 3.3730497709813336e-05_r8, 1.6518979341911054e-05_r8, & + 1.8310277960232951e-05_r8, 3.0421764027320342e-05_r8, & + 2.5500263995659842e-05_r8, 4.0553584425879906e-05_r8, & + 4.2778984298248779e-05_r8, 4.6158541071114692e-05_r8, & + 4.8452072077190776e-05_r8, 4.9709356501266409e-05_r8, & + 5.9646727321033286e-05_r8, 6.785570981939393e-05_r8, & + 7.7294697991340489e-05_r8, 8.7303426036742507e-05_r8, & + 0.00010455626426356067_r8, 0.00011992687095554834_r8, & + 0.00013554234841821301_r8, 0.00014705449666206453_r8, & + 0.00014888931907754455_r8, 0.00014613572326240809_r8, & + 0.00013805689415704469_r8, 0.00012867676807924136_r8, & + 0.00011722124644071696_r8, 0.00010771297195730166_r8, & + 0.0001025791344239342_r8, 0.00010347680845171052_r8, & + 0.00011476201518562053_r8, 0.00013631244408579261_r8, & + 0.00015799747826348895_r8, 0.00017789714604347131_r8, & + 0.00019021170428691237_r8, 0.00020159762395255006_r8, & + 0.00021150141422641451_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,25,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,90) / & + 0.00016477351603136502_r8, 0.0001801363148144517_r8, & + 3.5338530939691504e-05_r8, 1.1689557486953098e-05_r8, & + 1.433204400031876e-05_r8, 1.7010882971156462e-05_r8, & + 2.3769125257254942e-05_r8, 2.5534588335431422e-05_r8, & + 2.8280726146535405e-05_r8, 4.4495297997753718e-05_r8, & + 5.1669904800475262e-05_r8, 4.0738132606354623e-05_r8, & + 3.867483158794298e-05_r8, 4.2387439254201818e-05_r8, & + 4.5560491524469459e-05_r8, 4.8637844406502872e-05_r8, & + 5.0702318388127119e-05_r8, 5.3060805215355165e-05_r8, & + 5.4842275204478287e-05_r8, 5.5836255858492805e-05_r8, & + 5.5724803024996525e-05_r8, 5.5333109833010552e-05_r8, & + 4.7489119287389007e-05_r8, 5.2165221711887408e-05_r8, & + 4.2202474601381558e-05_r8, 3.4234844079869183e-05_r8, & + 3.4386945274995207e-05_r8, 3.6518553878292974e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,90) / & + 0.00017247819204625878_r8, 0.000187641990740676_r8, & + 3.8181993286049222e-05_r8, 1.2158197535916494e-05_r8, & + 1.4899578343803106e-05_r8, 1.7641307815934904e-05_r8, & + 2.4624899215572222e-05_r8, 2.6459533960391431e-05_r8, & + 2.9495635208862768e-05_r8, 4.6899220144597707e-05_r8, & + 5.4502694680442362e-05_r8, 4.2099074432040675e-05_r8, & + 3.9464103171977465e-05_r8, 4.2811306420448613e-05_r8, & + 4.6012337965282631e-05_r8, 4.907248115206198e-05_r8, & + 5.1945949951726871e-05_r8, 5.5438429535726195e-05_r8, & + 5.7209759501457345e-05_r8, 5.8002868878211646e-05_r8, & + 5.6649499518599592e-05_r8, 5.6293856639044393e-05_r8, & + 4.9441930214643807e-05_r8, 5.4386998254167686e-05_r8, & + 4.3999926332985365e-05_r8, 3.5692945301510181e-05_r8, & + 3.585152466075195e-05_r8, 3.8073920915989293e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,90) / & + 4.1508999537788685e-06_r8, 5.3721645285483785e-06_r8, & + 6.0259520800614347e-06_r8, 7.9504840723662894e-06_r8, & + 9.5649107974049052e-06_r8, 1.1770423258222261e-05_r8, & + 1.6164033733692749e-05_r8, 2.0073805571065345e-05_r8, & + 2.1759857440342269e-05_r8, 2.3638607702063984e-05_r8, & + 2.4957684568838294e-05_r8, 2.6935004411339511e-05_r8, & + 2.8436048829704433e-05_r8, 3.0474887857702963e-05_r8, & + 3.2900562774363515e-05_r8, 3.4614124074551337e-05_r8, & + 3.941343593448996e-05_r8, 4.5718155083920537e-05_r8, & + 5.179541568978783e-05_r8, 5.7225536586317224e-05_r8, & + 6.171222775721838e-05_r8, 6.7511480388911726e-05_r8, & + 7.1226134343156878e-05_r8, 7.4557808849096518e-05_r8, & + 7.886658246462414e-05_r8, 8.3466442005051785e-05_r8, & + 8.6940113575459697e-05_r8, 9.8267934172890803e-05_r8, & + 0.00011908333243655063_r8, 0.00015116684772871217_r8, & + 0.00018717059367806833_r8, 0.00021676778353799448_r8, & + 0.00024299317566474173_r8, 0.00026337483925358501_r8, & + 0.00028130187032708592_r8, 0.0002938326899808073_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,90) / & + 4.904895314160921e-06_r8, 6.0900274566219176e-06_r8, & + 7.0502636413919897e-06_r8, 9.1235524849178434e-06_r8, & + 1.0722604806101206e-05_r8, 1.2737155371315301e-05_r8, & + 1.7252779511417952e-05_r8, 2.0841809427307246e-05_r8, & + 2.2759869623002772e-05_r8, 2.4728715084754351e-05_r8, & + 2.6107695046836623e-05_r8, 2.7568873735863291e-05_r8, & + 2.9606048453798388e-05_r8, 3.1683461013920996e-05_r8, & + 3.3831937042968496e-05_r8, 3.556397283976221e-05_r8, & + 4.1296083796175916e-05_r8, 4.811179023463731e-05_r8, & + 5.5008431256617608e-05_r8, 6.0965939343270678e-05_r8, & + 6.5363143102063745e-05_r8, 7.1001858119039632e-05_r8, & + 7.472673641920768e-05_r8, 7.814472644168418e-05_r8, & + 8.2491043284802737e-05_r8, 8.6803267303082313e-05_r8, & + 9.0284204946178861e-05_r8, 0.0001007601367838743_r8, & + 0.00012236400515744332_r8, 0.00015501827003452036_r8, & + 0.00018982025773936191_r8, 0.00022015574588955128_r8, & + 0.00024816453435288864_r8, 0.00027012389215646664_r8, & + 0.00029008052031502112_r8, 0.00030481108854451996_r8, & + 0.00031602518526937769_r8, 0.00032283590805700724_r8, & + 0.00032790236250216184_r8, 0.00032690342252215769_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,90) / & + 1.1971989186239611e-05_r8, 1.2458414736586359e-05_r8, & + 1.309510393426827e-05_r8, 1.3271306925629671e-05_r8, & + 1.520554898984007e-05_r8, 1.4850041251738071e-05_r8, & + 1.9405562371928178e-05_r8, 2.2981061406764841e-05_r8, & + 2.4577021590619275e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,90) / & + 1.5083850620128724e-05_r8, 1.5193035078300167e-05_r8, & + 1.3904077678043296e-05_r8, 2.575036450018097e-05_r8, & + 2.4280143453796728e-05_r8, 2.1769882751536607e-05_r8, & + 2.6623726186339579e-05_r8, 3.7226145387599528e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,37,90) / & + 1.8392364481245569e-05_r8, 1.8585852876108407e-05_r8, & + 1.9679026750015772e-05_r8, 2.3530231176541153e-05_r8, & + 2.7212453329822767e-05_r8, 3.1176766764293762e-05_r8, & + 4.0077071035359943e-05_r8, 4.2903212136380408e-05_r8, & + 4.5654448531871143e-05_r8, 4.7357695174886502e-05_r8, & + 4.9148079967549792e-05_r8, 4.9904249183276127e-05_r8, & + 5.1379156516920746e-05_r8, 5.2565037330668303e-05_r8, & + 5.40122439332941e-05_r8, 5.497211978805466e-05_r8, & + 5.7572822491597478e-05_r8, 6.1221837518626678e-05_r8, & + 6.8372962665355609e-05_r8, 7.2704107261151377e-05_r8, & + 7.5660071109698171e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,38,90) / & + 2.0796797324097068e-05_r8, 2.1851916127375324e-05_r8, & + 2.4187784576034739e-05_r8, 3.5554970756524481e-05_r8, & + 3.9605691354743268e-05_r8, 4.2801734160313623e-05_r8, & + 4.8703952738355539e-05_r8, 4.989445443763663e-05_r8, & + 5.1239739684701018e-05_r8, 5.1657546174193827e-05_r8, & + 5.271583916799006e-05_r8, 5.3354960127613723e-05_r8, & + 5.5327361718114026e-05_r8, 5.6102578365378694e-05_r8, & + 5.7201357191931011e-05_r8, 5.8285353766658175e-05_r8, & + 6.2214763253516986e-05_r8, 6.6908548757298449e-05_r8, & + 7.3886177974334194e-05_r8, 8.0232729582244852e-05_r8, & + 8.416904001592265e-05_r8, 8.8158381413946357e-05_r8, & + 9.1176910585218524e-05_r8, 9.3595283731519807e-05_r8, & + 9.6517742902999424e-05_r8, 9.9933006058967815e-05_r8, & + 0.00010350299781241516_r8, 0.00010671303933359098_r8, & + 0.0001102113771402107_r8, 0.00010773984612307264_r8, & + 0.00010818503640751444_r8, 0.00010817810322348588_r8, & + 0.00010501662673814296_r8, 0.0001070748187210561_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,39,90) / & + 2.6067129259911849e-05_r8, 2.7279640151361987e-05_r8, & + 2.8594700874378002e-05_r8, 4.3636795585113462e-05_r8, & + 4.7652109065672865e-05_r8, 5.0524361429928534e-05_r8, & + 5.4679134717315268e-05_r8, 5.4149104506248239e-05_r8, & + 5.4136754365830901e-05_r8, 5.3653145061402549e-05_r8, & + 5.4155351128205409e-05_r8, 5.4997321906400918e-05_r8, & + 5.6943325009397399e-05_r8, 5.7962805781532378e-05_r8, & + 5.9132253405879284e-05_r8, 6.0756749439652256e-05_r8, & + 6.4799129770284227e-05_r8, 6.9212465796785231e-05_r8, & + 7.3578837267709312e-05_r8, 7.8680970080098673e-05_r8, & + 8.2523163786924272e-05_r8, 8.6907606180600873e-05_r8, & + 9.0293089666375722e-05_r8, 9.3783787508730718e-05_r8, & + 9.6749489076272297e-05_r8, 0.00010023022129145141_r8, & + 0.00010364761225559237_r8, 0.00010733999673621342_r8, & + 0.00011170104968873432_r8, 0.00011162593580985611_r8, & + 0.00011235363918504508_r8, 0.00011302133396468596_r8, & + 0.00011199762900458508_r8, 0.00011287945516490247_r8, & + 9.8645545365468024e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,90) / & + 3.5642190745249472e-05_r8, 3.6126983243634555e-05_r8, & + 3.6538797578554052e-05_r8, 4.1939032631579702e-05_r8, & + 4.4444953627217974e-05_r8, 4.7307414866170226e-05_r8, & + 5.3310211309692803e-05_r8, 5.3537919161937243e-05_r8, & + 5.3980669101218538e-05_r8, 5.4489434392516952e-05_r8, & + 5.5013346974688391e-05_r8, 5.5839746536019423e-05_r8, & + 5.7434133585362613e-05_r8, 5.8240024879951829e-05_r8, & + 5.9278421996242187e-05_r8, 6.0340665049606594e-05_r8, & + 6.3399357748844946e-05_r8, 6.7339261213718462e-05_r8, & + 7.0914364519523485e-05_r8, 7.5601093553929709e-05_r8, & + 7.9603835245525931e-05_r8, 8.4694520808394755e-05_r8, & + 8.7492338772429104e-05_r8, 9.0801169743057108e-05_r8, & + 9.3484837107896606e-05_r8, 9.6088783758445181e-05_r8, & + 9.896902112612443e-05_r8, 0.00010338655636170969_r8, & + 0.00010692405003571824_r8, 0.000109556302454469_r8, & + 0.00011251733205653378_r8, 0.00011450007255362872_r8, & + 0.00011775395576241131_r8, 0.00011837782237851774_r8, & + 9.92459273558266e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,90) / & + 4.6342103390337237e-05_r8, 4.6781262638602366e-05_r8, & + 4.7229129382051132e-05_r8, 5.0103170896921775e-05_r8, & + 5.1594253029161982e-05_r8, 5.2355958679581537e-05_r8, & + 5.8115545318327239e-05_r8, 5.825108572730789e-05_r8, & + 5.8855244135569262e-05_r8, 5.9664800218744333e-05_r8, & + 6.0381135654746242e-05_r8, 6.1599049357568641e-05_r8, & + 6.3445736814100076e-05_r8, 6.4910516238485228e-05_r8, & + 6.6339586238616885e-05_r8, 6.8016586098358655e-05_r8, & + 7.167325203313338e-05_r8, 7.4450202630239906e-05_r8, & + 7.7689933897580465e-05_r8, 8.0548882289627698e-05_r8, & + 8.3962662752874506e-05_r8, 8.8595109249016966e-05_r8, & + 9.0918638249055779e-05_r8, 9.3063645934397617e-05_r8, & + 9.4655301095707877e-05_r8, 9.5992048125043933e-05_r8, & + 9.7463401009039802e-05_r8, 0.00010005891917985217_r8, & + 0.00010057826545962384_r8, 0.00010023694302899324_r8, & + 0.00010002300637152984_r8, 0.00010023116061619411_r8, & + 0.00010020042532405669_r8, 0.00010038211368488986_r8, & + 0.00010027134752340768_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,90) / & + 5.5620091849958662e-05_r8, 5.7372940075157176e-05_r8, & + 6.3009355977458779e-05_r8, 7.7441656070519397e-05_r8, & + 7.7199936437447609e-05_r8, 7.7249969254615213e-05_r8, & + 7.8283118026646015e-05_r8, 7.0322691327009387e-05_r8, & + 6.5372105875414796e-05_r8, 6.3544178692286716e-05_r8, & + 6.236409060149831e-05_r8, 6.1592929641759666e-05_r8, & + 6.1355920875547012e-05_r8, 6.2164191576894102e-05_r8, & + 6.3147385722474533e-05_r8, 6.4534245311242717e-05_r8, & + 6.7686281330898209e-05_r8, 7.1067998353266704e-05_r8, & + 7.5277185075200084e-05_r8, 7.9070192742059387e-05_r8, & + 8.3188889896738008e-05_r8, 8.8058197597773785e-05_r8, & + 9.0864924442650254e-05_r8, 9.3676335369234095e-05_r8, & + 9.5756019216312958e-05_r8, 9.7432988258524018e-05_r8, & + 9.9434305760945558e-05_r8, 0.00010314357325524151_r8, & + 0.00010445103939606614_r8, 0.0001046559944865585_r8, & + 0.00010435796175838057_r8, 0.00010398410824814004_r8, & + 0.00010401704927935946_r8, 0.00010354777519570844_r8, & + 0.00010354936626310655_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,90) / & + 7.2397089003026227e-05_r8, 7.905803391213192e-05_r8, & + 8.3018218231211067e-05_r8, 0.00011776041308685821_r8, & + 0.00011454699768107702_r8, 0.00011404511737015862_r8, & + 0.00010534864913306748_r8, 9.5465646538822176e-05_r8, & + 7.9337430528673655e-05_r8, 7.477147599388975e-05_r8, & + 7.222126318861455e-05_r8, 7.0245439986810727e-05_r8, & + 6.9068159141620926e-05_r8, 6.9567268016405313e-05_r8, & + 7.0013218627961365e-05_r8, 7.0328815791929718e-05_r8, & + 7.165245234252376e-05_r8, 7.4174460744368397e-05_r8, & + 7.6503767805237598e-05_r8, 7.9963948558830786e-05_r8, & + 8.3753507721746111e-05_r8, 8.5681294323881478e-05_r8, & + 8.8614331235488354e-05_r8, 9.2719751940809888e-05_r8, & + 9.6153774340931042e-05_r8, 9.9330245751460563e-05_r8, & + 0.00010267786880457184_r8, 0.00010827269104394055_r8, & + 0.00011074018525800933_r8, 0.00011340691908531696_r8, & + 0.00011480254992315431_r8, 0.00011635125733746896_r8, & + 0.00011759951654902066_r8, 0.00011826763085951134_r8, & + 0.00011877041055518215_r8, 0.00011650867560988885_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,90) / & + 9.1005515549563557e-05_r8, 0.00010235859733201038_r8, & + 9.8038650426387228e-05_r8, 0.00013470346884432869_r8, & + 0.00013294535110726287_r8, 0.00013234704703864639_r8, & + 0.000117302345600216_r8, 0.00010291053769282285_r8, & + 7.8470981143421417e-05_r8, 7.4237972253324888e-05_r8, & + 7.3289861471793243e-05_r8, 7.2364070529304226e-05_r8, & + 7.1660750044895253e-05_r8, 7.3491156704930273e-05_r8, & + 7.2868844200948534e-05_r8, 7.3226229471710168e-05_r8, & + 7.1185171655419659e-05_r8, 7.4435128161280716e-05_r8, & + 7.6497451119868101e-05_r8, 7.9619842083486435e-05_r8, & + 8.3221810661149626e-05_r8, 8.3905965949931184e-05_r8, & + 8.8179270746166898e-05_r8, 9.3034946122900976e-05_r8, & + 9.5955650524030841e-05_r8, 9.9457445131590286e-05_r8, & + 0.00010274063888529519_r8, 0.00011138778798682718_r8, & + 0.00011383681055661025_r8, 0.00011617487153993483_r8, & + 0.00011679377384644748_r8, 0.00011856544622968606_r8, & + 0.00012005238612027868_r8, 0.00012063116469897723_r8, & + 0.00012160611087166459_r8, 0.00012106002483754074_r8, & + 0.00012120852124219349_r8, 0.00012111952954338626_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,90) / & + 8.996662409454747e-05_r8, 0.00011201734807717103_r8, & + 0.00010890747861681287_r8, 0.00013465038380055814_r8, & + 0.00013515827315815852_r8, 0.00013848325592010158_r8, & + 0.00012073812620934794_r8, 8.9571255787144246e-05_r8, & + 6.9687051659480877e-05_r8, 6.987176505957435e-05_r8, & + 6.9298630804925248e-05_r8, 6.9673020789499715e-05_r8, & + 6.8333748668863596e-05_r8, 7.0216599902630427e-05_r8, & + 7.0671111726104796e-05_r8, 7.2044961107836902e-05_r8, & + 7.1483022565785971e-05_r8, 7.3084180460706756e-05_r8, & + 7.5406248264031636e-05_r8, 7.853253229170053e-05_r8, & + 8.2199123486928369e-05_r8, 8.5143034835237933e-05_r8, & + 8.9364259698469035e-05_r8, 9.3938886677554832e-05_r8, & + 9.840623068023203e-05_r8, 0.0001025947832034455_r8, & + 0.00010791153402320478_r8, 0.00011779396977714165_r8, & + 0.00011862632228542968_r8, 0.00011893354141413893_r8, & + 0.00011951691948422276_r8, 0.00012048076580918504_r8, & + 0.0001214452061272177_r8, 0.0001217046087041685_r8, & + 0.0001221975480967799_r8, 0.00012253277742364682_r8, & + 0.00012430504582510129_r8, 0.00012447912939816328_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,1,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,2,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,3,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,4,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,5,91) / & + 0.00014707758753855013_r8, 0.00014484153206733623_r8, & + 0.00013380245562909864_r8, 0.00013291662443260478_r8, & + 0.00013332240587826324_r8, 0.00013886558155402462_r8, & + 0.00014644997457083559_r8, 0.00015627617122821526_r8, & + 0.00016518743573043658_r8, 0.00017312916911849533_r8, & + 0.00017974286230827558_r8, 0.00019140278197012997_r8, & + 0.00020394731745430669_r8, 0.00020941838776767063_r8, & + 0.00021635447287563869_r8, 0.00022029628455431306_r8, & + 0.00022617579627871452_r8, 0.00023229659533942956_r8, & + 0.00023657000204514543_r8, 0.00024139886704609425_r8, & + 0.0002463516762289356_r8, 0.00025069339047324973_r8, & + 0.00025292828613392805_r8, 0.00025530148124724115_r8, & + 0.00025726647081191417_r8, 0.00025925557935473867_r8, & + 0.00026000492224336055_r8, 0.00026145519407443844_r8, & + 0.00026271582634058673_r8, 0.00026357545464873695_r8, & + 0.00026371994618342842_r8, 0.00026342711065075017_r8, & + 0.00026365656779562716_r8, 0.00026356146024148283_r8, & + 0.00026327526469795761_r8, 0.00026444729919032633_r8, & + 0.00026572805946764399_r8, 0.00026675538985417594_r8, & + 0.00026552213451088797_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,6,91) / & + 0.00012868546702237676_r8, 0.00011321740652559621_r8, & + 0.00011878394475709721_r8, 0.00013009001203942322_r8, & + 0.00013571047598556735_r8, 0.00014287301824954807_r8, & + 0.00015703635339003286_r8, 0.00017046061110008605_r8, & + 0.00018630881795052401_r8, 0.00019806365568117153_r8, & + 0.00020478686773841776_r8, 0.00021126815092382782_r8, & + 0.00021772003572030464_r8, 0.00022195991032129833_r8, & + 0.00022663736458662783_r8, 0.00023038282633613196_r8, & + 0.00023607980736117432_r8, 0.00024122470038586341_r8, & + 0.00024564442776346874_r8, 0.00024978935448325112_r8, & + 0.00025395480892167072_r8, 0.00025666363410060836_r8, & + 0.00025857322720563295_r8, 0.00026004682159317646_r8, & + 0.00026155515245039878_r8, 0.00026242732895872742_r8, & + 0.00026259780447585534_r8, 0.00026318922072899871_r8, & + 0.00026453720901186372_r8, 0.00026518850994713652_r8, & + 0.00026471694411613528_r8, 0.00026396894301681823_r8, & + 0.00026385001470468912_r8, 0.00026364712369221152_r8, & + 0.00026349991350910727_r8, 0.00026433658255355265_r8, & + 0.00026501840251759201_r8, 0.00026517660348096621_r8, & + 0.00026168178716315247_r8, 0.00025295890288016594_r8, & + 0.00025106761802880738_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,7,91) / & + 9.7188540375390327e-05_r8, 8.0014092677896915e-05_r8, & + 0.00011413525822986367_r8, 0.00012827734036200685_r8, & + 0.00013279727175009572_r8, 0.00014004813795696807_r8, & + 0.00015408210413214639_r8, 0.00016450677486505092_r8, & + 0.00018373626834327801_r8, 0.00020436277045649605_r8, & + 0.00021472646420092809_r8, 0.00022408299741013621_r8, & + 0.00023580306178134583_r8, 0.00024194884285113244_r8, & + 0.00024605542813987139_r8, 0.00024934245623191845_r8, & + 0.00025369692291477372_r8, 0.00025699348220848593_r8, & + 0.00025947814805309588_r8, 0.00026128346443235153_r8, & + 0.0002627371557364272_r8, 0.00026343353910542793_r8, & + 0.00026461256498320102_r8, 0.00026503720193421818_r8, & + 0.00026551835197119434_r8, 0.00026573005057917907_r8, & + 0.0002658030678854155_r8, 0.00026553570401595085_r8, & + 0.00026547039928372974_r8, 0.00026495215388628798_r8, & + 0.00026413378613684421_r8, 0.00026335048173588694_r8, & + 0.00026241023899330543_r8, 0.0002616202159781805_r8, & + 0.00026097645934163011_r8, 0.00025969757928739917_r8, & + 0.00025711334740390935_r8, 0.00025336729421715086_r8, & + 0.0002518789075497171_r8, 0.00025103855375679994_r8, & + 0.00024998938411894644_r8, 0.00024873018609989549_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,8,91) / & + 9.8109926203339805e-05_r8, 8.9140873628343174e-05_r8, & + 0.00011812202808090394_r8, 0.00011900995837000572_r8, & + 0.00011976423869716493_r8, 0.00012524783535055291_r8, & + 0.00014268919370694449_r8, 0.00015578852438702124_r8, & + 0.00016868111070132699_r8, 0.00018266117147989778_r8, & + 0.00019194293077109622_r8, 0.0002014405046258326_r8, & + 0.00021349418828190534_r8, 0.00022090388868651641_r8, & + 0.00022576090683986067_r8, 0.00023037930995497251_r8, & + 0.00023572766842281959_r8, 0.00024121576091362416_r8, & + 0.00024482495701901757_r8, 0.00024768212685918482_r8, & + 0.00025079786007714387_r8, 0.00025299247828900449_r8, & + 0.00025570578351171824_r8, 0.0002575496734938007_r8, & + 0.00025930016288289951_r8, 0.00026085578269607971_r8, & + 0.0002618339325819689_r8, 0.0002632478671561618_r8, & + 0.00026404101480876751_r8, 0.00026443059512943869_r8, & + 0.00026437477562453731_r8, 0.00026384221316372427_r8, & + 0.0002627030622758791_r8, 0.00026135143689904862_r8, & + 0.0002598020413534852_r8, 0.00025788973526172143_r8, & + 0.00025486356096356128_r8, 0.0002514507205541391_r8, & + 0.0002491827707381606_r8, 0.00025011198363151063_r8, & + 0.00024953583858921348_r8, 0.00024819632723519338_r8, & + 0.0002479832885224425_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,9,91) / & + 9.3412356826976827e-05_r8, 9.2105667291199076e-05_r8, & + 9.5368421954222674e-05_r8, 8.5036933021505763e-05_r8, & + 8.2144781418025587e-05_r8, 8.6021448802486286e-05_r8, & + 9.0841165745717681e-05_r8, 0.00010430583784505355_r8, & + 0.00011947161610809143_r8, 0.0001323087751932553_r8, & + 0.00014365817553878063_r8, 0.0001530720677973306_r8, & + 0.00016256493358077939_r8, 0.00017187502952631519_r8, & + 0.00017771348978236253_r8, 0.00018195294520101664_r8, & + 0.00018757327718634681_r8, 0.00019425525410407351_r8, & + 0.00019866972443381023_r8, 0.0002022332253917547_r8, & + 0.00020720475210892712_r8, 0.00021095600389144399_r8, & + 0.00021770056252253046_r8, 0.00022256824785041486_r8, & + 0.00022687887232931132_r8, 0.00023228892051053093_r8, & + 0.00023627824742282233_r8, 0.00024505638779960748_r8, & + 0.00025162035949476336_r8, 0.00025672643348693475_r8, & + 0.00025936343604226483_r8, 0.00026246669128310117_r8, & + 0.00026497537957872195_r8, 0.00026381994878125743_r8, & + 0.00026233388905104991_r8, 0.0002610440448900996_r8, & + 0.00025962622053184669_r8, 0.00026351270897946328_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,10,91) / & + 5.1638645442983649e-05_r8, 5.1434094811492352e-05_r8, & + 4.2108541983431744e-05_r8, 3.1080652002825354e-05_r8, & + 3.0455774399314967e-05_r8, 3.102718324550365e-05_r8, & + 2.930415142469559e-05_r8, 3.2295468617706768e-05_r8, & + 4.3212473188928442e-05_r8, 5.7106559349903403e-05_r8, & + 7.0697694569052031e-05_r8, 8.2147314836983007e-05_r8, & + 9.4180834178668384e-05_r8, 0.00010567059043376012_r8, & + 0.00011319704558281159_r8, 0.0001208434645085993_r8, & + 0.00013300760351502103_r8, 0.00014259843735776016_r8, & + 0.00014995026524810179_r8, 0.00015626191557731358_r8, & + 0.00015946829084757184_r8, 0.00016251697835317094_r8, & + 0.00016380663167499799_r8, 0.00016577069692599668_r8, & + 0.00016752557620644556_r8, 0.00016999985518874675_r8, & + 0.00017253297952768889_r8, 0.00018295274079565928_r8, & + 0.00019471551477390786_r8, 0.00020432192302360859_r8, & + 0.0002181617826810701_r8, 0.00022745381071337319_r8, & + 0.00023376255687333709_r8, 0.0002400727639386867_r8, & + 0.0002427573715242748_r8, 0.00024375058246907416_r8, & + 0.00024328780395579543_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,11,91) / & + 1.5637708212233225e-05_r8, 1.5308016040668807e-05_r8, & + 9.6326124211400831e-06_r8, 1.0755555729367363e-05_r8, & + 1.0902918536551649e-05_r8, 1.101924496601236e-05_r8, & + 1.0806021287902337e-05_r8, 1.1851966320618355e-05_r8, & + 1.4496939665674355e-05_r8, 1.7937969227887765e-05_r8, & + 2.2173470299160915e-05_r8, 2.635608343282377e-05_r8, & + 3.2620632391229453e-05_r8, 3.9429132091189472e-05_r8, & + 4.4751565654430839e-05_r8, 5.0911482281916261e-05_r8, & + 6.4472875861784713e-05_r8, 7.7822314431446159e-05_r8, & + 9.0967215501664838e-05_r8, 0.00010555090599781767_r8, & + 0.00011614583031598149_r8, 0.00012535439594867569_r8, & + 0.00013194321920185093_r8, 0.00013693425658102909_r8, & + 0.00014059747653291698_r8, 0.00014293091529957047_r8, & + 0.00014432611856870099_r8, 0.00014632820398001507_r8, & + 0.00014996839013603049_r8, 0.00015708337936121291_r8, & + 0.00016860860318845746_r8, 0.00018082941739396509_r8, & + 0.00019444777053224038_r8, 0.00020807951103219712_r8, & + 0.00021945337980517777_r8, 0.00022866895477478607_r8, & + 0.00023414250288297859_r8, 0.00023752626127612606_r8, & + 0.00023779996862123722_r8, 0.00024661970455129996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,12,91) / & + 6.2959262742326913e-06_r8, 5.707287897695741e-06_r8, & + 4.2772672348146492e-06_r8, 4.7086908622649074e-06_r8, & + 5.0242672988320516e-06_r8, 5.044488042615074e-06_r8, & + 5.4831329781375116e-06_r8, 5.5384898673935842e-06_r8, & + 6.5354926530078984e-06_r8, 7.4668437895363147e-06_r8, & + 8.6058864877215305e-06_r8, 9.8856597525904444e-06_r8, & + 1.2629671976721748e-05_r8, 1.6222891016188679e-05_r8, & + 1.9487886941908778e-05_r8, 2.3265162169307085e-05_r8, & + 3.135100885394164e-05_r8, 4.0403750569715489e-05_r8, & + 5.1948264120678675e-05_r8, 6.4713908660033638e-05_r8, & + 7.8593469043335541e-05_r8, 9.2746539641639842e-05_r8, & + 0.00010554658501277392_r8, 0.00011662732675736855_r8, & + 0.00012609044897440822_r8, 0.00013268590497099206_r8, & + 0.00013769216783034733_r8, 0.00014057278345547638_r8, & + 0.00013762842265835042_r8, 0.00013650900719397804_r8, & + 0.0001393199826734762_r8, 0.00014426987721576193_r8, & + 0.00015214387268100204_r8, 0.00016679972491360687_r8, & + 0.00018272277554857286_r8, 0.00020168204613046299_r8, & + 0.00021849275971033024_r8, 0.00022322635709834019_r8, & + 0.00022743254173250471_r8, 0.00022668859549235162_r8, & + 0.00022665852287086092_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,13,91) / & + 4.8766938830698796e-06_r8, 4.2681585743974473e-06_r8, & + 2.567817518832605e-06_r8, 3.2972629959585062e-06_r8, & + 3.657665129135143e-06_r8, 3.7686953642340857e-06_r8, & + 5.1451631642982802e-06_r8, 4.7750597453260715e-06_r8, & + 4.9897377281975115e-06_r8, 5.4169603920652142e-06_r8, & + 5.908453258752039e-06_r8, 6.6260732169125732e-06_r8, & + 8.0926144644480662e-06_r8, 9.9657935308976419e-06_r8, & + 1.2273374847542525e-05_r8, 1.5182544429126015e-05_r8, & + 2.302078916265793e-05_r8, 3.1345281124271389e-05_r8, & + 4.0938059118056614e-05_r8, 5.2527231801015191e-05_r8, & + 6.4739070881800515e-05_r8, 7.8305260023221369e-05_r8, & + 9.2957160390330911e-05_r8, 0.0001066286987060284_r8, & + 0.0001174737475701616_r8, 0.0001255574067756768_r8, & + 0.00013207973733308755_r8, 0.00013557684179014672_r8, & + 0.00013211327488673661_r8, 0.00012707725676052299_r8, & + 0.00012592256850621394_r8, 0.0001277587699123613_r8, & + 0.00013060611755435686_r8, 0.0001413327760249721_r8, & + 0.0001574922316118073_r8, 0.00018384461081854232_r8, & + 0.00021023650479698195_r8, 0.00021847976676070066_r8, & + 0.00022367342021161054_r8, 0.00022534354140653438_r8, & + 0.00022608242101340787_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,14,91) / & + 4.2629447343687636e-06_r8, 3.991919409412762e-06_r8, & + 2.5206302989398496e-06_r8, 3.4331950574379493e-06_r8, & + 3.4818332776527526e-06_r8, 3.9002072502367764e-06_r8, & + 4.6522235264041966e-06_r8, 4.8077736325331962e-06_r8, & + 4.867532755235625e-06_r8, 5.0269835138561344e-06_r8, & + 5.4416001483007262e-06_r8, 6.0890131643391905e-06_r8, & + 7.3138286002919669e-06_r8, 8.5195059403484298e-06_r8, & + 9.9251403371627389e-06_r8, 1.1529060636985043e-05_r8, & + 1.8289824057298304e-05_r8, 2.7371553494221131e-05_r8, & + 3.6597814235343234e-05_r8, 4.6623425800226862e-05_r8, & + 5.8401556826548038e-05_r8, 7.1647080212908012e-05_r8, & + 8.7830753308820465e-05_r8, 0.0001030044637805443_r8, & + 0.00011452237971857641_r8, 0.0001216088229970329_r8, & + 0.0001266964013563617_r8, 0.00012712365249081947_r8, & + 0.00012338320548754226_r8, 0.00012039063717219287_r8, & + 0.00011945903589244471_r8, 0.00011976149501615847_r8, & + 0.00012100054960410683_r8, 0.00012539511835677744_r8, & + 0.00013655215618107338_r8, 0.0001624528133140168_r8, & + 0.00019553262300011338_r8, 0.00021210137980296883_r8, & + 0.00022274615083290561_r8, 0.00022481628422626218_r8, & + 0.00022504124882158317_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,15,91) / & + 3.9836552610926983e-06_r8, 3.96533316499022e-06_r8, & + 3.3827351473482071e-06_r8, 3.1986940061183216e-06_r8, & + 3.2938322467839239e-06_r8, 4.0298552947833098e-06_r8, & + 4.213735895146205e-06_r8, 4.671529081389359e-06_r8, & + 5.1628834542986694e-06_r8, 5.5040830733346113e-06_r8, & + 6.0780971429229672e-06_r8, 7.1642706252305927e-06_r8, & + 8.6672331655567646e-06_r8, 1.0230383981948722e-05_r8, & + 1.2523723124743248e-05_r8, 1.5229061888726753e-05_r8, & + 2.3382504155730226e-05_r8, 3.3439331410589011e-05_r8, & + 4.4621226704687092e-05_r8, 5.8528576232229385e-05_r8, & + 7.3533068276356793e-05_r8, 8.8623711628181548e-05_r8, & + 0.00010091767615462918_r8, 0.00010984387739102238_r8, & + 0.00011455753872201965_r8, 0.00011608183199252476_r8, & + 0.00011525194727782374_r8, 0.00011000105392587695_r8, & + 0.00010911106822466678_r8, 0.00011111949995432374_r8, & + 0.00011259646680360478_r8, 0.00011300267783005295_r8, & + 0.00011353948658247578_r8, 0.00011509301678176344_r8, & + 0.00011835785445125201_r8, 0.00012794840243228789_r8, & + 0.00014388207037139552_r8, 0.00014820139628298032_r8, & + 0.00014702838845499758_r8, 0.00015418425978747121_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,16,91) / & + 3.871172668627902e-06_r8, 3.9729315073513482e-06_r8, & + 3.7450925019713758e-06_r8, 3.8091911179206225e-06_r8, & + 3.845086436196688e-06_r8, 5.2523465220781994e-06_r8, & + 4.5674786798884301e-06_r8, 5.0888687977360419e-06_r8, & + 6.570446567412194e-06_r8, 7.5978899591128792e-06_r8, & + 8.47049282752529e-06_r8, 9.7593332957181519e-06_r8, & + 1.148441171934486e-05_r8, 1.4380178253372232e-05_r8, & + 1.8190904288473665e-05_r8, 2.3348245987401686e-05_r8, & + 3.6103882767365727e-05_r8, 4.8941111899931139e-05_r8, & + 6.3911661315356675e-05_r8, 8.250613175743405e-05_r8, & + 9.882098590130453e-05_r8, 0.00011042477021240225_r8, & + 0.00011487372743561375_r8, 0.00011497556672165356_r8, & + 0.00011258517632083992_r8, 0.00010925211759701309_r8, & + 0.00010529280904358935_r8, 9.9658747031920969e-05_r8, & + 0.00010378504847867687_r8, 0.00011106017906319435_r8, & + 0.00011741287310597677_r8, 0.00012109956399654859_r8, & + 0.00012384776697780934_r8, 0.00012612890246053971_r8, & + 0.00012815454721070744_r8, 0.00013010357306183809_r8, & + 0.00013527459445784941_r8, 0.00013725967721580208_r8, & + 0.00014391355254198709_r8, 0.00015023976292128494_r8, & + 0.0001557334555821678_r8, 0.0001374702933410839_r8, & + 0.00013399847588373213_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,17,91) / & + 2.802986242702521e-06_r8, 2.9454525207673383e-06_r8, & + 2.9776478484613352e-06_r8, 3.2453355929579515e-06_r8, & + 3.364464953766007e-06_r8, 6.2346150174946826e-06_r8, & + 4.1882468178478375e-06_r8, 5.3745998950034266e-06_r8, & + 7.7168976699615286e-06_r8, 9.6778996142207967e-06_r8, & + 1.1209763897003183e-05_r8, 1.3104119702266728e-05_r8, & + 1.6513808192362168e-05_r8, 2.1298063880583964e-05_r8, & + 2.7581411426333156e-05_r8, 3.548036889226889e-05_r8, & + 5.1431968589477269e-05_r8, 6.7720880728762959e-05_r8, & + 8.3429315701045211e-05_r8, 9.8151288986381662e-05_r8, & + 0.00010879927456887632_r8, 0.00011396133289768915_r8, & + 0.00011417708833442247_r8, 0.00011134383613489989_r8, & + 0.00010702654215282678_r8, 0.00010269930739770916_r8, & + 9.8351099036782811e-05_r8, 9.3115784353474306e-05_r8, & + 9.7012245284348631e-05_r8, 0.00010714696063304293_r8, & + 0.00011710805949748089_r8, 0.00012492493868874175_r8, & + 0.00013160148495163906_r8, 0.00013611623570988977_r8, & + 0.00013964791626388596_r8, 0.00014156802111973371_r8, & + 0.00014286442538179406_r8, 0.0001436727917728678_r8, & + 0.00014467308308903731_r8, 0.00014665454861016841_r8, & + 0.00014876541173308006_r8, 0.000145494818350033_r8, & + 0.00014936105730177393_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,18,91) / & + 1.8519036830902998e-06_r8, 1.9094655613563362e-06_r8, & + 1.9559922429882503e-06_r8, 3.037701629490668e-06_r8, & + 3.5521950073545615e-06_r8, 7.1965728335390347e-06_r8, & + 4.9902410016439315e-06_r8, 8.2143642629804523e-06_r8, & + 1.2253269074458428e-05_r8, 1.6556243180310329e-05_r8, & + 1.9946687138483874e-05_r8, 2.3667166991468649e-05_r8, & + 2.927115748463308e-05_r8, 3.677419377466592e-05_r8, & + 4.4548454675747676e-05_r8, 5.3056832395215921e-05_r8, & + 6.7808625076176487e-05_r8, 8.2051863427007616e-05_r8, & + 9.5504347989392265e-05_r8, 0.00010677614985730341_r8, & + 0.00011470921061592695_r8, 0.00011845942260189266_r8, & + 0.00011832863654671665_r8, 0.00011427351167530137_r8, & + 0.00010851742140533546_r8, 0.00010285015794562738_r8, & + 9.9145363212373332e-05_r8, 9.5151513698691275e-05_r8, & + 9.8844334533791637e-05_r8, 0.00010844224072635652_r8, & + 0.00011969801151059545_r8, 0.00013151835901014836_r8, & + 0.00014203768833927468_r8, 0.00014883604824073048_r8, & + 0.00015265114828354333_r8, 0.00015463558653873837_r8, & + 0.0001559946304454506_r8, 0.00015707916365684146_r8, & + 0.00015796354821695112_r8, 0.00015892416190604978_r8, & + 0.00015955756332370656_r8, 0.00016014635133064026_r8, & + 0.00016241734848332047_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,19,91) / & + 2.9195496241206986e-06_r8, 2.9763797822885212e-06_r8, & + 2.7035637966663771e-06_r8, 4.617887514879529e-06_r8, & + 5.994815457485705e-06_r8, 7.895435046950643e-06_r8, & + 9.0330079009089155e-06_r8, 1.6408903841058637e-05_r8, & + 2.3065204562546688e-05_r8, 2.9121435602664465e-05_r8, & + 3.3105321872400968e-05_r8, 3.7641370629926307e-05_r8, & + 4.3445508638821052e-05_r8, 5.0228108078718021e-05_r8, & + 5.6262329023556709e-05_r8, 6.2853844287476875e-05_r8, & + 7.4906903836156815e-05_r8, 8.7288831824684201e-05_r8, & + 0.00010030940560125577_r8, 0.00011137142305830864_r8, & + 0.00011892112172679205_r8, 0.00012227501851061356_r8, & + 0.00012130598572514153_r8, 0.00011718575215607122_r8, & + 0.0001114242351277311_r8, 0.00010564240008596496_r8, & + 0.00010161062537256597_r8, 9.8255967681159216e-05_r8, & + 0.00010500344573443992_r8, 0.00011505384346134042_r8, & + 0.00012710640644242536_r8, 0.00013984729915721781_r8, & + 0.00015194338348833736_r8, 0.00016166479735171254_r8, & + 0.00016659233953667633_r8, 0.00016883341654333459_r8, & + 0.0001704022826279328_r8, 0.00017172400644552613_r8, & + 0.00017315584161605124_r8, 0.00017409331353024476_r8, & + 0.00017487734851800491_r8, 0.00017486398283624306_r8, & + 0.00017108928624587341_r8, 0.00017080760654976441_r8, 9e90_r8 & + / +data saar_ref(:,20,91) / & + 5.756544473687865e-06_r8, 6.4872026326502025e-06_r8, & + 6.3282515322600899e-06_r8, 7.3985628891446395e-06_r8, & + 9.2777315034131875e-06_r8, 1.0991837691115579e-05_r8, & + 1.3555649963683164e-05_r8, 2.2831854349558017e-05_r8, & + 2.9104071392166875e-05_r8, 3.3243169607939516e-05_r8, & + 3.6334886040417226e-05_r8, 4.0013566631461781e-05_r8, & + 4.5354760873586324e-05_r8, 5.1673508102817217e-05_r8, & + 5.7466980064105136e-05_r8, 6.3783485566712024e-05_r8, & + 7.8015288125274213e-05_r8, 9.2193804841704381e-05_r8, & + 0.00010590298926831632_r8, 0.00011705412292818587_r8, & + 0.0001236162367388682_r8, 0.00012554485427465189_r8, & + 0.00012199579551093412_r8, 0.00011609476448803983_r8, & + 0.00010884151967866873_r8, 0.00010247987419143645_r8, & + 9.8999395779089018e-05_r8, 9.7261947016594703e-05_r8, & + 0.00010592396669377257_r8, 0.00011971268034218624_r8, & + 0.00013337191599291625_r8, 0.00014651124131492992_r8, & + 0.00015812794602194268_r8, 0.00016947807959698347_r8, & + 0.00017787311646710779_r8, 0.00018198249853981706_r8, & + 0.00018443724071404014_r8, 0.00018609247728120499_r8, & + 0.00018615137229423807_r8, 0.00018622696435377346_r8, & + 0.00018668404702190146_r8, 0.00018673902457027553_r8, & + 0.00018566135699038124_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,21,91) / & + 7.6577062241393523e-06_r8, 9.3665879141149977e-06_r8, & + 9.605074111174673e-06_r8, 1.0448419381192553e-05_r8, & + 1.3518338878194244e-05_r8, 1.6159074736167008e-05_r8, & + 2.1348601729702855e-05_r8, 2.7965171983959911e-05_r8, & + 3.2547240623506497e-05_r8, 3.534777273481827e-05_r8, & + 3.7659588547156011e-05_r8, 4.0626571691775503e-05_r8, & + 4.5802599206580966e-05_r8, 5.3549329697590692e-05_r8, & + 6.1883701118321295e-05_r8, 6.8715626688906019e-05_r8, & + 8.3542512710074152e-05_r8, 9.8631054633886971e-05_r8, & + 0.0001137110288005641_r8, 0.00012426226444433582_r8, & + 0.00012957994177350185_r8, 0.00013061237148241279_r8, & + 0.0001235845003013512_r8, 0.0001145765531631477_r8, & + 0.00010502591952117266_r8, 9.6858327515499096e-05_r8, & + 9.304232852429671e-05_r8, 9.3090981521297783e-05_r8, & + 0.00010438621258739991_r8, 0.00012265025555688574_r8, & + 0.00013945459785388552_r8, 0.00015346435889511978_r8, & + 0.00016526926408359804_r8, 0.00017518789962053721_r8, & + 0.00018382038021706691_r8, 0.00018997573134712408_r8, & + 0.00019451844210766569_r8, 0.00019798442223792456_r8, & + 0.00019932644117605773_r8, 0.00019399554180813661_r8, & + 0.00019916052192768909_r8, 0.00020135676755087524_r8, & + 0.00020180223051761336_r8, 0.00020207448427904075_r8, 9e90_r8 & + / +data saar_ref(:,22,91) / & + 9.7237802219015024e-06_r8, 1.1159408330702712e-05_r8, & + 1.0929091483050412e-05_r8, 1.3312878536430555e-05_r8, & + 1.7073813385460799e-05_r8, 2.0180732343380867e-05_r8, & + 2.4627922050870524e-05_r8, 2.9738455173051921e-05_r8, & + 3.2447506395203876e-05_r8, 3.4820397176410422e-05_r8, & + 3.7106697342419459e-05_r8, 3.9575323926732964e-05_r8, & + 4.722963668611267e-05_r8, 5.892942444163538e-05_r8, & + 6.7913075267824564e-05_r8, 7.5225974868045595e-05_r8, & + 9.0936950712403603e-05_r8, 0.00010493542543848336_r8, & + 0.00012002318617018783_r8, 0.00012952474644830044_r8, & + 0.0001339281583537961_r8, 0.00013362135275180598_r8, & + 0.00012424752666042501_r8, 0.00011275284079335164_r8, & + 0.00010193406069556978_r8, 9.2513627863057579e-05_r8, & + 8.7143724463396136e-05_r8, 8.7849624898468141e-05_r8, & + 0.00010029698961260194_r8, 0.00012115763181935731_r8, & + 0.00014195887757717122_r8, 0.00015780631802047541_r8, & + 0.00017075540487902731_r8, 0.00018037064845322984_r8, & + 0.00018828557491636322_r8, 0.00019435654017043062_r8, & + 0.00020079859968075628_r8, 0.00020850644899549436_r8, & + 0.00021740952984872791_r8, 0.00022489101790070017_r8, & + 0.00023257791297622357_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,23,91) / & + 2.3124668261540025e-05_r8, 2.1289306687372864e-05_r8, & + 1.9380140345185235e-05_r8, 1.6178733230191475e-05_r8, & + 1.9239971508914487e-05_r8, 2.5780468830931966e-05_r8, & + 2.6275727932525281e-05_r8, 3.4434402959320319e-05_r8, & + 3.6745890095844728e-05_r8, 3.9205378549485454e-05_r8, & + 4.1450137892112914e-05_r8, 4.339582859052625e-05_r8, & + 5.3366403329886379e-05_r8, 6.5444282878983915e-05_r8, & + 7.3620068457820674e-05_r8, 8.2513493931406261e-05_r8, & + 9.9615705155935963e-05_r8, 0.00011304722262172542_r8, & + 0.00012817170226266729_r8, 0.0001386122275334135_r8, & + 0.00014161444453061322_r8, 0.00014071085196290083_r8, & + 0.00013083135058946708_r8, 0.00012025041632336734_r8, & + 0.00011017898416405711_r8, 0.00010152460798712284_r8, & + 9.6851370710086094e-05_r8, 9.4953043249580441e-05_r8, & + 0.00010601356490978417_r8, 0.00012764689129499276_r8, & + 0.0001492614982399934_r8, 0.00016646408021674992_r8, & + 0.00018089513033670964_r8, 0.00019127073958782545_r8, & + 0.00020029818593130121_r8, 0.00020956013509989749_r8, & + 0.00021814510824449081_r8, 0.00022813988377201068_r8, & + 0.00024185520269769548_r8, 0.00024576124964421155_r8, & + 0.00025133313116316335_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,24,91) / & + 3.3833250650293557e-05_r8, 2.9290432201476328e-05_r8, & + 2.661824236133257e-05_r8, 1.7389640373543356e-05_r8, & + 2.0306654150442065e-05_r8, 2.9319275988624036e-05_r8, & + 2.6551195162283195e-05_r8, 4.0176816469223173e-05_r8, & + 4.1394142165180599e-05_r8, 4.4025410896285353e-05_r8, & + 4.6855574107946212e-05_r8, 4.7958609820466596e-05_r8, & + 5.7394032200679792e-05_r8, 6.8724341807042185e-05_r8, & + 7.7937040619871259e-05_r8, 8.8203189023396554e-05_r8, & + 0.0001060975266288676_r8, 0.00012057907819271723_r8, & + 0.00013659428352301241_r8, 0.00014819152803045206_r8, & + 0.00015062259645738313_r8, 0.0001490397887155346_r8, & + 0.00013894514812741977_r8, 0.00012906331022907161_r8, & + 0.00011873820948307208_r8, 0.00010973678932901234_r8, & + 0.00010522838516009475_r8, 0.00010354223754251527_r8, & + 0.00011522603985676444_r8, 0.00013779992316994096_r8, & + 0.00016004172524432711_r8, 0.00017844641774151021_r8, & + 0.00019366862131858938_r8, 0.00020528572040457289_r8, & + 0.00021485222615096319_r8, 0.00022549403308681464_r8, & + 0.00023558960785095124_r8, 0.00024640089121926687_r8, & + 0.00026065748433800749_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,25,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,26,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,27,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,28,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,29,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,30,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,31,91) / & + 0.00012657585787345798_r8, 0.00013410866996350798_r8, & + 6.3012274668428056e-05_r8, 1.2201431747273187e-05_r8, & + 1.4754024819141532e-05_r8, 1.6431675076605913e-05_r8, & + 2.1257546308914976e-05_r8, 2.7227267310804126e-05_r8, & + 3.8621470632456998e-05_r8, 6.0048766376130097e-05_r8, & + 6.4202673371716723e-05_r8, 2.8976067603474473e-05_r8, & + 3.0581879934450002e-05_r8, 3.4043940198819589e-05_r8, & + 3.7402678437772628e-05_r8, 4.0123051090549714e-05_r8, & + 4.4454245040488488e-05_r8, 5.167245813981702e-05_r8, & + 5.3413680862509627e-05_r8, 5.4676000458340386e-05_r8, & + 5.4094386354700031e-05_r8, 5.2805260941058441e-05_r8, & + 4.8669820999979119e-05_r8, 5.2522997852978058e-05_r8, & + 4.8582482112758214e-05_r8, 5.0454942872851886e-05_r8, & + 4.7381702065698823e-05_r8, 3.3313495652422606e-05_r8, & + 3.5606923797090925e-05_r8, 3.1650565997060347e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,32,91) / & + 0.00014054467362306175_r8, 0.00015145327221550569_r8, & + 0.00010107536016948049_r8, 1.3017353426096585e-05_r8, & + 1.7453231391740015e-05_r8, 2.176417086198655e-05_r8, & + 1.9039272363539825e-05_r8, 3.7956748927986962e-05_r8, & + 8.2825363500869793e-05_r8, 8.7762409211588556e-05_r8, & + 8.9937590973166796e-05_r8, 3.7630120268890852e-05_r8, & + 3.0964509668556061e-05_r8, 3.4660916071545318e-05_r8, & + 3.7600781547574643e-05_r8, 4.0476885532679225e-05_r8, & + 4.5139672087997779e-05_r8, 5.0260442737997241e-05_r8, & + 5.0043707434969337e-05_r8, 4.9430240071393496e-05_r8, & + 5.061345252589732e-05_r8, 5.1934042738296681e-05_r8, & + 4.9710755711744772e-05_r8, 4.9628148938035048e-05_r8, & + 4.6677254149724046e-05_r8, 4.811995917639754e-05_r8, & + 4.7031546386893199e-05_r8, 4.3016072958210372e-05_r8, & + 4.3452083222528773e-05_r8, 4.4862790540017629e-05_r8, & + 4.3059308035781712e-05_r8, 2.9115423796070169e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,33,91) / & + 0.0001233562663570069_r8, 0.00013126706394706448_r8, & + 0.00011548831804961184_r8, 2.3259320809829902e-05_r8, & + 4.1908947003379048e-05_r8, 6.3107238271130898e-05_r8, & + 2.7889997099873283e-05_r8, 0.00010284618882854049_r8, & + 0.00013189782610847087_r8, 0.00011828590901977778_r8, & + 0.00010844910014466761_r8, 3.3050053518476404e-05_r8, & + 3.3494879300390598e-05_r8, 3.5865394804992331e-05_r8, & + 3.8412491043635594e-05_r8, 4.0399606424090635e-05_r8, & + 4.4735985242969882e-05_r8, 4.9516584618543793e-05_r8, & + 4.950996209971785e-05_r8, 4.9938391703730969e-05_r8, & + 5.8432430044172607e-05_r8, 5.6182678105687228e-05_r8, & + 5.3815230418952472e-05_r8, 5.3692032049459813e-05_r8, & + 4.9131875709980558e-05_r8, 4.3367693252396664e-05_r8, & + 3.3949884823854075e-05_r8, 4.0358344473978167e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,34,91) / & + 4.7694397479536717e-06_r8, 5.8671172357695405e-06_r8, & + 6.7151466045651306e-06_r8, 8.7066865740212849e-06_r8, & + 1.0421859816709089e-05_r8, 1.2161548846101702e-05_r8, & + 1.6337040833192821e-05_r8, 2.0935578749484232e-05_r8, & + 2.2483007982429813e-05_r8, 2.4369221718938067e-05_r8, & + 2.5588660570912788e-05_r8, 2.5170573015346189e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,35,91) / & + 2.2721321597108388e-05_r8, 2.2691993193783862e-05_r8, & + 2.1960878607417438e-05_r8, 2.5967651332053793e-05_r8, & + 2.607048476047751e-05_r8, 1.3743005833714109e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,36,91) / & + 1.6449319953521137e-05_r8, 1.5809159680656038e-05_r8, & + 1.4929475481532469e-05_r8, 3.8034343062595484e-05_r8, & + 3.0459353431700482e-05_r8, 2.4562184386325767e-05_r8, & + 2.6412782112438019e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,37,91) / & + 1.8273983525067259e-05_r8, 1.8395238385651757e-05_r8, & + 1.7641657326011004e-05_r8, 2.4792730861695646e-05_r8, & + 2.5433642920600183e-05_r8, 2.6421486689171657e-05_r8, & + 3.3223192578886842e-05_r8, 3.41301193638874e-05_r8, & + 3.3023352446411972e-05_r8, 3.3606191334832773e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data saar_ref(:,38,91) / & + 2.2429528854993891e-05_r8, 2.3987198452151023e-05_r8, & + 2.5149932193217741e-05_r8, 3.5395923654449077e-05_r8, & + 3.8768236110455398e-05_r8, 4.1331072754562914e-05_r8, & + 4.6319188341534346e-05_r8, 4.7313476989364611e-05_r8, & + 4.910314956134672e-05_r8, 4.9943108078545306e-05_r8, & + 5.0993678587366445e-05_r8, 5.2347529618749835e-05_r8, & + 5.5150469684165705e-05_r8, 5.6576683818937125e-05_r8, & + 5.8741793998647272e-05_r8, 6.0485211061409067e-05_r8, & + 6.5672433116197588e-05_r8, 7.1994895300439473e-05_r8, & + 7.8142340324297387e-05_r8, 8.3426124320157288e-05_r8, & + 8.7585582961850446e-05_r8, 9.0138096131846051e-05_r8, & + 9.238490440856097e-05_r8, 9.4595345389718519e-05_r8, & + 9.728398432621118e-05_r8, 0.00010061918858442169_r8, & + 0.00010339178520360912_r8, 0.00010742509432152674_r8, & + 0.00011159180081375546_r8, 0.00010737179682501275_r8, & + 0.00010803627142243857_r8, 0.00010831320059949674_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,39,91) / & + 2.7868041536259171e-05_r8, 2.9313435355860864e-05_r8, & + 3.0609905803071856e-05_r8, 4.3691513118882757e-05_r8, & + 4.8066917412082727e-05_r8, 5.0611211322692073e-05_r8, & + 5.4177597222029819e-05_r8, 5.4080592919125863e-05_r8, & + 5.4151515991243396e-05_r8, 5.3416328916376989e-05_r8, & + 5.3592956116406498e-05_r8, 5.4269311237013238e-05_r8, & + 5.7040674381620022e-05_r8, 5.8227384228498692e-05_r8, & + 5.9341968437830092e-05_r8, 6.0609017459114878e-05_r8, & + 6.442636292041339e-05_r8, 6.9536730726940497e-05_r8, & + 7.4244671160245316e-05_r8, 8.0138017570899187e-05_r8, & + 8.3642451339114543e-05_r8, 8.749615219851901e-05_r8, & + 9.0052358711277449e-05_r8, 9.3575987228353399e-05_r8, & + 9.6302453801421327e-05_r8, 9.9860061747150588e-05_r8, & + 0.0001028674313122925_r8, 0.00010733514953069639_r8, & + 0.00011258262418246497_r8, 0.00011144749890117605_r8, & + 0.00011224907610815262_r8, 0.00011324219421280919_r8, & + 0.00011189634697974081_r8, 0.0001132465531778314_r8, & + 9.0888582155272964e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,40,91) / & + 3.7666790878956585e-05_r8, 3.7990831453697735e-05_r8, & + 3.788149112359392e-05_r8, 4.3809800211679614e-05_r8, & + 4.60713087980304e-05_r8, 4.8292436046848244e-05_r8, & + 5.2884937091389346e-05_r8, 5.3167439654780404e-05_r8, & + 5.3577842577906899e-05_r8, 5.3865003746481464e-05_r8, & + 5.4259342369482072e-05_r8, 5.5123635979230095e-05_r8, & + 5.6641187330689679e-05_r8, 5.7050458298056912e-05_r8, & + 5.7693040401376829e-05_r8, 5.8297199890298637e-05_r8, & + 6.0440681633940763e-05_r8, 6.3785413809115907e-05_r8, & + 6.7692193763040079e-05_r8, 7.2770929134488677e-05_r8, & + 7.684080138295189e-05_r8, 8.2146404114130975e-05_r8, & + 8.5412829861167863e-05_r8, 8.9319990822484731e-05_r8, & + 9.1961543451468772e-05_r8, 9.4824845825887275e-05_r8, & + 9.7850654722300782e-05_r8, 0.00010284205099251646_r8, & + 0.00010683475507794497_r8, 0.00010917519676502319_r8, & + 0.00011152769269090654_r8, 0.00011352079759857434_r8, & + 0.0001168479734167943_r8, 0.00011390342207707584_r8, & + 9.3558537074319277e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,41,91) / & + 4.7804945424911506e-05_r8, 4.8084346939658842e-05_r8, & + 4.7593926003083582e-05_r8, 4.9014835889124731e-05_r8, & + 5.0139181835903325e-05_r8, 5.1189636394990742e-05_r8, & + 5.6409583770823851e-05_r8, 5.7805209767320762e-05_r8, & + 5.903280202160159e-05_r8, 6.0127826296068578e-05_r8, & + 6.0913082626242509e-05_r8, 6.1687049961086355e-05_r8, & + 6.307742251906587e-05_r8, 6.4661132518964901e-05_r8, & + 6.5846316756550141e-05_r8, 6.743931618685143e-05_r8, & + 7.1236427544315889e-05_r8, 7.3686869773559354e-05_r8, & + 7.7178933227602955e-05_r8, 8.0297660847915772e-05_r8, & + 8.4380422414656708e-05_r8, 8.8579148587659287e-05_r8, & + 9.093324919811015e-05_r8, 9.3393407541595067e-05_r8, & + 9.542600903981484e-05_r8, 9.7101762147624678e-05_r8, & + 9.8695900567815514e-05_r8, 0.0001012097496740821_r8, & + 0.00010196918805101085_r8, 0.00010172261532496951_r8, & + 0.00010125227716636267_r8, 0.00010091956049681873_r8, & + 0.00010055700375645651_r8, 0.00010052290708171421_r8, & + 0.0001003995130346492_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,42,91) / & + 5.5072723118163802e-05_r8, 5.6322508610940115e-05_r8, & + 5.712489516244515e-05_r8, 6.3469701138708099e-05_r8, & + 6.3883383699890882e-05_r8, 6.4465828899475141e-05_r8, & + 6.6770583992839085e-05_r8, 6.2662206951331103e-05_r8, & + 6.0702237527019344e-05_r8, 6.0295389473776836e-05_r8, & + 6.0197889400253213e-05_r8, 6.0084477617382421e-05_r8, & + 6.0352491078325561e-05_r8, 6.1731515595722593e-05_r8, & + 6.2881652112736338e-05_r8, 6.4476920894379454e-05_r8, & + 6.7887041294011012e-05_r8, 7.1027862351529468e-05_r8, & + 7.5321255637765777e-05_r8, 7.9789466320227879e-05_r8, & + 8.4519708242432036e-05_r8, 8.8958229036591245e-05_r8, & + 9.1733556935254612e-05_r8, 9.4599353569324704e-05_r8, & + 9.7146892240258383e-05_r8, 9.9137913649138574e-05_r8, & + 0.00010121427028364617_r8, 0.00010533352422896703_r8, & + 0.00010760115521105946_r8, 0.00010824447687702631_r8, & + 0.00010794273396152432_r8, 0.00010748057159005198_r8, & + 0.00010632908126572962_r8, 0.00010347452854141242_r8, & + 0.00010362241648824175_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,43,91) / & + 6.725839222986435e-05_r8, 7.3374082459496594e-05_r8, & + 7.2011537391505805e-05_r8, 9.5039855580129906e-05_r8, & + 9.2959019821918062e-05_r8, 9.4380770138160304e-05_r8, & + 9.0962440220396527e-05_r8, 8.1638659347796244e-05_r8, & + 7.0477214711329807e-05_r8, 6.8103383965065927e-05_r8, & + 6.6745205517417807e-05_r8, 6.5884785718367493e-05_r8, & + 6.5972568824215552e-05_r8, 6.706786110666167e-05_r8, & + 6.8008836641407551e-05_r8, 6.8678766005151381e-05_r8, & + 7.0412212880358336e-05_r8, 7.3296233348436491e-05_r8, & + 7.6131395033678586e-05_r8, 8.0016584340728529e-05_r8, & + 8.427911248637816e-05_r8, 8.6807852883074546e-05_r8, & + 8.9805049553872004e-05_r8, 9.3809894096966138e-05_r8, & + 9.7542353963878751e-05_r8, 0.00010053701321312702_r8, & + 0.00010362247631726575_r8, 0.00010863662130665861_r8, & + 0.00011131761828349404_r8, 0.00011375852731231273_r8, & + 0.00011496392199475829_r8, 0.00011647865638727906_r8, & + 0.00011778378946811578_r8, 0.00011846746298837218_r8, & + 0.00011932618062497654_r8, 0.00011765055104202554_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,44,91) / & + 8.5980225072271286e-05_r8, 9.6682800805510357e-05_r8, & + 9.1879136830187147e-05_r8, 0.00012739515448507082_r8, & + 0.00012540130465580986_r8, 0.00012490171909708333_r8, & + 0.00011431015573870479_r8, 9.6532500204206251e-05_r8, & + 7.2805237604402304e-05_r8, 7.0761189831226797e-05_r8, & + 7.0194897884266801e-05_r8, 6.9763010437328101e-05_r8, & + 6.9872926818022337e-05_r8, 7.1912780989583794e-05_r8, & + 7.1843149345132028e-05_r8, 7.2363346178971785e-05_r8, & + 7.0594557767591169e-05_r8, 7.373925456936737e-05_r8, & + 7.5832461192232653e-05_r8, 7.8762921343258674e-05_r8, & + 8.2512147005384345e-05_r8, 8.3402353762734979e-05_r8, & + 8.7678632313688507e-05_r8, 9.258189599252685e-05_r8, & + 9.5854862748364917e-05_r8, 9.9426384211665365e-05_r8, & + 0.00010246858192577621_r8, 0.00011114720307834847_r8, & + 0.00011370779260552799_r8, 0.00011605651680944701_r8, & + 0.00011678900284271273_r8, 0.00011862028927477117_r8, & + 0.00012012762264837886_r8, 0.00012070904017404627_r8, & + 0.00012165459229773867_r8, 0.00012107981445632837_r8, & + 0.00012117531583417292_r8, 0.00012111821521602666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data saar_ref(:,45,91) / & + 8.8212600198446677e-05_r8, 0.00010879059736747654_r8, & + 0.00010599623830845295_r8, 0.00013347694652016709_r8, & + 0.00013625965784562762_r8, 0.00013697957643092208_r8, & + 0.00012375632440932499_r8, 8.7086429601365765e-05_r8, & + 7.1342904324498961e-05_r8, 7.1630954502106467e-05_r8, & + 7.084850583226088e-05_r8, 7.0100235113106416e-05_r8, & + 6.7896372796955634e-05_r8, 6.9812112095986642e-05_r8, & + 7.0403727241922102e-05_r8, 7.1786900230950054e-05_r8, & + 7.1394497405435282e-05_r8, 7.2920606539245139e-05_r8, & + 7.5238856369558071e-05_r8, 7.8312301891496968e-05_r8, & + 8.1952555988673074e-05_r8, 8.4975361518162823e-05_r8, & + 8.9192808361543768e-05_r8, 9.3756774006167984e-05_r8, & + 9.832566459813971e-05_r8, 0.00010260653252675301_r8, & + 0.00010783230585944459_r8, 0.00011771091823645666_r8, & + 0.00011855158313254703_r8, 0.00011887277294248628_r8, & + 0.00011950866223566192_r8, 0.0001205543623834332_r8, & + 0.00012152901735944694_r8, 0.00012169476986137825_r8, & + 0.00012219563316270645_r8, 0.00012252575968108061_r8, & + 0.00012431560690902746_r8, 0.00012446964232803979_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / + +real (r8), dimension(nz,ny,nx) :: delta_sa_ref +data delta_sa_ref(:,1,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,1) / & + 0.0050065250034509109_r8, 0.004934319723756614_r8, & + 0.0045608224016137561_r8, 0.0045354455413227513_r8, & + 0.0045569583475925926_r8, 0.0047513229392857148_r8, & + 0.0050458047645502635_r8, 0.0053979560855238091_r8, & + 0.0057153853994074081_r8, 0.0059990380671746018_r8, & + 0.0062341171689100517_r8, 0.0066464871122328033_r8, & + 0.0070960036797777766_r8, 0.0072922373998835985_r8, & + 0.0075370843071851847_r8, 0.0076765058345185187_r8, & + 0.0078828389893333319_r8, 0.0080962791904444428_r8, & + 0.0082450154553333332_r8, 0.008412701532444446_r8, & + 0.0085848931302222216_r8, 0.0087352394011111101_r8, & + 0.0088125571311111102_r8, 0.0088954911611111107_r8, & + 0.0089636564022222212_r8, 0.0090320920577777793_r8, & + 0.0090579686399999988_r8, 0.0091074128811111099_r8, & + 0.0091506722585185194_r8, 0.0091798076814814823_r8, & + 0.0091844185944444448_r8, 0.0091736297514814821_r8, & + 0.009181430168148149_r8, 0.0091777414377777772_r8, & + 0.0091673686170370364_r8, 0.0092078337118518521_r8, & + 0.0092521678133333334_r8, 0.0092875713044444433_r8, & + 0.0092444298000000005_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,1) / & + 0.0044315519155555556_r8, 0.0038997183516049378_r8, & + 0.0040906263269135795_r8, 0.0044802265155555552_r8, & + 0.0046753501827160497_r8, 0.0049261561130864197_r8, & + 0.0054276662795061719_r8, 0.0059062489990123453_r8, & + 0.0064720946908641986_r8, 0.0068911307629629633_r8, & + 0.0071309444617283944_r8, 0.0073594608459259256_r8, & + 0.0075872653698765427_r8, 0.007735970201975308_r8, & + 0.0078993652409876536_r8, 0.0080299315041975315_r8, & + 0.0082286791871604929_r8, 0.0084076334572839497_r8, & + 0.0085612750864197534_r8, 0.0087054221639506161_r8, & + 0.0088502811017283946_r8, 0.0089437936523456777_r8, & + 0.0090098857160493817_r8, 0.0090608530607407412_r8, & + 0.0091129205530864205_r8, 0.0091426892543209886_r8, & + 0.0091483656464197514_r8, 0.0091678817111111102_r8, & + 0.0092139677283950613_r8, 0.0092360353960493826_r8, & + 0.0092190445202116385_r8, 0.0091925531495943551_r8, & + 0.0091879741977037022_r8, 0.0091804686945679021_r8, & + 0.0091750788955555548_r8, 0.0092039439040740734_r8, & + 0.009227409868641975_r8, 0.0092325465874691353_r8, & + 0.0091106242383630943_r8, 0.0088062086320000003_r8, & + 0.0087403606346666673_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,1) / & + 0.0033227140192592592_r8, 0.0027358915624691358_r8, & + 0.0039027876711111107_r8, 0.0043862609629629623_r8, & + 0.0045414927214814807_r8, 0.0047937685970370382_r8, & + 0.0052847950034567897_r8, 0.0056586233274074074_r8, & + 0.0063424251866666661_r8, 0.007099899959012345_r8, & + 0.0074735803639506175_r8, 0.0078048912167901227_r8, & + 0.0082163371945679006_r8, 0.0084312542745679005_r8, & + 0.0085744861032098756_r8, 0.0086890678681481488_r8, & + 0.0088406571209876557_r8, 0.0089552481308641969_r8, & + 0.0090415773644444454_r8, 0.0091040454123456783_r8, & + 0.0091543563664197528_r8, 0.0091780418982716043_r8, & + 0.0092186918918518521_r8, 0.0092330770158024697_r8, & + 0.0092494775362962963_r8, 0.0092564204849382697_r8, & + 0.0092586207802469126_r8, 0.0092483126740740742_r8, & + 0.0092454374982716032_r8, 0.0092268274375308639_r8, & + 0.0091978722908641966_r8, 0.0091702391703703708_r8, & + 0.0091371804267283939_r8, 0.00910931387154321_r8, 0.0090866198593209865_r8, & + 0.0090417576407407392_r8, 0.0089513210131569668_r8, & + 0.0088204673314197513_r8, 0.0087684820529894177_r8, & + 0.0087393358992945321_r8, 0.0087029341199382718_r8, & + 0.0086591856852962952_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,1) / & + 0.0033467508587654319_r8, 0.0030408450962962964_r8, & + 0.0040295172849382716_r8, 0.0040604785832098764_r8, & + 0.0040867342079012343_r8, 0.0042768286286419752_r8, & + 0.004878498456296297_r8, 0.0053446559787654327_r8, & + 0.0058022064637037046_r8, 0.0063079045871604917_r8, & + 0.006654941079999999_r8, 0.0069940176809876525_r8, & + 0.0074246469056790127_r8, 0.0076884789540740727_r8, & + 0.0078610819516049379_r8, 0.0080244307659259259_r8, & + 0.0082129165674074064_r8, 0.0084051927935802472_r8, & + 0.0085312567718518525_r8, 0.0086307692874074068_r8, & + 0.0087391476987654319_r8, 0.0088150116622222226_r8, & + 0.0089089957046913568_r8, 0.0089728967180246911_r8, & + 0.0090335157782716058_r8, 0.0090873582987654293_r8, & + 0.0091209913841975299_r8, 0.0091692869417283954_r8, & + 0.0091961065076543204_r8, 0.0092089292370370369_r8, & + 0.0092063406543209866_r8, 0.0091873145713580236_r8, 9e90_r8, 9e90_r8, & + 0.0090455885120370363_r8, 0.0089786586258024676_r8, & + 0.0088728025307636682_r8, 0.008753361527216931_r8, & + 0.0086739302062222214_r8, 0.0087065338677777774_r8, & + 0.008686641071851851_r8, 0.0086400457162499993_r8, & + 0.0086322531000000008_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,1) / & + 0.0031818581397530859_r8, 0.0031376211101234565_r8, & + 0.0032490226162962964_r8, 0.0028970031017283952_r8, & + 0.0027985075293827156_r8, 0.0029307656162962962_r8, & + 0.0030967122582716048_r8, 0.0035602257283950619_r8, & + 0.0040873628637037029_r8, 0.0045382015234567887_r8, & + 0.0049434718824691365_r8, 0.005283888999506171_r8, & + 0.0056304540004938272_r8, 0.0059656107476543209_r8, & + 0.0061743337190123459_r8, 0.0063267550162962967_r8, & + 0.0065305411906172841_r8, 0.0067685983511111105_r8, & + 0.0069255681580246897_r8, 0.0070521498528395062_r8, & + 0.0072266480627160489_r8, 0.0073572420607407405_r8, & + 0.0075924702701234562_r8, 0.0077617531791975307_r8, & + 0.0079111872058024689_r8, 0.0080989807925308643_r8, & + 0.0082372839134567909_r8, 0.0085415869998412691_r8, & + 0.0087686955120105815_r8, 0.0089451212254814828_r8, & + 0.0090359970536684295_r8, 0.0091419676868888886_r8, 9e90_r8, 9e90_r8, & + 0.0091343503199999981_r8, 0.0090893450359999985_r8, & + 0.0090399964799999979_r8, 0.0091755365199999994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,1) / & + 0.0017584704637037035_r8, 0.0017515460049382715_r8, & + 0.001434176519012346_r8, 0.0010585546770370371_r8, & + 0.0010373837683950618_r8, 0.0010567981387654322_r8, & + 0.00099830541432098757_r8, 0.0011003602879012346_r8, & + 0.0014746693486419756_r8, 0.0019520687160493827_r8, & + 0.0024210829244444439_r8, 0.0028189573328395059_r8, & + 0.0032384001822222223_r8, 0.0036404625476543209_r8, & + 0.003904710618271605_r8, 0.0041742560385185177_r8, & + 0.0046032766439506167_r8, 0.0049436013116049386_r8, & + 0.0052062315180246904_r8, 0.0054328896696296302_r8, & + 0.0055498658735802474_r8, 0.0056610085214814816_r8, & + 0.0057091053128395059_r8, 0.0057806137547530868_r8, & + 0.0058441022127160482_r8, 0.0059322688777777776_r8, & + 0.0060217367679012345_r8, 0.0063864355502204579_r8, & + 0.0067961456257495589_r8, 0.0071298316022839515_r8, & + 0.0076100691657407403_r8, 0.0079321540654497327_r8, 9e90_r8, 9e90_r8, & + 0.0084610613422962961_r8, 0.0084949935014814806_r8, & + 0.0084805661974999991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,1) / & + 0.00053575341777777779_r8, 0.00052440063358024692_r8, & + 0.00032996109185185184_r8, 0.00036842003506172837_r8, & + 0.00037339381185185183_r8, 0.00037738762518518517_r8, & + 0.000370463166419753_r8, 0.00040635201679012345_r8, & + 0.00049772898666666668_r8, 0.00061630456493827154_r8, & + 0.00076230063012345671_r8, 0.00090617035950617286_r8, & + 0.0011216328908641975_r8, 0.0013554651145679015_r8, & + 0.0015385148923456791_r8, 0.0017503441629629628_r8, & + 0.002217398444444445_r8, 0.0026788040686419753_r8, & + 0.0031351896913580251_r8, 0.0036436612962962964_r8, & + 0.0040157977965432096_r8, 0.0043411271743209875_r8, & + 0.0045747467644444437_r8, 0.0047534884009876538_r8, & + 0.0048866617367901233_r8, 0.0049731296444444429_r8, & + 0.0050263712439506175_r8, 0.005105027178765432_r8, & + 0.0052377660024691347_r8, 0.0054881651555555543_r8, & + 0.0058904863792592597_r8, 0.006315793986358024_r8, 9e90_r8, 9e90_r8, & + 0.007657090077407407_r8, 0.0079760866724691345_r8, & + 0.0081657751413668437_r8, 0.0082824309091534386_r8, & + 0.0082922183271957692_r8, 0.0085981808799999986_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,1) / & + 0.00021778301086419755_r8, 0.00019746263654320985_r8, & + 0.00014795599209876543_r8, 0.00016287732246913578_r8, & + 0.00017379559456790123_r8, 0.00017448896493827161_r8, & + 0.00018978009283950617_r8, 0.00019174926469135798_r8, & + 0.00022646400790123455_r8, 0.00025888600641975308_r8, & + 0.00029845434222222221_r8, 0.00034277457629629628_r8, & + 0.00043759066320987641_r8, 0.00056145434617283949_r8, & + 0.00067367865185185183_r8, 0.00080319099209876551_r8, & + 0.0010794020128395061_r8, 0.0013896505850617285_r8, & + 0.0017860908724074073_r8, 0.0022261175768518516_r8, & + 0.002706156374135803_r8, 0.0031975756904320985_r8, & + 0.0036442113701234563_r8, 0.0040329147997530861_r8, & + 0.0043678450459259258_r8, 0.0046025486050617287_r8, & + 0.0047827312963580242_r8, 0.0048958673840740737_r8, & + 0.0048037924213580243_r8, 0.0047705522458024695_r8, & + 0.0048721286938271597_r8, 0.0050457729025308639_r8, & + 0.0053211215026014108_r8, 0.0058319228319841264_r8, & + 0.0063861595227777792_r8, 0.0070450193640211626_r8, & + 0.0076279932850793651_r8, 0.0077908121002962967_r8, & + 0.0079353950766666674_r8, 0.0079097750414814823_r8, & + 0.0079086490079999985_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,1) / & + 0.00017096664345679012_r8, 0.00014968479555555557_r8, & + 9.0184372839506179e-05_r8, 0.00011567266765432099_r8, & + 0.00012837521283950615_r8, 0.00013231355654320985_r8, & + 0.00018080325777777774_r8, 0.00016769393530864196_r8, & + 0.0001751453555555556_r8, 0.0001900944207407407_r8, & + 0.00020731774074074077_r8, 0.00023245472790123456_r8, & + 0.00028359772641975309_r8, 0.00034849719308641976_r8, & + 0.00042823478567901235_r8, 0.00052842218172839499_r8, & + 0.00079761629432098752_r8, 0.0010826654760493829_r8, & + 0.0014105464567901235_r8, 0.0018085318044444444_r8, & + 0.0022294445990123459_r8, 0.0026986806859259256_r8, & + 0.0032080490498765436_r8, 0.0036849307007407405_r8, & + 0.0040655910340740738_r8, 0.0043521009160493824_r8, & + 0.0045853599535802467_r8, 0.0047211680967901241_r8, & + 0.004612022355555555_r8, 0.0044424424528395059_r8, 0.004405444209876542_r8, & + 0.0044710185570370365_r8, 0.0045714648113580249_r8, & + 0.0049459957506172844_r8, 0.0055093637990123448_r8, & + 0.0064255926513580239_r8, 0.0073420526271604928_r8, & + 0.0076266580518518532_r8, 0.0078055106276543199_r8, & + 0.0078632857137654333_r8, 0.0078887011138928567_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,1) / & + 0.00015209772444444445_r8, 0.00014241827407407407_r8, & + 8.996249432098767e-05_r8, 0.0001224861871604938_r8, & + 0.00012421499061728394_r8, 0.0001390993412345679_r8, & + 0.00016587268246913582_r8, 0.0001711422972839506_r8, & + 0.00017302826469135804_r8, 0.00017837183901234566_r8, & + 0.00019286790222222217_r8, 0.00021557347061728393_r8, & + 0.00025848847407407402_r8, 0.00030045124888888891_r8, & + 0.00034939395209876542_r8, 0.00040469717283950609_r8, & + 0.00063835374271604939_r8, 0.00095024098024691357_r8, & + 0.0012655488449382715_r8, 0.0016084713402469135_r8, & + 0.0020129651244444441_r8, 0.0024700718523456787_r8, & + 0.0030311748908641973_r8, 0.0035604476069135797_r8, & + 0.0039647195125925919_r8, 0.0042167180400000002_r8, & + 0.0044002393096296295_r8, 0.0044295827437037033_r8, & + 0.004309108486234569_r8, 0.0042103035386331566_r8, & + 0.0041803672728924161_r8, 0.0041923536655379184_r8, & + 0.0042366360944179893_r8, 0.0043907066226543199_r8, & + 0.0047802581102821869_r8, 0.0056815611748765437_r8, & + 0.0068307663347301571_r8, 0.0074087617904938265_r8, & + 0.0077749581867777775_r8, 0.007845305464444445_r8, & + 0.0078525858533333333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,1) / & + 0.00014336125777777777_r8, 0.00014240902913580247_r8, & + 0.00012192224592592592_r8, 0.00011498854222222222_r8, & + 0.0001183352098765432_r8, 0.00014466479407407407_r8, & + 0.00015099757679012347_r8, 0.00016712074913580248_r8, & + 0.00018429784444444442_r8, 0.00019602042617283951_r8, & + 0.00021605420740740739_r8, 0.00025411561827160488_r8, & + 0.000306414234074074_r8, 0.00036079296098765428_r8, & + 0.00044044734913580242_r8, 0.00053415404345679004_r8, & + 0.00081537582074074069_r8, 0.0011602212632098763_r8, & + 0.0015429524627160493_r8, 0.0020204812592592592_r8, & + 0.0025382070474074072_r8, 0.0030622748632098762_r8, & + 0.0034924603308641969_r8, 0.0038081010133333331_r8, & + 0.0039781986325925925_r8, 0.0040381705471604938_r8, & + 0.0040151598958024694_r8, 0.0038420761614814812_r8, & + 0.0038159222311111114_r8, 0.0038886417599382711_r8, & + 0.0039419295841358025_r8, 0.00395740561080247_r8, 0.0039772348477777782_r8, & + 0.0040322859788624339_r8, 0.0041468160381816577_r8, & + 0.0044819275841975308_r8, 0.0050386075801058198_r8, & + 0.0052359638668412695_r8, 0.0051517114178452382_r8, & + 0.0053968898800000002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,1) / & + 0.00013971237185869955_r8, 0.0001432549661338864_r8, & + 0.00013516359696097449_r8, 0.00013730173078386828_r8, & + 0.00013874811542876706_r8, 0.00018929821066316374_r8, & + 0.00016443716444794731_r8, 0.00018285236605002802_r8, & + 0.0002353833793850469_r8, 0.00027115519672591272_r8, & + 0.00030147686902802962_r8, 0.00034632527406804276_r8, & + 0.00040585762756822382_r8, 0.00050660146239986815_r8, & + 0.00063891421426365096_r8, 0.00081746935057158839_r8, & + 0.0012563422798168493_r8, 0.0016949636639064757_r8, & + 0.0022080319330157823_r8, 0.0028501638290619256_r8, & + 0.0034171990151029993_r8, 0.0038253834353608419_r8, & + 0.0039866762853633577_r8, 0.0039977652343075815_r8, & + 0.0039212431017539157_r8, 0.0038108671836710982_r8, & + 0.0036774853648958677_r8, 0.003487118087321257_r8, & + 0.0036344082569934474_r8, 0.0038896217794810199_r8, & + 0.0041124279010843392_r8, 0.0042421203909102602_r8, & + 0.0043390805673592355_r8, 0.0044196693465956604_r8, & + 0.0044911186518440298_r8, 0.0045596332636099936_r8, & + 0.0047407457756668825_r8, 0.0048100988712849631_r8, & + 0.0050429104634798511_r8, 0.0052640248316145827_r8, & + 0.0054551692789096239_r8, 0.0048164608675128895_r8, & + 0.0046965799488877325_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,1) / & + 0.00010142371991872263_r8, 0.0001065089665042963_r8, & + 0.00010782128820379916_r8, 0.0001174996607376329_r8, & + 0.00012165925183873579_r8, 0.00022533266609946331_r8, & + 0.00015102244986511275_r8, 0.00019302846140723616_r8, & + 0.00027634917216763785_r8, 0.00034519919275941393_r8, & + 0.00039852397895974976_r8, 0.0004644564272017382_r8, & + 0.00058263568310518512_r8, 0.00074877326683064351_r8, & + 0.00096645462873568401_r8, 0.0012391011789654384_r8, & + 0.0017869720541918291_r8, 0.0023454352402784919_r8, & + 0.0028873303649089312_r8, 0.003397378254010363_r8, & + 0.0037696557989800555_r8, 0.0039541658864985551_r8, & + 0.0039686365766671795_r8, 0.0038769380979144156_r8, & + 0.0037324772565468173_r8, 0.0035862588414745282_r8, & + 0.003438528913016204_r8, 0.0032612951806351275_r8, & + 0.0034005653209948699_r8, 0.0037559115726093699_r8, & + 0.0041047430843584786_r8, 0.0043783152900727044_r8, & + 0.0046122366330090927_r8, 0.0047706760439080028_r8, & + 0.0048947490303011812_r8, 0.0049620758203488919_r8, & + 0.0050074446562459922_r8, 0.0050357415928915213_r8, & + 0.0050706235723506294_r8, 0.0051400081882775825_r8, & + 0.0052138687585724834_r8, 0.0050993596931873681_r8, & + 0.0052348036583624883_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,1) / & + 6.7369946405688882e-05_r8, 6.9364749663999994e-05_r8, & + 7.1204113707377774e-05_r8, 0.00011043956221013334_r8, & + 0.00012894978205511107_r8, 0.00026083995592604439_r8, & + 0.00017998565762488886_r8, 0.0002945832188344889_r8, & + 0.00043721165180373329_r8, 0.00058818198930773329_r8, & + 0.00070640646553244443_r8, 0.00083617230346595542_r8, & + 0.0010298107054691555_r8, 0.0012893164748003555_r8, & + 0.0015576045597752886_r8, 0.0018502966014947552_r8, & + 0.0023560180872803553_r8, 0.0028445376332800003_r8, & + 0.0033081739516223991_r8, 0.0036991294837155548_r8, & + 0.0039772102392312877_r8, 0.0041131677392263104_r8, & + 0.0041154475143786659_r8, 0.0039815884437852432_r8, & + 0.0037874966774051537_r8, 0.0035950499760497778_r8, & + 0.0034694291838478224_r8, 0.0033351037956096002_r8, & + 0.0034664240256924443_r8, 0.0038032996642567104_r8, & + 0.0041975712329351111_r8, 0.0046112986100159993_r8, & + 0.0049795211569251549_r8, 0.0052174856417201761_r8, & + 0.0053509431610083546_r8, 0.005420411536815644_r8, & + 0.0054677557310307554_r8, 0.005505475647187911_r8, & + 0.0055363562378880002_r8, 0.0055698260943201775_r8, & + 0.0055919028576994654_r8, 0.0056125823798261866_r8, & + 0.0056921864795963992_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,1) / & + 0.00010674668912129051_r8, 0.00010890347454551437_r8, & + 9.8956720714060893e-05_r8, 0.00016883940633447244_r8, & + 0.00021874344802523123_r8, 0.00028726395337771196_r8, & + 0.00032602933350257769_r8, 0.00058688685481133815_r8, & + 0.0008205433388948541_r8, 0.0010320360148689117_r8, & + 0.0011702973120638945_r8, 0.0013280406249658468_r8, & + 0.0015278270642623735_r8, 0.0017621788278576458_r8, & + 0.001969514016138956_r8, 0.0021959764856824627_r8, 0.002607539388508866_r8, & + 0.0030306098767237263_r8, 0.0034779583903388964_r8, & + 0.0038601350917602502_r8, 0.0041248663132059382_r8, & + 0.0042475902417198341_r8, 0.0042217371953847298_r8, & + 0.0040860157968143273_r8, 0.0038917348361006874_r8, & + 0.0036952261430738694_r8, 0.0035581425642355353_r8, & + 0.0034456775558644932_r8, 0.0036836050426630853_r8, & + 0.0040360408082346132_r8, 0.0044581889868930621_r8, & + 0.0049041185627291383_r8, 0.0053273877022330714_r8, & + 0.0056675922241488054_r8, 0.0058397661342641507_r8, & + 0.0059180205527812205_r8, 0.0059727206041653193_r8, & + 0.0060187509457191486_r8, 0.006068640798032118_r8, 0.006101185909667876_r8, & + 0.0061284632147987472_r8, 0.0061279086128325187_r8, & + 0.0059956417703143682_r8, 0.0059857606423551991_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,1) / & + 0.00020910791086511929_r8, 0.00023591740843693825_r8, & + 0.0002301174250727242_r8, 0.00026885082461405754_r8, & + 0.00033680009780385182_r8, 0.00039791587995548965_r8, & + 0.00048675126345152259_r8, 0.00081440404706660074_r8, & + 0.001034479479665646_r8, 0.0011780753443929547_r8, & + 0.0012854984405322799_r8, 0.0014131135000326584_r8, & + 0.0015968464836793414_r8, 0.0018150708577578934_r8, & + 0.0020138745428589298_r8, 0.0022305100917073906_r8, & + 0.0027180480550301235_r8, 0.0032027014521584197_r8, & + 0.003673255953555621_r8, 0.0040584149552073739_r8, & + 0.0042890722723485748_r8, 0.0043623896152478027_r8, & + 0.0042477936673415637_r8, 0.0040505016800322629_r8, & + 0.003804280045831243_r8, 0.0035871817323526582_r8, & + 0.0034689299438684443_r8, 0.0034120870218016124_r8, & + 0.0037169255091516048_r8, 0.0042004682711676046_r8, & + 0.0046788126438385511_r8, 0.0051385693038662056_r8, & + 0.0055449287101354905_r8, 0.0059420289674303869_r8, & + 0.0062356280588262546_r8, 0.0063790349613295962_r8, & + 0.0064646039978113416_r8, 0.0065221911996582883_r8, & + 0.0065236736992055032_r8, 0.0065258591602622889_r8, & + 0.0065465720092873691_r8, 0.0065439067053819676_r8, & + 0.006506105446024168_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,1) / & + 0.00027479972840233085_r8, 0.00033639765454696296_r8, & + 0.00034552821000470113_r8, 0.00037615222630273576_r8, & + 0.0004861187701368098_r8, 0.00058009018032229129_r8, & + 0.00076335109178153073_r8, 0.00099693002784363434_r8, & + 0.0011578810601825973_r8, 0.0012553847290488096_r8, & + 0.0013356769676452344_r8, 0.0014388622412762071_r8, & + 0.001616741456726597_r8, 0.0018842767285968591_r8, & + 0.0021704896513213626_r8, 0.0024037020322373523_r8, & + 0.0029102645825687693_r8, 0.0034250746236877423_r8, & + 0.0039436501858531548_r8, 0.0043096221760524633_r8, & + 0.0044979482131670898_r8, 0.004540535256506468_r8, & + 0.0043064897957129471_r8, 0.0040018158229023605_r8, & + 0.0036747153397886406_r8, 0.0033939174362680883_r8, & + 0.0032631405570932924_r8, 0.0032675892036393081_r8, & + 0.0036642018717342015_r8, 0.0043041904952509629_r8, & + 0.0048925781511534603_r8, 0.0053828789822754743_r8, & + 0.0057957741965767107_r8, 0.006142602011190359_r8, & + 0.0064443935276246901_r8, 0.0066593947824178552_r8, & + 0.006817884063718715_r8, 0.0069402938456378221_r8, & + 0.0070045777403190262_r8, 0.0070496302240502491_r8, & + 0.0070499796075499084_r8, 0.0070628287085499715_r8, & + 0.007071713505443839_r8, 0.0070812955901951987_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,1) / & + 0.00034404762993559175_r8, 0.00039557512962786503_r8, & + 0.00038929303431977622_r8, 0.00047661594887295471_r8, & + 0.00061322914968959998_r8, 0.00072500033259277705_r8, & + 0.00088174845426868171_r8, 0.0010621752428750747_r8, & + 0.0011571225807936267_r8, 0.0012402216363932184_r8, & + 0.0013201706954850503_r8, 0.0014060796911512235_r8, & + 0.0016702856482395656_r8, 0.002073019860839612_r8, & + 0.0023794644074638226_r8, 0.0026275803255721877_r8, & + 0.0031635629699919539_r8, 0.0036424698254160066_r8, & + 0.0041614854431917042_r8, 0.0044922350765064702_r8, & + 0.0046508803551700015_r8, 0.0046478735403216861_r8, & + 0.0043323548560302355_r8, 0.0039408783014039444_r8, & + 0.0035690534295362898_r8, 0.0032440847557215604_r8, & + 0.0030589866654758191_r8, 0.0030855826587174711_r8, & + 0.0035221435383610733_r8, 0.0042530680121133299_r8, & + 0.0049813794205807414_r8, 0.0055357967036538738_r8, & + 0.0059886444970591876_r8, 0.0063245934143824995_r8, & + 0.0066011174686098498_r8, 0.0068127556217615253_r8, & + 0.0070374527092990609_r8, 0.0073152765845285487_r8, & + 0.0076550056255019405_r8, 0.0080082459654164991_r8, & + 0.008286566949469866_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,1) / & + 0.00080779149920574139_r8, 0.00074484124025489377_r8, & + 0.00068020720538074068_r8, 0.00057173759504871766_r8, & + 0.00068692317525665151_r8, 0.00092554101093325397_r8, & + 0.00094295278468561634_r8, 0.0012323709053210334_r8, & + 0.0013128094732934843_r8, 0.001398528974843575_r8, & + 0.0014765184142003093_r8, 0.0015436589791421097_r8, & + 0.0018878763525541924_r8, 0.0023020278282353773_r8, & + 0.0025804440039173789_r8, 0.0028830453246795843_r8, & + 0.0034677939154992977_r8, 0.0039266802560519367_r8, & + 0.0044479811086707349_r8, 0.0048103947423449008_r8, & + 0.0049204333256963684_r8, 0.0048970135333085748_r8, & + 0.0045641042459268737_r8, 0.004204254543772286_r8, & + 0.0038590422118600686_r8, 0.0035610521410696424_r8, & + 0.0033995244553361903_r8, 0.0033350626248178296_r8, & + 0.0037232112427743333_r8, 0.0044814270213291187_r8, & + 0.0052382842988548733_r8, 0.0058402150576192247_r8, & + 0.0063446948930951158_r8, 0.0067072639890349275_r8, & + 0.007022608432125787_r8, 0.0073461636745699201_r8, & + 0.0076457251101069547_r8, 0.0079943272027608731_r8, & + 0.0084714455428129311_r8, 0.0089359023526001512_r8, & + 0.008872209496532479_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,1) / & + 0.0011823306653999763_r8, 0.0010271362641238635_r8, & + 0.00094039704016288012_r8, 0.00061770378309146086_r8, & + 0.00072521422180821336_r8, 0.0010504618677492743_r8, & + 0.00094891879920286826_r8, 0.0014276925493831704_r8, & + 0.0014811452753227736_r8, 0.0015728191141455646_r8, & + 0.0016707047622649834_r8, 0.0017075570160409955_r8, & + 0.0020332507633875202_r8, 0.0024197701318201133_r8, & + 0.0027347391125010371_r8, 0.0030850723237767349_r8, & + 0.0036968362360995555_r8, 0.0041913885318813271_r8, & + 0.0047436620718453925_r8, 0.0051460210956610257_r8, & + 0.0052372702215019024_r8, 0.0051885260042322965_r8, & + 0.0048472125967163856_r8, 0.0045117351733404455_r8, & + 0.0041578331508210376_r8, 0.003848159332713185_r8, 0.0036930321521968_r8, & + 0.0036364292170172445_r8, 0.0040465522385813918_r8, & + 0.004837786412909155_r8, 0.0056164930820149931_r8, & + 0.0062603457406404132_r8, 0.0067925412799333994_r8, & + 0.0071985183847541332_r8, 0.0075329111095072_r8, 0.0079046686463292003_r8, & + 0.0082572453504607991_r8, 0.0086346746388848011_r8, & + 0.0091320013187498657_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,25,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,1) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,1) / & + 0.0046943892094801062_r8, 0.0049692022189388799_r8, & + 0.0023400245476070392_r8, 0.00045371181202346662_r8, & + 0.00054986110275797326_r8, 0.00061333373967317327_r8, & + 0.0007978745544081064_r8, 0.0010282567180262398_r8, & + 0.0014686862930655996_r8, 0.0022941244277637327_r8, & + 0.0024595646804639994_r8, 0.0011131219844202666_r8, & + 0.0011783577501386666_r8, 0.0013141186679850663_r8, & + 0.0014448840542223998_r8, 0.001550965637214933_r8, & + 0.0017187567283194665_r8, 0.0019976249340255994_r8, & + 0.0020646238285471994_r8, 0.0021128160158346665_r8, & + 0.0020898953413930666_r8, 0.0020399400253023996_r8, & + 0.0018800830138122665_r8, 0.0020287735428821331_r8, & + 0.0018765567562058663_r8, 0.001948845037137066_r8, & + 0.0018301276977215994_r8, 0.0012866922199352888_r8, & + 0.0013752404664959996_r8, 0.0012224359702186665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,1) / & + 0.0052514098104560637_r8, 0.0056614990868039125_r8, & + 0.0037922534740623317_r8, 0.00048817626887611663_r8, & + 0.00065528805777315363_r8, 0.00082586517778231324_r8, & + 0.00072625414408873873_r8, 0.0014518618303958322_r8, & + 0.0031702724041895703_r8, 0.0033640200808084443_r8, & + 0.0034520343027548343_r8, 0.0014465553003206201_r8, & + 0.0011927710181960057_r8, 0.0013379756807208217_r8, & + 0.0014527287451942868_r8, 0.0015647046996589392_r8, & + 0.001745372466949586_r8, 0.0019432734889248591_r8, & + 0.0019347191082696457_r8, 0.0019107301428257773_r8, & + 0.0019559050275850744_r8, 0.002006639967988914_r8, 0.001920484069013633_r8, & + 0.0019171434968059727_r8, 0.0018031464702195669_r8, & + 0.001858760643127802_r8, 0.0018167084671713181_r8, 0.001661571567636227_r8, & + 0.0016784503079857332_r8, 0.0017330644813816889_r8, & + 0.0016635038085482667_r8, 0.0011249921567807997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,1) / & + 0.0045742833717924555_r8, 0.0048836708901575524_r8, & + 0.0042843400492778658_r8, 0.00086432285649848872_r8, & + 0.0015587847796332116_r8, 0.0023701241599378771_r8, & + 0.0010471154127285331_r8, 0.0038669182417674654_r8, & + 0.0049698387089759993_r8, 0.0044613217934858663_r8, & + 0.0040936462059690659_r8, 0.0012412730377862357_r8, & + 0.0012588203019463107_r8, 0.0013492422060942218_r8, & + 0.0014464670121215998_r8, 0.0015215823870407105_r8, & + 0.0016857023948828442_r8, 0.0019137413349674664_r8, & + 0.001913528744283733_r8, 0.0019301108176149331_r8, & + 0.0022575004705642663_r8, 0.0021703382902335997_r8, & + 0.0020784991148607998_r8, 0.0020733969384511999_r8, & + 0.0018973718523199996_r8, 0.0016747894064511996_r8, & + 0.0013112593372671996_r8, 0.0015587148931327998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,1) / & + 0.00016635455124953751_r8, 0.00020602135170622222_r8, & + 0.00023642192864432_r8, 0.00030740815953247995_r8, & + 0.00036904594430247462_r8, 0.00043183278489676086_r8, & + 0.00058260407983839991_r8, 0.00074746678525178646_r8, & + 0.00080331757083519986_r8, 0.00087092350501439999_r8, & + 0.00091466852124800005_r8, 0.00090010645146526374_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,1) / & + 0.00078738972710124834_r8, 0.00080395115529916037_r8, & + 0.00078204235266409871_r8, 0.00092599719741999996_r8, & + 0.00093064008030399993_r8, 0.00048905033044800001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,1) / & + 0.00057149106304890771_r8, 0.00054948997740039782_r8, & + 0.00051950485847914666_r8, 0.0013419723701914308_r8, & + 0.0010738767717095464_r8, 0.00087331992031719984_r8, & + 0.0010365067661855997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,37,1) / & + 0.00064254882254659415_r8, 0.00064647971803496302_r8, & + 0.00062004752044631428_r8, 0.00087261780414277517_r8, & + 0.00089562470230239346_r8, 0.00093046072628274557_r8, & + 0.0011808318948670576_r8, 0.0012154700075971555_r8, & + 0.001173610343368704_r8, 0.0011924414735701332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,38,1) / & + 0.00079421294120438849_r8, 0.00084892242655492983_r8, & + 0.00088985681982917521_r8, 0.0012530200507254187_r8, & + 0.0013728609970726025_r8, 0.0014639367255045662_r8, & + 0.0016403756399108709_r8, 0.0016746704051655325_r8, & + 0.0017371053792736861_r8, 0.0017657124947890073_r8, & + 0.0018017457136663873_r8, 0.0018484013954884629_r8, & + 0.0019449969832830236_r8, 0.001992395409996539_r8, & + 0.0020665972393141886_r8, 0.0021251279587538602_r8, & + 0.0023043200078021486_r8, 0.0025254052907218568_r8, & + 0.0027409635828515677_r8, 0.0029263099191905576_r8, & + 0.0030721817865437314_r8, 0.0031617834623877011_r8, & + 0.0032406080713231603_r8, 0.0033181611332977297_r8, & + 0.0034124760098767286_r8, 0.0035294357249992013_r8, & + 0.0036267118931671148_r8, 0.003768130520497264_r8, & + 0.0039143937417484001_r8, 0.0037664674178055622_r8, & + 0.0037897185622332435_r8, 0.0037993823191359993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,1) / & + 0.00098282857114137274_r8, 0.0010340751159269134_r8, & + 0.0010798351285827947_r8, 0.0015414820589819257_r8, & + 0.001695999924846301_r8, 0.0017859634871425578_r8, & + 0.0019115700524939064_r8, 0.0019075232486535896_r8, & + 0.0019093910042721973_r8, 0.0018823085478023897_r8, & + 0.0018877561683566613_r8, 0.0019110252904384788_r8, & + 0.0020075649089752491_r8, 0.0020481496821045725_r8, & + 0.0020864775838614126_r8, 0.0021297083441170961_r8, & + 0.0022621244351612836_r8, 0.0024406118314644538_r8, & + 0.0026051688837788441_r8, 0.0028114780564841868_r8, & + 0.0029342051652568486_r8, 0.0030691894202766216_r8, & + 0.0031588027783943894_r8, 0.0032823470302501918_r8, & + 0.0033779527709776581_r8, 0.0035027032816704784_r8, & + 0.0036081536509710212_r8, 0.0037647894182957818_r8, & + 0.0039488867520105549_r8, 0.0039091152308068349_r8, & + 0.0039370683337759402_r8, 0.003972988581805669_r8, & + 0.0039269270044405323_r8, 0.0039727599763002656_r8, & + 0.0035261183221599996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,1) / & + 0.0013265598166083943_r8, 0.0013390055990413167_r8, & + 0.0013347499444029626_r8, 0.0015437186462202467_r8, & + 0.0016235322445320162_r8, 0.0017021414122857608_r8, & + 0.0018639767315990123_r8, 0.0018740939482864193_r8, & + 0.0018879047520184357_r8, 0.0018977810825942379_r8, & + 0.0019114714432704523_r8, 0.0019417427979621399_r8, & + 0.0019950187763120978_r8, 0.0020091507615262543_r8, & + 0.0020315531699055139_r8, 0.0020521890801330034_r8, & + 0.0021261009687104523_r8, 0.0022420876314482303_r8, & + 0.0023775057738554726_r8, 0.0025541957367176955_r8, & + 0.0026961178041382708_r8, 0.0028815599623888055_r8, & + 0.002995940717715884_r8, 0.003132844324478024_r8, 0.0032254248867048555_r8, & + 0.003325794099873579_r8, 0.0034318642843502883_r8, & + 0.0036068680444312743_r8, 0.0037469081891049381_r8, & + 0.0038290223931671239_r8, 0.0039115925602262779_r8, & + 0.0039820590604848242_r8, 0.0040984543693047886_r8, & + 0.0039954574901353073_r8, 0.0036340681011999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,1) / & + 0.0016599867909495043_r8, 0.0016722777781082599_r8, & + 0.001656924390108602_r8, 0.0017094818099457052_r8, & + 0.0017511552916590616_r8, 0.0017900146753023999_r8, & + 0.0019748760882255011_r8, 0.0020254057021003849_r8, & + 0.0020690242221856657_r8, 0.0021077594544435621_r8, & + 0.0021354452133971226_r8, 0.0021627171343992098_r8, & + 0.0022117155478536426_r8, 0.0022673353685316476_r8, & + 0.0023090088502450037_r8, 0.0023649183574890402_r8, & + 0.0024980914102731323_r8, 0.0025840041689989793_r8, & + 0.0027064588188399148_r8, 0.0028158361894142945_r8, & + 0.0029589827368288915_r8, 0.0031061848961679264_r8, & + 0.0031887455674868407_r8, 0.0032750307803690137_r8, & + 0.0033463350594078551_r8, 0.0034051000485170561_r8, & + 0.0034610095557610931_r8, 0.0035491311745529282_r8, & + 0.0035757150899606905_r8, 0.0035670030620858378_r8, & + 0.0035505677834416134_r8, 0.0035388217321853871_r8, & + 0.0035255818737236115_r8, 0.0035242233028486315_r8, & + 0.0035204100817243424_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,1) / & + 0.0018621915103517238_r8, 0.0019191743233730367_r8, & + 0.0019608565904895999_r8, 0.0021899385800105871_r8, & + 0.0022120583107196837_r8, 0.0022383547921214419_r8, & + 0.0023280270722985871_r8, 0.0021907483582061034_r8, & + 0.0021260513423748736_r8, 0.0021136063301069432_r8, & + 0.002111517954760612_r8, 0.0021081083623584393_r8, & + 0.0021182518997549032_r8, 0.0021667959715808392_r8, & + 0.0022073275012616687_r8, 0.0022632021967522761_r8, & + 0.0023824100711132439_r8, 0.0024921563265581821_r8, & + 0.0026424767315889777_r8, 0.0027990622626587651_r8, & + 0.0029648110733093923_r8, 0.0031201606271333915_r8, & + 0.0032175044902154263_r8, 0.0033180448461744981_r8, & + 0.0034074187870164543_r8, 0.0034772728113559698_r8, & + 0.0035501102290473869_r8, 0.0036945917070894613_r8, & + 0.0037741204498701435_r8, 0.0037966770346057666_r8, & + 0.0037860015094661964_r8, 0.0037696697140737348_r8, & + 0.0037290605552801775_r8, 0.0036282751348671993_r8, & + 0.0036334534533279989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,1) / & + 0.0022034139009572875_r8, 0.0024150630288984495_r8, & + 0.0023841445383890173_r8, 0.0031668866924490792_r8, & + 0.0031148734587693821_r8, 0.0031780699762503648_r8, & + 0.0030951821080761415_r8, 0.0028049868574365495_r8, & + 0.0024364209081581567_r8, 0.0023643654756659621_r8, & + 0.0023254213344285498_r8, 0.0023015636623191439_r8, & + 0.0023120452498819159_r8, 0.0023523927835963519_r8, & + 0.0023863811951492738_r8, 0.0024104581473332149_r8, 0.00247111101594959_r8, & + 0.0025719798502356803_r8, 0.002671138299940398_r8, & + 0.0028069165220924578_r8, 0.0029562023968358721_r8, & + 0.003045010827022538_r8, 0.0031503529748291422_r8, 0.003291086926665692_r8, & + 0.0034222602672525173_r8, 0.0035275256670330331_r8, & + 0.0036358883978663574_r8, 0.0038117839096545908_r8, & + 0.0039057563855965567_r8, 0.003991605317920123_r8, & + 0.0040342474609859433_r8, 0.0040877859442126569_r8, & + 0.0041338275549482684_r8, 0.0041579449173173733_r8, & + 0.0041882055676031992_r8, 0.0041287039193781336_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,1) / & + 0.0027475533475112036_r8, 0.0030915160753851533_r8, & + 0.0029552476742793483_r8, 0.004117046269412057_r8, 0.004081919504203114_r8, & + 0.0041056830539657734_r8, 0.003823406352800211_r8, & + 0.0032763937870111601_r8, 0.0024973371470690766_r8, & + 0.0024417836493317007_r8, 0.0024327652243743346_r8, & + 0.0024260915899058837_r8, 0.0024419189257060612_r8, & + 0.0025177187874727241_r8, 0.0025169071292265618_r8, & + 0.0025360712822609646_r8, 0.0024748361768004482_r8, & + 0.0025852667904033978_r8, 0.0026588120459307193_r8, & + 0.0027615769983199085_r8, 0.0028930656341983082_r8, & + 0.0029247203057986633_r8, 0.0030751927262123195_r8, & + 0.0032474897350228018_r8, 0.0033625197453540086_r8, & + 0.0034881013128853331_r8, 0.003595104925004484_r8, & + 0.0038999276885634637_r8, 0.0039898413853884053_r8, & + 0.0040723148816235203_r8, 0.0040983330376255216_r8, & + 0.0041629049603202628_r8, 0.0042160516658971432_r8, & + 0.0042367908224330295_r8, 0.0042704359892561166_r8, & + 0.0042504803083884017_r8, 0.0042539414510523984_r8, & + 0.0042521422752734026_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,1) / & + 0.0027709380436479998_r8, 0.0034233785724586668_r8, & + 0.0033516624651946663_r8, 0.0042568698423466663_r8, & + 0.0043959472028159991_r8, 0.0044625208760319997_r8, & + 0.004163703762431999_r8, 0.0029745043067733331_r8, & + 0.0024534506514773328_r8, 0.0024749932805973335_r8, & + 0.0024585930855253327_r8, 0.0024408956998826664_r8, & + 0.0023728395231573333_r8, 0.002443397424554667_r8, & + 0.0024660519313066667_r8, 0.0025153451729919988_r8, & + 0.0025020026414079989_r8, 0.0025556507371520005_r8, & + 0.0026370494454613334_r8, 0.0027450405604693331_r8, & + 0.0028730918010879997_r8, 0.002979600412586666_r8, 0.003127943419989333_r8, & + 0.0032885170813439996_r8, 0.0034492297274026653_r8, & + 0.0035997964900693321_r8, 0.0037835342687573322_r8, & + 0.0041308107158186677_r8, 0.0041600438318933342_r8, & + 0.0041711626082133321_r8, 0.004193678130261334_r8, & + 0.0042307870462293335_r8, 0.0042651162681173341_r8, & + 0.0042712779233279995_r8, 0.0042891142936746663_r8, & + 0.0043009279935146659_r8, 0.0043644903314773329_r8, & + 0.0043699107349333332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,2) / & + 0.0047206651721481479_r8, 0.0046170201691851853_r8, & + 0.0044104013457777775_r8, 0.0044160869828148153_r8, & + 0.0044882945731851845_r8, 0.0047098680087407406_r8, & + 0.0050325653525925933_r8, 0.0053317907226666673_r8, & + 0.005646902594666668_r8, 0.0059074489919999987_r8, & + 0.0061133134284444444_r8, 0.0064895306444444443_r8, & + 0.0069459902266666663_r8, 0.0072389697164444442_r8, & + 0.0074648864239999987_r8, 0.0075834860391111106_r8, & + 0.0077700636853333315_r8, 0.0080481162977777774_r8, & + 0.0081823167462222214_r8, 0.0083347597691111122_r8, & + 0.0084862501011111115_r8, 0.0086996237386666678_r8, & + 0.0087859525100000002_r8, 0.0088710498555555559_r8, & + 0.0089293553699999993_r8, 0.009010022078888888_r8, & + 0.0090434078622222205_r8, 0.0090938921588888874_r8, & + 0.0091604002448148134_r8, 0.0091783724048148142_r8, & + 0.0091922051437037036_r8, 0.0092011080192592586_r8, & + 0.0091595751340740744_r8, 0.0091530019829629636_r8, & + 0.0091942575200000022_r8, 0.0092203005111111125_r8, & + 0.0092615699155555557_r8, 0.0093035881600000009_r8, & + 0.0092466763199999993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,2) / & + 0.0041417508355555549_r8, 0.0037103542809876541_r8, & + 0.0040023094316049375_r8, 0.0044222884874074078_r8, & + 0.0045792398044444448_r8, 0.004785873419753086_r8, & + 0.0053285512962962973_r8, 0.0057231437516049371_r8, & + 0.0062546444977777775_r8, 0.006703458516049381_r8, & + 0.0069914290982716031_r8, 0.0072584136706172831_r8, & + 0.0075328866429629614_r8, 0.0077131999190123476_r8, & + 0.0078556736627160475_r8, 0.0079693216888888866_r8, & + 0.0081597859071604936_r8, 0.0083311963076543195_r8, & + 0.0085092445738271585_r8, 0.0086727043274074083_r8, & + 0.0088166572612345673_r8, 0.0089447458809876531_r8, & + 0.0090286436958024671_r8, 0.0090891980414814812_r8, & + 0.0091288126019753099_r8, 0.0091743624128395058_r8, & + 0.0091948676859259244_r8, 0.0092188952804938256_r8, & + 0.0092731642237654319_r8, 0.0092926520583774246_r8, & + 0.0092844511377777796_r8, 0.0092757041054673719_r8, & + 0.0092424598027072303_r8, 0.0092097719791957664_r8, & + 0.0092250018923985891_r8, 0.0092369344662962954_r8, & + 0.0092695923428112864_r8, 0.009307426658370371_r8, 0.0092388135_r8, & + 0.0089501356799999987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,2) / & + 0.0034416686399999993_r8, 0.0029222232933333332_r8, & + 0.0040008579762962964_r8, 0.0044425903718518511_r8, & + 0.0045629409782716041_r8, 0.0047825359970370372_r8, & + 0.0052060743540740745_r8, 0.005602885594567902_r8, & + 0.0062577507970370374_r8, 0.0069851332953086414_r8, & + 0.0074675711540740739_r8, 0.007801119281975309_r8, & + 0.0082143217980246899_r8, 0.0084848656716049378_r8, & + 0.0086219958409876531_r8, 0.0087338965738271608_r8, & + 0.0088526940306172842_r8, 0.0089787117841975302_r8, & + 0.0091016232385185171_r8, 0.0091899586237037013_r8, & + 0.0092342141432098738_r8, 0.0092738194587654327_r8, 0.0093170025654321_r8, & + 0.0093273846311111106_r8, 0.0093422967165432084_r8, & + 0.0093530578246913583_r8, 0.0093649468153086425_r8, & + 0.0093527712316049377_r8, 0.0093438868459259274_r8, & + 0.0093234555323456775_r8, 0.0092956560029629626_r8, & + 0.0092740228474074045_r8, 0.0092363659025925908_r8, & + 0.0091835599708024688_r8, 0.0091480293617901224_r8, & + 0.0090900497314197522_r8, 0.0089973376934038805_r8, & + 0.0088592292114462075_r8, 0.008792515260555557_r8, & + 0.0087475150282539677_r8, 0.0087142565279100526_r8, & + 0.0086736556315555532_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,2) / & + 0.0037075900444444444_r8, 0.0034127504730864199_r8, & + 0.0042725759570370371_r8, 0.0043636663338271608_r8, & + 0.0043974935629629624_r8, 0.0045688577387654325_r8, & + 0.0050736591032098759_r8, 0.0054709510804938277_r8, & + 0.0060621001683950609_r8, 0.00666975147111111_r8, 0.0070883622760493821_r8, & + 0.0075042088444444441_r8, 0.0079449520316049391_r8, & + 0.0081984389940740737_r8, 0.0083267587372839492_r8, & + 0.0084594051116049368_r8, 0.008596895833580245_r8, & + 0.0087610859372839502_r8, 0.0088481455209876558_r8, & + 0.0089198307723456771_r8, 0.0089934019911111114_r8, & + 0.0090523662074074047_r8, 0.0091174875525925937_r8, & + 0.0091527292572839494_r8, 0.0091876473891358036_r8, & + 0.0092301463703703696_r8, 0.0092471015871604945_r8, & + 0.0092511046454320997_r8, 0.0092640752938271606_r8, & + 0.0092673849817283948_r8, 0.0092526577950617275_r8, & + 0.009232882872098766_r8, 0.0091954223822222226_r8, & + 0.0091360698785185167_r8, 0.0090671384631481472_r8, & + 0.0089901824413580224_r8, 0.0088757208606172842_r8, & + 0.0087688282429100525_r8, 0.0086910563553174586_r8, & + 0.0086754237260000013_r8, 0.0086655556788888879_r8, & + 0.0086457502476296293_r8, 0.0086391868037037026_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,2) / & + 0.0035284323856790119_r8, 0.0034526238918518521_r8, & + 0.0035288576528395062_r8, 0.0033207910720987653_r8, & + 0.0033099097797530861_r8, 0.0033897305767901227_r8, & + 0.0035262783150617283_r8, 0.0039023439140740738_r8, & + 0.0043573797758024698_r8, 0.0048242029338271611_r8, & + 0.0052142653693827154_r8, 0.0055849041896296287_r8, & + 0.0060012592296296279_r8, 0.0063317010582716049_r8, & + 0.0065431605313580245_r8, 0.0067162812454320984_r8, & + 0.0069356081609876549_r8, 0.007132284977777778_r8, & + 0.0072385832780246916_r8, 0.0073321235634567911_r8, & + 0.007483343018765431_r8, 0.0076229935894444444_r8, & + 0.0078219365717283953_r8, 0.0079689230009259253_r8, & + 0.008096281270555554_r8, 0.0082695603041975305_r8, & + 0.0083879024477777776_r8, 0.0086563247731128758_r8, & + 0.0088593629328747783_r8, 0.0089923292480952391_r8, & + 0.0090893644503703703_r8, 0.0091508247999999986_r8, & + 0.009204078417925924_r8, 0.0091985564162962944_r8, 0.0091994994_r8, & + 0.0091857706666666657_r8, 0.0089010866599999999_r8, & + 0.0088078560800000007_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,2) / & + 0.0019261181743209874_r8, 0.0019033016666666666_r8, & + 0.0015986809506172836_r8, 0.00093996985382716037_r8, & + 0.00093129810172839502_r8, 0.00094402838172839485_r8, & + 0.00088185617185185196_r8, 0.0010359600479012342_r8, & + 0.0013447409861728397_r8, 0.0017527848266666668_r8, & + 0.0021515282592592592_r8, 0.0024533385140740739_r8, & + 0.0028780694681481479_r8, 0.0033244613125925923_r8, & + 0.0036311898745679007_r8, 0.0039209909545679014_r8, & + 0.0044138016340740738_r8, 0.0048026067580246908_r8, & + 0.0051109162044444441_r8, 0.005358486406419752_r8, 0.005514439270123456_r8, & + 0.0056329408888888891_r8, 0.0057272577491358015_r8, & + 0.0057836391608024678_r8, 0.0058396091727160506_r8, & + 0.0059121992724074065_r8, 0.0060036398012345681_r8, & + 0.0063278690313580245_r8, 0.0068024036235185192_r8, & + 0.0072139836529012341_r8, 0.0077155793349999993_r8, & + 0.0081450540980246913_r8, 0.0084215211705379184_r8, & + 0.0085973285297089932_r8, 0.0087244980044920636_r8, & + 0.0088290482519999998_r8, 0.0087760886231111109_r8, & + 0.0087643817577777779_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,2) / & + 0.00056709375851851846_r8, 0.00054972251950617277_r8, & + 0.00037059259555555555_r8, 0.00027018332098765427_r8, & + 0.00027401072543209871_r8, 0.00028097216395061729_r8, & + 0.00027656232839506169_r8, 0.00032024466172839503_r8, & + 0.00042576638716049383_r8, 0.00054366708493827165_r8, & + 0.00066557084098765418_r8, 0.00077948697037037024_r8, & + 0.00098845955506172826_r8, 0.0012004182548148148_r8, & + 0.0013952368390123457_r8, 0.0016089983017283952_r8, & + 0.0020362623688888887_r8, 0.0024713106740740739_r8, & + 0.0029525744256790123_r8, 0.0034558226404938263_r8, & + 0.0038584859269135798_r8, 0.0042014916266666664_r8, & + 0.0044683929945679001_r8, 0.0046698494444444441_r8, & + 0.0048051213812345681_r8, 0.0049051701032098768_r8, & + 0.004960852366419753_r8, 0.0050285345595061735_r8, & + 0.0051545708029629624_r8, 0.0053624617298765427_r8, & + 0.0057534579041975311_r8, 0.0062494026177777788_r8, & + 0.006784037398024691_r8, 0.0072999974029629615_r8, & + 0.0077466665955555555_r8, 0.0081091883599999984_r8, & + 0.0083818400795061705_r8, 0.0085042151623192248_r8, & + 0.0085317709555079359_r8, 0.0086783483622222234_r8, & + 0.008786139719999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,2) / & + 0.00022682456049382711_r8, 0.00020832543901234566_r8, & + 0.00017513611061728391_r8, 0.00016772167012345677_r8, & + 0.00018039648049382714_r8, 0.0001821160390123457_r8, & + 0.0001881529837037037_r8, 0.00019740716691358021_r8, & + 0.00022426371259259256_r8, 0.00025392147456790125_r8, & + 0.00029507993975308634_r8, 0.00034280231111111112_r8, & + 0.00044668768246913576_r8, 0.00056305372049382713_r8, & + 0.00069324094123456796_r8, 0.00082532337432098771_r8, & + 0.0010966530676543209_r8, 0.0014001366562962959_r8, & + 0.0017621499491358025_r8, 0.002174557400493827_r8, & + 0.0026293436488888889_r8, 0.0030964718898765435_r8, & + 0.0035726324355555548_r8, 0.0039993418064197522_r8, & + 0.0043219531723456793_r8, 0.0045889469896296291_r8, & + 0.0047698149619753074_r8, 0.0048620424661728395_r8, & + 0.0047476918246913569_r8, 0.0046667616350617282_r8, & + 0.0047419044933333333_r8, 0.0049207200893827165_r8, & + 0.0051904226735802472_r8, 0.0056261308362345677_r8, & + 0.0062079968504938268_r8, 0.00690561873685185_r8, 0.0075161533046913557_r8, & + 0.0078221029806172827_r8, 0.0080152318212222233_r8, & + 0.0078929677437037018_r8, 0.0079486464244999996_r8, & + 0.0079856297599999997_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,2) / & + 0.00017834410419753091_r8, 0.00015961385925925925_r8, & + 0.00012761712790123456_r8, 0.0001333027649382716_r8, & + 0.00014907462962962959_r8, 0.00015407614123456788_r8, & + 0.00019568760839506176_r8, 0.00018176473135802468_r8, & + 0.00018501894962962966_r8, 0.00019576156790123453_r8, & + 0.00021409428049382715_r8, 0.00024375204246913576_r8, & + 0.0002904574706172839_r8, 0.00034871907160493828_r8, & + 0.00043093430765432091_r8, 0.00053395065481481473_r8, & + 0.00081243593037037039_r8, 0.0011079596271604936_r8, & + 0.001424339904691358_r8, 0.0018301649600000003_r8, & + 0.0022588342577777778_r8, 0.002695916449382716_r8, & + 0.0032350997392592588_r8, 0.0037673863051851846_r8, & + 0.0041498678913580245_r8, 0.0044449848108641969_r8, & + 0.0046865735377777775_r8, 0.0047430601106172839_r8, & + 0.0045325621111111112_r8, 0.0043254107792592587_r8, & + 0.0043166095980246913_r8, 0.0044055643940740736_r8, & + 0.004522762476543209_r8, 0.0047986591693827156_r8, & + 0.0052636795644444437_r8, 0.0061741488202469129_r8, & + 0.0070470836266666656_r8, 0.0074461228972839506_r8, & + 0.0076867778854320988_r8, 0.007771914521975308_r8, & + 0.0078164497008641979_r8, 0.0079935757844444427_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,2) / & + 0.00017360145086419752_r8, 0.00015794977037037036_r8, & + 0.00011742920592592592_r8, 0.00014450763012345677_r8, & + 0.00014627341333333331_r8, 0.00016149058172839506_r8, & + 0.0002042669111111111_r8, 0.00021189398518518519_r8, & + 0.00020569987654320984_r8, 0.00019998650469135805_r8, & + 0.00020540403851851855_r8, 0.00021277225432098762_r8, & + 0.00025116648296296296_r8, 0.00027480579012345677_r8, & + 0.00032023541679012345_r8, 0.00038189915506172837_r8, & + 0.00063764188246913573_r8, 0.00096121472197530848_r8, & + 0.0012978229244444445_r8, 0.0017077897120987653_r8, & + 0.0021811213066666672_r8, 0.0026364530064197532_r8, & + 0.0032150936928395058_r8, 0.0037012572617283949_r8, & + 0.0040490980641975311_r8, 0.0042900581353086413_r8, & + 0.004477480768888889_r8, 0.0043929542982716055_r8, & + 0.0041502342220370372_r8, 0.0040607031031393301_r8, & + 0.0041104316261022936_r8, 0.0041992318996119929_r8, & + 0.0043044756165432109_r8, 0.0044499031180246914_r8, & + 0.0047702402291358026_r8, 0.005647829861975308_r8, & + 0.0067045518950881837_r8, 0.007307626127918871_r8, & + 0.0076637055241111111_r8, 0.0077818170064814811_r8, & + 0.0078364049001234566_r8, 0.0079444435600000002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,2) / & + 0.00017619927851851854_r8, 0.00016989423061728395_r8, & + 0.00014028269333333333_r8, 0.00014924103851851852_r8, & + 0.00015322560691358023_r8, 0.00017555213283950615_r8, & + 0.00017822392000000001_r8, 0.0002104332849382716_r8, & + 0.0002285533639506173_r8, 0.00023116043654320989_r8, & + 0.00024034990518518519_r8, 0.00025613101481481478_r8, & + 0.00030277172839506179_r8, 0.00035567126518518507_r8, & + 0.00042862307308641972_r8, 0.00052989212691358025_r8, & + 0.00084163144543209867_r8, 0.0011956201318518518_r8, & + 0.0015767057323456788_r8, 0.002088468535308642_r8, & + 0.0026461232118518518_r8, 0.0031553159219753083_r8, & + 0.0035325533169135808_r8, 0.0038026326323456791_r8, & + 0.0039565042293209871_r8, 0.0040168332296296296_r8, & + 0.0039763716016666664_r8, 0.003710413712733686_r8, & + 0.0035944082273015872_r8, 0.0036695739667954139_r8, & + 0.0038338603829453258_r8, 0.0039903419910828925_r8, & + 0.0041153974786596118_r8, 0.0042384297775308645_r8, & + 0.0045007398449453256_r8, 0.0051804520076543202_r8, & + 0.0062646383916111102_r8, 0.0070443597211666672_r8, & + 0.0075577592248888877_r8, 0.0077423919672222202_r8, & + 0.0078532063207619029_r8, 0.0076037213599999993_r8, & + 0.0075677770400000002_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,2) / & + 0.00017552611339217118_r8, 0.00017792627341885103_r8, & + 0.00015352639332229793_r8, 0.00019511519238721317_r8, & + 0.00019851105198827982_r8, 0.00023851721278232759_r8, & + 0.00020071207210008231_r8, 0.00024599020011430449_r8, & + 0.00029235835713627649_r8, 0.0003237386153016889_r8, & + 0.00035486732831146658_r8, 0.00039221130287504845_r8, & + 0.00047993767590260406_r8, 0.00061141194391427158_r8, & + 0.00075167981132499742_r8, 0.00095120752498396703_r8, & + 0.0013905625824441941_r8, 0.0018042600340296955_r8, & + 0.0022900461348008029_r8, 0.0029177246654461101_r8, & + 0.003451283383691483_r8, 0.0038030181887366878_r8, & + 0.0039333421617137347_r8, 0.0039749925369365396_r8, & + 0.0039207654654167291_r8, 0.0038156779847726098_r8, & + 0.003650381374376243_r8, 0.0034018167293774263_r8, & + 0.0035266127729655147_r8, 0.0037401646531035194_r8, & + 0.0040265501229244929_r8, 0.0042706454992622774_r8, & + 0.004426394249115828_r8, 0.0045849616148435062_r8, & + 0.0047717842019332993_r8, 0.0050976807153201107_r8, & + 0.0058245571636270392_r8, 0.0064290174400579219_r8, & + 0.0068227882854655902_r8, 0.0069122753622856458_r8, & + 0.0056549233644925057_r8, 0.0054316774319061326_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,2) / & + 0.00013632913369389298_r8, 0.00014027781595043288_r8, & + 0.00012359258291389628_r8, 0.00018134645485005428_r8, & + 0.00019512583269483454_r8, 0.00030529055250488884_r8, & + 0.00019602805386324278_r8, 0.00028647279670666008_r8, & + 0.0003722658278116609_r8, 0.00044829846627660904_r8, & + 0.00051778121340207404_r8, 0.00059901627003290864_r8, & + 0.00076479062185939731_r8, 0.00096756775874865507_r8, & + 0.0011936971915942451_r8, 0.0014456629578987984_r8, & + 0.0019506256004146565_r8, 0.0024235535328730072_r8, & + 0.0029276959743266759_r8, 0.0034048186493602231_r8, & + 0.0037303095823110321_r8, 0.0039342467178453853_r8, & + 0.0039785375752036077_r8, 0.0039147259325652802_r8, & + 0.0037745770053531913_r8, 0.0036230858691668273_r8, & + 0.0034639902974181653_r8, 0.0032490624676504757_r8, & + 0.0033788929725712719_r8, 0.0036922062213331831_r8, & + 0.0040657835339044874_r8, 0.0043770369481314917_r8, & + 0.0046340059409153995_r8, 0.004829902762608692_r8, & + 0.0049722140913354531_r8, 0.0050565793867343427_r8, & + 0.0051629582927844916_r8, 0.0052677103812903553_r8, & + 0.0053125288403050542_r8, 0.0052811880684702009_r8, & + 0.0052210258497799441_r8, 0.005084959515201895_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,2) / & + 9.9791975987199987e-05_r8, 0.00010441629263146665_r8, & + 0.00010281008741048888_r8, 0.00017194167825208885_r8, & + 0.00022599566524515553_r8, 0.00037836495568355552_r8, & + 0.00026045135788871105_r8, 0.00044784628475875548_r8, & + 0.0006184408231480888_r8, 0.00077433340245831102_r8, & + 0.00089031696333440003_r8, 0.0010265723884913776_r8, & + 0.0012196149401706665_r8, 0.0014577348641806221_r8, & + 0.0017067484865038219_r8, 0.0019463709895914665_r8, & + 0.0024280382568661325_r8, 0.0028153021076046218_r8, & + 0.0032279543634488885_r8, 0.0036222518386631103_r8, & + 0.0039103066104703996_r8, 0.0041127791411889776_r8, & + 0.0041381416397589322_r8, 0.0040554997904860435_r8, & + 0.0038686748074040884_r8, 0.0036869275053432885_r8, & + 0.0035365141583594659_r8, 0.0033400260374158216_r8, & + 0.0035061387451079109_r8, 0.0038299963494215108_r8, & + 0.0042356279340579547_r8, 0.0046620106538879987_r8, & + 0.0050500905605048883_r8, 0.0053173423840469324_r8, & + 0.0054672116937784883_r8, 0.0055267659621583108_r8, & + 0.0055715777924967985_r8, 0.0056088556783864879_r8, & + 0.0056372233351118205_r8, 0.0056473187882900436_r8, & + 0.0056599093646996432_r8, 0.0056835037421997326_r8, & + 0.0056856944636351986_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,2) / & + 0.00015646626890076707_r8, 0.00017153538811475223_r8, & + 0.00016807317993376125_r8, 0.00020672504503629956_r8, & + 0.00032729218812597196_r8, 0.00043755784293941725_r8, & + 0.00052324749541894308_r8, 0.00080143024701044932_r8, & + 0.0010184851590785578_r8, 0.0011790521581609087_r8, & + 0.0012941422014232755_r8, 0.0014370150464003159_r8, & + 0.0016089193583376327_r8, 0.0018063219821652804_r8, & + 0.0020382047940249279_r8, 0.0022393392242115945_r8, & + 0.0026534278362847865_r8, 0.0030476371300728619_r8, & + 0.0034649467309045981_r8, 0.0038608871287831694_r8, & + 0.0041075978404343568_r8, 0.0042679945669832154_r8, & + 0.0042234682994752252_r8, 0.0041156006495084501_r8, & + 0.0038943031134808497_r8, 0.0036880605072894413_r8, & + 0.0035403348951078975_r8, 0.0034333469865641605_r8, & + 0.0036959639907189995_r8, 0.0040605174849239955_r8, & + 0.0044671992417903133_r8, 0.0049058780455752161_r8, & + 0.005356532684215677_r8, 0.0057659671803734379_r8, & + 0.0060159556382943331_r8, 0.0060622413886484011_r8, & + 0.0060890876914288716_r8, 0.0061169840081658705_r8, & + 0.0061452066805920648_r8, 0.0061565865615804041_r8, & + 0.0061793463235570818_r8, 0.0061894491605442355_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,20,2) / & + 0.00030601082441297122_r8, 0.00034465167102827978_r8, & + 0.0003589819490744362_r8, 0.00027816781916720982_r8, & + 0.0004201131567137448_r8, 0.00053305857743920972_r8, & + 0.00074043883368520155_r8, 0.0010038444611514732_r8, & + 0.0011604594374729218_r8, 0.0012628538246315718_r8, & + 0.0013546200507850539_r8, 0.0014606857040093497_r8, & + 0.0016246123614867488_r8, 0.0018410011025324772_r8, & + 0.0020842456176130369_r8, 0.0023166922913240495_r8, & + 0.0028027494078303864_r8, 0.0032702959391317852_r8, & + 0.0037155372152612343_r8, 0.0041224153035534488_r8, & + 0.0043237796196078353_r8, 0.0044130006402956371_r8, & + 0.004297386610203127_r8, 0.0041199626510137945_r8, & + 0.0038587165918214325_r8, 0.0036135593162696946_r8, & + 0.0034769357719695798_r8, 0.0034237795414560662_r8, & + 0.0037758817230293335_r8, 0.0042866813217596047_r8, & + 0.0047506491399213818_r8, 0.0051923117029112082_r8, & + 0.0056017041456937616_r8, 0.0060417624579658267_r8, & + 0.0064595926425042955_r8, 0.0066336538453813992_r8, & + 0.0066612191918490873_r8, 0.0066619287642819425_r8, & + 0.0066561750573807411_r8, 0.0066628697190298592_r8, & + 0.0066719803976854151_r8, 0.0066454157797303688_r8, & + 0.0065565761266797142_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,2) / & + 0.00040652631863751106_r8, 0.00044921333156219248_r8, & + 0.00049921478581159493_r8, 0.00039304708621906167_r8, & + 0.00053808629289718503_r8, 0.00066723033551201953_r8, & + 0.00081905081239324413_r8, 0.0010310029948346468_r8, & + 0.0011667950148721775_r8, 0.0012518191471729777_r8, & + 0.001335960214803595_r8, 0.0014496756180865577_r8, & + 0.0016508310853151601_r8, 0.0019674347619719895_r8, & + 0.0022781235714983508_r8, 0.0025193335192386364_r8, & + 0.0030048191486685225_r8, 0.0034746928611934808_r8, & + 0.0039677595175088972_r8, 0.0043609232349108131_r8, & + 0.0045039297266877623_r8, 0.0045344537734004929_r8, & + 0.0043176197428767601_r8, 0.0040570490187826561_r8, & + 0.0037333475015692637_r8, 0.0034456683582603058_r8, & + 0.0033111259580390711_r8, 0.0032776361469623295_r8, & + 0.0036850455302700237_r8, 0.0043484603599429524_r8, & + 0.0049246517264383985_r8, 0.0054233666643234745_r8, & + 0.0058399732494791093_r8, 0.0062005760398677326_r8, & + 0.0065966513714416182_r8, 0.007012476944212068_r8, 0.007239387075854537_r8, & + 0.0072189492462304827_r8, 0.007182144372298224_r8, & + 0.0071801593214671855_r8, 0.0071759176060121783_r8, & + 0.0071308555121095086_r8, 0.0070817679464857588_r8, & + 0.0070839947689983977_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,2) / & + 0.00050815170936541231_r8, 0.00047888895771662222_r8, & + 0.00051733323327723458_r8, 0.00054931643645545359_r8, & + 0.00068716457908479995_r8, 0.00078583464014888573_r8, & + 0.00085477660917098949_r8, 0.0010710883011754405_r8, & + 0.0011690066585274468_r8, 0.0012503517387988546_r8, & + 0.0013324664204897709_r8, 0.0014891787467508147_r8, & + 0.0017619756034057746_r8, 0.0021692558336931555_r8, & + 0.0024323342352133796_r8, 0.0026593308585538111_r8, & + 0.0031797424975090836_r8, 0.0036513649860089414_r8, & + 0.0041687877078233288_r8, 0.0045233591897280269_r8, & + 0.0046282755506853405_r8, 0.0046189329474066445_r8, 0.00431474351191867_r8, & + 0.0040118069159508288_r8, 0.0036510249295677632_r8, & + 0.0033625675789111568_r8, 0.0032217126214334952_r8, & + 0.0031964410585416953_r8, 0.0035771431932948542_r8, & + 0.0043411381559517312_r8, 0.0050598071745409853_r8, & + 0.0055806326979805868_r8, 0.0060482230886778985_r8, & + 0.0063999942185735664_r8, 0.0067296221130751293_r8, & + 0.0070735332729915642_r8, 0.0074527843511147983_r8, & + 0.0075627307349046737_r8, 0.0076047448360530576_r8, & + 0.0076047481918732011_r8, 0.0075754820844042671_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,2) / & + 0.00064733530724166567_r8, 0.0005658443793171489_r8, & + 0.000614707365273297_r8, 0.00067315878542906324_r8, & + 0.00080427326854781212_r8, 0.00093352459620597188_r8, & + 0.00097498997004452973_r8, 0.0012069396703884969_r8, & + 0.0012533080849128162_r8, 0.0013343134922230843_r8, & + 0.0014300878147697313_r8, 0.0016061428512960192_r8, & + 0.0019501617113535077_r8, 0.0023336799455209211_r8, & + 0.0025888748421697247_r8, 0.0028605343886140295_r8, & + 0.0034601427803023473_r8, 0.0039439150419941782_r8, & + 0.0044661063004685234_r8, 0.0048188744401664492_r8, & + 0.0049086373273245758_r8, 0.0048391839622153928_r8, & + 0.0045438767259521158_r8, 0.0042369521875037126_r8, & + 0.0038774615860990027_r8, 0.003600690235355068_r8, 0.003451815469668662_r8, & + 0.0033956700161740946_r8, 0.0037328242775962073_r8, & + 0.0045678886416505998_r8, 0.0053107895078250457_r8, & + 0.0058828954288569863_r8, 0.0063870817652423488_r8, & + 0.0067525708183738343_r8, 0.0070816984434342823_r8, & + 0.0074050903260320568_r8, 0.0076772126570393276_r8, & + 0.0079857408339078211_r8, 0.0084830448728767972_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,2) / & + 0.00075882765716099566_r8, 0.00068228765574410665_r8, & + 0.00074510316409255996_r8, 0.0006888875121537065_r8, & + 0.00082762199376384016_r8, 0.00098047741815034659_r8, & + 0.00107702438011724_r8, 0.0014431823512667198_r8, 0.00135334180589104_r8, & + 0.0014409725779152914_r8, 0.0015504123397359084_r8, & + 0.0016766345935695091_r8, 0.002075395560745966_r8, & + 0.0024213105348141256_r8, 0.0027120695660306292_r8, & + 0.0030360596599666597_r8, 0.0036718615413686242_r8, & + 0.0041825490019771734_r8, 0.0047518494730805034_r8, & + 0.0051472280138470401_r8, 0.005244552324972891_r8, & + 0.0051481944213927306_r8, 0.0048437289026684333_r8, & + 0.004517697960277174_r8, 0.0041399524287335475_r8, & + 0.0038140707688086931_r8, 0.0036391883236551468_r8, & + 0.0035974167324627194_r8, 0.0039953422416254217_r8, 0.00483447731823712_r8, & + 0.0056286875389273596_r8, 0.0062678011339919997_r8, & + 0.0067962021377856001_r8, 0.0071821562407386672_r8, & + 0.0075280528818723559_r8, 0.0078970031881034648_r8, & + 0.0082180587030288004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,2) / & + 0.00018101455712853332_r8, 0.00018101455712853332_r8, & + 0.00018101455712853332_r8, 0.00018101455712853332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,2) / & + 0.0024020459470648408_r8, 0.0025374083912424292_r8, & + 0.002408868982382459_r8, 0.00060357240784600493_r8, & + 0.00073058806967802464_r8, 0.00084999148040019741_r8, & + 0.00062355618801682969_r8, 0.0011983265350196145_r8, & + 0.0021872817370749489_r8, 0.0020498741825972933_r8, & + 0.0018784493999378957_r8, 0.00093707200204009872_r8, & + 0.0010948530889709272_r8, 0.0012316259190057559_r8, & + 0.0013286529425217263_r8, 0.0014416630997564125_r8, & + 0.001601382911629187_r8, 0.0016847052895354704_r8, & + 0.0017246209776378705_r8, 0.0017719505055349882_r8, & + 0.0018947982329433199_r8, 0.0019220791403705519_r8, & + 0.0019095506977858446_r8, 0.0019013360802977144_r8, & + 0.0018699721792385657_r8, 0.0018307684376198637_r8, & + 0.0017987729920478537_r8, 0.001756371326879427_r8, & + 0.0016190946877208887_r8, 0.0015549319697843553_r8, & + 0.001455009826915279_r8, 0.0016629786021258666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,2) / & + 0.0029061716749291919_r8, 0.0030440831365075348_r8, & + 0.0029016772379186454_r8, 0.0020172898702220865_r8, & + 0.0022641785175977307_r8, 0.0024392555754177967_r8, & + 0.0020829432724874153_r8, 0.0029248909635057169_r8, & + 0.003465736337821114_r8, 0.0023325895247320581_r8, 0.001789286699363616_r8, & + 0.0012554897145678221_r8, 0.0014968597777501728_r8, & + 0.0015818717551653652_r8, 0.0016657323684331003_r8, & + 0.001730631242493941_r8, 0.0018797929648939613_r8, 0.001923282944766266_r8, & + 0.0019678662481549137_r8, 0.0020114291162616408_r8, & + 0.0021570395619067251_r8, 0.0021376607400250777_r8, & + 0.0021009250698759583_r8, 0.0020662302702906784_r8, & + 0.0019877134444318337_r8, 0.0019868063908479051_r8, & + 0.001882547195307662_r8, 0.0018373031735717921_r8, 0.001853626004374773_r8, & + 0.0020313039830719996_r8, 0.0021071138208913062_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,2) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,2) / & + 0.00075447802190696295_r8, 0.0007169986841898667_r8, & + 0.00065585019702133331_r8, 0.0015655113250346664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,2) / & + 0.0007930247742273099_r8, 0.00077334188517425408_r8, & + 0.00074690726503845917_r8, 0.0016327778339572008_r8, & + 0.00086811204014933328_r8, 0.00090106227816959988_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,2) / & + 0.00074458877884663434_r8, 0.00077587717127549055_r8, & + 0.00072543104790633343_r8, 0.00097299638610729095_r8, & + 0.00093559138755516574_r8, 0.0010300130458583967_r8, & + 0.0013141651889370751_r8, 0.0013346260172627437_r8, & + 0.0012834487642510222_r8, 0.0012957470467754666_r8, & + 0.0013347150334029206_r8, 0.0013741281007312593_r8, & + 0.0014507054065834668_r8, 0.00154958359808_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,2) / & + 0.00082334059123427691_r8, 0.00090707450756624837_r8, & + 0.00092006124052679381_r8, 0.0013318898702194871_r8, & + 0.0014377315554706027_r8, 0.0015003462953713225_r8, & + 0.0016739473053382504_r8, 0.0016518883202834224_r8, & + 0.0016880256849118847_r8, 0.0017199435319587052_r8, & + 0.0017613185936241581_r8, 0.0017820425216476697_r8, & + 0.0018757981866743447_r8, 0.0019642397272911422_r8, & + 0.0021052635695648627_r8, 0.0021829727492496311_r8, & + 0.0023704496331630885_r8, 0.002654481435551644_r8, & + 0.0028514440597933329_r8, 0.0029632130376554661_r8, & + 0.0031386138584317967_r8, 0.0031864240241612188_r8, & + 0.0032402649554765708_r8, 0.003316703092782577_r8, & + 0.0033924872916515554_r8, 0.0035084523744846221_r8, & + 0.0036022416783197857_r8, 0.0037536066285439999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,2) / & + 0.0010218957928305778_r8, 0.0010830647893399702_r8, & + 0.0011269570463772445_r8, 0.001536073350003042_r8, & + 0.0016542088928799604_r8, 0.0017365846979756243_r8, & + 0.0018528524852339358_r8, 0.0018727752118324144_r8, & + 0.0018914527680184887_r8, 0.001895538483434192_r8, & + 0.0019083014801613428_r8, 0.0019032818869363355_r8, & + 0.0019848016373734709_r8, 0.0020509124039570959_r8, & + 0.0021001355468224787_r8, 0.0021350197741575113_r8, & + 0.0022500326631095702_r8, 0.0024591823808182119_r8, & + 0.0026387870952146561_r8, 0.0028492320125040587_r8, & + 0.0029807642549072979_r8, 0.0031023031709315153_r8, & + 0.003160022934222617_r8, 0.0032583135736518319_r8, & + 0.0033272509882475453_r8, 0.0034603481708309286_r8, & + 0.0036166294259099251_r8, 0.0038089676059271998_r8, & + 0.004007088740896639_r8, 0.0039177341447551991_r8, & + 0.0039429488456063991_r8, 0.0039665876276543995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,2) / & + 0.0013546230486103702_r8, 0.0013642183453893004_r8, & + 0.0013576742726906994_r8, 0.0016079147949629626_r8, & + 0.0016772498474199172_r8, 0.0017350223665198352_r8, & + 0.0018577136926972836_r8, 0.001873893209860082_r8, & + 0.0018884266719269131_r8, 0.0018995877284312753_r8, & + 0.0019113911478999173_r8, 0.0019317460243305346_r8, & + 0.0019810473818390119_r8, 0.0020018840304928389_r8, & + 0.0020186256152493823_r8, 0.002036812516675555_r8, & + 0.0021008079269919338_r8, 0.0022130207073145676_r8, & + 0.0023575523742775306_r8, 0.002558652129782386_r8, & + 0.0027074795990689707_r8, 0.0028944875170449384_r8, & + 0.0030154926404411518_r8, 0.0031531189055381058_r8, & + 0.0032407613024770369_r8, 0.0033463898624158019_r8, & + 0.0034534235913389294_r8, 0.0036404064170116046_r8, & + 0.0037784943804891362_r8, 0.0038230432557540737_r8, & + 0.0038982771502535452_r8, 0.0039817786002263132_r8, & + 0.0041027120313274074_r8, 0.0038237659140888882_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,2) / & + 0.0017017016564580083_r8, 0.0017087369016330536_r8, & + 0.0016850239870136359_r8, 0.0017174274986139918_r8, & + 0.0017546729142465843_r8, 0.001778592747841738_r8, & + 0.0019209530031485365_r8, 0.0019753726937672693_r8, & + 0.0020181635379496032_r8, 0.0020557814077385218_r8, & + 0.002083218863921198_r8, 0.0021025450962549987_r8, & + 0.0021257200215375012_r8, 0.0021804707825174119_r8, & + 0.0022162263815247011_r8, 0.0022661766222675222_r8, & + 0.0023816787945237063_r8, 0.0024690813698748579_r8, & + 0.0026222841795102547_r8, 0.0027779700168544925_r8, & + 0.0029532717730985612_r8, 0.0031101991242972185_r8, & + 0.0032131206228286154_r8, 0.0033255190104487502_r8, & + 0.0034190877712768518_r8, 0.0035022278157278279_r8, & + 0.0035714215212141569_r8, 0.003672480748963924_r8, 0.003683944060219733_r8, & + 0.0036754470802803766_r8, 0.0036534360742363934_r8, 0.0036148733237247_r8, & + 0.0035440254488266266_r8, 0.0035324172942878024_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,2) / & + 0.0018367048071454809_r8, 0.0019008477642113576_r8, & + 0.0018481269416927603_r8, 0.0018159062934922268_r8, & + 0.0018925795026360889_r8, 0.0019288064219091751_r8, & + 0.0020447325635830514_r8, 0.002009826861365807_r8, & + 0.0019878776102768194_r8, 0.0019965294509973332_r8, & + 0.0020122561959523551_r8, 0.0020341202072312889_r8, & + 0.002050443630856691_r8, 0.0021051675889115647_r8, & + 0.0021451024399220145_r8, 0.002208137279457185_r8, & + 0.0023298171083097285_r8, 0.0024534148328884935_r8, & + 0.0026395359581421036_r8, 0.0028340958245910916_r8, & + 0.0030348249222927597_r8, 0.0032038021907491946_r8, & + 0.0033064255945664685_r8, 0.0034132204215882762_r8, & + 0.0035051036093387057_r8, 0.0035826132341187258_r8, & + 0.0036461754949786069_r8, 0.0037724400079005007_r8, & + 0.0038256798799767497_r8, 0.0038119019301790951_r8, & + 0.0037886851935573884_r8, 0.0037622538505990089_r8, & + 0.0037542137577295819_r8, 0.0039476047732831991_r8, & + 0.0039268914994399998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,2) / & + 0.0020187362221839276_r8, 0.0022176232497871538_r8, & + 0.0020280336973442104_r8, 0.0024064672499766781_r8, & + 0.0024327370029059688_r8, 0.0025390001270256196_r8, & + 0.0025819790216344758_r8, 0.0023693650613653599_r8, & + 0.0021589877578565004_r8, 0.0021451731131607969_r8, & + 0.0021398226793421429_r8, 0.0021569265251558719_r8, & + 0.0022072293742541956_r8, 0.0022635404973947787_r8, & + 0.0023106857134197992_r8, 0.0023447618370025349_r8, & + 0.002424755208192895_r8, 0.0025489992984244147_r8, & + 0.0026710075150388007_r8, 0.0028070167644122452_r8, & + 0.0029485844504179019_r8, 0.0030348797743217728_r8, & + 0.0031442621575016837_r8, 0.003301466548993806_r8, & + 0.0034424390462257245_r8, 0.0035461168582666082_r8, & + 0.0036524224287435444_r8, 0.0038233147523740129_r8, & + 0.0039107252720855194_r8, 0.0039846190547454408_r8, & + 0.0040335670662403882_r8, 0.0040988840220421213_r8, & + 0.004141808096632343_r8, 0.0041723516182143221_r8, & + 0.0042082696944231507_r8, 0.0041473536897173331_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,2) / & + 0.002597847493218924_r8, 0.0029221500546858146_r8, & + 0.0027687466461610143_r8, 0.0038053244107606912_r8, & + 0.0037261877317598022_r8, 0.0037987409605418137_r8, & + 0.0035916779235206854_r8, 0.0030239680724544801_r8, & + 0.0023058308930994044_r8, 0.0023240030193884972_r8, & + 0.0023288729688654753_r8, 0.0023386579599442175_r8, & + 0.002377031358137811_r8, 0.0024576560772566654_r8, & + 0.0024742499791782194_r8, 0.0025003132273050074_r8, & + 0.0024554465631421102_r8, 0.0025602857532714936_r8, & + 0.0026359052465390088_r8, 0.0027319514723349596_r8, & + 0.0028676787679433216_r8, 0.0029120945108583509_r8, & + 0.0030624316548976465_r8, 0.0032359461510773732_r8, & + 0.0033627001138531558_r8, 0.0034900853663759539_r8, & + 0.0035949245565053364_r8, 0.0038920816588505552_r8, & + 0.0039864143839046058_r8, 0.004066227444777297_r8, & + 0.0040986486824990285_r8, 0.0041660614090553421_r8, & + 0.0042178722604354103_r8, 0.0042407774493940916_r8, & + 0.0042761538317223902_r8, 0.0042504513205938975_r8, & + 0.0042550574811408724_r8, 0.0042539685063272704_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,2) / & + 0.0027087192244906661_r8, 0.0033459640923306669_r8, & + 0.0032849034790399995_r8, 0.0042210117887146667_r8, 0.004403869330944_r8, & + 0.0043985879121919997_r8, 0.0041210817865386662_r8, & + 0.0028814772115626666_r8, 0.0024493274385919998_r8, & + 0.0024864363545599997_r8, 0.0024685073277439999_r8, & + 0.0024394595246080004_r8, 0.0023626009832959996_r8, & + 0.0024339927929173332_r8, 0.002460214573738666_r8, & + 0.0025096468001279989_r8, 0.0025000105273173326_r8, & + 0.0025521761195520004_r8, 0.0026336674843306668_r8, & + 0.0027408246911146661_r8, 0.0028671154588159986_r8, & + 0.0029757088408746664_r8, 0.0031239128635733326_r8, & + 0.0032842548837546666_r8, 0.0034470986286079986_r8, & + 0.0035997501618346655_r8, 0.0037828393452373332_r8, & + 0.0041277067240960003_r8, 0.0041576347636906675_r8, & + 0.0041688461964799984_r8, 0.0041933075043840001_r8, & + 0.0042330571297280011_r8, 0.0042655332222293341_r8, & + 0.0042712779233279995_r8, 0.0042898092171946662_r8, & + 0.0043008816652799989_r8, 0.0043649536138240007_r8, & + 0.004370281360810668_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,3) / & + 0.0043064179780740747_r8, 0.0042697137241481482_r8, & + 0.0042074213300740742_r8, 0.0042966996989629632_r8, & + 0.0044486254675555554_r8, 0.0046571191644444445_r8, & + 0.0049643765368888896_r8, 0.0051920904604444438_r8, & + 0.0053927795804444428_r8, 0.0055703503455555563_r8, & + 0.0057208131026666659_r8, 0.006027217629555554_r8, & + 0.0066431302091111101_r8, 0.0070406727242222225_r8, & + 0.0072728006435555546_r8, 0.0073952817459999997_r8, & + 0.0076202166411111103_r8, 0.0079169028888888895_r8, & + 0.0080770090411111106_r8, 0.0081992779722222225_r8, & + 0.0083258527333333332_r8, 0.0085240249188888884_r8, & + 0.0086124088399999986_r8, 0.0086965285333333326_r8, & + 0.0087553956777777775_r8, 0.0088203783488888885_r8, & + 0.008857986757777778_r8, 0.0089036035944444446_r8, & + 0.0090823752770370358_r8, 0.009161967261851851_r8, & + 0.0091774571559259249_r8, 0.0092356517311111119_r8, & + 0.0089907394488888889_r8, 0.0090353630324999986_r8, & + 0.0092228739057142843_r8, 0.0092349088342857134_r8, & + 0.0092728857200000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,3) / & + 0.0037779532696296299_r8, 0.0034704851125925925_r8, 0.00387133639111111_r8, & + 0.0043472565683950609_r8, 0.0045018226913580246_r8, & + 0.0046972791762962957_r8, 0.0052638367283950604_r8, & + 0.0055843679832098762_r8, 0.0059938447891358026_r8, & + 0.0064037376172839493_r8, 0.0066757144562962977_r8, & + 0.0069041199012345664_r8, 0.0072768758123456781_r8, & + 0.0075435090770370368_r8, 0.0077021891975308622_r8, & + 0.0078124443313580252_r8, 0.0080316418177777769_r8, & + 0.0081753451382716048_r8, 0.0084104069387654322_r8, & + 0.0085713335792592573_r8, 0.0087079367871604942_r8, & + 0.0088637694666666659_r8, 0.0089452081279012361_r8, & + 0.009021941115555555_r8, 0.0090743691604938271_r8, & + 0.0091289882558024688_r8, 0.0091601714325925936_r8, & + 0.0091825534281481467_r8, 0.0092774989441975313_r8, & + 0.0093283091249382697_r8, 0.0093237236355555569_r8, & + 0.0093509869585185184_r8, 0.0092162591523809508_r8, & + 0.0091968033448765439_r8, 0.0092826860149206342_r8, & + 0.0092876860407319212_r8, 0.0093150350114444436_r8, & + 0.0093071568382433849_r8, 0.0092019539311111107_r8, & + 0.0089870628524999982_r8, 0.0088824904666666669_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,3) / & + 0.0035067899851851853_r8, 0.0030554058740740737_r8, & + 0.0038883378325925929_r8, 0.0044191729432098764_r8, & + 0.0044926979372839505_r8, 0.0047148168241975316_r8, & + 0.0051570299565432097_r8, 0.0055488304404938257_r8, & + 0.0061895231525925919_r8, 0.0069073926093827153_r8, & + 0.0073698151767901243_r8, 0.0076844943856790122_r8, & + 0.0080821191807407388_r8, 0.0083761544424691345_r8, & + 0.0085120920148148132_r8, 0.0086411698429629622_r8, & + 0.008783930179753088_r8, 0.008855264123456788_r8, 0.0090474571451851851_r8, & + 0.009163120567901235_r8, 0.0092303035343209872_r8, & + 0.0092990673851851852_r8, 0.00935348309185185_r8, 0.0093744043871604923_r8, & + 0.009400317949135803_r8, 0.0094199079733333323_r8, & + 0.0094445642237037022_r8, 0.0094442591407407402_r8, & + 0.0094267214928395078_r8, 0.0094020559975308646_r8, & + 0.0093650577545679008_r8, 0.0093561733688888871_r8, & + 0.0093244632306172821_r8, 0.0092760105091358007_r8, & + 0.009252676284938274_r8, 0.0092077921096296294_r8, & + 0.0091440575051851859_r8, 0.0090547329116049367_r8, & + 0.0089631155733333329_r8, 0.0088511824832098757_r8, & + 0.0088031631182098769_r8, 0.0087773366897777767_r8, & + 0.0088209607799999996_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,3) / & + 0.0038538172330864198_r8, 0.003598333363950617_r8, & + 0.0041979877950617276_r8, 0.0044382822306172839_r8, & + 0.0044609323293827155_r8, 0.004588743600987653_r8, & + 0.0050244298069135806_r8, 0.0053795556207407412_r8, & + 0.0061546789802469125_r8, 0.006935987203456789_r8, & + 0.0074156423358024684_r8, 0.0079315468711111097_r8, & + 0.008464046070617284_r8, 0.0086731573293827146_r8, & + 0.0087572862676543219_r8, 0.0088436802158024692_r8, & + 0.0089535470622222214_r8, 0.0090506928735802489_r8, & + 0.0091146308666666641_r8, 0.0091503070834567882_r8, & + 0.0091778569995061739_r8, 0.0092107412449382725_r8, & + 0.0092426455269135795_r8, 0.009256901221728394_r8, & + 0.0092879179896296297_r8, 0.009306879358024692_r8, & + 0.0093108361916049379_r8, 0.0092827778039506169_r8, & + 0.0092691322750617297_r8, 0.0092744296246913566_r8, & + 0.0092287781195061723_r8, 0.0092210770859259255_r8, & + 0.0091904486054320972_r8, 0.009134516728888889_r8, & + 0.0090727050716049393_r8, 0.0089599260696296302_r8, & + 0.0088606446775308639_r8, 0.0088211133214814823_r8, & + 0.0087485717577160498_r8, 0.0086409872554320984_r8, & + 0.0087130145695061712_r8, 0.0087164514413439146_r8, & + 0.0087095098134074064_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,3) / & + 0.0035776801718518515_r8, 0.003493098231604938_r8, & + 0.0035736401338271602_r8, 0.0036869738320987654_r8, & + 0.0036955808696296296_r8, 0.0037422123382716043_r8, & + 0.0038597524834567899_r8, 0.0042643849417283936_r8, & + 0.0047784035096296298_r8, 0.0053257593249382718_r8, & + 0.005728995797530864_r8, 0.0061250951777777783_r8, & + 0.0066353787906172834_r8, 0.0069261505891358025_r8, & + 0.0070926889071604932_r8, 0.00724640449580247_r8, 0.0074733215056790123_r8, & + 0.0076402850908641974_r8, 0.0077717388681481474_r8, & + 0.0078601944375308649_r8, 0.0079489735797530856_r8, & + 0.0080565384365432081_r8, 0.0081693729081481464_r8, & + 0.0082720934172839499_r8, 0.0083943392360493838_r8, & + 0.008498649874567903_r8, 0.0085866062172839513_r8, 0.008782617398518518_r8, & + 0.0089304740075308638_r8, 0.0090430577101851851_r8, & + 0.0091249690188888889_r8, 0.0091596515699029976_r8, & + 0.0091855497126419744_r8, 0.0091749674280141094_r8, & + 0.0091534193919259252_r8, 0.0090840934488148131_r8, & + 0.0088909911874074082_r8, 0.0088094924340740739_r8, & + 0.0087392592158333331_r8, 0.0085811715142857133_r8, & + 0.008703517706666667_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,3) / & + 0.0019264972167901233_r8, 0.0018916715343209873_r8, & + 0.0016849269797530864_r8, 0.0010958487580246914_r8, & + 0.0011008317797530864_r8, 0.0011145050434567903_r8, & + 0.0010593867214814814_r8, 0.0012525781965432099_r8, & + 0.0015539077145679014_r8, 0.0019797110814814816_r8, & + 0.002345052552098765_r8, 0.0025920588128395062_r8, & + 0.0030538064997530862_r8, 0.0035983610987654312_r8, & + 0.0039176073071604933_r8, 0.0041913314395061732_r8, & + 0.0046981297106172834_r8, 0.0050676683832098744_r8, & + 0.0053646250454320987_r8, 0.0055898594765432102_r8, & + 0.0057153687585185173_r8, 0.0058219074271604948_r8, & + 0.0058879671335802459_r8, 0.0059576404552469141_r8, & + 0.0060452662914197534_r8, 0.0061139007131481484_r8, & + 0.0061915974856172852_r8, 0.0064408595112962963_r8, & + 0.0069161360097530853_r8, 0.0073687681875308636_r8, & + 0.0077886074136419752_r8, 0.0082131788925308633_r8, & + 0.0085781865548412717_r8, 0.0088097423775837739_r8, & + 0.0089915156935273348_r8, 0.0091539684422063481_r8, & + 0.0091836832751666653_r8, 0.0092017459199999988_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,3) / & + 0.00054972251950617277_r8, 0.0005332480395061728_r8, & + 0.00041123334419753077_r8, 0.00025502162222222223_r8, & + 0.00026167797777777773_r8, 0.000270026157037037_r8, & + 0.00028344980740740739_r8, 0.00032636481086419756_r8, & + 0.00044240727604938276_r8, 0.00058212602814814818_r8, & + 0.00070641497827160483_r8, 0.00080384738271604939_r8, & + 0.00098697111999999985_r8, 0.0012636998572839509_r8, & + 0.0014644074671604941_r8, 0.001653836252345679_r8, & + 0.0020720125451851854_r8, 0.0025283242083950614_r8, & + 0.0030070271120987658_r8, 0.0034893725214814814_r8, & + 0.0039020388311111114_r8, 0.0042406439402469147_r8, & + 0.0044714160893827163_r8, 0.0046652639550617278_r8, & + 0.0048029580656790121_r8, 0.0048973396404938269_r8, & + 0.0049426675728395054_r8, 0.0049747659985185195_r8, & + 0.0050897268059259251_r8, 0.0052708952387654313_r8, & + 0.0056051436707407407_r8, 0.0060641622848941817_r8, & + 0.0066118010613492048_r8, 0.0071608272388977061_r8, & + 0.0076809364051499112_r8, 0.0080708440540246916_r8, & + 0.0083837597249029963_r8, 0.0086587551022962953_r8, & + 0.0087692242564444429_r8, 0.0088818508324999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,3) / & + 0.00019772149481481484_r8, 0.0001889295585185185_r8, & + 0.00017452594469135802_r8, 0.00016875710320987653_r8, & + 0.00018683095753086419_r8, 0.00019190642864197534_r8, & + 0.00019950576790123456_r8, 0.00021207888395061725_r8, & + 0.0002440941051851852_r8, 0.00027108007999999994_r8, & + 0.00031256211802469137_r8, 0.0003633260740740741_r8, & + 0.00047798179851851839_r8, 0.00060199340049382712_r8, & + 0.00073036861333333335_r8, 0.00086184088049382716_r8, & + 0.0011223262612345677_r8, 0.0014693165293827159_r8, & + 0.001867227917530864_r8, 0.0023359740227160493_r8, & + 0.0028007910291358018_r8, 0.0032741780933333328_r8, & + 0.0036921509975308634_r8, 0.0040847557911111113_r8, & + 0.0043845968740740746_r8, 0.0046214059679012343_r8, & + 0.0047586470765432088_r8, 0.0047795776167901234_r8, & + 0.0046568233264197532_r8, 0.0045563216024691357_r8, & + 0.0046100901634567896_r8, 0.0047988440681481477_r8, & + 0.0051425986079012345_r8, 0.0056077969680246925_r8, & + 0.0062323503291358022_r8, 0.0070315197730864169_r8, & + 0.0076437385705731917_r8, 0.0079775396135714268_r8, & + 0.0082004392025044077_r8, 0.0080092750763703698_r8, & + 0.0079575538069629626_r8, 0.0079861913900000012_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,3) / & + 0.00015329032148148148_r8, 0.00014895444543209875_r8, & + 0.00014217790567901237_r8, 0.00016927481975308639_r8, & + 0.0001774843249382716_r8, 0.00018311449234567902_r8, & + 0.00023289848493827161_r8, 0.00022407881382716048_r8, & + 0.00021685851703703702_r8, 0.00021726529432098763_r8, & + 0.00022885844691358025_r8, 0.00025487370320987653_r8, & + 0.00028509540641975307_r8, 0.0003384387002469135_r8, & + 0.00043478020197530872_r8, 0.00053189827851851841_r8, & + 0.00076172744395061717_r8, 0.001079586911604938_r8, & + 0.0014229161841975307_r8, 0.001923011875061728_r8, & + 0.0024148241012345683_r8, 0.0029138103995061723_r8, & + 0.003350051301728395_r8, 0.0038594751353086421_r8, & + 0.0042482525244444446_r8, 0.0045511721718518514_r8, & + 0.0047452696508641975_r8, 0.0046991004291358027_r8, & + 0.0043858172059259258_r8, 0.004203211185185185_r8, & + 0.0042087026785185182_r8, 0.0043040457269135791_r8, & + 0.0044510217555555559_r8, 0.0047122189965432097_r8, & + 0.005177951251851852_r8, 0.0060388676385185174_r8, & + 0.0068888287733333328_r8, 0.0074064470890740728_r8, & + 0.0076534498829629628_r8, 0.0077829853355555548_r8, & + 0.0078598259607054674_r8, 0.0079737319206560839_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,3) / & + 0.00016481875950617283_r8, 0.00015741356395061724_r8, & + 0.00014164169925925927_r8, 0.0001839927614814815_r8, & + 0.0001859249535802469_r8, 0.00019575232296296295_r8, & + 0.0002396935145679012_r8, 0.0002725685150617284_r8, & + 0.00027518483259259257_r8, 0.00025846998419753081_r8, & + 0.00025513256148148146_r8, 0.00026013407308641976_r8, & + 0.00027466711604938275_r8, 0.00030247589037037028_r8, & + 0.00036516581679012347_r8, 0.00042843817432098766_r8, & + 0.00065861864740740744_r8, 0.00096834256938271607_r8, & + 0.001326593172345679_r8, 0.0017699711669135801_r8, & + 0.0022805968424691359_r8, 0.002812716999506173_r8, & + 0.0033404735456790124_r8, 0.0038210716617283944_r8, & + 0.0041485088854320987_r8, 0.0043930929723456792_r8, & + 0.0045236869703703707_r8, 0.0043387512251851857_r8, & + 0.0040094465239506162_r8, 0.0039420786587654319_r8, & + 0.0040123771693827163_r8, 0.0041334858607407409_r8, & + 0.0042785204523456783_r8, 0.0044635948716049379_r8, & + 0.0047711000083950619_r8, 0.0056083216182716044_r8, & + 0.006622907368888889_r8, 0.0072703303960493827_r8, & + 0.0076120602943209872_r8, 0.0077404898211728378_r8, & + 0.0078434777731657829_r8, 0.0079464404666666662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,3) / & + 0.00018036874567901236_r8, 0.00017630097283950617_r8, & + 0.00015557382123456789_r8, 0.00018695114172839509_r8, & + 0.00019126852790123455_r8, 0.00020641173679012345_r8, & + 0.00019841486518518519_r8, 0.00025864563802469129_r8, & + 0.00028398601382716046_r8, 0.00028279341679012345_r8, & + 0.00028527106024691355_r8, 0.00030373320197530864_r8, & + 0.0003447437481481482_r8, 0.00040266328641975309_r8, & + 0.00047812047259259262_r8, 0.00056322012938271604_r8, & + 0.00085480548246913586_r8, 0.0012131947595061729_r8, & + 0.0016084066256790124_r8, 0.0021219814365432098_r8, & + 0.0026684035130864199_r8, 0.0031916115496296296_r8, & + 0.0036052485777777784_r8, 0.0038842515698765431_r8, & + 0.0040234526054320988_r8, 0.0040736895999999995_r8, & + 0.0040030397817283955_r8, 0.0036564747807407397_r8, & + 0.0034709288696296299_r8, 0.0035280625881481476_r8, & + 0.0037049182572839504_r8, 0.0039133916153086413_r8, & + 0.0040843675037037031_r8, 0.0042642647575308638_r8, & + 0.0045703299951851848_r8, 0.0052869698751851846_r8, & + 0.0063866703056172838_r8, 0.0072475092659259263_r8, & + 0.0076017718336419751_r8, 0.0077507725037654308_r8, & + 0.0078585168444285734_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,3) / & + 0.00020758763968742715_r8, 0.00020722080300212672_r8, & + 0.0001864788087104263_r8, 0.00025718395954004277_r8, & + 0.00026502378355732013_r8, 0.00027554675590136623_r8, & + 0.00022755403641592096_r8, 0.00031171685307198677_r8, & + 0.00035981438303894645_r8, 0.00039680200196537938_r8, & + 0.0004375418361300279_r8, 0.00049305994818820732_r8, & + 0.00061425230796331189_r8, 0.00075851345471973652_r8, & + 0.00089573133711839329_r8, 0.0010680083255836179_r8, & + 0.0014639823247450336_r8, 0.001901387907249093_r8, & + 0.0024005687875577413_r8, 0.0029658850817019778_r8, & + 0.0034307929345554168_r8, 0.0037734930760940804_r8, & + 0.0039541260801980406_r8, 0.0040395754455146964_r8, & + 0.0039920300421914271_r8, 0.0038823924765185643_r8, & + 0.0036716827946130268_r8, 0.0033552224811739017_r8, & + 0.0033699839893903899_r8, 0.0035237388695623902_r8, & + 0.003831344531496974_r8, 0.004156241302619398_r8, 0.0043944964891979386_r8, & + 0.0046387022908644607_r8, 0.0050231418965352159_r8, & + 0.005809325318374756_r8, 0.0070951486904319754_r8, & + 0.0081381975228123835_r8, 0.008506814339276688_r8, & + 0.0086250831603992082_r8, 0.0088233983290839993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,3) / & + 0.00021264298395159173_r8, 0.0002069718794644543_r8, & + 0.0001941884600523325_r8, 0.0002854182524838452_r8, & + 0.00031530872262162951_r8, 0.0003775033974516411_r8, & + 0.0002941826866912395_r8, 0.00043521040075567404_r8, & + 0.00054365269833513076_r8, 0.00063695642773817923_r8, & + 0.00071547310370575796_r8, 0.00079495058663190104_r8, & + 0.00097491441683426482_r8, 0.0012043363710866435_r8, & + 0.0014172254153568921_r8, 0.0016426986873527307_r8, & + 0.0021044601682072752_r8, 0.0025555707524113906_r8, & + 0.0030529055250488883_r8, 0.003499879952467963_r8, & + 0.0037917074903949161_r8, 0.0039974959368982129_r8, & + 0.0040638736371453885_r8, 0.0040034131017040063_r8, & + 0.003857968019061781_r8, 0.0036978647717224285_r8, & + 0.0035356290016213855_r8, 0.00328134323802664_r8, 0.0033362820627457846_r8, & + 0.0035887037520387329_r8, 0.0039688700828879458_r8, & + 0.0043271640785341632_r8, 0.004635789208673774_r8, & + 0.0049391110275474499_r8, 0.005313613577133296_r8, & + 0.0060784649608264848_r8, 0.0069420997702640194_r8, & + 0.0076953353493429029_r8, 0.0075365375607962058_r8, & + 0.0057705846234677328_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,3) / & + 0.00019195447717475553_r8, 0.00018734311379839998_r8, & + 0.0002066305297180444_r8, 0.00031511414847359997_r8, & + 0.00041192687284124439_r8, 0.00053911501046044431_r8, & + 0.00052902441475768881_r8, 0.00073277931899946673_r8, & + 0.00085788198048497761_r8, 0.00096413763715982219_r8, & + 0.0010617275576021332_r8, 0.0011948871517283555_r8, & + 0.0013680982502357333_r8, 0.0015986793723214219_r8, & + 0.0018045845190364444_r8, 0.0020211761117781336_r8, & + 0.0025181023286520881_r8, 0.0028496671273728_r8, 0.0032568271976227549_r8, & + 0.0036600365211598217_r8, 0.0039522881517703107_r8, & + 0.004165498941587199_r8, 0.0042205762367452443_r8, & + 0.0041160304114346664_r8, 0.0038989595477802656_r8, & + 0.0037108311421147544_r8, 0.0035557708102678227_r8, & + 0.0033697732171736891_r8, 0.003526431658449155_r8, & + 0.0038507417019062211_r8, 0.0042689740405199112_r8, & + 0.0046704538714824875_r8, 0.0050658290123252441_r8, & + 0.005380126179687022_r8, 0.005613237352565777_r8, 0.0056675959726631107_r8, & + 0.0057261607038978654_r8, 0.0057495901816712793_r8, & + 0.0057768540985336982_r8, 0.005757223426797119_r8, & + 0.0056978653541644789_r8, 0.0056963458664459994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,19,3) / & + 0.00018870453524179751_r8, 0.00020154592214260408_r8, & + 0.00024398635111532507_r8, 0.00033706866942393408_r8, & + 0.0005255603639988674_r8, 0.00070918510199150604_r8, & + 0.00082008927880554395_r8, 0.0009918091288315784_r8, & + 0.0011043450840915749_r8, 0.0011913969168390319_r8, & + 0.0012803217474548938_r8, 0.0014103957736644999_r8, & + 0.0015734884819936389_r8, 0.0017752330554253167_r8, & + 0.0019967718108753643_r8, 0.0022045610592459847_r8, & + 0.002683055257112283_r8, 0.0030450830420704917_r8, & + 0.0034666494562395123_r8, 0.0038815326734689959_r8, & + 0.004135025907704256_r8, 0.0042490091794989294_r8, & + 0.0042096478455068437_r8, 0.0040402550534385248_r8, & + 0.0037922389190305703_r8, 0.0035819097720353704_r8, & + 0.0034279692123813923_r8, 0.0033806760162041673_r8, & + 0.003668223757137698_r8, 0.0040618938545697184_r8, & + 0.0044749324526863806_r8, 0.0048900852680938914_r8, & + 0.0053150997010661116_r8, 0.0057013061857800959_r8, & + 0.0060574737577106423_r8, 0.0061888815854325976_r8, & + 0.0062522087785135926_r8, 0.0062309211644827247_r8, & + 0.0062184745463426021_r8, 0.0061587362523157323_r8, & + 0.0061939698963084317_r8, 0.0061953053194639569_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,20,3) / & + 0.00026349818039229624_r8, 0.00029809754923786004_r8, & + 0.00034079529911058436_r8, 0.00040339192807861728_r8, & + 0.00060273550524813171_r8, 0.00080223333729435387_r8, & + 0.00096927594328125087_r8, 0.0011070101226936624_r8, & + 0.0011914492422035227_r8, 0.0012683915747053827_r8, & + 0.0013393950944539917_r8, 0.0014191294402242632_r8, & + 0.0015822076958797698_r8, 0.0018255910403493661_r8, & + 0.0021003344012536624_r8, 0.0023560889868352265_r8, & + 0.0028783034464418761_r8, 0.0033154463415441637_r8, & + 0.0037671354715200001_r8, 0.0041645885868453652_r8, & + 0.0043882890090470462_r8, 0.0044265133674952425_r8, & + 0.0042906302466033247_r8, 0.0040803499986752255_r8, & + 0.0038043417477819251_r8, 0.0035583977723589789_r8, & + 0.003415989670182321_r8, 0.0034002248217827819_r8, & + 0.0037509849859286913_r8, 0.004241824003612971_r8, & + 0.0047133811617087731_r8, 0.0051693740027447567_r8, & + 0.0055710228507165746_r8, 0.005975772221710223_r8, & + 0.0064225868975820895_r8, 0.0067990613496751919_r8, & + 0.0068969514944339757_r8, 0.0067742803037320826_r8, & + 0.0066951583498223409_r8, 0.0066607721281617708_r8, & + 0.0066857674093376658_r8, 0.006677294478187999_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,3) / & + 0.00039659600649734312_r8, 0.00037615222630273576_r8, & + 0.00046675799378299252_r8, 0.00055298176110743676_r8, & + 0.00071106699866769357_r8, 0.00088418099721860731_r8, & + 0.00098198457484073055_r8, 0.0011683278818468345_r8, & + 0.0012491866147599801_r8, 0.0013123840542694715_r8, & + 0.0013890940493925131_r8, 0.0015151390348629331_r8, & + 0.0017086468288158021_r8, 0.0020779678001227844_r8, & + 0.0024192139795569776_r8, 0.0026075400166716044_r8, & + 0.0030880938132265079_r8, 0.0035071163300269817_r8, & + 0.0039911190772748623_r8, 0.0043831831292384391_r8, & + 0.0045248233700162354_r8, 0.0045237070429803451_r8, & + 0.0043055067614574611_r8, 0.0040470520602522856_r8, & + 0.0037279824671579641_r8, 0.0034629797581153961_r8, & + 0.0033158245285483451_r8, 0.003259866553174597_r8, & + 0.0036283877677991501_r8, 0.0042512274420369372_r8, & + 0.0048447989374773709_r8, 0.0053992510845686506_r8, & + 0.0058426907560396157_r8, 0.0062266347784368974_r8, & + 0.0066350334440991596_r8, 0.0071881005958940427_r8, & + 0.0075663396872899932_r8, 0.0073489105997108801_r8, & + 0.0072594132747605322_r8, 0.0072701031474790385_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,3) / & + 0.00059939653061974647_r8, 0.00043867996820336728_r8, & + 0.00051265298278417115_r8, 0.00063294347442424356_r8, & + 0.00075418254455812998_r8, 0.00087227161818425691_r8, & + 0.00093400975996560333_r8, 0.0011375290655841384_r8, & + 0.00122585872618028_r8, 0.0012908810972751146_r8, 0.0013656621933464037_r8, & + 0.0015984308273331556_r8, 0.0018190513924014882_r8, & + 0.0022250743087418802_r8, 0.0025086030782148247_r8, & + 0.0026647270173440923_r8, 0.0031547352454038015_r8, 0.00364235125310428_r8, & + 0.0041725663613045826_r8, 0.004552118568355335_r8, & + 0.0046490480773718089_r8, 0.0046010620865373367_r8, & + 0.0043074144007258994_r8, 0.0040396378510051826_r8, & + 0.003689525135464096_r8, 0.0034455937013529703_r8, & + 0.0032950158143137138_r8, 0.0032281488048164931_r8, & + 0.0036262614937759819_r8, 0.0043557072493522761_r8, & + 0.0050296096032609672_r8, 0.005598868708607407_r8, & + 0.0060801377783362949_r8, 0.0064543662392599933_r8, & + 0.0068060582996410492_r8, 0.0073024324226318516_r8, & + 0.0079904628033135999_r8, 0.0077585487848566524_r8, & + 0.0077055939429968006_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,23,3) / & + 0.00075684608961837656_r8, 0.00055609091594322954_r8, & + 0.00057930621565851831_r8, 0.00069166686712012566_r8, & + 0.00079598772772066645_r8, 0.0008945639586396887_r8, & + 0.00097043035575384001_r8, 0.0011167721542455552_r8, & + 0.0011818411844976219_r8, 0.0012565402052087775_r8, & + 0.0013540993541513995_r8, 0.0016689911628765106_r8, & + 0.0019812994120558037_r8, 0.0023715939950073243_r8, & + 0.0026464848624714226_r8, 0.0028759796745301764_r8, & + 0.0034322968283387965_r8, 0.0039222832364989701_r8, & + 0.0044578726088695354_r8, 0.0048661326748172138_r8, & + 0.0049818250083193205_r8, 0.0048507581645008133_r8, & + 0.0045668212967956926_r8, 0.0042571789753170931_r8, & + 0.0039012694728271882_r8, 0.0036290718463439404_r8, & + 0.0034868472145824551_r8, 0.0034434506626103397_r8, & + 0.003803393964275321_r8, 0.0046329773780261208_r8, & + 0.0053484692559087636_r8, 0.005911377311786932_r8, & + 0.0063951531610695091_r8, 0.0067760907216271983_r8, & + 0.0071044629025791986_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,3) / & + 0.00075467211354116937_r8, 0.00060683322594697151_r8, & + 0.00062368643070719997_r8, 0.00077713309223040002_r8, & + 0.0008203621517132799_r8, 0.00088053084264746659_r8, & + 0.00098832849733760005_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,25,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,3) / & + 0.00082279344149333315_r8, 0.00079458338064213312_r8, & + 0.00018101455712853332_r8, 0.00018101455712853332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,3) / & + 0.00094941983493950638_r8, 0.0010755178487076612_r8, & + 0.00081437764689705104_r8, 0.00062352700988225183_r8, & + 0.00070039194240497781_r8, 0.00075016659797971352_r8, & + 0.00063261437779575311_r8, 0.0009106495801724444_r8, & + 0.0011598827217059158_r8, 0.0012323683404300127_r8, & + 0.0012986364228770803_r8, 0.0011764507149221684_r8, & + 0.0012496424445030475_r8, 0.0012250939072782775_r8, & + 0.0012967359537115811_r8, 0.001303143472064861_r8, 0.001423066901985509_r8, & + 0.0015300819251689482_r8, 0.0015714532779852837_r8, & + 0.0015854101523583208_r8, 0.0016289601392231305_r8, & + 0.0016268949756980146_r8, 0.001836089232560869_r8, & + 0.0018376097375738662_r8, 0.001956844563518479_r8, & + 0.0019498944939628001_r8, 0.0019216573542251557_r8, & + 0.0018461881091397328_r8, 0.0015189164256705185_r8, & + 0.0014486554776072297_r8, 0.0015303488078398863_r8, & + 0.0016356503612803199_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,3) / & + 0.0012978965518719149_r8, 0.0013647919199714325_r8, & + 0.0011079529865331136_r8, 0.0014561449499144125_r8, & + 0.0015046358725373965_r8, 0.0015460151306212059_r8, & + 0.0016785278186630869_r8, 0.0018994186454999358_r8, & + 0.0020157929806082185_r8, 0.0016516170219242662_r8, & + 0.0014408147994985311_r8, 0.0014494972729786242_r8, & + 0.0015122014013140654_r8, 0.0015828793675171553_r8, & + 0.0016465300305635042_r8, 0.0017709974890974846_r8, & + 0.0018424721641962798_r8, 0.0019095418253499085_r8, & + 0.0019735134834564187_r8, 0.0020691250045868229_r8, & + 0.0021386387415316338_r8, 0.0021357532026261752_r8, & + 0.0021636189061227423_r8, 0.0021530178439026475_r8, & + 0.0021582377044407426_r8, 0.002151393043676971_r8, & + 0.0021556524498760571_r8, 0.0020895429839514774_r8, & + 0.0020949435104158668_r8, 0.002002336983908449_r8, & + 0.0016645283627830041_r8, 0.0015306529228799998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,3) / & + 0.001248332003789307_r8, 0.0012089531759103998_r8, & + 0.00096150661943751104_r8, 0.0013901194047566221_r8, & + 0.001398956781773511_r8, 0.0014316550767359997_r8, 0.001648170813649778_r8, & + 0.001834639468706133_r8, 0.0020140382221489777_r8, & + 0.0015907278630399998_r8, 0.001273466028133689_r8, & + 0.0013565373720924442_r8, 0.0015801230106197335_r8, & + 0.0015801230106197333_r8, 0.0015969140269518221_r8, & + 0.0017595217640625777_r8, 0.0018995941897802667_r8, & + 0.0019141758618581332_r8, 0.0019393623863562665_r8, & + 0.0019870842222474666_r8, 0.0020069683205354667_r8, & + 0.0020149219598506666_r8, 0.0021236216971584_r8, 0.0021236216971584_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,3) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,3) / & + 0.001398272290173071_r8, 0.0012150796306487997_r8, & + 0.00084813912664166388_r8, 0.0014285512327844264_r8, & + 0.00084308253242239999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,3) / & + 0.00091781800035499472_r8, 0.00089980247442514175_r8, & + 0.0008079315710158698_r8, 0.0010584885803138844_r8, & + 0.0010086231441047702_r8, 0.001119963595226074_r8, & + 0.0014669391395157334_r8, 0.0013234591767305479_r8, & + 0.0012842686497526517_r8, 0.0012949271612738374_r8, & + 0.0013965929634759109_r8, 0.0014124987422075262_r8, & + 0.0014249844271323425_r8, 0.001595544036771352_r8, 0.001719299896917333_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,3) / & + 0.00083722222177125413_r8, 0.00092139118445921974_r8, & + 0.00097315727406696291_r8, 0.0013783569056035558_r8, & + 0.0015118975930960195_r8, 0.0015881338975510912_r8, & + 0.001711615235752968_r8, 0.0017393632160994765_r8, & + 0.0017274389312662518_r8, 0.0017310840325541334_r8, & + 0.0018116274500481525_r8, 0.0018178035352867552_r8, & + 0.0018729886733893329_r8, 0.0019500444192191999_r8, & + 0.0020095528169887999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,3) / & + 0.00098570802772005896_r8, 0.0010416628731275061_r8, & + 0.0010895922061112493_r8, 0.0014176848818861032_r8, & + 0.0015539045794244343_r8, 0.0016291595662241581_r8, & + 0.001775506001257126_r8, 0.0018062169621318317_r8, & + 0.0017829381121561678_r8, 0.0017913235566522072_r8, & + 0.0018597940323432688_r8, 0.0018452209525110321_r8, & + 0.001891953754551605_r8, 0.0019505847435563372_r8, & + 0.0019963878368849698_r8, 0.0020101603110536056_r8, & + 0.002057070160762192_r8, 0.0022060528550276741_r8, & + 0.0023588877952565326_r8, 0.002602980107663288_r8, & + 0.0027917109761872588_r8, 0.0029696219947799997_r8, & + 0.0030349569618293324_r8, 0.0031427104099981326_r8, & + 0.0032176322164335991_r8, 0.0033127783141767998_r8, & + 0.0034100913002743996_r8, 0.0035623644546335996_r8, & + 0.0037034091875199995_r8, 0.0037317757259775993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,3) / & + 0.0013291292684655142_r8, 0.0013362354087578599_r8, & + 0.0013450678995167078_r8, 0.0015828224916707816_r8, & + 0.0016601067858106997_r8, 0.0017180398956516869_r8, & + 0.0018382420653425512_r8, 0.0018596809292753904_r8, & + 0.0018690353399427159_r8, 0.0018857769246992588_r8, & + 0.0018995074330607404_r8, 0.0019024382140852675_r8, & + 0.0019337534085939092_r8, 0.0019664737720869138_r8, & + 0.001993533311957201_r8, 0.002019669455066337_r8, 0.0020873986001125923_r8, & + 0.0022116155383302056_r8, 0.0023760604571858432_r8, & + 0.0025827808886281479_r8, 0.0027664565487269129_r8, & + 0.0029849753811772013_r8, 0.0030982721490020577_r8, & + 0.0032220725549850201_r8, 0.0033215384452352252_r8, & + 0.003435999495932839_r8, 0.0035494568544987646_r8, & + 0.0037232862947856782_r8, 0.0038463690608944853_r8, & + 0.0038788836675004924_r8, 0.0039357284883015514_r8, & + 0.0040119358207841693_r8, 0.0041183756507345171_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,3) / & + 0.0017266560849318454_r8, 0.0017285597395086225_r8, & + 0.0017128338973526384_r8, 0.0017154824602420675_r8, & + 0.001762577219119723_r8, 0.0017884834748819489_r8, & + 0.0018777897048098762_r8, 0.0019147454338764376_r8, & + 0.0019437554742747125_r8, 0.0019702824869641477_r8, & + 0.0019937470988126813_r8, 0.0020112524441599998_r8, & + 0.0020091418706074862_r8, 0.0020640581667679871_r8, & + 0.0021195538360605495_r8, 0.0021701662175257282_r8, & + 0.0022740395433455142_r8, 0.0023642148329715354_r8, & + 0.0025391441350592794_r8, 0.0027727970424610759_r8, & + 0.0029785572719335765_r8, 0.0031656120259994868_r8, & + 0.0032877356054792418_r8, 0.0034236399887430571_r8, & + 0.0035344244083524482_r8, 0.0036435120923607955_r8, & + 0.0037205687189251157_r8, 0.0038229936119147452_r8, & + 0.0037917333276553345_r8, 0.0037757288838784482_r8, & + 0.0037212950045299518_r8, 0.0036255129866076263_r8, & + 0.0035389662798698666_r8, 0.0035297480395007994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,3) / & + 0.0018234073967770075_r8, 0.0018898518287143505_r8, & + 0.0018173127503581235_r8, 0.0016745360685171352_r8, & + 0.0018256236318384197_r8, 0.0018690959349661231_r8, & + 0.0019701903496905475_r8, 0.0019666528975732936_r8, & + 0.0019441229502783111_r8, 0.0019390831465088492_r8, & + 0.0019572658634910613_r8, 0.0019966268679231097_r8, & + 0.0020085787070042971_r8, 0.0020598656741466236_r8, & + 0.0021058555959498604_r8, 0.0021708856558960883_r8, & + 0.0022878014926502742_r8, 0.0023981633012949617_r8, & + 0.0025990347190366324_r8, 0.0028537521247896172_r8, & + 0.0030795806934175675_r8, 0.0032633388493653144_r8, & + 0.0033831644079212828_r8, 0.0035102501150846813_r8, & + 0.0036134484309779829_r8, 0.0037064846393733441_r8, & + 0.0037580764910505608_r8, 0.0038610766243854862_r8, & + 0.0038664202471922126_r8, 0.0038100341128412801_r8, & + 0.0037849768051781861_r8, 0.0037525547779263999_r8, & + 0.0037870769009983999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,3) / & + 0.0019270332950133992_r8, 0.0021082902046240136_r8, & + 0.0018376108806180344_r8, 0.0020598293081517823_r8, & + 0.0021584176296627093_r8, 0.0022627072331115453_r8, & + 0.0023430953084360691_r8, 0.0021842488224429299_r8, & + 0.0020425500382784262_r8, 0.0020441288548150782_r8, & + 0.0020504879769765927_r8, 0.0020725914084897185_r8, & + 0.0021389017030290967_r8, 0.0021999931317945418_r8, & + 0.0022560849748605887_r8, 0.0022974411969178864_r8, & + 0.0024005960259810039_r8, 0.0025368323868602168_r8, & + 0.0026800058295259684_r8, 0.0028103930510455849_r8, & + 0.0029573470388249441_r8, 0.0030456564502134194_r8, & + 0.0031380557482492202_r8, 0.0033040288366647467_r8, & + 0.003452634943177102_r8, 0.0035580012117919059_r8, & + 0.0036620254863505546_r8, 0.0038330705228900742_r8, & + 0.0039230630654792297_r8, 0.0039812819252682671_r8, & + 0.004033974927179022_r8, 0.0040982130250140445_r8, & + 0.0041400516632353187_r8, 0.004172812106370845_r8, 0.004211822031630617_r8, & + 0.0041633392071509338_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,3) / & + 0.0025172227741000696_r8, 0.0028390001765788973_r8, & + 0.0026779311068403358_r8, 0.0035616465684126554_r8, & + 0.0034463910974575148_r8, 0.0035529888804535837_r8, & + 0.0033849305313730636_r8, 0.002842201717438762_r8, & + 0.0022096042988043064_r8, 0.0022614602423091626_r8, & + 0.0022741311293742622_r8, 0.0022750329718699983_r8, & + 0.0023142631204345417_r8, 0.0023961955111722142_r8, & + 0.0024281658276460775_r8, 0.0024616692763626932_r8, & + 0.0024381311872239677_r8, 0.0025360261901361775_r8, & + 0.002614306118766117_r8, 0.0027070606194526292_r8, & + 0.0028428780993105646_r8, 0.0029025800725283298_r8, & + 0.0030523761110701833_r8, 0.0032265669891217118_r8, & + 0.0033615277186086986_r8, 0.0034900853663759543_r8, & + 0.0035966380572472366_r8, 0.0038847767346350884_r8, & + 0.0039827168296720852_r8, 0.0040585617835635357_r8, & + 0.0040992348801212582_r8, 0.0041690374892912729_r8, & + 0.0042176467998114777_r8, 0.0042477683391690807_r8, & + 0.0042888021727250959_r8, 0.0042509537756986642_r8, & + 0.0042537791194031654_r8, 0.0042541037827016296_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,3) / & + 0.0026880568318293331_r8, 0.0033197886397440001_r8, & + 0.0032565969276586652_r8, 0.0042098930123946662_r8, & + 0.0043698644066986663_r8, 0.0043421137941333328_r8, & + 0.0040220320208213325_r8, 0.0028435807156053329_r8, & + 0.0024193993989973326_r8, 0.0024659129466026663_r8, & + 0.0024492347821226668_r8, 0.0024263949624320001_r8, & + 0.0023549568245759996_r8, 0.0024263949624320001_r8, & + 0.0024563230020266669_r8, 0.0025057089001813324_r8, & + 0.0024988986496853323_r8, 0.0025506472878080002_r8, & + 0.002631629042005334_r8, 0.002738137653503999_r8, 0.0028624826353493326_r8, & + 0.0029724195362133329_r8, 0.0031202066048000004_r8, & + 0.0032810119073280004_r8, 0.0034440409651200002_r8, & + 0.0035972947653973323_r8, 0.0037826077040640001_r8, & + 0.0041247417170773345_r8, 0.0041556889778346668_r8, & + 0.0041675953341439986_r8, 0.0041929832067413332_r8, & + 0.0042336130685440001_r8, 0.0042654405657599993_r8, & + 0.0042712779233279995_r8, 0.0042903651560106662_r8, & + 0.0043008816652799989_r8, 0.0043648609573546659_r8, & + 0.0043702813608106671_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,4) / & + 0.0039910071355560139_r8, 0.0039991716995555551_r8, & + 0.0040424310769629629_r8, 0.0042212512954814809_r8, & + 0.0043506397535555547_r8, 0.0045634850428888886_r8, & + 0.0048669982153333327_r8, 0.0050979155099999986_r8, & + 0.0052493975215555551_r8, 0.0053675145508888895_r8, & + 0.005424297423999999_r8, 0.005677010122888888_r8, 0.0063448311818518526_r8, & + 0.0068266403848148156_r8, 0.0070611243766666668_r8, & + 0.0071386778525925933_r8, 0.0074041416325925924_r8, & + 0.0076315324455555559_r8, 0.0079568826244444443_r8, & + 0.0080084693799999992_r8, 0.0081399601370370361_r8, & + 0.0082916557066666664_r8, 0.0083815373077777786_r8, & + 0.0084743657329629622_r8, 0.0085288299755555564_r8, & + 0.0085672426940740735_r8, 0.0085945198844444449_r8, & + 0.0086439502581481462_r8, 0.0088335127647619048_r8, & + 0.0090787935238095217_r8, 0.0091195232879999998_r8, & + 0.0092236120479999989_r8, 0.0083407047266666652_r8, & + 0.0085847017599999988_r8, 0.0091830249199999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,4) / & + 0.0036089927777777776_r8, 0.0033842390834567899_r8, & + 0.0037806527916049376_r8, 0.0042937653555555561_r8, & + 0.0044230558172839501_r8, 0.0046340253086419748_r8, & + 0.0052038555688888885_r8, 0.0054859278804938261_r8, & + 0.005799701085432098_r8, 0.0061241429491358029_r8, & + 0.0063255069496296291_r8, 0.0065307630691358006_r8, & + 0.0070005908320987641_r8, 0.007311054349135801_r8, & + 0.0074977743674074088_r8, 0.0076065410661728394_r8, 0.00783575082074074_r8, & + 0.0079712353911111106_r8, 0.0082908791318518516_r8, & + 0.0084150478977777759_r8, 0.0085439130923456782_r8, 0.00871374260839506_r8, & + 0.0087945988385185192_r8, 0.0088841360656790117_r8, & + 0.0089429800977777769_r8, 0.008992884274567901_r8, 0.009025028924938271_r8, & + 0.0090593646256790124_r8, 0.0091780719443209889_r8, & + 0.0092991395287213424_r8, 0.0093029032091269826_r8, & + 0.0093416507264814808_r8, 0.0090259641494973546_r8, & + 0.0091520853473333295_r8, 0.0092831143197037013_r8, & + 0.0093129375660740733_r8, 0.0093508593783703693_r8, & + 0.0093144116714814814_r8, 0.0092187057592592603_r8, & + 0.0090578299659259242_r8, 0.0089199740688888883_r8, & + 0.0088758507520000016_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,4) / & + 0.0034714003614814814_r8, 0.003139747445925926_r8, 0.003734594509135802_r8, & + 0.0043321688291358008_r8, 0.0043666894286419752_r8, & + 0.0045975262923456783_r8, 0.005096577305185185_r8, & + 0.0054497709269135794_r8, 0.0060729629708641967_r8, & + 0.0067376000730864187_r8, 0.0071119553585185184_r8, & + 0.0074050383916049387_r8, 0.0077955908088888888_r8, & + 0.0080644428587654318_r8, 0.0082122786666666663_r8, & + 0.0083602439037037037_r8, 0.0085825384444444437_r8, & + 0.0086034967195061721_r8, 0.0088301918508641979_r8, & + 0.0089393375920987644_r8, 0.0090665849224691349_r8, & + 0.009188488678518519_r8, 0.0092630583506172846_r8, & + 0.0093053724330864201_r8, 0.0093473906775308636_r8, & + 0.0093800160646913579_r8, 0.0094115782839506168_r8, & + 0.0094377691940740749_r8, 0.0094402375925925937_r8, & + 0.0094048387239506186_r8, 0.0093562103486419749_r8, & + 0.0093372582251851823_r8, 0.0092996035916049387_r8, & + 0.009252777979259259_r8, 0.0092549875195061717_r8, & + 0.0092471570567901219_r8, 0.0092199307135802482_r8, & + 0.0091596722059259245_r8, 0.0090797774493827157_r8, & + 0.0089616641180246901_r8, 0.0088947388542592581_r8, & + 0.008857260336753086_r8, 0.0088630830299999998_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,4) / & + 0.0038171148281481481_r8, 0.0036325119007407408_r8, & + 0.0040001553609876547_r8, 0.0043869913130864203_r8, & + 0.0043887755861728387_r8, 0.0045104297288888892_r8, & + 0.0048710193012345684_r8, 0.0052363237920987652_r8, & + 0.0059371640725925916_r8, 0.0067720004883950616_r8, & + 0.0072954396483950615_r8, 0.007823436562962964_r8, & + 0.0084384468365432085_r8, 0.0086420018874074078_r8, & + 0.0086933297846913584_r8, 0.0087753323871604932_r8, & + 0.0089249894479012347_r8, 0.0089954821022222211_r8, & + 0.0090767173748148126_r8, 0.0091143442735802469_r8, & + 0.0091447323856790122_r8, 0.0092090494212345685_r8, & + 0.0092314221718518517_r8, 0.0092391324503703701_r8, & + 0.009261468221234569_r8, 0.0092719704711111111_r8, & + 0.0092755759970370357_r8, 0.0092621615916049366_r8, & + 0.0092256718202469151_r8, 0.0092027813530864214_r8, & + 0.0091610312118518538_r8, 0.009155123696296296_r8, & + 0.0091319928607407393_r8, 0.0090947819841975305_r8, & + 0.0090482706997530877_r8, 0.0089691617629629634_r8, & + 0.0089093007876543204_r8, 0.0088861699520987655_r8, & + 0.0088470731081481454_r8, 0.0087569384268518513_r8, & + 0.0087928135749029985_r8, 0.0087942060937301596_r8, & + 0.0087855032060000001_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,4) / & + 0.0035244755520987647_r8, 0.0034615914819753086_r8, & + 0.003436731842962963_r8, 0.0039361711432098767_r8, & + 0.0039342204612345675_r8, 0.003948097113580247_r8, & + 0.0040256066760493824_r8, 0.0044910430933333325_r8, & + 0.005002010831604938_r8, 0.0055536747881481481_r8, & + 0.0059863841239506162_r8, 0.0063660367590123454_r8, & + 0.0069069396074074082_r8, 0.0072038777797530868_r8, & + 0.0073084472765432102_r8, 0.0074647514479012338_r8, & + 0.0077043340232098769_r8, 0.0078776951056790129_r8, & + 0.008083219328395062_r8, 0.0081996593259259249_r8, & + 0.0082731473402469138_r8, 0.0083231624562962962_r8, & + 0.0083566013980246913_r8, 0.0084530908187654321_r8, & + 0.0085616079041975299_r8, 0.0086486767328395053_r8, & + 0.008710294246419753_r8, 0.0088640005901234557_r8, 0.008967294285432097_r8, & + 0.0090634751563580234_r8, 0.0091013320229629633_r8, & + 0.0091286204393298074_r8, 0.009131200437460317_r8, & + 0.0090988620395978832_r8, 0.0090658302713650784_r8, & + 0.0089851106682222216_r8, 0.0089105026296296269_r8, & + 0.0088709832920000013_r8, 0.0088027251392592595_r8, & + 0.0086924099133333325_r8, 0.0087271685700000007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,4) / & + 0.0019609253669135799_r8, 0.0019248793525925927_r8, & + 0.0016399780898765431_r8, 0.001331391295308642_r8, & + 0.0013375761590123454_r8, 0.0013509350948148148_r8, & + 0.0013240877940740739_r8, 0.0016049675086419752_r8, & + 0.0019489254370370366_r8, 0.0023270249224691354_r8, & + 0.0026567826256790128_r8, 0.0028675025037037034_r8, & + 0.0032964029249382709_r8, 0.0037762891807407409_r8, & + 0.0040577051017283948_r8, 0.0043491887604938271_r8, & + 0.0048637990044444433_r8, 0.0052397074395061733_r8, & + 0.005570898108148147_r8, 0.0058285175580246916_r8, 0.005894341518518518_r8, & + 0.0059823440859259258_r8, 0.0059802824646913565_r8, & + 0.0060670277204938269_r8, 0.0061613445807407411_r8, & + 0.0062416368696296288_r8, 0.0063071742370370363_r8, & + 0.0065596535012345681_r8, 0.0070002302795061722_r8, & + 0.0072861484854320983_r8, 0.0076184057888271607_r8, & + 0.0079276184326984127_r8, 0.0083013940935185177_r8, & + 0.0085453303083650786_r8, 0.0087802995604232791_r8, & + 0.0089556133059259246_r8, 0.0090942416175555547_r8, & + 0.0092673115422499987_r8, 0.0093501820545714275_r8, & + 0.0094638399199999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,4) / & + 0.00061474217037037031_r8, 0.00060434161481481472_r8, & + 0.00043567696098765427_r8, 0.00031784097777777775_r8, & + 0.00033068219703703703_r8, 0.00033889170222222218_r8, & + 0.00035568975506172838_r8, 0.00041589279308641979_r8, & + 0.00052226505283950605_r8, 0.00065393146370370365_r8, & + 0.00077591842419753073_r8, 0.00086183163555555563_r8, & + 0.0010277597876543209_r8, 0.0012727783866666666_r8, & + 0.001451797371358025_r8, 0.0016335528577777778_r8, & + 0.0020772914049382715_r8, 0.0025833315911111105_r8, & + 0.0030962962360493828_r8, 0.0035907525145679009_r8, & + 0.0039875175303703703_r8, 0.0043281287911111112_r8, & + 0.0045303340809876537_r8, 0.0046886259140740726_r8, & + 0.0048278639293827157_r8, 0.0049229943441975298_r8, & + 0.0049639309308641974_r8, 0.0049830587081481472_r8, & + 0.0050797237827160504_r8, 0.0052437752123456792_r8, & + 0.0055068491758024701_r8, 0.0058941751096296298_r8, & + 0.0065074473348148152_r8, 0.0070279858954320996_r8, & + 0.0075608063565432105_r8, 0.0081179093083774256_r8, & + 0.0084790991413580229_r8, 0.0088683965582716049_r8, & + 0.0090843934470617276_r8, 0.0091806633005185184_r8, & + 0.0090801842266666662_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,4) / & + 0.000228793732345679_r8, 0.0002245410607407407_r8, & + 0.00019014064543209874_r8, 0.0002100634874074074_r8, & + 0.00022292319654320986_r8, 0.00023167815308641979_r8, & + 0.00025922806913580246_r8, 0.00025901543555555552_r8, & + 0.00028930185333333336_r8, 0.00032383169777777779_r8, & + 0.0003647128148148148_r8, 0.00041889739802469138_r8, & + 0.00050878593283950604_r8, 0.00062020592888888885_r8, & + 0.0007557552138271605_r8, 0.00088826291407407415_r8, & + 0.0011545356261728394_r8, 0.0015290943002469136_r8, & + 0.0019639392167901232_r8, 0.0024314465002469132_r8, & + 0.0029002942997530859_r8, 0.003392799896296296_r8, & + 0.0038092936103703702_r8, 0.0041778153397530856_r8, & + 0.0044316720997530862_r8, 0.0046291254913580241_r8, & + 0.0047416641249382711_r8, 0.004714678150123457_r8, & + 0.0045852120345679006_r8, 0.0044845173225308635_r8, & + 0.0045332381472222225_r8, 0.0047160475566049376_r8, & + 0.0051296672504938263_r8, 0.0056358332338624336_r8, & + 0.0062422280504144624_r8, 0.0071665731331216932_r8, & + 0.0078390276560934748_r8, 0.0083411556485308638_r8, & + 0.0086541051624867728_r8, 0.0085898493416296292_r8, & + 0.0085225480400000012_r8, 0.0089958149199999993_r8, & + 0.0089958149199999993_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,4) / & + 0.00018312373728395062_r8, 0.00018467688691358028_r8, & + 0.00017437802567901237_r8, 0.00023560725185185188_r8, & + 0.00023821432444444445_r8, 0.00023950861580246911_r8, & + 0.00030141272246913582_r8, 0.0002869536390123457_r8, & + 0.0002874528656790123_r8, 0.00028870093234567893_r8, & + 0.00029647592543209872_r8, 0.0003132000187654321_r8, & + 0.00030950204345679016_r8, 0.00037561259703703699_r8, & + 0.00046662901432098768_r8, 0.00055066550320987653_r8, & + 0.00077786910617283955_r8, 0.0011262830948148149_r8, & + 0.0014958032775308644_r8, 0.0019563676123456786_r8, & + 0.0024655973022222224_r8, 0.0029701952780246906_r8, & + 0.0033932066735802464_r8, 0.003891961848395061_r8, & + 0.0042730104691358021_r8, 0.0045522260948148143_r8, & + 0.0046992206133333325_r8, 0.0045674062834567906_r8, & + 0.0042591892864197534_r8, 0.0040931501950617283_r8, & + 0.0041168542167901237_r8, 0.0042313620222222221_r8, & + 0.0044199899646296288_r8, 0.0047344761854320981_r8, & + 0.0052951840028395069_r8, 0.0061439456069135798_r8, & + 0.0070225766160141095_r8, 0.0075744650924867724_r8, & + 0.0078141617437301573_r8, 0.0079774162926984117_r8, & + 0.0080097418797178115_r8, 0.0080167690233333335_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,4) / & + 0.00018880012938271606_r8, 0.0001894750098765432_r8, & + 0.00018768149185185184_r8, 0.00023961955506172843_r8, & + 0.00024189380987654321_r8, 0.00024288301827160493_r8, & + 0.0002720415535802469_r8, 0.00032046654024691355_r8, & + 0.00034037089234567901_r8, 0.00034330153777777783_r8, & + 0.0003476189239506173_r8, 0.00036023826469135795_r8, & + 0.00033279004296296296_r8, 0.00041350759901234561_r8, & + 0.00050814803209876542_r8, 0.00060398106222222213_r8, & + 0.00089797009925925912_r8, 0.0012395243437037036_r8, & + 0.0016014636770370369_r8, 0.002069886209382716_r8, & + 0.0026133036809876543_r8, 0.003172400567901234_r8, & + 0.0036401759545679016_r8, 0.0040470641777777781_r8, & + 0.0043248098582716055_r8, 0.0044762974167901239_r8, & + 0.0044872711585185188_r8, 0.0042025270597530855_r8, & + 0.0039039340434567898_r8, 0.0038517463669135803_r8, & + 0.0039624360128395061_r8, 0.0041194058197530862_r8, & + 0.004303611214814815_r8, 0.0046070647574074069_r8, & + 0.0050594436899118163_r8, 0.0059918042991887119_r8, & + 0.0069773959423280419_r8, 0.0074629381192945331_r8, & + 0.0076420274645696649_r8, 0.0078609774838024685_r8, & + 0.0078622791711111112_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,4) / & + 0.00017897275999999998_r8, 0.00018185718074074074_r8, & + 0.00017973084493827163_r8, 0.00020485858716049385_r8, & + 0.00021505575407407412_r8, 0.00022637155851851852_r8, & + 0.00023126213086419753_r8, 0.00032406282123456789_r8, & + 0.00034119369185185179_r8, 0.00035982224246913585_r8, & + 0.00038360022370370373_r8, 0.00040766479802469127_r8, & + 0.00045123619209876538_r8, 0.00056196281777777762_r8, & + 0.00069694816148148148_r8, 0.00084373004641975292_r8, & + 0.0011917002780246913_r8, 0.0015746718459259258_r8, & + 0.0020127432459259255_r8, 0.0025384196809876544_r8, & + 0.0030672024153086419_r8, 0.0035580993925925924_r8, & + 0.0038828370943209873_r8, 0.0040554400918518512_r8, & + 0.0040778960469135808_r8, 0.0040046738245679012_r8, & + 0.0038475722772839506_r8, 0.0035000458027160484_r8, 0.00338203647691358_r8, & + 0.0034816645541975314_r8, 0.0037004305001058198_r8, & + 0.0039291912148148147_r8, 0.004139148385432099_r8, & + 0.0044408754358024691_r8, 0.0047925700568253963_r8, & + 0.0056052615437037039_r8, 0.0067325957880000004_r8, & + 0.0074160350145555552_r8, 0.0076258745433333327_r8, & + 0.0077398586890476181_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,4) / & + 0.00023030007103159829_r8, 0.00023321380241769877_r8, & + 0.00024548710980303539_r8, 0.0002986260239308378_r8, & + 0.00031474587598775305_r8, 0.00033539354084609053_r8, & + 0.00033060370184088235_r8, 0.00043179822174303859_r8, & + 0.00047786242836861896_r8, 0.00052881080343277029_r8, & + 0.00057716249881740241_r8, 0.00063087225574631008_r8, & + 0.00077887289075390944_r8, 0.0009588075950247801_r8, & + 0.0011328781528549201_r8, 0.0013380459805503835_r8, & + 0.0017616935029015101_r8, 0.0022143460158807289_r8, & + 0.0026816285747867652_r8, 0.0031748687970031765_r8, & + 0.0036314788040351207_r8, 0.0040230979276896124_r8, & + 0.004206985297244596_r8, 0.0042605369026433608_r8, & + 0.0041532345519309519_r8, 0.0039879894109674735_r8, & + 0.0037376810190147759_r8, 0.0033987610733696603_r8, & + 0.0034144424994391703_r8, 0.003600673857153396_r8, & + 0.0038733720372916571_r8, 0.0041629956429814399_r8, & + 0.0044200515305300404_r8, 0.0046622008008199893_r8, & + 0.0051575207250158508_r8, 0.0060774480296957806_r8, & + 0.007421012076220165_r8, 0.0083558885185946504_r8, & + 0.0086064099752833408_r8, 0.0087018902277333325_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,4) / & + 0.00031986803619957086_r8, 0.00030544957107817044_r8, & + 0.00032195837719235044_r8, 0.00040137334071099816_r8, & + 0.00044451989204648739_r8, 0.00049206527374188243_r8, & + 0.00054943365117881139_r8, 0.00066210144887329705_r8, & + 0.00073631763491444665_r8, 0.00079815397394366607_r8, & + 0.00085921082903485455_r8, 0.00092546141904088872_r8, & + 0.0011349894697621034_r8, 0.0013613197457559123_r8, & + 0.0015575862975883684_r8, 0.0017743828347177918_r8, & + 0.0022314400559670347_r8, 0.00270920158512967_r8, 0.0031975463802239546_r8, & + 0.0036269093870673966_r8, 0.0039679157921040011_r8, & + 0.0042199714995527276_r8, 0.0043047066386754764_r8, & + 0.0042852512393218847_r8, 0.0041434941321700043_r8, & + 0.0039619621905236154_r8, 0.0037882545903875743_r8, & + 0.0034958040553527982_r8, 0.0035080920063681686_r8, & + 0.0036792765466806348_r8, 0.0040506528999179449_r8, & + 0.0043912080138304608_r8, 0.00468411859378244_r8, 0.0050280800361838206_r8, & + 0.0055838643870155845_r8, 0.0067547195648857599_r8, & + 0.0081270559619669325_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,4) / & + 0.00032322240449023326_r8, 0.00030786957077759994_r8, & + 0.00033775553554879994_r8, 0.00047748012342239992_r8, & + 0.00056576959750453319_r8, 0.00064366407408800001_r8, & + 0.00074708944172426658_r8, 0.00087356838792533337_r8, & + 0.00095777758261546655_r8, 0.0010340260689407999_r8, & + 0.0011090587985493332_r8, 0.0012204115661471999_r8, & + 0.0014073326624770557_r8, 0.0016257325314191359_r8, & + 0.0018345373319223997_r8, 0.0020567231172431994_r8, & + 0.0025331248811120001_r8, 0.0029079422605463993_r8, & + 0.0033209393971487997_r8, 0.0037160853114111994_r8, & + 0.0040085441943082658_r8, 0.004199773288479999_r8, & + 0.0042635810862101326_r8, 0.0041150644677418659_r8, & + 0.003863302902154666_r8, 0.0036393739770663996_r8, & + 0.0034878082518551997_r8, 0.0033345208985535997_r8, & + 0.0035041959862295992_r8, 0.0038182838195295996_r8, & + 0.0042215236757695996_r8, 0.0046454605410479995_r8, 0.0050452737953088_r8, & + 0.0053767606893753584_r8, 0.0056692567666559992_r8, & + 0.0056982850400447999_r8, 0.0057510955133183994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,4) / & + 0.00019936045588130077_r8, 0.00022084993717282113_r8, & + 0.00030645920429334388_r8, 0.00047472628460843596_r8, & + 0.00065463955012719341_r8, 0.00080642307097520197_r8, & + 0.00093261896286732046_r8, 0.0010098738537408041_r8, & + 0.0010638546176926879_r8, 0.0011247639154599301_r8, & + 0.0011776938872113487_r8, 0.0012649544341229444_r8, & + 0.0014273273211083317_r8, 0.0016483354227869117_r8, & + 0.0019001007383021998_r8, 0.0021442376705695918_r8, & + 0.0026657146791351917_r8, 0.0030740351643467941_r8, & + 0.0035109327668502248_r8, 0.0039089065894399805_r8, & + 0.0041071670190709177_r8, 0.0041636195310069844_r8, & + 0.0041152036003120505_r8, 0.0039202605530954159_r8, & + 0.0036800896243153768_r8, 0.0034656898995663989_r8, & + 0.0033414521418094318_r8, 0.0032957252248967551_r8, & + 0.0035952364356566274_r8, 0.0039840963340175162_r8, & + 0.0044285331873099845_r8, 0.0048384451560304102_r8, & + 0.0052355137107960607_r8, 0.0055980780189329024_r8, & + 0.0059871441066898165_r8, 0.0062279520371799693_r8, & + 0.0063217509190670205_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,4) / & + 0.00019593599053374072_r8, 0.00024865211260214812_r8, & + 0.00031266113778503701_r8, 0.00048332584109562961_r8, & + 0.00067668481109537033_r8, 0.00085406538610062943_r8, & + 0.0010301661276757035_r8, 0.0011118498694503702_r8, & + 0.0011567872073142962_r8, 0.0012538376270879999_r8, & + 0.0013083628696322965_r8, 0.0013789020822020147_r8, & + 0.0015026198922423704_r8, 0.001785194098372037_r8, & + 0.0021073650493061112_r8, 0.0023620735940049998_r8, & + 0.0028920987906120208_r8, 0.003336159466024381_r8, & + 0.0037842263609489525_r8, 0.0041511177288265817_r8, & + 0.0043538978842850365_r8, 0.00438944812426345_r8, 0.0042630935474698827_r8, & + 0.00403848742877782_r8, 0.0037622764429037039_r8, 0.0035382415079836778_r8, & + 0.003398825730051042_r8, 0.0034092593370929629_r8, & + 0.0037193295714050959_r8, 0.0042002117673440508_r8, & + 0.0046961262112002362_r8, 0.0051546598504197075_r8, & + 0.005559221581374044_r8, 0.0059632341925128143_r8, & + 0.0063995793006746291_r8, 0.0068231735905457218_r8, & + 0.0069593784430376287_r8, 0.0068039589420106662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,4) / & + 0.00029518787076226034_r8, 0.00030660047002737772_r8, & + 0.00041845802017529608_r8, 0.00063357790384285871_r8, & + 0.00079590443606777602_r8, 0.0009761303185217595_r8, & + 0.0011539578490164823_r8, 0.0012900744726777225_r8, & + 0.0013283155168131386_r8, 0.001432934134126256_r8, & + 0.0014997718351720292_r8, 0.0015993571623822219_r8, & + 0.0017844767345539388_r8, 0.00218068654902234_r8, 0.0025115476737146438_r8, & + 0.0026326386901876211_r8, 0.0031363806105708355_r8, & + 0.0035627700824811676_r8, 0.0040347590740737347_r8, & + 0.0044055435882084226_r8, 0.0045978681112066704_r8, & + 0.0046091436985847859_r8, 0.0044286584307603625_r8, & + 0.0041517231318448349_r8, 0.0038340142557190498_r8, & + 0.0035907625482103456_r8, 0.0034656031266497413_r8, & + 0.0034444895502335989_r8, 0.0037647037355739419_r8, & + 0.0043223224787854219_r8, 0.0049240331646293323_r8, & + 0.0054662307067221321_r8, 0.0059330649273139193_r8, & + 0.0063543729987583994_r8, 0.0068032801734655979_r8, & + 0.0073494140179797326_r8, 0.0075752453111807986_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,4) / & + 0.00045793870565149407_r8, 0.00037450952798222221_r8, & + 0.0005066751485024001_r8, 0.00073283057959359996_r8, & + 0.00084808286659199998_r8, 0.0010090011540992_r8, 0.0011358511555125334_r8, & + 0.0012956821572933333_r8, 0.0013996991584522668_r8, & + 0.0014729097306965336_r8, 0.0015120520168469334_r8, & + 0.0016584731613354666_r8, 0.0018889777353322667_r8, & + 0.0023108445971754669_r8, 0.002632681172189867_r8, & + 0.0027182143160000001_r8, 0.003193720607012267_r8, & + 0.0036431320405909333_r8, 0.0041534314748480003_r8, & + 0.0045463040506538667_r8, 0.0046666303377087999_r8, & + 0.0046506834803882666_r8, 0.0044143800491840005_r8, & + 0.0041316857603200001_r8, 0.0038083994710037335_r8, & + 0.0035402023251584003_r8, 0.0033633371803306667_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,4) / & + 0.00067850717146140092_r8, 0.0006747465943674919_r8, & + 0.00035566513849193907_r8, 0.00016525449206853944_r8, & + 0.00015344792106075894_r8, 0.00015954036794996678_r8, & + 0.00027138936781446435_r8, 0.00026517830349081053_r8, & + 0.00029470837876345389_r8, 0.00035153429995230472_r8, & + 0.00038216236601932186_r8, 0.0004016015607288888_r8, & + 0.00047097088397479107_r8, 0.00060671221150115527_r8, & + 0.00061856435512266646_r8, 0.00068327118220010651_r8, & + 0.00080222360545599992_r8, 0.0012012784245802666_r8, & + 0.0012330147430378664_r8, 0.0012294884854314667_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,4) / & + 0.0011833869300088109_r8, 0.0015039037350944261_r8, & + 0.0010583076915465907_r8, 0.0010497206746075158_r8, & + 0.0010766105683397021_r8, 0.0012264596601108476_r8, & + 0.0006823814686689317_r8, 0.0015526317601751406_r8, & + 0.001721261385609152_r8, 0.0019810128123892517_r8, & + 0.0020569485834264238_r8, 0.0020319111503467276_r8, & + 0.0021072202398934674_r8, 0.0020961494072316684_r8, & + 0.0021352442171479464_r8, 0.0022616944715721479_r8, & + 0.002607805503933748_r8, 0.0028437528681894714_r8, & + 0.0028494717825667155_r8, 0.0028420916597275097_r8, & + 0.002931392961610275_r8, 0.0029052992800588642_r8, & + 0.0028442521384922466_r8, 0.0026033769115078316_r8, & + 0.0024714333869471205_r8, 0.0025283048132541627_r8, & + 0.0025432375341280793_r8, 0.0025373597610181334_r8, & + 0.0023949996424131553_r8, 0.002284093552883022_r8, & + 0.0023133008655953774_r8, 0.0028649310066690128_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,4) / & + 0.0020454274563608435_r8, 0.0023556512271252382_r8, & + 0.0018476020111393185_r8, 0.0021761581215294472_r8, & + 0.0023018563356658715_r8, 0.0025265694126094217_r8, & + 0.0012208076253932584_r8, 0.0025273673198838065_r8, & + 0.0027025944987406217_r8, 0.0029134230419176764_r8, & + 0.0029800158925377888_r8, 0.0027455614380418368_r8, & + 0.002705934534593943_r8, 0.0026949695795507197_r8, & + 0.0026874722147710575_r8, 0.0027159026755423279_r8, & + 0.0030247119027333683_r8, 0.0031019531844898125_r8, & + 0.0031339268233233062_r8, 0.0031328355244801412_r8, & + 0.0031412588397933972_r8, 0.0030778642979041185_r8, & + 0.0030465898462082364_r8, 0.0027791271448846218_r8, & + 0.002585457032003555_r8, 0.0025879136354600291_r8, & + 0.0025945984314040878_r8, 0.0025934468985338659_r8, & + 0.0025296469158406086_r8, 0.0024996412593365326_r8, & + 0.0020497993725567998_r8, 0.0024110972395615994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,4) / & + 0.0060250723640518696_r8, 0.0041036360177923552_r8, & + 0.0042617145991819547_r8, 0.0051926954455069627_r8, & + 0.0068834329584547558_r8, 0.0067022667296085334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,4) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,4) / & + 0.0029409371434761049_r8, 0.0029329332743314282_r8, & + 0.0033554589741647991_r8, 0.0036969216571103992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,4) / & + 0.0020107022638621804_r8, 0.0019034871748584297_r8, & + 0.002137687468398933_r8, 0.0017902199928082961_r8, & + 0.0014355539225133511_r8, 0.0012386830158620443_r8, & + 0.0015569625675946664_r8, 0.001378883436640711_r8, & + 0.0012750859321344001_r8, 0.0013090291919018668_r8, & + 0.0014359474675541333_r8, 0.0014315200858453332_r8, & + 0.0014152863529130666_r8, 0.0016145185298090665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,4) / & + 0.00085753127042346663_r8, 0.00092365171238968885_r8, & + 0.00097247911568782222_r8, 0.001321391601755733_r8, & + 0.0014902530381617775_r8, 0.0015563734801279999_r8, & + 0.0016662351375488001_r8, 0.0017440538115551997_r8, & + 0.0017165883971999999_r8, 0.0016525024303711998_r8, & + 0.0017287952480245332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,4) / & + 0.0010501568531248947_r8, 0.0010877175019970368_r8, & + 0.0011360719439418901_r8, 0.0014144459101448179_r8, & + 0.0015578311742907849_r8, 0.0016440397695621331_r8, & + 0.0017612080818508445_r8, 0.001790556442737422_r8, 0.001761585385162192_r8, & + 0.0017129712084516266_r8, 0.0017842694439140739_r8, & + 0.0018070243773211255_r8, 0.0018591464325528886_r8, & + 0.0019163172646911998_r8, 0.0019525633971647998_r8, 0.0019352282903296_r8, & + 0.0019951132048511996_r8, 0.0021211867091071998_r8, & + 0.0022819304270335996_r8, 0.0024931035466623998_r8, & + 0.0027231876919295997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,4) / & + 0.0013149470986447735_r8, 0.0013253152383651025_r8, & + 0.001352851531997942_r8, 0.0015141649314027159_r8, & + 0.0016066551613376952_r8, 0.0016911258911404936_r8, & + 0.0018216108867204939_r8, 0.0018436899628487594_r8, & + 0.0018516571276055024_r8, 0.0018647101437780948_r8, & + 0.0018815650023609285_r8, 0.0018832461866815046_r8, & + 0.0018999719991331214_r8, 0.0019242204841117339_r8, & + 0.0019501229103387767_r8, 0.0019782915300145796_r8, & + 0.0020651123332514286_r8, 0.0021942021967683825_r8, & + 0.002419475877264926_r8, 0.0026525052302476073_r8, & + 0.0028708835457994589_r8, 0.0031242864152094879_r8, & + 0.003217029718946243_r8, 0.0033159371262174598_r8, & + 0.0034151908072741085_r8, 0.0035397676408132268_r8, & + 0.0036398670041831171_r8, 0.0037839164687690999_r8, & + 0.0038915581483548495_r8, 0.0038968920551118152_r8, & + 0.0039626849346514562_r8, 0.0040152929558877762_r8, & + 0.0041202364959466659_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,4) / & + 0.0017230143109588803_r8, 0.0017178413365654649_r8, & + 0.0017053020466358255_r8, 0.0017176344175897282_r8, & + 0.0017706884429685989_r8, 0.001813437903355786_r8, & + 0.0018744376174029433_r8, 0.0019046891716556378_r8, & + 0.0019183458240542549_r8, 0.0019305126598275683_r8, & + 0.0019471903292719408_r8, 0.0019496319731856331_r8, & + 0.0019402792354823375_r8, 0.0019872084591794036_r8, & + 0.0020546226614743964_r8, 0.0021088768169125393_r8, & + 0.0022142813431527768_r8, 0.0023269694173389433_r8, & + 0.0025177900967632595_r8, 0.0028074352789993879_r8, & + 0.0030309787164437673_r8, 0.0032478593628694277_r8, & + 0.003355463142223208_r8, 0.0034895998462371593_r8, 0.003599206305677533_r8, & + 0.0037187271400410601_r8, 0.0037888017291669521_r8, & + 0.0038663032315291055_r8, 0.0038020918393799783_r8, & + 0.0037663960990763847_r8, 0.0036504231861504001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,4) / & + 0.0017990473699963996_r8, 0.001861462405547866_r8, & + 0.0018095755632422819_r8, 0.0017532529021070497_r8, & + 0.0018714677326808849_r8, 0.0019009415280024174_r8, & + 0.0019913943612973463_r8, 0.0019838287192992395_r8, & + 0.0019677610151039998_r8, 0.0019518264981119701_r8, & + 0.001968147790742121_r8, 0.0020041343641936439_r8, & + 0.0020095775349213986_r8, 0.0020571029910171849_r8, & + 0.0021066294516539972_r8, 0.0021590135769228797_r8, & + 0.0022806017729796145_r8, 0.0023714780654737777_r8, & + 0.0025452074533407407_r8, 0.0028640895827539551_r8, & + 0.0030965984790135332_r8, 0.0032754662291803334_r8, & + 0.0034025867552839994_r8, 0.0035601350395655616_r8, & + 0.0036698660736158469_r8, 0.0037824739512554665_r8, & + 0.0038340653462908443_r8, 0.0039150005459374221_r8, & + 0.0038728068399605329_r8, 0.0038008857502271993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,4) / & + 0.0018636613534727901_r8, 0.0020104035793515984_r8, & + 0.0016484598883241611_r8, 0.0017907671746954994_r8, & + 0.0019272964311028411_r8, 0.0020329620170193843_r8, & + 0.0021435065845943307_r8, 0.0020183031440367209_r8, & + 0.0019416866859941989_r8, 0.0019670190166048524_r8, & + 0.0019818752416545979_r8, 0.0020143999587099982_r8, & + 0.0021052202835805233_r8, 0.0021674300407260975_r8, & + 0.0022286914115493069_r8, 0.0022738850349109667_r8, & + 0.0023917097009604738_r8, 0.0025264024867435852_r8, & + 0.0026726403684509624_r8, 0.0028249891159497563_r8, & + 0.0030067574180199113_r8, 0.003140287236264863_r8, 0.003249765476163072_r8, & + 0.0033940575604662002_r8, 0.0035389595566337863_r8, & + 0.0036323324582005234_r8, 0.0037306269444115736_r8, & + 0.0038827290018265148_r8, 0.0039668639471103426_r8, & + 0.0039819726575030514_r8, 0.0040352248236038722_r8, & + 0.0040966342084773916_r8, 0.0041399200951905968_r8, & + 0.0041784695322938468_r8, 0.0042087959666020341_r8, & + 0.0041645891035757832_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,4) / & + 0.0024334866983709235_r8, 0.0027463358601419593_r8, & + 0.0025712882317194801_r8, 0.0032829772372300376_r8, & + 0.0031531119178439633_r8, 0.0032779269192539126_r8, & + 0.0031550508792097982_r8, 0.0026297276254432138_r8, & + 0.0021161283241212052_r8, 0.0021935064102554078_r8, & + 0.0022136174979103347_r8, 0.002215827012024889_r8, & + 0.0022604231234390655_r8, 0.0023415889480553611_r8, & + 0.0023846068351019985_r8, 0.0024234311545434598_r8, & + 0.0024214020089280528_r8, 0.0025138408647410568_r8, & + 0.0025949165051077799_r8, 0.0026870848081720629_r8, & + 0.002820692773915444_r8, 0.0028941478451931916_r8, & + 0.0030427263963658008_r8, 0.0032178642090378534_r8, & + 0.0033578752565009647_r8, 0.0034865230885177947_r8, & + 0.0035961420438745816_r8, 0.0038770208891717528_r8, & + 0.0039804171313079575_r8, 0.0040532409128386897_r8, & + 0.0040994603407451926_r8, 0.0041722390301511371_r8, & + 0.0042186388265567877_r8, 0.0042536303153913697_r8, & + 0.0042811977079664039_r8, 0.0042520069988990425_r8, & + 0.0042514658934016004_r8, 0.0042518717225246815_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,4) / & + 0.0026583604334079998_r8, 0.0032937985000959999_r8, & + 0.0032310237421226662_r8, 0.0041655105635839997_r8, & + 0.0043054218322773332_r8, 0.0042741039456426662_r8, & + 0.0039337304055466673_r8, 0.0027764974318079997_r8, & + 0.0023865063523839996_r8, 0.0024361702199466664_r8, & + 0.0024242638636373325_r8, 0.0024086049203199998_r8, & + 0.0023452742235306667_r8, 0.0024163417355093329_r8, & + 0.0024503003315199997_r8, 0.0024995472449706657_r8, & + 0.0024970918485333325_r8, 0.0025477749372586674_r8, & + 0.0026287103632213335_r8, 0.0027346630359039994_r8, & + 0.0028563209801386658_r8, 0.0029681110103893333_r8, & + 0.0031151104989866662_r8, 0.0032758694732800001_r8, & + 0.0034409833016320001_r8, 0.0035934958501546667_r8, & + 0.0037813568417279994_r8, 0.0041221473359360009_r8, & + 0.004154345459029333_r8, 0.0041670857235626656_r8, & + 0.0041927515655680002_r8, 0.0042344933050026661_r8, & + 0.0042654405657599993_r8, 0.0042716485492053317_r8, & + 0.0042897628889599993_r8, 0.0043012059629226659_r8, & + 0.004364675644415999_r8, 0.004370096047872001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,5) / & + 0.0038684824786666665_r8, 0.0038596836086666666_r8, & + 0.0039028667153333339_r8, 0.0041913074026666665_r8, & + 0.0042734759517777778_r8, 0.0044972959073333336_r8, & + 0.0047903586015555551_r8, 0.0050040484159999997_r8, & + 0.0051449260211111113_r8, 0.0052588953088888888_r8, & + 0.0053323440322222216_r8, 0.0056223531233333332_r8, & + 0.0063856706966666649_r8, 0.0068279439211111105_r8, & + 0.0070110699696296292_r8, 0.0070738962588888891_r8, & + 0.0073060990622222212_r8, 0.0074979130414814807_r8, & + 0.0079094075551851845_r8, 0.00791860858_r8, 0.0080865844859259253_r8, & + 0.0082234280622222218_r8, 0.0083082272585185187_r8, & + 0.008415588726666666_r8, 0.0084811954311111108_r8, & + 0.0085234910237037016_r8, 0.0085447358918518523_r8, & + 0.008615598343703703_r8, 0.0086992188103703696_r8, & + 0.0088467957599999997_r8, 0.0090555418437037027_r8, & + 0.009105214897037037_r8, 0.0081194363740740728_r8, & + 0.0083491499777777773_r8, 0.0091799463555555551_r8, & + 0.0091961296199999983_r8, 0.0092212157600000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,5) / & + 0.0035711717353086418_r8, 0.0034443311822222218_r8, & + 0.0037071832671604931_r8, 0.0042511646799999999_r8, & + 0.0043475246716049385_r8, 0.0045473262775308646_r8, & + 0.0050435853190123458_r8, 0.0053267947580246909_r8, & + 0.0055655360439506169_r8, 0.0058730874054320984_r8, 0.00608870710074074_r8, & + 0.0063502371595061729_r8, 0.0068539846009876525_r8, & + 0.0071615544523456788_r8, 0.0073089187683950622_r8, & + 0.007411149295802469_r8, 0.0076338321239506164_r8, & + 0.0078015815288888894_r8, 0.0081334655679012342_r8, & + 0.008256561920987655_r8, 0.0083930449446913587_r8, & + 0.0085625693777777769_r8, 0.0086497399007407407_r8, & + 0.0087428549190123467_r8, 0.0088157605022222228_r8, & + 0.0088603395945679002_r8, 0.0088997877461728398_r8, & + 0.0089554052948148145_r8, 0.0090451921353086415_r8, & + 0.0091228033920987637_r8, 0.0092177304182716035_r8, & + 0.009215400693827161_r8, 0.0086729389177160471_r8, 0.008744324864197529_r8, & + 0.0092048547616172833_r8, 0.0092433907349735445_r8, & + 0.0092930001633209879_r8, 0.0092933852149999982_r8, & + 0.0092054287071957671_r8, 0.0091567628238518519_r8, & + 0.0089411496000000017_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,5) / & + 0.0034107350765432104_r8, 0.00321954975308642_r8, 0.0035811932483950618_r8, & + 0.0041300467437037037_r8, 0.004180625800987655_r8, & + 0.0044151883748148142_r8, 0.0049324241812345676_r8, & + 0.0052001668385185185_r8, 0.0056614152987654312_r8, & + 0.0062508448281481466_r8, 0.0066421738202469124_r8, & + 0.0069612073950617278_r8, 0.0073435410622222216_r8, & + 0.0076232744044444417_r8, 0.0077824260167901234_r8, & + 0.0079266100740740739_r8, 0.0081997332854320988_r8, & + 0.0083074645511111104_r8, 0.0085093647580246901_r8, & + 0.0086353732666666662_r8, 0.0087916681930864191_r8, & + 0.0089741632745679034_r8, 0.009062886947160495_r8, 0.009114575397037035_r8, & + 0.0091783747160493825_r8, 0.0092208459624691357_r8, & + 0.009270019789135801_r8, 0.0093288638212345679_r8, & + 0.0093620716395061733_r8, 0.0093591872187654326_r8, & + 0.0093379885753086412_r8, 0.0092921983960493823_r8, & + 0.0092289075486419736_r8, 0.0091846612740740744_r8, & + 0.0091840880879012349_r8, 0.009206405368888889_r8, & + 0.0092219738449382718_r8, 0.0091962914064197526_r8, & + 0.009129302583703704_r8, 0.0090585487598765432_r8, & + 0.0089261749461463837_r8, 0.008878163637449735_r8, & + 0.0088789067323809517_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,5) / & + 0.0036667274172839507_r8, 0.0035796308538271603_r8, & + 0.0037500612908641976_r8, 0.0041734055041975308_r8, & + 0.0041941049209876548_r8, 0.0043552534399999999_r8, & + 0.0047396857081481473_r8, 0.005133446119012345_r8, & + 0.0054609110775308643_r8, 0.0061626943417283954_r8, & + 0.0067639758819753081_r8, 0.0072382689501234564_r8, & + 0.0078187493792592575_r8, 0.0081046213604938251_r8, & + 0.0082058534345679016_r8, 0.0083414119644444444_r8, & + 0.0085418052464197539_r8, 0.0086710402385185171_r8, & + 0.0087872491125925937_r8, 0.0088816399323456783_r8, & + 0.0089533529185185177_r8, 0.0090878113007407408_r8, & + 0.0091282856404938263_r8, 0.0091477832153086421_r8, & + 0.0091683716928395061_r8, 0.0091847722133333344_r8, & + 0.0091922236335802467_r8, 0.009201625735802469_r8, & + 0.0091967721432098751_r8, 0.0091691944923456767_r8, & + 0.0091417185358024702_r8, 0.0091220360622222205_r8, & + 0.0091031763881481466_r8, 0.0090802212064197523_r8, & + 0.0090533923955555557_r8, 0.0090286252059259241_r8, & + 0.0089997717535802487_r8, 0.008967516163950617_r8, & + 0.0089179852515432097_r8, 0.00885846122121693_r8, 0.0088548005558377434_r8, & + 0.0088505389694708975_r8, 0.0088419282999999994_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,5) / & + 0.0034051603787654322_r8, 0.0033628832760493827_r8, & + 0.0032062093071604934_r8, 0.0040371166241975308_r8, & + 0.004022565091358025_r8, 0.0040219456804938269_r8, & + 0.0041000654088888889_r8, 0.0044895731481481484_r8, & + 0.004856218155061728_r8, 0.0053247238918518527_r8, & + 0.0057573130434567894_r8, 0.0061195112350617272_r8, 0.00660638666419753_r8, & + 0.0069360519180246914_r8, 0.0070326522780246904_r8, & + 0.0071870797269135813_r8, 0.007449072032592592_r8, 0.007650306603950616_r8, & + 0.0078609802572839494_r8, 0.0080098145185185186_r8, & + 0.0081109356533333333_r8, 0.0082113911525925933_r8, & + 0.0082788976918518522_r8, 0.008371605932839506_r8, & + 0.0084664035298765428_r8, 0.0085677095634567879_r8, & + 0.0086406336365432088_r8, 0.0088158159718518519_r8, & + 0.0089428691585185169_r8, 0.0090266467891358011_r8, & + 0.009059692820987654_r8, 0.0090863494448765441_r8, & + 0.0090922992230070554_r8, 0.0090721168624074075_r8, & + 0.0090456278360423262_r8, 0.0090157049424444448_r8, & + 0.0089948206268888869_r8, 0.0089577433397037016_r8, & + 0.0088836067929629631_r8, 0.008778817728888888_r8, & + 0.0087845588355555549_r8, 0.0088093537599999994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,5) / & + 0.0020206291782716049_r8, 0.0019832241580246914_r8, & + 0.0014931869599999997_r8, 0.001572027793580247_r8, & + 0.0015674423041975307_r8, 0.0015697165590123458_r8, & + 0.0015326536014814813_r8, 0.0018121743101234568_r8, & + 0.0021283696888888888_r8, 0.0024775510074074077_r8, & + 0.0028141499649382709_r8, 0.0030395508049382717_r8, & + 0.0034285315827160493_r8, 0.0038250469851851855_r8, & + 0.0040387159985185179_r8, 0.0043177744602469134_r8, & + 0.0048085050286419753_r8, 0.0052287336977777784_r8, & + 0.0055435885604938262_r8, 0.0057988967758024678_r8, & + 0.0059138668281481493_r8, 0.0060255364375308637_r8, & + 0.0061292553999999985_r8, 0.0062131809496296288_r8, & + 0.0062781821106172838_r8, 0.006350200179753086_r8, & + 0.0064318976992592588_r8, 0.006687159689876542_r8, & + 0.0071428611871604932_r8, 0.0074994477012345672_r8, & + 0.0078073965950617285_r8, 0.0080590091462962969_r8, & + 0.008323896273271604_r8, 0.0085072963681746029_r8, & + 0.0087709600596402107_r8, 0.0089648680174179898_r8, & + 0.0091507374353333327_r8, 0.0093474535431111103_r8, & + 0.0094512344466666648_r8, 0.0094973574437037019_r8, & + 0.0095559472399999994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,5) / & + 0.00077050089037037034_r8, 0.00076261495802469126_r8, & + 0.00035203800444444437_r8, 0.00040951378567901232_r8, & + 0.00042928870864197523_r8, 0.00042866929777777771_r8, & + 0.000441861824691358_r8, 0.00051405554765432101_r8, & + 0.00061435388296296294_r8, 0.00074952412543209874_r8, & + 0.00088089469827160494_r8, 0.0009916398138271605_r8, & + 0.0011699839180246913_r8, 0.00135062076691358_r8, 0.0015025798172839508_r8, & + 0.0016880425239506173_r8, 0.002114844344197531_r8, & + 0.0026392264879012352_r8, 0.0031389431362962962_r8, & + 0.0036140590039506174_r8, 0.0040672736128395063_r8, & + 0.0044677366039506169_r8, 0.0047411464083950607_r8, & + 0.004881845123950619_r8, 0.005015295807901235_r8, 0.0051065803283950623_r8, & + 0.0051374399323456778_r8, 0.0051370701348148144_r8, & + 0.0052039480182716046_r8, 0.0053751827649382725_r8, & + 0.0056341519758024679_r8, 0.0059791823170370368_r8, & + 0.0065429848775308622_r8, 0.007048710735802469_r8, & + 0.0075625536498765428_r8, 0.0081133116024691334_r8, & + 0.0085382829249382713_r8, 0.0090010591112345689_r8, & + 0.0092400458832892392_r8, 0.0093094304987407384_r8, & + 0.0092025571633333331_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,5) / & + 0.00032371151358024687_r8, 0.00031579784641975312_r8, & + 0.00022184153876543211_r8, 0.00028615857432098764_r8, & + 0.00029789964592592593_r8, 0.00029917544740740734_r8, & + 0.00032837096246913578_r8, 0.0003210767061728395_r8, & + 0.00034606577432098765_r8, 0.00038351701925925922_r8, & + 0.00042301139555555553_r8, 0.00048584924098765426_r8, & + 0.00057512760987654319_r8, 0.00067036896395061721_r8, & + 0.00079250384345679015_r8, 0.00092718410419753076_r8, & + 0.0012186030483950616_r8, 0.0015729337975308641_r8, & + 0.0020014181965432097_r8, 0.0024807682459259258_r8, & + 0.0030303613362962969_r8, 0.0035917324780246913_r8, & + 0.0040120905762962957_r8, 0.0044025505441975307_r8, & + 0.0046217665204938262_r8, 0.0047769797891358025_r8, & + 0.004831155127407406_r8, 0.0047633157703703705_r8, & + 0.0045853322187654312_r8, 0.0045383598430246913_r8, & + 0.0046041179333333329_r8, 0.0047671928663580243_r8, & + 0.0051443586130246908_r8, 0.0056617595076278648_r8, & + 0.006267770659241622_r8, 0.0071150926943562599_r8, & + 0.0077953750386331559_r8, 0.0083923968745185182_r8, & + 0.0088332294734391522_r8, 0.0090227895037301581_r8, & + 0.0090016947007407391_r8, 0.0090412445466666654_r8, & + 0.0090452383599999991_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,5) / & + 0.00026372110913580246_r8, 0.00025535443999999999_r8, & + 0.00024554556049382714_r8, 0.00029691043753086419_r8, & + 0.00031689799407407405_r8, 0.0003111014177777778_r8, & + 0.00034980997432098758_r8, 0.00031327397827160487_r8, & + 0.00034480846271604939_r8, 0.00037307948395061728_r8, & + 0.00038587447851851851_r8, 0.00040493754123456781_r8, & + 0.00044396967061728404_r8, 0.00053052078271604935_r8, & + 0.00059065910617283951_r8, 0.00069423939456790106_r8, & + 0.0010037044582716049_r8, 0.001357277122469136_r8, & + 0.0017776629555555556_r8, 0.002250569282962963_r8, & + 0.0027426773471604937_r8, 0.003176690219259259_r8, & + 0.0036698244716049382_r8, 0.0041652237338271605_r8, & + 0.0044613206167901228_r8, 0.0046097203659259262_r8, & + 0.0046657354469135789_r8, 0.0044267722824691356_r8, & + 0.0041502191990123458_r8, 0.0040420719111111114_r8, & + 0.0041038650785185189_r8, 0.0042185208029629625_r8, & + 0.0044390033358024687_r8, 0.0048394663269135793_r8, & + 0.0055615458625573192_r8, 0.0064789437043298054_r8, & + 0.007367847655820106_r8, 0.0078589176455202813_r8, & + 0.0081982389402134054_r8, 0.0084178094929100531_r8, & + 0.0083647924133333322_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,5) / & + 0.0002704687584567901_r8, 0.00026493335166666667_r8, & + 0.00029095554166666662_r8, 0.0003192207848148148_r8, & + 0.00034055232425925919_r8, 0.0003460784861111111_r8, & + 0.00037539600134038799_r8, 0.0004155877101234567_r8, & + 0.0004535881043950616_r8, 0.00047680769135802475_r8, & + 0.00049319341995061731_r8, 0.00050701783839506172_r8, & + 0.00052261966225749558_r8, 0.00066295287257495572_r8, & + 0.00076611218610229276_r8, 0.00091760832920634913_r8, & + 0.001282618467839506_r8, 0.0016167072595414461_r8, & + 0.0020481365015696646_r8, 0.0025652686326102293_r8, & + 0.0030833515064991176_r8, 0.0035777511597707228_r8, & + 0.0039899871175238097_r8, 0.004288564615530864_r8, & + 0.0044561975342469126_r8, 0.0044953393812363317_r8, & + 0.0044295739610123452_r8, 0.0040663713728994709_r8, & + 0.0037932465766948851_r8, 0.0037809228428553796_r8, & + 0.0038937205658306877_r8, 0.0040630843350970012_r8, & + 0.0042773976215749561_r8, 0.0046892266699735449_r8, & + 0.0053388113205357149_r8, 0.006405084819404762_r8, & + 0.0072865695357687077_r8, 0.0076429168936666663_r8, & + 0.0078299334433333326_r8, 0.0080484075133333329_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,5) / & + 0.00024405781880246913_r8, 0.00024422406260317462_r8, & + 0.00027700156201587299_r8, 0.00030686142494532628_r8, & + 0.00035491895833333328_r8, 0.00039177697539329802_r8, & + 0.00042317225748148154_r8, 0.00047873024230687825_r8, & + 0.00049686314041666663_r8, 0.00052516695229166662_r8, & + 0.0005376630340674603_r8, 0.00055682681118820868_r8, & + 0.00057368216377777785_r8, 0.0007047437245555555_r8, & + 0.00083794447159999991_r8, 0.0010098332051999999_r8, & + 0.0013628834511428571_r8, 0.0017293502948888886_r8, & + 0.0021871203471111114_r8, 0.002721112950833333_r8, & + 0.0032285040536111109_r8, 0.0036943241358333334_r8, & + 0.0040060807886111108_r8, 0.0041722660655555549_r8, & + 0.0042205506447222218_r8, 0.004183940689166667_r8, & + 0.0040924418016666667_r8, 0.0037348082983333333_r8, & + 0.0034824596188888887_r8, 0.0035746085411111107_r8, & + 0.003765333928888889_r8, 0.0040501011399999998_r8, & + 0.0042537856199999996_r8, 0.0046592824799999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,5) / & + 0.00022294761575336296_r8, 0.00023337691372955554_r8, & + 0.00025665564920665924_r8, 0.00031335353424738515_r8, & + 0.00035424829140502222_r8, 0.00041793497678544334_r8, & + 0.00044521471202317879_r8, 0.00051544297516190475_r8, & + 0.00053561824420713083_r8, 0.00057986818139769676_r8, & + 0.00061347618634769775_r8, 0.00064446542655243171_r8, & + 0.00076527111051537765_r8, 0.00091497192126239991_r8, & + 0.0011059890238223999_r8, 0.0013240668825783999_r8, & + 0.0017168900166392887_r8, 0.0021601911887285333_r8, & + 0.0026453746292309332_r8, 0.0031938059548032001_r8, & + 0.0037159193684671993_r8, 0.0041471935378026657_r8, & + 0.0043670754469717328_r8, 0.0044664043403029327_r8, & + 0.0043789609555754663_r8, 0.0042083190106218665_r8, & + 0.0039697598736469332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,5) / & + 0.00033559815346858663_r8, 0.00032933416078506666_r8, & + 0.00035420031355904_r8, 0.00040715952442879996_r8, & + 0.00045935946345813326_r8, 0.00052067066457258662_r8, & + 0.00060504474783999989_r8, 0.00069022555743786663_r8, & + 0.00072035915860479993_r8, 0.00074123913421653316_r8, & + 0.00078394817524053326_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,5) / & + 0.00061438226677244432_r8, 0.00062401031898399984_r8, & + 0.00076696813837973327_r8, 0.00066793674420373341_r8, & + 0.00058788636724479992_r8, 0.00059081229479999997_r8, & + 0.00054467266796799998_r8, 0.0003423335239584_r8, & + 0.00037952656461199993_r8, 0.00047039912233599993_r8, & + 0.0007759334805039999_r8, 0.00063920263513599996_r8, & + 0.00066339780530399984_r8, 0.0007342952806799999_r8, & + 0.00079506454528799982_r8, 0.00084429890318799992_r8, & + 0.00095880395270399983_r8, 0.0009464250284319999_r8, & + 0.0011447691559719998_r8, 0.0011861260166079999_r8, & + 0.0012071326759786666_r8, 0.001270902891925333_r8, & + 0.0012896588377919998_r8, 0.0013661830969279999_r8, & + 0.0014370805723039998_r8, 0.0016070094418559997_r8, 0.00166552799296_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,5) / & + 0.00047610471913770032_r8, 0.00050406878150110557_r8, & + 0.00051294506222197757_r8, 0.00039920200565575058_r8, & + 0.00033839271939300358_r8, 0.00033723699416339276_r8, & + 0.00044700964221659344_r8, 0.00031574983361645808_r8, & + 0.00033370970003212321_r8, 0.00039401160737119803_r8, & + 0.00049593164666474976_r8, 0.00047751405086666657_r8, & + 0.0005431684689799005_r8, 0.00065746565174141874_r8, & + 0.00070137263791295989_r8, 0.0007393212645240572_r8, & + 0.00089335279894203008_r8, 0.00092895665081934805_r8, & + 0.0010606572416202832_r8, 0.0010792797065588442_r8, & + 0.0010533072955961498_r8, 0.0011570946344422971_r8, & + 0.0011825004498155186_r8, 0.0011828609117041726_r8, & + 0.0012493194865417444_r8, 0.0012987719844181655_r8, & + 0.0013320820585852884_r8, 0.0013124339004620086_r8, & + 0.0013172889414902486_r8, 0.0012550499350138591_r8, & + 0.0013729366448598185_r8, 0.001269922905984853_r8, & + 0.0014351868458047996_r8, 0.0016603188036534043_r8, & + 0.0016294248689573331_r8, 0.0016604755262136885_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,5) / & + 0.0006022073159757035_r8, 0.00080792087179163796_r8, & + 0.00074632697160360818_r8, 0.00072611907862020117_r8, & + 0.00066373307445728312_r8, 0.00070026755709794446_r8, & + 0.00043080589784029309_r8, 0.00091475440337171238_r8, & + 0.0009974564757503049_r8, 0.0011199872421633903_r8, & + 0.0012202378011472146_r8, 0.0011057673323104924_r8, & + 0.0010371071831638727_r8, 0.0011271322108513324_r8, & + 0.0011544420802788115_r8, 0.0011906739748571843_r8, & + 0.0013752467491588234_r8, 0.0015564439374913096_r8, & + 0.0015834352249160656_r8, 0.0016021138779339426_r8, & + 0.0015996567548009989_r8, 0.0017082563668263414_r8, & + 0.0017192032464497678_r8, 0.001691823457566467_r8, 0.001587627690586232_r8, & + 0.0015509228940933687_r8, 0.0015557220488284225_r8, & + 0.0015566113335300541_r8, 0.0015653699611273123_r8, & + 0.0015523022904055334_r8, 0.0015915177032780662_r8, & + 0.0013370345237799404_r8, 0.0014498264934082843_r8, & + 0.0015490905072418845_r8, 0.0017276227592829332_r8, & + 0.0018823398178815997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,5) / & + 0.0024179311533823024_r8, 0.0023545977221814036_r8, & + 0.0022212183272071109_r8, 0.0026130938208888885_r8, & + 0.0031620738298495992_r8, 0.00374018821095661_r8, 0.0041555951312089593_r8, & + 0.0043303257762880949_r8, 0.0036152935463819843_r8, & + 0.0032346381165639106_r8, 0.0030269458765015997_r8, & + 0.0035994032363867424_r8, 0.0031049476761206853_r8, & + 0.0031529324304490659_r8, 0.0015130686363254856_r8, & + 0.0014618798366922662_r8, 0.0015449673622513777_r8, 0.00153116314052096_r8, & + 0.0015389014414088531_r8, 0.0015622864166195199_r8, & + 0.001564348546251733_r8, 0.0017768329346431997_r8, & + 0.0016424756225237329_r8, 0.0021097499453695996_r8, & + 0.0021658738858751996_r8, 0.0021837315033087995_r8, & + 0.0021939358561279994_r8, 0.0023061837371391994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,5) / & + 0.0054870769795279505_r8, 0.004321035492407822_r8, & + 0.0036924770520815994_r8, 0.0038933064447903998_r8, & + 0.0049087210640309329_r8, 0.0057915750280181331_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,5) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,5) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,37,5) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,38,5) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,39,5) / & + 0.001144877697623229_r8, 0.0011823330821007999_r8, & + 0.0012113562533930665_r8, 0.0014346114171797332_r8, & + 0.0015517547148842666_r8, 0.0016457845368085331_r8, & + 0.0017655543658517331_r8, 0.0017807882476159995_r8, & + 0.0017618772219775997_r8, 0.001745067421410133_r8, 0.001793920904309333_r8, & + 0.0018028511108607998_r8, 0.0018375213245311998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,5) / & + 0.0013779113102763869_r8, 0.0013979630483949865_r8, & + 0.0014344274703083641_r8, 0.0014810727716672166_r8, & + 0.0015723760639641804_r8, 0.0016836103878430098_r8, & + 0.0017967644880005759_r8, 0.00184519550104629_r8, 0.0018766705693730506_r8, & + 0.0018988535993292412_r8, 0.0019351792249592658_r8, & + 0.0019442339618329877_r8, 0.0019601298642762887_r8, & + 0.0019700449086914565_r8, 0.0019994209700016788_r8, & + 0.0019795160344152378_r8, 0.0020741326578234917_r8, & + 0.002198675079060952_r8, 0.0024533734282438089_r8, & + 0.0027023498719685071_r8, 0.0029190854302699673_r8, & + 0.0031784526684802538_r8, 0.0032607892620419043_r8, & + 0.0033373445889250367_r8, 0.0034356622553765922_r8, & + 0.003560501482715851_r8, 0.0036554858875980731_r8, & + 0.0037916256846479996_r8, 0.0038975312636151103_r8, & + 0.0038923958728233326_r8, 0.0039625163143733322_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,5) / & + 0.0017091093557893794_r8, 0.0017178413365654649_r8, & + 0.0017188345476490008_r8, 0.0018354126985790154_r8, & + 0.0018976125426854449_r8, 0.0019434657877086812_r8, & + 0.0019870015402036673_r8, 0.0020055828642248164_r8, & + 0.0020085831893729973_r8, 0.0019939008100518002_r8, & + 0.0019933864685978261_r8, 0.0019882099470219694_r8, & + 0.0019971591927225784_r8, 0.0020354559045511816_r8, & + 0.002097890897293609_r8, 0.0021334008539168445_r8, & + 0.0022006054768492693_r8, 0.0023188157751000416_r8, & + 0.0025245112980528434_r8, 0.0028141638406925375_r8, & + 0.0030370111435828319_r8, 0.0032607829308968629_r8, & + 0.0033629417852034035_r8, 0.0034878469469141328_r8, & + 0.0035968829011785476_r8, 0.0037178373884453925_r8, & + 0.0037856240448967101_r8, 0.0038515484305663996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,5) / & + 0.001716065211833579_r8, 0.001796275565236717_r8, 0.0017265536626027852_r8, & + 0.0018532626402485337_r8, 0.0019547193241656884_r8, & + 0.0019902003951007994_r8, 0.0020781039492193186_r8, & + 0.0020684505407306667_r8, 0.0020567513768007108_r8, & + 0.0020164755665500441_r8, 0.0019857892349304886_r8, & + 0.0019997898737319111_r8, 0.0020061189296284444_r8, & + 0.0020467303716311998_r8, 0.0021121785632885332_r8, & + 0.0021622356417429329_r8, 0.0022819123350591997_r8, & + 0.0023751220673535996_r8, 0.002554637107328_r8, 0.0028722406395903996_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,5) / & + 0.0017951856681973793_r8, 0.0018944866499505449_r8, & + 0.0014910167948080464_r8, 0.0015966385247096824_r8, & + 0.0017520039395195787_r8, 0.0018689131112579031_r8, & + 0.0020043459672925697_r8, 0.0018887086199865484_r8, & + 0.0018538462207079798_r8, 0.00189831543668055_r8, 0.0019339445330768677_r8, & + 0.0019663737066712211_r8, 0.0020781172663679997_r8, & + 0.0021416293905276865_r8, 0.0022035697464388316_r8, & + 0.0022520690169241056_r8, 0.0023626778022351664_r8, & + 0.0025051378015155555_r8, 0.0026395979937910343_r8, & + 0.0028053055966877492_r8, 0.0029614839140596713_r8, & + 0.0031099114639399055_r8, 0.003229882725290486_r8, & + 0.0033973218576329027_r8, 0.0035436913073850019_r8, & + 0.0036412866034155346_r8, 0.0037350194375617581_r8, & + 0.0038923278304606591_r8, 0.003979501057805793_r8, & + 0.0040036287576641263_r8, 0.0040543679741107752_r8, & + 0.0041044493503338188_r8, 0.0041478931187006896_r8, & + 0.004181758733411871_r8, 0.0042014281560976592_r8, & + 0.0041696544732975401_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,5) / & + 0.0023539892823717396_r8, 0.0026526344248349238_r8, & + 0.0024618045527370538_r8, 0.0030136419758782945_r8, & + 0.0028903150145863114_r8, 0.0030191432151022886_r8, & + 0.0029171448288344759_r8, 0.0024131952422168498_r8, & + 0.0020392011592348705_r8, 0.0021300617906803362_r8, & + 0.0021578836316738115_r8, 0.0021635201472721645_r8, & + 0.0022156466435257417_r8, 0.0022950087831505642_r8, & + 0.0023450610416639482_r8, 0.0023876730995875031_r8, & + 0.0024040415408851231_r8, 0.002493774869210917_r8, 0.0025766992866939_r8, & + 0.0026702203535017878_r8, 0.0028018442657545481_r8, & + 0.0028872938422255939_r8, 0.0030336177871588613_r8, & + 0.0032090712447044216_r8, 0.0033526896621504793_r8, & + 0.0034810669414185882_r8, 0.0035954656620027781_r8, & + 0.0038703021625785148_r8, 0.0039789741833147789_r8, & + 0.0040514823199720032_r8, 0.0041007680123640094_r8, & + 0.0041735016096451681_r8, 0.0042206510626254003_r8, & + 0.0042592346223291602_r8, 0.0042781443269451231_r8, & + 0.0042529268782446946_r8, 0.0042505865969682576_r8, & + 0.004253630315391368_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,5) / & + 0.0026219927691946659_r8, 0.003265074994602666_r8, & + 0.0032025318778026663_r8, 0.0041113528572586664_r8, & + 0.0042159156829013325_r8, 0.0041982646254933326_r8, & + 0.003852980292522666_r8, 0.00270950680448_r8, 0.0023606551974399994_r8, & + 0.0024099484391253336_r8, 0.0024030455321599996_r8, & + 0.0023914634734933339_r8, 0.0023361012330666664_r8, & + 0.0024063348368213336_r8, 0.0024441386763093325_r8, & + 0.0024936172309333324_r8, 0.0024945437956266662_r8, & + 0.0025448562584746669_r8, 0.0026256526997333334_r8, & + 0.0027314663877119993_r8, 0.0028503909661013321_r8, & + 0.0029648217057279998_r8, 0.0031109872861013331_r8, & + 0.0032719315733333331_r8, 0.0034379719663786665_r8, & + 0.0035897432631466662_r8, 0.0037810325440853325_r8, & + 0.0041200162371413333_r8, 0.0041524460014080002_r8, & + 0.0041693558070613323_r8, 0.004194048756138667_r8, & + 0.0042346786179413339_r8, 0.0042654405657599993_r8, & + 0.0042724824574293333_r8, 0.0042890679654400002_r8, & + 0.0043017155735039989_r8, 0.004364768300885332_r8, 0.004370096047872001_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,6) / & + 0.0038555566682222215_r8, 0.0038590803764444446_r8, & + 0.0038421773935555558_r8, 0.0041982466533333337_r8, & + 0.0042939026428888876_r8, 0.0045179722117777779_r8, & + 0.004763720698666667_r8, 0.00492455905_r8, 0.0050684569764444451_r8, & + 0.0052251059840000003_r8, 0.0053849084399999999_r8, & + 0.0056773845428888881_r8, 0.0064802159068888887_r8, & + 0.0068070471248888884_r8, 0.0069585998602222235_r8, & + 0.0070750652813333318_r8, 0.0072597167446666663_r8, & + 0.0075065260882222224_r8, 0.0078510382506666657_r8, & + 0.0078715855882222231_r8, 0.0080570607755555551_r8, & + 0.0082135724957777771_r8, 0.0083043735059999992_r8, & + 0.0084120358968888878_r8, 0.008499533690666668_r8, & + 0.0085512258385185176_r8, 0.008596308779999999_r8, & + 0.0087102156644444442_r8, 0.0087588278611111115_r8, & + 0.0087978368781481478_r8, 0.008947944629629629_r8, & + 0.0089880075696296309_r8, 0.0084408620766666664_r8, & + 0.0084180432577777766_r8, 0.0091622931459259243_r8, & + 0.0091845642022222226_r8, 0.0092132281333333343_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,6) / & + 0.003584650855308642_r8, 0.0035710977758024688_r8, & + 0.0036832851017283941_r8, 0.0041869400938271597_r8, & + 0.0043146219362962968_r8, 0.0044991509041975315_r8, & + 0.004883906745185183_r8, 0.0051403705777777762_r8, & + 0.0053668253407407407_r8, 0.0057080837471604933_r8, & + 0.0060068339274074074_r8, 0.0063193683106172833_r8, 0.00677009603111111_r8, & + 0.00701334884691358_r8, 0.0070986056676543207_r8, 0.0071934864691358012_r8, & + 0.0074355929125925922_r8, 0.007636873708641973_r8, & + 0.0079065393130864203_r8, 0.0080774967116049382_r8, & + 0.0082207100503703702_r8, 0.008394191317037036_r8, 0.008487213885925925_r8, & + 0.0085819190335802466_r8, 0.0086803129116049382_r8, & + 0.008738223204938271_r8, 0.0087839116898765415_r8, & + 0.0088769804834567898_r8, 0.0090056700241975297_r8, & + 0.0090343755575308642_r8, 0.0091229790459259243_r8, & + 0.0091200946251851853_r8, 0.0086896502992592582_r8, & + 0.0087031386641975312_r8, 0.0091673455046913568_r8, & + 0.0092096780770370371_r8, 0.0092430153244444421_r8, & + 0.0092571704805555557_r8, 0.009210060421269841_r8, & + 0.0092518197414074091_r8, 0.0090546434338095224_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,6) / & + 0.0033739772019753082_r8, 0.0033582238271604933_r8, & + 0.0034959271827160491_r8, 0.003810255083950618_r8, & + 0.0039795761283950614_r8, 0.0042545575723456786_r8, & + 0.0047380493540740733_r8, 0.00500139142074074_r8, 0.0052069248883950606_r8, & + 0.0056801917683950614_r8, 0.0061432892162962957_r8, & + 0.0064930344760493822_r8, 0.0068847887353086406_r8, & + 0.0071922014227160484_r8, 0.0073317537659259259_r8, & + 0.0074725079511111115_r8, 0.0077982256162962968_r8, & + 0.0080021319748148148_r8, 0.0082002232671604929_r8, & + 0.0083810265249382714_r8, 0.0085203662345679013_r8, & + 0.0087340907175308628_r8, 0.0088378281698765424_r8, & + 0.0089017106933333319_r8, 0.0089901200380246935_r8, & + 0.0090434078622222205_r8, 0.0091004306414814804_r8, & + 0.0091950618296296281_r8, 0.0092558380538271603_r8, & + 0.0092729689244444441_r8, 0.0092763433269135807_r8, & + 0.0092605437274074064_r8, 0.0091516845792592588_r8, & + 0.0091463502498765423_r8, 0.0091492624054320994_r8, & + 0.0091786150844444421_r8, 0.0092047782597530856_r8, & + 0.0092197920395061736_r8, 0.0091990648879012333_r8, & + 0.0092051157000000005_r8, 0.0090798925158465608_r8, & + 0.0088758578838095212_r8, 0.0088754388900000002_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,6) / & + 0.0034704111530864195_r8, 0.0034526238918518508_r8, & + 0.0035397666799999996_r8, 0.0037542400029629626_r8, & + 0.0038647262602469136_r8, 0.0040996771214814806_r8, & + 0.0045573570355555556_r8, 0.0049883098330864191_r8, & + 0.005157871245925926_r8, 0.0056739514350617288_r8, & + 0.0062693809293827146_r8, 0.0067019423461728385_r8, & + 0.0072224601056790115_r8, 0.0075735181466666662_r8, & + 0.0077347128903703698_r8, 0.0079144992049382714_r8, & + 0.0081775269437037029_r8, 0.0083597261871604951_r8, & + 0.0085199317224691363_r8, 0.0086669724656790147_r8, & + 0.0087740473407407395_r8, 0.0089255256543209899_r8, & + 0.0089988287698765414_r8, 0.0090487699264197533_r8, & + 0.0090911117437037017_r8, 0.0091239312745679015_r8, & + 0.0091459064928395058_r8, 0.0091653301081481477_r8, & + 0.0091677430370370357_r8, 0.0091670774014814809_r8, & + 0.009160994232098766_r8, 0.0091480975432098773_r8, 0.009128174701234568_r8, & + 0.0091108681767901236_r8, 0.0090818113358024678_r8, & + 0.0090758853303703688_r8, 0.0090802119614814825_r8, & + 0.0090760309381481465_r8, 0.0090717239525308635_r8, & + 0.0090717114388465612_r8, 0.0090454768794074082_r8, & + 0.0089644572449999998_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,6) / & + 0.0032771826982716046_r8, 0.0032182831965432094_r8, & + 0.003060351916049382_r8, 0.0038925257896296295_r8, & + 0.0038774750301234567_r8, 0.003901539604444444_r8, & + 0.0040956370834567902_r8, 0.0044947872933333334_r8, & + 0.0048336974854320987_r8, 0.0052445702770370379_r8, & + 0.0056451996770370376_r8, 0.0060097645728395058_r8, & + 0.0065141406701234566_r8, 0.0068338583703703706_r8, & + 0.006962668095308642_r8, 0.0071236594503703695_r8, & + 0.0073827765802469136_r8, 0.0075618787693827157_r8, & + 0.0077521488439506164_r8, 0.0079310938691358034_r8, & + 0.0080796045575308641_r8, 0.0081653790948148126_r8, & + 0.0082868575837037033_r8, 0.0083895873377777767_r8, & + 0.0084879257461728391_r8, 0.0085956385219753077_r8, & + 0.008668312981728394_r8, 0.0088299607274074064_r8, & + 0.0089447273911111118_r8, 0.0090356606039506161_r8, & + 0.0090892257762962975_r8, 0.0091217806708024686_r8, & + 0.0091315664379629617_r8, 0.0091187946547936511_r8, & + 0.0090867886784973522_r8, 0.0090672015598518511_r8, & + 0.0090614673868888891_r8, 0.0090530997932592588_r8, & + 0.0090214002866666667_r8, 0.0087823955199999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,6) / & + 0.0021062835313580249_r8, 0.0020483455032098766_r8, & + 0.0015068139990123456_r8, 0.0017358018750617285_r8, & + 0.0017436878074074073_r8, 0.0017499096508641974_r8, & + 0.0017961528320987656_r8, 0.0020955871377777778_r8, & + 0.0024003280380246912_r8, 0.0027402366834567899_r8, & + 0.0030707986962962967_r8, 0.0033241284948148145_r8, & + 0.0037604803362962964_r8, 0.0041560250202469133_r8, & + 0.0043633704958024695_r8, 0.0046113289851851856_r8, & + 0.0050236532320987641_r8, 0.0054000146691358022_r8, & + 0.0056625894059259239_r8, 0.0059037066409876552_r8, 0.00607095681925926_r8, & + 0.0061982318844444441_r8, 0.0063141726553086414_r8, & + 0.006399716069135801_r8, 0.0064686185940740744_r8, & + 0.0065478754498765421_r8, 0.0066417947777777766_r8, & + 0.0069173494079012342_r8, 0.0073066722483950616_r8, & + 0.0076975112587654316_r8, 0.0081128493555555556_r8, & + 0.0084189677516049392_r8, 0.0086819642887037037_r8, & + 0.0088904480472839515_r8, 0.0090459634273015871_r8, & + 0.009168904432407407_r8, 0.0093175803740740727_r8, & + 0.0094069890965925926_r8, 0.0094732822377037035_r8, & + 0.0094637275939999984_r8, 0.0093059178844444434_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,6) / & + 0.00092229353185185187_r8, 0.00090911024987654304_r8, & + 0.00032846341185185186_r8, 0.00047054886814814815_r8, & + 0.00049570434518518515_r8, 0.00048585848592592589_r8, & + 0.00051668111012345686_r8, 0.00061105343999999994_r8, & + 0.00073433469185185175_r8, 0.00087560659358024671_r8, & + 0.0010140310543209877_r8, 0.0011212076237037036_r8, & + 0.0013168767422222223_r8, 0.0015290203407407408_r8, & + 0.0016730102543209874_r8, 0.0018656377881481479_r8, & + 0.0022621254558024689_r8, 0.0027772903960493834_r8, & + 0.0032515187496296293_r8, 0.003754092083950617_r8, & + 0.0042047181101234569_r8, 0.0046039515244444438_r8, & + 0.0048834075185185183_r8, 0.0050618810518518517_r8, & + 0.0051936121772839508_r8, 0.0052745331219753088_r8, & + 0.0052999289674074057_r8, 0.0053098395412345669_r8, & + 0.0053842428044444442_r8, 0.0055925220187654327_r8, & + 0.0059364244775308639_r8, 0.0063366008755555547_r8, & + 0.0068340062893827158_r8, 0.0073260773738271605_r8, & + 0.0077685678543209869_r8, 0.0082102910049382718_r8, & + 0.0086124203961728384_r8, 0.0089975235826984124_r8, & + 0.0092591999426119929_r8, 0.0093255511617460311_r8, & + 0.0092515616095238101_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,6) / & + 0.0003989005965432099_r8, 0.00038380361234567899_r8, & + 0.00023179833728395057_r8, 0.00032862982074074077_r8, & + 0.00034070371012345676_r8, 0.00034319984345679012_r8, & + 0.00035788080543209876_r8, 0.00035986846716049378_r8, & + 0.00038745536296296294_r8, 0.00041520866765432096_r8, & + 0.0004507647002469136_r8, 0.00048627450814814815_r8, & + 0.00056346049777777777_r8, 0.00065281282617283957_r8, & + 0.00076275363209876539_r8, 0.00088231841876543204_r8, & + 0.0011693460172839505_r8, 0.001513664498271605_r8, 0.00189611834962963_r8, & + 0.0023840292118518522_r8, 0.0029112125718518517_r8, & + 0.0034525591772839497_r8, 0.0039081682251851848_r8, & + 0.0043387234903703694_r8, 0.0045997913022222227_r8, & + 0.0047777748538271603_r8, 0.0047994449891358018_r8, & + 0.0047576301333333328_r8, 0.0045998005471604942_r8, & + 0.0045936803980246915_r8, 0.0046742315451851844_r8, & + 0.0048492936962962968_r8, 0.0051454090691358022_r8, & + 0.0056202383437037031_r8, 0.0062434581224691359_r8, & + 0.0069900053777777775_r8, 0.0076173391540740728_r8, & + 0.0081099649348148149_r8, 0.0085701541892768962_r8, & + 0.0087980161639153436_r8, 0.008793410599809523_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,6) / & + 0.00029263003111111113_r8, 0.00027286435308641974_r8, & + 0.00028244640142857143_r8, 0.0002948938853703704_r8, & + 0.00030564277699294526_r8, 0.00030801591962962958_r8, & + 0.00032139549145502645_r8, 0.00031273248902998239_r8, & + 0.00033143532932980598_r8, 0.0003616555467460317_r8, & + 0.00038684288580246917_r8, 0.00039421671460317462_r8, & + 0.00044959571082010575_r8, 0.0005066797377954145_r8, & + 0.00055103133862433853_r8, 0.00063733861547619051_r8, & + 0.00091108586016754869_r8, 0.0012119460324867724_r8, & + 0.0015716398363492061_r8, 0.0019645199970194003_r8, & + 0.0023998195664197528_r8, 0.0027826924115873014_r8, & + 0.0033007118916137568_r8, 0.0038754538554938269_r8, & + 0.0042613326263051142_r8, 0.0045265056860141093_r8, & + 0.0045645601631746028_r8, 0.0044312585538536153_r8, & + 0.0041977992643562603_r8, 0.0040900146751940035_r8, & + 0.004121964686596119_r8, 0.004239871987901234_r8, 0.0044463839332186941_r8, & + 0.004814685269876543_r8, 0.005438467338994708_r8, 0.0063565238826190475_r8, & + 0.0071855659343068772_r8, 0.0076769266112804236_r8, & + 0.0081059475468888888_r8, 0.0084545575282222226_r8, & + 0.0085887969787500004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,6) / & + 0.00026821756158149139_r8, 0.00024803591574074074_r8, & + 0.00028367515277777784_r8, 0.00030092967444444438_r8, & + 0.00032357168388888886_r8, 0.0003426255016666667_r8, & + 0.00035796929269841263_r8, 0.00035917798583333334_r8, & + 0.00040824510279999996_r8, 0.00044046768800000001_r8, & + 0.00046244863813333325_r8, 0.00047236827199999997_r8, & + 0.00060503151833333319_r8, 0.00072932335750000002_r8, & + 0.00081369266416666673_r8, 0.00096364787416666656_r8, & + 0.0012659140200000001_r8, 0.0015956532333333336_r8, & + 0.0020465797199999999_r8, 0.0025206266416666662_r8, & + 0.0030260312383333333_r8, 0.0034482833933333333_r8, & + 0.0039765068088888885_r8, 0.0043319145933333331_r8, & + 0.0045279442644444445_r8, 0.0045755372066666666_r8, & + 0.0045073511644444439_r8, 0.0041465350911111106_r8, & + 0.0039313267955555552_r8, 0.0038749973866666668_r8, & + 0.0039652326066666656_r8, 0.0040841733599999994_r8, & + 0.0043062044199999993_r8, 0.0047319199599999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,6) / & + 0.00030028483999999995_r8, 0.0002957918_r8, 0.00033997336_r8, & + 0.00035045711999999994_r8, 0.00039838288000000003_r8, & + 0.00042983415999999999_r8, 0.00046053659999999998_r8, 0.0004942344_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,6) / & + 0.00084900664560053313_r8, 0.00086112298663039986_r8, & + 0.00097414631642293316_r8, 0.00091607790801973336_r8, & + 0.00083557738835999987_r8, 0.00083801566132266656_r8, & + 0.00072885605637866655_r8, 0.00031284917705599993_r8, & + 0.00037558781597999997_r8, 0.00071328862130933327_r8, & + 0.00091819732990266665_r8, 0.00078324829939199997_r8, & + 0.00083473337079599985_r8, 0.00087515243413866656_r8, & + 0.0009452058919506665_r8, 0.00099725364173066646_r8, & + 0.0010606487387599998_r8, 0.0011119775106151108_r8, & + 0.0012112589840693332_r8, 0.0013069143079893334_r8, & + 0.0013204185890133334_r8, 0.0014595877073439998_r8, & + 0.0015372373232320001_r8, 0.0014978498369119997_r8, & + 0.0015068526909279999_r8, 0.0016565251389439998_r8, 0.00166552799296_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,6) / & + 0.00062997390262485586_r8, 0.00065591501053648799_r8, & + 0.00072369026218542314_r8, 0.00082688978777801646_r8, & + 0.00069012499559540296_r8, 0.00074091886030558103_r8, & + 0.00063253774688982654_r8, 0.00041992732042352485_r8, & + 0.00049923805734630624_r8, 0.00062500583892483377_r8, & + 0.00071443564988714478_r8, 0.00080191264799511818_r8, & + 0.00094092566261990709_r8, 0.00098804038230541837_r8, & + 0.0010386352342406319_r8, 0.0010900826278810965_r8, & + 0.0011814725073718329_r8, 0.0012665058980997094_r8, & + 0.0013373010649562419_r8, 0.0014324167330907777_r8, & + 0.0014904652353633285_r8, 0.0016731014356503608_r8, & + 0.0017691986928364131_r8, 0.0018397647876967627_r8, & + 0.0018869499910734071_r8, 0.001952429858398599_r8, & + 0.0020167156490740047_r8, 0.00206730739143461_r8, 0.0021553270103118216_r8, & + 0.0020422081490220714_r8, 0.001923125123632608_r8, & + 0.0018858599815205293_r8, 0.0017442927104858129_r8, & + 0.0015814612354036147_r8, 0.0015328119406486517_r8, & + 0.0016455868829866663_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,6) / & + 0.00044682757594782769_r8, 0.00047001922286108637_r8, & + 0.00054224569652326637_r8, 0.0004541993786288407_r8, & + 0.00037691795525180837_r8, 0.00040442623599441644_r8, & + 0.00043050673335168525_r8, 0.00048663973671957909_r8, & + 0.00051518762359047707_r8, 0.00063452824728972492_r8, & + 0.00075074962033544349_r8, 0.00085949004387691509_r8, & + 0.00097800460216611665_r8, 0.00096444973764726253_r8, & + 0.0010236321802800294_r8, 0.0010957805213818402_r8, & + 0.0012040773292105646_r8, 0.0013093179976101791_r8, & + 0.0013653535243951503_r8, 0.0014051119747723257_r8, & + 0.0014280459885504593_r8, 0.0014956630734195059_r8, & + 0.0015392973526730963_r8, 0.0015838572271957927_r8, & + 0.0016001645624098171_r8, 0.0016166275143415898_r8, & + 0.0016655576250210469_r8, 0.0017505162478741528_r8, & + 0.0018219540473654124_r8, 0.0018229039577466665_r8, & + 0.0018399744632806474_r8, 0.0017854359909338468_r8, & + 0.001707034667524853_r8, 0.0016570846189411553_r8, & + 0.0016359158823049777_r8, 0.0017720464691776_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,6) / & + 0.0015097658882031997_r8, 0.0012535409666335998_r8, & + 0.0014962132321151998_r8, 0.0019896255795260795_r8, & + 0.0026524939609407993_r8, 0.0033960723954348801_r8, & + 0.0046861895892047999_r8, 0.0048346310341215986_r8, & + 0.004108846439855999_r8, 0.0033337939546351993_r8, & + 0.0029514496099407998_r8, 0.003294996154853866_r8, 0.003869575625314133_r8, & + 0.0044884979692231116_r8, 0.001559565255867733_r8, & + 0.0012831973670143998_r8, 0.0013937445225557332_r8, & + 0.0013091334304298665_r8, 0.0012053891767679996_r8, & + 0.0010810236267839997_r8, 0.00076149982913279997_r8, & + 0.00096686242961919978_r8, 0.00096048470910719988_r8, & + 0.0015306529228799998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,6) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,6) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,37,6) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,38,6) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,39,6) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,40,6) / & + 0.0015060573488065881_r8, 0.0015253751688215306_r8, & + 0.0015582862338195552_r8, 0.0015600748131982219_r8, & + 0.0016485101269211851_r8, 0.001756186218808592_r8, 0.001845000928157333_r8, & + 0.0019254689337389625_r8, 0.0019734895800874071_r8, & + 0.0020202214857387652_r8, 0.0020703860184804936_r8, & + 0.0020955586171432098_r8, 0.0021346724995150615_r8, & + 0.0021473792419022218_r8, 0.0021583997815081478_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,6) / & + 0.001715367541989797_r8, 0.0017473272906079339_r8, & + 0.0017508013124112834_r8, 0.0019486202871935492_r8, & + 0.0020101454276398086_r8, 0.0020487328606293223_r8, & + 0.0020795445741091895_r8, 0.0021226805295831985_r8, & + 0.0021287812399842562_r8, 0.0021279760295701039_r8, & + 0.0021460409429475214_r8, 0.0021716498265817595_r8, & + 0.0022145565453905065_r8, 0.0022255253202943053_r8, & + 0.0022420064167117271_r8, 0.0022714116723536594_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,6) / & + 0.0016286016383617657_r8, 0.0017645727488822631_r8, & + 0.0017566390535614577_r8, 0.0020591423534727345_r8, & + 0.002155842655988859_r8, 0.0021364399442252444_r8, & + 0.0022500433010751403_r8, 0.0022676240118988437_r8, & + 0.0022159367220771554_r8, 0.0021345460221955997_r8, & + 0.0020261034030956797_r8, 0.0020022831381759998_r8, & + 0.0020091875627903997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,6) / & + 0.0017151963764356808_r8, 0.0017643329617103077_r8, & + 0.0013593461583379009_r8, 0.0014580245413080119_r8, & + 0.0015983034869899014_r8, 0.0017158423057993903_r8, & + 0.0018600643771072933_r8, 0.0017846054046010669_r8, & + 0.0017861395819796879_r8, 0.0018356467576646997_r8, & + 0.0018974931364010442_r8, 0.0019296615233353252_r8, & + 0.0020552902106089088_r8, 0.0021182455200079013_r8, & + 0.0021804490120084885_r8, 0.0022322116398887171_r8, & + 0.0023198923439777747_r8, 0.0024701712442015827_r8, & + 0.0025989199736785491_r8, 0.0027817431695358421_r8, & + 0.0029123112971169503_r8, 0.0030617857527244644_r8, & + 0.0031787234308724766_r8, 0.0033612609361183756_r8, & + 0.0035004599274331815_r8, 0.0036089509371101079_r8, & + 0.003699772358381005_r8, 0.0038665480118693293_r8, & + 0.0039617769626383798_r8, 0.0040000106364342994_r8, & + 0.0040642684694760295_r8, 0.0041073701609266253_r8, & + 0.0041556819469481723_r8, 0.0041800746624394433_r8, & + 0.0041927446651460736_r8, 0.0041732068105050073_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,6) / & + 0.0022809851323418603_r8, 0.0025609621351432963_r8, & + 0.0023569202704828841_r8, 0.002773977332636287_r8, & + 0.0026652602197752371_r8, 0.0027906163266826277_r8, & + 0.0026853262153053764_r8, 0.0022194343820078357_r8, & + 0.0019758467239093733_r8, 0.0020747337535668938_r8, & + 0.0021080568337843619_r8, 0.0021196906019793644_r8, & + 0.002178355456327032_r8, 0.002254966976339859_r8, 0.0023108812110755293_r8, & + 0.0023556125988640664_r8, 0.0023865007043430454_r8, & + 0.0024760085720449054_r8, 0.0025601504768971326_r8, & + 0.0026564672554418045_r8, 0.002786512943327026_r8, & + 0.0028820180636255342_r8, 0.003024418993702347_r8, 0.003198790240253024_r8, & + 0.0033446181718136355_r8, 0.0034732209117056788_r8, & + 0.0035928052266403555_r8, 0.0038631776068621965_r8, & + 0.0039767646692002246_r8, 0.004050941214474562_r8, & + 0.0041023913288563358_r8, 0.0041726955879146039_r8, & + 0.0042200761380343675_r8, 0.0042605100852874164_r8, & + 0.0042702016712505295_r8, 0.0042602318024601606_r8, & + 0.0042478134312938665_r8, 0.004253495039017007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,6) / & + 0.0025837719755946666_r8, 0.0032360735197013327_r8, & + 0.0031722332123306665_r8, 0.0040426480852479999_r8, & + 0.004115290757205332_r8, 0.0041153834136746668_r8, & + 0.0037817274676053333_r8, 0.0026446472759466661_r8, & + 0.0023460618035199996_r8, 0.0023925753511253329_r8, & + 0.0023848848641706663_r8, 0.0023773796901546658_r8, & + 0.002327623166122666_r8, 0.0023972081745920002_r8, & + 0.0024382549905066666_r8, 0.0024876408886613326_r8, & + 0.002492875979178666_r8, 0.0025424008620373337_r8, & + 0.0026227803491840002_r8, 0.0027282697395199992_r8, & + 0.0028452022038186657_r8, 0.0029623663092906657_r8, & + 0.0031075589967359996_r8, 0.0032674377345706671_r8, & + 0.003436999073450667_r8, 0.0035882144314026659_r8, & + 0.0037814031699626659_r8, 0.0041183947489279995_r8, & + 0.0041506855284906673_r8, 0.0041703750282239991_r8, 0.00419455836672_r8, & + 0.004235141900288_r8, 0.0042654405657599993_r8, 0.0042725287856639994_r8, & + 0.0042883730419199986_r8, 0.0043015765887999989_r8, & + 0.0043642586903039982_r8, 0.004370096047872001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,7) / & + 0.0038569531161481477_r8, 0.003880594272296296_r8, & + 0.0038273794831111103_r8, 0.004135030689925925_r8, & + 0.0043020441977777773_r8, 0.0045567330022222218_r8, & + 0.0047558301438518514_r8, 0.0048773114062222213_r8, & + 0.0050305240702222219_r8, 0.0052066013155555538_r8, & + 0.0054080392755555557_r8, 0.0056640094284444442_r8, & + 0.0061930565679999992_r8, 0.0065743991777777776_r8, & + 0.0067572825466666675_r8, 0.0069233086951111106_r8, & + 0.0072030753191111106_r8, 0.007473123663999999_r8, & + 0.0077299092204444432_r8, 0.0078199364293333341_r8, & + 0.0079850306879999996_r8, 0.0081670570511111103_r8, & + 0.008282686267555555_r8, 0.0084032869495555551_r8, & + 0.0084957936508888877_r8, 0.008559303603333332_r8, & + 0.0086131243982222206_r8, 0.0087838973602222207_r8, & + 0.0088381008955555566_r8, 0.0088542633588888867_r8, & + 0.0088917677622222212_r8, 0.0089686140003703702_r8, & + 0.008766441067777778_r8, 0.0086732590237037013_r8, & + 0.0091135908111111118_r8, 0.0091430867866666658_r8, & + 0.0091732899999999989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,7) / & + 0.0036341297649382718_r8, 0.0036959784019753084_r8, & + 0.0037166223491358025_r8, 0.004068105657283951_r8, & + 0.0042779287762962958_r8, 0.0044943620261728391_r8, & + 0.0048099379940740733_r8, 0.0050388426656790119_r8, & + 0.0052947795367901231_r8, 0.0056266173511111111_r8, & + 0.0059337526903703698_r8, 0.0062472485471604935_r8, & + 0.0065801033046913558_r8, 0.006789417952098766_r8, & + 0.0068663913081481471_r8, 0.0069641103056790124_r8, & + 0.007259615512592593_r8, 0.0074896942913580244_r8, & + 0.0076977886069135807_r8, 0.0079088320577777801_r8, & + 0.0080465076785185188_r8, 0.0082259981550617273_r8, & + 0.0083301701195061719_r8, 0.0084446779249382712_r8, & + 0.0085651394706172824_r8, 0.0086514871940740756_r8, & + 0.0087005500814814809_r8, 0.008854469058765432_r8, & + 0.0090003634296296278_r8, 0.0090150721264197504_r8, & + 0.0090454972182716052_r8, 0.0090554447718518508_r8, & + 0.0088360623866666661_r8, 0.0088096033733333322_r8, & + 0.0091154351762962951_r8, 0.0091498679488888884_r8, & + 0.0091781270837742492_r8, 0.0092047551474074077_r8, & + 0.0092282326681481473_r8, 0.0093161894731111118_r8, & + 0.0095177564000000006_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,7) / & + 0.0033642422819753085_r8, 0.0034440168543209875_r8, & + 0.0034630336923456785_r8, 0.003590373472098765_r8, & + 0.0038213582548148142_r8, 0.0041533532330864193_r8, & + 0.0046154337377777776_r8, 0.0049084150765432094_r8, & + 0.0050483002375308643_r8, 0.0053945694004938266_r8, & + 0.0058439381150617274_r8, 0.0062069868409876539_r8, & + 0.0065584054345679006_r8, 0.0068504715244444439_r8, & + 0.0069665047446913564_r8, 0.007092124965925926_r8, & + 0.0074492846661728378_r8, 0.0076839674241975303_r8, & + 0.007904533161481481_r8, 0.0081477859772839511_r8, & + 0.0082776588701234562_r8, 0.008457056897283953_r8, & + 0.0085904151318518494_r8, 0.0086939769303703701_r8, & + 0.0088138930246913598_r8, 0.0089044934197530842_r8, & + 0.0089746717461728388_r8, 0.0091080669604938266_r8, & + 0.0091966612039506151_r8, 0.0092193297925925941_r8, & + 0.0092227873995061709_r8, 0.0092171387422222226_r8, & + 0.0091298480350617273_r8, 0.0091374011496296297_r8, & + 0.0091549572874074069_r8, 0.0091734841437037026_r8, & + 0.0091957736898765421_r8, 0.0092344822464197531_r8, & + 0.0092610429540740721_r8, 0.0093157452538271592_r8, & + 0.0093446548361552032_r8, 0.009338391390476191_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,7) / & + 0.0033368772646913581_r8, 0.0033392809486419758_r8, & + 0.0033940387180246912_r8, 0.0034299368133333332_r8, & + 0.0035495848044444448_r8, 0.0038388126982716046_r8, & + 0.0042949487076543204_r8, 0.0047818611165432092_r8, & + 0.0050885064740740739_r8, 0.0053888652735802466_r8, & + 0.0058611891698765435_r8, 0.0062392054508641978_r8, & + 0.0067017204676543211_r8, 0.0069973458587654315_r8, & + 0.0071714095565432092_r8, 0.0073459262562962958_r8, & + 0.0076342019214814807_r8, 0.0078423239718518507_r8, & + 0.0080463135348148133_r8, 0.0082528362108641971_r8, & + 0.0084099262019753079_r8, 0.008496079781728394_r8, & + 0.0086441189782716036_r8, 0.0087593109091358007_r8, & + 0.0088657848632098749_r8, 0.0089619044864197497_r8, 0.00904594097530864_r8, & + 0.0091501868992592602_r8, 0.0091981403940740742_r8, & + 0.0092090956459259243_r8, 0.0092028090879012342_r8, & + 0.0091992035619753078_r8, 0.0091823315496296284_r8, & + 0.009169804658271604_r8, 0.0091443071185185187_r8, & + 0.0091348934601234548_r8, 0.0091428787755555557_r8, & + 0.0091690786004409181_r8, 0.0091821910595855372_r8, & + 0.0092057039091975306_r8, 0.0092221121888359774_r8, & + 0.0092509342083915338_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,7) / & + 0.0031196766849382719_r8, 0.0030398558879012345_r8, & + 0.0030088483649382716_r8, 0.0035671501871604935_r8, & + 0.0035697202799999995_r8, 0.0036243393753086417_r8, & + 0.0038676753955555554_r8, 0.0043462026454320979_r8, & + 0.0047935467185185173_r8, 0.005148330469629629_r8, & + 0.0054859833501234561_r8, 0.0058505852256790121_r8, & + 0.0063835928967901226_r8, 0.0066802074962962954_r8, & + 0.0068457103812345687_r8, 0.0070085414790123455_r8, & + 0.0072442596701234553_r8, 0.007392798093333334_r8, & + 0.0075883932523456779_r8, 0.0077543768740740739_r8, & + 0.0079193343076543205_r8, 0.0079967791555555535_r8, & + 0.0081214748829629632_r8, 0.0082321275491358016_r8, & + 0.0083447493871604949_r8, 0.0084730691303703688_r8, & + 0.0085788312241975306_r8, 0.0088147158241975287_r8, & + 0.0089630138790123444_r8, 0.0090779099718518493_r8, & + 0.0091593786791358042_r8, 0.0092016037790740753_r8, & + 0.0092132015541358005_r8, 0.0092085922920546737_r8, & + 0.0091842715008730157_r8, 0.0091590199425132281_r8, & + 0.0091413824822962949_r8, 0.0091526941265185173_r8, & + 0.0091575449456296303_r8, 0.0091915117733333326_r8, & + 0.0091881731950000014_r8, 0.0092315747133333344_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,7) / & + 0.0021537932691358028_r8, 0.0020713838893827159_r8, & + 0.0016379072237037039_r8, 0.00168661880345679_r8, 0.0017184306360493828_r8, & + 0.0017469882503703706_r8, 0.0019000659382716048_r8, & + 0.0022652594898765429_r8, 0.0026139600716049388_r8, & + 0.0029098905456790124_r8, 0.0031797133140740743_r8, & + 0.0034204515066666662_r8, 0.0039114224434567899_r8, & + 0.0043248560829629622_r8, 0.0045270428829629634_r8, & + 0.0047497996706172838_r8, 0.0051177389688888894_r8, & + 0.0053967049812345671_r8, 0.0056747649896296297_r8, & + 0.0059113244701234566_r8, 0.0060836316296296288_r8, & + 0.0062289528143209877_r8, 0.0062762868982716045_r8, & + 0.0063739504261728407_r8, 0.006454196490370369_r8, & + 0.0065435673086419741_r8, 0.0066406484054320992_r8, 0.00690551588691358_r8, & + 0.0072371318227160489_r8, 0.0075979802533333342_r8, & + 0.0080604028207407405_r8, 0.0084460276859259255_r8, & + 0.0087465436493827167_r8, 0.0089613128103703706_r8, & + 0.0091011713921604932_r8, 0.0092214721419488516_r8, & + 0.0093153199866666675_r8, 0.0093302528071746039_r8, & + 0.009343110865428569_r8, 0.0093296089632592567_r8, & + 0.0091634857429629644_r8, 0.0091189782988888891_r8, & + 0.0090303863666666671_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,7) / & + 0.0009783918172839507_r8, 0.00095619472049382709_r8, & + 0.00042983415999999993_r8, 0.00043674012888888884_r8, & + 0.000458031221728395_r8, 0.0004462716602469136_r8, & + 0.00051896460987654316_r8, 0.00064266188395061734_r8, & + 0.00079752384493827154_r8, 0.00092177581530864189_r8, & + 0.0010435593871604939_r8, 0.0011418423259259261_r8, & + 0.0013685004775308642_r8, 0.0016231892819753085_r8, & + 0.0018089755614814815_r8, 0.0020161361382716046_r8, & + 0.002434959576790123_r8, 0.0028725317501234571_r8, & + 0.0033331700444444432_r8, 0.0038133521382716041_r8, & + 0.0042420029461728388_r8, 0.0046057820222222216_r8, & + 0.004766301885432098_r8, 0.004978316054814815_r8, 0.0051011258148148143_r8, & + 0.0051943332824691347_r8, 0.0052433869249382719_r8, & + 0.0052816609693827161_r8, 0.0053382862162962954_r8, & + 0.0055191264538271608_r8, 0.0058289150903703705_r8, & + 0.006228758670617284_r8, 0.006774949623703703_r8, 0.0072876091856790117_r8, & + 0.0077464632069135812_r8, 0.008178238803950617_r8, 0.008575983783209876_r8, & + 0.0089043917254320992_r8, 0.0091776443659259254_r8, & + 0.0092863532838271604_r8, 0.009197042557654321_r8, & + 0.0090044889833333329_r8, 0.0089793529206666656_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,7) / & + 0.00041177879555555553_r8, 0.00040186822172839508_r8, & + 0.00023769660790123453_r8, 0.00030474090024691354_r8, & + 0.00031875622666666662_r8, 0.00031873773679012341_r8, & + 0.00034855266271604938_r8, 0.00035299023308641971_r8, & + 0.00038137219358024688_r8, 0.00040196067111111116_r8, & + 0.00042835496987654316_r8, 0.00045178164345679013_r8, & + 0.00051856707753086416_r8, 0.00060684699308641982_r8, & + 0.0007205412439506173_r8, 0.00084700275456790113_r8, & + 0.001115235393580247_r8, 0.0014255047669135801_r8, & + 0.0017956813402469133_r8, 0.0022937061649382713_r8, & + 0.0028501312646913579_r8, 0.0033634009925925927_r8, & + 0.0037793862350617279_r8, 0.0041711035145679011_r8, & + 0.0044193578419753077_r8, 0.0046083058903703704_r8, & + 0.0046596615224691355_r8, 0.0046700620780246917_r8, & + 0.0045488054676543202_r8, 0.0045401244706172843_r8, & + 0.0046129098696296297_r8, 0.0047676080631393301_r8, & + 0.0051743817811851856_r8, 0.0057130956593209863_r8, & + 0.0064304506352962964_r8, 0.0071726990603439159_r8, & + 0.0077364968332804237_r8, 0.0082269447707054664_r8, & + 0.0086755253542857135_r8, 0.0088970845262222216_r8, & + 0.0089632681148148138_r8, 0.0090337561466666653_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,7) / & + 0.00026637440641975304_r8, 0.00025868261777777771_r8, & + 0.0002673173901234568_r8, 0.00025391222962962962_r8, & + 0.00025228512049382714_r8, 0.0002554099096296296_r8, & + 0.00028506767160493829_r8, 0.0002986022612345678_r8, & + 0.00030874395851851851_r8, 0.00031804436641975307_r8, & + 0.00033302116641975311_r8, 0.00033678385629629635_r8, & + 0.00034157966802469129_r8, 0.00037375552006172836_r8, & + 0.00039768257592592599_r8, 0.0004368429788271605_r8, & + 0.00057333178061728387_r8, 0.00078238525851851836_r8, & + 0.0010347662952469134_r8, 0.0013696549391975308_r8, & + 0.001816021525149912_r8, 0.0022289083925925925_r8, & + 0.0027448423135978837_r8, 0.0033234372705908287_r8, & + 0.0037873439807671961_r8, 0.0042063386157319216_r8, & + 0.0043881571658377421_r8, 0.0045610432896031738_r8, & + 0.0044041284570546738_r8, 0.0042603141973015877_r8, & + 0.0042373121305290997_r8, 0.0042536639500088177_r8, & + 0.0044697995458906521_r8, 0.0048554225951058195_r8, & + 0.005437521779915344_r8, 0.006240874459380953_r8, 0.0070382416686507934_r8, & + 0.007408791176190475_r8, 0.0077852988153227515_r8, & + 0.0082623710703999993_r8, 0.0083784426967619067_r8, & + 0.0087355930199999998_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,7) / & + 0.00023785238511111112_r8, 0.00024309010488888889_r8, & + 0.00026506301192592591_r8, 0.00023643652281481485_r8, & + 0.00023692604229629628_r8, 0.00024488454740740744_r8, & + 0.00027478961148148144_r8, 0.00029149290370370374_r8, & + 0.00030394583555555564_r8, 0.00032055898962962958_r8, & + 0.00033992482407407403_r8, 0.00034683772666666669_r8, & + 0.0003283429387499999_r8, 0.00036953693916666659_r8, & + 0.00040676052749999994_r8, 0.00043155025166666662_r8, & + 0.00048837628708333334_r8, 0.00059312028208333329_r8, & + 0.00078542395416666662_r8, 0.001066628975_r8, 0.0014679916141666664_r8, & + 0.0017847041316666665_r8, 0.0022571285666666669_r8, & + 0.0029032170209523809_r8, 0.0034996680809523807_r8, & + 0.004046392599047619_r8, 0.0043459285990476194_r8, & + 0.0047496781657142854_r8, 0.004656453528888888_r8, & + 0.0045340764319999997_r8, 0.0044107424839999994_r8, & + 0.0043060546520000001_r8, 0.0045113366573333331_r8, & + 0.0049090705426666666_r8, 0.005514114541666666_r8, & + 0.0062632977600000006_r8, 0.0070884258349999995_r8, & + 0.007335168615000001_r8, 0.0076808518799999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,7) / & + 0.00032354006619999995_r8, 0.00036799165790400002_r8, & + 0.00034773523636799999_r8, 0.000472087157464_r8, 0.00040737914422399996_r8, & + 0.00043044895763999996_r8, 0.00056886783813599987_r8, & + 0.00050978660865599998_r8, 0.00051616363025066669_r8, & + 0.00055817694899199996_r8, 0.00058743622454399992_r8, & + 0.00065608298641599999_r8, 0.00081700900195199992_r8, & + 0.00089916004484799996_r8, 0.00099819143902399993_r8, 0.001185000659856_r8, & + 0.0014449580695679999_r8, 0.0015203569719519998_r8, & + 0.0015923798040799997_r8, 0.0015417387502399999_r8, & + 0.0015079780476799998_r8, 0.0017015394090239997_r8, & + 0.0017420522520959999_r8, 0.0017758129546559997_r8, & + 0.0017668101006399998_r8, 0.0017668101006399998_r8, & + 0.0017825650951679998_r8, 0.0016812829874879999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,7) / & + 0.00034377072867895498_r8, 0.00037938209536157735_r8, & + 0.00038583705398704935_r8, 0.00047078182183857493_r8, & + 0.00041578018442023091_r8, 0.00042014395412127265_r8, & + 0.00046289231279356786_r8, 0.0004425225260560686_r8, & + 0.00045456072589167398_r8, 0.000516696763987517_r8, & + 0.00056427118245269833_r8, 0.00060267131929699611_r8, & + 0.00070789932405940865_r8, 0.00083679585595684228_r8, & + 0.00092788151539834919_r8, 0.0010176580439295434_r8, & + 0.0012111730909855265_r8, 0.0013336887757856646_r8, & + 0.0013983570441379555_r8, 0.0014008586969107496_r8, & + 0.0014459509492706854_r8, 0.0015193829317430086_r8, & + 0.0016160403269685961_r8, 0.0016720599354613803_r8, & + 0.0017091683550131749_r8, 0.0017618097216509389_r8, & + 0.0018094620867863146_r8, 0.0017795150175586286_r8, & + 0.0018139809206078495_r8, 0.0018980277469648351_r8, & + 0.0017851539201542599_r8, 0.0017229686471271106_r8, & + 0.0016350081101674662_r8, 0.001589754470885333_r8, & + 0.0015127645131455998_r8, 0.0015821142460714665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,7) / & + 0.00041533025979139223_r8, 0.00069879535810774766_r8, & + 0.00049310993402861881_r8, 0.00049380264455692845_r8, & + 0.00047112691130339092_r8, 0.00052130357673230946_r8, & + 0.00051136950258022713_r8, 0.00054544091839386314_r8, & + 0.00056077348777866_r8, 0.0006184402884208594_r8, & + 0.00066760868719936781_r8, 0.00066461954941262203_r8, & + 0.00072984240623881469_r8, 0.00086008387294915555_r8, & + 0.00095673352592458641_r8, 0.0010538960656655957_r8, & + 0.0012322354178169359_r8, 0.0013314177328737184_r8, & + 0.0013748996374245135_r8, 0.0014032218800546766_r8, & + 0.0014712782579498665_r8, 0.0014892053038344532_r8, & + 0.0015857732580330667_r8, 0.0016338734128845331_r8, & + 0.0016773780115399998_r8, 0.001774905926366222_r8, & + 0.0018222912169205329_r8, 0.0019184915266234667_r8, & + 0.002045328877633066_r8, 0.0021335635565962663_r8, & + 0.0020367505060671998_r8, 0.0018382224783999998_r8, & + 0.0016642040837781332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,7) / & + 0.00054403901692213_r8, 0.0011192899498559999_r8, & + 0.00073726449118719992_r8, 0.00075363397383466642_r8, & + 0.00072272328841983975_r8, 0.00081099094030591976_r8, & + 0.00082697775972266662_r8, 0.00081804895100586654_r8, & + 0.0008731099380927999_r8, 0.00090563631270399977_r8, & + 0.00092158061398399979_r8, 0.00089606973193599975_r8, & + 0.00086736998963199982_r8, 0.0011020701044735998_r8, & + 0.0012245223383039996_r8, 0.0013597300131583997_r8, & + 0.0014184050418687996_r8, 0.0015025909526271996_r8, & + 0.0015204485700607998_r8, 0.0015791235987711997_r8, & + 0.0016148388336383998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,7) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,7) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,38,7) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,39,7) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,40,7) / & + 0.0016030158513561734_r8, 0.0016236687466619254_r8, & + 0.0016463060189999994_r8, 0.0017321216962592591_r8, & + 0.0018151069617071598_r8, 0.0018989654393096291_r8, & + 0.0019741520168943204_r8, 0.0020500311420498761_r8, & + 0.0021042907386888887_r8, 0.0021528594009412338_r8, & + 0.0021956166857511105_r8, 0.0022257876712296295_r8, & + 0.002258367517824197_r8, 0.0022430411389733327_r8, & + 0.0022214968873666657_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,7) / & + 0.0017371261851041183_r8, 0.0017808688565748411_r8, & + 0.0017662603768878354_r8, 0.0020127422607853036_r8, & + 0.0020728315313392194_r8, 0.002097372121861583_r8, & + 0.0021456404069302025_r8, 0.0021979591309488665_r8, & + 0.0022222898465101264_r8, 0.0022413918673537892_r8, & + 0.0022704113669052414_r8, 0.0023086695031247959_r8, & + 0.0023660026129219002_r8, 0.0023876980675278849_r8, & + 0.0024164949813811516_r8, 0.0024352294254443452_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,7) / & + 0.0016245944625633798_r8, 0.0017535389121125715_r8, & + 0.0015899771114456236_r8, 0.0018913744248214455_r8, & + 0.0020013534153906216_r8, 0.0020670696558077861_r8, & + 0.002395355867265244_r8, 0.0022906579395707729_r8, & + 0.0022502670555765332_r8, 0.0022038060316087998_r8, & + 0.0022425954726716445_r8, 0.0021852503904575995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,7) / & + 0.001640933099765748_r8, 0.0016491232105496295_r8, & + 0.0012332742120565079_r8, 0.0013394566724344551_r8, & + 0.001457191277024779_r8, 0.0015747003363955807_r8, & + 0.0017809990305180899_r8, 0.0017256558722779541_r8, & + 0.0017371586784735605_r8, 0.0017865624792662914_r8, & + 0.001867777553729061_r8, 0.0018972487957465624_r8, 0.002032040257563214_r8, & + 0.0020890844026672422_r8, 0.0021520491097837152_r8, & + 0.0022050898272412333_r8, 0.0022783581918028551_r8, & + 0.0024333904575280832_r8, 0.0025664978483723065_r8, & + 0.0027613501226040884_r8, 0.0028863792355024436_r8, & + 0.0030238283718224592_r8, 0.0031340297660807587_r8, & + 0.0033240403362668094_r8, 0.0034612394933018543_r8, & + 0.0035768088637847702_r8, 0.0036718536192912122_r8, & + 0.003845365556669251_r8, 0.0039491727439541092_r8, & + 0.0039909324413485514_r8, 0.0040599267240002367_r8, & + 0.0041002654865116917_r8, 0.0041510047029583406_r8, & + 0.0041758710634106069_r8, 0.0041863307229659252_r8, & + 0.0041661350281012545_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,7) / & + 0.0022113628916709928_r8, 0.0024736637815559897_r8, & + 0.0022610093210612939_r8, 0.0025659673609946337_r8, & + 0.0024735735973064167_r8, 0.0025903622005043099_r8, & + 0.0024787140995321151_r8, 0.0020562910745290804_r8, & + 0.001928274532259266_r8, 0.0020258087981731817_r8, & + 0.0020647233018642177_r8, 0.002084022731272981_r8, & + 0.0021473320744736925_r8, 0.0022216438961223904_r8, & + 0.0022817066063384492_r8, 0.0023277005736210173_r8, & + 0.0023705380921685069_r8, 0.0024602714204943017_r8, & + 0.002545450444216626_r8, 0.0026446982108724415_r8, & + 0.0027740675168858608_r8, 0.00287638154802718_r8, 0.0030146790947483916_r8, & + 0.0031878779460546101_r8, 0.0033360957602289257_r8, & + 0.0034652396056184098_r8, 0.0035906408046505879_r8, & + 0.0038555119456484353_r8, 0.0039742846023369492_r8, & + 0.0040478749499890561_r8, 0.0041026618816050568_r8, & + 0.0041717430167784826_r8, 0.0042208483406713411_r8, & + 0.0042556948905333927_r8, 0.0042631402445089108_r8, & + 0.0042557676821062635_r8, 0.0042488956422887516_r8, & + 0.0042530892098939259_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,7) / & + 0.0025481918913706665_r8, 0.0032070720448000001_r8, & + 0.0031436023633066661_r8, 0.0039705613521066668_r8, & + 0.0040150364573866663_r8, 0.0040217077231786656_r8, & + 0.0037021355604479997_r8, 0.0025738114051413333_r8, & + 0.002322805029717333_r8, 0.0023733491337386667_r8, & + 0.0023652880209066667_r8, 0.0023617670750719997_r8, & + 0.002319840022698666_r8, 0.0023888690923520002_r8, & + 0.0024318153658879995_r8, 0.0024811549358079985_r8, & + 0.0024920883991893321_r8, 0.002539852809130667_r8, & + 0.0026197226856960001_r8, 0.0027259996560213325_r8, & + 0.0028412179756373327_r8, 0.002959493958741333_r8, & + 0.0031048256308906668_r8, 0.0032625732699306663_r8, & + 0.0034337097687893317_r8, 0.0035883997443413324_r8, & + 0.0037827930170026653_r8, 0.0041171902148266675_r8, & + 0.0041491103685119997_r8, 0.0041690315094186654_r8, & + 0.0041941414126080009_r8, 0.0042360221367466668_r8, & + 0.0042654405657599993_r8, 0.0042722508162559986_r8, & + 0.0042865199125333327_r8, 0.004300835337045332_r8, & + 0.0043647219726506651_r8, 0.004370096047872001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,8) / & + 0.0038453641237777779_r8, 0.0038707081975555553_r8, & + 0.003834193927111111_r8, 0.0040311554880000005_r8, & + 0.0042746075322222217_r8, 0.0045597034008888889_r8, & + 0.0047379606026666668_r8, 0.0048409968264444443_r8, & + 0.0049685617204444435_r8, 0.0051420804291111106_r8, & + 0.0053270189477777775_r8, 0.0055296009688888884_r8, & + 0.0059579000068888891_r8, 0.0063435983693333345_r8, & + 0.0066023184291111106_r8, 0.006779975172148147_r8, 0.007185160015481481_r8, & + 0.0074467256672592578_r8, 0.0076580122599999995_r8, & + 0.0078096565202222211_r8, 0.0079498795837037034_r8, & + 0.0081602481540740731_r8, 0.00829707092925926_r8, 0.0084350793677777768_r8, & + 0.0085454500633333329_r8, 0.0086203895329629628_r8, 0.00867585222888889_r8, & + 0.0088791900237037043_r8, 0.0089479515633333322_r8, & + 0.0089574230025925919_r8, 0.0089411426662962951_r8, & + 0.0090047385966666657_r8, 0.0089122915251851845_r8, & + 0.0088365928149999988_r8, 0.0090430542433333327_r8, & + 0.0090910112049999992_r8, 0.0091182502600000003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,8) / & + 0.0036835901846913577_r8, 0.0037260614311111109_r8, & + 0.0037381260755555553_r8, 0.0039635731402469128_r8, & + 0.0042133343925925921_r8, 0.0044523900064197533_r8, & + 0.0047616609264197526_r8, 0.0049881804039506178_r8, & + 0.0052557104276543211_r8, 0.005546694859753086_r8, & + 0.0058115346064197531_r8, 0.0060513575501234583_r8, & + 0.0063252480913580248_r8, 0.0065593484182716044_r8, & + 0.006688906983209876_r8, 0.0068041728735802462_r8, & + 0.0071612863491358029_r8, 0.0074150876395061727_r8, & + 0.0076046458538271602_r8, 0.0078100961170370371_r8, & + 0.0079478549422222211_r8, 0.0081326705032098764_r8, & + 0.0082648546306172844_r8, 0.008407004801481481_r8, & + 0.0085404185056790136_r8, 0.0086359094730864196_r8, & + 0.0086994221990123449_r8, 0.0088829527135802482_r8, & + 0.0090151553308641958_r8, 0.0090256668256790129_r8, & + 0.0090189734903703689_r8, 0.0090339965150617266_r8, & + 0.0089612111160493821_r8, 0.0089014680137037023_r8, & + 0.0090387195229012333_r8, 0.0090572439028747797_r8, & + 0.0090835599498412696_r8, 0.0091311964753439164_r8, & + 0.0092077810157037039_r8, 0.0093406807013333322_r8, & + 0.009549803978518517_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,8) / & + 0.0033141162266666661_r8, 0.003369021915061728_r8, & + 0.0033950741511111103_r8, 0.0035069656390123451_r8, & + 0.0037018212029629629_r8, 0.0040016253061728397_r8, & + 0.004532247783209876_r8, 0.0048574107520987638_r8, & + 0.0050548456538271596_r8, 0.0053807389728395055_r8, & + 0.0057581820676543202_r8, 0.0061004296824691351_r8, & + 0.0063742647540740742_r8, 0.0066006178227160477_r8, & + 0.0067044199896296296_r8, 0.0068084717698765427_r8, & + 0.007114747329876543_r8, 0.0073523329985185184_r8, & + 0.0075883655175308642_r8, 0.0078473069935802459_r8, & + 0.0080201596044444431_r8, 0.008135823027160493_r8, & + 0.0083071779580246915_r8, 0.0084556331767901231_r8, & + 0.0086066215086419741_r8, 0.0087410706459259274_r8, & + 0.0088469436790123458_r8, 0.0090354017456790135_r8, & + 0.009154300896790122_r8, 0.0092067196967901242_r8, & + 0.0092073668424691359_r8, 0.0091976411674074068_r8, & + 0.0091604765155555556_r8, 0.0091341007066666653_r8, & + 0.0091465443935802478_r8, 0.0091488741180246903_r8, & + 0.0091684456523456782_r8, 0.0092157704913580236_r8, & + 0.0092688734167901236_r8, 0.0093429808419753079_r8, & + 0.0094716750051851845_r8, 0.0093677387866666646_r8, & + 0.0093567557999999981_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,8) / & + 0.0031193993367901237_r8, 0.0031197968691358026_r8, & + 0.0031477812972839502_r8, 0.0031813496681481479_r8, & + 0.0032541073323456788_r8, 0.0034769195896296292_r8, & + 0.0039831261846913577_r8, 0.0044745223886419752_r8, & + 0.004840409310617284_r8, 0.0050952922587654322_r8, & + 0.0054230623002469117_r8, 0.0057582005575308633_r8, 0.0061899761545679_r8, & + 0.0064615092365432102_r8, 0.006611619299259258_r8, & + 0.0067466601125925922_r8, 0.0069736973066666661_r8, & + 0.0071754958192592599_r8, 0.0073629831674074074_r8, & + 0.0075628957125925926_r8, 0.0077273076948148152_r8, & + 0.0077591380172839499_r8, 0.0079240862059259259_r8, & + 0.0080907262182716051_r8, 0.0082561181639506168_r8, & + 0.008431661051851851_r8, 0.008588991411358023_r8, 0.0089164378799999992_r8, & + 0.0091064860760493808_r8, 0.0092086703787654309_r8, & + 0.0092470276276543206_r8, 0.0092554405214814832_r8, & + 0.0092425345876543212_r8, 0.0092235639743209856_r8, & + 0.0092075517412345664_r8, 0.0092039277254320987_r8, & + 0.0092055640795061719_r8, 0.0092250431644444412_r8, & + 0.009240435986666665_r8, 0.0092418874419753078_r8, & + 0.0092590645372839508_r8, 0.0093087836502204584_r8, & + 0.0092725877440833337_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,8) / & + 0.0028594778972839503_r8, 0.0027809606365432091_r8, & + 0.0028091299634567897_r8, 0.002974253805925925_r8, & + 0.0029791536232098769_r8, 0.0030235847965432096_r8, & + 0.003280261262716049_r8, 0.0037141262158024691_r8, & + 0.0041548046883950621_r8, 0.0044834529990123448_r8, & + 0.0047797994953086417_r8, 0.0051170640883950614_r8, & + 0.0056490825511111105_r8, 0.0059941406271604939_r8, & + 0.0062160191456790128_r8, 0.0064009826256790133_r8, & + 0.006651326309135802_r8, 0.0067867738997530848_r8, & + 0.0069238578444444443_r8, 0.0070706027496296297_r8, & + 0.0072004756424691348_r8, 0.0072463582711111097_r8, & + 0.0073403423135802457_r8, 0.0074495250345679009_r8, & + 0.0075695243333333325_r8, 0.0077066822375308625_r8, & + 0.0078431560162962963_r8, 0.0082677667861728397_r8, & + 0.0085946308237037049_r8, 0.0088328636380246919_r8, & + 0.0090131214444444437_r8, 0.009139480105123457_r8, & + 0.0092063256312962961_r8, 0.0092378173579012353_r8, & + 0.009245142815864197_r8, 0.0092385846877777785_r8, & + 0.0092342390715255736_r8, 0.0092523004121622572_r8, & + 0.0092722937798095251_r8, 0.0092715134409841263_r8, & + 0.0092410445677460294_r8, 0.0092593622242962952_r8, & + 0.0092973790283333337_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,8) / & + 0.0019908882118518522_r8, 0.0018997053856790128_r8, & + 0.0016273125244444439_r8, 0.0014414153056790124_r8, & + 0.001471174761975309_r8, 0.0014726077274074074_r8, & + 0.0016077594799999997_r8, 0.0018898133017283953_r8, & + 0.0022373305313580249_r8, 0.0024907527792592593_r8, & + 0.0027113832311111111_r8, 0.0028925840212345672_r8, & + 0.0033380236370370367_r8, 0.0037021355308641964_r8, & + 0.0039470616804938279_r8, 0.0041727121338271606_r8, & + 0.0045422415614814809_r8, 0.0048304432671604936_r8, & + 0.0051469714637037041_r8, 0.0054200114706172836_r8, & + 0.005638044094814814_r8, 0.0058406469170370371_r8, & + 0.0058556791866666656_r8, 0.0059814011022222219_r8, & + 0.0060859613540740739_r8, 0.0061680101812345671_r8, & + 0.0062396676977777782_r8, 0.0064689144320987648_r8, & + 0.0067609250523456791_r8, 0.0070642607219753087_r8, & + 0.0074998082538271591_r8, 0.0079609087950617292_r8, & + 0.0083506753925925922_r8, 0.0086477337491358032_r8, & + 0.0088581208093827159_r8, 0.0090276787553703712_r8, & + 0.0091104034535537913_r8, 0.00916393296685185_r8, 0.0091985465110052903_r8, & + 0.0092190330300740732_r8, 0.0091544469668148141_r8, & + 0.0090852388966666652_r8, 0.0090192265705555559_r8, & + 0.0090220243200000005_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,8) / & + 0.00093774182370370384_r8, 0.00091039529629629635_r8, & + 0.00051638527209876546_r8, 0.0003470919624691358_r8, & + 0.00036655255753086416_r8, 0.00035864813530864193_r8, & + 0.00046795104049382718_r8, 0.00057873313580246899_r8, & + 0.00072810360345679009_r8, 0.00082823552987654312_r8, & + 0.00091551699209876545_r8, 0.00099285090074074087_r8, & + 0.0011985415323456788_r8, 0.0013819795975308642_r8, & + 0.0015691156380246913_r8, 0.0017507879199999995_r8, & + 0.002119540772839506_r8, 0.0024863152088888886_r8, & + 0.0029200692227160491_r8, 0.0033934100622222221_r8, & + 0.003882023539753086_r8, 0.0042741938212345681_r8, & + 0.0044325041441975301_r8, 0.0046892175901234569_r8, & + 0.0048903319772839494_r8, 0.0050210461595061725_r8, & + 0.0050882476158024686_r8, 0.0051449468222222218_r8, & + 0.005125107184691358_r8, 0.0052522898004938277_r8, & + 0.0054820080266666672_r8, 0.0058277594730864199_r8, & + 0.0064387389535802472_r8, 0.0070000638706172839_r8, & + 0.0074974230597530857_r8, 0.0079337194316049381_r8, & + 0.0082801734933333326_r8, 0.0086092378261728372_r8, & + 0.0088830174281481489_r8, 0.0090320826477513216_r8, & + 0.009052154234179894_r8, 0.0090192673143192244_r8, & + 0.0090095681194021157_r8, 0.009005175419999999_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,8) / & + 0.00040506697037037042_r8, 0.000402173304691358_r8, & + 0.00022326525925925927_r8, 0.00026067027950617283_r8, & + 0.00027269794419753089_r8, 0.00027558236493827162_r8, & + 0.00032597652345679013_r8, 0.00034223836987654321_r8, & + 0.00037197009135802467_r8, 0.00039077429580246925_r8, & + 0.00041564317975308643_r8, 0.00045153203012345677_r8, & + 0.00052851463111111107_r8, 0.00060978688345678989_r8, & + 0.00072042105975308644_r8, 0.00084868533333333333_r8, & + 0.0011214202572839506_r8, 0.0014187836967901233_r8, & + 0.0017905134197530863_r8, 0.0022709821066666668_r8, & + 0.0028189480879012348_r8, 0.0033159282345679012_r8, & + 0.0037835372123456792_r8, 0.0041529002311111113_r8, & + 0.0044064888879012344_r8, 0.0046056156133333333_r8, & + 0.0046966227856790124_r8, 0.0046811190241975303_r8, & + 0.0045460319861728386_r8, 0.0045294558118518513_r8, & + 0.0046130878346913587_r8, 0.0047575013645502649_r8, & + 0.0052638097860035274_r8, 0.0059099387859470904_r8, & + 0.0066632670714074057_r8, 0.0072457411714814809_r8, & + 0.0077208593503703708_r8, 0.0082042725501234575_r8, & + 0.0086331515098941811_r8, 0.0089182156816296296_r8, & + 0.0089967800915555559_r8, 0.0090104866370370375_r8, & + 0.0090235428011111105_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,8) / & + 0.00025283057185185185_r8, 0.00025266416296296299_r8, & + 0.00022491085827160492_r8, 0.00021903107753086417_r8, & + 0.00022379222074074076_r8, 0.00023090157827160491_r8, & + 0.00026599536395061725_r8, 0.00028189665777777779_r8, & + 0.00029154837333333336_r8, 0.00030036804444444451_r8, & + 0.00030906753135802475_r8, 0.00032794569530864194_r8, & + 0.0003121276059259259_r8, 0.00033514750222222219_r8, & + 0.00036795778814814812_r8, 0.00041338741481481485_r8, & + 0.00052000928790123452_r8, 0.00069704061086419745_r8, & + 0.00092869102913580254_r8, 0.0012161531397530865_r8, & + 0.0016203788207407406_r8, 0.0020521544177777777_r8, & + 0.0026504128632098768_r8, 0.0031987671318518514_r8, & + 0.0037274574167901237_r8, 0.0041891126543209863_r8, & + 0.0044537675022222221_r8, 0.0047450662622222214_r8, & + 0.0046753039580246913_r8, 0.0045619702597530856_r8, & + 0.0044964500615167552_r8, 0.0044531500724162261_r8, 0.00470481842345679_r8, & + 0.0051792899189135816_r8, 0.0058658578637037035_r8, & + 0.006508168439999999_r8, 0.0071708125976719574_r8, & + 0.0074226962237037026_r8, 0.0077432462985714285_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,8) / & + 0.00019741037066263307_r8, 0.00020691449634391531_r8, & + 0.00020002470609700176_r8, 0.00020565051517636686_r8, & + 0.00020238233044444446_r8, 0.00019903321948500885_r8, & + 0.00022568611238095237_r8, 0.00026545701138447976_r8, & + 0.00027898027596472656_r8, 0.00028339833291181652_r8, & + 0.00028966574070723105_r8, 0.00030949633140564379_r8, & + 0.00027572840194532624_r8, 0.00029530313897707227_r8, & + 0.00032735946716931213_r8, 0.0003714726476437389_r8, & + 0.00041670423452557317_r8, 0.00050457159471075839_r8, & + 0.00065162950709171078_r8, 0.00088294548972134041_r8, & + 0.0012539098968835979_r8, 0.0016494409445502645_r8, & + 0.0022013320624338626_r8, 0.0028221754628342146_r8, & + 0.0034859955436366843_r8, 0.0040704161654638443_r8, & + 0.004414133395287477_r8, 0.004978031277698412_r8, 0.0050269400717954122_r8, & + 0.0048746277987477939_r8, 0.0046751019561234565_r8, & + 0.004556781141936507_r8, 0.0047320526908994701_r8, & + 0.0051908832035767192_r8, 0.0058156398212592586_r8, & + 0.0065343223703703711_r8, 0.0071880111544444444_r8, & + 0.007349670456296295_r8, 0.0076796454155555541_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,8) / & + 0.00014022028999999999_r8, 0.00013890982_r8, 0.00012168649999999999_r8, & + 0.00018552510999999999_r8, 0.00018983094_r8, 0.00019806817999999999_r8, & + 0.00023869275_r8, 0.00023195318999999999_r8, 0.00023682065_r8, & + 0.00023382528999999996_r8, 0.00024168810999999999_r8, & + 0.00025029977000000001_r8, 0.00025479280999999996_r8, & + 0.00026714866999999996_r8, 0.00028156383999999998_r8, & + 0.00030627555999999999_r8, 0.00038658864999999994_r8, & + 0.00049573207999999993_r8, 0.00072918294999999998_r8, & + 0.0011431042600000001_r8, 0.0017032365799999998_r8, & + 0.0021802476599999997_r8, 0.0027725800999999998_r8, & + 0.0033548031999999996_r8, 0.00399356372_r8, 0.0044997795600000001_r8, & + 0.0049213764799999997_r8, 0.0054028805999999999_r8, & + 0.0053811642399999998_r8, 0.0051205679199999993_r8, & + 0.0048786925999999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,8) / & + 0.00035424526408026194_r8, 0.00036912743462592593_r8, & + 0.00030157476959614808_r8, 0.00039252026710962954_r8, & + 0.00035361209940622219_r8, 0.00037207628611496293_r8, & + 0.00053817060673422203_r8, 0.00038608072569540732_r8, & + 0.00038166265844681466_r8, 0.00041975806849599994_r8, & + 0.00045026774043911108_r8, 0.00047815157996088884_r8, & + 0.000584185193927111_r8, 0.00068271642954666656_r8, & + 0.00076386715532977779_r8, 0.00091854118891022214_r8, & + 0.0013029130395377775_r8, 0.0013545544104906666_r8, & + 0.0014350799380782222_r8, 0.0014597127469831109_r8, 0.001474358014714_r8, & + 0.0016056027459159996_r8, 0.0016427395187319999_r8, & + 0.0016541337558459994_r8, 0.0016397854572579999_r8, & + 0.0016421768403559998_r8, 0.001666372010524_r8, 0.0015886822033234283_r8, & + 0.0015423014286159997_r8, 0.0016470721422271999_r8, & + 0.0016295165768959998_r8, 0.0016587758524479999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,8) / & + 0.00023464849998143202_r8, 0.00026213299342390774_r8, & + 0.00021915038013108147_r8, 0.0002718846193971621_r8, & + 0.00025212016318351265_r8, 0.00027066566615050532_r8, & + 0.00037465398716886913_r8, 0.00033567650597220074_r8, & + 0.00034571835890894484_r8, 0.0003768887347877399_r8, & + 0.00041029385828540574_r8, 0.00044149688469759338_r8, & + 0.00053434049031795216_r8, 0.00063580383675395551_r8, & + 0.00074325311431193408_r8, 0.00087220095419041294_r8, & + 0.0011279416987434599_r8, 0.0011938377308037991_r8, & + 0.0012711324268551967_r8, 0.001306293423481975_r8, & + 0.0013216070419055357_r8, 0.0014614202537296607_r8, & + 0.0015202041703971977_r8, 0.0015429750669951397_r8, & + 0.0015559627236113043_r8, 0.001563845495244659_r8, & + 0.0015869460067511358_r8, 0.0015459022132269073_r8, & + 0.0015637010036778356_r8, 0.0016133238025903326_r8, & + 0.0016559305719654398_r8, 0.0016427136360481181_r8, & + 0.0016326572717631999_r8, 0.0015550796044223997_r8, & + 0.0016526393981994665_r8, 0.001612675145326933_r8, 0.001612675145326933_r8, & + 0.001612675145326933_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,8) / & + 0.00026840735972593911_r8, 0.00037660866702528387_r8, & + 0.00027577357274541825_r8, 0.00026929991728709532_r8, & + 0.00026330867365379157_r8, 0.00028727753860495009_r8, & + 0.00033084762596246909_r8, 0.00037919579495784692_r8, & + 0.0003954220797980444_r8, 0.00041686800871271109_r8, & + 0.00045233889431442952_r8, 0.00048429219369204926_r8, & + 0.00057978898615016297_r8, 0.00068368259733677034_r8, & + 0.00079383978141274068_r8, 0.00089827805111146659_r8, & + 0.0010386832346997335_r8, 0.0011127373402581332_r8, & + 0.0011724358036042666_r8, 0.0012092002531722665_r8, & + 0.0012019932539315552_r8, 0.0013450886615278932_r8, & + 0.0013847942670613331_r8, 0.0014034215881757867_r8, & + 0.001448764409309653_r8, 0.0014744995240072532_r8, & + 0.0015088130102707197_r8, 0.0014994993497134932_r8, & + 0.001557178686146844_r8, 0.0015457408573923551_r8, & + 0.0016740079369962665_r8, 0.0016274396342101333_r8, & + 0.0015588126616831997_r8, 0.0016347925241237331_r8, & + 0.0017230272030869331_r8, 0.0016813608269098666_r8, & + 0.0016813608269098666_r8, 0.0016813608269098666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,8) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,38,8) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,39,8) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,8) / & + 0.0016203340335423921_r8, 0.0016480524433091354_r8, & + 0.0016726529374567899_r8, 0.001861387205899259_r8, & + 0.0019255833546419751_r8, 0.0019910742662345676_r8, & + 0.0020645746410380239_r8, 0.0021206107727501232_r8, & + 0.0021569544648385184_r8, 0.0021910398496306168_r8, & + 0.0022203677337185182_r8, 0.0022317496024918514_r8, & + 0.0022506290514888883_r8, 0.0022397891764666662_r8, & + 0.0022812516984266665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,8) / & + 0.0017345603898049841_r8, 0.0017826069759710286_r8, & + 0.0017531830976212804_r8, 0.0020136940880736923_r8, & + 0.0020662928917059421_r8, 0.0021054005781201645_r8, & + 0.0021861403624525953_r8, 0.0022441604432491455_r8, & + 0.0022788452365569973_r8, 0.0023065975051813304_r8, & + 0.0023443676082166836_r8, 0.0023803219972399481_r8, & + 0.002467916563840729_r8, 0.0025399449114953798_r8, & + 0.0025527573344729911_r8, 0.0024840563917474536_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,8) / & + 0.0016118155835492583_r8, 0.0017272941834526319_r8, & + 0.0014801999565695408_r8, 0.0016604395349294019_r8, & + 0.0018070375478979144_r8, 0.0019643620776780835_r8, & + 0.0023585916327609224_r8, 0.0022101702489269802_r8, & + 0.0022102437682631521_r8, 0.0022101793817637721_r8, & + 0.0022473947784055954_r8, 0.0021981242655198666_r8, & + 0.0023613132181247998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,8) / & + 0.0015544381080835089_r8, 0.0015390391311312062_r8, & + 0.0011391396254880114_r8, 0.0012589299807771006_r8, & + 0.0013784728628392147_r8, 0.0015382927957346645_r8, & + 0.0018499101433700771_r8, 0.001751705561989586_r8, & + 0.0017560324277460352_r8, 0.0017880520174868826_r8, & + 0.0018626581471317928_r8, 0.0018827810096859938_r8, & + 0.0020189492371134755_r8, 0.0020715764550018707_r8, & + 0.0021337517538500173_r8, 0.0021852700410757643_r8, & + 0.0022428216629237167_r8, 0.0024070749690403891_r8, & + 0.0025528147717213232_r8, 0.0027570478475417125_r8, & + 0.002889905259100965_r8, 0.0030137634164013032_r8, & + 0.0031141761481323616_r8, 0.0033064760022965571_r8, & + 0.0034392807866379213_r8, 0.0035609680712003636_r8, & + 0.0036569469598243241_r8, 0.0038308404445320529_r8, & + 0.003937568442409718_r8, 0.0039810648379944762_r8, & + 0.0040528220495853039_r8, 0.0040937923387114198_r8, & + 0.0041450052001190639_r8, 0.0041710359377671114_r8, & + 0.0041794234006180733_r8, 0.0041624182308378872_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,8) / & + 0.0021417857431249116_r8, 0.0023872221783396348_r8, & + 0.0021738011517235625_r8, 0.0023905139034490733_r8, & + 0.0023151198708054915_r8, 0.0024208609034306106_r8, & + 0.0023053799718515361_r8, 0.0019318819022422127_r8, & + 0.0018911637135597043_r8, 0.0019823850820034636_r8, & + 0.0020287397862843262_r8, 0.0020561107060299323_r8, & + 0.0021232077877127377_r8, 0.0021937769630041288_r8, & + 0.0022585743463228052_r8, 0.0023038017474839969_r8, & + 0.0023569653626076712_r8, 0.0024466986909334651_r8, & + 0.002533906860271197_r8, 0.0026345524827954044_r8, & + 0.0027644628943062654_r8, 0.0028711959536766953_r8, & + 0.0030052548406679443_r8, 0.0031771460203553455_r8, & + 0.0033255892951535933_r8, 0.003457709220779009_r8, & + 0.0035882058299120984_r8, 0.0038482972056825414_r8, & + 0.0039708125087283622_r8, 0.0040441323036317497_r8, & + 0.004101624762734961_r8, 0.0041711568191562538_r8, & + 0.0042206647513061387_r8, 0.0042534974546665502_r8, & + 0.0042610434607063237_r8, 0.0042549966067724088_r8, & + 0.0042514658934016004_r8, 0.0042541037827016305_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,8) / & + 0.0025124264942079995_r8, 0.0031956752990719996_r8, & + 0.0031392475092479992_r8, 0.0039175155234133334_r8, & + 0.0038981966495573329_r8, 0.0039429497242453333_r8, & + 0.0033896052893866669_r8, 0.002495979970901333_r8, & + 0.0022187054864213325_r8, 0.0022888464337066663_r8, & + 0.0022860667396266657_r8, 0.0023209982285653328_r8, & + 0.0023118252381013325_r8, 0.0023815955595093332_r8, & + 0.0024258390236160002_r8, 0.0024760125017599991_r8, & + 0.0024906058956799988_r8, 0.0025373974126933342_r8, 0.002616942991616_r8, & + 0.0027244244960426657_r8, 0.0028376970298026661_r8, & + 0.0029575481728853332_r8, 0.0031027408603306666_r8, & + 0.0032596545911466666_r8, 0.0034306984335359999_r8, & + 0.0035883534161066655_r8, 0.0037844608334506665_r8, & + 0.0041165879477759997_r8, 0.0041486934143999997_r8, & + 0.0041650472812373327_r8, 0.0041931221914453332_r8, & + 0.0042363464343893337_r8, 0.0042654405657599993_r8, & + 0.0042719728468479986_r8, 0.0042857786607786667_r8, & + 0.0043004647111679981_r8, 0.0043659265067519989_r8, & + 0.0043703740172800001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,9) / & + 0.0038903813046164901_r8, 0.0039151019288888884_r8, & + 0.003901858554814815_r8, 0.0040027994133333333_r8, & + 0.0042556577200000001_r8, 0.0044946416855555548_r8, & + 0.004685554283333334_r8, 0.0048024426603703709_r8, & + 0.0049068018348148133_r8, 0.0050646753344444437_r8, & + 0.0052248161551851852_r8, 0.0053368093374074064_r8, & + 0.0057616720318518517_r8, 0.0063217280811111113_r8, & + 0.0066069737177777785_r8, 0.0067744642644444438_r8, & + 0.0072436818614814826_r8, 0.0074959993392592584_r8, & + 0.0076799247447619044_r8, 0.0078120652888888894_r8, & + 0.0079463406213333334_r8, 0.0081872674106666671_r8, & + 0.0083129040416666661_r8, 0.0084600823033333331_r8, & + 0.0085805519383333317_r8, 0.0086618634816666672_r8, & + 0.0087163103899999973_r8, 0.0089045500449999992_r8, & + 0.0089865480249999991_r8, 0.0089936932066666669_r8, & + 0.0089643636399999987_r8, 0.009006173873333332_r8, & + 0.0089344100400000001_r8, 0.0088677632799999996_r8, & + 0.0089935683999999988_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,9) / & + 0.00373095200345679_r8, 0.0037506714567901228_r8, 0.0037656482567901234_r8, & + 0.0039122175081481476_r8, 0.004142333266666666_r8, & + 0.0043567880997530863_r8, 0.0046944594701234564_r8, & + 0.0049193795733333328_r8, 0.0051881391738271597_r8, & + 0.0054777183753086421_r8, 0.0057069188849382703_r8, & + 0.0058385668059259257_r8, 0.0061235974977777771_r8, & + 0.0064636725520987653_r8, 0.0066413232859259264_r8, & + 0.0067722038770370377_r8, 0.0071381832483950617_r8, & + 0.0073948042449382724_r8, 0.0075922691927160502_r8, & + 0.0077525879785185171_r8, 0.0079163759274074059_r8, & + 0.0081349234616490303_r8, 0.008288404129805995_r8, & + 0.0084399494691887126_r8, 0.0085720435905185174_r8, & + 0.0086767623600440911_r8, 0.0087449409402804209_r8, & + 0.0089075642910881811_r8, 0.0090206277400035288_r8, & + 0.0090448880428747793_r8, 0.0090327056905555574_r8, & + 0.0090338576758994694_r8, 0.0090020493101587301_r8, & + 0.0089536825996208106_r8, 0.0090028885524479716_r8, & + 0.0090047524640740756_r8, 0.0090419121632804231_r8, & + 0.0090991063040740741_r8, 0.009189211170444446_r8, & + 0.0093137807044444444_r8, 0.0095393791549999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,9) / & + 0.0032119596587654323_r8, 0.0032368470325925924_r8, & + 0.0032663291407407408_r8, 0.0034520322158024691_r8, & + 0.0035970760523456784_r8, 0.003804976224197531_r8, & + 0.0044363500385185186_r8, 0.0047870290370370383_r8, & + 0.0050589966311111118_r8, 0.0054407940918518513_r8, & + 0.0057726873758024684_r8, 0.006065428346172839_r8, & + 0.0063038830390123469_r8, 0.0064849728898765434_r8, & + 0.0065711542044444458_r8, 0.0066581490735802447_r8, & + 0.0068629429461728392_r8, 0.007076038773333332_r8, & + 0.0073103609787654308_r8, 0.007552559871604937_r8, & + 0.0077621518671604937_r8, 0.0079011402691358014_r8, & + 0.0080892932528395054_r8, 0.0082621273738271595_r8, & + 0.0084224530933333323_r8, 0.0085664430069135791_r8, & + 0.0086874869837037048_r8, 0.008937479359506173_r8, & + 0.0090990623906172831_r8, 0.0091903469111111104_r8, & + 0.0092128121111111107_r8, 0.0091860295249382717_r8, & + 0.0091776351209876556_r8, 0.0091215830602469142_r8, & + 0.0091239312745679015_r8, 0.009114926704691358_r8, & + 0.0091352193441975316_r8, 0.0091822945698765441_r8, & + 0.0092414205725925933_r8, 0.0092944506941358019_r8, & + 0.0094391080592416219_r8, 0.0093781116074074054_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,9) / & + 0.0028402669155555556_r8, 0.0028446305264197532_r8, & + 0.0027740824024691359_r8, 0.0029236655037037035_r8, & + 0.0029928361318518515_r8, 0.0031116428335802465_r8, & + 0.0035415879328395058_r8, 0.0040276682972839499_r8, & + 0.004392529031111112_r8, 0.0047570661920987656_r8, & + 0.0050567778459259258_r8, 0.0053650503125925921_r8, & + 0.0058257718113580246_r8, 0.0061184388222222221_r8, & + 0.0062980957076543206_r8, 0.0064333029298765422_r8, & + 0.0066033080997530856_r8, 0.0067522995249382715_r8, & + 0.0068832448306172826_r8, 0.0070578077550617268_r8, & + 0.0072324261491358011_r8, 0.0073082993575308642_r8, & + 0.007472988687901235_r8, 0.0076306888449382713_r8, & + 0.0077980961871604929_r8, 0.0079738054839506162_r8, & + 0.0081223531520987647_r8, 0.0085894351683950612_r8, & + 0.0089105765891358026_r8, 0.0090920362375308643_r8, & + 0.0092290647125925929_r8, 0.0092793479318518512_r8, & + 0.0092787100311111093_r8, 0.0092674219614814809_r8, & + 0.0092578072256790118_r8, 0.0092534436148148155_r8, & + 0.0092604050533333336_r8, 0.0092843956681481488_r8, & + 0.0093019055812345684_r8, 0.0092818348202469113_r8, & + 0.0092721183901234554_r8, 0.0093257760118518503_r8, & + 0.0092870840384166667_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,9) / & + 0.002568613649382716_r8, 0.0025098343318518518_r8, & + 0.0023683035718518519_r8, 0.0023375364172839508_r8, & + 0.002344072588641975_r8, 0.0023698012518518518_r8, & + 0.0024945339590123458_r8, 0.0028878598577777772_r8, & + 0.003331570670123457_r8, 0.0036841356360493827_r8, & + 0.0040178871525925926_r8, 0.0043412566034567905_r8, & + 0.0049235952651851848_r8, 0.005301140054320988_r8, & + 0.0055779057713580245_r8, 0.0058218242227160485_r8, & + 0.006128432600493827_r8, 0.0062674394923456795_r8, & + 0.0063913771348148157_r8, 0.0065047108330864196_r8, & + 0.006612654732345678_r8, 0.0066645558158024681_r8, & + 0.0067702809298765421_r8, 0.0068596702380246902_r8, & + 0.0069545233046913579_r8, 0.0070446059832098762_r8, & + 0.0071657146745679008_r8, 0.0076320570958024695_r8, & + 0.0080361810824691356_r8, 0.0083835226582716048_r8, & + 0.0086804608306172825_r8, 0.0089164286350617294_r8, & + 0.0090884861812345653_r8, 0.0092040294197530854_r8, & + 0.0092645560306172832_r8, 0.0092823155570370356_r8, & + 0.0093068331333333327_r8, 0.0093418934061111104_r8, & + 0.0093750029969135798_r8, 0.0093834390030864186_r8, & + 0.0093492426367724878_r8, 0.0093129182837742505_r8, & + 0.0093218029996296296_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,9) / & + 0.0017304398108641977_r8, 0.0016556390153086419_r8, & + 0.0013614928143209878_r8, 0.0011230196316049381_r8, & + 0.0011576696602469134_r8, 0.0011581966217283949_r8, & + 0.0012463840879012346_r8, 0.0014736154256790124_r8, & + 0.0017696383491358023_r8, 0.0020540958548148146_r8, & + 0.0023273854750617282_r8, 0.002511618604938272_r8, & + 0.0029247379165432096_r8, 0.0032533215125925916_r8, & + 0.0034977114558024693_r8, 0.0037338271792592592_r8, & + 0.0041650573249382714_r8, 0.0045019521204938268_r8, & + 0.0048396327358024693_r8, 0.0051383459362962956_r8, & + 0.0053494263669135794_r8, 0.0055331140454320986_r8, & + 0.0056080165353086416_r8, 0.0057160991086419744_r8, & + 0.0058087241451851854_r8, 0.0058573432755555559_r8, & + 0.0059096788711111101_r8, 0.0061184110874074058_r8, & + 0.0064333583995061713_r8, 0.0068368629753086411_r8, & + 0.0072798422819135801_r8, 0.0077097735137654317_r8, & + 0.0080990334556613752_r8, 0.0084443678893298055_r8, & + 0.0087284565880070553_r8, 0.0089302840240493824_r8, & + 0.0090739547561358019_r8, 0.0091820180471693137_r8, & + 0.009298887108888888_r8, 0.0093535357879999999_r8, 0.009375052457333331_r8, & + 0.009396444319999999_r8, 0.00947207716_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,9) / & + 0.00076977054024691353_r8, 0.00075133613333333343_r8, & + 0.00041585581333333332_r8, 0.00029267625580246912_r8, & + 0.00031655593135802477_r8, 0.00031653744148148145_r8, & + 0.00042581261185185192_r8, 0.00050190769876543213_r8, & + 0.00060689321777777775_r8, 0.00071751814913580245_r8, & + 0.00080964395901234564_r8, 0.00087160353530864191_r8, & + 0.0010226103570370371_r8, 0.001183120975308642_r8, & + 0.0013270554192592594_r8, 0.001480780252839506_r8, & + 0.0018491725530864196_r8, 0.0022350192967901228_r8, & + 0.0026702247659259261_r8, 0.0031746285980246911_r8, & + 0.0036579447259259264_r8, 0.0040784507432098764_r8, & + 0.0043587018019753078_r8, 0.0046308635397530858_r8, & + 0.004849846081358025_r8, 0.0049654794580246912_r8, & + 0.0050145550572222222_r8, 0.0050348280512345685_r8, & + 0.0050067419287654321_r8, 0.0051259544172486769_r8, & + 0.0053848958932980586_r8, 0.0057564765416313933_r8, & + 0.0062663234962257496_r8, 0.0067895678521693115_r8, & + 0.0072863329219506161_r8, 0.0076801507835026457_r8, & + 0.0079779376411816573_r8, 0.0082655872919753081_r8, & + 0.0085419989361309526_r8, 0.0087787070372619038_r8, & + 0.0089516583213333327_r8, 0.0089869952488888898_r8, & + 0.0090261429399999989_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,9) / & + 0.00035564353037037039_r8, 0.00035538467209876535_r8, & + 0.00014987893925925928_r8, 0.00023213115506172841_r8, & + 0.00024143156296296294_r8, 0.00024350242913580243_r8, & + 0.00030700591012345675_r8, 0.00032872227012345685_r8, & + 0.00035376680790123467_r8, 0.00037758176888888896_r8, & + 0.00040602844395061727_r8, 0.00043784952148148145_r8, & + 0.00049063811901234561_r8, 0.00055966082814814817_r8, & + 0.00065757396938271608_r8, 0.00079492601728395058_r8, & + 0.0011403169111111112_r8, 0.0015006291353086417_r8, & + 0.0019009349624691358_r8, 0.0024056438775308638_r8, & + 0.0028836534108641976_r8, 0.0033749109407407406_r8, & + 0.0038187419372839502_r8, 0.0042421970898765433_r8, & + 0.0045204142622222217_r8, 0.0047013931738271609_r8, & + 0.004801247752098765_r8, 0.0047214084651851854_r8, & + 0.0045494341234567897_r8, 0.0045361121674074066_r8, & + 0.0046272487688888888_r8, 0.0048189425639506176_r8, & + 0.0052490170923456788_r8, 0.0058745203708641973_r8, & + 0.0065029542948148149_r8, 0.0069927511244444454_r8, & + 0.0074126616686507928_r8, 0.0078718808649470909_r8, & + 0.0082800283808201047_r8, 0.008590951602412699_r8, 0.008828443633037036_r8, & + 0.0089549199355555553_r8, 0.0089895745866666651_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,9) / & + 0.0002504361328395062_r8, 0.00024806942864197533_r8, & + 0.00018484329580246915_r8, 0.00019595571160493827_r8, & + 0.00019857202913580246_r8, 0.00020603269432098765_r8, & + 0.00024547160098765432_r8, 0.00025268265283950615_r8, & + 0.00026059631999999995_r8, 0.0002712464888888889_r8, & + 0.00028272870222222215_r8, 0.00029770550222222225_r8, & + 0.00028925562864197521_r8, 0.00030875320345679003_r8, & + 0.00034028768790123455_r8, 0.00038534751703703707_r8, & + 0.00052941139012345679_r8, 0.00072343490962962966_r8, & + 0.00096943347209876526_r8, 0.0013213697822222223_r8, & + 0.0016924153797530862_r8, 0.0021051464039506173_r8, & + 0.0025819448503703701_r8, 0.0032029828237037034_r8, & + 0.0037610535224691355_r8, 0.0041924870567901238_r8, & + 0.004539264691358025_r8, 0.0048474169738271598_r8, & + 0.0047435963170370365_r8, 0.0045995786686419751_r8, & + 0.0045377762562962961_r8, 0.0045805525856790121_r8, & + 0.0048861625101234568_r8, 0.0053977750828395048_r8, & + 0.0060505590185802463_r8, 0.0066618747837037025_r8, 0.00717067425377425_r8, & + 0.0075972866848571423_r8, 0.0081556320408333327_r8, & + 0.0082821703999999986_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,9) / & + 0.00016490196395061728_r8, 0.00016577098814814814_r8, & + 0.00014633812790123456_r8, 0.00017424859654320985_r8, & + 0.00017487725234567898_r8, 0.00017960141580246916_r8, & + 0.00021918824148148145_r8, 0.00022003877580246912_r8, & + 0.0002181805432098765_r8, 0.00022161966024691356_r8, & + 0.00023132684543209875_r8, 0.00024538839654320992_r8, & + 0.00024579517382716044_r8, 0.00026201079555555559_r8, & + 0.00027958542320987649_r8, 0.00030618311061728391_r8, & + 0.0003891749214814815_r8, 0.00045163372444444443_r8, & + 0.00057213224987654311_r8, 0.00083722160987654301_r8, & + 0.0012412716370370368_r8, 0.0016858144938271603_r8, & + 0.0022415554681481484_r8, 0.0028561404745679011_r8, & + 0.003512198274074074_r8, 0.0040871594750617286_r8, & + 0.0045834739861728398_r8, 0.0052015720691358019_r8, & + 0.0052553984109876542_r8, 0.005021237496710758_r8, & + 0.0047973094083950613_r8, 0.0047511487382345665_r8, & + 0.0049900328914744257_r8, 0.0055139169311111107_r8, & + 0.0062047569618765425_r8, 0.006726781357416666_r8, & + 0.0072197474096666664_r8, 0.0074434071966666656_r8, & + 0.0077407590800000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,9) / & + 0.00013517103489241625_r8, 0.0001317826329453263_r8, & + 0.00011982552694356261_r8, 0.00018881115727336858_r8, & + 0.00019237960439329806_r8, 0.0001990322289559083_r8, & + 0.00023132291633333333_r8, 0.0002216298296790123_r8, & + 0.00021819787746913582_r8, 0.00023080543091358023_r8, & + 0.00024314811687654322_r8, 0.00025581622466666664_r8, & + 0.00026232604795061728_r8, 0.00027988046881128741_r8, & + 0.00029074743150264546_r8, 0.00030922951588359783_r8, & + 0.00038296014379894178_r8, 0.00046864216566490298_r8, & + 0.00066720831766137569_r8, 0.00099407849647266313_r8, & + 0.0015342723241375659_r8, 0.002106920045358025_r8, & + 0.0027272950245467377_r8, 0.0034528974099541439_r8, & + 0.0040904160045679011_r8, 0.0045789451220370377_r8, & + 0.0049427621023333335_r8, 0.0055308525024074084_r8, & + 0.0054833317697566136_r8, 0.0052115727811111109_r8, & + 0.0049818938459259259_r8, 0.0049260801312499998_r8, & + 0.0051545153333333324_r8, 0.005698485189999998_r8, & + 0.0064808357800000011_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,9) / & + 0.00023593125335702185_r8, 0.0002232907611441333_r8, & + 0.00022776576258698664_r8, 0.00028518401179411561_r8, & + 0.0002901970632638222_r8, 0.00031430870349159117_r8, & + 0.00034324092200872883_r8, 0.00036055475945820446_r8, & + 0.00037689748222506669_r8, 0.00043019943000724442_r8, & + 0.00044192279644599995_r8, 0.00043385204604320005_r8, & + 0.00042812159453768889_r8, 0.00044973108342106658_r8, & + 0.00046893465755022223_r8, 0.00051508447692666653_r8, & + 0.00056697349658954663_r8, 0.00066974105171853327_r8, & + 0.0010154710019002666_r8, 0.0013636287387885331_r8, & + 0.0020146692712810668_r8, 0.0026559549130428443_r8, & + 0.0035495991405702222_r8, 0.0043736905597482664_r8, & + 0.0049937604077682661_r8, 0.0052326021270055999_r8, & + 0.0054455911986111992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,9) / & + 0.0033407418982048355_r8, 0.0033634870812948416_r8, & + 0.0032888080212089632_r8, 0.0034352582101568_r8, 0.0034210842265440002_r8, & + 0.0033656768360576001_r8, 0.003282780507655467_r8, & + 0.0034209950331728252_r8, 0.0034733308580163257_r8, & + 0.0034735832130852818_r8, 0.0034735832130852818_r8, & + 0.0034735832130852818_r8, 0.0034735832130852818_r8, & + 0.0034735832130852818_r8, 0.0034735832130852818_r8, & + 0.0034735832130852818_r8, 0.0034735832130852818_r8, & + 0.0034735832130852818_r8, 0.0034735504244019231_r8, & + 0.0034733764066774463_r8, 0.0034733764066774463_r8, & + 0.0034733764066774463_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,9) / & + 0.00031259909777777768_r8, 0.00032397770493688895_r8, & + 0.00025945725115555549_r8, 0.00028909164562488889_r8, & + 0.00028684093212088884_r8, 0.000306097036544_r8, 0.00035386217868444439_r8, & + 0.00030459656087466661_r8, 0.00030063101803428564_r8, & + 0.00035400508112914291_r8, 0.0004077006747245714_r8, & + 0.00047715126284799997_r8, 0.00058878665264639992_r8, & + 0.00073013146069759983_r8, 0.0008314135683775999_r8, & + 0.00097095780562559992_r8, 0.0012260761813039998_r8, & + 0.0012986616918079998_r8, 0.0013444261997226665_r8, 0.00137293523744_r8, & + 0.0014359552155519999_r8, 0.0015394880367359998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,9) / & + 0.00025560651458243284_r8, 0.00027716312229563117_r8, & + 0.00024549936057890369_r8, 0.00028090705012464852_r8, & + 0.0002782405898975868_r8, 0.00029526240130625837_r8, & + 0.0003303254463328592_r8, 0.00031339795868732173_r8, & + 0.00033106552508975799_r8, 0.00036914330269960816_r8, & + 0.00041030111395949284_r8, 0.00047442676154254481_r8, & + 0.00059899942994641638_r8, 0.00075339654668589949_r8, & + 0.00089768132679750518_r8, 0.0010515073183338353_r8, & + 0.0012504573835435983_r8, 0.0013306828536638073_r8, & + 0.001365073712312468_r8, 0.0013987525820281972_r8, & + 0.0014106532350136058_r8, 0.0015209968009649855_r8, & + 0.0015398078616035713_r8, 0.0015464663937134338_r8, & + 0.0015535820332907928_r8, 0.0015552179804924923_r8, & + 0.0015749202452139653_r8, 0.0015294675931568677_r8, & + 0.0015241017112118905_r8, 0.001428917943393422_r8, & + 0.0016267801757525327_r8, 0.0015362728971882664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,9) / & + 0.00024809195226998512_r8, 0.00025040675094648886_r8, & + 0.00024958976317831111_r8, 0.00027328240845546662_r8, & + 0.00027273774994334815_r8, 0.00028295009704557038_r8, & + 0.00030677890695075545_r8, 0.00029084764547128883_r8, & + 0.00032339099157037036_r8, 0.00036968696510044437_r8, & + 0.0004353183158107259_r8, 0.00049659239842405917_r8, & + 0.00062826359372871105_r8, 0.00079629074471727402_r8, & + 0.00099740590031703689_r8, 0.001163935240397274_r8, & + 0.0012879812165322666_r8, 0.0013310481431690665_r8, & + 0.0013464541982261332_r8, 0.0013578336707114665_r8, & + 0.0013338142303270398_r8, 0.0014188626569943466_r8, & + 0.0014414115193960532_r8, 0.0014396958450828799_r8, & + 0.001453176143257813_r8, 0.0014509702762837331_r8, & + 0.0014977836754003198_r8, 0.0014901856891562665_r8, & + 0.0015269501387242665_r8, 0.0014798916432772265_r8, & + 0.001711997868216533_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,33,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,9) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,38,9) / & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, 0._r8, & + 0._r8, 0._r8, 0._r8, 0._r8, 0._r8 & + / +data delta_sa_ref(:,39,9) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,9) / & + 0.0015789482400424687_r8, 0.001605686598430617_r8, 0.001647390006502222_r8, & + 0.0019047707945993083_r8, 0.0019595784071422219_r8, & + 0.0020133682758636047_r8, 0.0020957332595741228_r8, & + 0.0021321191067320494_r8, 0.0021555814140023699_r8, & + 0.0021760687777943699_r8, 0.0021942135241510116_r8, & + 0.0022452211582833573_r8, 0.0023144036495362963_r8, & + 0.0022659403749577776_r8, 0.0022080825420266663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,9) / & + 0.0017029017865172805_r8, 0.0017586871423758749_r8, & + 0.0017163101361450136_r8, 0.0019669717833523622_r8, & + 0.0020245780261974387_r8, 0.0020805703010317693_r8, & + 0.0022092325201448033_r8, 0.0022647695732325133_r8, & + 0.0023136852190966516_r8, 0.0023556483873760393_r8, & + 0.0023936800951164308_r8, 0.0024571628368724283_r8, & + 0.0025357277549705988_r8, 0.0025956973081171244_r8, & + 0.0025702688873895821_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,9) / & + 0.001574549771323417_r8, 0.0016681430827630618_r8, & + 0.0014387627539068839_r8, 0.0014987289602800984_r8, & + 0.0016330242810206814_r8, 0.0018629480136659556_r8, & + 0.0021880313392606213_r8, 0.0021257476755515555_r8, & + 0.0021564058475910036_r8, 0.0021915002951019397_r8, & + 0.0022252156842573539_r8, 0.0022792208880567347_r8, & + 0.0025044521691585182_r8, 0.0027427826780703998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,9) / & + 0.0015061032639360529_r8, 0.0014763250298142024_r8, & + 0.0011339849774501926_r8, 0.0011913047889336361_r8, & + 0.0012987081694408691_r8, 0.001502934666859022_r8, & + 0.0017997631397532968_r8, 0.0017328795844476347_r8, & + 0.001752343823635108_r8, 0.0017906473537976288_r8, & + 0.0018460171389039575_r8, 0.0018643050971201753_r8, & + 0.0020137147084770763_r8, 0.0020635789974263307_r8, & + 0.0021308760523011164_r8, 0.0021773195720876247_r8, 0.00223928812115121_r8, & + 0.0023985512392859652_r8, 0.0025407105116069923_r8, & + 0.0027304842593125454_r8, 0.002876419534517065_r8, & + 0.0029806477395450314_r8, 0.0030796395363931026_r8, & + 0.0032705973965011436_r8, 0.0034069282044410314_r8, & + 0.0035373384503684744_r8, 0.0036399615252508443_r8, & + 0.0038195519062949926_r8, 0.0039273850757483141_r8, & + 0.003973170755311217_r8, 0.0040454016118630391_r8, & + 0.0040862732249556145_r8, 0.0041390254324864938_r8, & + 0.0041676809526267275_r8, 0.0041755750353099849_r8, & + 0.0041596553018987464_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,9) / & + 0.002076807991307088_r8, 0.0023098440922054322_r8, & + 0.0021036828976800396_r8, 0.0022490599079927841_r8, & + 0.002181917734185192_r8, 0.0022840063047025782_r8, & + 0.0021607695276601685_r8, 0.0018422838502907789_r8, & + 0.0018595090419593484_r8, 0.0019447782499312464_r8, & + 0.0019983927863027884_r8, 0.0020338802885100254_r8, & + 0.0021044945559262028_r8, 0.0021715465454842211_r8, & + 0.0022411687861550881_r8, 0.002285359068446183_r8, & + 0.0023478116612759442_r8, 0.0024373646211025908_r8, & + 0.0025260608305582885_r8, 0.0026262555318346276_r8, & + 0.002757518707089093_r8, 0.0028665965569484382_r8, & + 0.0029973186267054624_r8, 0.0031672708450270295_r8, & + 0.0033141809875825256_r8, 0.0034514414154336402_r8, & + 0.0035853650260505277_r8, 0.003842299953085894_r8, 0.003967746244242858_r8, & + 0.0040402543809000824_r8, 0.0041009032887383721_r8, & + 0.0041700746081613704_r8, 0.0042197661296764577_r8, & + 0.0042583086233380016_r8, 0.0042658694453616332_r8, & + 0.0042572963051365374_r8, 0.0042512629788400598_r8, & + 0.0042551183555093342_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,9) / & + 0.0024825911110826658_r8, 0.0032355639091199997_r8, & + 0.0031760321275733326_r8, 0.0038670640758613328_r8, 0.003776075422976_r8, & + 0.0038751251886933323_r8, 0.0031777926004906668_r8, & + 0.0024255610542079998_r8, 0.0021366118545919992_r8, & + 0.0022047143595519997_r8, 0.0022189834558293329_r8, & + 0.0022862983807999996_r8, 0.0023054782699519993_r8, & + 0.0023750169501866665_r8, 0.0024196310401706665_r8, & + 0.0024698508465493324_r8, 0.0024900499568639993_r8, & + 0.0025348493597866666_r8, 0.0026148582210560002_r8, & + 0.0027235442595839993_r8, 0.002834639366314666_r8, & + 0.0029561583258453333_r8, 0.0031010267156479998_r8, & + 0.003257338179413333_r8, 0.0034299108535466669_r8, & + 0.0035886777137493324_r8, 0.0037858043522559998_r8, & + 0.0041164026348373337_r8, 0.0041486934143999997_r8, & + 0.0041619432895146661_r8, 0.0041928905502719993_r8, & + 0.0042370413579093354_r8, 0.0042654405657599993_r8, & + 0.0042716485492053334_r8, 0.0042852227219626659_r8, & + 0.0043004647111679981_r8, 0.0043659265067519989_r8, & + 0.0043714858949120009_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,10) / & + 0.0040159022492768882_r8, 0.0040436666629629628_r8, & + 0.0040100243325925915_r8, 0.0039972801851851847_r8, & + 0.0041555905081481475_r8, 0.004325216635555555_r8, & + 0.0045753846651851848_r8, 0.0047459537762962961_r8, & + 0.0048017978259259258_r8, 0.0048921717199999996_r8, & + 0.0050162156792592583_r8, 0.0050867453133333334_r8, & + 0.0055088969296296295_r8, 0.0062471699651851856_r8, & + 0.0065309525903703702_r8, 0.0066321014599999995_r8, & + 0.0071265022688888884_r8, 0.0073529015622222213_r8, & + 0.0074496683311111112_r8, 0.0076950798399999989_r8, & + 0.0078250035800000017_r8, 0.0081180496333333324_r8, 0.0083361336825_r8, & + 0.008469848424999999_r8, 0.0086096006900000001_r8, & + 0.0087354994150000004_r8, 0.0088108514399999997_r8, & + 0.0089316018899999981_r8, 0.0090207762533333329_r8, & + 0.0090629109839999999_r8, 0.0090747426559999993_r8, & + 0.0091097883679999991_r8, 0.0090920408600000009_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,10) / & + 0.0037771489599999998_r8, 0.0037841658681481483_r8, & + 0.0037763261604938266_r8, 0.0038549266256790128_r8, & + 0.0040187099520987658_r8, 0.004231269572839506_r8, & + 0.0046016033101234565_r8, 0.0048350380014814806_r8, & + 0.0050824880192592578_r8, 0.0054225168488888876_r8, & + 0.0056516433990123445_r8, 0.0057534856390123465_r8, & + 0.0060448028888888889_r8, 0.0064415586597530864_r8, & + 0.0066252186034567902_r8, 0.006722780437037037_r8, & + 0.0070508278266666656_r8, 0.0072636370607407422_r8, & + 0.0074324588785185178_r8, 0.0076472557743209879_r8, & + 0.0078183241120987641_r8, 0.0080750005782716048_r8, & + 0.0082748079622839508_r8, 0.0084252855112962981_r8, & + 0.0085626142817636676_r8, 0.008686425136507938_r8, & + 0.0087711582975308639_r8, 0.0089217389276049375_r8, & + 0.0090215906333421542_r8, 0.0090684905353703681_r8, & + 0.009068725125679012_r8, 0.0090773243050123464_r8, & + 0.0090584586217283946_r8, 0.0090067646248888876_r8, & + 0.0090149968131904758_r8, 0.0090163991052380939_r8, & + 0.0090419592134126977_r8, 0.009036307353417988_r8, & + 0.0090982479115555553_r8, 0.0092189553725925914_r8, & + 0.0094484886999999986_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,10) / & + 0.0031178369422222223_r8, 0.0031269801861728394_r8, & + 0.003117078857283951_r8, 0.0033054074948148152_r8, & + 0.0034281063155555546_r8, 0.0036389371328395055_r8, & + 0.0043136974424691351_r8, 0.0046899202054320986_r8, & + 0.0050033975723456801_r8, 0.0054411638893827156_r8, & + 0.005773648849382718_r8, 0.006051690367901234_r8, 0.006284348484444445_r8, & + 0.0064636170824691344_r8, 0.0065449448044444438_r8, & + 0.0066215853427160493_r8, 0.0067540653081481486_r8, & + 0.0069060243585185189_r8, 0.0071070647861728392_r8, & + 0.0073320311140740732_r8, 0.0075327479688888895_r8, & + 0.0077589623634567902_r8, 0.0079561846316049383_r8, & + 0.0081318014790123429_r8, 0.0082918868301234561_r8, & + 0.0084282958943209876_r8, 0.0085738019777777778_r8, & + 0.0088454090192592576_r8, 0.0090629424167901242_r8, & + 0.0091662915817283946_r8, 0.0092267349881481487_r8, & + 0.0091686675308641982_r8, 0.0091584426291358018_r8, & + 0.0091053027239506156_r8, 0.0090953921501234561_r8, & + 0.009087339808888888_r8, 0.0091078081022222222_r8, & + 0.0091363194918518513_r8, 0.0091664718580246919_r8, & + 0.0091927286383333313_r8, 0.0093164969003262793_r8, & + 0.0093141967266666664_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,10) / & + 0.002664224800987654_r8, 0.002679506683950617_r8, 0.0024982134444444444_r8, & + 0.0026370539274074077_r8, 0.0026902493022222221_r8, & + 0.0027954289649382712_r8, 0.0031460617387654324_r8, & + 0.0036288416602469134_r8, 0.0039967532237037036_r8, & + 0.0044727843402469136_r8, 0.004794147639506174_r8, & + 0.0051256341461728382_r8, 0.0056181674775308641_r8, & + 0.0059388651412345681_r8, 0.0061219426538271608_r8, & + 0.0062715072651851845_r8, 0.0064421041111111113_r8, & + 0.0065581928009876538_r8, 0.0066509934913580255_r8, & + 0.0067737108019753078_r8, 0.0069274171456790122_r8, & + 0.0070853206913580246_r8, 0.0072743796790123456_r8, & + 0.0074541659935802454_r8, 0.007648106308641974_r8, & + 0.0077997695209876539_r8, 0.0079498426039506156_r8, & + 0.0083847984597530852_r8, 0.0088141056582716048_r8, & + 0.0090269056474074055_r8, 0.0092051573022222215_r8, & + 0.0092836838079012347_r8, 0.0092692709491358008_r8, & + 0.0092747901772839512_r8, 0.009273495885925926_r8, & + 0.0092691137851851849_r8, 0.0092839426661728373_r8, & + 0.0093108084567901234_r8, 0.0093115052940123469_r8, & + 0.0092394802911728406_r8, 0.0092024439128395065_r8, & + 0.0093056688654285704_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,10) / & + 0.0024201861654320985_r8, 0.0023914251624691358_r8, & + 0.0020116893229629633_r8, 0.0019220873812345681_r8, & + 0.0019295480464197529_r8, 0.001949674277037037_r8, & + 0.0020201484414814814_r8, 0.0023623498316049378_r8, & + 0.0028121900380246915_r8, 0.0032506312355555554_r8, & + 0.0035933410972839503_r8, 0.0038976474854320975_r8, & + 0.0044781464044444446_r8, 0.0049003534903703698_r8, & + 0.0051811962251851846_r8, 0.0054478387348148149_r8, & + 0.005787839829629631_r8, 0.0059497094538271608_r8, & + 0.0060809321076543202_r8, 0.0061666419303703698_r8, & + 0.0062368110118518503_r8, 0.0063207273165432091_r8, & + 0.0064230410483950614_r8, 0.006534756882469136_r8, & + 0.0066572615595061717_r8, 0.0067706969520987649_r8, & + 0.0069087701051851851_r8, 0.0073669122661728396_r8, & + 0.0078018681219753075_r8, 0.0082011662508641968_r8, & + 0.0085757156800000001_r8, 0.0088524629071604927_r8, & + 0.0090540765209876535_r8, 0.0092331787101234547_r8, & + 0.0093343645595061735_r8, 0.0093515404991975325_r8, & + 0.0093567954211640214_r8, 0.0094005137107037035_r8, & + 0.0094354889341765856_r8, 0.0093825244764583326_r8, & + 0.0092747767532562354_r8, 0.0092827080046666652_r8, & + 0.0093263029733333339_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,10) / & + 0.0015473715432098767_r8, 0.0015059727096296295_r8, & + 0.0010419507679012344_r8, 0.00085157899901234558_r8, & + 0.00087550489925925933_r8, 0.00089201635901234571_r8, & + 0.00097141188888888897_r8, 0.0011846371451851852_r8, & + 0.001456613984197531_r8, 0.001814457809876543_r8, 0.0021347949209876544_r8, & + 0.0023896316444444446_r8, 0.0028004674562962968_r8, & + 0.0031622588706172834_r8, 0.0034701800296296297_r8, & + 0.003748850203950617_r8, 0.0042004931733333334_r8, & + 0.0045060661180246911_r8, 0.0048166867990123456_r8, & + 0.0050983523333333327_r8, 0.005259232749135802_r8, & + 0.0053901503200000003_r8, 0.0054959309037037034_r8, & + 0.0055824450360493823_r8, 0.0056541395323456796_r8, & + 0.0057017047397530845_r8, 0.0057698584246913577_r8, & + 0.0060477612691358018_r8, 0.0064489638553086419_r8, & + 0.0068810445353086414_r8, 0.0073355441906172826_r8, & + 0.007731301508148148_r8, 0.0080760545012345669_r8, & + 0.0084515561590123457_r8, 0.0087699703229629621_r8, & + 0.0089950267890123448_r8, 0.0091349408404320983_r8, & + 0.0092256717542116406_r8, 0.0093798836639682557_r8, & + 0.0094005863412499995_r8, 0.009404073127499999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,10) / & + 0.00059990404444444439_r8, 0.00059189792790123466_r8, & + 0.00024200474913580247_r8, 0.00026111403654320987_r8, & + 0.00027935429975308639_r8, 0.00028189665777777773_r8, & + 0.00037615804839506175_r8, 0.00043437342469135798_r8, & + 0.00052171960148148151_r8, 0.00066994369679012353_r8, & + 0.00079026656839506168_r8, 0.00087392401481481484_r8, & + 0.0010216858632098764_r8, 0.0012254073229629628_r8, & + 0.0013924818474074076_r8, 0.0015656950108641973_r8, & + 0.001958475458271605_r8, 0.0023977024755555553_r8, & + 0.0028561497195061722_r8, 0.0033465428476543205_r8, & + 0.0037989843485802472_r8, 0.0042192915996913582_r8, & + 0.0045128646145061726_r8, 0.0047460173352469135_r8, & + 0.0049088287875308657_r8, 0.0049887212328395061_r8, & + 0.005040387725987654_r8, 0.0050791147724074063_r8, & + 0.0051728168442592599_r8, 0.0053581274386737205_r8, & + 0.0058524217326666661_r8, 0.0063131548536402111_r8, & + 0.006885917410201059_r8, 0.0074670996622222229_r8, & + 0.0079170138281481495_r8, 0.0083749003665925924_r8, & + 0.0087539395999999998_r8, 0.0085533752866666663_r8, & + 0.0081788304799999996_r8, 0.0085090689199999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,10) / & + 0.00029123404543209875_r8, 0.0002857333071604938_r8, & + 0.00010303483703703702_r8, 0.0002329539545679012_r8, & + 0.00023880600049382716_r8, 0.00024104327555555551_r8, & + 0.00030108914962962964_r8, 0.0003230458780246913_r8, & + 0.00034676838962962957_r8, 0.00038148313283950622_r8, & + 0.00041633655012345678_r8, 0.00044419154913580245_r8, & + 0.00047671524197530867_r8, 0.00055753449234567892_r8, & + 0.00067478804444444439_r8, 0.00083384720740740741_r8, & + 0.0012480204419753084_r8, 0.0016037101970370366_r8, & + 0.0019808851886419752_r8, 0.0024601242987654318_r8, & + 0.0029013112429629624_r8, 0.0034031727170370368_r8, & + 0.0038229668740740745_r8, 0.0042332942143209866_r8, & + 0.0045158934874074078_r8, 0.0046796305891358024_r8, & + 0.0047805206004938264_r8, 0.0047529891743209873_r8, & + 0.004622238012345679_r8, 0.0045975725170370367_r8, 0.004657245952169313_r8, & + 0.004872959252477954_r8, 0.005262430177072311_r8, 0.0058434621328112869_r8, & + 0.0064494937553597883_r8, 0.006920871630329806_r8, & + 0.0073094266456825386_r8, 0.007661896058567901_r8, & + 0.0079472855118055546_r8, 0.0081799314530952363_r8, & + 0.0085524481514285718_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,10) / & + 0.00025002011061728394_r8, 0.00024466729135802468_r8, & + 0.00017778016296296297_r8, 0.00018021158172839511_r8, & + 0.00018167228197530863_r8, 0.00018812524888888889_r8, & + 0.00022739774666666665_r8, 0.00024608176691358027_r8, & + 0.00025702777382716045_r8, 0.00026704928691358024_r8, & + 0.00028009389481481478_r8, 0.00029195515061728394_r8, & + 0.00028972712049382714_r8, 0.00031206289135802471_r8, & + 0.00034670367506172838_r8, 0.00039401002419753084_r8, & + 0.00056013231999999999_r8, 0.00070004521580246904_r8, & + 0.00090775124395061724_r8, 0.0012355305303703705_r8, & + 0.0015801540943209877_r8, 0.0020151654197530862_r8, & + 0.0025003397802469138_r8, 0.0029985217688888888_r8, & + 0.0036013379688888889_r8, 0.0040249133056790114_r8, & + 0.0043718203693827165_r8, 0.0047600523071604931_r8, & + 0.0047282219846913583_r8, 0.0045517546029629624_r8, & + 0.0044935114918518513_r8, 0.0046494366207407399_r8, & + 0.004928088305185185_r8, 0.0054483079154320985_r8, & + 0.0060356076421604933_r8, 0.006636466061393299_r8, & + 0.0072229126454074069_r8, 0.0076301156587654318_r8, & + 0.007996549848068784_r8, 0.0082232642947442681_r8, & + 0.0085400375027876972_r8, 0.0086259418306326545_r8, & + 0.0087163103900000007_r8, 0.0087198673799999994_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,10) / & + 0.0001909449550617284_r8, 0.00019094495506172837_r8, & + 0.00017058760098765429_r8, 0.00016176792987654319_r8, & + 0.00016480951456790123_r8, 0.00017122550172839505_r8, & + 0.00020295412987654318_r8, 0.00021379844246913578_r8, & + 0.00022378297580246911_r8, 0.00023538537333333331_r8, & + 0.00024815263308641979_r8, 0.00026626346716049386_r8, & + 0.00027910468641975309_r8, 0.00029520936888888889_r8, & + 0.00031245117876543208_r8, 0.00033227232641975309_r8, & + 0.00038255554567901231_r8, 0.00043894966913580243_r8, & + 0.0005450076009876543_r8, 0.00078885209283950598_r8, & + 0.0011481566187654319_r8, 0.0015875038202469135_r8, & + 0.0020936457007407405_r8, 0.002672693164444444_r8, & + 0.0032990007525925927_r8, 0.0038571823906172844_r8, & + 0.004347887865608465_r8, 0.0050553703040740732_r8, & + 0.0051683062718941792_r8, 0.0049444897501728386_r8, & + 0.0047425280644197536_r8, 0.0048255416008888882_r8, & + 0.0050305407111111118_r8, 0.0055049632083950615_r8, & + 0.006076690992222222_r8, 0.0067904325840740729_r8, & + 0.0074979338425925912_r8, 0.0079797707803703696_r8, & + 0.0084179947218518507_r8, 0.0086334058282407384_r8, & + 0.0088339656346666656_r8, 0.0086135320999999997_r8, & + 0.0087179952799999998_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,10) / & + 0.00017931482271604936_r8, 0.00017398973827160495_r8, & + 0.00017017157876543209_r8, 0.00020178002271604937_r8, & + 0.0002020019012345679_r8, 0.0002018539822222222_r8, & + 0.00022172135456790122_r8, 0.00022320978962962962_r8, & + 0.00023436843012345678_r8, 0.000257952267654321_r8, & + 0.00027059009827160491_r8, 0.00027363168296296297_r8, & + 0.0002715977965432098_r8, 0.00028687043456790125_r8, & + 0.00029990579753086421_r8, 0.00031678705481481476_r8, & + 0.00035382227753086412_r8, 0.00044911910123456798_r8, & + 0.0006338699476543208_r8, 0.00091185599654320976_r8, & + 0.0013446577817283949_r8, 0.0019112892933333334_r8, & + 0.0026300647540740745_r8, 0.0033987998612345677_r8, & + 0.0040430518745679014_r8, 0.0045431568103703702_r8, & + 0.0049099867160493837_r8, 0.0055711673669753096_r8, & + 0.0056059984973544979_r8, 0.0053901919222222221_r8, & + 0.0051636003341728404_r8, 0.0051218338161904764_r8, & + 0.0052962610381481487_r8, 0.0057829923040277776_r8, & + 0.0063939677398611111_r8, 0.0072029385518055543_r8, & + 0.0079172807757407412_r8, 0.0084208236729629623_r8, & + 0.0087848639185185168_r8, 0.00903207611025926_r8, 0.0091876605961904757_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,10) / & + 0.00021814139305654918_r8, 0.00021266619992862639_r8, & + 0.00021449719479352803_r8, 0.00025472700574443173_r8, & + 0.00025811681117880774_r8, 0.00027449925063367618_r8, & + 0.00031187529256874915_r8, 0.00034281351628666205_r8, & + 0.00036674525102732585_r8, 0.00040389111670236291_r8, & + 0.00040937854651552837_r8, 0.00039782043482756779_r8, & + 0.00038434783296469277_r8, 0.00040824714166812074_r8, & + 0.00042695717345750687_r8, 0.00046445875345536874_r8, & + 0.00053362481014002626_r8, 0.00070597190600450439_r8, & + 0.0010805363799830524_r8, 0.0015207092119398559_r8, & + 0.0022252179190521311_r8, 0.0029701916821135007_r8, & + 0.0038259318162857238_r8, 0.0045755152148075056_r8, & + 0.0051248095081918282_r8, 0.0054635560564570852_r8, & + 0.0057523196389099142_r8, 0.0060974851836102404_r8, & + 0.0060037179279299495_r8, 0.0058957487851023331_r8, & + 0.0057453390143842068_r8, 0.0056724470879820441_r8, & + 0.0059136035888389697_r8, 0.0064423710549793142_r8, & + 0.0070924442222667734_r8, 0.0076385912458656795_r8, & + 0.0083128729148839991_r8, 0.0087583389676043986_r8, & + 0.0091925847087891994_r8, 0.0094581320817984007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,10) / & + 0.00020246272456963702_r8, 0.00020568869891097143_r8, & + 0.00020973810196568251_r8, 0.00023743305814702962_r8, & + 0.00024344024624802226_r8, 0.00028028637262686662_r8, & + 0.00036677660723634294_r8, 0.00044957551024697772_r8, & + 0.00053553068613635551_r8, 0.00059058574296518506_r8, & + 0.00062135202906358523_r8, 0.00063718638038517039_r8, & + 0.00058431394797903114_r8, 0.00060853465508871113_r8, & + 0.00064586028585193777_r8, 0.00067882678584805329_r8, & + 0.00088884282336941305_r8, 0.0013433877426908979_r8, & + 0.0020236671351223975_r8, 0.0028177563523925989_r8, & + 0.0037070483956589601_r8, 0.0046429583599164178_r8, & + 0.005414315726274134_r8, 0.0059284092397235448_r8, & + 0.0062816020744303445_r8, 0.0065037026548638438_r8, & + 0.0066131655905545452_r8, 0.0065646530536752996_r8, & + 0.0064028190948680766_r8, 0.0062107240011124382_r8, & + 0.0061549254885224502_r8, 0.0062488598402408013_r8, & + 0.0066540249850883196_r8, 0.0071456248102095997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,18,10) / & + 0.00020749972061464547_r8, 0.00021262564108221336_r8, & + 0.00021633677680085332_r8, 0.00023629896828427562_r8, & + 0.00025045500594647564_r8, 0.00029407337203573783_r8, & + 0.00039244282526633336_r8, 0.00048558451022031999_r8, & + 0.00058467245140147214_r8, 0.00068979453871283213_r8, & + 0.00074743878856416016_r8, 0.00078504414052176007_r8, & + 0.00076763545603794018_r8, 0.00077017489790864012_r8, & + 0.00077905754138828001_r8, 0.00083167261572206002_r8, & + 0.0011375510905817802_r8, 0.0016675704304715403_r8, & + 0.0025317154837317004_r8, 0.0035424337598598046_r8, & + 0.0044039373133017441_r8, 0.005154401819839503_r8, & + 0.0059052793608942939_r8, 0.0064256067978146498_r8, & + 0.0067116764254011741_r8, 0.0069366745771904017_r8, & + 0.0070523722692285339_r8, 0.0070192334533272002_r8, & + 0.0069747121745728016_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,10) / & + 0.00029256358071360001_r8, 0.00032729162480106663_r8, & + 0.00053699580163218714_r8, 0.0013366258829013333_r8, & + 0.0018585560803786665_r8, 0.0022048269850880003_r8, & + 0.003109573296459734_r8, 0.0029869518975875584_r8, & + 0.0029851959709940061_r8, 0.0033199606333152_r8, 0.0032436396992159998_r8, & + 0.0031533850218722639_r8, 0.0031334835120934218_r8, & + 0.0031329970772913922_r8, 0.0031329970772913922_r8, & + 0.0031329970772913922_r8, 0.0031329970772913922_r8, & + 0.0031329970772913922_r8, 0.0031329970772913922_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,10) / & + 0.00087692987334393995_r8, 0.0013616654004993147_r8, & + 0.00037778744223245929_r8, 0.0029431911414361926_r8, & + 0.0032369570176355483_r8, 0.0032694366643227202_r8, & + 0.0032044421356937072_r8, 0.0030473212094823182_r8, & + 0.0031889747820151976_r8, 0.0034807194855881224_r8, & + 0.0033983687994566876_r8, 0.0034047480988701156_r8, & + 0.0033802262774718303_r8, 0.0033796554745910666_r8, & + 0.0033796468727076011_r8, 0.0033796543488806832_r8, & + 0.0033788936925686331_r8, 0.0033657956073150888_r8, & + 0.0033555352777016639_r8, 0.0033394923819337055_r8, & + 0.003351856891905603_r8, 0.0033352375898572442_r8, & + 0.0033169907245925133_r8, 0.0032326946155782584_r8, & + 0.0032326946155782584_r8, 0.0032326946155782584_r8, & + 0.0032326946155782584_r8, 0.0032326946155782584_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,10) / & + 0.0020663166365281153_r8, 0.0020105830386231739_r8, & + 0.0013789622615089049_r8, 0.0034444643938831374_r8, & + 0.0035311950807212144_r8, 0.0035131765433356545_r8, & + 0.0032712373013041329_r8, 0.0032857136780753255_r8, & + 0.0034636461817065408_r8, 0.0035113449922836229_r8, 0.00348167538752275_r8, & + 0.0034897965907770053_r8, 0.0034902590658079913_r8, & + 0.0034908554815725858_r8, 0.0034908496990720636_r8, & + 0.0034908500467013301_r8, 0.0034910966170307906_r8, & + 0.0034898341771025603_r8, 0.0034900105537374847_r8, & + 0.0034897239209795254_r8, 0.0034844484008291596_r8, & + 0.0034844484008291596_r8, 0.0035061838203756432_r8, & + 0.0035061838203756432_r8, 0.0035061838203756432_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,10) / & + 0.0034792185188714281_r8, 0.0034940314957086762_r8, & + 0.0031691248540788937_r8, 0.0031700892331735443_r8, & + 0.0017302360061999997_r8, 0.0017133556549199997_r8, & + 0.0016964753036399997_r8, 0.0017535472861020241_r8, & + 0.0017574860347340238_r8, 0.0018092524453260238_r8, & + 0.0018537040370300241_r8, 0.001924601512406024_r8, 0.003318034637868048_r8, & + 0.0034013110375160477_r8, 0.0034553281616120481_r8, & + 0.0035262256369880478_r8, 0.0036522655932120481_r8, & + 0.0013639323834239998_r8, 0.0014044452264959999_r8, & + 0.0014224509345279999_r8, 0.0014359552155519999_r8, & + 0.0015394880367359998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,10) / & + 0.00024195164690770285_r8, 0.0003157455838644927_r8, & + 0.00029134537382401681_r8, 0.00032215628287803256_r8, & + 0.00032348655889568499_r8, 0.00032830018039013584_r8, & + 0.00033617548904442911_r8, 0.00034814797320330157_r8, & + 0.00037230190493475892_r8, 0.00041821601786380522_r8, & + 0.00044908196638839692_r8, 0.00052673146490266065_r8, & + 0.00059229863353499551_r8, 0.0007578123499353954_r8, & + 0.00093000776477649393_r8, 0.0010899004586352632_r8, & + 0.0012862633318573675_r8, 0.0014004196249759848_r8, & + 0.0014450449747084061_r8, 0.001472604357072711_r8, & + 0.0014846524038945774_r8, 0.0016449208121054576_r8, & + 0.0016557738494051555_r8, 0.0016970408585600531_r8, & + 0.0017243693550096529_r8, 0.0017381021693545775_r8, & + 0.0017836986392373332_r8, 0.0017447139023665775_r8, & + 0.0018324785361258664_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,10) / & + 0.00024980236543880192_r8, 0.00031004685802346664_r8, & + 0.00028032892795599995_r8, 0.00031065959884959998_r8, & + 0.00031494878463253327_r8, 0.00032260804495919994_r8, & + 0.00033149278693813327_r8, 0.00035600241998346658_r8, & + 0.00038388212757253332_r8, 0.00042953131911946661_r8, & + 0.00045496006340399995_r8, 0.00052634436964853323_r8, & + 0.0006109026036549333_r8, 0.00077940633084159984_r8, & + 0.0009895764342053334_r8, 0.001147663567347733_r8, & + 0.0013198437394911998_r8, 0.0014172695308463999_r8, & + 0.0014509702762837333_r8, 0.0014338135331519997_r8, & + 0.0014534212395882664_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,10) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,10) / & + 0.001573172137792228_r8, 0.0016000085686570722_r8, & + 0.0016421550351125211_r8, 0.0019149155411280416_r8, & + 0.0019613635452907226_r8, 0.0020145305513520986_r8, & + 0.0021133798878642676_r8, 0.0021501580352610932_r8, & + 0.0021711237300461373_r8, 0.0021955736703740381_r8, & + 0.0022500991020433579_r8, 0.0023642971854024681_r8, & + 0.0024626389404651845_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,10) / & + 0.0016572140766746338_r8, 0.0017148203195197103_r8, & + 0.0016644976246205628_r8, 0.0018999714190088425_r8, & + 0.0019484318431263602_r8, 0.0020259850752324476_r8, & + 0.0022022386587649055_r8, 0.0022829370593021891_r8, & + 0.0023480337690689312_r8, 0.0023873069906637429_r8, & + 0.0024248058820416133_r8, 0.0024803340671732204_r8, & + 0.0025601673985926562_r8, 0.0026084826838286218_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,10) / & + 0.0015221699080450368_r8, 0.0015976923797531653_r8, & + 0.0013767081721873381_r8, 0.0013942249531535011_r8, & + 0.0015125804294139258_r8, 0.0017656574254652051_r8, & + 0.0020067582282038521_r8, 0.0020229614028114988_r8, & + 0.0020809351286246937_r8, 0.0021450963513641535_r8, & + 0.0021819105120429358_r8, 0.0022251745864917925_r8, & + 0.0020807250733784885_r8, 0.0021265627812351996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,10) / & + 0.001447248491930864_r8, 0.0013916390650287934_r8, & + 0.0010788141106971919_r8, 0.001097891477181735_r8, & + 0.0011999005678554073_r8, 0.0014331268551308115_r8, & + 0.0017092881810001643_r8, 0.0016924913272907849_r8, & + 0.0017330636230816199_r8, 0.0017810366213880096_r8, & + 0.0018201561866850503_r8, 0.0018634428565413785_r8, & + 0.0020110363589952562_r8, 0.002056107812029675_r8, & + 0.0021313271427401592_r8, 0.0021734383147683557_r8, & + 0.0022419852660679898_r8, 0.0023943147482459494_r8, & + 0.002528119449727194_r8, 0.002697842227417268_r8, 0.0028565659165686675_r8, & + 0.0029583864263782399_r8, 0.0030505893121187074_r8, & + 0.0032374422492314554_r8, 0.0033750361104006631_r8, & + 0.003519813586811638_r8, 0.0036259889989014751_r8, & + 0.0038072371373091083_r8, 0.0039161754783380871_r8, & + 0.0039636978560913059_r8, 0.0040347643354473476_r8, & + 0.0040792672265742222_r8, 0.004131960228484978_r8, & + 0.0041609709823459545_r8, 0.004172812106370845_r8, & + 0.0041553135564229527_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,10) / & + 0.0020105676599952334_r8, 0.0022331423879430323_r8, & + 0.0020403284623545419_r8, 0.0021273562631931257_r8, & + 0.002068060119098443_r8, 0.0021714563612346468_r8, & + 0.0020501134534332841_r8, 0.0017829877061960955_r8, & + 0.0018361513213197695_r8, 0.0019172269616864925_r8, & + 0.0019745390522905547_r8, 0.0020177373078363392_r8, & + 0.0020909669184901534_r8, 0.0021542762616908644_r8, & + 0.0022280920699669069_r8, 0.0022716961546357726_r8, & + 0.0023432573566724742_r8, 0.0024314575527555169_r8, & + 0.0025213261574556713_r8, 0.0026195818973661763_r8, & + 0.0027533251394839179_r8, 0.0028632146475894259_r8, & + 0.0029901940709891424_r8, 0.0031584778806935956_r8, & + 0.0033047116413772912_r8, 0.0034468420187053822_r8, & + 0.0035848239205530873_r8, 0.0038381063854807185_r8, & + 0.0039640035978855499_r8, 0.0040377743140368079_r8, & + 0.0041005876438648626_r8, 0.0041681356467955372_r8, & + 0.0042182780895584924_r8, 0.0042571531376403397_r8, & + 0.0042675492880532451_r8, 0.0042570798629375612_r8, & + 0.0042496396623477352_r8, 0.0042551183555093342_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,10) / & + 0.0024565546432000003_r8, 0.0031959069402453322_r8, & + 0.0031373943798613337_r8, 0.0037986836014933323_r8, & + 0.003691943348821333_r8, 0.0038076712790186657_r8, & + 0.0030828660476586662_r8, 0.0023676044326399999_r8, & + 0.0021229913536000003_r8, 0.0021933639420586661_r8, & + 0.0022087449159679997_r8, 0.0022789785197226665_r8, & + 0.0023006138053119993_r8, 0.0023692722490880002_r8, & + 0.0024147665755306666_r8, 0.0024655886489599989_r8, & + 0.0024896793309866654_r8, 0.0025330425586346668_r8, & + 0.0026134683740159999_r8, 0.0027224787101866664_r8, & + 0.0028319523287039989_r8, 0.0029554170740906664_r8, & + 0.0030998221815466669_r8, 0.0032552997370880001_r8, & + 0.0034309764029439999_r8, 0.003588399744341332_r8, & + 0.0037870552145919988_r8, 0.0041168195889493336_r8, & + 0.0041481374755840007_r8, 0.0041604607860053324_r8, & + 0.0041930295349760002_r8, 0.0042356515108693338_r8, & + 0.0042654405657599993_r8, 0.0042717412056746656_r8, & + 0.0042854543631359997_r8, 0.0043002330699946642_r8, & + 0.0043659265067519989_r8, 0.0043717638643200009_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,11) / & + 0.004049618631382289_r8, 0.0040718105662962958_r8, & + 0.0039967185551851841_r8, 0.0039458529048148139_r8, & + 0.0040173740585185188_r8, 0.0041588424151851842_r8, & + 0.0044899822366666672_r8, 0.0046770258277777773_r8, & + 0.0047502942748148145_r8, 0.0048950145385185185_r8, & + 0.005067649893333334_r8, 0.005142533893333333_r8, 0.0056113770703703708_r8, & + 0.0061837820459259268_r8, 0.0064682303066666662_r8, & + 0.0065969475822222224_r8, 0.0070180036733333345_r8, & + 0.0072224213924999992_r8, 0.0072826094074999997_r8, & + 0.0076511322925000005_r8, 0.0078054401349999985_r8, & + 0.008008328972500001_r8, 0.0082643854499999999_r8, & + 0.0083842265942857125_r8, 0.0085443892066666676_r8, & + 0.0086966533400000007_r8, 0.0087801489999999992_r8, & + 0.0089264224133333327_r8, 0.0090155842960000006_r8, & + 0.0090555349099999995_r8, 0.0090686396099999983_r8, & + 0.0091300444899999993_r8, 0.0091103874399999993_r8, & + 0.009051977919999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,11) / & + 0.0037796913180246916_r8, 0.0037784709861728395_r8, & + 0.0037182217234567896_r8, 0.0037593709437037039_r8, & + 0.0038528002898765429_r8, 0.00410237664345679_r8, 0.004507009101728395_r8, & + 0.0047702956987654317_r8, 0.0050013267061728393_r8, & + 0.0054242918770370362_r8, 0.0056848604622222222_r8, & + 0.0057977781382716051_r8, 0.0060707904103703709_r8, & + 0.0064120395718518519_r8, 0.0066028735876543206_r8, & + 0.0067052335441975313_r8, 0.0069796510469135806_r8, & + 0.0071711876780246901_r8, 0.0073351917273456789_r8, & + 0.0076164631961728397_r8, 0.0077936204814197533_r8, & + 0.0080100514200617291_r8, 0.0082237343008024679_r8, & + 0.0083663236062345697_r8, 0.0085165919885185192_r8, & + 0.0086631150151851837_r8, 0.0087581830266666647_r8, & + 0.0089161847998148174_r8, 0.0090138806849999996_r8, & + 0.0090616446585802465_r8, 0.0090695413216578483_r8, & + 0.0091077262184832437_r8, 0.0090793450834303346_r8, & + 0.0090334697186684292_r8, 0.0090297905634126978_r8, & + 0.0090328937920317459_r8, 0.0090319528884391515_r8, & + 0.0089866580727830676_r8, 0.0090248235552380946_r8, & + 0.0091424253113333333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,11) / & + 0.0030359915037037034_r8, 0.0030385708414814813_r8, & + 0.0029902383041975301_r8, 0.0030780467279012337_r8, & + 0.0031841139046913576_r8, 0.0034718995881481483_r8, & + 0.0041264874424691367_r8, 0.0045691258419753075_r8, & + 0.0049067972123456784_r8, 0.0053887543343209866_r8, & + 0.0057471621012345677_r8, 0.0060324424064197536_r8, & + 0.0062581298395061732_r8, 0.0064422150503703705_r8, & + 0.0065292746340740717_r8, 0.0066013851525925909_r8, & + 0.0066958961565432096_r8, 0.0068072606829629612_r8, & + 0.0069775524459259252_r8, 0.0071782415659259252_r8, & + 0.0073715070004938274_r8, 0.0076355979071604935_r8, & + 0.0078467985219753088_r8, 0.0080257527920987656_r8, & + 0.0081926331728395061_r8, 0.0083236616829629618_r8, & + 0.0085250626632098776_r8, 0.0087919362962962967_r8, & + 0.0090188255713580245_r8, 0.0091158881782716049_r8, & + 0.0091910310365432082_r8, 0.0091561313945679023_r8, & + 0.0091366338197530882_r8, 0.0090917219096296291_r8, & + 0.009071854537283949_r8, 0.0090552321382716041_r8, & + 0.0090686095639506172_r8, 0.0090613707772839499_r8, & + 0.0090611581437037032_r8, 0.0090917745727601418_r8, & + 0.0091749709278835974_r8, 0.0092900674377777784_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,11) / & + 0.0025716922138271608_r8, 0.0025951836019753086_r8, & + 0.0024028149264197526_r8, 0.0023651602928395059_r8, & + 0.0024008272646913582_r8, 0.0025330113920987653_r8, & + 0.002885705787160494_r8, 0.0034585314074074072_r8, & + 0.0038199252893827158_r8, 0.0043150564483950609_r8, & + 0.004684040424691358_r8, 0.0051065156138271608_r8, & + 0.0055891383713580238_r8, 0.005901478610864196_r8, & + 0.0060629691925925926_r8, 0.0062003767101234579_r8, & + 0.0063516793698765424_r8, 0.0064403290829629619_r8, & + 0.0065182176879012349_r8, 0.0066145961693827166_r8, & + 0.0067635136350617285_r8, 0.0069612258849382717_r8, & + 0.0071756344933333336_r8, 0.007383728808888889_r8, & + 0.0076218137041975309_r8, 0.0077522320483950609_r8, & + 0.0079127519116049382_r8, 0.0082856557417283951_r8, & + 0.0087798993866666664_r8, 0.0089783604765432089_r8, & + 0.0091426060498765414_r8, 0.0092477302429629631_r8, & + 0.009236553112592593_r8, 0.009231338967407408_r8, 0.0092371170538271593_r8, & + 0.0092318936637037028_r8, 0.0092399922296296268_r8, & + 0.0092546581685802442_r8, 0.009225105567777777_r8, & + 0.0091333414661111112_r8, 0.0091518663413492057_r8, & + 0.0092899759128888901_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,11) / & + 0.0023347444459259261_r8, 0.002329770669135802_r8, & + 0.0019690424227160495_r8, 0.0018528890182716049_r8, & + 0.0018578350602469133_r8, 0.0018765098355555555_r8, & + 0.0020100899486419749_r8, 0.0023516904177777777_r8, & + 0.0027519222854320985_r8, 0.0031801385812345673_r8, & + 0.0035121982740740736_r8, 0.0039049972113580252_r8, & + 0.0044551172632098764_r8, 0.0048801625451851847_r8, & + 0.0051415539298765422_r8, 0.0053812936691358029_r8, & + 0.0056869035935802467_r8, 0.0058417470646913586_r8, & + 0.0059606831955555557_r8, 0.0060741740577777772_r8, & + 0.0061572398281481491_r8, 0.0062864909988888888_r8, & + 0.0064297840752469129_r8, 0.0065739022623456786_r8, & + 0.0067231976148765422_r8, 0.0068712009872839508_r8, & + 0.0070191881810493829_r8, 0.007368101396358023_r8, 0.007838802805987654_r8, & + 0.0082773919225308645_r8, 0.0086891378655379204_r8, & + 0.0090090607043615527_r8, 0.0091859214912310416_r8, & + 0.0093018524888747803_r8, 0.0093037730587654313_r8, & + 0.009326701661296297_r8, 0.0093216054881269834_r8, & + 0.0093260533599999994_r8, 0.00923544372_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,11) / & + 0.0014595816093827159_r8, 0.001442848271111111_r8, & + 0.0010278984617283951_r8, 0.00083398588148148132_r8, & + 0.00084692879506172831_r8, 0.00086623222617283945_r8, & + 0.00098002817135802453_r8, 0.0011539347051851851_r8, & + 0.0014030950365432097_r8, 0.001746553738271605_r8, & + 0.0020285890701234569_r8, 0.0022960081545679014_r8, & + 0.0026726746745679006_r8, 0.0030382750034567895_r8, & + 0.0033628832760493827_r8, 0.0036562344123456784_r8, & + 0.0041260251955555537_r8, 0.0044750031254320978_r8, & + 0.0047756300281481482_r8, 0.005046331065679012_r8, & + 0.0052236674716049387_r8, 0.0053568962770370364_r8, & + 0.0054773485777777778_r8, 0.0055723218286419744_r8, & + 0.0056526326074074077_r8, 0.0057245582271604947_r8, & + 0.0057919815619753082_r8, 0.0060714837807407411_r8, & + 0.006459198001975309_r8, 0.0068885144454320976_r8, & + 0.0073524693613580246_r8, 0.0077607593483333334_r8, & + 0.0081081621718518508_r8, 0.008450273588915343_r8, & + 0.0087595697674074068_r8, 0.008989066643343915_r8, & + 0.0091593689719506165_r8, 0.0091824258479999993_r8, & + 0.0093780041349999978_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,11,11) / & + 0.00055221865283950613_r8, 0.00054643132148148141_r8, & + 0.0002578690632098765_r8, 0.00028087971456790126_r8, & + 0.0002931662375308642_r8, 0.00029798285037037033_r8, & + 0.00038713179012345676_r8, 0.00043971699901234566_r8, & + 0.00052453930765432094_r8, 0.00067353073283950597_r8, & + 0.00079610012444444444_r8, 0.00090141846123456776_r8, & + 0.0010874081293827161_r8, 0.001302278984691358_r8, & + 0.0014670515195061727_r8, 0.0016733800518518519_r8, & + 0.0021217318232098765_r8, 0.0025820685014197537_r8, 0.00307207796462963_r8, & + 0.0035495015999999994_r8, 0.003982352416375662_r8, & + 0.0043677440119576725_r8, 0.0046396143690917114_r8, & + 0.0048558481924426819_r8, 0.005010389552178131_r8, & + 0.0050937224352292773_r8, 0.0051414613154056434_r8, & + 0.0052303954754320987_r8, 0.0053760199271164029_r8, & + 0.0056852812389841263_r8, 0.0061963542374814818_r8, & + 0.0067866370746666668_r8, 0.00745576999037037_r8, 0.0079368372870370369_r8, & + 0.0083944339966666656_r8, 0.0087674603222222206_r8, & + 0.0091026182249999994_r8, 0.0091702946399999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,11) / & + 0.00026480276691358024_r8, 0.0002527843471604938_r8, & + 0.0001387387886419753_r8, 0.00024194927950617286_r8, & + 0.00024621119604938276_r8, 0.00025148081086419756_r8, & + 0.00029992428740740741_r8, 0.00033389943555555557_r8, & + 0.00036535071555555553_r8, 0.00041375721234567897_r8, & + 0.00046306971308641965_r8, 0.00052754391259259264_r8, & + 0.0005913524765432098_r8, 0.00070669232641975297_r8, & + 0.00082588731555555551_r8, 0.00097495270024691369_r8, & + 0.0013393881669135801_r8, 0.0017106648879012345_r8, & + 0.0021059137338271606_r8, 0.0025530174385185178_r8, & + 0.0030105679234567894_r8, 0.0034610367856790121_r8, & + 0.0038769480686419756_r8, 0.0042267303081481482_r8, & + 0.0044874005876543209_r8, 0.0046589496622222223_r8, & + 0.004796338689876542_r8, 0.0048465895518518516_r8, & + 0.0047881092090211637_r8, 0.0047667324684320988_r8, & + 0.0048201354911640206_r8, 0.0049516426909841258_r8, & + 0.0052724318795767198_r8, 0.0057183247697499993_r8, & + 0.0062879952163809524_r8, 0.006789129047777777_r8, & + 0.0073115801549999996_r8, 0.0076253441149999983_r8, & + 0.0079132418933333323_r8, 0.0080747417199999987_r8, & + 0.0084963386399999983_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,11) / & + 0.0002520909767901234_r8, 0.0002410247856790123_r8, & + 0.00019793412839506171_r8, 0.00017369390024691355_r8, & + 0.0001764858716049383_r8, 0.00018296657333333332_r8, & + 0.00022584459703703702_r8, 0.00023856563209876541_r8, & + 0.00025317263456790123_r8, 0.00026824188395061725_r8, & + 0.00027973334222222219_r8, 0.00029667006913580246_r8, & + 0.00031159139950617278_r8, 0.00032933243604938269_r8, & + 0.00035647557481481481_r8, 0.0003986879629629629_r8, & + 0.00051179978271604937_r8, 0.00064400239999999999_r8, & + 0.00083218311851851858_r8, 0.001112045889876543_r8, & + 0.0014686324039506172_r8, 0.0018494406562962959_r8, & + 0.0023595855950617277_r8, 0.0028294226029629633_r8, & + 0.0033587785234567898_r8, 0.0038077127259259257_r8, & + 0.0041998090479012347_r8, 0.0047143730671604942_r8, & + 0.0047530353990123467_r8, 0.004601538595555555_r8, & + 0.0045498593906172849_r8, 0.0047085672459259266_r8, & + 0.004973946665864197_r8, 0.0055155579076543206_r8, & + 0.0060250637900617276_r8, 0.0067430359647195773_r8, & + 0.0073316248320546744_r8, 0.0077516742814585544_r8, & + 0.0081101373529135802_r8, 0.0084838143900529094_r8, & + 0.0087539728817777763_r8, 0.00861839956_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,11) / & + 0.00021251339604938272_r8, 0.00021046101975308643_r8, & + 0.00019242414518518515_r8, 0.00017458141432098766_r8, & + 0.00017859371753086415_r8, 0.00018444576345679012_r8, & + 0.0002237459960493827_r8, 0.00022977369580246909_r8, & + 0.00023961955506172838_r8, 0.00025149005580246908_r8, & + 0.00025879355703703699_r8, 0.00026865790617283951_r8, & + 0.00028820170567901232_r8, 0.00030126480345679012_r8, & + 0.00031546502864197531_r8, 0.00033104274962962962_r8, & + 0.00036561881876543209_r8, 0.00042401909382716043_r8, & + 0.00054439743506172846_r8, 0.0007755116469135801_r8, & + 0.0011332445333333333_r8, 0.0015466134582716048_r8, & + 0.0020470512118518519_r8, 0.0026063514874074076_r8, & + 0.0031697842503703704_r8, 0.0037290845259259253_r8, & + 0.0042065855876543207_r8, 0.0049805071051851838_r8, & + 0.005224360841975308_r8, 0.0051280563199999993_r8, & + 0.0049620542083950612_r8, 0.0050447039565432094_r8, & + 0.0052263207688888888_r8, 0.0056064541407407397_r8, & + 0.0061133171264197523_r8, 0.0068830229520987661_r8, & + 0.0076112814082716041_r8, 0.0081226940591975303_r8, & + 0.008493244227089948_r8, 0.0088158001233862426_r8, & + 0.0089890118423214295_r8, 0.0086419880199999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,11) / & + 0.00018829165777777777_r8, 0.00018220848839506175_r8, & + 0.00018782941086419752_r8, 0.00019062138222222222_r8, & + 0.00019383862074074071_r8, 0.0001976752701234568_r8, & + 0.00022217435654320989_r8, 0.00022589082172839509_r8, & + 0.00024554556049382714_r8, 0.00026330508691358031_r8, & + 0.00027007238172839504_r8, 0.00027913242123456792_r8, & + 0.00028984730469135801_r8, 0.00031039880246913577_r8, & + 0.0003294526202469135_r8, 0.00034404113283950611_r8, & + 0.0003784877728395062_r8, 0.00047237012098765431_r8, & + 0.00066384203753086415_r8, 0.00099955348098765425_r8, & + 0.0014734397718518517_r8, 0.0020335905817283947_r8, & + 0.0026513928266666664_r8, 0.003344772441975309_r8, & + 0.0038503226464197534_r8, 0.0044129973244444436_r8, & + 0.0048719437950617284_r8, 0.0055344915412345692_r8, & + 0.0057044227516049387_r8, 0.0055714435595061737_r8, & + 0.0053622953209876544_r8, 0.0053353185911111118_r8, & + 0.0054967721930864188_r8, 0.0058942583140740735_r8, & + 0.0065190589772839494_r8, 0.007242133334320988_r8, & + 0.0079042161921693121_r8, 0.0083683754872663132_r8, & + 0.008753884130370369_r8, 0.0089982361268820862_r8, 0.009152322479999999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,11) / & + 0.00019354247578409878_r8, 0.00019201629955616792_r8, & + 0.00019635180654761476_r8, 0.00021430624917811357_r8, & + 0.00021835013013874561_r8, 0.00023242594655940735_r8, & + 0.00027107611651006422_r8, 0.00029601986301242467_r8, & + 0.00033161768050721967_r8, 0.00034599484382639008_r8, & + 0.00034672390890342714_r8, 0.00035207038613503216_r8, & + 0.000354043722276879_r8, 0.00038169959086581731_r8, & + 0.00040506855680177772_r8, 0.0004230521620353581_r8, & + 0.00048327293739861731_r8, 0.00067544477083788645_r8, & + 0.0010826421976646121_r8, 0.001688106441974637_r8, & + 0.0024764882536794076_r8, 0.0032939840641271899_r8, & + 0.0040896079222638611_r8, 0.0047830168565999405_r8, & + 0.0052849344182353186_r8, 0.0056876602459228843_r8, & + 0.0060071657252835954_r8, 0.0062521899163742022_r8, & + 0.0061705637903491347_r8, 0.0059908638301610466_r8, & + 0.0058132538565271305_r8, 0.0058139051546626155_r8, & + 0.0061027607381846918_r8, 0.0065369429465556347_r8, & + 0.0072241631599092087_r8, 0.0077309849340135061_r8, & + 0.0083791688853820552_r8, 0.0087318607821365683_r8, & + 0.0091831196214265647_r8, 0.0094582633135122662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,11) / & + 0.00019608440854162963_r8, 0.00021466297288707162_r8, & + 0.00021079838678008894_r8, 0.0002214744333605926_r8, & + 0.0002299887589524939_r8, 0.00025312529160880984_r8, & + 0.00032864277105027157_r8, 0.0003914652380822518_r8, & + 0.00046226160045898261_r8, 0.0005184765429597629_r8, & + 0.00054474349233070614_r8, 0.00056266946166072095_r8, & + 0.00055873349797392604_r8, 0.00057689399363760989_r8, & + 0.00060457829780768393_r8, 0.00063841127063873589_r8, & + 0.00081143052410386168_r8, 0.0012565717022049977_r8, & + 0.0019331291908548738_r8, 0.0027919238375627852_r8, & + 0.0036773219279464687_r8, 0.0046638416553300152_r8, & + 0.0053870189003944694_r8, 0.0059424384393056782_r8, & + 0.0063119091860086123_r8, 0.0065320478389470013_r8, & + 0.0066788001430411852_r8, 0.0066642480389569438_r8, & + 0.0065804360113185627_r8, 0.0063440846330513169_r8, & + 0.0062742799091941234_r8, 0.0065362063113137223_r8, & + 0.0066982508248771104_r8, 0.0070168038924938994_r8, & + 0.007658533901943999_r8, 0.0081813542804752004_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,11) / & + 0.0002050994458759156_r8, 0.00022426066638543216_r8, & + 0.00022547221143192841_r8, 0.00024052018409768396_r8, & + 0.0002661880914222272_r8, 0.00027804701528146665_r8, & + 0.00037092264440960644_r8, 0.00048739022119995417_r8, & + 0.00059105052614437598_r8, 0.00072740249786505792_r8, & + 0.00079434187682997804_r8, 0.00083921985335203919_r8, & + 0.0008586476842878185_r8, 0.00087650620513678623_r8, & + 0.00088629766939804055_r8, 0.00092728334066847454_r8, & + 0.0011912201728949755_r8, 0.0018053863381629087_r8, & + 0.002628321897830375_r8, 0.0036208305394648424_r8, & + 0.0044816206211376972_r8, 0.0052406846770836702_r8, & + 0.0059782944181424073_r8, 0.0065073099881012442_r8, & + 0.0068089921755873977_r8, 0.0070499392687466125_r8, & + 0.0072284242679574746_r8, 0.0073457150931327281_r8, & + 0.0074165937754629239_r8, 0.0072173832465906506_r8, & + 0.0071379877380121333_r8, 0.0078632358697916811_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,11) / & + 0.00023570806964703488_r8, 0.00022476693795391996_r8, & + 0.00022208540747902216_r8, 0.00026038689374769774_r8, & + 0.00027967183882815993_r8, 0.00028339939194855108_r8, & + 0.00035258112228759995_r8, 0.0004877174651397333_r8, & + 0.0006200129910949332_r8, 0.00077024391732657775_r8, & + 0.00086965369536231099_r8, 0.00096190185552542202_r8, & + 0.0010316492407962665_r8, 0.0010646604110952887_r8, & + 0.0010810405738652441_r8, 0.0011097372143075552_r8, & + 0.0013479644820353776_r8, 0.0020390417933864886_r8, & + 0.0029375426360465774_r8, 0.0042065328264218058_r8, & + 0.0052419865460645917_r8, 0.0061377030118985477_r8, & + 0.0068118399405176864_r8, 0.00741470351158139_r8, 0.0078495345400085327_r8, & + 0.0082346314141959094_r8, 0.0085383542485276426_r8, & + 0.0089863629883000888_r8, 0.0093463849425671763_r8, & + 0.0095682475760101322_r8, 0.0097458456654607971_r8, & + 0.010178120167717998_r8, 0.011463204139763199_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,11) / & + 0.00035326125325898508_r8, 0.00034215688369632589_r8, & + 0.0003472589142208_r8, 0.00036292420548254817_r8, & + 0.00038155376601688889_r8, 0.00042648511343816294_r8, & + 0.00060202172908791472_r8, 0.00080650443418453337_r8, & + 0.0010118655220141331_r8, 0.0011752044311603377_r8, & + 0.0012788945703156266_r8, 0.0013547805611691202_r8, & + 0.0014567580501599735_r8, 0.0015438071303564892_r8, & + 0.0016498073071190313_r8, 0.0018077634520037686_r8, & + 0.0023449225230034489_r8, 0.0032749271335232272_r8, & + 0.0042468733643496979_r8, 0.0055009831561708359_r8, & + 0.0066210443322658168_r8, 0.0072766472336968221_r8, & + 0.0078953517830664989_r8, 0.008394436558947534_r8, 0.008773189613608165_r8, & + 0.0091325082214425563_r8, 0.0093910116825785105_r8, & + 0.010064114658311694_r8, 0.010590465754445243_r8, 0.011028943952622756_r8, & + 0.011496721337028133_r8, 0.011747467131108934_r8, 0.01201726968923689_r8, & + 0.012096938785157333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,11) / & + 0.00036774659233094174_r8, 0.00035627484002859319_r8, & + 0.00036042351387693034_r8, 0.00040882436304520302_r8, & + 0.00042884466478997329_r8, 0.00048502130477189926_r8, & + 0.00064409104224317625_r8, 0.00090814121600765632_r8, & + 0.0011905744918637984_r8, 0.0014152928497934371_r8, & + 0.0015291662569296592_r8, 0.0016393958965452446_r8, & + 0.001663736082075378_r8, 0.0018206676585806223_r8, & + 0.0020939819864797629_r8, 0.0024914475962775702_r8, & + 0.0032243440141613189_r8, 0.0042373976010663993_r8, & + 0.0051651158769615213_r8, 0.0061288565383949088_r8, & + 0.0071710379400152712_r8, 0.0077551697213484976_r8, & + 0.0082759435096759378_r8, 0.0086981177656796881_r8, & + 0.0091527934426398894_r8, 0.0096400312159950555_r8, & + 0.010004916189680569_r8, 0.010726953713618677_r8, 0.011311307128845392_r8, & + 0.01179945399659141_r8, 0.012117818541109333_r8, 0.012374568992885486_r8, & + 0.012550932267522488_r8, 0.012611483243606399_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,22,11) / & + 0.00035031869826455226_r8, 0.00032655578260950549_r8, & + 0.00032518685462172797_r8, 0.00038675999367792534_r8, & + 0.00040584009450827737_r8, 0.00044322609026235717_r8, & + 0.0005512210229565226_r8, 0.00082436629983737616_r8, & + 0.0011344493480000533_r8, 0.0014007014757999999_r8, & + 0.0015236711806354451_r8, 0.0016246778863303467_r8, & + 0.0016883665090699944_r8, 0.0019041662186216109_r8, & + 0.0022471869742152211_r8, 0.0026348807688770137_r8, & + 0.0034551383443853761_r8, 0.0045355817369384932_r8, & + 0.0054863354532122665_r8, 0.0063785653150971603_r8, & + 0.0072498950131431464_r8, 0.0079446429451399472_r8, & + 0.0085227846015513611_r8, 0.0089943371202043203_r8, & + 0.0095520709805683186_r8, 0.010151486321212187_r8, 0.01064950785320784_r8, & + 0.011502942528762999_r8, 0.012197478233263467_r8, 0.012584453850077667_r8, & + 0.012975589125819999_r8, 0.013197409304987601_r8, 0.013238241875282135_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,11) / & + 0.00035793765643115998_r8, 0.00041593135651222401_r8, & + 0.00040880212119366664_r8, 0.0009435827370691067_r8, & + 0.0011857949394671998_r8, 0.0014010354872703399_r8, & + 0.0025509545585763599_r8, 0.0030498153227987994_r8, & + 0.0030703735326791108_r8, 0.002775716717849422_r8, & + 0.0029777149765783106_r8, 0.0030372719953157263_r8, & + 0.0030585930715709077_r8, 0.0030190529953876143_r8, & + 0.0030190529953876143_r8, 0.0030190529953876143_r8, & + 0.0030190529953876143_r8, 0.0030190529953876143_r8, & + 0.0030190529953876143_r8, 0.0030190529953876143_r8, & + 0.0030190529953876143_r8, 0.0030190529953876143_r8, & + 0.0030190529953876143_r8, 0.0030190529953876143_r8, & + 0.0030190529953876143_r8, 0.0030190529953876143_r8, & + 0.0030190529953876143_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,11) / & + 0.00033408629264579924_r8, 0.00037279927172059253_r8, & + 0.00044963901293373475_r8, 0.0013093523820537564_r8, & + 0.0016074307543752849_r8, 0.0018433160903780273_r8, & + 0.0029052459007414748_r8, 0.0031206461455112466_r8, & + 0.0029802589246531431_r8, 0.0029094850312338192_r8, & + 0.0031681476664182653_r8, 0.0031699840100034341_r8, & + 0.0031725839848833607_r8, 0.0031689561524110908_r8, & + 0.0031692017670937296_r8, 0.0031690755329449464_r8, & + 0.0031692066443054436_r8, 0.0031697801158397667_r8, & + 0.003172123028069396_r8, 0.0031736960286440313_r8, & + 0.0031592458988591301_r8, 0.0031436700085866595_r8, & + 0.0031256396800183332_r8, 0.0031256396800183332_r8, & + 0.0031256396800183332_r8, 0.0031256396800183332_r8, & + 0.0031256396800183332_r8, 0.0031329970772913922_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,11) / & + 0.00028990278424083382_r8, 0.00033595941292176355_r8, & + 0.0004060326698303911_r8, 0.0019632053542742492_r8, & + 0.0023439777351223069_r8, 0.0025769806468750535_r8, & + 0.0031871811865240782_r8, 0.0030640693333377433_r8, & + 0.0029238602206305597_r8, 0.00300573480677536_r8, 0.0033493669983734975_r8, & + 0.0033502050884099323_r8, 0.0033021929731278524_r8, & + 0.0032696792860809963_r8, 0.0032695657708981815_r8, & + 0.003269554277380416_r8, 0.0032693782196624305_r8, & + 0.0032523561714666474_r8, 0.0032326946155782584_r8, & + 0.0032326946155782584_r8, 0.0032326946155782584_r8, & + 0.0032326946155782584_r8, 0.0032326946155782584_r8, & + 0.0032326946155782584_r8, 0.0032326946155782584_r8, & + 0.0032326946155782584_r8, 0.0032326946155782584_r8, & + 0.0032326946155782584_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,11) / & + 0.00027832549639680002_r8, 0.0003195589032704_r8, & + 0.00039042882133439997_r8, 0.0032226484559648005_r8, & + 0.0034558749135936003_r8, 0.0034860232638699571_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,11) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,11) / & + 0.001580684499242187_r8, 0.0016167351002028796_r8, & + 0.0016200445296895996_r8, 0.0018067909078687996_r8, & + 0.0018517045937599997_r8, 0.0018840109292255997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,11) / & + 0.0015848178342116048_r8, 0.0016170957102760962_r8, & + 0.0016472738649841265_r8, 0.0018849933279135916_r8, & + 0.0019269182651771191_r8, 0.0019935591211834441_r8, & + 0.0021028518743258194_r8, 0.0021407720799839153_r8, & + 0.0021883814993275486_r8, 0.0022507641197728957_r8, & + 0.0023178603652378262_r8, 0.0024205742032261724_r8, & + 0.0025006387245708637_r8, 0.0024652585769288885_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,11) / & + 0.0015909586206437662_r8, 0.0016470336630683919_r8, & + 0.0016076776738832854_r8, 0.001822583722083345_r8, & + 0.0018688921888532016_r8, 0.0019568327535412675_r8, & + 0.0021476120491704361_r8, 0.002247471146860931_r8, & + 0.0023213826049940539_r8, 0.0023696361101358354_r8, & + 0.0024050244279611912_r8, 0.0024659576323375764_r8, & + 0.0025840861975929322_r8, 0.0025815702106472427_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,11) / & + 0.0014053487483655896_r8, 0.0014737110760291556_r8, & + 0.0012647030617759605_r8, 0.001360725707802153_r8, & + 0.0014653575746438321_r8, 0.0017144709195275848_r8, & + 0.0019195579025182809_r8, 0.0019785012311708439_r8, & + 0.0020339923475162073_r8, 0.0021176978409895506_r8, & + 0.0021952965109282878_r8, 0.0022356271181997035_r8, & + 0.0021026530145149629_r8, 0.0019992145050140441_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,11) / & + 0.0012991028735750321_r8, 0.0012238898080095344_r8, & + 0.00097412980311419246_r8, 0.0010466237957554568_r8, & + 0.0011755166235671176_r8, 0.0014070325262611491_r8, & + 0.0016834131322050368_r8, 0.0017086303407765598_r8, & + 0.0017414346399269927_r8, 0.0018009033961408794_r8, & + 0.0018402586875180442_r8, 0.0019060693367447317_r8, & + 0.0020127107189929555_r8, 0.0020552165951553147_r8, & + 0.0021267335384359009_r8, 0.0021597101290734685_r8, & + 0.0022318150562110578_r8, 0.0023747768936048831_r8, & + 0.0025077132459909684_r8, 0.0026540695389385958_r8, & + 0.0028398173044756857_r8, 0.0029412562669555672_r8, & + 0.003034564324271692_r8, 0.0032177662481434311_r8, & + 0.0033613004065317924_r8, 0.0035077553755129606_r8, & + 0.0036155096041394484_r8, 0.0037944881937756443_r8, & + 0.0039037817685253699_r8, 0.0039587837896209776_r8, & + 0.0040266729006970077_r8, 0.0040742347488636451_r8, & + 0.0041212703248513973_r8, 0.0041527808715620734_r8, & + 0.0041670231124031204_r8, 0.0041507086748577195_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,11) / & + 0.0019359852855978139_r8, 0.0021485495618429372_r8, & + 0.0019785071592717963_r8, 0.0020152121488482768_r8, & + 0.0019792286332683852_r8, 0.0020888024965003854_r8, & + 0.0019724648145503609_r8, 0.0017501155472264957_r8, & + 0.0018233902500050963_r8, 0.0019036993242504431_r8, & + 0.0019587568086151638_r8, 0.0020088992513781208_r8, & + 0.0020817230329088529_r8, 0.0021418308352496992_r8, & + 0.0022188932765103931_r8, 0.002261144597435654_r8, & + 0.0023395598024399541_r8, 0.0024264974190289644_r8, & + 0.0025174031425992168_r8, 0.0026138551975182492_r8, & + 0.0027508450726206422_r8, 0.0028626284499671966_r8, & + 0.0029869023458797038_r8, 0.0031527511808456701_r8, & + 0.0033007435343960501_r8, 0.0034467969265805963_r8, & + 0.0035872588952915755_r8, 0.0038359870556157385_r8, & + 0.0039600354909043092_r8, 0.0040372332085393649_r8, & + 0.0040999563541178471_r8, 0.0041654752114331133_r8, & + 0.0042145579892635798_r8, 0.0042523790089285338_r8, & + 0.0042626406881835941_r8, 0.0042547337841022234_r8, & + 0.0042486250895400297_r8, 0.0042551183555093342_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,11) / & + 0.0024326492741119994_r8, 0.0031258123211946659_r8, & + 0.003067902027861333_r8, 0.0037226126401706658_r8, & + 0.0036678989950293321_r8, 0.0037572198314666668_r8, & + 0.0032331548409173338_r8, 0.0023186818168319996_r8, & + 0.002202444276053333_r8, 0.0022559997153279994_r8, & + 0.0022645704387413332_r8, 0.0023033471711573334_r8, & + 0.0022968148900693328_r8, 0.0023641298150399999_r8, & + 0.0024112919579306665_r8, 0.0024624846572373332_r8, & + 0.0024894476898133324_r8, 0.0025321159939413335_r8, & + 0.0026122175116799996_r8, 0.0027222933972479994_r8, & + 0.0028301455275519991_r8, 0.0029553707458559995_r8, & + 0.0030987566321493331_r8, 0.0032540488747520007_r8, & + 0.0034325515629226666_r8, 0.0035879827902293325_r8, & + 0.0037908078015999993_r8, 0.0041180241230506674_r8, & + 0.0041470719261866669_r8, 0.0041602291448319994_r8, & + 0.0041933075043840001_r8, 0.0042311113438720004_r8, & + 0.0042654405657599993_r8, 0.0042717875339093317_r8, & + 0.0042850837372586659_r8, 0.0042994918182399991_r8, & + 0.004365185254997332_r8, 0.0043722329376960009_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,12) / & + 0.0039812078599999997_r8, 0.0039870113699999998_r8, & + 0.0038739365299999997_r8, 0.003858398099999999_r8, 0.00389846104_r8, & + 0.0040736896000000003_r8, 0.00446888991_r8, 0.0046542278099999997_r8, & + 0.0048170381066666669_r8, 0.0050707700600000002_r8, & + 0.0053010383599999995_r8, 0.0053279966_r8, 0.0056919328400000004_r8, & + 0.0061861672399999993_r8, 0.0064789636799999998_r8, 0.00665194572_r8, & + 0.0070158819599999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,12) / & + 0.0036869333854938264_r8, 0.0036718560467901228_r8, & + 0.0035561637336419755_r8, 0.0036258555451851846_r8, & + 0.0036930662464197527_r8, 0.0039971345774074069_r8, & + 0.0044837754162345683_r8, 0.0048093070270370381_r8, & + 0.0050913735605555566_r8, 0.0056795707066490311_r8, & + 0.0059257700163492071_r8, 0.0059790566849294525_r8, & + 0.0060648794279629624_r8, 0.0063710760758112876_r8, & + 0.0065938812343033504_r8, 0.0067241785688624319_r8, & + 0.0069256564802028207_r8, 0.0071797754002380964_r8, & + 0.0074393331504761908_r8, 0.0076788014847619032_r8, & + 0.0078650120408994724_r8, 0.0080554694905555536_r8, & + 0.0082373331097354494_r8, 0.0083899077739417981_r8, & + 0.0085510802307407398_r8, 0.0087019937776455034_r8, & + 0.0087605464291005287_r8, 0.0089059174704232778_r8, & + 0.0089957064570634921_r8, 0.0090346128552857147_r8, & + 0.0090498304529100515_r8, 0.0090843452413121688_r8, & + 0.0090523321332063485_r8, 0.0090147966272592604_r8, & + 0.0090073248681481477_r8, 0.0089946029085925926_r8, & + 0.0089799922081481472_r8, 0.008945377425833333_r8, & + 0.0089703543600000001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,12) / & + 0.0029381338320987656_r8, 0.0029392339797530867_r8, & + 0.0028870555481481479_r8, 0.0028959214439506168_r8, & + 0.0029782568641975311_r8, 0.0032503908671604937_r8, & + 0.0038843532641975303_r8, 0.0044339648444444444_r8, & + 0.0048282244819753085_r8, 0.0053668345856790122_r8, & + 0.0057241884296296303_r8, 0.0059758448943209872_r8, & + 0.0061742597595061729_r8, 0.0063568565353086413_r8, & + 0.0064463752725925924_r8, 0.0065142608543209872_r8, & + 0.0066036501624691371_r8, 0.0067381177896296291_r8, & + 0.0069152785417283934_r8, 0.0070985686879012329_r8, & + 0.0072917324281481484_r8, 0.0075165323471604942_r8, & + 0.0077280380449382714_r8, 0.0079072696632098757_r8, & + 0.0080900051130864178_r8, 0.0082318317111111112_r8, & + 0.008470646956543211_r8, 0.0087543186424691357_r8, & + 0.0089537134711111105_r8, 0.0090408192795061737_r8, & + 0.0091170807753086433_r8, 0.0091460451669135804_r8, & + 0.0091404704691358009_r8, 0.0091000700888888893_r8, & + 0.0090666219022222227_r8, 0.0090322677116049382_r8, & + 0.0090342276385185199_r8, 0.0090205094708289239_r8, & + 0.0090139846905555546_r8, 0.0090504830134814813_r8, & + 0.0091021030508148144_r8, 0.0093222556714285722_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,12) / & + 0.0024885617288888887_r8, 0.0025162503190123454_r8, & + 0.0024309010488888887_r8, 0.0022127020158024696_r8, & + 0.0022290285767901236_r8, 0.0023438691999999998_r8, & + 0.0027418822824691359_r8, 0.0034172157782716051_r8, & + 0.0038077034809876542_r8, 0.0042660028059259263_r8, & + 0.0046831621555555557_r8, 0.0051570392014814821_r8, & + 0.0056198685461728388_r8, 0.0058814818093827145_r8, & + 0.0060236412251851853_r8, 0.0060976377111111105_r8, & + 0.0062191531797530864_r8, 0.0063133498558024682_r8, & + 0.0064285417866666653_r8, 0.0065275920553086409_r8, & + 0.0066849501496296301_r8, 0.0068596517481481472_r8, & + 0.0070962759432098774_r8, 0.007305840203950616_r8, & + 0.0075622855466666661_r8, 0.0076835514019753075_r8, & + 0.007860009538765431_r8, 0.0082265251165432093_r8, & + 0.0087071787022222225_r8, 0.0088522872533333338_r8, & + 0.0090207392735802468_r8, 0.0091556691476543193_r8, & + 0.0091966149792592593_r8, 0.0092046395856790128_r8, & + 0.0091873145713580236_r8, 0.0091661898874074079_r8, & + 0.0091655612316049358_r8, 0.0091957552000000008_r8, & + 0.0091665966646913566_r8, 0.0091172541179012322_r8, & + 0.0091403885853968241_r8, 0.0093084098575555562_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,12) / & + 0.0022305262567901231_r8, 0.0022455307916049382_r8, & + 0.0020982219451851853_r8, 0.0019786756483950617_r8, & + 0.0019771409886419752_r8, 0.0020084998192592594_r8, & + 0.0021916420464197527_r8, 0.0025264012612345684_r8, & + 0.002830189932839506_r8, 0.0031576456464197525_r8, & + 0.0034861552829629629_r8, 0.0039576933595061731_r8, & + 0.0045034775353086408_r8, 0.0048990684439506171_r8, & + 0.0051648973990123456_r8, 0.0053502399214814811_r8, & + 0.0056360853235185191_r8, 0.0058014252664197541_r8, & + 0.0059415161272839499_r8, 0.0060729479478395069_r8, & + 0.0061725714026543204_r8, 0.0063050490568518514_r8, & + 0.0064907144918077602_r8, 0.0066681076880687829_r8, & + 0.0068070513511463843_r8, 0.0069426925902028227_r8, & + 0.0070655644233597889_r8, 0.0073648230752116402_r8, & + 0.0078197427148589058_r8, 0.0082208034902821869_r8, & + 0.0086260925042592595_r8, 0.0089473311619400336_r8, & + 0.0091324054161111105_r8, 0.0092581543731111108_r8, & + 0.0092694466029629649_r8, 0.0092474362539259267_r8, & + 0.009231124022592593_r8, 0.0092346255429629626_r8, 0.009216722719999999_r8, & + 0.0091503754960000003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,12) / & + 0.0014203091116049382_r8, 0.0014173969560493827_r8, & + 0.0012147941338271605_r8, 0.00097969535358024672_r8, & + 0.00099128850617283943_r8, 0.0010089001135802471_r8, & + 0.0011293154345679013_r8, 0.001286386935802469_r8, & + 0.0014581578888888888_r8, 0.0017231085748148148_r8, & + 0.0019494893782716048_r8, 0.0022079131377777776_r8, & + 0.0026105579343209872_r8, 0.0029932429091358019_r8, & + 0.0033084675693827162_r8, 0.0035992578577777779_r8, & + 0.0041042903456790123_r8, 0.004466155719506172_r8, & + 0.0047540338523456788_r8, 0.0050340815224691349_r8, & + 0.0052344840493827151_r8, 0.0053565079896296308_r8, & + 0.0054808246745679003_r8, 0.005577804077037036_r8, & + 0.0056384786069135799_r8, 0.0057020375575308636_r8, & + 0.0057330913051851836_r8, 0.0060289293298765442_r8, & + 0.0063579751728395067_r8, 0.0067635783496296301_r8, & + 0.0072299669955555547_r8, 0.0076851785111111117_r8, & + 0.0080783784475925904_r8, 0.0084201190765961186_r8, & + 0.0087516453695149921_r8, 0.0091018986056084633_r8, & + 0.0093231925138518492_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,12) / & + 0.00059229546024691356_r8, 0.00058479781530864196_r8, & + 0.00041337816987654317_r8, 0.00034327380296296289_r8, & + 0.00035463583209876539_r8, 0.00036253100938271604_r8, & + 0.00047702956987654316_r8, 0.00054456384395061726_r8, & + 0.00063071742370370378_r8, 0.00076030372345679018_r8, & + 0.00088710729679012345_r8, 0.0010010511609876542_r8, & + 0.0011812442528395062_r8, 0.0013816467797530864_r8, & + 0.0015540371437037035_r8, 0.0017780697328395063_r8, & + 0.0023152029576543206_r8, 0.0027997174606790125_r8, & + 0.0032782007970987652_r8, 0.0037248907908024689_r8, & + 0.0041309185744003527_r8, 0.004473777675846561_r8, & + 0.0047296878026719573_r8, 0.0049426893644797174_r8, & + 0.0050937199589065254_r8, 0.0051855940093033506_r8, & + 0.0052123967362345675_r8, 0.0053255460310052917_r8, & + 0.005512591603174603_r8, 0.0058955376814603172_r8, & + 0.0063864472714814822_r8, 0.0069070089444444437_r8, & + 0.0075891605822222229_r8, 0.0080742979629629622_r8, & + 0.0085784891614814809_r8, 0.00895537756_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,12) / & + 0.00031173931851851853_r8, 0.00029312001283950616_r8, & + 0.00022746246123456784_r8, 0.00026037444148148148_r8, & + 0.00026278737037037034_r8, 0.00027196759407407413_r8, & + 0.0003147346785185185_r8, 0.00036374209629629631_r8, & + 0.00040499301086419748_r8, 0.0004577168938271605_r8, & + 0.00052210788888888899_r8, 0.00059525384049382711_r8, & + 0.0006890622291358024_r8, 0.00079108012296296294_r8, & + 0.00089466965629629623_r8, 0.0010209555130864195_r8, & + 0.0014121273412345677_r8, 0.0016986372232098766_r8, & + 0.0021047488716049384_r8, 0.0025497632202469132_r8, & + 0.0029547284962962959_r8, 0.0033612006972839501_r8, & + 0.0037604433565432104_r8, 0.0041256831328395057_r8, & + 0.0044338354153086413_r8, 0.0046552609318518514_r8, & + 0.0048178285488888889_r8, 0.0049788580393209875_r8, & + 0.0050358692624074075_r8, 0.0051922612606790123_r8, & + 0.0054844769204497349_r8, 0.0058030818933227516_r8, & + 0.0062291243079259269_r8, 0.0063981123612500005_r8, & + 0.0067761595549999994_r8, 0.006936380113333333_r8, & + 0.0069189071800000003_r8, 0.0081178000199999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,12) / & + 0.00026518180938271604_r8, 0.00024732058864197532_r8, & + 0.00021984463209876541_r8, 0.00017590344049382716_r8, & + 0.0001788895555555555_r8, 0.00018452896790123458_r8, & + 0.00021328072592592592_r8, 0.0002205749822222222_r8, & + 0.00024476898567901234_r8, 0.0002660785683950617_r8, & + 0.00028338509283950614_r8, 0.00030698742024691365_r8, & + 0.00033642330370370371_r8, 0.00036277137777777782_r8, & + 0.00038282364888888893_r8, 0.00042044130271604941_r8, & + 0.00052382744740740738_r8, 0.00064345694864197524_r8, & + 0.00082723707654321001_r8, 0.0011072015422222221_r8, & + 0.0014157051323456789_r8, 0.0017979001254320984_r8, & + 0.0022839250202469131_r8, 0.0027910745990123455_r8, & + 0.0033152348641975306_r8, 0.0037686436167901237_r8, & + 0.0041889474010493822_r8, 0.0047990243444444441_r8, & + 0.0049452398118253965_r8, 0.0048561773782804232_r8, & + 0.0049575398720193989_r8, 0.0052530183346472656_r8, & + 0.0057489223374814812_r8, 0.0063125032835978827_r8, & + 0.0066608912378333333_r8, 0.007136329308095238_r8, & + 0.0074118311099999994_r8, 0.0079187333866666647_r8, & + 0.0082056015099999987_r8, 0.0087093836200000004_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,12) / & + 0.00021134853382716046_r8, 0.00020697567802469135_r8, & + 0.00019337637382716051_r8, 0.00018157983259259257_r8, & + 0.00018404823111111107_r8, 0.00018854127111111112_r8, & + 0.00022542857481481482_r8, 0.00022239623506172836_r8, & + 0.00023590308987654315_r8, 0.00024797697925925925_r8, & + 0.00025853469876543206_r8, 0.00026963786962962963_r8, & + 0.00029221400888888892_r8, 0.00030822624197530854_r8, & + 0.00031440186074074074_r8, 0.00033000731654320978_r8, & + 0.0003709254133333333_r8, 0.00043685106814814813_r8, & + 0.00055924365030864207_r8, 0.00079543102203703689_r8, & + 0.0011479165805467373_r8, 0.0015635478739506176_r8, & + 0.0020607733416578484_r8, 0.0026371999974320989_r8, & + 0.0031934894937513231_r8, 0.0037189400551604942_r8, & + 0.0042038980840987655_r8, 0.0049167156443703699_r8, & + 0.0051840683963827157_r8, 0.0051078968076049376_r8, & + 0.0051078977320987654_r8, 0.0053288378893827145_r8, & + 0.0057724435405555555_r8, 0.0060696435757777775_r8, & + 0.0064696031800000001_r8, 0.0069666387962962961_r8, & + 0.0075771028714814804_r8, 0.0080477366774999986_r8, & + 0.0083732079485714303_r8, 0.0087674187199999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,12) / & + 0.00018065533876543207_r8, 0.00017720697679012346_r8, & + 0.0001840574760493827_r8, 0.00020601420444444444_r8, & + 0.00020920370814814812_r8, 0.00021849487111111107_r8, & + 0.00025207248691358025_r8, 0.00025664873135802471_r8, & + 0.00027013709629629629_r8, 0.00027600763209876541_r8, & + 0.0002827934167901234_r8, 0.00029761305283950622_r8, & + 0.00030979788148148145_r8, 0.00033629387456790121_r8, & + 0.00035290702864197536_r8, 0.00036389926024691353_r8, & + 0.00040169256790123454_r8, 0.00047869365876543199_r8, & + 0.000636606449382716_r8, 0.00097121658956790134_r8, & + 0.0014716658993209875_r8, 0.0020512749930246912_r8, & + 0.0026677344106790122_r8, 0.0033526352619753087_r8, & + 0.0039026952217283951_r8, 0.0044373716041975313_r8, & + 0.0048735273209171079_r8, 0.0055247358201234572_r8, & + 0.0058413002700317459_r8, 0.0058865833644268081_r8, & + 0.0058733386696472661_r8, 0.0059768524510884343_r8, & + 0.005837545966634921_r8, 0.0062309930401269831_r8, & + 0.0069160865493333341_r8, 0.0074481992526388881_r8, & + 0.0079760553057142865_r8, 0.0082894377139047619_r8, & + 0.0087354058099999993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,12) / & + 0.00018938541614960279_r8, 0.00018537153100928311_r8, & + 0.00019373161609551298_r8, 0.00021826208685134731_r8, & + 0.00021954565799554791_r8, 0.00022822930910644374_r8, & + 0.00027055382817582868_r8, 0.00030172990069577874_r8, & + 0.00034462045200402141_r8, 0.00034814565523841854_r8, & + 0.00034742582498569077_r8, 0.00037148170909375849_r8, & + 0.00037038609786989502_r8, 0.00038623826399206514_r8, & + 0.00040885365437744642_r8, 0.00042640801386757481_r8, & + 0.00049125994946971191_r8, 0.00068519125996156381_r8, & + 0.0010452975402452365_r8, 0.001668449875410949_r8, & + 0.0024350423621800061_r8, 0.0031963345458390032_r8, & + 0.0039938257826596596_r8, 0.0045629680048316981_r8, & + 0.0051296552218676617_r8, 0.0055757132754306162_r8, & + 0.0058600087999175167_r8, 0.0062696340134507766_r8, & + 0.0063544706079202854_r8, 0.0062859567173057301_r8, & + 0.0061517256166931144_r8, 0.0061992148327682291_r8, & + 0.0062784170257164564_r8, 0.0067022048491319286_r8, & + 0.0074031484280174939_r8, 0.0078749292514763165_r8, & + 0.008449325776223789_r8, 0.0086922637996725335_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,12) / & + 0.00020917767487365686_r8, 0.00022138143857089421_r8, & + 0.00021449676509408_r8, 0.00022387944992838404_r8, & + 0.00023348789185083737_r8, 0.00024663319482096352_r8, & + 0.00031221104036964264_r8, 0.00036065337230074308_r8, & + 0.0004466649874621582_r8, 0.00049037926850648884_r8, & + 0.00050659523496014215_r8, 0.00052275155015066668_r8, & + 0.0005414545154209245_r8, 0.0005560690748875022_r8, & + 0.00056708161577283549_r8, 0.00059289684703153777_r8, & + 0.00074010698731623119_r8, 0.0011858579338849067_r8, & + 0.0018304494832556799_r8, 0.0027224652949676804_r8, & + 0.0036571271712581336_r8, 0.0045938154697854556_r8, & + 0.0053516331465525884_r8, 0.0058945395311100256_r8, & + 0.0063481652637971979_r8, 0.0065675188544004823_r8, & + 0.0067388335129334315_r8, 0.0068255662856457405_r8, & + 0.0067718102279352302_r8, 0.0065242995477384439_r8, & + 0.0064223761875653335_r8, 0.0066071421513081473_r8, & + 0.0066223226330146675_r8, 0.0069475367310346658_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,18,12) / & + 0.00022200489324443112_r8, 0.000222915140504_r8, 0.00021365411075169785_r8, & + 0.00024172124700204444_r8, 0.00026489152286210139_r8, & + 0.00027165760457830405_r8, 0.00033985632715785959_r8, & + 0.00042936378863466673_r8, 0.00054449475889361784_r8, & + 0.00068254159770545788_r8, 0.00075256261210766243_r8, & + 0.00078518582096655568_r8, 0.00082336509879375123_r8, & + 0.00085155230321765345_r8, 0.00085618693471689795_r8, & + 0.00087408669803056016_r8, 0.0010578102144783289_r8, & + 0.00167335171302824_r8, 0.0024454717153484804_r8, 0.003523309301175876_r8, & + 0.0044670259344147733_r8, 0.005310288730930153_r8, & + 0.0060365811127677084_r8, 0.0065980943345810899_r8, & + 0.0069193067158855905_r8, 0.0071949652321431114_r8, & + 0.0074304729511636579_r8, 0.0078021911520444898_r8, & + 0.0080239351132784364_r8, 0.0082825607584353679_r8, & + 0.0087979233763792013_r8, 0.0093919726718626681_r8, & + 0.010479358078851201_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,12) / & + 0.00028545854870445426_r8, 0.00025592297190111602_r8, & + 0.00023796666789474569_r8, 0.00026508716710064192_r8, & + 0.00028513384409960491_r8, 0.00029548119041293824_r8, & + 0.0003587275156768197_r8, 0.00046602496780460235_r8, & + 0.00060042758973633567_r8, 0.00074442223654007898_r8, & + 0.00087352088539860732_r8, 0.00098134929226650859_r8, & + 0.0010848661555248307_r8, 0.0011311603521513551_r8, & + 0.0011328262798848802_r8, 0.0011482860812886684_r8, & + 0.0013752173715308048_r8, 0.0020238065577670473_r8, & + 0.0029669358684032772_r8, 0.0041471945032383623_r8, & + 0.0052188256114729503_r8, 0.0061260604306623747_r8, & + 0.0067996970633452895_r8, 0.0074312889290709038_r8, & + 0.007887513830119949_r8, 0.0082660857543233063_r8, & + 0.0085723938823390206_r8, 0.0090668917211341564_r8, & + 0.009458280817112379_r8, 0.009809809685452137_r8, 0.010437275194707005_r8, & + 0.011031753662539678_r8, 0.011434016679742226_r8, 0.011598248297166356_r8, & + 0.011664401704151039_r8, 0.011523406881949865_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,12) / & + 0.0003965494811605926_r8, 0.00037885686220809876_r8, & + 0.00035739787759160493_r8, 0.00033650849765886416_r8, & + 0.00035258529924316051_r8, 0.00038994671666320985_r8, & + 0.0005424264031282963_r8, 0.00078826313480197534_r8, & + 0.00099943535286439473_r8, 0.0011666550135947655_r8, & + 0.0012808781895653333_r8, 0.0013885102256239012_r8, & + 0.001441983318384395_r8, 0.0015271450308981726_r8, & + 0.0016088774907240498_r8, 0.0017457337344347656_r8, & + 0.0022707639455378271_r8, 0.0031347786909862712_r8, & + 0.0040843968831930366_r8, 0.0051674260826177158_r8, & + 0.0061660811351882958_r8, 0.006972696584163233_r8, & + 0.0075658003672674813_r8, 0.0081262288939340874_r8, & + 0.008488398663825298_r8, 0.0088798827319053718_r8, & + 0.0092094056840767505_r8, 0.0099261693154997447_r8, & + 0.010424695264348336_r8, 0.010866974826495122_r8, 0.011396786063500589_r8, & + 0.011722860706967318_r8, 0.01199124597903886_r8, 0.012109874914385855_r8, & + 0.012156349280209365_r8, 0.012128432776138211_r8, 0.012062476539331731_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,12) / & + 0.00041069147247960495_r8, 0.00040504053206569886_r8, & + 0.00038634523669206917_r8, 0.00040063594467670122_r8, & + 0.00042003306990901721_r8, 0.00045994056773570376_r8, & + 0.00067523292714516533_r8, 0.0010114215299707654_r8, & + 0.0012999099034352987_r8, 0.0014981163359401879_r8, & + 0.0015897293335283755_r8, 0.0016957056421900247_r8, & + 0.0017122107443839605_r8, 0.0018996719197420641_r8, & + 0.0021757330645019255_r8, 0.0025058835104398618_r8, & + 0.0032915215346652842_r8, 0.0042842114677180045_r8, & + 0.0052182018034519712_r8, 0.0061487797940109438_r8, & + 0.0070379498229074166_r8, 0.0076756590536424685_r8, & + 0.0081331916189319904_r8, 0.0086288287053422619_r8, & + 0.009064761851704968_r8, 0.009548395227428742_r8, 0.0099296340468731266_r8, & + 0.010714231426825323_r8, 0.011291813199494636_r8, 0.01182297739737221_r8, & + 0.012198686281550736_r8, 0.012432177815226824_r8, 0.012583809366247506_r8, & + 0.012643525406809877_r8, 0.012696646666803552_r8, 0.012667273531437054_r8, & + 0.012603351697657483_r8, 0.012558277885034825_r8, 0.012598545373176961_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,12) / & + 0.00038117742686675658_r8, 0.00037661666919952129_r8, & + 0.00037158451945312873_r8, 0.00039685778244505257_r8, & + 0.00041426268293799791_r8, 0.00043456465719041409_r8, & + 0.0006021161320416493_r8, 0.00093304190562581307_r8, & + 0.0012872790169024635_r8, 0.0015589957893826004_r8, & + 0.0016634934644660768_r8, 0.0017836865419450499_r8, & + 0.0018945070243637314_r8, 0.0020718690240295965_r8, & + 0.0022932735067996168_r8, 0.0025775474096818509_r8, & + 0.0034945590650846191_r8, 0.0045334083926284229_r8, & + 0.0055013402740720753_r8, 0.0065013371475490392_r8, & + 0.0073553446352228758_r8, 0.0080511868076991802_r8, & + 0.0086795047036436965_r8, 0.0092742375196906875_r8, & + 0.009847099270404433_r8, 0.010370527735027795_r8, 0.010781311503997328_r8, & + 0.011717734047663146_r8, 0.012360469848764911_r8, 0.012766426913187676_r8, & + 0.013145052714268361_r8, 0.013320841131266173_r8, 0.013373720857149392_r8, & + 0.013418159857573678_r8, 0.013302729726560833_r8, 0.013271296697641656_r8, & + 0.013328189547628102_r8, 0.013226739144980867_r8, 0.013168461474487731_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,12) / & + 0.00040696040435601985_r8, 0.0004058350298680076_r8, & + 0.00040746872089270856_r8, 0.00043737105630476183_r8, & + 0.00044070640392838089_r8, 0.00044826065164044182_r8, & + 0.00059582649948330653_r8, 0.00099272531496350479_r8, & + 0.0014068672483469409_r8, 0.0016932389366891274_r8, & + 0.0018252255645753294_r8, 0.0019765899328438863_r8, & + 0.0021732055287018667_r8, 0.0023620466180424532_r8, & + 0.0025205889061213865_r8, 0.002783284241282275_r8, & + 0.0038222832042325333_r8, 0.0048479638514203009_r8, & + 0.0058355661563420438_r8, 0.0069483018937497596_r8, & + 0.0078179864446482495_r8, 0.0085247998877469849_r8, & + 0.0092488728108316431_r8, 0.0099027595314008163_r8, & + 0.010492004697780765_r8, 0.010997807018348229_r8, 0.011420451361158112_r8, & + 0.012480421899160175_r8, 0.013152446198152533_r8, 0.013625033490875732_r8, & + 0.014029922037191679_r8, 0.014140901638846929_r8, 0.014213741225770665_r8, & + 0.014241346996039113_r8, 0.013954540663654397_r8, 0.014041498839999998_r8, & + 0.0140993828540416_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,12) / & + 0.00044888466624088883_r8, 0.00049655857470799997_r8, & + 0.00050853219349022212_r8, 0.00060030367955133323_r8, & + 0.00067712389689622207_r8, 0.00080001103702955541_r8, & + 0.0011719967121177775_r8, 0.0015914357290113331_r8, & + 0.002017775331466222_r8, 0.0024235707248526669_r8, & + 0.0026400253938644444_r8, 0.0027948159261477778_r8, & + 0.0029521744845646667_r8, 0.0031468403183451108_r8, & + 0.0032450555018824446_r8, 0.0035140523006819998_r8, & + 0.0039549177932911104_r8, 0.0046640396109066664_r8, & + 0.0051349809433253336_r8, 0.0058482935275146657_r8, & + 0.0065829695683733321_r8, 0.0077066621815617773_r8, & + 0.008982986924700443_r8, 0.0096707137761235535_r8, 0.010527268652375998_r8, & + 0.011609431714104_r8, 0.012347888897735998_r8, 0.014190628828319998_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,26,12) / & + 0.00044427427042137158_r8, 0.00049778887023660444_r8, & + 0.00051394438688634079_r8, 0.00071776280196807695_r8, & + 0.00083404646624300716_r8, 0.00097394220654634361_r8, & + 0.0015865377645424416_r8, 0.0019980451419860739_r8, & + 0.0023484008046359664_r8, 0.0025825884633042333_r8, & + 0.0027998913481682665_r8, 0.0029239108320873904_r8, & + 0.0030619026379582219_r8, 0.0032597306100552886_r8, & + 0.0033603061946836888_r8, 0.0036308209595588442_r8, & + 0.0040810490139740882_r8, 0.0048059621198963103_r8, & + 0.0052960685402283552_r8, 0.0060483165718075993_r8, & + 0.0067913932308332663_r8, 0.0078531058528216006_r8, & + 0.0092170828047062666_r8, 0.0099344046857439989_r8, & + 0.010858644460521599_r8, 0.012012771285878399_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,12) / & + 0.00035611388232133332_r8, 0.00042011847520346667_r8, & + 0.00042521663283839997_r8, 0.0011478426199839999_r8, 0.0013864969694688_r8, & + 0.0014361661488032_r8, 0.0028044914672959997_r8, 0.0027221133162048002_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,12) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,12) / & + 0.0015765905776759998_r8, 0.0016165925170730665_r8, & + 0.001624509632965333_r8, 0.0017595133437727996_r8, & + 0.0018469768373503999_r8, 0.0018816470510207997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,12) / & + 0.0015952094864217043_r8, 0.0016305752956046558_r8, & + 0.0016485671939881008_r8, 0.0018504161339769659_r8, & + 0.0018841437742164137_r8, 0.0019541190388687947_r8, & + 0.0020409918907119007_r8, 0.0020812861150306164_r8, & + 0.0021606881995683948_r8, 0.0022236196962251847_r8, & + 0.0022850456546844441_r8, 0.0023820625361333329_r8, & + 0.002494255242613333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,12) / & + 0.0015056666188451291_r8, 0.0015566100706714862_r8, & + 0.0015340972861113415_r8, 0.0017244213599938898_r8, & + 0.0017896836049412215_r8, 0.0018797761269769479_r8, & + 0.0020475046487090569_r8, 0.0021462463839305745_r8, & + 0.002217467895379121_r8, 0.0022859994601430915_r8, & + 0.0023476613149126056_r8, 0.0024551505498333894_r8, & + 0.0025835016514864761_r8, 0.0025978721743513847_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,12) / & + 0.0012742925404070715_r8, 0.0013309770140931948_r8, & + 0.0011599007153141729_r8, 0.001337924058612622_r8, & + 0.0014386348941918025_r8, 0.0016839124476231105_r8, & + 0.0018575459407037629_r8, 0.0019460248635401478_r8, & + 0.002019229877912425_r8, 0.0021212155052937566_r8, & + 0.0022087385245459609_r8, 0.0023299419237458791_r8, & + 0.0023828256151872586_r8, 0.0022304168348101327_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,12) / & + 0.0011909539408143802_r8, 0.0010787263986673779_r8, & + 0.00092015949476927095_r8, 0.0010415803540411524_r8, & + 0.0011759152434168973_r8, 0.0013982762029990932_r8, & + 0.001665504215260516_r8, 0.0017126658772911264_r8, & + 0.0017465313353736843_r8, 0.0018102259318811087_r8, & + 0.0018530677764433806_r8, 0.0019382886279820306_r8, & + 0.0020300573391749195_r8, 0.0020679602133155399_r8, & + 0.002129981389597013_r8, 0.0021571567692341333_r8, & + 0.0022315387633171438_r8, 0.0023638435890885687_r8, & + 0.0024887082419310226_r8, 0.0026154082689973336_r8, & + 0.0028156416762582042_r8, 0.0029233761696779853_r8, & + 0.0030194076855198349_r8, 0.0032012478801287103_r8, & + 0.0033531102957479113_r8, 0.0035009269939919405_r8, 0.00361400972842963_r8, & + 0.0037879755755619556_r8, 0.0038972099446915559_r8, & + 0.0039571720810731466_r8, 0.0040189103860584696_r8, & + 0.0040705179516002761_r8, 0.0041120276697097476_r8, & + 0.0041445249767558317_r8, 0.0041611683344130379_r8, & + 0.0041491298583210667_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,12) / & + 0.0018591933970858411_r8, 0.0020626039719992364_r8, & + 0.0019223223717874042_r8, 0.0019277334267618243_r8, & + 0.0019067204966111604_r8, 0.0020238698368073484_r8, & + 0.0019242162410284512_r8, 0.0017351900539220547_r8, & + 0.0018218571177623444_r8, 0.0018990548353973989_r8, & + 0.0019512264237757631_r8, 0.0020059682632669767_r8, & + 0.0020765825306831545_r8, 0.0021341200819111508_r8, & + 0.0022132567609120398_r8, 0.0022551924369637929_r8, & + 0.0023373051962006122_r8, 0.0024229351411708053_r8, & + 0.0025143819702384985_r8, 0.0026092107086652053_r8, & + 0.0027506647041214954_r8, 0.0028653339774544072_r8, & + 0.0029860906876335411_r8, 0.0031518493383499327_r8, & + 0.0033028628642610314_r8, 0.0034515315996832127_r8, & + 0.0035938874376352397_r8, 0.0038359870556157372_r8, & + 0.0039583670822871979_r8, 0.0040377292219120203_r8, & + 0.0040990996037468972_r8, 0.00416452827681259_r8, 0.0042110858956549936_r8, & + 0.0042480163458554071_r8, 0.0042580799418480125_r8, & + 0.004255070042518491_r8, 0.0042447697128707553_r8, & + 0.0042587708176170672_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,12) / & + 0.0024136083696639993_r8, 0.003098849288618667_r8, & + 0.0030403367282346664_r8, 0.0036646560186026659_r8, & + 0.0036182814557013331_r8, 0.0036828630148266661_r8, & + 0.0033155727703893323_r8, 0.0022769400773973332_r8, & + 0.0022438617178453329_r8, 0.0022854644725760001_r8, & + 0.0022913944866133334_r8, 0.0023147439168853326_r8, & + 0.0022938498830506662_r8, 0.0023588947245226665_r8, & + 0.0024086049203199998_r8, 0.002460260901973333_r8, 0.002489308705109332_r8, & + 0.0025314210704213331_r8, 0.002612078526976_r8, 0.0027222933972479994_r8, & + 0.0028290336499199992_r8, 0.0029553707458559995_r8, & + 0.0030980617086293328_r8, 0.0032548827829760006_r8, & + 0.0034359335240533337_r8, 0.003588538729045332_r8, & + 0.0037938654650879994_r8, 0.0041196919394986672_r8, & + 0.004146979269717333_r8, 0.0041603681295359993_r8, & + 0.0041918250008746664_r8, 0.0042293971991893328_r8, & + 0.0042654868939946662_r8, 0.0042715095645013326_r8, & + 0.0042848984243199989_r8, 0.0042998161158826652_r8, & + 0.0043633784538453322_r8, 0.0043732289947413334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,13) / & + 0.0034789153625868641_r8, 0.0034501346922222219_r8, & + 0.0032962713496560844_r8, 0.003428933902619048_r8, & + 0.0035286227323544977_r8, 0.0038424857452645498_r8, & + 0.0044594670066666663_r8, 0.0048544964503968255_r8, & + 0.0051971397815873017_r8, 0.0058112460322751322_r8, & + 0.0060086905751534393_r8, 0.0060446610451216935_r8, & + 0.0060592978955343914_r8, 0.006261397132761904_r8, & + 0.0064549623674708982_r8, 0.0065572257804444424_r8, & + 0.0067324555290793646_r8, 0.0069949477217777769_r8, & + 0.0073046473427724849_r8, 0.0075403984194497347_r8, & + 0.0077410045331111101_r8, 0.0079260581512592583_r8, & + 0.0081005101364444443_r8, 0.0082529087836296297_r8, & + 0.0084292259351111121_r8, 0.0085989588415555547_r8, & + 0.008715938743481479_r8, 0.008882181223481481_r8, 0.0089816604572592589_r8, & + 0.0090336535278518516_r8, 0.0090595314968148141_r8, & + 0.0090859835764444431_r8, 0.0090725848874074061_r8, & + 0.0090545919262962956_r8, 0.0090354618377777758_r8, & + 0.0090120813888888898_r8, 0.0090141614999999994_r8, & + 0.0090332569199999997_r8, 0.0090452383600000009_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,13) / & + 0.0028245135407407402_r8, 0.0028272130627160492_r8, & + 0.0027931824449382715_r8, 0.0027779190518518516_r8, & + 0.0028544948755555555_r8, 0.003040965280493827_r8, & + 0.0037155314464197534_r8, 0.0043080857649382704_r8, & + 0.0047796330864197526_r8, 0.0053558608439506165_r8, & + 0.0056713166276543209_r8, 0.005858508137777778_r8, & + 0.0060641895244444447_r8, 0.0062239513027160485_r8, & + 0.0063089954898765434_r8, 0.0063653433886419761_r8, & + 0.0064661132158024704_r8, 0.0066210676261728389_r8, & + 0.0068254732113580225_r8, 0.0070081994162962949_r8, & + 0.0072105988498765428_r8, 0.0073738182350617295_r8, & + 0.0075951513022222226_r8, 0.0077463430227160497_r8, & + 0.0079372325081481492_r8, 0.0081000728508641984_r8, & + 0.0083349589975308634_r8, 0.0086787505170370389_r8, & + 0.0088894888849382712_r8, 0.0089859690607407405_r8, & + 0.0090856572301234572_r8, 0.0091503348182716045_r8, & + 0.0091679464256790109_r8, 0.0091608463130864199_r8, & + 0.0091253827298765442_r8, 0.0090884584464197525_r8, & + 0.0090731453617901234_r8, 0.0090793823933597879_r8, & + 0.0090911843825044088_r8, 0.0091153161146984123_r8, & + 0.0091469700569523811_r8, 0.009380053044444444_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,13) / & + 0.0023986362143209872_r8, 0.0024317515832098773_r8, & + 0.0024764785945679013_r8, 0.002142902731851852_r8, & + 0.0021382710177777777_r8, 0.0022055926582716053_r8, & + 0.0026374237249382712_r8, 0.0033068404602469136_r8, & + 0.0037713431387654322_r8, 0.0042044222720987656_r8, & + 0.0046130392987654319_r8, 0.0050094622518518511_r8, & + 0.0054744641570370371_r8, 0.0057414579743209886_r8, & + 0.005903577211851853_r8, 0.0059038083353086419_r8, & + 0.0060326920197530864_r8, 0.0061094804770370362_r8, & + 0.0062951835520987653_r8, 0.0064140549683950618_r8, & + 0.0065576288597530858_r8, 0.006689776007407406_r8, & + 0.0069165543432098764_r8, 0.0070971172325925902_r8, & + 0.007331088130370372_r8, 0.0074831026503703706_r8, & + 0.0076838102602469144_r8, 0.0080899219086419741_r8, & + 0.0085195064553086411_r8, 0.0087041186276543211_r8, & + 0.0089200249160493825_r8, 0.0090938944701234575_r8, & + 0.009161576663209877_r8, 0.0092217334765432105_r8, & + 0.0092207072883950612_r8, 0.0091901989920987644_r8, & + 0.0091715704414814803_r8, 0.0091958199145679015_r8, & + 0.0091907906681481469_r8, 0.0091720881580246907_r8, & + 0.0091809736993209868_r8, 0.0093287491839999983_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,13) / & + 0.0020708661728395064_r8, 0.0020972882064197529_r8, & + 0.0021657931990123453_r8, 0.0018405377807407409_r8, & + 0.0018354530646913579_r8, 0.0018834712740740734_r8, & + 0.0019989590429629629_r8, 0.0023391727713580248_r8, & + 0.002637839747160494_r8, 0.002912691761975309_r8, 0.0031843172933333332_r8, & + 0.003549187272098765_r8, 0.0041384226577777777_r8, & + 0.0045193326044444451_r8, 0.0048385325881481469_r8, & + 0.0050097580898765433_r8, 0.0053531705669135794_r8, & + 0.0055614590261728386_r8, 0.0057461821377777769_r8, & + 0.0058951365832098758_r8, 0.0059878725590123459_r8, & + 0.0060678967446913569_r8, 0.0061881364118518507_r8, & + 0.0063277627145679003_r8, 0.006465521539753087_r8, & + 0.0066111570523456785_r8, 0.0067367218039506172_r8, & + 0.0071238720839506163_r8, 0.0075548711061728391_r8, & + 0.0079320923224691364_r8, 0.0083405244503703714_r8, & + 0.0086927750883950619_r8, 0.0089261196416049373_r8, & + 0.0090896556659259241_r8, 0.0092415523129629612_r8, & + 0.0092974208616790118_r8, 0.0092749533174268078_r8, & + 0.0092168544603703686_r8, 0.0092312626966666658_r8, & + 0.0091618355214814831_r8, 0.0091480790533333342_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,13) / & + 0.0013554928493827159_r8, 0.0013562324444444445_r8, & + 0.0013411354602469133_r8, 0.00099753808444444435_r8, & + 0.0010066443486419754_r8, 0.0010112205930864198_r8, & + 0.0010944157925925925_r8, 0.0012397184874074071_r8, & + 0.0014185618182716046_r8, 0.0016164959466666666_r8, & + 0.0018074501466666668_r8, 0.0020294765841975307_r8, & + 0.0024722351679012347_r8, 0.0028396844844444441_r8, & + 0.0031852602770370371_r8, 0.0035189563239506174_r8, & + 0.0040639824148148151_r8, 0.0044419432261728394_r8, & + 0.0047384653762962961_r8, 0.0050524512148148156_r8, & + 0.0052677843170370366_r8, 0.0053190474997530856_r8, & + 0.0054156478597530856_r8, 0.0054721066977777783_r8, & + 0.0055148922720987641_r8, 0.0055513543086419745_r8, & + 0.0055241372103703714_r8, 0.0058246624187654307_r8, & + 0.0061966972246913568_r8, 0.0066806235185185182_r8, & + 0.0072030549802469136_r8, 0.0076643126854320986_r8, & + 0.008112276169382716_r8, 0.0085070442785185173_r8, & + 0.0089117599412345677_r8, 0.0093144616932010569_r8, & + 0.0094831803968994689_r8, 0.0094235897699999991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,13) / & + 0.00068911769876543207_r8, 0.0006797803111111111_r8, & + 0.00059821222074074077_r8, 0.00044841648592592595_r8, & + 0.00045973229037037029_r8, 0.0004701051111111111_r8, & + 0.00058728470370370358_r8, 0.00069318547160493829_r8, & + 0.00081461773580246899_r8, 0.00094796672543209879_r8, & + 0.001071867388148148_r8, 0.001176242741234568_r8, 0.001372902223765432_r8, & + 0.0015633525746296295_r8, 0.0018001362448765432_r8, & + 0.0020774878598765431_r8, 0.0026867639604938273_r8, & + 0.0032806133958112869_r8, 0.0037009019919576722_r8, & + 0.0040974200358377417_r8, 0.0044701323636684304_r8, & + 0.0047040689231040564_r8, 0.004895852526137565_r8, & + 0.0050346639535802477_r8, 0.0051475862520987637_r8, & + 0.0052101791066666656_r8, 0.0052069260440123456_r8, & + 0.0053297359691005294_r8, 0.0055882086937619046_r8, & + 0.0060060435842380962_r8, 0.0066258187320211636_r8, & + 0.0071511040401587298_r8, 0.0077173162277777768_r8, & + 0.0082347577340740746_r8, 0.0087565189377777786_r8, & + 0.0093144463399999992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,13) / & + 0.00041049374913580249_r8, 0.00039217028148148141_r8, & + 0.00034050956641975308_r8, 0.0002733450898765432_r8, & + 0.00027620177580246915_r8, 0.00029241739753086419_r8, & + 0.0003501797718518518_r8, 0.00041555073037037029_r8, & + 0.00047698334518518528_r8, 0.00054311238864197526_r8, & + 0.00061964198765432094_r8, 0.00066170645679012338_r8, & + 0.00076078446024691363_r8, 0.00082670087012345656_r8, & + 0.00095012079604938249_r8, 0.0010681694128395062_r8, & + 0.0014856523353086418_r8, 0.0018402326977777779_r8, & + 0.0022419530004938273_r8, 0.0027056791041975303_r8, & + 0.0031262313461728397_r8, 0.0034791938444444443_r8, & + 0.0038710313081481481_r8, 0.0042046533955555554_r8, & + 0.004493400552592593_r8, 0.0047178676538271605_r8, & + 0.0048716664469135793_r8, 0.0050542262429629616_r8, & + 0.0052100866572839504_r8, 0.005432660857407407_r8, & + 0.0057745667396825393_r8, 0.0062299687339841267_r8, & + 0.0066810643039682538_r8, 0.0069151907148148149_r8, & + 0.0075388634955555547_r8, 0.0079329863079999983_r8, & + 0.0078998875800000007_r8, 0.0079811367199999986_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,13) / & + 0.0002750646483950617_r8, 0.00025752700049382716_r8, & + 0.00024224511753086417_r8, 0.00019161983555555554_r8, & + 0.00019330241432098769_r8, 0.00020039328197530863_r8, & + 0.00021777376592592594_r8, 0.00023522820938271603_r8, & + 0.00026024501234567899_r8, 0.00029086424790123453_r8, & + 0.00031111066271604938_r8, 0.00032231552790123455_r8, & + 0.00034303343456790116_r8, 0.00037164651851851843_r8, & + 0.00040831194370370363_r8, 0.00044103902518518521_r8, & + 0.00054134660543209872_r8, 0.00066452616296296303_r8, & + 0.00087347101283950616_r8, 0.0011659716148148147_r8, & + 0.0014952023565432098_r8, 0.0019106421476543206_r8, & + 0.002413908852345679_r8, 0.0029377362997530863_r8, & + 0.0034394221199999997_r8, 0.0038998662706172839_r8, & + 0.0043041566661728399_r8, 0.0048783412923456785_r8, & + 0.0051924681161728391_r8, 0.0052984487867548495_r8, & + 0.0056109864717283943_r8, 0.006113863469253967_r8, & + 0.0068203740005661354_r8, 0.0074104776510370372_r8, & + 0.0079101411410370352_r8, 0.0081589706191666656_r8, & + 0.008121731430000001_r8, 0.0080992038266666667_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,13) / & + 0.00019682473580246915_r8, 0.00019176775456790121_r8, & + 0.00018904049777777778_r8, 0.00017730867111111112_r8, & + 0.00017547817333333335_r8, 0.0001795736809876543_r8, & + 0.00020379541925925922_r8, 0.00021071063308641976_r8, & + 0.00023112345679012343_r8, 0.00025036217333333338_r8, & + 0.00026675344888888889_r8, 0.00028228494518518522_r8, & + 0.00029784417629629626_r8, 0.00030936336938271604_r8, & + 0.00031960676098765435_r8, 0.00033523070666666659_r8, & + 0.00037362493530864198_r8, 0.00044251821530864194_r8, & + 0.00057082871358024687_r8, 0.00081332344444444437_r8, & + 0.0011685509525925925_r8, 0.0015987364202469136_r8, & + 0.002099386807407407_r8, 0.0027404030923456786_r8, & + 0.0033286954943209878_r8, 0.0038808679224691359_r8, & + 0.0043581286158024682_r8, 0.0051463890325925913_r8, & + 0.0056165854374691368_r8, 0.0057974776777777771_r8, & + 0.0060799902795679013_r8, 0.0066412470151851841_r8, & + 0.0072981005727530855_r8, 0.0078541632709259249_r8, & + 0.0082242254381481479_r8, 0.0085977966537619036_r8, & + 0.0087983008815999998_r8, 0.008366414899999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,13) / & + 0.0001726122424691358_r8, 0.00017129946123456793_r8, & + 0.0001744519851851852_r8, 0.00020175228790123454_r8, & + 0.00020343486666666666_r8, 0.00021933616049382717_r8, & + 0.00024463955654320979_r8, 0.00024364110320987655_r8, & + 0.00025332979851851851_r8, 0.00026424807061728391_r8, & + 0.00027417713432098767_r8, 0.00029219551901234561_r8, & + 0.00030672856197530861_r8, 0.00032036484592592589_r8, & + 0.00032833398271604931_r8, 0.00033969601185185181_r8, & + 0.00036878058765432101_r8, 0.00042949209728395066_r8, & + 0.0005775775185185185_r8, 0.0008735623066049382_r8, & + 0.0013443446094444445_r8, 0.0018773129895679011_r8, & + 0.0024949927390740738_r8, 0.0031698258525925927_r8, & + 0.0038373057733333328_r8, 0.0044148879143209871_r8, & + 0.0048577554562257482_r8, 0.0056094448782716055_r8, & + 0.0061298304351604938_r8, 0.0064955930127160487_r8, & + 0.0067666450277248684_r8, 0.0072726517009964716_r8, & + 0.0078381350242857136_r8, 0.0083194864046984129_r8, & + 0.0086966747354285702_r8, 0.0088474024590740764_r8, & + 0.0089537301120000013_r8, 0.0090053579497499994_r8, & + 0.0090814868962499993_r8, 0.0092257087999999994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,13) / & + 0.00019606712399372419_r8, 0.00018370565202563806_r8, & + 0.00018502699568430619_r8, 0.0002097082787589333_r8, & + 0.00021072896986678517_r8, 0.00022064911534833584_r8, & + 0.00024950186577207649_r8, 0.00026855924499459381_r8, & + 0.00028821164547212727_r8, 0.0003022778798946336_r8, & + 0.00031103693716492584_r8, 0.00033176529882662743_r8, & + 0.00033920301243825154_r8, 0.00035282611416345792_r8, & + 0.00036117134020906998_r8, 0.00036692553840566173_r8, & + 0.0004133690668559984_r8, 0.00051717654652391678_r8, & + 0.0007395208423285175_r8, 0.0011912745605775928_r8, & + 0.0018858661079033951_r8, 0.0026534485956122992_r8, & + 0.0035030929819580298_r8, 0.0042269583668656388_r8, & + 0.004907485762812012_r8, 0.0054268216612245743_r8, 0.005771724365565562_r8, & + 0.0064014169005156829_r8, 0.0071039226228396448_r8, & + 0.0078052492733471134_r8, 0.0083019215390885519_r8, & + 0.0089661855266130411_r8, 0.0093870992713426821_r8, & + 0.0095942791732448809_r8, 0.0096141990850578708_r8, & + 0.009600133544983059_r8, 0.0095842745048187305_r8, & + 0.0096208800291195315_r8, 0.0096906172648953161_r8, & + 0.0097483378938431463_r8, 0.0096152951823251179_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,13) / & + 0.00021155333094616336_r8, 0.00019760436861174075_r8, & + 0.00019423642115000845_r8, 0.00020524732326437673_r8, & + 0.00020724061501490158_r8, 0.0002109502462228529_r8, & + 0.00023128193132960424_r8, 0.00025380104792054346_r8, & + 0.00028901954697687114_r8, 0.00033481795138375108_r8, & + 0.00038254813900426667_r8, 0.00043813393912298657_r8, & + 0.00048645146225738661_r8, 0.00047943372057820803_r8, & + 0.00047246278219779199_r8, 0.00047325614399740625_r8, & + 0.00051819602907110041_r8, 0.00067473379148567123_r8, & + 0.0010195456237228622_r8, 0.0016623173507123346_r8, & + 0.0026556260546317604_r8, 0.0038000791290671641_r8, & + 0.0047739667582794342_r8, 0.0055238712361366498_r8, & + 0.0060483581791884976_r8, 0.0064393410067991883_r8, & + 0.0067399553827607048_r8, 0.0074020541190039368_r8, & + 0.0082067634242887558_r8, 0.0088636270739086212_r8, & + 0.0093660029652649756_r8, 0.0097891287121355704_r8, & + 0.010210827908881068_r8, 0.010333434197404444_r8, 0.010300341512044018_r8, & + 0.01024757079268911_r8, 0.010158258321349272_r8, 0.0101745037310546_r8, & + 0.010204660885985279_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,18,13) / & + 0.00023985504453306671_r8, 0.00023355203717460743_r8, & + 0.00022736109344480006_r8, 0.00024644164148240004_r8, & + 0.00024316206508471111_r8, 0.0002427778469293334_r8, & + 0.00027351529935955554_r8, 0.00029963252847136002_r8, & + 0.00035311569569994674_r8, 0.00043104474306444445_r8, & + 0.00050066027009195563_r8, 0.00058533234608333336_r8, & + 0.00068244348485506671_r8, 0.0006885669617064_r8, & + 0.00067132517198382233_r8, 0.00068592546188817787_r8, & + 0.0007940348453576001_r8, 0.0012612201086622666_r8, & + 0.0020494916816892004_r8, 0.0032705850067492009_r8, & + 0.0045185495890509341_r8, 0.0055096163072132012_r8, & + 0.0062483957791005344_r8, 0.0067400029089064008_r8, & + 0.0070775145447710677_r8, 0.0073850571645162665_r8, & + 0.0076364799199416019_r8, 0.0084014822809334692_r8, & + 0.0091062584460698693_r8, 0.0098100980794525346_r8, & + 0.010358286135364722_r8, 0.010699414224616881_r8, 0.010933302223976161_r8, & + 0.011051326837217802_r8, 0.011031911813553869_r8, 0.010913332485350402_r8, & + 0.0107555629052984_r8, 0.010683377919356802_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,13) / & + 0.00035619239094466024_r8, 0.0003319192186544457_r8, & + 0.00029623750726997242_r8, 0.00030360517619472166_r8, & + 0.00031635943769666873_r8, 0.00033063429623837032_r8, & + 0.00042421933951765838_r8, 0.00057409836638723543_r8, & + 0.00073654997148323205_r8, 0.00091397999494529421_r8, & + 0.0010538190200563918_r8, 0.0011611544174310684_r8, & + 0.0012599215550839363_r8, 0.0012598064053945157_r8, & + 0.0012500788845359575_r8, 0.0013162608101807505_r8, 0.00170687101327362_r8, & + 0.0024833626374004586_r8, 0.0034363730615394167_r8, & + 0.004493802514103671_r8, 0.0054984906018410197_r8, & + 0.0063327113999299186_r8, 0.0069377345225340682_r8, & + 0.0074576755054292145_r8, 0.0078797501734492823_r8, & + 0.0082534009500856102_r8, 0.0086217329987438567_r8, & + 0.0093267432006793501_r8, 0.0098356781905936681_r8, & + 0.010238770667799678_r8, 0.010806693236217597_r8, 0.01124131188274869_r8, & + 0.011470308063341225_r8, 0.011604560178417492_r8, 0.011647424530854397_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,13) / & + 0.00043342266599456791_r8, 0.00041802009036246909_r8, & + 0.00037872899176888885_r8, 0.0003539802494890864_r8, & + 0.00037839187879279006_r8, 0.0004186478179731357_r8, & + 0.00062517020188246916_r8, 0.00090226544365027144_r8, & + 0.0011131354224927408_r8, 0.0012720435046744691_r8, & + 0.0013672488589589135_r8, 0.001459792183190716_r8, & + 0.0014922945239207903_r8, 0.00153522411773916_r8, 0.0016277906911417285_r8, & + 0.0018152487550234069_r8, 0.00239288602727595_r8, 0.0032484090131023216_r8, & + 0.004345312155181272_r8, 0.0053324632274424815_r8, & + 0.0062095411007147524_r8, 0.0068437116378297896_r8, & + 0.0073664750547832204_r8, 0.007880384896894542_r8, & + 0.0083073777140992965_r8, 0.0086994299337899515_r8, & + 0.0091436256842879517_r8, 0.0099763858636980254_r8, & + 0.010542313441996302_r8, 0.011046916142853703_r8, 0.011482644213227922_r8, & + 0.01180908498961783_r8, 0.012008853904583568_r8, 0.012119485332769134_r8, & + 0.01215782711790071_r8, 0.012110568694551321_r8, 0.012023628669572245_r8, & + 0.011909797491227333_r8, 0.011799223272608399_r8, 0.0116051142022_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,13) / & + 0.00044110006618441482_r8, 0.00043281121354303212_r8, & + 0.00040851337981471608_r8, 0.00042222326308871113_r8, & + 0.00045879101882923456_r8, 0.00051071432785722477_r8, & + 0.00083147477430652842_r8, 0.0011985075893699161_r8, & + 0.0014458905140420739_r8, 0.0015705742185921582_r8, & + 0.0016308831843799703_r8, 0.0017083869817055999_r8, & + 0.0017414334876378864_r8, 0.0019202669959400692_r8, & + 0.0021721150105752495_r8, 0.0024958037816073483_r8, & + 0.0033010204387871607_r8, 0.0041677561132352796_r8, & + 0.0051647780305881675_r8, 0.0061325772046871303_r8, & + 0.0069607243374223016_r8, 0.0076395148159201171_r8, & + 0.008173050714699457_r8, 0.0087003669488690556_r8, & + 0.0091791722191856603_r8, 0.0096052192449527299_r8, & + 0.010041515406759587_r8, 0.010921827858818844_r8, 0.011468613821309591_r8, & + 0.011991307658823702_r8, 0.01228375290062945_r8, 0.01250371605875362_r8, & + 0.012631161705807931_r8, 0.012720348550177731_r8, 0.012797958227007902_r8, & + 0.012788205514587989_r8, 0.012753464417989521_r8, 0.012685838789492655_r8, & + 0.01264608133804955_r8, 0.012707490456713754_r8, 0.012654772835321067_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,13) / & + 0.00040745164007154571_r8, 0.00040906142493262219_r8, & + 0.0003851913337894716_r8, 0.00041419261417730371_r8, & + 0.00044106847549074571_r8, 0.00046200825512896795_r8, & + 0.00069283631247427178_r8, 0.0010320355897250172_r8, & + 0.0013564701214530766_r8, 0.0015909076182915754_r8, & + 0.0017114402597646814_r8, 0.0017942058392236247_r8, & + 0.0019052558417494512_r8, 0.0020796282409590318_r8, & + 0.0023042561113003454_r8, 0.0026414305810305186_r8, & + 0.003586650976255447_r8, 0.0045916597873362965_r8, 0.005600076814802706_r8, & + 0.0065570058796031215_r8, 0.0074331690195767134_r8, & + 0.008193377343775881_r8, 0.008826148558621235_r8, 0.0094073689285794574_r8, & + 0.0099447981197387045_r8, 0.010409963062368691_r8, 0.010804762799547712_r8, & + 0.011781311117342499_r8, 0.012466488375282431_r8, 0.012970325883910934_r8, & + 0.013196840220886323_r8, 0.013329660048369361_r8, 0.013404188056859516_r8, & + 0.013483432231934852_r8, 0.013464668177147933_r8, 0.013508962413715988_r8, & + 0.013542918813129329_r8, 0.01346295463662198_r8, 0.013383162487905319_r8, & + 0.013316753921639965_r8, 0.0133209893761025_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,23,13) / & + 0.00040596681222624612_r8, 0.00040278613523037218_r8, & + 0.00038667022963861898_r8, 0.00039892692126721125_r8, & + 0.00041124514551443625_r8, 0.00041173381706074519_r8, & + 0.00055860346061627588_r8, 0.00092273792806807256_r8, & + 0.0013368917950502737_r8, 0.0016411116254299674_r8, & + 0.0018143353166209669_r8, 0.001948282830569888_r8, & + 0.0021343726193920449_r8, 0.0023237217257613138_r8, & + 0.0025488539611059854_r8, 0.0028776483810521551_r8, & + 0.0038645801202776605_r8, 0.0048391801633417093_r8, & + 0.0058982907363827573_r8, 0.006986285186766244_r8, & + 0.0078307478902121114_r8, 0.0085333076113541344_r8, & + 0.0091625106151899983_r8, 0.0097530553784448415_r8, & + 0.010341460624580452_r8, 0.010845347975471072_r8, 0.011357764726232223_r8, & + 0.01241145129217203_r8, 0.013132468468122889_r8, 0.013713113705198978_r8, & + 0.013990026338357456_r8, 0.014089956429792012_r8, 0.014151844492528666_r8, & + 0.014210814743751615_r8, 0.0141167118379172_r8, 0.014158502182017875_r8, & + 0.014163440128047535_r8, 0.014108315472367277_r8, 0.014042030397916868_r8, & + 0.013905519863939411_r8, 0.013867846797875198_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,13) / & + 0.00040225771180676668_r8, 0.00039122750892688502_r8, & + 0.00038527370274507171_r8, 0.00039683170510503366_r8, & + 0.00040336645527303618_r8, 0.00040950811160607236_r8, & + 0.0005414171835360635_r8, 0.00084132777705298912_r8, & + 0.001283757497337493_r8, 0.0016152438749540664_r8, & + 0.0018421094589739597_r8, 0.002010021403868413_r8, & + 0.0022358642481760936_r8, 0.0024964163214670127_r8, & + 0.0028016402043306793_r8, 0.0031611368658154954_r8, & + 0.0041304735847432902_r8, 0.0050469758832217279_r8, & + 0.0060401846385023713_r8, 0.0070867056580545418_r8, & + 0.0079616797018346053_r8, 0.0087393988956213191_r8, & + 0.0093588902111636004_r8, 0.0099183836233717321_r8, & + 0.010531913305642567_r8, 0.011129531166944364_r8, 0.011908129821219155_r8, & + 0.013109909860433644_r8, 0.013837911815701688_r8, 0.01433189814056892_r8, & + 0.014492568723036716_r8, 0.014549686909642917_r8, 0.014622547982533542_r8, & + 0.01467310054545152_r8, 0.014661704302943999_r8, 0.014664991680590397_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,25,13) / & + 0.00046325300877955548_r8, 0.00050623199830311107_r8, & + 0.00049549775409659248_r8, 0.00059563501854370353_r8, & + 0.00063819388109244445_r8, 0.00072726079975318509_r8, & + 0.0010877087377955553_r8, 0.0015366984357801478_r8, & + 0.0019622660549188146_r8, 0.0023523749573831107_r8, & + 0.002568824374807703_r8, 0.0027553187389279996_r8, & + 0.0029556982995659255_r8, 0.0031400290097659254_r8, & + 0.0033334344626219257_r8, 0.0035322385471042968_r8, & + 0.0039462526744355551_r8, 0.0045431690802524441_r8, & + 0.0051685070759155552_r8, 0.0058730179999825181_r8, & + 0.0065177448555333332_r8, 0.0073384629008340727_r8, & + 0.0085856308319205935_r8, 0.0094916976721549622_r8, & + 0.010384761582518814_r8, 0.011456547507968888_r8, 0.012398871306129777_r8, & + 0.014396196957096888_r8, 0.015561482140791999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,13) / & + 0.00049403641937847595_r8, 0.00055733274405159118_r8, & + 0.00055829277878662509_r8, 0.00065339269018647105_r8, & + 0.00070488052591946354_r8, 0.00081257383413769774_r8, & + 0.0012188748693644147_r8, 0.0017054886746423077_r8, & + 0.0021243027417887791_r8, 0.0024809208934653388_r8, & + 0.0027041810979436592_r8, 0.0028963487747477412_r8, & + 0.003101020795374429_r8, 0.0032970372992157976_r8, & + 0.0034895481558572918_r8, 0.0036905581435354097_r8, & + 0.0040963900215160469_r8, 0.0046834664661593957_r8, & + 0.0053328582876084616_r8, 0.006058212314461027_r8, & + 0.0067707948385036382_r8, 0.0075954603318493337_r8, & + 0.0088463334630158336_r8, 0.0097944980853192261_r8, & + 0.010715816487430261_r8, 0.011828807344807854_r8, 0.012806929883598349_r8, & + 0.014907246689678254_r8, 0.01609572392399581_r8, 0.016333416298996397_r8, & + 0.0157894871168224_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,13) / & + 0.00035679782385312001_r8, 0.00029862006384240005_r8, & + 0.00026780238735093332_r8, 0.00042779659631359999_r8, & + 0.00050575350618400005_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,13) / & + 0.00062305376574479986_r8, 0.00054477770126485335_r8, & + 0.00047996465472799994_r8, 0.00074442349144799994_r8, & + 0.00088790647732799998_r8, 0.0011861260166079997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,13) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,13) / & + 0.0015794443403373659_r8, 0.0016072401894135998_r8, & + 0.0016208324890912001_r8, 0.0017434915026069329_r8, & + 0.0017555735467647997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,13) / & + 0.0015836311758617293_r8, 0.0016104670406692531_r8, & + 0.0016358253223763312_r8, 0.0017965994523372081_r8, & + 0.0018630425809935919_r8, 0.0019428140242358303_r8, & + 0.0019845884076796043_r8, 0.0020107064843303702_r8, & + 0.0020609989878188884_r8, 0.0021771888982133332_r8, & + 0.0022471060921066665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,13) / & + 0.0014271615594506533_r8, 0.0014462394890135701_r8, & + 0.0014366384485393906_r8, 0.0016467439765023601_r8, & + 0.0017198277587325366_r8, 0.0018233286303959966_r8, & + 0.0019534392823391867_r8, 0.0020446750317158584_r8, & + 0.0020995499440812117_r8, 0.0021912616071020773_r8, & + 0.0022737380328380122_r8, 0.0024428124147080196_r8, & + 0.0025649126419033707_r8, 0.0025840403798197331_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,13) / & + 0.0011493735987724639_r8, 0.0011773748763753084_r8, & + 0.0010556684100821233_r8, 0.0012934075678117528_r8, & + 0.0014097652360240296_r8, 0.0016662411695012246_r8, & + 0.001826790351738538_r8, 0.0019275491347108739_r8, & + 0.0019961938192452444_r8, 0.0021018698737600883_r8, & + 0.002186592917465955_r8, 0.0023482806600232803_r8, & + 0.0024032895625860501_r8, 0.0024194893884868732_r8, & + 0.0021662632227679997_r8, 0.0021662632227679997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,13) / & + 0.0011144379141304573_r8, 0.00097740804022849038_r8, & + 0.00090019404398286086_r8, 0.0010469527158672594_r8, & + 0.0011734271977140486_r8, 0.0014010681082337977_r8, & + 0.0016736958923306443_r8, 0.0017222388622022001_r8, & + 0.0017506180894485176_r8, 0.0017976273518273262_r8, & + 0.0018312166736445946_r8, 0.0019218933700662993_r8, & + 0.0020177933178634273_r8, 0.0020643026216722962_r8, & + 0.002136612419050951_r8, 0.0021636496522411141_r8, & + 0.0022396104628607761_r8, 0.002351528820102684_r8, & + 0.0024735121327657482_r8, 0.0025906405845786077_r8, & + 0.0027953933541756447_r8, 0.0029266324787848297_r8, & + 0.0030131713602000593_r8, 0.0031950312900156435_r8, & + 0.0033634712792696884_r8, 0.0035139522304193185_r8, & + 0.0036313767103327999_r8, 0.0037879755755619552_r8, & + 0.0038982295970381425_r8, 0.0039598692259899268_r8, & + 0.0040172986775106369_r8, 0.0040717678480251254_r8, & + 0.0041090016046811655_r8, 0.0041401832312800407_r8, & + 0.0041556424765347554_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,13) / & + 0.0017776217433464628_r8, 0.0019730059200478026_r8, & + 0.0018672648874226835_r8, 0.0018600050553320034_r8, & + 0.0018449442856532021_r8, 0.0019804912127624166_r8, & + 0.0018927870300520298_r8, 0.001733341276805794_r8, & + 0.0018308304505949232_r8, 0.0019010388888880195_r8, & + 0.0019498285679073713_r8, 0.0020075013955097288_r8, & + 0.0020758159645617781_r8, 0.002132902594541906_r8, & + 0.0022116785365445006_r8, 0.0022542905944680563_r8, & + 0.0023388383284433643_r8, 0.0024184259286921216_r8, & + 0.0025120822718743704_r8, 0.0026073168394241584_r8, & + 0.002751927283615526_r8, 0.0028735407441656106_r8, & + 0.0029889314914951109_r8, 0.0031538333918405526_r8, & + 0.0033110245388474468_r8, 0.0034616322356354626_r8, & + 0.0036070092459482084_r8, 0.003838827859477307_r8, 0.003958231805912836_r8, & + 0.0040388114329069037_r8, 0.0041000465383674205_r8, 0.0041655203035579_r8, & + 0.0042101615070968641_r8, 0.0042448373510579358_r8, & + 0.0042549484548248693_r8, 0.0042525481043964837_r8, & + 0.0042424023763194462_r8, 0.0042587708176170663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,13) / & + 0.0023904905805653331_r8, 0.0030777699418453328_r8, & + 0.0030218517626026667_r8, 0.0036249063932586659_r8, & + 0.0035491134013439997_r8, 0.0036001671159466664_r8, & + 0.0033082065810773327_r8, 0.0022401091308373333_r8, & + 0.0022569726082559997_r8, 0.0022940815242239996_r8, & + 0.0023036714687999999_r8, 0.0023179868933119992_r8, & + 0.0022918114407253329_r8, 0.0023550031528106669_r8, & + 0.002406612806229334_r8, 0.0024584077725866662_r8, & + 0.0024901426133333323_r8, 0.0025311431010133336_r8, & + 0.0026120321987413335_r8, 0.0027230809772373324_r8, & + 0.0028288946652159997_r8, 0.0029557876999679999_r8, & + 0.0030972278004053333_r8, 0.0032551607523839997_r8, & + 0.0034379719663786656_r8, 0.0035921060031146659_r8, & + 0.003796691487402666_r8, 0.0041213134277120009_r8, 0.004146099033258667_r8, & + 0.0041596732060159985_r8, 0.0041883967115093346_r8, & + 0.0042285169627306668_r8, 0.004265625878698668_r8, & + 0.0042709536256853335_r8, 0.0042843888137386642_r8, & + 0.0043004647111679981_r8, 0.0043625908738559984_r8, & + 0.0043734316807680007_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,14) / & + 0.0031077406772063482_r8, 0.0030959613051428571_r8, & + 0.0030037166978095233_r8, 0.0031625617083809528_r8, & + 0.0032637068140000001_r8, 0.0035623079526349204_r8, & + 0.0043103022388888881_r8, 0.0047611003529841271_r8, & + 0.0051945422180740743_r8, 0.0056454381964444441_r8, & + 0.0058070961115555568_r8, 0.0059018077306666672_r8, & + 0.006047473751555555_r8, 0.0061714483737777782_r8, & + 0.0062783341898518521_r8, 0.0063494781500740734_r8, & + 0.0065168674646666662_r8, 0.0067230023155555561_r8, & + 0.0069929175333333328_r8, 0.0072364846770370372_r8, & + 0.0074622738044444435_r8, 0.0076671855499999986_r8, & + 0.0078654686748148139_r8, 0.0080050857325925928_r8, & + 0.0081793019718518524_r8, 0.0083614850366666663_r8, & + 0.0085195249451851859_r8, 0.0087902791411111104_r8, & + 0.0089448105955555555_r8, 0.0090249988788888881_r8, & + 0.0090615741659259268_r8, 0.0090771611318518526_r8, & + 0.009079060966666665_r8, 0.0090980315800000006_r8, & + 0.0090881857207407418_r8, 0.0090928729044444448_r8, & + 0.0090904495749999994_r8, 0.0091435860133333331_r8, & + 0.0091735396133333334_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,14) / & + 0.0026723418567901236_r8, 0.0026792200908641972_r8, & + 0.002675882668148148_r8, 0.0026834172928395061_r8, 0.002766797391111111_r8, & + 0.0029370429293827157_r8, 0.0036389093980246905_r8, & + 0.0042150077264197531_r8, 0.0047583142587654323_r8, & + 0.0052755038404938264_r8, 0.0055512433693827154_r8, & + 0.0057093965283950615_r8, 0.0059785906409876534_r8, & + 0.0061108764627160481_r8, 0.0061830516958024688_r8, & + 0.0062285645269135794_r8, 0.006337534614320987_r8, & + 0.0064720669560493823_r8, 0.0066623647654320975_r8, 0.00683644695308642_r8, & + 0.0070439773274074058_r8, 0.0072081119614814809_r8, & + 0.007453814685925925_r8, 0.0075767076503703698_r8, & + 0.0077673290325925935_r8, 0.0079411061372839497_r8, & + 0.0081508737866666653_r8, 0.0085472967397530845_r8, & + 0.0088007929471604941_r8, 0.0089532882039506153_r8, & + 0.0090873490538271613_r8, 0.009166772318518519_r8, & + 0.0091836165960493821_r8, 0.0092151418355555549_r8, & + 0.0092089847066666661_r8, 0.0091931943520987651_r8, & + 0.0091681659929629625_r8, 0.0091836165960493821_r8, & + 0.0092343516616666677_r8, 0.0092571056008994689_r8, & + 0.0092609003178835969_r8, 0.0092968485999999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,14) / & + 0.0022331148395061729_r8, 0.0022655923076543207_r8, & + 0.0023787965767901233_r8, 0.0021042034202469135_r8, & + 0.0021081972335802467_r8, 0.0021829425595061725_r8, & + 0.0025227680004938271_r8, 0.0030953624972839505_r8, & + 0.0036070328508641973_r8, 0.0040382445066666668_r8, & + 0.0044005536375308638_r8, 0.0047370878804938272_r8, & + 0.0052229186316049376_r8, 0.0055343713570370377_r8, & + 0.0057358647866666661_r8, 0.0057359479911111106_r8, & + 0.0058928808182716029_r8, 0.0059379591372839503_r8, & + 0.0061296714222222222_r8, 0.0062549310908641973_r8, & + 0.0064062707303703705_r8, 0.0065265288874074073_r8, & + 0.0067157727738271604_r8, 0.006857414473086419_r8, & + 0.0070535550834567896_r8, 0.0072301241595061714_r8, & + 0.0074271985086419743_r8, 0.0079022311718518513_r8, & + 0.008311199506172838_r8, 0.0085969605481481474_r8, & + 0.0088589343639506185_r8, 0.009072427723456792_r8, & + 0.0091686305511111087_r8, 0.0092340107545679003_r8, & + 0.0092824819659259265_r8, 0.0092735975802469145_r8, & + 0.0092489967995061737_r8, 0.0092496254553086424_r8, & + 0.0092703710967901205_r8, 0.0092755759970370357_r8, & + 0.0092514189733333314_r8, 0.0089804312502666656_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,14) / & + 0.0018087814177777776_r8, 0.0018321433767901235_r8, & + 0.0019978773851851849_r8, 0.0016125021333333333_r8, & + 0.0015989675437037038_r8, 0.0016307886212345677_r8, & + 0.0016653092207407408_r8, 0.0019321920987654319_r8, & + 0.0022981807150617285_r8, 0.0025973191827160492_r8, & + 0.0028222207960493825_r8, 0.0030832978528395061_r8, & + 0.0036844592088888886_r8, 0.0040905893471604934_r8, & + 0.0044498661382716053_r8, 0.004662324064691358_r8, & + 0.0050342941560493834_r8, 0.0052943172898765427_r8, & + 0.0054986396706172827_r8, 0.005658216550123457_r8, & + 0.0057710787565432107_r8, 0.0058367178182716041_r8, & + 0.0059121102898765428_r8, 0.0059942053417283954_r8, & + 0.0061080660014814813_r8, 0.0062387986735802465_r8, & + 0.006361303350617283_r8, 0.0068114694411111117_r8, & + 0.0072978618222222227_r8, 0.0077437417282098754_r8, & + 0.0081754734117901236_r8, 0.0085486129878395069_r8, & + 0.0088608021716578451_r8, 0.0090836045236507932_r8, & + 0.0092659419459171083_r8, 0.0093764716213932987_r8, & + 0.0093717570330511448_r8, 0.0093041241352962937_r8, & + 0.0092860736244444429_r8, 0.0092038676333333347_r8, & + 0.0091793777918518504_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,14) / & + 0.0012065661387654321_r8, 0.0012058542785185185_r8, & + 0.0012898075629629629_r8, 0.00083213689382716054_r8, & + 0.00083965302864197529_r8, 0.00083899663802469119_r8, & + 0.00087443248641975297_r8, 0.00099419141679012342_r8, & + 0.0012592253071604938_r8, 0.0014766939901234566_r8, & + 0.0016658824069135801_r8, 0.00184059325037037_r8, 0.0022271980790123454_r8, & + 0.0025602932049382716_r8, 0.0028628707896296295_r8, & + 0.0032495310879012348_r8, 0.0038708001846913583_r8, & + 0.004351564709629629_r8, 0.004655621484444445_r8, 0.0049723068449382714_r8, & + 0.0052076182587654325_r8, 0.005260813633580246_r8, & + 0.0053382399916049386_r8, 0.0053529856681481481_r8, & + 0.0053893367654320977_r8, 0.0054185600153086426_r8, & + 0.0054272410123456785_r8, 0.0057217570108641985_r8, & + 0.006114639152592592_r8, 0.0066837575525925917_r8, & + 0.0072361241244444444_r8, 0.0077166482809876537_r8, & + 0.008190488347160494_r8, 0.00866477217037037_r8, 0.0091214721209876524_r8, & + 0.0094844006627160474_r8, 0.0096693400398412711_r8, & + 0.0094819452071111116_r8, 0.0094988927638095227_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,14) / & + 0.00078831588641975296_r8, 0.00077710177629629633_r8, & + 0.00075973978222222216_r8, 0.00045209597135802474_r8, & + 0.00045769840395061724_r8, 0.00046375268290123453_r8, & + 0.00055110001530864205_r8, 0.00066606660080246929_r8, & + 0.00084576624407407407_r8, 0.00097346079833333335_r8, & + 0.0011118633023456789_r8, 0.0012472808469135804_r8, & + 0.0014543923925132277_r8, 0.0016271901941005292_r8, & + 0.0018384502406613755_r8, 0.0021212302853086417_r8, & + 0.0026682963708553791_r8, 0.0033033216056172834_r8, & + 0.0036773749447619043_r8, 0.0040286634488536149_r8, & + 0.0044492705001058196_r8, 0.0046442190087037033_r8, & + 0.004863074432407407_r8, 0.0049679201217283945_r8, & + 0.0050907936057671948_r8, 0.0051792754241710755_r8, & + 0.0052087151046560851_r8, 0.0053688049131481478_r8, & + 0.0056346957762786606_r8, 0.0061124068301763659_r8, & + 0.0066704161821728386_r8, 0.0071870349219806005_r8, & + 0.007750428988273367_r8, 0.0083234467381481467_r8, & + 0.0089518275037037028_r8, 0.0094571538485714278_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,14) / & + 0.0005055317145679012_r8, 0.00049333764098765428_r8, & + 0.00046773840691358024_r8, 0.00026633742666666663_r8, & + 0.00026810320987654318_r8, 0.00028948675209876547_r8, & + 0.0003336128424691358_r8, 0.00037790534172839498_r8, & + 0.00043459530320987655_r8, 0.00048637620246913576_r8, & + 0.00057442499456790126_r8, 0.00061578684839506178_r8, & + 0.00071270153629629626_r8, 0.00080136049432098766_r8, & + 0.00093354462172839491_r8, 0.0010719505925925927_r8, & + 0.0012801373575308641_r8, 0.0016134358720987653_r8, & + 0.0019194987985185184_r8, 0.0022961930533333336_r8, & + 0.0027515894676543211_r8, 0.0030373782444444437_r8, & + 0.0034809318928395064_r8, 0.0038758571659259261_r8, & + 0.0041942066153086415_r8, 0.0044998350296296301_r8, & + 0.0047435778271604943_r8, 0.0050799179264197532_r8, & + 0.0053197870948148143_r8, 0.0055550245491358024_r8, & + 0.0059209322722222216_r8, 0.0064021417098148146_r8, & + 0.0069591286046560849_r8, 0.0074118076674779551_r8, & + 0.0080549816549735451_r8, 0.008462411565530863_r8, & + 0.0087684858170000001_r8, 0.0090066106966666653_r8, & + 0.0089366565600000007_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,14) / & + 0.00026095687259259254_r8, 0.00025075046074074075_r8, & + 0.00025503086716049386_r8, 0.00019810053728395066_r8, & + 0.00019938558370370376_r8, 0.00021161663703703711_r8, & + 0.00023022669777777774_r8, 0.00025075970567901232_r8, & + 0.00027473183061728395_r8, 0.00029899979358024686_r8, & + 0.00031155441975308637_r8, 0.00031617688888888886_r8, & + 0.00033660820246913576_r8, 0.00036247553975308637_r8, & + 0.00039482357876543205_r8, 0.0004196832177777777_r8, & + 0.00048519285037037032_r8, 0.0005946529195061729_r8, & + 0.00075232534172839523_r8, 0.0010082159881481482_r8, & + 0.0013650613604938272_r8, 0.0017423103116049382_r8, & + 0.0021860673486419754_r8, 0.0027315187066666666_r8, & + 0.0032092416469135798_r8, 0.0037071925120987655_r8, & + 0.0041589094409876549_r8, 0.0048935445933333327_r8, & + 0.0053575156879012344_r8, 0.0056098518206437395_r8, & + 0.0059244309860934739_r8, 0.0063156894855379182_r8, & + 0.0068594458171481474_r8, 0.0073856729863897705_r8, & + 0.0080916668907407407_r8, 0.0085153196538888878_r8, & + 0.0087784462804761897_r8, 0.0091197323391666654_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,14) / & + 0.00017803902123456785_r8, 0.00017493272197530865_r8, & + 0.00018172775160493827_r8, 0.00018586948395061728_r8, & + 0.00018254130617283951_r8, 0.00018720999999999999_r8, & + 0.00020705888246913581_r8, 0.00022613119012345677_r8, & + 0.00024286452839506173_r8, 0.00026094762765432102_r8, & + 0.00027251304543209873_r8, 0.00028497522222222221_r8, & + 0.0003018194997530864_r8, 0.00031402281827160494_r8, & + 0.00032656819950617282_r8, 0.00033854963950617279_r8, & + 0.00037459565382716052_r8, 0.00044196351901234571_r8, & + 0.00056701055407407401_r8, 0.00080956075456790108_r8, & + 0.0011549886281481481_r8, 0.0015948627911111111_r8, & + 0.0021207888395061727_r8, 0.0027390071066666667_r8, & + 0.0033347231940740745_r8, 0.0038993670439506174_r8, & + 0.0043952747777777773_r8, 0.0052515317155555543_r8, & + 0.0058025670162962957_r8, 0.006168916185185184_r8, 0.00656012499308642_r8, & + 0.0071036973174074059_r8, 0.0076604945259259238_r8, & + 0.0081020314570723097_r8, 0.0084567879686331584_r8, & + 0.0086633148049047627_r8, 0.0087942510637513214_r8, & + 0.0090063773527738096_r8, 0.009136319769200001_r8, & + 0.0091199725919999999_r8, 0.0091023374099999995_r8, & + 0.0091867691200000004_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,14) / & + 0.00017795581679012345_r8, 0.00017674472987654321_r8, & + 0.00017749356987654323_r8, 0.00020031932246913583_r8, & + 0.00020071685481481483_r8, 0.00021489859012345676_r8, & + 0.00022391240493827163_r8, 0.00022810960691358023_r8, & + 0.00023879675555555551_r8, 0.00025286755160493826_r8, & + 0.00026630969185185185_r8, 0.00028533577481481474_r8, & + 0.00030343736395061724_r8, 0.00031630631802469136_r8, & + 0.00032562521580246912_r8, 0.00033556352444444445_r8, & + 0.0003618561288888889_r8, 0.00041794516938271599_r8, & + 0.00055062852345679012_r8, 0.00080614012740740722_r8, & + 0.0012367138824691357_r8, 0.0017690281832098765_r8, & + 0.0024279056888888884_r8, 0.0031037291664197529_r8, & + 0.0038092843654320991_r8, 0.0043899219585185187_r8, & + 0.0048810408143209871_r8, 0.0057213040088888896_r8, & + 0.0063142466148148153_r8, 0.0067390885081481475_r8, & + 0.0072028885713580244_r8, 0.0077749561066666655_r8, & + 0.0082776218903703701_r8, 0.0085990868839506181_r8, & + 0.0088211133214814823_r8, 0.0089137660928395052_r8, & + 0.0089739552634567898_r8, 0.0090940149844973561_r8, & + 0.0091917003040388016_r8, 0.0092635525586031754_r8, & + 0.009256949468750001_r8, 0.0093065835199999999_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,14) / & + 0.00020806545211867652_r8, 0.00020083312655446909_r8, & + 0.00019809184186480986_r8, 0.00020875563372493831_r8, & + 0.00021291616509789627_r8, 0.0002236868865026568_r8, & + 0.00024552967621068643_r8, 0.00025686420794168886_r8, & + 0.00026941384813441977_r8, 0.00028325636373042963_r8, & + 0.00029581572479085434_r8, 0.00031529634364928395_r8, & + 0.00033472835816924444_r8, 0.00034474085189388644_r8, & + 0.00034675307150650861_r8, 0.00035409232661534813_r8, & + 0.00038934019287316536_r8, 0.00046098298777667163_r8, & + 0.00062056075183853829_r8, 0.00096167572008262715_r8, & + 0.0016338153959046121_r8, 0.0024697516923675852_r8, & + 0.003395508806321521_r8, 0.0042332337424401574_r8, 0.004944674886348286_r8, & + 0.0054684449585593875_r8, 0.0058601278805467663_r8, & + 0.0065815523555764529_r8, 0.0072607882648149337_r8, & + 0.0079432612229954572_r8, 0.0085907779409489776_r8, & + 0.0091102902731101838_r8, 0.0094867308745536366_r8, & + 0.0096450352049476159_r8, 0.0096806524641777983_r8, & + 0.0096693762576529566_r8, 0.0096506538664746459_r8, & + 0.0096668464018356392_r8, 0.0097194508773607857_r8, & + 0.0097703259063710458_r8, 0.0097701706849444049_r8, & + 0.0098115128408985605_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,14) / & + 0.00021929231877775804_r8, 0.00021211377360805931_r8, & + 0.00020943201596653824_r8, 0.00021407155865434073_r8, & + 0.00021499946719190122_r8, 0.00021724276255743211_r8, & + 0.0002412562197657284_r8, 0.00026460688516148146_r8, & + 0.00029786883735403454_r8, 0.00033690217671427172_r8, & + 0.00038025895805171361_r8, 0.00042490053582577771_r8, & + 0.00046895069936711114_r8, 0.00046521867162263711_r8, & + 0.00046436214066488898_r8, 0.00046335265775039993_r8, & + 0.00049812373591612833_r8, 0.00064282648378998517_r8, & + 0.0010110736148389924_r8, 0.0017531659185537182_r8, & + 0.0028390228434418169_r8, 0.0040321908611792188_r8, & + 0.0049925660007572141_r8, 0.0057350763731536967_r8, & + 0.0062432235606349031_r8, 0.0065841942593984773_r8, & + 0.0068606702164030423_r8, 0.0075792385091710416_r8, & + 0.008365778651514626_r8, 0.0090887825510281087_r8, & + 0.0096380636180754577_r8, 0.010017822933068484_r8, 0.010314947404233046_r8, & + 0.010432078012705105_r8, 0.01041779229994552_r8, 0.010328033718731857_r8, & + 0.010225656601087083_r8, 0.010185491672166889_r8, 0.010205914655024963_r8, & + 0.010225150111607474_r8, 0.010296588071025599_r8, 0.010297414011592001_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,14) / & + 0.00025827998222617289_r8, 0.00025913380034923457_r8, & + 0.00026248503648225192_r8, 0.00028201002734640988_r8, & + 0.00028041521706654817_r8, 0.00027435310839280994_r8, & + 0.00032881603191760989_r8, 0.00036777682014557043_r8, & + 0.0004363384154274273_r8, 0.00052173090046013818_r8, & + 0.00060438583113578285_r8, 0.00066340600889242484_r8, & + 0.00073567104028306185_r8, 0.00077440770125371847_r8, & + 0.0007743596739842965_r8, 0.00080161781756304192_r8, & + 0.00095711410686239015_r8, 0.001497047342433551_r8, & + 0.0024254464785447211_r8, 0.0036485662875561761_r8, & + 0.0049317121788005035_r8, 0.0058858512631403508_r8, & + 0.0065387566432099347_r8, 0.0069592313847290383_r8, & + 0.0072680480612047444_r8, 0.0076080317673538379_r8, & + 0.0078025408744230203_r8, 0.0086260200570400895_r8, & + 0.0092773102342987475_r8, 0.0098915736738457005_r8, & + 0.010417355941299767_r8, 0.010725752912804353_r8, 0.010939131667211366_r8, & + 0.011075411178742226_r8, 0.01106560027487192_r8, 0.010985648212192094_r8, & + 0.010858831978581434_r8, 0.010754953416379304_r8, 0.010725319876454285_r8, & + 0.010735443321592044_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,14) / & + 0.00032359220450240984_r8, 0.0003272515153035575_r8, & + 0.00032270063394048397_r8, 0.00033255743939155556_r8, & + 0.00035314064545861716_r8, 0.00034784085313139753_r8, & + 0.00047757776254366414_r8, 0.00063810586613681963_r8, & + 0.00081754905814894788_r8, 0.00099020968659111093_r8, & + 0.0011094027546287406_r8, 0.0012098841972186765_r8, & + 0.0012888835733547356_r8, 0.0012941624619520293_r8, & + 0.0012955323530531751_r8, 0.0014263228104537085_r8, & + 0.0019532835445743801_r8, 0.0029475067473112683_r8, & + 0.0041166021931164833_r8, 0.0052006656454121588_r8, & + 0.0062062640607253106_r8, 0.0068536641233534808_r8, & + 0.0073473544809240484_r8, 0.0077143570864875444_r8, & + 0.0080719335034364435_r8, 0.0084960172275176694_r8, & + 0.0087253506549530048_r8, 0.0095134770164402149_r8, & + 0.010150807772271382_r8, 0.010614645373776536_r8, 0.011075077618318555_r8, & + 0.011345117575829646_r8, 0.011525603167174082_r8, 0.011615026536633204_r8, & + 0.011602317626271039_r8, 0.011514175794814577_r8, 0.011407616941144177_r8, & + 0.011304239635168504_r8, 0.01121953999105647_r8, 0.011225704321836798_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,14) / & + 0.00040397759122014811_r8, 0.00039760731843041974_r8, & + 0.00037706667605916054_r8, 0.00037714804815683952_r8, & + 0.00041420722635693828_r8, 0.00045678808261382715_r8, & + 0.00071570247284306161_r8, 0.0010669625693525925_r8, & + 0.0013057315531135804_r8, 0.0014653836087598026_r8, & + 0.0015511962980550122_r8, 0.0016333588675400492_r8, & + 0.0016759048500407903_r8, 0.0016941438245062716_r8, & + 0.0018085878675991112_r8, 0.0020279902921124938_r8, & + 0.002749691051013037_r8, 0.0037444911004560735_r8, & + 0.0047702270777488648_r8, 0.0057692047125638135_r8, & + 0.0065973856356606273_r8, 0.0072051737610858268_r8, & + 0.0077086548970356781_r8, 0.0081701826967574276_r8, & + 0.0086142549360357333_r8, 0.0090272438643281879_r8, & + 0.0094536915715112448_r8, 0.010194123896682863_r8, 0.01080917738797226_r8, & + 0.011241877876599925_r8, 0.011624116040081223_r8, 0.011884904894703417_r8, & + 0.012053801401875248_r8, 0.012133220569209962_r8, 0.012148942530325453_r8, & + 0.012054104803553735_r8, 0.01193249399599057_r8, 0.011823755372057225_r8, & + 0.011738027677163533_r8, 0.011715280397872001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,14) / & + 0.00047460639167928891_r8, 0.00045873051625520983_r8, & + 0.00043881306888628147_r8, 0.00047913198421633586_r8, & + 0.0005143565828135112_r8, 0.00058300280330192595_r8, & + 0.00091154388077080493_r8, 0.001288874233933195_r8, & + 0.0015296260764922469_r8, 0.0016590531828458667_r8, & + 0.0017380453434925037_r8, 0.0017968235941574911_r8, & + 0.0018683149481894174_r8, 0.0019548366541734274_r8, & + 0.0021394360577801628_r8, 0.0024714439327406562_r8, & + 0.0033011853083013782_r8, 0.0043318481693763455_r8, & + 0.0053179917239195955_r8, 0.0062844507660039127_r8, & + 0.0071254546957193292_r8, 0.0078769496048582653_r8, & + 0.0085091546139214221_r8, 0.0089841754482327812_r8, & + 0.009347127364678201_r8, 0.0097292374211885441_r8, 0.010260121794661247_r8, & + 0.01106337514331396_r8, 0.011688362195295971_r8, 0.012057825701270801_r8, & + 0.012345531517156449_r8, 0.012584010537306138_r8, 0.012684958174527727_r8, & + 0.012748981393334914_r8, 0.012814022870462939_r8, 0.012821295582373575_r8, & + 0.012734556283203699_r8, 0.012746316958754578_r8, 0.012588807743184429_r8, & + 0.01251077096139777_r8, 0.012529233019348534_r8, 0.012087107434534399_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,14) / & + 0.00047361631315063704_r8, 0.00047206941051069627_r8, & + 0.00042288293713827157_r8, 0.0004637815337649975_r8, & + 0.00048507345384158018_r8, 0.00051659002307484448_r8, & + 0.00074110470541811349_r8, 0.0011178446686869335_r8, & + 0.0014098193978646916_r8, 0.0016081247704385583_r8, & + 0.001739523459723931_r8, 0.0018144161850966716_r8, & + 0.0019035077160018765_r8, 0.0020730633370724541_r8, & + 0.0023150467004472495_r8, 0.0026537806492615899_r8, & + 0.0035423315867989334_r8, 0.0046425189277909335_r8, & + 0.0056482068668600493_r8, 0.006618819102979615_r8, 0.007548570471805135_r8, & + 0.0084076673769624705_r8, 0.0091072698164309553_r8, & + 0.0096850442406709331_r8, 0.010090018321229728_r8, 0.0104507610474416_r8, & + 0.010877693599621019_r8, 0.011718969683308463_r8, 0.012435336522931753_r8, & + 0.012887296199123219_r8, 0.013154004851848613_r8, 0.013302457199506014_r8, & + 0.013386298064946379_r8, 0.013487841173953918_r8, 0.013565547429563765_r8, & + 0.013628111646324111_r8, 0.013622038795817921_r8, 0.013555709056908349_r8, & + 0.013450780189451367_r8, 0.013345979242398527_r8, 0.0133506201075239_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,14) / & + 0.00041731049031806415_r8, 0.00041578336260108639_r8, & + 0.00037867546431589132_r8, 0.00038933925358743696_r8, & + 0.00040693385326680487_r8, 0.00042747828939093327_r8, & + 0.00057810268130480981_r8, 0.00094685834164717016_r8, & + 0.0013158228399679209_r8, 0.0016018003466258962_r8, & + 0.0018145279323635349_r8, 0.0019638340345388243_r8, & + 0.0021520362101892739_r8, 0.0023631714063416884_r8, & + 0.0026325462937176495_r8, 0.0030006884924984878_r8, & + 0.0039004408176450366_r8, 0.0049372952756047001_r8, & + 0.0059636164680293129_r8, 0.0070044388475783894_r8, & + 0.0079312487433001073_r8, 0.0086577699653720488_r8, & + 0.0092720277216856474_r8, 0.0098930596599232801_r8, & + 0.010401214670841043_r8, 0.010892649591113954_r8, 0.011425839054691238_r8, & + 0.012293117074198121_r8, 0.013083908184119622_r8, 0.013562421254479642_r8, & + 0.0138509048168783_r8, 0.013975750770834645_r8, 0.014076580357276129_r8, & + 0.014178662971587949_r8, 0.014195461376474705_r8, 0.014214021851804129_r8, & + 0.014204172204338962_r8, 0.014136598900565601_r8, 0.014029764103470522_r8, & + 0.013928777981776483_r8, 0.013840946601633743_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,14) / & + 0.00040921763961297773_r8, 0.0003837573732322173_r8, & + 0.00037527512720632094_r8, 0.00038816760003356046_r8, & + 0.00040068128037479506_r8, 0.0004208790368607011_r8, & + 0.00055625676569825164_r8, 0.00081376801466625181_r8, & + 0.0012176555028690173_r8, 0.0015670222386553305_r8, & + 0.0018754269637787087_r8, 0.0021251053252682489_r8, & + 0.0024358775034291577_r8, 0.0027290848710894715_r8, & + 0.0030177805496754044_r8, 0.0033838902515507135_r8, & + 0.004214984640375923_r8, 0.0051169820734836176_r8, & + 0.0060343305069249743_r8, 0.0068981571081856126_r8, & + 0.0077432528075362522_r8, 0.0084730487124223281_r8, & + 0.009194761456223121_r8, 0.0098578241746716932_r8, 0.010501595532940156_r8, & + 0.011113805360142566_r8, 0.011740267254630912_r8, 0.012915565640582733_r8, & + 0.013777002322159672_r8, 0.014271686031050244_r8, 0.014513607601766102_r8, & + 0.0146042421592322_r8, 0.014666632663752982_r8, 0.014705490008665554_r8, & + 0.014691104687594363_r8, 0.014659111217137378_r8, 0.014623939410780407_r8, & + 0.01460732369529218_r8, 0.014590009792537616_r8, 0.014567755311225351_r8, & + 0.014422691293230849_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,14) / & + 0.0004896064516359995_r8, 0.00045158748311219748_r8, & + 0.00045933882579753083_r8, 0.00050919949516855297_r8, & + 0.00050822305005792095_r8, 0.00055400428650349137_r8, & + 0.00077455274277902727_r8, 0.0010892033395084593_r8, & + 0.0014702676084166171_r8, 0.0018754153060502217_r8, & + 0.0021641848307531598_r8, 0.00241259515771121_r8, 0.0027391205933686661_r8, & + 0.0030342532912109874_r8, 0.0033270730400116045_r8, & + 0.0036935988149562958_r8, 0.0043886111182587402_r8, & + 0.0051573959678096054_r8, 0.0059483495173981975_r8, & + 0.0067389629641976525_r8, 0.0075452366439833314_r8, & + 0.0082872228942037773_r8, 0.0091262742303680009_r8, & + 0.0099368169503840729_r8, 0.010674508152513775_r8, 0.011435641689611408_r8, & + 0.012121927355465556_r8, 0.013530065436498888_r8, 0.014546656336627582_r8, & + 0.014913080781840286_r8, 0.015212191360487428_r8, 0.015292926475315998_r8, & + 0.015321375716376382_r8, 0.015339173130996477_r8, 0.015321378449345221_r8, & + 0.015260360032772534_r8, 0.015220642729027022_r8, 0.015154955726469377_r8, & + 0.015155403161697554_r8, 0.015173574703675731_r8, 0.014972049246713996_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,14) / & + 0.00047905883251305852_r8, 0.00054389582608672905_r8, & + 0.00062143683457285359_r8, 0.00063584614712524224_r8, & + 0.00067508247300565745_r8, 0.00078663712325826207_r8, & + 0.0012599256112477747_r8, 0.0017543044550680136_r8, & + 0.0021220268740544885_r8, 0.0024740877050571553_r8, & + 0.0027291079209591784_r8, 0.0029594639219250023_r8, & + 0.0032060882813737799_r8, 0.0035313777753071436_r8, & + 0.0037902739168351809_r8, 0.0040607069205103744_r8, & + 0.0046149859535584634_r8, 0.005291256730708788_r8, & + 0.0059825394537215294_r8, 0.0067077484203806144_r8, & + 0.0074481038432633456_r8, 0.0081505996416598257_r8, & + 0.0091384452859590484_r8, 0.010109598303031177_r8, 0.010975286819093138_r8, & + 0.011981778050743014_r8, 0.012990964454244384_r8, 0.014890944561389115_r8, & + 0.015832283752513925_r8, 0.016313018818913356_r8, 0.016268250916036422_r8, & + 0.016525086582238668_r8, 0.016074500143815999_r8, 0.016039313350359997_r8, & + 0.015892701710959998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,14) / & + 0.00042602426177066667_r8, 0.00053984946441199997_r8, & + 0.00062858769334480009_r8, 0.00062313619805199998_r8, & + 0.00069627709323039999_r8, 0.00082938443662959995_r8, & + 0.0013871026911679999_r8, 0.0019475466933528002_r8, & + 0.0023346028591416002_r8, 0.0026950072701656001_r8, & + 0.0029619791090880004_r8, 0.0031492985445656001_r8, & + 0.0033746774934762668_r8, 0.0037591088652352_r8, 0.0040631811582335997_r8, & + 0.0043343425722421336_r8, 0.0049182582902709332_r8, & + 0.0057056964992309341_r8, 0.0064450807867210682_r8, & + 0.0071784078572191996_r8, 0.0079163787940778677_r8, & + 0.0086418314824863989_r8, 0.0096348112547082667_r8, & + 0.010564795970213333_r8, 0.011408162482732801_r8, 0.012385393490775467_r8, & + 0.013442983577578669_r8, 0.0152223920225952_r8, 0.0162663533711664_r8, & + 0.016958996134201602_r8, 0.017244896776224001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,14) / & + 0.00035202997702898572_r8, 0.00030215162878296305_r8, & + 0.00030019017852543411_r8, 0.00047754871051004452_r8, & + 0.00048104448256269626_r8, 0.00051729671253533335_r8, & + 0.0007934209463256_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,30,14) / & + 0.00062344764060799998_r8, 0.00053960856258400002_r8, & + 0.00046558509623022211_r8, 0.00075824037156977774_r8, & + 0.00084514292075200004_r8, 0.0010522085631199999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,14) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,14) / & + 0.0015794443403373659_r8, 0.0016072401894135998_r8, & + 0.0016208324890912001_r8, 0.0017434915026069329_r8, & + 0.0017555735467647997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,14) / & + 0.0012687696640214495_r8, 0.0013256943472217001_r8, & + 0.0014466359512444373_r8, 0.0016816500337252342_r8, & + 0.0017731738515219893_r8, 0.001936314830913975_r8, & + 0.0019560915806767403_r8, 0.0020306699208296293_r8, & + 0.0020701993317439995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,14) / & + 0.001368712860775792_r8, 0.0013492920369102259_r8, & + 0.0013331900456162069_r8, 0.0015908167333461181_r8, & + 0.0016415710021089453_r8, 0.0017454265920165252_r8, & + 0.0018799862975365891_r8, 0.0019614573926489808_r8, & + 0.0020105682813466538_r8, 0.0021407866789564947_r8, & + 0.0022386046687506173_r8, 0.0024055217724993014_r8, 0.0025190936863104_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,14) / & + 0.0010374111082661133_r8, 0.0010308050229869035_r8, & + 0.00096497857967245426_r8, 0.0012492480187154863_r8, & + 0.0013677153722266072_r8, 0.001633477117511595_r8, & + 0.0017951077798389727_r8, 0.0018893563723184098_r8, & + 0.0019431297542772314_r8, 0.0020399743556146622_r8, & + 0.0020990249950995259_r8, 0.0022568244323928548_r8, & + 0.0024384957351337362_r8, 0.0025083838553972733_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,14) / & + 0.0010426927335158368_r8, 0.00090953537515805094_r8, & + 0.00088488281277845611_r8, 0.001049498714161235_r8, & + 0.0011988276617764329_r8, 0.0014954470354567762_r8, & + 0.0017362071595787029_r8, 0.001775332206877607_r8, & + 0.0017840376258366458_r8, 0.0018134775421292135_r8, & + 0.0018410598429332205_r8, 0.0019264174312612048_r8, & + 0.0020181288163774657_r8, 0.0020836233890395737_r8, & + 0.002150407328539947_r8, 0.0021776024433837744_r8, & + 0.0022577865882389809_r8, 0.0023457266693304888_r8, & + 0.0024679862748874667_r8, 0.0025854107548009481_r8, & + 0.002782993065960691_r8, 0.0029257772864941423_r8, & + 0.0030068560940534526_r8, 0.0031799667488950911_r8, & + 0.0033613990825653328_r8, 0.0035152021268441665_r8, & + 0.0036372314883228833_r8, 0.0037848508344998323_r8, & + 0.0038947430438530375_r8, 0.0039607244182806138_r8, & + 0.0040188774940472889_r8, 0.004074530776964267_r8, & + 0.0041086726845693628_r8, 0.004138275494631586_r8, & + 0.0041513007310589635_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,14) / & + 0.0017036706586960593_r8, 0.0019036091400008691_r8, & + 0.0018301991608479079_r8, 0.0018152285754186803_r8, & + 0.0018058945055878059_r8, 0.001961327059728013_r8, & + 0.0018697900464107464_r8, 0.001739879634899885_r8, & + 0.0018384059275591113_r8, 0.0019050069958692611_r8, & + 0.0019498285679073713_r8, 0.0020107480284943806_r8, & + 0.0020772589125549572_r8, 0.0021385391101402598_r8, & + 0.0022133920372863999_r8, 0.0022561844637091029_r8, & + 0.0023437533700451296_r8, 0.0024159909539536329_r8, & + 0.0025114058900025686_r8, 0.0026101125511609423_r8, & + 0.002752829126111263_r8, 0.0028803947471332087_r8, & + 0.0029905548079874368_r8, 0.0031555018004576661_r8, & + 0.0033181040024389801_r8, 0.0034728601747073843_r8, & + 0.0036213936337552073_r8, 0.0038435174404551379_r8, & + 0.0039586376350359189_r8, 0.0040394878147787068_r8, & + 0.0040997759856187003_r8, 0.0041666476066775709_r8, & + 0.004209485125225061_r8, 0.0042420416393211527_r8, & + 0.0042509698800289458_r8, 0.0042507895115297982_r8, & + 0.004243552225501511_r8, 0.0042587708176170663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,14) / & + 0.0023635275479893334_r8, 0.0030600725562026664_r8, & + 0.0030086945439573329_r8, 0.0035972947653973328_r8, & + 0.003498337656149333_r8, 0.0035385042356053322_r8, & + 0.0032799000296960001_r8, 0.0022147675864746669_r8, & + 0.002258455111765333_r8, 0.0022919967536639998_r8, & + 0.0023056635828906658_r8, 0.0023174309544959997_r8, & + 0.0022906532348586661_r8, 0.0023528720540159998_r8, & + 0.0024052229591893337_r8, 0.0024572032384853324_r8, & + 0.0024906058956799993_r8, 0.0025310504445440001_r8, & + 0.0026118932140373331_r8, 0.0027234979313493324_r8, & + 0.0028290336499200001_r8, 0.0029568069211306667_r8, & + 0.0030966718615893334_r8, 0.0032550217676800002_r8, & + 0.0034392691569493333_r8, 0.0035980360171519988_r8, & + 0.0038003514179413326_r8, 0.0041235835112106668_r8, & + 0.0041453577815040001_r8, 0.0041592562519039977_r8, & + 0.004186450925653333_r8, 0.0042273124286293338_r8, & + 0.0042607614140586668_r8, 0.0042708609692159996_r8, & + 0.0042840181878613321_r8, 0.0043003257264639973_r8, & + 0.0043625908738559984_r8, 0.0043734316807680007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,15) / & + 0.002879631188534642_r8, 0.0028815390934814815_r8, & + 0.0028473662357248681_r8, 0.0030239276516825396_r8, & + 0.0031329882734497353_r8, 0.0034541538631005296_r8, & + 0.0042512284700740744_r8, 0.0047785954741693124_r8, & + 0.0052600334268253952_r8, 0.0055565130502328048_r8, & + 0.0056950854960211633_r8, 0.0058030517812380951_r8, & + 0.005987149142592592_r8, 0.0060846910995555536_r8, & + 0.0061495961131851845_r8, 0.0062200730511111097_r8, & + 0.0063850868788148133_r8, 0.0065601989525925913_r8, & + 0.0068083367937777778_r8, 0.0069862930728148125_r8, & + 0.0072475328405185186_r8, 0.0075073303978518508_r8, & + 0.0077191550459999999_r8, 0.0078733703235555549_r8, & + 0.0080180032225925929_r8, 0.0081838352273333314_r8, & + 0.0083214498314814807_r8, 0.0086358572391851841_r8, & + 0.0088621234054074051_r8, 0.008978459859629629_r8, & + 0.0090475126148148125_r8, 0.0090746788659259257_r8, & + 0.009081064807037036_r8, 0.0091150607562962942_r8, & + 0.0091024136807407417_r8, 0.0091157263918518524_r8, & + 0.0091412146866666662_r8, 0.0092393543288888883_r8, & + 0.0092595938099999994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,15) / & + 0.0025460282651851851_r8, 0.002559128342716049_r8, & + 0.0025764995817283958_r8, 0.0026619875259259267_r8, & + 0.0027382952464197535_r8, 0.0029273172543209866_r8, & + 0.0035727526197530859_r8, 0.0041292424340740744_r8, & + 0.0047103977437037035_r8, 0.0051315509066666666_r8, & + 0.0054052473041975302_r8, 0.0055871599545679008_r8, & + 0.0058785788987654334_r8, 0.006000445675061728_r8, & + 0.0060651417530864192_r8, 0.0061128456345679004_r8, & + 0.0062195229772839498_r8, 0.0063222804661728395_r8, & + 0.0064800083580246913_r8, 0.0066163434627160497_r8, & + 0.0068041081590123455_r8, 0.0069988065590123449_r8, & + 0.0072466171293827167_r8, 0.00738604928839506_r8, 0.0075874687585185188_r8, & + 0.00777537212888889_r8, 0.0079560736923456783_r8, 0.0083664195224691356_r8, & + 0.008676910774320987_r8, 0.0088937230666666679_r8, & + 0.0090719469866666659_r8, 0.0091816381792592591_r8, & + 0.0092046765654320972_r8, 0.0092515206676543199_r8, & + 0.0092691507649382728_r8, 0.0092736715397530849_r8, & + 0.009276038243950617_r8, 0.0093279855520987647_r8, & + 0.0093427472421957654_r8, 0.0093263001998518513_r8, & + 0.0093063651083333341_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,15) / & + 0.0019966293185185186_r8, 0.0020235783135802467_r8, & + 0.0021145115264197532_r8, 0.0021350630241975307_r8, & + 0.0021723201254320985_r8, 0.002156049034074074_r8, & + 0.0023709106444444444_r8, 0.002826316303703703_r8, & + 0.0033285568202469141_r8, 0.0037328472158024684_r8, & + 0.0040609685649382714_r8, 0.0044617366390123456_r8, & + 0.0050278596790123446_r8, 0.0053504340651851848_r8, & + 0.0055649443679012343_r8, 0.0056227899466666656_r8, & + 0.005789725797037037_r8, 0.0058370229012345677_r8, & + 0.0059932808479012346_r8, 0.0061136591891358038_r8, & + 0.0062514642390123446_r8, 0.0063833063037037037_r8, & + 0.0065286459782716039_r8, 0.0066279181254320996_r8, & + 0.0068091558953086396_r8, 0.0069893212523456797_r8, & + 0.0071869780325925937_r8, 0.0076828395417283951_r8, & + 0.0081226397451851853_r8, 0.0084695468088888878_r8, & + 0.0087785496256790121_r8, 0.0090256575807407414_r8, & + 0.0091813053614814809_r8, 0.0092394560232098768_r8, & + 0.0093132121407407415_r8, 0.0093308422380246909_r8, & + 0.0093189902271604945_r8, 0.009325566845123456_r8, & + 0.0093643724735185188_r8, 0.0093462963079629629_r8, & + 0.0092880983649788352_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,15) / & + 0.0014867709728395061_r8, 0.0014982716760493825_r8, & + 0.0016019536587654323_r8, 0.0015572174024691358_r8, & + 0.0015411127199999998_r8, 0.001515125198518518_r8, & + 0.0015303146320987655_r8, 0.0017127172641975305_r8, & + 0.0020282007827160491_r8, 0.0023455795135802469_r8, & + 0.0025614765570370368_r8, 0.0028435396237037028_r8, & + 0.0034761984844444449_r8, 0.0039222297762962956_r8, & + 0.0042821537130864201_r8, 0.0045104851985185183_r8, & + 0.004854147288888889_r8, 0.0051688727224691354_r8, & + 0.0053453308592592598_r8, 0.0055011080691358023_r8, & + 0.0056349655303703705_r8, 0.0057244195530864201_r8, & + 0.0057994237372839498_r8, 0.0058696945130864188_r8, & + 0.0059718788158024698_r8, 0.006083779548641974_r8, & + 0.0061970485323456798_r8, 0.0066142910864197529_r8, 0.00708247325037037_r8, & + 0.007565622969382714_r8, 0.0080275185753086419_r8, & + 0.0084482094913580254_r8, 0.0088193660281481474_r8, & + 0.0091017804024691364_r8, 0.0092945281204938283_r8, & + 0.0094179006661111089_r8, 0.0094124750429629631_r8, & + 0.0093694142666402112_r8, 0.0093777228247354499_r8, & + 0.0092401378374074063_r8, 0.0092022451466666662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,15) / & + 0.0010086597451851851_r8, 0.0009934240869135802_r8, & + 0.0010800214237037034_r8, 0.0007728675945679012_r8, & + 0.00077780439160493825_r8, 0.00077896000888888896_r8, & + 0.00080347758518518517_r8, 0.000919131762962963_r8, & + 0.0011664708414814817_r8, 0.0013974186444444447_r8, & + 0.0015732943501234567_r8, 0.0017216940992592592_r8, & + 0.0021152603664197529_r8, 0.0024942843456790126_r8, & + 0.002790501412839506_r8, 0.0031314362464197527_r8, & + 0.0037180553145679017_r8, 0.0042618610735802465_r8, & + 0.0045849809111111108_r8, 0.0048733028009876542_r8, & + 0.0050780781837037022_r8, 0.0051709066088888901_r8, & + 0.0052749583891358014_r8, 0.0053103202780246904_r8, & + 0.0053623323007407405_r8, 0.0054177834404938261_r8, & + 0.0054761282459259248_r8, 0.0057401359481481472_r8, & + 0.0061173109397530852_r8, 0.0066428487007407404_r8, & + 0.0072152398088888873_r8, 0.0077453723041975312_r8, & + 0.0082483986404938286_r8, 0.0087665312059259249_r8, & + 0.0091942459638271589_r8, 0.0094956136172222212_r8, 0.00974115719665785_r8, & + 0.009702662099135801_r8, 0.0095195036933333338_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,15) / & + 0.00080619559703703678_r8, 0.00078471036049382705_r8, & + 0.00082460226913580264_r8, 0.00037019506320987649_r8, & + 0.0003631134404938271_r8, 0.00037404095753086413_r8, & + 0.00043184031160493826_r8, 0.00051757786913580247_r8, & + 0.00068840583851851862_r8, 0.00081283346271604929_r8, & + 0.00094309464296296293_r8, 0.001035525535802469_r8, & + 0.0012049205397530864_r8, 0.0014235078602469137_r8, & + 0.0015924868419753084_r8, 0.001851696421234568_r8, & + 0.0022512256735802471_r8, 0.0026932539071604935_r8, & + 0.0031066690567901237_r8, 0.0035337944498765434_r8, & + 0.0039495578138271595_r8, 0.0041378772064197536_r8, & + 0.0043792255649382711_r8, 0.0045855448523456788_r8, & + 0.0047785421837037035_r8, 0.004948334720000001_r8, & + 0.0050732985506172848_r8, 0.0053153495244444449_r8, & + 0.0055564205348148142_r8, 0.0059433304464197529_r8, & + 0.0064294570355555563_r8, 0.006987342835555555_r8, & + 0.0075787600266666675_r8, 0.0081463807466666659_r8, & + 0.0087204359437037023_r8, 0.0091139051390123453_r8, & + 0.0094405212801269827_r8, 0.0096116734166666658_r8, & + 0.0096166032799999985_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,15) / & + 0.00054545135802469135_r8, 0.0005379999377777779_r8, & + 0.00055242204148148156_r8, 0.00025458711012345682_r8, & + 0.00025345922765432095_r8, 0.00028405997333333334_r8, & + 0.00030619235555555554_r8, 0.00032131707456790117_r8, & + 0.00034798872148148152_r8, 0.00037258025728395067_r8, & + 0.00041372947753086413_r8, 0.00044091884098765429_r8, & + 0.00047646562864197531_r8, 0.00055839427160493823_r8, & + 0.00061220905728395054_r8, 0.00072089255160493837_r8, & + 0.00083355136938271601_r8, 0.0010064502049382715_r8, & + 0.0012688030632098766_r8, 0.0016072047837037036_r8, & + 0.0019739145051851847_r8, 0.0022565507580246916_r8, & + 0.0025878246311111107_r8, 0.0030371286311111118_r8, & + 0.003456710154567901_r8, 0.0038888740390123455_r8, & + 0.0042982121708641978_r8, 0.0050133451259259266_r8, & + 0.0053567206232098758_r8, 0.005602478817283949_r8, & + 0.0059292411604938283_r8, 0.0063930412237037035_r8, & + 0.0069506126958024687_r8, 0.0075365014138271593_r8, & + 0.008216854911111111_r8, 0.0086560911733333332_r8, & + 0.0091064123806843048_r8, 0.009355766129358024_r8, & + 0.0095025436559682541_r8, 0.0094956765405833331_r8, & + 0.0095701751999999994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,15) / & + 0.00023142853975308643_r8, 0.00023029141234567901_r8, & + 0.00024237454666666667_r8, 0.00020833468395061727_r8, & + 0.00020958275061728392_r8, 0.0002290710804938272_r8, & + 0.00024654401382716046_r8, 0.00025904317037037041_r8, & + 0.00026921260246913579_r8, 0.00028162855456790123_r8, & + 0.00028499371209876541_r8, 0.00029618008740740743_r8, & + 0.000317064402962963_r8, 0.00033352039308641972_r8, & + 0.00034538164888888888_r8, 0.00036136614716049387_r8, & + 0.00038591145827160498_r8, 0.00046869988049382726_r8, & + 0.00060259432148148143_r8, 0.0008164667234567902_r8, & + 0.0011667019649382715_r8, 0.0015223362503703703_r8, & + 0.001918518835061728_r8, 0.0024320844009876547_r8, & + 0.0029396500019753082_r8, 0.003474719294320988_r8, 0.004003575988148148_r8, & + 0.0049783252997530865_r8, 0.005517582549135802_r8, & + 0.0058868438735802482_r8, 0.0062419419525925925_r8, & + 0.0066493918058024683_r8, 0.0071184210372222225_r8, & + 0.0076524618301851855_r8, 0.0082670590531305106_r8, & + 0.0087235311820546731_r8, 0.0090759508703791882_r8, & + 0.0093016724767195757_r8, 0.009517906677414964_r8, & + 0.0095541024786031745_r8, 0.0095433584075555553_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,15) / & + 0.00015601757827160494_r8, 0.0001575984627160494_r8, & + 0.00016483724938271604_r8, 0.00020078156938271603_r8, & + 0.00020155814419753088_r8, 0.00021010971209876544_r8, & + 0.00022778603407407408_r8, 0.00023741925975308639_r8, & + 0.00024668268790123453_r8, 0.00025572423753086421_r8, & + 0.00026304622864197527_r8, 0.00027474107555555558_r8, & + 0.00029407224148148144_r8, 0.00030757909629629623_r8, & + 0.00031737873086419755_r8, 0.00032511674419753083_r8, & + 0.00035830607259259255_r8, 0.00042691275950617285_r8, & + 0.0005651893012345679_r8, 0.00080229423308641979_r8, & + 0.0011641041372839507_r8, 0.0016228287293827159_r8, & + 0.0021694449496296297_r8, 0.0027637835412345677_r8, & + 0.0033424149827160493_r8, 0.003902621262222222_r8, 0.004427724511111111_r8, & + 0.0053325173748148156_r8, 0.0059300824498765446_r8, & + 0.0064226596946913572_r8, 0.0068738404171604936_r8, & + 0.0073355519497619055_r8, 0.0077433340594497335_r8, & + 0.0081266552511058184_r8, 0.0084476680681516755_r8, & + 0.0087003936109012331_r8, 0.0089950058558306879_r8, & + 0.0092730074065000001_r8, 0.0095344368109999984_r8, & + 0.0095624995899999989_r8, 0.0095930148200000006_r8, & + 0.0096181009599999989_r8, 0.0096181009599999989_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,15) / & + 0.00017680019950617283_r8, 0.00018168152691358026_r8, & + 0.00018724697975308638_r8, 0.00020697567802469138_r8, & + 0.00020680926913580245_r8, 0.00021687700691358025_r8, & + 0.00022421748790123455_r8, 0.00023001406419753087_r8, & + 0.00023829752888888885_r8, 0.00024979823209876541_r8, & + 0.00026100309728395058_r8, 0.00028157308493827161_r8, & + 0.00030815228246913582_r8, 0.00032685479259259264_r8, & + 0.00033377000641975307_r8, 0.00033614595555555557_r8, & + 0.00037471583802469127_r8, 0.00041491282962962962_r8, & + 0.00054156848395061708_r8, 0.00082289195555555555_r8, & + 0.0012431298696296295_r8, 0.0017889417802469134_r8, & + 0.0024740379308641975_r8, 0.0031762279723456795_r8, & + 0.003861259408395061_r8, 0.0044499678325925921_r8, & + 0.0049436845160493815_r8, 0.0058296824202469138_r8, & + 0.0064354107758024682_r8, 0.0069014388691358026_r8, & + 0.0074482584780246911_r8, 0.0079761352083950604_r8, & + 0.0083844801697354494_r8, 0.0086356849531569625_r8, & + 0.0088062532388271612_r8, 0.0089073329365079359_r8, & + 0.0090088332128447964_r8, 0.0091583607453968249_r8, & + 0.0092481461661322734_r8, 0.0093146668317777778_r8, & + 0.0093676694496296273_r8, 0.0093864597866666656_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,15) / & + 0.00021643511920306171_r8, 0.00022145108693307655_r8, & + 0.00022667119288466171_r8, 0.00021444234132582713_r8, & + 0.00021506447685823213_r8, 0.00021975965595435063_r8, & + 0.00024373131568732843_r8, 0.00025145940550392102_r8, & + 0.00026128720274238025_r8, 0.00027115388345161481_r8, & + 0.00027771546914494814_r8, 0.00029808068696351607_r8, & + 0.00032784598384201475_r8, 0.00033641006828027649_r8, & + 0.00034482833970313095_r8, 0.00035440339438155063_r8, & + 0.00039286886784602464_r8, 0.00044232864267221733_r8, & + 0.00057568922656383225_r8, 0.00095922606142378271_r8, & + 0.0015862706320141037_r8, 0.0024273006631486418_r8, & + 0.0033781278948849585_r8, 0.0042546682557050462_r8, & + 0.004951197588570844_r8, 0.0054670548744791695_r8, & + 0.0058758951279461536_r8, 0.0066801511165949434_r8, & + 0.0073457194858559003_r8, 0.0079693520318856875_r8, & + 0.0086010626189690492_r8, 0.0091024844163520406_r8, & + 0.0093940229593576108_r8, 0.0095768627598108048_r8, & + 0.0096420897820363848_r8, 0.0096663919512709525_r8, & + 0.0096697262088899349_r8, 0.0096779597838266077_r8, & + 0.0097191568211130452_r8, 0.0097709976877634573_r8, & + 0.0098559312695865788_r8, 0.0098561484962621515_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,15) / & + 0.00023899325758283357_r8, 0.00023994465673667651_r8, & + 0.00024660953825165436_r8, 0.00023623174798679506_r8, & + 0.00023525795386221233_r8, 0.00023773832476069138_r8, & + 0.00026437618262673083_r8, 0.00026861040262917037_r8, & + 0.00030167606647723947_r8, 0.00033401011013223209_r8, & + 0.00036146371176755556_r8, 0.00040224197803427657_r8, & + 0.00044359381413877538_r8, 0.00042285097960545177_r8, & + 0.00040885332636439502_r8, 0.00041302764018377779_r8, & + 0.00044956403885022231_r8, 0.00060907635993550139_r8, & + 0.0010452112169838865_r8, 0.0018502955094826469_r8, & + 0.0029227270763678265_r8, 0.004036868641856207_r8, 0.005027686319224167_r8, & + 0.0057738178291964898_r8, 0.0063066234213035805_r8, & + 0.0066724411654396892_r8, 0.0069881274490687173_r8, & + 0.0077420565954642116_r8, 0.0084385304318240224_r8, & + 0.0090611259238787788_r8, 0.0095744745704031461_r8, & + 0.0099579688265112494_r8, 0.010194405056697355_r8, 0.010323578082563468_r8, & + 0.010352529156689549_r8, 0.010315435029637991_r8, 0.010259207341140813_r8, & + 0.010186629379805114_r8, 0.01019168138293626_r8, 0.010219500284828266_r8, & + 0.0103362332182128_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,15) / & + 0.00029496214333821246_r8, 0.00029835607037738274_r8, & + 0.00031385286931095307_r8, 0.00029688323411510128_r8, & + 0.00029821732493238523_r8, 0.00030475970630034572_r8, & + 0.00037411108334603461_r8, 0.00041500897144069142_r8, & + 0.00048775427552555075_r8, 0.00057761863297779768_r8, & + 0.00065895548192596552_r8, 0.0007372719492638025_r8, & + 0.00080607901725603982_r8, 0.00086397855872616294_r8, & + 0.00084887665067450878_r8, 0.0008566997592270618_r8, & + 0.00092223030017204966_r8, 0.0014877487294370818_r8, & + 0.0025935485919765851_r8, 0.0038958747069010049_r8, & + 0.005157766053828769_r8, 0.0061149506769200722_r8, & + 0.0066956644005939699_r8, 0.0071093463328402683_r8, & + 0.0074309073883090842_r8, 0.007714775804163969_r8, & + 0.0079763917757709642_r8, 0.0087765253220075772_r8, & + 0.0095258940444649005_r8, 0.010027234700873669_r8, 0.010481300515081166_r8, & + 0.010764006099262828_r8, 0.010956803300995271_r8, 0.01108392828133793_r8, & + 0.011108109744673857_r8, 0.011057539164517563_r8, 0.010948873998813663_r8, & + 0.01086366577078126_r8, 0.010767560288726033_r8, 0.010744756769678402_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,15) / & + 0.00034996745925586166_r8, 0.00036236476468393082_r8, & + 0.00037799518034054317_r8, 0.00036751544373767893_r8, & + 0.00038060396583529865_r8, 0.0003990661401058765_r8, & + 0.00054275001812472095_r8, 0.00072817446405965425_r8, & + 0.00092076749577718522_r8, 0.0010916652429955949_r8, & + 0.0012272328994751996_r8, 0.0013644840030048392_r8, & + 0.0014259242460031207_r8, 0.0014779661720267056_r8, & + 0.001497498617269491_r8, 0.0015365635077550612_r8, & + 0.0017881998214393678_r8, 0.0026911406163357228_r8, & + 0.0040095026296319992_r8, 0.0052087969972702012_r8, & + 0.0061999905527498249_r8, 0.0069401386733110521_r8, & + 0.0074764782142584885_r8, 0.0079280768212502111_r8, & + 0.0083245453245172907_r8, 0.0087179479473952371_r8, & + 0.0089926954248856477_r8, 0.0097424313895728958_r8, & + 0.010400971348503306_r8, 0.01080516587035101_r8, 0.011253386434586702_r8, & + 0.011474899079865757_r8, 0.011604435313470733_r8, 0.01169455965467337_r8, & + 0.011700251043541205_r8, 0.011628718479734686_r8, 0.011464632561308136_r8, & + 0.011374430179513775_r8, 0.011239765962333255_r8, 0.011225704321836798_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,15) / & + 0.00042111223007427161_r8, 0.00042936568569600005_r8, & + 0.00042881933018301232_r8, 0.00047500380790854312_r8, & + 0.00051398104269679006_r8, 0.00055287690538735807_r8, & + 0.00084917596220740758_r8, 0.0012126069996126418_r8, & + 0.0014583972329447901_r8, 0.0016284067941670121_r8, & + 0.0017224961882547161_r8, 0.0018066116880840492_r8, & + 0.0018135748147282962_r8, 0.0018347083109540743_r8, & + 0.0019497219587306667_r8, 0.0021362268066109627_r8, & + 0.002832120985961876_r8, 0.0038667788325359013_r8, & + 0.0049872261192343698_r8, 0.0060641509582599513_r8, & + 0.0069255094859484445_r8, 0.0075813918424120488_r8, & + 0.0080687874583385676_r8, 0.0085572292869495314_r8, & + 0.0090235495295771864_r8, 0.0094405117826698269_r8, & + 0.009789319091663605_r8, 0.010423370476778469_r8, 0.011060816240825085_r8, & + 0.011433222911218953_r8, 0.011822986540662382_r8, 0.012027061949348656_r8, & + 0.012147146822498458_r8, 0.012228064108274371_r8, 0.012235054843308902_r8, & + 0.012147404805261199_r8, 0.011965291601189363_r8, 0.011868367468923332_r8, & + 0.011731182830675556_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,15) / & + 0.00049938824599980247_r8, 0.00049567338795468636_r8, & + 0.00048730134427401965_r8, 0.00058047617259453059_r8, & + 0.00060688273710822862_r8, 0.0006782122467546384_r8, & + 0.0010723065666955413_r8, 0.0014639978540445565_r8, & + 0.0016823175029614678_r8, 0.0018169875895155702_r8, & + 0.0018866532783763012_r8, 0.001925265156796373_r8, 0.001976907777097013_r8, & + 0.002055577113295104_r8, 0.0022253538184270334_r8, & + 0.0025431461814591832_r8, 0.0034460943751060502_r8, & + 0.004593356284277054_r8, 0.0056557806198281489_r8, & + 0.0066605140224017256_r8, 0.0074124910074072695_r8, & + 0.0080404848212376825_r8, 0.0085891491725712758_r8, & + 0.0091276657296765762_r8, 0.0095009290133807774_r8, & + 0.0099391035640304763_r8, 0.010352309134541429_r8, 0.011019509351013958_r8, & + 0.011685260357974098_r8, 0.012036264398965619_r8, 0.012367802773951681_r8, & + 0.012583265145594153_r8, 0.012638001521801421_r8, 0.012685718767511431_r8, & + 0.012767133829363106_r8, 0.012766400084396622_r8, 0.012816006144839466_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,15) / & + 0.00050354825041127899_r8, 0.00049410334079668153_r8, & + 0.00045937820622996294_r8, 0.00050372746474151603_r8, & + 0.00051840260309908397_r8, 0.00055144092208383457_r8, & + 0.00080429662149300986_r8, 0.0012133643346477457_r8, & + 0.0015137008271810372_r8, 0.0017057289820300223_r8, & + 0.0018333154366590376_r8, 0.0019113679936438518_r8, & + 0.0020132419080504376_r8, 0.0022084880605660472_r8, & + 0.0024364534047941434_r8, 0.002735191116855057_r8, & + 0.0035696664883266664_r8, 0.004768308522950993_r8, & + 0.0058281616352509604_r8, 0.0068383299325760023_r8, & + 0.0076093791516989853_r8, 0.0083020110969545657_r8, & + 0.0089162509212311961_r8, 0.0095016073692846276_r8, & + 0.0099403020409274956_r8, 0.010413151190980277_r8, 0.010789499712422526_r8, & + 0.011613849474235743_r8, 0.012301593898853543_r8, 0.012751288243028593_r8, & + 0.013053904216078058_r8, 0.013217046973489587_r8, 0.01326534725670272_r8, & + 0.013345353474466481_r8, 0.013450957382567351_r8, 0.013557280932773247_r8, & + 0.013610298415636627_r8, 0.013598476423315482_r8, 0.013555055081808534_r8, & + 0.013391979473625998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,15) / & + 0.00042800038433690859_r8, 0.00041916392737627648_r8, & + 0.00038337431882966912_r8, 0.00040929633289734312_r8, & + 0.0004151437962922667_r8, 0.00044658696441362964_r8, & + 0.00063545481112019752_r8, 0.0010544490576390318_r8, & + 0.0014422089740148936_r8, 0.001728003747441778_r8, & + 0.0019210744584634469_r8, 0.0020757972957032291_r8, & + 0.0022674975074917134_r8, 0.0025212878607303109_r8, & + 0.0028133347211352485_r8, 0.0031802761015403448_r8, & + 0.0038677054645323851_r8, 0.0049915409404915354_r8, & + 0.0060204203981514262_r8, 0.0070496783746471494_r8, & + 0.0078557929712330249_r8, 0.008492109239014084_r8, & + 0.0091250710467672483_r8, 0.0097235876404596928_r8, & + 0.010275820517191427_r8, 0.010793334080015801_r8, 0.011263036798162488_r8, & + 0.012223326032294873_r8, 0.012928180314108835_r8, 0.013401447961808513_r8, & + 0.013725053830150951_r8, 0.013905530632147674_r8, 0.013975271096103029_r8, & + 0.014050428295122881_r8, 0.014096906166141628_r8, 0.014153750884931399_r8, & + 0.014186101193021388_r8, 0.014159594385998606_r8, 0.01412276128679435_r8, & + 0.014081363481177278_r8, 0.013843794536332797_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,15) / & + 0.0003894663171284345_r8, 0.00036516948481183205_r8, & + 0.00034779914366789126_r8, 0.00039674454418095793_r8, & + 0.00040602496008807892_r8, 0.00043179637743948637_r8, & + 0.00057623806933501231_r8, 0.00084243448887498247_r8, & + 0.001268305469569106_r8, 0.0016602474661596442_r8, & + 0.0019672723043697182_r8, 0.0022328464219683948_r8, & + 0.0025478935438999306_r8, 0.002860938476976869_r8, & + 0.0032008370916509431_r8, 0.0035828763703930661_r8, & + 0.0042208440866438116_r8, 0.00518361283134072_r8, 0.0061352071977004829_r8, & + 0.0070017897075582798_r8, 0.0078398004413288477_r8, & + 0.0085108583868927397_r8, 0.0091916702389712585_r8, & + 0.0098760400347576108_r8, 0.010523991638675198_r8, 0.011144331976023644_r8, & + 0.011710748497328671_r8, 0.012937129755678872_r8, 0.013718213390124127_r8, & + 0.014201065583355849_r8, 0.014492478759821291_r8, 0.014663111246463443_r8, & + 0.014735812347170248_r8, 0.01477110768988407_r8, 0.014758039349116896_r8, & + 0.014745119578106675_r8, 0.014698427558047024_r8, 0.014694889616901588_r8, & + 0.014678453743292321_r8, 0.014650239790821336_r8, 0.014484551174221332_r8, & + 0.014501718590819199_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,15) / & + 0.00040722907668799997_r8, 0.00036294769354251841_r8, & + 0.00035808822486716043_r8, 0.00042133133880928395_r8, & + 0.00043630186334518516_r8, 0.00046400223521797529_r8, & + 0.00060386250513382706_r8, 0.00087396213724227141_r8, & + 0.0012928567395976297_r8, 0.0017265118030014815_r8, & + 0.0020859724426530372_r8, 0.0023997232674447398_r8, & + 0.0028049497388861235_r8, 0.0031337971263061728_r8, & + 0.0034615241751267158_r8, 0.0038239397078344687_r8, & + 0.004490373123750716_r8, 0.0053244512068505679_r8, & + 0.0061940860362522457_r8, 0.0070661996148053321_r8, & + 0.0079078627403296551_r8, 0.0086584108281910124_r8, & + 0.0094403966674719494_r8, 0.010197482981378864_r8, 0.010864382038025529_r8, & + 0.011525653143738738_r8, 0.012207097346359308_r8, 0.013532983068293631_r8, & + 0.014497678627863407_r8, 0.014970282962890713_r8, 0.015350802467154864_r8, & + 0.01549739352131306_r8, 0.01550859390640116_r8, 0.015508067247229156_r8, & + 0.015386075627748689_r8, 0.015345749640040854_r8, 0.015291110926603405_r8, & + 0.015264116268018069_r8, 0.015246744542768196_r8, 0.015214751348477332_r8, & + 0.015007922838776_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,15) / & + 0.00034763791726027406_r8, 0.00037300897095743205_r8, & + 0.00042247320406265678_r8, 0.00047471038817480489_r8, & + 0.00051960975023599494_r8, 0.00057767157947887404_r8, & + 0.0008690504476548172_r8, 0.0012768751579191506_r8, & + 0.0017254796241795577_r8, 0.0021682413451068389_r8, & + 0.0025286887756020989_r8, 0.0028237890453904667_r8, & + 0.0031896846368066395_r8, 0.0035309223225000199_r8, & + 0.003844997034459131_r8, 0.0041654774080458539_r8, 0.004797903909790029_r8, & + 0.0055518406902527332_r8, 0.0063616057349827658_r8, & + 0.0071273384173463307_r8, 0.0079120305445700839_r8, & + 0.0087357697212720638_r8, 0.0096510933363498554_r8, & + 0.010534251081751383_r8, 0.011301026077198583_r8, 0.012132949389700649_r8, & + 0.012973095624150794_r8, 0.014613008351527935_r8, 0.015646192882517364_r8, & + 0.016106656601387017_r8, 0.016418275477885165_r8, 0.016576839301504991_r8, & + 0.016339452393277252_r8, 0.016286806015303815_r8, 0.015981572799709628_r8, & + 0.015924011441062976_r8, 0.015898370694350131_r8, 0.015870416741771198_r8, & + 0.0157425713922144_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,15) / & + 0.00036729975591062914_r8, 0.0004342426339610469_r8, & + 0.00050162954689933026_r8, 0.00062711713566396439_r8, & + 0.0006869071020069728_r8, 0.00079919930528613318_r8, & + 0.0013077587571070515_r8, 0.0017604314085219676_r8, & + 0.0021686477728238259_r8, 0.0025719539455101056_r8, & + 0.0028598185359836681_r8, 0.0031109943387953175_r8, & + 0.0034514807615211264_r8, 0.0038164146248069212_r8, & + 0.004108643936879112_r8, 0.0044231032353119403_r8, & + 0.0050858592410258727_r8, 0.005891408528791952_r8, & + 0.0066583060419079703_r8, 0.007423141857833008_r8, & + 0.0081874056032643569_r8, 0.0089330826661850674_r8, & + 0.0097794329189265193_r8, 0.01081471225647585_r8, 0.011703126516106194_r8, & + 0.012667401810027082_r8, 0.0134982052058224_r8, 0.015200630909698013_r8, & + 0.016373240816938191_r8, 0.016921632079015765_r8, 0.017002798786708566_r8, & + 0.017100646677399935_r8, 0.016870301171104458_r8, 0.016903673552341333_r8, & + 0.016642809407219201_r8, 0.016487744652224003_r8, 0.016485321765427201_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,15) / & + 0.00031638728963164446_r8, 0.00058374704930720005_r8, & + 0.00040499795283840002_r8, 0.00059093451297640006_r8, & + 0.00082812081406000008_r8, 0.00081874586144800013_r8, & + 0.0013068683941128_r8, 0.0012924934667744_r8, 0.0014249927970240001_r8, & + 0.0018187408067280001_r8, 0.0023062383425520002_r8, 0.0026387366618576_r8, & + 0.0030749844567360004_r8, 0.0034337326433551999_r8, & + 0.0038812303813680004_r8, 0.0043199781636096002_r8, & + 0.0052637233932176005_r8, 0.0062349684838208007_r8, & + 0.0070849641873088004_r8, 0.0079399598655231999_r8, & + 0.0088362053352304005_r8, 0.0095274518411552003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,15) / & + 0.00035867575737218968_r8, 0.00055487089316815408_r8, & + 0.00041645025084577776_r8, 0.00056857002446800012_r8, & + 0.00071518962431454816_r8, 0.00071270798408604456_r8, & + 0.0011471262646632_r8, 0.001358733817993689_r8, 0.0013425196397699557_r8, & + 0.0017194545423618666_r8, 0.0022283220297941333_r8, & + 0.0026153863196648887_r8, 0.0030554240836440892_r8, & + 0.0034153573644782223_r8, 0.0038984897655024_r8, 0.004364441580329244_r8, & + 0.0053969232250131562_r8, 0.0064329125727123557_r8, & + 0.0073489957459093331_r8, 0.0082362298514499568_r8, & + 0.0091305151559090691_r8, 0.0098699246343767998_r8, 0.010659479948808_r8, & + 0.011510885373549599_r8, 0.012476971211158401_r8, 0.0133344972197328_r8, & + 0.014202331580025601_r8, 0.0161622069504864_r8, 0.017857930808163201_r8, & + 0.018140121936454402_r8, 0.018417158888886401_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,15) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,15) / & + 0.00076918726919966089_r8, 0.00090723301629439142_r8, & + 0.0010866974709777776_r8, 0.0012732155871934812_r8, & + 0.0014970529842495799_r8, 0.0015737691886429626_r8, & + 0.0019335627070888883_r8, 0.002323991777085714_r8, & + 0.0024402726650026661_r8, 0.0025865296787399993_r8, & + 0.0025797547568511105_r8, 0.0025613269693133328_r8, & + 0.0025958790709466662_r8, 0.0026227077616266664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,15) / & + 0.00097590535640431698_r8, 0.0010382842440205115_r8, & + 0.0010867777751741472_r8, 0.0013500407880038556_r8, & + 0.0014625467734913737_r8, 0.0015949666412037845_r8, & + 0.0018647413941999249_r8, 0.0021563543758953085_r8, & + 0.0023103913276516443_r8, 0.0024182916292876189_r8, & + 0.0025064302449953188_r8, 0.0025871410606711463_r8, & + 0.0026825079473984004_r8, 0.0027185428870229334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,15) / & + 0.0009333507626640169_r8, 0.00089338246671495278_r8, & + 0.0008829352624951704_r8, 0.0012203304131545578_r8, & + 0.0013307212946630318_r8, 0.0016013523640973726_r8, & + 0.0017537558169863703_r8, 0.0018332830376275866_r8, & + 0.0018541576582541035_r8, 0.0019238959999942598_r8, & + 0.0019733293056957983_r8, 0.0020607214209539906_r8, & + 0.0023628091767912531_r8, 0.002468331799648_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,15) / & + 0.00098191055273075083_r8, 0.00087098672119792508_r8, & + 0.00087367337199685243_r8, 0.0010431278448528706_r8, & + 0.0011669672067182483_r8, 0.0015087997823383342_r8, & + 0.0017303096219740853_r8, 0.0017794390094163978_r8, & + 0.0017722253214786958_r8, 0.0018124362750324215_r8, & + 0.0018352257399215925_r8, 0.0019251299439664354_r8, & + 0.0020164447454050377_r8, 0.0020992339375457184_r8, & + 0.0021602157262738965_r8, 0.002186266199128652_r8, & + 0.0022757653615501036_r8, 0.0023460555894422915_r8, & + 0.0024678875988539259_r8, 0.0025872198154158615_r8, & + 0.0027706914537792785_r8, 0.0029146268947040392_r8, & + 0.0029847526625403262_r8, 0.0031555279845881675_r8, & + 0.0033441965607180642_r8, 0.0035120773857820449_r8, & + 0.0036408825015638913_r8, 0.0037844232383544892_r8, & + 0.0038911249226232106_r8, 0.0039562511047600982_r8, & + 0.0040184827899131265_r8, 0.0040733466645617783_r8, & + 0.0041082779804351996_r8, 0.004135117861558282_r8, & + 0.0041471563376502523_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,15) / & + 0.0016424806453603294_r8, 0.0018555860271028941_r8, & + 0.0018105840865656365_r8, 0.0017885791296696626_r8, & + 0.0017832582589448166_r8, 0.0019634463895929948_r8, & + 0.0018558114877268283_r8, 0.0017482667701102354_r8, & + 0.0018418780211676973_r8, 0.0019075321548573236_r8, & + 0.0019478445144167507_r8, 0.0020134084638568036_r8, & + 0.0020765374385583674_r8, 0.0021441305336138273_r8, & + 0.0022160073805240366_r8, 0.0022589801754458864_r8, & + 0.0023498858990161384_r8, 0.002416126230327993_r8, & + 0.0025130292064948936_r8, 0.0026159745273832296_r8, & + 0.0027540015213557202_r8, 0.0028840923013657284_r8, & + 0.0029869023458797043_r8, 0.0031540588524644878_r8, & + 0.0033218466487962865_r8, 0.0034839077452801584_r8, & + 0.003634740902692109_r8, 0.0038487481269304101_r8, 0.003958367082287197_r8, & + 0.0040394427226539192_r8, 0.0041005425517400751_r8, & + 0.0041671887121750139_r8, 0.0042060130316164757_r8, & + 0.0042388400984612875_r8, 0.0042484221749784891_r8, & + 0.0042483342453351544_r8, 0.0042411172507630223_r8, & + 0.0042587708176170663_r8, 0.0042587708176170672_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,15) / & + 0.0023416142929919997_r8, 0.0030473786199039991_r8, & + 0.0029969735005866663_r8, 0.0035776979221333331_r8, & + 0.0034773972940800001_r8, 0.0035148768359253334_r8, & + 0.0032546048135679993_r8, 0.0021948464455679995_r8, & + 0.002258733081173333_r8, 0.0022847695490559997_r8, & + 0.0023022816217599996_r8, 0.0023166433745066663_r8, & + 0.0022891244031146662_r8, 0.0023512505658026665_r8, & + 0.0024045743639040003_r8, 0.0024566936279039994_r8, & + 0.0024912544909653322_r8, 0.0025313747421866666_r8, & + 0.0026122175116799996_r8, 0.0027239612136959997_r8, & + 0.0028286166958079993_r8, 0.0029581504399360005_r8, & + 0.0030963012357120004_r8, 0.0032564116147200009_r8, & + 0.0034401493934079993_r8, 0.0036021592300373318_r8, & + 0.0038045672872959995_r8, 0.0041262705488213343_r8, & + 0.0041453577815040001_r8, 0.0041585150001493326_r8, & + 0.004186033971541334_r8, 0.0042243937498453333_r8, & + 0.0042541364765013336_r8, 0.0042687298704213329_r8, & + 0.0042830452949333313_r8, 0.0042994918182399991_r8, & + 0.0043618496221013324_r8, 0.0043734316807680007_r8, & + 0.0043755164513279996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,1,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,16) / & + 0.0029110055512698418_r8, 0.0029333741746825396_r8, & + 0.0029337530520634919_r8, 0.0031002659465079367_r8, & + 0.0032658056461111105_r8, 0.003552046764523809_r8, & + 0.0042846366393650779_r8, 0.0048062571879365079_r8, & + 0.005244922905396826_r8, 0.005576718457142857_r8, 0.0057427350965079367_r8, & + 0.0058455995625396823_r8, 0.0059704557556613767_r8, & + 0.0060576460892063479_r8, 0.0061117487886772478_r8, & + 0.0061801856328677247_r8, 0.0063339094098835962_r8, & + 0.0065000595725714268_r8, 0.0067446980725502639_r8, 0.00690969605178836_r8, & + 0.007152781005925926_r8, 0.007513544383111111_r8, 0.0077142556909629637_r8, & + 0.0078818211216296289_r8, 0.0080291234965925926_r8, & + 0.0081799260051851862_r8, 0.0082972109900740741_r8, & + 0.0085567755749629618_r8, 0.0088169586462222196_r8, & + 0.0089560681568888884_r8, 0.0090627196137777772_r8, & + 0.0091127046837777767_r8, 0.0091343628006666667_r8, & + 0.0091757278902222204_r8, 0.0091594225925925917_r8, & + 0.0091898199496296285_r8, 0.0093055850666666669_r8, & + 0.0093895175500000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,16) / & + 0.0025670604997530856_r8, 0.00258873988_r8, 0.0026189985629629627_r8, & + 0.0027526711254320987_r8, 0.0028168032622222228_r8, & + 0.0029633077990123451_r8, 0.0034459675362962963_r8, & + 0.0039730769367901236_r8, 0.0045219951466666667_r8, & + 0.004900834227160495_r8, 0.0052026444819753079_r8, & + 0.0054305507002469127_r8, 0.0057242993688888886_r8, & + 0.0058627145846913576_r8, 0.0059361009046913571_r8, & + 0.0059948062627160487_r8, 0.0060910183353086421_r8, & + 0.0061560564760493822_r8, 0.0062885456864197539_r8, & + 0.0064033123501234541_r8, 0.0065466088933333342_r8, & + 0.0067452733718518527_r8, 0.0069558915555555543_r8, & + 0.0071249629866666671_r8, 0.0073334918143209867_r8, & + 0.0075455614533333328_r8, 0.007733353884444444_r8, & + 0.0081563930148148139_r8, 0.0085303969925925923_r8, & + 0.0088141056582716048_r8, 0.0090383601259259264_r8, & + 0.0091783192464197551_r8, 0.0092503095807407402_r8, & + 0.0093037730587654313_r8, 0.0093346973772839483_r8, & + 0.0093620069249382709_r8, 0.0094406039232716038_r8, & + 0.0095931416077248682_r8, 0.0094111739829894174_r8, & + 0.0093206741926666666_r8, 0.0092244607333333336_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,16) / & + 0.0018664051180246912_r8, 0.0018894804839506172_r8, & + 0.001932210588641975_r8, 0.0022011088632098762_r8, & + 0.0022334661471604938_r8, 0.0020466814143209875_r8, & + 0.0021278149925925923_r8, 0.0025087711639506169_r8, & + 0.0029645928454320992_r8, 0.0033544703822222218_r8, & + 0.0036815100735802472_r8, 0.0041117417659259255_r8, & + 0.0047336487634567891_r8, 0.0050808054404938262_r8, & + 0.0053003080098765424_r8, 0.0054248650632098758_r8, & + 0.0056282999298765436_r8, 0.0057311221333333339_r8, & + 0.0058716914197530848_r8, 0.0060056320854320992_r8, & + 0.0061195944395061727_r8, 0.0062368295017283942_r8, & + 0.0063454667713580236_r8, 0.0064113739362962972_r8, & + 0.0065663191017283941_r8, 0.0067381177896296282_r8, & + 0.006941820759506172_r8, 0.0074204774385185201_r8, & + 0.0079025917244444441_r8, 0.0083442224256790112_r8, & + 0.008695807428148147_r8, 0.008962847470123457_r8, 0.0091647754118518512_r8, & + 0.0092513172790123447_r8, 0.0093367959782716028_r8, & + 0.0093699853066666651_r8, 0.0093793042044444438_r8, & + 0.009432786172345678_r8, 0.0094359941659259254_r8, & + 0.0092881189019488521_r8, 0.009233962680888887_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,16) / & + 0.0012647260454320989_r8, 0.0012564148459259258_r8, & + 0.0012806458291358023_r8, 0.0015687643303703704_r8, & + 0.0015503761481481481_r8, 0.0014577233767901234_r8, & + 0.0014841639002469136_r8, 0.0016368348108641976_r8, & + 0.0018513358686419751_r8, 0.0021275283995061726_r8, & + 0.0023449138780246908_r8, 0.0026527980572839511_r8, & + 0.0032986402000000003_r8, 0.0037227517432098767_r8, & + 0.0040409994982716036_r8, 0.0042963816730864192_r8, & + 0.004617837421728394_r8, 0.0049774285407407394_r8, & + 0.0051564937501234571_r8, 0.0053366775970370376_r8, & + 0.0055075795259259255_r8, 0.005627597314567901_r8, & + 0.0057269156864197526_r8, 0.0058060708479012344_r8, & + 0.0058975310222222225_r8, 0.0060000296528395052_r8, & + 0.0061161275876543209_r8, 0.0064663443392592593_r8, & + 0.0069308747525925916_r8, 0.007445910263703703_r8, & + 0.0079308442558024706_r8, 0.0083776798572839494_r8, & + 0.0087731413367901218_r8, 0.0090904091283950626_r8, & + 0.0093033570365432128_r8, 0.0094284318064197532_r8, & + 0.0094431405032098757_r8, 0.0094221406259259264_r8, & + 0.0094604493388888884_r8, 0.009244450813367347_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,16) / & + 0.00079597994024691347_r8, 0.00075831606172839516_r8, & + 0.00079524034518518513_r8, 0.00089208107358024669_r8, & + 0.00089282066864197524_r8, 0.00089613960148148149_r8, & + 0.0009118005269135802_r8, 0.0010201881832098765_r8, & + 0.0011647420380246913_r8, 0.0013569350597530865_r8, & + 0.0015045120093827157_r8, 0.001656267671111111_r8, & + 0.0020797690483950614_r8, 0.0024775510074074069_r8, & + 0.0027803597155555558_r8, 0.0031338491753086415_r8, & + 0.0036724407891358026_r8, 0.0041338556582716053_r8, & + 0.0044154102533333333_r8, 0.0046637108054320992_r8, & + 0.004866590975802468_r8, 0.0049994684735802462_r8, & + 0.0051506786839506172_r8, 0.0052452174227160487_r8, & + 0.0053230413130864193_r8, 0.0054106740829629619_r8, & + 0.0054990649377777779_r8, 0.005738009612345679_r8, & + 0.0061540225896296293_r8, 0.0066565404543209887_r8, & + 0.007238504696049382_r8, 0.0078058526903703697_r8, & + 0.0083005937129876535_r8, 0.0087759554959999982_r8, & + 0.0091596481690864179_r8, 0.009428047216987652_r8, & + 0.0096407711665061728_r8, 0.009726609229723104_r8, & + 0.0095695872219259247_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,11,16) / & + 0.00066968483851851854_r8, 0.00062606721975308629_r8, & + 0.00066792830024691374_r8, 0.00045503586172839503_r8, & + 0.00044601280197530862_r8, 0.00044926702024691357_r8, & + 0.00044384948641975312_r8, 0.00050282294765432089_r8, & + 0.0006056543960493827_r8, 0.00072344415456790107_r8, & + 0.00081330495456790122_r8, 0.00085906739901234577_r8, & + 0.0010036674785185184_r8, 0.0012300020572839504_r8, & + 0.0014013200083950615_r8, 0.001623512854814815_r8, & + 0.0020188171703703706_r8, 0.0022818171743209871_r8, & + 0.0026747178059259263_r8, 0.0031089895362962959_r8, & + 0.0035815168212345676_r8, 0.0037408348424691359_r8, & + 0.0038940974291358024_r8, 0.0041930694879012348_r8, & + 0.0044541927693827156_r8, 0.0047060063980246909_r8, & + 0.0049021839881481484_r8, 0.0052339940676543201_r8, & + 0.0054973546241975299_r8, 0.0058337964177777773_r8, & + 0.0062539326375308634_r8, 0.0067765073958024674_r8, & + 0.0073189899730246909_r8, 0.007832504691790124_r8, & + 0.0083744256390123461_r8, 0.0088552641234567898_r8, & + 0.0092569774924691362_r8, 0.0095568796580599649_r8, & + 0.0096255081366137547_r8, 0.0095334107219047625_r8, & + 0.0095963846000000005_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,16) / & + 0.00050187996395061713_r8, 0.00048298331012345679_r8, & + 0.00050588302222222227_r8, 0.00027701533037037036_r8, & + 0.00027432505333333337_r8, 0.00030057143308641972_r8, & + 0.00030088576098765438_r8, 0.00030537880098765433_r8, & + 0.00031595501037037045_r8, 0.00033016448049382721_r8, & + 0.00034572371160493837_r8, 0.00035783458074074072_r8, & + 0.00038223197283950624_r8, 0.0004393194666666666_r8, & + 0.00046927306666666668_r8, 0.00052437289876543214_r8, & + 0.00063655097975308654_r8, 0.00074809116000000011_r8, & + 0.00099924839802469122_r8, 0.0013333882019753085_r8, & + 0.001710193396049383_r8, 0.0020589864271604937_r8, & + 0.0022246094962962964_r8, 0.0026742093343209874_r8, & + 0.0031571464197530865_r8, 0.003666588743209877_r8, & + 0.0041363517916049386_r8, 0.004976605741234567_r8, & + 0.0053816819565432094_r8, 0.0056342629150617288_r8, & + 0.005994833997530865_r8, 0.0064263322464197525_r8, & + 0.0068946438395061736_r8, 0.0074271615288888882_r8, & + 0.0080557711066666648_r8, 0.0085638081995061711_r8, & + 0.0090514694483950602_r8, 0.0093447004004938248_r8, & + 0.0095338425925925938_r8, 0.0095066233481746008_r8, & + 0.0095823265157407404_r8, 0.0096302321680000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,16) / & + 0.00021617439160493825_r8, 0.00021733000888888882_r8, & + 0.00022525292098765428_r8, 0.00022006651061728396_r8, & + 0.00022175833432098768_r8, 0.00024074743753086414_r8, & + 0.00025500313234567897_r8, 0.00025527123555555553_r8, & + 0.00026107705679012346_r8, 0.00025500313234567902_r8, & + 0.00025749002074074075_r8, 0.00027482427999999998_r8, & + 0.00029572708543209876_r8, 0.00031438337086419748_r8, & + 0.00032507051950617284_r8, 0.00032935092592592589_r8, & + 0.00036157878074074065_r8, 0.00046184013629629617_r8, & + 0.00060908426814814797_r8, 0.00087505189728395054_r8, & + 0.0012396167930864201_r8, 0.0016299750666666664_r8, & + 0.0019789714864197525_r8, 0.0024572028982716046_r8, & + 0.0030196002281481478_r8, 0.0035710053264197536_r8, & + 0.0041127402192592602_r8, 0.0051197543654320984_r8, & + 0.0056665739743209887_r8, 0.0061099797037037036_r8, & + 0.0066122756898765421_r8, 0.0070494595758024683_r8, & + 0.0074759193333333324_r8, 0.0078855440582716058_r8, & + 0.0083436307496296287_r8, 0.0087514619565432113_r8, & + 0.0091559187609876538_r8, 0.009407353347160495_r8, 0.009643894337777778_r8, & + 0.0095903569002469113_r8, 0.0095634283761199292_r8, & + 0.0096349477798888857_r8, 0.0096353242799999978_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,16) / & + 0.00014389746419753085_r8, 0.0001501932671604938_r8, & + 0.00015739507407407406_r8, 0.00020960124049382715_r8, & + 0.00021090477679012345_r8, 0.00021802337925925925_r8, & + 0.00023315734320987651_r8, 0.00023329601728395061_r8, & + 0.00023371203950617282_r8, 0.00023322205777777779_r8, & + 0.00025014953975308643_r8, 0.00026711400148148149_r8, & + 0.00029292586913580242_r8, 0.00030853132493827157_r8, & + 0.00031446657530864193_r8, 0.0003225466513580247_r8, & + 0.00036344625827160491_r8, 0.00043708219160493828_r8, & + 0.00058300429728395063_r8, 0.00084739104197530872_r8, & + 0.0012544549190123455_r8, 0.0017035555303703705_r8, & + 0.0022571701688888887_r8, 0.0028499741007407407_r8, & + 0.0034859611392592592_r8, 0.0040774615348148149_r8, & + 0.0045903707101234564_r8, 0.0055187659012345689_r8, & + 0.0061829500014814812_r8, 0.0067496277377777783_r8, & + 0.0073022069432098768_r8, 0.007746315287901236_r8, & + 0.0081179386940740741_r8, 0.008384680586790122_r8, & + 0.0086166511110493827_r8, 0.0088948183607283939_r8, & + 0.0092829973712345686_r8, 0.0095204831945432111_r8, & + 0.0097171808124444439_r8, 0.009774511910395061_r8, 0.009649995997037036_r8, & + 0.009711206733333335_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,16) / & + 0.00017120701185185182_r8, 0.00018279091950617278_r8, & + 0.00019466142024691357_r8, 0.0002218877634567901_r8, & + 0.00022195247802469134_r8, 0.00022794319802469138_r8, & + 0.00023506180049382715_r8, 0.00023627288740740737_r8, & + 0.00023741001481481481_r8, 0.00023928673728395062_r8, & + 0.00024799546913580246_r8, 0.00027621102074074072_r8, & + 0.00031996731358024694_r8, 0.00033195799851851854_r8, & + 0.000329535824691358_r8, 0.00034038013728395069_r8, & + 0.00037611182370370365_r8, 0.00040384663851851846_r8, & + 0.00052774730123456774_r8, 0.00084994264493827142_r8, & + 0.0013387502661728395_r8, 0.001887123024691358_r8, & + 0.0026084500883950621_r8, 0.003345798630123457_r8, & + 0.0039993602962962969_r8, 0.0045920440439506174_r8, & + 0.0050671506666666666_r8, 0.0059722763481481469_r8, & + 0.0066522138232098758_r8, 0.0071695790587654341_r8, & + 0.0077216128128395059_r8, 0.0081682011122222228_r8, & + 0.008537213483686067_r8, 0.0087245827937830686_r8, & + 0.0088491438092328043_r8, 0.0089795310177989418_r8, & + 0.009137468802767194_r8, 0.0092908943314708985_r8, & + 0.0093892025617460309_r8, 0.009447836931851852_r8, & + 0.0094776726588888908_r8, 0.0095164459300000007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,16) / & + 0.00021169133576847408_r8, 0.00022500892450901729_r8, & + 0.00023935692522510617_r8, 0.00021745581031091358_r8, & + 0.00021742664770783211_r8, 0.00021196352006390122_r8, & + 0.00023321333684260737_r8, 0.00023820986283723457_r8, & + 0.00024565604749070616_r8, 0.0002455685596814617_r8, & + 0.00024189407169319501_r8, 0.00027060951486076052_r8, & + 0.00032186765021031114_r8, 0.00034365211471217775_r8, & + 0.00034929021797459756_r8, 0.00036179125382885928_r8, & + 0.00039944989527474569_r8, 0.0004284764062085135_r8, & + 0.00052568508314678516_r8, 0.00091274087211190124_r8, & + 0.0015726808589781333_r8, 0.0024360786066761676_r8, & + 0.0034144450565890957_r8, 0.0043349917854591411_r8, & + 0.0050149373180392691_r8, 0.0055663924214423895_r8, & + 0.005972860783192078_r8, 0.006871496676280237_r8, 0.0075953124847626076_r8, & + 0.0081343734818560987_r8, 0.0086379921953378958_r8, & + 0.0090793293095053421_r8, 0.0093488306454490057_r8, & + 0.0095087778024832391_r8, 0.009583346578562588_r8, 0.009627022437110954_r8, & + 0.009651159351594725_r8, 0.0096435364554535337_r8, & + 0.0097150051079557802_r8, 0.0097781281178038019_r8, & + 0.0098750114928481784_r8, 0.0098754708038467105_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,16) / & + 0.00025639846348306174_r8, 0.0002604058047496691_r8, & + 0.0002713469680551901_r8, 0.00023572955572882966_r8, & + 0.00023348626036329877_r8, 0.00023529109345283954_r8, & + 0.00026914445987812345_r8, 0.00025843782290627159_r8, & + 0.00028013660716922462_r8, 0.00030563879675646419_r8, & + 0.00031775259173033083_r8, 0.00035121847986520496_r8, & + 0.00038786576870028641_r8, 0.00038786576870028646_r8, & + 0.00037921888474587651_r8, 0.00039133267971974315_r8, & + 0.00042681753368359511_r8, 0.0005537676577784098_r8, & + 0.00088359325729414325_r8, 0.0017099213019845529_r8, & + 0.0028427956583747553_r8, 0.0040924539321350716_r8, & + 0.0051663908011945082_r8, 0.006022768806985916_r8, & + 0.0065485666502750027_r8, 0.0069211576168954469_r8, & + 0.0072291212833943703_r8, 0.0079827665582415802_r8, & + 0.0085932437031808976_r8, 0.0091177223358430964_r8, & + 0.0095136588694607373_r8, 0.0098472942472989534_r8, & + 0.010056453498942637_r8, 0.010180027208592398_r8, 0.010250604339831137_r8, & + 0.010268964401381234_r8, 0.01026257811093032_r8, 0.010178249579100879_r8, & + 0.010184024170976226_r8, 0.010230443997333067_r8, 0.010340638234566933_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,16) / & + 0.00036018726730054762_r8, 0.00035826742079997045_r8, & + 0.00036852124282161494_r8, 0.00032446022539917783_r8, & + 0.0003267055002446667_r8, 0.00035838615488270869_r8, & + 0.00042360451857645191_r8, 0.0004479650169000568_r8, & + 0.00048773693234492593_r8, 0.00055542603223227905_r8, & + 0.0006092777515783605_r8, 0.00067815304878668164_r8, & + 0.00078149972803840003_r8, 0.00075569650578810393_r8, & + 0.00071850033854260504_r8, 0.00072744560805689624_r8, & + 0.00078074425146701257_r8, 0.0012862322531747943_r8, & + 0.0023238592744965979_r8, 0.0035404961263567816_r8, & + 0.0047813754666785621_r8, 0.0057912270221195574_r8, & + 0.0065368671132100958_r8, 0.0071416033147113757_r8, & + 0.0074963424845853168_r8, 0.0077949326307258102_r8, & + 0.0080645080549668832_r8, 0.0087143675151162038_r8, & + 0.009404846838833858_r8, 0.009927895439852669_r8, 0.010254885596960864_r8, & + 0.010471966796437762_r8, 0.010661662961240751_r8, 0.010756917731698673_r8, & + 0.010850311102414559_r8, 0.010837439794209407_r8, 0.010824850245984861_r8, & + 0.010804118474684269_r8, 0.010679055465108802_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,16) / & + 0.00046590233258903696_r8, 0.00047347226998621232_r8, & + 0.00048116802792922753_r8, 0.0004555858441627371_r8, & + 0.00046265966636967041_r8, 0.00050451649884077586_r8, & + 0.0005988604072413177_r8, 0.00076247091512440758_r8, & + 0.00089867484132632916_r8, 0.0010304105454857989_r8, & + 0.0011714973839152746_r8, 0.0012954971153370143_r8, & + 0.0013996371088302714_r8, 0.0014031283104443001_r8, & + 0.0014267771181840985_r8, 0.0014767565428549926_r8, & + 0.0018089864904777086_r8, 0.0028288042201359003_r8, & + 0.0042913727046991696_r8, 0.0055430922334095993_r8, & + 0.0064292598754133908_r8, 0.007025903890033134_r8, 0.007492444483175909_r8, & + 0.007959949435059269_r8, 0.0083062554318208536_r8, 0.008627103124301155_r8, & + 0.008964178904916199_r8, 0.0097429390018145979_r8, 0.010364685016639041_r8, & + 0.010797815213080758_r8, 0.011143481351646389_r8, 0.011308702760682516_r8, & + 0.011511408797946753_r8, 0.011623929992641452_r8, 0.011656328026679277_r8, & + 0.011636553546106418_r8, 0.011448294554393531_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,16) / & + 0.00053247575804069144_r8, 0.00053867166204967897_r8, & + 0.00053205249858363139_r8, 0.00057828222915940223_r8, & + 0.00063028501945086416_r8, 0.00070036507792185895_r8, & + 0.00092258895537313218_r8, 0.0012357934806497602_r8, & + 0.0014437025115297459_r8, 0.0016181981248002879_r8, & + 0.0017160696607750104_r8, 0.0017953519486168452_r8, & + 0.0018335176627962495_r8, 0.0018864837160521748_r8, & + 0.0020224629678285179_r8, 0.0022618509607611349_r8, & + 0.0030414776098530217_r8, 0.0041031365451575019_r8, & + 0.0052524852081654912_r8, 0.0063017586459412061_r8, & + 0.0071138248630020981_r8, 0.0077596287039388891_r8, & + 0.0081759998468648194_r8, 0.00868621510512688_r8, 0.0090858930528285951_r8, & + 0.0093685114257263599_r8, 0.009674904774296245_r8, 0.010411228099149706_r8, & + 0.010984241775599026_r8, 0.011356901405274093_r8, 0.011627809752086578_r8, & + 0.011820545377732011_r8, 0.011979308515864749_r8, 0.012126126998111173_r8, & + 0.012238510977850501_r8, 0.012156259044365332_r8, 0.011937129797608444_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,16) / & + 0.00057625071604077034_r8, 0.00056485203109451847_r8, & + 0.00054726998308294325_r8, 0.00061382281451010366_r8, & + 0.00068948733358538275_r8, 0.00079549994379144687_r8, & + 0.0011372789844569286_r8, 0.0015457197611828148_r8, & + 0.0017523481519919407_r8, 0.0018797907739175506_r8, & + 0.0019440082059873584_r8, 0.0020101012178519308_r8, & + 0.0021009881845518224_r8, 0.0022239899175440199_r8, & + 0.0024347929859608493_r8, 0.0027401736780930763_r8, & + 0.0035798526014373527_r8, 0.0046132002642346667_r8, & + 0.0057176142504813824_r8, 0.0066989781016766822_r8, & + 0.0074861407907675257_r8, 0.0080849952684639206_r8, & + 0.0085375182206241969_r8, 0.0090890112833740631_r8, & + 0.0095254466011011757_r8, 0.0098610561078611089_r8, & + 0.010157983509998981_r8, 0.010862778859135098_r8, 0.011495434180213494_r8, & + 0.011957798956441994_r8, 0.012166726834009177_r8, 0.012307416969894857_r8, & + 0.012364581746558979_r8, 0.012448308881864914_r8, 0.012755660013184757_r8, & + 0.012869751359235838_r8, 0.012937035493918458_r8, 0.013032944174262399_r8, & + 0.013032944174262399_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,22,16) / & + 0.00057061842747472592_r8, 0.00054824493319460723_r8, & + 0.00053195843792043463_r8, 0.00056734855197566425_r8, & + 0.00058484238589564445_r8, 0.00064573752884355571_r8, & + 0.00088773346866257796_r8, 0.0012772007934892836_r8, & + 0.0015655283538411654_r8, 0.0017794536701451656_r8, & + 0.0019044635257631408_r8, 0.0019962086864002766_r8, & + 0.0021400706319147653_r8, 0.0023300000926333433_r8, & + 0.002555407702516741_r8, 0.0028750883383269338_r8, & + 0.0037304500395488006_r8, 0.0047053508431498282_r8, & + 0.0057311736694266278_r8, 0.0066869331249139168_r8, & + 0.007437470163502399_r8, 0.0081419774162194772_r8, & + 0.0087599838855421438_r8, 0.0092783849165857003_r8, & + 0.0097853791127152194_r8, 0.010177965395710264_r8, 0.010547058880888967_r8, & + 0.011393692529817184_r8, 0.012125616430949471_r8, 0.012592127053111763_r8, & + 0.012834701509365234_r8, 0.012979242582867992_r8, 0.0130393957156065_r8, & + 0.013105596545962744_r8, 0.013316770989671415_r8, 0.01343708938243394_r8, & + 0.01351399164393069_r8, 0.013542063390342515_r8, 0.01358342322806127_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,16) / & + 0.00046885431385947654_r8, 0.00046030500911913079_r8, & + 0.00044837513960359495_r8, 0.00046172771784691352_r8, & + 0.00046534322534779246_r8, 0.0005189493239258074_r8, & + 0.00070666856175122955_r8, 0.0011491179237180051_r8, & + 0.0015437955981280392_r8, 0.0018577182367693424_r8, & + 0.0020490007726010465_r8, 0.0022208874811897677_r8, & + 0.0024201450173212441_r8, 0.0026638458857288689_r8, & + 0.0029241885305394569_r8, 0.0032702330607318904_r8, & + 0.0040172334570597133_r8, 0.0049365773950539853_r8, & + 0.0059499767375657073_r8, 0.00688601466145754_r8, 0.0076150027821492152_r8, & + 0.0083381042823250148_r8, 0.0089627517280635258_r8, & + 0.0095337930752240185_r8, 0.01007444849652875_r8, 0.010548197450506747_r8, & + 0.011030978647050113_r8, 0.012044156099209793_r8, 0.012730045282111208_r8, & + 0.013327648209648194_r8, 0.013586450674368158_r8, 0.013803054815079662_r8, & + 0.013889239638286536_r8, 0.013955493486930802_r8, 0.014027333751497005_r8, & + 0.014020716431134873_r8, 0.014057483429389716_r8, 0.014073113320525507_r8, & + 0.014115272254334912_r8, 0.014182904993023999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,16) / & + 0.00036426308850603457_r8, 0.00036135450334563951_r8, & + 0.00036326199407873575_r8, 0.00040649845069558511_r8, & + 0.00041504833823683942_r8, 0.00045664787018202466_r8, & + 0.0005936354670850961_r8, 0.00093569861025062705_r8, & + 0.0014393979185156937_r8, 0.0018868330143059547_r8, & + 0.0021726319449966811_r8, 0.0024359062510731846_r8, & + 0.0026680519317819262_r8, 0.0029674468070596148_r8, & + 0.0032986737794647894_r8, 0.003676735737103861_r8, & + 0.0043346306437790803_r8, 0.0052503885353021619_r8, & + 0.0061700290498067937_r8, 0.0070871262433339667_r8, & + 0.0078860131246214528_r8, 0.0086287440198587056_r8, & + 0.0092344602615867435_r8, 0.0098362397671209467_r8, & + 0.010454199123128789_r8, 0.011054111722839108_r8, 0.011630173924234192_r8, & + 0.012794446743182655_r8, 0.013494861106411932_r8, 0.014155908107702829_r8, & + 0.014442750650344796_r8, 0.014692920137551203_r8, 0.014801822735700782_r8, & + 0.014847329241573051_r8, 0.014851561474558265_r8, 0.014773356866900457_r8, & + 0.0146976599959515_r8, 0.014674071104566167_r8, 0.014650198481181601_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,16) / & + 0.00030477411176316042_r8, 0.00029590943259456788_r8, & + 0.00032030480559881475_r8, 0.00037168633461866663_r8, & + 0.00038436016502558021_r8, 0.000410954202531358_r8, & + 0.00051884280966380241_r8, 0.00082713198378291358_r8, & + 0.001385270669824395_r8, 0.0019208205288533333_r8, & + 0.0022999010982287407_r8, 0.0026125035759559504_r8, & + 0.0029296854377086419_r8, 0.0032264211200203458_r8, & + 0.0035598198830008886_r8, 0.0039103458223213828_r8, & + 0.004590349339524148_r8, 0.0054482206136310116_r8, & + 0.0063074222898247892_r8, 0.0071583194561497272_r8, & + 0.0079323894030135286_r8, 0.0087326892773382722_r8, & + 0.0094862010109011356_r8, 0.010175853444292149_r8, 0.010846124019911701_r8, & + 0.011518593260032791_r8, 0.012212671030891849_r8, 0.013585912065004049_r8, & + 0.014400188163357629_r8, 0.015055334167883849_r8, 0.015507149219774072_r8, & + 0.01568381786427089_r8, 0.015709884742453502_r8, 0.015664495674532878_r8, & + 0.01560848874758078_r8, 0.015603095717647408_r8, 0.015542134293299455_r8, & + 0.015433115794680338_r8, 0.015331777717311998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,16) / & + 0.00024965247159460739_r8, 0.00026294526023354066_r8, & + 0.00030789168282095806_r8, 0.00035615406248715056_r8, & + 0.00038916883165574314_r8, 0.00043465102023405427_r8, & + 0.00062205327575156537_r8, 0.0010545757121839605_r8, & + 0.0016165507961458368_r8, 0.0021869098938571059_r8, & + 0.0025820011117365137_r8, 0.0028947581289612643_r8, & + 0.0032942078755774022_r8, 0.0035951056401929086_r8, & + 0.003930220027416039_r8, 0.0042471473312726124_r8, & + 0.0049295104814045237_r8, 0.0057079784661732535_r8, & + 0.0065358672435614617_r8, 0.0073200404121251152_r8, & + 0.0081029538066020729_r8, 0.0089215463200401739_r8, & + 0.0097289456683171734_r8, 0.010543411335609203_r8, 0.011253199912410115_r8, & + 0.012055849767578643_r8, 0.012855675991173548_r8, 0.014631218965157611_r8, & + 0.01570276542710718_r8, 0.016089009266055884_r8, 0.016537503321081677_r8, & + 0.016710193732092482_r8, 0.016623944457659776_r8, 0.016496750973963512_r8, & + 0.016225114513688507_r8, 0.01615839380619415_r8, 0.016107236480156894_r8, & + 0.015957123951324505_r8, 0.015744330731887201_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,16) / & + 0.00024931804260898768_r8, 0.00027110906768884943_r8, & + 0.00032454718204049385_r8, 0.00048179552637108157_r8, & + 0.00054178440872888907_r8, 0.00062652375274011853_r8, & + 0.0010486220405344891_r8, 0.0015164579251527111_r8, & + 0.001962264555521898_r8, 0.0024336669337781782_r8, & + 0.0027561870312962171_r8, 0.0030297894930696044_r8, & + 0.0034047654102260347_r8, 0.0037471215580275746_r8, & + 0.0040894365765779357_r8, 0.0043877676000138571_r8, & + 0.0051057198086162459_r8, 0.0058994302283812347_r8, & + 0.0067147821123127015_r8, 0.007590949202648415_r8, 0.008348693961767694_r8, & + 0.009106939749946804_r8, 0.0098609644484187482_r8, 0.010921666470512547_r8, & + 0.01182156807658292_r8, 0.012762793363020936_r8, 0.013476765114742868_r8, & + 0.015220397520986015_r8, 0.016693987015194287_r8, 0.017156503605684222_r8, & + 0.017342186684525574_r8, 0.017552853913947515_r8, 0.01759458167585436_r8, & + 0.017722959422440884_r8, 0.017181178592490992_r8, 0.016680592980767076_r8, & + 0.016658255310548799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,16) / & + 0.00024936293706466766_r8, 0.00033625359132894648_r8, & + 0.00037255378262025747_r8, 0.00062816205848669707_r8, & + 0.00077805492956416927_r8, 0.00085513291297044857_r8, & + 0.0013273268444924261_r8, 0.0016171175974869581_r8, & + 0.0018829765931435555_r8, 0.0023219635717069433_r8, & + 0.0026429958995874961_r8, 0.00290060262214242_r8, 0.0032690961298718715_r8, & + 0.0036961773044185387_r8, 0.0040572711581933337_r8, & + 0.004463573116785996_r8, 0.0052172498626973738_r8, 0.00621651178699125_r8, & + 0.007062603189226844_r8, 0.007959251820476413_r8, 0.0088059450715216696_r8, & + 0.0091506038231865365_r8, 0.010123741795811207_r8, 0.011079041220487912_r8, & + 0.011936172738600629_r8, 0.012651841430105271_r8, 0.013442446374770668_r8, & + 0.015774152904559687_r8, 0.017382539119814716_r8, 0.017809806517909869_r8, & + 0.01791102907881794_r8, 0.018109420224527249_r8, 0.018149451413903131_r8, & + 0.018619593382693197_r8, 0.017982617435777868_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,16) / & + 0.00026357882657742222_r8, 0.00047729816029466667_r8, & + 0.00041401633446782216_r8, 0.00067341932412228161_r8, & + 0.00089871169159745179_r8, 0.00095933291275623694_r8, & + 0.0014235666689633483_r8, 0.0016561607855723852_r8, & + 0.0018968560258119705_r8, 0.0023563770517774523_r8, & + 0.0026781431831357037_r8, 0.0029366394196297485_r8, & + 0.0033034926587933626_r8, 0.0037887010473163854_r8, & + 0.0041821364712353194_r8, 0.0046382571728492451_r8, & + 0.0054076133675359404_r8, 0.0064583255231292448_r8, & + 0.0074166443040613334_r8, 0.0083541793480797055_r8, & + 0.0092717658225689482_r8, 0.0095110293472920899_r8, & + 0.010582739997126578_r8, 0.011443272608285511_r8, 0.012244603782839468_r8, & + 0.012893242497564622_r8, 0.013722062610034313_r8, 0.016228137450018668_r8, & + 0.017908470365893693_r8, 0.018222025012217005_r8, 0.018394689903500201_r8, & + 0.018629400487659882_r8, 0.018634922818937597_r8, 0.018910026955422401_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,16) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,16) / & + 0.00060934795214961099_r8, 0.00077234453656349915_r8, & + 0.0010145581027048889_r8, 0.0011124060412388147_r8, & + 0.0014043419420456289_r8, 0.0015199311426992588_r8, & + 0.0019628123031905182_r8, 0.0022900440415002466_r8, & + 0.0023462909485599997_r8, 0.0025861773828017775_r8, & + 0.0025798902552888886_r8, 0.0025584815021199993_r8, & + 0.0026048219678399993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,16) / & + 0.00064217968149839091_r8, 0.00078104523377156955_r8, & + 0.00097393924133276654_r8, 0.0011695113716370692_r8, & + 0.0013689339684812933_r8, 0.0015262692456606882_r8, & + 0.0019775879092017979_r8, 0.0024457636704990973_r8, & + 0.0024790548645053628_r8, 0.0025918774360257578_r8, & + 0.0025989230271495898_r8, 0.0026110277872301827_r8, & + 0.0026951580867793268_r8, 0.0027456947950190926_r8, & + 0.0025207697300138662_r8, 0.0025207697300138662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,16) / & + 0.00083854663140938259_r8, 0.0007505098900876543_r8, & + 0.00078854282783626637_r8, 0.0011640188636374219_r8, & + 0.0012745376048609776_r8, 0.0015698182007956698_r8, & + 0.001714941260622349_r8, 0.001808582519455149_r8, 0.0017959449565448633_r8, & + 0.0018275354390067812_r8, 0.0018664595894123004_r8, & + 0.0019009734929311877_r8, 0.0018284258905939554_r8, & + 0.0017998971916663997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,16) / & + 0.0009080311863606357_r8, 0.00077704478783776959_r8, & + 0.00084741552284303668_r8, 0.0010266226336426226_r8, & + 0.0011333130406503673_r8, 0.001502750001710539_r8, & + 0.0017023922925419133_r8, 0.0017769504938276754_r8, & + 0.0017647710519735037_r8, 0.0018020546165321877_r8, & + 0.0018227634267712709_r8, 0.0019152426054056535_r8, & + 0.0020074454911461217_r8, 0.0021047597954240004_r8, & + 0.0021622879229782517_r8, 0.0021900158884032004_r8, & + 0.0022856329649041775_r8, 0.0023391482670944395_r8, & + 0.0024662429982949137_r8, 0.0025886012798854319_r8, & + 0.0027597713060674364_r8, 0.0028964705045325429_r8, & + 0.0029430455923637731_r8, 0.003122635973407921_r8, & + 0.0033259086025018464_r8, 0.0035152350188553481_r8, & + 0.0036468030635763361_r8, 0.0037838969661756049_r8, & + 0.0038854017126778474_r8, 0.0039533566077762363_r8, & + 0.0040176933816448001_r8, 0.0040727546083605334_r8, & + 0.0041066991638985485_r8, 0.0041325522846862219_r8, & + 0.0041428145921744586_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,16) / & + 0.0015907148861050472_r8, 0.001819512327273429_r8, & + 0.0018012049246099754_r8, 0.0017718499513737483_r8, & + 0.0017695502530096197_r8, 0.0019769740270290438_r8, & + 0.0018436817061591706_r8, 0.0017561578919479313_r8, & + 0.0018445384565301203_r8, 0.0019088398264761417_r8, & + 0.0019446880656816727_r8, 0.0020148514118499823_r8, & + 0.002073786818946371_r8, 0.0021487750224668711_r8, & + 0.0022184423552625253_r8, 0.0022604231234390655_r8, & + 0.0023541696508708877_r8, 0.0024162615067023531_r8, & + 0.0025143819702384989_r8, 0.0026224227012277466_r8, & + 0.0027551288244753911_r8, 0.0028834610116187124_r8, & + 0.002977838828797551_r8, 0.0031498652848593127_r8, & + 0.0033227484912920231_r8, 0.0034932418151110319_r8, & + 0.003645517920516162_r8, 0.0038533926157834544_r8, & + 0.0039576907004153948_r8, 0.0040395779990282802_r8, & + 0.0041009483808631579_r8, 0.0041665123303032108_r8, & + 0.0042035160552064037_r8, 0.0042330972942830778_r8, & + 0.0042443083238082047_r8, 0.0042444653410284453_r8, & + 0.0042392910197091571_r8, 0.0042587708176170663_r8, & + 0.0042587708176170672_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,16) / & + 0.0023311904401919995_r8, 0.003043209078784_r8, 0.0029882174642346664_r8, & + 0.0035632898411519999_r8, 0.0034666954718719999_r8, & + 0.0035120971418453333_r8, 0.0032334791385599999_r8, & + 0.0021818282116266661_r8, 0.0022574822188373331_r8, & + 0.0022908848760319995_r8, 0.0023087675746133328_r8, & + 0.0023201643203413329_r8, 0.002287827212543999_r8, & + 0.0023506946269866665_r8, 0.0024042037380266664_r8, & + 0.0024566936279039994_r8, 0.0024921347274239995_r8, & + 0.0025319770092373339_r8, 0.0026122175116799996_r8, & + 0.0027255363736746661_r8, 0.0028291263063893331_r8, & + 0.0029589843481599995_r8, 0.0030963012357120004_r8, & + 0.0032578014617599999_r8, 0.003442095179264_r8, 0.0036041976723626659_r8, & + 0.0038069300272639988_r8, 0.004129606181717334_r8, & + 0.0041450798120960001_r8, 0.0041579127330986657_r8, & + 0.0041858023303680009_r8, 0.0042213360863573345_r8, & + 0.0042508935000746661_r8, 0.0042587692999679983_r8, & + 0.0042783661432319988_r8, 0.0042971754065066646_r8, & + 0.0043609230574079986_r8, 0.0043734316807680007_r8, & + 0.0043755164513279996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,1,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,17) / & + 0.0030516686077777773_r8, 0.0030794692927777778_r8, & + 0.0031124583692063485_r8, 0.0032124389097619045_r8, & + 0.003455936716428572_r8, 0.003784987512037037_r8, 0.0044898608968518524_r8, & + 0.004954489372566138_r8, 0.0053204403487566139_r8, & + 0.0056494965922751321_r8, 0.0057966278038095237_r8, & + 0.0058968946072751318_r8, 0.0059984263164021166_r8, & + 0.0060677752397883603_r8, 0.0061262719263492074_r8, & + 0.0061920985282539684_r8, 0.0063383026045502637_r8, & + 0.0065101871383068778_r8, 0.0067226437440211636_r8, & + 0.0069190973615873017_r8, 0.0071059903922751312_r8, & + 0.0075983546733333317_r8, 0.0077547374266666667_r8, & + 0.0079429458799999998_r8, 0.0081319031733333332_r8, & + 0.0082777688848888892_r8, 0.0083830973911111096_r8, & + 0.0086256549875555547_r8, 0.0088865591639999998_r8, & + 0.0090103174546666658_r8, 0.0091355290496296284_r8, & + 0.0091946652217777761_r8, 0.0092266517837037033_r8, & + 0.0092721923496296293_r8, 0.0093274331670370348_r8, & + 0.0093974219722222224_r8, 0.0096248405200000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,17) / & + 0.002681706979259259_r8, 0.002705022713580247_r8, 0.0027484831683950613_r8, & + 0.0028604855955555552_r8, 0.0029281123190123461_r8, & + 0.0030102166158024694_r8, 0.0033413333249382718_r8, & + 0.0038440915580246916_r8, 0.0043317158271604936_r8, & + 0.0047069493817283948_r8, 0.0050110523812345684_r8, & + 0.0052498583817283942_r8, 0.0055524544562962968_r8, & + 0.0057133348720987652_r8, 0.0058070877911111105_r8, & + 0.0058813708701234563_r8, 0.0059832870696296288_r8, & + 0.0060521526148148153_r8, 0.0061542537130864191_r8, & + 0.0062638801911111108_r8, 0.0063767978671604953_r8, & + 0.0065929445239506163_r8, 0.0067403920444444433_r8, & + 0.0069199010108641967_r8, 0.0071276902434567893_r8, & + 0.0073373561985185191_r8, 0.0075413642513580256_r8, & + 0.0079852044928395045_r8, 0.0084103792039506176_r8, & + 0.0087431784918518534_r8, 0.0090036916074074085_r8, & + 0.0091674934237037028_r8, 0.0092802169560493829_r8, & + 0.0093432489451851855_r8, 0.0093956862350617273_r8, & + 0.0094522837471604938_r8, 0.0095980851733774245_r8, & + 0.0098855083562010559_r8, 0.0093927417222222226_r8, & + 0.009223212666666666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,17) / & + 0.0018740414370370371_r8, 0.0018939180543209875_r8, & + 0.0019115111718518516_r8, 0.0022528897624691361_r8, & + 0.0022544521570370371_r8, 0.0019088208948148148_r8, & + 0.0018791908676543208_r8, 0.0022391980088888887_r8, & + 0.0026382465244444439_r8, 0.0030207188656790119_r8, & + 0.0033770465214814816_r8, 0.003752575914074074_r8, & + 0.0043708681407407402_r8, 0.0047626131550617288_r8, & + 0.0049904176790123451_r8, 0.0051822316582716046_r8, & + 0.0054535521066666655_r8, 0.0056501734538271604_r8, & + 0.005807023076543209_r8, 0.005946187132345679_r8, 0.0060540940518518521_r8, & + 0.0061452491432098756_r8, 0.0062376338113580244_r8, & + 0.0063008137195061731_r8, 0.0064292998716049378_r8, & + 0.0065788459930864202_r8, 0.0067592886982716042_r8, & + 0.0072092121091358024_r8, 0.0076964203560493825_r8, & + 0.0082592799328395049_r8, 0.0086415639084567904_r8, & + 0.0089337891433421517_r8, 0.0091451540208994705_r8, & + 0.0092688924019312148_r8, 0.0093627863062522038_r8, & + 0.0094020741572310405_r8, 0.0094366949652645513_r8, & + 0.0096111887177601392_r8, 0.0094317863322716054_r8, & + 0.0092156036202222218_r8, 0.009217721173333332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,17) / & + 0.0011951671298765431_r8, 0.0011957125812345679_r8, & + 0.0011914414197530861_r8, 0.0014885644908641971_r8, & + 0.0014800314128395062_r8, 0.0013454620913580248_r8, & + 0.0013665313056790125_r8, 0.0015219294730864196_r8, & + 0.001692064072098765_r8, 0.001934336924444444_r8, 0.0021491338202469135_r8, & + 0.0024082601950617282_r8, 0.0030255724582716049_r8, & + 0.003441511476049383_r8, 0.0037219844133333331_r8, & + 0.0040227222553086417_r8, 0.0044094565130864197_r8, & + 0.0048046776241975307_r8, 0.0050182079634567903_r8, & + 0.0052226505283950609_r8, 0.0054378172217283954_r8, 0.00561849105037037_r8, & + 0.0057467090992592571_r8, 0.0058359689782716039_r8, & + 0.0059096603812345688_r8, 0.0060145534508641973_r8, & + 0.0061424109471604933_r8, 0.0064422150503703713_r8, & + 0.0067916552271604933_r8, 0.0073573622449382712_r8, & + 0.0078256345470370369_r8, 0.0083372066731481481_r8, & + 0.008715241609100529_r8, 0.0090408390900881853_r8, & + 0.0092886846591534403_r8, 0.0094269295039506162_r8, & + 0.0094711769671534402_r8, 0.0094685929738888893_r8, & + 0.009545607106719577_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,17) / & + 0.00071729627061728409_r8, 0.00068678797432098751_r8, & + 0.00069780794074074067_r8, 0.00087825989086419756_r8, & + 0.00088215200987654314_r8, 0.00088531377876543223_r8, & + 0.00090639223802469132_r8, 0.0010147521595061729_r8, & + 0.0011365727111111114_r8, 0.0013267041116049381_r8, & + 0.0014773503807407405_r8, 0.0016695803822222223_r8, & + 0.0020714301140740739_r8, 0.002499443021234568_r8, & + 0.0028366521446913577_r8, 0.0032608284024691347_r8, & + 0.003822439912592593_r8, 0.0042047816690740734_r8, & + 0.0044049600062345678_r8, 0.0046359655900617275_r8, & + 0.0048321832966137564_r8, 0.0050341089271075841_r8, & + 0.0051371356748236329_r8, 0.0052306855353703701_r8, & + 0.0052660140764462073_r8, 0.0054350001569664899_r8, & + 0.0055887789743827151_r8, 0.005857778613095237_r8, & + 0.0061432661039506169_r8, 0.0066308259886948854_r8, & + 0.0071925467871957662_r8, 0.0079597064248042304_r8, & + 0.0084010192322328051_r8, 0.0088399729955555562_r8, & + 0.0092338628355555577_r8, 0.0094465112077037026_r8, & + 0.0095695151114074048_r8, 0.0095823295863809513_r8, & + 0.0095902378716666639_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,11,17) / & + 0.00055023099111111101_r8, 0.00050249937481481482_r8, & + 0.00051472118320987652_r8, 0.00050199090320987658_r8, & + 0.00050518965185185187_r8, 0.00050787068395061728_r8, & + 0.00048040397234567887_r8, 0.00052910630716049387_r8, & + 0.00061114588938271613_r8, 0.00074147178419753086_r8, & + 0.00082866079703703701_r8, 0.00092021342074074088_r8, & + 0.0011101044528395063_r8, 0.0013848732632098764_r8, & + 0.0016225606261728392_r8, 0.0019140165501234567_r8, & + 0.0025062288059259255_r8, 0.0027068241558377425_r8, & + 0.0030511941443386241_r8, 0.0035659681557671952_r8, & + 0.0039812943662081123_r8, 0.0040553621702292767_r8, & + 0.0040788992878042322_r8, 0.0043284082854056433_r8, & + 0.0045728457740123454_r8, 0.0048205095809876536_r8, & + 0.0050199598792592592_r8, 0.005324327680211639_r8, & + 0.0055998301424691364_r8, 0.0059189954576543214_r8, & + 0.0063225724081164012_r8, 0.0068485998866913578_r8, & + 0.007357466349546737_r8, 0.0077645892291005299_r8, & + 0.0082007774351746023_r8, 0.008673312710380951_r8, & + 0.0090935667700793657_r8, 0.0094186038427195758_r8, & + 0.0095585860095238097_r8, 0.0095188047759999991_r8, & + 0.0095961349866666643_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,17) / & + 0.00038529204740740745_r8, 0.00035154802271604929_r8, & + 0.00036291005185185184_r8, 0.00029980410320987655_r8, & + 0.00030042351407407407_r8, 0.00031303360987654314_r8, & + 0.00028893205580246914_r8, 0.00029522785876543204_r8, & + 0.00030626631506172836_r8, 0.00033078389135802474_r8, & + 0.00035804721432098772_r8, 0.00037600088444444442_r8, & + 0.00043484491654320986_r8, 0.000501371492345679_r8, & + 0.00056251751407407412_r8, 0.00062194397728395051_r8, & + 0.00082413077728395059_r8, 0.001041026274074074_r8, & + 0.0013343496755555556_r8, 0.0017166093832098768_r8, & + 0.0021241817318518514_r8, 0.0024251784320987652_r8, & + 0.0025320868982716045_r8, 0.0030003522666666666_r8, & + 0.0035783273175308641_r8, 0.0040596927634567893_r8, & + 0.0045132309451851845_r8, 0.0051475908745679004_r8, & + 0.005594491190617285_r8, 0.0058518610271604925_r8, & + 0.0063188875738271599_r8, 0.0067853871590123453_r8, & + 0.0071942537990123461_r8, 0.0076411726049382704_r8, & + 0.0081334378330864196_r8, 0.0085839344301234556_r8, & + 0.0090454417486419744_r8, 0.0093282074306172812_r8, & + 0.0095363458247178113_r8, 0.0095017477163095235_r8, & + 0.0095890902021995451_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,17) / & + 0.00021817129827160489_r8, 0.00021747792790123452_r8, & + 0.00021851336098765431_r8, 0.0002157213896296296_r8, & + 0.00021659041382716048_r8, 0.0002263160888888889_r8, & + 0.00023063347506172832_r8, 0.00023376750913580246_r8, & + 0.00024058102864197529_r8, 0.00023526518913580244_r8, & + 0.00024194003456790125_r8, 0.00026268567604938273_r8, & + 0.00029131724987654321_r8, 0.00031191497234567901_r8, & + 0.00032283324444444441_r8, 0.00033282702271604931_r8, & + 0.00039098692938271604_r8, 0.00050734372246913578_r8, & + 0.00067782038419753087_r8, 0.00095251523506172824_r8, & + 0.0013018722074074074_r8, 0.0017503996325925926_r8, & + 0.002076228237037037_r8, 0.00259346404345679_r8, 0.0032552167249382713_r8, & + 0.003830140946172839_r8, 0.0043506309708641975_r8, & + 0.0052660185338271603_r8, 0.005809389780740741_r8, & + 0.0062624472256790128_r8, 0.0069363939807407403_r8, & + 0.0074197285985185182_r8, 0.0077972918775308644_r8, & + 0.0081110558375308648_r8, 0.008456391261728393_r8, & + 0.0087831720948148145_r8, 0.0091860572597530863_r8, & + 0.0094211745298765411_r8, 0.0096190424248924142_r8, & + 0.0095457102703253964_r8, 0.0095726139222666665_r8, & + 0.0096348250533333322_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,17) / & + 0.00015599908839506173_r8, 0.00016437500246913581_r8, & + 0.0001690529412345679_r8, 0.00021500952938271605_r8, & + 0.000213068092345679_r8, 0.00021579534913580251_r8, & + 0.00022554875901234565_r8, 0.00022370901629629626_r8, & + 0.00021691398666666664_r8, 0.00021267055999999994_r8, & + 0.00022366279160493827_r8, 0.00025759171506172841_r8, & + 0.00028957920148148144_r8, 0.00030528635160493824_r8, & + 0.00031464222913580247_r8, 0.00032627236148148148_r8, & + 0.00036979753086419754_r8, 0.00045236407456790119_r8, & + 0.00061650795358024696_r8, 0.0008807190444444444_r8, & + 0.0013047843629629631_r8, 0.0017874625901234567_r8, & + 0.0023905561382716045_r8, 0.0029888977881481478_r8, & + 0.0036105644172839506_r8, 0.0042106995851851851_r8, & + 0.004710933950123457_r8, 0.0056122322271604944_r8, & + 0.0062349065545679013_r8, 0.0068678057837037038_r8, & + 0.0075635798380246904_r8, 0.0080713395827160493_r8, & + 0.0084042405649382684_r8, 0.0086409849441975318_r8, & + 0.0088307835269135805_r8, 0.0090558238143209884_r8, & + 0.0093309809120987637_r8, 0.0095274196717283939_r8, & + 0.0096294341317213379_r8, 0.009653764464999999_r8, & + 0.0096530468266666659_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,17) / & + 0.00017873239160493825_r8, 0.00019065836197530863_r8, & + 0.00020259357728395059_r8, 0.0002389354296296296_r8, & + 0.00023643005135802472_r8, 0.00023924975753086418_r8, & + 0.00023411881679012345_r8, 0.00023046706617283952_r8, & + 0.00022432842716049386_r8, 0.00022411579358024689_r8, & + 0.00022893240641975305_r8, 0.00027010011654320988_r8, & + 0.00030854981481481477_r8, 0.00031799814172839508_r8, & + 0.00032434941432098766_r8, 0.00033968676691358024_r8, & + 0.00036703329432098767_r8, 0.00042919625925925926_r8, & + 0.00060447104395061711_r8, 0.00095324558518518527_r8, & + 0.0015041791916049385_r8, 0.0021444836162962961_r8, & + 0.0029370151945679007_r8, 0.0036795131669135808_r8, & + 0.0042846775812345672_r8, 0.0048322737649382722_r8, & + 0.0052998365180246905_r8, 0.0060961770108641988_r8, & + 0.0067384506074074082_r8, 0.0072947832577777774_r8, & + 0.0078737105372839507_r8, 0.0082996433333333338_r8, & + 0.0085940668824691351_r8, 0.008782573485061727_r8, & + 0.0089078423986419745_r8, 0.0090363845156349199_r8, & + 0.0092167207389417995_r8, 0.0094027337835767208_r8, & + 0.009522065597798942_r8, 0.0095825934633333339_r8, & + 0.0095924323888888895_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,17) / & + 0.00021274118947940741_r8, 0.00022605877821995059_r8, & + 0.00023997906075751108_r8, 0.00022028458280981729_r8, & + 0.00021486033863666175_r8, 0.00020722945749700739_r8, & + 0.00022043039582522465_r8, 0.00022334665613337287_r8, & + 0.00021955551773278023_r8, 0.00020892088847573333_r8, & + 0.00020159135423458764_r8, 0.00027108583737775802_r8, & + 0.00033126772927024196_r8, 0.00034365211471217775_r8, & + 0.00035227452435660243_r8, 0.0003674682405620543_r8, & + 0.00039787511470834564_r8, 0.00044633364016207405_r8, & + 0.00061719733161647407_r8, 0.0010727366334846024_r8, & + 0.0018415600593893924_r8, 0.0028342647891507157_r8, 0.00379070096154637_r8, & + 0.0046921073019272697_r8, 0.0053671146337189342_r8, & + 0.0058684781058957625_r8, 0.0062484862657828542_r8, & + 0.0070812730011130271_r8, 0.0077851999142938269_r8, & + 0.0082933679938563352_r8, 0.0087211153349878133_r8, & + 0.009072638922315069_r8, 0.0093227896560057061_r8, & + 0.0094861358185812372_r8, 0.0095714239343361075_r8, & + 0.0096608211997346993_r8, 0.009688179401467897_r8, & + 0.0096338221840627843_r8, 0.0096922480012063775_r8, & + 0.0097604024627379552_r8, 0.0098817480541600004_r8, & + 0.0098817480541600004_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,17) / & + 0.0002508208154605827_r8, 0.00025686751615040001_r8, & + 0.00026505554423458767_r8, 0.00023258894221708638_r8, & + 0.00022796979312351607_r8, 0.00022695011341191109_r8, & + 0.00025188128236065186_r8, 0.00024603851761315548_r8, & + 0.00025571527807628639_r8, 0.00026849186486269626_r8, & + 0.00027081673460515552_r8, 0.00033133472548890861_r8, & + 0.00038872229965803453_r8, 0.00036609560685752098_r8, & + 0.00037310080647624686_r8, 0.00038107470182099755_r8, & + 0.00040880998997665187_r8, 0.00051184862483433084_r8, & + 0.00083424075925246416_r8, 0.0016670743605029133_r8, & + 0.0029025998734603848_r8, 0.0042139283761785679_r8, & + 0.0052985208982242763_r8, 0.0061210557343875172_r8, & + 0.0066924230639882273_r8, 0.0070739974088679112_r8, & + 0.007363871957282964_r8, 0.008055897987157886_r8, 0.0087151617078989434_r8, & + 0.0091719476283066061_r8, 0.0094861925218290167_r8, & + 0.0097292816158763545_r8, 0.0099034889782911653_r8, & + 0.010078085348515949_r8, 0.010178538148459263_r8, 0.010240238275882961_r8, & + 0.010242079052682334_r8, 0.010150081946747505_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,17) / & + 0.00034038526748509632_r8, 0.00034249846733967412_r8, & + 0.00034806963059265199_r8, 0.00031686257819474567_r8, & + 0.00031867694170625193_r8, 0.00034574297620730863_r8, & + 0.00039589411821064693_r8, 0.00041035566267000502_r8, & + 0.00043738967899144705_r8, 0.00048559838476481984_r8, & + 0.00053265443607205924_r8, 0.00060742755819919022_r8, & + 0.0006535444095710619_r8, 0.00057666876031589142_r8, & + 0.0005882806867895309_r8, 0.00059141846839178285_r8, & + 0.00066317120890858276_r8, 0.00115267581158641_r8, 0.00214023387089922_r8, & + 0.0034279623641009188_r8, 0.0048245633407195268_r8, & + 0.0058489423065893739_r8, 0.0067240418463684164_r8, & + 0.007324809623207724_r8, 0.0077224433958441082_r8, & + 0.0080415899375180459_r8, 0.0083034332763171851_r8, & + 0.0088360646516765437_r8, 0.0094052564047147676_r8, & + 0.009846994838601757_r8, 0.010088504346332655_r8, 0.010230432550851421_r8, & + 0.010476934988758208_r8, 0.010645087378355443_r8, 0.010799286331039524_r8, & + 0.0108692434520208_r8, 0.010790574784707201_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,17) / & + 0.00043244521605159496_r8, 0.00044160941125112097_r8, & + 0.00044904556477677029_r8, 0.00041314689258398007_r8, & + 0.00041809689583043952_r8, 0.00046406280435555553_r8, & + 0.00056063246228535294_r8, 0.0007315971014395259_r8, & + 0.00085656238610070106_r8, 0.00098854017536102691_r8, & + 0.0011080537672575207_r8, 0.0012424285175493528_r8, & + 0.0013283400603809183_r8, 0.0013298228316236641_r8, & + 0.0013513508862833777_r8, 0.0014072502472692937_r8, & + 0.0019589080415064494_r8, 0.0030619337649257865_r8, & + 0.0044128944482505475_r8, 0.0057051909039111887_r8, & + 0.0066200050174054711_r8, 0.0072253073569605317_r8, & + 0.0077376173635671196_r8, 0.0081616857582463981_r8, & + 0.0084791757891073474_r8, 0.0087439452195131138_r8, & + 0.009026984509874143_r8, 0.0096442451765288272_r8, 0.010110578125954339_r8, & + 0.010488655527632593_r8, 0.010723914465710934_r8, 0.010918156901261189_r8, & + 0.011183232879889241_r8, 0.011329893687949309_r8, 0.011415959097164365_r8, & + 0.011467644091999464_r8, 0.011427985535583997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,17) / & + 0.00047220228283130857_r8, 0.0004778518313273087_r8, & + 0.00046949375443713573_r8, 0.00046521590701629627_r8, & + 0.00051058666376503691_r8, 0.00061612627445471605_r8, & + 0.00089600975605931565_r8, 0.0012714805426109347_r8, & + 0.0014941826887179541_r8, 0.0016826371456324376_r8, & + 0.001791989620327647_r8, 0.0019061131569949347_r8, & + 0.0019189240728323333_r8, 0.0019511785192791206_r8, & + 0.0020428758643096958_r8, 0.0022971633789419751_r8, & + 0.0033113340562375012_r8, 0.0044143374901106664_r8, & + 0.0055406717574615775_r8, 0.0065631127460276367_r8, & + 0.0073125834769489501_r8, 0.0079726739333210971_r8, & + 0.0084237354545607639_r8, 0.0088511423976197785_r8, & + 0.0092179329402006169_r8, 0.009486981062737234_r8, & + 0.0097630898754025603_r8, 0.010427203683808421_r8, 0.010851267105496727_r8, & + 0.011125114147493963_r8, 0.011318238324905812_r8, 0.011611612345428938_r8, & + 0.011832094195727859_r8, 0.011959104332586661_r8, 0.012081443948275126_r8, & + 0.012119929308898001_r8, 0.012092073896174666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,17) / & + 0.00051931779388353578_r8, 0.0005000295732844642_r8, & + 0.00048889709966392096_r8, 0.00049765787238269623_r8, & + 0.00057983246842303209_r8, 0.00071821395573230611_r8, & + 0.0010815924153246025_r8, 0.0015114511032552295_r8, & + 0.0017424015288222815_r8, 0.0018922059021074177_r8, & + 0.0019739569801295806_r8, 0.0020407639223676442_r8, & + 0.0020830068195516836_r8, 0.0021981795194650862_r8, & + 0.0023882907075654719_r8, 0.0026992618375375802_r8, & + 0.0035648600635940345_r8, 0.004609279697437867_r8, & + 0.0056444545379707254_r8, 0.0066446467902025073_r8, & + 0.0074734231497075353_r8, 0.0081103337464654597_r8, & + 0.0085659423299009971_r8, 0.0090689970318866987_r8, & + 0.0095280300610120303_r8, 0.0098728221298639406_r8, & + 0.010218049817248829_r8, 0.01092301370926973_r8, 0.011477459297632001_r8, & + 0.011844492112695386_r8, 0.012048240580980937_r8, 0.012182592596860168_r8, & + 0.012202195430844167_r8, 0.012384308178658489_r8, 0.012636315012550482_r8, & + 0.012678430638248453_r8, 0.012748647808071417_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,17) / & + 0.00053917731690682473_r8, 0.00051394896978714075_r8, & + 0.00051918077058563941_r8, 0.00050534668193576301_r8, & + 0.00053466237342927403_r8, 0.00062351495189416292_r8, & + 0.00086261830954093835_r8, 0.0012708371127103408_r8, & + 0.001565125907625896_r8, 0.0017942184156678519_r8, & + 0.0019270885489278027_r8, 0.0020344285004066176_r8, & + 0.0021653995905882668_r8, 0.0023681318715300941_r8, & + 0.0026123035362004146_r8, 0.0029291796249479507_r8, & + 0.0038156302962993583_r8, 0.0047122553110305384_r8, & + 0.0056822261484945182_r8, 0.0065979044762298471_r8, & + 0.0074305782720659177_r8, 0.0081524158649280178_r8, & + 0.0087481117221917017_r8, 0.0092639220057244634_r8, & + 0.0097436630472137273_r8, 0.010135092297339873_r8, 0.010563232188165095_r8, & + 0.011392221085842608_r8, 0.012055188343277371_r8, 0.012534728161659006_r8, & + 0.012698800453046539_r8, 0.012815283479478499_r8, 0.012796179860697442_r8, & + 0.0129477134371905_r8, 0.013227014254698339_r8, 0.013293369146496361_r8, & + 0.013468544585356752_r8, 0.01352794938597684_r8, 0.013544987009382479_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,17) / & + 0.00043468319964539256_r8, 0.00042907067897615794_r8, & + 0.00044293229979180238_r8, 0.00042264891114066169_r8, & + 0.00043858585936655791_r8, 0.00049961875855107163_r8, & + 0.00071303812009212834_r8, 0.0012687690329618961_r8, & + 0.0016744759631056589_r8, 0.0019637035108023308_r8, & + 0.0021243521256789329_r8, 0.0023012378933753679_r8, & + 0.0024946479661119205_r8, 0.0026971294385347943_r8, & + 0.0029488444643631403_r8, 0.0032946279470825873_r8, & + 0.0041261946722847605_r8, 0.0049686601294841671_r8, 0.00590721716149033_r8, & + 0.0068211704691674086_r8, 0.0077113423520553089_r8, & + 0.008457729286821607_r8, 0.0091139634767916228_r8, & + 0.0096745498726589635_r8, 0.010165671535964286_r8, 0.010614503508645609_r8, & + 0.011099673289566816_r8, 0.012102943990126614_r8, 0.01277634205144557_r8, & + 0.013460886839861094_r8, 0.013567433365961008_r8, 0.01376193098111627_r8, & + 0.013827124371017147_r8, 0.013873818025741688_r8, 0.014065588207576059_r8, & + 0.013937981676592869_r8, 0.014006572086582856_r8, 0.014041939357610665_r8, & + 0.0140993828540416_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,17) / & + 0.00030898644215545675_r8, 0.00031813157503186168_r8, & + 0.00033354031223041975_r8, 0.00034547227553957525_r8, & + 0.00036205797510536298_r8, 0.00041109807373993081_r8, & + 0.00058641135324485926_r8, 0.0011171266827439208_r8, & + 0.0016738975239588933_r8, 0.0021032723351485628_r8, & + 0.0023162213537986963_r8, 0.0024926845390647115_r8, & + 0.0026631952709792197_r8, 0.002910195028460582_r8, & + 0.0032259726787579848_r8, 0.0035881659368940636_r8, & + 0.0043972937436067552_r8, 0.0052854268402576189_r8, & + 0.0062329491873928293_r8, 0.0071747625906318216_r8, & + 0.0080592565737564216_r8, 0.0088096174319260614_r8, 0.00937247600952326_r8, & + 0.0099420852103531861_r8, 0.010550831791969263_r8, 0.011118804068127524_r8, & + 0.011720340064206438_r8, 0.012909504960806657_r8, 0.013584648453898174_r8, & + 0.014225078321307949_r8, 0.014512798271034844_r8, 0.014716108373746456_r8, & + 0.014847657109661063_r8, 0.014937636752312392_r8, 0.014977548386872557_r8, & + 0.015066391700381243_r8, 0.015062384617011433_r8, 0.015056909712758353_r8, & + 0.015035085177828087_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,25,17) / & + 0.00023996252378172836_r8, 0.00024758082625837033_r8, & + 0.00026540821422301234_r8, 0.00031027777513323453_r8, & + 0.00032036082252879014_r8, 0.00035077801550538267_r8, & + 0.00043359904647387651_r8, 0.00095431842329185177_r8, & + 0.001630988933161086_r8, 0.0022189846428794071_r8, & + 0.0025496245720586664_r8, 0.0028214747332288392_r8, & + 0.0030504299302704196_r8, 0.0033184429317372828_r8, & + 0.003646520086370173_r8, 0.0040193967807508144_r8, & + 0.0047920242916677522_r8, 0.0056642078913833093_r8, & + 0.0065475808728614306_r8, 0.0073867144838915553_r8, & + 0.0081407583782891844_r8, 0.0088765687619798521_r8, & + 0.0095624960695275055_r8, 0.010197335936937679_r8, 0.010889089005202763_r8, & + 0.011503160595824591_r8, 0.012177324348077431_r8, 0.013561376649674864_r8, & + 0.014428574742622614_r8, 0.015072013208783999_r8, 0.015481903089645825_r8, & + 0.015645668584428639_r8, 0.015695089520899357_r8, 0.015615321412614519_r8, & + 0.015610868066681475_r8, 0.015613710925877728_r8, 0.015578266213435847_r8, & + 0.015551806466516669_r8, 0.015543970723322999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,17) / & + 0.00021242397530844443_r8, 0.00022060526679101232_r8, & + 0.00023175499146637032_r8, 0.00029218070714204448_r8, & + 0.00032083694757390613_r8, 0.00035625542362056293_r8, & + 0.00052147407108268646_r8, 0.0011349550909799506_r8, & + 0.0017999565269745182_r8, 0.0023968867218017382_r8, & + 0.002783941449817738_r8, 0.0031299738791255704_r8, & + 0.0034918620857314767_r8, 0.0037891687701918017_r8, & + 0.004088589558291872_r8, 0.0044193743771021024_r8, & + 0.0051486098113562653_r8, 0.005966811360422636_r8, & + 0.0067705617078967903_r8, 0.0075321747841952382_r8, & + 0.0083118156620791694_r8, 0.0091073847180707553_r8, & + 0.0098559366883209289_r8, 0.010525571776128631_r8, 0.011221995163481026_r8, & + 0.011873631410027081_r8, 0.012676455027138605_r8, 0.014496234895776196_r8, & + 0.015568302643554745_r8, 0.016259107728083713_r8, 0.016711540387150677_r8, & + 0.016884245278323395_r8, 0.01682060496670236_r8, 0.016699130888388619_r8, & + 0.016300926435697263_r8, 0.016193718936911315_r8, 0.016112832338729354_r8, & + 0.016026997972650395_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,17) / & + 0.00020935536655312595_r8, 0.00022078182033556543_r8, & + 0.00023958162714777286_r8, 0.00037351342508199512_r8, & + 0.00043591023814526427_r8, 0.00051433998112316052_r8, & + 0.00080927410231387646_r8, 0.0013290880128668445_r8, & + 0.0018477054361127506_r8, 0.0023842552128732447_r8, & + 0.0027689258820935902_r8, 0.0031064549514157043_r8, & + 0.0034595832240036347_r8, 0.0038576096827890568_r8, & + 0.0042036338119913093_r8, 0.0045295419983435855_r8, & + 0.0052563183008355555_r8, 0.006103580875148641_r8, & + 0.0069438739108980936_r8, 0.0077901344270915156_r8, & + 0.0086201825402742512_r8, 0.0094459232991515665_r8, & + 0.010173372625753758_r8, 0.010981614757765294_r8, 0.011917731470719053_r8, & + 0.012710479092104139_r8, 0.01360546655387765_r8, 0.015506370806880635_r8, & + 0.016773899547799152_r8, 0.017369780138898568_r8, 0.01774247097895696_r8, & + 0.017964209989138172_r8, 0.017860637187109226_r8, 0.018038110333268884_r8, & + 0.017080435109040962_r8, 0.016753548794315166_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,17) / & + 0.00030421142525161477_r8, 0.00032441194042710125_r8, & + 0.00040752880424312093_r8, 0.00062669436308365441_r8, & + 0.00073346851472551127_r8, 0.00081927055015385681_r8, & + 0.0011392843646642174_r8, 0.0014858721189241482_r8, & + 0.0018806386419983406_r8, 0.002350543674155377_r8, & + 0.0027267763402962176_r8, 0.003043950662986647_r8, & + 0.0033909300047733752_r8, 0.0039263439650587088_r8, & + 0.0042572296381948368_r8, 0.0045941318704249634_r8, & + 0.0053219194725080176_r8, 0.0062975144639630829_r8, & + 0.0072517785447219528_r8, 0.0081851804624152331_r8, & + 0.0090307741819813016_r8, 0.0096188510153990166_r8, & + 0.010555263554999588_r8, 0.011474210353960873_r8, 0.012451222886751507_r8, & + 0.013038398324813731_r8, 0.013957198244005993_r8, 0.016100869066143764_r8, & + 0.01753594338187316_r8, 0.017923258443494426_r8, 0.018193287722304108_r8, & + 0.018420143167318315_r8, 0.018353947404037459_r8, 0.018770567619556849_r8, & + 0.018014388108518534_r8, 0.018051783752826404_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,17) / & + 0.00040939515211794964_r8, 0.0004353369647002075_r8, & + 0.00057058635715365928_r8, 0.00082748384465434089_r8, & + 0.00096931912848343706_r8, 0.0010153249204118519_r8, & + 0.0013712493977999407_r8, 0.0016337782996653041_r8, & + 0.0019593981319553184_r8, 0.002409815833428741_r8, & + 0.0027789836793439405_r8, 0.0030648495441273483_r8, & + 0.0033762267897694005_r8, 0.0039948352715371335_r8, & + 0.0043633320008039994_r8, 0.0047078295987264662_r8, & + 0.0054611983034795336_r8, 0.0065042746429851339_r8, & + 0.0075007754870964009_r8, 0.0085128730821149336_r8, & + 0.0094136726921738682_r8, 0.0098970645916354009_r8, 0.0109069609240474_r8, & + 0.011829397334848604_r8, 0.0127478070457598_r8, 0.0131892944216994_r8, & + 0.014120025834274_r8, 0.0165124493069186_r8, 0.018064097842531199_r8, & + 0.018331194598663315_r8, 0.018556229598230171_r8, 0.018716358797512961_r8, & + 0.018749087814218881_r8, 0.019141320597104002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,30,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,17) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,17) / & + 0.00057394184877099296_r8, 0.00073111343733214796_r8, & + 0.0010564060424434567_r8, 0.0011594812095992097_r8, & + 0.0014141700953991107_r8, 0.0015418276902441478_r8, & + 0.0019581511569309626_r8, 0.0020577876748435553_r8, & + 0.0022709538171555551_r8, 0.002578806267786666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,17) / & + 0.00062899673642224571_r8, 0.00073210520102814805_r8, & + 0.00101865546658433_r8, 0.0012002601226286051_r8, 0.0013982261576829119_r8, & + 0.0015215084834267934_r8, 0.0019300401455665472_r8, & + 0.0023004382662699932_r8, 0.0024248627847599405_r8, & + 0.0024974913452434967_r8, 0.0025120170573402069_r8, & + 0.0025554079665521777_r8, 0.0026950782751743994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,17) / & + 0.00084795649758359355_r8, 0.00068627103823546657_r8, & + 0.00075748661632665381_r8, 0.0011139823340658029_r8, & + 0.0012639617798563807_r8, 0.0016066623476219172_r8, & + 0.0017085916558430342_r8, 0.0018135279505777648_r8, & + 0.0017870404406731171_r8, 0.0017743914617168418_r8, & + 0.0017923822369124856_r8, 0.0018104616006250069_r8, & + 0.0018002967532760291_r8, 0.001808827736123002_r8, & + 0.0019375541574159999_r8, 0.0020368052612479998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,17) / & + 0.00086672094060509628_r8, 0.00070409735532809224_r8, & + 0.0008276561953266899_r8, 0.0010214997812156117_r8, & + 0.0011205924468979688_r8, 0.0015038227511608888_r8, & + 0.0016879005423017708_r8, 0.0017889166074950486_r8, & + 0.001778945629248694_r8, 0.0018042270555563306_r8, & + 0.0018194541771892891_r8, 0.0018916176834325043_r8, & + 0.0020029782861419698_r8, 0.0020964348273942797_r8, & + 0.0021606038520058228_r8, 0.0021882857686151189_r8, & + 0.0022793440123665149_r8, 0.0023192814923415706_r8, & + 0.0024519349734315058_r8, 0.0025802993362635382_r8, & + 0.0027451277826899909_r8, 0.0028658546205259693_r8, & + 0.002873557929544383_r8, 0.0030814551754102513_r8, & + 0.0033049563913800299_r8, 0.0035191820601969777_r8, & + 0.0036551247424049388_r8, 0.0037781737562302417_r8, & + 0.0038872436653039407_r8, 0.0039519751433066668_r8, & + 0.0040186801419802073_r8, 0.0040731493124946967_r8, & + 0.0041076859242339548_r8, 0.0041305787640154076_r8, & + 0.0041384728466986667_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,17) / & + 0.0015465246038139525_r8, 0.0017901122619124149_r8, & + 0.0018029635174766617_r8, 0.0017674760152694251_r8, & + 0.001765401777529232_r8, 0.0019910878620873216_r8, & + 0.0018371433480650801_r8, 0.0017604867359274669_r8, & + 0.0018467479706446746_r8, 0.0019111395248402703_r8, & + 0.0019428392885654127_r8, 0.0020154827015969974_r8, & + 0.0020755003196882703_r8, 0.0021517511027028019_r8, & + 0.0022194343820078357_r8, 0.002261279873810015_r8, & + 0.0023558380594880003_r8, 0.0024140519925877988_r8, & + 0.0025151485363598745_r8, 0.0026286003223235425_r8, & + 0.0027555346535984727_r8, 0.0028768775613998354_r8, & + 0.0029630937039922564_r8, 0.003143958216512237_r8, & + 0.0033213957275484191_r8, 0.0035007271078256468_r8, & + 0.0036571967808359507_r8, 0.0038596604211288237_r8, & + 0.0039585925429111305_r8, 0.004039758367527427_r8, & + 0.0041012189336118781_r8, 0.004166918159426292_r8, & + 0.0042026142127106671_r8, 0.004228072743235404_r8, & + 0.0042358955827127079_r8, 0.0042374647886552893_r8, & + 0.0042386822760245345_r8, 0.0042587708176170663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,17) / & + 0.0023128907874986667_r8, 0.0030330168671573333_r8, & + 0.0029859010525013327_r8, 0.0035524027060053333_r8, & + 0.0034606728013653336_r8, 0.0035090858065919997_r8, & + 0.0032145772188159993_r8, 0.0021696438859093335_r8, & + 0.0022558607306239998_r8, 0.0022975561418239997_r8, & + 0.0023165043898026668_r8, 0.0023221564344319996_r8, & + 0.0022881978384213333_r8, 0.0023499070469973336_r8, & + 0.0024042500662613334_r8, 0.0024574348796586659_r8, & + 0.0024933392615253329_r8, 0.0025326256045226669_r8, & + 0.0026136073587199999_r8, 0.0027272505183573328_r8, & + 0.0028296822452053318_r8, 0.0029603741951999998_r8, & + 0.0030964402204160008_r8, 0.0032583110723413337_r8, & + 0.0034439946368853332_r8, 0.003607023694677333_r8, & + 0.0038123967589546661_r8, 0.0041330344710826684_r8, & + 0.0041444312168106671_r8, 0.0041578664048639987_r8, & + 0.0041850610786133323_r8, 0.0042198999110826677_r8, & + 0.0042486697448106672_r8, 0.0042514494388906669_r8, & + 0.0042709999539199987_r8, 0.0042885120266239985_r8, & + 0.0043609230574079986_r8, 0.0043734316807680007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,18) / & + 0.0031317736866666663_r8, 0.0030735856183740748_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,5,18) / & + 0.0031359591427087916_r8, 0.0030879265199829074_r8, & + 0.0031956746999999997_r8, 0.0034558966000000002_r8, & + 0.0042492925800000003_r8, 0.0044391235200000002_r8, 0.0051595076_r8, & + 0.0054148620400000002_r8, 0.0055077181999999992_r8, & + 0.0056200441999999995_r8, 0.0057188910799999999_r8, & + 0.0059188313600000006_r8, 0.0061135297599999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,18) / & + 0.0031594206745679011_r8, 0.0031882244353703699_r8, & + 0.0032343763228395057_r8, 0.0033241435178395064_r8, & + 0.0036775773428747794_r8, 0.0040708497530687832_r8, & + 0.004804201179700175_r8, 0.0052046423791710763_r8, & + 0.0054770638006613756_r8, 0.0056687059231216924_r8, & + 0.0057554594333333329_r8, 0.0058725622599206358_r8, & + 0.0060031516354761899_r8, 0.0060713134097354496_r8, & + 0.0061571729674338629_r8, 0.0062260855627513222_r8, & + 0.0064026275643386229_r8, 0.0065774757611640209_r8, & + 0.0067690421081481478_r8, 0.0069788975844444446_r8, & + 0.0071373188466666666_r8, 0.007723494157777777_r8, 0.00778568948_r8, & + 0.0079735373807407403_r8, 0.0082235528688888899_r8, & + 0.0083764133007407388_r8, 0.0084594236014814798_r8, & + 0.0087178233241481471_r8, 0.0089319000392592586_r8, & + 0.0090575512310370355_r8, 0.0091957274651851845_r8, & + 0.0092642185903703701_r8, 0.0092883589731851852_r8, & + 0.0093211789662962959_r8, 0.0093927500426666671_r8, & + 0.0094818120800000006_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,18) / & + 0.0027860638424691358_r8, 0.0028128741634567897_r8, & + 0.0028615857432098767_r8, 0.0029165006765432097_r8, & + 0.0030153752913580239_r8, 0.0030719173338271603_r8, & + 0.0033505967530864196_r8, 0.0038375276518518514_r8, & + 0.0043451302325925928_r8, 0.0047302373812345673_r8, & + 0.0050218504691358018_r8, 0.0052162715209876538_r8, & + 0.0054823963140740737_r8, 0.0056499515753086404_r8, & + 0.0057552514222222219_r8, 0.0058274174103703702_r8, & + 0.0059351116962962957_r8, 0.0060264979111111106_r8, & + 0.0061148425412345681_r8, 0.0062194859975308646_r8, & + 0.0063243328424691346_r8, 0.006580963083950616_r8, 0.006663973384691357_r8, & + 0.0068443143955555542_r8, 0.0070888152780246919_r8, & + 0.0072804351135802459_r8, 0.0074811797032098759_r8, & + 0.0079363265041975297_r8, 0.0083717353619753073_r8, & + 0.0087211662938271595_r8, 0.0090017039456790141_r8, & + 0.0091829694503703686_r8, 0.0092843032187654318_r8, & + 0.0093513012864197519_r8, 0.0094128009270370364_r8, & + 0.0094864172148765424_r8, 0.0096318891250793646_r8, & + 0.009947923377777777_r8, 0.0093857466057142864_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,18) / & + 0.00196841376691358_r8, 0.0020030545506172837_r8, 0.0020131870029629624_r8, & + 0.002261552269629629_r8, 0.0022692902829629632_r8, & + 0.0018581771229629626_r8, 0.001762649175802469_r8, & + 0.0020360220004938269_r8, 0.0024501582553086419_r8, & + 0.0029114991649382719_r8, 0.0033273272434567896_r8, & + 0.0036578430316049383_r8, 0.0042712446859259259_r8, & + 0.004668250070123457_r8, 0.004896979087901235_r8, 0.005119837569876543_r8, & + 0.0054214629259259272_r8, 0.0056713073827160494_r8, & + 0.0058345822375308644_r8, 0.0059611177076543198_r8, & + 0.0060628952330864213_r8, 0.0061440565461728389_r8, & + 0.0062440682883950615_r8, 0.0063310516013580249_r8, & + 0.0064587415331481476_r8, 0.0065903501631481478_r8, & + 0.0067577933295061721_r8, 0.0072391204749735439_r8, & + 0.0077349091802204574_r8, 0.0083307223394797174_r8, & + 0.0086949937084920634_r8, 0.0089755704862433863_r8, & + 0.0091643118442328048_r8, 0.009295209868656085_r8, & + 0.0093760180251005291_r8, 0.0094204503870687836_r8, & + 0.0094798207202962947_r8, 0.0098034899713015846_r8, & + 0.0094077845657499996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,18) / & + 0.0012583562829629629_r8, 0.0012813022197530864_r8, & + 0.0012750711313580245_r8, 0.0014806878034567899_r8, & + 0.0014735229762962965_r8, 0.0013042851362962962_r8, & + 0.0013207965960493828_r8, 0.0014392057654320988_r8, & + 0.0015800893797530864_r8, 0.0017897183550617281_r8, & + 0.001999680148148148_r8, 0.0021937961170370372_r8, 0.002793136220246913_r8, & + 0.003227315501234567_r8, 0.0034949841990123457_r8, & + 0.0038170038888888885_r8, 0.0043351179644444439_r8, & + 0.0047415809204938274_r8, 0.0050098597841975309_r8, & + 0.0052747919802469132_r8, 0.0055395485224691348_r8, & + 0.0057162377827160481_r8, 0.0058578332572839517_r8, & + 0.0059491455125925928_r8, 0.006035502480987655_r8, & + 0.0061317145535802467_r8, 0.006241609134814816_r8, & + 0.0065321775446913581_r8, 0.0068324901195061724_r8, & + 0.007380058568395062_r8, 0.0078148052574691356_r8, & + 0.0084189007258024685_r8, 0.0087639084499559084_r8, & + 0.0090579072271957661_r8, 0.0092810580803439138_r8, & + 0.0094159626959259245_r8, 0.0094446837805661366_r8, & + 0.0094770943879999986_r8, 0.0095824894577777771_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,18) / & + 0.00078035979906104975_r8, 0.00078645369171075844_r8, & + 0.00079924868627865968_r8, 0.00094192713932980579_r8, & + 0.00095264730560846555_r8, 0.00095930418944620798_r8, & + 0.00098690759406701929_r8, 0.0010951862591446206_r8, & + 0.0012576067495925925_r8, 0.0014479510147901236_r8, & + 0.0016062959402363315_r8, 0.0017911940783333334_r8, & + 0.0022460075662786598_r8, 0.002721544738977072_r8, & + 0.0030772897985802457_r8, 0.0034048390181075829_r8, & + 0.0040186497279294528_r8, 0.004452331928396825_r8, & + 0.0046593269547566141_r8, 0.0048927431562380951_r8, & + 0.0051503279706137583_r8, 0.0054024522952169319_r8, & + 0.0055267068409629617_r8, 0.0056078581166878307_r8, & + 0.0056557042381481489_r8, 0.0058115382383597883_r8, & + 0.0059561346859259264_r8, 0.0062152749281481484_r8, & + 0.006356969323555557_r8, 0.0067922214796296296_r8, & + 0.0072282717049999999_r8, 0.0081824186716666653_r8, & + 0.0085806455433333328_r8, 0.0089374053999999991_r8, & + 0.0092330902228571436_r8, 0.0094286444399999999_r8, & + 0.0095170075600000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,18) / & + 0.00051931591753086423_r8, 0.00050044699851851851_r8, & + 0.00048695863358024687_r8, 0.00051414799703703698_r8, & + 0.00051897385481481479_r8, 0.00053616019506172842_r8, & + 0.00051996306320987648_r8, 0.00056811301296296292_r8, & + 0.00063537307556437393_r8, 0.00074354595213403868_r8, & + 0.00083995563528218686_r8, 0.00092163813176366846_r8, & + 0.0010738943408641977_r8, 0.0013283190042151674_r8, & + 0.0015727525307054669_r8, 0.0017908569682627865_r8, & + 0.0024079374476631394_r8, 0.002748623658439153_r8, & + 0.0032066596677248682_r8, 0.0037407997117037033_r8, & + 0.0039440772823492063_r8, 0.0039279328466455023_r8, & + 0.0039804150405079366_r8, 0.0042755376390476198_r8, & + 0.0045567607370370364_r8, 0.0047700470099259259_r8, & + 0.004990436168888889_r8, 0.005367337048074074_r8, 0.0056852140811111109_r8, & + 0.0059606471402962958_r8, 0.0064040824534814817_r8, & + 0.0069610793526666652_r8, 0.007495497339111111_r8, & + 0.0079148158440740749_r8, 0.0082517938440740731_r8, & + 0.0086537337140740727_r8, 0.009059889275925926_r8, & + 0.0093929809349999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,18) / & + 0.00033753269629629626_r8, 0.00031499353679012343_r8, & + 0.00030487032938271598_r8, 0.0002834867871604938_r8, & + 0.00028234041481481478_r8, 0.00029327717679012349_r8, & + 0.00026974880888888886_r8, 0.00029059614469135802_r8, & + 0.00031363453086419752_r8, 0.00034729535111111107_r8, & + 0.0003938343703703703_r8, 0.00040845986271604938_r8, & + 0.0004562007239506172_r8, 0.00052589831358024696_r8, & + 0.00060850183703703702_r8, 0.00066974030814814821_r8, & + 0.00091775426716049382_r8, 0.0013084268686419751_r8, & + 0.0016304373135802468_r8, 0.002042539681975309_r8, 0.002349906144691358_r8, & + 0.0026029401051851854_r8, 0.0026917469822222225_r8, & + 0.0031541787945679012_r8, 0.0037531491002469131_r8, & + 0.0042062712597530864_r8, 0.0046660959995061726_r8, & + 0.0052485548454320992_r8, 0.0057421420997530856_r8, & + 0.0060257583160493837_r8, 0.0065835794014814809_r8, & + 0.0071532155180246909_r8, 0.0075456261679012352_r8, & + 0.0079168011945679011_r8, 0.0082968883417283944_r8, & + 0.0086478261985185184_r8, 0.0090269518720987648_r8, & + 0.0093618451385185167_r8, 0.0095411368488888884_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,18) / & + 0.00021501877432098765_r8, 0.00021226378271604936_r8, & + 0.00020865825679012342_r8, 0.00018858749580246914_r8, & + 0.00018897578320987654_r8, 0.00019241490024691352_r8, & + 0.00019509593234567899_r8, 0.000209277667654321_r8, & + 0.00023041159654320985_r8, 0.00024289226320987653_r8, & + 0.00025479049876543208_r8, 0.00026983201333333326_r8, & + 0.00028954222172839514_r8, 0.00031123084691358024_r8, & + 0.00032821379851851856_r8, 0.0003478870271604937_r8, & + 0.00041256461530864196_r8, 0.00056067777135802464_r8, & + 0.0007561527461728394_r8, 0.0010456949679012344_r8, & + 0.0014276311027160492_r8, 0.001938108859259259_r8, & + 0.0022707787180246916_r8, 0.0027788435456790124_r8, & + 0.0034340970355555556_r8, 0.0040266421091358024_r8, & + 0.0045490735708641969_r8, 0.0054122642123456783_r8, & + 0.0059237589120987649_r8, 0.0063852477407407406_r8, & + 0.0072406633891358013_r8, 0.0077794491466666666_r8, & + 0.0081155766123456805_r8, 0.0083617508286419739_r8, & + 0.0086381282582716039_r8, 0.0088882408182716054_r8, & + 0.009155336329876541_r8, 0.0094884638130864202_r8, & + 0.0096199730600000002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,18) / & + 0.00018610060740740741_r8, 0.00019160134567901234_r8, & + 0.00019190642864197528_r8, 0.00020759508888888888_r8, & + 0.00020946256641975311_r8, 0.0002064302266666666_r8, & + 0.00020631004246913576_r8, 0.00020331468246913577_r8, & + 0.00019875692790123455_r8, 0.00020814978518518521_r8, & + 0.00020723453629629629_r8, 0.00023506180049382715_r8, & + 0.00026829735358024692_r8, 0.00029030955160493825_r8, & + 0.00030535106617283949_r8, 0.00031735099604938277_r8, 0.00036168972_r8, & + 0.00043751670370370375_r8, 0.00060979612839506174_r8, & + 0.00091619187259259259_r8, 0.0013852800404938275_r8, & + 0.001955267464691358_r8, 0.0026025980424691357_r8, & + 0.0032189673219753085_r8, 0.0038232164874074069_r8, & + 0.0044109541930864192_r8, 0.004880458383209876_r8, & + 0.0056785369244444443_r8, 0.0061992395827160504_r8, & + 0.006929044254814813_r8, 0.0077464169822222227_r8, & + 0.0082535850508641973_r8, 0.0085216420360493834_r8, & + 0.0087339243086419771_r8, 0.0089326904814814798_r8, & + 0.0091184305362962959_r8, 0.0092695482972839482_r8, & + 0.0095412316095061719_r8, 0.0097044986721587286_r8, & + 0.0096790066133333325_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,18) / & + 0.00020346260148148144_r8, 0.00020991556839506173_r8, & + 0.00021672908790123455_r8, 0.00024546235604938274_r8, & + 0.00023769660790123455_r8, 0.00023503406567901235_r8, & + 0.00022070441135802472_r8, 0.00020976764938271606_r8, & + 0.00020471066814814809_r8, 0.000211219104691358_r8, & + 0.00021321601135802464_r8, 0.00024482445530864196_r8, & + 0.00027100612049382717_r8, 0.00028844207407407411_r8, & + 0.00031032484296296295_r8, 0.00032594878864197535_r8, & + 0.00035895321827160496_r8, 0.00042610844987654321_r8, & + 0.00060026459703703698_r8, 0.0010330109125925926_r8, & + 0.0016174019506172842_r8, 0.0023598814330864199_r8, & + 0.0032490318612345684_r8, 0.0040355357397530867_r8, & + 0.004708206693333333_r8, 0.0052145334725925913_r8, & + 0.0056637912479012347_r8, 0.0063018121728395052_r8, & + 0.0068202775560493815_r8, 0.0074725911555555552_r8, & + 0.0080072906503703689_r8, 0.0083646907190123455_r8, & + 0.0085851917417283929_r8, 0.0087481464905555546_r8, & + 0.0089425270958024689_r8, 0.0090493655645855365_r8, & + 0.0092051752968342147_r8, 0.0094287799443809519_r8, & + 0.0095661065026666665_r8, 0.0096946074466666664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,18) / & + 0.00023219264573475556_r8, 0.00023880283576655802_r8, & + 0.00024694892289398517_r8, 0.00024306057581645427_r8, & + 0.00021831124666797037_r8, 0.00021654204874769386_r8, & + 0.00022663230941388643_r8, 0.00021383964752880988_r8, & + 0.00020134833254224194_r8, 0.00018465760271194073_r8, & + 0.00018186771368381235_r8, 0.00024936941894974809_r8, & + 0.00029940272496987655_r8, 0.00031296333540276544_r8, & + 0.00033098582410712087_r8, 0.00034564489258941231_r8, & + 0.00037757794296363456_r8, 0.00045473246984954079_r8, & + 0.00068763473892594562_r8, 0.0012523977102019161_r8, & + 0.0020423251398700051_r8, 0.0030712401017908347_r8, & + 0.0041389024423392588_r8, 0.0051418238040467946_r8, & + 0.0058523220237886231_r8, 0.006300813696578725_r8, & + 0.0067118994704829836_r8, 0.0073225060538030422_r8, & + 0.0079097047877163679_r8, 0.0083904114160438126_r8, & + 0.0087194822292152481_r8, 0.008927539001987771_r8, & + 0.0091281195595691242_r8, 0.0092792505145179761_r8, & + 0.0094598136183225087_r8, 0.0095870082905533133_r8, & + 0.0096466033197761675_r8, 0.0096682996715558665_r8, & + 0.0096534048720319995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,18) / & + 0.00024271436175332344_r8, 0.00024649737348337778_r8, & + 0.00025093298022885923_r8, 0.00024288770730429633_r8, & + 0.00023182418243338274_r8, 0.00022501272195986173_r8, & + 0.0002390333179944296_r8, 0.00023875800447229631_r8, & + 0.00023995102973487409_r8, 0.00023370039310273579_r8, & + 0.00021657997074488885_r8, 0.00028909959183423209_r8, & + 0.00035584782575589136_r8, 0.00035621491045206908_r8, & + 0.00036170078730050372_r8, 0.00036794122713552588_r8, & + 0.00041145096042970864_r8, 0.00055002543323681978_r8, & + 0.00093877832328620231_r8, 0.0018279084414143608_r8, & + 0.0031369630583756641_r8, 0.0045218716490832587_r8, & + 0.0056081364458559994_r8, 0.0064340464218646505_r8, & + 0.0069795954611675259_r8, 0.0073818183202072098_r8, & + 0.0076816449426075264_r8, 0.0081157022022435178_r8, & + 0.0086856827674364444_r8, 0.009061015397881466_r8, & + 0.0093167931313400884_r8, 0.0094748348193613042_r8, & + 0.0096784000716899927_r8, 0.0098652368956756789_r8, & + 0.010063243342206273_r8, 0.010190833264336133_r8, 0.010227209063448_r8, & + 0.0101375945119936_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,18) / & + 0.00027787510815043947_r8, 0.00028136508972845438_r8, & + 0.00028438547133878523_r8, 0.00028043656251962475_r8, & + 0.00028316878051342227_r8, 0.00028846245287640496_r8, & + 0.00032036323249929883_r8, 0.00034960650321416307_r8, & + 0.00038628866432620249_r8, 0.00042345109813246421_r8, & + 0.00047159576754660744_r8, 0.00052829996364444449_r8, & + 0.00049380571147275077_r8, 0.0005301143271559507_r8, & + 0.00054375407167186172_r8, 0.00055369038007899271_r8, & + 0.000659329027354805_r8, 0.0011649814652850371_r8, & + 0.0020953977467119411_r8, 0.0035217436121927118_r8, & + 0.0051775104073401683_r8, 0.0064405955749649978_r8, & + 0.0071576640528918534_r8, 0.0076393348742905889_r8, & + 0.0079910865955389442_r8, 0.0082859633570648503_r8, & + 0.0084698117444131169_r8, 0.0088115417754420344_r8, & + 0.0092986877055549044_r8, 0.0096476124883614345_r8, & + 0.0098523403499222104_r8, 0.010023332752051278_r8, 0.010278940702837957_r8, & + 0.010465646293431156_r8, 0.01068952815425824_r8, 0.01093854680179707_r8, & + 0.011115104649647043_r8, 0.011259344947902802_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,18) / & + 0.00032080257526320981_r8, 0.00033068028444420736_r8, & + 0.0003357417742502715_r8, 0.000315183652659121_r8, & + 0.00032494987528051348_r8, 0.00035852962703352098_r8, & + 0.00046008273417765921_r8, 0.00067351260388535288_r8, & + 0.00082151101176090836_r8, 0.00098163915732148123_r8, & + 0.0011194030990253035_r8, 0.0012345129718174021_r8, & + 0.0013701698175446907_r8, 0.0013999032829913282_r8, & + 0.0014072279499573724_r8, 0.0014673303542403944_r8, & + 0.0020420658663157726_r8, 0.0032231098841466466_r8, & + 0.0045191857341778958_r8, 0.005804937928789727_r8, & + 0.0068395777965473961_r8, 0.0075696698294322557_r8, & + 0.008099899906913342_r8, 0.008426577823867732_r8, 0.0086387701927638089_r8, & + 0.0087840594772409658_r8, 0.0090074785426892609_r8, & + 0.0095291798983605722_r8, 0.0099337423258549704_r8, & + 0.010370490923107316_r8, 0.010530857371189046_r8, 0.010769608028497586_r8, & + 0.011068129218491179_r8, 0.011204816792301566_r8, 0.011439150175076762_r8, & + 0.011574983431220355_r8, 0.011713286330806613_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,18) / & + 0.00033292812536098762_r8, 0.00034480845162212348_r8, & + 0.00034940016284829635_r8, 0.00033110306545590119_r8, & + 0.00035796748227535799_r8, 0.00043581733058340751_r8, & + 0.00071987569899545681_r8, 0.0011788608282466172_r8, & + 0.0014525035681557531_r8, 0.0016836351993202963_r8, & + 0.001828535656115852_r8, 0.0019725177706661728_r8, & + 0.0020122971018458275_r8, 0.0020220733781526916_r8, & + 0.0020869966875151605_r8, 0.0022788372200861231_r8, & + 0.0032556976281372836_r8, 0.0045392262231698762_r8, & + 0.0056318907508036541_r8, 0.0066178532092094804_r8, & + 0.0074100454538708147_r8, 0.0080795866981591118_r8, & + 0.0086804266428355554_r8, 0.0090972842746597539_r8, & + 0.0093140827920474099_r8, 0.0095204075580052356_r8, & + 0.0097789848352583704_r8, 0.01039931920962163_r8, 0.010834694805960493_r8, & + 0.011190238562183557_r8, 0.011354940047105395_r8, 0.011579351422427438_r8, & + 0.01178385943175545_r8, 0.011904555093834365_r8, 0.012068775320921358_r8, & + 0.012137656448717442_r8, 0.01212063550246_r8, 0.012547647209615998_r8, & + 0.012501509230232001_r8, 0.012466670347840001_r8, 0.012466670347840001_r8, & + 0.012465728756423999_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,18) / & + 0.00036041383346508641_r8, 0.00035990561184327905_r8, & + 0.00036855747992880984_r8, 0.00035694098571606908_r8, & + 0.00041842370143996049_r8, 0.00051644997187476533_r8, & + 0.0008879841784455902_r8, 0.001340035210528474_r8, & + 0.0016317181199015113_r8, 0.0018551178242302813_r8, & + 0.001993378306391506_r8, 0.0020937762777280787_r8, & + 0.0021341556956321586_r8, 0.0022334162185770673_r8, & + 0.0023911706300890471_r8, 0.002660903205605926_r8, & + 0.0035196525402827841_r8, 0.0046414670668190024_r8, & + 0.0056680989438995747_r8, 0.0066640439154348231_r8, & + 0.0074918764347850671_r8, 0.0081778183175326025_r8, & + 0.0087239629527386866_r8, 0.0092239562244787361_r8, & + 0.0096420532120189625_r8, 0.0099718648435423614_r8, & + 0.010288208602087861_r8, 0.0110128721322112_r8, 0.011545827206279901_r8, & + 0.011886341743148267_r8, 0.01207097896086377_r8, 0.012173680567706331_r8, & + 0.01218730120968364_r8, 0.012374397857033245_r8, 0.012491109439916966_r8, & + 0.012557194283934044_r8, 0.012608216104609066_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,18) / & + 0.00037593507083828146_r8, 0.00037221244334704193_r8, & + 0.00038419779469552599_r8, 0.00036998641271883463_r8, & + 0.00040088673618496795_r8, 0.00046361803999004443_r8, & + 0.00069089954006328893_r8, 0.0011510967872235456_r8, & + 0.0014787257357853037_r8, 0.0017462267044970076_r8, & + 0.0019133299189432887_r8, 0.0020540854827336688_r8, & + 0.0021882761426374716_r8, 0.0023683959768588643_r8, & + 0.0026010098892844244_r8, 0.0028999645450082569_r8, & + 0.0037991048485848697_r8, 0.0048228525615641882_r8, & + 0.0057789641574898373_r8, 0.0067036975250687209_r8, & + 0.0075128030644230929_r8, 0.0082112233181342222_r8, & + 0.0088080510553783502_r8, 0.0093581195729858964_r8, & + 0.0098165812708428061_r8, 0.010251789123323696_r8, 0.010661190112250449_r8, & + 0.01142444193595259_r8, 0.011992306122141571_r8, 0.012391840890572116_r8, & + 0.012558947249129456_r8, 0.012709108421146226_r8, 0.012711337506053744_r8, & + 0.012893133915038234_r8, 0.013047509638793496_r8, 0.013078642755610966_r8, & + 0.013101142912650798_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,18) / & + 0.00033735164934194561_r8, 0.00034073221411713575_r8, & + 0.00035062591334336787_r8, 0.00034663188700665689_r8, & + 0.00038359620918170862_r8, 0.00043276450071893325_r8, & + 0.00065269699671103209_r8, 0.0012460317980646715_r8, & + 0.0016770603330882371_r8, 0.0019747588712833576_r8, & + 0.0021350550720714272_r8, 0.0023033393255329185_r8, & + 0.0024702139226402764_r8, 0.0026580767365758417_r8, & + 0.0028947423755864492_r8, 0.0032402256537119602_r8, & + 0.0041480312934001782_r8, 0.0051054359529560485_r8, & + 0.0059826468288101129_r8, 0.0069207600801121979_r8, & + 0.0078502196076847396_r8, 0.0085716895611543699_r8, & + 0.0092091674901902208_r8, 0.009802149877455325_r8, 0.010301233488686775_r8, & + 0.01080685633911656_r8, 0.011300418796294318_r8, 0.012218718544396641_r8, & + 0.012889884649821548_r8, 0.013348936631070341_r8, 0.013506544042886636_r8, & + 0.013685135942281525_r8, 0.01375164300697459_r8, 0.013938268269425713_r8, & + 0.014076423728792337_r8, 0.014137913461054575_r8, 0.014133963486478931_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,18) / & + 0.00027791192999998017_r8, 0.00029203547840673578_r8, & + 0.0002985290638811062_r8, 0.00031795570709193088_r8, & + 0.00034959840797641481_r8, 0.00040463154487170355_r8, & + 0.00063961816922548139_r8, 0.0012943609812850173_r8, & + 0.0018778366927633377_r8, 0.0022839969358821335_r8, & + 0.0024471212143195456_r8, 0.0025847852263761973_r8, & + 0.0027637917326196735_r8, 0.0029853718086294912_r8, & + 0.0032869853256109229_r8, 0.0036478528100459839_r8, & + 0.0045205501128921469_r8, 0.0055019743875247993_r8, & + 0.0064401622055406029_r8, 0.0073565829839141918_r8, & + 0.0082659149314782618_r8, 0.009030575205994585_r8, & + 0.0095858579338716846_r8, 0.010159917946412165_r8, 0.010749576092394212_r8, & + 0.011324407218209775_r8, 0.011901484042335226_r8, 0.013062807691214083_r8, & + 0.013788357641550399_r8, 0.014304908837733488_r8, 0.014568778389145144_r8, & + 0.014709986816606558_r8, 0.014831930940494004_r8, 0.014947990252545304_r8, & + 0.014974573368081006_r8, 0.015129719329781939_r8, 0.015134339052019422_r8, & + 0.015113676115169323_r8, 0.015125345544846997_r8, 0.015129607721281598_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,18) / & + 0.00024893923681027158_r8, 0.00026028266513027152_r8, & + 0.00025047970238459256_r8, 0.00029131604433659263_r8, & + 0.00030630057310498769_r8, 0.00035825627565708645_r8, & + 0.00039759416473224692_r8, 0.00098819466169441971_r8, & + 0.0017219044105110121_r8, 0.0023395330761862712_r8, & + 0.0026500909359693826_r8, 0.0028770435277643458_r8, & + 0.0031150314547644443_r8, 0.0033883940730439501_r8, & + 0.0036941624853141725_r8, 0.0040822337719506174_r8, & + 0.0049263528897485415_r8, 0.0058031018692570862_r8, & + 0.0067088396100278514_r8, 0.0075682373454765417_r8, & + 0.0083147889754899753_r8, 0.0090627830414502699_r8, & + 0.0097714252141029127_r8, 0.010460713537449085_r8, 0.011117764117594469_r8, & + 0.011671141364588047_r8, 0.012276110204088886_r8, 0.013660778691916049_r8, & + 0.014485375909617579_r8, 0.015025043012999706_r8, 0.015328990875045722_r8, & + 0.015513846743964246_r8, 0.015602241459465281_r8, 0.015656970000051156_r8, & + 0.01567055410557017_r8, 0.01566440624750538_r8, 0.015648623477484837_r8, & + 0.015620615012497181_r8, 0.015660957705253779_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,18) / & + 0.00026505936387328393_r8, 0.00026101939869870619_r8, & + 0.0002263104505859358_r8, 0.00028101650230477035_r8, & + 0.00028986388123547642_r8, 0.00031304662046307158_r8, & + 0.00040487980733465673_r8, 0.00099908773172165946_r8, & + 0.001696930174941827_r8, 0.0023429046781787057_r8, & + 0.0027329133592255803_r8, 0.0030563132954586269_r8, & + 0.0034300028340261135_r8, 0.0037604401289503598_r8, & + 0.0040534462053216196_r8, 0.0043855921593519602_r8, & + 0.0050879958535756829_r8, 0.0058987401192552883_r8, & + 0.0067850563499747543_r8, 0.0075779610561737855_r8, & + 0.0083477409437928887_r8, 0.0090998550338744089_r8, & + 0.0098523021676799986_r8, 0.010567853848923493_r8, 0.01128905279331425_r8, & + 0.01196614516450872_r8, 0.012694309066781095_r8, 0.014372328150260561_r8, & + 0.015418563289180879_r8, 0.016105082245782696_r8, 0.016391557769129816_r8, & + 0.016648160718444129_r8, 0.01672148463834652_r8, 0.016761907820355415_r8, & + 0.016358226246419312_r8, 0.016205705614945415_r8, 0.016159767301266753_r8, & + 0.016141472340693918_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,18) / & + 0.00029112031789945672_r8, 0.00028708217323812342_r8, & + 0.00027296923154904694_r8, 0.00036028289278187655_r8, & + 0.00038715124379802188_r8, 0.00042109516138246768_r8, & + 0.00070860037834701668_r8, 0.001221034526116786_r8, & + 0.0017647760462265111_r8, 0.0023516423874179048_r8, & + 0.0027378620803840004_r8, 0.0030766025931045133_r8, & + 0.0034673416963853631_r8, 0.0038514459036462713_r8, & + 0.0041696161822424105_r8, 0.0045151523689647517_r8, & + 0.0051941720023022022_r8, 0.0059904249575946965_r8, & + 0.006873281159781453_r8, 0.0076618915524000871_r8, & + 0.0085140204649323658_r8, 0.0092587574306832419_r8, & + 0.010032803528142059_r8, 0.010755178466611623_r8, 0.011683769060745516_r8, & + 0.01255199900682262_r8, 0.013440247681156_r8, 0.015191709601214737_r8, & + 0.016423884545867115_r8, 0.017213855408651418_r8, 0.017638238559885382_r8, & + 0.017962012939320579_r8, 0.017890799991144908_r8, 0.017981129387952266_r8, & + 0.016981925224356733_r8, 0.016751031684142936_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,18) / & + 0.00041947850748769698_r8, 0.00041324559633384593_r8, & + 0.00047638532347488746_r8, 0.00052731699944974161_r8, & + 0.00058442137350007376_r8, 0.00067131605111262242_r8, & + 0.00095243599255671158_r8, 0.0013161127050240495_r8, & + 0.0017200048846820102_r8, 0.0022784453282767105_r8, & + 0.002678836161545785_r8, 0.0030304395430103162_r8, & + 0.0034829766546433344_r8, 0.0039171130656364206_r8, & + 0.0042427419468761664_r8, 0.0045849678955825028_r8, & + 0.0053548162575962812_r8, 0.0061195370945079861_r8, & + 0.0071115799116166232_r8, 0.0079197027400266587_r8, & + 0.0087516615448906734_r8, 0.0094726281386832284_r8, & + 0.010412008594435683_r8, 0.011264959214960117_r8, 0.012245816501874071_r8, & + 0.013123885192711963_r8, 0.01402959660096581_r8, 0.015906394937357026_r8, & + 0.017225985843691369_r8, 0.017900034519880162_r8, 0.018343039225048541_r8, & + 0.01865853068587504_r8, 0.018497406500316803_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,29,18) / & + 0.00054454435707226151_r8, 0.00052193189151982227_r8, & + 0.00068922784961635572_r8, 0.0008252408236785778_r8, & + 0.00095051593136746663_r8, 0.0010214932280952001_r8, & + 0.0012768396904530666_r8, 0.0014975028444250669_r8, 0.0018348866058752_r8, & + 0.002263112716843734_r8, 0.0026924126144496001_r8, & + 0.0030441851168399999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,18) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,18) / & + 0.00060424926535945431_r8, 0.00072437464835999987_r8, 0.001069245272192_r8, & + 0.0011878335049351108_r8, 0.0013914334575399999_r8, & + 0.0015393977515933332_r8, 0.0019229938289422217_r8, & + 0.001938169653973333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,18) / & + 0.00082657323220378174_r8, 0.00088232335223781321_r8, & + 0.001161283977563244_r8, 0.001347177029379661_r8, 0.0015532528102901594_r8, & + 0.0016847586873268876_r8, 0.0020024376957936195_r8, & + 0.0022609829559765331_r8, 0.0022904068343262813_r8, & + 0.002206232194996622_r8, 0.0020807151443147849_r8, & + 0.0020782941922986666_r8, 0.0017504600439005864_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,18) / & + 0.0010308643864260485_r8, 0.00080714717745035479_r8, & + 0.00090211421975739238_r8, 0.0012151361122293724_r8, & + 0.0014078595174135294_r8, 0.0017722604664654838_r8, & + 0.0018236692047650313_r8, 0.0018913427643205685_r8, & + 0.0018421167740141978_r8, 0.0017861347676912901_r8, & + 0.001779643603941707_r8, 0.0017911045530453501_r8, & + 0.0018114593630444821_r8, 0.0018417022954378089_r8, & + 0.0019184747480748051_r8, 0.0020056842065971671_r8, & + 0.0020754988075245328_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,18) / & + 0.00087545376957345173_r8, 0.00069191634718767411_r8, & + 0.00083949183734971522_r8, 0.0010382034408933137_r8, & + 0.0011356515060166584_r8, 0.0015411003638318356_r8, & + 0.0016944209919466931_r8, 0.0017939741457855738_r8, & + 0.001790728800682456_r8, 0.001802394500647717_r8, 0.0018210771629980972_r8, & + 0.0018915976349685463_r8, 0.0019944345079235884_r8, & + 0.002056742941102703_r8, 0.0021365334782241182_r8, & + 0.0021565263390198449_r8, 0.0022312593378507363_r8, & + 0.002295458278529592_r8, 0.0024269699369456987_r8, 0.00257316834823966_r8, & + 0.0027311552563406218_r8, 0.0028419487068001657_r8, & + 0.0027991825138636087_r8, 0.003056075699583573_r8, & + 0.0032890892851866788_r8, 0.0035263854106454507_r8, & + 0.0036663080262062222_r8, 0.0037796867887445336_r8, & + 0.0038898092421760003_r8, 0.00395513277637997_r8, 0.0040194695502485328_r8, & + 0.0040763069455680007_r8, 0.0041086726845693628_r8, & + 0.0041278158350762668_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,18) / & + 0.0015091883244904563_r8, 0.0017745103867361713_r8, & + 0.0018196926957725762_r8, 0.0017746005709857451_r8, & + 0.0017724812411207638_r8, 0.0020056075262686814_r8, & + 0.0018352945709488196_r8, 0.0017642293822847735_r8, & + 0.0018495436823814581_r8, 0.0019139803287018405_r8, & + 0.0019437411310611495_r8, 0.0020170158338397503_r8, & + 0.0020837521785242604_r8, 0.0021524274845746041_r8, & + 0.0022206969615018667_r8, 0.0022600623864407711_r8, & + 0.0023535383611238713_r8, 0.0024123384918458995_r8, & + 0.0025130742986196808_r8, 0.002633289903301373_r8, & + 0.0027551739166001778_r8, 0.0028710155851775477_r8, & + 0.0029414494840945779_r8, 0.0031366983844215569_r8, & + 0.0033196371346817318_r8, 0.0035091593351607837_r8, & + 0.0036677483380360698_r8, 0.003867461358716945_r8, & + 0.0039586827271607047_r8, 0.004040028920276148_r8, & + 0.0041019854997332546_r8, 0.0041676847255476676_r8, & + 0.0042018532831048895_r8, 0.0042201300875408087_r8, & + 0.004228725934871602_r8, 0.0042242753421551415_r8, & + 0.0042366531304091262_r8, 0.0042587708176170663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,18) / & + 0.0023057099111253331_r8, 0.0030184698014719996_r8, & + 0.0029878931665920003_r8, 0.0035454534708053331_r8, & + 0.0034597462366720002_r8, 0.0035087151807146658_r8, & + 0.0032008177331199999_r8, 0.0021664009094826664_r8, & + 0.0022561387000319998_r8, 0.0023023742782293335_r8, & + 0.0023215541673813332_r8, 0.0023252604261546662_r8, & + 0.0022890317466453332_r8, 0.0023489341540693333_r8, & + 0.0024049449897813333_r8, 0.0024584077725866662_r8, & + 0.0024946364520959997_r8, 0.0025330888868693334_r8, & + 0.0026141169693013333_r8, 0.0027293816171519996_r8, & + 0.002831257405183999_r8, 0.0029619493551786662_r8, & + 0.0030967181898239999_r8, 0.0032597009193813336_r8, & + 0.003446450033322666_r8, 0.003611054251093333_r8, 0.0038193459941546657_r8, & + 0.0041374356533760001_r8, 0.0041438752779946655_r8, & + 0.0041574031225173318_r8, 0.0041845514680320002_r8, & + 0.004218973346389333_r8, 0.0042463533330773335_r8, & + 0.0042476968518826664_r8, 0.004267803305727999_r8, & + 0.0042831379514026661_r8, 0.0043605524315306664_r8, & + 0.0043734316807680007_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,19) / & + 0.0031387628599999998_r8, 0.0030618410902023912_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,5,19) / & + 0.003184418380924136_r8, 0.0031871891407940678_r8, & + 0.0032011620331111111_r8, 0.0034698929742962956_r8, & + 0.0043243471491111098_r8, 0.0047605325817037039_r8, & + 0.0051574690911111113_r8, 0.0053556870391111107_r8, & + 0.0054132506472592589_r8, 0.005516302125185185_r8, & + 0.0056182206359259258_r8, 0.0058167117718518511_r8, & + 0.0060438737725925923_r8, 0.0061055733349999995_r8, & + 0.0061751218499999988_r8, 0.0062387264474999997_r8, & + 0.0064083387074999991_r8, 0.0065154072266666663_r8, & + 0.0066429596399999995_r8, 0.0069155373999999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,19) / & + 0.0031850476434567899_r8, 0.0032113957175308647_r8, & + 0.0032507606646913589_r8, 0.0034040509861728396_r8, & + 0.0038753024696296305_r8, 0.0043412473585185182_r8, & + 0.0049907135170370364_r8, 0.0052837965501234575_r8, & + 0.0054573980009876531_r8, 0.0055794034513580249_r8, & + 0.0056404870697530857_r8, 0.0057264291715432101_r8, & + 0.0058710408072222215_r8, 0.0059785034744268073_r8, & + 0.0060731888114991181_r8, 0.0061579814042680764_r8, & + 0.0063633869285802469_r8, 0.0064962498985978827_r8, & + 0.0066745773288888867_r8, 0.0068716331881481475_r8, & + 0.0070543917503703693_r8, 0.0076625607696296297_r8, & + 0.007637959988888888_r8, 0.0078381914844444442_r8, & + 0.0081432605800000005_r8, 0.0083008913999999996_r8, & + 0.008396410102222222_r8, 0.0087185305619259263_r8, 0.008920259737481482_r8, & + 0.0090774051982222236_r8, 0.0092247810704444468_r8, 0.00929419299148148_r8, & + 0.0092498727574074069_r8, 0.0093071936859259255_r8, & + 0.0093973001371428552_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,19) / & + 0.0028107108479012346_r8, 0.0028524424992592591_r8, & + 0.0028971232859259259_r8, 0.0029127564765432093_r8, & + 0.0030906845585185186_r8, 0.0032184033807407413_r8, & + 0.0035769590666666663_r8, 0.0040839052567901235_r8, & + 0.0046442687002469134_r8, 0.0050367348197530859_r8, & + 0.0053062709950617275_r8, 0.0054359127644444437_r8, & + 0.0055706762296296296_r8, 0.0057056708182716045_r8, & + 0.0057972326869135801_r8, 0.0058561784133333338_r8, & + 0.0059605999911111112_r8, 0.0060506734246913579_r8, & + 0.0061402291417283952_r8, 0.0062421730760493831_r8, & + 0.0063548503837037029_r8, 0.0066424419234567909_r8, & + 0.0066912182177777781_r8, 0.0068786038716049389_r8, & + 0.0071713910666666662_r8, 0.0073428292019753084_r8, & + 0.0075522085639506183_r8, 0.0080288406014814798_r8, & + 0.0084606624232098776_r8, 0.0087871381733333337_r8, & + 0.0090704493066666673_r8, 0.0092254222069135805_r8, & + 0.0092903251404320968_r8, 0.0093438394656172839_r8, & + 0.0093998180621164031_r8, 0.0094713455552063487_r8, & + 0.0096188442530370372_r8, 0.0099253350351999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,19) / & + 0.002064080388148148_r8, 0.0021503079274074071_r8, & + 0.0021920303338271606_r8, 0.0022389576404938274_r8, & + 0.0023043193540740739_r8, 0.002007057608888889_r8, & + 0.0018394098982716046_r8, 0.0022186280212345682_r8, & + 0.0027803782054320993_r8, 0.0033718786009876538_r8, & + 0.0038231055481481474_r8, 0.0041533624780246909_r8, & + 0.0046583302513580234_r8, 0.0049631358661728396_r8, & + 0.0051686878237037041_r8, 0.0053504987797530863_r8, & + 0.0056362320869135793_r8, 0.0058616883965432092_r8, & + 0.0059935859308641983_r8, 0.0060988765328395048_r8, & + 0.0061886911081481481_r8, 0.0062824162923456788_r8, & + 0.0064108099950617274_r8, 0.00653047878728395_r8, 0.0066635284720370381_r8, & + 0.0067852357731481476_r8, 0.0069660609876543199_r8, & + 0.007541034900432099_r8, 0.0080886191977865961_r8, & + 0.0085795858422839499_r8, 0.0088950781104761897_r8, & + 0.0090865937423703705_r8, 0.0092193852622222214_r8, & + 0.009320151391407407_r8, 0.0093826442685714297_r8, & + 0.0094357584200000007_r8, 0.0095297503206666651_r8, & + 0.009870772056666666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,19) / & + 0.0014109978599521661_r8, 0.0014822952670987656_r8, & + 0.0015036637862962964_r8, 0.0015318192458024693_r8, & + 0.0015225662182098765_r8, 0.0013389998795061728_r8, & + 0.001359587201419753_r8, 0.0014724228286419753_r8, & + 0.0016399064416049382_r8, 0.0018892701616049382_r8, & + 0.0021587046425925924_r8, 0.0023847133372839509_r8, & + 0.0029035323393827167_r8, 0.003326018259250441_r8, & + 0.0036444588373104052_r8, 0.0039806274099470898_r8, & + 0.0045281205786243386_r8, 0.0049732174713580249_r8, & + 0.0052924960370370373_r8, 0.0056174961629417985_r8, & + 0.0058124828729453253_r8, 0.0059271573514074064_r8, & + 0.0060801042234320994_r8, 0.0061855531119576722_r8, & + 0.0062752622949700165_r8, 0.0063641918655449742_r8, & + 0.0064941732543386237_r8, 0.0069732868314074077_r8, & + 0.0074789109293227508_r8, 0.0080791779696649021_r8, & + 0.0084919184038888904_r8, 0.0088230440608042318_r8, & + 0.0089491008247222208_r8, 0.0091678720534523802_r8, & + 0.0093256581388888871_r8, 0.0094049623749999992_r8, & + 0.0094021542250000006_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,19) / & + 0.00097846885843621396_r8, 0.0010185067600617284_r8, & + 0.0010182295770017637_r8, 0.001082819998589065_r8, & + 0.0010906002744973545_r8, 0.001128463579541446_r8, & + 0.0011805046577777775_r8, 0.0013119062011604937_r8, & + 0.0014698240764938269_r8, 0.0016134837146543212_r8, & + 0.0018669794598148146_r8, 0.0021190380793209879_r8, & + 0.0027004084988536156_r8, 0.0031803442811111108_r8, & + 0.0034992391818518521_r8, 0.0038216777334673718_r8, & + 0.0044071140768518506_r8, 0.0046543686632380945_r8, & + 0.0048190724553333324_r8, 0.0050650039920000006_r8, & + 0.0053215995649629625_r8, 0.0054421322966666666_r8, & + 0.0054844251157777774_r8, 0.0055213082592592581_r8, & + 0.0056458445114814801_r8, 0.0057238556118518512_r8, & + 0.0057924022066666659_r8, 0.0061194736774999982_r8, & + 0.0064727649488888882_r8, 0.0069800312450000006_r8, & + 0.0075831282600000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,11,19) / & + 0.00057543789929041236_r8, 0.0005920909159876543_r8, & + 0.00055799558364197528_r8, 0.00054512547395061718_r8, & + 0.00055036157586419744_r8, 0.00056705281664902994_r8, & + 0.00055359350723104038_r8, 0.00060712202999999997_r8, & + 0.00067989389178130515_r8, 0.00077557107865961199_r8, & + 0.00093765993996472658_r8, 0.0010200696498941799_r8, & + 0.0012699996223633154_r8, 0.0014518861888007054_r8, & + 0.0016401651347883596_r8, 0.001837807387275132_r8, & + 0.0021999037194708995_r8, 0.002433446708677249_r8, & + 0.0029769310409964722_r8, 0.0034700611661375668_r8, & + 0.0036890763952028213_r8, 0.0037222105841446204_r8, & + 0.0039210586407231037_r8, 0.0042501280912962966_r8, & + 0.0045705290915343914_r8, 0.0047860404889947085_r8, & + 0.0049375744372927698_r8, 0.0053040319040299818_r8, & + 0.0056329903493086411_r8, 0.0060103998651869477_r8, 0.00648248550621693_r8, & + 0.0070771810514920642_r8, 0.0075711060102010581_r8, & + 0.0079420375648148137_r8, 0.0082617797641481461_r8, & + 0.0085848889699999993_r8, 0.0090089196199999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,19) / & + 0.00033963129728395062_r8, 0.00034502109629629628_r8, & + 0.00031737873086419755_r8, 0.00024567498962962958_r8, & + 0.00024137609333333332_r8, 0.00024198625925925924_r8, & + 0.00023517273975308639_r8, 0.00028601065530864194_r8, & + 0.00030774550518518519_r8, 0.00033591483209876536_r8, & + 0.00038610560197530861_r8, 0.00039263252839506172_r8, & + 0.00041409927506172841_r8, 0.00045804971160493826_r8, & + 0.00050613263555555541_r8, 0.0005474852444444444_r8, & + 0.00072148422765432095_r8, 0.0010025211061728393_r8, & + 0.0012982851713580247_r8, 0.001713040837037037_r8, & + 0.0020208140770370375_r8, 0.0023797395604938268_r8, & + 0.0025728755659259256_r8, 0.0030142474088888892_r8, & + 0.003600857232098765_r8, 0.004064139578765431_r8, 0.0045093388261728392_r8, & + 0.0051758803856790129_r8, 0.0057249002898765427_r8, & + 0.006033626914135802_r8, 0.0067109318930246905_r8, & + 0.0074621201073456784_r8, 0.0078684488467019396_r8, & + 0.0081883083576984126_r8, 0.0085241353628835986_r8, & + 0.0088014167163527335_r8, 0.0090736599581666671_r8, & + 0.0094350095800000006_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,19) / & + 0.00023802942567901231_r8, 0.00024159797185185181_r8, & + 0.00022424522271604936_r8, 0.00016729640296296296_r8, & + 0.00016900671654320986_r8, 0.00016608531604938272_r8, & + 0.00016629794962962964_r8, 0.00021024838617283948_r8, & + 0.00023046706617283949_r8, 0.00024656250370370372_r8, & + 0.00025699079407407404_r8, 0.00026318490271604939_r8, & + 0.00027486125975308639_r8, 0.00029549596197530855_r8, & + 0.00031277475160493826_r8, 0.00033022919506172841_r8, & + 0.00039223499604938266_r8, 0.00056802749728395048_r8, & + 0.00080158237283950602_r8, 0.0011359810350617281_r8, & + 0.0015527336074074075_r8, 0.0020543177333333328_r8, & + 0.0024869900893827166_r8, 0.0029754279130864199_r8, & + 0.0035292736750617282_r8, 0.0040963951683950619_r8, & + 0.0046164969056790121_r8, 0.0055812986637037041_r8, & + 0.0060789259560493818_r8, 0.0065351359249382719_r8, & + 0.0074699008785185173_r8, 0.0080492164454320989_r8, & + 0.008398074191111108_r8, 0.0086338108720987652_r8, & + 0.0089025797175308619_r8, 0.0090705752689506178_r8, & + 0.0092257911790035278_r8, 0.0095737080087083329_r8, & + 0.0098762635499999984_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,19) / & + 0.00020232547407407405_r8, 0.00020428540098765431_r8, & + 0.00019530856592592591_r8, 0.00019358900740740738_r8, & + 0.00019537328049382715_r8, 0.00018828241283950616_r8, & + 0.00017887106567901235_r8, 0.00017701283308641975_r8, & + 0.00017864918716049383_r8, 0.00018643342518518514_r8, & + 0.00018785714567901232_r8, 0.00019612212049382715_r8, & + 0.00023843620296296294_r8, 0.00027088593629629631_r8, & + 0.00029112310617283957_r8, 0.0003025128701234568_r8, & + 0.00034843247851851846_r8, 0.00044408060987654322_r8, & + 0.00062621513876543204_r8, 0.0010068384923456789_r8, & + 0.0015199603012345676_r8, 0.0020991279491358022_r8, & + 0.0027903442488888888_r8, 0.003401277504691358_r8, & + 0.0039960690982716049_r8, 0.0045558038859259261_r8, & + 0.0050456007155555548_r8, 0.0058531183387654315_r8, & + 0.0063444128483950623_r8, 0.0071603156306172836_r8, & + 0.0079384066153086429_r8, 0.0083829124923456792_r8, & + 0.0086558970296296295_r8, 0.008794829961975309_r8, & + 0.0090253247629629614_r8, 0.0091552623703703723_r8, & + 0.0092699504520987654_r8, 0.0094829862655773801_r8, & + 0.0097661216666666655_r8, 0.0098551088200000015_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,19) / & + 0.00022109269876543209_r8, 0.00022046404296296299_r8, & + 0.00021646098469135799_r8, 0.00024114496987654325_r8, & + 0.00022777678913580242_r8, 0.00022195247802469134_r8, & + 0.00020550573283950618_r8, 0.00018949349975308638_r8, & + 0.0001813487091358025_r8, 0.00018527780790123454_r8, & + 0.00018908672246913583_r8, 0.00020210359555555558_r8, & + 0.00023184456197530864_r8, 0.00025783208345679014_r8, & + 0.00029793662567901235_r8, 0.00032178856641975305_r8, & + 0.00035385925728395059_r8, 0.00041214859308641975_r8, & + 0.00058544496098765432_r8, 0.001108865631111111_r8, & + 0.0016996264316049381_r8, 0.0024906603298765423_r8, & + 0.0033544981170370359_r8, 0.0041376460829629629_r8, & + 0.0048410194765432096_r8, 0.0052953619679012333_r8, & + 0.005756961735802469_r8, 0.0063217627496296291_r8, & + 0.0067454860054320985_r8, 0.0075826059209876534_r8, & + 0.0080588034464197517_r8, 0.0083471334256172841_r8, & + 0.0086055398508641974_r8, 0.0087084290801234549_r8, & + 0.0089826072049735452_r8, 0.0091437565494268073_r8, & + 0.0092180827164550262_r8, 0.0093710105042857129_r8, & + 0.009600003993333335_r8, 0.0099842837200000006_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,19) / & + 0.00025071089869149629_r8, 0.00024969020758364445_r8, & + 0.00024896114250660739_r8, 0.00026586573142617283_r8, & + 0.00022351191088416789_r8, 0.00022760439618326915_r8, & + 0.00025009848402678515_r8, 0.0002278474178756148_r8, & + 0.00020635457940456297_r8, 0.00018486174093351111_r8, & + 0.00018406462978261731_r8, 0.00020931944405118029_r8, & + 0.00025282032698105677_r8, 0.00027416735243670121_r8, & + 0.0003138576552305975_r8, 0.00033578793274787155_r8, & + 0.00036927632195310619_r8, 0.00044905548311634566_r8, & + 0.0007482735116000395_r8, 0.0013800910282280295_r8, & + 0.002056245422407565_r8, 0.0030327260239878914_r8, & + 0.0040799745423792787_r8, 0.0050918682649682169_r8, & + 0.0058293321716927212_r8, 0.0062643798844622609_r8, & + 0.0067261794251252142_r8, 0.0072336864856845425_r8, & + 0.0078343875048245918_r8, 0.0083951746412137887_r8, & + 0.0086448259653266555_r8, 0.0087872838926843083_r8, & + 0.0090050592765206564_r8, 0.0091962456569974656_r8, & + 0.009512174941965117_r8, 0.0097279913539775036_r8, & + 0.0096817509222271985_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,19) / & + 0.00025031097560478024_r8, 0.00024795551547097277_r8, & + 0.0002466095382516543_r8, 0.00025329863715978267_r8, & + 0.00023322114363828145_r8, 0.00023158965609971357_r8, & + 0.00025494032149546669_r8, 0.00026332208872485924_r8, & + 0.00026023245919869626_r8, 0.00024389719021878514_r8, & + 0.00022980521660440498_r8, 0.00026070151186603454_r8, & + 0.00030010193592244934_r8, 0.00032634849169916046_r8, & + 0.00033524009878435564_r8, 0.00034485567846479013_r8, & + 0.00040161105121272104_r8, 0.00056518807054838527_r8, & + 0.0010785356245587752_r8, 0.002078617092106667_r8, 0.003256642866126736_r8, & + 0.0046058116829425779_r8, 0.0056418266635274274_r8, & + 0.0064790958715233576_r8, 0.0070340259641729986_r8, & + 0.0074656359925011351_r8, 0.0078317315993586562_r8, & + 0.0083115214940601284_r8, 0.0088048119481432489_r8, & + 0.0090481585113177682_r8, 0.0091971235203861332_r8, & + 0.0093634944621315951_r8, 0.0095971409578781454_r8, & + 0.0098324728385194484_r8, 0.010171141177880627_r8, 0.010397491132395853_r8, & + 0.0105778677027344_r8, 0.010693612195023638_r8, 0.010731531814710865_r8, & + 0.0108041285490784_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,19) / & + 0.00025892034581846923_r8, 0.00025616678237159508_r8, & + 0.00025422434614162968_r8, 0.00025852545493655312_r8, & + 0.00025946465487192101_r8, 0.00025977416394153087_r8, & + 0.00028256043510074081_r8, 0.00031889039623701732_r8, & + 0.0003647937930781236_r8, 0.00040859466279119017_r8, & + 0.00045446604145268156_r8, 0.00049044380261319511_r8, & + 0.00055334885282976791_r8, 0.00051785136436347662_r8, & + 0.0005150444372839111_r8, 0.00054011467192231126_r8, & + 0.00068363082568244956_r8, 0.0012819118572383408_r8, & + 0.0022956394420229928_r8, 0.0038684151156088498_r8, & + 0.0054089911732287414_r8, 0.0065458286586323562_r8, & + 0.0071591582346072101_r8, 0.0076588873093087016_r8, & + 0.0079798482144941424_r8, 0.008312954682480141_r8, & + 0.0085546705931189137_r8, 0.0089996592534056109_r8, & + 0.0093475047567409594_r8, 0.009658764153503115_r8, & + 0.0097768365271960131_r8, 0.0099741432227090365_r8, & + 0.010232167059498292_r8, 0.010461705389156901_r8, 0.010771183965262382_r8, & + 0.011010212254657537_r8, 0.011156163162276096_r8, 0.011277079588890165_r8, & + 0.011345165512729802_r8, 0.011409507008478321_r8, 0.011402970497109956_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,19) / & + 0.00028305322618097777_r8, 0.00028247349607103206_r8, & + 0.00028600762001050861_r8, 0.00028598532269858757_r8, & + 0.0003028309418548938_r8, 0.00033602049064928392_r8, & + 0.00041928980201821225_r8, 0.00062075716388029626_r8, & + 0.00079712890117530845_r8, 0.00097982192639992061_r8, & + 0.0011176416113835455_r8, 0.0012063849128290764_r8, & + 0.0014336837105516241_r8, 0.001388364424072217_r8, & + 0.0014136161298227356_r8, 0.0015116685589952788_r8, & + 0.0021043534071670516_r8, 0.0034163606865658465_r8, & + 0.0046851000321819648_r8, 0.0058955765017485433_r8, & + 0.0068944291838730258_r8, 0.0075753333466601859_r8, & + 0.0080361741894431592_r8, 0.0084120288278392869_r8, & + 0.0086058147657445908_r8, 0.0087832344766998905_r8, & + 0.0090362420750673359_r8, 0.0095182207695514061_r8, & + 0.0098670287685873759_r8, 0.010420113590787476_r8, 0.010563819766118239_r8, & + 0.010696511069360037_r8, 0.011033980885284185_r8, 0.011262829346185242_r8, & + 0.01151844991079343_r8, 0.011676063636268625_r8, 0.011802052208280461_r8, & + 0.011876050043521637_r8, 0.011929455266017285_r8, 0.011935860168866589_r8, & + 0.011923005163331387_r8, 0.0119273672820224_r8, 0.011924658158623999_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,19) / & + 0.00029447399691496297_r8, 0.00030097214014390119_r8, & + 0.00032325647032256796_r8, 0.00034423884693837031_r8, & + 0.00037650869596079014_r8, 0.00044633758035476543_r8, & + 0.00067472580936898767_r8, 0.0011100897811224693_r8, & + 0.0014180947954229135_r8, 0.0016811126642922471_r8, & + 0.0018625956912872099_r8, 0.0020252120162060246_r8, & + 0.0021442128967688891_r8, 0.0021132217521385682_r8, & + 0.0021750064234477033_r8, 0.002333077535481877_r8, & + 0.0033583427170666663_r8, 0.0046715488785813329_r8, & + 0.0057050442666170863_r8, 0.006702166326990321_r8, & + 0.0075621647781890355_r8, 0.0082697997887764951_r8, & + 0.0088512949703029274_r8, 0.009276779497554271_r8, & + 0.0094282652819691355_r8, 0.009622873918934358_r8, & + 0.0098771936917910735_r8, 0.010395492022466252_r8, 0.01079579167790406_r8, & + 0.011214016028838255_r8, 0.011395656402899648_r8, 0.011522721009244244_r8, & + 0.011814696965793214_r8, 0.012053700724662556_r8, 0.012275646442392173_r8, & + 0.012419011000844034_r8, 0.012468967830895041_r8, 0.012472816847361113_r8, & + 0.012467082294084499_r8, 0.012450898691621999_r8, 0.012404420693115557_r8, & + 0.012401700540136_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,19) / & + 0.00030823641362619263_r8, 0.0003168156786228938_r8, & + 0.00034461661138723956_r8, 0.00036451634014520351_r8, & + 0.00041593790997003174_r8, 0.00047024610081770229_r8, & + 0.00071907028323537703_r8, 0.0011600549623679019_r8, & + 0.0015103333182001234_r8, 0.0018424237359580364_r8, & + 0.0020290696391311578_r8, 0.0021199853445537111_r8, & + 0.0021628985238256954_r8, 0.0022224056144270589_r8, & + 0.0023215520468038067_r8, 0.0025632053777158268_r8, & + 0.0034557376210831016_r8, 0.0045583252939167575_r8, & + 0.0056638265978509452_r8, 0.0067200718487330224_r8, & + 0.007589555074715976_r8, 0.0082822563050335505_r8, & + 0.0088441465622650615_r8, 0.0093865380499398975_r8, & + 0.0097958744376258448_r8, 0.010077451947788535_r8, 0.01035981123763987_r8, & + 0.011074022083777954_r8, 0.011635619076389943_r8, 0.011955949090241188_r8, & + 0.012138117759720358_r8, 0.012266914126739772_r8, 0.01238521490696653_r8, & + 0.012548998724101_r8, 0.012646650931969884_r8, 0.012720849943651896_r8, & + 0.012791160330654985_r8, 0.01299934709490649_r8, 0.012981704544320885_r8, & + 0.012942456092389828_r8, 0.012863379660300798_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,19) / & + 0.00030754436713098271_r8, 0.00030775816668284449_r8, & + 0.00033073533028586666_r8, 0.00033294878446984689_r8, & + 0.00035639127650927404_r8, 0.00038931640749598028_r8, & + 0.00057308341054324952_r8, 0.00098940144379494328_r8, & + 0.0013718259598544393_r8, 0.0017041207692244738_r8, & + 0.0018956097090272197_r8, 0.0020055655609052835_r8, & + 0.0020810996849336106_r8, 0.0022583143605385287_r8, & + 0.0024664042067211261_r8, 0.0027854434438757333_r8, & + 0.0036028368599758027_r8, 0.0045919364691092935_r8, & + 0.0056528727276683264_r8, 0.006727089711331239_r8, & + 0.0075678753136938278_r8, 0.0083039620178653045_r8, & + 0.0089287094612937289_r8, 0.0095486652794716052_r8, & + 0.010010899910596661_r8, 0.01042833724738457_r8, 0.01079144434511115_r8, & + 0.01152892860664737_r8, 0.01215886226126397_r8, 0.012531207655592845_r8, & + 0.012743580140361766_r8, 0.012854536448378102_r8, 0.012915690980488198_r8, & + 0.013016308508116487_r8, 0.013085967860635204_r8, 0.01305826314106511_r8, & + 0.013167827737196642_r8, 0.013522173968376624_r8, 0.013521608028386402_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,19) / & + 0.00031191257309929872_r8, 0.00030141846468519507_r8, & + 0.00030420677800604442_r8, 0.00032928691397333335_r8, & + 0.00037339298223750542_r8, 0.00042305097086468277_r8, & + 0.00068674551184405217_r8, 0.0012364289803083398_r8, & + 0.0016983503860570866_r8, 0.0020333532607608256_r8, & + 0.0022013182438397295_r8, 0.0023282275916075611_r8, & + 0.0024355611758385305_r8, 0.0026743106263022614_r8, & + 0.0028922134781918809_r8, 0.0032024357689035849_r8, & + 0.0040321914772619063_r8, 0.0049452148033164636_r8, & + 0.0059049786794094601_r8, 0.0070136016138802552_r8, & + 0.0079171326011983033_r8, 0.0086912460406893006_r8, & + 0.0093110282141500057_r8, 0.0099782231348920884_r8, & + 0.010510293357428938_r8, 0.011038134610903387_r8, 0.011525033831333135_r8, & + 0.012398485623576176_r8, 0.013143782685142753_r8, 0.013451279710159894_r8, & + 0.013644779692773865_r8, 0.013689055383625958_r8, 0.013763551806229806_r8, & + 0.014004622621347078_r8, 0.013992337074649598_r8, 0.014093717797568427_r8, & + 0.013981080968661842_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,19) / & + 0.00029528227114392096_r8, 0.0002888157422756937_r8, & + 0.00028793640257603943_r8, 0.0003393574825512098_r8, & + 0.00038934456240079007_r8, 0.00045794658727689864_r8, & + 0.00084534307403537779_r8, 0.0015572023816632296_r8, & + 0.0021089406941355651_r8, 0.0025150738806482167_r8, & + 0.0026864637106855391_r8, 0.0028331631797329799_r8, & + 0.0030211609344054217_r8, 0.0032626672345323509_r8, & + 0.003539925940755446_r8, 0.0038689120463875444_r8, & + 0.0047200452341375704_r8, 0.005696396395118368_r8, & + 0.0066531450449484148_r8, 0.007606044892554586_r8, & + 0.0084884555170061625_r8, 0.0092185103922653219_r8, & + 0.0097706707877934906_r8, 0.010380741790280281_r8, 0.010993128838252932_r8, & + 0.011587268911042595_r8, 0.012137341889406818_r8, 0.013249615196793064_r8, & + 0.014045583527875483_r8, 0.014451802957320214_r8, 0.014685570714352671_r8, & + 0.014754542282772886_r8, 0.014833987242560886_r8, 0.015008827031458312_r8, & + 0.015005588355702966_r8, 0.015145325495653448_r8, 0.015123531942952984_r8, & + 0.015117554003244799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,19) / & + 0.00031641162896553076_r8, 0.00030041879545758028_r8, & + 0.00028628852487130863_r8, 0.0002929405353058765_r8, & + 0.00031580944696829626_r8, 0.000387048977664395_r8, & + 0.000659697380086716_r8, 0.0013252065166583704_r8, & + 0.0019921160764794074_r8, 0.0025287442614103698_r8, & + 0.0027774314220357535_r8, 0.0029784341710196545_r8, & + 0.0032059609363468632_r8, 0.0034972349679859753_r8, & + 0.0038168255577276048_r8, 0.0041765242693315554_r8, & + 0.0050191869469501226_r8, 0.0058598890320195546_r8, & + 0.0067691838478437516_r8, 0.0076533130578765414_r8, & + 0.0083913081018362461_r8, 0.0091765534262301229_r8, & + 0.0098722906986397022_r8, 0.010530549143837676_r8, 0.011209048956576416_r8, & + 0.011817301788597061_r8, 0.012464640433507972_r8, 0.01384031640352992_r8, & + 0.014573986890480416_r8, 0.015106141961003721_r8, 0.015354560152838767_r8, & + 0.015449209808768058_r8, 0.015556689092190752_r8, 0.015653336339351277_r8, & + 0.015684629234490998_r8, 0.015705120552574219_r8, 0.015700334105968293_r8, & + 0.015634552724886668_r8, 0.015676617938239996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,19) / & + 0.0003757421015190863_r8, 0.00036223754051213083_r8, & + 0.00033294236293572338_r8, 0.00038431978743410619_r8, & + 0.00042893859635817282_r8, 0.00049616492007771942_r8, & + 0.00051983522704297346_r8, 0.0011232333999089085_r8, & + 0.0017939555858724598_r8, 0.0024049619460982706_r8, & + 0.0027041249873162344_r8, 0.0029617521495117864_r8, & + 0.003303265216855891_r8, 0.0036413950977980392_r8, & + 0.0039753854624524363_r8, 0.0042909824014329733_r8, & + 0.0050147950150495743_r8, 0.0058182847196092393_r8, & + 0.0067661380184314357_r8, 0.007646618743898736_r8, & + 0.0083995147627237247_r8, 0.0091972113165048226_r8, & + 0.0099352195568558257_r8, 0.010643422193922877_r8, 0.011353126061776577_r8, & + 0.012049030335324279_r8, 0.012790053345386207_r8, 0.014382341182225509_r8, & + 0.015350015236967579_r8, 0.016037837925290482_r8, 0.016259741235167539_r8, & + 0.016710555736140383_r8, 0.016633896853946697_r8, 0.016728901196277898_r8, & + 0.016341260021704298_r8, 0.016214309003147839_r8, 0.016186511436317601_r8, & + 0.016144873730728_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,19) / & + 0.00036054294065384561_r8, 0.00037201648058286986_r8, & + 0.00037161541315392112_r8, 0.00046563076919422982_r8, & + 0.00053153809738226286_r8, 0.00058521740159871345_r8, & + 0.00062990853749907583_r8, 0.0011756072681882032_r8, & + 0.0017861867592694858_r8, 0.002383928315448279_r8, 0.002728591173265689_r8, & + 0.0030311828132215998_r8, 0.0033999663744178669_r8, & + 0.0037774353117565516_r8, 0.0041109019327689074_r8, & + 0.0044228822590624186_r8, 0.0051182406743823647_r8, & + 0.0059453321178684375_r8, 0.0069418452666689702_r8, & + 0.0077734405875006518_r8, 0.0086063684960705697_r8, & + 0.0093645988046951456_r8, 0.010140286012690666_r8, 0.010895584628291115_r8, & + 0.011700249562376362_r8, 0.012526336853889987_r8, 0.013369146102446187_r8, & + 0.014953754449_r8, 0.016119693004747599_r8, 0.016903042592237998_r8, & + 0.01734708202687904_r8, 0.017699046715560853_r8, 0.0177546115861008_r8, & + 0.017761779292874667_r8, 0.016917201336956803_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,19) / & + 0.00038171636319335781_r8, 0.00038381750434462222_r8, & + 0.00041824788586336_r8, 0.00044999772537600004_r8, & + 0.00050349745494848003_r8, 0.00055562219147120009_r8, & + 0.00083718326825159999_r8, 0.0012074938964256_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,19) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,19) / & + 0.0018995945832689567_r8, 0.0015295063656355552_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,40,19) / & + 0.0018995945832689567_r8, 0.0015295063656355552_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,19) / & + 0.0015393490197819792_r8, 0.0015499577734008221_r8, 0.0018028519285571_r8, & + 0.0018058439769462517_r8, 0.0019708722060449969_r8, & + 0.0020993378521310816_r8, 0.0020805289172366221_r8, & + 0.0020047877041609141_r8, 0.0019706921865361065_r8, & + 0.0018392903601843198_r8, 0.0017556557793813334_r8, & + 0.001793366762709333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,19) / & + 0.001450270128264217_r8, 0.0011844497806098172_r8, & + 0.0012663226181669925_r8, 0.0014982601413247997_r8, & + 0.001680204515885748_r8, 0.0020128954945277627_r8, & + 0.0019429988502832195_r8, 0.001930505890622133_r8, & + 0.0018525974653022163_r8, 0.0017911981646224629_r8, & + 0.0017744599579927786_r8, 0.001791540646002146_r8, & + 0.0018339603896896251_r8, 0.0018608118431404151_r8, & + 0.0019348599705624973_r8, 0.0020073208109502101_r8, & + 0.0020807490470750663_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,19) / & + 0.00093031764422210367_r8, 0.0007326147290213662_r8, & + 0.00087562919363307979_r8, 0.0010666659945679539_r8, & + 0.0011766568799546995_r8, 0.0015978939031363951_r8, & + 0.0017332335651393845_r8, 0.0018020875085433682_r8, & + 0.0017951144021731557_r8, 0.0018037978931247413_r8, & + 0.0018293220938006122_r8, 0.0019101925852891128_r8, & + 0.0019950101181192429_r8, 0.0020424184702337055_r8, & + 0.0021131143662637825_r8, 0.0021302511040886913_r8, & + 0.0021934679832908794_r8, 0.0022742758233295123_r8, & + 0.0024058532657679796_r8, 0.0025669978069422462_r8, & + 0.0027151697389070219_r8, 0.0028169047294875254_r8, & + 0.0027405294795269921_r8, 0.0030307356941703116_r8, & + 0.0032681502308693328_r8, 0.0035245105660081785_r8, & + 0.0036640384774347841_r8, 0.0037838969661756049_r8, & + 0.003890072378265442_r8, 0.003956119536715378_r8, 0.0040210483667851857_r8, & + 0.0040763069455680007_r8, 0.0041100541490389332_r8, & + 0.0041278158350762668_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,19) / & + 0.0014822683259927178_r8, 0.0017782981252182652_r8, & + 0.0018446286407796939_r8, 0.001793629447645788_r8, & + 0.0017907435516594306_r8, 0.002020217374699615_r8, & + 0.0018375491771881612_r8, 0.0017661232515258211_r8, & + 0.0018562624089746966_r8, 0.0019184895411805234_r8, & + 0.0019474386852936692_r8, 0.0020218406911919405_r8, & + 0.0020960623285910655_r8, 0.0021511649050805731_r8, & + 0.002220516593002719_r8, 0.0022572666747039871_r8, & + 0.0023478567534007309_r8, 0.0024078743714920042_r8, & + 0.0025077985200196214_r8, 0.0026359052465390097_r8, & + 0.0027540917056052944_r8, 0.0028672278466954542_r8, & + 0.0029192190665746705_r8, 0.0031327302774403162_r8, & + 0.0033181040024389797_r8, 0.0035174111939967742_r8, & + 0.0036792468298567104_r8, 0.0038781481922914246_r8, & + 0.0039599453066547349_r8, 0.0040398034596522145_r8, & + 0.0041035637241007934_r8, 0.0041680003704211753_r8, & + 0.0042017180067305286_r8, 0.0042162747108715343_r8, & + 0.0042197841665263724_r8, 0.0042163278551614622_r8, & + 0.0042350298139167998_r8, 0.0042587708176170663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,19) / & + 0.0022964442641919994_r8, 0.0030143002603519992_r8, & + 0.0029936841959253332_r8, 0.0035451755013973327_r8, & + 0.0034612750684160005_r8, 0.0035095954171733327_r8, & + 0.0031916447426559996_r8, 0.0021657059859626665_r8, & + 0.0022569726082560001_r8, 0.002302837560576_r8, 0.0023238705791146664_r8, & + 0.0023264186320213335_r8, 0.002290884876032_r8, 0.0023487025128959998_r8, & + 0.0024055009285973328_r8, 0.0024597512913919995_r8, & + 0.0024960262991359987_r8, 0.0025338764668586672_r8, & + 0.0026154604881066662_r8, 0.0027311420900693324_r8, & + 0.0028329252216319997_r8, 0.0029638951410346664_r8, & + 0.0030974131133439998_r8, 0.0032614613922986664_r8, & + 0.0034500636356266661_r8, 0.0036152701204479991_r8, & + 0.0038250443670186664_r8, 0.0041427170721280012_r8, & + 0.0041436899650560003_r8, 0.004156105931946665_r8, & + 0.0041845514680320002_r8, 0.0042177688122880001_r8, & + 0.0042456120813226667_r8, 0.0042456584095573327_r8, & + 0.0042662281457493323_r8, 0.0042808678679039985_r8, & + 0.0043604134468266656_r8, 0.0043734316807680007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,20) / & + 0.0031522766485185178_r8, 0.0031835407185185184_r8, & + 0.0031786593911111113_r8, 0.0034209437996296286_r8, & + 0.0042365900348148144_r8, 0.0047873549211111116_r8, & + 0.005163515280740741_r8, 0.0053020784155555544_r8, & + 0.0053793892118518512_r8, 0.0054387555829629626_r8, & + 0.0055397588448148141_r8, 0.005693277978518518_r8, & + 0.0059211818855555544_r8, 0.0060173592896296283_r8, & + 0.0060785214899999997_r8, 0.0061565672588888886_r8, & + 0.0063519650962499995_r8, 0.0064998063933333341_r8, & + 0.0066377177599999983_r8, 0.0069190319866666659_r8, & + 0.0071888639999999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,20) / & + 0.0031128539204938266_r8, 0.0031461449432098765_r8, & + 0.0031712541955555553_r8, 0.0033387354972839504_r8, & + 0.0038553888725925932_r8, 0.0043990744474074073_r8, & + 0.0049969261155555552_r8, 0.0052359632395061724_r8, & + 0.0054124491111111105_r8, 0.0055127474464197529_r8, & + 0.0055782016093827167_r8, 0.0055876418469753084_r8, & + 0.0056847818802469125_r8, 0.0058382656850793652_r8, & + 0.005933270797962964_r8, 0.0060539652830687834_r8, & + 0.0063164231374250434_r8, 0.0064857468232804227_r8, & + 0.0066823153422222214_r8, 0.0068580569962962967_r8, & + 0.0070620742940740748_r8, 0.0075533410688888884_r8, & + 0.0074560473385185191_r8, 0.0076974234318518504_r8, & + 0.008024902257777777_r8, 0.0081870538525925917_r8, & + 0.0083218589199999977_r8, 0.0087234812263703686_r8, & + 0.0089403397434074054_r8, 0.0090985613149629618_r8, & + 0.0092504149730370383_r8, 0.0092861027460000006_r8, & + 0.0092023976881481506_r8, 0.0092610706888888884_r8, & + 0.0092055733244444451_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,20) / & + 0.0027548344409876542_r8, 0.0028211021585185184_r8, & + 0.0028294780725925919_r8, 0.0028445750567901236_r8, & + 0.0031182067397530861_r8, 0.0033888985323456793_r8, & + 0.0039615577437037038_r8, 0.0045797020513580243_r8, & + 0.0051191811792592589_r8, 0.0054896166108641979_r8, & + 0.0057087124029629628_r8, 0.0057841141195061731_r8, & + 0.0058046471274074089_r8, 0.0059073953713580235_r8, & + 0.0059731823520987656_r8, 0.006027209771358023_r8, & + 0.0061252615866666657_r8, 0.0062110915935802459_r8, & + 0.0063111957851851846_r8, 0.0064189732755555564_r8, & + 0.0065411173999999983_r8, 0.0068193623071604939_r8, & + 0.0068769767624691364_r8, 0.0070761034879012353_r8, & + 0.007386872087901235_r8, 0.007542769481975309_r8, 0.0077424878834567896_r8, & + 0.0082213941758024697_r8, 0.0086089408325308626_r8, 0.00894023088425926_r8, & + 0.0091633609362962946_r8, 0.0092818197972222224_r8, & + 0.0093011544299999999_r8, 0.0093198922689947082_r8, & + 0.0092984928783068806_r8, 0.0094419640848148155_r8, & + 0.0096203474799999994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,20) / & + 0.0020830510014814814_r8, 0.0022340763130864194_r8, & + 0.0023021745283950614_r8, 0.0022201996607407403_r8, & + 0.0023436288316049385_r8, 0.0023054010118518519_r8, & + 0.0023859706488888891_r8, 0.0032245235298765428_r8, & + 0.0038982206716049379_r8, 0.0045051323792592596_r8, & + 0.0048428777091358028_r8, 0.0051265124153086422_r8, & + 0.0054464519940740728_r8, 0.0056282721950617282_r8, & + 0.0057668445748148139_r8, 0.0058737992656790134_r8, & + 0.0060708089002469139_r8, 0.0062147156093827162_r8, & + 0.0063171217906172845_r8, 0.0064289762987654328_r8, & + 0.0065369941575308651_r8, 0.0066912390188888886_r8, & + 0.0068697021516666663_r8, 0.0070043224853968238_r8, & + 0.0071433363109523812_r8, 0.0072645640308906523_r8, & + 0.0074669096787407397_r8, 0.008086940383031746_r8, & + 0.0085052930230687836_r8, 0.0088630627489166662_r8, & + 0.0090474153448571425_r8, 0.0091052911677777775_r8, & + 0.0092294530000000003_r8, 0.0093178161200000009_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,20) / & + 0.0015195072992592593_r8, 0.0016609640997530867_r8, & + 0.0016800826320987655_r8, 0.0015702620103703704_r8, & + 0.0015574855056790118_r8, 0.0014467403901234567_r8, & + 0.0014911623185185185_r8, 0.0018343621619753086_r8, & + 0.002180124008950617_r8, 0.0026207100321604935_r8, & + 0.0030064250354938271_r8, 0.0032810597942592593_r8, & + 0.0037760644957231045_r8, 0.004060647633509701_r8, & + 0.0044323433483068782_r8, 0.0047592144846296302_r8, & + 0.0052098694012345679_r8, 0.0056344932130776015_r8, & + 0.0058788780385537927_r8, 0.0060703717797548499_r8, & + 0.0061430918038465595_r8, 0.0062861578839523797_r8, & + 0.0064559211005873005_r8, 0.006586433115820107_r8, & + 0.0067174813044550271_r8, 0.0068672546533121688_r8, & + 0.0071044794391851851_r8, 0.0078369933404444456_r8, & + 0.0083598667102222218_r8, 0.0087356866249999991_r8, & + 0.0088794171024999986_r8, 0.0090221740880000005_r8, & + 0.009188266799999999_r8, 0.0093253045199999992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,20) / & + 0.001070868934814815_r8, 0.0011410842409876542_r8, 0.001081463634074074_r8, & + 0.0010260864538271606_r8, 0.0010350355540740741_r8, & + 0.0010809274276543208_r8, 0.0011534539683950617_r8, & + 0.0012984978049382717_r8, 0.001461291922962963_r8, & + 0.0016073434577777777_r8, 0.0020647367787654321_r8, & + 0.0024556589935802466_r8, 0.0031284316414814809_r8, & + 0.0034593634518518524_r8, 0.0037525747584567898_r8, & + 0.0041349346746384474_r8, 0.0046079478141005294_r8, & + 0.0047864291065784822_r8, 0.0051239468458853625_r8, & + 0.0052934548692063496_r8, 0.0054426656965873019_r8, & + 0.0054876488257530869_r8, 0.0055121683831075843_r8, & + 0.0055805375081252207_r8, 0.0057009731019417986_r8, & + 0.0057926085668959437_r8, 0.005899919022795414_r8, & + 0.0062929384518571408_r8, 0.0067396183751816576_r8, & + 0.0072858534398306885_r8, 0.0078527343006278647_r8, & + 0.0083364315841269847_r8, 0.0087771533428412686_r8, & + 0.0092031603955555555_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,20) / & + 0.00064023971012345669_r8, 0.0006735677125925927_r8, & + 0.0005977961985185184_r8, 0.00054637585185185185_r8, & + 0.00055424329432098756_r8, 0.00058972536740740738_r8, & + 0.00056176867407407404_r8, 0.00061403955506172828_r8, & + 0.00071354282567901231_r8, 0.00079462093432098766_r8, & + 0.0010187182380246912_r8, 0.0011779715446913581_r8, & + 0.0015360187590123457_r8, 0.0016799254681481479_r8, & + 0.0018341402834567901_r8, 0.0020261576513580246_r8, & + 0.0024160259432098766_r8, 0.0026258213274074071_r8, & + 0.0030454028508641972_r8, 0.0035141489560493819_r8, & + 0.0038678787841975306_r8, 0.0039099524982716049_r8, & + 0.0040671719185185178_r8, 0.0043403321096296297_r8, & + 0.0046903547175308636_r8, 0.0049435088622222217_r8, & + 0.0050786975945679002_r8, 0.0054498263965432094_r8, & + 0.0058159629318518518_r8, 0.0062616244261728396_r8, & + 0.0067901194117901244_r8, 0.0073381997991358019_r8, & + 0.007779828354223986_r8, 0.0080603079563537402_r8, & + 0.0082594655711999993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,20) / & + 0.00038804703901234569_r8, 0.00040773875753086415_r8, & + 0.00035741855851851846_r8, 0.00023731756543209873_r8, & + 0.00023830677382716045_r8, 0.00024579517382716044_r8, & + 0.00023981369876543206_r8, 0.00028206306666666664_r8, & + 0.00031678705481481476_r8, 0.00034507656592592595_r8, & + 0.00038295307802469126_r8, 0.00040420719111111111_r8, & + 0.00044582790320987656_r8, 0.00048518360543209864_r8, & + 0.00053024343456790121_r8, 0.0005798240385185185_r8, & + 0.0007110651822222221_r8, 0.00090106715358024691_r8, & + 0.0011661565135802469_r8, 0.0015790077219753084_r8, & + 0.0020110791570370368_r8, 0.002379462212345679_r8, & + 0.0025480251718518515_r8, 0.0029535266543209877_r8, & + 0.0035575758979629634_r8, 0.0040814345470370364_r8, & + 0.0044903000314197531_r8, 0.005259883361666667_r8, & + 0.0058150546166666657_r8, 0.0061015737435802467_r8, & + 0.0067546777853086425_r8, 0.0075456193992857138_r8, & + 0.0079739704070458557_r8, 0.0082946198650000001_r8, & + 0.0086987349369047617_r8, 0.0090404208226666661_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,20) / & + 0.00024954861876543211_r8, 0.00025838677975308642_r8, & + 0.00022858109876543211_r8, 0.00016004837135802469_r8, & + 0.00016086192592592593_r8, 0.00015821787358024692_r8, & + 0.00016135190765432096_r8, 0.00020800186617283946_r8, & + 0.00022314507506172835_r8, 0.00023650401086419755_r8, & + 0.00024393694123456792_r8, 0.00025007558024691361_r8, & + 0.00026826037382716045_r8, 0.00028792435753086418_r8, & + 0.00030537880098765427_r8, 0.00032183479111111115_r8, & + 0.00036915038518518507_r8, 0.00049961495407407398_r8, & + 0.00074279381037037026_r8, 0.0010878149066666668_r8, & + 0.0015398646533333331_r8, 0.0020166168750617281_r8, & + 0.0025029191180246917_r8, 0.0030207743353086419_r8, & + 0.0035748604656790123_r8, 0.0042086044510493822_r8, & + 0.0047432773666666664_r8, 0.0059138890159999994_r8, & + 0.0064598248087901237_r8, 0.006857396907703703_r8, & + 0.0075746806976543209_r8, 0.008071192654232803_r8, & + 0.0084362604086419754_r8, 0.008615317297580246_r8, 0.009009487837018517_r8, & + 0.0091487298309523811_r8, 0.0092688607049999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,20) / & + 0.00019631626419753086_r8, 0.00019688020543209877_r8, & + 0.00017555213283950618_r8, 0.00017231640444444443_r8, & + 0.00017523780493827157_r8, 0.00016873861333333332_r8, & + 0.00015592512888888891_r8, 0.00016211923753086418_r8, & + 0.00016235960592592594_r8, 0.00016644586864197531_r8, & + 0.00017258450765432096_r8, 0.00018486178567901231_r8, & + 0.00022744397135802472_r8, 0.0002632218824691358_r8, & + 0.00028136969629629635_r8, 0.00029350830024691359_r8, & + 0.00032892565876543206_r8, 0.00040516866469135807_r8, & + 0.00057135567506172837_r8, 0.00091010870320987669_r8, & + 0.0014381425975308641_r8, 0.0019924690962962966_r8, & + 0.002703820871604938_r8, 0.0033911265624691363_r8, 0.004055218213333333_r8, & + 0.0046567123871604941_r8, 0.0052096429002469122_r8, & + 0.0061563708039506174_r8, 0.006649181483456789_r8, & + 0.0072013631565432095_r8, 0.0077914490765432099_r8, & + 0.0082122702471693117_r8, 0.0085655660584832427_r8, & + 0.0086522291003703709_r8, 0.0090342715387682522_r8, & + 0.0091542694639999995_r8, 0.0092795316749999992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,20) / & + 0.00021319752148148146_r8, 0.00021027612098765435_r8, & + 0.00019223924641975307_r8, 0.00020692945333333334_r8, & + 0.00020062440543209875_r8, 0.000191351732345679_r8, & + 0.00017764148888888887_r8, 0.00016896049185185187_r8, & + 0.00015915161234567903_r8, 0.0001608434360493827_r8, & + 0.00016795279358024689_r8, 0.00018044270518518518_r8, & + 0.00020283394567901237_r8, 0.0002415609920987654_r8, & + 0.00028539124444444447_r8, 0.00031068539555555548_r8, & + 0.00033845719012345682_r8, 0.00038716876987654323_r8, & + 0.00053779654913580237_r8, 0.0010048138508641975_r8, & + 0.0015756148296296297_r8, 0.0023410679837037036_r8, & + 0.0031760430735802464_r8, 0.0040152523451851847_r8, & + 0.0047703511683950626_r8, 0.0052424254513580241_r8, & + 0.0057142778558024682_r8, 0.0063443296439506178_r8, & + 0.0066519272301234578_r8, 0.0073355164558024689_r8, & + 0.0077651102474074066_r8, 0.0081178800877689597_r8, & + 0.0084348142361552036_r8, 0.008577614821444441_r8, & + 0.0089080467117777784_r8, 0.0091331958583333334_r8, & + 0.0091677985066666665_r8, 0.0092691415199999995_r8, & + 0.0093095788799999989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,20) / & + 0.00024495614501675057_r8, 0.00024193295516397037_r8, & + 0.00023161911454081972_r8, 0.00025349106685193079_r8, & + 0.00022855704121726422_r8, 0.00023282450213485433_r8, & + 0.00024244816115174322_r8, 0.00022850843687879504_r8, & + 0.00020618932465376791_r8, 0.00019546720758747659_r8, & + 0.00018928473573420247_r8, 0.00019642957348916542_r8, & + 0.00022224819808397032_r8, 0.00024878616688811853_r8, & + 0.00029803208262504694_r8, 0.00032813760987282953_r8, & + 0.00036038172801325429_r8, 0.00043534905966804939_r8, & + 0.00071800272960146174_r8, 0.0013031892439021632_r8, & + 0.0019488687178615502_r8, 0.0029193223814717039_r8, & + 0.0039121145990422719_r8, 0.0049029626430740735_r8, & + 0.0056583809924290757_r8, 0.0061129968118662911_r8, & + 0.0065789082795637338_r8, 0.0071680025826773531_r8, 0.00755592352886722_r8, & + 0.0082438498938239794_r8, 0.008479804515356246_r8, & + 0.0085748940431372642_r8, 0.0088100673499286377_r8, & + 0.0090672664070449958_r8, 0.0094300399892717005_r8, & + 0.0096843412904459147_r8, 0.0098361063671042123_r8, & + 0.0097899514703102663_r8, 0.0098774174076023992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,20) / & + 0.00025149380407024196_r8, 0.00024698681974494812_r8, & + 0.00024218412830328889_r8, 0.00025180990478083953_r8, & + 0.00023361881872580736_r8, 0.00023723868170200493_r8, & + 0.00026667683497603952_r8, 0.00028217596659243463_r8, & + 0.00028296111997037031_r8, 0.00028251246089726421_r8, & + 0.00027509938939389631_r8, 0.00029166918470747657_r8, & + 0.00029030281389392593_r8, 0.0002955031804231111_r8, & + 0.00031576421629270126_r8, 0.00033083508243022223_r8, & + 0.00039515647863826175_r8, 0.00056872635914765441_r8, & + 0.0011229426759991705_r8, 0.0021135411222291357_r8, & + 0.003387549347502578_r8, 0.0047445595013006613_r8, & + 0.0057234520244414007_r8, 0.0064330981197328564_r8, & + 0.0069532163470283044_r8, 0.0073991630721016105_r8, & + 0.0078109199364447988_r8, 0.0084237678367135999_r8, & + 0.008867267330479052_r8, 0.0090818181385978469_r8, & + 0.0091177006676492253_r8, 0.0091970215524149745_r8, & + 0.0094164770199465855_r8, 0.0097141521181554162_r8, & + 0.010084520183004564_r8, 0.010335402179247843_r8, 0.010522849718546513_r8, & + 0.01060481856585477_r8, 0.010664365639567415_r8, 0.010792565381148801_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,20) / & + 0.00025648696416774325_r8, 0.00025099051000053332_r8, & + 0.00024740447388367406_r8, 0.00025027543732246914_r8, & + 0.00025107589181283952_r8, 0.00025624149145736302_r8, & + 0.00029459927063591108_r8, 0.00032066206884237043_r8, & + 0.00037284102888798028_r8, 0.00043662124268069151_r8, & + 0.00048917374815514079_r8, 0.00053106419981785685_r8, & + 0.00057301868783980249_r8, 0.00050854474682210382_r8, & + 0.00050770160142558029_r8, 0.00050711460146597525_r8, & + 0.00068928737074773342_r8, 0.0014174127933682375_r8, & + 0.0024424214501038424_r8, 0.0039746407628442667_r8, & + 0.0054826756772489689_r8, 0.0066529935058031401_r8, & + 0.0072807312626046615_r8, 0.0077471827759598225_r8, & + 0.0080662012449153001_r8, 0.0084181237297882693_r8, & + 0.0087114529459661229_r8, 0.009270874580196169_r8, 0.009606147611669431_r8, & + 0.0097981499620929408_r8, 0.0098387169956649107_r8, & + 0.0099908673851945087_r8, 0.010251623439977563_r8, 0.010503566490821636_r8, & + 0.01077351176315414_r8, 0.011011317453607455_r8, 0.011189559991341495_r8, & + 0.011263642054425274_r8, 0.011320536453756773_r8, 0.011393915755914885_r8, & + 0.011411740276506455_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,20) / & + 0.00026482517368557032_r8, 0.00026683193175845921_r8, & + 0.00027479207211425174_r8, 0.00028294173962137281_r8, & + 0.00029209478616493823_r8, 0.00031792622202540241_r8, & + 0.0004597371258428838_r8, 0.00064860650646960966_r8, & + 0.00086297286327798517_r8, 0.0010395452763802863_r8, & + 0.0011805534769686124_r8, 0.001298060310792217_r8, & + 0.0014483218958277529_r8, 0.0013992120663217774_r8, & + 0.0013539262258102519_r8, 0.0014272397874064591_r8, & + 0.0020169144984688984_r8, 0.0035396871188008295_r8, & + 0.004677184486450014_r8, 0.0058702244580943778_r8, & + 0.0068439257723719909_r8, 0.0075953340354533118_r8, & + 0.0080868002361597618_r8, 0.0084803812375330734_r8, & + 0.0087820192732001954_r8, 0.0090472235011884224_r8, & + 0.0092928172433421417_r8, 0.0097888432443364332_r8, & + 0.010149379629442843_r8, 0.010512212637677116_r8, 0.010653666784503862_r8, & + 0.010826125343556738_r8, 0.011110561003076818_r8, 0.011351286963321787_r8, & + 0.011526283235187673_r8, 0.011702965741267585_r8, 0.011849578928640046_r8, & + 0.011924011536578287_r8, 0.011946547151020432_r8, 0.011948705809530785_r8, & + 0.011934841898411109_r8, 0.0119345916110848_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,20) / & + 0.00026561015140967901_r8, 0.00028095460411486423_r8, & + 0.00031411954621175304_r8, 0.00035377100695219746_r8, & + 0.00040699998341965426_r8, 0.00049225469261649369_r8, & + 0.00077360453263437042_r8, 0.0012505380217164444_r8, & + 0.001561763046167901_r8, 0.0018182246488813827_r8, & + 0.0020377316946632103_r8, 0.0022311531708462218_r8, & + 0.0023244288439571359_r8, 0.0022611329765482467_r8, & + 0.0022580757105925926_r8, 0.0024311425377704686_r8, & + 0.0034601159620923456_r8, 0.0048185882590873084_r8, & + 0.0058086193223770861_r8, 0.0068165871209123971_r8, & + 0.0076896399814959009_r8, 0.0083626104784721_r8, 0.0089272630888521474_r8, & + 0.0092719436700350617_r8, 0.0095341943162691369_r8, & + 0.009769382927732247_r8, 0.010012929616085534_r8, 0.01054659108183526_r8, & + 0.010936409928059259_r8, 0.011270209897323951_r8, 0.011465747048046617_r8, & + 0.011667177863558321_r8, 0.01195663003958795_r8, 0.012223472397048196_r8, & + 0.012387216306749134_r8, 0.012449372964790519_r8, 0.012466588975742319_r8, & + 0.012467379447548345_r8, 0.012446838805177088_r8, 0.012422183059580346_r8, & + 0.012391552277096889_r8, 0.012422101687482664_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,20) / & + 0.00027695658285542719_r8, 0.00029007354090398026_r8, & + 0.00032857737901329393_r8, 0.0003839735357903012_r8, & + 0.00047259770622166915_r8, 0.00055757962169675061_r8, & + 0.00084180861394994545_r8, 0.0013053309340679111_r8, & + 0.0016733922928897184_r8, 0.001975372740361758_r8, & + 0.0021715341858646125_r8, 0.0022383290275878711_r8, & + 0.0022902281355862519_r8, 0.0023235771543886619_r8, & + 0.0023940989546718419_r8, 0.0026596447520662123_r8, & + 0.0036018755383823414_r8, 0.0046721297713347163_r8, & + 0.0058039030215553981_r8, 0.0068770855790905678_r8, & + 0.007768941922273738_r8, 0.0084438239344895583_r8, & + 0.0090331916085788829_r8, 0.0094973310549519019_r8, & + 0.0098895087397799508_r8, 0.010157341534472454_r8, 0.010428719780002805_r8, & + 0.011119743878968415_r8, 0.011711313846752235_r8, 0.012018013494998201_r8, & + 0.012219729076796524_r8, 0.01241469257133369_r8, 0.012638176979266096_r8, & + 0.012846632547810766_r8, 0.012975926548501531_r8, 0.013025816971042289_r8, & + 0.013025550759716587_r8, 0.012997308158161856_r8, 0.012980331135890526_r8, & + 0.012933155334197881_r8, 0.012866850131162982_r8, 0.0128795519983376_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,20) / & + 0.00029104407230494812_r8, 0.00028186326801912098_r8, & + 0.00029836356284515558_r8, 0.0003360803190824099_r8, & + 0.00036361015549566425_r8, 0.00040120114729064692_r8, & + 0.00059203611199358031_r8, 0.0010297341004314468_r8, & + 0.0014621248294054521_r8, 0.0017906467055073384_r8, & + 0.0019610826776738171_r8, 0.0020390566318822119_r8, & + 0.0021000020806070325_r8, 0.002320857017680198_r8, & + 0.0025733794413173531_r8, 0.0028842062603916252_r8, & + 0.0036388557962423896_r8, 0.0045813345266257988_r8, & + 0.005732154632076345_r8, 0.0068507790403053645_r8, & + 0.0077185788448678903_r8, 0.0084558603112409488_r8, & + 0.0090745962143287898_r8, 0.0096700531191521565_r8, & + 0.010105990405398224_r8, 0.010491194315631922_r8, 0.010843573706432732_r8, & + 0.011618722846373766_r8, 0.012339944193468741_r8, 0.01275505488807463_r8, & + 0.012975457073155615_r8, 0.013104554273147417_r8, 0.013232449165071105_r8, & + 0.013374149219822943_r8, 0.013609988990192771_r8, 0.013668692238575378_r8, & + 0.013668161332965501_r8, 0.013545108686480378_r8, 0.013560645535846867_r8, & + 0.013506516531122139_r8, 0.013393825852844101_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,20) / & + 0.00031542366161098269_r8, 0.00028596445428432586_r8, & + 0.00027480467481410371_r8, 0.00032817583066642957_r8, & + 0.00036431785330157026_r8, 0.00039919379569272097_r8, & + 0.00070947482208584675_r8, 0.0012655189919232_r8, 0.001759303339452997_r8, & + 0.0021039773704122464_r8, 0.0022802888336681082_r8, & + 0.0024301431355366714_r8, 0.0025382820512218074_r8, & + 0.0028051247781097871_r8, 0.0031188777358936489_r8, & + 0.0034177379353435653_r8, 0.0042362522868963559_r8, & + 0.0050829597655318122_r8, 0.0061798942993995841_r8, & + 0.0072155609913571546_r8, 0.0081165793967476942_r8, & + 0.0088898803259790226_r8, 0.009591588985743485_r8, 0.010208326693050466_r8, & + 0.010653686734341056_r8, 0.011171239454286381_r8, 0.011567587832523533_r8, & + 0.012406855458178843_r8, 0.013203849708677211_r8, 0.013655941511677469_r8, & + 0.013855595839967887_r8, 0.013879146074588797_r8, 0.01406335270889488_r8, & + 0.014280878207339172_r8, 0.014630021977039031_r8, 0.014574617927309564_r8, & + 0.014428512440296838_r8, 0.014161936354756264_r8, 0.014148808929958401_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,20) / & + 0.00032986061379494317_r8, 0.00030307457371316543_r8, & + 0.00028487900608185673_r8, 0.00038664228386223691_r8, & + 0.00045523706143312865_r8, 0.00054924330686298699_r8, & + 0.0011210576210935843_r8, 0.0017628461166546961_r8, & + 0.0022624192924829232_r8, 0.0026350390070577602_r8, & + 0.0028367317528217965_r8, 0.0030280545711277671_r8, & + 0.0031795974142516826_r8, 0.0033723539911064016_r8, & + 0.0037224155018861786_r8, 0.0040539205292348434_r8, & + 0.0049341985133379163_r8, 0.0058165112991690627_r8, & + 0.0068577850281673356_r8, 0.0078235780733312693_r8, & + 0.0086331880674177259_r8, 0.009338438798995102_r8, 0.010032028133324749_r8, & + 0.010623366204656077_r8, 0.011188372883519572_r8, 0.011770341397089613_r8, & + 0.012237090319706153_r8, 0.013207904297924379_r8, 0.014044775030584322_r8, & + 0.014523086545520801_r8, 0.014793498964082299_r8, 0.014720746649085292_r8, & + 0.014974260864280055_r8, 0.015267129686156001_r8, 0.015378352629859199_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,20) / & + 0.00035388940585969879_r8, 0.00032577170785859252_r8, & + 0.00032058709091379749_r8, 0.00037785612431184444_r8, & + 0.00043979844511575554_r8, 0.00056919050122735554_r8, & + 0.0010720819836776388_r8, 0.001669081101992694_r8, & + 0.0022006521022426666_r8, 0.002646491973256259_r8, 0.002908277217510444_r8, & + 0.0031091579296111849_r8, 0.003294754647436185_r8, & + 0.0035373907292463335_r8, 0.0038587752611704221_r8, & + 0.0042439428702295036_r8, 0.0050778501267004887_r8, & + 0.0059602757468579619_r8, 0.0069370987216918131_r8, & + 0.0079138346702237392_r8, 0.0086411191021192567_r8, & + 0.0093397976134583539_r8, 0.010053974008716977_r8, 0.010707272654916802_r8, & + 0.011378807212549155_r8, 0.012021063121306666_r8, 0.012647155094844219_r8, & + 0.013865684170420398_r8, 0.014721818169471287_r8, 0.01532620053172133_r8, & + 0.015636537824842665_r8, 0.015413450401215998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,20) / & + 0.00041318418019351108_r8, 0.0003768244936223111_r8, & + 0.00039076888954746666_r8, 0.00042302345021546665_r8, & + 0.0004576889578424889_r8, 0.00057037792192175991_r8, & + 0.00069537900567419981_r8, 0.0012161435488229997_r8, & + 0.0019088835449879997_r8, 0.0025232840551669329_r8, & + 0.0027742831818197335_r8, 0.0030067115008151997_r8, & + 0.0033222197488040001_r8, 0.0036383144433503995_r8, & + 0.0039807992329887994_r8, 0.0043174195570511997_r8, & + 0.0050909425665256001_r8, 0.0058808860796128_r8, 0.006801020728487199_r8, & + 0.0077346436481863989_r8, 0.0084342743914031983_r8, & + 0.0093057339759967991_r8, 0.010063422928415999_r8, 0.010737836469655999_r8, & + 0.011452128376812799_r8, 0.0121265419180528_r8, 0.012859600115052799_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,20) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,20) / & + 0.0018831164649840899_r8, 0.0017528077910933329_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,20) / & + 0.0019897370085751181_r8, 0.0021054554116487346_r8, & + 0.0022533476457718515_r8, 0.0020752835212016988_r8, & + 0.0021656967676498174_r8, 0.0022101429636380444_r8, & + 0.0020168392565048884_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,20) / & + 0.0017951431345578394_r8, 0.0015506240221387949_r8, & + 0.0015991201465715753_r8, 0.0017714270951082569_r8, & + 0.0019133833437774714_r8, 0.0021674086327156047_r8, & + 0.0019860799635683527_r8, 0.0019366988672504728_r8, & + 0.0018355997338937056_r8, 0.0017829032656065521_r8, & + 0.0017690738674949712_r8, 0.0017936708801837712_r8, & + 0.0018444786778224354_r8, 0.0018702360174256_r8, 0.0019618922541817596_r8, & + 0.0020183934622762666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,20) / & + 0.0009992154436409943_r8, 0.00078120719353831766_r8, & + 0.00091794476601646745_r8, 0.0011195673125495174_r8, & + 0.0012591555259966222_r8, 0.001686987397419957_r8, 0.001787145920893179_r8, & + 0.0018227382095626996_r8, 0.0017906410886526418_r8, & + 0.0018006512240551632_r8, 0.0018265904905864054_r8, & + 0.0019157137443086539_r8, 0.0020068011209842377_r8, & + 0.0020539519756397461_r8, 0.0021133399114833047_r8, & + 0.002125283470628726_r8, 0.0021866101555884222_r8, & + 0.0022560367332441914_r8, 0.0023839340295174639_r8, & + 0.0025533410439002075_r8, 0.0027002499226356619_r8, & + 0.0027893346457162427_r8, 0.0026667198064385185_r8, & + 0.0029780821626729714_r8, 0.0032479216439934813_r8, & + 0.0035186886800292741_r8, 0.0036603874641937778_r8, & + 0.0037922515370153883_r8, 0.0038925721711151394_r8, & + 0.0039551985604023296_r8, 0.0040246007039926521_r8, & + 0.0040776884100375711_r8, 0.0041118303176426669_r8, & + 0.0041278158350762668_r8, 0.00412832331182019_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,20) / & + 0.0014572872888608131_r8, 0.0017633275397890373_r8, & + 0.0018825511177254189_r8, 0.0018313264639675786_r8, & + 0.0018767342336279179_r8, 0.0020638214593684807_r8, & + 0.0018665885055508804_r8, 0.0017980935679996837_r8, & + 0.0018863388562075124_r8, 0.0019323779156148679_r8, & + 0.0019520380820219261_r8, 0.0020245011265543639_r8, & + 0.0021072000834134121_r8, 0.0021525176688241784_r8, & + 0.0022196598426317696_r8, 0.0022542455023432692_r8, & + 0.0023411380268074933_r8, 0.0024007498157756846_r8, & + 0.0024999073981819262_r8, 0.0026374383787817618_r8, & + 0.0027531898631095574_r8, 0.0028655594380783403_r8, & + 0.002902760441027477_r8, 0.0031268683012180276_r8, & + 0.0033196371346817322_r8, 0.003526339434704566_r8, & + 0.0036907002295525665_r8, 0.003890999447855671_r8, 0.003960621688526538_r8, & + 0.004038901617156478_r8, 0.0041042401059725965_r8, & + 0.0041676396334228817_r8, 0.0042025409380078869_r8, & + 0.0042140096368175105_r8, 0.0042200605168339943_r8, & + 0.0042037133332523454_r8, 0.0042346239847937187_r8, & + 0.0042587708176170663_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,20) / & + 0.0022518765024426663_r8, 0.0030035057816746656_r8, & + 0.0029903022347946666_r8, 0.0035683396187306659_r8, & + 0.0034790187822933334_r8, 0.0035827476997119996_r8, & + 0.0031558330172586657_r8, 0.0021719602976426663_r8, & + 0.0022483092283733337_r8, 0.0022997335688533329_r8, & + 0.0022870859607893334_r8, 0.0023046906899626663_r8, & + 0.0022932476159999993_r8, 0.0023496754058240001_r8, & + 0.0024068907756373331_r8, 0.0024612801231359998_r8, & + 0.0024976477873493324_r8, 0.0025346640468480001_r8, & + 0.002616155411626667_r8, 0.0027333658453333326_r8, & + 0.0028350099921919994_r8, 0.0029657482704213332_r8, & + 0.0030983860062720001_r8, 0.0032633145216853332_r8, & + 0.0034533066120533327_r8, 0.0036203198980266664_r8, & + 0.0038303721140053332_r8, 0.0041484617732266676_r8, & + 0.0041430876980053342_r8, 0.004155642649599999_r8, & + 0.0041843198268586672_r8, 0.0042154524005546673_r8, & + 0.0042451024707413337_r8, 0.004243295669589333_r8, & + 0.0042650236116479985_r8, 0.0042795706773333326_r8, & + 0.0043597185233066656_r8, 0.0043734316807680007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,21) / & + 0.0030745498299999995_r8, 0.0031054394799999996_r8, & + 0.0031434431099999997_r8, 0.0034445703949999998_r8, 0.004019305095_r8, & + 0.00465366618_r8, 0.00506421771_r8, 0.0051913332999999999_r8, & + 0.0052272776199999999_r8, 0.0053147670933333339_r8, & + 0.0054415706666666669_r8, 0.0055620091000000002_r8, & + 0.0057832913199999999_r8, 0.0058896266000000004_r8, & + 0.0059502826399999995_r8, 0.0060543713999999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,21) / & + 0.0030233897040019787_r8, 0.003083274080141093_r8, & + 0.0030780655479541448_r8, 0.0033200453687742505_r8, & + 0.0037222422810758377_r8, 0.0042580458856613743_r8, & + 0.0048434505651322752_r8, 0.0050951033978835969_r8, & + 0.0052517902436507941_r8, 0.0053883919657583771_r8, & + 0.0054356961687477955_r8, 0.0054978612798324521_r8, & + 0.0056275162562698395_r8, 0.0058087191925396825_r8, & + 0.0058947238627513228_r8, 0.0060237165053968252_r8, & + 0.006407605963597884_r8, 0.0066684312939259251_r8, & + 0.0068829850478518513_r8, 0.0070317948099999977_r8, & + 0.0072154866487407409_r8, 0.0076058666479259258_r8, & + 0.0075427768779259274_r8, 0.0077740949406666666_r8, & + 0.0080669537840000003_r8, 0.0082282525332592581_r8, & + 0.0083791368595555558_r8, 0.0087647145755555544_r8, & + 0.0090265783765925943_r8, 0.0091737725857777772_r8, & + 0.0092726901895555554_r8, 0.0092849489777037039_r8, & + 0.0091708770711111109_r8, 0.0092039231029629621_r8, & + 0.0088647540525925925_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,21) / & + 0.0027162368237037032_r8, 0.0027908434755555549_r8, & + 0.0026953525081481475_r8, 0.0026677101427160501_r8, & + 0.0030261918691358016_r8, 0.0033708246780246908_r8, & + 0.0042225423511111108_r8, 0.0048561072158024689_r8, & + 0.0052973218948148149_r8, 0.0056580963659259272_r8, & + 0.0058131802054320987_r8, 0.0059743194795061731_r8, & + 0.0060821247046913586_r8, 0.0061730209377777769_r8, & + 0.0062141054434567914_r8, 0.006260191460740739_r8, & + 0.0063600830187654318_r8, 0.0064682857762962953_r8, & + 0.0065765717382716051_r8, 0.0067147558306172835_r8, & + 0.0068552049328395055_r8, 0.0071144422469135802_r8, & + 0.0072327774567901241_r8, 0.0074350012365432096_r8, & + 0.0076804173679012339_r8, 0.0078405732116666668_r8, 0.00801227251648148_r8, & + 0.0084153978847266303_r8, 0.0088061885572768978_r8, & + 0.0091089556301851855_r8, 0.0092288314429894141_r8, & + 0.0092972649193809511_r8, 0.0092328130728148161_r8, & + 0.0092284060107407397_r8, 0.00893246166925926_r8, 0.00943613284_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,21) / & + 0.0021516207086419753_r8, 0.0022874473417283949_r8, & + 0.0022726831753086419_r8, 0.0020236984977777782_r8, & + 0.0022462518967901234_r8, 0.0023702080291358022_r8, & + 0.0029545528424691362_r8, 0.0039701278014814814_r8, & + 0.0045767066913580253_r8, 0.0050779487545679017_r8, & + 0.0053359472469135805_r8, 0.0056258130414814809_r8, & + 0.0059156326113580246_r8, 0.0060276812632098766_r8, & + 0.0061402938562962949_r8, 0.0062128111520987645_r8, & + 0.0063441355002469141_r8, 0.0064560362330864192_r8, & + 0.0065773020883950614_r8, 0.0067501639441975309_r8, & + 0.0068961877441975307_r8, 0.0071191756553086426_r8, & + 0.0073277414627160491_r8, 0.0075173366567901218_r8, & + 0.0077124961480864191_r8, 0.0078693007017283951_r8, & + 0.0080324565279629619_r8, 0.0084032647617037024_r8, & + 0.0088226900457037041_r8, 0.0091231645224999994_r8, & + 0.0093192870557142864_r8, 0.0093944848553333335_r8, & + 0.0094241763613333342_r8, 0.0094351967899999993_r8, & + 0.0094309533633333328_r8, 0.0094277291911111106_r8, & + 0.0094273963733333323_r8, 0.0093994396799999998_r8, & + 0.0093822163599999991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,21) / & + 0.0016871457649382715_r8, 0.0017677523817283955_r8, & + 0.0016268502775308642_r8, 0.0015799137259259258_r8, & + 0.0016079813585185186_r8, 0.0016335528577777778_r8, & + 0.001778559714567901_r8, 0.0023429539511111109_r8, & + 0.0027671486987654319_r8, 0.0032319841950617283_r8, & + 0.0036186167585185178_r8, 0.0040080967629629628_r8, & + 0.0046724750069135797_r8, 0.004819201422222222_r8, & + 0.0052195904538271604_r8, 0.0055019863382716038_r8, & + 0.0057270081358024678_r8, 0.0059599620903703701_r8, & + 0.0060917301955555553_r8, 0.0062440139743827157_r8, & + 0.0063122520193827159_r8, 0.0064955987908024686_r8, & + 0.0066858538423456787_r8, 0.0068544468479012346_r8, & + 0.0069888590054321001_r8, 0.0071785743837037034_r8, & + 0.0073892480370370368_r8, 0.0078641610443315694_r8, & + 0.0084187292321975301_r8, 0.0087670544694320972_r8, & + 0.0090024319845679011_r8, 0.0091843820769382713_r8, & + 0.0093129118453350972_r8, 0.009383517419973543_r8, & + 0.0094255192587797618_r8, 0.0094451139673544966_r8, & + 0.0094362396190370377_r8, 0.0093971664157142861_r8, & + 0.0093820915533333327_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,21) / & + 0.0011701595718518517_r8, 0.0011184064074074072_r8, & + 0.00091437986469135812_r8, 0.0010425054641975309_r8, & + 0.0010647672755555555_r8, 0.0011217900548148147_r8, & + 0.0012087017195061725_r8, 0.0013657454859259256_r8, & + 0.0015550355970370367_r8, 0.0017379559456790125_r8, & + 0.0021819718409876545_r8, 0.0025650635930864196_r8, & + 0.0034851938093827155_r8, 0.0036460834701234567_r8, & + 0.004051057991111111_r8, 0.0044549508543209873_r8, & + 0.0047309399965432099_r8, 0.0050407563679012342_r8, & + 0.0052781016681481482_r8, 0.0054546614992592593_r8, & + 0.0055775359738271602_r8, 0.0056447651649382709_r8, & + 0.0057287092044444451_r8, 0.005825993689876542_r8, & + 0.0059335400567901231_r8, 0.0060664637792592589_r8, & + 0.006218894321481482_r8, 0.0066420443911111102_r8, & + 0.0071492401945678994_r8, 0.0076840968533333342_r8, & + 0.0082030614632098743_r8, 0.0086325905402469122_r8, & + 0.0089343360804938279_r8, 0.0091895426014814794_r8, & + 0.0093775360357103172_r8, 0.0094332511432142861_r8, & + 0.009438753779999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,21) / & + 0.000691835710617284_r8, 0.00059574382222222231_r8, & + 0.0005291525318518518_r8, 0.00064171890024691347_r8, & + 0.00065440295555555558_r8, 0.00068339508197530876_r8, & + 0.00068442127012345686_r8, 0.0007503099451851849_r8, & + 0.00080523412345679009_r8, 0.0008705773471604938_r8, & + 0.0010873341698765433_r8, 0.0012348741397530864_r8, & + 0.0016802028162962962_r8, 0.0018205779590123453_r8, & + 0.0020467276390123456_r8, 0.002280190065185185_r8, & + 0.0026448843901234567_r8, 0.0029506977032098761_r8, & + 0.0033019776227160495_r8, 0.0037021910004938264_r8, & + 0.0040757234864197524_r8, 0.0040812704493827156_r8, & + 0.0042490475891358024_r8, 0.0045176038009876541_r8, & + 0.0048280950528395063_r8, 0.0050837453308641969_r8, & + 0.0052165950938271614_r8, 0.0056010458518518502_r8, & + 0.0059655645229629625_r8, 0.0064227267204938262_r8, & + 0.0070415828883950626_r8, 0.0076679644360493817_r8, & + 0.0081313854567901245_r8, 0.0087766181269506149_r8, & + 0.0093296103499999981_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,21) / & + 0.00041366476296296299_r8, 0.00035817664345679011_r8, & + 0.0003413785906172839_r8, 0.00029300907358024688_r8, & + 0.000296845722962963_r8, 0.00030526786172839509_r8, & + 0.0003031415259259259_r8, 0.00033144028197530862_r8, & + 0.00036641388345679015_r8, 0.00039715330320987645_r8, & + 0.00045031169827160488_r8, 0.00048860423259259255_r8, & + 0.00058203357876543209_r8, 0.00065472652839506187_r8, & + 0.00075032843506172848_r8, 0.00083973623308641985_r8, & + 0.0010042129298765429_r8, 0.001203173246419753_r8, & + 0.0014693812439506172_r8, 0.00187233112345679_r8, 0.002347262092345679_r8, & + 0.0026191557269135803_r8, 0.0028399988123456788_r8, & + 0.0033191362281481474_r8, 0.0039447966706172843_r8, & + 0.0044864021343209871_r8, 0.0048291212409876539_r8, & + 0.005498140443950617_r8, 0.0058842737807407409_r8, & + 0.0061635726108641977_r8, 0.0066675061067283936_r8, & + 0.007263312497372134_r8, 0.0078193650921481485_r8, & + 0.0083003297699999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,21) / & + 0.00024099705086419752_r8, 0.00024402014567901232_r8, & + 0.00023371203950617284_r8, 0.00016052910814814809_r8, & + 0.00016247979012345675_r8, 0.00016676944148148149_r8, & + 0.00017481253777777776_r8, 0.00019382937580246913_r8, & + 0.00021987236691358022_r8, 0.00023621741777777775_r8, & + 0.00024666419802469133_r8, 0.00025685212000000002_r8, & + 0.00027906770666666662_r8, 0.00030227250172839507_r8, & + 0.00032755740790123457_r8, 0.00034819211012345684_r8, & + 0.0003935015525925926_r8, 0.00048341782222222215_r8, & + 0.00069302830765432112_r8, 0.0010476826296296296_r8, & + 0.0015173254938271601_r8, 0.0020522746019753083_r8, & + 0.0025990294962962963_r8, 0.0032610687708641973_r8, & + 0.0039633697516049384_r8, 0.0046499947838888889_r8, & + 0.005178177752839506_r8, 0.0061566333601975314_r8, & + 0.0066302136436049387_r8, 0.0068856594103880071_r8, & + 0.0072681779102786595_r8, 0.0076238733443738981_r8, & + 0.0080227612291269828_r8, 0.0083647884016904758_r8, & + 0.0084911427601714294_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,21) / & + 0.00018774620641975309_r8, 0.00019058440246913581_r8, & + 0.00016776789481481481_r8, 0.00014993440888888884_r8, & + 0.00015415010074074071_r8, 0.00015466781728395057_r8, & + 0.00015439046913580249_r8, 0.00015972479851851848_r8, & + 0.0001653364760493827_r8, 0.00017392502370370373_r8, & + 0.00018505592938271602_r8, 0.00020263980197530863_r8, & + 0.00023247321777777777_r8, 0.00025924655901234572_r8, & + 0.00027369639753086421_r8, 0.00028615857432098764_r8, & + 0.00031556672296296286_r8, 0.00036817966666666675_r8, & + 0.00051809558567901233_r8, 0.00082346514172839497_r8, & + 0.0013593202538271605_r8, 0.0020322778004938273_r8, & + 0.002787848115555555_r8, 0.0036730047303703702_r8, & + 0.0044726826459259251_r8, 0.0050787807990123456_r8, & + 0.0056227899466666665_r8, 0.0064909913446913586_r8, & + 0.0069723660355555548_r8, 0.0071544081150617285_r8, & + 0.0074386865000617289_r8, 0.0078539720988095238_r8, & + 0.0082040212528906517_r8, 0.0084244370240687816_r8, & + 0.0087111469599047628_r8, 0.0088367800249999993_r8, & + 0.0088760005199999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,21) / & + 0.00018894804839506173_r8, 0.0001868402024691358_r8, & + 0.00016485573925925927_r8, 0.00017336108246913582_r8, & + 0.00018161681234567898_r8, 0.00017971235506172839_r8, & + 0.00017358296098765429_r8, 0.00016305297629629626_r8, & + 0.00015000836839506169_r8, 0.00015288354419753085_r8, & + 0.00016475404493827161_r8, 0.00018153360790123456_r8, & + 0.00020617136839506169_r8, 0.0002458136637037037_r8, & + 0.00027095065086419755_r8, 0.00028886734123456794_r8, & + 0.0003186822671604938_r8, 0.00038680821728395064_r8, & + 0.00055426178419753082_r8, 0.0010020681041975307_r8, & + 0.0016262493565432099_r8, 0.0024653846686419753_r8, & + 0.0033852467817283944_r8, 0.0043003200167901229_r8, & + 0.0050704511096296302_r8, 0.0055640383639506165_r8, & + 0.0060053732271604923_r8, 0.0067636800439506185_r8, & + 0.0071637732375308631_r8, 0.0072769590167901235_r8, & + 0.0074413894888888882_r8, 0.0078309434528395054_r8, & + 0.0081973538694444428_r8, 0.0084521478350617282_r8, & + 0.008757462845975306_r8, 0.0089640655567760144_r8, & + 0.0090402030053174601_r8, 0.0092616531199999994_r8, & + 0.0093095788799999989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,21) / & + 0.00022168438775772842_r8, 0.00021941942558506669_r8, & + 0.00020683090192156046_r8, 0.00022936387323585185_r8, & + 0.00022275368320404936_r8, 0.0002256310600414222_r8, & + 0.00024793073053106169_r8, 0.00024292448366874071_r8, & + 0.00021501587251976294_r8, 0.00019780993670168889_r8, & + 0.000190042963414321_r8, 0.00019789742451093332_r8, & + 0.00021649344440922459_r8, 0.00025097336211922966_r8, & + 0.00028712526907257287_r8, 0.00030901666311907155_r8, & + 0.00034620870291565437_r8, 0.00042429643310016788_r8, & + 0.00069691816757355056_r8, 0.0013335669554453728_r8, & + 0.0021283742606957629_r8, 0.0032351339311087603_r8, & + 0.0043062569005561874_r8, 0.005242493109884068_r8, & + 0.0059246355585630024_r8, 0.0063802331856372936_r8, & + 0.0067830853846048787_r8, 0.0075592189030154276_r8, & + 0.0080342679863450658_r8, 0.0082555829811304295_r8, & + 0.0083119445720192409_r8, 0.0083701822903729569_r8, & + 0.0086087809879179453_r8, 0.0089353729798274557_r8, & + 0.0092773433844286005_r8, 0.0095137062824040084_r8, & + 0.0096346337029282973_r8, 0.0097829859825642532_r8, & + 0.0099564517072785984_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,21) / & + 0.00024914854073355064_r8, 0.0002472621332670815_r8, & + 0.00024411132295822224_r8, 0.0002471295749045728_r8, & + 0.0002418374372013432_r8, 0.00024565103932274569_r8, & + 0.00029625774340969878_r8, 0.00030249818324472094_r8, & + 0.00029834808681848885_r8, 0.00029486078220480004_r8, & + 0.00028923215019674073_r8, 0.00030287546473801487_r8, & + 0.0002953094412779062_r8, 0.00028305289114441477_r8, & + 0.00029876615550024691_r8, 0.00031423469672529382_r8, & + 0.00038394000181060742_r8, 0.0005483327649155556_r8, & + 0.0011153562589448296_r8, 0.0022837154692988844_r8, & + 0.0036876614802221429_r8, 0.0050754965517020448_r8, & + 0.0060161612824547158_r8, 0.0066643002975421643_r8, & + 0.0071197912247160881_r8, 0.0075116439410887513_r8, & + 0.0078853361617977295_r8, 0.0085495657227342998_r8, & + 0.0089508096892508444_r8, 0.0091118477061046116_r8, & + 0.0091441817497596046_r8, 0.0091745274179769673_r8, & + 0.0093834597908848179_r8, 0.0096914642445722066_r8, & + 0.0099936157367149815_r8, 0.010224287681074251_r8, 0.010420433270398577_r8, & + 0.010536795295288014_r8, 0.010679633959397658_r8, 0.010766762823052228_r8, & + 0.010724429217471116_r8, 0.0102701579729008_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,21) / & + 0.00026267714555994073_r8, 0.00026166323653880496_r8, & + 0.00026060663661151614_r8, 0.00027492943562587655_r8, & + 0.00027653034460661731_r8, 0.00028704298024681487_r8, & + 0.00040737797196582721_r8, 0.00041230877162650863_r8, & + 0.00045257696885540747_r8, 0.00050848071046287414_r8, & + 0.00056062765232886916_r8, 0.00054270814447111122_r8, & + 0.00051143705571397543_r8, 0.00048032605785491362_r8, & + 0.00048106247598605437_r8, 0.00050225851089106177_r8, & + 0.00066821940856118527_r8, 0.0013067366191663605_r8, & + 0.002579971549729086_r8, 0.0043558171911586381_r8, & + 0.0058991574849519418_r8, 0.0069189898693164846_r8, & + 0.0075399611174927434_r8, 0.0079360153266014623_r8, & + 0.0082309561244865975_r8, 0.0085251925224202087_r8, & + 0.0087952231765650191_r8, 0.0093213672494487313_r8, & + 0.0096901739877052456_r8, 0.009863306957609088_r8, & + 0.0099692444412279729_r8, 0.010124895485062124_r8, 0.01040779744741209_r8, & + 0.01066350530254254_r8, 0.010861046798039406_r8, 0.011013346605740545_r8, & + 0.011190695302627006_r8, 0.011299023476990459_r8, 0.011344378562505662_r8, & + 0.011353587791417376_r8, 0.011326002376302708_r8, 0.011142566642302669_r8, & + 0.011091417600368003_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,21) / & + 0.00026753429708397037_r8, 0.00027289680060096786_r8, & + 0.00027641977588448391_r8, 0.00030677756606490859_r8, & + 0.00032659987636266658_r8, 0.00037305632575004448_r8, & + 0.00060394499069187145_r8, 0.00085258231592280468_r8, & + 0.0010589216404396243_r8, 0.0012038541679260442_r8, & + 0.0013409045956483949_r8, 0.0014032813257473578_r8, & + 0.001411564777126005_r8, 0.0013648742059634564_r8, & + 0.0013260880318768985_r8, 0.0013563789301215604_r8, & + 0.0020057100992286019_r8, 0.0033913653999024193_r8, & + 0.0048100318708752584_r8, 0.0060940783211251336_r8, & + 0.007151662122849501_r8, 0.0078860129423112685_r8, & + 0.0084017051724198672_r8, 0.008783312517291612_r8, & + 0.0090729100045214006_r8, 0.0093080017127603349_r8, & + 0.0094986771756526596_r8, 0.0099805555322330843_r8, 0.01035160509991024_r8, & + 0.010588703566222064_r8, 0.010756200973372522_r8, 0.010961213607830041_r8, & + 0.011258994208534833_r8, 0.011489503819174003_r8, 0.011591748142987692_r8, & + 0.01172037018680391_r8, 0.011867655080697991_r8, 0.011948973377273835_r8, & + 0.011958547285579907_r8, 0.011953415320341524_r8, 0.011932386406935809_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,21) / & + 0.00026471505833520982_r8, 0.00028007113562577782_r8, & + 0.00029676404023535805_r8, 0.00035839759193451854_r8, & + 0.00044161799868938276_r8, 0.00054644850967071606_r8, & + 0.00098586946172276538_r8, 0.0015199377879608889_r8, & + 0.0017915113516719008_r8, 0.0020359066347581233_r8, & + 0.0022749081102267656_r8, 0.0024541243430720983_r8, & + 0.0024880565078042468_r8, 0.0023821914087238517_r8, & + 0.0023113744345723457_r8, 0.0024535663629737282_r8, & + 0.0035117058720208396_r8, 0.004832212273155851_r8, & + 0.0059553797128338764_r8, 0.0069669511328378265_r8, & + 0.0078637762705289875_r8, 0.0085702604471635559_r8, & + 0.0091528265436183701_r8, 0.0095071671552543202_r8, & + 0.0097569213722019758_r8, 0.0099701162681209866_r8, & + 0.010165165186257579_r8, 0.010687678674625284_r8, 0.011066605284345679_r8, & + 0.011318777415052939_r8, 0.011499307226046519_r8, 0.011727323468328492_r8, & + 0.012010858730398321_r8, 0.012279433151080592_r8, 0.012388355516116644_r8, & + 0.012430517887299751_r8, 0.012454336662748939_r8, 0.012458056530071407_r8, & + 0.012427156929050975_r8, 0.012397485174861594_r8, 0.012375261167977783_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,21) / & + 0.00026105650640173827_r8, 0.00027442757526119506_r8, & + 0.00029182811555069629_r8, 0.00038196485033268143_r8, & + 0.00049367680301187159_r8, 0.00061382281451010366_r8, & + 0.0010699396195674466_r8, 0.0016142449765231802_r8, & + 0.0018945776030091851_r8, 0.0021696344050402367_r8, & + 0.002362395605882904_r8, 0.0024241566334473083_r8, & + 0.0024651652781212448_r8, 0.002465806605405906_r8, 0.002490697364359664_r8, & + 0.0027184290529886027_r8, 0.0037027575303111111_r8, & + 0.0048806095409089974_r8, 0.0060202360252380833_r8, & + 0.0070670999630725127_r8, 0.0079386758434426084_r8, & + 0.0086948370136032006_r8, 0.0093399396588840708_r8, & + 0.0097355659904315266_r8, 0.0100425318500032_r8, 0.010319125417414478_r8, & + 0.010597243649691182_r8, 0.011236804259191388_r8, 0.011746562646379022_r8, & + 0.012061127629248198_r8, 0.012270236625592335_r8, 0.012476042181394725_r8, & + 0.012716769822924167_r8, 0.012946619101643969_r8, 0.013005403402566363_r8, & + 0.013018181546200375_r8, 0.012991741921351586_r8, 0.012973312837303666_r8, & + 0.012971001638975924_r8, 0.012912270277805803_r8, 0.01283463229441421_r8, & + 0.0128795519983376_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,21) / & + 0.00026879634246710119_r8, 0.00026775249759624693_r8, & + 0.0002722045588526617_r8, 0.00034695894333890365_r8, & + 0.00039259885943926913_r8, 0.0004510164428744295_r8, & + 0.00073758330103450883_r8, 0.0011569574102334025_r8, & + 0.0015962400306438916_r8, 0.0019388223713917431_r8, & + 0.0020803576747242076_r8, 0.0021423092389872005_r8, & + 0.0022706895816580544_r8, 0.0024219716292665679_r8, & + 0.0026282756203689084_r8, 0.0029369895968130175_r8, & + 0.0038391482470041482_r8, 0.0049054546472481779_r8, & + 0.0060099682850543205_r8, 0.0070183727360765046_r8, & + 0.0078411237174173427_r8, 0.0086394889734017193_r8, & + 0.0092741718077695989_r8, 0.0097977794867232012_r8, & + 0.010246318370084878_r8, 0.010630038259899773_r8, 0.010989573647465835_r8, & + 0.011800615959231188_r8, 0.012434732853608851_r8, 0.012835330331576593_r8, & + 0.013076206967859398_r8, 0.013253547407906586_r8, 0.013435025498104512_r8, & + 0.013677864059686755_r8, 0.013776488535316151_r8, 0.013769760137654619_r8, & + 0.013690905832350322_r8, 0.013528933807148721_r8, 0.013590432619419536_r8, & + 0.013523485062687302_r8, 0.013368294885035199_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,21) / & + 0.00029160307970085917_r8, 0.00028502468338157023_r8, & + 0.00028140917588069129_r8, 0.00035768724748768392_r8, & + 0.00039852812463660241_r8, 0.00045640234939796543_r8, & + 0.00082782069396480007_r8, 0.0012515529521183605_r8, & + 0.0017250930681179653_r8, 0.0021579358830787947_r8, & + 0.0023387634676173431_r8, 0.0024805905596915353_r8, & + 0.0026473215806887503_r8, 0.0028483150825155948_r8, & + 0.0031656313383057379_r8, 0.0035509765655564632_r8, & + 0.0044664700533241673_r8, 0.0054038784764491839_r8, & + 0.0063901680388911402_r8, 0.0073489954071747935_r8, & + 0.0081433759198498764_r8, 0.0089160633875196831_r8, & + 0.0095828961048929975_r8, 0.010165384383743998_r8, 0.010654522086254616_r8, & + 0.011108039861076068_r8, 0.011511097159369005_r8, 0.012384705580095839_r8, & + 0.013159155118208313_r8, 0.013615896829321166_r8, 0.013865706208596701_r8, & + 0.014069975856209541_r8, 0.014312227911142084_r8, 0.014618914640141506_r8, & + 0.014752889097918892_r8, 0.014661051291684468_r8, 0.014505420195701174_r8, & + 0.014223712260310771_r8, 0.014141799805308679_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,21) / & + 0.00032600437100438218_r8, 0.00031764455612128391_r8, & + 0.00031032912623531352_r8, 0.00043376474553640486_r8, & + 0.00050563520843461326_r8, 0.0006170299615868226_r8, & + 0.0010679506246634835_r8, 0.0016541029109045215_r8, & + 0.0021468165606602905_r8, 0.0026268521611925067_r8, & + 0.0028462937506942795_r8, 0.0029932912772476085_r8, & + 0.0031313702700009821_r8, 0.0033000621215675129_r8, & + 0.003645873619306609_r8, 0.0040532700111185717_r8, & + 0.0049820617462359917_r8, 0.00593444244521179_r8, 0.006866523925428648_r8, & + 0.0078022925446476704_r8, 0.0085496075053807363_r8, & + 0.0092476906037831964_r8, 0.0099309121848463484_r8, & + 0.010565746746105706_r8, 0.011114482355080562_r8, 0.011619221071859845_r8, & + 0.01208842900513649_r8, 0.013059046967906279_r8, 0.013912682940039922_r8, & + 0.014333821865265703_r8, 0.014620915599506484_r8, 0.01481383277664481_r8, & + 0.015096206340997807_r8, 0.015358415293207419_r8, 0.01541867094695161_r8, & + 0.015296458117144402_r8, 0.015114373921952137_r8, 0.014847715088102799_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,21) / & + 0.00036690020685002525_r8, 0.00036450916546558015_r8, 0.000357885163496_r8, & + 0.00044414423354172843_r8, 0.00051722532081076528_r8, & + 0.00066304789271086416_r8, 0.0010543506559952591_r8, & + 0.0017224295692295304_r8, 0.002175729069764099_r8, & + 0.0026486156776026107_r8, 0.0029395903687721658_r8, & + 0.0032066335771388332_r8, 0.0035307208384077774_r8, & + 0.003792312899276222_r8, 0.004153373772565778_r8, 0.0046063614288517768_r8, & + 0.0054632854166606669_r8, 0.0064465896003077783_r8, & + 0.0073860325277842198_r8, 0.008248169090987776_r8, & + 0.0089634892819353326_r8, 0.0095707265570245913_r8, & + 0.010284592808548591_r8, 0.011042599400590814_r8, 0.011626017726888295_r8, & + 0.012161158962419111_r8, 0.01269167471999349_r8, 0.013878461282041954_r8, & + 0.014744052729413832_r8, 0.015302483763811641_r8, 0.015598368688999345_r8, & + 0.015749777649271466_r8, 0.015933603606920293_r8, 0.016042691076384445_r8, & + 0.016067196482644_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,21) / & + 0.00034680879016693816_r8, 0.00035262705704844886_r8, & + 0.00036323150019793965_r8, 0.00044997997821270407_r8, & + 0.00049094373569483999_r8, 0.00068321675567686207_r8, & + 0.00096453761288490549_r8, 0.0015340912515895944_r8, & + 0.0022470473638096389_r8, 0.0028120397515107726_r8, & + 0.0031447382142192216_r8, 0.0034339581807544942_r8, & + 0.0038426723349645211_r8, 0.0041731121639171026_r8, & + 0.0045250167513869524_r8, 0.0049162344354528051_r8, & + 0.0057133537737795274_r8, 0.006691265626214144_r8, & + 0.0076300932591120436_r8, 0.008441173283546077_r8, & + 0.0091718734766790613_r8, 0.0098912642108505491_r8, & + 0.010561377144001481_r8, 0.011360798052349897_r8, 0.011983389615191976_r8, & + 0.012554557145514504_r8, 0.013108726452549929_r8, 0.014378386740507249_r8, & + 0.015235672121248857_r8, 0.015753614390339205_r8, 0.016088807578086336_r8, & + 0.016239701208224367_r8, 0.016405985802462966_r8, 0.01648415261251818_r8, & + 0.016563596572854399_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,21) / & + 0.00032754006350392003_r8, 0.00032951260436479997_r8, & + 0.00034041559495039998_r8, 0.00043551390172479997_r8, & + 0.00048154875086399998_r8, 0.00078804393065920009_r8, & + 0.0011611684973664002_r8, 0.0017971762815264002_r8, & + 0.0025815858819904004_r8, 0.0030873635008224001_r8, & + 0.0033999158976095998_r8, 0.0036846050962336002_r8, 0.0041092160073728_r8, & + 0.0044544773759168004_r8, 0.0048106417350464005_r8, & + 0.0051934578489407999_r8, 0.0060075478126656008_r8, & + 0.0069488393332224003_r8, 0.0079192054953408_r8, 0.0087454098930496004_r8, & + 0.009518310781228799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,21) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,21) / & + 0.0020128244611227648_r8, 0.0017430519035733331_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,21) / & + 0.0023221893613957403_r8, 0.002567534009727417_r8, & + 0.0023664123124938581_r8, 0.0021808680669508267_r8, & + 0.0022148917541311998_r8, 0.0022257860382037331_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,21) / & + 0.0019855610906157556_r8, 0.0017341826256026469_r8, & + 0.0017664458937082074_r8, 0.0018874704415209581_r8, & + 0.001957787348471858_r8, 0.0022127860455980228_r8, & + 0.0020751850945807441_r8, 0.0019891647314086397_r8, & + 0.0018305355758927999_r8, 0.001777889338208_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,21) / & + 0.0010212230708028366_r8, 0.00076732676482025349_r8, & + 0.00091496803900465524_r8, 0.0011656278753487132_r8, & + 0.0013719030751775218_r8, 0.0018044165761921787_r8, & + 0.0018597785298672745_r8, 0.001871376879523928_r8, & + 0.0018061755156471985_r8, 0.0017984975804659811_r8, & + 0.0018047000740028275_r8, 0.0019010266781735508_r8, & + 0.0020190563710927485_r8, 0.0020655788317060896_r8, & + 0.002106614904854566_r8, 0.0021124696828446498_r8, & + 0.0021618076996150208_r8, 0.0022281179941543985_r8, & + 0.0023511209591640493_r8, 0.0025285536242747732_r8, & + 0.0026749099172223996_r8, 0.0027755594714339552_r8, & + 0.0026165726461931139_r8, 0.0029436836973806692_r8, & + 0.003238034305432699_r8, 0.0035060581477360593_r8, & + 0.0036381853566471111_r8, 0.0037952776020439712_r8, & + 0.0038970125926244734_r8, 0.0039557248325812148_r8, 0.0040283503932672_r8, & + 0.0040809118271332339_r8, 0.0041147905986488893_r8, & + 0.004128802595411674_r8, 0.0041284078912775107_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,21) / & + 0.0014255875251356707_r8, 0.0016934347463694488_r8, & + 0.0019050069958692611_r8, 0.0018667237819252412_r8, & + 0.0020467315440742722_r8, 0.002157342526176369_r8, & + 0.0019303487699994597_r8, 0.0018893149364434438_r8, & + 0.0019558258205040198_r8, 0.0019640776793400099_r8, & + 0.0019548788858834965_r8, 0.0020203977431987627_r8, & + 0.0021168948902425813_r8, 0.0021558544860584032_r8, & + 0.0022191638292591146_r8, 0.0022522614488526488_r8, & + 0.0023345094844638291_r8, 0.002392362680565334_r8, & + 0.0024900322228536102_r8, 0.0026350484961680598_r8, & + 0.0027530094946104098_r8, 0.0028663260041997172_r8, & + 0.0028904051988358844_r8, 0.0031170833101392859_r8, & + 0.0033259951242766749_r8, 0.0035352225832875725_r8, & + 0.0036983658907663274_r8, 0.0039038957955447049_r8, & + 0.0039621999128940776_r8, 0.00403831541953425_r8, 0.0041037440925999419_r8, & + 0.0041659261326809803_r8, 0.0042027213065070363_r8, & + 0.0042129403092868506_r8, 0.0042184560424080985_r8, & + 0.0042031045895677237_r8, 0.0042334741356116548_r8, & + 0.0042587708176170663_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,21) / & + 0.0021560697131519993_r8, 0.0029657482704213327_r8, & + 0.0029650070186666667_r8, 0.0036167062957226659_r8, & + 0.0035196949723306664_r8, 0.0037707476759893327_r8, & + 0.0030945870910293323_r8, 0.0022612811340799997_r8, & + 0.0022799514126506664_r8, 0.0023013550570666658_r8, & + 0.0022471046942719995_r8, 0.0022720292845226663_r8, & + 0.0022957956689066664_r8, 0.0023512505658026673_r8, & + 0.0024082806226773334_r8, 0.0024631795807573322_r8, & + 0.0024993156037973322_r8, 0.0025352199856640001_r8, & + 0.002617174632789333_r8, 0.0027355432723626663_r8, & + 0.0028376970298026652_r8, 0.002967555071573333_r8, & + 0.0030993125709653326_r8, 0.0032648433534293335_r8, & + 0.0034566422449493327_r8, 0.0036255549885439993_r8, & + 0.0038340320445439994_r8, 0.004154391787264_r8, 0.0041426707438933334_r8, & + 0.0041546697566719982_r8, 0.0041831152927573334_r8, & + 0.0042124873935359998_r8, 0.0042444538754559998_r8, & + 0.0042415351966720001_r8, 0.0042631241540266656_r8, & + 0.0042778102044159997_r8, 0.0043593478974293318_r8, & + 0.0043732000395946668_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,22) / & + 0.0030905696571428571_r8, 0.0031832356355555556_r8, & + 0.0031611884388359785_r8, 0.0032704953061375663_r8, & + 0.0035213705735449735_r8, 0.003996418424867725_r8, & + 0.0046679476285714288_r8, 0.0050018767800000001_r8, & + 0.0051931598356613753_r8, 0.0055138773099470901_r8, & + 0.0055444668296296294_r8, 0.005621304153015874_r8, & + 0.0057503162100317456_r8, 0.0059259905081269848_r8, & + 0.0060220330021375657_r8, 0.0061655991013333331_r8, & + 0.0066195070805925927_r8, 0.0069835695140000008_r8, & + 0.0071820897714814829_r8, 0.0073250488744444455_r8, & + 0.0074927515924444448_r8, 0.007861958833999998_r8, & + 0.0079141363411111103_r8, 0.0080923186588888873_r8, & + 0.0082966271722222217_r8, 0.0084429837900000006_r8, & + 0.0085690385233333326_r8, 0.0088743780333333331_r8, & + 0.0090925262192592584_r8, 0.0091693724574074074_r8, & + 0.0091857776003703689_r8, 0.0091657391966666665_r8, & + 0.0090950223525925918_r8, 0.0090806418511111108_r8, & + 0.0089287105355555542_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,22) / & + 0.0027725292528395055_r8, 0.0028450003239506171_r8, & + 0.0026853679748148145_r8, 0.0024519610182716046_r8, & + 0.0028055891520987653_r8, 0.0032174234172839505_r8, & + 0.0041953899674074075_r8, 0.0047843017802469134_r8, & + 0.0051808911422222227_r8, 0.0056043278049382724_r8, & + 0.005770773673580247_r8, 0.0060119463782716057_r8, & + 0.0061575171762962965_r8, 0.0062207248192592607_r8, & + 0.0062710172834567887_r8, 0.0063208105209876537_r8, & + 0.0064367328019753079_r8, 0.006595505371851852_r8, & + 0.0067307310839506166_r8, 0.0068925729733333337_r8, & + 0.0070739586622222215_r8, 0.0073513622799999999_r8, & + 0.007551108416296296_r8, 0.007721104341234567_r8, 0.0078841734961728385_r8, & + 0.0080568423638888893_r8, 0.0082057149255820114_r8, & + 0.0085745329882539675_r8, 0.0089747122918306874_r8, & + 0.0090975970679012339_r8, 0.0091502424349241621_r8, & + 0.0091690954394356254_r8, 0.0091105767301111126_r8, & + 0.0090813178872222212_r8, 0.0089333260049523824_r8, & + 0.0090654570400000006_r8, 0.0090557221199999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,22) / & + 0.0022799959214814813_r8, 0.0023854806671604937_r8, & + 0.0022541563190123458_r8, 0.0015670909965432094_r8, & + 0.0017878971022222223_r8, 0.002014425824691358_r8, & + 0.0026982739086419756_r8, 0.0036397321975308638_r8, & + 0.0041951588439506178_r8, 0.0046277757303703699_r8, & + 0.0050198628074074074_r8, 0.0052881786508641969_r8, & + 0.0055776746479012339_r8, 0.0057348848232098753_r8, & + 0.005873189099753086_r8, 0.0059617925881481479_r8, & + 0.0061056715624691364_r8, 0.0062103612434567905_r8, & + 0.0063439506014814819_r8, 0.006502048290864198_r8, & + 0.0066602938992592594_r8, 0.0068780953999999983_r8, & + 0.0070778600261728383_r8, 0.0072727479474074073_r8, & + 0.0075061912233509703_r8, 0.0077211413209876539_r8, & + 0.0079065951128924165_r8, 0.0082768307877954146_r8, & + 0.0086868161973968246_r8, 0.0089424444196402122_r8, & + 0.0091461341824620804_r8, 0.0092709932811358038_r8, & + 0.0093239929934356251_r8, 0.0093479059507689602_r8, & + 0.0093480363704338612_r8, 0.0093484378648959442_r8, & + 0.0093499061922169314_r8, 0.009354988696084655_r8, & + 0.0093546118988148148_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,22) / & + 0.0018122944943209879_r8, 0.0018167505545679012_r8, & + 0.0014830545076543209_r8, 0.0012989138271604938_r8, & + 0.0013583680251851853_r8, 0.0014660992908641975_r8, & + 0.0016315744409876544_r8, 0.0021366531535802471_r8, & + 0.0025138004103703706_r8, 0.0028793360246913576_r8, & + 0.0032904122049382712_r8, 0.0036936671674074073_r8, & + 0.0044058509871604933_r8, 0.004607806663703703_r8, & + 0.0050052558049382707_r8, 0.005281929072592592_r8, & + 0.0055004979032098767_r8, 0.0057200744320987651_r8, & + 0.0058682430577777778_r8, 0.0060115580908641983_r8, & + 0.006108713147160493_r8, 0.0062604965437037027_r8, & + 0.0064323229664197522_r8, 0.0065953112281481466_r8, & + 0.006769661519012345_r8, 0.0069874352849382702_r8, & + 0.0072163214666666666_r8, 0.0077379948434567894_r8, & + 0.0082159581520987648_r8, 0.0085863011343209877_r8, & + 0.0089069248385185186_r8, 0.0091604395358024678_r8, & + 0.0093108361916049379_r8, 0.0093976554069135805_r8, & + 0.0094419016814814832_r8, 0.0094594023496296295_r8, & + 0.0094636122633950607_r8, 0.0094216625305467375_r8, & + 0.0094016851104179889_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,22) / & + 0.0011421566538271605_r8, 0.00098982780592592602_r8, & + 0.00061725679358024671_r8, 0.00099896180493827145_r8, & + 0.0010179509081481481_r8, 0.0010677441456790123_r8, & + 0.0011458176493827161_r8, 0.0012724178340740738_r8, & + 0.0014212520953086421_r8, 0.0015575964449382714_r8, & + 0.0018319677229629628_r8, 0.0021176085807407406_r8, & + 0.0030161888459259256_r8, 0.0031490108740740742_r8, & + 0.0035807864711111109_r8, 0.0039900044187654313_r8, & + 0.0041835656913580248_r8, 0.004598432296296296_r8, & + 0.0048921902098765426_r8, 0.005139732677037036_r8, 0.005295888929382717_r8, & + 0.0053837435777777777_r8, 0.0055696223066666667_r8, & + 0.0056926169654320982_r8, 0.0058315591427160491_r8, & + 0.0059881776419753096_r8, 0.0061458962888888873_r8, & + 0.0065492714355555549_r8, 0.0070481098148148149_r8, & + 0.0075847692365432111_r8, 0.0081144209950617264_r8, & + 0.0085711024558024693_r8, 0.008905334709135803_r8, & + 0.0091742976982716051_r8, 0.0093769005204938274_r8, & + 0.0094438069642063509_r8, 0.0094551874502010573_r8, & + 0.0094109664671428554_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,22) / & + 0.00064995614024691373_r8, 0.00046030547654320989_r8, & + 0.00035915660691358028_r8, 0.00065452313975308634_r8, & + 0.00066875109975308631_r8, 0.00069145666814814815_r8, & + 0.00071902507407407422_r8, 0.00078019883061728379_r8, & + 0.00080615861728395059_r8, 0.0008330151629629631_r8, & + 0.00095143357728395069_r8, 0.001025651941728395_r8, & + 0.0015287429925925926_r8, 0.0016516082222222223_r8, & + 0.0018843218083950616_r8, 0.0021133374192592591_r8, & + 0.0024028796409876541_r8, 0.0027870345609876538_r8, & + 0.0031680092222222222_r8, 0.0035707649580246914_r8, & + 0.0039386580316049385_r8, 0.0040025867797530866_r8, & + 0.0042923786148148148_r8, 0.0046126325214814806_r8, & + 0.004940226909135802_r8, 0.0052065088661728404_r8, & + 0.0053509795165432097_r8, 0.0056985984404938263_r8, & + 0.0060367782824691345_r8, 0.0064901593002469121_r8, & + 0.0071531692933333333_r8, 0.0078400866967901217_r8, & + 0.008330225589135801_r8, 0.0087784305970987665_r8, & + 0.0093090643991851855_r8, 0.0094361863285714279_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,22) / & + 0.00036694084493827154_r8, 0.00028902450518518516_r8, & + 0.00032299965333333337_r8, 0.0002772279639506172_r8, & + 0.00028314472444444441_r8, 0.0002925560716049382_r8, & + 0.00030181025481481488_r8, 0.00033526768641975311_r8, & + 0.00036251251950617284_r8, 0.0003849130049382716_r8, & + 0.00043647202567901233_r8, 0.00045785556790123452_r8, & + 0.00061773753037037038_r8, 0.00070235645037037035_r8, & + 0.00081941585876543202_r8, 0.00092430892839506177_r8, & + 0.001110714618765432_r8, 0.0013734834992592591_r8, & + 0.0016606590167901234_r8, 0.0020547337555555552_r8, & + 0.0025720527664197523_r8, 0.0029539426765432097_r8, & + 0.0032796788316049384_r8, 0.0038947723096296296_r8, & + 0.0044930862246913578_r8, 0.0049704023876543206_r8, & + 0.0052565886967901243_r8, 0.0058041016760493822_r8, & + 0.006095437415802471_r8, 0.0063242866177777779_r8, & + 0.0067672208553086416_r8, 0.0073801972424691357_r8, & + 0.0079974156695555559_r8, 0.0083994054622222227_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,22) / & + 0.00022210039703703696_r8, 0.00024545311111111111_r8, & + 0.00025678740543209872_r8, 0.00016287732246913578_r8, & + 0.00016647360345679012_r8, 0.00017024553827160491_r8, & + 0.00017665228049382716_r8, 0.00019029780938271601_r8, & + 0.00020869523654320989_r8, 0.00022318205481481484_r8, & + 0.00023757642370370369_r8, 0.00025300622567901238_r8, & + 0.0002769136360493827_r8, 0.00030291964740740743_r8, & + 0.000329535824691358_r8, 0.00035251874123456788_r8, & + 0.00040289440987654324_r8, 0.00052316181185185187_r8, & + 0.00075139160296296289_r8, 0.0011222060770370366_r8, & + 0.0016564987945679012_r8, 0.002280606087407407_r8, & + 0.0029567623827160489_r8, 0.0038255184770370366_r8, & + 0.0045381090740740744_r8, 0.0051096219130864198_r8, & + 0.0055432372528395057_r8, 0.0062749833619753087_r8, & + 0.0066506144488888879_r8, 0.0068241419402469139_r8, & + 0.007082547209876543_r8, 0.0074939192281481479_r8, & + 0.0079653833451851855_r8, 0.0083473622378395038_r8, & + 0.0084500175371428569_r8, 0.0085353032813333327_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,22) / & + 0.00018844882172839507_r8, 0.00019892333679012342_r8, & + 0.00017584797086419752_r8, 0.0001604643935802469_r8, & + 0.00016621474518518518_r8, 0.00016660303259259261_r8, & + 0.00016575249827160493_r8, 0.00016981102617283947_r8, & + 0.00017640266716049382_r8, 0.00018548119654320986_r8, & + 0.00019532705580246917_r8, 0.00021672908790123461_r8, & + 0.00024494463950617288_r8, 0.00026704004197530861_r8, & + 0.00028442052592592598_r8, 0.00029915695753086414_r8, & + 0.00032944337530864208_r8, 0.00039919643456790119_r8, & + 0.00061103495012345679_r8, 0.00096321162864197534_r8, & + 0.0015328107654320987_r8, 0.0022738572824691355_r8, & + 0.0031651432913580245_r8, 0.0042335992972839511_r8, & + 0.0049825409916049385_r8, 0.0054651082795061732_r8, & + 0.0058626128903703709_r8, 0.0065754715906172828_r8, & + 0.0069741040839506182_r8, 0.0071010001066666665_r8, & + 0.0073080185425308626_r8, 0.0076742845069753072_r8, & + 0.0080822880659523807_r8, 0.0083969179134744266_r8, & + 0.0085412670589417993_r8, 0.0086624407124999987_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,22) / & + 0.000194042009382716_r8, 0.00019269224839506171_r8, & + 0.00017385106419753088_r8, 0.00018350277975308645_r8, & + 0.00018813449382716046_r8, 0.00018816222864197533_r8, & + 0.00018012837728395063_r8, 0.00016751828148148148_r8, & + 0.00016059382271604939_r8, 0.00016686189086419754_r8, & + 0.00017874163654320985_r8, 0.00020037479209876545_r8, & + 0.00023741001481481481_r8, 0.00026534821827160489_r8, & + 0.00028594594074074075_r8, 0.00030305832148148145_r8, & + 0.00033427847802469136_r8, 0.0004144136029629629_r8, & + 0.00064201473827160476_r8, 0.0011438299876543208_r8, & + 0.0018510770103703704_r8, 0.0027850191644444443_r8, & + 0.0037947975471604939_r8, 0.0047091959017283936_r8, & + 0.0054015123491358025_r8, 0.0058431245604938275_r8, & + 0.0062011810197530864_r8, 0.0069524801733333317_r8, & + 0.0073782742953086419_r8, 0.0074670349476543205_r8, & + 0.0075784364538271599_r8, 0.0078591289583950612_r8, & + 0.0082179573700000008_r8, 0.0084964507348765407_r8, & + 0.0087630782214814795_r8, 0.0089457306320017624_r8, & + 0.0089782716591005288_r8, 0.0090855865723809513_r8, & + 0.0090969083199999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,22) / & + 0.0002284403908049383_r8, 0.00022599073214609383_r8, & + 0.00021914724128963949_r8, 0.00022639900858923459_r8, & + 0.00022388130385653333_r8, 0.00022429930116736789_r8, & + 0.00024457703117669133_r8, 0.00024212737251784689_r8, & + 0.00021387853099958518_r8, 0.00019965690156351602_r8, & + 0.00019577827535367903_r8, 0.00021198296179928886_r8, & + 0.00023673229094777281_r8, 0.00025729192612021729_r8, & + 0.0002796304800806321_r8, 0.00030215373052722963_r8, & + 0.00034566433432479997_r8, 0.00043350209480622228_r8, & + 0.00073281733196685426_r8, 0.0013788273154278321_r8, & + 0.0023273701432560984_r8, 0.0035541630879524738_r8, & + 0.0046633821378920092_r8, 0.0055288115469380537_r8, & + 0.0061607748765814515_r8, 0.0065748643986031016_r8, & + 0.0069216466327126904_r8, 0.0077139265123626864_r8, & + 0.0082473008018552878_r8, 0.0084248038459445711_r8, & + 0.0084276715019142526_r8, 0.008445538456735506_r8, & + 0.0086757188828576401_r8, 0.0090317164995409767_r8, & + 0.0093663670907686708_r8, 0.0095828994186486719_r8, & + 0.0096742925864891118_r8, 0.0097208774146948541_r8, & + 0.0097315325792849041_r8, 0.0096994672035991998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,22) / & + 0.00026044659193813334_r8, 0.00025910061471881481_r8, & + 0.00025759148874563944_r8, 0.00026017127841600001_r8, & + 0.00026007950724195555_r8, 0.00025879471080533334_r8, & + 0.00033200771409856787_r8, 0.0003223411504325531_r8, & + 0.0003032425494341926_r8, 0.00029366775694222218_r8, & + 0.00029169977509882467_r8, 0.00031804829884669628_r8, & + 0.00032200465612772347_r8, 0.00030633217896035558_r8, & + 0.00030538387682856299_r8, 0.00032040375898050369_r8, & + 0.00038882426762919503_r8, 0.00058066680857054816_r8, & + 0.001219506344688158_r8, 0.0024177319737951207_r8, 0.003853593959691615_r8, & + 0.0052235438490299659_r8, 0.0061355249894951887_r8, & + 0.0068188327578358908_r8, 0.0072616286726003357_r8, & + 0.007591688798449737_r8, 0.007901997728285353_r8, 0.008551615278954627_r8, & + 0.0090123371630490851_r8, 0.0092116641530736194_r8, & + 0.0092890782367786671_r8, 0.0093586203931101224_r8, & + 0.0095980717797863099_r8, 0.0099159467330820344_r8, & + 0.010149942833301135_r8, 0.010330354764675396_r8, 0.01049767400855265_r8, & + 0.010553985820626036_r8, 0.010583494841640027_r8, 0.010577876458453556_r8, & + 0.010552319918897201_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,22) / & + 0.0002754844174058667_r8, 0.00027709599911314572_r8, & + 0.0002757405628427852_r8, 0.00033101461358449384_r8, & + 0.00034182608556776299_r8, 0.0003594147389028346_r8, & + 0.00055672143441586183_r8, 0.00053190734521438028_r8, & + 0.00055199341655940738_r8, 0.00060041557686354584_r8, & + 0.000647300864546173_r8, 0.00062114201180086918_r8, & + 0.00058027614188582721_r8, 0.00056496077930340749_r8, & + 0.00056624150648800018_r8, 0.00058559115970188659_r8, & + 0.00078788201850828654_r8, 0.0014741383349191508_r8, & + 0.0027699247366572452_r8, 0.0045461119053360208_r8, & + 0.0060122136771718531_r8, 0.0068814432173548452_r8, & + 0.007498625647610016_r8, 0.007918960309593305_r8, 0.0082261213793647613_r8, & + 0.0084846575070278516_r8, 0.0087403973803379196_r8, & + 0.0092570000356964176_r8, 0.0096470134815844766_r8, & + 0.0098427299408432988_r8, 0.0099921801305587182_r8, 0.01018345673557762_r8, & + 0.010474459297370136_r8, 0.01076501360464804_r8, 0.010941017537990677_r8, & + 0.011041255785638124_r8, 0.011183726012197512_r8, 0.011212510355671234_r8, & + 0.011152570989341481_r8, 0.011119326513447419_r8, 0.010988972385339963_r8, & + 0.010947537506632909_r8, 0.011019664859851201_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,22) / & + 0.00027947450761765927_r8, 0.00028315356408462218_r8, & + 0.00027498159926558018_r8, 0.00035325631276420736_r8, & + 0.00041741682781684929_r8, 0.00050498952038652821_r8, & + 0.00080789850283314582_r8, 0.0010193550604358319_r8, & + 0.0012441788565351504_r8, 0.0013970269297535207_r8, & + 0.0015377229679749526_r8, 0.0015517145312053729_r8, & + 0.0015385368198600692_r8, 0.0015418702679922565_r8, & + 0.0015366192510348638_r8, 0.0015737665726952297_r8, & + 0.0022833673759247008_r8, 0.0035702567334445034_r8, & + 0.0049045836220762062_r8, 0.0061841817585978464_r8, & + 0.0072200925731350108_r8, 0.0078785098968498554_r8, & + 0.0083986169947188136_r8, 0.0087808375156683827_r8, & + 0.0090610032399555934_r8, 0.0092750574343970753_r8, & + 0.0094756663497501999_r8, 0.0099657389684615887_r8, & + 0.010333934480212857_r8, 0.010565280240049066_r8, 0.010737526974638693_r8, & + 0.010958047389537262_r8, 0.011219157273623997_r8, 0.011448750703642988_r8, & + 0.011574501172216808_r8, 0.011664618545509469_r8, 0.0117750632632149_r8, & + 0.011755692752199941_r8, 0.011668051495396105_r8, 0.011621434147013238_r8, & + 0.011525455447482605_r8, 0.01145652163538048_r8, 0.011520095731129597_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,22) / & + 0.0002786878099652346_r8, 0.00028473259436424694_r8, & + 0.00028082673367565427_r8, 0.00035889744910597528_r8, & + 0.00044720942425846918_r8, 0.000546855370159111_r8, & + 0.00099900524320523467_r8, 0.0015846518547864693_r8, & + 0.001927019143478222_r8, 0.0021983602154815804_r8, & + 0.0024329675976755556_r8, 0.0025883999288278522_r8, & + 0.0026188330933598022_r8, 0.0025605241730800987_r8, & + 0.0025213144465841978_r8, 0.0025816111709643457_r8, & + 0.0035452892991915063_r8, 0.0047950019753457782_r8, & + 0.0058518860291715546_r8, 0.006955128929503604_r8, & + 0.0078867580758306167_r8, 0.0086113998548329879_r8, & + 0.0091832829573210845_r8, 0.0095491551576566917_r8, & + 0.0097905745468849382_r8, 0.0099760215574954073_r8, & + 0.010158271807125632_r8, 0.010679762331979656_r8, 0.011024210421454914_r8, & + 0.011271035242886123_r8, 0.011449193638461629_r8, 0.011679011691477928_r8, & + 0.011934089968530865_r8, 0.012173475055317136_r8, 0.01228053748669195_r8, & + 0.012294719480858866_r8, 0.012287988845922273_r8, 0.012230111488374901_r8, & + 0.01214461120981185_r8, 0.012101079628536163_r8, 0.012082609906050833_r8, & + 0.011921488917976_r8, 0.012011881693911999_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,22) / & + 0.00027243099031838024_r8, 0.00027705338697386661_r8, & + 0.00028424109276800006_r8, 0.00035179826692397029_r8, & + 0.00042339701302479007_r8, 0.00052159269066686417_r8, & + 0.00093561180471782724_r8, 0.0015834612668594171_r8, & + 0.001827153534516069_r8, 0.0022100743255183404_r8, & + 0.0024830256379733333_r8, 0.0025911316372406517_r8, & + 0.0026006547423921386_r8, 0.0026075883373753678_r8, & + 0.0026444465054712095_r8, 0.0027983045512159996_r8, & + 0.0037749129000929577_r8, 0.0049013135217402465_r8, & + 0.0060012503175091358_r8, 0.0070615458267770468_r8, & + 0.0079557859713767914_r8, 0.0087360271659992095_r8, & + 0.0094045564079424382_r8, 0.0098104439760444834_r8, & + 0.010095737813600512_r8, 0.010348807980230993_r8, 0.010603874731804287_r8, & + 0.011159554572676662_r8, 0.011628074405409068_r8, 0.011941550341945798_r8, & + 0.01215317624536936_r8, 0.012345042008116465_r8, 0.012579029662899555_r8, & + 0.012827235422578451_r8, 0.012906832608965333_r8, 0.012902465835685099_r8, & + 0.012857645528847611_r8, 0.012813035036293611_r8, 0.012772314643168779_r8, & + 0.012689214789907111_r8, 0.012599455504754789_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,22) / & + 0.00027693330188207412_r8, 0.00027879461562769386_r8, & + 0.00028903184122860243_r8, 0.00033086109472813826_r8, & + 0.00036865330963075548_r8, 0.0004311959667724248_r8, & + 0.00071714657916537277_r8, 0.0012082315733475356_r8, & + 0.0014791533348890273_r8, 0.0020271718920875457_r8, & + 0.0022894536364449778_r8, 0.0023462614350190617_r8, & + 0.0024594871623961874_r8, 0.0025482013999745777_r8, & + 0.0027317168741373041_r8, 0.0030697213891864696_r8, & + 0.0040431255959244641_r8, 0.0050833358743971368_r8, & + 0.0060987202519653923_r8, 0.0071097154504983712_r8, & + 0.0079694537543112884_r8, 0.0086999313643574515_r8, & + 0.0093238990682437926_r8, 0.0098449034232423703_r8, & + 0.010320154674142538_r8, 0.010680897400354408_r8, 0.011014261207483752_r8, & + 0.011728263675592335_r8, 0.012337315716625266_r8, 0.012748728936628366_r8, & + 0.013001820444366799_r8, 0.013194967902752004_r8, 0.013389335276227238_r8, & + 0.013635102577258884_r8, 0.013720545367282679_r8, 0.013726336370690567_r8, & + 0.013637867822933325_r8, 0.013430795141593474_r8, 0.013432368724261524_r8, & + 0.01324010947724987_r8, 0.013310229442038402_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,23,22) / & + 0.00028499857863427164_r8, 0.00029609309623624688_r8, & + 0.00030815348948827655_r8, 0.00035986699388713083_r8, & + 0.00039787550595413325_r8, 0.00045615435429862712_r8, & + 0.00079624700210694302_r8, 0.0013188379382809282_r8, & + 0.0016595048905298168_r8, 0.0022619894058116736_r8, & + 0.0025468705130831004_r8, 0.0026975210097442762_r8, & + 0.0028337616858965333_r8, 0.0029168661489221521_r8, & + 0.0031895302344577569_r8, 0.0036138237446782409_r8, & + 0.0045365482474477034_r8, 0.0055336451752713489_r8, & + 0.0064912847775529083_r8, 0.0074374905005176097_r8, & + 0.0082347425353955523_r8, 0.0089224590506078814_r8, & + 0.0095466496632686595_r8, 0.01008318053450019_r8, 0.010649066194069174_r8, & + 0.011105520752961739_r8, 0.011535818355060934_r8, 0.012390827143337403_r8, & + 0.013127503112108562_r8, 0.01360287056041908_r8, 0.013881747575811789_r8, & + 0.01414601898509084_r8, 0.014403189903104631_r8, 0.014702911559215406_r8, & + 0.014751361970201913_r8, 0.014699426575451022_r8, 0.014484825974094695_r8, & + 0.014107385730482239_r8, 0.013947932899494399_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,22) / & + 0.00030560436638755556_r8, 0.0003230423490468543_r8, & + 0.00033477138780993573_r8, 0.00044242962365376783_r8, & + 0.00052855080100760489_r8, 0.00068689958846074068_r8, & + 0.0011057223232545578_r8, 0.0017462333604827652_r8, & + 0.0021692769258349234_r8, 0.0026919564433094518_r8, & + 0.0030040949800805928_r8, 0.0032104286585287116_r8, & + 0.0033925331461755856_r8, 0.003539261121290212_r8, & + 0.0038499656579357622_r8, 0.004281992016527467_r8, & + 0.0051019965789097276_r8, 0.0060588805117704871_r8, & + 0.006979982083006854_r8, 0.0078136772880975786_r8, & + 0.0085499416544666078_r8, 0.0092228665058543789_r8, & + 0.009870290505952178_r8, 0.010535558337801421_r8, 0.01110518106693442_r8, & + 0.011626330195123971_r8, 0.01212541611046478_r8, 0.013126214847710694_r8, & + 0.013952910122269227_r8, 0.01444151087799902_r8, 0.014716243656777175_r8, & + 0.014957433008089282_r8, 0.015194306830721548_r8, 0.015451926306114125_r8, & + 0.015510204882916288_r8, 0.015417730814440029_r8, 0.015066421076125054_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,22) / & + 0.00034028884536750609_r8, 0.00036044093592612334_r8, & + 0.00037664383292148148_r8, 0.00045060018472138262_r8, & + 0.00052025723714567895_r8, 0.0007450811856015802_r8, & + 0.001225972525207111_r8, 0.0019471904986392097_r8, & + 0.0024488081023356046_r8, 0.0028267123161815309_r8, & + 0.0031225797360786172_r8, 0.0033514649119577278_r8, & + 0.0037216247852345672_r8, 0.0040450665389119992_r8, & + 0.0044142601201467646_r8, 0.0048429436810153081_r8, & + 0.0056289872466613331_r8, 0.0065002325627998032_r8, & + 0.0073755110978964925_r8, 0.0081393719592722947_r8, & + 0.0088564306756537276_r8, 0.0095344595960748634_r8, & + 0.010194801170856296_r8, 0.011048107065170171_r8, 0.011650275058172245_r8, & + 0.01217018218950558_r8, 0.012683031187662024_r8, 0.013883768085915257_r8, & + 0.014753921071919208_r8, 0.015281894641168988_r8, 0.015577215895998813_r8, & + 0.015758332634841478_r8, 0.015934617913473774_r8, 0.016039061479412739_r8, & + 0.016186703251128903_r8, 0.016048895076416995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,22) / & + 0.00032864175484665677_r8, 0.00034281783336246907_r8, & + 0.00036225021065380744_r8, 0.00043947291415209869_r8, & + 0.00043922675139952585_r8, 0.00062134374781767888_r8, & + 0.0010367795931891357_r8, 0.0018299883827884052_r8, & + 0.0024981320139187556_r8, 0.002940254797701491_r8, & + 0.0032743555735904985_r8, 0.0035811178037820045_r8, & + 0.0039971038953062702_r8, 0.0043421951140895599_r8, 0.00470857217088944_r8, & + 0.0051115550770130967_r8, 0.0059019257548768196_r8, & + 0.0067466549605733929_r8, 0.0076874890009067838_r8, & + 0.0084831883783556151_r8, 0.0092181434765666176_r8, & + 0.0099464666606200684_r8, 0.010574757266116973_r8, 0.01137669578333138_r8, & + 0.012001692151992382_r8, 0.012549230514523956_r8, 0.01309963775913515_r8, & + 0.014416293541878166_r8, 0.015280377293995775_r8, 0.015787995660145045_r8, & + 0.016132165837200747_r8, 0.01630530513323095_r8, 0.016450530038553169_r8, & + 0.016518527068890697_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,22) / & + 0.00031431490295263952_r8, 0.00032007071707372531_r8, & + 0.00033719725775285169_r8, 0.00042403964186468995_r8, & + 0.00043122513570432677_r8, 0.0006692487654515472_r8, & + 0.0012178988213238813_r8, 0.0020504407024934381_r8, & + 0.0026871538800184859_r8, 0.0031968576330706172_r8, & + 0.0035438230345641655_r8, 0.0038728617979066019_r8, & + 0.0042689903287011976_r8, 0.0046319378093988232_r8, & + 0.0050022901577472514_r8, 0.00540382723848666_r8, 0.0061780770592753491_r8, & + 0.007031854613804611_r8, 0.0079797802291621724_r8, & + 0.0087997043504595852_r8, 0.0095732859544531233_r8, & + 0.010312917418059928_r8, 0.0109673106585338_r8, 0.011765849438728901_r8, & + 0.012397710192541165_r8, 0.012956153870924081_r8, 0.013516731636650788_r8, & + 0.014868383383727216_r8, 0.015754763708411123_r8, 0.016266428365281544_r8, & + 0.016612526206648243_r8, 0.016805176473810315_r8, 0.016922652832249599_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,22) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,22) / & + 0.0019154059164266661_r8, 0.0019706892790399993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,22) / & + 0.0025951132064867136_r8, 0.0027289762590770135_r8, & + 0.0026595461486609065_r8, 0.0028191055092309332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,22) / & + 0.002105235152451956_r8, 0.0018655105354557133_r8, & + 0.0019403990360765625_r8, 0.0020250289248471554_r8, & + 0.0020153997183760017_r8, 0.0023177587194659721_r8, & + 0.0022491035321692918_r8, 0.0021543019464221273_r8, & + 0.0020609132105266128_r8, 0.0019448901085688001_r8, & + 0.0018906616069098666_r8, 0.0019309374171605333_r8, & + 0.0020143658812511998_r8, 0.0020057353504831996_r8, & + 0.0020575185350911996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,22) / & + 0.0010209241710199572_r8, 0.000786820763446413_r8, & + 0.00093571193405566429_r8, 0.0012249423523673019_r8, & + 0.001460098304298614_r8, 0.0019169902675996973_r8, & + 0.0019866336192720067_r8, 0.0019595196380557565_r8, & + 0.0018650890233866378_r8, 0.0018527701820565115_r8, & + 0.0018415510303001785_r8, 0.0019095590225023315_r8, & + 0.002022615443331076_r8, 0.0020663221911587635_r8, & + 0.0020971551624391271_r8, 0.0021026810203174083_r8, & + 0.0021418751408397909_r8, 0.0022101063288320947_r8, & + 0.0023222812437612085_r8, 0.0025025031514200177_r8, & + 0.0026490173260213098_r8, 0.0027696586446282188_r8, & + 0.0025903840268914017_r8, 0.0029106272261445213_r8, & + 0.003235883167901511_r8, 0.0034939209956105477_r8, & + 0.0036180554458047996_r8, 0.0037972511227147843_r8, & + 0.0038978020008927994_r8, 0.0039556261565476744_r8, 0.0040283503932672_r8, & + 0.0040846615164077827_r8, 0.0041188692080352382_r8, & + 0.0041313023882613735_r8, 0.0041310392521719313_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,22) / & + 0.0014060175429781861_r8, 0.0016694908281076411_r8, & + 0.0018813787224809617_r8, 0.0018582915545901036_r8, & + 0.0021019693969381403_r8, 0.0022110472467974846_r8, & + 0.0019684065233195455_r8, 0.0019363911147208957_r8, & + 0.0019901860195915854_r8, 0.0019831967402496264_r8, & + 0.0019598390196100481_r8, 0.002018458781832929_r8, & + 0.0021246958278307031_r8, 0.0021607244355353813_r8, & + 0.0022191187371343271_r8, 0.0022517654354799934_r8, & + 0.0023295493507372775_r8, 0.0023850577563498667_r8, & + 0.0024808334293970964_r8, 0.0026310803891868187_r8, & + 0.0027513410859932971_r8, 0.0028680395049416169_r8, & + 0.0028813867738785191_r8, 0.0031031498435801553_r8, & + 0.0033325334823707652_r8, 0.0035435646263731356_r8, & + 0.0037058962756057285_r8, 0.0039178743542286221_r8, & + 0.0039626959262667322_r8, 0.0040377292219120203_r8, & + 0.0041030677107281388_r8, 0.0041631755130689847_r8, & + 0.0042024056616335277_r8, 0.0042088514198285031_r8, & + 0.0042139846751055752_r8, 0.0041992830319920408_r8, & + 0.004233879964734736_r8, 0.0042587708176170663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,22) / & + 0.0020873186129066667_r8, 0.0029447615801173328_r8, & + 0.0029488847930026663_r8, 0.0036343110248960001_r8, & + 0.0035344736791893326_r8, 0.003840795966805333_r8, & + 0.0030898616110933328_r8, 0.0023160411074559994_r8, & + 0.0022963052794879998_r8, 0.0023012624005973327_r8, & + 0.0022397848331946668_r8, 0.0022623466834773339_r8, & + 0.0022985753629866656_r8, 0.0023529647104853337_r8, & + 0.0024095778132479997_r8, 0.0024652643513173329_r8, & + 0.002501168733183999_r8, 0.0025357759244799996_r8, & + 0.0026175915869013338_r8, 0.0027376743711573326_r8, & + 0.0028401524262399989_r8, 0.0029698251550719992_r8, & + 0.003100517105066666_r8, 0.0032669281239893337_r8, & + 0.0034609970990079992_r8, 0.003632226254335999_r8, & + 0.0038409349515093325_r8, 0.004161526335402667_r8, & + 0.0041424391027199995_r8, 0.0041536968637439992_r8, & + 0.0041825593539413343_r8, 0.0042088274629973324_r8, & + 0.0042431103566506669_r8, 0.0042387091743573326_r8, & + 0.0042609003987626659_r8, 0.0042759570750293321_r8, & + 0.0043595795386026648_r8, 0.0043730147266560007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,23) / & + 0.0033650541737071057_r8, 0.0034738263653544973_r8, & + 0.0034175032958518514_r8, 0.0032710828879999993_r8, & + 0.0034137618693333332_r8, 0.0037663351557037043_r8, & + 0.0044385965585185183_r8, 0.0048253502306666654_r8, & + 0.0052621375087407406_r8, 0.0056239243005925931_r8, & + 0.0056964009186666661_r8, 0.0059180575586666668_r8, & + 0.005941277145629629_r8, 0.0060539553777777776_r8, & + 0.0061538506337777766_r8, 0.0063313465148888901_r8, & + 0.0067194453255555548_r8, 0.007131165878_r8, 0.0073618793217777772_r8, & + 0.0075354229917777779_r8, 0.0077331916357777771_r8, & + 0.0080774708257777775_r8, 0.008017517863333332_r8, 0.008149355305555557_r8, & + 0.0083515421055555556_r8, 0.0085537913088888883_r8, & + 0.0086519517522222218_r8, 0.0088784689185185204_r8, & + 0.0090118803114814811_r8, 0.0090458693270370379_r8, & + 0.0090330489088888879_r8, 0.0090040105577777769_r8, & + 0.0089386534666666649_r8, 0.0089060789266666666_r8, & + 0.0089294593755555544_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,23) / & + 0.002926873497283951_r8, 0.0030011103516049387_r8, & + 0.0028415704518518518_r8, 0.0023565070306172838_r8, & + 0.0026391895081481474_r8, 0.0029855788553086421_r8, & + 0.0039970028370370373_r8, 0.0045526328720987648_r8, & + 0.0050418102908641972_r8, 0.0054209636992592599_r8, & + 0.0056638189827160493_r8, 0.0059471393609876536_r8, & + 0.0060213947051851839_r8, 0.0061127809200000006_r8, & + 0.0061842350479012348_r8, 0.0062615597116049398_r8, & + 0.0064131951891358025_r8, 0.0066247008869135798_r8, & + 0.0068126597269135801_r8, 0.0069936201486419762_r8, & + 0.0072119948355555555_r8, 0.0074735156493827152_r8, & + 0.0076421895481481464_r8, 0.0077971901832098768_r8, & + 0.0079567947975308639_r8, 0.0081351204118518521_r8, & + 0.0082712336380246897_r8, 0.0085967294246913576_r8, & + 0.0088642132237037041_r8, 0.0089597411708641946_r8, & + 0.0090191768790123441_r8, 0.0090422799797530862_r8, & + 0.0090135548009259246_r8, 0.0089612030267283947_r8, & + 0.0089460553604585533_r8, 0.0090092215332698393_r8, & + 0.009025789321111111_r8, 0.0091570829628571434_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,23) / & + 0.0024163495160493833_r8, 0.0024996833896296297_r8, & + 0.0023144702962962964_r8, 0.0013253451056790121_r8, & + 0.0014321333876543209_r8, 0.0016634694780246913_r8, & + 0.0023086552301234569_r8, 0.0031719013412345671_r8, & + 0.0036711557427160485_r8, 0.0040775817190123456_r8, & + 0.0045482137916049376_r8, 0.0048271243343209879_r8, & + 0.0051467033604938265_r8, 0.0053642275130864189_r8, & + 0.0055102143333333325_r8, 0.0056044110093827152_r8, & + 0.005784345242962962_r8, 0.0058751582716049374_r8, & + 0.0060176505051851856_r8, 0.0061625186879012339_r8, & + 0.0063254699698765439_r8, 0.0064803596656790117_r8, & + 0.0066295359896296306_r8, 0.00683275822271605_r8, 0.0070667938350617273_r8, & + 0.0072886261288888886_r8, 0.007497940776296297_r8, & + 0.0079743879150617272_r8, 0.0083778832459259246_r8, & + 0.0086774469807407422_r8, 0.0089150234044444426_r8, & + 0.0090901872498765426_r8, 0.0091759063175308637_r8, & + 0.0092069970449382716_r8, 0.0091979462503703705_r8, & + 0.0091906242592592596_r8, 0.0091825984972222219_r8, & + 0.0092154872000352727_r8, 0.0092361572971640209_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,23) / & + 0.0018693080286419749_r8, 0.0018537857772839505_r8, & + 0.001435387605925926_r8, 0.0010191435051851853_r8, & + 0.0010523698133333335_r8, 0.0011663414123456789_r8, & + 0.0013384914079012345_r8, 0.0017698232479012343_r8, & + 0.0021240707925925923_r8, 0.0024256314340740741_r8, & + 0.0028183933916049383_r8, 0.0031395717920987653_r8, & + 0.0036838397980246914_r8, 0.0040501704770370362_r8, & + 0.0044123779135802465_r8, 0.0046786691155555555_r8, & + 0.005083948719506173_r8, 0.0052831956291358026_r8, & + 0.0054878138479012338_r8, 0.0056587527565432113_r8, & + 0.0057864900686419758_r8, 0.0059006743012345675_r8, & + 0.0060145626958024688_r8, 0.0061587282632098771_r8, & + 0.0063207735412345676_r8, 0.0064963996335802472_r8, & + 0.0066839516962962963_r8, 0.007230336793086419_r8, & + 0.0077494955466666663_r8, 0.008187798070123457_r8, & + 0.0085879374883950591_r8, 0.0089184810113580246_r8, & + 0.0091540605283950607_r8, 0.0093123338716049366_r8, & + 0.0093961392370370388_r8, 0.0094258062439506185_r8, & + 0.0094345981802469135_r8, 0.0094041816729805976_r8, & + 0.0094015108763492068_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,23) / & + 0.0010699351960493824_r8, 0.00091607168839506173_r8, & + 0.00047145487209876538_r8, 0.00070121007802469138_r8, & + 0.00070330867901234574_r8, 0.00072739174320987665_r8, & + 0.00079610012444444433_r8, 0.00089462343160493809_r8, & + 0.0010272975407407407_r8, 0.0011410102814814814_r8, & + 0.001299625687407407_r8, 0.0014665707827160492_r8, & + 0.0019547035234567904_r8, 0.0021620674888888887_r8, & + 0.0025325491451851853_r8, 0.0028301991777777776_r8, & + 0.0032128101930864188_r8, 0.0036846071279012342_r8, & + 0.0040994459980246908_r8, 0.0044880939580246911_r8, & + 0.0047709243545679013_r8, 0.0049354565209876536_r8, & + 0.0052176490167901235_r8, 0.0053765972404938274_r8, & + 0.0055387904375308631_r8, 0.0056863119175308641_r8, & + 0.0058141324340740749_r8, 0.0061355512029629636_r8, & + 0.006568935419259259_r8, 0.0071104761683950619_r8, & + 0.0077286019861728368_r8, 0.0082749223683950598_r8, & + 0.008689012398518518_r8, 0.0090272107303703691_r8, & + 0.0092993724681481489_r8, 0.0094432017509259256_r8, & + 0.0094715779333333326_r8, 0.0094473921842857141_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,23) / & + 0.00055511231851851849_r8, 0.00039576656246913575_r8, & + 0.00023818658962962959_r8, 0.00040812704493827157_r8, & + 0.00041537507654320987_r8, 0.00042629334864197538_r8, & + 0.00044788952444444456_r8, 0.0004937721530864197_r8, & + 0.00053180582913580265_r8, 0.00056826786567901221_r8, & + 0.00063379598814814809_r8, 0.00066135514913580231_r8, & + 0.0010207521244444441_r8, 0.0011098271046913581_r8, & + 0.0012787136370370367_r8, 0.0014467219002469139_r8, & + 0.0017363288365432098_r8, 0.0021529889595061731_r8, & + 0.0025877044469135805_r8, 0.0030535383965432095_r8, & + 0.0035171073362962966_r8, 0.0037955001624691361_r8, & + 0.0042035440029629624_r8, 0.0045696250686419748_r8, & + 0.0049389788424691362_r8, 0.0052125643007407399_r8, & + 0.0053716419535802468_r8, 0.0056780931674074069_r8, & + 0.0059634381871604934_r8, 0.0063784989358024692_r8, & + 0.007023379604938272_r8, 0.0077744568799999999_r8, & + 0.0082957234795061723_r8, 0.0087153477608024697_r8, & + 0.0091607885322222225_r8, 0.0094344033761904755_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,23) / & + 0.0002797703219753086_r8, 0.00027542520098765424_r8, & + 0.00027134818320987661_r8, 0.00020946256641975306_r8, & + 0.00021384466716049382_r8, 0.00022182304888888888_r8, & + 0.00023854714222222218_r8, 0.00026606007851851855_r8, & + 0.00028544671407407403_r8, 0.00030223552197530861_r8, & + 0.00033225383654320983_r8, 0.00034319059851851849_r8, & + 0.00047188013925925928_r8, 0.00052522343308641971_r8, & + 0.00059692717432098768_r8, 0.00067525953629629632_r8, & + 0.00083061147901234572_r8, 0.0011067023155555556_r8, & + 0.0014087991634567901_r8, 0.0018125995772839505_r8, & + 0.0023484084646913581_r8, 0.0028616227229629632_r8, & + 0.0033272995086419755_r8, 0.0040005159135802467_r8, & + 0.0045953999565432101_r8, 0.005046497474567902_r8, & + 0.0053334788483950599_r8, 0.0058677438311111113_r8, & + 0.0061430580928395059_r8, 0.006333845883950617_r8, & + 0.0067301394079012349_r8, 0.0073698206247001753_r8, & + 0.0080332753983703709_r8, 0.0084054013825000003_r8, 0.00843867796_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,23) / & + 0.00017822391999999999_r8, 0.00023668890962962963_r8, & + 0.00022691700987654317_r8, 0.00016957065777777779_r8, & + 0.00017250130320987651_r8, 0.00017708679259259257_r8, & + 0.00018206056938271603_r8, 0.00019669530666666668_r8, & + 0.00020534856888888893_r8, 0.0002158600637037037_r8, & + 0.00022672286617283954_r8, 0.00024303093728395063_r8, & + 0.00026852847703703702_r8, 0.00029034653135802472_r8, & + 0.00030968694222222222_r8, 0.00032590256395061725_r8, & + 0.0003656373086419753_r8, 0.00048920515358024687_r8, & + 0.00072420223950617289_r8, 0.0010975498266666669_r8, & + 0.0016604278933333332_r8, 0.0023263407970370372_r8, & + 0.0030522163703703697_r8, 0.0039902078074074074_r8, & + 0.0046269991555555551_r8, 0.0051435046118518514_r8, & + 0.0055373112474074067_r8, 0.0062047310760493819_r8, & + 0.0065467475674074061_r8, 0.0066814648079012336_r8, & + 0.0069199842153086413_r8, 0.0073611711595061727_r8, & + 0.0079064745985185179_r8, 0.0083259786956172855_r8, & + 0.0084583455756437383_r8, 0.0086135015917037042_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,23) / & + 0.00018267073530864195_r8, 0.00019900654123456788_r8, & + 0.00017453518962962962_r8, 0.00018270771506172839_r8, & + 0.0001857862795061728_r8, 0.00018456594765432096_r8, & + 0.00017966613037037038_r8, 0.00017989725382716048_r8, & + 0.00018378937283950616_r8, 0.00019163832543209877_r8, & + 0.00020085552888888888_r8, 0.00022395862962962959_r8, & + 0.00025601083061728398_r8, 0.00028080575506172844_r8, & + 0.00030273474864197521_r8, 0.00031812757086419746_r8, & + 0.0003490241545679012_r8, 0.00043546432740740738_r8, & + 0.00067451069629629614_r8, 0.0010571402014814813_r8, & + 0.0016570534908641973_r8, 0.0024077887032098767_r8, & + 0.0033333456982716047_r8, 0.004461487025679012_r8, & + 0.0050921952044444448_r8, 0.0055048892488888876_r8, & + 0.005827777962962963_r8, 0.0064298684353086425_r8, & + 0.0067328377742592593_r8, 0.0068630396878483239_r8, & + 0.007080634168007055_r8, 0.0074967506555820096_r8, & + 0.0079481530914814816_r8, 0.0083192500974726621_r8, & + 0.0084753671909012333_r8, 0.0086176474842716046_r8, & + 0.0087760803026666664_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,23) / & + 0.00020281545580246911_r8, 0.00020141947012345678_r8, & + 0.00019172152987654323_r8, 0.00019358900740740743_r8, & + 0.00019384786567901234_r8, 0.00019252583950617281_r8, & + 0.00018993725679012342_r8, 0.00017492347703703705_r8, & + 0.00016969084197530866_r8, 0.0001754042138271605_r8, & + 0.00018546270666666665_r8, 0.00020635626716049386_r8, & + 0.00024029443555555557_r8, 0.00026972107407407402_r8, & + 0.00029451599851851849_r8, 0.00031555747802469134_r8, & + 0.00035610577728395059_r8, 0.00043685106814814808_r8, & + 0.00069652289432098758_r8, 0.0011982826740740741_r8, & + 0.0019742380780246914_r8, 0.0029163250227160495_r8, & + 0.0039287474577777773_r8, 0.0048267545367901244_r8, & + 0.0054282024859259263_r8, 0.0058399489241975312_r8, & + 0.0061761694996119929_r8, 0.0068658400787037022_r8, & + 0.0073389019521975293_r8, 0.0075413295828395061_r8, & + 0.0077530012602768962_r8, 0.008033216428871252_r8, & + 0.0083575797105996472_r8, 0.0086295718367777764_r8, & + 0.0088632702400000003_r8, 0.0089228643089880946_r8, & + 0.0089398213004761896_r8, 0.0089768443066666655_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,23) / & + 0.0002398429686097975_r8, 0.00023710168392013825_r8, & + 0.0002410775188069136_r8, 0.00021448122479660248_r8, & + 0.00021275091034710122_r8, 0.00021161356882692342_r8, & + 0.00021811682931409377_r8, 0.00022535887574599506_r8, & + 0.00020648095068458269_r8, 0.00019965690156351602_r8, & + 0.00020047345444979754_r8, 0.00021976937682204441_r8, & + 0.00024141774917619757_r8, 0.00025918749532051358_r8, & + 0.00027771546914494814_r8, 0.00030513803690923456_r8, & + 0.00036352156827836046_r8, 0.00048001644672118521_r8, & + 0.00079931778786032583_r8, 0.0013883926492385579_r8, & + 0.0024063716350038321_r8, 0.0037094636702290564_r8, & + 0.0048125294109184003_r8, 0.0056173103264226566_r8, & + 0.0061620483102493434_r8, 0.0065734548727874962_r8, & + 0.0069338852051392189_r8, 0.0076928127877316909_r8, & + 0.0082675882527323049_r8, 0.0084846248506239234_r8, & + 0.0086148294506665831_r8, 0.0087417405860171892_r8, & + 0.008991991566155922_r8, 0.00925776093948108_r8, 0.009517867508124658_r8, & + 0.0095069212655425114_r8, 0.0095425453194608253_r8, & + 0.0095023863319745484_r8, 0.0095702474593799859_r8, & + 0.0096437724642341859_r8, 0.0096526174817487993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,23) / & + 0.00026578971362694324_r8, 0.00026551440010480986_r8, & + 0.00027194857908503702_r8, 0.00026379114139219752_r8, & + 0.00026139489406992592_r8, 0.00025705105849848888_r8, & + 0.00033605584255363941_r8, 0.00030991125474808884_r8, & + 0.00028669314771484445_r8, 0.00027713874881710621_r8, & + 0.00027844393884796049_r8, 0.00030859586792011853_r8, & + 0.00031362288889833086_r8, 0.00031216474691073582_r8, & + 0.00031084936008276539_r8, 0.00032542058316159999_r8, & + 0.00041001321203634565_r8, 0.00063839087704450372_r8, & + 0.0013237685951997631_r8, 0.002503619595903605_r8, 0.003933791769009343_r8, & + 0.0053611292325168192_r8, 0.0062611393331678021_r8, & + 0.0068900573856914959_r8, 0.0072837353287479294_r8, & + 0.0075881607066475842_r8, 0.0078816857084301837_r8, & + 0.0085642185201900631_r8, 0.0090429033370040841_r8, & + 0.0092790535106139511_r8, 0.0094279452119944776_r8, & + 0.0095710637417678272_r8, 0.0097991717379093974_r8, & + 0.010068536703525154_r8, 0.010242014812860505_r8, 0.010255141914547778_r8, & + 0.010256241256736852_r8, 0.010251207225460622_r8, 0.010203764806021573_r8, & + 0.010161822101941335_r8, 0.010180405764685332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,23) / & + 0.00027063899955749138_r8, 0.00027641294461469638_r8, & + 0.00027977485347425188_r8, 0.00037217931984260741_r8, & + 0.00038605386434236051_r8, 0.00040470979033125937_r8, & + 0.00059725644980821737_r8, 0.00055883463427043969_r8, & + 0.00061467433951867658_r8, 0.00066455866335855818_r8, & + 0.00070364218794170873_r8, 0.00067519937171721476_r8, & + 0.00062917857488418777_r8, 0.00064086521044359518_r8, & + 0.00064108933770089889_r8, 0.00065632999119755067_r8, & + 0.00092960515420999516_r8, 0.0016507185954948548_r8, & + 0.0029620978507053633_r8, 0.0047561404908826677_r8, & + 0.0060929955443400291_r8, 0.00688246779910252_r8, 0.0074856582848660154_r8, & + 0.0078817872030605054_r8, 0.0081698120741488401_r8, & + 0.0084100871667049503_r8, 0.008660469331292801_r8, & + 0.0092388030369486632_r8, 0.0096728388116254591_r8, & + 0.0099099338128419666_r8, 0.010086827775344134_r8, 0.010294545544069281_r8, & + 0.010543381430695362_r8, 0.010740159873890844_r8, 0.010861504200605335_r8, & + 0.010898221734182473_r8, 0.010914915384105108_r8, 0.010862648850526565_r8, & + 0.010780282197818096_r8, 0.010788727244262913_r8, 0.01075478486353376_r8, & + 0.010654369448625781_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,23) / & + 0.00026489206562133332_r8, 0.00027568396459109134_r8, & + 0.0002813697791309432_r8, 0.00036624449695818261_r8, & + 0.00044009319404049387_r8, 0.00052979527989862718_r8, & + 0.00080574681223277017_r8, 0.00097655537020349616_r8, & + 0.0012189940427203951_r8, 0.0014492472342724739_r8, & + 0.0016117946381764741_r8, 0.0016542933146978761_r8, & + 0.0017535275014022322_r8, 0.0018388481654678915_r8, & + 0.001837900529711249_r8, 0.0018631410868058076_r8, & + 0.0027445426783864889_r8, 0.0040012637728771942_r8, & + 0.0052450412777977672_r8, 0.0064786289111704474_r8, & + 0.0074259971000693722_r8, 0.0079813785453973322_r8, & + 0.0085013407107388042_r8, 0.0088480304651422804_r8, & + 0.0090928549500347254_r8, 0.0092849908868578752_r8, & + 0.0094789106086347035_r8, 0.009957265989931614_r8, 0.01036182423668003_r8, & + 0.010599503428517508_r8, 0.010786188468908544_r8, 0.011015248117206796_r8, & + 0.01125370854115655_r8, 0.011443563890998938_r8, 0.011562769441549582_r8, & + 0.011604282994958673_r8, 0.011556438746941514_r8, 0.011450037925469354_r8, & + 0.011368040805149561_r8, 0.01133463186673252_r8, 0.011274769556718932_r8, & + 0.011228179323460027_r8, 0.011122155605275732_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,23) / & + 0.00026142530067190125_r8, 0.00027306151064000002_r8, & + 0.00029205608315535804_r8, 0.0003361597600973827_r8, & + 0.00042026363534133346_r8, 0.00054265889483595068_r8, & + 0.00094643886810459252_r8, 0.001448493086198716_r8, & + 0.0017952544681651358_r8, 0.0021596619707425191_r8, & + 0.0024325839863579262_r8, 0.002621053389167901_r8, & + 0.0028115919681759999_r8, 0.0028287847299570371_r8, & + 0.0028077791041704694_r8, 0.0028957074680053332_r8, & + 0.0039205657891017284_r8, 0.0051708131961836056_r8, & + 0.0061835703238965921_r8, 0.0071849353579345196_r8, & + 0.0080334952171166422_r8, 0.0086779506061490375_r8, & + 0.009207241227794866_r8, 0.0095594312911350104_r8, & + 0.0097993976071904191_r8, 0.0099848329932155071_r8, & + 0.010161480192691259_r8, 0.010635495910842271_r8, 0.011019490839789531_r8, & + 0.011264115293273298_r8, 0.0114603125543802_r8, 0.011680075341040444_r8, & + 0.011907609163029038_r8, 0.012093742024177087_r8, 0.012188897392744388_r8, & + 0.01219099330548889_r8, 0.012124323402172666_r8, 0.012008873832444223_r8, & + 0.011930708667257666_r8, 0.011884386533089927_r8, 0.011852608089690917_r8, & + 0.011729491453502369_r8, 0.011576238732109332_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,23) / & + 0.00026302889031494319_r8, 0.00026972047500207406_r8, & + 0.00029914892700768394_r8, 0.00031008779239134819_r8, & + 0.00035580353732440499_r8, 0.0004511313929577086_r8, & + 0.00086459388332764452_r8, 0.0015107008713373233_r8, & + 0.0017490931135094123_r8, 0.0022076058204981335_r8, & + 0.0025184317442925822_r8, 0.0026289820475504989_r8, & + 0.0026611331153872197_r8, 0.0026701964009761187_r8, & + 0.0027799843718013238_r8, 0.0029931712416347259_r8, & + 0.0039307554302657581_r8, 0.0049755864816129584_r8, & + 0.0060491199540774719_r8, 0.0070718191638464408_r8, & + 0.0079102517341658081_r8, 0.008587565949857422_r8, & + 0.0092070881068406496_r8, 0.0096641366515379766_r8, & + 0.009997905151402588_r8, 0.010266342971835339_r8, 0.010515492571669017_r8, & + 0.011112713479866747_r8, 0.011604768813894755_r8, 0.011924403912467201_r8, & + 0.012136586439571793_r8, 0.012326044199872712_r8, 0.012555604794882165_r8, & + 0.012753910840553575_r8, 0.012826625556632281_r8, 0.012817455354351855_r8, & + 0.012740639033729627_r8, 0.012651785785427359_r8, 0.012610071372825412_r8, & + 0.01250625608645955_r8, 0.012400752778278398_r8, 0.012293590619165866_r8, & + 0.0123880109361888_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,23) / & + 0.00027668177299753092_r8, 0.00027805260541829139_r8, & + 0.00030402296274737773_r8, 0.00028903184122860243_r8, & + 0.00030890262310751606_r8, 0.00035402690499456791_r8, & + 0.00060190862071190132_r8, 0.0011542408982803359_r8, & + 0.0014680609110806718_r8, 0.0020282283134026267_r8, & + 0.0023843932139158124_r8, 0.0024494511599029135_r8, & + 0.0025440763262680691_r8, 0.0026304261923317533_r8, & + 0.0028451815539547454_r8, 0.003193310106606775_r8, & + 0.0041133776133773815_r8, 0.0050713127937159702_r8, & + 0.0060417866889490371_r8, 0.0070116191855265188_r8, & + 0.0078493612883861336_r8, 0.0085064301934783607_r8, & + 0.0091569216182397842_r8, 0.0097117063024325136_r8, & + 0.010195471806074469_r8, 0.010577430993697561_r8, 0.010910681612828859_r8, & + 0.011665985123779438_r8, 0.012305786570947773_r8, 0.012725047492148622_r8, & + 0.012974564145615484_r8, 0.013164279582202841_r8, 0.013352788129303112_r8, & + 0.013510587919132348_r8, 0.013552681277960658_r8, 0.013530241757348349_r8, & + 0.013435160694879955_r8, 0.013344652741943666_r8, 0.013253675867301197_r8, & + 0.013121516752298798_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,23) / & + 0.00028537709747010367_r8, 0.0002929735789340445_r8, & + 0.00030802296575178266_r8, 0.00031883033113347159_r8, & + 0.00034061474275429133_r8, 0.00039309833719845919_r8, & + 0.00066084167786824668_r8, 0.0011417563849797528_r8, & + 0.0016120856170616096_r8, 0.0022763470168259948_r8, & + 0.0026739745276807897_r8, 0.0028502990433103008_r8, & + 0.0029707202425995061_r8, 0.0030593328073051655_r8, & + 0.0033306133412339357_r8, 0.003752231114856295_r8, & + 0.0045948401481658461_r8, 0.0055655451764704397_r8, & + 0.0064654280253534811_r8, 0.0073332542445536395_r8, & + 0.0081385465415996037_r8, 0.0088567142445359417_r8, & + 0.0095001179512086108_r8, 0.010074148291934813_r8, 0.010623170284748797_r8, & + 0.011103471530298784_r8, 0.011545111645099295_r8, 0.012455449445275496_r8, & + 0.013164323858173472_r8, 0.013624341715072314_r8, 0.01388793701139633_r8, & + 0.014077353244258651_r8, 0.014278298265840513_r8, 0.014444658925735425_r8, & + 0.014416261855314487_r8, 0.01426471829077502_r8, 0.014029401387329929_r8, & + 0.013916776976824559_r8, 0.013800623810487465_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,23) / & + 0.00028947862912620244_r8, 0.00030556378147834066_r8, & + 0.00031085334797933826_r8, 0.00039118441161852837_r8, & + 0.00043827643461078505_r8, 0.00053301514102123458_r8, & + 0.00096133474457131855_r8, 0.0015097045095788246_r8, & + 0.0020239153093305285_r8, 0.0025997069446641779_r8, & + 0.0030101015466443854_r8, 0.0033147995167261426_r8, & + 0.0035261116107046112_r8, 0.0036731642650929572_r8, & + 0.0039550535161959896_r8, 0.0043803427798580347_r8, & + 0.0051754417362854712_r8, 0.0060925795147218562_r8, & + 0.0070078909722435748_r8, 0.0078409368187868627_r8, & + 0.008578351090916975_r8, 0.0093070260792628336_r8, & + 0.0098899741869213614_r8, 0.010545772206620483_r8, 0.011110565331556917_r8, & + 0.01163310956600073_r8, 0.012137322949782517_r8, 0.013198604797446853_r8, & + 0.013935721446909391_r8, 0.014396224883466827_r8, 0.014671092945275691_r8, & + 0.014866913441199291_r8, 0.015064644809931752_r8, 0.015201565731626825_r8, & + 0.015259693135681594_r8, 0.014925487279255415_r8, 0.01462724771502062_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,23) / & + 0.00030207129489185182_r8, 0.00032431001609204942_r8, & + 0.00035016182927565431_r8, 0.00042976188677056775_r8, & + 0.00046473045530765427_r8, 0.00056544889540325932_r8, & + 0.001188539211751111_r8, 0.0018868602650558024_r8, & + 0.0024684280320594566_r8, 0.0028915239041629633_r8, & + 0.003258196723548839_r8, 0.0035484904589133822_r8, & + 0.0039278511129386658_r8, 0.0042109186643363959_r8, & + 0.0045203281770550127_r8, 0.004909127683781136_r8, & + 0.0056745850276612329_r8, 0.0065066465012819756_r8, & + 0.0073574456379794572_r8, 0.0081453937792446418_r8, & + 0.0088748602456156043_r8, 0.0095697222534943203_r8, & + 0.010171904250728888_r8, 0.010954180677834071_r8, 0.011562916655875751_r8, & + 0.012081899507864494_r8, 0.012610279199856592_r8, 0.013812990694891454_r8, & + 0.014627882979474763_r8, 0.015121742238369578_r8, 0.015453264434195948_r8, & + 0.015640220937988541_r8, 0.015770670363668544_r8, 0.015763174348150638_r8, & + 0.015920300773910167_r8, 0.015859247134191998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,23) / & + 0.00030884737350741728_r8, 0.00032657109169266166_r8, & + 0.00037185055800414805_r8, 0.00042088038625189125_r8, & + 0.00040250506078042469_r8, 0.00042929336032511601_r8, & + 0.00098444828802453322_r8, 0.0018921517178940048_r8, & + 0.0025940775667744986_r8, 0.0030831160751652342_r8, & + 0.0034812770873708441_r8, 0.0038358238518853126_r8, & + 0.0042707210348719403_r8, 0.0046405009297220941_r8, & + 0.0049698666926645532_r8, 0.0053405588377154166_r8, & + 0.0061290181342062225_r8, 0.0069260931270370757_r8, & + 0.0077861857845265784_r8, 0.0085829566939571948_r8, & + 0.0093568779078842864_r8, 0.010062003872548226_r8, 0.010680002702963296_r8, & + 0.011382232635244028_r8, 0.012011714234058527_r8, 0.0125424700889294_r8, & + 0.013096872048209182_r8, 0.014441803967133765_r8, 0.015322994220534953_r8, & + 0.015819330730531374_r8, 0.016175224150104039_r8, 0.01637684411460287_r8, & + 0.016432073986179015_r8, 0.016487358520366396_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,23) / & + 0.00031889004049179254_r8, 0.00032594931560345685_r8, & + 0.00036739077519039006_r8, 0.00040487260959551607_r8, & + 0.00039431547862211358_r8, 0.00044870517428515557_r8, & + 0.0010536753298954077_r8, 0.0019913886055995264_r8, & + 0.0026281572809063601_r8, 0.0031939966930414421_r8, & + 0.0036165567501558822_r8, 0.0040016592765136187_r8, & + 0.0044625312311024588_r8, 0.0048324645418203549_r8, & + 0.0051976324679355946_r8, 0.0055996914628480988_r8, & + 0.0064055010934326887_r8, 0.0072301343003317916_r8, & + 0.0081321497896689934_r8, 0.0089376944837784456_r8, & + 0.0097226513169415933_r8, 0.01042678329592824_r8, 0.011064492068404909_r8, & + 0.011812649171757179_r8, 0.012436140042832342_r8, 0.012981786595076279_r8, & + 0.013551576017763021_r8, 0.014943356226497066_r8, 0.015851509482061047_r8, & + 0.016358313142173463_r8, 0.016708747822711371_r8, 0.016907388645429761_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,23) / & + 0.00034673695134037995_r8, 0.00033854776789384337_r8, & + 0.00036447732432653344_r8, 0.0003969771600481334_r8, & + 0.00040856936335725711_r8, 0.00046767620744434288_r8, & + 0.0011281788211526475_r8, 0.002009543413697943_r8, & + 0.0026542722976146287_r8, 0.0032640906437094858_r8, & + 0.0037075705448885708_r8, 0.0041073006672116578_r8, & + 0.0046156909545709713_r8, 0.0049498856938730287_r8, & + 0.0053342438700878661_r8, 0.005758825057271333_r8, & + 0.0065956958271025327_r8, 0.0074666289247573344_r8, & + 0.0084154574620038409_r8, 0.0092469532590041606_r8, 0.01005094919500928_r8, & + 0.010775195534128321_r8, 0.011432192213177282_r8, 0.012219104902200533_r8, & + 0.012856185015256_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,23) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,23) / & + 0.0025596367533417884_r8, 0.0025844593907455998_r8, & + 0.0026839046504846219_r8, 0.0028336312213276442_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,23) / & + 0.0020887543180518214_r8, 0.0019328233479579849_r8, & + 0.0020144762363624308_r8, 0.002206627317107651_r8, & + 0.0021141028520005097_r8, 0.0023662275976023242_r8, & + 0.0023494962406002333_r8, 0.0021748316502458172_r8, & + 0.0020238019282242132_r8, 0.001937924950589736_r8, & + 0.0018956481357980442_r8, 0.0019146353034876443_r8, & + 0.0019976801884330664_r8, 0.0019976801884330664_r8, & + 0.0020557924289375997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,23) / & + 0.0010771037261158188_r8, 0.00087672559400575481_r8, & + 0.0010267131649876807_r8, 0.0013155488791651555_r8, & + 0.0015434247326219059_r8, 0.0019801867850806781_r8, & + 0.0020475496239778235_r8, 0.0020068950981590385_r8, & + 0.0018996671417114339_r8, 0.0018633543613684413_r8, & + 0.0018495561626783277_r8, 0.0019029367642513749_r8, & + 0.0020269723817834618_r8, 0.002074360998691216_r8, & + 0.0020987208221713068_r8, 0.002103733564675176_r8, & + 0.0021368755551403927_r8, 0.0022023701278025007_r8, & + 0.0023085455398923374_r8, 0.0024959510627929125_r8, & + 0.0026385971368794079_r8, 0.002764468285263976_r8, & + 0.0025981399631277036_r8, 0.0028950166776383762_r8, & + 0.0032262129166145178_r8, 0.0034916514468391105_r8, & + 0.0036133189961948444_r8, 0.0037981392070166506_r8, & + 0.0038963218603896895_r8, 0.003954244692078104_r8, 0.0040283503932672_r8, & + 0.0040846615164077827_r8, 0.0041207111606613323_r8, & + 0.0041309734681495699_r8, 0.0041304471959706865_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,23) / & + 0.0014083623334671012_r8, 0.0016940660361164644_r8, & + 0.0018682569141679935_r8, 0.0018649651890585549_r8, & + 0.0021081921101587229_r8, 0.0022479776969978999_r8, & + 0.0019911329542121087_r8, 0.0019564120181262486_r8, & + 0.0020059682632669763_r8, 0.0019960029036890869_r8, & + 0.0019685417996939064_r8, 0.0020189547952055836_r8, & + 0.0021324516732940382_r8, 0.0021667667802568171_r8, & + 0.0022204264087531461_r8, 0.0022533436598475326_r8, & + 0.0023270692838740022_r8, 0.002380954372994265_r8, & + 0.0024753772822978903_r8, 0.0026305392836893766_r8, & + 0.0027506196119967082_r8, 0.0028695726371843694_r8, & + 0.0028775539432716376_r8, 0.0030975133279818007_r8, & + 0.0033380347215947593_r8, 0.0035525379592057163_r8, & + 0.0037149597926878827_r8, 0.0039327547554082777_r8, & + 0.003962695926266733_r8, 0.0040354295235478918_r8, & + 0.0041021658682324014_r8, 0.0041580801029680722_r8, & + 0.004200962713640349_r8, 0.00419911393652409_r8, 0.0042070276044241786_r8, & + 0.0041940410724855704_r8, 0.0042325272009911324_r8, & + 0.0042587708176170663_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,23) / & + 0.0020433994464426671_r8, 0.0029363761696426659_r8, & + 0.0029319286591146659_r8, 0.0036455224576853336_r8, & + 0.0035318329698133333_r8, 0.0038517757584213335_r8, & + 0.0030943554498559997_r8, 0.0023419385906346666_r8, & + 0.002298621691221333_r8, 0.0022961662947839994_r8, & + 0.0022372831085226666_r8, 0.0022597986305706659_r8, & + 0.0023015866982399992_r8, 0.0023550494810453335_r8, & + 0.0024112456296959996_r8, 0.0024673954501119987_r8, & + 0.0025029755343359992_r8, 0.0025365635044693339_r8, & + 0.0026184718233600002_r8, 0.0027398517981866662_r8, & + 0.0028433027461973329_r8, 0.002971956253866666_r8, & + 0.0031017216391679998_r8, 0.0032696151615999999_r8, & + 0.0034655372660053331_r8, 0.0036379709554346658_r8, & + 0.0038482548125866652_r8, 0.0041682439294293333_r8, & + 0.0041424391027199995_r8, 0.0041525849861119993_r8, & + 0.0041824203692373335_r8, 0.0042049358912853337_r8, & + 0.0042414425402026662_r8, 0.0042352808849919991_r8, & + 0.0042587229717333322_r8, 0.0042735943350613332_r8, & + 0.0043594405538986648_r8, 0.0043732000395946677_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,24) / & + 0.0036069542688888885_r8, 0.0037301245814814806_r8, & + 0.0036468369325925922_r8, 0.0033019267755555561_r8, & + 0.0034068614474074073_r8, 0.003415195759259259_r8, & + 0.0040577420814814809_r8, 0.0045153942607407405_r8, & + 0.0052095412059259272_r8, 0.0054558124940740742_r8, & + 0.005689117756296296_r8, 0.0060176449582222229_r8, & + 0.0061089063663703697_r8, 0.0061233326302962974_r8, & + 0.0061696622517037033_r8, 0.0062728177351851844_r8, & + 0.0066811047175555551_r8, 0.0071631302520740736_r8, & + 0.0074387893499999998_r8, 0.0076017244533333342_r8, & + 0.0077886571051851861_r8, 0.0080824866670370366_r8, & + 0.0078460196359259257_r8, 0.0079479797488888875_r8, & + 0.0082949561496296308_r8, 0.0085663690474074086_r8, & + 0.0086623176392592593_r8, 0.0088661962629629637_r8, & + 0.0089450740762962964_r8, 0.0089688982822222207_r8, & + 0.0089733081177777764_r8, 0.0089573189970370368_r8, & + 0.0088907554414814818_r8, 0.0088542841599999998_r8, 0.00889640641_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,24) / & + 0.0030812639664197527_r8, 0.0031521356632098767_r8, & + 0.0030318867511111109_r8, 0.0023836686592592594_r8, & + 0.0025928446325925924_r8, 0.0026319599664197529_r8, & + 0.0036894237407407403_r8, 0.0042631183851851847_r8, & + 0.0048424709318518515_r8, 0.0051261888424691355_r8, & + 0.0054363565214814802_r8, 0.0058073466493827157_r8, & + 0.0060189540414814814_r8, 0.0061032493886419761_r8, & + 0.0061724662414814804_r8, 0.006256632159506172_r8, & + 0.0064535216098765419_r8, 0.0067014061397530859_r8, & + 0.0069389640735802458_r8, 0.0071280507960493822_r8, & + 0.0073371065851851845_r8, 0.0075797584799999988_r8, & + 0.0076612341209876551_r8, 0.0078235659920987653_r8, & + 0.0080437157071604933_r8, 0.0082277916730864181_r8, & + 0.0083538279165432106_r8, 0.0086459587209876555_r8, & + 0.0088484228691358014_r8, 0.0089514392162962971_r8, & + 0.0090093125298765422_r8, 0.0090264803802469137_r8, & + 0.008988104641481481_r8, 0.0089507808446208093_r8, & + 0.0089269827226278655_r8, 0.0089529528438148133_r8, & + 0.0089736076537777747_r8, 0.0090764122918518507_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,24) / & + 0.002491510864197531_r8, 0.0025588140148148143_r8, & + 0.0024222015619753084_r8, 0.0012465967214814815_r8, & + 0.0012983221511111112_r8, 0.0014601178158024691_r8, & + 0.0024231815254320984_r8, 0.0031423822533333335_r8, & + 0.0035490116182716048_r8, 0.0039332035180246914_r8, & + 0.0043599776034567899_r8, 0.0047554760627160483_r8, & + 0.0051431533041975319_r8, 0.0053748961718518519_r8, & + 0.0055281402686419741_r8, 0.0056217637585185189_r8, & + 0.0058117934646913566_r8, 0.0058990287022222211_r8, & + 0.0060442297027160485_r8, 0.006194885216790123_r8, & + 0.0063576885797530869_r8, 0.006471207176790123_r8, & + 0.0066633262390123453_r8, 0.0068884959555555545_r8, 0.00709110802271605_r8, & + 0.0072959850997530856_r8, 0.0074911734814814808_r8, & + 0.0079498056241975312_r8, 0.0083526353195061721_r8, & + 0.0086520788701234565_r8, 0.0089015905091358004_r8, & + 0.0090719100069135798_r8, 0.0091519341925925916_r8, & + 0.0091742699634567888_r8, 0.0091546152246913572_r8, & + 0.0091280914967901226_r8, 0.0090798514088888879_r8, & + 0.0090972781175308638_r8, 0.0091066931626666674_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,24) / & + 0.0018768981229629626_r8, 0.0018655730735802466_r8, & + 0.0015195997486419754_r8, 0.0010103330790123457_r8, & + 0.0010214085150617282_r8, 0.0011255434997530863_r8, & + 0.0014376063911111113_r8, 0.0018732463723456789_r8, & + 0.0022101319229629627_r8, 0.0024929530745679005_r8, & + 0.0028044705145679016_r8, 0.0031665485219753088_r8, & + 0.0036706102913580244_r8, 0.0040580471644444437_r8, & + 0.0043392412069135789_r8, 0.0045687930241975301_r8, & + 0.0050411261654320985_r8, 0.0051738095195061722_r8, & + 0.0053977958839506179_r8, 0.0055928733264197531_r8, & + 0.0057326290582716041_r8, 0.0058286007624691345_r8, & + 0.0059371640725925916_r8, 0.0060892433071604952_r8, & + 0.006244133002962963_r8, 0.0063978670814814819_r8, & + 0.0065579801674074062_r8, 0.0070451976592592596_r8, & + 0.0075588186948148135_r8, 0.0080206588311111104_r8, & + 0.0084603665851851854_r8, 0.0088117666888888873_r8, & + 0.0090529393935802477_r8, 0.0092360816207407402_r8, & + 0.0093310178918518498_r8, 0.0093523089846913564_r8, & + 0.0093071439943827172_r8, 0.009203652490412698_r8, & + 0.0093927001199999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,24) / & + 0.0010081420286419751_r8, 0.00090993304938271594_r8, & + 0.00053778730419753095_r8, 0.00057555287703703697_r8, & + 0.00057639416641975312_r8, 0.00059545722913580254_r8, & + 0.00067305924098765436_r8, 0.00075014353629629632_r8, & + 0.00089291311802469121_r8, 0.0010362928656790125_r8, & + 0.0011686803817283951_r8, 0.001329283449382716_r8, & + 0.0015766687525925924_r8, 0.0017976782469135799_r8, & + 0.0021086040108641976_r8, 0.0023480109323456792_r8, & + 0.002881878382716049_r8, 0.0032942580992592597_r8, & + 0.0037129428637037035_r8, 0.0041512916118518518_r8, & + 0.0045153295461728389_r8, 0.0047650723086419744_r8, & + 0.0050463218207407413_r8, 0.0052439693560493821_r8, & + 0.0054113304735802469_r8, 0.0055343528671604929_r8, & + 0.005640697392098765_r8, 0.0059112227758024681_r8, & + 0.0062839786869135798_r8, 0.0068067429664197517_r8, & + 0.0074624124785185172_r8, 0.0080876661437037037_r8, 0.00853326292345679_r8, & + 0.0088931129007407406_r8, 0.0092169873563580224_r8, & + 0.0094110536337037032_r8, 0.0094572501280000016_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,24) / & + 0.00044046583901234562_r8, 0.00037722121629629632_r8, & + 0.00021535159209876546_r8, 0.00026664250962962961_r8, & + 0.00026894449925925922_r8, 0.00027568405925925917_r8, & + 0.00030985335111111107_r8, 0.00035185310567901231_r8, & + 0.00040816402469135798_r8, 0.00047206503802469133_r8, & + 0.00052563021037037034_r8, 0.00055675791753086418_r8, & + 0.00069889884345679019_r8, 0.00076296626567901244_r8, & + 0.00090843536938271612_r8, 0.0010660430770370367_r8, & + 0.0014188114316049383_r8, 0.0018255887155555551_r8, & + 0.0022645938543209877_r8, 0.0027524215120987654_r8, & + 0.0032720794923456788_r8, 0.0037165206548148149_r8, & + 0.0041660557782716053_r8, 0.0045527807911111108_r8, & + 0.0048853027308641975_r8, 0.0051232027274074072_r8, & + 0.0052817626637037046_r8, 0.0055436625200000009_r8, & + 0.0057965300716049393_r8, 0.0061878405738271603_r8, & + 0.0068412173412345685_r8, 0.0076727902938271602_r8, & + 0.0082023638005467372_r8, 0.008644902750931216_r8, & + 0.0090646379962500013_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,24) / & + 0.00020349958123456788_r8, 0.00024904014716049382_r8, & + 0.00019440256197530864_r8, 0.00018446425333333333_r8, & + 0.00018624852641975305_r8, 0.00019366296691358025_r8, & + 0.00021612816691358021_r8, 0.0002476626513580247_r8, & + 0.0002691016632098765_r8, 0.0002878134182716049_r8, & + 0.00030905828641975306_r8, 0.00031646348197530863_r8, & + 0.00037625049777777778_r8, 0.00040853382222222221_r8, & + 0.00045252123851851857_r8, 0.00051460099901234554_r8, & + 0.0006493552192592593_r8, 0.00087594865629629626_r8, & + 0.0011568930854320987_r8, 0.0015349001214814812_r8, & + 0.0020130853086419752_r8, 0.0025177479990123449_r8, & + 0.0030437480069135806_r8, 0.0036839507372839501_r8, & + 0.0042340985239506159_r8, 0.0046964009071604942_r8, & + 0.0050213419975308647_r8, 0.0055704820859259242_r8, & + 0.0058905788286419758_r8, 0.0061057270320987664_r8, & + 0.0065122177229629628_r8, 0.0071901975823456784_r8, & + 0.007766823466539681_r8, 0.0082349102755555556_r8, & + 0.0085891947999999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,24) / & + 0.00014665245580246911_r8, 0.00020496952641975305_r8, & + 0.00017181717777777779_r8, 0.00016841504049382714_r8, & + 0.00016922859506172835_r8, 0.00017838108395061729_r8, & + 0.00018460292740740743_r8, 0.00020661512543209879_r8, & + 0.00022018669481481482_r8, 0.00023067045481481484_r8, & + 0.00024358563358024691_r8, 0.000255705747654321_r8, & + 0.00027095065086419755_r8, 0.00028628800345679013_r8, & + 0.00029698439703703701_r8, 0.00030683025629629627_r8, & + 0.00033895641679012342_r8, 0.00043149824888888888_r8, & + 0.00063045856543209869_r8, 0.00099092795358024662_r8, & + 0.0015151159535802465_r8, 0.0021209552483950618_r8, & + 0.0027896971032098758_r8, 0.0035884043002469132_r8, & + 0.0041728785427160488_r8, 0.0047389276232098765_r8, & + 0.0051848294859259255_r8, 0.0058599965728395069_r8, & + 0.0062175907851851845_r8, 0.0063626623565432097_r8, & + 0.0066141154325925922_r8, 0.0071165131130864184_r8, & + 0.0077939729446913587_r8, 0.0082692737111111116_r8, & + 0.0085623722624867723_r8, 0.0087674268423386242_r8, & + 0.0089060165233333342_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,24) / & + 0.00017231640444444443_r8, 0.00018355824938271604_r8, & + 0.00015719168543209877_r8, 0.00017678170962962962_r8, & + 0.00017358296098765429_r8, 0.00017808524592592589_r8, & + 0.00018040572543209874_r8, 0.00018595268839506171_r8, & + 0.00019308053580246914_r8, 0.00020047648641975313_r8, & + 0.00021113590024691357_r8, 0.00022964426666666668_r8, & + 0.00025897845580246916_r8, 0.00028466089432098766_r8, & + 0.00030159762123456799_r8, 0.00031169309382716044_r8, & + 0.00034461431901234565_r8, 0.00043931022172839502_r8, & + 0.00066534896246913582_r8, 0.0010848287916049384_r8, & + 0.0016857682691358027_r8, 0.0024016870439506175_r8, 0.00325019672345679_r8, & + 0.0041659448390123453_r8, 0.0047962924651851844_r8, & + 0.005302193977283951_r8, 0.0056836216404938271_r8, & + 0.0062790049101234561_r8, 0.0065535703318518497_r8, & + 0.0066531290720987643_r8, 0.0068556579348148143_r8, & + 0.0073270018676543204_r8, 0.007870169725925925_r8, & + 0.0082650117945679002_r8, 0.0085467143086419735_r8, & + 0.0087309104587654316_r8, 0.008846831419047619_r8, & + 0.0089203960342857155_r8, 0.0090107917199999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,24) / & + 0.00019566911851851853_r8, 0.00019333014913580247_r8, & + 0.00019570609827160491_r8, 0.00019001121629629627_r8, & + 0.00018782941086419749_r8, 0.0001877831861728395_r8, & + 0.00019051044296296296_r8, 0.00018340108543209879_r8, & + 0.00017908369925925927_r8, 0.00018238414222222218_r8, & + 0.0001909634449382716_r8, 0.0002042484212345679_r8, & + 0.00022941314320987653_r8, 0.0002592742938271605_r8, & + 0.00028296907061728393_r8, 0.00030357603802469131_r8, & + 0.00035451564790123452_r8, 0.0004507647002469135_r8, & + 0.00071547501777777776_r8, 0.0012056508898765431_r8, & + 0.0019249255772839505_r8, 0.0028280728419753085_r8, & + 0.003831305808395062_r8, 0.0046747030370370363_r8, & + 0.0052905915797530857_r8, 0.0057688414814814817_r8, & + 0.0061400349980246906_r8, 0.0068138823699999988_r8, & + 0.0072575692445590824_r8, 0.0074330101079629618_r8, & + 0.0076281077572257494_r8, 0.0079012789762275132_r8, & + 0.008272748685301588_r8, 0.0085183901950476176_r8, 0.008712345302010583_r8, & + 0.0088149977948148144_r8, 0.0088932848565925933_r8, & + 0.0089540218475833329_r8, 0.0089933187866666677_r8, & + 0.0091231177199999989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,24) / & + 0.00023376742630115558_r8, 0.0002309483746699457_r8, & + 0.0002608011593576889_r8, 0.0002307442364483753_r8, & + 0.00022241345283476543_r8, 0.0002227245206009679_r8, & + 0.00023099697900841478_r8, 0.00023233845875016292_r8, & + 0.00021579354193526916_r8, 0.00020938749012503705_r8, & + 0.00020886256326957032_r8, 0.00022588380260146168_r8, & + 0.00024638511256774322_r8, 0.00026004293167757037_r8, & + 0.00028199265093023209_r8, 0.000311077487070163_r8, & + 0.00038157321958579753_r8, 0.00052617112653147657_r8, & + 0.00091049535167462723_r8, 0.0015699104116853925_r8, & + 0.002610218230543387_r8, 0.0039019271296991407_r8, 0.004969988025823012_r8, & + 0.0057238315946116147_r8, 0.0061969462252701819_r8, & + 0.0065704802872731853_r8, 0.0069134811038498766_r8, & + 0.0076323587115437819_r8, 0.0082612599678636243_r8, & + 0.0085080727986098972_r8, 0.0087087017869427932_r8, & + 0.0088912402404974812_r8, 0.0091512637304396651_r8, & + 0.0093501235208522868_r8, 0.0095007386449004437_r8, & + 0.0094938271079701327_r8, 0.009526539042868324_r8, 0.009553941474549528_r8, & + 0.0095986800322411386_r8, 0.0096431342198353177_r8, & + 0.0096400717299031467_r8, 0.0096373508590356441_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,24) / & + 0.00025832565813799501_r8, 0.00025818290297837033_r8, & + 0.00028946667653040992_r8, 0.00028129904204045428_r8, & + 0.0002701845331839605_r8, 0.00026172119157763952_r8, & + 0.000326256720525116_r8, 0.00030920767574708154_r8, & + 0.00028711121639660246_r8, 0.00027593552675741237_r8, & + 0.00027211172783889382_r8, 0.00030650552451132841_r8, & + 0.00033872740339804444_r8, 0.00032512487604523455_r8, & + 0.00032305492623067655_r8, 0.00034411131227531853_r8, & + 0.00044494743895593086_r8, 0.00072397259523950615_r8, & + 0.0015751298409074962_r8, 0.0028485976359337874_r8, & + 0.0043657077012509626_r8, 0.0057116645269752507_r8, & + 0.0065062295486491657_r8, 0.0070263273823503811_r8, & + 0.0073468229125049269_r8, 0.0076232172951325623_r8, & + 0.0078991324282957423_r8, 0.0085706628959674076_r8, & + 0.009096878807938252_r8, 0.0093785653282691152_r8, 0.009579493215440868_r8, & + 0.009769785843220585_r8, 0.0099723146275395563_r8, 0.010124277494960039_r8, & + 0.010230436349735229_r8, 0.010184938241003416_r8, 0.010163677919016454_r8, & + 0.010159721561735427_r8, 0.010161803165032403_r8, 0.010164391439894649_r8, & + 0.010163667562894383_r8, 0.0101398142272658_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,24) / & + 0.00025490740064007902_r8, 0.00026089480022804942_r8, & + 0.00028132239882230122_r8, 0.00035069512132106679_r8, & + 0.00035452663014830612_r8, 0.00035861428441246428_r8, & + 0.00050436103801910126_r8, 0.00053410592688126423_r8, & + 0.00061466366679213842_r8, 0.00068457002561781745_r8, & + 0.00072304520478828644_r8, 0.00072895789529048879_r8, & + 0.00067751535337601981_r8, 0.00066526306331008409_r8, & + 0.00064261553759587182_r8, 0.0006467885736723359_r8, & + 0.00091647770056792113_r8, 0.0017713951144630912_r8, & + 0.0034290296367547463_r8, 0.0052749950915407422_r8, & + 0.0065185491696005344_r8, 0.0072388194654888702_r8, & + 0.0077746650467958728_r8, 0.0081207175320727899_r8, & + 0.0083582283884554888_r8, 0.0085722485737274468_r8, & + 0.0087964612128434583_r8, 0.0093441962115140952_r8, & + 0.0098036037253539966_r8, 0.010090625360147737_r8, 0.010292329218994528_r8, & + 0.010501888204573493_r8, 0.010713037426406658_r8, 0.01084182521754398_r8, & + 0.010887365741682788_r8, 0.010819647291797454_r8, 0.010725203000569471_r8, & + 0.010687503690501456_r8, 0.010672059492862963_r8, 0.010663610848184627_r8, & + 0.010655625590422454_r8, 0.010647977019065683_r8, 0.010634149968199022_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,24) / & + 0.00023903833244894807_r8, 0.00025078901583130861_r8, & + 0.00028846032432181727_r8, 0.00034422590143620723_r8, & + 0.00036693571362773328_r8, 0.00040862053826401967_r8, & + 0.00058083382688576776_r8, 0.00079134274873181223_r8, & + 0.0010615415745903408_r8, 0.0014050316647331554_r8, & + 0.0016261875530214711_r8, 0.0017331254609945278_r8, & + 0.001869707645166538_r8, 0.001989109750503427_r8, 0.0019593539877448695_r8, & + 0.0019354512693655699_r8, 0.0027040842059058569_r8, & + 0.0040585901618260534_r8, 0.0054601991891793369_r8, & + 0.0066841989784259944_r8, 0.0075925468714631884_r8, & + 0.0081962911863477702_r8, 0.0087271009939388043_r8, & + 0.009079811022560948_r8, 0.0093084699563106745_r8, & + 0.0094794234468088875_r8, 0.0096390053082273958_r8, & + 0.010052865714792848_r8, 0.010471486597453431_r8, 0.010739756705830794_r8, & + 0.010930131155012186_r8, 0.011132791423062042_r8, 0.011324403373055049_r8, & + 0.011456983189737242_r8, 0.011501076124061_r8, 0.011449825752610606_r8, & + 0.011319308437281104_r8, 0.011235037140457725_r8, 0.011192468784836573_r8, & + 0.01116577054097518_r8, 0.011147828570955046_r8, 0.011131074370777613_r8, & + 0.011103455128483998_r8, 0.011120951550431999_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,24) / & + 0.00023295669106962962_r8, 0.00024563911372217287_r8, & + 0.00030612183146844446_r8, 0.00031779291519269133_r8, & + 0.00035228306002320987_r8, 0.00043322504804306174_r8, & + 0.00070361290404503702_r8, 0.0011868236692337776_r8, & + 0.0016465295227786664_r8, 0.0021178134633647412_r8, & + 0.002436931581291062_r8, 0.0026665636409412344_r8, & + 0.0029417059523647406_r8, 0.0029735689408987654_r8, & + 0.0029324992807416299_r8, 0.0029933888589762955_r8, & + 0.0039923941021815304_r8, 0.0052454197851698765_r8, & + 0.0062942712504961973_r8, 0.0072997746369303706_r8, & + 0.0080950938950596525_r8, 0.0087352946858419746_r8, & + 0.0092919728306494805_r8, 0.0096451858575033102_r8, & + 0.0098816764225292848_r8, 0.010073528579685628_r8, 0.010245688689203655_r8, & + 0.010683296205935999_r8, 0.011078857597339061_r8, 0.011339678419571061_r8, & + 0.011535634055367507_r8, 0.01173826220317363_r8, 0.011923127984514965_r8, & + 0.012052439872312297_r8, 0.012069330394873382_r8, 0.012004697700145483_r8, & + 0.011857844313005631_r8, 0.011737984666197618_r8, 0.011678431915281963_r8, & + 0.011652057184121751_r8, 0.01163833651992903_r8, 0.011622368211015272_r8, & + 0.011576447974646221_r8, 0.01158628237388_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,24) / & + 0.00024207079867279011_r8, 0.0002500208368996346_r8, & + 0.00029620850191008398_r8, 0.00029088427539591114_r8, & + 0.00032554014979725433_r8, 0.00037802008250627158_r8, & + 0.00072001693243824204_r8, 0.0013792892805556938_r8, & + 0.0018143148883080292_r8, 0.0022995455319860547_r8, & + 0.0025845005551275459_r8, 0.0026664573419013923_r8, & + 0.0026652351899060941_r8, 0.0026879115546505484_r8, & + 0.0028101993572692543_r8, 0.0030690172684320789_r8, & + 0.0040198878223189332_r8, 0.0050454185525522577_r8, & + 0.0060629266414699073_r8, 0.0070677291898423701_r8, & + 0.0078932747118944796_r8, 0.008589368926563359_r8, 0.009238743053570371_r8, & + 0.0096830739572077024_r8, 0.010019419866725769_r8, 0.010307279013420444_r8, & + 0.010575305416349826_r8, 0.011177257625836287_r8, 0.01168539454404006_r8, & + 0.012007715956899203_r8, 0.012237141717600829_r8, 0.012421759271979773_r8, & + 0.012610188488522273_r8, 0.012722788316475272_r8, 0.012691503948011456_r8, & + 0.012560332638880952_r8, 0.012401091592692939_r8, 0.012315255985898367_r8, & + 0.012246041646239863_r8, 0.012163275853619059_r8, 0.01210465197095008_r8, & + 0.012145262508686933_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,24) / & + 0.00026419336387996042_r8, 0.00026575284296412842_r8, & + 0.00028460493286064202_r8, 0.00027285853395247399_r8, & + 0.00028849105412683457_r8, 0.00032195697221530856_r8, & + 0.00054103863065244453_r8, 0.0011339173644092444_r8, & + 0.0016245118772665482_r8, 0.0021262365432648889_r8, & + 0.0023663963222267459_r8, 0.0023992208416596349_r8, & + 0.0024933429502557031_r8, 0.0026029843910280888_r8, & + 0.0028061820004063208_r8, 0.0031463245109741031_r8, & + 0.0040684545545979648_r8, 0.005028037249130311_r8, & + 0.0060096287210601876_r8, 0.0069765183296885145_r8, & + 0.0078081985864306364_r8, 0.0085030848593139353_r8, & + 0.0091428863064822712_r8, 0.0096866414490877819_r8, & + 0.010165954891473324_r8, 0.010574110812421589_r8, 0.010939179835447605_r8, & + 0.011730929881768494_r8, 0.012372542336905542_r8, 0.012758362492906371_r8, & + 0.013032113954398974_r8, 0.013215390476121384_r8, 0.013384606533197825_r8, & + 0.0134778042731432_r8, 0.013425649758933166_r8, 0.013239161527766245_r8, & + 0.013084035804390805_r8, 0.013030604781091713_r8, 0.012934405987142633_r8, & + 0.0126847525648448_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,24) / & + 0.00028747852962765432_r8, 0.00028875766224529381_r8, & + 0.0002906241516771555_r8, 0.00031056817861341231_r8, & + 0.00032164964384173819_r8, 0.0003627515684636444_r8, & + 0.00061856503961789627_r8, 0.0010972477908353579_r8, & + 0.0017097173719589922_r8, 0.0023034045874011657_r8, & + 0.002602238682103783_r8, 0.0027264711744986072_r8, & + 0.0028435901232545181_r8, 0.0029677181966601476_r8, & + 0.0031982492200555456_r8, 0.0036369917079058962_r8, & + 0.0045186926002953468_r8, 0.0054727950093179248_r8, & + 0.0064073710673610267_r8, 0.0072479569827549233_r8, & + 0.0080756471529832285_r8, 0.0088376316742605418_r8, 0.0094707501104975_r8, & + 0.010049740353210469_r8, 0.010570073228743112_r8, 0.011045336258064434_r8, & + 0.011505406324457875_r8, 0.012452525713578034_r8, 0.013166009245920948_r8, & + 0.013545997639179106_r8, 0.013817837374087512_r8, 0.013967205195343913_r8, & + 0.014116885574333599_r8, 0.014175586107578207_r8, 0.014039271312589871_r8, & + 0.013793078559590097_r8, 0.013663704410905439_r8, 0.013597920051479778_r8, & + 0.0134519541216448_r8, 0.013337111180543999_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,24) / & + 0.00034384887917098271_r8, 0.00034635161523922963_r8, & + 0.00034056150152458268_r8, 0.00044333601995956537_r8, & + 0.0004730847584140247_r8, 0.00049742217563984194_r8, & + 0.00089271919139213808_r8, 0.0013963796057858743_r8, & + 0.0020691945397111901_r8, 0.0026357564902742365_r8, & + 0.0030193430686801747_r8, 0.0033076971576135503_r8, & + 0.0034974519006474168_r8, 0.003659238568118625_r8, & + 0.0039177153997183595_r8, 0.0043353104410084296_r8, & + 0.0052044425528415426_r8, 0.0061317400868847027_r8, & + 0.0069983902382578589_r8, 0.0077668181451796253_r8, & + 0.0085525441617700058_r8, 0.0093051069928413912_r8, & + 0.0099154139192706749_r8, 0.010557943089424959_r8, 0.011053769360140662_r8, & + 0.011539234206903091_r8, 0.012067280160629282_r8, 0.013119357205937593_r8, & + 0.013827710508878334_r8, 0.014147754406180104_r8, 0.01456703565381731_r8, & + 0.014757751389522945_r8, 0.014878863301901232_r8, 0.014876099469583704_r8, & + 0.014580389103571718_r8, 0.01431280395540608_r8, 0.014207393930271272_r8, & + 0.014112164339720798_r8, 0.013935193843089598_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,24) / & + 0.00040110019506046934_r8, 0.00040345668655997527_r8, & + 0.00040575663167150607_r8, 0.00048626496367387646_r8, & + 0.00052765847401866673_r8, 0.00056128263623634548_r8, & + 0.0011160813128280494_r8, 0.001772956840067259_r8, & + 0.0024727815978359755_r8, 0.0029484773671862963_r8, & + 0.0033284069431566417_r8, 0.0036548175941227647_r8, & + 0.0040305084390230414_r8, 0.0042995482508223996_r8, & + 0.0045521529954576983_r8, 0.0048832268557838015_r8, & + 0.0056735749223775006_r8, 0.0065264656912281671_r8, & + 0.0073222045870901349_r8, 0.0081135383515909317_r8, & + 0.0088884933659483453_r8, 0.0095738839612856744_r8, & + 0.010195021337397144_r8, 0.010937778220525676_r8, 0.011441176462383662_r8, & + 0.011883154941370221_r8, 0.012333663398368772_r8, 0.013266853636097182_r8, & + 0.013936119658110887_r8, 0.014270491965325333_r8, 0.014549497539073109_r8, & + 0.014713267385171024_r8, 0.015152089410183704_r8, 0.015485537888189599_r8, & + 0.01517750709216_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,24) / & + 0.00042584648824988254_r8, 0.00042735663866884442_r8, & + 0.00045545565144125815_r8, 0.00047669520465458339_r8, & + 0.00047107897042571558_r8, 0.00050882073673693849_r8, & + 0.0011179334537881785_r8, 0.0020484702372641564_r8, & + 0.0027363259196702804_r8, 0.0032819953070174065_r8, & + 0.003637589607816774_r8, 0.0039739703886291907_r8, & + 0.0043916969956157665_r8, 0.0046960120784434595_r8, & + 0.0049875006338459173_r8, 0.0053245155423205289_r8, & + 0.0060768335958256113_r8, 0.0069079010790435756_r8, & + 0.0077235744952691317_r8, 0.0085439797181196663_r8, & + 0.0093413971667798378_r8, 0.010047015456948924_r8, 0.010699487208837533_r8, & + 0.011392417981135777_r8, 0.011958361353470748_r8, 0.012447845850848497_r8, & + 0.012961612855751366_r8, 0.014162630789440911_r8, 0.014926400323852708_r8, & + 0.015739243540716909_r8, 0.016118381240205308_r8, 0.016306439757346795_r8, & + 0.016264547924915568_r8, 0.016012336808710399_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,24) / & + 0.00034752748345480774_r8, 0.00035346985903117467_r8, & + 0.00039695528215793043_r8, 0.00039762189651472196_r8, & + 0.00038518029803269737_r8, 0.0004551863964665955_r8, & + 0.0012365343782044277_r8, 0.0022427591046716316_r8, & + 0.0029072235233332899_r8, 0.0034657969458085679_r8, & + 0.0038447501149687395_r8, 0.0042192741445083058_r8, & + 0.0046308377354662813_r8, 0.0049618272538507358_r8, & + 0.0052966435552771465_r8, 0.0056494380399551751_r8, & + 0.0064294592561474663_r8, 0.0072890361419223658_r8, & + 0.0081559973307224788_r8, 0.0089657553694203716_r8, & + 0.0097799236656735573_r8, 0.010500415265018173_r8, 0.011163077568149144_r8, & + 0.011890393571879977_r8, 0.012483055658861182_r8, 0.01302266175294761_r8, & + 0.01359371273529239_r8, 0.014969238209935799_r8, 0.015862135090566935_r8, & + 0.016341008570592799_r8, 0.016695978311926755_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,24) / & + 0.00034599802764109674_r8, 0.00034642384415371047_r8, & + 0.0003662134266620889_r8, 0.00036715092192328896_r8, & + 0.00037027590612728886_r8, 0.00045572686308333337_r8, & + 0.00129911843328688_r8, 0.0022793634783976001_r8, 0.0029136102724414401_r8, & + 0.0035119822478233607_r8, 0.0039207301817065603_r8, & + 0.0043472280258684808_r8, 0.0047856008100056_r8, 0.0051168491356296001_r8, & + 0.0054643473791144009_r8, 0.0058443454583208005_r8, & + 0.0066634038181892005_r8, 0.00753902439215_r8, 0.0084587072433872004_r8, & + 0.0092874530542880005_r8, 0.010097448959964801_r8, 0.010824945282656_r8, & + 0.011488691927585599_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,29,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,24) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,24) / & + 0.0023691238915716727_r8, 0.0024604321566890665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,24) / & + 0.0020669479560202044_r8, 0.0019287598444415383_r8, & + 0.0021016438360494981_r8, 0.0022906889912158641_r8, & + 0.0022140380053081955_r8, 0.0023991916587176886_r8, & + 0.002344691455164207_r8, 0.0021373797131310933_r8, & + 0.0019867481827935997_r8, 0.0018883601320383999_r8, & + 0.001865345383323733_r8, 0.0019021689812671997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,24) / & + 0.0011015683341458126_r8, 0.00094796499136342964_r8, & + 0.0010569487546935612_r8, 0.0013058629650156961_r8, & + 0.0015387853927592446_r8, 0.0019428339906698911_r8, & + 0.0019551921457848088_r8, 0.0019739636165653756_r8, & + 0.0018982288210511089_r8, 0.0018111733784317244_r8, & + 0.0017790236303037788_r8, 0.0018630373450321137_r8, & + 0.0020320158234977659_r8, 0.0020789856154631589_r8, & + 0.0020976945914224828_r8, 0.0021019573960714432_r8, & + 0.0021337705492849774_r8, 0.0021967653290973868_r8, & + 0.0023028618003603915_r8, 0.0024972338512289417_r8, & + 0.0026307622598162723_r8, 0.0027441015519411673_r8, & + 0.0026072181582134516_r8, 0.0028974243728567706_r8, & + 0.0032158519330927398_r8, 0.0034965852485161486_r8, & + 0.0036098653350209184_r8, 0.0037976458268489479_r8, & + 0.0038925721711151402_r8, 0.0039490148623004444_r8, & + 0.0040270347128199893_r8, 0.0040833458359605728_r8, & + 0.0041199217523930068_r8, 0.0041276842670315448_r8, & + 0.0041288683794340354_r8, 0.0041313681722837331_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,24) / & + 0.001419725548913383_r8, 0.0017444339395033545_r8, 0.001871548639277432_r8, & + 0.0018926517536776697_r8, 0.002101247922941551_r8, & + 0.0022836455677042833_r8, 0.0019969498383096097_r8, & + 0.001962454362847684_r8, 0.0020160688992192262_r8, & + 0.0020034881964037009_r8, 0.0019762525530324544_r8, & + 0.0020214348620688593_r8, 0.0021377274518940975_r8, & + 0.0021724483879799576_r8, 0.002223041751990782_r8, & + 0.0022569510298304789_r8, 0.0023278358499953778_r8, & + 0.0023791506880027915_r8, 0.002472852123309827_r8, & + 0.0026329291663030785_r8, 0.0027515665466172315_r8, & + 0.0028684904261894852_r8, 0.0028811162211297976_r8, & + 0.0030991366444741261_r8, 0.0033456101985589472_r8, & + 0.0035636757140280633_r8, 0.003726142639635016_r8, & + 0.0039496192100785515_r8, 0.0039608020570256856_r8, & + 0.004032047614188879_r8, 0.0040991446958716831_r8, & + 0.0041497380598825087_r8, 0.0041976258964061246_r8, & + 0.0041961604023505513_r8, 0.0042030900956704711_r8, & + 0.0041871622688493398_r8, 0.0042319860954936903_r8, & + 0.0042587708176170672_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,24) / & + 0.0020307518383786663_r8, 0.0029564826234879998_r8, & + 0.0029186324557653335_r8, 0.0036366737648639994_r8, & + 0.0035016732890453331_r8, 0.0038797580121599996_r8, & + 0.0029926649747626659_r8, 0.0022542855706453326_r8, & + 0.0021851638445226662_r8, 0.002230148560384_r8, 0.002218566501717333_r8, & + 0.0022473826636800003_r8, 0.0023045980334933328_r8, & + 0.0023572269080746663_r8, 0.0024133304002559998_r8, & + 0.0024702678006613319_r8, 0.0025047360072533325_r8, & + 0.0025375363973973333_r8, 0.0026196300292266666_r8, & + 0.002741982896981333_r8, 0.0028460361120426656_r8, & + 0.0029742726655999996_r8, 0.0031030651579733335_r8, & + 0.0032719779015680001_r8, 0.0034706333718186656_r8, & + 0.0036440399541759999_r8, 0.0038550650630826662_r8, & + 0.0041756564469760003_r8, 0.0041421611333119996_r8, & + 0.0041520290472960002_r8, 0.0041812158351360006_r8, & + 0.0042003957242880002_r8, 0.0042393577696426665_r8, & + 0.0042312966568106656_r8, 0.0042561749188266664_r8, & + 0.0042711852668586656_r8, 0.0043592552409599987_r8, & + 0.0043734316807680007_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,25) / & + 0.0039613219977777782_r8, 0.004088319714814815_r8, & + 0.0040969452422222226_r8, 0.0033880849777777771_r8, & + 0.0035081351237037034_r8, 0.0033302440214814815_r8, & + 0.0039281705736296298_r8, 0.0044082463506666661_r8, & + 0.0051222791580740733_r8, 0.0052981927680000006_r8, & + 0.0055527609259999992_r8, 0.0059218627752592595_r8, & + 0.006121398126962962_r8, 0.006114151019851851_r8, 0.0061489346378518503_r8, & + 0.0062049534168148153_r8, 0.006585846722592591_r8, & + 0.0069260627622222222_r8, 0.0072372473844444438_r8, & + 0.007425996666666667_r8, 0.0076092960577777771_r8, & + 0.0078725549200000002_r8, 0.0077066452577777772_r8, & + 0.0078410204355555558_r8, 0.0083088374244444426_r8, & + 0.0084912215666666669_r8, 0.0085974736422222229_r8, & + 0.0088480854288888883_r8, 0.0089413635542857136_r8, & + 0.0089801641639999999_r8, 0.0089898241999999996_r8, & + 0.0089827102200000005_r8, 0.0089141913600000004_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,25) / & + 0.0032026407609876541_r8, 0.0032656265254320978_r8, & + 0.0033087726523456785_r8, 0.0024749809145679018_r8, & + 0.0026202188948148144_r8, 0.0023430648903703701_r8, & + 0.003389138900740741_r8, 0.003889382510617284_r8, 0.0044797457787654317_r8, & + 0.004699433246913581_r8, 0.0050389536049382719_r8, 0.005596543566913581_r8, & + 0.0060019433550617275_r8, 0.0060890029387654322_r8, & + 0.006166318357530863_r8, 0.0062227494607407403_r8, & + 0.0064244092992592587_r8, 0.00664711061728395_r8, 0.0068920460118518509_r8, & + 0.0070989754651851851_r8, 0.0073089095234567898_r8, & + 0.0075502856167901245_r8, 0.007629940004938272_r8, & + 0.0078055198725925931_r8, 0.0080784674301234548_r8, & + 0.0082395604795061726_r8, 0.0083679819170370366_r8, 0.00866314275_r8, & + 0.0088650845591358024_r8, 0.0089848898792857131_r8, & + 0.0090555487774074076_r8, 0.0090815429024162266_r8, & + 0.0090595069316931204_r8, 0.0090238845336507931_r8, & + 0.0089647103251851851_r8, 0.0089359659631111105_r8, & + 0.0089489084144444443_r8, 0.0089679414311111105_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,25) / & + 0.0024792335861728394_r8, 0.0025293781313580244_r8, & + 0.002492398378271604_r8, 0.0011586496237037036_r8, 0.00121962923654321_r8, & + 0.0012838445777777776_r8, 0.0026321910898765436_r8, & + 0.0031081112671604932_r8, 0.0033776381975308637_r8, & + 0.0037110753861728397_r8, 0.004113294915555555_r8, & + 0.0047153345407407411_r8, 0.0052154394765432099_r8, & + 0.005479040401481481_r8, 0.0056657789096296301_r8, & + 0.0057537999669135809_r8, 0.0059319221925925921_r8, & + 0.0060325995703703695_r8, 0.0061679639565432095_r8, & + 0.0063255531743209885_r8, 0.0064800176029629628_r8, & + 0.0066111200725925915_r8, 0.0068811554745678996_r8, & + 0.0071163559491358025_r8, 0.007286601487407408_r8, & + 0.0074737929975308651_r8, 0.0076431140419753072_r8, & + 0.0080442149338271606_r8, 0.0084602279111111092_r8, & + 0.0087448333358024679_r8, 0.0089753188918518523_r8, & + 0.009115268767407406_r8, 0.0091730958562962935_r8, & + 0.0091685381017283935_r8, 0.0091298018103703697_r8, & + 0.0090855370459259257_r8, 0.0090088780177777772_r8, & + 0.0089971240692945324_r8, 0.00909166644_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,25) / & + 0.0018352959007407409_r8, 0.0018303683486419753_r8, & + 0.0016889392829629627_r8, 0.00099730696098765436_r8, & + 0.0010183576854320986_r8, 0.001130887074074074_r8, & + 0.0016511644651851852_r8, 0.0020651990256790121_r8, & + 0.0023647627604938271_r8, 0.0026139693165432099_r8, & + 0.0028742605535802463_r8, 0.0033367201007407405_r8, & + 0.003957416011358024_r8, 0.0043180795432098762_r8, & + 0.0045420011930864196_r8, 0.0047683265269135794_r8, & + 0.0051819912898765415_r8, 0.0053282184785185182_r8, & + 0.0055268552222222222_r8, 0.0057021392518518503_r8, & + 0.0058286469871604938_r8, 0.0059135987249382708_r8, & + 0.0060501741980246914_r8, 0.0062137356459259262_r8, & + 0.0063691060785185175_r8, 0.0065309479679012353_r8, & + 0.0067019053664197524_r8, 0.0071938840014814827_r8, & + 0.0076878595432098764_r8, 0.0081305071876543213_r8, & + 0.0085500887111111101_r8, 0.0088756029876543192_r8, & + 0.0090817466212345672_r8, 0.0092279460750617284_r8, 0.0092810582454321_r8, & + 0.0092663128990652568_r8, 0.009124458698296296_r8, & + 0.0090602359611111124_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,25) / & + 0.00099996025827160488_r8, 0.00093923025876543214_r8, & + 0.0007753452380246912_r8, 0.00066727190962962953_r8, & + 0.00067663703209876538_r8, 0.00070591575160493822_r8, & + 0.00080713858074074076_r8, 0.00088964965481481484_r8, & + 0.0010597842538271605_r8, 0.0012370744350617285_r8, & + 0.0013841059333333334_r8, 0.0016231060775308644_r8, & + 0.0019423615308641975_r8, 0.0021615497723456788_r8, & + 0.0024546697851851847_r8, 0.0027572658597530865_r8, & + 0.0032653491772839504_r8, 0.0036778398330864197_r8, & + 0.0040413508059259258_r8, 0.0044248308454320987_r8, & + 0.0047536548098765438_r8, 0.0049463655481481487_r8, & + 0.0051441702474074071_r8, 0.005348279994567902_r8, & + 0.0055059709066666669_r8, 0.0056111598143209875_r8, & + 0.0057207215777777777_r8, 0.0060577458024691361_r8, & + 0.0064660207664197526_r8, 0.0070185260123456781_r8, & + 0.0076802694488888879_r8, 0.0082505804459259268_r8, & + 0.0086509509876543204_r8, 0.0089599387814197507_r8, & + 0.0092945965330370386_r8, 0.0093505154666666656_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,25) / & + 0.00039792063308641978_r8, 0.00038286062864197523_r8, & + 0.00029201986518518513_r8, 0.00029435883456790121_r8, & + 0.00029899054864197534_r8, 0.00031244193382716051_r8, & + 0.00034288551555555552_r8, 0.00037039845185185175_r8, & + 0.00042925172888888893_r8, 0.00050774125481481479_r8, & + 0.00056422782765432099_r8, 0.00064350317333333317_r8, & + 0.0007418138469135803_r8, 0.0008223187693827159_r8, & + 0.00098660132246913574_r8, 0.0011797927975308639_r8, & + 0.0015339848725925925_r8, 0.0019589284602469135_r8, & + 0.0023825130419753084_r8, 0.0028602729619753085_r8, & + 0.0033817984197530861_r8, 0.0038067697422222223_r8, & + 0.0042072327333333333_r8, 0.0046113936997530872_r8, & + 0.0049167540108641964_r8, 0.0051350824730864199_r8, & + 0.0052944652088888888_r8, 0.0055910058488888876_r8, & + 0.0058465451876543208_r8, 0.0062512700953086418_r8, & + 0.0069339255822222215_r8, 0.0077189687604938273_r8, & + 0.0081081336446137565_r8, 0.0085406372062499999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,25) / & + 0.00017687415901234568_r8, 0.00022394938469135804_r8, & + 0.00016798977333333336_r8, 0.00017838108395061729_r8, & + 0.0001805074197530864_r8, 0.00018853202617283952_r8, & + 0.00020646720641975309_r8, 0.00023700323753086415_r8, & + 0.00025663024148148145_r8, 0.00027231890172839504_r8, & + 0.00028593669580246906_r8, 0.00030703364493827164_r8, & + 0.00035017977185185185_r8, 0.00038313797679012337_r8, & + 0.00042398211407407397_r8, 0.00048339008740740737_r8, & + 0.00061528762172839506_r8, 0.00082042355703703697_r8, & + 0.0010969026809876544_r8, 0.0014545616079012346_r8, & + 0.0018908857145679013_r8, 0.0023852033190123459_r8, & + 0.0029305992074074075_r8, 0.003545554011358025_r8, & + 0.0040718498572839511_r8, 0.0045476868301234565_r8, & + 0.0048970992720987639_r8, 0.0054797615066666675_r8, & + 0.0058170538345679009_r8, 0.0060517181027160494_r8, & + 0.0064545847777777773_r8, 0.0071086086908641972_r8, 0.00771377574659612_r8, & + 0.0081778999109276898_r8, 0.0085770265462116399_r8, & + 0.008795968244999999_r8, 0.0089402135499999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,25) / & + 0.00014356464641975309_r8, 0.00017611607407407406_r8, & + 0.00013805466320987653_r8, 0.00015896671358024692_r8, & + 0.00016149058172839506_r8, 0.0001726122424691358_r8, & + 0.00017596815506172836_r8, 0.00019021460493827159_r8, & + 0.00021373372790123459_r8, 0.00022805413728395061_r8, & + 0.00024183834024691357_r8, 0.00026183514172839511_r8, & + 0.00028443901580246908_r8, 0.0002931662375308642_r8, & + 0.00030182874469135792_r8, 0.00031560370271604943_r8, & + 0.00035598559308641983_r8, 0.00043063846962962957_r8, & + 0.00062407031308641975_r8, 0.000986619812345679_r8, & + 0.0014859574182716046_r8, 0.0020462746370370371_r8, & + 0.0027293184113580241_r8, 0.003442916706666666_r8, & + 0.0040264849451851856_r8, 0.0046173381950617284_r8, & + 0.0050919640809876541_r8, 0.0057544656024691348_r8, & + 0.006125289321481482_r8, 0.0062807429585185178_r8, & + 0.0065216383150617282_r8, 0.0070408155585185176_r8, & + 0.0077661641703703696_r8, 0.0082688761787654309_r8, & + 0.0086183995600000018_r8, 0.0088401805114021164_r8, & + 0.0089565500162786596_r8, 0.0090086185239166665_r8, & + 0.0090515410966666657_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,25) / & + 0.00016462461580246912_r8, 0.00016749054666666664_r8, & + 0.00014482195802469137_r8, 0.00016732413777777777_r8, & + 0.00016402369481481483_r8, 0.00017225168987654321_r8, & + 0.00017730867111111106_r8, 0.00017421161679012349_r8, & + 0.00017975857975308641_r8, 0.00018900351802469137_r8, & + 0.00020280621086419753_r8, 0.00022549328938271606_r8, & + 0.00026033746172839507_r8, 0.00028272870222222215_r8, & + 0.00029780719654320985_r8, 0.00031148970518518512_r8, & + 0.00035031844592592592_r8, 0.00043468775259259258_r8, & + 0.00064907787111111105_r8, 0.0010861970424691357_r8, & + 0.0017116448513580247_r8, 0.0024520812024691353_r8, & + 0.0033048158187654326_r8, 0.0041473625130864196_r8, 0.00478376557382716_r8, & + 0.005306354199506173_r8, 0.0056836586202469131_r8, & + 0.0062715846915432092_r8, 0.006544290725061728_r8, & + 0.0065995292312345669_r8, 0.006785268130432098_r8, & + 0.0072777922168518524_r8, 0.0078695341364197532_r8, & + 0.0082983571312962943_r8, 0.0086013438045061744_r8, & + 0.0087953562631040566_r8, 0.0089189260891005297_r8, & + 0.0089939425228412698_r8, 0.0090520171449523807_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,25) / & + 0.00019100042469135802_r8, 0.00018913294716049379_r8, & + 0.00020089250864197531_r8, 0.00019172152987654317_r8, & + 0.00018991876691358027_r8, 0.00019068609679012344_r8, & + 0.00019116683358024689_r8, 0.00018917917185185185_r8, & + 0.0001861468320987654_r8, 0.00018575854469135802_r8, & + 0.00019221151160493823_r8, 0.00020453501432098764_r8, & + 0.0002297089812345679_r8, 0.00025781359358024693_r8, & + 0.00028212778123456783_r8, 0.00030499975851851853_r8, & + 0.00034183159259259258_r8, 0.00043878326024691353_r8, & + 0.00070813453679012344_r8, 0.0012178449634567901_r8, & + 0.0019607774479012343_r8, 0.0029538964518518516_r8, & + 0.0039380016409876536_r8, 0.0048527975279012347_r8, & + 0.0054680123457407411_r8, 0.005892354186966489_r8, & + 0.0062123697062962972_r8, 0.0068849685163403871_r8, & + 0.007373267831058199_r8, 0.007562974459656085_r8, 0.0078490383724126988_r8, & + 0.008086889568888889_r8, 0.0084540569148148139_r8, & + 0.0086839715959259253_r8, 0.0088571685807407406_r8, & + 0.0089608551859259242_r8, 0.0090340057599999982_r8, & + 0.0091066432400000001_r8, 0.0091321037999999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,25) / & + 0.00023382575150731851_r8, 0.00023185241536547159_r8, & + 0.00027533385655996055_r8, 0.0002577002025633581_r8, & + 0.0002439354539088988_r8, 0.00023659619880005926_r8, & + 0.00023343691679956539_r8, 0.00022898475939579259_r8, & + 0.00021838901360952097_r8, 0.00021619209751071601_r8, & + 0.00021756273985554567_r8, 0.00023624624756308146_r8, & + 0.00025944995874824695_r8, 0.00027755021439415304_r8, & + 0.00030100666813935801_r8, 0.00033231758298117527_r8, & + 0.0003974960008682864_r8, 0.00056772783592258752_r8, & + 0.001029848165219437_r8, 0.0018792478634383604_r8, & + 0.0030458200327714764_r8, 0.0043110298465938576_r8, & + 0.0052927111123903794_r8, 0.0059925066568013025_r8, & + 0.0063997040836280281_r8, 0.0067198025359180638_r8, & + 0.0069940184926932337_r8, 0.0076592757941879889_r8, & + 0.0082545720108902713_r8, 0.0085054092808617872_r8, & + 0.0087193558579352296_r8, 0.0089023609131392203_r8, & + 0.0091710165335935206_r8, 0.0093571031038564532_r8, & + 0.0094908525224558227_r8, 0.0095474279724338963_r8, & + 0.0095823477594070457_r8, 0.00960342624589265_r8, 0.0096214480402493138_r8, & + 0.0096371892148928492_r8, 0.0096400790205539155_r8, & + 0.009638246150950245_r8, 0.0096496428962344893_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,25) / & + 0.00025612314996092836_r8, 0.00025457323679928885_r8, & + 0.00029816454447039993_r8, 0.00031165490705493336_r8, & + 0.00029468743665382716_r8, 0.00027371262498611355_r8, & + 0.00033239519238897777_r8, 0.00034201077206941232_r8, & + 0.0002936881505364543_r8, 0.00027654733458437527_r8, & + 0.00026968489012527401_r8, 0.00030778012415083459_r8, & + 0.00034695621867069634_r8, 0.00033596407137959495_r8, & + 0.00034206175605499254_r8, 0.00037704696696015802_r8, & + 0.00049695110424778264_r8, 0.00088772296012614316_r8, & + 0.0019473945100202271_r8, 0.003476057546469887_r8, & + 0.0049961144861535994_r8, 0.0061210863247788639_r8, & + 0.006776087784325412_r8, 0.0071884462596984488_r8, & + 0.0074447019680218872_r8, 0.0076888948653570368_r8, & + 0.0079135812898091847_r8, 0.0085155899947436248_r8, & + 0.0090893841620579563_r8, 0.0094094922139220938_r8, & + 0.0096254195896515547_r8, 0.0098043325918497574_r8, & + 0.010011266392522864_r8, 0.010182756126420583_r8, 0.010285917122843656_r8, & + 0.010282552179795358_r8, 0.010229355489240928_r8, 0.010190628053794172_r8, & + 0.010166838926122428_r8, 0.010162077021869234_r8, 0.010157599353335649_r8, & + 0.010145059077322403_r8, 0.010146588087049956_r8, 0.010174525854462628_r8, & + 0.0101731099563488_r8 & + / +data delta_sa_ref(:,18,25) / & + 0.00025374407344740747_r8, 0.00025492874609315565_r8, & + 0.00027765098089313587_r8, 0.00033509159512211368_r8, & + 0.00034087621290585684_r8, 0.0003274926138268642_r8, & + 0.00049161780253240508_r8, 0.00060648835826382233_r8, & + 0.00068717417089315556_r8, 0.00071961925956950132_r8, & + 0.00074207467620602478_r8, 0.00075663227520422717_r8, & + 0.00072146564126062242_r8, 0.00068614958914548158_r8, & + 0.0006668212813846717_r8, 0.00068479415287512105_r8, & + 0.001016598548223447_r8, 0.0021116843274093431_r8, & + 0.0039478842374128208_r8, 0.0057068562981853642_r8, & + 0.0068514848739619164_r8, 0.0075266415547729781_r8, & + 0.0079801470508372146_r8, 0.0082953340109654539_r8, & + 0.0084840811797947859_r8, 0.0086657309854761676_r8, & + 0.0088510842272663329_r8, 0.0093444737024040905_r8, & + 0.0098338182141838419_r8, 0.010149923028794373_r8, 0.010364231377682864_r8, & + 0.010549328474036111_r8, 0.010772890076833285_r8, 0.01092518988453442_r8, & + 0.010986888916652169_r8, 0.010933130393078895_r8, 0.010814620437597929_r8, & + 0.010733518388633602_r8, 0.010686643773677515_r8, 0.010659394778150085_r8, & + 0.0106482564157997_r8, 0.010650165690343636_r8, 0.010655787135207255_r8, & + 0.010662846261678802_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,25) / & + 0.00024208191552616297_r8, 0.00024911671743723453_r8, & + 0.00027961944014514558_r8, 0.00031574108545714562_r8, & + 0.00032685629544975802_r8, 0.00035419279986488881_r8, & + 0.00055034225283381725_r8, 0.00076706097604985657_r8, & + 0.0011027247097084049_r8, 0.0014348320221155553_r8, & + 0.0016467010799887799_r8, 0.0017989917204091254_r8, & + 0.0019500225627059359_r8, 0.0020598702698846811_r8, & + 0.002027082072704869_r8, 0.0020103033454843258_r8, & + 0.0027424913256897578_r8, 0.0042656987436041471_r8, & + 0.0057286811220199499_r8, 0.0068608717294319404_r8, & + 0.0077234097951274644_r8, 0.0083604551453660431_r8, & + 0.008880272378180027_r8, 0.0092309087567935197_r8, & + 0.0094348734175907535_r8, 0.0095939312921791194_r8, & + 0.0097387411844499748_r8, 0.01009917723165274_r8, 0.010513349800585086_r8, & + 0.010765582567363279_r8, 0.010973401875958853_r8, 0.01115124881933721_r8, & + 0.011351691102100351_r8, 0.011468662004105287_r8, 0.011501508333562607_r8, & + 0.011453857186239176_r8, 0.011344940789999416_r8, 0.011256145328770641_r8, & + 0.011198680935387645_r8, 0.011157721330821588_r8, 0.011137632328746604_r8, & + 0.011129780091453855_r8, 0.011113896541581998_r8, 0.011146462462433599_r8, & + 0.011139012373087998_r8 & + / +data delta_sa_ref(:,20,25) / & + 0.0002400476881530864_r8, 0.00025276498456177775_r8, & + 0.00028971954149343209_r8, 0.00031480539674933329_r8, & + 0.0003403911091766914_r8, 0.00039084180973767899_r8, & + 0.00069032600295259271_r8, 0.001163237385492247_r8, & + 0.0017039782237400489_r8, 0.0021675783133881482_r8, & + 0.0024862895708260739_r8, 0.0027605600383458764_r8, & + 0.0029997475071806418_r8, 0.0030190443189159516_r8, & + 0.0029974109655187156_r8, 0.0031043687756250864_r8, & + 0.0039979390294090861_r8, 0.0052318538940282471_r8, & + 0.0062940620079593081_r8, 0.0072623899703395545_r8, & + 0.0080805399141604933_r8, 0.0087682620099873605_r8, & + 0.0093448181957993103_r8, 0.0096830355075094316_r8, & + 0.009890394861566322_r8, 0.010069308855191703_r8, 0.010251803221114963_r8, & + 0.010655966805701233_r8, 0.011053434629107061_r8, 0.011317139801587148_r8, & + 0.011533146394095604_r8, 0.011717858149680618_r8, 0.011892905515593076_r8, & + 0.011989671470465146_r8, 0.012005398081414792_r8, 0.011958793665542309_r8, & + 0.011845028207621185_r8, 0.01174893191189991_r8, 0.011684826267569986_r8, & + 0.011660630897070775_r8, 0.011633123043881744_r8, 0.011622920742089244_r8, & + 0.011574355549277333_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,25) / & + 0.00025196901978322963_r8, 0.00026388802686609387_r8, & + 0.00026419053973621728_r8, 0.00028572945608900741_r8, & + 0.00031418986691022219_r8, 0.00035548892393947657_r8, & + 0.00069090309381756036_r8, 0.0013318794635499454_r8, & + 0.001930141016020899_r8, 0.0024428640293357438_r8, 0.002675181813075753_r8, & + 0.0027752409699977878_r8, 0.0027336757016428247_r8, & + 0.0027571264993347948_r8, 0.0028796200107051848_r8, & + 0.003188897068604602_r8, 0.0040724282576019757_r8, & + 0.0051641367033035063_r8, 0.0061597428604242173_r8, & + 0.0071201970220365826_r8, 0.0079720853648190416_r8, & + 0.0086695590381756851_r8, 0.0093335021850078428_r8, & + 0.0097614247905696786_r8, 0.010029693203795161_r8, 0.010276434801182658_r8, & + 0.010547316925606004_r8, 0.011090642140862538_r8, 0.011633495436041677_r8, & + 0.011970047054311426_r8, 0.012210121268041402_r8, 0.012388216644940485_r8, & + 0.012558519290305185_r8, 0.012636071489690036_r8, 0.012597870164450844_r8, & + 0.012484766652569085_r8, 0.012375474802850884_r8, 0.012299955489953263_r8, & + 0.012223477211257354_r8, 0.012161683166573982_r8, 0.012129507638410903_r8, & + 0.0121552272826288_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,25) / & + 0.00026142654614998514_r8, 0.0002640047172165531_r8, & + 0.00025170495476239013_r8, 0.00026972699933991109_r8, & + 0.00028808860791156542_r8, 0.00031438595279055802_r8, & + 0.00054969122428073086_r8, 0.001130735524019773_r8, & + 0.0017292736576787952_r8, 0.0022426315345872591_r8, & + 0.0024103761476891267_r8, 0.0024830302659894321_r8, & + 0.0025452836649138767_r8, 0.0026360305702904812_r8, & + 0.0028110176432116643_r8, 0.0031759939149615039_r8, & + 0.0041869246592178165_r8, 0.0051848026264218671_r8, & + 0.0060951831270265036_r8, 0.0069986858846944116_r8, & + 0.007875807978540322_r8, 0.0085793484171074377_r8, & + 0.0092724063894112103_r8, 0.0098090071073069982_r8, & + 0.010233480964640003_r8, 0.010607746512507132_r8, 0.010967808538675208_r8, & + 0.011649415658510156_r8, 0.012339990905975871_r8, 0.012713940246102427_r8, & + 0.012970313307466707_r8, 0.01314731732763082_r8, 0.013316841507590828_r8, & + 0.013396541578769402_r8, 0.013329895856698623_r8, 0.013121938961497853_r8, & + 0.012994118944333192_r8, 0.012932654717284003_r8, 0.012840580997041433_r8, & + 0.012692392754712799_r8, 0.012648588999469601_r8, 0.0126221030079272_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,25) / & + 0.00028733931237311257_r8, 0.0002859412562696966_r8, & + 0.00027867293766530731_r8, 0.00030432311959852239_r8, & + 0.00031913164599138479_r8, 0.00034540326768340977_r8, & + 0.00056205040744297511_r8, 0.0010641086532207384_r8, & + 0.0016833012323174492_r8, 0.002262335293713382_r8, & + 0.0025029035924451553_r8, 0.0026155294946503672_r8, & + 0.0027396205086379563_r8, 0.0028502776001250196_r8, & + 0.0030449295129830714_r8, 0.0034614055836999788_r8, & + 0.0044475900279184353_r8, 0.0054501940085706652_r8, & + 0.006326548730290666_r8, 0.0071417651141202666_r8, & + 0.0079840788374759986_r8, 0.0087849549046863634_r8, & + 0.0094933036041008473_r8, 0.010086684286878644_r8, 0.010543018944569164_r8, & + 0.010990032092290252_r8, 0.011418705023487257_r8, 0.012279418223474227_r8, & + 0.013045848645429384_r8, 0.013429256676509082_r8, 0.013695951072493658_r8, & + 0.013856908296094579_r8, 0.014018709155870702_r8, 0.014094730628466745_r8, & + 0.013981963514229269_r8, 0.01370974376878519_r8, 0.01357640538114511_r8, & + 0.013524796855122895_r8, 0.013400067440216988_r8, 0.013296407353318399_r8, & + 0.013280548719334399_r8, 0.013267333191014398_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,25) / & + 0.00058574808371577235_r8, 0.00058202030901147129_r8, & + 0.00057392830521775626_r8, 0.00072844606238140484_r8, & + 0.0008461127472144072_r8, 0.001036879677612445_r8, & + 0.0012777692579794041_r8, 0.0020622796442268752_r8, & + 0.0027002232027935648_r8, 0.0028986743255648038_r8, & + 0.0031498665041680566_r8, 0.0034628153862931864_r8, & + 0.0037437809502280581_r8, 0.003928938691326299_r8, & + 0.0041577557753402191_r8, 0.0044679666557514968_r8, & + 0.0052477320899296858_r8, 0.0061325297834582447_r8, & + 0.0069465614317933784_r8, 0.007671219480434332_r8, & + 0.0084378498624008268_r8, 0.0091592747018252301_r8, & + 0.0098242451663881313_r8, 0.010585459264447461_r8, 0.010956998760587299_r8, & + 0.011328037574575567_r8, 0.011732869978511359_r8, 0.012497294860554238_r8, & + 0.012962508369087522_r8, 0.013001274204692888_r8, 0.012998565162002798_r8, & + 0.013562350428360398_r8, 0.014850728517611999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,25) / & + 0.00058636349930645546_r8, 0.00057492575959229629_r8, & + 0.00057713542741935793_r8, 0.00065812890604740736_r8, & + 0.00083087811597501232_r8, 0.0010180656896037531_r8, & + 0.0013395269384639719_r8, 0.0021802762440548441_r8, & + 0.0028659880614749994_r8, 0.0030761093163414444_r8, & + 0.0033536373185233327_r8, 0.0036912461038973335_r8, & + 0.0040587180397998884_r8, 0.0042797140188300551_r8, & + 0.0045011668859453336_r8, 0.0047564367860695551_r8, & + 0.0054905145961251537_r8, 0.0062993491998979091_r8, & + 0.0070827181071829622_r8, 0.0078618642132124057_r8, & + 0.0086753658274939631_r8, 0.0093968982709682208_r8, & + 0.010076603698079334_r8, 0.010922240524573778_r8, 0.011322012557522302_r8, & + 0.011617816398203867_r8, 0.01183666957211486_r8, 0.012212420635214861_r8, & + 0.012392692738783731_r8, 0.0124794281027796_r8, 0.012602312542096665_r8, & + 0.012727246225756066_r8, 0.012952934760515554_r8, 0.014193748271107998_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,25) / & + 0.00060331264344004631_r8, 0.0006021068527122072_r8, & + 0.00063159053096784328_r8, 0.00068248442148795795_r8, & + 0.00083291778933651517_r8, 0.0010261472757279566_r8, & + 0.0013995463319044343_r8, 0.0023052767362831158_r8, & + 0.0029549813292295691_r8, 0.0032682554950941791_r8, & + 0.0035547960757401939_r8, 0.0038872945182834625_r8, & + 0.0042759871077567594_r8, 0.004518313341429942_r8, & + 0.0047330831029687862_r8, 0.0049834860089546925_r8, & + 0.0056948652315420801_r8, 0.0064633154782932391_r8, & + 0.0072705656809025025_r8, 0.0081429929023161436_r8, & + 0.0089845241642535541_r8, 0.0097601420911531591_r8, & + 0.010489183129233599_r8, 0.011313140542661599_r8, 0.0117459381021704_r8, & + 0.012090905515569307_r8, 0.012312719151872212_r8, 0.012742359674079266_r8, & + 0.012963547767387397_r8, 0.01297545589054311_r8, 0.013028496723641599_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,25) / & + 0.00061056939200450615_r8, 0.0005701917949583543_r8, & + 0.00042933554039296002_r8, 0.00041903827150655996_r8, & + 0.00043224300454912005_r8, 0.00054805699343616005_r8, & + 0.0012753470376656_r8, 0.0023023481786592003_r8, 0.0029676325116138672_r8, & + 0.0035160125566229329_r8, 0.0038766188748800001_r8, & + 0.0042271298314837339_r8, 0.0046331652771808007_r8, & + 0.0049505634475616005_r8, 0.0052806817736256008_r8, & + 0.0056223088119743995_r8, 0.0063849124312672003_r8, & + 0.0072535173479200002_r8, 0.0081106135522880009_r8, & + 0.008928337846208001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,25) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,25) / & + 0.0020951213616015435_r8, 0.0020135731510176947_r8, & + 0.0022429470868881181_r8, 0.0025088313644000587_r8, & + 0.0025183888781023988_r8, 0.0026373623429857178_r8, & + 0.0024324945480780186_r8, 0.0024674687465711998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,25) / & + 0.0010802450646117878_r8, 0.00099559418983867368_r8, & + 0.0010537754587577903_r8, 0.0012745278423646478_r8, & + 0.0015092640295818497_r8, 0.0019139485397086477_r8, & + 0.001902949451169973_r8, 0.0019709908052691801_r8, & + 0.0019276748458600386_r8, 0.001795323031501213_r8, & + 0.0017836942958913739_r8, 0.0018620111142832899_r8, & + 0.0020201765790163729_r8, 0.0020725538176197982_r8, & + 0.0020871259183443958_r8, 0.0020911180687299296_r8, & + 0.002118794346708737_r8, 0.0021780507145075742_r8, & + 0.0022825552124294546_r8, 0.0024713064884731755_r8, & + 0.0026008897352623726_r8, 0.0027232348600484185_r8, & + 0.0025848384338064117_r8, 0.0028776036469195534_r8, & + 0.0032151348872490109_r8, 0.0035036372957131931_r8, & + 0.0036060893321374259_r8, 0.0037978497573182657_r8, 0.00388864486498022_r8, & + 0.0039453638490594377_r8, 0.0040266136950768824_r8, & + 0.0040822275075804446_r8, 0.0041142643264700058_r8, 0.0041215992449632_r8, & + 0.0041266317226737771_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,25) / & + 0.0014269853810040625_r8, 0.0017952527641381139_r8, & + 0.0018666786898004545_r8, 0.0019104631429684681_r8, & + 0.0020883966673773038_r8, 0.0023114674086977581_r8, & + 0.0020018648799113741_r8, 0.0019629954683451261_r8, & + 0.0020260793509219032_r8, 0.0020122360686123464_r8, & + 0.0019907722172138142_r8, 0.0020272517461663603_r8, & + 0.0021430934147437302_r8, 0.0021794376673219167_r8, & + 0.0022287233597139224_r8, 0.0022626326375536202_r8, & + 0.0023313530357287511_r8, 0.0023791957801275786_r8, & + 0.0024724462941867458_r8, 0.0026356797859150745_r8, & + 0.0027537309686069991_r8, 0.0028712861379262679_r8, & + 0.0028885113295948383_r8, 0.0031052240813203486_r8, & + 0.0033582810856240468_r8, 0.0035773386278384728_r8, & + 0.0037407073959411625_r8, 0.0039708576008531497_r8, & + 0.0039590434641589992_r8, 0.0040294773630760302_r8, & + 0.0040955824180135252_r8, 0.0041387355814345231_r8, & + 0.0041902307879410836_r8, 0.0041810247475359431_r8, & + 0.0041915867725507445_r8, 0.0041759816765084444_r8, & + 0.004232290467336002_r8, 0.0042590413703657883_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,25) / & + 0.0020228760384853333_r8, 0.0030278281048746664_r8, & + 0.0029070503970986664_r8, 0.003622126699178667_r8, & + 0.0034748492411733334_r8, 0.0039228895986346667_r8, & + 0.0029458271295146662_r8, 0.0022077256948053329_r8, & + 0.0021022363044693334_r8, 0.0021493057908906661_r8, & + 0.0021647794212693331_r8, 0.0022239405769386663_r8, & + 0.0023087675746133328_r8, 0.0023611184797866672_r8, & + 0.0024169440025599998_r8, 0.0024744373417813323_r8, & + 0.0025078399989759996_r8, 0.0025392042138453336_r8, & + 0.0026215294868479999_r8, 0.0027447162628266657_r8, & + 0.002847889241429332_r8, 0.0029766817338026668_r8, & + 0.0031055668826453333_r8, 0.0032747112674133341_r8, & + 0.0034749418976426664_r8, 0.0036483484799999994_r8, & + 0.0038619679700479994_r8, 0.0041873311621119999_r8, & + 0.0041416051944960005_r8, 0.0041511488108373325_r8, & + 0.0041804745833813337_r8, 0.0041959945419946677_r8, & + 0.0042364854190933337_r8, 0.004226663833344_r8, 0.0042534878812159988_r8, & + 0.0042682665880746651_r8, 0.0043592089127253318_r8, & + 0.0043734316807680007_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,26) / & + 0.0040234673840744912_r8, 0.0041103619588888892_r8, & + 0.0042929166702222223_r8, 0.003411138155851852_r8, & + 0.0035312063294074079_r8, 0.0028218232637037041_r8, & + 0.0034219228385925929_r8, 0.0039900996416296292_r8, & + 0.0046034342701481478_r8, 0.0049546832191111117_r8, & + 0.0050327109603703702_r8, 0.0055949538997777772_r8, & + 0.0059807826158518509_r8, 0.0059745090007407402_r8, & + 0.0060404277218518519_r8, 0.0060901354437037022_r8, & + 0.0063873139844444421_r8, 0.0066207440533333339_r8, & + 0.0069032231422222218_r8, 0.0071368196199999992_r8, & + 0.0073502858225000011_r8, 0.0076277310425000005_r8, & + 0.007540337402857142_r8, 0.0077127310685714268_r8, & + 0.0081401047542857142_r8, 0.0083041542028571436_r8, & + 0.0084419942514285719_r8, 0.0087872629800000001_r8, & + 0.0088685121199999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,26) / & + 0.0031831246962962961_r8, 0.0032345542879012343_r8, & + 0.0034783340651851854_r8, 0.0026170109012345674_r8, & + 0.002703358624691358_r8, 0.0021636576182716052_r8, & + 0.0031275903520987655_r8, 0.0035597727264197526_r8, & + 0.0040229718686419745_r8, 0.0042732231027160488_r8, & + 0.0045850641155555545_r8, 0.0053044774770370368_r8, & + 0.0058785973886419755_r8, 0.0059545075767901221_r8, & + 0.0060467443259259249_r8, 0.0060924605456790125_r8, & + 0.0062617168755555556_r8, 0.0064417805382716046_r8, & + 0.0066556714301234552_r8, 0.006865049636481481_r8, & + 0.0070730422577160506_r8, 0.0073288705008024693_r8, & + 0.0074521586863580264_r8, 0.0076340817372839492_r8, & + 0.0078906437973456783_r8, 0.0080533362210493814_r8, & + 0.0082002486907407409_r8, 0.0085360580314902991_r8, & + 0.008770018858888888_r8, 0.0089397846508994707_r8, & + 0.0090540085046560848_r8, 0.0091084341166137572_r8, & + 0.009100012638201059_r8, 0.0090534498462433843_r8, & + 0.0089938140512169293_r8, 0.0089533667859259258_r8, & + 0.0089514198019259271_r8, 0.0089427928877777764_r8, & + 0.0089464663640000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,26) / & + 0.0023708736646913578_r8, 0.0024039058291358026_r8, & + 0.0024470981807407409_r8, 0.0012186307832098766_r8, & + 0.0012741281476543209_r8, 0.0012792683333333332_r8, & + 0.0026140247861728395_r8, 0.0030254800088888889_r8, & + 0.0031664375827160493_r8, 0.0034369259866666672_r8, & + 0.0038447756834567898_r8, 0.0045816065086419751_r8, & + 0.0051583334928395055_r8, 0.0054741960538271595_r8, & + 0.0056695508444444447_r8, 0.0057820709881481478_r8, & + 0.0059521593624691348_r8, 0.0060453298503703708_r8, 0.00615810885234568_r8, & + 0.0063033283427160487_r8, 0.0064477250335802467_r8, & + 0.0066146978637037033_r8, 0.0068787517906172832_r8, & + 0.0070961187792592589_r8, 0.0072651624755555554_r8, & + 0.0074443940938271605_r8, 0.0076204824330864188_r8, & + 0.0080147143358024701_r8, 0.0084299692281481469_r8, & + 0.0087264728883950631_r8, 0.0089659260345679014_r8, & + 0.0091260021407407396_r8, 0.0091844717528395056_r8, & + 0.0091541703120370365_r8, 0.009090115601604937_r8, & + 0.0090380827777777773_r8, 0.0089741424734567886_r8, & + 0.008937537635634922_r8, 0.0089462417119999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,26) / & + 0.0017903470108641972_r8, 0.0017781436923456791_r8, & + 0.0017821929753086422_r8, 0.00098912519061728388_r8, & + 0.0010133469288888888_r8, 0.0010958949827160494_r8, & + 0.0016664463481481484_r8, 0.0021256516770370372_r8, & + 0.0024174034390123454_r8, 0.0026411586800000001_r8, & + 0.002888285124938272_r8, 0.0033640666281481483_r8, & + 0.0040089657871604937_r8, 0.0043849574266666674_r8, & + 0.0046204907190123459_r8, 0.0049025445407407395_r8, & + 0.0052804868622222216_r8, 0.0054762854098765433_r8, & + 0.0056412613333333313_r8, 0.0057794454256790114_r8, & + 0.0058962367308641964_r8, 0.0059861067758024706_r8, & + 0.0061262600399999995_r8, 0.0062849031807407406_r8, & + 0.0064388683827160493_r8, 0.0066144205155555559_r8, & + 0.0068100711441975307_r8, 0.0073161760449382716_r8, & + 0.0077877141214814814_r8, 0.0082131754256790108_r8, & + 0.0086170682888888888_r8, 0.0089410571506172831_r8, & + 0.0091355798967901209_r8, 0.0092385500192592573_r8, & + 0.0092448088424691328_r8, 0.0091685137677301586_r8, & + 0.0090042879059259243_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,26) / & + 0.001052138689876543_r8, 0.0009959664449382716_r8, 0.000997427145185185_r8, & + 0.00077685216296296297_r8, 0.00078697537037037031_r8, & + 0.000818879652345679_r8, 0.00095255221481481466_r8, & + 0.0010883880928395059_r8, 0.0012580696898765432_r8, & + 0.0014277143071604937_r8, 0.0015853312597530862_r8, & + 0.0018659428711111108_r8, 0.0022890929407407413_r8, & + 0.002532660084444444_r8, 0.0028177554908641977_r8, 0.003202104554567901_r8, & + 0.0035916215387654321_r8, 0.0040577143466666663_r8, & + 0.0043725414745679021_r8, 0.0047167397713580245_r8, & + 0.0049988213279012336_r8, 0.0050378534572839495_r8, & + 0.0052087276513580246_r8, 0.0054251331664197534_r8, & + 0.0056089317841975309_r8, 0.005733174509629629_r8, & + 0.0058673185639506161_r8, 0.0063040494479012343_r8, & + 0.0067242688720987667_r8, 0.0072459422488888887_r8, & + 0.0078482499772839498_r8, 0.0083897999713580251_r8, & + 0.0087716910370987649_r8, 0.0090801054796031729_r8, & + 0.0093029142039999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,26) / & + 0.00043911607802469128_r8, 0.00041604995703703712_r8, & + 0.00039814251160493825_r8, 0.00039327967407407408_r8, & + 0.00040038903160493825_r8, 0.00041610542666666663_r8, & + 0.00044461681629629635_r8, 0.00046892175901234567_r8, & + 0.00049613885728395056_r8, 0.00055382727209876551_r8, & + 0.00060733697481481479_r8, 0.00070657214222222221_r8, & + 0.0008318965254320987_r8, 0.00093476495358024681_r8, & + 0.0010537473091358023_r8, 0.001247151417777778_r8, & + 0.0015046784182716046_r8, 0.0019429624518518518_r8, & + 0.0023336165634567901_r8, 0.0028089173298765429_r8, & + 0.0033213642582716049_r8, 0.0036001083920987652_r8, & + 0.0039994897254320991_r8, 0.0044768521130864195_r8, & + 0.0048637620246913581_r8, 0.0051362011106172827_r8, & + 0.0053280243348148137_r8, 0.0058372540246913584_r8, & + 0.0060999674355555556_r8, 0.0064526063609876543_r8, & + 0.0070100102685802471_r8, 0.0076556444001851841_r8, & + 0.0079872354076719575_r8, 0.0082078119747407419_r8, & + 0.0084983823491666666_r8, 0.0086026739199999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,26) / & + 0.00020307431407407407_r8, 0.00020882466567901232_r8, & + 0.00018953047950617281_r8, 0.00018341957530864202_r8, & + 0.00018644267012345677_r8, 0.0001930250661728395_r8, & + 0.00020144720493827162_r8, 0.00021695096641975305_r8, & + 0.00022766584987654319_r8, 0.00023762264839506173_r8, & + 0.00024630364543209879_r8, 0.00027535124148148147_r8, & + 0.00031837718419753093_r8, 0.00035264817037037032_r8, & + 0.00038085447703703707_r8, 0.00042427795209876536_r8, & + 0.00053433894222222221_r8, 0.00074412508148148139_r8, & + 0.0010413775817283949_r8, 0.0014172213022222223_r8, & + 0.001863908984691358_r8, 0.0023942818483950615_r8, & + 0.0029916158000000003_r8, 0.0036329001881481473_r8, & + 0.0042341262587654313_r8, 0.0047268167540740749_r8, & + 0.0050895973767901238_r8, 0.0057784562172839508_r8, & + 0.0061237176819753086_r8, 0.0063726561348148147_r8, & + 0.0067123983713580238_r8, 0.007211255240493826_r8, & + 0.0077541365056790117_r8, 0.0081692619688888898_r8, & + 0.0085019470157671941_r8, 0.0087325701893262789_r8, & + 0.0089505552681269831_r8, 0.0090751919599999994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,26) / & + 0.00014888973086419754_r8, 0.00016012233086419751_r8, & + 0.00013626114518518518_r8, 0.00015406689629629628_r8, & + 0.00015983573777777777_r8, 0.00016570627358024689_r8, & + 0.00016163850074074076_r8, 0.00015794052543209876_r8, & + 0.00016934877925925927_r8, 0.00018308675753086418_r8, & + 0.00019701887950617284_r8, 0.00022723133777777777_r8, & + 0.00026526501382716049_r8, 0.00028479032345679015_r8, & + 0.00030100594518518524_r8, 0.00031964374074074071_r8, & + 0.00037658331555555553_r8, 0.00046711899604938277_r8, & + 0.00068114856197530875_r8, 0.0010610877901234567_r8, & + 0.0016000769362962963_r8, 0.0021963199851851847_r8, & + 0.002962327835555556_r8, 0.0036679292592592589_r8, & + 0.0043361718874074069_r8, 0.004904430508148149_r8, & + 0.0053522645629629625_r8, 0.0060014348834567903_r8, & + 0.0064332289703703709_r8, 0.0066131077343209886_r8, & + 0.006818890815308642_r8, 0.0072280532933333332_r8, & + 0.0077751132706172822_r8, 0.0081849044044444447_r8, & + 0.0085381072711111106_r8, 0.0087876743797530854_r8, & + 0.0089254424498765444_r8, 0.0090118857263738975_r8, & + 0.0090766947341496609_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,26) / & + 0.00016265544395061728_r8, 0.00016285883259259257_r8, & + 0.00015046137037037039_r8, 0.00017611607407407411_r8, & + 0.000175626092345679_r8, 0.00017881559604938268_r8, & + 0.00017925010814814817_r8, 0.00016725017827160492_r8, & + 0.00016014082074074075_r8, 0.00016774940493827163_r8, & + 0.00017974933481481478_r8, 0.0002023069841975309_r8, & + 0.00023382297876543208_r8, 0.00026067027950617283_r8, & + 0.00028274719209876547_r8, 0.00030252211506172838_r8, & + 0.000356355390617284_r8, 0.00044187106962962958_r8, & + 0.00064418729876543205_r8, 0.0011074511555555554_r8, & + 0.0017749634335802469_r8, 0.0025923176711111109_r8, & + 0.0034781399214814813_r8, 0.004299340053333333_r8, 0.004961231408888888_r8, & + 0.0054678632711111109_r8, 0.0058377624962962955_r8, & + 0.0064454207327160479_r8, 0.0068038897473456789_r8, & + 0.0068517126574074065_r8, 0.0070170329548148135_r8, & + 0.0073631097900440905_r8, 0.0078030239043474416_r8, & + 0.0081724230774250436_r8, 0.0085036307501499108_r8, & + 0.0087415015260846572_r8, 0.0088910313038359796_r8, & + 0.0090086526724074082_r8, 0.0090720951945833326_r8, & + 0.0091345687316666657_r8, 0.0091135700100000005_r8, & + 0.0091036478799999994_r8, 0.0091081409199999987_r8, & + 0.0091594364599999999_r8, 0.0092148506199999994_r8 & + / +data delta_sa_ref(:,15,26) / & + 0.00020655965580246912_r8, 0.00020622683802469139_r8, & + 0.00022307111555555555_r8, 0.00020609740888888887_r8, & + 0.00020523762962962964_r8, 0.00020506197580246911_r8, & + 0.00020274149629629628_r8, 0.00020468293333333334_r8, & + 0.0001958170375308642_r8, 0.00019399578469135798_r8, & + 0.00019809129234567903_r8, 0.00020772451802469132_r8, & + 0.00022649174271604936_r8, 0.00024872581925925922_r8, & + 0.00027484276987654313_r8, 0.00030785644444444442_r8, & + 0.00035666047358024692_r8, 0.000481152812345679_r8, & + 0.0007736256795061728_r8, 0.0013221648469135799_r8, & + 0.0021198458558024688_r8, 0.003168351284938272_r8, & + 0.0041418802646913579_r8, 0.0050426146004938265_r8, & + 0.0055764728059259257_r8, 0.0059650930311111097_r8, 0.00626577540345679_r8, & + 0.0069018491132716046_r8, 0.0073839625737566143_r8, & + 0.0076168506911569655_r8, 0.0079213276153985886_r8, & + 0.0081125527911428564_r8, 0.0083997858625416665_r8, & + 0.0086037451772222207_r8, 0.0087871166293253967_r8, & + 0.0089285377589795913_r8, 0.0090502097406530597_r8, & + 0.0090940769916190486_r8, 0.0091348121046666668_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,26) / & + 0.00026402848743203942_r8, 0.00026385351181355056_r8, & + 0.00029134412565169382_r8, 0.00022530055053983209_r8, & + 0.00021960412207124938_r8, 0.00022204405986239997_r8, & + 0.00022990824182670614_r8, 0.00022621431210305182_r8, & + 0.00022309391357333333_r8, 0.00021992491070514566_r8, & + 0.0002203040245452049_r8, 0.00025059424827917037_r8, & + 0.00027072616527308645_r8, 0.00028172046663480491_r8, & + 0.00030025816132693334_r8, 0.00034534354569090367_r8, & + 0.00044732516866684437_r8, 0.00072299925559608888_r8, & + 0.0012195022939260048_r8, 0.0020957218661121976_r8, & + 0.0033519107147147059_r8, 0.0046432988252365628_r8, & + 0.0055327290566186665_r8, 0.0061660144242684251_r8, & + 0.0065217204149209482_r8, 0.0068218327632324728_r8, & + 0.0070909161018653027_r8, 0.0076915976792699655_r8, & + 0.0083004350646697488_r8, 0.0085711903925459153_r8, & + 0.0088036102635630133_r8, 0.0089562961060168818_r8, & + 0.0091970380813014355_r8, 0.0093804180842593284_r8, & + 0.0095064944400967289_r8, 0.0096031919035464586_r8, & + 0.0096716278883499235_r8, 0.0096646213646552938_r8, & + 0.0096592203116950617_r8, 0.0096796849601031854_r8, & + 0.0096743057096604964_r8, 0.0096646361195437559_r8, & + 0.0096667030190371542_r8, 0.0096951365570415986_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,26) / & + 0.00028016719756057283_r8, 0.00027907614026915557_r8, & + 0.00029229118933155556_r8, 0.00029562554198850365_r8, & + 0.00028392981569639502_r8, 0.00027437541679865683_r8, & + 0.00035431830618848397_r8, 0.00035724478696079015_r8, & + 0.00030610784942380242_r8, 0.0002894768733275259_r8, & + 0.00028455182032047406_r8, 0.00034138876744533333_r8, & + 0.00037440599650710125_r8, 0.00036327109405637529_r8, & + 0.00036449470971030114_r8, 0.00041032931274694311_r8, & + 0.00060062194052665663_r8, 0.0011894869739785085_r8, & + 0.0022504229267149827_r8, 0.00379320852717037_r8, 0.0053558065044222412_r8, & + 0.0065001012735824201_r8, 0.0071051078368689772_r8, & + 0.0074381352306791514_r8, 0.0076436108893646612_r8, & + 0.0078586205533536773_r8, 0.0080621180333986762_r8, & + 0.0085833579083768891_r8, 0.0091841429976574022_r8, & + 0.0095349841960293124_r8, 0.0097965728292444439_r8, & + 0.0099377882725046104_r8, 0.01012483831880142_r8, 0.010286885818569678_r8, & + 0.010395022851985382_r8, 0.010434433472838914_r8, 0.010420820748688988_r8, & + 0.010388532590621018_r8, 0.010331672700702645_r8, 0.010282722611975726_r8, & + 0.010264166480583941_r8, 0.010238802384763358_r8, 0.010211969076146885_r8, & + 0.010202273087437761_r8, 0.010197878340715011_r8 & + / +data delta_sa_ref(:,18,26) / & + 0.00027489741744626177_r8, 0.00027378745388628153_r8, & + 0.0002699666177855803_r8, 0.00041152966258921483_r8, & + 0.00041976900747676049_r8, 0.00039312988203723468_r8, & + 0.00058091650547812356_r8, 0.00074879849392513599_r8, & + 0.00080534259912489869_r8, 0.00080779732622870146_r8, & + 0.00081731739830083971_r8, 0.00081531092571164468_r8, & + 0.00082939892474216302_r8, 0.00083968743312505686_r8, & + 0.00082781936121449878_r8, 0.00087305037628369398_r8, & + 0.0013303019993628645_r8, 0.0024633293213923162_r8, & + 0.0040940472273544503_r8, 0.0057662606940973842_r8, & + 0.0069358314317938784_r8, 0.0076014146769001088_r8, & + 0.0080711854082086733_r8, 0.0083755929145332558_r8, & + 0.0085375301942984504_r8, 0.008700897619419775_r8, & + 0.0088713410622359729_r8, 0.0093438760297179478_r8, & + 0.0098819628835979858_r8, 0.010223063223761148_r8, 0.010479603551561583_r8, & + 0.010623109032595182_r8, 0.010803286002014283_r8, 0.010951359410006264_r8, & + 0.011042013549222345_r8, 0.011067596074734579_r8, 0.011018618932650453_r8, & + 0.010957058645977701_r8, 0.010899703413561029_r8, 0.010828921891159212_r8, & + 0.010775921131170154_r8, 0.010756977041564723_r8, 0.010729478761638867_r8, & + 0.010708637328073091_r8, 0.010714260311225101_r8 & + / +data delta_sa_ref(:,19,26) / & + 0.00028608566060223204_r8, 0.00029266336761892339_r8, & + 0.00028017687294317031_r8, 0.00036612186174261727_r8, & + 0.00038290058896316045_r8, 0.00040309080490761478_r8, & + 0.00061087945469929866_r8, 0.00085443299281224693_r8, & + 0.0012237433701595656_r8, 0.001506194568918676_r8, & + 0.0016743943413946465_r8, 0.0018220917355592687_r8, & + 0.002070807101381925_r8, 0.0021929852220529777_r8, & + 0.0021940331957132644_r8, 0.0022007000919776385_r8, & + 0.0029790769538273979_r8, 0.0043576305606543801_r8, & + 0.005655256073864137_r8, 0.0067427963141543489_r8, 0.007624677297941332_r8, & + 0.0083115905862911985_r8, 0.0088483872221330161_r8, & + 0.0091974181942881955_r8, 0.009414839282829747_r8, & + 0.0095823701359480876_r8, 0.0097225198900274534_r8, & + 0.010081896814913973_r8, 0.010525591024829705_r8, 0.010809491548863681_r8, & + 0.011023300472874033_r8, 0.011189649568460563_r8, 0.011362765898215107_r8, & + 0.011478911799678965_r8, 0.011533560719449025_r8, 0.011538490416214986_r8, & + 0.011486523942702276_r8, 0.011426680744670336_r8, 0.01136562214405556_r8, & + 0.011299282703828697_r8, 0.011251611011124995_r8, 0.011236726997984938_r8, & + 0.011232694529124027_r8, 0.011228428227158502_r8, 0.011264670546717119_r8 & + / +data delta_sa_ref(:,20,26) / & + 0.0003036225456111605_r8, 0.00032673222135200009_r8, & + 0.00029874021975041977_r8, 0.00034325075718083948_r8, & + 0.00036188496754933338_r8, 0.00040354748156098757_r8, & + 0.00066385682203614813_r8, 0.0011381631548217283_r8, & + 0.0017222636965470615_r8, 0.0021784589253063705_r8, & + 0.002486952172192889_r8, 0.0027521670876995558_r8, & + 0.0030205206412595555_r8, 0.0030812009769573328_r8, & + 0.0030499773406193584_r8, 0.00312060832140474_r8, 0.0039489762757770859_r8, & + 0.0052046639888180743_r8, 0.0062477380352091863_r8, & + 0.0071981873852708144_r8, 0.0080480026996742702_r8, & + 0.0088353126184748648_r8, 0.009446498444141924_r8, & + 0.0097434136039872589_r8, 0.0099636994969897266_r8, & + 0.010149750986040099_r8, 0.010306729387048297_r8, 0.010696280867808492_r8, & + 0.011087331920083064_r8, 0.011359695955600099_r8, 0.011545096467869036_r8, & + 0.011709991211522865_r8, 0.011874339599663703_r8, 0.011965424038429975_r8, & + 0.011996801700524272_r8, 0.01197201559350574_r8, 0.011899252124048272_r8, & + 0.011834202189737887_r8, 0.011780212425673505_r8, 0.01175285562463034_r8, & + 0.011752917525547503_r8, 0.011735086324930694_r8, 0.011738019830568401_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,26) / & + 0.00031527891324266666_r8, 0.00034573590900669631_r8, & + 0.00028136117024442472_r8, 0.00029652311529501234_r8, & + 0.00031835546913182229_r8, 0.00036195211140966423_r8, & + 0.00064058310300122475_r8, 0.0013122494034076343_r8, & + 0.0020466493102558958_r8, 0.0025753208020836494_r8, & + 0.0028354939709046272_r8, 0.0029994347706106326_r8, & + 0.0030746001434502077_r8, 0.0030654793804159859_r8, & + 0.0031295137921993677_r8, 0.0034205205853076784_r8, & + 0.0042108036946538474_r8, 0.0052931463418963553_r8, & + 0.006290966893226369_r8, 0.0072825813930258009_r8, & + 0.0081720653870653408_r8, 0.008880253418039892_r8, & + 0.0095941930829979739_r8, 0.0099632380408089267_r8, & + 0.010215648945463156_r8, 0.010426701154836597_r8, 0.01063741982216266_r8, & + 0.011136325905863611_r8, 0.011608537605663004_r8, 0.011919767340922944_r8, & + 0.012120226716420013_r8, 0.012281561410966028_r8, 0.012438949263311667_r8, & + 0.012518627220634874_r8, 0.012520707601642716_r8, 0.012452093145005663_r8, & + 0.012373129118055949_r8, 0.012310549793177857_r8, 0.012251561598581004_r8, & + 0.012235122357760508_r8, 0.012241187784022608_r8, 0.012225429024295392_r8, & + 0.012282482346574934_r8, 0.0122870563411712_r8, 0.012276274782479999_r8 & + / +data delta_sa_ref(:,22,26) / & + 0.00030565063853860473_r8, 0.00032490974165635695_r8, & + 0.00026303880138403492_r8, 0.00028241618240639366_r8, & + 0.00030367014857093368_r8, 0.00033703904837536971_r8, & + 0.00059116339659595987_r8, 0.0012468263450553347_r8, & + 0.0019898500361990243_r8, 0.002531156365450018_r8, & + 0.0027091522179049322_r8, 0.0028493391467527564_r8, & + 0.0029496037703728587_r8, 0.0029765243229791802_r8, & + 0.0031231775653740141_r8, 0.0034585813110583914_r8, & + 0.0043879732686887335_r8, 0.0053364561507517408_r8, & + 0.0062937740634871038_r8, 0.0072635444245698249_r8, & + 0.008175152779144915_r8, 0.008775635270382845_r8, 0.0095304053828926365_r8, & + 0.010036764625794241_r8, 0.010392457909648907_r8, 0.010693218228352654_r8, & + 0.010989922172176484_r8, 0.011548291300179508_r8, 0.012149233061825573_r8, & + 0.012514501241829099_r8, 0.012753805732751766_r8, 0.012946597152000897_r8, & + 0.013117360489010606_r8, 0.013189860797398019_r8, 0.01315225748068769_r8, & + 0.013010564217215734_r8, 0.012905180531636454_r8, 0.012844619293282771_r8, & + 0.01276268589713834_r8, 0.012710016126008319_r8, 0.012713683417144961_r8, & + 0.012661577322245201_r8, 0.0127474021217624_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,26) / & + 0.00054579056388202093_r8, 0.00060735954417162218_r8, & + 0.0006084001069175777_r8, 0.00088755018273976426_r8, & + 0.00085615001800063177_r8, 0.00084360884513109329_r8, & + 0.0011587375230975999_r8, 0.0010688719305215998_r8, & + 0.0016662138105855999_r8, 0.0022651415540479998_r8, & + 0.0024583525780863999_r8, 0.0025680414631423995_r8, & + 0.0026903291518634667_r8, 0.0027879478543871993_r8, & + 0.0029750797353983996_r8, 0.0033778890385919996_r8, & + 0.0044361885464575994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,26) / & + 0.00070998163754999277_r8, 0.00071411510384967363_r8, & + 0.00077666847947636345_r8, 0.0010445789229366642_r8, & + 0.0011643141527458846_r8, 0.0014267983058411729_r8, & + 0.0021310316013533116_r8, 0.0026118215400648_r8, 0.0030715065142863998_r8, & + 0.0030391806340967996_r8, 0.0032419022556247996_r8, & + 0.0035700921239903995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,26) / & + 0.00054128138022642371_r8, 0.00047638834172403379_r8, & + 0.00046422682527688891_r8, 0.00048369767839005285_r8, & + 0.00054769583359904196_r8, 0.0007460095315171704_r8, & + 0.0012793652665111109_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,26,26) / & + 0.00052164655216744931_r8, 0.0004640085151196445_r8, & + 0.00047715669709667559_r8, 0.00048082595718328889_r8, & + 0.00066562671258719997_r8, 0.0012223222663530666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,26) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,26) / & + 0.0022492506500522663_r8, 0.002054829580450133_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,26) / & + 0.0018953854844142495_r8, 0.0018139969217470101_r8, & + 0.0020217561727829095_r8, 0.0022679116962577772_r8, & + 0.002337499346190874_r8, 0.0025648339196057478_r8, & + 0.0023392574172732441_r8, 0.0023610666315314285_r8, & + 0.0020342161020175998_r8, 0.0018400291597375999_r8, & + 0.0018193158858943997_r8, 0.0018503857966591999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,26) / & + 0.001099607343764971_r8, 0.0010780575944400461_r8, & + 0.0011127704133820566_r8, 0.0013502147095197658_r8, & + 0.0015351249818007576_r8, 0.0019814648746579681_r8, & + 0.0019305684030721522_r8, 0.0020157641940308549_r8, & + 0.0019953037967904946_r8, 0.0018376954600753551_r8, & + 0.0018290464274211971_r8, 0.0018912366059886873_r8, & + 0.0020025384729639027_r8, 0.0020568032431231998_r8, & + 0.0020687712363340696_r8, 0.0020739023900781884_r8, & + 0.0020991845995289478_r8, 0.0021599126498851639_r8, & + 0.0022611472120098535_r8, 0.0024457559741883597_r8, & + 0.0025716196043989443_r8, 0.0027147656370553794_r8, & + 0.0025753504982385326_r8, 0.0028738595962754933_r8, & + 0.003225888695361456_r8, 0.0035167386536521595_r8, & + 0.0036172754352539545_r8, 0.0038013297321011349_r8, & + 0.0038864805706445597_r8, 0.0039418575606676226_r8, & + 0.004026297931769552_r8, 0.0040794251082278878_r8, & + 0.0041069754567924621_r8, 0.0041136064862463996_r8, & + 0.0041230793854663108_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,26) / & + 0.0014328924493511373_r8, 0.0018546841846071576_r8, & + 0.001864333899311539_r8, 0.0019280941637601187_r8, & + 0.0020660760656078222_r8, 0.0023291886137389831_r8, & + 0.0020050213286464534_r8, 0.0019572236763724113_r8, & + 0.0020368563687459557_r8, 0.00202526769267574_r8, 0.0020088090671285465_r8, & + 0.0020393815277340186_r8, 0.0021517961948275886_r8, & + 0.0021853447356689911_r8, 0.0022353519020575871_r8, & + 0.0022711099570135447_r8, 0.0023377110253236938_r8, & + 0.002381720939115642_r8, 0.0024738441500551378_r8, 0.002639016603149301_r8, & + 0.0027567521409677166_r8, 0.002876787377150262_r8, & + 0.0028990177946701698_r8, 0.0031161363755187626_r8, & + 0.0033745142505473055_r8, 0.003592444489642061_r8, & + 0.0037582933246080269_r8, 0.0039967855726055776_r8, & + 0.0039564732130461496_r8, 0.0040259150852178707_r8, & + 0.0040899459024151706_r8, 0.0041239002723796551_r8, & + 0.0041808121703762339_r8, 0.0041685165142066813_r8, & + 0.0041808265032301844_r8, 0.0041687985010299021_r8, & + 0.004232290467336002_r8, 0.004262017450601719_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,26) / & + 0.0020135177350826664_r8, 0.0030588216938666661_r8, & + 0.0028929666137599997_r8, 0.0036324115672746664_r8, & + 0.0034750345541119999_r8, 0.0039441542583466662_r8, & + 0.002934615696725333_r8, 0.0021903062785706665_r8, & + 0.0020838439953066671_r8, 0.002130264886442666_r8, & + 0.0021523634543786667_r8, 0.0022284344157013337_r8, & + 0.0023189597862399995_r8, 0.0023714033478826665_r8, & + 0.0024281091071146664_r8, 0.0024869459651413327_r8, & + 0.002517151974143999_r8, 0.0025452732125866668_r8, & + 0.0026280617679360001_r8, 0.0027526383909546657_r8, & + 0.0028552091025066655_r8, 0.0029853451136853332_r8, & + 0.0031155737813333335_r8, 0.0032857837154986664_r8, & + 0.0034891183374506649_r8, 0.0036653509421226659_r8, & + 0.0038832326297599988_r8, 0.0042126263782399998_r8, & + 0.004138593859242666_r8, 0.0041472572391253338_r8, & + 0.0041792700492800008_r8, 0.0041899718714879996_r8, & + 0.0042331961144320002_r8, 0.0042225406204586657_r8, & + 0.0042474652107093325_r8, 0.0042651162681173315_r8, & + 0.0043588382868479996_r8, 0.0043743003351680004_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,27) / & + 0.0039211009693333335_r8, 0.0040051332979999998_r8, & + 0.0044957108626666664_r8, 0.0036447179927407403_r8, & + 0.0036984264616296289_r8, 0.0026040342436296298_r8, & + 0.0031738363068148146_r8, 0.0037154861462222223_r8, & + 0.004341162767333334_r8, 0.0047312349100740734_r8, & + 0.0047921627512592588_r8, 0.0053497753633333332_r8, & + 0.0057693393214074068_r8, 0.005897935950518518_r8, & + 0.0061084958911111105_r8, 0.0061594447459259252_r8, & + 0.0064862024666666671_r8, 0.0067378751100000004_r8, & + 0.0069848744370370362_r8, 0.0072068638948148134_r8, & + 0.0074011878748148135_r8, 0.0076779951940740736_r8, & + 0.0076700353022222216_r8, 0.0078387323133333325_r8, & + 0.0081656425755555553_r8, 0.0083262687555555551_r8, & + 0.0084660522222222215_r8, 0.008811225859999999_r8, & + 0.0088990065488888902_r8, 0.0090012172657142845_r8, & + 0.0090409949333333326_r8, 0.0090297623333333334_r8, & + 0.0090006823799999996_r8, 0.0089280448999999994_r8, 0.0089018355_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,27) / & + 0.0030178899145679012_r8, 0.0030596123209876542_r8, & + 0.0035255294750617281_r8, 0.0027586710903703703_r8, & + 0.0028564640474074074_r8, 0.0021293219175308642_r8, & + 0.003023973083950617_r8, 0.0034417610893827159_r8, & + 0.0038817924162962958_r8, 0.0041353348483950617_r8, & + 0.0044346397249382724_r8, 0.0051575199382716047_r8, & + 0.0057665672266666657_r8, 0.0058808439086419761_r8, & + 0.0059957122666666664_r8, 0.0060400972153086411_r8, & + 0.0062014676128395053_r8, 0.0063712786390123458_r8, & + 0.0065672343506172834_r8, 0.0067703086646913567_r8, & + 0.0069565109664197541_r8, 0.007203785330370369_r8, & + 0.0073750385669135781_r8, 0.0075718887262962963_r8, & + 0.0077953608410493841_r8, 0.0079612681920370361_r8, & + 0.0081215014621604936_r8, 0.008496214988950616_r8, & + 0.0087301558406790124_r8, 0.0089119423636772471_r8, & + 0.0090524508976455014_r8, 0.009116486622936508_r8, 0.009114381253333333_r8, & + 0.0090519874951146394_r8, 0.0089915388058730162_r8, & + 0.0089789660199999996_r8, 0.0089650589914285709_r8, & + 0.0089534083881481485_r8, 0.0089428968933333332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,27) / & + 0.0021799471995061727_r8, 0.0022045294903703704_r8, & + 0.0022651208158024692_r8, 0.0013250400227160495_r8, & + 0.0014026235446913578_r8, 0.0013633325570370366_r8, & + 0.0025216123832098769_r8, 0.0029620689772839504_r8, & + 0.0030828910755555552_r8, 0.0033156601313580236_r8, & + 0.0037086901920987659_r8, 0.0045007965032098762_r8, & + 0.005136848256296297_r8, 0.0054703501595061719_r8, & + 0.0056525678928395053_r8, 0.0058015962977777773_r8, & + 0.0059293890795061735_r8, 0.0059874472918518516_r8, & + 0.0060747842237037037_r8, 0.0062015415723456774_r8, & + 0.0063468165323456796_r8, 0.0065873143565432103_r8, & + 0.0067861267540740748_r8, 0.006987398305185185_r8, & + 0.0071566823698765427_r8, 0.0073399632711111107_r8, & + 0.007538914342716049_r8, 0.0079547609111111101_r8, & + 0.0083580898330864184_r8, 0.0086694685990123463_r8, & + 0.0089574576711111097_r8, 0.009202272881481479_r8, & + 0.0092783217437037054_r8, 0.0092394005535802459_r8, & + 0.0091147695407407404_r8, 0.0090477437382716058_r8, & + 0.0090024158059259247_r8, 0.0089460066594444429_r8, & + 0.0089443321699999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,27) / & + 0.0017116171165432097_r8, 0.0016938575901234564_r8, & + 0.0016295035748148147_r8, 0.0010265487007407408_r8, & + 0.0010494206780246914_r8, 0.0011181013244444444_r8, & + 0.0016300397812345679_r8, 0.0020699694138271601_r8, & + 0.0023872926750617284_r8, 0.002606554876049382_r8, & + 0.0028432437856790124_r8, 0.0032862797175308642_r8, & + 0.0039053670088888886_r8, 0.0043053862429629618_r8, & + 0.0046226447896296286_r8, 0.0049716227195061719_r8, & + 0.0053141384375308626_r8, 0.0055317365496296289_r8, & + 0.0056837880493827153_r8, 0.005797704178765432_r8, & + 0.0059044277461728399_r8, 0.0060500447688888893_r8, & + 0.0061734739397530866_r8, 0.0063087458765432106_r8, & + 0.0064510162316049387_r8, 0.0066216223224691353_r8, & + 0.0068331649999999996_r8, 0.0073325303407407397_r8, & + 0.0077908019308641973_r8, 0.0082182786316049392_r8, & + 0.0086224580879012327_r8, 0.0089958981244444448_r8, & + 0.0092109168987654314_r8, 0.0092936498513580233_r8, & + 0.0092792000128395051_r8, 0.0091660571565079351_r8, & + 0.0090092524377777764_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,27) / & + 0.0010850968948148147_r8, 0.0010172482928395062_r8, & + 0.0009827276933333331_r8, 0.00084363759703703694_r8, & + 0.00085742179999999987_r8, 0.0008823369086419753_r8, & + 0.0010238861585185185_r8, 0.0011501905051851851_r8, & + 0.0012975918009876545_r8, 0.0014411379575308639_r8, & + 0.0015875223101234567_r8, 0.0018596100883950617_r8, & + 0.0022912192765432104_r8, 0.0025525274567901237_r8, 0.00285550257382716_r8, & + 0.0032932873807407408_r8, 0.0036283886582716045_r8, & + 0.004134049801975309_r8, 0.00446677513037037_r8, 0.0048078486380246912_r8, & + 0.005073844001975308_r8, 0.0050545128360493831_r8, & + 0.0052339293530864204_r8, 0.0054534226775308633_r8, & + 0.0056646417822222217_r8, 0.0058154082355555544_r8, & + 0.0059686523323456784_r8, 0.0064306773674074067_r8, & + 0.006817966321481482_r8, 0.007287978983209876_r8, 0.0078462530706172838_r8, & + 0.0083773470395061729_r8, 0.0087996119062962955_r8, & + 0.0091409484324444425_r8, 0.0093187244351851852_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,27) / & + 0.00049917119703703704_r8, 0.0004413995777777777_r8, & + 0.00041243518617283952_r8, 0.0004408356365432099_r8, & + 0.00044718690913580242_r8, 0.00045716219753086411_r8, & + 0.00047857347456790113_r8, 0.00049972589333333332_r8, & + 0.00051951006123456792_r8, 0.00055673942765432081_r8, & + 0.00059718603259259256_r8, 0.00067158929580246921_r8, & + 0.00077115728098765455_r8, 0.00085912286864197522_r8, & + 0.00092708240987654305_r8, 0.001098612994567901_r8, & + 0.001271881627654321_r8, 0.0016675742306172837_r8, & + 0.0020517846202469138_r8, 0.002519976029135802_r8, & + 0.0030187312039506174_r8, 0.003252304569382716_r8, & + 0.0036761849891358031_r8, 0.0041723053565432093_r8, & + 0.0046362348488888875_r8, 0.0049862204770370362_r8, & + 0.0052181389985185194_r8, 0.005955996011851851_r8, & + 0.0062598863777777779_r8, 0.0065870924780246911_r8, & + 0.0070045476656790126_r8, 0.0075065293239506177_r8, & + 0.0078989518601763672_r8, 0.0081611803410105814_r8, & + 0.0083909726917777774_r8, 0.0085550671103703686_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,27) / & + 0.00023973049432098758_r8, 0.00020849184790123454_r8, & + 0.00019502197283950617_r8, 0.00019979236098765431_r8, & + 0.00020257508740740741_r8, 0.00020484009728395061_r8, & + 0.00020976764938271603_r8, 0.00021566591999999999_r8, & + 0.00022122212790123456_r8, 0.00022805413728395061_r8, & + 0.00023319432296296295_r8, 0.00025409712839506173_r8, & + 0.00028394903407407405_r8, 0.00030292889234567895_r8, & + 0.00031491033234567903_r8, 0.00033654348790123452_r8, & + 0.00039425039259259251_r8, 0.00055085040197530859_r8, & + 0.00083840496197530861_r8, 0.0012268957580246914_r8, & + 0.0017062458074074073_r8, 0.0022585384197530865_r8, & + 0.0028734100192592585_r8, 0.0035058470014814815_r8, & + 0.0041725364799999999_r8, 0.0047139108202469138_r8, & + 0.005128795915061728_r8, 0.0059606092360493836_r8, & + 0.0063625236824691352_r8, 0.0066970055491358017_r8, & + 0.0069663938054320982_r8, 0.0073061545318518495_r8, & + 0.0077874645081481486_r8, 0.0081810862449382717_r8, & + 0.0084328813837037039_r8, 0.0086754593190123443_r8, & + 0.0089840712069841275_r8, 0.0090961750808333328_r8, & + 0.009116378159999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,27) / & + 0.00014874181185185184_r8, 0.00015550910666666662_r8, & + 0.00013885897283950617_r8, 0.00014211319111111109_r8, & + 0.00014861238271604937_r8, 0.00014850144345679014_r8, & + 0.00014056004148148147_r8, 0.00013511477283950616_r8, & + 0.00013946913876543212_r8, 0.0001510160666666667_r8, & + 0.0001586246508641975_r8, 0.00018412219061728394_r8, & + 0.00022118514814814817_r8, 0.00024508331358024689_r8, & + 0.00026471956246913584_r8, 0.00028496597728395058_r8, & + 0.00033915056049382705_r8, 0.00042362156148148143_r8, & + 0.00065134288098765421_r8, 0.0010846716276543208_r8, & + 0.0016680364775308642_r8, 0.0022699374286419753_r8, & + 0.003032986898765432_r8, 0.0037190260330864189_r8, & + 0.0043966337837037031_r8, 0.0049420111822222222_r8, & + 0.0053830964320987652_r8, 0.0061316683288888882_r8, & + 0.0066222694681481488_r8, 0.006930847017777777_r8, & + 0.0071305284395061733_r8, 0.0074176207525925922_r8, & + 0.0077816771767901241_r8, 0.008137385421728394_r8, & + 0.0084317442562962946_r8, 0.0087454250118518505_r8, & + 0.0089319046617283935_r8, 0.0090531231367283957_r8, & + 0.0091039901078042319_r8, 0.0091371179078333347_r8, & + 0.0091990001733333326_r8, 0.0092082358666666659_r8, & + 0.0092242111200000008_r8, 0.0092242111200000008_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,27) / & + 0.00016836881580246913_r8, 0.00016847975506172842_r8, & + 0.00016110229432098768_r8, 0.00018238414222222223_r8, & + 0.00018876314962962965_r8, 0.00018782016592592591_r8, & + 0.00017853824790123454_r8, 0.00015693282716049381_r8, & + 0.00014558004296296297_r8, 0.00014644906716049382_r8, & + 0.00015269864543209877_r8, 0.00016474480000000001_r8, & + 0.00018909596740740743_r8, 0.00021874448444444443_r8, & + 0.00024779208049382714_r8, 0.00027744984246913572_r8, & + 0.00035091012197530856_r8, 0.00044592959753086422_r8, & + 0.00071642724641975304_r8, 0.0012812005254320988_r8, & + 0.0020033134088888889_r8, 0.0028181622681481473_r8, & + 0.0036886841456790125_r8, 0.0044308955249382706_r8, & + 0.0050475051728395065_r8, 0.0055297026632098768_r8, & + 0.0059129423343209876_r8, 0.0066117302385185189_r8, & + 0.0071251293955555545_r8, 0.0073790046454320982_r8, & + 0.0075634873886419735_r8, 0.0077532674814814809_r8, & + 0.0079803878799999985_r8, 0.0082132493851851847_r8, & + 0.0084717840839506169_r8, 0.0087365662148412709_r8, & + 0.0088935058106172828_r8, 0.009028279214111111_r8, & + 0.0091115661696296295_r8, 0.0091640034595061731_r8, & + 0.0091936317037142855_r8, 0.0091872163438888876_r8, & + 0.0091939437203809541_r8, 0.00918864122_r8, 0.00921372736_r8 & + / +data delta_sa_ref(:,15,27) / & + 0.00023803867061728391_r8, 0.00023768736296296292_r8, & + 0.00025181362864197526_r8, 0.0002113023091358025_r8, & + 0.00021254113086419753_r8, 0.00021343788987654322_r8, & + 0.00021169059654320985_r8, 0.00021061818370370371_r8, & + 0.00020089250864197531_r8, 0.00019676926617283948_r8, & + 0.00019801733283950613_r8, 0.00021113590024691355_r8, & + 0.00023441465481481482_r8, 0.00025626968888888891_r8, & + 0.00028353301185185184_r8, 0.00031931092296296295_r8, & + 0.00040972641925925916_r8, 0.00058413217975308645_r8, & + 0.00094341821580246911_r8, 0.0016045422414814815_r8, & + 0.0024449903348148149_r8, 0.0034776129599999998_r8, & + 0.0044274933876543203_r8, 0.0052006198404938265_r8, & + 0.0056844629298765425_r8, 0.0060331912464197538_r8, & + 0.0064071582444444435_r8, 0.0071167904612345692_r8, & + 0.0077311350992592589_r8, 0.0080395647298765437_r8, & + 0.0082432122301234565_r8, 0.0083698586395061728_r8, & + 0.0085236296977777778_r8, 0.0086611712669135803_r8, & + 0.0088218251817283964_r8, 0.00898515170914462_r8, 0.0091005521463844805_r8, & + 0.0091315908710141083_r8, 0.0091660113280282174_r8, & + 0.0092135134057142846_r8, 0.0092362583063690471_r8, & + 0.0092339772416666667_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,27) / & + 0.00032055533307164447_r8, 0.00032106081819172343_r8, & + 0.00032504637394619259_r8, 0.00021742664770783203_r8, & + 0.00021666842002771359_r8, 0.00022665175114927407_r8, & + 0.00024241899854866172_r8, 0.00023787935333564449_r8, & + 0.00023900697398812834_r8, 0.00023645038578465184_r8, & + 0.00023333970812262716_r8, 0.00026680865559247408_r8, & + 0.00028903055914056297_r8, 0.00030014151091460736_r8, & + 0.00031718219198188644_r8, 0.00036037200714556054_r8, & + 0.00052522820236517538_r8, 0.00088501695744910619_r8, & + 0.001470096542205175_r8, 0.0024484629921181036_r8, 0.003684879595831368_r8, & + 0.0049125960229586567_r8, 0.0057195641336940254_r8, & + 0.0062644965348745869_r8, 0.0065978931341697756_r8, & + 0.0068357724875054227_r8, 0.00718899965689602_r8, 0.0078803574881487013_r8, & + 0.0085646676903233573_r8, 0.00890820315462321_r8, 0.0091378197704191019_r8, & + 0.0092445257350942407_r8, 0.0093584737462012839_r8, & + 0.0095130938677392991_r8, 0.0096289180063112521_r8, & + 0.0097320564125427545_r8, 0.0098194081296394849_r8, & + 0.0097979116458430469_r8, 0.0097483315752791445_r8, & + 0.009725469726180342_r8, 0.0097216240380891637_r8, & + 0.0097471230631204966_r8, 0.009735949620054132_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,27) / & + 0.00034111345392319996_r8, 0.00034172526175016291_r8, & + 0.00032425814829037034_r8, 0.00031238907644728892_r8, & + 0.00031098191844527409_r8, 0.00030924846293554567_r8, & + 0.00039902106474524438_r8, 0.00043551540162358512_r8, & + 0.00039584986084215308_r8, 0.00038026915484882959_r8, & + 0.00037388595985418259_r8, 0.00040747420955444938_r8, & + 0.00041073718463158513_r8, 0.00039085343025528895_r8, & + 0.0004000101540655012_r8, 0.00043785046816316057_r8, & + 0.00073810535604235041_r8, 0.0015128580009197824_r8, & + 0.0027110428428382813_r8, 0.0042814515666810471_r8, & + 0.0057841229672818961_r8, 0.0067411025734202459_r8, & + 0.0072806253056275343_r8, 0.0075764343899641278_r8, & + 0.0077661559971053448_r8, 0.0079383289164098366_r8, & + 0.0081476283740138655_r8, 0.0087003457616893244_r8, & + 0.0093320475398256993_r8, 0.0097355258795102945_r8, & + 0.0099939229152281039_r8, 0.010090057590095567_r8, 0.010190418473196305_r8, & + 0.010337328099303135_r8, 0.010438189717976538_r8, 0.010503682471253283_r8, & + 0.010554544095268138_r8, 0.010550111037721936_r8, 0.010504201415392225_r8, & + 0.010434790360737975_r8, 0.01038684356401301_r8, 0.010344260027651155_r8, & + 0.010288446656871087_r8, 0.010263688105130666_r8, 0.010264789359219199_r8 & + / +data delta_sa_ref(:,18,27) / & + 0.00032763135927186177_r8, 0.00032770606835762965_r8, & + 0.00031182505126868147_r8, 0.00046583249521594096_r8, & + 0.00048447774847830129_r8, 0.00047233218567774825_r8, & + 0.00064534775558966917_r8, 0.00078281247340260761_r8, & + 0.00085595266836938284_r8, 0.00089023346601031143_r8, & + 0.00090919890106881977_r8, 0.00090752328300231118_r8, & + 0.00092813231794771386_r8, 0.0009986576949126125_r8, & + 0.00099578673147381752_r8, 0.001018252820836879_r8, & + 0.0015440767119244447_r8, 0.0028690636934712499_r8, & + 0.0044847650731940358_r8, 0.006043495438655528_r8, & + 0.0071525518168800211_r8, 0.0077685602472159819_r8, & + 0.0081944660724522483_r8, 0.0084949780335903616_r8, & + 0.0086630734765681412_r8, 0.0088065789576017399_r8, & + 0.0089520482203183822_r8, 0.0094364512597109144_r8, & + 0.010003109002533907_r8, 0.010370869813589671_r8, 0.010604826652035122_r8, & + 0.010710337226592476_r8, 0.010827449054896927_r8, 0.010973569353932405_r8, & + 0.011064810493108094_r8, 0.011129102997774639_r8, 0.01115959497749448_r8, & + 0.01112194159826746_r8, 0.011076988074088261_r8, 0.011008042260651021_r8, & + 0.010935617138362313_r8, 0.010867803968028953_r8, 0.010845596692284442_r8, & + 0.0107949527371332_r8, 0.010800105796324042_r8 & + / +data delta_sa_ref(:,19,27) / & + 0.00035267658265426165_r8, 0.00036003469558818765_r8, & + 0.00034476103692231104_r8, 0.00044437427792932342_r8, & + 0.00046751888770330864_r8, 0.00050028478757120002_r8, & + 0.00069616667279707653_r8, 0.00095059015047150599_r8, & + 0.0012864880059052246_r8, 0.001537778711254755_r8, & + 0.0017392572217728001_r8, 0.0019635793283538962_r8, & + 0.0023785880464832787_r8, 0.0026124756998784785_r8, & + 0.002645509167489422_r8, 0.00264592166775996_r8, 0.0034604536208895993_r8, & + 0.0048737352910335208_r8, 0.0060353806474931354_r8, & + 0.007060800576771476_r8, 0.0079177977604546357_r8, & + 0.0085701279180150497_r8, 0.0090525191127696584_r8, & + 0.0093880044679328385_r8, 0.009605994137928375_r8, & + 0.0097680287036581905_r8, 0.0098950564896720591_r8, & + 0.010273441872971217_r8, 0.010671905985655226_r8, 0.010957389618835595_r8, & + 0.011150317110231938_r8, 0.011294435785833241_r8, 0.011420605125338152_r8, & + 0.011534125518323309_r8, 0.011600178119558963_r8, 0.011622770074530336_r8, & + 0.011609917266873023_r8, 0.011569313065532336_r8, 0.011510553875209413_r8, & + 0.011455289390363816_r8, 0.01139423660297679_r8, 0.011338395971517808_r8, & + 0.011318634660294806_r8, 0.011288851981495429_r8, 0.011264045943266932_r8 & + / +data delta_sa_ref(:,20,27) / & + 0.00038784266670893833_r8, 0.00041939179143762954_r8, & + 0.00038959797910172834_r8, 0.00041390498713698759_r8, & + 0.00043845611146528393_r8, 0.00045809003617669134_r8, & + 0.00071459813723170386_r8, 0.0012745776642879012_r8, & + 0.001862328325823407_r8, 0.0023295087877693828_r8, & + 0.0027006236761125926_r8, 0.0030335982998151117_r8, & + 0.0034251492092611359_r8, 0.0035496717678807897_r8, & + 0.0035259924874561982_r8, 0.003590520560915654_r8, & + 0.0043835265265537776_r8, 0.0056297867008493823_r8, & + 0.0067043488428959255_r8, 0.0076048124758118767_r8, & + 0.0084247540588549257_r8, 0.0091716467473529888_r8, & + 0.0097237869446417137_r8, 0.010031180215136395_r8, 0.010252715751067506_r8, & + 0.010425693940781839_r8, 0.010572589467043704_r8, 0.010942537537629122_r8, & + 0.011286074550225013_r8, 0.011533849681511258_r8, 0.011707207123323704_r8, & + 0.011873722043565247_r8, 0.012022571953244581_r8, 0.012111732107966247_r8, & + 0.012152949358841368_r8, 0.012130265641122052_r8, 0.012072397417177484_r8, & + 0.012017076015341138_r8, 0.011963814033354468_r8, 0.011938614755358335_r8, & + 0.011925213518165376_r8, 0.011910221705561049_r8, 0.011921876016669245_r8, & + 0.011931913680081714_r8, 0.011899518451602666_r8 & + / +data delta_sa_ref(:,21,27) / & + 0.00040052621893709502_r8, 0.00045389437264891909_r8, & + 0.00039705267973008895_r8, 0.00034644642530636769_r8, & + 0.00038136284972113585_r8, 0.00040939213648630036_r8, & + 0.00066034073714247936_r8, 0.0013941793961844133_r8, & + 0.0021778405420197029_r8, 0.0027961986726948215_r8, & + 0.0031761873793114842_r8, 0.0034437833928589305_r8, & + 0.0035891885807706058_r8, 0.0035643357655739867_r8, & + 0.0035565779526680434_r8, 0.003766186700273625_r8, & + 0.0045362236171932893_r8, 0.005699362827920473_r8, & + 0.0068188906596714279_r8, 0.0077680955344792578_r8, & + 0.0086629572565948536_r8, 0.0094176212473450847_r8, & + 0.010049673660273324_r8, 0.01037657710592785_r8, 0.010611682243253177_r8, & + 0.01078888252778569_r8, 0.010963429428718223_r8, 0.01138753311180762_r8, & + 0.011767151067293886_r8, 0.012016825148816142_r8, 0.012192936192543647_r8, & + 0.012351171902031992_r8, 0.012506777564627486_r8, 0.01258730174768471_r8, & + 0.01262164637955882_r8, 0.012578240104308535_r8, 0.012491579242404266_r8, & + 0.012433356102855958_r8, 0.01238688105061889_r8, 0.012369347404666534_r8, & + 0.0123740439169752_r8, 0.012367142085843334_r8, 0.012390216255012_r8, & + 0.012362608930484532_r8, 0.012369714957803733_r8 & + / +data delta_sa_ref(:,22,27) / & + 0.0006181777723241465_r8, 0.00066810045410685339_r8, & + 0.00045886451458156883_r8, 0.00058829212120653333_r8, & + 0.00058816687272426665_r8, 0.00035971364106986663_r8, & + 0.00060820662988693333_r8, 0.0013276339120266666_r8, & + 0.0021672997371423998_r8, 0.0027284129376970666_r8, & + 0.0029628780965002665_r8, 0.0031532557895455997_r8, & + 0.0032775022839541331_r8, 0.0032604684903658663_r8, & + 0.0033506473975978661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,23,27) / & + 0.00077531563286721637_r8, 0.0008422185302866509_r8, & + 0.00086910353881936703_r8, 0.00087082771539850662_r8, & + 0.00085361540510568625_r8, 0.0010855434692652796_r8, & + 0.0015055797028661331_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,24,27) / & + 0.00068310294414646077_r8, 0.00066538612268341726_r8, & + 0.0007916115996722962_r8, 0.00089176701282074838_r8, & + 0.00093875421405090512_r8, 0.0008527896223266098_r8, & + 0.0016588331486925331_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,25,27) / & + 0.00067414367563702765_r8, 0.00059403324714229285_r8, & + 0.00061939409881013997_r8, 0.00055494222838765915_r8, & + 0.00054929585725147607_r8, 0.000660581246108148_r8, & + 0.0014468317892811851_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,26,27) / & + 0.00052312716174339404_r8, 0.00044432446361333333_r8, & + 0.00045292429194133336_r8, 0.00042196490996053334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,27) / & + 0.00020403433804800001_r8, 0.00018333520230399999_r8, & + 0.0002140882039808_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,27) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,27) / & + 0.0024034466707711999_r8, 0.0020715900174848_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,27) / & + 0.0015283558730703282_r8, 0.0014891501366252444_r8, & + 0.0016582957537065362_r8, 0.0019407698292502992_r8, & + 0.0020421242253953892_r8, 0.0024149503686014813_r8, & + 0.0021801040369255702_r8, 0.0021722086995192885_r8, & + 0.0020918488685905778_r8, 0.0018920041339182219_r8, & + 0.0018417552658911997_r8, 0.0018580573795640885_r8, 0.0019021689812672_r8, & + 0.0019328073654935999_r8, 0.0019465545680740571_r8, & + 0.0019485272608210286_r8, 0.0019633224564233141_r8, & + 0.0020385313674016001_r8, 0.0021046987699562666_r8, & + 0.0022335813627583998_r8, 0.0023699437488927996_r8, & + 0.0025580893196351998_r8, 0.0023302433073599995_r8, & + 0.0026616556888511998_r8, 0.0030897300149439993_r8, & + 0.0034384034579712001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,27) / & + 0.0011123201060861368_r8, 0.0011473610619968262_r8, & + 0.0011628860912739031_r8, 0.0013975157710263307_r8, & + 0.0015565376810790978_r8, 0.0019993957196099425_r8, & + 0.0019394445472320787_r8, 0.0020341296834162832_r8, & + 0.002042769318352961_r8, 0.0019156307311375801_r8, & + 0.0018826510079275193_r8, 0.0019177796758680229_r8, & + 0.001994204263845327_r8, 0.0020388551690225117_r8, & + 0.0020572034292592263_r8, 0.0020612984846511669_r8, & + 0.0020886975299643129_r8, 0.002151998205480698_r8, & + 0.0022432555242140467_r8, 0.0024230354258940427_r8, & + 0.0025458722079329211_r8, 0.0027051862303706935_r8, & + 0.0025636981117063687_r8, 0.0028799547992044423_r8, & + 0.0032387596525935355_r8, 0.0035337868963041309_r8, & + 0.0036485745333213293_r8, 0.0038009303291082321_r8, & + 0.0038822934176213132_r8, 0.0039373522949076771_r8, & + 0.0040201593427115706_r8, 0.004070405178990516_r8, & + 0.0040997129007238637_r8, 0.0041074885721668749_r8, & + 0.0041185797583368532_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,27) / & + 0.0014387544255734254_r8, 0.0019160094743172476_r8, & + 0.0018602305159559382_r8, 0.0019701200240614457_r8, & + 0.0020480392156930895_r8, 0.0023554322303649192_r8, & + 0.0020135888323559508_r8, 0.0019524439111450074_r8, & + 0.0020476784786947954_r8, 0.0020450631354571596_r8, & + 0.0020305434712757993_r8, 0.0020554343241581301_r8, & + 0.0021628437654003622_r8, 0.0021903950536451156_r8, & + 0.0022425215498986929_r8, 0.0022806243953435654_r8, & + 0.0023455570550366027_r8, 0.0023854635854729488_r8, & + 0.0024770456909150025_r8, 0.0026428945258809675_r8, & + 0.0027603144188258761_r8, 0.0028820180636255342_r8, & + 0.0029105162864908121_r8, 0.0031283112492112072_r8, & + 0.0033918747185902355_r8, 0.0036104813395567946_r8, & + 0.0037806590185022948_r8, 0.0040239761238520357_r8, & + 0.0039528658430632042_r8, 0.0040219469782366299_r8, & + 0.0040818293199535406_r8, 0.0041064947122119383_r8, & + 0.0041679101861716028_r8, 0.0041464898164648295_r8, & + 0.0041643865587061169_r8, 0.0041679887753033728_r8, & + 0.0042325948391783129_r8, 0.0042624232797248002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,27) / & + 0.0019904926024533328_r8, 0.0030782795524266658_r8, & + 0.0028771223575039992_r8, 0.0036446885494613333_r8, & + 0.003478416515242666_r8, 0.0039586086675626663_r8, & + 0.0029273421638826664_r8, 0.0021916497973759998_r8, 0.00207712640128_r8, & + 0.0021255394065066665_r8, 0.002154077599061333_r8, & + 0.0022421939013973339_r8, 0.0023348040424959991_r8, & + 0.0023875719017813334_r8, 0.0024450189127679998_r8, & + 0.0025052456178346659_r8, 0.0025311894292479988_r8, & + 0.0025540755771733333_r8, 0.0026380686666240003_r8, & + 0.0027635255261013328_r8, 0.002866466863530666_r8, & + 0.0029983170193919992_r8, 0.0031301671752533337_r8, & + 0.0033019985976319999_r8, 0.0035095490889386653_r8, & + 0.0036896269370879989_r8, 0.0039139019211093329_r8, & + 0.0042469556001280004_r8, 0.0041351655698773325_r8, & + 0.0041402153474559989_r8, 0.0041771389504853332_r8, & + 0.0041818644304213335_r8, 0.0042293045427199997_r8, & + 0.0042138309123413336_r8, 0.0042384775331839987_r8, & + 0.0042625218869759987_r8, 0.0043588382868479996_r8, & + 0.0043745038484845709_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,28) / & + 0.0038352256622222218_r8, 0.0038965584317037032_r8, & + 0.0046291458302222229_r8, 0.0038854201300740736_r8, & + 0.0039596329475555551_r8, 0.0027016621785185186_r8, & + 0.0033157082050370365_r8, 0.0039485029663703704_r8, & + 0.0045224083954074068_r8, 0.0048265289602962957_r8, & + 0.0050229413718518526_r8, 0.0054545477865185193_r8, & + 0.0058051851828148137_r8, 0.0060640120216296301_r8, & + 0.0064021992595555558_r8, 0.0065303049824444442_r8, & + 0.006904346402222223_r8, 0.0071631538266666659_r8, & + 0.0073823434548888874_r8, 0.0075357849311111121_r8, & + 0.0077099040985185172_r8, 0.007967886412222222_r8, & + 0.0080901414759259258_r8, 0.0082407068518518516_r8, & + 0.0084645961444444438_r8, 0.0085929806022222218_r8, & + 0.0086996209651851852_r8, 0.0089263530762962954_r8, & + 0.0089946639251851854_r8, 0.0090327438259259259_r8, & + 0.0090376390207407408_r8, 0.0090080459733333351_r8, & + 0.0089722264599999997_r8, 0.0089007122399999989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,28) / & + 0.0027845569175308643_r8, 0.0028180883086419751_r8, & + 0.0034724265496296289_r8, 0.0028477368256790126_r8, & + 0.0030132582004938273_r8, 0.0022138021634567902_r8, & + 0.0030300192735802462_r8, 0.0035790206879012347_r8, & + 0.0040234988301234564_r8, 0.0042716884429629632_r8, & + 0.0045526236271604941_r8, 0.0052203300488888899_r8, & + 0.0057972789116049386_r8, 0.0059567725866666674_r8, & + 0.0060914343575308632_r8, 0.0061623707688888895_r8, & + 0.0063299537649382709_r8, 0.0064925444943209872_r8, & + 0.0066714525397530864_r8, 0.0068569799609876549_r8, & + 0.0070466121348148154_r8, 0.0072917509180246897_r8, & + 0.0074878360587654312_r8, 0.0076877486039506164_r8, & + 0.0078896857906172839_r8, 0.0080553458395061731_r8, & + 0.0082119920735802474_r8, 0.0085527882330864204_r8, & + 0.0087913168854320978_r8, 0.0089681910444444433_r8, & + 0.0091095369056790106_r8, 0.0091791605358024688_r8, & + 0.009184236832354498_r8, 0.0091262446552821848_r8, & + 0.0090778312247883578_r8, 0.0090893486019047627_r8, & + 0.0090419004750370343_r8, 0.0090228730053333352_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,28) / & + 0.001932256813333333_r8, 0.0019526973718518514_r8, & + 0.0019659176335802462_r8, 0.001425643440987654_r8, & + 0.0015161236518518519_r8, 0.0013946451629629629_r8, & + 0.0021128659274074076_r8, 0.0026577256093827163_r8, & + 0.0029601552750617285_r8, 0.0032140767496296294_r8, & + 0.0035252521269135812_r8, 0.0042835589437037035_r8, & + 0.0049738877293827146_r8, 0.0053438701590123464_r8, & + 0.0055542664641975315_r8, 0.0057276275466666676_r8, & + 0.0058510289827160486_r8, 0.0059343721012345661_r8, & + 0.0060024610716049379_r8, 0.0060871077264197512_r8, & + 0.0062127187027160493_r8, 0.0065466273832098755_r8, & + 0.0066850241091358023_r8, 0.0068482897190123458_r8, & + 0.0070217709856790133_r8, 0.007220130381234569_r8, & + 0.0074356483822222231_r8, 0.0079006040627160497_r8, & + 0.0083205923634567906_r8, 0.0086626828143209871_r8, & + 0.0089635685753086409_r8, 0.0093073693397530861_r8, & + 0.0094459047397530867_r8, 0.0094538461417283965_r8, & + 0.0093317759767901232_r8, 0.0092125809876543192_r8, & + 0.0091529326459259246_r8, 0.0090651253778395065_r8, & + 0.0089336417856296299_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,28) / & + 0.0015403823698765433_r8, 0.0015234271530864198_r8, & + 0.0012468925595061726_r8, 0.0010960429017283951_r8, & + 0.0011175373832098764_r8, 0.0011657497362962963_r8, & + 0.0014473782908641976_r8, 0.0017076787728395062_r8, & + 0.0020703114765432094_r8, 0.0024042571367901234_r8, & + 0.0026610352972839505_r8, 0.0030470392049382717_r8, & + 0.0036536735644444444_r8, 0.0041354457876543209_r8, & + 0.0045244265654320985_r8, 0.0048751240538271604_r8, & + 0.0051892763012345682_r8, 0.0054662916316049383_r8, & + 0.0056485555896296294_r8, 0.0057738060133333321_r8, & + 0.0058444280967901224_r8, 0.0060320726088888893_r8, & + 0.0061594955930864195_r8, 0.0062846628123456785_r8, & + 0.0064161073446913569_r8, 0.0065760355318518508_r8, & + 0.0067689773935802463_r8, 0.0073213901901234574_r8, & + 0.007806841898765432_r8, 0.0082608053476543233_r8, & + 0.0086561743777777769_r8, 0.0090366867920987637_r8, & + 0.0093130087520987663_r8, 0.0094327584375308634_r8, & + 0.0094183120658641976_r8, 0.0093266260839259263_r8, & + 0.009170128231111109_r8, 0.0091586127360000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,28) / & + 0.0010317443560493825_r8, 0.00096236109432098755_r8, & + 0.00074967204444444449_r8, 0.00077803551506172835_r8, & + 0.00078898152197530848_r8, 0.0008071570706172838_r8, & + 0.0009119299560493828_r8, 0.0010154640197530863_r8, & + 0.0011576881501234569_r8, 0.0012929046172839506_r8, & + 0.0014310979545679014_r8, 0.0016567484079012345_r8, & + 0.0020390728301234568_r8, 0.0023411789229629628_r8, & + 0.0026381078503703703_r8, 0.0030260994197530856_r8, & + 0.0034189630716049378_r8, 0.0039306056903703696_r8, & + 0.0043228221965432101_r8, 0.0046851867970370371_r8, & + 0.0049715764948148142_r8, 0.005052913461728396_r8, & + 0.0052751432879012336_r8, 0.0054722453718518511_r8, & + 0.0056668143427160492_r8, 0.0058392139516049383_r8, & + 0.0060044487333333323_r8, 0.0064589853683950623_r8, & + 0.0068779382360493824_r8, 0.0073827950701234558_r8, & + 0.007923688673580247_r8, 0.0084003946706172842_r8, & + 0.0087673956076543217_r8, 0.0090848765611216929_r8, & + 0.0094087169755555557_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,28) / & + 0.00052453930765432094_r8, 0.00045111600790123451_r8, & + 0.00032237099753086422_r8, 0.00034499336148148145_r8, & + 0.00034832153925925933_r8, 0.00035446017827160491_r8, & + 0.00037719348148148148_r8, 0.00040438284493827154_r8, & + 0.00043981869333333331_r8, 0.0004713439328395061_r8, & + 0.00050313727555555555_r8, 0.00053689054518518513_r8, & + 0.00058451122222222219_r8, 0.00065376505481481474_r8, & + 0.00071592801975308643_r8, 0.00085235557382716033_r8, & + 0.0010350078192592591_r8, 0.0013773571283950618_r8, & + 0.0017528772760493827_r8, 0.0022022737254320983_r8, & + 0.0026857285274074078_r8, 0.0030627001303703701_r8, & + 0.0035449530903703705_r8, 0.0040082539269135804_r8, & + 0.0044665347619753087_r8, 0.00485093005037037_r8, 0.0051280563199999993_r8, & + 0.0058881936345679016_r8, 0.0062310236804938267_r8, & + 0.0065925007669135807_r8, 0.0069683444874074074_r8, & + 0.0074010168434567912_r8, 0.0079300676809876524_r8, & + 0.0082083726802469129_r8, 0.0084246614779629626_r8, & + 0.0085830501517777779_r8, 0.0089700423433333332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,28) / & + 0.00024894769777777779_r8, 0.00021750566271604935_r8, & + 0.00014039363259259259_r8, 0.00018040572543209874_r8, & + 0.00018270771506172836_r8, 0.00018423312987654323_r8, & + 0.00019273847308641975_r8, 0.00020208510567901232_r8, & + 0.00021147796296296293_r8, 0.00021863354518518512_r8, & + 0.00022381995555555555_r8, 0.00023684607358024688_r8, & + 0.00025529897037037037_r8, 0.00026371186419753089_r8, & + 0.00027154232691358024_r8, 0.00028471636395061727_r8, & + 0.00032315681728395059_r8, 0.0004485828948148148_r8, & + 0.00069234418222222213_r8, 0.0010532111027160493_r8, & + 0.0015139880711111109_r8, 0.0020811650340740741_r8, & + 0.002674773275555555_r8, 0.0032736326419753087_r8, & + 0.0039137521679012341_r8, 0.0044993820276543204_r8, & + 0.0049878383412345672_r8, 0.005901737469135802_r8, & + 0.0063532694992592589_r8, 0.0067751437674074067_r8, & + 0.0070152255693827171_r8, 0.0073073933535802472_r8, & + 0.0077961270153086414_r8, 0.0081763713264197523_r8, & + 0.0084747054844444437_r8, 0.0087446946617283933_r8, & + 0.0090037493882716042_r8, 0.0091181750788412678_r8, & + 0.0091362224199999977_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,28) / & + 0.00015022100197530861_r8, 0.00015948443012345678_r8, & + 0.00011634754814814814_r8, 0.00012795919061728395_r8, & + 0.0001342365037037037_r8, 0.00013344143901234569_r8, & + 0.00012351237530864199_r8, 0.00012384519308641977_r8, & + 0.00013108397975308641_r8, 0.00014003308_r8, 0.00014313013432098765_r8, & + 0.0001596970637037037_r8, 0.00018806053432098764_r8, & + 0.00020985085382716054_r8, 0.00022911730518518516_r8, & + 0.00025107403358024693_r8, 0.0003019859086419753_r8, & + 0.00038631823555555561_r8, 0.00059501347209876538_r8, & + 0.0010545423738271603_r8, 0.0015980338049382716_r8, & + 0.0022127020158024687_r8, 0.0029096501772839511_r8, & + 0.0035581086375308635_r8, 0.004187291401481481_r8, & + 0.0047325486158024694_r8, 0.0052050851456790113_r8, & + 0.0061535233629629628_r8, 0.0066680781372839499_r8, & + 0.007126303502716049_r8, 0.007373661071111111_r8, 0.0076013454108641975_r8, & + 0.0079153220044444438_r8, 0.0082169103807407436_r8, & + 0.0085049110090123468_r8, 0.0088104781756172829_r8, & + 0.0089550354972839502_r8, 0.0090701909436596128_r8, & + 0.009120540363280423_r8, 0.0091608980847407394_r8, 0.009212576365185186_r8, & + 0.0092024392903703699_r8, 0.0092199676933333325_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,28) / & + 0.00017975857975308641_r8, 0.00017971235506172834_r8, & + 0.0001657340083950617_r8, 0.00017545043851851852_r8, & + 0.00018527780790123457_r8, 0.00018278167456790121_r8, & + 0.00016866465382716047_r8, 0.00014818711555555553_r8, & + 0.00013828578666666666_r8, 0.00013664943259259258_r8, & + 0.00013875727851851851_r8, 0.00014276958172839506_r8, & + 0.00015812542419753084_r8, 0.00018339184049382719_r8, & + 0.00021784772543209877_r8, 0.0002565840167901234_r8, & + 0.0003574647832098765_r8, 0.00050517116197530861_r8, & + 0.00086186861530864183_r8, 0.0015179449046913583_r8, & + 0.0022872809328395062_r8, 0.0030888910404938265_r8, & + 0.0038980912424691361_r8, 0.0045094867451851853_r8, & + 0.0050379089269135787_r8, 0.0054690928479012345_r8, & + 0.0058653216572839527_r8, 0.0067197665871604932_r8, & + 0.0073279356064197528_r8, 0.0077731256088888903_r8, & + 0.008012462037716047_r8, 0.0081767411239506167_r8, & + 0.0083392024241975317_r8, 0.0085116371638518512_r8, & + 0.0086947609011358024_r8, 0.0089118838234074071_r8, & + 0.0090339706292345678_r8, 0.0091115594670493818_r8, & + 0.009165443358641976_r8, 0.0092112546691887134_r8, & + 0.0092449573557989405_r8, 0.0092165121087499999_r8, & + 0.0092188693946666667_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,28) / & + 0.00025060254172839505_r8, 0.00024820810271604935_r8, & + 0.00025543764444444438_r8, 0.00020769678320987654_r8, & + 0.00020864901185185184_r8, 0.00020791866172839503_r8, & + 0.00019945954320987655_r8, 0.00019210057234567894_r8, & + 0.00018241187703703701_r8, 0.00017424859654320988_r8, & + 0.00017139191061728398_r8, 0.00018537950222222223_r8, & + 0.00021090477679012345_r8, 0.000228793732345679_r8, & + 0.00025753624543209874_r8, 0.00030609066123456777_r8, & + 0.00051283521580246911_r8, 0.0007721742241975308_r8, & + 0.001212954391111111_r8, 0.001944201273580247_r8, 0.0028279526577777775_r8, & + 0.0037322000701234563_r8, 0.0046137049343209875_r8, & + 0.0051381517925925919_r8, 0.005561486760987654_r8, & + 0.0058853831733333322_r8, 0.0063629489496296295_r8, & + 0.0071276902434567902_r8, 0.0079143235511111108_r8, & + 0.0082722690711111123_r8, 0.0085325140834567915_r8, & + 0.0086755240335802467_r8, 0.0087624726780246905_r8, & + 0.0088987892928395051_r8, 0.0090512290799999989_r8, & + 0.0091977428617283953_r8, 0.0093044849190123454_r8, & + 0.0093384508222222207_r8, 0.0092752004214197523_r8, & + 0.0092670359853086401_r8, 0.0092824167560934742_r8, & + 0.0092806905940476161_r8, 0.0092862733151111102_r8, & + 0.0093020904800000005_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,28) / & + 0.00034003595193007408_r8, 0.00033733355071119007_r8, & + 0.00033471863730155063_r8, 0.0002525481426856296_r8, & + 0.00025195516975630618_r8, 0.00025464785010749627_r8, & + 0.00025915833271743211_r8, 0.00025693225401554566_r8, & + 0.00025198433235938764_r8, 0.00024645315864159996_r8, & + 0.0002412038900869333_r8, 0.00026676977212169875_r8, & + 0.00028621150750935309_r8, 0.00030297028341351109_r8, & + 0.00032778765863585182_r8, 0.00037051087215022216_r8, & + 0.00061170504136946172_r8, 0.0010580678441346172_r8, & + 0.0016650485438048789_r8, 0.0027022554058685434_r8, & + 0.0040153890974214904_r8, 0.0051174438678706765_r8, & + 0.0058769352607893925_r8, 0.0063039340951084434_r8, & + 0.0065853046105062707_r8, 0.0067672889746024107_r8, & + 0.0071510105059485437_r8, 0.0079189784954962761_r8, & + 0.0087488586913859936_r8, 0.0090723302847657873_r8, & + 0.0093228090977410943_r8, 0.0094034247742867706_r8, & + 0.009445203327765609_r8, 0.0095698790107204817_r8, & + 0.0097121203015981018_r8, 0.0098411264575236496_r8, & + 0.0099502778106193273_r8, 0.0099668188043697589_r8, & + 0.0098337388758154183_r8, 0.0097580054009168121_r8, & + 0.0097325053083259019_r8, 0.0097216803583663643_r8, & + 0.0097313072981760999_r8, 0.0097770251464943999_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,28) / & + 0.00039057811673315557_r8, 0.00039100638221202966_r8, & + 0.00037328434882433583_r8, 0.00036411742821700744_r8, & + 0.00036848165738267654_r8, 0.00037529311785619753_r8, & + 0.00043978785961520993_r8, 0.00047400831073667157_r8, & + 0.00046640150008809867_r8, 0.00045681651079901233_r8, & + 0.00045258483999585181_r8, 0.00047104104277590132_r8, & + 0.00045230952647371843_r8, 0.00041784435222147161_r8, & + 0.00044172525106725934_r8, 0.00046258789796669632_r8, & + 0.00078802887472252854_r8, 0.0018275617503124152_r8, & + 0.0032050470727195261_r8, 0.0047590287564083355_r8, & + 0.0060890989722258157_r8, 0.0068843165889151603_r8, & + 0.0073675326074476247_r8, 0.0076720395597242074_r8, & + 0.0078626584850116348_r8, 0.0080114093613405622_r8, & + 0.008214397001529759_r8, 0.0088993872413946056_r8, & + 0.0095967156057698792_r8, 0.0099322921988590634_r8, & + 0.010147057139717296_r8, 0.010185225754264957_r8, 0.010217726952558388_r8, & + 0.010367579993404163_r8, 0.010493737316523205_r8, 0.010587444425334398_r8, & + 0.010675652692797966_r8, 0.01070734157053257_r8, 0.010694833159510314_r8, & + 0.010656063407355525_r8, 0.010589786775300486_r8, 0.010427420006531098_r8, & + 0.010362800973098668_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,28) / & + 0.00039026959132497781_r8, 0.0003941864819645235_r8, & + 0.00038494390078238033_r8, 0.000439983151540247_r8, & + 0.00045454075053844939_r8, 0.00047093405850123457_r8, & + 0.00058951872306797044_r8, 0.00067291540823802482_r8, & + 0.00077160611053742219_r8, 0.00088747990256343723_r8, & + 0.00094739658934929374_r8, 0.00096424882455322476_r8, & + 0.00091621088240446437_r8, 0.00093642502646795072_r8, & + 0.00090460962865736316_r8, 0.00087959275765165431_r8, & + 0.0014804459163032693_r8, 0.0031749547087846523_r8, & + 0.004992456001893077_r8, 0.0063960262689411757_r8, & + 0.0073430066219554767_r8, 0.0079181278369233193_r8, & + 0.0083035947013060732_r8, 0.0086042240624361107_r8, & + 0.0087912102313866276_r8, 0.0089386005848801596_r8, & + 0.0090961407013115843_r8, 0.0096513679540120908_r8, & + 0.010273011583960259_r8, 0.010558805855202096_r8, 0.01073691231567277_r8, & + 0.010804620092831568_r8, 0.010860363743540959_r8, 0.010985010516781434_r8, & + 0.01109104405493916_r8, 0.011179734412472197_r8, 0.011245147553425268_r8, & + 0.011221754461528594_r8, 0.011175687924438975_r8, 0.011113295165096237_r8, & + 0.011040410772514457_r8, 0.010937987284108299_r8, 0.010876433934707799_r8, & + 0.010830521466049134_r8, 0.010799219693203202_r8 & + / +data delta_sa_ref(:,19,28) / & + 0.00040072728984398998_r8, 0.00041066074230479009_r8, & + 0.00041699317889035061_r8, 0.00047677227215051841_r8, & + 0.00049239153915117033_r8, 0.000522704734707753_r8, & + 0.00071151837205467641_r8, 0.0009037100521576294_r8, & + 0.0011938538235294811_r8, 0.0015178672117093135_r8, & + 0.0017764714353689279_r8, 0.001990938130080948_r8, & + 0.0023085521897394565_r8, 0.0025475236302526416_r8, & + 0.0026045713028024883_r8, 0.0026267905741317529_r8, & + 0.0035207344036679894_r8, 0.0050616570359036028_r8, & + 0.0063816021583462711_r8, 0.0073762072025498069_r8, & + 0.0082061354495608866_r8, 0.008812510847252146_r8, & + 0.0092441868060424669_r8, 0.0095486231543556715_r8, & + 0.0097739151940053302_r8, 0.0099408551683577654_r8, & + 0.010067648832596462_r8, 0.010440928131465717_r8, 0.010836437850320195_r8, & + 0.011078277282579218_r8, 0.011273894387226032_r8, 0.011386042898278626_r8, & + 0.0114900403482421_r8, 0.011586023308151979_r8, 0.011656190161603339_r8, & + 0.011680657280690636_r8, 0.011690498557656618_r8, 0.011656707737956302_r8, & + 0.011596321879095485_r8, 0.011533255923158393_r8, 0.011462802788148622_r8, & + 0.011388212426728536_r8, 0.011330073300760158_r8, 0.01128736698052149_r8, & + 0.011293613015023359_r8 & + / +data delta_sa_ref(:,20,28) / & + 0.00042454148276217281_r8, 0.00045378893958508638_r8, & + 0.00046884277765570369_r8, 0.00046616331072498764_r8, & + 0.00049288677944667896_r8, 0.00049975836248103715_r8, & + 0.00079838669559714824_r8, 0.0013813843547842962_r8, & + 0.0019482064034113949_r8, 0.0024429313204217163_r8, & + 0.0028693661575280986_r8, 0.0032622931272688021_r8, & + 0.0037143645343635928_r8, 0.003993174402475346_r8, & + 0.0040936500531576787_r8, 0.0042083948823972966_r8, 0.00498155622771395_r8, & + 0.0060359308241702339_r8, 0.0070838697595440149_r8, & + 0.0079754129762518999_r8, 0.0087851786878655538_r8, & + 0.0094061262591077516_r8, 0.0098772875188016616_r8, & + 0.010205608987040987_r8, 0.010434796406300271_r8, 0.010595439250268486_r8, & + 0.010743395312364644_r8, 0.01107647165118926_r8, 0.011392590626086841_r8, & + 0.011619774672604539_r8, 0.011830539033785533_r8, 0.011979871944987517_r8, & + 0.01212975075502235_r8, 0.012211849057156774_r8, 0.012256794852277023_r8, & + 0.012247185139672143_r8, 0.012216576443900912_r8, 0.012182312480288837_r8, & + 0.012134465437755326_r8, 0.012098084138948544_r8, 0.012073559419035615_r8, & + 0.012048976908326785_r8, 0.012059414623541927_r8, 0.012033241869552739_r8, & + 0.011969588546143335_r8 & + / +data delta_sa_ref(:,21,28) / & + 0.00046358065614752889_r8, 0.00054983356912358095_r8, & + 0.00050025588757719372_r8, 0.0004535437390456889_r8, & + 0.00041061721130317201_r8, 0.00060451631974151108_r8, & + 0.00098370168081580002_r8, 0.0015594470148348983_r8, & + 0.0022213259329001145_r8, 0.0026107292570794667_r8, & + 0.0032928799310169596_r8, 0.0036487538360780798_r8, & + 0.0039215668875968003_r8, 0.0040485405334771199_r8, & + 0.0040732012365056001_r8, 0.0042035230718310401_r8, & + 0.0049499761533171203_r8, 0.0059820555497753607_r8, & + 0.0070653236117887994_r8, 0.0079919994289843199_r8, & + 0.0088643315559551999_r8, 0.0095016545877143997_r8, & + 0.010056520405855199_r8, 0.010432829534476799_r8, 0.010652916650767201_r8, & + 0.010803464447812801_r8, 0.010969948338852_r8, 0.011340703980172801_r8, & + 0.0116861469873472_r8, 0.01191585209976_r8, 0.012118675114223999_r8, & + 0.012270792375072002_r8, 0.012432567874704_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,22,28) / & + 0.00060598816338357502_r8, 0.00061689207093498116_r8, & + 0.00052115288213944112_r8, 0.00061541139972398737_r8, & + 0.00074330799275857784_r8, 0.00090178907231999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,28) / & + 0.00095777377634931576_r8, 0.00091811836959454789_r8, & + 0.00094707644330024009_r8, 0.00064713547272375951_r8, & + 0.00066571829907379192_r8, 0.00086061345481594064_r8, & + 0.0014345528146254222_r8, 0.0022465605771434666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,28) / & + 0.00072134923493927976_r8, 0.0006799109388531604_r8, & + 0.00075155023020240989_r8, 0.00060209930523705171_r8, & + 0.00066628280691741941_r8, 0.00069578760242671692_r8, & + 0.0013554294039071124_r8, 0.0021117460816027318_r8, & + 0.0017626836777271998_r8, 0.0023143150079587551_r8, & + 0.0026492628062015997_r8, 0.0032100556629887996_r8, & + 0.0039547355772218667_r8, 0.0046120825681158651_r8, & + 0.0053846499304474656_r8, 0.0061304489236571995_r8, & + 0.0074290729313402663_r8, 0.0084743822218650653_r8, 0.0092622138214384_r8, & + 0.0101673248977664_r8, 0.0107960682300168_r8, 0.0117884674665248_r8, & + 0.012481401168876799_r8, 0.012710767595934399_r8, 0.012683909700494399_r8, & + 0.012590981382272_r8, 0.012590981382272_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,28) / & + 0.00081236076841279328_r8, 0.00074703209833054804_r8, & + 0.0007679241991102551_r8, 0.00079661502128148143_r8, & + 0.00082176864773847078_r8, 0.0008432977705394851_r8, & + 0.0011398890039660443_r8, 0.0016670358202042471_r8, & + 0.0019593916601815587_r8, 0.0024261207372239997_r8, & + 0.0027836357419761897_r8, 0.0032257433079565926_r8, & + 0.0040622877896174655_r8, 0.004750826906956533_r8, & + 0.0054652957275633336_r8, 0.0065131305833295997_r8, & + 0.0081270463967840004_r8, 0.0091947727219199998_r8, & + 0.010222105344427999_r8, 0.011340140370382477_r8, 0.011589152244936887_r8, & + 0.013549445215176177_r8, 0.014786149549473068_r8, 0.015431921313617333_r8, & + 0.015795187017320002_r8, 0.015949821329098664_r8, 0.015630003147466667_r8, & + 0.01619264624478222_r8, 0.014882650243861335_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,28) / & + 0.00033415110736684445_r8, 0.00031032639777668153_r8, & + 0.00031046972824881483_r8, 0.0003648662966914173_r8, & + 0.00038183237776320003_r8, 0.00056852297198486913_r8, & + 0.00080033612224851363_r8, 0.0007050160497438419_r8, & + 0.0008748254994698075_r8, 0.00099261129634737786_r8, & + 0.0011333936711983409_r8, 0.0012017463807979258_r8, & + 0.0023076843037787261_r8, 0.00276659662433363_r8, 0.0033869309077266966_r8, & + 0.0049435635375267555_r8, 0.0082531596927335124_r8, & + 0.009507396877548268_r8, 0.010593268534430399_r8, 0.011654296242809423_r8, & + 0.012253264730489813_r8, 0.014320892789296427_r8, 0.014587028809953601_r8, & + 0.015229722646999466_r8, 0.015928602029121601_r8, 0.016026353411116533_r8, & + 0.016410765737378135_r8, 0.016634074612961867_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,28) / & + 0.00022818586712394272_r8, 0.00020436294791023967_r8, & + 0.00020386254930236951_r8, 0.00023823877979966475_r8, & + 0.0002353702949763657_r8, 0.00045054756718766156_r8, & + 0.00060756891774293336_r8, 0.00049877524594559995_r8, & + 0.00055562394375679991_r8, 0.00065468409338879994_r8, & + 0.0007826244657493333_r8, 0.00078094882142719997_r8, & + 0.0018737646213973333_r8, 0.0022863673938944003_r8, & + 0.0022820304321194665_r8, 0.0035854845801130664_r8, & + 0.0083805872261802673_r8, 0.0096868012589397326_r8, & + 0.010786418203511465_r8, 0.012011018501051733_r8, 0.012330179460761599_r8, & + 0.014474609923839999_r8, 0.015220370214502401_r8, 0.0161015619933184_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,28) / & + 0.00024230449296201484_r8, 0.00021143355001536514_r8, & + 0.00019747342131840002_r8, 0.00025062058903125336_r8, & + 0.00023058882016088893_r8, 0.00043182073766693336_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,28) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,28) / & + 0.0023896596183502158_r8, 0.0020556676023018665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,28) / & + 0.0014663732876533467_r8, 0.0014738517217157451_r8, & + 0.0016874249366531351_r8, 0.0019777651245254466_r8, & + 0.0020788290964605665_r8, 0.0023628822394855852_r8, & + 0.0021310917550001213_r8, 0.0021848668113123551_r8, & + 0.0021409853570963908_r8, 0.0020262056908677451_r8, & + 0.0019009031700878932_r8, 0.0018740718088780443_r8, & + 0.0019138042153396147_r8, 0.0019311931365906961_r8, & + 0.0019405908256491852_r8, 0.0019474313204060445_r8, & + 0.0019761997562993778_r8, 0.0020447964934405924_r8, & + 0.0021031644533752885_r8, 0.0022245033229876142_r8, & + 0.0023557513205187557_r8, 0.0025557878447637324_r8, & + 0.0023329283613767108_r8, 0.0026518744206474659_r8, & + 0.0030985523352846218_r8, 0.0034483765157475544_r8, & + 0.0036019520160247994_r8, 0.0036763595205746274_r8, & + 0.0037822438037683195_r8, 0.0038400108230421327_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,28) / & + 0.0011114429857879966_r8, 0.0012106014354927143_r8, & + 0.0012166097095349729_r8, 0.0014365476242935572_r8, & + 0.0015739046629822684_r8, 0.0020018955124596408_r8, & + 0.0019373833145314499_r8, 0.0020151838849764609_r8, & + 0.0020482513202163353_r8, 0.0019861512031080298_r8, & + 0.0019412426438432653_r8, 0.0019436108686482437_r8, & + 0.002024656784196372_r8, 0.0020331209950734219_r8, & + 0.0020574172273318979_r8, 0.0020628115171654588_r8, & + 0.0021021065065221266_r8, 0.0021579352134987323_r8, & + 0.0022410862177623964_r8, 0.0024102827232735866_r8, & + 0.0025257556105237069_r8, 0.0027038110310461105_r8, & + 0.0025670679765660972_r8, 0.002880419203076582_r8, & + 0.0032552127064717695_r8, 0.003553696743928783_r8, & + 0.0036967605465572681_r8, 0.0038067733599514656_r8, & + 0.0038804514649952199_r8, 0.0039360499278935628_r8, & + 0.004010349065434125_r8, 0.0040623865765506461_r8, & + 0.0040891630230807359_r8, 0.0041025002637284534_r8, & + 0.0040884440976935105_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,28) / & + 0.0014552581432454056_r8, 0.0019783718828974353_r8, & + 0.0018567133302225646_r8, 0.0020470020968229924_r8, & + 0.0020463708070759773_r8, 0.0023965111560457224_r8, & + 0.0020289652469082601_r8, 0.0019485659884133399_r8, & + 0.0020466864519494846_r8, 0.0020614315767547792_r8, & + 0.002053901191915378_r8, 0.0020713067520830952_r8, & + 0.0021824588396826342_r8, 0.002195580647995602_r8, & + 0.0022509537772338311_r8, 0.0022923483477881416_r8, & + 0.0023556125988640655_r8, 0.0023912353774456626_r8, & + 0.0024811941663953909_r8, 0.0026464117116143408_r8, & + 0.0027636963281848889_r8, 0.0028875643949743146_r8, & + 0.0029230068050567636_r8, 0.0031415683338985355_r8, & + 0.0034076118701408397_r8, 0.0036292396634681153_r8, & + 0.0038023934226495476_r8, 0.0040565777300729158_r8, & + 0.0039608922412752599_r8, 0.0040170770287596518_r8, & + 0.0040697897226354574_r8, 0.0040880520331741232_r8, & + 0.0041508653630021796_r8, 0.0041360002609362925_r8, & + 0.0041450178806771449_r8, 0.004155554943980011_r8, & + 0.0042332035828629346_r8, 0.0042624232797248002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,28) / & + 0.0020047616987306665_r8, 0.003092919274581332_r8, & + 0.0028603052083200002_r8, 0.003680175977215999_r8, & + 0.0035050089219413327_r8, 0.0039741749544106664_r8, & + 0.0029251184086186662_r8, 0.0022031855278079999_r8, & + 0.0020739760813226664_r8, 0.0021246591700479996_r8, & + 0.0021600539413333332_r8, 0.0022495600907093331_r8, & + 0.0023428651553279991_r8, 0.0023947527781546666_r8, & + 0.0024528020561920003_r8, 0.0025136310283093324_r8, & + 0.0025375827256319994_r8, 0.0025580598053546667_r8, & + 0.0026423771924479998_r8, 0.0027689459295573327_r8, & + 0.0028713313281706651_r8, 0.0030035521099093325_r8, & + 0.0031361898457599995_r8, 0.0033087625198933339_r8, & + 0.0035185367664639995_r8, 0.0037007920416426664_r8, & + 0.0039277077350399993_r8, 0.0042634021234346673_r8, & + 0.0041488787273386667_r8, 0.0041367870580906662_r8, & + 0.004169911745877334_r8, 0.0041772316069546671_r8, & + 0.0042195292852053338_r8, 0.0042094760582826662_r8, & + 0.0042322695497386655_r8, 0.0042555263235413317_r8, & + 0.0043588382868479996_r8, 0.0043739677646262845_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,29) / & + 0.0036351816596411736_r8, 0.0036543974431111114_r8, & + 0.0045124959725925924_r8, 0.0039407358314814817_r8, & + 0.0040731695722222225_r8, 0.0030731076196296296_r8, & + 0.0037428201929629629_r8, 0.0044499123629629629_r8, & + 0.0048976562796296296_r8, 0.0052289791508888898_r8, & + 0.005443139070444445_r8, 0.0057862187297037029_r8, & + 0.0060871955533333324_r8, 0.0062846202856296296_r8, & + 0.0064848503944444445_r8, 0.006679978684074073_r8, & + 0.0070195637566666672_r8, 0.007251752692592592_r8, & + 0.0074717244425925927_r8, 0.0076594128681481471_r8, & + 0.0078452083925925915_r8, 0.0081481003051851845_r8, & + 0.0082899916177777769_r8, 0.008464610011851852_r8, & + 0.0086114381214814819_r8, 0.0087293526866666655_r8, & + 0.0088008807740740744_r8, 0.0089661525355555546_r8, & + 0.009047027255555555_r8, 0.0090853151674074074_r8, & + 0.0091075307540740748_r8, 0.0090886294777777783_r8, & + 0.0090526197828571433_r8, 0.0089331619733333326_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,29) / & + 0.0025292487022222218_r8, 0.0025570482316049376_r8, & + 0.0033381068414814813_r8, 0.0028899584587654325_r8, & + 0.0030788695274074069_r8, 0.0023874960637037036_r8, & + 0.0030459945269135803_r8, 0.0037784524962962964_r8, & + 0.004195759764938271_r8, 0.0045094312755555553_r8, & + 0.0047843387599999995_r8, 0.0053494818365432094_r8, & + 0.0058478117441975305_r8, 0.0060013794138271603_r8, & + 0.0061219426538271608_r8, 0.0062303857797530865_r8, & + 0.0064086096997530871_r8, 0.006564340684938272_r8, 0.006729344343209878_r8, & + 0.0068970382785185184_r8, 0.0070862729199999992_r8, & + 0.0073512513407407399_r8, 0.0075358172883950624_r8, & + 0.0077295264799999985_r8, 0.0079211185807407415_r8, & + 0.0080959865881481477_r8, 0.0082536959901234556_r8, & + 0.0085633459525925916_r8, 0.0088123583649382733_r8, & + 0.0089951585293827161_r8, 0.0091354319777777783_r8, 0.00922675347802469_r8, & + 0.0092528207370987658_r8, 0.0092240158206790112_r8, & + 0.0092059299149206339_r8, 0.0092302454232804226_r8, & + 0.0092015004668888883_r8, 0.0091169883259259246_r8, & + 0.0087415837399999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,29) / & + 0.0016604648730864197_r8, 0.0016749424464197534_r8, & + 0.0016424927130864197_r8, 0.0014094000844444444_r8, & + 0.0015057230962962961_r8, 0.0013048028528395066_r8, & + 0.0016346160256790123_r8, 0.0021552817041975304_r8, & + 0.0025516029629629629_r8, 0.0029269844365432097_r8, & + 0.0032824153333333335_r8, 0.0039503436335802467_r8, & + 0.0046721606790123462_r8, 0.0050590798355555555_r8, & + 0.005316745510123456_r8, 0.005499906227160495_r8, 0.0056804136469135813_r8, & + 0.0058219906316049393_r8, 0.005915040935308642_r8, & + 0.0060030527476543222_r8, 0.0060967409520987659_r8, & + 0.0063658056355555557_r8, 0.0065143440587654318_r8, & + 0.0066666544167901243_r8, 0.0068423729585185191_r8, & + 0.0070417308074074069_r8, 0.0072500562464197539_r8, & + 0.0077793936770370374_r8, 0.0082323401827160501_r8, & + 0.0086120390424691343_r8, 0.0089299447348148153_r8, & + 0.0092566978330864188_r8, 0.0094787889851851836_r8, & + 0.0095757591427160504_r8, 0.0095496884167901239_r8, & + 0.0094499077980246919_r8, 0.0093771686237037032_r8, & + 0.0092565776488888873_r8, 0.0090149582155731947_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,29) / & + 0.0012943375827160492_r8, 0.0012812652399999999_r8, & + 0.00081848211999999989_r8, 0.00098712828395061745_r8, & + 0.0010029463733333334_r8, 0.0009898925204938271_r8, & + 0.0010921138029629629_r8, 0.0012771142627160492_r8, & + 0.0016183819140740741_r8, 0.0019768081708641974_r8, & + 0.0023351512232098765_r8, 0.002707491112098765_r8, 0.003365850901234568_r8, & + 0.0039384084182716049_r8, 0.0043537742498765434_r8, & + 0.0046833100745679009_r8, 0.0050499828162962959_r8, 0.00534591329037037_r8, & + 0.0055246549269135801_r8, 0.0056762534246913585_r8, & + 0.0057523762464197527_r8, 0.0059083198651851835_r8, & + 0.0060382112479012351_r8, 0.0061666696651851861_r8, & + 0.0063011835170370374_r8, 0.0064648559041975313_r8, & + 0.0066306084024691358_r8, 0.0072252058523456794_r8, & + 0.0077789129402469123_r8, 0.0082625803758024693_r8, & + 0.0086807659135802479_r8, 0.0090505911792592587_r8, & + 0.0093528914158024692_r8, 0.0095450104780246906_r8, & + 0.0095704144127777765_r8, 0.0095119512721358011_r8, & + 0.0094108705839259267_r8, 0.0093411965688888886_r8, & + 0.0092473315550000001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,29) / & + 0.00089948626913580242_r8, 0.00084649428296296289_r8, & + 0.00046523302864197536_r8, 0.00063348166024691365_r8, & + 0.00063650475506172829_r8, 0.00064503783308641962_r8, & + 0.00070068311654320988_r8, 0.00080667633382716035_r8, & + 0.00097587719407407397_r8, 0.0011445788276543208_r8, & + 0.0012992096651851853_r8, 0.0014723950938271607_r8, & + 0.0018063037743209877_r8, 0.0021521199353086418_r8, & + 0.0024330828543209877_r8, 0.0027385910844444452_r8, & + 0.0031928503713580239_r8, 0.0036584716874074065_r8, & + 0.0040623922854320987_r8, 0.0044567443723456798_r8, & + 0.0047482372760493828_r8, 0.004949148274567901_r8, & + 0.0052024226034567897_r8, 0.0053995616671604924_r8, & + 0.0055820475037037035_r8, 0.0057579416992592598_r8, & + 0.0059181472345679019_r8, 0.0063543511570370347_r8, & + 0.0068021297422222234_r8, 0.0073555409920987649_r8, & + 0.0079041263841975306_r8, 0.0084059046538271596_r8, & + 0.008775962198580246_r8, 0.0090026844374179894_r8, & + 0.0092519043325925924_r8, 0.009188266799999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,29) / & + 0.00048757804444444439_r8, 0.00042682031012345682_r8, & + 0.00020652267604938273_r8, 0.00025650081234567895_r8, & + 0.00025732361185185179_r8, 0.0002621309797530864_r8, & + 0.00028748984543209872_r8, 0.00031514145580246913_r8, & + 0.00035962809876543216_r8, 0.00040230273382716049_r8, & + 0.00044128863851851846_r8, 0.00045302046518518524_r8, & + 0.00047188013925925922_r8, 0.00053173186962962951_r8, & + 0.00059372842567901219_r8, 0.00068360771555555548_r8, & + 0.00087616128987654321_r8, 0.0011887788775308639_r8, & + 0.0015374609693827159_r8, 0.0019854152083950615_r8, & + 0.0024355142730864195_r8, 0.002881933852345679_r8, & + 0.0033972559565432097_r8, 0.0038455615032098756_r8, & + 0.0042786036567901238_r8, 0.0046770235165432099_r8, 0.00498716346074074_r8, & + 0.0056207930399999996_r8, 0.0059487387353086415_r8, & + 0.0063113437041975298_r8, 0.0067328389298765426_r8, & + 0.0072594768385185193_r8, 0.007913001524938271_r8, & + 0.0082783429955555557_r8, 0.0085582670146296305_r8, & + 0.0087601419630511466_r8, 0.0090251777684444423_r8, & + 0.0091547874116666653_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,29) / & + 0.00024743152790123455_r8, 0.00021459350716049379_r8, & + 9.1229050864197515e-05_r8, 0.00013734280296296295_r8, & + 0.00014054155160493829_r8, 0.00014299146024691358_r8, & + 0.00015253223654320986_r8, 0.00017283412098765432_r8, & + 0.00019122230320987659_r8, 0.0002056351619753087_r8, & + 0.00021799564444444441_r8, 0.00023128062074074076_r8, & + 0.00025588140148148148_r8, 0.00026889827456790124_r8, & + 0.00028261776296296297_r8, 0.00029961920444444444_r8, & + 0.00035673443308641974_r8, 0.00048564585234567894_r8, & + 0.00068100064296296322_r8, 0.0010328907283950616_r8, & + 0.0014737910795061726_r8, 0.0019828081358024691_r8, & + 0.0025322717970370375_r8, 0.0031274331881481479_r8, & + 0.0037260614311111109_r8, 0.0042810628103703702_r8, & + 0.0047556147367901229_r8, 0.0056691902918518527_r8, & + 0.0061279980883950612_r8, 0.0065405719486419751_r8, & + 0.0068368444854320989_r8, 0.0071615452074074073_r8, & + 0.0076866854360493819_r8, 0.0081360633955555543_r8, & + 0.008536498651851852_r8, 0.0088429868454320965_r8, & + 0.0090687667279012348_r8, 0.0091725801208112877_r8, & + 0.0092131189275000015_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,29) / & + 0.00015576796493827161_r8, 0.00015847673185185183_r8, & + 9.8985554074074086e-05_r8, 0.00013008552641975308_r8, & + 0.00014148453530864197_r8, 0.00014147529037037036_r8, & + 0.00012417801086419752_r8, 0.0001192227239506173_r8, & + 0.00013269259901234565_r8, 0.00014194678222222222_r8, & + 0.00014869558716049382_r8, 0.00015978951308641973_r8, & + 0.00018365994370370372_r8, 0.00021090477679012345_r8, & + 0.0002341927762962963_r8, 0.00025983823506172836_r8, & + 0.00032221383358024683_r8, 0.0004369897422222222_r8, & + 0.00066741982864197528_r8, 0.0010561509930864198_r8, & + 0.0015823358997530863_r8, 0.0021953585116049378_r8, & + 0.0028579062577777773_r8, 0.0035193908360493819_r8, & + 0.0041131100167901237_r8, 0.004618308913580246_r8, & + 0.0050727993239506174_r8, 0.0060756162681481476_r8, & + 0.0065794284241975313_r8, 0.0070942420567901236_r8, & + 0.0074002495135802463_r8, 0.0076511941180246908_r8, & + 0.0079513125491358014_r8, 0.0082485835392592608_r8, & + 0.0085915730603703701_r8, 0.0088601396727777774_r8, & + 0.0089988310811111114_r8, 0.0091083604872839487_r8, & + 0.0091678475378571423_r8, 0.0091928402709629611_r8, & + 0.0092074315570370383_r8, 0.0092065579103703683_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,29) / & + 0.00018101589135802466_r8, 0.00017991574370370366_r8, & + 0.00016317316049382715_r8, 0.00017164152395061731_r8, & + 0.00017638417728395062_r8, 0.000178177695308642_r8, & + 0.00016772167012345682_r8, 0.00015324409679012344_r8, & + 0.00014506232641975307_r8, 0.00014272335703703702_r8, & + 0.00014278807160493826_r8, 0.00014352766666666662_r8, & + 0.00016105606962962964_r8, 0.00019629777432098765_r8, & + 0.00023801093580246916_r8, 0.00028406921827160497_r8, & + 0.00042246594419753083_r8, 0.00063674512345679001_r8, & + 0.0010521294449382715_r8, 0.0017118667298765429_r8, & + 0.0024627868409876543_r8, 0.0032855493674074075_r8, & + 0.0040050921580246914_r8, 0.0045757914424691352_r8, & + 0.0050161925669135804_r8, 0.0053771109949206346_r8, & + 0.005761951361058202_r8, 0.0067278170794074065_r8, & + 0.0073113113584197522_r8, 0.0078366161469629637_r8, & + 0.0081121613670599637_r8, 0.008300501527746031_r8, & + 0.0084663368012328037_r8, 0.0086540078925290993_r8, & + 0.0088794420143068781_r8, 0.009042381674074073_r8, & + 0.0091384731002222223_r8, 0.0091931425804444439_r8, & + 0.0092014685718518514_r8, 0.0092273382203703711_r8, & + 0.0092360400185185192_r8, 0.009207094777142856_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,29) / & + 0.00021835619703703703_r8, 0.00021324374617283948_r8, & + 0.00021544750833333331_r8, 0.0001997322688888889_r8, & + 0.00019887711209876541_r8, 0.00019508206493827154_r8, & + 0.00018741569987654319_r8, 0.00017717924197530862_r8, & + 0.00016840909731922398_r8, 0.00016209612518518516_r8, & + 0.00015815712112874776_r8, 0.00015701603160493826_r8, & + 0.00016981498828924161_r8, 0.0002048513232804233_r8, & + 0.00025021095255731921_r8, 0.00033371717820105816_r8, & + 0.00056996761361552027_r8, 0.000860541405366843_r8, & + 0.0013411354602469133_r8, 0.0020499429625079365_r8, & + 0.0029237417414268072_r8, 0.0037735938850229273_r8, & + 0.0045369693052557305_r8, 0.0049832223105379181_r8, & + 0.005323338537851852_r8, 0.0056139168200017636_r8, & + 0.0060368018900793649_r8, 0.0069091570058518528_r8, & + 0.007840596158924162_r8, 0.0082241262201499122_r8, & + 0.0085108700320811279_r8, 0.0086566021542786586_r8, & + 0.0087768931308465602_r8, 0.0089516210114038795_r8, & + 0.0091382582874779544_r8, 0.0092680708240776011_r8, & + 0.0093619120322504402_r8, 0.009385942697458554_r8, & + 0.0093000165762045853_r8, 0.0092818717999999991_r8, & + 0.0092813712148934243_r8, 0.0092888701109642841_r8, & + 0.0092853164639999999_r8, 0.0092931044000000001_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,29) / & + 0.00027516881311233772_r8, 0.00026549876867073088_r8, & + 0.00026793020070264937_r8, 0.00029649618552942222_r8, & + 0.00029108131505011425_r8, 0.00029037203888231111_r8, & + 0.00030335023047080127_r8, 0.00028702250561409525_r8, & + 0.00026436316301978413_r8, 0.00025651693490295327_r8, & + 0.0002462094426015619_r8, 0.00024263369085515679_r8, & + 0.00024146385386297401_r8, 0.00027007986644098542_r8, & + 0.00030648729334513777_r8, 0.00036840116612158472_r8, & + 0.00058235635310641262_r8, 0.0010271724963867111_r8, & + 0.0018017983082179467_r8, 0.0028115155285302366_r8, & + 0.0040661417476509625_r8, 0.0050107038801586075_r8, & + 0.0057692048555288604_r8, 0.0061551235807128773_r8, & + 0.0063743845283806251_r8, 0.0065676835936376698_r8, & + 0.0069239234543439386_r8, 0.007646174251731943_r8, 0.008671589180522226_r8, & + 0.0089680253744110205_r8, 0.0092470502444343267_r8, & + 0.0093457189957002126_r8, 0.0093985791300457075_r8, & + 0.0095333256666487679_r8, 0.0097026955037603189_r8, & + 0.0098492244610733776_r8, 0.0099612013579511872_r8, & + 0.0099796895630115401_r8, 0.0098384415885839991_r8, & + 0.0097562249198465331_r8, 0.0097381149433329334_r8, & + 0.0097457919985941329_r8, 0.0097565529991312013_r8, & + 0.0097770251464943999_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,29) / & + 0.00034977308387400486_r8, 0.00034965964450608885_r8, & + 0.00034898283209751113_r8, 0.00036186648525363954_r8, & + 0.00038191083918451361_r8, 0.00040751499674291362_r8, & + 0.00049459418742867295_r8, 0.00051757995315620175_r8, & + 0.00053581619645560487_r8, 0.00056223099938473083_r8, & + 0.00057011567275471614_r8, 0.00058154245852288892_r8, & + 0.00056504149158984193_r8, 0.00058111036924509644_r8, & + 0.00060850479304001414_r8, 0.00062110584924749779_r8, & + 0.0011369159297614138_r8, 0.0024814746653496916_r8, & + 0.0040555506308581121_r8, 0.0054886960079172271_r8, & + 0.0064903528806195482_r8, 0.0071087298848731282_r8, & + 0.007511007151108853_r8, 0.0078317101860847123_r8, & + 0.0080238780048540684_r8, 0.0081773833043166742_r8, & + 0.0084045811062544509_r8, 0.0090530345832815304_r8, & + 0.0097362070619747814_r8, 0.010045257415709214_r8, 0.010218379911745139_r8, & + 0.010255682982094748_r8, 0.010279710478107643_r8, 0.010398637616563022_r8, & + 0.010531652285742606_r8, 0.010631422847124592_r8, 0.010715242431317976_r8, & + 0.010761926919185677_r8, 0.010772563853765812_r8, 0.010765419467866454_r8, & + 0.01071018056278562_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,29) / & + 0.00037540248325716551_r8, 0.0003838873008550914_r8, & + 0.00039072851856612349_r8, 0.00036452697491466674_r8, & + 0.00037822008306326923_r8, 0.00041254357161035066_r8, & + 0.0005261120547040988_r8, 0.00062049097548203468_r8, & + 0.00075578912980770396_r8, 0.00092241173652320011_r8, & + 0.0010046664399536596_r8, 0.0010702503445313386_r8, & + 0.0010968254336116347_r8, 0.0010802827074773136_r8, & + 0.0010384349467207506_r8, 0.0010625979996033976_r8, & + 0.0020445955683897677_r8, 0.0038044321200119114_r8, & + 0.0054647241512115969_r8, 0.006669963140998993_r8, & + 0.0075057016653048911_r8, 0.0080543505161853671_r8, & + 0.008448624857559428_r8, 0.0087435366866153892_r8, & + 0.0089497873175518883_r8, 0.0091349038535141862_r8, & + 0.009331814171586959_r8, 0.009820573817952415_r8, 0.010380900461276023_r8, & + 0.010705322950963513_r8, 0.010876454403472624_r8, 0.010956665127303481_r8, & + 0.011003557885894688_r8, 0.01107603271259556_r8, 0.011139461488750118_r8, & + 0.011186435142252269_r8, 0.011214919233613068_r8, 0.011205783270790937_r8, & + 0.011184876706366935_r8, 0.011122153131707446_r8, 0.011062768373612256_r8, & + 0.010965500906078555_r8, 0.010911267312765245_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,29) / & + 0.00039051512098417772_r8, 0.00040469621136592592_r8, & + 0.00042069453266923451_r8, 0.00043680434053214805_r8, & + 0.00044721718519924935_r8, 0.00048057396383304683_r8, & + 0.0006828440289242863_r8, 0.00088911646150534296_r8, & + 0.001198268691289837_r8, 0.0015481469612980145_r8, & + 0.0017934062437729179_r8, 0.0020236148407011554_r8, & + 0.0023170251682694321_r8, 0.0024541313392715848_r8, & + 0.0025300090917387058_r8, 0.0026775727020318021_r8, & + 0.0037708210541737867_r8, 0.0052716865655433468_r8, & + 0.006556948219292918_r8, 0.007525510003172739_r8, 0.0082866733402194928_r8, & + 0.0088648314896747453_r8, 0.0092597057351394754_r8, & + 0.0095589356611191292_r8, 0.0097987766967972331_r8, & + 0.0099841565481083236_r8, 0.010133648875882586_r8, 0.01050982682530157_r8, & + 0.010911825061925055_r8, 0.011173684693125133_r8, 0.011366177386939019_r8, & + 0.011480573745749647_r8, 0.01157100049424521_r8, 0.011630513413344323_r8, & + 0.011671226911330053_r8, 0.011662638862743914_r8, 0.011652110350771223_r8, & + 0.011636878061582286_r8, 0.011629198867356695_r8, 0.011579962819138598_r8, & + 0.011516277873895926_r8, 0.011467296044896198_r8, 0.011426008878882203_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,29) / & + 0.00040842295721962786_r8, 0.00043179273305840566_r8, & + 0.00045846119258141101_r8, 0.00047998203659869131_r8, & + 0.00048302165809438989_r8, 0.00049959624103132461_r8, & + 0.0008420797755769047_r8, 0.001342444069571016_r8, & + 0.0018652552303572696_r8, 0.0023067028043216669_r8, & + 0.0027445577586571587_r8, 0.0032000413967255394_r8, & + 0.0037045830685096823_r8, 0.0040762744117387468_r8, & + 0.0042371613720000008_r8, 0.0044300082615340948_r8, & + 0.0051485377920258571_r8, 0.0061781549277633028_r8, & + 0.0071764361253646982_r8, 0.0080340820510965867_r8, & + 0.0087464333220393185_r8, 0.0094109259673795225_r8, & + 0.0098261490994661586_r8, 0.010177958042471258_r8, 0.010451682154478075_r8, & + 0.010619330264212551_r8, 0.010765884733442558_r8, 0.011104603562979196_r8, & + 0.011424019768487833_r8, 0.011650291658700377_r8, 0.011863694883795997_r8, & + 0.01200406100499752_r8, 0.012141287740850933_r8, 0.012205664694700413_r8, & + 0.012239218479178356_r8, 0.012219633377725555_r8, 0.012203251430774966_r8, & + 0.012190853810464298_r8, 0.012185169388212146_r8, 0.012135053621017498_r8, & + 0.012068965673506998_r8, 0.012052997852410669_r8, 0.012075596046394667_r8, & + 0.012003721234973334_r8, 0.011956092402513999_r8 & + / +data delta_sa_ref(:,21,29) / & + 0.00055834497256530358_r8, 0.00064616428063547933_r8, & + 0.00055573761472098554_r8, 0.00048337952060144757_r8, & + 0.00040958802120206225_r8, 0.00065092236853589338_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,29) / & + 0.00060250935243065713_r8, 0.000679570431782874_r8, & + 0.00058102770923506664_r8, 0.00056732552527509342_r8, & + 0.0004749422447552_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,29) / & + 0.00074145236823703101_r8, 0.00070285474803167994_r8, & + 0.00069560282488091544_r8, 0.00046320357573538529_r8, & + 0.00053828172793386666_r8, 0.00057037792225457778_r8, & + 0.0012125613466282665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,24,29) / & + 0.0005777943309165206_r8, 0.00054016106677336152_r8, & + 0.00054569180376026511_r8, 0.00050676775010962815_r8, & + 0.00056384314634074276_r8, 0.00059830793671673843_r8, & + 0.0011151651607747264_r8, 0.0015765364360116336_r8, & + 0.0017504612037229964_r8, 0.0022274886898961095_r8, & + 0.0025934125942130878_r8, 0.0030619606591115725_r8, & + 0.0038376732373149904_r8, 0.0045194764025334793_r8, & + 0.0052378037476555643_r8, 0.0059221520182038447_r8, & + 0.0072246763891469223_r8, 0.0082306517944314081_r8, & + 0.0090570692371202063_r8, 0.010037788273322412_r8, 0.010650999784113548_r8, & + 0.011416696498896848_r8, 0.012315546701376722_r8, 0.012627392730593694_r8, & + 0.012804350451016043_r8, 0.013021234919852116_r8, 0.013889184454784575_r8, & + 0.014537835693754806_r8, 0.014137988434519275_r8, 0.013907181861274816_r8, & + 0.014014940647920455_r8, 0.014443009150653713_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,29) / & + 0.0006415694206889877_r8, 0.00057699707691812345_r8, & + 0.00059954941354297938_r8, 0.000592831696250469_r8, & + 0.00065548469222347322_r8, 0.00070067162323595052_r8, & + 0.00091525470703670783_r8, 0.0014388939151743212_r8, & + 0.0018305231237005426_r8, 0.002175076900077465_r8, & + 0.0025541635134853496_r8, 0.002904009205933515_r8, & + 0.0037952892025308808_r8, 0.0044594092461413331_r8, & + 0.0051302812811121166_r8, 0.0061178457027298112_r8, & + 0.0078351273063566075_r8, 0.0091732674580670137_r8, & + 0.010209223436038254_r8, 0.011185780251146358_r8, 0.011969936893590431_r8, & + 0.013660517725349477_r8, 0.0142792045542887_r8, 0.014996118707226992_r8, & + 0.015722279220255569_r8, 0.016022605494704176_r8, 0.016279632115203276_r8, & + 0.016749753100885945_r8, 0.016080185194195667_r8, 0.01568949941610838_r8, & + 0.015195481656768445_r8, 0.014423966563572799_r8, 0.01251008371686349_r8, & + 0.011830940712809598_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,29) / & + 0.00037709008559878848_r8, 0.00034252089913463043_r8, & + 0.00034389404044790785_r8, 0.00037530641750112921_r8, & + 0.00040530318495303377_r8, 0.0005227987818623342_r8, & + 0.00074077434827310613_r8, 0.00089133858546916857_r8, & + 0.0010483013780631836_r8, 0.0012233273491700017_r8, & + 0.0014715828049529417_r8, 0.0016172207207364212_r8, & + 0.0026197837525810566_r8, 0.0032249621656800249_r8, & + 0.0036954453252136914_r8, 0.0050049284442318402_r8, & + 0.0081583863994373462_r8, 0.0094581495890304554_r8, & + 0.010550906417110992_r8, 0.011585616173489532_r8, 0.012239918211496142_r8, & + 0.014325139668657864_r8, 0.014642787397062615_r8, 0.015335640630226908_r8, & + 0.016210618863861204_r8, 0.01643492822153067_r8, 0.016843338871788537_r8, & + 0.017010762362088965_r8, 0.017210783480179754_r8, 0.0162831760224523_r8, & + 0.015757672933315963_r8, 0.014931486913950461_r8, 0.012946307149765832_r8, & + 0.012418152105632_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,29) / & + 0.0002529638750969826_r8, 0.00023244472325091559_r8, & + 0.00021337048791602564_r8, 0.00022512956836487897_r8, & + 0.00024199589588707552_r8, 0.0003993853651829841_r8, & + 0.00064086146191168116_r8, 0.00056553460024955722_r8, & + 0.00059465472225857013_r8, 0.00071495091265468718_r8, & + 0.00087156154372131675_r8, 0.00095235560568153834_r8, & + 0.0017107757985909933_r8, 0.0022709143860463344_r8, 0.00284199509259646_r8, & + 0.0034937457914571853_r8, 0.0082800746950130316_r8, & + 0.0096278742771553228_r8, 0.010780535455937964_r8, 0.011925452998858822_r8, & + 0.012375997928644454_r8, 0.01445369174962252_r8, 0.0152499907872713_r8, & + 0.016032726962642109_r8, 0.016998632966269439_r8, 0.017401482503138558_r8, & + 0.018185555908389973_r8, 0.017828757020185597_r8, 0.017550245220384428_r8, & + 0.016731781679604051_r8, 0.016176177449309864_r8, 0.015313516325350399_r8, & + 0.013164058929305599_r8, 0.012960024591257599_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,28,29) / & + 0.00034718678149560969_r8, 0.0003175914766991264_r8, & + 0.00026178869198882545_r8, 0.00026937824220557457_r8, & + 0.00032204556072690374_r8, 0.00042721573332891853_r8, & + 0.00062996459344042668_r8, 0.00064686766818702218_r8, & + 0.00072224075389600007_r8, 0.00091422880240000007_r8, & + 0.0011385196019221334_r8, 0.0014408245925824001_r8, & + 0.0022002439844426669_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,29) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,29) / & + 0.0023579108424316136_r8, 0.0020249401344049778_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,29) / & + 0.0014465576301084587_r8, 0.0014898967460329523_r8, & + 0.0016788711217141836_r8, 0.0019268824376250918_r8, & + 0.0019692606269051697_r8, 0.0022561778275480139_r8, & + 0.0020442302575595173_r8, 0.0021412410765265536_r8, & + 0.0021158225651683551_r8, 0.0021110022539097832_r8, & + 0.0019511776100579316_r8, 0.0019001551907546663_r8, & + 0.0018824977641019147_r8, 0.0019309693820893032_r8, & + 0.0019382126349486693_r8, 0.0019465682673292443_r8, & + 0.0019949951344163555_r8, 0.0020566235170856291_r8, & + 0.0021018538912957034_r8, 0.0022047809619362957_r8, & + 0.0023276541481295995_r8, 0.0025446640495516443_r8, & + 0.0023235946021757624_r8, 0.0026026803952698659_r8, & + 0.0030899537694453918_r8, 0.0034583815384526808_r8, & + 0.003648445004921304_r8, 0.003680250109047821_r8, 0.0037884194280067554_r8, & + 0.0038464677386537468_r8, 0.0039171102312362659_r8, & + 0.0039665919409727999_r8, 0.0039769485778943991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,29) / & + 0.0011178898199793251_r8, 0.0012948488401290535_r8, & + 0.001278797538673093_r8, 0.0014843506805421829_r8, & + 0.0015965782226891852_r8, 0.002025621616524326_r8, & + 0.0019496629987054085_r8, 0.0020046145853838751_r8, & + 0.0020559699788399674_r8, 0.0020474619119480097_r8, & + 0.0019932558775229629_r8, 0.0019715032941290929_r8, & + 0.0020207535988696493_r8, 0.0020344805315355391_r8, & + 0.0020609695645393642_r8, 0.0020689952152673449_r8, & + 0.0021248239222439506_r8, 0.0021714867221049941_r8, & + 0.0022490680124754702_r8, 0.0024118176837953321_r8, & + 0.0025237820898528916_r8, 0.0027149066028175801_r8, & + 0.0025964953625686915_r8, 0.0028955495282194958_r8, & + 0.0032800790669240366_r8, 0.0035721601262046292_r8, & + 0.0037334625490325593_r8, 0.0038195957623098991_r8, & + 0.0038802047749113677_r8, 0.0039374368743649978_r8, & + 0.0040046133251987887_r8, 0.0040565772208617139_r8, & + 0.0040801521783035959_r8, 0.0040930818712699253_r8, & + 0.0040672945345046133_r8, 0.0040549929223231999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,29) / & + 0.0015212279218085399_r8, 0.0020485803211905316_r8, 0.00185820137034053_r8, & + 0.0021438599808651063_r8, 0.002060619918508616_r8, & + 0.0024590088410002702_r8, 0.0020542619289136725_r8, & + 0.0019483405277894059_r8, 0.0020196311770773862_r8, & + 0.0020640920121172018_r8, 0.002076041425185712_r8, 0.002088577035876451_r8, & + 0.0021960766613682565_r8, 0.0022024797430879872_r8, & + 0.0022616406108083098_r8, 0.0023072738410925826_r8, & + 0.0023683285780539526_r8, 0.0023994872362816527_r8, & + 0.0024871914189920396_r8, 0.002650154357971648_r8, & + 0.0027679349879148507_r8, 0.0028941929373179787_r8, & + 0.0029390596014808763_r8, 0.0031572603933243525_r8, & + 0.0034224922713204948_r8, 0.0036459237496392432_r8, & + 0.0038221437733061791_r8, 0.0040889538756698606_r8, & + 0.0039917803467542376_r8, 0.0040118012501595924_r8, & + 0.0040581559544404545_r8, 0.0040711875785038485_r8, & + 0.0041308444595968266_r8, 0.004122525767790171_r8, 0.004128704194102481_r8, & + 0.0041427423388084375_r8, 0.0042332035828629346_r8, & + 0.0042624232797248002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,29) / & + 0.0020588730768213328_r8, 0.0031062154779306667_r8, & + 0.0028444146238293328_r8, 0.0037385495528959997_r8, & + 0.0035493450425173327_r8, 0.0040271744548693329_r8, & + 0.0029348936661333334_r8, 0.0022181032193706665_r8, & + 0.0020761998365866666_r8, 0.0021268829253119998_r8, & + 0.0021646404365653332_r8, 0.0022554437765119999_r8, & + 0.0023485635281919994_r8, 0.0023987370063359996_r8, & + 0.0024577591773013332_r8, 0.0025191904164693331_r8, & + 0.0025414742973439994_r8, 0.0025605615300266669_r8, & + 0.0026449252453546669_r8, 0.0027721889059839997_r8, & + 0.0028743889916586656_r8, 0.0030062854757546662_r8, 0.003140081417472_r8, & + 0.0033126540916053331_r8, 0.003523262246399999_r8, & + 0.0037080655744853334_r8, 0.0039359541608106662_r8, & + 0.0042751694950400008_r8, 0.0041967357937493345_r8, & + 0.0041341463487146657_r8, 0.0041659738459306666_r8, & + 0.0041736180046506657_r8, 0.0042130896605866676_r8, & + 0.0042078545700693333_r8, 0.0042265248486399992_r8, & + 0.0042470482565973309_r8, 0.0043586529739093327_r8, & + 0.004373491245641143_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,30) / & + 0.0033398957370370371_r8, 0.0033618811247407405_r8, & + 0.0044615346371111109_r8, 0.0039864941157037046_r8, & + 0.0041452731570370367_r8, 0.0034581250923703699_r8, & + 0.0042289685077037033_r8, 0.0047626432011111117_r8, & + 0.0050479290532592586_r8, 0.0054465934416296283_r8, & + 0.0056665485507407408_r8, 0.0058947048445925927_r8, & + 0.0060581156000000004_r8, 0.0061890211524444436_r8, & + 0.0063015218817777776_r8, 0.0064174326065925937_r8, & + 0.006881406936888889_r8, 0.0070966138457037031_r8, & + 0.0073352968885185173_r8, 0.007542843441481482_r8, & + 0.0077074495674074057_r8, 0.0080604582903703696_r8, & + 0.0081002300148148125_r8, 0.0083226632296296288_r8, & + 0.0085358884859259264_r8, 0.0086591281355555549_r8, & + 0.0087565882748148142_r8, 0.0089238014733333346_r8, & + 0.0090172677992592602_r8, 0.0090868267148148142_r8, & + 0.0091510120099999991_r8, 0.0091859204346666657_r8, & + 0.0091692961866666652_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,30) / & + 0.0022480639046913576_r8, 0.0022708249427160496_r8, & + 0.0031416703930864198_r8, 0.0027927294429629631_r8, & + 0.0029847190760493828_r8, 0.0024876095002469138_r8, & + 0.0030231225496296296_r8, 0.0038315461767901237_r8, & + 0.0042354482849382711_r8, 0.0046377787535802463_r8, & + 0.004915857251851851_r8, 0.0053846218469135801_r8, & + 0.0057997195753086419_r8, 0.0059462888266666666_r8, & + 0.0060345964770370372_r8, 0.0061364756967901227_r8, & + 0.0063453743219753084_r8, 0.0065091576483950605_r8, & + 0.0066730704039506174_r8, 0.0068499353180246905_r8, & + 0.0070158542251851849_r8, 0.0072727710597530852_r8, & + 0.0074079135674074061_r8, 0.0076100356528395066_r8, & + 0.007835880249876543_r8, 0.0080090102088888875_r8, & + 0.0081657858720987665_r8, 0.008467170859753086_r8, & + 0.0087190214681481457_r8, 0.0089221882316049377_r8, & + 0.0090906980327160498_r8, 0.0091983969411111102_r8, & + 0.0092598893178483244_r8, 0.0092881225338888873_r8, & + 0.0092941642661375657_r8, 0.0092913769172486751_r8, & + 0.0092837022977777777_r8, 0.0091237209522222213_r8, & + 0.0086974021799999975_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,30) / & + 0.0014010056804938272_r8, 0.001414632719506173_r8, & + 0.0013615020592592589_r8, 0.0011449116454320988_r8, & + 0.0012295675451851852_r8, 0.0010815930632098764_r8, & + 0.0013298104108641975_r8, 0.0019028394197530864_r8, & + 0.0023086829649382715_r8, 0.0027067237822222217_r8, & + 0.0031277475160493822_r8, 0.0038088590982716048_r8, & + 0.0045716681999999993_r8, 0.0048983565837037038_r8, & + 0.005158019164938272_r8, 0.0053456914118518517_r8, & + 0.0055884080212345684_r8, 0.0057505365037037043_r8, & + 0.0058599503481481484_r8, 0.005973099147654321_r8, & + 0.0060689968923456801_r8, 0.0062062842256790131_r8, & + 0.0063479536597530863_r8, 0.006507484314567903_r8, & + 0.0067213197367901227_r8, 0.0069193925392592578_r8, & + 0.0071231787135802478_r8, 0.007655030767407406_r8, & + 0.0081236566883950614_r8, 0.0085108162133333328_r8, & + 0.0088601454508641965_r8, 0.0091461376162962956_r8, & + 0.0093537881748148154_r8, 0.009499137094320988_r8, & + 0.0095503817871604932_r8, 0.0095186716488888899_r8, & + 0.0094664469925925931_r8, 0.0093372212454320962_r8, & + 0.0089942617703703698_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,30) / & + 0.0010273715002469136_r8, 0.0010213807802469136_r8, & + 0.00053090907012345672_r8, 0.00063889919407407393_r8, & + 0.00064471426024691355_r8, 0.00063122589530864191_r8, & + 0.00075349020395061724_r8, 0.0010283607086419755_r8, & + 0.0013853909797530866_r8, 0.0017205477269135801_r8, & + 0.0020462284123456786_r8, 0.0024568331007407407_r8, & + 0.0031892633353086419_r8, 0.0037086717022222215_r8, & + 0.0041042626108641969_r8, 0.0044241559649382724_r8, & + 0.0048697250098765424_r8, 0.0051990297111111118_r8, & + 0.0053836233935802462_r8, 0.005524433048395061_r8, & + 0.0056381642790123455_r8, 0.0057588384582716043_r8, & + 0.0058730504256790106_r8, 0.0059851545471604952_r8, & + 0.0061090274750617282_r8, 0.0062574642039506176_r8, & + 0.0064114663856790124_r8, 0.0069566588854320984_r8, & + 0.0075788894558024679_r8, 0.0080648773708641968_r8, & + 0.0085592411999999979_r8, 0.0089702804004938262_r8, & + 0.0092483958785185179_r8, 0.0094604377827160503_r8, & + 0.0095679194350617273_r8, 0.009546831730864196_r8, & + 0.0095072899742592587_r8, 0.0094308867997777782_r8, & + 0.0092667563259259261_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,30) / & + 0.0007215674320987654_r8, 0.00069351828938271599_r8, & + 0.00030581331308641969_r8, 0.00048535925925925917_r8, & + 0.00048605262962962958_r8, 0.00048741163555555549_r8, & + 0.00054298295950617288_r8, 0.00068276642617283944_r8, & + 0.0008574680246913578_r8, 0.0010396487782716049_r8, & + 0.001178063994074074_r8, 0.0013187627096296296_r8, & + 0.0016072325185185186_r8, 0.001904845571358025_r8, & + 0.0021795311772839507_r8, 0.0024314372553086417_r8, & + 0.0028932866365432089_r8, 0.0033638262597530865_r8, & + 0.0037726281851851846_r8, 0.0041575042103703698_r8, & + 0.0044688275066666668_r8, 0.0047171927733333325_r8, & + 0.0049729262558024703_r8, 0.0051853564474074075_r8, & + 0.0053735279209876545_r8, 0.0055368397555555556_r8, & + 0.0056842872760493827_r8, 0.0060551017501234558_r8, & + 0.0064736201056790109_r8, 0.0069803166824691353_r8, & + 0.0075550282701234558_r8, 0.0081521403432098759_r8, & + 0.0085622735397530882_r8, 0.0088186181786772486_r8, & + 0.0090876580989065255_r8, 0.0092068241645925919_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,30) / & + 0.00041042903456790119_r8, 0.00037659256049382716_r8, & + 0.00017997121333333335_r8, 0.0002520724869135802_r8, & + 0.00025458711012345676_r8, 0.00026124346567901237_r8, & + 0.00028272870222222226_r8, 0.00031824775506172838_r8, & + 0.00036730139753086418_r8, 0.00042233651506172834_r8, & + 0.000462921794074074_r8, 0.00046738709925925933_r8, & + 0.00047754728641975308_r8, 0.00054771636790123461_r8, & + 0.00059998724888888884_r8, 0.00066155853777777795_r8, & + 0.00081623559999999989_r8, 0.0010944897520987653_r8, & + 0.0014315879362962964_r8, 0.001861754914074074_r8, & + 0.0023136659866666662_r8, 0.0027592257866666664_r8, & + 0.0032143171180246911_r8, 0.0036656365145679016_r8, 0.00408912864691358_r8, & + 0.0044846733308641978_r8, 0.0048237221970370376_r8, & + 0.0053743137407407408_r8, 0.0056820869807407415_r8, & + 0.0060081097288888887_r8, 0.0064488159362962949_r8, & + 0.0070278633999999989_r8, 0.0077100104153086414_r8, & + 0.0081816132064197519_r8, 0.008575872843950616_r8, & + 0.0088603627069135781_r8, 0.008975339395804232_r8, & + 0.0090918259151851859_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,30) / & + 0.00022156419061728397_r8, 0.00020429464592592591_r8, & + 0.00010894235259259259_r8, 0.00012527815851851853_r8, & + 0.00012974346370370372_r8, 0.00013396840049382714_r8, & + 0.00015011930765432101_r8, 0.00017628248296296296_r8, & + 0.00019759206567901235_r8, 0.00021795866469135803_r8, & + 0.00023583837530864195_r8, 0.00024893845283950616_r8, & + 0.00028427260691358023_r8, 0.00031574237679012339_r8, & + 0.00033874378320987653_r8, 0.00036429679259259259_r8, & + 0.0004263857980246913_r8, 0.00056506911703703693_r8, & + 0.00079144067555555553_r8, 0.0011376821037037039_r8, & + 0.0015941231960493829_r8, 0.0020739262474074077_r8, & + 0.0026038368641975304_r8, 0.0031923326548148143_r8, & + 0.0037553124158024691_r8, 0.0042400430192592589_r8, & + 0.004662943475555556_r8, 0.0055189415550617286_r8, & + 0.0060027291748148146_r8, 0.006382058237037037_r8, & + 0.0067070270622222239_r8, 0.0070254227362962964_r8, & + 0.0074976541832098747_r8, 0.0080003754365432084_r8, & + 0.0084761476948148149_r8, 0.0088266510395061705_r8, & + 0.0090331667818518528_r8, 0.0091532596856172821_r8, & + 0.0092208407456825393_r8, 0.0092328976639999994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,30) / & + 0.00014966630567901236_r8, 0.00014832578962962963_r8, & + 0.00010651093382716049_r8, 0.00013709318962962962_r8, & + 0.00013996836543209875_r8, 0.00013752770172839504_r8, & + 0.00013639057432098765_r8, 0.00012884670469135803_r8, & + 0.00013108397975308638_r8, 0.00013815635753086422_r8, & + 0.0001480946661728395_r8, 0.00015968781876543213_r8, & + 0.00019088024049382715_r8, 0.00023005104395061729_r8, & + 0.00026484899160493828_r8, 0.00030296587209876542_r8, & + 0.00038784365037037037_r8, 0.00051627433283950622_r8, & + 0.00079818023555555553_r8, 0.0012197771555555554_r8, & + 0.0017588495061728391_r8, 0.0023661125214814813_r8, & + 0.0030543519511111116_r8, 0.0037338271792592592_r8, & + 0.0042945696651851854_r8, 0.0047429769061728402_r8, & + 0.0051544321288888887_r8, 0.005986106775802468_r8, & + 0.0065556319530864198_r8, 0.0070344735308641975_r8, & + 0.0073613283234567894_r8, 0.0075824672469135806_r8, & + 0.0078396706745679015_r8, 0.0081528799382716063_r8, & + 0.0084986313846913599_r8, 0.0087561214054320963_r8, & + 0.0089423791767901245_r8, 0.0090861391225308622_r8, & + 0.0091772607009876547_r8, 0.0092072772326031727_r8, & + 0.0092042905892592598_r8, 0.0092491225306666654_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,30) / & + 0.0001567923819776986_r8, 0.00015499667294532627_r8, & + 0.00013696574155202821_r8, 0.0001584410728042328_r8, & + 0.00015811155679012345_r8, 0.00016198980839506174_r8, & + 0.00016468655688888891_r8, 0.00015323207837037039_r8, & + 0.00013358704679012346_r8, 0.00013179583999999999_r8, & + 0.0001353250951851852_r8, 0.00014471564123456793_r8, & + 0.00017678979895061726_r8, 0.00022064563996472664_r8, & + 0.00026624266604938267_r8, 0.00031716147481481485_r8, & + 0.00043617433866666665_r8, 0.00060365748938271584_r8, & + 0.00096514844320987655_r8, 0.0015036060054320988_r8, & + 0.0021494583175802472_r8, 0.0028416194500246912_r8, & + 0.0035550716753086423_r8, 0.0041730033493827152_r8, & + 0.0046560190167901231_r8, 0.0050577168675132282_r8, & + 0.0054575895032804239_r8, 0.0062624546216296295_r8, & + 0.0068187456697777777_r8, 0.0073414942328888884_r8, & + 0.0076547589662222214_r8, 0.0078652495697777783_r8, & + 0.0080527091831111095_r8, 0.0082953999066666673_r8, & + 0.0085753412599999974_r8, 0.008776127451851851_r8, & + 0.0089121528511111117_r8, 0.0090393880474999994_r8, & + 0.0091334142700000009_r8, 0.009194931475999998_r8, & + 0.0092101703699999996_r8, 0.0092234622799999989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,30) / & + 0.00018948134560987435_r8, 0.00018222664809523808_r8, & + 0.00018638835611111112_r8, 0.0001930759133333333_r8, & + 0.00019199425555555552_r8, 0.00019141182444444444_r8, & + 0.00018493851866666669_r8, 0.000175453212_r8, 0.00016287270000000002_r8, & + 0.00015760585866666664_r8, 0.00015482266999999994_r8, & + 0.00015201451999999997_r8, 0.00016692891666666664_r8, & + 0.0002122129355555555_r8, 0.00028792898_r8, 0.00038544458888888891_r8, & + 0.00059873918222222216_r8, 0.00091355983866666659_r8, & + 0.0014118130133333334_r8, 0.0020886021246666665_r8, & + 0.0029127879093333335_r8, 0.003728074978666666_r8, & + 0.0044270588755555562_r8, 0.0048887603377777778_r8, & + 0.0052347410586666655_r8, 0.0055347263626666669_r8, & + 0.0059142135133333331_r8, 0.0069078243480000011_r8, & + 0.007718855509999999_r8, 0.0081441030249999984_r8, & + 0.0084277261749999988_r8, 0.0085861994399999992_r8, & + 0.0087465448050000009_r8, 0.0089376862149999989_r8, & + 0.009130606119999999_r8, 0.0092530414599999999_r8, & + 0.0093423406299999994_r8, 0.0093455231999999989_r8, & + 0.0092799996999999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,30) / & + 0.00023437984096586666_r8, 0.00021298907160559999_r8, & + 0.0002157449375968_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,30) / & + 0.0002908566934886274_r8, 0.00029118228764518525_r8, & + 0.00030192716260622228_r8, 0.00032317874448137144_r8, & + 0.00033135129528422228_r8, 0.00037240742427235558_r8, & + 0.00049652793716746654_r8, 0.00058552303319706663_r8, & + 0.00065960531344444451_r8, 0.00075582738943004446_r8, & + 0.00081660284944097788_r8, 0.00085863404715333337_r8, & + 0.00089933456284204457_r8, 0.00096547863653457784_r8, & + 0.0010198989427429334_r8, 0.0010293972592565334_r8, & + 0.0019466501438307555_r8, 0.0034144841870846218_r8, & + 0.0049140710565578668_r8, 0.0061123731616431996_r8, & + 0.0069246857086976005_r8, 0.0075007792537615994_r8, 0.0078635736475528_r8, & + 0.0081621511623064004_r8, 0.0084477201131392_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,18,30) / & + 0.0003112914149417679_r8, 0.00031663845093744201_r8, & + 0.00032930697733837041_r8, 0.00037298777887788154_r8, & + 0.00038421148492369134_r8, 0.00041898456207619756_r8, & + 0.00057004195005763713_r8, 0.00066595698111947407_r8, & + 0.00087301054414357787_r8, 0.0010919925943338221_r8, & + 0.0012782842737217434_r8, 0.0014392293710876844_r8, & + 0.0017491417172931856_r8, 0.0019505013807091212_r8, & + 0.0020864082234993962_r8, 0.0022185790783649491_r8, & + 0.0032002550550305933_r8, 0.0044726611340269815_r8, & + 0.0057601944688005519_r8, 0.0068635355257300398_r8, & + 0.0076184511309874657_r8, 0.0081469763272787495_r8, & + 0.0085991510486943066_r8, 0.0088681016229134428_r8, & + 0.0091121241765753022_r8, 0.009335236914987782_r8, & + 0.0095340096619583627_r8, 0.0099724990891858177_r8, & + 0.010398808343485232_r8, 0.010680760433173292_r8, 0.010851809553220536_r8, & + 0.010973422603942507_r8, 0.011071518301737393_r8, 0.011120650198356329_r8, & + 0.011145736442084535_r8, 0.011111204835369958_r8, 0.011083493100913338_r8, & + 0.011043918630909425_r8, 0.011070477710899912_r8, 0.011094395291072178_r8, & + 0.011116199671389866_r8, 0.011114272577204303_r8, 0.011098210028472002_r8, & + 0.011090553109518401_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,30) / & + 0.00035501780040596542_r8, 0.00036580969937572333_r8, & + 0.00037789484243689865_r8, 0.0004185316934128988_r8, & + 0.00042421750795275056_r8, 0.0004600269908978567_r8, & + 0.00067781598508610363_r8, 0.00088540395907049858_r8, & + 0.0012129514711898071_r8, 0.0015458837841380343_r8, & + 0.0018206870049082466_r8, 0.0021019564461355451_r8, & + 0.0026026537339772838_r8, 0.0030166590730702214_r8, & + 0.003252921390185006_r8, 0.0034873553277222713_r8, 0.004307417014208316_r8, & + 0.0054092386827839199_r8, 0.0065286975250890261_r8, & + 0.0074822866640139041_r8, 0.0081876621266343489_r8, & + 0.0087840594772409658_r8, 0.0091814867649206502_r8, & + 0.0094921998065396144_r8, 0.0097517516659558698_r8, & + 0.0099635872778612126_r8, 0.010133381308139535_r8, 0.010520596426959405_r8, & + 0.01088758788386694_r8, 0.011136180614474033_r8, 0.011317179043992648_r8, & + 0.011458109203989252_r8, 0.0115860734771038_r8, 0.011627011341790736_r8, & + 0.011645941759611653_r8, 0.011594044766115554_r8, 0.011558447107633697_r8, & + 0.011513509662620935_r8, 0.011546006003914353_r8, 0.011581881582462655_r8, & + 0.011599943957967164_r8, 0.011590780997083121_r8, 0.011586764220950889_r8, & + 0.011583308610425596_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,30) / & + 0.00041324093269699998_r8, 0.00043261517247423278_r8, & + 0.00043885840515227862_r8, 0.00046090920571388182_r8, & + 0.00044659228332377595_r8, 0.00045814338472032276_r8, & + 0.00076246963291090142_r8, 0.0012079204234664708_r8, & + 0.0016922635478206173_r8, 0.0021030707905349928_r8, & + 0.0024734049634206243_r8, 0.0028364334995569823_r8, & + 0.003346348635934286_r8, 0.0038256261396260325_r8, & + 0.0041015778128068101_r8, 0.0043233879795675874_r8, & + 0.0049996523858447297_r8, 0.0059703453286047148_r8, & + 0.006970388273637238_r8, 0.0078400432263969998_r8, & + 0.0085717008578416014_r8, 0.0092975520088875406_r8, & + 0.009695718760489502_r8, 0.010067634914896593_r8, 0.010350202015069546_r8, & + 0.010541731174817754_r8, 0.010694067214620613_r8, 0.011042976653900253_r8, & + 0.011391083996788485_r8, 0.011623422924177776_r8, 0.011810338784184103_r8, & + 0.011953037212377164_r8, 0.012104450592231645_r8, 0.0121435632534396_r8, & + 0.012158034118553276_r8, 0.012093601366693959_r8, 0.012054556709310488_r8, & + 0.012004226904437481_r8, 0.012043337821957632_r8, 0.012087906482314961_r8, & + 0.01209221339119926_r8, 0.012046982129475109_r8, 0.01203986788322089_r8, & + 0.011954310104476571_r8, 0.011970451671608_r8 & + / +data delta_sa_ref(:,21,30) / & + 0.00062291267242457272_r8, 0.00065567730515910265_r8, & + 0.00055488562008539685_r8, 0.00049050140708397033_r8, & + 0.00045590413084163048_r8, 0.0005252502001410963_r8, & + 0.00077098232515333332_r8, 0.0012622580308558667_r8, & + 0.0017741145044116668_r8, 0.0022040436260601336_r8, & + 0.0026019999530674004_r8, 0.0028437862478480343_r8, & + 0.0035353224207213259_r8, 0.0039873486920384916_r8, & + 0.0042607734320135315_r8, 0.0044241839334968232_r8, & + 0.0049287356719111379_r8, 0.005658420259123666_r8, & + 0.0064618597771406031_r8, 0.0071321217216914852_r8, & + 0.0077378274356536192_r8, 0.0085161076853212479_r8, & + 0.0086504771084418217_r8, 0.010365704774927998_r8, 0.010583015147567999_r8, & + 0.010689738686131199_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,30) / & + 0.0007297764543362944_r8, 0.00070434179827561481_r8, & + 0.00061167647672898768_r8, 0.00056586336521544686_r8, & + 0.00056794156225453826_r8, 0.00065366719011705678_r8, & + 0.00085586462882222228_r8, 0.0012417969521799112_r8, & + 0.0016564529274707555_r8, 0.0020083176636519111_r8, & + 0.0024557052423084444_r8, 0.0026414278667628664_r8, & + 0.0037009519980730019_r8, 0.0039536408110460025_r8, & + 0.0040405530872297118_r8, 0.0039328766961499815_r8, & + 0.003921030063651367_r8, 0.0039193956057844061_r8, & + 0.0039180822782833684_r8, 0.0038953710092501956_r8, & + 0.0037957511660439151_r8, 0.0037957511660439151_r8, & + 0.0037648770473352375_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,23,30) / & + 0.00077063265851274579_r8, 0.00070249716925631204_r8, & + 0.00064324510089955843_r8, 0.00062455836781795848_r8, & + 0.00064774375886364726_r8, 0.0006972289964686251_r8, & + 0.00074278807684011205_r8, 0.0011301383128590251_r8, & + 0.0015004124683648027_r8, 0.0018118580197248029_r8, & + 0.0020956195220750247_r8, 0.0021399140004906693_r8, & + 0.0040539829268693324_r8, 0.0046753168018325323_r8, & + 0.0061043328066559986_r8, 0.0071611713776042665_r8, & + 0.008427716619801599_r8, 0.0093288324150698661_r8, & + 0.0098665950670848001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,30) / & + 0.00056717330106745474_r8, 0.00056491211572473599_r8, & + 0.00053621267406161045_r8, 0.0006011214928662305_r8, & + 0.00061391000767472669_r8, 0.00062783934356572192_r8, & + 0.00095304346705658665_r8, 0.001357313259595531_r8, & + 0.0017507331932038019_r8, 0.0021476263825421027_r8, & + 0.0025122952131420109_r8, 0.0028890245177418815_r8, & + 0.0037061508338716441_r8, 0.0043928475360603559_r8, & + 0.0050799381540488527_r8, 0.0057511647084641246_r8, & + 0.007003745330731218_r8, 0.0082079518991002662_r8, & + 0.0090929076170058482_r8, 0.010053850289532399_r8, 0.011039940904822604_r8, & + 0.011980975908406908_r8, 0.012637746349812127_r8, 0.013204200850958078_r8, & + 0.013580211387118077_r8, 0.013812890287946612_r8, 0.014079052031757012_r8, & + 0.015435053456731733_r8, 0.015304876010088486_r8, 0.015232284981307291_r8, & + 0.0153061886394421_r8, 0.0153061886394421_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,30) / & + 0.00059935747876319338_r8, 0.00052385856217165426_r8, & + 0.00052675643460574481_r8, 0.000553591316004576_r8, & + 0.00059198341307195059_r8, 0.00059645838225525231_r8, & + 0.00077798926875482426_r8, 0.0012016640941733435_r8, & + 0.0016698370887300419_r8, 0.0019705642718462197_r8, & + 0.0023347896004848627_r8, 0.002626436358961955_r8, & + 0.0036096402867828638_r8, 0.0042858367981893171_r8, & + 0.0050683428994531361_r8, 0.00604309087615062_r8, 0.007716589169768035_r8, & + 0.0091816055063971419_r8, 0.010212983497129808_r8, 0.011029873098414805_r8, & + 0.012261474268828227_r8, 0.013836997740400481_r8, 0.014586750220456775_r8, & + 0.015506170940436872_r8, 0.016192937084729138_r8, 0.016402690364818763_r8, & + 0.016619161362200895_r8, 0.017134273788181716_r8, 0.016720776555396489_r8, & + 0.015867784634070667_r8, 0.015335506218713442_r8, 0.014671672302365588_r8, & + 0.012598701767357036_r8, 0.012082020194986666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,26,30) / & + 0.00037124361794534983_r8, 0.00034120438220540579_r8, & + 0.00032795427633707994_r8, 0.00035139677133488726_r8, & + 0.00037616993935793251_r8, 0.00041395255961707993_r8, & + 0.00056474329434935309_r8, 0.00072071516022244612_r8, & + 0.00099239364637117517_r8, 0.0012133101417286835_r8, & + 0.0014558093749702683_r8, 0.001764865263129768_r8, & + 0.0026716870786133405_r8, 0.0034023752084770633_r8, & + 0.0041159592353328762_r8, 0.0052566415264659961_r8, & + 0.0079545368473357171_r8, 0.0092728020544180362_r8, & + 0.010388252873919684_r8, 0.011334520650943949_r8, 0.012312893442576368_r8, & + 0.014142508436082944_r8, 0.014847575801674831_r8, 0.015590414159304147_r8, & + 0.016644135805415797_r8, 0.016868190403914511_r8, 0.017466453311323616_r8, & + 0.017490880160569197_r8, 0.017415525997553957_r8, 0.01629110400499139_r8, & + 0.015779238279424946_r8, 0.014977697625078166_r8, 0.013011394654705008_r8, & + 0.012472569908218621_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,30) / & + 0.00028688199000114568_r8, 0.00030666846543897286_r8, & + 0.00028564077198475063_r8, 0.00025298943687111108_r8, & + 0.00026623396323429132_r8, 0.00033109855651460745_r8, & + 0.00048893768050536294_r8, 0.00057646545450856291_r8, & + 0.00071911426036337753_r8, 0.00092836901536268645_r8, & + 0.0011654745122651653_r8, 0.0015079977504924445_r8, & + 0.0022603998613429954_r8, 0.0029754603453864409_r8, & + 0.0036311752234010407_r8, 0.0044572089424330039_r8, & + 0.0077157994616819572_r8, 0.0091306896938193483_r8, & + 0.010324202956010758_r8, 0.011304573791058647_r8, 0.012237042476516661_r8, & + 0.013621611264922028_r8, 0.014464054668410999_r8, 0.015092999237868885_r8, & + 0.01643530846421731_r8, 0.016858335851339556_r8, 0.01759259302365497_r8, & + 0.017768460839333859_r8, 0.017730054998457742_r8, 0.016757480264201232_r8, & + 0.016245625683407868_r8, 0.015371264775843439_r8, 0.01328588891053626_r8, & + 0.012961246825939625_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,30) / & + 0.00038000129277920494_r8, 0.00038534088313259398_r8, & + 0.00035072267702708883_r8, 0.00031447826158153565_r8, & + 0.00033992155550765829_r8, 0.00040937134151911112_r8, & + 0.00057194153878144011_r8, 0.00071014584544350809_r8, & + 0.0008548648788308269_r8, 0.0011061559023171736_r8, & + 0.0013978219785435854_r8, 0.0017802946770765278_r8, & + 0.0026853668008139714_r8, 0.0035628280054215769_r8, & + 0.0042423873346569612_r8, 0.0049852896594872005_r8, & + 0.0077993729826841525_r8, 0.0093375266638014223_r8, & + 0.010511701189017156_r8, 0.011534266104501555_r8, 0.012449845933909546_r8, & + 0.013706483897101763_r8, 0.014586749099492601_r8, 0.015161570459001602_r8, & + 0.016487710127371828_r8, 0.016956303179090845_r8, 0.017626331310272001_r8, & + 0.018028591983328002_r8, 0.018149879671113069_r8, 0.017271001049072535_r8, & + 0.016746233716494936_r8, 0.015845413603196804_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,30) / & + 0.00040038829348906666_r8, 0.00043427695782826661_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,30,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,30) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,30) / & + 0.0023151407015966348_r8, 0.0022171947623311483_r8, & + 0.0019481613704652187_r8, 0.00221539456724224_r8, 0.0022249480163519996_r8, & + 0.0021134911100714666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,30) / & + 0.0015519186017539949_r8, 0.0016473712065504492_r8, & + 0.0017057049183471775_r8, 0.0019181377463971974_r8, & + 0.0019649284657731053_r8, 0.0021758362622928866_r8, & + 0.0020261326281734125_r8, 0.0021006839749027075_r8, & + 0.0021117949841432883_r8, 0.0021365486249830634_r8, & + 0.002010683521456853_r8, 0.0019290450933773272_r8, & + 0.0018796400994698426_r8, 0.0019107739400921839_r8, & + 0.0019498478690210838_r8, 0.0019389286493531257_r8, & + 0.0020062787542722959_r8, 0.0020674148770385065_r8, & + 0.0021076139714601241_r8, 0.0021969495543875551_r8, & + 0.0023127329193795908_r8, 0.0025391980467319108_r8, & + 0.0023265034106938662_r8, 0.0025742763595645157_r8, & + 0.0030730443221258664_r8, 0.0034555686247208887_r8, & + 0.0036693181034083548_r8, 0.0036939630634903109_r8, & + 0.0037920314649578062_r8, 0.0038550663044929776_r8, & + 0.003925996481434429_r8, 0.0039681262575537784_r8, & + 0.0039756060508860432_r8, 0.0039838530025087995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,30) / & + 0.0011815248976093757_r8, 0.0014059361258884739_r8, & + 0.0013383540069167932_r8, 0.0015123746740677529_r8, & + 0.0015998235677923032_r8, 0.0020464532236051493_r8, & + 0.0019766344478732113_r8, 0.0020124209560373201_r8, & + 0.0020494354326188245_r8, 0.0020736878088623931_r8, & + 0.0020515405213343604_r8, 0.0020042637372646188_r8, & + 0.0020032111929068515_r8, 0.0020415413499355653_r8, & + 0.0020679426709095772_r8, 0.0020772401460698604_r8, & + 0.0021483307462341005_r8, 0.0021870994634118849_r8, & + 0.0022614792646941497_r8, 0.0024145806127344725_r8, & + 0.0025282554033734059_r8, 0.0027289405275878185_r8, & + 0.0026321503026880792_r8, 0.0029140129104953416_r8, & + 0.0033031911867800233_r8, 0.0035871588833028202_r8, & + 0.0037616181106028507_r8, 0.0038334104070056039_r8, & + 0.0038816520234032986_r8, 0.0039378754345140675_r8, & + 0.003999975551622373_r8, 0.0040529755456374782_r8, & + 0.0040806698359081225_r8, 0.0040955365550757209_r8, & + 0.0040943317676947755_r8, 0.0040579532033294214_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,30) / & + 0.0016537536765570367_r8, 0.0021256427624512268_r8, & + 0.0018711879022791375_r8, 0.002270929588514397_r8, & + 0.0020997598828235856_r8, 0.002526692120305304_r8, & + 0.0020939429987260837_r8, 0.0019729608279230155_r8, & + 0.0019930268234531557_r8, 0.002064001827867628_r8, & + 0.0021004362646953878_r8, 0.0021113485588938009_r8, & + 0.002199007649479401_r8, 0.0022136625900351209_r8, & + 0.0022708844963896099_r8, 0.0023234619138910555_r8, & + 0.0023817660312404282_r8, 0.0024086409376133794_r8, & + 0.0024955334620776035_r8, 0.0026561516105682963_r8, & + 0.0027746988066328754_r8, 0.0029026702567779027_r8, & + 0.0029570964513956082_r8, 0.0031746208613672826_r8, & + 0.0034371021197514276_r8, 0.0036618412696889945_r8, & + 0.003843382164080777_r8, 0.0041178128355334326_r8, & + 0.0040255092560947878_r8, 0.0040063451030603854_r8, & + 0.0040482356869873523_r8, 0.0040511103099425119_r8, & + 0.0041076574448582273_r8, 0.0041021135291589893_r8, & + 0.0041061645734411763_r8, 0.004127282181738667_r8, & + 0.0042333871722281379_r8, 0.0042624232797248002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,30) / & + 0.0021270219100159994_r8, 0.0030767507206826664_r8, & + 0.0028249567652693327_r8, 0.0038026678296746662_r8, & + 0.0036064214276266661_r8, 0.0040151754420906663_r8, 0.002942723137792_r8, & + 0.0022391825661439999_r8, 0.0020939898786986664_r8, & + 0.0021560697131519993_r8, 0.0022073550689279994_r8, & + 0.0022679060716373333_r8, 0.0023424482012159992_r8, & + 0.002392112068778666_r8, 0.0024491421256533333_r8, & + 0.0025100174260053324_r8, 0.0025344324056746658_r8, & + 0.0025561603477333339_r8, 0.0026392268724906667_r8, & + 0.0027666295178239994_r8, 0.0028690612446719992_r8, & + 0.0029988729582079991_r8, 0.003131881319936_r8, 0.0033029251623253337_r8, & + 0.0035124677677226658_r8, 0.0036974564087466659_r8, & + 0.0039209901410133322_r8, 0.0042612246964053337_r8, & + 0.0042227722616320004_r8, 0.0041360458063359994_r8, & + 0.0041669004106240004_r8, 0.0041734790199466675_r8, & + 0.0042131359888213328_r8, 0.004210958561792_r8, 0.0042251350015999993_r8, & + 0.004244685516629332_r8, 0.0043584213327359988_r8, & + 0.0043723198031360008_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,31) / & + 0.0030877308007407405_r8, 0.0031030126837037035_r8, & + 0.004280105959259259_r8, 0.0037676220511111106_r8, & + 0.0039524745918518515_r8, 0.0034448969724444447_r8, & + 0.0043818511274074066_r8, 0.0048960435001481478_r8, & + 0.005104856147407408_r8, 0.0052998013872592592_r8, & + 0.0054824462367407409_r8, 0.0057498181719999996_r8, & + 0.0059442336768888888_r8, 0.0060750338370370366_r8, & + 0.0061496127540740745_r8, 0.0062991727429629616_r8, & + 0.0067179448720740744_r8, 0.0069261875688888877_r8, & + 0.0072325116648148139_r8, 0.0075260084088888879_r8, & + 0.0076332242692592591_r8, 0.007948277898148148_r8, & + 0.0079530274851851851_r8, 0.0082290928981481465_r8, & + 0.0084493489300000012_r8, 0.0085877525896296304_r8, & + 0.0087005916837037053_r8, 0.008925118877037036_r8, & + 0.0090207207837037038_r8, 0.0091121555344444438_r8, & + 0.0092003591792592584_r8, 0.0092609736170370365_r8, & + 0.0092712216311111109_r8, 0.00921629481142857_r8, 0.0092313250999999982_r8, & + 0.0091875179599999988_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,31) / & + 0.0020165336706172844_r8, 0.0020359942656790124_r8, & + 0.0028733175698765429_r8, 0.0024628977802469139_r8, & + 0.0026933001318518515_r8, 0.0023855084019753087_r8, & + 0.0029682076162962962_r8, 0.0037803569535802472_r8, & + 0.0042254267718518515_r8, 0.0046359759906172832_r8, & + 0.0048977371728395067_r8, 0.0053226160459259268_r8, & + 0.0057563238350617288_r8, 0.0059401594325925932_r8, & + 0.0060289015950617279_r8, 0.0061366236158024688_r8, & + 0.0063378489422222205_r8, 0.0065036106854320982_r8, & + 0.0066836835930864195_r8, 0.0068901785343209862_r8, & + 0.0070248218153086414_r8, 0.0072444353239506177_r8, & + 0.0073636025782716054_r8, 0.0075704673170370381_r8, & + 0.007788472206419754_r8, 0.0079498333590123458_r8, 0.008094248539753086_r8, & + 0.0083972236567901246_r8, 0.0086485103239506179_r8, & + 0.0088948324592592592_r8, 0.0090958636419753072_r8, & + 0.0092192558330864201_r8, 0.0093045218987654332_r8, & + 0.0093193819814197526_r8, 0.0093131036778042325_r8, & + 0.0093090098210317461_r8, 0.0092821697511534396_r8, & + 0.009154277784444444_r8, 0.0086295489555555556_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,31) / & + 0.0011903690069135801_r8, 0.0012078881649382712_r8, & + 0.0011506897318518516_r8, 0.0008223834839506172_r8, & + 0.00092984664641975303_r8, 0.00086700880098765408_r8, & + 0.0012583932627160492_r8, 0.0019699114469135803_r8, & + 0.0023907502819753086_r8, 0.0028292377041975315_r8, & + 0.0032640271511111107_r8, 0.0039621309298765433_r8, & + 0.0046932206483950613_r8, 0.004984094141234568_r8, & + 0.0052134980395061722_r8, 0.0054079006014814811_r8, & + 0.005676623222222222_r8, 0.0058484958696296292_r8, & + 0.0059721931437037041_r8, 0.0060980907130864194_r8, & + 0.0062039082765432104_r8, 0.0062977166651851839_r8, & + 0.0064245294834567902_r8, 0.0065623715130864188_r8, & + 0.0067810420380246903_r8, 0.0069639346518518526_r8, & + 0.0071598533837037032_r8, 0.0076391849432098759_r8, & + 0.0080781715920987662_r8, 0.0084789581560493835_r8, & + 0.0088331964558024667_r8, 0.0091012719308641975_r8, & + 0.009282028963950615_r8, 0.0094360311456790098_r8, & + 0.0094982680701234563_r8, 0.0094858428730864221_r8, & + 0.0094226999446913578_r8, 0.009306962562469134_r8, & + 0.0089308414938271616_r8, 0.00943613284_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,31) / & + 0.00080059316444444455_r8, 0.00080248837679012348_r8, & + 0.00044918381580246917_r8, 0.00037337532197530862_r8, & + 0.00037977281925925918_r8, 0.00037712876691358023_r8, & + 0.00058048042913580239_r8, 0.0010191435051851853_r8, & + 0.0013642662958024694_r8, 0.0016708192039506171_r8, & + 0.0019732673595061726_r8, 0.0024010398982716053_r8, & + 0.0031087769027160501_r8, 0.0035021675160493825_r8, & + 0.0038716322291358026_r8, 0.0041865518064197523_r8, & + 0.004662342554567901_r8, 0.0050448981002469149_r8, & + 0.0053005483782716054_r8, 0.0054569727338271597_r8, & + 0.0056065835698765436_r8, 0.0057107832691358027_r8, & + 0.005819198660246913_r8, 0.0059098360350617286_r8, & + 0.0060056320854320984_r8, 0.0061385373180246911_r8, & + 0.0062806597540740732_r8, 0.006753233263703703_r8, & + 0.0073186906681481471_r8, 0.0077913751170370369_r8, & + 0.0082989129832098767_r8, 0.0087407378281481474_r8, & + 0.0090425018582716045_r8, 0.0092789411545679025_r8, & + 0.0094559331865432111_r8, 0.0095410004860493822_r8, & + 0.0095248414895679027_r8, 0.0094498601865925912_r8, & + 0.0092352994989629619_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,31) / & + 0.00056265618814814813_r8, 0.00055595360790123454_r8, & + 0.00030769003555555547_r8, 0.00029596745382716043_r8, & + 0.000296845722962963_r8, 0.00029863924098765427_r8, & + 0.00036636765876543205_r8, 0.0005243636538271604_r8, & + 0.0006871762617283951_r8, 0.00084566223851851858_r8, & + 0.00096336879259259251_r8, 0.0010841631560493828_r8, & + 0.0013093606074074074_r8, 0.0014944720064197529_r8, 0.00176346273037037_r8, & + 0.0019766047822222222_r8, 0.0024206021876543209_r8, & + 0.0029017827348148148_r8, 0.0033223257318518514_r8, & + 0.0036972079787654321_r8, 0.0040463985422222225_r8, 0.00433895461382716_r8, & + 0.0046270453802469127_r8, 0.0048828435772839511_r8, & + 0.0050804818676543203_r8, 0.0052619322711111114_r8, & + 0.0054213427417283931_r8, 0.0057391559846913564_r8, & + 0.0060930984464197526_r8, 0.0065110343708641967_r8, & + 0.0070792097871604934_r8, 0.0076756839595061742_r8, & + 0.0081326057886419757_r8, 0.0085033093234567897_r8, & + 0.0088695660429629637_r8, 0.0091457334804232807_r8, & + 0.0093213218005925927_r8, 0.009554674212_r8, 0.0095398471799999999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,31) / & + 0.00033056201283950611_r8, 0.00032074388839506163_r8, & + 0.00023427598074074072_r8, 0.00021936389530864193_r8, & + 0.00022175833432098766_r8, 0.00022773980938271604_r8, & + 0.00024478747555555555_r8, 0.0002871200479012346_r8, & + 0.00033794871851851847_r8, 0.00039114409333333326_r8, & + 0.0004227525372839506_r8, 0.00043211765975308635_r8, & + 0.00044580016839506162_r8, 0.00049198788000000011_r8, & + 0.00053989515012345683_r8, 0.00058977159209876542_r8, & + 0.00073221760098765424_r8, 0.00095149829185185177_r8, & + 0.0012442762419753084_r8, 0.0016041077293827159_r8, & + 0.0020268047970370372_r8, 0.0024775694972839508_r8, & + 0.0029482847743209878_r8, 0.0034274406799999994_r8, & + 0.0038722516400000002_r8, 0.0042657531925925918_r8, & + 0.0046377232839506163_r8, 0.0052761509861728399_r8, & + 0.0056091444177777767_r8, 0.0058978915748148153_r8, & + 0.0062916797204938257_r8, 0.0068232636711111115_r8, & + 0.0074426745353086418_r8, 0.007953688498271605_r8, & + 0.0084487549427160486_r8, 0.008800737477530865_r8, & + 0.0088545314620987661_r8, 0.0089148284683174591_r8, & + 0.0089784199908333334_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,31) / & + 0.00019200812296296297_r8, 0.00018691416197530862_r8, & + 0.00015709923604938271_r8, 0.00011986062469135802_r8, & + 0.0001226433511111111_r8, 0.00012915178765432098_r8, & + 0.00014056004148148147_r8, 0.0001671947086419753_r8, & + 0.00019254432938271601_r8, 0.00021720982469135801_r8, & + 0.00023479369728395056_r8, 0.00025059329679012342_r8, & + 0.00027757927160493821_r8, 0.00030796738370370366_r8, & + 0.00033226308148148151_r8, 0.0003581581535802469_r8, & + 0.00041115013975308648_r8, 0.00051068114518518519_r8, & + 0.00073745023604938279_r8, 0.0010390848370370371_r8, & + 0.0014943240874074075_r8, 0.0019861917832098759_r8, & + 0.0025740034483950616_r8, 0.0031616394597530858_r8, & + 0.0037322370498765441_r8, 0.0041764840686419752_r8, & + 0.0045981179683950617_r8, 0.0054967074785185191_r8, & + 0.0060848242266666663_r8, 0.0064666031975308636_r8, & + 0.0067354922271604944_r8, 0.006988637126913581_r8, & + 0.0073870569866666671_r8, 0.0078486105298765409_r8, & + 0.0083037850656790119_r8, 0.0086693946395061724_r8, & + 0.0088696492474074073_r8, 0.0089996746817283934_r8, & + 0.0090828700463227493_r8, 0.0091445530668941791_r8, & + 0.0091323177542857147_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,31) / & + 0.00013052003851851852_r8, 0.00012755241333333331_r8, & + 0.00011842765925925925_r8, 0.00012785749629629629_r8, & + 0.00012628585679012346_r8, 0.00011953705185185185_r8, & + 0.00012868029580246913_r8, 0.00011994382913580246_r8, & + 0.00012186677629629629_r8, 0.00013155547160493826_r8, & + 0.00014187282271604939_r8, 0.00015639662074074074_r8, & + 0.0001892438864197531_r8, 0.00022883071209876544_r8, & + 0.00026600460888888888_r8, 0.00031227552493827166_r8, & + 0.00038953547407407409_r8, 0.00052192299012345682_r8, & + 0.00081538506567901232_r8, 0.0012274134745679012_r8, & + 0.0017754441703703703_r8, 0.0024077054987654322_r8, & + 0.003100752296296297_r8, 0.0037323202543209878_r8, & + 0.0043128006834567897_r8, 0.0047241079871604939_r8, & + 0.0051180532967901237_r8, 0.0059640945777777775_r8, & + 0.0066097980464197518_r8, 0.0070632530237037042_r8, & + 0.0073663298350617286_r8, 0.0075261008582716048_r8, & + 0.0077660162513580253_r8, 0.0080640268365432064_r8, & + 0.0083657169071604948_r8, 0.0086158849367901236_r8, & + 0.0087991669936419749_r8, 0.0089777029303086415_r8, & + 0.0090797370027777772_r8, 0.0091249239498148137_r8, & + 0.009140441347580245_r8, 0.009149980274888888_r8, 0.0091495143300000005_r8, & + 0.0091448340800000007_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,31) / & + 0.00012444888755555557_r8, 0.00012224258303703702_r8, & + 0.00011932626725925925_r8, 0.00014265402000000001_r8, & + 0.00014079717414814817_r8, 0.00013992491422222222_r8, & + 0.00015396289074074074_r8, 0.00013355006703703707_r8, & + 0.00011776895740740742_r8, 0.00011996694148148146_r8, & + 0.0001259853962962963_r8, 0.00013655929444444446_r8, & + 0.00016982027111111107_r8, 0.00020631928740740739_r8, & + 0.00024907250444444447_r8, 0.0003078980466666667_r8, & + 0.00040982349111111106_r8, 0.00057680094370370354_r8, & + 0.00092035209481481468_r8, 0.0013993739488888887_r8, & + 0.0019967679925925923_r8, 0.0026785452103703701_r8, & + 0.0033914824925925921_r8, 0.0039913310674074077_r8, & + 0.004547788524444445_r8, 0.0049437723429629626_r8, & + 0.0053170690829629627_r8, 0.0061129473288888889_r8, & + 0.0067304768481481481_r8, 0.0071996667103703706_r8, & + 0.0075154553118518524_r8, 0.0076724898333333322_r8, & + 0.0078856734874074054_r8, 0.008152246660000001_r8, & + 0.0084143545274074083_r8, 0.0086313239837037033_r8, & + 0.0087712599918518507_r8, 0.0089247583244444449_r8, & + 0.0090210615257142867_r8, 0.0090651361085714276_r8, & + 0.0091180006466666658_r8, 0.0091311053466666663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,31) / & + 0.00029764285096902418_r8, 0.00028288464399199998_r8, & + 0.00030477206900159998_r8, 0.00033120216712639996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,31) / & + 0.00032740823936753161_r8, 0.00033297450734572553_r8, & + 0.00035133396023814324_r8, 0.00040866102428012993_r8, & + 0.00044232440469081934_r8, 0.0004727678616217926_r8, & + 0.00060982831180021334_r8, 0.00070566388550202688_r8, & + 0.0010052083476436401_r8, 0.0013240998111533114_r8, & + 0.0016190448781290623_r8, 0.001926743586499885_r8, & + 0.0024273462238685335_r8, 0.0028472198240653691_r8, & + 0.0032014545551428538_r8, 0.0034974226029572987_r8, & + 0.0042530212245962939_r8, 0.0051871266406784168_r8, & + 0.0061890974700903045_r8, 0.0071781700960261603_r8, & + 0.0078059345346440283_r8, 0.0082941701501364536_r8, & + 0.0087493497967673015_r8, 0.0090367930042593008_r8, & + 0.0092629474125598688_r8, 0.0094874628902914017_r8, & + 0.0096645754531032007_r8, 0.010082700860693067_r8, 0.010420908891964356_r8, & + 0.010651175635209202_r8, 0.0108152127739208_r8, 0.0109559086596932_r8, & + 0.0110782341149116_r8, 0.011124052129940403_r8, 0.011149338487291202_r8, & + 0.011099846386151602_r8, 0.011068724715566001_r8, 0.011035657940568802_r8, & + 0.011059431438932801_r8, 0.011069805329128003_r8, 0.011094875563766402_r8, & + 0.011100926999713601_r8, 0.011090553109518401_r8, 0.011090553109518401_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,19,31) / & + 0.00036578740206380246_r8, 0.00037015767520031604_r8, & + 0.00037459484027259257_r8, 0.00040597830680138267_r8, & + 0.00043183203997376783_r8, 0.00046312492367287894_r8, & + 0.00062320608561190391_r8, 0.00087109326556320964_r8, & + 0.0012584801931347582_r8, 0.0016418792862858663_r8, & + 0.001963962961568822_r8, 0.0023125676967166559_r8, & + 0.0028976210908003286_r8, 0.0033964923880622513_r8, & + 0.0037905792596997718_r8, 0.0041156967629859785_r8, & + 0.0049758326914883019_r8, 0.0058216169153560522_r8, & + 0.0067374115133254312_r8, 0.0075627757793026848_r8, & + 0.0082286275444281558_r8, 0.0088118025890656284_r8, & + 0.0092599815449246111_r8, 0.0096010049153029114_r8, & + 0.0098526662338298699_r8, 0.010065617348397319_r8, 0.010230153592891414_r8, & + 0.010595657142211137_r8, 0.01091948558215191_r8, 0.011121984194690338_r8, & + 0.011279125057886297_r8, 0.011431823460398395_r8, 0.011573839220769154_r8, & + 0.011612300530984349_r8, 0.011631284462353876_r8, 0.011571001449844296_r8, & + 0.011540890761659909_r8, 0.011514557078848426_r8, 0.011547771433402326_r8, & + 0.011559177344599108_r8, 0.011580628752249097_r8, 0.011587565804337369_r8, & + 0.011586661150631117_r8, 0.011583308610425596_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,31) / & + 0.00041759536328293519_r8, 0.00042597857213011117_r8, & + 0.00042304045817462965_r8, 0.0004286464144754445_r8, & + 0.0004299599926236913_r8, 0.00044185630268972834_r8, & + 0.00063868668853622225_r8, 0.0010817214335691234_r8, & + 0.00153456878173821_r8, 0.0019846567439520744_r8, 0.0023261289395693579_r8, & + 0.0026176590102361479_r8, 0.0031812081153323665_r8, & + 0.0036567958510745104_r8, 0.0040011575864869267_r8, & + 0.0042504665402980455_r8, 0.0051475914262265757_r8, & + 0.0060493381227541432_r8, 0.0070286567154499852_r8, & + 0.0078373230734174442_r8, 0.0085659778253594342_r8, & + 0.0092784461724835197_r8, 0.0097134389878322791_r8, & + 0.010068391550855878_r8, 0.010340042072344797_r8, 0.010550322459251679_r8, & + 0.010718754622608146_r8, 0.01106338541712011_r8, 0.011390492531350703_r8, & + 0.011607506541871763_r8, 0.011777407994449927_r8, 0.011927668547565452_r8, & + 0.012077189777050638_r8, 0.012113981589786934_r8, 0.012131212712699733_r8, & + 0.012065136535081936_r8, 0.012042061660443583_r8, 0.012012483266205553_r8, & + 0.012044586302427735_r8, 0.012057496566953778_r8, 0.012077165365421333_r8, & + 0.012081559458696_r8, 0.012080617867280001_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,31) / & + 0.00059148893387594775_r8, 0.00060866544461453886_r8, & + 0.00052905856122775026_r8, 0.00048571504285836866_r8, & + 0.00045774515808638303_r8, 0.00050080131404256175_r8, & + 0.0007692008740816797_r8, 0.0012378087402014747_r8, & + 0.0016127926715888629_r8, 0.0020454937780333025_r8, & + 0.0024284687948089457_r8, 0.0025986917614211243_r8, & + 0.0033951908297971001_r8, 0.0038540343357437875_r8, & + 0.0041514218560161293_r8, 0.0043425576350246018_r8, & + 0.004971160268660086_r8, 0.0057459699079838063_r8, & + 0.0066085296393193745_r8, 0.0073013795639811641_r8, & + 0.0079224043177923628_r8, 0.0086663722004536332_r8, & + 0.0090360839599079746_r8, 0.010347715442850052_r8, 0.010616543019239011_r8, & + 0.010838053006576705_r8, 0.011011730436915921_r8, 0.01135863978542655_r8, & + 0.011654693329850484_r8, 0.01186720231141381_r8, 0.012017756909368561_r8, & + 0.012137170300556293_r8, 0.012230529987867552_r8, 0.0124320849627648_r8, & + 0.0124480210567584_r8, 0.0123804133852704_r8, 0.012362062731580801_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,31) / & + 0.00070858075873175515_r8, 0.00069021854084668768_r8, & + 0.00057264710576290605_r8, 0.00055405201363379133_r8, & + 0.0005508728669728004_r8, 0.00062019646607823866_r8, & + 0.0008694652444362586_r8, 0.0012298499699666652_r8, & + 0.0015653550895752119_r8, 0.0018841078381112016_r8, & + 0.0023283725546098862_r8, 0.0025642790649947262_r8, & + 0.0037477043485836473_r8, 0.0042681853068547307_r8, & + 0.0047224254947132397_r8, 0.0050065392655372952_r8, & + 0.0055214814347905707_r8, 0.0061925842597820293_r8, & + 0.0062258586346313422_r8, 0.0062229509437411804_r8, & + 0.0061589302399157348_r8, 0.0061308305511676821_r8, & + 0.0064631794472981147_r8, 0.0083358719052923618_r8, & + 0.0083358719052923618_r8, 0.0083358719052923618_r8, & + 0.0083358719052923618_r8, 0.0083358719052923618_r8, & + 0.0083358719052923618_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,31) / & + 0.0007253090136148736_r8, 0.00069802490923153609_r8, & + 0.0005745879395497261_r8, 0.00062675499227944306_r8, & + 0.0006723598880792695_r8, 0.00073721954716594634_r8, & + 0.00093298465641835531_r8, 0.0011674155068004941_r8, & + 0.001408838087163715_r8, 0.0016245303119710641_r8, & + 0.0020897288822488776_r8, 0.0024486716247186665_r8, & + 0.0039688150667508805_r8, 0.0045548960647061702_r8, & + 0.0053909478239659954_r8, 0.0060746692318771221_r8, & + 0.0063043443331829473_r8, 0.0068303015149112408_r8, & + 0.0068092224529755089_r8, 0.0059497157047692555_r8, & + 0.0060358343866587626_r8, 0.0063007187100831766_r8, & + 0.0063524739141794543_r8, 0.0057252029589163356_r8, & + 0.005761021197586578_r8, 0.0057684366763154265_r8, & + 0.0056079029651779182_r8, 0.0048289035436004562_r8, & + 0.0048343614048779624_r8, 0.0047995776879868803_r8, & + 0.0047921637404159346_r8, 0.004831110273824951_r8, & + 0.0046556935899403169_r8, 0.0046183602225870141_r8, & + 0.0046397704997249737_r8, 0.0045430250427798882_r8, & + 0.0040526202329715768_r8, 0.0039354971214135602_r8, & + 0.0039004001950528511_r8, 0.0038881512105489761_r8, & + 0.0038881496155816911_r8, 0.0038881496155816911_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,24,31) / & + 0.00074432066566859168_r8, 0.00069661771308348014_r8, & + 0.00067475973008394939_r8, 0.00070609643533903112_r8, & + 0.00074803151812253199_r8, 0.00076888988104387905_r8, & + 0.00089572986664497882_r8, 0.0012264238848401108_r8, & + 0.0015886202482209592_r8, 0.0018366858436467037_r8, & + 0.0022659439038228324_r8, 0.0026494533020178135_r8, & + 0.0038464303096885275_r8, 0.004470786770685237_r8, & + 0.0052930616474562292_r8, 0.006162110290817817_r8, 0.007335287914955301_r8, & + 0.0085439114274101901_r8, 0.0093811817059475666_r8, & + 0.0098598045867218879_r8, 0.010463438585874382_r8, 0.011487338276438797_r8, & + 0.01198686629531942_r8, 0.011999339234923136_r8, 0.012361769639222716_r8, & + 0.012387326283379041_r8, 0.012526619153963895_r8, 0.009587151786687037_r8, & + 0.0096547522907122485_r8, 0.0095723088637246524_r8, & + 0.010135414822353053_r8, 0.010111310481345587_r8, 0.0093602887095001735_r8, & + 0.0092700914838752049_r8, 0.0092590909093152648_r8, & + 0.0086381948989867844_r8, 0.0082065674978452491_r8, & + 0.0069688667097164911_r8, 0.0068524983018197197_r8, & + 0.0051976413841082784_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,31) / & + 0.00068595733522064752_r8, 0.00061862954228300755_r8, & + 0.00067944471377660669_r8, 0.00069422075404288754_r8, & + 0.00073082594810304523_r8, 0.00072999112973688425_r8, & + 0.00080435679875746728_r8, 0.0011255266027353839_r8, & + 0.001580947342804601_r8, 0.0018587197627767745_r8, & + 0.0022151430895059783_r8, 0.0025977865187832489_r8, & + 0.0036246389616011064_r8, 0.0043255077096899701_r8, & + 0.0052053514291152394_r8, 0.0062068911018861037_r8, & + 0.0078030125048102706_r8, 0.0092268388542900339_r8, & + 0.010278613342781746_r8, 0.011085006755611969_r8, 0.012309063958883672_r8, & + 0.013919185633030521_r8, 0.014760145814218844_r8, 0.015690912964350399_r8, & + 0.016360123049772642_r8, 0.01647461351687771_r8, 0.016560052598618095_r8, & + 0.015557945335341624_r8, 0.01497682943184837_r8, 0.014390120712133903_r8, & + 0.014230064700678906_r8, 0.014138785590825062_r8, 0.014092985459505276_r8, & + 0.014080987589032614_r8, 0.014077672663190249_r8, 0.01403006461867525_r8, & + 0.013419118571577352_r8, 0.012445738351289492_r8, 0.012262333680526613_r8, & + 0.011440243655552055_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,31) / & + 0.0003903565155223278_r8, 0.00037402781868622561_r8, & + 0.00040659988334784003_r8, 0.00042921990916728226_r8, & + 0.00044417865582439771_r8, 0.00046442541214723228_r8, & + 0.00055500885492589761_r8, 0.00064302013505897031_r8, & + 0.00089925467435973249_r8, 0.00110823828858294_r8, & + 0.0013664844091271738_r8, 0.0016567894864100302_r8, & + 0.0023828266309286273_r8, 0.003165459449167672_r8, & + 0.0039336789285863089_r8, 0.0050217204495604613_r8, & + 0.0073250721348015841_r8, 0.0086331264992721164_r8, & + 0.0098502206160226077_r8, 0.010811271907458344_r8, 0.011901357025203821_r8, & + 0.013426939269548714_r8, 0.014233553114804211_r8, 0.014969910002758919_r8, & + 0.016253661889398845_r8, 0.016591504487701039_r8, 0.017056585543768623_r8, & + 0.017455453771933954_r8, 0.017265415766580031_r8, 0.016311517348229811_r8, & + 0.015816712802365861_r8, 0.014984071508423064_r8, 0.013042349486512089_r8, & + 0.012512877622104119_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,31) / & + 0.00028519539375533831_r8, 0.00032521189753979254_r8, & + 0.00031468746395312984_r8, 0.00024459186686195353_r8, & + 0.00024623209996420741_r8, 0.00027612172499136788_r8, & + 0.00034020909675494711_r8, 0.00045096188516551098_r8, & + 0.00060997364726965496_r8, 0.00079235478056559068_r8, & + 0.0010039702487888546_r8, 0.0013372089154934112_r8, & + 0.0020479601826352304_r8, 0.0028673559928803554_r8, & + 0.0036189562664619107_r8, 0.0044755620196699642_r8, & + 0.0068591334728936981_r8, 0.0083692029622811533_r8, & + 0.009611648115647884_r8, 0.01083165799260819_r8, 0.012003098695674855_r8, & + 0.013321314993740754_r8, 0.014225637235356399_r8, 0.014828727337836809_r8, & + 0.015992939771278584_r8, 0.016416035529695762_r8, 0.016942275462235021_r8, & + 0.017392571835505268_r8, 0.017581569912477016_r8, 0.016791074545042632_r8, & + 0.016313875985664_r8, 0.015491747618310178_r8, 0.013341061181745065_r8, & + 0.012945633763549867_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,31) / & + 0.00033116226539347041_r8, 0.00037424200573042996_r8, & + 0.00036925588461182626_r8, 0.00030421670166982375_r8, & + 0.00029951210497608603_r8, 0.00033931658434952703_r8, & + 0.00035082834274287474_r8, 0.00051501405378195496_r8, & + 0.0006754556727085843_r8, 0.00085629131224738736_r8, & + 0.00108420699403578_r8, 0.0013805324123614777_r8, 0.002127026672823299_r8, & + 0.0029159006785649099_r8, 0.0037512196035838609_r8, & + 0.004653773365573953_r8, 0.0068749596391774878_r8, & + 0.0086093574505391717_r8, 0.01000036721520752_r8, 0.011160168193269612_r8, & + 0.012405583715742984_r8, 0.013673336895288324_r8, 0.014587447186547272_r8, & + 0.015194733262300511_r8, 0.016239978952827167_r8, 0.016686525546277944_r8, & + 0.017221411472946306_r8, 0.017723168456641767_r8, 0.01795055941087003_r8, & + 0.017373383388165992_r8, 0.016961013996947657_r8, 0.016327154135788436_r8, & + 0.014682514566544002_r8, 0.014740727239028672_r8, 0.017557825098678828_r8, & + 0.017696726928056801_r8, 0.017624198109733067_r8, 0.017604999304882671_r8, & + 0.017557256245201779_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,29,31) / & + 0.00054081240631193906_r8, 0.00056245575591416623_r8, & + 0.00054580099595071105_r8, 0.00047401682082253473_r8, & + 0.00049499464617239533_r8, 0.00053500907010459674_r8, & + 0.00062983158505017136_r8, 0.00061920028669155546_r8, & + 0.00057384804947711995_r8, 0.00058897243485813333_r8, & + 0.00065204300460053332_r8, 0.00070413113682559999_r8, & + 0.00096938315152995556_r8, 0.0014279260665393777_r8, & + 0.0020893825890119107_r8, 0.0029742532689799113_r8, & + 0.0051109126366378661_r8, 0.0073023795972394666_r8, & + 0.0092898870039477329_r8, 0.011001264553077334_r8, 0.012584618259147733_r8, & + 0.013869249664746666_r8, 0.014734038173254398_r8, 0.015365371438536533_r8, & + 0.016207567504151466_r8, 0.016655650954858665_r8, 0.017069845741226667_r8, & + 0.017671055749318397_r8, 0.018078974857105065_r8, 0.018230846278773333_r8, & + 0.018234611685922133_r8, 0.018186916528703998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,31) / & + 0.001097154101716751_r8, 0.0011678595156854998_r8, & + 0.00083224265407199998_r8, 0.00077090591851200008_r8, & + 0.00077348851790399998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,31) / & + 0.0010700629459098338_r8, 0.0010654488954170878_r8, & + 0.0011665529538398575_r8, 0.0011563536079313066_r8, & + 0.0013360921896255998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,31) / & + 0.0010353837002811225_r8, 0.0010477773997692001_r8, & + 0.0011060156642214223_r8, 0.0012844236158116443_r8, & + 0.0012493102036833779_r8, 0.0013213551981472_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,31) / & + 0.0010463199713059168_r8, 0.0010776062604981333_r8, 0.0011114345583488_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,31) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,31) / & + 0.0024534634443379518_r8, 0.0023776231825992688_r8, & + 0.0019707480546595551_r8, 0.002217250630454597_r8, & + 0.0022486919688177774_r8, 0.0021451264349744001_r8, & + 0.0019361656862446933_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,31) / & + 0.0016068416337715952_r8, 0.0017558228823801867_r8, & + 0.0017113474893448799_r8, 0.0019193996000138947_r8, & + 0.0020096921520231319_r8, 0.0021573564236870564_r8, & + 0.0020304122754939255_r8, 0.0020748435264847406_r8, & + 0.002101310487506607_r8, 0.0021355768911484442_r8, & + 0.0020546416915018665_r8, 0.0019492213564171849_r8, & + 0.001881199987993837_r8, 0.0019005068049711407_r8, & + 0.0019593862037661633_r8, 0.0019437873185262219_r8, & + 0.0020240320757113598_r8, 0.0020819269547002546_r8, & + 0.0021151832665929483_r8, 0.002196220754011591_r8, & + 0.0023068449795000884_r8, 0.0025313922111261863_r8, & + 0.0023329283613767108_r8, 0.0025475025352264531_r8, & + 0.0030315410586104173_r8, 0.0034375979417661856_r8, & + 0.0036756088013903637_r8, 0.0037512697877898301_r8, & + 0.0037944991574588795_r8, 0.0038637927300472891_r8, & + 0.0039327410814049757_r8, 0.0039671353447618954_r8, & + 0.0039754142613134223_r8, 0.0039842365816540439_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,31) / & + 0.0013397135433789102_r8, 0.0015287768236429695_r8, & + 0.0013965509386983769_r8, 0.0015500031348579554_r8, & + 0.0016077176504755621_r8, 0.0020673286867008787_r8, & + 0.0020266741608820937_r8, 0.0020583820596598522_r8, & + 0.0020561892589145018_r8, 0.0020781172663679997_r8, & + 0.0020961420884947754_r8, 0.0020354015078485857_r8, & + 0.0020077283624422714_r8, 0.002054829722452385_r8, & + 0.0020795206588450237_r8, 0.0020926774633171228_r8, & + 0.0021738110908950652_r8, 0.0022063083979411489_r8, & + 0.0022799426469699946_r8, 0.0024252376243568729_r8, & + 0.0025480344660964607_r8, 0.0027422727561195459_r8, & + 0.0026720592762534451_r8, 0.0029379144386196539_r8, & + 0.003328890811515522_r8, 0.0036005788238643627_r8, & + 0.0037828882778327441_r8, 0.0038539788779969847_r8, & + 0.0038855552087300217_r8, 0.0039387525548122068_r8, & + 0.0039960723662956507_r8, 0.0040327156330366926_r8, & + 0.0040667682623257281_r8, 0.0040812708199409733_r8, & + 0.0040920161701076862_r8, 0.0040495164024616885_r8, & + 0.0041207111606613332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,31) / & + 0.0017716695828746006_r8, 0.0022022091903392662_r8, & + 0.0018918851875562935_r8, 0.0024187866656904164_r8, & + 0.0021761459422124773_r8, 0.0026160196195080163_r8, & + 0.0021487750224668711_r8, 0.0020543070210384596_r8, & + 0.0020042998546498637_r8, 0.0020677895663497219_r8, & + 0.0021219903003434929_r8, 0.0021387194786394079_r8, & + 0.0022059067445717858_r8, 0.0022309779659532643_r8, & + 0.0022802636583452709_r8, 0.0023413634874314272_r8, & + 0.0023952936686764776_r8, 0.0024189219420647774_r8, & + 0.0025053635452811328_r8, 0.0026632310741598287_r8, & + 0.0027823193757218504_r8, 0.00291096720773868_r8, 0.0029763507886795856_r8, & + 0.00319229697428372_r8, 0.0034524785343037368_r8, 0.0036728437481369819_r8, & + 0.0038615091982450835_r8, 0.0041432898860379918_r8, & + 0.0040592381654353388_r8, 0.0040007987717116051_r8, & + 0.0040407053021479502_r8, 0.0040361960896692674_r8, & + 0.0040959375184962199_r8, 0.0040953456843583948_r8, & + 0.0040944156592846647_r8, 0.0041143439627909012_r8, & + 0.0042330513969417788_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,31) / & + 0.0021999888796159998_r8, 0.0030175432367786663_r8, & + 0.0028035067926186663_r8, 0.0038427417526613336_r8, & + 0.0036709103302826666_r8, 0.0040482074734080001_r8, & + 0.0030207398849706659_r8, 0.0023096478110720001_r8, & + 0.0021871096303786664_r8, 0.0022273688663039999_r8, & + 0.0022705931092479995_r8, 0.0022966295771306663_r8, & + 0.0023366571718826663_r8, 0.0023868306500266665_r8, & + 0.0024440923480746665_r8, 0.0025049213201919986_r8, & + 0.0025295679410346664_r8, 0.0025525467454293334_r8, & + 0.0026347793619626667_r8, 0.0027625063049386655_r8, & + 0.0028645210776746663_r8, 0.0029943327912106662_r8, & + 0.0031256733364906663_r8, 0.0032967171788799996_r8, & + 0.0035030168078506664_r8, 0.0036846234877439994_r8, & + 0.0039083888611839996_r8, 0.004251634751829333_r8, & + 0.0042370413579093337_r8, 0.0041379452639573322_r8, & + 0.0041687535400106663_r8, 0.0041739886305279996_r8, & + 0.0042135066146986658_r8, 0.0042135529429333327_r8, & + 0.0042246253910186663_r8, 0.0042435273107626651_r8, & + 0.0043582823480319997_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,32) / & + 0.0028923196159999997_r8, 0.0028969929322962967_r8, & + 0.0039627392468148141_r8, 0.0032736039826666663_r8, & + 0.0034436988284444444_r8, 0.0031342309912592587_r8, & + 0.0042073658604444442_r8, 0.0048135407465185196_r8, & + 0.0051480420275555553_r8, 0.0053374985475555551_r8, & + 0.005395292354666667_r8, 0.0054053101697777777_r8, & + 0.0058661712671111109_r8, 0.0060717819300000007_r8, & + 0.0061488001239999998_r8, 0.0064114848755555546_r8, & + 0.0066776836281481483_r8, 0.006888364215185184_r8, 0.007231055587037038_r8, & + 0.0075629997181481485_r8, 0.0076692795285185191_r8, & + 0.0079249529188888876_r8, 0.0080635160537037027_r8, & + 0.0082683099262962946_r8, 0.0084440723814814805_r8, & + 0.0085603991285185168_r8, 0.0086787505170370371_r8, & + 0.0089594060418518515_r8, 0.0090602498285185188_r8, & + 0.0092023699533333343_r8, 0.0093272598244444442_r8, & + 0.0093989404533333324_r8, 0.009460844559999999_r8, & + 0.0094158309555555549_r8, 0.0093363231657142848_r8, & + 0.0092751322399999992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,32) / & + 0.0018473143204938271_r8, 0.0018518258503703701_r8, & + 0.0025474889654320981_r8, 0.0020438894429629629_r8, & + 0.0022906645802469134_r8, 0.0021479319782716048_r8, & + 0.0028546150597530862_r8, 0.0036386597846913577_r8, & + 0.0042119846316049387_r8, 0.0046804164088888886_r8, & + 0.0049203595367901237_r8, 0.0052149310049382711_r8, & + 0.0057164226814814811_r8, 0.0059733857407407416_r8, & + 0.0060872186656790112_r8, 0.006223868098271604_r8, & + 0.0064167544903703687_r8, 0.0065778845195061716_r8, & + 0.0067680713896296303_r8, 0.0069795678424691334_r8, & + 0.0071069723367901232_r8, 0.0072946908083950613_r8, & + 0.0074440335412345668_r8, 0.0076210186395061739_r8, & + 0.0077998434804938278_r8, 0.0079412817911111103_r8, & + 0.008081092992592593_r8, 0.008393414742222223_r8, 0.0086540665318518492_r8, & + 0.0089610724419753093_r8, 0.0091993145012345661_r8, & + 0.0093462812849382706_r8, 0.0094575718518518492_r8, & + 0.009491861327901233_r8, 0.0094423177037037051_r8, 0.009378934241825395_r8, & + 0.0092902457330158728_r8, 0.0091307281531851862_r8, & + 0.0087739918711111104_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,32) / & + 0.0010393621851851849_r8, 0.0010577041427160493_r8, & + 0.0010414053165432099_r8, 0.00064423352345679009_r8, & + 0.0007596843125925926_r8, 0.00078479356493827161_r8, & + 0.001272722917037037_r8, 0.0020002255995061726_r8, & + 0.0024954584528395058_r8, 0.0030238159200000002_r8, & + 0.0034844819491358027_r8, 0.0040234341155555549_r8, & + 0.0046656522424691352_r8, 0.0049916749906172833_r8, & + 0.0052380433506172839_r8, 0.005451998957037036_r8, 0.005759032601975308_r8, & + 0.0059470931362962951_r8, 0.0060909536207407414_r8, & + 0.0062218157219753063_r8, 0.0063280123279012349_r8, & + 0.0064208315081481478_r8, 0.0065400634770370362_r8, & + 0.0066768515837037027_r8, 0.0068643019520987659_r8, & + 0.0070286769545679015_r8, 0.0072099239693827139_r8, & + 0.0076223129308641982_r8, 0.0080354599772839517_r8, & + 0.0084535623106172849_r8, 0.0088150301520987639_r8, & + 0.0090961409901234563_r8, 0.009295387899753085_r8, & + 0.0094656519279012336_r8, 0.009541747014814814_r8, & + 0.0095267055002469132_r8, 0.0094319263930864195_r8, & + 0.0093374153891358017_r8, 0.0090858051491358015_r8, & + 0.0094345796903703687_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,32) / & + 0.00066974030814814821_r8, 0.00067088668049382696_r8, & + 0.00056860992839506165_r8, 0.00028588122617283955_r8, & + 0.00029797360543209876_r8, 0.00030748664691358026_r8, & + 0.00054085662370370363_r8, 0.0010025211061728395_r8, & + 0.0013088521358024692_r8, 0.0015842311120987653_r8, & + 0.0018881492128395064_r8, 0.0022624028039506172_r8, & + 0.0027846955916049384_r8, 0.0032184033807407409_r8, & + 0.0035969928479012338_r8, 0.0039209354849382714_r8, & + 0.0044440325822222224_r8, 0.0048421935837037033_r8, & + 0.0051308945160493816_r8, 0.0053498238992592591_r8, & + 0.0055438196839506177_r8, 0.0056705770325925914_r8, & + 0.0058014483787654321_r8, 0.0059276232962962956_r8, & + 0.0060230772839506182_r8, 0.0061527652780246902_r8, & + 0.0062897660182716052_r8, 0.0066952859906172831_r8, & + 0.0071865897451851846_r8, 0.007626269764444445_r8, & + 0.0080992685412345673_r8, 0.0085280025535802474_r8, & + 0.0088666816222222229_r8, 0.0091564549674074073_r8, & + 0.0093735630977777769_r8, 0.0095409704399999976_r8, & + 0.0095616606118518518_r8, 0.0095012160498148153_r8, & + 0.0093982145605908292_r8, 0.0095355899354523811_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,32) / & + 0.00045578470172839505_r8, 0.00045470304395061727_r8, & + 0.00039080203061728393_r8, 0.00024264264987654318_r8, & + 0.00024342846962962961_r8, 0.00024709871012345679_r8, & + 0.00027631271506172844_r8, 0.00040211783506172833_r8, & + 0.00052034210567901233_r8, 0.000651139492345679_r8, & + 0.00076358567654320969_r8, 0.00086907042222222224_r8, & + 0.00099842559851851843_r8, 0.0011666002706172841_r8, & + 0.001428250513580247_r8, 0.0015982002138271603_r8, & + 0.0019591041140740737_r8, 0.0023545840834567899_r8, & + 0.0027014449224691357_r8, 0.0031345980153086417_r8, & + 0.0035382874898765427_r8, 0.0039146489269135795_r8, & + 0.0042540768355555552_r8, 0.0046001518548148147_r8, & + 0.0048345665096296295_r8, 0.0050681306301234566_r8, & + 0.005278517690370371_r8, 0.0056421211125925923_r8, & + 0.0059549143540740734_r8, 0.006315272802962962_r8, & + 0.0068150079412345682_r8, 0.0073860215535802472_r8, & + 0.0079090816711111095_r8, 0.0083831528607407405_r8, & + 0.0088296729787037034_r8, 0.0091732419593386245_r8, & + 0.0094225455542222211_r8, 0.0095699349471666667_r8, & + 0.009632079306666666_r8, 0.0096585383199999982_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,32) / & + 0.00027182892000000001_r8, 0.00026978578864197527_r8, & + 0.00027896601234567902_r8, 0.00019817449679012346_r8, & + 0.00019886786716049383_r8, 0.00020215906518518517_r8, & + 0.00019518838172839504_r8, 0.0002297089812345679_r8, & + 0.00027034972987654323_r8, 0.00032097501185185184_r8, & + 0.00035066975358024694_r8, 0.00037225668444444449_r8, & + 0.00040014866320987647_r8, 0.00043608373827160496_r8, & + 0.00048107885283950623_r8, 0.00052393838666666662_r8, & + 0.00063665267407407415_r8, 0.00077079672839506174_r8, & + 0.00097205903456790111_r8, 0.0012889385387654319_r8, & + 0.0016817282311111111_r8, 0.0021181170523456791_r8, & + 0.0026549798627160492_r8, 0.0031751832943209871_r8, & + 0.0036507521639506171_r8, 0.0040689931713580249_r8, & + 0.0044756595160493828_r8, 0.005252567148641976_r8, & + 0.0056330703180246921_r8, 0.0059113522049382703_r8, & + 0.0062587122706172843_r8, 0.006717566291851852_r8, 0.00726415477728395_r8, & + 0.0078118619002469133_r8, 0.0083282471723456764_r8, & + 0.008741421953580247_r8, 0.0088752990603086432_r8, & + 0.0089073128948024671_r8, 0.008935485754603175_r8, & + 0.0090452383599999991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,32) / & + 0.0001729912849382716_r8, 0.00017025478320987654_r8, & + 0.00018518535851851851_r8, 0.00012327200691358023_r8, & + 0.00012474195209876543_r8, 0.00012861558123456788_r8, & + 0.00012537060790123456_r8, 0.00014794674716049383_r8, & + 0.0001819588750617284_r8, 0.00021150569777777777_r8, & + 0.00022908957037037032_r8, 0.00025428202716049384_r8, & + 0.00029373942370370369_r8, 0.00032958204938271599_r8, & + 0.00037133219061728394_r8, 0.00041227802222222219_r8, & + 0.00047659505777777769_r8, 0.00054201224098765434_r8, & + 0.00071574312098765427_r8, 0.0010070788607407406_r8, & + 0.0014476279041975306_r8, 0.0019187499585185184_r8, & + 0.0025480713965432096_r8, 0.0031631001599999996_r8, & + 0.0037241939535802471_r8, 0.0041708908809876535_r8, & + 0.0045956773046913584_r8, 0.0054856967570370363_r8, & + 0.0060905375985185186_r8, 0.0064651979669135811_r8, & + 0.0067384043827160506_r8, 0.0069828313056790126_r8, & + 0.0073373377086419752_r8, 0.00773557266962963_r8, 0.0081286397101234566_r8, & + 0.0084841445664197521_r8, 0.0087550674824691359_r8, & + 0.0088875936725925937_r8, 0.0089651309698765436_r8, & + 0.0090484636878395072_r8, 0.0090865285655555555_r8, & + 0.0091032199714285705_r8, 0.0091545689999999996_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,32) / & + 0.00012104397679012345_r8, 0.00011788220790123455_r8, & + 0.00012574040543209875_r8, 0.00013077889679012343_r8, & + 0.00012808861975308641_r8, 0.00011823351555555554_r8, & + 0.00012701620691358024_r8, 0.00010847086074074072_r8, & + 0.00011508099160493826_r8, 0.00012765410765432097_r8, & + 0.00013660320790123459_r8, 0.00016004837135802466_r8, & + 0.00019851655950617285_r8, 0.0002335826103703704_r8, & + 0.00027920638074074069_r8, 0.00033911358074074075_r8, & + 0.00043563073629629629_r8, 0.00056407990864197535_r8, & + 0.00081437736740740748_r8, 0.0011887696325925926_r8, & + 0.001714630966419753_r8, 0.0022795244296296298_r8, & + 0.0029742722958024689_r8, 0.0036100929254320991_r8, & + 0.0041549341175308643_r8, 0.0045761335051851849_r8, & + 0.0049689971570370372_r8, 0.0058396299738271611_r8, & + 0.0064754875832098765_r8, 0.006906643769382716_r8, & + 0.0072198437881481467_r8, 0.0074092633283950613_r8, & + 0.0076623435135802463_r8, 0.0079530136177777752_r8, & + 0.0082264788918518499_r8, 0.0084620953886419738_r8, & + 0.0086687567387654322_r8, 0.0088626230943209885_r8, & + 0.008977981434074073_r8, 0.0090452568498765422_r8, & + 0.0090831333619753093_r8, 0.0091160222298765445_r8, & + 0.0091705717900423256_r8, 0.0091564410999999991_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,32) / & + 0.0001070143820518682_r8, 0.00010594164373544973_r8, & + 0.00011233224033333332_r8, 0.00014026466570370369_r8, & + 0.00014287629473015874_r8, 0.00013917785717460317_r8, & + 0.00015382282992592591_r8, 0.00011838744377777778_r8, & + 0.00011032215962962963_r8, 0.00010970922022222222_r8, & + 0.00011336466881481479_r8, 0.0001267897059259259_r8, & + 0.00015623437207407407_r8, 0.00018260463399999996_r8, & + 0.00022909511733333333_r8, 0.00030037775162962963_r8, & + 0.00042608996000000001_r8, 0.00060335841562962969_r8, & + 0.00091243241844444448_r8, 0.0013388524227407408_r8, & + 0.0019220725893333331_r8, 0.0025679665037037034_r8, & + 0.0032668630359259259_r8, 0.0038684173018518511_r8, & + 0.0043616671159259256_r8, 0.004772981353333333_r8, & + 0.0051279800492592589_r8, 0.0059958648081481483_r8, & + 0.0065711611381481473_r8, 0.0070310806385185179_r8, & + 0.0073648691348148143_r8, 0.0075564751029629619_r8, & + 0.0077838797833333336_r8, 0.0080624066611111114_r8, & + 0.0083083936674074061_r8, 0.0085121821529629618_r8, & + 0.0086770378922222235_r8, 0.0088414637418518498_r8, & + 0.0089671093866666666_r8, 0.0090265866970370371_r8, & + 0.0090786449444444448_r8, 0.009112353145_r8, 0.0092129785199999998_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,32) / & + 0.00038392759039777337_r8, 0.00039342498292601783_r8, & + 0.00039023116950944007_r8, 0.00038048403518020006_r8, & + 0.00043818879939100001_r8, 0.00046077362283679997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,32) / & + 0.00040453412597697111_r8, 0.00040619347586142015_r8, & + 0.00038643949089804864_r8, 0.00040406913928477659_r8, & + 0.00043629512567115258_r8, 0.00046544182341876886_r8, & + 0.00056449531230915036_r8, 0.00079173824161392087_r8, & + 0.0012488137396080322_r8, 0.001723592468255829_r8, & + 0.0020553276385270182_r8, 0.0023804164260607997_r8, & + 0.0030264106630806657_r8, 0.0035122129284845859_r8, & + 0.0038870151337580439_r8, 0.0041943250481450657_r8, & + 0.0051123792397778653_r8, 0.0059151451801231986_r8, & + 0.0068012542916831989_r8, 0.0075376843354815985_r8, & + 0.0082300158706282676_r8, 0.0088566511633637324_r8, & + 0.009302527722683732_r8, 0.0096508005862335992_r8, & + 0.0099230674877727968_r8, 0.010122639578121598_r8, 0.010280671776361598_r8, & + 0.010619312201161598_r8, 0.010938537241606398_r8, 0.011136303249689597_r8, & + 0.011277177666406398_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,20,32) / & + 0.00040347918712186422_r8, 0.00040714383766376539_r8, & + 0.00039130679315298769_r8, 0.00041231968430541975_r8, & + 0.00042935696725696288_r8, 0.00045384270329248153_r8, & + 0.0006025385872154938_r8, 0.00099961055197266306_r8, & + 0.0014868822415157268_r8, 0.0019924162792441663_r8, & + 0.0023199172178209747_r8, 0.0026018584586201968_r8, & + 0.0031747918008812478_r8, 0.0036433968142494991_r8, & + 0.0039731304205145633_r8, 0.0042510692750501395_r8, & + 0.005112630402655304_r8, 0.0059474839623109245_r8, & + 0.0069638183070771858_r8, 0.0077697846890240046_r8, & + 0.0085517350097011439_r8, 0.0092035417034968155_r8, & + 0.009678563612545453_r8, 0.010033299958280935_r8, 0.010339548082566286_r8, & + 0.010503577541903874_r8, 0.010686004153100904_r8, 0.010995735418330682_r8, & + 0.011274831396550167_r8, 0.011489985035106169_r8, 0.011708442090213302_r8, & + 0.011792510510471832_r8, 0.012003351324059906_r8, 0.012109022541662668_r8, & + 0.012107924018344001_r8, 0.012107924018344001_r8, 0.012107924018344001_r8, & + 0.012107924018344001_r8, 0.012107924018344001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,32) / & + 0.00052427223958697558_r8, 0.00053930723863935236_r8, & + 0.00048114424302749632_r8, 0.00046823380099863708_r8, & + 0.00045539043007244452_r8, 0.00049176651712715851_r8, & + 0.00071986758685796143_r8, 0.0011954505921461275_r8, & + 0.0015292116017987317_r8, 0.0019794715396578605_r8, & + 0.0023513065785909096_r8, 0.0025943019045205572_r8, & + 0.0033565956899875558_r8, 0.0038199118377386728_r8, & + 0.0041406002423408604_r8, 0.0043709370154938849_r8, & + 0.005176587946474933_r8, 0.0061071345115287935_r8, & + 0.0071638030685060019_r8, 0.0079783801199237205_r8, & + 0.0087618716528650737_r8, 0.0095118201395435233_r8, & + 0.0099680201497637753_r8, 0.010322489479472986_r8, 0.010610867498217217_r8, & + 0.010807048812708961_r8, 0.010993690913008421_r8, 0.011322419929152769_r8, & + 0.011634259930627727_r8, 0.011837282455006641_r8, 0.012032680166095103_r8, & + 0.012118567321380429_r8, 0.012286289938184104_r8, 0.01241963359112133_r8, & + 0.012419472636395094_r8, 0.012419431021606066_r8, 0.0124194078955351_r8, & + 0.012419394144036131_r8, 0.012419436748061733_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,32) / & + 0.00060090466546046601_r8, 0.00062067117328880479_r8, & + 0.00053664932239934251_r8, 0.00050267870891542821_r8, & + 0.00047911034636347115_r8, 0.00052486955905924634_r8, & + 0.00078920151070517857_r8, 0.001239064458836633_r8, & + 0.001420549730537827_r8, 0.0018156799755059245_r8, & + 0.0022209996152551641_r8, 0.0024809609912913337_r8, & + 0.0036478748580307261_r8, 0.0041883577117539633_r8, & + 0.0046681558865549685_r8, 0.0050309247511843239_r8, & + 0.0058939511291120419_r8, 0.006978320075718367_r8, & + 0.0078761127515612761_r8, 0.008468750015792963_r8, & + 0.0092008617166633808_r8, 0.0099697887998420609_r8, & + 0.010421748289801315_r8, 0.010376329103974657_r8, 0.010640196737135586_r8, & + 0.010847974110858074_r8, 0.011030896504290172_r8, 0.011224049410887865_r8, & + 0.011360408315401587_r8, 0.011810092655732752_r8, 0.011946776875900905_r8, & + 0.011963703624161199_r8, 0.012076920365133371_r8, 0.012438224903513545_r8, & + 0.012790748523373098_r8, 0.012884251821484781_r8, 0.012884254345532356_r8, & + 0.012884392195376548_r8, 0.012884379988035191_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,32) / & + 0.00055564651105613732_r8, 0.00054837441306310913_r8, & + 0.00044575209686439676_r8, 0.0004886289578894448_r8, & + 0.00052392520489910025_r8, 0.00057425863269612684_r8, & + 0.00074040641195082402_r8, 0.00095306092175185782_r8, & + 0.0011526575137932697_r8, 0.0013863815165489259_r8, & + 0.0018070280076587044_r8, 0.0022047960216589903_r8, & + 0.0035593495788858774_r8, 0.0042652021963319056_r8, & + 0.0049426191574851843_r8, 0.0055044911465267285_r8, & + 0.0065661106573935667_r8, 0.0077007540296869827_r8, & + 0.0085937568605926624_r8, 0.0093135256273571519_r8, & + 0.010468630275922623_r8, 0.01176512330210084_r8, 0.012467405127407698_r8, & + 0.012531606904963188_r8, 0.013023950984790235_r8, 0.013275961698709341_r8, & + 0.013220380991529839_r8, 0.01023757548063141_r8, 0.0097960874747642524_r8, & + 0.0081408060748807114_r8, 0.0065987043410915295_r8, & + 0.0064585089826901636_r8, 0.0062821771004111628_r8, & + 0.0060521981594210666_r8, 0.0060320206143961086_r8, & + 0.0057090194621023738_r8, 0.005962389175359956_r8, & + 0.0060819590071303827_r8, 0.006682284059370742_r8, & + 0.0070857353839974433_r8, 0.0038881496155816911_r8, & + 0.0038881496155816911_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,32) / & + 0.00055553382507056751_r8, 0.00053166200443934832_r8, & + 0.00045353208555798776_r8, 0.00049417007083244402_r8, & + 0.00052882855068719491_r8, 0.00056445121477771503_r8, & + 0.00072508658214115256_r8, 0.00094232404046015522_r8, & + 0.0012061251315771729_r8, 0.0014461960641781819_r8, & + 0.0018730699121961337_r8, 0.0023272038135593504_r8, & + 0.0036260989580916211_r8, 0.004343811697934458_r8, & + 0.0050726355064892445_r8, 0.0057283991604996859_r8, & + 0.0068070257413704403_r8, 0.0080284587365062766_r8, & + 0.0089437483867849683_r8, 0.0098005655565854433_r8, & + 0.011030329899307823_r8, 0.0125262538542616_r8, 0.013372130339565113_r8, & + 0.014298787416457201_r8, 0.014920118253776697_r8, 0.015174746734127253_r8, & + 0.01530547505333928_r8, 0.010585099655256542_r8, 0.00948324688614763_r8, & + 0.0095103534005580425_r8, 0.0094549898719739067_r8, & + 0.0094738609389293949_r8, 0.0092558106938837696_r8, & + 0.0081570639458902906_r8, 0.0087462945705714425_r8, & + 0.008630974253021402_r8, 0.0086002217407256665_r8, & + 0.0085816924238878208_r8, 0.0085348457734372024_r8, & + 0.0085273470714313168_r8, 0.015583326255876594_r8, 0.015596912128051917_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,32) / & + 0.0004359428362906733_r8, 0.000408550315808428_r8, & + 0.00042640127855056133_r8, 0.00042938454237647505_r8, & + 0.00044132592138231447_r8, 0.00044145342091460077_r8, & + 0.0005320811068932319_r8, 0.00071882121103469495_r8, & + 0.00098201006411286775_r8, 0.0011024772921271531_r8, & + 0.0013834883177304919_r8, 0.0018237089493886001_r8, & + 0.0027572493612362465_r8, 0.0035441755931748566_r8, & + 0.0045017000184231111_r8, 0.005531445290490794_r8, & + 0.0070314866887276947_r8, 0.0082365079768068564_r8, & + 0.009043549169518857_r8, 0.0099304708756523686_r8, 0.011011993590270478_r8, & + 0.01233352906268537_r8, 0.01278998808177991_r8, 0.013679112239511468_r8, & + 0.014369519739109547_r8, 0.014784483829777066_r8, 0.015732204304814576_r8, & + 0.013437618418714707_r8, 0.013549154293902773_r8, 0.013748438655039977_r8, & + 0.014324322433348437_r8, 0.014417395670946468_r8, 0.014464066943669541_r8, & + 0.014459282846858934_r8, 0.014422378213219001_r8, 0.014419707423087558_r8, & + 0.014592177021134309_r8, 0.014280009794938609_r8, 0.016118614258293334_r8, & + 0.016100846581536002_r8, 0.016077526505792_r8, 0.016116393298698666_r8, & + 0.016096404662346665_r8, 0.016126387616874665_r8, 0.01614082385424_r8 & + / +data delta_sa_ref(:,26,32) / & + 0.00021166561858577512_r8, 0.00021002944637366582_r8, & + 0.0002222422137491411_r8, 0.00020097065718992463_r8, & + 0.00020330115505357826_r8, 0.00020149969072093103_r8, & + 0.00023937189884484745_r8, 0.00029665474359207765_r8, & + 0.00035424032656404682_r8, 0.00039306281319033279_r8, & + 0.00052972232619243184_r8, 0.00062897435547973281_r8, & + 0.00099038990153799697_r8, 0.0014544898245918978_r8, & + 0.0022924437496959767_r8, 0.0033272184724437203_r8, & + 0.0054023001708186393_r8, 0.0069059958267900243_r8, & + 0.0081189447352829416_r8, 0.0094243822442904718_r8, & + 0.010705443967113037_r8, 0.012039282143746983_r8, 0.013060575712916472_r8, & + 0.013706267356080557_r8, 0.0142106336369966_r8, 0.014648200081488221_r8, & + 0.015003367430111185_r8, 0.015705842460620661_r8, 0.016278292990886897_r8, & + 0.016601626186631677_r8, 0.016742414533585648_r8, 0.016748363316950898_r8, & + 0.016674206292001625_r8, 0.016644965453757141_r8, 0.016563634966186281_r8, & + 0.016531555103927294_r8, 0.016521647783181277_r8, 0.016522884292889291_r8, & + 0.016559850131687221_r8, 0.016534774351833148_r8, 0.016513795502893495_r8, & + 0.016551616592343561_r8, 0.016573302492777334_r8, 0.016601108604371199_r8, & + 0.016627481411243733_r8 & + / +data delta_sa_ref(:,27,32) / & + 0.00017896903539926914_r8, 0.00017872079179599013_r8, & + 0.00017678449169041379_r8, 0.00017660049937268937_r8, & + 0.00018118862526388148_r8, 0.00018264888175375802_r8, & + 0.00019535895424164343_r8, 0.00020585235737789629_r8, & + 0.00021711093491484445_r8, 0.00024063858747973532_r8, & + 0.00030514103715056196_r8, 0.00040822346328392683_r8, & + 0.00066554292571164447_r8, 0.0010477303808451948_r8, & + 0.0017155732105283952_r8, 0.0025066197055830918_r8, & + 0.0046458790353667151_r8, 0.0066658171567213027_r8, & + 0.0082722307186695911_r8, 0.0097991223628204234_r8, & + 0.011462100785224692_r8, 0.012955711358650627_r8, 0.013975581870989589_r8, & + 0.014596550467347752_r8, 0.015073473887582657_r8, 0.015451434943218365_r8, & + 0.015787245956033879_r8, 0.016470059804619443_r8, 0.016921456637610868_r8, & + 0.017157866817740088_r8, 0.017233398128348801_r8, 0.017225190170037253_r8, & + 0.017140049602482894_r8, 0.017124450445124801_r8, 0.017124799948389047_r8, & + 0.017121890980562167_r8, 0.017100871911747841_r8, 0.017077663533834053_r8, & + 0.017091205978597181_r8, 0.017091887501161813_r8, 0.017144277436161221_r8, & + 0.017195580314507949_r8, 0.017200646674399574_r8, 0.017192702148966402_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,28,32) / & + 0.00022543452608974487_r8, 0.00023319982752247574_r8, & + 0.00023781988089427496_r8, 0.00022824869540742057_r8, & + 0.0002377747337929218_r8, 0.00025258298303673416_r8, & + 0.00024594635913783051_r8, 0.0002629066202128066_r8, & + 0.00027897898829450546_r8, 0.00031618019980944855_r8, & + 0.00038399114604178438_r8, 0.00048256043620013335_r8, & + 0.00070973124456274908_r8, 0.00098325495811042306_r8, & + 0.0014623052071803542_r8, 0.0021298201497195212_r8, & + 0.0040575430624903977_r8, 0.0062871138515203399_r8, & + 0.0083885139009380917_r8, 0.010095698866986811_r8, 0.011969425846539396_r8, & + 0.013498776380358304_r8, 0.014495076969630547_r8, 0.015178146969715076_r8, & + 0.015767126648321327_r8, 0.016171339933510845_r8, 0.016547276084219551_r8, & + 0.017238414247541724_r8, 0.017616115703659879_r8, 0.017742062142332194_r8, & + 0.017753166448135828_r8, 0.017721463777339849_r8, 0.017622904161560361_r8, & + 0.017602083930812792_r8, 0.017659231776664116_r8, 0.01773736415646401_r8, & + 0.017667039645363845_r8, 0.017640086342137106_r8, 0.017611364239975218_r8, & + 0.017609879726693894_r8, 0.017650849511874459_r8, 0.017668043543565312_r8, & + 0.017691064997828181_r8, 0.017701409811144649_r8, 0.01772669331657991_r8 & + / +data delta_sa_ref(:,29,32) / & + 0.00045350687664168557_r8, 0.00045593967056086908_r8, & + 0.00044896669435938767_r8, 0.00042109028505613163_r8, & + 0.00044434903456373975_r8, 0.0004674315227284774_r8, & + 0.00049207490608180822_r8, 0.00053648031274202833_r8, & + 0.00048711070043716315_r8, 0.00050567326115523545_r8, & + 0.00057587486122635063_r8, 0.00063152502212767401_r8, & + 0.00081998879664564367_r8, 0.0011961210943481283_r8, & + 0.0017324917210676857_r8, 0.002484408663802039_r8, & + 0.0045168801453828577_r8, 0.0068179553188955459_r8, & + 0.0090287118559958437_r8, 0.010946226851919039_r8, 0.012632529578628111_r8, & + 0.01388705399731445_r8, 0.014708517080356977_r8, 0.015351181431966518_r8, & + 0.016382519477046636_r8, 0.016810427783277546_r8, 0.017267087994712573_r8, & + 0.017836710420611596_r8, 0.018208881403738664_r8, 0.018288268737792528_r8, & + 0.018239632228787196_r8, 0.018190681935852798_r8, 0.018072699178523732_r8, & + 0.018073954314239998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,32) / & + 0.000967144048133517_r8, 0.00095419873647199988_r8, & + 0.00094796542559377783_r8, 0.00088578177279488883_r8, & + 0.00090843104420438095_r8, 0.0009589629662035713_r8, & + 0.00093538521728999996_r8, 0.00079307322996000009_r8, & + 0.0007889841142559999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,32) / & + 0.0012325044747192291_r8, 0.0011979973374540076_r8, & + 0.0012921098296519462_r8, 0.001207000385740499_r8, & + 0.0013221007927195438_r8, 0.0014438492510424907_r8, & + 0.0016336284229448294_r8, 0.0017542432474815996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,32) / & + 0.0010980921449919292_r8, 0.0011347211086131668_r8, & + 0.0012200715736633849_r8, 0.0012289279384627783_r8, & + 0.0013310557133999776_r8, 0.0014137210855684247_r8, & + 0.0018197611062202668_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,33,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,32) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,32) / & + 0.0026446332131982038_r8, 0.0026111457310463528_r8, & + 0.0020074347890576588_r8, 0.0021877957142584885_r8, & + 0.0022077220116219257_r8, 0.0021274581409336892_r8, & + 0.0019525909145386665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,32) / & + 0.0017821799230533343_r8, 0.0019273680001145085_r8, & + 0.0017646170431407024_r8, 0.0019273672390447757_r8, & + 0.0020119479627106408_r8, 0.0021476360410619326_r8, & + 0.0020579500616295997_r8, 0.0020774007207863699_r8, & + 0.0020992921305756783_r8, 0.0021237133361562415_r8, & + 0.0020764874371072164_r8, 0.0019690852764387722_r8, & + 0.0018889263679194746_r8, 0.0019081053251816971_r8, & + 0.0019701172869962158_r8, 0.0019597697829114077_r8, & + 0.0020492898491420272_r8, 0.0021024612249423407_r8, & + 0.0021336589954222217_r8, 0.0022151056339291255_r8, & + 0.0023221881453098659_r8, 0.0025294487434569476_r8, & + 0.0023461234839731201_r8, 0.0025378746986808171_r8, & + 0.002996481924735075_r8, 0.0034181888370168169_r8, & + 0.0036767978967406217_r8, 0.0037968965271166573_r8, & + 0.0037954389263647288_r8, 0.0038688559747645152_r8, & + 0.003933700029268088_r8, 0.0039581531997774219_r8, & + 0.0039753503314558809_r8, 0.003984236581654043_r8, & + 0.0040131968071199994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,32) / & + 0.0015000949898937943_r8, 0.0016660022942869598_r8, & + 0.0014615016967756379_r8, 0.0016291632417650829_r8, & + 0.0016496001447117432_r8, 0.0021099567331904793_r8, & + 0.0020904846625717727_r8, 0.0021370597504030025_r8, & + 0.0020951772561668214_r8, 0.0020776348502040227_r8, & + 0.0021176753918141105_r8, 0.0020630746532549005_r8, & + 0.0020158417252000658_r8, 0.0020802662110984429_r8, & + 0.0020932475915109135_r8, 0.0021167982715159703_r8, & + 0.0022019227964504492_r8, 0.0022310870463636014_r8, & + 0.0023063439679440068_r8, 0.002448086608123417_r8, & + 0.0025879434396618274_r8, 0.0027557365526959931_r8, & + 0.0027147750347728586_r8, 0.0029707187377700874_r8, & + 0.0033537571719677896_r8, 0.0036105779952631577_r8, & + 0.0037977993229011226_r8, 0.0038843272403126248_r8, & + 0.0038900285222505343_r8, 0.0039384455627078582_r8, & + 0.0039912482046558818_r8, 0.0039953706700571389_r8, & + 0.0040508046728995814_r8, 0.0040644877495505643_r8, & + 0.004078954752468009_r8, 0.0040459288238136725_r8, & + 0.0041260453051030202_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,32) / & + 0.0018575249884687278_r8, 0.0022843670417008726_r8, & + 0.0019166858561890507_r8, 0.0025908582138769649_r8, & + 0.0022784148812290106_r8, 0.0027163946892835031_r8, & + 0.0022361184681789631_r8, 0.0021364197802752794_r8, & + 0.0020360898026245797_r8, 0.0020721635024540446_r8, & + 0.0021366903330240004_r8, 0.0021663609511337356_r8, & + 0.0022160975647736096_r8, 0.0022518105276047805_r8, & + 0.0022895075439265714_r8, 0.0023599865349683891_r8, & + 0.0024099937013569847_r8, 0.0024296538677640433_r8, & + 0.0025157347339821042_r8, 0.002672294591241982_r8, & + 0.0027944040651647212_r8, 0.0029199856326960461_r8, & + 0.0029957854944627099_r8, 0.0032088457840804881_r8, & + 0.0034656454347414913_r8, 0.0036810054227233982_r8, & + 0.0038728273215665782_r8, 0.0041645733689373767_r8, & + 0.0040939140093964113_r8, 0.0039966502962312167_r8, & + 0.0040349786023000231_r8, 0.0040198727404964357_r8, & + 0.0040860228875587165_r8, 0.0040901713630391058_r8, & + 0.0040890891520442207_r8, 0.0041051870405931189_r8, & + 0.0042341956096082446_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,32) / & + 0.0022501160295253331_r8, 0.0030804106512213329_r8, & + 0.0028013756938240005_r8, 0.0038417688597333324_r8, & + 0.0036742922914133327_r8, 0.0040999097832959989_r8, & + 0.0030155511226879995_r8, 0.0022972781724160001_r8, & + 0.0021097414784853334_r8, 0.0022080036642133333_r8, & + 0.0022290830109866671_r8, 0.0022866226784426661_r8, & + 0.0023365645154133328_r8, 0.0023870159629653331_r8, & + 0.0024432584398506665_r8, 0.0025051992895999986_r8, & + 0.0025292899716266659_r8, 0.0025526394018986669_r8, & + 0.0026340381102080003_r8, 0.0027625063049386664_r8, & + 0.0028637334976853324_r8, 0.0029942401347413327_r8, & + 0.0031247931000319999_r8, 0.0032957906141866666_r8, & + 0.0035013026631679992_r8, 0.0036820754348373323_r8, & + 0.0039048679153493322_r8, 0.0042502449047893348_r8, 0.00425084717184_r8, & + 0.0041386865157119982_r8, 0.004168892524714668_r8, & + 0.0041727840964266667_r8, 0.0042123020805973329_r8, & + 0.0042135066146986658_r8, 0.0042228649181013317_r8, & + 0.0042418594943146653_r8, 0.0043584676609706658_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,33) / & + 0.0028061293206349206_r8, 0.0028088287105396824_r8, & + 0.003688301669375661_r8, 0.0028799443416296297_r8, & + 0.0030372811725925923_r8, 0.0028805323197037039_r8, & + 0.0039788171189629627_r8, 0.0047313985454814815_r8, & + 0.0052198280487407408_r8, 0.0054957062517037034_r8, & + 0.0054458473751111099_r8, 0.0053799855103703704_r8, & + 0.0058549830428148144_r8, 0.0061097841732592594_r8, & + 0.0061991193985185189_r8, 0.0065196215317777769_r8, & + 0.0067657763337037029_r8, 0.0069490701778518503_r8, & + 0.0072856390893333315_r8, 0.0075418283472592591_r8, & + 0.0076955041826666662_r8, 0.0079557829390370371_r8, & + 0.0080989403459259257_r8, 0.008264378516296295_r8, & + 0.0084215239770370365_r8, 0.0084870613444444441_r8, & + 0.0086134766303703689_r8, 0.008914219094814815_r8, & + 0.0090786865466666658_r8, 0.0092656885355555541_r8, & + 0.0094472822355555555_r8, 0.0095316515422222206_r8, & + 0.0096010024466666663_r8, 0.0095868636342857135_r8, & + 0.0094102229760000006_r8, 0.009299469539999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,33) / & + 0.0017632408518518513_r8, 0.0017470344750617284_r8, & + 0.0023026367753086422_r8, 0.0017759526419753088_r8, & + 0.0019978496503703703_r8, 0.0019742010982716045_r8, & + 0.0027310287249382712_r8, 0.0035553444009876539_r8, & + 0.0042255469560493813_r8, 0.0047778950380246909_r8, & + 0.0050208982404938264_r8, 0.0052398923382716055_r8, & + 0.0056961300419753084_r8, 0.0059748094612345681_r8, & + 0.0060999304558024678_r8, 0.0062543209249382708_r8, & + 0.0064543536543209866_r8, 0.0066047872898765429_r8, & + 0.0067939479718518523_r8, 0.006986307402469135_r8, & + 0.0071194992281481484_r8, 0.0073046476069135793_r8, & + 0.0074618855170370353_r8, 0.0076229230967901239_r8, & + 0.0077833967353086427_r8, 0.0079025270098765418_r8, & + 0.0080417835150617279_r8, 0.0083616676241975302_r8, & + 0.0086455611886419748_r8, 0.0089761601812345677_r8, & + 0.0092543773535802461_r8, 0.0094437691590123461_r8, & + 0.0095835433807407427_r8, 0.0096559231580864175_r8, & + 0.0095893561356790117_r8, 0.0094739249920370375_r8, & + 0.0093506432449206364_r8, 0.0092024919865185181_r8, & + 0.009209359126666667_r8, 0.0093927001199999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,33) / & + 0.0009723178928395061_r8, 0.00098258901925925919_r8, & + 0.0010399353713580245_r8, 0.00063564497580246909_r8, & + 0.00072989712148148142_r8, 0.00080382889283950613_r8, & + 0.0012656782740740741_r8, 0.0018257273896296292_r8, & + 0.0023775947348148147_r8, 0.0030150979432098765_r8, & + 0.0035068362098765429_r8, 0.0039162945259259259_r8, & + 0.0044406489348148134_r8, 0.004803032025185186_r8, & + 0.0050861490148148142_r8, 0.0053198055846913582_r8, & + 0.0056738497407407404_r8, 0.0058828408153086421_r8, & + 0.0060583467234567893_r8, 0.0062076247417283958_r8, & + 0.006304132652345678_r8, 0.0063979225511111111_r8, & + 0.0065324364029629624_r8, 0.0066839332064197515_r8, & + 0.0068439445980246908_r8, 0.0070025507590123458_r8, & + 0.0071684881560493841_r8, 0.0075392379155555566_r8, & + 0.0079429921046913574_r8, 0.0083535783032098777_r8, & + 0.0087262417649382716_r8, 0.009037620530864196_r8, & + 0.0092980411970370377_r8, 0.0094993867076543226_r8, & + 0.0096339560291358022_r8, 0.0096515676365432086_r8, & + 0.0095176084809876528_r8, 0.0094023703254320981_r8, & + 0.0093282813901234569_r8, 0.0094161142468783057_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,33) / & + 0.00061501951851851845_r8, 0.00061510272296296301_r8, & + 0.00063104099654320974_r8, 0.00035317513185185182_r8, & + 0.00036695008987654322_r8, 0.00039939057827160498_r8, & + 0.00061072062222222224_r8, 0.00089061112839506176_r8, & + 0.0011154202923456789_r8, 0.0013707747323456788_r8, & + 0.0016859439229629629_r8, 0.001973258114567901_r8, & + 0.0022808372108641976_r8, 0.0027779190518518516_r8, & + 0.0031453868582716053_r8, 0.0034613326237037034_r8, & + 0.0040808451822222222_r8, 0.0045112710182716046_r8, & + 0.0048158085298765424_r8, 0.0050983153535802458_r8, & + 0.0053617960943209879_r8, 0.0055500877520987665_r8, & + 0.0057284873259259251_r8, 0.0059065818167901227_r8, & + 0.0060247875975308635_r8, 0.0061540965491358023_r8, & + 0.0062878060913580244_r8, 0.0066529256834567899_r8, & + 0.0070839709303703712_r8, 0.0075004184197530873_r8, & + 0.0079621291269135804_r8, 0.0083800650513580245_r8, & + 0.0087767191279012335_r8, 0.0090916479501234552_r8, & + 0.0093435632730864172_r8, 0.0095438733506172848_r8, & + 0.009621573424850087_r8, 0.0094785797194038776_r8, & + 0.0094059639650088175_r8, 0.0094918982416190463_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,33) / & + 0.00039937208839506167_r8, 0.00039853079901234578_r8, & + 0.00040727651061728395_r8, 0.0002963187614814815_r8, & + 0.00029867622074074073_r8, 0.00030393659061728391_r8, & + 0.00033872529333333332_r8, 0.00042403758370370364_r8, & + 0.0005108198192592592_r8, 0.00060500725037037034_r8, & + 0.00070123781283950627_r8, 0.00077774892197530858_r8, & + 0.00082402908296296288_r8, 0.0010122098014814815_r8, & + 0.0012379989288888887_r8, 0.0013776991911111109_r8, & + 0.0016918791733333328_r8, 0.0020332485190123453_r8, & + 0.0023338754217283948_r8, 0.0027807017782716052_r8, & + 0.003262973228148149_r8, 0.00375427698271605_r8, 0.0041135815086419756_r8, & + 0.0045186854587654316_r8, 0.0048078209032098767_r8, & + 0.0050717638908641975_r8, 0.005316477406913581_r8, 0.005746061953580248_r8, & + 0.00609821089728395_r8, 0.0064492689382716056_r8, 0.0068730199288888879_r8, & + 0.0073581757995061737_r8, 0.0079184190587654312_r8, & + 0.008393180151913579_r8, 0.0088070332804938267_r8, & + 0.0090802658462645503_r8, 0.0091739990207301576_r8, & + 0.0093359754899999987_r8, 0.0095962597933333341_r8, & + 0.0096585383199999982_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,33) / & + 0.0002512959120987654_r8, 0.0002501402948148148_r8, & + 0.00026674420395061727_r8, 0.0002124671713580247_r8, & + 0.00021608194222222219_r8, 0.00022073214617283953_r8, & + 0.00021156116740740741_r8, 0.00023848242765432098_r8, & + 0.0002691478879012346_r8, 0.00030616462074074065_r8, & + 0.00033415829382716055_r8, 0.00035790854024691355_r8, & + 0.00038948000444444437_r8, 0.00042891891111111112_r8, & + 0.00046170146222222221_r8, 0.00049551944641975309_r8, & + 0.00056723243259259259_r8, 0.0006471456790123456_r8, & + 0.00084250971456790124_r8, 0.0011532320898765432_r8, & + 0.001576493098765432_r8, 0.0020501944908641974_r8, & + 0.0025719325822222221_r8, 0.0031346627298765432_r8, & + 0.0036324656760493828_r8, 0.0040745586241975303_r8, & + 0.0044935762064197528_r8, 0.0053025637748148127_r8, & + 0.0057927211570370351_r8, 0.0061666326854320982_r8, & + 0.0065006615501234568_r8, 0.0068516271417283954_r8, & + 0.007268083876049383_r8, 0.0077641765086419743_r8, & + 0.0082260813595061728_r8, 0.0086321282933333326_r8, & + 0.0089034672316049401_r8, 0.0090121525749135793_r8, & + 0.0089955500525185188_r8, 0.0089833689218518521_r8, & + 0.0090019720488888899_r8, 0.0097030942999999995_r8, & + 0.010212679919999999_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,33) / & + 0.00016287732246913578_r8, 0.00016151831654320984_r8, & + 0.00017913916888888888_r8, 0.00012490836098765431_r8, & + 0.00012654471506172839_r8, 0.00013374652197530861_r8, & + 0.00013017797580246911_r8, 0.00015205149975308641_r8, & + 0.00018942878518518518_r8, 0.00021460275209876544_r8, & + 0.00023150249925925923_r8, 0.00025558556345679014_r8, & + 0.00030077482172839504_r8, 0.00034517826024691356_r8, & + 0.00040214556987654327_r8, 0.00045465681925925918_r8, & + 0.00053409857382716048_r8, 0.00061075760197530854_r8, & + 0.00081388738567901228_r8, 0.0011436081091358023_r8, & + 0.0016051431624691359_r8, 0.0020956795871604934_r8, & + 0.0027524307570370369_r8, 0.0033973391609876547_r8, & + 0.0039262420795061724_r8, 0.0043463782992592577_r8, & + 0.0047316888365432092_r8, 0.005570426616296296_r8, & + 0.0061629901797530858_r8, 0.0065755178153086395_r8, & + 0.0069168409362962953_r8, 0.0071842322859259249_r8, & + 0.0074664710064197542_r8, 0.0077700840241975312_r8, & + 0.0080748156795061726_r8, 0.0083765334849382703_r8, & + 0.0086492129392592588_r8, 0.0088039824508641968_r8, & + 0.0088922161417283943_r8, 0.0089528814266666666_r8, & + 0.0089699281023104052_r8, 0.0090563198052592588_r8, & + 0.0091371584700000001_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,33) / & + 0.00012391915259259259_r8, 0.00012138603950617281_r8, & + 0.00012966950419753088_r8, 0.00013742600740740738_r8, & + 0.00012793145580246914_r8, 0.00011652320197530865_r8, 0.00012580512_r8, & + 0.00011067115604938271_r8, 0.000118760477037037_r8, & + 0.00012686828790123457_r8, 0.00013539212098765432_r8, & + 0.00015580494469135807_r8, 0.00019369994666666666_r8, & + 0.00023076290419753084_r8, 0.00028569632740740739_r8, & + 0.00035653104444444443_r8, 0.00047912817086419746_r8, & + 0.00060563590617283955_r8, 0.00084201048790123452_r8, & + 0.0011988651051851851_r8, 0.0017105631935802469_r8, & + 0.0022656847570370368_r8, 0.0029763524069135799_r8, & + 0.0036888043298765423_r8, 0.0042350692424691361_r8, & + 0.0046524042459259252_r8, 0.0050169968765432097_r8, & + 0.0058158982172839503_r8, 0.0064316573308641984_r8, & + 0.0068727056009876544_r8, 0.0072207128123456784_r8, & + 0.0074838145106172847_r8, 0.0077319856335802458_r8, & + 0.007976967252839506_r8, 0.0082048180014814807_r8, 0.008410656552098765_r8, & + 0.0086008156874074083_r8, 0.0087683154790123459_r8, & + 0.0088804011106172823_r8, 0.0089759475476543209_r8, & + 0.0090021107229629627_r8, 0.0090730471343209874_r8, & + 0.0091989772260758374_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,33) / & + 0.00010069008956790123_r8, 0.00010064733172839504_r8, & + 0.00010521317561728394_r8, 0.00013060555419753086_r8, & + 0.0001358244869400353_r8, 0.00013241426033509701_r8, & + 0.00015223540798941796_r8, 0.00013018127756613757_r8, & + 0.00011580671925925926_r8, 0.00010609953407407407_r8, & + 0.00010372820740740739_r8, 0.00011319964666666666_r8, & + 0.00013639981925925928_r8, 0.00016240675511111112_r8, & + 0.0002130255656296296_r8, 0.00029309597599999995_r8, & + 0.00044928458562962963_r8, 0.0006342952148148147_r8, & + 0.00092954618592592598_r8, 0.0013088807951111112_r8, & + 0.0018810001020740741_r8, 0.0025301750450370366_r8, & + 0.003238519441925926_r8, 0.0038944589062222222_r8, & + 0.0043840033490370372_r8, 0.0048060509597777764_r8, & + 0.0051360065046666655_r8, 0.005919551078444444_r8, & + 0.0064837728968888874_r8, 0.0069795091371111116_r8, & + 0.0073205017515555549_r8, 0.0075757646666666668_r8, & + 0.0078011239044444439_r8, 0.0080648806065925921_r8, & + 0.0082807559244444436_r8, 0.0084764943799999996_r8, & + 0.0086510850392592584_r8, 0.008802648868518519_r8, & + 0.0089045812466666662_r8, 0.0089895329844444458_r8, & + 0.0090116237644444451_r8, 0.009094620197777778_r8, & + 0.0092098999555555554_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,33) / & + 6.3464189999999987e-05_r8, 6.7582809999999993e-05_r8, & + 7.138941333333333e-05_r8, 8.5866986666666671e-05_r8, & + 9.5477099999999987e-05_r8, 9.2856159999999991e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,33) / & + 0.00035483961636321141_r8, 0.00035874981298874062_r8, & + 0.00034496171272959997_r8, 0.00041355270366094215_r8, & + 0.00042924387949253923_r8, 0.00044292232475698281_r8, & + 0.0005626849298476799_r8, 0.00074149710793244437_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,33) / & + 0.0003539192204158272_r8, 0.00036248508676971604_r8, & + 0.00034812145845619755_r8, 0.00035496979231979019_r8, & + 0.00038266868830422039_r8, 0.00040150383793432977_r8, & + 0.00048264120202136401_r8, 0.00092726353328653342_r8, & + 0.001397176935255985_r8, 0.0018072120979190666_r8, & + 0.0020931786420216891_r8, 0.0024728596873334219_r8, & + 0.003129771400832666_r8, 0.0036651864352873773_r8, & + 0.0040446913681305629_r8, 0.0043808133483254526_r8, & + 0.0051602696972414819_r8, 0.0059527234950739263_r8, & + 0.0068366773106000745_r8, 0.0077630027398462222_r8, & + 0.0084728667646808142_r8, 0.0091028524510580727_r8, & + 0.0096264775404029997_r8, 0.010011176483302499_r8, 0.010298891510353998_r8, & + 0.010458118542097166_r8, 0.010635530058061834_r8, 0.010941880748555_r8, & + 0.011179279484314001_r8, 0.011360378899991332_r8, 0.011596326015650667_r8, & + 0.011727050290572_r8, 0.011977984402935999_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,33) / & + 0.00046036412495241484_r8, 0.00047495879689268155_r8, & + 0.00043093630604017777_r8, 0.0004093900869257481_r8, & + 0.0004088773656075852_r8, 0.00043909215212444442_r8, & + 0.00061958197986939267_r8, 0.0011001449400071112_r8, & + 0.001462829691973689_r8, 0.0018949345256692148_r8, & + 0.0022344037332994366_r8, 0.0025180936310141631_r8, & + 0.0032828592101847701_r8, 0.0037902983063954963_r8, & + 0.0041529711346104886_r8, 0.0044348486220842668_r8, & + 0.0052007931621928585_r8, 0.006083651577063141_r8, & + 0.0070940458001161558_r8, 0.0079567162389320416_r8, & + 0.0087258684811411871_r8, 0.0094494932847084649_r8, & + 0.0099388404300541616_r8, 0.010309324806026398_r8, 0.010607782270079377_r8, & + 0.010801649056633956_r8, 0.010992092236014637_r8, 0.011320707422916175_r8, & + 0.011618719662601926_r8, 0.011815779459491709_r8, 0.012027676235987899_r8, & + 0.012106968971105244_r8, 0.012288617191316693_r8, 0.012422398106977_r8, & + 0.012419530299839434_r8, 0.012419413591893122_r8, 0.012419161474725209_r8, & + 0.012419392715330253_r8, 0.012419523379057738_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,33) / & + 0.00040053931227737756_r8, 0.00041524930407985387_r8, & + 0.0003533579985094142_r8, 0.00035158839429171008_r8, & + 0.00034336241857543424_r8, 0.00036852896943285763_r8, & + 0.0005025220930883964_r8, 0.00081268593247536976_r8, & + 0.0010116443614883374_r8, 0.0013594772893831947_r8, & + 0.0016880804886594267_r8, 0.0019340903766137784_r8, & + 0.002912922639944649_r8, 0.0036664465350996628_r8, & + 0.0041405824181976036_r8, 0.0045021253497989459_r8, & + 0.0051946743076442536_r8, 0.0060364970574165013_r8, & + 0.0070197000288952129_r8, 0.0079425566911609236_r8, & + 0.0088824270012272787_r8, 0.0098168209705118588_r8, & + 0.010441246284816753_r8, 0.010808782853312342_r8, 0.011209230481729164_r8, & + 0.01153730039196503_r8, 0.01181732843039339_r8, 0.01212333181120117_r8, & + 0.012409016574733381_r8, 0.012531565256382299_r8, 0.012652610956244016_r8, & + 0.012771689791050882_r8, 0.012849253724164216_r8, 0.012984140375351973_r8, & + 0.013277642674162215_r8, 0.013279427296383694_r8, 0.012922944718917169_r8, & + 0.012921036417386841_r8, 0.012884452190042011_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,33) / & + 0.00027161906240177018_r8, 0.00027512030729058952_r8, & + 0.00021660388107842064_r8, 0.0002243662174393302_r8, & + 0.00023147197311406876_r8, 0.00024983664110169915_r8, & + 0.00034202470739982141_r8, 0.00051822859844520509_r8, & + 0.0007031699928159562_r8, 0.00096988566451331924_r8, & + 0.0012591445653457264_r8, 0.0016539171817217537_r8, & + 0.0026330901397599391_r8, 0.0036302570888200117_r8, & + 0.004191023455309007_r8, 0.0046205821686844161_r8, & + 0.0052070085085165838_r8, 0.0058175353052405945_r8, & + 0.0066656114745281244_r8, 0.0076971999315492813_r8, & + 0.0088202396783261285_r8, 0.0098939802583631192_r8, & + 0.010633040872157634_r8, 0.011306907885002538_r8, 0.011888787733154984_r8, & + 0.012487554301916707_r8, 0.013042829998685427_r8, 0.013842461874413171_r8, & + 0.01457914032339524_r8, 0.014871626695477038_r8, 0.014910789463022168_r8, & + 0.01530388648036041_r8, 0.015310331673020502_r8, 0.015297455706475852_r8, & + 0.01527013212685422_r8, 0.015266325570115374_r8, 0.015215758924345953_r8, & + 0.015203322730454842_r8, 0.015179856173286398_r8, 0.015133917954460799_r8, & + 0.015140146865487996_r8, 0.0151814134010432_r8, 0.01514144455528533_r8, & + 0.015124834125879465_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,33) / & + 0.0002416249010627457_r8, 0.00024079761156740247_r8, & + 0.00022307637426134322_r8, 0.00021910240047309139_r8, & + 0.00022818269018450368_r8, 0.00024979169075024191_r8, & + 0.0003216150084200988_r8, 0.00050624480272751606_r8, & + 0.00076952512540984686_r8, 0.0011136593186300394_r8, & + 0.0015310260400832982_r8, 0.0021633868987441978_r8, 0.00320602863656758_r8, & + 0.0040238930000850862_r8, 0.0044922856965584502_r8, & + 0.004808652757472733_r8, 0.0053718784564288904_r8, & + 0.0060634773166406792_r8, 0.0068899672330155889_r8, & + 0.0078885797854757293_r8, 0.0089454772868302335_r8, & + 0.010035313367994458_r8, 0.010930571338801338_r8, 0.011756889781487548_r8, & + 0.012460398010432186_r8, 0.013070089289552212_r8, 0.01361914936708487_r8, & + 0.014483030589701863_r8, 0.015205836240204355_r8, 0.015574872013023855_r8, & + 0.015798076045183278_r8, 0.015825394835372188_r8, 0.015822399730030613_r8, & + 0.015789075689684483_r8, 0.015765279502971258_r8, 0.015754669111716028_r8, & + 0.015725138764326359_r8, 0.015702185373499863_r8, 0.015687747275377504_r8, & + 0.01565159965413038_r8, 0.015671575899014276_r8, 0.01568773424229445_r8, & + 0.015652346620315352_r8, 0.015651886199250661_r8, 0.015655646304612265_r8 & + / +data delta_sa_ref(:,25,33) / & + 0.00019299727588839506_r8, 0.00019437509341471603_r8, & + 0.00021006576166222223_r8, 0.00018144006021985186_r8, & + 0.00018523762693418934_r8, 0.00019478638222854321_r8, & + 0.00022361087326426337_r8, 0.0003123498622542551_r8, & + 0.00049386875283009043_r8, 0.00076773226433046911_r8, & + 0.0010911252312359834_r8, 0.0015573690854040162_r8, & + 0.0024920674711144029_r8, 0.003566388126898766_r8, & + 0.0043949534342010528_r8, 0.0051198396863510786_r8, & + 0.006117300745051491_r8, 0.0069334040012948139_r8, & + 0.0076658733909497779_r8, 0.0085567695179875735_r8, & + 0.0094847758919563117_r8, 0.010491683863006702_r8, 0.011426997713049208_r8, & + 0.012295700401915167_r8, 0.013048676211160964_r8, 0.013664271763997687_r8, & + 0.014181310765932455_r8, 0.015087601335345889_r8, 0.015728757508702888_r8, & + 0.016079633871333321_r8, 0.016315173099457653_r8, 0.016355530324684908_r8, & + 0.016303186968311834_r8, 0.016231643279146599_r8, 0.016173966877820904_r8, & + 0.016141721834816852_r8, 0.016118888450835884_r8, 0.016125832376976002_r8, & + 0.016161256682510932_r8, 0.016136028226670776_r8, 0.016122650372519687_r8, & + 0.016128870773088149_r8, 0.016117011994585751_r8, 0.016150324240256145_r8, & + 0.016119058450212265_r8 & + / +data delta_sa_ref(:,26,33) / & + 0.00016476280149727078_r8, 0.0001647486454012576_r8, & + 0.00016930690831749794_r8, 0.00013643645337492016_r8, & + 0.00013860233606493498_r8, 0.00013380341951647079_r8, & + 0.00015437222702360492_r8, 0.00017179838121581564_r8, & + 0.00020673562617631603_r8, 0.00028145150093382057_r8, & + 0.00040913948697260253_r8, 0.00056140245569024532_r8, & + 0.0010113681235648262_r8, 0.0018311193314954008_r8, & + 0.0028241269985311472_r8, 0.0039361024964615641_r8, & + 0.0057707325397682299_r8, 0.0071343751126207609_r8, & + 0.0083083967793768938_r8, 0.0094140161901973985_r8, & + 0.010526161561279973_r8, 0.01166230151510487_r8, 0.012570556635309777_r8, & + 0.0133049041159929_r8, 0.013917707356306964_r8, 0.014436783084917831_r8, & + 0.014874546198029064_r8, 0.015701049863757921_r8, 0.016297163066872455_r8, & + 0.016638933692918391_r8, 0.016823330999585925_r8, 0.016853809074302274_r8, & + 0.016790517169027398_r8, 0.016714966084605112_r8, 0.016632124610736054_r8, & + 0.016568110744564504_r8, 0.01655889512605993_r8, 0.016568126670172517_r8, & + 0.016619421284076237_r8, 0.016605266704787642_r8, 0.016596017718342466_r8, & + 0.01660296163733932_r8, 0.016590873746953682_r8, 0.016600359463770184_r8, & + 0.016651274269617867_r8 & + / +data delta_sa_ref(:,27,33) / & + 0.00017181377859887406_r8, 0.00017295277866097774_r8, & + 0.00017260231710340736_r8, 0.00017549362495336294_r8, & + 0.00017794685585635555_r8, 0.00017593170190032594_r8, & + 0.00017987439442299259_r8, 0.00017981598416339756_r8, & + 0.00017705609939753082_r8, 0.00019618545941491359_r8, & + 0.00025932695003717528_r8, 0.00036052272478561976_r8, & + 0.00057052221059476543_r8, 0.00090204424149143705_r8, & + 0.0014914913761950024_r8, 0.0022726847905842566_r8, & + 0.0044409028318827459_r8, 0.0064787199686352579_r8, & + 0.0082934975291240314_r8, 0.010007853250803989_r8, 0.011601095299213588_r8, & + 0.012980920861627733_r8, 0.013905219412024888_r8, 0.014547980511173845_r8, & + 0.015015919703354785_r8, 0.015403252737294535_r8, 0.015791155271265345_r8, & + 0.016584527224780165_r8, 0.017078312956831918_r8, 0.017284019288560826_r8, & + 0.017375051678139731_r8, 0.017382586601627496_r8, 0.017327447316569756_r8, & + 0.017273928916215785_r8, 0.017238824350199147_r8, 0.017201923668699968_r8, & + 0.017179158270022792_r8, 0.017186021475525216_r8, 0.017190826449505151_r8, & + 0.017203309817172985_r8, 0.017216358304102401_r8, 0.017239449809344973_r8, & + 0.01720180026398857_r8, 0.017171017340091729_r8, 0.017192110745087998_r8 & + / +data delta_sa_ref(:,28,33) / & + 0.00019673601866296625_r8, 0.00019602871407510124_r8, & + 0.00020082935585231276_r8, 0.00021383172104200168_r8, & + 0.0002190236376976066_r8, 0.00022203344445447906_r8, & + 0.00021143892467028808_r8, 0.00019974582541983869_r8, & + 0.00020910632443371196_r8, 0.00024994940212447078_r8, & + 0.00030222974549134487_r8, 0.00038508972550804283_r8, & + 0.00052822108583111115_r8, 0.00070134517048641321_r8, & + 0.0010688877226018899_r8, 0.0016089222999537251_r8, & + 0.0032877172637682437_r8, 0.0055235070660095741_r8, & + 0.0079112770604391775_r8, 0.010169550119154344_r8, 0.012107534591836933_r8, & + 0.01373495215431164_r8, 0.014762304543668689_r8, 0.015513793094724599_r8, & + 0.016025836469237522_r8, 0.016407118789198122_r8, 0.016805075438591791_r8, & + 0.017505054909262276_r8, 0.017841103595925528_r8, 0.017917279923812746_r8, & + 0.017930583269678124_r8, 0.017914386747067693_r8, 0.01786750524457097_r8, & + 0.0178279432158811_r8, 0.017833221664480967_r8, 0.017852081866071217_r8, & + 0.017801853834686687_r8, 0.017754921004235435_r8, 0.017727244218709522_r8, & + 0.017715164144304615_r8, 0.017731650737041228_r8, 0.017736773965606918_r8, & + 0.017723142389565395_r8, 0.01771261709533661_r8, 0.017711354588895202_r8 & + / +data delta_sa_ref(:,29,33) / & + 0.00028768950257045594_r8, 0.00027197706286311761_r8, & + 0.00026745237608348971_r8, 0.00025657453320917861_r8, & + 0.00027512264990511934_r8, 0.00028816986315322463_r8, & + 0.00030496698804746003_r8, 0.00035501746167142717_r8, & + 0.00040160469044865844_r8, 0.00045819980030744451_r8, & + 0.00051891062635753369_r8, 0.00055868509136267454_r8, & + 0.00067284073623766617_r8, 0.00092076186132188716_r8, & + 0.0013144890809417863_r8, 0.0018668412710454107_r8, & + 0.0035194588779110685_r8, 0.0057332187754752916_r8, & + 0.008308567002618136_r8, 0.010741053612779083_r8, 0.012736127252076766_r8, & + 0.014293438220220575_r8, 0.015317002946386308_r8, 0.016167429448244394_r8, & + 0.016910948437283517_r8, 0.017353839123681689_r8, 0.0177512912961202_r8, & + 0.018195713436251901_r8, 0.018478434126032717_r8, 0.018546921017298334_r8, & + 0.018542730694412257_r8, 0.018512893204728684_r8, 0.018465444592026248_r8, & + 0.018417158101522738_r8, 0.018419187611149669_r8, 0.018440758014959226_r8, & + 0.018373482367015033_r8, 0.018320729685254479_r8, 0.018275215326343363_r8, & + 0.018271442074596335_r8, 0.018287700938301836_r8, 0.018255022583403325_r8, & + 0.018252123817582424_r8, 0.0182420030406957_r8, 0.018222185842331089_r8 & + / +data delta_sa_ref(:,30,33) / & + 0.00057687618270933338_r8, 0.00053419952485511105_r8, & + 0.0005457255702897778_r8, 0.00058852976391644439_r8, & + 0.00060933403679644437_r8, 0.00065870632270400003_r8, & + 0.00078556456135733311_r8, 0.0008506584779993015_r8, & + 0.00083582418878879361_r8, 0.00090435751462435707_r8, & + 0.0010020373548972499_r8, 0.0011430596438453571_r8, & + 0.0014892195575402856_r8, 0.0020687312897614291_r8, & + 0.0026151798935305222_r8, 0.0033900383310779994_r8, & + 0.0047332142354944654_r8, 0.0071153380320377142_r8, & + 0.0095564427474279998_r8, 0.011570439839956001_r8, 0.013503730701484001_r8, & + 0.014821451824041598_r8, 0.016404671337984001_r8, 0.017326659320928001_r8, & + 0.017905161584735999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,33) / & + 0.0010949341072489618_r8, 0.001034614653440562_r8, & + 0.0010746404927108547_r8, 0.0011150512262109366_r8, & + 0.0011663970295350888_r8, 0.0012233413582345165_r8, & + 0.0014640965619572852_r8, 0.0016303515542786212_r8, & + 0.0017330354349478602_r8, 0.0019173885332292261_r8, & + 0.0019905317817621331_r8, 0.0023665358679135998_r8, & + 0.0031416640325688883_r8, 0.0039589391689287103_r8, & + 0.0054213616516949328_r8, 0.0058826552790122652_r8, & + 0.0060605354115605328_r8, 0.0052076399999018653_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,32,33) / & + 0.0015338789159356585_r8, 0.0013164807704009922_r8, & + 0.0016616333281505127_r8, 0.0022636231706928663_r8, & + 0.002545338543366684_r8, 0.0026954418777312967_r8, & + 0.0029919714234780993_r8, 0.0032118323029892946_r8, & + 0.0034413741271711751_r8, 0.0036038330464132923_r8, & + 0.0037513169530612091_r8, 0.0043905931736531786_r8, & + 0.0047432727396120424_r8, 0.0062278125017180179_r8, & + 0.0061537788835899733_r8, 0.0059554809075029304_r8, & + 0.0053209546565775026_r8, 0.0053571135165749609_r8, & + 0.0053631475689504002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,33) / & + 0.0017374773692756479_r8, 0.0014096181724791038_r8, 0.0018298776151152_r8, & + 0.0028309386030284794_r8, 0.0031911399855563192_r8, & + 0.0032346735054110398_r8, 0.0036036935752406392_r8, & + 0.0034668289481089598_r8, 0.0039972216636165337_r8, & + 0.0040878581719957325_r8, 0.0041978584646618659_r8, & + 0.0048760575119162668_r8, 0.0050502149211957316_r8, & + 0.0064918836561487989_r8, 0.0059341833388245335_r8, & + 0.0057050841078634664_r8, 0.0054643199466090668_r8, & + 0.0054811174462314665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,33) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,33) / & + 0.0031717309987131402_r8, 0.0031462737251999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,33) / & + 0.0029957878341437148_r8, 0.0029157739163155703_r8, & + 0.0020721114533036561_r8, 0.0021015105013763163_r8, & + 0.0021436598967338669_r8, 0.0020707519956330665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,33) / & + 0.0020614395663536983_r8, 0.0021778771468879011_r8, & + 0.0018557878696213923_r8, 0.0019351408052938367_r8, & + 0.0020033273258491654_r8, 0.0021292447909729809_r8, & + 0.0020909447177482154_r8, 0.0021130735812941036_r8, & + 0.0020889446264908693_r8, 0.0021122205743377745_r8, & + 0.0020902177439396093_r8, 0.0019884925546207826_r8, & + 0.0018974692234542763_r8, 0.0019267417919385022_r8, & + 0.0019840339036991555_r8, 0.0019779843126084434_r8, & + 0.0020825973049207534_r8, 0.0021305392183742339_r8, & + 0.0021639106040105007_r8, 0.002251481722869807_r8, & + 0.0023660568135543229_r8, 0.0025533073662911518_r8, & + 0.0023977660228945304_r8, 0.0025897601710608829_r8, & + 0.0030343923302567342_r8, 0.0034358334776980618_r8, & + 0.0036843799778449545_r8, 0.0038078668906706488_r8, & + 0.0037956498948946136_r8, 0.0038687025431064169_r8, & + 0.0039315903439692433_r8, 0.0039527830917439992_r8, & + 0.0039718341892911388_r8, 0.0039804007902015989_r8, & + 0.0040062923825055991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,33) / & + 0.0016234619598271738_r8, 0.001808358918675068_r8, & + 0.0015516258074095145_r8, 0.0017525740677133699_r8, & + 0.0017420486241356903_r8, 0.0021713112980453666_r8, & + 0.0021592947499608495_r8, 0.00219929143555603_r8, 0.0021356563579259785_r8, & + 0.0020772840020847668_r8, 0.0021267535868998585_r8, & + 0.0020874585975431898_r8, 0.0020237796638982323_r8, & + 0.0020933353035407277_r8, 0.0021040361711780345_r8, & + 0.0021405243755806555_r8, 0.0022282364053946469_r8, & + 0.0022537167500556116_r8, 0.002330596344187575_r8, & + 0.0024679533828762864_r8, 0.002621581003095493_r8, & + 0.0027739806548973036_r8, 0.0027524473515779689_r8, & + 0.0029982164591167738_r8, 0.003368098088842377_r8, & + 0.0036164985572756016_r8, 0.003804684717241521_r8, & + 0.0039098952970034045_r8, 0.0038936247154729088_r8, & + 0.0039360773379028807_r8, 0.0039846698024198317_r8, & + 0.0039807666170931103_r8, 0.0040408493575156933_r8, & + 0.0040562866747629565_r8, 0.0040756491053443953_r8, & + 0.0040586110435530268_r8, 0.004129056333783636_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,33) / & + 0.0019316564416182783_r8, 0.0023759942392677139_r8, & + 0.0019542025040116943_r8, 0.0027828153890945054_r8, & + 0.0024130599658424888_r8, 0.0028211436951633122_r8, & + 0.0023773019108865321_r8, 0.002183405774303157_r8, & + 0.0020575536540231114_r8, 0.0020775294653036778_r8, & + 0.0021485495618429368_r8, 0.0021907557906434105_r8, & + 0.002227370595970318_r8, 0.0022659694547878455_r8, & + 0.0022997885483779686_r8, 0.0023773470030113188_r8, & + 0.0024256857607828017_r8, 0.0024397995958410795_r8, & + 0.0025244826061907493_r8, 0.0026810424634506271_r8, & + 0.0028050908987392003_r8, 0.0029296353474004277_r8, & + 0.0030109364483910852_r8, 0.0032214264868960138_r8, & + 0.003475295149445873_r8, 0.0036874986886927014_r8, & + 0.0038804929827803399_r8, 0.0041843237195940087_r8, & + 0.0041332343422105285_r8, 0.0040145969618963755_r8, & + 0.0040284853363307194_r8, 0.0040064803794347455_r8, & + 0.0040768240941022023_r8, 0.0040850759529381933_r8, & + 0.0040827762545740647_r8, 0.0041050855833123494_r8, & + 0.0042351868311370404_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,33) / & + 0.0022826847784959995_r8, 0.0031538872314026663_r8, & + 0.0027992445950293333_r8, 0.003870353380522665_r8, & + 0.0036943060887893332_r8, 0.0041481838038186659_r8, & + 0.0030685042949119994_r8, 0.0023115935969280003_r8, & + 0.0020826394612053329_r8, 0.0022035098254506663_r8, & + 0.0021969312161279997_r8, 0.0022816655573333331_r8, & + 0.0023382323318613331_r8, 0.0023891933899946667_r8, & + 0.0024452042257066659_r8, 0.0025078399989759987_r8, & + 0.0025310967727786653_r8, 0.0025532879971840003_r8, & + 0.0026346403772586667_r8, 0.0027632938849279994_r8, & + 0.0028646137341439993_r8, 0.002995305684138666_r8, & + 0.0031262756035413319_r8, 0.0032967635071146665_r8, & + 0.0035020902431573317_r8, 0.0036825387171839992_r8, & + 0.0039055165106346656_r8, 0.0042527929576959998_r8, & + 0.0042658111916373332_r8, 0.0041497589637973327_r8, & + 0.0041672710365013342_r8, 0.0041721818293759989_r8, & + 0.004210773248853333_r8, 0.0042126263782400006_r8, & + 0.0042211044451839989_r8, 0.0042447475633721893_r8, & + 0.0043614806508038085_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,34) / & + 0.0027363612053333333_r8, 0.0027110504133333337_r8, & + 0.0034418849715555548_r8, 0.0026377805795555556_r8, & + 0.0028201147991111109_r8, 0.0028519654604444436_r8, & + 0.0039703330391111114_r8, 0.0048421658488888887_r8, & + 0.0053418418195555562_r8, 0.0055787914364444436_r8, & + 0.0056026378302222223_r8, 0.0057015221522222215_r8, & + 0.0060111771994074093_r8, 0.0062688877119259252_r8, & + 0.0063497915534814816_r8, 0.0066175143341481472_r8, & + 0.0068439274948888891_r8, 0.007014647760740741_r8, & + 0.0072943921968888874_r8, 0.0074534125311111104_r8, & + 0.0076462804333333328_r8, 0.007912437583703703_r8, & + 0.0080616786222222226_r8, 0.0082039166199999996_r8, & + 0.0083527693711111118_r8, 0.0084108460733333321_r8, & + 0.0085518360044444432_r8, 0.008813763595555555_r8, & + 0.0090442815088888871_r8, 0.009242765711111111_r8, & + 0.0094174118399999989_r8, 0.0095258272311111118_r8, & + 0.009561082142857143_r8, 0.0094788167199999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,34) / & + 0.0017988153743209879_r8, 0.0017718663792592592_r8, & + 0.0021548379471604943_r8, 0.0016842151195061729_r8, & + 0.0018724975323456791_r8, 0.0019646418320987654_r8, & + 0.0027642827679012346_r8, 0.0036711187629629633_r8, & + 0.0043288776311111105_r8, 0.0048907572444444446_r8, & + 0.0051557726449382706_r8, 0.0053792967624691351_r8, & + 0.0057440650469135794_r8, 0.0059890189313580242_r8, & + 0.0061063094632098757_r8, 0.0062552454187654307_r8, & + 0.0064544923283950612_r8, 0.0065938690177777771_r8, & + 0.0067750605629629613_r8, 0.0069470164148148139_r8, & + 0.0070866242276543196_r8, 0.0072713380943209881_r8, & + 0.0074258949723456785_r8, 0.0075802854414814807_r8, & + 0.0077368299812345673_r8, 0.007846687582716047_r8, & + 0.0079905295772839495_r8, 0.008314416744691357_r8, & + 0.0086289480345679015_r8, 0.00893648090617284_r8, 0.0092110370829629629_r8, & + 0.0094303547535802452_r8, 0.0095797483335802458_r8, & + 0.0096556365649999969_r8, 0.0095987767277777754_r8, & + 0.0094794719550000007_r8, 0.0093401431411904781_r8, & + 0.009195505586666668_r8, 0.0092718928136296293_r8, & + 0.0093917016666666669_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,34) / & + 0.00098944876345678995_r8, 0.00099167679358024702_r8, & + 0.00096899896000000006_r8, 0.00070845810962962962_r8, & + 0.00076530523506172831_r8, 0.00086293178320987634_r8, & + 0.0012072410192592593_r8, 0.0016508871170370367_r8, & + 0.0021560952587654316_r8, 0.0028323162686419742_r8, & + 0.0033644826503703711_r8, 0.0037121385540740742_r8, & + 0.0041952975180246906_r8, 0.0046039422795061714_r8, & + 0.0049159404562962956_r8, 0.0051550330498765428_r8, 0.00551353326617284_r8, & + 0.0057541050498765428_r8, 0.005957918959012343_r8, & + 0.0061387037269135811_r8, 0.0062435783066666674_r8, & + 0.0063428966785185189_r8, 0.0064801100523456789_r8, & + 0.0066296561738271595_r8, 0.0067696800088888889_r8, & + 0.006928554273086418_r8, 0.0070871234543209869_r8, & + 0.0074659810246913583_r8, 0.0078603238666666662_r8, & + 0.0082524664133333328_r8, 0.0086259988992592601_r8, & + 0.0089639661076543215_r8, 0.0092804573244444442_r8, & + 0.009518385055802471_r8, 0.0097069725516049365_r8, & + 0.0097851754844444465_r8, 0.0096056202933333338_r8, & + 0.0094487464026543205_r8, 0.0093604060978412715_r8, & + 0.0093919691095238084_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,34) / & + 0.00061502876345679008_r8, 0.00061567590913580244_r8, & + 0.00053967327160493826_r8, 0.00044692805086419748_r8, & + 0.00045873383703703708_r8, 0.00051511871555555552_r8, & + 0.00066018104197530856_r8, 0.00079974263012345676_r8, & + 0.00094755070320987653_r8, 0.0011856540883950616_r8, & + 0.0015541203481481481_r8, 0.0017720142982716046_r8, & + 0.0020610110686419751_r8, 0.0025749094523456789_r8, & + 0.0028995177249382716_r8, 0.0032085667664197531_r8, & + 0.0038479836770370364_r8, 0.0043277682385185184_r8, & + 0.0046533564745679006_r8, 0.00500046692691358_r8, 0.0053018519145679012_r8, & + 0.0055206426237037034_r8, 0.0057117170079012359_r8, & + 0.005896994815802469_r8, 0.006023853858765432_r8, 0.0061557421481481479_r8, & + 0.0062886566256790113_r8, 0.006634241663209875_r8, & + 0.0070275213372839491_r8, 0.0074441537254320974_r8, & + 0.0078903699160493817_r8, 0.0083067989155555539_r8, & + 0.0087348395575308647_r8, 0.0091060400077777777_r8, & + 0.0093872576578571416_r8, 0.0096578851981287475_r8, & + 0.0097400994766666665_r8, 0.0094743930170370361_r8, & + 0.0093693924750000001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,34) / & + 0.00037102710765432096_r8, 0.00036670047654320981_r8, & + 0.00035677141283950616_r8, 0.00033685781580246912_r8, & + 0.00034055579111111112_r8, 0.00035198253481481481_r8, & + 0.00038986829185185185_r8, 0.00044753821679012333_r8, & + 0.00052367028345679011_r8, 0.00059774997382716036_r8, & + 0.00072879697382716049_r8, 0.00079798609185185196_r8, & + 0.00086221067802469138_r8, 0.0010608104419753087_r8, & + 0.0012388771980246913_r8, 0.0013964571708641976_r8, & + 0.0017610128217283949_r8, 0.0021346377570370368_r8, & + 0.0024710425708641972_r8, 0.0029169166987654317_r8, & + 0.0034313327990123459_r8, 0.0039377612725925923_r8, & + 0.0043046651377777771_r8, 0.0047057013150617281_r8, & + 0.005009295842962962_r8, 0.00526354089037037_r8, 0.005496180517037038_r8, & + 0.0059201626311111092_r8, 0.0063140802059259262_r8, & + 0.0066747529827160482_r8, 0.0070527137940740734_r8, & + 0.0074780549140740738_r8, 0.0079551307086419727_r8, & + 0.0083602089050088171_r8, 0.0084841273972486777_r8, & + 0.0086101068503703689_r8, 0.0088157605022222228_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,34) / & + 0.00023615270320987648_r8, 0.0002345718187654321_r8, & + 0.00023575517086419747_r8, 0.00021426068938271603_r8, & + 0.00021797715456790126_r8, 0.00022114816839506168_r8, & + 0.0002186427901234568_r8, 0.00023881524543209879_r8, & + 0.00027022030074074079_r8, 0.00029265776592592597_r8, & + 0.0003195420464197531_r8, 0.000343273802962963_r8, & + 0.00038275893432098757_r8, 0.00043403136197530875_r8, & + 0.00047341479901234567_r8, 0.00052848689629629618_r8, & + 0.00063178059160493808_r8, 0.00074916357283950615_r8, & + 0.0010038893570370371_r8, 0.0013173112543209877_r8, & + 0.0017698324928395062_r8, 0.0022901191288888889_r8, & + 0.0027819313550617284_r8, 0.0033540636049382714_r8, & + 0.0038519035308641979_r8, 0.0042785851669135807_r8, & + 0.0046665674913580245_r8, 0.0054201316548148143_r8, & + 0.0060290957387654316_r8, 0.0064643104528395055_r8, & + 0.0068043855071604938_r8, 0.0070789509288888882_r8, & + 0.0073734761723456797_r8, 0.0077646295106172823_r8, & + 0.0081048339940740753_r8, 0.0084147797945679018_r8, & + 0.0086958351629629633_r8, 0.0088949102157936492_r8, & + 0.0089263003801481472_r8, 0.0088305015562962948_r8, 0.0088943471_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,34) / & + 0.00015252299160493828_r8, 0.00015130265975308641_r8, & + 0.00015502836987654322_r8, 0.00011868651753086419_r8, & + 0.00012283749481481482_r8, 0.00012991911753086421_r8, & + 0.00013712092444444443_r8, 0.00014533042962962964_r8, & + 0.00017824240987654319_r8, 0.0002010034479012346_r8, & + 0.00021763509185185187_r8, 0.00023306489382716046_r8, & + 0.00026436825481481482_r8, 0.00029759456296296301_r8, & + 0.00034086087407407409_r8, 0.00039238291506172831_r8, & + 0.00049441005382716053_r8, 0.000616156645925926_r8, & + 0.00089357875358024694_r8, 0.001254168325925926_r8, & + 0.0017479404790123458_r8, 0.0022742270799999999_r8, & + 0.0029435051412345674_r8, 0.0035662719180246912_r8, & + 0.0041001023886419749_r8, 0.0044911910123456794_r8, & + 0.0048395310414814817_r8, 0.0056726016740740728_r8, & + 0.0063125917708641965_r8, 0.006775642994074074_r8, & + 0.0071756714730864197_r8, 0.0074252108469135799_r8, & + 0.0076270186044444443_r8, 0.0078525026488888879_r8, & + 0.0080850036014814795_r8, 0.0083288758281481468_r8, & + 0.0085508098162962974_r8, 0.0087179213204938277_r8, & + 0.0088204199511111112_r8, 0.0088483119298765414_r8, & + 0.0088605469453262777_r8, 0.0089431576005925932_r8, & + 0.0090707197211111097_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,34) / & + 0.00011629207851851849_r8, 0.00011295465580246912_r8, & + 0.0001157096474074074_r8, 0.00011247391901234569_r8, & + 0.00011392537432098766_r8, 0.00011499778716049383_r8, & + 0.00014797448197530861_r8, 0.0001144246009876543_r8, & + 0.00011929668345679012_r8, 0.00012610095802469135_r8, & + 0.000136335104691358_r8, 0.00014858464790123459_r8, & + 0.0001772439565432099_r8, 0.00022410654864197531_r8, & + 0.00026778888197530857_r8, 0.00032255589629629622_r8, & + 0.0004449681239506172_r8, 0.00059378389530864197_r8, & + 0.000888216689382716_r8, 0.0013020571061728397_r8, & + 0.0018955174286419752_r8, 0.0025231377980246914_r8, & + 0.0032978358903703701_r8, 0.0039552342059259258_r8, & + 0.0045067317535802467_r8, 0.0048755955456790123_r8, & + 0.0052005273911111104_r8, 0.0059539066558024689_r8, & + 0.0065799461407407408_r8, 0.0070337709155555558_r8, & + 0.0074057225170370364_r8, 0.0076814620459259254_r8, & + 0.0078884747037037042_r8, 0.0080891545787654309_r8, & + 0.008283663457530864_r8, 0.0084552495118518523_r8, & + 0.0086018083626543222_r8, 0.0087287679443209878_r8, & + 0.0088164342270987649_r8, 0.0089164644591975314_r8, & + 0.0089395733380246891_r8, 0.0090160015728924167_r8, & + 0.0090999759886243384_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,34) / & + 7.4219378254365481e-05_r8, 7.5561356816578499e-05_r8, & + 7.7967847266313933e-05_r8, 9.4837878553791878e-05_r8, & + 0.00010026531767195768_r8, 0.00011020114999118166_r8, & + 0.00016286398334391534_r8, 0.00012754765879365078_r8, & + 0.00011527638997883598_r8, 0.00010722497323809522_r8, & + 0.00010732818637037035_r8, 0.00011064665696296298_r8, & + 0.00013225069096296297_r8, 0.00017606199118518518_r8, & + 0.00022391702740740736_r8, 0.00028914515162962963_r8, & + 0.00042253851696296291_r8, 0.0006141791536296297_r8, & + 0.0009268184668888887_r8, 0.0013798236779259258_r8, & + 0.0020288266650370368_r8, 0.0027048683231111112_r8, & + 0.0034820602375555555_r8, 0.0040838710505185184_r8, & + 0.0046002544736296292_r8, 0.0049711216438518514_r8, & + 0.0052831951668888873_r8, 0.0059941549568148155_r8, & + 0.006598930621481482_r8, 0.0070881588874074078_r8, & + 0.0074263780203703694_r8, 0.0077020135437037042_r8, & + 0.0079089152622222204_r8, 0.0081429970992592596_r8, & + 0.0083397374749999975_r8, 0.008508854965714286_r8, & + 0.0086562159799999979_r8, 0.0087811474533333322_r8, & + 0.0088519128333333329_r8, 0.0089507347519999989_r8, & + 0.0089686320280000006_r8, 0.00907743848_r8, 0.0091458325333333337_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,34) / & + 5.1830880074161527e-05_r8, 5.8334635999999994e-05_r8, & + 6.2153720000000009e-05_r8, 8.1473792000000004e-05_r8, & + 8.4918455999999983e-05_r8, 9.060963999999999e-05_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,34) / & + 0.00028782520424344373_r8, 0.00031019462911679996_r8, & + 0.00031629015676319996_r8, 0.00037747119351039992_r8, & + 0.00039282289276799991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,34) / & + 0.00029988480369088114_r8, 0.00030161499623759081_r8, & + 0.00030182589130719578_r8, 0.00029153019486152988_r8, & + 0.0003168887591027264_r8, 0.00032715125340915415_r8, & + 0.00032681332941424199_r8, 0.00078350358985702711_r8, & + 0.0011291976231762274_r8, 0.0015068323603842468_r8, & + 0.0018012857781590662_r8, 0.0022626925869369523_r8, & + 0.0030126403732875554_r8, 0.0036186882436169622_r8, & + 0.0039925535542543701_r8, 0.0042935309464477026_r8, & + 0.0050332096800446216_r8, 0.0058530457560154667_r8, & + 0.0065779015790058664_r8, 0.0075096067294495991_r8, & + 0.0082643046351871998_r8, 0.0089033528495306661_r8, & + 0.0095094911034613334_r8, 0.0098915813218133329_r8, & + 0.010170479291413334_r8, 0.010347114672159999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,34) / & + 0.00038772378244630152_r8, 0.00040003739427611854_r8, & + 0.00037363096884591318_r8, 0.00034707783868638309_r8, & + 0.0003541720450312973_r8, 0.00037801571556722965_r8, & + 0.00049344934173927205_r8, 0.00095614059973767116_r8, & + 0.0013091277219551907_r8, 0.0017176108798184044_r8, & + 0.0020379458303557444_r8, 0.0023630469599106451_r8, & + 0.0031507193434212066_r8, 0.0037184331316495252_r8, & + 0.0041027558730329112_r8, 0.0044032752092439302_r8, & + 0.005145644405812084_r8, 0.0060019434305532519_r8, & + 0.0069354709760882363_r8, 0.0078479003800594315_r8, & + 0.0086372359565768178_r8, 0.0093748273484696148_r8, & + 0.0099271098432446581_r8, 0.010309152209722205_r8, 0.010614869449927821_r8, & + 0.01081594772144112_r8, 0.011006406178128519_r8, 0.011333533887666013_r8, & + 0.011619797514993306_r8, 0.01180958026454129_r8, 0.011962671562055771_r8, & + 0.012007906230011391_r8, 0.012191907100097215_r8, 0.012298711123983617_r8, & + 0.012422757037626441_r8, 0.012422908551479218_r8, 0.012422426720422805_r8, & + 0.012422426723665145_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,34) / & + 0.00029173902866172637_r8, 0.00029641216854469602_r8, & + 0.00025335602597348339_r8, 0.00023955859708204441_r8, & + 0.00024037105549082186_r8, 0.00024472678683601948_r8, & + 0.00033432809313075159_r8, 0.00058571200247183996_r8, & + 0.00081561997205360391_r8, 0.0011354025414437865_r8, & + 0.0013990775018446436_r8, 0.0016485632008544906_r8, & + 0.0024540018629496175_r8, 0.0032851563578704299_r8, & + 0.003784660293881391_r8, 0.0041865297907826109_r8, & + 0.0048213521870344783_r8, 0.0055907582524312889_r8, & + 0.0065141364520279205_r8, 0.0075056591036429714_r8, & + 0.008415529022485508_r8, 0.0093489549336595364_r8, 0.010120891482281399_r8, & + 0.010762455957945354_r8, 0.011357887242641087_r8, 0.011746053163932534_r8, & + 0.012140836380037065_r8, 0.012900718921948932_r8, 0.013583260526061134_r8, & + 0.013903771392181533_r8, 0.014134353848034464_r8, 0.014242756409436267_r8, & + 0.014800362652487466_r8, 0.014779654903419377_r8, 0.014749261271722665_r8, & + 0.014733479962957065_r8, 0.014696656909170666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,34) / & + 0.00020261904203498928_r8, 0.00020768163433075888_r8, & + 0.00016765511347078849_r8, 0.00016627091102029958_r8, & + 0.00017401219139155229_r8, 0.0001838425921278946_r8, & + 0.00026448520155822878_r8, 0.00042923893697596706_r8, & + 0.00060812467449528204_r8, 0.00085156166795799808_r8, & + 0.0011121602084689052_r8, 0.0014407961444281481_r8, & + 0.0023370383935686512_r8, 0.0033630688474765237_r8, & + 0.0039430176325079766_r8, 0.0044009979953656218_r8, & + 0.0049894971142839493_r8, 0.0056238113202622753_r8, & + 0.0064404147813923928_r8, 0.0074617605064710548_r8, & + 0.0084996745489762694_r8, 0.0095325694843817459_r8, 0.01040288471530156_r8, & + 0.011153659371202787_r8, 0.011835327353572237_r8, 0.012398508018144848_r8, & + 0.012953949462171285_r8, 0.013848431018611454_r8, 0.014593232639533707_r8, & + 0.014974536471708457_r8, 0.015193185759086484_r8, 0.015324165687094543_r8, & + 0.015335997780065008_r8, 0.015315729101325708_r8, 0.015274856678968217_r8, & + 0.015259110552163873_r8, 0.01521403443879305_r8, 0.015196985678611196_r8, & + 0.015166464014577918_r8, 0.015125353201798397_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,34) / & + 0.00021975726891128888_r8, 0.00022100400578603456_r8, & + 0.00020618905802974812_r8, 0.00020942526864079015_r8, & + 0.00022506253220807893_r8, 0.00024465221693147651_r8, & + 0.00034185790368691354_r8, 0.00055004969861119997_r8, & + 0.0008361758113653333_r8, 0.0012517238222446612_r8, & + 0.0017144488869906961_r8, 0.0023183470080643158_r8, & + 0.0033468784034130176_r8, 0.0040760868435568195_r8, & + 0.004483822854231624_r8, 0.0048235984420745481_r8, & + 0.0054477759321001473_r8, 0.0061151117390451353_r8, & + 0.0069217239706891066_r8, 0.0079322042076704763_r8, & + 0.0089510800238190216_r8, 0.0099867867877766314_r8, & + 0.010907780496099397_r8, 0.011663488726410666_r8, 0.012360308534127564_r8, & + 0.012980652971421236_r8, 0.013550212775806378_r8, 0.014449892588834289_r8, & + 0.015128104185537698_r8, 0.015513067353511033_r8, 0.015747384254382445_r8, & + 0.015844908256935693_r8, 0.015836578993559731_r8, 0.015781443807905728_r8, & + 0.015754157844033469_r8, 0.015736232117248374_r8, 0.01570455353747164_r8, & + 0.015685715542241602_r8, 0.015673872015615743_r8, 0.015652915041382866_r8, & + 0.015650671199218858_r8, 0.015681913326352583_r8, 0.015642372535843697_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,34) / & + 0.00018849366337698765_r8, 0.00018783560127486423_r8, & + 0.00019548557321204938_r8, 0.00018300981252595882_r8, & + 0.00019533476731364608_r8, 0.00021010003573004117_r8, & + 0.0002620183936621564_r8, 0.00039460419761290537_r8, & + 0.00063348074068372005_r8, 0.0010190914229009382_r8, & + 0.0014318608764578764_r8, 0.0019893354443463376_r8, & + 0.002974056832038453_r8, 0.003909300175427159_r8, 0.004567088085008067_r8, & + 0.0051638544442441474_r8, 0.0060412705804087563_r8, & + 0.0068855642574331506_r8, 0.0077015475544391114_r8, & + 0.0086734778600212024_r8, 0.0096354686859358007_r8, & + 0.010694304317879572_r8, 0.011648041948263374_r8, 0.012465588142761875_r8, & + 0.013129463126787424_r8, 0.013727353675447966_r8, 0.014242849365071805_r8, & + 0.015124392099001812_r8, 0.015758476063279143_r8, 0.016103533668453001_r8, & + 0.016312495805131454_r8, 0.016365154482928457_r8, 0.016304695027295868_r8, & + 0.016235379152538861_r8, 0.016194908333258273_r8, 0.016141495625969251_r8, & + 0.016157577018589893_r8, 0.016152420485086534_r8, 0.016162990607601894_r8, & + 0.016160437679178925_r8, 0.016166415321421317_r8, 0.016154304579557497_r8, & + 0.016123359258168091_r8, 0.016132448041482905_r8, 0.015946637953679645_r8 & + / +data delta_sa_ref(:,26,34) / & + 0.00015778384616277862_r8, 0.00015624083169734322_r8, & + 0.00015891633384383208_r8, 0.00013796531174434237_r8, & + 0.00014454789639046587_r8, 0.00014308981850110947_r8, & + 0.00016338966018399344_r8, 0.0001779704390775572_r8, & + 0.00022338319508780245_r8, 0.00031994192599362631_r8, & + 0.00047006732421328064_r8, 0.00068471620806095815_r8, & + 0.0011885316651696332_r8, 0.0020170454965323585_r8, & + 0.0029715768946043134_r8, 0.0040367664952112069_r8, & + 0.0058308959478241967_r8, 0.0073291346815699361_r8, & + 0.0084670299913004645_r8, 0.0096605870705547721_r8, & + 0.010709539629034561_r8, 0.011846854538828546_r8, 0.012754472634712861_r8, & + 0.01348846621299566_r8, 0.014050987000270944_r8, 0.014551985394273001_r8, & + 0.015030645468766271_r8, 0.015868176733289385_r8, 0.016443013324096131_r8, & + 0.016767131298413639_r8, 0.016926670500482053_r8, 0.01698660741100181_r8, & + 0.016914368853046612_r8, 0.016821264209568001_r8, 0.016771661249137856_r8, & + 0.016642416092537624_r8, 0.016687411243715485_r8, 0.016699067019270326_r8, & + 0.016732243599789188_r8, 0.016734636485590274_r8, 0.016743796743647937_r8, & + 0.016706008107047983_r8, 0.016617860922073499_r8, 0.01663383095115924_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,34) / & + 0.00017452985567004446_r8, 0.0001732740350887506_r8, & + 0.00017374131716551107_r8, 0.00016240972680406913_r8, & + 0.00016541785517321483_r8, 0.00016067202158111604_r8, & + 0.00016349031660657781_r8, 0.00016692191935778765_r8, & + 0.00017578567625133826_r8, 0.00020807194724250865_r8, & + 0.00027593006632707157_r8, 0.00039402100866338765_r8, & + 0.0006175278670038913_r8, 0.00098170123301420231_r8, & + 0.0015466598663825381_r8, 0.00234763975620962_r8, 0.0045542333380620649_r8, & + 0.0067902072804908236_r8, 0.0087463084640698463_r8, & + 0.010608938629731871_r8, 0.012017794091164758_r8, 0.013234698837003376_r8, & + 0.014100455704721378_r8, 0.014781957408546762_r8, 0.015277933525333331_r8, & + 0.015661338469315316_r8, 0.016073028581506211_r8, 0.016815101724531677_r8, & + 0.01728778675030471_r8, 0.01749172617168087_r8, 0.017589344318029117_r8, & + 0.017596528779959309_r8, 0.017562899072997452_r8, 0.017499903608024173_r8, & + 0.017438280784151387_r8, 0.017351965023034783_r8, 0.017325300739529637_r8, & + 0.017320321264899161_r8, 0.017317619790392889_r8, 0.017320759341846122_r8, & + 0.017311609009616435_r8, 0.017314933179211608_r8, 0.017251604462846532_r8, & + 0.017182917387443875_r8, 0.0171932935528448_r8 & + / +data delta_sa_ref(:,28,34) / & + 0.00019768410779138105_r8, 0.00019459905586558687_r8, & + 0.00019428302615611526_r8, 0.00019334998606148479_r8, & + 0.00019315434862228806_r8, 0.00019216111239252017_r8, & + 0.000185960910473363_r8, 0.00019061106191273089_r8, & + 0.00021608907610965597_r8, 0.00025529180911791941_r8, & + 0.0003017180783426765_r8, 0.00038540575521751441_r8, & + 0.00053031290152713768_r8, 0.00075279781699514735_r8, & + 0.0011197685058268183_r8, 0.0016577564145839802_r8, & + 0.0033808406848258774_r8, 0.0056630116091906119_r8, & + 0.008154890819340432_r8, 0.010623248389685295_r8, 0.01246810944131025_r8, & + 0.013997858774524445_r8, 0.015013578260766184_r8, 0.015836624967466736_r8, & + 0.016364605268757295_r8, 0.016743013223265081_r8, 0.01712223382559722_r8, & + 0.017696896229686874_r8, 0.017952097744602089_r8, 0.018029163846611806_r8, & + 0.018056492891964204_r8, 0.018049088767342306_r8, 0.018038046538803025_r8, & + 0.01800510420384906_r8, 0.017952838909515965_r8, 0.01791940748096401_r8, & + 0.017881045881451191_r8, 0.01784034845690885_r8, 0.017804235075550314_r8, & + 0.017788404566940155_r8, 0.01776939844346874_r8, 0.017781040752230168_r8, & + 0.017772801406233232_r8, 0.017723128952928088_r8, 0.017804301183805868_r8 & + / +data delta_sa_ref(:,29,34) / & + 0.000223290193474107_r8, 0.00021385343234810205_r8, & + 0.00020990207916726255_r8, 0.00020110063365072592_r8, & + 0.00021507757705902878_r8, 0.00022454532919037362_r8, & + 0.00023641488423556213_r8, 0.00028452842002578432_r8, & + 0.00031497708277225349_r8, 0.00035366935293914073_r8, & + 0.00039501135406259084_r8, 0.00044393065599165101_r8, & + 0.00053893358286116874_r8, 0.00076196035278988639_r8, & + 0.0010892253691794169_r8, 0.0015473963921247608_r8, & + 0.0029366611795025909_r8, 0.0050568643233250493_r8, & + 0.007686559594935756_r8, 0.010422228609306309_r8, 0.012569115008726438_r8, & + 0.014427986500020041_r8, 0.015605427765899535_r8, 0.016618229315910713_r8, & + 0.017223995001787416_r8, 0.017680843096192313_r8, 0.018043021417035093_r8, & + 0.018422089835788132_r8, 0.018566672560388017_r8, 0.018623445868527506_r8, & + 0.018609951499345211_r8, 0.018612845284468823_r8, 0.018576416464513371_r8, & + 0.018528612506730064_r8, 0.018492447885095131_r8, 0.018472445460132533_r8, & + 0.018435535504819179_r8, 0.018388483189597526_r8, 0.018322034212885505_r8, & + 0.018295741443955123_r8, 0.018260853319693706_r8, 0.018224361410905957_r8, & + 0.018242142500219733_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,34) / & + 0.00032209991885238205_r8, 0.00031131396650269842_r8, & + 0.0003050971669521588_r8, 0.00038016147728303488_r8, & + 0.00039302995059390468_r8, 0.00041438188713245079_r8, & + 0.00048889637025149846_r8, 0.00055311125796901595_r8, & + 0.00059453800831766983_r8, 0.00065608853710335223_r8, & + 0.00074313756616479359_r8, 0.00083258244580858417_r8, & + 0.0010227647006475428_r8, 0.0013646614607043558_r8, & + 0.0017686058543813204_r8, 0.0023224852876368635_r8, & + 0.0037050228226601393_r8, 0.0060162402109303114_r8, & + 0.0085431327746251541_r8, 0.011123416595256709_r8, 0.013277119561314667_r8, & + 0.015077931045018844_r8, 0.016234022496214001_r8, 0.017228391015513107_r8, & + 0.017825800457586003_r8, 0.018278698204932286_r8, 0.018650099953160929_r8, & + 0.019103046508561202_r8, 0.0192547096578564_r8, 0.019295512486410253_r8, & + 0.019296094980429866_r8, 0.019275685655661248_r8, 0.019270001951369357_r8, & + 0.019239831912539498_r8, 0.019248303120376547_r8, 0.019226067016474498_r8, & + 0.019171680624665146_r8, 0.0191223406781856_r8, 0.019051889518938003_r8, & + 0.018917863371323999_r8, 0.018880738505063999_r8, 0.018776788879535999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,34) / & + 0.00094814973828216134_r8, 0.00087848455668405943_r8, & + 0.00092755786862046806_r8, 0.0010347628517662654_r8, & + 0.0011025544550731139_r8, 0.0011595100215602725_r8, & + 0.0013490570848585953_r8, 0.0014342630449782122_r8, & + 0.001639085773611733_r8, 0.0018494396008941426_r8, & + 0.0020737809620930761_r8, 0.0025588460222703007_r8, & + 0.0030479057648050562_r8, 0.0037612577032174218_r8, & + 0.0046978939484202667_r8, 0.0049349691278419748_r8, & + 0.0050530642296609174_r8, 0.0063630311966682658_r8, & + 0.0098100008124585233_r8, 0.012195541535329705_r8, 0.014114124785867091_r8, & + 0.015692213603578874_r8, 0.016775324403201598_r8, 0.017794982439124266_r8, & + 0.018390018031771729_r8, 0.018848988597656529_r8, 0.019217857566550933_r8, & + 0.019804209334319638_r8, 0.020061958531357862_r8, 0.020045365235411196_r8, & + 0.020047356430924798_r8, 0.020061958531357862_r8, 0.020080543022818132_r8, & + 0.020043374039897598_r8, 0.020061958531357862_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,34) / & + 0.0013496041759974849_r8, 0.0011196224796847672_r8, & + 0.0014065903440685298_r8, 0.0015516735926464525_r8, & + 0.0018075557969583738_r8, 0.0019647012580689123_r8, & + 0.0022974727020034277_r8, 0.0025724351716735526_r8, & + 0.0027759734341612796_r8, 0.0030072745664924808_r8, & + 0.0032607502806408189_r8, 0.0039322208603331504_r8, & + 0.0043715169967729556_r8, 0.0052937294215883116_r8, & + 0.0062567286229750513_r8, 0.0061009230402728929_r8, & + 0.0052983082163018079_r8, 0.0053466223618305869_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,33,34) / & + 0.0015447367261877331_r8, 0.0012298384149243492_r8, & + 0.0016344063414559522_r8, 0.0023706367505010725_r8, & + 0.0028718680660634308_r8, 0.0030792223856967345_r8, & + 0.0036362439151725033_r8, 0.0039305060389588625_r8, & + 0.0040906499786459377_r8, 0.0041993282458788264_r8, & + 0.0043312586074964257_r8, 0.0049760596632176472_r8, & + 0.0050959829232533095_r8, 0.0058376832588178827_r8, & + 0.0059818592050367514_r8, 0.0056753463122356622_r8, & + 0.0054175928280607057_r8, 0.0054452672271299539_r8, & + 0.0054409900860223999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,34) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,34) / & + 0.0033318706445859127_r8, 0.0033032970576647612_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,34) / & + 0.0032834080939830707_r8, 0.0031957689887204153_r8, & + 0.0021099372766631899_r8, 0.0019872291510769774_r8, & + 0.0020233199588249595_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,34) / & + 0.0023870556407612044_r8, 0.0024784753370444639_r8, & + 0.0019476817123480787_r8, 0.0019514322639904689_r8, 0.00198097622994135_r8, & + 0.0021041119851924104_r8, 0.0021258339808592351_r8, & + 0.0021577861236580973_r8, 0.0021004282554725447_r8, & + 0.0021002684308286932_r8, 0.0021049480964006749_r8, & + 0.0020132151438154665_r8, 0.0019111639122231816_r8, & + 0.0019521109859780266_r8, 0.0020029544016801778_r8, & + 0.0020064833298164262_r8, 0.002125316149013155_r8, & + 0.0021682770132805331_r8, 0.0022083738199300857_r8, & + 0.0023114287502857597_r8, 0.0024310415137444859_r8, & + 0.0026046941857823997_r8, 0.0024944151815246224_r8, & + 0.0027092834327190514_r8, 0.00312698194293299_r8, 0.0034746325082395373_r8, & + 0.0036930552595132319_r8, 0.003789947351601979_r8, & + 0.0037919675351002664_r8, 0.0038616830447484435_r8, & + 0.0039215853212641186_r8, 0.0039477326329982803_r8, & + 0.0039648658348191996_r8, 0.0039748388925955553_r8, & + 0.0039959357455839999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,34) / & + 0.0017423994722549465_r8, 0.0019568553851501561_r8, & + 0.0016678003908981464_r8, 0.0019265070228345151_r8, & + 0.0018643191936963952_r8, 0.002227096149007065_r8, & + 0.0022292450937375077_r8, 0.0022654701620506861_r8, & + 0.0021667941285099454_r8, 0.0020703108957145552_r8, & + 0.0021280692673470683_r8, 0.0021192542083507625_r8, & + 0.0020393924052051226_r8, 0.002102588922686104_r8, & + 0.0021183770880526219_r8, 0.0021644259037049678_r8, & + 0.0022535413259959836_r8, 0.0022770042939712263_r8, & + 0.0023534014719392132_r8, 0.0024871623174055504_r8, & + 0.0026417547699527106_r8, 0.0027952508221271966_r8, & + 0.0027811730413420509_r8, 0.0030219864191963659_r8, & + 0.003374939627167868_r8, 0.003616542413290509_r8, 0.003801132380034055_r8, & + 0.0039292796555922965_r8, 0.0038968262045611184_r8, & + 0.0039315601683674603_r8, 0.0039748021990657573_r8, & + 0.0039808543291229232_r8, 0.0040283065372522936_r8, & + 0.0040404413399484336_r8, 0.0040515439600080135_r8, & + 0.004039217913761153_r8, 0.0041260791368859483_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,34) / & + 0.0020142201221029664_r8, 0.0024691094769525197_r8, & + 0.002001459050788293_r8, 0.0029395105227287442_r8, & + 0.0025662379137433551_r8, 0.002936940271615895_r8, 0.002477812257036379_r8, & + 0.002223943594486519_r8, 0.0020756806881874175_r8, & + 0.0020886221280012381_r8, 0.0021620321071541995_r8, & + 0.0022157368277753156_r8, 0.0022412589704046619_r8, & + 0.0022774679466084878_r8, 0.0023124143433182818_r8, & + 0.0023937154443089384_r8, 0.0024398897800906537_r8, & + 0.0024496296790446092_r8, 0.0025329599256506733_r8, & + 0.0026887532167891759_r8, 0.0028123958229546667_r8, & + 0.0029371206401150427_r8, 0.0030203607024715329_r8, & + 0.0032311212937251818_r8, 0.0034813374941673083_r8, & + 0.0036905198610534193_r8, 0.0038868960645000688_r8, & + 0.0042013685427634302_r8, 0.0041690825814160587_r8, & + 0.0040379095904111671_r8, 0.0040226966348112098_r8, & + 0.0040018664888092359_r8, 0.0040681044044715495_r8, & + 0.0040783113290036544_r8, 0.0040777742495887821_r8, & + 0.004108517416095232_r8, 0.0042369449408738193_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,34) / & + 0.0023226197167786665_r8, 0.0031933588873386664_r8, & + 0.0027943338021546664_r8, 0.0038905061626026659_r8, & + 0.0037085288568319994_r8, 0.0041424854309546665_r8, & + 0.0031038064097279995_r8, 0.0023272988684799995_r8, & + 0.0020846315752959996_r8, 0.0022088839006719997_r8, & + 0.0021972555137706657_r8, 0.0022870396325546665_r8, & + 0.0023408730412373328_r8, 0.0023916951146666669_r8, & + 0.0024493274385919998_r8, 0.0025107123495253323_r8, & + 0.002533135215103999_r8, 0.0025543072183466667_r8, & + 0.0026358912395946666_r8, 0.0027650080296106657_r8, & + 0.0028660035811839987_r8, 0.0029964638900053333_r8, & + 0.0031274338094079996_r8, 0.0032985703082666663_r8, & + 0.003502785166677333_r8, 0.0036826313736533331_r8, & + 0.0039070916706133328_r8, 0.0042548777282559996_r8, & + 0.0042779028608853336_r8, 0.0041579590613333318_r8, & + 0.0041676242892906669_r8, 0.0041781432804297138_r8, & + 0.0042136853093180963_r8, 0.0042139632787260954_r8, & + 0.0042286410562163805_r8, 0.0042526341180342854_r8, & + 0.0043633552897279996_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,35) / & + 0.0028920157550449228_r8, 0.0028534104442962957_r8, & + 0.003369266905925926_r8, 0.0026600599562962963_r8, & + 0.0029339745343703702_r8, 0.0032266489411851857_r8, & + 0.0042885955860740739_r8, 0.005115154084148147_r8, & + 0.0054592058486666673_r8, 0.0057292541935555549_r8, & + 0.0059317696511111103_r8, 0.0060875380782962965_r8, & + 0.0063357716045925926_r8, 0.0065679647007407405_r8, & + 0.0066738271021481478_r8, 0.0068445986774074074_r8, & + 0.0070960591494074075_r8, 0.0073038830505185179_r8, & + 0.0075269222710370376_r8, 0.0076162505625925938_r8, & + 0.0078031208111111099_r8, 0.0080331949674074064_r8, & + 0.0081115180844444443_r8, 0.0082390704977777767_r8, & + 0.008371171420740741_r8, 0.0084537518318518502_r8, & + 0.0085857002133333318_r8, 0.0088288929370370379_r8, & + 0.0090118040407407406_r8, 0.0091242271125925919_r8, & + 0.0092133529400000008_r8, 0.0092979302577777777_r8, & + 0.009283036662222223_r8, 0.0091836489533333333_r8, & + 0.0089673589999999994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,35) / & + 0.001919554268148148_r8, 0.0018965528617283947_r8, & + 0.0020749339456790123_r8, 0.0016436945550617281_r8, & + 0.0018262635960493827_r8, 0.0020373162918518517_r8, & + 0.0028217862839506175_r8, 0.003727078374320987_r8, & + 0.0042969918390123457_r8, 0.0048002030740740735_r8, & + 0.0051094555041975307_r8, 0.0054034722760493824_r8, & + 0.0057571836143209872_r8, 0.0059895921175308637_r8, & + 0.0061223124513580243_r8, 0.00626571993382716_r8, 0.0064693581891358022_r8, & + 0.0066201061525925919_r8, 0.0067924502918518519_r8, & + 0.0069403415693827164_r8, 0.0070824177807407409_r8, & + 0.0072516371308641971_r8, 0.0073872511303703708_r8, & + 0.0075338850962962962_r8, 0.0076836715861728407_r8, & + 0.0078143395437037036_r8, 0.0079644126266666636_r8, & + 0.0082979699995061728_r8, 0.0086102917491358011_r8, & + 0.008881852565925925_r8, 0.009125410464691357_r8, 0.0093299732138271592_r8, & + 0.0094484840775308637_r8, 0.0094763205866666683_r8, & + 0.0094687247142592589_r8, 0.0094245302773809519_r8, & + 0.0092856951432751331_r8, 0.0092220507760317465_r8, & + 0.0093339161799999987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,35) / & + 0.00096817616049382717_r8, 0.00095695280543209879_r8, & + 0.00086961587358024689_r8, 0.0006626032158024691_r8, & + 0.00069781718567901252_r8, 0.000800676368888889_r8, 0.00104710944345679_r8, & + 0.0014744752049382717_r8, 0.0018968024750617278_r8, & + 0.0024806110819753082_r8, 0.0029940009940740745_r8, & + 0.0033989477802469133_r8, 0.0039744359427160494_r8, & + 0.0044716287229629621_r8, 0.004814551218271605_r8, & + 0.0050767838923456788_r8, 0.005452729307160494_r8, & + 0.0057230697920987667_r8, 0.0059284923204938264_r8, & + 0.006104608394567901_r8, 0.0062209004730864204_r8, & + 0.0063287796577777772_r8, 0.0064521903387654315_r8, & + 0.0065859923303703705_r8, 0.0067134707841975316_r8, & + 0.0068732787871604931_r8, 0.0070339465693827156_r8, & + 0.0074491644819753089_r8, 0.007851217602469136_r8, 0.008231064381234568_r8, & + 0.0086023965718518523_r8, 0.0089635131056790118_r8, & + 0.0093015172938271592_r8, 0.0095583509239506176_r8, & + 0.0097741578292592571_r8, 0.0099001594041975317_r8, & + 0.0097266480914814813_r8, 0.009444929728941797_r8, & + 0.0093565852308888902_r8, 0.0093907864177777776_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,35) / & + 0.00058131247358024691_r8, 0.00057894576938271605_r8, & + 0.00046453041333333338_r8, 0.00041624410074074075_r8, & + 0.00042591430617283947_r8, 0.00047346102370370366_r8, & + 0.00065131514617283942_r8, 0.00076718195753086419_r8, & + 0.00088220747950617281_r8, 0.0011322923046913581_r8, & + 0.0015458183935802468_r8, 0.0017914194237037037_r8, & + 0.0022148930661728397_r8, 0.0027681748869135808_r8, & + 0.0031107830543209872_r8, 0.0034468550503703693_r8, & + 0.0040359887417283948_r8, 0.0045332924612345674_r8, & + 0.0048558945822222222_r8, 0.0052212822775308627_r8, & + 0.0054834964617283943_r8, 0.0056700500711111112_r8, & + 0.0058410906740740736_r8, 0.005999955693333333_r8, & + 0.0061217392651851847_r8, 0.0062676891056790123_r8, & + 0.0064020365486419754_r8, 0.006763374960987654_r8, & + 0.0071679889293827159_r8, 0.0075937252704938261_r8, & + 0.0080206958108641983_r8, 0.0084268028367901239_r8, & + 0.0088472920150793628_r8, 0.0092525709586772469_r8, & + 0.0095235086005925913_r8, 0.0098743706488888874_r8, & + 0.0099499480192592592_r8, 0.0094930446799999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,35) / & + 0.00034498411654320993_r8, 0.0003389471718518519_r8, & + 0.00032105821629629618_r8, 0.00034425376641975306_r8, & + 0.00034705498271604934_r8, 0.00035855568592592596_r8, & + 0.0004021085901234567_r8, 0.00045312215950617284_r8, & + 0.00050635451407407409_r8, 0.00058651737382716057_r8, & + 0.00075290777283950629_r8, 0.00082916002370370361_r8, & + 0.00097606209283950603_r8, 0.0011958420103703703_r8, & + 0.0013558626469135798_r8, 0.0015517166641975306_r8, & + 0.0019558498958024691_r8, 0.0023721494661728395_r8, & + 0.0027388314528395056_r8, 0.0032399995565432099_r8, & + 0.0037049090123456793_r8, 0.0041125183407407402_r8, & + 0.0045035699846913569_r8, 0.0049072779491358019_r8, & + 0.0052048170424691363_r8, 0.0054638139881481489_r8, & + 0.0056749591333333333_r8, 0.0060810338019753095_r8, & + 0.0064725939175308634_r8, 0.0068510100420987666_r8, & + 0.0072378991525925921_r8, 0.0076535134419135802_r8, & + 0.0079950678514462067_r8, 0.0082024092328148134_r8, & + 0.0082394726525925905_r8, 0.0084263969840000022_r8, & + 0.0086708183600000006_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,35) / & + 0.00021279998913580249_r8, 0.00021351184938271604_r8, & + 0.00021949332444444445_r8, 0.00019387560049382714_r8, & + 0.0001988493772839506_r8, 0.00020140098024691355_r8, & + 0.00022680607061728396_r8, 0.0002380016908641975_r8, & + 0.00027806000839506178_r8, 0.00029304605333333329_r8, & + 0.00031668536049382715_r8, 0.00034706422765432102_r8, & + 0.00042396362419753092_r8, 0.00051498928641975303_r8, & + 0.00057203980049382714_r8, 0.00065373731999999985_r8, & + 0.00081397059012345684_r8, 0.00098358747259259262_r8, & + 0.0012467169056790126_r8, 0.0016033588893827157_r8, & + 0.0020503793896296295_r8, 0.002541627674567901_r8, & + 0.0030384968819753082_r8, 0.0036390850518518516_r8, & + 0.0041611929407407407_r8, 0.0045961118167901233_r8, & + 0.0049450805017283951_r8, 0.0056281335209876536_r8, & + 0.0061814338316049378_r8, 0.0065987318553086417_r8, & + 0.0069565294562962954_r8, 0.007245581696296295_r8, & + 0.0075334598291358027_r8, 0.0078355289422222217_r8, & + 0.0081199587130864181_r8, 0.0083800003367901221_r8, & + 0.0085902944523897715_r8, 0.0087953979973968248_r8, & + 0.0088275477985185168_r8, 0.0088175909999999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,35) / & + 0.00013136132790123457_r8, 0.00013151849185185182_r8, & + 0.00013635359456790123_r8, 0.00011650471209876543_r8, & + 0.0001248806261728395_r8, 0.00012783900641975308_r8, & + 0.00018820845333333334_r8, 0.00015361389432098763_r8, & + 0.00017468310864197532_r8, 0.00020418370666666665_r8, & + 0.00021953030419753086_r8, 0.00023528367901234568_r8, & + 0.00026942523604938263_r8, 0.00030968694222222222_r8, & + 0.00035623520641975308_r8, 0.00040674954913580245_r8, & + 0.00052746070814814808_r8, 0.00067664627703703691_r8, & + 0.00092099924049382704_r8, 0.0012825317965432098_r8, & + 0.001756381107654321_r8, 0.0022668588641975309_r8, & + 0.0029227410098765427_r8, 0.0035446202725925918_r8, & + 0.0041453193817283952_r8, 0.0045955756103703707_r8, & + 0.0049514687540740746_r8, 0.0057154334730864188_r8, & + 0.0062892945264197532_r8, 0.0067464289891358015_r8, & + 0.0071557948558024689_r8, 0.0074228441427160495_r8, & + 0.007643622513580247_r8, 0.0078517260740740731_r8, & + 0.0080931668819753076_r8, 0.0083593194098765429_r8, & + 0.0085540640345679007_r8, 0.0087412925244444439_r8, & + 0.008803807952654322_r8, 0.0088565590751675475_r8, & + 0.0088840222208677253_r8, 0.0089399708703703715_r8, & + 0.0090741435839999992_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,35) / & + 8.7630458641975309e-05_r8, 8.3934794567901247e-05_r8, & + 8.8623133888888889e-05_r8, 0.00010503521055555555_r8, & + 0.00011299345152557319_r8, 0.00012157886250440916_r8, & + 0.0001939842285185185_r8, 0.00013504048315696648_r8, & + 0.00012889408500000002_r8, 0.00013638099920634919_r8, & + 0.0001461618137213404_r8, 0.00016359430044973544_r8, & + 0.00019427494880952382_r8, 0.00024569909250440918_r8, & + 0.00028894790426807758_r8, 0.00032804722454144619_r8, & + 0.00045677225924162256_r8, 0.00062445117152557319_r8, & + 0.00092020285509700184_r8, 0.0013637675644003525_r8, & + 0.0019504539885273368_r8, 0.0025775554857495591_r8, & + 0.0033788126348677249_r8, 0.003984189022416226_r8, 0.004549630083130511_r8, & + 0.004936413207010582_r8, 0.0052605910947089943_r8, 0.005938354688571428_r8, & + 0.006525926480626101_r8, 0.006975190694373897_r8, 0.0073591867995414463_r8, & + 0.0076326461304409158_r8, 0.00784555953515873_r8, 0.0080366022224250423_r8, & + 0.0082352655453262792_r8, 0.0084302114125132267_r8, & + 0.008583045694396824_r8, 0.0087264328049841255_r8, & + 0.0088027494072222216_r8, 0.0088953899290370366_r8, & + 0.0089152823287513214_r8, 0.0089591374103597868_r8, & + 0.0090660440275449755_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,35) / & + 5.3565057766755964e-05_r8, 5.3270655026455029e-05_r8, & + 6.0122342920634934e-05_r8, 8.4022522428571421e-05_r8, & + 9.3647077676190492e-05_r8, 0.00010598582133333332_r8, & + 0.00017781205800000002_r8, 0.00012365844533333332_r8, & + 0.00011457252000000001_r8, 0.00011510294833333333_r8, & + 0.00011962719000000001_r8, 0.0001291749_r8, 0.000153044175_r8, & + 0.00020995601499999999_r8, 0.00025797537999999997_r8, 0.00030384183_r8, & + 0.00044443654_r8, 0.00061077262499999998_r8, 0.00092650228999999987_r8, & + 0.0014196134299999999_r8, 0.0020813071750000003_r8, & + 0.0027740777800000001_r8, 0.003594151185_r8, 0.004162707955_r8, & + 0.0046882064249999991_r8, 0.0050315495649999997_r8, & + 0.0053531763449999985_r8, 0.0060244178000000001_r8, & + 0.006659683733333332_r8, 0.0071272095066666659_r8, & + 0.0074711766799999994_r8, 0.0077300257066666668_r8, & + 0.0079262217866666665_r8, 0.00813764428_r8, 0.0083345891999999991_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,35) / & + 4.5060697179867276e-05_r8, 4.8487389999999992e-05_r8, & + 4.6428079999999995e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,35) / & + 0.00028429381017924463_r8, 0.00024810887383520003_r8, & + 0.00026021174572960003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,35) / & + 0.00029303475828581534_r8, 0.00027368134558800598_r8, & + 0.00025646228462012846_r8, 0.00035320212781120004_r8, & + 0.00044115829154524452_r8, 0.00044993901631999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,35) / & + 0.00031354089557230735_r8, 0.00027819211671397531_r8, & + 0.00027840465139539449_r8, 0.00032396515973174834_r8, & + 0.00037893970425096301_r8, 0.0003713310036464522_r8, & + 0.00038708868974049785_r8, 0.00079098563044888897_r8, & + 0.0011044359596159999_r8, 0.0015116269952320002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,35) / & + 0.00035481943270059761_r8, 0.00034715896278198947_r8, & + 0.00033331859588396704_r8, 0.00033855704063395553_r8, & + 0.000375975817179967_r8, 0.00038236507429723434_r8, & + 0.00042713561022239994_r8, 0.0008941168211170135_r8, & + 0.00129145139900256_r8, 0.0016993671140447999_r8, 0.0020213245039094399_r8, & + 0.0023129550239923201_r8, 0.0031255267984872_r8, 0.0036971738065152003_r8, & + 0.004084831365708_r8, 0.0043849611359208004_r8, 0.0051177397609951996_r8, & + 0.0059710451575615995_r8, 0.0069083772315488004_r8, & + 0.0078241392389183997_r8, 0.0086198171440736004_r8, & + 0.0093617308533312012_r8, 0.0099257719983168007_r8, & + 0.010309043107395199_r8, 0.010615048306201601_r8, 0.010816100643555199_r8, & + 0.0110078166834176_r8, 0.011332977389145599_r8, 0.011618861257152001_r8, & + 0.011809128561196799_r8, 0.011809128561196799_r8, 0.011809128561196799_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,35) / & + 0.00016860751875623952_r8, 0.00016970625941019793_r8, & + 0.00015622978779445757_r8, 0.00014073423112173264_r8, & + 0.00014660248699563627_r8, 0.00015091527600405669_r8, & + 0.00022345707632368648_r8, 0.00033644764204970238_r8, & + 0.00046274052435897356_r8, 0.00065615360443168388_r8, & + 0.00085840352821513232_r8, 0.0011272617877106826_r8, & + 0.0018689207417217873_r8, 0.0026816182491891691_r8, & + 0.0032208305929113394_r8, 0.0036197368034987859_r8, & + 0.0041939407898666558_r8, 0.0049842772683000303_r8, & + 0.0059555875981768466_r8, 0.0071239611067524322_r8, & + 0.0081243643396434577_r8, 0.0090824911070535395_r8, & + 0.0099400071603086108_r8, 0.010795509960182062_r8, 0.011433470062856345_r8, & + 0.011943602492295802_r8, 0.012451461893723752_r8, 0.013371008417529558_r8, & + 0.014068076526168352_r8, 0.014479726537884798_r8, 0.014734690698285641_r8, & + 0.01482865688105285_r8, 0.014832211552263849_r8, 0.014795782136564573_r8, & + 0.014749010774758134_r8, 0.014727468035808265_r8, 0.014641464077985155_r8, & + 0.014637790122505333_r8, 0.014624764280349598_r8, 0.014621340821834309_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,35) / & + 0.00017080801905245758_r8, 0.00017221785488165923_r8, & + 0.00015947806566141891_r8, 0.00015490250756119173_r8, & + 0.00016045213405250369_r8, 0.00016873171537672428_r8, & + 0.00026328043275872915_r8, 0.00038265507742403943_r8, & + 0.00051573076301131835_r8, 0.00073340941504005254_r8, & + 0.0010106344058185216_r8, 0.0013632599800805659_r8, & + 0.0023537593669202168_r8, 0.0032436221089335833_r8, & + 0.003744870012972194_r8, 0.0041031477472404012_r8, & + 0.0046709014523492604_r8, 0.0054562184592826463_r8, & + 0.0063998215797673079_r8, 0.0075023644649604209_r8, & + 0.0085268921620412566_r8, 0.0095153536952732425_r8, & + 0.010369047739922909_r8, 0.011181792462078944_r8, 0.011856924390615541_r8, & + 0.01241034903702397_r8, 0.012969630910468264_r8, 0.013891381575600301_r8, & + 0.014618100678796323_r8, 0.015034809699840264_r8, 0.01526143760521209_r8, & + 0.015368070858570986_r8, 0.015371351931046218_r8, 0.015327049442199727_r8, & + 0.015284146947795963_r8, 0.015262249862900047_r8, 0.015183572051948046_r8, & + 0.015146941129837487_r8, 0.015098815445442932_r8, 0.015083715897729675_r8, & + 0.015064621319283199_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,35) / & + 0.00020007859800025396_r8, 0.00019949494497516901_r8, & + 0.00019088785736320928_r8, 0.00019496170759083348_r8, & + 0.00020582620544075872_r8, 0.00021672582993849824_r8, & + 0.00032568318495563122_r8, 0.00048875069700635057_r8, & + 0.00074121822993191105_r8, 0.0011921921364755554_r8, & + 0.0016945972548920195_r8, 0.0023212599291932098_r8, & + 0.003430149484540478_r8, 0.0041028469232047846_r8, & + 0.0044323933002535856_r8, 0.0047486251243222212_r8, & + 0.0053800094829575557_r8, 0.0061471339767256048_r8, & + 0.0069891555250860887_r8, 0.0080178377888597916_r8, & + 0.0090390794208597483_r8, 0.010036082631172493_r8, 0.010931347470400605_r8, & + 0.011749971149727466_r8, 0.012463849036838323_r8, 0.013069046947419656_r8, & + 0.013626059804107893_r8, 0.014540680564895391_r8, 0.015212346082480052_r8, & + 0.015600479145273214_r8, 0.01581358967716838_r8, 0.015909933495480203_r8, & + 0.0159082166270142_r8, 0.015857688257270283_r8, 0.01581683441409544_r8, & + 0.015772976939263012_r8, 0.015705576411182628_r8, 0.015605705255936351_r8, & + 0.015574658239334049_r8, 0.015544380438541354_r8, 0.015444482368557534_r8, & + 0.015444185141181331_r8, 0.015380800507942934_r8, 0.014949104601904_r8, & + 0.014949104601904_r8 & + / +data delta_sa_ref(:,25,35) / & + 0.0001894629246270407_r8, 0.00018675544720297732_r8, & + 0.00018511052246745344_r8, 0.00019563086727889597_r8, & + 0.00020271172116455207_r8, 0.00021006598123145896_r8, & + 0.00025628783383184375_r8, 0.00035544027954854056_r8, & + 0.00054303983056956315_r8, 0.000912104402898352_r8, & + 0.0013494211343478058_r8, 0.0019415977708773858_r8, & + 0.0029240920959720169_r8, 0.003864997515364412_r8, & + 0.0045537297670756377_r8, 0.0051836734239604446_r8, & + 0.0061054247805522295_r8, 0.0069899819187469129_r8, & + 0.0078381022954432927_r8, 0.008817334691174206_r8, & + 0.0098081380122007882_r8, 0.010827016935881251_r8, 0.011744093309622533_r8, & + 0.012564408848800807_r8, 0.013252596142833712_r8, 0.013846618862940887_r8, & + 0.014371623892681087_r8, 0.015241782494985034_r8, 0.015856559876859966_r8, & + 0.016211901416082898_r8, 0.016432324801040003_r8, 0.016506720092647767_r8, & + 0.016453428079040423_r8, 0.016390467840530901_r8, 0.016332453594822421_r8, & + 0.016256147768748518_r8, 0.016204018135669771_r8, 0.016143954790335258_r8, & + 0.016105987691708838_r8, 0.016078080864357497_r8, 0.01604131252573452_r8, & + 0.016016838784867732_r8, 0.015898615871777183_r8, 0.015415125306682665_r8, & + 0.015377924233471998_r8 & + / +data delta_sa_ref(:,26,35) / & + 0.00015907205089997698_r8, 0.00015747241205048892_r8, & + 0.00015673629505780413_r8, 0.00015960998254847738_r8, & + 0.00016167677256640002_r8, 0.0001618608018145712_r8, & + 0.00016865572790089221_r8, 0.00018441146276354896_r8, & + 0.00023043293090236049_r8, 0.00032740218859256623_r8, & + 0.00049019729274400671_r8, 0.00082517299270361819_r8, & + 0.0013352454442501136_r8, 0.0022044014272666473_r8, & + 0.0031580976156738239_r8, 0.0042663500603527769_r8, & + 0.0061344592707305882_r8, 0.0076540312411681709_r8, & + 0.0087840840737074058_r8, 0.0098797942173186899_r8, & + 0.010943808861956492_r8, 0.011986079743118066_r8, 0.012851512672883134_r8, & + 0.013618744764604852_r8, 0.014235087028922207_r8, 0.014750524640857694_r8, & + 0.015242519757795369_r8, 0.01606413957039968_r8, 0.016623489392168019_r8, & + 0.016955662185117026_r8, 0.017132018829249081_r8, 0.017206083523589977_r8, & + 0.017137638799366309_r8, 0.017038529948878688_r8, 0.016970080168906439_r8, & + 0.016856102361856411_r8, 0.016810286157109784_r8, 0.016725643320023052_r8, & + 0.016672756853122649_r8, 0.016642710842679615_r8, 0.01661902744848465_r8, & + 0.016676404879065247_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,35) / & + 0.00016350491917147653_r8, 0.00016014632924476045_r8, & + 0.00015788293168545186_r8, 0.0001460694566823506_r8, & + 0.00014882934144821728_r8, 0.00014636150798032592_r8, & + 0.00015087370053404442_r8, 0.00015427609815545676_r8, & + 0.00017333244534834568_r8, 0.00021697951183075555_r8, & + 0.00029662190078862214_r8, 0.00045519115302431601_r8, & + 0.00071990644950913583_r8, 0.0011095904963975901_r8, & + 0.001715611542261254_r8, 0.00257815584570153_r8, 0.0047931020946760695_r8, & + 0.0071788691478363656_r8, 0.0091628320252422329_r8, & + 0.010831160462361284_r8, 0.012198617652306171_r8, 0.013377964601225166_r8, & + 0.014288463727792989_r8, 0.015024914883332425_r8, 0.015559339553497441_r8, & + 0.015971759793933272_r8, 0.016364656405099456_r8, 0.016990887400783011_r8, & + 0.017413660859732068_r8, 0.017649448475152433_r8, 0.017754557737293748_r8, & + 0.017772489686989433_r8, 0.017725878299832572_r8, 0.017646849218600453_r8, & + 0.017568696291262263_r8, 0.017464903085282448_r8, 0.017382888561808793_r8, & + 0.017311123474333549_r8, 0.01728046434628824_r8, 0.017269892454365662_r8, & + 0.017254581247853163_r8, 0.017301743881834947_r8, 0.017287261057968351_r8, & + 0.017205121630412799_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,35) / & + 0.00019238684789928562_r8, 0.00018618664598012841_r8, & + 0.00018087433705424858_r8, 0.00016523839095229629_r8, & + 0.00017024971920248891_r8, 0.00017024971920248893_r8, & + 0.00017769899092574817_r8, 0.00019831616721032431_r8, & + 0.00022665349782627822_r8, 0.0002732603554564478_r8, & + 0.00033205693045195063_r8, 0.00042156858340133667_r8, & + 0.00057670907268432591_r8, 0.0008368617197145944_r8, & + 0.0012291599324053466_r8, 0.0018021217956773663_r8, & + 0.0035757557704009357_r8, 0.0059973860908453533_r8, & + 0.0086209443466083429_r8, 0.010966005183157929_r8, 0.012746561713422302_r8, & + 0.014211103583248855_r8, 0.01525481427232951_r8, 0.016131781667079428_r8, & + 0.01668781336734404_r8, 0.017072632210243965_r8, 0.017395930603033419_r8, & + 0.017765745559250333_r8, 0.017973362029339395_r8, 0.018089074050107352_r8, & + 0.018129766637460267_r8, 0.018131399457625874_r8, 0.018097731006791809_r8, & + 0.018044790387067647_r8, 0.017968980879378919_r8, 0.017897087345267085_r8, & + 0.01783687857969057_r8, 0.01780170898773651_r8, 0.017793760410570909_r8, & + 0.017804235559269257_r8, 0.0177946684047736_r8, 0.017818969477035485_r8, & + 0.017813809163350829_r8, 0.017733803985043026_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,35) / & + 0.00020601270799710286_r8, 0.00020086820111067655_r8, & + 0.00019925666883300081_r8, 0.0001834512561096428_r8, & + 0.00018287792251085432_r8, 0.00019305846776501728_r8, & + 0.00022332118447944692_r8, 0.00025857345305360327_r8, & + 0.00027617634408667652_r8, 0.00031302464943583873_r8, & + 0.00035244520822821397_r8, 0.00042786181972290368_r8, & + 0.00055337539134957031_r8, 0.00075786954008501728_r8, & + 0.0010637817537953447_r8, 0.0015096803386260801_r8, & + 0.0028881912471509594_r8, 0.0050277792648135379_r8, & + 0.0076589001226698792_r8, 0.010444123754578963_r8, 0.012614253408004027_r8, & + 0.014448874437619144_r8, 0.01568665519089546_r8, 0.016760152624864865_r8, & + 0.017418742479343462_r8, 0.017915838204995739_r8, 0.018282058915097547_r8, & + 0.018635216916448576_r8, 0.018775947071697142_r8, 0.018798709965119315_r8, & + 0.01873283858326932_r8, 0.018707445328268922_r8, 0.018643054597040125_r8, & + 0.018587704384797628_r8, 0.01849922921513323_r8, 0.018454050693571943_r8, & + 0.018452132571705724_r8, 0.018415671487900069_r8, 0.01838071678831826_r8, & + 0.018342551033195664_r8, 0.018338646166522834_r8, 0.018344938115381973_r8, & + 0.018449239893403732_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,35) / & + 0.00030640469329777772_r8, 0.00030108007479822221_r8, & + 0.00030418875925155556_r8, 0.00033313937959644438_r8, & + 0.00033419154971911106_r8, 0.00034839584637511104_r8, & + 0.00041911443219555555_r8, 0.00043210713901333328_r8, & + 0.0004630664477742222_r8, 0.00050400543072888883_r8, & + 0.00057214141715733339_r8, 0.00069159461002311115_r8, & + 0.00088430116218666665_r8, 0.0011499103502737777_r8, & + 0.0015094974606808891_r8, 0.0019756885348799999_r8, & + 0.0033642661413120002_r8, 0.005432593472901333_r8, & + 0.0079108686030417777_r8, 0.010606145849996444_r8, 0.012920967945777777_r8, & + 0.014843984206638221_r8, 0.01617069102146311_r8, 0.017287681200474664_r8, & + 0.017981412034686225_r8, 0.018521733276618664_r8, 0.018950588253434663_r8, & + 0.019501287718849777_r8, 0.01972900284054933_r8, 0.019715643468385776_r8, & + 0.019618493093726222_r8, 0.01956628114413533_r8, 0.019487924361193332_r8, & + 0.019415615563710222_r8, 0.019377610472877907_r8, 0.019362588580823556_r8, & + 0.019337306777489731_r8, 0.019274031327381733_r8, 0.019128308766712555_r8, & + 0.019022781471623999_r8, 0.018947886089256002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,35) / & + 0.00060442611519088496_r8, 0.00058147825529252331_r8, & + 0.00059788472301816077_r8, 0.0006062379111110162_r8, & + 0.00063997515460317226_r8, 0.00066946205606691533_r8, & + 0.00076736496041831495_r8, 0.00085455719951939952_r8, & + 0.00096377796083945842_r8, 0.0011146982894400079_r8, & + 0.0013333733473564126_r8, 0.0017119930286022872_r8, & + 0.0022287918454277364_r8, 0.0028075561749832056_r8, & + 0.0035130809942408767_r8, 0.0040989472544615182_r8, & + 0.0057340924275691768_r8, 0.0079294444796987624_r8, & + 0.010305759330023596_r8, 0.012572816545037384_r8, 0.01445853032000397_r8, & + 0.016046076087272324_r8, 0.017173181245548307_r8, 0.018105461443281894_r8, & + 0.018677888362918765_r8, 0.019127945256047624_r8, 0.019479760004107952_r8, & + 0.020057909767146873_r8, 0.020294264674611196_r8, 0.02025804212412614_r8, & + 0.020180176546480112_r8, 0.020156417404950552_r8, 0.020118953430102081_r8, & + 0.020048487233315239_r8, 0.020042587394756419_r8, 0.020045309924424708_r8, & + 0.020038174807167644_r8, 0.019978726558889385_r8, 0.019883082801052797_r8, & + 0.01992124738173013_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,35) / & + 0.0010013381520796729_r8, 0.0008441726995143088_r8, & + 0.0010352813876980398_r8, 0.0010527993133460454_r8, & + 0.0012614386134844535_r8, 0.0013763050035611468_r8, & + 0.0016381430380448144_r8, 0.0019503462511353455_r8, & + 0.0021093702476280445_r8, 0.0023529539494300134_r8, & + 0.0026068169266175436_r8, 0.0031002914688760715_r8, & + 0.0037288842560092876_r8, 0.0045837055166701741_r8, & + 0.0059536439182720008_r8, 0.0054175272721849318_r8, & + 0.0053168179586078638_r8, 0.0053528886157053835_r8, & + 0.005349909017128578_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,35) / & + 0.0012688963046989033_r8, 0.001028304957226627_r8, & + 0.0013421653365707355_r8, 0.0018231431237450565_r8, & + 0.0023114722857724935_r8, 0.0026264207747519006_r8, & + 0.0031556635996970658_r8, 0.0034974994444065678_r8, & + 0.0036376020463423702_r8, 0.0038052690637189425_r8, & + 0.0038996510022296293_r8, 0.0043804689366554869_r8, & + 0.0045225487134164044_r8, 0.0051369449123108242_r8, & + 0.0059713012704563353_r8, 0.0054428574006574514_r8, & + 0.0054139370142190909_r8, 0.0054462599805890468_r8, & + 0.0054744451061036785_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,35) / & + 0.0012991289886581717_r8, 0.0010562729952825719_r8, & + 0.0013258130327492301_r8, 0.0018227972710776568_r8, & + 0.0023927424142008457_r8, 0.0027326426812929985_r8, & + 0.0032220019953061291_r8, 0.0036597482779998397_r8, & + 0.0038760749913895466_r8, 0.0041271518306606391_r8, & + 0.0042361408618340791_r8, 0.0047390125181837328_r8, & + 0.0049285347267613508_r8, 0.0054184827825766047_r8, & + 0.0058316790107736712_r8, 0.0055245999025201782_r8, & + 0.0055862562467363765_r8, 0.0056009747917894447_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,35,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,35) / & + 0.00090141446975627328_r8, 0.00084149654421733348_r8, & + 0.0011108508525455999_r8, 0.001345640328960533_r8, & + 0.0014859107013797334_r8, 0.0018088090765992001_r8, & + 0.0026274299866048002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,37,35) / & + 0.00094520190312959997_r8, 0.00092435186114879996_r8, & + 0.0011343967285109334_r8, 0.0013652916378538668_r8, & + 0.0015189641694901336_r8, 0.0018811371209344_r8, 0.0026811609539754669_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,35) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,35) / & + 0.0035435551447644438_r8, 0.003378789044426666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,35) / & + 0.0035018649137245153_r8, 0.0033478899077112466_r8, & + 0.0025018987194266864_r8, 0.0019727034389802663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,35) / & + 0.0026827762069305048_r8, 0.002715420699042962_r8, & + 0.0020301420957388426_r8, 0.0021173515542612046_r8, & + 0.002005693796075798_r8, 0.0023969093628034843_r8, & + 0.0022011689249852441_r8, 0.002223320620623111_r8, & + 0.0021382619451651552_r8, 0.0020859033918392889_r8, & + 0.0021044110855973331_r8, 0.0020412803512758516_r8, & + 0.0019263344674175999_r8, 0.001980610916469689_r8, & + 0.0020261609399674666_r8, 0.0020451481076570665_r8, & + 0.0021686286274970067_r8, 0.0022109821581177479_r8, & + 0.0022651627123835261_r8, 0.0023850951251299553_r8, & + 0.0025010638867088587_r8, 0.0026576920376836736_r8, & + 0.0025786747337633179_r8, 0.0028360563402223403_r8, & + 0.0031985386324783404_r8, 0.003493766714601481_r8, & + 0.0036973193810111997_r8, 0.003784263987266607_r8, & + 0.0037849032858420137_r8, 0.0038511985481117631_r8, 0.0039079043317504_r8, & + 0.0039380792245096293_r8, 0.0039536461448207993_r8, & + 0.0039665919409727999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,35) / & + 0.001863135081293906_r8, 0.0021235959538265545_r8, & + 0.0017982720352464592_r8, 0.0021628032311534089_r8, & + 0.0019686965091750453_r8, 0.0023044581593030058_r8, & + 0.0023839252583144821_r8, 0.0023621288189057052_r8, & + 0.0021785913965199277_r8, 0.0020756613295332084_r8, & + 0.002127411427123463_r8, 0.0021485061702937285_r8, & + 0.0020543911623033153_r8, 0.0021098251651457578_r8, & + 0.0021320601647036048_r8, 0.0021857399269497677_r8, & + 0.0022738466608979227_r8, 0.0023012566702147953_r8, & + 0.0023812938974200623_r8, 0.0025145723267224235_r8, & + 0.0026579814954682999_r8, 0.0028096355950166909_r8, & + 0.0027970489187383834_r8, 0.0030563256788685433_r8, & + 0.0033787989564796833_r8, 0.0036094815948904818_r8, & + 0.0037892912560091646_r8, 0.0039466904935103733_r8, & + 0.0039027467665735636_r8, 0.003926779862742597_r8, & + 0.0039652854438309397_r8, 0.0039827401377639238_r8, & + 0.0040124149969934936_r8, 0.0040192070406735898_r8, & + 0.0040199505959120441_r8, 0.0040176933816447992_r8, & + 0.0041242634978687995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,35) / & + 0.0020683306718471644_r8, 0.0025543786849244183_r8, & + 0.0020560205217803589_r8, 0.0030232015063331031_r8, & + 0.0027322220250836807_r8, 0.0031200142982504295_r8, & + 0.0025650655184988971_r8, 0.0022510439614834041_r8, & + 0.0020832110730268183_r8, 0.0020975052765842437_r8, & + 0.002178851469699687_r8, 0.002238508350792665_r8, 0.0022524869094765832_r8, & + 0.0022849532393231014_r8, 0.0023242735721372178_r8, & + 0.0024067019762475457_r8, 0.0024498551396685431_r8, & + 0.0024601361441199412_r8, 0.0025433311143516447_r8, & + 0.0026956974040063478_r8, 0.0028159581008128263_r8, & + 0.0029423062344655282_r8, 0.0030255012046972317_r8, & + 0.0032368029014483227_r8, 0.0034833497302359214_r8, & + 0.0036921769966393354_r8, 0.0038879843951404604_r8, & + 0.0042064283622944209_r8, 0.0041568845174880095_r8, & + 0.0040285255971564222_r8, 0.0040201592365321347_r8, & + 0.0040093704625469764_r8, 0.0040681258232308235_r8, & + 0.0040784812296881193_r8, 0.0040879116839357254_r8, & + 0.0041146377057752282_r8, 0.0042376372660325986_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,35) / & + 0.0023467103988053331_r8, 0.0032193026987520001_r8, & + 0.0027911371539626655_r8, 0.0038983356342613324_r8, & + 0.0037248827236693329_r8, 0.0041665761129813335_r8, & + 0.0031297502211413337_r8, 0.0023415679647573336_r8, & + 0.0020968622292479996_r8, 0.0022165280593919993_r8, & + 0.0022072160842239994_r8, 0.0022953787147946664_r8, & + 0.0023439307047253329_r8, 0.002394474808746667_r8, & + 0.0024533579950079998_r8, 0.0025136773565439989_r8, & + 0.0025353589703679988_r8, 0.0025556044089173335_r8, & + 0.0026376053842773338_r8, 0.0027666295178239999_r8, & + 0.002867671397631999_r8, 0.0029979000652800001_r8, 0.003128314045866666_r8, & + 0.0033000064835413323_r8, 0.0035035727466666659_r8, & + 0.003680546603093332_r8, 0.0039027831447893328_r8, & + 0.0042479930216685717_r8, 0.0042666988737051423_r8, & + 0.0041575065337554271_r8, 0.004175222119776_r8, 0.0041887210091520006_r8, & + 0.0042180269267382857_r8, 0.0042152075227428563_r8, & + 0.0042350029155839991_r8, 0.0042541828047359996_r8, & + 0.0043636332591359996_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,36) / & + 0.0031804982093333336_r8, 0.0032239697580740737_r8, & + 0.0036278108496296292_r8, 0.0030721909839999998_r8, & + 0.0034102866970370368_r8, 0.0038386952875555554_r8, & + 0.0047440123392592601_r8, 0.0052805950279999998_r8, & + 0.0056373784592592584_r8, 0.0059212775706666649_r8, & + 0.006143622034074073_r8, 0.0063628823860740731_r8, & + 0.0066040324406666665_r8, 0.0067927096123703706_r8, & + 0.0069136666867407404_r8, 0.0069901634662222229_r8, & + 0.0071937897031111109_r8, 0.0074045174393333321_r8, & + 0.0075742586662222219_r8, 0.0076980821337037037_r8, & + 0.0078578069322222215_r8, 0.0080903772218518522_r8, & + 0.0081487382059259247_r8, 0.008270611915925926_r8, & + 0.0083837075570370369_r8, 0.0084988971766666675_r8, & + 0.0086239742577777778_r8, 0.0088253082122222194_r8, & + 0.0089637257392592585_r8, 0.0090364186888888878_r8, & + 0.0090737358822222201_r8, 0.0090885878755555555_r8, & + 0.0090696588644444444_r8, 0.008982086186666665_r8, & + 0.0089770107155555563_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,36) / & + 0.0020834207990123453_r8, 0.0020567768869135801_r8, & + 0.0021114699417283949_r8, 0.0017128559382716048_r8, & + 0.0018626146933333333_r8, 0.0021582493293827161_r8, & + 0.0028011885614814816_r8, 0.0036536365846913583_r8, & + 0.0041871157476543203_r8, 0.0046283396716049379_r8, & + 0.0049499433392592579_r8, 0.0053382862162962954_r8, & + 0.0057578584948148152_r8, 0.0059791268474074077_r8, & + 0.0061276190459259262_r8, 0.0062682160671604942_r8, & + 0.006465734173333332_r8, 0.0066272894696296292_r8, & + 0.0067746445407407411_r8, 0.0069092785767901222_r8, & + 0.0070446984325925931_r8, 0.0072068084251851842_r8, & + 0.0073300619422222209_r8, 0.0074749578597530873_r8, & + 0.0076196041639506173_r8, 0.0077749745965432094_r8, & + 0.0079295407195061722_r8, 0.0082626543353086414_r8, & + 0.0085530933160493823_r8, 0.0088291379279012341_r8, & + 0.009063987094814813_r8, 0.0092401031688888885_r8, & + 0.0093400779313580241_r8, 0.0093663612908641974_r8, & + 0.0093724409933950599_r8, 0.0093933852689788346_r8, & + 0.0092462908060740728_r8, 0.0092216387159259252_r8, & + 0.0093518883399999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,36) / & + 0.00093711316790123474_r8, 0.00091220730419753094_r8, & + 0.00081252837975308648_r8, 0.00064201473827160487_r8, & + 0.00066216870370370369_r8, 0.0007828428829629629_r8, & + 0.00095246901037037031_r8, 0.0014551902637037033_r8, & + 0.0019019703955555555_r8, 0.0024061893288888892_r8, & + 0.0029070431046913574_r8, 0.0033414627540740744_r8, & + 0.0040260596780246913_r8, 0.0045527530562962963_r8, & + 0.004889546157530864_r8, 0.0051834057654320991_r8, & + 0.0055633634834567893_r8, 0.0058028813441975309_r8, & + 0.0059796630538271594_r8, 0.0061150736646913588_r8, & + 0.0062242286508641959_r8, 0.0063461878765432101_r8, & + 0.006468082387654321_r8, 0.0065968458879012339_r8, & + 0.0067303520414814817_r8, 0.0068858056785185175_r8, & + 0.0070576228562962964_r8, 0.0074882520809876549_r8, & + 0.0079065947827160494_r8, 0.008291923809876544_r8, & + 0.0086630803466666659_r8, 0.0090112447219753092_r8, & + 0.0093405401782716037_r8, 0.0095731890498765432_r8, & + 0.0097957559861199302_r8, 0.0099081991987301585_r8, & + 0.0096287416528271601_r8, 0.0093044370434391521_r8, & + 0.0093518883399999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,36) / & + 0.00050172279999999997_r8, 0.00049513115901234561_r8, & + 0.00042160616493827158_r8, 0.0004049467861728395_r8, & + 0.00041412700987654319_r8, 0.00045877081679012349_r8, & + 0.00065689908888888883_r8, 0.00080138822913580245_r8, & + 0.00095768315555555539_r8, 0.0012369450059259259_r8, & + 0.001608101542716049_r8, 0.0018771754711111111_r8, & + 0.0023959366923456795_r8, 0.0029302109200000002_r8, & + 0.0033102980671604939_r8, 0.0036793282681481477_r8, & + 0.0042497224696296295_r8, 0.0047041389204938279_r8, & + 0.0050096286607407411_r8, 0.005337953398518518_r8, & + 0.0055563188404938275_r8, 0.0057316398498765417_r8, & + 0.0059069146345679001_r8, 0.0060697272424691355_r8, & + 0.0062034275397530869_r8, 0.0063444313382716054_r8, & + 0.0064943472572839504_r8, 0.0069117689320370374_r8, & + 0.0073473834896913576_r8, 0.0077859506495061726_r8, & + 0.0082207135172222244_r8, 0.008599814922839507_r8, & + 0.0089950992627248674_r8, 0.0093248958276931221_r8, 0.00937427107845238_r8, & + 0.010012115606666667_r8, 0.01003370716_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,36) / & + 0.00032157593283950616_r8, 0.00031574237679012345_r8, & + 0.00030757909629629623_r8, 0.00035375756296296298_r8, & + 0.00035654953432098763_r8, 0.00037580674074074068_r8, & + 0.00042251216888888887_r8, 0.0004665365649382716_r8, & + 0.000507315987654321_r8, 0.00059211980641975313_r8, & + 0.0007044550513580247_r8, 0.00076015580444444442_r8, & + 0.00089719352444444416_r8, 0.001073531477037037_r8, & + 0.0012189636009876544_r8, 0.0014036219980246912_r8, & + 0.0017649049407407408_r8, 0.0021622616325925924_r8, & + 0.0025309220360493828_r8, 0.0030500253200000001_r8, & + 0.0035032953985185177_r8, 0.0038466708958024699_r8, & + 0.0042811645046913578_r8, 0.004731411488395061_r8, & + 0.0050947005827160488_r8, 0.0053993120538271587_r8, & + 0.0056373229896296293_r8, 0.0060811487033509692_r8, & + 0.0064869011198589064_r8, 0.0068648274277865965_r8, & + 0.0072782026260758362_r8, 0.0077064818204761899_r8, & + 0.0080259607701922385_r8, 0.0082743821998589057_r8, & + 0.0085357072851358039_r8, 0.0088424400073333336_r8, & + 0.008899923461866667_r8, 0.0090373755399999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,36) / & + 0.00019146267160493827_r8, 0.00019237792049382711_r8, & + 0.00021149645283950616_r8, 0.00019877541777777778_r8, & + 0.00020587553037037037_r8, 0.00022048253283950611_r8, & + 0.00026289830962962962_r8, 0.00027896601234567902_r8, & + 0.00029975787851851856_r8, 0.00030891961234567899_r8, & + 0.00032168687209876539_r8, 0.00033263287901234568_r8, & + 0.00037809948543209867_r8, 0.00045718993234567906_r8, & + 0.00051969495999999997_r8, 0.00059810128148148143_r8, & + 0.0007751418493827161_r8, 0.00099042872691358034_r8, & + 0.0012862667516049381_r8, 0.0017115339120987651_r8, & + 0.0021952660622222226_r8, 0.002676344915061728_r8, & + 0.0031866747525925929_r8, 0.0038098483066666662_r8, & + 0.0043882486246913576_r8, 0.0048559315619753091_r8, & + 0.0052059726597530869_r8, 0.005831956675061728_r8, & + 0.0062939262404938271_r8, 0.0067053814632098757_r8, & + 0.0071162819896296295_r8, 0.0074616359037037033_r8, & + 0.0077704260869135792_r8, 0.0080074015896296306_r8, & + 0.0083465244153086426_r8, 0.0085967005342592589_r8, & + 0.0087457655557566134_r8, 0.0089624776725925909_r8, & + 0.0089262906729629631_r8, 0.0089223661966666683_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,36) / & + 0.00010164809629629627_r8, 0.00010186072987654321_r8, & + 0.0001126957975308642_r8, 0.00011219657086419753_r8, & + 0.00011971270567901234_r8, 0.00012103473185185185_r8, & + 0.00018806977925925922_r8, 0.00017476631308641975_r8, & + 0.00018975235802469134_r8, 0.00021059969382716047_r8, & + 0.00022305262567901229_r8, 0.0002324824627160494_r8, & + 0.00024705248543209881_r8, 0.00028113857283950614_r8, & + 0.00033315059555555555_r8, 0.00037427208098765439_r8, & + 0.00051394460839506166_r8, 0.0007115551639506173_r8, & + 0.00099535627901234554_r8, 0.0014628728074074075_r8, & + 0.0019466326923456791_r8, 0.0024715048177777776_r8, & + 0.0031091559451851855_r8, 0.0037430906074074071_r8, & + 0.0043893025476543224_r8, 0.0048681811051851853_r8, & + 0.005238265229135803_r8, 0.0058773030972839504_r8, & + 0.0063429429032098748_r8, 0.0068021574770370371_r8, & + 0.0072176527377777779_r8, 0.0075130100256790124_r8, & + 0.0077696957367901212_r8, 0.0079429828597530876_r8, & + 0.0082668330474074056_r8, 0.0085288715777777774_r8, & + 0.0086781576853703704_r8, 0.0088726485695238104_r8, & + 0.0088818089826455029_r8, 0.0088999326935978833_r8, & + 0.0088841769167499994_r8, 0.0089051428766666659_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,36) / & + 6.3469505839506172e-05_r8, 6.1161969246913584e-05_r8, & + 6.602480677777778e-05_r8, 0.00010245379266666666_r8, & + 0.00011029442481481481_r8, 0.00010420980265608464_r8, & + 0.00018634150408465609_r8, 0.00015232039538624336_r8, & + 0.00014888860826455029_r8, 0.00015113076993650789_r8, & + 0.00016246935655026454_r8, 0.00018853433740740737_r8, & + 0.00022001612570370367_r8, 0.00025158805214814812_r8, & + 0.00028619694081481479_r8, 0.00031554592185185183_r8, & + 0.00042457286562962957_r8, 0.00060438599051851848_r8, & + 0.00091120376614814804_r8, 0.0014306130575555557_r8, & + 0.0019516115538518515_r8, 0.0025265986406666665_r8, & + 0.0032611260894814809_r8, 0.0038848279917777784_r8, & + 0.0045181663554814816_r8, 0.004963902271555555_r8, & + 0.0053147615463703694_r8, 0.0059183279731111101_r8, & + 0.0063898628139259263_r8, 0.0068501706017037034_r8, & + 0.0072527386652592573_r8, 0.0075470688405185182_r8, & + 0.0077952441237037042_r8, 0.0079698555840740752_r8, & + 0.0082331144462962965_r8, 0.0084676799091666678_r8, & + 0.0086307616603333321_r8, 0.0087903528364761899_r8, & + 0.0088177574088888887_r8, 0.0088916991185555537_r8, & + 0.0088876100361333331_r8, 0.0089150806075000005_r8, & + 0.0090422430000000002_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,36) / & + 4.8526999860526259e-05_r8, 4.775935111111112e-05_r8, & + 5.4166093333333327e-05_r8, 0.00010483759999999997_r8, & + 9.5477099999999987e-05_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,36) / & + 0.00031481745559234489_r8, 0.00025542367988594286_r8, & + 0.00025491336325546667_r8, 0.00032007059063466665_r8, & + 0.00043531029212880005_r8, 0.00042223598005600003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,36) / & + 0.00033291719987783706_r8, 0.00026196183473226671_r8, & + 0.00026044696913161481_r8, 0.00035877229482962966_r8, & + 0.00045214261835816301_r8, 0.00043995430072931222_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,36) / & + 0.00033303807427015591_r8, 0.00027306767394979044_r8, & + 0.00027025835794350714_r8, 0.00034419551010158732_r8, & + 0.00042168693150192741_r8, 0.00042513347166026668_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,36) / & + 0.00034169157535962586_r8, 0.0003290240012416_r8, 0.0003258045883136_r8, & + 0.00034190165295360002_r8, 0.00038922702299520006_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,36) / & + 0.00016314005802558926_r8, 0.00016059479680500827_r8, & + 0.00014864357337331525_r8, 0.00013090520737051993_r8, & + 0.00014055106350004741_r8, 0.00014786318917904423_r8, & + 0.00020551062554082904_r8, 0.00029387031513516525_r8, & + 0.0003876399439349627_r8, 0.00048123303201689837_r8, & + 0.00062184320749905273_r8, 0.00083813395002786217_r8, & + 0.0015488746866355774_r8, 0.0021986842234988204_r8, & + 0.0026153905628326971_r8, 0.0030602676052446849_r8, & + 0.0036694001461338569_r8, 0.0044414577682885779_r8, & + 0.0055336542221830409_r8, 0.0067872467980928681_r8, & + 0.0078309488951867467_r8, 0.0088429993091620387_r8, & + 0.0096373548722263683_r8, 0.010440585449967461_r8, 0.011122041103350081_r8, & + 0.011754286164166862_r8, 0.012323513610839339_r8, 0.013255456951089937_r8, & + 0.013979092582233836_r8, 0.014480982733773609_r8, 0.014726440070487144_r8, & + 0.014817884451273303_r8, 0.014848151906721216_r8, 0.014808183724380117_r8, & + 0.014747662862520406_r8, 0.014710434242219999_r8, 0.014632529686250131_r8, & + 0.014629022728746666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,36) / & + 0.00016351532280867815_r8, 0.00016166971954135965_r8, & + 0.00015527419155252669_r8, 0.00014968611499314565_r8, & + 0.00015759401232603125_r8, 0.0001690136825425646_r8, & + 0.00024715703754840489_r8, 0.00035884166859988795_r8, & + 0.00048749559635921641_r8, 0.00065511225976193561_r8, & + 0.00089183651217424845_r8, 0.0012711592503656295_r8, & + 0.002391235366598268_r8, 0.0031354748841444608_r8, & + 0.0034985716936106665_r8, 0.0038499412323157864_r8, & + 0.0044023149101969916_r8, 0.0051242277548843715_r8, & + 0.0061503703548241116_r8, 0.0073341966839153777_r8, & + 0.0083960593970913433_r8, 0.0094523340337079303_r8, & + 0.010280625400053253_r8, 0.01107401692128116_r8, 0.011755710994768223_r8, & + 0.012384343974319881_r8, 0.012946689036520348_r8, 0.013875386347283539_r8, & + 0.014615985925052524_r8, 0.015079962896442778_r8, 0.015291957346741962_r8, & + 0.015361640405103658_r8, 0.015382827674278687_r8, 0.015357701764534047_r8, & + 0.015312201405667272_r8, 0.015275697911528901_r8, 0.015201224798615819_r8, & + 0.01513277648179716_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,36) / & + 0.0001851934785327012_r8, 0.00018067074157218763_r8, & + 0.00017686421515674072_r8, 0.00017612147829519011_r8, & + 0.00018964989970200491_r8, 0.00020120211053076541_r8, & + 0.00028485284956290363_r8, 0.00042359874793220745_r8, & + 0.00064466906950945185_r8, 0.0010203082372386766_r8, & + 0.001536762356022953_r8, 0.0022372295322563946_r8, & + 0.0033979150363281376_r8, 0.0040712192644820145_r8, & + 0.0043832350621244845_r8, 0.0046714965433555748_r8, & + 0.0052345839265186362_r8, 0.0060379599475515649_r8, & + 0.0070081599729520608_r8, 0.0080544109477120387_r8, & + 0.0090684191847857781_r8, 0.010062081737116325_r8, 0.010979123024282982_r8, & + 0.011827859046503467_r8, 0.01253714622296782_r8, 0.013156893818140602_r8, & + 0.013720379096050922_r8, 0.014639913856967069_r8, 0.015292753031953581_r8, & + 0.015677683278873422_r8, 0.01586989983653736_r8, 0.015943320843722724_r8, & + 0.015957754049363754_r8, 0.015936158501429949_r8, 0.015908059174378503_r8, & + 0.015847674099113369_r8, 0.015764000007449038_r8, 0.015651399772922139_r8, & + 0.015571133460294399_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,25,36) / & + 0.00018953559503868313_r8, 0.00018779447239348145_r8, & + 0.00018901462920783537_r8, 0.00019678798778916871_r8, & + 0.00020279280447104526_r8, 0.00020802988203377776_r8, & + 0.00024892569975532513_r8, 0.0003216689812942222_r8, & + 0.00046871844186455956_r8, 0.00075091740665850215_r8, & + 0.0011764505230712099_r8, 0.0017400532942856953_r8, & + 0.0027793252883184195_r8, 0.0037025589983433753_r8, & + 0.0043463082497456462_r8, 0.0049274456340562961_r8, & + 0.0058466075848243619_r8, 0.0067636993818961646_r8, & + 0.0076997653029125257_r8, 0.0086926164994912906_r8, & + 0.0096771733716578771_r8, 0.010735090458584099_r8, 0.011678326514588179_r8, & + 0.012543637049999144_r8, 0.013277313621285642_r8, 0.013888030505383111_r8, & + 0.014418692959646364_r8, 0.015290658294953909_r8, 0.015915074034329065_r8, & + 0.016281303220824217_r8, 0.016511331913287578_r8, 0.016587440614508567_r8, & + 0.016587790063111459_r8, 0.01654029046489142_r8, 0.016453215775671763_r8, & + 0.016311564529745862_r8, 0.016151280872331555_r8, 0.015973395889796221_r8, & + 0.015871069803471111_r8, 0.015699477539787333_r8, 0.015548541522333715_r8, & + 0.015395533270258284_r8, 0.015354445517756951_r8, 0.015229675180528_r8, & + 0.015231340900223999_r8 & + / +data delta_sa_ref(:,26,36) / & + 0.00016844338646069466_r8, 0.00017008549359822224_r8, & + 0.00017210981532810537_r8, 0.00018112724848849384_r8, & + 0.00018359040919478517_r8, 0.00018448224324361478_r8, & + 0.0001938535788043325_r8, 0.00020035122687437696_r8, & + 0.00022853601403659586_r8, 0.00030595570313261572_r8, & + 0.00044627092681514408_r8, 0.00074000991908839526_r8, & + 0.0012784370309492673_r8, 0.0021698605529945148_r8, & + 0.0030616946018241446_r8, 0.0041317822116515952_r8, & + 0.0059707864886263309_r8, 0.0075117341640437985_r8, & + 0.0086564243998606492_r8, 0.0096946466375624554_r8, & + 0.010777403953321694_r8, 0.011902558776640367_r8, 0.012770115120807413_r8, & + 0.013541962099829427_r8, 0.014179113825286136_r8, 0.014692725300835924_r8, & + 0.01518051605725769_r8, 0.015980250545425647_r8, 0.016549821068515491_r8, & + 0.016924897449456404_r8, 0.017116438276074588_r8, 0.017150427062602207_r8, & + 0.017123527952302896_r8, 0.017087217060454261_r8, 0.016980579189187057_r8, & + 0.016881517862736051_r8, 0.016740662482875649_r8, 0.016592558322379245_r8, & + 0.016486988768704299_r8, 0.016420845282199396_r8, 0.016429112037811201_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,36) / & + 0.00016134373956645925_r8, 0.00016071582927581235_r8, & + 0.00015731343165439998_r8, 0.00015020198254870123_r8, & + 0.00015510844435468639_r8, 0.00015658330340946171_r8, & + 0.00016372395764495802_r8, 0.00016407441920252835_r8, & + 0.00018038548419444935_r8, 0.00021778265290018763_r8, & + 0.00029415406732073083_r8, 0.00043743443410741733_r8, & + 0.0006507487021485828_r8, 0.0010434992876657775_r8, & + 0.0016403207176432196_r8, 0.0025532584725491353_r8, & + 0.0047709207985948444_r8, 0.0070826966554130974_r8, & + 0.0090507281345144075_r8, 0.010539328202859456_r8, 0.0119593692290048_r8, & + 0.01315575737116065_r8, 0.014069673497914785_r8, 0.014802254973756047_r8, & + 0.015346010682891376_r8, 0.015790863219967369_r8, 0.016183496984965372_r8, & + 0.016776828401932013_r8, 0.017205793348398144_r8, 0.017471779068029155_r8, & + 0.017600296241703187_r8, 0.017589519548807896_r8, 0.017547245123425974_r8, & + 0.017553422008378155_r8, 0.017473969452763971_r8, 0.017441055271482153_r8, & + 0.017332207752726758_r8, 0.017229663066045786_r8, 0.017190410048240463_r8, & + 0.017154103189169493_r8, 0.017149923935095467_r8, 0.017240605863116799_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,36) / & + 0.00018565992979767575_r8, 0.00018240933850025354_r8, & + 0.00017557707716215313_r8, 0.00015804495280337126_r8, & + 0.00017387653634452017_r8, 0.00018042286604071775_r8, & + 0.00018507301748008561_r8, 0.00021395211331227655_r8, & + 0.00023529164321850211_r8, 0.00027538226922004281_r8, & + 0.00034051448743876219_r8, 0.00042423226238116874_r8, & + 0.00054816105559539106_r8, 0.00079058594082768085_r8, & + 0.0011870226378091328_r8, 0.0017587354312770507_r8, & + 0.0035837317583066477_r8, 0.0060884929413758827_r8, & + 0.0087817432725942526_r8, 0.01105365075591805_r8, 0.012859218780332039_r8, & + 0.014272022072007954_r8, 0.01523988939307387_r8, 0.016062842043313263_r8, & + 0.016619058094241735_r8, 0.017049735105341055_r8, 0.01735792534314199_r8, & + 0.017715852906332992_r8, 0.017925928549782068_r8, 0.018038170693331745_r8, & + 0.018126499115999839_r8, 0.018084716226149249_r8, 0.018015050002784048_r8, & + 0.018021582143391241_r8, 0.017924240908136248_r8, 0.01791493953032653_r8, & + 0.017858212842434967_r8, 0.017822562480879732_r8, 0.01782819448099875_r8, & + 0.01781906699477441_r8, 0.017823398407678225_r8, 0.017915227611830401_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,36) / & + 0.00021896694822918849_r8, 0.0002087709074723555_r8, & + 0.00021413235139616129_r8, 0.00019062567384583372_r8, & + 0.00019122999844996212_r8, 0.00020777919530147815_r8, & + 0.00023556263158871444_r8, 0.00029791653433262877_r8, & + 0.00031948627404921145_r8, 0.00034308592461555884_r8, & + 0.00038230504187322472_r8, 0.00043626038217002138_r8, & + 0.00054350475614880654_r8, 0.00071432717758243287_r8, & + 0.0010450786820727044_r8, 0.0015006619560721645_r8, & + 0.0028486157333318845_r8, 0.0051074416440397953_r8, & + 0.0078322638065413779_r8, 0.010573697147905159_r8, 0.012808350074447934_r8, & + 0.014604230410450319_r8, 0.015835425575091905_r8, 0.016874058128053902_r8, & + 0.017579965049485481_r8, 0.018133398161582496_r8, 0.018504477541887551_r8, & + 0.018927920099590063_r8, 0.019114736646833132_r8, 0.019159287102466557_r8, & + 0.019105340782765958_r8, 0.019025381664663572_r8, 0.018888731087880441_r8, & + 0.018775088814543012_r8, 0.018688719289997685_r8, 0.018663878062279905_r8, & + 0.018632343133172798_r8, 0.018467135538755109_r8, 0.018445552932237198_r8, & + 0.018399411005467943_r8, 0.018410853659414576_r8, 0.0184730874720128_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,36) / & + 0.00033745965388799998_r8, 0.00030025109227733337_r8, & + 0.00032355825469155555_r8, 0.00029006417245333333_r8, & + 0.00029154677580799999_r8, 0.00032164521810488887_r8, & + 0.0003940855368533334_r8, 0.00044159261208888889_r8, & + 0.00047551712755911107_r8, 0.0004969271953582222_r8, & + 0.00054961541134933322_r8, 0.00062591368721422224_r8, & + 0.0007795783510382221_r8, 0.00098054284446755539_r8, & + 0.0013173488775217778_r8, 0.0017556415014986664_r8, & + 0.0030903352440728891_r8, 0.0051525089746417771_r8, & + 0.0077607769335926672_r8, 0.010555550017772001_r8, 0.012870500218681904_r8, & + 0.014796171956518604_r8, 0.016180137493643967_r8, 0.017331802030144981_r8, & + 0.018124635561175526_r8, 0.018767053459120702_r8, 0.019295016256960829_r8, & + 0.019979033306289907_r8, 0.020258593939977022_r8, 0.020222197621817116_r8, & + 0.020067835496737556_r8, 0.01991954014586908_r8, 0.019758601957522857_r8, & + 0.019682874745853333_r8, 0.0195782842530688_r8, 0.019607424582875198_r8, & + 0.019515128219714881_r8, 0.019400292937749596_r8, 0.019484421112943996_r8, & + 0.019336244472828001_r8, 0.019109298551255996_r8, 0.018960153436368001_r8, & + 0.018899462350655996_r8, 0.018847810362815996_r8, 0.018789379051571999_r8 & + / +data delta_sa_ref(:,31,36) / & + 0.00051211681498184586_r8, 0.00049685478717030075_r8, & + 0.00053060034194296612_r8, 0.00053910945434059018_r8, & + 0.00056983075655041857_r8, 0.00060758035850372435_r8, & + 0.0007018279382750137_r8, 0.00083003119603748178_r8, & + 0.00094317581824030839_r8, 0.0010780421476449934_r8, & + 0.0012474956952992864_r8, 0.0014622252361794839_r8, & + 0.0017840971329509355_r8, 0.0022710639545810672_r8, & + 0.0028716544091160617_r8, 0.0035274865504489384_r8, & + 0.0051584476376516824_r8, 0.0075525321227659908_r8, & + 0.010089057323276017_r8, 0.012561148794865301_r8, 0.014522389048785809_r8, & + 0.016092574541094848_r8, 0.017269603571366136_r8, 0.018253187664840465_r8, & + 0.01893020596255364_r8, 0.019506945032051443_r8, 0.020005836843838439_r8, & + 0.020750777786535574_r8, 0.021096956824810834_r8, 0.021049200466208506_r8, & + 0.020950588352097017_r8, 0.020806451433115637_r8, 0.02070248477653594_r8, & + 0.020540181271325546_r8, 0.020484824850812038_r8, 0.020465466005540927_r8, & + 0.020326065726292981_r8, 0.020248890701923511_r8, 0.020101036533469216_r8, & + 0.01998222642740588_r8, 0.019741639439318212_r8, 0.019659610612498692_r8, & + 0.019566435304973404_r8, 0.019545243295578659_r8, 0.019458057377733179_r8 & + / +data delta_sa_ref(:,32,36) / & + 0.00077431230930636392_r8, 0.00069738393934106521_r8, & + 0.00079739669351357016_r8, 0.00091211917517785787_r8, & + 0.0010504600125080797_r8, 0.0010991613480675155_r8, & + 0.001470097290947066_r8, 0.001777514158941974_r8, 0.0019638487760532588_r8, & + 0.0021805704903917209_r8, 0.0023876447709772208_r8, & + 0.0027900007358420175_r8, 0.0035864960359158725_r8, & + 0.0045604443617053483_r8, 0.0056268011882802827_r8, & + 0.0057228233023527263_r8, 0.0065227045579218813_r8, & + 0.007279669420889822_r8, 0.0091630096665462242_r8, 0.014960359008124802_r8, & + 0.016592507676080444_r8, 0.017950226278373421_r8, 0.018928288214256891_r8, & + 0.019700215102888975_r8, 0.020322370220695649_r8, 0.020818730687285514_r8, & + 0.021365545377127645_r8, 0.022168835701835466_r8, 0.022413947772905601_r8, & + 0.022283039517980802_r8, 0.022068268162244799_r8, 0.021850769551197868_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,36) / & + 0.0009264944930672121_r8, 0.00086450785762387733_r8, & + 0.0010156265975395555_r8, 0.0011284757254039939_r8, & + 0.0014046010427564955_r8, 0.0016782620355759166_r8, & + 0.0022418578950773251_r8, 0.0024778748617367936_r8, & + 0.0028292951439604858_r8, 0.0031702766096750106_r8, & + 0.003446252443105975_r8, 0.0039348151506161102_r8, & + 0.0043806945820795721_r8, 0.005194612177064334_r8, & + 0.0060040757128320896_r8, 0.0061475251931143553_r8, & + 0.0067873757820294213_r8, 0.0069203203445308585_r8, & + 0.0088502603797539544_r8, 0.01693234621659093_r8, 0.018343802782084261_r8, & + 0.019920434760531198_r8, 0.020897489321900796_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,36) / & + 0.0011072621556976554_r8, 0.00093396465270200997_r8, & + 0.0010706219147236463_r8, 0.0012365428505185547_r8, & + 0.0016518069687658564_r8, 0.0020189844917012085_r8, & + 0.0026127274382034666_r8, 0.0030303880210670597_r8, & + 0.0033924415788821453_r8, 0.0038216851096717916_r8, & + 0.0039987476966274939_r8, 0.0044294072392040877_r8, & + 0.0047592334229219968_r8, 0.0052643201262812349_r8, & + 0.0056305712900635452_r8, 0.005497916770146969_r8, & + 0.0055820103482142457_r8, 0.0056024047642559815_r8, & + 0.0056090021825534811_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,36) / & + 0.0011312863500454208_r8, 0.00098288041194783218_r8, & + 0.0011019845649796265_r8, 0.0013081990778005335_r8, & + 0.0017473428680295617_r8, 0.002145235764188038_r8, & + 0.0025831773234147558_r8, 0.0031133203032229929_r8, & + 0.0034434349438848002_r8, 0.003998603956802369_r8, & + 0.0041598010524183703_r8, 0.0045993923202702217_r8, & + 0.0049205597451733325_r8, 0.0054218164671573331_r8, & + 0.0057784374389653328_r8, 0.0056422663764586663_r8, & + 0.0057265452232533329_r8, 0.005744210658389334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,36,36) / & + 0.00089829824131998858_r8, 0.00090609377600124629_r8, & + 0.0010936731785038221_r8, 0.0012809601016783468_r8, & + 0.0014219343397656001_r8, 0.0018302322895911408_r8, & + 0.0031639180746656885_r8, 0.0034115489098459997_r8, & + 0.0035459387719007241_r8, 0.0038636694803021875_r8, & + 0.0039109793084192001_r8, 0.0040512496808384002_r8, & + 0.0041228931506223998_r8, 0.0042039633927464003_r8, & + 0.0041387301281535999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,37,36) / & + 0.00094645168575156085_r8, 0.00096769363565868253_r8, & + 0.0011297004639111428_r8, 0.0012764401420821887_r8, & + 0.0014376661662933929_r8, 0.0019227943035750523_r8, & + 0.0032370705506454436_r8, 0.0033297388339374751_r8, & + 0.0035188693073373869_r8, 0.0039608387157452083_r8, & + 0.0040211408124699258_r8, 0.0041773445220421338_r8, & + 0.0043283142704586665_r8, 0.0043738754733056006_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,36) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,36) / & + 0.0037035008833562677_r8, 0.0034617140883466658_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,36) / & + 0.0037331198185026767_r8, 0.0035083443406506028_r8, & + 0.0027487116736853328_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,36) / & + 0.0030075961304685326_r8, 0.0029988963423548637_r8, & + 0.0021607766710654854_r8, 0.0023972600637362789_r8, & + 0.0027629114503589418_r8, 0.0042708085610661684_r8, & + 0.0025184911658744651_r8, 0.0023978171667805625_r8, & + 0.0021622036768141626_r8, 0.0020797021956578368_r8, & + 0.002092488167165985_r8, 0.0020683866108731253_r8, & + 0.0019393122284983703_r8, 0.0020124479855249777_r8, & + 0.0020576463948062812_r8, 0.0020903784818671403_r8, & + 0.0022036621894293328_r8, 0.0022430429816744295_r8, & + 0.0023113200695279402_r8, 0.0024355357827295998_r8, & + 0.002546709804992948_r8, 0.0026872915617250368_r8, & + 0.0026507236832117326_r8, 0.0029417323947371846_r8, & + 0.0032349147214190215_r8, 0.0034956846103277031_r8, & + 0.0036863873753717326_r8, 0.0037890495937453711_r8, & + 0.003779942328896853_r8, 0.0038427438244519993_r8, 0.003897547694828799_r8, & + 0.0039286176055935993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,36) / & + 0.0019861950591229366_r8, 0.0023018267984085856_r8, & + 0.0019301470720717959_r8, 0.002378530968480922_r8, & + 0.0021414014958787953_r8, 0.0026751291972969349_r8, & + 0.0028299847859335377_r8, 0.0026186865061116316_r8, & + 0.0021637680634813625_r8, 0.0020926774633171228_r8, & + 0.0021236398098414618_r8, 0.0021692062093298303_r8, & + 0.0020714950081170435_r8, 0.0021269728669743933_r8, & + 0.0021542074522316376_r8, 0.0022063961099709631_r8, & + 0.0022914767788905347_r8, 0.0023232285336832002_r8, & + 0.0024082653465878645_r8, 0.0025403158074728295_r8, & + 0.0026702611796422583_r8, 0.002815117596880066_r8, & + 0.0028119161077918551_r8, 0.003091717482898488_r8, & + 0.0033723959783032624_r8, 0.0035972128747202505_r8, & + 0.0037743802109407869_r8, 0.0039687673373144626_r8, & + 0.0039186061979643054_r8, 0.0039242590190057434_r8, & + 0.003958803524827686_r8, 0.003950445664786785_r8, 0.0039784203202955851_r8, & + 0.0039857223467776003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,36) / & + 0.0021225764979657218_r8, 0.0026394675243971689_r8, & + 0.0021160832319964185_r8, 0.0031178498762606619_r8, & + 0.0029184074083285073_r8, 0.0033608062446121088_r8, & + 0.0027313201825879445_r8, 0.0022762504592392426_r8, & + 0.0020795135187942982_r8, 0.0021052160299227921_r8, & + 0.0021953100952468805_r8, 0.0022629031903023409_r8, & + 0.0022673222185314503_r8, 0.0022968575602668249_r8, & + 0.0023408674740587727_r8, 0.0024203648900579557_r8, & + 0.0024577011693814516_r8, 0.0024716346359405835_r8, & + 0.002556047093541531_r8, 0.0027053471187107291_r8, & + 0.0028220004455342617_r8, 0.0029480329343134549_r8, & + 0.0030309573517964383_r8, 0.0032470259303107093_r8, & + 0.0034902415783796799_r8, 0.0037086438353949726_r8, & + 0.0038963103338957431_r8, 0.0042138455336919473_r8, & + 0.0041613177175277676_r8, 0.0040308301268196347_r8, & + 0.0040229587327865338_r8, 0.0040227000167205691_r8, & + 0.0040777710287227256_r8, 0.0040871050985535999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,36) / & + 0.0023679750585173329_r8, 0.0032426521290239993_r8, & + 0.0027907665280853325_r8, 0.0039227506139306659_r8, & + 0.0037422558116693332_r8, 0.0042082715241813333_r8, & + 0.0031494397208746664_r8, 0.0023505556422826666_r8, & + 0.0021030702126933329_r8, 0.0022261180039679996_r8, & + 0.0022189371275946664_r8, 0.0023052929570133332_r8, & + 0.0023475906352639995_r8, 0.0023979494263466667_r8, & + 0.0024573422231893333_r8, 0.0025171983023786659_r8, & + 0.0025379070232746663_r8, 0.0025573648818346668_r8, & + 0.002639412185429334_r8, 0.0027684826472106658_r8, & + 0.0028701267940693317_r8, 0.0029998458511359995_r8, & + 0.0031298428776106663_r8, 0.003301905941162666_r8, & + 0.0035032137028479988_r8, 0.0036742807093546664_r8, & + 0.0038974785619200003_r8, 0.0042353603048228576_r8, & + 0.0042588884297142856_r8, 0.0041629889839542855_r8, & + 0.0041766293399039993_r8, 0.0041910440392045707_r8, & + 0.0042207669109028565_r8, 0.004216309472895999_r8, & + 0.0042354198696959991_r8, 0.0042541828047359996_r8, & + 0.0043637722438399995_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,37) / & + 0.0034943633023544977_r8, 0.0035374468608465603_r8, & + 0.0038633834329629634_r8, 0.0035684182294973546_r8, & + 0.0039510239619841266_r8, 0.0043183844610846563_r8, & + 0.0049626102253968254_r8, 0.0054056580435978838_r8, & + 0.0057423983166137562_r8, 0.0060090923337566132_r8, & + 0.0062306360534391545_r8, 0.0064612153795767201_r8, & + 0.0066949901525925918_r8, 0.0068991223517460313_r8, & + 0.0070298054313544965_r8, 0.0070788277070687831_r8, & + 0.007170325059248678_r8, 0.007365880068814815_r8, 0.0074549296254814825_r8, & + 0.0075871511948888883_r8, 0.007741853218444443_r8, & + 0.0080099504191111105_r8, 0.0080766720631111101_r8, & + 0.0081793505077777783_r8, 0.0082920717288888883_r8, & + 0.008429255056666668_r8, 0.0085783574211111113_r8, & + 0.0088248644551851847_r8, 0.0089773643344444425_r8, & + 0.0090957434577777774_r8, 0.0091487446888888872_r8, & + 0.0090895031244444448_r8, 0.0090485804051851845_r8, & + 0.0090869237866666678_r8, 0.0090436158733333341_r8, & + 0.0088611485266666661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,37) / & + 0.0022730899525925928_r8, 0.0022459837935802467_r8, & + 0.0022550900577777773_r8, 0.002014342620246913_r8, 0.002093691925432099_r8, & + 0.002292337914074074_r8, 0.0027764583516049373_r8, 0.003717805701234568_r8, & + 0.0042698394553086416_r8, 0.0046860558212345671_r8, & + 0.005040793347654322_r8, 0.0054808616543209872_r8, & + 0.0059009886291358027_r8, 0.0060936901224691361_r8, & + 0.0062177849288888882_r8, 0.00633858853728395_r8, 0.0064904366483950612_r8, & + 0.0066404080370370353_r8, 0.0067669435071604925_r8, & + 0.0069033987960493825_r8, 0.0070407600888888885_r8, & + 0.0072191966424691367_r8, 0.0073626688395061722_r8, & + 0.0075184368044444441_r8, 0.0076591077851851834_r8, & + 0.0078095876454320982_r8, 0.0079572570444444452_r8, & + 0.0082582999693827167_r8, 0.0085355556681481464_r8, & + 0.008865396575802471_r8, 0.009106911343209876_r8, 0.0092484051234567877_r8, & + 0.0093398098281481483_r8, 0.0094016861999999986_r8, & + 0.0093887063066666679_r8, 0.009221124466234569_r8, & + 0.0091288612039365068_r8, 0.0091679857166666653_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,37) / & + 0.0009439451772839505_r8, 0.00091109791160493816_r8, & + 0.00088487002172839507_r8, 0.00082513847555555544_r8, & + 0.00082675633975308634_r8, 0.00093179732839506174_r8, & + 0.0010379754444444444_r8, 0.0017551885106172841_r8, & + 0.0023164949377777774_r8, 0.0028097123945679012_r8, & + 0.003326818771851852_r8, 0.0038221070948148144_r8, & + 0.0045110768745679018_r8, 0.0049489726207407403_r8, & + 0.0051993440390123444_r8, 0.005468649090864198_r8, & + 0.0057587275190123461_r8, 0.0059267172923456787_r8, & + 0.0060740261387654312_r8, 0.0061768021175308638_r8, & + 0.0062829524987654322_r8, 0.0064377589901234572_r8, 0.00658369034074074_r8, & + 0.0067394675506172834_r8, 0.0068871924192592587_r8, & + 0.0070240914651851852_r8, 0.0071990981466666668_r8, & + 0.0075828277995061734_r8, 0.0080160548518518511_r8, & + 0.0084455931738271605_r8, 0.0088220193254320983_r8, & + 0.0090770548150617275_r8, 0.0093765949422663138_r8, & + 0.0095721219198589055_r8, 0.0097470084171428582_r8, & + 0.0096343258266666666_r8, 0.009309266863333332_r8, & + 0.0092249599599999992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,37) / & + 0.00042896513580246916_r8, 0.00041695596098765436_r8, & + 0.00040141521975308635_r8, 0.00045547037382716044_r8, & + 0.00046468757728395055_r8, 0.00050411723901234561_r8, & + 0.00065902542469135797_r8, 0.00087334158370370378_r8, & + 0.0011017655185185185_r8, 0.0013567963856790126_r8, & + 0.001650082807407407_r8, 0.0018716469980246916_r8, & + 0.0023278939466666666_r8, 0.0027859066785185177_r8, & + 0.003130807590617284_r8, 0.0034977946602469138_r8, & + 0.0040702967076543207_r8, 0.0045038380879012345_r8, & + 0.0048152076088888891_r8, 0.0050829317762962961_r8, & + 0.0053195005017283954_r8, 0.0055724142780246913_r8, & + 0.0057732328271604925_r8, 0.0059598419061728403_r8, & + 0.0060988210632098756_r8, 0.0062187648923456781_r8, & + 0.0063923293634567903_r8, 0.0068134178118518509_r8, & + 0.0072697849446913586_r8, 0.0077306913422222215_r8, & + 0.0081485382841358037_r8, 0.0084354087187037026_r8, & + 0.0087181235535185204_r8, 0.008822446202202381_r8, & + 0.0089651124800000006_r8, 0.0091373456800000006_r8, & + 0.0091463317599999993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,37) / & + 0.00028197061728395061_r8, 0.00027262398469135802_r8, & + 0.00027559160987654315_r8, 0.00033423225333333338_r8, & + 0.00033919678518518515_r8, 0.00036952942765432092_r8, & + 0.00041149220246913576_r8, 0.00045045037234567895_r8, & + 0.00048772596345679009_r8, 0.00054175338271604935_r8, & + 0.00058869917925925917_r8, 0.00061035082469135791_r8, & + 0.00069870469975308639_r8, 0.00082734801580246903_r8, & + 0.0009411994306172839_r8, 0.0010660615669135804_r8, & + 0.0013745004424691356_r8, 0.0017574720103703701_r8, & + 0.0021040832360493824_r8, 0.0025492455037037036_r8, & + 0.0030319144859259259_r8, 0.0034248058725925932_r8, & + 0.0038916382755555556_r8, 0.0043456294592592584_r8, & + 0.0047444468513580251_r8, 0.0050901982977777779_r8, & + 0.0053644309017283941_r8, 0.005904390766419753_r8, & + 0.0063393096424691356_r8, 0.0067466508676543215_r8, & + 0.0071851197999999988_r8, 0.0076259277017283944_r8, & + 0.0080276410707407417_r8, 0.0084067147415432097_r8, & + 0.0086556087526437394_r8, 0.0087953441126137569_r8, & + 0.0088970334149206347_r8, 0.0090951610266666663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,37) / & + 0.00018492650024691358_r8, 0.00018092344197530861_r8, & + 0.00019183246913580246_r8, 0.00020213133037037039_r8, & + 0.000207031147654321_r8, 0.00022403258913580249_r8, & + 0.00026819565925925926_r8, 0.00029275021530864194_r8, & + 0.00030624782518518515_r8, 0.00031528937481481477_r8, & + 0.00032066992888888886_r8, 0.00030218005234567904_r8, & + 0.00029908299802469131_r8, 0.00034419829679012339_r8, & + 0.00039172652444444448_r8, 0.00044018849086419759_r8, & + 0.0005822369674074073_r8, 0.00082367777530864192_r8, & + 0.0011232322651851853_r8, 0.0015278832133333333_r8, & + 0.0020508971061728395_r8, 0.0025456492227160493_r8, & + 0.0031581263832098764_r8, 0.0037558879132098761_r8, & + 0.0043424307106172842_r8, 0.0048344393917283939_r8, & + 0.0051769643546913588_r8, 0.0057647829535802464_r8, & + 0.006202930624320987_r8, 0.0066543282726631396_r8, & + 0.0071271621263580241_r8, 0.0075137657993827149_r8, & + 0.0078473075713888871_r8, 0.0081256732405555546_r8, & + 0.0084962662075595222_r8, 0.008707131899722222_r8, & + 0.0088339109574603163_r8, 0.0090586387329365074_r8, & + 0.0089958898040000002_r8, 0.0089297297900000003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,37) / & + 8.9136954350970017e-05_r8, 8.809802139506173e-05_r8, & + 9.5345161523809521e-05_r8, 0.00011911350160846562_r8, & + 0.00012207633923633156_r8, 0.00012903259398589065_r8, & + 0.00019012984866490298_r8, 0.00020344477195767194_r8, & + 0.00022419820560141095_r8, 0.00023938592226455029_r8, & + 0.00024763491654320987_r8, 0.00023633879061022927_r8, & + 0.00022868543449735447_r8, 0.00025795438078306872_r8, & + 0.00030363996016931219_r8, 0.00035314607633156963_r8, & + 0.00051519980687125225_r8, 0.00077492287641622566_r8, & + 0.0011157049043738977_r8, 0.0016070877691992944_r8, & + 0.0021289332339118161_r8, 0.0026829405181657841_r8, & + 0.0033410886642504405_r8, 0.0039539387176785717_r8, & + 0.0045807802010119046_r8, 0.0050455152824206342_r8, & + 0.0053940202552876983_r8, 0.0059180879060019833_r8, & + 0.0063474022239484122_r8, 0.0068445747066031744_r8, & + 0.0072987364877188203_r8, 0.0076029217483083895_r8, & + 0.0078805648760226742_r8, 0.0080676814762037034_r8, & + 0.008451310177619048_r8, 0.0086405381231238077_r8, & + 0.0087696793253238103_r8, 0.0089760951100761894_r8, 0.0089630981004_r8, & + 0.0089144201722222219_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,37) / & + 5.4774212540158089e-05_r8, 5.4422640370370373e-05_r8, & + 5.6058994444444445e-05_r8, 8.9839998888888872e-05_r8, & + 8.7286662499999986e-05_r8, 9.1126696190476207e-05_r8, & + 0.00015616434166666667_r8, 0.00015679877555555555_r8, & + 0.00016387115333333331_r8, 0.00016803137555555558_r8, & + 0.00017963839555555557_r8, 0.00019490641111111106_r8, & + 0.00020963359777777777_r8, 0.00023451172666666664_r8, & + 0.00026816792444444443_r8, 0.00029741428666666666_r8, & + 0.00043474322222222225_r8, 0.00063730444222222216_r8, & + 0.00099121454666666661_r8, 0.0015571711777777779_r8, & + 0.0020643854711111108_r8, 0.0026306749200000002_r8, & + 0.0032997634599999997_r8, 0.0039259809099999998_r8, & + 0.0045840240599999997_r8, 0.0050329536400000006_r8, & + 0.0054051271199999995_r8, 0.0059648850199999996_r8, & + 0.0063891028800000006_r8, 0.0068648034899999998_r8, & + 0.0072800352699999996_r8, 0.0075797584799999996_r8, & + 0.0078328663999999992_r8, 0.0079923693199999996_r8, & + 0.0083188635600000005_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,37) / & + 0.00018574096462768_r8, 0.00014673236139408_r8, 0.00012859979087999999_r8, & + 0.00016460773232639998_r8, 0.00016460773232639998_r8, & + 0.0001680370600832_r8, 0.00017575304753599999_r8, 0.0001440317657856_r8, & + 0.0001680370600832_r8, 0.00018604103080639998_r8, & + 0.00020404500152959999_r8, 0.00024348227073279997_r8, & + 0.00033093012853120001_r8, 0.00045952991941120003_r8, & + 0.00062499498367679998_r8, 0.00081189334642240004_r8, & + 0.0012251273411167999_r8, 0.0018269743624351998_r8, & + 0.0025779971411744001_r8, 0.0034096091221984003_r8, & + 0.0044169741507584003_r8, 0.0053849019101152003_r8, & + 0.0063614029888640006_r8, 0.0071501483729280004_r8, & + 0.0080306282744864003_r8, 0.0086384766193791998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,19,37) / & + 0.00019053124551670505_r8, 0.00016660141450651657_r8, & + 0.00016833935861867457_r8, 0.00017349208812577184_r8, & + 0.00017492168159606518_r8, 0.0001768297917696095_r8, & + 0.0001879170833503289_r8, 0.00016795737729460148_r8, & + 0.00019865094765644797_r8, 0.0002245891341830827_r8, & + 0.00026671945230727584_r8, 0.00034563102632098136_r8, & + 0.00047386357505980678_r8, 0.0006364977022240521_r8, & + 0.0008462945150825719_r8, 0.0011141576421660826_r8, & + 0.0017125060469714111_r8, 0.0024375065055122964_r8, & + 0.0033150197680023984_r8, 0.004354000649095917_r8, & + 0.0056137375668802942_r8, 0.0069818773806426346_r8, & + 0.0079037159828977757_r8, 0.0086856450375268797_r8, & + 0.0093855452101584396_r8, 0.0098779835725996291_r8, & + 0.010483079360752769_r8, 0.011559983186965548_r8, 0.012328225337820268_r8, & + 0.012472547797968784_r8, 0.012265614143143821_r8, 0.011338705199742045_r8, & + 0.013064920700622934_r8, 0.013163875373644801_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,20,37) / & + 0.00024284633913855235_r8, 0.0002021410796530423_r8, & + 0.00018780421147370367_r8, 0.0001640359067311259_r8, & + 0.00016691268763977776_r8, 0.00016722257427266666_r8, & + 0.00018294777145861334_r8, 0.00016543142953456889_r8, & + 0.00018882875570805965_r8, 0.00022193460874236442_r8, & + 0.00027564681612580571_r8, 0.00040412138716964066_r8, & + 0.00056914487308677079_r8, 0.00073652969514651423_r8, & + 0.0009518088244048049_r8, 0.0012352010355720735_r8, & + 0.0018825590813240506_r8, 0.0025603541921583746_r8, & + 0.0034050149542685553_r8, 0.0044379584075701266_r8, & + 0.0057191409750992411_r8, 0.0072884030104656636_r8, & + 0.0082891630768347629_r8, 0.0091066512081924844_r8, & + 0.0098179600050047541_r8, 0.010373206019911272_r8, 0.010980708881764622_r8, & + 0.012084881437742667_r8, 0.012814664458196_r8, 0.013002455757726667_r8, & + 0.012800487144741333_r8, 0.011822020101394666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,37) / & + 0.00021622074600880534_r8, 0.0001842309048048_r8, & + 0.00017728904567879998_r8, 0.0001488576052584_r8, & + 0.00013722747605600001_r8, 0.00014471261111360001_r8, & + 0.00014978318647519999_r8, 0.00018012615332160001_r8, & + 0.00019759146845600001_r8, 0.00022044930024480003_r8, & + 0.00025250928731946666_r8, 0.00037602742999039997_r8, & + 0.00069786140902613331_r8, 0.0010567722936160001_r8, & + 0.0014447652083221332_r8, 0.001761823724848_r8, 0.0024670361267263999_r8, & + 0.0034603859856608002_r8, 0.0043652824743984006_r8, & + 0.0054139257503712009_r8, 0.006716822162332799_r8, & + 0.0078733962567168018_r8, 0.0088157989060656007_r8, & + 0.0096592046078784015_r8, 0.010380916501012801_r8, 0.010978520025772801_r8, & + 0.011560911824448_r8, 0.012520457847638399_r8, 0.013222128895296_r8, & + 0.013773614329862401_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,37) / & + 0.00016466729428078376_r8, 0.00015626636830356404_r8, & + 0.00015375101650890699_r8, 0.00015241591628523905_r8, & + 0.00014243049760378858_r8, 0.00014761582894898742_r8, & + 0.00016857230780725665_r8, 0.00024083913579756445_r8, & + 0.00031255394269936369_r8, 0.00036893409415327569_r8, & + 0.0004399745031426232_r8, 0.00057653312216508453_r8, & + 0.001022933954842279_r8, 0.0015216464618192625_r8, & + 0.0019477570403692568_r8, 0.0023191170231155705_r8, & + 0.0030285107310727352_r8, 0.0039984290135323605_r8, & + 0.0051149333040867804_r8, 0.0062352571211083492_r8, & + 0.0072951155213655285_r8, 0.0083558491147210194_r8, & + 0.0092370715910243713_r8, 0.010066655509738983_r8, 0.010812370393966304_r8, & + 0.011461335663282416_r8, 0.01205617132186248_r8, 0.013050343144550067_r8, & + 0.013796270619852051_r8, 0.014334781572073532_r8, 0.014615785355820882_r8, & + 0.014732476119565865_r8, 0.014758928599020582_r8, 0.014731540930898271_r8, & + 0.014705118139972682_r8, 0.014667499062498987_r8, 0.014605643012056886_r8, & + 0.014548863700095997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,37) / & + 0.00014517464033970038_r8, 0.00014600772514786501_r8, & + 0.00016022143364408887_r8, 0.00016602739392252837_r8, & + 0.00015877314774681805_r8, 0.00016800116408341066_r8, & + 0.0002026703087924148_r8, 0.0003130220041508345_r8, & + 0.00044317548456485924_r8, 0.00059651435602457281_r8, & + 0.00079544219152492509_r8, 0.0011935541963127574_r8, & + 0.0022492392652189498_r8, 0.0028248496009032689_r8, & + 0.003136948803420444_r8, 0.0034094828858944781_r8, & + 0.0040078043951183012_r8, 0.0048367237792420869_r8, & + 0.0059343963224797753_r8, 0.0070173937564044098_r8, & + 0.0080547894095990523_r8, 0.0091036688164570067_r8, & + 0.0099836498909766057_r8, 0.010784064957971802_r8, 0.011505055001025525_r8, & + 0.012158257574073359_r8, 0.012725101294237916_r8, 0.013682802773014596_r8, & + 0.014460493849780936_r8, 0.01493114831632587_r8, 0.015185617275152089_r8, & + 0.01526204447545311_r8, 0.015266636374832268_r8, 0.015227014838469013_r8, & + 0.015220566261810587_r8, 0.01518734922838828_r8, 0.015165144608339077_r8, & + 0.015118275642840245_r8, 0.015033736302106665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,37) / & + 0.00015704905674322962_r8, 0.000157393898857521_r8, & + 0.00016251347793892344_r8, 0.00017366779402042468_r8, & + 0.000177805899391921_r8, 0.00018568421538765431_r8, & + 0.00022276800583221728_r8, 0.00034680506171117035_r8, & + 0.00055304717237388641_r8, 0.00085863033826899743_r8, & + 0.0012689128753262616_r8, 0.0020391044744377668_r8, & + 0.0033295434555907556_r8, 0.0039617716826692347_r8, & + 0.0042239445316383604_r8, 0.0044987173809373626_r8, & + 0.0050628658167597828_r8, 0.0058858713119908342_r8, & + 0.0068949589173568004_r8, 0.0079567145241016476_r8, & + 0.0089333869707242265_r8, 0.0099147413122062222_r8, & + 0.010809221967203278_r8, 0.011670412095012976_r8, 0.012379049376723477_r8, & + 0.013023864340973589_r8, 0.013567839513109964_r8, 0.014503452300762833_r8, & + 0.01523674816206628_r8, 0.015634340461949198_r8, 0.015831328630264378_r8, & + 0.015877598815686289_r8, 0.015859493183633326_r8, 0.015837667235693489_r8, & + 0.015825750288013071_r8, 0.015772448307670217_r8, 0.015715342453543567_r8, & + 0.015654930094067199_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,37) / & + 0.00017446871482548146_r8, 0.00017634693374195886_r8, & + 0.00017732031726801643_r8, 0.00017611387008079009_r8, & + 0.00017952756723555555_r8, 0.00018303723178021399_r8, & + 0.00020265570819976957_r8, 0.00028086913096256788_r8, & + 0.00041106945979311934_r8, 0.00064126780889218105_r8, & + 0.00098276091101287219_r8, 0.0015935522188004606_r8, & + 0.0027959687756512921_r8, 0.0037657740890286086_r8, & + 0.0043082640344666336_r8, 0.0048455443215961813_r8, & + 0.0057577554914105674_r8, 0.0067396115670330208_r8, & + 0.0076779395765254315_r8, 0.0086645254735068962_r8, & + 0.0095806713063068989_r8, 0.010641741607472461_r8, 0.01154693002079075_r8, & + 0.01244289356875557_r8, 0.013130618162872922_r8, 0.013795701307789086_r8, & + 0.014330438459086471_r8, 0.015233701649052413_r8, 0.015901916954137691_r8, & + 0.016316224823710156_r8, 0.016574255674396344_r8, 0.016655844358395001_r8, & + 0.01668138857632568_r8, 0.01661618980052099_r8, 0.016481822381562067_r8, & + 0.016260430313522489_r8, 0.015993250196283851_r8, 0.015709772612908443_r8, & + 0.015585736132434446_r8, 0.01538841621111273_r8, 0.015303933375864495_r8, & + 0.015244296497859555_r8, 0.015226096967847701_r8, 0.015161812526246515_r8, & + 0.015167071881953331_r8 & + / +data delta_sa_ref(:,26,37) / & + 0.0001747145369945284_r8, 0.0001794709852549531_r8, & + 0.00018051853635992756_r8, 0.00017857915120612344_r8, & + 0.00018210401911340253_r8, 0.00018293922877817942_r8, & + 0.00019849677829665184_r8, 0.00020727355782481645_r8, & + 0.00020550404582317036_r8, 0.00024671244131750457_r8, & + 0.00034035501644461566_r8, 0.00056838141102473743_r8, & + 0.001208321887396043_r8, 0.0021440681460585223_r8, 0.003014583114292319_r8, & + 0.0040608177023375809_r8, 0.0058836698737612901_r8, & + 0.0075659378556782227_r8, 0.0087155349482756356_r8, & + 0.0096962091166599099_r8, 0.010620078410767342_r8, 0.011755556819891049_r8, & + 0.01252010026451998_r8, 0.013328955323119276_r8, 0.013944184564387592_r8, & + 0.014578953262752945_r8, 0.015057730377825757_r8, 0.015871725363214975_r8, & + 0.016483631208156775_r8, 0.01693001841718917_r8, 0.017153603589432589_r8, & + 0.017193228928932762_r8, 0.017188309635010699_r8, 0.017164437856401295_r8, & + 0.017058620533128_r8, 0.016873680694080764_r8, 0.016559920204362481_r8, & + 0.016285319723045436_r8, 0.016052286671207859_r8, 0.015888125503791144_r8, & + 0.015782901826515663_r8, 0.015723047021352781_r8, 0.015722932356975076_r8, & + 0.015659752284858698_r8, 0.015648820947517336_r8 & + / +data delta_sa_ref(:,27,37) / & + 0.00017153632986579751_r8, 0.00017317181713445926_r8, & + 0.00017302579148547158_r8, 0.00016614798341815307_r8, & + 0.00017296738122587655_r8, 0.00017359529151652345_r8, & + 0.00018235683045578267_r8, 0.00017772781738287406_r8, & + 0.0001735660863867259_r8, 0.00018888417696553086_r8, & + 0.00024614083393359004_r8, 0.00036020146835784685_r8, & + 0.0005764070442489678_r8, 0.0009979830928763258_r8, & + 0.0015881019455652346_r8, 0.0024433011588614315_r8, & + 0.0045767943008306559_r8, 0.0069241456563835253_r8, & + 0.0088461644534888282_r8, 0.010353377316117966_r8, 0.011620910979781216_r8, & + 0.012845926407380744_r8, 0.013637829760082897_r8, 0.014424472017260086_r8, & + 0.015021931787931679_r8, 0.015562867115960843_r8, 0.01602741851308527_r8, & + 0.016746438378296979_r8, 0.017227402797607528_r8, 0.017550394896674638_r8, & + 0.017721368297663583_r8, 0.017644514177207114_r8, 0.017603791502510756_r8, & + 0.017642875830890348_r8, 0.017626041215519934_r8, 0.017514874887686636_r8, & + 0.017335033349034665_r8, 0.01719165076429369_r8, 0.0170478081987584_r8, & + 0.016911785306726396_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,37) / & + 0.00018927169790592267_r8, 0.00018578032206795062_r8, & + 0.00018137095516913252_r8, 0.00018630703825040334_r8, & + 0.00019539665465615806_r8, 0.00019425292808854648_r8, & + 0.00019726273484541894_r8, 0.00021747358721781735_r8, & + 0.00023694703693478191_r8, 0.00027025054869957534_r8, & + 0.00032779805389097623_r8, 0.00039299046824483295_r8, & + 0.00055046355776439842_r8, 0.00078838878189516385_r8, & + 0.0012174969312224661_r8, 0.0017701726969531655_r8, & + 0.0034378012776996878_r8, 0.0059140746398151246_r8, & + 0.0085465268745446715_r8, 0.010897532079439078_r8, 0.012680255670568403_r8, & + 0.014074684091993615_r8, 0.0149765124905553_r8, 0.015818189901080894_r8, & + 0.01645497471663239_r8, 0.016956664355901672_r8, 0.017328405588442983_r8, & + 0.017868142947377583_r8, 0.018168530261161324_r8, 0.018310805976420652_r8, & + 0.018423113959493139_r8, 0.018334768284182748_r8, 0.018313674967218543_r8, & + 0.018323585078444844_r8, 0.018228977392683674_r8, 0.018139566783246845_r8, & + 0.0179933140383307_r8, 0.01783965390368979_r8, 0.017609993702969853_r8, & + 0.017439456170996237_r8, 0.017227202717372374_r8, 0.017047478878950941_r8, & + 0.016919151629387393_r8, 0.016788978992056038_r8, 0.016775590619149777_r8 & + / +data delta_sa_ref(:,29,37) / & + 0.00021083180932746003_r8, 0.00020497450931821561_r8, & + 0.00021283072917188474_r8, 0.0002230422654313876_r8, & + 0.00022462280670372347_r8, 0.00023345524322559996_r8, & + 0.00025296408108707813_r8, 0.00030636158328775626_r8, & + 0.00032913997221259585_r8, 0.00035898431035493665_r8, & + 0.00040437063767524608_r8, 0.00047603733752380579_r8, & + 0.0006268085785025052_r8, 0.00083045047459110453_r8, & + 0.0011965162296662124_r8, 0.0016635506801387721_r8, & + 0.0029598889380048595_r8, 0.0051536492330016125_r8, & + 0.0078817564420692286_r8, 0.010605850315945324_r8, 0.012839000178729113_r8, & + 0.014554241918837033_r8, 0.01567967253000481_r8, 0.016657911361310646_r8, & + 0.017370566574154991_r8, 0.017958916864580926_r8, 0.01839988206874911_r8, & + 0.019014259380234644_r8, 0.019289376606713832_r8, 0.019342955572318986_r8, & + 0.019269557692775708_r8, 0.019210621655192134_r8, 0.019136455198716425_r8, & + 0.019060847462845695_r8, 0.01893576934646753_r8, 0.018863062906295684_r8, & + 0.018723086243582054_r8, 0.01857154055951634_r8, 0.018407694118514301_r8, & + 0.01829093362429941_r8, 0.01816663562742199_r8, 0.017902795640398431_r8, & + 0.017843388871580185_r8, 0.017851795292460799_r8, 0.0178235547388448_r8 & + / +data delta_sa_ref(:,30,37) / & + 0.00025065561876799996_r8, 0.00022685425523555553_r8, & + 0.00024928460921422226_r8, 0.00025900921186311113_r8, & + 0.00026136862365333334_r8, 0.00028355984805866665_r8, & + 0.00033847994006755557_r8, 0.00036393926864177769_r8, & + 0.00037367981326222218_r8, 0.00040749273493155547_r8, & + 0.00044969113363911106_r8, 0.00052543144049955559_r8, & + 0.00071117135109333325_r8, 0.00090510543506666663_r8, & + 0.0012220955974773331_r8, 0.0016197043100444444_r8, & + 0.002768801619768889_r8, 0.0046925512113208893_r8, & + 0.0071618669534471114_r8, 0.010018955211690666_r8, 0.012475246363056001_r8, & + 0.014421314714785778_r8, 0.01583375944538289_r8, 0.017012130200376219_r8, & + 0.017851779892982225_r8, 0.018556464854398887_r8, 0.01917068909097_r8, & + 0.020066297096482444_r8, 0.020457503114723555_r8, 0.020506102215010664_r8, & + 0.020397033223866889_r8, 0.020214998682947523_r8, 0.020098494470141458_r8, & + 0.019930166608623109_r8, 0.019743113762800506_r8, 0.019679522376977645_r8, & + 0.019578556177555047_r8, 0.019456026639663952_r8, 0.01932788689424_r8, & + 0.019204684491278032_r8, 0.019039033172912639_r8, 0.01878360207962956_r8, & + 0.01873554301362889_r8, 0.018595443259530289_r8, 0.018578172492110939_r8 & + / +data delta_sa_ref(:,31,37) / & + 0.00039209343755456787_r8, 0.00037785188281120647_r8, & + 0.0003968296968420608_r8, 0.00042095348117143696_r8, & + 0.00045792580280667653_r8, 0.00051780916417864685_r8, & + 0.00064631092567772174_r8, 0.00079105363165397847_r8, & + 0.00090880457622365737_r8, 0.0010430914571984591_r8, & + 0.0011808035222254617_r8, 0.0013500469466612413_r8, & + 0.001664885275976217_r8, 0.0021081106477071798_r8, & + 0.0026300333104365562_r8, 0.0032784419564907447_r8, & + 0.0049623706002595797_r8, 0.0071223342735225676_r8, & + 0.0095523466683748587_r8, 0.01209130941527993_r8, 0.01412599984981075_r8, & + 0.015844262276303801_r8, 0.017160139324645236_r8, 0.018223077183217931_r8, & + 0.018966161849700656_r8, 0.019651723090234937_r8, 0.020272353329741376_r8, & + 0.021212803984456897_r8, 0.021622531383926148_r8, 0.021613403022600425_r8, & + 0.021461187187783004_r8, 0.021238828827877448_r8, 0.02105107670851844_r8, & + 0.020858268755283342_r8, 0.020670060978749922_r8, 0.020546314498835285_r8, & + 0.02037055666932415_r8, 0.020216252771604087_r8, 0.020044082839946676_r8, & + 0.019925565150484926_r8, 0.019709849961972486_r8, 0.019567773304075137_r8, & + 0.019452577200309944_r8, 0.019426518263080263_r8, 0.019454209313387451_r8 & + / +data delta_sa_ref(:,32,37) / & + 0.00063071109937403781_r8, 0.00062964003874269167_r8, & + 0.00070965395778568277_r8, 0.00088585292877353097_r8, & + 0.001073059525474026_r8, 0.0012883828257372388_r8, & + 0.0018833453562538745_r8, 0.0021640843041867402_r8, & + 0.0023920410014061548_r8, 0.002600909316436082_r8, 0.002902357607827896_r8, & + 0.0035896211362090036_r8, 0.0044534395736608653_r8, & + 0.0056264118810020998_r8, 0.006921403611143611_r8, & + 0.0083345932396682275_r8, 0.011165850411694886_r8, 0.013061738977890709_r8, & + 0.014771151462201471_r8, 0.016413548381209772_r8, 0.017754099584716798_r8, & + 0.018820962059818293_r8, 0.019680054697723437_r8, 0.020364196552917952_r8, & + 0.020899698183692514_r8, 0.021369827757187636_r8, 0.021817707893643797_r8, & + 0.022442390352213144_r8, 0.022599344316230091_r8, 0.022469820732597415_r8, & + 0.022212770606450952_r8, 0.021984531323253554_r8, 0.021638730185591051_r8, & + 0.021451335548965843_r8, 0.021275347089500428_r8, 0.021198893979247575_r8, & + 0.020973729697456891_r8, 0.020843186023537193_r8, 0.020676768999160412_r8, & + 0.020628563814576013_r8, 0.020492736083491388_r8, 0.020346605861380616_r8, & + 0.020140509571998613_r8, 0.020087535356722211_r8, 0.0200241050799718_r8 & + / +data delta_sa_ref(:,33,37) / & + 0.00073771195989224007_r8, 0.00088791844693447903_r8, & + 0.001121383632943271_r8, 0.0013904952412290843_r8, & + 0.0017374548911401303_r8, 0.0021214299570786548_r8, & + 0.0027995206871231884_r8, 0.0032329702404305894_r8, & + 0.0036130340367259962_r8, 0.003967190578312782_r8, & + 0.0044605636191675313_r8, 0.0051928088806776768_r8, & + 0.0060032900890347133_r8, 0.0073401385010023815_r8, & + 0.0088035714036760766_r8, 0.010429448274038494_r8, 0.013313321590107625_r8, & + 0.015348509014375194_r8, 0.016683075914103583_r8, 0.017951551910996677_r8, & + 0.019221503243835446_r8, 0.020270090120285744_r8, 0.021046243105208116_r8, & + 0.021713711573827798_r8, 0.02212578565155613_r8, 0.022536064460803352_r8, & + 0.022874618351364579_r8, 0.023287178606723358_r8, 0.02336657789891998_r8, & + 0.023193800839725227_r8, 0.022944917886986667_r8, 0.02269647820159925_r8, & + 0.02236609471388723_r8, 0.022131792924015337_r8, 0.02187319075135637_r8, & + 0.021730939259415227_r8, 0.021513626274022552_r8, 0.021426895184305551_r8, & + 0.021326357483093372_r8, 0.021256734180144586_r8, 0.021151988938575599_r8, & + 0.021057007243662131_r8, 0.020930909347191197_r8, 0.020737563127579194_r8, & + 0.020608199050626136_r8 & + / +data delta_sa_ref(:,34,37) / & + 0.00094278134152449939_r8, 0.0012124539986269117_r8, & + 0.0017646777020026102_r8, 0.0015306254841233274_r8, & + 0.0019286753563286102_r8, 0.0026006178703337776_r8, & + 0.0049221680870448221_r8, 0.0054179777560099908_r8, & + 0.0053154314767129415_r8, 0.005613345663376827_r8, & + 0.0062612394347444107_r8, 0.0056960444555883673_r8, & + 0.0059444172536788631_r8, 0.0064503505725360712_r8, & + 0.0067402187270620053_r8, 0.0073901024935859507_r8, & + 0.011072838369615709_r8, 0.01500792703404869_r8, 0.017730631193015378_r8, & + 0.01906662549296868_r8, 0.020253442808711081_r8, 0.020687833057996173_r8, & + 0.022268874893108821_r8, 0.022709125208879619_r8, 0.02310062961804215_r8, & + 0.02340772992373567_r8, 0.023715217253656839_r8, 0.024021233070966892_r8, & + 0.024080712403902596_r8, 0.023987770176726035_r8, 0.023868298669563581_r8, & + 0.023536778400114242_r8, 0.023194787620972677_r8, 0.022959494327169063_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,37) / & + 0.00082247693387083704_r8, 0.00096066390091060409_r8, & + 0.0012921761464715455_r8, 0.0012398359338705513_r8, & + 0.0015016690852077601_r8, 0.0020969266554398624_r8, & + 0.0038877218059040846_r8, 0.0043771606789197882_r8, & + 0.0047595168716101071_r8, 0.0048669719631424758_r8, & + 0.004848748641414052_r8, 0.0050642140822862221_r8, & + 0.0055655116964811856_r8, 0.0059412395538616294_r8, & + 0.0076548992156337779_r8, 0.0094214427292337779_r8, & + 0.012501563814724826_r8, 0.012104155783353479_r8, 0.012836655037460827_r8, & + 0.013499254898671409_r8, 0.016552300082934995_r8, 0.013773396280967111_r8, & + 0.023240904085850667_r8, 0.023865266808938662_r8, 0.024459267065386661_r8, & + 0.02458660541032533_r8, 0.024957579548181331_r8, 0.024658003210666666_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,36,37) / & + 0.00076933615798530422_r8, 0.00084743424699247909_r8, & + 0.0009766080281885393_r8, 0.0010924907586646322_r8, & + 0.001307621341453975_r8, 0.0017581326105778469_r8, & + 0.0032674356729494318_r8, 0.0036614267417375908_r8, & + 0.0038048208838241948_r8, 0.0040467527612925037_r8, & + 0.0039820774552177468_r8, 0.004342515997761422_r8, & + 0.0045908474399724356_r8, 0.004799514282814079_r8, & + 0.0054966716136098971_r8, 0.0082074989844281195_r8, & + 0.012289994760294546_r8, 0.0076900496418534723_r8, & + 0.0093376830568721071_r8, 0.0099145426291976767_r8, & + 0.015366961894363831_r8, 0.014637502449628612_r8, 0.022459800430271255_r8, & + 0.02454916282073864_r8, 0.025161249433289734_r8, 0.025674966629053778_r8, & + 0.026173546523278083_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,37) / & + 0.0009273181810543576_r8, 0.0010421302875917827_r8, & + 0.0011822541734886152_r8, 0.0011935678646986555_r8, & + 0.0015251950756278406_r8, 0.0023495010563255592_r8, & + 0.0037226252496325306_r8, 0.0038419301459332502_r8, & + 0.0038407378977949004_r8, 0.0041055019699823645_r8, & + 0.0040975051637576294_r8, 0.0043233091163480501_r8, & + 0.0045597811974142418_r8, 0.0046625155606447406_r8, & + 0.0050446805276508451_r8, 0.0072820702177386672_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,37) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,37) / & + 0.0043088503213333327_r8, 0.0039836540706666658_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,37) / & + 0.0041073843234134353_r8, 0.00385347277704075_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,37) / & + 0.0033653103208496197_r8, 0.0033220777546876935_r8, & + 0.0023368121002223111_r8, 0.0027003971825208888_r8, & + 0.0036060001459326464_r8, 0.0056937529372222224_r8, & + 0.0035894697113399705_r8, 0.0032069773736737176_r8, & + 0.0022425315428141039_r8, 0.0021459335280700443_r8, & + 0.0020738206487640885_r8, 0.0020747795966271992_r8, & + 0.0019499245848501334_r8, 0.0020575185350911996_r8, & + 0.0020962600287608886_r8, 0.0021430566844807112_r8, & + 0.0022366499959203556_r8, 0.0022746243312995553_r8, & + 0.0023425178400078221_r8, 0.0024614273750335996_r8, & + 0.0025680623774115554_r8, 0.0026957942327779554_r8, & + 0.0027268641435427552_r8, 0.0029844375395743994_r8, & + 0.0032381751441535999_r8, 0.0034832822179647997_r8, & + 0.0036627972579391993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,37) / & + 0.0021770564359981826_r8, 0.0025085640526801645_r8, & + 0.0020758806096077436_r8, 0.0028500269847460341_r8, & + 0.002628115549316635_r8, 0.0034354170717246163_r8, & + 0.0036311903222694449_r8, 0.0034548891423433212_r8, & + 0.0021543390202763591_r8, 0.0021128512301743403_r8, & + 0.0021150001749047835_r8, 0.0021796439408776954_r8, & + 0.0020879848697220741_r8, 0.0021615314067211064_r8, & + 0.0021891606961125134_r8, 0.002246612075640678_r8, 0.002321693573161455_r8, & + 0.0023562521129081677_r8, 0.0024325615788463404_r8, & + 0.0025588230457635813_r8, 0.0026766203018037727_r8, & + 0.0028115652596725992_r8, 0.0028550978364696561_r8, & + 0.0031223744036047258_r8, 0.0033480778180373328_r8, & + 0.0035637483859168421_r8, 0.0037355630955179801_r8, & + 0.0039778649151925131_r8, 0.0038848359700855467_r8, & + 0.0038975059727921779_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,37) / & + 0.0022068085870675228_r8, 0.0027312299983383707_r8, & + 0.002181151168063816_r8, 0.0033310003501280136_r8, & + 0.0031149639802743054_r8, 0.0035896036857804899_r8, & + 0.0029696320620863476_r8, 0.0023677874725565105_r8, & + 0.0020740122795703045_r8, 0.0021159479556220576_r8, & + 0.0022128960239137453_r8, 0.0022874783983111639_r8, & + 0.0022852688841966096_r8, 0.0023132260015644441_r8, & + 0.0023633684443274006_r8, 0.0024387624769709828_r8, & + 0.0024705975170704855_r8, 0.0024864248528706635_r8, & + 0.0025692590861040726_r8, 0.0027144557279176694_r8, & + 0.0028267351186368793_r8, 0.0029504679090519435_r8, & + 0.0030402914216273121_r8, 0.0032601155299631143_r8, & + 0.0034816724642371547_r8, 0.0036968069915951263_r8, & + 0.0038910888268887311_r8, 0.0042525770921909905_r8, & + 0.0043051870404396024_r8, 0.0041384982841278324_r8, & + 0.0040949578920852266_r8, 0.0039827816496014667_r8, & + 0.0039967066613872003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,37) / & + 0.0023975788004693336_r8, 0.003265723589887999_r8, 0.002794194817450666_r8, & + 0.0039497599747413325_r8, 0.0037519384127146665_r8, & + 0.0042330108014933324_r8, 0.0031741789981866659_r8, & + 0.0023563003433813329_r8, 0.0021055719373653321_r8, & + 0.0022356152920746664_r8, 0.0022744383527253335_r8, & + 0.0023152535274666665_r8, 0.0023521771304959999_r8, & + 0.0024018409980586662_r8, 0.0024618823901866663_r8, & + 0.0025208119046826656_r8, 0.0025405014044159995_r8, & + 0.002559588637098667_r8, 0.0026413116430506669_r8, 0.002770196791893333_r8, & + 0.0028722115646293324_r8, 0.0030010967134719993_r8, & + 0.0031313717093546661_r8, 0.0033048709481813335_r8, & + 0.0035060455161919986_r8, 0.003680175977215999_r8, & + 0.0039031421886079995_r8, 0.0042468248883230485_r8, & + 0.0042706822745965708_r8, 0.0041726980582765718_r8, & + 0.0041762123857919994_r8, 0.0041919573672594291_r8, & + 0.0042216603839999997_r8, 0.004216031503487999_r8, & + 0.0042354198696959991_r8, 0.0042541828047359996_r8, & + 0.004364397675007999_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,38) / & + 0.0043719561694689421_r8, 0.0044036784266666667_r8, & + 0.0047761015200000001_r8, 0.0051557634_r8, 0.0055201988666666651_r8, & + 0.0056704660933333331_r8, 0.0059582702666666661_r8, & + 0.0060398938266666676_r8, 0.0061681950800000001_r8, & + 0.0063339383333333331_r8, 0.0064727233466666664_r8, & + 0.0066242386399999994_r8, 0.0067592794533333335_r8, & + 0.0069544770800000003_r8, 0.0072615014799999999_r8, & + 0.0075438141599999996_r8, 0.0078455966799999988_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,38) / & + 0.0038712106508931444_r8, 0.0039073072903086422_r8, & + 0.004182487500432098_r8, 0.0042222569136419743_r8, & + 0.0045614432982716046_r8, 0.0048051098250617274_r8, & + 0.0052643894436331566_r8, 0.0056395833770370362_r8, & + 0.005892644742169312_r8, 0.0061278496741181644_r8, & + 0.0063164414622134037_r8, 0.0065079178361375665_r8, & + 0.0066708349448589069_r8, 0.0068447239793386246_r8, & + 0.0070464605838624341_r8, 0.0071638886341710761_r8, & + 0.0072296369512592591_r8, 0.0073602910083650792_r8, & + 0.0073814157253333339_r8, 0.0075214862473333317_r8, & + 0.0076719074022222229_r8, 0.0079478507819999988_r8, & + 0.0080108407066666661_r8, 0.0081097416695555553_r8, & + 0.0082226459404444435_r8, 0.0083409668206666666_r8, & + 0.0085069971293333328_r8, 0.008809516008666668_r8, & + 0.0090234803977777781_r8, 0.0091967952555555565_r8, & + 0.0092916621896296289_r8, 0.0092406717325925931_r8, & + 0.0091677638381481488_r8, 0.0091898060822222221_r8, & + 0.009094245777777777_r8, 0.0089860800000000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,38) / & + 0.002486694251358024_r8, 0.0024681026804938273_r8, & + 0.0024438994320987654_r8, 0.0024747313012345681_r8, & + 0.002492962319506172_r8, 0.0025254028079012341_r8, & + 0.0029693632335802468_r8, 0.0040203000814814814_r8, & + 0.0045938005822222221_r8, 0.0050179306153086412_r8, & + 0.0054213242518518509_r8, 0.0058517223530864188_r8, & + 0.0061833660237037031_r8, 0.0063275593259259268_r8, & + 0.0064162182839506161_r8, 0.006505496652839505_r8, & + 0.0066179151022222214_r8, 0.0067646415175308637_r8, 0.00689710299308642_r8, & + 0.0070642237422222235_r8, 0.0072260009170370372_r8, & + 0.0074187578799999989_r8, 0.0075828462893827147_r8, & + 0.0077293508261728396_r8, 0.0078499233111111108_r8, & + 0.007959133766913578_r8, 0.0080788834523456785_r8, & + 0.0083853161762962956_r8, 0.0086967226770370363_r8, & + 0.0090329518370370378_r8, 0.0092476562834567892_r8, & + 0.0093386449659259262_r8, 0.009409988154567903_r8, & + 0.0094605209871604923_r8, 0.0093453179953880087_r8, & + 0.0092046897394691372_r8, 0.0091479308454166658_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,38) / & + 0.00097585870419753071_r8, 0.0009411994306172839_r8, & + 0.0010057845693827161_r8, 0.0010189678513580246_r8, & + 0.00099705734765432111_r8, 0.0010316149269135803_r8, & + 0.0011929575896296295_r8, 0.0020405057955555552_r8, & + 0.0026356579417283949_r8, 0.0031140002928395053_r8, & + 0.0036237476992592582_r8, 0.0042337379713580248_r8, & + 0.0048635216562962959_r8, 0.0052043178158024681_r8, & + 0.0054088528301234565_r8, 0.005651236621728394_r8, & + 0.0059013584266666671_r8, 0.0060776963792592573_r8, & + 0.0062367647871604936_r8, 0.0063489706029629632_r8, & + 0.0064892902760493813_r8, 0.0066577053165432091_r8, & + 0.0068328506720987644_r8, 0.0070051948113580243_r8, & + 0.0071558133456790119_r8, 0.0072792887412345677_r8, & + 0.0074278364093827154_r8, 0.0077642134883950621_r8, & + 0.0082353725224691351_r8, 0.0086737305155555559_r8, & + 0.009007546746666666_r8, 0.0091482812863580253_r8, & + 0.0093765777730952377_r8, 0.0095192596269629629_r8, & + 0.0095796059037499999_r8, 0.0094385665699999993_r8, & + 0.0093941978000000002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,38) / & + 0.00036793005333333328_r8, 0.00034908886913580245_r8, & + 0.00040526111407407405_r8, 0.00043068469432098772_r8, & + 0.00043955059012345681_r8, 0.00045818838567901233_r8, & + 0.00059302581037037037_r8, 0.00084040186864197547_r8, & + 0.0010813896745679012_r8, 0.0012816627723456788_r8, & + 0.0015136922330864196_r8, 0.0017112010943209875_r8, & + 0.0020318710232098765_r8, 0.0023951138928395067_r8, & + 0.0026897870553086421_r8, 0.0030601577723456787_r8, & + 0.0036149187832098767_r8, 0.0040896463634567904_r8, & + 0.0044856625392592593_r8, 0.0047012175200000002_r8, & + 0.0050015763195061722_r8, 0.0053291059925925912_r8, & + 0.0055651477565432103_r8, 0.0057904561471604932_r8, & + 0.0059639004340740721_r8, 0.0061110521165432096_r8, & + 0.006298483995061728_r8, 0.0067076002483950617_r8, & + 0.0071551939348148148_r8, 0.0076220263377777767_r8, & + 0.0080475350222839505_r8, 0.0083452624812345669_r8, & + 0.0086918484484215172_r8, 0.008949686640141093_r8, & + 0.0091333518666666669_r8, 0.0091511354629435632_r8, & + 0.0092205598316296294_r8, 0.0093174260991666664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,38) / & + 0.00024832828691358027_r8, 0.0002314192948148148_r8, & + 0.00023348091604938272_r8, 0.00025826659555555555_r8, & + 0.00026496917580246909_r8, 0.00028664855604938272_r8, & + 0.00033375151654320992_r8, 0.00039421341283950615_r8, & + 0.00043481718172839497_r8, 0.00046147033876543211_r8, & + 0.0004876427590123457_r8, 0.00048602489481481479_r8, & + 0.00054393518814814816_r8, 0.00064350317333333339_r8, & + 0.00075601407209876549_r8, 0.00088733842024691343_r8, & + 0.0011688837703703703_r8, 0.0015698922128395063_r8, & + 0.001940780646419753_r8, 0.002331407023209876_r8, 0.0028197708874074072_r8, & + 0.0032846526083950616_r8, 0.0037724895111111117_r8, & + 0.0042497964291358017_r8, 0.0046672238819753086_r8, & + 0.0050503618587654318_r8, 0.0053171800222222227_r8, & + 0.0058806312750617276_r8, 0.0063261894241798929_r8, & + 0.0067753032425925917_r8, 0.0072201579509612_r8, 0.007632948902169312_r8, & + 0.0080599148861058203_r8, 0.0084598612172380964_r8, & + 0.0087475786202222214_r8, 0.0089272940789418016_r8, & + 0.0090844256722751315_r8, 0.0091883153359259249_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,38) / & + 0.00021539781679012345_r8, 0.0002008370390123457_r8, & + 0.00019556742419753087_r8, 0.00021094175654320986_r8, & + 0.00020894484987654322_r8, 0.00020933313728395059_r8, & + 0.00023947163604938276_r8, 0.00027119101925925923_r8, & + 0.00028799369456790125_r8, 0.00029956257919753088_r8, & + 0.00030798934043209874_r8, 0.00029548440580246909_r8, & + 0.00031043578222222224_r8, 0.00032682359092592593_r8, & + 0.00035836385345679005_r8, 0.00039281511592592589_r8, & + 0.00050270391907407408_r8, 0.00073578268030864192_r8, & + 0.0010123415418518517_r8, 0.001378411051358025_r8, & + 0.0018739385870987656_r8, 0.002364349049506173_r8, & + 0.0030649438438712529_r8, 0.0036754181545238093_r8, & + 0.004285766502892416_r8, 0.0048257186084391546_r8, & + 0.0051851753456701949_r8, 0.0057636875274479724_r8, & + 0.0061498882532345671_r8, 0.0066277709658253969_r8, & + 0.0071315574341534391_r8, 0.0075900669163492052_r8, & + 0.0078876852767738106_r8, 0.0082756991743333334_r8, & + 0.0086132887270000003_r8, 0.0088242481875999996_r8, & + 0.0090321586213333339_r8, 0.0092992199266666662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,38) / & + 0.00013776268245245567_r8, 0.00013208520656790123_r8, & + 0.00013751878696649026_r8, 0.00016829122435626105_r8, & + 0.00016714306905820105_r8, 0.00017474518179894178_r8, & + 0.00021029989368606704_r8, 0.00023299370780246917_r8, & + 0.00025237988111111111_r8, 0.00026139976291666663_r8, & + 0.00026837593555555556_r8, 0.00026512576194444445_r8, & + 0.00029364334238095237_r8, 0.0003170802514285714_r8, & + 0.0003485434177777778_r8, 0.00039019318539682538_r8, & + 0.00051439364825396823_r8, 0.00076468450349206354_r8, & + 0.001097258611111111_r8, 0.0015160543148148148_r8, & + 0.0020253487192592591_r8, 0.0026071141948148151_r8, & + 0.0032913390100000003_r8, 0.0039748926426666671_r8, & + 0.0047026819182222216_r8, 0.0052526133733333336_r8, & + 0.0056545511632222212_r8, 0.0060856229893333329_r8, & + 0.0063220754596666666_r8, 0.0068124188038222221_r8, & + 0.0073180441002777775_r8, 0.0077393446044444446_r8, & + 0.0080528812380158722_r8, 0.0082769062330952381_r8, & + 0.0086096006900000001_r8, 0.0088391825533333333_r8, & + 0.0089960645333333339_r8, 0.0090299620240000007_r8, & + 0.0091328526399999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,38) / & + 8.207333315965233e-05_r8, 8.1735687894179894e-05_r8, & + 8.5443238317460304e-05_r8, 0.00011534493459259259_r8, & + 0.00011971455466666668_r8, 0.00013143078050000001_r8, & + 0.00019393458319999995_r8, 0.00021139753200000001_r8, & + 0.00021859575650000002_r8, 0.00022713253249999999_r8, & + 0.00023498599200000002_r8, 0.00020924461699999998_r8, & + 0.00021013386449999998_r8, 0.00025638409500000002_r8, & + 0.00029513656500000001_r8, 0.00035686906250000008_r8, & + 0.0005274329733333333_r8, 0.00077367652666666671_r8, & + 0.0011970207399999999_r8, 0.00171765175_r8, 0.0022109500999999993_r8, & + 0.0028331737366666665_r8, 0.0035102291022222221_r8, & + 0.0042395576599999997_r8, 0.0050611807477777774_r8, & + 0.0056144487011111112_r8, 0.0060083801433333328_r8, & + 0.006404246088888889_r8, 0.006589604790000001_r8, 0.0072144285655555548_r8, & + 0.0075782920016666672_r8, 0.0079256289549999998_r8, & + 0.0082554929750000006_r8, 0.0082407345866666679_r8, & + 0.0085763397133333339_r8, 0.0088106018266666669_r8, & + 0.0089661109333333336_r8, 0.0090096684600000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,38) / & + 0.00011307484_r8, 0.00011457252_r8, 0.00011681904_r8, 0.00012131208_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,38) / & + 0.00048175093430611281_r8, 0.00033750003134079998_r8, & + 0.0006261405690933333_r8, 0.00033486967340866011_r8, & + 0.00010346716289279999_r8, 0.00010675183473066666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,38) / & + 0.0002180392443816051_r8, 0.00017666107092716062_r8, & + 0.00014413893227799998_r8, 0.0001389153312484457_r8, & + 0.0001392776560560838_r8, 0.0001426230650780944_r8, & + 0.00015365520339942433_r8, 0.00012690735412594964_r8, & + 0.00014427093417974983_r8, 0.00016362474909240718_r8, & + 0.00018131164308253799_r8, 0.00020241153469729355_r8, & + 0.00025593807904946287_r8, 0.00036613993476753527_r8, & + 0.00051069675966404742_r8, 0.00067164654238319416_r8, & + 0.0010506094866339435_r8, 0.0016433211598446461_r8, & + 0.002399095780239449_r8, 0.003280304413946169_r8, 0.0041873425537988984_r8, & + 0.0050974115208218731_r8, 0.0061664314170242675_r8, & + 0.0070335155070326656_r8, 0.0079487887964569334_r8, & + 0.0085939906176451565_r8, 0.0091299421535256005_r8, 0.0107397972023584_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,19,38) / & + 0.00012858619662970208_r8, 0.00012180224613409712_r8, & + 0.00012904949080988972_r8, 0.00015727734335989465_r8, & + 0.00015808259276831605_r8, 0.00016000195437195058_r8, & + 0.00017222409607785353_r8, 0.00014655539233269466_r8, & + 0.00017061359726101068_r8, 0.00018985133655261235_r8, & + 0.00021681064551400825_r8, 0.00027596889999844613_r8, & + 0.00040287841292842145_r8, 0.00055653764935732677_r8, & + 0.00075415467883498924_r8, 0.0009886518554480066_r8, & + 0.0014943167703469302_r8, 0.0022047066953749072_r8, & + 0.0030619443293016494_r8, 0.0040810467462831799_r8, & + 0.0052313096760682543_r8, 0.0065023269246750953_r8, & + 0.0074606068131380038_r8, 0.0082808853114233298_r8, & + 0.0090906833547124543_r8, 0.0096498396404776973_r8, & + 0.010244476381292587_r8, 0.011288409475335524_r8, 0.012111778728860002_r8, & + 0.012326840123677693_r8, 0.012061198823112598_r8, 0.011035680609046502_r8, & + 0.012205594382100513_r8, 0.01242171780791391_r8, 0.011321904391143067_r8, & + 0.010407157640521183_r8, 0.0099504433433336738_r8, 0.009503803794133887_r8, & + 0.0091202106765255111_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,20,38) / & + 0.00014737249400458745_r8, 0.00013826403734185821_r8, & + 0.00015076636435740599_r8, 0.00014619750405647195_r8, & + 0.00014796951452469769_r8, 0.00014975824903342856_r8, & + 0.00016548979151709631_r8, 0.0001482678418942963_r8, & + 0.00016807869758146522_r8, 0.00019325772432900388_r8, & + 0.00024212254235456935_r8, 0.00035463819774639858_r8, & + 0.00053607731318638734_r8, 0.00070624049025757468_r8, & + 0.00091992453955851291_r8, 0.0011668195820013433_r8, & + 0.0017381450240282089_r8, 0.0024184760404750067_r8, & + 0.0032642838135249781_r8, 0.0042787606673804213_r8, & + 0.0055431458422708817_r8, 0.0071290784872924239_r8, & + 0.0081088714027326651_r8, 0.0089489221707805214_r8, & + 0.0096814454744589724_r8, 0.010260301161665038_r8, 0.010838906480147072_r8, & + 0.011929292524146368_r8, 0.012757111624098911_r8, 0.013107894684567111_r8, & + 0.012925182082631012_r8, 0.011591774333158222_r8, 0.013007336472194668_r8, & + 0.013259506719707999_r8, 0.012024221129354666_r8, 0.0094369776313653342_r8, & + 0.0094881089257920007_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,38) / & + 0.00015845258519043569_r8, 0.0001463794664155547_r8, & + 0.00015786949153682878_r8, 0.0001299685941847289_r8, & + 0.00012206480769200764_r8, 0.00013314508160702221_r8, & + 0.00014643269744941715_r8, 0.00015702494924598094_r8, & + 0.00016524786643291428_r8, 0.00019175436620678094_r8, & + 0.00023589609457513652_r8, 0.0003843289161833143_r8, & + 0.00067083239342387302_r8, 0.0009812272362067049_r8, & + 0.0013190075295945395_r8, 0.00161612612668381_r8, 0.0022675347287754158_r8, & + 0.0031626286161651807_r8, 0.0040361920408265393_r8, & + 0.0051185778303923313_r8, 0.006559069651315988_r8, & + 0.0078431784892620468_r8, 0.0086705522812202916_r8, & + 0.009482043636067073_r8, 0.010240303531203148_r8, 0.010853273875988211_r8, & + 0.011375325189087963_r8, 0.012349049149100733_r8, 0.013225732338194697_r8, & + 0.013704611579438933_r8, 0.013985403409330879_r8, 0.01319515021495936_r8, & + 0.014156209362225919_r8, 0.014166511483595523_r8, 0.0141946732981832_r8, & + 0.014187107677802398_r8, 0.014196765916586401_r8, 0.0141955183940768_r8, & + 0.014211454488070402_r8, 0.014183928507535999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,38) / & + 0.00014200858472701727_r8, 0.0001376233415701251_r8, & + 0.00016205761955503703_r8, 0.00015855684716180576_r8, & + 0.00013808258600510288_r8, 0.00014980336990116873_r8, & + 0.00016097986409652017_r8, 0.00022227739908436213_r8, & + 0.00028468206880433909_r8, 0.00035043906827189792_r8, & + 0.00043878872915178096_r8, 0.00058911937970051683_r8, & + 0.0010698230546399834_r8, 0.0015905731093856649_r8, & + 0.0019872098704896684_r8, 0.0023704812710653748_r8, & + 0.0030022112005582647_r8, 0.0039414986081642922_r8, & + 0.0049656715731247964_r8, 0.006104854012150867_r8, & + 0.0073345045123124394_r8, 0.0084955965998634118_r8, & + 0.0093135542343304803_r8, 0.010125510765591662_r8, 0.010854158500814807_r8, & + 0.011491941886053791_r8, 0.012012551097003542_r8, 0.013004669198016825_r8, & + 0.013763750547256417_r8, 0.01434430973439115_r8, 0.014647912055405551_r8, & + 0.014726067108339951_r8, 0.014748426281840891_r8, 0.014728219526701863_r8, & + 0.014708977648759565_r8, 0.014656034651422175_r8, 0.014598044604132714_r8, & + 0.014547889545233924_r8, 0.014514161520609315_r8, 0.014484652978187289_r8, & + 0.014244509888187998_r8, 0.014199169937607467_r8, 0.014199169937607467_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,38) / & + 0.0001171445407173004_r8, 0.00012460385392271275_r8, & + 0.00016434840761684279_r8, 0.000176306378786344_r8, & + 0.00015895258139780741_r8, 0.00016903931592127734_r8, & + 0.00018763633217738269_r8, 0.00031262468678078682_r8, & + 0.00046511765674297931_r8, 0.00064355160596248225_r8, & + 0.00090781892380165259_r8, 0.0013577872537253925_r8, & + 0.0024116395360536226_r8, 0.0028961488437928029_r8, & + 0.0031858316566256723_r8, 0.0034839606677443944_r8, & + 0.0040340017081627383_r8, 0.0048855553656898879_r8, & + 0.0059596964672692671_r8, 0.0070770682620477079_r8, & + 0.0081379440901432343_r8, 0.0091846446598106042_r8, & + 0.010036595634707804_r8, 0.010831127841288424_r8, 0.011515346802578697_r8, & + 0.012185223888479181_r8, 0.012732675957647538_r8, 0.013735966400464853_r8, & + 0.014469811582943028_r8, 0.014949988849679748_r8, 0.01520115911308287_r8, & + 0.015253848523026942_r8, 0.015264649787982027_r8, 0.015240872769400874_r8, & + 0.01521913131573285_r8, 0.015173329274231659_r8, 0.015130140235273004_r8, & + 0.015074511683816171_r8, 0.014992988842470396_r8, 0.014833447975031134_r8, & + 0.014588628701621332_r8, 0.014588888239580801_r8, 0.014410066585508266_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,38) / & + 0.00012662286600208594_r8, 0.00013522470305112795_r8, & + 0.00015234741507305722_r8, 0.00017286552910413382_r8, & + 0.00017220237837062627_r8, 0.00017716213221106924_r8, & + 0.00019584170429009839_r8, 0.0003369840638646084_r8, & + 0.0005978157788686302_r8, 0.0010063759744157784_r8, & + 0.0014994643996136432_r8, 0.0022928126013826112_r8, & + 0.0034518496693191308_r8, 0.0039508295771196042_r8, & + 0.0042049317942984884_r8, 0.0044429491163194175_r8, & + 0.0050127178154468731_r8, 0.0058704926800092622_r8, & + 0.0069005742069774946_r8, 0.0079638600506045116_r8, & + 0.0089796952877260819_r8, 0.0099481379446595148_r8, & + 0.010860872258029203_r8, 0.011672648595071531_r8, 0.012354744165560833_r8, & + 0.013000809182475254_r8, 0.013536392091234016_r8, 0.014524162769726101_r8, & + 0.015280166436887208_r8, 0.015653653894033788_r8, 0.015825112851154278_r8, & + 0.015846190899074537_r8, 0.01581168679290804_r8, 0.015775717013018952_r8, & + 0.015735840664606544_r8, 0.015693813363506243_r8, 0.015661867104775129_r8, & + 0.015590755391071272_r8, 0.015352689244049065_r8, 0.015234633872537243_r8, & + 0.014920098074828799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,38) / & + 0.00015310103277422794_r8, 0.00015862526259635283_r8, & + 0.00015430205852841049_r8, 0.00016064053714059484_r8, & + 0.00016513730659835723_r8, 0.00016861664609706429_r8, & + 0.00019509855044861141_r8, 0.00026538789486826273_r8, & + 0.00042697066209332769_r8, 0.00071335154572967812_r8, & + 0.0010741915723095896_r8, 0.0017113980916026012_r8, & + 0.0027743016892352451_r8, 0.0037502077866843307_r8, & + 0.0043878660466056393_r8, 0.0049350779793300315_r8, & + 0.0059010054267484065_r8, 0.0068695257073972844_r8, & + 0.0078162873409060845_r8, 0.0087926916364123951_r8, & + 0.0097257886887113249_r8, 0.010712759434511445_r8, 0.011590280841027211_r8, & + 0.012445689598245286_r8, 0.013141049720228384_r8, 0.013847795197911388_r8, & + 0.014374428001058211_r8, 0.015339545846031748_r8, 0.015987013833792377_r8, & + 0.016383637753258899_r8, 0.016652036754275089_r8, 0.016751297637270724_r8, & + 0.016761853952233046_r8, 0.016679350150623627_r8, 0.016508144718758139_r8, & + 0.01628356222463416_r8, 0.016003813561911554_r8, 0.015729938103450389_r8, & + 0.015512107208983111_r8, 0.01532633627755366_r8, 0.015198830575935031_r8, & + 0.015124891129429257_r8, 0.015088152462356418_r8, 0.01506636061833351_r8, & + 0.015020349738730666_r8 & + / +data delta_sa_ref(:,26,38) / & + 0.00016762233289193082_r8, 0.00017137369833542058_r8, & + 0.00016456461615308644_r8, 0.00016353122114412508_r8, & + 0.00016753739631585187_r8, 0.00017053848867064361_r8, & + 0.00019616102245447901_r8, 0.00019405176414851689_r8, & + 0.00020554651411120988_r8, 0.00025165291882610049_r8, & + 0.00034785774733159507_r8, 0.00056366743105235224_r8, & + 0.0011282408522495472_r8, 0.0020241093884429302_r8, & + 0.0031130953864479602_r8, 0.0042909816674156897_r8, & + 0.0062169326861033092_r8, 0.007776552252162147_r8, & + 0.0088798182120204613_r8, 0.0098731373131684969_r8, & + 0.010784455458648251_r8, 0.011769903770412968_r8, 0.012554468232190811_r8, & + 0.01335601470064845_r8, 0.014017622851479911_r8, 0.0147161341751057_r8, & + 0.015205551113056983_r8, 0.01607322955355214_r8, 0.016683891431556783_r8, & + 0.017077774691626045_r8, 0.017326628748040401_r8, 0.017421409877746857_r8, & + 0.017429595134691615_r8, 0.017370658756815077_r8, 0.017189202379094277_r8, & + 0.016946108589820139_r8, 0.016627513262459766_r8, 0.016317558563318402_r8, & + 0.016068745913484884_r8, 0.015873947819731556_r8, 0.015718216101915834_r8, & + 0.015629341957173269_r8, 0.01560279523254972_r8, 0.015578390742352215_r8, & + 0.015593320203585706_r8 & + / +data delta_sa_ref(:,27,38) / & + 0.00016709715013657283_r8, 0.00016725777835045923_r8, & + 0.00016508199618054317_r8, 0.00016061361132152095_r8, & + 0.00016705334244187652_r8, 0.00016700953474718021_r8, & + 0.00017838493280331847_r8, 0.00017642818910688392_r8, & + 0.00017679325322935305_r8, 0.00019056347192888888_r8, & + 0.00023873733352991599_r8, 0.00033197471040853334_r8, & + 0.00054572705539666184_r8, 0.00096203157809556547_r8, & + 0.0016342898583400294_r8, 0.0025434309463722672_r8, & + 0.0048573679827955355_r8, 0.0073611274109790809_r8, & + 0.0092024816395836033_r8, 0.010678751667192257_r8, 0.011780867475682293_r8, & + 0.01293316213008597_r8, 0.013709645174255021_r8, 0.014475478776451478_r8, & + 0.015072076995794036_r8, 0.015661682672630788_r8, 0.016108623376487302_r8, & + 0.016924020170030862_r8, 0.017476324116353893_r8, 0.01781844896531953_r8, & + 0.018001379520119778_r8, 0.018021987285529124_r8, 0.018014652886548632_r8, & + 0.018018038530334426_r8, 0.017844799437097394_r8, 0.017618811283549484_r8, & + 0.01733486232301229_r8, 0.017020545946739653_r8, 0.016731451780841951_r8, & + 0.016501945838677489_r8, 0.01630610888139435_r8, 0.01618954599317065_r8, & + 0.016185820618104887_r8, 0.016182091488093867_r8, 0.016166090727606046_r8 & + / +data delta_sa_ref(:,28,38) / & + 0.00018555458656118519_r8, 0.00018690899960177782_r8, & + 0.00018499777231116384_r8, 0.00017848154068253501_r8, & + 0.00018874498172346998_r8, 0.00018934694307484447_r8, & + 0.00019685641093324118_r8, 0.00021360598553523625_r8, & + 0.00023158958090754901_r8, 0.00026388480740879015_r8, & + 0.00031348642276204778_r8, 0.00037684285499421237_r8, & + 0.00055299179544017127_r8, 0.00082197822530186008_r8, & + 0.0012734040917313713_r8, 0.0018400303117801745_r8, & + 0.0035798190095227126_r8, 0.0061928730397042171_r8, & + 0.008851796524860461_r8, 0.011241116569769852_r8, 0.012892296556590065_r8, & + 0.014218763541445096_r8, 0.015113458697992996_r8, 0.015931057654463607_r8, & + 0.016533154447142151_r8, 0.017061119699398927_r8, 0.017418895428588353_r8, & + 0.018074160457627053_r8, 0.018396811741963774_r8, 0.018571877151977258_r8, & + 0.018644896945028206_r8, 0.018632048563702062_r8, 0.01859913310202271_r8, & + 0.018530018264506055_r8, 0.018374377126116993_r8, 0.018194725254324973_r8, & + 0.018001142599451875_r8, 0.017763495137487529_r8, 0.017520261742915173_r8, & + 0.017315370007885873_r8, 0.017107071279100886_r8, 0.016926802611909909_r8, & + 0.016773939847636737_r8, 0.01668268465663033_r8, 0.016676244422622312_r8 & + / +data delta_sa_ref(:,29,38) / & + 0.00019462351353468312_r8, 0.00021563541515514734_r8, & + 0.00022299577892337773_r8, 0.0002201136154267654_r8, & + 0.00022547505935057119_r8, 0.0002288685744352921_r8, & + 0.0002186880291811292_r8, 0.00028037562531023537_r8, & + 0.00031826212933828469_r8, 0.00036645314264185675_r8, & + 0.00041859550912626828_r8, 0.00048186364652771018_r8, & + 0.00065745868278368395_r8, 0.00088776833896728213_r8, & + 0.0012718088771395423_r8, 0.0017380220659705943_r8, & + 0.0030603927683222122_r8, 0.0053050093030817718_r8, & + 0.0081893886565759192_r8, 0.011031868170850501_r8, 0.013148042483978772_r8, & + 0.014840244348554297_r8, 0.01594945891617796_r8, 0.016895071966612201_r8, & + 0.01759227661374433_r8, 0.018189876169713962_r8, 0.01863396178073231_r8, & + 0.019375777980051252_r8, 0.019607575204491166_r8, 0.019548738780853333_r8, & + 0.019426246832247307_r8, 0.019357679232932738_r8, 0.019282959919058196_r8, & + 0.019193417219942006_r8, 0.019070778064060618_r8, 0.018943835032312648_r8, & + 0.018779304338373833_r8, 0.018616066412086341_r8, 0.018431282819452492_r8, & + 0.018262403700076917_r8, 0.018051506864979323_r8, 0.017804517130287727_r8, & + 0.017553880971771411_r8, 0.017499944143066194_r8, 0.017558721102712532_r8 & + / +data delta_sa_ref(:,30,38) / & + 0.00018489498610133333_r8, 0.00019952971598933333_r8, & + 0.00020713403642133336_r8, 0.0002371208849173334_r8, & + 0.00024577737547199998_r8, 0.00025114981988622222_r8, & + 0.00024633534447644442_r8, 0.0002960742957297777_r8, & + 0.00032692201068977778_r8, 0.00037242039750933327_r8, & + 0.00042563469856177774_r8, 0.00050233152371555558_r8, & + 0.00070313659742933326_r8, 0.00091889524046222205_r8, & + 0.0012543143219911109_r8, 0.001678322939454222_r8, & + 0.0029044199717920003_r8, 0.0048653143570684433_r8, & + 0.0074099399728231102_r8, 0.010376390155937778_r8, 0.012796142308497779_r8, & + 0.014755681626192001_r8, 0.016189837329301335_r8, 0.017300673907292442_r8, & + 0.018120521678479995_r8, 0.018864071173802666_r8, 0.019489426892012444_r8, & + 0.020497039204181333_r8, 0.020909107284949335_r8, 0.020821155427877332_r8, & + 0.020588211339507556_r8, 0.020361580271873774_r8, 0.020203388088128001_r8, & + 0.02005249732735466_r8, 0.019891292110984886_r8, 0.019743101521643776_r8, & + 0.019603639161729334_r8, 0.019486483605513995_r8, 0.019305474474979333_r8, & + 0.019119800325018216_r8, 0.01890444023127422_r8, 0.01867522855699489_r8, & + 0.018535816015741554_r8, 0.018387046391219308_r8, 0.018328363538438402_r8 & + / +data delta_sa_ref(:,31,38) / & + 0.0003658391559678419_r8, 0.00034559943202301885_r8, & + 0.00031101982269218759_r8, 0.00032678550239657612_r8, & + 0.00034187925604287729_r8, 0.00037867130483326412_r8, & + 0.00049384926425368228_r8, 0.00063982110326302546_r8, & + 0.00077048613890033234_r8, 0.00090887012998542216_r8, & + 0.001053973381651384_r8, 0.0012433418109488988_r8, & + 0.0016376476879630222_r8, 0.0020731704926866437_r8, & + 0.0026184958483659849_r8, 0.0033116285483840782_r8, & + 0.0050940681076446807_r8, 0.0072846126107708551_r8, & + 0.0097512203931282432_r8, 0.012322451979261944_r8, 0.014371138141929505_r8, & + 0.01598236766390139_r8, 0.017281266287945796_r8, 0.018273979679228149_r8, & + 0.018972602506794028_r8, 0.019684434417355484_r8, 0.020341332275558184_r8, & + 0.021374344841885336_r8, 0.021857738281137563_r8, 0.021833057289833188_r8, & + 0.021634265507282008_r8, 0.021338781926128036_r8, 0.021074010282360785_r8, & + 0.020895972411073268_r8, 0.020735869639293539_r8, 0.020526824838691362_r8, & + 0.020376383052551694_r8, 0.020240039422301532_r8, 0.020032348716590806_r8, & + 0.019893931948624839_r8, 0.019667345371085467_r8, 0.019511599875908031_r8, & + 0.019416560675933291_r8, 0.01935800419293561_r8, 0.019289655967955205_r8 & + / +data delta_sa_ref(:,32,38) / & + 0.00063651108673505174_r8, 0.00061363244496000008_r8, & + 0.00068045020007786647_r8, 0.00094560002197416305_r8, & + 0.0011596558940637762_r8, 0.0013949742566330733_r8, & + 0.0018865536089741435_r8, 0.0022890594560673848_r8, & + 0.0025791417786765959_r8, 0.0028454868791350915_r8, & + 0.003193397115281685_r8, 0.0038044369842053657_r8, & + 0.0047964171813747224_r8, 0.0059388004584692558_r8, & + 0.0072274959325225614_r8, 0.0086871667456983326_r8, & + 0.011385600691864272_r8, 0.013487321276943593_r8, 0.015437679192266112_r8, & + 0.01695433617351293_r8, 0.018128268070685787_r8, 0.019077756956714435_r8, & + 0.019883240028362063_r8, 0.020574767598776932_r8, 0.021106700228774221_r8, & + 0.021580501916866238_r8, 0.021955263833388996_r8, 0.022507768722583577_r8, & + 0.022734922154129394_r8, 0.0226303268624823_r8, 0.022368948060275205_r8, & + 0.022086205758132454_r8, 0.021754524374576839_r8, 0.02163516486745019_r8, & + 0.021451293987783442_r8, 0.021226110240628846_r8, 0.021009360783046951_r8, & + 0.020861731254433361_r8, 0.020783690927885547_r8, 0.020747767335745935_r8, & + 0.02058141949232466_r8, 0.020351452947430335_r8, 0.020177178086329184_r8, & + 0.020160225801609623_r8, 0.0200207812375616_r8 & + / +data delta_sa_ref(:,33,38) / & + 0.00087723732081509151_r8, 0.0011280246814326517_r8, & + 0.0015762678351203157_r8, 0.0023100456462818563_r8, & + 0.0028263709496093329_r8, 0.0034649311441852047_r8, & + 0.004259464726412642_r8, 0.0050372745634711192_r8, 0.005383021245789283_r8, & + 0.0059191812509599793_r8, 0.0065970198580402361_r8, & + 0.0073409140645688689_r8, 0.0085285943721865771_r8, 0.00994430740285282_r8, & + 0.011357204494658567_r8, 0.012756341906254813_r8, 0.015017312450162123_r8, & + 0.016738208756733639_r8, 0.018052543976673587_r8, 0.0190998436373239_r8, & + 0.020078749466334499_r8, 0.020887788296802878_r8, 0.021493646877668322_r8, & + 0.022025320513616675_r8, 0.022440452546649486_r8, 0.022764826484463534_r8, & + 0.023010796352308367_r8, 0.02335544165536153_r8, 0.023456870693030377_r8, & + 0.02333592017849841_r8, 0.023115081137726801_r8, 0.022831252399159313_r8, & + 0.02253589451255588_r8, 0.022302368224531268_r8, 0.022047467402145509_r8, & + 0.021802762654624233_r8, 0.02160180145742217_r8, 0.021496028189866775_r8, & + 0.021422680836320117_r8, 0.021369249592251907_r8, 0.021261158274686151_r8, & + 0.021158615637349144_r8, 0.020974814848711939_r8, 0.020741490320777951_r8, & + 0.020634328494483198_r8 & + / +data delta_sa_ref(:,34,38) / & + 0.0010589308427587309_r8, 0.0014951732721831226_r8, & + 0.0023167038665106452_r8, 0.002252280870156722_r8, & + 0.0025563245277908705_r8, 0.0033955829692163351_r8, & + 0.0055086271122849317_r8, 0.0059605596360970976_r8, & + 0.0060041714062328269_r8, 0.0063434950624353731_r8, & + 0.0067572737770370851_r8, 0.0069607799646605175_r8, & + 0.0075233276064211804_r8, 0.0083146113279126341_r8, & + 0.0090200327545347861_r8, 0.0097956146685966305_r8, & + 0.013386125446853185_r8, 0.015692340442687115_r8, 0.017969256055798619_r8, & + 0.019256058429173408_r8, 0.020584959374306648_r8, 0.019958777878642881_r8, & + 0.022437326922273137_r8, 0.02283600974193355_r8, 0.02324315938136795_r8, & + 0.023516577486689269_r8, 0.023779441698123262_r8, 0.024083013351828428_r8, & + 0.02418154194019425_r8, 0.024124753694448012_r8, 0.023973084871386281_r8, & + 0.023604857986530201_r8, 0.023215184838647398_r8, 0.022969878413606686_r8, & + 0.022726630191614045_r8, 0.022423643556863111_r8, 0.022227874941360533_r8, & + 0.022144110863822754_r8, 0.022061304090028266_r8, 0.02205089341182_r8, & + 0.021988429342570399_r8, 0.021962223152597864_r8, 0.0215350263571552_r8, & + 0.021277272324274666_r8, 0.02116813969753973_r8 & + / +data delta_sa_ref(:,35,38) / & + 0.00079385412216098758_r8, 0.0010105646659487077_r8, & + 0.0014925293515161812_r8, 0.0013816478497006087_r8, & + 0.0015447623356528726_r8, 0.002157454876089942_r8, & + 0.0049255304205948324_r8, 0.0047631429072819099_r8, & + 0.0048707166835884773_r8, 0.0050757774908307494_r8, & + 0.0050646911580807903_r8, 0.0058368996699053825_r8, & + 0.0070068894356616947_r8, 0.0074525418378940554_r8, & + 0.008089715181960954_r8, 0.0092238106736497773_r8, 0.013017535566369712_r8, & + 0.012868572057200132_r8, 0.014421929870689149_r8, 0.016256612140325005_r8, & + 0.018382150191400454_r8, 0.015795770553509399_r8, 0.023267197777499856_r8, & + 0.023756480870664266_r8, 0.024150010178463365_r8, 0.024346977054082373_r8, & + 0.024577200201803852_r8, 0.024743876853688888_r8, 0.024861707759578664_r8, & + 0.024852470209122131_r8, 0.024690880548280888_r8, 0.024285556953215999_r8, & + 0.023840976835626665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,38) / & + 0.00063580669935664187_r8, 0.00073321202500709114_r8, & + 0.00086391131400355555_r8, 0.00096271319851919015_r8, & + 0.0012569588410212738_r8, 0.0018126403030860245_r8, & + 0.0037271735409759609_r8, 0.0039513677908003557_r8, & + 0.0038222698893026377_r8, 0.0039597843855612054_r8, & + 0.0038763074069928698_r8, 0.0046608569358841693_r8, & + 0.0058605894498063704_r8, 0.0061787977148369238_r8, & + 0.0075584691907158797_r8, 0.0096460181162454223_r8, & + 0.013085679756047601_r8, 0.0088655881034924045_r8, 0.010409987288671324_r8, & + 0.013793882138394152_r8, 0.017560861863207287_r8, 0.015376515314642064_r8, & + 0.023663393963936071_r8, 0.024573257650839678_r8, 0.025182971859018542_r8, & + 0.025679608790721654_r8, 0.026174255416558042_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,38) / & + 0.00093153783240761503_r8, 0.0011209961944747726_r8, & + 0.0013253750230916826_r8, 0.0013050888270433438_r8, & + 0.0018852556477454224_r8, 0.0029366812215426371_r8, & + 0.0041432624869288974_r8, 0.0044554942149494289_r8, & + 0.004231237161417197_r8, 0.0043819409216438523_r8, & + 0.0043504141709230894_r8, 0.0044510978510122661_r8, & + 0.0051708104112383997_r8, 0.0052101938238687988_r8, & + 0.0067191190842570666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,38,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,38) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,38) / & + 0.0042990944338133323_r8, 0.0040291815457599994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,38) / & + 0.00435650051142507_r8, 0.0041335520950285748_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,38) / & + 0.003596423784920639_r8, 0.0035176924637861039_r8, & + 0.0025597286638392803_r8, 0.0030065390046099131_r8, & + 0.0044014939758509506_r8, 0.0068678887008154655_r8, 0.00520695903697825_r8, & + 0.0054293710113624888_r8, 0.0024533722129834665_r8, & + 0.0021622356417429333_r8, 0.0020460111607338662_r8, & + 0.0020743960174819547_r8, 0.0019646923819420445_r8, & + 0.0020970271870513774_r8, 0.0021315493101233774_r8, & + 0.002182948915586133_r8, 0.0022611990612159999_r8, & + 0.0022961047634332439_r8, 0.0023539156203236573_r8, 0.002468331799648_r8, & + 0.0025718981688639996_r8, 0.0026927255996159996_r8, & + 0.0027617698457599997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,38) / & + 0.002372040278274686_r8, 0.0027028900547330635_r8, & + 0.0022406476576133263_r8, 0.0033592830298460707_r8, & + 0.0031917530529013468_r8, 0.0042052655574020209_r8, & + 0.0047674996685097082_r8, 0.0047560971046338883_r8, & + 0.0021858276389795823_r8, 0.0021063166839531983_r8, & + 0.002100527689985475_r8, 0.0021869240393522565_r8, & + 0.0021045185873420119_r8, 0.0021981511791684472_r8, & + 0.0022250787723213433_r8, 0.0022863017691315099_r8, & + 0.0023526997757007009_r8, 0.0023829165699716212_r8, & + 0.002447362983877452_r8, 0.0025703188036710783_r8, & + 0.0026807811412180743_r8, 0.0028054418635912104_r8, & + 0.0028995678355853496_r8, 0.0031376511765117037_r8, & + 0.0033149226707676446_r8, 0.0035235238056727696_r8, & + 0.0036988711172746664_r8, 0.0040114791409611023_r8, & + 0.0039154255404831766_r8, 0.0038905328664219649_r8, & + 0.003892732519669644_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,44,38) / & + 0.002300284561750624_r8, 0.0028202869447923624_r8, & + 0.0022451819852611159_r8, 0.0035156976932548736_r8, & + 0.0032272433709935149_r8, 0.0037110367778314269_r8, & + 0.0032696299682931362_r8, 0.0025706118498476779_r8, & + 0.0020749141220660411_r8, 0.0021256878545760131_r8, & + 0.0022298506628335934_r8, 0.0023093931709575639_r8, & + 0.0023012765884959344_r8, 0.0023304511932330145_r8, & + 0.0023870869019652742_r8, 0.002458422643378041_r8, & + 0.0024866052213698107_r8, 0.0025023423729204149_r8, & + 0.0025797204590546174_r8, 0.0027222115733810046_r8, & + 0.0028307483177429068_r8, 0.0029528577916656464_r8, & + 0.0030535935984394276_r8, 0.003276799616134243_r8, & + 0.0034720936085860083_r8, 0.0036871379516944069_r8, & + 0.0038807635355290605_r8, 0.0042488892005566378_r8, & + 0.0043368421951698677_r8, 0.0041849833529623189_r8, & + 0.0041251544776219401_r8, 0.0040226014582192497_r8, & + 0.0039892394055225013_r8, 0.0040100120590653709_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,38) / & + 0.0024312130988373331_r8, 0.0032836062884693327_r8, & + 0.002797715763285333_r8, 0.0039602764840106653_r8, & + 0.0037545791220906675_r8, 0.0042278683674453321_r8, & + 0.0032236575528106662_r8, 0.0023656586467840001_r8, & + 0.002114188989013333_r8, 0.0022477532895573333_r8, & + 0.0022947301195093335_r8, 0.0023258626932053331_r8, & + 0.0023565783127893324_r8, 0.0024052229591893328_r8, & + 0.0024662372442453332_r8, 0.0025243328505173321_r8, & + 0.0025429568008533319_r8, 0.0025616270794240007_r8, & + 0.0026429331312640002_r8, 0.0027715403106986659_r8, & + 0.0028733234422613323_r8, 0.0030021622628693336_r8, & + 0.003132529915221333_r8, 0.0033079286116693336_r8, & + 0.0035081592418986663_r8, 0.0036835116101120004_r8, & + 0.0039084351894186657_r8, 0.004258815628202667_r8, & + 0.0043106105945600005_r8, 0.0041962766478521908_r8, & + 0.0041801138849828579_r8, 0.004194186086262857_r8, & + 0.0042208264757759998_r8, 0.0042158925187839999_r8, & + 0.0042354198696959991_r8, 0.0042541828047359996_r8, & + 0.004364397675007999_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,39) / & + 0.0044501878584229807_r8, 0.0045146731555555557_r8, & + 0.0048019781022222213_r8, 0.0053044497422222222_r8, & + 0.0056396388466666662_r8, 0.0057564162844444449_r8, & + 0.0060575331688888893_r8, 0.0061039196466666666_r8, & + 0.006205387466666666_r8, 0.0063591492799999995_r8, 0.006482250255555556_r8, & + 0.0065961987422222213_r8, 0.0067114784999999996_r8, & + 0.0068926145755555564_r8, 0.0071474281866666656_r8, & + 0.0073964590888888878_r8, 0.0078101515866666653_r8, & + 0.0076865929866666658_r8, 0.0076950798399999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,39) / & + 0.004099649386666666_r8, 0.0041482222923456789_r8, & + 0.0043450562730864188_r8, 0.0046267402972839508_r8, & + 0.0049540018671604931_r8, 0.0051235355451851854_r8, & + 0.0055642232627160487_r8, 0.0058662923758024694_r8, & + 0.0060778073185185182_r8, 0.0062718955525925928_r8, & + 0.0064070473051851861_r8, 0.0065315119091358025_r8, & + 0.0066470366577777778_r8, 0.0067959633683950613_r8, & + 0.0069852257446913575_r8, 0.0071305007046913588_r8, & + 0.0073635251519135808_r8, 0.0074290408927689599_r8, & + 0.0075128717147989413_r8, 0.007664201283925926_r8, & + 0.0077850099770370362_r8, 0.0080427066221481491_r8, & + 0.0080943100185925914_r8, 0.0081941068159999998_r8, & + 0.008300235471629629_r8, 0.0084154597597777773_r8, & + 0.0085826133284444429_r8, 0.0088965020951111123_r8, & + 0.0091326279880000003_r8, 0.0092899800731111107_r8, & + 0.0093452500120740738_r8, 0.0092757132843703689_r8, & + 0.0092110024144444417_r8, 0.0092699735644444434_r8, & + 0.0091524888888888881_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,39) / & + 0.0026637717990123455_r8, 0.0026529182414814813_r8, & + 0.0026560245407407403_r8, 0.0028483007669135802_r8, & + 0.0029218904755555549_r8, 0.0028965223649382718_r8, & + 0.0034359182883950613_r8, 0.0044254872360493828_r8, & + 0.0050119306503703699_r8, 0.0054123011920987644_r8, & + 0.0057378616933333321_r8, 0.0061131229827160495_r8, & + 0.0064016759960493835_r8, 0.0065120790488888899_r8, & + 0.0065930184834567902_r8, 0.0066717576227160484_r8, & + 0.0067924872716049389_r8, 0.0069664400301234558_r8, & + 0.0071308705022222222_r8, 0.0073350634538271609_r8, & + 0.0075091363965432093_r8, 0.0076666331649382722_r8, & + 0.0078036246602469122_r8, 0.0079187981012345688_r8, & + 0.0080207143007407413_r8, 0.008127595032098766_r8, & + 0.0082706049822222228_r8, 0.008623613705185185_r8, & + 0.0089367767441975304_r8, 0.0091939062123456792_r8, & + 0.009358526205679011_r8, 0.0094067790053703713_r8, & + 0.0094335315454938274_r8, 0.0093912014494708998_r8, & + 0.0092171331952592573_r8, 0.0092120362296666675_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,39) / & + 0.0010034363550617284_r8, 0.00097249354666666674_r8, & + 0.0010771370029629627_r8, 0.0010926222745679013_r8, & + 0.0010851708543209875_r8, 0.0010291557733333333_r8, & + 0.0013230800958024692_r8, 0.0020495658350617283_r8, & + 0.0025883331027160492_r8, 0.0030541023377777779_r8, & + 0.0034954002212345676_r8, 0.0041200529654320988_r8, & + 0.0047408875501234573_r8, 0.0050708486419753082_r8, & + 0.0052980152651851842_r8, 0.0055135425111111124_r8, & + 0.0058580366459259244_r8, 0.0061104327056790116_r8, & + 0.0063241664335802463_r8, 0.0064836693535802467_r8, & + 0.0066565866790123454_r8, 0.0068064378834567889_r8, & + 0.0069794846380246914_r8, 0.0071393943353086423_r8, & + 0.0072859728316049376_r8, 0.0074276515106172832_r8, & + 0.0075780574113580249_r8, 0.0079379073886419755_r8, & + 0.0083729741837037016_r8, 0.0087602076681481469_r8, & + 0.009034660994999999_r8, 0.0091788103837654299_r8, & + 0.0093286668049964716_r8, 0.0094359071974708993_r8, & + 0.0095189748250833327_r8, 0.0093769744799999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,39) / & + 0.00030267927901234571_r8, 0.00028128649185185184_r8, & + 0.00038509790370370371_r8, 0.00037503941086419751_r8, & + 0.00038205631901234565_r8, 0.0003883336320987654_r8, & + 0.0005036827269135802_r8, 0.00068499445629629618_r8, & + 0.00086470681135802452_r8, 0.0010524715076543208_r8, & + 0.0012533547713580245_r8, 0.001428342962962963_r8, & + 0.0016727513960493826_r8, 0.0019740624241975308_r8, & + 0.0022300824997530866_r8, 0.0025324104711111103_r8, & + 0.0031026752434567899_r8, 0.003589217854814814_r8, & + 0.0041068789283950609_r8, 0.004390421185185186_r8, & + 0.0047684282212345679_r8, 0.0050875080207407409_r8, & + 0.0053951888113580246_r8, 0.0056902779960493833_r8, & + 0.0059204307343209877_r8, 0.0061297084019753091_r8, & + 0.0063407795876543214_r8, 0.0067321548044444448_r8, & + 0.007139440559999999_r8, 0.0075816999170370374_r8, 0.007980184491358025_r8, & + 0.008304080903703704_r8, 0.0086421590513580237_r8, & + 0.0089283268706172852_r8, 0.0091423391022839497_r8, & + 0.0091439467970493814_r8, 0.0091804885711851848_r8, & + 0.0091728531766666656_r8, 0.0092069878000000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,39) / & + 0.00022602949580246911_r8, 0.00020493254666666667_r8, & + 0.00021590628839506171_r8, 0.0002170156809876543_r8, & + 0.00021992783654320984_r8, 0.00022799866765432102_r8, & + 0.00027112630469135803_r8, 0.00033656197777777772_r8, & + 0.00037087918864197532_r8, 0.00039803157234567891_r8, & + 0.00042558148839506166_r8, 0.00043313460296296287_r8, & + 0.00046790481580246914_r8, 0.00052874575456790128_r8, & + 0.00061109966469135809_r8, 0.00074339473135802479_r8, & + 0.00097754128296296291_r8, 0.0013180600943209879_r8, & + 0.0017053767832098765_r8, 0.0021133189293827161_r8, & + 0.0026059816898765429_r8, 0.0030828078711111115_r8, & + 0.0035992301229629633_r8, 0.0041563948177777768_r8, & + 0.0046594766237037033_r8, 0.0051127559471604933_r8, & + 0.0054597462153086413_r8, 0.0060166520518518509_r8, & + 0.0064336831279629631_r8, 0.0068714245166843031_r8, & + 0.0073519678234567898_r8, 0.0077358830354144611_r8, & + 0.0080653723712733674_r8, 0.0084002681470335093_r8, & + 0.0087024060028395057_r8, 0.0089434035159506164_r8, & + 0.0091159406432962959_r8, 0.0091785673692426299_r8, & + 0.0091857685865555545_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,11,39) / & + 0.00025584442172839507_r8, 0.00023681833876543212_r8, & + 0.00022571516790123459_r8, 0.0002256042286419753_r8, & + 0.00022061196197530866_r8, 0.00021592477827160486_r8, & + 0.00023028216740740741_r8, 0.00026854696691358022_r8, & + 0.00027869790913580245_r8, 0.00028836811456790123_r8, & + 0.00029693817234567897_r8, 0.00030511994271604945_r8, & + 0.00033180083456790121_r8, 0.00034152650962962955_r8, & + 0.00035827833777777777_r8, 0.00038642917481481479_r8, & + 0.00046858894123456786_r8, 0.00069545048148148155_r8, & + 0.001026447006419753_r8, 0.0014294246207407404_r8, & + 0.0019308238479012346_r8, 0.0024609193634567901_r8, & + 0.003073119175802469_r8, 0.0037249243037037038_r8, & + 0.0043577680632098763_r8, 0.0049205814153086419_r8, & + 0.0053581350987654316_r8, 0.0060381580895061725_r8, & + 0.0064078770383950625_r8, 0.0067712736051234561_r8, & + 0.0072481020975925922_r8, 0.0077315253677248666_r8, & + 0.0079804364159259244_r8, 0.0082561477477530853_r8, & + 0.0085674710440493823_r8, 0.0088188347743738977_r8, & + 0.0090223566094955899_r8, 0.0091977883930493814_r8, & + 0.0092107438863492062_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,39) / & + 0.00021915126172839506_r8, 0.00021499103950617282_r8, & + 0.00021305884740740739_r8, 0.00022904334567901231_r8, & + 0.00023019896296296293_r8, 0.00022898787604938272_r8, & + 0.00021575836938271604_r8, 0.00023961031012345677_r8, & + 0.00024897543259259263_r8, 0.00025536368493827161_r8, & + 0.00026248228740740736_r8, 0.00026324961728395064_r8, & + 0.00030294738222222221_r8, 0.00033705195950617286_r8, & + 0.00036816117679012349_r8, 0.00040748914419753095_r8, & + 0.00051404630271604927_r8, 0.00076686762962962954_r8, & + 0.0011735154844444442_r8, 0.0016160336997530864_r8, & + 0.0021248011427160499_r8, 0.0027000489367901238_r8, & + 0.0033301377046913582_r8, 0.0040242384251851851_r8, & + 0.004749004605925926_r8, 0.0053332662148148149_r8, 0.005807226465185185_r8, & + 0.0063664643374074081_r8, 0.0065703140706790137_r8, & + 0.0069478507704938261_r8, 0.0073401759046913583_r8, & + 0.0077417748675925923_r8, 0.0080844449430687842_r8, & + 0.0082509480973104038_r8, 0.00856864660398589_r8, 0.0088180070222222216_r8, & + 0.0089949307076895961_r8, 0.0090414985183280405_r8, & + 0.0091646445959753086_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,39) / & + 0.00015680541531829922_r8, 0.00016167019767195762_r8, & + 0.00016076683513227511_r8, 0.00016096362024691359_r8, & + 0.00016982027111111112_r8, 0.00017656722706172837_r8, & + 0.00018665345471604935_r8, 0.00020439449125925926_r8, & + 0.00021705820770370372_r8, 0.00022725907259259256_r8, & + 0.00023793512730864195_r8, 0.00022831114656790118_r8, & + 0.0002302895633580247_r8, 0.00027419331296296299_r8, & + 0.00031695808617283942_r8, 0.00038580051901234563_r8, & + 0.00057126784814814805_r8, 0.00088629836469135805_r8, & + 0.0012932235676543209_r8, 0.0017603529642592592_r8, & + 0.002260357361358024_r8, 0.0027986427366049381_r8, & + 0.0034301922047530859_r8, 0.0041225225195679017_r8, & + 0.0048940160851851846_r8, 0.0055010479770370374_r8, & + 0.0060354701237037029_r8, 0.0065548588451234558_r8, & + 0.0066992358904938267_r8, 0.0070833526751234574_r8, & + 0.0074194362273456785_r8, 0.0077610886992592601_r8, & + 0.0081117402931393297_r8, 0.0082349361613827145_r8, & + 0.0085489256978765436_r8, 0.0087507242104691366_r8, & + 0.0089228686590617275_r8, 0.0089771688039999992_r8, & + 0.009062524640505951_r8, 0.0090909175999999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,39) / & + 0.00013620118779284539_r8, 0.00014016647125220458_r8, & + 0.0001418262678483245_r8, 0.00011811531241622573_r8, 0.00012287996375_r8, & + 0.00013159674365079366_r8, 0.00015052946924603176_r8, & + 0.00016799423071428571_r8, 0.0001837607300396825_r8, & + 0.00019782748142857141_r8, 0.0002129883341170635_r8, & + 0.00022192501147817465_r8, 0.00022995368319444443_r8, & + 0.00026866611105555557_r8, 0.00030981278894444441_r8, & + 0.00037749570429166664_r8, 0.00061242579330555557_r8, & + 0.0010013740693472222_r8, 0.0013738221240138888_r8, & + 0.0018778295174761903_r8, 0.0023891211257460318_r8, & + 0.0028937626187936507_r8, 0.0035429620702766441_r8, & + 0.004219161533786848_r8, 0.0049791464295102037_r8, & + 0.0056237628443492052_r8, 0.0062041778608299316_r8, & + 0.0067539058046621313_r8, 0.0068593451086394561_r8, & + 0.0070177345324263039_r8, 0.0072813313065759628_r8, & + 0.0076279555034693882_r8, 0.0079735880392290247_r8, & + 0.0082413333615079364_r8, 0.0085357294069523804_r8, & + 0.0087102340882857128_r8, 0.0088806159893968228_r8, & + 0.0089111971886349194_r8, 0.0089896835448677256_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,39) / & + 0.00015523002509259257_r8, 0.00015086785874999999_r8, & + 0.00015380341555555556_r8, 0.00011637528296296297_r8, 0.000117268344_r8, & + 0.0001138070391111111_r8, 0.00011033741377777779_r8, & + 0.00011699099585185186_r8, 0.00012812929748148147_r8, & + 0.00012953267911111112_r8, 0.00013948393066666665_r8, & + 0.00015362868622222222_r8, 0.00018796716044444447_r8, & + 0.00025560405333333329_r8, 0.00029983761611111109_r8, & + 0.00036567313277777777_r8, 0.00058034059944444443_r8, & + 0.00093726686499999987_r8, 0.0013485672349999999_r8, & + 0.0018144861224999999_r8, 0.0022976283299999999_r8, & + 0.0028113459421428566_r8, 0.0035266352357142855_r8, & + 0.0042517129378571421_r8, 0.0050221355764285712_r8, & + 0.0057512873247619048_r8, 0.006371736923809523_r8, & + 0.0071131063533333341_r8, 0.0072070358506666661_r8, & + 0.0071699557899999999_r8, 0.0073698960699999988_r8, & + 0.0077226371520000003_r8, 0.0080320203980000001_r8, & + 0.0083783963399999984_r8, 0.0086822381699999986_r8, & + 0.0088937854700000003_r8, 0.0090182801199999996_r8, & + 0.0090645209899999982_r8, 0.0090853012999999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,39) / & + 0.00029779134853207174_r8, 0.00021264013357687701_r8, & + 0.00022976630373472586_r8, 0.0001241440182616059_r8, & + 0.00010311899500441481_r8, 0.00010382767915278518_r8, & + 0.00010507423639838023_r8, 0.00012206811884853331_r8, & + 0.00012975825042777281_r8, 0.0001284353733508148_r8, & + 0.00013624180181594071_r8, 0.00014909260770639012_r8, & + 0.00018652566785108148_r8, 0.00024067640534194563_r8, & + 0.00030948055045449877_r8, 0.00039283634341359008_r8, & + 0.00060351542075220738_r8, 0.00090039956475413329_r8, & + 0.0013270001649904667_r8, 0.0019451907990304664_r8, & + 0.0026552268986992666_r8, 0.0035103415463725329_r8, & + 0.0043494453837091551_r8, 0.0050951337474575108_r8, & + 0.0059276304679647092_r8, 0.0066114997683090655_r8, & + 0.0071400036976645318_r8, 0.0077673003778694384_r8, & + 0.0077264016705253331_r8, 0.0076653021941027544_r8, & + 0.0078649548729482661_r8, 0.0082629518906730658_r8, & + 0.0086370062870159987_r8, 0.0090173407151967998_r8, & + 0.0092367493275322642_r8, 0.0093619574622997321_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,39) / & + 0.00038452348834589134_r8, 0.00033254423925737844_r8, & + 0.00041294802380641339_r8, 0.0001398077539139903_r8, & + 0.00010297511383772276_r8, 0.00010552746895829786_r8, & + 0.00010402568744935786_r8, 0.00011303311789998392_r8, & + 0.000131114780163018_r8, 0.00014778155699747892_r8, & + 0.00014380997164431238_r8, 0.00015014556486385891_r8, & + 0.00016621395356489368_r8, 0.00021423542135410253_r8, & + 0.00029170280993471106_r8, 0.00039094437936942216_r8, & + 0.00065405539181067924_r8, 0.0010186041091877688_r8, & + 0.0015789964969931377_r8, 0.0024126827057974515_r8, & + 0.0033094665481983405_r8, 0.0042603972934376179_r8, & + 0.0050055935305209605_r8, 0.0057782852081137781_r8, & + 0.0065034860053841065_r8, 0.0070829842343797323_r8, & + 0.007540374787802665_r8, 0.0082153748504842656_r8, & + 0.0083340336206271983_r8, 0.0082297452897749333_r8, & + 0.0082609496722346656_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,18,39) / & + 0.00019061346781546669_r8, 0.00017561545105193089_r8, & + 0.00015201897707719012_r8, 0.00011559560009235059_r8, & + 0.00011569482832605429_r8, 0.00011649394636814815_r8, & + 0.00012292261286903211_r8, 0.00011333319636390618_r8, & + 0.00012180464143597038_r8, 0.00014092261446288395_r8, & + 0.0001531229620544536_r8, 0.00016592850736853613_r8, & + 0.00019033086580587849_r8, 0.00026615643245072679_r8, & + 0.00038239000393363643_r8, 0.00052064286859326023_r8, & + 0.00085143963437836251_r8, 0.0013945231664801829_r8, & + 0.0021711347709219664_r8, 0.0031419226470858104_r8, & + 0.0041137364486830705_r8, 0.0050241027601960692_r8, & + 0.0057986910867771722_r8, 0.0064593978156227659_r8, & + 0.0070930609525320636_r8, 0.0076615886720229169_r8, & + 0.0081299441530463222_r8, 0.0087521131101470293_r8, & + 0.0088459747634416878_r8, 0.0088706825936339124_r8, & + 0.008920776975136888_r8, 0.0090254191012714667_r8, & + 0.0088773864531029329_r8, 0.0086830578802176012_r8, & + 0.008751072880727467_r8, 0.0087650759690677347_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,39) / & + 8.6658073322719352e-05_r8, 8.4672526836200823e-05_r8, & + 8.7639815752164608e-05_r8, 0.00013118946868980412_r8, & + 0.00013227048844357531_r8, 0.00013338460063878847_r8, & + 0.00014633477605641485_r8, 0.00013040628090901069_r8, & + 0.00014341161039570699_r8, 0.00015965999914371691_r8, & + 0.00018332109477472923_r8, 0.00024435458760754564_r8, & + 0.00036691795989480814_r8, 0.00052394159453698116_r8, & + 0.00072549662454623868_r8, 0.00094562754501825849_r8, & + 0.0014095835740347523_r8, 0.0021137245430371027_r8, & + 0.0029933657598200632_r8, 0.0040488602104256791_r8, & + 0.0051319096339386468_r8, 0.006229296357706352_r8, & + 0.0071730431489693235_r8, 0.0079064587159611011_r8, & + 0.0085916914912345412_r8, 0.0091205183574393951_r8, & + 0.0096755083442228544_r8, 0.01048912127628226_r8, 0.010890881834417923_r8, & + 0.01106335432078541_r8, 0.011103719811128348_r8, 0.010392809074105299_r8, & + 0.0098511677508884947_r8, 0.0098698131748740474_r8, & + 0.0095569704310624268_r8, 0.0091050078513440144_r8, & + 0.0091225181651923438_r8, 0.0091226862275199522_r8, & + 0.0091226380071052823_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,20,39) / & + 7.8997446017317795e-05_r8, 8.1062817998332743e-05_r8, & + 9.4748985734047727e-05_r8, 0.00011401848259045432_r8, & + 0.00011623331121940739_r8, 0.00012168588129791442_r8, & + 0.00014144201494078353_r8, 0.0001357903140074387_r8, & + 0.00014726985117327171_r8, 0.00017234291800731591_r8, & + 0.00022804094123955813_r8, 0.00034146321998406419_r8, & + 0.00057701292748805609_r8, 0.0008210354520129515_r8, & + 0.0010668681079807534_r8, 0.0013240437624405588_r8, & + 0.001863061965357534_r8, 0.002532711197766711_r8, 0.0033442457551609429_r8, & + 0.0043959527825984937_r8, 0.0056350031266287678_r8, & + 0.0069047487254137764_r8, 0.0078771972046836648_r8, & + 0.0087100416328662229_r8, 0.0094763376606941188_r8, 0.01009006235749892_r8, & + 0.010591510208372632_r8, 0.011671303294304347_r8, 0.012601506724287431_r8, & + 0.01302931432083611_r8, 0.013234610771940186_r8, 0.012275726842199693_r8, & + 0.012357882953355754_r8, 0.012426006364819157_r8, 0.0120553991678081_r8, & + 0.011466442406078714_r8, 0.011561457090907258_r8, 0.013038546483078478_r8, & + 0.013638482577399467_r8, 0.013646012822578666_r8, 0.013640899693135998_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,39) / & + 0.00010324052555551322_r8, 0.00010540873202679788_r8, & + 0.00012445905442548571_r8, 0.00011281934363699048_r8, & + 9.6910716856863494e-05_r8, 0.00011278591454772486_r8, & + 0.00014257889835225823_r8, 0.00015291828144556189_r8, & + 0.00015708903941075131_r8, 0.00018193430507983915_r8, & + 0.00024749960826060522_r8, 0.00038619839009256305_r8, & + 0.0007298306904190983_r8, 0.0010607546137213165_r8, & + 0.0013723675954830563_r8, 0.0016721807475064423_r8, & + 0.0022822507674728886_r8, 0.003102237795324115_r8, & + 0.0039662715873792853_r8, 0.005044084192363886_r8, & + 0.0063157667777650958_r8, 0.007454410956551148_r8, & + 0.0083776278637511109_r8, 0.0091873928297076645_r8, & + 0.010011390496574223_r8, 0.010623116257202756_r8, 0.011091334685078811_r8, & + 0.012146575457973348_r8, 0.013164311688480113_r8, 0.013661016768004897_r8, & + 0.014007864818964301_r8, 0.013449199582550536_r8, 0.014140151645966154_r8, & + 0.014152202087411931_r8, 0.014171547181983733_r8, 0.014169821091187295_r8, & + 0.014168857311380597_r8, 0.014166273349242432_r8, 0.014177529030060233_r8, & + 0.014173358101755738_r8, 0.014175041266027718_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,39) / & + 0.00011850671211009055_r8, 0.0001222208708064428_r8, & + 0.00015019303184599832_r8, 0.00014041591884140413_r8, & + 0.00011498738438615309_r8, 0.00013477664458428639_r8, & + 0.00016932821663673909_r8, 0.00023422548578157861_r8, & + 0.00029347729555906507_r8, 0.00036571165172063705_r8, & + 0.00047995063776830771_r8, 0.00064008314176257938_r8, & + 0.0011708846633311538_r8, 0.0016940862306979913_r8, & + 0.0020791294444593433_r8, 0.0024430505067668342_r8, & + 0.0030850030980980603_r8, 0.0040664669932960135_r8, & + 0.0050370245510778268_r8, 0.0061077007091367057_r8, & + 0.0072880921077964483_r8, 0.0083163942965294585_r8, & + 0.0092292734923983093_r8, 0.010101600896595996_r8, 0.010868953063601068_r8, & + 0.011546392724907848_r8, 0.012091896253505948_r8, 0.013102273241727695_r8, & + 0.013892472587431278_r8, 0.014445292792182332_r8, 0.014673170499329327_r8, & + 0.014744151928874644_r8, 0.014763188902950719_r8, 0.014731559486228977_r8, & + 0.014706147960826869_r8, 0.014650834519991772_r8, 0.014593468859580567_r8, & + 0.014537693622952519_r8, 0.014509285179699733_r8, 0.014486448206433111_r8, & + 0.014241253427649063_r8, 0.014225221621918933_r8, 0.014233738518713067_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,39) / & + 0.00011015944501807405_r8, 0.00011513232048834893_r8, & + 0.00014489267317386006_r8, 0.00015494095762926091_r8, & + 0.00015149326819239507_r8, 0.00015835019699805757_r8, & + 0.00018977671929989792_r8, 0.00030984346519045259_r8, & + 0.00046596355824050022_r8, 0.00063729706155656951_r8, & + 0.00091430416861598023_r8, 0.0013519684767575963_r8, & + 0.0023952341736774583_r8, 0.0029309077053273017_r8, & + 0.0032570027326216419_r8, 0.0035509278696314725_r8, & + 0.0040973417869619609_r8, 0.0049511511818158358_r8, & + 0.0059880469841255765_r8, 0.007026262905439026_r8, & + 0.0081016344091966157_r8, 0.0091328908681895492_r8, & + 0.010105818573921604_r8, 0.010886765089784464_r8, 0.011576136360196002_r8, & + 0.012213587222024846_r8, 0.012766063433420903_r8, 0.013780068628540153_r8, & + 0.014536202033809063_r8, 0.014984709261146176_r8, 0.015200503859839523_r8, & + 0.015263933655464241_r8, 0.015287391401158749_r8, 0.015244676579706285_r8, & + 0.015229777178329492_r8, 0.01517251341184982_r8, 0.015114108616713253_r8, & + 0.015017374817274163_r8, 0.014891593609842834_r8, 0.014838342668696335_r8, & + 0.014643471544246731_r8, 0.014626910550642665_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,39) / & + 0.0001165168451557531_r8, 0.00012056210841955555_r8, & + 0.00013123895080434565_r8, 0.00015726126727510123_r8, & + 0.00016085558315867652_r8, 0.00016315010953453827_r8, & + 0.00019536632090429629_r8, 0.00032482800850421728_r8, & + 0.00056758359380709126_r8, 0.00094596989318718508_r8, & + 0.0014530618801474073_r8, 0.0022280646899111899_r8, & + 0.0034589603800316096_r8, 0.0039310392871277971_r8, & + 0.0041791283199387264_r8, 0.0044052436153322605_r8, & + 0.0049818328935856537_r8, 0.0058238013893131694_r8, & + 0.0068373885211127257_r8, 0.0078240298890489279_r8, & + 0.0087921857301853784_r8, 0.0098009715987013354_r8, & + 0.010817675572687755_r8, 0.011599578540526926_r8, 0.0122983646114532_r8, & + 0.012916209180260364_r8, 0.013452284246926753_r8, 0.014489307616181991_r8, & + 0.01528537847912893_r8, 0.015688748068636786_r8, 0.015892328310808761_r8, & + 0.015921817048422902_r8, 0.015900045337326592_r8, 0.015835917019858189_r8, & + 0.01578803228176243_r8, 0.015689908168667159_r8, 0.015572923749814954_r8, & + 0.015381111434266861_r8, 0.0151772872920885_r8, 0.015158979870556571_r8, & + 0.014920098074828799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,39) / & + 0.00014406076185652673_r8, 0.00014752929751980247_r8, & + 0.00014274463765227981_r8, 0.00015988167156174481_r8, & + 0.00016399455970001644_r8, 0.00016650342146436216_r8, & + 0.00020084603741893004_r8, 0.00027698930648546505_r8, & + 0.00045219834117583537_r8, 0.00076577864246479019_r8, & + 0.0011684852297100903_r8, 0.0018157441456570205_r8, & + 0.0030507484861900906_r8, 0.0039045566444410201_r8, & + 0.0043934556574373651_r8, 0.0048351798434877365_r8, & + 0.0057576869432749292_r8, 0.00673238659353679_r8, 0.0076889346974817448_r8, & + 0.0086621262887595727_r8, 0.0095730487536239677_r8, & + 0.010549086806234155_r8, 0.01151533961248204_r8, 0.012344960561073154_r8, & + 0.013073853451751207_r8, 0.013728340768601152_r8, 0.014286752732244463_r8, & + 0.015320753129831863_r8, 0.016003416423391439_r8, 0.016429354218619178_r8, & + 0.016690825940899622_r8, 0.016787251134412783_r8, 0.016779378625849543_r8, & + 0.016671872381395756_r8, 0.016494188024564548_r8, 0.016254339566856298_r8, & + 0.015980815613442091_r8, 0.0157162866443122_r8, 0.01552037509340012_r8, & + 0.015344720740642871_r8, 0.015173446858567655_r8, 0.015110375278300671_r8, & + 0.015083153540602074_r8, 0.015063257444233187_r8, 0.015032565016501333_r8 & + / +data delta_sa_ref(:,26,39) / & + 0.00015921361186010865_r8, 0.00016136533845411032_r8, & + 0.000152446997965814_r8, 0.0001658386647942716_r8, & + 0.00017009964969423539_r8, 0.00017229384457627649_r8, & + 0.00018412834084328554_r8, 0.00020561729459127572_r8, & + 0.00024955781661615146_r8, 0.00032516552542248561_r8, & + 0.00043558307432520167_r8, 0.0006521430311346568_r8, & + 0.001333433463960428_r8, 0.002300903533788418_r8, 0.0033122008768731786_r8, & + 0.0043306895167326293_r8, 0.0060256696728693878_r8, & + 0.0075288347280277092_r8, 0.0086999402390051262_r8, & + 0.0098104859712382173_r8, 0.010780164392044262_r8, 0.011678934927920343_r8, & + 0.012649009719414756_r8, 0.013399962300721329_r8, 0.014082880684588616_r8, & + 0.01468903055977649_r8, 0.015208658376131874_r8, 0.016147943658797646_r8, & + 0.016779815160441445_r8, 0.017146274017934341_r8, 0.017376763573220752_r8, & + 0.017477880567042817_r8, 0.017490904175374931_r8, 0.017399584969505989_r8, & + 0.017212200726579672_r8, 0.016958709284783859_r8, 0.016662869881764651_r8, & + 0.016369221134603488_r8, 0.016121392131212942_r8, 0.015930504254523369_r8, & + 0.01572691305117398_r8, 0.015630997917061899_r8, 0.015596162545435202_r8, & + 0.015566401123079521_r8, 0.015551110517085869_r8 & + / +data delta_sa_ref(:,27,39) / & + 0.0001590803420071506_r8, 0.00016102248313868642_r8, & + 0.00015446593149914074_r8, 0.00016134373956645928_r8, & + 0.00016610417572345679_r8, 0.00016464391923358025_r8, & + 0.0001654178551732148_r8, 0.00018770136920873086_r8, & + 0.00020577934455340242_r8, 0.00022582866615940739_r8, & + 0.00024990829567747157_r8, 0.00034133495450864193_r8, & + 0.00056884291563140735_r8, 0.00099203984896252821_r8, & + 0.0016587929622401579_r8, 0.0025436207797159501_r8, & + 0.0047923135561715345_r8, 0.0073536764522394863_r8, & + 0.0093114861359116629_r8, 0.010935378968043774_r8, 0.012104343493319743_r8, & + 0.013177456782600218_r8, 0.01401722108479842_r8, 0.014748488329798796_r8, & + 0.015379260723165866_r8, 0.015912780034307159_r8, 0.016335057006049654_r8, & + 0.017126087073218839_r8, 0.017668897266276979_r8, 0.017932130663184661_r8, & + 0.018076936215723004_r8, 0.018132480721956681_r8, 0.018112852267131871_r8, & + 0.018026174831773937_r8, 0.017842954885428596_r8, 0.017619923653487655_r8, & + 0.017364346172748325_r8, 0.017073084195557812_r8, 0.016799324696198908_r8, & + 0.016567841447542541_r8, 0.016365607032074368_r8, 0.016213568464077538_r8, & + 0.016147138267232006_r8, 0.0160702175877632_r8, 0.0161145728786432_r8 & + / +data delta_sa_ref(:,28,39) / & + 0.00017757859865547327_r8, 0.00019505052687911775_r8, & + 0.0001962544495818667_r8, 0.00018254477980431282_r8, & + 0.0001927028776087572_r8, 0.00019324464282499429_r8, & + 0.00021008451162969548_r8, 0.00022781227342767409_r8, & + 0.00023921944103622061_r8, 0.00026025799026675885_r8, & + 0.00029869322255201978_r8, 0.00035890440672325268_r8, & + 0.00053374408122997203_r8, 0.0008101496847473514_r8, & + 0.0012448560746424367_r8, 0.0018315577057595788_r8, & + 0.0036253573857541934_r8, 0.0064404145964231888_r8, & + 0.0092304603129425775_r8, 0.011695793027496787_r8, 0.013295580563943402_r8, & + 0.014464679802515359_r8, 0.01536890099744876_r8, 0.01613861392841753_r8, & + 0.016749815386535617_r8, 0.017273551860298983_r8, 0.01758983740334492_r8, & + 0.01830891974127543_r8, 0.018644214095120244_r8, 0.018723633489787998_r8, & + 0.018742134395696643_r8, 0.018721853941542986_r8, 0.018656057684708537_r8, & + 0.018539014361916149_r8, 0.018357205372370795_r8, 0.018173403998245484_r8, & + 0.017971241781718824_r8, 0.01772205144210913_r8, 0.017469831087040047_r8, & + 0.017227489831438361_r8, 0.017024474657175413_r8, 0.016808799053268989_r8, & + 0.016679875539488281_r8, 0.016671571697632268_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,39) / & + 0.0001918033320487506_r8, 0.00024788155621133169_r8, & + 0.00027487472186239997_r8, 0.0002207179400308938_r8, & + 0.00023224659401734318_r8, 0.00024321740990767407_r8, & + 0.00023591902815012347_r8, 0.00029188878379401485_r8, & + 0.00034728520583911769_r8, 0.0004118394699621663_r8, & + 0.00045324345309629625_r8, 0.00048260743065586825_r8, & + 0.00063340966263990771_r8, 0.00087188544873057438_r8, & + 0.0012347436347530005_r8, 0.0017031881759685269_r8, & + 0.0030414107775515119_r8, 0.005338417606838201_r8, 0.008311229794069808_r8, & + 0.011203186448369568_r8, 0.013348957171597458_r8, 0.014983066396663306_r8, & + 0.016077932128814587_r8, 0.016963221187354677_r8, 0.017628613567505384_r8, & + 0.018204178518678331_r8, 0.018615103753982971_r8, 0.019489267041606029_r8, & + 0.019744323015553549_r8, 0.019652682612763414_r8, 0.019542804003330739_r8, & + 0.019443012966136205_r8, 0.019349497607523004_r8, 0.019233430481711514_r8, & + 0.019092032082910302_r8, 0.01893611246116951_r8, 0.018773227610978566_r8, & + 0.018597679061230599_r8, 0.018387180405210549_r8, 0.018145968279371611_r8, & + 0.017918134583150346_r8, 0.017704152040060352_r8, 0.017521451707078316_r8, & + 0.017503430050085589_r8, 0.017480693499017954_r8 & + / +data delta_sa_ref(:,30,39) / & + 0.0002023355029831111_r8, 0.00024920489935644445_r8, & + 0.00026441354022044451_r8, 0.00024466143746311106_r8, & + 0.00025629907669866666_r8, 0.00028585549196266663_r8, & + 0.00027630625100088894_r8, 0.00034641904190222219_r8, & + 0.0004094535974328888_r8, 0.0004788808835573333_r8, & + 0.00051746045472177778_r8, 0.00058473557468622229_r8, & + 0.00071536408961244444_r8, 0.00092567057837333335_r8, & + 0.0012429636382435556_r8, 0.0016659997954417776_r8, & + 0.0029329561008764444_r8, 0.0049300387615839993_r8, & + 0.007602933480474668_r8, 0.010654880457041778_r8, 0.013041712438339553_r8, & + 0.015021800957368889_r8, 0.016440795845528888_r8, 0.017502132601840002_r8, & + 0.01827979791629156_r8, 0.018952182450590223_r8, 0.019549767254350224_r8, & + 0.020717941125787332_r8, 0.021083855206155553_r8, 0.020994193572634219_r8, & + 0.02077635250956689_r8, 0.020519907962377779_r8, 0.020338928723039777_r8, & + 0.020166442569048003_r8, 0.019991120736865778_r8, 0.019824363159545649_r8, & + 0.019657286742794412_r8, 0.019535435421921779_r8, 0.019243694780352538_r8, & + 0.018963718459757108_r8, 0.018708558949346601_r8, 0.018549886229029647_r8, & + 0.018413702506372445_r8, 0.018284061539648479_r8, 0.018248647303872_r8 & + / +data delta_sa_ref(:,31,39) / & + 0.00040887520056630771_r8, 0.00038137539750605432_r8, & + 0.00033604497124582711_r8, 0.00031857489373555878_r8, & + 0.00031832906712894152_r8, 0.00034384586889581561_r8, & + 0.00043991490676185014_r8, 0.00058790252394545501_r8, & + 0.00076460268878195874_r8, 0.0009561835575390285_r8, & + 0.0011410779425961085_r8, 0.0012965878539422022_r8, & + 0.0016297648481108274_r8, 0.0020492925349638843_r8, & + 0.0025919957401726412_r8, 0.0032662817336834103_r8, & + 0.0051446100579651943_r8, 0.007540583662021213_r8, 0.010265850199861303_r8, & + 0.01276357963061644_r8, 0.014723866545544426_r8, 0.016317773485970011_r8, & + 0.017528584242643221_r8, 0.018470608187641093_r8, 0.019173934497613582_r8, & + 0.019837895773646429_r8, 0.020479060729025628_r8, 0.021602094998696034_r8, & + 0.022035700355888029_r8, 0.021957904429113887_r8, 0.021761439805105354_r8, & + 0.021456532870697716_r8, 0.021234731717767154_r8, 0.021020387305237333_r8, & + 0.02085101277327802_r8, 0.020590452958704143_r8, 0.020419865682152188_r8, & + 0.020304245234839861_r8, 0.020145080701275384_r8, 0.019941159336866129_r8, & + 0.019687564609479735_r8, 0.019548744276167904_r8, 0.019511874382285417_r8, & + 0.019458970916227482_r8, 0.019374021552261058_r8 & + / +data delta_sa_ref(:,32,39) / & + 0.00067947377533691532_r8, 0.00065915403977952929_r8, & + 0.00070423792695656297_r8, 0.00092354629075612189_r8, & + 0.0011169120592831607_r8, 0.001351472850932754_r8, 0.001780224321666397_r8, & + 0.0022255581780868876_r8, 0.0025734852491428087_r8, & + 0.0029170184088644479_r8, 0.0033266454226029041_r8, & + 0.0037715752411995531_r8, 0.0046146675002831416_r8, & + 0.0056614453273110656_r8, 0.0068863364950159942_r8, & + 0.008223701691932931_r8, 0.010864661257657351_r8, 0.013106549297791186_r8, & + 0.015157462126522378_r8, 0.01684253554067399_r8, 0.018068925015309_r8, & + 0.019030770724783472_r8, 0.019822853208607012_r8, 0.02048478500842546_r8, & + 0.021042357205327385_r8, 0.021551680552098846_r8, 0.021955684706122171_r8, & + 0.0225140144739438_r8, 0.02281610008690298_r8, 0.022740629188391166_r8, & + 0.022517465630355782_r8, 0.022201322868108761_r8, 0.021945903623803328_r8, & + 0.021785534277556716_r8, 0.021604171799379648_r8, 0.021294527312132758_r8, & + 0.021089747475082181_r8, 0.020966196075533166_r8, 0.021027879183306376_r8, & + 0.020947290472359235_r8, 0.020812442848651972_r8, 0.020576770952986805_r8, & + 0.020407121362973828_r8, 0.020230342399297337_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,39) / & + 0.0010004362660909034_r8, 0.0012818462289007405_r8, & + 0.0017578099476251651_r8, 0.0024603152533352293_r8, & + 0.003105377257867456_r8, 0.0039519228509774214_r8, & + 0.0044045912718716036_r8, 0.0053906321499116233_r8, 0.00607856925378868_r8, & + 0.0068210291059256885_r8, 0.0076102005233706664_r8, & + 0.008427506024545341_r8, 0.0093409823954717225_r8, 0.010692558985459276_r8, & + 0.012081860824084382_r8, 0.01329776131372681_r8, 0.015376382766485962_r8, & + 0.01708888094043836_r8, 0.018419685313814674_r8, 0.019504299173177912_r8, & + 0.020400183101084123_r8, 0.021103863540512628_r8, 0.021688751786109472_r8, & + 0.022185487721445137_r8, 0.022608363046301233_r8, 0.022912152393896056_r8, & + 0.023118284673212915_r8, 0.023456170180020698_r8, 0.023641530242726319_r8, & + 0.023590014454275315_r8, 0.023362159482545539_r8, 0.023027488312085249_r8, & + 0.022681878029216552_r8, 0.022451776478319165_r8, 0.022210079122641297_r8, & + 0.021922741647104633_r8, 0.021737226051995098_r8, 0.021657558898436183_r8, & + 0.021630928294610965_r8, 0.021630375290508166_r8, 0.021545983840180451_r8, & + 0.021295948096076711_r8, 0.021058401850883868_r8, 0.02080874253222912_r8, & + 0.020635728286118395_r8 & + / +data delta_sa_ref(:,34,39) / & + 0.0012269066259735092_r8, 0.0016353096875114698_r8, & + 0.0024025997176619499_r8, 0.0030629354302896573_r8, & + 0.0035569883691004391_r8, 0.0043296255611318364_r8, & + 0.006046727103191438_r8, 0.0064770196239335833_r8, & + 0.0069264094679619857_r8, 0.007541862703699477_r8, & + 0.0081637866036277183_r8, 0.0095034777928383347_r8, & + 0.010652448371007517_r8, 0.011681740469399376_r8, 0.012730768093573021_r8, & + 0.013783873439147883_r8, 0.016192499041979648_r8, 0.017471805701718995_r8, & + 0.019113958338210269_r8, 0.020307878189264977_r8, 0.021378197907509347_r8, & + 0.021182248847848806_r8, 0.022877250729088635_r8, 0.023299629982082435_r8, & + 0.023663165128890298_r8, 0.023888769394490011_r8, 0.024069384499548232_r8, & + 0.024348337555302219_r8, 0.024467373084053542_r8, 0.024351713127330886_r8, & + 0.024083200823811487_r8, 0.023672153020741476_r8, 0.02325329920339806_r8, & + 0.022987463551535491_r8, 0.022736370757202005_r8, 0.022467203536359823_r8, & + 0.022319302767198745_r8, 0.022239633822340593_r8, 0.022192675414555212_r8, & + 0.022219567672210436_r8, 0.022138619663184166_r8, 0.021975370124005703_r8, & + 0.021576722253529558_r8, 0.021278681688118948_r8, 0.021168698124723318_r8 & + / +data delta_sa_ref(:,35,39) / & + 0.00088741550084424706_r8, 0.001062088851762041_r8, & + 0.0014960551688169878_r8, 0.0018257554350743705_r8, & + 0.0020428839881297118_r8, 0.0026475616552180414_r8, & + 0.0053166053519286254_r8, 0.0050916618430003622_r8, & + 0.0051659220981091014_r8, 0.0052729869935681309_r8, & + 0.0053509729834534964_r8, 0.0068307439651492351_r8, & + 0.0088494833744948136_r8, 0.0094320588015576624_r8, & + 0.010147397606880262_r8, 0.011228605839056988_r8, 0.014614442286368856_r8, & + 0.013789235197346766_r8, 0.016530794414831674_r8, 0.019353436720370348_r8, & + 0.021043082431254502_r8, 0.018620748842826405_r8, 0.023435015711520384_r8, & + 0.023916872000274671_r8, 0.024367570371523321_r8, 0.024644372473679014_r8, & + 0.024852322997162665_r8, 0.025144702305547856_r8, 0.02524919553529521_r8, & + 0.025095549867970371_r8, 0.024791690071357335_r8, 0.024321308429086475_r8, & + 0.023858642270762669_r8, 0.023578939547775998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,36,39) / & + 0.00068565454045131852_r8, 0.00077471775448039501_r8, & + 0.00093550823182538283_r8, 0.0012264579954056297_r8, & + 0.0015293623028718615_r8, 0.0022544370448911409_r8, & + 0.0043412684051751908_r8, 0.0044855608671261231_r8, & + 0.004267734925726973_r8, 0.0040794043075605335_r8, & + 0.0041012651089968981_r8, 0.0048727056053403262_r8, & + 0.006823747219564311_r8, 0.0069163118061768168_r8, & + 0.0086536573030744132_r8, 0.010039723355985838_r8, 0.012394758393098849_r8, & + 0.009196739543079889_r8, 0.011944744032919771_r8, 0.017897850958752931_r8, & + 0.019580746846690578_r8, 0.016058066765147466_r8, 0.023849356949306399_r8, & + 0.024556364874806402_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,39) / & + 0.0010045964075798837_r8, 0.0012307081511194809_r8, & + 0.0015689636161351549_r8, 0.0016887778124031298_r8, & + 0.0022148235952690965_r8, 0.0032924026314843204_r8, & + 0.0047325877181933823_r8, 0.0051487999906719558_r8, & + 0.0048299165149844163_r8, 0.0045132075233929323_r8, & + 0.0045533974808571577_r8, 0.0045884936214808051_r8, & + 0.0050027830976128833_r8, 0.0047508751212695464_r8, & + 0.0073708649203330888_r8, 0.0084864819020369769_r8, & + 0.0075948208474506665_r8, 0.0068835705727815569_r8, & + 0.0037272667639751118_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,39) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,39) / & + 0.0041531547168104964_r8, 0.0040442799431123803_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,39) / & + 0.0043050501632011648_r8, 0.0042072665367369425_r8, & + 0.0040279985871258068_r8, 0.0035833814380117329_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,39) / & + 0.0037141400368619188_r8, 0.0036222337633295995_r8, & + 0.0028570892633532443_r8, 0.0031091007617788445_r8, & + 0.0050054009821238034_r8, 0.0074110751283961232_r8, & + 0.0065201422407226073_r8, 0.0076005248682323541_r8, & + 0.0028205853146974812_r8, 0.0021897254804854513_r8, & + 0.0020544499019292447_r8, 0.0020747795966271992_r8, & + 0.0019838713392042661_r8, 0.0021284806769614217_r8, & + 0.0021568655337095106_r8, 0.0022086487183175106_r8, & + 0.0022784601227519995_r8, 0.0023056942420643552_r8, & + 0.0023509565812031997_r8, 0.0024614273750335996_r8, & + 0.0025585824928219428_r8, 0.0026685601134655997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,39) / & + 0.0025340882533560361_r8, 0.0028696306234094614_r8, & + 0.0024039674571269794_r8, 0.0037186830720089019_r8, 0.00353242657669889_r8, & + 0.004524493489910044_r8, 0.0058852140644294051_r8, & + 0.0060926091589245893_r8, 0.0023969066387269531_r8, & + 0.0020950018321071935_r8, 0.002093379159555635_r8, & + 0.0021937217216628406_r8, 0.0021249993463035781_r8, & + 0.0022324465828257186_r8, 0.0022553832786220769_r8, & + 0.0023168694115216857_r8, 0.0023726542624833845_r8, & + 0.0023982661751890699_r8, 0.0024517266573606976_r8, & + 0.0025700940415946797_r8, 0.002676011799596938_r8, & + 0.0027926139792309136_r8, 0.0029163701712965925_r8, & + 0.0031271421789396147_r8, 0.0032807807631625484_r8, & + 0.0034863722790446816_r8, 0.0036647292096695706_r8, & + 0.0040274623089653332_r8, 0.0039362715573974692_r8, & + 0.0038879146623320175_r8, 0.0038844017955379671_r8, & + 0.003904314619106489_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,39) / & + 0.0023824875052370171_r8, 0.0029023546119043946_r8, & + 0.0023064170907216336_r8, 0.0036307277035860807_r8, & + 0.0032862689623394769_r8, 0.0037343494063462198_r8, & + 0.0036601728610718815_r8, 0.0028288544485018607_r8, 0.00208375217852426_r8, & + 0.0021339397134120036_r8, 0.0022440095900166587_r8, & + 0.0023304061011082274_r8, 0.0023169235557969647_r8, & + 0.002349930991140925_r8, 0.0024094525958595421_r8, & + 0.0024772711515389369_r8, 0.0024992310163101232_r8, & + 0.002514156509614565_r8, 0.0025870704753948709_r8, & + 0.0027283441023520129_r8, 0.0028339047664779852_r8, & + 0.0029545712924075461_r8, 0.0030634687737677432_r8, & + 0.0032861336859651164_r8, 0.0034620380647585446_r8, & + 0.0036772176842413047_r8, 0.003870257070453729_r8, & + 0.0042424925605690205_r8, 0.0043427379904857448_r8, & + 0.0041976935345933051_r8, 0.0041660098751984433_r8, & + 0.0041009032887383704_r8, 0.0039810348934175366_r8, & + 0.0040031999273565039_r8, 0.0040974030125517933_r8, & + 0.0041638068028160002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,39) / & + 0.0024574348796586667_r8, 0.0033025545364479998_r8, & + 0.0028035994490879998_r8, 0.0039658822004053325_r8, & + 0.0037984056320853323_r8, 0.0042006736936959993_r8, & + 0.0032781395567786659_r8, 0.0023846995512319994_r8, & + 0.0021254930782719996_r8, 0.0022576675317759996_r8, & + 0.0023088139028479998_r8, 0.0023373520954026671_r8, & + 0.0023613501209599993_r8, 0.0024090682026666663_r8, & + 0.0024703141288959997_r8, 0.0025276221551786657_r8, & + 0.002545134227882666_r8, 0.0025630169264640006_r8, & + 0.0026439060241920001_r8, 0.0027723278906879993_r8, & + 0.0028744816481279991_r8, 0.003003320468736_r8, 0.0031331321822720003_r8, & + 0.0033094111151786673_r8, 0.0035090858065919997_r8, & + 0.0036817048089599997_r8, 0.0039080182353066657_r8, & + 0.0042574257811626671_r8, 0.0043214977297066663_r8, & + 0.0042147111487999987_r8, 0.0041917323444053342_r8, & + 0.0041946328228114295_r8, 0.0042085660393874277_r8, 0.004214919625856_r8, & + 0.0042354198696959991_r8, 0.0042536268659200006_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,40) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,40) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,40) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,40) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,40) / & + 0.0046112721001218436_r8, 0.0046972237066666657_r8, & + 0.0048443568992592593_r8, 0.0054582947599999994_r8, & + 0.0057332715814814809_r8, 0.0058377624962962955_r8, & + 0.0061251090451851847_r8, 0.006216093105185185_r8, & + 0.0063076041266666664_r8, 0.0064331873681481473_r8, & + 0.0065325057399999997_r8, 0.0065822481303703696_r8, & + 0.0067297002733333333_r8, 0.0069527159192592598_r8, & + 0.0071735543822222213_r8, 0.0074993413844444438_r8, & + 0.0078542915444444455_r8, 0.0078127226039999987_r8, & + 0.0079604188133333333_r8, 0.0081121837199999991_r8, & + 0.0082042910400000005_r8, 0.0086498508400000007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,40) / & + 0.0042559535580246914_r8, 0.0043049424859259253_r8, & + 0.0044105104360493827_r8, 0.0048252753466666663_r8, & + 0.0051667833664197534_r8, 0.0053347176701234568_r8, & + 0.0057849091841975309_r8, 0.0060645408320987642_r8, & + 0.0062456584177777771_r8, 0.0064018608948148148_r8, & + 0.0065004766513580238_r8, 0.0065703683846913578_r8, & + 0.0066966057055555545_r8, 0.0068745384099999996_r8, & + 0.0070463382535185179_r8, 0.0072076711760317453_r8, & + 0.0074476242092239861_r8, 0.007512405968015873_r8, & + 0.0076776828472310413_r8, 0.0078420997820987642_r8, & + 0.0079613398403086417_r8, 0.0082235480813315706_r8, & + 0.0083025421167460325_r8, 0.0084345875700793643_r8, & + 0.0085590921253703694_r8, 0.0087063203097037037_r8, & + 0.0088487794926296274_r8, 0.0090981654004814814_r8, & + 0.0092598076652328047_r8, 0.0092785432260105837_r8, & + 0.0091469843205714274_r8, 0.0089227572575555549_r8, & + 0.0090690417648148138_r8, 0.0092995111422222217_r8, & + 0.0091830249199999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,40) / & + 0.0027480024316049382_r8, 0.0027431026143209876_r8, & + 0.0028074381397530856_r8, 0.0029692522943209868_r8, & + 0.0032063294913580241_r8, 0.003193645436049383_r8, & + 0.0038337742069135807_r8, 0.0047151403970370374_r8, & + 0.0052601479980246904_r8, 0.0055641862829629634_r8, & + 0.0057806472676543205_r8, 0.0061146114177777766_r8, & + 0.0064295494849382724_r8, 0.0065533299634567893_r8, & + 0.006645945755061727_r8, 0.0067342441604938269_r8, & + 0.0068743049753086415_r8, 0.0070561898908641976_r8, & + 0.0072358375313580229_r8, 0.0074238795758024704_r8, & + 0.0075856012809876541_r8, 0.0077493198928395065_r8, & + 0.0078845271150617281_r8, 0.0080146773560493823_r8, & + 0.0081635485970370375_r8, 0.0083002165195061716_r8, & + 0.0084495037827160505_r8, 0.0087911689664197518_r8, & + 0.0090766249254320974_r8, 0.009245374599673721_r8, & + 0.0093366996328077597_r8, 0.0093027872842045833_r8, & + 0.0093360659748333331_r8, 0.0093242811053333326_r8, & + 0.0092073622199999993_r8, 0.0092549135599999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,40) / & + 0.00097425932987654318_r8, 0.00094970477382716055_r8, & + 0.0010490601254320986_r8, 0.0010868072083950616_r8, & + 0.0011142924098765431_r8, 0.0010239693629629629_r8, & + 0.001384161402962963_r8, 0.0019409193204938272_r8, & + 0.0024240043249382716_r8, 0.002833915642962963_r8, & + 0.0031784929822222222_r8, 0.0037467793377777784_r8, & + 0.0044267815274074071_r8, 0.0047985112503703695_r8, & + 0.0050774310380246905_r8, 0.0052755500651851849_r8, & + 0.0057313902365432098_r8, 0.0060284393481481484_r8, & + 0.006285799939753086_r8, 0.0064631178558024688_r8, & + 0.0066305621777777756_r8, 0.0067855997925925929_r8, & + 0.0069511673920987643_r8, 0.0071091911219753074_r8, & + 0.0072600685145678993_r8, 0.0074283633708641973_r8, & + 0.0075935334380246916_r8, 0.0079659195516049372_r8, & + 0.0083365029022222231_r8, 0.0087064021274074078_r8, & + 0.0089561622241358038_r8, 0.0091464692784567897_r8, & + 0.009277858836437388_r8, 0.0093467177780952385_r8, & + 0.0094530372096296288_r8, 0.0093889226382222225_r8, & + 0.0095107048233333321_r8, 0.0095520158299999998_r8, & + 0.0096159792466666665_r8, 0.0097445301133333318_r8, & + 0.0097513944799999999_r8, 0.00974465492_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,40) / & + 0.00023578290567901234_r8, 0.00021629457580246911_r8, & + 0.00027738512790123458_r8, 0.00036686688543209877_r8, & + 0.00036974206123456792_r8, 0.00037498394123456784_r8, & + 0.00045099582370370381_r8, 0.00054667168987654314_r8, & + 0.00071360754024691361_r8, 0.00092010248148148121_r8, & + 0.0011007763101234568_r8, 0.0012788153313580248_r8, & + 0.0015390788335802469_r8, 0.0018348706335802468_r8, & + 0.0020764686054320987_r8, 0.0022877801595061731_r8, & + 0.0028792528202469135_r8, 0.0033563655945679015_r8, & + 0.0039103592755555553_r8, 0.004294051948641975_r8, & + 0.0046985272429629623_r8, 0.0050384358883950606_r8, & + 0.0053766342202469126_r8, 0.0056950021595061733_r8, & + 0.0059391147545679009_r8, 0.00617091309185185_r8, 0.0064064463841975311_r8, & + 0.006799448710123457_r8, 0.0071799981041975299_r8, & + 0.0075946798103703689_r8, 0.0079602061797530866_r8, & + 0.008296287420740742_r8, 0.0085701409822222224_r8, 0.008837781945185183_r8, & + 0.0090558145693827169_r8, 0.0091507693303703695_r8, & + 0.0092153227722045847_r8, 0.009183664207481481_r8, & + 0.0092543144879999994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,40) / & + 0.00018072929827160495_r8, 0.00016364465234567903_r8, & + 0.00017883408592592594_r8, 0.00020787243703703704_r8, & + 0.00021149645283950614_r8, 0.00021923446617283952_r8, & + 0.00024865185975308639_r8, 0.00029141894419753081_r8, & + 0.00032847265679012344_r8, 0.00038240762666666656_r8, & + 0.00042412078814814809_r8, 0.00045685711456790119_r8, & + 0.00048912194913580242_r8, 0.00054570097135802471_r8, & + 0.00061016592592592585_r8, 0.00069571858469135795_r8, & + 0.0008803862266666667_r8, 0.0011702150414814815_r8, & + 0.001541297618765432_r8, 0.001966823637530864_r8, 0.0024567868760493831_r8, & + 0.0029630581856790123_r8, 0.0034782878404938274_r8, & + 0.0040478499975308644_r8, 0.0046028883565432093_r8, & + 0.0050925002874074067_r8, 0.0055083930804938263_r8, & + 0.0061063002182716051_r8, 0.0065083256039506166_r8, & + 0.0069148070498765441_r8, 0.0074193957807407408_r8, & + 0.0077888327590123433_r8, 0.008073290264691356_r8, & + 0.0083702284370370354_r8, 0.0086409941891358033_r8, & + 0.0088643241629629641_r8, 0.0090360026666666659_r8, & + 0.0091345315207901241_r8, 0.0091786493567513217_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,40) / & + 0.00024366883802469133_r8, 0.000234128061728395_r8, & + 0.00022425446765432093_r8, 0.00019902503111111111_r8, & + 0.00019613136543209878_r8, 0.00019655663259259259_r8, & + 0.00022168437481481481_r8, 0.00025206324197530862_r8, & + 0.00026807547506172834_r8, 0.00028851603358024693_r8, & + 0.00030545276049382726_r8, 0.00032988713234567897_r8, & + 0.00035518128345679004_r8, 0.00037637992691358032_r8, & + 0.0004012488108641975_r8, 0.00043197898567901239_r8, & + 0.00052086906716049383_r8, 0.00075002335209876545_r8, & + 0.0011014419456790122_r8, 0.0015281698064197533_r8, & + 0.0020392577288888885_r8, 0.0025822591782716049_r8, & + 0.0031529307279012345_r8, 0.003771648221728395_r8, & + 0.0043788280325925931_r8, 0.0049222270143209875_r8, & + 0.0053596142888888898_r8, 0.0061324726385185184_r8, & + 0.0065052840192592592_r8, 0.0068294855145678993_r8, & + 0.0073146136503703706_r8, 0.0077747249832098774_r8, & + 0.0080501039595061719_r8, 0.0082892150429629639_r8, & + 0.008567552399506172_r8, 0.0087719302498765438_r8, & + 0.0089524654044444447_r8, 0.0090931271402469142_r8, & + 0.0091973915540740723_r8, 0.0091995368420000005_r8, & + 0.0091918237899999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,40) / & + 0.00023471973777777777_r8, 0.00024527745728395058_r8, & + 0.00024101554074074073_r8, 0.00023050404592592593_r8, & + 0.00022737001185185184_r8, 0.00022743472641975309_r8, & + 0.00021375221777777779_r8, 0.0002393144720987654_r8, & + 0.00024884600345679013_r8, 0.00025777661382716052_r8, & + 0.00026867639604938266_r8, 0.00027616479604938268_r8, & + 0.00031263607753086414_r8, 0.00035400717629629629_r8, & + 0.00039915945481481483_r8, 0.00044440418271604934_r8, & + 0.00056447744098765435_r8, 0.00083715689530864193_r8, & + 0.0012654933753086417_r8, 0.0016968252153086419_r8, & + 0.0022147913718518516_r8, 0.0027456634622222216_r8, & + 0.0033159652143209873_r8, 0.0039373082706172834_r8, & + 0.0046188636098765433_r8, 0.005192706173333333_r8, & + 0.0056665739743209887_r8, 0.0063298058459259248_r8, & + 0.0065706087530864191_r8, 0.0068321665466666674_r8, & + 0.0071733787283950615_r8, 0.0076087783412345676_r8, & + 0.0079983415501234563_r8, 0.0082865709906172827_r8, & + 0.0085760854775308645_r8, 0.0087827468276543193_r8, & + 0.0089592696790123452_r8, 0.0090599008320987624_r8, & + 0.0091880348511022922_r8, 0.0091551395447619054_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,40) / & + 0.00019375541629629628_r8, 0.00020958275061728395_r8, & + 0.00019943180839506172_r8, 0.0001735274913580247_r8, & + 0.00017868616691358021_r8, 0.00018696038666666669_r8, & + 0.00018468613185185182_r8, 0.00020616212345679014_r8, & + 0.00022143476148148148_r8, 0.00023490463654320985_r8, & + 0.00025206324197530862_r8, 0.00026799227061728394_r8, & + 0.00029949902024691358_r8, 0.00035588389876543212_r8, & + 0.00041451529728395078_r8, 0.00050722353827160492_r8, & + 0.00073084935012345681_r8, 0.0010976422760493828_r8, & + 0.0015008047891358022_r8, 0.0018570122607407405_r8, & + 0.0023304178148148146_r8, 0.0028280451071604935_r8, & + 0.0034377210513580245_r8, 0.0040605617876543201_r8, & + 0.0047666531930864193_r8, 0.0053900948503703703_r8, & + 0.0059469359723456792_r8, 0.0065412029156790112_r8, & + 0.0066791986424074076_r8, 0.0068370686751851855_r8, & + 0.0071356651583333328_r8, 0.0075489843917283944_r8, & + 0.0079409697744444452_r8, 0.0082557356546296284_r8, & + 0.0085555582477160486_r8, 0.0087237618102469112_r8, & + 0.0088881541469753075_r8, 0.0089914189518518518_r8, & + 0.0090789146985361564_r8, 0.0090952234300000004_r8, & + 0.0091062688199999992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,40) / & + 0.00016360767259259259_r8, 0.00017744734518518521_r8, & + 0.00017031949777777778_r8, 0.00011692073432098765_r8, & + 0.00011819653580246913_r8, 0.00011926894864197531_r8, & + 0.00012933668641975309_r8, 0.0001451455308641975_r8, & + 0.00016002988148148148_r8, 0.00017698509827160491_r8, & + 0.00019279394271604937_r8, 0.00021266131506172839_r8, & + 0.00024457484197530865_r8, 0.0002937764034567901_r8, & + 0.0003377083501234568_r8, 0.00040734122518518514_r8, & + 0.00064301319160493841_r8, 0.001031291354074074_r8, & + 0.0014143368814814813_r8, 0.0018312466177777776_r8, & + 0.0023173916967901232_r8, 0.002878282101728395_r8, & + 0.0035467096286419752_r8, 0.0042083606158024693_r8, & + 0.0049340697802469132_r8, 0.0056089040493827154_r8, & + 0.0061826634083950623_r8, 0.0068097475713580248_r8, & + 0.0069771364237037033_r8, 0.0069913643837037033_r8, & + 0.0072146712451851853_r8, 0.0076143345491358023_r8, & + 0.0079834213753703694_r8, 0.0083386165262345664_r8, & + 0.008613037495802469_r8, 0.0087692191717283936_r8, & + 0.0089025895567865967_r8, 0.0089632346679488547_r8, & + 0.0090272327531340391_r8, 0.0090871733999999989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,40) / & + 0.0001570622562962963_r8, 0.00016632568444444447_r8, & + 0.00016039043407407408_r8, 0.00011652320197530865_r8, & + 0.00011818729086419755_r8, 0.00011521966567901234_r8, & + 0.00010671432246913582_r8, 0.00011136452641975307_r8, & + 0.00011801163703703702_r8, 0.00012464025777777777_r8, & + 0.00013249845530864196_r8, 0.00014160471950617283_r8, & + 0.00017288959061728394_r8, 0.0002255302691358025_r8, & + 0.00027131120345679014_r8, 0.00033219836691358016_r8, & + 0.00051730976592592596_r8, 0.00079770180999999996_r8, & + 0.0011971848376543209_r8, 0.0016546833198148147_r8, & + 0.0022079015816049386_r8, 0.0028348084398589061_r8, & + 0.0035831333647266309_r8, 0.00435225279717813_r8, 0.0051322231457495591_r8, & + 0.005870653345255732_r8, 0.0064837948205996466_r8, & + 0.0072063369333333332_r8, 0.0073228675312592582_r8, & + 0.0072804060580599645_r8, 0.0074938335473809523_r8, & + 0.0078745790331992953_r8, 0.0082048604291446205_r8, & + 0.0085492046638888878_r8, 0.0088006478346472645_r8, & + 0.0089677352359700171_r8, 0.0090835190533710315_r8, & + 0.0091223599652380943_r8, 0.0091450074508934234_r8, & + 0.0093095788799999989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,40) / & + 0.0001644147224219259_r8, 0.00016467639041517032_r8, & + 0.00015011020545789623_r8, 0.00012212142158789794_r8, & + 0.00011900078848327901_r8, 0.00011563787019973003_r8, & + 0.00012112320665070615_r8, 0.00012392402331913745_r8, & + 0.00012703496501659917_r8, 0.00012753891818877361_r8, & + 0.00013111504742978103_r8, 0.000130727391143493_r8, & + 0.00015614795211683289_r8, 0.00020480850745314237_r8, & + 0.000263712880154614_r8, 0.00033532268763917687_r8, & + 0.00053650660881552595_r8, 0.00082098332880444435_r8, & + 0.0012359778632570816_r8, 0.0017928315813991519_r8, & + 0.0025210826808199122_r8, 0.0033223839731139743_r8, & + 0.0041847011534438842_r8, 0.0049939288053666431_r8, & + 0.0058015816036263547_r8, 0.0065192399950242952_r8, & + 0.0071121893591233635_r8, 0.0078054535095659098_r8, & + 0.0077804506482410454_r8, 0.007673501124557747_r8, & + 0.0079073253589178674_r8, 0.0083420401763269897_r8, & + 0.0087353377268847565_r8, 0.0091186913745167093_r8, & + 0.0093160809886484227_r8, 0.0094343420718273879_r8, & + 0.0095335540366076714_r8, 0.0095334163494017014_r8, & + 0.0096719969646620226_r8, 0.0095801885686655989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,40) / & + 0.00020446068403115719_r8, 0.00019938160813371523_r8, & + 0.00016664640639151934_r8, 0.00013740877188408887_r8, & + 0.00012382401798673908_r8, 0.00012306367728352922_r8, & + 0.00011362531468768396_r8, 0.00012162409888545186_r8, & + 0.00014388687467543703_r8, 0.00014782037058004281_r8, & + 0.00013685118870173494_r8, 0.00014018654991981565_r8, & + 0.00015005070330945846_r8, 0.00018861391654175801_r8, & + 0.00026019492481094646_r8, 0.00035235835591602635_r8, & + 0.00059288905980695787_r8, 0.00095628919203509847_r8, & + 0.0014456828477231369_r8, 0.0022311285526849974_r8, & + 0.0031198743266184527_r8, 0.0040629228370277536_r8, & + 0.0049227785245685449_r8, 0.0057253733158176027_r8, & + 0.0064643170178515473_r8, 0.0070814280704071635_r8, & + 0.0075617403615628621_r8, 0.0082361542739756884_r8, & + 0.0083251031656210971_r8, 0.0082104637736755328_r8, & + 0.0083286895116846376_r8, 0.0085307228985375492_r8, 0.00885539163741118_r8, & + 0.0092747988279047611_r8, 0.0096848549139498651_r8, & + 0.0098031031001130659_r8, 0.0099147819426005316_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,40) / & + 0.00015181125930797037_r8, 0.00014634973732491853_r8, & + 0.00011747564436025678_r8, 0.00011969835679521974_r8, & + 0.00011724278877183211_r8, 0.00011762382518925431_r8, & + 0.00012311710020709136_r8, 0.00011880927182123455_r8, & + 0.00013026153303375803_r8, 0.00014600045394228149_r8, & + 0.00013936406967217775_r8, 0.00016067035601303705_r8, & + 0.00018508843976284441_r8, 0.00024984346203476545_r8, & + 0.00035206706535320501_r8, 0.00046932043846996543_r8, & + 0.00077115420279300735_r8, 0.0012819229360025678_r8, & + 0.0019992239917999009_r8, 0.0030088474549589974_r8, & + 0.0039644007920513879_r8, 0.0048991135539797684_r8, & + 0.0057152498996753389_r8, 0.0064509637465187293_r8, & + 0.0071073651276843102_r8, 0.0076806053107474903_r8, & + 0.0080996924481872932_r8, 0.0087451019871447357_r8, & + 0.0088727266952482071_r8, 0.0088726945642011029_r8, & + 0.0090162803510529001_r8, 0.0090876282861782533_r8, & + 0.0090916275809094487_r8, 0.0087579519489062851_r8, & + 0.0087254100780140807_r8, 0.0087465004437183996_r8, 0.0087602177547456_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,40) / & + 8.6349210535927555e-05_r8, 8.5731484962344029e-05_r8, & + 8.6834566343743199e-05_r8, 0.00012685435886090538_r8, & + 0.00012921495301709959_r8, 0.0001325352279751111_r8, & + 0.00014791218243181563_r8, 0.00014204378948277203_r8, & + 0.00014363222667198683_r8, 0.00016683002812281153_r8, & + 0.00017987948086476376_r8, 0.00025501035375186175_r8, & + 0.00040544859254708148_r8, 0.00058814093093441312_r8, & + 0.00077793711341795583_r8, 0.0009799774992350289_r8, & + 0.0014795630568707162_r8, 0.0022419577536247574_r8, & + 0.003143803998615283_r8, 0.0041318450227483391_r8, & + 0.0050833078682741987_r8, 0.0060235523761512297_r8, & + 0.0068368873710982839_r8, 0.0074910587535232526_r8, & + 0.0081754214733571161_r8, 0.0087639264211473895_r8, & + 0.0092612506619512095_r8, 0.0099789815935724009_r8, & + 0.010165254218957644_r8, 0.010229260319134511_r8, 0.01045571071404904_r8, & + 0.010160242132326672_r8, 0.0098529849986728219_r8, 0.009562445654290529_r8, & + 0.0092188285157684142_r8, 0.0091407573597613173_r8, & + 0.0090839421880161419_r8, 0.0091237846602012455_r8, & + 0.0091233006832451558_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,20,40) / & + 8.6366552314403285e-05_r8, 9.2267310282329225e-05_r8, & + 9.5399241239154588e-05_r8, 0.0001168387378818107_r8, & + 0.00012116423879921811_r8, 0.00012921268329230454_r8, & + 0.00015111707732446913_r8, 0.00015518864336214818_r8, & + 0.00017011341485262548_r8, 0.00021679008893151438_r8, & + 0.00027894223911898412_r8, 0.00044699138269749798_r8, & + 0.00081746290183093244_r8, 0.0011542645824562635_r8, & + 0.0014590397255142998_r8, 0.0017788232602653391_r8, & + 0.0024827170151235059_r8, 0.0033232472056658438_r8, & + 0.0041562044391412201_r8, 0.0051380007142766745_r8, & + 0.0061471926483616171_r8, 0.0073228336698458636_r8, & + 0.0081501715437309313_r8, 0.0088534891799878727_r8, & + 0.009558905724318504_r8, 0.010102015660498474_r8, 0.010598800086459867_r8, & + 0.011565237748818798_r8, 0.012349235148763977_r8, 0.012879458801831802_r8, & + 0.013297427374815372_r8, 0.012883665020989723_r8, 0.013204319722487954_r8, & + 0.013601191410257868_r8, 0.013596053286982613_r8, 0.013421234339936762_r8, & + 0.013708100822953904_r8, 0.013687692574702223_r8, 0.013634392073845333_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,40) / & + 9.4350942900486791e-05_r8, 0.00010474206655870476_r8, & + 0.0001249598519920635_r8, 0.00010775685939253758_r8, & + 0.00010294328346242541_r8, 0.00011977578806626879_r8, & + 0.00014845262355277461_r8, 0.00017748270017999153_r8, & + 0.00019520288550452491_r8, 0.00024812326305333757_r8, & + 0.00034718387490583711_r8, 0.00060078503719189003_r8, & + 0.0011705310585385948_r8, 0.0016076753806719452_r8, & + 0.0019342054015150224_r8, 0.0022039349282889863_r8, & + 0.0027530762810482204_r8, 0.0036808293240298074_r8, & + 0.0045686401413665145_r8, 0.0055550959426433223_r8, & + 0.0066055094698782516_r8, 0.0076949519911411182_r8, & + 0.0085813841247007871_r8, 0.0093957999925479707_r8, & + 0.010162468900565363_r8, 0.010769793476729322_r8, 0.011353511622429062_r8, & + 0.012364248994018771_r8, 0.01318387422117904_r8, 0.013688328504274205_r8, & + 0.0140339038650912_r8, 0.013857770039309285_r8, 0.014209663689629202_r8, & + 0.014221085898413335_r8, 0.014229483200467201_r8, 0.014209216996085442_r8, & + 0.014203357664556481_r8, 0.014182399286395201_r8, 0.014164853485937601_r8, & + 0.0141628413528576_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,40) / & + 0.00012104260730660078_r8, 0.00012994916604556377_r8, & + 0.00014496661369709299_r8, 0.00012495159697536789_r8, & + 9.8145329215183533e-05_r8, 0.00011782634998419754_r8, & + 0.00015618640366409217_r8, 0.00023357450292930368_r8, & + 0.0003225163881142255_r8, 0.00041199019277939091_r8, & + 0.00055694443625601306_r8, 0.00084143476664305498_r8, & + 0.0015846870934095145_r8, 0.0020581696521491622_r8, & + 0.0023522469034010602_r8, 0.0025726347513085101_r8, & + 0.0031513631458135703_r8, 0.0043333995628991344_r8, & + 0.0052848798108502655_r8, 0.0062816103252835154_r8, & + 0.0073590194176272068_r8, 0.0082052290893719834_r8, & + 0.0090841208836005653_r8, 0.0099763354052761818_r8, & + 0.010751601862621023_r8, 0.011404341286202772_r8, 0.012052223851972178_r8, & + 0.013105506375565165_r8, 0.013928775473446882_r8, 0.014403237985589446_r8, & + 0.014659385048322808_r8, 0.014720833444776198_r8, 0.014761368625008443_r8, & + 0.014724462072233864_r8, 0.0147006648606032_r8, 0.0146510664616256_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,23,40) / & + 0.00012769267605759998_r8, 0.00012828224376799341_r8, & + 0.00013824081139789958_r8, 0.00013748462672587321_r8, & + 0.00013445988803776788_r8, 0.00016209267029012011_r8, & + 0.00017205123792002631_r8, 0.00025855107438622546_r8, & + 0.00044180409880372666_r8, 0.00061893074570887894_r8, & + 0.00089966750937099584_r8, 0.0013753333014542748_r8, & + 0.0024975626214987848_r8, 0.0030127038167997097_r8, & + 0.0033081669565323069_r8, 0.0035565415795695663_r8, & + 0.0041701533991955484_r8, 0.0052297731917341486_r8, & + 0.0062766403783631524_r8, 0.0072904276897633458_r8, & + 0.0083165959230817963_r8, 0.0091994607527065789_r8, & + 0.010065715152925498_r8, 0.01083812575367701_r8, 0.011535225487770442_r8, & + 0.012145748485261535_r8, 0.012748427668866524_r8, 0.013764611701176358_r8, & + 0.01453593288333258_r8, 0.014970530111937323_r8, 0.015224589211347483_r8, & + 0.015318006627024334_r8, 0.0153442013767309_r8, 0.015306972098322963_r8, & + 0.015243183435396266_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,40) / & + 0.00013074821394939257_r8, 0.00012768442439549626_r8, & + 0.00013037684551861725_r8, 0.00015361389875855798_r8, & + 0.00016333579374992592_r8, 0.00017004695182036542_r8, & + 0.00019346968927569383_r8, 0.00029741306041805425_r8, & + 0.00052372232950087896_r8, 0.00083816528510162957_r8, & + 0.001361701930387121_r8, 0.0021349838453690075_r8, & + 0.0033453266138987058_r8, 0.0039005356810660335_r8, & + 0.0041447369506172832_r8, 0.004391696957082864_r8, & + 0.0050581573955838805_r8, 0.0060320047895009183_r8, & + 0.0071175810284483561_r8, 0.0081101825281195469_r8, & + 0.009017157078180545_r8, 0.0099641863661323066_r8, 0.010870328653013619_r8, & + 0.011625773278054832_r8, 0.01235189969180215_r8, 0.012997742550816021_r8, & + 0.013545307065151627_r8, 0.014576018592136353_r8, 0.015312530058787145_r8, & + 0.015725105464325491_r8, 0.015939277285722128_r8, 0.015988538787011824_r8, & + 0.015960793207338061_r8, 0.015896150989856205_r8, 0.015825751282749941_r8, & + 0.015645287114867373_r8, 0.015457482783634739_r8, 0.0151879048647349_r8, & + 0.014976163931559797_r8, 0.014792254492534398_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,40) / & + 0.00015075105989478189_r8, 0.00014998332077563784_r8, & + 0.00014916074314798354_r8, 0.0001634461746149136_r8, & + 0.00016657196960000002_r8, 0.00016823083448243623_r8, & + 0.00020356054359018928_r8, 0.00027731833753652675_r8, & + 0.00044229999038972835_r8, 0.00073164167091713576_r8, & + 0.0011929157852514237_r8, 0.0018705963637944362_r8, & + 0.0030391227223859093_r8, 0.0039803845920836209_r8, & + 0.004413691067077662_r8, 0.0048342338792159338_r8, & + 0.0057390555600085593_r8, 0.0067494002408021057_r8, & + 0.0077349579157490033_r8, 0.0087507453185121983_r8, & + 0.0096803677147786014_r8, 0.010593017592661071_r8, 0.011613452559020512_r8, & + 0.012394448887596905_r8, 0.013142816303609675_r8, 0.013818467857337809_r8, & + 0.014367305360135899_r8, 0.015399653992469202_r8, 0.0160557967467948_r8, & + 0.016445438059387526_r8, 0.016695090369380609_r8, 0.016783325529573657_r8, & + 0.016773070728482237_r8, 0.016657320346644147_r8, 0.016476963346967376_r8, & + 0.016223410648056491_r8, 0.015967253119991372_r8, 0.015711256680045003_r8, & + 0.015504222459681366_r8, 0.015350287828515746_r8, 0.015176756999074651_r8, & + 0.01515959156665185_r8, 0.015135240441262687_r8, 0.015120478000456888_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,26,40) / & + 0.00016729674268362797_r8, 0.00016929275222148476_r8, & + 0.00016415408936870454_r8, 0.00018091490704829629_r8, & + 0.00018574213578878682_r8, 0.00018796464286285433_r8, & + 0.00018207570692137614_r8, 0.00020766992851318518_r8, & + 0.0002660355123754798_r8, 0.00034688097670668643_r8, & + 0.00047200670936708473_r8, 0.00073710791940569554_r8, & + 0.0014972619631208298_r8, 0.0025215262901536525_r8, & + 0.0034076412761939625_r8, 0.0043100640848414418_r8, & + 0.0060456863926320057_r8, 0.0075266688453376933_r8, & + 0.0086809710703474839_r8, 0.0097577120453011205_r8, & + 0.010743287761929956_r8, 0.011633309830469899_r8, 0.012648698285302467_r8, & + 0.013402425461427621_r8, 0.014126976923669638_r8, 0.01473733115937342_r8, & + 0.015228363661782204_r8, 0.016161179608569953_r8, 0.016811807937431204_r8, & + 0.017140682360009141_r8, 0.01739171241061066_r8, 0.017477795630466739_r8, & + 0.017516951392039168_r8, 0.017416213073785453_r8, 0.017230233823388445_r8, & + 0.016963617911076423_r8, 0.016664570382798238_r8, 0.016393695255098251_r8, & + 0.016148952280638583_r8, 0.015956167487083242_r8, 0.015731588860244613_r8, & + 0.015672718965461852_r8, 0.015643793005558369_r8, 0.015628561450708085_r8, & + 0.015612481895149126_r8 & + / +data delta_sa_ref(:,27,40) / & + 0.00017723133017631603_r8, 0.0001790128430939654_r8, & + 0.00017217884272134322_r8, 0.00018418215106812843_r8, & + 0.00018612429219966417_r8, 0.00018050230471363952_r8, & + 0.00017118586830822715_r8, 0.00019529470295608889_r8, & + 0.00022750796112276547_r8, 0.00024652050062095796_r8, & + 0.0002670078991739259_r8, 0.00037023343044329871_r8, & + 0.00066863684414957035_r8, 0.0011639704480805924_r8, & + 0.0018171139708725728_r8, 0.0026735544021851657_r8, & + 0.0051713669358136889_r8, 0.0076863520857631601_r8, & + 0.009615263293500681_r8, 0.011061691154418093_r8, 0.01222500448707824_r8, & + 0.013151420409385717_r8, 0.013962300838214163_r8, 0.014702855314490152_r8, & + 0.015434283187704416_r8, 0.015965203242293724_r8, 0.016334151647025934_r8, & + 0.017163562730710909_r8, 0.017705668350012679_r8, 0.017959776708419157_r8, & + 0.018120361114610885_r8, 0.018170035389755257_r8, 0.018159678520600808_r8, & + 0.018074507235508148_r8, 0.017886878879123911_r8, 0.017671251929866898_r8, & + 0.017392905139049088_r8, 0.017122442690236252_r8, 0.01684075999561933_r8, & + 0.016617101114147822_r8, 0.016351074976703253_r8, 0.016231229640498387_r8, & + 0.016193452387889138_r8, 0.016137801908755911_r8, 0.0161269923600896_r8 & + / +data delta_sa_ref(:,28,40) / & + 0.00018754105902072098_r8, 0.00020745093071743211_r8, & + 0.00021133358143379758_r8, 0.00019189022978440169_r8, & + 0.00020245465150102389_r8, 0.00020352313289971361_r8, & + 0.00022442624082619263_r8, 0.00024021267726598853_r8, & + 0.00024546479005673085_r8, 0.00026111578519246755_r8, & + 0.00030141709766698935_r8, 0.00036680514946004281_r8, & + 0.00057774745601544696_r8, 0.00087541734427013006_r8, & + 0.0013058347595366717_r8, 0.001868698721139385_r8, & + 0.0039122973129206255_r8, 0.0066756761415741241_r8, & + 0.0094296794221799644_r8, 0.011623723204703475_r8, 0.013162848085965326_r8, & + 0.014233406251317285_r8, 0.015084639798295942_r8, 0.015840522667216885_r8, & + 0.016605856329354407_r8, 0.017155010621179564_r8, 0.017430799214311784_r8, & + 0.018214658237037853_r8, 0.018625978428432045_r8, 0.018758701500764002_r8, & + 0.018799499431353405_r8, 0.018779045913311237_r8, 0.018720318940096983_r8, & + 0.018622718431488505_r8, 0.018462432516314995_r8, 0.018304284101404354_r8, & + 0.018071815119458309_r8, 0.017837533481392932_r8, 0.017576176911659913_r8, & + 0.017334197477827645_r8, 0.017103485148096627_r8, 0.016905406594380442_r8, & + 0.016785587477306536_r8, 0.016711696183959825_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,40) / & + 0.00018603900505552589_r8, 0.00025022137711449541_r8, & + 0.00028578355574205102_r8, 0.00020812009636021726_r8, & + 0.00022116730960832263_r8, 0.00023297488264283127_r8, & + 0.00023591902815012347_r8, 0.0002696217464572839_r8, & + 0.00031984267061062056_r8, 0.00039718072443638508_r8, & + 0.00043884813111590447_r8, 0.00048071697933013333_r8, & + 0.00064935453488729547_r8, 0.00088609482467892663_r8, & + 0.00125766148320187_r8, 0.0017481406292140776_r8, 0.0032127445505732467_r8, & + 0.005401530789212944_r8, 0.0083000265456394263_r8, 0.011085265673051178_r8, & + 0.013186424844092262_r8, 0.014728537269806561_r8, 0.015775831808761073_r8, & + 0.016609241924362139_r8, 0.017324390363586076_r8, 0.017928420553163748_r8, & + 0.018358467238763117_r8, 0.019238596294914104_r8, 0.01957721951476072_r8, & + 0.019613959351591187_r8, 0.019562064913149501_r8, 0.019471648655070291_r8, & + 0.019381542307044478_r8, 0.019259515223518552_r8, 0.019123774620129711_r8, & + 0.018959785715373535_r8, 0.018761164362150005_r8, 0.0185884204983853_r8, & + 0.018365027647206007_r8, 0.018091142700576646_r8, 0.017835770729056819_r8, & + 0.017693718198678619_r8, 0.017547564894200968_r8, 0.017523612001514827_r8, & + 0.017518765949078044_r8 & + / +data delta_sa_ref(:,30,40) / & + 0.00020619346009955551_r8, 0.00026393528107377772_r8, & + 0.00028687577814222228_r8, 0.00024399187465777778_r8, & + 0.00025751066653688885_r8, 0.00028622215730844447_r8, & + 0.00028544100070222224_r8, 0.00034627556415822225_r8, & + 0.00041546372070933328_r8, 0.00051447930604088901_r8, & + 0.00054548644071644443_r8, 0.00064070783681777774_r8, & + 0.00079065802126933326_r8, 0.0010206847288444444_r8, & + 0.0013734008495111111_r8, 0.0019256148022240001_r8, & + 0.0033801921708959994_r8, 0.005515077233729777_r8, & + 0.0084444145070631093_r8, 0.011394858950736001_r8, 0.01357761775415111_r8, & + 0.015315292653706668_r8, 0.016605572063527113_r8, 0.017649707432529773_r8, & + 0.018407780063939561_r8, 0.019030106807553779_r8, 0.019613120649311998_r8, & + 0.020720736949048885_r8, 0.020958782468316447_r8, 0.020935060814641776_r8, & + 0.020773664294613331_r8, 0.020518226084378664_r8, 0.020321348713906891_r8, & + 0.020161088059351778_r8, 0.019961763596246216_r8, 0.019800990805854887_r8, & + 0.019595692088908889_r8, 0.019460793972386412_r8, 0.019142210751532444_r8, & + 0.018816678823826698_r8, 0.018535438134080075_r8, 0.018508655564931129_r8, & + 0.018345705215096531_r8, 0.018224405030954818_r8, 0.0180325482997464_r8 & + / +data delta_sa_ref(:,31,40) / & + 0.00040708886055822212_r8, 0.00040217232842587646_r8, & + 0.00037319756572591921_r8, 0.00035397392508844773_r8, & + 0.00034884434323036704_r8, 0.00040733468716483943_r8, & + 0.00057993774189105509_r8, 0.00078975894485912724_r8, & + 0.0010222125840764311_r8, 0.0012466522759180115_r8, & + 0.0014485250852721249_r8, 0.0016409089876108112_r8, & + 0.0019703166404779716_r8, 0.0023899754348545568_r8, & + 0.002978828488345599_r8, 0.0038150814387362762_r8, & + 0.0059418749085463698_r8, 0.0085974086323093585_r8, & + 0.011392440761107436_r8, 0.013799116016771525_r8, 0.015577982896015958_r8, & + 0.016967165438450674_r8, 0.018091428841154156_r8, 0.018976912666630052_r8, & + 0.019671798929775355_r8, 0.020308047353022204_r8, 0.02088705095380811_r8, & + 0.021813882814517037_r8, 0.022060659950679913_r8, 0.022028309169249076_r8, & + 0.021817045783522181_r8, 0.021512384675721162_r8, 0.021261693043498633_r8, & + 0.021013538985687988_r8, 0.020734910505816717_r8, 0.020577368837566938_r8, & + 0.020387193277577691_r8, 0.0202846024598381_r8, 0.020137154373525881_r8, & + 0.020044045088003521_r8, 0.01982402471471733_r8, 0.019676440955530308_r8, & + 0.019675043958042988_r8, 0.019525663206361597_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,40) / & + 0.00065008002365241166_r8, 0.00067587110474099093_r8, & + 0.00070464196478040497_r8, 0.00076937219114175481_r8, & + 0.00097442138674155745_r8, 0.0014698727682277795_r8, & + 0.0020902728467371325_r8, 0.0026160944046488095_r8, & + 0.003040569808413458_r8, 0.0034209714195606784_r8, 0.003788696343984856_r8, & + 0.0041369601132273115_r8, 0.004757175007734071_r8, & + 0.0056049305367011698_r8, 0.0067600915099747024_r8, & + 0.0080188376803357244_r8, 0.010642322610178976_r8, 0.013086633600057641_r8, & + 0.015239616484036912_r8, 0.017105463154539154_r8, 0.018335000757218268_r8, & + 0.019302907034050371_r8, 0.020065982969103922_r8, 0.020741130172743861_r8, & + 0.021286816923661103_r8, 0.021804338871274694_r8, 0.022234622318757065_r8, & + 0.022670410781589295_r8, 0.022918995052708072_r8, 0.022908338555104241_r8, & + 0.022625175380228322_r8, 0.022301019201141768_r8, 0.022038209431641888_r8, & + 0.021790971953269251_r8, 0.021563578624265525_r8, 0.021327805719144406_r8, & + 0.021095126228612079_r8, 0.020995455147943057_r8, 0.021036246133241773_r8, & + 0.02099844454684208_r8, 0.020897602237481331_r8, 0.020659294476013012_r8, & + 0.020578892151561987_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,40) / & + 0.0010754028847760591_r8, 0.0013509544603719111_r8, & + 0.001692970216572444_r8, 0.0019671738446677333_r8, & + 0.0026134109829183999_r8, 0.0038866165227129674_r8, & + 0.0044535666977253922_r8, 0.0054681909753286325_r8, & + 0.0064074857253042577_r8, 0.0071597959630223008_r8, & + 0.0078307800348730461_r8, 0.0084529614946521284_r8, & + 0.0090100958468399411_r8, 0.010148869545520672_r8, 0.01141435030925432_r8, & + 0.012601477304173193_r8, 0.014923040371841499_r8, 0.0168084214534302_r8, & + 0.018251865849994588_r8, 0.019565198749998222_r8, 0.020493156915866548_r8, & + 0.02127500102894949_r8, 0.021871329546922898_r8, 0.022403509588972085_r8, & + 0.022806822393691809_r8, 0.023130848235173293_r8, 0.023386854572010982_r8, & + 0.023673898264118042_r8, 0.023864909337499098_r8, 0.02381634866472241_r8, & + 0.023502674368790121_r8, 0.023100882325353084_r8, 0.02273876832629159_r8, & + 0.022509012402958453_r8, 0.022300166947262254_r8, 0.02203119957676531_r8, & + 0.021811000255583596_r8, 0.021737606242315768_r8, 0.021728308860837525_r8, & + 0.02175703051142645_r8, 0.021674719307001045_r8, 0.021418021715034867_r8, & + 0.021362518248561363_r8, 0.021088560880105599_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,40) / & + 0.0015120789903718976_r8, 0.0018419233134762136_r8, & + 0.002373829637802877_r8, 0.0032382040066043513_r8, & + 0.0039028741778475056_r8, 0.0048548063834657181_r8, & + 0.0060986275915515514_r8, 0.0065756307734158867_r8, & + 0.0075667237932734556_r8, 0.0084437913005970568_r8, & + 0.0095583055919505003_r8, 0.011273829355618383_r8, 0.012456117206427258_r8, & + 0.013653792828517145_r8, 0.014753734829556081_r8, 0.015784657889880954_r8, & + 0.017792418565015754_r8, 0.019126842367657399_r8, 0.02033725101592538_r8, & + 0.021342078685322081_r8, 0.022154011866426956_r8, 0.022808847514492525_r8, & + 0.023490647217994067_r8, 0.023887979239019367_r8, 0.024194768496972805_r8, & + 0.024426684192708083_r8, 0.024604465691348915_r8, 0.024812349074362049_r8, & + 0.024829066434175404_r8, 0.024502153853784917_r8, 0.024082001661582791_r8, & + 0.023634183264572145_r8, 0.023243869888154144_r8, 0.022980914948131245_r8, & + 0.022736744244952121_r8, 0.022519177342030433_r8, 0.022410461319702299_r8, & + 0.022324843732436688_r8, 0.022345029102338591_r8, 0.022348455008790267_r8, & + 0.022235279799779604_r8, 0.021980949077487419_r8, 0.02180073797740182_r8, & + 0.021380302139646135_r8, 0.021168857675347198_r8 & + / +data delta_sa_ref(:,35,40) / & + 0.0013353158640471284_r8, 0.0014729075810810959_r8, & + 0.0017851290234826666_r8, 0.0025746096263187584_r8, & + 0.0029975415372408424_r8, 0.0037248672126703863_r8, & + 0.0059525364814980468_r8, 0.0057350480769862312_r8, & + 0.0062895986438941918_r8, 0.0066191802578315102_r8, & + 0.0071879569003921277_r8, 0.0092133014403405662_r8, & + 0.011522001805696638_r8, 0.012593987611044057_r8, 0.013578557358116696_r8, & + 0.014920725400839349_r8, 0.017281491351900248_r8, 0.018434497673727842_r8, & + 0.020028320666662477_r8, 0.021341677615339137_r8, 0.022301196988700683_r8, & + 0.022705667299630139_r8, 0.023953408606595634_r8, 0.024419454408793125_r8, & + 0.02483698296575676_r8, 0.025131586810418327_r8, 0.025381097450977341_r8, & + 0.025626878721896534_r8, 0.025600665792363999_r8, 0.02513487181803236_r8, & + 0.024633285621662882_r8, 0.024195000567864076_r8, 0.023755103192604442_r8, & + 0.023465471840795969_r8, 0.023176278035644801_r8, 0.022978964939306314_r8, & + 0.022860994999899253_r8, 0.022777852956569363_r8, 0.022774896449716739_r8, & + 0.022788002403330371_r8, 0.022679793434680181_r8, 0.022360564300576709_r8, & + 0.022134103236263827_r8, 0.021974034765670399_r8, 0.021844046605461333_r8 & + / +data delta_sa_ref(:,36,40) / & + 0.0007772017671819377_r8, 0.0008576770752293689_r8, & + 0.0010220967435453511_r8, 0.0014650896845704604_r8, & + 0.0017736040621020657_r8, 0.0023758818038076448_r8, & + 0.0045472969155606882_r8, 0.0044998593023075116_r8, & + 0.0047178691239572442_r8, 0.0046900287229797782_r8, & + 0.0043956969593476744_r8, 0.0053563479059426074_r8, & + 0.0071714484802294668_r8, 0.0070407515188311114_r8, & + 0.0093725579248535116_r8, 0.0099150252799414858_r8, & + 0.010316659648896002_r8, 0.0067872760848000004_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,37,40) / & + 0.0012536850218269112_r8, 0.0015635322408057849_r8, & + 0.002201310904922457_r8, 0.0023930508000960383_r8, & + 0.0029564030268798358_r8, 0.0035676464749193944_r8, & + 0.0047409024027771432_r8, 0.0057171215523682444_r8, & + 0.0056504729202312646_r8, 0.0051843100268967515_r8, & + 0.0048508845355978228_r8, 0.0046952897183450727_r8, & + 0.005012236832697017_r8, 0.0045269688371090662_r8, & + 0.0071695958246089072_r8, 0.0083053954263148464_r8, & + 0.007535745728505067_r8, 0.0069612112383674674_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,38,40) / & + 0.0014176109694366665_r8, 0.0018236634866056222_r8, & + 0.0026482958081896256_r8, 0.0027580354089695109_r8, & + 0.0033429181269121013_r8, 0.0039709854099764068_r8, & + 0.0047733151146495097_r8, 0.0059479992630936517_r8, & + 0.0062554282064307192_r8, 0.0056984997324727995_r8, & + 0.0051433099312021341_r8, 0.0047845111130143999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,40) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,40) / & + 0.0038473125314982715_r8, 0.0038647165530617273_r8, & + 0.0038958510829866662_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,40) / & + 0.0041355861085600647_r8, 0.0040651885780327562_r8, & + 0.0039858283520714148_r8, 0.0034945511217279999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,40) / & + 0.0037680044934987455_r8, 0.0037220549083913372_r8, & + 0.0032113246039864882_r8, 0.0033462668339998055_r8, & + 0.0048622382857144274_r8, 0.0074510504683163482_r8, & + 0.0080418134958788259_r8, 0.0087636966612573627_r8, & + 0.0042074796441863103_r8, 0.0022624776583668148_r8, & + 0.0021105803168500149_r8, 0.0020951092913251554_r8, & + 0.0019985752064386368_r8, 0.0021482350029415108_r8, & + 0.0021731676473823996_r8, 0.0022216904092558221_r8, & + 0.0022907346553998221_r8, 0.0023129822458239995_r8, & + 0.002344627525306666_r8, 0.0024497282111036441_r8, & + 0.0025440886808337773_r8, 0.0026400793619311995_r8, & + 0.0027591806865295996_r8, 0.0029235922976599995_r8, & + 0.0030897300149439993_r8, 0.0032830539041472_r8, 0.0034862412570852569_r8, & + 0.003900424538418133_r8, 0.0038008857502271993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,40) / & + 0.0026699980435528166_r8, 0.0030201883225851782_r8, & + 0.0025468942097088792_r8, 0.0039661187081141717_r8, & + 0.0037706085936587853_r8, 0.0045894003919723977_r8, & + 0.0068993844091536846_r8, 0.0071531791674204707_r8, & + 0.0029580882054768723_r8, 0.002091493350914634_r8, & + 0.0021006154020152884_r8, 0.0022067031020753121_r8, & + 0.0021435942966241454_r8, 0.002259461888008428_r8, 0.002278670822537692_r8, & + 0.0023383150028112062_r8, 0.0023850216586871575_r8, & + 0.0024085723386922135_r8, 0.0024539633141209549_r8, & + 0.0025678573848344228_r8, 0.002668945499195048_r8, & + 0.0027737778208283587_r8, 0.0029082787365462518_r8, & + 0.0030988934233376463_r8, 0.0032433112804263831_r8, & + 0.0034468854196227951_r8, 0.0036286960114216109_r8, & + 0.0040357127217697129_r8, 0.0039653786378626172_r8, & + 0.0038980867517324456_r8, 0.0038875890314213333_r8, & + 0.0038967494565350317_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,40) / & + 0.0024429109524513708_r8, 0.0029773879075496823_r8, & + 0.0023682834859291659_r8, 0.0037510334925173472_r8, & + 0.0034694331732235861_r8, 0.0037447656871719779_r8, & + 0.0041030677107281388_r8, 0.0031615892373038886_r8, & + 0.0021070197149142648_r8, 0.0021405682557556678_r8, & + 0.0022571313983296266_r8, 0.0023544402036196083_r8, & + 0.0023330214443458637_r8, 0.0023690951441753287_r8, & + 0.0024297891441384038_r8, 0.0024941356062092115_r8, & + 0.0025090610995136529_r8, 0.0025230396581975706_r8, & + 0.0025925266224940775_r8, 0.0027317260117110252_r8, & + 0.0028359790042181789_r8, 0.0029555182270280698_r8, & + 0.0030729381199729785_r8, 0.0032931229653070763_r8, & + 0.0034524334421789501_r8, 0.0036647271656753515_r8, & + 0.0038606524478741336_r8, 0.0042352327284783413_r8, & + 0.0043438596570898168_r8, 0.0042088820180560356_r8, & + 0.004195531528253079_r8, 0.0041536401391095981_r8, & + 0.0039700523843390987_r8, 0.0039934667922212662_r8, & + 0.0041050630372499565_r8, 0.0041638068028160011_r8, & + 0.0042368560449706667_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,40) / & + 0.0024629479395839996_r8, 0.0033100133822293334_r8, & + 0.0028111972795733329_r8, 0.0039736190155946665_r8, & + 0.0039022272059733329_r8, 0.0041831616209919995_r8, & + 0.003345964092330666_r8, 0.0024086975767893338_r8, & + 0.0021468040662186664_r8, 0.0022654043469653327_r8, & + 0.0023216931520853327_r8, 0.002346849383509333_r8, & + 0.0023662145855999992_r8, 0.0024129134461439998_r8, & + 0.0024738350747306663_r8, 0.0025302165363199989_r8, & + 0.0025468020443306658_r8, 0.0025643141170346669_r8, 0.002644322978304_r8, & + 0.0027728838295039992_r8, 0.0028746669610666656_r8, & + 0.0030038300793173334_r8, 0.003132854212863999_r8, & + 0.0033101523669333329_r8, 0.0035085298677759993_r8, & + 0.0036782765195946662_r8, 0.0039049142435839995_r8, & + 0.0042529319424000006_r8, 0.0043300684531199993_r8, & + 0.0042287022756693328_r8, 0.0042063257383253335_r8, & + 0.0042057755905386658_r8, 0.0041987874727131428_r8, & + 0.0042023018002285703_r8, 0.0042318062673919986_r8, & + 0.0042508471718399991_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,41) / & + 0.0041252151408571426_r8, 0.0041690829012380956_r8, & + 0.0044943362063809512_r8, 0.0060272990510476174_r8, & + 0.0063016633293333339_r8, 0.0066036437570476192_r8, & + 0.007736726041714285_r8, 0.0080337766060952359_r8, & + 0.0078882110248571415_r8, 0.0070153025539563922_r8, & + 0.0069711157494157109_r8, 0.0067355055294581233_r8, & + 0.0065984924893462511_r8, 0.0065765322973110139_r8, & + 0.0065759909309141351_r8, 0.0066718534010768377_r8, & + 0.0066554420532618933_r8, 0.0066681318165500306_r8, & + 0.0067631343129588616_r8, 0.0070365340158686975_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,41) / & + 0.0041252151408571426_r8, 0.0041690829012380956_r8, & + 0.0044943362063809512_r8, 0.0060272990510476174_r8, & + 0.0063016633293333339_r8, 0.0066036437570476192_r8, & + 0.007736726041714285_r8, 0.0080337766060952359_r8, & + 0.0078882110248571415_r8, 0.0070153025539563922_r8, & + 0.0069711157494157109_r8, 0.0067355055294581233_r8, & + 0.0065984924893462511_r8, 0.0065765322973110139_r8, & + 0.0065759909309141351_r8, 0.0066718534010768377_r8, & + 0.0066554420532618933_r8, 0.0066681318165500306_r8, & + 0.0067631343129588616_r8, 0.0070365340158686975_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,41) / & + 0.0041252151408571426_r8, 0.0041690829012380956_r8, & + 0.0044943362063809512_r8, 0.0060272990510476174_r8, & + 0.0063016633293333339_r8, 0.0066036437570476192_r8, & + 0.007736726041714285_r8, 0.0080337766060952359_r8, & + 0.0078882110248571415_r8, 0.0070153025539563922_r8, & + 0.0069711157494157109_r8, 0.0067355055294581233_r8, & + 0.0065984924893462511_r8, 0.0065765322973110139_r8, & + 0.0065759909309141351_r8, 0.0066718534010768377_r8, & + 0.0066554420532618933_r8, 0.0066681318165500306_r8, & + 0.0067631343129588616_r8, 0.0070365340158686975_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,41) / & + 0.0041821251979047621_r8, 0.0042290435898095233_r8, & + 0.0045882692696190483_r8, 0.0060264325361904757_r8, & + 0.0063030130242857137_r8, 0.0065631457766666661_r8, & + 0.0079510404838095232_r8, 0.0080209143876190468_r8, & + 0.0079057267490476174_r8, 0.0068384692833333332_r8, & + 0.0069843180276610061_r8, 0.0069428763029695563_r8, & + 0.006877870405757683_r8, 0.006877854614418367_r8, 0.0068542675200572393_r8, & + 0.0068543300024299812_r8, 0.0068164868484139347_r8, & + 0.0068173859015225758_r8, 0.0068623252863548078_r8, & + 0.007089314525747444_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,41) / & + 0.0047124501199999995_r8, 0.0048236972357037031_r8, & + 0.0049307924496296285_r8, 0.0055761788168888883_r8, & + 0.0057874141002222223_r8, 0.0058809067742222219_r8, & + 0.0061105621348148146_r8, 0.0062966710626666663_r8, & + 0.0063802374464444452_r8, 0.0064738743414814821_r8, & + 0.0065728543485925918_r8, 0.0065806117762962982_r8, & + 0.006789411942888888_r8, 0.0071518435691851848_r8, & + 0.0074857291373333331_r8, 0.0078827751992592583_r8, & + 0.0081120783277037044_r8, 0.0081454141883703698_r8, & + 0.008234293175925925_r8, 0.0082925917566666653_r8, & + 0.0083709842107407405_r8, 0.008747047498518519_r8, & + 0.0088077156724999991_r8, 0.0089040352174999983_r8, & + 0.0089904014308333328_r8, 0.0090709641341666664_r8, & + 0.0091215888383333315_r8, 0.0091852090366666677_r8, & + 0.0091224401980952372_r8, 0.0089334115866666671_r8, & + 0.0087486977200000003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,41) / & + 0.0043350070251851848_r8, 0.004394636877037038_r8, & + 0.0044534069496296293_r8, 0.0048596110474074068_r8, & + 0.0051905983274074079_r8, 0.0053668345856790122_r8, & + 0.0058482092765432103_r8, 0.0061797050281481476_r8, & + 0.0063362680577777773_r8, 0.0064768928138271599_r8, & + 0.0065907349837037036_r8, 0.0066929655111111095_r8, & + 0.0068532450059259264_r8, 0.0070719340207407392_r8, & + 0.0072487249753086401_r8, 0.0074620796607407416_r8, & + 0.0076865837417283952_r8, 0.0078087278661728389_r8, & + 0.0079716514133333326_r8, 0.0081145781590123457_r8, & + 0.008230065927901235_r8, 0.0085295557032098752_r8, & + 0.0086340512404938282_r8, 0.0087626182858024683_r8, & + 0.0088800093563580224_r8, 0.0089956173094444449_r8, & + 0.0090880874932716058_r8, 0.0092357222237654333_r8, & + 0.0092558796560493813_r8, 0.0091155857367195749_r8, & + 0.0088843894760405624_r8, 0.0085664356109629632_r8, & + 0.0087282294266666661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,41) / & + 0.0027121413160493828_r8, 0.0027088501180246912_r8, & + 0.0027792040982716052_r8, 0.0028756842740740741_r8, & + 0.0031910753432098761_r8, 0.0031445917935802475_r8, & + 0.0037823353703703702_r8, 0.0046618248380246906_r8, & + 0.0051675137165432096_r8, 0.0054400544967901218_r8, & + 0.0056661209723456781_r8, 0.0059734781901234569_r8, & + 0.0062808908775308639_r8, 0.0064541595106172847_r8, & + 0.006558830701728394_r8, 0.0066705835155555547_r8, & + 0.0068525054108641969_r8, 0.0070082271511111103_r8, & + 0.0071647532009876547_r8, 0.0073472575274074079_r8, & + 0.0074927636108641981_r8, 0.0077094094943209865_r8, & + 0.0078621081397530854_r8, 0.0080221565111111125_r8, & + 0.0081960168202469125_r8, 0.0083429466241975309_r8, & + 0.0084835528903703713_r8, 0.0088093375813580246_r8, & + 0.0090622767812345677_r8, 0.0091764601883862432_r8, & + 0.0091635946021111116_r8, 0.0091497455566369058_r8, & + 0.0093059594866666644_r8, 0.0093420910166666666_r8, & + 0.0093662099049999989_r8, 0.0094964144599999998_r8, 0.00955819376_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,41) / & + 0.00085747726962962965_r8, 0.00083936643555555541_r8, & + 0.00088666353975308629_r8, 0.0010208075940740741_r8, & + 0.0010695284187654322_r8, 0.00094925177185185166_r8, & + 0.0012808214829629629_r8, 0.001739999077037037_r8, & + 0.0022049547575308643_r8, 0.0025435691116049374_r8, & + 0.0028284796192592585_r8, 0.0032860855738271605_r8, & + 0.0039654683525925929_r8, 0.0043943595288888889_r8, & + 0.0047204562365432108_r8, 0.0049804516355555556_r8, & + 0.0054718848192592583_r8, 0.0058178581441975311_r8, & + 0.0060979797738271611_r8, 0.0062927891130864187_r8, & + 0.0064562026419753083_r8, 0.0066237024335802468_r8, & + 0.0067787677832098761_r8, 0.0069375588429629615_r8, & + 0.0070846458108641975_r8, 0.0072603828424691354_r8, & + 0.007418868819259258_r8, 0.0078145336874074073_r8, & + 0.0081757611604938284_r8, 0.0085135989397530868_r8, & + 0.0087827144703703716_r8, 0.0090075072905908288_r8, & + 0.0091385717239029982_r8, 0.0091991061599470889_r8, & + 0.0092965786147848322_r8, 0.0093675310355694433_r8, & + 0.0094591024669444437_r8, 0.0095663769171111107_r8, & + 0.0096714558100000018_r8, 0.0097199432000000009_r8, & + 0.0097671201200000002_r8, 0.0097671201200000002_r8, & + 0.0097671201200000002_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,41) / & + 0.00015109002617283952_r8, 0.00013800843851851855_r8, & + 0.0001555830661728395_r8, 0.00034513203555555546_r8, & + 0.00034598256987654325_r8, 0.00035661424888888893_r8, & + 0.00041102071061728388_r8, 0.00046653656493827154_r8, & + 0.00067670174666666669_r8, 0.00091804086024691359_r8, & + 0.0010597380291358025_r8, 0.0012244366044444446_r8, & + 0.0015154025466666665_r8, 0.0018027629629629627_r8, & + 0.0020772405577777777_r8, 0.0023066363667283954_r8, & + 0.0028393493554320988_r8, 0.0033558790796913577_r8, & + 0.0038970835441975308_r8, 0.0043236461516666666_r8, & + 0.0047401387101234571_r8, 0.0051183801713932985_r8, & + 0.0054318667832451498_r8, 0.0057472185613932974_r8, & + 0.005965212389867725_r8, 0.0061886381148412691_r8, & + 0.0064014735979365054_r8, 0.0068016397604938276_r8, & + 0.0071925339103174595_r8, 0.0075891874915961204_r8, & + 0.0079486617281746014_r8, 0.0082705419185361544_r8, & + 0.0085291127716137574_r8, 0.0087615607308994693_r8, & + 0.0089451059713333333_r8, 0.0090876176192839497_r8, & + 0.009206185240305113_r8, 0.0093079072630899463_r8, & + 0.0095038582861904745_r8, 0.0093592519333333332_r8, & + 0.0096854965599999995_r8, 0.0097476502799999989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,41) / & + 0.00013425499358024691_r8, 0.00012291145432098764_r8, & + 0.00012028589185185186_r8, 0.00017921312839506171_r8, & + 0.00018673850814814814_r8, 0.00019196189827160493_r8, & + 0.00022302489086419754_r8, 0.00025602932049382718_r8, & + 0.00030968694222222211_r8, 0.00040876494567901225_r8, & + 0.00045405589827160497_r8, 0.00050667808691358027_r8, & + 0.00058544496098765432_r8, 0.00064980822123456797_r8, & + 0.00073365056641975309_r8, 0.00081269478864197527_r8, & + 0.00098257977432098745_r8, 0.0012698107614814813_r8, & + 0.0016408563590123452_r8, 0.0020865733229629628_r8, & + 0.0025919663634567901_r8, 0.0031431865629629628_r8, & + 0.003635266892345679_r8, 0.0041897598000000006_r8, & + 0.0047113025920370371_r8, 0.0051799608703086419_r8, & + 0.0055772736487037025_r8, 0.0061714180966049373_r8, & + 0.0065595494956790104_r8, 0.0069491323500617281_r8, & + 0.0074511232532716055_r8, 0.0078200471374691369_r8, & + 0.0081113574536419743_r8, 0.0084130186338271587_r8, & + 0.0086290939725220464_r8, 0.0087922697744268075_r8, & + 0.0089279914114285715_r8, 0.0090179377931428554_r8, & + 0.009188170074833333_r8, 0.0092968485999999993_r8, & + 0.0096854965599999995_r8, 0.0097476502799999989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,11,41) / & + 0.00018401125135802468_r8, 0.00018734867407407403_r8, & + 0.00017413765728395059_r8, 0.00015137661925925921_r8, & + 0.00015247676691358027_r8, 0.00015793128049382716_r8, & + 0.00019579854765432097_r8, 0.00022936691851851851_r8, & + 0.00026237134814814813_r8, 0.00029883338469135795_r8, & + 0.00032320304197530863_r8, 0.00036846625975308646_r8, & + 0.00042853986864197521_r8, 0.00046334706123456784_r8, & + 0.00050072434666666664_r8, 0.00054258542716049377_r8, & + 0.00064037838419753093_r8, 0.00084940643851851862_r8, & + 0.0011933736118518519_r8, 0.001614027548148148_r8, & + 0.0021217410681481485_r8, 0.002657374301728395_r8, & + 0.0032352661481481479_r8, 0.0038432964933333333_r8, & + 0.004449875383209876_r8, 0.0049923776059259259_r8, & + 0.0054397586587654314_r8, 0.0061900963387654306_r8, & + 0.0065392314325925932_r8, 0.0068530138824691349_r8, & + 0.0073355349456790103_r8, 0.0078118341654320978_r8, & + 0.008141619603456789_r8, 0.008404989404938272_r8, 0.008649647451358022_r8, & + 0.0087976866479012334_r8, 0.0089281789516049374_r8, & + 0.0090432044735802471_r8, 0.0092811665432804211_r8, & + 0.0091848658183333338_r8, 0.0091818912594444427_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,41) / & + 0.00017892653530864196_r8, 0.00020490481185185183_r8, & + 0.00019901578617283953_r8, 0.00018545346172839505_r8, & + 0.00017984178419753086_r8, 0.00018317920691358027_r8, & + 0.00019599269135802465_r8, 0.00022544706469135802_r8, & + 0.00024216191308641975_r8, 0.00025528972543209874_r8, & + 0.00027077499703703702_r8, 0.00030346509876543208_r8, & + 0.00036425056790123455_r8, 0.00041540281135802465_r8, & + 0.00045207748148148142_r8, 0.00049294010864197528_r8, & + 0.00063653248987654328_r8, 0.00090332291851851854_r8, & + 0.0012845471930864195_r8, 0.0016850009392592594_r8, & + 0.0021906990627160493_r8, 0.002699623669629629_r8, & + 0.0032704893629629632_r8, 0.0038993855338271609_r8, & + 0.0045877913723456794_r8, 0.0051858834088888885_r8, & + 0.0056625339362962957_r8, 0.006335778076049384_r8, & + 0.0065908644128395057_r8, 0.0068245487175308634_r8, & + 0.0071671568849382703_r8, 0.0076776716212345695_r8, & + 0.0080965875091358035_r8, 0.0084312542745679005_r8, & + 0.0086982388469135797_r8, 0.008855033_r8, 0.0089961292479012345_r8, & + 0.0090980824271604949_r8, 0.0092731260883950617_r8, & + 0.0092582070692592573_r8, 0.0092347572833333339_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,41) / & + 0.00016227640148148149_r8, 0.00018698812148148144_r8, & + 0.0001714011555555555_r8, 0.00015262468592592592_r8, & + 0.00015616549728395061_r8, 0.00016607607111111111_r8, & + 0.00017798355160493823_r8, 0.00020369372493827159_r8, & + 0.00021829148246913578_r8, 0.00023195550123456787_r8, & + 0.00024656250370370372_r8, 0.0002727349239506173_r8, & + 0.00032533862271604935_r8, 0.00039215179160493832_r8, & + 0.00044123316888888884_r8, 0.00051801238123456777_r8, & + 0.00071098197777777776_r8, 0.0010264747412345677_r8, & + 0.0014093631046913581_r8, 0.0017920480795061728_r8, & + 0.0022925967723456792_r8, 0.002865736720493828_r8, & + 0.0034370461708641974_r8, 0.0040565679743209881_r8, & + 0.0047545145891358023_r8, 0.0053699408849382721_r8, & + 0.0058991581313580241_r8, 0.0065800293451851845_r8, & + 0.0067505892113580226_r8, 0.0068432050029629621_r8, & + 0.0071007597382716061_r8, 0.0075785196582716053_r8, & + 0.0080034852026543198_r8, 0.0083552925789065254_r8, & + 0.0086307669761728385_r8, 0.0087870189796649019_r8, & + 0.0089294369235626107_r8, 0.0090206382726296282_r8, & + 0.0091378171718518517_r8, 0.0091485527986388902_r8, & + 0.0091293580533333332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,41) / & + 0.00014374030024691357_r8, 0.00015935500098765426_r8, & + 0.00014929650814814817_r8, 0.0001183352098765432_r8, & + 0.00012012872790123457_r8, 0.00012158942814814814_r8, & + 0.00012077587358024691_r8, 0.00013800843851851855_r8, & + 0.00014999912345679009_r8, 0.00016817467209876541_r8, & + 0.0001842053950617284_r8, 0.00020868599160493826_r8, & + 0.00025198003753086422_r8, 0.00031061143604938261_r8, & + 0.00035665122864197524_r8, 0.00042627485876543212_r8, & + 0.00062902559999999984_r8, 0.00091566491111111099_r8, & + 0.001317320499259259_r8, 0.0017514905353086419_r8, & + 0.0022703626958024692_r8, 0.0029199397935802465_r8, & + 0.0035930188451499113_r8, 0.0042352559902222222_r8, & + 0.0049478899063985886_r8, 0.0055657255651851856_r8, & + 0.0060971038159259253_r8, 0.006827156945740741_r8, 0.007044412697964725_r8, & + 0.007062237929481483_r8, 0.0071631364924074062_r8, & + 0.0075779476277160482_r8, 0.0079870973939506172_r8, & + 0.0083821761990476168_r8, 0.0086461672603809527_r8, & + 0.0087768754994285714_r8, 0.0089095139627238078_r8, & + 0.0089854509743999989_r8, 0.009086536886_r8, 0.0091061752150000015_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,41) / & + 0.00013742600740740738_r8, 0.00014629190320987649_r8, & + 0.00014594984049382716_r8, 0.00013118567407407409_r8, & + 0.00013430121827160489_r8, 0.00013814711259259259_r8, & + 0.00012385443802469134_r8, 0.00012012872790123455_r8, & + 0.00011914876444444444_r8, 0.00011892688592592591_r8, & + 0.00012543532246913581_r8, 0.00013816560246913579_r8, & + 0.00017328712296296297_r8, 0.00022592780148148145_r8, & + 0.00027954035413580244_r8, 0.00034275377518518514_r8, & + 0.0005273116335185186_r8, 0.00076679102871252201_r8, & + 0.001150455966984127_r8, 0.0015858291657142858_r8, & + 0.0021878146419753086_r8, 0.0028971932833156962_r8, & + 0.0036473077640917111_r8, 0.0044031392486596115_r8, & + 0.0052218969008377423_r8, 0.0059715545826102296_r8, & + 0.0065544429879894192_r8, 0.0073262606877460322_r8, & + 0.007434899542222222_r8, 0.0073565876379746023_r8, & + 0.0075219789365079366_r8, 0.0078937670610666651_r8, & + 0.0081977074883333324_r8, 0.0085838281133333322_r8, & + 0.0088036750566666665_r8, 0.0089044564399999998_r8, & + 0.0090062986800000001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,41) / & + 0.00019124053743306007_r8, 0.00019201585000563619_r8, & + 0.00018662742762623209_r8, 0.00022316403260888224_r8, & + 0.0001944387017949366_r8, 0.00018074474348181067_r8, & + 0.00020214337048491191_r8, 0.0001888176856437596_r8, & + 0.00016322267934159012_r8, 0.00013742415348911931_r8, & + 0.00012636625792275224_r8, 0.00011921399944073743_r8, & + 0.0001454486386152823_r8, 0.00019524914571845758_r8, & + 0.00025524120581248296_r8, 0.00032594417448447921_r8, & + 0.00053293047957451848_r8, 0.00081993319561462455_r8, & + 0.0012728417262921291_r8, 0.0018292946355239125_r8, & + 0.0025968270848829166_r8, 0.0034208971268669293_r8, & + 0.0042534992414269635_r8, 0.005055958656876313_r8, & + 0.0058336686412979568_r8, 0.0065242637782094107_r8, & + 0.0070557587180987676_r8, 0.0078505039465118255_r8, & + 0.0078695714439719362_r8, 0.0077221531999127945_r8, & + 0.007919014857333536_r8, 0.008355417883257275_r8, 0.0087361228520070784_r8, & + 0.0091359417331348426_r8, 0.0093291181291475529_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,41) / & + 0.00027505071491716214_r8, 0.0002653589054202469_r8, & + 0.00022599353274606088_r8, 0.00025293131765978224_r8, & + 0.00023452354164847143_r8, 0.00022016425402145186_r8, & + 0.00019486391712214321_r8, 0.00020968726602502188_r8, & + 0.00020779021597051319_r8, 0.00018003423204673779_r8, & + 0.00014923105603139818_r8, 0.00012235478630123653_r8, & + 0.00013035635841491622_r8, 0.0001747627899513837_r8, & + 0.00024918508280836701_r8, 0.00033414424954383311_r8, & + 0.00057282138762713953_r8, 0.00093234168228030078_r8, & + 0.0014694222413654558_r8, 0.0022459274258585724_r8, & + 0.0031654541086867734_r8, 0.0041083071029152487_r8, & + 0.0049756724221347451_r8, 0.0057444307486497559_r8, & + 0.0064531342164423399_r8, 0.0070675366095528198_r8, & + 0.0075471360269892115_r8, 0.0083289954130425555_r8, & + 0.0085356144689865739_r8, 0.0084836449483889631_r8, & + 0.0086580254390347736_r8, 0.0090960774870122649_r8, & + 0.009394572040278399_r8, 0.0093087599885141332_r8, 0.0085902380239808_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,41) / & + 0.00020803529956760496_r8, 0.0001991126967929679_r8, & + 0.00016570888221127195_r8, 0.00014340369831779542_r8, & + 0.00014112806415819047_r8, 0.00014241179399307726_r8, & + 0.00013928430907289593_r8, 0.00014240328871590265_r8, & + 0.00015703690160404657_r8, 0.00016698618583673792_r8, & + 0.00014554683915963599_r8, 0.00015765230565916897_r8, & + 0.00018752737524420175_r8, 0.00026275485079813184_r8, & + 0.00038833205517643739_r8, 0.00050509552432794066_r8, & + 0.00081257906076883258_r8, 0.0013142951549660643_r8, & + 0.0020404129700887508_r8, 0.0030371235324352041_r8, & + 0.003976853273859644_r8, 0.0048924771697096648_r8, & + 0.0057151758092608409_r8, 0.0064503075171331702_r8, & + 0.0070911843103750255_r8, 0.0076264491868782433_r8, & + 0.0080689608026876993_r8, 0.0088321860080862215_r8, & + 0.0091142376317380914_r8, 0.0092515836826459769_r8, & + 0.0095117573897283911_r8, 0.0095966177154028862_r8, & + 0.0097013913142219681_r8, 0.0096953330295912882_r8, & + 0.0095883381493838821_r8, 0.0087170891952486236_r8, & + 0.0087643615257850666_r8, 0.0087627897505632001_r8, & + 0.0087634327495176006_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,19,41) / & + 0.0001269095129299753_r8, 0.00012400840889689551_r8, & + 0.00012468128853954896_r8, 0.00013400232621237201_r8, & + 0.00013597684188507657_r8, 0.00014001411974099754_r8, & + 0.00015871134915571361_r8, 0.00016074101889748809_r8, & + 0.0001569243573178469_r8, 0.00016385170839303375_r8, & + 0.00017492802431400825_r8, 0.00022996351213546671_r8, & + 0.00037156469021395224_r8, 0.00055818951372597198_r8, & + 0.00078897620034230811_r8, 0.0010035544849107093_r8, & + 0.0014894383929376926_r8, 0.0022305022534789267_r8, & + 0.0031518964793995725_r8, 0.0041006526389858241_r8, & + 0.0050180992124127877_r8, 0.0058767763675422547_r8, & + 0.0066113913385574844_r8, 0.0072852361774197079_r8, & + 0.0079139553358206147_r8, 0.0084473655051651823_r8, & + 0.0088831295317765673_r8, 0.0096517001054147178_r8, & + 0.0099648400902628605_r8, 0.010179150877596273_r8, 0.010451916705033482_r8, & + 0.010581626665820486_r8, 0.010783243468387101_r8, 0.011179696314081581_r8, & + 0.01121401081211109_r8, 0.010528141598276348_r8, 0.0099482133446010326_r8, & + 0.0094308866533379561_r8, 0.0091877192570671423_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,41) / & + 0.00015973672158333687_r8, 0.00016174340149247384_r8, & + 0.00015207734243335094_r8, 0.0001129760517995479_r8, & + 0.00011673736114969308_r8, 0.00012536225989806936_r8, & + 0.00015202890644465609_r8, 0.00017323400603805287_r8, & + 0.0001757206823058048_r8, 0.00020304440328694292_r8, & + 0.00024552674539356255_r8, 0.00037192134588016456_r8, & + 0.00073121604117896782_r8, 0.0010958111915702127_r8, & + 0.0015074406563673247_r8, 0.0018903838827656768_r8, & + 0.0025705463061276761_r8, 0.0034443136826106391_r8, & + 0.0042704707490573953_r8, 0.0051746307899347734_r8, & + 0.0060531730849334242_r8, 0.0070289248901254349_r8, & + 0.0077640241059446259_r8, 0.0084548677804704084_r8, & + 0.0091541974708921978_r8, 0.0096738784609848374_r8, & + 0.010114861527179397_r8, 0.010977432445476252_r8, 0.011509048374916127_r8, & + 0.011945549521226203_r8, 0.012258166599669324_r8, 0.012306281664202539_r8, & + 0.012562184324049777_r8, 0.013366021641801533_r8, 0.013595828403974716_r8, & + 0.013627591783845828_r8, 0.013740528245609772_r8, 0.01374947068844457_r8, & + 0.013816256791522_r8, 0.013806436895623641_r8, 0.013796733207212617_r8, & + 0.013796733207212617_r8, 0.013777790660339897_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,41) / & + 0.00011840047983146493_r8, 0.00013025605094816486_r8, & + 0.00014701836657638514_r8, 0.00010461750593946666_r8, & + 0.00010711255095866668_r8, 0.00011910039270862225_r8, & + 0.00015192797129158519_r8, 0.00019927718883635558_r8, & + 0.00021885598893922964_r8, 0.00026514399259291852_r8, & + 0.00035856360532494821_r8, 0.00058297606250287399_r8, & + 0.001181977647136237_r8, 0.0017078672584560888_r8, & + 0.0021493990953245167_r8, 0.0025052936966116026_r8, & + 0.0031415316669765499_r8, 0.0040429361998927747_r8, & + 0.0048902354324464083_r8, 0.0058292068093524357_r8, & + 0.006785543639973338_r8, 0.0077293394519403853_r8, & + 0.0085685718406983708_r8, 0.0093321778350273187_r8, & + 0.010134160423833185_r8, 0.010681289430588284_r8, 0.011312467471798404_r8, & + 0.012306524664710768_r8, 0.013165636630205368_r8, 0.013701088110845512_r8, & + 0.013998096839080888_r8, 0.014123001117873599_r8, 0.014311940414085598_r8, & + 0.014334758003212801_r8, 0.014303368727164803_r8, 0.014290330104806402_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,22,41) / & + 0.00013274483587196048_r8, 0.00015044662136564938_r8, & + 0.00017294805240200165_r8, 0.0001392763122805333_r8, & + 0.00013727233656426666_r8, 0.0001492838206413959_r8, & + 0.00016498163041881809_r8, 0.00020955153477504525_r8, & + 0.00032616560315310619_r8, 0.00045507567067912426_r8, & + 0.00060612843284784193_r8, 0.00084123684311552258_r8, & + 0.0015863818136140114_r8, 0.0021282840617775538_r8, & + 0.0024677352817162796_r8, 0.0027229329300285108_r8, & + 0.0033691532474221567_r8, 0.0043930116553478312_r8, & + 0.0053995270141734709_r8, 0.006400896361283266_r8, & + 0.0074302224066570268_r8, 0.008250058768358097_r8, & + 0.0090765131980110342_r8, 0.009883014462044603_r8, 0.01068968890916476_r8, & + 0.011283113125589108_r8, 0.011914142812244635_r8, 0.012967875302607247_r8, & + 0.013893861233037839_r8, 0.014385753709279756_r8, 0.014769722499968517_r8, & + 0.014905139091401242_r8, 0.014943325445096047_r8, 0.01487768271554009_r8, & + 0.014759837810225185_r8, 0.0144646967200128_r8, 0.014002446321460622_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,41) / & + 0.00014273946936198847_r8, 0.00015623544325425509_r8, & + 0.00017710101352643947_r8, 0.00019471114470210365_r8, & + 0.00020095287241866003_r8, 0.00021321844413271437_r8, & + 0.00017799818178138596_r8, 0.00020046583822311769_r8, & + 0.00040154687753534156_r8, 0.00067023595320246242_r8, & + 0.00096955691643132828_r8, 0.0013317181075745183_r8, & + 0.0023565918552679761_r8, 0.0029919664134210894_r8, & + 0.0032698450553567339_r8, 0.0034832941998978626_r8, & + 0.0041242312012316432_r8, 0.0051726363905834133_r8, & + 0.006205507752435252_r8, 0.0072135788203824972_r8, 0.008181097883206161_r8, & + 0.0091183823758381292_r8, 0.010013499960487608_r8, 0.010819733804450605_r8, & + 0.011558692845981969_r8, 0.012178969344073271_r8, 0.012753349277579375_r8, & + 0.013778556259196098_r8, 0.014599311412199873_r8, 0.015104580552524047_r8, & + 0.015407670080162594_r8, 0.015516659178346869_r8, 0.015499715881208862_r8, & + 0.015435247933746272_r8, 0.015303502734948916_r8, 0.015076721555704557_r8, & + 0.014746600806283374_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,41) / & + 0.00014874631968375305_r8, 0.00015227431977611852_r8, & + 0.00016315010953453827_r8, 0.00022191916370473084_r8, & + 0.00022710505857734319_r8, 0.00023056674287849871_r8, & + 0.00017884042573479504_r8, 0.00020511474221214813_r8, & + 0.00043468674822249876_r8, 0.0007691305464521481_r8, & + 0.0013074423500191996_r8, 0.0020269554214881187_r8, & + 0.0031882642939972334_r8, 0.0038250815738274375_r8, & + 0.0040525049482025869_r8, 0.0043055792706177178_r8, & + 0.0049640818141735493_r8, 0.0059131403653363349_r8, & + 0.0069800288143208288_r8, 0.0079648448401039781_r8, & + 0.0088421364420194371_r8, 0.0098193128886552104_r8, & + 0.010710162754083525_r8, 0.011543342749580954_r8, 0.012300836532570544_r8, & + 0.012959317523494239_r8, 0.013540779354506776_r8, 0.014608364119298974_r8, & + 0.015369477086593846_r8, 0.015864511204817331_r8, 0.016100796026792902_r8, & + 0.016181656528909887_r8, 0.016065971946933814_r8, 0.015967362023299507_r8, & + 0.015826009914335654_r8, 0.015610092803419644_r8, 0.015347160638641168_r8, & + 0.015128521311864407_r8, 0.014867237757655404_r8, 0.014718842911665064_r8, & + 0.014542476064942399_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,41) / & + 0.00016458407366650205_r8, 0.00016395343081863372_r8, & + 0.00016461149292075722_r8, 0.00018879527517379424_r8, & + 0.0001894259180216625_r8, 0.0001880412456817778_r8, & + 0.00019648637599236214_r8, 0.00020160006691094648_r8, & + 0.00034581163466587645_r8, 0.00058027367780161319_r8, & + 0.00099826649929415641_r8, 0.0017034622994822055_r8, & + 0.0028786515368576788_r8, 0.0038280157961877856_r8, & + 0.0043354639346877364_r8, 0.0047920767757986512_r8, & + 0.0055918552935398189_r8, 0.0065589186814916213_r8, & + 0.0076337260290390103_r8, 0.0086158425875768885_r8, & + 0.009656101674762798_r8, 0.010612087683995521_r8, 0.01153661009897047_r8, & + 0.01242694070388925_r8, 0.013205524138091193_r8, 0.013898093371694748_r8, & + 0.014474117065086814_r8, 0.015476400485129348_r8, 0.016168256818122267_r8, & + 0.016543236174131594_r8, 0.016798935653761792_r8, 0.01686789067154762_r8, & + 0.016857688016002233_r8, 0.016720108969999807_r8, 0.016532064541726017_r8, & + 0.016253666081423652_r8, 0.015954796944486892_r8, 0.015701456353092863_r8, & + 0.015431209147451008_r8, 0.015278048528783022_r8, 0.015097122946802604_r8, & + 0.015110124098346514_r8, 0.01509142044576_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,41) / & + 0.00018773814532664361_r8, 0.00018813451601501236_r8, & + 0.00018424158961139093_r8, 0.00018419912132335147_r8, & + 0.00018569966750074738_r8, 0.00018671890641369548_r8, & + 0.00018578460407682633_r8, 0.00017239293724836873_r8, & + 0.00022580388750605433_r8, 0.00029051140238224858_r8, & + 0.00040217468773412349_r8, 0.00066515248337075891_r8, & + 0.0013621703388671605_r8, 0.0023324150035137318_r8, & + 0.0033079540480692284_r8, 0.0043361113015056721_r8, & + 0.0061303115345987301_r8, 0.0074682891053793844_r8, & + 0.0085927078117053746_r8, 0.0096332516491533446_r8, & + 0.010770580715043348_r8, 0.011741745525930773_r8, 0.012658112089151224_r8, & + 0.013498375480204879_r8, 0.014225305166577105_r8, 0.014853665956409639_r8, & + 0.015349653092423032_r8, 0.016264519109466087_r8, 0.016889581528927555_r8, & + 0.017198255202494694_r8, 0.017485737200330132_r8, 0.017553728929481378_r8, & + 0.017659982816644222_r8, 0.017560718501887881_r8, 0.017334838525365756_r8, & + 0.017040132621177317_r8, 0.016710237948536717_r8, 0.016383341840376618_r8, & + 0.016086267317980272_r8, 0.015831593842167358_r8, 0.015615596084599571_r8, & + 0.015563776026746336_r8, 0.015570045740003074_r8, 0.015621874818756269_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,41) / & + 0.0002077506908147358_r8, 0.00020588156250769379_r8, & + 0.00019809839541665183_r8, 0.00019542612604017773_r8, & + 0.00019396586955030119_r8, 0.00018951208725617776_r8, & + 0.00018808103589609877_r8, 0.00019987990833430122_r8, & + 0.00022187137107184196_r8, 0.0002400953720655012_r8, & + 0.00028467700270143207_r8, 0.0003861794313127506_r8, & + 0.0007185630135384492_r8, 0.0012609898892679901_r8, & + 0.002027084251551921_r8, 0.0030590913206423698_r8, 0.005737391556419634_r8, & + 0.0081211142504941033_r8, 0.0098087472784093212_r8, & + 0.011107776849238596_r8, 0.012265365976458428_r8, 0.013129779408205748_r8, & + 0.013931825285270438_r8, 0.01466821803055028_r8, 0.015342725105789155_r8, & + 0.01589242405883828_r8, 0.016174691638331413_r8, 0.017096463945001087_r8, & + 0.01766952700188824_r8, 0.017996463827406689_r8, 0.018206025236268877_r8, & + 0.018286470766296175_r8, 0.018278819022289224_r8, 0.018188644533398121_r8, & + 0.017994355582099435_r8, 0.017763103888400751_r8, 0.017438432285762209_r8, & + 0.017103026233362559_r8, 0.01676592576191447_r8, 0.016473687498956439_r8, & + 0.016164566845654819_r8, 0.016045036299027562_r8, 0.016040430962970594_r8, & + 0.016065486356735999_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,41) / & + 0.00020546445825789632_r8, 0.00021195059181895639_r8, & + 0.00020820338240665022_r8, 0.00018751096095315226_r8, & + 0.00019774430392651855_r8, 0.00019672096962918193_r8, & + 0.00021784981306242635_r8, 0.00022942252004260085_r8, & + 0.00024117581542818772_r8, 0.00027986688128778275_r8, & + 0.00034520978597948318_r8, 0.00043098927855034734_r8, & + 0.00070414429077030472_r8, 0.0010172544876877433_r8, & + 0.0015086656368823051_r8, 0.0021376099058321514_r8, & + 0.004401120028304277_r8, 0.0071972004073711932_r8, & + 0.0097304193133266569_r8, 0.011621179917993916_r8, 0.013144638755086252_r8, & + 0.014241487582459482_r8, 0.015026415086584243_r8, 0.015826873193574467_r8, & + 0.016504320498411315_r8, 0.017022669418079884_r8, 0.017206734150296419_r8, & + 0.018017305207989727_r8, 0.018498061641264961_r8, 0.018759495337296126_r8, & + 0.018852885878703433_r8, 0.01885779481977734_r8, 0.018778014517031514_r8, & + 0.018681809806306533_r8, 0.018552273366878418_r8, 0.018372521526504829_r8, & + 0.018103951901132419_r8, 0.01783531401764249_r8, 0.017543922532536088_r8, & + 0.017274981733494697_r8, 0.016986169599032392_r8, 0.01681977157253391_r8, & + 0.016738667062308157_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,41) / & + 0.00018887468204412838_r8, 0.00022288731040468802_r8, & + 0.00023822785804794724_r8, 0.00018552765346741728_r8, & + 0.00019515036062546173_r8, 0.00020461811275680655_r8, & + 0.00023308335116152101_r8, 0.00024168335514334813_r8, & + 0.00027493670387307981_r8, 0.00033704267857427491_r8, & + 0.00039096702786573157_r8, 0.00045057822663706332_r8, & + 0.00063821326846759505_r8, 0.00085696327965940401_r8, & + 0.0012104156955611651_r8, 0.0017122840360357923_r8, & + 0.0032074140976547818_r8, 0.0054461113503944166_r8, & + 0.0081925032526125839_r8, 0.010811584104894367_r8, 0.013000571785068773_r8, & + 0.014637067317545795_r8, 0.015687244019996917_r8, 0.016621638326498104_r8, & + 0.017329581356980518_r8, 0.017905905587784293_r8, 0.018376627967892304_r8, & + 0.019197905104902793_r8, 0.019508744888462166_r8, 0.019610720791533167_r8, & + 0.019592606548911984_r8, 0.01953642179316855_r8, 0.019437355170723834_r8, & + 0.019315320339446568_r8, 0.019177253473719402_r8, 0.019007440196897159_r8, & + 0.018765080850449832_r8, 0.018569204138136723_r8, 0.018309048206872947_r8, & + 0.018045274075735744_r8, 0.017775292058841378_r8, 0.017616277542488751_r8, & + 0.017509529799370531_r8, 0.017465576418659628_r8, 0.017495336749041062_r8 & + / +data delta_sa_ref(:,30,41) / & + 0.0002053485356071111_r8, 0.00024252521327466664_r8, & + 0.00026089036450666666_r8, 0.00023117452952711108_r8, & + 0.00025260053929777778_r8, 0.00026886135028444437_r8, & + 0.00030905106057599997_r8, 0.00031332350895288879_r8, & + 0.00036465665736177779_r8, 0.000456689659152_r8, 0.00051911841976355546_r8, & + 0.00060670361148977764_r8, 0.00079084932492800013_r8, & + 0.0010208600905315555_r8, 0.0013568849669795557_r8, & + 0.0018680642849084443_r8, 0.0033120561844675552_r8, & + 0.0053448010355448888_r8, 0.0081686343411235558_r8, & + 0.010970324248211556_r8, 0.013359866364673779_r8, 0.015176198951884443_r8, & + 0.016477781219537777_r8, 0.017630082865544894_r8, 0.01843929734170489_r8, & + 0.019079447209518225_r8, 0.019692129060341332_r8, 0.020699502242936891_r8, & + 0.020953330314044446_r8, 0.020899892825390221_r8, 0.020735020955562667_r8, & + 0.020566912865509334_r8, 0.020372315196970001_r8, 0.020209316508800226_r8, & + 0.02001118968630778_r8, 0.019856293505181113_r8, 0.019627664566897747_r8, & + 0.019426100826144762_r8, 0.019178619937140828_r8, 0.018910081981136508_r8, & + 0.01853555724338184_r8, 0.018429895563979996_r8, 0.018289030709117953_r8, & + 0.018177485075757407_r8, 0.018104021737919997_r8 & + / +data delta_sa_ref(:,31,41) / & + 0.00037098512626636368_r8, 0.00038201454668325917_r8, & + 0.00035793992767520655_r8, 0.00038035931419870279_r8, & + 0.00038901241075163132_r8, 0.00044720776275816281_r8, & + 0.00062674312779098594_r8, 0.00080724541080983694_r8, & + 0.0010122975776095341_r8, 0.0012314929685099457_r8, & + 0.0014239424246103966_r8, 0.0016151299707968787_r8, & + 0.001895962286196464_r8, 0.0023042966682282136_r8, & + 0.0028676820852737055_r8, 0.0036497876284468139_r8, & + 0.0057393957268959336_r8, 0.0083466327166788461_r8, & + 0.011103168398880656_r8, 0.013673580562992301_r8, 0.015542419980258656_r8, & + 0.016987061005146232_r8, 0.018099426400089436_r8, 0.019034386927257178_r8, & + 0.019760067069991397_r8, 0.020409950675685289_r8, 0.020986987663618263_r8, & + 0.021818504354721446_r8, 0.022085291776662963_r8, 0.022019098865721145_r8, & + 0.021789900380486473_r8, 0.021550750014793896_r8, 0.02129776663476611_r8, & + 0.021033183399533781_r8, 0.020778346311301661_r8, 0.020599864020627471_r8, & + 0.020431974105781698_r8, 0.020300152455960258_r8, 0.020179630928473712_r8, & + 0.020088225718841436_r8, 0.019523904316991247_r8, 0.019128668600837596_r8, & + 0.018946512929033738_r8, 0.018788920866329595_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,41) / & + 0.00061449102533566433_r8, 0.00068614039943030785_r8, & + 0.00072188091193099593_r8, 0.00096933724412487897_r8, & + 0.0011919284152431535_r8, 0.0015713199318307689_r8, & + 0.0020926297340428776_r8, 0.0025761956695444146_r8, & + 0.0029585501301735376_r8, 0.0032713090756458802_r8, & + 0.0035712061503925864_r8, 0.0038713052440512139_r8, & + 0.0044290457900464071_r8, 0.0052170205559942196_r8, & + 0.0063848413810814689_r8, 0.0076919710808475653_r8, & + 0.010274580850845472_r8, 0.012706198319091765_r8, 0.014805915549961206_r8, & + 0.016753495705244814_r8, 0.018028319214012878_r8, 0.019173530755874305_r8, & + 0.019995781397211379_r8, 0.02074515371607295_r8, 0.02127021770306493_r8, & + 0.021829389216352895_r8, 0.022316423143175744_r8, 0.022817228025827873_r8, & + 0.023015374908603711_r8, 0.022974381904393073_r8, 0.022660831718182374_r8, & + 0.022374924453086194_r8, 0.02210150869071047_r8, 0.021794616711138498_r8, & + 0.021581769946286602_r8, 0.021346517720861082_r8, 0.021150828133600197_r8, & + 0.021052727509472662_r8, 0.021042849626425188_r8, 0.021095666148204052_r8, & + 0.021032276040749791_r8, 0.02086343747249363_r8, 0.020612339959848736_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,41) / & + 0.0011954393378390122_r8, 0.0014403683112425875_r8, & + 0.0016662704872343701_r8, 0.0024220024378384594_r8, & + 0.0028868369489941327_r8, 0.0036871721367642859_r8, & + 0.0041460791351931254_r8, 0.0049571287774549319_r8, & + 0.0056546397648616293_r8, 0.0061925745058555252_r8, & + 0.0067134698079320482_r8, 0.0072251022912867531_r8, & + 0.0079729884961824392_r8, 0.0091421428577604727_r8, & + 0.010575564054961696_r8, 0.011913626607187198_r8, 0.014246128787263916_r8, & + 0.016129919982057088_r8, 0.017614528621523278_r8, 0.018963080970323672_r8, & + 0.01994481878518882_r8, 0.02093744386832774_r8, 0.02166225943330995_r8, & + 0.02227804678315046_r8, 0.022706573118681992_r8, 0.023096233634613959_r8, & + 0.023413623426861905_r8, 0.02377354269089043_r8, 0.023910221111171873_r8, & + 0.023834131202902908_r8, 0.023490819343336449_r8, 0.023091740476278756_r8, & + 0.022766781440373803_r8, 0.022508096489913205_r8, 0.022304919326270656_r8, & + 0.022042449753981549_r8, 0.021836870478767482_r8, 0.021738072839527504_r8, & + 0.021707467518713441_r8, 0.021773292288324267_r8, 0.021721845625386114_r8, & + 0.021577649805582296_r8, 0.02148193102902847_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,41) / & + 0.0020051967852482634_r8, 0.0022545566825279209_r8, & + 0.0025474207165859289_r8, 0.0035217786487830383_r8, & + 0.0040985009705732994_r8, 0.0049547559854039172_r8, & + 0.005717071138462539_r8, 0.0062341392547682227_r8, & + 0.0072355144259425973_r8, 0.0083711957667309805_r8, & + 0.0095997887541596858_r8, 0.010943790026195988_r8, 0.011946140228960751_r8, & + 0.013240769446829288_r8, 0.014396412343449955_r8, 0.015530143621057563_r8, & + 0.017520413559049361_r8, 0.018898275019042742_r8, 0.020047996814732686_r8, & + 0.021073357763030584_r8, 0.021909243481545666_r8, 0.022723607593683845_r8, & + 0.023372943177187272_r8, 0.023830020258913526_r8, 0.024217214167379684_r8, & + 0.024507330385137509_r8, 0.024740877042805805_r8, 0.024973572763813397_r8, & + 0.02493279871548813_r8, 0.024592122677806975_r8, 0.024129230862232596_r8, & + 0.023676426191656951_r8, 0.0233150440285654_r8, 0.023043010214847469_r8, & + 0.022783314982709715_r8, 0.022564411526744321_r8, 0.022437692875688229_r8, & + 0.022339923798943076_r8, 0.022297164231742838_r8, 0.022291189947270834_r8, & + 0.022268392569040275_r8, 0.02218754472235011_r8, 0.022213944177512879_r8, & + 0.022316186211678933_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,41) / & + 0.0023380757719133499_r8, 0.0024463469875957863_r8, & + 0.0026018328044139587_r8, 0.0037746259584107325_r8, & + 0.004196279176386832_r8, 0.00497583465544777_r8, 0.0065017956612156719_r8, & + 0.0067870301916298269_r8, 0.007637966594881542_r8, & + 0.0088408986065234476_r8, 0.010201152689980578_r8, 0.012083272845205682_r8, & + 0.013819808291327359_r8, 0.015020699586917395_r8, 0.016025434841014385_r8, & + 0.017037446636873281_r8, 0.018615511134776493_r8, 0.019755443827309597_r8, & + 0.020768729447994131_r8, 0.021704814468876867_r8, 0.022452942012023271_r8, & + 0.023264496619786801_r8, 0.023846105887230306_r8, 0.024358992873278341_r8, & + 0.024778471664163557_r8, 0.02510126569034719_r8, 0.025382031610818895_r8, & + 0.025600541411888989_r8, 0.025534910322009229_r8, 0.025038840549806932_r8, & + 0.024557981317009158_r8, 0.024152542509762589_r8, 0.023717208445613341_r8, & + 0.023368767084346816_r8, 0.023017499811669666_r8, 0.022805062114477949_r8, & + 0.022648422942585802_r8, 0.022574342807930112_r8, 0.022492331985953649_r8, & + 0.022461306221688526_r8, 0.022457756518143857_r8, 0.022340192450157677_r8, & + 0.022090500455888458_r8, 0.021924452375703365_r8, 0.021890523524092948_r8 & + / +data delta_sa_ref(:,36,41) / & + 0.0023430850154176359_r8, 0.0024209396807545469_r8, & + 0.0025481194086509336_r8, 0.0040026169623363405_r8, & + 0.0043240227652686404_r8, 0.0051376019232010637_r8, & + 0.0069826899331507531_r8, 0.0072437527218651085_r8, & + 0.0080306718453852111_r8, 0.0092957653425335737_r8, & + 0.010390966855206931_r8, 0.012090999059093109_r8, 0.014205912491541104_r8, & + 0.01536683117645405_r8, 0.016349456378267443_r8, 0.017371562698216443_r8, & + 0.018833656883726128_r8, 0.019943925969750167_r8, 0.020920518037265967_r8, & + 0.02192184595540192_r8, 0.022617466339915192_r8, 0.023408733449953652_r8, & + 0.024007144958096849_r8, 0.024634666339225963_r8, 0.025099196133232964_r8, & + 0.025521914151866762_r8, 0.025854695375649918_r8, 0.026080072444330322_r8, & + 0.026128359065619333_r8, 0.025587998519333688_r8, 0.025154334671331383_r8, & + 0.024834203278240673_r8, 0.024435310035125057_r8, 0.023954245502876132_r8, & + 0.023467415556664071_r8, 0.023066777732214064_r8, 0.022851627364840799_r8, & + 0.022765340975355333_r8, 0.022634476426893157_r8, 0.022532332111493511_r8, & + 0.022510461999664715_r8, 0.022463034860603023_r8, 0.022353516714395203_r8, & + 0.022319831714566932_r8, 0.022261260035761066_r8 & + / +data delta_sa_ref(:,37,41) / & + 0.001439068057925455_r8, 0.001705472299647089_r8, 0.0024778086926812446_r8, & + 0.0029729971897252449_r8, 0.0035001847095314444_r8, & + 0.0041376232615092674_r8, 0.0050843213482069331_r8, & + 0.0057593478925334757_r8, 0.0060361515054230229_r8, & + 0.0056125224117205344_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,41) / & + 0.0015103703338254526_r8, 0.0018635409984288_r8, 0.0026863078429743212_r8, & + 0.0028775472032802072_r8, 0.003379654800538518_r8, & + 0.0040504926790370958_r8, 0.0047569821287995551_r8, & + 0.0058764502476606204_r8, 0.0061952069069903994_r8, & + 0.0057514502188573333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,41) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,41) / & + 0.0032968335513980595_r8, 0.0033809570194311103_r8, & + 0.0038233787756952377_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,41) / & + 0.003899222562576118_r8, 0.003798246102416645_r8, 0.0039160761131498663_r8, & + 0.003181183396805828_r8, 0.0035750012194943996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,41) / & + 0.0037795800878660415_r8, 0.0037279258003088292_r8, & + 0.0034046911130947146_r8, 0.0037671399182824796_r8, & + 0.0046936940659358583_r8, 0.0076012089177080414_r8, & + 0.0090250866697841881_r8, 0.010257027810565771_r8, & + 0.0064154570989996447_r8, 0.0025462622959901626_r8, & + 0.0022474541418447407_r8, 0.0021761403857580445_r8, & + 0.0020204392177175703_r8, 0.0021538927953338662_r8, & + 0.002193625201795437_r8, 0.0022328461693966808_r8, & + 0.0023066531899274666_r8, 0.0023278459377022217_r8, & + 0.0023437644722298662_r8, 0.0024454768755771848_r8, & + 0.0025375039055070812_r8, 0.0026253435297680584_r8, & + 0.0027399697643386072_r8, 0.0028907802982772145_r8, & + 0.0030607058596205036_r8, 0.0032625963497341626_r8, & + 0.0034707519658868143_r8, 0.0039059864360241779_r8, & + 0.0038225853704438855_r8, 0.0037732680517695992_r8, & + 0.0037663636271551997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,41) / & + 0.0027918739089793578_r8, 0.0031457042372490004_r8, & + 0.0026800849269814253_r8, 0.0040708030156971714_r8, & + 0.0040446648308126026_r8, 0.0046200118903774803_r8, & + 0.0075524443271337604_r8, 0.0078621116483920585_r8, & + 0.0039401559472892313_r8, 0.0021444275609073774_r8, & + 0.002131972452673791_r8, 0.0022375338805549301_r8, & + 0.0021622769589745251_r8, 0.0022845475285352295_r8, & + 0.0023033179029154239_r8, 0.0023590588978622154_r8, & + 0.0023963803665480693_r8, 0.0024188346461804506_r8, & + 0.0024576910753880492_r8, 0.002568427513028214_r8, & + 0.0026663141383006291_r8, 0.0027618763947829723_r8, & + 0.0029018209383511965_r8, 0.0030796570787990649_r8, & + 0.0032156545810256591_r8, 0.0034188394980897712_r8, & + 0.0036027716246097123_r8, 0.0040415949097691124_r8, & + 0.0039796428067111174_r8, 0.003905027279348727_r8, & + 0.0038969303625965234_r8, 0.0039050250865479822_r8, & + 0.0038436288584789333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,41) / & + 0.0025023423729204153_r8, 0.0030456122923521577_r8, & + 0.0024273541693999143_r8, 0.0038405413602192063_r8, & + 0.0036687403647813793_r8, 0.003838331846104652_r8, & + 0.0045390183731672243_r8, 0.0035735057972315918_r8, & + 0.0021557192096840431_r8, 0.0021438148887403191_r8, & + 0.002267096757907516_r8, 0.0023796917935002336_r8, & + 0.0023481723982742386_r8, 0.0023906040876986471_r8, & + 0.0024507118900394934_r8, 0.0025104589553820444_r8, & + 0.0025204243149599347_r8, 0.0025319678989053629_r8, & + 0.0025981631380924313_r8, 0.002737001790311085_r8, & + 0.0028390903608284711_r8, 0.0029564651616485922_r8, & + 0.0030814154394329025_r8, 0.0032970459801635295_r8, & + 0.0034438659384694527_r8, 0.0036497114881213371_r8, & + 0.0038501459827988012_r8, 0.0042240047894064204_r8, & + 0.004355718885908755_r8, 0.0042341956096082437_r8, & + 0.0042226520256628151_r8, 0.0041832415085991245_r8, & + 0.0039605548555558725_r8, 0.0039792028648047689_r8, & + 0.0041069366150348488_r8, 0.004159890551778264_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,41) / & + 0.0024730474947413338_r8, 0.0033206688762026666_r8, & + 0.0028222233994239995_r8, 0.0039748235496959994_r8, & + 0.0039736653438293334_r8, 0.0042327791603199993_r8, & + 0.003466324845994666_r8, 0.0024306108317866666_r8, & + 0.0021763614799359993_r8, 0.0022744846809599996_r8, & + 0.0023270208990719991_r8, 0.0023646857538559994_r8, & + 0.0023790011783679996_r8, 0.0024261169930240001_r8, & + 0.002487779873365333_r8, 0.0025432347702613323_r8, & + 0.0025561603477333326_r8, 0.0025709853828266667_r8, & + 0.0026507162746879998_r8, 0.0027796477517653333_r8, & + 0.0028808749445119988_r8, 0.0030124934591999998_r8, & + 0.0031420735315626663_r8, 0.0033218734103039995_r8, & + 0.003519046377045333_r8, 0.0036877738077013321_r8, & + 0.0039172838822400004_r8, 0.0042623829022720005_r8, & + 0.0043484144340480008_r8, 0.0042311576721066656_r8, & + 0.0042057234712746666_r8, 0.0042075766006613334_r8, & + 0.0041843429909759998_r8, 0.0041843132085394282_r8, & + 0.0042178780145554285_r8, 0.0042380605790719988_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,42) / & + 0.0041252151408571426_r8, 0.0041690829012380956_r8, & + 0.0044943362063809512_r8, 0.0060272990510476174_r8, & + 0.0063016633293333339_r8, 0.0066036437570476192_r8, & + 0.007736726041714285_r8, 0.0080337766060952359_r8, & + 0.0078882110248571415_r8, 0.0070153025539563922_r8, & + 0.0069711157494157109_r8, 0.0067355055294581233_r8, & + 0.0065984924893462511_r8, 0.0065765322973110139_r8, & + 0.0065759909309141351_r8, 0.0066718534010768377_r8, & + 0.0066554420532618933_r8, 0.0066681318165500306_r8, & + 0.0067631343129588616_r8, 0.0070365340158686975_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,42) / & + 0.0041252151408571426_r8, 0.0041690829012380956_r8, & + 0.0044943362063809512_r8, 0.0060272990510476174_r8, & + 0.0063016633293333339_r8, 0.0066036437570476192_r8, & + 0.007736726041714285_r8, 0.0080337766060952359_r8, & + 0.0078882110248571415_r8, 0.0070153025539563922_r8, & + 0.0069711157494157109_r8, 0.0067355055294581233_r8, & + 0.0065984924893462511_r8, 0.0065765322973110139_r8, & + 0.0065759909309141351_r8, 0.0066718534010768377_r8, & + 0.0066554420532618933_r8, 0.0066681318165500306_r8, & + 0.0067631343129588616_r8, 0.0070365340158686975_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,42) / & + 0.0041252151408571426_r8, 0.0041690829012380956_r8, & + 0.0044943362063809512_r8, 0.0060272990510476174_r8, & + 0.0063016633293333339_r8, 0.0066036437570476192_r8, & + 0.007736726041714285_r8, 0.0080337766060952359_r8, & + 0.0078882110248571415_r8, 0.0070153025539563922_r8, & + 0.0069711157494157109_r8, 0.0067355055294581233_r8, & + 0.0065984924893462511_r8, 0.0065765322973110139_r8, & + 0.0065759909309141351_r8, 0.0066718534010768377_r8, & + 0.0066554420532618933_r8, 0.0066681318165500306_r8, & + 0.0067631343129588616_r8, 0.0070365340158686975_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,42) / & + 0.0041821251979047621_r8, 0.0042290435898095233_r8, & + 0.0045882692696190483_r8, 0.0060264325361904757_r8, & + 0.0063030130242857137_r8, 0.0065631457766666661_r8, & + 0.0079510404838095232_r8, 0.0080209143876190468_r8, & + 0.0079057267490476174_r8, 0.0068384692833333332_r8, & + 0.0069843180276610061_r8, 0.0069428763029695563_r8, & + 0.006877870405757683_r8, 0.006877854614418367_r8, 0.0068542675200572393_r8, & + 0.0068543300024299812_r8, 0.0068164868484139347_r8, & + 0.0068173859015225758_r8, 0.0068623252863548078_r8, & + 0.007089314525747444_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,42) / & + 0.0048043327880000009_r8, 0.0048960629145185187_r8, & + 0.0049840349736296292_r8, 0.005559715430814815_r8, & + 0.0057193930801481474_r8, 0.0058153472189629634_r8, & + 0.0060400824234074077_r8, 0.0062802631462222213_r8, & + 0.0063935182625185164_r8, 0.0064734222639999985_r8, & + 0.0065780546263703712_r8, 0.0065965315599999987_r8, & + 0.0068351119840000009_r8, 0.0072335655877777769_r8, & + 0.0076434473220000007_r8, 0.008026096241555555_r8, & + 0.0082604290786666649_r8, 0.0083992432135555559_r8, & + 0.0084700252344444438_r8, 0.0085350245464444457_r8, & + 0.0086330976251111115_r8, 0.0088907928834814805_r8, & + 0.0089612198987407393_r8, 0.0090400588833333319_r8, & + 0.0091019976585185181_r8, 0.0091525374248148141_r8, & + 0.0091810488144444449_r8, 0.0091800711622222232_r8, & + 0.0090566304351851843_r8, 0.0088846052462962961_r8, & + 0.0087846004377777759_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,42) / & + 0.0043749266686419755_r8, 0.0044184518380246916_r8, & + 0.0044497147524074077_r8, 0.0047107814086419751_r8, & + 0.0049754663025925929_r8, 0.0051573593074691355_r8, & + 0.0057470604069135801_r8, 0.006167666962901234_r8, & + 0.0063567871982716049_r8, 0.0065196217629012341_r8, & + 0.0066778985729629625_r8, 0.0069004161478395049_r8, 0.00711374887654321_r8, & + 0.0073222915716049386_r8, 0.0074881977669753073_r8, & + 0.0076791947248148152_r8, 0.0079036941833333357_r8, & + 0.0081436199769753075_r8, 0.0082766546387037024_r8, & + 0.0084397284161111096_r8, 0.0085538282886419761_r8, & + 0.0087428040718518507_r8, 0.0088563469368518506_r8, & + 0.0089694853358024684_r8, 0.0090808799082716038_r8, & + 0.0091678065959876539_r8, 0.0092363670582098767_r8, & + 0.0093282397879012342_r8, 0.0092829802020634906_r8, & + 0.0091002951040828929_r8, 0.0089191566842751306_r8, & + 0.0085615917255555552_r8, 0.0084051584552380949_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,42) / & + 0.0026195162795061722_r8, 0.0026074516350617278_r8, & + 0.0026161788567901235_r8, 0.002629436098271605_r8, & + 0.0028595056320987653_r8, 0.0027860453525925927_r8, & + 0.0033249420493827158_r8, 0.004178860017777777_r8, & + 0.0046812299634567895_r8, 0.0049891511224691354_r8, & + 0.0052822156656790117_r8, 0.0055927161624691347_r8, & + 0.0059208560014814803_r8, 0.0061544663466666667_r8, & + 0.006281186715555556_r8, 0.0064247975866666678_r8, & + 0.0066741890414814811_r8, 0.0068820060088888892_r8, & + 0.0070182301743209885_r8, 0.0072411348809876541_r8, & + 0.0073751495061728381_r8, 0.0075572193204938272_r8, & + 0.0076997115540740737_r8, 0.0078481575279012346_r8, & + 0.0080402026306172839_r8, 0.0081904328775308632_r8, 0.00832855225530864_r8, & + 0.0086696534977777767_r8, 0.008905001891358023_r8, & + 0.0090024727613492051_r8, 0.0090303913193121692_r8, & + 0.0089547898790846552_r8, 0.00917615361962963_r8, 0.0092671862155555562_r8, & + 0.0093521795555555551_r8, 0.0094996594333333316_r8, & + 0.0095909555099999988_r8, 0.0096851221400000003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,42) / & + 0.00073248570419753086_r8, 0.00071546577283950613_r8, & + 0.0006892286380246913_r8, 0.00078153934666666666_r8, & + 0.0008077857264197529_r8, 0.00075124368395061735_r8, & + 0.00095927328493827162_r8, 0.0012925995343209876_r8, & + 0.0016712074913580249_r8, 0.0019556465071604943_r8, & + 0.0021977806854320985_r8, 0.0024703399555555555_r8, & + 0.0029860780819753086_r8, 0.0034432125446913577_r8, & + 0.0037738854967901232_r8, 0.0040670424893827165_r8, & + 0.0045984970108641967_r8, 0.0050447871609876531_r8, & + 0.0053872011846913589_r8, 0.0056916277570370375_r8, & + 0.0059337526903703707_r8, 0.0061397761397530863_r8, & + 0.0063294268034567898_r8, 0.0065158417387654304_r8, & + 0.0066727468311111116_r8, 0.0068322589960493826_r8, & + 0.0069807511945679003_r8, 0.0073890446483950616_r8, & + 0.0077708051293827159_r8, 0.0080866584454320992_r8, & + 0.008403639643950616_r8, 0.0086939769303703684_r8, & + 0.0089440987353086431_r8, 0.0090591427471604941_r8, & + 0.0092020325130864195_r8, 0.0093641332607407399_r8, & + 0.0094868736837037046_r8, 0.0096151753662663125_r8, & + 0.0096869926551534404_r8, 0.0097053595409999985_r8, & + 0.0097511115848888889_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,42) / & + 0.0001023876913580247_r8, 9.7645038024691364e-05_r8, & + 0.00011756787999999999_r8, 0.00029129875999999989_r8, & + 0.00029402601679012346_r8, 0.00031315379407407401_r8, & + 0.00035343399012345686_r8, 0.0003869099116049383_r8, & + 0.00057191037135802464_r8, 0.0007668861195061729_r8, & + 0.00085623844790123449_r8, 0.00095855217975308643_r8, & + 0.0011756418202469134_r8, 0.0014013754780246911_r8, & + 0.0016590411525925924_r8, 0.001879782543703704_r8, 0.002323382416790123_r8, & + 0.0029165341894444446_r8, 0.0034433361957407404_r8, & + 0.003917992127716049_r8, 0.0043934465912345679_r8, & + 0.0048196717584567889_r8, 0.005184887266790123_r8, & + 0.0056097938746913576_r8, 0.005856226123818341_r8, & + 0.0060919474516049369_r8, 0.0062868809371781293_r8, & + 0.0067001792043738986_r8, 0.007088733064109347_r8, & + 0.0074695553489506177_r8, 0.007868317733666667_r8, & + 0.0082038183925308636_r8, 0.0085350864875308619_r8, & + 0.0087446438145679008_r8, 0.0089267469106666646_r8, & + 0.0090967781974938267_r8, 0.0092537945262574951_r8, & + 0.0094005787884656068_r8, 0.0095470547649999984_r8, & + 0.0096579142866666662_r8, 0.0097422211900000007_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,42) / & + 0.00012338294617283949_r8, 0.00012021193234567899_r8, & + 0.00011433215160493827_r8, 0.00016013157580246914_r8, & + 0.00017005139456790122_r8, 0.00017179868790123453_r8, & + 0.00019038101382716046_r8, 0.0002259543806790124_r8, & + 0.00028280266172839503_r8, 0.00037503478839506169_r8, & + 0.00041056886425925926_r8, 0.00044599084524691359_r8, & + 0.00052137753876543207_r8, 0.0005818050967195767_r8, & + 0.00068557556670193994_r8, 0.00077191404522045863_r8, & + 0.00091816104444444456_r8, 0.0012113515499382716_r8, & + 0.0015913081123456786_r8, 0.002084151149135802_r8, & + 0.0026057401658641974_r8, 0.0031444565863580245_r8, & + 0.0036521851293827155_r8, 0.0042575737334567898_r8, & + 0.0047736862798765439_r8, 0.0052427964045061726_r8, & + 0.0056215534361728379_r8, 0.0062323584184567887_r8, & + 0.0065893596340476203_r8, 0.0069390867341005283_r8, & + 0.007407705556296296_r8, 0.007811399653333332_r8, 0.008155394128125_r8, & + 0.0084744384130357141_r8, 0.0086663831385986392_r8, & + 0.0088192634093333319_r8, 0.0089343147794013599_r8, & + 0.009019954609444443_r8, 0.0092222974177777785_r8, & + 0.0092004354499999989_r8, 0.0094548538399999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,42) / & + 0.00012846766222222224_r8, 0.00013553079506172839_r8, & + 0.00012319804740740738_r8, 0.00012067417925925925_r8, & + 0.00012217185925925925_r8, 0.00012766335259259257_r8, & + 0.00015574947506172832_r8, 0.00019320996493827161_r8, & + 0.00022602025086419751_r8, 0.00025785057333333334_r8, & + 0.00028367168592592591_r8, 0.00032734477432098767_r8, & + 0.00037437839777777781_r8, 0.00041114205043209885_r8, & + 0.00046067065160493818_r8, 0.00051353783111111114_r8, & + 0.00064010334728395078_r8, 0.00085664638080246928_r8, & + 0.0012132606296913579_r8, 0.001677417778641975_r8, & + 0.0021888038503703696_r8, 0.0027396634972839504_r8, & + 0.0033584562713227513_r8, 0.0039979867626102287_r8, & + 0.0046089021888888887_r8, 0.0051878849380246903_r8, & + 0.0056480101382716044_r8, 0.006376432692098765_r8, & + 0.0066612449722839497_r8, 0.0069221163291975302_r8, & + 0.0073549001858059966_r8, 0.007863554312239859_r8, & + 0.0082456857133580228_r8, 0.0085455716342716041_r8, & + 0.0087942070842592594_r8, 0.008926228269629629_r8, & + 0.0090491038998148157_r8, 0.0090869493753350968_r8, & + 0.0093170102255238103_r8, 0.0091983761399999989_r8, & + 0.0094496119599999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,42) / & + 0.00010632603506172839_r8, 0.0001302889150617284_r8, & + 0.00012292994419753085_r8, 0.00012893915407407406_r8, & + 0.00012933668641975309_r8, 0.00013000232197530863_r8, & + 0.00016101908987654318_r8, 0.00019259979901234566_r8, & + 0.00021537932691358027_r8, 0.00023701248246913584_r8, & + 0.00026281510518518517_r8, 0.00031147121530864191_r8, & + 0.00038433057382716049_r8, 0.000431636922962963_r8, & + 0.00046141486913580244_r8, 0.00050486607901234558_r8, & + 0.00067721021827160492_r8, 0.00094140281925925921_r8, & + 0.0013063467575308643_r8, 0.0017205477269135801_r8, & + 0.0022306279511111111_r8, 0.0027427235718518518_r8, & + 0.0033663408829629629_r8, 0.0040487837362962959_r8, & + 0.0046693409728395061_r8, 0.0053246037076543212_r8, & + 0.0058479504182716059_r8, 0.0065438169219753095_r8, & + 0.0067681268592592594_r8, 0.0069531180740740745_r8, & + 0.0072826631437037034_r8, 0.0078111916422222202_r8, & + 0.0082264326671604923_r8, 0.0085643046196737203_r8, & + 0.0088515780344973552_r8, 0.0089861778972927693_r8, & + 0.0091179278757954133_r8, 0.0091392023277460308_r8, & + 0.0092872681282500005_r8, 0.009336786733333333_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,42) / & + 0.00011581134172839507_r8, 0.00014024571358024689_r8, & + 0.00013135208296296297_r8, 0.00012910556296296294_r8, & + 0.00012949385037037039_r8, 0.00013380199160493829_r8, & + 0.00015535194271604937_r8, 0.00018415917037037036_r8, & + 0.00020410974716049385_r8, 0.0002186335451851852_r8, & + 0.00023634684691358019_r8, 0.00026873186567901233_r8, & + 0.00033035862419753085_r8, 0.00040053695061728406_r8, & + 0.00045057055654320992_r8, 0.0005240308360493827_r8, & + 0.00070598046617283952_r8, 0.00098841333037037022_r8, & + 0.0013797053427160493_r8, 0.0018534344696296294_r8, & + 0.0024183926474074073_r8, 0.0029752337693827158_r8, & + 0.0035542442533333337_r8, 0.0041717414153086422_r8, & + 0.0047473127822222211_r8, 0.0053845170159171072_r8, & + 0.0059340013792098774_r8, 0.0066876442567125223_r8, & + 0.0068865212367407386_r8, 0.0069939803710582001_r8, & + 0.0071897510518271601_r8, 0.0076846855990674598_r8, 0.00812418800407738_r8, & + 0.0084742279928163265_r8, 0.0086897265700000004_r8, & + 0.0088357794915555551_r8, 0.0089689149231111098_r8, & + 0.0090548235119999997_r8, 0.0091729155799999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,42) / & + 0.00011090227950617285_r8, 0.0001248806261728395_r8, & + 0.00011917649925925923_r8, 0.0001257958750617284_r8, & + 0.00012500081037037037_r8, 0.00012187602123456791_r8, & + 0.00011772504395061726_r8, 0.00013138906271604938_r8, & + 0.00014340748246913579_r8, 0.00015920708197530862_r8, & + 0.00017730867111111109_r8, 0.00019875692790123457_r8, & + 0.00024165344148148151_r8, 0.00030219854222222214_r8, & + 0.00036244780493827164_r8, 0.00044347968888888885_r8, & + 0.00064071120197530863_r8, 0.00092463250123456795_r8, & + 0.0013298843703703702_r8, 0.0017819433619753085_r8, & + 0.0023200582011287476_r8, 0.0029321091369506175_r8, & + 0.0035533577958236332_r8, 0.0041502718951604931_r8, & + 0.0047716628600476185_r8, 0.0054212471886878298_r8, & + 0.0059977583035767191_r8, 0.0071034164033544961_r8, & + 0.0076921194704404755_r8, 0.0079158378720000002_r8, & + 0.0080485276397499993_r8, 0.0083694548338095233_r8, & + 0.0082301278029523819_r8, 0.0076980751999999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,42) / & + 0.00010741693777777777_r8, 0.00011569115753086421_r8, & + 0.00011869576246913583_r8, 0.00015172792691358025_r8, & + 0.00015171868197530862_r8, 0.00015142284395061728_r8, & + 0.0001421224360493827_r8, 0.00013619643061728396_r8, & + 0.00012656320493827159_r8, 0.00012060021975308642_r8, & + 0.00012199620543209877_r8, 0.00013229506666666665_r8, & + 0.00016932104444444444_r8, 0.00022310809530864197_r8, & + 0.00027818019259259259_r8, 0.00034387472395061721_r8, & + 0.00053234203555555545_r8, 0.00078743761728395062_r8, & + 0.0011626249471604936_r8, 0.0015909152024691357_r8, & + 0.0021426623634567903_r8, 0.0027892256113580247_r8, & + 0.0034802939920987653_r8, 0.0042229768632098767_r8, & + 0.0049840744957407399_r8, 0.0057793737774074084_r8, & + 0.0063681492274074072_r8, 0.0075090347022222208_r8, & + 0.0082119708102222216_r8, 0.0085651736768888875_r8, & + 0.008791350992650793_r8, 0.0088881650097777758_r8, 0.008879323943238095_r8, & + 0.0086479319374999988_r8, 0.0080640083466666668_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,42) / & + 0.00017621885633939749_r8, 0.00017726552831237534_r8, & + 0.00017617039930361149_r8, 0.00026340275512558346_r8, & + 0.00023793373711645754_r8, 0.00021796943837262212_r8, & + 0.00022949252148253495_r8, 0.00021978173151101886_r8, & + 0.00018848817780041483_r8, 0.00016135223776025018_r8, & + 0.00014192096641006089_r8, 0.00013286919212523456_r8, & + 0.00016734152738340081_r8, 0.00022493756011865014_r8, & + 0.00027462540461362296_r8, 0.00034888096625210196_r8, & + 0.00056756756875435725_r8, 0.00084526514943681296_r8, & + 0.0013305914370551574_r8, 0.001936110556237116_r8, & + 0.0026649043744586794_r8, 0.0034215706796643557_r8, & + 0.0041612867137520845_r8, 0.0049436158651100298_r8, & + 0.0057509876125621841_r8, 0.0063962415010886719_r8, & + 0.0069943806137204179_r8, 0.0079567567272448569_r8, & + 0.0084656947439149862_r8, 0.0087676419559131816_r8, & + 0.0089920388739611334_r8, 0.0091828021095917024_r8, & + 0.0093075877595784097_r8, 0.0089803474026518663_r8, & + 0.0083157994800229715_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,42) / & + 0.00026895898016384621_r8, 0.00026241131796080329_r8, & + 0.00024051097123934816_r8, 0.00027788624263963264_r8, & + 0.00025858608008965452_r8, 0.00024617261294224943_r8, & + 0.00020323997513550384_r8, 0.00022124049818349534_r8, & + 0.00023115841852286513_r8, 0.00021129216421599713_r8, & + 0.00017671947244104409_r8, 0.00014651656730753861_r8, & + 0.00016107618660650392_r8, 0.00021659499752038378_r8, & + 0.00028581261343709483_r8, 0.00038295392271268946_r8, & + 0.00064917997860159695_r8, 0.0010304414191156415_r8, & + 0.0016388541016131341_r8, 0.0024599695613645796_r8, & + 0.0033671937867880445_r8, 0.0042219644605325686_r8, & + 0.0049985286619469342_r8, 0.0057498325348656603_r8, & + 0.006466587431398033_r8, 0.0070124570221184917_r8, & + 0.0075062427315685737_r8, 0.008382248815986244_r8, & + 0.0088510522643978611_r8, 0.0091033771922434826_r8, & + 0.0093351133972873861_r8, 0.0094196039769094755_r8, & + 0.0094887159054684398_r8, 0.009418972894125811_r8, & + 0.0087821176038428445_r8, 0.0086091248870485328_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,42) / & + 0.00023464434271759009_r8, 0.00022481148627911111_r8, & + 0.00020316083071576012_r8, 0.00015872793971251711_r8, & + 0.00015543545241514855_r8, 0.00015720058093811781_r8, & + 0.00016093836674711674_r8, 0.00015549045320754426_r8, & + 0.00016617516040659961_r8, 0.00016849540001983139_r8, & + 0.00015560631398327829_r8, 0.00015414680842011638_r8, & + 0.00020078577931629204_r8, 0.00028356972112445855_r8, & + 0.00041816535440023498_r8, 0.00056622956659739402_r8, & + 0.00091740679095197607_r8, 0.0014321287769922921_r8, & + 0.0021725526573288206_r8, 0.0031189444878610469_r8, & + 0.0040906234524641649_r8, 0.0049832895261521775_r8, & + 0.0058396985482756531_r8, 0.006550235640645264_r8, & + 0.0071531223848467183_r8, 0.0076721151540656441_r8, & + 0.008131143262123542_r8, 0.0089717553384475474_r8, & + 0.0094066642192949385_r8, 0.009677006230947598_r8, 0.010003039134285357_r8, & + 0.010157347656375486_r8, 0.0103543062877706_r8, 0.01044974502358008_r8, & + 0.010483363322351506_r8, 0.010085876791644036_r8, 0.0097986944067881242_r8, & + 0.010470588622842645_r8, 0.010638958636176303_r8, 0.0113605055263392_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,42) / & + 0.00017041504261235886_r8, 0.00016536292988555062_r8, & + 0.00016173379214074734_r8, 0.00014266151505635557_r8, & + 0.00014411758247980249_r8, 0.00014662157721557863_r8, & + 0.00016681899730899757_r8, 0.00017354779373553251_r8, & + 0.0001623073944590749_r8, 0.00014432716794226833_r8, & + 0.00015646106313765929_r8, 0.00020372810033061399_r8, & + 0.00036817547266960326_r8, 0.00054576054426105696_r8, & + 0.00079450539576657135_r8, 0.0010328592206593054_r8, & + 0.0014920389072943408_r8, 0.0021844872136538604_r8, & + 0.0031058138758398948_r8, 0.0040292915467196582_r8, & + 0.004971830463869998_r8, 0.005750440456930607_r8, 0.0065212957878799807_r8, & + 0.0072155200552635537_r8, 0.0078124980469146997_r8, & + 0.0083232785017198618_r8, 0.0087887443733771463_r8, & + 0.0096176534985778304_r8, 0.010115071107341432_r8, 0.010408209272062539_r8, & + 0.010743242861606822_r8, 0.010889490770004451_r8, 0.011189972817209515_r8, & + 0.011633338020037068_r8, 0.011743204334687968_r8, 0.011774386239177361_r8, & + 0.011777252438563873_r8, 0.012285249779648_r8, 0.011936695957986491_r8, & + 0.012797653733872_r8, 0.013288071306376534_r8, 0.013288071306376534_r8, & + 0.013288071306376534_r8, 0.013288071306376534_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,42) / & + 0.00014534974276792593_r8, 0.00014420344915830449_r8, & + 0.00014733818199562962_r8, 0.0001228126635269465_r8, & + 0.00012431762222093004_r8, 0.00012808360560673251_r8, & + 0.00016027164493772838_r8, 0.00019514536842042798_r8, & + 0.00018216456168719341_r8, 0.00018015890653544033_r8, & + 0.00019999595502134159_r8, 0.00033395736403060087_r8, & + 0.00070295343748270781_r8, 0.0010593173266635802_r8, & + 0.0015005801106336464_r8, 0.001877757232184315_r8, & + 0.0025344201241703844_r8, 0.0033468313820016835_r8, & + 0.0041305018843413996_r8, 0.0050086648551468261_r8, & + 0.0059442798239227653_r8, 0.0067330019702621135_r8, & + 0.0074870045166293012_r8, 0.0081953873236833442_r8, & + 0.0088724463717839656_r8, 0.0094102425310255023_r8, & + 0.009946948471381464_r8, 0.010857292513167676_r8, 0.011529004623180922_r8, & + 0.011935197135202058_r8, 0.012199157790281202_r8, 0.012400788971155168_r8, & + 0.012732973299960162_r8, 0.013374330415660423_r8, 0.013242908847331989_r8, & + 0.013510938404079614_r8, 0.01356955690387536_r8, 0.013733392245091305_r8, & + 0.013802608867731853_r8, 0.013725861015791698_r8, 0.013713256656676026_r8, & + 0.013675082244188039_r8, 0.013687005313826529_r8, 0.01361675430987804_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,42) / & + 0.00014142761755188147_r8, 0.00015150318764136294_r8, & + 0.00016695636969576294_r8, 0.0001190348120749037_r8, & + 0.00012108569734755554_r8, 0.00012648715681564442_r8, & + 0.00016677751342198516_r8, 0.00020613781740468147_r8, & + 0.00022875717416177781_r8, 0.00025979469953801485_r8, & + 0.00033003752012634069_r8, 0.00052898531532515557_r8, & + 0.0011360115847753483_r8, 0.0017268811708276146_r8, & + 0.0021870783632578369_r8, 0.0025631415645029926_r8, & + 0.0033144333043823413_r8, 0.0041961112678456898_r8, & + 0.004987323728032237_r8, 0.0058378330048519111_r8, & + 0.0068388438741797926_r8, 0.0076880415383250951_r8, & + 0.008518530836233244_r8, 0.0092388565932458658_r8, & + 0.0099676243663807985_r8, 0.010548740323636386_r8, 0.011121512635720237_r8, & + 0.012133778248999721_r8, 0.013039477887576237_r8, 0.013561871497516141_r8, & + 0.013960321755286616_r8, 0.014195361681913108_r8, 0.014286926086652964_r8, & + 0.014305240010929202_r8, 0.014188926646106719_r8, 0.0141338666365056_r8, & + 0.014022796890489599_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,42) / & + 0.00014421203024837529_r8, 0.00017089459580385181_r8, & + 0.00020216651315398847_r8, 0.00017834146852726253_r8, & + 0.00018216386665273414_r8, 0.00018810157247870944_r8, & + 0.00018671610778598185_r8, 0.00020167170433515717_r8, & + 0.00032499043220838192_r8, 0.00046539243455175636_r8, & + 0.00064123511854392097_r8, 0.00087668989498478338_r8, & + 0.0015532667334137282_r8, 0.0020933876698294778_r8, & + 0.0024693681508184229_r8, 0.0027658081141802397_r8, & + 0.0035316855741877595_r8, 0.0044755952472107724_r8, & + 0.0054822961593434727_r8, 0.0064294468301298296_r8, & + 0.0073379529321654629_r8, 0.0082120450808513823_r8, & + 0.0090660232510518142_r8, 0.0098699515092274571_r8, & + 0.010586038831840078_r8, 0.011191016834184137_r8, 0.011771934757712526_r8, & + 0.012835414981806117_r8, 0.013767721388027536_r8, 0.014298911025263379_r8, & + 0.014701982289083336_r8, 0.014876254838662893_r8, 0.014902433980424564_r8, & + 0.014818416989264574_r8, 0.014689177785515312_r8, 0.014418325490659231_r8, & + 0.013968322803215817_r8, 0.01359039968955033_r8, 0.013542450395589243_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,42) / & + 0.00014999371553769871_r8, 0.00017956181788286417_r8, & + 0.00021428222934929381_r8, 0.00026879160918197195_r8, & + 0.00027021426170053002_r8, 0.00027232901544433253_r8, & + 0.0001985433348196609_r8, 0.00019035347032093496_r8, & + 0.00036487832928674231_r8, 0.00066746754830148466_r8, & + 0.00098341175762557361_r8, 0.0014070674243006679_r8, & + 0.0023514779962147815_r8, 0.0029818412288295498_r8, & + 0.0032528116752021069_r8, 0.0034287976367545409_r8, & + 0.0041499927468379647_r8, 0.0051623445890302405_r8, & + 0.0061254547107153102_r8, 0.0071178125175116362_r8, & + 0.0080212225001746965_r8, 0.0089835892538770966_r8, & + 0.0099382147272082423_r8, 0.010766608627068417_r8, 0.011473346511557845_r8, & + 0.012091764589692468_r8, 0.012675423806292593_r8, 0.013776800372754276_r8, & + 0.014571986230492075_r8, 0.015133331590922745_r8, 0.01545855508334085_r8, & + 0.015573854020790831_r8, 0.015548810209788469_r8, 0.015452415889139145_r8, & + 0.015324338712400853_r8, 0.015073977502513354_r8, 0.014684760280138848_r8, & + 0.01421813620465759_r8, 0.014181376566366781_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,42) / & + 0.00015933031996084938_r8, 0.00017445032035670119_r8, & + 0.00019342989980096787_r8, 0.00030205516580274569_r8, & + 0.0003029040079302321_r8, 0.00029706821830376287_r8, & + 0.00019409305771306661_r8, 0.00018836337335253334_r8, & + 0.00044236611684460233_r8, 0.00081494149501993077_r8, & + 0.0014247151951947456_r8, 0.0021652768987936786_r8, & + 0.0033360158768128392_r8, 0.0039096607339365137_r8, & + 0.0040488310533695598_r8, 0.004252261374484978_r8, & + 0.0049041853915527895_r8, 0.0058505249952759703_r8, & + 0.0068656738639585194_r8, 0.0078901467328851716_r8, & + 0.0088202257046036941_r8, 0.0097960890985735096_r8, & + 0.010737640702171338_r8, 0.011568033776543168_r8, 0.012282188532082329_r8, & + 0.012933170864914963_r8, 0.013531684143742338_r8, 0.014661413436477313_r8, & + 0.015438077456810898_r8, 0.015952502312384157_r8, 0.016230251082813701_r8, & + 0.016315460242939277_r8, 0.016236672109297599_r8, 0.016114306211357135_r8, & + 0.015931607864468705_r8, 0.015671124410280648_r8, 0.015360168007402758_r8, & + 0.014984273760719487_r8, 0.014681878821223637_r8, 0.014395070982135867_r8, & + 0.014253664162644267_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,42) / & + 0.00017601790269089712_r8, 0.00017797837937013993_r8, & + 0.00018056949889725101_r8, 0.00022762093919907818_r8, & + 0.00022486530414643621_r8, 0.00021644759309010698_r8, & + 0.00019329203287163783_r8, 0.00019628073158544859_r8, & + 0.0003550382137227325_r8, 0.00059810990269458443_r8, & + 0.0010710097808330535_r8, 0.0017513088981574321_r8, & + 0.0029044119262303866_r8, 0.0036816243977195709_r8, & + 0.0041873999617099587_r8, 0.0046530885759793255_r8, & + 0.0055299666092791765_r8, 0.0066240411240509793_r8, & + 0.0076588146466824679_r8, 0.0086860101729191938_r8, & + 0.0097220261305091173_r8, 0.010730651966801548_r8, 0.011621601218644459_r8, & + 0.012471563826486107_r8, 0.013205637242514995_r8, 0.013846306968923737_r8, & + 0.014425857463894373_r8, 0.015521006470692295_r8, 0.016222540086733895_r8, & + 0.016649289932554174_r8, 0.01693208869353495_r8, 0.017010600300687767_r8, & + 0.017017895780837799_r8, 0.01692267801377095_r8, 0.016706148162918075_r8, & + 0.01639518449085528_r8, 0.016019804715807918_r8, 0.0156275718430215_r8, & + 0.01528626073620093_r8, 0.015079350587962795_r8, 0.014868214006495998_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,42) / & + 0.00020243217298831275_r8, 0.00020084669023483787_r8, & + 0.00019668479800696626_r8, 0.00019345720811596382_r8, & + 0.00019328733496380576_r8, 0.00018988987192064527_r8, & + 0.00017952760963900577_r8, 0.00017750328790912265_r8, & + 0.00021858427853933826_r8, 0.00027032480946747_r8, & + 0.00037108790088920496_r8, 0.00060643299710813506_r8, & + 0.0013207637580286418_r8, 0.0022628944159930604_r8, & + 0.0032453699475950091_r8, 0.0042353057417958972_r8, & + 0.0060494236019794836_r8, 0.0074271939586531563_r8, & + 0.0084965737636799477_r8, 0.0095578279695951816_r8, & + 0.010667340306819305_r8, 0.011756666051128651_r8, 0.012647353456181214_r8, & + 0.013491368212678361_r8, 0.014194543969940491_r8, 0.014782517417847455_r8, & + 0.015304084619356643_r8, 0.016330571453463533_r8, 0.01696998208738406_r8, & + 0.017338374263132471_r8, 0.017629628102193127_r8, 0.017713222629812606_r8, & + 0.017798048990572655_r8, 0.017737457360612288_r8, 0.017503841886538737_r8, & + 0.017245771503815014_r8, 0.016883150010048885_r8, 0.01649166201198253_r8, & + 0.016128208139770828_r8, 0.015825839237465552_r8, 0.015571347414698981_r8, & + 0.015398699718279858_r8, 0.0153799329817952_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,42) / & + 0.00021887784526759504_r8, 0.00021505197326411851_r8, & + 0.00020456733166680492_r8, 0.00019977769038000988_r8, & + 0.00019307511309147652_r8, 0.00018949748469127901_r8, & + 0.00018165590734064199_r8, 0.00019307511309147655_r8, & + 0.0002050346137435654_r8, 0.00022368208911928886_r8, & + 0.00027544818168541234_r8, 0.00038089330281939753_r8, & + 0.00072777723198957033_r8, 0.0012775053901684936_r8, & + 0.0020768789978567108_r8, 0.0030814186423725829_r8, & + 0.0055380665455514871_r8, 0.0078099189899365137_r8, & + 0.0094876222737205716_r8, 0.010739164303499062_r8, 0.011878485622030538_r8, & + 0.01289708753654392_r8, 0.013732398056448001_r8, 0.01449954380340464_r8, & + 0.015163449416527013_r8, 0.015733139280922546_r8, 0.016118866032723441_r8, & + 0.017115228240896001_r8, 0.017715214776815248_r8, 0.018092079597043197_r8, & + 0.018313766610733195_r8, 0.018385460249944467_r8, 0.018383101153433057_r8, & + 0.018300764591251371_r8, 0.018100501626348561_r8, 0.017880725723339694_r8, & + 0.017559463819605017_r8, 0.017180743430594576_r8, 0.016766975060506478_r8, & + 0.016399936201894876_r8, 0.016119578220674356_r8, 0.015994044768225281_r8, & + 0.015963173485772801_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,42) / & + 0.00020453141816326588_r8, 0.00020149151333882469_r8, & + 0.000188413902980214_r8, 0.00017988110082448066_r8, & + 0.00018410987931788644_r8, 0.00018260497593945024_r8, & + 0.00020045313000770375_r8, 0.00021801535243405436_r8, & + 0.00022910649033312927_r8, 0.00026362897383445596_r8, & + 0.00032316295148539264_r8, 0.00041338190902264366_r8, & + 0.0006727670553299096_r8, 0.00099617079135585194_r8, & + 0.0014845721337935409_r8, 0.0020884898595599933_r8, & + 0.0041683265246939792_r8, 0.0069962506592486061_r8, & + 0.0095343153540826345_r8, 0.011475023701880194_r8, 0.013016029712365087_r8, & + 0.014163352999051075_r8, 0.014977279991278302_r8, 0.01576312548646391_r8, & + 0.016397547603711263_r8, 0.016937491886860397_r8, 0.017147365712017106_r8, & + 0.018002692596185116_r8, 0.018508972190758626_r8, 0.018815611303148787_r8, & + 0.018907636144740159_r8, 0.018897131919158681_r8, 0.018841465543190328_r8, & + 0.018752313454655285_r8, 0.018618840349228824_r8, 0.018409568485423487_r8, & + 0.018144669480630725_r8, 0.017829440594742643_r8, 0.017481068899271968_r8, & + 0.017154943437993026_r8, 0.016865086470613692_r8, 0.01668047733960001_r8, & + 0.016502613508007774_r8, 0.016355350112979915_r8, 0.01628993196311929_r8 & + / +data delta_sa_ref(:,29,42) / & + 0.00018814639341864031_r8, 0.00019417414395725429_r8, & + 0.00019490243258274238_r8, 0.00018481486034459916_r8, & + 0.00019527432464682136_r8, 0.00020181342677354401_r8, & + 0.00024416263557054148_r8, 0.00025053128716789462_r8, & + 0.00026579435729780405_r8, 0.00030340194227779422_r8, & + 0.00035755872410930031_r8, 0.00045527336394606086_r8, & + 0.00064154480154163609_r8, 0.00088982924082238663_r8, & + 0.0012632708551683952_r8, 0.00176964838691998_r8, 0.0032457034847522504_r8, & + 0.0054197225093474749_r8, 0.0083149332192079262_r8, 0.01098736508718238_r8, & + 0.013281830654031195_r8, 0.014938563312995186_r8, 0.016039022921610323_r8, & + 0.017011722110711652_r8, 0.017708028018688923_r8, 0.018306743250850792_r8, & + 0.018666347381312523_r8, 0.019450032428845694_r8, 0.019676902083436563_r8, & + 0.019752055271385866_r8, 0.019699587499345382_r8, 0.019619584219060383_r8, & + 0.019526510482273274_r8, 0.019418491333160995_r8, 0.019251575715338028_r8, & + 0.019059766572475781_r8, 0.018792507890175659_r8, 0.018566052740281214_r8, & + 0.018221223571615285_r8, 0.017910054508624176_r8, 0.017611192748628681_r8, & + 0.01738164353423861_r8, 0.017202312366265664_r8, 0.017058849357756926_r8, & + 0.016774888847903999_r8 & + / +data delta_sa_ref(:,30,42) / & + 0.00022368180289599997_r8, 0.00023619625056711113_r8, & + 0.00025256865535466669_r8, 0.00026415846867555552_r8, & + 0.00028971344907911107_r8, 0.00030763222510755555_r8, & + 0.00035902914140266667_r8, 0.00034598860867022222_r8, & + 0.00037659719405688888_r8, 0.00044489260020088884_r8, & + 0.00052304014476622213_r8, 0.00063944842106488883_r8, & + 0.00082950860595022214_r8, 0.0010792236483964446_r8, & + 0.0014385397452871109_r8, 0.0019173090350435558_r8, & + 0.0032923837915679998_r8, 0.0052292855096533327_r8, & + 0.0081423300880568879_r8, 0.010939189577763554_r8, 0.013479829700629333_r8, & + 0.015440564666190221_r8, 0.016782623599623115_r8, 0.017941573047768888_r8, & + 0.018792858386863995_r8, 0.019503663072611553_r8, 0.020080443603491559_r8, & + 0.020962114340371551_r8, 0.021193352637784883_r8, 0.021100092104184891_r8, & + 0.020927057944920887_r8, 0.020720673181162663_r8, 0.020521956505722663_r8, & + 0.020366267211511115_r8, 0.020169001255482665_r8, 0.019994914926096001_r8, & + 0.019761620114351997_r8, 0.019568371535155556_r8, 0.019281766770529774_r8, & + 0.019007740221461327_r8, 0.018676163155077329_r8, 0.018417654122571774_r8, & + 0.018193229025252_r8, 0.018108921047392697_r8, 0.01807532618912_r8 & + / +data delta_sa_ref(:,31,42) / & + 0.00035959516015976288_r8, 0.00036724856184578098_r8, & + 0.00036038180530093819_r8, 0.00043758774821920651_r8, & + 0.00045107543470227483_r8, 0.00049335761104044766_r8, & + 0.00065675036223873564_r8, 0.00082355190904878346_r8, & + 0.00099328698669779716_r8, 0.0011584169125828476_r8, & + 0.0013134023938348245_r8, 0.0014829408101985442_r8, & + 0.0017465488746944784_r8, 0.0021459187798049183_r8, & + 0.0026630068526041543_r8, 0.0033937346349942506_r8, & + 0.0053420415999597551_r8, 0.0078149917087678659_r8, & + 0.010610564656100503_r8, 0.01326539367692452_r8, 0.01529556090189358_r8, & + 0.016851954702149369_r8, 0.017978659982478589_r8, 0.018939465080222026_r8, & + 0.019779421818152395_r8, 0.020479716266643279_r8, 0.021050886192898313_r8, & + 0.021866342212369168_r8, 0.022226953455836283_r8, 0.022156433996618003_r8, & + 0.021950087143023454_r8, 0.0216714181017621_r8, 0.021403090166419111_r8, & + 0.021175028629240041_r8, 0.02097091060354549_r8, 0.020772643251088428_r8, & + 0.020573638418811518_r8, 0.020396266327916933_r8, 0.020225842935769386_r8, & + 0.020022560720537336_r8, 0.019564358362798212_r8, 0.019133897830266575_r8, & + 0.018830967400306282_r8, 0.018712457027112588_r8, 0.018657283484035368_r8 & + / +data delta_sa_ref(:,32,42) / & + 0.00067982730843277708_r8, 0.00073605590558411854_r8, & + 0.00076538231763131535_r8, 0.0010809526929612247_r8, & + 0.0011443866313044151_r8, 0.0012995708254783867_r8, & + 0.0016092826523625879_r8, 0.0019337923645450011_r8, & + 0.0021975448889671764_r8, 0.0024499001797751441_r8, & + 0.0026767842527717399_r8, 0.0029544087424791571_r8, & + 0.0035273680465057319_r8, 0.0043036930551994352_r8, & + 0.0052480977986113985_r8, 0.0064864737286870521_r8, & + 0.0091127027487505653_r8, 0.011653056896338332_r8, 0.013809103733815073_r8, & + 0.015786397504060395_r8, 0.01723820641458057_r8, 0.018498198368231772_r8, & + 0.019429185688910319_r8, 0.020293102730831094_r8, 0.020990185821323792_r8, & + 0.021604255973926286_r8, 0.022054572963507491_r8, 0.02275812065918166_r8, & + 0.023041132319873633_r8, 0.022993523196297584_r8, 0.022767396694220694_r8, & + 0.022469789167142425_r8, 0.022177501471411412_r8, 0.021895735594009615_r8, & + 0.021689324875118012_r8, 0.021464831359245814_r8, 0.021276445116398927_r8, & + 0.021171049505187368_r8, 0.0210899545444669_r8, 0.021045113560981581_r8, & + 0.020896255805483249_r8, 0.02051632190419193_r8, 0.019216240920836271_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,42) / & + 0.0015626513434731457_r8, 0.0017384375226491256_r8, & + 0.0018805422956892444_r8, 0.0025455642920567305_r8, & + 0.0028404882926286218_r8, 0.0032031380144146959_r8, & + 0.0034964721281910507_r8, 0.0040607609709587753_r8, & + 0.0045137577380389921_r8, 0.0049635747315281368_r8, & + 0.0054306558218514172_r8, 0.0060049851453605127_r8, & + 0.0072102921501587744_r8, 0.0086344159658817594_r8, & + 0.010027571551848217_r8, 0.01142681018294542_r8, 0.013823599089972065_r8, & + 0.015691716074726633_r8, 0.017182252226919662_r8, 0.018463044291749449_r8, & + 0.01947060048566384_r8, 0.020481561111086059_r8, 0.021222845829504629_r8, & + 0.021901641084307356_r8, 0.022408486625897239_r8, 0.022843700854796957_r8, & + 0.023170111526471741_r8, 0.023660125005682802_r8, 0.02381175181811792_r8, & + 0.023743939690012678_r8, 0.023475456198105676_r8, 0.023119753590360965_r8, & + 0.022804454844876719_r8, 0.02251917385334732_r8, 0.0222797922023499_r8, & + 0.022058884344661488_r8, 0.021885310181896687_r8, 0.021783967859714939_r8, & + 0.021727706172772369_r8, 0.021747813982110554_r8, 0.021758682858060374_r8, & + 0.021702237741631929_r8, 0.021703297522150798_r8, 0.021840948884025598_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,34,42) / & + 0.0026008524477391273_r8, 0.002759162122323753_r8, & + 0.0028927946337480425_r8, 0.0038115934931402_r8, 0.0043414611150505997_r8, & + 0.0049519372577153456_r8, 0.0054476610461151077_r8, & + 0.0059461326508150501_r8, 0.0068173676964434302_r8, & + 0.008182163733125622_r8, 0.0092962702839958118_r8, 0.01028690237982883_r8, & + 0.011389007178213716_r8, 0.012809575021866033_r8, 0.01404130583823107_r8, & + 0.015207106791238859_r8, 0.017029671295684123_r8, 0.018393031376751381_r8, & + 0.019506677003597022_r8, 0.020522482642309121_r8, 0.02134267921614252_r8, & + 0.02214250649366039_r8, 0.02277664931220089_r8, 0.023335182862868661_r8, & + 0.023780612749051563_r8, 0.024143129494357384_r8, 0.024417432472503848_r8, & + 0.024759952206283187_r8, 0.024778885546983796_r8, 0.024532698934334667_r8, & + 0.024143537234840629_r8, 0.023720196246141773_r8, 0.023366862525632685_r8, & + 0.023101565293811979_r8, 0.022846160200671914_r8, 0.022645161870275449_r8, & + 0.022486338088124985_r8, 0.022391919574481341_r8, 0.022306613174246044_r8, & + 0.022262417651430874_r8, 0.022284949745092361_r8, 0.022269420151034561_r8, & + 0.022274937943443793_r8, 0.022305187665398147_r8, 0.022283697715891067_r8 & + / +data delta_sa_ref(:,35,42) / & + 0.0030697691898316378_r8, 0.0031757618006476385_r8, & + 0.0032829175676865846_r8, 0.0047319194324221894_r8, & + 0.0051538180036640657_r8, 0.0057824675935346844_r8, & + 0.0067871619554207094_r8, 0.0075364890034220243_r8, & + 0.008854126912228609_r8, 0.010899173643960364_r8, 0.012143623582301236_r8, & + 0.013285243240807246_r8, 0.014478187167650763_r8, 0.015568627952347125_r8, & + 0.016465221482763061_r8, 0.017310690662317302_r8, 0.018626274873417743_r8, & + 0.019663664829758155_r8, 0.020592481422412906_r8, 0.021468955985035062_r8, & + 0.022212212811497878_r8, 0.022881754612331454_r8, 0.023438288516379389_r8, & + 0.024001074385125661_r8, 0.024416739165985184_r8, 0.024739060659953249_r8, & + 0.024985122724054384_r8, 0.025274875843779947_r8, 0.025266842796115224_r8, & + 0.024916187543528825_r8, 0.024501395129836512_r8, 0.024071990566093427_r8, & + 0.023651400545602372_r8, 0.023327388840247831_r8, 0.023014154504271543_r8, & + 0.022768165137434338_r8, 0.022593709878308346_r8, 0.022513870108192658_r8, & + 0.022427112739055739_r8, 0.022332719885416234_r8, 0.022324417468425319_r8, & + 0.02233597730701492_r8, 0.022383170293696287_r8, 0.022756423393414223_r8, & + 0.022806076760575996_r8 & + / +data delta_sa_ref(:,36,42) / & + 0.0028666512098185879_r8, 0.0029821186967920995_r8, & + 0.0032622916811293327_r8, 0.0051370090257728393_r8, & + 0.0056377731380622938_r8, 0.0064337860876386519_r8, & + 0.0079511542774566811_r8, 0.0084939388509154643_r8, & + 0.0096653504811077713_r8, 0.011354123660674228_r8, 0.012314609015289432_r8, & + 0.013300934034050716_r8, 0.014704768638409501_r8, 0.015733629847578191_r8, & + 0.016665011247956951_r8, 0.017507301503129329_r8, 0.018887149610453333_r8, & + 0.019763825006965056_r8, 0.020692303892502349_r8, 0.021738308327260793_r8, & + 0.022503751999837115_r8, 0.023223080367645782_r8, 0.023816994490723466_r8, & + 0.024423112410193168_r8, 0.024920433871874328_r8, 0.025343283233544268_r8, & + 0.025672025476083694_r8, 0.025921622533140589_r8, 0.026040047865287748_r8, & + 0.025618818179387416_r8, 0.02522155670225101_r8, 0.024946219336235878_r8, & + 0.024593263157075052_r8, 0.024202707290581233_r8, 0.023771506772908697_r8, & + 0.023157128606768242_r8, 0.022915658192250672_r8, 0.022798711749438934_r8, & + 0.022681668944065501_r8, 0.022572701042050562_r8, 0.022444946630181147_r8, & + 0.022424154661796269_r8, 0.022345053567672177_r8, 0.022286775166227998_r8, & + 0.0222600031327824_r8 & + / +data delta_sa_ref(:,37,42) / & + 0.0019892203825896534_r8, 0.0020585603005289052_r8, & + 0.0026216656744739147_r8, 0.0048300186609866727_r8, & + 0.0056737555352071607_r8, 0.0065741647139134765_r8, & + 0.0084371768439153033_r8, 0.0088379142779533727_r8, & + 0.0093447564591759239_r8, 0.010438289449655243_r8, 0.011726810092986418_r8, & + 0.012096655639244256_r8, 0.013746728434394836_r8, 0.015008455933265007_r8, & + 0.016090155480842153_r8, 0.017215994709129673_r8, 0.01888118269029488_r8, & + 0.019521781537436552_r8, 0.020361230458676938_r8, 0.021524589256083946_r8, & + 0.022673958545605787_r8, 0.023375678291826272_r8, 0.02413979984799387_r8, & + 0.02478706433465885_r8, 0.025347181529453821_r8, 0.025849649154910694_r8, & + 0.026288123944289286_r8, 0.026554020202765767_r8, 0.026738502011602945_r8, & + 0.026352842425567607_r8, 0.025935943323369851_r8, 0.025734551039566948_r8, & + 0.025499498379348125_r8, 0.025122215582665926_r8, 0.024733503874083129_r8, & + 0.023863838326746933_r8, 0.023460158347285334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,42) / & + 0.0016257292581108916_r8, 0.0018002506782602223_r8, & + 0.0025799531761538661_r8, 0.0036030039914490665_r8, & + 0.0040816658509550217_r8, 0.0041317185495274664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,42) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,42) / & + 0.0027878505741156523_r8, 0.0028046369974162951_r8, & + 0.0037154273853945668_r8, 0.0031981502699492061_r8, & + 0.005857597465133332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,42) / & + 0.0036675146935462454_r8, 0.003523457702638406_r8, & + 0.0038880489378863409_r8, 0.0033127447196823812_r8, & + 0.0040632753165035342_r8, 0.0076813082929877334_r8, & + 0.013488799725499732_r8, 0.0086852584713642666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,42) / & + 0.003841907135120769_r8, 0.0037404187599699157_r8, & + 0.0035333925713004833_r8, 0.0040627744116428447_r8, & + 0.0046614562175593668_r8, 0.0081048218501873024_r8, & + 0.010488876592992755_r8, 0.011903574626381839_r8, 0.0088372872335561858_r8, & + 0.0039093144417510122_r8, 0.0025654860041526635_r8, & + 0.0023766372049773155_r8, 0.0020391642729912529_r8, & + 0.0021503638671976173_r8, 0.0022230329362641775_r8, & + 0.0022487327389955555_r8, 0.0023193113017205328_r8, & + 0.0023411753129994662_r8, 0.002345586473169777_r8, & + 0.0024463718935827548_r8, 0.0025382071339400294_r8, & + 0.002620357000879881_r8, 0.0027283664951949626_r8, & + 0.0028678934092776285_r8, 0.00303717967204551_r8, 0.0032412437773155552_r8, & + 0.0034505501309039406_r8, 0.0038971641156835546_r8, & + 0.003853819672270933_r8, 0.0037706469276104298_r8, & + 0.0037701994186076435_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,42) / & + 0.0029188809281500169_r8, 0.0032393368290754374_r8, & + 0.0028081883465247608_r8, 0.0041503578267384636_r8, & + 0.0042271058528257051_r8, 0.0046907077864075577_r8, & + 0.0075515233508207146_r8, 0.0084066717854922278_r8, & + 0.0050526514774349961_r8, 0.0023916000609232064_r8, & + 0.0021795562288478816_r8, 0.0022948098360234667_r8, & + 0.0021827138619211848_r8, 0.0023045897273477264_r8, & + 0.002332043592679506_r8, 0.0023786625365256431_r8, & + 0.0024062479699021432_r8, 0.0024280882653258274_r8, & + 0.0024630415092067033_r8, 0.0025688660731772836_r8, & + 0.0026647791777788844_r8, 0.0027537191760102714_r8, & + 0.0028947601199511702_r8, 0.0030652284498946638_r8, & + 0.0031925424611696719_r8, 0.0033940608496673182_r8, & + 0.0035799226408431673_r8, 0.0040333061229516909_r8, & + 0.0039918621888645799_r8, 0.003908228768436937_r8, & + 0.0039003785417685869_r8, 0.0039039340115485459_r8, & + 0.0038367215361310809_r8, 0.0038471811956864001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,44,42) / & + 0.0025677710459861072_r8, 0.0031066670293135278_r8, & + 0.0024856582867492875_r8, 0.0038560981432706632_r8, & + 0.0037911203914528391_r8, 0.0039497544864529124_r8, & + 0.0048874903135198555_r8, 0.0040300635606982591_r8, & + 0.0022661047311622064_r8, 0.002146700784726677_r8, & + 0.0022689906271485634_r8, 0.0024050786597552198_r8, & + 0.0023611589302128463_r8, 0.0024159909539536329_r8, & + 0.0024717699123149436_r8, 0.0025260608305582881_r8, & + 0.0025319228067805762_r8, 0.0025404903104900745_r8, & + 0.0026031232718189828_r8, 0.0027424579374102915_r8, & + 0.0028418409804404675_r8, 0.0029567808065221004_r8, & + 0.0030866461259081747_r8, 0.0032984438360319215_r8, & + 0.0034348926056368728_r8, 0.0036346056263177481_r8, & + 0.0038377456484824241_r8, 0.0042108378889686646_r8, & + 0.0043650529557396284_r8, 0.0042614763451042769_r8, & + 0.0042348719914800468_r8, 0.0041962731326625185_r8, & + 0.0039514228950700237_r8, 0.0039681971654907267_r8, & + 0.0041168581708343737_r8, 0.0041534852154522951_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,42) / & + 0.0024933392615253333_r8, 0.0033395707959466663_r8, 0.002833759129856_r8, & + 0.003969449474474666_r8, 0.0040116081680213328_r8, & + 0.0043135756015786663_r8, 0.0036518230975999995_r8, & + 0.0024691095947946664_r8, 0.0022081889771519998_r8, & + 0.0022800440691199998_r8, 0.0023278548072959994_r8, & + 0.0023860430700373332_r8, 0.0023949380910933331_r8, & + 0.0024459454774613332_r8, 0.0025058942131199993_r8, & + 0.0025619977053013324_r8, 0.0025700588181333328_r8, & + 0.0025808069685760004_r8, 0.002660074578090667_r8, & + 0.0027889597269333327_r8, 0.0028896309808639992_r8, & + 0.0030249557543253328_r8, 0.0031561109866666669_r8, & + 0.0033384125900799999_r8, 0.003534983289770666_r8, & + 0.0037039886898346665_r8, 0.003937621977258666_r8, & + 0.0042811921655466672_r8, 0.0043687988573013342_r8, & + 0.0042279610239146668_r8, 0.0042050748759893336_r8, & + 0.0042057697995093336_r8, 0.0041648503862399995_r8, & + 0.0041759741262994282_r8, 0.0042155252020662851_r8, & + 0.0042367302969051421_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,43) / & + 0.0040540048151851849_r8, 0.0040955848495555546_r8, & + 0.0044465578371111108_r8, 0.0058948518391111109_r8, & + 0.0061725258713333335_r8, 0.0064770458175555544_r8, & + 0.007472932293777778_r8, 0.007949735362666667_r8, 0.007985496632888887_r8, & + 0.0076816797642222222_r8, 0.0075191788838153625_r8, & + 0.0072529162529979263_r8, 0.0071707457024550022_r8, & + 0.0071665956361621581_r8, 0.0071629327151416866_r8, & + 0.0071627898109631657_r8, 0.0071397510839166407_r8, & + 0.0071412634769655228_r8, 0.0071419337013311933_r8, & + 0.0072102646390067061_r8, 0.007147391356882837_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,43) / & + 0.0040540048151851849_r8, 0.0040955848495555546_r8, & + 0.0044465578371111108_r8, 0.0058948518391111109_r8, & + 0.0061725258713333335_r8, 0.0064770458175555544_r8, & + 0.007472932293777778_r8, 0.007949735362666667_r8, 0.007985496632888887_r8, & + 0.0076816797642222222_r8, 0.0075191788838153625_r8, & + 0.0072529162529979263_r8, 0.0071707457024550022_r8, & + 0.0071665956361621581_r8, 0.0071629327151416866_r8, & + 0.0071627898109631657_r8, 0.0071397510839166407_r8, & + 0.0071412634769655228_r8, 0.0071419337013311933_r8, & + 0.0072102646390067061_r8, 0.007147391356882837_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,43) / & + 0.0040540048151851849_r8, 0.0040955848495555546_r8, & + 0.0044465578371111108_r8, 0.0058948518391111109_r8, & + 0.0061725258713333335_r8, 0.0064770458175555544_r8, & + 0.007472932293777778_r8, 0.007949735362666667_r8, 0.007985496632888887_r8, & + 0.0076816797642222222_r8, 0.0075191788838153625_r8, & + 0.0072529162529979263_r8, 0.0071707457024550022_r8, & + 0.0071665956361621581_r8, 0.0071629327151416866_r8, & + 0.0071627898109631657_r8, 0.0071397510839166407_r8, & + 0.0071412634769655228_r8, 0.0071419337013311933_r8, & + 0.0072102646390067061_r8, 0.007147391356882837_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,43) / & + 0.004204867479636794_r8, 0.0042188726388994718_r8, & + 0.0045937823564867726_r8, 0.0058120378612380947_r8, & + 0.0060818936472698407_r8, 0.0064051793654074079_r8, & + 0.0075256381491111109_r8, 0.0079128139847619051_r8, & + 0.0078845387372698389_r8, 0.0076463234222962943_r8, & + 0.0077497600401543977_r8, 0.0073095719152538059_r8, & + 0.0071716136519968743_r8, 0.0071574831346270214_r8, & + 0.0071492723951021801_r8, 0.0071315808929255176_r8, & + 0.0071276831303178131_r8, 0.0071127782934791751_r8, & + 0.0071074797265364585_r8, 0.007107597127113785_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,43) / & + 0.0048695588387426608_r8, 0.0049144883406349212_r8, & + 0.0049349056217195758_r8, 0.005395033628465609_r8, & + 0.0055244710186772494_r8, 0.0056233941694179895_r8, & + 0.0059092762210317456_r8, 0.0061856942623544978_r8, & + 0.0063554729312433863_r8, 0.0064652091929100521_r8, & + 0.0066051981943650792_r8, 0.0066832503026402106_r8, & + 0.0069375449755555551_r8, 0.0073288766751005291_r8, & + 0.0076672659809629631_r8, 0.0079459800687407406_r8, & + 0.0082415583106666673_r8, 0.0084923267990370376_r8, & + 0.0085953921443703701_r8, 0.0087285982997037034_r8, & + 0.0088587355977777765_r8, 0.0090119565822222216_r8, & + 0.0090989648565185186_r8, 0.0091616288971111109_r8, & + 0.0092064372639259276_r8, 0.0092410378321481461_r8, & + 0.0092659866848148146_r8, 0.009254124504518518_r8, & + 0.0091321537226666666_r8, 0.0090058424422962968_r8, & + 0.0089514752715555562_r8, 0.0088816970528571414_r8, & + 0.0085895692200000009_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,43) / & + 0.0043633242711111119_r8, 0.0043933980553086428_r8, & + 0.0043301256977777772_r8, 0.0044660262903703707_r8, & + 0.0046501207461728394_r8, 0.0048345110400000004_r8, & + 0.0055531848064197522_r8, 0.006030103437037037_r8, & + 0.0062857814498765438_r8, 0.0064880144745679009_r8, & + 0.0066478964370370363_r8, 0.0068743419550617284_r8, & + 0.007149489807901234_r8, 0.0073608198518518514_r8, & + 0.0075407355955555552_r8, 0.007710981133827159_r8, 0.00793077954123457_r8, & + 0.0082402168701234575_r8, 0.0083724009975308638_r8, & + 0.0085312290370370362_r8, 0.0086643006785185172_r8, & + 0.0087615366280246916_r8, 0.0088866414439506148_r8, & + 0.0090008210540740742_r8, 0.0091208804449382716_r8, & + 0.0092065555991358017_r8, 0.0092833902811111108_r8, & + 0.0094039974345679015_r8, 0.0094110227622134016_r8, & + 0.0092952269387742495_r8, 0.0091490753605202816_r8, & + 0.0088086174667019405_r8, 0.0085040194007513208_r8, & + 0.0085350911100000003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,43) / & + 0.0024673261056790126_r8, 0.002465135055308642_r8, & + 0.0023854067076543206_r8, 0.0022832131599999999_r8, & + 0.0023671017298765428_r8, 0.0023282175195061729_r8, & + 0.0027780207461728392_r8, 0.0034611107451851851_r8, & + 0.003943918401481482_r8, 0.0043009856523456794_r8, & + 0.0045876711881481479_r8, 0.004841500213333334_r8, & + 0.0052035874656790127_r8, 0.0055012097634567908_r8, & + 0.0056960283476543217_r8, 0.0058795865970370361_r8, & + 0.006160087269135802_r8, 0.006420979427160493_r8, 0.0066169536286419745_r8, & + 0.0068402003980246907_r8, 0.0069977526360493827_r8, & + 0.0071541862365432085_r8, 0.0073022346780246914_r8, & + 0.0074538054409876544_r8, 0.0076484576162962961_r8, & + 0.0077976062054320996_r8, 0.0079460336893827175_r8, & + 0.0083205738735802458_r8, 0.0085738944271604913_r8, & + 0.008721459160264549_r8, 0.0088061309084832458_r8, & + 0.0088644992885079359_r8, 0.0089791989924444433_r8, & + 0.0091833494173333315_r8, 0.0093492285712592597_r8, & + 0.009492381817925926_r8, 0.0096042474199999998_r8, & + 0.0096122584479166676_r8, 0.0096529220199999995_r8, & + 0.0096765104799999991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,43) / & + 0.0006408313861728396_r8, 0.00064095157037037025_r8, & + 0.00055424329432098756_r8, 0.00057771619259259263_r8, & + 0.00055146981283950606_r8, 0.0005426593866666667_r8, & + 0.00063503480987654336_r8, 0.00081228801135802475_r8, & + 0.0010541633313580245_r8, 0.0012712899516049386_r8, & + 0.0014581948686419755_r8, 0.0015813374464197527_r8, & + 0.0018871137797530863_r8, 0.0022593427293827162_r8, & + 0.0025382255372839511_r8, 0.0027812934543209873_r8, & + 0.0033150037407407408_r8, 0.0038252596187654318_r8, & + 0.0042546315318518508_r8, 0.0047054979264197529_r8, & + 0.0050964016513580252_r8, 0.0054246801644444445_r8, & + 0.0057088788118518519_r8, 0.0059643441911111103_r8, & + 0.0061648021876543205_r8, 0.0063317472829629634_r8, & + 0.0064812564246913562_r8, 0.0068561941412345678_r8, & + 0.0072117544671604934_r8, 0.0075709942785185183_r8, & + 0.0079333681239506151_r8, 0.008280016329382715_r8, & + 0.0086411051283950616_r8, 0.0088537109738271603_r8, & + 0.0090749608365432097_r8, 0.009285292427160495_r8, & + 0.0094213132039506174_r8, 0.0095334554608024688_r8, & + 0.0096227767526190482_r8, 0.0096688953913280432_r8, & + 0.0097371443321481472_r8, 0.0096943328720000017_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,43) / & + 0.00011264957283950619_r8, 0.00011819653580246913_r8, & + 0.00011621811901234568_r8, 0.00025613101481481484_r8, & + 0.00025837753481481479_r8, 0.00028946363975308639_r8, & + 0.000303257087654321_r8, 0.00031641956851851858_r8, & + 0.00042544628117283947_r8, 0.0005405850536419753_r8, & + 0.00059843525487654307_r8, 0.00065358246728395046_r8, & + 0.00077621360186948837_r8, 0.00091593103326278655_r8, & + 0.0010711376983774249_r8, 0.0012136893637037037_r8, & + 0.0016074567082716052_r8, 0.0022123958762751326_r8, & + 0.0027842677820864191_r8, 0.0033217311502504406_r8, & + 0.0038895193357037037_r8, 0.0044449613353245154_r8, & + 0.0049802512515185185_r8, 0.0054607596916666666_r8, & + 0.0057430045204232812_r8, 0.0059678457114814808_r8, & + 0.0061402938562962958_r8, 0.0065064627488888877_r8, & + 0.0068558243437037035_r8, 0.0072342242896296302_r8, & + 0.0076357412037037029_r8, 0.0079974309237037036_r8, & + 0.0084183622081481467_r8, 0.008658753715555554_r8, & + 0.0088959695866666667_r8, 0.0091365968399999987_r8, & + 0.0093028809222222217_r8, 0.0094660864400000003_r8, & + 0.0095692391500000005_r8, 0.009635885910000001_r8, & + 0.0096852469466666667_r8, 0.0096854965599999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,43) / & + 0.00015838428246913578_r8, 0.00016170321530864198_r8, & + 0.00015974625998236333_r8, 0.00016838383882716046_r8, & + 0.0001774579108289242_r8, 0.00018135481739858903_r8, & + 0.00019769527881128746_r8, 0.00024715434484126982_r8, & + 0.00028896771485008819_r8, 0.00036239907090652551_r8, & + 0.0003936336561569666_r8, 0.00042176587124691364_r8, & + 0.00049912381672839506_r8, 0.00055236251068253948_r8, & + 0.00063203373782539686_r8, 0.0006962336928412698_r8, & + 0.00082162160198412696_r8, 0.00119760119005291_r8, & + 0.0017067977302222222_r8, 0.0023316693483333333_r8, & + 0.0027085542799999995_r8, 0.0033026340133333332_r8, & + 0.0034313720899999999_r8, 0.00404916509_r8, 0.0046156625499999991_r8, & + 0.0051280563200000002_r8, 0.0055414159999999995_r8, & + 0.006227103826666666_r8, 0.0065688244799999998_r8, & + 0.0068758488799999995_r8, 0.0073483669199999992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,43) / & + 0.00014038066426456811_r8, 0.0001454446706525573_r8, & + 0.00013687593358024692_r8, 0.00012950887339506173_r8, & + 0.00013228351049382716_r8, 0.0001398169795679012_r8, & + 0.00015633537302469136_r8, 0.00020105231400352735_r8, & + 0.00023490463654320985_r8, 0.00026836338885361546_r8, & + 0.00029869140885361553_r8, 0.00032877311728395065_r8, & + 0.00039487343539682532_r8, 0.00043399122491071435_r8, & + 0.0004793957788095239_r8, 0.00052859746410714281_r8, & + 0.00066093153285714287_r8, 0.00088918063928571426_r8, & + 0.0012764735554761904_r8, 0.0017425402794444445_r8, & + 0.0022459167677777777_r8, 0.0028160128199999994_r8, & + 0.0033976475457142856_r8, 0.0040727981238095241_r8, & + 0.004701791630666665_r8, 0.0053265738039999996_r8, & + 0.0058328545434666668_r8, 0.0065429270966666665_r8, & + 0.0067653575379999992_r8, 0.0069815850879999999_r8, & + 0.0073595714385000007_r8, 0.0079177349333333334_r8, & + 0.0083397062733333339_r8, 0.0086559663666666651_r8, & + 0.0089370933833333339_r8, 0.0090798098066666669_r8, & + 0.0092320739400000001_r8, 0.0091298572800000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,43) / & + 7.9378195617283952e-05_r8, 8.9499091790123453e-05_r8, & + 8.6798909462081129e-05_r8, 0.00010515886160493827_r8, & + 0.00011067165131393296_r8, 0.00010512270729276892_r8, & + 0.00012834302064373897_r8, 0.00016029303204585535_r8, & + 0.00018609268317460319_r8, 0.00021298984054673718_r8, & + 0.00024021222164021162_r8, 0.00028008811672839502_r8, & + 0.0003455178466402116_r8, 0.00039704913256613755_r8, & + 0.00043515709829805994_r8, 0.00047661173168430331_r8, & + 0.00065791916877425041_r8, 0.00091872845253086418_r8, & + 0.0013438575332680774_r8, 0.0017686102005654762_r8, & + 0.0022826894177380951_r8, 0.00276427265625_r8, 0.0034160281503888882_r8, & + 0.0040854749152380958_r8, 0.0047125838414285711_r8, & + 0.0053746916275925925_r8, 0.0059080421208253971_r8, & + 0.0066003756053333333_r8, 0.0068096098217777772_r8, & + 0.007000811971022221_r8, 0.0073275886901111109_r8, & + 0.0078646283099259254_r8, 0.0083052596333333326_r8, & + 0.008637730725925925_r8, 0.0089280865022222222_r8, & + 0.0090708504709523796_r8, 0.0092072552428571416_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,43) / & + 9.7561833580246912e-05_r8, 0.00010992231604938271_r8, & + 0.00010889612790123453_r8, 0.00012065568938271604_r8, & + 0.0001194723372839506_r8, 0.00011913027456790124_r8, & + 0.00012454780839506175_r8, 0.00015252299160493828_r8, & + 0.00017966613037037035_r8, 0.00020536705876543208_r8, & + 0.00022832224049382712_r8, 0.00025550235901234568_r8, & + 0.00030682101135802469_r8, 0.00038284213876543208_r8, & + 0.0004411869441975308_r8, 0.00052122961975308642_r8, & + 0.00072565105340388007_r8, 0.0010129715843950617_r8, & + 0.0014573434098271603_r8, 0.0019447384705291008_r8, & + 0.0024755046403209875_r8, 0.0030248354055679013_r8, & + 0.0035847987743209873_r8, 0.0041159320341975303_r8, & + 0.0047511401866666665_r8, 0.005415981007707231_r8, & + 0.0059530029630864185_r8, 0.0071046916105185166_r8, & + 0.0077322680664444442_r8, 0.008119913932916667_r8, & + 0.0076711377611111105_r8, 0.0077255326666666665_r8, & + 0.0081943065066666654_r8, 0.0085839529199999987_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,43) / & + 9.4714392592592592e-05_r8, 0.00010493004938271606_r8, & + 0.00010787918469135802_r8, 0.00014079116493827159_r8, & + 0.00013753694666666667_r8, 0.00013274806864197529_r8, & + 0.00012080360839506172_r8, 0.00012706243160493826_r8, & + 0.00014570947209876541_r8, 0.00016749979160493827_r8, & + 0.00019273847308641973_r8, 0.00022094477975308639_r8, & + 0.00027925260543209878_r8, 0.00034989433438271602_r8, & + 0.00041670056956790124_r8, 0.00051795460037037033_r8, & + 0.00075109576493827171_r8, 0.0010491367263492063_r8, & + 0.0014307030636331571_r8, 0.0018540499183774251_r8, & + 0.0023729067256701938_r8, 0.0029001373999435619_r8, & + 0.0034613744570493824_r8, 0.0040459280408994703_r8, & + 0.0047240105521146386_r8, 0.0054033661573650799_r8, & + 0.0060013804043562618_r8, 0.007327132155248676_r8, & + 0.0081152212765396806_r8, 0.0085449799582222232_r8, & + 0.0087432727902222243_r8, 0.0089247375233333336_r8, & + 0.008957661522000001_r8, 0.0089213989450000006_r8, & + 0.0092808733466666644_r8, 0.0092429321200000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,43) / & + 9.6175092839506177e-05_r8, 0.00010367273777777779_r8, & + 0.00010959874320987653_r8, 0.00015138586419753089_r8, & + 0.00015594361876543209_r8, 0.00015132114962962962_r8, & + 0.00015240280740740737_r8, 0.00015304995308641975_r8, & + 0.00014309315456790121_r8, 0.00013713941432098766_r8, & + 0.00013880350320987658_r8, 0.00015207923456790127_r8, & + 0.00019778488867724865_r8, 0.000257703975026455_r8, & + 0.00031454977975308644_r8, 0.00038360418582010578_r8, & + 0.00058973989516754842_r8, 0.00086549131040564371_r8, & + 0.0012145630103703705_r8, 0.0016484556982716049_r8, & + 0.0021937763064550256_r8, 0.0027719700991622569_r8, & + 0.0034595952356613756_r8, 0.0042138460669082891_r8, & + 0.0049657070485943566_r8, 0.0057148359859329808_r8, & + 0.006351158780798942_r8, 0.0076125344275837737_r8, 0.008369758265890653_r8, & + 0.0088232438080725617_r8, 0.0090804858427777774_r8, & + 0.0091955323309523811_r8, 0.0092904513668571435_r8, & + 0.0091522621567777778_r8, 0.0087976219333333328_r8, & + 0.0091914493700000002_r8, 0.0095051509266666674_r8, & + 0.0097498967999999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,43) / & + 0.00017241013332661725_r8, 0.00017443563742247241_r8, & + 0.00017127623868922465_r8, 0.00026414899347668803_r8, & + 0.00024686921451539751_r8, 0.00022992863480460904_r8, & + 0.00021799851259409378_r8, 0.00022255347395797853_r8, & + 0.00020629129274819422_r8, 0.00019060090456068476_r8, & + 0.00017462946556561643_r8, 0.0001655389256521613_r8, & + 0.00019628976056196211_r8, 0.00024866212483947982_r8, & + 0.00029844688340602466_r8, 0.00037226633172242953_r8, & + 0.00057818935099865018_r8, 0.00084465459078590936_r8, & + 0.0012943165000657512_r8, 0.0019493780926353251_r8, & + 0.0026249660855638514_r8, 0.0033825094631172539_r8, & + 0.0041080905798662045_r8, 0.0049108065753200401_r8, & + 0.0057736558139028782_r8, 0.0064393900686043207_r8, & + 0.0070335671263171981_r8, 0.008123377715812204_r8, & + 0.0087483010828938602_r8, 0.0091751818470009357_r8, & + 0.0094530138743250947_r8, 0.0096192583257652554_r8, & + 0.009723264889257472_r8, 0.009518082760752335_r8, 0.0088612775628925926_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,43) / & + 0.00027277462325945445_r8, 0.00026836858737045263_r8, & + 0.00024584711470787535_r8, 0.00027232217799364323_r8, & + 0.00023619857221764275_r8, 0.00024800774953949673_r8, & + 0.00018426277635088913_r8, 0.00021741725168085497_r8, & + 0.00023074330870561272_r8, 0.00022401375038170299_r8, & + 0.00020523623154843125_r8, 0.00017833411023436048_r8, & + 0.00018904839694359221_r8, 0.00024048164381222431_r8, & + 0.00030526701652972417_r8, 0.00040488178652626068_r8, & + 0.00065934356140150401_r8, 0.0010627937350037209_r8, & + 0.0016046773301043528_r8, 0.0024810930933342554_r8, & + 0.0033179124851429958_r8, 0.0042879158338217909_r8, & + 0.0050703178587420015_r8, 0.0058196604147134475_r8, & + 0.006596287760612881_r8, 0.0071968915630549069_r8, & + 0.0077067337129949724_r8, 0.008600869107693079_r8, & + 0.0091870256402267168_r8, 0.0095313247467557188_r8, & + 0.0097931274300869526_r8, 0.0099765352938338322_r8, & + 0.010112584576540582_r8, 0.010168994253311721_r8, 0.01040537114352762_r8, & + 0.010468601076406554_r8, 0.010454882357718636_r8, 0.010449955349961836_r8, & + 0.010386323957191608_r8, 0.010354572129425563_r8, 0.010337455339514905_r8, & + 0.010348974501168532_r8, 0.010350000961117866_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,43) / & + 0.00024164191775837536_r8, 0.00023397223681463703_r8, & + 0.00021769483735788154_r8, 0.00015779802940809386_r8, & + 0.00015484896630241975_r8, 0.00015503683842489876_r8, & + 0.00016937597971664197_r8, 0.00015650806236994566_r8, & + 0.00016168116095369877_r8, 0.00015356561447985183_r8, & + 0.00015262096169499261_r8, 0.00014695039889960494_r8, & + 0.00019373452652622714_r8, 0.00028166642909894179_r8, & + 0.0004175701740041721_r8, 0.0005769201329873918_r8, & + 0.00093148793883608943_r8, 0.0014619745506226124_r8, & + 0.0021940553210693333_r8, 0.0031944165373852863_r8, & + 0.0041716785171307417_r8, 0.0051660656645604857_r8, & + 0.0060150354042485766_r8, 0.0066761884002623688_r8, & + 0.0072653805141757559_r8, 0.0078173631744872102_r8, & + 0.0082594079072816299_r8, 0.0091498252234859089_r8, 0.00971528534600824_r8, & + 0.010072540441431794_r8, 0.010366095471362934_r8, 0.010536382725376679_r8, & + 0.0106531798848761_r8, 0.010684603907189248_r8, 0.010796156571028188_r8, & + 0.010821026681908904_r8, 0.010776752971893138_r8, 0.010858937764175895_r8, & + 0.010813068123951084_r8, 0.010798310107208801_r8, 0.010797952885567466_r8, & + 0.010801739434965601_r8, 0.0108058117616768_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,43) / & + 0.00020851271582243296_r8, 0.00018433419228018727_r8, & + 0.00017736445531517364_r8, 0.00016924577634807575_r8, & + 0.00017025430789678354_r8, 0.0001722808259774683_r8, & + 0.00018896493187113089_r8, 0.00018998626704301566_r8, & + 0.00017104104129630286_r8, 0.00014498842583465351_r8, & + 0.00013595399234217614_r8, 0.00019196058573690207_r8, & + 0.00035677670242338768_r8, 0.00053524187537414339_r8, & + 0.00076992027249981904_r8, 0.00099829849910716066_r8, & + 0.0014668565442510883_r8, 0.0022425597208928926_r8, & + 0.0031573663841995849_r8, 0.0040849975504379521_r8, & + 0.0050036137840868342_r8, 0.0058607324428074396_r8, & + 0.0066918937844185978_r8, 0.0073130423771116731_r8, & + 0.0078664980170893694_r8, 0.0084137642674360375_r8, & + 0.0088871437631107691_r8, 0.0098004880655207776_r8, & + 0.010431653582655284_r8, 0.010781708220403245_r8, 0.011085245537113379_r8, & + 0.011173996141043202_r8, 0.011421737858219623_r8, 0.011803795885844482_r8, & + 0.011847934584239788_r8, 0.012155922627496108_r8, 0.01241003286684075_r8, & + 0.012779895502483199_r8, 0.012778555258604801_r8, 0.012778555258604801_r8, & + 0.013288071306376534_r8, 0.013288071306376534_r8, 0.013288071306376534_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,43) / & + 0.0001704032162407901_r8, 0.00016639764457863373_r8, & + 0.00016481377956609054_r8, 0.0001537955881744856_r8, & + 0.00015473672535585184_r8, 0.0001575716141826502_r8, & + 0.00018631073006241975_r8, 0.00020996540970627159_r8, & + 0.00020292983541142382_r8, 0.00019714528493083123_r8, & + 0.00019347255446696294_r8, 0.00031943573209494653_r8, & + 0.00070612834080948142_r8, 0.0010282612343388313_r8, & + 0.0014207613480993579_r8, 0.0017638517598381565_r8, & + 0.0024347563200426015_r8, 0.0032811040582532923_r8, & + 0.004067006687126601_r8, 0.0049178033070437204_r8, & + 0.0058132393833605512_r8, 0.0065448860275922312_r8, & + 0.0073204877952426578_r8, 0.0080246262621640977_r8, & + 0.0086631505385523274_r8, 0.0092601471368127727_r8, & + 0.0097966061106392176_r8, 0.010880092545153363_r8, 0.011618368590843212_r8, & + 0.012076614105072381_r8, 0.012422123518101298_r8, 0.012775331933355396_r8, & + 0.013120247110072543_r8, 0.013544476991661988_r8, 0.01348734225857753_r8, & + 0.01341517310496252_r8, 0.013244043376726843_r8, 0.013135065101843616_r8, & + 0.013059153944165588_r8, 0.013117268755211998_r8, 0.013796617726162667_r8, & + 0.013767333439354667_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,43) / & + 0.0001638800417867852_r8, 0.00016978229882145187_r8, & + 0.00017883242627460738_r8, 0.00015128856011282959_r8, & + 0.00015254055402927409_r8, 0.00015441258302814815_r8, & + 0.00018640400853119998_r8, 0.00020391999960983704_r8, & + 0.00022909103920616295_r8, 0.00025568100524112595_r8, & + 0.00029736644078293334_r8, 0.00043072167851164445_r8, & + 0.0010652441191172741_r8, 0.0017127634489507557_r8, & + 0.0021957111594055113_r8, 0.002602370707218252_r8, & + 0.0033309357765762375_r8, 0.0041759005089088003_r8, & + 0.0049901615809095114_r8, 0.0058033972102738965_r8, & + 0.0067451708817265772_r8, 0.0075556521244747859_r8, & + 0.0083981844114839714_r8, 0.0091622584130626374_r8, & + 0.0098254217049758823_r8, 0.01048983699080557_r8, 0.011031544949072119_r8, & + 0.012095465531763437_r8, 0.012918454789924504_r8, 0.013408425590062931_r8, & + 0.013786977874451496_r8, 0.01402942947730886_r8, 0.014107865405705158_r8, & + 0.014158125509105661_r8, 0.014041854026460623_r8, 0.013925928332611557_r8, & + 0.013712556151549799_r8, 0.013085840414677335_r8, 0.0127503239306976_r8, & + 0.0124523672642112_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,43) / & + 0.00016081286612016461_r8, 0.00018368540377064032_r8, & + 0.00020908146639715553_r8, 0.00020383649291754399_r8, & + 0.00020435604217731689_r8, 0.00020530854915356707_r8, & + 0.00021430169943582547_r8, 0.00021213691085343863_r8, & + 0.0002889807204179358_r8, 0.00040787090936262053_r8, & + 0.00056479952625495958_r8, 0.00076691655852706496_r8, & + 0.0014686544253935802_r8, 0.0020606684366842602_r8, & + 0.0024766171000143011_r8, 0.0028503585710980351_r8, & + 0.0035989548331078723_r8, 0.0046680140266337844_r8, & + 0.0056483663691637197_r8, 0.0065285694067622052_r8, & + 0.0074009297245822168_r8, 0.0083104872953578667_r8, & + 0.0092625242032301821_r8, 0.010179033837910412_r8, 0.010760916638635522_r8, & + 0.011401681688801554_r8, 0.011968732595182196_r8, 0.012998623031864937_r8, & + 0.01383032862010772_r8, 0.014338633349472619_r8, 0.014703593510299656_r8, & + 0.01486262042583935_r8, 0.01486411567623876_r8, 0.014783622651635379_r8, & + 0.014641094959442182_r8, 0.014425931718329923_r8, 0.014056563208541329_r8, & + 0.013687498575427564_r8, 0.013533182007901511_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,43) / & + 0.00015908074829137117_r8, 0.00018699549770956372_r8, & + 0.00021843483670076042_r8, 0.00028077521373018598_r8, & + 0.00027837849282054319_r8, 0.00026511321933669126_r8, & + 0.00022953408968338435_r8, 0.00022011382300644606_r8, & + 0.00034142378776456949_r8, 0.00056794595544920493_r8, & + 0.0008500669215618106_r8, 0.0012152144013250368_r8, & + 0.0021493588050646912_r8, 0.0027111911996909035_r8, & + 0.0030515255688601806_r8, 0.0033222012313775398_r8, & + 0.0041140803832613922_r8, 0.0053846500659166284_r8, & + 0.0063289324709371779_r8, 0.0072683445340023028_r8, & + 0.0082235467583544886_r8, 0.0091624333371560021_r8, & + 0.010174580112318575_r8, 0.011002025577166379_r8, 0.011609241868803528_r8, & + 0.012205038490224144_r8, 0.012799015141756151_r8, 0.013912208695804415_r8, & + 0.014683709311611629_r8, 0.015197389404325924_r8, 0.015516012301725498_r8, & + 0.015636707065394512_r8, 0.015605395893296882_r8, 0.015482906793117972_r8, & + 0.015321262706955325_r8, 0.015068415059332686_r8, 0.014727773089618855_r8, & + 0.014294812735340485_r8, 0.014113760748450485_r8, 0.014014011659362132_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,43) / & + 0.00016430400430159014_r8, 0.00017970253102052346_r8, & + 0.00019876168941424194_r8, 0.00030669727118743696_r8, & + 0.00029560927089714571_r8, 0.0002736587440066765_r8, & + 0.00019848316309116048_r8, 0.00021809937413104198_r8, & + 0.00042712674802457273_r8, 0.00073655622980985666_r8, & + 0.0012286989795365925_r8, 0.0018960745759563061_r8, & + 0.003198145346887506_r8, 0.0037213504132169481_r8, & + 0.0039517314718800585_r8, 0.004157191056206498_r8, & + 0.0048658681273917228_r8, 0.0059496007873435256_r8, & + 0.0069404101027572699_r8, 0.0079352563919609116_r8, & + 0.0089584244976955146_r8, 0.0098859834693480579_r8, & + 0.010934963338916324_r8, 0.011736311754633012_r8, 0.012406663272183266_r8, & + 0.012999829840344351_r8, 0.013604760829866063_r8, 0.014770723413023334_r8, & + 0.01552905111708739_r8, 0.015976485418275205_r8, 0.016264930925826905_r8, & + 0.016383911402626107_r8, 0.016338168427744316_r8, 0.016170824554942086_r8, & + 0.015968043891738413_r8, 0.015682103700041777_r8, 0.015416439087823343_r8, & + 0.014950959738794671_r8, 0.014619843714336356_r8, 0.014481508642293601_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,43) / & + 0.00018365289705038842_r8, 0.00018697795801270056_r8, & + 0.00019208154095941212_r8, 0.00021713965451105707_r8, & + 0.00021221119409732623_r8, 0.00020844549943075635_r8, & + 0.0001971642413400765_r8, 0.00022478788234329945_r8, & + 0.00036405576422696346_r8, 0.00059096934099503852_r8, & + 0.0010062133552312107_r8, 0.0016500681358961934_r8, & + 0.0029249198147098436_r8, 0.003684513701636707_r8, & + 0.0041584058140385349_r8, 0.0045954156020604113_r8, & + 0.0054892421618967253_r8, 0.0066486087758635881_r8, & + 0.0076962042272661407_r8, 0.0087417723675572_r8, 0.009771262542634402_r8, & + 0.010807832026419604_r8, 0.011717808527012197_r8, 0.012545148536389958_r8, & + 0.013255939822964217_r8, 0.013886221324231812_r8, 0.014467957525470214_r8, & + 0.015597521613394668_r8, 0.016302719127286106_r8, 0.016737853634168749_r8, & + 0.017002461433654623_r8, 0.017102911381988804_r8, 0.017093318951739458_r8, & + 0.016957435150094312_r8, 0.016776996480210218_r8, 0.016476985135481917_r8, & + 0.016113027683164752_r8, 0.015703126185676999_r8, 0.015372186754519112_r8, & + 0.015296859208266666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,43) / & + 0.00021187428902909631_r8, 0.0002099773721633317_r8, & + 0.00020825032844972517_r8, 0.00020741511878494812_r8, & + 0.00020650912864010536_r8, 0.00020541910924709139_r8, & + 0.00019726519794350617_r8, 0.00020752836755305349_r8, & + 0.00021801803469881153_r8, 0.00027709142336176468_r8, & + 0.00038534308957446591_r8, 0.00058419377027144688_r8, & + 0.0013362222148750223_r8, 0.0023362654616293139_r8, & + 0.0033920129461954235_r8, 0.0043495879049102086_r8, & + 0.0060208707563209219_r8, 0.0073990657958749899_r8, & + 0.0085158118981618434_r8, 0.0096378665364536351_r8, 0.01074137668896818_r8, & + 0.011876086877095742_r8, 0.012703680562217615_r8, 0.013474989609591124_r8, & + 0.014150617604011628_r8, 0.014761382366499792_r8, 0.015309775369953937_r8, & + 0.016382807447752126_r8, 0.017074040768515146_r8, 0.017509344259944087_r8, & + 0.017737268022828118_r8, 0.017819748516248842_r8, 0.017848575636267659_r8, & + 0.017749650562240774_r8, 0.017622187809801061_r8, 0.017337164675285632_r8, & + 0.016906890389752797_r8, 0.016506154820850872_r8, 0.016196082929457511_r8, & + 0.015773580037290989_r8, 0.015473266448454365_r8, 0.015293172392744895_r8, & + 0.015232625089060167_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,43) / & + 0.00021813311445775802_r8, 0.00021232129362804935_r8, & + 0.00020421687010923457_r8, 0.00020868525496825678_r8, & + 0.00020068304940373333_r8, 0.00020189506229033086_r8, & + 0.00018670839479561482_r8, 0.00019646290814799011_r8, & + 0.00020296104952794071_r8, 0.00022845712784118515_r8, & + 0.00027969752807095304_r8, 0.00038972785458315053_r8, & + 0.00072903305257086403_r8, 0.0012350411314428838_r8, & + 0.0021386770525082862_r8, 0.0031616305313615007_r8, & + 0.005404526089552276_r8, 0.0075848350545869416_r8, & + 0.0092504912223295224_r8, 0.010485371725558516_r8, 0.011679511072719959_r8, & + 0.012801484544151703_r8, 0.013637087115353757_r8, 0.014429307291562193_r8, & + 0.015110078867142638_r8, 0.01571199659226975_r8, 0.016115397923559982_r8, & + 0.017186255116563593_r8, 0.017810867052863995_r8, 0.018196382067473857_r8, & + 0.01837018596706036_r8, 0.018412654919467548_r8, 0.018395258831751631_r8, & + 0.018299985179349897_r8, 0.018163673886661142_r8, 0.017912062827612443_r8, & + 0.017526742079267757_r8, 0.017137486200442944_r8, 0.0167679620895896_r8, & + 0.016379610109532015_r8, 0.016099107302158917_r8, 0.015939397172388486_r8, & + 0.015717740876236799_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,43) / & + 0.0001922062594938733_r8, 0.00018705948993962142_r8, & + 0.00017804511870278853_r8, 0.00018204816168942883_r8, & + 0.00018933189404106006_r8, 0.00018921150177078519_r8, & + 0.00020621690994711441_r8, 0.00022778217536010539_r8, & + 0.00023484017220497122_r8, 0.00025768460548963298_r8, & + 0.00030982950755244779_r8, 0.00039457061679219096_r8, & + 0.0006500881614168758_r8, 0.00095141496488115895_r8, & + 0.001473601388164741_r8, 0.0020697237144308941_r8, & + 0.0039256458058873553_r8, 0.0067727424094832589_r8, & + 0.0093334859982303238_r8, 0.011301884568191105_r8, 0.012870625947940586_r8, & + 0.01397996547335484_r8, 0.014823132738225081_r8, 0.01560798499718092_r8, & + 0.016287569264815147_r8, 0.016862653041850764_r8, 0.017017131373647236_r8, & + 0.01797870443633284_r8, 0.018516948178664335_r8, 0.018807183844229546_r8, & + 0.018905092858030607_r8, 0.018893595396219352_r8, 0.018838350393196958_r8, & + 0.018753549087822081_r8, 0.018596166292505222_r8, 0.018373907112543976_r8, & + 0.018094250917729173_r8, 0.017753706332222841_r8, 0.017404704189729701_r8, & + 0.017062203229831402_r8, 0.016792629887652125_r8, 0.016656041094766805_r8, & + 0.016479660237960918_r8, 0.016339605061383024_r8, 0.01628716896051648_r8 & + / +data delta_sa_ref(:,29,43) / & + 0.00018328080558027322_r8, 0.00018278494949483455_r8, & + 0.00018441197727518023_r8, 0.00021252081911848556_r8, & + 0.00022820226782048394_r8, 0.0002352217305299753_r8, & + 0.00026467868110556709_r8, 0.0002768116596961449_r8, & + 0.00029054067506172841_r8, 0.0003270015928441415_r8, & + 0.00038684522415552262_r8, 0.00049227662432192254_r8, & + 0.00072439925431790617_r8, 0.0010345262447544624_r8, & + 0.0014080298411111502_r8, 0.0018883749283772047_r8, & + 0.0034076934696640002_r8, 0.005873368845513191_r8, & + 0.0088510621160858317_r8, 0.011481997027910137_r8, 0.013622344325203543_r8, & + 0.015032543536688489_r8, 0.016081542580936692_r8, 0.016979135068596728_r8, & + 0.017700109816824568_r8, 0.01833183046967346_r8, 0.018527290740352313_r8, & + 0.019398385918446722_r8, 0.019689422449593888_r8, 0.019769146810830827_r8, & + 0.019735970939614444_r8, 0.01964932008868403_r8, 0.019544043643544336_r8, & + 0.01941687205313198_r8, 0.019220544034303604_r8, 0.018998199066492368_r8, & + 0.01874856651847933_r8, 0.0184917421202896_r8, 0.018126056005029902_r8, & + 0.017771578949014089_r8, 0.017450115061436622_r8, 0.017192659221513088_r8, & + 0.016979620409876783_r8, 0.016813397662387489_r8, 0.016749490944252803_r8 & + / +data delta_sa_ref(:,30,43) / & + 0.00024172811469688884_r8, 0.00025467299560000002_r8, & + 0.00027871348870577776_r8, 0.00033404807197511102_r8, & + 0.00036409868835733336_r8, 0.00037208561610666663_r8, & + 0.0003867681719093334_r8, 0.00038597107333155549_r8, & + 0.00042203181299022219_r8, 0.00049224025572088893_r8, & + 0.00058647324958577773_r8, 0.00072371768270755555_r8, & + 0.0009927065687644445_r8, 0.0013108126691839998_r8, & + 0.0016384042426791112_r8, 0.0021180343988995549_r8, & + 0.0035243394777013329_r8, 0.0056329840553546668_r8, & + 0.0086633137184924432_r8, 0.011513993304170668_r8, 0.01391034264248711_r8, & + 0.015686581171235555_r8, 0.01695584906254578_r8, 0.018053182790629334_r8, & + 0.01887862619383289_r8, 0.019591184496451555_r8, 0.020041656786696893_r8, & + 0.020948101347374227_r8, 0.021208322149075556_r8, 0.021151425252593774_r8, & + 0.020964952011308446_r8, 0.020738974564508444_r8, 0.020524937654403556_r8, & + 0.020313244214117329_r8, 0.020073779859381337_r8, 0.019902308013329782_r8, & + 0.019745024521962671_r8, 0.019506452917633779_r8, 0.019143215095740442_r8, & + 0.018774684539290667_r8, 0.018429413319340442_r8, 0.018144621953979111_r8, & + 0.017924849919607109_r8, 0.017872392933373071_r8, 0.017979927837134396_r8 & + / +data delta_sa_ref(:,31,43) / & + 0.00038189982760017112_r8, 0.0004062038847743999_r8, & + 0.000433982291322153_r8, 0.00046882411570004271_r8, & + 0.00049109600625956871_r8, 0.00052546256586466489_r8, & + 0.00064175493923508133_r8, 0.00079787122287749773_r8, & + 0.00095549524304050027_r8, 0.0010924698282476512_r8, & + 0.0012326729362217084_r8, 0.0014014902612060178_r8, & + 0.0017322745430702353_r8, 0.0021543588266321112_r8, & + 0.0026828860308592715_r8, 0.0034407694590603576_r8, & + 0.0053935176913854129_r8, 0.0078038967345892057_r8, & + 0.010687491995531271_r8, 0.013244973680134844_r8, 0.015278943023286253_r8, & + 0.016813982685647225_r8, 0.01800529119819546_r8, 0.018995661042494734_r8, & + 0.019833765886655263_r8, 0.020520375987377774_r8, 0.021007833759859408_r8, & + 0.021863343127768439_r8, 0.022229542829425984_r8, 0.022186457619506196_r8, & + 0.021922194017392614_r8, 0.02162936536359011_r8, 0.02134135491127729_r8, & + 0.02112271672735188_r8, 0.020894802686136776_r8, 0.020712251848062784_r8, & + 0.020555463638362279_r8, 0.020354934681124339_r8, 0.020060303298873306_r8, & + 0.019718342100628224_r8, 0.019278935235520052_r8, 0.018888767439717319_r8, & + 0.018633462578570889_r8, 0.018514897399213207_r8, 0.018527817611070689_r8 & + / +data delta_sa_ref(:,32,43) / & + 0.00078373236879747171_r8, 0.00083644246989952268_r8, & + 0.00088772160370880003_r8, 0.00104586874192428_r8, & + 0.0010362896785173598_r8, 0.0011840160078595819_r8, & + 0.0013862537736018172_r8, 0.0016202253434249747_r8, & + 0.0018355101638954405_r8, 0.0020348018205054949_r8, & + 0.0022185043510789797_r8, 0.0024557587282208527_r8, & + 0.0029226412685795814_r8, 0.0035688997678148212_r8, & + 0.0043636926720399677_r8, 0.0055025406181758822_r8, & + 0.0080889382427723061_r8, 0.010760806702020636_r8, 0.013141262880822941_r8, & + 0.01521002071344049_r8, 0.01682642453244829_r8, 0.018092308704363857_r8, & + 0.019142049475433288_r8, 0.020066858384388913_r8, 0.020845674959662972_r8, & + 0.021459307404622978_r8, 0.021905887044333643_r8, 0.022668289583014128_r8, & + 0.022978725310999377_r8, 0.022979499716828406_r8, 0.022716942470968428_r8, & + 0.022441674868566762_r8, 0.022136929339933949_r8, 0.021912166465512521_r8, & + 0.021719743451907778_r8, 0.021500134164104009_r8, 0.021309178493221118_r8, & + 0.021186342276695115_r8, 0.021015684395862808_r8, 0.020899929663695759_r8, & + 0.020678566539088193_r8, 0.02064945399051411_r8, 0.020457988041504605_r8, & + 0.020408809062633839_r8, 0.020410096933197334_r8 & + / +data delta_sa_ref(:,33,43) / & + 0.0018610143383092936_r8, 0.0019659814295710813_r8, & + 0.0020718644338781232_r8, 0.00253163550121758_r8, 0.0027238389896952885_r8, & + 0.0029531283158166911_r8, 0.0029746781944474869_r8, & + 0.0034587295981752886_r8, 0.0038691968934749235_r8, & + 0.004342551124089284_r8, 0.0048347247755768877_r8, & + 0.0054868721451761778_r8, 0.0064053255530277129_r8, & + 0.0076357942445031499_r8, 0.0089102786062854322_r8, & + 0.010282022564646796_r8, 0.012854684057740481_r8, 0.015052737115325152_r8, & + 0.016758512833152946_r8, 0.018161812588130054_r8, 0.019275096253947573_r8, & + 0.020269743258337341_r8, 0.021053972201613591_r8, 0.021748994670557707_r8, & + 0.022306215429636577_r8, 0.022756792803767068_r8, 0.023093537739612837_r8, & + 0.023615815551946348_r8, 0.023787799827915616_r8, 0.02373348445619421_r8, & + 0.023489523239970524_r8, 0.023188706289428224_r8, 0.022876898382342876_r8, & + 0.022591461858409559_r8, 0.022340817069162255_r8, 0.022139819519346734_r8, & + 0.021974266076244735_r8, 0.021866381888340707_r8, 0.021800525580214645_r8, & + 0.02177791937734062_r8, 0.021777184610170554_r8, 0.021748462650985595_r8, & + 0.02159515713781477_r8, 0.020981336840849279_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,43) / & + 0.0027783613807308249_r8, 0.0028810587989692043_r8, & + 0.0029924605901326747_r8, 0.0039536112762418177_r8, & + 0.0044421907422611106_r8, 0.0048919107674417111_r8, & + 0.0050697388016811718_r8, 0.0058218072591171826_r8, & + 0.0066037294110661256_r8, 0.0081784940687763489_r8, & + 0.0094066438600276005_r8, 0.010641175676234111_r8, 0.011687969591673418_r8, & + 0.013044628546537649_r8, 0.014250529889680986_r8, 0.015422766051185333_r8, & + 0.017204716057929201_r8, 0.018575486379083406_r8, 0.019677733000245064_r8, & + 0.020632218015845388_r8, 0.021487054802908169_r8, 0.022267540999242177_r8, & + 0.022876191173655833_r8, 0.023420524718798155_r8, 0.02385047819446455_r8, & + 0.02420712702238096_r8, 0.024456052587406716_r8, 0.024758923991151514_r8, & + 0.024800688582933373_r8, 0.024597053235281083_r8, 0.024258344988627799_r8, & + 0.023833203990311094_r8, 0.023456426458289773_r8, 0.023220298816025234_r8, & + 0.022962327300449056_r8, 0.022774962001039598_r8, 0.022609732767850207_r8, & + 0.022532296265451612_r8, 0.022462574668855071_r8, 0.022427408318449315_r8, & + 0.022421349573448636_r8, 0.022422258125612403_r8, 0.022419619335571878_r8, & + 0.022184384100467504_r8, 0.022284704594292493_r8 & + / +data delta_sa_ref(:,35,43) / & + 0.0031740715892611686_r8, 0.0032984929564844772_r8, & + 0.0034948482663706326_r8, 0.0052663351939181554_r8, & + 0.0057080982925300401_r8, 0.0062837697513086427_r8, & + 0.0067274593274147827_r8, 0.0077867856831473252_r8, & + 0.0093188805205596699_r8, 0.011578420529529152_r8, 0.012680947234354567_r8, & + 0.013511786089542061_r8, 0.014470953789889315_r8, 0.015539549046773463_r8, & + 0.016433598172951702_r8, 0.017312471745283685_r8, 0.018554904334550388_r8, & + 0.019624899013765264_r8, 0.020551025807654458_r8, 0.021404618906453333_r8, & + 0.022154527532566127_r8, 0.022810075110092375_r8, 0.023385419431183274_r8, & + 0.023958691880252042_r8, 0.024380372359702116_r8, 0.024714870645379163_r8, & + 0.02495964233304546_r8, 0.025244452038823501_r8, 0.025324091891463368_r8, & + 0.02512882704053623_r8, 0.024786241184246518_r8, 0.024357718074828644_r8, & + 0.023886562563692374_r8, 0.02360876295122227_r8, 0.023310922001250952_r8, & + 0.023056322552216547_r8, 0.02288987171620761_r8, 0.022840392725116856_r8, & + 0.022784145878386935_r8, 0.022721553534139627_r8, 0.022685334523990474_r8, & + 0.022692218825068496_r8, 0.022744706898711668_r8, 0.0227113002990527_r8, & + 0.022795035863616_r8 & + / +data delta_sa_ref(:,36,43) / & + 0.0033044817244465784_r8, 0.0035101669141110519_r8, & + 0.0038206685018038911_r8, 0.0058899218411714764_r8, & + 0.0064559564596234666_r8, 0.0070469033606322517_r8, & + 0.0081080134415961735_r8, 0.0090935440843743793_r8, & + 0.010259198234387958_r8, 0.012050631791106143_r8, 0.01308648510499319_r8, & + 0.013528558830973236_r8, 0.014527757129845387_r8, 0.015548583470343044_r8, & + 0.016472081295927834_r8, 0.017319054678494799_r8, 0.018611562925429363_r8, & + 0.019421427411350254_r8, 0.020302737521215905_r8, 0.021364401570529684_r8, & + 0.022198473076780453_r8, 0.0229070032514435_r8, 0.023525466019750606_r8, & + 0.024172188156694727_r8, 0.024690187800464659_r8, 0.025137015811838619_r8, & + 0.025442001657042006_r8, 0.025780440074776808_r8, 0.025987681097519907_r8, & + 0.025779962917164539_r8, 0.025475573934619012_r8, 0.025212109114533639_r8, & + 0.02487633346903512_r8, 0.024537537266219614_r8, 0.024124269561918103_r8, & + 0.023550347711017976_r8, 0.02323015347277832_r8, 0.023129640338133212_r8, & + 0.023028417751584592_r8, 0.022908648863306309_r8, 0.022587300668427204_r8, & + 0.022549701313608228_r8, 0.02253117097255131_r8, 0.022389464139585067_r8, & + 0.0223335319570344_r8 & + / +data delta_sa_ref(:,37,43) / & + 0.0023357681825276677_r8, 0.0024685944423042702_r8, & + 0.0029851644810274833_r8, 0.0052190481798311539_r8, & + 0.0061765985131736617_r8, 0.0069658350474029905_r8, & + 0.0086978829278224166_r8, 0.0092413497113733988_r8, & + 0.0096273567300110829_r8, 0.010654252281852834_r8, 0.012161127812462468_r8, & + 0.012486699467891152_r8, 0.013783388488682189_r8, 0.015046902871346709_r8, & + 0.016305171035335284_r8, 0.017373466021405326_r8, 0.018915226114219263_r8, & + 0.019531803898886053_r8, 0.020307162536762_r8, 0.021414883836783385_r8, & + 0.022520689899262449_r8, 0.023277373592129665_r8, 0.0240590750881618_r8, & + 0.024747738532373723_r8, 0.025318369002305042_r8, 0.025809734991652566_r8, & + 0.026189142016597718_r8, 0.026515147111562644_r8, 0.026726083713524494_r8, & + 0.026442101483888293_r8, 0.026078002058841452_r8, 0.025866692623971368_r8, & + 0.025641053126444581_r8, 0.025279045957961977_r8, 0.02490880418736139_r8, & + 0.024175580775416653_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,43) / & + 0.0017714356509781054_r8, 0.0018801374195343997_r8, & + 0.0025051563803548185_r8, 0.0044546149057316563_r8, & + 0.0057500013249512875_r8, 0.0068329836609056002_r8, & + 0.0086905183355057061_r8, 0.0091782160242802648_r8, & + 0.009387251899634132_r8, 0.0099341434903519998_r8, 0.011807168157983997_r8, & + 0.011993680318980265_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,43) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,43) / & + 0.0024566627379313481_r8, 0.0024054611806455868_r8, & + 0.0035775562194174807_r8, 0.003479900989772839_r8, & + 0.0059025528357116034_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,43) / & + 0.0035110839478893559_r8, 0.0033157110509988343_r8, & + 0.0038396712813591172_r8, 0.0033638404047551737_r8, & + 0.0052751509836343833_r8, 0.0097550399218714074_r8, & + 0.012196756257205095_r8, 0.013182269954843494_r8, 0.011587537649379732_r8, & + 0.0067438411815153769_r8, 0.0042698889389516798_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,43) / & + 0.003876152502505165_r8, 0.0037044369051507349_r8, & + 0.0035610825713826831_r8, 0.0041513210696854331_r8, & + 0.0047171627166390628_r8, 0.0080747398079354504_r8, & + 0.010582501108291432_r8, 0.013621008085950648_r8, 0.010656289102078905_r8, & + 0.0062624021704195182_r8, 0.0032319465494617733_r8, & + 0.0029117365055790689_r8, 0.0020568344856155135_r8, & + 0.0022293236342461865_r8, 0.0023304926338044082_r8, & + 0.0022927100879978307_r8, 0.0023499209175110399_r8, & + 0.002386360936309262_r8, 0.0023893528536421691_r8, & + 0.0024911355798327823_r8, 0.0025714186949324438_r8, & + 0.0026306816728727104_r8, 0.002733416953940681_r8, 0.002862619196030518_r8, & + 0.0030254165782580148_r8, 0.0032237269963493929_r8, & + 0.0034183294827034071_r8, 0.0038781130181364141_r8, & + 0.0038539475319860142_r8, 0.0037662357674401186_r8, & + 0.003770391208180267_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,43) / & + 0.0030393534010995354_r8, 0.0033125763739701199_r8, & + 0.0029180476638667849_r8, 0.0042690760590917004_r8, & + 0.0043228435333676771_r8, 0.0047560532486189827_r8, & + 0.0071325668404141835_r8, 0.0094408843290290038_r8, & + 0.0062042227168628925_r8, 0.0032021469284343055_r8, & + 0.002263408929350058_r8, 0.0024564631069706536_r8, & + 0.0022065276780156838_r8, 0.0023675231087392661_r8, & + 0.0023921701891169976_r8, 0.0024114668356760758_r8, & + 0.0024244043600736395_r8, 0.0024540071701358618_r8, & + 0.0024854519328241773_r8, 0.0025840402543351047_r8, & + 0.0026756993254907261_r8, 0.0027525789196226904_r8, & + 0.0028905937985350058_r8, 0.0030584746235989852_r8, & + 0.0031780699762503639_r8, 0.0033715188580051218_r8, & + 0.0035580384894045762_r8, 0.0040192721981814512_r8, & + 0.0039994931354583978_r8, 0.003910553137227009_r8, 0.003902001214320145_r8, & + 0.0038994865417511025_r8, 0.003829222157581985_r8, & + 0.0038467371535354663_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,43) / & + 0.0026286905065731159_r8, 0.0031536530233414063_r8, & + 0.0025385964412490271_r8, 0.0038125842428513709_r8, & + 0.0038801322457820454_r8, 0.0040401191045257223_r8, & + 0.0051092533832214912_r8, 0.0045077244385651628_r8, & + 0.0024897616701048892_r8, 0.0021533744191951274_r8, & + 0.0022632188351758491_r8, 0.002429202946516175_r8, & + 0.0023649466686949398_r8, 0.0024438578870718949_r8, & + 0.0024922868290929521_r8, 0.0025411666923618767_r8, & + 0.0025415274293601711_r8, 0.0025484265244525568_r8, & + 0.0026077677606720267_r8, 0.0027476886238855637_r8, & + 0.0028446366921772506_r8, 0.0029566906222725266_r8, & + 0.0030883145345252877_r8, 0.0032968205195395947_r8, & + 0.0034250174303085568_r8, 0.003620401607009896_r8, & + 0.0038236769055489317_r8, 0.0041911777225616068_r8, & + 0.0043741164728217817_r8, 0.0042836616704993984_r8, & + 0.0042202170509243265_r8, 0.0041963182247873052_r8, & + 0.0039451889088182451_r8, 0.0039681480472833694_r8, & + 0.0041243196291401727_r8, 0.0041490954971042972_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,43) / & + 0.0025145575930026662_r8, 0.0033524037169493336_r8, & + 0.0028435343873706664_r8, 0.0039410039383893326_r8, & + 0.0040309733701119985_r8, 0.0043507308457813336_r8, & + 0.0038733183875413325_r8, 0.0025505083031039997_r8, & + 0.0022397848331946663_r8, 0.0022788858632533334_r8, & + 0.0023269282426026669_r8, 0.0023998488839679995_r8, & + 0.0023981347392853323_r8, 0.0024579444902399997_r8, & + 0.0025151598600533331_r8, 0.0025711706957653323_r8, & + 0.0025762668015786661_r8, 0.0025853934638079995_r8, & + 0.0026640588062720001_r8, 0.0027932682527573331_r8, & + 0.0028936615372799988_r8, 0.0030294959213226667_r8, & + 0.0031625969395200001_r8, 0.0033432307264853337_r8, & + 0.003538874861482666_r8, 0.003707880261546666_r8, 0.0039410502666239995_r8, & + 0.0042829989666986678_r8, 0.0043761650466133334_r8, & + 0.0042382922202453327_r8, 0.0042065573794986665_r8, & + 0.004209383401813334_r8, 0.0041619317074560007_r8, & + 0.0041741871801051428_r8, 0.0042157634615588571_r8, & + 0.0042378620294948564_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,44) / & + 0.0039223684503703693_r8, 0.0039999038986666671_r8, & + 0.0043893672622222222_r8, 0.0056156177235555547_r8, & + 0.0058991951111111102_r8, 0.0062293170648888892_r8, & + 0.0069759105448888884_r8, 0.0075459441937777783_r8, & + 0.0079262550684444447_r8, 0.0080754572782222225_r8, & + 0.0081952716782222219_r8, 0.0077021777624043117_r8, & + 0.0077983544755973622_r8, 0.0077692107981685386_r8, & + 0.0077284567274034204_r8, 0.0076625061724928988_r8, & + 0.0075169183872815463_r8, 0.0075696779334371309_r8, & + 0.0076206614856294602_r8, 0.0077284845263046031_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,44) / & + 0.0039223684503703693_r8, 0.0039999038986666671_r8, & + 0.0043893672622222222_r8, 0.0056156177235555547_r8, & + 0.0058991951111111102_r8, 0.0062293170648888892_r8, & + 0.0069759105448888884_r8, 0.0075459441937777783_r8, & + 0.0079262550684444447_r8, 0.0080754572782222225_r8, & + 0.0081952716782222219_r8, 0.0077021777624043117_r8, & + 0.0077983544755973622_r8, 0.0077692107981685386_r8, & + 0.0077284567274034204_r8, 0.0076625061724928988_r8, & + 0.0075169183872815463_r8, 0.0075696779334371309_r8, & + 0.0076206614856294602_r8, 0.0077284845263046031_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,44) / & + 0.0039223684503703693_r8, 0.0039999038986666671_r8, & + 0.0043893672622222222_r8, 0.0056156177235555547_r8, & + 0.0058991951111111102_r8, 0.0062293170648888892_r8, & + 0.0069759105448888884_r8, 0.0075459441937777783_r8, & + 0.0079262550684444447_r8, 0.0080754572782222225_r8, & + 0.0081952716782222219_r8, 0.0077021777624043117_r8, & + 0.0077983544755973622_r8, 0.0077692107981685386_r8, & + 0.0077284567274034204_r8, 0.0076625061724928988_r8, & + 0.0075169183872815463_r8, 0.0075696779334371309_r8, & + 0.0076206614856294602_r8, 0.0077284845263046031_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,44) / & + 0.0042638431098457451_r8, 0.0042630639060846553_r8, & + 0.0045911708925485007_r8, 0.0053947777417813056_r8, 0.00560115431478836_r8, & + 0.0058684360458641973_r8, 0.0066134809987037036_r8, & + 0.0071681804316754858_r8, 0.0075159254829982366_r8, & + 0.0077139892056172828_r8, 0.0079457008716049375_r8, & + 0.0077233370740850005_r8, 0.0077582032905975989_r8, & + 0.0077224771682492159_r8, 0.0076845532988171214_r8, & + 0.0076536131816572076_r8, 0.0076806669812728599_r8, & + 0.008028846201412896_r8, 0.0083668825644571468_r8, & + 0.0089400263399999989_r8, 0.0090647082000000004_r8, & + 0.0091219944599999995_r8, 0.0092054901199999997_r8, & + 0.0092253343799999984_r8, 0.0092466763199999993_r8, 0.00926389964_r8, & + 0.009288611359999999_r8, 0.0093327929199999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,44) / & + 0.0048005247752125587_r8, 0.0048237486111463853_r8, & + 0.0047521767753703707_r8, 0.0051481019875837739_r8, & + 0.0052529300124691345_r8, 0.0053637672472310396_r8, & + 0.0057236398415961209_r8, 0.0060554786464462069_r8, & + 0.0063203963147354502_r8, 0.0065130127876543206_r8, & + 0.0067191803590211634_r8, 0.0068476452147442687_r8, & + 0.0071104613104585532_r8, 0.0074168119855820098_r8, & + 0.0076040238015520276_r8, 0.007786226346772486_r8, 0.00813107459574074_r8, & + 0.0084175986752998248_r8, 0.0085796617828483232_r8, & + 0.008843027126948854_r8, 0.008978662422830689_r8, 0.0090595239357760139_r8, & + 0.0091551230359435617_r8, 0.0092143817695590838_r8, & + 0.0092595964514109348_r8, 0.0092916542653968242_r8, & + 0.0093244926163139324_r8, 0.0093765317134920628_r8, & + 0.0093328206548148138_r8, 0.0093073004649629632_r8, & + 0.0092902241394814816_r8, 0.0091545052099259259_r8, & + 0.0088865466833333347_r8, 0.0086132325639999997_r8, & + 0.0086588369199999994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,44) / & + 0.0042377317846913577_r8, 0.0042534944044444441_r8, & + 0.0040317822948148152_r8, 0.0041340313120987651_r8, & + 0.0042534666696296295_r8, 0.0044431265782716054_r8, & + 0.0052348538469135786_r8, 0.0057079635629629609_r8, & + 0.0060134070785185182_r8, 0.00627896793037037_r8, 0.0064092383555555549_r8, & + 0.0065625749017283967_r8, 0.0068355594390123453_r8, & + 0.0070521128730864193_r8, 0.0072522842765432088_r8, & + 0.0074048812276543202_r8, 0.0075964640834567899_r8, & + 0.0078961480024691347_r8, 0.0080447696301234588_r8, & + 0.008176001528888888_r8, 0.0083344320360493832_r8, & + 0.0084548912704938261_r8, 0.0086137077538271604_r8, & + 0.0087644869189506171_r8, 0.0089036879545061724_r8, & + 0.0090094708494444439_r8, 0.0091092514682098759_r8, & + 0.0093164316904938253_r8, 0.0094352014124691342_r8, & + 0.0094707227765432073_r8, 0.0094211722186419745_r8, & + 0.0092013211481040552_r8, 0.0088154847389206349_r8, & + 0.0086384587648148138_r8, 0.008727064564444444_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,44) / & + 0.002237386000987654_r8, 0.0022423875125925927_r8, & + 0.0020575534617283948_r8, 0.0018598042320987652_r8, & + 0.0018467966039506175_r8, 0.0018611539930864195_r8, & + 0.0022552657116049384_r8, 0.0027483722291358021_r8, & + 0.0031616856844444443_r8, 0.0036028911185185188_r8, & + 0.0037929855392592592_r8, 0.0039274439214814815_r8, & + 0.0042445360592592591_r8, 0.004595723529382716_r8, & + 0.0049067417427160484_r8, 0.0051417203387654322_r8, & + 0.0054530991046913583_r8, 0.0057811557392592602_r8, & + 0.0060723250701234565_r8, 0.0062902375101234562_r8, & + 0.0064839467017283959_r8, 0.0066607931259259259_r8, & + 0.0068079725432098762_r8, 0.0069891733333333327_r8, & + 0.0071744511412345675_r8, 0.0073215935787654327_r8, & + 0.0074765942138271596_r8, 0.0078735626182716047_r8, & + 0.0082073511145678985_r8, 0.0083420383090123465_r8, & + 0.0085275724988624346_r8, 0.008775082146492065_r8, & + 0.0089784273702751324_r8, 0.0091770938298518512_r8, & + 0.0093490830625343902_r8, 0.0094827642756243388_r8, & + 0.0096016561958730141_r8, 0.0096082675814074085_r8, & + 0.0096410792540740746_r8, 0.0096661653940740746_r8, & + 0.0096911663485714297_r8, 0.00969448264_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,44) / & + 0.00053479194419753077_r8, 0.00055155301728395062_r8, & + 0.00044321158567901234_r8, 0.00044961832790123453_r8, & + 0.00041358155851851843_r8, 0.00041939662469135799_r8, & + 0.00048308500444444445_r8, 0.00058660057827160492_r8, & + 0.00074104651703703708_r8, 0.00091002549876543213_r8, & + 0.0010344161432098765_r8, 0.0011162985614814813_r8, & + 0.0013195670192592589_r8, 0.0015794422340740738_r8, & + 0.0018242481995061732_r8, 0.0020610665382716051_r8, & + 0.0025968292009876542_r8, 0.0031263330404938264_r8, & + 0.0036428754765432093_r8, 0.0041657876750617277_r8, & + 0.0046472733051851848_r8, 0.0050580998720987647_r8, & + 0.0053793892118518512_r8, 0.0056582997545679007_r8, & + 0.0058806312750617293_r8, 0.0060647719555555549_r8, & + 0.0062263827214814804_r8, 0.0065819338024691353_r8, & + 0.0069133833293827168_r8, 0.0072904381367901224_r8, & + 0.0076820629669135804_r8, 0.0080640175916049366_r8, & + 0.0084224900730864201_r8, 0.0087179490553086422_r8, & + 0.0089836393362962962_r8, 0.0092032251101234561_r8, & + 0.0093612580849382707_r8, 0.0094787797402469121_r8, & + 0.0095674479432098763_r8, 0.0096285015155555542_r8, & + 0.0096722520303086403_r8, 0.0096719952521481488_r8, & + 0.0096662513719999992_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,44) / & + 0.00013010401629629629_r8, 0.00014513628592592589_r8, & + 0.00012241222765432101_r8, 0.00024369657283950614_r8, & + 0.00024661797333333328_r8, 0.00028359772641975309_r8, & + 0.00028931109827160493_r8, 0.00030879942814814802_r8, & + 0.00037408718222222223_r8, 0.00043879250518518516_r8, & + 0.00048313122913580243_r8, 0.00054949139604938257_r8, & + 0.00062865118000000008_r8, 0.00071723964537037048_r8, & + 0.00078808344225749557_r8, 0.00088158229055555553_r8, & + 0.0012506635698271604_r8, 0.0018394764618271603_r8, & + 0.0024152428969382712_r8, 0.0030134862863280421_r8, & + 0.0036029317962469136_r8, 0.0041248316740246918_r8, & + 0.0046430139309999998_r8, 0.0050993577203703715_r8, & + 0.0054080767175555553_r8, 0.0056548028566666669_r8, & + 0.0058567016108042325_r8, 0.0062239789054603168_r8, & + 0.0065299208552592599_r8, 0.0068769665930370361_r8, & + 0.0072941911194814805_r8, 0.0077268389764444442_r8, & + 0.0081318726650370359_r8, 0.0084788823475555539_r8, & + 0.0087716690803703694_r8, 0.0090252900944444454_r8, & + 0.0092274630270370358_r8, 0.0093807270004444433_r8, & + 0.0094860333188148144_r8, 0.0095693195809629632_r8, & + 0.0096313096655555545_r8, 0.00966515307333333_r8, 0.0096690220800000008_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,44) / & + 0.00017287110074074073_r8, 0.00017997121333333333_r8, & + 0.00018068307358024688_r8, 0.00018136719901234568_r8, & + 0.00018721000000000002_r8, 0.0002121528434567901_r8, & + 0.00022697247950617287_r8, 0.00027640516444444441_r8, & + 0.00031398583851851848_r8, 0.00036081145086419748_r8, & + 0.00038445075802469135_r8, 0.00043264462123456795_r8, & + 0.00054807807611111114_r8, 0.00058662369061728394_r8, & + 0.00061475141530864194_r8, 0.00065795070061728394_r8, & + 0.00074167220125220454_r8, 0.00093426348171428582_r8, & + 0.0013603787992592592_r8, 0.0018236126099999998_r8, & + 0.0022428451370370365_r8, 0.0030764427311111109_r8, & + 0.0035661632899999999_r8, 0.0040936586666666663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,44) / & + 0.00015061610139951721_r8, 0.00015417783555555554_r8, & + 0.00015427936478835976_r8, 0.00015092114096119927_r8, & + 0.00014961628395943562_r8, 0.00017001953254850086_r8, & + 0.00019402401477072305_r8, 0.00025216245997354499_r8, & + 0.00028799564260846561_r8, 0.00033298243673192233_r8, & + 0.0003553987706296296_r8, 0.00038510034700881836_r8, & + 0.00050908130861728395_r8, 0.0005225503912557319_r8, & + 0.00053984559065079363_r8, 0.00059560422365432088_r8, & + 0.00072307812104761902_r8, 0.00095921698986772472_r8, & + 0.0013741313052910054_r8, 0.0018089547603703704_r8, & + 0.002290069602433862_r8, 0.0031184902952169314_r8, & + 0.0036425275862142855_r8, 0.0041647311602142851_r8, & + 0.0046590970529523813_r8, 0.0050522591512222222_r8, & + 0.0055904150973333329_r8, 0.0062936257799999984_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,44) / & + 0.00012713078063626978_r8, 0.00013135941287830687_r8, & + 0.00013221978645502644_r8, 0.00013610464158730158_r8, & + 0.00014242084944973544_r8, 0.00013267171535714286_r8, & + 0.00013688683765476192_r8, 0.0001814196392738095_r8, & + 0.00021526698440476187_r8, 0.00024042221380952378_r8, & + 0.00025144754559523812_r8, 0.00026793911222222221_r8, & + 0.00031277590722222226_r8, 0.00038547787066666665_r8, & + 0.0004292101266666667_r8, 0.00047277514173333328_r8, & + 0.00061245127466666666_r8, 0.00084076010999999985_r8, & + 0.0012140194080000001_r8, 0.0014512519199999998_r8, & + 0.0018211788799999999_r8, 0.0023202807399999997_r8, & + 0.0031709629799999998_r8, 0.0040452336799999995_r8, 0.00468923608_r8, & + 0.0053133942200000008_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,44) / & + 0.00013791758890499328_r8, 0.00014470685854320989_r8, & + 0.00014254717492768958_r8, 0.00011068555173897706_r8, & + 0.0001219107557883598_r8, 0.00011058517812345677_r8, & + 0.00010980398083950618_r8, 0.00013606931271604937_r8, & + 0.00016873861333333332_r8, 0.00021458888469135803_r8, & + 0.00023401712246913582_r8, 0.00023415579654320986_r8, & + 0.00027336265525925921_r8, 0.00036247785098765431_r8, & + 0.00042623134152028233_r8, 0.00048534942000352728_r8, & + 0.0006528295743690475_r8, 0.00095556500812698391_r8, & + 0.0014483503878690478_r8, 0.0019910737379523805_r8, & + 0.002440529288904762_r8, 0.0029141725947261906_r8, & + 0.0035983295339047619_r8, 0.0040282334519166664_r8, & + 0.0046874279434166661_r8, 0.0053510983139999999_r8, & + 0.0058242760463809527_r8, 0.006851249486_r8, 0.0076264361733333341_r8, & + 0.0085337806399999987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,44) / & + 0.0001288808779453263_r8, 0.00013393637338624339_r8, & + 0.00013494275095238096_r8, 0.00012667662052028218_r8, & + 0.0001349790703527337_r8, 0.00014000666589065254_r8, & + 0.00015020663930335096_r8, 0.00012722025590828921_r8, & + 0.00013501357378306879_r8, 0.0001631490576190476_r8, & + 0.00019602802022927686_r8, 0.00022599367166666664_r8, & + 0.00028478504063492063_r8, 0.00035609785305114637_r8, & + 0.00042990349703703694_r8, 0.00050454019493827152_r8, & + 0.0007045501421516756_r8, 0.00096685700685537922_r8, & + 0.0012656959715273367_r8, 0.001695889792643739_r8, & + 0.0022064509187195765_r8, 0.0027011629188342153_r8, & + 0.0033819211463086418_r8, 0.0040342384437901226_r8, & + 0.0047567040216419752_r8, 0.0054476813397407401_r8, & + 0.0061479312318730153_r8, 0.0074445710683597871_r8, & + 0.0083993451389999998_r8, 0.0089215995271428577_r8, & + 0.009247300353333333_r8, 0.0094004589344444424_r8, & + 0.0095057749600000012_r8, 0.0094518584800000003_r8, & + 0.0093140719199999999_r8, 0.0093361626999999992_r8, & + 0.0095349797199999996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,44) / & + 0.00011317653432098763_r8, 0.00011616264938271606_r8, & + 0.00012234751308641976_r8, 0.0001366309427160494_r8, & + 0.00014942593728395061_r8, 0.00015453838814814816_r8, & + 0.00017222395506172837_r8, 0.00016816542716049384_r8, & + 0.00015102531160493825_r8, 0.00014112398271604937_r8, & + 0.00014550608345679014_r8, 0.00016946896345679016_r8, & + 0.00021807884888888889_r8, 0.00028242361925925928_r8, & + 0.00034707347259259254_r8, 0.00042145824592592588_r8, & + 0.00061167285086419741_r8, 0.00081970245185185211_r8, & + 0.0010892386271604939_r8, 0.0015057508311111111_r8, & + 0.0020692298187654319_r8, 0.0026607487041975316_r8, & + 0.0034055486661728391_r8, 0.0041963167724691358_r8, & + 0.0049865783882186944_r8, 0.0057289672372751324_r8, & + 0.0064396264676543202_r8, 0.0076801622076049384_r8, & + 0.0085037675092010587_r8, 0.0089735667779435625_r8, & + 0.0092411951611869481_r8, 0.0094122147885170072_r8, & + 0.0095178416845555554_r8, 0.0094318127463809496_r8, & + 0.0093900791800000001_r8, 0.0092963493733333336_r8, & + 0.0095390983399999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,44) / & + 0.00013980823964979092_r8, 0.00013995361075714894_r8, & + 0.00014083552880845432_r8, 0.00019505895185299751_r8, & + 0.00018999034590978106_r8, 0.00017703293454060244_r8, & + 0.00017427088350079994_r8, 0.00018502834544529377_r8, & + 0.0001856098298747259_r8, 0.00018032801297405103_r8, & + 0.00017172204341845592_r8, 0.00016257335506205764_r8, & + 0.00018403982191525923_r8, 0.0002292211620821333_r8, & + 0.0002847819993143703_r8, 0.00036887433921740898_r8, & + 0.00056507687711495626_r8, 0.00077597158826282124_r8, & + 0.0011000813178211159_r8, 0.0017084787849287637_r8, & + 0.0023729701166622943_r8, 0.0032130019062342192_r8, & + 0.0040882038123796274_r8, 0.00496962760191996_r8, 0.0058707734050251975_r8, & + 0.0065630596924855841_r8, 0.0071505527943551452_r8, & + 0.0082587458199668388_r8, 0.0089718007929651088_r8, & + 0.0093795122349391094_r8, 0.0096491119526983544_r8, & + 0.0098512539733086966_r8, 0.0099886189053776525_r8, 0.01000871601101171_r8, & + 0.01010788833620611_r8, 0.010159650237016189_r8, 0.010177569922038759_r8, & + 0.010188608083724529_r8, 0.0096807214116701127_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,44) / & + 0.00017808193056779585_r8, 0.00017490877536639998_r8, & + 0.00016827860443440989_r8, 0.00019274129932568226_r8, & + 0.00019138282393594736_r8, 0.00019696879363552923_r8, & + 0.00015689376963834729_r8, 0.00016612937471333663_r8, & + 0.00016966749345227324_r8, 0.00016925184053451852_r8, & + 0.00016988038884917201_r8, 0.00015251420718785845_r8, & + 0.00016207422429621727_r8, 0.00019748582531371194_r8, & + 0.00026153692615211191_r8, 0.00035863750289003455_r8, & + 0.00059229526992445102_r8, 0.00090731963007836694_r8, & + 0.0012989964709918813_r8, 0.0021410281793546268_r8, & + 0.0029590128457438547_r8, 0.0040473949419465999_r8, & + 0.0050410994137856519_r8, 0.0058222024871311803_r8, & + 0.0066855845624400586_r8, 0.0073299581015963651_r8, & + 0.0078606961881889422_r8, 0.008846202920012888_r8, & + 0.0095160744846513358_r8, 0.0098903170753072527_r8, 0.01016552782383909_r8, & + 0.010333881303729415_r8, 0.010403701000862967_r8, 0.010467815753080237_r8, & + 0.010586185593755952_r8, 0.010626339186292464_r8, 0.010632893323154133_r8, & + 0.010639417046387675_r8, 0.010393051451733607_r8, 0.010379914936784152_r8, & + 0.010369544758553171_r8, 0.010382437095516799_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,44) / & + 0.0001892375029747753_r8, 0.00018424169216857281_r8, & + 0.00017687498809840986_r8, 0.00015271092862688396_r8, & + 0.00015007542673971356_r8, 0.00015180067496304198_r8, & + 0.00017034444727759011_r8, 0.0001592732224824889_r8, & + 0.00014966263728750616_r8, 0.00013480221700803952_r8, & + 0.00013085425634974814_r8, 0.00013056847903668151_r8, & + 0.00015856407137228643_r8, 0.0002138884423130074_r8, & + 0.00032872858478609382_r8, 0.00049383378132412839_r8, & + 0.00082659500152794082_r8, 0.0012778056258254222_r8, & + 0.0020159155037519799_r8, 0.0030381727056262324_r8, & + 0.0040152665076910229_r8, 0.0050486266873951604_r8, & + 0.005986336141981392_r8, 0.0066414965087041181_r8, & + 0.0073066908344189621_r8, 0.0079269122785330572_r8, & + 0.0084270754981243673_r8, 0.0093953102034840877_r8, & + 0.010083526802461308_r8, 0.010530322431880531_r8, 0.01084625541307653_r8, & + 0.010950212656491777_r8, 0.01093807982190036_r8, 0.011040292047047998_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,44) / & + 0.00019189203710820083_r8, 0.00018581405869669135_r8, & + 0.00018079503841132513_r8, 0.00018895784063367905_r8, & + 0.00018806434471474565_r8, 0.00019013813771177613_r8, & + 0.00020345232998526425_r8, 0.00020270223464591278_r8, & + 0.00018316666338133336_r8, 0.00015532488931481808_r8, & + 0.00013794032674396711_r8, 0.00017577601812595884_r8, & + 0.00027933329821171356_r8, 0.00041682136158930705_r8, & + 0.00061101608108117859_r8, 0.00085853926995679353_r8, & + 0.0013450491766677202_r8, 0.0020039183069257222_r8, & + 0.0029744672180532419_r8, 0.0040253232114500744_r8, & + 0.0049546251520236253_r8, 0.0058604355957285531_r8, & + 0.0066867676470519456_r8, 0.0073392816497013591_r8, & + 0.0079555318519372777_r8, 0.0085619853126546446_r8, & + 0.0090162135427389236_r8, 0.0099603905357406423_r8, & + 0.010634454612027418_r8, 0.011121782177812307_r8, 0.011463552836893483_r8, & + 0.011578901269031123_r8, 0.011717609340416548_r8, 0.012201580268953601_r8, & + 0.012687642048853334_r8, 0.012506262377309868_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,44) / & + 0.00019866028624717695_r8, 0.00019305937228977774_r8, & + 0.00018973096030689711_r8, 0.00018082458893201646_r8, & + 0.00018163947600368727_r8, 0.0001807672025185185_r8, & + 0.00020638449750399996_r8, 0.00022143121512316046_r8, & + 0.00022061632805148973_r8, 0.00021478586844009869_r8, & + 0.00020817495360513576_r8, 0.00029229195851041982_r8, & + 0.00057892561664994236_r8, 0.00092082239098798338_r8, & + 0.0013067001126308478_r8, 0.0016985345439947985_r8, & + 0.0023728019480302219_r8, 0.0031603616095932838_r8, & + 0.0040519398842627152_r8, 0.0049781451208368065_r8, & + 0.0057926534421785022_r8, 0.0065758517363157199_r8, & + 0.007277836778070648_r8, 0.0079752194294630454_r8, & + 0.0087350614533066012_r8, 0.0093685773304567968_r8, & + 0.0098441141498885106_r8, 0.010912132691498714_r8, 0.011677380515493779_r8, & + 0.012259034241251115_r8, 0.012691090604884296_r8, 0.012985579233322827_r8, & + 0.013223099959178997_r8, 0.013367652850605208_r8, 0.013273037821156384_r8, & + 0.013092203599504958_r8, 0.01279239172536977_r8, 0.012358179067249401_r8, & + 0.01207343629143464_r8, 0.011925441321936521_r8, 0.011855629520207417_r8, & + 0.011815977312053333_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,44) / & + 0.00019822044635211852_r8, 0.00019519181344948152_r8, & + 0.00019711153745469628_r8, 0.00018115755783371852_r8, & + 0.00018188490668041485_r8, 0.00017964324138240004_r8, & + 0.00020287070947034075_r8, 0.00021059730049754078_r8, & + 0.00023093922070186666_r8, 0.00025323663616616299_r8, & + 0.00028366605021155558_r8, 0.00043836480327774814_r8, & + 0.0010128273071488001_r8, 0.0016905494997475558_r8, & + 0.0022302900390025479_r8, 0.0026820332915588742_r8, & + 0.0033728119921434077_r8, 0.004154175433520594_r8, & + 0.0049922243899337476_r8, 0.0058526065330659557_r8, & + 0.0066895346568301029_r8, 0.0075432514228261924_r8, & + 0.0083160178393104599_r8, 0.0090506044032189654_r8, & + 0.0098562446028235846_r8, 0.010497444344316919_r8, 0.011003464514089008_r8, & + 0.012100866991231524_r8, 0.012903275854156562_r8, 0.013433191222105362_r8, & + 0.013806726588014458_r8, 0.014017633906053215_r8, 0.014062252584484979_r8, & + 0.014044808135915854_r8, 0.013902575665131972_r8, 0.013687074721795022_r8, & + 0.013355542133559212_r8, 0.012904075639794141_r8, 0.012559022837390365_r8, & + 0.012394983528350261_r8, 0.01233143116736121_r8, 0.012270068007163201_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,44) / & + 0.00019363106102914898_r8, 0.00020044705250854978_r8, & + 0.00021154314027084113_r8, 0.0002155387214829037_r8, & + 0.00021369555863275718_r8, 0.00021320074981392596_r8, & + 0.00023076646288243624_r8, 0.00023775563744842803_r8, & + 0.00027450756246712101_r8, 0.00036520601895889383_r8, & + 0.00053332968537729054_r8, 0.00081248845074142551_r8, & + 0.0014578057420407044_r8, 0.002111250268189287_r8, & + 0.0026107474005789893_r8, 0.0030425423163321021_r8, & + 0.0038245134331721083_r8, 0.0048557321222778994_r8, & + 0.0057708934029268135_r8, 0.0066138373364673028_r8, & + 0.0074881645193421685_r8, 0.0084138404873912477_r8, & + 0.0092876976018882208_r8, 0.010140785116214752_r8, 0.010831995925460634_r8, & + 0.011448094756007927_r8, 0.011998866452249018_r8, 0.013062829114940971_r8, & + 0.013884137532878062_r8, 0.014391366053062004_r8, 0.014702254433933696_r8, & + 0.014841901852828354_r8, 0.014824348509980311_r8, 0.01474681506062457_r8, & + 0.014588867446820947_r8, 0.0143681939793587_r8, 0.01401335234962125_r8, & + 0.013598329641472806_r8, 0.01316623735445545_r8, 0.012954450520841331_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,44) / & + 0.00018711084791377117_r8, 0.00019913290253005428_r8, & + 0.00021414124576637364_r8, 0.00025935852581567741_r8, & + 0.00025293736444813167_r8, 0.00024373498149025185_r8, & + 0.00024939995818577115_r8, 0.00027925002769677699_r8, & + 0.00036171260701571681_r8, 0.00053309737708921148_r8, & + 0.00086739508557163439_r8, 0.0012723768358544854_r8, & + 0.0020304840112842794_r8, 0.0026228970267148113_r8, & + 0.0030381962119295472_r8, 0.0034336936120886786_r8, & + 0.004344742341608138_r8, 0.0055712482462561439_r8, & + 0.0065691172294757129_r8, 0.0074558526992861219_r8, & + 0.0083668501620481582_r8, 0.0093007766820687524_r8, & + 0.010263399769558279_r8, 0.011035107054481363_r8, 0.011702377546183992_r8, & + 0.012299229942390339_r8, 0.012884086832836927_r8, 0.01393574196841835_r8, & + 0.014746717987443207_r8, 0.015244144687097992_r8, 0.015536717663380722_r8, & + 0.015654253113123393_r8, 0.01561527756079065_r8, 0.015490404556391453_r8, & + 0.01531182962358903_r8, 0.015057838086441332_r8, 0.014664677443395216_r8, & + 0.014193022268054889_r8, 0.013809837220525966_r8, 0.013655941967426513_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,44) / & + 0.00018743495227559504_r8, 0.00019357579454162962_r8, & + 0.0002033374790077234_r8, 0.00026810148070328883_r8, & + 0.00026091284893613826_r8, 0.00024449305903257286_r8, & + 0.00023898884836215305_r8, 0.00031693642935024197_r8, & + 0.00050194422366755544_r8, 0.00077310949392474064_r8, & + 0.0012644034015239904_r8, 0.0020619038434557231_r8, & + 0.0031739798725706268_r8, 0.0036984847284077826_r8, & + 0.0039866135780564534_r8, 0.0042940137966307156_r8, & + 0.005151092345385402_r8, 0.006226867110392019_r8, 0.0072870311381478311_r8, & + 0.0082681732690979542_r8, 0.0092127090833002273_r8, & + 0.010114484475330371_r8, 0.011081514605911032_r8, 0.01184414620482461_r8, & + 0.012528724117484166_r8, 0.013175873397584871_r8, 0.013799666256021451_r8, & + 0.014808748887703078_r8, 0.01561733567203032_r8, 0.016049167525441232_r8, & + 0.016333574401308251_r8, 0.016432204219679919_r8, 0.016376542770854242_r8, & + 0.016219380740423849_r8, 0.016013439892926914_r8, 0.01572428978009361_r8, & + 0.015325159901223066_r8, 0.014841667241196477_r8, 0.014545177770276288_r8, & + 0.014279652658061505_r8, 0.014168196370932975_r8, 0.014127253001439999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,44) / & + 0.00021056150197274278_r8, 0.00021287640891043427_r8, & + 0.00021588353706046811_r8, 0.00022175661081861502_r8, & + 0.00022055358672184129_r8, 0.00021832838737573384_r8, & + 0.00025474184237429923_r8, 0.00029716917447561409_r8, & + 0.00042385790368796162_r8, 0.000641794047316321_r8, 0.00104777447905463_r8, & + 0.0018245197136877655_r8, 0.0030847672122037689_r8, & + 0.003840215650627934_r8, 0.0043056643464225676_r8, & + 0.0047210112098794894_r8, 0.0056940262897080497_r8, & + 0.0068100790504687404_r8, 0.0079003337203821227_r8, 0.00896732829417019_r8, & + 0.0099551514849999159_r8, 0.010991508469564639_r8, 0.011867085801990767_r8, & + 0.012681088057876789_r8, 0.013379103685671544_r8, 0.014035755654719021_r8, & + 0.014654545550676469_r8, 0.015689143051488229_r8, 0.016479201443595951_r8, & + 0.016896495074104987_r8, 0.01714004317261952_r8, 0.017196423034922581_r8, & + 0.017210875332136836_r8, 0.017037911934369963_r8, 0.01686440289344341_r8, & + 0.016533832251255254_r8, 0.016103344132857966_r8, 0.015675288787794464_r8, & + 0.015298720033093724_r8, 0.014874552554672524_r8, 0.014696945588686451_r8, & + 0.014740771026421481_r8, 0.014671103842469333_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,44) / & + 0.00024252223689760655_r8, 0.0002412765004484477_r8, & + 0.0002394786762547753_r8, 0.00023937958358268314_r8, & + 0.00023937958358268314_r8, 0.00024127650044844775_r8, & + 0.00024650009987730703_r8, 0.00024559410973246424_r8, & + 0.00023276868674453332_r8, 0.00030455424962731194_r8, & + 0.00041872316397351768_r8, 0.00068863744665660577_r8, & + 0.0014577522991480758_r8, 0.0025079222818849977_r8, & + 0.0035054740557409715_r8, 0.0044368885490234204_r8, & + 0.0060850686517406414_r8, 0.0074600927257877595_r8, & + 0.0085456671046536172_r8, 0.0096438120967791679_r8, & + 0.010664367526656539_r8, 0.011811818201195957_r8, 0.012771063579240297_r8, & + 0.013526715984423242_r8, 0.01418493198074755_r8, 0.014865613701444756_r8, & + 0.015437180234072456_r8, 0.016487718275305721_r8, 0.017213940156877289_r8, & + 0.017651321055396164_r8, 0.017832292586828512_r8, 0.017905380510544501_r8, & + 0.017951685100603579_r8, 0.017787757508771079_r8, 0.017662900741934936_r8, & + 0.017335470241150341_r8, 0.016881455929815995_r8, 0.016435321255424979_r8, & + 0.016024573282042879_r8, 0.015568226501102931_r8, 0.015348210434566835_r8, & + 0.015263775388746573_r8, 0.015215349254912492_r8, 0.015117924878735468_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,44) / & + 0.00024657891088055307_r8, 0.00023851829505643456_r8, & + 0.00023111479465276052_r8, 0.00024202291063213827_r8, & + 0.00023790498733068638_r8, 0.00023781737194129385_r8, & + 0.00021930131964965926_r8, 0.00021779725546508641_r8, & + 0.00022376970450868147_r8, 0.00025523823186552095_r8, & + 0.00030253593957262222_r8, 0.00042750468997625673_r8, & + 0.00072158574447249381_r8, 0.0012373921443915852_r8, & + 0.002195831491522054_r8, 0.003245551471834706_r8, 0.0053693339081462513_r8, & + 0.0075274177694049978_r8, 0.0090858911107906358_r8, & + 0.010323151832098131_r8, 0.01154562015516318_r8, 0.012744227887183643_r8, & + 0.01366268541162129_r8, 0.014406890529121974_r8, 0.015049447192362349_r8, & + 0.015738366999156306_r8, 0.01626186895077705_r8, 0.017316948072407544_r8, & + 0.017986753121749022_r8, 0.01833224746041302_r8, 0.018487610667373169_r8, & + 0.018547776624637219_r8, 0.018513605058213589_r8, 0.018369207073691971_r8, & + 0.01822407139888288_r8, 0.017944662688684814_r8, 0.017530976927392434_r8, & + 0.017082048292933028_r8, 0.016660063372488501_r8, 0.016221272360101985_r8, & + 0.015969178060459173_r8, 0.015848478096105602_r8, 0.015823602170470401_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,44) / & + 0.00022243976836665679_r8, 0.00021435843722445436_r8, & + 0.00020847426501476873_r8, 0.00022633746811680659_r8, & + 0.00023170997317782392_r8, 0.00022912153936691362_r8, & + 0.00024170253161064038_r8, 0.00025813607650316379_r8, & + 0.00026481784750342061_r8, 0.00028152227500406258_r8, & + 0.0003387086033846387_r8, 0.00041934132640125113_r8, & + 0.00063776300274748319_r8, 0.00093930049268474739_r8, & + 0.0015029018569428941_r8, 0.0021416731449539297_r8, & + 0.0038381657724988584_r8, 0.006532093310237525_r8, & + 0.0090577124541318874_r8, 0.010979233283854381_r8, 0.012520570373082539_r8, & + 0.013669834985126703_r8, 0.014483235261171476_r8, 0.015259539668937797_r8, & + 0.015892246196333733_r8, 0.016505735107587044_r8, 0.016974000842821257_r8, & + 0.018042783222186661_r8, 0.018671351265291895_r8, 0.01894057659856491_r8, & + 0.019040340405779895_r8, 0.019054533525767772_r8, 0.018972298080653122_r8, & + 0.018803455446109469_r8, 0.01859638934068452_r8, 0.018352036727971009_r8, & + 0.018032858384405874_r8, 0.01765974768979018_r8, 0.017270433700498862_r8, & + 0.016935516862415841_r8, 0.016681052105197471_r8, 0.016535304040378604_r8, & + 0.016376149651306023_r8, 0.016230486774767683_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,44) / & + 0.0002209968590789531_r8, 0.00022243794082725922_r8, & + 0.00022688515009353745_r8, 0.00025941021019778101_r8, & + 0.00027366607265414316_r8, 0.00027585093853060741_r8, & + 0.00028587652875807071_r8, 0.00030258068063628637_r8, & + 0.00031883546293707323_r8, 0.00036163404131149958_r8, & + 0.00042917893744985023_r8, 0.00052989970480458277_r8, & + 0.00077581333217682964_r8, 0.0010688952696764312_r8, & + 0.0014381530983015505_r8, 0.0019224030522404342_r8, & + 0.0035066012632063472_r8, 0.0060201577423057116_r8, & + 0.0089253320603829463_r8, 0.011383910496009295_r8, 0.013266892989457355_r8, & + 0.014588209997627414_r8, 0.015526602143817455_r8, 0.016404406874567953_r8, & + 0.017112055490499635_r8, 0.017778145168270483_r8, 0.018256971696274882_r8, & + 0.019273151265868115_r8, 0.019710124441160954_r8, 0.019831376749553386_r8, & + 0.01983498720167548_r8, 0.019789213486788425_r8, 0.019673818478405235_r8, & + 0.019456710990496451_r8, 0.019234892869775984_r8, 0.019010425018098964_r8, & + 0.018739904532486817_r8, 0.018400057167929283_r8, 0.018029327266550522_r8, & + 0.017650043847697937_r8, 0.017367281914976527_r8, 0.017099349178310269_r8, & + 0.01686851267503589_r8, 0.016759282663072111_r8, 0.016782628851487642_r8 & + / +data delta_sa_ref(:,30,44) / & + 0.00026214978025955557_r8, 0.00028937866767644443_r8, & + 0.00031804233253333343_r8, 0.00036142043713600002_r8, & + 0.00039746523482311105_r8, 0.00040352318401422224_r8, & + 0.00038632179670577781_r8, 0.00040264637557866668_r8, & + 0.0004620780455377778_r8, 0.00054724005758755565_r8, & + 0.00064577738377244443_r8, 0.00078107689636444449_r8, & + 0.0010608425551928886_r8, 0.0013467458730702221_r8, & + 0.0016904388378364446_r8, 0.0021410067799111109_r8, & + 0.0036956040781226667_r8, 0.0060056595244088887_r8, & + 0.0089271852316800005_r8, 0.011756550401388444_r8, 0.013966012007159112_r8, & + 0.015557084536289775_r8, 0.016692262512099779_r8, 0.017765499950177111_r8, & + 0.018589245533409997_r8, 0.019321763184416217_r8, 0.019907612704364887_r8, & + 0.020814533531442442_r8, 0.021240245947115554_r8, 0.021176119366533332_r8, & + 0.021069581163373999_r8, 0.020906454939431777_r8, 0.020746393559521112_r8, & + 0.020426551776948444_r8, 0.020166874995026444_r8, 0.019976135283603553_r8, & + 0.019806516691745334_r8, 0.019544789089053934_r8, 0.019190089046962792_r8, & + 0.018760166812086764_r8, 0.01847823930804416_r8, 0.018053844951805013_r8, & + 0.017636665647213851_r8, 0.017330989957501066_r8, 0.017366689611504001_r8 & + / +data delta_sa_ref(:,31,44) / & + 0.00039818993739867644_r8, 0.00044678166330669282_r8, & + 0.00049576671178529718_r8, 0.00045864689418608715_r8, & + 0.00047724777408679497_r8, 0.00048762165688604441_r8, & + 0.00056397540090137273_r8, 0.00073400547047832744_r8, & + 0.00087653573699502871_r8, 0.0010087248975933628_r8, & + 0.0011382263539593482_r8, 0.0012906224616216228_r8, & + 0.0015478881996668311_r8, 0.0018650864644053334_r8, & + 0.0022960696711267553_r8, 0.0029008686771670382_r8, & + 0.004867694579831044_r8, 0.0074701133681242598_r8, 0.010396646343022139_r8, & + 0.013066913274741725_r8, 0.015148900748385711_r8, 0.016660750767522443_r8, & + 0.017850811710042103_r8, 0.018903928795680439_r8, 0.019793470808720584_r8, & + 0.020503594224366033_r8, 0.021066727669139747_r8, 0.021855838977950723_r8, & + 0.02226503404575636_r8, 0.02219029456312448_r8, 0.021977838918355492_r8, & + 0.021743072460480933_r8, 0.021489559675296751_r8, 0.021174379237287565_r8, & + 0.020947946301377324_r8, 0.020764480929796571_r8, 0.02060524557475734_r8, & + 0.020412919383141066_r8, 0.020178878055225877_r8, 0.019785740732545347_r8, & + 0.01939630002746183_r8, 0.018895887046486107_r8, 0.018575354085298701_r8, & + 0.0182040071842096_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,44) / & + 0.00086055006005542718_r8, 0.00091767090740108644_r8, & + 0.00097996007191005776_r8, 0.00089561717618304539_r8, & + 0.00087364761951163792_r8, 0.00104250176005893_r8, & + 0.0012732746971100045_r8, 0.001518054278720935_r8, & + 0.0017257802249036904_r8, 0.0018971259320313418_r8, & + 0.0020470239646767142_r8, 0.0022835376058082109_r8, & + 0.0027344943219438358_r8, 0.0032502991088060973_r8, & + 0.0039293351765005181_r8, 0.004911349107348438_r8, & + 0.0076521901901084582_r8, 0.010361600497155437_r8, 0.012804042812098832_r8, & + 0.014974870699964459_r8, 0.016652385239828361_r8, 0.017957696769387167_r8, & + 0.018979037048422378_r8, 0.019910226388012837_r8, 0.020722123560113961_r8, & + 0.021380301175152543_r8, 0.021897385415123639_r8, 0.022610394329839432_r8, & + 0.022894167770178445_r8, 0.022940663685375264_r8, 0.022684455304695133_r8, & + 0.022497055407160765_r8, 0.022140719298896137_r8, 0.021886840448794093_r8, & + 0.021663389795430012_r8, 0.021479623833323171_r8, 0.021316639664910059_r8, & + 0.021193410233001923_r8, 0.021112816712080682_r8, 0.02100347367538007_r8, & + 0.020804665120543013_r8, 0.020816086404027687_r8, 0.020619692636559526_r8, & + 0.020423932883801548_r8, 0.02028976653279994_r8 & + / +data delta_sa_ref(:,33,44) / & + 0.0020073530490114368_r8, 0.0020737999482379056_r8, & + 0.002144290689966064_r8, 0.0023686202605405237_r8, & + 0.0025658699114562374_r8, 0.0027580906813121581_r8, & + 0.0027849459430541426_r8, 0.0032027232613376002_r8, & + 0.0035768823810130956_r8, 0.003964037097104277_r8, & + 0.0043962270848168289_r8, 0.0049716969792879401_r8, & + 0.0057510871366647301_r8, 0.0068205625087139551_r8, & + 0.0080128393543401084_r8, 0.0093507118114052722_r8, & + 0.012140634791384573_r8, 0.014461333790142259_r8, 0.016309300687901231_r8, & + 0.017819243827826722_r8, 0.018976197536386841_r8, 0.019972589959976059_r8, & + 0.020780010512813269_r8, 0.02151873758725641_r8, 0.022099245003476424_r8, & + 0.022599914612527673_r8, 0.022986915956387213_r8, 0.023552107751166534_r8, & + 0.023761352838733898_r8, 0.0237797689245835_r8, 0.023563945495241993_r8, & + 0.023303623998264682_r8, 0.022991912866897311_r8, 0.022679983990164479_r8, & + 0.022403019661899764_r8, 0.022209641039703618_r8, 0.022065526874411857_r8, & + 0.021967008267710801_r8, 0.021960436036138231_r8, 0.02195609995318713_r8, & + 0.021962870241697855_r8, 0.021940501426327221_r8, 0.021719114519576876_r8, & + 0.021382783750475733_r8, 0.021255835980511999_r8 & + / +data delta_sa_ref(:,34,44) / & + 0.0027507236671051329_r8, 0.0028542720220042141_r8, & + 0.0029976725771794694_r8, 0.0039202829236976849_r8, & + 0.0043235559894816778_r8, 0.0046787688617831507_r8, & + 0.0047122213092569681_r8, 0.0055993936894263973_r8, & + 0.0063220339206798218_r8, 0.0077870277491595835_r8, & + 0.0090224814134151898_r8, 0.010229641433702478_r8, 0.011248797635516087_r8, & + 0.012548497017654637_r8, 0.013726707463630982_r8, 0.014885381822105399_r8, & + 0.016820571339163891_r8, 0.018317368925337363_r8, 0.019498522193931972_r8, & + 0.020530282895032215_r8, 0.021414140167794332_r8, 0.022210687793599072_r8, & + 0.022860998408692896_r8, 0.023405828333553959_r8, 0.023805396279294483_r8, & + 0.02414951151931264_r8, 0.024405554814948223_r8, 0.024732618082039051_r8, & + 0.024822063934571717_r8, 0.024738501511294687_r8, 0.024467657679313203_r8, & + 0.024087561557628884_r8, 0.023717333198835452_r8, 0.023421362359573532_r8, & + 0.02312580432589403_r8, 0.022908483713419532_r8, 0.022733916336771295_r8, & + 0.022670565875166804_r8, 0.022653899926110024_r8, 0.022660530140924659_r8, & + 0.022663175135711668_r8, 0.022622798191161395_r8, 0.022586928551735774_r8, & + 0.022363267448119211_r8, 0.022331685740755221_r8 & + / +data delta_sa_ref(:,35,44) / & + 0.0031891380972115225_r8, 0.0033979428135464031_r8, & + 0.0036727748198494815_r8, 0.0052322038285010702_r8, & + 0.0056982841618989288_r8, 0.006283624356780774_r8, 0.006737818687525399_r8, & + 0.0078710963349949634_r8, 0.0093226971269162132_r8, & + 0.011287249813156871_r8, 0.012374401046660212_r8, 0.013291949563405172_r8, & + 0.014030444719080295_r8, 0.015119558778709859_r8, 0.01606122461276497_r8, & + 0.017026444360334746_r8, 0.018372779514079344_r8, 0.019477341742294912_r8, & + 0.020424405348197137_r8, 0.021305241746655337_r8, 0.02209942300650403_r8, & + 0.022805204393408794_r8, 0.023421440925462649_r8, 0.023991878181237988_r8, & + 0.024402508676570071_r8, 0.024751982598617543_r8, 0.025036737781447636_r8, & + 0.025339921720685034_r8, 0.025480500054817706_r8, 0.025445732588341204_r8, & + 0.025210048058666671_r8, 0.024831895065997169_r8, 0.024365796558283324_r8, & + 0.024011145227970047_r8, 0.023675901795337677_r8, 0.023384617489490504_r8, & + 0.023140232006038843_r8, 0.023092740571125717_r8, 0.023034355256487241_r8, & + 0.022963335027560466_r8, 0.022861743911534324_r8, 0.022789117397615962_r8, & + 0.02275094042946094_r8, 0.022419372752236245_r8, 0.022205942672483551_r8 & + / +data delta_sa_ref(:,36,44) / & + 0.0036069018915062126_r8, 0.0040981181963540142_r8, & + 0.004259183330275822_r8, 0.0059813475672808253_r8, & + 0.0067670003776756187_r8, 0.007331070503323915_r8, & + 0.0084203561593929471_r8, 0.0092826428099166709_r8, & + 0.010170216486292682_r8, 0.01140529823269083_r8, 0.012509720259260362_r8, & + 0.012994144632827149_r8, 0.014007211426258619_r8, 0.015128162059511631_r8, & + 0.016076828203445165_r8, 0.016986739838869815_r8, 0.018337994999496423_r8, & + 0.019123390776557222_r8, 0.019984191421945584_r8, 0.020938673568524586_r8, & + 0.021958415580817632_r8, 0.022711912623341542_r8, 0.023434626515850616_r8, & + 0.024139696217154154_r8, 0.024696096242006443_r8, 0.025172410598734686_r8, & + 0.025343735785119389_r8, 0.025745171975720651_r8, 0.026047141586289256_r8, & + 0.026049959642570786_r8, 0.025884392601392855_r8, 0.025697123035449937_r8, & + 0.025456177727065678_r8, 0.025197492928959019_r8, 0.024894340898551224_r8, & + 0.024479537777531646_r8, 0.023587041297658665_r8, 0.023492396503365071_r8, & + 0.023398505850858665_r8, 0.02329267462005493_r8, 0.023028096543045596_r8, & + 0.02287583531620992_r8, 0.02273043677963776_r8, 0.022456331378050132_r8, & + 0.022415104960349867_r8 & + / +data delta_sa_ref(:,37,44) / & + 0.0026111841326955988_r8, 0.0029497994921258933_r8, & + 0.0032501564068973163_r8, 0.0050724710499983677_r8, & + 0.0061617355888718486_r8, 0.0070922080384759195_r8, & + 0.009115165009431301_r8, 0.0092602453598443386_r8, & + 0.0097038974533960164_r8, 0.010318570896094049_r8, 0.01170936021903143_r8, & + 0.012123653508614258_r8, 0.013593123854170544_r8, 0.015105369200118856_r8, & + 0.016385592285345984_r8, 0.017387950665012114_r8, 0.018931773766584978_r8, & + 0.019632257001399461_r8, 0.020428221892797492_r8, 0.021392114471420171_r8, & + 0.022502604949562754_r8, 0.023448922014647669_r8, 0.024393567153967628_r8, & + 0.025174325433814922_r8, 0.025762302337849607_r8, 0.026238986541805981_r8, & + 0.026066575666542247_r8, 0.026436587642686429_r8, 0.026747847281252145_r8, & + 0.026730045548368046_r8, 0.026574081013660128_r8, 0.026442282793042293_r8, & + 0.026277749792008007_r8, 0.026226085161234182_r8, 0.026027717829142136_r8, & + 0.025707664168852725_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,44) / & + 0.0017698165885872985_r8, 0.0020119574944004832_r8, & + 0.0023960095089001327_r8, 0.0042517462378804669_r8, & + 0.0054370402412456881_r8, 0.0069845247917150657_r8, & + 0.0094173964196014471_r8, 0.0091456441366002273_r8, & + 0.0095200232684789325_r8, 0.0098342262612468555_r8, & + 0.010991121003213408_r8, 0.011365951738387503_r8, 0.012645005171757179_r8, & + 0.014548061458532647_r8, 0.016116028100128382_r8, 0.017243229925423008_r8, & + 0.019211542888382397_r8, 0.020182828675943461_r8, 0.021008246599093408_r8, & + 0.021869454083403041_r8, 0.02283325078298222_r8, 0.024106433373511822_r8, & + 0.025244078525012356_r8, 0.02615437905089173_r8, 0.026809015661168178_r8, & + 0.027350111676261862_r8, 0.026749215858136884_r8, 0.027079431951087196_r8, & + 0.027415443619661688_r8, 0.027386992612052088_r8, 0.027304748125239888_r8, & + 0.027227614282387201_r8, 0.027101165359677864_r8, 0.027000006221510397_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,44) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,44) / & + 0.002359074258318349_r8, 0.0022178590769276613_r8, & + 0.0034197999049274072_r8, 0.0038914248006859256_r8, & + 0.0057769307285096281_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,44) / & + 0.0034548433702841414_r8, 0.0032104720599391867_r8, & + 0.0037744918040020798_r8, 0.0035048349948221093_r8, & + 0.0059170550301645428_r8, 0.0095587814117647323_r8, & + 0.011126881693158874_r8, 0.014667182600422241_r8, 0.011575192345989844_r8, & + 0.007666223899656534_r8, 0.0047327749644335403_r8, & + 0.0040245999429493326_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,44) / & + 0.0038594454997345185_r8, 0.0036846186493131056_r8, & + 0.0035974183236275347_r8, 0.0040405374761949232_r8, & + 0.0047720655260811056_r8, 0.0075052800354729072_r8, & + 0.0093125771081496479_r8, 0.013925372049144255_r8, 0.012122976265545636_r8, & + 0.0082120832129552127_r8, 0.0042894438101114011_r8, & + 0.0035747445341530854_r8, 0.0022771678263459974_r8, & + 0.0024424676058543743_r8, 0.0027002748025078821_r8, & + 0.0024889537451232846_r8, 0.0024881043913016717_r8, & + 0.0025119703204053096_r8, 0.0025127429583978733_r8, & + 0.002581231928064948_r8, 0.0026307647816875136_r8, & + 0.0026752024256640828_r8, 0.0027494505622118986_r8, & + 0.0028625169082584527_r8, 0.0030152581238947905_r8, & + 0.003200852893321315_r8, 0.0033930771889748141_r8, & + 0.0038546187954901913_r8, 0.0038406501216175408_r8, & + 0.0037634867835658666_r8, 0.0037698158394623995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,44) / & + 0.0031469322056663974_r8, 0.0033811233252697549_r8, & + 0.0030176446737205727_r8, 0.0043246854859937713_r8, & + 0.0043090727446868805_r8, 0.0047841210981594611_r8, 0.00660050566756251_r8, & + 0.010116047678522205_r8, 0.0072208051424070578_r8, & + 0.0043583230494274369_r8, 0.0024883902858229465_r8, & + 0.0027100385851629044_r8, 0.0022275347091561355_r8, & + 0.0024629099411619818_r8, 0.0024805839151695011_r8, & + 0.0024583927716265619_r8, 0.0024548404344190947_r8, & + 0.0024949248320440889_r8, 0.0025232996736889151_r8, & + 0.0026141254805613036_r8, 0.0026969256367057113_r8, & + 0.002760999274484833_r8, 0.0028899798143263082_r8, & + 0.0030566326709728919_r8, 0.0031724125503273617_r8, & + 0.0033534063238485332_r8, 0.00354032065938215_r8, 0.0040103694271553308_r8, & + 0.0040078257782907266_r8, 0.0039155910969394499_r8, & + 0.0039027718271535104_r8, 0.0039040467841583069_r8, & + 0.0038258671724415994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,44) / & + 0.0026375736551561223_r8, 0.0031728622685005966_r8, & + 0.0025848158691555295_r8, 0.0037084214345937914_r8, & + 0.0039146277212439703_r8, 0.0041089747790752137_r8, & + 0.0052416889537204164_r8, 0.0050334084293300416_r8, & + 0.0028268703950112394_r8, 0.0021841723404245335_r8, 0.00224811297337226_r8, & + 0.0024540937993985054_r8, 0.0023715301189138173_r8, & + 0.0024756027429218242_r8, 0.0025132997592436151_r8, & + 0.0025555059880440888_r8, 0.0025511320519397669_r8, & + 0.0025577605942834307_r8, 0.0026133591841455937_r8, & + 0.0027523782048633947_r8, 0.0028459894559208559_r8, & + 0.0029538498184109568_r8, 0.0030860599282859459_r8, & + 0.0032922211228113389_r8, 0.0034152775313546018_r8, & + 0.0036053859294558821_r8, 0.0038091121492427851_r8, & + 0.0041658810405561944_r8, 0.0043782198561773825_r8, & + 0.0043019239810380642_r8, 0.0042123710212114175_r8, & + 0.0042011310038917865_r8, 0.0039445184855486466_r8, & + 0.0039805749537447114_r8, 0.0041263690662117335_r8, & + 0.0041472692660504311_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,44) / & + 0.0024879651863039995_r8, 0.0033425358029653338_r8, & + 0.0028488158061226662_r8, 0.003874152295765332_r8, & + 0.0040369960406186666_r8, 0.0043530472575146664_r8, & + 0.0040951843033599986_r8, 0.0026661435768319994_r8, & + 0.0022652190340266658_r8, 0.0022638291869866664_r8, & + 0.0023142343063039996_r8, 0.0024053156156586659_r8, & + 0.0023997098992639995_r8, 0.0024678124042239995_r8, & + 0.0025216921411413329_r8, 0.0025771470380373321_r8, & + 0.002580343686229333_r8, 0.0025887754249386669_r8, & + 0.0026667921721173337_r8, 0.0027956309927253328_r8, & + 0.0028960242772479989_r8, 0.0030307931118933331_r8, & + 0.0031667664806400001_r8, 0.0033430917417813333_r8, & + 0.0035382262661973326_r8, 0.0037073243227306657_r8, & + 0.0039387338548906659_r8, 0.0042784124714666666_r8, & + 0.004378852084224001_r8, 0.0042496426377386654_r8, & + 0.0042058161277440005_r8, 0.0042130722874986664_r8, & + 0.0041600554139519996_r8, 0.0041678435211154287_r8, & + 0.004215286942573713_r8, 0.0042374450753828573_r8, & + 0.0043637027514879991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,45) / & + 0.0037840826637037034_r8, 0.0038879939208888892_r8, & + 0.0043018694684444437_r8, 0.0052569732862222211_r8, & + 0.0055038907955555555_r8, 0.005864232603555555_r8, & + 0.0065028932782222213_r8, 0.0069653102986666666_r8, & + 0.007411768706666667_r8, 0.0077858558888888882_r8, & + 0.0080422753457777777_r8, 0.0078881474328888878_r8, & + 0.0080541902222222208_r8, 0.0078925739093333325_r8, & + 0.0078016480924444458_r8, 0.0077650714186666657_r8, & + 0.0078241967594615529_r8, 0.0078142095032958572_r8, & + 0.0078137033398256971_r8, 0.0078139524121148187_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,45) / & + 0.0037840826637037034_r8, 0.0038879939208888892_r8, & + 0.0043018694684444437_r8, 0.0052569732862222211_r8, & + 0.0055038907955555555_r8, 0.005864232603555555_r8, & + 0.0065028932782222213_r8, 0.0069653102986666666_r8, & + 0.007411768706666667_r8, 0.0077858558888888882_r8, & + 0.0080422753457777777_r8, 0.0078881474328888878_r8, & + 0.0080541902222222208_r8, 0.0078925739093333325_r8, & + 0.0078016480924444458_r8, 0.0077650714186666657_r8, & + 0.0078241967594615529_r8, 0.0078142095032958572_r8, & + 0.0078137033398256971_r8, 0.0078139524121148187_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,45) / & + 0.0037840826637037034_r8, 0.0038879939208888892_r8, & + 0.0043018694684444437_r8, 0.0052569732862222211_r8, & + 0.0055038907955555555_r8, 0.005864232603555555_r8, & + 0.0065028932782222213_r8, 0.0069653102986666666_r8, & + 0.007411768706666667_r8, 0.0077858558888888882_r8, & + 0.0080422753457777777_r8, 0.0078881474328888878_r8, & + 0.0080541902222222208_r8, 0.0078925739093333325_r8, & + 0.0078016480924444458_r8, 0.0077650714186666657_r8, & + 0.0078241967594615529_r8, 0.0078142095032958572_r8, & + 0.0078137033398256971_r8, 0.0078139524121148187_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,45) / & + 0.0041684687071604932_r8, 0.0041849339422222222_r8, & + 0.0044657581871604931_r8, 0.0050550028177777789_r8, & + 0.0052237784108641969_r8, 0.0054503163782716052_r8, & + 0.0060642172592592592_r8, 0.0065548553782716042_r8, & + 0.0069908466671604929_r8, 0.0073361451116049367_r8, & + 0.0076220448276543189_r8, 0.0076061527787654312_r8, & + 0.0078464657041975305_r8, 0.0078715310430864209_r8, & + 0.0078609548337037049_r8, 0.0079353509981216937_r8, & + 0.0082727308557777757_r8, 0.008308033114814815_r8, 0.008603325688148148_r8, & + 0.0089116813592592589_r8, 0.0090468192444444432_r8, & + 0.009086382957777776_r8, 0.0092058922748148152_r8, & + 0.0092283297399999992_r8, 0.009264482071111111_r8, & + 0.0092893601999999974_r8, 0.009313750988571427_r8, & + 0.0094732004199999994_r8, 0.0095185052399999991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,45) / & + 0.004654003620246914_r8, 0.0046647369935802476_r8, & + 0.0045230305797530857_r8, 0.0048307298602469134_r8, & + 0.0049472345723456787_r8, 0.0050834217580246902_r8, & + 0.0055018846439506171_r8, 0.0058511769017283938_r8, & + 0.0061555664943209873_r8, 0.0064018886296296285_r8, & + 0.0066453448340740746_r8, 0.0068120403160493838_r8, & + 0.0070797090138271608_r8, 0.0072968356340740734_r8, & + 0.0074209951550617279_r8, 0.0075478634429629625_r8, & + 0.0077819545249382715_r8, 0.0081587689639506158_r8, & + 0.0084404344982716047_r8, 0.0087824787244444435_r8, & + 0.0089362497827160468_r8, 0.0089882433155555556_r8, & + 0.0091065230558024686_r8, 0.0091785873496296293_r8, & + 0.0092462025169135782_r8, 0.0092934429958641956_r8, & + 0.009343857955493827_r8, 0.0094862022700617273_r8, & + 0.0095174012953174597_r8, 0.0095414612471693121_r8, & + 0.0095482714318941789_r8, 0.0094476917202857124_r8, & + 0.0092332041337037027_r8, 0.0087996077460740715_r8, & + 0.0087086347800000002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,45) / & + 0.0039695823501234564_r8, 0.0039762294607407411_r8, & + 0.0036270388972839502_r8, 0.0037310444528395057_r8, & + 0.0037863754083950615_r8, 0.003972448280987655_r8, & + 0.0047721169516049371_r8, 0.0052166598083950612_r8, & + 0.0055635391372839491_r8, 0.0059186926859259251_r8, & + 0.0060455794637037036_r8, 0.0061614462750617287_r8, & + 0.0064152660553086415_r8, 0.0066382169866666656_r8, & + 0.0068344500464197532_r8, 0.0069716541753086416_r8, & + 0.0071731938296296285_r8, 0.0074459472434567908_r8, & + 0.0076025657427160487_r8, 0.0077407221002469134_r8, & + 0.0079062249851851851_r8, 0.0080737432666666657_r8, & + 0.0082347068869135804_r8, 0.0084115995358024689_r8, & + 0.0085558483076543217_r8, 0.0086907966716049372_r8, & + 0.0088132921037037022_r8, 0.0090927111180246906_r8, & + 0.0093121859525925922_r8, 0.0094626275123809514_r8, & + 0.0095314019288888895_r8, 0.0094795378251851838_r8, & + 0.0092679441354056435_r8, 0.0089147591312804236_r8, & + 0.0088509005125925917_r8, 0.0090457375866666665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,45) / & + 0.0019172800133333337_r8, 0.0019211813772839505_r8, & + 0.0016350228029629629_r8, 0.0014980220627160495_r8, & + 0.0014072552587654319_r8, 0.0013835235022222224_r8, & + 0.0017393796661728392_r8, 0.0021560675239506171_r8, & + 0.0025124136696296298_r8, 0.0030687832997530859_r8, & + 0.0031864621190123453_r8, 0.0032398701274074068_r8, & + 0.0034751630513580245_r8, 0.0038773178661728391_r8, & + 0.0043066527995061724_r8, 0.0046076679896296293_r8, & + 0.0050179213703703696_r8, 0.005410442959506173_r8, & + 0.0057465149555555543_r8, 0.0059752809530864192_r8, & + 0.0061868883451851849_r8, 0.0063723325619753088_r8, & + 0.0064895491343209873_r8, 0.0066779702212345681_r8, & + 0.0068399138049382692_r8, 0.0069900516024691359_r8, & + 0.0071413727520987643_r8, 0.007540661636049383_r8, & + 0.0079124468286419745_r8, 0.0082181099114814801_r8, & + 0.0085462520617283939_r8, 0.0088359387356172821_r8, & + 0.009059933189382717_r8, 0.0092546725312522039_r8, & + 0.0093803412884126969_r8, 0.0094482939619788351_r8, & + 0.0095441944141164015_r8, 0.0095766360251111106_r8, & + 0.0096177057388888865_r8, 0.0096391620849999998_r8, & + 0.0096785073866666668_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,45) / & + 0.00039204085234567892_r8, 0.00040596372938271597_r8, & + 0.00034396717333333329_r8, 0.00039907625037037032_r8, & + 0.00035798249975308642_r8, 0.00035572673481481485_r8, & + 0.00042657994172839504_r8, 0.00051710637728395064_r8, & + 0.00062456953975308636_r8, 0.00079895681037037028_r8, & + 0.00088536000345679016_r8, 0.0010054517516049383_r8, & + 0.0012160237106172837_r8, 0.0014663858839506171_r8, & + 0.0017799926799999997_r8, 0.0020956333624691354_r8, & + 0.002729660474074073_r8, 0.0033248126202469132_r8, & + 0.0038915643160493825_r8, 0.0044231852464197531_r8, & + 0.0048763258958024677_r8, 0.0052526411081481482_r8, & + 0.0054988523041975303_r8, 0.0057233009155555556_r8, & + 0.0059186094814814806_r8, 0.006089252552098765_r8, & + 0.0062430328553086424_r8, 0.0065795578533333326_r8, & + 0.006920631360987653_r8, 0.0073000990972839509_r8, & + 0.0077038440414814811_r8, 0.0081023378607407402_r8, & + 0.0084204839214814808_r8, 0.0087289690217283965_r8, & + 0.008988104641481481_r8, 0.0091778292646913593_r8, & + 0.0093449407688888896_r8, 0.0094515256622222221_r8, & + 0.0095352570681481452_r8, 0.0095843278797883603_r8, & + 0.0096325493457425047_r8, 0.0096587411308333322_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,45) / & + 0.00011821502567901236_r8, 0.0001383227664197531_r8, & + 0.00011779900345679013_r8, 0.00026521878913580245_r8, & + 0.00026760398320987652_r8, 0.00028159157481481481_r8, & + 0.00028590896098765428_r8, 0.00030971467703703711_r8, & + 0.00035091012197530866_r8, 0.00040617636296296303_r8, & + 0.00045066300592592595_r8, 0.00054231732395061715_r8, & + 0.00063906560296296305_r8, 0.00072699421086419743_r8, & + 0.00081520941185185178_r8, 0.00095507608296296301_r8, & + 0.0014123677096296297_r8, 0.0019464940182716045_r8, & + 0.0025567154138271602_r8, 0.0031780492251851848_r8, & + 0.0037760118325925918_r8, 0.0042960211204938282_r8, & + 0.0047816935520370359_r8, 0.0051675946097530867_r8, & + 0.0054762368739506174_r8, 0.0057195359144444442_r8, & + 0.0059182537164462071_r8, 0.0062599051978306872_r8, & + 0.006546878152160495_r8, 0.0068630411736419743_r8, 0.00726985312611111_r8, & + 0.007724806939012346_r8, 0.0080640915511111105_r8, & + 0.0084518970661111113_r8, 0.0087776003686243394_r8, & + 0.0090250460941093472_r8, 0.009240363182777777_r8, 0.009372547310185185_r8, & + 0.0094686082280370353_r8, 0.0095331471421111098_r8, & + 0.0096123033931746031_r8, 0.0096579142866666662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,45) / & + 0.00016725942320987657_r8, 0.00017861220740740741_r8, & + 0.00017161378913580245_r8, 0.00018809751407407405_r8, & + 0.00019386635555555557_r8, 0.00023287075012345677_r8, & + 0.00023765038320987651_r8, 0.00029161308790123455_r8, & + 0.00032401659654320979_r8, 0.00035793627506172833_r8, & + 0.0003854954360493826_r8, 0.00045306668987654322_r8, & + 0.00055066550320987653_r8, 0.00061009196641975314_r8, & + 0.00065099157333333346_r8, 0.00072138253333333335_r8, & + 0.00096123321185185174_r8, 0.0013547492922045853_r8, & + 0.0018971186519506176_r8, 0.002477058054091711_r8, & + 0.0030169426715890651_r8, 0.0036561932063350973_r8, & + 0.0042249155267654326_r8, 0.004757528009783068_r8, & + 0.0053759116622857138_r8, 0.0056914960166666671_r8, & + 0.0059253462679999995_r8, 0.0062646724162857149_r8, & + 0.0065123940371428551_r8, 0.006794947415714285_r8, & + 0.0071730402976190469_r8, 0.0076249563228571416_r8, & + 0.0079918180905555539_r8, 0.0084209554133333336_r8, & + 0.0087631856938888888_r8, 0.0090695444583333319_r8, & + 0.0093153199866666658_r8, 0.0094334619773333329_r8, & + 0.0095086829553333342_r8, 0.0095447146399999985_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,45) / & + 0.00013157396148148149_r8, 0.00013376501185185185_r8, & + 0.00013316409086419753_r8, 0.00014322258370370368_r8, & + 0.00014380501481481482_r8, 0.00016419010370370368_r8, & + 0.00018647040493827158_r8, 0.00025260869333333332_r8, & + 0.00029059614469135802_r8, 0.00032215836395061727_r8, & + 0.00034570522172839511_r8, 0.00038678972740740743_r8, & + 0.00047571678864197534_r8, 0.00049142393876543209_r8, & + 0.00052473345135802473_r8, 0.00059726923703703702_r8, & + 0.00074876950734567896_r8, 0.0010492304964373898_r8, & + 0.0014766294406437391_r8, 0.0019324261938095239_r8, & + 0.002462250799656084_r8, 0.003246581952592593_r8, 0.0037869690655026452_r8, & + 0.0043435231981798937_r8, 0.0048768779506878305_r8, & + 0.0053216037251851847_r8, 0.0058393891431851854_r8, & + 0.0066510970346666662_r8, 0.0071467542306666654_r8, & + 0.0072655002855999996_r8, 0.0072718188311111098_r8, & + 0.0075077450333333323_r8, 0.0079657854999999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,45) / & + 0.00012912059374360201_r8, 0.00012961733633156964_r8, & + 0.00013312314899470898_r8, 0.00014355391568783067_r8, & + 0.00014679112987654321_r8, 0.00015294000435626099_r8, & + 0.00017629040719576721_r8, 0.00020771147605820104_r8, & + 0.00023931638712169312_r8, 0.00025915988771604939_r8, & + 0.00027906740950793649_r8, 0.00030556743074603169_r8, & + 0.00035997154822222218_r8, 0.00038680012796296295_r8, & + 0.00041909751792063493_r8, 0.00045774608141798941_r8, & + 0.00054366715097354493_r8, 0.0007115426172486772_r8, & + 0.00096783489020105815_r8, 0.0013572946878518519_r8, & + 0.0017037247127407406_r8, 0.0021010023603703705_r8, & + 0.0029179119163703702_r8, 0.0037556974674814816_r8, & + 0.0044723636955555559_r8, 0.0051316992879259261_r8, & + 0.0056945725009999995_r8, 0.0070647281691666678_r8, & + 0.0079943194241666651_r8, 0.0083513489523809534_r8, & + 0.0081631422819999997_r8, 0.007867406645_r8, 0.0079406993599999993_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,45) / & + 0.00014752204651555394_r8, 0.00014844623796825396_r8, & + 0.00013379223725170066_r8, 0.00014725301831292517_r8, & + 0.00015897873199999997_r8, 0.00015412910152380949_r8, & + 0.00013168707990476189_r8, 0.00013886702914285711_r8, & + 0.00016686859344444444_r8, 0.00019637080933333331_r8, & + 0.00022239715955555553_r8, 0.00024818013677777777_r8, & + 0.00030308882977777776_r8, 0.00036616279093333338_r8, & + 0.00043052309279999998_r8, 0.00049418447733333339_r8, & + 0.00063189615333333329_r8, 0.00077157041416666653_r8, & + 0.0010075954216666667_r8, 0.0013828110641666668_r8, & + 0.0018096342633333331_r8, 0.0022122605700000001_r8, & + 0.0028298351583333327_r8, 0.0035180659208333331_r8, & + 0.0043047535424999995_r8, 0.0050303951033333332_r8, & + 0.0057069928444444442_r8, 0.0071916097466666667_r8, & + 0.0082701473577777782_r8, 0.0087883862400000012_r8, & + 0.0091762853599999996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,45) / & + 0.0001524196464021164_r8, 0.00015128334443562612_r8, & + 0.0001370652897266314_r8, 0.00017412445022927688_r8, & + 0.00018372862038800705_r8, 0.00018321734228395059_r8, & + 0.00015905916296296297_r8, 0.0001330488593121693_r8, & + 0.0001450839529717813_r8, 0.00016583256604056436_r8, & + 0.00019061114675485009_r8, 0.00022212780167548503_r8, & + 0.0002818339242680776_r8, 0.00034995360104056428_r8, & + 0.00042069421781305112_r8, 0.00048969876724867724_r8, & + 0.00065490531889770718_r8, 0.00083963420858906542_r8, & + 0.0010481475179541446_r8, 0.0014336639202028217_r8, & + 0.0018957549905379183_r8, 0.0024251505321957675_r8, & + 0.0031343744198730158_r8, 0.0038714935550617285_r8, & + 0.0046796804457671952_r8, 0.0054066087204109343_r8, & + 0.0061088052333492073_r8, 0.0074728453583403883_r8, & + 0.0084351288281975297_r8, 0.0089248050774179879_r8, & + 0.0092760567008095228_r8, 0.0094838062131851857_r8, & + 0.0095483714753333334_r8, 0.009546704612962963_r8, & + 0.0093698917016666657_r8, 0.009321934740000001_r8, & + 0.0089755962399999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,45) / & + 0.00014515477580246913_r8, 0.0001413551061728395_r8, & + 0.00013428272839506171_r8, 0.00014682810962962959_r8, & + 0.00015895746864197531_r8, 0.00016823014172839506_r8, & + 0.00019151814123456791_r8, 0.00017716999703703708_r8, & + 0.00016870163358024691_r8, 0.00016288656740740741_r8, & + 0.00016467084049382716_r8, 0.00017986027407407407_r8, & + 0.00023508953530864196_r8, 0.00029796436049382713_r8, & + 0.00036796703308641975_r8, 0.00044398816049382708_r8, & + 0.00061135852296296297_r8, 0.00077662103950617287_r8, & + 0.00099687244888888873_r8, 0.0013760073674074073_r8, & + 0.0019016745575308645_r8, 0.0025700281249382713_r8, & + 0.0033848584943209875_r8, 0.0042560552523456781_r8, & + 0.0051336402627160486_r8, 0.0059404090459259261_r8, & + 0.0066162695032098758_r8, 0.0078470481353086416_r8, & + 0.0085866616869135805_r8, 0.0090099226958024695_r8, & + 0.0092895358538271598_r8, 0.0094738799229629623_r8, & + 0.0095774532776543193_r8, 0.0095899461608465585_r8, & + 0.0095207567126455016_r8, 0.0094843654163888885_r8, & + 0.009298101124047619_r8, 0.00952224944_r8, 0.0092062389599999999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,45) / & + 0.00014227954847487734_r8, 0.00013830607154042467_r8, & + 0.00013710433705293166_r8, 0.00014841420920538596_r8, & + 0.00014623364259501559_r8, 0.000142647821946851_r8, & + 0.00015672943654626502_r8, 0.00016870801579256623_r8, & + 0.00017246828176956046_r8, 0.00017297223494173495_r8, & + 0.00017198371141170037_r8, 0.00016634331244620902_r8, & + 0.00019377968610824687_r8, 0.0002445529682048263_r8, & + 0.00030841934137078514_r8, 0.00039663052931563448_r8, & + 0.00058657241818962957_r8, 0.00077179459177806732_r8, & + 0.0010720634597296461_r8, 0.0015887608323158515_r8, & + 0.0022881218470009938_r8, 0.0031835109542548536_r8, & + 0.0041090984862105539_r8, 0.0051150277834994574_r8, & + 0.0060762021625364012_r8, 0.0068554785206398289_r8, & + 0.0074459759587281252_r8, 0.008482307200269169_r8, & + 0.0090984868673240488_r8, 0.0094707919646751064_r8, & + 0.0097256372072808822_r8, 0.0099090761619523935_r8, & + 0.010029831095131125_r8, 0.010097826007746053_r8, 0.010084897670598345_r8, & + 0.010037749667021929_r8, 0.0099234070880009281_r8, & + 0.0098587512112733398_r8, 0.0095298699174011965_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,45) / & + 0.00015001015180528724_r8, 0.00014764802668731521_r8, & + 0.00014588403625586833_r8, 0.00015105435303769545_r8, & + 0.0001556569487611259_r8, 0.00015558598362882633_r8, & + 0.00014305556883992753_r8, 0.00014289336282324281_r8, & + 0.00014262977804613004_r8, 0.00014132199203660905_r8, & + 0.00014293391432741397_r8, 0.00014228509026067488_r8, & + 0.00015985402944284442_r8, 0.0002007907729036642_r8, & + 0.00027222224750122136_r8, 0.00037298259749059427_r8, & + 0.00062692625448665016_r8, 0.00090948913555152593_r8, & + 0.0013694952609935014_r8, 0.0021364762730114108_r8, & + 0.0030137472384989231_r8, 0.0040494934822874595_r8, & + 0.0050315698103054222_r8, 0.0059114664856880191_r8, & + 0.0067878960074639789_r8, 0.0074662922586199165_r8, & + 0.0080132509468809742_r8, 0.0090053878496369078_r8, & + 0.0096178967771561926_r8, 0.010001151939614154_r8, 0.010262904295632177_r8, & + 0.010423475579805049_r8, 0.010534976466361264_r8, 0.010640491299181208_r8, & + 0.010687193814814568_r8, 0.010634467228409777_r8, 0.010481104987890939_r8, & + 0.010204577247796064_r8, 0.010082710790311466_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,45) / & + 0.00019294977295225045_r8, 0.00018881356215916118_r8, & + 0.00017885728469857077_r8, 0.00014805835300621658_r8, & + 0.00014656747242058836_r8, 0.00014730384041774955_r8, & + 0.00016677752303672098_r8, 0.00015566547291118166_r8, & + 0.00014421623579720919_r8, 0.00013375587890940386_r8, & + 0.00012869429395971781_r8, 0.00013326956606117597_r8, & + 0.00016460111711081977_r8, 0.00022726705430249879_r8, & + 0.00034517136463235552_r8, 0.00050797673422237749_r8, & + 0.00087591986335339243_r8, 0.0013379398255114609_r8, & + 0.0021361294693501404_r8, 0.0031106932349647251_r8, & + 0.0041494060691040805_r8, 0.0051105246925610527_r8, & + 0.006007205824093957_r8, 0.0067440459586414246_r8, & + 0.0074154528412144552_r8, 0.0080371225261246064_r8, & + 0.0085459262000957478_r8, 0.0094505555698501664_r8, 0.0101034460103993_r8, & + 0.010574131602557638_r8, 0.010866864304490305_r8, 0.010976143432138017_r8, & + 0.011061225235230131_r8, 0.011183895146863999_r8, 0.0113262122487712_r8, & + 0.011350217543068799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,45) / & + 0.00020455541136666337_r8, 0.00019885248062482966_r8, & + 0.00019377830627039341_r8, 0.00018614498311111114_r8, & + 0.00018529561044743377_r8, 0.00018583612032431937_r8, & + 0.00019585209926742389_r8, 0.00018960865864870455_r8, & + 0.0001762613739337745_r8, 0.00015241275446792427_r8, & + 0.00014338954876807903_r8, 0.00017139678504180414_r8, & + 0.00028021576331683297_r8, 0.00044530154400530711_r8, & + 0.0006990323233547458_r8, 0.00098588863658760173_r8, & + 0.0014747370758270949_r8, 0.0021602332117803455_r8, & + 0.003137823918676372_r8, 0.0041189100146997075_r8, & + 0.0051439828596580618_r8, 0.006025260773440671_r8, & + 0.0067973846479786552_r8, 0.0074821279308890992_r8, & + 0.0080905104051721861_r8, 0.0087368650771582172_r8, & + 0.0092121456154064998_r8, 0.010072710418549888_r8, 0.010765412433627128_r8, & + 0.011341127546757718_r8, 0.011715845670870742_r8, 0.011944981517408287_r8, & + 0.012253568494458942_r8, 0.012682281073339734_r8, 0.012674239610069336_r8, & + 0.012583996522257068_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,45) / & + 0.00022073110087848558_r8, 0.00021381029941063372_r8, & + 0.00020897836339410698_r8, 0.00019343812261886419_r8, & + 0.00019328891794376956_r8, 0.0001885488001888395_r8, & + 0.00020693540707358024_r8, 0.00020739449838156382_r8, & + 0.00020763552131825513_r8, 0.00020318233563081483_r8, & + 0.00021191654776520164_r8, 0.00029563184777599998_r8, & + 0.00059820745158525098_r8, 0.0010037113266444114_r8, & + 0.0014275558994575144_r8, 0.0018349879580102058_r8, & + 0.0025045611534214984_r8, 0.0033605082039500573_r8, & + 0.0042317673842602061_r8, 0.0051006378551085012_r8, & + 0.0059717019216127569_r8, 0.0067357934093758339_r8, & + 0.0074372418881645608_r8, 0.0081171345953831193_r8, & + 0.008860929943352313_r8, 0.0095381728329276029_r8, 0.010001801971558493_r8, & + 0.010970029844076789_r8, 0.011727467377194781_r8, 0.012304405989277355_r8, & + 0.012780192849510739_r8, 0.01306588946949843_r8, 0.013245244556341945_r8, & + 0.013270371197492021_r8, 0.013148714870197059_r8, 0.012897264617221647_r8, & + 0.01253316319493796_r8, 0.012147708001259619_r8, 0.011917426325524446_r8, & + 0.011864019424108389_r8, 0.011871077092172434_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,45) / & + 0.00022733824772314072_r8, 0.00021757269517487407_r8, & + 0.00021369747590968891_r8, 0.00019993746658038516_r8, & + 0.0002003190266311111_r8, 0.00019526335595899258_r8, & + 0.0002118135231592296_r8, 0.00021736999139792588_r8, & + 0.00022659897512485925_r8, 0.00024840751677416298_r8, & + 0.00031973539875674076_r8, 0.0005675944229579853_r8, & + 0.0012021645585699556_r8, 0.0018042543948638815_r8, & + 0.0023109661422279111_r8, 0.0027272600813214821_r8, & + 0.0034041953063156149_r8, 0.0041594815029760007_r8, & + 0.0050493630075299552_r8, 0.0059010646595081479_r8, & + 0.006727929136934401_r8, 0.007572297681687705_r8, 0.0083274646408322377_r8, & + 0.0090094793840016594_r8, 0.0098281045490825475_r8, 0.01048842998811852_r8, & + 0.010989024850919347_r8, 0.012039781611860624_r8, 0.01280717041637997_r8, & + 0.013351835465039645_r8, 0.013720315160276626_r8, 0.013911488669441896_r8, & + 0.013927836132865185_r8, 0.013906896534612653_r8, 0.013810470646012209_r8, & + 0.013605121286681097_r8, 0.013256903026325246_r8, 0.01280087957279811_r8, & + 0.012469817291392673_r8, 0.012361756844767811_r8, 0.012312073041832319_r8, & + 0.012317044607470934_r8, 0.012354819052492801_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,45) / & + 0.00023499121725617528_r8, 0.00022962250405023958_r8, & + 0.00022838549960284109_r8, 0.00022601614963612917_r8, & + 0.00022837423439143147_r8, 0.00023048000640818087_r8, & + 0.00024829203740795575_r8, 0.00027170160760381243_r8, & + 0.00031052964447803787_r8, 0.00038190581659444938_r8, & + 0.00060299430396691808_r8, 0.00096785223474421078_r8, & + 0.0016225415143276657_r8, 0.002189762511239781_r8, & + 0.0026548642456104736_r8, 0.0030553934291236854_r8, & + 0.0038161820896850372_r8, 0.0048373809002094951_r8, & + 0.0058433952651060668_r8, 0.0066199234849389291_r8, & + 0.0074721791019388018_r8, 0.0083664718206535073_r8, & + 0.0091691584179493975_r8, 0.0098664476442791062_r8, & + 0.010680415882644352_r8, 0.011363227312190569_r8, 0.011888169988088669_r8, & + 0.012990995244667139_r8, 0.013844212646308611_r8, 0.014335168141463241_r8, & + 0.014612603470039644_r8, 0.014745117910555338_r8, 0.014722606097369662_r8, & + 0.014656964406028629_r8, 0.014506967309639022_r8, 0.014299953437234838_r8, & + 0.013979492493789908_r8, 0.013531267274490069_r8, 0.01310336911072333_r8, & + 0.01291371167376491_r8, 0.012813215709972021_r8, 0.012851496268418132_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,45) / & + 0.00023222559444822379_r8, 0.00023176419363139423_r8, & + 0.00023473766556207404_r8, 0.00023994124144076381_r8, & + 0.00024151769423159838_r8, 0.00024506791718331521_r8, & + 0.00028000621236880328_r8, 0.00037123540720750619_r8, & + 0.00052133165626005594_r8, 0.00070357216221840317_r8, & + 0.0010739744846177447_r8, 0.0016585693195408854_r8, & + 0.0023017236081333201_r8, 0.0027620093729889446_r8, & + 0.0031068808501903797_r8, 0.0034824482984003413_r8, & + 0.0043820132742564862_r8, 0.005535041098824375_r8, & + 0.0065949428585288161_r8, 0.0073785680624671593_r8, & + 0.0082178817816589683_r8, 0.0091490398967785866_r8, & + 0.010052552412956496_r8, 0.010863977016108823_r8, 0.011601539038500346_r8, & + 0.012245757112309359_r8, 0.012784352849132456_r8, 0.013838051331188411_r8, & + 0.014661126304965686_r8, 0.015185751850390334_r8, 0.015451864771496822_r8, & + 0.015561562815698064_r8, 0.015521715728489085_r8, 0.015416541975630641_r8, & + 0.015256069014457935_r8, 0.014986767941874046_r8, 0.014582597762670796_r8, & + 0.014096830817288523_r8, 0.013689065327851352_r8, 0.013534045639130333_r8, & + 0.013428865615248886_r8, 0.013401249952431603_r8, 0.013397695518281955_r8, & + 0.013379700886425597_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,45) / & + 0.00023126969026532343_r8, 0.00022985053233343209_r8, & + 0.00023248990082358519_r8, 0.00024351158532266663_r8, & + 0.00024486442746334816_r8, 0.00023912147994457282_r8, & + 0.00028468042850575794_r8, 0.00045626590668219256_r8, & + 0.00076931623066753567_r8, 0.0011917478206744493_r8, & + 0.0017813482571632196_r8, 0.0026688392277667548_r8, & + 0.0033759777725959113_r8, 0.0037607154668791308_r8, & + 0.0039743318935243849_r8, 0.0042877801122569864_r8, & + 0.0051538908717744594_r8, 0.0062303951104843835_r8, & + 0.0073226427180275357_r8, 0.0082814762168146559_r8, & + 0.0091893659247943502_r8, 0.01011797268594801_r8, 0.011008275446098845_r8, & + 0.011849557573387336_r8, 0.012529029170123732_r8, 0.013169865186901251_r8, & + 0.01376233046557029_r8, 0.014765608807626271_r8, 0.015608124408631265_r8, & + 0.016083250526333553_r8, 0.016345516217410368_r8, 0.016418848219330252_r8, & + 0.016365464007406301_r8, 0.016227566951164483_r8, 0.016038062946203139_r8, & + 0.015696655989896453_r8, 0.015217990266838346_r8, 0.014725478280259838_r8, & + 0.014343086270248552_r8, 0.014165960581400759_r8, 0.014088377737264323_r8, & + 0.014035478625353074_r8, 0.013917556785423694_r8, 0.01384914844679061_r8, & + 0.013796900887528_r8 & + / +data delta_sa_ref(:,25,45) / & + 0.00026038694803397531_r8, 0.0002595369511520659_r8, & + 0.00025900227569409053_r8, 0.00026264903651002471_r8, & + 0.00026310145420523458_r8, 0.00025105069196009871_r8, & + 0.00029771826270235389_r8, 0.00038116876302788473_r8, & + 0.00057509143874739086_r8, 0.00090339587957135811_r8, & + 0.0013985739017921316_r8, 0.0021108301599508808_r8, & + 0.0031644150047047898_r8, 0.0038320327169361641_r8, & + 0.0042596496966722632_r8, 0.0046844287835929553_r8, & + 0.0057177233801980571_r8, 0.0067703348414259101_r8, & + 0.0078529566764360161_r8, 0.0089201414713004773_r8, & + 0.0098886854989820566_r8, 0.010891023757533102_r8, 0.011762805236948278_r8, & + 0.012621247249168329_r8, 0.013310114883447438_r8, 0.013971193103538965_r8, & + 0.014612227848769975_r8, 0.015684567463434402_r8, 0.01653296031896994_r8, & + 0.016952982165277363_r8, 0.017231794852170794_r8, 0.017306361514117661_r8, & + 0.017318576791888335_r8, 0.017168470084468541_r8, 0.016955175705617775_r8, & + 0.016549713483319836_r8, 0.016054220139675123_r8, 0.015531417218792296_r8, & + 0.015090323675589793_r8, 0.014819366605040457_r8, 0.014721673515832773_r8, & + 0.014692868609978663_r8, 0.014606613022016924_r8, 0.014517024770589332_r8, & + 0.014356282819925332_r8 & + / +data delta_sa_ref(:,26,45) / & + 0.00029842466005360985_r8, 0.00029557928475496296_r8, & + 0.00029154479739120989_r8, 0.00027750195014614653_r8, & + 0.00027785585254647572_r8, 0.00027394877004684117_r8, & + 0.00028741121735536467_r8, 0.0002783513159069366_r8, & + 0.00027329758963023541_r8, 0.00034169984556586667_r8, & + 0.00047640925522718022_r8, 0.00077122411079743214_r8, & + 0.001556038073767506_r8, 0.0026513943149784631_r8, & + 0.0035831485545652283_r8, 0.004471613452543724_r8, & + 0.0060873194710067361_r8, 0.0073825314757316081_r8, & + 0.0084605606554224461_r8, 0.0095113535063839471_r8, & + 0.010458934261313436_r8, 0.011478880979062245_r8, 0.012524789976899198_r8, & + 0.0133728392207601_r8, 0.014054936551058623_r8, 0.014761849517668228_r8, & + 0.015363370349459792_r8, 0.016492361474798038_r8, 0.017247801538540785_r8, & + 0.017687645597765953_r8, 0.017921617552671607_r8, 0.018030845989509214_r8, & + 0.018088064929594444_r8, 0.017980676785238545_r8, 0.017809198685695027_r8, & + 0.01749816701099198_r8, 0.017058808809204979_r8, 0.016476845028515489_r8, & + 0.015915020872836513_r8, 0.015497097983305107_r8, 0.015291645657789869_r8, & + 0.015269290350965876_r8, 0.015158896159621578_r8, 0.014960834681277336_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,45) / & + 0.00030567549102585679_r8, 0.00029586256741388642_r8, & + 0.00028680897717665177_r8, 0.0002788067716121284_r8, & + 0.00027797442541289871_r8, 0.00027622211762504681_r8, & + 0.000263079809216158_r8, 0.00025068223161710615_r8, & + 0.00025204027015269137_r8, 0.0002815228486832988_r8, & + 0.00033280705660776298_r8, 0.00047045083334352588_r8, & + 0.00077579046537671096_r8, 0.0013888791526513776_r8, & + 0.0021955248376591802_r8, 0.0032322631377768294_r8, & + 0.0054102795001223902_r8, 0.0076835045856079006_r8, & + 0.0092465923375015507_r8, 0.010377838437644012_r8, 0.011444804047102101_r8, & + 0.012579306519216987_r8, 0.013555020700622698_r8, 0.01434496105138631_r8, & + 0.015011407510801067_r8, 0.015709643754000437_r8, 0.016269987976860759_r8, & + 0.017349467984437095_r8, 0.018049806996981888_r8, 0.018428979022463841_r8, & + 0.018617682492688747_r8, 0.018667897062734379_r8, 0.018643788228086513_r8, & + 0.018516986595028005_r8, 0.018332874640575422_r8, 0.018084887155854327_r8, & + 0.017777237919574338_r8, 0.017351648981808764_r8, 0.016846730880102401_r8, & + 0.01614440591873138_r8, 0.015891909318425598_r8, 0.015788709341644801_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,45) / & + 0.00028662389745696135_r8, 0.00027627016221332026_r8, & + 0.00026839951754409878_r8, 0.00027885859602423045_r8, & + 0.00028210918732165277_r8, 0.00027965619481480169_r8, & + 0.00027979163611886097_r8, 0.00029002497909222716_r8, & + 0.00030126660732914575_r8, 0.0003346604132966453_r8, & + 0.0004062035199075029_r8, 0.00051273563006700253_r8, & + 0.00076683856551595724_r8, 0.0011414842615776529_r8, & + 0.0016277185431503938_r8, 0.0022975510368923526_r8, & + 0.0042433610071428091_r8, 0.0070753935279205676_r8, & + 0.0095449700700019641_r8, 0.011381990575025265_r8, 0.01281637418114796_r8, & + 0.013937662639387_r8, 0.014727195147849774_r8, 0.015473281095777093_r8, & + 0.016068876705860793_r8, 0.016653275834808932_r8, 0.017187125259275397_r8, & + 0.01820997798753092_r8, 0.018897598439205993_r8, 0.019155205112199244_r8, & + 0.019277491142136258_r8, 0.019274873685188758_r8, 0.019178538370349146_r8, & + 0.01899315416034902_r8, 0.018743724326115957_r8, 0.018451543572934121_r8, & + 0.018134954039405741_r8, 0.017806906171553945_r8, 0.017409309194067715_r8, & + 0.017053313013123291_r8, 0.016794394386863344_r8, 0.016606785607190592_r8, & + 0.016453245152678174_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,45) / & + 0.00030465707799406092_r8, 0.00030581924069430784_r8, & + 0.00030750825048533333_r8, 0.00032703258384948145_r8, & + 0.00033763150767573334_r8, 0.00034237313149274078_r8, & + 0.00031530248832832265_r8, 0.00033055006295556208_r8, & + 0.00035139151404665675_r8, 0.00040516090831141393_r8, & + 0.00049148635368575469_r8, 0.00059561613162787818_r8, & + 0.00083429335925325437_r8, 0.0011366261118468213_r8, & + 0.0014897531221925134_r8, 0.0019753201938583443_r8, & + 0.0035300769497513345_r8, 0.0060252557626841287_r8, & + 0.008973647037707878_r8, 0.011670437835879505_r8, 0.013651150464666995_r8, & + 0.015011221725014623_r8, 0.015938224676742239_r8, 0.016775291730973415_r8, & + 0.017411273647056542_r8, 0.017997468513061079_r8, 0.018506216856721172_r8, & + 0.019451272069059288_r8, 0.019953930680170085_r8, 0.020081040288571758_r8, & + 0.020115347331483045_r8, 0.02005906766578576_r8, 0.019952055724347023_r8, & + 0.019711364081374552_r8, 0.019462754236537736_r8, 0.019222202053089287_r8, & + 0.018941439040212303_r8, 0.018602073973175367_r8, 0.018246895745663738_r8, & + 0.0178375200606261_r8, 0.017598178463323753_r8, 0.017205078866903062_r8, & + 0.016952980320322265_r8, 0.016823143693191531_r8, 0.01677070506218311_r8 & + / +data delta_sa_ref(:,30,45) / & + 0.00032551911719288888_r8, 0.00034818860074488882_r8, & + 0.00036859432433600003_r8, 0.00043097525903288883_r8, & + 0.00044436651513955555_r8, 0.00044669404298666672_r8, & + 0.00039952174915377776_r8, 0.00042110717863999992_r8, & + 0.00050386195298488879_r8, 0.00060190507805155547_r8, & + 0.000712685838391111_r8, 0.000845769416936889_r8, 0.0011043960214826667_r8, & + 0.0013929935325528889_r8, 0.0017651269745742222_r8, & + 0.0021968833902133332_r8, 0.0037637400645511125_r8, & + 0.0061146228999911113_r8, 0.0090153762183253321_r8, & + 0.011963094584862223_r8, 0.014259790658984889_r8, 0.015879989170147556_r8, & + 0.017006177866746665_r8, 0.018033813295189334_r8, 0.01881444381635022_r8, & + 0.019492168911120003_r8, 0.020068008865678222_r8, 0.020923837666666664_r8, & + 0.021356534658627559_r8, 0.021371743299491559_r8, 0.021319007257585773_r8, & + 0.021176278786248889_r8, 0.021021561952302221_r8, 0.020720119197651106_r8, & + 0.020457367607965331_r8, 0.020259258720190888_r8, 0.02004733810681_r8, & + 0.019820276890622282_r8, 0.0194933019298127_r8, 0.019102058049389147_r8, & + 0.018896690725029839_r8, 0.018268997230562668_r8, 0.017438356744632001_r8, & + 0.017263385635824_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,45) / & + 0.00041321813728321314_r8, 0.00044807635010154405_r8, & + 0.00048527810990295952_r8, 0.00047400286287944688_r8, & + 0.00047896856033311598_r8, 0.00048421286127428467_r8, & + 0.00056500787264916535_r8, 0.00076345549795107796_r8, & + 0.00092085007994790417_r8, 0.0010380765944234664_r8, & + 0.0011513043294313875_r8, 0.0012872136660098629_r8, & + 0.0015349413317183205_r8, 0.001842404862834778_r8, & + 0.0023079512904465899_r8, 0.0029112425599662878_r8, & + 0.0049684015463419247_r8, 0.0073941201697986366_r8, & + 0.010286253808210539_r8, 0.013031743681555012_r8, 0.01519909854145696_r8, & + 0.016741611332659088_r8, 0.017940474916250702_r8, 0.018978944833244752_r8, & + 0.019852252047472881_r8, 0.020596910004237953_r8, 0.021152461746752577_r8, & + 0.021898840489763972_r8, 0.022318335399736149_r8, 0.022321793360669227_r8, & + 0.022155090144501829_r8, 0.02200232119981952_r8, 0.021757372252718003_r8, & + 0.021422115389866957_r8, 0.021177937577418347_r8, 0.020980658916161046_r8, & + 0.020786741758158801_r8, 0.020640214351018499_r8, 0.020419405166975792_r8, & + 0.020072789651645422_r8, 0.019672102115923514_r8, 0.01925676884554586_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,45) / & + 0.00088708187715438359_r8, 0.00091861366232338438_r8, & + 0.0009515764147851589_r8, 0.00089400102488767748_r8, & + 0.00091225006659787335_r8, 0.0010496229267041449_r8, & + 0.001321759235971042_r8, 0.0015821616134371953_r8, & + 0.0017780526183632463_r8, 0.0019266543629904594_r8, & + 0.0020660137423972875_r8, 0.002245810574006967_r8, & + 0.0027141577514771232_r8, 0.0032767299164490928_r8, & + 0.0039934256763074502_r8, 0.0049107430506126759_r8, & + 0.0074369222045473178_r8, 0.0099851382547906757_r8, & + 0.012369904170380629_r8, 0.014783440946009998_r8, 0.016539776531341737_r8, & + 0.01788291610215775_r8, 0.018908330429250036_r8, 0.019833728560032092_r8, & + 0.020643571873195349_r8, 0.021397270763753903_r8, 0.021987317500747127_r8, & + 0.022683306322133584_r8, 0.02311089618412368_r8, 0.023193033706728892_r8, & + 0.022957075617605179_r8, 0.022802985692537442_r8, 0.022421304628281392_r8, & + 0.022094680030614804_r8, 0.021838644207755272_r8, 0.021656608032581761_r8, & + 0.021535062091606296_r8, 0.021495684276696216_r8, 0.021511847473140826_r8, & + 0.021467018935463471_r8, 0.02139411950922664_r8, 0.021369039672994774_r8, & + 0.021056910984440354_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,45) / & + 0.0021042670180262714_r8, 0.0021297916136459056_r8, & + 0.0021487665669230618_r8, 0.0023292187182163753_r8, & + 0.002496243238638696_r8, 0.0026190447122156246_r8, 0.002855834156481185_r8, & + 0.0032339161490108834_r8, 0.003467733196223921_r8, & + 0.0037055249604257975_r8, 0.0040041817386915549_r8, & + 0.0043284322380897963_r8, 0.0051585605218980347_r8, & + 0.0062712393394781223_r8, 0.0074639655009377977_r8, & + 0.0087386053951239891_r8, 0.011330725720084778_r8, 0.013684691371901234_r8, & + 0.015644451505315869_r8, 0.017231659687228756_r8, 0.018498350147437274_r8, & + 0.019587889199591032_r8, 0.020455708169280391_r8, 0.021209677419306822_r8, & + 0.021855344272076478_r8, 0.022444898489790657_r8, 0.022894732764658015_r8, & + 0.023540244085023761_r8, 0.023913452728897576_r8, 0.023987347902133565_r8, & + 0.02381361820696485_r8, 0.023535595394284643_r8, 0.023208890939180243_r8, & + 0.022865872863043393_r8, 0.022567354335803334_r8, 0.022357333746388701_r8, & + 0.022227498751879345_r8, 0.022197843906866962_r8, 0.022259603232253337_r8, & + 0.022306572475254294_r8, 0.022287302195567325_r8, 0.022287555244319721_r8, & + 0.022063274431919504_r8, 0.022200295810409453_r8, 0.0220110235677024_r8 & + / +data delta_sa_ref(:,34,45) / & + 0.0029277007646838914_r8, 0.0030403612329913147_r8, & + 0.003177326579670018_r8, 0.0039030691841655833_r8, & + 0.0042259996469017017_r8, 0.0044754304555697519_r8, & + 0.0048077744051148764_r8, 0.0054690762854094225_r8, & + 0.0060927774020092312_r8, 0.0074230927760859239_r8, & + 0.0084945993103797586_r8, 0.0094940598740675553_r8, & + 0.010491960387210732_r8, 0.011774800586759136_r8, 0.012945955349590506_r8, & + 0.014129537333237529_r8, 0.016108940100958286_r8, 0.017730045350982531_r8, & + 0.019004393911771021_r8, 0.020073347636082751_r8, 0.021002091817696855_r8, & + 0.021842604504304499_r8, 0.022513178048631271_r8, 0.023065099112331507_r8, & + 0.02350609703673992_r8, 0.023884480205198413_r8, 0.024183885814835552_r8, & + 0.024633198099532901_r8, 0.024792571444943408_r8, 0.024779665572256106_r8, & + 0.024575352134452326_r8, 0.024275645151414504_r8, 0.023944683973943018_r8, & + 0.0236027847148121_r8, 0.023313182604620116_r8, 0.023070328827225404_r8, & + 0.022914820152482255_r8, 0.022874843857276391_r8, 0.022924127272208671_r8, & + 0.022954122789498394_r8, 0.022940204213545621_r8, 0.02293785052527467_r8, & + 0.022812420625388855_r8, 0.022812771573447656_r8, 0.022427472771836265_r8 & + / +data delta_sa_ref(:,35,45) / & + 0.0034383988409257614_r8, 0.0037529417276528729_r8, & + 0.0040042879741262229_r8, 0.0051468595124318688_r8, & + 0.0056349580296437864_r8, 0.0062289332964073092_r8, & + 0.0068988794757715221_r8, 0.0077885236021132511_r8, & + 0.0091257329774446106_r8, 0.011008190006598121_r8, 0.012086697081061793_r8, & + 0.013184107715937846_r8, 0.013948878388946175_r8, 0.015050335080918057_r8, & + 0.016029053801684606_r8, 0.016964917485361979_r8, 0.018417195270553615_r8, & + 0.019521723421926714_r8, 0.020496241603911572_r8, 0.021391058594940112_r8, & + 0.022177388550283918_r8, 0.022886534457435131_r8, 0.023493308986230064_r8, & + 0.024040587619863371_r8, 0.024449736908442796_r8, 0.024776357926306398_r8, & + 0.025019723376273475_r8, 0.025375854615173991_r8, 0.025500403202609188_r8, & + 0.02550880395563122_r8, 0.025349119871820845_r8, 0.025021094563506163_r8, & + 0.024621559488082027_r8, 0.024261669086645135_r8, 0.023983730570474298_r8, & + 0.023691106882447407_r8, 0.023437670589635948_r8, 0.023363970168367769_r8, & + 0.023271666711983659_r8, 0.02316006271619947_r8, 0.023123465745186131_r8, & + 0.02299990584054044_r8, 0.022691251432192_r8, 0.022217310707131257_r8, & + 0.022166522581115258_r8 & + / +data delta_sa_ref(:,36,45) / & + 0.0038298113071746375_r8, 0.0045211638077959117_r8, & + 0.0046044266473382525_r8, 0.0058734564121509418_r8, & + 0.0069807693155714079_r8, 0.0077625908994793762_r8, & + 0.0089977122150453736_r8, 0.009586624795307204_r8, 0.010107627373151299_r8, & + 0.011053221087581427_r8, 0.012026757617305804_r8, 0.012391755259516279_r8, & + 0.013422487857564312_r8, 0.014689690457861716_r8, 0.015753558742584377_r8, & + 0.016707704052465661_r8, 0.018174691381222133_r8, 0.019042885475745588_r8, & + 0.019933028820433542_r8, 0.020830835615637193_r8, 0.021942910452273919_r8, & + 0.022828670929723297_r8, 0.023601884723311484_r8, 0.024351989457849062_r8, & + 0.024942805680849743_r8, 0.025441024065836378_r8, 0.025294615817204685_r8, & + 0.025725592885458792_r8, 0.026075484748458187_r8, 0.026172661304465963_r8, & + 0.026083397251971518_r8, 0.025978329140833398_r8, 0.025799119515118284_r8, & + 0.025611114760687056_r8, 0.025427974021274856_r8, 0.025148642297396884_r8, & + 0.024153653160441598_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,45) / & + 0.0028207332514601086_r8, 0.0034640814603985387_r8, & + 0.0034464251834216558_r8, 0.0052660322764895356_r8, & + 0.0061635660452323037_r8, 0.0073517991647197248_r8, & + 0.009684868334148793_r8, 0.0097598407759124026_r8, & + 0.0096802349914863924_r8, 0.010196690626687079_r8, 0.011202469194995466_r8, & + 0.011577922488679901_r8, 0.012852873478243846_r8, 0.014450251728800318_r8, & + 0.015832818298555974_r8, 0.016982859708772662_r8, 0.018668633747736068_r8, & + 0.019640968352958657_r8, 0.020502007398014867_r8, 0.021381846755273246_r8, & + 0.022427151740615187_r8, 0.023613211193174579_r8, 0.024564457415744416_r8, & + 0.025415714959624455_r8, 0.025991965502599985_r8, 0.026533837787055727_r8, & + 0.026153160065842493_r8, 0.026372452551275665_r8, 0.02672986822290813_r8, & + 0.026798376865648878_r8, 0.026699532222184356_r8, 0.026623987762808103_r8, & + 0.0264847777431448_r8, 0.026356150049315373_r8, 0.026193523058634541_r8, & + 0.025931995176090596_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,45) / & + 0.0015416323313134873_r8, 0.0020139713105769659_r8, & + 0.0021797159922532618_r8, 0.0043139015911559768_r8, & + 0.0052256422297662104_r8, 0.0068953446400334311_r8, & + 0.0098634403947954249_r8, 0.0095467443845764673_r8, & + 0.0093871201820063116_r8, 0.0097107796641494708_r8, 0.01037465114366545_r8, & + 0.010900014219880374_r8, 0.012007993634536949_r8, 0.013755403591102486_r8, & + 0.015322038421128018_r8, 0.016729075392108956_r8, 0.018880082795613769_r8, & + 0.020129263507295759_r8, 0.021127683126188207_r8, 0.0219312777382396_r8, & + 0.02280389238726984_r8, 0.024231901731658477_r8, 0.025258991887540227_r8, & + 0.026188815892921252_r8, 0.026829183093516954_r8, 0.027413306867032569_r8, & + 0.026992483681432554_r8, 0.027043707203363413_r8, 0.027402974350894511_r8, & + 0.027428673923611827_r8, 0.027329446643985764_r8, 0.027241839786192004_r8, & + 0.027107663429317096_r8, 0.026995264386908802_r8, 0.026840680578896634_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,45) / & + 0.00081460719575335294_r8, 0.0012311745536063999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,40,45) / & + 0.0023973828928314064_r8, 0.0022201027589957524_r8, & + 0.0032717272121238514_r8, 0.0042940900248447404_r8, & + 0.0055952724895955552_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,45) / & + 0.00349523395434793_r8, 0.003225121923421339_r8, 0.0037319906463857775_r8, & + 0.0037321561815663669_r8, 0.0063269666940731903_r8, & + 0.0088943169893100082_r8, 0.010565313938958456_r8, 0.013799426491875551_r8, & + 0.013660501091565984_r8, 0.0088925292093596439_r8, & + 0.0055495048535635742_r8, 0.0041897368045103406_r8, & + 0.0030863147625264761_r8, 0.0029994478117239473_r8, & + 0.0035833814380117333_r8, 0.0031836450147349335_r8, & + 0.0031895111676970666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,45) / & + 0.0038487905234777277_r8, 0.0036793337810897375_r8, & + 0.0036342845414760287_r8, 0.003980613889726735_r8, & + 0.0047605581517237722_r8, 0.0067860265182345452_r8, & + 0.008155531926472297_r8, 0.012444671308690645_r8, 0.012940340804156521_r8, & + 0.0096228073968423495_r8, 0.0055844861557088395_r8, & + 0.0038859977005664399_r8, 0.0024706652394482372_r8, & + 0.0026122805288772344_r8, 0.0030056143048847695_r8, & + 0.0027251053113906522_r8, 0.0027034650546131113_r8, & + 0.0026340927874143492_r8, 0.0026295994317129139_r8, & + 0.0026735580583997667_r8, 0.0026936617153871319_r8, & + 0.002729905378194336_r8, 0.0027566554571567406_r8, & + 0.0028445845832182756_r8, 0.0029867198354886046_r8, & + 0.0031518826224451067_r8, 0.0033582993464726517_r8, & + 0.0038474084208432761_r8, 0.003836098315760639_r8, & + 0.0037663636271551997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,45) / & + 0.0032265308727225939_r8, 0.0034501526927333661_r8, & + 0.0031061461118028905_r8, 0.0042884604176805924_r8, & + 0.0042883288496358713_r8, 0.0048185919258763605_r8, & + 0.0060385785485591705_r8, 0.0097190630315840756_r8, & + 0.0080957326398016245_r8, 0.0055520399191809578_r8, & + 0.0030087419026944527_r8, 0.0029120832458394337_r8, & + 0.002250559116982308_r8, 0.0025147916067969575_r8, & + 0.0025444821288889943_r8, 0.0024945301279099257_r8, & + 0.002483171420049014_r8, 0.0025216331451224493_r8, & + 0.0025476836179772048_r8, 0.0026318871665986367_r8, & + 0.0027067493840448793_r8, 0.00276687598048237_r8, 0.0028815156034492574_r8, & + 0.0030436512905604217_r8, 0.0031620131927925397_r8, & + 0.0033312206623074569_r8, 0.0035281490489592116_r8, & + 0.0040136453148402595_r8, 0.0040343289078707718_r8, & + 0.0039448159621303484_r8, 0.0039262958802923744_r8, & + 0.0039273061349214813_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,45) / & + 0.0026403242747681187_r8, 0.0031861193531879245_r8, & + 0.0026254889657132512_r8, 0.0036115635505516775_r8, & + 0.0038709334523255312_r8, 0.0041675945412980942_r8, & + 0.0052883142107499996_r8, 0.0055614372105838358_r8, & + 0.0032886137528283922_r8, 0.0023154806078037864_r8, & + 0.0022358028233054553_r8, 0.0024878227087390555_r8, & + 0.0023831638871088198_r8, 0.0025091512837632267_r8, & + 0.0025331853862746076_r8, 0.0025672750326134522_r8, & + 0.0025589780816526755_r8, 0.002566192821618568_r8, & + 0.0026189055154943737_r8, 0.0027549033638514576_r8, & + 0.0028464854692935113_r8, 0.0029479427500638819_r8, & + 0.0030821820055542781_r8, 0.0032816695656112207_r8, & + 0.0034054474481510712_r8, 0.0035872588952915755_r8, & + 0.0037916164048254946_r8, 0.0041399079766789798_r8, & + 0.0043813763049124609_r8, 0.0043134957475614855_r8, & + 0.0042315222907815964_r8, 0.0042306198041126486_r8, & + 0.0039444967447027678_r8, 0.0039807778683062529_r8, & + 0.004126166151650193_r8, 0.0041435829848491066_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,45) / & + 0.0024673027936426666_r8, 0.0033362814912853327_r8, & + 0.0028553944154453325_r8, 0.0037508265350826662_r8, & + 0.0040224026466986664_r8, 0.0043420211376639989_r8, & + 0.0042650236116479993_r8, 0.0028067497690453334_r8, & + 0.0022964905924266663_r8, 0.0022609568364373332_r8, & + 0.0023092771851946662_r8, 0.0024014703721813328_r8, & + 0.002392390038186666_r8, 0.0024657276336640002_r8, & + 0.0025150208753493331_r8, 0.0025685299863893326_r8, & + 0.0025733017945599986_r8, 0.0025849765096960004_r8, & + 0.0026616034098346669_r8, 0.0027897009786879996_r8, & + 0.0028901869196799991_r8, 0.0030219444190719993_r8, & + 0.0031574081772373333_r8, 0.003329239599616_r8, 0.0035223820099413326_r8, & + 0.0036876348229973334_r8, 0.0039146895010986659_r8, & + 0.004249457324800001_r8, 0.0043679649490773326_r8, 0.004268127603370666_r8, & + 0.0042116534853120008_r8, 0.0042185448102186659_r8, & + 0.0041662054871040004_r8, 0.0041700101933759993_r8, & + 0.0042202308270445701_r8, 0.0042386363728457131_r8, & + 0.0043636332591359996_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,46) / & + 0.0036582220740740737_r8, 0.0037626381048888884_r8, & + 0.0041681599262222225_r8, 0.0049090455813333338_r8, & + 0.0050990678915555556_r8, 0.0054561480853333342_r8, & + 0.0060290273262222221_r8, 0.0064346323519999995_r8, & + 0.0067924447448888883_r8, 0.0071112176124444445_r8, & + 0.0073875229315555554_r8, 0.0075286709511111095_r8, & + 0.0079503011528888907_r8, 0.0080417761191111103_r8, & + 0.0080069966613333342_r8, 0.0078455966800000006_r8, & + 0.0083980086751658349_r8, 0.0084596771004906562_r8, & + 0.0079981855922717799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,46) / & + 0.0036582220740740737_r8, 0.0037626381048888884_r8, & + 0.0041681599262222225_r8, 0.0049090455813333338_r8, & + 0.0050990678915555556_r8, 0.0054561480853333342_r8, & + 0.0060290273262222221_r8, 0.0064346323519999995_r8, & + 0.0067924447448888883_r8, 0.0071112176124444445_r8, & + 0.0073875229315555554_r8, 0.0075286709511111095_r8, & + 0.0079503011528888907_r8, 0.0080417761191111103_r8, & + 0.0080069966613333342_r8, 0.0078455966800000006_r8, & + 0.0083980086751658349_r8, 0.0084596771004906562_r8, & + 0.0079981855922717799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,46) / & + 0.0036582220740740737_r8, 0.0037626381048888884_r8, & + 0.0041681599262222225_r8, 0.0049090455813333338_r8, & + 0.0050990678915555556_r8, 0.0054561480853333342_r8, & + 0.0060290273262222221_r8, 0.0064346323519999995_r8, & + 0.0067924447448888883_r8, 0.0071112176124444445_r8, & + 0.0073875229315555554_r8, 0.0075286709511111095_r8, & + 0.0079503011528888907_r8, 0.0080417761191111103_r8, & + 0.0080069966613333342_r8, 0.0078455966800000006_r8, & + 0.0083980086751658349_r8, 0.0084596771004906562_r8, & + 0.0079981855922717799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,46) / & + 0.004035193677037037_r8, 0.0040378192395061725_r8, & + 0.0042726868962962962_r8, 0.0047123761604938273_r8, & + 0.0048380610962962959_r8, 0.0050256871185185188_r8, & + 0.005573458956049381_r8, 0.0060103839837037029_r8, & + 0.0063775929318518514_r8, 0.0066925402439506161_r8, & + 0.0069673367891358012_r8, 0.0070932181798765426_r8, & + 0.0074876788948148153_r8, 0.0076691359017989425_r8, & + 0.0077563985439682535_r8, 0.0078294319714673696_r8, & + 0.0080533540175555546_r8, 0.0078954361422222223_r8, & + 0.0083346030674074055_r8, 0.0087027064633333328_r8, & + 0.0088970215285714277_r8, 0.0089293286257142862_r8, & + 0.0091039598966666663_r8, 0.0091661136166666674_r8, & + 0.0092371910133333332_r8, 0.0092922307533333335_r8, & + 0.0093449615699999974_r8, 0.0095124396359999985_r8, & + 0.0095365710049999993_r8, 0.0095761659199999991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,46) / & + 0.0044475549037037033_r8, 0.0044460109990123453_r8, & + 0.0042861937511111114_r8, 0.0044956840523456788_r8, & + 0.0046529866770370371_r8, 0.0048211890839506165_r8, & + 0.0052628567649382714_r8, 0.0056011013214814819_r8, & + 0.0058866682197530867_r8, 0.0061641273071604942_r8, & + 0.0064264616755555547_r8, 0.0066146516390123439_r8, & + 0.0068709028380246895_r8, 0.0070480358553086401_r8, & + 0.0071677762958024683_r8, 0.0072591717555555556_r8, & + 0.0074017379486419751_r8, 0.0078975994577777774_r8, & + 0.0082759578014814806_r8, 0.0085700808901234566_r8, & + 0.0087505767537037031_r8, 0.0088085702514814797_r8, & + 0.008925130763386243_r8, 0.0090482746618694883_r8, & + 0.0091531687220282182_r8, 0.0092318154119047612_r8, & + 0.0093174416999999999_r8, 0.0094905265899382727_r8, & + 0.0095882039852469118_r8, 0.0096410426705326284_r8, & + 0.0096624620038730166_r8, 0.0095971130351005275_r8, & + 0.0094220338468888869_r8, 0.0090154789037037025_r8, & + 0.0087342132129629609_r8, 0.0086354356699999985_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,46) / & + 0.0036359972424691361_r8, 0.0036387614790123458_r8, & + 0.0032672721244444442_r8, 0.0033752992281481475_r8, & + 0.0033893237995061723_r8, 0.0035289685920987649_r8, & + 0.0043334723654320992_r8, 0.0048082646602469123_r8, & + 0.0052172792192592601_r8, 0.0056109471807407399_r8, & + 0.0057784654622222223_r8, 0.0059275955614814819_r8, & + 0.0061884599846913566_r8, 0.0064052630320987659_r8, & + 0.0065812589219753082_r8, 0.0067102905254320987_r8, & + 0.0069196976222222206_r8, 0.0071630891120987653_r8, & + 0.0073386597348148149_r8, 0.0075060578320987649_r8, & + 0.0076759797975308637_r8, 0.0078579109377777782_r8, & + 0.008016369179753088_r8, 0.0081873543130864205_r8, & + 0.0083370298637037033_r8, 0.008497531237037035_r8, & + 0.0086349202646913564_r8, 0.0089521048518518519_r8, & + 0.0092124076450617286_r8, 0.0093976844624338619_r8, & + 0.0095137996984903002_r8, 0.0095306901016596127_r8, & + 0.009430846881455025_r8, 0.0090982784198518525_r8, & + 0.0088256202288888898_r8, 0.0089011282622222208_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,46) / & + 0.0015799969303703701_r8, 0.001574089414814815_r8, & + 0.0013036749703703703_r8, 0.0013123559674074075_r8, & + 0.0011791271619753085_r8, 0.0010363760701234568_r8, & + 0.0013805281422222223_r8, 0.001855154028148148_r8, & + 0.0022439036824691361_r8, 0.0028463408400000003_r8, & + 0.0029952952854320983_r8, 0.0030797847762962954_r8, & + 0.0033206616429629636_r8, 0.003719821097777778_r8, & + 0.0041655750414814818_r8, 0.0044937333703703704_r8, & + 0.0049827258903703707_r8, 0.0053739901679012349_r8, & + 0.0056811255071604937_r8, 0.0059129885590123452_r8, & + 0.0061255019550617278_r8, 0.0063125640360493828_r8, & + 0.0064181134962962953_r8, 0.0065841895674074074_r8, 0.00672861399308642_r8, & + 0.0068861384962962957_r8, 0.007039678431111111_r8, & + 0.0074479256602469129_r8, 0.0078316460681481462_r8, & + 0.0081946855491358012_r8, 0.0085504862434567907_r8, & + 0.0088626693190123444_r8, 0.0091127772565432093_r8, & + 0.0093112545250617299_r8, 0.0094100809341269853_r8, & + 0.0094543843292063477_r8, 0.0095300373760000001_r8, & + 0.0095423544072592587_r8, 0.0095875545283333335_r8, & + 0.0096128590799999993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,46) / & + 0.00028675025037037033_r8, 0.00027656232839506174_r8, & + 0.00028501220197530862_r8, 0.00037514110518518522_r8, & + 0.00032687328246913574_r8, 0.00031259909777777778_r8, & + 0.00036936301876543202_r8, 0.0004686351659259259_r8, & + 0.00056395047950617274_r8, 0.00076800475703703709_r8, & + 0.00085489793185185184_r8, 0.0010268630286419751_r8, & + 0.0012777798982716046_r8, 0.0015442190192592592_r8, & + 0.001913508078518518_r8, 0.0022714628434567902_r8, & + 0.0029664233432098765_r8, 0.0036107862958024684_r8, & + 0.0041638647279012347_r8, 0.0046616306943209878_r8, & + 0.0050775974469135787_r8, 0.0054274074212345676_r8, & + 0.0056348361012345683_r8, 0.0058244035604938273_r8, & + 0.0059969880681481477_r8, 0.0061564447634567905_r8, & + 0.0063061850286419757_r8, 0.0066308857506172832_r8, & + 0.0069860300543209877_r8, 0.0073596457446913578_r8, & + 0.0077724322385185193_r8, 0.0081678937180246908_r8, & + 0.0084692047461728381_r8, 0.008774370913580248_r8, & + 0.0090202585367901225_r8, 0.009197594942716051_r8, & + 0.0093757818829629629_r8, 0.0094553623116049382_r8, & + 0.0095271175603527328_r8, 0.0095645344669488524_r8, & + 0.0096297773170370363_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,46) / & + 0.00010102868543209876_r8, 0.00012674810370370371_r8, & + 0.00012244920740740742_r8, 0.0002257706375308642_r8, & + 0.0002311234567901234_r8, 0.00025002935555555557_r8, & + 0.00024148703259259261_r8, 0.00028427260691358023_r8, & + 0.00029998900197530866_r8, 0.0003533507856790123_r8, & + 0.00040056468543209884_r8, 0.00050474589481481471_r8, & + 0.00064015650567901224_r8, 0.00073281852197530878_r8, & + 0.00084982246074074088_r8, 0.0010241727516049383_r8, & + 0.0015321636197530863_r8, 0.0021152603664197534_r8, & + 0.0027389054123456791_r8, 0.0033340575585185184_r8, & + 0.0039130310627160493_r8, 0.004430849300246913_r8, & + 0.0048737280681481476_r8, 0.0052395595204938273_r8, & + 0.005546694859753086_r8, 0.0057909183940740728_r8, & + 0.0059920882508641971_r8, 0.0063101048824691372_r8, & + 0.0065826826424691346_r8, 0.006874970610864198_r8, & + 0.0072707186834567901_r8, 0.0076951630444444452_r8, & + 0.0080180055338271612_r8, 0.0084019200854320974_r8, & + 0.0087426885101234541_r8, 0.0089906285096296272_r8, & + 0.0092334375683950608_r8, 0.009362367477530862_r8, & + 0.0094790201086419733_r8, 0.0095435127980246903_r8, & + 0.0096337211086507946_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,46) / & + 0.00015990045234567902_r8, 0.00017802053135802467_r8, & + 0.00015385426271604936_r8, 0.00015071098370370364_r8, & + 0.0001586246508641975_r8, 0.00018452896790123455_r8, & + 0.00019784167901234568_r8, 0.00027478730024691356_r8, & + 0.00030368697728395066_r8, 0.00032995184691358021_r8, & + 0.00036206529561728392_r8, 0.00044348431135802466_r8, & + 0.00055674982820987649_r8, 0.00062155222302469131_r8, & + 0.00069057377654320993_r8, 0.0007988643609876542_r8, & + 0.0012008587100881835_r8, 0.0016928470853527337_r8, & + 0.0022847710971869487_r8, 0.0029048561815255736_r8, & + 0.0035179590592522045_r8, 0.0041265948158236334_r8, & + 0.0046819195037813045_r8, 0.0051353001253474431_r8, & + 0.0054999441314074072_r8, 0.0057987677428783082_r8, & + 0.0060572927344585527_r8, 0.0064015701415061719_r8, & + 0.0066139048791234566_r8, 0.0068337132908747782_r8, & + 0.0071753540415273372_r8, 0.007576513704772486_r8, & + 0.0079254008361481481_r8, 0.0083420785244938279_r8, & + 0.0086971803014814809_r8, 0.0089996827710493825_r8, & + 0.0092718270424973527_r8, 0.0093956164357777757_r8, & + 0.0095019544892592598_r8, 0.0095441044740740746_r8, & + 0.0096379452199999976_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,46) / & + 0.00011295465580246914_r8, 0.00011466496938271602_r8, & + 0.00010424592395061727_r8, 0.00011764183950617282_r8, & + 0.00012255090172839508_r8, 0.00013186055456790123_r8, & + 0.00015392475537037036_r8, 0.00021822330104938269_r8, & + 0.00025967413740740733_r8, 0.00030150401623456791_r8, & + 0.00033586216896825402_r8, 0.00039499461012345682_r8, & + 0.00048862982126102281_r8, 0.00051954291378306875_r8, & + 0.00056094356333333316_r8, 0.00062112513989417983_r8, & + 0.00083173242777777768_r8, 0.0011958200536419752_r8, & + 0.0016685910087389771_r8, 0.0021980950133333333_r8, & + 0.0028415689660582005_r8, 0.0035939664513227514_r8, & + 0.0041907582533333336_r8, 0.004747029887111111_r8, & + 0.0052326415331851849_r8, 0.0056546144580317467_r8, & + 0.0061142088667513229_r8, 0.0068898177175872998_r8, & + 0.0072321608194074061_r8, 0.0072967246948148134_r8, & + 0.007262187916666666_r8, 0.0074894331218518509_r8, & + 0.0079069738251851852_r8, 0.0082495958600000002_r8, & + 0.008562319764444444_r8, 0.008923144158222221_r8, 0.0092019456106666678_r8, & + 0.009274907588_r8, 0.0094408130899999998_r8, 0.0094975377199999992_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,46) / & + 0.00010061266320987653_r8, 9.8375388148148164e-05_r8, & + 9.1682052839506161e-05_r8, 0.00010510570320987652_r8, & + 0.00011312106469135801_r8, 0.00011762334962962966_r8, & + 0.00012344766074074074_r8, 0.00016108380444444445_r8, & + 0.00019356127259259259_r8, 0.00022129608740740735_r8, & + 0.00024674740246913578_r8, 0.00029434265592592589_r8, & + 0.00036142392802469126_r8, 0.00040284818518518509_r8, & + 0.00044537589176366841_r8, 0.00048448462206349206_r8, & + 0.00058833565507936515_r8, 0.00073759997103174603_r8, & + 0.00094994316116402112_r8, 0.0013048675674074074_r8, & + 0.0016785941970370369_r8, 0.0020966687955555553_r8, & + 0.0028385057548148147_r8, 0.0035395864037037037_r8, & + 0.0042746005985185185_r8, 0.0049587630103703701_r8, & + 0.0056546711162962964_r8, 0.0070656188034074084_r8, & + 0.0081393887998518523_r8, 0.0085743012044444435_r8, & + 0.0085285013180000022_r8, 0.0082337592807407399_r8, & + 0.0081296410525000008_r8, 0.0082121538599999998_r8, & + 0.0084285686199999984_r8, 0.0087382139599999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,46) / & + 0.00010587699520282186_r8, 0.00010375990433862434_r8, & + 8.795039954144623e-05_r8, 0.00012083216865079365_r8, & + 0.00013430584074074073_r8, 0.00015772789185185181_r8, & + 0.00011620194037037037_r8, 0.00015126591112345675_r8, & + 0.00018325848225925925_r8, 0.00020725926650617282_r8, & + 0.00022974665435802463_r8, 0.00026268683166666667_r8, & + 0.00031655672378130508_r8, 0.00036754044522045856_r8, & + 0.00042829104773192244_r8, 0.00047847785549206347_r8, & + 0.00058885238109347444_r8, 0.0007002020495767195_r8, & + 0.00092156681366843034_r8, 0.0012690781001234567_r8, & + 0.0016763915904938267_r8, 0.0021171105096913579_r8, & + 0.0027782138993474427_r8, 0.0034732320148765428_r8, & + 0.0042225700859259254_r8, 0.0049268512994268083_r8, & + 0.0056141926493386242_r8, 0.0070802775775308645_r8, & + 0.0081433858819312168_r8, 0.0087056486649382727_r8, & + 0.0089595179716402112_r8, 0.0086863775911111118_r8, & + 0.0083050570559818574_r8, 0.0082466611699074065_r8, & + 0.0084516385974476183_r8, 0.0087263074039999992_r8, & + 0.008996513837333334_r8, 0.0091610839079999985_r8, & + 0.0092504205200000002_r8, 0.0092975038350000001_r8, & + 0.0093335417599999995_r8, 0.0093619976799999994_r8, & + 0.0093774737066666669_r8, 0.0093728558599999994_r8, 0.0093941978000000002_r8 & + / +data delta_sa_ref(:,14,46) / & + 0.00014107775802469136_r8, 0.00013844295061728393_r8, & + 0.00011229826518518519_r8, 0.00014864936246913581_r8, & + 0.00016388502074074073_r8, 0.0001838263525925926_r8, & + 0.00019038101382716046_r8, 0.00014560777777777777_r8, & + 0.00016016855555555555_r8, 0.00017768771358024692_r8, & + 0.00020028234271604939_r8, 0.00022525292098765434_r8, & + 0.00027437127802469136_r8, 0.00032764061234567902_r8, & + 0.00038845381629629632_r8, 0.00045255821827160493_r8, & + 0.00057202131061728388_r8, 0.00068817471506172842_r8, & + 0.0008705496123456788_r8, 0.0011946863930864197_r8, & + 0.0016356422138271605_r8, 0.0021768501451851852_r8, & + 0.002871875359506173_r8, 0.0035939570412962963_r8, & + 0.0043857779149382723_r8, 0.0051032232601851864_r8, & + 0.0057753094714197532_r8, 0.0072799647773456782_r8, & + 0.0082715283204320977_r8, 0.0088033474226578475_r8, & + 0.0092034861805767171_r8, 0.0092321733230864202_r8, & + 0.0088699096905255712_r8, 0.0086011851547619055_r8, & + 0.0086727112611111115_r8, 0.0087285570441666665_r8, & + 0.0089891533641666653_r8, 0.009162498903583333_r8, & + 0.0092583317025833334_r8, 0.0093053124235317457_r8, & + 0.0093434237735714291_r8, 0.0093724467714814807_r8, & + 0.0093838388466666658_r8, 0.0093826115811111097_r8, 0.0094073649033333331_r8 & + / +data delta_sa_ref(:,15,46) / & + 0.0001736754103703704_r8, 0.00016793430370370369_r8, & + 0.00014933348790123455_r8, 0.00011379594518518518_r8, & + 0.00012351237530864199_r8, 0.00015293901382716047_r8, & + 0.00022660268197530862_r8, 0.00022765660493827161_r8, & + 0.00022631608888888888_r8, 0.00021690474172839501_r8, & + 0.00020834392888888887_r8, 0.00019413445876543211_r8, & + 0.00023381373382716047_r8, 0.00028641743259259257_r8, & + 0.00034672216493827164_r8, 0.00042355684691358024_r8, & + 0.00055809843358024694_r8, 0.00069013117512345683_r8, & + 0.00088007998808641973_r8, 0.0012492765979629631_r8, & + 0.0017608429459876542_r8, 0.0024507221965432095_r8, & + 0.0032638513321957673_r8, 0.0041104228764285719_r8, & + 0.0049796763814462077_r8, 0.0057674748814991175_r8, & + 0.0064479832314991185_r8, 0.007791710708296296_r8, & + 0.0085262571092345699_r8, 0.0089848987280123464_r8, & + 0.0092819309676049379_r8, 0.009366117637214285_r8, & + 0.0091899620905555555_r8, 0.0090835855550185172_r8, & + 0.0089585987606349178_r8, 0.0091564723016666662_r8, 0.00896623574_r8, & + 0.0091358480000000002_r8, 0.0092721368799999985_r8, & + 0.0093286742999999991_r8, 0.0093687372399999993_r8, & + 0.0093919512799999997_r8, 0.0093986908399999996_r8, & + 0.009410672279999999_r8, 0.0094211560399999998_r8 & + / +data delta_sa_ref(:,16,46) / & + 0.0001760541024177251_r8, 0.00017094673084587983_r8, & + 0.00016681819139691194_r8, 0.00011818671028207404_r8, & + 0.0001201831401564576_r8, 0.00012340068733264852_r8, & + 0.00014714463486779257_r8, 0.00017044277767370533_r8, & + 0.00019310128760724278_r8, 0.00021142773854151108_r8, & + 0.00022203982937864692_r8, 0.00019402197128717694_r8, & + 0.0001933241899718584_r8, 0.00024194597967953902_r8, & + 0.00030798322804871111_r8, 0.00039257952112392417_r8, & + 0.00057886774949965434_r8, 0.0007488453396298139_r8, & + 0.0010272988500705316_r8, 0.0015168445340799422_r8, & + 0.002185710324719055_r8, 0.0030857772665346854_r8, & + 0.0039442246333745556_r8, 0.0049007759689123362_r8, & + 0.0058288774518846145_r8, 0.0066304561607085514_r8, & + 0.0072665803975712692_r8, 0.0084163959401930381_r8, & + 0.0090547769596609849_r8, 0.0094862693396889752_r8, & + 0.0097792452259709423_r8, 0.0099548491625262164_r8, & + 0.010059869611614871_r8, 0.010083209851470624_r8, 0.0099209239072020738_r8, & + 0.0098310393939750277_r8, 0.0096557124932157776_r8, & + 0.0096665390064362647_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,46) / & + 0.00016409166162873417_r8, 0.00016230739544520164_r8, & + 0.00016366587083493659_r8, 0.00011471006742426337_r8, & + 0.00011954583429667819_r8, 0.00012448297992952097_r8, & + 0.00012912612715712261_r8, 0.0001311942538698535_r8, & + 0.00013467154535253334_r8, 0.00013750001276847403_r8, & + 0.00014408963219629298_r8, 0.00014764802668731521_r8, & + 0.00015810017688744032_r8, 0.00019916871273681645_r8, & + 0.00027613546765374158_r8, 0.00038060628027477867_r8, & + 0.00063346518453425511_r8, 0.00088878759267213157_r8, & + 0.0013778501380872724_r8, 0.0021642755963552688_r8, & + 0.0030731653299857649_r8, 0.0041151514364786432_r8, & + 0.0050000764983784687_r8, 0.0058203827383814981_r8, & + 0.0066410615453290989_r8, 0.0073468275273315823_r8, & + 0.0079108989503528827_r8, 0.0088880938910562372_r8, & + 0.0094971088720107715_r8, 0.0099348666681361216_r8, & + 0.010250941873451925_r8, 0.010447284598931761_r8, 0.010574362295821035_r8, & + 0.010796090874805271_r8, 0.010776370428500588_r8, 0.010659998383022559_r8, & + 0.010407003703637511_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,46) / & + 0.00019010253868054854_r8, 0.00018833858968049947_r8, & + 0.0001841936846040762_r8, 0.00013882445708698907_r8, & + 0.00013923441144680495_r8, 0.00013959522420516754_r8, & + 0.00015731285059682258_r8, 0.00014787955317939049_r8, & + 0.00013928714416528747_r8, 0.00013616873154075908_r8, & + 0.0001354404908084536_r8, 0.00013972261435662718_r8, & + 0.00016094044581487055_r8, 0.000208916068270575_r8, & + 0.00032931223580643103_r8, 0.00048749016759499055_r8, & + 0.00084106807258426005_r8, 0.0012453460860162664_r8, & + 0.0019800144641893571_r8, 0.0029852231970788202_r8, & + 0.0040067483780975768_r8, 0.0050761344548332617_r8, & + 0.0059609219957713587_r8, 0.0067472699501066142_r8, & + 0.0074149662637576046_r8, 0.0079883341393821011_r8, & + 0.0084646682940188664_r8, 0.0093213578390841743_r8, & + 0.0099792993180393003_r8, 0.010487708271547075_r8, 0.010803454098843999_r8, & + 0.010884343367307521_r8, 0.01102323114145792_r8, 0.011366078183943999_r8, & + 0.011468529350678401_r8, 0.011399085463603201_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,46) / & + 0.00020807424097332676_r8, 0.00020326480615042629_r8, & + 0.00019899588120441154_r8, 0.00018152307212304853_r8, & + 0.00018250481455249384_r8, 0.00018263718431826175_r8, & + 0.00018902402551656297_r8, 0.00018538385695794567_r8, & + 0.00017431995070251192_r8, 0.00016241770259721482_r8, & + 0.00015996886193050865_r8, 0.00018109287038430285_r8, & + 0.0002906619439986831_r8, 0.00046456272377626338_r8, & + 0.00074616285422675224_r8, 0.0010624466210118846_r8, & + 0.001580424681830677_r8, 0.0023570942365541137_r8, & + 0.0033183398381024395_r8, 0.0042844736660009085_r8, & + 0.0052697301975612055_r8, 0.0061689219559989215_r8, & + 0.0069111523251009829_r8, 0.0076381656865466465_r8, & + 0.0082158438905784899_r8, 0.0088338893577626348_r8, & + 0.0092938718118729825_r8, 0.010074252447529556_r8, 0.010809531434140622_r8, & + 0.011429251851610896_r8, 0.011894366588827025_r8, 0.012226225864717513_r8, & + 0.012532705601767821_r8, 0.012549820303357868_r8, 0.012264124983278933_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,46) / & + 0.00022135087414426339_r8, 0.00021437268626291358_r8, & + 0.00020952927296368721_r8, 0.00019726005775782721_r8, & + 0.00019776505819660905_r8, 0.00019512528317570366_r8, & + 0.00019994574190953084_r8, 0.00020359551780799995_r8, & + 0.00021170995667660897_r8, 0.00021104427428003295_r8, & + 0.00022018019130890532_r8, 0.0002825821773465679_r8, & + 0.00056717287916556371_r8, 0.0010088646265765267_r8, & + 0.0014274970783836789_r8, 0.0018879771375738682_r8, & + 0.002615176334759457_r8, 0.0035226061714973582_r8, & + 0.0043709681728218274_r8, 0.0052223644807600006_r8, & + 0.0060308214047983377_r8, 0.0067602457601673082_r8, & + 0.0074786232309379244_r8, 0.0081776959122078358_r8, & + 0.0088883075665718448_r8, 0.0095477334094163611_r8, & + 0.010040467502313069_r8, 0.011009131101670996_r8, 0.011760267606586914_r8, & + 0.012341837507190253_r8, 0.012786420505084127_r8, 0.013067613726272567_r8, & + 0.013169094220290514_r8, 0.013148264550812281_r8, 0.013037073783746939_r8, & + 0.012779072256816305_r8, 0.012378550670177036_r8, 0.0120232208841674_r8, & + 0.011828894419867585_r8, 0.011800347405006999_r8, 0.011769726732094667_r8, & + 0.011719292682591999_r8, 0.011668161388165333_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,46) / & + 0.00023014032934565924_r8, 0.00022031515803946664_r8, & + 0.00021479446105552596_r8, 0.00021107425056094813_r8, & + 0.00021204007443934814_r8, 0.00021045421547851852_r8, & + 0.00021302974582091848_r8, 0.00021405518845724441_r8, & + 0.00022791058779922965_r8, 0.0002441865087130074_r8, & + 0.00029921462227863705_r8, 0.00050190647547520011_r8, & + 0.0010033956196449185_r8, 0.0016560063914052739_r8, & + 0.0021445344176018962_r8, 0.0025866790501321481_r8, & + 0.0033378277049924744_r8, 0.0040699579760744287_r8, & + 0.0049206461091678812_r8, 0.005788623682059851_r8, & + 0.0066178252147968009_r8, 0.0074243954670250674_r8, & + 0.0082068797410512605_r8, 0.0089521738338832584_r8, & + 0.0097393679897855995_r8, 0.010427869253817364_r8, 0.010969612983338668_r8, & + 0.01204021086691769_r8, 0.0127771225623853_r8, 0.013309494223160653_r8, & + 0.013653315600119464_r8, 0.013825405144872653_r8, 0.013827576758130107_r8, & + 0.013799078991841509_r8, 0.013728205702888116_r8, 0.013538114061255066_r8, & + 0.013181204663538426_r8, 0.012734753853292839_r8, 0.012420234457082209_r8, & + 0.012330049800740067_r8, 0.012286726978596653_r8, 0.012283501561208032_r8, & + 0.012242905104864569_r8, 0.012217913517729601_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,46) / & + 0.00024632820023467983_r8, 0.00023982146426704856_r8, & + 0.00023465071211026172_r8, 0.00025198139098982713_r8, & + 0.00025540794206023367_r8, 0.0002574490284379127_r8, & + 0.00027033879816846748_r8, 0.00029068781084290376_r8, & + 0.00032502754286979423_r8, 0.00039781392011987483_r8, & + 0.00062932259623055796_r8, 0.00098761366194628471_r8, & + 0.0016015848145726026_r8, 0.0022034950022399072_r8, & + 0.0026196910699793647_r8, 0.0030142763625563653_r8, & + 0.0037442307023167337_r8, 0.0046828211805373101_r8, & + 0.0057351187253253146_r8, 0.0065520851958771609_r8, & + 0.0073942745459689334_r8, 0.0082328270512422967_r8, & + 0.0090773914836644615_r8, 0.0098025461778821661_r8, 0.01058022482821881_r8, & + 0.0113130490591284_r8, 0.011865874211967643_r8, 0.013014350220915977_r8, & + 0.013882170667823209_r8, 0.014353142071807289_r8, 0.01461099931752074_r8, & + 0.014725819703930535_r8, 0.014689711030376321_r8, 0.014613733136244778_r8, & + 0.014478254481648776_r8, 0.014297810075641482_r8, 0.014002545283224388_r8, & + 0.01356021093963017_r8, 0.013139982180017237_r8, 0.012946190306121968_r8, & + 0.012844615112384465_r8, 0.012795936085863997_r8, 0.012705684768662885_r8, & + 0.012728418759844089_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,46) / & + 0.00024281217985659258_r8, 0.0002390825232538864_r8, & + 0.00023837760533928549_r8, 0.00026428013452852676_r8, & + 0.00027016299494310453_r8, 0.00027494362007303365_r8, & + 0.00031371410537607894_r8, 0.00040113674347593741_r8, & + 0.00051470542786280808_r8, 0.00070860912113546008_r8, & + 0.0011590644852547422_r8, 0.0016937639485135011_r8, & + 0.0024159972104347916_r8, 0.002826733654238656_r8, & + 0.0031915222666999035_r8, 0.0035584256329049551_r8, & + 0.0043099706633842822_r8, 0.0053313070048153803_r8, & + 0.0064506397530653481_r8, 0.0072653838787609809_r8, & + 0.0081147330657188321_r8, 0.0090384575010117509_r8, & + 0.009960259432901214_r8, 0.010801085521437076_r8, 0.01154128778183601_r8, & + 0.012252883191591507_r8, 0.012820752246904571_r8, 0.013876885899938235_r8, & + 0.014740256545051971_r8, 0.015295193560804448_r8, 0.015537454623018717_r8, & + 0.015590656700537043_r8, 0.015516486519231685_r8, 0.015399559862233439_r8, & + 0.0152621521356437_r8, 0.015013944129568078_r8, 0.014621881602156455_r8, & + 0.01412224860097675_r8, 0.013705244796077614_r8, 0.013567414118739119_r8, & + 0.013463361826199359_r8, 0.013421008618482303_r8, 0.01340591422033173_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,46) / & + 0.00023546084826978766_r8, 0.00023272863767194072_r8, & + 0.00023653516408738768_r8, 0.00024959937495573333_r8, & + 0.00025124400657773827_r8, 0.00024828632228977783_r8, & + 0.0003066707448709531_r8, 0.00049398632872237047_r8, & + 0.00072353180841623686_r8, 0.0011816810835687899_r8, & + 0.001822928258251812_r8, 0.0025615137512726917_r8, & + 0.0033566135615626272_r8, 0.0037105276760914948_r8, & + 0.004009983262878815_r8, 0.0043061230601056386_r8, & + 0.0050913285543470613_r8, 0.0061170879496231893_r8, & + 0.0071985658726738573_r8, 0.0081499454765289886_r8, & + 0.0090649177110098955_r8, 0.010013432472684759_r8, 0.01089726281161351_r8, & + 0.011756569570952847_r8, 0.012473058642342594_r8, 0.013146455712604166_r8, & + 0.013712076358991444_r8, 0.01471477112208478_r8, 0.015592858513494757_r8, & + 0.016129605264389255_r8, 0.016370212218056925_r8, 0.016425944008989706_r8, & + 0.01635684295454902_r8, 0.016217579793008276_r8, 0.016027027998545815_r8, & + 0.015706590095419692_r8, 0.015236862083121893_r8, 0.014726973227667396_r8, & + 0.014345418691362249_r8, 0.014164420160307795_r8, 0.014053920999520119_r8, & + 0.013963302128726596_r8, 0.013923147206622686_r8, 0.013868238442027243_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,25,46) / & + 0.00026112726789886417_r8, 0.00025897485643983531_r8, & + 0.00025605470586166255_r8, 0.00026729660010627162_r8, & + 0.00026717321346212346_r8, 0.00024955634260319338_r8, & + 0.00029675858880342387_r8, 0.00042276377173293818_r8, & + 0.00062381545355878179_r8, 0.0010782073350750288_r8, & + 0.0016680777518659426_r8, 0.0024063411726856954_r8, & + 0.003373719882061432_r8, 0.0038985655373862714_r8, & + 0.0042688077275934797_r8, 0.004658901457881416_r8, 0.00562504630081567_r8, & + 0.0067196503499352758_r8, 0.007756742513254717_r8, & + 0.0087589985140429961_r8, 0.0096744725751137448_r8, & + 0.010677948732716377_r8, 0.011599729222265811_r8, 0.012444749509527968_r8, & + 0.013162613005181891_r8, 0.013825994442630848_r8, 0.014428532554887635_r8, & + 0.015540506701577876_r8, 0.016432400203989207_r8, 0.016866501837356645_r8, & + 0.01715995640602232_r8, 0.017296216390043258_r8, 0.017313243746935703_r8, & + 0.017187074048480657_r8, 0.016972120804747456_r8, 0.01659156897494031_r8, & + 0.016116283621681646_r8, 0.015557633453266993_r8, 0.01513521584961903_r8, & + 0.014842397064911391_r8, 0.014676382048913446_r8, 0.01458444626865503_r8, & + 0.014522354632949944_r8, 0.014478073026957429_r8, 0.014361584038957841_r8 & + / +data delta_sa_ref(:,26,46) / & + 0.00029934480629446582_r8, 0.00029573500181110784_r8, & + 0.00028833136359622053_r8, 0.0002714006727644708_r8, & + 0.00027065039967577283_r8, 0.00026275129810042469_r8, & + 0.00027489722847972344_r8, 0.00029492810433835726_r8, & + 0.00029709398702837197_r8, 0.00042226218797680997_r8, & + 0.00062577022426212351_r8, 0.0010039361731579127_r8, & + 0.0019103368447850936_r8, 0.0029689155485538368_r8, & + 0.0037685226318576728_r8, 0.0045925489807842248_r8, & + 0.0060735314334899098_r8, 0.0073908127918993118_r8, & + 0.008415232835988282_r8, 0.009451544000728309_r8, 0.010460165841666582_r8, & + 0.011507929288081264_r8, 0.012461285730184124_r8, 0.013319159304678163_r8, & + 0.014029597139195049_r8, 0.014674860307667306_r8, 0.015285313636043182_r8, & + 0.016416782078183732_r8, 0.017206989513734817_r8, 0.017628742082255153_r8, & + 0.017907560549330528_r8, 0.018060545478944843_r8, 0.018103580010824873_r8, & + 0.0180353476280414_r8, 0.017864483549162456_r8, 0.01758952084873867_r8, & + 0.017214617879973918_r8, 0.016683677573392012_r8, 0.016086985739852934_r8, & + 0.015618132300872785_r8, 0.015360445295563584_r8, 0.015253459234891947_r8, & + 0.01520488506873956_r8, 0.014985519373700296_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,46) / & + 0.00031134128620657778_r8, 0.00030211246519055805_r8, & + 0.00029343854164069137_r8, 0.00028894095165187163_r8, & + 0.00028899936191146663_r8, 0.000285742989939042_r8, & + 0.00027210419432359504_r8, 0.00026360550155251364_r8, & + 0.00026750438638048393_r8, 0.00031077178617552593_r8, & + 0.00038536168767841977_r8, 0.0005345852983789038_r8, & + 0.00088419990718514581_r8, 0.0015557864694442664_r8, & + 0.002323589331821353_r8, 0.0034228850199653133_r8, & + 0.0056817995918500338_r8, 0.0080031547312418762_r8, & + 0.0095148122495620734_r8, 0.010654659260429907_r8, 0.011754159384482448_r8, & + 0.012830952520117414_r8, 0.013640533320669867_r8, 0.014428239479003971_r8, & + 0.015088523656031446_r8, 0.015702181843337167_r8, 0.016318088825637293_r8, & + 0.017344590727760907_r8, 0.01806090129566372_r8, 0.018462130495425264_r8, & + 0.018674844232984968_r8, 0.018723602197181943_r8, 0.018688565168027971_r8, & + 0.018571199660255021_r8, 0.018383842755121844_r8, 0.018161825358401017_r8, & + 0.017908842179772001_r8, 0.017597796282592525_r8, 0.01703877724249676_r8, & + 0.016342719245650134_r8, 0.015958614747543464_r8, 0.015681665239654401_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,46) / & + 0.00029881361482229462_r8, 0.0002880836537340445_r8, & + 0.00027998727355805765_r8, 0.00030865568291726751_r8, & + 0.00030997999789029144_r8, 0.00030514925804551118_r8, & + 0.00029762474115333003_r8, 0.00029971655684935639_r8, & + 0.00032043907637042306_r8, 0.00035905489706109634_r8, & + 0.00042758819691508153_r8, 0.00052620451530400656_r8, & + 0.00075820042012373354_r8, 0.001127609052428471_r8, & + 0.001593527138392323_r8, 0.0023146316902376038_r8, 0.004485800941408883_r8, & + 0.0075046220695181428_r8, 0.0098862219600961612_r8, & + 0.011742384836093168_r8, 0.013158799895877333_r8, 0.014173375655551464_r8, & + 0.014888114466105957_r8, 0.015590287333450508_r8, 0.016170427585837675_r8, & + 0.016718031827183039_r8, 0.017308616109016548_r8, 0.018271724173148159_r8, & + 0.018988675191668952_r8, 0.019311104502757356_r8, 0.019444975063915369_r8, & + 0.019422907536999826_r8, 0.019287489075223992_r8, 0.019144539002011476_r8, & + 0.018948174586989885_r8, 0.018710507131309229_r8, 0.018400960975564325_r8, & + 0.018120770970022571_r8, 0.017744978376346858_r8, 0.017407275639631056_r8, & + 0.017040659570531198_r8, 0.016914808478237228_r8, 0.016713118317652449_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,46) / & + 0.00033051907195022224_r8, 0.00032715654787084114_r8, & + 0.00032864411612715716_r8, 0.00034162934736458266_r8, & + 0.00034863331457140408_r8, 0.00035329746087506167_r8, & + 0.00032320519469000161_r8, 0.00034762610689785669_r8, & + 0.00038317279002274236_r8, 0.00043680272476346997_r8, & + 0.00051155302964335145_r8, 0.00059535270808248886_r8, & + 0.00080857082482112242_r8, 0.0011123136681576559_r8, & + 0.0014334114744845431_r8, 0.0019315453988157103_r8, & + 0.0035757267006170327_r8, 0.0061928861105677441_r8, & + 0.0091256734144028427_r8, 0.011849131972669472_r8, 0.013949888260641133_r8, & + 0.015332954846950979_r8, 0.016228068054183819_r8, 0.017020461574217507_r8, & + 0.017656536463316646_r8, 0.018205402663389259_r8, 0.018681703424458452_r8, & + 0.019576878613701977_r8, 0.020123110578320696_r8, 0.020296474262192197_r8, & + 0.020328218736349438_r8, 0.020238031036934615_r8, 0.020074733618985086_r8, & + 0.019898485834679139_r8, 0.019697301912701564_r8, 0.01948158708309523_r8, & + 0.019198488123190749_r8, 0.018889064241187845_r8, 0.018515969338714078_r8, & + 0.018119181259247132_r8, 0.017755997114257828_r8, 0.017470853024706315_r8, & + 0.017201468760662718_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,46) / & + 0.00036406680441422221_r8, 0.00036480013510577772_r8, & + 0.00038246383958933337_r8, 0.00044792157479644438_r8, & + 0.00045892153516977774_r8, 0.00045448966707733335_r8, & + 0.00043834044989155555_r8, 0.00047046352257600006_r8, & + 0.00055538640505244444_r8, 0.00065336576223288894_r8, & + 0.00075901320773155549_r8, 0.00088334464389333328_r8, & + 0.0011255191337937779_r8, 0.0014263760209902222_r8, & + 0.0017923239780479998_r8, 0.0022748874570346664_r8, & + 0.0038656411467342228_r8, 0.0063028657001191106_r8, & + 0.0093001954821368884_r8, 0.012203579225777778_r8, 0.014486389842675553_r8, & + 0.016157937444218669_r8, 0.017294360886556441_r8, 0.018283910944952891_r8, & + 0.019057176275255112_r8, 0.019677159549050666_r8, 0.020170515742780448_r8, & + 0.021048998085349335_r8, 0.021497142847747557_r8, 0.02153672277762711_r8, & + 0.021471944568957554_r8, 0.021289442871335999_r8, 0.021008836273507997_r8, & + 0.020826123344763334_r8, 0.020625256495909777_r8, 0.020427916523584826_r8, & + 0.020237056108663016_r8, 0.020052338476995238_r8, 0.019813123500242856_r8, & + 0.019438971463008919_r8, 0.01893761558795256_r8, 0.018571197826686599_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,46) / & + 0.0004667263953235753_r8, 0.00045735220739123614_r8, & + 0.00047592031041106161_r8, 0.00051517062526762122_r8, & + 0.00052951051065362959_r8, 0.00055881304216240976_r8, & + 0.00072759759026583693_r8, 0.00091077118907659596_r8, & + 0.0010358969318447931_r8, 0.0011461583591328654_r8, & + 0.001253715693748148_r8, 0.0013989828298185218_r8, & + 0.0016692282126931225_r8, 0.0019909169101124998_r8, & + 0.0025026787397683624_r8, 0.0031976797219967468_r8, & + 0.0051288443782608051_r8, 0.0076576299036519224_r8, 0.01049047016454774_r8, & + 0.013204740058851815_r8, 0.015273895383630377_r8, 0.016845923756067024_r8, & + 0.01806973054601007_r8, 0.019127751872450416_r8, 0.019929539932593356_r8, & + 0.020595549763681342_r8, 0.021140776788718035_r8, 0.021953610657718302_r8, & + 0.02249801826073294_r8, 0.022510581170933974_r8, 0.022348985880471212_r8, & + 0.022081145793882068_r8, 0.0217767138315965_r8, 0.021519904336027147_r8, & + 0.021302993084013223_r8, 0.021084165379480137_r8, 0.020925144244769527_r8, & + 0.020786905408442635_r8, 0.020604293816078714_r8, 0.020256540123559711_r8, & + 0.019633236929417323_r8, 0.019370054964372857_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,46) / & + 0.00098938762113303714_r8, 0.00097129009360678192_r8, & + 0.00096049891672833577_r8, 0.0010611380046836414_r8, & + 0.0011234945088299192_r8, 0.0012763218156981466_r8, & + 0.0015301080737988874_r8, 0.0017449720215361843_r8, & + 0.0019164019032104692_r8, 0.002054683848420385_r8, & + 0.0021955415347572945_r8, 0.0023260120820395983_r8, & + 0.0027668005129418672_r8, 0.0033744734000001968_r8, & + 0.0041962358289667949_r8, 0.0052318184412924315_r8, & + 0.0076536043224919052_r8, 0.010226180486531069_r8, 0.012581737834439114_r8, & + 0.014949365812334437_r8, 0.016634658080307292_r8, 0.018024363010321096_r8, & + 0.019124473830096161_r8, 0.020113625762498619_r8, 0.020848149691334007_r8, & + 0.021456176111488198_r8, 0.022044303668818176_r8, 0.022834062935154623_r8, & + 0.023467055525840386_r8, 0.023539967518134534_r8, 0.023324901551485318_r8, & + 0.023032883214303523_r8, 0.02270344087368838_r8, 0.022342163719536342_r8, & + 0.022062081333067224_r8, 0.021856240896729062_r8, 0.021715160147843575_r8, & + 0.021687254181270817_r8, 0.021770606222334603_r8, 0.021809919643716511_r8, & + 0.021808760620334038_r8, 0.021699474341327723_r8, 0.021556741125842462_r8, & + 0.022001677678402845_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,46) / & + 0.0022390617680825677_r8, 0.0022450411249440392_r8, & + 0.0022197066244847405_r8, 0.0023712470300288001_r8, & + 0.0024871359523207901_r8, 0.0025769991190249873_r8, & + 0.0028826721368449579_r8, 0.0031882933105302912_r8, & + 0.0033944947153599996_r8, 0.0035864562645427354_r8, & + 0.0038417367834955056_r8, 0.0039187944489443554_r8, & + 0.0046912374922797829_r8, 0.0059501686136709531_r8, & + 0.0072910653119232782_r8, 0.0086488459166890654_r8, & + 0.011247965199825859_r8, 0.013593013660484739_r8, 0.01554152361668314_r8, & + 0.017133069424527327_r8, 0.01844482971911364_r8, 0.019563245954260226_r8, & + 0.020503750400710716_r8, 0.021328780677946305_r8, 0.021922741647104629_r8, & + 0.02243855622398672_r8, 0.022932319762269865_r8, 0.023654992436353738_r8, & + 0.024177788690033616_r8, 0.024250543292307598_r8, 0.024114694378180347_r8, & + 0.023840715408001811_r8, 0.023474246501630814_r8, 0.023098117304839107_r8, & + 0.022792945446987296_r8, 0.022571795650003907_r8, 0.022465376922972284_r8, & + 0.022443464135399032_r8, 0.022505124092860682_r8, 0.022556000470317826_r8, & + 0.022535781257809383_r8, 0.022470399940707327_r8, 0.022443708234866279_r8, & + 0.022649812370224336_r8, 0.022660410237132268_r8 & + / +data delta_sa_ref(:,34,46) / & + 0.0030471687262769252_r8, 0.0031954798950983116_r8, & + 0.0032910861744975136_r8, 0.003616143978885386_r8, & + 0.0038913333493867451_r8, 0.00412528774753829_r8, 0.0046956280443732935_r8, & + 0.0050471712523254917_r8, 0.0056680536412367271_r8, & + 0.0068535325045232321_r8, 0.0077526889093308691_r8, & + 0.0085324837196280624_r8, 0.0097608994285857814_r8, & + 0.011143370128824624_r8, 0.012352781585693353_r8, 0.013564373567755127_r8, & + 0.015618623305923396_r8, 0.017279793490388991_r8, 0.018585307606375664_r8, & + 0.019694627638529409_r8, 0.020654324641176516_r8, 0.021500634333785192_r8, & + 0.022196204142520059_r8, 0.022802088772786437_r8, 0.023263119164415522_r8, & + 0.023675007963889119_r8, 0.024050377398340948_r8, 0.024579677729144218_r8, & + 0.024852934764311895_r8, 0.024859033143713592_r8, 0.024697337450333263_r8, & + 0.024434486661412073_r8, 0.024081560681386234_r8, 0.023736293131306707_r8, & + 0.023460164184909153_r8, 0.023237856982300961_r8, 0.023114985274065119_r8, & + 0.023125285153229022_r8, 0.02321112338887726_r8, 0.023263119164415522_r8, & + 0.023256488949600893_r8, 0.023209709593071198_r8, 0.023205733806790783_r8, & + 0.02328929876261741_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,46) / & + 0.0034913042747538431_r8, 0.0037856736707392261_r8, & + 0.003999249145019786_r8, 0.0048919261103412661_r8, & + 0.0054035899000153412_r8, 0.0059054350154793085_r8, & + 0.006747830463842832_r8, 0.0073004500745858097_r8, & + 0.0084703853173941721_r8, 0.010138837504052017_r8, 0.011152825756774122_r8, & + 0.012256170305818796_r8, 0.013195757452483293_r8, 0.014408395522484478_r8, & + 0.015440308194345349_r8, 0.016449412099646878_r8, 0.018099490052845366_r8, & + 0.019292122419986315_r8, 0.020285258890530875_r8, 0.021211939676516203_r8, & + 0.022033321072023757_r8, 0.022794911888817691_r8, 0.023429063752852322_r8, & + 0.02401836140503958_r8, 0.024447078265647491_r8, 0.024776067786333379_r8, & + 0.025016464331968_r8, 0.025458885924992937_r8, 0.025607900062614177_r8, & + 0.025610114083750603_r8, 0.025486774412869676_r8, 0.025172056273809862_r8, & + 0.024801932109767447_r8, 0.024494999068775732_r8, 0.024257103763378338_r8, & + 0.023971243841769536_r8, 0.023744958029789348_r8, 0.023697382863206152_r8, & + 0.023676270798860418_r8, 0.023565548711759327_r8, 0.023523849561166696_r8, & + 0.023423914449868008_r8, 0.023280753545434074_r8, 0.022791273780207403_r8, & + 0.022634206797898664_r8 & + / +data delta_sa_ref(:,36,46) / & + 0.0038766239603356444_r8, 0.0044646311049332151_r8, & + 0.0046370665556157388_r8, 0.0062805300453713389_r8, & + 0.0072282325636878969_r8, 0.0079919733654879362_r8, & + 0.009187043700398528_r8, 0.0096204331578352304_r8, & + 0.0098787034439701445_r8, 0.010565249454497072_r8, 0.011315948724094391_r8, & + 0.011664930163719297_r8, 0.012768213994813702_r8, 0.014072455663813934_r8, & + 0.015294868293706739_r8, 0.016379931686806695_r8, 0.018079541830652975_r8, & + 0.019174873921580227_r8, 0.020098720554367296_r8, 0.021025127545073873_r8, & + 0.022119364534342417_r8, 0.023053974778817488_r8, 0.023857862657823407_r8, & + 0.024623898138844556_r8, 0.025275446384209938_r8, 0.025792220713832682_r8, & + 0.025384973109279368_r8, 0.025833157644831031_r8, 0.026191978041169583_r8, & + 0.02627744844126096_r8, 0.026192153342558564_r8, 0.026135043661376135_r8, & + 0.025964821024964103_r8, 0.025801617759419696_r8, 0.025652272547494515_r8, & + 0.025478730556671145_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,46) / & + 0.0026484796810398552_r8, 0.0032597377019090708_r8, & + 0.0034392177615023673_r8, 0.0053802832609878915_r8, & + 0.0063623612328791435_r8, 0.0074468875591945745_r8, & + 0.0096100484304152238_r8, 0.010047622836832582_r8, & + 0.0099282427610742005_r8, 0.010016371607928573_r8, 0.010580938691165886_r8, & + 0.010995448870760175_r8, 0.012434573341479131_r8, 0.013809883459234411_r8, & + 0.015191553868063595_r8, 0.016542564132855167_r8, 0.01844574708497013_r8, & + 0.019594253581259564_r8, 0.020615648230393076_r8, 0.021501169629270359_r8, & + 0.022533032200715224_r8, 0.023772039033544776_r8, 0.024671973573827267_r8, & + 0.025503483571577539_r8, 0.026127082531952825_r8, 0.026689204920869441_r8, & + 0.026309187403317464_r8, 0.026426153088069154_r8, 0.026784899654013691_r8, & + 0.026859014546039686_r8, 0.026757726434006479_r8, 0.026713660580535266_r8, & + 0.026570455017847654_r8, 0.02644765305101365_r8, 0.026289523753104217_r8, & + 0.026107392936655_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,46) / & + 0.0010783895610260057_r8, 0.0014585470658671487_r8, & + 0.0019241684620675051_r8, 0.0037725684843322067_r8, & + 0.0051141759433001206_r8, 0.0067378367006836184_r8, & + 0.0093310564205582452_r8, 0.0099524129344065407_r8, & + 0.0096517321151259675_r8, 0.0094351532102854799_r8, & + 0.0099901673880523848_r8, 0.010550230741552475_r8, 0.01202771286106883_r8, & + 0.013527548559673521_r8, 0.014922569955938677_r8, 0.016551719435657832_r8, & + 0.018743187933253528_r8, 0.020017737094171786_r8, 0.021163993285591199_r8, & + 0.021986800377189666_r8, 0.022925123828388218_r8, 0.024337691894359696_r8, & + 0.025272059112522588_r8, 0.026201477511240162_r8, 0.026825085211762488_r8, & + 0.027419131713240709_r8, 0.027315970467130343_r8, 0.027021212759589776_r8, & + 0.027383831388984353_r8, 0.027426507900398751_r8, 0.027325414621045197_r8, & + 0.027243947268237156_r8, 0.027107487805813332_r8, 0.026992103163841066_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,46) / & + 0.00079475529800277162_r8, 0.00118226709432_r8, 0.0019466471198484265_r8, & + 0.0035699427298113277_r8, 0.0054068422295879669_r8, & + 0.007092794178163199_r8, 0.0087322045489535999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,46) / & + 0.0024460944257074357_r8, 0.0022338126199762396_r8, & + 0.0030615059025262217_r8, 0.0044547911720491844_r8, & + 0.0059045702568962964_r8, 0.0085315236362399974_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,46) / & + 0.0035805259561465671_r8, 0.0033120692770258696_r8, & + 0.0036935037168987659_r8, 0.0039500418630170333_r8, & + 0.0062564849179629033_r8, 0.0088727891390743691_r8, & + 0.010111273699689338_r8, 0.013485354524553718_r8, 0.013744675730895642_r8, & + 0.0093268417934820342_r8, 0.0063386731351254911_r8, & + 0.0043687631023176686_r8, 0.0032491659084019353_r8, & + 0.003097887445240889_r8, 0.0036625279462309921_r8, & + 0.0032822522526222224_r8, 0.003337561694836622_r8, & + 0.0029776592435788794_r8, 0.0029226012079199997_r8, & + 0.0029537476867427552_r8, 0.0029297243936597332_r8, & + 0.0029079358255146666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,46) / & + 0.0037875883398587259_r8, 0.0036418282646658372_r8, & + 0.003641615165140701_r8, 0.0039403380794760688_r8, & + 0.0046863568970714857_r8, 0.0061269949267995652_r8, & + 0.0076943419341733935_r8, 0.011314775006515593_r8, 0.013706348357209677_r8, & + 0.010459393512620482_r8, 0.0068537069274176785_r8, & + 0.0040813247253059159_r8, 0.0025474769632834364_r8, & + 0.0026807067863983403_r8, 0.0031468833075854212_r8, & + 0.002907146341807644_r8, 0.002909128167391408_r8, 0.0027411791041437534_r8, & + 0.0027268161961496_r8, 0.0027659572514289188_r8, 0.0027836232020626763_r8, & + 0.0027889735222830503_r8, 0.0027877984306158721_r8, & + 0.0028500916838035705_r8, 0.0029887829433198117_r8, & + 0.0031336406942376973_r8, 0.0033340699304647108_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,46) / & + 0.0032613086925438418_r8, 0.0034810273272278909_r8, & + 0.0031692110612391508_r8, 0.0042385084167015242_r8, & + 0.0043071430800309726_r8, 0.0047484223020251657_r8, & + 0.0058626720727672083_r8, 0.0089677656402123319_r8, & + 0.009061705224143117_r8, 0.0065926115848792483_r8, & + 0.0038670479704392686_r8, 0.0030903140904214644_r8, & + 0.0022806004871935999_r8, 0.0025359740619970371_r8, & + 0.0025934254415252013_r8, 0.0025333427011026174_r8, & + 0.0025172475436317497_r8, 0.0025419384800243884_r8, & + 0.0025646997517611192_r8, 0.0026428950263402929_r8, & + 0.0027100824411778104_r8, 0.0027706475977643712_r8, & + 0.0028663852783063436_r8, 0.003018170945899457_r8, & + 0.0031480340880409353_r8, 0.0033048577153464891_r8, & + 0.003509750667562604_r8, 0.0040218166301891813_r8, & + 0.0040641439497194187_r8, 0.0039853736914590892_r8, & + 0.003956119536715378_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,44,46) / & + 0.0026467724486126348_r8, 0.003189907091670018_r8, & + 0.0026658915095222517_r8, 0.0035640364510263578_r8, & + 0.0037818314137467533_r8, 0.0041438760836602206_r8, & + 0.0052758687843088336_r8, 0.0059339883455726368_r8, & + 0.0038055949635094123_r8, 0.0025909934902513258_r8, & + 0.0022475718678748183_r8, 0.0025326893729019527_r8, & + 0.0023924979569396937_r8, 0.0025413921529858106_r8, & + 0.0025501851173192428_r8, 0.0025754367071998685_r8, & + 0.0025635774783809317_r8, 0.0025717842450921351_r8, & + 0.0026213404902328628_r8, 0.0027531447709847707_r8, & + 0.0028440054024302355_r8, 0.0029409083785971362_r8, & + 0.003071675540478947_r8, 0.0032585823977203622_r8, & + 0.0033922805477133171_r8, 0.0035680496501323852_r8, & + 0.0037693408951808005_r8, 0.0041147465710479275_r8, & + 0.0043758879491526933_r8, 0.0043289865028587901_r8, & + 0.0042909105516454864_r8, 0.0042641277620417426_r8, & + 0.0039459577295458612_r8, 0.0039841462500278275_r8, & + 0.0041289054982309933_r8, 0.0041418243919824202_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,46) / & + 0.0024575275361279985_r8, 0.0033259966231893325_r8, & + 0.0028675324129279994_r8, 0.0036056338476373327_r8, & + 0.0039865445930666659_r8, 0.0043310413460479992_r8, & + 0.0044105869249706671_r8, 0.0029658872551253331_r8, & + 0.0023364255307093333_r8, 0.0022702224833706665_r8, & + 0.0023117325816319994_r8, 0.0023975788004693323_r8, & + 0.0023856724441599993_r8, 0.0024625309854720001_r8, & + 0.0025065428084053332_r8, 0.0025581061335893324_r8, & + 0.002564592086442666_r8, 0.0025797877474133335_r8, & + 0.0026547005028693333_r8, 0.0027825201023146651_r8, & + 0.0028823574480213326_r8, 0.0030111036121599996_r8, & + 0.0031465210420906667_r8, 0.0033129783892479987_r8, & + 0.0035067230666239995_r8, 0.0036697984526506667_r8, & + 0.0038917570249386653_r8, 0.0042251813298346671_r8, & + 0.0043508698304853327_r8, 0.0042792927079253334_r8, & + 0.004227034459221333_r8, 0.0042321595201813339_r8, & + 0.0041753784775680003_r8, 0.0041809031195519999_r8, & + 0.0042298505540571416_r8, 0.0042478788556617134_r8, & + 0.0043639112285439995_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,47) / & + 0.0035173014799999998_r8, 0.0036256170257777777_r8, & + 0.0040188745120000001_r8, 0.0046396628720000001_r8, & + 0.0047783147582222216_r8, 0.005102995141333333_r8, & + 0.0056324083804444435_r8, 0.005954409580444445_r8, & + 0.0062581890071111111_r8, 0.0065185856364444444_r8, & + 0.006736464794666666_r8, 0.0068886790053333327_r8, & + 0.0072695223884444438_r8, 0.0075709221680000001_r8, & + 0.0078849357413333324_r8, 0.0081199217333333337_r8, & + 0.0085819684939999995_r8, 0.0090440994991666662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,2,47) / & + 0.0035173014799999998_r8, 0.0036256170257777777_r8, & + 0.0040188745120000001_r8, 0.0046396628720000001_r8, & + 0.0047783147582222216_r8, 0.005102995141333333_r8, & + 0.0056324083804444435_r8, 0.005954409580444445_r8, & + 0.0062581890071111111_r8, 0.0065185856364444444_r8, & + 0.006736464794666666_r8, 0.0068886790053333327_r8, & + 0.0072695223884444438_r8, 0.0075709221680000001_r8, & + 0.0078849357413333324_r8, 0.0081199217333333337_r8, & + 0.0085819684939999995_r8, 0.0090440994991666662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,3,47) / & + 0.0035173014799999998_r8, 0.0036256170257777777_r8, & + 0.0040188745120000001_r8, 0.0046396628720000001_r8, & + 0.0047783147582222216_r8, 0.005102995141333333_r8, & + 0.0056324083804444435_r8, 0.005954409580444445_r8, & + 0.0062581890071111111_r8, 0.0065185856364444444_r8, & + 0.006736464794666666_r8, 0.0068886790053333327_r8, & + 0.0072695223884444438_r8, 0.0075709221680000001_r8, & + 0.0078849357413333324_r8, 0.0081199217333333337_r8, & + 0.0085819684939999995_r8, 0.0090440994991666662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,4,47) / & + 0.0038728063362962954_r8, 0.0038796660804938277_r8, & + 0.0040835816839506168_r8, 0.0044290095575308646_r8, & + 0.0045380258696296289_r8, 0.004686037331358024_r8, & + 0.0051891653619753073_r8, 0.005571628458271605_r8, & + 0.0058442986676543211_r8, 0.0061176992271604934_r8, & + 0.0063670999269135791_r8, 0.0065041006671604932_r8, & + 0.0068545670320987653_r8, 0.0071269321585185168_r8, & + 0.0073624931856790124_r8, 0.0076085379728395046_r8, & + 0.0078829335188271617_r8, 0.007884503672539683_r8, & + 0.0081202694090476181_r8, 0.0084066842804149649_r8, & + 0.0085419368830204068_r8, 0.0086821430367551005_r8, & + 0.0087922998204761887_r8, 0.0089372999511020401_r8, & + 0.0090547830135102036_r8, 0.0091674258696190468_r8, & + 0.009289019656095238_r8, 0.0093697954222380954_r8, & + 0.0094373095885714291_r8, 0.0095761908813333328_r8, & + 0.0097899098173333341_r8, 0.0099362581146666649_r8, 0.01002958854_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,47) / & + 0.0042053652558024686_r8, 0.0041961850320987653_r8, & + 0.0040908574503703702_r8, 0.0042301324454320985_r8, & + 0.0044461866528395051_r8, 0.0046050886518518522_r8, & + 0.0050772923639506168_r8, 0.0054034260513580248_r8, & + 0.0056567281150617281_r8, 0.0059595090883950612_r8, & + 0.0062446044948148141_r8, 0.006448168790617285_r8, & + 0.0067082843738271603_r8, 0.0068963818879012335_r8, & + 0.0070529541624691347_r8, 0.0071439520898765431_r8, & + 0.0072794643950617275_r8, 0.0077934644730864198_r8, & + 0.0081038598087037027_r8, 0.0083751536779012332_r8, & + 0.0085561210333333308_r8, 0.0086352172583333345_r8, & + 0.0087479695160229271_r8, 0.00892376036637566_r8, 0.0090610543032363326_r8, & + 0.0091647801994091706_r8, 0.0092804479144179882_r8, & + 0.0094654752835449732_r8, 0.0095793712721693128_r8, & + 0.0096665863689417968_r8, 0.0097131824426772463_r8, & + 0.0096865979953421524_r8, 0.0095082781260899477_r8, & + 0.0091625416696772474_r8, 0.0087377955605079365_r8, & + 0.0085097379233544969_r8, 0.0082988695319999983_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,47) / & + 0.0033349450725925918_r8, 0.00333683104_r8, 0.0030582255802469134_r8, & + 0.003163987674074074_r8, 0.0032076515175308638_r8, 0.003342720065679013_r8, & + 0.00418111578271605_r8, 0.0047119971180246923_r8, 0.0051441240227160503_r8, & + 0.0055252558479012351_r8, 0.0057518307950617277_r8, & + 0.0059706769738271598_r8, 0.0062426815476543203_r8, & + 0.0064494630819753093_r8, 0.0066024483204938271_r8, & + 0.0067222719654320981_r8, 0.0069373554543209863_r8, & + 0.0071617301061728403_r8, 0.007347858448395062_r8, 0.007541096148148148_r8, & + 0.007712035056790122_r8, 0.0078786658241975314_r8, & + 0.0080430130918518524_r8, 0.0082001862874074068_r8, & + 0.0083599758004938279_r8, 0.0085262182804938247_r8, & + 0.0086683314716049387_r8, 0.0089898426898765427_r8, & + 0.0092458558317283952_r8, 0.009424831563315696_r8, & + 0.0095230056759506177_r8, 0.0095385104939964722_r8, & + 0.0094326354798518509_r8, 0.0091763754981481465_r8, & + 0.008737187771851852_r8, 0.0085922317622222216_r8, 0.00816273042_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,47) / & + 0.0013636468849382716_r8, 0.0013496223135802472_r8, & + 0.0011394478869135802_r8, 0.0013006796103703702_r8, & + 0.001171583292345679_r8, 0.00095052757333333345_r8, & + 0.0013350430459259256_r8, 0.001957449270123457_r8, & + 0.0024368455441975308_r8, 0.0029640381491358018_r8, & + 0.0031811555244444442_r8, 0.0033505967530864196_r8, & + 0.0036600340819753084_r8, 0.0040061645708641975_r8, & + 0.0043674012888888884_r8, 0.0046739911767901231_r8, & + 0.0051566971387654323_r8, 0.0055136811851851852_r8, & + 0.0057838090365432103_r8, 0.0060061128222222227_r8, & + 0.006207680211358025_r8, 0.0063881783861728381_r8, & + 0.0065222115012345669_r8, 0.0066657761476543211_r8, & + 0.0068048385091358026_r8, 0.0069701102706172836_r8, & + 0.0071300846824691342_r8, 0.0075482517303703698_r8, & + 0.0079479658814814811_r8, 0.0083165153456790115_r8, & + 0.0086575518735802458_r8, 0.0089534083881481485_r8, & + 0.0091817872538888894_r8, 0.0093418295169841268_r8, & + 0.0094500581933597873_r8, 0.0095032259324126997_r8, & + 0.0095606261032592597_r8, 0.0095469472925925909_r8, & + 0.0095589425999999984_r8, 0.0095761659199999991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,47) / & + 0.0002454993358024691_r8, 0.00023163192839506172_r8, & + 0.00023092931308641977_r8, 0.00040230273382716044_r8, & + 0.0003346020508641976_r8, 0.00029887960938271605_r8, & + 0.00035567126518518518_r8, 0.00048715277728395061_r8, & + 0.0006149363140740741_r8, 0.00082629409283950625_r8, & + 0.00092484513481481479_r8, 0.0010808904479012345_r8, & + 0.0013065316562962963_r8, 0.0015441543046913581_r8, & + 0.0018737733338271602_r8, 0.0022163260316049381_r8, & + 0.0029045099916049379_r8, 0.003556463038518518_r8, & + 0.0041265706469135804_r8, 0.0046046726296296303_r8, & + 0.0050283681506172843_r8, 0.0053775956938271596_r8, & + 0.005628503318518518_r8, 0.0058185330246913573_r8, & + 0.0059894349535802461_r8, 0.0061516928651851851_r8, & + 0.0063012020069135796_r8, 0.0066282416982716046_r8, & + 0.0069922611427160495_r8, 0.0073701202597530853_r8, & + 0.0077891840666666663_r8, 0.0081749198711111096_r8, & + 0.0085035589367901225_r8, 0.0088111935027160478_r8, & + 0.0090630718459259255_r8, 0.0092576777965432105_r8, & + 0.0094284502962962962_r8, 0.0094855863260493844_r8, & + 0.0095282931533068778_r8, 0.0095593063222857138_r8, & + 0.0096265376925608465_r8, 0.0096517987599999983_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,47) / & + 9.9836088395061735e-05_r8, 0.00012571267061728395_r8, & + 0.00012168187753086418_r8, 0.00017909294419753082_r8, & + 0.00018314222716049383_r8, 0.00019897880641975312_r8, & + 0.00020617136839506172_r8, 0.00027064556790123458_r8, & + 0.00029963769432098764_r8, 0.00035097483654320991_r8, & + 0.00038807477382716052_r8, 0.00047036396938271603_r8, & + 0.00058367917777777778_r8, 0.00066328734123456776_r8, & + 0.00075716968938271587_r8, 0.0008844170197530864_r8, & + 0.0012697552918518519_r8, 0.0017720697679012346_r8, & + 0.0023760693199999998_r8, 0.0029435143861728393_r8, & + 0.0035201026962962956_r8, 0.0040251351841975314_r8, & + 0.0045106885871604944_r8, 0.0049226060567901225_r8, & + 0.0052811247629629627_r8, 0.0055803279451851848_r8, & + 0.0058176085308641982_r8, 0.0062191346898765425_r8, & + 0.0065044149950617275_r8, 0.0067764842834567886_r8, & + 0.0071554805279012345_r8, 0.007559391880987653_r8, 0.007937482121481482_r8, & + 0.0083265923283950619_r8, 0.0086645133120987639_r8, & + 0.0089359169649382703_r8, 0.009185031071604937_r8, & + 0.0093332644118518521_r8, 0.0094666781160493828_r8, & + 0.0095443171076543196_r8, 0.0096234630241975299_r8, & + 0.0096239200708333333_r8, 0.0096098325183333333_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,47) / & + 0.00015540741234567904_r8, 0.00017952745629629634_r8, & + 0.00013773109037037038_r8, 0.0001162366088888889_r8, & + 0.00012291145432098764_r8, 0.00013080663160493827_r8, & + 0.00016495743358024687_r8, 0.00023426673580246915_r8, & + 0.00027817094765432106_r8, 0.00029550520691358029_r8, & + 0.0003170644029629629_r8, 0.00037820117975308643_r8, & + 0.00046654580987654323_r8, 0.00052293068839506167_r8, & + 0.00057852050222222215_r8, 0.00065113024740740737_r8, & + 0.00088895628444444444_r8, 0.0012110406888888887_r8, & + 0.0016795186908641973_r8, 0.0021906435930864197_r8, & + 0.0027425941427160496_r8, 0.0032879345614814813_r8, & + 0.0038249175560493833_r8, 0.0043414322572839503_r8, & + 0.0048037161506172838_r8, 0.0052270233841975313_r8, & + 0.0056204972019753075_r8, 0.0062616891407407411_r8, & + 0.0065923066232098761_r8, 0.0067485923046913584_r8, & + 0.0069648406558024678_r8, 0.0073124410898765431_r8, & + 0.0077061830108641968_r8, 0.0081139957279012347_r8, & + 0.0084930659318518519_r8, 0.0088212173270370373_r8, & + 0.0091177175204320993_r8, 0.0092751124294179893_r8, & + 0.0094408167219400367_r8, 0.0095104301165961184_r8, & + 0.009587865389382718_r8, 0.0096052701214857129_r8, & + 0.0096028745466666676_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,47) / & + 0.00012418725580246913_r8, 0.00012476044197530864_r8, & + 0.00010237960203703703_r8, 0.00011518846401234569_r8, & + 0.0001212254087037037_r8, 0.00012839370271604939_r8, & + 0.00015423561641975304_r8, 0.00019979698345679009_r8, & + 0.00022946630160493826_r8, 0.00026754273549382715_r8, & + 0.0002986415522222222_r8, 0.00034589127611111105_r8, & + 0.00041151448937389766_r8, 0.00045770401694885358_r8, & + 0.00050434274947089937_r8, 0.00055949029205467368_r8, & + 0.00071200634995590806_r8, 0.00095600354837742504_r8, & + 0.0012920578799911816_r8, 0.0017153819525661371_r8, & + 0.0022142445997883598_r8, 0.0027975135334303352_r8, & + 0.0033956727608641978_r8, 0.0039587907006613755_r8, & + 0.0045036363501410933_r8, 0.005011886571825397_r8, & + 0.0055470872743650802_r8, 0.0065251302603174591_r8, & + 0.0070413048798941792_r8, 0.007152275836084656_r8, & + 0.0071200950314021169_r8, 0.0073232604741534386_r8, & + 0.007709391400656085_r8, 0.0080977580503915347_r8, & + 0.0084760129828571427_r8, 0.0088395375589629642_r8, & + 0.0091402883438518514_r8, 0.0092615740757777763_r8, & + 0.0094334980325925921_r8, 0.0094914499281481476_r8, & + 0.0095451389826666667_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,47) / & + 0.00012010099308641977_r8, 0.00011436913135802468_r8, & + 9.6320700617283942e-05_r8, 0.00010789074086419753_r8, & + 0.00011555826154320988_r8, 0.00012816489049382717_r8, & + 0.00014503459160493826_r8, 0.00017671699506172837_r8, & + 0.00019668952858024687_r8, 0.00021720619275132272_r8, & + 0.000235630034021164_r8, 0.000284485570670194_r8, & + 0.00035277033562610224_r8, 0.00040024292856261025_r8, & + 0.00046595661014991178_r8, 0.00052372971520282189_r8, & + 0.00063693299380952371_r8, 0.00077312711319223973_r8, & + 0.00099459208581128742_r8, 0.0013249320550440917_r8, & + 0.0017436982079629625_r8, 0.0022324757831481482_r8, & + 0.0029619395481481482_r8, 0.003622402560740741_r8, & + 0.0043438960333333325_r8, 0.0050343700966137567_r8, & + 0.0058117630884656074_r8, 0.0072147267148148153_r8, & + 0.008179892723407408_r8, 0.0085842108537777777_r8, & + 0.0085579764924444447_r8, 0.0082725519662222233_r8, & + 0.0080996683848148145_r8, 0.0081462143377777768_r8, & + 0.0083951204333333335_r8, 0.0087294358911111109_r8, & + 0.0090375003466666663_r8, 0.0092320739400000001_r8, & + 0.0093483313500000009_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,47) / & + 0.00010478213037037036_r8, 0.00010049247901234566_r8, & + 7.5059653827160491e-05_r8, 0.0001075001422222222_r8, & + 0.00011766032938271604_r8, 0.00014040287753086417_r8, & + 0.00012399311209876544_r8, 0.0001611670088888889_r8, & + 0.00019177699950617282_r8, 0.00021570289975308642_r8, & + 0.00023155796888888887_r8, 0.00026469182765432095_r8, & + 0.00031705515802469127_r8, 0.00036953867259259261_r8, & + 0.00044695578567901237_r8, 0.00050430213777777767_r8, & + 0.0006054879871604939_r8, 0.00071428242074074054_r8, & + 0.00091944609086419755_r8, 0.0012465689866666665_r8, & + 0.0017293581530864197_r8, 0.0022491085827160496_r8, & + 0.0029320968874074075_r8, 0.0036213440153086422_r8, & + 0.0043824982730864192_r8, 0.0050782168577777767_r8, & + 0.0058064314004938273_r8, 0.0071812554158024698_r8, & + 0.008096679958518517_r8, 0.0086556196814814804_r8, & + 0.0089571710780246925_r8, 0.0087950703303703685_r8, & + 0.0083844933767901232_r8, 0.0082060290883950605_r8, & + 0.0083676760086331559_r8, 0.0086770791642680756_r8, & + 0.0089726852400617285_r8, 0.009160337841481481_r8, & + 0.0092705592312839497_r8, 0.0093088198375502629_r8, & + 0.0093324490082962955_r8, 0.0093591160327407396_r8, & + 0.009376905142962964_r8, 0.0093780977399999989_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,47) / & + 0.00012173734716049382_r8, 0.00012063719950617282_r8, & + 8.9907024691358026e-05_r8, 0.00013706545481481484_r8, & + 0.00015147831358024689_r8, 0.00017111456246913579_r8, & + 0.00020867674666666665_r8, 0.0001517833965432099_r8, & + 0.00016480951456790123_r8, 0.0001879403501234568_r8, & + 0.00021085855209876538_r8, 0.00024156099209876543_r8, & + 0.0002916315777777777_r8, 0.00034056503604938264_r8, & + 0.00039804081728395059_r8, 0.00045254897333333325_r8, & + 0.0005464960360493826_r8, 0.00063833525283950613_r8, & + 0.00081531110617283939_r8, 0.0011341782720987654_r8, & + 0.0016533000459259259_r8, 0.002224110269629629_r8, & + 0.0029040662345679014_r8, 0.0036606072681481484_r8, & + 0.0045177979446913569_r8, 0.0052628844997530851_r8, & + 0.0059439960819753085_r8, 0.0073656919343209875_r8, & + 0.0082677667861728397_r8, 0.0088244877239506171_r8, & + 0.0092559859728395064_r8, 0.0093069810523456788_r8, & + 0.0088665706829629629_r8, 0.0084233683422222216_r8, & + 0.0084047490365432107_r8, 0.0086673330182716057_r8, & + 0.0089301758582716051_r8, 0.0091184767609876535_r8, & + 0.0092407410696296304_r8, 0.0093027838503703698_r8, & + 0.009345356791111108_r8, 0.0093753369703086422_r8, & + 0.0093918056722222219_r8, 0.0093981058087499996_r8, 0.0094151653200000001_r8 & + / +data delta_sa_ref(:,15,47) / & + 0.00017046741679012343_r8, 0.00016845202024691355_r8, & + 0.00014917632395061728_r8, 0.00012312408790123456_r8, & + 0.00014480346814814817_r8, 0.00017191887209876543_r8, & + 0.00024722813925925929_r8, 0.00024523123259259259_r8, & + 0.00023629137728395063_r8, 0.00022488312345679014_r8, & + 0.00022598327111111115_r8, 0.000213770707654321_r8, & + 0.00024251322074074071_r8, 0.00029173327209876547_r8, & + 0.0003448269525925926_r8, 0.00040445680444444441_r8, & + 0.00052189525530864193_r8, 0.00063183606123456786_r8, & + 0.00080957924444444434_r8, 0.0011342152518518517_r8, & + 0.0016323232809876541_r8, 0.0022872347081481477_r8, & + 0.0030501560698412695_r8, 0.0038867741173192237_r8, & + 0.0047843083837742504_r8, 0.005576010559012347_r8, & + 0.0062584164325925921_r8, 0.0076534868627160489_r8, & + 0.0084375907552592597_r8, 0.0089853573099682536_r8, & + 0.0093842003237530856_r8, 0.0094959198558024691_r8, & + 0.0092012998517283957_r8, 0.0086666327802328042_r8, & + 0.008474284443541447_r8, 0.0086592852995061725_r8, & + 0.0089216345258377443_r8, 0.0090983751285097_r8, 0.009234093959012344_r8, & + 0.0093044641179012341_r8, 0.0093493860323686055_r8, & + 0.0093731355193827168_r8, 0.009393936960670193_r8, & + 0.0093929695439153426_r8, 0.0094214243743333329_r8 & + / +data delta_sa_ref(:,16,47) / & + 0.00018863354890777284_r8, 0.00018642390807593082_r8, & + 0.00018383630236495799_r8, 0.00010698344360834896_r8, & + 0.0001119648268871506_r8, 0.00011935937054809547_r8, & + 0.00014184343515280325_r8, 0.00015559554190887239_r8, & + 0.00018167511856890202_r8, 0.00020215306189206911_r8, & + 0.0002181826493300806_r8, 0.00019118238899011689_r8, & + 0.00017492020778033248_r8, 0.00021485849667516048_r8, & + 0.00027259990051776788_r8, 0.00034513039168226504_r8, & + 0.00052413068187577929_r8, 0.00069368185009102202_r8, & + 0.00092413260945622521_r8, 0.001306178782426166_r8, & + 0.0018842906021675587_r8, 0.0027151409948839291_r8, & + 0.0035985163915405426_r8, 0.0045159049930412511_r8, & + 0.0054442606331662263_r8, 0.0062336463403605095_r8, & + 0.0068556968195860437_r8, 0.0081328784272275047_r8, & + 0.008863976014072926_r8, 0.009414795239099891_r8, 0.0098763161895578048_r8, & + 0.010158903826840392_r8, 0.010121523574975517_r8, 0.0096258605363198062_r8, & + 0.0091070092484929113_r8, 0.0090575449120755026_r8, & + 0.0092341360742044937_r8, 0.0094297964470959339_r8, & + 0.0095910695960513461_r8, 0.0096784850848564228_r8, & + 0.0097274457830723894_r8, 0.009751424103444763_r8, & + 0.0097757741792732535_r8, 0.0097923358941885332_r8, 0.0098752682937974425_r8 & + / +data delta_sa_ref(:,17,47) / & + 0.00016710261081344523_r8, 0.00016683902603633249_r8, & + 0.00017087136623235557_r8, 0.00011094638094337448_r8, & + 0.00011287637909502223_r8, 0.00011570104480744688_r8, & + 0.00011971184201687901_r8, 0.00012086375818224194_r8, & + 0.00012170900359731026_r8, 0.00012450072121259587_r8, & + 0.00013133491689994731_r8, 0.00014203544506312098_r8, & + 0.00015150295405258929_r8, 0.00017719866811756704_r8, & + 0.00024607666518684443_r8, 0.0003451427226425646_r8, & + 0.00057816433795529541_r8, 0.00083281927557585418_r8, & + 0.0012784531513921552_r8, 0.0019893007437610899_r8, & + 0.0028604703371723447_r8, 0.003923069823229746_r8, & + 0.0048520562668135829_r8, 0.0056927374652606267_r8, & + 0.0064885769552219651_r8, 0.007111924104985106_r8, & + 0.0076836295659068335_r8, 0.008707904947779746_r8, 0.009365154675711411_r8, & + 0.0098841131296494612_r8, 0.010371556620053866_r8, 0.010759166905439713_r8, & + 0.010916512760987844_r8, 0.010391341635577266_r8, 0.0096900590658929846_r8, & + 0.0095152148108662588_r8, 0.0096420207402641862_r8, & + 0.0098137118080846505_r8, 0.0099728385173348255_r8, & + 0.010069893727077457_r8, 0.010125805000517643_r8, 0.010160516454470933_r8, & + 0.010186417460525777_r8, 0.010211161988371039_r8, 0.010306684351255998_r8 & + / +data delta_sa_ref(:,18,47) / & + 0.00016158060967687903_r8, 0.00016228976078708145_r8, & + 0.00016229240687331358_r8, 0.00013251070633104199_r8, & + 0.00013271313192779753_r8, 0.00013352680344416791_r8, & + 0.00014323529382973826_r8, 0.00013527454340046916_r8, & + 0.00012788931672668148_r8, 0.00012625535847836047_r8, & + 0.00012679251398347655_r8, 0.00015445337641072096_r8, & + 0.0001782575681546815_r8, 0.0001929023324062321_r8, & + 0.000309819652571516_r8, 0.00047418791409391102_r8, & + 0.00080522917824685919_r8, 0.0012450848795039268_r8, & + 0.0019625250438346045_r8, 0.0029782320482474554_r8, & + 0.0039721052501284614_r8, 0.0050767228310075862_r8, & + 0.0058549251490884113_r8, 0.0067502548865813481_r8, & + 0.0074067298289441814_r8, 0.0079588367797060831_r8, & + 0.0084268199617968075_r8, 0.0092603730360782139_r8, & + 0.0099150898053447442_r8, 0.010470676624110477_r8, 0.011010671228548641_r8, & + 0.011364506408722131_r8, 0.011688863659052801_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,47) / & + 0.00017823588960647903_r8, 0.00017709971578363788_r8, & + 0.00017494870708990946_r8, 0.00017054741237812671_r8, & + 0.00017105482981357036_r8, 0.00017226821933310948_r8, & + 0.00017227925014692347_r8, 0.00017911835471159837_r8, & + 0.00017327202339018273_r8, 0.00017154018562138599_r8, & + 0.00017124235364840824_r8, 0.00020915526072709796_r8, & + 0.000296188381719493_r8, 0.00046819186152106663_r8, & + 0.00073509343256441173_r8, 0.0010834906560655277_r8, & + 0.0016814490112943934_r8, 0.0025382123202271341_r8, & + 0.0034752771960222819_r8, 0.0044548272512220186_r8, & + 0.0053167984831266899_r8, 0.0061642531640521475_r8, & + 0.0069056802535339716_r8, 0.0076464797685013072_r8, & + 0.0082387871953963198_r8, 0.0087893666294635471_r8, & + 0.009217813483918709_r8, 0.0100438583401253_r8, 0.010847544170084329_r8, & + 0.0115591713584646_r8, 0.012039014832242805_r8, 0.012264691100402172_r8, & + 0.012411915826758796_r8, 0.0123689432232688_r8, 0.012133125451414491_r8, & + 0.011475082992011379_r8, 0.010968287852049922_r8, 0.010752158635059272_r8, & + 0.010774741744410312_r8, 0.010825149805836801_r8, 0.010854188423202134_r8, & + 0.010828277041553067_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,47) / & + 0.00019253141728559675_r8, 0.00018847993649264197_r8, & + 0.00018517447907516048_r8, 0.0001919231213025185_r8, & + 0.00019308232685517692_r8, 0.00019347255446696299_r8, & + 0.00018511709266166257_r8, 0.00020323972204431274_r8, & + 0.0002296833813841646_r8, 0.00023922100330752268_r8, & + 0.000251983741669465_r8, 0.00031368561346245267_r8, & + 0.00056457901327545675_r8, 0.00095190287253846912_r8, & + 0.0013940078021266171_r8, 0.0019019464252796048_r8, & + 0.0027128049707228316_r8, 0.0036280034931880159_r8, & + 0.0044834398046364439_r8, 0.0053541409020753244_r8, & + 0.0061233139567536459_r8, 0.0068840971177785678_r8, & + 0.0076324503816398359_r8, 0.0083358012200360175_r8, & + 0.0089910507666382221_r8, 0.0095683121772967231_r8, & + 0.010053583167118022_r8, 0.011076333871100717_r8, 0.011844892891154609_r8, & + 0.012445293938395819_r8, 0.012811354696797509_r8, 0.01300858893066926_r8, & + 0.013081908681874903_r8, 0.013056587746724847_r8, 0.012895532572291391_r8, & + 0.012620270851792395_r8, 0.012223454009037668_r8, 0.011923528632774639_r8, & + 0.011751598364070666_r8, 0.011716073304794766_r8, 0.011638119600699159_r8, & + 0.011630974992218665_r8, 0.011585421657184_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,47) / & + 0.00020581587611188151_r8, 0.00019969899154868148_r8, & + 0.00019657496863336292_r8, 0.00021491369857137773_r8, & + 0.00021678572757025184_r8, 0.00022016014926885924_r8, & + 0.00020787868513611848_r8, 0.00021426981598577776_r8, & + 0.00024949257816841481_r8, 0.00028794667703063709_r8, & + 0.00036378173711241481_r8, 0.0005433653597368889_r8, & + 0.00096692086354583707_r8, 0.001520254479607941_r8, & + 0.0020869546211970368_r8, 0.0025727044132743109_r8, & + 0.0033554987048417186_r8, 0.0041693901405432891_r8, & + 0.0050217118276039106_r8, 0.0058852537649061931_r8, & + 0.0066968319928002364_r8, 0.0075496425536758522_r8, & + 0.0083254733743175109_r8, 0.0090717332910279103_r8, & + 0.0097824365805112903_r8, 0.010401815856603734_r8, 0.010949783784452504_r8, & + 0.012053792019973215_r8, 0.012821216595747321_r8, 0.013368683726029508_r8, & + 0.013669412664759467_r8, 0.013810005619700385_r8, 0.013820093113541453_r8, & + 0.013773709719875082_r8, 0.013654841840322366_r8, 0.013485441101551645_r8, & + 0.013149262849358932_r8, 0.012724777292926341_r8, 0.012418456114702933_r8, & + 0.012272026483361067_r8, 0.01218620464255429_r8, 0.0121466840066976_r8, & + 0.01212247606555074_r8, 0.012154464254606935_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,47) / & + 0.00021750558653775806_r8, 0.00021388111193981887_r8, & + 0.00021203794908967235_r8, 0.0002714521180108378_r8, & + 0.00027974016572626171_r8, 0.00028601186750494816_r8, & + 0.00029001981893748144_r8, 0.00030893388603730701_r8, & + 0.00033726169091539753_r8, 0.00044480838768837526_r8, & + 0.00073532301544468792_r8, 0.001031255799767203_r8, & + 0.0016127551236577184_r8, 0.0021292860496356873_r8, & + 0.0026649660769024258_r8, 0.0031343788331071863_r8, & + 0.0038847316664238746_r8, 0.0047984208908367666_r8, & + 0.005764003190124589_r8, 0.006637439717125557_r8, 0.0074140916391631263_r8, & + 0.0083605743180440624_r8, 0.0091840598947840121_r8, & + 0.0099366269975649721_r8, 0.010632847746101516_r8, 0.011296423482815669_r8, & + 0.011930582835250307_r8, 0.013052104133792807_r8, 0.013856947788283284_r8, & + 0.014375396098434228_r8, 0.01463141018129753_r8, 0.01472924625500094_r8, & + 0.014697442418170562_r8, 0.014607017652806704_r8, 0.014467405798295901_r8, & + 0.014307055269165829_r8, 0.013990524521481905_r8, 0.013525417706484948_r8, & + 0.013126174584107109_r8, 0.012923930094384797_r8, 0.012795850422087239_r8, & + 0.012726252424984142_r8, 0.012673634029963297_r8, 0.012710359121543922_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,23,47) / & + 0.00020496449618720655_r8, 0.00020347776022186664_r8, & + 0.00020402887786419093_r8, 0.00029207953374251193_r8, & + 0.00030483213965210861_r8, 0.00031141991798128718_r8, & + 0.00035065180410116212_r8, 0.00043760022469483464_r8, & + 0.00050137607093217441_r8, 0.00066600644571485751_r8, & + 0.0011940540471976557_r8, 0.0015631618839720028_r8, & + 0.0022917522238140573_r8, 0.002755126810804569_r8, & + 0.0032205905181601699_r8, 0.0036664831408685823_r8, & + 0.0044159262342934654_r8, 0.0054461445414485327_r8, & + 0.0064817714915119925_r8, 0.0073982032305611317_r8, & + 0.0082169077132678847_r8, 0.0091859519621249573_r8, & + 0.010072610531799227_r8, 0.010852262562037095_r8, 0.011565049923902735_r8, & + 0.012279682889035692_r8, 0.012954545667095809_r8, 0.013991877236843668_r8, & + 0.014867372470088529_r8, 0.015420207548786567_r8, 0.015665980383884483_r8, & + 0.015688845357696261_r8, 0.01560702361284514_r8, 0.015457619465017834_r8, & + 0.015309625153019731_r8, 0.015086563491461319_r8, 0.014709872980846504_r8, & + 0.014201027984191898_r8, 0.013751708499166826_r8, 0.013601966540027202_r8, & + 0.013473392716576349_r8, 0.013362518512257202_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,47) / & + 0.00018825726808659749_r8, 0.00018864189967561477_r8, & + 0.00019927895258567901_r8, 0.00023924084836875057_r8, & + 0.00024138948000395062_r8, 0.00023959895364128396_r8, & + 0.00032929769283176292_r8, 0.00051999538203488396_r8, & + 0.00063598170086095812_r8, 0.0009657170779147061_r8, & + 0.0016187286739583601_r8, 0.0021995754260074273_r8, & + 0.0030177000790054319_r8, 0.0034709287224502111_r8, & + 0.0038277342054758318_r8, 0.0042096335838952689_r8, & + 0.0049970009729301329_r8, 0.0060180519470303612_r8, & + 0.0070851393433884833_r8, 0.0080367709472502109_r8, & + 0.0089143941281217172_r8, 0.0098114345726594762_r8, & + 0.010734948281048217_r8, 0.011543523460111997_r8, 0.0122952925324254_r8, & + 0.013023744972549411_r8, 0.013667432568348955_r8, 0.014710739121979219_r8, & + 0.015669731778665246_r8, 0.016192141055500167_r8, 0.016477842747190559_r8, & + 0.016546055170029033_r8, 0.016485707800028046_r8, 0.016345821270049937_r8, & + 0.016151648870229532_r8, 0.015807840571754706_r8, 0.015335766401500753_r8, & + 0.014791618050412474_r8, 0.01438633155559127_r8, 0.014160622254945205_r8, & + 0.014083857652935456_r8, 0.014012328208957507_r8, 0.013974759839552887_r8, & + 0.013978878050187023_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,47) / & + 0.00019843314304447733_r8, 0.00020024281382531692_r8, & + 0.00020121619735137449_r8, 0.00021299276705395888_r8, & + 0.0002130887344438519_r8, 0.00020314925477636211_r8, & + 0.00028598282188115227_r8, 0.00038810583435443615_r8, & + 0.00061964772691199986_r8, 0.0011099588315024854_r8, & + 0.0017319509046533003_r8, 0.0025641252712969216_r8, & + 0.0033656997501918021_r8, 0.003794290113453959_r8, & + 0.0041291751752991603_r8, 0.0045078762054440811_r8, & + 0.0054784218386862878_r8, 0.0065654718832586015_r8, & + 0.0076117632063806414_r8, 0.0086004192570583709_r8, & + 0.0095058167421903546_r8, 0.010433094792217941_r8, 0.011340233399995129_r8, & + 0.012168363426636115_r8, 0.012933456587744528_r8, 0.013639351578916083_r8, & + 0.014292985471477334_r8, 0.015407249125897879_r8, 0.016394685019761251_r8, & + 0.016811293168913909_r8, 0.017151113696525038_r8, 0.017300480084079934_r8, & + 0.017306059902320859_r8, 0.017171732975724902_r8, 0.016957766825144886_r8, & + 0.016539033683787459_r8, 0.016062665269985711_r8, 0.015509072240277744_r8, & + 0.01512216942570375_r8, 0.014835097178095499_r8, 0.01463090697091652_r8, & + 0.014535628244971911_r8, 0.014480912927253953_r8, 0.014444627657135407_r8, & + 0.014359059019418667_r8 & + / +data delta_sa_ref(:,26,47) / & + 0.00022733274587547655_r8, 0.00022772911656384525_r8, & + 0.00021810297127489056_r8, 0.00021423835706329549_r8, & + 0.00021358717664668971_r8, 0.00021026049408359504_r8, & + 0.00023521769135481156_r8, 0.00026643188306384863_r8, & + 0.00030560180073228648_r8, 0.00054241913093658594_r8, & + 0.00083024087507633246_r8, 0.0012949005706125827_r8, & + 0.0022156272114050896_r8, 0.0031387887007118618_r8, & + 0.0038524682812157633_r8, 0.0045556015701898539_r8, & + 0.0060736588383540277_r8, 0.0074068941169702727_r8, & + 0.0085326434963215025_r8, 0.0095338050746608342_r8, & + 0.010487911789852393_r8, 0.011512048712021097_r8, 0.012371606861940701_r8, & + 0.013201451366328665_r8, 0.013962893614780996_r8, 0.014610988002455886_r8, & + 0.015211121536838165_r8, 0.016312154372550399_r8, 0.017156622124119964_r8, & + 0.017577213892767223_r8, 0.017870414953391978_r8, 0.018005662294701786_r8, & + 0.018001312834201741_r8, 0.017888414429472716_r8, 0.01768705635026941_r8, & + 0.017368745914341299_r8, 0.016980562758004188_r8, 0.01650321920044014_r8, & + 0.016001546875152886_r8, 0.015586948190867776_r8, 0.015347153530326991_r8, & + 0.015196851180907179_r8, 0.015146760239624465_r8, 0.014938857342216885_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,47) / & + 0.00024168705163946672_r8, 0.00023613807697793582_r8, & + 0.00022844252527628645_r8, 0.00025211328297718513_r8, & + 0.00025167520603022221_r8, 0.0002479661545459358_r8, & + 0.00025133934703755061_r8, 0.00025418684719280988_r8, & + 0.00025214248810698274_r8, 0.00031941650459559501_r8, & + 0.00044089524198842465_r8, 0.00060555376378690373_r8, & + 0.0010654177375788245_r8, 0.0017879964564644344_r8, & + 0.0026292794254121087_r8, 0.0036148211329946863_r8, & + 0.0057586966986069342_r8, 0.0080208092322044851_r8, & + 0.009744145531297186_r8, 0.010864235271856988_r8, 0.011981594332780723_r8, & + 0.012985228618272865_r8, 0.013726440209969304_r8, 0.014473098558372977_r8, & + 0.01513014279131354_r8, 0.015708437217075676_r8, 0.016284362376682984_r8, & + 0.017310062963057777_r8, 0.018055983360413887_r8, 0.018452933226379833_r8, & + 0.018663673270837414_r8, 0.018721195903094696_r8, 0.018669563058933279_r8, & + 0.018536535257266049_r8, 0.018331607555158346_r8, 0.018087704303535408_r8, & + 0.017791165950278812_r8, 0.017457418592795603_r8, 0.016969858038464233_r8, & + 0.016516256583237212_r8, 0.016153025082662871_r8, 0.016074830538014718_r8, & + 0.015799354611455999_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,47) / & + 0.0002364353697861136_r8, 0.00022913658840069797_r8, 0.0002230718277856_r8, & + 0.00027931006703776131_r8, 0.00028493840567311282_r8, & + 0.00027604442670655478_r8, 0.00027500604337543378_r8, & + 0.00027756437911877533_r8, 0.00029241777546394078_r8, & + 0.0003395363002427787_r8, 0.00040414180227904534_r8, & + 0.00050292366003959845_r8, 0.00075595811408986336_r8, & + 0.0011589110426999444_r8, 0.0016655668631180643_r8, & + 0.0023928565678487173_r8, 0.0045409105031272165_r8, & + 0.007484712197821433_r8, 0.0099852446023972596_r8, 0.011784702719094797_r8, & + 0.013318033722349671_r8, 0.014256536616243848_r8, 0.015020440620171854_r8, & + 0.015703937636590014_r8, 0.016279969502754045_r8, 0.016771305406779683_r8, & + 0.017302837280043355_r8, 0.018287314972148753_r8, 0.018988223720655419_r8, & + 0.019284012479687057_r8, 0.019382071983825962_r8, 0.019350469012878804_r8, & + 0.019236036159982515_r8, 0.019073250761537069_r8, 0.01887204517984015_r8, & + 0.018659778558311718_r8, 0.018385765751166055_r8, 0.018151367644328502_r8, & + 0.017755032528325089_r8, 0.017472070383267164_r8, 0.017111622913115517_r8, & + 0.016967696533836243_r8, 0.016760759796355291_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,47) / & + 0.00025169344986814148_r8, 0.00025090317923197363_r8, & + 0.00025597020860505012_r8, 0.00029337635205033081_r8, & + 0.00029735869623651029_r8, 0.00029199725231270448_r8, & + 0.00027992625573280652_r8, 0.00032934141374730544_r8, & + 0.00036959872968385843_r8, 0.00042501064723163122_r8, & + 0.00049250905686197197_r8, 0.00060593613640607074_r8, & + 0.00085380219711473271_r8, 0.0011519143621685696_r8, & + 0.0014961469539817053_r8, 0.0020321170219572446_r8, & + 0.0038239201038195976_r8, 0.0064283325258864326_r8, & + 0.0092919111039839949_r8, 0.011761646301532718_r8, 0.01382999374567016_r8, & + 0.015149472599835996_r8, 0.016080916950016389_r8, 0.016864718213819581_r8, & + 0.017528378971546917_r8, 0.0180640759312879_r8, 0.018522702134624175_r8, & + 0.019458961712259255_r8, 0.020062312036657277_r8, 0.020244116895608236_r8, & + 0.020278950785610303_r8, 0.02018826916704787_r8, 0.020003930793410375_r8, & + 0.019825033278147865_r8, 0.019606673421576851_r8, 0.019397261110976123_r8, & + 0.019101722859597933_r8, 0.018939727063872678_r8, 0.018575478156485626_r8, & + 0.018177722161512613_r8, 0.017848747105721291_r8, 0.017720812915213255_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,47) / & + 0.00029408154928533333_r8, 0.00029055837357155553_r8, & + 0.00031300466952177778_r8, 0.00038169862495466666_r8, & + 0.00039395800108088888_r8, 0.00039767248045333338_r8, & + 0.00041978399500088893_r8, 0.00048702723102222231_r8, & + 0.00057866168352355564_r8, 0.00068124827048355566_r8, & + 0.00078230442817422226_r8, 0.00090926628964266667_r8, & + 0.0011443625441724444_r8, 0.0014610498091235558_r8, & + 0.0018687657316568893_r8, 0.0024432187346897778_r8, & + 0.0040560361130222216_r8, 0.0065612053491768893_r8, & + 0.009522841056881776_r8, 0.012292535427057777_r8, 0.014427930632981336_r8, & + 0.016075947884508442_r8, 0.017199777169317334_r8, 0.018149599834597335_r8, & + 0.018938568006881779_r8, 0.019575099047151996_r8, 0.020072679863343997_r8, & + 0.020983843247601778_r8, 0.021499310955879113_r8, 0.021594510431769555_r8, & + 0.021586348142333112_r8, 0.021378488746205997_r8, 0.021093199194233556_r8, & + 0.020913774297122219_r8, 0.020660191333827332_r8, 0.020475768628633335_r8, & + 0.020289511457998191_r8, 0.020211501128259458_r8, 0.020114557429873999_r8, & + 0.019918289270458099_r8, 0.019409729844747522_r8, 0.019108901596164268_r8, & + 0.01905709314926057_r8, 0.018787764926952_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,47) / & + 0.00049214486644780231_r8, 0.00046936493423460076_r8, & + 0.00048578615155663523_r8, 0.00048791664881398509_r8, & + 0.00050838581092498437_r8, 0.00056679421265725088_r8, & + 0.00070317881400852004_r8, 0.00091350805863026812_r8, & + 0.0010469263522616887_r8, 0.0011683810843710681_r8, & + 0.0012811827199275189_r8, 0.0014375776070574349_r8, & + 0.0017418290038474266_r8, 0.0020950162837946994_r8, & + 0.002637227835790222_r8, 0.0033133493346303986_r8, & + 0.0050623728638314915_r8, 0.0075961568635571595_r8, & + 0.010454546703100734_r8, 0.013158967144699678_r8, 0.01515988100348128_r8, & + 0.016838991445760419_r8, 0.01804865501160275_r8, 0.019108626562455593_r8, & + 0.019810019036456031_r8, 0.020383991386026503_r8, 0.020997214050453541_r8, & + 0.021894513941487507_r8, 0.022461111492859464_r8, 0.022503985701608577_r8, & + 0.022430309419050321_r8, 0.022105138178037199_r8, 0.021830606632685788_r8, & + 0.021595087184503106_r8, 0.021349654778408573_r8, 0.021166734615123209_r8, & + 0.021006372847454366_r8, 0.020919110255119677_r8, 0.020856035830273234_r8, & + 0.020718690163950382_r8, 0.02035387739259531_r8, 0.020060557319700145_r8, & + 0.019981062526218764_r8, 0.020215147839537487_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,47) / & + 0.0010585285937379952_r8, 0.0010305658093462651_r8, & + 0.0010156669145920923_r8, 0.0010716766579221863_r8, & + 0.0011054474860316443_r8, 0.0013125673754786371_r8, & + 0.0014302770614912658_r8, 0.0016662351506149795_r8, & + 0.0018126146872110621_r8, 0.0019365027849466074_r8, & + 0.0020854580626696825_r8, 0.0022599518978414358_r8, & + 0.002628030355361475_r8, 0.003160215508998664_r8, 0.0039466919680163958_r8, & + 0.0048832348087727677_r8, 0.0072364015995564114_r8, & + 0.0098644824596458656_r8, 0.012408321433464271_r8, 0.014683963466798235_r8, & + 0.016379407185095125_r8, 0.01791449839205473_r8, 0.019120147258399185_r8, & + 0.02016466920757732_r8, 0.020760187290101748_r8, 0.021170571874759906_r8, & + 0.021819288270756847_r8, 0.022716319579323338_r8, 0.023361349130177726_r8, & + 0.023444126379337352_r8, 0.023339598427327565_r8, 0.023002698221880665_r8, & + 0.022740225150567322_r8, 0.022385446271415414_r8, 0.022098680425943571_r8, & + 0.021890836635395532_r8, 0.021705804146985228_r8, 0.021641244374080819_r8, & + 0.021640535203525421_r8, 0.021673045517799045_r8, 0.021733794708977357_r8, & + 0.02151202760667062_r8, 0.021276897314088373_r8, 0.021885729555214894_r8, & + 0.020534868863672534_r8 & + / +data delta_sa_ref(:,33,47) / & + 0.0021970334562701429_r8, 0.0022182722700931157_r8, & + 0.0021998676022969674_r8, 0.002326903013535921_r8, & + 0.0023993292696238618_r8, 0.0024946706332213721_r8, & + 0.0026624900970414617_r8, 0.0028427175904180146_r8, & + 0.0030608258648360288_r8, 0.0032418655829885633_r8, & + 0.0034952278689597623_r8, 0.0037382040466253422_r8, & + 0.0045881540712431404_r8, 0.0056906541570561579_r8, & + 0.0069858416099368281_r8, 0.0083479252778774909_r8, & + 0.010995173199335661_r8, 0.013407152437810961_r8, 0.015405726546690529_r8, & + 0.017049116489171751_r8, 0.018425042541060501_r8, 0.019587923762347456_r8, & + 0.020622888222106624_r8, 0.021463921055566857_r8, 0.021980357762064591_r8, & + 0.022420479902376611_r8, 0.02298063849575158_r8, 0.023777206343071441_r8, & + 0.024327531832243589_r8, 0.024407285392693569_r8, 0.024274460719753477_r8, & + 0.024003972587973842_r8, 0.023655130687379435_r8, 0.023260043818688788_r8, & + 0.022942256554741962_r8, 0.02273873376353517_r8, 0.022658738263790217_r8, & + 0.022611249036462694_r8, 0.022603731636940325_r8, 0.022600603707483884_r8, & + 0.022631243591054381_r8, 0.022510995441108322_r8, 0.022434190515815834_r8, & + 0.022706834808123494_r8, 0.022857387166298062_r8 & + / +data delta_sa_ref(:,34,47) / & + 0.0028774955017025188_r8, 0.0030156840698309794_r8, & + 0.0030854076924671865_r8, 0.0033610579869930934_r8, & + 0.0034584015954078947_r8, 0.003654028388133689_r8, & + 0.0042530523415731623_r8, 0.0043822351633758683_r8, & + 0.0049580356371170357_r8, 0.0060539888725589346_r8, & + 0.0068542770741013464_r8, 0.007670502610184809_r8, & + 0.0090787496001040607_r8, 0.010481146400480985_r8, 0.011752605322192512_r8, & + 0.01300234763120906_r8, 0.015117900264642013_r8, 0.016821812288460747_r8, & + 0.018181679983649713_r8, 0.019402100433566261_r8, 0.020419129293728116_r8, & + 0.021278539865342169_r8, 0.022017862000714761_r8, 0.022681503956826235_r8, & + 0.02318027693492684_r8, 0.023603121543906959_r8, 0.024015134438310236_r8, & + 0.0246573434272803_r8, 0.025059535094391322_r8, 0.02510527293990401_r8, & + 0.024939216196137589_r8, 0.024666278262217664_r8, 0.024287469625428836_r8, & + 0.023926176101572768_r8, 0.023622675359255992_r8, 0.023418291010063815_r8, & + 0.023334899217315089_r8, 0.023339012077841816_r8, 0.023378917461659283_r8, & + 0.023412954928087332_r8, 0.023416128212717865_r8, 0.023331672749143266_r8, & + 0.023360897105084228_r8, 0.023453234369478566_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,47) / & + 0.0032715849868743298_r8, 0.0033746955916139584_r8, & + 0.0035597146719053819_r8, 0.0042740584334278854_r8, & + 0.0046789026809087074_r8, 0.0051220106789033751_r8, & + 0.0061591916306099753_r8, 0.006513779350817317_r8, & + 0.0076559692284873084_r8, 0.0093105862171026857_r8, & + 0.010316848113742286_r8, 0.01143468440799434_r8, 0.012444878772254878_r8, & + 0.013727435707634237_r8, 0.014758026198007311_r8, 0.015870853196416394_r8, & + 0.017646831451801348_r8, 0.018881794397198812_r8, 0.019873478220630125_r8, & + 0.020891948714031671_r8, 0.021746232436837928_r8, 0.022540829434164744_r8, & + 0.023192067102472042_r8, 0.023846897443599659_r8, 0.024310775763891301_r8, & + 0.024718698935224555_r8, 0.024987097882752166_r8, 0.025566785865363133_r8, & + 0.025821401216924021_r8, 0.025831507434776298_r8, 0.025654660305850324_r8, & + 0.025347983327989165_r8, 0.024977234097293462_r8, 0.024688754153310816_r8, & + 0.024406869538782048_r8, 0.024146439704271862_r8, 0.023972713040491995_r8, & + 0.023897961105227628_r8, 0.023900714514099131_r8, 0.023844278589574705_r8, & + 0.02381065389812393_r8, 0.02370466946575012_r8, 0.023715982977449878_r8, & + 0.023235608544530963_r8, 0.023263660601251554_r8 & + / +data delta_sa_ref(:,36,47) / & + 0.0036400925237574256_r8, 0.0039917050660231218_r8, & + 0.0043044201995172801_r8, 0.0061042982821736206_r8, & + 0.0068584842937376841_r8, 0.0075461103097870224_r8, & + 0.0087695168240722234_r8, 0.0092189946396358559_r8, & + 0.0095137244225445387_r8, 0.0099714419354127639_r8, & + 0.010469354740019133_r8, 0.010818038247086135_r8, 0.011979051166471077_r8, & + 0.013376424690994286_r8, 0.014475206947346577_r8, 0.015686868401575568_r8, & + 0.017728893498268262_r8, 0.019098515070542135_r8, 0.020093325846979499_r8, & + 0.021043963466511051_r8, 0.022020742340400766_r8, 0.022905120224573611_r8, & + 0.023733265666039768_r8, 0.024499683205664754_r8, 0.025229316049808784_r8, & + 0.025678055351743948_r8, 0.02539320156761023_r8, 0.025951749300488765_r8, & + 0.026300466723985356_r8, 0.026352464268190368_r8, 0.026269688229166751_r8, & + 0.026164000644417713_r8, 0.025936659814464458_r8, 0.025762955822812728_r8, & + 0.025614592391769778_r8, 0.025513873563954664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,47) / & + 0.0020055700189377844_r8, 0.0023969826040149337_r8, & + 0.0027490785118498237_r8, 0.0043293534357882997_r8, & + 0.0054122018437733135_r8, 0.006654624098431686_r8, & + 0.0085086857190343652_r8, 0.009270591728413_r8, 0.0096206208821355485_r8, & + 0.0099247657111573555_r8, 0.010290761306492771_r8, 0.010601504154384397_r8, & + 0.012101609516061739_r8, 0.01350871237272766_r8, 0.014745751941651069_r8, & + 0.016045038467182176_r8, 0.018132512147012756_r8, 0.019522629349255284_r8, & + 0.020681313945598998_r8, 0.021656020517188672_r8, 0.022679102618279472_r8, & + 0.023700720354281918_r8, 0.024611732764703905_r8, 0.0254276987286093_r8, & + 0.026200054069726874_r8, 0.026593190334543458_r8, 0.026027321911237383_r8, & + 0.026573358483913161_r8, 0.026923753592713134_r8, 0.026980617863585861_r8, & + 0.026880343176089731_r8, 0.026802074006151921_r8, 0.026613637104107343_r8, & + 0.026445257999650053_r8, 0.026295380804873664_r8, 0.026127419273273601_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,38,47) / & + 0.00075266379596013817_r8, 0.00097026131712244922_r8, & + 0.0014568359911590583_r8, 0.0025654105743561609_r8, & + 0.0038554237506630449_r8, 0.0058244169062401834_r8, & + 0.0080605773169167283_r8, 0.0096441501975777985_r8, & + 0.0094237640260664522_r8, 0.0093281765435558658_r8, & + 0.010040044463121066_r8, 0.010601161557643731_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,47) / & + 0.0008248665620630601_r8, 0.0010113529643313776_r8, 0.0016272845544384_r8, & + 0.002961693218616889_r8, 0.0044485877659576883_r8, & + 0.0064757248571391994_r8, 0.0085888889480694851_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,47) / & + 0.0026040102089836641_r8, 0.0024285851002829391_r8, & + 0.0029589958140406082_r8, 0.0045493524490056048_r8, & + 0.0073330346488657151_r8, 0.0086072328506561196_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,47) / & + 0.0037015321731573465_r8, 0.003446276924688645_r8, & + 0.0036862201689528361_r8, 0.0042778015205838489_r8, & + 0.0065650787054021128_r8, 0.0088607568006352829_r8, & + 0.0099898731542305136_r8, 0.013106996969850026_r8, 0.013921721814105172_r8, & + 0.00962982083451463_r8, 0.006506680997474844_r8, 0.0043878824156757335_r8, & + 0.0034244676646460041_r8, 0.0032109272816858063_r8, & + 0.0037673737912367398_r8, 0.0034133561156489481_r8, & + 0.0034137285698052741_r8, 0.0030045876790812439_r8, & + 0.002947788420241541_r8, 0.0029697632154647704_r8, & + 0.0029487195556323546_r8, 0.002920040585595259_r8, & + 0.0028982985742197326_r8, 0.0030043083384639993_r8, & + 0.003178736601031924_r8, 0.0032960596602745898_r8, & + 0.0035546492602380186_r8, 0.0041185980606520886_r8, & + 0.0032163278669525334_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,47) / & + 0.0036938671687039991_r8, 0.0035803703616166713_r8, & + 0.0036340714419508939_r8, 0.0039004032284656195_r8, & + 0.0045648901677440793_r8, 0.0056073304248033962_r8, & + 0.0073891834141789226_r8, 0.01047669719406151_r8, 0.013936922043406619_r8, & + 0.010744307577727052_r8, 0.0076135345942418978_r8, & + 0.0042123809332644336_r8, 0.002628753122170232_r8, & + 0.0027203432980735993_r8, 0.003217291390690291_r8, & + 0.0030227315242413039_r8, 0.0030294654692355947_r8, & + 0.0028042618910720787_r8, 0.0027880237072567308_r8, & + 0.0028225458303287308_r8, 0.0028314107705743798_r8, & + 0.0028345646435463897_r8, 0.0028373410259310157_r8, & + 0.0029097394586006541_r8, 0.0030579313038032346_r8, & + 0.0031901761504701722_r8, 0.0034135464638617333_r8, & + 0.004118104504659526_r8, 0.0035822522130803556_r8, & + 0.0036305766097386657_r8, 0.0037629114148479996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,47) / & + 0.003271088583868102_r8, 0.0034826061437645437_r8, & + 0.0032083306265361911_r8, 0.0041824165736354764_r8, & + 0.0043171861074446753_r8, 0.0045572539330455703_r8, & + 0.0056443568305601845_r8, 0.007786328454632771_r8, & + 0.0099625516263477203_r8, 0.007349303266084556_r8, 0.004839949805136066_r8, & + 0.0032629313650954011_r8, 0.0023189745002372211_r8, & + 0.0025281238353286849_r8, 0.0026381585767303374_r8, & + 0.0025840402543351047_r8, 0.0025628139431201186_r8, & + 0.0025625069510157692_r8, 0.0025800493569785679_r8, & + 0.0026544291582608331_r8, 0.0027140294825194399_r8, & + 0.002770516029719651_r8, 0.0028483166001646615_r8, & + 0.0029857174948682802_r8, 0.0031279425512116673_r8, & + 0.0032763951616718487_r8, 0.0034717737080825154_r8, & + 0.0040486063901523685_r8, 0.0040685992509480948_r8, & + 0.0039418970310810385_r8, 0.0038786045785674491_r8, & + 0.003866126994126222_r8, 0.0038045531491968003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,47) / & + 0.0026512816610913185_r8, 0.00319942153000004_r8, 0.0027050314738372222_r8, & + 0.0035417158492568766_r8, 0.0037082410660946442_r8, & + 0.0040473789366164015_r8, 0.0052620255019992755_r8, 0.00612418692792349_r8, & + 0.0043686152335977871_r8, 0.002972788510821426_r8, & + 0.0023341036553407475_r8, 0.0025864391856478554_r8, & + 0.002403094606264599_r8, 0.002567725953861321_r8, 0.0025664182822425024_r8, & + 0.0025823808944170404_r8, 0.0025670495719895179_r8, & + 0.0025739486670819031_r8, 0.0026214757666072233_r8, & + 0.0027499432301249052_r8, 0.0028391805450780449_r8, & + 0.0029325212433867851_r8, 0.0030530975850667722_r8, & + 0.0032321584125952802_r8, 0.0033783019890294007_r8, & + 0.0035473974569800162_r8, 0.0037433227391787975_r8, & + 0.0040855719663108478_r8, 0.0043665039558979475_r8, & + 0.0043845662506545244_r8, 0.0043266254469962904_r8, & + 0.0042819030776327111_r8, 0.0039499957293205211_r8, & + 0.0039872711342755556_r8, 0.0041312390156887117_r8, & + 0.0041515642909363756_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,47) / & + 0.0024581761314133328_r8, 0.0033196033268053328_r8, & + 0.0028890750420480001_r8, 0.0034754978364586664_r8, & + 0.0039238161633279988_r8, 0.0043082015263573329_r8, & + 0.0045402596538026653_r8, 0.0031441583021226661_r8, & + 0.0024041110815573325_r8, 0.0022925063642453333_r8, & + 0.0023216004956159992_r8, 0.0024024432651093336_r8, & + 0.0023856261159253328_r8, 0.0024660056030719993_r8, & + 0.0025049676484266668_r8, 0.0025549558136319984_r8, & + 0.002561349110015999_r8, 0.0025782125874346672_r8, 0.002652152449962667_r8, & + 0.0027789991564799994_r8, 0.0028787901739519995_r8, & + 0.003006146491050667_r8, 0.0031404983715839995_r8, & + 0.0033048246199466665_r8, 0.0034991252361386655_r8, & + 0.0036608571033599985_r8, 0.0038792020733439993_r8, & + 0.0042114218441386669_r8, 0.0043410945729706668_r8, & + 0.0042824430278826653_r8, 0.0042332424426666671_r8, & + 0.0042413614657920012_r8, 0.0041790268260480006_r8, & + 0.0041844993487680001_r8, 0.0042338041725119993_r8, & + 0.0042543044163519993_r8, 0.004364397675007999_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,48) / & + 0.003381123539259259_r8, 0.0034882964106666666_r8, & + 0.0038833677537777776_r8, 0.0044172740328888883_r8, & + 0.0045678907182222219_r8, 0.0048482564142222221_r8, & + 0.0053282129315555546_r8, 0.0055790743315555546_r8, & + 0.0058005812035555543_r8, 0.0060181109031111103_r8, & + 0.0062232431404444432_r8, 0.0063615122862222219_r8, & + 0.0066491001279999984_r8, 0.0069579550257777767_r8, & + 0.0072621504746666673_r8, 0.0077530192548888894_r8, 0.00848383162525926_r8, & + 0.00821833179_r8, 0.0079047550399999993_r8, 0.0081930584399999996_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,2,48) / & + 0.003381123539259259_r8, 0.0034882964106666666_r8, & + 0.0038833677537777776_r8, 0.0044172740328888883_r8, & + 0.0045678907182222219_r8, 0.0048482564142222221_r8, & + 0.0053282129315555546_r8, 0.0055790743315555546_r8, & + 0.0058005812035555543_r8, 0.0060181109031111103_r8, & + 0.0062232431404444432_r8, 0.0063615122862222219_r8, & + 0.0066491001279999984_r8, 0.0069579550257777767_r8, & + 0.0072621504746666673_r8, 0.0077530192548888894_r8, 0.00848383162525926_r8, & + 0.00821833179_r8, 0.0079047550399999993_r8, 0.0081930584399999996_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,3,48) / & + 0.003381123539259259_r8, 0.0034882964106666666_r8, & + 0.0038833677537777776_r8, 0.0044172740328888883_r8, & + 0.0045678907182222219_r8, 0.0048482564142222221_r8, & + 0.0053282129315555546_r8, 0.0055790743315555546_r8, & + 0.0058005812035555543_r8, 0.0060181109031111103_r8, & + 0.0062232431404444432_r8, 0.0063615122862222219_r8, & + 0.0066491001279999984_r8, 0.0069579550257777767_r8, & + 0.0072621504746666673_r8, 0.0077530192548888894_r8, 0.00848383162525926_r8, & + 0.00821833179_r8, 0.0079047550399999993_r8, 0.0081930584399999996_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,4,48) / & + 0.0037071555323456786_r8, 0.0037292139550617284_r8, & + 0.0039262143446913587_r8, 0.0042016210558024686_r8, & + 0.0043388621644444439_r8, 0.0044813636429629619_r8, & + 0.0049219496661728392_r8, 0.0052523175353086432_r8, & + 0.0054598663995061728_r8, 0.0056850083812345674_r8, & + 0.0059130625185185174_r8, 0.0060624237412345693_r8, & + 0.006395907154567902_r8, 0.0067164661441975297_r8, & + 0.0069732627945679011_r8, 0.007255723393580246_r8, & + 0.0076513697718518505_r8, 0.007687511702407405_r8, & + 0.0078582495336419738_r8, 0.008237295469629629_r8, & + 0.0083910642166666674_r8, 0.0085598756338888873_r8, & + 0.0086676773922222221_r8, 0.0088407649235714304_r8, & + 0.0089781399187301575_r8, 0.0091100219347619044_r8, & + 0.0092396396012698404_r8, 0.0093888727155555553_r8, & + 0.0094606855800793647_r8, 0.0095652403840211647_r8, & + 0.009808658552148148_r8, 0.0099511322958518531_r8, 0.010009544589333334_r8, & + 0.0098341256991666664_r8, 0.0094358297380952357_r8, & + 0.0087294254905555552_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,48) / & + 0.0039934250459259255_r8, 0.0039859736256790124_r8, & + 0.003966429826172839_r8, 0.004072700391604938_r8, 0.004336412255802469_r8, & + 0.0044900723748148149_r8, 0.0049650218335802474_r8, & + 0.0052766224780246918_r8, 0.0055357211180246911_r8, & + 0.0058786621032098779_r8, 0.0061783090424691349_r8, & + 0.0063973493649382707_r8, 0.0066876958962962963_r8, & + 0.0069236267209876537_r8, 0.0071434621081481473_r8, & + 0.0072705800093827173_r8, 0.0074460119580246906_r8, & + 0.0078299634893827155_r8, 0.0080698881274074083_r8, & + 0.0083123551234567904_r8, 0.0084837008093827139_r8, & + 0.0085810500093827166_r8, 0.008709970673580248_r8, & + 0.0088934826982716049_r8, 0.0090337284118518508_r8, & + 0.0091508432898765434_r8, 0.0092714342646913594_r8, & + 0.0094577290158024685_r8, 0.0095690658074074064_r8, & + 0.0096746430024691344_r8, 0.0097538721234567902_r8, & + 0.0097533081822222222_r8, 0.0095123562004320993_r8, & + 0.0091769544624074086_r8, 0.0087767694797971762_r8, & + 0.0084110811589065224_r8, 0.0082281051425291008_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,48) / & + 0.0031878488597530861_r8, 0.0031897533170370368_r8, & + 0.0030557109570370374_r8, 0.0031400987535802464_r8, & + 0.0032570842024691356_r8, 0.0034203220775308641_r8, & + 0.0043125140903703708_r8, 0.0048273647027160492_r8, & + 0.0052435903135802462_r8, 0.0056257483269135803_r8, & + 0.0059031242098765424_r8, 0.0061668360740740743_r8, & + 0.0064457651066666668_r8, 0.0066549873046913583_r8, & + 0.0068068908854320995_r8, 0.0069286189876543204_r8, & + 0.0071447379096296285_r8, 0.0073570756518518514_r8, & + 0.0075449512874074072_r8, 0.0077370333698765434_r8, & + 0.0078988660143209863_r8, 0.0080390562582716065_r8, & + 0.0082096068795061723_r8, 0.0083680096518518512_r8, & + 0.0085239532706172863_r8, 0.0086776133896296296_r8, & + 0.0088159269111111119_r8, 0.0091177649007407394_r8, & + 0.0093489345822222215_r8, 0.0095128103580246898_r8, & + 0.0095867744866666663_r8, 0.0095607591643350961_r8, & + 0.0093062449571534381_r8, 0.0090132185162962938_r8, & + 0.0086451616752380948_r8, 0.0083922498800000009_r8, & + 0.0080826045399999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,48) / & + 0.0013718656350617279_r8, 0.0013610120775308643_r8, & + 0.0012493054883950618_r8, 0.0013673356153086421_r8, & + 0.0012558878844444444_r8, 0.0010897933234567899_r8, & + 0.0015978026814814812_r8, 0.0023360017575308643_r8, & + 0.0028878228780246911_r8, 0.0033090962251851857_r8, & + 0.0035586263540740735_r8, 0.0037663878518518512_r8, & + 0.0041039390380246919_r8, 0.0044191452083950618_r8, & + 0.0047086319604938273_r8, 0.0049694224241975315_r8, & + 0.0053918421437037034_r8, 0.0057178001772839517_r8, & + 0.0059692162735802464_r8, 0.0061765247693827165_r8, & + 0.0063600830187654318_r8, 0.0065277029945679018_r8, & + 0.0066896558232098779_r8, 0.0068387304528395075_r8, & + 0.0069824337733333328_r8, 0.0071444882962962983_r8, & + 0.0073056460602469123_r8, 0.0077230550232098762_r8, & + 0.0081339647945679015_r8, 0.008506239968888888_r8, 0.008804867653703705_r8, & + 0.0090485099125308648_r8, 0.0092265107983950604_r8, & + 0.0093505227965820104_r8, 0.009471013529851852_r8, & + 0.0095485697792592576_r8, 0.0095848746518518504_r8, & + 0.0095753101028571447_r8, 0.0095432169599999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,48) / & + 0.00025602007555555555_r8, 0.00026205702024691358_r8, & + 0.00026787208641975303_r8, 0.00043754443851851842_r8, & + 0.00036914114024691355_r8, 0.00032142801382716051_r8, & + 0.00040777573728395072_r8, 0.00061428916839506174_r8, & + 0.00083357910419753079_r8, 0.001024366895308642_r8, & + 0.0011346405190123458_r8, 0.0012550188602469133_r8, & + 0.0014592857713580248_r8, 0.0017102211308641973_r8, & + 0.002019760154074074_r8, 0.002356266662222222_r8, 0.0030311564009876534_r8, & + 0.0036715070503703698_r8, 0.0042340153195061731_r8, & + 0.0046945519195061725_r8, 0.0050985279871604934_r8, & + 0.005422775707160492_r8, 0.0056813288958024698_r8, & + 0.0058741043486419744_r8, 0.0060390895170370374_r8, & + 0.0061926386967901242_r8, 0.0063346871733333341_r8, & + 0.0066761951930864195_r8, 0.0070554595407407421_r8, & + 0.0074560519609876549_r8, 0.0078653253782716044_r8, & + 0.008242112082469135_r8, 0.0085835738775308663_r8, & + 0.0088800220681481482_r8, 0.0091341376864197514_r8, & + 0.0093286696775308642_r8, 0.0094632493995679013_r8, & + 0.0095136442184391521_r8, 0.0095274103607548514_r8, & + 0.0095476184751111109_r8, 0.0095980304879166659_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,48) / & + 0.0001170316735802469_r8, 0.00015762619753086418_r8, & + 0.00014637510765432103_r8, 0.00016982027111111112_r8, & + 0.00017370314518518515_r8, 0.00018295732839506169_r8, & + 0.00021316978666666668_r8, 0.00029761305283950617_r8, & + 0.00037827513925925931_r8, 0.00045074621037037035_r8, & + 0.00048508191111111109_r8, 0.00054017249827160497_r8, & + 0.0006236912706172839_r8, 0.00070146893629629626_r8, & + 0.000798827381234568_r8, 0.00092035209481481489_r8, & + 0.0012729540404938272_r8, 0.0017545506098765431_r8, & + 0.0023593267367901234_r8, 0.0029253665723456787_r8, & + 0.0034974433525925925_r8, 0.0039898934795061722_r8, & + 0.0044811787441975306_r8, 0.0049002610409876537_r8, & + 0.0052542867071604946_r8, 0.0055449105866666668_r8, & + 0.0057756919807407416_r8, 0.0061979268014814804_r8, & + 0.0065090467091358023_r8, 0.0068136951599999992_r8, & + 0.0072008731748148145_r8, 0.0076008369392592586_r8, & + 0.0079986836128395061_r8, 0.0083794363955555558_r8, & + 0.0086970370049382715_r8, 0.0089688474350617282_r8, & + 0.0091960325481481482_r8, 0.0093453105664197539_r8, & + 0.0094547521456790126_r8, 0.0095240059782716029_r8, & + 0.0095714860001763664_r8, 0.009594865524571429_r8, & + 0.0095955359146666658_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,48) / & + 0.00018200509975308641_r8, 0.00020475689283950616_r8, & + 0.00015156151802469132_r8, 0.00011697620395061726_r8, & + 0.00012232902320987655_r8, 0.00012615642765432099_r8, & + 0.00015737658419753088_r8, 0.00021422370962962962_r8, & + 0.00026367488444444442_r8, 0.00029714156098765434_r8, & + 0.00032220458864197526_r8, 0.00036207800740740742_r8, & + 0.00041786196493827154_r8, 0.00046256124148148146_r8, & + 0.00050539304049382707_r8, 0.0005520429990123456_r8, & + 0.00066984200246913582_r8, 0.00088924287753086421_r8, & + 0.0013066610854320987_r8, 0.0017560852696296295_r8, & + 0.0022735614444444443_r8, 0.0027844089985185178_r8, & + 0.0033239251061728389_r8, 0.0038706800004938268_r8, & + 0.0043785876641975309_r8, 0.0048484339170370375_r8, & + 0.0052626996009876546_r8, 0.0060260171743209872_r8, & + 0.0064264616755555564_r8, 0.0066331230256790113_r8, & + 0.0068581078434567901_r8, 0.0071941336148148146_r8, & + 0.0076052005501234567_r8, 0.0080145571718518507_r8, & + 0.008402659680493826_r8, 0.0087489380883950616_r8, & + 0.0090425203481481475_r8, 0.0092457056014814808_r8, & + 0.0094052547461728388_r8, 0.0094835686182716053_r8, & + 0.0095346457466049372_r8, 0.009582511744682538_r8, & + 0.0095937636600000008_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,48) / & + 0.00017637493234567899_r8, 0.00017410992246913581_r8, & + 0.00014542287901234566_r8, 0.00014362011604938273_r8, & + 0.00014790976740740739_r8, 0.00015616549728395061_r8, & + 0.00018193114024691359_r8, 0.00018550893135802472_r8, & + 0.0002142421995061728_r8, 0.00024738530320987656_r8, & + 0.00026966560444444441_r8, 0.00030547125037037035_r8, & + 0.00036002563111111105_r8, 0.00041180653037037031_r8, & + 0.00046608356296296292_r8, 0.00051498928641975303_r8, & + 0.00061055421333333355_r8, 0.0007438939580246914_r8, & + 0.00095961534765432084_r8, 0.0012707167654320986_r8, & + 0.001681922374814815_r8, 0.0021838762982716049_r8, & + 0.0027368992607407407_r8, 0.0033147818622222226_r8, & + 0.0039088523506172843_r8, 0.0044912326145679013_r8, & + 0.0050481835201851861_r8, 0.0061714377420987654_r8, & + 0.006821286409938271_r8, 0.0070409438320370365_r8, & + 0.0070291854261728378_r8, 0.0071710154910493819_r8, & + 0.007534351305326278_r8, 0.0079486239229806001_r8, & + 0.0083522434001587296_r8, 0.008731510389223986_r8, & + 0.0090356447554850068_r8, 0.0092415496715520292_r8, & + 0.0093946139873104049_r8, 0.0094703562807760145_r8, & + 0.0095230412689629625_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,48) / & + 0.00019357976246913575_r8, 0.00018427935456790122_r8, & + 0.00016329334469135804_r8, 0.00015317013728395059_r8, & + 0.00015881879456790122_r8, 0.00016810071259259257_r8, & + 0.00020038403703703705_r8, 0.0001971298187654321_r8, & + 0.0002084456232098765_r8, 0.00023534839358024687_r8, & + 0.00025337602320987649_r8, 0.00029574557530864196_r8, & + 0.00036684839555555556_r8, 0.00042620089925925924_r8, & + 0.00049144242864197524_r8, 0.00054969478469135799_r8, & + 0.00065331205283950618_r8, 0.0007769631022222222_r8, & + 0.00097212374913580252_r8, 0.0012694317190123457_r8, & + 0.0016754971427160494_r8, 0.0021796143817283953_r8, & + 0.002818333299506173_r8, 0.003485822465185185_r8, 0.0041859508854320991_r8, & + 0.004891115155626102_r8, 0.0055673546553791885_r8, & + 0.0069474086643386244_r8, 0.0078477543825573176_r8, & + 0.0083060414909700182_r8, 0.0084264571091164035_r8, & + 0.0081459474892380951_r8, 0.0079968005509841247_r8, & + 0.0080977859833121692_r8, 0.0084090300372804249_r8, & + 0.0087734441085185171_r8, 0.0090650826199999996_r8, & + 0.0092648634248148152_r8, 0.009374949838518519_r8, & + 0.0094623422399999994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,48) / & + 0.00015760770765432095_r8, 0.00015084965777777774_r8, & + 0.00013358011308641974_r8, 0.00012503779012345678_r8, & + 0.00013305315160493827_r8, 0.00013824880691358025_r8, & + 0.00016497592345679011_r8, 0.00018899427308641972_r8, & + 0.00021278149925925923_r8, 0.00023197399111111108_r8, & + 0.00025019576444444442_r8, 0.00027858696987654316_r8, & + 0.00034017674864197521_r8, 0.00041596675259259261_r8, & + 0.00048600640493827164_r8, 0.00053763938518518509_r8, & + 0.00062812884098765434_r8, 0.00073909583506172837_r8, & + 0.00093911007456790117_r8, 0.0012471976424691361_r8, & + 0.0017209729940740738_r8, 0.0022808557007407406_r8, & + 0.002953693063209876_r8, 0.0036810755614814813_r8, & + 0.0044558568582716042_r8, 0.0051887493397530862_r8, & + 0.005886529545679013_r8, 0.0072416248627160491_r8, & + 0.0081139679930864201_r8, 0.0086531143032098756_r8, & + 0.0089594545777777774_r8, 0.0088702131886419754_r8, & + 0.0084728287619753092_r8, 0.0082211815422222213_r8, & + 0.0083169313679012351_r8, 0.0086155521190123454_r8, & + 0.008934003262716048_r8, 0.0091680388750617296_r8, & + 0.0093028670548148135_r8, 0.0093456072959206341_r8, & + 0.009351062833047619_r8, 0.0093595362151851838_r8, & + 0.0093808078276190459_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,48) / & + 0.00012344766074074077_r8, 0.00012298541382716049_r8, & + 0.00010909027160493827_r8, 0.00013109322469135801_r8, & + 0.00014097606370370368_r8, 0.00014815013580246909_r8, & + 0.00016334881432098766_r8, 0.00015420557037037032_r8, & + 0.000171835667654321_r8, 0.00019472613481481482_r8, & + 0.00021705266074074073_r8, 0.00024595233777777777_r8, & + 0.000297428154074074_r8, 0.00035611502222222222_r8, & + 0.00041441360296296296_r8, 0.00046408665629629628_r8, & + 0.00054093058320987656_r8, 0.00063024593185185185_r8, & + 0.00081696595012345659_r8, 0.001120847071111111_r8, & + 0.001609497528395062_r8, 0.0022102890869135803_r8, & + 0.0028937858632098758_r8, 0.0036736518760493832_r8, & + 0.0045436190572839498_r8, 0.0053162000587654327_r8, & + 0.0060444978059259252_r8, 0.0074371183274074071_r8, & + 0.0083364381876543207_r8, 0.0089143207891358035_r8, & + 0.0093361858123456754_r8, 0.009502905562283951_r8, 0.009265291003209877_r8, & + 0.008754540520987654_r8, 0.0084524841196913572_r8, & + 0.0085579307299999997_r8, 0.0088091850398765419_r8, & + 0.0090571874427160491_r8, 0.0092150794322222226_r8, & + 0.0092995134534567883_r8, 0.0093441314735961192_r8, & + 0.0093678799370634901_r8, 0.0093851862964197518_r8, & + 0.0094171622266666661_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,48) / & + 0.00013456007654320988_r8, 0.00013585436790123455_r8, & + 0.00012940140098765431_r8, 0.00011542305432098766_r8, & + 0.0001257866301234568_r8, 0.00013800843851851846_r8, & + 0.00018179246617283949_r8, 0.00018769073679012345_r8, & + 0.00018360447407407402_r8, 0.00018574005481481482_r8, & + 0.00019651040790123452_r8, 0.00020324072296296295_r8, & + 0.00024006331209876542_r8, 0.00029176100691358025_r8, & + 0.00034394868345679009_r8, 0.00039907625037037038_r8, & + 0.00049557491604938265_r8, 0.00058882860839506177_r8, & + 0.00076238383456790106_r8, 0.0010592110676543212_r8, & + 0.0015345580587654321_r8, 0.0021647855007407408_r8, & + 0.0029202448765432098_r8, 0.0037657037264197529_r8, & + 0.0046566754074074072_r8, 0.0054776721506172828_r8, & + 0.0062074305980246913_r8, 0.0076543651318518521_r8, & + 0.0085423229629629626_r8, 0.0091407478172839483_r8, & + 0.0095401291506172839_r8, 0.0097625068958024693_r8, & + 0.0096749573303703679_r8, 0.0091367817387654326_r8, & + 0.0086462545590123441_r8, 0.0085974597748148147_r8, & + 0.0088032299789241614_r8, 0.0090307827433950619_r8, & + 0.0091911616212962954_r8, 0.0092796622597530864_r8, & + 0.009324684283694885_r8, 0.0093489605340846549_r8, & + 0.0093797772811428561_r8, 0.0093869902149999983_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,48) / & + 0.0001437623337699292_r8, 0.00014474116589280661_r8, & + 0.00014516758780772345_r8, 0.00010035452111282304_r8, & + 0.00010341700577449876_r8, 0.00010695436938687736_r8, & + 0.00012561032816449049_r8, 0.00013688143468831604_r8, & + 0.00014783272477595386_r8, 0.0001589972258210502_r8, & + 0.00017085950818146502_r8, 0.00016288348009108801_r8, & + 0.00017126654728206745_r8, 0.00021664171559208556_r8, & + 0.0002739857717412477_r8, 0.0003429788992933662_r8, & + 0.00049445559316042787_r8, 0.00064887847480327892_r8, & + 0.00086051942430224841_r8, 0.0012386490573547853_r8, & + 0.0018430052076778799_r8, 0.0026602718818375367_r8, & + 0.003592585250360335_r8, 0.0045216810717069421_r8, 0.00542874832458523_r8, & + 0.0062182781914609762_r8, 0.0069075116856668426_r8, & + 0.0082708116218775558_r8, 0.0090764195332270984_r8, & + 0.009638337011608808_r8, 0.01005727716020032_r8, 0.01037462228756289_r8, & + 0.010449536864888058_r8, 0.009991802013446266_r8, 0.0092802346714466293_r8, & + 0.0090556350991525866_r8, 0.009193793376733865_r8, & + 0.0094110335367179072_r8, 0.0095830317852403438_r8, & + 0.0096809760880053383_r8, 0.0097340183708025975_r8, & + 0.0097570789010723163_r8, 0.0097622077321885808_r8, & + 0.0097771264420811986_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,48) / & + 0.00012876116361958188_r8, 0.00013067722219167077_r8, & + 0.00013344486235135469_r8, 0.00010543391084510287_r8, & + 0.00010695459225152262_r8, 0.00010746148605366255_r8, & + 0.00011442620689506504_r8, 0.00011453772353153577_r8, & + 0.00011316911026575803_r8, 0.00011494323857324773_r8, & + 0.000119454593412293_r8, 0.00013333334571488393_r8, & + 0.00015194648612946172_r8, 0.00017838606684907984_r8, & + 0.00024186944662908311_r8, 0.00033750003134079993_r8, & + 0.00056354425346707483_r8, 0.00084721216302061563_r8, & + 0.0012580090381508478_r8, 0.0019607463296855438_r8, & + 0.002885949173103408_r8, 0.0039346009330944263_r8, & + 0.0049273118930812836_r8, 0.0058338914582085257_r8, & + 0.0066324418162237104_r8, 0.0072886969461021757_r8, & + 0.0078835368229133677_r8, 0.0089401265398459002_r8, & + 0.0096270690205059167_r8, 0.010162399564945883_r8, 0.01062258817215663_r8, & + 0.010974798261635525_r8, 0.01112010063725344_r8, 0.010753740607287803_r8, & + 0.0099405524235013278_r8, 0.0095411650037232603_r8, & + 0.0096304854847323387_r8, 0.0098248517407608822_r8, & + 0.009983374811906108_r8, 0.010076019792123216_r8, 0.010139923893758999_r8, & + 0.010165220428954791_r8, 0.010189998122137394_r8, 0.01021665729649344_r8, & + 0.010337683441725866_r8 & + / +data delta_sa_ref(:,18,48) / & + 0.00012931952633513083_r8, 0.00013219846815565434_r8, & + 0.0001341565719674074_r8, 0.00012060861045906173_r8, & + 0.00012096847818662717_r8, 0.00012185756316061234_r8, & + 0.00012704389217552592_r8, 0.00012186814750554075_r8, & + 0.00011675590890512593_r8, 0.00011507299806151112_r8, & + 0.00011772966863853828_r8, 0.00014872063058887902_r8, & + 0.00017541434849829138_r8, 0.00021122118739105183_r8, & + 0.00035094512479079507_r8, 0.00055024833979247414_r8, & + 0.00092536810839972342_r8, 0.001444360877618647_r8, & + 0.0022380279820743503_r8, 0.0032985158378299648_r8, & + 0.0043809437175790274_r8, 0.0053975184492698466_r8, & + 0.0062007961389205337_r8, 0.0070522114293055617_r8, & + 0.0076818529404059253_r8, 0.0082277788983382665_r8, & + 0.0086729694874515643_r8, 0.0094992214806013595_r8, & + 0.010119922130932088_r8, 0.010663581980615261_r8, 0.011129320941370077_r8, & + 0.011437664077824084_r8, 0.011596119692736934_r8, 0.011474986429530199_r8, & + 0.010900979774513816_r8, 0.010214920430413393_r8, 0.010048795101480728_r8, & + 0.010199020197472946_r8, 0.010350321423659678_r8, 0.010424124052654932_r8, & + 0.010484999043082265_r8, 0.010533911658848216_r8, 0.010550877985756114_r8, & + 0.010597340613905538_r8, 0.0107929517825888_r8 & + / +data delta_sa_ref(:,19,48) / & + 0.00014610312896632101_r8, 0.00014754816557595391_r8, & + 0.00014718414872009222_r8, 0.00014934618822763456_r8, & + 0.00014969917426968231_r8, 0.00015133173471415309_r8, & + 0.00015135379634178108_r8, 0.00015697951138691688_r8, & + 0.00015839145555510785_r8, 0.00015920773577734324_r8, & + 0.00016348769153717204_r8, 0.00019184791385294482_r8, & + 0.00029544931719395555_r8, 0.00052129419922162309_r8, & + 0.00087435745696605764_r8, 0.0012694481153418011_r8, & + 0.0019494867561605791_r8, 0.0027865917760250599_r8, & + 0.0037442746216902849_r8, 0.0046751167396426154_r8, & + 0.0055349507513708252_r8, 0.0063144997424573503_r8, & + 0.007041298003033639_r8, 0.0077390479942825103_r8, 0.008308544092167823_r8, & + 0.0088299637668965789_r8, 0.0092537414354473355_r8, & + 0.010133464989376265_r8, 0.010834351080388216_r8, 0.011402747051574402_r8, & + 0.011843300224190421_r8, 0.012101404918195923_r8, 0.012250319328854271_r8, & + 0.012274952120995001_r8, 0.012053903476209424_r8, 0.011470066532450649_r8, & + 0.010922378235288303_r8, 0.010795936271280988_r8, 0.010850353245613592_r8, & + 0.010843662190328604_r8, 0.010849274195647999_r8, 0.010831493626861227_r8, & + 0.010884790658425601_r8, 0.010987095941143468_r8, 0.011068925275719111_r8 & + / +data delta_sa_ref(:,20,48) / & + 0.00016029173018245266_r8, 0.0001586619560391111_r8, & + 0.00015744536407295471_r8, 0.00017490231105902877_r8, & + 0.00017544174334590949_r8, 0.00017640583509267486_r8, & + 0.00016999003406360495_r8, 0.00018403822808790122_r8, & + 0.00021851598531746503_r8, 0.00023134758737560491_r8, & + 0.00025290192428543208_r8, 0.00035257064724865834_r8, & + 0.00066326068992651852_r8, 0.0011249688183655637_r8, & + 0.0016122368553765922_r8, 0.0021129103585807401_r8, & + 0.0029546198399204608_r8, 0.0037972245493107493_r8, & + 0.0046063844569144349_r8, 0.0054129964077588152_r8, & + 0.006240910195293629_r8, 0.0070174172336169884_r8, & + 0.0077403942254294644_r8, 0.0084195739064603127_r8, & + 0.0090103326015735317_r8, 0.009563939332588178_r8, 0.010046524638257778_r8, & + 0.011100225269700247_r8, 0.011865187596288155_r8, 0.012424600397688461_r8, & + 0.012763200322571045_r8, 0.012935359563064875_r8, 0.012999039831463201_r8, & + 0.012979288862597547_r8, 0.012844835979946973_r8, 0.01256578675615711_r8, & + 0.012048675529660911_r8, 0.011634823448078724_r8, 0.011498625608554859_r8, & + 0.011548368069794286_r8, 0.011550404467667556_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,48) / & + 0.00017668615098927407_r8, 0.00017510029202844445_r8, & + 0.00017582764087514075_r8, 0.00020066481542708146_r8, & + 0.00020233414064900745_r8, 0.00020617358865943698_r8, & + 0.00019340325071170374_r8, 0.00020915452655573334_r8, & + 0.00026283525619223702_r8, 0.00031165109518198521_r8, & + 0.00041307452616557041_r8, 0.00069601322753042949_r8, & + 0.0011634004421665187_r8, 0.0017939045784879407_r8, & + 0.0022800478543675263_r8, 0.0027319103444397039_r8, & + 0.0034913221591485631_r8, 0.0042783613062802968_r8, & + 0.005116374491438697_r8, 0.0059686842547477343_r8, & + 0.0068338716697687691_r8, 0.0076768689830897779_r8, & + 0.0084192656042865761_r8, 0.009125867123224652_r8, & + 0.0097409538487464309_r8, 0.010348039736954548_r8, 0.010912748612028917_r8, & + 0.012094332775362844_r8, 0.012847639629260089_r8, 0.013375659120706842_r8, & + 0.013655020696596147_r8, 0.013780518182030219_r8, 0.013789985640788857_r8, & + 0.013729198355207587_r8, 0.013622814643564567_r8, 0.013479388307153214_r8, & + 0.013220139119250225_r8, 0.012822092991488832_r8, 0.012500275407611528_r8, & + 0.012283491809282628_r8, 0.012182714092032209_r8, 0.012120039787592924_r8, & + 0.012058870941960925_r8, 0.01206072568152_r8, 0.012066037712851202_r8 & + / +data delta_sa_ref(:,22,48) / & + 0.00018197831334567239_r8, 0.00018284422877862713_r8, & + 0.00018593678389632265_r8, 0.00024692197081727736_r8, & + 0.00026290429566552755_r8, 0.00027045013015270441_r8, & + 0.000279381429332609_r8, 0.00032158862157891685_r8, & + 0.00039822213739541069_r8, 0.00056917858430161636_r8, & + 0.00085684806134964933_r8, 0.0011615018511040656_r8, & + 0.0017669375516055441_r8, 0.0023130580449496228_r8, & + 0.0027361566957117755_r8, 0.0031408979392952888_r8, & + 0.0039464714367935467_r8, 0.0048607296913480962_r8, & + 0.0058051836540718212_r8, 0.0066422517328886916_r8, & + 0.0075019944258285041_r8, 0.0084280662409326485_r8, & + 0.0092125979934101054_r8, 0.0099527082841769886_r8, & + 0.010606573397821577_r8, 0.011241722367893871_r8, 0.011895636962420346_r8, & + 0.013111604894257266_r8, 0.013852296585386274_r8, 0.014357620091617711_r8, & + 0.014618000862307197_r8, 0.014720488138907627_r8, 0.014708476654830499_r8, & + 0.014632140024305304_r8, 0.014527479123250722_r8, 0.014374988764745862_r8, & + 0.014107718443944536_r8, 0.013620182431162902_r8, 0.013198774303566158_r8, & + 0.012941802853997132_r8, 0.012823416088846254_r8, 0.012775800724568834_r8, & + 0.012749857125058732_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,48) / & + 0.00017112843628636702_r8, 0.00017398655801283949_r8, & + 0.00018053588627394893_r8, 0.00026433140128595225_r8, & + 0.0002872989086125827_r8, 0.00029788549402095138_r8, & + 0.00035556059612465511_r8, 0.0004846759247008131_r8, & + 0.00061094594823985513_r8, 0.00089807823989080467_r8, & + 0.0013923154148514764_r8, 0.0017608849506728559_r8, & + 0.0023762654734300176_r8, 0.0028244522835332211_r8, & + 0.0031704003626405923_r8, 0.0035801114712959467_r8, & + 0.004376591814658738_r8, 0.0053946855336826733_r8, & + 0.0064140096548848183_r8, 0.0073088324556791033_r8, & + 0.0082500901220115466_r8, 0.0091553713413206374_r8, & + 0.009981881187845423_r8, 0.010770645884215677_r8, 0.011478793604534307_r8, & + 0.012130073674178687_r8, 0.012773932880685719_r8, 0.013921449528830367_r8, & + 0.014767133142632293_r8, 0.015316687148855097_r8, 0.015589439115048186_r8, & + 0.015634938362263331_r8, 0.015572290384689356_r8, 0.015440765518514194_r8, & + 0.015278788198428286_r8, 0.015058674375421835_r8, 0.014735531992937973_r8, & + 0.014241025667500818_r8, 0.013810112550477675_r8, 0.013595801483577327_r8, & + 0.013502962421007682_r8, 0.013455115888684702_r8, 0.013392937322358398_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,48) / & + 0.00015686337252784197_r8, 0.00016158505686198518_r8, & + 0.00017787221518313084_r8, 0.00023886947993797527_r8, & + 0.00024218526949846915_r8, 0.0002394663220588642_r8, & + 0.00032072969260744688_r8, 0.00054837854067271111_r8, & + 0.00073255075602078027_r8, 0.0010792231861495307_r8, & + 0.0017542648880331064_r8, 0.0023608156407551209_r8, & + 0.0030651291328787356_r8, 0.0035624445143198412_r8, & + 0.0038077864154799014_r8, 0.0041910518991982622_r8, & + 0.0049984997098114752_r8, 0.0059772677354362862_r8, & + 0.0070236115523039594_r8, 0.0080066370517244429_r8, & + 0.0089485600237530459_r8, 0.009813172046389174_r8, 0.010737627439013095_r8, & + 0.011566017776490389_r8, 0.01228395253212851_r8, 0.012955797812875772_r8, & + 0.013556022039116364_r8, 0.014665299541842211_r8, 0.015607938724415878_r8, & + 0.016163744633704097_r8, 0.01648914295801272_r8, 0.016574093486552571_r8, & + 0.016529436432751843_r8, 0.01638756042903743_r8, 0.016165256633743682_r8, & + 0.015837868835698765_r8, 0.015377411771012107_r8, 0.014846316783423468_r8, & + 0.01443456866738047_r8, 0.014208660608834462_r8, 0.014100872579696708_r8, & + 0.01404516897297519_r8, 0.014000902661289954_r8, 0.013984060629270071_r8, & + 0.013954288154806397_r8 & + / +data delta_sa_ref(:,25,48) / & + 0.00015626233000006585_r8, 0.00016214376003779421_r8, & + 0.00016895744472019753_r8, 0.00021691372041244446_r8, & + 0.00021504921112309463_r8, 0.00020187425945349791_r8, & + 0.00027604334221366259_r8, 0.00042939923126268312_r8, & + 0.00078502695895190115_r8, 0.0012766953166280166_r8, & + 0.0019612032894805597_r8, 0.0027462028291782054_r8, & + 0.0034440091403444939_r8, 0.0039020066537952922_r8, & + 0.0042743875458344039_r8, 0.0046860328099668806_r8, & + 0.0056929363743514075_r8, 0.0067035552476875067_r8, & + 0.0077324490539846602_r8, 0.0087630017251642458_r8, & + 0.0097094595435433077_r8, 0.010610840107926916_r8, 0.011506106178611622_r8, & + 0.012358707889675326_r8, 0.013078106863567538_r8, 0.013733660103926652_r8, & + 0.014342874804594567_r8, 0.015475262586077764_r8, 0.016415770426283456_r8, & + 0.016883954192690041_r8, 0.017219702961044279_r8, 0.017340251712377023_r8, & + 0.017354948432657776_r8, 0.017213026372633153_r8, 0.016978466648404134_r8, & + 0.016568476821747311_r8, 0.016056478311114852_r8, 0.015515241082855612_r8, & + 0.015090988837320251_r8, 0.014841239384826378_r8, 0.014674229049898969_r8, & + 0.014571542816565513_r8, 0.014505141755424691_r8, 0.014449378042935111_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,26,48) / & + 0.00017141616662346009_r8, 0.00017613014659584525_r8, & + 0.00017181253731182879_r8, 0.00018625175524526091_r8, & + 0.00018477952125989136_r8, 0.00018060347293600659_r8, & + 0.00020251710956439181_r8, 0.00025503622577324769_r8, & + 0.00036393907240255474_r8, 0.00063734991080089548_r8, & + 0.0010041060463100706_r8, 0.0015433966800277466_r8, 0.00239651380626136_r8, & + 0.0033889552294565791_r8, 0.0042522930570116999_r8, & + 0.0049961817464077019_r8, 0.006557684073236294_r8, & + 0.0077185547267961951_r8, 0.0088040724812779979_r8, & + 0.0097714009901458555_r8, 0.010717920037874359_r8, 0.011677080479342617_r8, & + 0.012433228347886025_r8, 0.013232226719061293_r8, 0.013957415205623904_r8, & + 0.014637219248368291_r8, 0.01521897817012547_r8, 0.016332595775193415_r8, & + 0.01716328964534217_r8, 0.017612476727936026_r8, 0.017896334765192083_r8, & + 0.018023045980605959_r8, 0.01803407357940022_r8, 0.017918306795716526_r8, & + 0.017709017763721833_r8, 0.017330719101425925_r8, 0.016914188362822446_r8, & + 0.016422809036061331_r8, 0.015952993235339719_r8, 0.015551525341256537_r8, & + 0.015303231714571848_r8, 0.015134840149534057_r8, 0.015066816720839239_r8, & + 0.014940768415178668_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,48) / & + 0.00019000857446273585_r8, 0.0001884314974536691_r8, & + 0.00018662077940622221_r8, 0.00022071776844483949_r8, & + 0.00022060094792564935_r8, 0.00021711093491484445_r8, & + 0.00021814771702265679_r8, 0.00023391848711332345_r8, & + 0.0002310563843931654_r8, 0.00031959173537438019_r8, & + 0.0004793876030615702_r8, 0.00064328679148531356_r8, & + 0.0011966801934538273_r8, 0.0019616209531107555_r8, & + 0.0029772439443847901_r8, 0.0040231672578237626_r8, & + 0.0063031241257276048_r8, 0.0084180428051456001_r8, & + 0.0099821965442768584_r8, 0.011070029218975288_r8, 0.012039055425657362_r8, & + 0.012917647947921379_r8, 0.013575274458137285_r8, 0.014280987214564819_r8, & + 0.014917060338990143_r8, 0.015554345476302066_r8, 0.016098583070079057_r8, & + 0.017191331333186528_r8, 0.017958537315723371_r8, 0.01842168686661752_r8, & + 0.018651136968871818_r8, 0.018744725850348358_r8, 0.018724430892739948_r8, & + 0.01859421669241661_r8, 0.018385352816788433_r8, 0.018096542349484331_r8, & + 0.017790690323879255_r8, 0.017402766616189346_r8, 0.01691719993779086_r8, & + 0.016382743872111312_r8, 0.015998878947335014_r8, 0.015743116483389625_r8, & + 0.015658245646069761_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,48) / & + 0.00019130331746681158_r8, 0.0001873002744801712_r8, & + 0.00018392929091247409_r8, 0.00025512626974629133_r8, & + 0.00025872298882075392_r8, 0.00024126610963089384_r8, & + 0.00022895599999528561_r8, 0.00024531429971888724_r8, & + 0.00026021284316540578_r8, 0.00031154509740386496_r8, & + 0.00036585706033162802_r8, 0.0004398682084831209_r8, & + 0.00074465628971780737_r8, 0.0011719585549909862_r8, & + 0.0017893602150282277_r8, 0.0026039493647419657_r8, & + 0.004931402831763845_r8, 0.0078629997600589436_r8, 0.010218278890548107_r8, & + 0.011895102430936878_r8, 0.013181523936891723_r8, 0.014008874667254598_r8, & + 0.014749904139830374_r8, 0.015402219558247335_r8, 0.015981426770539868_r8, & + 0.016537955088919361_r8, 0.017028252609613881_r8, 0.018076357616559565_r8, & + 0.01876726251985808_r8, 0.019164082967201033_r8, 0.019294460271391856_r8, & + 0.019296853067763565_r8, 0.019200501628959192_r8, 0.018999508883597218_r8, & + 0.018761174110761326_r8, 0.018491527404542341_r8, 0.018181224658623926_r8, & + 0.017979168806518189_r8, 0.017688209927386539_r8, 0.017593538605711088_r8, & + 0.017169132258256961_r8, 0.01696280436168569_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,48) / & + 0.00019902787452919012_r8, 0.00020172410100884655_r8, & + 0.00020632627910634261_r8, 0.00025112377677828326_r8, & + 0.00025600702881125995_r8, 0.00024167154015776446_r8, & + 0.00024083965992822021_r8, 0.00030729134935955312_r8, & + 0.0003405799833274752_r8, 0.00040445392600209714_r8, & + 0.00046849490159920325_r8, 0.00061478406843061735_r8, & + 0.0008564616127604641_r8, 0.0011871104595455474_r8, & + 0.0015968987123417778_r8, 0.0022556532065362367_r8, & + 0.0042514235900432597_r8, 0.0069771309331348634_r8, & + 0.0097235034659746908_r8, 0.012005810874041092_r8, 0.013852107764918024_r8, & + 0.015039774125621855_r8, 0.015927896924212714_r8, 0.016726432474117207_r8, & + 0.01740095170534051_r8, 0.018020117127151063_r8, 0.018442543899312474_r8, & + 0.019387109066378659_r8, 0.019994821374778274_r8, 0.0202726596115263_r8, & + 0.020300470441648618_r8, 0.020234610958131026_r8, 0.020083170643483472_r8, & + 0.019868694900679929_r8, 0.019604977494150709_r8, 0.019298452931379512_r8, & + 0.018900316743180288_r8, 0.018924791059531269_r8, 0.018931374047135196_r8, & + 0.018770491879982185_r8, 0.018550801291778309_r8, 0.018222374112688532_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,48) / & + 0.00024674983573688886_r8, 0.00025505560291733332_r8, & + 0.00027721494337955554_r8, 0.00029581922418488887_r8, & + 0.00034735961822399998_r8, 0.00036582042128533338_r8, & + 0.00038083775849066662_r8, 0.00047435336363555554_r8, & + 0.00056593999022222215_r8, 0.00068365550818844459_r8, & + 0.00078995657452088895_r8, 0.00096786897708088895_r8, & + 0.001196955108334222_r8, 0.0015158583073315553_r8, & + 0.0019442350250008886_r8, 0.0026140529018791113_r8, & + 0.0044909809229724445_r8, 0.0071913755427964448_r8, & + 0.0099555699327857766_r8, 0.012570228629584001_r8, 0.014601458993363556_r8, & + 0.016201634388252444_r8, 0.017243474113351108_r8, 0.018184066377100447_r8, & + 0.01890137538724267_r8, 0.019528038347119997_r8, 0.020022207581399117_r8, & + 0.020926292730286223_r8, 0.021500012402627555_r8, 0.021725208692821327_r8, & + 0.021701369467106442_r8, 0.021491844134951778_r8, 0.021322468658159777_r8, & + 0.021084897412545996_r8, 0.020752319702768824_r8, 0.020512013270321015_r8, & + 0.020117415312953402_r8, 0.020126520456136127_r8, 0.020090785103504032_r8, & + 0.019990734713411683_r8, 0.019777629440737375_r8, 0.019718026793133333_r8, & + 0.019744402785071995_r8, 0.019711044209591997_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,48) / & + 0.00047433063168826986_r8, 0.00047595308729194395_r8, & + 0.00050355122099484436_r8, 0.0004771822203250304_r8, & + 0.00053575450646170856_r8, 0.00061659868315791261_r8, & + 0.00069767229802029289_r8, 0.00089662796497588131_r8, & + 0.0010194757145227586_r8, 0.0011327362264115619_r8, & + 0.001244161232970956_r8, 0.0013863145653575111_r8, & + 0.0016315020227975895_r8, 0.0019777569924382551_r8, & + 0.0025353736784484607_r8, 0.0032292930236077293_r8, & + 0.0051075230172468664_r8, 0.0076976668636496558_r8, & + 0.010486110839390392_r8, 0.013209328822175339_r8, 0.01523705416951867_r8, & + 0.017017625446568974_r8, 0.018164472120200368_r8, 0.019202679822147364_r8, & + 0.019747644632137004_r8, 0.020263093860892121_r8, 0.020833001877233193_r8, & + 0.021851068185878009_r8, 0.022475648039530772_r8, 0.022685600350022372_r8, & + 0.022621734597623195_r8, 0.022244226872061255_r8, 0.022025703407218929_r8, & + 0.021792200907813395_r8, 0.02151692427372336_r8, 0.021310970742699397_r8, & + 0.021146414412229787_r8, 0.020992592510249129_r8, 0.02092820232775585_r8, & + 0.020842474395808185_r8, 0.020687964179328996_r8, 0.020535436964143193_r8, & + 0.020425783372405051_r8, 0.020371846205466285_r8, 0.020026117012113064_r8 & + / +data delta_sa_ref(:,32,48) / & + 0.00098783880947497641_r8, 0.00099351217391809065_r8, & + 0.0010187140331802337_r8, 0.0010921647425728397_r8, & + 0.0011523832132346206_r8, 0.0013550081818913713_r8, & + 0.0014056307542369055_r8, 0.0016449558252259688_r8, & + 0.0017861838795680659_r8, 0.0019008632819018801_r8, & + 0.0020263506960234664_r8, 0.0021989253515319702_r8, & + 0.0025747478673423139_r8, 0.0031492728179362771_r8, & + 0.0039530050590139273_r8, 0.0048937734620113117_r8, & + 0.0072294319470951381_r8, 0.0099125966305017143_r8, 0.01260308449946543_r8, & + 0.01481142056531105_r8, 0.016494810488529989_r8, 0.018037612083961246_r8, & + 0.019186342121871966_r8, 0.020227867457189939_r8, 0.020589245620797936_r8, & + 0.02104437739444659_r8, 0.021666713487528522_r8, 0.022640848680811523_r8, & + 0.023296820922728296_r8, 0.023524294217551325_r8, 0.023459462981734021_r8, & + 0.023121889379914048_r8, 0.022841217771618488_r8, 0.022505883212738977_r8, & + 0.022210767252241068_r8, 0.021983613820695243_r8, 0.021860533798607383_r8, & + 0.021751157392711492_r8, 0.021702841202943721_r8, 0.021664573349680361_r8, & + 0.021649485062196258_r8, 0.021536904612307433_r8, 0.021454800038024763_r8, & + 0.021421305122054236_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,48) / & + 0.0019025414901535605_r8, 0.0019370351210654022_r8, & + 0.0019718916609197034_r8, 0.0023002724097106958_r8, & + 0.0023907749874087507_r8, 0.0023521511071041578_r8, & + 0.0024677462459665378_r8, 0.0026287568467709627_r8, & + 0.0027594559101909331_r8, 0.0029224711508679902_r8, & + 0.0031502569970849187_r8, 0.0034882980362966119_r8, & + 0.0044604101234974811_r8, 0.005520069672722094_r8, & + 0.0067329804839337875_r8, 0.008081550114112393_r8, 0.010700542982193383_r8, & + 0.01320290382871925_r8, 0.015276565525931454_r8, 0.016958873132146883_r8, & + 0.018378227287483253_r8, 0.019551408210184768_r8, 0.02057202912602769_r8, & + 0.021451461181875752_r8, 0.021959792921991902_r8, 0.022506610291386939_r8, & + 0.023069447498384826_r8, 0.023917254632104291_r8, 0.024476635563459713_r8, & + 0.024629679448908242_r8, 0.024490426103273167_r8, 0.024179793329906246_r8, & + 0.023826700210271601_r8, 0.023429660545842966_r8, 0.023069948658352983_r8, & + 0.022864974231376352_r8, 0.022811436521674503_r8, 0.022792409724262715_r8, & + 0.022758002500241938_r8, 0.022698191650249007_r8, 0.022694268777394801_r8, & + 0.022599653231682205_r8, 0.022579984863104283_r8, 0.022688228750551966_r8, & + 0.022773735034932002_r8 & + / +data delta_sa_ref(:,34,48) / & + 0.0025921658026611355_r8, 0.0027285993139269001_r8, & + 0.0028189758784322111_r8, 0.0032417673038710386_r8, & + 0.0032777193777856657_r8, 0.0033343598492635912_r8, & + 0.0039639643389470149_r8, 0.0041148460455976031_r8, & + 0.0044081532758330601_r8, 0.0055667921786132796_r8, & + 0.006396526334185376_r8, 0.0072049338896986465_r8, & + 0.0086590073643660788_r8, 0.010174241911521407_r8, 0.011508191494253181_r8, & + 0.012749654898674988_r8, 0.01483638205272669_r8, 0.016606223939902669_r8, & + 0.018010499892071978_r8, 0.019319612761019539_r8, 0.02037777022644862_r8, & + 0.021271643732821071_r8, 0.022010912684652363_r8, 0.022703468759380584_r8, & + 0.023202844484282524_r8, 0.023687382001163482_r8, 0.024101167680276557_r8, & + 0.024806221887208827_r8, 0.025210629535207085_r8, 0.025298967397296125_r8, & + 0.025150833506945722_r8, 0.024867560238167701_r8, 0.024474764330018595_r8, & + 0.024078866048627343_r8, 0.023743774282782033_r8, 0.02353405385161338_r8, & + 0.023471970931076391_r8, 0.023490159702198869_r8, 0.023418539199923188_r8, & + 0.023408434327077357_r8, 0.023414355428008064_r8, 0.02338196158626096_r8, & + 0.023402619593229236_r8, 0.023433617620272337_r8, 0.0233114829472796_r8 & + / +data delta_sa_ref(:,35,48) / & + 0.0030554660031525925_r8, 0.0031687465146779921_r8, & + 0.0033699475515632598_r8, 0.003878757973627917_r8, & + 0.0041291886889335966_r8, 0.0045338511932545844_r8, & + 0.0057783670134908972_r8, 0.006128910948391901_r8, & + 0.0071297682578159013_r8, 0.0090847589820597201_r8, 0.01013916464173972_r8, & + 0.011247232241150616_r8, 0.01217331587103934_r8, 0.013539638228786833_r8, & + 0.014571182870749034_r8, 0.015681669925975243_r8, 0.017437731402831735_r8, & + 0.018629730265244115_r8, 0.019613883106489746_r8, 0.020637899038055772_r8, & + 0.021444061715716611_r8, 0.022250967268543274_r8, 0.022886141437851983_r8, & + 0.023535464312153875_r8, 0.02400899157152599_r8, 0.02455836706686591_r8, & + 0.024865833329306929_r8, 0.025512743563162011_r8, 0.025725714741436114_r8, & + 0.025732468771613493_r8, 0.025556893520265016_r8, 0.025280407651207443_r8, & + 0.024889530365559968_r8, 0.024594706611674993_r8, 0.024315964855645959_r8, & + 0.024083450121403768_r8, 0.023981949812049271_r8, 0.023892503942312213_r8, & + 0.023843716613761182_r8, 0.023789347498413712_r8, 0.023749836275832416_r8, & + 0.023644006844410637_r8, 0.023531518213795951_r8, 0.023333177359888588_r8, & + 0.023290772137120001_r8 & + / +data delta_sa_ref(:,36,48) / & + 0.0031307498016175414_r8, 0.003392669761586805_r8, & + 0.0037320661522003257_r8, 0.0049933799292828695_r8, & + 0.0056166269092452793_r8, 0.0062134207367029728_r8, & + 0.0076126121153490328_r8, 0.0082706706526242905_r8, & + 0.0088971855803312346_r8, 0.0097115330202093685_r8, & + 0.010119619158607023_r8, 0.010367452494822784_r8, 0.011183151936688025_r8, & + 0.012495218990529506_r8, 0.013574065701595294_r8, 0.014669456647503295_r8, & + 0.016841621079590315_r8, 0.018628392457296892_r8, 0.019674444973581985_r8, & + 0.020588778047871011_r8, 0.021474891655204872_r8, 0.022206979782839503_r8, & + 0.023118010992954411_r8, 0.023886892461434391_r8, 0.024666746892426546_r8, & + 0.02505129436366552_r8, 0.025211303100560016_r8, 0.025872681457766229_r8, & + 0.026185438820540367_r8, 0.026235970310450947_r8, 0.026151705539677036_r8, & + 0.025990209467591115_r8, 0.025700384000400148_r8, 0.025542884231384056_r8, & + 0.025393728722029874_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,48) / & + 0.0012689829391387129_r8, 0.0014274699523480494_r8, & + 0.0017057946554058802_r8, 0.0028146889320198585_r8, & + 0.003680590126783526_r8, 0.0047233019656148286_r8, & + 0.0073205084393615115_r8, 0.0081320025874827475_r8, & + 0.0090294839212776874_r8, 0.0096752546248056581_r8, & + 0.010080918075339092_r8, 0.010064672775140062_r8, 0.011205893673769811_r8, & + 0.012557027875710792_r8, 0.013833288547267014_r8, 0.014917014525606091_r8, & + 0.017172905410352803_r8, 0.019094037287741113_r8, 0.020255107912551557_r8, & + 0.021192265818003379_r8, 0.022135923273578845_r8, 0.022912233401465823_r8, & + 0.023892539310461244_r8, 0.02470968077056062_r8, 0.025557518125798404_r8, & + 0.025862578693730445_r8, 0.025824514496719204_r8, 0.026483510962473464_r8, & + 0.026831907993323273_r8, 0.026900029162228802_r8, 0.026819203073562493_r8, & + 0.026687435956402345_r8, 0.026452525483418667_r8, 0.026308634452958578_r8, & + 0.026207730546088534_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,48) / & + 0.00056027339836845977_r8, 0.00066605457723636723_r8, & + 0.0010799399375190841_r8, 0.001665907060905544_r8, 0.002616229186542239_r8, & + 0.0041658870778706831_r8, 0.0073556392081041777_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,48) / & + 0.00083854162695863848_r8, 0.00090768970964148147_r8, & + 0.0013192139683793774_r8, 0.0019125265268764241_r8, & + 0.0030758923178309484_r8, 0.0049392491940479996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,48) / & + 0.0027891801385883127_r8, 0.0026515940211766244_r8, & + 0.0029557127370778589_r8, 0.0045776742034237842_r8, & + 0.0071223900679576934_r8, 0.008219347279905578_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,48) / & + 0.0038435199743078181_r8, 0.0036016316916717035_r8, & + 0.0036920552840686086_r8, 0.0045731576665503067_r8, & + 0.0066438372405418647_r8, 0.0086356806847777707_r8, & + 0.010125274872182557_r8, 0.012733710999241638_r8, 0.013864767366033664_r8, & + 0.0093229558551176997_r8, 0.0069606095004970661_r8, & + 0.0043966350883493915_r8, 0.0035147257218623201_r8, & + 0.0032414064468118124_r8, 0.0038005222111497476_r8, & + 0.0034850535407416889_r8, 0.0034506015312815402_r8, & + 0.003015575076692859_r8, 0.0029524440971956151_r8, & + 0.0029608243157129475_r8, 0.0029354974330827849_r8, & + 0.0029256273979401479_r8, 0.0028846574407442958_r8, & + 0.0029978835042673781_r8, 0.0031770339534601486_r8, & + 0.0032813211172314075_r8, 0.0035356141924629335_r8, & + 0.0041364758601557337_r8, 0.0032112997358421332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,48) / & + 0.0037064400406870124_r8, 0.0035905565189181632_r8, & + 0.0036365007765374407_r8, 0.0038438466144945782_r8, & + 0.0044315751048191205_r8, 0.0052744263466362471_r8, & + 0.0068442879284066763_r8, 0.0093858407248913374_r8, 0.01368951349472395_r8, & + 0.010819702189720096_r8, 0.0080923692272220436_r8, & + 0.0043637668359209078_r8, 0.0027728510210670611_r8, & + 0.0028165790436249279_r8, 0.0033136123760516734_r8, & + 0.0031372085891442558_r8, 0.0031212687446640981_r8, & + 0.0028518683249874172_r8, 0.0028159397450495203_r8, & + 0.0028491406510656784_r8, 0.0028467113164791307_r8, & + 0.0028502061486913575_r8, 0.0028438557828423111_r8, & + 0.0029186963360700044_r8, 0.0030770292832459066_r8, & + 0.0032088952693999401_r8, 0.0034227726078024886_r8, & + 0.0041746646005245951_r8, 0.003657427149905777_r8, & + 0.0036450567224716444_r8, 0.003740983473711526_r8, & + 0.0037321291884421333_r8, 0.0036822159521671997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,48) / & + 0.003255344274516491_r8, 0.0034594940239085557_r8, & + 0.0032258291764840825_r8, 0.0041130802140675153_r8, & + 0.0042950388199166425_r8, 0.0044151165887319965_r8, & + 0.0048559133945622127_r8, 0.0057447871046972061_r8, & + 0.010178235507660326_r8, 0.007783653237723444_r8, 0.0056952298078523002_r8, & + 0.0034789222385123554_r8, 0.0023665582764113118_r8, & + 0.0025223348413609616_r8, 0.0026856984968895202_r8, & + 0.0026389041289837565_r8, 0.0026108801354581858_r8, & + 0.0025843911024543602_r8, 0.0025927676013015968_r8, & + 0.002664472185674535_r8, 0.0027147750347728591_r8, & + 0.0027683670849892078_r8, 0.0028315636024701888_r8, & + 0.0029531324757923819_r8, 0.0031093476008911005_r8, & + 0.0032611771244991212_r8, 0.0034488808683010631_r8, & + 0.0040598170839629688_r8, 0.004068401898881014_r8, & + 0.0039185004736426556_r8, 0.0038637949505335436_r8, & + 0.0038566446971888308_r8, 0.0037903672946606342_r8, & + 0.0039077337436686753_r8, 0.004074530776964267_r8, 0.004074530776964267_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,44,48) / & + 0.0026428945258809683_r8, 0.0032107847454463209_r8, & + 0.002739166212300853_r8, 0.0035370713604038324_r8, & + 0.0036695069309027558_r8, 0.0039474547880887847_r8, & + 0.0051889762598446099_r8, 0.006011862445079493_r8, & + 0.0049218054204826344_r8, 0.0033859225581183731_r8, & + 0.0025338166760216232_r8, 0.0026420377755100185_r8, & + 0.0024151792957074702_r8, 0.0025879723178906079_r8, & + 0.0025867999226461499_r8, 0.0025913993193744066_r8, & + 0.0025720998899656433_r8, 0.0025762483654460317_r8, & + 0.0026215659508567971_r8, 0.002746380952266746_r8, & + 0.0028328676476078881_r8, 0.0029235930026789933_r8, & + 0.0030330766816614196_r8, 0.003207898849459964_r8, & + 0.0033649998122172839_r8, 0.0035292253306909234_r8, & + 0.0037175751359255177_r8, 0.0040455349907992256_r8, & + 0.0043705806060652828_r8, 0.0044089275931572143_r8, & + 0.004333605707913293_r8, 0.0042851497106173638_r8, & + 0.0039584572665367712_r8, 0.0039879813352409485_r8, & + 0.0041296156991963854_r8, 0.0041546418284530767_r8, & + 0.0042332035828629338_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,48) / & + 0.0024490494691840003_r8, 0.0033346136748373324_r8, & + 0.0029120538464426668_r8, 0.0033676457061546663_r8, & + 0.0038444095691093326_r8, 0.0042703050303999996_r8, & + 0.0046554316451839998_r8, 0.0033291006149120004_r8, & + 0.0024818035310933328_r8, 0.0023284570743466668_r8, & + 0.0023392515530239999_r8, 0.002411152973226667_r8, & + 0.0023896566723413328_r8, 0.0024732328076800003_r8, & + 0.0025059868695893332_r8, 0.0025547705006933319_r8, & + 0.0025606541864959995_r8, 0.0025776103203839999_r8, & + 0.0026515501829119997_r8, 0.0027772386835626661_r8, & + 0.0028770760292693327_r8, 0.0030035057816746665_r8, & + 0.0031369774257493329_r8, 0.0032996358576640001_r8, & + 0.0034944460844373321_r8, 0.003655529356373333_r8, & + 0.0038708166628693324_r8, 0.0042004883807573341_r8, & + 0.0043347012765866675_r8, 0.0042848984243199989_r8, & + 0.0042329644732586671_r8, 0.0042425080895999992_r8, & + 0.0041806425232319994_r8, 0.0041851768991999997_r8, & + 0.0042347944385279987_r8, 0.0042566696381897123_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,49) / & + 0.0032861179311111104_r8, 0.0034032947502222219_r8, & + 0.0037848536915555549_r8, 0.0042254378657777779_r8, & + 0.0044332160044444433_r8, 0.0047063262728888888_r8, & + 0.0051189537537777779_r8, 0.0053226215928888886_r8, & + 0.0054618559102222212_r8, 0.0056268170417777784_r8, & + 0.0058049743982222218_r8, 0.0059610825768888877_r8, & + 0.0061955859831111099_r8, 0.0065748151999999995_r8, & + 0.006803594140444443_r8, 0.0071588105546666666_r8, & + 0.0080831869711111125_r8, 0.0076338621699999993_r8, & + 0.0077937395099999997_r8, 0.0081730893733333327_r8, & + 0.0083121239999999989_r8, 0.0085674784399999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,49) / & + 0.0032861179311111104_r8, 0.0034032947502222219_r8, & + 0.0037848536915555549_r8, 0.0042254378657777779_r8, & + 0.0044332160044444433_r8, 0.0047063262728888888_r8, & + 0.0051189537537777779_r8, 0.0053226215928888886_r8, & + 0.0054618559102222212_r8, 0.0056268170417777784_r8, & + 0.0058049743982222218_r8, 0.0059610825768888877_r8, & + 0.0061955859831111099_r8, 0.0065748151999999995_r8, & + 0.006803594140444443_r8, 0.0071588105546666666_r8, & + 0.0080831869711111125_r8, 0.0076338621699999993_r8, & + 0.0077937395099999997_r8, 0.0081730893733333327_r8, & + 0.0083121239999999989_r8, 0.0085674784399999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,49) / & + 0.0032861179311111104_r8, 0.0034032947502222219_r8, & + 0.0037848536915555549_r8, 0.0042254378657777779_r8, & + 0.0044332160044444433_r8, 0.0047063262728888888_r8, & + 0.0051189537537777779_r8, 0.0053226215928888886_r8, & + 0.0054618559102222212_r8, 0.0056268170417777784_r8, & + 0.0058049743982222218_r8, 0.0059610825768888877_r8, & + 0.0061955859831111099_r8, 0.0065748151999999995_r8, & + 0.006803594140444443_r8, 0.0071588105546666666_r8, & + 0.0080831869711111125_r8, 0.0076338621699999993_r8, & + 0.0077937395099999997_r8, 0.0081730893733333327_r8, & + 0.0083121239999999989_r8, 0.0085674784399999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,49) / & + 0.0035654491185185188_r8, 0.0036044904928395059_r8, & + 0.0038037004227160494_r8, 0.0040376990553086418_r8, & + 0.0042110324029629624_r8, 0.0043903194908641967_r8, & + 0.0047705730469135808_r8, 0.0050233851288888891_r8, & + 0.005194139138765431_r8, 0.0054030470088888873_r8, & + 0.0056125188202469133_r8, 0.0057985916928395059_r8, & + 0.0061323154745679016_r8, 0.0065269818893827153_r8, & + 0.0067843424809876547_r8, 0.0070261253516049381_r8, & + 0.0074244620069135797_r8, 0.0075284640956172835_r8, & + 0.0077386269661111114_r8, 0.0081620382052469149_r8, & + 0.0083280784522222207_r8, 0.0085010362242592587_r8, & + 0.0086237246444444433_r8, 0.0087959682450000007_r8, & + 0.0089391734944444436_r8, 0.0090694300522222229_r8, & + 0.0091982201316666672_r8, 0.0093951383073809496_r8, & + 0.0094983682786507935_r8, 0.0095933669530952389_r8, & + 0.0098349852307936508_r8, 0.0099838439250793665_r8, & + 0.010051921009100528_r8, 0.0099144197214814829_r8, 0.009578479003555556_r8, & + 0.0087534320528888879_r8, 0.0086514020085714273_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,49) / & + 0.0038505537698765432_r8, 0.0038502764217283945_r8, & + 0.0039024548533333333_r8, 0.0040033356197530859_r8, & + 0.0042789919441975303_r8, 0.0044301466849382713_r8, & + 0.0048704923397530856_r8, 0.0051974488266666678_r8, & + 0.0055039092854320985_r8, 0.0058874078148148153_r8, & + 0.0061919360814814816_r8, 0.0064376018261728387_r8, & + 0.0067767708765432092_r8, 0.0070785441516049378_r8, & + 0.0073423392202469125_r8, 0.0075149607076543208_r8, & + 0.0077263184864197528_r8, 0.0079621106370370374_r8, & + 0.0081532312459259241_r8, 0.0083510359451851833_r8, & + 0.008504899452839507_r8, 0.0086213117155555536_r8, & + 0.0087606699150617282_r8, 0.0089213839219753101_r8, & + 0.0090508500375308647_r8, 0.0091718662795061724_r8, & + 0.0092858471234567898_r8, 0.0094745825382716031_r8, 0.00959391620148148_r8, & + 0.0096995858459259249_r8, 0.0097965467585185186_r8, & + 0.0097875976582716042_r8, 0.009398663105185185_r8, 0.009068332215802468_r8, & + 0.0087382509397530856_r8, 0.0083488864970370381_r8, & + 0.0082822532082328041_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,49) / & + 0.0032687975392592591_r8, 0.0032660795274074075_r8, & + 0.0032551797451851852_r8, 0.0032856880414814812_r8, & + 0.0034633110404938272_r8, 0.0036138741051851856_r8, & + 0.0045224019239506171_r8, 0.0049907874765432103_r8, & + 0.0053968529002469123_r8, 0.0057983513244444437_r8, & + 0.0060956315595061712_r8, 0.0063744034281481487_r8, & + 0.0066806882330864197_r8, 0.0069000243935802459_r8, & + 0.0070642607219753087_r8, 0.0071915727669135806_r8, & + 0.0073941848340740744_r8, 0.0075914348370370354_r8, & + 0.0077721456454320978_r8, 0.0079485668024691369_r8, & + 0.0080966337338271594_r8, 0.0082528824355555547_r8, & + 0.0084238028543209865_r8, 0.0085877063649382711_r8, & + 0.0087321770153086405_r8, 0.0088681608123456785_r8, & + 0.0089959443491358041_r8, 0.0092668580202469129_r8, & + 0.0094735101254320997_r8, 0.0096218671167283953_r8, & + 0.0096992038318694882_r8, 0.0096333806968165788_r8, & + 0.0092032990696296283_r8, 0.008926856463185185_r8, & + 0.0086453647337037046_r8, 0.0083888176966666651_r8, & + 0.0079191702099999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,49) / & + 0.0017063197669135804_r8, 0.0016957065777777778_r8, & + 0.0017126340597530864_r8, 0.0015945299733333335_r8, & + 0.001521217612839506_r8, 0.0014359423022222225_r8, & + 0.0020548077150617282_r8, 0.0028109789511111113_r8, & + 0.0033898137812345686_r8, 0.0037466961333333334_r8, & + 0.0039868056701234571_r8, 0.0042168474691358024_r8, & + 0.0045552584345679012_r8, 0.0048464555002469129_r8, & + 0.0050945341738271605_r8, 0.0053011955239506163_r8, & + 0.0056530578745679003_r8, 0.0059429051792592585_r8, & + 0.0061740009012345668_r8, 0.0063678672567901232_r8, & + 0.006526122110123456_r8, 0.0067030055140740738_r8, 0.006870320406913581_r8, & + 0.0070601467244444443_r8, 0.0072333229081481473_r8, & + 0.0073895161402469135_r8, 0.0075552409037037034_r8, & + 0.0079707916340740724_r8, 0.0083859078523456799_r8, & + 0.0087401773537654319_r8, 0.0089216916463492058_r8, & + 0.0091111595574338618_r8, 0.0092758394777777784_r8, & + 0.0094062208422222224_r8, 0.0095257370929629614_r8, & + 0.009579286086666668_r8, 0.0095730596207407401_r8, & + 0.0095653077399999991_r8, 0.0095514542000000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,49) / & + 0.00049705410617283943_r8, 0.00053517098666666651_r8, & + 0.00056626171407407405_r8, 0.00048320518864197531_r8, & + 0.00043431795506172836_r8, 0.00038378512246913589_r8, & + 0.00052968873827160493_r8, 0.0008295205762962961_r8, & + 0.001165472388148148_r8, 0.0013390368592592593_r8, & + 0.0014544876483950616_r8, 0.0016354018454320985_r8, & + 0.0019492674997530861_r8, 0.0022466216943209873_r8, & + 0.0025530266834567898_r8, 0.0028588307516049386_r8, & + 0.0034682016128395063_r8, 0.0040303308395061724_r8, & + 0.0045165036533333335_r8, 0.0049348278651851849_r8, & + 0.0052832326088888886_r8, 0.0055729504844444439_r8, & + 0.0057975285249382722_r8, 0.0059954811432098758_r8, & + 0.0061632767728395073_r8, 0.0063076457288888882_r8, & + 0.0064509977417283957_r8, 0.0068201388819753095_r8, & + 0.007226379959506174_r8, 0.0076489475980246902_r8, & + 0.0080377434770370366_r8, 0.0084099724266666672_r8, & + 0.0087610212227160495_r8, 0.0090193155530864204_r8, & + 0.0092362480296296276_r8, 0.0093777418098765445_r8, & + 0.0094618060335802459_r8, 0.0095021955180070537_r8, & + 0.0095215996529100528_r8, 0.0095254944133333335_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,49) / & + 0.00018297581827160492_r8, 0.00024016500641975308_r8, & + 0.00021858732049382716_r8, 0.00017056911111111109_r8, & + 0.00017347202172839508_r8, 0.00018123776987654321_r8, & + 0.00023786301679012343_r8, 0.00035668820839506165_r8, & + 0.00049268125037037029_r8, 0.00056941423802469139_r8, & + 0.00061190397432098762_r8, 0.00069755832740740742_r8, & + 0.00083977321283950637_r8, 0.00093777880345679015_r8, & + 0.0010725330237037036_r8, 0.001224945076049383_r8, & + 0.0016267763180246914_r8, 0.00210481358617284_r8, 0.0026540091441975304_r8, & + 0.0031983141298765438_r8, 0.0037482123032098759_r8, & + 0.0042134175970370367_r8, 0.0046596060528395064_r8, & + 0.0050715512572839499_r8, 0.0054053582434567902_r8, & + 0.0056697080083950623_r8, 0.005891669731358024_r8, & + 0.0063012297417283942_r8, 0.0066107964997530865_r8, & + 0.0069467113318518511_r8, 0.0073331405066666671_r8, & + 0.0077437451950617287_r8, 0.0081407690691358021_r8, & + 0.0084833495017283943_r8, 0.008779714487901236_r8, & + 0.0090281444691358032_r8, 0.0092312095382716033_r8, & + 0.0093681178291358021_r8, 0.0094494270612345676_r8, & + 0.009500944479753087_r8, 0.0095275517422751307_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,49) / & + 0.00020500650617283949_r8, 0.00021831921728395059_r8, & + 0.00018453821283950615_r8, 0.00013389444098765431_r8, & + 0.00013829503160493829_r8, 0.0001421409259259259_r8, & + 0.0001623133812345679_r8, 0.00020218679999999998_r8, & + 0.00026044840098765431_r8, 0.00030634951950617281_r8, & + 0.00033476845975308645_r8, 0.00038804703901234569_r8, & + 0.00045770764888888892_r8, 0.0004903700158024691_r8, & + 0.00053490288345679001_r8, 0.00058541722617283943_r8, & + 0.00071617763308641968_r8, 0.00095012079604938271_r8, & + 0.001355067582222222_r8, 0.0017831914286419752_r8, 0.002297653753580247_r8, & + 0.0028061346034567902_r8, 0.0033257556039506166_r8, & + 0.003873481216790123_r8, 0.0043861037990123447_r8, & + 0.0048596480271604937_r8, 0.0052786008948148139_r8, & + 0.0060560724686419751_r8, 0.0064576725871604915_r8, & + 0.0067035602103703712_r8, 0.0069390657679012351_r8, & + 0.007258376690864197_r8, 0.0076639521328395067_r8, 0.008057046908148147_r8, & + 0.008430228086419753_r8, 0.0087785588706172819_r8, & + 0.0090599285669135804_r8, 0.0092627070429629633_r8, & + 0.0093854983130864204_r8, 0.0094610479486419742_r8, & + 0.0095072701636772488_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,49) / & + 0.00023391542814814816_r8, 0.00022896014123456785_r8, & + 0.00020814978518518521_r8, 0.00018013762222222223_r8, & + 0.00018225471308641974_r8, 0.00018962292888888887_r8, & + 0.0002030928039506173_r8, 0.00016545666024691356_r8, & + 0.00019906201086419749_r8, 0.00022595553629629626_r8, & + 0.00024151476740740741_r8, 0.00030334491456790122_r8, & + 0.00039189293333333333_r8, 0.00043821007407407399_r8, & + 0.00047913741580246909_r8, 0.00052071190320987645_r8, & + 0.00060584853975308639_r8, 0.00071083405876543211_r8, & + 0.00090770501925925931_r8, 0.0011963319920987652_r8, & + 0.0015988843392592592_r8, 0.0020728168548148147_r8, & + 0.0025909863999999993_r8, 0.0031562496607407406_r8, & + 0.0037522708311111103_r8, 0.0043641563155555549_r8, & + 0.0049097740824691361_r8, 0.0060427135328395051_r8, & + 0.006722290455308642_r8, 0.0070837952765432097_r8, & + 0.0072257882834567888_r8, 0.0073101206103703695_r8, & + 0.0075727138370370369_r8, 0.0078961664923456777_r8, & + 0.008263809952592592_r8, 0.0086503038419753087_r8, & + 0.0089662033827160488_r8, 0.0092061187758024684_r8, & + 0.0093542134419753072_r8, 0.0094405241856790108_r8, & + 0.0094874756942733684_r8, 0.0095072833377142854_r8, 0.00943613284_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,49) / & + 0.00026651308049382722_r8, 0.0002553914197530864_r8, & + 0.00024601705234567902_r8, 0.00021508348888888885_r8, & + 0.00021625759604938273_r8, 0.00021727453925925928_r8, & + 0.00023055027061728395_r8, 0.00019073232148148148_r8, & + 0.00020160436888888887_r8, 0.00023347167111111109_r8, & + 0.00025210022172839503_r8, 0.00031145272543209876_r8, & + 0.00040609315851851841_r8, 0.00045885402123456795_r8, & + 0.00050629904444444431_r8, 0.00055318937135802467_r8, & + 0.00063208567456790122_r8, 0.00073839321975308634_r8, & + 0.00091621960740740738_r8, 0.0011928558953086419_r8, & + 0.0015990877279012346_r8, 0.0021001541372839506_r8, & + 0.0026970258419753081_r8, 0.0033577800701234568_r8, & + 0.0040418130528395053_r8, 0.0047485423590123456_r8, & + 0.005368286040987655_r8, 0.0067006203199999996_r8, & + 0.0075877645965432101_r8, 0.0081296658982716024_r8, & + 0.0083470224863580241_r8, 0.0082042037083509701_r8, & + 0.0081080961365784816_r8, 0.008158282944338624_r8, & + 0.0084071352211463838_r8, 0.0087357363165432092_r8, & + 0.0090252891039153439_r8, 0.0092431193299999988_r8, & + 0.0093695965239947096_r8, 0.0094343129078659615_r8, & + 0.0094739514886904765_r8, 0.0095026298319999987_r8, & + 0.0094368816800000001_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,49) / & + 0.00022933918370370368_r8, 0.00022001104098765432_r8, & + 0.00023259340197530866_r8, 0.00019562289382716046_r8, & + 0.00019696340987654319_r8, 0.00018753357283950614_r8, & + 0.00019933935901234569_r8, 0.00020284319061728394_r8, & + 0.00021096024641975306_r8, 0.00022500330765432098_r8, & + 0.00024753322222222221_r8, 0.00028664855604938272_r8, & + 0.0003688083224691358_r8, 0.00043692502765432101_r8, & + 0.00048709730765432088_r8, 0.00053343293827160497_r8, & + 0.00061183925975308653_r8, 0.00072091104148148152_r8, & + 0.0009039053496296297_r8, 0.0011879491443209874_r8, & + 0.0016289338554938272_r8, 0.0021912202461111113_r8, & + 0.0028487826593209878_r8, 0.0035596502309876536_r8, & + 0.0042997086952469123_r8, 0.0050370503032716044_r8, & + 0.0057281267733333332_r8, 0.0071523950297530869_r8, & + 0.0080910659697530866_r8, 0.0086850948559259247_r8, & + 0.0090497914920987643_r8, 0.0090583765729012333_r8, & + 0.0087857283202469137_r8, 0.0084940544798941791_r8, & + 0.0084278055824162264_r8, 0.0085881567255026454_r8, & + 0.0088712758612786574_r8, 0.0091206778817372117_r8, & + 0.0092767631461640205_r8, 0.0093539732716860658_r8, & + 0.0093718678072222204_r8, 0.0093748527666666671_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,49) / & + 0.0001582178735802469_r8, 0.00015565702567901235_r8, & + 0.00017986951901234564_r8, 0.00015325334172839504_r8, & + 0.0001550468597530864_r8, 0.00014334276790123457_r8, & + 0.00015001761333333332_r8, 0.00015104380148148145_r8, & + 0.00016604833629629633_r8, 0.00018096042172839505_r8, & + 0.00019882164246913582_r8, 0.00021687700691358025_r8, & + 0.00026565330123456792_r8, 0.00032936017086419742_r8, & + 0.00038577278419753085_r8, 0.00043409607654320984_r8, & + 0.00051311256395061725_r8, 0.00060851108197530865_r8, & + 0.00077607558814814812_r8, 0.0010535439204938271_r8, & + 0.0014949712330864198_r8, 0.0020845856612345679_r8, & + 0.0027923411555555552_r8, 0.0035459145639506169_r8, & + 0.0043404338039506173_r8, 0.0050973816148148143_r8, & + 0.0058606806982716038_r8, 0.0074012387219753078_r8, & + 0.008395319199506172_r8, 0.0090066592325925929_r8, & + 0.0094272207195061734_r8, 0.009636775735308644_r8, & + 0.0095610874256790122_r8, 0.0091586275279012339_r8, & + 0.0087166547639506171_r8, 0.0085809020903703688_r8, & + 0.0087821274167901222_r8, 0.0090530653558641965_r8, & + 0.0092309703254938279_r8, 0.0093292960220987663_r8, & + 0.0093681008250529087_r8, 0.0093760003936825403_r8, & + 0.0093770909662222214_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,49) / & + 0.00011850161876543208_r8, 0.00011918574419753088_r8, & + 0.00013560475456790122_r8, 0.00011643075259259257_r8, & + 0.00011501627703703703_r8, 0.00010710260987654322_r8, & + 0.00011359255654320985_r8, 0.00012223657382716047_r8, & + 0.00012404858172839506_r8, 0.00013279429333333333_r8, & + 0.00014891746567901234_r8, 0.00016621474518518518_r8, & + 0.0001980728024691358_r8, 0.00025494766271604935_r8, & + 0.00030941883901234565_r8, 0.00036650633283950612_r8, & + 0.00046101733679012344_r8, 0.00056191659308641969_r8, & + 0.00073085859506172844_r8, 0.0010188106874074075_r8, & + 0.0014874273634567902_r8, 0.002114326627654321_r8, 0.002894571682962963_r8, & + 0.0037230660711111106_r8, 0.0045464757432098759_r8, & + 0.0053394048538271607_r8, 0.0061310026933333334_r8, & + 0.0076744081580246912_r8, 0.0086587629604938255_r8, & + 0.0092359614365432087_r8, 0.0096086896128395032_r8, & + 0.009857942393580248_r8, 0.0098874707264197531_r8, & + 0.0095034082558024691_r8, 0.0089264316582716042_r8, & + 0.0086273856399999987_r8, 0.0087532092498765427_r8, & + 0.0090105790864197528_r8, 0.0091884979234567905_r8, & + 0.0092793017071604918_r8, 0.0093278468780246919_r8, & + 0.0093452181170370369_r8, 0.0093570216580105819_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,49) / & + 0.00010245755646593579_r8, 0.00010338793155302716_r8, & + 0.00010457997463336295_r8, 0.00010581078334232755_r8, & + 0.00010464781448346334_r8, 0.00010405663864687408_r8, & + 0.00011023975641316871_r8, 0.00011156747919370533_r8, & + 0.00011033667048474072_r8, 0.00010978426027678025_r8, & + 0.00011518237406334152_r8, 0.00013826730591179584_r8, & + 0.00018664681044054643_r8, 0.00024167462027913742_r8, & + 0.00029982306322234729_r8, 0.00037580369533480809_r8, & + 0.00052203733792982371_r8, 0.00068337988428291687_r8, & + 0.00093824450970300568_r8, 0.0013495187552331716_r8, & + 0.0019783650914425147_r8, 0.0027874328351471796_r8, & + 0.0037249504893133961_r8, 0.0046349251643388436_r8, & + 0.0055117843011081328_r8, 0.0062757482359031827_r8, & + 0.0070456336204712793_r8, 0.0084205147882348494_r8, & + 0.0092488684321823476_r8, 0.0097715260201702292_r8, & + 0.010146505945896679_r8, 0.010417128799354376_r8, 0.01049275084940202_r8, & + 0.010184399347881335_r8, 0.0095260136026568409_r8, & + 0.0091204185217207967_r8, 0.0091540283217419697_r8, & + 0.0093816116360145359_r8, 0.0095636937936840385_r8, & + 0.0096667619088008777_r8, 0.0097311128523246988_r8, & + 0.0097539942646228516_r8, 0.0097793469857460937_r8, & + 0.0097896537972577777_r8, 0.0098941901605589331_r8 & + / +data delta_sa_ref(:,17,49) / & + 9.4109903305297115e-05_r8, 9.6086789133642791e-05_r8, & + 9.4332936578238701e-05_r8, 0.00010448095049707981_r8, & + 0.00010590025314307158_r8, 0.00010715734977237859_r8, & + 0.00011501420370554731_r8, 0.00011605840493795554_r8, & + 0.00011383821008458271_r8, 0.00011222628779377775_r8, & + 0.00011168898036350945_r8, 0.00013163018253969382_r8, & + 0.00017864965162619261_r8, 0.00024304544025004774_r8, & + 0.00033125509969843616_r8, 0.0004432684920953151_r8, & + 0.00071123283165856136_r8, 0.001023459138024665_r8, & + 0.0014773014348326186_r8, 0.002181893957683147_r8, & + 0.0031137573856611293_r8, 0.0041240170090780697_r8, & + 0.0051343374597512701_r8, 0.0060143557896463794_r8, & + 0.0068472938231987331_r8, 0.0074927419772155765_r8, & + 0.0081152683934996549_r8, 0.0091310835729880493_r8, & + 0.0097652381330932143_r8, 0.010242833473469444_r8, 0.010636112098797721_r8, & + 0.010913818937238097_r8, 0.01102682584148717_r8, 0.010838312036471334_r8, & + 0.010247354966184532_r8, 0.0097482977422256988_r8, & + 0.0096624806215234119_r8, 0.0098109599540462354_r8, & + 0.0099558808920780385_r8, 0.010056489173926767_r8, 0.010129167607277587_r8, & + 0.010172119977735919_r8, 0.010208839364762934_r8, 0.010228604964443376_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,18,49) / & + 0.00011055348277708641_r8, 0.00011268093610769384_r8, & + 0.0001151047510962963_r8, 0.00011076516967565435_r8, & + 0.00011246924920912592_r8, 0.00011401456356867161_r8, & + 0.00012091555646198519_r8, 0.00011493540157744199_r8, & + 0.00011355943673675062_r8, 0.00011307255687004445_r8, & + 0.00011562338399778764_r8, 0.00013885602111561482_r8, & + 0.00016667167958743707_r8, 0.00024674224897074565_r8, & + 0.00042827434883764933_r8, 0.00064977293515417281_r8, & + 0.0011288309709582616_r8, 0.0017002903379872392_r8, & + 0.0025044888656466967_r8, 0.0035327156380605628_r8, & + 0.004577136458214873_r8, 0.0055347550656114162_r8, & + 0.0064020680420788945_r8, 0.0071512385604556236_r8, & + 0.0077842988149678617_r8, 0.0082735495749379946_r8, & + 0.008720748732507614_r8, 0.0095391752658370646_r8, 0.010134776200604597_r8, & + 0.010601207112909112_r8, 0.010971204058571018_r8, 0.011220023485233956_r8, & + 0.011342354697830121_r8, 0.011327654365767692_r8, 0.011089910133029198_r8, & + 0.010664406236476557_r8, 0.010300189666188671_r8, 0.010222627586553391_r8, & + 0.010292178640120993_r8, 0.010361582495691623_r8, 0.010409868352857427_r8, & + 0.010441559431423547_r8, 0.010385969166617732_r8, 0.010491170939990401_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,19,49) / & + 0.00013186234833245764_r8, 0.00013175204019431772_r8, & + 0.00013177410182194568_r8, 0.00012845382686393415_r8, & + 0.00013050555823333664_r8, 0.00013180719426338766_r8, & + 0.0001458383894347852_r8, 0.00013276687506520493_r8, & + 0.00013680415292112593_r8, 0.00014094070810137285_r8, & + 0.00014776878185223375_r8, 0.00016654322696364775_r8, & + 0.00028881979809174655_r8, 0.00055717743655853819_r8, & + 0.00094559445257681653_r8, 0.0013805284104486983_r8, & + 0.002118875933088237_r8, 0.0029497940452547951_r8, & + 0.0038581925936508315_r8, 0.0047333883924667516_r8, & + 0.005571145609197985_r8, 0.006335382451858964_r8, 0.0070503005259575837_r8, & + 0.0077204886500404687_r8, 0.0082668669198751078_r8, & + 0.0087269621640567053_r8, 0.0091654039207214356_r8, & + 0.010080895282399869_r8, 0.010784032447345146_r8, 0.011309010938380644_r8, & + 0.011682073061569844_r8, 0.011911491927273246_r8, 0.012036395210940798_r8, & + 0.01207299269347217_r8, 0.01197538791629079_r8, 0.011689260424684931_r8, & + 0.011229272336980387_r8, 0.010928126392366776_r8, 0.010861607433407318_r8, & + 0.010866556486816491_r8, 0.01088871664324929_r8, 0.0108494656590592_r8, & + 0.010866622908073957_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,49) / & + 0.00014579592213287242_r8, 0.00014282330591367898_r8, & + 0.00014266262395588479_r8, 0.00015049013075700411_r8, & + 0.00015121319956707814_r8, 0.00015214285946574485_r8, & + 0.00016925548797083127_r8, 0.00016599593968414815_r8, & + 0.00017776015445122631_r8, 0.00019571062459338275_r8, & + 0.00021946859978153087_r8, 0.00033051130990004938_r8, & + 0.00067973059060042786_r8, 0.0011903089887743208_r8, & + 0.0016913153331767571_r8, 0.0021981865690386829_r8, & + 0.003005085451950551_r8, 0.0038688887024869792_r8, & + 0.0047040905645360336_r8, 0.0054900434065211527_r8, & + 0.0063053666149345189_r8, 0.0070665744354193255_r8, & + 0.007758115149917629_r8, 0.0084193787926544195_r8, & + 0.0089833150780986998_r8, 0.0095039590532001329_r8, & + 0.0099782118516298264_r8, 0.011017766732145051_r8, 0.011816195380424624_r8, & + 0.012372935409616261_r8, 0.012695906144782687_r8, 0.012848760595775801_r8, & + 0.012892110292532146_r8, 0.012873517094558817_r8, 0.012791810319020444_r8, & + 0.012660213230247299_r8, 0.01229711508643274_r8, 0.011826920327243256_r8, & + 0.011556347650591174_r8, 0.011447504889624394_r8, 0.011403537571592778_r8, & + 0.011353781399099554_r8, 0.011391122738362666_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,49) / & + 0.00016122104518328888_r8, 0.00016033868756598518_r8, & + 0.00016255650536082963_r8, 0.00017700809228207406_r8, & + 0.00017873703626192596_r8, 0.00018072830277665185_r8, & + 0.00019345094571804444_r8, 0.00020155909679597038_r8, & + 0.00022947259925688889_r8, 0.00027494978780278516_r8, & + 0.00035431427835377769_r8, 0.0006473881685660443_r8, & + 0.0011168739634811258_r8, 0.0018322275160827259_r8, 0.00223457066582163_r8, & + 0.0026716119326734224_r8, 0.0034657934070046813_r8, & + 0.0042920140018453332_r8, 0.0051582507070058667_r8, & + 0.0060137798832429045_r8, 0.0069090509235133629_r8, & + 0.0076975566920900748_r8, 0.008441753799776238_r8, & + 0.0091385420711597044_r8, 0.0097713594152886545_r8, & + 0.010365949211835496_r8, 0.010898511652636209_r8, 0.012014717886028562_r8, & + 0.012804106012222578_r8, 0.013331898952389214_r8, 0.013629170003159467_r8, & + 0.013747572856400355_r8, 0.013746320862483912_r8, 0.013685247406864592_r8, & + 0.013592492543283437_r8, 0.013504185239043556_r8, 0.013356001325749718_r8, & + 0.01305555557611991_r8, 0.012744900114195289_r8, 0.012450492254274427_r8, & + 0.012234218502787867_r8, 0.012175206711725556_r8, 0.01210820799794184_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,49) / & + 0.00017046163808737445_r8, 0.00017312123548859259_r8, & + 0.00017552105825992424_r8, 0.00023922769368445106_r8, & + 0.00024495510576242306_r8, 0.00024671167706927406_r8, & + 0.00027668472126997861_r8, 0.00031508188561128563_r8, & + 0.00041307877218081977_r8, 0.00056244918436551105_r8, & + 0.00080635282138791773_r8, 0.0011214594474401448_r8, & + 0.0016352070738121878_r8, 0.0023187359761457113_r8, & + 0.0026496517439595982_r8, 0.0029953746656770108_r8, & + 0.0038372423900365424_r8, 0.0047290239539956799_r8, & + 0.0057133966181786202_r8, 0.0065888494911163263_r8, & + 0.0075253122914159263_r8, 0.0083993796996609058_r8, & + 0.0091695248857308446_r8, 0.0098767798709273255_r8, & + 0.010579989794029864_r8, 0.011247301337326194_r8, 0.011860084948787316_r8, & + 0.013089066352559499_r8, 0.013859929011416743_r8, 0.014341093477068745_r8, & + 0.014625806471424261_r8, 0.014720141772734441_r8, 0.014716133821301913_r8, & + 0.014642370196634641_r8, 0.014543358951986499_r8, 0.014408597770177806_r8, & + 0.014156195791691969_r8, 0.013678272323803312_r8, 0.013282576803939055_r8, & + 0.013001588129532424_r8, 0.012790549296642561_r8, 0.012746490105674342_r8, & + 0.012750890425037435_r8, 0.012776347179058133_r8, 0.012776347179058133_r8 & + / +data delta_sa_ref(:,23,49) / & + 0.00017094900263537775_r8, 0.0001753451270846156_r8, & + 0.00017789564826653498_r8, 0.00026868907566712097_r8, & + 0.00027582797163862386_r8, 0.00028073676366211685_r8, & + 0.00035065180410116207_r8, 0.0004610675829063637_r8, & + 0.00067596501334476382_r8, 0.00095718881120242293_r8, & + 0.0014021458155878187_r8, 0.0018710443956909298_r8, & + 0.0023123742769884702_r8, 0.0027685843346287663_r8, & + 0.0031137121456173296_r8, 0.0034426012111913608_r8, & + 0.0042269441497336611_r8, 0.0051145511544203057_r8, & + 0.0061785798880975001_r8, 0.0071768846387551856_r8, & + 0.0081502481119253567_r8, 0.0090737033967417946_r8, & + 0.0098695685390154785_r8, 0.010619152616023281_r8, 0.011353407932560853_r8, & + 0.012030923765317739_r8, 0.012668656594312428_r8, 0.013922513314046942_r8, & + 0.014769837464086491_r8, 0.01529882068389231_r8, 0.015571649550221533_r8, & + 0.01560670319561123_r8, 0.015538492774856586_r8, 0.015415478190414063_r8, & + 0.015238377176887623_r8, 0.015026504485137327_r8, 0.014723825549297093_r8, & + 0.014215554099491184_r8, 0.013799562813051208_r8, 0.01356649131710546_r8, & + 0.013452397148454979_r8, 0.013401288082082439_r8, 0.013359703486648692_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,49) / & + 0.00016792484650164936_r8, 0.00017399937297647405_r8, & + 0.00018134716264252838_r8, 0.00027174884921983208_r8, & + 0.00027303537556930366_r8, 0.00027434842823525926_r8, & + 0.00037554632562153086_r8, 0.00057453348872588638_r8, & + 0.00084794023272596539_r8, 0.0012489916116468147_r8, & + 0.001876113522802133_r8, 0.0025770979622070124_r8, & + 0.0031364318715875945_r8, 0.0035724449356342911_r8, & + 0.0038232379948318022_r8, 0.0041217916868586668_r8, & + 0.004960792550929541_r8, 0.005903524575610903_r8, 0.0069628662875557117_r8, & + 0.0080347416840391879_r8, 0.008971571603302874_r8, & + 0.0098964646801487782_r8, 0.010760387018556326_r8, 0.011553683039325349_r8, & + 0.012272294216033817_r8, 0.012939391286130447_r8, 0.013565558249892343_r8, & + 0.014731045017247682_r8, 0.015628218093367858_r8, 0.016165256633743685_r8, & + 0.016455348430812169_r8, 0.016531452432804621_r8, 0.01646861158905414_r8, & + 0.016314692637656017_r8, 0.016069470104920137_r8, 0.015755013886161143_r8, & + 0.015355235770431522_r8, 0.014825346072348129_r8, 0.014410036798317155_r8, & + 0.014213477740539524_r8, 0.014080236763366978_r8, 0.013948853575716749_r8, & + 0.013889546078769301_r8, 0.013982757523972799_r8, 0.013990814892604798_r8 & + / +data delta_sa_ref(:,25,49) / & + 0.00016407681746278188_r8, 0.00017105501767071605_r8, & + 0.00017705983435259258_r8, 0.00025484825867443626_r8, & + 0.00025094101494307821_r8, 0.00024011040951229626_r8, & + 0.00032682380109418931_r8, 0.00053826738028273243_r8, & + 0.00097709883500918531_r8, 0.0015700813371580574_r8, & + 0.002246665145530864_r8, 0.0029919341858128065_r8, & + 0.0035973101908850038_r8, 0.004032069886354568_r8, & + 0.0043890959960107981_r8, 0.0047968888549204287_r8, & + 0.0058263173366755556_r8, 0.0069134222197563778_r8, & + 0.0079970996960553077_r8, 0.0090563603264400324_r8, & + 0.0099648287680485937_r8, 0.010868197228365696_r8, 0.011706211896165662_r8, & + 0.012532258059483258_r8, 0.01324828446510209_r8, 0.013903357868511738_r8, & + 0.014511366121992428_r8, 0.015647935339749529_r8, 0.016491214504366487_r8, & + 0.016949650725885362_r8, 0.017219373929993214_r8, 0.017344570244922208_r8, & + 0.017356785522692875_r8, 0.017216308114626815_r8, 0.016973824225918057_r8, & + 0.016598471772199044_r8, 0.01611967455106279_r8, 0.015563120976339577_r8, & + 0.015114062874220263_r8, 0.014892205658117434_r8, 0.014739257189808874_r8, & + 0.01462159495150489_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,49) / & + 0.0001701845862703144_r8, 0.00017519584425897613_r8, & + 0.00017818278051775474_r8, 0.00020994905997130537_r8, & + 0.00020618353843180251_r8, 0.00019567971519003126_r8, & + 0.00020447065081420906_r8, 0.00028759524660353574_r8, & + 0.00045763827191371855_r8, 0.0007457148257817021_r8, & + 0.0011731298327073054_r8, 0.0017763210838284249_r8, & + 0.002663228811245472_r8, 0.0037555839601016348_r8, & + 0.0046276419428008695_r8, 0.0053767825438177574_r8, & + 0.0067803594635234372_r8, 0.0080259543517221549_r8, & + 0.0090923613765861791_r8, 0.010101138934580596_r8, 0.011003292777403825_r8, & + 0.011916460062925299_r8, 0.012682587979157993_r8, 0.013478556945786441_r8, & + 0.014192604584786687_r8, 0.014853552707641536_r8, 0.015439473521626591_r8, & + 0.016590732185993544_r8, 0.017332407215875492_r8, 0.017754027070995704_r8, & + 0.0180105107575863_r8, 0.018139042800849867_r8, 0.018176933361341116_r8, & + 0.018082390862967448_r8, 0.017886338539107358_r8, 0.017540504102355931_r8, & + 0.017099031333726967_r8, 0.016574389478721203_r8, 0.016067299666047193_r8, & + 0.015691695111052534_r8, 0.015398083928103285_r8, 0.015233325019532418_r8, & + 0.015159127611791395_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,49) / & + 0.00018577383064209382_r8, 0.00018578843320699257_r8, & + 0.00018556939473351111_r8, 0.00021467230657675059_r8, & + 0.00021505197326411851_r8, 0.00020861224214376297_r8, & + 0.00020318008800142222_r8, 0.00021959337094763456_r8, & + 0.00024687096217852842_r8, 0.00032931704359695805_r8, & + 0.00047064066668720981_r8, 0.00067139672891543701_r8, & + 0.001350781060830499_r8, 0.0021923122733814517_r8, & + 0.0032504871387704893_r8, 0.0043646190328515948_r8, & + 0.0067217942639401073_r8, 0.0086413744327073199_r8, & + 0.0099417620420721772_r8, 0.010978544149884521_r8, 0.011862393595512097_r8, & + 0.012697046999995732_r8, 0.013429409437363517_r8, 0.014173877401032377_r8, & + 0.014862957836040219_r8, 0.01550909212768079_r8, 0.016095735569923792_r8, & + 0.017254989389542084_r8, 0.01799075422453128_r8, 0.018489367929602686_r8, & + 0.018765119114509753_r8, 0.018902105775825066_r8, 0.018909722838740387_r8, & + 0.018797349843602287_r8, 0.01859644358356367_r8, 0.018342648919542428_r8, & + 0.018077823060780516_r8, 0.017729750274219514_r8, 0.017292122512583243_r8, & + 0.016775740510847053_r8, 0.016328934880715851_r8, 0.016041351446079388_r8, & + 0.016083228473087997_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,49) / & + 0.0001974884703521844_r8, 0.0001949752817101959_r8, & + 0.00019216111239252017_r8, 0.00023849708741457122_r8, & + 0.00023842184224564942_r8, 0.00023154443380619591_r8, & + 0.00021324480872441154_r8, 0.00025909921466536301_r8, & + 0.00028916718416651857_r8, 0.00033083795871541739_r8, & + 0.00039092875061637528_r8, 0.00051491773996573511_r8, & + 0.000901918692764392_r8, 0.0013825848318369186_r8, 0.002109618702993238_r8, & + 0.00297731589293199_r8, 0.0055319646229963857_r8, 0.0082659526886690246_r8, & + 0.010293208029760449_r8, 0.011752979355877363_r8, 0.012810881283816663_r8, & + 0.013625199550922285_r8, 0.014350523475614857_r8, 0.015025867677980339_r8, & + 0.015643037959123147_r8, 0.016230223040450614_r8, 0.016777588378384653_r8, & + 0.017916222729189392_r8, 0.018668380962248706_r8, 0.019187578271196867_r8, & + 0.019424199872776063_r8, 0.019499456328473212_r8, 0.019429360078967627_r8, & + 0.019217043473148412_r8, 0.018968580163110142_r8, 0.018730494774262668_r8, & + 0.018488469225891164_r8, 0.018271402607544115_r8, 0.017979898899642927_r8, & + 0.017735429280691734_r8, 0.017066010635378846_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,49) / & + 0.00022135311674119452_r8, 0.00022599820473907131_r8, & + 0.00022864388964657776_r8, 0.00024027132746254814_r8, & + 0.00025233651322894489_r8, 0.00025534845156041809_r8, & + 0.00025463759537543374_r8, 0.00032362357326209056_r8, & + 0.00035590070532361487_r8, 0.00041991068991538102_r8, & + 0.00050551172053990112_r8, 0.00066033890934246255_r8, & + 0.00094520048267565096_r8, 0.0013100650595884319_r8, & + 0.0017640146648778309_r8, 0.0024597295301104047_r8, & + 0.0046058035224619803_r8, 0.0072612152409859106_r8, & + 0.0099464320054846959_r8, 0.012194961984784636_r8, 0.013798035101529584_r8, & + 0.014968123751392181_r8, 0.015804926551961754_r8, 0.0165304531040989_r8, & + 0.017147137308544419_r8, 0.017781372106701505_r8, 0.018278169543927383_r8, & + 0.019309951147771433_r8, 0.020015878102674321_r8, 0.020325336296147425_r8, & + 0.020419799924182944_r8, 0.020407609390868161_r8, 0.020264892435471905_r8, & + 0.020047826508714919_r8, 0.019772424386350924_r8, 0.019474328823621382_r8, & + 0.019176915616420119_r8, 0.019196310617678056_r8, 0.019192276086852523_r8, & + 0.018862528192865543_r8, 0.018613976456163733_r8, 0.018368911207562663_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,49) / & + 0.00028746563108977775_r8, 0.00030476267022755551_r8, & + 0.00032213941922311113_r8, 0.00029616994755911108_r8, & + 0.00037326532200177774_r8, 0.00040734925718755553_r8, & + 0.00038232036184533339_r8, 0.00050736918672711112_r8, & + 0.00059535292774222208_r8, 0.00070758440749333349_r8, & + 0.00082722890401777779_r8, 0.0010065282581031112_r8, & + 0.0012736200495448889_r8, 0.0016060420404213336_r8, & + 0.0020561954912355555_r8, 0.002720816285386667_r8, & + 0.0046936352653866665_r8, 0.0072988244310808886_r8, & + 0.010122259187370666_r8, 0.012698720920321777_r8, 0.014651405190247111_r8, & + 0.016230393704938662_r8, 0.017221824915978668_r8, 0.018020948124143999_r8, & + 0.018579730169137776_r8, 0.019192141006444442_r8, 0.019721255042373334_r8, & + 0.02071687899193244_r8, 0.021403260577256885_r8, 0.021679965377546666_r8, & + 0.021674321919616005_r8, 0.021555235392096_r8, 0.021352883947141334_r8, & + 0.021108445697280001_r8, 0.020801738106522669_r8, 0.020504372511096887_r8, & + 0.020155402753745777_r8, 0.020119915925063112_r8, 0.020074401596271999_r8, & + 0.020007126476307559_r8, 0.019763849143589144_r8, 0.01956696112615779_r8, & + 0.01955727193746_r8, 0.019580120768192003_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,49) / & + 0.00045287816315080155_r8, 0.00048088600786473076_r8, & + 0.00052116879446908299_r8, 0.00060581508934763454_r8, & + 0.00065268602900932986_r8, 0.00070483404649307642_r8, & + 0.00072610624218569177_r8, 0.00091668741607585163_r8, & + 0.0010325045246734749_r8, 0.0011397177020394929_r8, & + 0.0012640404112260742_r8, 0.0014082095217868901_r8, & + 0.0016369265965836112_r8, 0.0019815099452992787_r8, & + 0.0025686913778653233_r8, 0.0032681991812150255_r8, & + 0.0052028709637334906_r8, 0.0079028829148537656_r8, & + 0.010673102944823935_r8, 0.013342534066081022_r8, 0.015383239058253747_r8, & + 0.017124379747602645_r8, 0.018303773863950167_r8, 0.019233113156046585_r8, & + 0.01974687437543627_r8, 0.0203039830197928_r8, 0.020861976639933149_r8, & + 0.021904674774561025_r8, 0.02260678833994087_r8, 0.022865397930102255_r8, & + 0.022724948995521573_r8, 0.022401785338462495_r8, 0.022130556649161422_r8, & + 0.021877830509118415_r8, 0.021648621781108462_r8, 0.021356514218685362_r8, & + 0.021147594379941553_r8, 0.020968616221883729_r8, 0.020869046203428453_r8, & + 0.020739290726235631_r8, 0.020516506266878603_r8, 0.020312660699006387_r8, & + 0.02020737726050232_r8, 0.020128429811666602_r8, 0.019888016541047607_r8 & + / +data delta_sa_ref(:,32,49) / & + 0.00079615653188061237_r8, 0.00084516295293077866_r8, & + 0.00092071802598922797_r8, 0.0012097229144015275_r8, & + 0.0012748740134960464_r8, 0.0013476176566969286_r8, & + 0.0014620445353908408_r8, 0.0016294508737360331_r8, & + 0.001753052778013024_r8, 0.0018416380708903772_r8, & + 0.0019416879370192464_r8, 0.0020701214602730144_r8, & + 0.0023582677683096497_r8, 0.002963129225510413_r8, & + 0.0038486622910067353_r8, 0.0048701035794979034_r8, & + 0.007281990534013248_r8, 0.0099838756365911718_r8, 0.012569515690267893_r8, & + 0.014791252343937605_r8, 0.016512689162234997_r8, 0.018021669424828815_r8, & + 0.019168412943438972_r8, 0.020164702877395978_r8, 0.020649834459464906_r8, & + 0.021288635093868392_r8, 0.02189804197658738_r8, 0.022876251217927458_r8, & + 0.023523469306994317_r8, 0.023795790800263811_r8, 0.023598216304405083_r8, & + 0.023231535144359165_r8, 0.022871200745129428_r8, 0.022530714703995931_r8, & + 0.022236053286049846_r8, 0.021997519455799138_r8, 0.021873614523154266_r8, & + 0.021808278240057148_r8, 0.021788076348865058_r8, 0.021742451640225896_r8, & + 0.021669931059573603_r8, 0.021579220058770363_r8, 0.021398523762005222_r8, & + 0.020734438296286479_r8, 0.020460210249535732_r8 & + / +data delta_sa_ref(:,33,49) / & + 0.0015726745428363057_r8, 0.0016352849760996346_r8, & + 0.0017224176850462814_r8, 0.0022606116467133626_r8, & + 0.0024091278110702614_r8, 0.0022776338042525229_r8, & + 0.0024214494337356637_r8, 0.002538893680066765_r8, & + 0.0026661191864660542_r8, 0.0028632305863560692_r8, & + 0.0031062586081562859_r8, 0.0033793907908024096_r8, & + 0.004227405301060424_r8, 0.0053648656149970159_r8, & + 0.0067018912845297788_r8, 0.0081171324718516142_r8, & + 0.010726274954351567_r8, 0.013109428853968671_r8, 0.015104633094096827_r8, & + 0.016837108541262694_r8, 0.018251606629321397_r8, 0.019421884280483238_r8, & + 0.020370217191263917_r8, 0.021268036633529917_r8, 0.021861047126886558_r8, & + 0.022519156571969103_r8, 0.023101193390160906_r8, 0.023987088681460381_r8, & + 0.02454921735195156_r8, 0.024731501329335388_r8, 0.024591435758924324_r8, & + 0.024228423128195793_r8, 0.023808848546578252_r8, 0.023393144993680271_r8, & + 0.023029717609874645_r8, 0.022819852552863912_r8, 0.022757397652004501_r8, & + 0.022790076738204046_r8, 0.022783527095861567_r8, 0.022755047384567625_r8, & + 0.022769771118804544_r8, 0.022780727512591165_r8, 0.022770613277396351_r8, & + 0.02278930033701974_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,49) / & + 0.0024851250618837598_r8, 0.0026759653358931095_r8, & + 0.0027352472565886285_r8, 0.0030440131694934917_r8, & + 0.0032385940192405068_r8, 0.0033282082863206053_r8, & + 0.0038390184726007181_r8, 0.0039555790672696888_r8, & + 0.004240607392910406_r8, 0.0054244375664168031_r8, & + 0.0062722363981817008_r8, 0.0069639947197905122_r8, & + 0.0083432389518575279_r8, 0.0098674260617973193_r8, & + 0.011239685522107745_r8, 0.012507332956693215_r8, 0.01456447233393845_r8, & + 0.016318766899209532_r8, 0.017714905769560887_r8, 0.01907459618627887_r8, & + 0.02014560634085396_r8, 0.021069439908821937_r8, 0.021780822957168169_r8, & + 0.022465702874102978_r8, 0.022954743264146819_r8, 0.023492180676768035_r8, & + 0.023959344903493017_r8, 0.024679627331082414_r8, 0.025070047707720401_r8, & + 0.025176556613084839_r8, 0.025063807505541925_r8, 0.024780073312739362_r8, & + 0.024379991259432993_r8, 0.024005455033794764_r8, 0.023695270893122067_r8, & + 0.023507125251871607_r8, 0.023442879533988659_r8, 0.023469985412201411_r8, & + 0.023412458548368591_r8, 0.023408132953676691_r8, 0.023424832585642954_r8, & + 0.023405610534289616_r8, 0.023424789532300008_r8, 0.023449648801603971_r8, & + 0.023247403427963199_r8 & + / +data delta_sa_ref(:,35,49) / & + 0.0031378683518219585_r8, 0.0033407118925142384_r8, & + 0.0035037718555185511_r8, 0.003587555452202666_r8, & + 0.0038276745149771851_r8, 0.0042993525376979758_r8, & + 0.0054211621917819256_r8, 0.0058869880847560157_r8, & + 0.0070345325702726577_r8, 0.0091262691197661235_r8, 0.01022586975971819_r8, & + 0.011333975979550553_r8, 0.012134681818837334_r8, 0.013419351518449779_r8, & + 0.014438530810174682_r8, 0.015510233875092016_r8, 0.017241119380732313_r8, & + 0.018512485481044803_r8, 0.019510273602857092_r8, 0.020489396702154272_r8, & + 0.021283559787686979_r8, 0.02211983276335355_r8, 0.022789374564187125_r8, & + 0.02337029840028497_r8, 0.023783164336483024_r8, 0.024312600335399507_r8, & + 0.024649097795834733_r8, 0.025263226107234509_r8, 0.02541499982001303_r8, & + 0.025435682191602305_r8, 0.025293686260822911_r8, 0.025028450293359143_r8, & + 0.024669289460892443_r8, 0.024409851100227423_r8, 0.024169295853869295_r8, & + 0.02400764440035371_r8, 0.023915355223789302_r8, 0.023873383912814811_r8, & + 0.023867879366861303_r8, 0.023809607966239078_r8, 0.023779948456178011_r8, & + 0.023670259643848862_r8, 0.023360302526494025_r8, 0.023148589919601777_r8, & + 0.023128102921909335_r8 & + / +data delta_sa_ref(:,36,49) / & + 0.0025572801346418496_r8, 0.0027174358778678763_r8, & + 0.002938939424278681_r8, 0.0034933570005704394_r8, & + 0.0039264671462341033_r8, 0.0045210218243112834_r8, & + 0.0061112740937052205_r8, 0.007100205689834169_r8, & + 0.0081318803000881706_r8, 0.0095659174849906797_r8, & + 0.010415783672989874_r8, 0.011050390728281319_r8, 0.011663526954573804_r8, & + 0.01285631531229868_r8, 0.013872494636423835_r8, 0.014919840698732114_r8, & + 0.017045683401350643_r8, 0.018733222754411107_r8, 0.019769340948962915_r8, & + 0.0206593693103043_r8, 0.021456289092103793_r8, 0.022213307790566069_r8, & + 0.023046452513752771_r8, 0.023725453049736715_r8, 0.024301088278856017_r8, & + 0.024832423862738016_r8, 0.025172608444573922_r8, 0.025812842900561236_r8, & + 0.025987220432602806_r8, 0.026006467806882788_r8, 0.025868012960988323_r8, & + 0.025595209152263054_r8, 0.025186464303600654_r8, 0.02496608731467443_r8, & + 0.024708897034061927_r8, 0.024542000269335923_r8, 0.024430315461802972_r8, & + 0.024386790707227428_r8, 0.024392213345792533_r8, 0.024292415249286402_r8, & + 0.024166775227538882_r8, 0.023792796315266401_r8, 0.023732842043183999_r8, & + 0.023645738666762402_r8, 0.023637820177996802_r8 & + / +data delta_sa_ref(:,37,49) / & + 0.00094717330199336569_r8, 0.00097318309801466992_r8, & + 0.0011660007016094025_r8, 0.0019554251844828827_r8, & + 0.0025813421781360718_r8, 0.0032028955626701543_r8, & + 0.0056715689297855013_r8, 0.0071385223978461627_r8, & + 0.0080582654313731059_r8, 0.0091127553852380448_r8, & + 0.0099497172556154666_r8, 0.0099628450598256025_r8, & + 0.010706625261103647_r8, 0.011941153672707558_r8, 0.013045948489764267_r8, & + 0.014102350616791468_r8, 0.016380410759138136_r8, 0.018629898621733334_r8, & + 0.019826845476186669_r8, 0.020747336218450135_r8, 0.021680954764923734_r8, & + 0.022362056136296535_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,49) / & + 0.00047182797556493447_r8, 0.00052849502869869623_r8, & + 0.00092130975004185191_r8, 0.0014672222571492069_r8, & + 0.0020705484223142042_r8, 0.0034157015246858661_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,49) / & + 0.00081780718504027925_r8, 0.00087849044446299245_r8, & + 0.0012642962815653264_r8, 0.0017209402681019851_r8, & + 0.0028821658007877429_r8, 0.0041092505378828798_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,49) / & + 0.0028975487780465831_r8, 0.0027885478125453493_r8, & + 0.0030311115238561073_r8, 0.0050673791790887459_r8, & + 0.0066147701914342459_r8, 0.0078314483743881468_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,49) / & + 0.0038846554666842593_r8, 0.003661762346020767_r8, & + 0.0036554306253632255_r8, 0.0047619919238075514_r8, & + 0.0063439702609043476_r8, 0.0075271019263200125_r8, & + 0.0094990530670242095_r8, 0.011764560454204492_r8, 0.013562098703464674_r8, & + 0.010035460656169197_r8, 0.0074062260682639484_r8, & + 0.0046276497788105483_r8, 0.0037151991715047507_r8, & + 0.0033664534958201902_r8, 0.0038795623038957719_r8, & + 0.0035676266271991467_r8, 0.003494215912987307_r8, 0.0030369911906816_r8, & + 0.0029632452677290665_r8, 0.0029766536173567999_r8, & + 0.0029364285684735998_r8, 0.0029280483499562662_r8, & + 0.0028760909951487997_r8, 0.0029833577921706666_r8, & + 0.0031576663373311998_r8, 0.0032582289595392_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,49) / & + 0.0037807265351493531_r8, 0.0036360745774871701_r8, & + 0.0036167677605098664_r8, 0.0037241273012732826_r8, & + 0.0042263176422083154_r8, 0.0049546918191224875_r8, & + 0.0064330058448945782_r8, 0.0084327317887689483_r8, & + 0.013099440909622912_r8, 0.010932985897282288_r8, 0.0086318519850558401_r8, & + 0.0046420748157482653_r8, 0.0029886356002195749_r8, & + 0.0029564575719240689_r8, 0.0034212276362452537_r8, & + 0.0032342160594044695_r8, 0.0031774044870729969_r8, & + 0.0028862869425757792_r8, 0.0028060412721069628_r8, & + 0.0028413518634219648_r8, 0.0028278099974553715_r8, & + 0.0028319179474442032_r8, 0.0028002343100470119_r8, & + 0.0028518126146829885_r8, 0.0029977711768621467_r8, & + 0.0031466820807481153_r8, 0.0033226767165672709_r8, & + 0.0040854877767433897_r8, 0.0038733886016641536_r8, & + 0.0037718360229606865_r8, 0.0037366362433987549_r8, & + 0.0037304350472173032_r8, 0.0036805697583355253_r8, & + 0.0038057188474572797_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,49) / & + 0.0032335916911226197_r8, 0.0034145854646437926_r8, & + 0.0032218821351424533_r8, 0.0040497521285418137_r8, & + 0.0042404380813574321_r8, 0.0043509990949379684_r8, & + 0.0046937777074510488_r8, 0.005220620014528791_r8, & + 0.0095942926691736756_r8, 0.0082149771443337464_r8, & + 0.0063862251787269271_r8, 0.0037744679229706015_r8, & + 0.002432517722831434_r8, 0.0025286501075075683_r8, 0.002737010034330706_r8, & + 0.0026998639897044805_r8, 0.0026580692074981132_r8, & + 0.002610003015160046_r8, 0.0026021527884916937_r8, & + 0.0026710067318956774_r8, 0.0027130207941765791_r8, & + 0.0027636306353792527_r8, 0.0028167841254465318_r8, & + 0.0029225209773872988_r8, 0.0030933840114649547_r8, & + 0.0032512218091152339_r8, 0.0034269090048326583_r8, & + 0.0040347533714436218_r8, 0.0040701013194586596_r8, & + 0.0039233590935798517_r8, 0.0038650908957740446_r8, & + 0.0038558294451974356_r8, 0.0037805748730464_r8, 0.0038347433166015265_r8, & + 0.004074530776964267_r8, 0.004074530776964267_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,49) / & + 0.0026473135541100774_r8, 0.0032114160351933373_r8, & + 0.002757744167713027_r8, 0.0035917230156454726_r8, & + 0.0036433534985263936_r8, 0.0038736389798127414_r8, & + 0.0050752539211322209_r8, 0.0057329225611481554_r8, & + 0.0053128894187588222_r8, 0.0037411132250642445_r8, & + 0.0027815979017252615_r8, 0.0027106679894355759_r8, & + 0.002429067670141814_r8, 0.0026033036403181301_r8, & + 0.0026136748290191006_r8, 0.0026099321826617947_r8, & + 0.0025809830385486484_r8, 0.0025791342614323882_r8, & + 0.0026225128854773204_r8, 0.0027428186744085856_r8, & + 0.0028244805123975379_r8, 0.0029141687485985451_r8, & + 0.0030159416742424239_r8, 0.0031860291689383511_r8, & + 0.003353140583398348_r8, 0.0035124961523950097_r8, & + 0.0036901140319303377_r8, 0.00399405669383946_r8, 0.0043584984933152564_r8, & + 0.0044131211607623911_r8, 0.004321268502571615_r8, & + 0.0042617536616717158_r8, 0.0039659651053137778_r8, & + 0.0039897061090140452_r8, 0.0041286011263886816_r8, & + 0.0041539316274876855_r8, 0.0042332035828629338_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,49) / & + 0.0024463161033386666_r8, 0.0033471686264320002_r8, & + 0.0029215974627840001_r8, 0.0033019985976319994_r8, & + 0.0037549034197333323_r8, 0.0042131823170559997_r8, & + 0.0047811201458346653_r8, 0.0034973184349866666_r8, & + 0.0025661672464213328_r8, 0.0023638055173973325_r8, & + 0.002355049481045333_r8, 0.0024199090095786665_r8, & + 0.0023941968393386662_r8, 0.0024818961875626667_r8, & + 0.0025081642966186665_r8, 0.0025557897218559992_r8, & + 0.0025610248123733325_r8, 0.0025780272744960002_r8, & + 0.0026514111982079997_r8, 0.0027758488365226663_r8, & + 0.0028758251669333324_r8, 0.0030011893699413328_r8, & + 0.0031350316398933336_r8, 0.0032959295988906662_r8, & + 0.0034904618562559995_r8, 0.0036512208305493326_r8, & + 0.0038628945347413323_r8, 0.0041909447644160013_r8, & + 0.0043296051707733324_r8, 0.0042874464772266656_r8, & + 0.0042301847791786666_r8, 0.0042367633885013337_r8, & + 0.0041820034151253335_r8, 0.0041863235230079994_r8, & + 0.004235144382157714_r8, 0.0042574588727588561_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,50) / & + 0.0032331721696296292_r8, 0.0033862711208888889_r8, & + 0.0037352305608888883_r8, 0.0041511030151111118_r8, & + 0.0042640613688888895_r8, 0.0045383364995555554_r8, & + 0.0050427717644444441_r8, 0.0052624148568888897_r8, & + 0.005295080921777778_r8, 0.0053873213688888878_r8, & + 0.0055195665128888885_r8, 0.0057238500648888893_r8, & + 0.005881772100444444_r8, 0.0063929802071111107_r8, 0.006567692899555555_r8, & + 0.0067860879253333331_r8, 0.0074261339540000002_r8, & + 0.0077013756429629623_r8, 0.0076533944133333328_r8, & + 0.008092807484999999_r8, 0.0082778645699999997_r8, & + 0.0084837019649999998_r8, 0.0086171158342857133_r8, & + 0.0087737838600000003_r8, 0.0089228030199999999_r8, & + 0.0090387484133333321_r8, 0.0091723913920000004_r8, 0.00940767692_r8, & + 0.0095157594933333329_r8, 0.0096091148799999984_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,50) / & + 0.0032331721696296292_r8, 0.0033862711208888889_r8, & + 0.0037352305608888883_r8, 0.0041511030151111118_r8, & + 0.0042640613688888895_r8, 0.0045383364995555554_r8, & + 0.0050427717644444441_r8, 0.0052624148568888897_r8, & + 0.005295080921777778_r8, 0.0053873213688888878_r8, & + 0.0055195665128888885_r8, 0.0057238500648888893_r8, & + 0.005881772100444444_r8, 0.0063929802071111107_r8, 0.006567692899555555_r8, & + 0.0067860879253333331_r8, 0.0074261339540000002_r8, & + 0.0077013756429629623_r8, 0.0076533944133333328_r8, & + 0.008092807484999999_r8, 0.0082778645699999997_r8, & + 0.0084837019649999998_r8, 0.0086171158342857133_r8, & + 0.0087737838600000003_r8, 0.0089228030199999999_r8, & + 0.0090387484133333321_r8, 0.0091723913920000004_r8, 0.00940767692_r8, & + 0.0095157594933333329_r8, 0.0096091148799999984_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,50) / & + 0.0032331721696296292_r8, 0.0033862711208888889_r8, & + 0.0037352305608888883_r8, 0.0041511030151111118_r8, & + 0.0042640613688888895_r8, 0.0045383364995555554_r8, & + 0.0050427717644444441_r8, 0.0052624148568888897_r8, & + 0.005295080921777778_r8, 0.0053873213688888878_r8, & + 0.0055195665128888885_r8, 0.0057238500648888893_r8, & + 0.005881772100444444_r8, 0.0063929802071111107_r8, 0.006567692899555555_r8, & + 0.0067860879253333331_r8, 0.0074261339540000002_r8, & + 0.0077013756429629623_r8, 0.0076533944133333328_r8, & + 0.008092807484999999_r8, 0.0082778645699999997_r8, & + 0.0084837019649999998_r8, 0.0086171158342857133_r8, & + 0.0087737838600000003_r8, 0.0089228030199999999_r8, & + 0.0090387484133333321_r8, 0.0091723913920000004_r8, 0.00940767692_r8, & + 0.0095157594933333329_r8, 0.0096091148799999984_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,50) / & + 0.003461351113580246_r8, 0.0035287652034567902_r8, & + 0.0037201908953086418_r8, 0.0039579429728395059_r8, & + 0.0040775817190123456_r8, 0.0042812477091358023_r8, & + 0.0047342034597530856_r8, 0.0049784917086419748_r8, & + 0.0050708856217283951_r8, 0.0052289001066666667_r8, & + 0.0054080947451851857_r8, 0.0056938650320987666_r8, & + 0.0060151358819753092_r8, 0.0065032686227160493_r8, & + 0.0067303427965432093_r8, 0.0069173586528395066_r8, & + 0.0072505369832098765_r8, 0.0075046063767901239_r8, & + 0.0077473784558024688_r8, 0.0081483083162962964_r8, & + 0.0083222841871604947_r8, 0.0084892373717901249_r8, & + 0.0086223529267283917_r8, 0.0087818731809876528_r8, & + 0.0089264721048765427_r8, 0.0090502236929629644_r8, & + 0.0091798203932716045_r8, 0.0094107127266049393_r8, & + 0.0095386337818518536_r8, 0.0096407563415873022_r8, & + 0.0098525829707936472_r8, 0.0099988786710317433_r8, & + 0.010088200127936509_r8, 0.010023361083544973_r8, 0.0097205141409735449_r8, & + 0.008820998222_r8, 0.0086834474079259243_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,50) / & + 0.0037770010409876546_r8, 0.0037898515051851839_r8, & + 0.0038673795575308633_r8, 0.0039824790390123451_r8, & + 0.0042132049634567891_r8, 0.0043590623545679006_r8, & + 0.0047938980261728395_r8, 0.0051036034582716047_r8, & + 0.005497123500740741_r8, 0.0058852075195061724_r8, & + 0.0061943490103703695_r8, 0.0064829759832098766_r8, & + 0.0068779289911111118_r8, 0.0072400069985185181_r8, & + 0.0075069730809876542_r8, 0.0077021984424691355_r8, & + 0.0079430105945679005_r8, 0.0081080327427160478_r8, & + 0.0082506913851851868_r8, 0.0084137443614814809_r8, & + 0.0085519284538271602_r8, 0.008680109522962963_r8, & + 0.0088187651071604933_r8, 0.0089582434908641959_r8, & + 0.0090813305990123452_r8, 0.0092061834903703708_r8, & + 0.0093146913308641971_r8, 0.0095081971338271589_r8, & + 0.0096294537441975313_r8, 0.0097328213990123431_r8, & + 0.0098466450790123464_r8, 0.0098539208454320962_r8, & + 0.0093971561802469131_r8, 0.0090649578133333332_r8, & + 0.0087611414069135793_r8, 0.0083974011265873002_r8, & + 0.0083407998174603176_r8, 0.0079397009066666663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,50) / & + 0.0035370394232098765_r8, 0.0035322135654320985_r8, & + 0.0035432150419753079_r8, 0.0035101736325925921_r8, & + 0.0036826934256790119_r8, 0.0037936604197530855_r8, & + 0.0047014209086419755_r8, 0.0051135417669135787_r8, & + 0.0055418042874074069_r8, 0.0059406956390123441_r8, & + 0.006244641474567901_r8, 0.0065285720187654326_r8, & + 0.0068777810720987639_r8, 0.0071067597032098764_r8, & + 0.0072860560360493813_r8, 0.0074169551170370383_r8, & + 0.0076091481387654328_r8, 0.0077940653940740748_r8, & + 0.0079688317071604925_r8, 0.0081302298395061721_r8, & + 0.0082712336380246897_r8, 0.0084663757950617265_r8, & + 0.0086354657160493814_r8, 0.0087928885249382704_r8, & + 0.0089257567777777779_r8, 0.0090535310696296303_r8, & + 0.0091696659841975295_r8, 0.0094110975471604942_r8, & + 0.0095910040459259265_r8, 0.0097316195570370384_r8, & + 0.0098154018101234558_r8, 0.009766175650502645_r8, & + 0.0093374013566402108_r8, 0.0090861222505185177_r8, & + 0.0088725619972804225_r8, 0.0087882101239259245_r8, & + 0.0090806834533333318_r8, 0.0088984657200000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,50) / & + 0.0023102730943209875_r8, 0.0023025997955555553_r8, & + 0.0023297336893827159_r8, 0.0020020283624691357_r8, & + 0.0019727866227160491_r8, 0.001987541544197531_r8, & + 0.0026003052977777775_r8, 0.003317730997530864_r8, & + 0.0038522640834567899_r8, 0.0041697260187654323_r8, & + 0.0043855398577777767_r8, 0.0046589126824691353_r8, & + 0.0050257610780246901_r8, 0.0052725547051851833_r8, & + 0.0054922421733333334_r8, 0.0056489161422222231_r8, & + 0.005932218030617286_r8, 0.0061922781441975314_r8, & + 0.0063971552212345678_r8, 0.0065749816088888887_r8, & + 0.0067122134725925925_r8, 0.0069238763343209891_r8, & + 0.0071002235318518526_r8, 0.0073268077239506168_r8, & + 0.0075381470128395058_r8, 0.0077020412785185188_r8, & + 0.0078759200775308635_r8, 0.008300299723950617_r8, & + 0.0087037488301234586_r8, 0.0090330939779629631_r8, & + 0.0092368851049294525_r8, 0.0093899622975661366_r8, & + 0.0095048577300529107_r8, 0.0095795971128042317_r8, & + 0.0096406473833862433_r8, 0.0096313082788148166_r8, & + 0.0095591565542857138_r8, 0.0095551983999999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,50) / & + 0.00096223166518518517_r8, 0.0010077075165432099_r8, & + 0.0010235810755555555_r8, 0.00061255111999999998_r8, & + 0.00055905990716049396_r8, 0.00052816332345679011_r8, & + 0.00069896355802469138_r8, 0.0010645176622222222_r8, & + 0.0014547095269135805_r8, 0.00164641256691358_r8, 0.0017730035066666665_r8, & + 0.0021136609920987654_r8, 0.0026187027249382714_r8, & + 0.0029178689274074079_r8, 0.003198406579259259_r8, & + 0.0034443681619753088_r8, 0.0039486333200000005_r8, & + 0.0044028741170370356_r8, 0.0047914850972839507_r8, & + 0.0051447064538271605_r8, 0.0054424396908641986_r8, & + 0.0057073718869135792_r8, 0.0059166865343209876_r8, & + 0.0061192523767901238_r8, 0.0063150694143209868_r8, & + 0.0064566371540740741_r8, 0.0066074868118518523_r8, & + 0.0070082548859259257_r8, 0.0074426005758024697_r8, & + 0.0078815594898765436_r8, 0.0082683214824691362_r8, & + 0.0086336629530864191_r8, 0.0089887148074074049_r8, & + 0.0092065347980246903_r8, 0.0093643828740740728_r8, & + 0.0094274980676543208_r8, 0.009443051520679013_r8, 0.009457081044682538_r8, & + 0.0094755634262222218_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,50) / & + 0.00031564992740740742_r8, 0.00036320588987654313_r8, & + 0.00033334473925925923_r8, 0.00017987876395061727_r8, & + 0.00017975857975308641_r8, 0.00018913294716049379_r8, & + 0.00026577348543209872_r8, 0.00039946453777777775_r8, & + 0.00054812314518518513_r8, 0.00062795318716049381_r8, & + 0.00068709305728395043_r8, 0.00087470058962962958_r8, & + 0.0011625140079012345_r8, 0.0013110986558024693_r8, & + 0.001487455098271605_r8, 0.0016563878553086419_r8, & + 0.0020793068014814814_r8, 0.0025219082212345682_r8, & + 0.0029890734419753089_r8, 0.0034806083199999992_r8, & + 0.0039809906039506172_r8, 0.004384948181728395_r8, & + 0.0047969026311111117_r8, 0.0052081729550617281_r8, & + 0.005552509925925926_r8, 0.0058264374469135793_r8, & + 0.0060624144962962969_r8, 0.0064726586320987649_r8, & + 0.0067660282582716041_r8, 0.0070843407279012329_r8, & + 0.007460156713580246_r8, 0.0078730264118518495_r8, & + 0.0082504879965432081_r8, 0.0085604060622222235_r8, & + 0.0088287034158024674_r8, 0.0090330535313580245_r8, & + 0.0092024577802469129_r8, 0.0093305556449382702_r8, & + 0.0094111715066666664_r8, 0.0094401444828571424_r8, & + 0.0095101015911111114_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,50) / & + 0.00020263980197530863_r8, 0.00021194945481481484_r8, & + 0.00018390031209876542_r8, 0.00014766015407407406_r8, & + 0.0001511085160493827_r8, 0.00015555533135802469_r8, & + 0.00017245507851851852_r8, 0.00019426388790123454_r8, & + 0.00024174589086419754_r8, 0.00028082424493827154_r8, & + 0.0003061646207407407_r8, 0.00039858626864197529_r8, & + 0.0005149800414814815_r8, 0.00055990119654320979_r8, & + 0.00062237848938271603_r8, 0.00068808226567901212_r8, & + 0.00088083922864197527_r8, 0.0011567821461728395_r8, & + 0.0015295565471604941_r8, 0.0019396620088888887_r8, & + 0.002440330885925926_r8, 0.002913597765925926_r8, 0.0034233821520987659_r8, & + 0.0039748889446913575_r8, 0.0044952587851851845_r8, & + 0.004984491673580246_r8, 0.0054304397609876535_r8, & + 0.0062642407437037027_r8, 0.0067243058518518511_r8, & + 0.0069804368666666668_r8, 0.007172953461234568_r8, & + 0.0074142740849382728_r8, 0.0077471103525925929_r8, & + 0.0080981591486419761_r8, 0.0084505669506172842_r8, & + 0.0087919270513580235_r8, 0.0090538453975308637_r8, & + 0.0092293790404938281_r8, 0.009340003971851852_r8, & + 0.0093978310607407411_r8, 0.009463020818469137_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,50) / & + 0.00025620497432098766_r8, 0.00024962257827160499_r8, & + 0.00023500633086419754_r8, 0.00019845184493827157_r8, & + 0.00019852580444444445_r8, 0.00020357354074074073_r8, & + 0.00020633777728395065_r8, 0.0001715860543209877_r8, & + 0.00016131492790123455_r8, 0.00018692340691358022_r8, & + 0.00019735169728395065_r8, 0.00030022937037037039_r8, & + 0.00042141202123456784_r8, 0.00045517453580246915_r8, & + 0.0004900371980246914_r8, 0.00052718335999999994_r8, & + 0.00061542629580246919_r8, 0.00074367207950617282_r8, & + 0.00095943969382716041_r8, 0.0012578755461728395_r8, & + 0.0016722336795061729_r8, 0.0021425699140740742_r8, & + 0.002663716329382716_r8, 0.003238030384691358_r8, 0.0038385168602469129_r8, & + 0.0044590833417283956_r8, 0.0050175145930864183_r8, & + 0.0061626850967901239_r8, 0.0069220828162962966_r8, & + 0.007386511535308643_r8, 0.0076303375372839509_r8, & + 0.0077007007624691351_r8, 0.0078303887565432106_r8, & + 0.0079997467807407397_r8, 0.008281162701728394_r8, & + 0.0086300481822222247_r8, 0.0089376735032098767_r8, & + 0.0091525813382716033_r8, 0.0092891105866666646_r8, & + 0.0093607299678395046_r8, 0.0094283532244444461_r8, & + 0.0095043272026666663_r8, 0.00943613284_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,50) / & + 0.00028188741283950616_r8, 0.00027154232691358024_r8, & + 0.00027599838716049378_r8, 0.00024328055061728393_r8, & + 0.00023964728987654321_r8, 0.00023244548296296296_r8, & + 0.00022198945777777775_r8, 0.00019252583950617283_r8, & + 0.00015918859209876547_r8, 0.00018702510123456788_r8, & + 0.00019858127407407409_r8, 0.00029059614469135808_r8, & + 0.00041145522271604929_r8, 0.00044997888049382718_r8, & + 0.00048636695753086407_r8, 0.00052562096543209882_r8, & + 0.00059738017629629625_r8, 0.00070708061382716055_r8, & + 0.00089019510617283971_r8, 0.0011720178044444445_r8, & + 0.0015990415032098764_r8, 0.002123784199506173_r8, 0.002728125814320987_r8, & + 0.0033778138513580248_r8, 0.0040333077096296301_r8, & + 0.0047078831204938271_r8, 0.0053046716207407413_r8, & + 0.0066077918948148143_r8, 0.0075725012034567893_r8, & + 0.0082055668414814809_r8, 0.0085561441456790122_r8, & + 0.0085889729214814817_r8, 0.0084940089155555558_r8, & + 0.0083545316874691373_r8, 0.0084143071470987648_r8, & + 0.0086431898619753079_r8, 0.0089150806900440902_r8, & + 0.009128596501543209_r8, 0.0092738714615432094_r8, & + 0.0093437485020282183_r8, 0.0093994225108289236_r8, & + 0.0094187223100000005_r8, 0.00943613284_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,50) / & + 0.00025869186271604939_r8, 0.00024857790024691357_r8, & + 0.00028823868543209879_r8, 0.00022705568395061727_r8, & + 0.00022001104098765432_r8, 0.0002044148301234568_r8, & + 0.00019553044444444443_r8, 0.00018533327753086416_r8, & + 0.00018442727358024689_r8, 0.00019001121629629627_r8, & + 0.00020604193925925928_r8, 0.00025629742370370369_r8, & + 0.00034348643654320989_r8, 0.0003987711674074074_r8, & + 0.00044298046222222213_r8, 0.00049077679308641984_r8, & + 0.00056455140049382717_r8, 0.00068300679456790117_r8, & + 0.0008694494646913581_r8, 0.0011573645772839504_r8, & + 0.0015970261066666667_r8, 0.0021579350014814818_r8, & + 0.0028205197274074074_r8, 0.0035082969101234568_r8, & + 0.0042094607634567899_r8, 0.0049001501017283955_r8, & + 0.005583619143209876_r8, 0.0070438294083950623_r8, & + 0.0080825999175308649_r8, 0.008744445048395064_r8, & + 0.0091546152246913589_r8, 0.0092813171037037043_r8, & + 0.0091734009392592589_r8, 0.0089050111362962963_r8, & + 0.0086691820059259257_r8, 0.0086274411096296296_r8, & + 0.0087883585051851849_r8, 0.0089846008098765414_r8, & + 0.0091729375367283969_r8, 0.0092920262090740741_r8, & + 0.0093500243293209856_r8, 0.0093622334259259241_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,50) / & + 0.00019994027999999998_r8, 0.00019500348296296296_r8, & + 0.00025031594864197528_r8, 0.00019088024049382713_r8, & + 0.0001893178459259259_r8, 0.00017141040049382716_r8, & + 0.00015318862716049382_r8, 0.00014770637876543208_r8, & + 0.00015412236592592593_r8, 0.00016395898024691355_r8, & + 0.00017302826469135798_r8, 0.00018456594765432099_r8, & + 0.00023391542814814811_r8, 0.00029655912987654317_r8, & + 0.00034636161234567888_r8, 0.00039445378123456783_r8, & + 0.00047549491012345677_r8, 0.00058117379950617279_r8, & + 0.00075372132740740745_r8, 0.0010273530103703703_r8, & + 0.0014480531713580247_r8, 0.0020246507264197527_r8, & + 0.0027295125550617278_r8, 0.0034851660745679014_r8, & + 0.0042600583106172842_r8, 0.0049996718622222214_r8, & + 0.0057687490320987656_r8, 0.00737269035259259_r8, 0.0084452603560493823_r8, & + 0.0090996263318518494_r8, 0.0095283973239506173_r8, & + 0.0097465963570370386_r8, 0.0097272282113580258_r8, & + 0.0094545395120987641_r8, 0.0090374171422222226_r8, & + 0.0087947929822222212_r8, 0.0088300161970370356_r8, & + 0.0089848226883950614_r8, 0.0091836350859259251_r8, & + 0.0093014953370987655_r8, 0.0093511637679629632_r8, & + 0.0093712416937777772_r8, 0.0093951338499999992_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,50) / & + 0.00015072947358024688_r8, 0.0001487880365432099_r8, & + 0.00017965688543209875_r8, 0.00014582041135802472_r8, & + 0.00014397142370370369_r8, 0.00012979893333333334_r8, & + 0.00010745391753086418_r8, 0.00011111491308641973_r8, & + 0.00011326898370370371_r8, 0.00012468648246913582_r8, & + 0.00013955234320987654_r8, 0.00015266166567901233_r8, & + 0.00017793732691358025_r8, 0.00022635306864197529_r8, & + 0.00027803227358024689_r8, 0.00033580389283950618_r8, & + 0.00044078941185185186_r8, 0.00055785806518518521_r8, & + 0.00074649178567901247_r8, 0.0010443359619753084_r8, & + 0.0015070728572839504_r8, 0.0021331030972839503_r8, & + 0.0029073759224691352_r8, 0.0037345575293827164_r8, & + 0.0045803954217283945_r8, 0.0054033243570370372_r8, & + 0.0061925277575308642_r8, 0.0077449840167901213_r8, & + 0.0086999306706172837_r8, 0.0092619304681481468_r8, & + 0.0096306001165432104_r8, 0.0098497051535802477_r8, & + 0.009857702025185185_r8, 0.0095746497501234575_r8, & + 0.0091195214390123441_r8, 0.0088289622740740734_r8, & + 0.008833658702716048_r8, 0.0089762156508641951_r8, 0.009162898689382715_r8, & + 0.0092599982760493815_r8, 0.0093149039644444456_r8, & + 0.0093352509179629624_r8, 0.0093842756699999991_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,50) / & + 0.00012023159719224359_r8, 0.00011927214788368064_r8, & + 0.00011624842885063372_r8, 0.00012533896876408884_r8, & + 0.0001208906128789333_r8, 0.00011474626074126747_r8, & + 0.0001073032600445366_r8, 0.00010297120104526748_r8, & + 9.8639142045998325e-05_r8, 9.7117591122317706e-05_r8, & + 0.0001006355719203819_r8, 0.00013276258664650533_r8, & + 0.00019337264700764438_r8, 0.00024870089046810862_r8, & + 0.00030475598946536297_r8, 0.00038653208305783045_r8, & + 0.00056720898668954065_r8, 0.00076669691161337927_r8, & + 0.0010608989586845495_r8, 0.0014848883304049642_r8, & + 0.0020999825598582381_r8, 0.0029094670340706632_r8, & + 0.0038198584396038709_r8, 0.0047086670813979914_r8, & + 0.0055947815120024075_r8, 0.0063471351410231301_r8, & + 0.0071006711217170282_r8, 0.0083805183508970805_r8, & + 0.0092099768152604979_r8, 0.0097060702562304906_r8, 0.0100628981763515_r8, & + 0.010293476135435639_r8, 0.010339946432754422_r8, 0.010119854576214372_r8, & + 0.0096960008841941586_r8, 0.0093319819399625085_r8, & + 0.0092301252507403179_r8, 0.0093400451907172995_r8, & + 0.0095060396125058472_r8, 0.0096155718961965422_r8, & + 0.0096915137626803743_r8, 0.009727980624143661_r8, & + 0.0097863502388430661_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,50) / & + 0.00010809003436831604_r8, 0.00010811031012040163_r8, & + 9.6705199572253488e-05_r8, 0.00010944850975805102_r8, & + 0.00011081712302382882_r8, 0.00011202353027292179_r8, & + 0.00011419303574608067_r8, 0.00011866383908095471_r8, & + 0.00011737632882351934_r8, 0.00011542985662330203_r8, & + 0.0001114558092145251_r8, 0.00013138687351466665_r8, & + 0.00019476887453424198_r8, 0.00028660789360595223_r8, & + 0.00039996962351652348_r8, 0.00053090029260926413_r8, & + 0.00086430462202877353_r8, 0.0012361213637744461_r8, & + 0.0017464417680168294_r8, 0.0024241993329820704_r8, & + 0.0033004260972371749_r8, 0.0043192522259102809_r8, & + 0.0052804546671561215_r8, 0.0061081514187943499_r8, & + 0.006925365606604326_r8, 0.0075079994806599888_r8, & + 0.0081041167298525757_r8, 0.0090157956466293473_r8, & + 0.0096617304186962429_r8, 0.010103062576467382_r8, 0.010458476234775808_r8, & + 0.01068515914309278_r8, 0.010762338793406602_r8, 0.010661507478284933_r8, & + 0.010377129917408395_r8, 0.010022121774141681_r8, 0.0098000009100439687_r8, & + 0.0097760020229816537_r8, 0.0098575320893523454_r8, & + 0.0099508668072073678_r8, 0.010074077013006418_r8, 0.010164512805207004_r8, & + 0.010219024671582932_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,50) / & + 0.00011748622870518515_r8, 0.00011775083732839505_r8, & + 0.00011696759580369385_r8, 0.00011332658114832592_r8, & + 0.00011614201689927901_r8, 0.00011673474021526914_r8, & + 0.0001245459867724247_r8, 0.00011619493862392101_r8, & + 0.00011844940409366913_r8, 0.00012125425549969383_r8, & + 0.00012445072766806913_r8, 0.00014795855775403454_r8, & + 0.00017034444727759016_r8, 0.00027703464415581235_r8, & + 0.00046499144139425187_r8, 0.00069480932282449392_r8, & + 0.001219559975684464_r8, 0.0018114682971151013_r8, 0.002620408611302479_r8, & + 0.00364801090736557_r8, 0.0046537776998413823_r8, 0.0056036803197851261_r8, & + 0.0064272481986635457_r8, 0.0071046991958054707_r8, & + 0.0077201047629771452_r8, 0.0081764911319446108_r8, & + 0.0086186733100181729_r8, 0.0094268621357156326_r8, & + 0.010027629553851338_r8, 0.010459883616382065_r8, 0.010797619478702222_r8, & + 0.011003929530046497_r8, 0.011085026780887864_r8, 0.011068377606315497_r8, & + 0.010950478588158103_r8, 0.010734141193037288_r8, 0.010480871049331954_r8, & + 0.010304703889300632_r8, 0.010252582416737707_r8, 0.010274827496672481_r8, & + 0.010309824396920523_r8, 0.010325505831605655_r8, 0.010384661735410453_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,50) / & + 0.00013034009602612675_r8, 0.00012826630302909629_r8, & + 0.00012716322164769712_r8, 0.00012111833567762964_r8, & + 0.00012608220189392591_r8, 0.00012641312630834567_r8, & + 0.00014839753823963131_r8, 0.00011950783686078685_r8, & + 0.00012612632514918189_r8, 0.00013574519479498271_r8, & + 0.00014422789061794241_r8, 0.00016738156881351111_r8, & + 0.00030741775018213667_r8, 0.00058826226988636704_r8, & + 0.0010011676925717071_r8, 0.0014706170668675688_r8, & + 0.0022638870114869728_r8, 0.0030918709271790094_r8, & + 0.0039278632137000032_r8, 0.0048044709566841155_r8, & + 0.0056381247106765432_r8, 0.0063883744814213815_r8, & + 0.0070927250358861962_r8, 0.0077541988170560282_r8, & + 0.0082828174766501391_r8, 0.0087122360276150265_r8, & + 0.0091270497810901872_r8, 0.010042265372423271_r8, 0.01073043372302296_r8, & + 0.011239252071820957_r8, 0.011609104228190288_r8, 0.011792107005194955_r8, & + 0.011851166139938123_r8, 0.011816855266318867_r8, 0.011710125524180206_r8, & + 0.011530269759565144_r8, 0.011262432223969682_r8, 0.010962883029051409_r8, & + 0.010819828817023276_r8, 0.010765537987925788_r8, 0.010767392464706739_r8, & + 0.010789167138516974_r8, 0.010821352448181333_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,50) / & + 0.00014423501168572841_r8, 0.00013979330328098763_r8, & + 0.00013882921153422219_r8, 0.0001353860267243457_r8, & + 0.00013944898479999998_r8, 0.0001406540994834568_r8, & + 0.00017342174159078188_r8, 0.00015137388152487241_r8, & + 0.00015376115632638682_r8, 0.0001754187887805103_r8, & + 0.00019984244636523461_r8, 0.0002805621755914403_r8, & + 0.00067334922141945662_r8, 0.0011915141034577778_r8, & + 0.0017490690197210861_r8, 0.00226994254047651_r8, 0.0031984317563078192_r8, & + 0.0040368702120781559_r8, 0.0048508735329810685_r8, & + 0.0056043800967744521_r8, 0.0063955665796705842_r8, & + 0.0071128278846986671_r8, 0.0077986070032817767_r8, & + 0.0084556584832678177_r8, 0.008990476902503243_r8, & + 0.0094896354043910447_r8, 0.0099277347623170364_r8, & + 0.010890678780812511_r8, 0.011647295688217483_r8, 0.012189551386642237_r8, & + 0.012560634890885334_r8, 0.012753442336819855_r8, 0.012799333677830024_r8, & + 0.012762437083271523_r8, 0.01265809464683184_r8, 0.012501122362005162_r8, & + 0.012238247810678725_r8, 0.011811851946253_r8, 0.011428076719334665_r8, & + 0.011315587871596_r8, 0.011312566476925334_r8, 0.011305594027685334_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,50) / & + 0.0001611971976801185_r8, 0.00015891976112734817_r8, & + 0.00015828780229333331_r8, 0.0001650008744357926_r8, & + 0.00017002077385315555_r8, 0.00017102236898631113_r8, & + 0.00020702017502198519_r8, 0.00021028728295632591_r8, & + 0.00021828812026998521_r8, 0.00026883290323958522_r8, & + 0.00036533182481848894_r8, 0.0006413309027607704_r8, & + 0.0012543071242519701_r8, 0.0019046404594595557_r8, & + 0.0023016536922398812_r8, 0.0027597642281426962_r8, & + 0.0036450908595911111_r8, 0.0044323446342513784_r8, & + 0.0053546468193654516_r8, 0.0061638283731908737_r8, & + 0.0070057644726207995_r8, 0.0076857521780207411_r8, & + 0.0083505490239011559_r8, 0.0090044237133295405_r8, & + 0.0096378133975345785_r8, 0.010251099636566993_r8, 0.010771034824438995_r8, & + 0.011736334057769245_r8, 0.012516493200236326_r8, 0.013060615718198873_r8, & + 0.013409543441774044_r8, 0.01356479515882_r8, 0.013582138255500649_r8, & + 0.013513118811824966_r8, 0.013409747934113732_r8, 0.013313065557099721_r8, & + 0.013136065124763421_r8, 0.01288437338627753_r8, 0.012581200121057439_r8, & + 0.012407483282306666_r8, 0.012107568139622401_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,50) / & + 0.00018624603940809218_r8, 0.00018619655852620902_r8, & + 0.00018045677622776626_r8, 0.00025049696453333337_r8, & + 0.00026082609862643625_r8, 0.00026369598977565764_r8, & + 0.00030387446586475718_r8, 0.00032902312408185678_r8, & + 0.00041224996740927736_r8, 0.00055611563148447076_r8, & + 0.0008536812849091294_r8, 0.0012214850501668874_r8, & + 0.0018907510882975999_r8, 0.0024062305455355517_r8, & + 0.0027789452883202107_r8, 0.0031917766560916145_r8, & + 0.0040336814911125594_r8, 0.004845031881570672_r8, & + 0.0059250758308746392_r8, 0.0067635046339432963_r8, & + 0.0076317827790079468_r8, 0.0083633328772090461_r8, & + 0.0090564981812893096_r8, 0.0097269022797033325_r8, & + 0.010466480650989972_r8, 0.011150615694126564_r8, 0.011708933224854834_r8, & + 0.012773798913641152_r8, 0.0135763293369036_r8, 0.014102175038896065_r8, & + 0.014420869028884819_r8, 0.01456750562234547_r8, 0.014576102925572661_r8, & + 0.014503489731409171_r8, 0.014389675971690184_r8, 0.014261330295473143_r8, & + 0.014007889218467762_r8, 0.01354766444351768_r8, 0.013174243935475807_r8, & + 0.012888095111958498_r8, 0.012693374146147157_r8, 0.012695213995545391_r8, & + 0.0126986931200528_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,50) / & + 0.0001930706084644872_r8, 0.00019427537726398681_r8, & + 0.0001826634567071078_r8, 0.00029539905628581396_r8, & + 0.00031247088650851018_r8, 0.00032069920107530531_r8, & + 0.00040509710048705839_r8, 0.00048921303273297113_r8, & + 0.00068471881217517028_r8, 0.00094491042279901236_r8, & + 0.0014683696494922271_r8, 0.0019038551204432594_r8, & + 0.0024889369895619421_r8, 0.0028604928140033578_r8, & + 0.0032303696521390874_r8, 0.0036241239825457504_r8, & + 0.0044622072995593471_r8, 0.0053947368004400986_r8, & + 0.0065376778904845147_r8, 0.0074556091821883523_r8, & + 0.008357891296188049_r8, 0.0091694953329913651_r8, & + 0.0099924165064963679_r8, 0.010717469440076061_r8, 0.011484881531978583_r8, & + 0.012167511223788667_r8, 0.01276944703941099_r8, 0.013926832538360041_r8, & + 0.014770260414835252_r8, 0.015271457052116431_r8, 0.015554564903309481_r8, & + 0.015649754455159308_r8, 0.01561714879743668_r8, 0.015496654294538852_r8, & + 0.015320536961920518_r8, 0.015104484198484418_r8, 0.014770722959999346_r8, & + 0.014203525178791318_r8, 0.013763475364343246_r8, 0.013466817800710419_r8, & + 0.01328234389508394_r8, 0.013284092045738258_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,50) / & + 0.00017911895205787655_r8, 0.00018242147846012839_r8, & + 0.00017655916251717527_r8, 0.00028605979696292346_r8, & + 0.00028897769177615794_r8, 0.00028143095473647406_r8, & + 0.00044098674838743702_r8, 0.00059485264715259268_r8, & + 0.00084884212748641968_r8, 0.0014240918267573726_r8, & + 0.0020727928963723851_r8, 0.0026465969113949623_r8, & + 0.0031433685033481484_r8, 0.0034812739858789531_r8, & + 0.003752585150876799_r8, 0.0040880767386075652_r8, & + 0.0050051180257742224_r8, 0.0060567538427804442_r8, & + 0.0071168515547450463_r8, 0.0081320402129023191_r8, & + 0.0090587238161108918_r8, 0.0099619846818641382_r8, 0.01083320175730477_r8, & + 0.011634323041436563_r8, 0.012369499902789252_r8, 0.013050775289046555_r8, & + 0.013707261832549607_r8, 0.014849816599304575_r8, 0.015733023569795952_r8, & + 0.016189833265966062_r8, 0.016469805273295921_r8, 0.016555813065021349_r8, & + 0.016532763164417881_r8, 0.016368419039062613_r8, 0.016143611159492775_r8, & + 0.015809016777048657_r8, 0.015377492392066849_r8, 0.014864868626014433_r8, & + 0.014453162288919895_r8, 0.014090284113254083_r8, 0.013921223101309154_r8, & + 0.013839336362323198_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,50) / & + 0.00017224775523081481_r8, 0.00017662112628451032_r8, & + 0.00017962353462544855_r8, 0.00025109182084148148_r8, & + 0.00023943863778304526_r8, 0.00022718223113099586_r8, & + 0.00038488407197945668_r8, 0.00052034889762699586_r8, & + 0.0010041205100776297_r8, 0.0017935208400832259_r8, & + 0.0023954968576277856_r8, 0.0030032994667015633_r8, & + 0.0035780070358893833_r8, 0.0039163469237707329_r8, & + 0.0042710698160695294_r8, 0.0046672643304292343_r8, & + 0.0057145290370773328_r8, 0.0068052532617198349_r8, & + 0.0078725477336013174_r8, 0.0088821932234113589_r8, & + 0.0098398655167807724_r8, 0.010780249970342321_r8, 0.011621129950211948_r8, & + 0.012458198653740114_r8, 0.013190183065335441_r8, 0.013880037792767735_r8, & + 0.014517850775623769_r8, 0.015652007099006417_r8, 0.016543016330468018_r8, & + 0.016968275254338173_r8, 0.017261656133758043_r8, 0.017366431959080511_r8, & + 0.017394990826090632_r8, 0.017227095877472821_r8, 0.016977030564962515_r8, & + 0.016626309414896349_r8, 0.016145413641550494_r8, 0.015676233430066504_r8, & + 0.015313936066705633_r8, 0.015120992111474173_r8, 0.014966604572983802_r8, & + 0.015125290079578668_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,50) / & + 0.00018306663364229796_r8, 0.0001862234430532346_r8, & + 0.00019358461298008228_r8, 0.00020730187001684282_r8, & + 0.00020431493375806421_r8, 0.00020125721701921975_r8, & + 0.0002443059049952659_r8, 0.00031832813104812509_r8, & + 0.00051696647030490862_r8, 0.00090221046720728238_r8, & + 0.0013370149562517595_r8, 0.0018156184063609813_r8, & + 0.0028994091171291787_r8, 0.0037504877655368959_r8, & + 0.004556521716430709_r8, 0.0052790205447508154_r8, & + 0.0067349042392251526_r8, 0.0079384555222647563_r8, & + 0.0089947975628634214_r8, 0.01001109200784083_r8, 0.010989391491118895_r8, & + 0.011860316986137072_r8, 0.012668955658697311_r8, 0.013467345317744014_r8, & + 0.014189801677776078_r8, 0.014824433618142448_r8, 0.015393027370607382_r8, & + 0.016562490774447276_r8, 0.017381958860457587_r8, 0.017842895502742376_r8, & + 0.018126498730270196_r8, 0.018240738425096471_r8, 0.018280481664653441_r8, & + 0.018171851322872388_r8, 0.017947696620551862_r8, 0.01767190578851131_r8, & + 0.017226866442049314_r8, 0.016744244935759208_r8, 0.016284429658508608_r8, & + 0.015951975159248944_r8, 0.015735612326076474_r8, 0.015662113268886269_r8, & + 0.015648328315376075_r8, 0.015842030423953067_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,50) / & + 0.0001998945108992_r8, 0.00019843425440932341_r8, & + 0.00019856567749341233_r8, 0.00022233865314860243_r8, & + 0.00022236785827839999_r8, 0.00021730076825852838_r8, & + 0.0002163954092348049_r8, 0.00023748151294862219_r8, & + 0.00028000418193382709_r8, 0.00034828577540045434_r8, & + 0.00047226155139097289_r8, 0.00069519890970042453_r8, & + 0.0014834307603708839_r8, 0.0023483844870194567_r8, & + 0.0034156859554702219_r8, 0.0046206019955269528_r8, & + 0.0070911661430543803_r8, 0.0088370488023507745_r8, & + 0.0099856573521578656_r8, 0.011060756590264573_r8, 0.011921212726924328_r8, & + 0.012702698192611555_r8, 0.013514045903516762_r8, 0.014251840495026886_r8, & + 0.014989255419849636_r8, 0.015593816209223423_r8, 0.016168105881562079_r8, & + 0.017301673789523436_r8, 0.018094928922519071_r8, 0.01860721610429756_r8, & + 0.01889379144043583_r8, 0.019013386446956722_r8, 0.01902035187041343_r8, & + 0.018906057594950794_r8, 0.018718998738597611_r8, 0.018501493534430494_r8, & + 0.018213049069985186_r8, 0.017867302315556506_r8, 0.017441975233070776_r8, & + 0.016976874414442032_r8, 0.016482528048202206_r8, 0.016211126602314361_r8, & + 0.016127211672361169_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,50) / & + 0.00020970828578508645_r8, 0.00020383916260918519_r8, & + 0.0001993094034400922_r8, 0.00024475748546886591_r8, & + 0.00024408027894856949_r8, 0.00024054375600924446_r8, & + 0.00020296631864969223_r8, 0.00026371926803716211_r8, & + 0.00029506640540998843_r8, 0.00033598472826966918_r8, & + 0.00042250162349596719_r8, 0.00060661150281385355_r8, & + 0.0010853664145957663_r8, 0.0017037613108627754_r8, & + 0.002564535945260721_r8, 0.0036015949614086854_r8, & + 0.0064266898776118532_r8, 0.0088810969936386121_r8, & + 0.010660417622003447_r8, 0.012018722718958518_r8, 0.012890351468973434_r8, & + 0.013642233176036963_r8, 0.014351356815860663_r8, 0.015031497897744911_r8, & + 0.015697677238535712_r8, 0.016274651550440496_r8, 0.016817172980625194_r8, & + 0.01790951462238001_r8, 0.018740958689932238_r8, 0.019319997675525676_r8, & + 0.019602521248741896_r8, 0.019674508033116642_r8, 0.019623131169242327_r8, & + 0.019452094600559106_r8, 0.019253546516988854_r8, 0.019089951426779269_r8, & + 0.018866824508780706_r8, 0.018706357199003543_r8, 0.01835684527049096_r8, & + 0.017715383967690963_r8, 0.01707267434753856_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,29,50) / & + 0.00023536119005400491_r8, 0.0002381658760372675_r8, & + 0.00024168335514334813_r8, 0.00024324840091301397_r8, & + 0.00025088768372930374_r8, 0.0002558307490810206_r8, & + 0.00025138353981474237_r8, 0.0003229417711446124_r8, & + 0.00036949026116516874_r8, 0.00044410110652102054_r8, & + 0.00054128889926700246_r8, 0.00069458590718090533_r8, & + 0.001034588226765142_r8, 0.0014171102056757465_r8, & + 0.0019164217882098305_r8, 0.0026116585065028741_r8, & + 0.0049275388580415722_r8, 0.0077227570891727796_r8, & + 0.010397854183606467_r8, 0.01259912979739815_r8, 0.01392329797805948_r8, & + 0.014875884004695205_r8, 0.015607380199235951_r8, 0.016252504461894347_r8, & + 0.016843983294309348_r8, 0.017429031493116313_r8, 0.017967965075977477_r8, & + 0.019080976041755286_r8, 0.019891142903351412_r8, 0.020313437963740133_r8, & + 0.020473595605461161_r8, 0.020452928478775105_r8, 0.020300948588588146_r8, & + 0.020111452149499387_r8, 0.019867824108770953_r8, 0.019686863754715511_r8, & + 0.019494424276941081_r8, 0.019366206186687697_r8, 0.019245961916085026_r8, & + 0.01914403720351392_r8, 0.018837657911080254_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,30,50) / & + 0.00031325974106666667_r8, 0.00033299590185244439_r8, & + 0.0003514726468853333_r8, 0.0003200350789777778_r8, & + 0.00035745088621866664_r8, 0.00039679567201777782_r8, & + 0.00038359571956977782_r8, 0.00051728509303466659_r8, & + 0.00060569926728177778_r8, 0.00070811049255466673_r8, & + 0.00082455065279644435_r8, 0.001008042745400889_r8, & + 0.0013331154873902223_r8, 0.0016738432454471111_r8, & + 0.0021162488980853338_r8, 0.0027428321481048892_r8, & + 0.0047709060015164433_r8, 0.0075052410787822214_r8, & + 0.010420166809829334_r8, 0.012971743125182221_r8, 0.014747391800983112_r8, & + 0.016132637535360001_r8, 0.016978343184410667_r8, 0.017672217496366223_r8, & + 0.018216572057102223_r8, 0.018790578684931551_r8, 0.019342872347502219_r8, & + 0.02044814517742044_r8, 0.021191662788800001_r8, 0.021544362967495113_r8, & + 0.021629572805459556_r8, 0.021511697867777776_r8, 0.021283424777073782_r8, & + 0.021056576500077556_r8, 0.020804814907032891_r8, 0.020556044426401337_r8, & + 0.020316207428080223_r8, 0.020191544911330604_r8, 0.020075330785471239_r8, & + 0.01996438895428336_r8, 0.019631298482378219_r8, 0.019445332138852744_r8, & + 0.019331892314593337_r8, 0.019466988567048_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,50) / & + 0.00045038712020374649_r8, 0.00048912939340663034_r8, & + 0.00053300124846759498_r8, 0.00065327601286521134_r8, & + 0.00068934697027618749_r8, 0.00072884311173936425_r8, & + 0.00071997696546070118_r8, 0.00090741155878615971_r8, & + 0.0010290301752999506_r8, 0.0011428642826041941_r8, & + 0.0012869022856414811_r8, 0.0014440510410316902_r8, & + 0.001739796837232724_r8, 0.0021233518973174511_r8, & + 0.0027116477438334941_r8, 0.0034242826879765597_r8, & + 0.0054667576317169227_r8, 0.0082059379554915522_r8, & + 0.011059558758866751_r8, 0.013607043494801222_r8, 0.015563266076499802_r8, & + 0.017111400102773254_r8, 0.018179057832192997_r8, 0.019051234244030678_r8, & + 0.019723094748356155_r8, 0.020296673775356044_r8, 0.020860042803961091_r8, & + 0.021917621642509533_r8, 0.022658788861460645_r8, 0.022836652605568469_r8, & + 0.022700595773026026_r8, 0.022405603845085286_r8, 0.022091371888066633_r8, & + 0.021814554740575122_r8, 0.021617647628674679_r8, 0.021371181872880198_r8, & + 0.021145152502315821_r8, 0.02101470051640425_r8, 0.020903595084433457_r8, & + 0.020668832723669008_r8, 0.020383952463480459_r8, 0.020179230991996804_r8, & + 0.020022525309799952_r8, 0.019986590552035076_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,50) / & + 0.00060925536853504542_r8, 0.0006743391279922568_r8, & + 0.00077400179120661072_r8, 0.0012164400432229006_r8, & + 0.0012618942984051228_r8, 0.0012809514157630026_r8, & + 0.0014977850478915292_r8, 0.001609804534551717_r8, & + 0.0017035076398644021_r8, 0.0017849044264592329_r8, & + 0.0018956276251012611_r8, 0.0020641955721899985_r8, & + 0.0024439574567828018_r8, 0.0030140379913145021_r8, & + 0.0038478205455403985_r8, 0.0048696153671274273_r8, & + 0.0073786902531860939_r8, 0.010044952687628617_r8, 0.012505054822455772_r8, & + 0.0147129531806589_r8, 0.016451915139565433_r8, 0.017928925909347748_r8, & + 0.019033514815003739_r8, 0.020018373845527876_r8, 0.020827813120867292_r8, & + 0.021530670585259062_r8, 0.022137821590128268_r8, 0.023155003646559764_r8, & + 0.023807760420795132_r8, 0.023876244831936344_r8, 0.023569815812370866_r8, & + 0.023176821689047229_r8, 0.022776352865982525_r8, 0.022451540125432233_r8, & + 0.022171070536048595_r8, 0.021973748563829769_r8, 0.021864708856120414_r8, & + 0.021901223774450133_r8, 0.021911173205862246_r8, 0.021825298333386495_r8, & + 0.021595788014534927_r8, 0.021334427850977437_r8, 0.021200720852501739_r8, & + 0.02060529770684099_r8, 0.020562141416781865_r8 & + / +data delta_sa_ref(:,33,50) / & + 0.0011676854444299849_r8, 0.0012140341007954962_r8, & + 0.0013298711789528489_r8, 0.0021309321846079213_r8, & + 0.0022390444867043556_r8, 0.0021895679008824094_r8, & + 0.0024383506216273379_r8, 0.0024824872615816689_r8, & + 0.0026148971814446615_r8, 0.0028068414492491848_r8, & + 0.0030496793758890669_r8, 0.0033844023904839892_r8, & + 0.0041639653616429035_r8, 0.0052281353505809368_r8, & + 0.0065891475730724333_r8, 0.0080473675480083728_r8, & + 0.010707749316907931_r8, 0.013024888351753874_r8, 0.014928501287356602_r8, & + 0.016661858084811295_r8, 0.018018774620666467_r8, 0.019243592301466467_r8, & + 0.020222046654471262_r8, 0.021133812168954619_r8, 0.021872712057179888_r8, & + 0.022567406179937976_r8, 0.023176090883333215_r8, 0.024048074665171754_r8, & + 0.02461683938489647_r8, 0.024752169857677354_r8, 0.024581948282285746_r8, & + 0.024194568908277807_r8, 0.023767926242971416_r8, 0.023408179792725015_r8, & + 0.023069050026685946_r8, 0.022867963909807085_r8, 0.022797023852245409_r8, & + 0.022941306078940283_r8, 0.023005299022460603_r8, 0.022908108551394368_r8, & + 0.022859893506181929_r8, 0.022867274814850871_r8, 0.022847789135128332_r8, & + 0.022074294149613437_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,50) / & + 0.0021831311865703109_r8, 0.002300471806511592_r8, & + 0.0023330733173247079_r8, 0.0028826543052080196_r8, & + 0.0030989340398029168_r8, 0.0033090090279135347_r8, & + 0.003740540281971648_r8, 0.0036931537466788475_r8, & + 0.0042314598238078682_r8, 0.0052591963036168832_r8, & + 0.0059740185543001156_r8, 0.0066279811058961137_r8, & + 0.0078342370059814054_r8, 0.0093336228578311756_r8, & + 0.010773407687737666_r8, 0.01207330207619429_r8, 0.014211014518499673_r8, & + 0.016015957542929581_r8, 0.017415322881452758_r8, 0.018739841249528422_r8, & + 0.019800551524939616_r8, 0.020778348659473724_r8, 0.021555218374999754_r8, & + 0.022250912278664308_r8, 0.022824071303187886_r8, 0.02338707227132434_r8, & + 0.023887476211357957_r8, 0.024613112448770937_r8, 0.025052178037845676_r8, & + 0.025179871720492152_r8, 0.025054074917485156_r8, 0.024741142960512275_r8, & + 0.024375665664741097_r8, 0.024056174404341973_r8, 0.023757832465530704_r8, & + 0.02360684439179753_r8, 0.023564226647374079_r8, 0.023632301580230178_r8, & + 0.023722447682723209_r8, 0.02367265016022509_r8, 0.023556816407287136_r8, & + 0.023535876274295046_r8, 0.023539210122569296_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,50) / & + 0.0030556840949443956_r8, 0.0033107424454573826_r8, & + 0.0033511984728367404_r8, 0.0034688953431461396_r8, & + 0.0037474530842258437_r8, 0.0042248196678494818_r8, & + 0.0051478568280214649_r8, 0.0055569606808109299_r8, & + 0.007198864735395819_r8, 0.0092617222967914387_r8, 0.010263545116752065_r8, & + 0.011314874773451852_r8, 0.012114508328095604_r8, 0.013378259390010994_r8, & + 0.014337972319837761_r8, 0.01539573568439572_r8, 0.017127366336991339_r8, & + 0.018451783265659785_r8, 0.019523322761733269_r8, 0.020503699888833313_r8, & + 0.021325324365817151_r8, 0.022169139682616891_r8, 0.022884735200152759_r8, & + 0.023427402101105253_r8, 0.023848391956547952_r8, 0.024257641203865286_r8, & + 0.024614330329358218_r8, 0.025217354133692055_r8, 0.025439317054799009_r8, & + 0.02549418531475332_r8, 0.025353261668616952_r8, 0.025062199998140574_r8, & + 0.024750256038599112_r8, 0.024516534335050796_r8, 0.024277505731235292_r8, & + 0.024157191759424265_r8, 0.024084803458861829_r8, 0.02408153208198479_r8, & + 0.024135582497719833_r8, 0.024047599335878096_r8, 0.024054183371292757_r8, & + 0.023604333610783998_r8, 0.023113749755861331_r8, 0.023034255297749332_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,36,50) / & + 0.0022931123369815073_r8, 0.0024238815320040594_r8, & + 0.0026351403215966844_r8, 0.0028976591393079006_r8, 0.00325784796382592_r8, & + 0.0038956919765556547_r8, 0.0054340434633230912_r8, & + 0.0066540695071209081_r8, 0.0085947352875017941_r8, & + 0.010592468852299156_r8, 0.011559351244550542_r8, 0.012529077030651448_r8, & + 0.013317247371160548_r8, 0.01453245468834825_r8, 0.015269712078868162_r8, & + 0.016368513421524945_r8, 0.018177470533363851_r8, 0.019337131118247673_r8, & + 0.020333008865658041_r8, 0.021272351117087977_r8, 0.022036076091220876_r8, & + 0.022820232721551436_r8, 0.023545731086426484_r8, 0.02408147899828883_r8, & + 0.024482640532313273_r8, 0.02490694304673384_r8, 0.025251013254349516_r8, & + 0.02580850558774278_r8, 0.025976567481579164_r8, 0.026024064448584121_r8, & + 0.025891796358462438_r8, 0.025583547885738758_r8, 0.025288887930773336_r8, & + 0.025068441113903852_r8, 0.024808094610256029_r8, 0.024689317278772029_r8, & + 0.02459432334476213_r8, 0.024577704294266433_r8, 0.02451801536836842_r8, & + 0.024278002761797687_r8, 0.023750773859012985_r8, 0.023483807666344184_r8, & + 0.023473417268387201_r8, 0.023437784068942001_r8, 0.023412834544815471_r8 & + / +data delta_sa_ref(:,37,50) / & + 0.00089759692902083136_r8, 0.00085032733428614131_r8, & + 0.0010076733766502617_r8, 0.0016327098717639902_r8, & + 0.0019845750658284487_r8, 0.0025939482886640081_r8, & + 0.0048033605973175119_r8, 0.0066156410981301336_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,50) / & + 0.00054354277991064816_r8, 0.00064625058797176266_r8, & + 0.00097866197471911101_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,50) / & + 0.00079821778300166561_r8, 0.00086428627316835537_r8, & + 0.0013067588088671999_r8, 0.0016421049966463999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,50) / & + 0.0031354377331209962_r8, 0.0030060879017826518_r8, & + 0.0031681556475166841_r8, 0.005065985480871605_r8, & + 0.0057445315464987644_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,50) / & + 0.0036080047961243918_r8, 0.0034190463874817049_r8, & + 0.0034710658179818933_r8, 0.0044190030296265221_r8, & + 0.0052931943183186173_r8, 0.0060938554709900174_r8, & + 0.007766591426830268_r8, 0.0098525528539755852_r8, 0.012680263827808869_r8, & + 0.010480586825963582_r8, 0.008219169340138003_r8, 0.0048713092878789688_r8, & + 0.0038537086646730895_r8, 0.0035434357297457774_r8, & + 0.0039814790630006988_r8, 0.0037126540681031894_r8, & + 0.0035826365296990808_r8, 0.0032035181043617521_r8, & + 0.0030606154257399871_r8, 0.0030884364210241187_r8, & + 0.0030265624743044737_r8, 0.003005332587393896_r8, 0.003001514932291555_r8, & + 0.0031085023886961768_r8, 0.0032164396031994311_r8, 0.00341711790262784_r8, & + 0.0034938807042466133_r8, 0.0038444252448266662_r8, & + 0.0040096552199267556_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,50) / & + 0.0036153613036439699_r8, 0.0034695159886410274_r8, & + 0.0035049331297185965_r8, 0.0036010836354598715_r8, & + 0.003934967971442647_r8, 0.0044262476166907257_r8, & + 0.0057422224242143589_r8, 0.0072988718354263706_r8, & + 0.012204081944812324_r8, 0.0109154264964111_r8, 0.0089767748764406526_r8, & + 0.0049246874059833672_r8, 0.0032137539385730363_r8, & + 0.0030620057667238311_r8, 0.0035312813638621737_r8, & + 0.0033472714460468741_r8, 0.0032451358879282137_r8, & + 0.0029979084738419128_r8, 0.00284656458223468_r8, 0.0028732269859638852_r8, & + 0.002828463299713859_r8, 0.0028092870823026739_r8, & + 0.0027963047548035078_r8, 0.0028431973053096413_r8, & + 0.0029779806239627845_r8, 0.0031603852934980266_r8, & + 0.0032727292321543702_r8, 0.0039795377371247996_r8, & + 0.0039752864015983394_r8, 0.0038576554637233767_r8, & + 0.0037677061541635552_r8, 0.0037430611940815991_r8, & + 0.0036817844256287991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,50) / & + 0.0032017522243001418_r8, 0.0033479243219851594_r8, & + 0.0032014013761808855_r8, 0.0039777405520645273_r8, & + 0.0041758820274143344_r8, 0.0042863114729501496_r8, & + 0.0048983660169921841_r8, 0.0055892298198220907_r8, & + 0.0087125236334536175_r8, 0.0088029108801769354_r8, & + 0.0068112776752055305_r8, 0.004092818735180484_r8, & + 0.0025211945849733792_r8, 0.002542070048069109_r8, & + 0.0027967857826489413_r8, 0.002757359225247552_r8, & + 0.0026995131415852242_r8, 0.0026385971368794079_r8, & + 0.0026082926305786734_r8, 0.0026740766529391672_r8, & + 0.0027099508731330893_r8, 0.0027564821049494118_r8, & + 0.0028013029521843616_r8, 0.0028938391436381231_r8, & + 0.0030795255107543443_r8, 0.0032406086535077395_r8, & + 0.0034029197646785322_r8, 0.0039605051382060772_r8, & + 0.0040894582680382355_r8, 0.0039726971103502219_r8, & + 0.0038845441709577907_r8, 0.0038837406661132432_r8, & + 0.0037932998524002892_r8, 0.0038530820224921361_r8, & + 0.004074530776964267_r8, 0.004074530776964267_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,50) / & + 0.0026566927160657379_r8, 0.003202217241736824_r8, 0.002771587450022585_r8, & + 0.0037209119531597438_r8, 0.0036339292444459454_r8, & + 0.0038181756663249388_r8, 0.005027726821606902_r8, & + 0.0055916038420662263_r8, 0.0055117907811935351_r8, & + 0.0040650550495328402_r8, 0.0030324453919144041_r8, & + 0.0027979663430228808_r8, 0.0024480965468018571_r8, & + 0.0026147119478891986_r8, 0.0026483506729801745_r8, & + 0.0026375736551561223_r8, 0.0025938793862376828_r8, & + 0.002582921999914483_r8, 0.0026229638067251891_r8, & + 0.0027387152910529847_r8, 0.0028154620874401718_r8, & + 0.002904654310268524_r8, 0.0030001594305670322_r8, & + 0.0031627616325483453_r8, 0.0033437614214426861_r8, & + 0.0034964884480956841_r8, 0.0036638253231796149_r8, & + 0.0039487624597076016_r8, 0.0043286265710770081_r8, & + 0.0044106861860239016_r8, 0.0043044671768760418_r8, & + 0.0042624232797247993_r8, 0.0039695566930530498_r8, & + 0.0039942716866487107_r8, 0.0041194699711193487_r8, & + 0.0041542190897831998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,50) / & + 0.0024537749491200002_r8, 0.0033393391547733319_r8, & + 0.002927759117994666_r8, 0.0032623416287573329_r8, & + 0.0036707250173439987_r8, 0.0041489250555733319_r8, & + 0.0048764173245440003_r8, 0.0036447812059306668_r8, 0.002685045496576_r8, & + 0.0024174072849066663_r8, 0.0023817345442133323_r8, & + 0.0024381160058026667_r8, 0.002400034196906666_r8, & + 0.0024902815980373332_r8, 0.0025120095400959996_r8, & + 0.0025574575383039986_r8, 0.0025618587205973324_r8, & + 0.0025786758697813328_r8, 0.0026515501829120001_r8, & + 0.0027750149282986655_r8, 0.0028747132893013326_r8, & + 0.0029991972558506669_r8, 0.0031328542128640008_r8, & + 0.0032924549812906661_r8, 0.0034877284904106663_r8, & + 0.0036470976176639991_r8, 0.0038557136583679988_r8, & + 0.0041846441245013332_r8, 0.0043244164084906677_r8, & + 0.0042864272560639996_r8, 0.0042264321921706679_r8, & + 0.0042356051826346669_r8, 0.0041795480186879999_r8, & + 0.004186404597418667_r8, 0.0042333723271817123_r8, & + 0.0042570220636891426_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,51) / & + 0.0032336334340707647_r8, 0.0033986935444444443_r8, & + 0.0037190348157777778_r8, 0.004132015915555556_r8, & + 0.0041860405613333325_r8, 0.004333420593777778_r8, & + 0.0049760750817777772_r8, 0.0052272360177777772_r8, & + 0.0052368710924444433_r8, 0.0053203251502222226_r8, & + 0.0053911071711111114_r8, 0.0056042547699259237_r8, & + 0.0057274458836296289_r8, 0.0063448103807407404_r8, & + 0.0064855756598518497_r8, 0.0066090801769629615_r8, & + 0.0070341328548888891_r8, 0.0077018610022222224_r8, & + 0.0077166297911111089_r8, 0.0080690006133333336_r8, & + 0.0082710210044444447_r8, 0.0084613095688888893_r8, & + 0.0085980976755555549_r8, 0.0087571013688888897_r8, & + 0.0089071189822222223_r8, 0.0090212754800000003_r8, & + 0.0091525720933333318_r8, 0.0094104226666666662_r8, & + 0.0095460459111111097_r8, 0.0096364059377777797_r8, & + 0.0098577297600000013_r8, 0.0099908093257142852_r8, & + 0.010149627591999999_r8, 0.01023140092_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,51) / & + 0.0032336334340707647_r8, 0.0033986935444444443_r8, & + 0.0037190348157777778_r8, 0.004132015915555556_r8, & + 0.0041860405613333325_r8, 0.004333420593777778_r8, & + 0.0049760750817777772_r8, 0.0052272360177777772_r8, & + 0.0052368710924444433_r8, 0.0053203251502222226_r8, & + 0.0053911071711111114_r8, 0.0056042547699259237_r8, & + 0.0057274458836296289_r8, 0.0063448103807407404_r8, & + 0.0064855756598518497_r8, 0.0066090801769629615_r8, & + 0.0070341328548888891_r8, 0.0077018610022222224_r8, & + 0.0077166297911111089_r8, 0.0080690006133333336_r8, & + 0.0082710210044444447_r8, 0.0084613095688888893_r8, & + 0.0085980976755555549_r8, 0.0087571013688888897_r8, & + 0.0089071189822222223_r8, 0.0090212754800000003_r8, & + 0.0091525720933333318_r8, 0.0094104226666666662_r8, & + 0.0095460459111111097_r8, 0.0096364059377777797_r8, & + 0.0098577297600000013_r8, 0.0099908093257142852_r8, & + 0.010149627591999999_r8, 0.01023140092_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,51) / & + 0.0032336334340707647_r8, 0.0033986935444444443_r8, & + 0.0037190348157777778_r8, 0.004132015915555556_r8, & + 0.0041860405613333325_r8, 0.004333420593777778_r8, & + 0.0049760750817777772_r8, 0.0052272360177777772_r8, & + 0.0052368710924444433_r8, 0.0053203251502222226_r8, & + 0.0053911071711111114_r8, 0.0056042547699259237_r8, & + 0.0057274458836296289_r8, 0.0063448103807407404_r8, & + 0.0064855756598518497_r8, 0.0066090801769629615_r8, & + 0.0070341328548888891_r8, 0.0077018610022222224_r8, & + 0.0077166297911111089_r8, 0.0080690006133333336_r8, & + 0.0082710210044444447_r8, 0.0084613095688888893_r8, & + 0.0085980976755555549_r8, 0.0087571013688888897_r8, & + 0.0089071189822222223_r8, 0.0090212754800000003_r8, & + 0.0091525720933333318_r8, 0.0094104226666666662_r8, & + 0.0095460459111111097_r8, 0.0096364059377777797_r8, & + 0.0098577297600000013_r8, 0.0099908093257142852_r8, & + 0.010149627591999999_r8, 0.01023140092_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,51) / & + 0.0033941126775308638_r8, 0.0035037391555555555_r8, & + 0.0036742712869135799_r8, 0.0039550030824691352_r8, & + 0.0040449840666666658_r8, 0.0041629124992592593_r8, & + 0.0047602926755555552_r8, 0.0049897150637037042_r8, & + 0.0050431877866666669_r8, 0.0051880282345679006_r8, & + 0.0053060213817283939_r8, 0.0056423522360493821_r8, & + 0.0060269878928395065_r8, 0.0065775701916049381_r8, & + 0.0067600375382716035_r8, 0.0068906777609876553_r8, & + 0.0071947160459259266_r8, 0.0075855365664197526_r8, & + 0.0078121115135802478_r8, 0.0081423222187654316_r8, & + 0.0083253350167901228_r8, 0.0084819257812345679_r8, & + 0.0086176692098765429_r8, 0.0087701089970370367_r8, & + 0.0089147090765432091_r8, 0.0090363447293827139_r8, & + 0.0091648031466666658_r8, 0.0094230420074074075_r8, & + 0.0095725973738271606_r8, 0.0096747077170370368_r8, & + 0.0098503349650000006_r8, 0.0099933067797530837_r8, & + 0.010112719024938271_r8, 0.010096506870061727_r8, 0.0098671586065079368_r8, & + 0.0089984816224444441_r8, 0.0086824253800000008_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,51) / & + 0.0037597499861728397_r8, 0.0038031179916049379_r8, & + 0.003811706539259259_r8, 0.0039808149501234565_r8, & + 0.0041492299906172835_r8, 0.0042911028133333336_r8, & + 0.0047888040651851843_r8, 0.0050210646493827156_r8, & + 0.0054239960390123458_r8, 0.0058114976266666653_r8, & + 0.0061298008513580244_r8, 0.0064618512992592591_r8, & + 0.0069330565580246915_r8, 0.0073300619422222218_r8, & + 0.0075936628671604929_r8, 0.0078011377718518503_r8, & + 0.0080526740523456791_r8, 0.0081868088617283955_r8, & + 0.0082941795748148143_r8, 0.0084390107777777782_r8, & + 0.0085699930632098745_r8, 0.0087063281679012339_r8, & + 0.0088410546533333328_r8, 0.0089699938074074073_r8, & + 0.0090933767535802471_r8, 0.009224738081481481_r8, 0.009334438519012344_r8, & + 0.009531485133333335_r8, 0.0096506708775308623_r8, & + 0.0097534098765432089_r8, 0.0098678159876543197_r8, & + 0.009922555267160493_r8, 0.009598242832592592_r8, 0.0092413720366666674_r8, & + 0.0089522250360493816_r8, 0.0086166592003703683_r8, & + 0.0083909991719223979_r8, 0.0082421629296296293_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,51) / & + 0.0038733332977777778_r8, 0.0038712809214814813_r8, & + 0.0038193151234567901_r8, 0.0036419972074074073_r8, & + 0.0037739594562962954_r8, 0.0038694134439506175_r8, & + 0.0048130165585185177_r8, 0.005145427559012347_r8, & + 0.0056085250069135796_r8, 0.0059991513837037037_r8, & + 0.0063134330602469119_r8, 0.0066179890617283944_r8, & + 0.0070141346666666663_r8, 0.0072424291723456793_r8, & + 0.0074268194661728393_r8, 0.0075548988409876528_r8, & + 0.0077449285471604939_r8, 0.0079187888562962955_r8, & + 0.0080876106740740746_r8, 0.008236750018271604_r8, & + 0.0083822745916049372_r8, 0.0086209141832098764_r8, & + 0.008785917841481479_r8, 0.0089310541274074066_r8, 0.009057071880987656_r8, & + 0.0091850957861728394_r8, 0.0092952122459259261_r8, & + 0.0095113311679012342_r8, 0.0096644088558024699_r8, & + 0.0098007901851851834_r8, 0.0098931840982716037_r8, & + 0.0098835196709259263_r8, 0.0095847267328395061_r8, & + 0.0093343787240723099_r8, 0.0091311071296190458_r8, & + 0.0090721302345502623_r8, 0.0088679411295_r8, 0.0089579984999999997_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,51) / & + 0.0030339668622222224_r8, 0.003025637172839506_r8, & + 0.0030328020000000002_r8, 0.0023854529323456791_r8, & + 0.0024036099911111113_r8, 0.0024206853920987655_r8, & + 0.0030514860202469126_r8, 0.0037222617614814809_r8, & + 0.0041781851372839508_r8, 0.0044714808039506178_r8, & + 0.0046677693333333336_r8, 0.0050598009407407402_r8, & + 0.0055459552646913582_r8, 0.005745571971851853_r8, & + 0.0059206618577777766_r8, 0.0060407998306172836_r8, & + 0.0062728570261728397_r8, 0.0064826154306172829_r8, & + 0.0066668855402469123_r8, 0.0068228106691358027_r8, & + 0.0069559747599999997_r8, 0.0072087128824691342_r8, & + 0.0074031061995061716_r8, 0.0076342573911111116_r8, & + 0.0078601667027160503_r8, 0.0080315678582716047_r8, & + 0.0082075452582716056_r8, 0.0086375735619753074_r8, & + 0.009011106047901233_r8, 0.0093015820083950616_r8, & + 0.0095093804859259241_r8, 0.009628134689611989_r8, & + 0.0096813058294814795_r8, 0.0096561170706666657_r8, & + 0.0096877664812500004_r8, 0.0096352306749999984_r8, & + 0.0095525774599999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,51) / & + 0.0015417968454320987_r8, 0.0015701048464197532_r8, & + 0.0015820123269135805_r8, 0.00078821419209876547_r8, & + 0.0007280388888888889_r8, 0.00071039030172839507_r8, & + 0.00086887627851851856_r8, 0.00125655352_r8, 0.0016165883960493825_r8, & + 0.0018298598770370373_r8, 0.0019672766395061729_r8, & + 0.0025065986034567894_r8, 0.0032420334429629628_r8, & + 0.0035477265718518516_r8, 0.0038031179916049379_r8, & + 0.0040256436558024685_r8, 0.004445077260246913_r8, & + 0.0047793372483950613_r8, 0.0050928238602469134_r8, & + 0.0053693861886419747_r8, 0.0056370733762962965_r8, & + 0.0058706467417283959_r8, 0.0060716686795061732_r8, & + 0.0062740496232098764_r8, 0.0064976384553086424_r8, & + 0.0066418502474074057_r8, 0.0067912576948148144_r8, & + 0.0072016867293827162_r8, 0.0076568150404938253_r8, & + 0.008103918745185186_r8, 0.0084937130775308636_r8, & + 0.0088403612829629635_r8, 0.009194590337777777_r8, & + 0.0093778065244444434_r8, 0.0094876329242592605_r8, & + 0.009455695789735449_r8, 0.009395756826768957_r8, 0.0093915727846802712_r8, & + 0.0094280204066666661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,51) / & + 0.00046447494370370365_r8, 0.00049087848740740733_r8, & + 0.00046578772493827158_r8, 0.00022356109728395061_r8, & + 0.00021737623358024689_r8, 0.00022883071209876539_r8, & + 0.00031863604246913576_r8, 0.00045014528938271597_r8, & + 0.0005836884227160493_r8, 0.00066513632888888876_r8, & + 0.00073930846864197521_r8, 0.0010221666000000001_r8, & + 0.0014463705925925924_r8, 0.0016558793837037034_r8, & + 0.001866016830617284_r8, 0.0020663546429629627_r8, & + 0.0024957265560493821_r8, 0.0028873328962962957_r8, & + 0.0033191177382716048_r8, 0.00375468376_r8, 0.004211115607407407_r8, & + 0.0045623215674074078_r8, 0.0049706427560493828_r8, & + 0.0053694046785185178_r8, 0.0057170883170370359_r8, & + 0.0059951668153086406_r8, 0.0062241639362962953_r8, & + 0.0065977426469135802_r8, 0.0068914266009876528_r8, & + 0.0072069378543209864_r8, 0.0075830866577777769_r8, & + 0.007983068912098764_r8, 0.0083788724543209861_r8, & + 0.0086860909980246911_r8, 0.0089393098572839499_r8, & + 0.009082014724444443_r8, 0.0091913546093827167_r8, & + 0.0092801246717548469_r8, 0.009356526822689594_r8, & + 0.0093959450933333334_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,51) / & + 0.00019088024049382713_r8, 0.00019365372197530865_r8, & + 0.00017425784148148145_r8, 0.00016149058172839506_r8, & + 0.00016233187111111108_r8, 0.00016578947802469134_r8, & + 0.00018761677728395062_r8, 0.00021169059654320985_r8, & + 0.00025140685135802469_r8, 0.00028366244098765433_r8, & + 0.00030680252148148143_r8, 0.00042669088098765432_r8, & + 0.00059189792790123466_r8, 0.00066876034469135804_r8, & + 0.00075786305975308627_r8, 0.00083961604888888866_r8, & + 0.0010848750162962962_r8, 0.0013716345116049381_r8, & + 0.0017325846365432098_r8, 0.0021346839817283948_r8, & + 0.0026235193377777779_r8, 0.0030753934306172836_r8, & + 0.0036067462577777779_r8, 0.00416677688345679_r8, 0.0046804626335802471_r8, & + 0.0051581116143209873_r8, 0.0055946760893827155_r8, & + 0.0064401626740740753_r8, 0.0069518700074074069_r8, & + 0.0072026482029629614_r8, 0.0073824899871604939_r8, & + 0.0075742022720987649_r8, 0.0078409742108641965_r8, & + 0.0081482852039506167_r8, 0.0084758333669135797_r8, & + 0.0087820904370370378_r8, 0.0090305111733333318_r8, & + 0.0091764702587654318_r8, 0.0092777578024691373_r8, & + 0.0093112896888447975_r8, 0.0093777629411640195_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,51) / & + 0.00025966258123456788_r8, 0.00025324659407407405_r8, & + 0.00022424522271604941_r8, 0.00020782621234567898_r8, & + 0.00020701265777777779_r8, 0.00020887089037037034_r8, & + 0.00020242716839506173_r8, 0.00017551515308641979_r8, & + 0.00015267091061728393_r8, 0.00017560760246913577_r8, & + 0.00018567534024691357_r8, 0.000297243255308642_r8, & + 0.00042834572493827158_r8, 0.00046488172098765423_r8, & + 0.00050422817827160495_r8, 0.00054565474666666656_r8, & + 0.0006474784967901233_r8, 0.0007955639180246912_r8, & + 0.0010266041703703703_r8, 0.0013359860296296296_r8, & + 0.0017727261585185185_r8, 0.002272692420246913_r8, & + 0.0028296907061728391_r8, 0.0034356224503703709_r8, & + 0.0040400195348148146_r8, 0.0046410052370370377_r8, & + 0.0051949619382716042_r8, 0.0063466316335802474_r8, & + 0.0072063276883950617_r8, 0.0076944419392592596_r8, & + 0.0079968900948148135_r8, 0.0080872316316049388_r8, & + 0.0081388091422222222_r8, 0.0081717488572839482_r8, & + 0.0083418094967901216_r8, 0.0086160605906172825_r8, & + 0.0088911691524691354_r8, 0.0090862639291975304_r8, & + 0.0091920572246913593_r8, 0.0092506230832010584_r8, & + 0.0093417852733509704_r8, 0.0093208114799999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,51) / & + 0.00024267962962962967_r8, 0.00023475671753086421_r8, & + 0.0002387875106172839_r8, 0.00023513576000000003_r8, & + 0.00023707719703703706_r8, 0.00022918201975308643_r8, & + 0.00019360749728395061_r8, 0.00015356766962962965_r8, & + 0.00014876954666666664_r8, 0.00015867087555555554_r8, & + 0.00016476328987654321_r8, 0.00026536670814814815_r8, & + 0.00039576656246913575_r8, 0.00043637957629629636_r8, & + 0.00047151958666666658_r8, 0.0005088691372839506_r8, & + 0.00058418764938271601_r8, 0.00069151213777777782_r8, & + 0.00087369289135802452_r8, 0.0011564031037037039_r8, & + 0.0015926809856790125_r8, 0.0021425329343209873_r8, & + 0.0027631548854320995_r8, 0.0034135362928395061_r8, & + 0.0040660163012345672_r8, 0.0047086412054320988_r8, & + 0.0053004189491358024_r8, 0.0065654685674074063_r8, & + 0.0075814872834567898_r8, 0.0082388751984567906_r8, & + 0.008654379704135802_r8, 0.0088111761684567906_r8, & + 0.0087610154446296305_r8, 0.0085584415128395052_r8, & + 0.0084845478768518501_r8, 0.0086136025926543212_r8, & + 0.0088405750721604944_r8, 0.0090313605520370346_r8, & + 0.0091568559666049369_r8, 0.0092289610372134033_r8, & + 0.009311404260044091_r8, 0.0093312952400000006_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,51) / & + 0.0002214347614814815_r8, 0.00021343788987654319_r8, & + 0.00025296000098765428_r8, 0.00021383542222222225_r8, & + 0.0002123007624691358_r8, 0.00019538252543209873_r8, & + 0.0001730097748148148_r8, 0.0001428250513580247_r8, & + 0.00015703452148148149_r8, 0.0001591608572839506_r8, & + 0.00016835957086419758_r8, 0.00021442709827160491_r8, & + 0.00030156064148148141_r8, 0.00036551712444444443_r8, & + 0.00040774800246913583_r8, 0.00045621921382716046_r8, & + 0.000534107818765432_r8, 0.00064749698666666678_r8, & + 0.00083091656197530864_r8, 0.0011196637190123457_r8, & + 0.0015531496296296299_r8, 0.0021212048617283955_r8, & + 0.0027851208587654319_r8, 0.0034813294251851848_r8, & + 0.0041818646227160493_r8, 0.0048664060770370358_r8, & + 0.0055525376607407405_r8, 0.0069966987130864198_r8, & + 0.0080627880148148139_r8, 0.0087540782740740744_r8, & + 0.0091942205402469127_r8, 0.0093742287333333334_r8, & + 0.0093315910780246893_r8, 0.0090933027940740714_r8, & + 0.0088240532118518521_r8, 0.0087116902320987632_r8, & + 0.008795913930987654_r8, 0.0089358146102645492_r8, & + 0.0091080283298589065_r8, 0.0092291467614197525_r8, & + 0.0093024334672098755_r8, 0.0093317667318518534_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,51) / & + 0.00019672304148148152_r8, 0.00019213755209876543_r8, & + 0.00024509255851851852_r8, 0.00020480311753086418_r8, & + 0.00020361052049382717_r8, 0.00018330863604938268_r8, & + 0.00015089588246913581_r8, 0.00014747525530864195_r8, & + 0.00014926877333333331_r8, 0.0001533365461728395_r8, & + 0.00014975875506172836_r8, 0.00015337352592592596_r8, & + 0.00020639324691358024_r8, 0.00027646987901234566_r8, & + 0.00032326775654320983_r8, 0.00037479904246913573_r8, & + 0.00045929777827160494_r8, 0.00056505987209876552_r8, & + 0.00073186629333333328_r8, 0.0010097783827160494_r8, & + 0.0014143831061728394_r8, 0.0019982102029629631_r8, & + 0.0026903232617283947_r8, 0.003448260280987654_r8, & + 0.0042281447837037031_r8, 0.0049813206597530864_r8, & + 0.0057541882543209865_r8, 0.0073827765802469145_r8, & + 0.0084662556108641967_r8, 0.0091528586864197542_r8, & + 0.0095992690207407378_r8, 0.0098038132799999986_r8, & + 0.0098152030439506155_r8, 0.0095963938449382703_r8, & + 0.0091858631160493809_r8, 0.0089005458311111115_r8, & + 0.008847248761975306_r8, 0.0089425363407407404_r8, & + 0.0091202148093827151_r8, 0.0092580475940740748_r8, & + 0.0093187406138271617_r8, 0.0093370086118518495_r8, 0.009304243395_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,51) / & + 0.00017549666320987656_r8, 0.00017337957234567902_r8, & + 0.00020027309777777779_r8, 0.0001735367362962963_r8, & + 0.00017227942469135796_r8, 0.00015756148296296296_r8, & + 0.00012421499061728394_r8, 0.00012506552493827159_r8, & + 0.00012917027753086421_r8, 0.00013942291407407408_r8, & + 0.00014672641530864196_r8, 0.00014801146172839505_r8, & + 0.0001709111738271605_r8, 0.00021741321333333333_r8, & + 0.00027065481283950615_r8, 0.00032631858617283941_r8, & + 0.00044383099654320981_r8, 0.00058406746518518526_r8, & + 0.00077344078074074063_r8, 0.0010641016400000001_r8, & + 0.0015084780879012342_r8, 0.0021438734503703705_r8, & + 0.0028924915718518515_r8, 0.0037118981856790116_r8, & + 0.0045576343837037047_r8, 0.0053840856404938266_r8, & + 0.006185325950617283_r8, 0.0077617358449382726_r8, & + 0.0087057180019753082_r8, 0.0092961367397530834_r8, & + 0.0096679866469135799_r8, 0.0098517760197530859_r8, & + 0.0098684353985185203_r8, 0.0096605074918518496_r8, & + 0.0092617085896296285_r8, 0.0089666933644444446_r8, & + 0.0088863640958024692_r8, 0.0089562928088888875_r8, & + 0.0091059868493827151_r8, 0.0092254661203703698_r8, & + 0.009283366838589064_r8, 0.0093296750645679022_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,51) / & + 0.00015061415863007075_r8, 0.00014969347495013662_r8, & + 0.00014166898982397367_r8, 0.00011479471777705346_r8, & + 0.00011357360047524607_r8, 0.00011283705353129874_r8, & + 0.00010743893974473744_r8, 0.00011029790485611193_r8, & + 0.00010697375220119175_r8, 0.00011038512752052671_r8, & + 0.00011505638577029793_r8, 0.00013605766507995389_r8, & + 0.00017653867277558517_r8, 0.00022950221288969218_r8, & + 0.00029486106275786005_r8, 0.00037627857428551104_r8, & + 0.00060463720113065346_r8, 0.00083946968795680645_r8, & + 0.0011473075448981598_r8, 0.0015592117318935438_r8, & + 0.0021383992978293853_r8, 0.0029719184617916705_r8, & + 0.0038463935124002893_r8, 0.0047463085067965616_r8, & + 0.0056005866648895742_r8, 0.0063470963753945011_r8, & + 0.0071109343218965062_r8, 0.0083686560685366628_r8, & + 0.0091944414895875019_r8, 0.0097041901232419944_r8, & + 0.010052935409793894_r8, 0.010240483521100059_r8, 0.010278115255091475_r8, & + 0.010140817089895397_r8, 0.0098421957611605458_r8, & + 0.0095449603036491717_r8, 0.009407390779052692_r8, & + 0.0093826692108205673_r8, 0.0094565286361914958_r8, & + 0.0095619287461555357_r8, 0.0096476736440397198_r8, & + 0.009720992115830435_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,51) / & + 0.00012298257427518681_r8, 0.00012189782153860742_r8, & + 0.00010877940993922632_r8, 9.9635045748622193e-05_r8, & + 9.7637884168190947e-05_r8, 0.00010133820892381232_r8, & + 0.00010049676521226007_r8, 0.00011127332744575472_r8, & + 0.00011267235433966091_r8, 0.00011333131628244277_r8, & + 0.00011273318159591767_r8, 0.00012568938717861399_r8, & + 0.00016607868533312264_r8, 0.00024181875724886909_r8, & + 0.00036724455965037045_r8, 0.00050523119046889877_r8, & + 0.00089540762572807903_r8, 0.0012987531619668539_r8, & + 0.0018711984705995059_r8, 0.0025518757438650727_r8, & + 0.0033633823074629521_r8, 0.0043767948103292046_r8, & + 0.0052797450158331254_r8, 0.0060999194634475985_r8, & + 0.0068874499502042602_r8, 0.0074641430288988437_r8, & + 0.0080352400000178043_r8, 0.0089221191375248778_r8, & + 0.0095968353396772808_r8, 0.010044574635107471_r8, 0.010378070205411363_r8, & + 0.010557794471898094_r8, 0.01060953493261752_r8, 0.010548193541218562_r8, & + 0.010372218840599662_r8, 0.01015250499792811_r8, 0.0099848685193209136_r8, & + 0.0098751833987773593_r8, 0.0098470728788456908_r8, & + 0.0098917037919231034_r8, 0.010069161518980267_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,51) / & + 0.00011919030823865677_r8, 0.00011584565524128396_r8, & + 0.00011311489424975803_r8, 0.00011877751878644938_r8, & + 0.00011943374817200987_r8, 0.00012265138903024198_r8, & + 0.00012379449828250861_r8, 0.00011774025298346666_r8, & + 0.00011601500476013829_r8, 0.00012013231493728393_r8, & + 0.00012563617430004937_r8, 0.00013815745435034074_r8, & + 0.0001661001249613037_r8, 0.00026550829252879011_r8, & + 0.0004541530721875752_r8, 0.00071828539987567406_r8, & + 0.0012669566722738174_r8, 0.0019293143935478518_r8, & + 0.0027560681602497193_r8, 0.0037463500560952884_r8, & + 0.0047345150829551791_r8, 0.0056845129620032783_r8, & + 0.0064600808366314273_r8, 0.0071032914779299936_r8, & + 0.0077030745519873585_r8, 0.0081467173696610374_r8, & + 0.0086035482811154963_r8, 0.009372522108853254_r8, & + 0.0099714796040062028_r8, 0.01040201900265853_r8, 0.010723010431301964_r8, & + 0.010906659400154549_r8, 0.010953790165077575_r8, 0.010913096004914129_r8, & + 0.010809686954963708_r8, 0.01069149157514832_r8, 0.010578326405260153_r8, & + 0.010457153611415174_r8, 0.010380521253078161_r8, 0.010346164091428271_r8, & + 0.010300593194339066_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,51) / & + 0.00013586653374693663_r8, 0.0001307813285786864_r8, & + 0.00012903845999607573_r8, 0.00012836558035342222_r8, & + 0.00013324120005920657_r8, 0.00013112328380692018_r8, & + 0.0001444374760804082_r8, 0.00011912175837729713_r8, & + 0.00012432830249750127_r8, 0.00013245801227841316_r8, & + 0.00014140400228156052_r8, 0.00016025566308967241_r8, & + 0.0003180624855126387_r8, 0.00058086059381717869_r8, & + 0.0010130589098631903_r8, 0.0015018453007749795_r8, & + 0.0023189748956740481_r8, 0.0031287579685729981_r8, & + 0.0039632941876705449_r8, 0.0048646771384808834_r8, & + 0.005702478478467372_r8, 0.0064733227786029305_r8, & + 0.0071540894531334324_r8, 0.0077847100480655275_r8, & + 0.0083092473065484642_r8, 0.0087333159128135645_r8, & + 0.0091563365917663331_r8, 0.010012063004200558_r8, 0.010671529177256247_r8, & + 0.011172725233708774_r8, 0.011560072260787094_r8, 0.011776805690604405_r8, & + 0.011813585733104398_r8, 0.011704097735971551_r8, 0.011541373455541836_r8, & + 0.011403936055116255_r8, 0.011317742930595799_r8, 0.011149996241845045_r8, & + 0.011012957132589681_r8, 0.010934426562885111_r8, 0.01088229835438268_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,51) / & + 0.00014987994968084333_r8, 0.00014496997968245837_r8, & + 0.00014452237907537651_r8, 0.00013908215465585172_r8, & + 0.00014696702931964116_r8, 0.00014804177469734288_r8, & + 0.00017182468410393968_r8, 0.00014866615276108074_r8, & + 0.00014668154574810135_r8, 0.00016201888976271172_r8, & + 0.00018824932065655969_r8, 0.0002789394064502391_r8, & + 0.00065681045704934983_r8, 0.0011717487879887487_r8, & + 0.0017647728117747982_r8, 0.0022914136670867656_r8, & + 0.0033187179829805187_r8, 0.0040221649436193094_r8, & + 0.0048403847312539832_r8, 0.0055967477037792259_r8, & + 0.006344013495104708_r8, 0.0070094075249530121_r8, 0.007661175150916231_r8, & + 0.0083149871678603136_r8, 0.008874830367361853_r8, & + 0.0093761910728676363_r8, 0.0098018920961573993_r8, 0.01073262942473749_r8, & + 0.011458431262754401_r8, 0.012002920727324569_r8, 0.012423501447869975_r8, & + 0.012661162975390692_r8, 0.012716512171209456_r8, 0.012632958413952653_r8, & + 0.012474662870163728_r8, 0.012334288529446071_r8, 0.012214477175345073_r8, & + 0.011949055175246201_r8, 0.011755007485945101_r8, 0.011584610049335954_r8, & + 0.011529028192600753_r8, 0.011646252403220089_r8, 0.011524528933821334_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,51) / & + 0.00016688482718625182_r8, 0.00016438083935336296_r8, & + 0.0001652989682254222_r8, 0.00016670597091247407_r8, & + 0.00017415831565321482_r8, 0.00017189280285202964_r8, & + 0.00021243355824165932_r8, 0.0002109669367966815_r8, & + 0.00021329206835579256_r8, 0.00028165093619365926_r8, & + 0.00045144515876669632_r8, 0.00080001218885641489_r8, & + 0.001488322672862815_r8, 0.002005575016628148_r8, 0.0023694044487469037_r8, & + 0.0028297208786929782_r8, 0.0038410338693904587_r8, & + 0.0046679818130778072_r8, 0.0055948150237942517_r8, & + 0.006387863741724919_r8, 0.0071290799115147846_r8, & + 0.0077332087093297764_r8, 0.0082490898216628153_r8, 0.00892740820184083_r8, & + 0.0095721731450581337_r8, 0.01017626617161837_r8, 0.010670338742302105_r8, & + 0.011644390009295883_r8, 0.012395705596678403_r8, 0.012922449246705542_r8, & + 0.01328918807421108_r8, 0.013486645400461747_r8, 0.013522869757777544_r8, & + 0.013444830294121454_r8, 0.013333173303339881_r8, 0.013202480256076697_r8, & + 0.01301744577558471_r8, 0.012710159412255314_r8, 0.012480175156300935_r8, & + 0.012337234585012203_r8, 0.012196898757257253_r8, 0.012104791395972_r8, & + 0.0119821720060768_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,51) / & + 0.00019812145106004277_r8, 0.00019703287165861397_r8, & + 0.00019923477090241312_r8, 0.00022831715922922146_r8, & + 0.00023510841026768065_r8, 0.00023942561721198351_r8, & + 0.00029060121929960818_r8, 0.00031680134625672427_r8, & + 0.00040084462413521652_r8, 0.00062733099073476208_r8, & + 0.001058433174141511_r8, 0.0015016952842710387_r8, & + 0.0021704417731419788_r8, 0.0024803034257145939_r8, & + 0.0027944699150110421_r8, 0.0032271802270789924_r8, & + 0.0042039823163338135_r8, 0.0051934020304688329_r8, & + 0.0062149100965050589_r8, 0.007108720376621404_r8, & + 0.0078490657015772292_r8, 0.0084628636711169582_r8, & + 0.009067829303240545_r8, 0.0097757027994605679_r8, 0.010539291768680995_r8, & + 0.011217761250841965_r8, 0.011750323982550069_r8, 0.012788395773796675_r8, & + 0.013543078184278134_r8, 0.014081158034316208_r8, 0.014400482905548974_r8, & + 0.014596303495601447_r8, 0.014610356066056256_r8, 0.014518680362147292_r8, & + 0.014396351251911731_r8, 0.014223802139119909_r8, 0.013967934952624699_r8, & + 0.013500826149982619_r8, 0.013138087990007648_r8, 0.012909967208028401_r8, & + 0.012766811727146306_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,51) / & + 0.00020779698453496622_r8, 0.00020564378072309461_r8, & + 0.00020550279714017444_r8, 0.00026812514133544028_r8, & + 0.00027698147368069789_r8, 0.00028421008647769547_r8, & + 0.00035916208583379748_r8, 0.00043475491965771845_r8, & + 0.00059782165833892331_r8, 0.00089980849295391596_r8, & + 0.0015418349128829892_r8, 0.0020237296159934678_r8, & + 0.002689659161572188_r8, 0.0029854299018493365_r8, & + 0.0032916077938838642_r8, 0.0037115209872668961_r8, & + 0.0046366808917677289_r8, 0.0057441069356056222_r8, & + 0.0067753121278411304_r8, 0.0076810162978989812_r8, & + 0.0084860581897518335_r8, 0.0091994992027746476_r8, & + 0.010129221848686355_r8, 0.010882779099394632_r8, 0.011662226062602796_r8, & + 0.012339049794134438_r8, 0.01292364462905758_r8, 0.014018971718143045_r8, & + 0.014832014428326625_r8, 0.015370820953915742_r8, 0.01564755479084852_r8, & + 0.015775264632115076_r8, 0.015772045812131007_r8, 0.01564361663417432_r8, & + 0.01546804858824268_r8, 0.015190905990467218_r8, 0.014839238555282344_r8, & + 0.014281889163949651_r8, 0.013773401432510858_r8, 0.013463778826342346_r8, & + 0.013236085556554719_r8, 0.013196986162961066_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,51) / & + 0.00018902653126463207_r8, 0.00018949074180310121_r8, & + 0.00018762063649098275_r8, 0.00027454737560888887_r8, & + 0.00027430863876053325_r8, 0.00026611200696699256_r8, & + 0.00038024148363919013_r8, 0.00053583159297580243_r8, & + 0.00080864149485499262_r8, 0.0014333627743685134_r8, & + 0.0022374152164717823_r8, 0.0028104499683163256_r8, & + 0.0033918139835368293_r8, 0.0036664276749369287_r8, & + 0.0039410148400205432_r8, 0.0043090276917606314_r8, & + 0.0052143576101996237_r8, 0.0063833325881726011_r8, & + 0.0074339206156777086_r8, 0.008434864641883099_r8, & + 0.0092614777161559702_r8, 0.010094059211637727_r8, 0.01103188386776956_r8, & + 0.011833204099274982_r8, 0.012563049171014399_r8, 0.013215875082842663_r8, & + 0.01385141909948164_r8, 0.01490868512716158_r8, 0.015842381625290596_r8, & + 0.016329132901191971_r8, 0.016608171513760546_r8, 0.016727094816874039_r8, & + 0.016756926122918202_r8, 0.016622162582547891_r8, 0.016389908197519946_r8, & + 0.016009106582287151_r8, 0.015580937871077399_r8, 0.015170155028743876_r8, & + 0.014716336174757334_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,25,51) / & + 0.00018092594920256788_r8, 0.00018265336222064195_r8, & + 0.00018849366337698762_r8, 0.00025303858789359673_r8, & + 0.00024400394361652676_r8, 0.00021252663973162137_r8, & + 0.00039057356723739916_r8, 0.00053496336014498757_r8, & + 0.0010576703136379257_r8, 0.0019154268445015969_r8, & + 0.0025284939503923622_r8, 0.003040877554658239_r8, & + 0.0036258262153103537_r8, 0.0039755039648262059_r8, & + 0.0043351349036366751_r8, 0.0047440793712250203_r8, & + 0.0058092351412746008_r8, 0.0069727574859645095_r8, & + 0.008032977790248164_r8, 0.0090737304240106672_r8, 0.009985077887316016_r8, & + 0.010850182778320066_r8, 0.01171977071739483_r8, 0.0125675329300825_r8, & + 0.013296953641404969_r8, 0.013964297161093795_r8, 0.01459492629933498_r8, & + 0.015698139994290698_r8, 0.016625637398352329_r8, 0.017056452148615932_r8, & + 0.017361912923238583_r8, 0.017484511263826899_r8, 0.017539294933828675_r8, & + 0.017405752883385778_r8, 0.017169909595316935_r8, 0.016749236541720953_r8, & + 0.01626050547165692_r8, 0.015810571911919605_r8, 0.015517400153276387_r8, & + 0.015355526766670726_r8, 0.015277129683867378_r8, 0.01521207716040637_r8, & + 0.015154995414157333_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,51) / & + 0.00020248879737236545_r8, 0.00020254542175641811_r8, & + 0.00021337483520649219_r8, 0.00021674398605762632_r8, & + 0.00021313418157426831_r8, 0.00020629678719990784_r8, & + 0.0002736798042225909_r8, 0.00035759714138865515_r8, & + 0.00052340749399090042_r8, 0.0009354772928382287_r8, & + 0.0013821021220537019_r8, 0.0018128579676384134_r8, & + 0.0029095307257785939_r8, 0.0037660736272473933_r8, & + 0.0045478440295746367_r8, 0.0053280572613404317_r8, & + 0.0068420092616607872_r8, 0.0080282901075643259_r8, & + 0.0090056552885055229_r8, 0.010052116374086992_r8, 0.010965864059545007_r8, & + 0.011787243218517096_r8, 0.012604106582860984_r8, 0.013390251218856297_r8, & + 0.014092492673781558_r8, 0.01471077432325271_r8, 0.015308048326240329_r8, & + 0.01644701949926786_r8, 0.017387040898926315_r8, 0.017853413482080152_r8, & + 0.018161351038654617_r8, 0.018287750819956199_r8, 0.018345550159977971_r8, & + 0.018248665838863837_r8, 0.01805212260181701_r8, 0.017715569508301644_r8, & + 0.017234157084283525_r8, 0.016746004336263706_r8, 0.016375753667338708_r8, & + 0.016072291459403837_r8, 0.015905787458096947_r8, 0.015807835615670968_r8, & + 0.0157227430191909_r8, 0.015676913720055467_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,51) / & + 0.00022371129424908636_r8, 0.00021750520416711111_r8, & + 0.0002196955889019259_r8, 0.00023549556412239008_r8, & + 0.00023659075648979749_r8, 0.00023472162818275551_r8, & + 0.00023917541047687899_r8, 0.00025446429592588642_r8, & + 0.00028895555421677038_r8, 0.00035633178865967407_r8, & + 0.000503189783846558_r8, 0.00073989736085554553_r8, & + 0.0014881911965278817_r8, 0.0025587928446457677_r8, & + 0.0036835992136678717_r8, 0.0050469092751815109_r8, & + 0.0074342826104806716_r8, 0.0090648634173364148_r8, & + 0.010143584091538017_r8, 0.01115609673648861_r8, 0.011971153498878104_r8, & + 0.012674398421837749_r8, 0.013635816692207566_r8, 0.014343018910254775_r8, & + 0.015042992858677096_r8, 0.01562700783923832_r8, 0.016183161125972702_r8, & + 0.017280850531977796_r8, 0.018176688683387263_r8, 0.018668298633269093_r8, & + 0.018965417021264273_r8, 0.019073300770736358_r8, 0.01912036483740508_r8, & + 0.019014875908576395_r8, 0.018846800386591606_r8, 0.018592717843433786_r8, & + 0.01824778309591751_r8, 0.017901822778977183_r8, 0.01750195344307184_r8, & + 0.016975640810620193_r8, 0.01655875364558183_r8, 0.016327490791351401_r8, & + 0.016200136698933543_r8, 0.016099196377804801_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,51) / & + 0.00021455349595874532_r8, 0.00020090232758525019_r8, & + 0.00019539289239771195_r8, 0.0002410798778378124_r8, & + 0.00023544777694401483_r8, 0.00022930965228921816_r8, & + 0.00018728710657560987_r8, 0.00022356844590048399_r8, & + 0.00025717105721174158_r8, 0.0003061105150784873_r8, & + 0.00040200107722321976_r8, 0.00058341717949370541_r8, & + 0.0011060550737908182_r8, 0.0018436909892482209_r8, & + 0.0027202765147658621_r8, 0.0038904743328040774_r8, 0.006717802149395_r8, & + 0.0091178333441004119_r8, 0.010883032335387849_r8, 0.012118471477139719_r8, & + 0.013009837034962826_r8, 0.013737444650532173_r8, 0.014551126289762168_r8, & + 0.015220499519240956_r8, 0.015872156004964361_r8, 0.016463686763529807_r8, & + 0.01697949803987649_r8, 0.018034718015009221_r8, 0.018919643930036353_r8, & + 0.019495993975771824_r8, 0.019792613118989066_r8, 0.01984595818149618_r8, & + 0.01980745307869692_r8, 0.019646061059540261_r8, 0.019459635778881552_r8, & + 0.019252188395436368_r8, 0.019011930033603533_r8, 0.018843049561489227_r8, & + 0.018600377764609773_r8, 0.018300056989053976_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,51) / & + 0.00020647757307720163_r8, 0.00020015540798785841_r8, & + 0.00020328549952719014_r8, 0.00020604369900244281_r8, & + 0.00020455613074612671_r8, 0.00019893126327693165_r8, & + 0.00020147252571480493_r8, 0.00025863543506428311_r8, & + 0.00031466717271885428_r8, 0.00038633387256741393_r8, & + 0.0004830722957359671_r8, 0.00066533039814002301_r8, & + 0.0010524700368462747_r8, 0.0015044118677182948_r8, & + 0.0020258665235677498_r8, 0.0028133634647577285_r8, & + 0.0052796586607137168_r8, 0.0082860186112257827_r8, & + 0.010841025559967287_r8, 0.012868612084331403_r8, 0.014140204024433566_r8, & + 0.015002358297487403_r8, 0.015736752151027437_r8, 0.016341634593251948_r8, & + 0.016940024419857751_r8, 0.0175195097332062_r8, 0.018023392489027922_r8, & + 0.019104064340733522_r8, 0.019977840240789829_r8, 0.020522321213606847_r8, & + 0.02074733140787732_r8, 0.020711195895650979_r8, 0.020540094555169284_r8, & + 0.020347376988463013_r8, 0.020140178874511652_r8, 0.019934646527097321_r8, & + 0.019709866828429064_r8, 0.019546109526096724_r8, 0.019359555848988238_r8, & + 0.019237413988060392_r8, 0.018962917259616244_r8, 0.018829598312754044_r8, & + 0.018784361129646931_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,51) / & + 0.00029019170822577775_r8, 0.0003019090573191111_r8, & + 0.00031510900976711105_r8, 0.0003397871817351111_r8, & + 0.0003497190300142223_r8, 0.00037294648257066667_r8, & + 0.00036271173683199997_r8, 0.00045337372906844442_r8, & + 0.0005436849979306666_r8, 0.00064891795216888892_r8, & + 0.00077109722217066673_r8, 0.0010355585883057778_r8, & + 0.0014467339186666664_r8, 0.0018331673091733335_r8, & + 0.0023139612293173327_r8, 0.0030143398656675554_r8, & + 0.0050315731784213334_r8, 0.0079350206899484448_r8, & + 0.010798358201041776_r8, 0.013255781232387553_r8, 0.014988593830618664_r8, & + 0.016254115358613333_r8, 0.017127161488881774_r8, 0.017791176488113777_r8, & + 0.018333713664092442_r8, 0.018894408745672886_r8, 0.019386840305052448_r8, & + 0.020499542093715559_r8, 0.021219178631704888_r8, 0.021689721864138669_r8, & + 0.021851772005000887_r8, 0.021682053775820442_r8, 0.0214284010664_r8, & + 0.02120832812731489_r8, 0.020972205608366219_r8, 0.020760994412719554_r8, & + 0.020473570629305115_r8, 0.02032735058151949_r8, 0.020192491750569776_r8, & + 0.019961950117313419_r8, 0.019635287960760004_r8, 0.019470571809833175_r8, & + 0.019318844380231241_r8, 0.019284499224454403_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,51) / & + 0.00046608724614637028_r8, 0.00049478340535882783_r8, & + 0.00052334845704775628_r8, 0.00067384350561885747_r8, & + 0.0006927885427688294_r8, 0.0007118482990018895_r8, & + 0.00070247411106955061_r8, 0.0008258790675914271_r8, & + 0.00096652466345739565_r8, 0.0011126767753115918_r8, & + 0.001264712337284161_r8, 0.0014908072616102977_r8, & + 0.0018851623039457448_r8, 0.0023335991997369934_r8, & + 0.0029291715138089077_r8, 0.0036470343704527015_r8, & + 0.0056939669699930581_r8, 0.008485639468500698_r8, 0.011382378258676567_r8, & + 0.013874847000050089_r8, 0.015783461162267122_r8, 0.017248079696052458_r8, & + 0.018229976716643656_r8, 0.019038697087093194_r8, 0.019658180135768751_r8, & + 0.020218615633534838_r8, 0.020707564754096613_r8, 0.021924668671899232_r8, & + 0.022621275721290846_r8, 0.022938900085480815_r8, 0.022877377880064737_r8, & + 0.022611180441979094_r8, 0.022268596482997248_r8, 0.021950857399724192_r8, & + 0.021697836267753238_r8, 0.021492964373798395_r8, 0.021237501364201713_r8, & + 0.021136859951452602_r8, 0.021043730590090692_r8, 0.020702930922561879_r8, & + 0.020361418357873876_r8, 0.020178965850442522_r8, 0.019976595242210009_r8, & + 0.019939952737938645_r8, 0.019938504409514661_r8 & + / +data delta_sa_ref(:,32,51) / & + 0.00057654513971317205_r8, 0.00062110714470107651_r8, & + 0.0007118978107002338_r8, 0.0011248749713947126_r8, & + 0.0011585111202295573_r8, 0.0011719285429629763_r8, & + 0.0013214730425124873_r8, 0.0014452432958827455_r8, & + 0.0015978685838390519_r8, 0.0017305613391524874_r8, & + 0.0018856276889611724_r8, 0.0021274611614399211_r8, & + 0.0025835356900108779_r8, 0.0031609562450090408_r8, & + 0.0039808163292217166_r8, 0.0050062306563139957_r8, & + 0.0075422750671141139_r8, 0.010307476263669941_r8, 0.012821399603614709_r8, & + 0.015012429382672434_r8, 0.016745717977135859_r8, 0.018129581193613277_r8, & + 0.019127537783593627_r8, 0.020067531780761986_r8, 0.020861920647163284_r8, & + 0.021545889343290443_r8, 0.022070751311370498_r8, 0.023144246139499967_r8, & + 0.023817137465290128_r8, 0.023976378872611854_r8, 0.023682912733227961_r8, & + 0.023355945124283843_r8, 0.023000896886582703_r8, 0.022710343186512345_r8, & + 0.022425648034887693_r8, 0.022236322644599071_r8, 0.022117232496021655_r8, & + 0.022111357112666617_r8, 0.022098613086306267_r8, 0.021993613756835333_r8, & + 0.021464357877421_r8, 0.021004104683856439_r8, 0.020844464289183677_r8, & + 0.020521952279491589_r8, 0.02050123271483769_r8 & + / +data delta_sa_ref(:,33,51) / & + 0.00095721553918182709_r8, 0.00096400712081927875_r8, & + 0.0010655179364385974_r8, 0.0018102589304996343_r8, & + 0.0019010898543837234_r8, 0.0019580492769716148_r8, & + 0.002229315070770805_r8, 0.0023505266575521971_r8, & + 0.0025534964446561974_r8, 0.002741379588580819_r8, 0.003026729705623071_r8, & + 0.0034339135390623597_r8, 0.0042318638966392097_r8, & + 0.0052628363580313284_r8, 0.0065870738076869518_r8, & + 0.0080335597268167084_r8, 0.010751574892054437_r8, 0.013148623019754269_r8, & + 0.015155353939150063_r8, 0.016859522488804107_r8, 0.018224492146906236_r8, & + 0.019408836839932917_r8, 0.020387982448066208_r8, 0.021294684518733349_r8, & + 0.022072502070692817_r8, 0.022781090421533628_r8, 0.02332858176467895_r8, & + 0.024192391454623052_r8, 0.024786248735512096_r8, 0.024943301900705893_r8, & + 0.024722065696831448_r8, 0.024380827602650465_r8, 0.024049249798890185_r8, & + 0.023796682456316762_r8, 0.023491510598464948_r8, 0.023315223259320807_r8, & + 0.023254202712853018_r8, 0.023462354753248447_r8, 0.023503637805625463_r8, & + 0.023413517578420352_r8, 0.023068520784478186_r8, 0.022923323261930143_r8, & + 0.022923169272506434_r8, 0.023716669675193598_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,51) / & + 0.0019185785243277169_r8, 0.0019609126231976033_r8, & + 0.0019704502049362961_r8, 0.0024792039609530464_r8, & + 0.0027288120480920756_r8, 0.0030086638423801938_r8, & + 0.0034882021063795351_r8, 0.0036211077760728095_r8, & + 0.0042168166221049682_r8, 0.0051646005115022608_r8, & + 0.0058845283821497016_r8, 0.0066414188139963509_r8, & + 0.0078940507620898631_r8, 0.0093594877867470751_r8, & + 0.010764614675577086_r8, 0.012037810926304213_r8, 0.014230213776906746_r8, & + 0.016103054455721771_r8, 0.017519952635024816_r8, 0.018774144633662941_r8, & + 0.019849072642446678_r8, 0.020829777143904857_r8, 0.021656940761647748_r8, & + 0.02240035802969996_r8, 0.023023066386862284_r8, 0.02359751954422401_r8, & + 0.024076969168987862_r8, 0.024870042136761417_r8, 0.025365127722665654_r8, & + 0.025502784455381171_r8, 0.025348286267922605_r8, 0.025031028716257831_r8, & + 0.024706449563741604_r8, 0.024412805504411283_r8, 0.024108631103904789_r8, & + 0.02393691917691412_r8, 0.023911249254316303_r8, 0.024059755429455761_r8, & + 0.024196525769816384_r8, 0.024241164488809003_r8, 0.024001320013459167_r8, & + 0.023875687193037832_r8, 0.023745440700409241_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,51) / & + 0.0028488240304197529_r8, 0.0030156642511486422_r8, & + 0.0030045597440826999_r8, 0.0032109472763917706_r8, & + 0.003535722303017613_r8, 0.0040635044391795884_r8, 0.004934399486794798_r8, & + 0.0056213522823406088_r8, 0.0074988318207041315_r8, & + 0.0094187302125732352_r8, 0.010440926440751406_r8, 0.011511920707345382_r8, & + 0.012299759130915819_r8, 0.013543045913033744_r8, 0.014486547353003193_r8, & + 0.015576733697275786_r8, 0.017252351108010138_r8, 0.018546834938253695_r8, & + 0.019600418210135442_r8, 0.020570963032288399_r8, 0.021399330180502121_r8, & + 0.022245126497744065_r8, 0.022979659652534783_r8, 0.0235540952578265_r8, & + 0.024030116942067355_r8, 0.024439584281176496_r8, 0.024816737686466896_r8, & + 0.025448149772367014_r8, 0.025771634422558028_r8, 0.025854436606179029_r8, & + 0.025743591452995419_r8, 0.025467596290469401_r8, 0.025164612268707816_r8, & + 0.024901848008217813_r8, 0.02464553562990196_r8, 0.024503001285011559_r8, & + 0.024458998994225909_r8, 0.024460716467086356_r8, 0.024472730988116899_r8, & + 0.024465333716970246_r8, 0.024563351373024393_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,51) / & + 0.0023512980047154398_r8, 0.0025624344695330979_r8, & + 0.0028302262945024341_r8, 0.0031103397588308893_r8, & + 0.0034683865280609283_r8, 0.0041221110776578961_r8, & + 0.0053872537536291554_r8, 0.0068271402590814826_r8, & + 0.0091698789279005526_r8, 0.011152907126864332_r8, 0.012135397460993031_r8, & + 0.013261935260746028_r8, 0.013954008385741738_r8, 0.015118911652605461_r8, & + 0.015793935586974991_r8, 0.017012634301325651_r8, 0.018492606834410622_r8, & + 0.019582810960693323_r8, 0.020582020897556019_r8, 0.021508665635783689_r8, & + 0.022280627514103458_r8, 0.023069934653528822_r8, 0.02379826523978246_r8, & + 0.024329675439809541_r8, 0.02478712108921868_r8, 0.025150237566637746_r8, & + 0.025515348330116303_r8, 0.026040694671550749_r8, 0.026266314342456867_r8, & + 0.02631952323522042_r8, 0.026215460047940016_r8, 0.025962872825347171_r8, & + 0.025687091553121315_r8, 0.025447567742153406_r8, 0.025214822827917104_r8, & + 0.025090545847622006_r8, 0.025010634749356112_r8, 0.024901848399993643_r8, & + 0.024583539117205171_r8, 0.023858699928114489_r8, 0.023411493848304894_r8, & + 0.023319006737458004_r8, 0.023336917604904001_r8, 0.023317762403509121_r8, & + 0.023308260216990399_r8 & + / +data delta_sa_ref(:,37,51) / & + 0.0009808126568827014_r8, 0.00093434786892971852_r8, & + 0.0010262138975200197_r8, 0.0015062796789297977_r8, & + 0.0017130175694688445_r8, 0.0023545960989181632_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,51) / & + 0.00062136398229505681_r8, 0.00075355654877093327_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,51) / & + 0.00079459401427687203_r8, 0.00085150177049599996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,40,51) / & + 0.0031194450345199999_r8, 0.0030076136572074067_r8, & + 0.0031518442165308636_r8, 0.0041427593473817277_r8, & + 0.0046786933072477761_r8, 0.0043923173590044431_r8, & + 0.0050275340353066657_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,51) / & + 0.0032329848444993311_r8, 0.0030501926213335967_r8, & + 0.0032016573115728063_r8, 0.0037941077229019129_r8, & + 0.0041546795570461623_r8, 0.00461899021967597_r8, 0.0061935069107084363_r8, & + 0.0077006869940618094_r8, 0.011376315128445955_r8, & + 0.0099903112312620009_r8, 0.008493804619874196_r8, & + 0.0050748279936471677_r8, 0.0039618498421667122_r8, & + 0.0036997396636303933_r8, 0.0040529734118986815_r8, & + 0.003767872170369729_r8, 0.0036246475849414251_r8, & + 0.0032043419374837212_r8, 0.0030638575504912439_r8, & + 0.0031045854124854828_r8, 0.0030388596690325005_r8, & + 0.0030218074762420459_r8, 0.0030270652874155135_r8, & + 0.0031178199501735986_r8, 0.0032444047027702363_r8, & + 0.0034275776568513266_r8, 0.0035159982735631008_r8, & + 0.003825023487066721_r8, 0.0039995989577059554_r8, 0.004010213901161244_r8, & + 0.0040096552199267556_r8, 0.0038814378766115556_r8, & + 0.0036314280241777777_r8, 0.0047364995059967999_r8, & + 0.0047465557682175993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,51) / & + 0.0034253617670328886_r8, 0.0032536461696784594_r8, & + 0.0033802699075141523_r8, 0.0034805971639480879_r8, & + 0.0036548699556041477_r8, 0.0039326238766661525_r8, & + 0.0048299433571079896_r8, 0.0058078144580511601_r8, & + 0.010967422780544236_r8, 0.010745586174877865_r8, 0.0090695157897797522_r8, & + 0.0052160796966540636_r8, 0.0034876294482775703_r8, & + 0.0031280879294684435_r8, 0.0036355631386268432_r8, & + 0.0034447112039152198_r8, 0.0033061379102075354_r8, & + 0.0030943481860815861_r8, 0.0029012191307299386_r8, & + 0.0029249142757855739_r8, 0.002903767192194776_r8, & + 0.0028810294728627856_r8, 0.0028870198527283001_r8, & + 0.0029424706323778341_r8, 0.0030832613788585026_r8, & + 0.0032603104006852421_r8, 0.0033608382751006975_r8, & + 0.0039032922491706746_r8, 0.0040610738774322606_r8, & + 0.0039868257408844435_r8, 0.0038953740796724146_r8, & + 0.003897547694828799_r8, 0.0036512076880507419_r8, & + 0.0041157275126438393_r8, 0.0039596875163583995_r8, & + 0.0039596875163583995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,51) / & + 0.0031497389906204438_r8, 0.0032559144027102817_r8, & + 0.0031644307556142879_r8, 0.0039156404349562201_r8, & + 0.0041367186061023863_r8, 0.004261752104602232_r8, & + 0.0050469063394821797_r8, 0.0058416650416267587_r8, & + 0.0080843300759258063_r8, 0.0090289009249926843_r8, & + 0.006958940877397385_r8, 0.0043426664521056396_r8, & + 0.0026467104996372014_r8, 0.0025564109649436973_r8, & + 0.0028566492429969912_r8, 0.0028255553284279311_r8, & + 0.002742097332059918_r8, 0.0026664895623602571_r8, & + 0.0026153534489786992_r8, 0.002677848270221168_r8, & + 0.0027083282005815313_r8, 0.0027514386632351072_r8, & + 0.002789900388308543_r8, 0.0028714725760355551_r8, & + 0.0030722015562648754_r8, 0.0032319251625561539_r8, & + 0.0033809917572250338_r8, 0.0038738017967349467_r8, & + 0.0041107887372886258_r8, 0.0040296825197200003_r8, & + 0.003956119536715378_r8, 0.0039589505991062491_r8, & + 0.0037866786905497059_r8, 0.0040087129228208434_r8, & + 0.004074530776964267_r8, 0.004074530776964267_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,51) / & + 0.0026650798512760886_r8, 0.0031824217989554048_r8, & + 0.0027820037308483427_r8, 0.0038629972383630493_r8, & + 0.0036957505475286923_r8, 0.0038208361016873623_r8, & + 0.0050281777428547681_r8, 0.0054853667960684518_r8, & + 0.0056176219980682285_r8, 0.0043384486021153983_r8, & + 0.0032514127498792559_r8, 0.0028895935405897216_r8, & + 0.0024683880029559313_r8, 0.002622287424853386_r8, & + 0.0026865437026746208_r8, 0.0026742335526078161_r8, & + 0.0026090754322908444_r8, 0.0025910836745008988_r8, & + 0.0026260300712106933_r8, 0.00273650577693843_r8, 0.002808427715973426_r8, & + 0.0028953202404376497_r8, 0.0029858652270096063_r8, & + 0.0031388628064113254_r8, 0.0033370877869742361_r8, & + 0.0034817433232903912_r8, 0.0036405577867896109_r8, & + 0.0039137387622124589_r8, 0.0043003030801952811_r8, & + 0.0043953999557211666_r8, 0.0042920488057097495_r8, & + 0.0042389663564106912_r8, 0.0039730265320553956_r8, & + 0.0040001223898398029_r8, 0.004100226906866569_r8, & + 0.0041484664619635203_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,51) / & + 0.0024650790383786659_r8, 0.0033389222006613333_r8, & + 0.0029401287566506664_r8, 0.0033061681387519999_r8, & + 0.0036041976723626659_r8, 0.0040779038718293335_r8, & + 0.0049315479237973317_r8, 0.0037410976058026668_r8, & + 0.0028011903808853327_r8, 0.0024735571053226663_r8, & + 0.0024042037380266664_r8, 0.00245169017856_r8, 0.0024061031956479997_r8, & + 0.0024979257567573332_r8, 0.0025167813482666669_r8, & + 0.002561256453546666_r8, 0.0025639434911573322_r8, & + 0.0025797414191786666_r8, 0.0026523377629013331_r8, & + 0.0027744589894826656_r8, 0.0028741110222506661_r8, & + 0.0029973904546986667_r8, 0.0031304914728959997_r8, & + 0.0032885634095786665_r8, 0.0034858753610239996_r8, & + 0.003642974404778667_r8, 0.003849876300799999_r8, 0.0041786677822293347_r8, & + 0.0043185790509226657_r8, 0.0042819334173013332_r8, & + 0.0042237914827946664_r8, 0.004233937366186667_r8, & + 0.0041813084916053327_r8, 0.0041843661550933324_r8, & + 0.0042256388211519991_r8, 0.0042571163747382856_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,52) / & + 0.0032575963140707648_r8, 0.0034175254837037041_r8, & + 0.0037292578685185177_r8, 0.004127744754074074_r8, & + 0.0041891635014814806_r8, 0.0043052753037037044_r8, & + 0.0050498718770370368_r8, 0.0053379811333333343_r8, & + 0.0051813626340740737_r8, 0.0052766594577777779_r8, & + 0.0053404079296296286_r8, 0.0055983278400000003_r8, & + 0.0057494825807407413_r8, 0.0063861491222222226_r8, & + 0.0065170019785185176_r8, 0.0065864222199999998_r8, & + 0.0068834620866666677_r8, 0.0075015046999999998_r8, & + 0.0077449886392592596_r8, 0.0080343598296296302_r8, & + 0.0082470997266666669_r8, 0.0084286518244444438_r8, & + 0.008563734239999999_r8, 0.0087256084866666663_r8, 0.008875210077777777_r8, & + 0.0089931523777777769_r8, 0.0091217032444444457_r8, & + 0.0094002717244444454_r8, 0.0095764987377777774_r8, & + 0.0096579558888888906_r8, 0.0098373446711111107_r8, & + 0.0099693069199999988_r8, 0.010133053266666666_r8, 0.010225784620000003_r8, & + 0.01015277272_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,52) / & + 0.0032575963140707648_r8, 0.0034175254837037041_r8, & + 0.0037292578685185177_r8, 0.004127744754074074_r8, & + 0.0041891635014814806_r8, 0.0043052753037037044_r8, & + 0.0050498718770370368_r8, 0.0053379811333333343_r8, & + 0.0051813626340740737_r8, 0.0052766594577777779_r8, & + 0.0053404079296296286_r8, 0.0055983278400000003_r8, & + 0.0057494825807407413_r8, 0.0063861491222222226_r8, & + 0.0065170019785185176_r8, 0.0065864222199999998_r8, & + 0.0068834620866666677_r8, 0.0075015046999999998_r8, & + 0.0077449886392592596_r8, 0.0080343598296296302_r8, & + 0.0082470997266666669_r8, 0.0084286518244444438_r8, & + 0.008563734239999999_r8, 0.0087256084866666663_r8, 0.008875210077777777_r8, & + 0.0089931523777777769_r8, 0.0091217032444444457_r8, & + 0.0094002717244444454_r8, 0.0095764987377777774_r8, & + 0.0096579558888888906_r8, 0.0098373446711111107_r8, & + 0.0099693069199999988_r8, 0.010133053266666666_r8, 0.010225784620000003_r8, & + 0.01015277272_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,52) / & + 0.0032575963140707648_r8, 0.0034175254837037041_r8, & + 0.0037292578685185177_r8, 0.004127744754074074_r8, & + 0.0041891635014814806_r8, 0.0043052753037037044_r8, & + 0.0050498718770370368_r8, 0.0053379811333333343_r8, & + 0.0051813626340740737_r8, 0.0052766594577777779_r8, & + 0.0053404079296296286_r8, 0.0055983278400000003_r8, & + 0.0057494825807407413_r8, 0.0063861491222222226_r8, & + 0.0065170019785185176_r8, 0.0065864222199999998_r8, & + 0.0068834620866666677_r8, 0.0075015046999999998_r8, & + 0.0077449886392592596_r8, 0.0080343598296296302_r8, & + 0.0082470997266666669_r8, 0.0084286518244444438_r8, & + 0.008563734239999999_r8, 0.0087256084866666663_r8, 0.008875210077777777_r8, & + 0.0089931523777777769_r8, 0.0091217032444444457_r8, & + 0.0094002717244444454_r8, 0.0095764987377777774_r8, & + 0.0096579558888888906_r8, 0.0098373446711111107_r8, & + 0.0099693069199999988_r8, 0.010133053266666666_r8, 0.010225784620000003_r8, & + 0.01015277272_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,52) / & + 0.0033580574182716046_r8, 0.0035128916444444442_r8, & + 0.0036576119081481472_r8, 0.0040327160335802466_r8, & + 0.0040759823446913576_r8, 0.0042643849417283953_r8, & + 0.0049694316691358013_r8, 0.0051716092241975301_r8, & + 0.0050492432212345673_r8, 0.0051718865723456801_r8, & + 0.0052780092187654313_r8, 0.0056459207822222215_r8, & + 0.0061385095832098757_r8, 0.0066854586212345664_r8, & + 0.0068366226069135807_r8, 0.0069331859871604937_r8, & + 0.0072063091985185186_r8, 0.0076537457209876533_r8, & + 0.0078590388202469143_r8, 0.0081081436819753095_r8, & + 0.0083019453229629617_r8, 0.0084550599906172835_r8, & + 0.0085887048182716023_r8, 0.0087404604800000001_r8, & + 0.0088834057155555562_r8, 0.0090073803377777768_r8, & + 0.0091361438380246924_r8, 0.0094161083037037022_r8, & + 0.0095914385580246914_r8, 0.0096822515866666677_r8, & + 0.0098295049634567876_r8, 0.0099670881348148128_r8, & + 0.010110449392592593_r8, 0.010140899908024692_r8, 0.0099925521616666679_r8, & + 0.0092200390114285709_r8, 0.0087703655440740744_r8, & + 0.0086917858799999987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,52) / & + 0.0037611182370370366_r8, 0.0038403103782716037_r8, & + 0.0037027826765432103_r8, 0.0039632588123456785_r8, & + 0.0040757697111111118_r8, 0.0042636361017283943_r8, & + 0.0048904336716049379_r8, 0.0049866827239506174_r8, & + 0.0052515409604938258_r8, 0.0056531965486419757_r8, & + 0.0059803749140740735_r8, 0.0063589921160493819_r8, & + 0.0069368469827160483_r8, 0.0073389925525925931_r8, & + 0.0076102113066666682_r8, 0.0078217354943209885_r8, & + 0.0080540792829629625_r8, 0.008168882926419754_r8, & + 0.0082649285901234548_r8, 0.0084083730523456801_r8, & + 0.0085428961491358004_r8, 0.0086840940913580252_r8, & + 0.0088187003925925909_r8, 0.0089477319960493823_r8, & + 0.0090727605412345685_r8, 0.009208513214814815_r8, & + 0.0093250086819753088_r8, 0.0095335559995061731_r8, & + 0.0096491731975308637_r8, 0.009755351313580244_r8, & + 0.0098613630207407422_r8, 0.0099515843733333324_r8, & + 0.0098408115229629625_r8, 0.0095022618834567901_r8, & + 0.0092083375609876544_r8, 0.0088907831762962946_r8, & + 0.0086744886004938258_r8, 0.0085601940889947093_r8, & + 0.0090871733999999989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,52) / & + 0.0041578000483950611_r8, 0.004166591984691357_r8, & + 0.0039608181486419751_r8, 0.0036061545817283958_r8, & + 0.0036729769955555548_r8, 0.003754600555555555_r8, & + 0.0047262343229629621_r8, 0.0050846420898765432_r8, & + 0.0054953762074074052_r8, 0.0059099007496296284_r8, & + 0.0062455289886419749_r8, 0.0066323094711111105_r8, & + 0.0071216163190123451_r8, 0.0073484963491358022_r8, & + 0.0075434905871604929_r8, 0.0076704513244444427_r8, & + 0.007860915542716047_r8, 0.0080320023703703714_r8, & + 0.0081986146479012343_r8, 0.0083422994785185174_r8, & + 0.0084909673308641975_r8, 0.0087486699851851858_r8, & + 0.0089015627743209876_r8, 0.0090374818567901249_r8, & + 0.0091613917644444449_r8, 0.0092890551170370372_r8, & + 0.0093956400103703697_r8, 0.0095760919604938252_r8, & + 0.0097048277259259245_r8, 0.0098463307511111094_r8, & + 0.0099320867985185184_r8, 0.0099350914034567906_r8, & + 0.0097539830627160484_r8, 0.0095198792689506172_r8, & + 0.0092769716525396805_r8, 0.0091862129379100509_r8, & + 0.0090061302900529081_r8, 0.0089458298499999981_r8, & + 0.0090871733999999989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,52) / & + 0.0037159752034567899_r8, 0.0037110846311111116_r8, & + 0.0036608938612345682_r8, 0.0024988883249382715_r8, & + 0.002523692494320987_r8, 0.0025102041293827162_r8, & + 0.0031464130464197533_r8, 0.0038058729832098764_r8, & + 0.0042288104192592588_r8, 0.0045155514246913581_r8, & + 0.0047092883511111105_r8, 0.0053963629185185174_r8, & + 0.0061622598296296295_r8, 0.0063256548686419743_r8, & + 0.0064686370839506175_r8, 0.0065681311096296296_r8, & + 0.0067605644997530863_r8, 0.0069497991412345679_r8, & + 0.0071101895753086404_r8, 0.0072492889165432098_r8, & + 0.0073864930454320974_r8, 0.0077123493846913572_r8, & + 0.0079186871619753088_r8, 0.00812439628345679_r8, 0.0083260376320987654_r8, & + 0.0084965697634567898_r8, 0.0086612683387654321_r8, & + 0.009047512614814816_r8, 0.009353030089876542_r8, 0.0095716728799999998_r8, & + 0.0097126951683950621_r8, 0.0097869990485185184_r8, & + 0.0097660578765925918_r8, 0.009739947925714287_r8, & + 0.0096248405200000005_r8, 0.0095776635999999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,52) / & + 0.0021528595303703705_r8, 0.0021642030696296297_r8, & + 0.0021784032948148147_r8, 0.00094069095901234555_r8, & + 0.00089984682172839501_r8, 0.00087470058962962969_r8, & + 0.00097486949580246891_r8, 0.0013350522908641973_r8, & + 0.0016477623279012347_r8, 0.0018465007659259254_r8, & + 0.0019917110113580249_r8, 0.0028041007170370377_r8, & + 0.0038202765970370371_r8, 0.0041190360222222227_r8, & + 0.004370646262222222_r8, 0.0046123366834567884_r8, & + 0.0049885871812345682_r8, 0.0052764375792592596_r8, & + 0.0055459645096296297_r8, 0.0057628322716049363_r8, & + 0.0059924950281481466_r8, 0.0061779392449382714_r8, & + 0.0063716022118518525_r8, 0.0065683714780246918_r8, & + 0.0067832423333333324_r8, 0.0069484308903703705_r8, & + 0.0071127411782716055_r8, 0.0075311763293827161_r8, & + 0.007989216796049383_r8, 0.0084055256113580237_r8, 0.008756555917530863_r8, & + 0.0090602428948148156_r8, 0.0093518086024074066_r8, 0.00947103644409171_r8, & + 0.0095136127196137586_r8, 0.0093567245983333328_r8, & + 0.0093124494333333332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,52) / & + 0.00066199304987654326_r8, 0.00067044292345678992_r8, & + 0.00066806697432098764_r8, 0.00036831834074074071_r8, & + 0.00035827833777777777_r8, 0.00036419509827160493_r8, & + 0.00043420701580246918_r8, 0.00055318937135802467_r8, & + 0.00066619025185185175_r8, 0.0007352406958024691_r8, & + 0.00081031883950617278_r8, 0.0010702772587654322_r8, & + 0.0014981792266666666_r8, 0.0017166833427160492_r8, & + 0.0019496372972839507_r8, 0.0021968192118518516_r8, & + 0.002641519232592592_r8, 0.0030578003130864195_r8, & + 0.0035123739279012342_r8, 0.0039424392113580247_r8, & + 0.0043861870034567893_r8, 0.0046997937995061721_r8, & + 0.0051093815446913568_r8, 0.0054709973051851844_r8, & + 0.0057828105832098773_r8, 0.0060324608962962966_r8, & + 0.0062422285456790122_r8, 0.0066020970128395067_r8, & + 0.0069410904093827165_r8, 0.0072712179101234566_r8, & + 0.0076495022943209876_r8, 0.0080502981032098773_r8, & + 0.0084811492064197531_r8, 0.0088092150859259248_r8, & + 0.0090646897101234573_r8, 0.0091241732608271613_r8, & + 0.0091653911907760149_r8, 0.0092310564685079369_r8, & + 0.0092871691496296295_r8, 0.0092615782360000003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,52) / & + 0.00017164152395061729_r8, 0.00016989423061728397_r8, & + 0.00017335183753086419_r8, 0.00020361976543209874_r8, & + 0.00020435011555555561_r8, 0.00020910201382716046_r8, & + 0.00023632835703703704_r8, 0.00027819868246913579_r8, & + 0.00032297191851851859_r8, 0.00034955111604938275_r8, & + 0.00037466961333333334_r8, 0.00047022529530864186_r8, & + 0.00061997480543209875_r8, 0.00069888959851851834_r8, & + 0.00078783514962962962_r8, 0.00086797951950617284_r8, & + 0.0010894050360493826_r8, 0.001344260249382716_r8, & + 0.0016806003486419751_r8, 0.0020721604641975311_r8, & + 0.0025346662360493824_r8, 0.0029734864760493835_r8, & + 0.0035071875175308642_r8, 0.0040529809382716048_r8, & + 0.0045645588424691351_r8, 0.0050366238804938268_r8, & + 0.0054681591091358022_r8, 0.0063273744271604947_r8, & + 0.0069001353328395076_r8, 0.007194244554074072_r8, & + 0.0074049736770370371_r8, 0.0076138353224691349_r8, & + 0.0078814393056790121_r8, 0.0081650185422222198_r8, & + 0.0084846715279012341_r8, 0.0087887005679012347_r8, & + 0.0090180050830864188_r8, 0.0091471649600617256_r8, & + 0.0092154304097001767_r8, 0.0092335275414550267_r8, & + 0.0093509094991428565_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,52) / & + 0.00023570894617283946_r8, 0.00023131760049382714_r8, & + 0.00020229773925925927_r8, 0.00020960124049382712_r8, & + 0.00020873221629629627_r8, 0.0002080388459259259_r8, & + 0.00019571534320987654_r8, 0.00017654134123456787_r8, & + 0.00018707132592592589_r8, 0.00021607269728395059_r8, & + 0.00023399863259259253_r8, 0.00032121538024691351_r8, & + 0.00042198520740740738_r8, 0.00046221917876543202_r8, & + 0.00050800011308641977_r8, 0.00055008307209876536_r8, & + 0.00064449238172839497_r8, 0.00077806324987654324_r8, & + 0.00098955045777777777_r8, 0.0013045255046913581_r8, & + 0.001752683132345679_r8, 0.0022633642775308645_r8, & + 0.0028272777772839499_r8, 0.0034274776597530863_r8, & + 0.0040317545599999997_r8, 0.00460675274074074_r8, 0.0051464352572839506_r8, & + 0.0063400954622222219_r8, 0.0073035751940740742_r8, & + 0.0078729801871604936_r8, 0.0082242970864197518_r8, & + 0.008363156059259259_r8, 0.0083781513491358022_r8, & + 0.0083216925111111104_r8, 0.0084090386879012349_r8, & + 0.0086318601901234568_r8, 0.0088728734196296295_r8, 0.00903959548080247_r8, & + 0.0091294366353086402_r8, 0.0091765450767301564_r8, & + 0.0092304653207407415_r8, 0.0093208114799999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,52) / & + 0.00019752735111111113_r8, 0.00019282167753086415_r8, & + 0.00017757677432098765_r8, 0.00023307413876543209_r8, & + 0.00023387844839506169_r8, 0.00022492934814814813_r8, & + 0.00020239943358024693_r8, 0.00015318862716049385_r8, & + 0.00015881879456790127_r8, 0.0001737863496296296_r8, & + 0.00018902200790123458_r8, 0.00027562858962962961_r8, & + 0.00038604088740740736_r8, 0.00042788347802469133_r8, & + 0.00046377232839506173_r8, 0.00050188920888888887_r8, & + 0.00057976856888888872_r8, 0.0006911793199999999_r8, & + 0.00087948022271604946_r8, 0.0011834075683950617_r8, & + 0.0016336822869135801_r8, 0.0021992228958024689_r8, & + 0.0028195397639506174_r8, 0.0034559335797530858_r8, & + 0.0041196646780246905_r8, 0.0047397411777777773_r8, & + 0.0053224866167901229_r8, 0.0066112587466666661_r8, & + 0.0076758503683950624_r8, 0.0083417355372839511_r8, & + 0.0087803708785185175_r8, 0.0089844898706172849_r8, & + 0.0089409739461728411_r8, 0.0087007719599999991_r8, & + 0.0085778605056790105_r8, 0.0086554255377777767_r8, & + 0.0088377911901234563_r8, 0.0089962216972839498_r8, & + 0.0091074290597530864_r8, 0.0091697399437037051_r8, & + 0.0092327588908730166_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,52) / & + 0.00015762619753086418_r8, 0.00015364162913580247_r8, & + 0.00017099437827160495_r8, 0.0001926460237037037_r8, & + 0.00019296959654320988_r8, 0.00017764148888888887_r8, & + 0.00016392200049382717_r8, 0.00013024269037037036_r8, & + 0.00013603002172839505_r8, 0.00014606077975308639_r8, & + 0.00016074174172839501_r8, 0.00020374919456790121_r8, & + 0.00028632498320987649_r8, 0.00034630614271604937_r8, & + 0.00038984055703703702_r8, 0.00043590808444444448_r8, & + 0.00052143300839506174_r8, 0.00063440615407407404_r8, & + 0.00083001980296296281_r8, 0.0011325419180246911_r8, & + 0.0015692820469135802_r8, 0.0021554203782716045_r8, & + 0.0028281837812345677_r8, 0.0035248915743209867_r8, & + 0.0042417348429629629_r8, 0.0049517461022222219_r8, & + 0.0056249809970370362_r8, 0.0070964146172839502_r8, & + 0.0081400479639506165_r8, 0.008802281382222223_r8, & + 0.0092494682913580248_r8, 0.0094685548385185191_r8, & + 0.0094577844854320959_r8, 0.0092014315920987636_r8, & + 0.0089012207116049361_r8, 0.0087546791950617285_r8, & + 0.0088083830414814809_r8, 0.0089405394340740744_r8, & + 0.0090899653713580227_r8, 0.0091886111739506171_r8, & + 0.0092565975585238106_r8, 0.0092994639930370371_r8, & + 0.0093169335585714264_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,52) / & + 0.00015378954814814814_r8, 0.00015040590074074072_r8, & + 0.0001772439565432099_r8, 0.00017643040197530861_r8, & + 0.00017620852345679008_r8, 0.00016117625382716051_r8, & + 0.00013418103407407408_r8, 0.00013505930320987654_r8, & + 0.00013182357481481482_r8, 0.0001325354350617284_r8, & + 0.00013209167802469136_r8, 0.00014234431456790122_r8, & + 0.000189105212345679_r8, 0.00025700003901234567_r8, & + 0.00030808756790123463_r8, 0.00035992393679012345_r8, & + 0.00045513755604938269_r8, 0.00056481025876543205_r8, & + 0.00073745023604938258_r8, 0.0010205394908641976_r8, & + 0.0014444661353086418_r8, 0.00204508204_r8, 0.0027599191570370375_r8, & + 0.0035049964671604937_r8, 0.0042778640617283951_r8, & + 0.0050696930246913593_r8, 0.0058093620459259265_r8, & + 0.0074650842656790121_r8, 0.0085130442434567903_r8, 0.00918678760987654_r8, & + 0.0096222334474074054_r8, 0.0098549562785185171_r8, & + 0.0099043612286419738_r8, 0.0096773979940740756_r8, & + 0.009278728520987654_r8, 0.0089487766740740764_r8, & + 0.0088526755407407412_r8, 0.0089506071718518515_r8, & + 0.0091045446390123456_r8, 0.0092187935861728406_r8, & + 0.0092755667520987659_r8, 0.0093100734841975296_r8, & + 0.009312752436185184_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,52) / & + 0.00015960461432098765_r8, 0.00015712697086419752_r8, & + 0.0001686554088888889_r8, 0.00016157378617283948_r8, & + 0.00016164774567901236_r8, 0.00015647058024691356_r8, & + 0.00012391915259259259_r8, 0.00012565720098765433_r8, & + 0.00012858784641975307_r8, 0.0001288189698765432_r8, & + 0.00013093606074074073_r8, 0.00014380501481481479_r8, & + 0.00016396822518518515_r8, 0.00020752112938271603_r8, & + 0.00026549613728395059_r8, 0.00032458053777777781_r8, & + 0.00046142411407407413_r8, 0.00061284695802469127_r8, & + 0.00080710160098765435_r8, 0.0010968934360493828_r8, & + 0.0015497012676543209_r8, 0.0022111581111111112_r8, & + 0.0029864848592592586_r8, 0.0038095709585185184_r8, & + 0.0046292271856790117_r8, 0.005435644661234567_r8, 0.006191270445925926_r8, & + 0.0077428669259259238_r8, 0.0086952712217283935_r8, & + 0.0093229932854320997_r8, 0.0097027013901234554_r8, & + 0.0098956062720987666_r8, 0.0099259758943209871_r8, & + 0.0097476040553086431_r8, 0.0094119388365432096_r8, & + 0.0091082333693827157_r8, 0.0089915622483950613_r8, & + 0.0090023510913580258_r8, 0.0090825601758024697_r8, & + 0.0091634533856790133_r8, 0.0092331243961111115_r8, & + 0.0093138560506913579_r8, 0.0093043369999999993_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,52) / & + 0.00014180466952417445_r8, 0.00014097120850865513_r8, & + 0.00013213264518128722_r8, 0.00010445398634031931_r8, & + 0.00010570417786359835_r8, 0.00010940629539764936_r8, & + 0.00010690591235109134_r8, 0.00010931907273323457_r8, & + 0.00010763276788788147_r8, 0.00010888295941116048_r8, & + 0.00011155778778654814_r8, 0.00012588168756489214_r8, & + 0.00015040094767261231_r8, 0.00019260702584222546_r8, & + 0.00025269375021687567_r8, 0.00033310335540017772_r8, & + 0.00060075094686061568_r8, 0.00084881220445634867_r8, & + 0.0011690647539660773_r8, 0.0015944206140956572_r8, & + 0.0022106196639648523_r8, 0.0030455440819649317_r8, & + 0.0039321043172985811_r8, 0.004857507712518294_r8, & + 0.0056726228942890512_r8, 0.0064040140096287461_r8, & + 0.0071426639889291838_r8, 0.0083403377768233207_r8, & + 0.0091903129501385347_r8, 0.0097403003063097279_r8, 0.01009638198807963_r8, & + 0.01024404995893391_r8, 0.010278929333292681_r8, 0.010196319778684694_r8, & + 0.0099725645702392219_r8, 0.0097346986729728649_r8, & + 0.0096298279561247858_r8, 0.0095470051905593416_r8, & + 0.0095056422648124028_r8, 0.0095213214040451785_r8, & + 0.0095955825382427716_r8, 0.0097536744481866652_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,52) / & + 0.00010792782835163128_r8, 0.00010643756057333991_r8, & + 9.561030895963129e-05_r8, 8.7834558034804915e-05_r8, & + 8.5573811677260887e-05_r8, 8.8432692721330042e-05_r8, & + 8.5391329908490523e-05_r8, 9.6269270902413155e-05_r8, & + 9.8388086995358014e-05_r8, 0.00010112531352691357_r8, & + 0.0001021999283874502_r8, 0.00011624088670672593_r8, & + 0.00014061234071361314_r8, 0.00018199515072031606_r8, & + 0.00027724049614240656_r8, 0.0004029501590731061_r8, & + 0.00085025352583345494_r8, 0.0013164944450417514_r8, & + 0.0018660180159416357_r8, 0.0025681267591616788_r8, & + 0.003390825537910808_r8, 0.0043239562003941391_r8, & + 0.0052302924564963556_r8, 0.006075831869969908_r8, & + 0.0068164138527723721_r8, 0.0074302115577835979_r8, & + 0.0079877136371291641_r8, 0.0088864946411104841_r8, & + 0.0095905599944067898_r8, 0.010028090448661878_r8, 0.01034990718576447_r8, & + 0.010495872325028681_r8, 0.010537454633953225_r8, 0.010498305053211952_r8, & + 0.010363540818707027_r8, 0.010222182619970264_r8, 0.010134283070908684_r8, & + 0.010068146645174981_r8, 0.010021373562683025_r8, 0.009926780770617788_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,52) / & + 0.00011013010897995061_r8, 0.0001034725560199901_r8, & + 9.9704529225481478e-05_r8, 0.00011852349450816791_r8, & + 0.00011692525842398021_r8, 0.00012263022034038519_r8, & + 0.00011395105749910122_r8, 0.00010990783773645433_r8, & + 0.00010113341579081481_r8, 0.00010584344928395062_r8, & + 0.00011223639362070123_r8, 0.00012976406882212347_r8, & + 0.00016798413835855802_r8, 0.00024665757421131847_r8, & + 0.00042915284946670626_r8, 0.00070618749362251856_r8, & + 0.0013884967050865776_r8, 0.0021541470485168194_r8, & + 0.0029666331182552109_r8, 0.0039000770818352977_r8, & + 0.0048095263354627164_r8, 0.0056925782328387164_r8, & + 0.0064576570216428241_r8, 0.0071224068048706774_r8, & + 0.0076906273623515648_r8, 0.0081486754734727915_r8, & + 0.0085911010914797026_r8, 0.0093904837421967396_r8, & + 0.0099774491745458164_r8, 0.01035966045425509_r8, 0.010666765222352473_r8, & + 0.010822894894391227_r8, 0.010856953993327687_r8, 0.01082022896251239_r8, & + 0.010747559496320261_r8, 0.01066300248773043_r8, 0.010606965941580953_r8, & + 0.010555859999112677_r8, 0.010539166786105164_r8, 0.01045156220439936_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,52) / & + 0.0001431358400503572_r8, 0.00013302058378292675_r8, & + 0.00013100194485496627_r8, 0.00013562385584302882_r8, & + 0.00013317501517632265_r8, 0.00013208296460873748_r8, & + 0.00014464706154287407_r8, 0.0001194306211640889_r8, & + 0.0001198056688337646_r8, 0.00012265161879777451_r8, & + 0.00012831042628435224_r8, 0.00015151925854899094_r8, & + 0.00031019751526326257_r8, 0.00056593590272684775_r8, & + 0.0010410220228816596_r8, 0.0015567787535686584_r8, & + 0.0024027870190327571_r8, 0.0032298664079920456_r8, & + 0.0040997453545496242_r8, 0.0049511697495963928_r8, & + 0.0057413951896031342_r8, 0.0065052569845944364_r8, & + 0.0071599909385239172_r8, 0.0077728188307740458_r8, & + 0.0082851118859234504_r8, 0.0087436628161710883_r8, & + 0.0091737652775924407_r8, 0.010024549885438_r8, 0.010673636062694714_r8, & + 0.01115663127635416_r8, 0.011523836037408133_r8, 0.011726648580192183_r8, & + 0.011770804927889594_r8, 0.011667942589074122_r8, 0.011538926190705673_r8, & + 0.011406572971158494_r8, 0.011383679698960461_r8, 0.011282503498827982_r8, & + 0.011188869026704368_r8, 0.01112345610380858_r8, 0.011038948487638898_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,52) / & + 0.00015817802507264578_r8, 0.00014899850591001387_r8, & + 0.00015130545315083328_r8, 0.00014803443516153076_r8, & + 0.0001533828303487111_r8, 0.00015218507375189437_r8, & + 0.00016304456283875449_r8, 0.00014689865122534409_r8, & + 0.00012974107648350877_r8, 0.00013147784049910674_r8, & + 0.00015128099308118516_r8, 0.00026507484894913621_r8, & + 0.00057893709393264201_r8, 0.0011572185480910699_r8, & + 0.0017557401902902219_r8, 0.0023159865293465843_r8, & + 0.0032134024369290951_r8, 0.003873958792119523_r8, & + 0.0047243494031611434_r8, 0.005490445111415638_r8, & + 0.0062270944162440001_r8, 0.0069107602801500483_r8, & + 0.0075257432150610858_r8, 0.0081920310382996193_r8, & + 0.0087599312902562707_r8, 0.0093092899920117368_r8, & + 0.0097561666018822386_r8, 0.010708182812587366_r8, 0.011411443267382288_r8, & + 0.011945859981723223_r8, 0.012355719485566878_r8, 0.012579971242913462_r8, & + 0.0126392958825273_r8, 0.012554771434086181_r8, 0.012402213957782912_r8, & + 0.012246939234800518_r8, 0.012174737083997744_r8, 0.011956525246671817_r8, & + 0.011773910201638664_r8, 0.011608615605908054_r8, 0.011524983926099781_r8, & + 0.011470081852422756_r8, 0.011395306207906667_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,52) / & + 0.00017343096680651852_r8, 0.00016923380624853332_r8, & + 0.00017840317121754071_r8, 0.00017136815778228147_r8, & + 0.00017815277243425184_r8, 0.00017660268472817779_r8, & + 0.00021938510541582223_r8, 0.00019925781274002962_r8, & + 0.00020121330800000002_r8, 0.00026694895048912597_r8, & + 0.00046826957225339257_r8, 0.00084104181806103726_r8, & + 0.0015093442469074965_r8, 0.0020588741862139258_r8, & + 0.0024175167863931262_r8, 0.0028996685864295705_r8, & + 0.0039071316958339854_r8, 0.0047255496857310812_r8, & + 0.0056457860808830215_r8, 0.0064192053227665772_r8, & + 0.007127406114886015_r8, 0.0077162277966035244_r8, & + 0.0081462951592469347_r8, 0.0088952096011539854_r8, & + 0.0095631349413565631_r8, 0.010179743435674401_r8, 0.010653494952719082_r8, & + 0.011653261280475257_r8, 0.012398685044105748_r8, 0.012885624230403644_r8, & + 0.013263817311775705_r8, 0.013472678215948653_r8, 0.01349647057176794_r8, & + 0.013423047516292537_r8, 0.013301643284438351_r8, 0.013149405934377955_r8, & + 0.012999391725215794_r8, 0.012645666182096536_r8, 0.012399555477971466_r8, & + 0.012188315785357276_r8, 0.012092026721806268_r8, 0.012039316585548802_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,52) / & + 0.00022299796442678518_r8, 0.00021668915198668642_r8, & + 0.00022396284162350612_r8, 0.00024212232527461394_r8, & + 0.0002473425583132839_r8, 0.00025169687591899926_r8, & + 0.00029713269570818103_r8, 0.00034311280519807734_r8, & + 0.00044830916008160653_r8, 0.00078825518883916357_r8, & + 0.001250876694005465_r8, 0.0016803707487510124_r8, & + 0.0022442919893525468_r8, 0.0025301677844323158_r8, & + 0.0028056031134347454_r8, 0.0032338601461332143_r8, & + 0.0043597744192203991_r8, 0.0055602486499176634_r8, & + 0.0065427178464256622_r8, 0.0073614161478434189_r8, & + 0.0080166342543520012_r8, 0.0085484594116645319_r8, & + 0.0091261595315929589_r8, 0.0099503208316261277_r8, & + 0.010737833807237043_r8, 0.011392139609985906_r8, 0.011890885251482006_r8, & + 0.012941876191732784_r8, 0.013710547775289138_r8, 0.014204345328596931_r8, & + 0.014514548708510051_r8, 0.014693855054234033_r8, 0.014701348315284208_r8, & + 0.014609221098328061_r8, 0.01449627480031959_r8, 0.014281970008328645_r8, & + 0.014051421791478801_r8, 0.013639860359376801_r8, 0.013077948926166896_r8, & + 0.012777538431289467_r8, 0.01264160307257162_r8, 0.012425651428711467_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,52) / & + 0.00024336329749891688_r8, 0.00023353289676257444_r8, & + 0.00023700621957815308_r8, 0.00027072692927478521_r8, & + 0.00027526403730694318_r8, 0.00028378713572893495_r8, & + 0.00034374360853807402_r8, 0.00045189083332719662_r8, & + 0.00068715398315288216_r8, 0.0011212296182747125_r8, & + 0.0017754318930923458_r8, 0.0022237725034678249_r8, & + 0.002727468395173504_r8, 0.0029986310918864063_r8, & + 0.0032525425247256225_r8, 0.0036201123587772041_r8, & + 0.004684794743611575_r8, 0.005906097072380892_r8, 0.0068919311842948194_r8, & + 0.0077629149428862397_r8, 0.0085406316530312956_r8, & + 0.0093151954575946792_r8, 0.01006668922131658_r8, 0.010906733491801705_r8, & + 0.011693973002138546_r8, 0.012357566706082065_r8, 0.012905033194025946_r8, & + 0.013962627949646237_r8, 0.01478622199934245_r8, 0.015454266985273335_r8, & + 0.015753403021984341_r8, 0.015891962419660528_r8, 0.015905889125862948_r8, & + 0.015808083138428804_r8, 0.01562455318197342_r8, 0.015348097146782447_r8, & + 0.015049206366577047_r8, 0.014783467784347545_r8, 0.014349993847017109_r8, & + 0.014195688230988799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,52) / & + 0.00021036695287597037_r8, 0.00020599011065611849_r8, & + 0.00020793979491768889_r8, 0.00028100653367273083_r8, & + 0.0002829960074090271_r8, 0.00028403053375190119_r8, & + 0.00036070485154876048_r8, 0.00061369959501443951_r8, & + 0.0010702440280197134_r8, 0.0016822724650956639_r8, & + 0.002435885116404701_r8, 0.0029671143934705377_r8, & + 0.0034985691442264884_r8, 0.0037666706249297774_r8, & + 0.0040271060001692048_r8, 0.0043757546408760093_r8, & + 0.0052153921365424979_r8, 0.0063741677458273981_r8, & + 0.0074628475638034561_r8, 0.0084399709578062612_r8, & + 0.0092879377168487084_r8, 0.010165812897726815_r8, 0.010844090810221432_r8, & + 0.011652599673494005_r8, 0.012375959060853094_r8, 0.013038188551874923_r8, & + 0.013640720567649617_r8, 0.014688894700354685_r8, 0.015678962936801658_r8, & + 0.01635486674397096_r8, 0.016668754304820326_r8, 0.016810617045376498_r8, & + 0.016855015467591508_r8, 0.016762443596746866_r8, 0.01650552295844156_r8, & + 0.016105918921663864_r8, 0.015691161252910493_r8, 0.015370918507684217_r8, & + 0.015116824958926611_r8, 0.015047115776838418_r8, 0.015049672499273777_r8, & + 0.014888942916118399_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,52) / & + 0.00019325090399025514_r8, 0.00019499202663545679_r8, & + 0.00020238151565721808_r8, 0.00026883207834455967_r8, & + 0.00026027727101695476_r8, 0.00024555313148194238_r8, & + 0.0004059694785016625_r8, 0.00080249302391242796_r8, & + 0.0015219605459402799_r8, 0.002271959407581234_r8, 0.002843664568428115_r8, & + 0.0032557896695100583_r8, 0.0037763030826625842_r8, & + 0.0041155478059343538_r8, 0.0044297587500711768_r8, & + 0.0048274613234149137_r8, 0.0057961424473677685_r8, & + 0.0069792558492229786_r8, 0.0080640300956921155_r8, & + 0.0091100472262716035_r8, 0.010023684197307259_r8, 0.010846261824961581_r8, & + 0.011687429707000888_r8, 0.012516396020896658_r8, 0.013215477327385813_r8, & + 0.013869426541370994_r8, 0.014523745915288622_r8, 0.015686541649740773_r8, & + 0.016663667904004219_r8, 0.017118032366266203_r8, 0.01743231185853867_r8, & + 0.01759050724596372_r8, 0.017683636743041315_r8, 0.01762217648462841_r8, & + 0.01739502167275167_r8, 0.016933007238552494_r8, 0.016424805070560527_r8, & + 0.015958362426799141_r8, 0.01567114573847651_r8, 0.015537156411448576_r8, & + 0.01547832237900082_r8, 0.015370181721551706_r8, 0.015339612680463998_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,52) / & + 0.00022406268769643457_r8, 0.00022553492168180412_r8, & + 0.00023375961346545516_r8, 0.00023732694966077365_r8, & + 0.00023320752572094153_r8, 0.00022999409192595236_r8, & + 0.00025994839108981724_r8, 0.00043385603061159495_r8, & + 0.00068698118342306496_r8, 0.0011372441293139226_r8, & + 0.0016703343929778307_r8, 0.0021759759864722044_r8, & + 0.0032804487535156414_r8, 0.0041275636950396707_r8, & + 0.0047639226791196436_r8, 0.0054329964010860514_r8, & + 0.0067286189325953061_r8, 0.0079584722420273802_r8, & + 0.0089965812309610801_r8, 0.010089346906601626_r8, 0.010963938830487218_r8, & + 0.011763829035711314_r8, 0.012660433688897382_r8, 0.013428883204876235_r8, & + 0.014106422272258516_r8, 0.014742186700305939_r8, 0.015387718834602443_r8, & + 0.016603005521236964_r8, 0.017475969494081041_r8, 0.017913690138904228_r8, & + 0.018206409892264533_r8, 0.018369445650048201_r8, 0.018478249404005411_r8, & + 0.018452853367757788_r8, 0.018288883307637255_r8, 0.017883622590972263_r8, & + 0.017356888414418268_r8, 0.016828784635574998_r8, 0.01645445852772278_r8, & + 0.016175476507180968_r8, 0.016011208410681876_r8, 0.015877984127164801_r8, & + 0.015815196836155305_r8, 0.015727748260838757_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,52) / & + 0.00024899850373226104_r8, 0.00024310845487630892_r8, & + 0.00024288837336247757_r8, 0.00024957504428567477_r8, & + 0.00025026631927757879_r8, 0.00024939016538365289_r8, & + 0.00024406440135700311_r8, 0.0002686102699114779_r8, & + 0.00030897462765262784_r8, 0.00044262460288857855_r8, & + 0.00065321471029586178_r8, 0.00093001701911554692_r8, & + 0.0017733292230639743_r8, 0.0029905007264720814_r8, & + 0.0041419353941072583_r8, 0.0053988696817347049_r8, & + 0.0075573423362838782_r8, 0.0091190258951064623_r8, & + 0.010164633428079497_r8, 0.0111370221360896_r8, 0.011986099745572167_r8, & + 0.012785510120432716_r8, 0.013680086975299047_r8, 0.014400070609794074_r8, & + 0.015070391181828489_r8, 0.015647147905354767_r8, 0.016211649687049839_r8, & + 0.017354589312555162_r8, 0.018230840209233636_r8, 0.018688786031822065_r8, & + 0.018989295343994808_r8, 0.01913589883733631_r8, 0.019218802813468352_r8, & + 0.019165907108203272_r8, 0.019000787562570134_r8, 0.018683109806237844_r8, & + 0.01828686764314932_r8, 0.017873753102904566_r8, 0.017461480974198421_r8, & + 0.017015998179990999_r8, 0.016707863617036189_r8, 0.016585566927400961_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,52) / & + 0.00022072115710920537_r8, 0.00020727579968881274_r8, & + 0.00020176239594694323_r8, 0.00022025013395103214_r8, & + 0.0002097985799877926_r8, 0.00020012017013522473_r8, & + 0.00018993573652165762_r8, 0.00019738877050336296_r8, & + 0.00023982140238759509_r8, 0.00030886636939024857_r8, & + 0.00040173771913199342_r8, 0.00055344514758292522_r8, & + 0.0010369367427484661_r8, 0.0017227400235940791_r8, & + 0.0026528041717936743_r8, 0.0038282578648810781_r8, & + 0.0067361318725443521_r8, 0.009261122719278217_r8, 0.010979460900490368_r8, & + 0.012204535020223263_r8, 0.013168623421412826_r8, 0.013950299528041924_r8, & + 0.014672215384047831_r8, 0.0153212151778428_r8, 0.015953765034047732_r8, & + 0.016557254937282315_r8, 0.017062054351890031_r8, 0.018182217357388203_r8, & + 0.019154309694689071_r8, 0.019674064892818241_r8, 0.020010249020785558_r8, & + 0.020073538538563925_r8, 0.020022141788466397_r8, 0.019856794023286415_r8, & + 0.019614830014713775_r8, 0.019381233591404524_r8, 0.019136185605837075_r8, & + 0.018826652026784688_r8, 0.018550409705283866_r8, 0.018168479873771421_r8, & + 0.017843917765243203_r8, 0.01762559992723008_r8, 0.017352976898354404_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,52) / & + 0.00019375576538516539_r8, 0.00018439648177251026_r8, & + 0.00018816188892131032_r8, 0.00017807431668316704_r8, & + 0.00016865305105983212_r8, 0.00015895286638843785_r8, & + 0.00016780079841298437_r8, 0.00020853847493230616_r8, & + 0.0002670959795220806_r8, 0.00033989385106554727_r8, & + 0.0004260023594025086_r8, 0.00060686586656626823_r8, & + 0.0010360138130107784_r8, 0.00153622413469972_r8, 0.0021354352229470282_r8, & + 0.0029725487636862147_r8, 0.0055538515804586398_r8, & + 0.0085671070296588353_r8, 0.011043086914783552_r8, 0.012969565284226187_r8, & + 0.014248114705027161_r8, 0.015131792231289574_r8, 0.015816275070729666_r8, & + 0.016416322916121152_r8, 0.017008189136102896_r8, 0.017594492470626128_r8, & + 0.018093447656598805_r8, 0.019178861132121416_r8, 0.020135057610879234_r8, & + 0.020675385788980698_r8, 0.020948850420100137_r8, 0.020918479234867015_r8, & + 0.020772852500774742_r8, 0.020568807721616726_r8, 0.02036793952050605_r8, & + 0.020134158871724376_r8, 0.019872517309142128_r8, 0.019644855446977257_r8, & + 0.019327988189584668_r8, 0.019098566259680819_r8, 0.018871322444041549_r8, & + 0.01876156182179349_r8, 0.018788196266557748_r8, 0.018815739522553599_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,30,52) / & + 0.000305320639232_r8, 0.00030791918059555552_r8, 0.00031667132297955557_r8, & + 0.00034570165318222219_r8, 0.00032075246769777774_r8, & + 0.00032131043670222223_r8, 0.00032123072684444448_r8, & + 0.00038306963450844442_r8, 0.00048460405134577775_r8, & + 0.00060349927520711097_r8, 0.00073223069551822228_r8, & + 0.0010115180951999999_r8, 0.0014553266413351107_r8, & + 0.0019045713997706667_r8, 0.0024482404557297777_r8, & + 0.0031514089371022218_r8, 0.0052212666979608875_r8, & + 0.0082631064645617772_r8, 0.011142051165807999_r8, 0.013525870114481779_r8, & + 0.015237224818999109_r8, 0.016439552371747556_r8, 0.017289658004947556_r8, & + 0.017922825289219558_r8, 0.018496497135646221_r8, 0.019044295162238226_r8, & + 0.019497557297505772_r8, 0.020500976871155558_r8, 0.021237862622367997_r8, & + 0.021721605807249779_r8, 0.021911618166220441_r8, 0.021765685358600888_r8, & + 0.021535052856106667_r8, 0.021309473958595556_r8, 0.021084357378259554_r8, & + 0.02088511461775823_r8, 0.020587573660645331_r8, 0.020353322330608003_r8, & + 0.020122482582483552_r8, 0.019836658974463999_r8, 0.019594085935274667_r8, & + 0.019471450326337111_r8, 0.019392001233665492_r8, 0.019351387353059333_r8, & + 0.019368204140304001_r8 & + / +data delta_sa_ref(:,31,52) / & + 0.00049386565269412337_r8, 0.00050637003275072262_r8, & + 0.00052375816805878502_r8, 0.00065281713653285911_r8, & + 0.00065399710424462196_r8, 0.00065832365252108626_r8, & + 0.0006107316214799801_r8, 0.00070034361381220069_r8, & + 0.00086227779381122633_r8, 0.0010463035915249251_r8, & + 0.0012332137547562663_r8, 0.0015138494088705581_r8, & + 0.0019759542639897283_r8, 0.0024836025950948607_r8, & + 0.0031031839744130622_r8, 0.0038555772750663623_r8, & + 0.0060065928598484787_r8, 0.0089368460107265048_r8, 0.01184423728718912_r8, & + 0.014395163595616234_r8, 0.016218688975062807_r8, 0.017569145632735074_r8, & + 0.018521461518329993_r8, 0.019228557169603946_r8, 0.019842189545042008_r8, & + 0.020375797165805926_r8, 0.020786343987297236_r8, 0.021931633759086716_r8, & + 0.022623389830107758_r8, 0.023015302994817476_r8, 0.023017613764919672_r8, & + 0.02276410097973549_r8, 0.022429104868677899_r8, 0.022115954548728362_r8, & + 0.021800591789319267_r8, 0.02160824066386146_r8, 0.021411841593614693_r8, & + 0.021219047980264982_r8, 0.021073813621075486_r8, 0.020736080640464217_r8, & + 0.020409459022472057_r8, 0.020240047616521751_r8, 0.020101137556498502_r8, & + 0.019927001831410177_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,52) / & + 0.00062422160292652522_r8, 0.00064065247442943206_r8, & + 0.0006932278962568691_r8, 0.00097517895766126099_r8, & + 0.001025666850732181_r8, 0.0010286297947736888_r8, & + 0.0010550942722353383_r8, 0.0011487300379107164_r8, & + 0.001346203524313482_r8, 0.0015693670823488657_r8, & + 0.0017982545095553447_r8, 0.0020922088613097084_r8, & + 0.0026150506402705513_r8, 0.0032756524822521813_r8, & + 0.0041528185978131097_r8, 0.005232373993300214_r8, & + 0.0077805395388155932_r8, 0.010546245782651223_r8, 0.013182306389761554_r8, & + 0.015427611916488719_r8, 0.017125008484267512_r8, 0.018476616014474874_r8, & + 0.019449269735737126_r8, 0.020308035295403919_r8, 0.02103641448233504_r8, & + 0.021667774086816111_r8, 0.022161272618820425_r8, 0.023122815299927022_r8, & + 0.02379094234637771_r8, 0.024053297573325763_r8, 0.023862490711016392_r8, & + 0.023571499303303531_r8, 0.023269076992157817_r8, 0.023006721765209761_r8, & + 0.022695158098299618_r8, 0.022602431417727879_r8, 0.022549485627895254_r8, & + 0.022488071878671276_r8, 0.022394436112995901_r8, 0.02219635656985737_r8, & + 0.021581486759061852_r8, 0.021005747290009317_r8, 0.020713915339323648_r8, & + 0.020547293026755675_r8, 0.020714867714194132_r8 & + / +data delta_sa_ref(:,33,52) / & + 0.0010638070799955752_r8, 0.001051399050439111_r8, & + 0.0010913017527314172_r8, 0.0014314338387068047_r8, & + 0.0015608540801390614_r8, 0.0016622612074891061_r8, & + 0.0018150804350208789_r8, 0.0019828653360845429_r8, & + 0.0022672649773251155_r8, 0.0025601152125115257_r8, & + 0.0029372467292395452_r8, 0.0033991779688555459_r8, & + 0.0042599806989906969_r8, 0.0053378721022293331_r8, & + 0.0065988769890059839_r8, 0.0079667326372695694_r8, & + 0.010698071745109018_r8, 0.013184689256083433_r8, 0.015354279883752374_r8, & + 0.017053972556449422_r8, 0.018430900928274485_r8, 0.019613673015883848_r8, & + 0.020566222582948348_r8, 0.021438240927543307_r8, 0.02220524033674184_r8, & + 0.022881495228947356_r8, 0.023459574611528537_r8, 0.024293522079921696_r8, & + 0.024861111665927978_r8, 0.025056339395592847_r8, 0.024853404171245267_r8, & + 0.024567431924587376_r8, 0.02429526749912115_r8, 0.024083881680827729_r8, & + 0.023811043281611214_r8, 0.023718795284713715_r8, 0.023788404676153049_r8, & + 0.024014082194228063_r8, 0.024044849527962878_r8, 0.023941310310575874_r8, & + 0.023592263193615196_r8, 0.023233756373659493_r8, 0.023143221701973332_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,52) / & + 0.0020379401188381626_r8, 0.0020255838094108973_r8, & + 0.0020282252586284908_r8, 0.0019995770577182154_r8, & + 0.0023423627092040294_r8, 0.0026182080100480127_r8, & + 0.0030934029515083585_r8, 0.0033580087972922465_r8, & + 0.0040138859563748214_r8, 0.004923590430205735_r8, & + 0.0057167874929089707_r8, 0.0065469648446585156_r8, & + 0.0078136549755006939_r8, 0.0092856690314312446_r8, & + 0.010613059310736776_r8, 0.011894481282517348_r8, 0.014210553594475126_r8, & + 0.016139361086578357_r8, 0.0176122615348638_r8, 0.018852998097554596_r8, & + 0.019947550833075749_r8, 0.020928361701616518_r8, 0.021758929066002214_r8, & + 0.022530498155245958_r8, 0.023175667694681375_r8, 0.023743366542298781_r8, & + 0.024270114063119946_r8, 0.025093253459571599_r8, 0.025576886856250577_r8, & + 0.025709437969001887_r8, 0.025554177484118111_r8, 0.025261703462696256_r8, & + 0.024959479125370533_r8, 0.024651191864337313_r8, 0.024345475141133294_r8, & + 0.024174986435592391_r8, 0.024211789446167715_r8, 0.02441170637789121_r8, & + 0.024607658919807429_r8, 0.024660676262534712_r8, 0.024549604652523444_r8, & + 0.024205159231353083_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,52) / & + 0.0030173908111670784_r8, 0.0030899972035213167_r8, & + 0.003146028619698568_r8, 0.0030200079126687079_r8, & + 0.0033733347897046918_r8, 0.0038851235278011525_r8, & + 0.0046463911014036543_r8, 0.0054148375298196539_r8, & + 0.0073325186551387667_r8, 0.009207362917684675_r8, 0.010303128776964213_r8, & + 0.011445875243061204_r8, 0.012136590122015603_r8, 0.013404593973871145_r8, & + 0.014475679112045038_r8, 0.015631220296594434_r8, 0.017353236736034765_r8, & + 0.018619332284712031_r8, 0.019680257980251126_r8, 0.020654837500552432_r8, & + 0.021497435138181271_r8, 0.022342559005731823_r8, 0.023062916194055375_r8, & + 0.023653290674464651_r8, 0.024151648593049285_r8, 0.024600299757418929_r8, & + 0.02501903599767967_r8, 0.025683507164353841_r8, 0.026050264860901659_r8, & + 0.026159238059538965_r8, 0.026098245055098203_r8, 0.025854182165755257_r8, & + 0.025576242351418997_r8, 0.025275875431159049_r8, 0.025012129757605923_r8, & + 0.02487702189258429_r8, 0.024855994208991337_r8, 0.024898976466292407_r8, & + 0.024921439920848065_r8, 0.024933902958033782_r8, 0.025115314436602466_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,52) / & + 0.0026313775929970571_r8, 0.0027977915473725232_r8, & + 0.0029320101647092541_r8, 0.0032637208263680394_r8, & + 0.0035747437960372162_r8, 0.004216488198169002_r8, & + 0.0052577974020227066_r8, 0.0064486491316183931_r8, & + 0.0086126446918861257_r8, 0.010650035873258525_r8, 0.011707136500223305_r8, & + 0.013328094776380462_r8, 0.013934606990969765_r8, 0.015159330260756426_r8, & + 0.016003141102521778_r8, 0.017140931575576803_r8, 0.0185782978908027_r8, & + 0.019662481451817593_r8, 0.020688821539720598_r8, 0.02161284972516014_r8, & + 0.022376670662837921_r8, 0.023160275851925139_r8, 0.02388579317009908_r8, & + 0.024466245928778045_r8, 0.024957322910253345_r8, 0.0253641814069057_r8, & + 0.025749505963398939_r8, 0.026274297870963907_r8, 0.026504848791222998_r8, & + 0.026547156344993331_r8, 0.026489295315141437_r8, 0.02630377823106592_r8, & + 0.026067035966340642_r8, 0.025838923836876977_r8, 0.025644512468405913_r8, & + 0.025524802634616789_r8, 0.025420664831191295_r8, 0.025240574974374298_r8, & + 0.024833386291304532_r8, 0.023950621432620979_r8, 0.023345967306350399_r8, & + 0.023291417717076265_r8, 0.023303986746862931_r8, 0.023316555776649601_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,37,52) / & + 0.0017937560814210512_r8, 0.0020750425113558401_r8, & + 0.0021662449995154764_r8, 0.0030679306627633385_r8, & + 0.0034260851904787952_r8, 0.0040234306704755342_r8, & + 0.0050339659227440449_r8, 0.0058046130762658662_r8, & + 0.0072717953513715848_r8, 0.0086953040817520869_r8, & + 0.0092400865058121489_r8, 0.01101422773230187_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,52) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,52) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,52) / & + 0.0027886234525282671_r8, 0.0026237315276009866_r8, & + 0.0028231852280098768_r8, 0.0033828841083239497_r8, & + 0.0036920614325688878_r8, 0.003871100035019258_r8, & + 0.0049364790851199993_r8, 0.0053813475560319998_r8, & + 0.0088404600743733318_r8, 0.0078112139410133332_r8, & + 0.0071274888239866658_r8, 0.0047820108660533321_r8, & + 0.0038828432329599998_r8, 0.0036454499699733328_r8, & + 0.0038454456641333324_r8, 0.0035641509073066663_r8, & + 0.0036812215575466661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,52) / & + 0.0029514922699072259_r8, 0.0027187498059986696_r8, & + 0.0029565824767103475_r8, 0.0033359891106210229_r8, & + 0.0034556710461870876_r8, 0.0036698994347416098_r8, & + 0.0047448021298982313_r8, 0.0054606383264590875_r8, & + 0.0098332552946998504_r8, 0.0091773480064867158_r8, & + 0.0081759990952337304_r8, 0.0051926124822057268_r8, & + 0.0040663576702456676_r8, 0.0038678854226971478_r8, & + 0.0041530508091085789_r8, 0.0037981869827092914_r8, & + 0.0036769745857191177_r8, 0.0031805988718135534_r8, & + 0.0030602695754519704_r8, 0.0031034263706228213_r8, & + 0.0030512415527413125_r8, 0.0030409862049060009_r8, & + 0.003048025145062755_r8, 0.0031375445015356922_r8, 0.003284698921711039_r8, & + 0.0034486461469608294_r8, 0.003613705413905936_r8, & + 0.0038048737172094891_r8, 0.0040156951848285072_r8, & + 0.004042095533544939_r8, 0.0040420897693734716_r8, & + 0.0038865081305134446_r8, 0.0037588428174656556_r8, & + 0.0047336085523072219_r8, 0.0047284154772133068_r8, & + 0.0047240828155602852_r8, 0.0045862142539192883_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,52) / & + 0.0032714186700747846_r8, 0.003047919888112355_r8, & + 0.0032627242094492438_r8, 0.0033779684326426854_r8, & + 0.0034928290766908839_r8, 0.003663564416229689_r8, & + 0.0041862549314827845_r8, 0.0047356681271879097_r8, & + 0.0093771036443607691_r8, 0.010391414764102163_r8, & + 0.0088249627747339077_r8, 0.0053970438133993867_r8, & + 0.0037363165941110515_r8, 0.0031297927256695303_r8, & + 0.0037160295193181224_r8, 0.0035247940054612533_r8, & + 0.0033200906016158022_r8, 0.0031019619276867949_r8, & + 0.0029014725669509033_r8, 0.0029218981564351695_r8, & + 0.0028944136451807797_r8, 0.0028604075273875014_r8, & + 0.0028623048742309428_r8, 0.0029005547168533541_r8, & + 0.0030452645158152163_r8, 0.0032149434905651346_r8, & + 0.0033187596428673827_r8, 0.0038195149107145727_r8, & + 0.0040700624154024886_r8, 0.0040908268331317213_r8, & + 0.0040431799103066079_r8, 0.0040299847877101986_r8, & + 0.0037069600035283434_r8, 0.0043087765034596145_r8, & + 0.0040651717813006217_r8, 0.0040784052618115553_r8, & + 0.0046725693577951994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,52) / & + 0.0030876388735121378_r8, 0.0031451341090552101_r8, & + 0.0031126806580240333_r8, 0.0038721791241833879_r8, & + 0.0041302717719110581_r8, 0.0042745580609550755_r8, & + 0.0051358901937284731_r8, 0.0059963013501888257_r8, & + 0.0077358940374897241_r8, 0.0088936051190046019_r8, & + 0.0069053926831959449_r8, 0.0044626126528762734_r8, & + 0.0027630605071854615_r8, 0.0025694362013710748_r8, & + 0.0029031804748133132_r8, 0.0029001544097847307_r8, & + 0.0027788486725519802_r8, 0.0026902595224398483_r8, & + 0.0026239492279004706_r8, 0.0026843828164423112_r8, & + 0.0027099947291479962_r8, 0.0027497721346686423_r8, & + 0.0027833219860724937_r8, 0.0028569562351013398_r8, & + 0.0030725524043841317_r8, 0.0032278465531698046_r8, & + 0.0033631423591578861_r8, 0.0037891542059625811_r8, & + 0.004101946268283003_r8, 0.0040647125116269629_r8, & + 0.0040173480155274071_r8, 0.0040192228601646819_r8, & + 0.0037857201233667381_r8, 0.0041396569591011555_r8, & + 0.004074530776964267_r8, 0.004074530776964267_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,52) / & + 0.0026660267858966123_r8, 0.0031476106786199709_r8, & + 0.0027861972984535182_r8, 0.0039219326454594363_r8, & + 0.0038755328490537875_r8, 0.003903039045173755_r8, & + 0.0050611851781987302_r8, 0.0054958732611437838_r8, & + 0.0056303379772581147_r8, 0.0045403711369108278_r8, & + 0.0034205082178298736_r8, 0.0029649424811085162_r8, & + 0.0024900322228536107_r8, 0.0026292767041953451_r8, & + 0.0027235192449998227_r8, 0.0027126520429261959_r8, & + 0.0026227834382260415_r8, 0.0025999668230839053_r8, & + 0.0026304490994398032_r8, 0.0027352882895691853_r8, & + 0.0028036479507460217_r8, 0.0028864821839794303_r8, & + 0.0029722924974487706_r8, 0.0031150541645238775_r8, & + 0.0033322629296220446_r8, 0.0034692978968492248_r8, & + 0.0036173353425243918_r8, 0.0038762205039567879_r8, & + 0.0042716269044803992_r8, 0.0043767994542465976_r8, & + 0.0042796304345434546_r8, 0.0042154485587281177_r8, & + 0.0039862565614678519_r8, 0.0040179112330682078_r8, & + 0.0040900727240161337_r8, 0.0041455444922773336_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,52) / & + 0.0024730474947413333_r8, 0.003350782228735999_r8, & + 0.0029614397445973332_r8, 0.0033787181542399994_r8, & + 0.0035597688953173338_r8, 0.0040391734676480003_r8, & + 0.0049539707893759997_r8, 0.0038187900553386658_r8, & + 0.0028789754868906664_r8, 0.0025274831704746661_r8, & + 0.0024238932377599999_r8, 0.002454284559701334_r8, & + 0.0024119405532159995_r8, 0.0025047360072533334_r8, & + 0.0025228040187733332_r8, 0.0025677424063999992_r8, & + 0.0025666305287679989_r8, 0.0025817335332693333_r8, & + 0.002653449640533333_r8, 0.0027745516459519986_r8, & + 0.0028746669610666656_r8, 0.0029956763100159995_r8, & + 0.0031284530305706664_r8, 0.0032852741049173339_r8, & + 0.0034837442622293329_r8, 0.003639638771882666_r8, & + 0.0038444095691093326_r8, 0.0041722281576106668_r8, & + 0.0043135292733440002_r8, 0.0042795706773333326_r8, & + 0.0042212897581226667_r8, 0.0042287949321386659_r8, & + 0.0041834395903999995_r8, 0.0041871458491733338_r8, & + 0.0042228591270719994_r8, 0.004256103771894856_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,53) / & + 0.0032836911348148147_r8, 0.0034711299470370368_r8, & + 0.0037627407237037038_r8, 0.0041708723911111105_r8, & + 0.0042092019051851847_r8, 0.0044029989237037029_r8, & + 0.0051432549985185178_r8, 0.0054579896770370374_r8, & + 0.0053234896925925925_r8, 0.005242767514074073_r8, & + 0.0052843420014814808_r8, 0.0056297791199999992_r8, 0.00590080571142857_r8, & + 0.0064500441923809526_r8, 0.0066067657066666658_r8, & + 0.0066556186019047607_r8, 0.0068784074166666669_r8, & + 0.0075109276033333327_r8, 0.0077657828166666654_r8, & + 0.0080073461199999998_r8, 0.0082194550499999994_r8, & + 0.0084084435449999998_r8, 0.0085408010149999984_r8, & + 0.0087015207999999993_r8, 0.0088475445999999982_r8, & + 0.0089696055199999982_r8, 0.0090959098666666648_r8, & + 0.0093852117199999998_r8, 0.0095864000666666654_r8, & + 0.0096585383200000017_r8, 0.0098187900799999971_r8, & + 0.0099505859199999994_r8, 0.01011832608_r8, 0.01021867064_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,53) / & + 0.0032836911348148147_r8, 0.0034711299470370368_r8, & + 0.0037627407237037038_r8, 0.0041708723911111105_r8, & + 0.0042092019051851847_r8, 0.0044029989237037029_r8, & + 0.0051432549985185178_r8, 0.0054579896770370374_r8, & + 0.0053234896925925925_r8, 0.005242767514074073_r8, & + 0.0052843420014814808_r8, 0.0056297791199999992_r8, 0.00590080571142857_r8, & + 0.0064500441923809526_r8, 0.0066067657066666658_r8, & + 0.0066556186019047607_r8, 0.0068784074166666669_r8, & + 0.0075109276033333327_r8, 0.0077657828166666654_r8, & + 0.0080073461199999998_r8, 0.0082194550499999994_r8, & + 0.0084084435449999998_r8, 0.0085408010149999984_r8, & + 0.0087015207999999993_r8, 0.0088475445999999982_r8, & + 0.0089696055199999982_r8, 0.0090959098666666648_r8, & + 0.0093852117199999998_r8, 0.0095864000666666654_r8, & + 0.0096585383200000017_r8, 0.0098187900799999971_r8, & + 0.0099505859199999994_r8, 0.01011832608_r8, 0.01021867064_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,53) / & + 0.0032836911348148147_r8, 0.0034711299470370368_r8, & + 0.0037627407237037038_r8, 0.0041708723911111105_r8, & + 0.0042092019051851847_r8, 0.0044029989237037029_r8, & + 0.0051432549985185178_r8, 0.0054579896770370374_r8, & + 0.0053234896925925925_r8, 0.005242767514074073_r8, & + 0.0052843420014814808_r8, 0.0056297791199999992_r8, 0.00590080571142857_r8, & + 0.0064500441923809526_r8, 0.0066067657066666658_r8, & + 0.0066556186019047607_r8, 0.0068784074166666669_r8, & + 0.0075109276033333327_r8, 0.0077657828166666654_r8, & + 0.0080073461199999998_r8, 0.0082194550499999994_r8, & + 0.0084084435449999998_r8, 0.0085408010149999984_r8, & + 0.0087015207999999993_r8, 0.0088475445999999982_r8, & + 0.0089696055199999982_r8, 0.0090959098666666648_r8, & + 0.0093852117199999998_r8, 0.0095864000666666654_r8, & + 0.0096585383200000017_r8, 0.0098187900799999971_r8, & + 0.0099505859199999994_r8, 0.01011832608_r8, 0.01021867064_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,53) / & + 0.0033787106103703706_r8, 0.0035594121738271602_r8, & + 0.0036704438824691362_r8, 0.0041170391155555559_r8, & + 0.0041113627234567896_r8, 0.0043823595990123447_r8, & + 0.0050972336958024682_r8, 0.0053719562814814811_r8, & + 0.0052299170498765427_r8, 0.0051734674567901233_r8, & + 0.0052435995585185186_r8, 0.005678511500864198_r8, & + 0.0063121826823456803_r8, 0.0067579851619753084_r8, & + 0.0069235100036419746_r8, 0.007002386661358025_r8, & + 0.0072626201175308653_r8, 0.0076685850025308621_r8, & + 0.0078518416358024697_r8, 0.0080527468562345671_r8, & + 0.0082532649448765431_r8, 0.0084104982325308632_r8, & + 0.0085453980605555563_r8, 0.0086939260832098759_r8, & + 0.0088322881406172823_r8, 0.00896053739117284_r8, 0.0090880620696913578_r8, & + 0.0093863326687654309_r8, 0.0095953352995061716_r8, & + 0.0096625067097530874_r8, 0.009798112619938272_r8, & + 0.0099300402003086423_r8, 0.010078895262654319_r8, 0.010141468966992943_r8, & + 0.010064941514126981_r8, 0.009416009250793651_r8, 0.0089342991007407419_r8, & + 0.0088108514399999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,53) / & + 0.0037286777486419749_r8, 0.0038347449254320992_r8, & + 0.0035371780972839506_r8, 0.003880525859753087_r8, & + 0.0039817117091358019_r8, 0.0041946965970370374_r8, & + 0.0048237499318518505_r8, 0.0051060626118518511_r8, & + 0.005104028725432099_r8, 0.0054091394232098763_r8, & + 0.0057542067441975304_r8, 0.0062022256977777778_r8, & + 0.006893377282962963_r8, 0.0072578219945679005_r8, & + 0.0075346431812345679_r8, 0.0077419886567901232_r8, & + 0.0079713925550617282_r8, 0.0080664767451851839_r8, & + 0.0081730893733333327_r8, 0.0083350884266666665_r8, & + 0.0084860305338271599_r8, 0.0086311945545679003_r8, & + 0.0087676960681481505_r8, 0.0088961175056790111_r8, & + 0.0090227269353086413_r8, 0.009157120602962962_r8, & + 0.0092799488528395053_r8, 0.0095169705802469143_r8, & + 0.009636646306172841_r8, 0.0097412435377777773_r8, & + 0.0098476620222222224_r8, 0.0099461575945679025_r8, & + 0.009951159106172839_r8, 0.0097345409575308652_r8, & + 0.0094624531792592576_r8, 0.0091238295802469112_r8, & + 0.0089248137940740723_r8, 0.0088322919376455037_r8, & + 0.0090849268800000001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,53) / & + 0.004277882551604939_r8, 0.0043060796133333329_r8, & + 0.0038827076651851847_r8, 0.0034112527930864195_r8, & + 0.0034345038128395064_r8, 0.0035028701313580251_r8, & + 0.0042878393501234562_r8, 0.0049221530548148153_r8, & + 0.0052197013930864195_r8, 0.0056002507871604941_r8, & + 0.005990673775308643_r8, 0.0065245042459259241_r8, & + 0.0071814495595061735_r8, 0.0074150783945679021_r8, & + 0.0076083623190123448_r8, 0.0077387621733333327_r8, & + 0.0079386839634567885_r8, 0.0081101590785185185_r8, & + 0.0082751257570370367_r8, 0.0084271680118518499_r8, & + 0.0085768435624691344_r8, 0.0088325862898765411_r8, & + 0.0089793404400000006_r8, 0.0091122456725925925_r8, & + 0.0092384298350617258_r8, 0.0093600654879012358_r8, & + 0.009460733620740739_r8, 0.0096173428750617272_r8, & + 0.0097324700913580236_r8, 0.0098778929703703701_r8, & + 0.0099491437096296282_r8, 0.0099414611659259262_r8, & + 0.0098153139832098772_r8, 0.0096204745979012341_r8, & + 0.0093726085579012332_r8, 0.0092811541616666677_r8, & + 0.0091764412032451503_r8, 0.0090021885785502662_r8, & + 0.0092069878000000001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,53) / & + 0.0042028598775308637_r8, 0.0042055963792592592_r8, & + 0.0040438931639506168_r8, 0.0023823466330864201_r8, & + 0.0024137516883950619_r8, 0.002372084751604938_r8, & + 0.0028639801822222216_r8, 0.0035562688948148143_r8, & + 0.0040108332646913583_r8, 0.0043152875718518516_r8, & + 0.0045301029575308639_r8, 0.0056464569886419749_r8, & + 0.0068457011362962955_r8, 0.0069991116419753094_r8, & + 0.007117761179753085_r8, 0.0072235232735802443_r8, & + 0.0073894976503703696_r8, 0.0075665104834567896_r8, & + 0.0077183216148148156_r8, 0.0078463270301234577_r8, & + 0.0079951797812345682_r8, 0.0083753871125925913_r8, & + 0.0085582982162962958_r8, 0.0087293573091358021_r8, & + 0.0088896552938271603_r8, 0.0090413000162962946_r8, & + 0.0091801404992592588_r8, 0.0094631095698765443_r8, & + 0.0096561346360493818_r8, 0.0097928857629629613_r8, & + 0.0098514778704938289_r8, 0.0098423242259876517_r8, & + 0.009795329992571428_r8, 0.0097614275492592592_r8, & + 0.0096311432566666653_r8, 0.0095531390899999992_r8, & + 0.009483559373333332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,53) / & + 0.0026772971437037034_r8, 0.0026834450276543203_r8, & + 0.0026662586874074074_r8, 0.0010020773491358022_r8, & + 0.00097275240493827151_r8, 0.00094646904543209875_r8, & + 0.00097215148395061719_r8, 0.0012950864227160494_r8, & + 0.0015761695259259255_r8, 0.0017642393051851852_r8, & + 0.0019034403407407409_r8, 0.0031817472004938268_r8, & + 0.0046198065935802472_r8, 0.0048712411797530858_r8, & + 0.0050959024246913578_r8, 0.0053090352316049385_r8, & + 0.0056525216681481494_r8, 0.0059165755950617276_r8, & + 0.0061533939338271598_r8, 0.0063695128558024687_r8, & + 0.0065686118464197522_r8, 0.0067753471560493828_r8, & + 0.0069670779308641986_r8, 0.0071618410454320977_r8, & + 0.0073540063323456785_r8, 0.0075303350399999998_r8, & + 0.0077080319985185176_r8, 0.0081135242360493819_r8, & + 0.0085070350335802458_r8, 0.0088512518202469147_r8, & + 0.0091296122891358026_r8, 0.0092884401635537888_r8, & + 0.0094410359920652567_r8, 0.0094085561136296302_r8, & + 0.0094509536316666667_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,53) / & + 0.00091752314370370362_r8, 0.00092043529925925924_r8, & + 0.0009155724617283948_r8, 0.00052751617777777786_r8, & + 0.00051718958172839499_r8, 0.00051082906419753073_r8, & + 0.00055443743802469135_r8, 0.00065207323111111113_r8, & + 0.00074331152691358012_r8, 0.00080989357234567878_r8, & + 0.00086826611259259261_r8, 0.0011538792355555555_r8, & + 0.0015571804227160493_r8, 0.0017209729940740738_r8, & + 0.0019383954523456788_r8, 0.0021664033649382718_r8, & + 0.0026285855639506168_r8, 0.0030924226069135798_r8, & + 0.0035781701535802474_r8, 0.0040756680167901233_r8, & + 0.0045124081456790113_r8, 0.0048220673530864197_r8, & + 0.0051971344987654326_r8, 0.0055205686641975286_r8, & + 0.0057914638454320995_r8, 0.0060182052014814812_r8, & + 0.0062191901595061716_r8, 0.0066216500572839499_r8, & + 0.0069796602918518521_r8, 0.0073327984439506165_r8, & + 0.0077323276962962956_r8, 0.0081426273017283952_r8, & + 0.0085702704113580254_r8, 0.0088927431032098762_r8, & + 0.0091229785506613745_r8, 0.0091450046491111103_r8, & + 0.0092165063884444443_r8, 0.0092780485557777785_r8, & + 0.0093027145133333326_r8, 0.0092687671000000003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,53) / & + 0.00024580441876543207_r8, 0.00024389996148148146_r8, & + 0.00024390920641975303_r8, 0.00029838962765432097_r8, & + 0.00029938808098765429_r8, 0.00030742193234567896_r8, & + 0.00033715365382716052_r8, 0.0003755478824691358_r8, & + 0.00040858004691358019_r8, 0.00043802517530864193_r8, & + 0.00046096186716049382_r8, 0.0005039138503703703_r8, & + 0.00057319541777777774_r8, 0.00061922596543209868_r8, & + 0.00067933655407407406_r8, 0.00074203572543209888_r8, & + 0.0009051626612345678_r8, 0.0011404925649382716_r8, & + 0.0014805121496296297_r8, 0.0018623373451851846_r8, & + 0.0023087939041975306_r8, 0.0027599284019753081_r8, & + 0.0032903937150617281_r8, 0.0038196202064197525_r8, & + 0.004320584921481482_r8, 0.0048042800918518518_r8, & + 0.0052480556187654319_r8, 0.006170423110123455_r8, & + 0.0067896213407407395_r8, 0.0071262202982716053_r8, & + 0.0073397044128395064_r8, 0.0075597894133333319_r8, & + 0.0078379326261728381_r8, 0.0081314963960493827_r8, & + 0.0084705267723456795_r8, 0.0088181919209876537_r8, & + 0.009053940158148149_r8, 0.0091711913990123444_r8, & + 0.0092130263295379204_r8, 0.0091889220349999998_r8, & + 0.0091785318799999984_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,53) / & + 0.00026078121876543212_r8, 0.00025838677975308636_r8, & + 0.00022348713777777776_r8, 0.00020039328197530868_r8, & + 0.00019980160592592591_r8, 0.00019905276592592595_r8, & + 0.00019013140049382713_r8, 0.00019874768296296292_r8, & + 0.00022653796740740737_r8, 0.00026722494074074072_r8, & + 0.00029342509580246908_r8, 0.00035408113580246916_r8, & + 0.00042072789580246907_r8, 0.0004575689748148148_r8, & + 0.00050908177086419755_r8, 0.00054549758271604939_r8, & + 0.00062323826864197534_r8, 0.00073712666320987651_r8, & + 0.00092678657185185176_r8, 0.0012332470306172839_r8, & + 0.0016772906607407405_r8, 0.0021940364854320989_r8, & + 0.0027526711254320982_r8, 0.00334098201728395_r8, 0.0039343591353086411_r8, & + 0.0045121307975308639_r8, 0.0050543926518518516_r8, & + 0.0063178244059259245_r8, 0.0073771556577777782_r8, & + 0.0080193830296296301_r8, 0.0083751929688888876_r8, & + 0.0085265141185185168_r8, 0.0084959595975308624_r8, & + 0.0083777815516049379_r8, 0.0084303852503703706_r8, & + 0.0086385627703703706_r8, 0.0088771931170370365_r8, & + 0.0090351059076543179_r8, 0.0091263372697530862_r8, & + 0.0091756553834920641_r8, 0.0091725827622222231_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,53) / & + 0.00020418370666666665_r8, 0.00020190020691358027_r8, & + 0.0001681192024691358_r8, 0.00021987236691358022_r8, & + 0.00021781999061728399_r8, 0.00021394636148148143_r8, & + 0.00019150889629629625_r8, 0.0001570437664197531_r8, & + 0.00016915463555555553_r8, 0.00019964444197530866_r8, & + 0.00023115119160493827_r8, 0.00030342811901234567_r8, & + 0.00039114409333333331_r8, 0.00043286649975308642_r8, & + 0.00047245332543209876_r8, 0.00050940534370370373_r8, & + 0.00058724772395061717_r8, 0.00070447354123456785_r8, & + 0.00089850630567901214_r8, 0.0012245660335802467_r8, & + 0.0016805263891358025_r8, 0.0022689019955555553_r8, & + 0.0028901433575308643_r8, 0.0035157668202469134_r8, & + 0.0041739232207407403_r8, 0.0048013124666666657_r8, & + 0.0054004306913580232_r8, 0.0067624319772839484_r8, & + 0.0078779816987654336_r8, 0.0085358330162962973_r8, & + 0.0089533436735802479_r8, 0.0091513147817283945_r8, & + 0.0090788991802469143_r8, 0.0087965772553086422_r8, & + 0.0086215705738271597_r8, 0.0086703098883950617_r8, & + 0.0088477664785185164_r8, 0.0090041261195061718_r8, & + 0.0091118851199999996_r8, 0.0091734286740740734_r8, & + 0.0091981854631481477_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,53) / & + 0.00013377425679012345_r8, 0.00013187904444444441_r8, & + 0.00012785749629629629_r8, 0.00016328409975308641_r8, & + 0.00016252601481481479_r8, 0.00015785732098765431_r8, & + 0.00015584192444444446_r8, 0.00012868954074074076_r8, & + 0.00012816257925925924_r8, 0.00014742903061728394_r8, & + 0.00017521007012345679_r8, 0.00022325601432098764_r8, & + 0.00030319699555555552_r8, 0.00035837078716049374_r8, & + 0.0004049005614814814_r8, 0.0004484349758024691_r8, & + 0.00053541135506172835_r8, 0.00065213794567901254_r8, & + 0.00086628769580246912_r8, 0.0011848590237037036_r8, & + 0.0016318795239506174_r8, 0.0022381810656790123_r8, & + 0.0029207256133333328_r8, 0.0036039727762962963_r8, & + 0.004314732875555556_r8, 0.0050368365140740744_r8, & + 0.0057119388864197516_r8, 0.0072202135856790119_r8, & + 0.0082458932622222203_r8, 0.0088581208093827159_r8, & + 0.0093010088222222221_r8, 0.0095506129106172847_r8, & + 0.0095707114064197511_r8, 0.0093278561229629617_r8, & + 0.0089814575308641981_r8, 0.008785270695802469_r8, & + 0.0088171379980246899_r8, 0.0089475193624691356_r8, & + 0.0090747574479012345_r8, 0.0091585720582716031_r8, & + 0.0092219368651851857_r8, 0.0092562326476031739_r8, & + 0.0092957530748148144_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,53) / & + 0.00012476968691358024_r8, 0.00012261561629629629_r8, & + 0.00012705318666666668_r8, 0.00013235978123456789_r8, & + 0.00013223959703703706_r8, 0.00012893915407407409_r8, & + 0.0001310654898765432_r8, 0.00012401160197530865_r8, & + 0.00011950931703703703_r8, 0.00011595926074074074_r8, & + 0.00012343841580246911_r8, 0.00014457234469135799_r8, & + 0.0002002083832098766_r8, 0.00026650383555555559_r8, & + 0.00032562521580246917_r8, 0.00037798854617283954_r8, & + 0.0004793223145679012_r8, 0.00059014138962962953_r8, & + 0.00076580446172839513_r8, 0.0010447334943209877_r8, & + 0.0015062130780246913_r8, 0.0021152233866666664_r8, & + 0.0028415704518518518_r8, 0.0035852240414814816_r8, & + 0.0043424029758024688_r8, 0.0051222135190123457_r8, & + 0.0058382617229629629_r8, 0.0074673030508641981_r8, & + 0.0085020335219753076_r8, 0.009162316258271604_r8, & + 0.0096004338829629617_r8, 0.0098405064399999988_r8, & + 0.0098792519762962976_r8, 0.0096886583288888894_r8, & + 0.0093546109743209861_r8, 0.0090790101195061725_r8, & + 0.0089800338103703699_r8, 0.0090143510212345665_r8, & + 0.0090954938444444428_r8, 0.0091691852474074069_r8, & + 0.0092295292707407408_r8, 0.0092624886312962958_r8, & + 0.0092985646916666654_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,53) / & + 0.00014430424148148148_r8, 0.00014091134913580248_r8, & + 0.00013976497679012343_r8, 0.00013905311654320988_r8, & + 0.00013928424000000001_r8, 0.00013831352148148149_r8, & + 0.00012590681432098763_r8, 0.00012660018469135803_r8, & + 0.0001220794098765432_r8, 0.00011844614913580247_r8, & + 0.00011995307407407409_r8, 0.00013733355802469138_r8, & + 0.00017455367950617285_r8, 0.00022836846518518519_r8, & + 0.00029334189135802469_r8, 0.00035686386222222213_r8, & + 0.00048607111950617278_r8, 0.00062174983358024682_r8, & + 0.00081206613283950606_r8, 0.0011225943644444447_r8, & + 0.0016185298330864194_r8, 0.0022906183555555554_r8, & + 0.003089491961481481_r8, 0.0039309662429629624_r8, 0.004737134105185184_r8, & + 0.0055204022553086429_r8, 0.006205951407901234_r8, & + 0.0077275850429629634_r8, 0.0086937827866666664_r8, & + 0.009342250491851849_r8, 0.0097171142488888911_r8, & + 0.0098901794933333315_r8, 0.0098817758444444438_r8, & + 0.0097208307140740739_r8, 0.0094815254869135782_r8, & + 0.0092955450637037043_r8, 0.0092017274301234558_r8, & + 0.009157491721199295_r8, 0.0091274535960493824_r8, & + 0.0091343912618694883_r8, 0.0091968823230634926_r8, & + 0.0092876957644259257_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,53) / & + 0.00014006021623587815_r8, 0.00013683297765253001_r8, & + 0.0001301943637498469_r8, 0.00011860344078983374_r8, & + 0.00011964042135565431_r8, 0.00011819640168923125_r8, & + 0.00010925123288313415_r8, 0.00010674115842941892_r8, & + 0.0001059949200783144_r8, 0.00010585924037811358_r8, & + 0.00010680899827951932_r8, 0.00011451366696949464_r8, & + 0.00014224078284624854_r8, 0.00019158942809071935_r8, & + 0.00025383733626142553_r8, 0.00033635966820499746_r8, & + 0.00055086927422249871_r8, 0.00076376041524474705_r8, & + 0.0010552682511262154_r8, 0.0015366113704029496_r8, & + 0.0022447043429367304_r8, 0.0031279210428011451_r8, & + 0.0040529658559560417_r8, 0.0049567380304008819_r8, & + 0.0057903637998418939_r8, 0.0065227531301187813_r8, & + 0.0071755469334135683_r8, 0.00842474024175539_r8, 0.0092841742284560311_r8, & + 0.0098319228695739128_r8, 0.010140623261752257_r8, 0.010261940296546106_r8, & + 0.010287196103597773_r8, 0.010197376142064826_r8, 0.0100303350483033_r8, & + 0.0098830934993639347_r8, 0.0097918392095717264_r8, & + 0.0097185491543712813_r8, 0.0096365780212097768_r8, & + 0.0095719471950390829_r8, 0.0096038695220542203_r8, & + 0.0097536744481866652_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,53) / & + 0.00011925183589143704_r8, 0.00011597730192961318_r8, & + 0.0001101378853289613_r8, 0.00010958030214660741_r8, & + 0.00010900244321216789_r8, 0.00010497770642317696_r8, & + 9.5508930199203276e-05_r8, 9.4424177462623863e-05_r8, & + 9.479927887620739e-05_r8, 9.5650860463802458e-05_r8, & + 9.6695061696210703e-05_r8, 0.00010089214237792918_r8, & + 0.00011763991360063208_r8, 0.00015863748431770862_r8, & + 0.00024307585387817611_r8, 0.00036762979893999664_r8, & + 0.00074315700331733332_r8, 0.0011434307631151407_r8, & + 0.0016858071314048526_r8, 0.0024183295027532907_r8, & + 0.0033481045282664555_r8, 0.0043466751806060496_r8, & + 0.0052857669142025469_r8, 0.0061308602611302191_r8, & + 0.0068650046926455053_r8, 0.007512105320457322_r8, & + 0.0080718478704083479_r8, 0.0090439383905241543_r8, & + 0.0097135856546551567_r8, 0.010119800209814043_r8, 0.010385290907622847_r8, & + 0.010513868322239153_r8, 0.010555566673637688_r8, 0.010517419113323141_r8, & + 0.010421018050032175_r8, 0.010316582719977287_r8, 0.01024821415117916_r8, & + 0.010199684138562285_r8, 0.0101574530417777_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,53) / & + 0.00013801985786627158_r8, 0.00013069549117582222_r8, & + 0.0001260172107174716_r8, 0.0001305261416569679_r8, & + 0.00013141522663095309_r8, 0.00012289482896359508_r8, & + 0.00011679824628483948_r8, 0.0001069971428811457_r8, & + 0.00011236340575984198_r8, 0.0001105958201568_r8, & + 0.00011058523581187162_r8, 0.00011550695620357533_r8, & + 0.00014861478713959505_r8, 0.00024016937077021229_r8, & + 0.00044292308221854812_r8, 0.00071523710853629624_r8, & + 0.0013877981383213036_r8, 0.0020888416403086222_r8, & + 0.0029495711542306372_r8, 0.0039045013380153678_r8, & + 0.0048363364811663404_r8, 0.0056671440519757829_r8, & + 0.0064315136896696892_r8, 0.0071300592862539062_r8, & + 0.0076778838110577782_r8, 0.0081743676477433521_r8, & + 0.0086146711045921222_r8, 0.009467958500986362_r8, 0.010052206402775071_r8, & + 0.010418495047588851_r8, 0.010697164028005302_r8, 0.010836571191081832_r8, & + 0.010876471147363332_r8, 0.010868290771776798_r8, 0.010808702421879207_r8, & + 0.010738498465434456_r8, 0.01069291033098351_r8, 0.010644928320119615_r8, & + 0.010619699286542134_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,19,53) / & + 0.00017943824831220413_r8, 0.00016955463913486752_r8, & + 0.00016089545029088396_r8, 0.00012843176523630616_r8, & + 0.00012767063908314074_r8, 0.00012578436992094816_r8, & + 0.00014975432833875228_r8, 0.00012213317054851687_r8, & + 0.00013331841575590453_r8, 0.00013465314422739756_r8, & + 0.00013341769308023048_r8, 0.00015112214925168727_r8, & + 0.00029132379282752262_r8, 0.00056496519111121643_r8, & + 0.0010299581166262257_r8, 0.0015467627746255539_r8, & + 0.0023946242168104031_r8, 0.003215868305262091_r8, & + 0.0040913067819819196_r8, 0.0049545782710649156_r8, & + 0.0057269448235068039_r8, 0.006438862516248021_r8, & + 0.0070614637095373434_r8, 0.0077056963287159058_r8, & + 0.0082150331257631586_r8, 0.0087095665706720393_r8, & + 0.0091262555624955777_r8, 0.010044493596813697_r8, 0.010708272818070651_r8, & + 0.011200158867664171_r8, 0.011582823314278455_r8, 0.011772081350630927_r8, & + 0.011810118748322659_r8, 0.011726772676847592_r8, 0.011597907952169088_r8, & + 0.01147533906447492_r8, 0.011418293801772313_r8, 0.011335359416027089_r8, & + 0.011263837392066529_r8, 0.011185339284471183_r8, 0.011094628174987095_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,53) / & + 0.00018144436219779422_r8, 0.00017509742486492184_r8, & + 0.00016669605392882305_r8, 0.00013866852957642795_r8, & + 0.00014030978100246911_r8, 0.00013955228034429629_r8, & + 0.00016737321360809875_r8, 0.00014770115106100412_r8, & + 0.00014191660058041151_r8, 0.00015500070285794239_r8, & + 0.00017304299126169549_r8, 0.00028860775076385188_r8, & + 0.00061243928213274067_r8, 0.0011789120470536295_r8, & + 0.0017789558638708143_r8, 0.0023186750828189631_r8, & + 0.0031346065872154077_r8, 0.0038333206034009541_r8, & + 0.0046713458769941062_r8, 0.005453006215249581_r8, & + 0.0061964127702673257_r8, 0.00690969145819865_r8, 0.0075829488613565104_r8, & + 0.0082583066072483956_r8, 0.0088501671215007738_r8, & + 0.0094335803556862569_r8, 0.0099078331541159505_r8, & + 0.010864246598755357_r8, 0.011549578103313184_r8, 0.012052547063057252_r8, & + 0.012492961962767883_r8, 0.012713386046334155_r8, 0.012776770774702972_r8, & + 0.012701151262976397_r8, 0.012551926502637019_r8, 0.01235838057554137_r8, & + 0.012203174921206652_r8, 0.011975053884929969_r8, 0.011813486946658997_r8, & + 0.011696886731305863_r8, 0.011612829408270617_r8, 0.011420407025170666_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,53) / & + 0.00018722674739057776_r8, 0.00018634438977327408_r8, & + 0.00018620130475425182_r8, 0.00017455179945552595_r8, & + 0.00017750888984865184_r8, 0.00017779505988669628_r8, & + 0.0002132205258462815_r8, 0.00018698827235887405_r8, & + 0.00021866968032071109_r8, 0.00031266461406672595_r8, & + 0.0005352095136526222_r8, 0.00090956761842109625_r8, & + 0.0015775242584715851_r8, 0.0021294151005918816_r8, & + 0.0025593378877473184_r8, 0.0029927304866140445_r8, & + 0.0038184741313912886_r8, 0.0045681800123098075_r8, & + 0.0054459469852532151_r8, 0.0062558797354285035_r8, & + 0.0070122509934831406_r8, 0.0076802076335336289_r8, & + 0.0083381840935073184_r8, 0.0090814273010666659_r8, & + 0.0097463672319661066_r8, 0.010392873042914846_r8, 0.010899656332788384_r8, & + 0.011927137930635377_r8, 0.012676664955280121_r8, 0.013109365976554902_r8, & + 0.013456573698963911_r8, 0.013641272611018431_r8, 0.013647043706785662_r8, & + 0.013597560137707142_r8, 0.01349335847260421_r8, 0.013319748649523911_r8, & + 0.013104015193031051_r8, 0.012734933348339021_r8, 0.012491632178181217_r8, & + 0.012334490546509008_r8, 0.012132322742194614_r8, 0.011976699004099201_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,53) / & + 0.00024223365725885098_r8, 0.00024136774182589627_r8, & + 0.00024303772158945183_r8, 0.00026724624305077201_r8, & + 0.00027167478197931194_r8, 0.0002761156911283226_r8, & + 0.00031080178932839505_r8, 0.00036589875130525756_r8, & + 0.00050164955075161809_r8, 0.0008643320447344723_r8, & + 0.0013279431675384363_r8, 0.0017531447557806218_r8, & + 0.0022630699840271934_r8, 0.0025487231151384887_r8, & + 0.0028846611924635132_r8, 0.0033407388510007709_r8, & + 0.0043714627312877305_r8, 0.0052587167945545611_r8, & + 0.0061688310252513978_r8, 0.0070489227308656449_r8, & + 0.0078061410365436196_r8, 0.0085122703316772609_r8, & + 0.0091953291656328949_r8, 0.010041588318259553_r8, 0.010786386922584859_r8, & + 0.01145336446992848_r8, 0.012015083811286215_r8, 0.013179158668248205_r8, & + 0.013996520985855116_r8, 0.014405542325721518_r8, 0.014605977008009601_r8, & + 0.014745871831313671_r8, 0.014724830086292872_r8, 0.014654517753136946_r8, & + 0.01460692951498585_r8, 0.014462235046139112_r8, 0.014234969355649905_r8, & + 0.013825479493683176_r8, 0.013293947687313235_r8, 0.012914730052165162_r8, & + 0.012574029130703377_r8, 0.012425651428711467_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,53) / & + 0.00026743304011019584_r8, 0.00026557462015352096_r8, & + 0.00026067864481938428_r8, 0.00030325568686127402_r8, & + 0.00031071500006668633_r8, 0.00032067356769659259_r8, & + 0.00038321901175572011_r8, 0.00048544492606219575_r8, & + 0.0007367673876514237_r8, 0.0012496528456256261_r8, & + 0.0018369520020029625_r8, 0.0022719888888265215_r8, & + 0.0026709980618692996_r8, 0.0029316510733099718_r8, & + 0.0032085300134758184_r8, 0.0035679612497860995_r8, & + 0.0046273247085375727_r8, 0.0056276673128029218_r8, & + 0.0065783324291229491_r8, 0.0075590654986730389_r8, & + 0.0084139771288115599_r8, 0.0092183397361285252_r8, & + 0.0098599688386875519_r8, 0.010811069722445693_r8, 0.011615393879694588_r8, & + 0.012306251886071463_r8, 0.012889731669020601_r8, 0.014028673951985829_r8, & + 0.01487652358628899_r8, 0.015503323779262676_r8, 0.015779843852126548_r8, & + 0.015886901658320379_r8, 0.015878263209694182_r8, 0.015773919337471565_r8, & + 0.01561393020632206_r8, 0.015414749241206921_r8, 0.015165237594728183_r8, & + 0.014891637026378027_r8, 0.014581273386695267_r8, 0.014484379032065483_r8, & + 0.014544622598716207_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,53) / & + 0.0002274233743751506_r8, 0.0002274631638498765_r8, & + 0.00022255579530034567_r8, 0.00029490632351032096_r8, & + 0.00030400485006431611_r8, 0.00031229432396555064_r8, & + 0.0004016880105164642_r8, 0.00069886233408616289_r8, & + 0.0011873709784545974_r8, 0.0019081573131147457_r8, & + 0.0025178646974983502_r8, 0.0029841442886532339_r8, & + 0.003434574405708957_r8, 0.0036881262018207996_r8, & + 0.0039281495765258268_r8, 0.0042283081106999701_r8, & + 0.0051491426611238308_r8, 0.0062446662687527504_r8, & + 0.0073563576662786356_r8, 0.0083846237984624983_r8, & + 0.009287619401050903_r8, 0.01012114258076784_r8, 0.010768185755602606_r8, & + 0.011646498620702697_r8, 0.01239834727196555_r8, 0.013079012552943721_r8, & + 0.013663878041940105_r8, 0.014803063966501608_r8, 0.01572035725367486_r8, & + 0.016378780218281243_r8, 0.016706698542655843_r8, 0.016833772861772206_r8, & + 0.016857394546601165_r8, 0.016741885701471802_r8, 0.016460295588836424_r8, & + 0.01607998778940602_r8, 0.015685448621181985_r8, 0.015394507981986013_r8, & + 0.015189260608191445_r8, 0.015106656000765642_r8, 0.015100574321659052_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,53) / & + 0.00021112825776460904_r8, 0.00021389760244437859_r8, & + 0.00021115567701886421_r8, 0.00030179002195924277_r8, & + 0.00030370936975710285_r8, 0.00028485863245669132_r8, & + 0.00046549667948958025_r8, 0.0010839379592143539_r8, & + 0.0018837576058369056_r8, 0.0026260790762864194_r8, & + 0.0030885185089265512_r8, 0.0034367430379668804_r8, & + 0.003838531080194634_r8, 0.0041723467911238847_r8, 0.004477797283526189_r8, & + 0.0048839175679262553_r8, 0.0058785921449129863_r8, & + 0.007061828933412344_r8, 0.0081781901607834058_r8, & + 0.0092168452215953909_r8, 0.010133731374260281_r8, 0.010986442762341004_r8, & + 0.011794008348290632_r8, 0.012607990039735967_r8, 0.013283052079497612_r8, & + 0.01392451182316958_r8, 0.014544817612183701_r8, 0.015702856106022584_r8, & + 0.016644159104601677_r8, 0.017144505656249545_r8, 0.017455398870621499_r8, & + 0.017621984549848629_r8, 0.017737104288838845_r8, 0.017705448759801286_r8, & + 0.017496047915054748_r8, 0.017006285195549364_r8, 0.016462821866585282_r8, & + 0.016037480684952362_r8, 0.015750113190731323_r8, 0.015623134624275753_r8, & + 0.015554659100698719_r8, 0.015449439132420266_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,53) / & + 0.00024460318301154242_r8, 0.00024709465590986012_r8, & + 0.00023482132066644277_r8, 0.00026110919096289712_r8, & + 0.00024647178768528072_r8, 0.00024051207126373663_r8, & + 0.00024856688989522964_r8, 0.000542589004088744_r8, & + 0.00090941592007798527_r8, 0.0014368720575286518_r8, & + 0.0020286676513591711_r8, 0.0026232944643923232_r8, & + 0.0036255885304127071_r8, 0.0043291748144592196_r8, & + 0.0048629870390197996_r8, 0.0054276453967930733_r8, & + 0.0066485378974488083_r8, 0.0079031643749039263_r8, & + 0.0090055845080254555_r8, 0.010075657961756895_r8, 0.010992236866417543_r8, & + 0.011906494171332029_r8, 0.012671560380363734_r8, 0.013430185565709445_r8, & + 0.014086547113456027_r8, 0.014738845861646831_r8, 0.015372897402076657_r8, & + 0.016592784819915461_r8, 0.017456306676718748_r8, 0.017897991028425625_r8, & + 0.018171883174088417_r8, 0.018369926957312648_r8, 0.01853021643246975_r8, & + 0.018580668758660688_r8, 0.018458529962259072_r8, 0.018020837629627907_r8, & + 0.017447345867942415_r8, 0.016939269425933778_r8, 0.01652939382196849_r8, & + 0.016226878050167069_r8, 0.016051041642563504_r8, 0.015952005847642801_r8, & + 0.015835603417330004_r8, 0.015804191179309868_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,53) / & + 0.00026451086057623709_r8, 0.00025915171925839015_r8, & + 0.00023752532064331852_r8, 0.00024381902611468636_r8, & + 0.00024266542348768395_r8, 0.00024041662849327405_r8, & + 0.00022480648661649385_r8, 0.00029752725981234564_r8, & + 0.00036023067348764435_r8, 0.000524976810675516_r8, & + 0.00076317384930417768_r8, 0.0011167603557628838_r8, & + 0.0020476446629293828_r8, 0.0032062121619974319_r8, & + 0.0043219795433471998_r8, 0.0054916449917383108_r8, & + 0.0075622594892534511_r8, 0.0091123947660818935_r8, & + 0.010220744044463093_r8, 0.011156155146748205_r8, 0.012007294847002546_r8, & + 0.012896445023688374_r8, 0.013649966577594468_r8, 0.014395471323371142_r8, & + 0.015048176769216154_r8, 0.01567418872642623_r8, 0.016260364886592476_r8, & + 0.017413281193044697_r8, 0.018307177203322627_r8, 0.018740479111563693_r8, & + 0.019007764459470694_r8, 0.019185448469158872_r8, 0.019321456758625972_r8, & + 0.019321836425313339_r8, 0.019166114673232908_r8, 0.018830138860042114_r8, & + 0.018443302313308919_r8, 0.017989235557781803_r8, 0.017538994674258172_r8, & + 0.017144648237005615_r8, 0.016889543253544793_r8, 0.016633439037428758_r8, & + 0.016479161541599233_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,53) / & + 0.00022946766714395395_r8, 0.00022535928092082307_r8, & + 0.00020984372708914576_r8, 0.00022156692440716383_r8, & + 0.00022001687392737449_r8, 0.00021560750702855641_r8, & + 0.00021590848770424367_r8, 0.00021985133455574654_r8, & + 0.00025121352096235715_r8, 0.00031145480320115892_r8, & + 0.0003871815412040692_r8, 0.00052680647665538118_r8, & + 0.00097806680371326422_r8, 0.0017199390221809647_r8, & + 0.0027638152506332453_r8, 0.0040758803101566422_r8, & + 0.0071043328198878951_r8, 0.0096073332660043601_r8, & + 0.011311245067204977_r8, 0.012466589488898028_r8, 0.01329357904245008_r8, & + 0.01403927371549901_r8, 0.014684290352530556_r8, 0.015355221425738773_r8, & + 0.015994263596357923_r8, 0.016604231033705695_r8, 0.017103603121772178_r8, & + 0.018244109196153852_r8, 0.019225366395029402_r8, 0.019742917715907398_r8, & + 0.020078751953839225_r8, 0.02020254530574939_r8, 0.020225961602317852_r8, & + 0.020115125468496031_r8, 0.019915876261191075_r8, 0.019637348743910099_r8, & + 0.019315013489282846_r8, 0.018925694985281398_r8, 0.018496391198514896_r8, & + 0.01808222888959744_r8, 0.017814066018109597_r8, 0.017752047099467334_r8, & + 0.01763709889394471_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,53) / & + 0.00021171505297964773_r8, 0.00021008802519930205_r8, & + 0.00020545486990098435_r8, 0.00020393631063932838_r8, & + 0.00018782098786257115_r8, 0.00017602891033073251_r8, & + 0.00018686026669703374_r8, 0.00022113631860298268_r8, & + 0.00027478174884638023_r8, 0.00034404664578109633_r8, & + 0.00043137929882898436_r8, 0.00059807991655240163_r8, & + 0.00098413487007175619_r8, 0.0015367044952824891_r8, & + 0.0022158723773067859_r8, 0.0031341978475392259_r8, & + 0.0058735238005398907_r8, 0.0089581825260432596_r8, & + 0.011429622228885673_r8, 0.0132878119180618_r8, 0.014406525228822147_r8, & + 0.015180324145651885_r8, 0.015790258121746809_r8, 0.016409396426427678_r8, & + 0.016992275254860849_r8, 0.017581290302351324_r8, 0.01809157270077574_r8, & + 0.019256958465578008_r8, 0.020302718949768192_r8, 0.020825289281809881_r8, & + 0.021150229972798914_r8, 0.021155327993177334_r8, 0.021048099114701221_r8, & + 0.020868785157804458_r8, 0.02064864055137235_r8, 0.020363988167325212_r8, & + 0.020037497926069174_r8, 0.019711565522909258_r8, 0.019311611103494952_r8, & + 0.018940611967757297_r8, 0.018645186888889675_r8, 0.018512068013870432_r8, & + 0.018716897584897599_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,53) / & + 0.00034394803631111119_r8, 0.00034665817147555561_r8, & + 0.00034571759515377777_r8, 0.00032896258304888887_r8, & + 0.00025444980799822222_r8, 0.00024321071805155552_r8, & + 0.00030082500325333332_r8, 0.00037536966224711101_r8, & + 0.00047290264422399986_r8, 0.00059807900487822213_r8, & + 0.00075413496443555567_r8, 0.0009821370416231111_r8, & + 0.0013550356982791111_r8, 0.0018010601784604443_r8, & + 0.002370268272851556_r8, 0.0031055757688799993_r8, & + 0.0054556933896853337_r8, 0.0086369616395111128_r8, & + 0.011543772907036445_r8, 0.013978749642432_r8, 0.015548412103763554_r8, & + 0.01654840415352889_r8, 0.01729201741673778_r8, 0.017937173063619558_r8, & + 0.018530453535059558_r8, 0.019079351557688889_r8, 0.019539006423550217_r8, & + 0.020701112382064006_r8, 0.02166842339014044_r8, 0.022062923418254225_r8, & + 0.022232035852515559_r8, 0.022152086865164445_r8, 0.021923335515313776_r8, & + 0.021661759646030225_r8, 0.021360185370113777_r8, 0.021067666134040885_r8, & + 0.020770284596643554_r8, 0.02047143639786311_r8, 0.020113411600668443_r8, & + 0.019810370663368888_r8, 0.019558551280677336_r8, 0.019341489096791713_r8, & + 0.019383888649018931_r8, 0.019269419713559999_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,53) / & + 0.00051461341829262214_r8, 0.00051754694913158834_r8, & + 0.0005168422461926188_r8, 0.00058709949036383862_r8, & + 0.00048870329395516051_r8, 0.00053121490845950935_r8, & + 0.00054662004247419261_r8, 0.00065893002481740893_r8, & + 0.00078743178631648361_r8, 0.00095347946486623852_r8, & + 0.0011679877618004804_r8, 0.0014508850206956508_r8, & + 0.0019078602939567404_r8, 0.0023951869589148443_r8, & + 0.0030263058003036172_r8, 0.003808837442928197_r8, & + 0.0062257063085466849_r8, 0.009346917567445016_r8, 0.012274024137758337_r8, & + 0.014778669490379636_r8, 0.016510091834546933_r8, 0.017716084389730446_r8, & + 0.018614023429941624_r8, 0.019341473524243483_r8, 0.019985326183855037_r8, & + 0.020509428509163083_r8, 0.020870482240522108_r8, 0.022014952590289533_r8, & + 0.022887358440293396_r8, 0.023201803447037782_r8, 0.023209227410557625_r8, & + 0.022977281812993997_r8, 0.022635369780070237_r8, 0.022281903896635469_r8, & + 0.022012592654866013_r8, 0.021772059514511218_r8, 0.021571612499475486_r8, & + 0.021345075087257435_r8, 0.021070781759593874_r8, 0.020782197711865621_r8, & + 0.020497448559200604_r8, 0.020351426384267044_r8, 0.020246736558487813_r8, & + 0.019999567738598397_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,53) / & + 0.00066918764573827168_r8, 0.00067119099994815477_r8, & + 0.00065489480771986175_r8, 0.00092755299917588808_r8, & + 0.00081607222961415629_r8, 0.00098007791627534487_r8, & + 0.00094794007437058118_r8, 0.0010671480673132905_r8, & + 0.0011456324145945943_r8, 0.0013627354052723492_r8, & + 0.0016873292920013959_r8, 0.0020224786668783146_r8, & + 0.0025999833964231111_r8, 0.0033239518371106242_r8, & + 0.0042623465178929371_r8, 0.005378046463704573_r8, & + 0.0079954203214622158_r8, 0.010754409436476473_r8, 0.013452658198639816_r8, & + 0.015717744743825909_r8, 0.017333155303183433_r8, 0.018673062571408716_r8, & + 0.019658207795391409_r8, 0.020512916141910451_r8, 0.021205655825796851_r8, & + 0.021772116854823297_r8, 0.022254857879767821_r8, 0.02318274757713025_r8, & + 0.023824090282842075_r8, 0.024032893663221738_r8, 0.023945352134722646_r8, & + 0.023658182251426959_r8, 0.023349884556926215_r8, 0.02309939794105351_r8, & + 0.022933809772915609_r8, 0.022865779904326217_r8, 0.02277115087900056_r8, & + 0.022682414071939268_r8, 0.022546202820576546_r8, 0.022255621763778523_r8, & + 0.021785231249188831_r8, 0.021244096838127571_r8, 0.020839025548405443_r8, & + 0.020751276572595092_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,53) / & + 0.0011775012672545976_r8, 0.0011704331835657483_r8, & + 0.0011350927651215012_r8, 0.0013764099304786959_r8, & + 0.0013088570230466369_r8, 0.0016039365560224395_r8, & + 0.0016073928316649086_r8, 0.0017402520673614221_r8, & + 0.0019234692391687112_r8, 0.0023193683326353381_r8, & + 0.0028104186945391405_r8, 0.003318491213982104_r8, & + 0.0042167254093251946_r8, 0.0053748715329819639_r8, & + 0.006646176121173175_r8, 0.0079763929276902706_r8, 0.01061949331837748_r8, & + 0.01315826602879676_r8, 0.015393508612294398_r8, 0.017148121504950278_r8, & + 0.01851879401786248_r8, 0.019794021478907887_r8, 0.020740297905681302_r8, & + 0.021598076394629292_r8, 0.022322770989964005_r8, 0.022958017171671626_r8, & + 0.023549817968553398_r8, 0.024386668708486235_r8, 0.024904937241074485_r8, & + 0.025015434373364225_r8, 0.02490436695559348_r8, 0.024644161243850195_r8, & + 0.024369525581299588_r8, 0.024156273374159248_r8, 0.024052032100782376_r8, & + 0.024036392453500206_r8, 0.024029082430516383_r8, 0.024157275694095565_r8, & + 0.024220473694218109_r8, 0.024144113764414585_r8, 0.023923951474757621_r8, & + 0.023134443841927598_r8, 0.022732149558436263_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,53) / & + 0.0021532065806689842_r8, 0.0021363296702317431_r8, & + 0.0021170595004362798_r8, 0.0017434983063884379_r8, & + 0.0019980701907148903_r8, 0.0023468123988256129_r8, & + 0.0027061558595009058_r8, 0.002997087558225238_r8, & + 0.0035812201201024401_r8, 0.0044618509246927276_r8, & + 0.005334025546217298_r8, 0.006274221917056671_r8, 0.0073702283360398612_r8, & + 0.0089161143308275365_r8, 0.010327906890166372_r8, 0.011645936866204191_r8, & + 0.014000443150670313_r8, 0.016004966277728853_r8, 0.01755966301252421_r8, & + 0.018868368140988506_r8, 0.019992313646998053_r8, 0.020996773463567469_r8, & + 0.021818281898086128_r8, 0.022608022030605263_r8, 0.023249894190480458_r8, & + 0.023832821258755004_r8, 0.024409844953945933_r8, 0.025178843505360468_r8, & + 0.025670241699068338_r8, 0.025765440237984286_r8, 0.025695574792571299_r8, & + 0.025432741731497205_r8, 0.025148404791893304_r8, 0.024841003923214984_r8, & + 0.024573809811754801_r8, 0.024478930374086608_r8, 0.024536971345485274_r8, & + 0.024703116728487181_r8, 0.024829285816283245_r8, 0.024804537741734519_r8, & + 0.024752302640260428_r8, 0.024353041386274702_r8, 0.024610843284342397_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,53) / & + 0.0032541294511686577_r8, 0.0032770836122558689_r8, & + 0.0033201930897688225_r8, 0.0025820795947293497_r8, & + 0.0030095395066621891_r8, 0.0034917404583374475_r8, & + 0.004187616843031176_r8, 0.0049069017467117037_r8, & + 0.0066053642726373665_r8, 0.0085045439442852349_r8, & + 0.0097847791107976943_r8, 0.011059398413671243_r8, 0.011618694813748673_r8, & + 0.012951998982933068_r8, 0.014142689294594632_r8, 0.015332816202460705_r8, & + 0.017121459684296691_r8, 0.018445731218437265_r8, 0.019582480160259687_r8, & + 0.0205863021549785_r8, 0.02144265774980688_r8, 0.022261374336233351_r8, & + 0.02295725072092708_r8, 0.023618159721668475_r8, 0.024170658927568065_r8, & + 0.024653841292306439_r8, 0.025096476758085535_r8, 0.025739665800742981_r8, & + 0.026137828715310351_r8, 0.02625841530186114_r8, 0.026271446286421335_r8, & + 0.026057625458874994_r8, 0.025819959928758254_r8, 0.025543346839488789_r8, & + 0.025277111284645923_r8, 0.025194509018500739_r8, 0.025218935299182618_r8, & + 0.025327963020767865_r8, 0.025384001252313614_r8, 0.025305857535328814_r8, & + 0.02503560188669867_r8, 0.025182077786367999_r8, 0.025909304866133333_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,53) / & + 0.0031901128637803451_r8, 0.003313624529817324_r8, & + 0.0034515300625581435_r8, 0.003288207158470953_r8, & + 0.0036347399648855704_r8, 0.004236284420083003_r8, 0.005174995426905876_r8, & + 0.0064100748457059159_r8, 0.008471451593073857_r8, 0.010615821178603536_r8, & + 0.011713963345475951_r8, 0.013186941911764069_r8, 0.013604152234747599_r8, & + 0.014899704980008267_r8, 0.015916022762969481_r8, 0.016962001128629119_r8, & + 0.018482211315737802_r8, 0.019608584920069939_r8, 0.020635914569683132_r8, & + 0.021598388025597142_r8, 0.02235881665528858_r8, 0.023093848862016628_r8, & + 0.023801536446164347_r8, 0.02446671277845584_r8, 0.024982960073363977_r8, & + 0.025408228540999628_r8, 0.025777560170888388_r8, 0.02629348858485564_r8, & + 0.026536131377289135_r8, 0.026585937321617851_r8, 0.02656845705982196_r8, & + 0.026420210008684442_r8, 0.026213759039242227_r8, 0.026029980870462269_r8, & + 0.025851038120496012_r8, 0.025745276052607513_r8, 0.02562015601627746_r8, & + 0.02552467534825165_r8, 0.025102546677458953_r8, 0.024483715882639465_r8, & + 0.023524052502670628_r8, 0.023460345477409064_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,53) / & + 0.0022732044188651401_r8, 0.0026021379465410053_r8, & + 0.0025834773700699272_r8, 0.0034732719448056538_r8, & + 0.0037768506806829492_r8, 0.0041580848933164827_r8, & + 0.0049812840199337412_r8, 0.0059165446655396305_r8, & + 0.0074285030493189321_r8, 0.0089154086960005485_r8, & + 0.010160062432224238_r8, 0.012079539033645968_r8, 0.013324753449276045_r8, & + 0.014847466121684022_r8, 0.015963120335605735_r8, 0.016940160381543976_r8, & + 0.018634789372321423_r8, 0.019858727286411276_r8, 0.020927264358506663_r8, & + 0.021956234155167592_r8, 0.022778542160061158_r8, 0.023513147607416431_r8, & + 0.024254225025474741_r8, 0.024973606632653564_r8, 0.025545971541703214_r8, & + 0.026002870609800995_r8, 0.026337942183926297_r8, 0.026875704113251204_r8, & + 0.027108878921364522_r8, 0.027149586146184179_r8, 0.027121013866432717_r8, & + 0.026987419153000181_r8, 0.026768751120127467_r8, 0.026600535040689776_r8, & + 0.026437981935617246_r8, 0.026314040019398046_r8, 0.026100005329187735_r8, & + 0.025807589925605157_r8, 0.025352492712987201_r8, 0.024824523316606721_r8, & + 0.02408998405986091_r8, 0.024100589266399287_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,53) / & + 0.0024241312224401778_r8, 0.0029292683251384002_r8, & + 0.0023653851604314665_r8, 0.0035129091340186666_r8, & + 0.0038029513504831999_r8, 0.0038456278618975992_r8, & + 0.0041617501686709328_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,53) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,53) / & + 0.0025035878636473436_r8, 0.0022686653990953085_r8, & + 0.0025706763615199997_r8, 0.0029126744184711107_r8, & + 0.0029865662332059255_r8, 0.0031253166334903703_r8, & + 0.0041719065668859249_r8, 0.0046649402158133318_r8, & + 0.0081055165478666636_r8, 0.0071409483354725901_r8, & + 0.006662187188657776_r8, 0.0047079383867348135_r8, & + 0.0038879018413037029_r8, 0.0036734529804474066_r8, & + 0.0038991030454933327_r8, 0.0036048004386399998_r8, & + 0.0036709236762755551_r8, 0.0029940412303566663_r8, & + 0.0030050166038166665_r8, 0.0030224959022899988_r8, & + 0.0030332680280933323_r8, 0.0030113172811733319_r8, & + 0.0030456951705295234_r8, 0.0030828604563199993_r8, & + 0.0032375609584228563_r8, 0.0033955134230323806_r8, & + 0.0036326744029828561_r8, 0.0036917904356933325_r8, & + 0.0038418685053759993_r8, 0.0038711361679359992_r8, & + 0.0038251208984666656_r8, 0.0036801375700444444_r8, & + 0.0038470716453866661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,53) / & + 0.0027910886799161938_r8, 0.0024832346278152425_r8, & + 0.0027862467758839565_r8, 0.003042288316460457_r8, 0.003038770693872934_r8, & + 0.0031207106082646388_r8, 0.0037064568447798783_r8, & + 0.0040707170096666336_r8, 0.008166678134373136_r8, & + 0.0082774211701873764_r8, 0.0075641714608232291_r8, & + 0.0051611800117986493_r8, 0.0041458699816541754_r8, & + 0.0039911359715983268_r8, 0.0042670831176406911_r8, & + 0.0038467065265341614_r8, 0.0037060843906235514_r8, & + 0.003166113804515648_r8, 0.0030816805164663175_r8, & + 0.0030927920654633743_r8, 0.0030652563227672228_r8, & + 0.0030515531135990653_r8, 0.0030789440130122008_r8, & + 0.0031534710550981393_r8, 0.003324794794033672_r8, & + 0.0034681637793471868_r8, 0.0036635935789560352_r8, & + 0.0038072160400148278_r8, 0.0040501078796832653_r8, & + 0.0040727137777824916_r8, 0.0040622695424821862_r8, & + 0.0038782875352059653_r8, 0.0039450950215042429_r8, & + 0.0047460369927855737_r8, 0.0046955428507351026_r8, & + 0.0046933835034240218_r8, 0.0045387263489877327_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,53) / & + 0.0031403624621162665_r8, 0.0028620971021939353_r8, & + 0.0031630362515907154_r8, 0.003308625847163496_r8, & + 0.0034132150941001481_r8, 0.0035394126328855695_r8, & + 0.0039049209383984979_r8, 0.0042742224154588429_r8, & + 0.0079422193018113558_r8, 0.0097402252351921747_r8, & + 0.0082931089798999689_r8, 0.0053481161624282072_r8, & + 0.0039563205438612531_r8, 0.003164527948266666_r8, & + 0.0037824739512554669_r8, 0.0035715906611810755_r8, & + 0.0033115240007053422_r8, 0.0030693150804359899_r8, & + 0.0028979830622268047_r8, 0.0029152441237628051_r8, & + 0.0028920162755230023_r8, 0.0028762895305679795_r8, & + 0.0028863904480594172_r8, 0.0029374064743769271_r8, & + 0.0030970180187036437_r8, 0.0032835813254719105_r8, & + 0.0034010044913098669_r8, 0.0038070846631994538_r8, & + 0.0041043166419286034_r8, 0.0042088343483103882_r8, & + 0.0042121701169484963_r8, 0.0041741988258482271_r8, & + 0.0039977967132942211_r8, 0.0046032374272922663_r8, & + 0.0043106624342570659_r8, 0.0043384618761668171_r8, & + 0.0046742954639487988_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,53) / & + 0.0030233459556584831_r8, 0.0030277315571491823_r8, & + 0.0030498788446772142_r8, 0.0038283231092763911_r8, & + 0.0041058439716078607_r8, 0.004246490211414598_r8, & + 0.0049359944777823874_r8, 0.0056238760715986175_r8, & + 0.0069167513910568549_r8, 0.0085511773546107783_r8, & + 0.0067104965529492556_r8, 0.0044515609371197102_r8, & + 0.0028409049336453793_r8, 0.0025828122859177078_r8, & + 0.0029372127423811416_r8, 0.0029610265584756406_r8, & + 0.0028080567784800402_r8, 0.0026987675893318055_r8, & + 0.002632545006822242_r8, 0.0026905226585292904_r8, & + 0.0027130207941765791_r8, 0.0027495089985791997_r8, & + 0.0027795942248053989_r8, 0.002847965752045406_r8, & + 0.0030784291103816692_r8, 0.0032292060896319209_r8, & + 0.0033504679708497645_r8, 0.0037142536145032962_r8, & + 0.0040547955702561192_r8, 0.0040896994761202236_r8, & + 0.0040536169398554932_r8, 0.0040534141057865479_r8, & + 0.0038658638580367803_r8, 0.0043605418505244815_r8, 0.00407755684199285_r8, & + 0.0040786093863506177_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,53) / & + 0.0026516874902144006_r8, 0.0031038262254519575_r8, & + 0.0027775847026192332_r8, 0.0039490781045811094_r8, & + 0.004048145502737778_r8, 0.0039739689574634415_r8, & + 0.0049603591871753751_r8, 0.0053133403400066901_r8, & + 0.0055957974096714014_r8, 0.0046591437935993418_r8, & + 0.0035369811761542585_r8, 0.0030153554766201946_r8, & + 0.0025136604962419096_r8, 0.0026345073906706177_r8, & + 0.0027565717724685698_r8, 0.0027478239002599247_r8, & + 0.0026334251796757344_r8, 0.0026066855496771424_r8, & + 0.0026327487978039313_r8, 0.0027315907353366656_r8, & + 0.0027981016193972417_r8, 0.0028780499566442934_r8, & + 0.0029591706891358024_r8, 0.0030927335627543972_r8, & + 0.0033295123100100473_r8, 0.0034592423530217611_r8, & + 0.0035987573871122179_r8, 0.0038310269218891856_r8, & + 0.0042298047639571269_r8, 0.0043512998576796446_r8, & + 0.0042548883856729208_r8, 0.0041980249617104871_r8, & + 0.0040092873642027264_r8, 0.0040396230911530669_r8, & + 0.0040871050985535999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,53) / & + 0.0024685536559786669_r8, 0.0033478172217173328_r8, & + 0.0029786275196586665_r8, 0.0034543258332159999_r8, & + 0.0035651892987733332_r8, 0.0040148974726826655_r8, & + 0.0049663867562666662_r8, 0.0038842518509226657_r8, & + 0.0029527763647146663_r8, 0.0025788611827199997_r8, & + 0.0024513195526826661_r8, 0.0024630869242880001_r8, & + 0.0024166197049173325_r8, 0.0025097394565973333_r8, & + 0.0025288730175146664_r8, 0.0025754328933546657_r8, & + 0.002568900612266666_r8, 0.0025827527544320002_r8, & + 0.0026543298769919998_r8, 0.0027735787530239991_r8, & + 0.0028734624269653323_r8, 0.0029939621653333327_r8, & + 0.0031262756035413336_r8, 0.0032819384720213333_r8, & + 0.0034813815222613327_r8, 0.0036366274366293324_r8, & + 0.0038399157303466657_r8, 0.0041657885329920005_r8, & + 0.0043089891063466668_r8, 0.0042776248914773319_r8, 0.004219019674624_r8, & + 0.0042260615662933331_r8, 0.004187145849173333_r8, & + 0.0041912690620586664_r8, 0.0042236698711786659_r8, & + 0.004256342031387428_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,54) / & + 0.0033680624054196486_r8, 0.0035413198296296296_r8, & + 0.003860698108571428_r8, 0.0042775238479999993_r8, & + 0.0042462972199999996_r8, 0.0044879853300000003_r8, & + 0.0049987566133333329_r8, 0.0055024763199999997_r8, & + 0.0054156108799999995_r8, 0.0052531126000000001_r8, & + 0.0053010383600000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,54) / & + 0.0033680624054196486_r8, 0.0035413198296296296_r8, & + 0.003860698108571428_r8, 0.0042775238479999993_r8, & + 0.0042462972199999996_r8, 0.0044879853300000003_r8, & + 0.0049987566133333329_r8, 0.0055024763199999997_r8, & + 0.0054156108799999995_r8, 0.0052531126000000001_r8, & + 0.0053010383600000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,54) / & + 0.0033680624054196486_r8, 0.0035413198296296296_r8, & + 0.003860698108571428_r8, 0.0042775238479999993_r8, & + 0.0042462972199999996_r8, 0.0044879853300000003_r8, & + 0.0049987566133333329_r8, 0.0055024763199999997_r8, & + 0.0054156108799999995_r8, 0.0052531126000000001_r8, & + 0.0053010383600000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,54) / & + 0.0034289626279629631_r8, 0.0036373851388271606_r8, & + 0.0037418136503086417_r8, 0.0041851881780246908_r8, & + 0.0041869331601234565_r8, 0.0044383353890123456_r8, & + 0.005142422954074073_r8, 0.0054646518106790118_r8, & + 0.0054074368687742503_r8, 0.0053411455436331561_r8, & + 0.0052777670344003524_r8, 0.0057206829471428567_r8, & + 0.0064894771558730163_r8, 0.0068054282041269849_r8, & + 0.0069728905207142849_r8, 0.0070492231695238093_r8, & + 0.007316957242222223_r8, 0.0076182851093650793_r8, & + 0.0077919431854761899_r8, 0.0079904660183333347_r8, & + 0.0081903067501587299_r8, 0.0083578255269047604_r8, & + 0.0084985138419047621_r8, 0.0086380788969047627_r8, & + 0.0087739978142857122_r8, 0.0089030969388095241_r8, & + 0.0090298841684126989_r8, 0.0093375489454761915_r8, & + 0.0095893553102380947_r8, 0.0096171614431481475_r8, & + 0.0097645259242857135_r8, 0.0098925300188888905_r8, 0.01003189548227513_r8, & + 0.010106562556402115_r8, 0.010090099962751321_r8, 0.0095995368598095245_r8, & + 0.0090916844676296304_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,54) / & + 0.0036325119007407408_r8, 0.0037600828039506162_r8, & + 0.0033602762034567906_r8, 0.0037878730883950614_r8, & + 0.0038681653772839504_r8, 0.0040946108953086426_r8, & + 0.0045488054676543202_r8, 0.0050359305101234557_r8, & + 0.0051315786414814803_r8, 0.0052276427950617285_r8, & + 0.0054840234232098771_r8, 0.0060240387575308642_r8, & + 0.0067584474088888879_r8, 0.0070616721392592592_r8, & + 0.0073098247723456782_r8, 0.0075026926745679016_r8, & + 0.0077838497372839507_r8, 0.007870262175308642_r8, & + 0.0080221472661728393_r8, 0.0082025345017283958_r8, & + 0.0083711067061728386_r8, 0.0085381812306172828_r8, & + 0.0086760694849382716_r8, 0.008804842230123457_r8, & + 0.0089313592103703685_r8, 0.009061407757037036_r8, & + 0.0091895980711111103_r8, 0.0094648013935802466_r8, & + 0.009622510795555558_r8, 0.009707490268148147_r8, 0.0098275820162962973_r8, & + 0.0099289157846913553_r8, 0.0099841542908641993_r8, & + 0.0098930731590123437_r8, 0.0096859403170370378_r8, & + 0.0093574769051851837_r8, 0.0090984984493827151_r8, & + 0.0090333678592592597_r8, 0.0091155045133333307_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,54) / & + 0.0041325058972839501_r8, 0.004171011065185185_r8, & + 0.0036105644172839506_r8, 0.0031193900918518513_r8, & + 0.0031472266009876545_r8, 0.0032145852212345683_r8, & + 0.0037037811298765433_r8, 0.0044550802834567894_r8, & + 0.0048936046854320984_r8, 0.0051838587674074071_r8, & + 0.0055699736143209879_r8, 0.0062588879244444432_r8, & + 0.007039188449382716_r8, 0.0072870637343209867_r8, & + 0.0074702614311111118_r8, 0.0076150833891358016_r8, & + 0.0078456244148148151_r8, 0.0080209916488888887_r8, & + 0.0082054836370370355_r8, 0.0083727523051851851_r8, & + 0.0085318761827160479_r8, 0.0087910950069135796_r8, & + 0.0089411496000000017_r8, 0.0090753028992592594_r8, 0.00920427903308642_r8, & + 0.0093280225318518525_r8, 0.0094359202064197515_r8, & + 0.0096254321960493813_r8, 0.0097363252306172862_r8, & + 0.0098719392301234582_r8, 0.0099586937308641967_r8, & + 0.0099671620943209884_r8, 0.0098753321224691343_r8, & + 0.0097093947254321012_r8, 0.0094712636054320992_r8, & + 0.0093364423593827149_r8, 0.0092029263005114631_r8, & + 0.0090686873535026462_r8, 0.0091857207440000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,54) / & + 0.0042680551822222223_r8, 0.0042760150740740735_r8, & + 0.0040532675313580246_r8, 0.0020871557540740738_r8, & + 0.0021438179807407405_r8, 0.0021235808108641973_r8, & + 0.0024244203471604935_r8, 0.003133368438518518_r8, & + 0.0036243301303703701_r8, 0.0039582480558024696_r8, & + 0.0042296701985185181_r8, 0.0056432859748148153_r8, & + 0.0071552401595061715_r8, 0.0073697504622222219_r8, & + 0.0075239560325925919_r8, 0.0076795206088888877_r8, & + 0.007886524021728394_r8, 0.0080460269417283944_r8, & + 0.0081954713688888892_r8, 0.0083332486839506163_r8, & + 0.0084872970903703722_r8, 0.0087668917585185194_r8, & + 0.0089303145323456779_r8, 0.0090882643027160506_r8, & + 0.0092339367950617299_r8, 0.0093726478488888893_r8, & + 0.0094849183792592596_r8, 0.0096716199076543208_r8, & + 0.0097903156701234523_r8, 0.0098890238760493826_r8, & + 0.0099086971046913573_r8, 0.009853809906172838_r8, & + 0.0097812614087037057_r8, 0.0097584381324338637_r8, & + 0.0096934502115185173_r8, 0.0096119993007407391_r8, & + 0.0095022447142857139_r8, 0.0096143567599999979_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,54) / & + 0.0029494866162962964_r8, 0.0029583525120987653_r8, & + 0.002910435997037037_r8, 0.00090089149975308626_r8, & + 0.0008753662251851851_r8, 0.00086519679308641982_r8, & + 0.0008744139965432096_r8, 0.0011812350079012345_r8, & + 0.0014676801753086422_r8, 0.0016714108799999999_r8, & + 0.0018343714069135799_r8, 0.0035018994128395058_r8, & + 0.0052709183511111118_r8, 0.0054882483600000006_r8, & + 0.0056675169580246917_r8, 0.0057844284474074066_r8, & + 0.0061068364246913576_r8, 0.0063677748074074079_r8, & + 0.0065997025738271592_r8, 0.0068876454212345676_r8, & + 0.0070795148701234554_r8, 0.0072698773940740738_r8, & + 0.0074425173713580234_r8, 0.0076271202987654311_r8, & + 0.0078085799471604945_r8, 0.0079849271446913572_r8, & + 0.0081495979851851849_r8, 0.0085480270898765434_r8, & + 0.0088415446350617287_r8, 0.0091483564014814816_r8, & + 0.0093800114422222212_r8, 0.0094154842703703702_r8, & + 0.0095314157962962959_r8, 0.0096210963199999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,54) / & + 0.0011512998977777776_r8, 0.0011556172839506174_r8, & + 0.0011321443856790125_r8, 0.00049435458419753075_r8, & + 0.00048423137679012352_r8, 0.0004818831624691357_r8, & + 0.00052133131407407392_r8, 0.00063122589530864202_r8, & + 0.00073612820987654318_r8, 0.00085656202074074078_r8, & + 0.00091766181777777774_r8, 0.001366207732839506_r8, & + 0.0018573820582716051_r8, 0.0019678313358024689_r8, & + 0.0021330938523456788_r8, 0.0022438851925925926_r8, & + 0.0026796268681481476_r8, 0.0031274146982716048_r8, & + 0.0036094550246913576_r8, 0.004167886276049383_r8, & + 0.0045900286474074067_r8, 0.0049356968893827157_r8, & + 0.0052692819970370378_r8, 0.0055709628227160494_r8, & + 0.0058420613925925912_r8, 0.0060771416829629634_r8, & + 0.0062839601970370376_r8, 0.0068157937609876545_r8, & + 0.0071524296982716047_r8, 0.0075253705081481485_r8, & + 0.0079506284237037036_r8, 0.0083101918079012335_r8, & + 0.0086016535099382712_r8, 0.0087927810525308646_r8, & + 0.0090166833870899462_r8, 0.0091783416984126971_r8, & + 0.0092169862007407417_r8, 0.0092659963920000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,54) / & + 0.00037313495358024684_r8, 0.00037214574518518515_r8, & + 0.00035483922074074076_r8, 0.00028748060049382714_r8, & + 0.00028736966123456791_r8, 0.0002942201604938272_r8, & + 0.00031874698172839504_r8, 0.00036940924345679011_r8, & + 0.00040543676790123447_r8, 0.00046292179407407405_r8, & + 0.00048964891061728402_r8, 0.00054765165333333342_r8, & + 0.00060324146716049379_r8, 0.00063631985629629634_r8, & + 0.00068490200691358021_r8, 0.00074366283456790119_r8, & + 0.00092480815506172827_r8, 0.0011516881851851852_r8, & + 0.0014914211767901233_r8, 0.0018844882172839505_r8, & + 0.0023428522567901233_r8, 0.0028241992128395063_r8, & + 0.0033383102301234565_r8, 0.0038604735886419751_r8, & + 0.0043582950246913573_r8, 0.0048405757195061731_r8, & + 0.0052805145970370379_r8, 0.0062869185772839497_r8, & + 0.0068834019945679019_r8, 0.0072162475071604927_r8, & + 0.0074516975950617284_r8, 0.0076876561545679003_r8, & + 0.0079516638567901227_r8, 0.0082182508967901229_r8, & + 0.0085189702488888876_r8, 0.0088294615007407391_r8, & + 0.0090413185061728393_r8, 0.0091216179929065246_r8, & + 0.0091397780232592603_r8, 0.0091736228177777771_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,54) / & + 0.00032184403604938272_r8, 0.00032116915555555553_r8, & + 0.00027571179407407406_r8, 0.00020530234419753086_r8, & + 0.00020360127555555554_r8, 0.00020066138518518513_r8, & + 0.00018847655654320985_r8, 0.00019557666913580244_r8, & + 0.00022214662172839503_r8, 0.00026394298765432099_r8, & + 0.00028936656790123455_r8, 0.00035090087703703698_r8, & + 0.0004281330913580248_r8, 0.00047028076493827158_r8, & + 0.00051931591753086423_r8, 0.000556434344691358_r8, & + 0.00065110251259259248_r8, 0.0007673853461728394_r8, & + 0.00096791730222222229_r8, 0.001284584172839506_r8, & + 0.0017322148390123452_r8, 0.0022503566493827162_r8, & + 0.002813918841481482_r8, 0.0034057612997530863_r8, & + 0.0039860013604938269_r8, 0.004564900905185184_r8, & + 0.0051059794074074065_r8, 0.0064166435511111113_r8, & + 0.0074688099758024682_r8, 0.0080683719575308649_r8, & + 0.0084122466814814806_r8, 0.0085527142735802465_r8, & + 0.0085396789106172814_r8, 0.0084571123669135804_r8, & + 0.0085047422888888911_r8, 0.0086819862454320992_r8, & + 0.0088847092518518529_r8, 0.0090252323135802462_r8, & + 0.0091198080320987664_r8, 0.0091780901040211648_r8, & + 0.0091853362206031734_r8, 0.0092751322400000009_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,54) / & + 0.00024990917135802465_r8, 0.00024942843456790125_r8, & + 0.00021203265925925926_r8, 0.0002203438587654321_r8, & + 0.0002188091990123456_r8, 0.00021544404148148146_r8, & + 0.00019161983555555554_r8, 0.00014130888148148149_r8, & + 0.00015614700740740743_r8, 0.00019188793876543205_r8, & + 0.00022398636444444445_r8, 0.00029188119111111111_r8, & + 0.00038154784740740741_r8, 0.00042536885481481482_r8, & + 0.00046905118814814822_r8, 0.000508767442962963_r8, & + 0.00059495800246913571_r8, 0.00071375545925925926_r8, & + 0.00091572038074074077_r8, 0.0012335336237037035_r8, & + 0.0016869701111111109_r8, 0.002267922032098765_r8, & + 0.0029009969150617285_r8, 0.0035365771762962961_r8, & + 0.0041768538661728395_r8, 0.0048083755995061723_r8, & + 0.0054079838059259257_r8, 0.0068155533925925906_r8, & + 0.0079322679762962971_r8, 0.0085601009792592581_r8, 0.00896471494765432_r8, & + 0.0091417740054320993_r8, 0.0090816911516049398_r8, & + 0.0088578527061728401_r8, 0.0087043127713580248_r8, & + 0.0087319458918518524_r8, 0.0088740221032098752_r8, & + 0.0090068441313580251_r8, 0.0091113211787654334_r8, & + 0.0091792252503703695_r8, 0.0092036318874074066_r8, & + 0.0092722544434226187_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,54) / & + 0.00015659076444444445_r8, 0.00015684037777777775_r8, & + 0.00014721639703703702_r8, 0.00015168170222222218_r8, & + 0.00015075720839506171_r8, 0.00015039665580246912_r8, & + 0.00015881879456790122_r8, 0.00012764486271604937_r8, & + 0.00011971270567901234_r8, 0.00012834747802469137_r8, & + 0.00015523175851851854_r8, 0.00020718831160493827_r8, & + 0.00028652837185185186_r8, 0.00033961280740740741_r8, & + 0.00039053392740740742_r8, 0.00043896815901234564_r8, & + 0.00053212015703703699_r8, 0.00065432899604938265_r8, & + 0.00087005963061728394_r8, 0.0011853027807407408_r8, & + 0.0016441752918518516_r8, 0.0022492749916049382_r8, & + 0.0029424142385185183_r8, 0.00364114667308642_r8, 0.0043513705659259262_r8, & + 0.0050616037037037034_r8, 0.0057285612854320982_r8, & + 0.0072323614345679013_r8, 0.0082547129333333333_r8, & + 0.0088648603693827158_r8, 0.0092969595392592592_r8, & + 0.0095226284824691358_r8, 0.009529913493827159_r8, & + 0.0093306850740740715_r8, 0.009053198251851852_r8, & + 0.0088870389762962954_r8, 0.0088981976167901225_r8, & + 0.008981744123950617_r8, 0.0090692751995061719_r8, & + 0.0091411638395061719_r8, 0.0091952374834567887_r8, & + 0.0092537614095679014_r8, 0.0092796252800000003_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,54) / & + 0.00013215639259259258_r8, 0.00013435668790123454_r8, & + 0.00012871727555555554_r8, 0.00012887443950617284_r8, & + 0.00012855086666666666_r8, 0.00013943215901234568_r8, & + 0.00016039043407407408_r8, 0.0001443689560493827_r8, & + 0.00013494836395061725_r8, 0.00012395613234567903_r8, & + 0.00012280051506172841_r8, 0.00014034740790123458_r8, & + 0.00019441180691358022_r8, 0.00026087366814814814_r8, & + 0.0003265127298765432_r8, 0.00038347079456790118_r8, & + 0.00048308500444444445_r8, 0.00059872993728395042_r8, & + 0.00078171500049382698_r8, 0.0010639352311111109_r8, & + 0.00154531916691358_r8, 0.0021551245402469132_r8, 0.0028897180903703699_r8, & + 0.0036462406340740739_r8, 0.0044091052054320975_r8, & + 0.0051612364034567901_r8, 0.0058656914548148135_r8, & + 0.0074410659160493824_r8, 0.0084744558711111091_r8, & + 0.0091147787856790102_r8, 0.0095426530187654318_r8, & + 0.009748473079506173_r8, 0.0097721955911111106_r8, & + 0.0096454289975308645_r8, 0.0094181884148148137_r8, & + 0.0092248305308641979_r8, 0.0091287756222222221_r8, & + 0.0091070407723456773_r8, 0.0091146123767901228_r8, & + 0.009137290210370368_r8, 0.0091662395789506163_r8, & + 0.0092483008867777789_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,54) / & + 0.00015739507407407408_r8, 0.00015916085728395055_r8, & + 0.00014892671061728389_r8, 0.00014254770320987653_r8, & + 0.00014330578814814818_r8, 0.00014928726320987654_r8, & + 0.00014823334024691357_r8, 0.00015108078123456789_r8, & + 0.00015072947358024693_r8, 0.00014678188493827158_r8, & + 0.00014346295209876543_r8, 0.00015371558864197529_r8, & + 0.00018150587308641975_r8, 0.00023719738123456787_r8, & + 0.00031040804740740745_r8, 0.00038540298666666663_r8, & + 0.0005153405940740741_r8, 0.00065724115160493838_r8, & + 0.00085746802469135813_r8, 0.0011937618992592593_r8, & + 0.0017071610562962964_r8, 0.0023882356587654322_r8, & + 0.0031822556720987648_r8, 0.0040088918276543206_r8, & + 0.0048335957911111102_r8, 0.0056098008083950626_r8, & + 0.0062747152587654311_r8, 0.0077308022814814815_r8, & + 0.0086989229723456775_r8, 0.0092781368449382732_r8, & + 0.0096268189367901234_r8, 0.0097843619298765422_r8, & + 0.0097835853550617274_r8, 0.009690285438024691_r8, 0.009540951950123458_r8, & + 0.0093845830641975311_r8, 0.0092924849891358029_r8, & + 0.0092432847483597882_r8, 0.0091657783225661382_r8, & + 0.0091536135356296289_r8, 0.0091483910699999994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,54) / & + 0.00017344711389243782_r8, 0.00017338896544949464_r8, & + 0.00016310638245570368_r8, 0.00013219079362423043_r8, & + 0.00013115381305840986_r8, 0.000129622570727572_r8, & + 0.00011748892896675553_r8, 0.0001119551354799934_r8, & + 0.0001183999212395325_r8, 0.00012439890226984029_r8, & + 0.0001296128793204148_r8, 0.00014038003267206583_r8, & + 0.00017254581302681809_r8, 0.00022464681790393409_r8, & + 0.00030055961016629455_r8, 0.00039123241552907326_r8, & + 0.00057484581552941553_r8, 0.00079532532835575301_r8, & + 0.0010651825606480326_r8, 0.0015703277759028542_r8, & + 0.0022663743293402333_r8, 0.0031672003160092832_r8, & + 0.0041042430912247956_r8, 0.0050120178168255609_r8, & + 0.0058813564216408628_r8, 0.0066475590714892233_r8, & + 0.007246010732001794_r8, 0.0084614985376767621_r8, & + 0.0092694408667252943_r8, 0.0097756933252478272_r8, & + 0.010049910479334952_r8, 0.01019767899853849_r8, 0.010227951320219905_r8, & + 0.010164804014852839_r8, 0.010045188929604472_r8, 0.0099227540602193718_r8, & + 0.0097972224401258676_r8, 0.0097617410909339609_r8, & + 0.009689532536200968_r8, 0.0096539789427605317_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,54) / & + 0.00016895784212927738_r8, 0.00016709247293740243_r8, & + 0.00016079685191482471_r8, 0.00016308801190049712_r8, & + 0.000161182091204451_r8, 0.00014729320102581728_r8, & + 0.00013175183705220738_r8, 0.00011409165698565268_r8, & + 0.00011551095963164444_r8, 0.00010885037507152592_r8, & + 0.00010752231330991933_r8, 0.0001176094999725037_r8, & + 0.00013789538993414321_r8, 0.00018577657848427984_r8, & + 0.00029769872999677364_r8, 0.00042483783344950783_r8, & + 0.00075743113278559343_r8, 0.0011382705842093563_r8, & + 0.0017415350360121152_r8, 0.002475081332840876_r8, & + 0.0033666467035487336_r8, 0.0043840231159477201_r8, & + 0.0053025248233012946_r8, 0.0061635853249963702_r8, & + 0.0068867808503854351_r8, 0.0075370039440184368_r8, & + 0.0080614159959603096_r8, 0.0089916776395235296_r8, & + 0.0096382105462769502_r8, 0.010045966058594343_r8, 0.01030700876328937_r8, & + 0.010467926002482203_r8, 0.010518062868451859_r8, 0.010491590339635103_r8, & + 0.010422922703493716_r8, 0.010314169905479101_r8, 0.010259288513521413_r8, & + 0.010245354183934085_r8, 0.010238894546559817_r8, 0.010104061157257599_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,54) / & + 0.00019663155400113033_r8, 0.00019235525969195987_r8, & + 0.00018190850839740257_r8, 0.00013440596928430561_r8, & + 0.00013530924168156356_r8, 0.0001217258666978291_r8, & + 0.00012624602462830073_r8, 0.00011358854368530372_r8, & + 0.00015845425879365432_r8, 0.0001416039816676494_r8, & + 0.00013486175394826171_r8, 0.00013671930648319507_r8, & + 0.00013603793927842962_r8, 0.0002141133596427358_r8, & + 0.00043418570548015809_r8, 0.00071485077994640981_r8, & + 0.0013490528206677977_r8, 0.0020532292887539211_r8, & + 0.0030238864860591308_r8, 0.0039495522791599662_r8, & + 0.0048421102413247798_r8, 0.0056527347893988887_r8, & + 0.006361764179634681_r8, 0.0070041571802875301_r8, 0.007534714669383844_r8, & + 0.0080294335665526077_r8, 0.0084490538903681783_r8, & + 0.0092900668487563461_r8, 0.0098902627122659167_r8, 0.01029107749023612_r8, & + 0.010570157937061665_r8, 0.01074096964536661_r8, 0.010802077869394685_r8, & + 0.010815792647739349_r8, 0.010764797387278037_r8, 0.010690058454845015_r8, & + 0.010712165711488333_r8, 0.0107152828672219_r8, 0.0107082902535928_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,54) / & + 0.00022862005517297317_r8, 0.00022811240954333914_r8, & + 0.0002027746272421403_r8, 0.00012864755937669675_r8, & + 0.00012959996442811142_r8, 0.00012390424965476603_r8, & + 0.00014998176326518794_r8, 0.00013486272968986341_r8, & + 0.00018866414521588154_r8, 0.00018227730401758024_r8, & + 0.00018611189066966913_r8, 0.00019878078033503868_r8, & + 0.00026088701981126587_r8, 0.00047395546173887741_r8, & + 0.00092725572461105528_r8, 0.0014442037831899656_r8, & + 0.0022791550366572646_r8, 0.0031080476156372288_r8, & + 0.004015584381704046_r8, 0.0048622641479590719_r8, & + 0.0056410602860027925_r8, 0.0063891625936726244_r8, & + 0.0069419929046943604_r8, 0.0075742529543295599_r8, & + 0.0081110767665919219_r8, 0.0086158962484035283_r8, & + 0.0089798347066956507_r8, 0.0099283474004627226_r8, & + 0.010650270435290866_r8, 0.011182265193640043_r8, 0.011592700147384448_r8, & + 0.011800407062257767_r8, 0.011895952425895841_r8, 0.011726983719953312_r8, & + 0.011617345034024611_r8, 0.011531760416469049_r8, 0.011567065796745164_r8, & + 0.011456881203719968_r8, 0.011362018411082397_r8, 0.011210525764371735_r8, & + 0.01116035969142329_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,54) / & + 0.00020722233914106998_r8, 0.00022177553360414813_r8, & + 0.00019295607674548146_r8, 0.00014981297107772841_r8, & + 0.00015186740468095476_r8, 0.00014895217487525926_r8, & + 0.00017746174510103704_r8, 0.00017914890565787653_r8, & + 0.00021183620678630449_r8, 0.00024515475846320986_r8, & + 0.00030467594654327569_r8, 0.00043363469495585189_r8, & + 0.0007348100702757529_r8, 0.0011931553548838189_r8, & + 0.001763863237120856_r8, 0.0022702639043920988_r8, & + 0.0030960199627793907_r8, 0.003815783315435983_r8, & + 0.0046744676978883945_r8, 0.0054396696127526588_r8, & + 0.0062049518685958188_r8, 0.0069060416823001807_r8, & + 0.0076034358109752761_r8, 0.0082628860430455295_r8, & + 0.0088824986268655152_r8, 0.0094610569704690704_r8, & + 0.009896275530437466_r8, 0.010847834084494948_r8, 0.011577708923209876_r8, & + 0.012019722034536429_r8, 0.012504224046416854_r8, 0.012738222886096063_r8, & + 0.012820170684571126_r8, 0.012644086213394041_r8, 0.012527488498448919_r8, & + 0.012399342997496201_r8, 0.012305506373756181_r8, 0.012067467530566714_r8, & + 0.011883433196556875_r8, 0.011766022603064556_r8, 0.011660879052292444_r8, & + 0.011568222949058666_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,54) / & + 0.00018828796128165926_r8, 0.00021850274779851853_r8, & + 0.00020521968853262219_r8, 0.00018948033644017778_r8, & + 0.00019032692280272596_r8, 0.00018992151524882967_r8, & + 0.00020924991656841481_r8, 0.00022269990835650371_r8, & + 0.00028291485386168892_r8, 0.00041883369818121485_r8, & + 0.00071188374089031119_r8, 0.0011120567678407111_r8, & + 0.0016861138641578667_r8, 0.002195114971826252_r8, & + 0.0025810629631355256_r8, 0.002917074282806045_r8, & + 0.0036606275079066075_r8, 0.0044540100908816594_r8, & + 0.0053376316258533932_r8, 0.0061381923072827268_r8, & + 0.006975454296091259_r8, 0.0076543092450906082_r8, & + 0.0085142025144078221_r8, 0.0092214240684283261_r8, & + 0.0098743329339783092_r8, 0.010493330650020029_r8, 0.010990491472364326_r8, & + 0.012031780774546965_r8, 0.012809233225404209_r8, 0.013259259457732266_r8, & + 0.013570147432812802_r8, 0.013761726349531971_r8, 0.013796400619141691_r8, & + 0.013728459082609305_r8, 0.013635429972741689_r8, 0.013500977749867141_r8, & + 0.013255348467212326_r8, 0.01293876391981197_r8, 0.012527881447620853_r8, & + 0.012324584676955479_r8, 0.01214401904821831_r8, 0.0120193159827336_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,54) / & + 0.00022856456363863701_r8, 0.00026014573650054321_r8, & + 0.00025863656960310781_r8, 0.00028273375908019092_r8, & + 0.00028748392374097119_r8, 0.00029286496964576136_r8, & + 0.00033984706699379094_r8, 0.00038476333752320002_r8, & + 0.00053219162509397864_r8, 0.00085451008968067147_r8, & + 0.0013778322666970994_r8, 0.0017749287140296692_r8, & + 0.0021685491294099486_r8, 0.0025107712787341297_r8, & + 0.0028663037852848725_r8, 0.003224384557252595_r8, & + 0.0041451619179952463_r8, 0.0049927941650941632_r8, & + 0.0059240985834574499_r8, 0.0067946652193091933_r8, & + 0.007637856557259101_r8, 0.0084595731924717293_r8, & + 0.0093851007178751607_r8, 0.010145745574623539_r8, 0.01085358196018215_r8, & + 0.011542281614672462_r8, 0.012131932913853219_r8, 0.013383725004173522_r8, & + 0.014196114493151184_r8, 0.014629406205581261_r8, 0.014783798927277091_r8, & + 0.014912078113559097_r8, 0.014891815692427956_r8, 0.014864291951880467_r8, & + 0.014798544230078257_r8, 0.014670908295260734_r8, 0.014386486001086281_r8, & + 0.014041332109510528_r8, 0.013346653220596942_r8, 0.012860848155094043_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,54) / & + 0.00025639787057435388_r8, 0.00027750695794430939_r8, & + 0.00027031679521538106_r8, 0.00034817818305538101_r8, & + 0.00035896983549345171_r8, 0.00037064583949711274_r8, & + 0.00043121751339535793_r8, 0.00051320587520811191_r8, & + 0.00068879451939049866_r8, 0.0011030555527673678_r8, & + 0.0016890858568984232_r8, 0.002147372218214452_r8, & + 0.0025855235605516114_r8, 0.0028454332040096131_r8, & + 0.0031020617749923816_r8, 0.0034547514327012085_r8, & + 0.0044933903047634166_r8, 0.0054975779158356799_r8, & + 0.0064645971277744437_r8, 0.0074667981519964694_r8, & + 0.0083123792322835482_r8, 0.0091703925012463113_r8, & + 0.010044221564874849_r8, 0.010971022005613298_r8, 0.011777281482955006_r8, & + 0.012500911764016144_r8, 0.01309652895178577_r8, 0.014302733220493274_r8, & + 0.015129537850873256_r8, 0.015657687985870906_r8, 0.0159081389125839_r8, & + 0.016002456929557488_r8, 0.016033332334217006_r8, 0.015950908204966134_r8, & + 0.01572830794422455_r8, 0.015520933910438347_r8, 0.015216050504028812_r8, & + 0.014965516039965545_r8, 0.014728685546353247_r8, 0.014690617507174715_r8, & + 0.014615015060833776_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,54) / & + 0.00022660105856414813_r8, 0.00023810021675994071_r8, & + 0.00022901495336418766_r8, 0.0003387808509747753_r8, & + 0.00035172569341894314_r8, 0.00035376821978820735_r8, & + 0.00038077200996886913_r8, 0.00063322296394662707_r8, & + 0.0010449379220940247_r8, 0.0017097669921312785_r8, & + 0.0023654577461398123_r8, 0.0028466318640004342_r8, & + 0.0032982424021396938_r8, 0.003524379250165373_r8, & + 0.0037304224134544592_r8, 0.0040118401050326918_r8, & + 0.004958829603509728_r8, 0.0061717719510548542_r8, & + 0.0072508625056219665_r8, 0.0083905656933549021_r8, & + 0.0094140305622551698_r8, 0.010197856688039427_r8, 0.011066023237084405_r8, & + 0.011944084102177894_r8, 0.012744223912599783_r8, 0.013425525825173567_r8, & + 0.014017049419607429_r8, 0.015173795765681303_r8, 0.015997384839875003_r8, & + 0.016508732642736116_r8, 0.016818838545591741_r8, 0.016949334759534536_r8, & + 0.017031248024836979_r8, 0.016915473916542773_r8, 0.01658819222376379_r8, & + 0.016191902318651807_r8, 0.015785452834326478_r8, 0.01548619619491279_r8, & + 0.015280710084269867_r8, 0.01522768776709223_r8, 0.015188647796145325_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,54) / & + 0.00022516691594324278_r8, 0.00022860803235226333_r8, & + 0.00021751694400605763_r8, 0.00034873178524404933_r8, & + 0.00032905847031598355_r8, 0.00030402469118103701_r8, & + 0.00036670510640829623_r8, 0.00097770205860279839_r8, & + 0.0019368001531934816_r8, 0.0027123126309188481_r8, & + 0.0031410126711980246_r8, 0.0034327261172185015_r8, & + 0.0037712031013711271_r8, 0.0040376085757141064_r8, & + 0.0043196293153553904_r8, 0.0046784376765382062_r8, & + 0.0057016008586960321_r8, 0.0069384697085184532_r8, & + 0.0081318790403464691_r8, 0.0092608942535562788_r8, & + 0.010279560678016263_r8, 0.011152384089093135_r8, 0.01199946082042443_r8, & + 0.012789094214091192_r8, 0.013482431186813896_r8, 0.014132212674152295_r8, & + 0.014742387048719146_r8, 0.015848699119405691_r8, 0.016774715883737547_r8, & + 0.017238937567904261_r8, 0.017560647678079869_r8, 0.017713510020552298_r8, & + 0.017855966756034899_r8, 0.017791970216603389_r8, 0.017591549177625416_r8, & + 0.017024080291560953_r8, 0.016458517043667228_r8, 0.016080336979353151_r8, & + 0.015843448332215838_r8, 0.015740420484352129_r8, 0.015665434650555841_r8, & + 0.015591853539429112_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,54) / & + 0.00026000501547387002_r8, 0.00026123659582701563_r8, & + 0.00023285362332061237_r8, 0.00023571315471527241_r8, & + 0.00022519517537748806_r8, 0.00023140970152726913_r8, & + 0.00022372294139211851_r8, 0.00056998104987422552_r8, & + 0.0010972814702687474_r8, 0.00172170686540962_r8, 0.0023080523622750681_r8, & + 0.0028145716337222584_r8, 0.0037082318189375868_r8, & + 0.0043176517523045004_r8, 0.0047944432221240368_r8, & + 0.0053193795744843602_r8, 0.0065738220226913046_r8, & + 0.0078323838948380839_r8, 0.0089439488659841179_r8, & + 0.010042023077629605_r8, 0.010980289121382426_r8, 0.011974216934659028_r8, & + 0.01270733283498901_r8, 0.013469723541874224_r8, 0.014134663683804791_r8, & + 0.014789397280509854_r8, 0.015331731474870358_r8, 0.016488893231274813_r8, & + 0.017475374938048491_r8, 0.017912132968342782_r8, 0.018247533351182791_r8, & + 0.018427287458358001_r8, 0.018623533417388566_r8, 0.018621367534698549_r8, & + 0.01847810784304528_r8, 0.017950807422650761_r8, 0.017355161370704659_r8, & + 0.01691819099897017_r8, 0.016560438140525366_r8, 0.016343552593507612_r8, & + 0.016198495077660666_r8, 0.01613708401197108_r8, 0.015936915196505336_r8, & + 0.015811071041972265_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,54) / & + 0.00026581048885222715_r8, 0.00026746057868578762_r8, & + 0.00022568264051041971_r8, 0.00023336358964717031_r8, & + 0.00023340739734186664_r8, 0.00023134843569114075_r8, & + 0.00021836675549613828_r8, 0.00035224307048801974_r8, & + 0.0003625670838714469_r8, 0.00051171768174743701_r8, & + 0.0007996364538563949_r8, 0.001173330692180701_r8, & + 0.0022228170314549729_r8, 0.0034062380959807206_r8, & + 0.0044030383811002466_r8, 0.0054599574259079908_r8, & + 0.0073094160780313288_r8, 0.0088661371116291153_r8, & + 0.010065664805238203_r8, 0.011059091897866115_r8, 0.011861400621098982_r8, & + 0.01280614276235441_r8, 0.01356490663705916_r8, 0.014293691446026742_r8, & + 0.014960751213167249_r8, 0.015607571825358064_r8, 0.016248653629543662_r8, & + 0.017417209283002465_r8, 0.018417806234995674_r8, 0.018845924232697677_r8, & + 0.019073987091286593_r8, 0.019267266640286659_r8, 0.019441942521605689_r8, & + 0.019394031506172839_r8, 0.019196444200527643_r8, 0.018827203744497457_r8, & + 0.01846284054514347_r8, 0.017997106340262241_r8, 0.017522858840045036_r8, & + 0.017162934820420264_r8, 0.016948627577965981_r8, 0.016879878702422597_r8, & + 0.016688808521491724_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,54) / & + 0.00022620202681274734_r8, 0.0002294074710088165_r8, & + 0.00019803023556842143_r8, 0.00024439630865804115_r8, & + 0.00024334287629313583_r8, 0.0002374286060158815_r8, & + 0.00023542708452256133_r8, 0.00025014503956366751_r8, & + 0.00024761680188789472_r8, 0.00025833171394236052_r8, & + 0.00034259125410100418_r8, 0.00048381138713345854_r8, & + 0.00094333363373895625_r8, 0.001786862075420023_r8, & + 0.0028763218272051362_r8, 0.0042649262725557987_r8, & + 0.007113091357550394_r8, 0.009516858474892774_r8, 0.011266383897493796_r8, & + 0.01244675486237024_r8, 0.013141177477315847_r8, 0.01390004005492609_r8, & + 0.014575907211215581_r8, 0.015235145185173349_r8, 0.015873465002170854_r8, & + 0.016506969128357363_r8, 0.017108328518380473_r8, 0.01833828604957639_r8, & + 0.019359633874453483_r8, 0.019929841764542964_r8, 0.020195306720499108_r8, & + 0.020333080624794945_r8, 0.020363013152992038_r8, 0.020253937756122983_r8, & + 0.020048488346898874_r8, 0.019740464723400547_r8, 0.019422764571178881_r8, & + 0.019028931357042124_r8, 0.018523825587103793_r8, 0.018066756333005141_r8, & + 0.017784978224426748_r8, 0.017672562210790308_r8, 0.017672042750392001_r8, & + 0.017747009512188803_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,54) / & + 0.00021735541595151273_r8, 0.00022067145352288394_r8, & + 0.00020167396724951435_r8, 0.0002208109130469136_r8, & + 0.00022003613791341558_r8, 0.00021231937758377613_r8, & + 0.00021509307256169878_r8, 0.00023531470354599501_r8, & + 0.00026898643084781562_r8, 0.00031731690367541721_r8, & + 0.00040745424270656792_r8, 0.00055738872654108968_r8, & + 0.0009383146686766879_r8, 0.0015254082738360888_r8, & + 0.0022811239390499818_r8, 0.0033088786491376723_r8, & + 0.0061327635602083028_r8, 0.0091186229606880116_r8, 0.01147290116784287_r8, & + 0.013153063026843837_r8, 0.014163307818914474_r8, 0.014958444042920743_r8, & + 0.015542547016064841_r8, 0.016169634513615406_r8, 0.016773711189701081_r8, & + 0.017370102096462458_r8, 0.017935347042857222_r8, 0.019171438786342504_r8, & + 0.020269186681990396_r8, 0.020877493630304972_r8, 0.021183250888988599_r8, & + 0.021205223511774608_r8, 0.021078826696495748_r8, 0.020997614767002494_r8, & + 0.020749438796240433_r8, 0.020425629276946307_r8, 0.020093901555787823_r8, & + 0.019806878359832181_r8, 0.019385059786150557_r8, 0.018955164181702223_r8, & + 0.018612312626564546_r8, 0.018417934716747183_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,54) / & + 0.00035153641477155559_r8, 0.00035211032574755555_r8, & + 0.00033282054016533336_r8, 0.00030261050406755552_r8, & + 0.0002710772843306667_r8, 0.00026792077396266663_r8, & + 0.00031340321881066666_r8, 0.00037699574334577781_r8, & + 0.00044776215508088882_r8, 0.00056922403636266658_r8, & + 0.00075214221799111097_r8, 0.00099194135412977789_r8, & + 0.001426551382677333_r8, 0.0019460683517297779_r8, & + 0.0025720139228871111_r8, 0.0034699773546968894_r8, & + 0.0061320474749013325_r8, 0.0092677535700213323_r8, & + 0.011995711858664888_r8, 0.014216619800012443_r8, 0.015619561122815998_r8, & + 0.016521621641315556_r8, 0.017066470403169776_r8, 0.017714798502391115_r8, & + 0.018325487606769778_r8, 0.01887336534321956_r8, 0.019348021604314668_r8, & + 0.020617305437596441_r8, 0.021747001367937779_r8, 0.022191335999134216_r8, & + 0.022306803699111109_r8, 0.022249763324885336_r8, 0.021989000496151111_r8, & + 0.021819282266970663_r8, 0.021520577545934221_r8, 0.02120377868718222_r8, & + 0.02092775939166933_r8, 0.020662660346671996_r8, 0.020297384229844062_r8, & + 0.019924363730976884_r8, 0.019774062880086724_r8, 0.019669802898533904_r8, & + 0.019758822298343998_r8, 0.019196461280735998_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,54) / & + 0.00053408288553671087_r8, 0.00053218182644553728_r8, & + 0.00050294484869852179_r8, 0.00052021826492349614_r8, & + 0.00039566611757073898_r8, 0.00044393007466993239_r8, & + 0.00050132239309484759_r8, 0.00062957832798730528_r8, & + 0.00074816508301948296_r8, 0.00092127617939937421_r8, & + 0.0011311465476887704_r8, 0.0014404783610155189_r8, & + 0.0019462911867912419_r8, 0.0024523662276140236_r8, & + 0.0031181466205358345_r8, 0.0039823746387595577_r8, & + 0.0067594122599532501_r8, 0.0099193494036140216_r8, & + 0.012724952076496642_r8, 0.015000503420191078_r8, 0.016571679593724783_r8, & + 0.017706398821429728_r8, 0.018487635777259457_r8, 0.019177064689737847_r8, & + 0.019846860250567738_r8, 0.020390153439632377_r8, 0.020753812933021549_r8, & + 0.021970916850824161_r8, 0.02295220749911904_r8, 0.023342940696116983_r8, & + 0.023304378695758955_r8, 0.023079135970335753_r8, 0.022723015159549519_r8, & + 0.022369598441436073_r8, 0.02221177775998778_r8, 0.021985322289971937_r8, & + 0.021798526845823681_r8, 0.021629496471113636_r8, 0.021351319083065517_r8, & + 0.02101991204046454_r8, 0.020756041760921544_r8, 0.020533260228071743_r8, & + 0.020399827536024793_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,54) / & + 0.00068551750778521802_r8, 0.00068339630921004772_r8, & + 0.00060854830234332181_r8, 0.0008769472617396807_r8, & + 0.00073747003796756556_r8, 0.00090322655519873576_r8, & + 0.00093216576433141727_r8, 0.0011014576125212051_r8, & + 0.0011902280894011525_r8, 0.0013670619769693235_r8, & + 0.0016684405237367835_r8, 0.0019993475014633616_r8, & + 0.0025636368271866605_r8, 0.0032558714637932508_r8, & + 0.0042268921988508051_r8, 0.0054291404135112563_r8, & + 0.0083391049953677951_r8, 0.011047993420225647_r8, 0.013611445063409715_r8, & + 0.015775202289358106_r8, 0.017294451846641242_r8, 0.018698584293948065_r8, & + 0.019671726227580785_r8, 0.020386772166325128_r8, 0.021109511658631782_r8, & + 0.021676427230210051_r8, 0.022177198443043524_r8, 0.02317734357123636_r8, & + 0.023760471160496285_r8, 0.024047910402341208_r8, 0.024016597470993457_r8, & + 0.023729309743332476_r8, 0.023407257927911776_r8, 0.023131215919681068_r8, & + 0.023149397621753959_r8, 0.023083000739369256_r8, 0.022843780886563487_r8, & + 0.022726944511472183_r8, 0.022631100065817818_r8, 0.022372825200017828_r8, & + 0.021800468585745147_r8, 0.021373818773066926_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,54) / & + 0.0011364407126220641_r8, 0.001131429112940484_r8, & + 0.0010423090454994171_r8, 0.0013913756040105872_r8, & + 0.0014056500224139852_r8, 0.0015460439390110813_r8, & + 0.0016175370006755554_r8, 0.0017318705989284343_r8, & + 0.0019442760185363749_r8, 0.0023864200800992391_r8, & + 0.0027882466862927005_r8, 0.0032428333401684534_r8, & + 0.0040793557339152582_r8, 0.0051775181937969775_r8, & + 0.0065391698272823304_r8, 0.008030639173898825_r8, 0.010784340385145048_r8, & + 0.013255456499862992_r8, 0.015412241626276581_r8, 0.017222569682289066_r8, & + 0.018583547342024134_r8, 0.019927053528386526_r8, 0.020879015528591803_r8, & + 0.021750774652513578_r8, 0.022498418918114292_r8, 0.023122864238439188_r8, & + 0.023671427027033676_r8, 0.024504907898215113_r8, 0.024957835539782477_r8, & + 0.025016557662948032_r8, 0.024969586876966873_r8, 0.024729254750167781_r8, & + 0.024466560519961916_r8, 0.024251424642596421_r8, 0.024322261011888825_r8, & + 0.024317698728040769_r8, 0.024186394816383364_r8, 0.024061052980209219_r8, & + 0.02409175766894801_r8, 0.024086865310776095_r8, 0.023706925292352129_r8, & + 0.022183664536043729_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,54) / & + 0.0020441803210166382_r8, 0.0020308312521518882_r8, & + 0.0019675073823180382_r8, 0.0017394386294030091_r8, & + 0.001947102630308306_r8, 0.0021800110854810731_r8, & + 0.0024264990715308636_r8, 0.0027091518656604573_r8, & + 0.0032784107638224851_r8, 0.004179020852092155_r8, & + 0.0049976573753809381_r8, 0.0058598866746835615_r8, & + 0.0069774856114320459_r8, 0.0085155713534966239_r8, & + 0.010090814663078491_r8, 0.011532106359988307_r8, 0.013946568223339667_r8, & + 0.015914997453706798_r8, 0.01747859356774532_r8, 0.018879607596048606_r8, & + 0.020044788074407963_r8, 0.021078835667783846_r8, 0.021870738597648931_r8, & + 0.022733216086810931_r8, 0.023435682028066895_r8, 0.024031958165206185_r8, & + 0.024572373856139855_r8, 0.025324194123716507_r8, 0.025842715923484218_r8, & + 0.025832203310155132_r8, 0.025813376336537124_r8, 0.025622642429610366_r8, & + 0.025403880796421762_r8, 0.025190756618610293_r8, 0.025007344312534978_r8, & + 0.024951572505564849_r8, 0.024955454904079303_r8, 0.024937195221568419_r8, & + 0.025008549806137641_r8, 0.024956127929131624_r8, 0.024757591110304705_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,54) / & + 0.0031995883289020572_r8, 0.0031967894842405923_r8, & + 0.0031717997997632265_r8, 0.0022368584626220244_r8, & + 0.0026824926905384032_r8, 0.0031263458354883946_r8, & + 0.0036968557885276709_r8, 0.0043743215911300742_r8, & + 0.0058225964832263359_r8, 0.0077165601261869306_r8, & + 0.0091201443752796704_r8, 0.010238791698382484_r8, 0.010832110417981104_r8, & + 0.012146349729698766_r8, 0.01335492356828813_r8, 0.014532928207393183_r8, & + 0.016422748106309532_r8, 0.017883399707590585_r8, 0.019105113576636048_r8, & + 0.020157460995030914_r8, 0.021081952100481575_r8, 0.02191477195611128_r8, & + 0.02256065079753428_r8, 0.023337566457198623_r8, 0.024071790648617614_r8, & + 0.024622817734922534_r8, 0.025053167363096759_r8, 0.025713349391198813_r8, & + 0.026108077360045299_r8, 0.026184245918332304_r8, 0.026222575550741596_r8, & + 0.026069729553320029_r8, 0.025894020266391184_r8, 0.025704843811318517_r8, & + 0.025477483118364449_r8, 0.02539235235050805_r8, 0.025415333773069232_r8, & + 0.025547609041128284_r8, 0.025648460267769086_r8, 0.025470919918504888_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,54) / & + 0.0035184159218080795_r8, 0.0036090432817661635_r8, & + 0.0036591145722792702_r8, 0.0032616352984626965_r8, & + 0.0036534724744639213_r8, 0.0040644704380954867_r8, & + 0.004952011528097976_r8, 0.0062960225383824585_r8, & + 0.0081871122081221531_r8, 0.010491583301956663_r8, 0.011759789097038894_r8, & + 0.012939453060068384_r8, 0.013263342992082131_r8, 0.014498105857539401_r8, & + 0.01553878428230566_r8, 0.016581827546750302_r8, 0.018156010078802173_r8, & + 0.019349993425396027_r8, 0.020386761485339775_r8, 0.021327334570649562_r8, & + 0.022122125531218891_r8, 0.022818561506109433_r8, 0.023476750388878777_r8, & + 0.024261244055415469_r8, 0.024864929900872849_r8, 0.025301605926838951_r8, & + 0.025663147085858096_r8, 0.026219461654608398_r8, 0.026485347841754783_r8, & + 0.026548155749118379_r8, 0.026547399279733073_r8, 0.02642134122136524_r8, & + 0.026236017859955163_r8, 0.026074159015078313_r8, 0.025900447043090205_r8, & + 0.025778985658472926_r8, 0.025647713780341738_r8, 0.025716102968707241_r8, & + 0.024559381441955196_r8, 0.024238117040608_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,54) / & + 0.0029878046832661057_r8, 0.0031595678843085824_r8, & + 0.0032219916896948581_r8, 0.0037371912695544499_r8, & + 0.0040937679820217017_r8, 0.0043383031280194283_r8, & + 0.0050312404971604779_r8, 0.0058509512697033049_r8, & + 0.0071033324190951071_r8, 0.0085590845565482118_r8, & + 0.0097065709547617691_r8, 0.011176939844651249_r8, 0.012900556730239009_r8, & + 0.014356029396229942_r8, 0.015522735722422938_r8, 0.01648646078160191_r8, & + 0.018222886026802082_r8, 0.019532385518222905_r8, 0.020613664691223908_r8, & + 0.021630948576642568_r8, 0.022463492836714356_r8, 0.023195904596525145_r8, & + 0.023936649427200109_r8, 0.024705845188175854_r8, 0.025372288199640696_r8, & + 0.025870259766662202_r8, 0.026207538511604289_r8, 0.026828808883614785_r8, & + 0.027111624197321195_r8, 0.027164430003232241_r8, 0.027147773258936112_r8, & + 0.027018816382590082_r8, 0.026808565588887393_r8, 0.026640177904165913_r8, & + 0.026461134348488929_r8, 0.026312115180131507_r8, 0.026023909826177968_r8, & + 0.025400556492889446_r8, 0.024886541466169369_r8, 0.024726274388627352_r8, & + 0.024081026264046932_r8, 0.024081026264046932_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,54) / & + 0.0028088800114387954_r8, 0.0031770291830719995_r8, & + 0.0032924138250442665_r8, 0.0039091157585079113_r8, & + 0.0043898851000590223_r8, 0.0046064288801987551_r8, & + 0.0050885153980280888_r8, 0.005670443877746666_r8, & + 0.0063975251833253326_r8, 0.0075197593723706664_r8, & + 0.0084183370293738659_r8, 0.0094488957494549327_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,54) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,54) / & + 0.0024071854269842622_r8, 0.0021662586908992591_r8, & + 0.0024763694488266663_r8, 0.0027772362022212343_r8, & + 0.0028407096926291353_r8, 0.0028748552989491358_r8, & + 0.0036779093735120985_r8, 0.00401213885336395_r8, 0.0072093599911683924_r8, & + 0.006312902326830616_r8, 0.0060314871269481476_r8, & + 0.0045368490259674061_r8, 0.0038692331676543194_r8, & + 0.0037119345367762954_r8, 0.0039876286915081468_r8, & + 0.0036827873172720982_r8, 0.0035938401205619745_r8, & + 0.0030078846540829616_r8, 0.0030308290562133327_r8, & + 0.0030131239270103699_r8, 0.0030337196895525919_r8, & + 0.0030124012686755549_r8, 0.0030774405188088881_r8, & + 0.0031072501751199994_r8, 0.0033077878630311105_r8, & + 0.0034165479424207402_r8, 0.0035650542302251851_r8, & + 0.0036877254825599987_r8, 0.0038418323724592582_r8, & + 0.0038613441474992585_r8, 0.0038190686349125922_r8, & + 0.0036626131054251841_r8, 0.003868570730847406_r8, & + 0.0046123668219555545_r8, 0.0045982749844266663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,54) / & + 0.0027241296993678219_r8, 0.0023371912147403325_r8, & + 0.0027019066013737082_r8, 0.002940691099373774_r8, & + 0.0029022869374770565_r8, 0.0029045216624150119_r8, & + 0.0032182935972220311_r8, 0.0034363448138532864_r8, & + 0.0069872399726743709_r8, 0.0074204869240717146_r8, & + 0.006874800201259087_r8, 0.004982526168147647_r8, 0.0041741351137397987_r8, & + 0.0040395963957158441_r8, 0.0043804747163443611_r8, & + 0.0039018297416703999_r8, 0.0036699977212550842_r8, & + 0.0031615977978701956_r8, 0.0030960872501519803_r8, & + 0.0030691463995110714_r8, 0.0030590487534951239_r8, & + 0.0030484958857325559_r8, 0.0031045295443620346_r8, & + 0.003166688004673316_r8, 0.0033676477139087274_r8, & + 0.0034896057582078943_r8, 0.0036332902949594071_r8, & + 0.0038224556225778298_r8, 0.0040764693571921111_r8, & + 0.0040959197409113548_r8, 0.0040873119115207111_r8, & + 0.003949793560246149_r8, 0.0040592950822059713_r8, & + 0.0047501613313698093_r8, 0.004685535362272869_r8, & + 0.0046712615001294833_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,54) / & + 0.0030453200739056978_r8, 0.0027104981000123257_r8, & + 0.0030921167296255212_r8, 0.0032920893240129573_r8, & + 0.0033769881748270617_r8, 0.0034701979071214612_r8, & + 0.0037388311685076538_r8, 0.0040019664621453437_r8, & + 0.0070603282269893521_r8, 0.0089610481314856289_r8, & + 0.0076325430718840095_r8, 0.005118352254426784_r8, & + 0.0040203782611170757_r8, 0.0031849855026797034_r8, & + 0.0038261167340032788_r8, 0.0035944349302756344_r8, & + 0.0033002723457781716_r8, 0.0030244789403474164_r8, & + 0.002895979926690528_r8, 0.002900625496338489_r8, 0.0028797417428751801_r8, & + 0.0028729225580708339_r8, 0.0028869871267297969_r8, & + 0.0029382588724774714_r8, 0.0031173050934965724_r8, & + 0.0033052588746663504_r8, 0.0034152182296364243_r8, & + 0.0037883554981492139_r8, 0.004086098154668958_r8, & + 0.0042383364554259752_r8, 0.0042512929065542313_r8, & + 0.0042259340630630719_r8, 0.0041752589959857776_r8, & + 0.0046728890070829032_r8, 0.0043610391619991699_r8, & + 0.0043607834425690066_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,54) / & + 0.0029602810062222223_r8, 0.0029102851492282464_r8, & + 0.0029770778599316019_r8, 0.0037826689977582084_r8, & + 0.0040614178285070758_r8, 0.0041805746210093831_r8, & + 0.0047917959007681846_r8, 0.0053904305042486783_r8, & + 0.0064354754834674835_r8, 0.0081468248971682741_r8, & + 0.0064247746158301771_r8, 0.0043250801901279345_r8, & + 0.0028577456433696649_r8, 0.0025975040509115524_r8, & + 0.0029666401283837364_r8, 0.0030135222083193147_r8, & + 0.0028302040660080729_r8, 0.0026951275400945249_r8, & + 0.0026417986259676188_r8, 0.0026955222442286882_r8, & + 0.0027144680426685105_r8, 0.0027495528545941074_r8, & + 0.0027780154082687474_r8, 0.0028431415904056363_r8, & + 0.0030860162009605794_r8, 0.003234424955405853_r8, & + 0.0033417844798981789_r8, 0.0036649155977329247_r8, & + 0.0039965986384745342_r8, 0.0041308419001048497_r8, & + 0.0040784942643114861_r8, 0.004078668122084868_r8, & + 0.0040048720756867403_r8, 0.0044906870808189871_r8, & + 0.0041218294890414614_r8, 0.0041359730538489672_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,54) / & + 0.0026421730518843786_r8, 0.003065317550884003_r8, & + 0.0027632904990618078_r8, 0.0039405556929963991_r8, & + 0.0041200223496479869_r8, 0.0039880827925217197_r8, & + 0.0049161238127594931_r8, 0.0052034959240259684_r8, & + 0.0055200877321543119_r8, 0.004692196321068088_r8, & + 0.0035976751761173341_r8, 0.0030441242522341932_r8, & + 0.0025354399925139491_r8, 0.002637979484279203_r8, & + 0.0027897144841868907_r8, 0.002782229191472277_r8, & + 0.0026432101707544757_r8, 0.00261241224952507_r8, 0.0026345975749201911_r8, & + 0.0027298321424699791_r8, 0.0027934571305441975_r8, & + 0.0028701137426818111_r8, 0.0029486191319356841_r8, & + 0.0030734792254704206_r8, 0.003328700651763885_r8, & + 0.0034513963233088535_r8, 0.0035834711568094812_r8, & + 0.0038056400556341998_r8, 0.0041893176724141501_r8, & + 0.0043540247103631916_r8, 0.0042246202969097608_r8, & + 0.0041422978592926818_r8, 0.0040333327397453047_r8, & + 0.0040493629901070232_r8, 0.0040895400732920894_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,54) / & + 0.0024704994418346666_r8, 0.0033487437864106661_r8, & + 0.0029950277147306665_r8, 0.0035085298677759984_r8, & + 0.0035820527761919996_r8, 0.0039661601698133325_r8, & + 0.0049643946421759986_r8, 0.0039426254266026663_r8, & + 0.0030293569366186658_r8, 0.0026284323938133331_r8, 0.002484073614592_r8, & + 0.0024730938229759994_r8, 0.002420464948394666_r8, & + 0.0025138626694826663_r8, 0.0025352663138986662_r8, & + 0.0025822431438506659_r8, 0.0025706610851839989_r8, & + 0.0025830770520746667_r8, 0.0026547468311040002_r8, & + 0.0027725132036266662_r8, 0.0028723505493333328_r8, & + 0.002992201692415999_r8, 0.0031242371612159999_r8, & + 0.0032789734650026667_r8, 0.0034799453469866659_r8, & + 0.0036336624296106662_r8, 0.0038361168151039996_r8, & + 0.0041599048471893333_r8, 0.0043052828475733324_r8, & + 0.0042744282432853322_r8, 0.0042156377134933334_r8, & + 0.0042151744311466673_r8, 0.0041928905502719993_r8, & + 0.004194651023189333_r8, 0.0042223553075199979_r8, & + 0.0042566944568868574_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,55) / & + 0.0033413240800000002_r8, 0.0035382689999999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,2,55) / & + 0.0033413240800000002_r8, 0.0035382689999999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,3,55) / & + 0.0033413240800000002_r8, 0.0035382689999999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,4,55) / & + 0.0034737142374603167_r8, 0.0037294401258730152_r8, & + 0.0038732812949999994_r8, 0.0042846485257142866_r8, & + 0.0043026697169047624_r8, 0.0045356659340476183_r8, & + 0.0051345522098412699_r8, 0.0054887639303968245_r8, & + 0.0055059367334126981_r8, 0.0055350597747619041_r8, & + 0.0053911651170634916_r8, 0.0057924556952380956_r8, & + 0.0065091510448677245_r8, 0.0066851462743915341_r8, & + 0.0068888267922751325_r8, 0.0069816096531216945_r8, & + 0.0072747428730158712_r8, 0.0075103461627513222_r8, & + 0.007704269968994708_r8, 0.0079279215346031735_r8, & + 0.0081236278970158726_r8, 0.0083054458528042333_r8, & + 0.0084520924975026446_r8, 0.0085814948229841273_r8, & + 0.0087163815099894175_r8, 0.0088431541788148143_r8, & + 0.0089672310236402104_r8, 0.0092772139359576719_r8, & + 0.0095735802428359787_r8, 0.0095676873871111089_r8, & + 0.0097348284751111111_r8, 0.009865423397629627_r8, & + 0.0099811136306666663_r8, 0.010058169266666668_r8, 0.010076345277555555_r8, & + 0.0097792887700000001_r8, 0.0093297975600000003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,55) / & + 0.0034706607664197523_r8, 0.003627806227160493_r8, & + 0.0032728653120987659_r8, 0.0036755748232098757_r8, & + 0.0037295097930864188_r8, 0.0039902355422222228_r8, & + 0.0042432510128395063_r8, 0.0047915498118518514_r8, & + 0.0050520444375308634_r8, 0.005206462641481481_r8, & + 0.0052895376567901236_r8, 0.0058537100148148141_r8, & + 0.0064981007022222219_r8, 0.0067447464103703699_r8, & + 0.0069832195930864191_r8, 0.0071504050567901224_r8, & + 0.0074596574869135804_r8, 0.0075702269486419751_r8, & + 0.0077835169195061716_r8, 0.0079888839782716031_r8, & + 0.0081733667214814801_r8, 0.008368277755061727_r8, & + 0.0085184987570370366_r8, 0.0086542421856790116_r8, & + 0.0087883585051851849_r8, 0.0089151990582716049_r8, & + 0.0090434355970370351_r8, 0.0093481210276543207_r8, & + 0.0095851519999999996_r8, 0.009651188594074071_r8, & + 0.0097878657614814801_r8, 0.0099049991293827157_r8, & + 0.0099865487298765408_r8, 0.009994138824197531_r8, & + 0.0098993412271604925_r8, 0.0096523996809876559_r8, & + 0.0093248884977777755_r8, 0.0092516844351322736_r8, & + 0.0096300823999999983_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,55) / & + 0.0037301569387654322_r8, 0.003781614265185185_r8, 0.003264295254320987_r8, & + 0.002764033154567901_r8, 0.0028070868320987656_r8, & + 0.0029271508454320988_r8, 0.0029637053313580249_r8, & + 0.0038995611876543211_r8, 0.0043853549590123454_r8, & + 0.0047303205856790119_r8, 0.0050910026074074081_r8, & + 0.0058593679170370373_r8, 0.0066563555555555565_r8, & + 0.0069092415970370379_r8, 0.0070798384429629629_r8, & + 0.0072171904908641983_r8, 0.0074473339841975303_r8, & + 0.0076373174656790121_r8, 0.0078549618024691369_r8, & + 0.0080577032987654319_r8, 0.0082387746597530863_r8, & + 0.0085227236938271601_r8, 0.008691009305185184_r8, & + 0.0088429868454320965_r8, 0.0089885021738271599_r8, & + 0.0091202702790123442_r8, 0.0092446701683950618_r8, & + 0.0095193927540740738_r8, 0.0096860697461728391_r8, & + 0.0098072986217283952_r8, 0.0099175167758024686_r8, & + 0.0099916426908641959_r8, 0.0099886750656790115_r8, & + 0.0098932950375308654_r8, 0.0096929479802469135_r8, & + 0.0095267517249382726_r8, 0.0093490945526719573_r8, & + 0.0092891036529629632_r8, 0.0091829001133333331_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,55) / & + 0.0039039155535802463_r8, 0.0039198353372839499_r8, & + 0.003720320324444444_r8, 0.0017505660414814815_r8, 0.001834029344197531_r8, & + 0.001887844129876543_r8, 0.0019007593086419756_r8, & + 0.0027118732128395052_r8, 0.0031809428908641975_r8, & + 0.0035246696958024684_r8, 0.0038417988133333334_r8, & + 0.0052958704395061722_r8, 0.0067552671501234568_r8, & + 0.0069470071698765432_r8, 0.0070904978567901226_r8, & + 0.0072204447091358025_r8, 0.0074331614938271595_r8, & + 0.007649474559506173_r8, 0.0078417415407407414_r8, & + 0.0080291087046913574_r8, 0.0082099027175308644_r8, & + 0.0085082553654320971_r8, 0.0086857674251851844_r8, & + 0.0088569836819753084_r8, 0.0090229488138271596_r8, & + 0.009174889374320986_r8, 0.0093111597644444429_r8, & + 0.0095830256641975288_r8, 0.0097409661896296282_r8, & + 0.0098530795560493843_r8, 0.0099234982508641986_r8, & + 0.0099349804641975323_r8, 0.0098801117555555543_r8, & + 0.0098300735271604923_r8, 0.0097781643543827165_r8, & + 0.0097310821949999991_r8, 0.0097021582499999988_r8, & + 0.0096764605573333336_r8, 0.0098562320799999992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,55) / & + 0.0028365874301234566_r8, 0.0028507599204938266_r8, & + 0.0028173394686419754_r8, 0.00076700630370370377_r8, & + 0.00074027918716049385_r8, 0.00077859021135802463_r8, & + 0.00076885529135802477_r8, 0.0010666809777777778_r8, & + 0.00138333860345679_r8, 0.0016194820617283952_r8, 0.0018165564108641975_r8, & + 0.0034385253609876538_r8, 0.0051192828735802465_r8, & + 0.0053272754948148144_r8, 0.005474861689382716_r8, & + 0.0055426085970370379_r8, 0.0058654510864197523_r8, & + 0.0061928698202469122_r8, 0.0064930344760493822_r8, & + 0.0067655475214814806_r8, 0.0069403508143209879_r8, & + 0.0071272557313580252_r8, 0.0072947647679012344_r8, & + 0.0074430258429629623_r8, 0.0076386117570370372_r8, & + 0.0078178711101234543_r8, 0.0079870442355555547_r8, & + 0.0084230170345679003_r8, 0.0087473387140740728_r8, & + 0.009137625339382718_r8, 0.0094082917083950623_r8, & + 0.0095885483591975299_r8, 0.0097292782103844816_r8, & + 0.0097774468811375644_r8, 0.0098293570444444433_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,55) / & + 0.0012062887906172837_r8, 0.0012139620893827159_r8, & + 0.0011916725432098763_r8, 0.00037406869234567902_r8, & + 0.00036071900148148146_r8, 0.00038516261827160496_r8, & + 0.00043444738419753091_r8, 0.00056533722024691355_r8, & + 0.00070015615506172828_r8, 0.00087230615061728405_r8, & + 0.00096260146271604928_r8, 0.0014605245930864198_r8, & + 0.0019814121501234567_r8, 0.0021324744414814817_r8, & + 0.0022919218918518516_r8, 0.0023545378587654323_r8, & + 0.0027946154103703704_r8, 0.0032548376824691355_r8, & + 0.0038006311032098765_r8, 0.0043197991017283948_r8, & + 0.0047170171195061728_r8, 0.0050724942409876538_r8, & + 0.0053923691051851845_r8, 0.0056490085916049365_r8, & + 0.0059343628562962963_r8, 0.006180056335802468_r8, & + 0.0063964156261728392_r8, 0.0070029667812345694_r8, & + 0.007344604230123457_r8, 0.0077080389322222217_r8, & + 0.0081211409095679008_r8, 0.0084292504341975313_r8, & + 0.0086582417770987626_r8, 0.0088357546622927687_r8, & + 0.0089311808160793659_r8, 0.0090398855407407414_r8, & + 0.0090950986233333322_r8, 0.0091103874399999993_r8, & + 0.0091350991600000001_r8, 0.0091687969599999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,55) / & + 0.00045487869777777776_r8, 0.00045540565925925925_r8, & + 0.00044079865679012354_r8, 0.00023134533530864195_r8, & + 0.00023135458024691355_r8, 0.00023596780444444447_r8, & + 0.00025498464246913582_r8, 0.00031168384888888891_r8, & + 0.00036013657037037034_r8, 0.00044102053530864195_r8, & + 0.00047920213037037034_r8, 0.00058765450123456791_r8, & + 0.00069360149382716055_r8, 0.00077130520000000019_r8, & + 0.00085057130074074074_r8, 0.00093639206271604934_r8, & + 0.0011857003130864197_r8, 0.0014244878237037034_r8, & + 0.0017713394177777781_r8, 0.0021736421516049382_r8, & + 0.0026417503560493831_r8, 0.0031331373150617283_r8, & + 0.003638983357530864_r8, 0.0041535196419753085_r8, & + 0.0046521546325925915_r8, 0.0051170548434567899_r8, & + 0.0055429506597530851_r8, 0.006597012296790123_r8, & + 0.0071730736454320978_r8, 0.0074891026153086418_r8, & + 0.0077604323086419751_r8, 0.0080014848291358014_r8, & + 0.0082370735911111107_r8, 0.0084416178503703716_r8, & + 0.0086613053185185182_r8, 0.0088624936651851838_r8, & + 0.0089954135906261026_r8, 0.0090481322898201058_r8, & + 0.0090906180640000014_r8, 0.009153726555_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,55) / & + 0.00035608728740740738_r8, 0.00035586540888888892_r8, & + 0.00032283324444444441_r8, 0.0002162668409876543_r8, & + 0.00021599873777777777_r8, 0.00021333619555555553_r8, & + 0.00019706510419753088_r8, 0.00016411614419753085_r8, & + 0.00020900956444444449_r8, 0.00023006028888888889_r8, & + 0.00025112950320987655_r8, 0.00032902735308641971_r8, & + 0.00043980020345679005_r8, 0.0005033221743209875_r8, & + 0.00056249902419753086_r8, 0.00061447406716049369_r8, & + 0.00076409414814814815_r8, 0.00089966192296296295_r8, & + 0.0011309055639506171_r8, 0.0014730145046913581_r8, & + 0.0019388669441975307_r8, 0.0024541613135802471_r8, & + 0.0030122782370370364_r8, 0.0035976307486419749_r8, & + 0.0041659818187654322_r8, 0.0047253837886419752_r8, & + 0.0052488691733333344_r8, 0.0065191329367901242_r8, & + 0.0075081009634567911_r8, 0.0080633334661728388_r8, & + 0.0084219816014814812_r8, 0.0085820022380246903_r8, & + 0.0086404672276543196_r8, 0.0086375458271604911_r8, & + 0.0086862296720987674_r8, 0.0088022906271604928_r8, & + 0.0089238245856790108_r8, 0.0090218486661728398_r8, & + 0.0090956602533333337_r8, 0.0091620770454938268_r8, & + 0.0091987763137566132_r8, 0.0092438235961904772_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,55) / & + 0.00026942523604938273_r8, 0.00026839904790123452_r8, & + 0.00024227285234567898_r8, 0.00019600193629629628_r8, & + 0.00019977387111111107_r8, 0.0002048863219753086_r8, & + 0.00018898502814814814_r8, 0.00011442460098765431_r8, & + 0.0001394968735802469_r8, 0.00016782336444444445_r8, & + 0.00018902200790123458_r8, 0.00026274114567901235_r8, & + 0.00036465734518518518_r8, 0.00040738744987654318_r8, & + 0.00045395420395061726_r8, 0.00050073359160493827_r8, & + 0.0005954110044444445_r8, 0.00071776776246913591_r8, & + 0.00092821029234567897_r8, 0.0012379896839506174_r8, & + 0.0017147326607407406_r8, 0.00227641813037037_r8, 0.0029032989046913569_r8, & + 0.0035348761076543205_r8, 0.0041595658316049382_r8, & + 0.0047684189762962964_r8, 0.0053394233437037029_r8, & + 0.0066954339096296301_r8, 0.0077862719111111128_r8, & + 0.0084184223002469125_r8, 0.0088386694592592612_r8, & + 0.0090345974360493825_r8, 0.0090418732024691376_r8, & + 0.0089391619382716038_r8, 0.0088497911199999987_r8, & + 0.0088655167599999991_r8, 0.0089430910370370369_r8, & + 0.0090254726819753092_r8, 0.0090950408424691365_r8, & + 0.0091640173269135813_r8, 0.009204833729382713_r8, & + 0.0092536910820017644_r8, 0.0092511693600000004_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,55) / & + 0.00017064307061728388_r8, 0.00017226093481481481_r8, & + 0.00016614078567901236_r8, 0.00013124114370370371_r8, & + 0.00013102851012345679_r8, 0.00014022722370370368_r8, & + 0.0001666585022222222_r8, 0.00013101926518518519_r8, & + 0.00011433215160493825_r8, 0.00010348783901234568_r8, & + 0.0001102551338271605_r8, 0.00016896049185185187_r8, & + 0.0002548644582716049_r8, 0.00030405677481481482_r8, & + 0.00035652179950617291_r8, 0.00041242594123456783_r8, & + 0.00051572888148148136_r8, 0.00064304092641975297_r8, & + 0.00084700275456790124_r8, 0.0011532783145679012_r8, & + 0.001632517424691358_r8, 0.002223712737283951_r8, 0.0029243403841975311_r8, & + 0.0036503268967901232_r8, 0.00437973403654321_r8, 0.0050549658380246911_r8, & + 0.0056816432237037041_r8, 0.0071547501777777783_r8, & + 0.0081887872785185185_r8, 0.0088400284651851836_r8, & + 0.0092447441279012339_r8, 0.0094366320666666656_r8, & + 0.0094324163748148136_r8, 0.0093161797659259259_r8, & + 0.0091497061624691341_r8, 0.0090371120592592606_r8, & + 0.009024261595061726_r8, 0.0090402738281481505_r8, & + 0.0090744800997530854_r8, 0.0091127264093827168_r8, & + 0.0091674934237037028_r8, 0.0092501875475555547_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,55) / & + 0.00013997761037037038_r8, 0.00014945367209876542_r8, & + 0.0001436016261728395_r8, 0.00013433819802469133_r8, & + 0.00013418103407407406_r8, 0.00017414690222222219_r8, & + 0.00019671379654320986_r8, 0.00018329939111111113_r8, & + 0.00016204527802469133_r8, 0.00014166018913580247_r8, & + 0.00012373425382716051_r8, 0.00013284976296296295_r8, & + 0.00017629172790123456_r8, 0.00023620817283950617_r8, & + 0.0003013572528395062_r8, 0.00036671896641975312_r8, & + 0.00047503266320987646_r8, 0.00059613210962962957_r8, & + 0.00078481205481481487_r8, 0.0010606255432098765_r8, & + 0.00154589235308642_r8, 0.0021637500676543213_r8, 0.0029287871995061724_r8, & + 0.0037115006533333331_r8, 0.0044942418419753076_r8, & + 0.0052272082829629635_r8, 0.0059016542646913566_r8, & + 0.0074468532474074069_r8, 0.0084813525950617284_r8, & + 0.0091211485481481492_r8, 0.0095067549234567894_r8, & + 0.0096745690429629622_r8, 0.0096835551229629609_r8, & + 0.0096147635372839501_r8, 0.009482542430123456_r8, 0.009338367617777777_r8, & + 0.0092365808474074058_r8, 0.0091752314370370375_r8, & + 0.0091302825471604922_r8, 0.0091201408498765429_r8, & + 0.0091194937041975312_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,55) / & + 0.00016783260938271603_r8, 0.00018092344197530866_r8, & + 0.00016615927555555554_r8, 0.00014905613975308639_r8, & + 0.00015366011901234568_r8, 0.0001671854637037037_r8, & + 0.00016435651259259255_r8, 0.00017670775012345677_r8, & + 0.00019036252395061729_r8, 0.00018438104888888888_r8, & + 0.00017677246469135802_r8, 0.00017340730716049381_r8, & + 0.0001756445822222222_r8, 0.00021745943802469131_r8, & + 0.00028439279111111109_r8, 0.00037072202469135799_r8, & + 0.0005214884780246913_r8, 0.00069159534222222228_r8, & + 0.00090323971407407387_r8, 0.0012333209901234567_r8, & + 0.0017539219540740742_r8, 0.0024677606177777776_r8, & + 0.0032576481437037036_r8, 0.0040683367807407408_r8, & + 0.0048906925298765414_r8, 0.0056602504365432099_r8, & + 0.0063161510720987652_r8, 0.0077223639640740744_r8, & + 0.0087070018927777777_r8, 0.0092287792751234582_r8, & + 0.0095655642870370369_r8, 0.0097092745412345662_r8, & + 0.0097191539133950604_r8, 0.0096791291087654323_r8, & + 0.0095763323288888865_r8, 0.0094223455003615512_r8, & + 0.0093130965790123466_r8, 0.0092453901179629632_r8, & + 0.0091528283762292769_r8, 0.0091433599745925909_r8, & + 0.0091186246799999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,55) / & + 0.0001944483932020938_r8, 0.00020493449574618598_r8, & + 0.00019006787716703869_r8, 0.00014986792027896627_r8, & + 0.00014557462690832588_r8, 0.00014511913077193745_r8, & + 0.0001307564653649646_r8, 0.0001160061436717037_r8, & + 0.00013233616473158847_r8, 0.00014388832206297281_r8, & + 0.00016149760886760822_r8, 0.00016800054307009049_r8, & + 0.0001822566029983341_r8, 0.00023297173665197036_r8, & + 0.00030818674759901233_r8, 0.00040118549067951918_r8, & + 0.00066312484332436538_r8, 0.00095071735071432402_r8, & + 0.001179289188516925_r8, 0.0016887761541781723_r8, 0.002354323849291838_r8, & + 0.0032400893892385969_r8, 0.0041374397950158957_r8, & + 0.0050195540973161784_r8, 0.005867166990136825_r8, & + 0.0066314507413680595_r8, 0.0072351478760044651_r8, & + 0.0084110050949618449_r8, 0.0091998589861883775_r8, & + 0.0096622384445102568_r8, 0.0099562236463462839_r8, & + 0.010118142485303547_r8, 0.01014975152892929_r8, 0.010129574884532203_r8, & + 0.010037638285063958_r8, 0.00994256312338785_r8, 0.0097767589646890977_r8, & + 0.0097622222692993164_r8, 0.0097132467432303991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,55) / & + 0.00019235606003605596_r8, 0.00019689782850322961_r8, & + 0.00018712491599797202_r8, 0.00018400245017679014_r8, & + 0.00018113343125667817_r8, 0.00015778590273011356_r8, & + 0.00015632604857995064_r8, 0.0001297749512238617_r8, & + 0.00012428022240866502_r8, 0.0001181569452788148_r8, & + 0.00012054948402491523_r8, 0.00013346513810344032_r8, & + 0.00015331509939523947_r8, 0.00021175995478197205_r8, & + 0.00036509532992929717_r8, 0.00051242908245928561_r8, & + 0.00099201144653990455_r8, 0.0014333841558152162_r8, & + 0.0019406226457405892_r8, 0.0026198400648559934_r8, & + 0.0034542176768064259_r8, 0.0043864967577021624_r8, & + 0.0052508520691111503_r8, 0.0060855743688470378_r8, & + 0.0067918092276164996_r8, 0.0074313774135285207_r8, & + 0.007931691734116661_r8, 0.0088430563767361043_r8, & + 0.0095120953683045378_r8, 0.0099153078449202518_r8, & + 0.010194560709457156_r8, 0.010371339922953448_r8, 0.010424399031692446_r8, & + 0.010442208745430635_r8, 0.010396958335713602_r8, 0.010324469987538583_r8, & + 0.010244556912396719_r8, 0.010249891969664244_r8, 0.010197595663684066_r8, & + 0.010100502762766576_r8, 0.010049453487953065_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,55) / & + 0.00020731115803388094_r8, 0.00020743795121492279_r8, & + 0.00019106396676046432_r8, 0.00013806815262953031_r8, & + 0.00013966999179206228_r8, 0.00012683810529824391_r8, & + 0.00013848152736552544_r8, 0.00012551710041960496_r8, & + 0.00018129527514913087_r8, 0.00015501434669192593_r8, & + 0.00014976451160744197_r8, 0.0001480339712116494_r8, & + 0.00015142757680431605_r8, 0.0002193870095033086_r8, & + 0.00048989640501076546_r8, 0.00080832245305218278_r8, & + 0.0015758621020521431_r8, 0.0022651874111606122_r8, & + 0.003131168083210227_r8, 0.0039753952803457584_r8, & + 0.0048456096903667306_r8, 0.0056414352451631894_r8, & + 0.0062973924618540955_r8, 0.0069255493295720932_r8, & + 0.0074696275632897928_r8, 0.0079483123119289956_r8, & + 0.0083563168842041308_r8, 0.0091580500155199109_r8, & + 0.0097687258925578668_r8, 0.01016301012970725_r8, 0.010423115567764879_r8, & + 0.010597091806197256_r8, 0.010672734792892088_r8, 0.010749961348793139_r8, & + 0.010747411580099888_r8, 0.010703549525499371_r8, 0.010692734441851537_r8, & + 0.010732979627333553_r8, 0.010736551588588572_r8, 0.010727794555209599_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,55) / & + 0.00022849871622101925_r8, 0.00023467574376266428_r8, & + 0.00019840642497179954_r8, 0.00014756540506769266_r8, & + 0.00014910244325124885_r8, 0.00014444362497641867_r8, & + 0.00016405708169184142_r8, 0.00015822599334789798_r8, & + 0.00021726704543556215_r8, 0.00020823280892190289_r8, & + 0.0002212891559224889_r8, 0.00021908850856659749_r8, & + 0.00025525027395231607_r8, 0.00041972798102929388_r8, & + 0.0008696307532467622_r8, 0.0013761326311438223_r8, & + 0.0022653665193897747_r8, 0.0029740756241628443_r8, & + 0.0039100939514973895_r8, 0.004767050299671876_r8, 0.005601949156773557_r8, & + 0.0063889709332826091_r8, 0.0069669867590086846_r8, & + 0.0075538831777702984_r8, 0.0081032265697539071_r8, & + 0.0085939996890251197_r8, 0.0089928315660931686_r8, & + 0.0098647529860156971_r8, 0.010559874688894567_r8, 0.011041653755331015_r8, & + 0.011420591717268587_r8, 0.011644178512917004_r8, 0.011733950151626012_r8, & + 0.011716691970664857_r8, 0.011693596519407922_r8, 0.011680764807051503_r8, & + 0.011860754596054405_r8, 0.011695303971199035_r8, 0.011444143923008949_r8, & + 0.011227848416500054_r8, 0.011216947766289068_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,55) / & + 0.00020974734133497942_r8, 0.00023609918241323459_r8, & + 0.00019603198850897121_r8, 0.00017404151485655964_r8, & + 0.0001762795849829794_r8, 0.00017382344648526747_r8, & + 0.00020273472160553082_r8, 0.00022789292528302882_r8, & + 0.00027853069655361321_r8, 0.00031555641054248557_r8, & + 0.00039940943794567895_r8, 0.00051687942637596712_r8, & + 0.00075125701638426327_r8, 0.0011561411181776461_r8, & + 0.001660177465212774_r8, 0.002146630615152132_r8, 0.0029229999260830951_r8, & + 0.0035780084497486096_r8, 0.0045084028945080491_r8, & + 0.0053486432836622215_r8, 0.0061716792260497122_r8, & + 0.0069390962564749945_r8, 0.0076220175316659092_r8, & + 0.0082782656018629795_r8, 0.0088805130569584844_r8, & + 0.0094339361514499415_r8, 0.0098823421092401643_r8, & + 0.010808180072767867_r8, 0.011530812746099357_r8, 0.011983568594032724_r8, & + 0.012387270535708046_r8, 0.01262129232995266_r8, 0.012696124213153975_r8, & + 0.012604960156671143_r8, 0.012560554549906433_r8, 0.012531034978803094_r8, & + 0.012581569454529384_r8, 0.012281728313323309_r8, 0.011957185190427046_r8, & + 0.0118185106352772_r8, 0.011660879052292444_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,55) / & + 0.0001937132682529185_r8, 0.00024022782318672595_r8, & + 0.00022172216072651851_r8, 0.00021048998673327409_r8, & + 0.00021125310683472591_r8, 0.00021314898333677038_r8, & + 0.00023956009309795563_r8, 0.00030205247515591112_r8, & + 0.00041824943435354075_r8, 0.00058695859553232598_r8, & + 0.00093946046364515583_r8, 0.0013464896477570374_r8, & + 0.0017843536534682073_r8, 0.002222730380497541_r8, & + 0.0025514801354526813_r8, 0.0028353965844475264_r8, & + 0.0034927887805935405_r8, 0.0042406822512711115_r8, & + 0.0051489501807694222_r8, 0.0060144356895800886_r8, & + 0.0068997146260221633_r8, 0.0076877076732807118_r8, & + 0.0085434395532946964_r8, 0.0092953632520080594_r8, & + 0.0099368014685330981_r8, 0.010527635283330608_r8, 0.011035050532038165_r8, & + 0.01206529844025292_r8, 0.012825688002591765_r8, 0.013302280353451617_r8, & + 0.01361227404716326_r8, 0.013798177258127884_r8, 0.013841353162617837_r8, & + 0.01379674640793766_r8, 0.013740740546742045_r8, 0.013668911867192889_r8, & + 0.013455166696276858_r8, 0.013187607249706574_r8, 0.012656755569164544_r8, & + 0.012296789134465599_r8, 0.0121172263784064_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,22,55) / & + 0.00022247841516701228_r8, 0.00027089545808965264_r8, & + 0.00027382720034122802_r8, 0.00029392880860624858_r8, & + 0.00029845630929855471_r8, 0.00030804323016341061_r8, & + 0.0003635855200772214_r8, 0.00044937299904209381_r8, & + 0.00065800913750230119_r8, 0.0010025074073931059_r8, & + 0.0015627670627352888_r8, 0.0019778992915142585_r8, & + 0.0022361523842827722_r8, 0.0025639261160970797_r8, & + 0.0028974396302098304_r8, 0.0032136843165453694_r8, & + 0.0040556262622277262_r8, 0.0049160740577343731_r8, & + 0.0058180857940228472_r8, 0.0066993403003613493_r8, & + 0.0075520443378532861_r8, 0.0084331627717666099_r8, & + 0.0094138491102492561_r8, 0.010237013061256966_r8, 0.010940606461194102_r8, & + 0.011619075943355074_r8, 0.012234333598910352_r8, 0.01344124652936266_r8, & + 0.014219704503588964_r8, 0.014681027135605833_r8, 0.014880237166067305_r8, & + 0.015005077431058436_r8, 0.014991717592949995_r8, 0.014972568491661221_r8, & + 0.014877923934839268_r8, 0.014718471792970891_r8, 0.014420095890105393_r8, & + 0.014171108092469499_r8, 0.013396860234421706_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,55) / & + 0.00024332484743084772_r8, 0.00027848102633539417_r8, & + 0.00028028817953464362_r8, 0.00035188220627937442_r8, & + 0.00035912363576572846_r8, 0.00037081245645874562_r8, & + 0.00043549828764038838_r8, 0.00053058530597536123_r8, & + 0.00068701299956996204_r8, 0.0010787166596796047_r8, & + 0.0017460047743301003_r8, 0.0022347820396249542_r8, & + 0.0026348037311268871_r8, 0.002899814416948727_r8, & + 0.0031696185445898527_r8, 0.0035263454594459385_r8, & + 0.0045574096680985271_r8, 0.0055198276885583533_r8, & + 0.0064555998118462675_r8, 0.0074378837008084791_r8, & + 0.0082666492846599892_r8, 0.0091710717857822043_r8, & + 0.010134002473816283_r8, 0.011056791290786185_r8, 0.011813168213152866_r8, & + 0.012557869131515891_r8, 0.013192551588443758_r8, 0.014393283130796086_r8, & + 0.015211462129239227_r8, 0.015710492746019183_r8, 0.015967749334780412_r8, & + 0.016065835458424781_r8, 0.016112154973758733_r8, 0.016047904910015211_r8, & + 0.015806271865579404_r8, 0.015521023627263842_r8, 0.015191352743639072_r8, & + 0.014982493575973694_r8, 0.014743417140647251_r8, 0.014747985008733864_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,55) / & + 0.00021935937416402959_r8, 0.00023611074302364442_r8, & + 0.00023343158505876544_r8, 0.00034661937749578268_r8, & + 0.00036943200967198023_r8, 0.00036831790437965429_r8, & + 0.00039248337869653323_r8, 0.00064574338532705168_r8, & + 0.00097084992015435058_r8, 0.0016119909895714369_r8, & + 0.0023701529041574715_r8, 0.0028483295482554074_r8, & + 0.0032675647171260041_r8, 0.0035146440920157626_r8, & + 0.0037590708352571258_r8, 0.0040576643167587155_r8, & + 0.0050069616047698556_r8, 0.0062121052152687003_r8, & + 0.0072389389263624307_r8, 0.0083281890601428939_r8, & + 0.0093150741386117935_r8, 0.010152125318421098_r8, 0.01101812997267263_r8, & + 0.011914374627715869_r8, 0.012701224753579297_r8, 0.013434372351720965_r8, & + 0.014069040999915967_r8, 0.015237074293653764_r8, 0.016096420842467832_r8, & + 0.016579823170913107_r8, 0.016886560231575268_r8, 0.017017653287638951_r8, & + 0.017115707816521875_r8, 0.017022441287764305_r8, 0.016714285069170252_r8, & + 0.016287038952721499_r8, 0.015881875994745637_r8, 0.015625356566977153_r8, & + 0.015409294982373147_r8, 0.015334050243561083_r8, 0.015283468063289438_r8, & + 0.015180619660596799_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,55) / & + 0.00022513949668898767_r8, 0.00022368627621346498_r8, & + 0.00021381534468161312_r8, 0.00037748087333056783_r8, & + 0.00031458110406926745_r8, 0.00033106007587660902_r8, & + 0.00050169009510637032_r8, 0.001283755774598716_r8, & + 0.002149271954416593_r8, 0.0028043727770804931_r8, & + 0.0031953027946232094_r8, 0.0034645598714087246_r8, & + 0.0037407814387750448_r8, 0.004014151403698831_r8, & + 0.0042921278033374814_r8, 0.0046383918556985679_r8, & + 0.0056876581679072913_r8, 0.0069476825779481808_r8, & + 0.0081155645840646565_r8, 0.0091457608049389308_r8, & + 0.010151032923695274_r8, 0.01106647956551177_r8, 0.011928458661530731_r8, & + 0.01274083632660214_r8, 0.013488271487970237_r8, 0.014158178707931917_r8, & + 0.014809906962322435_r8, 0.015948573753030059_r8, 0.016901132355480884_r8, & + 0.017347380718483355_r8, 0.017670530339507353_r8, 0.017798578256878878_r8, & + 0.017913835092140378_r8, 0.017826573315473385_r8, 0.017618145854252903_r8, & + 0.017032758485532706_r8, 0.016508461215292973_r8, 0.016192961566206154_r8, & + 0.015987138934139916_r8, 0.015893241697943174_r8, 0.01580330360620906_r8, & + 0.015623895508581332_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,55) / & + 0.00025444166974069465_r8, 0.00024508449027599007_r8, & + 0.00021436576192741395_r8, 0.00024559410973246418_r8, & + 0.00022291604391936796_r8, 0.00025652261585463044_r8, & + 0.00028629288577032428_r8, 0.00067668970162149144_r8, & + 0.0012262293488527014_r8, 0.0018958551585636218_r8, & + 0.0024925062933266566_r8, 0.0029701329728109697_r8, & + 0.0036628898434074072_r8, 0.0042814263026068021_r8, & + 0.0047500355489307269_r8, 0.0052697907701502291_r8, & + 0.0065767948028540718_r8, 0.0078257022175198688_r8, & + 0.0089118569963222653_r8, 0.0099590683549924345_r8, & + 0.010966869142361942_r8, 0.01197659515878924_r8, 0.01279699754713642_r8, & + 0.013557505493251883_r8, 0.014283713218727441_r8, 0.014928650796991395_r8, & + 0.015343226224833053_r8, 0.016541737937691973_r8, 0.01753896412133964_r8, & + 0.018003496412011776_r8, 0.01835325107620913_r8, 0.018495562309429517_r8, & + 0.018656262311371005_r8, 0.01860657441436479_r8, 0.018426353156021133_r8, & + 0.017871151070384658_r8, 0.017279100666825902_r8, 0.016876274798675171_r8, & + 0.016601873033555915_r8, 0.01645779228833388_r8, 0.016391558948537405_r8, & + 0.016338060028254497_r8, 0.015986507539863467_r8, 0.015811071041972265_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,55) / & + 0.00025319387277969381_r8, 0.00024784933402674568_r8, & + 0.00020725420360817779_r8, 0.00024348316712201481_r8, & + 0.0002430888978697482_r8, 0.00024067947466145176_r8, & + 0.00023044307666741725_r8, 0.00032487786386773337_r8, & + 0.00035402458340566908_r8, 0.0005751658262325728_r8, & + 0.00093034401226524432_r8, 0.0013250075337841777_r8, & + 0.002438453107315042_r8, 0.003795703104395694_r8, 0.0047418908995760988_r8, & + 0.0056190815756098382_r8, 0.0074390722517674677_r8, & + 0.0089579142320178554_r8, 0.010043322880943093_r8, 0.011075140116689856_r8, & + 0.011912246752076482_r8, 0.012868743958075416_r8, 0.01364190596177035_r8, & + 0.014347414282289301_r8, 0.015042700807379119_r8, 0.015710636728413552_r8, & + 0.01623960003930643_r8, 0.017451320874605988_r8, 0.018449581416215385_r8, & + 0.018930283250117846_r8, 0.019224729368736555_r8, 0.019375588466705704_r8, & + 0.019493591793652624_r8, 0.019390191031604463_r8, 0.019159923185715834_r8, & + 0.018763770202577225_r8, 0.018336542961334044_r8, 0.01789408524490145_r8, & + 0.017522362352838477_r8, 0.017222542490337028_r8, 0.017084986328990661_r8, & + 0.017007955973829054_r8, 0.016977513276656354_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,55) / & + 0.0002294526181101696_r8, 0.00022973854975207248_r8, & + 0.00019711224450757534_r8, 0.00027527692598355229_r8, & + 0.00027548761245653339_r8, 0.00026119103036138932_r8, & + 0.00024462204416480664_r8, 0.00025490053423952595_r8, & + 0.00024371910213774492_r8, 0.00027702261390253837_r8, & + 0.0003873320315419128_r8, 0.0005426531092303145_r8, & + 0.0011694453663489977_r8, 0.0023123141390348121_r8, & + 0.0034704125339104007_r8, 0.0047245237643302193_r8, & + 0.0075114543308562442_r8, 0.0098876064712043205_r8, & + 0.011385993618011906_r8, 0.012532474158805967_r8, 0.013180229719986265_r8, & + 0.013928407483609616_r8, 0.014601656108020623_r8, 0.015242158034916858_r8, & + 0.015884014374853695_r8, 0.016520889484607896_r8, 0.017091955169623085_r8, & + 0.018402515325768049_r8, 0.019462238186795263_r8, 0.02007154346665652_r8, & + 0.020344698478876475_r8, 0.020442983718522146_r8, 0.020400394952912397_r8, & + 0.020216796740743177_r8, 0.019969541115666109_r8, 0.019656987732998694_r8, & + 0.019328647913891481_r8, 0.018967350710796513_r8, 0.018534500995444576_r8, & + 0.018043430330639387_r8, 0.017775657229126558_r8, 0.017678875280462844_r8, & + 0.017662633812300634_r8, 0.017655586631948803_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,55) / & + 0.00023934353424018436_r8, 0.00023883218265207569_r8, & + 0.00021385343234810205_r8, 0.00027262787397525594_r8, & + 0.00028471436605782379_r8, 0.00027255039646190609_r8, & + 0.00026563940227110458_r8, 0.00026607327634586337_r8, & + 0.00028063904885562463_r8, 0.00031683654309264857_r8, & + 0.00039276450617544681_r8, 0.0005472236767895967_r8, & + 0.0010444898529712462_r8, 0.0017748238848117465_r8, & + 0.0026389150956993316_r8, 0.0038039134729348479_r8, & + 0.0067991166615245418_r8, 0.0097635922683197082_r8, & + 0.011900313617988344_r8, 0.013278932995031913_r8, 0.01417291503056985_r8, & + 0.014944374126496421_r8, 0.015503234925791157_r8, 0.016113866199506229_r8, & + 0.016730602701273255_r8, 0.017331363339787562_r8, 0.017869041786932466_r8, & + 0.019184981855676048_r8, 0.020258076406576037_r8, 0.02093879383886733_r8, & + 0.021226560818951135_r8, 0.02125877596900198_r8, 0.021117333020630596_r8, & + 0.020972558539185168_r8, 0.02069821066441355_r8, 0.020389524755725297_r8, & + 0.020077290376925627_r8, 0.019863467935582864_r8, 0.019510891015581958_r8, & + 0.019086668646707581_r8, 0.018425797619036378_r8, 0.018234611685922133_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,55) / & + 0.00036868997616533331_r8, 0.00036564505959822219_r8, & + 0.00033884660541333336_r8, 0.00030662788089955557_r8, & + 0.00032145391444622217_r8, 0.00032693795266133336_r8, & + 0.00035478857696888888_r8, 0.00038581165361599998_r8, & + 0.00043217090689955551_r8, 0.00052343869405511111_r8, & + 0.00070811049255466673_r8, 0.00095588061447111103_r8, & + 0.0015651668253528889_r8, 0.0021856443002666666_r8, & + 0.0028618549077386664_r8, 0.0039035352131217772_r8, & + 0.0067360568931982218_r8, 0.0098512934968408884_r8, & + 0.012408194430693334_r8, 0.01428022826651911_r8, 0.015558487429786666_r8, & + 0.016448272630188443_r8, 0.016879040643591109_r8, 0.017546339688963554_r8, & + 0.018169638892842663_r8, 0.018744251315591112_r8, 0.019276649397660446_r8, & + 0.020571551979232001_r8, 0.021588984545879108_r8, 0.022150301364350221_r8, & + 0.022297015328576003_r8, 0.022243051754860438_r8, 0.022014651128384001_r8, & + 0.021826759051630219_r8, 0.021558599148094219_r8, 0.021306747881459552_r8, & + 0.021045363315834661_r8, 0.020825698889770664_r8, 0.020554892618956443_r8, & + 0.020167666115364892_r8, 0.020204210693860272_r8, 0.020030506373967_r8, & + 0.019867660415578282_r8, 0.019182579809004001_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,55) / & + 0.00056331986328372657_r8, 0.00056028800180211351_r8, & + 0.00052413510218893159_r8, 0.00048973576570295291_r8, & + 0.0004598596387787324_r8, 0.00047962409795076209_r8, & + 0.00050317428686469791_r8, 0.00059453984232412174_r8, & + 0.00071882977462982051_r8, 0.0008955627163472063_r8, & + 0.0011403568512166977_r8, 0.0014597675554147553_r8, & + 0.0020889689492719146_r8, 0.0027165478875253988_r8, & + 0.0034570104035375401_r8, 0.0044885316217845453_r8, & + 0.0074686220200441134_r8, 0.010590669089404944_r8, 0.013107228838226959_r8, & + 0.015048865707932913_r8, 0.016482149543594771_r8, 0.017572783866513009_r8, & + 0.01824607016515687_r8, 0.019002314749313836_r8, 0.019663145833222425_r8, & + 0.020243099963553921_r8, 0.020734818730550254_r8, 0.022014919813408654_r8, & + 0.022926018771294073_r8, 0.023386632278333094_r8, 0.02336688420760151_r8, & + 0.023134348626182001_r8, 0.022794698198039118_r8, 0.022478417685965323_r8, & + 0.022290589770069272_r8, 0.022145044030511405_r8, 0.021979635501138857_r8, & + 0.021839039070594212_r8, 0.021631233645800402_r8, 0.021260838503389917_r8, & + 0.020968987010348713_r8, 0.02070609008710764_r8, 0.020454666535428972_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,55) / & + 0.00072406945014347342_r8, 0.00071864860934026033_r8, & + 0.00063135960448106661_r8, 0.0008687149910789004_r8, & + 0.00086125712624715068_r8, 0.00089445556743949963_r8, & + 0.00093243512288064523_r8, 0.001077636215823855_r8, & + 0.0012389146471741103_r8, 0.0014446204042376561_r8, & + 0.0018094833940762865_r8, 0.0020757106501694948_r8, & + 0.0026496295440276941_r8, 0.0034802808051188155_r8, & + 0.0045179172763823144_r8, 0.0058092558311999207_r8, & + 0.0088270480072942907_r8, 0.011574101171595878_r8, 0.013878059522417434_r8, & + 0.015759545823684228_r8, 0.017217819339385876_r8, 0.018544915241613502_r8, & + 0.019470145023302302_r8, 0.020163574938471086_r8, 0.020911448950402582_r8, & + 0.021517371006890929_r8, 0.022064471890191617_r8, 0.023117983680950242_r8, & + 0.023753164809848487_r8, 0.02409449259644832_r8, 0.024069644270282037_r8, & + 0.02380471330220699_r8, 0.023489951002524764_r8, 0.023215003263400296_r8, & + 0.023152831943256617_r8, 0.023056569931726261_r8, 0.022923679366228238_r8, & + 0.022745898515010441_r8, 0.022615660349601517_r8, 0.022323416845507489_r8, & + 0.021778952369132042_r8, 0.021529072471366546_r8, 0.020886684798782931_r8, & + 0.020886684798782931_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,55) / & + 0.0010809156444257977_r8, 0.0010702184713123556_r8, & + 0.00096409352771034055_r8, 0.001463853704233165_r8, & + 0.0015008876977422223_r8, 0.0015283132449652147_r8, & + 0.0015924790022676541_r8, 0.0017636510534609381_r8, & + 0.0019545930013291457_r8, 0.0024336155239971556_r8, & + 0.002862988647061096_r8, 0.003253374980877985_r8, 0.0041113262836080982_r8, & + 0.0051917926122003744_r8, 0.0065918953122081972_r8, & + 0.0081942247000568891_r8, 0.011009741401168671_r8, 0.013542344659566143_r8, & + 0.015533366806166913_r8, 0.017277403495356836_r8, 0.018633767027109217_r8, & + 0.019936938476723988_r8, 0.02085212570409339_r8, 0.021751310375238166_r8, & + 0.022488378437372912_r8, 0.023115968968532463_r8, 0.02366798803276942_r8, & + 0.02451375596385983_r8, 0.024974252849084205_r8, 0.025056840555561007_r8, & + 0.024989028427455762_r8, 0.024806969107988696_r8, 0.024582760507061728_r8, & + 0.024408875279489102_r8, 0.024361057705975544_r8, 0.02428946095604179_r8, & + 0.024279506882191482_r8, 0.024013010748778901_r8, 0.023882487646820657_r8, & + 0.023605526219358717_r8, 0.022532445951814393_r8, 0.022284216235172259_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,55) / & + 0.0018165193085848625_r8, 0.0017979582526733171_r8, & + 0.0017045856820084543_r8, 0.0018438201931156937_r8, & + 0.0019516232313182814_r8, 0.0020644787059437828_r8, & + 0.0022582440747242931_r8, 0.0025634644182095669_r8, 0.00309666487537438_r8, & + 0.0039855745845594074_r8, 0.0047443264403513414_r8, & + 0.0055038583214155855_r8, 0.0068117479689133835_r8, & + 0.0082890981068204118_r8, 0.0098768040929121306_r8, & + 0.011422424169993334_r8, 0.013889023631659744_r8, 0.015914979725859698_r8, & + 0.017478877213298882_r8, 0.018932826593036627_r8, 0.020131406335328512_r8, & + 0.021185167294677308_r8, 0.021951772586733635_r8, 0.022856460079835824_r8, & + 0.023560946995660959_r8, 0.024152135240683145_r8, 0.024652432813634172_r8, & + 0.025414907517316673_r8, 0.025866488966442558_r8, 0.025835802063116021_r8, & + 0.025760582807879451_r8, 0.025644128580293069_r8, 0.025512428404202449_r8, & + 0.025410138726447332_r8, 0.025183364106370443_r8, 0.025086233232120825_r8, & + 0.025104546098173003_r8, 0.025052237869329627_r8, 0.025012230550391347_r8, & + 0.02500509002683525_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,55) / & + 0.0029040739510097125_r8, 0.0028970041420921149_r8, & + 0.0028142019584711108_r8, 0.002274933654607539_r8, & + 0.0026236624296996874_r8, 0.0029405134545567079_r8, & + 0.0034129729728647903_r8, 0.0039367022365624366_r8, & + 0.0051992174449909468_r8, 0.0068301805613537464_r8, & + 0.0081794599542876698_r8, 0.009203728054487964_r8, 0.010131399665235753_r8, & + 0.011391370469426568_r8, 0.012601925308458141_r8, 0.013746725472261268_r8, & + 0.015741938229566155_r8, 0.017338024833556544_r8, 0.018664350065403259_r8, & + 0.019820654571223967_r8, 0.020822495565500577_r8, 0.021695735099877662_r8, & + 0.022330073250651131_r8, 0.023048013254948874_r8, 0.023910602640159605_r8, & + 0.024541360450684314_r8, 0.024966930233754864_r8, 0.025637762411023276_r8, & + 0.0260210769094321_r8, 0.026080506922698272_r8, 0.026077653555088853_r8, & + 0.02598843583792566_r8, 0.025891796184472692_r8, 0.025817221773330526_r8, & + 0.025659128266710067_r8, 0.025479605294296881_r8, 0.025531382232918926_r8, & + 0.025663986650822094_r8, 0.025716015563353598_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,55) / & + 0.003511973130243358_r8, 0.0036040342906363651_r8, & + 0.0036130281297281587_r8, 0.0034544721465674666_r8, & + 0.0038792681117870613_r8, 0.0040595173093202963_r8, & + 0.0045603978015151796_r8, 0.0055869430505657673_r8, & + 0.007300800089921026_r8, 0.0090856768027671696_r8, 0.010579398923399506_r8, & + 0.011635234667049243_r8, 0.012045040900449186_r8, 0.013300081800628938_r8, & + 0.014370832792958855_r8, 0.015362780623722589_r8, 0.017195494132897542_r8, & + 0.018573525317137938_r8, 0.019739819556631392_r8, 0.020739979153522412_r8, & + 0.021644297570691987_r8, 0.022374120612852898_r8, 0.02299750724870183_r8, & + 0.023731519967458294_r8, 0.024499571480955537_r8, 0.025024156232288829_r8, & + 0.025410425793614189_r8, 0.026070309167806616_r8, 0.026386396990960195_r8, & + 0.026471940876649006_r8, 0.026481148854766799_r8, 0.026383212836747577_r8, & + 0.026231989120143122_r8, 0.026115651776505006_r8, 0.025941056314777666_r8, & + 0.025788186387785173_r8, 0.025606155380648376_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,55) / & + 0.0034974092700022401_r8, 0.0036247969588904601_r8, & + 0.0037527000970772051_r8, 0.004238037974150166_r8, & + 0.0046223194063230461_r8, 0.0046839018691373921_r8, & + 0.0050843165813934943_r8, 0.0056807140613676149_r8, & + 0.0067918368232641772_r8, 0.0081781501083826365_r8, & + 0.0092882646892369202_r8, 0.010705154358671134_r8, 0.011883595421895481_r8, & + 0.013316196167936924_r8, 0.014582404140680974_r8, 0.01560254239398672_r8, & + 0.017450630175890706_r8, 0.018913565220222556_r8, 0.020108523292011939_r8, & + 0.021176674252218794_r8, 0.02209760013645188_r8, 0.022871500129415592_r8, & + 0.023584838779100857_r8, 0.02433581414477792_r8, 0.025080118355047545_r8, & + 0.025630551495952489_r8, 0.026000008478817734_r8, 0.026736645610157914_r8, & + 0.02706029011101067_r8, 0.027124764667635609_r8, 0.027123015928076959_r8, & + 0.027008963787796329_r8, 0.026820390010108719_r8, 0.026667953853683781_r8, & + 0.026448733823814869_r8, 0.026291098538021026_r8, 0.025947105021328534_r8, & + 0.025172950684819204_r8, 0.024746683159878401_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,55) / & + 0.0035017409231083005_r8, 0.0036369871394271998_r8, & + 0.0036757121220069335_r8, 0.0042486838030336002_r8, & + 0.0046983677844186665_r8, 0.0046746586114106668_r8, & + 0.0048540580205045335_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,55) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,55) / & + 0.0024529553187786664_r8, 0.0021610013515134807_r8, & + 0.0024961522207422216_r8, 0.0027913882612780245_r8, & + 0.002900268783723456_r8, 0.0029227615243945675_r8, & + 0.0039471598247585171_r8, 0.0040085857832177765_r8, & + 0.007001475276853332_r8, 0.005778978260458271_r8, 0.0056136099448414797_r8, & + 0.0043245079185876539_r8, 0.0038439401259358014_r8, & + 0.0037744444827377773_r8, 0.0040427916110656777_r8, & + 0.0037473447951822214_r8, 0.0033976986041876537_r8, & + 0.0030107150658943206_r8, 0.0029981889880908636_r8, & + 0.0029744617060977773_r8, 0.0030024647165718512_r8, & + 0.0029775932255486416_r8, 0.0031088159348454311_r8, & + 0.0031306161279456789_r8, 0.0033227830234785175_r8, & + 0.0034110075618538271_r8, 0.0035775200865007409_r8, & + 0.0037900418584641969_r8, 0.0037896203077688877_r8, & + 0.0037950402452799994_r8, 0.00372729102639111_r8, 0.0036297321511911105_r8, & + 0.0039196988080355552_r8, 0.0046042369156888878_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,55) / & + 0.0027154391023868833_r8, 0.0022544650082408292_r8, & + 0.0026810077848243093_r8, 0.0029677974851952723_r8, & + 0.0028701731124427324_r8, 0.0028619377372084143_r8, & + 0.0032396062517229033_r8, 0.0033459626052515295_r8, & + 0.0065835410510122136_r8, 0.0066531485944500146_r8, & + 0.0062212259244973835_r8, 0.0047120416830647299_r8, & + 0.0041205017152288652_r8, 0.0039384130165806344_r8, & + 0.0043949590446459253_r8, 0.0039104789548561917_r8, & + 0.0035530471161687432_r8, 0.003143347544210225_r8, & + 0.0030714638920393213_r8, 0.0030277212205685987_r8, & + 0.0030332252653231932_r8, 0.0030184926342507455_r8, & + 0.003116861915315937_r8, 0.003178606537675746_r8, 0.0033894569739513669_r8, & + 0.0034995792528383996_r8, 0.0036228615785822813_r8, & + 0.0038740198313313981_r8, 0.004082759694054504_r8, & + 0.0041024997643397789_r8, 0.0040950920650084073_r8, & + 0.0039987919737005826_r8, 0.0041128457131266102_r8, & + 0.0047442419706710598_r8, 0.0046460122121152218_r8, & + 0.0045852365617589323_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,55) / & + 0.0029718433576388739_r8, 0.0025862610768581529_r8, & + 0.0030372649118555646_r8, 0.0033410169749841377_r8, & + 0.0033593435341458169_r8, 0.0034091235832175394_r8, & + 0.0035686498877342018_r8, 0.0037262156766196138_r8, & + 0.0067526977525033081_r8, 0.0080656039268649869_r8, & + 0.0069347699867793391_r8, 0.0047785437516452336_r8, & + 0.0038997213099851852_r8, 0.0031225473418149134_r8, & + 0.0038013971890875258_r8, 0.003576747669689362_r8, & + 0.0032604227345777773_r8, 0.0029695845026724336_r8, & + 0.0028880952442605036_r8, 0.0028783352860092836_r8, & + 0.0028617135230486908_r8, 0.0028643985770654017_r8, & + 0.0028827251362270813_r8, 0.0029388555511478515_r8, & + 0.0031384871862950715_r8, 0.0033195365428504487_r8, & + 0.003422506233396069_r8, 0.0037740352100600876_r8, & + 0.0040765086760378476_r8, 0.0042386347947611647_r8, & + 0.004263269099866864_r8, 0.0042327106279623893_r8, & + 0.0042338613653981234_r8, 0.0046837997027698568_r8, & + 0.0043762544680938662_r8, 0.0044322014652090728_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,55) / & + 0.002903268186843127_r8, 0.0027981014630961512_r8, & + 0.0029164688473301338_r8, 0.0037685912169730632_r8, & + 0.0040212018628373591_r8, 0.0040909767825543899_r8, & + 0.0048232845194714066_r8, 0.0055401110831262554_r8, & + 0.0066606322639999995_r8, 0.0077166412469455549_r8, & + 0.0060884866935233314_r8, 0.0041111944054265147_r8, & + 0.002811784539747134_r8, 0.0026057489817140674_r8, & + 0.0029787005324831608_r8, 0.0030511068130946108_r8, & + 0.0028403786614664955_r8, 0.0026879351536497776_r8, & + 0.0026516662293216918_r8, 0.0027018375103752953_r8, & + 0.0027143364746237894_r8, 0.0027497282786537354_r8, & + 0.0027783224003730964_r8, 0.0028435362945397995_r8, & + 0.0030953136761208626_r8, 0.003243108446357439_r8, & + 0.0033361270539751771_r8, 0.00362877824144956_r8, 0.0039500235506433048_r8, & + 0.0041803553409348474_r8, 0.0041243950659135206_r8, & + 0.0040815438236337705_r8, 0.0040794138309669103_r8, & + 0.0044302381426719294_r8, 0.0041706412336329482_r8, & + 0.0041722200501696002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,55) / & + 0.0026341466536723228_r8, 0.0030291536668049651_r8, & + 0.002751431270242871_r8, 0.0039021822948028056_r8, 0.004134000908331905_r8, & + 0.0039590885562837859_r8, 0.0049521073283393851_r8, & + 0.0053027887828065706_r8, 0.0055217561407714241_r8, & + 0.0046752416821482399_r8, 0.003625857754109103_r8, & + 0.0030527819401932645_r8, 0.0025532964739295341_r8, & + 0.0026356797859150754_r8, 0.0028135231260743372_r8, & + 0.0028118096253324384_r8, 0.002651912950838334_r8, & + 0.0026179585808738504_r8, 0.0026363110756620904_r8, & + 0.002728118641728079_r8, 0.0027891282865646619_r8, & + 0.0028627186342167705_r8, 0.0029408181943475619_r8, & + 0.0030576518896702422_r8, 0.0033290613887621795_r8, & + 0.0034465714659566628_r8, 0.0035709806382435288_r8, & + 0.0037881894033416955_r8, 0.0041725748054374972_r8, & + 0.0043381606566899739_r8, 0.0041792621285866869_r8, & + 0.0040976566557537194_r8, 0.004052609623091675_r8, 0.004055856256076326_r8, & + 0.0040907575606613329_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,55) / & + 0.0024749932805973322_r8, 0.0033458714358613334_r8, & + 0.0030078143074986664_r8, 0.0035250690475519988_r8, & + 0.0035968314830506663_r8, 0.0039105199599786663_r8, & + 0.0049637460468906665_r8, 0.0039808462202026666_r8, & + 0.003108809859071999_r8, 0.0026822658024959999_r8, & + 0.0025198853399893326_r8, 0.0024828690804906657_r8, & + 0.002423985894229333_r8, 0.0025155768141653331_r8, & + 0.0025414279691093333_r8, 0.0025867369826133324_r8, & + 0.0025712170239999997_r8, 0.0025837719755946666_r8, & + 0.0026544688616960007_r8, 0.0027711696848213333_r8, & + 0.0028706364046506665_r8, 0.0029900242653866666_r8, & + 0.0031230789553493331_r8, 0.0032761474426880005_r8, & + 0.0034796210493439985_r8, 0.0036303731249493327_r8, & + 0.0038319936022186665_r8, 0.0041588856260266673_r8, & + 0.0043028737793706666_r8, 0.004269841748053331_r8, & + 0.0042089201194666671_r8, 0.004203129090133333_r8, & + 0.0041986352513706665_r8, 0.0041973380608000006_r8, & + 0.004223814646911999_r8, 0.0042544607741439996_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,56) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,56) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,56) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,56) / & + 0.0034695346999206347_r8, 0.0037988385757142858_r8, & + 0.0040321482953174599_r8, 0.0043739372951587295_r8, & + 0.004450296688253968_r8, 0.0046679595149206341_r8, & + 0.0050962722222222222_r8, 0.0054666627498412704_r8, & + 0.0055471927657142856_r8, 0.0056631441022222213_r8, & + 0.0055852647422222233_r8, 0.0058730966503703699_r8, & + 0.0062791997141798941_r8, 0.0064570947785185179_r8, & + 0.0066792011187301586_r8, 0.0068385094988148163_r8, & + 0.0071070296554074062_r8, 0.0073754832484444442_r8, & + 0.0076200183371851861_r8, 0.007863033558074075_r8, & + 0.0080537575591111115_r8, 0.0082501824513333318_r8, & + 0.0084029790931111105_r8, 0.0085279812902222234_r8, & + 0.0086608504675555545_r8, 0.008785291034666666_r8, & + 0.0089009743339999985_r8, 0.0092139977744444441_r8, & + 0.009542247628222221_r8, 0.0095708033935555555_r8, & + 0.0097066346491111108_r8, 0.0098535778582222212_r8, & + 0.0099357713686666644_r8, 0.010016400635555556_r8, 0.010062690041481481_r8, & + 0.0099311992844444436_r8, 0.0096267819570370356_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,56) / & + 0.0032929638079012341_r8, 0.0034739242296296297_r8, & + 0.0032929453180246915_r8, 0.0036291559881481477_r8, & + 0.0036469247595061721_r8, 0.0039400262824691359_r8, & + 0.0040589254335802469_r8, 0.0046022781906172828_r8, & + 0.0049081469733333336_r8, 0.0051386232844444447_r8, & + 0.0052745516118518519_r8, 0.0057241884296296303_r8, & + 0.0062035754587654313_r8, 0.0064341627091358015_r8, & + 0.0066543031792592588_r8, 0.0068139355283950596_r8, & + 0.0070971819471604925_r8, 0.0072588019580246904_r8, & + 0.0074939099832098755_r8, 0.0077240719664197523_r8, & + 0.0079339782898765424_r8, 0.0081512066044444453_r8, & + 0.008316413651358023_r8, 0.0084625483906172836_r8, 0.008607693921481481_r8, & + 0.0087420875891358017_r8, 0.008867384237530862_r8, & + 0.0091862329135802469_r8, 0.0094852419520987646_r8, & + 0.0096014323362962964_r8, 0.0097257212864197539_r8, & + 0.0098672058217283923_r8, 0.0099571498261728404_r8, 0.01002528502123457_r8, & + 0.010042360422222221_r8, 0.009939704627654318_r8, 0.0096801899654320976_r8, & + 0.0095603555897619055_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,56) / & + 0.0031880614933333328_r8, 0.0032472845679012347_r8, & + 0.0028839030241975304_r8, 0.0024890979353086422_r8, & + 0.0025456029980246912_r8, 0.0027313060730864195_r8, & + 0.0025049530044444442_r8, 0.0035299300656790123_r8, & + 0.0038760235748148157_r8, 0.0042244745432098761_r8, & + 0.0046442687002469134_r8, 0.0054090469738271602_r8, & + 0.0062049159748148149_r8, 0.0064531518123456784_r8, & + 0.0066111940320987654_r8, 0.0067388296498765432_r8, 0.00694590702222222_r8, & + 0.0071234745516049374_r8, 0.0073200219392592584_r8, & + 0.0075308435116049378_r8, 0.0077383553960493822_r8, & + 0.0080532379935802471_r8, 0.008250876283950619_r8, & + 0.0084322897076543214_r8, 0.008602683164938273_r8, & + 0.0087544942962962963_r8, 0.0088966537120987645_r8, & + 0.0092379583432098747_r8, 0.0095059598587654316_r8, & + 0.0096867168918518525_r8, 0.0098106175545678992_r8, & + 0.0099250421555555548_r8, 0.010019211096790123_r8, 0.010051383481975307_r8, & + 0.0099903229759259245_r8, 0.0098590171176543215_r8, & + 0.0096971509603086415_r8, 0.0095862034466402107_r8, & + 0.0097113850285714277_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,56) / & + 0.0032491335555555551_r8, 0.0032691026222222224_r8, & + 0.0031339138898765426_r8, 0.0015073317155555553_r8, & + 0.001601278778271605_r8, 0.0017392964617283949_r8, & + 0.0015651033348148147_r8, 0.0023418815382716049_r8, & + 0.0027616479604938272_r8, 0.0030668511076543206_r8, & + 0.0033947043535802468_r8, 0.00477898594074074_r8, 0.0061445003032098763_r8, & + 0.0063299722548148139_r8, 0.0064642919629629625_r8, & + 0.0065853636745679019_r8, 0.0067735074133333326_r8, & + 0.0069782735511111109_r8, 0.0071574589446913583_r8, & + 0.0073422467708641973_r8, 0.0075257865303703705_r8, & + 0.0078618400365432096_r8, 0.0080657741298765431_r8, & + 0.0082656312054320974_r8, 0.0084619104898765417_r8, & + 0.008639857061728394_r8, 0.0088041118799999998_r8, & + 0.0091875641846913582_r8, 0.0094802589303703711_r8, & + 0.0096980789209876531_r8, 0.0098207684967901235_r8, & + 0.009910999094320987_r8, 0.0099681605476543197_r8, & + 0.0099669402158024702_r8, 0.0099228603501234566_r8, & + 0.009877517394753085_r8, 0.0098454858297883606_r8, & + 0.0097996904997777762_r8, 0.0098834399333333333_r8, & + 0.0098727065599999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,56) / & + 0.0023873943693827164_r8, 0.0024050706913580247_r8, & + 0.002395816508148148_r8, 0.00069237191703703702_r8, & + 0.00070026709432098762_r8, 0.00077747157382716044_r8, & + 0.00072638404493827148_r8, 0.0010028724138271604_r8, & + 0.0012982481916049382_r8, 0.0015428230335802467_r8, & + 0.0017641561007407404_r8, 0.0030714088622222219_r8, & + 0.0044880847130864187_r8, 0.0047490323407407406_r8, & + 0.0049656319995061721_r8, 0.0051685676395061735_r8, & + 0.0055466393901234578_r8, 0.0059115278587654318_r8, & + 0.0062496892108641977_r8, 0.0064521163792592585_r8, & + 0.0066179705718518514_r8, 0.0067870512479012331_r8, & + 0.0069492814246913575_r8, 0.0070783037832098765_r8, 0.0072735476345679_r8, & + 0.0074544988113580245_r8, 0.0076358105407407393_r8, & + 0.0080813980755555549_r8, 0.0084908748814814805_r8, & + 0.008918554970864195_r8, 0.0092361278454320961_r8, & + 0.0094906652640123438_r8, 0.0096987633765961197_r8, 0.00979565429179894_r8, & + 0.009840503270306878_r8, 0.009826954516111111_r8, 0.0096817523599999986_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,56) / & + 0.0010547457624691357_r8, 0.0010650908483950618_r8, & + 0.0010541818212345682_r8, 0.00032844492197530865_r8, & + 0.00032492260049382719_r8, 0.00036799476790123458_r8, & + 0.0004240745634567901_r8, 0.00055281032888888882_r8, & + 0.0007010529140740741_r8, 0.00085442644000000001_r8, & + 0.00093723335209876539_r8, 0.0013282480162962961_r8, & + 0.0017739557353086417_r8, 0.0020097571308641976_r8, & + 0.0022212258488888887_r8, 0.0023936531925925924_r8, & + 0.0028734747338271601_r8, 0.0033391515195061727_r8, & + 0.003929200459753087_r8, 0.004361086996049382_r8, 0.0047413590419753083_r8, & + 0.005062195379753086_r8, 0.0053936726414814812_r8, & + 0.0056395972444444444_r8, 0.0059329021560493821_r8, & + 0.0061811934632098747_r8, 0.0064077869002469139_r8, & + 0.0069765170128395062_r8, 0.0073591210944444424_r8, & + 0.0077315985017901235_r8, 0.0081050431608024678_r8, & + 0.0083255816255185192_r8, 0.0085320813543104061_r8, & + 0.0086124266695238091_r8, 0.00878672215111111_r8, 0.008926561087407409_r8, & + 0.0090060312371428568_r8, 0.0090545239759999979_r8, & + 0.0091156293200000005_r8, 0.0091699202199999989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,56) / & + 0.00042938115802469137_r8, 0.00043117467604938264_r8, & + 0.00042951983209876544_r8, 0.00022595553629629631_r8, & + 0.00022757340049382716_r8, 0.00023843620296296297_r8, & + 0.00025915410962962964_r8, 0.00030745891209876542_r8, & + 0.00035299947802469134_r8, 0.00042045054765432087_r8, & + 0.00045848422370370372_r8, 0.00055714620493827155_r8, & + 0.00065456936444444459_r8, 0.0007505040888888888_r8, & + 0.00083509527407407409_r8, 0.00092040756444444435_r8, & + 0.0011486650903703701_r8, 0.0014006266380246913_r8, & + 0.0017305137703703705_r8, 0.0021133281743209872_r8, & + 0.0025672084187654321_r8, 0.003036148667654321_r8, & + 0.0035481610839506175_r8, 0.0040673660622222224_r8, & + 0.004585748240987654_r8, 0.0050564912528395069_r8, & + 0.0054936381590123453_r8, 0.006541477952592592_r8, & + 0.0071766421916049372_r8, 0.0075201378730864197_r8, & + 0.0077974767762962966_r8, 0.0080632225269135788_r8, & + 0.008314398254814814_r8, 0.0085152260488888885_r8, & + 0.0087193912656790135_r8, 0.0088783949590123448_r8, & + 0.0089765469828483255_r8, 0.0090429616288624348_r8, & + 0.0090851140899999988_r8, 0.0091437108199999995_r8, & + 0.0091942575200000005_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,56) / & + 0.00032494109037037029_r8, 0.00032331398123456787_r8, & + 0.00031132329629629638_r8, 0.00020229773925925921_r8, & + 0.00020262131209876542_r8, 0.00020296337481481478_r8, & + 0.00019726849283950619_r8, 0.00017287110074074073_r8, & + 0.00021585081876543207_r8, 0.00022841468987654321_r8, & + 0.00025064876641975309_r8, 0.0003300442962962963_r8, & + 0.00044281405333333328_r8, 0.00050340537876543195_r8, & + 0.00056471780938271608_r8, 0.00061885616790123468_r8, & + 0.0007550988232098763_r8, 0.00090176976888888872_r8, & + 0.0011365634661728394_r8, 0.0014769805832098766_r8, & + 0.0019422043669135799_r8, 0.0024698222390123451_r8, & + 0.0030269222192592588_r8, 0.0036006538434567906_r8, & + 0.0041763269046913576_r8, 0.0047285270676543202_r8, & + 0.0052511526730864184_r8, 0.006437093354567899_r8, & + 0.0074251646222222214_r8, 0.0080707109269135806_r8, & + 0.0085032630987654321_r8, 0.0087057549817283926_r8, & + 0.0087845495906172851_r8, 0.008797843811851851_r8, & + 0.0088163891580246914_r8, 0.0088865397496296315_r8, & + 0.0089670446720987659_r8, 0.0090467545298765408_r8, & + 0.0091010408074074078_r8, 0.0091409523615432094_r8, & + 0.0091730190902910031_r8, 0.0092013992348148142_r8, 0.00919407031_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,56) / & + 0.00024669193283950616_r8, 0.0002411634597530864_r8, & + 0.00023047631111111107_r8, 0.00017106833777777778_r8, & + 0.00017389728888888892_r8, 0.00017636568740740739_r8, & + 0.00017619003358024691_r8, 0.00011602397530864195_r8, & + 0.00014493289728395061_r8, 0.00017401747308641975_r8, & + 0.00019539177037037036_r8, 0.00027015558617283944_r8, & + 0.00037086994370370363_r8, 0.00040988358320987654_r8, & + 0.0004578000982716049_r8, 0.00050630828938271605_r8, & + 0.00059826769037037045_r8, 0.00072315756148148141_r8, & + 0.00093960930123456799_r8, 0.0012586983456790123_r8, & + 0.0017532378286419753_r8, 0.0023196474617283949_r8, & + 0.0029350922474074069_r8, 0.003553818986172839_r8, & + 0.0041776859106172834_r8, 0.0047708873748148143_r8, & + 0.0053249272804938262_r8, 0.0066183126345679003_r8, & + 0.0077121367511111105_r8, 0.0084255316577777784_r8, & + 0.0088862069318518533_r8, 0.0090921101970370365_r8, & + 0.0091145846419753099_r8, 0.0090394417837037031_r8, & + 0.0089680431254320972_r8, 0.0089724344711111115_r8, & + 0.0090213217046913579_r8, 0.0090784184434567899_r8, & + 0.0091151670730864175_r8, 0.0091401376513580261_r8, & + 0.0091679394919753059_r8, 0.0092125744501622558_r8, & + 0.0091972528799999995_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,56) / & + 0.00015813466913580239_r8, 0.00015555533135802469_r8, & + 0.00015300372839506171_r8, 0.00011339841283950619_r8, & + 0.0001151272162962963_r8, 0.00013318258074074073_r8, & + 0.00015513006419753088_r8, 0.00012876350024691355_r8, & + 0.00011152169037037035_r8, 0.0001027852237037037_r8, & + 0.00011325049382716049_r8, 0.00017599588987654322_r8, & + 0.00026392449777777773_r8, 0.00031209062617283955_r8, & + 0.00036446320148148155_r8, 0.0004218465333333332_r8, & + 0.00052070265827160482_r8, 0.00064326280493827144_r8, & + 0.00083212764888888869_r8, 0.0011329394503703702_r8, & + 0.0016156823920987656_r8, 0.0021894879758024692_r8, & + 0.0028773021382716051_r8, 0.0036043610637037037_r8, & + 0.0043458698276543205_r8, 0.0050020385664197517_r8, & + 0.005591708464197531_r8, 0.007079311481481481_r8, 0.0081560047274074066_r8, & + 0.0088298035634567888_r8, 0.0092053237111111089_r8, & + 0.0093893257175308633_r8, 0.0093812641313580237_r8, & + 0.0092994464276543211_r8, 0.009176784586666667_r8, & + 0.0091008559086419739_r8, 0.0090973243422222232_r8, & + 0.0090976109353086403_r8, 0.0091044152098765426_r8, & + 0.0091050149752469126_r8, 0.0091416771977213401_r8, & + 0.0092387136546666655_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,56) / & + 0.00012543532246913581_r8, 0.00013499458864197529_r8, & + 0.00012954007506172838_r8, 0.00012688677777777777_r8, & + 0.00012733053481481479_r8, 0.00018349353481481479_r8, & + 0.00019385711061728397_r8, 0.00018170001679012346_r8, & + 0.00015904067308641971_r8, 0.00013651075851851851_r8, & + 0.00011993458419753087_r8, 0.00013011326123456786_r8, & + 0.00017747507999999997_r8, 0.00023729907555555552_r8, & + 0.00030520314716049384_r8, 0.00037722121629629632_r8, & + 0.00047998795012345671_r8, 0.00059563288296296307_r8, & + 0.00077262722617283926_r8, 0.0010443082271604938_r8, & + 0.0015137754375308642_r8, 0.0021226193372839504_r8, & + 0.0029051294024691355_r8, 0.0036990384765432094_r8, & + 0.0045031169827160489_r8, 0.0052251928864197527_r8, & + 0.005883145898271604_r8, 0.0074168349328395059_r8, & + 0.0084515469140740741_r8, 0.0090813028641975289_r8, & + 0.0094252885274074064_r8, 0.0095901904913580256_r8, & + 0.0096083937748148145_r8, 0.0095691212770370356_r8, & + 0.0094806009930864191_r8, 0.0093603058562962953_r8, & + 0.0092651014819753082_r8, 0.0091971142059259266_r8, & + 0.0091442054241975303_r8, 0.0091126581949453264_r8, & + 0.0091192695144444429_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,56) / & + 0.00014864011753086418_r8, 0.00016534572098765433_r8, & + 0.00015287429925925925_r8, 0.0001534844651851852_r8, & + 0.00015719168543209877_r8, 0.00018074778814814813_r8, & + 0.00017095739851851852_r8, 0.00017488649728395061_r8, & + 0.00019001121629629627_r8, 0.00018059986913580246_r8, & + 0.00017015308888888888_r8, 0.00016110229432098763_r8, & + 0.00016767544543209875_r8, 0.00021636853530864196_r8, & + 0.00028748984543209872_r8, 0.0003790147343209877_r8, & + 0.00053344218320987649_r8, 0.00069202060938271606_r8, & + 0.00090067886617283964_r8, 0.0012392192607407406_r8, & + 0.0017909941565432098_r8, 0.0025263180567901234_r8, & + 0.0033448833812345681_r8, 0.0041432947402469137_r8, & + 0.0049490373353086418_r8, 0.0056549161071604934_r8, & + 0.0062992235901234558_r8, 0.0076623065338271585_r8, & + 0.008647179052839505_r8, 0.0091804455822222207_r8, & + 0.0094903359130864215_r8, 0.0096234630241975299_r8, & + 0.009647527598518519_r8, 0.0096248312750617272_r8, 0.009548589589841271_r8, & + 0.0094283855817283956_r8, 0.0093225051196737223_r8, & + 0.0092375364108306865_r8, 0.0091721745404166662_r8, & + 0.0091311053466666663_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,56) / & + 0.0001720903168904296_r8, 0.00018689878702663371_r8, & + 0.00017258457865544687_r8, 0.00013446827430617283_r8, & + 0.00013379956721232592_r8, 0.00013571846582945184_r8, & + 0.00012719971893827159_r8, 0.00011378681143270451_r8, & + 0.00013455549697058764_r8, 0.00014796840447615469_r8, & + 0.00016775825789116044_r8, 0.00016146853464613661_r8, & + 0.00018217907174107654_r8, 0.00024781897241680324_r8, & + 0.00033085494893970692_r8, 0.00044409904157160818_r8, & + 0.00075695704742039156_r8, 0.0010201369001813594_r8, & + 0.0012512672694734615_r8, 0.0018115759742670745_r8, & + 0.0025257454590884203_r8, 0.0034134686632809343_r8, & + 0.0042831367759395816_r8, 0.0051068482358587776_r8, & + 0.0059042378339390156_r8, 0.0065734779551795738_r8, & + 0.0071684528233744976_r8, 0.0083406188276308815_r8, & + 0.0091586317401416428_r8, 0.009629440299838499_r8, & + 0.0099188935574026395_r8, 0.010064691086675581_r8, 0.010107856614153756_r8, & + 0.010107720934453555_r8, 0.010042226404885187_r8, 0.0099374453335533131_r8, & + 0.0098003165949216448_r8, 0.0097102342385399186_r8, & + 0.0096730479977682211_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,56) / & + 0.0001640105586203918_r8, 0.00017184713680147492_r8, & + 0.00016090836855129546_r8, 0.00018071777833892345_r8, & + 0.00017886254702309136_r8, 0.00016528793100178434_r8, & + 0.0001582319692759967_r8, 0.00012217154419176296_r8, & + 0.00011363545256372675_r8, 0.00011278387097613169_r8, & + 0.00012230333658031932_r8, 0.0001323803853668609_r8, & + 0.00015045621835117033_r8, 0.00023256287642179423_r8, & + 0.00039094691383843297_r8, 0.0005762064606445299_r8, & + 0.0011171331126601219_r8, 0.0015725467802547093_r8, & + 0.0020890310131311141_r8, 0.0027682991216267322_r8, & + 0.0036006795719967341_r8, 0.00451488281990816_r8, 0.0053433500501256417_r8, & + 0.0060833541739936658_r8, 0.0067548769451925873_r8, 0.00733794674791809_r8, & + 0.0078435631776766161_r8, 0.0088436139599184591_r8, & + 0.0095300495467763348_r8, 0.0099580136477505406_r8, & + 0.010234906921638483_r8, 0.010404792379425674_r8, 0.010480164229200867_r8, & + 0.010546052458005025_r8, 0.010524555815990272_r8, 0.01046767255558113_r8, & + 0.010302222672009562_r8, 0.010240297614121459_r8, 0.010175631810410545_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,56) / & + 0.00016285073106828642_r8, 0.00016513694957281976_r8, & + 0.00014958854687300741_r8, 0.00016257553810014816_r8, & + 0.00016295657451757036_r8, 0.00014874179927873581_r8, & + 0.00016259670679000495_r8, 0.00013828446648948148_r8, & + 0.00015018127018899752_r8, 0.00014026373899109137_r8, & + 0.00013999913036788145_r8, 0.00013962867829538767_r8, & + 0.0001423171019072_r8, 0.00023392460726245925_r8, & + 0.00050496851218880001_r8, 0.00084042874034935306_r8, & + 0.0016040574738982718_r8, 0.0023273810219598618_r8, & + 0.0032148783442057876_r8, 0.0040152982607258086_r8, & + 0.0048476617302397242_r8, 0.0056805861700348443_r8, & + 0.0063503846857935406_r8, 0.0069508769109611068_r8, & + 0.007482475634989748_r8, 0.0079510035706331986_r8, & + 0.0083636370927590731_r8, 0.0092206017929912891_r8, & + 0.0098399511626857464_r8, 0.010266606862773989_r8, 0.010535008196982797_r8, & + 0.010739796975551009_r8, 0.010860226710580781_r8, 0.011010379100628617_r8, & + 0.011015878726253411_r8, 0.010969974951516206_r8, 0.010787481188310095_r8, & + 0.010734224544753599_r8, 0.010728651887148799_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,56) / & + 0.00017878743029717863_r8, 0.00018333212558854323_r8, & + 0.00015229141551597035_r8, 0.00016033287878637037_r8, & + 0.00016502097465731687_r8, 0.00016306852061224037_r8, & + 0.00017704456171456791_r8, 0.00016291408921884445_r8, & + 0.00017680188381066008_r8, 0.00018304532442937942_r8, & + 0.00019555426729444614_r8, 0.00020119101315339591_r8, & + 0.00026245615307630618_r8, 0.00048318273749428149_r8, & + 0.0008985370008463276_r8, 0.0013730274570551838_r8, & + 0.0022002171541526125_r8, 0.0029473010813328327_r8, & + 0.0038902591694081052_r8, 0.0047381647348482105_r8, & + 0.005555702469858397_r8, 0.0063480458261174263_r8, & + 0.0069831669930856292_r8, 0.0075730949158579076_r8, & + 0.0081163514653831911_r8, 0.00861180046783863_r8, 0.0090423496772194488_r8, & + 0.0099149642656028974_r8, 0.010563535146271447_r8, 0.011055115878696902_r8, & + 0.011384789477621678_r8, 0.011626990692789675_r8, 0.011717448881471314_r8, & + 0.011868507367168993_r8, 0.011897246734313855_r8, 0.011919051895520665_r8, & + 0.012074102156967276_r8, 0.011953784067436088_r8, 0.011472264225124266_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,56) / & + 0.00018976539215499589_r8, 0.0002040086999851852_r8, & + 0.00017176901288204114_r8, 0.00018734368550538271_r8, & + 0.00018790607235766256_r8, 0.00018287902253524279_r8, & + 0.00020443335944506994_r8, 0.00021121643352052676_r8, & + 0.00024230839235371191_r8, 0.00028483172475568731_r8, & + 0.00037078509489290532_r8, 0.00050269350495927569_r8, & + 0.00085630858493359675_r8, 0.0013375395712446421_r8, & + 0.0018158668050326913_r8, 0.0022330086447492343_r8, & + 0.0029174678758218929_r8, 0.0035698251471838025_r8, & + 0.0044679225184266012_r8, 0.005366892163154567_r8, & + 0.0062263455235478512_r8, 0.0070071221110354562_r8, & + 0.0077109090861742216_r8, 0.0083680294298564602_r8, & + 0.0089710243429877764_r8, 0.0095134177688049291_r8, & + 0.0099821772528025359_r8, 0.010894513627894512_r8, 0.011569455322288535_r8, & + 0.012043339208060028_r8, 0.012415421440849464_r8, 0.012620963587783904_r8, & + 0.012658956467791695_r8, 0.012696542314166606_r8, 0.012676684442610662_r8, & + 0.012696049610816426_r8, 0.012841066225453999_r8, 0.012440104485023201_r8, & + 0.011945316245455334_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,56) / & + 0.00021043036797534811_r8, 0.00023421825238779259_r8, & + 0.0002211498206504296_r8, 0.00023474289745754076_r8, & + 0.00023403939611401484_r8, 0.0002311657719819852_r8, & + 0.00024684550531650374_r8, 0.00028626542805712594_r8, & + 0.00038313398593517044_r8, 0.00056333764364207401_r8, & + 0.00091517178166613329_r8, 0.0013461438589610667_r8, & + 0.0019245292771036448_r8, 0.0023510418713057189_r8, & + 0.0027017074816744297_r8, 0.0030173649573890372_r8, & + 0.0036190613098806518_r8, 0.0042834169769524156_r8, & + 0.0051232306486001782_r8, 0.0060404056205326214_r8, & + 0.0069662014648611565_r8, 0.0077863647938965323_r8, & + 0.0086216593636935131_r8, 0.0093601688418735417_r8, 0.01002302211624557_r8, & + 0.01059825072115597_r8, 0.011120435026670728_r8, 0.012129864064617748_r8, & + 0.012841010023378724_r8, 0.013302420457532741_r8, 0.013660753040170726_r8, & + 0.01383058303399852_r8, 0.013876511834635702_r8, 0.013878825042443229_r8, & + 0.01388458911171399_r8, 0.013906596950354073_r8, 0.013705125578301908_r8, & + 0.013480958963330771_r8, 0.01333866244496695_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,56) / & + 0.00025180820790323614_r8, 0.00028039578741121312_r8, & + 0.00028862198402428315_r8, 0.00031584883928047409_r8, & + 0.00032000523335865678_r8, 0.00032667278219240825_r8, & + 0.00036163102524283778_r8, 0.00046638205218941891_r8, & + 0.00066990928959519342_r8, 0.0011125528887011818_r8, & + 0.0016024259895646158_r8, 0.0020082434423290864_r8, & + 0.0023552033860935765_r8, 0.0026258143291124011_r8, & + 0.002947860648848737_r8, 0.0033837377373572078_r8, & + 0.0042033266946488622_r8, 0.0050104093590445566_r8, & + 0.0058945090160913366_r8, 0.0067847319322711574_r8, & + 0.0077112614455327206_r8, 0.0085547496687739272_r8, & + 0.0094967295874034963_r8, 0.010329195944205236_r8, 0.011040223846645308_r8, & + 0.011663645847711302_r8, 0.012260583206749352_r8, 0.013406337767194113_r8, & + 0.014145903768260276_r8, 0.0145868402769413_r8, 0.014820031303036009_r8, & + 0.014934789838343454_r8, 0.014923384495069391_r8, 0.014896714299734388_r8, & + 0.014859764451188162_r8, 0.014705198546405743_r8, 0.014450834341697728_r8, & + 0.014235980621173396_r8, 0.013967670980955724_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,56) / & + 0.00026827894160771687_r8, 0.00029488638871155877_r8, & + 0.00030143571697266832_r8, 0.00037092780666295308_r8, & + 0.0003785152867619292_r8, 0.00038615403361833071_r8, & + 0.00043571617135944687_r8, 0.00056330631390219576_r8, & + 0.00080581089321423523_r8, 0.001340305289443292_r8, & + 0.0019912264917856916_r8, 0.002388915545824764_r8, & + 0.0027349533417576296_r8, 0.0029708957761192031_r8, & + 0.0032507225548370172_r8, 0.0036892583978548662_r8, & + 0.0046755410938962693_r8, 0.0056323838544860708_r8, & + 0.0066083747489743003_r8, 0.0074986860751151407_r8, & + 0.0084135157279947321_r8, 0.0092831921842718001_r8, & + 0.010263451036315705_r8, 0.011160516757747357_r8, 0.011855053153969513_r8, & + 0.012556882246435449_r8, 0.013193576923592265_r8, 0.014348206834329701_r8, & + 0.015125667210687629_r8, 0.015663481129459984_r8, 0.015918302547243506_r8, & + 0.016005481668245593_r8, 0.016019759460188601_r8, 0.015953997027101024_r8, & + 0.015789379469007693_r8, 0.015464989061397755_r8, 0.015188225471436112_r8, & + 0.015035588084849208_r8, 0.014868929697845331_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,56) / & + 0.00024975853285463703_r8, 0.00026056800682184688_r8, & + 0.00026436127007905185_r8, 0.00036356969372902713_r8, & + 0.00037292022028961977_r8, 0.00038557327325246417_r8, & + 0.00047561685455723459_r8, 0.00070683349218959_r8, & + 0.0011136941344204246_r8, 0.0017868922573083654_r8, & + 0.0025242177502962566_r8, 0.0029876192361126316_r8, & + 0.0034177434578998907_r8, 0.0036799560963437427_r8, & + 0.0039163453656904683_r8, 0.0042378841109506757_r8, & + 0.0052114927680193572_r8, 0.0064176974311775607_r8, & + 0.0074890290381731152_r8, 0.008436880641935882_r8, & + 0.0093148221386051954_r8, 0.01016337247661029_r8, 0.011047441552387394_r8, & + 0.011921616312115991_r8, 0.012652111278609265_r8, 0.013399450456069849_r8, & + 0.014043390051875989_r8, 0.015168835344498805_r8, 0.01604310294633509_r8, & + 0.016555591380805014_r8, 0.016849940651669174_r8, 0.016969229496897501_r8, & + 0.01704603644627678_r8, 0.016943790759389392_r8, 0.016690225700119306_r8, & + 0.016225046951098509_r8, 0.015850681046560511_r8, 0.015651441883449559_r8, & + 0.01551857156418145_r8, 0.015416891266782551_r8, 0.015295341242547654_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,56) / & + 0.00024571764700747321_r8, 0.00024388055697237865_r8, & + 0.00024050798869899593_r8, 0.0004354314671988148_r8, & + 0.00034116407106962965_r8, 0.00040935575640217286_r8, & + 0.00080212286397998353_r8, 0.0016045199205025188_r8, & + 0.0023800049789736294_r8, 0.0029248255610233409_r8, & + 0.0032672234985344525_r8, 0.0035608014538442792_r8, & + 0.0038946445840277863_r8, 0.004205633765789629_r8, & + 0.0044403700014679177_r8, 0.0047611615666259752_r8, & + 0.0057848182953603947_r8, 0.0070566604039852526_r8, & + 0.0082352085000069793_r8, 0.0091812139006908298_r8, & + 0.010090175888875983_r8, 0.010978066180166059_r8, 0.011856469409483854_r8, & + 0.012637246384026206_r8, 0.013386573473937909_r8, 0.014048981527860806_r8, & + 0.014711279904766682_r8, 0.015880752227629955_r8, 0.016825098763431374_r8, & + 0.017306772802931497_r8, 0.017614649899335377_r8, 0.017766840470078551_r8, & + 0.017891885979109137_r8, 0.017811835466311241_r8, 0.017608302341975312_r8, & + 0.017052856798901728_r8, 0.016576008548150521_r8, 0.016239135590371819_r8, & + 0.016100682066010466_r8, 0.016008849842399815_r8, 0.015817512949245431_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,56) / & + 0.0002670689073844411_r8, 0.00025404529905232592_r8, & + 0.00023159373077544034_r8, 0.00036825668168657125_r8, & + 0.00027502463334384196_r8, 0.00030984862953623704_r8, & + 0.00046205497386982711_r8, 0.00093536404407012358_r8, & + 0.0014833182085478586_r8, 0.0021798122884917727_r8, & + 0.0027326503060940508_r8, 0.0031710362874298602_r8, & + 0.0037781912454346671_r8, 0.0044235251943869893_r8, & + 0.0048426871973369159_r8, 0.0052840176466434638_r8, & + 0.0065113087026971526_r8, 0.0077946862111550157_r8, & + 0.0089245267022540504_r8, 0.009936347820891301_r8, 0.010950702880714905_r8, & + 0.011852686850385975_r8, 0.01276780767715727_r8, 0.013480708672380446_r8, & + 0.014159691661556067_r8, 0.01478582994431454_r8, 0.015255755707567683_r8, & + 0.01651159960927993_r8, 0.017495051911506788_r8, 0.018016166117943554_r8, & + 0.018332002776093367_r8, 0.018508812415297848_r8, 0.018649170107268413_r8, & + 0.018625118900142037_r8, 0.018470817453598496_r8, 0.018010149777137961_r8, & + 0.017425177421585791_r8, 0.016916973574713036_r8, 0.016716962094142977_r8, & + 0.016587820074813697_r8, 0.016595948707374401_r8, 0.016507083814651734_r8, & + 0.016523136827530666_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,56) / & + 0.00027699605356468145_r8, 0.00026201382197854812_r8, & + 0.00023022403819393576_r8, 0.00027090678400189624_r8, & + 0.00026497814265299751_r8, 0.00025421605232260738_r8, & + 0.00027479106626496788_r8, 0.00033857506974277528_r8, & + 0.00045587747357455808_r8, 0.00077349786268760489_r8, & + 0.0011887802058435949_r8, 0.0016063551516886914_r8, & + 0.0026764749151649185_r8, 0.0040817527481976099_r8, & + 0.0049940771953777777_r8, 0.0057335218767214612_r8, & + 0.0075261619488237045_r8, 0.0090155359531083838_r8, & + 0.010053398650723239_r8, 0.011135098248164187_r8, 0.012056286452237905_r8, & + 0.012942224064646003_r8, 0.013770715186742362_r8, 0.014470893571073265_r8, & + 0.015136843543281462_r8, 0.015799522540952338_r8, 0.016287627875258469_r8, & + 0.01750359805694356_r8, 0.018410826208974062_r8, 0.018924734275456316_r8, & + 0.019248283305918257_r8, 0.019417176571537385_r8, 0.019502718396714351_r8, & + 0.01942192240512948_r8, 0.019216186868270771_r8, 0.018836315744994291_r8, & + 0.01830936758805744_r8, 0.01781388795847743_r8, 0.017479591440249995_r8, & + 0.017212919400068735_r8, 0.017132371652087149_r8, 0.01707110215813289_r8, & + 0.017119836262781869_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,56) / & + 0.00027857266438232757_r8, 0.00027420844458486259_r8, & + 0.00025313979728675554_r8, 0.00028781277112592595_r8, & + 0.00029369694333561159_r8, 0.00028055913684186341_r8, & + 0.00028075477428106009_r8, 0.00028684963296372678_r8, & + 0.00030687989693071278_r8, 0.00038718154120406914_r8, & + 0.00047264500406546183_r8, 0.00062862823924037545_r8, & + 0.0013402218017339392_r8, 0.0026676669737849554_r8, & + 0.0038372176833704431_r8, 0.0050183862470374587_r8, & + 0.0077125244712491076_r8, 0.0099819037168971322_r8, & + 0.011272990423325129_r8, 0.012371283957941664_r8, 0.013133878695930431_r8, & + 0.013902493047432941_r8, 0.014598285124452926_r8, 0.015257809030052595_r8, & + 0.015901952823124652_r8, 0.016560152413751299_r8, 0.0171075309195899_r8, & + 0.018388700312754001_r8, 0.019368166676609212_r8, 0.019961279196118491_r8, & + 0.020322832232787795_r8, 0.020437581115393556_r8, 0.020391079600999874_r8, & + 0.02019616451542482_r8, 0.019951136147347833_r8, 0.019636205017342489_r8, & + 0.0192662696688553_r8, 0.018875852585387591_r8, 0.018415878867768559_r8, & + 0.017910340438108928_r8, 0.017688500749964423_r8, 0.017668345202791189_r8, & + 0.017654367660212271_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,56) / & + 0.00031635618250987983_r8, 0.00031480663224288402_r8, & + 0.00030039581475982218_r8, 0.00029960554412365433_r8, & + 0.00031582933541910119_r8, 0.00032066393225212836_r8, & + 0.00033399006454829297_r8, 0.00033433096560703214_r8, & + 0.00033837529180389135_r8, 0.00034962502674228151_r8, & + 0.00039102900987641152_r8, 0.00052903195665506496_r8, & + 0.0010598923826251854_r8, 0.0020099836333310425_r8, & + 0.0030245981571546073_r8, 0.0042777039625715094_r8, & + 0.0073811277418081968_r8, 0.010216820225913338_r8, 0.012134512645342103_r8, & + 0.013243293338891009_r8, 0.014095468508225397_r8, 0.014864277873195402_r8, & + 0.015446381926495079_r8, 0.016071284558169176_r8, 0.016697829713126291_r8, & + 0.017363857408886466_r8, 0.017934959655290468_r8, 0.019259840629074619_r8, & + 0.020258572262661471_r8, 0.020930519240441571_r8, 0.021300102474622759_r8, & + 0.021360596917046282_r8, 0.021230000820543868_r8, 0.020987821609315081_r8, & + 0.020729775003352258_r8, 0.020471511460352049_r8, 0.020196094395896202_r8, & + 0.019983062225189609_r8, 0.019619119353980283_r8, 0.018941904569385375_r8, & + 0.018257383433917255_r8, 0.018217876543038577_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,56) / & + 0.00042003906654577771_r8, 0.00041739269926755553_r8, & + 0.00040306086683911119_r8, 0.00034362919688000001_r8, & + 0.0003605755126435555_r8, 0.00036846678856355562_r8, & + 0.00040245507191999993_r8, 0.00040687099804088891_r8, & + 0.00042490136787022228_r8, 0.0004800924733955555_r8, & + 0.00062600933904355556_r8, 0.00083920132465599992_r8, & + 0.001530222023703111_r8, 0.0024036188773457778_r8, & + 0.0033035272296853334_r8, 0.004494009897568001_r8, & + 0.0074533499613688887_r8, 0.010389637934300444_r8, 0.012577848891987554_r8, & + 0.014108692652581332_r8, 0.015291188392714665_r8, 0.016218724181759996_r8, & + 0.016742417947360002_r8, 0.017410338729623113_r8, 0.017989159832862225_r8, & + 0.018621051759409774_r8, 0.019226623490919113_r8, 0.02056410707851555_r8, & + 0.021556175968417773_r8, 0.022150763681525333_r8, 0.022378510687168_r8, & + 0.022384329506785774_r8, 0.022190124409295998_r8, 0.021938097780974219_r8, & + 0.021679550886286224_r8, 0.021462644421301334_r8, 0.021245337414281112_r8, & + 0.021055113824187337_r8, 0.020821103616469779_r8, 0.020130800306142668_r8, & + 0.020115866664287999_r8, 0.020086812421128_r8, 0.019855024125695998_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,56) / & + 0.00056618784036092831_r8, 0.00056315597887931503_r8, & + 0.00054470259494257772_r8, 0.00049924106115882137_r8, & + 0.0004798207592360558_r8, 0.00048729388807722127_r8, & + 0.00048621225100810539_r8, 0.00053326346351465338_r8, & + 0.00064203354272258104_r8, 0.00081448910148482624_r8, & + 0.0011037942405924871_r8, 0.0014632910701096035_r8, & + 0.0022239277563048023_r8, 0.0030887621468248488_r8, & + 0.0040315071832021324_r8, 0.0052441206683238708_r8, & + 0.0081897789532165786_r8, 0.011101398447313011_r8, 0.013253544834485567_r8, & + 0.014968005142796273_r8, 0.016327164062342792_r8, 0.017315682012872213_r8, & + 0.017994376496861648_r8, 0.018818534778206757_r8, 0.019372054354106678_r8, & + 0.019994602041144727_r8, 0.020625196452439383_r8, 0.022000596316463086_r8, & + 0.022976790159780755_r8, 0.023422637681982307_r8, 0.023472901028815326_r8, & + 0.023342268770058901_r8, 0.022966055731291811_r8, 0.022661738780740057_r8, & + 0.022394787474394121_r8, 0.022244259648942138_r8, 0.022093895707894565_r8, & + 0.021917375815902914_r8, 0.021659061217669473_r8, 0.021229958584488673_r8, & + 0.020940030860234684_r8, 0.020691106779843878_r8, 0.020411081478075729_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,56) / & + 0.00074167876529925285_r8, 0.00073789091070073428_r8, & + 0.00069176325914544205_r8, 0.0008396747724902585_r8, & + 0.00086245240480934988_r8, 0.00085824367747766258_r8, & + 0.0007261569788999903_r8, 0.0008980414031260971_r8, & + 0.0011582754314989829_r8, 0.0014449402675148642_r8, & + 0.0019681692493902225_r8, 0.0023097327247206321_r8, & + 0.002983263777065205_r8, 0.0039316415590782824_r8, & + 0.0051020886300205031_r8, 0.0064717936877541262_r8, & + 0.0093640816148175803_r8, 0.01195694384459548_r8, 0.013949793071058713_r8, & + 0.01575446168106755_r8, 0.017170008196897908_r8, 0.018319546310456309_r8, & + 0.019180702427247506_r8, 0.02002498996489329_r8, 0.020672426907781399_r8, & + 0.021325099507470129_r8, 0.021937620848414562_r8, 0.023099482115600149_r8, & + 0.02385329885052398_r8, 0.024198515501178301_r8, 0.024071647624491922_r8, & + 0.023939106383362423_r8, 0.023577341016839913_r8, 0.02333961526223689_r8, & + 0.023132209179331346_r8, 0.022921099416373911_r8, 0.022876537411386011_r8, & + 0.022684669949789047_r8, 0.022382468596828249_r8, 0.022135029099543693_r8, & + 0.021888301779048332_r8, 0.021448825148330675_r8, 0.020999411351634845_r8, & + 0.020923502745480535_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,56) / & + 0.0010474243334502717_r8, 0.0010343250487653136_r8, & + 0.00095538371309131839_r8, 0.0013747336367920986_r8, & + 0.0014307944277129482_r8, 0.0014271307755319308_r8, & + 0.0013070251969561283_r8, 0.0016154113911554368_r8, & + 0.0018778636820663305_r8, 0.0024378494616591798_r8, & + 0.0030281986227711204_r8, 0.0035049745662715254_r8, & + 0.0044344189306661126_r8, 0.0055967471478502711_r8, & + 0.0070249148060749431_r8, 0.0085843172504441682_r8, & + 0.011312476584692543_r8, 0.013723850974930408_r8, 0.015552739231142951_r8, & + 0.017226648087547178_r8, 0.018542175722583779_r8, 0.019700062625567366_r8, & + 0.02058143019577521_r8, 0.021642316722852894_r8, 0.022409005067243609_r8, & + 0.023047638399080847_r8, 0.023583931409144571_r8, 0.024527995819506803_r8, & + 0.025031281397184947_r8, 0.025186865645230695_r8, 0.024897419841552113_r8, & + 0.0247919861530786_r8, 0.024521618990946441_r8, 0.024581257027157251_r8, & + 0.024445122970289498_r8, 0.024232320078982676_r8, 0.024165795413554254_r8, & + 0.023730863117996229_r8, 0.023547705492880728_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,56) / & + 0.0015151990914611356_r8, 0.0014898305422639802_r8, & + 0.0014032477370376295_r8, 0.0017816131776490136_r8, & + 0.001855715578518413_r8, 0.0019363063714256589_r8, & + 0.0021561671311343404_r8, 0.0024725914739855137_r8, & + 0.0029283921507207104_r8, 0.0038523143579241737_r8, & + 0.0045975044106861835_r8, 0.0053588268043073184_r8, & + 0.0067046008610534185_r8, 0.0081851065557438808_r8, & + 0.0097126796844793795_r8, 0.011217933453718569_r8, 0.013689727174584677_r8, & + 0.015747433842937045_r8, 0.017336628968184994_r8, 0.018772336393258957_r8, & + 0.019955865193364685_r8, 0.021004041880877632_r8, 0.02180952434161974_r8, & + 0.022775142445197561_r8, 0.023471722741217012_r8, 0.02406824706821567_r8, & + 0.024562854002248266_r8, 0.025368602380696843_r8, 0.025785685439370133_r8, & + 0.025849363866145947_r8, 0.025651219719132239_r8, 0.025564069622798766_r8, & + 0.02550932603096032_r8, 0.02552139869483401_r8, 0.025374665304404343_r8, & + 0.025160672462085081_r8, 0.025163639660493099_r8, 0.025243940159904121_r8, & + 0.024987422644358662_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,35,56) / & + 0.0023967560946452017_r8, 0.00240188125175256_r8, 0.0023369262464273907_r8, & + 0.0022668279096788803_r8, 0.0025258846097082474_r8, & + 0.0028274692091390941_r8, 0.0033751158726710783_r8, & + 0.0036786996468601151_r8, 0.0046152039751759018_r8, & + 0.0059340595631533818_r8, 0.006982753944035555_r8, & + 0.0081335334577972672_r8, 0.009404317979998288_r8, 0.010737004222439242_r8, & + 0.011967496286104756_r8, 0.013161639717803193_r8, 0.015204850843620606_r8, & + 0.016903422415442172_r8, 0.018327634513176226_r8, 0.01957788205831585_r8, & + 0.020623196016425087_r8, 0.021541944038024952_r8, 0.022266681236500541_r8, & + 0.022968936806104494_r8, 0.023751032145824132_r8, 0.024395220775860676_r8, & + 0.024846434518783999_r8, 0.025516975906996673_r8, 0.025919082648132481_r8, & + 0.026051446191440595_r8, 0.026032708471661566_r8, 0.025934149156082824_r8, & + 0.025951819134797823_r8, 0.02596126296374077_r8, 0.02596381353426425_r8, & + 0.025647128739490207_r8, 0.025700645544326321_r8, 0.025844715618917331_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,56) / & + 0.0031657010148169085_r8, 0.0032745208815921382_r8, & + 0.0033224135402755558_r8, 0.0034045870639030518_r8, & + 0.0038647811411588744_r8, 0.004201984934354054_r8, 0.00452377071767759_r8, & + 0.0048068625100430619_r8, 0.0060415508923608498_r8, & + 0.0074742340801921582_r8, 0.0084149561317808982_r8, & + 0.0096552679911291669_r8, 0.010633883339926598_r8, 0.011855574414405727_r8, & + 0.012995240931536317_r8, 0.013984395644569679_r8, 0.015808376005641007_r8, & + 0.0174329836231185_r8, 0.018791425741676564_r8, 0.019970922117642228_r8, & + 0.020962180979365811_r8, 0.021787044507498788_r8, 0.022497613658105004_r8, & + 0.023156528751484245_r8, 0.024021408346300999_r8, 0.024681161374999348_r8, & + 0.025120537414771476_r8, 0.025853041849953538_r8, 0.02623504725154386_r8, & + 0.026379842474686263_r8, 0.026422963557246958_r8, 0.026352374489406184_r8, & + 0.026282747052098283_r8, 0.026314043138233437_r8, 0.026278825049285214_r8, & + 0.025946278354287491_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,56) / & + 0.0036353343404833421_r8, 0.0038076526033716928_r8, & + 0.0039340378519648923_r8, 0.0042774098102336434_r8, & + 0.0046904504493421205_r8, 0.0049285670810446588_r8, & + 0.0052700850893724381_r8, 0.005464372914426331_r8, & + 0.0060810109652344466_r8, 0.0072383249665198676_r8, & + 0.0082131927245011026_r8, 0.0094045609771871447_r8, & + 0.010687401383478781_r8, 0.011947396019197516_r8, 0.013221211417605697_r8, & + 0.014271729934902866_r8, 0.016111019881632414_r8, 0.017915048211214656_r8, & + 0.019295766346913462_r8, 0.020468686010131781_r8, 0.021463425455684186_r8, & + 0.022328239272205164_r8, 0.023082105369746107_r8, 0.023749280972339137_r8, & + 0.024605831585861486_r8, 0.025272926288820729_r8, 0.025697900236788942_r8, & + 0.02651746582581389_r8, 0.026898622816069719_r8, 0.026997254178681537_r8, & + 0.027036561186102256_r8, 0.026959945147064984_r8, 0.026820570195656701_r8, & + 0.026692753268695867_r8, 0.026451485555398883_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,56) / & + 0.0038055857030396445_r8, 0.0042265552415594659_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,56) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,56) / & + 0.0026014166238505941_r8, 0.002309923167860444_r8, & + 0.0026403406249961479_r8, 0.0029602976027354069_r8, & + 0.0032418754007432094_r8, 0.0034529518560370365_r8, & + 0.0048675916793537773_r8, 0.0046473976847357023_r8, & + 0.0075569706945198987_r8, 0.0059156510180301226_r8, & + 0.0058167552249107149_r8, 0.0042443289763399502_r8, & + 0.0038938637725659249_r8, 0.0039646842893777765_r8, & + 0.0040401117530740735_r8, 0.0037453875955254308_r8, & + 0.0031975222454439503_r8, 0.0029904204109916037_r8, & + 0.0029447724928424682_r8, 0.0029193288973041972_r8, & + 0.0029473620185422214_r8, 0.002918335242093827_r8, & + 0.0031275448300227154_r8, 0.0031351327425382714_r8, & + 0.0033090525151170361_r8, 0.0033881836027792591_r8, & + 0.0035926959115318508_r8, 0.003883144340599505_r8, & + 0.0037468630229590119_r8, 0.0037952209098637037_r8, & + 0.0038340637953599996_r8, 0.0037745528814879998_r8, & + 0.0039836540706666658_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,56) / & + 0.0027569470489196509_r8, 0.0022590999932973299_r8, & + 0.0027326961449633184_r8, 0.0030339287898406976_r8, & + 0.0030695188536673974_r8, 0.0029963109200517785_r8, & + 0.0038933874474603451_r8, 0.0038955807886031529_r8, & + 0.0066973051038722101_r8, 0.0060658711575143232_r8, & + 0.0057642660584806193_r8, 0.0044510340870705517_r8, & + 0.0040084757817650564_r8, 0.0037823133412849251_r8, & + 0.0042844643116025675_r8, 0.0038547349827927437_r8, & + 0.0033750967970352461_r8, 0.0031019637490629004_r8, & + 0.0030232103868975402_r8, 0.0029804195427152063_r8, & + 0.0029959384658954538_r8, 0.0029750810331412008_r8, & + 0.0031135098279090035_r8, 0.0031662327829266963_r8, & + 0.0033941747265981625_r8, 0.0034907645044720192_r8, & + 0.0036116051863022084_r8, 0.0039353506157397316_r8, & + 0.0040807318880922861_r8, 0.0041067622952399539_r8, & + 0.0041280335659456789_r8, 0.0040689892362192328_r8, & + 0.0041336033813747031_r8, 0.0047376310571955417_r8, & + 0.0045611418816292812_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,56) / & + 0.0029199749332208189_r8, 0.0025127843605913282_r8, & + 0.0029875274826888687_r8, 0.0034047763529047696_r8, & + 0.003392970639212246_r8, 0.003378138912262795_r8, 0.0035186993590423693_r8, & + 0.0036078175804541614_r8, 0.0068603556326019173_r8, & + 0.0070623739824306553_r8, 0.0062286007803843144_r8, & + 0.0044421022213608288_r8, 0.0036396972694144789_r8, & + 0.0030442119563749924_r8, 0.0037138559041617384_r8, & + 0.0035205320149585377_r8, 0.0031969616959923348_r8, & + 0.0029137950469918811_r8, 0.002868873667093254_r8, & + 0.0028519535647974709_r8, 0.0028518257050823897_r8, & + 0.0028541271799538566_r8, 0.0028714734812999112_r8, & + 0.0029428192023153773_r8, 0.0031582628222276733_r8, 0.00332733598547042_r8, & + 0.0034313711736417177_r8, 0.0037658095683898471_r8, & + 0.0040724597850602656_r8, 0.0042252095246776084_r8, & + 0.0042600726069898266_r8, 0.0042252095246776084_r8, & + 0.0042523157842748833_r8, 0.0046367899475248985_r8, & + 0.0043853325078646518_r8, 0.0044004647051445449_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,56) / & + 0.0028508602490292675_r8, 0.0026928031713044543_r8, & + 0.002850728680984546_r8, 0.0037876247274427001_r8, & + 0.0039985283031304429_r8, 0.00395054982282219_r8, 0.004623520371570042_r8, & + 0.0053192960480695313_r8, 0.0065077063400193038_r8, & + 0.0071644501632515687_r8, 0.0056907126383168782_r8, & + 0.0039063429597959373_r8, 0.0027526227756375964_r8, & + 0.0026146517527401878_r8, 0.0029765954437676245_r8, & + 0.0030786045344412967_r8, 0.0028427907422863804_r8, & + 0.0026828478559205661_r8, 0.002658595479676997_r8, & + 0.0027085036246411584_r8, 0.0027156960110859057_r8, & + 0.0027522719275183401_r8, 0.0027809099052526092_r8, & + 0.0028491937204628017_r8, 0.0031058829757134483_r8, & + 0.0032548180023376058_r8, 0.0033352499336770378_r8, & + 0.0036050082813699684_r8, 0.0039149387387177092_r8, & + 0.0042075460701771856_r8, 0.0041657951439857252_r8, & + 0.0040759615794506068_r8, 0.0040827067911719276_r8, & + 0.0042611149393570833_r8, 0.0041753118992205428_r8, & + 0.0042276759810194967_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,56) / & + 0.0026311705734363916_r8, 0.0029949287440917596_r8, & + 0.0027387152910529847_r8, 0.0038737291640623147_r8, & + 0.0041235846275061465_r8, 0.0039096675875174196_r8, & + 0.0049038587548174755_r8, 0.0053134756163810502_r8, & + 0.0054700354736409301_r8, 0.0046167121041749337_r8, & + 0.0036018236515977221_r8, 0.0030551718228069673_r8, & + 0.002576564010319539_r8, 0.0026461411588656197_r8, & + 0.0028343105956010672_r8, 0.0028398569269498467_r8, & + 0.0026620586789153711_r8, 0.0026248576759662352_r8, & + 0.0026392420637732354_r8, 0.0027288401157246683_r8, & + 0.0027877755228210574_r8, 0.0028572624871175643_r8, & + 0.0029358580606210112_r8, 0.0030456573844769444_r8, & + 0.0033316316398750287_r8, 0.0034452637943378438_r8, & + 0.0035623680424092443_r8, 0.0037829587168664233_r8, & + 0.0041690342684252164_r8, 0.0043360812655640893_r8, & + 0.0041648890138108845_r8, 0.0040864963548689782_r8, & + 0.0040639728385379551_r8, 0.0040623495220456296_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,56) / & + 0.0024811549358079994_r8, 0.0033395244677119997_r8, & + 0.0030210178543786663_r8, 0.0035727871292586654_r8, & + 0.0035778832350720001_r8, 0.0038861049803093329_r8, & + 0.004968193557418666_r8, 0.0039952079729493328_r8, & + 0.0031762637687466665_r8, 0.0027302155253759999_r8, & + 0.0025515275242666666_r8, 0.0024895403462826663_r8, & + 0.0024297769235626663_r8, 0.0025178005694293333_r8, & + 0.0025470800137386662_r8, 0.0025910918366719988_r8, & + 0.0025716803063466657_r8, 0.002583864632064_r8, 0.0026543298769920007_r8, & + 0.0027698261660159987_r8, 0.0028695245270186662_r8, & + 0.002987707853653333_r8, 0.0031220134059520002_r8, 0.003272672825088_r8, & + 0.0034792967517013325_r8, 0.0036272228049919995_r8, & + 0.0038293065646079981_r8, 0.0041616189918719992_r8, & + 0.0042990285358933339_r8, 0.0042654868939946662_r8, & + 0.0042006736936960002_r8, 0.0041996081442986673_r8, & + 0.0042031754183680008_r8, 0.0041999324419413316_r8, & + 0.0042304759852251428_r8, 0.0042529319423999989_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,57) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,57) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,57) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,57) / & + 0.0035078201354497348_r8, 0.0038498696444444454_r8, & + 0.0041182832201058202_r8, 0.0044437988173544971_r8, & + 0.0045444999678306876_r8, 0.0047675631591534394_r8, & + 0.0051008742204232804_r8, 0.0054058042456931205_r8, & + 0.0055326280258201068_r8, 0.0057216106766984128_r8, & + 0.0057336182666666664_r8, 0.0059101392690370366_r8, & + 0.0060562157651851845_r8, 0.0062875185737777776_r8, & + 0.006520174841333333_r8, 0.0067034270832592594_r8, 0.00693895945111111_r8, & + 0.0072737963234074075_r8, 0.0075654431553333346_r8, & + 0.0078221163857777765_r8, 0.0080136654975555537_r8, & + 0.008223041161555554_r8, 0.0083727093162222228_r8, 0.008496950192666667_r8, & + 0.0086268988939999999_r8, 0.0087482109739999998_r8, & + 0.0088535727620000018_r8, 0.0091724329942222214_r8, & + 0.009496747277777778_r8, 0.0095898946533333335_r8, 0.00968264680777778_r8, & + 0.0098549632122222203_r8, 0.0099245221277777761_r8, & + 0.0099911619540740734_r8, 0.010059639211851854_r8, 0.010043722894999999_r8, & + 0.0099060299400000017_r8, 0.00987420424_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,57) / & + 0.0031845021920987654_r8, 0.0033674132958024685_r8, & + 0.0033480543950617286_r8, 0.0036695748582716045_r8, & + 0.0036585364019753085_r8, 0.0039923988577777771_r8, & + 0.0040466111758024692_r8, 0.0045457084133333336_r8, & + 0.004862541692839506_r8, 0.0051286387511111113_r8, & + 0.0053317038202469131_r8, 0.0056777603496296286_r8, & + 0.0060292806375308637_r8, 0.0062545890281481475_r8, & + 0.0064481225659259256_r8, 0.0065927134004938265_r8, & + 0.0068482250044444443_r8, 0.0070633454730864211_r8, & + 0.0073002377713580228_r8, 0.007536751027160493_r8, & + 0.0077616341506172833_r8, 0.0079905573120987658_r8, & + 0.0081654900340740726_r8, 0.0083191501530864194_r8, & + 0.0084699073614814824_r8, 0.0086088310488888903_r8, & + 0.0087325745476543194_r8, 0.0090518115111111117_r8, & + 0.0093660746977777785_r8, 0.0095423849155555542_r8, & + 0.0096662393535802485_r8, 0.0098318531777777749_r8, & + 0.0099366445530864201_r8, 0.010014181850370368_r8, 0.010089380178271606_r8, & + 0.010110909328271604_r8, 0.010012908360123458_r8, 0.0098838495171164002_r8, & + 0.010017107873333332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,57) / & + 0.0026693742316049375_r8, 0.0027247699017283948_r8, & + 0.0025419697372839507_r8, 0.0023797395604938272_r8, & + 0.0024719763096296295_r8, 0.0027279778953086418_r8, & + 0.0023706610311111111_r8, 0.0032633800054320985_r8, & + 0.0035885707091358019_r8, 0.0038906120874074085_r8, & + 0.0043042491155555552_r8, 0.0050112465249382713_r8, & + 0.0057999876785185178_r8, 0.00606606624691358_r8, 0.0062260036790123454_r8, & + 0.0063591492799999995_r8, 0.0065611049565432109_r8, & + 0.0067326540311111113_r8, 0.0069049519456790128_r8, & + 0.0070899524054320994_r8, 0.0072835599027160497_r8, & + 0.0075679434488888893_r8, 0.0077870762207407386_r8, & + 0.0079999131896296288_r8, 0.0081942417920987665_r8, & + 0.0083665119718518508_r8, 0.0085244155175308641_r8, & + 0.0089002315032098763_r8, 0.0092241833851851862_r8, & + 0.0094868413264197517_r8, 0.0096677832582716047_r8, & + 0.0098153694528395046_r8, 0.0099404812024691345_r8, 0.01005162385037037_r8, & + 0.010121349174814812_r8, 0.010120258272098765_r8, 0.010032939830123455_r8, & + 0.0099198384109259238_r8, 0.0099285575433333342_r8, & + 0.0098999857314285723_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,57) / & + 0.0024730209876543201_r8, 0.0024935724854320985_r8, & + 0.0024258810474074078_r8, 0.001395810025185185_r8, & + 0.0015138863767901231_r8, 0.0016841596498765432_r8, & + 0.0014044170627160492_r8, 0.0019495725827160491_r8, & + 0.0023465872118518514_r8, 0.0026690599037037036_r8, & + 0.0029928638666666665_r8, 0.0042023883856790118_r8, & + 0.0054902637565432087_r8, 0.0057329341412345677_r8, & + 0.0058916512414814801_r8, 0.0060635701135802475_r8, & + 0.0062849494054320982_r8, 0.0064910098345679007_r8, & + 0.006654127525432099_r8, 0.0068132051782716042_r8, & + 0.0069656079856790128_r8, 0.0072382319703703686_r8, & + 0.0074353710340740731_r8, 0.0076561678948148153_r8, & + 0.0078710017703703707_r8, 0.0080761746854320967_r8, & + 0.0082681550735802453_r8, 0.0087106917787654319_r8, & + 0.0090731026039506165_r8, 0.0093934489600000001_r8, & + 0.0096146618429629651_r8, 0.0097842232558024676_r8, & + 0.0098887095481481474_r8, 0.0099746412493827152_r8, & + 0.010013294336296297_r8, 0.010012795109629631_r8, 0.0099932478432716038_r8, & + 0.0099774110989241591_r8, 0.0099841644602962961_r8, & + 0.0099277393662962968_r8, 0.01008837248_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,57) / & + 0.0017677986064197531_r8, 0.0017844117604938268_r8, & + 0.0017747970246913582_r8, 0.0007042239279012345_r8, & + 0.00074264589135802461_r8, 0.00083227556790123444_r8, & + 0.00074159196839506173_r8, 0.00095502985827160475_r8, & + 0.0011779345649382716_r8, 0.0013897823254320988_r8, & + 0.001606095391111111_r8, 0.0026499506162962964_r8, & + 0.0038730651945679006_r8, 0.0041868014197530851_r8, & + 0.0044671634177777773_r8, 0.0048455310064197529_r8, & + 0.0052702527155555545_r8, 0.0056038470681481472_r8, & + 0.0059125725367901241_r8, 0.0061153047881481468_r8, & + 0.0062914578419753084_r8, 0.006475533807901235_r8, & + 0.0066211415856790119_r8, 0.0067745428464197534_r8, & + 0.0069496789570370364_r8, 0.0071265993407407394_r8, & + 0.0073121544967901225_r8, 0.0077637235066666671_r8, & + 0.0082134620187654332_r8, 0.0086559432543209889_r8, & + 0.0090007517170370387_r8, 0.0093010458019753082_r8, & + 0.009552906976014108_r8, 0.0097068942007530849_r8, & + 0.0098166101235555546_r8, 0.0098981948548148135_r8, & + 0.0099536124816666672_r8, 0.010034019176666667_r8, 0.010083317809999997_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,57) / & + 0.00078319419061728386_r8, 0.00079306778469135806_r8, & + 0.00079169953382716041_r8, 0.00033765288049382713_r8, & + 0.00034519675012345682_r8, 0.00038944302469135801_r8, & + 0.00045704201333333341_r8, 0.00056415386814814806_r8, & + 0.00069277869432098765_r8, 0.00078219573728395043_r8, & + 0.00082768083358024684_r8, 0.0011181105693827157_r8, & + 0.0015043178656790122_r8, 0.0017483287664197531_r8, & + 0.001984352040493827_r8, 0.0022460762429629632_r8, & + 0.0026735159639506173_r8, 0.0030583457644444449_r8, & + 0.0035440470864197531_r8, 0.0039448059155555559_r8, & + 0.0043306988839506176_r8, 0.004645350358024691_r8, & + 0.0049876811772839513_r8, 0.0053022956716049386_r8, & + 0.0056169009209876535_r8, 0.0058884987175308635_r8, & + 0.0061327869664197527_r8, 0.0066643894069135807_r8, & + 0.0070950001417283944_r8, 0.0074862921540740724_r8, & + 0.0078593392807407413_r8, 0.008174489123022927_r8, & + 0.0083048070936049389_r8, 0.0084789982394603176_r8, & + 0.0086851378448888905_r8, 0.0088601015374074072_r8, & + 0.008929743657407405_r8, 0.008996903511481481_r8, 0.0090205266400000001_r8, & + 0.0093672395600000007_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,57) / & + 0.00031963449580246908_r8, 0.00032085482765432098_r8, & + 0.00032096576691358026_r8, 0.00023748397432098761_r8, & + 0.0002417181560493827_r8, 0.00026532972839506173_r8, & + 0.00029453448839506175_r8, 0.00032705818123456791_r8, & + 0.00035882378913580242_r8, 0.00039613635999999992_r8, & + 0.00042153220543209876_r8, 0.00047344253382716045_r8, & + 0.0005313990518518518_r8, 0.00058848654567901233_r8, & + 0.00064173739012345662_r8, 0.00069297283802469123_r8, & + 0.00082634031753086397_r8, 0.00098865369876543216_r8, & + 0.001224307175308642_r8, 0.0015610448069135799_r8, 0.001996980626172839_r8, & + 0.0024697020548148148_r8, 0.0029871597397530866_r8, & + 0.0035177452370370372_r8, 0.0040652582162962964_r8, & + 0.0045725742039506171_r8, 0.0050413203091358022_r8, & + 0.0060634406844444436_r8, 0.0068062899644444445_r8, & + 0.0072562780898765425_r8, 0.0075757461767901229_r8, & + 0.0078594178627160484_r8, 0.0081757149358024691_r8, & + 0.0084296086755555558_r8, 0.0086603623348148161_r8, & + 0.0088419236775308628_r8, 0.0089412235595061739_r8, & + 0.0090177161787654333_r8, 0.0090687523322116412_r8, & + 0.0091170812375555525_r8, 0.0091639294999999992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,57) / & + 0.00024963182320987651_r8, 0.00024512953827160493_r8, & + 0.00024022972098765432_r8, 0.00020050422123456789_r8, & + 0.00020074458962962959_r8, 0.00020462746370370369_r8, & + 0.00021219906814814817_r8, 0.00020998028296296298_r8, & + 0.00023164117333333332_r8, 0.00024808791851851849_r8, & + 0.00027510162814814811_r8, 0.00033548956493827152_r8, & + 0.00042526716049382711_r8, 0.00047374761679012348_r8, & + 0.00052008324740740746_r8, 0.00055807994370370368_r8, & + 0.00064210718765432084_r8, 0.00075515429283950618_r8, & + 0.00095157225135802459_r8, 0.0012727506518518516_r8, & + 0.0017214722207407407_r8, 0.0022574382720987655_r8, & + 0.0028201037051851841_r8, 0.0033983283693827162_r8, & + 0.003988164676049382_r8, 0.0045412893328395055_r8, & + 0.0050713478686419755_r8, 0.0062292763871604935_r8, & + 0.0072675106898765426_r8, 0.008075546029629628_r8, 0.00861068928148148_r8, & + 0.0088706939254320979_r8, 0.0089483976316049388_r8, & + 0.0089551926612345678_r8, 0.0089204871629629621_r8, & + 0.0089501911496296296_r8, 0.0089924220276543197_r8, & + 0.0090648653639506162_r8, 0.0091143350286419737_r8, & + 0.0091383903580246912_r8, 0.0091547388757407411_r8, & + 0.009180778399999999_r8, 0.0091938830999999995_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,57) / & + 0.00021305884740740739_r8, 0.00020092948839506167_r8, & + 0.00019626079456790127_r8, 0.00016927481975308639_r8, & + 0.0001757092967901235_r8, 0.00018206981432098763_r8, & + 0.00018565685037037036_r8, 0.00016088966074074074_r8, & + 0.0001743225560493827_r8, 0.00020064289530864198_r8, & + 0.00022276603259259261_r8, 0.00028038048790123455_r8, & + 0.00037040769679012349_r8, 0.00042155069530864191_r8, & + 0.00046572301037037039_r8, 0.00050441307703703701_r8, & + 0.00058472385580246914_r8, 0.00070320698469135802_r8, & + 0.00091213334469135801_r8, 0.001236501248888889_r8, & + 0.0017237834553086415_r8, 0.0022947970676543213_r8, & + 0.0029122110251851852_r8, 0.0035355694780246911_r8, & + 0.0041569125343209881_r8, 0.0047280370859259253_r8, & + 0.0052775931965432085_r8, 0.0065595425619753081_r8, & + 0.0077225927762962967_r8, 0.0085770469511111114_r8, & + 0.0090940516340740733_r8, 0.0092939179545679009_r8, & + 0.0093011752311111095_r8, 0.0092130617244444435_r8, & + 0.0091263442034567911_r8, 0.0090859345782716046_r8, & + 0.009090251964444445_r8, 0.0091253734849382727_r8, & + 0.0091490497718518509_r8, 0.0091497246523456772_r8, 0.0091474261295679_r8, & + 0.0091870062526666664_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,57) / & + 0.00014914858913580247_r8, 0.00013809164296296297_r8, & + 0.00013588210271604935_r8, 0.00011068040098765433_r8, & + 0.00011258485827160493_r8, 0.00012174659209876543_r8, & + 0.00013850766518518518_r8, 0.00013325654024691361_r8, & + 0.00012683130814814813_r8, 0.00012914254271604938_r8, & + 0.00014579267654320986_r8, 0.00018666454864197532_r8, & + 0.00026403543703703701_r8, 0.00032876849481481483_r8, & + 0.00038353550913580253_r8, 0.0004390698533333333_r8, & + 0.00053415404345679004_r8, 0.00064784829432098753_r8, & + 0.00082887343061728385_r8, 0.0011303601125925925_r8, & + 0.0016066685772839506_r8, 0.0022078576681481485_r8, & + 0.0028888952908641976_r8, 0.0035943303056790122_r8, & + 0.0042938485599999998_r8, 0.0049346244765432097_r8, & + 0.0055240817407407414_r8, 0.0069957095046913565_r8, & + 0.0081393915733333332_r8, 0.0088602009204938274_r8, & + 0.0092592586809876545_r8, 0.0094400896735802476_r8, & + 0.009437602785185184_r8, 0.0093505154666666656_r8, & + 0.0092399644948148139_r8, 0.0091628986893827168_r8, & + 0.0091516383545678995_r8, 0.0091490775066666655_r8, & + 0.0091451391629629643_r8, 0.0091347579227248673_r8, & + 0.0091299987275555543_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,57) / & + 0.00011567266765432098_r8, 0.00011520117580246915_r8, & + 0.00011155867012345676_r8, 0.00010933063999999999_r8, & + 0.00010904404691358025_r8, 0.00015443669382716048_r8, & + 0.00015742280888888889_r8, 0.00014831654469135802_r8, & + 0.00013043683407407407_r8, 0.00011850161876543208_r8, 0.00011532136_r8, & + 0.00012664640938271602_r8, 0.00017528402962962959_r8, & + 0.00024115421481481477_r8, 0.00031395810370370375_r8, & + 0.00038418265481481484_r8, 0.00049407723604938272_r8, & + 0.00060754960839506174_r8, 0.00078367492740740732_r8, & + 0.0010722464306172838_r8, 0.00154232380691358_r8, 0.0021804926508641972_r8, & + 0.0029472216064197528_r8, 0.0037426006256790125_r8, & + 0.0045219304320987651_r8, 0.0052435440888888886_r8, & + 0.0059045109506172845_r8, 0.0074159936434567897_r8, & + 0.0084383543871604932_r8, 0.0090462737930864182_r8, & + 0.009383177833580246_r8, 0.0095481445120987642_r8, & + 0.0095804370814814802_r8, 0.0095476083056790124_r8, & + 0.0094677875086419741_r8, 0.0093573197412345661_r8, & + 0.0092610152192592592_r8, 0.0091936196192592586_r8, & + 0.009144770190873017_r8, 0.0091136230528333327_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,57) / & + 0.0001235586_r8, 0.00012966950419753088_r8, 0.00012234751308641976_r8, & + 0.00012914254271604938_r8, 0.00013006703654320988_r8, & + 0.00015902218320987653_r8, 0.00015284656444444447_r8, & + 0.00015025798172839508_r8, 0.00014800221679012345_r8, & + 0.00013578040839506172_r8, 0.00012744147407407405_r8, & + 0.00012550928197530863_r8, 0.00015679415308641971_r8, & + 0.00021889240345679013_r8, 0.0002971785407407407_r8, & + 0.00038700236098765433_r8, 0.00052655470419753084_r8, & + 0.00067107157925925924_r8, 0.00087428456740740743_r8, & + 0.0012250190355555554_r8, 0.0018050834424691356_r8, & + 0.0025475814148148155_r8, 0.0033898137812345686_r8, & + 0.0042293096459259253_r8, 0.0050272864928395068_r8, & + 0.0057286167550617273_r8, 0.0063791553264197524_r8, & + 0.0077387621733333327_r8, 0.008659558025185185_r8, 0.009174907864197529_r8, & + 0.0094487799155555541_r8, 0.0095631120671604945_r8, & + 0.0095845603239506187_r8, 0.0095600150128395053_r8, & + 0.0094997010355555543_r8, 0.0094244102582716031_r8, & + 0.0093360205590740739_r8, 0.0092223688349259252_r8, & + 0.0091470805999999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,57) / & + 0.0001378215011825646_r8, 0.00014369449391982879_r8, & + 0.00013465241104215964_r8, 0.0001184774524967901_r8, & + 0.00011909770255485102_r8, 0.00012494162107064359_r8, & + 0.00011578324130708805_r8, 0.00011055957284935635_r8, & + 0.00012044480814970205_r8, 0.00012712218768101395_r8, & + 0.00013462333682068807_r8, 0.00012721910175258599_r8, & + 0.00015224231503248062_r8, 0.00021548843814037853_r8, & + 0.00030200362983271763_r8, 0.00042477437570014802_r8, & + 0.00067060660964972504_r8, 0.00088261583262066816_r8, & + 0.0011560104285253264_r8, 0.001685238790565794_r8, & + 0.0024696903600911666_r8, 0.0034127418077441437_r8, & + 0.0043397249023304817_r8, 0.0052004090805544039_r8, & + 0.0059808193332952213_r8, 0.0066231754910817051_r8, & + 0.0072239555121637921_r8, 0.0084073732401296827_r8, & + 0.0092051698773105255_r8, 0.0096477182937369788_r8, & + 0.0098833551673571801_r8, 0.010000456440037647_r8, 0.010035665322239762_r8, & + 0.010029627575580825_r8, 0.010000756873659521_r8, 0.0099567094281300377_r8, & + 0.0098654403589419123_r8, 0.0096668006744295102_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,57) / & + 0.00013134632201049543_r8, 0.00013494526800568885_r8, & + 0.0001274331018579753_r8, 0.00014039944531671439_r8, & + 0.00013988241363853171_r8, 0.00013884835028216624_r8, & + 0.00013217762784600493_r8, 0.00011199311664479342_r8, & + 0.00010722831490467819_r8, 0.00010614356216809876_r8, & + 0.00011179035912393745_r8, 0.00011822791041111441_r8, & + 0.00013209652483766254_r8, 0.00019297447047466663_r8, & + 0.00031527780705498598_r8, 0.00048988244614010194_r8, & + 0.00093559416636173134_r8, 0.0012944344267726221_r8, & + 0.0018682990380512654_r8, 0.0026803910639906169_r8, & + 0.0036608770127043652_r8, 0.0046500194403241582_r8, & + 0.0054772473151954064_r8, 0.0061921779371405805_r8, & + 0.0068182221964115065_r8, 0.007373512951545238_r8, & + 0.0078961762198697279_r8, 0.0089392052603605096_r8, & + 0.0096198584561704749_r8, 0.010041542142936165_r8, 0.010295331197322568_r8, & + 0.010448120937498593_r8, 0.010529359539933052_r8, 0.010597198042640938_r8, & + 0.010643811091518225_r8, 0.010652878552677705_r8, 0.010573837660735823_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,57) / & + 0.00013372261382534322_r8, 0.00013424124672683458_r8, & + 0.00012420728773471603_r8, 0.00018214599187275061_r8, & + 0.00018155326855676048_r8, 0.00017344566034160989_r8, & + 0.00017249306929805432_r8, 0.00013484455438775311_r8, & + 0.00012604896375225679_r8, 0.00012473650498113581_r8, & + 0.00012566792733483456_r8, 0.00012709681390016787_r8, & + 0.00012923485157570369_r8, 0.00021487278639134813_r8, & + 0.00046244061426650864_r8, 0.00078623689431597029_r8, & + 0.0014701549262091456_r8, 0.002085115950893827_r8, & + 0.0030468624528124442_r8, 0.0040204144684555703_r8, & + 0.0049365927193712154_r8, 0.0057549716231484879_r8, & + 0.0064489910892327022_r8, 0.0070408306124213052_r8, & + 0.0075565594342729345_r8, 0.00803162981812525_r8, 0.008488574511287688_r8, & + 0.0094017454852005529_r8, 0.010024783688108716_r8, 0.010478366528713272_r8, & + 0.010786545607820887_r8, 0.011013898659925931_r8, 0.011162722109865542_r8, & + 0.01129441101741536_r8, 0.011359076639773867_r8, 0.011327061642451702_r8, & + 0.011304923625055941_r8, 0.011406158452101602_r8, 0.010883828968144001_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,57) / & + 0.0001551042730385383_r8, 0.00015381366782230124_r8, & + 0.00014046638310737119_r8, 0.00018967484353158849_r8, & + 0.00019097647956163951_r8, 0.00018255996862156381_r8, & + 0.00018558241160659752_r8, 0.00015967102995753088_r8, & + 0.00014686425511948643_r8, 0.00015068091669912759_r8, & + 0.00015417768467816296_r8, 0.00017155121643520001_r8, & + 0.00027903546623873578_r8, 0.00060499601444219257_r8, & + 0.001090892332134716_r8, 0.0015933238397344133_r8, & + 0.0023865386302847477_r8, 0.0031310634086601221_r8, & + 0.004000137105809278_r8, 0.0048096664699905055_r8, 0.005627788838132833_r8, & + 0.0064005855923134694_r8, 0.0070833929673995598_r8, & + 0.0076819911098296367_r8, 0.008254821271190229_r8, & + 0.0088058986677096284_r8, 0.0092573567846748715_r8, & + 0.010138398914812208_r8, 0.010799299093663709_r8, 0.011286452924131029_r8, & + 0.011631926981971439_r8, 0.011823410878968519_r8, 0.011921121827732861_r8, & + 0.012009280091734281_r8, 0.012030624716464355_r8, 0.011998915263304308_r8, & + 0.012034807364688038_r8, 0.011946933932057601_r8, 0.011342930690858668_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,57) / & + 0.00018678129865310286_r8, 0.00018763061757287244_r8, & + 0.00017812742749761319_r8, 0.00020049665147911107_r8, & + 0.00020064585615420572_r8, 0.00019759289895611518_r8, & + 0.00020159847061827158_r8, 0.00018458913765748145_r8, & + 0.00018864061845043619_r8, 0.00021274291211957201_r8, & + 0.00028208865419048558_r8, 0.00042579571087203281_r8, & + 0.00094351297888506966_r8, 0.0015865851285430121_r8, & + 0.0021046237604716378_r8, 0.0024795636317017939_r8, & + 0.0030969610999607568_r8, 0.0037736731652111936_r8, & + 0.0046020689986193903_r8, 0.0054515600776294318_r8, & + 0.0063176013982922793_r8, 0.0071193469812720319_r8, & + 0.0078384790833801489_r8, 0.0084898607857125941_r8, & + 0.0091424016935976946_r8, 0.0097239785625512429_r8, & + 0.010215493194161119_r8, 0.011137187858634271_r8, 0.011799013888223343_r8, & + 0.012294258636710586_r8, 0.012683177838268837_r8, 0.012856507761598024_r8, & + 0.012859950946407902_r8, 0.012882503806912589_r8, 0.012893474654513059_r8, & + 0.012937416865988772_r8, 0.013043720032216495_r8, 0.01305264411139897_r8, & + 0.01300319173847978_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,57) / & + 0.0002373422753031111_r8, 0.00024255295474583701_r8, & + 0.00024053784072794075_r8, 0.00025464363885321483_r8, & + 0.00025342741619152593_r8, 0.0002534393399431112_r8, & + 0.00025719532169244443_r8, 0.00026753321431680001_r8, & + 0.00033384119688201479_r8, 0.00051726426751691847_r8, & + 0.00085948786176331862_r8, 0.0012979957500600888_r8, & + 0.0020075424356397037_r8, 0.0024671553642422518_r8, & + 0.0028402614750942814_r8, 0.0031520795027984595_r8, & + 0.0036760687662094221_r8, 0.0043404482807843561_r8, & + 0.0051755759180591408_r8, 0.0060725162835515252_r8, & + 0.0069778509701598811_r8, 0.0078280860006930963_r8, & + 0.0086547477743424001_r8, 0.009405276394120296_r8, 0.010086659178455703_r8, & + 0.010672246542555733_r8, 0.011195806550909631_r8, 0.012238240533244443_r8, & + 0.012950851622981452_r8, 0.013392698161722076_r8, 0.013738510805195614_r8, & + 0.0139229950897216_r8, 0.013937589761661866_r8, 0.013918094427820092_r8, & + 0.013910367836792888_r8, 0.013943098534894225_r8, 0.013764373422383878_r8, & + 0.013528770524343262_r8, 0.013488603876659616_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,57) / & + 0.0002922464586222222_r8, 0.00029966859090469134_r8, & + 0.00030303329087274399_r8, 0.00035239047055116379_r8, & + 0.00035590361316486586_r8, 0.0003647730612424164_r8, & + 0.0004016239480248756_r8, 0.00052173878879616781_r8, & + 0.00073091921695708968_r8, 0.001119628654810469_r8, & + 0.0015559758116968293_r8, 0.0019712688533419188_r8, & + 0.0024395311790428973_r8, 0.0027530296764339225_r8, & + 0.0030916892022625183_r8, 0.0035502532751144028_r8, & + 0.0042337079561251025_r8, 0.0049968144867471673_r8, & + 0.0058847241716989494_r8, 0.0068076663210239873_r8, & + 0.0077054227014705101_r8, 0.0085777582788495801_r8, & + 0.0094799308280041732_r8, 0.010328626914063581_r8, 0.011054523821509531_r8, & + 0.011664684946230849_r8, 0.012222656110785936_r8, 0.01335171087359514_r8, & + 0.014145000742165913_r8, 0.014541590010459184_r8, 0.01473477574355138_r8, & + 0.014826265894153281_r8, 0.014818274731729156_r8, 0.014811112374076575_r8, & + 0.014825536051145505_r8, 0.014729196774119055_r8, 0.014489783527127544_r8, & + 0.014253308207497841_r8, 0.014021051751559701_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,57) / & + 0.00031377818882286085_r8, 0.00032305747191687891_r8, & + 0.00032577461006043124_r8, 0.00041283838085831104_r8, & + 0.00042164344644614321_r8, 0.00043772839158839834_r8, & + 0.00050570811193463041_r8, 0.00066063625287453493_r8, & + 0.00094598702470494796_r8, 0.0015735305856613136_r8, & + 0.0021048208095512757_r8, 0.0024167662117961742_r8, & + 0.0027220725689544685_r8, 0.0029823154463357367_r8, & + 0.003263193193580774_r8, 0.0037158402115799963_r8, & + 0.0046186093597752366_r8, 0.0055228267938677465_r8, & + 0.0064650969786593437_r8, 0.0074092127667182602_r8, & + 0.0083515470349566408_r8, 0.0092829614838633844_r8, 0.01025674790778232_r8, & + 0.011169911391045581_r8, 0.011902103220596778_r8, 0.012583130826237311_r8, & + 0.01315526783910605_r8, 0.014269153494379563_r8, 0.015057879740681743_r8, & + 0.015595411692288261_r8, 0.01584476038371661_r8, 0.015904409255981192_r8, & + 0.01586725367353705_r8, 0.015813872162367733_r8, 0.015743752054898988_r8, & + 0.015497030784788698_r8, 0.01529252288315981_r8, 0.015149297066210644_r8, & + 0.01480119029042453_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,57) / & + 0.00029348716557842959_r8, 0.00031294421871940739_r8, & + 0.00031700274514145178_r8, 0.00036866274649394567_r8, & + 0.00038292064160406905_r8, 0.00043130464287079504_r8, & + 0.00066855601750324934_r8, 0.00096510697263557524_r8, & + 0.0014336413006915949_r8, 0.0021802907939235945_r8, & + 0.0027305792293831504_r8, 0.0030639752381116836_r8, & + 0.0033749167199365526_r8, 0.0035882015676257577_r8, & + 0.0038094973628931164_r8, 0.0041454531611623503_r8, & + 0.0052252997157492534_r8, 0.006332335744732207_r8, & + 0.0073833481933010571_r8, 0.008364264850561064_r8, & + 0.0092632549793603951_r8, 0.010159367002821213_r8, 0.011046287657620345_r8, & + 0.011896986627260641_r8, 0.012599854435135881_r8, 0.013289445821610905_r8, & + 0.013851034467892622_r8, 0.014980047550082528_r8, 0.015886213047490765_r8, & + 0.016472471168102555_r8, 0.016799872229305717_r8, 0.016904916442582161_r8, & + 0.016931615180123257_r8, 0.01682340107202698_r8, 0.016595659381854023_r8, & + 0.016205337897950936_r8, 0.01590980820600324_r8, 0.015720171569459474_r8, & + 0.015575998292000711_r8, 0.015491944447694863_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,57) / & + 0.00026896917461583533_r8, 0.00029603197856566257_r8, & + 0.00031895447512296298_r8, 0.00040516061050113581_r8, & + 0.00038975098960974486_r8, 0.00053462061946679825_r8, & + 0.0012658647111972346_r8, 0.0021052366320828313_r8, & + 0.0026795466220839504_r8, 0.0030635532779272425_r8, & + 0.0033208966887388965_r8, 0.0035598006510639667_r8, & + 0.0038680479074002959_r8, 0.0041432001238506664_r8, & + 0.0044324595466153091_r8, 0.0047972864341071274_r8, & + 0.0058562317430679179_r8, 0.0071091134373753436_r8, & + 0.0082642866191445612_r8, 0.0092093049266752259_r8, & + 0.010118047560826338_r8, 0.010984920993729844_r8, 0.011846200898765301_r8, & + 0.012612514216688065_r8, 0.013318902754436214_r8, 0.013936329521753546_r8, & + 0.014462655816808166_r8, 0.01568825535313172_r8, 0.0166513292395894_r8, & + 0.017219031189315028_r8, 0.017531638107077929_r8, 0.017706038273767766_r8, & + 0.017813206429023995_r8, 0.017798578256878878_r8, 0.017616007152421002_r8, & + 0.017087802638449907_r8, 0.016612777768106667_r8, 0.01630783453190808_r8, & + 0.016170943905039276_r8, 0.016123730642174389_r8, 0.016151789842238664_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,57) / & + 0.00028387219335207243_r8, 0.00029117673889486747_r8, & + 0.00029465913851410699_r8, 0.00039607341035244776_r8, & + 0.00034031254815657618_r8, 0.00037663709052636714_r8, & + 0.00062544463405382058_r8, 0.0011323885883814059_r8, & + 0.0017639769681049417_r8, 0.0024277563101624228_r8, & + 0.0029547594525406681_r8, 0.0033476618973861663_r8, & + 0.0039543497042225382_r8, 0.0045080087753935809_r8, & + 0.0049718191051690399_r8, 0.0054642955293711677_r8, & + 0.0066599618669314371_r8, 0.0079576936567466536_r8, & + 0.0091087399796734147_r8, 0.010101138934580596_r8, 0.011082213012677243_r8, & + 0.011945494215848309_r8, 0.012805972512008771_r8, 0.013520926141153857_r8, & + 0.014141670951331304_r8, 0.014748372914263693_r8, 0.015243581464996358_r8, & + 0.016512109228736409_r8, 0.017432213001304334_r8, 0.017964694552839677_r8, & + 0.018271825211941383_r8, 0.018478702399077836_r8, 0.018620334139689589_r8, & + 0.018661712408336081_r8, 0.018525856354897702_r8, 0.018064792307748795_r8, & + 0.017431137138007338_r8, 0.016955223346140618_r8, 0.016773547548931612_r8, & + 0.016688832667427662_r8, 0.016647261016398129_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,57) / & + 0.00030853759374601487_r8, 0.00030145534977011359_r8, & + 0.00028749529772689384_r8, 0.00032392869714931361_r8, & + 0.00031459765817900247_r8, 0.00030202484980116544_r8, & + 0.00034451831365657287_r8, 0.00040955813771567407_r8, & + 0.00059725950692440495_r8, 0.00097288128381534816_r8, & + 0.0014520644509683359_r8, 0.0019246326562221826_r8, & + 0.003053148076728573_r8, 0.0042826840412046223_r8, & + 0.0052422331832673976_r8, 0.0060773392672628934_r8, & + 0.0076889805474449364_r8, 0.0090455004162806503_r8, & + 0.010156901630725688_r8, 0.011177766942798381_r8, 0.01218776794658639_r8, & + 0.013058212237636898_r8, 0.013865412820110855_r8, 0.014586545885071486_r8, & + 0.015212806085884836_r8, 0.015848353517973805_r8, 0.016385070790827932_r8, & + 0.017537724251111986_r8, 0.018316698075636618_r8, 0.018795165717109569_r8, & + 0.019101016438914212_r8, 0.019311570822189511_r8, 0.019441212393360753_r8, & + 0.019415862340696494_r8, 0.019248560754651336_r8, 0.018879919003782001_r8, & + 0.018296312895037945_r8, 0.017750206172953916_r8, 0.017385521717172146_r8, & + 0.017156025981902537_r8, 0.017036501119845181_r8, 0.016990244887927462_r8, & + 0.017005227119513602_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,57) / & + 0.00033509683527639184_r8, 0.00033092825291812348_r8, & + 0.00032177844037723131_r8, 0.00034382527487132185_r8, & + 0.00034805405336472766_r8, 0.00033873870145220746_r8, & + 0.00034873125988502389_r8, 0.00034946866254045769_r8, & + 0.00038262168396740749_r8, 0.00045816783356490535_r8, & + 0.00057138171472466187_r8, 0.00078075892176649212_r8, & + 0.0016583734249691394_r8, 0.0030049308699262949_r8, & + 0.0043561836134241722_r8, 0.0056875264852253374_r8, & + 0.0081282239314745403_r8, 0.0099705416963899417_r8, & + 0.011194193682430209_r8, 0.012162674251622835_r8, 0.013050943470744812_r8, & + 0.013828542095416587_r8, 0.014569300685384246_r8, 0.015285950723229353_r8, & + 0.0159502150744711_r8, 0.016611529815091109_r8, 0.017179660938518349_r8, & + 0.018377082458672478_r8, 0.01921347765833975_r8, 0.019744663403826385_r8, & + 0.020116224047962285_r8, 0.020302034468097807_r8, 0.020309634230158909_r8, & + 0.020179926607971493_r8, 0.019980451665159778_r8, 0.019707528031834249_r8, & + 0.019323153135430968_r8, 0.018842174728907413_r8, 0.018348357615436572_r8, & + 0.017823917599343788_r8, 0.017590554167325446_r8, 0.017491025447516802_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,57) / & + 0.00037511512863436372_r8, 0.00037294575826056953_r8, & + 0.00036834359396759173_r8, 0.00036798719740618272_r8, & + 0.0003731936863032889_r8, 0.00038126684319433738_r8, & + 0.00038218107785186497_r8, 0.00038283188896400325_r8, & + 0.00037943837387928236_r8, 0.00039606504824414812_r8, & + 0.0004713112092094683_r8, 0.00063740750232875714_r8, & + 0.0013471790021262222_r8, 0.0024498544676231633_r8, & + 0.0036541184486243556_r8, 0.0051072247070024163_r8, & + 0.0081859021684751784_r8, 0.010709623697326037_r8, 0.012395038531732121_r8, & + 0.013461826413045438_r8, 0.014231534517170305_r8, 0.014922091593657021_r8, & + 0.015549798911314383_r8, 0.016173756317325618_r8, 0.016832361667306873_r8, & + 0.017490920530780132_r8, 0.018077905667420843_r8, 0.019378086809949079_r8, & + 0.020297311019336375_r8, 0.020906408238287117_r8, 0.021290355803443357_r8, & + 0.021361542142709147_r8, 0.021222268564711561_r8, 0.020987945573336442_r8, & + 0.020749504652126778_r8, 0.020532189911869777_r8, 0.020307026699510438_r8, & + 0.020092475969542188_r8, 0.019651886918701313_r8, 0.018633907546472969_r8, & + 0.018153027864364797_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,57) / & + 0.00042584194419199997_r8, 0.00042254195608000002_r8, & + 0.00041697820800711113_r8, 0.00039679567201777782_r8, & + 0.00039663625230222221_r8, 0.00040068551307733329_r8, & + 0.00043111873677688888_r8, 0.00042807382020977771_r8, & + 0.00044291579572800004_r8, 0.00051744451275022231_r8, & + 0.00066828744760888902_r8, 0.00090017936585599998_r8, & + 0.0016898171009457777_r8, 0.002716591662924444_r8, & + 0.0038145790118417778_r8, 0.0052133275961262224_r8, & + 0.008302499076275555_r8, 0.011026711001603556_r8, 0.01308700357952889_r8, & + 0.014524682458351999_r8, 0.015507568772638222_r8, 0.016296648538723556_r8, & + 0.016909712996864001_r8, 0.017508063015258667_r8, 0.018051891490933329_r8, & + 0.018647292244590219_r8, 0.019209740943041776_r8, 0.020515308703584_r8, & + 0.021486031293573331_r8, 0.022034865548316452_r8, 0.022295006640160001_r8, & + 0.022338289092933332_r8, 0.022189104123116445_r8, 0.021948187056222444_r8, & + 0.021675946007968225_r8, 0.021458425777078443_r8, 0.021261122243545618_r8, & + 0.021151318213641905_r8, 0.021045513455045354_r8, 0.020695445011176001_r8, & + 0.020446439386464_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,57) / & + 0.00049391481801544675_r8, 0.00048970298882207073_r8, & + 0.00048840830202721971_r8, 0.0005074844467007209_r8, & + 0.00048901467432354239_r8, 0.00048052546217502545_r8, & + 0.00049027658423751101_r8, 0.00053406649709626978_r8, & + 0.00063393765314465164_r8, 0.00083830150544582035_r8, & + 0.0011641364782968096_r8, 0.0016383196140211092_r8, & + 0.0025965681150557224_r8, 0.0036523442251556338_r8, & + 0.004831820283705361_r8, 0.0062063023950643609_r8, & + 0.0091628098275291104_r8, 0.01176157399360395_r8, 0.013809948775903129_r8, & + 0.015301198525405336_r8, 0.016421413983319862_r8, 0.017295606173331802_r8, & + 0.018022679333503523_r8, 0.018717418100684845_r8, 0.019228376896759092_r8, & + 0.019812854236652345_r8, 0.020408328220081619_r8, 0.021756949372424474_r8, & + 0.022716361452730413_r8, 0.023135872751143031_r8, 0.023235006427371554_r8, & + 0.023210931808363505_r8, 0.022958025395475642_r8, 0.022712919880237766_r8, & + 0.022438774048538175_r8, 0.022208418129697337_r8, 0.022021311305180702_r8, & + 0.021813171965912901_r8, 0.021586132657706345_r8, 0.021274621181800922_r8, & + 0.021050171656895079_r8, 0.020565067264460793_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,57) / & + 0.00061191528420867156_r8, 0.00060704999541324101_r8, & + 0.00060353149936395072_r8, 0.00073550035357633579_r8, & + 0.0008239004624510948_r8, 0.00082592065157030439_r8, & + 0.000637773704934558_r8, 0.00077023077151741875_r8, & + 0.0010794880558497976_r8, 0.0014451254515174589_r8, & + 0.0020258624836529912_r8, 0.0026157408715529484_r8, & + 0.0035782263075818401_r8, 0.0047600201074102918_r8, & + 0.0060956344737572478_r8, 0.0075182853213234951_r8, & + 0.010166753256607645_r8, 0.012483102100693689_r8, 0.014344521190042996_r8, & + 0.016034746086448594_r8, 0.017286876137444205_r8, 0.018264058449315348_r8, & + 0.019098009352634511_r8, 0.019922987249282518_r8, 0.020535390745861658_r8, & + 0.021173130780977569_r8, 0.021809995400808482_r8, 0.023044465631920339_r8, & + 0.023801952377077398_r8, 0.024118465507329611_r8, 0.023945116445992076_r8, & + 0.023922103124942407_r8, 0.02348225744896244_r8, 0.023331906978128907_r8, & + 0.023104959774222333_r8, 0.022873138864065671_r8, 0.022739271873826697_r8, & + 0.022475614045769483_r8, 0.022097881068373931_r8, 0.02189010551933334_r8, & + 0.021717685263993234_r8, 0.021513680794766513_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,57) / & + 0.00081441951101321474_r8, 0.00079432126815225676_r8, & + 0.00073969483162303199_r8, 0.0011177076986398813_r8, & + 0.0013102049705471998_r8, 0.001326760530874627_r8, & + 0.00096905328325728372_r8, 0.001298816542305264_r8, & + 0.0018215091077158716_r8, 0.0024030966100741526_r8, & + 0.0031636846279559107_r8, 0.0037801977956813423_r8, & + 0.004848688129172463_r8, 0.0062217281908997519_r8, & + 0.0076492391567523545_r8, 0.0090739678207127691_r8, & + 0.011594284019201264_r8, 0.013939297917103723_r8, 0.015655079552916465_r8, & + 0.017263180921088073_r8, 0.018547567512586037_r8, 0.019482196290444322_r8, & + 0.020293418746488254_r8, 0.02140412748695214_r8, 0.022231317936464275_r8, & + 0.022909162715465326_r8, 0.023498976153852678_r8, 0.024578042690809754_r8, & + 0.025092492038813082_r8, 0.025258566083433711_r8, 0.024796790376221626_r8, & + 0.024882817076962681_r8, 0.024018264287755452_r8, 0.024505644516961408_r8, & + 0.024425437320333362_r8, 0.024207591043952887_r8, 0.023852237149732815_r8, & + 0.023239340727590395_r8, 0.022778809279609596_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,57) / & + 0.0011742571360735079_r8, 0.0011369400179323391_r8, 0.00106955647111306_r8, & + 0.0015947084856954077_r8, 0.0016899956638468476_r8, & + 0.0017923207972961707_r8, 0.0019540164906765036_r8, & + 0.0022826375923310615_r8, 0.0028057509044971452_r8, & + 0.0037309317888445624_r8, 0.0045399598190062618_r8, & + 0.0052923828333842297_r8, 0.0066814482927435061_r8, & + 0.0081831033090218122_r8, 0.0096717460855302324_r8, & + 0.011091321169745068_r8, 0.013496936837394554_r8, 0.015548314664332956_r8, & + 0.017144831390432352_r8, 0.018540314330441086_r8, 0.019690390683073_r8, & + 0.020624931870688128_r8, 0.021467749177418508_r8, 0.022462866418567307_r8, & + 0.023231545868734084_r8, 0.023860778073628453_r8, 0.024380079898668489_r8, & + 0.025324584136352652_r8, 0.025753101656404119_r8, 0.025870194086486026_r8, & + 0.025503564480653482_r8, 0.025251244032908467_r8, 0.025070213906286946_r8, & + 0.025501842663504096_r8, 0.025537965367947044_r8, 0.025200990968053668_r8, & + 0.025243525613193853_r8, 0.025278562645286398_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,57) / & + 0.001835351473913679_r8, 0.0018291540321632924_r8, & + 0.0018398405299616127_r8, 0.0021165263164950126_r8, & + 0.0022204470552888889_r8, 0.0025713749226150455_r8, & + 0.0032536205703211185_r8, 0.0035638197955281639_r8, & + 0.0042437209564723626_r8, 0.0053192224534302545_r8, & + 0.0061834293527635214_r8, 0.0072241452089289223_r8, & + 0.0086223135118585672_r8, 0.010131890371767305_r8, 0.011433534882508378_r8, & + 0.012673550287749268_r8, 0.014727284342521151_r8, 0.016489665937760922_r8, & + 0.017933142810437529_r8, 0.019225736511818799_r8, 0.020298239246639409_r8, & + 0.0212439034302109_r8, 0.02205206073905093_r8, 0.022832374995804178_r8, & + 0.023541972989065477_r8, 0.024164152522445959_r8, 0.024650424520901524_r8, & + 0.025426413290450697_r8, 0.025840769520559404_r8, 0.025967301380226307_r8, & + 0.026057793571297845_r8, 0.025647333460178105_r8, 0.025768982919672567_r8, & + 0.026047665933716015_r8, 0.026159120835200868_r8, 0.025792963799796304_r8, & + 0.025747085465243257_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,57) / & + 0.0026396079799092145_r8, 0.0027222470231584401_r8, & + 0.0029226811514898175_r8, 0.0031767990025989138_r8, & + 0.0034247533739163263_r8, 0.0037872441929637929_r8, & + 0.0044553393332835162_r8, 0.0046411375247077538_r8, & + 0.0051233320592864581_r8, 0.0061783694367849324_r8, & + 0.0069666757090235815_r8, 0.0080099447504847592_r8, & + 0.0092419188208938564_r8, 0.010469051819750995_r8, 0.011675722571121041_r8, & + 0.012803224728021851_r8, 0.0147610206994431_r8, 0.016664639829801611_r8, & + 0.018098722236610229_r8, 0.019389524021617147_r8, 0.02046350046640041_r8, & + 0.021398904554836132_r8, 0.022205441839014919_r8, 0.022965641366549668_r8, & + 0.023772085879318131_r8, 0.024499088072079775_r8, 0.02500914508656658_r8, & + 0.025855359605647318_r8, 0.026270886609678683_r8, 0.026413317990684752_r8, & + 0.026537947302830701_r8, 0.026235266910302518_r8, 0.026408363831116114_r8, & + 0.026557318505330055_r8, 0.026642237264669685_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,57) / & + 0.0035021672302849565_r8, 0.003652558403676006_r8, & + 0.0038807019083021317_r8, 0.0041988724048939137_r8, & + 0.0045242417431407963_r8, 0.0048107081635518972_r8, & + 0.0053148444461016504_r8, 0.0054941691075768469_r8, & + 0.0057330551029683881_r8, 0.0065031366740757098_r8, & + 0.0073247026904088731_r8, 0.0085340680472326628_r8, & + 0.0097648468833857072_r8, 0.010797361554908978_r8, 0.012015171321739397_r8, & + 0.013035433375999876_r8, 0.015004951508219559_r8, 0.01713459024061401_r8, & + 0.018588275760149438_r8, 0.019850346819802061_r8, 0.020877764814396696_r8, & + 0.02181174373196626_r8, 0.022628782228895361_r8, 0.023317348430113141_r8, & + 0.024192175006359399_r8, 0.024958967476194027_r8, 0.02545298476717614_r8, & + 0.026347914902418702_r8, 0.026786280599866878_r8, 0.026919772350129139_r8, & + 0.026995527502659378_r8, 0.026953956122660626_r8, 0.026825509567741868_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,57) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,57) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,57) / & + 0.0026487288621963728_r8, 0.0023760524276487901_r8, & + 0.0027160089748040489_r8, 0.0030133949238859261_r8, & + 0.0033463597516518511_r8, 0.0037413467310032584_r8, & + 0.0051169328934760486_r8, 0.0053851174236786157_r8, & + 0.0076289835975841954_r8, 0.0059492847413629615_r8, & + 0.0058077340400311097_r8, 0.004212315212107653_r8, & + 0.0039695622331377776_r8, 0.0041268307532518513_r8, & + 0.0040199676519911106_r8, 0.0036969995978567895_r8, & + 0.0030839143330582716_r8, 0.0029606709762083944_r8, & + 0.0029052671705392589_r8, 0.0028771136062454316_r8, & + 0.0028991245746933323_r8, 0.0028767221663140727_r8, & + 0.0031217033418162957_r8, 0.0031323625522548144_r8, & + 0.0033154962186024684_r8, 0.003400107465303703_r8, & + 0.0035889019552740736_r8, 0.0039260220684651844_r8, & + 0.0038303472667809515_r8, 0.0039186148205333322_r8, & + 0.0039478824830933325_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,57) / & + 0.0028286237821148184_r8, 0.0023762989011545548_r8, & + 0.002801848466654498_r8, 0.003111523405741932_r8, 0.0033449280103728454_r8, & + 0.0033844081509433938_r8, 0.0045705504874560265_r8, & + 0.0047229256211884776_r8, 0.0069582713160712406_r8, & + 0.0058388810411312457_r8, 0.0055530845518438178_r8, & + 0.0042621170622230116_r8, 0.0038894146031262025_r8, & + 0.0037188719833240757_r8, 0.0041321719454604109_r8, & + 0.0037603799298568425_r8, 0.0032312053413079966_r8, & + 0.003047337139468431_r8, 0.0029800884723540279_r8, & + 0.0029479746473197034_r8, 0.0029626658945970043_r8, & + 0.0029425533701554043_r8, 0.0030911211947343017_r8, & + 0.0031347397148195817_r8, 0.0033960369973797919_r8, & + 0.0034833981889357954_r8, 0.003625634292857153_r8, & + 0.0039605947307796013_r8, 0.0040834735645207962_r8, & + 0.0041248617936461736_r8, 0.0041588090686047923_r8, & + 0.0040921360796407425_r8, 0.0040900184117233463_r8, & + 0.0046259178669836327_r8, 0.0044887554163473382_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,57) / & + 0.0028883083437856389_r8, 0.0025277439472558613_r8, & + 0.002955562553918498_r8, 0.0034226340931111502_r8, & + 0.0035791770042759101_r8, 0.0034163689670721575_r8, & + 0.0039575991410120684_r8, 0.0042601152268948537_r8, & + 0.007078015487575624_r8, 0.0063965658260963535_r8, 0.005666913052031367_r8, & + 0.0041939691342927007_r8, 0.0033651398412295106_r8, & + 0.0029939630883479705_r8, 0.0036088830780798414_r8, & + 0.003434525046613728_r8, 0.0031414705796469719_r8, 0.002867978649087684_r8, & + 0.0028494389904008691_r8, 0.0028393380729094322_r8, & + 0.002848757071920434_r8, 0.002843685303222202_r8, 0.0028569827135906762_r8, & + 0.0029428192023153773_r8, 0.0031787203766407103_r8, & + 0.0033343256498948736_r8, 0.0034506779906190214_r8, & + 0.0037603116006413423_r8, 0.0040679846950324146_r8, & + 0.0042061584271304688_r8, 0.0042425558260236629_r8, & + 0.0042097384991527506_r8, 0.0042345859037835843_r8, & + 0.0044912003519521184_r8, 0.0043777971564419029_r8, & + 0.0045310286531999996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,57) / & + 0.0027987154473048501_r8, 0.0025912326407798512_r8, & + 0.0027619641068127869_r8, 0.0037460930813257741_r8, & + 0.0040298853537889447_r8, 0.0037736346586873673_r8, & + 0.0043218787010397232_r8, 0.0048963486403064624_r8, & + 0.0063323699924211357_r8, 0.0065179686475075431_r8, & + 0.0052450478148319858_r8, 0.0037642494714972712_r8, & + 0.0027099508731330897_r8, 0.0026312293263750317_r8, & + 0.002986156055017349_r8, 0.0030979011810003754_r8, & + 0.0028415627738689838_r8, 0.0026813128953988214_r8, & + 0.0026633757853018599_r8, 0.0027139417704896262_r8, & + 0.0027238093738437006_r8, 0.0027565698169792264_r8, & + 0.0027873128834290301_r8, 0.0028550704264603396_r8, & + 0.003117110115529639_r8, 0.0032694659113165427_r8, & + 0.0033449421129714829_r8, 0.0035940004216283125_r8, & + 0.003891519626757373_r8, 0.0042050901333423926_r8, & + 0.0041636023432403742_r8, 0.0040673932105381519_r8, & + 0.0040495657404784596_r8, 0.0041430683305464207_r8, & + 0.0041482840637478606_r8, 0.0042130719280554663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,57) / & + 0.0026362659835373037_r8, 0.0029651679417324506_r8, & + 0.0027212195466356937_r8, 0.0037733540942868279_r8, & + 0.0041082082129538372_r8, 0.0038156955994616622_r8, & + 0.0047834176895118485_r8, 0.0051056009211137591_r8, & + 0.0053654217441354802_r8, 0.0045047032662044453_r8, & + 0.0035368008076551113_r8, 0.0030592301140377814_r8, & + 0.0025987944278394468_r8, 0.0026658464173974655_r8, & + 0.0028677238600681092_r8, 0.0028648830562065385_r8, & + 0.0026722494991171953_r8, 0.0026322076923064892_r8, & + 0.0026442472896245728_r8, 0.002731049629839223_r8, & + 0.0027894439314381692_r8, 0.0028546020517551413_r8, & + 0.0029328368882602929_r8, 0.0030375408020153153_r8, & + 0.0033339764303639439_r8, 0.0034482398745737746_r8, & + 0.0035580391984297091_r8, 0.0037904585034782903_r8, & + 0.0041517942607727874_r8, 0.0043356348535286996_r8, & + 0.0041466943414593975_r8, 0.0040874432894895014_r8, & + 0.0040503775629147261_r8, 0.0040700602753841785_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,57) / & + 0.0025029292061013327_r8, 0.0033444815888213331_r8, & + 0.003035611248298666_r8, 0.0035496693401599996_r8, & + 0.0035518004389546659_r8, 0.0038805919203839996_r8, & + 0.0050051171604480003_r8, 0.0039984046211413334_r8, & + 0.0032149015164586662_r8, 0.0027658419378346665_r8, & + 0.0025730238251519995_r8, 0.0024979720849919993_r8, & + 0.0024359385787733326_r8, 0.0025218774540799994_r8, & + 0.0025525004171946665_r8, 0.0025944274695679989_r8, & + 0.0025729774969173321_r8, 0.0025840499450026666_r8, & + 0.0026546078463999998_r8, 0.0027688069448533327_r8, & + 0.0028692002293759992_r8, 0.0029862253501440001_r8, & + 0.0031212258259626664_r8, 0.0032708196957013332_r8, & + 0.0034790651105279994_r8, 0.0036252306909013324_r8, & + 0.0038264805422933337_r8, 0.004162452900096_r8, 0.0042950906359466665_r8, & + 0.0042587692999679983_r8, 0.0041888599938560006_r8, & + 0.0041950216490666669_r8, 0.0042072059747840004_r8, & + 0.0042043973255573332_r8, 0.004232292713855999_r8, & + 0.0042527929576959989_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,58) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,58) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,58) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,58) / & + 0.0036490640878148904_r8, 0.0039031260358518517_r8, & + 0.0041422972114074077_r8, 0.004448819611259259_r8, & + 0.0044850717877037045_r8, 0.0047839366051851857_r8, & + 0.0050779076145925925_r8, 0.0053502038662222228_r8, & + 0.0055224037844444455_r8, 0.0057345099409629634_r8, & + 0.0058049577573333344_r8, 0.0059375093710370376_r8, & + 0.0059843437660740744_r8, 0.0062104116283703704_r8, & + 0.0064601983042962968_r8, 0.0066369800139259262_r8, & + 0.0068575522226666658_r8, 0.0072515211068888887_r8, & + 0.007559991877481481_r8, 0.0078182917548148146_r8, & + 0.0080133035582222213_r8, 0.0082318538989629621_r8, & + 0.0083756866485925931_r8, 0.008500730447925927_r8, & + 0.0086293811599259251_r8, 0.0087405492314074091_r8, & + 0.0088371676190370368_r8, 0.0091622404497777796_r8, & + 0.0094499863800000007_r8, 0.0095871558403703688_r8, & + 0.0096867099581481493_r8, 0.0098671734644444446_r8, & + 0.0099496706711111101_r8, 0.009985609790833334_r8, 0.010067330075999999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,58) / & + 0.0031682311007407409_r8, 0.0033254782558024684_r8, & + 0.0034309260217283946_r8, 0.0037334111570370369_r8, & + 0.0037030692696296288_r8, 0.0040794676864197533_r8, & + 0.0041363980162962954_r8, 0.004590527874074074_r8, & + 0.0049225968118518518_r8, 0.0052128416488888881_r8, 0.00543202989037037_r8, & + 0.0057318155037037041_r8, 0.0060066675185185192_r8, & + 0.0062174151313580256_r8, 0.0063979780207407385_r8, & + 0.0065315488888888894_r8, 0.0067633564711111101_r8, & + 0.0070244427728395056_r8, 0.0072618065629629636_r8, & + 0.0074995863753086417_r8, 0.0077269194074074078_r8, & + 0.0079554450365432097_r8, 0.0081284733012345674_r8, & + 0.0082815694790123462_r8, 0.0084321972582716044_r8, & + 0.0085675246646913575_r8, 0.0086848151965432108_r8, & + 0.0090014358424691365_r8, 0.0093022476439506164_r8, & + 0.0095003019565432101_r8, 0.0096454105076543215_r8, & + 0.0098229040775308623_r8, 0.0099408128646296286_r8, & + 0.010007419178024692_r8, 0.010108986876375662_r8, 0.010182650049259258_r8, & + 0.010204067368523809_r8, 0.010113992515185185_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,58) / & + 0.0022615892493827163_r8, 0.0023027754493827168_r8, & + 0.002305003479506173_r8, 0.0023863496913580245_r8, & + 0.0025186262681481477_r8, 0.0027737773195061731_r8, & + 0.0024208702908641981_r8, 0.0030717879046913582_r8, & + 0.0034550183308641983_r8, 0.0037915340839506173_r8, & + 0.0041717876400000006_r8, 0.0047532480325925925_r8, & + 0.005473909460740738_r8, 0.0057671589027160483_r8, & + 0.0059444675738271604_r8, 0.00609734187308642_r8, 0.006318545511111111_r8, & + 0.0065035552158024691_r8, 0.0066741982864197526_r8, & + 0.0068497689091358014_r8, 0.0070305906567901238_r8, & + 0.0072622225851851846_r8, 0.0074726558701234558_r8, & + 0.0076850768167901233_r8, 0.0078917843916049401_r8, & + 0.0080851145407407395_r8, 0.0082562845728395076_r8, & + 0.0086467075609876556_r8, 0.0089924312725925912_r8, & + 0.0092919857624691338_r8, 0.0095243757758024673_r8, & + 0.0097149324434567894_r8, 0.0098561951002469148_r8, & + 0.0099824902019753099_r8, 0.010109266040493829_r8, 0.010187542932839506_r8, & + 0.010214427213333334_r8, 0.010162701783703704_r8, 0.010119633578412696_r8, & + 0.010079192256296297_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,58) / & + 0.001781157542222222_r8, 0.0017974656133333336_r8, & + 0.0018075888207407407_r8, 0.0014260317283950616_r8, & + 0.0015594084528395061_r8, 0.0016934600577777779_r8, & + 0.0014458528760493826_r8, 0.0016986279782716049_r8, & + 0.0019863119674074074_r8, 0.0023296319950617279_r8, & + 0.0026985512567901234_r8, 0.0035963641920987656_r8, & + 0.004693525731358025_r8, 0.0050394898113580245_r8, & + 0.0052180373041975309_r8, 0.0054647662167901234_r8, & + 0.0057853529412345683_r8, 0.0060754498592592585_r8, & + 0.0062747337486419742_r8, 0.0064395987328395056_r8, & + 0.006580963083950616_r8, 0.0067766784271604931_r8, & + 0.0069469979249382717_r8, 0.0071412618128395061_r8, & + 0.0073401204350617292_r8, 0.0075570621565432088_r8, & + 0.0077704075970370361_r8, 0.008262922438518519_r8, & + 0.0086660757066666684_r8, 0.0090289765135802471_r8, & + 0.0093212275022222218_r8, 0.0095882675441975301_r8, & + 0.0097488428770370356_r8, 0.0098587120346913543_r8, & + 0.0099491506433333314_r8, 0.010027461048580247_r8, 0.010064381865185186_r8, & + 0.010080894480555554_r8, 0.010095295948236332_r8, 0.010079132626444446_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,58) / & + 0.0011771579901234566_r8, 0.0011883998350617285_r8, & + 0.0011745601624691359_r8, 0.000811086169382716_r8, & + 0.00085338176197530854_r8, 0.00093750145530864201_r8, & + 0.00081377644641975305_r8, 0.0009292457254320986_r8, & + 0.0010704251777777776_r8, 0.00123731480345679_r8, 0.0014263830360493827_r8, & + 0.0021408688454320987_r8, 0.0030583365195061725_r8, & + 0.0033816689906172835_r8, 0.0036367553274074074_r8, & + 0.0040455757427160493_r8, 0.0045278841723456779_r8, & + 0.0049172717274074068_r8, 0.005249802912098765_r8, & + 0.0055495700355555552_r8, 0.0057872666434567897_r8, & + 0.0060199894745679014_r8, 0.006173658838518517_r8, & + 0.0063629674395061717_r8, 0.0065300142291358013_r8, & + 0.0066973291219753076_r8, 0.0068670754335802475_r8, & + 0.0073102592844444441_r8, 0.0077820469743209875_r8, & + 0.0082514032454320992_r8, 0.0086515611535802478_r8, & + 0.0090029982370370357_r8, 0.0092670983886419759_r8, & + 0.0094378431535802471_r8, 0.0095757949668518506_r8, & + 0.0098578554911604929_r8, 0.0099839925044444451_r8, & + 0.010038380476296295_r8, 0.010085591074285713_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,58) / & + 0.00047619752543209874_r8, 0.00048232691950617285_r8, & + 0.00047786161432098763_r8, 0.00035805645925925925_r8, & + 0.00037001940938271606_r8, 0.00040784969679012349_r8, & + 0.00046028698666666668_r8, 0.00053099227456790128_r8, & + 0.00061354957333333341_r8, 0.00066380505777777774_r8, & + 0.00070075707604938271_r8, 0.00089413344987654311_r8, & + 0.0011816048054320986_r8, 0.0013465067693827161_r8, & + 0.0015157630992592593_r8, 0.0017351362395061729_r8, & + 0.0020675564849382717_r8, 0.0023633297950617282_r8, & + 0.0027339408804938265_r8, 0.0031649306577777787_r8, & + 0.0035937663644444442_r8, 0.0039716532162962963_r8, & + 0.0043413767876543212_r8, 0.0047449275881481477_r8, & + 0.005110953184197531_r8, 0.005431465949135802_r8, 0.0057094889777777776_r8, & + 0.0062647399703703709_r8, 0.0066990024558024677_r8, & + 0.0071121587471604927_r8, 0.0075412810469135802_r8, & + 0.0079771429066666667_r8, 0.008354253183703704_r8, & + 0.0086168305619047612_r8, 0.0087088592999294522_r8, & + 0.0088347403604938264_r8, 0.0088869946005925935_r8, & + 0.0089842911044444428_r8, 0.0093597511599999988_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,58) / & + 0.00020477538271604934_r8, 0.00020527460938271603_r8, & + 0.00019217453185185182_r8, 0.00021901258765432097_r8, & + 0.00022173059950617285_r8, 0.00024756095703703699_r8, & + 0.00028566859259259255_r8, 0.00031183176790123456_r8, & + 0.0003348886439506172_r8, 0.00036039542864197533_r8, & + 0.00038370191802469133_r8, 0.00042938115802469137_r8, & + 0.00049061038419753093_r8, 0.00053033588395061718_r8, & + 0.00056885029679012338_r8, 0.0006013277649382716_r8, & + 0.00068063084543209867_r8, 0.00077026052197530872_r8, & + 0.00094965854913580262_r8, 0.0012758939308641973_r8, & + 0.0017097866187654324_r8, 0.0021978546449382716_r8, & + 0.0027211643758024689_r8, 0.0032597837244444441_r8, & + 0.0038127419723456794_r8, 0.0043295525116049385_r8, & + 0.0048125173318518503_r8, 0.0058246809086419746_r8, & + 0.0065454625209876542_r8, 0.0070752621985185182_r8, & + 0.0074491552370370374_r8, 0.0078050761155555549_r8, & + 0.0081630493703703701_r8, 0.0084304499649382712_r8, & + 0.0086461898444444435_r8, 0.0088213167101234558_r8, & + 0.0089037249342592585_r8, 0.0090080737081481479_r8, & + 0.0090673520636734683_r8, 0.0091182502599999986_r8, & + 0.0091650527600000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,58) / & + 0.0002163962701234568_r8, 0.00021092326666666668_r8, & + 0.00019302506617283952_r8, 0.00020940709679012347_r8, & + 0.00020569063160493821_r8, 0.00021086779703703704_r8, & + 0.00022948710271604938_r8, 0.00023333299703703702_r8, & + 0.0002383807333333333_r8, 0.00024888298320987655_r8, & + 0.00026956391012345675_r8, 0.00032261136592592584_r8, & + 0.00041970170765432096_r8, 0.00047251804000000001_r8, & + 0.00050679827111111114_r8, 0.00053069643654320988_r8, & + 0.00059215678617283943_r8, 0.00069511766370370374_r8, & + 0.00088390854814814816_r8, 0.0012198233802469137_r8, & + 0.0016780579906172841_r8, 0.0022142459204938271_r8, & + 0.0027754968780246913_r8, 0.003363604381234567_r8, & + 0.0039547164893827154_r8, 0.0045063896908641978_r8, & + 0.0050374004553086415_r8, 0.0061696095555555551_r8, & + 0.0072016774844444438_r8, 0.008053524586666666_r8, & + 0.0085838697155555532_r8, 0.0088769712385185183_r8, & + 0.0089761232014814816_r8, 0.00901401820345679_r8, 0.0089288908118518515_r8, & + 0.0089711216898765416_r8, 0.0089765854483950611_r8, & + 0.0090379625935802441_r8, 0.0090909978328571409_r8, & + 0.0091260895714426801_r8, 0.0091470431580000008_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,58) / & + 0.0002188091990123457_r8, 0.00020310204888888888_r8, & + 0.00019469839999999996_r8, 0.00019015913530864197_r8, & + 0.0002051914049382716_r8, 0.00020684624888888889_r8, & + 0.00021950256938271602_r8, 0.0002154717762962963_r8, & + 0.00021423295456790125_r8, 0.00021839317679012344_r8, & + 0.00022637155851851847_r8, 0.00024830055209876543_r8, & + 0.0003325404296296296_r8, 0.00039974188592592583_r8, & + 0.00044218539753086418_r8, 0.00047160279111111103_r8, & + 0.00054387971851851849_r8, 0.00065909938419753079_r8, & + 0.00086357892888888892_r8, 0.0011759746380246912_r8, & + 0.0016466899150617284_r8, 0.0022289546172839505_r8, & + 0.0028407199175308631_r8, 0.0034665652587654318_r8, & + 0.0040978836034567898_r8, 0.004674592097777778_r8, & + 0.0052279571229629628_r8, 0.0064412628217283951_r8, & + 0.0076582572508641991_r8, 0.0085610069832098776_r8, 0.00906321052_r8, & + 0.0092763248370370376_r8, 0.0093135357135802448_r8, & + 0.0092751507298765423_r8, 0.009193610374320987_r8, & + 0.0091499372859259256_r8, 0.0090909915595061737_r8, & + 0.0091052842340740743_r8, 0.0091131146967901241_r8, & + 0.0091312532656790107_r8, 0.00913384050705357_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,58) / & + 0.00017437802567901235_r8, 0.00015529647308641973_r8, & + 0.00015036892098765434_r8, 0.00011314879950617282_r8, & + 0.00011699469382716048_r8, 0.00012368802913580247_r8, & + 0.00013940442419753087_r8, 0.00014411009777777776_r8, & + 0.00015287429925925925_r8, 0.00016064004740740738_r8, & + 0.00017143813530864197_r8, 0.00017149360493827156_r8, & + 0.00021711737530864195_r8, 0.00029992428740740741_r8, & + 0.00036822589135802474_r8, 0.00042545205925925917_r8, & + 0.00051929742765432086_r8, 0.00062942313234567895_r8, & + 0.00081577335308641969_r8, 0.0011179811402469136_r8, & + 0.0015739230059259261_r8, 0.0022218545046913583_r8, & + 0.0028921125293827161_r8, 0.003592943564938271_r8, & + 0.0042626284034567906_r8, 0.0048964798612345676_r8, & + 0.0055075333012345688_r8, 0.0068628042720987638_r8, & + 0.008022119531358023_r8, 0.0087855018192592588_r8, & + 0.0092243590390123451_r8, 0.0094103671970370371_r8, & + 0.0094437506691358013_r8, 0.0093860437644444437_r8, & + 0.0092866791679012354_r8, 0.0092117558769135802_r8, & + 0.009164258850925925_r8, 0.0091454939374691346_r8, & + 0.0091282643441181633_r8, 0.0091258509859999982_r8, & + 0.0091210168077777761_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,58) / & + 0.00013411631950617284_r8, 0.00012191300098765432_r8, & + 0.00011897311061728394_r8, 9.345708098765431e-05_r8, & + 9.2588056790123441e-05_r8, 0.00011893613086419753_r8, & + 0.00011994382913580247_r8, 0.00011917649925925926_r8, & + 0.00010652017876543208_r8, 0.00010079756197530863_r8, & + 0.00010821200246913578_r8, 0.00013174961530864197_r8, & + 0.00015531496296296299_r8, 0.00022966275654320986_r8, & + 0.00031613066419753088_r8, 0.00038963716839506175_r8, & + 0.00050321123506172837_r8, 0.0006190965362962963_r8, & + 0.00079859625777777769_r8, 0.0011113617644444443_r8, & + 0.0015975438232098762_r8, 0.0022955274177777775_r8, & + 0.0030296864558024689_r8, 0.0038390068419753079_r8, & + 0.0045831041886419755_r8, 0.0052948072716049385_r8, & + 0.0059694936217283938_r8, 0.0074450470175925912_r8, & + 0.0084434102127777765_r8, 0.0090228136066049375_r8, & + 0.0093544410985802479_r8, 0.0094987407175925916_r8, & + 0.0095402158219135783_r8, 0.0095203842737037019_r8, & + 0.009450128520925926_r8, 0.0093676324368589074_r8, & + 0.0092828945543139314_r8, 0.0091679686135308653_r8, & + 0.0091438356266666659_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,58) / & + 0.00012338294617283952_r8, 0.00011612566962962962_r8, & + 0.00011188224296296294_r8, 9.145092938271605e-05_r8, & + 9.1432439506172831e-05_r8, 0.0001106341762962963_r8, & + 0.00010633528000000001_r8, 0.00010751863209876543_r8, & + 0.00010365424790123455_r8, 9.6831483456790126e-05_r8, & + 9.5195129382716034e-05_r8, 0.00011681903999999998_r8, & + 0.00015324409679012347_r8, 0.00020695718814814817_r8, & + 0.00028540048938271604_r8, 0.00037270044148148142_r8, & + 0.0005071495787654321_r8, 0.00064996538518518525_r8, & + 0.00085989019851851855_r8, 0.0012084983308641975_r8, & + 0.0018072282681481481_r8, 0.0025972729580246916_r8, & + 0.0034629042632098764_r8, 0.0043237466903703701_r8, & + 0.0051216495777777777_r8, 0.00583622783654321_r8, 0.0064797402548148137_r8, & + 0.0078448201051851841_r8, 0.0087011694923456798_r8, & + 0.0091895888261728405_r8, 0.0094406628597530854_r8, & + 0.0095393248409876546_r8, 0.009555974974814814_r8, 0.009538270918024689_r8, & + 0.0094863779238888897_r8, 0.00945132689604938_r8, 0.009386635440493828_r8, & + 0.0092162003149523809_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,58) / & + 0.00012890540659793909_r8, 0.00012317778496803291_r8, & + 0.00011871004626856294_r8, 9.6739626243186834e-05_r8, & + 9.6196907442383522e-05_r8, 0.00010094569694941232_r8, & + 9.6090301963654287e-05_r8, 9.5382829241178561e-05_r8, & + 9.5431286276964579e-05_r8, 9.8135188873823843e-05_r8, & + 9.7757223994692999e-05_r8, 0.00010228311113710613_r8, & + 0.00013062078566476376_r8, 0.00017028771515919009_r8, & + 0.00024007553809819916_r8, 0.00035882434999539095_r8, & + 0.00059223219996943526_r8, 0.00078052654962670615_r8, & + 0.0010574778919580574_r8, 0.001548648098092194_r8, & + 0.0023765850115319309_r8, 0.0034246622385475023_r8, & + 0.0044225573593030835_r8, 0.0052938633197712982_r8, & + 0.0060744286350266317_r8, 0.0067346751304253093_r8, & + 0.0073331195223825104_r8, 0.0085027851435923365_r8, & + 0.0092458931701850846_r8, 0.0096673918502660997_r8, & + 0.0098824514436397729_r8, 0.0099760328825756056_r8, & + 0.0099993322368074119_r8, 0.0099981111195056038_r8, & + 0.0099845426303029963_r8, 0.0099658593279123315_r8, & + 0.0099236339361527415_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,58) / & + 0.00013435727119520658_r8, 0.00013035281015830123_r8, & + 0.00012730130946941892_r8, 0.00012440187692117861_r8, & + 0.00012406732701176625_r8, 0.00012414843002010864_r8, & + 0.00011789336050170208_r8, 0.00010734996941719176_r8, & + 0.00010378143705012672_r8, 9.8519879383914384e-05_r8, & + 9.783050381300411e-05_r8, 0.00010303123422295967_r8, & + 0.00012188768366256458_r8, 0.00015915451599589133_r8, & + 0.00025513992636910614_r8, 0.00044453572660066502_r8, & + 0.00088890924718464527_r8, 0.0011811436619943503_r8, & + 0.0017076948057812545_r8, 0.0025609896944275485_r8, & + 0.003643623614914028_r8, 0.0047096314186903165_r8, & + 0.0055832324730503364_r8, 0.0063011056135169313_r8, & + 0.006909114591307719_r8, 0.0074794309459713841_r8, & + 0.0079930562978037176_r8, 0.009000426626548463_r8, & + 0.0096576245788989098_r8, 0.010056404269214909_r8, 0.010292662401454305_r8, & + 0.01042374133698417_r8, 0.010476342974066733_r8, 0.010553262298206459_r8, & + 0.010659714522493362_r8, 0.010771616615493971_r8, 0.010816606843863701_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,58) / & + 0.00015670122666488887_r8, 0.00015261566952252839_r8, & + 0.00015443617685021235_r8, 0.00019604323676373334_r8, & + 0.00019567278469123951_r8, 0.0001952388265491753_r8, & + 0.00017808160342024692_r8, 0.00013487630742253827_r8, & + 0.00012085205039241482_r8, 0.00011648071593698766_r8, & + 0.00011340067156282468_r8, 0.00012018523666192593_r8, & + 0.00014954620949329383_r8, 0.00022001677802654818_r8, & + 0.00049656454231565431_r8, 0.00088201463157301728_r8, & + 0.001579787570977462_r8, 0.0020922603837204936_r8, & + 0.0030086212145861535_r8, 0.004014028139334401_r8, & + 0.0049875656015032485_r8, 0.0058077147369697971_r8, & + 0.0065333880096054911_r8, 0.0071440729589391004_r8, & + 0.0076727292350776497_r8, 0.0081703416275412145_r8, & + 0.0086094649299304701_r8, 0.0094761851830819574_r8, & + 0.010085208390261807_r8, 0.010506804017449639_r8, 0.010808733040877037_r8, & + 0.010999388846072218_r8, 0.011101818844116762_r8, 0.011233694489752099_r8, & + 0.011347041672571802_r8, 0.011357772308267601_r8, 0.011406978209616303_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,58) / & + 0.00019206853012922466_r8, 0.00019271934814425024_r8, & + 0.00020776537818653504_r8, 0.00024040555626213663_r8, & + 0.00023974370743329711_r8, 0.00024600920967964447_r8, & + 0.00022554705005468971_r8, 0.00018241656804198188_r8, & + 0.00015436520851300084_r8, 0.00014682013186423045_r8, & + 0.00014775775103841973_r8, 0.00018313357093989138_r8, & + 0.00029931010202885271_r8, 0.00061343458700989614_r8, & + 0.0011237200340451555_r8, 0.001649746452392981_r8, & + 0.0024225321757598024_r8, 0.0031041482229539822_r8, & + 0.0039610218400248634_r8, 0.0047725036582511671_r8, & + 0.0056143312452797628_r8, 0.0063911652773163199_r8, & + 0.0071201586698415933_r8, 0.0077505255560559672_r8, & + 0.0083401887392967108_r8, 0.0089029146752036877_r8, & + 0.0093476219341147634_r8, 0.010188214069996194_r8, 0.010822485864300721_r8, & + 0.011269476501671297_r8, 0.011607570945070143_r8, 0.011772459549961695_r8, & + 0.011868846801068353_r8, 0.011967517430634513_r8, 0.012029267926365238_r8, & + 0.012034222140619446_r8, 0.012203335547201752_r8, 0.012059514417843201_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,58) / & + 0.00023329872543453493_r8, 0.00024811589739970373_r8, & + 0.00027333148749069958_r8, 0.00027261989596332511_r8, & + 0.00027152955410686419_r8, 0.00028211160875588471_r8, & + 0.00026783386907759671_r8, 0.00022900622170488885_r8, & + 0.00021361518560474073_r8, 0.00025292487885083121_r8, & + 0.00035754031065758022_r8, 0.00052306568175104534_r8, & + 0.00090069123713290523_r8, 0.00142042850690107_r8, & + 0.0019080064305449875_r8, 0.0023232659958987985_r8, & + 0.0029583384795151273_r8, 0.0036461146452879669_r8, & + 0.0045147842636890211_r8, 0.0053869085441826496_r8, & + 0.0062792787513583533_r8, 0.0070657365937822555_r8, & + 0.0077769264162622547_r8, 0.008433495850374912_r8, & + 0.0090832707331294157_r8, 0.0096692778332050037_r8, & + 0.010157842803161087_r8, 0.011084312017237266_r8, 0.011729346782236839_r8, & + 0.01221352743020168_r8, 0.012576783427643658_r8, 0.012738303227074962_r8, & + 0.012779265649029793_r8, 0.012853489236248032_r8, 0.012906629055147128_r8, & + 0.012994682768018372_r8, 0.013217525688913581_r8, 0.013223654557875161_r8, & + 0.013038600590268347_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,58) / & + 0.00029733066952817785_r8, 0.00032487453568995556_r8, & + 0.00034254553553920004_r8, 0.00032289519292681484_r8, & + 0.00032407564433374814_r8, 0.00033272036423300742_r8, & + 0.0003323626516854518_r8, 0.00034768467247241484_r8, & + 0.00048286424419365927_r8, 0.00085564841375288892_r8, & + 0.0012420614313739854_r8, 0.0015173927792274965_r8, & + 0.0019222756880540445_r8, 0.0022749325649374817_r8, & + 0.0026407055685646226_r8, 0.0029906199825834668_r8, & + 0.0035662033191035257_r8, 0.004240145682449778_r8, & + 0.0051464461929365338_r8, 0.0060972222968360299_r8, & + 0.0070252955777173323_r8, 0.0077783639565828736_r8, & + 0.0085596320079473782_r8, 0.0092935627655186953_r8, & + 0.0099670162550499573_r8, 0.010565636279632595_r8, 0.011077976037744831_r8, & + 0.012107234274578015_r8, 0.012796164793666843_r8, 0.013270205461687466_r8, & + 0.013583549729594547_r8, 0.013757076086413748_r8, 0.013790617599622874_r8, & + 0.013815252070397865_r8, 0.013831766466343348_r8, 0.013948142281814756_r8, & + 0.013900661903002546_r8, 0.013708832587500091_r8, 0.013563994776994845_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,58) / & + 0.0003729126663121909_r8, 0.00039798710320646582_r8, & + 0.00040183424177287901_r8, 0.00042226984599061065_r8, & + 0.00043008782532814486_r8, 0.00044957092256962626_r8, & + 0.00050087022686195885_r8, 0.00067067624326438177_r8, & + 0.0010868723110038386_r8, 0.001585998336779417_r8, & + 0.0019099249300273118_r8, 0.0021937101578475191_r8, & + 0.0024966568571769682_r8, 0.0027711273089826766_r8, & + 0.0031200788582429629_r8, 0.0035719259013792127_r8, & + 0.0042762367741036502_r8, 0.005065988759619779_r8, & + 0.0059718600046951365_r8, 0.0069257029647561887_r8, & + 0.0078216656632344485_r8, 0.0086709431496559825_r8, & + 0.0095104357916851231_r8, 0.010321761441702293_r8, 0.011045196675274562_r8, & + 0.01167469245459171_r8, 0.01219429119524643_r8, 0.013313870369175019_r8, & + 0.01410208844735277_r8, 0.014531768055405379_r8, 0.014752997078304846_r8, & + 0.01486572689745508_r8, 0.014857760475471892_r8, 0.014839217514986191_r8, & + 0.014845922174481356_r8, 0.014748061360336998_r8, 0.014552550025796291_r8, & + 0.014407679281307848_r8, 0.014132941456022534_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,58) / & + 0.00041101841096970534_r8, 0.000427257156384237_r8, & + 0.00041859307437932511_r8, 0.00049131496978741722_r8, & + 0.000505118544224237_r8, 0.00052763746742339422_r8, & + 0.0006028329838772675_r8, 0.00075615903864762455_r8, & + 0.0011885813208424821_r8, 0.0019843567462906734_r8, & + 0.0022667084128116938_r8, 0.0024961271522908703_r8, & + 0.0027670719652847144_r8, 0.0030210090315026428_r8, & + 0.0033363893064950515_r8, 0.0038042241013815838_r8, & + 0.0047272564354492574_r8, 0.0057170380876849503_r8, & + 0.0066677032040049758_r8, 0.0076023346419401734_r8, & + 0.0084874167588236109_r8, 0.0094227274812946939_r8, & + 0.010339992305151998_r8, 0.011202875916070188_r8, 0.011969916323981377_r8, & + 0.012622888196620797_r8, 0.013156613591488472_r8, 0.014302002669199959_r8, & + 0.015107903279239688_r8, 0.015618366382925538_r8, 0.015887657842992405_r8, & + 0.015974734430479642_r8, 0.015950510887596085_r8, 0.015888695994830272_r8, & + 0.01578820033358691_r8, 0.015500721991323334_r8, 0.015298218299492555_r8, & + 0.015182073460545047_r8, 0.014858998045263076_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,58) / & + 0.000345903166950716_r8, 0.00040256337896043453_r8, & + 0.00041832001095190108_r8, 0.00042733895855644438_r8, & + 0.00042895706386196546_r8, 0.00046448906479221733_r8, & + 0.00075618570400798031_r8, 0.0010135838160099952_r8, & + 0.001521695408260069_r8, 0.0024815369070735802_r8, & + 0.0027694402830321378_r8, 0.0029805897622443853_r8, & + 0.0032965845073594465_r8, 0.0035025348285408387_r8, & + 0.0037759680988574016_r8, 0.0041615546352681086_r8, & + 0.0052235887683360384_r8, 0.0064098986941312792_r8, & + 0.007502782933270045_r8, 0.0084637783268506055_r8, & + 0.0093785781402743688_r8, 0.010231558373132285_r8, 0.011130548501931615_r8, & + 0.011977706208321304_r8, 0.012691410016480236_r8, 0.013337365612339161_r8, & + 0.013902707732403355_r8, 0.015097227553150379_r8, 0.016017955998308301_r8, & + 0.016551095170160984_r8, 0.016882674126210369_r8, 0.016966523812616135_r8, & + 0.016986498128928551_r8, 0.016876745494476205_r8, 0.01665615264659567_r8, & + 0.016271865899692678_r8, 0.015972091997107557_r8, 0.015814384519294455_r8, & + 0.015626898409122784_r8, 0.015597096092553064_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,58) / & + 0.00025553374003081479_r8, 0.00035265273860253494_r8, & + 0.00044176531493175309_r8, 0.00040587351111176945_r8, & + 0.000455639457584856_r8, 0.00069226762180674888_r8, & + 0.0015447870751076872_r8, 0.0023422212466100412_r8, & + 0.0028129001651538438_r8, 0.0031366804290257119_r8, & + 0.0033201289496197525_r8, 0.0034748420917544028_r8, & + 0.003748623345492016_r8, 0.00402736748424981_r8, 0.0043815419914635069_r8, & + 0.0048182347443580563_r8, 0.0058580139945945018_r8, & + 0.0071641712999196703_r8, 0.0083033179275767578_r8, & + 0.0092589611961312913_r8, 0.010209298838987456_r8, 0.011088593194068543_r8, & + 0.011919766757931851_r8, 0.012722122685573002_r8, 0.013428319288541367_r8, & + 0.014055438762237891_r8, 0.014557074018835752_r8, 0.015803498478766088_r8, & + 0.016824180218413823_r8, 0.017318837274803749_r8, 0.01766160537224731_r8, & + 0.017781633157749204_r8, 0.017851346611692902_r8, 0.017789557322228939_r8, & + 0.017594496747457843_r8, 0.01711422108992474_r8, 0.016674046091739784_r8, & + 0.016472007316760757_r8, 0.016224123548667129_r8, 0.016137567083352889_r8, & + 0.016063090268426665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,58) / & + 0.00024634438282116215_r8, 0.00033210201246893829_r8, & + 0.00039351115697406426_r8, 0.00040545890200917865_r8, & + 0.00044692210723174973_r8, 0.00057281226907685934_r8, & + 0.00098602871170125426_r8, 0.0016848585474873419_r8, & + 0.0025410758587478392_r8, 0.0030676684743417022_r8, & + 0.0034673800013695342_r8, 0.0037298481775496959_r8, & + 0.0041804933380329085_r8, 0.0046361780686968099_r8, & + 0.0050832983612727435_r8, 0.0056156383518479545_r8, & + 0.0067421663164799073_r8, 0.0080339808581616177_r8, & + 0.0091971731114676818_r8, 0.010176237023930454_r8, 0.011166087881555266_r8, & + 0.012076961879522608_r8, 0.01284933263409711_r8, 0.013618489954876615_r8, & + 0.014326379692111131_r8, 0.014977574264812906_r8, 0.015369188504921204_r8, & + 0.016602212779860227_r8, 0.017530555400307818_r8, 0.018030577023684963_r8, & + 0.018353052890864946_r8, 0.018526649096274436_r8, 0.018634263738166547_r8, & + 0.018622811456491892_r8, 0.018451197104524246_r8, 0.017973697829904055_r8, & + 0.017389843805936923_r8, 0.017045978077681042_r8, 0.016842172763379449_r8, & + 0.016711614628874001_r8, 0.016594857803225387_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,58) / & + 0.00029467975965708642_r8, 0.00034018135188163944_r8, & + 0.00035161516019737284_r8, 0.00041036127878510615_r8, & + 0.000417341304806716_r8, 0.00043077566451358022_r8, & + 0.00049822491178097767_r8, 0.00066760006204175798_r8, & + 0.0011228350227607702_r8, 0.0015908326252013036_r8, & + 0.0021422984886031804_r8, 0.0026040023855723455_r8, & + 0.0036251159412483162_r8, 0.0046999669357517433_r8, & + 0.005611926318809443_r8, 0.006408394016082803_r8, 0.0078308736705662418_r8, & + 0.009123667946183741_r8, 0.010261309969751864_r8, 0.011234381086910893_r8, & + 0.012212300255616315_r8, 0.013082627726147633_r8, 0.013868975845946154_r8, & + 0.0145958039112173_r8, 0.015286359205279919_r8, 0.015948556318309135_r8, & + 0.016458784538436896_r8, 0.017602267587964522_r8, 0.018377225707142005_r8, & + 0.018852115720214755_r8, 0.019166056262973311_r8, 0.01938313799275836_r8, & + 0.019494467947546543_r8, 0.019447739739870497_r8, 0.019275137422767093_r8, & + 0.018899077568929185_r8, 0.018326949076195555_r8, 0.017857472964059019_r8, & + 0.017523284139747713_r8, 0.017204024612724779_r8, 0.017035604522360397_r8, & + 0.016968067242487464_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,58) / & + 0.00033077776258027994_r8, 0.00034472821689838362_r8, & + 0.00034286213670912269_r8, 0.0004509894444497647_r8, & + 0.00045466140869314907_r8, 0.0004445033108887046_r8, & + 0.00043124511212468147_r8, 0.00042924359063136147_r8, & + 0.00046609867436926428_r8, 0.00057661877848161987_r8, & + 0.00082802793688317386_r8, 0.0011625077617744067_r8, & + 0.0023639323249151742_r8, 0.0037497226009481624_r8, & + 0.0051213366871562796_r8, 0.0064800688004449849_r8, & + 0.0085821479375122571_r8, 0.010124613704274241_r8, 0.011260319136878695_r8, & + 0.012207249489692117_r8, 0.01309779111291553_r8, 0.013860280507667808_r8, & + 0.014663342097502722_r8, 0.015438156650924394_r8, 0.016157334926445274_r8, & + 0.016855008132688306_r8, 0.017446134179738049_r8, 0.01860652002774886_r8, & + 0.019297225531349729_r8, 0.019750231546326602_r8, 0.020152793200058285_r8, & + 0.020425538126107621_r8, 0.020452688464183834_r8, 0.020317721204688777_r8, & + 0.02011818794687115_r8, 0.019872788996337223_r8, 0.019517479427559208_r8, & + 0.019076081861017752_r8, 0.018549467259543123_r8, 0.017841689164579382_r8, & + 0.01755303047651513_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,58) / & + 0.00035608665135565434_r8, 0.00035294106431365261_r8, & + 0.00034943908071024193_r8, 0.00044470543112514897_r8, & + 0.00044341930440354238_r8, 0.00043827479751711593_r8, & + 0.00040024883396503691_r8, 0.00037026503629866659_r8, & + 0.00036667007967923623_r8, 0.00043590398560861227_r8, & + 0.00064385363143945997_r8, 0.00095866026368234415_r8, & + 0.0020519919410692997_r8, 0.0032977528782206418_r8, & + 0.0045902017649165697_r8, 0.006169735829578824_r8, & + 0.0089750881194561819_r8, 0.011009554647005761_r8, 0.012393566458978475_r8, & + 0.013391771245474556_r8, 0.014135044022044468_r8, 0.014871793191990336_r8, & + 0.015563558917685306_r8, 0.01626037617725069_r8, 0.016980994528917118_r8, & + 0.017660394843481465_r8, 0.018252958361083364_r8, 0.019528610122885051_r8, & + 0.020244440364226474_r8, 0.020759107989906489_r8, 0.021197444769434276_r8, & + 0.02139983152980662_r8, 0.021343474386595979_r8, 0.021160503491069106_r8, & + 0.020939723569027523_r8, 0.02071678977211483_r8, 0.020512853461475501_r8, & + 0.020309165078878894_r8, 0.019773214158917366_r8, 0.018755649900137332_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,58) / & + 0.00035778566762133328_r8, 0.0003528755403822222_r8, & + 0.00033640748376533334_r8, 0.00040052609336177773_r8, & + 0.00040628114509333338_r8, 0.00040870432476977772_r8, & + 0.0004112231562755556_r8, 0.0004037623135875555_r8, & + 0.00045570125691555554_r8, 0.00062098761800355548_r8, & + 0.00090618948913244446_r8, 0.0012974692389920001_r8, & + 0.0023382089680533337_r8, 0.0035219162980248886_r8, & + 0.0047320394748640009_r8, 0.006277278835772445_r8, & + 0.0092947911537795552_r8, 0.011575130765086223_r8, 0.01330874046189511_r8, & + 0.014537531687425779_r8, 0.015351273683507556_r8, 0.016126818715742224_r8, & + 0.016768754084369779_r8, 0.017416476388671998_r8, 0.018037958207793772_r8, & + 0.018628624195898665_r8, 0.019163158502156448_r8, 0.02037667731893689_r8, & + 0.021247300269528892_r8, 0.021813670692983109_r8, 0.022137021702044443_r8, & + 0.022225451818263107_r8, 0.022193312803607115_r8, 0.022017281553690669_r8, & + 0.021781563562270224_r8, 0.021559125233155549_r8, 0.021365769045651108_r8, & + 0.021247686008304921_r8, 0.021208260772485065_r8, 0.021026232949967999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,58) / & + 0.00039873075593323455_r8, 0.0003937486700391242_r8, & + 0.0003938961660030946_r8, 0.00044773219285227977_r8, & + 0.0004585321751029991_r8, 0.00045456617251624022_r8, & + 0.0004494038137772773_r8, 0.00056641727852710442_r8, & + 0.00077505851378341384_r8, 0.0011298354724534779_r8, & + 0.0016420234015608094_r8, 0.0022871379710863275_r8, & + 0.0034917211203919006_r8, 0.0046715577246313339_r8, & + 0.0058952334070508502_r8, 0.0073631951826861807_r8, 0.01006455098592263_r8, & + 0.012237527080895892_r8, 0.013951659620397771_r8, 0.01520494921469445_r8, & + 0.016161394987280538_r8, 0.017034915251234392_r8, 0.017763250321320079_r8, & + 0.018401612853383844_r8, 0.018964424675013893_r8, 0.019511913304831468_r8, & + 0.020055452320502723_r8, 0.021235420032265691_r8, 0.022320285624148641_r8, & + 0.022843093262661839_r8, 0.023059387899604173_r8, 0.023012500571502031_r8, & + 0.022919512560438938_r8, 0.022729799973892163_r8, 0.022490872900700596_r8, & + 0.022303131024116862_r8, 0.022076251503204612_r8, 0.021943048307853985_r8, & + 0.02178091541801461_r8, 0.021403381646538391_r8, 0.021181157905965028_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,58) / & + 0.00044464362513809395_r8, 0.00042592320596674901_r8, & + 0.00046405427559183542_r8, 0.00060329581063337618_r8, & + 0.00074470904897806756_r8, 0.00075119048906886591_r8, & + 0.00066243684709824525_r8, 0.00081385002158302548_r8, & + 0.0012535273484697285_r8, 0.0018172611221852445_r8, & + 0.0025402868079504592_r8, 0.0033481099319945091_r8, & + 0.0046426471195841982_r8, 0.006044288000310663_r8, & + 0.0073445827268901007_r8, 0.0086775540124727577_r8, & + 0.011042942947427623_r8, 0.013003974195263302_r8, 0.014622095175022434_r8, & + 0.015992658813131722_r8, 0.017069032410756069_r8, 0.017995356461551103_r8, & + 0.018848515996412084_r8, 0.019545902115272663_r8, 0.020103743670723821_r8, & + 0.020676736644569045_r8, 0.021287086282210339_r8, 0.022486152699008031_r8, & + 0.023409867338857415_r8, 0.023753703526946938_r8, 0.023795420432258622_r8, & + 0.023755656376428843_r8, 0.023311080090928058_r8, 0.023244397015084798_r8, & + 0.023091601273671561_r8, 0.022906825517628494_r8, 0.022637618482584457_r8, & + 0.022420869025002562_r8, 0.022204239516149617_r8, 0.021892253052516672_r8, & + 0.021707266679732991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,58) / & + 0.0005422378041687702_r8, 0.00052151743169216789_r8, & + 0.00052929405188772342_r8, 0.00088335492870226151_r8, & + 0.0011728352951372641_r8, 0.0012232969195173134_r8, & + 0.00093868990173819251_r8, 0.0012447431098788341_r8, & + 0.0019849391014700245_r8, 0.0027146971406209574_r8, & + 0.0035692785745996638_r8, 0.0043626148041938173_r8, & + 0.005665993630347141_r8, 0.0071690415003659051_r8, & + 0.0084562103937560491_r8, 0.0097195655479695806_r8, & + 0.012061728018467001_r8, 0.014161743817453035_r8, 0.015787057438324148_r8, & + 0.01722683818270751_r8, 0.01844920190780136_r8, 0.019401284877654121_r8, & + 0.020193981696254418_r8, 0.021032750669168827_r8, 0.021756477507323652_r8, & + 0.022471477249481241_r8, 0.023069067308064156_r8, 0.02419159651122528_r8, & + 0.024928837387142161_r8, 0.02505310777786714_r8, 0.024655048512123967_r8, & + 0.024657692562990451_r8, 0.023259058780130688_r8, 0.024184072322590046_r8, & + 0.024144228870737326_r8, 0.023779398115582433_r8, 0.023230008783355734_r8, & + 0.022915522262647467_r8, 0.022725617197471997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,58) / & + 0.00092183032124590618_r8, 0.00088564778531900561_r8, & + 0.00086871769134047063_r8, 0.0013838357444653827_r8, & + 0.0014854694918778862_r8, 0.0015896737771195918_r8, & + 0.0016707786775926779_r8, 0.0022201114756166189_r8, & + 0.0029975130265555883_r8, 0.0039573873076736788_r8, & + 0.0047636143379939022_r8, 0.0055194588268617749_r8, & + 0.0069022486283483774_r8, 0.008360275412918651_r8, & + 0.0097535069163459404_r8, 0.011045157855902023_r8, 0.013351231662096567_r8, & + 0.015306258640057651_r8, 0.016908448277228389_r8, 0.01829371997730871_r8, & + 0.019448955133446123_r8, 0.020410407192955931_r8, 0.021256273689387158_r8, & + 0.022179096770070548_r8, 0.022978445395716769_r8, 0.023697557785397699_r8, & + 0.024282829361450944_r8, 0.025335327211694007_r8, 0.025611553661250602_r8, & + 0.025672239247553838_r8, 0.025378486985042484_r8, 0.024579564714118967_r8, & + 0.023697483391753628_r8, 0.025290299384547226_r8, 0.025373754536259684_r8, & + 0.02518038582805799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,58) / & + 0.0016096082950821397_r8, 0.0016543716353495967_r8, & + 0.0017508227302742384_r8, 0.0020955395251130208_r8, & + 0.0019809141142048394_r8, 0.0022238138473248399_r8, & + 0.0029973331816897449_r8, 0.0036080765267375806_r8, & + 0.004383649558808626_r8, 0.0052571458053989797_r8, & + 0.0060001254735430444_r8, 0.0068895764977774483_r8, & + 0.0080839289341096965_r8, 0.0094067783280245582_r8, & + 0.010805497377636777_r8, 0.012062360698335765_r8, 0.014135586382458638_r8, & + 0.015937534437218643_r8, 0.017411785619517093_r8, 0.018745474045667995_r8, & + 0.019860779241877978_r8, 0.020837716230595434_r8, 0.021706980457892475_r8, & + 0.022569456253628314_r8, 0.023304855933841816_r8, 0.023984568860799041_r8, & + 0.024578937471687063_r8, 0.025502909635508129_r8, 0.025583852197154391_r8, & + 0.02592341767685245_r8, 0.026134859486436544_r8, 0.025128722862760685_r8, & + 0.025207470681027116_r8, 0.026109513131008_r8, 0.02625451691108267_r8, & + 0.025837171005994666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,58) / & + 0.0027725697037721945_r8, 0.0029607710309844846_r8, & + 0.0031289643343598034_r8, 0.0032609255805479704_r8, & + 0.0032858799593791298_r8, 0.0034194352777577011_r8, & + 0.0041015331152934086_r8, 0.0046571067098115249_r8, & + 0.0051089681022183147_r8, 0.005777912292138118_r8, & + 0.0064959024074142157_r8, 0.0073675096336142326_r8, & + 0.0084687860277198393_r8, 0.0096390812088536382_r8, & + 0.011070460276716076_r8, 0.012360740014718621_r8, 0.014441563844284267_r8, & + 0.01631181452815729_r8, 0.017772817602176444_r8, 0.019126271677987687_r8, & + 0.02026396997815761_r8, 0.021259089394104178_r8, 0.022135284839885902_r8, & + 0.023008141113420966_r8, 0.023762982576612426_r8, 0.024475537633924946_r8, & + 0.025056355852108084_r8, 0.025961863951222956_r8, 0.026208689530561598_r8, & + 0.026424223253343364_r8, 0.026646292871614179_r8, 0.026146179555755916_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,58) / & + 0.003649521180262562_r8, 0.0038017434571410965_r8, & + 0.0039923969274346669_r8, 0.0042369344568391112_r8, & + 0.0044665423265536006_r8, 0.0047056742895185784_r8, & + 0.0051105769566272006_r8, 0.0055425074559331553_r8, & + 0.0060707085194467558_r8, 0.0061855124543039996_r8, & + 0.0070287808188608004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,58) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,58) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,58) / & + 0.002691863435375337_r8, 0.0024894676311451847_r8, & + 0.0027659506878925429_r8, 0.0030970727369046911_r8, & + 0.0035462048919920985_r8, 0.0041757306339076537_r8, & + 0.0055512204419358013_r8, 0.0067627571402528374_r8, & + 0.007875470311283949_r8, 0.006376315595710615_r8, 0.0061483771126044431_r8, & + 0.0042353198357659248_r8, 0.0040085857832177765_r8, & + 0.0041540207730992587_r8, 0.0039888933435940728_r8, & + 0.0036604902965666659_r8, 0.0030369264859133331_r8, & + 0.0029458134649676189_r8, 0.0028926206496799993_r8, & + 0.0028633529871199995_r8, 0.0028825937652844436_r8, & + 0.0028666049496266664_r8, 0.0031042692094888878_r8, & + 0.0031225343989013327_r8, 0.0033274080368213329_r8, & + 0.0034080567069866663_r8, 0.0035909795979866656_r8, & + 0.0039283707080533326_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,58) / & + 0.0028729458267176032_r8, 0.0025785415080395321_r8, & + 0.0028722836859952465_r8, 0.0032816521875925859_r8, & + 0.0035535851055056591_r8, 0.0039740858479976292_r8, & + 0.0053216663693799763_r8, 0.0057826404635260313_r8, & + 0.0075659095802194159_r8, 0.0062832602334232223_r8, & + 0.0058687601412276136_r8, 0.0041978480283592166_r8, & + 0.0038360708911813002_r8, 0.0037211894758523256_r8, & + 0.0040288366089775403_r8, 0.003692515678789623_r8, & + 0.0031733507956920358_r8, 0.0030112763349719306_r8, & + 0.0029586309745701397_r8, 0.0029342766111259389_r8, & + 0.0029459209764855178_r8, 0.0029235789000803558_r8, & + 0.003058341090598105_r8, 0.0031033035494307942_r8, & + 0.0033796541874758449_r8, 0.0034675511513797374_r8, & + 0.0036216459295998287_r8, 0.0039121387406401351_r8, & + 0.0040817994237329104_r8, 0.0041228879344169141_r8, & + 0.0041523526687072794_r8, 0.0040861610281776638_r8, & + 0.0040656211125916792_r8, 0.0045247593181255109_r8, & + 0.0044683325134421328_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,58) / & + 0.0028465834567640491_r8, 0.002602073061623229_r8, & + 0.0029676666069462124_r8, 0.0034797021459425179_r8, & + 0.0037038828463853827_r8, 0.0035972052241023994_r8, & + 0.0045538089924370157_r8, 0.0049511117471002057_r8, & + 0.0073840690255756632_r8, 0.0061290833021458947_r8, & + 0.0053714292504780641_r8, 0.0040386195804687003_r8, & + 0.0031928701851097275_r8, 0.0029847145689570762_r8, & + 0.0035348523030476636_r8, 0.0033734507227098066_r8, & + 0.0031138528811893726_r8, 0.0028445803212277716_r8, & + 0.0028375480368982913_r8, 0.002841810027401007_r8, & + 0.0028540845600488296_r8, 0.0028356301411720688_r8, & + 0.0028439410226523657_r8, 0.0029512153236057287_r8, & + 0.0031944897415007601_r8, 0.003339056459352889_r8, & + 0.0034674276132946958_r8, 0.0037531940765018071_r8, & + 0.0040564879756513367_r8, 0.004187517546169214_r8, & + 0.0042223060436476344_r8, 0.0041957249221658737_r8, & + 0.0042190440987735908_r8, 0.0043830873521533984_r8, & + 0.0042711757011051881_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,58) / & + 0.0027406500835679866_r8, 0.0025096604530528395_r8, & + 0.0026998201336895736_r8, 0.0036833351239938627_r8, & + 0.0041218075610340073_r8, 0.0035212432928976066_r8, & + 0.0040751009051580569_r8, 0.0045462460733039145_r8, 0.00642135384666743_r8, & + 0.0058466207713112487_r8, 0.0048299944897521778_r8, & + 0.0036734236646248824_r8, 0.0026852160807255441_r8, & + 0.0026607882804223471_r8, 0.0030065052459341958_r8, & + 0.0031214957170203391_r8, 0.0028441502787484975_r8, & + 0.0026842512483975906_r8, 0.0026705243157317008_r8, & + 0.002719862332502071_r8, 0.0027431498764176852_r8, & + 0.0027618763947829723_r8, 0.002794943830022848_r8, & + 0.0028592806038914105_r8, 0.0031283372553458297_r8, & + 0.0032866136131451786_r8, 0.0033588006136820938_r8, & + 0.0035930794453152663_r8, 0.0038851605045958581_r8, & + 0.0041996081314790192_r8, 0.0041341311012228739_r8, & + 0.0040595320198660734_r8, 0.0040224736872696626_r8, & + 0.0040857908087916376_r8, 0.0041144029428028363_r8, & + 0.0040212457188522665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,58) / & + 0.002645329500619457_r8, 0.0029404123652244803_r8, & + 0.0027143204515433085_r8, 0.003653093397480349_r8, & + 0.0040949511282665088_r8, 0.0037102702117100513_r8, & + 0.0046558520684899032_r8, 0.0048824850876685181_r8, & + 0.0053206903563469445_r8, 0.0043038178502791116_r8, & + 0.0034684862386030616_r8, 0.0030666703146276083_r8, & + 0.0026163352643815245_r8, 0.0026814933846984958_r8, & + 0.0029012724009095116_r8, 0.0028865272761042175_r8, & + 0.0026818541216967898_r8, 0.0026400537220193972_r8, & + 0.0026514169374656791_r8, 0.0027358744871914141_r8, & + 0.0027941786045407868_r8, 0.0028545118675055671_r8, 0.00293188995363977_r8, & + 0.0030324453919144032_r8, 0.0033347429964853204_r8, & + 0.0034537411137977683_r8, 0.0035579039220553486_r8, & + 0.0037961256173041778_r8, 0.0041299490588332021_r8, & + 0.0043241904722578026_r8, 0.0041223107749809185_r8, & + 0.0040815249481112297_r8, 0.0040270423883375407_r8, & + 0.0040550445978301637_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,58) / & + 0.0025306334904320001_r8, 0.0033551370827946663_r8, & + 0.0030517334739626665_r8, 0.003474710256469333_r8, & + 0.0035254396734293336_r8, 0.0038699827546453333_r8, & + 0.0050629811255466662_r8, 0.0040126737174186666_r8, & + 0.0032333864820906664_r8, 0.0027869212846079999_r8, & + 0.0025918330884266666_r8, 0.0025053846025386664_r8, & + 0.002440617730474666_r8, 0.0025214604999679998_r8, & + 0.0025573648818346664_r8, 0.0025969291942399991_r8, & + 0.0025732554663253325_r8, 0.002584698540288_r8, 0.0026551637852160002_r8, & + 0.0027685753036799997_r8, 0.0028692465576106658_r8, & + 0.0029858083960319992_r8, 0.0031204845742079995_r8, & + 0.0032707270392319993_r8, 0.0034792967517013329_r8, & + 0.0036229142791679991_r8, 0.0038248590540799991_r8, & + 0.0041640280600746659_r8, 0.0042934228194986667_r8, & + 0.0042512641259519991_r8, 0.0041817254457173327_r8, & + 0.0041899255432533327_r8, 0.0042115145006079999_r8, & + 0.0042105242345919988_r8, 0.004232292713855999_r8, & + 0.0042530014347519985_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,59) / & + 0.0038146439476993391_r8, 0.0039479760048888885_r8, & + 0.0040999475359259257_r8, 0.0043951166893333336_r8, & + 0.0044239262282222223_r8, 0.0047372866466666675_r8, & + 0.0050319912419259268_r8, 0.0053466219148888888_r8, & + 0.0055397574580740737_r8, 0.0057497890504444437_r8, & + 0.0058539152524444442_r8, 0.0059837017051111102_r8, & + 0.0059852576282222215_r8, 0.0062007626862962961_r8, & + 0.006443257879407408_r8, 0.0066285250556296299_r8, & + 0.0068509707511111113_r8, 0.0072708065103703704_r8, & + 0.0075528279748148146_r8, 0.0078080437407407402_r8, & + 0.0080120055688888882_r8, 0.0082447700022222226_r8, & + 0.0083870357348148142_r8, 0.0085204124592592589_r8, & + 0.0086493100111111106_r8, 0.0087498071125925916_r8, & + 0.008842801946666666_r8, 0.0091724856903703713_r8, & + 0.0094108386888888881_r8, 0.0095896866422222234_r8, & + 0.0097158245799999991_r8, 0.0098786972799999994_r8, & + 0.0099640650399999992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,59) / & + 0.0032013649595061732_r8, 0.0033133766316049383_r8, & + 0.0035005773866666669_r8, 0.0037733400454320991_r8, & + 0.0037849239530864196_r8, 0.004125599928395062_r8, & + 0.0042073621624691363_r8, 0.0046573595328395058_r8, & + 0.0050083251244444427_r8, 0.0053099504804938269_r8, & + 0.0055409352632098761_r8, 0.0058117379950617274_r8, & + 0.0060351049486419761_r8, 0.0062609587906172848_r8, & + 0.0064361688607407399_r8, 0.006569952362469135_r8, & + 0.0067838432543209874_r8, 0.0070770187367901229_r8, & + 0.0072977878627160488_r8, 0.0075359467175308637_r8, & + 0.0077591842419753075_r8, 0.0079865172740740745_r8, & + 0.0081556811545679016_r8, 0.0083103027471604935_r8, & + 0.0084578981866666649_r8, 0.0085870499743209861_r8, & + 0.0086969630454320976_r8, 0.0090154141891358036_r8, & + 0.0092841922795061736_r8, 0.0094968443496296299_r8, & + 0.0096628094814814828_r8, 0.0098317133480864197_r8, & + 0.0099483801767813029_r8, 0.010022304486153438_r8, 0.010141096362962962_r8, & + 0.010236603971259259_r8, 0.010323910394814813_r8, 0.010306284919999999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,59) / & + 0.0019967402577777773_r8, 0.0020214427328395061_r8, & + 0.0021925942750617286_r8, 0.0024135298098765432_r8, & + 0.002568659874074074_r8, 0.0027824028469135803_r8, & + 0.0024864261481481477_r8, 0.0029662291995061728_r8, & + 0.0034097458681481476_r8, 0.0037992720972839498_r8, & + 0.0041665457600000002_r8, 0.0046150362054320987_r8, & + 0.0052263115239506172_r8, 0.0055456594266666669_r8, & + 0.0057420034256790127_r8, 0.0059180362953086419_r8, & + 0.0061690548592592594_r8, 0.0063758363935802458_r8, & + 0.0065545133155555553_r8, 0.0067321178246913579_r8, & + 0.0069075220385185184_r8, 0.0071208952138271595_r8, & + 0.0073200681639506169_r8, 0.0075206740795061722_r8, & + 0.0077215388533333328_r8, 0.0079209336819753094_r8, & + 0.0081054256701234562_r8, 0.008512128994567901_r8, & + 0.0088624197056790116_r8, 0.009175111252839506_r8, & + 0.0094340989535802479_r8, 0.0096412872651851864_r8, & + 0.0097984327259259246_r8, 0.0099249959308641972_r8, & + 0.010064455824691355_r8, 0.01016868325876543_r8, 0.010248575704074073_r8, & + 0.010267413421419753_r8, 0.010258202656402114_r8, 0.010188557564814814_r8, & + 0.010171212904999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,59) / & + 0.0013015578795061726_r8, 0.001308408378765432_r8, 0.001398712935802469_r8, & + 0.0014946569051851851_r8, 0.0016377962844444445_r8, & + 0.0017498541812345681_r8, 0.0015452821871604937_r8, & + 0.0016246222474074071_r8, 0.0018302851441975309_r8, & + 0.0021569827728395059_r8, 0.0025322717970370362_r8, & + 0.0030709651051851854_r8, 0.0038911760286419756_r8, & + 0.0043356819056790119_r8, 0.0045418717639506175_r8, & + 0.0048458730691358018_r8, 0.0052897780251851849_r8, & + 0.0056992640760493837_r8, 0.0059405014953086413_r8, & + 0.0061447499165432099_r8, 0.0063049831866666657_r8, & + 0.0064889204785185178_r8, 0.0066501891817283961_r8, & + 0.0068190294893827174_r8, 0.0069939899461728405_r8, & + 0.0071921644429629641_r8, 0.0074005638414814806_r8, & + 0.0079452940943209871_r8, 0.0083807306869135793_r8, & + 0.008766133673580246_r8, 0.0090958728869135804_r8, & + 0.0093857849061728393_r8, 0.0096058421718518486_r8, & + 0.0097415601769135791_r8, 0.0098440819198765423_r8, & + 0.0099493655881481482_r8, 0.010029491798324514_r8, 0.010104691446931217_r8, & + 0.010142650305015872_r8, 0.010158481238259258_r8, 0.010172184056874999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,59) / & + 0.00076960413135802473_r8, 0.0007729600439506174_r8, & + 0.00077369963901234573_r8, 0.00089229370716049363_r8, & + 0.00093025342370370388_r8, 0.0010093253807407407_r8, & + 0.00089154486716049378_r8, 0.00096160300938271607_r8, & + 0.00104365183654321_r8, 0.0011832596493827161_r8, 0.0013334159367901235_r8, & + 0.0016714755945679014_r8, 0.0021900056923456791_r8, & + 0.0024845124459259263_r8, 0.0026691338632098757_r8, & + 0.0029917452291358024_r8, 0.0035429376938271601_r8, & + 0.0040838497871604935_r8, 0.0044959983802469131_r8, & + 0.0049305012340740738_r8, 0.0052612204108641973_r8, & + 0.0055666546814814814_r8, 0.0057644686256790121_r8, & + 0.0059852562414814802_r8, 0.0061754153767901235_r8, & + 0.0063459937328395073_r8, 0.0065140297308641975_r8, & + 0.0069509177787654315_r8, 0.0074182863881481478_r8, & + 0.0079091556306172834_r8, 0.0083727985298765444_r8, & + 0.0087519149585185193_r8, 0.0090654847748148134_r8, & + 0.0092929287461728394_r8, 0.0094669092395061726_r8, & + 0.0096629204207407376_r8, 0.0098691185994567894_r8, & + 0.0099830467472592586_r8, 0.01008987016_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,59) / & + 0.00028173024888888888_r8, 0.00028279341679012345_r8, & + 0.00027759776148148142_r8, 0.00034104577283950615_r8, & + 0.00034956960592592585_r8, 0.00038032751555555562_r8, & + 0.00041927644049382718_r8, 0.00048090319901234569_r8, & + 0.00054514627506172843_r8, 0.00059314599456790134_r8, & + 0.00062281300148148144_r8, 0.0007087169679012345_r8, & + 0.00084877778271604941_r8, 0.00092869102913580254_r8, & + 0.0010103515688888889_r8, 0.0011422768380246911_r8, & + 0.0014127375071604938_r8, 0.001713854391604938_r8, & + 0.0020897905614814813_r8, 0.0025844779634567896_r8, & + 0.0030728510725925918_r8, 0.003537612609382716_r8, & + 0.0039484391762962959_r8, 0.0043998510222222221_r8, & + 0.0048044927254320986_r8, 0.0051551624790123459_r8, & + 0.0054711637140740727_r8, 0.0060936069180246898_r8, & + 0.0065193548153086407_r8, 0.0069224895935802461_r8, & + 0.007420995155061727_r8, 0.0079548695391358035_r8, & + 0.0083848978428395053_r8, 0.0086786891042328028_r8, & + 0.0088387556352910041_r8, 0.0090107388587636686_r8, & + 0.0092163760348148143_r8, 0.0093846126479999979_r8, & + 0.0093631209399999988_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,59) / & + 0.00015087739259259258_r8, 0.0001505723096296296_r8, & + 0.00012864331604938272_r8, 0.00017966613037037038_r8, & + 0.00018039648049382717_r8, 0.00020010668888888891_r8, & + 0.0002420787086419753_r8, 0.00027146836740740736_r8, & + 0.00030260531950617277_r8, 0.0003360257713580247_r8, & + 0.00037127672098765426_r8, 0.00043843195259259262_r8, & + 0.00051320501333333344_r8, 0.00053444988148148144_r8, & + 0.0005666407565432099_r8, 0.0005983231599999999_r8, & + 0.00070021162469135817_r8, 0.00080920020197530849_r8, & + 0.0010374854627160494_r8, 0.0014267805683950616_r8, & + 0.0018806977925925927_r8, 0.002400688590617284_r8, & + 0.0028953297679012347_r8, 0.0034470307041975304_r8, & + 0.0039703034553086412_r8, 0.004475151044444443_r8, & + 0.0049322577723456794_r8, 0.0059042151125925924_r8, & + 0.0065584516592592599_r8, 0.0070617091190123462_r8, & + 0.0074726096454320982_r8, 0.0079388133925925915_r8, & + 0.0083019175881481489_r8, 0.0085375155950617281_r8, & + 0.0087227853136419755_r8, 0.0088533145970987655_r8, & + 0.0089450593834479713_r8, 0.0090573994324523802_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,59) / & + 0.00021944709975308643_r8, 0.00021558271555555553_r8, & + 0.00018745961333333329_r8, 0.00020740094518518519_r8, & + 0.0001973609422222222_r8, 0.00019938558370370376_r8, & + 0.00022179531407407404_r8, 0.00022349638271604939_r8, & + 0.0002166458834567901_r8, 0.00022537310518518517_r8, & + 0.00024839300148148146_r8, 0.00032012447753086416_r8, & + 0.00043603751358024687_r8, 0.00048241012395061725_r8, & + 0.0004999477718518519_r8, 0.00052475194123456788_r8, & + 0.00063299167851851856_r8, 0.00075376755209876538_r8, & + 0.00097144886864197527_r8, 0.0013610120775308643_r8, & + 0.0018378012790123454_r8, 0.0024219889283950613_r8, & + 0.0029643617219753081_r8, 0.0035697942395061721_r8, & + 0.004142971167407407_r8, 0.0046961143140740727_r8, & + 0.0052010451076543208_r8, 0.006307386870617283_r8, 0.007253162545679012_r8, & + 0.0079787237911111107_r8, 0.0084504375214814811_r8, & + 0.0087327409565432085_r8, 0.0088626230943209885_r8, & + 0.0089140804207407404_r8, 0.0088421825358024689_r8, & + 0.0089435163041975303_r8, 0.0089777040859259256_r8, & + 0.0090538719767283941_r8, 0.0091029951213227513_r8, & + 0.0091115814237777773_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,59) / & + 0.00024094158123456785_r8, 0.00022753642074074069_r8, & + 0.00021415899506172837_r8, 0.00025042688790123451_r8, & + 0.00024068272296296294_r8, 0.00021764433679012342_r8, & + 0.00022307111555555555_r8, 0.00023090157827160496_r8, & + 0.00021896636296296293_r8, 0.00020793715160493824_r8, & + 0.00020548724296296297_r8, 0.00022961653185185182_r8, & + 0.00031894112543209873_r8, 0.00038144615308641975_r8, & + 0.00042578487703703698_r8, 0.00045833630469135802_r8, & + 0.00053726958765432087_r8, 0.0006637588330864197_r8, & + 0.00087810272691358018_r8, 0.0011984121032098767_r8, & + 0.0016786311767901236_r8, 0.0023109017501234566_r8, & + 0.0029188951155555555_r8, 0.0035782256232098765_r8, & + 0.0042151001758024692_r8, 0.0048132569269135799_r8, & + 0.0053461074340740737_r8, 0.0065072162113580237_r8, & + 0.0076416256069135784_r8, 0.0083989062355555553_r8, & + 0.0088560037185185167_r8, 0.0090339687802469138_r8, & + 0.0091125692454320992_r8, 0.0091227016977777787_r8, & + 0.0090689608716049384_r8, 0.0090863968251851841_r8, & + 0.009059157770185183_r8, 0.0090802755204320972_r8, & + 0.0091130565857495578_r8, 0.0091111845187671937_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,59) / & + 0.00020526536444444445_r8, 0.00018688642716049384_r8, & + 0.00017936104740740743_r8, 0.00014515477580246907_r8, & + 0.00014928726320987654_r8, 0.00014668019061728395_r8, & + 0.00015606380296296295_r8, 0.00015280958469135803_r8, & + 0.0001686738987654321_r8, 0.00017602362469135803_r8, & + 0.00018077552296296296_r8, 0.00016698207506172838_r8, & + 0.00019722226814814813_r8, 0.00026863017135802462_r8, & + 0.00034344021185185179_r8, 0.00040755385876543204_r8, & + 0.00050914648543209874_r8, 0.00062494858222222221_r8, & + 0.00083455906765432107_r8, 0.0011473615540740741_r8, & + 0.0016121508256790123_r8, 0.0022836291822222222_r8, & + 0.0029437177748148141_r8, 0.003664896919506173_r8, & + 0.0043504090923456784_r8, 0.0049875147683950622_r8, 0.00558629093037037_r8, & + 0.0068401634182716038_r8, 0.0079419196918518523_r8, & + 0.008625481182716048_r8, 0.0090589023787654311_r8, & + 0.0092132836029629652_r8, 0.009282944212839506_r8, 0.009263354188641975_r8, & + 0.0091894131723456781_r8, 0.0091529210897530848_r8, & + 0.0091322297622839482_r8, 0.0091201893858024689_r8, & + 0.009132126086904762_r8, 0.0091175107805000002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,59) / & + 0.00016207301283950617_r8, 0.00014698527358024692_r8, & + 0.00014312088938271605_r8, 9.397479753086419e-05_r8, & + 9.3752919012345682e-05_r8, 0.00010400555555555557_r8, & + 9.9854578271604941e-05_r8, 0.00010085303160493828_r8, & + 0.00010290540790123456_r8, 0.00010215656790123459_r8, & + 0.00011076360543209877_r8, 0.00014393444395061728_r8, & + 0.00014798372691358027_r8, 0.00021535159209876541_r8, & + 0.00030131102814814811_r8, 0.00038367418320987655_r8, & + 0.00050410799407407409_r8, 0.00062172209876543204_r8, & + 0.00082167162370370397_r8, 0.0011663783920987654_r8, & + 0.0016637560711111109_r8, 0.002373212634074074_r8, & + 0.0030893810222222219_r8, 0.0038903266499382715_r8, & + 0.0046266235799382709_r8, 0.0053147150905555555_r8, & + 0.0059972319033950615_r8, 0.0073907306940123449_r8, & + 0.0084211021767283956_r8, 0.0089544819566049379_r8, & + 0.0092741788557407397_r8, 0.00940132911425926_r8, 0.0094593133670987633_r8, & + 0.009457023428906525_r8, 0.009413422153871252_r8, 0.0093653866432469139_r8, & + 0.0092749674159576696_r8, 0.0091265291022222198_r8, & + 0.0091403410399999996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,59) / & + 0.00014127190172839507_r8, 0.00012913329777777775_r8, & + 0.00012462176790123454_r8, 8.1327721975308614e-05_r8, & + 8.1392436543209875e-05_r8, 8.6828460246913554e-05_r8, & + 8.6042640493827165e-05_r8, 8.2714462716049404e-05_r8, & + 8.570057777777778e-05_r8, 9.0212107654320987e-05_r8, & + 9.0184372839506179e-05_r8, 0.00012783900641975308_r8, & + 0.00017910218913580242_r8, 0.00020854731753086421_r8, & + 0.00027974258716049382_r8, 0.00037413340691358027_r8, & + 0.00053015098518518502_r8, 0.0006793180641975308_r8, & + 0.00092682355160493828_r8, 0.0012973791674074076_r8, & + 0.0018971722725925923_r8, 0.0026978671313580248_r8, & + 0.0035667618997530866_r8, 0.004403558242469136_r8, & + 0.0051793379925925915_r8, 0.0058558825753086408_r8, & + 0.0064908434256790116_r8, 0.0077664230286419739_r8, & + 0.0086663068301234564_r8, 0.0091416723111111091_r8, & + 0.0094134919861728374_r8, 0.0095135776879012347_r8, & + 0.0095547361530864197_r8, 0.0095591090088888893_r8, & + 0.0095376003298236339_r8, 0.0095145318976014113_r8, & + 0.0094229394168934225_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,59) / & + 0.00014048663815079506_r8, 0.00013035911767151931_r8, & + 0.00012683144546629793_r8, 9.7795989623321802e-05_r8, & + 9.6342278549741548e-05_r8, 9.7912286509208211e-05_r8, & + 8.8850820817224687e-05_r8, 8.334610155193415e-05_r8, & + 8.2745234308187647e-05_r8, 9.4093872089270761e-05_r8, & + 8.6999762050199173e-05_r8, 0.00010411478708981726_r8, & + 0.00015777610851924276_r8, 0.00019942008507373827_r8, & + 0.00025879933672591266_r8, 0.00041201079247411355_r8, & + 0.00068130592315127569_r8, 0.00086108152591736617_r8, & + 0.0011694911758809942_r8, 0.0016523946117100376_r8, & + 0.0024482045104236511_r8, 0.0034687290668912983_r8, & + 0.0044759376299249509_r8, 0.0053365927339274009_r8, & + 0.0060978527661255891_r8, 0.0067617819962440019_r8, & + 0.0073538300594774512_r8, 0.0084535527952337482_r8, & + 0.0091863007075754528_r8, 0.0096336948275805093_r8, & + 0.0099125820284915109_r8, 0.010020461927261899_r8, 0.010050833585866677_r8, & + 0.010092085060431306_r8, 0.010086134190315101_r8, 0.010024676720234568_r8, & + 0.0099086146086865313_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,59) / & + 0.00015435930062764771_r8, 0.00014597527714025349_r8, & + 0.00014680658297576294_r8, 0.00013695256746216295_r8, & + 0.00013642539790793744_r8, 0.00013422547880665019_r8, & + 0.00012133010048021069_r8, 9.9259944335038666e-05_r8, & + 9.5873893736744004e-05_r8, 9.6127340637813986e-05_r8, & + 9.5012174273106164e-05_r8, 0.00010333537050424363_r8, & + 0.00015212896789823207_r8, 0.00020164235449125927_r8, & + 0.00032395582894762144_r8, 0.00060058805252746013_r8, & + 0.0010803934498810207_r8, 0.001341403206478907_r8, & + 0.0018456003335914398_r8, 0.0025863749360387164_r8, & + 0.0035388993553919206_r8, 0.0045325632757268006_r8, & + 0.0054723139712660801_r8, 0.0062331210167739237_r8, & + 0.0068876121562209446_r8, 0.0075114869100187118_r8, & + 0.0080355035847949185_r8, 0.0089704185134617791_r8, & + 0.0096158362538504953_r8, 0.010040167193497863_r8, 0.010328457974526918_r8, & + 0.010476460826875733_r8, 0.010498703326913633_r8, 0.010595702524891127_r8, & + 0.010675506617865533_r8, 0.010767032412774217_r8, 0.010878798911682754_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,59) / & + 0.00019602206807387655_r8, 0.00018826374324136297_r8, & + 0.00020380156159624692_r8, 0.000224218762963121_r8, & + 0.00022346727447320491_r8, 0.00022559472780381238_r8, & + 0.00019445558502447405_r8, 0.00012794356149443953_r8, & + 0.00011799427726174816_r8, 0.00011181301982356545_r8, & + 0.00011285028562654815_r8, 0.00012816583273793581_r8, & + 0.00018250585960031602_r8, 0.00024725029752730858_r8, & + 0.00057028450474192588_r8, 0.00098889534665995058_r8, & + 0.0017214166904643158_r8, 0.0022502105630869337_r8, & + 0.0031185713897023204_r8, 0.004027173895735466_r8, & + 0.0049400524771196852_r8, 0.0057560948867540146_r8, & + 0.0065370184399159304_r8, 0.0071677924759236331_r8, & + 0.0077523975993536798_r8, 0.0083097480345931066_r8, & + 0.0087170865491623898_r8, 0.0095255929052077016_r8, & + 0.010043389643449717_r8, 0.010465218126225976_r8, 0.010793131716452581_r8, & + 0.01096871541446973_r8, 0.011022568561465402_r8, 0.011121331083992259_r8, & + 0.011233526463276359_r8, 0.011277027856323443_r8, 0.011426458464924469_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,59) / & + 0.00024619673351448235_r8, 0.00025302480726534319_r8, & + 0.00029558168695972348_r8, 0.00030300542465653993_r8, & + 0.00030078823107992762_r8, 0.00031982741572287736_r8, & + 0.00028062390342795064_r8, 0.00019609477717133169_r8, & + 0.00017423170419200002_r8, 0.00016474520431196708_r8, & + 0.00016847361938109628_r8, 0.00021809021991643131_r8, & + 0.0003231366598670749_r8, 0.00056153460801506509_r8, & + 0.00098997141655050532_r8, 0.0014518646833837829_r8, & + 0.0021700809708127869_r8, 0.0028314334130306634_r8, & + 0.0037692290802409877_r8, 0.0046880738093188741_r8, & + 0.0055761205062280954_r8, 0.0063654193578744625_r8, & + 0.0071126466856342658_r8, 0.0077553349908788668_r8, & + 0.008363309325050838_r8, 0.0089242372383061333_r8, & + 0.0093444891829915899_r8, 0.010161530531380147_r8, 0.010687148809616857_r8, & + 0.011106187364782777_r8, 0.011447105696518006_r8, 0.011631176886632084_r8, & + 0.01171845268552839_r8, 0.011825694257428019_r8, 0.011949515142490076_r8, & + 0.012032182818915585_r8, 0.012645928435479271_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,59) / & + 0.00029534491570851033_r8, 0.00033567608711486413_r8, & + 0.0003912605672289712_r8, 0.00037691396385448558_r8, & + 0.00037371180198130047_r8, 0.00039966193816506993_r8, & + 0.0003690175933571687_r8, 0.00030345935457711925_r8, & + 0.00028421195148990941_r8, 0.00032367084941109465_r8, & + 0.0004356202648628806_r8, 0.0006019834775934155_r8, & + 0.00083420333845418931_r8, 0.0012682512155872264_r8, & + 0.0016698642918112267_r8, 0.0020535268978930698_r8, 0.00264700570900609_r8, & + 0.0033257492532943536_r8, 0.0042929742982367736_r8, & + 0.0052622882086305195_r8, 0.0061968144751618102_r8, & + 0.0070041839266643622_r8, 0.0077010041912044776_r8, & + 0.0083745600037125265_r8, 0.0090043185054389466_r8, & + 0.0095648460379214473_r8, 0.010042186225397334_r8, 0.0109495572410614_r8, & + 0.011532442520242698_r8, 0.011973847335586173_r8, 0.012310016945857118_r8, & + 0.012493710855464033_r8, 0.012608724705396609_r8, 0.012756701311242406_r8, & + 0.012884845172583309_r8, 0.013055994412199571_r8, 0.013469146953401212_r8, & + 0.013392616801273015_r8, 0.01305325134163437_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,59) / & + 0.00036936205285428148_r8, 0.00044209693752391121_r8, & + 0.00047664004586619259_r8, 0.00044250234507780747_r8, & + 0.00044035606979247398_r8, 0.00046039989620717044_r8, & + 0.00045199365133961482_r8, 0.00049051929271134824_r8, & + 0.00065206227918743708_r8, 0.0010067223463371855_r8, & + 0.0013686678257054817_r8, 0.0015135891024718226_r8, & + 0.001703653702739674_r8, 0.0020474870034500742_r8, 0.0023756047995712_r8, & + 0.0027566044339726223_r8, 0.0034073431767341045_r8, & + 0.0040980264873059554_r8, 0.0050697883939953793_r8, & + 0.0060499088505460152_r8, 0.0069891069916562971_r8, & + 0.0077146791993664005_r8, 0.0084249770812958834_r8, & + 0.0091534944556475265_r8, 0.0098251713061925927_r8, & + 0.010407551181116208_r8, 0.01090794334014009_r8, 0.011878155159123438_r8, & + 0.012521501175902104_r8, 0.012999440910691079_r8, 0.013311330480904772_r8, & + 0.013479014199447234_r8, 0.013575632358541983_r8, 0.013684508134266313_r8, & + 0.013746762041292562_r8, 0.013947987273044145_r8, 0.014059796291658433_r8, & + 0.013901639650632533_r8, 0.013626169391073055_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,59) / & + 0.00047161465544855961_r8, 0.00054193935882495485_r8, & + 0.00054629367643066994_r8, 0.00051106328852988301_r8, & + 0.00051724839876527405_r8, 0.00054772862200528065_r8, & + 0.00063216774693883792_r8, 0.00091219242773592755_r8, & + 0.0014461158836958155_r8, 0.001831138995848902_r8, & + 0.0020489662081188999_r8, 0.0022270602722367474_r8, & + 0.0024093849517556019_r8, 0.0026402751168427452_r8, & + 0.0029901791730792817_r8, 0.0035023063005696527_r8, & + 0.0043894490318522467_r8, 0.0052010715671607175_r8, & + 0.0061281824807844073_r8, 0.0070609960660451302_r8, & + 0.0079590740722238935_r8, 0.0087324849964981188_r8, & + 0.0095310322087689744_r8, 0.010319510061576614_r8, 0.011056317503477794_r8, & + 0.011665142644388267_r8, 0.012180708693169515_r8, 0.013299558024090318_r8, & + 0.014041474367045939_r8, 0.014547206090552912_r8, 0.014826030859964336_r8, & + 0.014978629899691905_r8, 0.014994055564618971_r8, 0.01496477525276463_r8, & + 0.014931313806391164_r8, 0.014842817249143192_r8, 0.014658674147215127_r8, & + 0.014531867017169145_r8, 0.0142582470180208_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,59) / & + 0.00053865982026987972_r8, 0.00057637933704570202_r8, & + 0.00056786905531306666_r8, 0.00054782375315969056_r8, & + 0.00055835907181063353_r8, 0.00056868932343187486_r8, & + 0.00067156888889552565_r8, 0.00094184723404283784_r8, & + 0.0016882784054689706_r8, 0.0022154160220074662_r8, & + 0.0023510806788447341_r8, 0.0025608514335405822_r8, & + 0.0028056117501793439_r8, 0.0030522817535322071_r8, & + 0.0034037153756841078_r8, 0.0039137683453105507_r8, & + 0.0050477762028735733_r8, 0.0060712529314271855_r8, & + 0.0069766495009404832_r8, 0.007852875285478662_r8, & + 0.0087297034544165913_r8, 0.0095590842393572049_r8, & + 0.010449203315157699_r8, 0.011235020172975984_r8, 0.012000702011815398_r8, & + 0.01262295228006758_r8, 0.013158997495708757_r8, 0.014347425016278963_r8, & + 0.015151159605817465_r8, 0.015689678442504424_r8, 0.016001482861166403_r8, & + 0.016125625314272286_r8, 0.016134596996821755_r8, 0.016040560947014004_r8, & + 0.015887888543400817_r8, 0.015603191422727583_r8, 0.015377040939034282_r8, & + 0.01521407673386793_r8, 0.014838581059118363_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,59) / & + 0.0004333073797653334_r8, 0.0005201678030920296_r8, & + 0.00057150948864671607_r8, 0.0005045968553159505_r8, & + 0.00046138548576359501_r8, 0.00049015327599043949_r8, & + 0.00078474128370295299_r8, 0.0010894092916793677_r8, & + 0.0018688320489272888_r8, 0.0026508411220323952_r8, & + 0.0027906745993775402_r8, 0.0030010282890952683_r8, & + 0.003307738823440948_r8, 0.0035578024089351506_r8, & + 0.0038907872597581826_r8, 0.004313855481360711_r8, & + 0.0054893957226634666_r8, 0.0067541307031435049_r8, & + 0.0077593189399863304_r8, 0.0086930054907466657_r8, & + 0.0095584265660355553_r8, 0.010334931428470241_r8, 0.011241428504834526_r8, & + 0.012024220104275911_r8, 0.012741611070426113_r8, 0.013366425192047325_r8, & + 0.013937603101737991_r8, 0.015148914080819358_r8, 0.016095532210865619_r8, & + 0.016606389276871782_r8, 0.016966139181027119_r8, 0.017053026130670303_r8, & + 0.017074751183870654_r8, 0.016943711180439937_r8, 0.016743662964676227_r8, & + 0.016413317482343346_r8, 0.01613755155407098_r8, 0.01590451833744369_r8, & + 0.015669691989190517_r8, 0.015608734513910398_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,59) / & + 0.0002571788952861235_r8, 0.00042801455892279834_r8, & + 0.0005758728874936626_r8, 0.00046900634403423871_r8, & + 0.00053649883838327572_r8, 0.00085022994557063382_r8, & + 0.0016184077727827489_r8, 0.0022794722832471439_r8, & + 0.0028293791369611849_r8, 0.0031215312910497454_r8, & + 0.0032694170388748644_r8, 0.0034162060165297777_r8, & + 0.003658331741229827_r8, 0.0039931482549393918_r8, & + 0.0043670372059625342_r8, 0.0048203048980543202_r8, & + 0.0059960562301420257_r8, 0.0073800705079246744_r8, & + 0.0084319964877961461_r8, 0.0094072445231431091_r8, & + 0.010298534801960824_r8, 0.011135438989963458_r8, 0.011865366957489644_r8, & + 0.012659785011023933_r8, 0.013363678396634864_r8, 0.013995376885791999_r8, & + 0.014540005533061928_r8, 0.015799961394967178_r8, 0.01689220738822084_r8, & + 0.017358540354965198_r8, 0.017744891357047307_r8, 0.017823598326386698_r8, & + 0.01785212806043918_r8, 0.017715429368350157_r8, 0.017520711534257247_r8, & + 0.017155898356392561_r8, 0.016803204488908641_r8, 0.016564177139939424_r8, & + 0.016213450603948312_r8, 0.016143175398033057_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,59) / & + 0.00019982745132188971_r8, 0.00038736741130434898_r8, & + 0.00050511781794188644_r8, 0.00047185099231094002_r8, & + 0.00065085482639745847_r8, 0.00085218282389674417_r8, & + 0.0012519226631166024_r8, 0.0017865417851499327_r8, & + 0.0025764094743967081_r8, 0.003120923707543243_r8, & + 0.0035114903965465676_r8, 0.0037020314488838192_r8, & + 0.0040780739833776334_r8, 0.0045698709149711286_r8, & + 0.0050394710880159741_r8, 0.0056173229272735211_r8, & + 0.0068905788270819685_r8, 0.0081989560010990899_r8, & + 0.0092968461834964031_r8, 0.010280340954011296_r8, 0.011247641150687132_r8, & + 0.012155046905131247_r8, 0.012712485653937802_r8, 0.013452608821794304_r8, & + 0.014199144701144768_r8, 0.014858351624189997_r8, 0.015332821494263375_r8, & + 0.016552114356069625_r8, 0.017554578295242165_r8, 0.018049376319190454_r8, & + 0.018411942250279732_r8, 0.018545306830819792_r8, 0.018607494560605644_r8, & + 0.018528574325332225_r8, 0.018339816941092633_r8, 0.017910136958804924_r8, & + 0.017442263829473687_r8, 0.017132698321857716_r8, 0.016838014410175586_r8, & + 0.016678971177042486_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,59) / & + 0.00025021494954034567_r8, 0.00038508423894534317_r8, & + 0.00042744627971666167_r8, 0.00052639325947069612_r8, & + 0.00058481812163065669_r8, 0.00062389458529975305_r8, & + 0.0006580353820330666_r8, 0.00081930610877503206_r8, & + 0.0011826033208914171_r8, 0.0017500589928574417_r8, & + 0.0024872256740769184_r8, 0.0029848226755672495_r8, & + 0.0038221775545571549_r8, 0.004823636057879388_r8, & + 0.0056767617069599608_r8, 0.0064659135192190421_r8, & + 0.0079118302903649976_r8, 0.0091587725122003767_r8, & + 0.010247087071540463_r8, 0.011261483447363002_r8, 0.012187023215776553_r8, & + 0.013066083020117332_r8, 0.01378607708501586_r8, 0.014465432211801127_r8, & + 0.015192333289896769_r8, 0.015882830173699791_r8, 0.01646103333343131_r8, & + 0.017612080511576492_r8, 0.018459700993690233_r8, 0.01893962889165306_r8, & + 0.01928886383377193_r8, 0.019491021742230438_r8, 0.019566575413016651_r8, & + 0.019491868690994566_r8, 0.019300925552378313_r8, 0.018897880158607487_r8, & + 0.018422683491671862_r8, 0.018061211600167822_r8, 0.017725024049785994_r8, & + 0.017213220577969778_r8, 0.017042485563852801_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,59) / & + 0.00030517935611307987_r8, 0.00036421671564913262_r8, & + 0.00037592486393336628_r8, 0.00051932710686455321_r8, & + 0.00052433843511474584_r8, 0.00052381171893229304_r8, & + 0.00049466174049198357_r8, 0.00052810069356083625_r8, & + 0.00053551986721652681_r8, 0.00071324895620984382_r8, & + 0.0011784145904844773_r8, 0.0017636113182231835_r8, & + 0.0030080309708858735_r8, 0.004461015182766038_r8, & + 0.0057354576578285306_r8, 0.0069798321633898677_r8, & + 0.0088452652441980452_r8, 0.010160325061444533_r8, 0.011170280767746859_r8, & + 0.012220101364543962_r8, 0.013093727873793752_r8, 0.01382247733480149_r8, & + 0.014608578663561434_r8, 0.015432392870984982_r8, 0.016156973749634453_r8, & + 0.016894180767629_r8, 0.017545277214309429_r8, 0.018673187247413583_r8, & + 0.019413509415401493_r8, 0.019863309986182298_r8, 0.020262365215042225_r8, & + 0.020555400000891327_r8, 0.020619659375150555_r8, 0.020515279276822215_r8, & + 0.020293456518840718_r8, 0.020024229304438486_r8, 0.019683007512411855_r8, & + 0.019238990339060937_r8, 0.018617501307701314_r8, 0.017757388548620492_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,59) / & + 0.00032435186188757857_r8, 0.00033261096481066669_r8, & + 0.00033403655105630287_r8, 0.00045883732956015144_r8, & + 0.00045346039013367573_r8, 0.00044287696181009379_r8, & + 0.00046460165655337615_r8, 0.00039081207283903205_r8, & + 0.00038317279002274236_r8, 0.00053451736460023041_r8, & + 0.00093251935067812329_r8, 0.001480099424029129_r8, & + 0.0027290524347304817_r8, 0.0042169151055972609_r8, & + 0.0055497452722511002_r8, 0.0069553423194430673_r8, & + 0.0093094810670738947_r8, 0.010926808662748181_r8, 0.012005450603604015_r8, & + 0.013024899724260608_r8, 0.013874983000734548_r8, 0.014671033459398344_r8, & + 0.015467207882083502_r8, 0.016244477791511308_r8, 0.01698993543395769_r8, & + 0.017716039193569288_r8, 0.01834822471149827_r8, 0.019545841121854049_r8, & + 0.020226852968696071_r8, 0.020693809941655282_r8, 0.021111677162156065_r8, & + 0.02141250685099064_r8, 0.021497592656151386_r8, 0.02142150973804189_r8, & + 0.021235300282456997_r8, 0.021009205402999623_r8, 0.020761354837793636_r8, & + 0.020494429032095519_r8, 0.020052998893670876_r8, 0.0187404313795776_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,59) / & + 0.00031517277765333339_r8, 0.00030936990000711109_r8, & + 0.0002892033059893334_r8, 0.00036004942758222227_r8, & + 0.00036224941965688892_r8, 0.00035832769465422219_r8, & + 0.0004351201716373333_r8, 0.00037871747627377773_r8, & + 0.00051565901193600006_r8, 0.000844223045696_r8, 0.0013618748040764444_r8, & + 0.0019471842897386667_r8, 0.0031542944339537772_r8, & + 0.0045015026241991118_r8, 0.0057549082538115555_r8, & + 0.007191837859971557_r8, 0.0098005980272942213_r8, 0.011606137899761778_r8, & + 0.012941835986544_r8, 0.014078865223800889_r8, 0.01492839694602489_r8, & + 0.015810290870506668_r8, 0.01656361279439289_r8, 0.017298107249872002_r8, & + 0.017982958405927108_r8, 0.018636547355761774_r8, 0.019235598820904885_r8, & + 0.020434594501598222_r8, 0.021212578655480888_r8, 0.021734008661119998_r8, & + 0.022055924892741326_r8, 0.022180208502988442_r8, 0.022292742880199112_r8, & + 0.022236005403432887_r8, 0.02208898455625467_r8, 0.021883739643462664_r8, & + 0.021672098014584001_r8, 0.021343855951713807_r8, 0.0211073265708768_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,59) / & + 0.00040954712662439496_r8, 0.00040997322607586501_r8, & + 0.00042506697972216617_r8, 0.00037096873782592259_r8, & + 0.0003966985893185316_r8, 0.0004126609303082139_r8, & + 0.00050763194266469135_r8, 0.00076409464712828303_r8, & + 0.001190521867407065_r8, 0.0018182483016245198_r8, & + 0.0025141670365176091_r8, 0.0032058083884555577_r8, & + 0.0044222403802000841_r8, 0.0056426547629718111_r8, & + 0.0068716730769751433_r8, 0.008201857233821705_r8, 0.010529572983440327_r8, & + 0.012290412578199489_r8, 0.013718206286313558_r8, 0.014905974895726511_r8, & + 0.015759255435735545_r8, 0.016625925331584995_r8, 0.017374975390388299_r8, & + 0.018059848316424057_r8, 0.018703029049977518_r8, 0.019298896355977375_r8, & + 0.019868296330664767_r8, 0.021002507516716031_r8, 0.022142389103159934_r8, & + 0.022738420293564203_r8, 0.022976118233722677_r8, 0.02288106527916399_r8, & + 0.022913858548486734_r8, 0.022842454113484637_r8, 0.022682609459641862_r8, & + 0.022459050646473987_r8, 0.022168782686490411_r8, 0.021978048748923288_r8, & + 0.021796110019099767_r8, 0.021408581932810946_r8, 0.02122348924762453_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,59) / & + 0.00054011439593008729_r8, 0.00051789231561877856_r8, & + 0.00063449089761584204_r8, 0.00054501335454417126_r8, & + 0.0007017631952855308_r8, 0.00078427108589592775_r8, & + 0.0010394209716521352_r8, 0.0014674485412847276_r8, & + 0.0020117043249091946_r8, 0.0027701001551699096_r8, & + 0.0035409538183324187_r8, 0.004349585018024152_r8, & + 0.0056934148201225601_r8, 0.0069674302532429433_r8, & + 0.0081505035061802261_r8, 0.0092978194117074951_r8, & + 0.011367856697433875_r8, 0.013051835842479251_r8, 0.014401793551572596_r8, & + 0.01558392404958758_r8, 0.01656263833820746_r8, 0.01751012387002622_r8, & + 0.018348906392322159_r8, 0.01890573785321371_r8, 0.019382014272976766_r8, & + 0.019878442079203942_r8, 0.020374819380703135_r8, 0.021561832002422877_r8, & + 0.022807682632239607_r8, 0.02324938014824552_r8, 0.023362510738921267_r8, & + 0.023324665862754744_r8, 0.02319395962674186_r8, 0.02322451498716991_r8, & + 0.023295171101614276_r8, 0.02300146927349981_r8, 0.022638129842955254_r8, & + 0.022417528558119397_r8, 0.02232479935231127_r8, 0.021945541673252803_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,59) / & + 0.00059368446710692327_r8, 0.00061129419150530366_r8, & + 0.00072205054446822714_r8, 0.00086418988026477016_r8, & + 0.0011358531457628443_r8, 0.0012401635446525627_r8, & + 0.0014295674498598714_r8, 0.002249793503952434_r8, & + 0.0029723106456323949_r8, 0.0038192191476848201_r8, & + 0.0045704925027101242_r8, 0.0052907457838442659_r8, & + 0.0067096333419689085_r8, 0.0079309083402353785_r8, & + 0.0091114684114335567_r8, 0.010246889522741094_r8, 0.012306777961518063_r8, & + 0.013989102849111703_r8, 0.015471015593576769_r8, 0.01676487238033509_r8, & + 0.017886243731155986_r8, 0.019027177602113261_r8, 0.01975071434510775_r8, & + 0.020244339632365195_r8, 0.020676408650430259_r8, 0.021262074558046653_r8, & + 0.021749876020846534_r8, 0.022834766382261174_r8, 0.02440063206208181_r8, & + 0.024480448267527811_r8, 0.024302094569303139_r8, 0.023916471415356026_r8, & + 0.023433635386270218_r8, 0.023823092722569779_r8, 0.023969876428760886_r8, & + 0.023570158150709331_r8, 0.023079239559314395_r8, 0.022878594426175999_r8, & + 0.022825002403571198_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,34,59) / & + 0.0010470243774515753_r8, 0.001044666573787549_r8, & + 0.0011044448742018108_r8, 0.0013349423421692575_r8, & + 0.0014582572465825447_r8, 0.0015599796332305383_r8, & + 0.0019026234619395684_r8, 0.0029804056541060742_r8, & + 0.0039529376180520957_r8, 0.004820538455025395_r8, & + 0.0054441509323897149_r8, 0.0061838630803984591_r8, & + 0.007369182393061083_r8, 0.0086240835055831303_r8, & + 0.0098291870956070584_r8, 0.010975310138336129_r8, 0.013047128172978465_r8, & + 0.014793711124761941_r8, 0.016376151940265572_r8, 0.017758569456963118_r8, & + 0.01888859561452726_r8, 0.019939520118340385_r8, 0.020744931667694103_r8, & + 0.021585923006173392_r8, 0.022359601709221792_r8, 0.023130124855486763_r8, & + 0.023763966300626594_r8, 0.024915937000348401_r8, 0.025218394965373377_r8, & + 0.025492297167547948_r8, 0.025580426790747329_r8, 0.024206903651507523_r8, & + 0.023968253146659731_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,59) / & + 0.0021710497837118003_r8, 0.0021640879172494915_r8, & + 0.002195950349132576_r8, 0.0022912619144450507_r8, & + 0.0021796938778431999_r8, 0.0021965401056862417_r8, & + 0.0028902369355356451_r8, 0.0038567410879792874_r8, & + 0.0047460663199837766_r8, 0.005425258422971529_r8, & + 0.0059821760647198021_r8, 0.0068463314268856013_r8, & + 0.0079059069005636626_r8, 0.0090590269416826949_r8, & + 0.010413471020861244_r8, 0.011603489661730674_r8, 0.013575791097407457_r8, & + 0.015381282689426354_r8, 0.016913021959328138_r8, 0.018307253575599203_r8, & + 0.019442649569413193_r8, 0.020441113126697344_r8, 0.021315104298856895_r8, & + 0.022235170477631742_r8, 0.023068801037570839_r8, 0.023829750560643639_r8, & + 0.024525690425626766_r8, 0.025652030936685413_r8, 0.025345725347725955_r8, & + 0.026114803560801328_r8, 0.026435832974492441_r8, 0.024805951229930664_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,59) / & + 0.0025900354769286646_r8, 0.00310796913340864_r8, 0.0032757405430010669_r8, & + 0.0030579611535640891_r8, 0.0027997094882140443_r8, & + 0.0028093457443838224_r8, 0.0037611564733621337_r8, & + 0.0046724949264273776_r8, 0.005136040744959644_r8, & + 0.0057430410901237339_r8, 0.0063991444449877331_r8, & + 0.0072050706349087992_r8, 0.0082427697340959998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,59) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,59) / & + 0.0027351574681229972_r8, 0.0025934039661499255_r8, & + 0.0028901154341193077_r8, 0.0032838016284680487_r8, & + 0.0040668922665317514_r8, 0.0048647612675424192_r8, & + 0.0064731518125758026_r8, 0.008315087464962961_r8, & + 0.0086184835225293823_r8, 0.0072401633026898757_r8, & + 0.0065580942776804927_r8, 0.0043711796027111104_r8, & + 0.0039137368767733329_r8, 0.0039375846018222206_r8, & + 0.0039817570925377768_r8, 0.0036535798762399991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,59) / & + 0.0028646585279177381_r8, 0.0027054183119904962_r8, & + 0.0029481342705295578_r8, 0.0033595638329245027_r8, & + 0.0037870310939317193_r8, 0.0045143387307081465_r8, & + 0.005965733458202927_r8, 0.0066462884914080048_r8, & + 0.0081155588014174013_r8, 0.0068762761247531633_r8, & + 0.0061852826204192466_r8, 0.0041642579842322792_r8, & + 0.0036896683258842186_r8, 0.0035711377466188595_r8, & + 0.0038943023249316377_r8, 0.0035848654350408436_r8, & + 0.0031613201126047567_r8, 0.0029491665006199457_r8, & + 0.0029103451383384001_r8, 0.0028982566731271461_r8, & + 0.0029051075017650662_r8, 0.0028831676241189924_r8, & + 0.0029158690990444091_r8, 0.0030026322947605336_r8, & + 0.0033001300521258662_r8, 0.0034124249802581332_r8, & + 0.0035590788043114662_r8, 0.003774450420206933_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,59) / & + 0.0027858927120053725_r8, 0.0026646817021081281_r8, & + 0.003018000714783288_r8, 0.0035092803600313672_r8, & + 0.0037297957486418956_r8, 0.0039301093022695507_r8, & + 0.0052289935278772926_r8, 0.0055657760174019147_r8, & + 0.007674907257481006_r8, 0.0062623131252607994_r8, & + 0.0053372054667412535_r8, 0.0039607103940790516_r8, & + 0.0031163248356809474_r8, 0.0029990348570462021_r8, & + 0.003491891438780286_r8, 0.0033366803996476243_r8, 0.003084124736363195_r8, & + 0.0028172442185712449_r8, 0.0028137212267789103_r8, & + 0.0028286047064701816_r8, 0.0028426236109451858_r8, & + 0.0028058022962109182_r8, 0.0028177929498484698_r8, & + 0.002955620395218178_r8, 0.0031627126447404015_r8, & + 0.0032944271780176444_r8, 0.0034300338219075445_r8, & + 0.0037003035354328329_r8, 0.0040004295579272736_r8, & + 0.0041585121131611407_r8, 0.0041811848371379641_r8, & + 0.0041508195247316314_r8, 0.004179955100663984_r8, & + 0.0042846749471667552_r8, 0.0041633680424831999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,59) / & + 0.0026837249762187063_r8, 0.0024594453159843292_r8, & + 0.0027072318002088554_r8, 0.0036065432418917135_r8, & + 0.0038516983652218213_r8, 0.003373623946720659_r8, & + 0.0039932655813416035_r8, 0.0043588493216063211_r8, & + 0.0066220828268967503_r8, 0.0054070080778835222_r8, & + 0.0044420003258699844_r8, 0.0036224191192880456_r8, & + 0.002675129197296934_r8, 0.0026940749957367572_r8, & + 0.0030689562111617576_r8, 0.0031474146218303735_r8, & + 0.0028475271918963355_r8, 0.0026937680036324078_r8, & + 0.0026810936153242862_r8, 0.0027309140482586333_r8, & + 0.002764990171841369_r8, 0.0027643761876326718_r8, & + 0.0027988470153495707_r8, 0.0028721742722740678_r8, & + 0.0031385995628340677_r8, 0.0033027087706160455_r8, & + 0.0033716942820647511_r8, 0.0035953599580904288_r8, & + 0.0038837571121188345_r8, 0.0041983363070467157_r8, & + 0.0041100102930240268_r8, 0.0040432175823206708_r8, & + 0.0039799302202373826_r8, 0.0040179970845480306_r8, & + 0.0040576581150005486_r8, 0.0040212457188522673_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,59) / & + 0.0026550243074486253_r8, 0.0029205267381934878_r8, & + 0.0027270815228579827_r8, 0.0035910015416488823_r8, & + 0.0040152733437681777_r8, 0.0036304571508373605_r8, & + 0.0045173290611447581_r8, 0.004670010995672969_r8, & + 0.0053407563518770842_r8, 0.0041264254313677171_r8, & + 0.0033807369637678885_r8, 0.0030792961095679212_r8, & + 0.0026314411261851131_r8, 0.0027015142881038488_r8, & + 0.0029389694172313021_r8, 0.0029063678110104237_r8, & + 0.0026923154946473355_r8, 0.002648621225728896_r8, & + 0.0026598942569256035_r8, 0.0027412855421658335_r8, & + 0.0028011678838827459_r8, 0.0028546922360047139_r8, & + 0.0029321605063884907_r8, 0.0030301006014254875_r8, & + 0.003337809260970825_r8, 0.0034617675120098244_r8, 0.003562548410908392_r8, & + 0.0038109673680911576_r8, 0.0041249129126677241_r8, & + 0.0043140447441807651_r8, 0.0041032368061960896_r8, & + 0.0040799016316189034_r8, 0.0040304919358837323_r8, & + 0.004060320376430223_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,59) / & + 0.0025504156466346663_r8, 0.0033641710885546666_r8, & + 0.0030665585090559997_r8, 0.0034325978911573336_r8, & + 0.0034920833444693333_r8, 0.0038522390407680004_r8, & + 0.0050796129617919992_r8, 0.0040234218678613324_r8, & + 0.0032404747019946665_r8, 0.0028031361667413325_r8, & + 0.0026066117952853332_r8, 0.0025091371895466664_r8, & + 0.0024441386763093321_r8, 0.0025222944081919997_r8, & + 0.0025618587205973333_r8, 0.0025997552165546662_r8, & + 0.002573579763967999_r8, 0.0025849301814613338_r8, 0.002656090349909334_r8, & + 0.0027682046778026662_r8, 0.0028690612446719992_r8, & + 0.0029855304266240001_r8, 0.0031204845742079995_r8, & + 0.0032719779015680001_r8, 0.0034800380034559993_r8, & + 0.0036205052109653316_r8, 0.0038219867035306655_r8, & + 0.0041716722187946668_r8, 0.0042934228194986667_r8, & + 0.0042459827071999988_r8, 0.0041768609810773341_r8, & + 0.0041889989785599997_r8, 0.0042141320458666679_r8, & + 0.0042127479898559994_r8, 0.0042325706832639989_r8, & + 0.0042529319423999989_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,60) / & + 0.0038159782546604367_r8, 0.0039089531204444441_r8, & + 0.0039651216674074074_r8, 0.0043027445018518516_r8, & + 0.004400267044444444_r8, 0.0046370391585185177_r8, & + 0.0049013103414814818_r8, 0.0053407754159259246_r8, & + 0.0055520869699999999_r8, 0.005752679018148148_r8, & + 0.0058824224818518518_r8, 0.0060196959477777767_r8, & + 0.0059705637233333341_r8, 0.0062063235166666657_r8, & + 0.006426856896666667_r8, 0.0066605712474074067_r8, & + 0.0068643666666666665_r8, 0.0072448328562962948_r8, & + 0.0074875679555555545_r8, 0.0077064927162962954_r8, & + 0.0079394512933333335_r8, 0.008211363417777777_r8, & + 0.0083668309222222209_r8, 0.0085165573199999997_r8, & + 0.0086515565311111094_r8, 0.0087652138022222235_r8, & + 0.0088528696844444449_r8, 0.0091882668000000008_r8, & + 0.0093863765822222219_r8, 0.0096022921155555548_r8, & + 0.0097476502799999989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,5,60) / & + 0.0032135682780246918_r8, 0.0032829792745679011_r8, & + 0.0035115881081481475_r8, 0.0037793954799999999_r8, & + 0.0038506647091358023_r8, 0.0041063334770370368_r8, & + 0.0041684964419753086_r8, 0.004665522813333333_r8, & + 0.0050421153738271609_r8, 0.0053469209886419754_r8, & + 0.0055814188479012348_r8, 0.0058401199555555543_r8, & + 0.0060158477422222224_r8, 0.0062944716918518504_r8, & + 0.006466501503209876_r8, 0.0066095484330864181_r8, & + 0.0068033593190123445_r8, 0.0070771111861728407_r8, & + 0.0072753596424691364_r8, 0.0074844893911111118_r8, & + 0.0077114526256790135_r8, 0.0079622308212345689_r8, & + 0.008140168148148148_r8, 0.0083054676444444427_r8, & + 0.0084565022009876548_r8, 0.0085912749111111096_r8, & + 0.0087023435995061699_r8, 0.0090277746716049389_r8, & + 0.0092682355160493817_r8, 0.009502696395555555_r8, & + 0.0096801056053703698_r8, 0.0098274329416666653_r8, & + 0.0099454307112962961_r8, 0.010030962205756612_r8, 0.010161427368962965_r8, & + 0.010253186617037037_r8, 0.010359521897037038_r8, 0.010443821866666666_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,60) / & + 0.001835610228641975_r8, 0.0018472403609876538_r8, & + 0.0021339628765432101_r8, 0.0023983773560493824_r8, & + 0.0025409712839506164_r8, 0.0027162645585185187_r8, & + 0.0024105436948148144_r8, 0.0028588862212345677_r8, & + 0.0033760665580246916_r8, 0.0037875772503703701_r8, & + 0.0041415844266666666_r8, 0.0045023866325925917_r8, & + 0.0050210369145679019_r8, 0.0053627668128395064_r8, & + 0.0055817794004938276_r8, 0.0057747489970370377_r8, & + 0.0060515886735802464_r8, 0.0062669310207407406_r8, & + 0.0064489268755555541_r8, 0.0066304512385185191_r8, & + 0.0067995041797530862_r8, 0.0070185814819753089_r8, & + 0.0072096281313580243_r8, 0.0074042155920987628_r8, & + 0.0075988307876543211_r8, 0.0077946940498765426_r8, & + 0.0079878300553086409_r8, 0.0084231741985185196_r8, & + 0.0087738347071604928_r8, 0.0090928682819753064_r8, & + 0.0093686910153086417_r8, 0.0095769702296296284_r8, & + 0.0097492404093827163_r8, 0.0098846602651851863_r8, & + 0.010029149405432097_r8, 0.010149037764938272_r8, 0.010248698199506169_r8, & + 0.010313491349382715_r8, 0.010312984363571425_r8, 0.010267546317407407_r8, & + 0.010232815395555555_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,60) / & + 0.0010015411427160494_r8, 0.0010057753244444446_r8, & + 0.0011439594167901236_r8, 0.0014204570306172841_r8, & + 0.0015456612296296298_r8, 0.0016543447239506172_r8, & + 0.0014220009353086418_r8, 0.001556644216296296_r8, & + 0.0018034193535802468_r8, 0.0021125978241975309_r8, & + 0.0024482353081481476_r8, 0.0027765138212345686_r8, & + 0.0033787568350617278_r8, 0.0038308897861728387_r8, & + 0.0040870855155555547_r8, 0.0043985752207407417_r8, & + 0.004918510549135802_r8, 0.0053737960241975313_r8, & + 0.0056174001476543209_r8, 0.0058938607817283946_r8, & + 0.006088799550123457_r8, 0.0063182958977777781_r8, & + 0.0064773920404938281_r8, 0.0066356006691358025_r8, & + 0.0068026104790123451_r8, 0.0069837465545678984_r8, & + 0.0071770304790123463_r8, 0.0077470363930864199_r8, & + 0.0082015637832098757_r8, 0.0085989389649382721_r8, & + 0.0089464839293827165_r8, 0.0092091233807407406_r8, & + 0.0094713005851851852_r8, 0.0096432841718518507_r8, & + 0.0097696994577777772_r8, 0.0098962903975308644_r8, & + 0.0099907274419753101_r8, 0.010090815454938269_r8, 0.010152435279753085_r8, & + 0.01020545450547619_r8, 0.010227106481084654_r8, 0.010200698479999999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,60) / & + 0.00054107850222222221_r8, 0.00054020023308641975_r8, & + 0.00053976572098765423_r8, 0.00081280572790123462_r8, & + 0.00084064223703703698_r8, 0.00089998549580246902_r8, & + 0.0008132957096296297_r8, 0.00094832727802469127_r8, & + 0.0010605885634567902_r8, 0.0012173087570370371_r8, & + 0.0013531723698765429_r8, 0.0015129064133333333_r8, & + 0.0018328552370370367_r8, 0.0020627768518518518_r8, & + 0.0022516509407407405_r8, 0.0024749716696296289_r8, & + 0.0030516431841975306_r8, 0.0036554301027160491_r8, & + 0.0040854121817283946_r8, 0.0046367803002469133_r8, & + 0.0050289598266666661_r8, 0.005392091757037038_r8, & + 0.0056259332256790116_r8, 0.0058545235693827167_r8, & + 0.0060634776641975297_r8, 0.0062431900192592583_r8, & + 0.0064198700345679009_r8, 0.0068684899091358016_r8, & + 0.0073350172291358016_r8, 0.0078332916671604927_r8, & + 0.0083095908869135812_r8, 0.0086532622222222216_r8, & + 0.008965953769382716_r8, 0.0092254684316049381_r8, & + 0.0094669554641975302_r8, 0.0096792007570370344_r8, & + 0.0098085651782716041_r8, 0.0099246184072063464_r8, & + 0.010071273966666667_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,60) / & + 0.00019839637530864196_r8, 0.00019599269135802468_r8, & + 0.00018990952197530864_r8, 0.00024760718172839503_r8, & + 0.00024937296493827158_r8, 0.00026905543851851851_r8, & + 0.00032743722370370365_r8, 0.00041997905580246899_r8, & + 0.00051287219555555552_r8, 0.00060397181728395061_r8, & + 0.0006413953274074074_r8, 0.00068969088493827171_r8, & + 0.00077051938024691349_r8, 0.0008042171802469134_r8, & + 0.00086462360691358028_r8, 0.00095766466567901234_r8, & + 0.0012298633832098763_r8, 0.00159053616_r8, 0.0020336737861728397_r8, & + 0.0025793192879012342_r8, 0.0031081205120987647_r8, & + 0.0036095567190123448_r8, 0.0040549870898765432_r8, & + 0.0044993265580246904_r8, 0.0048995399358024681_r8, & + 0.0052389585995061714_r8, 0.0055578072755555546_r8, & + 0.0061768853219753084_r8, 0.0066115545846913574_r8, & + 0.007070408605925926_r8, 0.0076542541925925921_r8, & + 0.0081708844555555549_r8, 0.0085307020755555543_r8, & + 0.0087804051508253954_r8, 0.0090113824715555568_r8, & + 0.009453418563333333_r8, 0.0097030942999999995_r8, & + 0.0097794759799999988_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,60) / & + 0.00014460007950617285_r8, 0.00014388821925925924_r8, & + 0.00012151546864197532_r8, 0.00014686508938271603_r8, & + 0.00014412858765432094_r8, 0.00015733035950617284_r8, & + 0.00019715755358024691_r8, 0.00023706795209876537_r8, & + 0.00028977334518518518_r8, 0.00033900264148148141_r8, & + 0.00039048770271604943_r8, 0.00045364912098765428_r8, & + 0.00052440063358024692_r8, 0.00054509080543209876_r8, & + 0.00058528779703703705_r8, 0.00064394693037037043_r8, & + 0.0007876040261728393_r8, 0.00095024098024691368_r8, & + 0.0012483347698765432_r8, 0.0017095000256790122_r8, & + 0.0021979933190123457_r8, 0.0027429269604938265_r8, & + 0.0032180798079012346_r8, 0.0037573185674074075_r8, & + 0.0042687300627160495_r8, 0.0047476086202469141_r8, & + 0.0051633165145678998_r8, 0.0060392004562962965_r8, & + 0.0066282879229629613_r8, 0.0070926334375308649_r8, & + 0.0076041188923456774_r8, 0.00808878478123457_r8, 0.0084549398064197537_r8, & + 0.0086789539056790106_r8, 0.0088246670097178147_r8, & + 0.0089675277201234568_r8, 0.0090999036800000002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,60) / & + 0.00021525914271604938_r8, 0.00021530536740740739_r8, & + 0.0001888648439506173_r8, 0.00018973386814814816_r8, & + 0.00018017460197530864_r8, 0.00017056911111111106_r8, & + 0.0001907877911111111_r8, 0.00019218377679012345_r8, & + 0.00017949972148148145_r8, 0.00019161059061728391_r8, & + 0.00022486463358024691_r8, 0.00031578860148148144_r8, & + 0.00043676786370370368_r8, 0.00048958419604938272_r8, & + 0.00051494306172839509_r8, 0.00055358690370370368_r8, & + 0.00070291114666666652_r8, 0.00084218614172839506_r8, & + 0.0011061476192592591_r8, 0.0015275041708641976_r8, & + 0.0020043950666666665_r8, 0.0026227427629629627_r8, & + 0.0031266843481481486_r8, 0.0037510042745679015_r8, & + 0.0043207328404938263_r8, 0.0048614785249382715_r8, & + 0.0053267115535802472_r8, 0.0063975157738271598_r8, & + 0.0072244385224691345_r8, 0.0078106138335802466_r8, & + 0.008244414072098763_r8, 0.0084887023209876539_r8, & + 0.0086670002004938258_r8, 0.0087610304676543193_r8, & + 0.0087885526488888886_r8, 0.0089591679846913585_r8, & + 0.0090659481773456788_r8, 0.0091319192644285698_r8, & + 0.0091538201600000011_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,60) / & + 0.00023720662617283947_r8, 0.00023069818962962962_r8, & + 0.00021396485135802471_r8, 0.00024585988839506169_r8, & + 0.00021986312197530862_r8, 0.00017518233530864201_r8, & + 0.00017918539358024687_r8, 0.00019955199259259261_r8, & + 0.00018534252246913576_r8, 0.00016951518814814812_r8, & + 0.00016915463555555556_r8, 0.00023600478419753091_r8, & + 0.00034563126222222223_r8, 0.00040733198024691357_r8, & + 0.00045515604592592595_r8, 0.00049466891209876541_r8, & + 0.00059562363802469123_r8, 0.00072895413777777766_r8, & + 0.00096098359851851849_r8, 0.0013038783590123455_r8, & + 0.0018061651002469134_r8, 0.002456564997530864_r8, & + 0.0030807185150617282_r8, 0.0037807452409876546_r8, & + 0.0044106398651851848_r8, 0.005001992341728395_r8, & + 0.0054935272197530862_r8, 0.0066336684770370363_r8, & + 0.0075894286854320987_r8, 0.0081848859145679_r8, 0.0085843596972839491_r8, & + 0.0087323526691358011_r8, 0.0088449005476543205_r8, & + 0.008898401005432096_r8, 0.0089044934197530876_r8, & + 0.0089905360602469137_r8, 0.009050202891851853_r8, 0.009113605669047618_r8, & + 0.0092117324343915351_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,60) / & + 0.00020474764790123459_r8, 0.00019290488197530863_r8, & + 0.0001861468320987654_r8, 0.00015897595851851852_r8, & + 0.00016028873975308639_r8, 0.00013878501333333332_r8, & + 0.00014014401925925929_r8, 0.00015535194271604937_r8, & + 0.00016187886913580246_r8, 0.00016141662222222221_r8, & + 0.00016080645629629628_r8, 0.00017069854024691355_r8, & + 0.00023096629283950618_r8, 0.00029633725135802465_r8, & + 0.00036373285135802463_r8, 0.00042616391950617283_r8, & + 0.0005419660162962963_r8, 0.00066984200246913582_r8, & + 0.00088607186370370371_r8, 0.0012079991041975308_r8, & + 0.0017179036745679011_r8, 0.0023871077762962958_r8, & + 0.0030914426434567903_r8, 0.0038463935476543217_r8, & + 0.0045555357827160503_r8, 0.0051990482009876549_r8, & + 0.0057486320464197518_r8, 0.0069440395446913571_r8, & + 0.0079199167387654316_r8, 0.0084951830227160494_r8, & + 0.0088611623940740743_r8, 0.0090041261195061718_r8, & + 0.0090859900479012337_r8, 0.0090843525382098746_r8, & + 0.0090509320863580243_r8, 0.0090742720886419753_r8, & + 0.0091030761796208112_r8, 0.0091316066534444448_r8, & + 0.009239395931111111_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,60) / & + 0.00016790656888888888_r8, 0.00015751525827160495_r8, & + 0.00015334579111111107_r8, 0.00010639074962962963_r8, & + 0.00010603944197530863_r8, 0.00010750938716049381_r8, & + 0.00010408875999999998_r8, 0.00010110264493827161_r8, & + 0.0001074539175308642_r8, 0.00011212261135802468_r8, & + 0.00011868651753086419_r8, 0.00013839672592592592_r8, & + 0.00015276335999999999_r8, 0.00021127457432098764_r8, & + 0.00029133573975308641_r8, 0.00037492847160493822_r8, & + 0.00050432987259259256_r8, 0.00061954029333333334_r8, & + 0.00081283346271604929_r8, 0.0011504216286419751_r8, & + 0.0016518301007407406_r8, 0.002362664159506173_r8, & + 0.0031363915333333333_r8, 0.0039407485432716048_r8, & + 0.0046848112214197529_r8, 0.0053755375394444445_r8, & + 0.0060140022214197541_r8, 0.0073458280288271607_r8, & + 0.0083561934651234567_r8, 0.0088946487161111112_r8, & + 0.0091975198275925929_r8, 0.00932368087771605_r8, 0.0093890957496913577_r8, & + 0.0093924874864197531_r8, 0.0093432966556701927_r8, & + 0.0092873875612962953_r8, 0.0092073166556613777_r8, & + 0.0091826505000000003_r8, 0.0091403410399999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,60) / & + 0.00014860313777777777_r8, 0.00013897915703703703_r8, & + 0.0001334599288888889_r8, 8.7031848888888884e-05_r8, & + 8.7041093827160501e-05_r8, 8.7549565432098751e-05_r8, & + 9.0776048888888895e-05_r8, 8.9278368888888885e-05_r8, & + 9.0008719012345671e-05_r8, 9.8024080493827175e-05_r8, & + 9.6748279012345687e-05_r8, 0.0001220794098765432_r8, & + 0.00017183566765432095_r8, 0.0002009294883950617_r8, & + 0.00027351149876543205_r8, 0.00037427208098765428_r8, & + 0.00056348823259259255_r8, 0.00070365074172839518_r8, & + 0.00094087585777777761_r8, 0.0013001803837037035_r8, & + 0.0018828980879012347_r8, 0.0026822709204938275_r8, & + 0.0035519052839506167_r8, 0.0043797617713580246_r8, & + 0.0051591285575308642_r8, 0.0058151401323456786_r8, & + 0.006414581929876542_r8, 0.0076404607446913572_r8, & + 0.0085394477871604934_r8, 0.0090323878958024698_r8, & + 0.0093293075782716044_r8, 0.0094552051476543206_r8, & + 0.0095192263451851847_r8, 0.0095490227812345674_r8, & + 0.0095624637658641969_r8, 0.0094784170745255726_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,60) / & + 0.00014823007246939914_r8, 0.00013955626306370368_r8, & + 0.0001349916102926617_r8, 9.7786298216164601e-05_r8, & + 9.705944267937446e-05_r8, 9.8803895967670752e-05_r8, & + 9.173886015007078e-05_r8, 8.559450801240491e-05_r8, & + 8.8618227045451854e-05_r8, 0.00011019129937738274_r8, & + 9.3405782181109437e-05_r8, 0.00010936752976902055_r8, & + 0.00016713800783309956_r8, 0.00024280851491653005_r8, & + 0.00033514824231034725_r8, 0.00051912022437550611_r8, & + 0.00082809197595425175_r8, 0.0010221527128700574_r8, & + 0.001362321104087835_r8, 0.0018460773837467126_r8, & + 0.0025880999727378564_r8, 0.0035254237987609278_r8, & + 0.0044676611682127011_r8, 0.0053158046655752021_r8, & + 0.0060921542187171544_r8, 0.0067257105788048992_r8, & + 0.0072833638380374365_r8, 0.0083579179894064833_r8, & + 0.0090912473861776179_r8, 0.0095402357426600352_r8, & + 0.0098497393102065321_r8, 0.010003446239145645_r8, 0.010061056808991629_r8, & + 0.010119456190155874_r8, 0.010114672338522238_r8, 0.010033920868951465_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,60) / & + 0.00016853205133547983_r8, 0.00016016830360017118_r8, & + 0.00016236822270145843_r8, 0.00013438768482333497_r8, & + 0.00013374899863263865_r8, 0.00013394161827745186_r8, & + 0.00011978914332170533_r8, 9.8377949119315188e-05_r8, & + 9.3744939767756346e-05_r8, 0.000112013392396879_r8, & + 9.9766838137178591e-05_r8, 0.00011190187576040821_r8, & + 0.00017637876739260577_r8, 0.00028719589041643456_r8, & + 0.00047876119612115238_r8, 0.00079654305855870946_r8, & + 0.0012746351548610371_r8, 0.0015937856305643721_r8, & + 0.0021487532408992396_r8, 0.0028556571994875256_r8, & + 0.0036901057765702577_r8, 0.0045841447890325598_r8, & + 0.0054566408149039139_r8, 0.0062284069044140234_r8, & + 0.0069173465466544721_r8, 0.007528498266018529_r8, & + 0.0080475271057816739_r8, 0.0089768763405010422_r8, & + 0.0096001529596122862_r8, 0.010007330612995238_r8, 0.010309560973583144_r8, & + 0.01049365466464432_r8, 0.010538839178167073_r8, 0.010634481167989334_r8, & + 0.010708350620741686_r8, 0.010782209030450489_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,60) / & + 0.00021563485922619259_r8, 0.00020857510115895308_r8, & + 0.00023050586385058768_r8, 0.00022212306266729877_r8, & + 0.00021734952310459258_r8, 0.00021445999693914074_r8, & + 0.00018020905675085434_r8, 0.00012720265734945184_r8, & + 0.00011915855520387162_r8, 0.00012451423373763951_r8, & + 0.00012576318643919013_r8, 0.00012927718895541727_r8, & + 0.00018608336818611354_r8, 0.00028378745622012843_r8, & + 0.00067306907834157042_r8, 0.0011032909466460446_r8, & + 0.0017770268387181031_r8, 0.0023992910614033781_r8, & + 0.0032992355732850967_r8, 0.0041967139327984994_r8, & + 0.0050505318694822714_r8, 0.0058689875097602765_r8, & + 0.0066221483261750119_r8, 0.0072760385715063295_r8, & + 0.0078904597945996628_r8, 0.008436696667664275_r8, & + 0.0088702102672414806_r8, 0.0096273190443145092_r8, & + 0.010063055356326676_r8, 0.010434121320826351_r8, 0.010749132594585242_r8, & + 0.010941376051519684_r8, 0.011011941879157295_r8, 0.011114006717301806_r8, & + 0.011227185117621136_r8, 0.011356162901919388_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,60) / & + 0.0002775683680014749_r8, 0.00028831238065630291_r8, & + 0.00033941814105652672_r8, 0.00033687002306549463_r8, & + 0.00032319181393614485_r8, 0.00032965587083114405_r8, & + 0.00027744702904952104_r8, 0.00020324274452279838_r8, & + 0.00019383346033946341_r8, 0.00019109781851359343_r8, & + 0.00019175966734243295_r8, 0.00022704724073339264_r8, & + 0.00032697538307434408_r8, 0.00058414777633374829_r8, & + 0.0010308847049866009_r8, 0.0014747756836754439_r8, & + 0.0021365803892596943_r8, 0.0028338050380006712_r8, & + 0.0038205333952898634_r8, 0.0048005439869663333_r8, & + 0.0056884914065512297_r8, 0.0065034699927565701_r8, & + 0.0072277532277832688_r8, 0.0078773468224754301_r8, & + 0.0084939472530499421_r8, 0.0090338504351757699_r8, & + 0.0094752925731979073_r8, 0.010256263160414711_r8, 0.010695223365328698_r8, & + 0.011058633526430656_r8, 0.011379045575285676_r8, 0.011596374669048943_r8, & + 0.011687632591732097_r8, 0.011822484290608146_r8, 0.012001337905788209_r8, & + 0.012184839630139142_r8, 0.0128784034275456_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,60) / & + 0.00033720256571390946_r8, 0.00038595806262176123_r8, & + 0.00044653516071018932_r8, 0.0004451349322208395_r8, & + 0.00043296901255927573_r8, 0.00045204425640599173_r8, & + 0.00041017512911789306_r8, 0.00034956359918136625_r8, & + 0.0003560023547758354_r8, 0.00039564488922021396_r8, & + 0.00050293452789596698_r8, 0.00062951747878972836_r8, & + 0.00087782848999532501_r8, 0.0014028567870879999_r8, & + 0.0018135943030581727_r8, 0.0021714674549140412_r8, & + 0.0027253266861480821_r8, 0.003385052373003127_r8, & + 0.0043315838772381892_r8, 0.0052851968648988962_r8, & + 0.0061982261809338602_r8, 0.0070333477020040171_r8, & + 0.007767113339554107_r8, 0.0084493459777830442_r8, & + 0.0090839708473740895_r8, 0.0096460363357383366_r8, & + 0.010123812659956804_r8, 0.011016848549529086_r8, 0.011551666968764508_r8, & + 0.011939220373681515_r8, 0.012251586099633513_r8, 0.012497440972341399_r8, & + 0.012606257089616197_r8, 0.012787839179206385_r8, 0.012936309308208264_r8, & + 0.013072831585919865_r8, 0.013450381391235911_r8, 0.013293344618427062_r8, & + 0.012931879077086221_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,60) / & + 0.0004110832596508443_r8, 0.00050340886817493331_r8, & + 0.00054127870320948149_r8, 0.00052228416693428153_r8, & + 0.00051789622635093333_r8, 0.00053814275654257774_r8, & + 0.00053796390026879996_r8, 0.00060411687406340751_r8, & + 0.00082406239580373329_r8, 0.0011561627249543113_r8, & + 0.0014455402521751704_r8, 0.0015943248244551114_r8, & + 0.001849218862091615_r8, 0.002261649505671585_r8, 0.002619135501947022_r8, & + 0.0030153617671227258_r8, 0.0036276464110219847_r8, & + 0.0042809249128711105_r8, 0.0051737873553213626_r8, & + 0.0060495869092532144_r8, 0.0069371909772544_r8, 0.0077033277878573048_r8, & + 0.0084729701814262523_r8, 0.0092224733585678197_r8, & + 0.0099110461651090945_r8, 0.010491387078511645_r8, 0.010986186998042076_r8, & + 0.011966462463363319_r8, 0.012592256717808592_r8, 0.013011150034747735_r8, & + 0.013297975879129365_r8, 0.013504614494100623_r8, 0.01362314850860895_r8, & + 0.013836309415697304_r8, 0.013945817150255646_r8, 0.014074104793560652_r8, & + 0.013989851564859735_r8, 0.013792163215922103_r8, 0.013444942451909799_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,60) / & + 0.00053136282032243613_r8, 0.00061753377612190294_r8, & + 0.00062598263670344688_r8, 0.00058785761721249705_r8, & + 0.00060470585749370189_r8, 0.00063813019320575466_r8, & + 0.00074613458813615129_r8, 0.00099538216040193561_r8, & + 0.0014378896870827457_r8, 0.0018571783099398979_r8, & + 0.0020587634227317597_r8, 0.0022655316579008791_r8, & + 0.0025049696453333333_r8, 0.0027579159135198818_r8, & + 0.0030885100556015269_r8, 0.0036588885512888096_r8, & + 0.0045810513767241875_r8, 0.0053593980189662552_r8, & + 0.0062304099827549487_r8, 0.0070861447242622274_r8, & + 0.0079952445968804603_r8, 0.0087914043566004532_r8, & + 0.0096291651677636869_r8, 0.010465206518281481_r8, 0.011207258933662274_r8, & + 0.011788139746529251_r8, 0.012299697843877964_r8, 0.013478926220916666_r8, & + 0.01424192141955449_r8, 0.014751920869123886_r8, 0.01500287553181464_r8, & + 0.015152233573778859_r8, 0.015175304034956863_r8, 0.015193525369710328_r8, & + 0.015160509251273812_r8, 0.015027467530110548_r8, 0.014783304118458259_r8, & + 0.014582275665587582_r8, 0.014169975112812448_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,60) / & + 0.00060578082242923441_r8, 0.00065509944307257941_r8, & + 0.00065422790819634567_r8, 0.00061509855559132166_r8, & + 0.00063627172640805924_r8, 0.00065313848960105343_r8, & + 0.00076630985661787652_r8, 0.0010504045928913643_r8, & + 0.0017331496349056528_r8, 0.0021082941323668546_r8, & + 0.0023117847092780767_r8, 0.0025440487537943699_r8, & + 0.0028656835731926912_r8, 0.0031563276377272889_r8, & + 0.0034946241532889024_r8, 0.0040360780118384723_r8, & + 0.0052610202803849999_r8, 0.0062448037220019081_r8, & + 0.0071015609554077475_r8, 0.007967956339209584_r8, & + 0.0088962819659814448_r8, 0.0097590117766273576_r8, & + 0.010592019684655826_r8, 0.011405482141415823_r8, 0.012153066814884027_r8, & + 0.01274296775920071_r8, 0.013280627877700792_r8, 0.014518335568846276_r8, & + 0.015346485951608677_r8, 0.015903678704687878_r8, 0.016214188637724863_r8, & + 0.016330923044382759_r8, 0.016326949870682284_r8, 0.016216123957817675_r8, & + 0.016062951703319596_r8, 0.015813115977695708_r8, 0.015604037324225103_r8, & + 0.015393561651614655_r8, 0.014920088337341347_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,60) / & + 0.00049330990765202964_r8, 0.00057868485725562466_r8, & + 0.00064346212210943197_r8, 0.00056335264632790118_r8, & + 0.00054287433000229127_r8, 0.00058263727841173323_r8, & + 0.00085475749606234077_r8, 0.0013372048771141927_r8, & + 0.0021539501616550318_r8, 0.0025711162778398813_r8, & + 0.0027776236516674369_r8, 0.002992884709934696_r8, & + 0.0033507645087779156_r8, 0.0036493314639630212_r8, & + 0.0039894253676037526_r8, 0.0044330116950066171_r8, & + 0.0056051830941159101_r8, 0.00681754186269839_r8, 0.0078297065207764936_r8, & + 0.0087658069663368691_r8, 0.0096788295165562057_r8, & + 0.010512896485761066_r8, 0.011272238821430637_r8, 0.01205932768414242_r8, & + 0.012782793176767443_r8, 0.013395551087546705_r8, 0.013966888155136277_r8, & + 0.015212537450906111_r8, 0.01618101326573515_r8, 0.016722335806223128_r8, & + 0.017085693289420285_r8, 0.017179211818184451_r8, 0.017198231187103442_r8, & + 0.017067297288938667_r8, 0.016860511388788031_r8, 0.016578921276152649_r8, & + 0.01635466779659733_r8, 0.016031887288146716_r8, 0.015621984408994132_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,60) / & + 0.00028587314486413167_r8, 0.00047121359400177784_r8, & + 0.00062300658555825515_r8, 0.00051842954982913583_r8, & + 0.00064331054333418907_r8, 0.0009692432186650861_r8, & + 0.0018129336720958682_r8, 0.0025281375000870453_r8, & + 0.0029221247644792099_r8, 0.0031523505328325267_r8, & + 0.0032994274126571196_r8, 0.0034119560321202304_r8, & + 0.0036230294513763294_r8, 0.0039219267420116544_r8, & + 0.004306303557787391_r8, 0.004761339791778633_r8, 0.0059178702266334815_r8, & + 0.007221244477651754_r8, 0.0082939816715028817_r8, & + 0.0092395894930000343_r8, 0.010144548270063935_r8, 0.011028572446504034_r8, & + 0.01171368364295019_r8, 0.012520166168356741_r8, 0.013255564277106833_r8, & + 0.013895598219557529_r8, 0.01445795341470341_r8, 0.01575928493127967_r8, & + 0.016881527588688459_r8, 0.017387810408882563_r8, 0.017766264665739193_r8, & + 0.017853677248304587_r8, 0.01788113763144112_r8, 0.017757271150343507_r8, & + 0.017555013021330439_r8, 0.017250261719911633_r8, 0.016976425627665517_r8, & + 0.016622067264559448_r8, 0.016215905571489688_r8, 0.016151373412314665_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,60) / & + 0.00019648661266278195_r8, 0.00043126546504118521_r8, & + 0.00055990190951284938_r8, 0.00049161290234532346_r8, & + 0.0006924312803881351_r8, 0.00089729830189071277_r8, & + 0.0014080360899498272_r8, 0.001932915817926097_r8, & + 0.0025619277881752359_r8, 0.0031289643700787226_r8, & + 0.003467026098969205_r8, 0.0036278535057748147_r8, & + 0.0038914541696360295_r8, 0.004368500449183803_r8, 0.004861712990378614_r8, & + 0.005401428306976686_r8, 0.0066768925577631866_r8, & + 0.0079445143313583936_r8, 0.0089830480031724922_r8, & + 0.0099976861849163587_r8, 0.010908843304803963_r8, 0.011890313753588977_r8, & + 0.012497511179881824_r8, 0.013204664800123656_r8, 0.013991899455511984_r8, & + 0.014676417478228754_r8, 0.015228590159318415_r8, 0.016412634342051872_r8, & + 0.017519768455145784_r8, 0.018024192624383029_r8, 0.018397743685978518_r8, & + 0.018516230209608745_r8, 0.018563752223924954_r8, 0.018472063190047662_r8, & + 0.018288232127220652_r8, 0.01790403568142325_r8, 0.017526559842208099_r8, & + 0.017191196871907559_r8, 0.016795396471978224_r8, 0.016674493806103467_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,60) / & + 0.00024260701322808889_r8, 0.00043817916491725419_r8, & + 0.00049644339886332827_r8, 0.00057664068528734804_r8, & + 0.00064635333011405437_r8, 0.00069905398683369879_r8, & + 0.00078732649164673589_r8, 0.00095017429539776791_r8, & + 0.0013951436529929481_r8, 0.0021086249739466273_r8, & + 0.0028787642467075158_r8, 0.003410020160289501_r8, 0.004111468967766597_r8, & + 0.0050058176575563862_r8, 0.005719065337471684_r8, 0.006402523784993501_r8, & + 0.0078261132344092446_r8, 0.0090445658521271302_r8, & + 0.010025785200499675_r8, 0.01116393831383925_r8, 0.012069706209379871_r8, & + 0.012981709400132267_r8, 0.0136767914893135_r8, 0.014348071397709748_r8, & + 0.015116122503690115_r8, 0.015823777401249184_r8, 0.016467122602994093_r8, & + 0.017575661714718974_r8, 0.018517264304521167_r8, 0.018984750817190241_r8, & + 0.019333620695186647_r8, 0.019511640563867498_r8, 0.019594280129270832_r8, & + 0.019540267067030912_r8, 0.019384694991240691_r8, 0.019007143589702406_r8, & + 0.018650983329028276_r8, 0.018326705630577884_r8, 0.018061080177083733_r8, & + 0.0172063044381696_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,60) / & + 0.00031575882686348645_r8, 0.00041633151964437867_r8, & + 0.00044620385170633745_r8, 0.00053691942735847246_r8, & + 0.00055526419954160999_r8, 0.00057552019901536142_r8, & + 0.00059995982988116558_r8, 0.00066396337056605771_r8, & + 0.00083975113420119184_r8, 0.0012112967293033087_r8, & + 0.0018713022039840788_r8, 0.0026713840851296921_r8, & + 0.0037733495839896106_r8, 0.0051285000272376377_r8, & + 0.0061271840072354769_r8, 0.0072032049718511546_r8, & + 0.0089746267386084204_r8, 0.010192710582148476_r8, 0.011153787026719198_r8, & + 0.012233540151713396_r8, 0.013124743932423322_r8, 0.013904058146946518_r8, & + 0.014645915316380433_r8, 0.015548496166631337_r8, 0.01625202344701648_r8, & + 0.016988914435301559_r8, 0.017654593395719037_r8, 0.018753218009078823_r8, & + 0.019623232750220366_r8, 0.020137578626902301_r8, 0.020472244683586611_r8, & + 0.020718712115519223_r8, 0.020847400165667752_r8, 0.020845485176118693_r8, & + 0.020725130528428257_r8, 0.020503813794207758_r8, 0.020176636781693135_r8, & + 0.019429122787952773_r8, 0.018692677627293555_r8, 0.017732381851350402_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,60) / & + 0.00033888664339199999_r8, 0.00036347800612922466_r8, & + 0.00037372053339406749_r8, 0.00043106938877558515_r8, & + 0.00043365713772146823_r8, 0.00043881714011056452_r8, & + 0.00056087521464183053_r8, 0.00047318616503253333_r8, & + 0.0006012255035944032_r8, 0.00093611430729755387_r8, & + 0.0015328771061230092_r8, 0.0023159888200573889_r8, & + 0.0035790582336910747_r8, 0.0050039626772098106_r8, & + 0.0061942497148026994_r8, 0.0073865821587480226_r8, & + 0.0094278047254616991_r8, 0.010952779125223031_r8, 0.011973669327627929_r8, & + 0.012994946917599576_r8, 0.013862276688545184_r8, 0.014704379781144099_r8, & + 0.015537619446215798_r8, 0.016375879654152558_r8, 0.01709913224127289_r8, & + 0.017820014016484715_r8, 0.018436735022749073_r8, 0.019537349586390914_r8, & + 0.020394715749119736_r8, 0.02099928828129085_r8, 0.021306021756642687_r8, & + 0.021579625847286149_r8, 0.021725593482437161_r8, 0.02176772575419678_r8, & + 0.021692464097728788_r8, 0.021555261106275474_r8, 0.021299513645521302_r8, & + 0.020804107967305314_r8, 0.020097233088861865_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,60) / & + 0.0003188553730826667_r8, 0.00031764378324444445_r8, & + 0.00030123949451377777_r8, 0.00033686980094044445_r8, & + 0.00034099877157333335_r8, 0.00035006975338844446_r8, & + 0.00046740266403733337_r8, 0.00055033280006933332_r8, & + 0.00092425174290488893_r8, 0.0015016699526471111_r8, & + 0.0022176717211217782_r8, 0.0029273445268888894_r8, & + 0.0041007374012640005_r8, 0.0054350485365208881_r8, & + 0.0066938106685759989_r8, 0.007951074255304889_r8, 0.010069236189976887_r8, & + 0.011702140452469334_r8, 0.012911817254104887_r8, 0.014011542277921776_r8, & + 0.01489876082090311_r8, 0.01576565335015111_r8, 0.016556088183818669_r8, & + 0.01733050133607289_r8, 0.018064469706490664_r8, 0.018776294678417779_r8, & + 0.019412698182915553_r8, 0.020658212536607993_r8, 0.021470838594680887_r8, & + 0.021924196381777776_r8, 0.02218460848713778_r8, 0.02238308603300445_r8, & + 0.022531107238897778_r8, 0.022587153232647778_r8, 0.022554824907079551_r8, & + 0.022420956186434665_r8, 0.022171305196552728_r8, 0.021660510137073943_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,60) / & + 0.00045482838756329862_r8, 0.00047277372984636039_r8, & + 0.00050674696688086907_r8, 0.00044111126291405424_r8, & + 0.00050915606762571837_r8, 0.00059180297277044926_r8, & + 0.001024457800416869_r8, 0.0015251082674536292_r8, 0.002158898424634311_r8, & + 0.0029076371030692339_r8, 0.0035772032257329507_r8, & + 0.0041959815714695363_r8, 0.0052997102583002588_r8, & + 0.0064865283381676233_r8, 0.0076586295985188336_r8, & + 0.0088344674232906269_r8, 0.010756372610705431_r8, 0.012292936398027428_r8, & + 0.013646588801585723_r8, 0.014770491658599505_r8, 0.015676362703984193_r8, & + 0.016542262343132913_r8, 0.017270777686063454_r8, 0.018010093011244718_r8, & + 0.018665597852009923_r8, 0.019309679949787651_r8, 0.019972264596823438_r8, & + 0.021262065295217226_r8, 0.022173920462568716_r8, 0.02262026666160083_r8, & + 0.022819346412462607_r8, 0.022960055220884568_r8, 0.023089933611380703_r8, & + 0.023163862158861459_r8, 0.023135014406574922_r8, 0.02294270723725559_r8, & + 0.022454043392617772_r8, 0.021964724194314202_r8, 0.021709222956171753_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,60) / & + 0.00078416123811257069_r8, 0.00079255133604828919_r8, & + 0.00091903243069288735_r8, 0.00079600291333300599_r8, & + 0.00098181822502699766_r8, 0.0011024172023528297_r8, & + 0.0019819465183105009_r8, 0.0024157147920235143_r8, & + 0.0030285686224271521_r8, 0.0037940591043508919_r8, & + 0.004422914095196873_r8, 0.0049663782172102494_r8, & + 0.0060895053041441121_r8, 0.0071642589626184942_r8, & + 0.0082462461607578485_r8, 0.0093757284259625585_r8, & + 0.011224290995682409_r8, 0.012788199959928838_r8, 0.014087325862803588_r8, & + 0.015239283994577709_r8, 0.016265712624956928_r8, 0.017200247902776081_r8, & + 0.017988018545448306_r8, 0.018671903067028831_r8, 0.019165298485213519_r8, & + 0.019706511358977184_r8, 0.020251674123341629_r8, 0.021467211394551881_r8, & + 0.022508776712779514_r8, 0.023020109012871326_r8, 0.02314304484847015_r8, & + 0.023282178497295899_r8, 0.023407357216298878_r8, 0.023457713370836037_r8, & + 0.023525624115263467_r8, 0.023250272735138026_r8, 0.022812189547902744_r8, & + 0.022472189825212419_r8, 0.022313039326401066_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,60) / & + 0.00088828352170638861_r8, 0.00095341363597511086_r8, & + 0.0011585608767338666_r8, 0.0011872274429297332_r8, & + 0.0014644833944517776_r8, 0.0015415351194268667_r8, & + 0.0022751335591404444_r8, 0.0030302044970279105_r8, & + 0.0036223302455392885_r8, 0.0044316625508412436_r8, & + 0.0050227634519054215_r8, 0.0056006052155361773_r8, & + 0.0068728602795290663_r8, 0.0078594800837391999_r8, & + 0.0090809927009560878_r8, 0.010197929218093245_r8, 0.012137340528662843_r8, & + 0.013697583280047642_r8, 0.015081505749661085_r8, 0.016340496815832932_r8, & + 0.01744755216493411_r8, 0.018592188031130309_r8, 0.019404824103912012_r8, & + 0.019836830909015512_r8, 0.020148963706011259_r8, 0.020663633391586785_r8, & + 0.021118047231680408_r8, 0.022257620194103465_r8, 0.02395398620149464_r8, & + 0.024172068553845329_r8, 0.024119628211659968_r8, 0.023661727853511998_r8, & + 0.023583009571055361_r8, 0.023760063215884798_r8, 0.023922439045567997_r8, & + 0.023669076759596799_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,60) / & + 0.0021360282363134453_r8, 0.0020730711718340666_r8, & + 0.0017055512956800703_r8, 0.0016920892117900704_r8, & + 0.0017773483641471658_r8, 0.0018743152558111363_r8, & + 0.0024989844394899727_r8, 0.0035782218979619998_r8, & + 0.0044721162345547905_r8, 0.0051904211208004146_r8, & + 0.0057053707593778952_r8, 0.0064430131812379552_r8, & + 0.0075196209035342226_r8, 0.0086254313759577955_r8, & + 0.0097764794362087664_r8, 0.01084524757212119_r8, 0.012824322058101937_r8, & + 0.014493046837980838_r8, 0.016085332813370313_r8, 0.017515075261091993_r8, & + 0.018638830192745239_r8, 0.019706895308721186_r8, 0.020516930027343089_r8, & + 0.021301398657900171_r8, 0.022067743097349195_r8, 0.02283627186081565_r8, & + 0.023470911059074884_r8, 0.024541866130696494_r8, 0.025208877770658847_r8, & + 0.025398362370875123_r8, 0.025555804647226739_r8, 0.024181253229541511_r8, & + 0.024184364466707197_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,60) / & + 0.0042379789294557432_r8, 0.003902308641729016_r8, & + 0.0040530723818050368_r8, 0.0031208526484823701_r8, & + 0.0030157187740965921_r8, 0.0030564474162157033_r8, & + 0.0036171205207288894_r8, 0.0042107527472782227_r8, & + 0.0047749671172607998_r8, 0.0054437510491178662_r8, & + 0.0059489824940074671_r8, 0.0068512445935786674_r8, & + 0.0078405089611946668_r8, 0.0090005392017919999_r8, & + 0.010237119661312001_r8, 0.011369179629610668_r8, 0.013344764125653334_r8, & + 0.015143694270336001_r8, 0.016714445877845333_r8, 0.018142401884671998_r8, & + 0.019278878211754669_r8, 0.020282863775317333_r8, 0.021161719173333333_r8, & + 0.022071489082837334_r8, 0.022960649318015999_r8, 0.023765898736298665_r8, & + 0.024475460380927998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,60) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,60) / & + 0.0027644777608263715_r8, 0.0026584733270472094_r8, & + 0.0029670303695547647_r8, 0.0036470458404627153_r8, & + 0.0046705107071441975_r8, 0.0056890072977738276_r8, & + 0.0073093578382483933_r8, 0.0087987867770656768_r8, & + 0.0086697922643012328_r8, 0.0074963155716177765_r8, & + 0.0072195374293837012_r8, 0.0043908720423348141_r8, & + 0.0037767329007980235_r8, 0.0036228668970103703_r8, & + 0.0040675082467314279_r8, 0.0037130907901119989_r8, & + 0.0029603698685688883_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,60) / & + 0.0028725859437173673_r8, 0.0027746575396514856_r8, & + 0.0029866646530014745_r8, 0.0034363773296923312_r8, & + 0.0039920195156247229_r8, 0.0048087378764118229_r8, & + 0.0062004926431285723_r8, 0.0071086600276366214_r8, & + 0.0083098246817877343_r8, 0.0070621032580958807_r8, & + 0.0060630880972906672_r8, 0.0040640335267503411_r8, & + 0.0035354279653847694_r8, 0.0035884716448148541_r8, & + 0.0038483825702376288_r8, 0.0035796568964484741_r8, & + 0.003331974882491733_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,60) / & + 0.0027412749989300638_r8, 0.0026954053261445824_r8, & + 0.0030519900890424497_r8, 0.0035101426520384349_r8, 0.00388457297802696_r8, & + 0.0042868036592089162_r8, 0.0058648551123721537_r8, & + 0.0067179944948349418_r8, 0.0079630482582539169_r8, & + 0.0064599538019874643_r8, 0.0051966998169824278_r8, & + 0.0038739925866039669_r8, 0.0029892736810834095_r8, & + 0.0029339034226115888_r8, 0.0033549092374556343_r8, & + 0.0032341461932030142_r8, 0.0029874851672117338_r8, & + 0.0027344900622636864_r8, 0.0027390354751348329_r8, & + 0.0027710268891318994_r8, 0.0027887674245994551_r8, & + 0.0027452887284859962_r8, 0.0027707200258157033_r8, & + 0.0029345466787496052_r8, 0.0030929265078210367_r8, & + 0.0032166883190341568_r8, 0.0033390756383101508_r8, & + 0.003599410804187555_r8, 0.0039032566311071877_r8, & + 0.0041063745744856295_r8, 0.0041175303346264883_r8, & + 0.0041219414947967995_r8, 0.0041737246794047991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,60) / & + 0.0026389918410135702_r8, 0.0024289215296090599_r8, & + 0.0027260460306039571_r8, 0.0033930083053095505_r8, & + 0.0034937017155360138_r8, 0.0033406880795255047_r8, & + 0.004156322244765814_r8, 0.004481207603196838_r8, 0.0066885246894808504_r8, & + 0.0051818951533659126_r8, 0.0041408849275185507_r8, & + 0.0035911936366742653_r8, 0.0026763133096994246_r8, & + 0.0027252566223356311_r8, 0.0031520633594105153_r8, & + 0.0031536421759471669_r8, 0.0028461237994193119_r8, & + 0.0027053459915678557_r8, 0.0026934610115280596_r8, & + 0.0027502545508326193_r8, 0.0027845938105047971_r8, & + 0.0027644200436475787_r8, 0.0027998118476775238_r8, & + 0.0028920410470269363_r8, 0.003152501919559585_r8, & + 0.0033220492731900315_r8, 0.0033766938677641479_r8, & + 0.0035984737351488264_r8, 0.0038903793703697906_r8, & + 0.0041982485950169028_r8, 0.0040861737657789509_r8, & + 0.0040008550213498839_r8, 0.0039062834409185629_r8, & + 0.0039257667887982461_r8, 0.0040112004986378189_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,60) / & + 0.002678111475339483_r8, 0.0029057365212634073_r8, 0.002744983096398354_r8, & + 0.0035259336055814853_r8, 0.0039315823601638192_r8, & + 0.003532832700673871_r8, 0.0044626323137783317_r8, & + 0.0045863200120686096_r8, 0.0053311968214222755_r8, & + 0.0040053079841902888_r8, 0.0032948364660489739_r8, & + 0.0030952136296176721_r8, 0.00264898196272719_r8, 0.0027277128126049974_r8, & + 0.0029760802359308646_r8, 0.0029227813444328301_r8, & + 0.0027033630652201087_r8, 0.0026577298349358359_r8, & + 0.0026716633014949669_r8, 0.0027479140845094981_r8, & + 0.0028101412167153244_r8, 0.0028560449997483196_r8, & + 0.0029317095851406219_r8, 0.0030270343369399838_r8, & + 0.0033433105001948187_r8, 0.003471687779462928_r8, & + 0.0035689064005033347_r8, 0.0038345392763234746_r8, & + 0.0041486287936127533_r8, 0.0043034120211560296_r8, & + 0.0040824718827317539_r8, 0.004071683591876504_r8, & + 0.0040337385688683858_r8, 0.0040883225859228442_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,60) / & + 0.002581038609749333_r8, 0.0033199739526826658_r8, & + 0.0030846265205759994_r8, 0.0034295402276693322_r8, & + 0.0035188610641066665_r8, 0.0038303257857706667_r8, & + 0.0051504025043626655_r8, 0.0040950453186560003_r8, & + 0.0033772356507306657_r8, 0.0028242618417493328_r8, & + 0.0026394121854293332_r8, 0.0025418912514560002_r8, & + 0.0024479375915519991_r8, 0.0025251667587413333_r8, & + 0.0025659356052479994_r8, 0.0026025812388693319_r8, & + 0.0025742746874879993_r8, 0.0025857177614506664_r8, & + 0.0026574801969493338_r8, 0.0027684363189759997_r8, & + 0.0028693392140799992_r8, 0.0029850671442773337_r8, & + 0.0031209478565546664_r8, 0.0032724875121493339_r8, & + 0.0034816131634346657_r8, 0.0036188373945173326_r8, & + 0.0038203652153173322_r8, 0.0041814011480746666_r8, & + 0.0042943030559573336_r8, 0.0042416741813759993_r8, & + 0.0041757954316800003_r8, 0.0041907131232426665_r8, & + 0.0042166395615679999_r8, 0.0042136861366080004_r8, & + 0.0042334045914879997_r8, 0.0042577269146879988_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,61) / & + 0.0037062314915379826_r8, 0.0037547919257777777_r8, & + 0.0037331005271111104_r8, 0.0041162777948888889_r8, & + 0.0042560654217777775_r8, 0.0044546536295555555_r8, & + 0.0046012265788888881_r8, 0.0051107081933333322_r8, & + 0.0055176819322222213_r8, 0.005726067463333334_r8, & + 0.0058779779777777784_r8, 0.0060211936277777788_r8, & + 0.0059466424455555554_r8, 0.0062084452299999999_r8, & + 0.0064271481122222225_r8, 0.0066763454233333321_r8, & + 0.0068497157507407406_r8, 0.0071580020848148133_r8, & + 0.007402588482962962_r8, 0.0075523564829629618_r8, & + 0.0077989605888888879_r8, 0.0081234579222222211_r8, & + 0.0082978960400000006_r8, 0.0084636392933333318_r8, & + 0.0086124088399999986_r8, 0.0087476212624999997_r8, & + 0.0088406980628571441_r8, 0.0091846295771428558_r8, & + 0.0093686124333333346_r8, 0.0096037232319999988_r8, & + 0.0097563867466666666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,5,61) / & + 0.0031704221511111106_r8, 0.0032078179264197525_r8, & + 0.0034252218948148147_r8, 0.0037072479817283946_r8, 0.00380059412345679_r8, & + 0.0040096684024691354_r8, 0.0040284818518518516_r8, & + 0.0045749686429629628_r8, 0.005030614670617284_r8, & + 0.0053512661096296286_r8, 0.0055858379283950602_r8, & + 0.0058364127353086413_r8, 0.0059679312271604928_r8, & + 0.0062912174735802462_r8, 0.0064579499353086415_r8, & + 0.0066081062227160486_r8, 0.006778240821728395_r8, & + 0.0070218541901234553_r8, 0.0072212859985185179_r8, & + 0.0073644981816666675_r8, 0.0075905242106172844_r8, & + 0.0078636797792592597_r8, 0.0080560403654938266_r8, & + 0.008236382531975308_r8, 0.0083934012049911803_r8, & + 0.0085423513581305115_r8, 0.0086632594673456791_r8, & + 0.0090013361292063492_r8, 0.0092336809083774247_r8, & + 0.0094803911660052906_r8, 0.0096597257662857147_r8, & + 0.0097945577760846572_r8, 0.0099053490502962957_r8, & + 0.010024289803629627_r8, 0.010170850272296295_r8, 0.010252049489629628_r8, & + 0.010357455653333333_r8, 0.010451559880000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,61) / & + 0.0017270191837037039_r8, 0.0017303750962962962_r8, & + 0.0020536058730864191_r8, 0.0023125565940740741_r8, & + 0.002425418800493827_r8, 0.0025625767046913578_r8, & + 0.0022740976508641973_r8, 0.0027364832385185188_r8, & + 0.0033382547604938273_r8, 0.003771444833086419_r8, & + 0.0041088573451851847_r8, 0.0044203193155555555_r8, & + 0.0048763443856790125_r8, 0.0052177969358024687_r8, & + 0.005460069788148148_r8, 0.0056606387239506182_r8, & + 0.0059550807629629634_r8, 0.0061719115451851839_r8, & + 0.0063551739565432096_r8, 0.0065424394261728407_r8, & + 0.0067032736172839514_r8, 0.0069107392770370365_r8, & + 0.0070923375995061728_r8, 0.0072852517264197537_r8, & + 0.0074766774182716041_r8, 0.0076715422271604926_r8, & + 0.007870696687407407_r8, 0.0083280715185185174_r8, & + 0.0086854808320987655_r8, 0.0090055590849382715_r8, & + 0.0092926976227160497_r8, 0.0095087980548148147_r8, & + 0.0097000850725925923_r8, 0.0098549655234567921_r8, & + 0.010013479235061728_r8, 0.010144859052839506_r8, 0.010254319121975308_r8, & + 0.010356799262716047_r8, 0.010363362178359788_r8, 0.010344846019777776_r8, & + 0.010284006930000001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,61) / & + 0.00081082731111111102_r8, 0.00081563467901234557_r8, & + 0.00097715299555555554_r8, 0.0012857213002469134_r8, & + 0.0013847993037037038_r8, 0.001472404338765432_r8, & + 0.0011575309861728393_r8, 0.0014246542325925928_r8, & + 0.0017920295896296299_r8, 0.0021440768390123457_r8, & + 0.0024326760770370368_r8, 0.0027108655145679011_r8, & + 0.0031961415693827163_r8, 0.0035824875397530856_r8, & + 0.0038932284049382712_r8, 0.0041814855802469134_r8, & + 0.0047136612069135801_r8, 0.0051560315032098767_r8, & + 0.0054043228103703702_r8, 0.0057429556543209864_r8, & + 0.0059730344330864186_r8, 0.0062312917837037043_r8, & + 0.0063915065639506188_r8, 0.0065491142716049382_r8, & + 0.0067161980409876539_r8, 0.0068928780562962965_r8, & + 0.0070807721817283953_r8, 0.0076273606671604932_r8, & + 0.0080839126987654313_r8, 0.0084835806251851841_r8, & + 0.0088119793224691358_r8, 0.0090588191743209874_r8, & + 0.0093522257802469127_r8, 0.00956264057530864_r8, 0.009731989354567901_r8, & + 0.0098954768429629619_r8, 0.01001493069037037_r8, 0.010127154996049381_r8, & + 0.010204156086913578_r8, 0.010281461105123457_r8, 0.010312902347761903_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,61) / & + 0.00042148598074074072_r8, 0.00042066318123456782_r8, & + 0.00045120845728395065_r8, 0.00064655400296296291_r8, & + 0.00066063404395061724_r8, 0.00067423334814814811_r8, & + 0.00064258792444444441_r8, 0.00085568375160493821_r8, & + 0.0010553374385185185_r8, 0.0012838168429629628_r8, & + 0.0014276773274074072_r8, 0.0015771032646913579_r8, & + 0.0018678288385185185_r8, 0.0020497507338271604_r8, & + 0.0022863841738271604_r8, 0.0024718006558024693_r8, & + 0.0030355292567901234_r8, 0.0036014766429629625_r8, & + 0.0040291752222222218_r8, 0.0046221548079012336_r8, & + 0.0050438626671604932_r8, 0.0054296262064197527_r8, & + 0.0056722226316049378_r8, 0.0059002675239506171_r8, & + 0.0061175882879012343_r8, 0.0063057412716049374_r8, & + 0.0064776971234567892_r8, 0.0069325480864197535_r8, & + 0.007414422003950618_r8, 0.0078993097713580245_r8, & + 0.0083273504133333318_r8, 0.008611382651851851_r8, & + 0.0089087830711111118_r8, 0.0092000044047530864_r8, & + 0.0095200182732010589_r8, 0.00973495433834215_r8, 0.0098712103657936524_r8, & + 0.0099897297480476162_r8, 0.010100609080296294_r8, 0.010274084799999998_r8, & + 0.010336488133333334_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,61) / & + 0.00018459368246913577_r8, 0.00018111758567901229_r8, & + 0.00019323769975308639_r8, 0.00018592495358024693_r8, & + 0.00018086797234567902_r8, 0.00018975235802469134_r8, & + 0.00024840224641975309_r8, 0.00035707649580246908_r8, & + 0.00049481683111111117_r8, 0.00065260019259259262_r8, & + 0.00071437487012345684_r8, 0.00077281212493827143_r8, & + 0.00086410589037037042_r8, 0.00089066659802469132_r8, & + 0.00098143340197530838_r8, 0.0010885729916049382_r8, & + 0.0014004232493827159_r8, 0.0018178507022222222_r8, & + 0.0023353361219753087_r8, 0.0029051571372839505_r8, & + 0.0034507194345679017_r8, 0.0039506672064197525_r8, & + 0.0044178231822222212_r8, 0.0048373215012345672_r8, & + 0.0052163547254320984_r8, 0.0055295639891358014_r8, & + 0.0058078643659259261_r8, 0.0063440707856790108_r8, & + 0.0068105056562962965_r8, 0.0073877318671604917_r8, & + 0.007994459831666665_r8, 0.0083733103032451496_r8, & + 0.0086195822517460326_r8, 0.0088991115945000008_r8, & + 0.0093320440799999991_r8, 0.0096173521200000004_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,61) / & + 0.00014980497975308638_r8, 0.00014976799999999999_r8, & + 0.00013457856641975306_r8, 0.00012910556296296297_r8, & + 0.00012633208148148147_r8, 0.00013391293086419752_r8, & + 0.0001669635851851852_r8, 0.00022494783802469133_r8, & + 0.00029709533629629624_r8, 0.00036922434469135811_r8, & + 0.0004347617120987654_r8, 0.00049390158222222208_r8, & + 0.00057336182666666664_r8, 0.00062632607802469138_r8, & + 0.00068452296444444446_r8, 0.00075496014913580217_r8, & + 0.00092067566765432097_r8, 0.0011684677481481481_r8, & + 0.0015992171570370368_r8, 0.0021333619555555555_r8, & + 0.0026530106908641969_r8, 0.0031975283101234567_r8, & + 0.0036720247669135807_r8, 0.0041997443333333332_r8, & + 0.0046945888992592586_r8, 0.0051256988607407414_r8, & + 0.0054860665545679007_r8, 0.0062070700454321002_r8, & + 0.0067441177545679003_r8, 0.0072839204553086425_r8, & + 0.0078433778948148146_r8, 0.0082290004487654313_r8, & + 0.0085366685275925936_r8, 0.0086865562495432105_r8, & + 0.0088126883903673452_r8, 0.0090248699119999994_r8, & + 0.0091216200400000003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,61) / & + 0.00018761677728395057_r8, 0.00019425464296296297_r8, & + 0.0001668249111111111_r8, 0.00017701283308641975_r8, & + 0.00016916388049382716_r8, 0.00014637510765432097_r8, & + 0.00015341050567901232_r8, 0.00015496365530864195_r8, & + 0.00015107153629629629_r8, 0.00017358296098765429_r8, & + 0.00021905881234567901_r8, 0.00032563446074074075_r8, & + 0.00046012057777777772_r8, 0.00052602774271604934_r8, & + 0.00057536797827160481_r8, 0.00062578062666666674_r8, & + 0.00078440527753086413_r8, 0.00096794503703703685_r8, & + 0.0012953175461728394_r8, 0.0017512779017283949_r8, & + 0.0022383474745679009_r8, 0.0028181437782716047_r8, & + 0.003312923629629629_r8, 0.0039350894854320983_r8, 0.00450651912_r8, & + 0.0050249197886419765_r8, 0.0054622423486419746_r8, & + 0.0064527173002469143_r8, 0.007200540357037038_r8, & + 0.0077200873980246918_r8, 0.0080861869535802464_r8, & + 0.0082862659076543208_r8, 0.0085050103920987653_r8, & + 0.0086406983511111094_r8, 0.0087488233521075837_r8, & + 0.0089407498224550273_r8, 0.0090725866208333332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,61) / & + 0.00019518838172839504_r8, 0.00019919144000000001_r8, & + 0.00018833788246913581_r8, 0.0002226735832098765_r8, & + 0.00020972142469135796_r8, 0.00014480346814814814_r8, & + 0.00013999610024691359_r8, 0.0001527356251851852_r8, & + 0.00013858162469135806_r8, 0.0001323967609876543_r8, & + 0.00014933348790123458_r8, 0.00025275661234567902_r8, & + 0.00037871889629629624_r8, 0.00044015151111111112_r8, & + 0.00049253333135802465_r8, 0.00054201224098765434_r8, & + 0.00065345997185185193_r8, 0.00079650690172839496_r8, & + 0.0010502989471604938_r8, 0.0014263553012345677_r8, & + 0.0019390518429629631_r8, 0.0025387524987654322_r8, & + 0.003195180095802469_r8, 0.0038908894355555558_r8, & + 0.0045307685930864204_r8, 0.0051102320790123472_r8, & + 0.0055775267288888887_r8, 0.0066790518790123465_r8, & + 0.0075433981377777768_r8, 0.0080676508523456775_r8, & + 0.0084023176177777763_r8, 0.0085458915091358029_r8, & + 0.0086435273022222227_r8, 0.0087308549891358007_r8, & + 0.0087966604597530876_r8, 0.0089300725130687809_r8, & + 0.009046959503365079_r8, 0.0091183282641666644_r8, 0.009296848600000001_r8, & + 0.009338783639999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,61) / & + 0.00017290808049382714_r8, 0.00017071703012345681_r8, & + 0.0001685074898765432_r8, 0.00015222715358024691_r8, & + 0.00015641511061728397_r8, 0.00012531513827160494_r8, & + 0.00011962950123456792_r8, 0.00013123189876543208_r8, & + 0.00013184206469135803_r8, 0.00013163867604938271_r8, & + 0.00013390368592592592_r8, 0.00017316693876543208_r8, & + 0.0002611047916049383_r8, 0.00032556050123456787_r8, & + 0.00038988678172839516_r8, 0.0004523363397530863_r8, & + 0.00057656982024691355_r8, 0.00071227626913580248_r8, & + 0.000925871322962963_r8, 0.0012495181219753084_r8, & + 0.0017816567688888887_r8, 0.002428525099753086_r8, & + 0.0031890507017283956_r8, 0.0039713019086419759_r8, & + 0.0047115441160493826_r8, 0.0053500920024691359_r8, & + 0.0058501137338271602_r8, 0.0070103442419753087_r8, & + 0.0079255653960493815_r8, 0.008452378958518518_r8, & + 0.0087894956325925908_r8, 0.0089185179911111124_r8, & + 0.0089696979693827152_r8, 0.0089818203946913575_r8, & + 0.0089892440801234569_r8, 0.0090530526440740708_r8, & + 0.0090967985363580237_r8, 0.0091550472274497339_r8, & + 0.0092952573149999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,61) / & + 0.00015658151950617287_r8, 0.00015161698765432099_r8, & + 0.0001495553664197531_r8, 0.00011351859703703704_r8, & + 0.0001125663683950617_r8, 0.00011191922271604938_r8, & + 0.00010980213185185185_r8, 0.00010478213037037036_r8, & + 0.00010433837333333333_r8, 0.00010634452493827159_r8, & + 0.0001082120024691358_r8, 0.00012612869283950618_r8, & + 0.0001503319412345679_r8, 0.00020468293333333328_r8, & + 0.0002876839891358024_r8, 0.00037484526716049366_r8, & + 0.00051358405580246907_r8, 0.00063287149432098759_r8, & + 0.00080169331209876537_r8, 0.0010906068780246912_r8, & + 0.001580681055802469_r8, 0.002279034447901234_r8, 0.0031223669619753086_r8, & + 0.0039998502780246919_r8, 0.004786437360987654_r8, & + 0.0054582485353086418_r8, 0.006024852312098765_r8, & + 0.0073412205827160489_r8, 0.008343566035061728_r8, & + 0.0088804473353086416_r8, 0.0091818600577777791_r8, & + 0.0093015115157407402_r8, 0.0093396572866666656_r8, & + 0.0093248422730864179_r8, 0.0092540942273456779_r8, & + 0.0091566606672839508_r8, 0.009148217727407407_r8, 0.009227206479999998_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,61) / & + 0.00014751223506172842_r8, 0.00014166943407407408_r8, & + 0.00013749072197530863_r8, 9.545398765432098e-05_r8, & + 9.5518702222222214e-05_r8, 9.6359991604938274e-05_r8, & + 0.00010316426617283951_r8, 0.00010504098864197528_r8, & + 0.00010078831703703706_r8, 9.9179697777777785e-05_r8, & + 9.54724775308642e-05_r8, 0.00011203016197530862_r8, & + 0.00016132417283950615_r8, 0.00019180473432098765_r8, & + 0.00027599838716049378_r8, 0.00039094070469135794_r8, & + 0.00060851108197530865_r8, 0.00074056578024691351_r8, & + 0.00093715014765432083_r8, 0.0012633115698765431_r8, & + 0.0018161403886419755_r8, 0.002636194148148148_r8, & + 0.0035362998281481483_r8, 0.0044504023446913571_r8, & + 0.0052424994108641971_r8, 0.005886437096296296_r8, & + 0.0064427789916049385_r8, 0.0076300601891358026_r8, & + 0.0084801137733333341_r8, 0.008960305112098766_r8, & + 0.0092555329708641967_r8, 0.0094042378029629628_r8, & + 0.0094571280948148127_r8, 0.0094926101679012331_r8, & + 0.0094790019489417992_r8, 0.0093777233199999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,61) / & + 0.0001502265023437827_r8, 0.00014465394322839173_r8, & + 0.00013943996617781727_r8, 9.8648833453155539e-05_r8, & + 9.8484079531483112e-05_r8, 9.9230317882587641e-05_r8, & + 9.7505247408605751e-05_r8, 9.8115806059509455e-05_r8, & + 0.00010867943986085925_r8, 0.00011064679551377117_r8, & + 9.7582778665863357e-05_r8, 0.00010921246725450532_r8, & + 0.00017015203545898928_r8, 0.00028563484314420408_r8, & + 0.00042375677794864199_r8, 0.00062685959774211677_r8, & + 0.0009577436209032953_r8, 0.0011738426176945774_r8, & + 0.0015110454383222517_r8, 0.0020153184269329247_r8, & + 0.0027367080100863862_r8, 0.0036780537700796959_r8, & + 0.0045944635394575264_r8, 0.0054808202552408761_r8, & + 0.0062441348657563903_r8, 0.0068558855597404302_r8, & + 0.0073786109875784147_r8, 0.0083697221233239548_r8, & + 0.0090373243967549494_r8, 0.0094545200920581659_r8, & + 0.0097431108143853154_r8, 0.0099385004855075537_r8, 0.01000892240337199_r8, & + 0.010056456747972295_r8, 0.01004374795580887_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,61) / & + 0.00016565289453932512_r8, 0.00015966140979803127_r8, & + 0.00015715735441546003_r8, 0.0001471005813810041_r8, & + 0.0001415146116814222_r8, 0.00014006489540730206_r8, & + 0.00012105637782705515_r8, 0.00010516018819194733_r8, & + 0.00011251014832297613_r8, 0.00012120844596769712_r8, & + 0.00010436943386060905_r8, 0.00011724453643496294_r8, & + 0.00018539133919465349_r8, 0.00037123888281123289_r8, & + 0.00063495545231254656_r8, 0.00096618013838285419_r8, & + 0.0013869526835392_r8, 0.0017931266871939163_r8, 0.002413574838889218_r8, & + 0.0031503652560516738_r8, 0.0039619022332776825_r8, & + 0.0048239156953207834_r8, 0.0056452154471760057_r8, & + 0.006412348527334558_r8, 0.0070866389386931624_r8, & + 0.0076580907354736188_r8, 0.008154451284405069_r8, & + 0.0090457733460878997_r8, 0.0095978009723703562_r8, & + 0.0099646197412269297_r8, 0.010245702492389557_r8, 0.010452140062249059_r8, & + 0.010531182547285748_r8, 0.010583294126681742_r8, 0.010675791772784257_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,61) / & + 0.00019579979683038022_r8, 0.00019089924512853332_r8, & + 0.00019786374409141733_r8, 0.00027931027831541727_r8, & + 0.00025053144445511113_r8, 0.00022073651348167905_r8, & + 0.00015475370719806417_r8, 0.00014135392651871606_r8, & + 0.00014151269169264199_r8, 0.00015315547111387654_r8, & + 0.00013591357322552102_r8, 0.00013737421282563952_r8, & + 0.00018399825223521977_r8, 0.00034571645839616785_r8, & + 0.00080849577170038524_r8, 0.0012926554617599605_r8, & + 0.001851646470463289_r8, 0.0025298701247849875_r8, & + 0.0035102979955022222_r8, 0.0044301834132290377_r8, & + 0.0052653411498040483_r8, 0.0060769698876032381_r8, & + 0.0068055750237840983_r8, 0.0074669695696696478_r8, 0.00807132508073608_r8, & + 0.0085810777168325129_r8, 0.0090320660698864994_r8, & + 0.0097598244584730879_r8, 0.010086594939447429_r8, 0.010407903898438714_r8, & + 0.010701640638891535_r8, 0.010880611327285768_r8, 0.010964661610362154_r8, & + 0.01106796481686329_r8, 0.011229761082568086_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,61) / & + 0.00024928536138239999_r8, 0.00025137018519324442_r8, & + 0.00027418190816057942_r8, 0.00036014504021301735_r8, & + 0.00032646796563890037_r8, 0.00029686126136214654_r8, & + 0.00021100843744784858_r8, 0.00020159915326451358_r8, & + 0.00020691600552285758_r8, 0.00021797991177829139_r8, & + 0.00022774218200367406_r8, 0.00026210316703425841_r8, & + 0.00037027132729426171_r8, 0.00069542662608929713_r8, & + 0.0012029654004848725_r8, 0.0017056616476161053_r8, & + 0.0023065541993194929_r8, 0.0030343231715114138_r8, & + 0.0040731059391888331_r8, 0.0050401442938200498_r8, & + 0.0059071000747169177_r8, 0.0067158352203035383_r8, & + 0.0074466156046666798_r8, 0.0081014157434790447_r8, & + 0.0087122580892426537_r8, 0.0092295811954912384_r8, & + 0.0096867312123845011_r8, 0.010451431349225665_r8, 0.010798262197165193_r8, & + 0.011105591700836821_r8, 0.011398647331433139_r8, 0.011613946755454631_r8, & + 0.011713753558843628_r8, 0.011858146911668779_r8, 0.012136461238454426_r8, & + 0.012598649855327573_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,61) / & + 0.00029381843710946505_r8, 0.00031080481550485595_r8, & + 0.00033574495081106168_r8, 0.00042148025257698771_r8, & + 0.0003996389835996708_r8, 0.00038315760564306171_r8, & + 0.000324497213765465_r8, 0.00035509564944256785_r8, & + 0.00046022755897079831_r8, 0.00057327879356174484_r8, & + 0.00069735969682699578_r8, 0.00082970424363595073_r8, & + 0.0011650015804217284_r8, 0.0016656406517777779_r8, & + 0.0020971864812823044_r8, 0.0025087733161722465_r8, & + 0.0030749361944602464_r8, 0.0037149553869200991_r8, & + 0.0046217410611664863_r8, 0.0055174396803250696_r8, & + 0.0063928464636707812_r8, 0.0072027179628018426_r8, & + 0.0079959474020185016_r8, 0.0086942597133095635_r8, & + 0.0093500372149159499_r8, 0.0099214911205284598_r8, & + 0.010395365168629071_r8, 0.011295252995973004_r8, 0.011794147520358716_r8, & + 0.012106432905331817_r8, 0.012378387118898571_r8, 0.012677691697138437_r8, & + 0.012788321225079769_r8, 0.013046984745280394_r8, 0.013372778891990912_r8, & + 0.013727742962585389_r8, 0.013736270747592367_r8, 0.013110196699554285_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,61) / & + 0.0003418539579472592_r8, 0.0003816554407386074_r8, & + 0.00040333282112047403_r8, 0.00049945018264865187_r8, & + 0.00049168782036669632_r8, 0.00050933497271277042_r8, & + 0.00052493123978619249_r8, 0.00077918139483709628_r8, & + 0.0011255544546351409_r8, 0.001441259625356089_r8, & + 0.0016274728538619261_r8, 0.0018567189018386969_r8, & + 0.0022588712715522373_r8, 0.0026661985494537484_r8, & + 0.0030669558402318226_r8, 0.0034773952172970661_r8, & + 0.0040934477666972448_r8, 0.0046407360407056588_r8, & + 0.0054528269899178665_r8, 0.006268602378369896_r8, & + 0.0071212817779780745_r8, 0.0078883963362109625_r8, & + 0.0087721490324501345_r8, 0.00953610379651295_r8, 0.010234704478137364_r8, & + 0.01083845171590163_r8, 0.011339475833759527_r8, 0.012390125280936535_r8, & + 0.013034377502835676_r8, 0.013384256145599764_r8, 0.013612762920978252_r8, & + 0.013858821458690133_r8, 0.013954545336416_r8, 0.014366057851123912_r8, & + 0.014662196145493573_r8, 0.014653587196849066_r8, 0.014059498197868803_r8, & + 0.013700033369848144_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,61) / & + 0.00039755414548998838_r8, 0.00044567430312133008_r8, & + 0.000471367251039144_r8, 0.0005941416892116544_r8, & + 0.00063106679731693817_r8, 0.00068512466077425504_r8, & + 0.00085735524038895144_r8, 0.0012765449014823372_r8, & + 0.0016863950461202828_r8, 0.0020504506345753945_r8, & + 0.0021795833660698863_r8, 0.0023638996510845366_r8, & + 0.0026833358543015373_r8, 0.0029488007856045169_r8, & + 0.003339798714244991_r8, 0.0038445408201143046_r8, & + 0.0047215028599494457_r8, 0.0053750834585232056_r8, & + 0.0062273421680781949_r8, 0.0070740713890827455_r8, & + 0.0080215807962627558_r8, 0.008876053775282014_r8, & + 0.0098410051933258275_r8, 0.010663958850585532_r8, 0.011408868786895074_r8, & + 0.012027095295363345_r8, 0.012525738882540561_r8, 0.013807380314856862_r8, & + 0.014604641024198754_r8, 0.015091075203771313_r8, 0.015278174788391885_r8, & + 0.015381119763149733_r8, 0.015388937742487264_r8, 0.015475578766664626_r8, & + 0.015539062738120675_r8, 0.015307653023773762_r8, 0.015065914175333742_r8, & + 0.014715897903525791_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,61) / & + 0.0004001883084635654_r8, 0.00046022168140884279_r8, & + 0.00050264492317845589_r8, 0.00061227888393291835_r8, & + 0.00065554802720005259_r8, 0.0007204773754794665_r8, & + 0.00093616944065796198_r8, 0.0013824209306683522_r8, & + 0.0019964044342856697_r8, 0.0022959945479910184_r8, & + 0.0024477569666598972_r8, 0.0025978147656443786_r8, & + 0.0028921500367136131_r8, 0.0031680036417309496_r8, & + 0.0035538372581153709_r8, 0.004041063703998103_r8, & + 0.0051321741022853258_r8, 0.0060110529415202769_r8, & + 0.0068725267166092627_r8, 0.0077544687446003862_r8, & + 0.008782918348624276_r8, 0.0097489506754826014_r8, 0.01062152370355421_r8, & + 0.01144622639687975_r8, 0.012189004811839313_r8, 0.012803308732690538_r8, & + 0.013306415056685825_r8, 0.014623188904470804_r8, 0.015464950611329685_r8, & + 0.016021656330213345_r8, 0.016292293542662636_r8, 0.016396441960372567_r8, & + 0.016368706644605359_r8, 0.016309467906400182_r8, 0.016219763897594889_r8, & + 0.015988153504235769_r8, 0.015862626848679402_r8, 0.015618823682401773_r8, & + 0.015303915317911464_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,24,61) / & + 0.00031653853460298265_r8, 0.00041841285305959503_r8, & + 0.00050841664488963934_r8, 0.0004790918020166321_r8, & + 0.00048529896007387647_r8, 0.00053182611918672592_r8, & + 0.00089379097076847395_r8, 0.0014650617225668344_r8, & + 0.0022419644797487801_r8, 0.0026112638578383402_r8, & + 0.0027903430204214911_r8, 0.0029898341835390418_r8, & + 0.0033389602979425571_r8, 0.0036680988328754169_r8, & + 0.0040192939999646815_r8, 0.0044180641156679103_r8, & + 0.0054771405644478809_r8, 0.0066000791201629621_r8, & + 0.0076075353570651642_r8, 0.0085298288548956453_r8, & + 0.009567538355747791_r8, 0.010520217749110635_r8, 0.011130946396678873_r8, & + 0.01194243947055589_r8, 0.012659764120914881_r8, 0.013285029189916324_r8, & + 0.013858514889141096_r8, 0.015188080187107909_r8, 0.016167644002227241_r8, & + 0.016733662543361776_r8, 0.017088810131607148_r8, 0.017180577923483376_r8, & + 0.017174224870685467_r8, 0.01705883539398028_r8, 0.016895260863382007_r8, & + 0.016694350542332564_r8, 0.016457782220349569_r8, 0.016192475950245779_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,61) / & + 0.0002187919393289218_r8, 0.00036165996362534983_r8, & + 0.00050115541964839501_r8, 0.00043444437404562962_r8, & + 0.00049054416825165424_r8, 0.00071435383110926749_r8, & + 0.0015207678083801811_r8, 0.0022384393692543216_r8, & + 0.0027656430804451028_r8, 0.0030408090065226004_r8, & + 0.003229604281696395_r8, 0.0033753513276896128_r8, & + 0.0035974061582748971_r8, 0.0039305912263562798_r8, & + 0.0043194647998298598_r8, 0.0047609010837105503_r8, & + 0.0059484975336364775_r8, 0.0071933728057013997_r8, & + 0.0082753365786093804_r8, 0.0092602499010812807_r8, & + 0.010192340030230652_r8, 0.01107363599087236_r8, 0.011604555011014714_r8, & + 0.012395751302174025_r8, 0.013102619676871636_r8, 0.013753045516685039_r8, & + 0.01434711107937699_r8, 0.015733798734449512_r8, 0.016795170647411886_r8, & + 0.017343062185938174_r8, 0.017738488961178731_r8, 0.01782917814462762_r8, & + 0.017835936990801517_r8, 0.017704338280003951_r8, 0.01752087604978278_r8, & + 0.017307098406575766_r8, 0.017037280703966647_r8, 0.016682218449433489_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,61) / & + 0.00018986155972861894_r8, 0.0003197720528414683_r8, & + 0.00045220233104466181_r8, 0.00045329235043767567_r8, & + 0.00052490804016829624_r8, 0.00074957943999329711_r8, & + 0.0013543703299639046_r8, 0.0019893561727306014_r8, & + 0.0026906350131269668_r8, 0.0031916758754170606_r8, & + 0.0034352315073236284_r8, 0.0035957757922089745_r8, & + 0.0038802000733055603_r8, 0.0043367341697302525_r8, & + 0.004832961959375868_r8, 0.0053747582220878744_r8, & + 0.0067104283492183834_r8, 0.0079672490215555412_r8, & + 0.0089926741484614454_r8, 0.010083981746212636_r8, 0.010993666632114872_r8, & + 0.011890044787764726_r8, 0.0124628712129376_r8, 0.01318664408989889_r8, & + 0.013903367231045625_r8, 0.014607448978452597_r8, 0.015184946915309817_r8, & + 0.0164363174906819_r8, 0.017452342969835059_r8, 0.017982531233816271_r8, & + 0.018361971231353243_r8, 0.018466485688218473_r8, 0.018481236340264186_r8, & + 0.018363160343418349_r8, 0.018171216068063791_r8, 0.017914062241999432_r8, & + 0.017620984288852511_r8, 0.017226075874644465_r8, 0.017239789188197335_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,61) / & + 0.00022950851251389635_r8, 0.00029764408033153581_r8, & + 0.00037490625121090369_r8, 0.00054658860672568877_r8, & + 0.00060622548177224694_r8, 0.00069379706347014311_r8, & + 0.00091988857579772829_r8, 0.0012658087356845827_r8, & + 0.0020282232516140248_r8, 0.0028898475934656786_r8, & + 0.0033895181591716349_r8, 0.003733642203575941_r8, & + 0.0043300547617362165_r8, 0.004909747383087408_r8, & + 0.0055253623140895597_r8, 0.0060579762662071298_r8, & + 0.0074676640738392487_r8, 0.0087445707588468934_r8, & + 0.0097356468385261033_r8, 0.010954449917801562_r8, 0.011958682908454556_r8, & + 0.012885317869235515_r8, 0.013549676161869747_r8, 0.014247605751206241_r8, & + 0.01496618336730959_r8, 0.015660695956459771_r8, 0.01628191827238305_r8, & + 0.017439229950869804_r8, 0.018397260426183112_r8, 0.018882591273158479_r8, & + 0.019218975958166438_r8, 0.019365089222543482_r8, 0.019433053210223563_r8, & + 0.019394064361943859_r8, 0.019297265784550557_r8, 0.019133191469652061_r8, & + 0.019230601060082345_r8, 0.019042022076723199_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,61) / & + 0.00027392251294295966_r8, 0.00029556302352487247_r8, & + 0.00032296731404619602_r8, 0.00038840051294060249_r8, & + 0.0004257522147933894_r8, 0.00047696407676157368_r8, & + 0.00054915429182515881_r8, 0.0010669764953112758_r8, & + 0.001699336894930173_r8, 0.0023700572816654089_r8, & + 0.0029985952267030788_r8, 0.0035872231341446191_r8, & + 0.004499465464085084_r8, 0.0053579827434153751_r8, & + 0.0061622934030543947_r8, 0.0069616830286459274_r8, & + 0.0085001758504888343_r8, 0.0097530530601383381_r8, & + 0.010843942470132968_r8, 0.011945426399911785_r8, 0.012956962254761471_r8, & + 0.013942312790826366_r8, 0.014764306065162007_r8, 0.015612665246687859_r8, & + 0.016289284854666564_r8, 0.016964113627624931_r8, 0.017601334865156176_r8, & + 0.018716889641523373_r8, 0.019591238504394815_r8, 0.020118300814624526_r8, & + 0.020435052877717779_r8, 0.020654813918070822_r8, 0.020858863767152992_r8, & + 0.021000196767938829_r8, 0.021015116003806799_r8, 0.020900899480771163_r8, & + 0.020625460992660622_r8, 0.019628695549484092_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,61) / & + 0.00030536987111687899_r8, 0.00031347401901326747_r8, & + 0.00031304014493850857_r8, 0.00031375293806132674_r8, & + 0.0003329363703667358_r8, 0.00036386539369597366_r8, & + 0.00054658836118012821_r8, 0.00086182886749777113_r8, & + 0.0013795336117010963_r8, 0.0019858106491659061_r8, & + 0.0026572617708605631_r8, 0.0033599363304351866_r8, & + 0.0044482164739517369_r8, 0.0055606850971360927_r8, & + 0.0065528311420882165_r8, 0.0075500287209107481_r8, & + 0.0093104107972340911_r8, 0.010679175034579567_r8, 0.011822975564162581_r8, & + 0.012918740035468721_r8, 0.013826776491928311_r8, 0.014797724689227928_r8, & + 0.015614678580993501_r8, 0.016494017366508323_r8, 0.017212326888276935_r8, & + 0.017896933691738389_r8, 0.018517017222082131_r8, 0.019605049437555963_r8, & + 0.020523219952761705_r8, 0.021182940978935205_r8, 0.02144834794866626_r8, & + 0.021677944811727037_r8, 0.021851804351683976_r8, 0.021940113221400073_r8, & + 0.021957499175395766_r8, 0.021888025089175006_r8, 0.021618919121592303_r8, & + 0.02104011893082619_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,61) / & + 0.00031364234838399997_r8, 0.00031455104076266667_r8, & + 0.00031987565926222224_r8, 0.00033871906964088889_r8, & + 0.00037235662962311109_r8, 0.00042719701177422226_r8, & + 0.00070533658950400007_r8, 0.0011599537923537779_r8, 0.001789454423168_r8, & + 0.0024931968155164443_r8, 0.0031537524069208886_r8, & + 0.0038237456454862217_r8, 0.0050088558689546656_r8, & + 0.0061998646218986674_r8, 0.0073009128293546671_r8, & + 0.0083680205793688865_r8, 0.010173448858035557_r8, 0.011586146667431111_r8, & + 0.012752923623610666_r8, 0.013845650121914667_r8, 0.014749241069683552_r8, & + 0.015650799416079109_r8, 0.016477780365503587_r8, 0.017314652454244097_r8, & + 0.018102758906030348_r8, 0.018814308024913944_r8, 0.019457529284354284_r8, & + 0.020662225643269042_r8, 0.021545320909178756_r8, 0.022026482348702726_r8, & + 0.022247433861227392_r8, 0.022455839839236408_r8, 0.022570274271714045_r8, & + 0.022655332490141872_r8, 0.022699589908347053_r8, 0.022666124955791678_r8, & + 0.022378953930912854_r8, 0.021990833822880002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,61) / & + 0.00036458133233155073_r8, 0.00037985823763221453_r8, & + 0.00042532539030983653_r8, 0.00046551049010313053_r8, & + 0.00059233711886854214_r8, 0.00075478261820933145_r8, & + 0.0013744460567900285_r8, 0.0020771878262100698_r8, & + 0.0027428581239302028_r8, 0.0034094464669657621_r8, & + 0.0039561570555733923_r8, 0.0045798129523661312_r8, & + 0.0057320065302818839_r8, 0.0068232344073948185_r8, & + 0.0078413824241212651_r8, 0.0089018956129306905_r8, & + 0.010583142698132342_r8, 0.011984210956997001_r8, 0.013239458969926397_r8, & + 0.01440069059715501_r8, 0.015369214650346231_r8, 0.016253948704671943_r8, & + 0.017125904794413442_r8, 0.017956845431835122_r8, 0.018708365023757403_r8, & + 0.019382753445020932_r8, 0.020111129998346484_r8, 0.021418739663786806_r8, & + 0.022306788104601315_r8, 0.02270427877065842_r8, 0.022883694968317179_r8, & + 0.023113831656649032_r8, 0.023221382763656942_r8, 0.023332220607513415_r8, & + 0.023364854089541861_r8, 0.023245570416079924_r8, 0.022668101592741328_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,61) / & + 0.00069135922132160005_r8, 0.0007281771680192_r8, & + 0.00078067683275466666_r8, 0.00072954079567466665_r8, & + 0.00089931243878026677_r8, 0.0010534023638480001_r8, & + 0.0019049878346869332_r8, 0.0024899840988821336_r8, & + 0.0031547525809221331_r8, 0.00388633881808_r8, 0.0044072445824682666_r8, & + 0.0049567865276213341_r8, 0.0060531431626165335_r8, & + 0.0071194999891914671_r8, 0.0081667660285898672_r8, & + 0.0092672135465514671_r8, 0.011024929594448001_r8, 0.012539919919671466_r8, & + 0.013934911011213868_r8, 0.015115812560847999_r8, 0.016126260653548802_r8, & + 0.017043982065677869_r8, 0.017830795222882133_r8, 0.018593063082287999_r8, & + 0.019206695527248002_r8, 0.019816237089241601_r8, 0.020473505619176532_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,61) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,61) / & + 0.0027708519909776146_r8, 0.0027257829287824194_r8, & + 0.0029931303797471605_r8, 0.0036870389571419253_r8, & + 0.0050736637256790108_r8, 0.0061745493886303203_r8, & + 0.0078133819160177767_r8, 0.0090653754367788619_r8, & + 0.0089610837947595046_r8, 0.0077844153610972825_r8, & + 0.0074454283805412327_r8, 0.0044079749562587643_r8, & + 0.0037720356216217276_r8, 0.0036788126964306164_r8, & + 0.0042179760357303701_r8, 0.0037230325040609516_r8, & + 0.0029625378435733326_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,61) / & + 0.0028687350272390854_r8, 0.0028026616582291432_r8, & + 0.0030211867193148364_r8, 0.0039608885557251474_r8, & + 0.0045765056155777258_r8, 0.0054250865426428985_r8, & + 0.007145464705850894_r8, 0.0086211839413376633_r8, & + 0.0088715165873735902_r8, 0.0072606213234176009_r8, & + 0.0063335829283223703_r8, 0.004112887096921757_r8, & + 0.0037353427337927111_r8, 0.0039829626720567302_r8, & + 0.003950869538919979_r8, 0.0036585551018968494_r8, & + 0.0033370030136021332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,61) / & + 0.0027308075022077828_r8, 0.0026996848212511482_r8, & + 0.0030633269837796739_r8, 0.0036564887509254467_r8, & + 0.0040411387212836991_r8, 0.0044360836819152078_r8, & + 0.0062780558526802071_r8, 0.0072514313147127446_r8, & + 0.0077088814103455153_r8, 0.0061059991438716116_r8, & + 0.0047384107180764084_r8, 0.0037212738986317148_r8, & + 0.0028727392924792175_r8, 0.0029056695620984529_r8, & + 0.0032882514015652622_r8, 0.0031692267927959108_r8, & + 0.0028916113864252443_r8, 0.002686971912437333_r8, & + 0.0026991825152276145_r8, 0.0027499108571861922_r8, & + 0.002760810897896889_r8, 0.0027148453303250963_r8, & + 0.0027468741889530072_r8, 0.0029343165312624591_r8, & + 0.003081546993178785_r8, 0.0032073609528189629_r8, & + 0.0032874650643175108_r8, 0.0035348736130001775_r8, & + 0.0038397642364487619_r8, 0.0040759119973674662_r8, & + 0.0040891454778783989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,61) / & + 0.0026317994545688238_r8, 0.0024220799912835684_r8, & + 0.0027469653497145946_r8, 0.0032405209414779262_r8, & + 0.0033630546471280724_r8, 0.0033387584148695968_r8, & + 0.0046496585564546099_r8, 0.0050767284296189376_r8, & + 0.0065607282620418639_r8, 0.0050594053037306738_r8, & + 0.0040105009952000528_r8, 0.0035585209055685532_r8, & + 0.002705433703597669_r8, 0.002773366670688606_r8, 0.0032249520561859419_r8, & + 0.0031439938526676282_r8, 0.0028318705945745383_r8, & + 0.0027129330821467654_r8, 0.0027095561689989265_r8, & + 0.0027706914537792785_r8, 0.0027950753980675687_r8, & + 0.0027632797872599959_r8, 0.0027969612067085697_r8, & + 0.0029092326048704787_r8, 0.0031742106469385477_r8, & + 0.0033435387204944593_r8, 0.0033831845579703839_r8, & + 0.0036027716246097114_r8, 0.0039038431669462387_r8, & + 0.0041929608126481154_r8, 0.004046394010828935_r8, & + 0.0039677896222821297_r8, 0.0038804613325985737_r8, & + 0.0038933418441767591_r8, 0.0040109702545595574_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,61) / & + 0.0027078271855740048_r8, 0.0028959515301846652_r8, & + 0.0027655000131763625_r8, 0.0034485104273224961_r8, & + 0.0038843709055120059_r8, 0.0033807369637678885_r8, & + 0.0046041314013594075_r8, 0.0048825301797933048_r8, & + 0.0052414184009716928_r8, 0.0039106145221379429_r8, & + 0.0032680066518008095_r8, 0.0031137915850298478_r8, & + 0.0026708967353735904_r8, 0.0027559404827215547_r8, & + 0.0030058410382901731_r8, 0.0029342347441286849_r8, & + 0.0027123814901774761_r8, 0.0026666580756436282_r8, & + 0.0026862731499258997_r8, 0.0027576088913386673_r8, & + 0.0028199712999188546_r8, 0.002859201448483398_r8, & + 0.0029321605063884902_r8, 0.0030168886088629472_r8, & + 0.0033532758597727076_r8, 0.0034867034570169415_r8, & + 0.0035814927398344597_r8, 0.003883649431515417_r8, & + 0.0041674322096488612_r8, 0.0042811320022988564_r8, & + 0.004079259068840691_r8, 0.0040712777627534219_r8, & + 0.0040948158518921479_r8, 0.0040850179773491806_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,61) / & + 0.0026181011974826659_r8, 0.0032609054534826661_r8, & + 0.0030993125709653335_r8, 0.0034879601315839998_r8, & + 0.0036351449331199995_r8, 0.0037919660074666657_r8, & + 0.0053135242186239983_r8, 0.0042135529429333327_r8, & + 0.0035748255715840004_r8, 0.0028660499094186665_r8, & + 0.0026825901001386668_r8, 0.0025766837556906665_r8, & + 0.0024519218197333326_r8, 0.0025289656739839999_r8, & + 0.0025692712381439999_r8, 0.0026042027270826657_r8, & + 0.0025747842980693323_r8, 0.0025867369826133332_r8, & + 0.0026593333263360006_r8, 0.0027695481966079987_r8, & + 0.0028701731223039996_r8, 0.0029863180066133327_r8, & + 0.0031218280930133337_r8, 0.0032693835204266669_r8, & + 0.0034835126210559985_r8, 0.0036179108298239992_r8, & + 0.0038216624058879994_r8, 0.0041933075043840001_r8, & + 0.0042952296206506665_r8, 0.0042340300226559992_r8, & + 0.0041763050422613324_r8, 0.004195959795818667_r8, 0.004220044686816_r8, & + 0.0042133634935451426_r8, 0.0042366012396799985_r8, & + 0.0042591862540799991_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,62) / & + 0.0034520178186984484_r8, 0.0034715431957777778_r8, & + 0.0034375874619999996_r8, 0.0038324091917777778_r8, & + 0.0039196573722222227_r8, 0.004121378227333332_r8, & + 0.0042845546235555547_r8, 0.0047633545991111114_r8, & + 0.0054062337391111107_r8, 0.0056466529813333343_r8, & + 0.0058293990628888893_r8, 0.0059931038073333326_r8, & + 0.005954422061111111_r8, 0.0062409365655555554_r8, & + 0.0064674398644444442_r8, 0.0066765742355555562_r8, & + 0.0068273614899999994_r8, 0.0070720310925925928_r8, & + 0.0073027154148148149_r8, 0.0074638130866666675_r8, & + 0.0077021106155555552_r8, 0.0080706231000000003_r8, & + 0.0082574586799999995_r8, 0.0084311895599999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,62) / & + 0.0030594274222222224_r8, 0.0030754211654320991_r8, & + 0.003248994881481481_r8, 0.0035447681916049383_r8, & + 0.0036176090602469133_r8, 0.0038368620162962963_r8, & + 0.0039140757407407399_r8, 0.0044536658079012345_r8, & + 0.0050276100656790126_r8, 0.0053760702790123446_r8, & + 0.0056220595965432094_r8, 0.0058567423545679001_r8, & + 0.005969244008395061_r8, 0.0062933530543209876_r8, & + 0.0064550562696296292_r8, 0.0065948027565432103_r8, & + 0.0067573657511111112_r8, 0.0069827758360493817_r8, & + 0.0071733290368518514_r8, 0.0072935143899999985_r8, & + 0.0075134156473456804_r8, 0.0077515281123809524_r8, & + 0.0079444316736507949_r8, 0.0081332715892857149_r8, & + 0.0082996522480952382_r8, 0.0084619217158730161_r8, & + 0.0085994289466666662_r8, 0.0089445391905820099_r8, & + 0.0091926409765079372_r8, 0.0094628909931216906_r8, & + 0.0096536237108148168_r8, 0.0097954373659259256_r8, & + 0.0099138359036296288_r8, 0.010052956508222223_r8, 0.010199297871851852_r8, & + 0.010262200431851852_r8, 0.010351035043703702_r8, 0.010471778560000001_r8, & + 0.010480015799999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,62) / & + 0.001631639155555555_r8, 0.0016327208133333335_r8, & + 0.0019339856167901231_r8, 0.0021467116464197532_r8, & + 0.0022365447116049382_r8, 0.0023449138780246917_r8, & + 0.0022060918849382718_r8, 0.0026523820350617287_r8, & + 0.0033219004646913588_r8, 0.0037955278972839506_r8, & + 0.0041172702390123456_r8, 0.0044093455738271605_r8, & + 0.0048417313367901237_r8, 0.0051652394617283954_r8, & + 0.005407336660246914_r8, 0.0056063616913580227_r8, & + 0.0059091796444444454_r8, 0.0061312245718518517_r8, & + 0.0063205609076543209_r8, 0.0065075028044444434_r8, & + 0.0066609595348148141_r8, 0.006834024779259258_r8, & + 0.0070081531916049381_r8, 0.0071965372987654328_r8, & + 0.0073856610009876526_r8, 0.0075814318138271615_r8, & + 0.0077883705120987646_r8, 0.0082478624340740735_r8, & + 0.0086136846414814807_r8, 0.008935713576296295_r8, & + 0.0092258289841975309_r8, 0.0094605764567901214_r8, & + 0.0096658695560493807_r8, 0.009843603494320988_r8, 0.010017667192098765_r8, & + 0.010151034671604942_r8, 0.01026072586419753_r8, 0.010387057945679011_r8, & + 0.010422211493280421_r8, 0.01041863033437037_r8, 0.010435709433333332_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,62) / & + 0.00069423014962962965_r8, 0.00070504672740740728_r8, & + 0.00088028453234567888_r8, 0.0011033094232098764_r8, & + 0.001187863628641975_r8, 0.0012295583002469134_r8, & + 0.00096592964049382695_r8, 0.0012625165051851849_r8, & + 0.001734757197037037_r8, 0.0021795126874074072_r8, & + 0.0024279981382716049_r8, 0.0027338854108641974_r8, & + 0.0032054697120987661_r8, 0.0035398036597530862_r8, & + 0.0038625259649382715_r8, 0.0041440528251851854_r8, & + 0.0046664103274074069_r8, 0.0051057113041975306_r8, & + 0.0053940886637037031_r8, 0.0057305119674074074_r8, & + 0.0059638911891358023_r8, 0.006201772695802469_r8, & + 0.0063692447525925937_r8, 0.0065329818543209866_r8, & + 0.0067042350908641966_r8, 0.0068831708711111104_r8, & + 0.0070705010553086403_r8, 0.0075720389565432106_r8, & + 0.0080180517585185188_r8, 0.0084149924281481485_r8, & + 0.0087173851140740725_r8, 0.0089763635698765411_r8, & + 0.0092810027758024674_r8, 0.0095229890350617269_r8, & + 0.0097249262217283961_r8, 0.0099150206424691353_r8, & + 0.010058233981234567_r8, 0.010187755566419753_r8, 0.010285557768395062_r8, & + 0.010354543497777776_r8, 0.010409249099294532_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,62) / & + 0.00037566806666666666_r8, 0.0003769531130864197_r8, & + 0.00046757199802469139_r8, 0.00049986456740740745_r8, & + 0.00049909723753086411_r8, 0.00049061038419753093_r8, & + 0.00050600320641975313_r8, 0.0007188216854320988_r8, & + 0.00095465081580246912_r8, 0.0012670835046913582_r8, & + 0.0014058407832098763_r8, 0.0015901293827160494_r8, & + 0.0018908302449382715_r8, 0.002082052548148148_r8, & + 0.0023216536133333337_r8, 0.0025491715441975306_r8, & + 0.0031079633481481475_r8, 0.0036567059041975312_r8, & + 0.0040821117387654319_r8, 0.0046102288375308642_r8, & + 0.0050251324222222223_r8, 0.0054045816686419746_r8, & + 0.0056636063491358026_r8, 0.0059132289274074074_r8, & + 0.0061421890686419759_r8, 0.0063419074701234557_r8, & + 0.0065117924558024693_r8, 0.0069694816148148158_r8, & + 0.0074707421679012344_r8, 0.0079303357841975283_r8, & + 0.0083038867599999969_r8, 0.0085612288617283958_r8, & + 0.0088425338434567884_r8, 0.0091350899150617285_r8, & + 0.0094796826075220445_r8, 0.0097699490711111101_r8, & + 0.009934396712380951_r8, 0.010082087770962962_r8, 0.010181878427089945_r8, & + 0.010342331858814814_r8, 0.010423941947619047_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,62) / & + 0.00020411899209876543_r8, 0.00020086477382716048_r8, & + 0.000228793732345679_r8, 0.00017142889037037037_r8, & + 0.0001673611175308642_r8, 0.00017171548345679011_r8, & + 0.00020952728098765433_r8, 0.00029691968246913576_r8, & + 0.00043585261481481481_r8, 0.00060588551950617291_r8, & + 0.00068125025629629625_r8, 0.00075269513925925924_r8, & + 0.00086478077086419767_r8, 0.00091488833629629635_r8, & + 0.0010131065604938271_r8, 0.0011375341846913581_r8, & + 0.0014519730251851849_r8, 0.0018531108967901231_r8, & + 0.0023492405091358024_r8, 0.0028931941871604937_r8, & + 0.003431905985185185_r8, 0.0039228122074074067_r8, & + 0.0044053332706172838_r8, 0.0048508468459259255_r8, & + 0.0052484069264197523_r8, 0.0055767963787654333_r8, & + 0.0058502893876543208_r8, 0.0063993647614814814_r8, & + 0.0068914913155555561_r8, 0.0075048559901234567_r8, & + 0.0080803811323456789_r8, 0.0083931268284303355_r8, & + 0.008561639105864197_r8, 0.0087651038534920633_r8, & + 0.0092018499255555539_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,62) / & + 0.00015222715358024691_r8, 0.00015500987999999999_r8, & + 0.00014682810962962964_r8, 0.00012928121679012345_r8, & + 0.00012856011160493827_r8, 0.00013174037037037034_r8, & + 0.00015615625234567898_r8, 0.00022048253283950611_r8, & + 0.00029459920296296294_r8, 0.00037367115999999991_r8, & + 0.00043160918814814806_r8, 0.00050636375901234572_r8, & + 0.00060976839358024696_r8, 0.00067011935061728396_r8, & + 0.00072900960740740744_r8, 0.00079689518913580244_r8, & + 0.00096293428049382709_r8, 0.0012409573091358022_r8, & + 0.0016772259461728391_r8, 0.0022096604311111112_r8, & + 0.002728051854814814_r8, 0.0032685664158024689_r8, 0.003777860820246913_r8, & + 0.0043380948345679007_r8, 0.0048326805422222226_r8, & + 0.0052495163190123453_r8, 0.0056153847511111101_r8, & + 0.0062942683032098752_r8, 0.006820471699753086_r8, & + 0.0073975869713580247_r8, 0.0079561014271604946_r8, & + 0.0082998898099911813_r8, 0.0084975237090158737_r8, & + 0.0086092262699999991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,62) / & + 0.00015077569827160492_r8, 0.00016669548197530867_r8, & + 0.000155056104691358_r8, 0.00019112060888888888_r8, & + 0.00018729320444444444_r8, 0.00015649831506172839_r8, & + 0.00014344446222222223_r8, 0.00013980195654320987_r8, & + 0.00015239356246913579_r8, 0.00018567534024691357_r8, & + 0.00023120666123456785_r8, 0.00035026297629629625_r8, & + 0.00050081679604938273_r8, 0.00057025552740740733_r8, & + 0.00063082836296296291_r8, 0.00069124403456790131_r8, & + 0.00084517225679012361_r8, 0.0010559106246913581_r8, & + 0.0013968824380246913_r8, 0.0018573913032098764_r8, & + 0.0023589476943209876_r8, 0.0029015608562962961_r8, & + 0.003449267979259259_r8, 0.0040847003214814813_r8, 0.004673556664691359_r8, & + 0.0051966999866666667_r8, 0.0056351874088888879_r8, & + 0.0065424024464197528_r8, 0.0072284878054320982_r8, & + 0.0077180072869135795_r8, 0.0080442334237037037_r8, & + 0.0082162011619047615_r8, 0.0084236997732592602_r8, & + 0.0085731740442361107_r8, 0.0087236415335999982_r8, & + 0.0088997137866666659_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,62) / & + 0.00014937046765432096_r8, 0.00016703754469135805_r8, & + 0.00017129021629629627_r8, 0.00022305262567901238_r8, & + 0.00022811885185185186_r8, 0.00016807297777777778_r8, & + 0.00015655378469135801_r8, 0.00012403933679012345_r8, & + 0.00011471119407407407_r8, 0.0001205539950617284_r8, 0.00014452612_r8, & + 0.00025761944987654319_r8, 0.00039192991308641974_r8, & + 0.00044574469876543211_r8, 0.00050075208148148132_r8, & + 0.00056090889481481474_r8, 0.00068127799111111103_r8, & + 0.00083673162814814793_r8, 0.0011003880227160496_r8, & + 0.0015024411432098769_r8, 0.0020299018513580246_r8, & + 0.0025980865125925924_r8, 0.003275435404938271_r8, & + 0.0039749074345679014_r8, 0.0046553903609876535_r8, & + 0.0052542312375308629_r8, 0.0057258525185185181_r8, & + 0.0067672208553086416_r8, 0.0075679249590123463_r8, & + 0.0080638604276543225_r8, 0.0083479943604938267_r8, & + 0.008470517527407408_r8, 0.0085400764429629621_r8, & + 0.0086654851862345665_r8, 0.0087834771777777782_r8, & + 0.0089378035926984123_r8, 0.009062212066666667_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,62) / & + 0.00014276033679012345_r8, 0.0001517833965432099_r8, & + 0.00015316089234567902_r8, 0.00016520704691358026_r8, & + 0.00016745356691358023_r8, 0.00014038438765432096_r8, & + 0.00013645528888888887_r8, 0.00012086832296296297_r8, & + 0.00011980515506172839_r8, 0.00011867727259259257_r8, & + 0.00012061870962962961_r8, 0.00016716697382716046_r8, & + 0.0002601155832098765_r8, 0.00032588407407407399_r8, & + 0.0003947403743209876_r8, 0.00046141486913580244_r8, & + 0.00059183321333333325_r8, 0.00073205119209876544_r8, & + 0.00094921479209876525_r8, 0.0012929138622222224_r8, & + 0.0018339831195061729_r8, 0.002479381505185185_r8, & + 0.0032635279244444446_r8, 0.0040662011999999994_r8, & + 0.0048324586637037035_r8, 0.0054612808750617286_r8, & + 0.0059433581812345666_r8, 0.0070394565525925918_r8, & + 0.0079369089353086425_r8, 0.0084630753520987655_r8, & + 0.0087664664913580225_r8, 0.008852130089382718_r8, 0.008866737091851852_r8, & + 0.0088965809082098765_r8, 0.0089634528484920633_r8, & + 0.009056437678222222_r8, 0.0091176158261111109_r8, & + 0.0091536329500000006_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,62) / & + 0.00015096059703703703_r8, 0.00015247676691358022_r8, & + 0.00015084041283950614_r8, 0.00011775277876543211_r8, & + 0.00011680979506172839_r8, 0.00011889915111111111_r8, 0.00011681904_r8, & + 0.00010818426765432098_r8, 0.00010382990172839506_r8, & + 0.00010460647654320986_r8, 0.00010479137530864197_r8, & + 0.00012514872938271604_r8, 0.00015788505580246909_r8, & + 0.00019533630074074072_r8, 0.0002871200479012346_r8, & + 0.00038821344790123459_r8, 0.00053841596000000005_r8, & + 0.0006583412992592592_r8, 0.00082267932197530882_r8, & + 0.0011037994049382716_r8, 0.0016144065906172839_r8, & + 0.0023329786627160494_r8, 0.0032305974543209871_r8, & + 0.0041491745209876535_r8, 0.0049632652953086418_r8, & + 0.0055952862553086419_r8, 0.0060925622400000001_r8, & + 0.0073197261012345688_r8, 0.0083589681022222199_r8, & + 0.008898317800987654_r8, 0.0091762761150617281_r8, & + 0.0092557548493827149_r8, 0.0092525838355555553_r8, & + 0.0092120852278395043_r8, 0.0091208311578611107_r8, & + 0.0091088523180000019_r8, 0.0091352863700000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,62) / & + 0.00015650756000000002_r8, 0.0001561192725925926_r8, & + 0.00015349371012345683_r8, 0.00010164809629629627_r8, & + 0.00010264654962962962_r8, 0.00011048625728395061_r8, & + 0.00012229204345679011_r8, 0.00012195922567901233_r8, & + 0.00010825822716049383_r8, 9.7913141234567887e-05_r8, & + 9.5084190123456786e-05_r8, 0.00011727204197530863_r8, & + 0.00020006970913580247_r8, 0.00021101571604938271_r8, & + 0.00031917224888888888_r8, 0.0004601113328395062_r8, & + 0.00067472332987654319_r8, 0.00081687350074074083_r8, & + 0.0010017352864197528_r8, 0.0013258350874074075_r8, & + 0.0019192306953086421_r8, 0.0027993118390123458_r8, & + 0.0037599903545679006_r8, 0.0047143083525925918_r8, & + 0.0054898107545679007_r8, 0.0060937086123456791_r8, & + 0.006589708795555556_r8, 0.0076940628967901237_r8, & + 0.0085217344854320986_r8, 0.0089726008799999989_r8, & + 0.0092362572745679009_r8, 0.0093559977150617282_r8, & + 0.0094118424250440886_r8, 0.0094045864692063486_r8, & + 0.0094557898899999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,62) / & + 0.00016403675754279501_r8, 0.0001607804447379753_r8, & + 0.00015955932743616787_r8, 0.00011235248317343865_r8, & + 0.00011250754568795389_r8, 0.00011340884655357363_r8, & + 0.00011098599476427324_r8, 0.00012306148808214647_r8, & + 0.00012552310550007571_r8, 0.00010507423639838023_r8, & + 9.7127282529474879e-05_r8, 0.00012619181259392262_r8, & + 0.00023880596376060577_r8, 0.00036618012802770695_r8, & + 0.00055186748915969045_r8, 0.00077516720146877341_r8, & + 0.0010741083466398154_r8, 0.0013196207641532048_r8, & + 0.0016642762768847668_r8, 0.0021850343490698405_r8, & + 0.0029401112635017343_r8, 0.0039232076055282688_r8, & + 0.004863031814597899_r8, 0.005765098301383071_r8, 0.0064905292013210858_r8, & + 0.0070935188632350148_r8, 0.0075877030969950408_r8, & + 0.0084860577748390054_r8, 0.0090716998179415434_r8, & + 0.0094419309541609615_r8, 0.0097057976854041939_r8, & + 0.0098924405154453728_r8, 0.0099793711916074095_r8, & + 0.0099826993592738653_r8, 0.010004090717721598_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,62) / & + 0.00017284064865366909_r8, 0.0001670316456811457_r8, & + 0.00016868411947612179_r8, 0.00020327455253414979_r8, & + 0.00019356246728514896_r8, 0.00018654705706353249_r8, & + 0.00013071777369584199_r8, 0.0001268653807995786_r8, & + 0.00014123075115222386_r8, 0.00012294202277101564_r8, & + 0.00010860706604649875_r8, 0.00014698906474453331_r8, & + 0.00026153692615211191_r8, 0.00049917887847134804_r8, & + 0.00082217160919490352_r8, 0.0011700933771077004_r8, & + 0.0015482665671322073_r8, 0.0019875103224385317_r8, & + 0.0026295420122289513_r8, 0.0033713202644044642_r8, & + 0.0041919002270606491_r8, 0.0050416671348440488_r8, & + 0.0058593983543322068_r8, 0.0066271903964335403_r8, & + 0.0072837496625932901_r8, 0.0078476487417218632_r8, & + 0.0083294411627798139_r8, 0.0091703881184059775_r8, & + 0.009642853693504554_r8, 0.0099737336917894055_r8, 0.010258618146468081_r8, & + 0.010471737843874293_r8, 0.010611020855591796_r8, 0.010587037080300956_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,62) / & + 0.00020567499064857284_r8, 0.00020019229997566418_r8, & + 0.00019504830834046418_r8, 0.00036119077068148147_r8, & + 0.00032698216787290863_r8, 0.00029408602383545676_r8, & + 0.00016688336648600498_r8, 0.00018828491193121979_r8, & + 0.00018662316977746172_r8, 0.00018424169216857281_r8, & + 0.00016455481060175802_r8, 0.00017684323506362469_r8, & + 0.00021532791322326913_r8, 0.00046230301778243948_r8, & + 0.0010000194931796939_r8, 0.0015341161226114371_r8, & + 0.0020228164966452932_r8, 0.0026740289027097283_r8, & + 0.0036307372564424291_r8, 0.0045340793430461625_r8, & + 0.0053823193299526719_r8, 0.0061817549023943522_r8, & + 0.0069215053537848101_r8, 0.0075831645082935703_r8, & + 0.0081835191369770671_r8, 0.008712545865188109_r8, 0.009174076225790773_r8, & + 0.0099037186277746176_r8, 0.010129630885926279_r8, 0.010395276774939141_r8, & + 0.010737077025711802_r8, 0.010914269544158063_r8, 0.011043586046394644_r8, & + 0.011102722482565023_r8, 0.011376366167214399_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,62) / & + 0.00025071936717821892_r8, 0.00024855732767067656_r8, & + 0.00025035535032235718_r8, 0.00041780310401875223_r8, & + 0.00039246532468801312_r8, 0.00037735310976284441_r8, & + 0.00024260068821112103_r8, 0.00026684641697427499_r8, & + 0.00026360335771296131_r8, 0.00028361325397154242_r8, & + 0.0002995858723742025_r8, 0.00035769619954631118_r8, & + 0.00053887731644112601_r8, 0.00097560929696468819_r8, & + 0.0014924691090330863_r8, 0.0020002064380773136_r8, & + 0.0025133929891456527_r8, 0.0032136621424992927_r8, & + 0.0042107263723321952_r8, 0.0051400834669748149_r8, & + 0.0060045683455773506_r8, 0.0068159729481069575_r8, & + 0.0075846221162935304_r8, 0.008243084485292141_r8, & + 0.0088566735036954333_r8, 0.0093918775591365026_r8, & + 0.009860367252630545_r8, 0.010631730001015362_r8, 0.010901698138298997_r8, & + 0.011136786842302789_r8, 0.01145557736152715_r8, 0.011693520288605314_r8, & + 0.011872259459092056_r8, 0.012143801260153547_r8, 0.012779618353286124_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,62) / & + 0.00028250183636767076_r8, 0.00028239854082337448_r8, & + 0.00028254774549846907_r8, 0.00043671060671934136_r8, & + 0.00043982095033093_r8, 0.00044838300322482303_r8, & + 0.00039753864086564599_r8, 0.00045835676189076547_r8, & + 0.00059180312783888066_r8, 0.00077842374453418917_r8, & + 0.00094577400357688892_r8, 0.0011406467865332016_r8, & + 0.0015818679653534812_r8, 0.0020667142957148973_r8, & + 0.0024579289538130696_r8, 0.0028564431637081809_r8, & + 0.0033352983525004108_r8, 0.0039889181249592757_r8, & + 0.0048951643669187814_r8, 0.0057667262605601323_r8, & + 0.0066143580197728395_r8, 0.0074172628083052508_r8, & + 0.0081945043927213832_r8, 0.0089071862619523288_r8, & + 0.0095714339981910115_r8, 0.010137860853981103_r8, 0.010622741616190617_r8, & + 0.011539214117035457_r8, 0.012042263417758421_r8, 0.012308215012473284_r8, & + 0.012555481590953219_r8, 0.012864874700686025_r8, 0.013134682662387952_r8, & + 0.013389432429188016_r8, 0.01391258664997703_r8, 0.014271682050459816_r8, & + 0.014183741665507654_r8, 0.013130051578818667_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,62) / & + 0.0003187099561204148_r8, 0.00031911536367431112_r8, & + 0.00032601921584213337_r8, 0.0004970058135736889_r8, & + 0.00051778891258666665_r8, 0.00056047594326162967_r8, & + 0.00066711005368794065_r8, 0.0010480023743250962_r8, & + 0.0014181752422871702_r8, 0.0017202992599525929_r8, & + 0.001884250844248889_r8, 0.0021229643509842961_r8, & + 0.0025317940215855411_r8, 0.0029062475163666966_r8, & + 0.0032841112041012144_r8, 0.0036757945199229636_r8, & + 0.0042331225927661033_r8, 0.004846146509263646_r8, & + 0.0056943902732821336_r8, 0.0064941401396036739_r8, & + 0.0073328329786024301_r8, 0.008106028650143763_r8, & + 0.0089555959505882056_r8, 0.009738879115970607_r8, 0.010452408334579673_r8, & + 0.01107475662481683_r8, 0.011583996207516918_r8, 0.012679395494393127_r8, & + 0.013379570111226787_r8, 0.013730831909174755_r8, 0.013927657276591407_r8, & + 0.014178866874988085_r8, 0.014327699142274367_r8, 0.014660395659004205_r8, & + 0.014894089266322253_r8, 0.014839526179068445_r8, 0.014510032041335772_r8, & + 0.013761780687771336_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,62) / & + 0.00034005736074179418_r8, 0.00035187092129139094_r8, & + 0.0003789864445633449_r8, 0.00059766720204582719_r8, & + 0.00070762609181060734_r8, 0.00082261966130699584_r8, & + 0.001229773097882311_r8, 0.0016878423619153642_r8, & + 0.0020079960379196706_r8, 0.002193042165942097_r8, 0.002290049434873969_r8, & + 0.0024215696189193213_r8, 0.0026611436787769547_r8, & + 0.0029950530399447698_r8, 0.0034382656691924148_r8, & + 0.0039110183849242865_r8, 0.0047130416291474297_r8, & + 0.0053448877503540285_r8, 0.006199929759514943_r8, & + 0.0070308869494192447_r8, 0.0079214438615517763_r8, & + 0.0087808401883184041_r8, 0.0098378013062238919_r8, & + 0.010650240276083434_r8, 0.01140398254980912_r8, 0.012064329658980398_r8, & + 0.01255198849037956_r8, 0.013852717172882278_r8, 0.014676722298882_r8, & + 0.015148510137417151_r8, 0.015317215204197676_r8, 0.015418205684121139_r8, & + 0.015437577449378383_r8, 0.015509275247227033_r8, 0.015551791694985113_r8, & + 0.015341980385580179_r8, 0.015136832649292732_r8, 0.014622693505442791_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,62) / & + 0.00029607834082170199_r8, 0.00034005240200343697_r8, & + 0.00038097609111835385_r8, 0.00060861331077699413_r8, & + 0.00068033550441528895_r8, 0.00078740612729847562_r8, & + 0.0011124117359975242_r8, 0.0016129419054321777_r8, & + 0.0021610348090683514_r8, 0.0023850961723965625_r8, & + 0.0024966013697970565_r8, 0.0025823065715231599_r8, & + 0.0027974731524380444_r8, 0.0031294766735256753_r8, & + 0.0035626935904606288_r8, 0.0040214029025254176_r8, & + 0.0049814498354543131_r8, 0.0057819546192750086_r8, & + 0.0066107330198158735_r8, 0.0074616586595645622_r8, & + 0.0084703961953583404_r8, 0.0095345915459971679_r8, 0.01056037527863493_r8, & + 0.011426629678853845_r8, 0.012142621213058579_r8, 0.01277867505574758_r8, & + 0.01327101536068351_r8, 0.014575549270133147_r8, 0.015418925879850926_r8, & + 0.015991255143060015_r8, 0.016245410092997008_r8, 0.016334973118219374_r8, & + 0.016308237504221966_r8, 0.016273209492210988_r8, 0.016222327235466162_r8, & + 0.016003430997948574_r8, 0.015891850182080877_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,62) / & + 0.00021264821609359014_r8, 0.00029283727082457284_r8, & + 0.00034859558807383696_r8, 0.00040619748431873574_r8, & + 0.00042395685320474071_r8, 0.00050719643433137763_r8, & + 0.00096330318311466643_r8, 0.0016432124640730469_r8, & + 0.0024183910106835359_r8, 0.0026870362808747452_r8, & + 0.0028379842848266662_r8, 0.0030480992376960394_r8, & + 0.0033480588244965532_r8, 0.0036659502012402175_r8, & + 0.0040314165265978473_r8, 0.0044176131682876841_r8, & + 0.0054716628800939452_r8, 0.0065736721721031894_r8, & + 0.0074919867224610744_r8, 0.0084288829575159697_r8, & + 0.0094378777207742397_r8, 0.010497497959042132_r8, 0.011110149764555455_r8, & + 0.011973448734525629_r8, 0.012666422226352354_r8, 0.013291183295340601_r8, & + 0.013854588994301472_r8, 0.015152813449342495_r8, 0.01608298526316871_r8, & + 0.016698528437178783_r8, 0.01705425960438681_r8, 0.017158057080788502_r8, & + 0.017132034764317749_r8, 0.017027507814212743_r8, 0.016893045915955592_r8, & + 0.016756581280803907_r8, 0.016535858453972607_r8, 0.016315777564000215_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,62) / & + 0.00016899857360158025_r8, 0.00025096843419733332_r8, & + 0.00033249958672500413_r8, 0.00036000109874291362_r8, & + 0.00038587116513264197_r8, 0.00048802159686018096_r8, & + 0.0013339604291398848_r8, 0.0021800500673179917_r8, & + 0.0027585826224744031_r8, 0.0029988986763936133_r8, & + 0.0031953850523859756_r8, 0.0033915698165815308_r8, & + 0.003623961706021004_r8, 0.003973941067333662_r8, 0.0043866282631278338_r8, & + 0.0048180153903240163_r8, 0.006031893195453498_r8, & + 0.0073474690146153087_r8, 0.0083951313004501059_r8, & + 0.0093733954537651362_r8, 0.010305225099999078_r8, 0.011196721023223704_r8, & + 0.011694311939818928_r8, 0.012474869560327241_r8, 0.01314631225852721_r8, & + 0.013781451864093366_r8, 0.014373049693902349_r8, 0.015722310066916607_r8, & + 0.016698079068094417_r8, 0.017300247020418762_r8, 0.017678906921682301_r8, & + 0.017790873446433184_r8, 0.01779124360636563_r8, 0.017689278254604309_r8, & + 0.017541888991133025_r8, 0.017423226782418946_r8, 0.017234402325324555_r8, & + 0.016950086006546669_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,62) / & + 0.00017566299542741068_r8, 0.00021127973299654322_r8, & + 0.00030639454210902388_r8, 0.00039137358647607564_r8, & + 0.0004388106642162041_r8, 0.0005601567192410862_r8, & + 0.0012849913034033646_r8, 0.0020329711045471732_r8, & + 0.0027829469152288399_r8, 0.0031794308523656694_r8, & + 0.0034282242397971094_r8, 0.0035879050028256522_r8, & + 0.003889330755234054_r8, 0.0043471530563959446_r8, & + 0.0048284603208436803_r8, 0.0053920145031279279_r8, & + 0.0067859511214486395_r8, 0.0080498498417923819_r8, & + 0.0091019592096831074_r8, 0.01015530015792698_r8, 0.011146623249537158_r8, & + 0.01203300720140172_r8, 0.012515121363322204_r8, 0.013227088056208513_r8, & + 0.013916985395410289_r8, 0.014577126620792391_r8, 0.015173522945827191_r8, & + 0.016461175595281027_r8, 0.017389872118128945_r8, 0.017953709422333462_r8, & + 0.018322928718548927_r8, 0.018443425407813015_r8, 0.018445718695367153_r8, & + 0.018351863778799844_r8, 0.018180461768272392_r8, 0.018054993761433387_r8, & + 0.017849844022470439_r8, 0.017256988844853334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,62) / & + 0.00020896270370133335_r8, 0.0001820355740280099_r8, & + 0.00024260701322808889_r8, 0.00053893686271873581_r8, & + 0.00058940332700886916_r8, 0.00072723693708831604_r8, & + 0.0011606556658485727_r8, 0.0017007169260645134_r8, & + 0.0025909476925528494_r8, 0.0032865846792002368_r8, & + 0.0036572707891553975_r8, 0.0039186713034081973_r8, & + 0.0043772940591837234_r8, 0.0049063303829010958_r8, & + 0.0054823869655924928_r8, 0.0060613640612636448_r8, & + 0.0074758269076176595_r8, 0.0087517406182121872_r8, & + 0.0098240653689881264_r8, 0.011012976997915811_r8, 0.01209194591572069_r8, & + 0.012994734888021966_r8, 0.013463871490524601_r8, 0.014123629975215723_r8, & + 0.014827283769992537_r8, 0.015479361305546903_r8, 0.016076591607341512_r8, & + 0.017307646238567034_r8, 0.018236369366128508_r8, 0.018745575406713361_r8, & + 0.019057320088775268_r8, 0.01918998439088055_r8, 0.019213248102084898_r8, & + 0.019085052184838636_r8, 0.019030250323334094_r8, 0.018964959126550659_r8, & + 0.018387337983334397_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,62) / & + 0.00023738345891452848_r8, 0.00019989631575768231_r8, & + 0.00022879046062365766_r8, 0.00036790372892630125_r8, & + 0.00043517290994240008_r8, 0.00050776944891816288_r8, & + 0.00079987119467263225_r8, 0.0017561018503647872_r8, & + 0.0025718949227812745_r8, 0.003267596705598552_r8, & + 0.0037412499949275651_r8, 0.0041260537887937068_r8, & + 0.0047728763098793753_r8, 0.0054347177666818364_r8, & + 0.0060991777553627792_r8, 0.0067804475147808536_r8, & + 0.0081908580100850583_r8, 0.0095021555688854526_r8, & + 0.010694520613688032_r8, 0.011822204911285428_r8, 0.012864741775730897_r8, & + 0.013910423888237303_r8, 0.014738557168356965_r8, 0.015372121490678611_r8, & + 0.016068756313590518_r8, 0.016698091857418763_r8, 0.017263875331575636_r8, & + 0.018425766082964885_r8, 0.019290272877741359_r8, 0.019773271617050458_r8, & + 0.02008311617363669_r8, 0.020307482218327746_r8, 0.020457581281292974_r8, & + 0.020587409295750668_r8, 0.02078885808058285_r8, 0.020863018375408458_r8, & + 0.021147290538857316_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,62) / & + 0.00027038543034927981_r8, 0.00025414948704133002_r8, & + 0.00026924598051753738_r8, 0.00031680167821164116_r8, & + 0.00039169337955338599_r8, 0.00052140899945765954_r8, & + 0.0010677878946463389_r8, 0.001873148106655327_r8, & + 0.0025714075547906318_r8, 0.0031783694381323727_r8, & + 0.0037113574519601596_r8, 0.0042051728350382895_r8, & + 0.0050229643140642516_r8, 0.0058085976443527634_r8, & + 0.0066027310879719619_r8, 0.0074154411489437974_r8, & + 0.0089662562363451159_r8, 0.010371461745389263_r8, 0.01162363616041354_r8, & + 0.01274207857658257_r8, 0.01375528079601993_r8, 0.014803704016320701_r8, & + 0.015681720094659402_r8, 0.016406460139353884_r8, 0.017111728203346815_r8, & + 0.0177429828289529_r8, 0.018325734151535527_r8, 0.019491253509707238_r8, & + 0.020345021561375014_r8, 0.020891851652396792_r8, 0.021161260501715608_r8, & + 0.021419832239195701_r8, 0.021699588431786706_r8, 0.021903502052582843_r8, & + 0.021990271333426511_r8, 0.021978430500402341_r8, 0.0217838217075952_r8, & + 0.021919690148881062_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,62) / & + 0.0003081668715558008_r8, 0.00030900676466932055_r8, & + 0.00032349164002469847_r8, 0.00036207587990938418_r8, & + 0.00043031742496377147_r8, 0.0005413296143350428_r8, & + 0.00099537406728863651_r8, 0.001687041327153551_r8, & + 0.0024030232332330446_r8, 0.0031852322698550204_r8, & + 0.0037213664342949882_r8, 0.0042840782403464808_r8, & + 0.0052797739613122275_r8, 0.0061915155836525706_r8, & + 0.0073288933807303999_r8, 0.0083363247515221336_r8, & + 0.0099697130521259319_r8, 0.011327552943201667_r8, 0.012538878742520004_r8, & + 0.013587503769261999_r8, 0.014536647904377665_r8, 0.015526694128170971_r8, & + 0.016366896722511886_r8, 0.017218268136866277_r8, 0.018010491158708973_r8, & + 0.018695715960415974_r8, 0.019313610756227898_r8, 0.020507659290146744_r8, & + 0.021348110920857599_r8, 0.0218587123423176_r8, 0.022091296939228799_r8, & + 0.022330656555211676_r8, 0.02252869888525488_r8, 0.022619825904801598_r8, & + 0.0226697992030368_r8, 0.022652624917079998_r8, 0.022473779909184002_r8, & + 0.022551257890943997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,62) / & + 0.00035149025693959106_r8, 0.00036808355288625772_r8, & + 0.0004163368574991644_r8, 0.00046587337699861327_r8, & + 0.00058778985341742204_r8, 0.00076677620569546657_r8, & + 0.0013511644334438218_r8, 0.0020861460404059252_r8, & + 0.0027379675791819845_r8, 0.0033603636731459547_r8, & + 0.003872395912069095_r8, 0.0045240330808901923_r8, & + 0.0057045170285270515_r8, 0.0067744896251591092_r8, & + 0.007785574458175998_r8, 0.0088255685001310778_r8, 0.010469263522616888_r8, & + 0.011869073968677686_r8, 0.013025073586295465_r8, 0.014153085844749863_r8, & + 0.015145696808279464_r8, 0.016071602722103461_r8, 0.016972618692007464_r8, & + 0.017846753522477863_r8, 0.018651196509972264_r8, 0.019345791878299729_r8, & + 0.020043705905816531_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,62) / & + 0.0012122649857098668_r8, 0.0012777191131722666_r8, 0.0015013540486688_r8, & + 0.0022036222912341333_r8, 0.0022922580888394667_r8, & + 0.0020768049192757335_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,62) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,62) / & + 0.0026853371921246707_r8, 0.0026506954269823997_r8, & + 0.0028996905978879994_r8, 0.0033866495080767996_r8, & + 0.0044094208113535996_r8, 0.004221886473772799_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,62) / & + 0.0027704551843850339_r8, 0.0027285169861491353_r8, & + 0.0029836755998666671_r8, 0.003632984113697777_r8, & + 0.0049889320359219743_r8, 0.005707675971423209_r8, & + 0.0070089857616901577_r8, 0.0094933457469617757_r8, & + 0.0083041030582737766_r8, 0.0078197051764474067_r8, & + 0.0066860349137066646_r8, 0.0044096611590399995_r8, & + 0.0037706505264799989_r8, 0.0036812215575466661_r8, & + 0.0042177953711466662_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,62) / & + 0.002864603647781557_r8, 0.0028054116114166836_r8, & + 0.0030249236760166395_r8, 0.0046229009883173916_r8, & + 0.0050827018518710201_r8, 0.0058376043510509493_r8, & + 0.0076863053862517719_r8, 0.0089682615544792472_r8, & + 0.0093858447394133335_r8, 0.0077246371265069814_r8, & + 0.0066893387233063501_r8, 0.0042113391455772444_r8, & + 0.0039727822584504887_r8, 0.0042126427351243849_r8, & + 0.004269255766885925_r8, 0.0038392574434076448_r8, & + 0.0036588034046677329_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,62) / & + 0.0027761670286407959_r8, 0.0027551439726677418_r8, & + 0.003099899428711373_r8, 0.0038472280473166431_r8, & + 0.0041936776445851039_r8, 0.0046501436770535866_r8, & + 0.0066347365103643849_r8, 0.007660452260049206_r8, 0.007570059094621313_r8, & + 0.0061139958557662804_r8, 0.0046011469209506842_r8, & + 0.0036323410738067904_r8, 0.0028699583436761949_r8, & + 0.0030208455934438517_r8, 0.0032733685307297774_r8, & + 0.0031032511798138665_r8, 0.0027874057186338366_r8, & + 0.0026562855808177775_r8, 0.0026748891693621334_r8, & + 0.0027337206207639995_r8, 0.0027346453204891426_r8, & + 0.0026954873694617597_r8, 0.0027281107757647998_r8, & + 0.0029309282488127995_r8, 0.003088003908790399_r8, 0.003223215557489066_r8, & + 0.0032692450549183997_r8, 0.0035143521287295996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,62) / & + 0.0026726732604621436_r8, 0.002458085779522212_r8, & + 0.0027907775086066836_r8, 0.0031682462289111969_r8, & + 0.003309374884881909_r8, 0.0033506433949093925_r8, 0.00516062498613602_r8, & + 0.0055550221281946343_r8, 0.0063110121131614277_r8, & + 0.0049857710547018281_r8, 0.0039753284712446425_r8, & + 0.0035239623658218405_r8, 0.0027464390775357103_r8, & + 0.0028699814715287177_r8, 0.0032525813455773502_r8, & + 0.0031207940207818277_r8, 0.0028054692736005265_r8, & + 0.002713678634400184_r8, 0.0027241602219629565_r8, & + 0.0027837769922271541_r8, 0.0027939461056837134_r8, & + 0.0027595465439910387_r8, 0.0027859972029818211_r8, & + 0.0029068095600468672_r8, 0.0032060391497573007_r8, & + 0.0033637062222066898_r8, 0.0034067712625591136_r8, & + 0.0036155720989606917_r8, 0.0039272356520403803_r8, & + 0.0041327872276232238_r8, 0.0040271550036037355_r8, & + 0.0039655200735106925_r8, 0.0038713444893996897_r8, & + 0.0038898092421759995_r8, 0.0040110327493807999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,62) / & + 0.0027338002494512199_r8, 0.0028939674766940448_r8, & + 0.0027946746179134418_r8, 0.0033779412520311049_r8, & + 0.0038146133884667793_r8, 0.0031784085998493765_r8, & + 0.004881673429422354_r8, 0.0051260727457669809_r8, & + 0.0050564955972208989_r8, 0.0038256158669147662_r8, & + 0.0032819401183599413_r8, 0.003130160026327467_r8, & + 0.0026961483252542166_r8, 0.0027880009834449909_r8, & + 0.0030208116237194012_r8, 0.0029400516282261867_r8, & + 0.0027177474530271084_r8, 0.0026722494991171953_r8, & + 0.002701153551105554_r8, 0.0027684310012875066_r8, & + 0.0028273213162591081_r8, 0.0028607345807261505_r8, & + 0.0029322055985132778_r8, 0.0030030002344286029_r8, & + 0.0033737927765507157_r8, 0.0035004114629521386_r8, & + 0.0036019871105500744_r8, 0.0039250304744322924_r8, & + 0.0041912814344486167_r8, 0.0042364502158475847_r8, & + 0.0040662048987149032_r8, 0.0040871050985536008_r8, & + 0.0041076501979096002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,62) / & + 0.0026342697513813329_r8, 0.0032475629218986662_r8, & + 0.0031156664378026665_r8, 0.0034940291303253335_r8, & + 0.0036698911091199997_r8, 0.0037524943515306656_r8, & + 0.0053438692123306654_r8, 0.0042175834993493314_r8, & + 0.0036331528190293332_r8, 0.0028809676009813327_r8, & + 0.0026988049822720002_r8, 0.0025869222955519997_r8, & + 0.0024561376890879991_r8, 0.0025328109174613334_r8, & + 0.0025717729628159996_r8, 0.0026042953835519987_r8, & + 0.0025749696110079988_r8, 0.0025867833108479993_r8, & + 0.0026605378604373335_r8, 0.0027702431201279995_r8, & + 0.0028714239846399986_r8, 0.0029867812889599996_r8, & + 0.0031227083294719992_r8, 0.0032651213228373339_r8, & + 0.0034860606739626661_r8, 0.003618744738048_r8, 0.0038249517105493325_r8, & + 0.0042065110512639996_r8, 0.0042933764912640006_r8, & + 0.0042275614428906655_r8, 0.0041789689157546673_r8, & + 0.004199926650912001_r8, 0.0042222560327314284_r8, & + 0.0042195756134399999_r8, 0.0042404233190399994_r8, & + 0.0042591862540799991_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,63) / & + 0.0031855592518816012_r8, 0.0031904036984444438_r8, & + 0.0031995270657777779_r8, 0.0035866357435555556_r8, & + 0.0035830038695555556_r8, 0.003808046930444444_r8, & + 0.0040334852124444447_r8, 0.0045747259633333332_r8, & + 0.0052199348277777776_r8, 0.005556022540222221_r8, 0.005769928686222222_r8, & + 0.0059469086997777773_r8, 0.0059908448066666661_r8, & + 0.0062730992435555558_r8, 0.0064869845884444437_r8, & + 0.0066426434631111104_r8, 0.0068101381700000005_r8, & + 0.0070149112414814811_r8, 0.0072161273229629612_r8, & + 0.0073812326755555548_r8, 0.0076152534959999987_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,63) / & + 0.0028876842039506174_r8, 0.0028914931185185181_r8, & + 0.0030144045728395063_r8, 0.0033116848079012343_r8, & + 0.0033320976316049376_r8, 0.0035910483525925922_r8, & + 0.0038167265407407398_r8, 0.0043432627550617281_r8, & + 0.0049959461520987644_r8, 0.0053695433525925932_r8, & + 0.0056491842454320989_r8, 0.0058719780128395063_r8, & + 0.0060462543441975299_r8, 0.0063123236676543215_r8, & + 0.0064711239723456793_r8, 0.006590161797530864_r8, & + 0.0067526970572839495_r8, 0.0069576111140740729_r8, & + 0.0071326917550617285_r8, 0.0072618481651851863_r8, & + 0.0074543647597530866_r8, 0.007694383002777778_r8, & + 0.0078943752855555552_r8, 0.0080970910280952369_r8, & + 0.0082752228288888886_r8, 0.0084437430305555547_r8, & + 0.0085895647626190452_r8, 0.0089489990478571427_r8, & + 0.0092094245015873002_r8, 0.0094852353485714268_r8, & + 0.0096934445655026454_r8, 0.0098251314473015855_r8, & + 0.0099583378007407387_r8, 0.010107553877925925_r8, 0.010237791021333332_r8, & + 0.010286704140740741_r8, 0.010347762335555554_r8, 0.010470280879999998_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,63) / & + 0.001531044982222222_r8, 0.0015326720913580248_r8, & + 0.0017678263412345676_r8, 0.0019216621140740742_r8, 0.00199433657382716_r8, & + 0.0021104345086419753_r8, 0.0021640459056790121_r8, & + 0.0025723023797530856_r8, 0.0032388531841975308_r8, & + 0.0037272262933333339_r8, 0.0040549223753086417_r8, & + 0.004355909830617284_r8, 0.0048059904054320981_r8, & + 0.0051296372044444451_r8, 0.0053639501649382715_r8, & + 0.005564537590617283_r8, 0.0058817499125925913_r8, & + 0.0061205559130864196_r8, 0.006317491588148148_r8, & + 0.0064995614024691353_r8, 0.0066489688498765432_r8, & + 0.0067984410118518508_r8, 0.0069630009130864194_r8, & + 0.0071435915372839495_r8, 0.007327140541728395_r8, & + 0.0075210623669135796_r8, 0.0077250981545679024_r8, & + 0.0081831571111111098_r8, 0.008556976190123456_r8, & + 0.0088854765817283944_r8, 0.0091749818237037047_r8, & + 0.0094290142375308642_r8, 0.0096466770641975303_r8, & + 0.0098383338795061722_r8, 0.010021605535802471_r8, 0.010158495336790124_r8, & + 0.010259213161172842_r8, 0.010383331245026453_r8, 0.0104650409810582_r8, & + 0.010473624311925925_r8, 0.010449146951111109_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,63) / & + 0.00064887448246913585_r8, 0.0006641841002469137_r8, & + 0.00080476263160493826_r8, 0.00091557246172839523_r8, & + 0.00098703583456790137_r8, 0.00099073380987654315_r8, & + 0.00084974850123456795_r8, 0.0011426466355555554_r8, & + 0.0015876517392592593_r8, 0.0020587275688888889_r8, & + 0.0022687725664197527_r8, 0.0026223914553086419_r8, & + 0.0031424839476543206_r8, 0.0034709196246913575_r8, & + 0.0037834262730864193_r8, 0.0040834337649382716_r8, & + 0.0046150269604938272_r8, 0.0051046573812345685_r8, & + 0.0054405722133333339_r8, 0.0057426228365432107_r8, & + 0.005950966765432099_r8, 0.0061617328681481467_r8, & + 0.0063368504888888883_r8, 0.0065075675190123449_r8, & + 0.0066783769985185194_r8, 0.0068529214330864197_r8, & + 0.0070292686306172832_r8, 0.0074840456340740736_r8, & + 0.0079346531703703687_r8, 0.0083422809886419744_r8, & + 0.0086398570617283923_r8, 0.008922668968395062_r8, & + 0.0092289352834567899_r8, 0.0094925731881481488_r8, & + 0.0097143962370370377_r8, 0.0099140591688888884_r8, & + 0.010077315533827161_r8, 0.010220085115555555_r8, 0.010337958078518518_r8, & + 0.010392558683950618_r8, 0.010444265623703704_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,63) / & + 0.00038356324395061726_r8, 0.00038801005925925928_r8, & + 0.00044947965382716051_r8, 0.00037694386814814818_r8, & + 0.00037719348148148148_r8, 0.00036673745629629628_r8, & + 0.00040604693382716048_r8, 0.00057439725975308648_r8, & + 0.00078744686222222235_r8, 0.0011095867362962964_r8, & + 0.0012255367520987652_r8, 0.0014454738335802468_r8, & + 0.0017605598197530862_r8, 0.0019599546483950615_r8, & + 0.0021681876380246915_r8, 0.0024524140202469139_r8, & + 0.0030237419604938263_r8, 0.0036114981560493825_r8, & + 0.004013116764444445_r8, 0.0044522328424691357_r8, & + 0.0048310811679012338_r8, 0.0052113532138271601_r8, & + 0.0055235085545679019_r8, 0.0058151956019753086_r8, & + 0.0060591880128395056_r8, 0.0062726259027160482_r8, & + 0.0064523290128395061_r8, 0.0069021414844444443_r8, & + 0.0074013681511111117_r8, 0.0078597876602469127_r8, & + 0.0082220783012345675_r8, 0.0084866591896296285_r8, & + 0.008765375588641976_r8, 0.0090685171145679019_r8, & + 0.0094055968088888886_r8, 0.0097455252649029968_r8, & + 0.0099670395988888886_r8, 0.010146363204296295_r8, 0.010259937270962964_r8, & + 0.01036143837274074_r8, 0.010441173191851848_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,9,63) / & + 0.00022811885185185183_r8, 0.00022591855654320985_r8, & + 0.00024084913185185182_r8, 0.00017733640592592593_r8, & + 0.00017612531901234569_r8, 0.00017668926024691359_r8, & + 0.00020058742567901231_r8, 0.0002511664829629629_r8, & + 0.00037374511950617279_r8, 0.00052807087407407403_r8, & + 0.00059150964049382718_r8, 0.00065854468790123451_r8, & + 0.00076397396395061728_r8, 0.0008307039283950618_r8, & + 0.00090819500098765439_r8, 0.0010352019629629628_r8, & + 0.0013288859170370369_r8, 0.0016886619348148149_r8, & + 0.0020915101199999995_r8, 0.0025731251792592592_r8, & + 0.0030847862879012341_r8, 0.0035687772962962965_r8, & + 0.0040716372237037043_r8, 0.0045675449575308643_r8, & + 0.0050033975723456784_r8, 0.0053760425441975309_r8, & + 0.0056834367417283949_r8, 0.0063166225639506171_r8, & + 0.006829809087407406_r8, 0.0074055468632098767_r8, 0.007978964159506172_r8, & + 0.0083081301866666651_r8, 0.0084710167540740736_r8, & + 0.0086517922770370358_r8, 0.0089991252682539696_r8, & + 0.0096657967191428572_r8, 0.0099510352240000013_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,63) / & + 0.00014462781432098763_r8, 0.00015177415160493827_r8, & + 0.00016020553530864197_r8, 0.00015292052395061731_r8, & + 0.00015347522024691359_r8, 0.00015417783555555554_r8, & + 0.00016624248000000002_r8, 0.0002166551283950617_r8, & + 0.00028737890617283954_r8, 0.00036455565086419752_r8, & + 0.0004096062350617283_r8, 0.00047626223999999999_r8, & + 0.00056852672395061731_r8, 0.00062156493481481476_r8, & + 0.0006732718745679012_r8, 0.00073315133975308648_r8, & + 0.00087989624493827151_r8, 0.0011009057392592592_r8, & + 0.0014534059906172838_r8, 0.001903458830617284_r8, & + 0.0024111631056790124_r8, 0.0029366731318518518_r8, & + 0.0034944295027160492_r8, 0.0040984290548148148_r8, & + 0.004622654034567901_r8, 0.0050829780009876537_r8, & + 0.0054951913086419757_r8, 0.0062282039743209875_r8, & + 0.0067684319422222205_r8, 0.0073072361896296288_r8, & + 0.0079059383920987644_r8, 0.0082800463754320996_r8, & + 0.008453749058370371_r8, 0.0085672010918518525_r8, & + 0.0088565930833333327_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,63) / & + 0.00012188526617283952_r8, 0.00014923179358024689_r8, & + 0.00017424859654320985_r8, 0.00022471671456790121_r8, & + 0.00022208190716049381_r8, 0.00019759206567901235_r8, & + 0.00016644586864197531_r8, 0.00015130265975308641_r8, & + 0.00017521007012345679_r8, 0.00021317903160493826_r8, & + 0.00025259020345679012_r8, 0.00036352946271604936_r8, & + 0.00050158412592592584_r8, 0.00057082871358024687_r8, & + 0.00063426747999999992_r8, 0.00069708683555555527_r8, & + 0.00083706444592592584_r8, 0.0010205025111111111_r8, & + 0.0013201771851851852_r8, 0.0017370776765432098_r8, & + 0.0022438759476543207_r8, 0.0027961500701234568_r8, & + 0.0034119091837037032_r8, 0.0040912642276543214_r8, & + 0.0047085302661728397_r8, 0.0052759291076543216_r8, & + 0.005731122133333333_r8, 0.0065919368256790126_r8, & + 0.0072225433101234561_r8, 0.007708586694814815_r8, & + 0.0080815182597530847_r8, 0.0082499521202998236_r8, & + 0.0084625957709259254_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,63) / & + 0.00012885594962962961_r8, 0.00016168472543209874_r8, & + 0.00018136719901234568_r8, 0.00025993992938271607_r8, & + 0.00025905241530864204_r8, 0.00021680304740740738_r8, & + 0.00022168437481481478_r8, 0.00014053230666666663_r8, & + 0.0001271918607407407_r8, 0.0001378050498765432_r8, & + 0.00015892973382716048_r8, 0.00026410015160493826_r8, & + 0.0003986879629629629_r8, 0.00045430551160493822_r8, & + 0.00051091226864197529_r8, 0.00057264072148148135_r8, & + 0.00069763228691358014_r8, 0.0008503956469135801_r8, & + 0.0011024958686419754_r8, 0.0014979203683950617_r8, & + 0.002029245460740741_r8, 0.0026318490271604938_r8, & + 0.0033364057728395066_r8, 0.0040792365629629627_r8, & + 0.004794434232592593_r8, 0.0054381130597530858_r8, & + 0.0059104646908641981_r8, 0.0068757749204938282_r8, & + 0.0075908524059259243_r8, 0.0080831638587654311_r8, & + 0.0083676895458641969_r8, 0.0084621577919753079_r8, & + 0.0085627184524074054_r8, 0.0087393372199999989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,63) / & + 0.00014323182864197531_r8, 0.00016337654913580241_r8, & + 0.00016229489135802466_r8, 0.00018194038518518516_r8, & + 0.00018196811999999997_r8, 0.00016477253481481479_r8, & + 0.00016708376938271601_r8, 0.00013596530716049381_r8, & + 0.00013714865925925924_r8, 0.00013711167950617283_r8, & + 0.00013597455209876541_r8, 0.00017537647901234567_r8, & + 0.00026865790617283946_r8, 0.000345705221728395_r8, & + 0.00041866627456790129_r8, 0.00048560887259259248_r8, & + 0.00061773753037037038_r8, 0.00075203874864197525_r8, & + 0.00097261373086419728_r8, 0.001338999879506173_r8, & + 0.0018877701703703699_r8, 0.0025690204266666668_r8, & + 0.0033617461486419751_r8, 0.0041950201698765432_r8, & + 0.0049701157945679008_r8, 0.0056146821358024701_r8, & + 0.006101825668148147_r8, 0.0071137673664197531_r8, & + 0.0079382956760493811_r8, 0.008465405076543208_r8, & + 0.0087291261856790123_r8, 0.0087860129322751331_r8, & + 0.008814662203555557_r8, 0.008859058014999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,63) / & + 0.00016973706666666664_r8, 0.00017798355160493829_r8, & + 0.00016796203851851852_r8, 0.00012329974172839504_r8, & + 0.00012200545037037036_r8, 0.00012592530419753084_r8, & + 0.00013184206469135803_r8, 0.00011870500740740741_r8, & + 0.00011995307407407409_r8, 0.00012416876592592589_r8, & + 0.00012608246814814814_r8, 0.00015464932740740739_r8, & + 0.00016483724938271604_r8, 0.00022314507506172835_r8, & + 0.00032354510469135802_r8, 0.00042965850617283956_r8, & + 0.00057174396246913574_r8, 0.0006842733511111111_r8, & + 0.00086025075111111093_r8, 0.0011817527244444446_r8, & + 0.0017115431570370369_r8, 0.0024550858074074071_r8, & + 0.0033261716261728399_r8, 0.0042268874720987658_r8, & + 0.0050326393120987646_r8, 0.0056618960355555564_r8, & + 0.0061754985812345672_r8, 0.0073744653807407403_r8, & + 0.0083857321985185175_r8, 0.0089352883091358016_r8, & + 0.0091574441758024705_r8, 0.0091758475461375683_r8, & + 0.0090972090116172837_r8, 0.0090561797444444446_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,63) / & + 0.00019519762666666667_r8, 0.00019812827209876542_r8, & + 0.00018707132592592595_r8, 0.00011082832_r8, 0.00011075436049382716_r8, & + 0.00012010099308641973_r8, 0.00014892671061728395_r8, & + 0.00013820258222222221_r8, 0.00012573116049382715_r8, & + 0.00011876047703703704_r8, 0.00011830747506172839_r8, & + 0.00015383577283950618_r8, 0.00023084610864197526_r8, & + 0.00025785981827160497_r8, 0.00038967414814814816_r8, & + 0.00053961780197530869_r8, 0.00073728382716049378_r8, & + 0.00088156957876543219_r8, 0.0010805483851851849_r8, & + 0.0014570484962962964_r8, 0.0020708661728395059_r8, & + 0.0029592492711111103_r8, 0.0038827353999999993_r8, & + 0.0048078301481481482_r8, 0.005509262104691358_r8, & + 0.0061288393777777766_r8, 0.0066605250227160474_r8, & + 0.0077653783506172851_r8, 0.0085829267318518511_r8, & + 0.0090240963417901228_r8, 0.0092348139085802472_r8, & + 0.0092976421128624347_r8, 0.009360820931428572_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,63) / & + 0.00020425609724518184_r8, 0.00020221121033501231_r8, & + 0.00019451623305219421_r8, 0.00012774243773907486_r8, & + 0.00012987454731365925_r8, 0.00013281104368229133_r8, & + 0.00012928337147706995_r8, 0.00014954810384277856_r8, & + 0.00013911045833447241_r8, 0.00011764399148127074_r8, & + 0.00011359298328956048_r8, 0.00015948179617891026_r8, & + 0.00033800720742172176_r8, 0.00046142727756868471_r8, & + 0.00068391291167656286_r8, 0.0009135314214521415_r8, & + 0.0011989142880102581_r8, 0.0014555912065687437_r8, & + 0.0018282355031703041_r8, 0.0023966656071616526_r8, & + 0.003158468358160645_r8, 0.00412116428812127_r8, 0.0050303927247956131_r8, & + 0.0059189106243750164_r8, 0.0065472820816336579_r8, & + 0.0071568909746359561_r8, 0.0076892690440025146_r8, & + 0.0085594314184261784_r8, 0.0091237329829685597_r8, & + 0.0094787389185440121_r8, 0.0097174891567134644_r8, & + 0.0098765182603416258_r8, 0.010149912475512436_r8, 0.010191005772467386_r8, & + 0.010045826762644088_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,63) / & + 0.0002025750390871967_r8, 0.00019576238638643621_r8, & + 0.00019360301878932015_r8, 0.00022366182125621727_r8, & + 0.00021481145547085434_r8, 0.00020631591534698928_r8, & + 0.00016289539225568391_r8, 0.00016015816572412836_r8, & + 0.0001576845239696856_r8, 0.00012994729511658928_r8, & + 0.00011658557449218106_r8, 0.00016852191345943701_r8, & + 0.00033753044496892835_r8, 0.00059743517307814969_r8, & + 0.00095086180768218589_r8, 0.0013046331300716775_r8, & + 0.0016949210819673282_r8, 0.0021412613505036112_r8, & + 0.0027831612479054749_r8, 0.0035315189816327638_r8, & + 0.0043463304928205949_r8, 0.0051844388431547782_r8, & + 0.0059832122344429025_r8, 0.0067633319338122784_r8, & + 0.0074004670294740282_r8, 0.0079595303417301852_r8, & + 0.008444769640642686_r8, 0.0092685126206242235_r8, & + 0.0097052219069198482_r8, 0.010007312871712163_r8, 0.01028353958025029_r8, & + 0.010533278553157594_r8, 0.010765866774269496_r8, 0.010764169947266833_r8, & + 0.010651535139275232_r8, 0.010500274697700266_r8, 0.010500274697700266_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,63) / & + 0.00023124676799557523_r8, 0.000221646767145521_r8, & + 0.0002096123669619358_r8, 0.00036616541279782712_r8, & + 0.00033946111054348636_r8, 0.00032093850691879508_r8, & + 0.00021254423050710123_r8, 0.00026455570148523451_r8, & + 0.00022938392328817781_r8, 0.0002192547051917037_r8, & + 0.00020258436192948146_r8, 0.00019419097640126421_r8, & + 0.00024329175252408889_r8, 0.00056268494508333834_r8, & + 0.0011027617293996247_r8, 0.0016309099569816097_r8, & + 0.0021454784700204641_r8, 0.0027891865755306664_r8, & + 0.003677107271573729_r8, 0.0045531205795723458_r8, & + 0.0053913371918316638_r8, 0.0061867295445106971_r8, & + 0.0069194202378339165_r8, 0.0076054657230576993_r8, & + 0.0082263539809022818_r8, 0.0087618794968993552_r8, & + 0.0092276435954733848_r8, 0.0099797353930503492_r8, & + 0.010189284253942717_r8, 0.010379432010581334_r8, 0.010714151334596897_r8, & + 0.011073002965049206_r8, 0.011339691034025193_r8, 0.011437210935556837_r8, & + 0.011384153598995465_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,63) / & + 0.00025412788864674244_r8, 0.000247928571283279_r8, & + 0.00024057101846934649_r8, 0.00040440066523475223_r8, & + 0.00038249346900016458_r8, 0.00040705909136392427_r8, & + 0.00026302975539463375_r8, 0.00033898793931778107_r8, & + 0.00032849763538067491_r8, 0.00033562354110451358_r8, & + 0.0003588434041829663_r8, 0.00043425004741541405_r8, & + 0.0007600120409702192_r8, 0.0013052100137267621_r8, & + 0.0017769207048544922_r8, 0.0021813654933445004_r8, & + 0.0026395965299915326_r8, 0.0032896644496776956_r8, & + 0.0041749644739472336_r8, 0.0050627464313249193_r8, & + 0.0059126485740653573_r8, 0.0067477914879226731_r8, & + 0.0075919686382936499_r8, 0.0082573142351121918_r8, & + 0.0088942996096149606_r8, 0.0094331548644284568_r8, & + 0.0099141865932290112_r8, 0.010708956728527121_r8, 0.010988709197663763_r8, & + 0.01116370202800893_r8, 0.011464615734595987_r8, 0.011838070830527318_r8, & + 0.012144431395392672_r8, 0.012399305331464052_r8, 0.011965697346355199_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,63) / & + 0.00027543183022472434_r8, 0.00027485796608974487_r8, & + 0.00026815523299318519_r8, 0.00041397410969145677_r8, & + 0.00041360683664506991_r8, 0.0004257383244585349_r8, & + 0.00033494154102209052_r8, 0.00050008816178646908_r8, & + 0.0005710177688699259_r8, 0.00075968134188576124_r8, & + 0.0010543376206322962_r8, 0.0013840799525914734_r8, & + 0.0019450206672511601_r8, 0.0024209606262376952_r8, & + 0.0027328213517509134_r8, 0.0030108929569965435_r8, & + 0.0034149851262836543_r8, 0.0040563701153847566_r8, & + 0.0049262907576000659_r8, 0.0058116368677636216_r8, & + 0.0066513722564790117_r8, 0.0074753034269170703_r8, & + 0.0083040550560889541_r8, 0.0090149809010668623_r8, & + 0.009688467849878717_r8, 0.010234247074092246_r8, 0.01073948853581083_r8, & + 0.011662445701380936_r8, 0.01222720835117959_r8, 0.01251047916548813_r8, & + 0.012734630496611095_r8, 0.013022859497045857_r8, 0.013364409083582237_r8, & + 0.013756332463887111_r8, 0.014134437540140158_r8, 0.01433845450376889_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,63) / & + 0.00033710830481635556_r8, 0.0003374540936123259_r8, & + 0.00034555032093866667_r8, 0.0004750422631537778_r8, & + 0.00050579361849197046_r8, 0.00054738366402109627_r8, & + 0.00068614036121789632_r8, 0.0010257407301155557_r8, & + 0.0013419943934094222_r8, 0.0017041545003062518_r8, & + 0.0020008412872488291_r8, 0.0022444196846309926_r8, & + 0.002568006455149748_r8, 0.0029033619684830812_r8, & + 0.0032377397341864294_r8, 0.0035921732500560585_r8, & + 0.0041437779221383114_r8, 0.0047976168403119409_r8, & + 0.0056218580923894515_r8, 0.0064180785282417782_r8, & + 0.0072472085184692144_r8, 0.0081049674362526809_r8, & + 0.0089718122527440592_r8, 0.0097874087849223104_r8, & + 0.010508521509539554_r8, 0.011122618563679762_r8, 0.011636091078192594_r8, & + 0.012733278927806579_r8, 0.013502193972528831_r8, 0.013879127607639706_r8, & + 0.014045857426055346_r8, 0.014228720080365747_r8, 0.014420954803422101_r8, & + 0.014583320528757573_r8, 0.014788743815348513_r8, 0.014833247046314033_r8, & + 0.014754774111702994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,63) / & + 0.00038553029119238832_r8, 0.00039070104334917535_r8, & + 0.00042145341143953903_r8, 0.00059262015209374816_r8, & + 0.00073122847246885917_r8, 0.00093245484886706842_r8, & + 0.0013867759360974747_r8, 0.0017359996302081181_r8, & + 0.0019899231458118589_r8, 0.0021691428999925464_r8, & + 0.0022970880903218438_r8, 0.0024143206697234436_r8, & + 0.0026011233690527206_r8, 0.0029128281844754828_r8, & + 0.0033082422818240258_r8, 0.0037861781199331557_r8, & + 0.004549334131437102_r8, 0.0052271108812517132_r8, & + 0.0060726896717524792_r8, 0.0069139265148680041_r8, & + 0.0077804851992872171_r8, 0.0086783900223793928_r8, & + 0.009728856774537718_r8, 0.010558490350851645_r8, 0.011338680155943859_r8, & + 0.012012943763144769_r8, 0.012519553772305172_r8, 0.013812105739076697_r8, & + 0.014692296406454718_r8, 0.015077344259048744_r8, 0.015177481193759723_r8, & + 0.015273300921526397_r8, 0.015279238627352374_r8, 0.015383000036661293_r8, & + 0.015462119966792413_r8, 0.015383903062755661_r8, 0.015242840142726694_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,63) / & + 0.00033497699301831109_r8, 0.00036034122125458429_r8, & + 0.00038564136604407568_r8, 0.00060665235730546826_r8, & + 0.00071428691452033572_r8, 0.00088380044794779899_r8, & + 0.0012874364458482304_r8, 0.0018084092348063074_r8, & + 0.0021332225931650103_r8, 0.0023202949910107128_r8, & + 0.0024362603963072257_r8, 0.0025408573981446315_r8, & + 0.0027420409709717065_r8, 0.0030658161774925431_r8, & + 0.0034592629073546531_r8, 0.0039592804092150515_r8, & + 0.0048505658037469755_r8, 0.0056405737189847947_r8, & + 0.0065094683572111262_r8, 0.0074070467462170331_r8, & + 0.0083444594057425631_r8, 0.0093880455198963337_r8, & + 0.010503264110862906_r8, 0.011367660091125149_r8, 0.012086509747056353_r8, & + 0.012711079836082039_r8, 0.013283447549359196_r8, 0.014535753449681593_r8, & + 0.015392626033291638_r8, 0.015974362746488308_r8, 0.016232644670398047_r8, & + 0.016305251215601932_r8, 0.016251728720849699_r8, 0.016242462254445034_r8, & + 0.016289678938033937_r8, 0.016162921880299351_r8, 0.015786526153539732_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,63) / & + 0.00022572569012017774_r8, 0.00027172232290334811_r8, & + 0.00027713369146607406_r8, 0.00040231137895383698_r8, & + 0.00048789853908930364_r8, 0.00069241643918056285_r8, & + 0.0012410735061763555_r8, 0.0020692516331217775_r8, & + 0.0025042566971420839_r8, 0.0027153265974048787_r8, & + 0.0028610754433259456_r8, 0.0030417196585816493_r8, & + 0.0032730954541129085_r8, 0.0035720072514123049_r8, & + 0.0039537474719328388_r8, 0.004416432747204148_r8, & + 0.0055003908808460636_r8, 0.0065502759609643449_r8, & + 0.0074443056685811748_r8, 0.0083798092720206632_r8, & + 0.0093478341394694717_r8, 0.010368805534620244_r8, 0.011144315660186782_r8, & + 0.012054261157693985_r8, 0.012773442650206851_r8, 0.01338747382417734_r8, & + 0.013979846260738685_r8, 0.015167509028674605_r8, 0.016070013894408056_r8, & + 0.016782033281470259_r8, 0.017196944660753978_r8, 0.017303819189867811_r8, & + 0.017230580030055623_r8, 0.017128493501067137_r8, 0.017001120760890328_r8, & + 0.016888854757951131_r8, 0.016785484106560607_r8, 0.016835603177609598_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,63) / & + 0.0001651461683787325_r8, 0.00021382905430874073_r8, & + 0.00022611288021504529_r8, 0.00034472857412279833_r8, & + 0.00039756547707246086_r8, 0.00059117283136803284_r8, & + 0.0015095807526440822_r8, 0.0024011040951229632_r8, & + 0.0028040848749108153_r8, 0.0030169816745748805_r8, & + 0.0031809076861392593_r8, 0.003363986046800856_r8, & + 0.0035672038497128566_r8, 0.0039050364813904854_r8, & + 0.0043386719874355887_r8, 0.0048177549074085923_r8, & + 0.0060319480339620082_r8, 0.007345947246004147_r8, & + 0.0083587459500535314_r8, 0.0092908360792028962_r8, & + 0.010192806157552987_r8, 0.011144514763121909_r8, 0.011747834324124972_r8, & + 0.012580378850701035_r8, 0.013294362521877859_r8, 0.013915957015841977_r8, & + 0.014475392060409679_r8, 0.015698009752832989_r8, 0.01671235078993422_r8, & + 0.017343821356540362_r8, 0.017691399819402306_r8, 0.01780146927449941_r8, & + 0.017786106168414337_r8, 0.017776519711645386_r8, 0.017640259972439221_r8, & + 0.017532774586203843_r8, 0.017413222182022604_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,63) / & + 0.0001618608018145712_r8, 0.00019056936452927739_r8, & + 0.00022373709748813172_r8, 0.00036703925742943876_r8, & + 0.00041080990630215636_r8, 0.00052662092778588967_r8, & + 0.0012611949060052281_r8, 0.0020758782315630883_r8, & + 0.0027740002625485168_r8, 0.0031341596573155549_r8, & + 0.0033611809690787422_r8, 0.0035078381237751699_r8, & + 0.003787746610243556_r8, 0.0042153598025133441_r8, & + 0.0047031505589351123_r8, 0.0052923272750031941_r8, & + 0.0067155953242631922_r8, 0.0079895731849683096_r8, & + 0.0090406350017540587_r8, 0.010009832115295658_r8, 0.010957851709201554_r8, & + 0.011917068775053868_r8, 0.012526304679172609_r8, 0.013254253604457783_r8, & + 0.013978111417995152_r8, 0.014653130700287091_r8, 0.015220761838223129_r8, & + 0.016442390455871553_r8, 0.017369501495966_r8, 0.017917666232371933_r8, & + 0.01828079486827773_r8, 0.018421030463920185_r8, 0.018412540345336289_r8, & + 0.018368085653681216_r8, 0.018241404974988749_r8, 0.018099506594197082_r8, & + 0.018033455059119411_r8, 0.018058492845022936_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,63) / & + 0.00018895718979002469_r8, 0.00018686902300950122_r8, & + 0.00020868525496825681_r8, 0.00053908288836772343_r8, & + 0.00060237040463897279_r8, 0.0007561062078931751_r8, & + 0.001189262090485254_r8, 0.0019720033767537779_r8, & + 0.0028309554492289579_r8, 0.0033717030299951407_r8, & + 0.0036703108796099951_r8, 0.0038748198010172042_r8, & + 0.0042558883346153868_r8, 0.0047714902986258963_r8, & + 0.0053601050871302331_r8, 0.0060256461875212641_r8, & + 0.0075091791658464385_r8, 0.0088168680576606803_r8, & + 0.0099001739372404952_r8, 0.010987553932427062_r8, 0.012038763374359386_r8, & + 0.012944414449380819_r8, 0.013577289612093313_r8, 0.014268166162583702_r8, & + 0.014956297430873126_r8, 0.015601031701604028_r8, 0.016186903033228006_r8, & + 0.017418386614797433_r8, 0.018294305042364366_r8, 0.018820855279407724_r8, & + 0.019081392417010887_r8, 0.019214884371633819_r8, 0.019245617034023801_r8, & + 0.019008834097349527_r8, 0.018974698188005287_r8, 0.018772341908172799_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,28,63) / & + 0.00022918549776049715_r8, 0.0002186906778251276_r8, & + 0.00022754139081955559_r8, 0.00048197728614098934_r8, & + 0.00056510814876580581_r8, 0.00063964789422897453_r8, & + 0.0011614863086062931_r8, 0.0022015871107079212_r8, & + 0.0030399969997730817_r8, 0.0036450452842025846_r8, & + 0.0040122417085410207_r8, 0.0042805076659102837_r8, & + 0.0047164531824978638_r8, 0.0052746895662118846_r8, & + 0.0059085849672767862_r8, 0.0066014010978659122_r8, & + 0.0081075527399079913_r8, 0.0094763161091449555_r8, & + 0.010631759424488589_r8, 0.011721830274538448_r8, 0.012760134866964814_r8, & + 0.013738368822446181_r8, 0.014540568048898708_r8, 0.015205109463601731_r8, & + 0.015913712030630654_r8, 0.016540927810557268_r8, 0.017046302313241748_r8, & + 0.018252737398434467_r8, 0.019057640882511492_r8, 0.0195010098724787_r8, & + 0.019801936801616713_r8, 0.020101184151091293_r8, 0.02017887016579983_r8, & + 0.02001699996359467_r8, 0.020359282873742741_r8, 0.020642089153807906_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,29,63) / & + 0.00026493299182791554_r8, 0.00026780877264489877_r8, & + 0.00028373040163828144_r8, 0.00038159844695147456_r8, & + 0.00048583049521121972_r8, 0.0006501370577721284_r8, & + 0.001392786915134712_r8, 0.002986614031459737_r8, 0.0035823409559317052_r8, & + 0.0039593046980345948_r8, 0.0042142785458179673_r8, & + 0.0044302525377064523_r8, 0.0048509135973386266_r8, & + 0.0054012557440405529_r8, 0.0060205234361687225_r8, & + 0.0067424007974270931_r8, 0.0082364446243089178_r8, & + 0.009524453274714767_r8, 0.010717650367709075_r8, 0.011809792765266114_r8, & + 0.012840177836932028_r8, 0.013550236003528886_r8, 0.014080692965348239_r8, & + 0.014408607630687209_r8, 0.014796371350763494_r8, 0.015146899377923864_r8, & + 0.015413479744594602_r8, 0.016431041430014375_r8, 0.018514732875078526_r8, & + 0.018900787518687828_r8, 0.019158517086666028_r8, 0.019043630330770413_r8, & + 0.021267716874042546_r8, 0.021488481300581452_r8, 0.021858711471999109_r8, & + 0.021909649063150932_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,63) / & + 0.00030053781022713015_r8, 0.00030095891581439994_r8, & + 0.00031566538457440002_r8, 0.00034626918736959994_r8, & + 0.00041703599765399995_r8, 0.00049203898832999996_r8, & + 0.00082451279061400006_r8, 0.0026097884244880003_r8, & + 0.0031464310564839996_r8, 0.004204507679612_r8, 0.0043122235959200004_r8, & + 0.0044375514053040001_r8, 0.0047896888324031996_r8, & + 0.0052657910303184003_r8, 0.0058467898068720004_r8, & + 0.0065301025626719996_r8, 0.007903399789368_r8, 0.0089997132312719993_r8, & + 0.010130891764968002_r8, 0.010955386620864_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,63) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,63) / & + 0.0026853561578100891_r8, 0.0026506954269823993_r8, & + 0.0028996905978879999_r8, 0.0033295224514607999_r8, & + 0.0040290990735146661_r8, 0.0046098776831206391_r8, & + 0.0060032000276565326_r8, 0.0046720739452202655_r8, & + 0.0048548805263914667_r8, 0.0046993898711423995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,40,63) / & + 0.002770277207717782_r8, 0.0027349004681066656_r8, 0.002984578922785185_r8, & + 0.0034886331113185179_r8, 0.004307224340079999_r8, & + 0.0052811871108266652_r8, 0.0065784491541111103_r8, & + 0.0068713967765866666_r8, 0.0057260555817386649_r8, & + 0.0048486760974399993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,63) / & + 0.0028584376464827581_r8, 0.0027841072336748404_r8, & + 0.0030240111633336405_r8, 0.0049125151327071596_r8, & + 0.0054284448376191053_r8, 0.0061516825259420593_r8, & + 0.0077707966116143095_r8, 0.0094030583290048621_r8, & + 0.0092028766351182206_r8, 0.0074706233918927006_r8, & + 0.0064666421756698084_r8, 0.0042346175303476143_r8, & + 0.0038599286490837333_r8, 0.0040474593167938366_r8, & + 0.0045081851081690064_r8, 0.0039826988503626672_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,63) / & + 0.0027919514351929806_r8, 0.0027988491631336294_r8, & + 0.0031226790068786571_r8, 0.0040581668954815147_r8, & + 0.0043413419162490283_r8, 0.0048991239869480762_r8, & + 0.0068483805047869096_r8, 0.0078199225498335467_r8, & + 0.0074736656554213838_r8, 0.0062392855905746237_r8, & + 0.0046825615945288168_r8, 0.0036609944359565503_r8, & + 0.0029268750958447165_r8, 0.0031930982016016235_r8, & + 0.0033129730774762666_r8, 0.0030832730993323853_r8, & + 0.0027360700430286216_r8, 0.0026443946273151998_r8, & + 0.0026685601134655997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,63) / & + 0.0026879790096646853_r8, 0.0025079500684714665_r8, & + 0.0028452905351360794_r8, 0.0031486425902477687_r8, & + 0.0032939375676346466_r8, 0.0034180500898214452_r8, & + 0.005492571162967072_r8, 0.0057480324498003221_r8, 0.006124317057702347_r8, & + 0.0049404677913028995_r8, 0.0039983967350857219_r8, & + 0.0035016835102490871_r8, 0.0027919177649942651_r8, & + 0.002951202811136474_r8, 0.0032603877162307943_r8, & + 0.0030974187648363976_r8, 0.0027905637105340116_r8, & + 0.0027128398881150879_r8, 0.0027415726261672802_r8, & + 0.0028000663691926096_r8, 0.0027934409783691595_r8, & + 0.0027586929179865992_r8, 0.0027722632220278202_r8, & + 0.0028767024058132147_r8, 0.003264144453793453_r8, & + 0.0033861197783966596_r8, 0.0034536893670783666_r8, & + 0.0036412866034155342_r8, 0.003960925529434685_r8, & + 0.0040609529547490607_r8, 0.0040144173373312473_r8, & + 0.0039679606607402667_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,63) / & + 0.0027516567308668053_r8, 0.0028962671750581729_r8, & + 0.0028316501602386442_r8, 0.0033138202505842303_r8, & + 0.0037114426069545085_r8, 0.0030544503488103771_r8, & + 0.0050592462168328953_r8, 0.0050706545244039638_r8, & + 0.0048280138009260251_r8, 0.0037580678639840925_r8, & + 0.0033204037008031074_r8, 0.003147249941621676_r8, & + 0.0027215351915092019_r8, 0.0028218651691599012_r8, & + 0.0030251855598237239_r8, 0.0029380675747355655_r8, & + 0.0027196864143929421_r8, 0.0026734218943616529_r8, & + 0.0027154477546629798_r8, 0.0027833114024671608_r8, & + 0.0028308835941172677_r8, 0.0028627186342167705_r8, & + 0.0029310782953936069_r8, 0.0029923134008541232_r8, & + 0.0034106330425015575_r8, 0.0035095651642838652_r8, & + 0.0036329315811850374_r8, 0.0040166734542428102_r8, & + 0.0042526495616772558_r8, 0.0042218403674166528_r8, & + 0.0040618084165481884_r8, 0.0040935983645229044_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,63) / & + 0.0026504383052799994_r8, 0.0032520104324266657_r8, & + 0.0031494397208746664_r8, 0.0034902765433173335_r8, & + 0.003631623987285333_r8, 0.0037190453661013327_r8, 0.005351976653397335_r8, & + 0.0042088274629973324_r8, 0.0036411212753919998_r8, & + 0.0028956536513706659_r8, 0.0027098311021226656_r8, & + 0.0025947517672106667_r8, 0.0024604925431466656_r8, & + 0.0025367488174080004_r8, 0.0025737187486719998_r8, & + 0.0026042953835519987_r8, 0.0025746916415999989_r8, & + 0.0025867833108479993_r8, 0.0026610474710186665_r8, & + 0.0027708453871786655_r8, 0.0028723505493333324_r8, & + 0.002987383556010666_r8, 0.0031233105965226661_r8, & + 0.0032626659263999998_r8, 0.0034886550551039988_r8, & + 0.0036192080203946656_r8, 0.0038279630458026661_r8, & + 0.0042148964617386665_r8, 0.0042916160183466669_r8, & + 0.0042178556777279991_r8, 0.0041806425232319994_r8, & + 0.0042021677792640011_r8, 0.004223536677503999_r8, 0.004219992567551999_r8, & + 0.0042404233190399994_r8, 0.0042591862540799991_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,64) / & + 0.0029599450202701435_r8, 0.0029494311466666668_r8, & + 0.0030228008257777777_r8, 0.0033844073413333334_r8, & + 0.003335749382222222_r8, 0.0035581548622222216_r8, & + 0.0039070310977777781_r8, 0.0045062861475555554_r8, & + 0.0050933101440000005_r8, 0.0055018772480000004_r8, & + 0.0057352823555555568_r8, 0.0059245558257777775_r8, & + 0.0060560063673333313_r8, 0.0063209209979999993_r8, & + 0.0065171670006666654_r8, 0.0066574441470370373_r8, & + 0.0068212251622222211_r8, 0.0070132124840740738_r8, & + 0.0071661491866666658_r8, 0.0073324055340740742_r8, & + 0.0075364505666666659_r8, 0.0078923242959999997_r8, & + 0.0080940243499999995_r8, 0.0083259775399999979_r8, & + 0.0084873525599999996_r8, 0.0086530334099999984_r8, & + 0.0087943769599999992_r8, 0.0091530713199999992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,64) / & + 0.0026478889950617285_r8, 0.0026483974666666665_r8, & + 0.0027347821698765432_r8, 0.0030162258256790126_r8, & + 0.0030060009239506174_r8, 0.003298788119012346_r8, & + 0.0036827766301234565_r8, 0.0042054854399999992_r8, & + 0.0048558391125925922_r8, 0.00526337448148148_r8, 0.0055713141303703698_r8, & + 0.0058059599086419745_r8, 0.0060660847367901231_r8, & + 0.0062952390217283945_r8, 0.0064496017560493821_r8, & + 0.0065659030795061721_r8, 0.0067317295372839505_r8, & + 0.0069273154513580246_r8, 0.0070748369313580238_r8, & + 0.0072369746587654313_r8, 0.0073947048618518522_r8, & + 0.0076464260411111089_r8, 0.0078416202009259257_r8, & + 0.0080532195037037041_r8, 0.0082258489153439144_r8, & + 0.0083993712889682548_r8, 0.0085465000241798945_r8, & + 0.0089198230132010586_r8, 0.00920009916537037_r8, 0.0094774854488888886_r8, & + 0.0096809579556613734_r8, 0.0098418317679365083_r8, & + 0.0099845115416931206_r8, 0.010145634967301588_r8, 0.010276632242740742_r8, & + 0.010333612033037037_r8, 0.010368972535185185_r8, 0.010476414236190477_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,64) / & + 0.0014175910997530859_r8, 0.001423470880493827_r8, & + 0.0015535009372839505_r8, 0.0016545573575308639_r8, & + 0.0017284613940740741_r8, 0.0018761400380246911_r8, & + 0.0020834670237037034_r8, 0.0024537730261728393_r8, & + 0.0030253505797530858_r8, 0.0034640691254320985_r8, & + 0.0038043105886419759_r8, 0.0040942595876543213_r8, & + 0.0046007157960493835_r8, 0.0049787320770370369_r8, & + 0.0052368599985185196_r8, 0.0054659403239506171_r8, & + 0.0058136609422222221_r8, 0.0060793882029629631_r8, & + 0.006292197437037037_r8, 0.0064770962024691351_r8, & + 0.0066270583461728386_r8, 0.0067767986113580246_r8, & + 0.0069342861348148143_r8, 0.0071053082479012345_r8, & + 0.0072792055367901232_r8, 0.0074661012088888881_r8, & + 0.0076565654271604933_r8, 0.0081202268162962957_r8, & + 0.0084979102795061726_r8, 0.0088349345041975301_r8, & + 0.0091282394158024704_r8, 0.0093948449456790119_r8, 0.00962541370617284_r8, & + 0.0098244572271604953_r8, 0.010010234261728394_r8, 0.010157506128395062_r8, & + 0.010257798685617282_r8, 0.010384889182213404_r8, 0.010517857478492062_r8, & + 0.010531997776666666_r8, 0.010468034360000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,64) / & + 0.00061007347654320977_r8, 0.00062715812246913569_r8, & + 0.00067451069629629614_r8, 0.00071811907012345687_r8, & + 0.00078184442962962969_r8, 0.00076882755654320988_r8, & + 0.0007644084760493827_r8, 0.0011244618419753087_r8, & + 0.001457122455802469_r8, 0.0018274561930864198_r8, & + 0.0019922472177777775_r8, 0.0022868186859259262_r8, & + 0.0028010036627160494_r8, 0.0031714668291358021_r8, & + 0.0035042476271604939_r8, 0.0038395153135802472_r8, & + 0.004408827857283951_r8, 0.004928069815308642_r8, 0.0053097840716049378_r8, & + 0.005621181327407407_r8, 0.0058354605066666667_r8, & + 0.0060639214212345671_r8, 0.0062580096553086408_r8, & + 0.006441493945185184_r8, 0.0066086886538271605_r8, & + 0.0067738032513580257_r8, 0.0069348130962962971_r8, & + 0.0073707581604938281_r8, 0.0078199327313580227_r8, & + 0.008242075102716049_r8, 0.0085573090079012325_r8, 0.008854358119506172_r8, & + 0.0091620204202469135_r8, 0.0094410141674074102_r8, & + 0.0096841375540740755_r8, 0.0098982780592592589_r8, & + 0.010076973471111111_r8, 0.01023162279851852_r8, 0.010358592780740741_r8, & + 0.010419193351111113_r8, 0.010453902151146383_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,64) / & + 0.00036741233679012347_r8, 0.00037092541333333336_r8, & + 0.00036512883703703695_r8, 0.00029334189135802469_r8, & + 0.000296633089382716_r8, 0.0002904574706172839_r8, & + 0.00034844172345679014_r8, 0.00048630224296296288_r8, & + 0.00067089592543209881_r8, 0.00094328878666666651_r8, & + 0.0010288691802469135_r8, 0.0012019251797530863_r8, & + 0.0014545153832098761_r8, 0.001624039816296296_r8, & + 0.0018003315441975311_r8, 0.0020745456582716049_r8, & + 0.0026348166523456791_r8, 0.0032385758360493825_r8, & + 0.0036622898469135796_r8, 0.0040839884612345672_r8, & + 0.0044774530340740736_r8, 0.0049040976903703707_r8, & + 0.0052820030320987641_r8, 0.0056216065945679013_r8, & + 0.0058941473748148152_r8, 0.0061445650177777787_r8, & + 0.0063402618711111119_r8, 0.0067809033639506166_r8, & + 0.0072333229081481482_r8, 0.007686306393580246_r8, & + 0.0080872593664197516_r8, 0.0083694426172839509_r8, & + 0.008657339239999999_r8, 0.0089880029471604943_r8, 0.009356459961975306_r8, & + 0.0097287351362962959_r8, 0.0099831465925925914_r8, & + 0.010156407796710757_r8, 0.010290515102402116_r8, 0.010365748362962966_r8, & + 0.010424922571428571_r8, 0.01036918748_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,64) / & + 0.00023845469283950618_r8, 0.0002364300513580247_r8, & + 0.00023255642222222219_r8, 0.00019731471753086418_r8, & + 0.00019781394419753084_r8, 0.00019728698271604937_r8, & + 0.00021265207012345679_r8, 0.00023249170765432095_r8, & + 0.00036419509827160498_r8, 0.00050478287456790123_r8, & + 0.00055512156345679012_r8, 0.00060423992049382722_r8, & + 0.00068269246666666672_r8, 0.00074303417876543209_r8, & + 0.00080290439901234574_r8, 0.00091224428395061724_r8, & + 0.0011645478943209879_r8, 0.0014911900533333333_r8, & + 0.0018598597017283952_r8, 0.0023274594345679008_r8, 0.00283441486962963_r8, & + 0.0033324396943209883_r8, 0.0038631546207407402_r8, & + 0.0043768218809876547_r8, 0.0048332444834567907_r8, & + 0.0052508845698765426_r8, 0.0055792000627160488_r8, & + 0.0062527677753086413_r8, 0.0067820312464197527_r8, & + 0.0073050636291358021_r8, 0.0078715749565432102_r8, & + 0.0082270798128395075_r8, 0.0084111927585185185_r8, & + 0.0086407908004938246_r8, 0.0090373339377777771_r8, & + 0.009645552648580245_r8, 0.0099815976031851841_r8, 0.010117390030000001_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,64) / & + 0.00014293599061728396_r8, 0.00015356766962962965_r8, & + 0.00017776167308641974_r8, 0.00019661210222222223_r8, & + 0.00019682473580246912_r8, 0.00019584477234567901_r8, & + 0.00018968764345679012_r8, 0.00020924068790123456_r8, & + 0.00028185043308641975_r8, 0.00035999789629629633_r8, & + 0.00040317175802469132_r8, 0.00044790801432098755_r8, & + 0.00051285370567901226_r8, 0.00056034495358024683_r8, & + 0.00060720754567901241_r8, 0.00065933050765432089_r8, & + 0.00077807249481481476_r8, 0.00094634886123456778_r8, & + 0.0012424642340740739_r8, 0.0016699594246913578_r8, & + 0.0021795496671604938_r8, 0.0027084340958024684_r8, & + 0.0033001286350617279_r8, 0.003912605795555555_r8, & + 0.0044489601343209884_r8, 0.004965410120987653_r8, & + 0.0053976849446913579_r8, 0.0061855848088888891_r8, & + 0.006768792494814815_r8, 0.0072842810079012353_r8, & + 0.0078864777970370347_r8, 0.0082834646913580237_r8, & + 0.0084698149120987654_r8, 0.0086443963264197544_r8, & + 0.0090141483259629628_r8, 0.009641207666266664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,64) / & + 0.0001172258172839506_r8, 0.00015139510913580247_r8, & + 0.00019797110814814809_r8, 0.00026519105432098767_r8, & + 0.00026180740691358022_r8, 0.00024851318567901238_r8, & + 0.00020589402024691355_r8, 0.00017421161679012347_r8, & + 0.00020038403703703705_r8, 0.00023838997827160493_r8, & + 0.00027516634271604936_r8, 0.00036600710617283946_r8, & + 0.00047594791209876539_r8, 0.00054508156049382723_r8, & + 0.00060027384197530861_r8, 0.00065283131604938261_r8, & + 0.00076242081432098758_r8, 0.00090655864691358012_r8, & + 0.0011517251649382715_r8, 0.0015381820745679013_r8, & + 0.0020590418967901237_r8, 0.0026256271837037039_r8, & + 0.0032714693264197531_r8, 0.0039656255165432105_r8, & + 0.0046060501254320983_r8, 0.0052178801402469133_r8, & + 0.005683177883456788_r8, 0.0065566858760493828_r8, & + 0.0071671753748148142_r8, 0.007669683994567902_r8, & + 0.0081460479288888877_r8, 0.0083870819595061718_r8, & + 0.0085660628088271608_r8, 0.0087440590722222215_r8, & + 0.0091560833208888873_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,64) / & + 0.00013194375901234566_r8, 0.00017180793283950616_r8, & + 0.00019328392444444446_r8, 0.00024033141530864196_r8, & + 0.00024469502617283946_r8, 0.00023362883506172836_r8, & + 0.00027404770518518518_r8, 0.00017870465679012344_r8, & + 0.00015902218320987656_r8, 0.00017211301580246908_r8, & + 0.00019520687160493828_r8, 0.00028420789234567898_r8, & + 0.00040460472345679_r8, 0.00046789557086419746_r8, & + 0.00052730354419753091_r8, 0.00058625851555555548_r8, & + 0.00069298208296296297_r8, 0.00082517545530864196_r8, & + 0.0010466471965432098_r8, 0.0014234523906172839_r8, & + 0.0019591873185185187_r8, 0.0025837568582716044_r8, & + 0.0033152441091358021_r8, 0.0040876587017283951_r8, & + 0.0048344463254320989_r8, 0.0055127104666666659_r8, & + 0.005983998929876542_r8, 0.0068890136720987658_r8, & + 0.0075180022923456782_r8, 0.0080192628454320968_r8, & + 0.0084134115437037044_r8, 0.0085843042276543182_r8, & + 0.0086927750883950619_r8, 0.0088708798807619043_r8, & + 0.0092670926105555551_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,64) / & + 0.00014849219851851848_r8, 0.00017209452592592593_r8, & + 0.00016054759802469132_r8, 0.00014494214222222224_r8, & + 0.00014416556740740741_r8, 0.00014312088938271605_r8, & + 0.00017272318172839503_r8, 0.00014767864395061727_r8, & + 0.00015656302962962964_r8, 0.00016327485481481481_r8, & + 0.00016357993777777781_r8, 0.00019595571160493827_r8, & + 0.00029847283209876547_r8, 0.00038427510419753076_r8, & + 0.00045868761234567893_r8, 0.00053224958617283937_r8, & + 0.0006485971343209876_r8, 0.00077147160888888877_r8, & + 0.00097750430320987661_r8, 0.0013490953520987658_r8, & + 0.0019128794227160496_r8, 0.0026180833140740743_r8, & + 0.0034418812735802469_r8, 0.0043124586207407408_r8, & + 0.0051069686158024688_r8, 0.0057835686681481481_r8, & + 0.0062786443575308633_r8, 0.0072032028992592596_r8, & + 0.0078857844266666654_r8, 0.0084216765185185193_r8, & + 0.0087372709762962974_r8, 0.0088403797728395048_r8, & + 0.008858240993580244_r8, 0.0089143556887777767_r8, & + 0.0091172518066666656_r8, 0.0095167080239999986_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,64) / & + 0.00018257828592592595_r8, 0.00019049195308641975_r8, & + 0.00016779562962962959_r8, 0.00012031362666666666_r8, & + 0.00012037834123456791_r8, 0.00012152471358024693_r8, & + 0.00013858162469135806_r8, 0.00012922574716049383_r8, & + 0.00013602077679012345_r8, 0.00014257543802469134_r8, & + 0.00014598682024691357_r8, 0.00016503139308641975_r8, & + 0.00018339184049382716_r8, 0.00026917562271604932_r8, & + 0.00037607484395061724_r8, 0.0004836489456790123_r8, & + 0.00061268054913580236_r8, 0.00072561671506172836_r8, & + 0.00090917496444444424_r8, 0.0012653177214814815_r8, & + 0.0018394838577777777_r8, 0.0026112050800000002_r8, & + 0.0035060966148148147_r8, 0.0044459832641975307_r8, & + 0.0052527335575308642_r8, 0.0058619657446913583_r8, & + 0.0063692077728395059_r8, 0.0074007394953086421_r8, & + 0.0082569317185185176_r8, 0.0088533689111111105_r8, & + 0.0090945785955555553_r8, 0.0091474873772839499_r8, & + 0.0091404739359876534_r8, 0.0090929470084027773_r8, & + 0.0090453319650000003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,64) / & + 0.00021039630518518516_r8, 0.0002125503758024691_r8, & + 0.00018991876691358027_r8, 0.00011203016197530865_r8, & + 0.00011200242716049383_r8, 0.00011472043901234568_r8, & + 0.00014041212246913577_r8, 0.00015185735604938269_r8, & + 0.00014405462814814815_r8, 0.00014029193827160493_r8, & + 0.00014127190172839507_r8, 0.00015833805777777779_r8, & + 0.00021289243851851849_r8, 0.00026263945135802469_r8, & + 0.00040623183259259253_r8, 0.00056127869234567907_r8, & + 0.00076085841975308624_r8, 0.0008939300612345679_r8, & + 0.0011144588187654322_r8, 0.0015625887116049386_r8, & + 0.002251595471111111_r8, 0.0031591803061728394_r8, & + 0.0040936494217283948_r8, 0.005041791800987655_r8, & + 0.0057276367916049391_r8, 0.0062617908350617278_r8, & + 0.0067486755091358029_r8, 0.0077351843822222209_r8, & + 0.008533475557037035_r8, 0.0090265081150617283_r8, & + 0.0092084577451851859_r8, 0.0092632062696296289_r8, & + 0.0093020951024691337_r8, 0.0092898719073333334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,64) / & + 0.00021251317614311762_r8, 0.00021125329321268146_r8, & + 0.00019379906892256129_r8, 0.0001214139488654222_r8, & + 0.00012459273041298433_r8, 0.00013002960982817446_r8, & + 0.0001186034407898337_r8, 0.00015180620171040656_r8, & + 0.0001469604981318057_r8, 0.00013318900856142222_r8, & + 0.00013138640683018271_r8, 0.00015106965476645927_r8, & + 0.00027796894008285755_r8, 0.00041320283555444935_r8, & + 0.00064678513085732344_r8, 0.00088713202835592417_r8, & + 0.0011845613140104426_r8, 0.0013787286564049775_r8, & + 0.0017849342959919273_r8, 0.002452691631937435_r8, & + 0.0033202760920572837_r8, 0.0043199156661011609_r8, & + 0.0052242499421611193_r8, 0.0060810284833006855_r8, & + 0.0066894453332226479_r8, 0.0072314275870819936_r8, & + 0.0077097954443614662_r8, 0.0085509381114787855_r8, & + 0.0091456258717366769_r8, 0.0095131349339708151_r8, & + 0.0097191706158552375_r8, 0.0098426306630567239_r8, & + 0.010068673251264306_r8, 0.010210703765187411_r8, 0.010237877986285851_r8, & + 0.010284991308469511_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,64) / & + 0.00019938160813371523_r8, 0.00019019669243893991_r8, & + 0.00018911193970236049_r8, 0.00018952759262011522_r8, & + 0.00018623278290620576_r8, 0.00019220399189541398_r8, & + 0.00015722831954775965_r8, 0.00015165248772422058_r8, & + 0.00014768857819148643_r8, 0.00013549271331199999_r8, & + 0.0001256691114265284_r8, 0.00014807381748111275_r8, & + 0.00028010951506251847_r8, 0.00056493314248493823_r8, & + 0.00095903293577268153_r8, 0.0013115877130370369_r8, & + 0.0016758314613787391_r8, 0.0020301299533224556_r8, & + 0.0027293595397463438_r8, 0.0036022306670312823_r8, & + 0.0045237737371976961_r8, 0.0054128857419031952_r8, & + 0.0061872471276802621_r8, 0.0069356251371596369_r8, & + 0.0075428636363711731_r8, 0.0080717262158958355_r8, & + 0.0085179448299196048_r8, 0.0092994432804308011_r8, & + 0.0097183808700233992_r8, 0.010012014311727012_r8, 0.010251349289345395_r8, & + 0.010499412978236628_r8, 0.010785767424941511_r8, 0.010832198897217525_r8, & + 0.010832462481994638_r8, 0.010859882721187899_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,64) / & + 0.0002188630844293531_r8, 0.00019919737155239505_r8, & + 0.0001893856838037728_r8, 0.0002938108308673185_r8, & + 0.00026933982539286918_r8, 0.00025341038627563455_r8, & + 0.00024029638290935307_r8, 0.00022066242306718024_r8, & + 0.00022059891699760989_r8, 0.00022120222465852839_r8, & + 0.00021748711958866177_r8, 0.00019945139583067654_r8, & + 0.00027537290200205434_r8, 0.00068376985106417777_r8, & + 0.0012260481791255705_r8, 0.0017231631073775014_r8, & + 0.0021938806793780153_r8, 0.0028248875709741433_r8, & + 0.0037221754122788342_r8, 0.0046503907094642954_r8, & + 0.0055294311401124343_r8, 0.0063310047502296478_r8, & + 0.0070617796771208306_r8, 0.0077417179953209276_r8, & + 0.0083506565277413521_r8, 0.0088626001232379667_r8, & + 0.0093143611334717234_r8, 0.010078138047849638_r8, 0.010334554388084937_r8, & + 0.010508592771742539_r8, 0.010775445276077236_r8, 0.01119292359308792_r8, & + 0.011532479962735761_r8, 0.011556527594413077_r8, 0.011468828358422625_r8, & + 0.011475729383716996_r8, 0.011603987797072_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,64) / & + 0.00023450407087165107_r8, 0.00021692095365214819_r8, & + 0.00020968473979016955_r8, 0.0003205002953655309_r8, & + 0.00029811877413694161_r8, 0.00031629755530240003_r8, & + 0.00028002823948199509_r8, 0.00033313057718255138_r8, & + 0.00034124925614964941_r8, 0.00035076884847112425_r8, & + 0.00040243718037586166_r8, 0.00052868484447699752_r8, & + 0.0010261966091156545_r8, 0.0016297365561343999_r8, & + 0.0020803673620635918_r8, 0.0023990144807083716_r8, & + 0.0028344117327604415_r8, 0.0034560532452479471_r8, & + 0.0042798564825044802_r8, 0.0051620237556508439_r8, & + 0.0060116721896735625_r8, 0.0068298166194435154_r8, & + 0.0077411162718726331_r8, 0.008408050305880389_r8, & + 0.0090554156761821231_r8, 0.0095903108688363999_r8, & + 0.010059870551270399_r8, 0.010881247009487853_r8, 0.011264931806379932_r8, & + 0.011457904863241903_r8, 0.011699843702624184_r8, 0.01210961637418635_r8, & + 0.012480042132874009_r8, 0.012557798339448839_r8, 0.01244153592559518_r8, & + 0.012563561939666647_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,64) / & + 0.00024996373991433745_r8, 0.00024804703370350618_r8, & + 0.000243226574969679_r8, 0.0003215705066770699_r8, & + 0.00031715175283772835_r8, 0.00033611222385744859_r8, & + 0.0002937380961305679_r8, 0.00048648758178745672_r8, & + 0.00057436913541820565_r8, 0.00081078968174702886_r8, & + 0.0011441358804738764_r8, 0.0015469196395332344_r8, 0.00217901950693037_r8, & + 0.00264142774961409_r8, 0.0029429703979803783_r8, 0.0031698877542339415_r8, & + 0.003611051546640725_r8, 0.0042396623200971848_r8, & + 0.0050419358580811192_r8, 0.0059325615182864852_r8, & + 0.0067741447495165107_r8, 0.0075762805601080497_r8, & + 0.0084209856122323627_r8, 0.0091305686151344177_r8, & + 0.0098331160437416295_r8, 0.010415989845640232_r8, 0.010924135059881811_r8, & + 0.011886126463913217_r8, 0.012557754092927738_r8, 0.012907547237763096_r8, & + 0.013101410019841844_r8, 0.013328737688951917_r8, 0.013604449892796876_r8, & + 0.013787255132800475_r8, 0.013774829597004249_r8, 0.013824507523122665_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,64) / & + 0.00032287134542364441_r8, 0.00033607093842844449_r8, & + 0.00035172682425979259_r8, 0.00041068977584853331_r8, & + 0.00042997048216177779_r8, 0.00046379816540894828_r8, & + 0.00059943083969042968_r8, 0.00092702399074180751_r8, & + 0.0013216167019503408_r8, 0.0017622708655324446_r8, & + 0.002084319472096711_r8, 0.0023250838641047703_r8, & + 0.0025878833490422522_r8, 0.0029057944138064598_r8, & + 0.0032552676490166521_r8, 0.0036102138862044442_r8, & + 0.0042285438721573927_r8, 0.0049274903425777774_r8, & + 0.0057328562958959411_r8, 0.0065651222327902815_r8, & + 0.0073798483311028132_r8, 0.0081925712391490383_r8, & + 0.0090302267117598808_r8, 0.0098402786994510206_r8, & + 0.010532524021480534_r8, 0.011151664822541277_r8, 0.011691476904305777_r8, & + 0.012787901633818309_r8, 0.013595258853651202_r8, 0.014042101444306015_r8, & + 0.014189574403911586_r8, 0.014314594939282251_r8, 0.014516447019688601_r8, & + 0.014634036502732071_r8, 0.014824961912694719_r8, 0.014805114231993599_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,22,64) / & + 0.00039449870103370522_r8, 0.00041442712621213491_r8, & + 0.00045469219384453008_r8, 0.00059824860240795393_r8, & + 0.00068971401256891522_r8, 0.00088546038129856783_r8, & + 0.0012588307457681775_r8, 0.0016141776990118582_r8, & + 0.0018721833873709564_r8, 0.0020891941650898827_r8, & + 0.0022534212120599831_r8, 0.0024179204038804409_r8, 0.00266059938907624_r8, & + 0.0029237139784897715_r8, 0.0034027012853389172_r8, & + 0.0038898158270373661_r8, 0.0045836243825821098_r8, & + 0.0053118592616970403_r8, 0.0061752264292347916_r8, & + 0.0070697912927998527_r8, 0.0079660385063489453_r8, & + 0.0087748901122719613_r8, 0.0097666230576350151_r8, & + 0.010616927272355621_r8, 0.011257692322521651_r8, 0.011938017337753244_r8, & + 0.012476245630436963_r8, 0.013730227249780597_r8, 0.014599717676451384_r8, & + 0.015050278216658674_r8, 0.015143821823858723_r8, 0.015236239740995939_r8, & + 0.015323091058921294_r8, 0.015390867496880713_r8, 0.015510195282374552_r8, & + 0.015402366748904371_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,64) / & + 0.00035817520075335634_r8, 0.00038371886264061895_r8, & + 0.00041253078031375798_r8, 0.00057368783228086253_r8, & + 0.00071013430716886897_r8, 0.00092655692364067798_r8, & + 0.0014214092996904558_r8, 0.0018547800168976854_r8, & + 0.0020515418318968097_r8, 0.0022054574543775604_r8, & + 0.0023446979675452572_r8, 0.0025169030057375598_r8, & + 0.0028405115952967633_r8, 0.0031531362820775496_r8, & + 0.0036559990889750643_r8, 0.0041410210642884998_r8, & + 0.0049693508807018925_r8, 0.0058039096081424855_r8, & + 0.0067580993140355129_r8, 0.0077169671115436241_r8, & + 0.0086440751528266257_r8, 0.0095040365585715592_r8, & + 0.010514248013641323_r8, 0.011407225211168289_r8, 0.012004764902341371_r8, & + 0.012695994592709583_r8, 0.013273591515244139_r8, 0.014539188322429102_r8, & + 0.015389742278186454_r8, 0.015969364237639318_r8, 0.016205345122068962_r8, & + 0.016267775215923881_r8, 0.016237848246276741_r8, 0.016228376712842375_r8, & + 0.016289257818240799_r8, 0.016348288136478793_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,64) / & + 0.00024408190112707159_r8, 0.0002757941124836346_r8, & + 0.00027420253349459754_r8, 0.00034790590384525431_r8, & + 0.00045724738039209866_r8, 0.00072174128205357031_r8, & + 0.0013209575082677727_r8, 0.0021209116344742718_r8, & + 0.0023954324837666763_r8, 0.0025904937520314069_r8, & + 0.0027514819667725028_r8, 0.0029217809185994666_r8, & + 0.0031862880834191798_r8, 0.003496619459964918_r8, 0.003934184313525926_r8, & + 0.0044699893801852441_r8, 0.0056279824631338665_r8, & + 0.0066584237532694114_r8, 0.0076343136735557132_r8, & + 0.0085979749619429138_r8, 0.0095068461436325132_r8, 0.01035521079742222_r8, & + 0.011127020501839247_r8, 0.012007229998567938_r8, 0.012704076332601323_r8, & + 0.013352750875899849_r8, 0.0139379214175358_r8, 0.015132693238289417_r8, & + 0.016061140841544176_r8, 0.016776476018166876_r8, 0.017180020870837216_r8, & + 0.017263233925647364_r8, 0.017186426976268088_r8, 0.017091303605356642_r8, & + 0.016967611391591982_r8, 0.016895433994965486_r8, 0.016848494967420798_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,64) / & + 0.00016488568546330865_r8, 0.00020524682772688063_r8, & + 0.00019552670209343212_r8, 0.00031713109471499589_r8, & + 0.00038477439496243613_r8, 0.00070156274899924281_r8, & + 0.0015907006163579261_r8, 0.0024304152779217121_r8, & + 0.0027401020451064358_r8, 0.0029470625762242635_r8, & + 0.0030868870632983708_r8, 0.0032398727924149466_r8, & + 0.0034569373187257947_r8, 0.003815142456314995_r8, & + 0.0042773351156668313_r8, 0.0048522894581429473_r8, & + 0.0061948869523732013_r8, 0.0074260525973105515_r8, & + 0.0084497504549263525_r8, 0.0093712995945180091_r8, & + 0.010248743149936871_r8, 0.011127574805102403_r8, 0.011692968396360429_r8, & + 0.012508996249654552_r8, 0.01323870657685009_r8, 0.013857577996125994_r8, & + 0.014420089138280447_r8, 0.015613710969328938_r8, 0.016683598274440919_r8, & + 0.017344928408930909_r8, 0.017719533687971471_r8, 0.017812330726591226_r8, & + 0.017783516517775849_r8, 0.017769401232574162_r8, 0.017641149923091612_r8, & + 0.017520109167515334_r8, 0.017507546864807998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,64) / & + 0.00014658637421636217_r8, 0.00019076754987346176_r8, & + 0.00019357045688406913_r8, 0.00035033506413389959_r8, & + 0.00037016775464834899_r8, 0.00056664021121511775_r8, & + 0.0013795115564832921_r8, 0.002209058782854979_r8, & + 0.0027842068077740113_r8, 0.0030956692322557499_r8, & + 0.0032949729080251522_r8, 0.0034682718354183636_r8, & + 0.0037460710635807875_r8, 0.0041566120040586923_r8, & + 0.0047182268011891357_r8, 0.0053234706862321643_r8, & + 0.0068084876263016028_r8, 0.0081505987771181045_r8, & + 0.0092168076166379443_r8, 0.010136401769749399_r8, 0.011020718931596035_r8, & + 0.01189286185087135_r8, 0.012452608043328055_r8, 0.013258217311341473_r8, & + 0.013999628683935172_r8, 0.014664682074633837_r8, 0.01522665077416461_r8, & + 0.016389729778702563_r8, 0.017359606384852792_r8, 0.017935985990124966_r8, & + 0.018302430691521859_r8, 0.01843164753593006_r8, 0.018425135731764002_r8, & + 0.018374769606086291_r8, 0.018321741894210052_r8, 0.018125543522412964_r8, & + 0.018151944312853868_r8, 0.0181903568793856_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,64) / & + 0.00016854280406155059_r8, 0.0001954699337348741_r8, & + 0.00020288803670344692_r8, 0.0004524166656935506_r8, & + 0.00054290876037119996_r8, 0.00076463410579405433_r8, & + 0.0013199404437643062_r8, 0.0022444726351998419_r8, & + 0.0029589615331315358_r8, 0.003348455746676306_r8, & + 0.0035668663098671403_r8, 0.0037595617562712494_r8, & + 0.0040918723256724542_r8, 0.0045656233386831011_r8, & + 0.0052454749526749233_r8, 0.0059054670784044246_r8, & + 0.0074372177260253235_r8, 0.0088335003790803758_r8, & + 0.0099632570176031599_r8, 0.010984764842531398_r8, 0.011904434379855645_r8, & + 0.012758596811044029_r8, 0.013508175672427456_r8, 0.014285324176339752_r8, & + 0.014978391111564956_r8, 0.015623605441616908_r8, 0.016193266100882644_r8, & + 0.017384893806881501_r8, 0.018271430124450448_r8, 0.018817922771463953_r8, & + 0.019070545058131889_r8, 0.019189792732216257_r8, 0.019233633282683578_r8, & + 0.019014706101607427_r8, 0.019017180649647573_r8, 0.0187458765846144_r8, & + 0.0186339534006272_r8, 0.0186339534006272_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,64) / & + 0.0001957293457958909_r8, 0.00020173202914662837_r8, & + 0.00021026429383686938_r8, 0.00056554698934026758_r8, & + 0.00063894972655447878_r8, 0.00075526129007909813_r8, & + 0.0015557550847780095_r8, 0.0026813457930432512_r8, & + 0.0033477027124327111_r8, 0.0037106872884407494_r8, & + 0.0038997332508399064_r8, 0.004083749073696641_r8, & + 0.0044807663409028734_r8, 0.0049525698889935927_r8, & + 0.0055742980387507388_r8, 0.0062717405110579248_r8, & + 0.0078870596715544389_r8, 0.0092637819910410119_r8, & + 0.010471510325701304_r8, 0.011504503361653479_r8, 0.012476079409602448_r8, & + 0.01336722605773054_r8, 0.014214252593568233_r8, 0.014941206113633457_r8, & + 0.015594036961457532_r8, 0.016425911270136338_r8, 0.01692975668349523_r8, & + 0.018118487702105803_r8, 0.01896759827111201_r8, 0.019456053648028621_r8, & + 0.019718832553877342_r8, 0.019975286944258076_r8, 0.020032210747618941_r8, & + 0.01955962048441387_r8, 0.019585625214793248_r8, 0.019223184285130666_r8, & + 0.019235374002496003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,64) / & + 0.000209950144398454_r8, 0.00021298955807425184_r8, & + 0.00021832388486838519_r8, 0.00051618153629086816_r8, & + 0.00055741274457022814_r8, 0.00067014485081957919_r8, & + 0.0018765917607594014_r8, 0.0032743875971321776_r8, & + 0.0038959872849346623_r8, 0.004147478828403015_r8, & + 0.0042559769435028261_r8, 0.0043949079159363849_r8, & + 0.0048293898792649741_r8, 0.005272820960250545_r8, & + 0.0058589484208184739_r8, 0.0066125737427221894_r8, & + 0.0081790709761231303_r8, 0.0094992854792782227_r8, & + 0.010720950909777777_r8, 0.01171564596491911_r8, 0.012691827768245512_r8, & + 0.013202354220836977_r8, 0.013470273398938398_r8, 0.01375231285384782_r8, & + 0.013955331055953955_r8, 0.016047223916398401_r8, 0.016375546500845155_r8, & + 0.016420934660329616_r8, 0.015786651357290606_r8, 0.012941704370425598_r8, & + 0.012941704370425598_r8, 0.012941704370425598_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,64) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,64) / & + 0.0026836289755331737_r8, 0.0026034178628863997_r8, & + 0.0028996905978879994_r8, 0.003271607435443199_r8, 0.003968163546457599_r8, & + 0.0049578405548671997_r8, 0.0047214527343871996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,64) / & + 0.0027715745935037389_r8, 0.0026873405164466661_r8, & + 0.0029918055061333329_r8, 0.003388544931946666_r8, 0.004038124442653333_r8, & + 0.0051153370229866648_r8, 0.0048714398349866649_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,64) / & + 0.0028486250144098132_r8, 0.0027645906358833615_r8, & + 0.0030111614949403964_r8, 0.0048558710630992588_r8, & + 0.0054367567728744459_r8, 0.0061560588622788888_r8, & + 0.0080627944626045639_r8, 0.0091570337360437713_r8, & + 0.0089267018782025476_r8, 0.007156458311031782_r8, & + 0.0061873325962717224_r8, 0.0042301480804717035_r8, & + 0.003576304809041541_r8, 0.003612921708285333_r8, 0.0041976514553322668_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,64) / & + 0.0027532588762995908_r8, 0.0028030860383351686_r8, & + 0.0031208661387755379_r8, 0.0041822996520823174_r8, & + 0.0045467523538760919_r8, 0.0051714665499971507_r8, & + 0.0070099245573787133_r8, 0.0076949453102574186_r8, & + 0.007345762559365145_r8, 0.0060482417140764301_r8, & + 0.0046765197663493777_r8, 0.0036347909572761201_r8, & + 0.0029767540839816821_r8, 0.0032103793553785644_r8, & + 0.0032904085776154228_r8, 0.0030733511854420621_r8, & + 0.0027237955103807995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,64) / & + 0.0026493418605316212_r8, 0.0025530779078107649_r8, & + 0.0028955056722045893_r8, 0.0031749561991919672_r8, & + 0.0033326624287975245_r8, 0.0035155420109596971_r8, & + 0.0055923874528953947_r8, 0.0058701714513163059_r8, & + 0.0059557783924147623_r8, 0.0048657809979162862_r8, & + 0.004022298263210035_r8, 0.0034806326230937285_r8, & + 0.0028376157325273547_r8, 0.0029776479881253931_r8, & + 0.003237758012538785_r8, 0.0030526417736163555_r8, 0.002783460602405325_r8, & + 0.0027150005799923809_r8, 0.0027631356889253017_r8, & + 0.002816260985840141_r8, 0.0027956329959713871_r8, & + 0.0027612279522768474_r8, 0.0027601660102016001_r8, & + 0.0028461457274267655_r8, 0.003331355519553296_r8, & + 0.0034015207578029978_r8, 0.0035008677883718166_r8, & + 0.0036738008263530824_r8, 0.0039960241246792538_r8, & + 0.0040180880857789633_r8, 0.0040076284262236441_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,64) / & + 0.0027548582717266696_r8, 0.002907314745630947_r8, & + 0.0028797634573861928_r8, 0.0033023668508883755_r8, & + 0.0036688305490309536_r8, 0.003051158623700939_r8, & + 0.0050850840043357498_r8, 0.0050304774412188967_r8, & + 0.0046587379644762606_r8, 0.0037090076322160207_r8, & + 0.0033681111688275761_r8, 0.0031620401585517569_r8, & + 0.0027479591766342848_r8, 0.002850588852649113_r8, & + 0.0030223898480869408_r8, 0.0029250359506721706_r8, & + 0.0027197765986425159_r8, 0.0026750001187291917_r8, & + 0.0027296968660956182_r8, 0.0027976957902741601_r8, & + 0.0028335440294796912_r8, 0.002866912201821946_r8, & + 0.0029288236891542654_r8, 0.0029932152433498598_r8, & + 0.0034414760558557499_r8, 0.0035141138323717372_r8, & + 0.0036583176422235087_r8, 0.0040563432510240249_r8, & + 0.0042559435413929321_r8, 0.0042125062975857785_r8, & + 0.0040654608786559214_r8, 0.0040968449975075562_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,64) / & + 0.0026792081390079993_r8, 0.0032768886944426661_r8, & + 0.0031907181779626662_r8, 0.0035221966970026661_r8, & + 0.0036081355723093333_r8, 0.0037077412768426669_r8, & + 0.005346370937002666_r8, 0.0041909910926506665_r8, & + 0.0036201345850879999_r8, 0.0029048266418346667_r8, & + 0.0027198380008106662_r8, 0.0026006354530133335_r8, & + 0.0024658666183679993_r8, 0.002540362419712_r8, 0.0025754792215893331_r8, & + 0.0026036467882666657_r8, 0.0025745063286613324_r8, & + 0.0025867833108479993_r8, 0.0026620666921813342_r8, & + 0.002771077028351999_r8, 0.0028734160987306657_r8, & + 0.0029885880901119998_r8, 0.0031236812223999991_r8, & + 0.0032631755369813336_r8, 0.0034909251386026664_r8, & + 0.0036201809133226659_r8, 0.0038294455493119986_r8, & + 0.0042157303699626673_r8, 0.0042879097595733334_r8, 0.004214780641152_r8, & + 0.004182310339680001_r8, 0.0042022571265737142_r8, & + 0.0042242316010239981_r8, 0.0042191586593279999_r8, & + 0.0042404233190399994_r8, 0.0042591862540799991_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,65) / & + 0.0028203037374887963_r8, 0.0026991105755555557_r8, & + 0.0028691726595833334_r8, 0.0032311057525833326_r8, & + 0.003169856880916666_r8, 0.0034125138026666665_r8, & + 0.0038863501130833333_r8, 0.0045148125230000001_r8, & + 0.0050785174338333332_r8, 0.0055047712025833341_r8, & + 0.0057416370949999983_r8, 0.005943851530761904_r8, 0.006147851593333334_r8, & + 0.0063931911898095243_r8, 0.0065672180399047615_r8, & + 0.0066921512961904761_r8, 0.0068534876855555552_r8, & + 0.0070399384450000003_r8, 0.0071629354150000001_r8, & + 0.0073473684666666671_r8, 0.0075045000599999996_r8, & + 0.0078669386199999997_r8, 0.0080762393999999991_r8, & + 0.0083091286399999999_r8, 0.0084731245999999996_r8, & + 0.0086401159200000001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,65) / & + 0.0024241429990123457_r8, 0.0024247439200000003_r8, & + 0.0024449337095679012_r8, 0.0027310033013580245_r8, & + 0.0027254979406172836_r8, 0.0030573854464814808_r8, & + 0.0035919670683333326_r8, 0.004096315430802468_r8, 0.004649205497283951_r8, & + 0.0050926239384567898_r8, 0.0054087465133333323_r8, & + 0.0056491172196296282_r8, 0.0059672228337654312_r8, & + 0.0062127429706790123_r8, 0.0063695845040740743_r8, & + 0.0064943888595061713_r8, 0.0066682711253703694_r8, & + 0.0068618606280423282_r8, 0.0069903428180246906_r8, & + 0.0071368295252910051_r8, 0.0072785970217460324_r8, & + 0.0074918217827777793_r8, 0.0076743223121693129_r8, & + 0.0078737435549206362_r8, 0.0080514523997883593_r8, & + 0.0082310115530158726_r8, 0.0083927570308994694_r8, & + 0.0088003815474074071_r8, 0.0091212594874074075_r8, & + 0.0094153594637037021_r8, 0.0096327865444444452_r8, & + 0.0098192033287407415_r8, 0.0099759993308148141_r8, 0.01013493368711111_r8, & + 0.010265559117925926_r8, 0.010340723239555554_r8, 0.01038408662251852_r8, & + 0.010479100551111111_r8, 0.010669721933333334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,65) / & + 0.0012869508770370372_r8, 0.001303277438024691_r8, & + 0.0013435576340740743_r8, 0.0014053877812345678_r8, & + 0.0015053255639506176_r8, 0.0017064029713580245_r8, & + 0.0020186137817283954_r8, 0.0023951416276543204_r8, & + 0.0028341282765432098_r8, 0.0031604191279012346_r8, & + 0.0034982476622222218_r8, 0.0037365544360493828_r8, & + 0.0042880612286419744_r8, 0.0047542834656790125_r8, & + 0.0050600875338271609_r8, 0.0053329796217283943_r8, & + 0.0057237816523456782_r8, 0.0060171605234567898_r8, & + 0.0062408880296296286_r8, 0.0064344862819753082_r8, & + 0.0065851417960493836_r8, 0.006735862024691357_r8, & + 0.0068917039491358028_r8, 0.0070655735032098769_r8, & + 0.0072309099792592585_r8, 0.0074104559254320971_r8, & + 0.0075880234548148136_r8, 0.0080559744953086401_r8, & + 0.0084287211614814811_r8, 0.008756213854814815_r8, & + 0.0090647082000000004_r8, 0.0093503398128395067_r8, & + 0.0095954323713580234_r8, 0.0098024912538271589_r8, & + 0.0099881481041975313_r8, 0.010143638720987653_r8, 0.010257360706666668_r8, & + 0.010396182699753086_r8, 0.010580995949506171_r8, 0.01062553126046561_r8, & + 0.010475897179999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,65) / & + 0.00052253315604938266_r8, 0.00054022796790123453_r8, & + 0.00052649923456790117_r8, 0.0005569982859259259_r8, & + 0.00062159266962962965_r8, 0.00063834449777777766_r8, & + 0.00074078765876543198_r8, 0.0012407909002469133_r8, & + 0.0015018864469135804_r8, 0.0017421808824691356_r8, & + 0.0018827963935802467_r8, 0.0020516551911111108_r8, & + 0.0024900963886419756_r8, 0.0028942203753086417_r8, & + 0.0032518700572839506_r8, 0.0036118309738271612_r8, & + 0.0041972112202469129_r8, 0.0047104254785185181_r8, & + 0.0051266788241975305_r8, 0.0054861590039506167_r8, & + 0.0057470141822222216_r8, 0.005993123683950617_r8, & + 0.0061943305204938265_r8, 0.006385599048395061_r8, & + 0.0065491420064197527_r8, 0.0067139792558024687_r8, & + 0.0068662248992592588_r8, 0.0073150481624691347_r8, & + 0.0077442814014814804_r8, 0.0081505594587654301_r8, & + 0.008483220072592593_r8, 0.0087890148958024682_r8, & + 0.0091094259664197524_r8, 0.0093979142651851866_r8, & + 0.0096572532735802463_r8, 0.0098835601175308631_r8, & + 0.010075401831604937_r8, 0.010246433189629627_r8, 0.010373597315555556_r8, & + 0.010446353824135803_r8, 0.010437812920931216_r8, 0.010370385624_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,65) / & + 0.0003193941274074074_r8, 0.0003198563743209876_r8, & + 0.00028744362074074073_r8, 0.00026403543703703701_r8, & + 0.00027455617679012347_r8, 0.00027600763209876541_r8, & + 0.0003487283165432098_r8, 0.00051387989382716047_r8, & + 0.00069287114370370374_r8, 0.00091465721283950615_r8, & + 0.00098805277777777784_r8, 0.0010711555279012345_r8, & + 0.0012277925170370372_r8, 0.0013755543654320986_r8, 0.00153241323308642_r8, & + 0.0017564088424691356_r8, 0.0022453366479012345_r8, & + 0.0028381128449382711_r8, 0.0033475274335802467_r8, & + 0.0037945294439506176_r8, 0.0042624250148148145_r8, & + 0.0047365054493827162_r8, 0.0051162505338271614_r8, & + 0.0054660605081481477_r8, 0.0057630541501234563_r8, & + 0.0060706794711111109_r8, 0.0062641575392592581_r8, & + 0.0067029592893827154_r8, 0.0071279953264197539_r8, & + 0.0075642732083950606_r8, 0.008001225970864197_r8, & + 0.0082859700696296303_r8, 0.00857485590074074_r8, 0.0089265333525925927_r8, & + 0.0093256280928395059_r8, 0.0097231511935802449_r8, & + 0.0099942405185185178_r8, 0.010159660199012344_r8, 0.010280354353941796_r8, & + 0.010367218308148145_r8, 0.010403883733333332_r8, 0.010370435546666668_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,65) / & + 0.0002437890222222222_r8, 0.00024075668246913577_r8, & + 0.00022906183555555557_r8, 0.00021500952938271605_r8, & + 0.00021641476000000003_r8, 0.00021830072740740736_r8, & + 0.00023863959160493823_r8, 0.00025591838123456795_r8, & + 0.00040121183111111114_r8, 0.00051968571506172834_r8, & + 0.00055946668444444437_r8, 0.00058934632493827153_r8, & + 0.00064033215950617267_r8, 0.00068976484444444432_r8, & + 0.00074396791753086433_r8, 0.00082920624839506166_r8, & + 0.0010275656439506173_r8, 0.0013604204014814817_r8, & + 0.0017656537807407408_r8, 0.0022365354666666667_r8, & + 0.0027659745916049378_r8, 0.0032920947837037028_r8, & + 0.0038264891955555559_r8, 0.004331540173333333_r8, 0.00480075777037037_r8, & + 0.0052502096893827154_r8, 0.0055776376681481487_r8, & + 0.0062515197086419755_r8, 0.006773119125925927_r8, & + 0.0072545585313580256_r8, 0.0078162440009876544_r8, & + 0.0081925777032098752_r8, 0.0083839109456790122_r8, & + 0.0086503962913580239_r8, 0.0090934322232098762_r8, & + 0.0096568649861728407_r8, 0.010002683458395062_r8, 0.010132708265380951_r8, & + 0.010222414840000001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,65) / & + 0.00015523175851851854_r8, 0.00016407916444444442_r8, & + 0.00018965066370370368_r8, 0.00022814658666666667_r8, & + 0.000228303750617284_r8, 0.00022805413728395064_r8, & + 0.0002027784760493827_r8, 0.00021812507358024693_r8, & + 0.00028942203753086422_r8, 0.00036276213283950609_r8, & + 0.00040366173975308641_r8, 0.00043306064345679011_r8, & + 0.00047822216691358017_r8, 0.00051559945234567897_r8, & + 0.00055880104888888886_r8, 0.00060248338222222231_r8, & + 0.00069397129135802477_r8, 0.00086415211506172835_r8, & + 0.0011514940414814813_r8, 0.0015991431975308642_r8, & + 0.0021160369412345681_r8, 0.0026661477481481478_r8, & + 0.0032629270034567896_r8, 0.003863080661234568_r8, & + 0.0044217337911111113_r8, 0.0049606489777777769_r8, & + 0.0053915185708641967_r8, 0.0062235999950617273_r8, & + 0.0068119201318518523_r8, 0.007315963411358024_r8, & + 0.0078925517214814816_r8, 0.0083148327669135807_r8, & + 0.0085081444261728405_r8, 0.0086978320696296293_r8, & + 0.0091215183456790118_r8, 0.0096747560548571445_r8, & + 0.010046636239190474_r8, 0.010183849579999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,65) / & + 0.0001355585298765432_r8, 0.00016468008543209873_r8, & + 0.00020972142469135802_r8, 0.00026560707654320987_r8, & + 0.00026259322666666665_r8, 0.00026042991111111105_r8, & + 0.00023005104395061729_r8, 0.00019389409037037032_r8, & + 0.00021919748641975305_r8, 0.00025707399851851849_r8, & + 0.00029528332839506171_r8, 0.00037079598419753086_r8, & + 0.00045786481283950604_r8, 0.00052326350617283959_r8, & + 0.00056871162271604936_r8, 0.00061365126765432101_r8, & + 0.00069857527061728411_r8, 0.00083369928839506177_r8, & + 0.0010594329461728394_r8, 0.0014458806108641974_r8, & + 0.0019802195530864196_r8, 0.002561236188641975_r8, & + 0.0031904744222222225_r8, 0.0038659003674074068_r8, & + 0.0045314527185185182_r8, 0.0051561147076543213_r8, & + 0.0056092923367901228_r8, 0.0065105166543209872_r8, & + 0.0071022296834567901_r8, 0.0076063839022222227_r8, 0.00815296314271605_r8, & + 0.0084754173446913578_r8, 0.0086481312814814804_r8, & + 0.0088361086113580237_r8, 0.0092466393402469114_r8, & + 0.0096606980696507926_r8, 0.010010056296666667_r8, 0.01018197748_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,65) / & + 0.00015341050567901235_r8, 0.00018599891308641975_r8, & + 0.00019255357432098767_r8, 0.00019353353777777776_r8, & + 0.00019890484691358027_r8, 0.0002098970785185185_r8, & + 0.00027554538518518516_r8, 0.00018801430962962968_r8, & + 0.00018132097432098764_r8, 0.00019995876987654318_r8, & + 0.00022991236987654319_r8, 0.00030963147259259255_r8, & + 0.00041150144740740734_r8, 0.00048308500444444439_r8, & + 0.00054174413777777772_r8, 0.00059691792938271605_r8, & + 0.00068619629827160471_r8, 0.00080740668395061716_r8, & + 0.0010236365451851853_r8, 0.0013988516098765429_r8, & + 0.0019382845130864197_r8, 0.0025731066893827153_r8, & + 0.0032937034029629627_r8, 0.0040593691906172843_r8, & + 0.0048277622350617272_r8, 0.0055170833224691355_r8, & + 0.0059717493866666667_r8, 0.0068384715945678997_r8, & + 0.0073948042449382698_r8, 0.0078772143688888886_r8, & + 0.0083772361002469129_r8, 0.0086418447234567885_r8, & + 0.0087848731634567901_r8, 0.0089808103851851846_r8, & + 0.0093648254754938286_r8, 0.0096156271135714282_r8, & + 0.0095522743580952387_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,65) / & + 0.00015345673037037036_r8, 0.00017047666172839506_r8, & + 0.00014026420345679012_r8, 0.00012572191555555558_r8, & + 0.0001271271461728395_r8, 0.00012794994567901234_r8, & + 0.00016248903506172843_r8, 0.00014314862419753083_r8, & + 0.0001589944483950617_r8, 0.00016991272049382718_r8, & + 0.00017433180098765436_r8, 0.00021001726271604941_r8, & + 0.00031279324148148147_r8, 0.00040143370962962967_r8, & + 0.00048388006913580251_r8, 0.00056072399604938257_r8, & + 0.00066067102370370365_r8, 0.00077422660049382733_r8, & + 0.00096654905135802464_r8, 0.0013261586602469138_r8, & + 0.0018869381259259261_r8, 0.0026076735135802474_r8, & + 0.0034580506706172833_r8, 0.004356399812345679_r8, 0.005178422743703703_r8, & + 0.0059036511713580252_r8, 0.0063924772824691355_r8, & + 0.0072484661170370366_r8, 0.0077877973259259251_r8, & + 0.0082964260948148148_r8, 0.0086815702232098755_r8, & + 0.0088457418370370359_r8, 0.0089230480108641978_r8, & + 0.0090173567817901229_r8, 0.0092288023874691361_r8, & + 0.0095255416945890636_r8, 0.0095309005796598636_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,65) / & + 0.00016933028938271607_r8, 0.00017288959061728391_r8, & + 0.00013773109037037038_r8, 0.00012029513679012344_r8, & + 0.00012328125185185186_r8, 0.00011956478666666666_r8, & + 0.00012581436493827158_r8, 0.00012326276197530863_r8, & + 0.00013277580345679013_r8, 0.00014232582469135804_r8, & + 0.00014472026370370371_r8, 0.00015540741234567902_r8, & + 0.0002013824903703704_r8, 0.00029175176197530857_r8, & + 0.00040454000888888892_r8, 0.00051761484888888888_r8, & + 0.00064378052148148142_r8, 0.00074818360938271598_r8, & + 0.00092597301728395049_r8, 0.0012875795328395059_r8, & + 0.0018849689540740742_r8, 0.0027145912246913581_r8, & + 0.0036803174765432101_r8, 0.0046962899679012342_r8, & + 0.0055454190582716039_r8, 0.006196669489876544_r8, & + 0.0066614125367901221_r8, 0.0074924030582716053_r8, & + 0.0081124240883950621_r8, 0.0086635241037037024_r8, & + 0.0089613775249382712_r8, 0.0090844091634567879_r8, 0.00912685267506173_r8, & + 0.0091137213958641973_r8, 0.0091299417579818586_r8, & + 0.0094398770399999991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,65) / & + 0.00018659058913580247_r8, 0.00018717302024691355_r8, & + 0.00015601757827160494_r8, 0.00010996854074074072_r8, & + 0.0001115679150617284_r8, 0.0001098945812345679_r8, & + 0.00011497005234567903_r8, 0.00014717941728395061_r8, & + 0.0001392472602469136_r8, 0.0001379437239506173_r8, & + 0.00013951536345679013_r8, 0.00013296994716049384_r8, & + 0.00016568778370370371_r8, 0.00022250717432098765_r8, & + 0.00036713498864197528_r8, 0.00054482270222222225_r8, & + 0.00074737929975308634_r8, 0.00085084864888888888_r8, & + 0.0010681139432098764_r8, 0.0015554885990123459_r8, & + 0.0023222637792592589_r8, 0.0033107510691358023_r8, & + 0.0043558913407407401_r8, 0.0053361413906172842_r8, & + 0.0060251943748148157_r8, 0.006514491977777777_r8, & + 0.0069116822607407404_r8, 0.0077562905762962962_r8, & + 0.0084892939970370382_r8, 0.0089946870375308633_r8, & + 0.0091687322454320989_r8, 0.0092210886420987636_r8, & + 0.0092664593322839498_r8, 0.0092877089879894181_r8, & + 0.009237007963555555_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,65) / & + 0.00017839942294976788_r8, 0.00017756596193424851_r8, & + 0.00015489776059355391_r8, 0.00011088908069270122_r8, & + 0.00011135426823624689_r8, 0.00012114258946502055_r8, & + 0.00010697375220119175_r8, 0.00012627903525833743_r8, & + 0.00013271412961071932_r8, 0.00012778120336770371_r8, & + 0.00012683144546629793_r8, 0.00012166592545150943_r8, & + 0.0001638816950282798_r8, 0.0002824754444109563_r8, & + 0.00051876164231068984_r8, 0.00079816491065281311_r8, & + 0.0010824332653878519_r8, 0.0011951346392189497_r8, & + 0.0016058177089125268_r8, 0.0023798800899653789_r8, & + 0.0033999394588894805_r8, 0.004494109018344703_r8, & + 0.0054621449136489477_r8, 0.0062402195372648827_r8, & + 0.0068083201334128846_r8, 0.0072904870222979812_r8, & + 0.0076986697089449991_r8, 0.008525670190168172_r8, & + 0.0091689712601524826_r8, 0.0095509604961053745_r8, & + 0.0097361342126580271_r8, 0.0098495551734705446_r8, & + 0.0099991830583615274_r8, 0.010185478139946604_r8, 0.010381477019845178_r8, & + 0.010449536864888058_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,65) / & + 0.00016977901008874402_r8, 0.00015831307228433909_r8, & + 0.0001606143701460543_r8, 0.00016131388359300739_r8, & + 0.00015938768714487568_r8, 0.00017820358508030944_r8, & + 0.00013983172425831769_r8, 0.0001248682192191473_r8, & + 0.00012786903052781562_r8, 0.00012518249337647406_r8, & + 0.00012435118754096461_r8, 0.00012652069301412344_r8, & + 0.00019412005046750286_r8, 0.00048880783127956543_r8, & + 0.00095448102942946502_r8, 0.0013148521091228178_r8, & + 0.0016075021768502779_r8, 0.0018783456732096788_r8, & + 0.0026431977312586009_r8, 0.0036907951521411679_r8, & + 0.0047580600525467653_r8, 0.0056937353219168388_r8, & + 0.006467650641148022_r8, 0.007135462949715279_r8, 0.0076817626760335529_r8, & + 0.0081772615055013646_r8, 0.0085775352652991722_r8, & + 0.0093043702881876016_r8, 0.0096877847601262342_r8, & + 0.0099855544552553081_r8, 0.010204674508044352_r8, 0.010445449064060813_r8, & + 0.010719303509604924_r8, 0.010866616986382825_r8, 0.01095646898175015_r8, & + 0.010947466547824141_r8, 0.010889825372560703_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,65) / & + 0.00020158943350621236_r8, 0.00017147697218492834_r8, & + 0.00016683044476136297_r8, 0.00023521589734372343_r8, & + 0.00020606661141092347_r8, 0.00021095657876784202_r8, & + 0.00020977113213586172_r8, 0.00018141567207269135_r8, & + 0.00020294422965704689_r8, 0.00020885029412709137_r8, & + 0.00022293805722678521_r8, 0.00023684588646269628_r8, & + 0.00036810234791972339_r8, 0.00089952113808458264_r8, & + 0.0014707158964903505_r8, 0.0018950952063943509_r8, & + 0.0023271587507163656_r8, 0.0029503755644451949_r8, & + 0.0038716369470127012_r8, 0.004841268785902973_r8, & + 0.0057753266414889096_r8, 0.0065742329966841677_r8, & + 0.0072955137661745786_r8, 0.007936829809730964_r8, & + 0.0084890891750598347_r8, 0.0089797158998706599_r8, & + 0.0094185110875671316_r8, 0.010182097483736335_r8, 0.010453141388662676_r8, & + 0.010615251215585975_r8, 0.010865338117554094_r8, 0.01122946075178074_r8, & + 0.011551510614917016_r8, 0.011638524514573353_r8, 0.01159037103732162_r8, & + 0.011574852875607316_r8, 0.011532766307067305_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,65) / & + 0.00022720167212678848_r8, 0.0001977273376158025_r8, & + 0.00019188100629438689_r8, 0.00025162389391096627_r8, & + 0.00022819444537004776_r8, 0.00023972164580566915_r8, & + 0.00022158698789546667_r8, 0.00029041926609477532_r8, & + 0.00031274563325429467_r8, 0.000375224162696744_r8, & + 0.0005007327622723424_r8, 0.00074962101435743864_r8, & + 0.0013842237330763854_r8, 0.0019709968430978637_r8, & + 0.0023884910843298239_r8, 0.0026916619711935736_r8, & + 0.0031720870052343564_r8, 0.0037887536206917542_r8, & + 0.0045771258839777456_r8, 0.005436635865550171_r8, & + 0.0063101329190387362_r8, 0.0071250784128026341_r8, & + 0.0079386560856535959_r8, 0.008596368359312859_r8, & + 0.0092044088783677109_r8, 0.0097311964228687028_r8, & + 0.010190122400786015_r8, 0.011023522446060724_r8, 0.011512639761386931_r8, & + 0.011753100471718136_r8, 0.011986148475166341_r8, 0.012360512234385591_r8, & + 0.012693344979595166_r8, 0.012899896968262164_r8, 0.012888116059108824_r8, & + 0.01289490690386306_r8, 0.013055905965012271_r8, 0.013212868733199644_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,65) / & + 0.00023788963851437031_r8, 0.00023420543076780248_r8, & + 0.00023528429534156375_r8, 0.00025289044700273249_r8, & + 0.00025121476372859261_r8, 0.00028389058757432098_r8, & + 0.00026126886337343209_r8, 0.00039856011902590952_r8, & + 0.00057255572475167077_r8, 0.0009571824225802799_r8, & + 0.0013463426470752265_r8, 0.0017442485609872591_r8, & + 0.0023032266603053163_r8, 0.0026782353952316709_r8, & + 0.002977907246517926_r8, 0.0032408403158827978_r8, & + 0.0037130272034265675_r8, 0.0043487998012875723_r8, & + 0.0051125900103797849_r8, 0.0060025499881885755_r8, & + 0.0068675468761257609_r8, 0.0076515026709211504_r8, 0.00842750470880573_r8, & + 0.0091471762432007251_r8, 0.0098314288831847889_r8, & + 0.010428867356829168_r8, 0.01091379402816948_r8, 0.011909677848012775_r8, & + 0.012628052449462716_r8, 0.013041303490344099_r8, 0.013255113789754733_r8, & + 0.013505238211626863_r8, 0.013698917357182417_r8, 0.013929840285098142_r8, & + 0.013995593637684082_r8, 0.013951873798560676_r8, 0.013885412543573937_r8, & + 0.013733128595511582_r8, 0.013930953581519998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,65) / & + 0.00029761683956622216_r8, 0.00032425450060752592_r8, & + 0.00035759331003970373_r8, 0.00037318957711312596_r8, & + 0.00039186217209552596_r8, 0.00045272100018631115_r8, & + 0.00054371114853285941_r8, 0.00081505996335691857_r8, & + 0.0013391088455258077_r8, 0.0017789402702485335_r8, & + 0.0020728607468233481_r8, 0.0022694476392082965_r8, & + 0.0025163766107858961_r8, 0.0028059687655352886_r8, & + 0.0031513402302001778_r8, 0.0035145734747396742_r8, & + 0.0041300536840637629_r8, 0.0048693739773515857_r8, & + 0.0056428438951793784_r8, 0.0065182022703025796_r8, & + 0.0073290173780951708_r8, 0.0081246058551134835_r8, & + 0.0089430163926658389_r8, 0.009752090632726992_r8, 0.010461386919523318_r8, & + 0.011096779793994668_r8, 0.011586464424095052_r8, 0.012709502967145719_r8, & + 0.013463906806188797_r8, 0.013903046653319588_r8, 0.014107014347935763_r8, & + 0.014301073404984651_r8, 0.014522361839247259_r8, 0.014658037950052376_r8, & + 0.014623975688285178_r8, 0.014538620888052547_r8, 0.014330465452642134_r8, & + 0.0143849808448896_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,65) / & + 0.00037346932623337617_r8, 0.00041170567770856294_r8, & + 0.00047145384258243952_r8, 0.00062290245180622215_r8, & + 0.00069478580296193572_r8, 0.00088079680818108313_r8, & + 0.001188419450848487_r8, 0.0015591920690192331_r8, & + 0.0018256095072984625_r8, 0.0020202301859652736_r8, & + 0.0021748455716295765_r8, 0.0023464081593388511_r8, & + 0.0025527310665710221_r8, 0.0028667985941037036_r8, & + 0.0033591209986203515_r8, 0.003874365421669359_r8, & + 0.0046328331196148799_r8, 0.0054092252670225648_r8, & + 0.0062064612359235159_r8, 0.0070878765551281387_r8, & + 0.0079450957230919102_r8, 0.0087160326032719795_r8, & + 0.0097419073571343908_r8, 0.01055631319204879_r8, 0.011217909693487618_r8, & + 0.011865589696896816_r8, 0.012341657631714856_r8, 0.013605906534049235_r8, & + 0.014449320535967614_r8, 0.014991309375674455_r8, 0.015150279078944475_r8, & + 0.015232306010886225_r8, 0.015424664485484447_r8, 0.015465108921313664_r8, & + 0.015512719359592574_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,65) / & + 0.00036087952220755225_r8, 0.00039476684886581727_r8, & + 0.00044050961317873246_r8, 0.00058208276380929049_r8, & + 0.00068307827593755389_r8, 0.00088482578309630937_r8, & + 0.0014521821708351208_r8, 0.0018741075844471041_r8, & + 0.0020298047267483916_r8, 0.0021652643165559564_r8, & + 0.0022879200336965002_r8, 0.0024651620308058599_r8, & + 0.0027207396332614058_r8, 0.0030889631184701626_r8, & + 0.0036230858307078843_r8, 0.0041619763513861784_r8, & + 0.0051699705191972862_r8, 0.0059834201592679232_r8, & + 0.006819004221857025_r8, 0.0077349232933319094_r8, & + 0.0086151863350173493_r8, 0.0094310198793082708_r8, 0.01054355978219936_r8, & + 0.011376875290772382_r8, 0.012006020937898296_r8, 0.012690560316422479_r8, & + 0.013197550097292746_r8, 0.014487895931624873_r8, 0.015360097275705149_r8, & + 0.015946858131129522_r8, 0.016171714129197823_r8, 0.016194117702192774_r8, & + 0.016231196384500778_r8, 0.016210936337409415_r8, 0.016226120426228962_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,65) / & + 0.00026269011214056294_r8, 0.00029412379717404442_r8, & + 0.00031140569236333822_r8, 0.00034509411429795554_r8, & + 0.00045472738032612339_r8, 0.00075452780922773317_r8, & + 0.0014824762493385482_r8, 0.0021903973205039799_r8, & + 0.0023455895350933328_r8, 0.0025540068037077329_r8, & + 0.0027164937553301729_r8, 0.0029063426024058072_r8, & + 0.0031565388194824302_r8, 0.0034805577753338865_r8, & + 0.0039217036816202267_r8, 0.0044524554849893526_r8, & + 0.0057093254126319012_r8, 0.0067229755444331053_r8, & + 0.0075994050410628337_r8, 0.0085553206450367202_r8, & + 0.009431511404818094_r8, 0.010308047006713757_r8, 0.011154594607824317_r8, & + 0.012001712524739278_r8, 0.012661965805183051_r8, 0.013301011295597905_r8, & + 0.013840689204463878_r8, 0.015069016815569698_r8, 0.016039004630438319_r8, & + 0.016755135596555535_r8, 0.017082218341960886_r8, 0.017125573948359125_r8, & + 0.017090083394798377_r8, 0.016989623136247207_r8, 0.016888204863197274_r8, & + 0.016853022441223543_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,65) / & + 0.00017094534065369545_r8, 0.00021883306821030449_r8, & + 0.00022412498428154735_r8, 0.00029889729063532501_r8, & + 0.00042091297207071603_r8, 0.00083039211511703711_r8, & + 0.0017560935580249548_r8, 0.0024830739557187161_r8, & + 0.0026998231606056296_r8, 0.0029433472672726916_r8, & + 0.0030660758493187162_r8, 0.0032164841685353085_r8, & + 0.0033596949335099259_r8, 0.0036992823974598844_r8, & + 0.0041345767683874241_r8, 0.0046958626126173495_r8, & + 0.0060726244976495132_r8, 0.0072993070945161489_r8, & + 0.0082899647507545023_r8, 0.0092397265892713073_r8, & + 0.010098867792474864_r8, 0.010948042096756674_r8, 0.011647507272805399_r8, & + 0.012480243734161251_r8, 0.013171003296983968_r8, 0.013785880073655573_r8, & + 0.014341366745610535_r8, 0.015518173718987061_r8, 0.016612846316242304_r8, & + 0.017378474152808691_r8, 0.017739078475145217_r8, 0.017805686698544525_r8, & + 0.017804768594193568_r8, 0.017747241615562823_r8, 0.017517818802933332_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,65) / & + 0.0001414760235556082_r8, 0.00020389025087766914_r8, & + 0.00020597119699160496_r8, 0.00032045154545010042_r8, & + 0.00034073723103697127_r8, 0.00056911752801742227_r8, & + 0.0014768913409578799_r8, 0.0024086172683526188_r8, & + 0.0028495655030668109_r8, 0.0031319371502414885_r8, & + 0.003291872722998268_r8, 0.003424175596337343_r8, 0.0035873529150811396_r8, & + 0.0039344603893240356_r8, 0.0044891670116000522_r8, & + 0.0050817553468073089_r8, 0.0066355709135007468_r8, & + 0.0079539564473991766_r8, 0.0090217507696724944_r8, 0.0099797787234597_r8, & + 0.010868696616510617_r8, 0.011717425352980147_r8, 0.012402382214673329_r8, & + 0.013276450363006431_r8, 0.013999119064478696_r8, 0.014655848670721618_r8, & + 0.015197418435897416_r8, 0.016294473408629953_r8, 0.01733429528518125_r8, & + 0.017996680251781434_r8, 0.018340137222764934_r8, 0.018422930919809951_r8, & + 0.01847707085845483_r8, 0.018441070541241226_r8, 0.018393695042518754_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,65) / & + 0.00016528914399403569_r8, 0.00021098594122007474_r8, & + 0.00022084168163840904_r8, 0.00036877406053771952_r8, & + 0.00047077308065963106_r8, 0.00074684880757156793_r8, & + 0.0015032664151612095_r8, 0.0024938306749407177_r8, & + 0.0030578178726791629_r8, 0.0033715619587878151_r8, & + 0.0035366461453530933_r8, 0.0036926154109085613_r8, & + 0.0039237693195744439_r8, 0.0043108316845433944_r8, & + 0.0049935936418715578_r8, 0.0056259431643997148_r8, 0.00724208302545891_r8, & + 0.0085704531648751522_r8, 0.0096551789352832956_r8, & + 0.010668404028944903_r8, 0.011561875782560505_r8, 0.012390737757653271_r8, & + 0.013159714614096199_r8, 0.014039566398974666_r8, 0.014766691991505633_r8, & + 0.015444559064775694_r8, 0.015980964103501069_r8, 0.017075142635688365_r8, & + 0.018062044467887225_r8, 0.018662096089524315_r8, 0.018969352934024662_r8, & + 0.019063225313868309_r8, 0.019146503428573866_r8, 0.019042241115196683_r8, & + 0.018982859785035854_r8, 0.018677347660204797_r8, 0.018662537921416533_r8, & + 0.0187066960776704_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,65) / & + 0.00019432441099902226_r8, 0.00020295879413280004_r8, & + 0.00021636748323466669_r8, 0.00055839063631031116_r8, & + 0.00065397833665013338_r8, 0.00081853952108213335_r8, & + 0.0016365914534696535_r8, 0.0027096522731399468_r8, & + 0.0032918331745082669_r8, 0.003611406931436089_r8, & + 0.0037845009180238224_r8, 0.0039746605089230223_r8, & + 0.0043387267342343125_r8, 0.0048076245288874676_r8, & + 0.005471354639429867_r8, 0.0061539788118885339_r8, & + 0.0077971527127354678_r8, 0.0092020176390901348_r8, & + 0.010404533257180267_r8, 0.011442487690838402_r8, 0.012376220041022935_r8, & + 0.013234376143542401_r8, 0.014076076127618667_r8, 0.014861703411814402_r8, & + 0.015569316504872002_r8, 0.016233656101282669_r8, 0.016785240812063999_r8, & + 0.018028591983328002_r8, 0.018901375746685867_r8, 0.019437723310760536_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,65) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,65) / & + 0.0026851898087096025_r8, 0.0026506954269823997_r8, & + 0.0028996905978879994_r8, 0.0031187433115327993_r8, & + 0.003946100683212799_r8, 0.0033188849995391995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,65) / & + 0.0027734060723100169_r8, 0.0026969270309194437_r8, & + 0.002933473428669999_r8, 0.0033922101646885546_r8, 0.00395388312819492_r8, & + 0.0040735590633358288_r8, 0.0049721883956353507_r8, & + 0.0063527087567733318_r8, 0.0056937798538599987_r8, & + 0.004916560814766666_r8, 0.0049245552225955546_r8, & + 0.0040421893957866654_r8, 0.0034080567069866663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,65) / & + 0.0028291764581456448_r8, 0.0027472506779173639_r8, & + 0.0029909124039748112_r8, 0.0044321206580933449_r8, & + 0.0050858983066483458_r8, 0.0060044545017310562_r8, & + 0.0076759094813122269_r8, 0.0086111307829014987_r8, & + 0.0077896458957090369_r8, 0.0063809590970070277_r8, & + 0.0059313231281364629_r8, 0.0042527640289211797_r8, & + 0.0035424363110929699_r8, 0.0035027451131671699_r8, & + 0.0038264077750144007_r8, 0.0033789041061887998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,65) / & + 0.0027303043334425225_r8, 0.0027840159140447118_r8, & + 0.0031039822633990282_r8, 0.004219499522901596_r8, & + 0.0046210164728882931_r8, 0.0053950257608963515_r8, & + 0.0068612683074252825_r8, 0.0071876188141247743_r8, & + 0.0066744451714502951_r8, 0.005501029075396225_r8, & + 0.0044086669058670215_r8, 0.0035198820614068737_r8, & + 0.0029732498145047703_r8, 0.0031182810893216942_r8, & + 0.003206913443816177_r8, 0.0030155074503391993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,65) / & + 0.0025725938344443784_r8, 0.0025839086862903837_r8, & + 0.0029459839453625423_r8, 0.0032507832489661629_r8, & + 0.0034183132259108869_r8, 0.0036957463762125431_r8, & + 0.0054138057601941071_r8, 0.0057309724600015013_r8, & + 0.0056670742462820081_r8, 0.004696716060449818_r8, & + 0.0039840996742260418_r8, 0.0034510298130315058_r8, & + 0.0028711655839312061_r8, 0.0030009190860354174_r8, & + 0.0032055896256045035_r8, 0.0029949382220024762_r8, & + 0.002779233978968663_r8, 0.0027162185241777982_r8, & + 0.0027793091607085031_r8, 0.0028235160237347554_r8, & + 0.0027951762669018547_r8, 0.0027665404819683316_r8, & + 0.0027533244718761082_r8, 0.0028324297587646028_r8, & + 0.0033872127329395911_r8, 0.003422834781047799_r8, & + 0.0035563039840150043_r8, 0.0037048048360915826_r8, 0.00401064791284999_r8, & + 0.0040121675237665185_r8, 0.0040070363700223993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,65) / & + 0.0027312299983383707_r8, 0.0029313488481423275_r8, & + 0.0029348209417509137_r8, 0.0033491724764171068_r8, & + 0.0036767216708686488_r8, 0.0030970624067339319_r8, & + 0.005000446086110868_r8, 0.0048877608662685765_r8, & + 0.0045192680225105914_r8, 0.0036906100453029931_r8, & + 0.0034063041985220215_r8, 0.0031678119505244707_r8, & + 0.002772940213766189_r8, 0.002870970493052761_r8, 0.0030121088436355428_r8, & + 0.0029014076772838722_r8, 0.0027156732152869142_r8, & + 0.0026768488958454524_r8, 0.0027421422925367838_r8, & + 0.0028061280176092974_r8, 0.002836159372717327_r8, & + 0.0028732701914168891_r8, 0.0029288236891542654_r8, & + 0.0030025944053055213_r8, 0.0034654650662423441_r8, & + 0.0035208889241209579_r8, 0.0036858109548792524_r8, & + 0.0040582641755399426_r8, 0.0042322904673360003_r8, & + 0.0041995874038343517_r8, 0.0040722246973739461_r8, & + 0.0040988741431229637_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,65) / & + 0.0026748996131839998_r8, 0.0033200202809173327_r8, & + 0.0032340350773760003_r8, 0.0035583790482773331_r8, & + 0.0036064214276266661_r8, 0.0037114938638506665_r8, & + 0.0053530885310293323_r8, 0.0041706993258666661_r8, & + 0.0035986382842026661_r8, 0.0029146482275839991_r8, & + 0.0027232662901759989_r8, 0.0026011450635946669_r8, & + 0.0024714723347626661_r8, 0.0025429104726186662_r8, & + 0.0025763131298133339_r8, 0.002601886315349332_r8, & + 0.0025719582757546661_r8, 0.0025865516696746667_r8, & + 0.0026625763027626668_r8, 0.0027714476542293328_r8, & + 0.0028748522740053325_r8, 0.0029911361430186656_r8, & + 0.0031255806800213328_r8, 0.0032658625745919999_r8, & + 0.0034931025656319988_r8, 0.0036197176309759999_r8, & + 0.0038297235187199998_r8, 0.0042154060723200003_r8, & + 0.0042813311502506671_r8, 0.0042155276839359983_r8, 0.004184864183616_r8, & + 0.0042021826704822856_r8, 0.0042256214480639997_r8, & + 0.0042202010446080003_r8, 0.0042404233190399994_r8, & + 0.0042591862540799991_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,66) / & + 0.0026612540096301318_r8, 0.0022846359560000002_r8, & + 0.0025483025199999998_r8, 0.0029624110400000001_r8, & + 0.0028508338800000001_r8, 0.0031361419200000001_r8, & + 0.0038879772800000001_r8, 0.0044653329199999996_r8, & + 0.0048906740400000001_r8, 0.0054066247999999999_r8, 0.00565449084_r8, & + 0.0058753986399999996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,66) / & + 0.0022772730278075421_r8, 0.002272935099876543_r8, 0.002202330350679012_r8, & + 0.0025052719548148156_r8, 0.0025255149027777774_r8, & + 0.0028974826829012341_r8, 0.0035341688698765431_r8, & + 0.004009072103950617_r8, 0.004437454808641975_r8, 0.0048986027301851851_r8, & + 0.0052110065286419755_r8, 0.0054646414101234561_r8, & + 0.0058178835677777773_r8, 0.0061089119133333333_r8, & + 0.0062640778016666669_r8, 0.0063735758410846562_r8, & + 0.0065467606423915345_r8, 0.0067445887181375652_r8, & + 0.0068798569569523812_r8, 0.0070043926148571434_r8, & + 0.0071588319500952378_r8, 0.0073389604594497346_r8, & + 0.0075278737732910042_r8, 0.007722928367555555_r8, & + 0.0079196486355555557_r8, 0.0081210006176296277_r8, & + 0.0083011632011851851_r8, 0.008718330871259259_r8, & + 0.0090589809607407416_r8, 0.0093710170417777763_r8, & + 0.0095900915705185181_r8, 0.0097898904029629641_r8, & + 0.009945138802370369_r8, 0.010114914697777777_r8, 0.010247542582222222_r8, & + 0.010336771028444443_r8, 0.010407777701333333_r8, 0.01050904721740741_r8, & + 0.01069867708_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,66) / & + 0.0011958697451851851_r8, 0.0012226523313580249_r8, & + 0.0011907203145679012_r8, 0.001271650504197531_r8, & + 0.0014138191649382713_r8, 0.0016761720232098766_r8, & + 0.0020599294108641975_r8, 0.0025137911654320986_r8, & + 0.0028292931738271607_r8, 0.0030510515081481485_r8, & + 0.0033646860390123454_r8, 0.0035789744632098762_r8, & + 0.0041417415906172834_r8, 0.0046608263846913568_r8, & + 0.0049707999199999995_r8, 0.0052535193772839505_r8, & + 0.0056854983629629633_r8, 0.0059733395160493823_r8, & + 0.0061860932804938262_r8, 0.0063864310928395066_r8, 0.00653357353037037_r8, & + 0.0066653231456790122_r8, 0.0068211835599999993_r8, & + 0.0070129698044444442_r8, 0.0071790088958024675_r8, & + 0.0073592667022222211_r8, 0.0075367972518518506_r8, & + 0.0079965757669135801_r8, 0.0083519142143209883_r8, & + 0.0086547321674074074_r8, 0.0089964435758024697_r8, & + 0.0093071474612345679_r8, 0.0095708685703703687_r8, & + 0.0097853696281481484_r8, 0.0099743546562962963_r8, & + 0.010135697319012345_r8, 0.010268870654814815_r8, 0.010423686391111112_r8, & + 0.010624051938271603_r8, 0.01062572480985185_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,66) / & + 0.00044010528641975308_r8, 0.00045473077876543206_r8, & + 0.00039248460938271596_r8, 0.00045017302419753081_r8, & + 0.00053102925432098758_r8, 0.00060232621827160493_r8, & + 0.0008079798701234568_r8, 0.0014482103353086421_r8, & + 0.0017036942044444444_r8, 0.0018617179343209875_r8, & + 0.0020120868553086418_r8, 0.002149069105679012_r8, & + 0.0025686044044444445_r8, 0.0029587407995061727_r8, & + 0.0033123227086419753_r8, 0.0036581111348148146_r8, & + 0.0042200739525925929_r8, 0.0047214454449382715_r8, & + 0.0051170640883950614_r8, 0.00550391853037037_r8, 0.0057911032928395058_r8, & + 0.0060261558483950617_r8, 0.0062061825313580246_r8, & + 0.006394501923950616_r8, 0.0065548091535802466_r8, & + 0.0067217172691358016_r8, 0.0068782525639506159_r8, & + 0.0073387799190123464_r8, 0.0077445957293827148_r8, & + 0.0081139402582716038_r8, 0.0084525915920987647_r8, & + 0.0087681675599999981_r8, 0.0091037033496296285_r8, & + 0.0094013348923456773_r8, 0.0096618942325925918_r8, & + 0.0098855755140740739_r8, 0.010092320068641972_r8, 0.010269850618271605_r8, & + 0.010399187304691358_r8, 0.010469495060246914_r8, 0.010441476689968253_r8, & + 0.010405381413333331_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,66) / & + 0.0002793912795061728_r8, 0.00027711702469135802_r8, & + 0.00024539764148148144_r8, 0.000257952267654321_r8, & + 0.00028085197975308643_r8, 0.00029556992148148143_r8, & + 0.00038667878814814815_r8, 0.00063489613580246912_r8, & + 0.00083889494370370369_r8, 0.0010268445387654321_r8, & + 0.0011087639367901236_r8, 0.0011714076385185184_r8, & + 0.0013115331679012345_r8, 0.0014558004296296298_r8, & + 0.0016182709748148148_r8, 0.0018209200217283949_r8, & + 0.0022483320079012344_r8, 0.0028251884212345678_r8, & + 0.0033396599911111112_r8, 0.0037874663111111106_r8, & + 0.0042859903624691362_r8, 0.0047645545920987648_r8, & + 0.0051031966809876542_r8, 0.0054342394306172827_r8, & + 0.0057372422824691349_r8, 0.0060660939817283937_r8, & + 0.006249365638024691_r8, 0.006687289119012345_r8, 0.0071249999664197523_r8, & + 0.007575404114074074_r8, 0.0080157867486419735_r8, & + 0.0082944754128395047_r8, 0.0085701317372839491_r8, & + 0.0089122869027160496_r8, 0.0093056960059259234_r8, & + 0.0096924949782716038_r8, 0.009989229761975308_r8, 0.010164236443456789_r8, & + 0.010277947203139331_r8, 0.010382482856851852_r8, 0.01043209004_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,66) / & + 0.00023828828395061724_r8, 0.00023400787753086416_r8, & + 0.00022335770864197532_r8, 0.00022423597777777778_r8, & + 0.00022602949580246914_r8, 0.0002300972686419753_r8, & + 0.00026401694716049375_r8, 0.00033169914024691355_r8, & + 0.00045117147753086418_r8, 0.00053537437530864205_r8, & + 0.00056772241432098767_r8, 0.00059648341728395053_r8, & + 0.00064850468493827162_r8, 0.00069933335555555549_r8, & + 0.00075536692641975313_r8, 0.00083145276839506177_r8, & + 0.0010152051614814813_r8, 0.0013679365362962962_r8, & + 0.0017794564735802466_r8, 0.0022358605861728395_r8, & + 0.0027737126049382716_r8, 0.0033112780306172838_r8, & + 0.0038253798029629629_r8, 0.0043172290088888876_r8, & + 0.0047926499595061728_r8, 0.0052446534814814816_r8, & + 0.0055717486424691348_r8, 0.0062470636483950613_r8, & + 0.0067445430217283947_r8, 0.007219400031111111_r8, & + 0.0077969405698765414_r8, 0.008178016925432097_r8, & + 0.0083774129096913577_r8, 0.0086431367035802471_r8, & + 0.0090733915082716055_r8, 0.0095973044713580247_r8, & + 0.0099679444472222205_r8, 0.010160981069567903_r8, 0.010213553566666665_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,66) / & + 0.00016824863160493826_r8, 0.00017123474666666665_r8, & + 0.00018626701629629626_r8, 0.00022611270024691351_r8, & + 0.00022593704641975311_r8, 0.00022742548148148149_r8, & + 0.00021202341432098761_r8, 0.00024306791703703701_r8, & + 0.00030795813876543214_r8, 0.00036403793432098765_r8, & + 0.00040228424395061729_r8, 0.00044299895209876539_r8, & + 0.00049781219111111113_r8, 0.00052468722666666669_r8, & + 0.00056867464296296295_r8, 0.00060977763851851848_r8, & + 0.00070851357925925918_r8, 0.00092180355012345667_r8, & + 0.0012402546938271608_r8, 0.0016944122864197531_r8, & + 0.0022270039353086421_r8, 0.0027871917249382718_r8, & + 0.0033696875506172841_r8, 0.0039540138740740745_r8, & + 0.0045354557767901234_r8, 0.0050493911402469133_r8, & + 0.0054796228325925929_r8, 0.0063167242582716047_r8, & + 0.006866391308148148_r8, 0.0073308107822222211_r8, & + 0.0078924685170370362_r8, 0.0083056525432098748_r8, & + 0.008500572821728395_r8, 0.0086916749407407404_r8, & + 0.0091028805501234562_r8, 0.0096020332572839488_r8, & + 0.009983562614814815_r8, 0.010185552959876543_r8, 0.010210027778333334_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,66) / & + 0.00016184188938271602_r8, 0.00017733640592592595_r8, & + 0.00020757659901234567_r8, 0.00023633760197530864_r8, & + 0.00023209417530864194_r8, 0.00023410032691358024_r8, & + 0.00020999877283950618_r8, 0.0001979248834567901_r8, & + 0.00022349638271604939_r8, 0.00025815565629629632_r8, & + 0.00029848207703703699_r8, 0.00038022582123456786_r8, & + 0.00048211428592592596_r8, 0.00053712166864197533_r8, & + 0.00058409520000000004_r8, 0.00063063421925925911_r8, & + 0.00071866452148148141_r8, 0.00088681145876543215_r8, & + 0.0011600640992592589_r8, 0.0015724623056790124_r8, & + 0.0021175900908641976_r8, 0.0027177252587654321_r8, & + 0.0033562084306172839_r8, 0.0040209564720987655_r8, & + 0.0046931374439506167_r8, 0.0052820954814814811_r8, & + 0.0057280805486419747_r8, 0.0066274743683950614_r8, & + 0.0071875974434567891_r8, 0.0076562418543209866_r8, & + 0.0081640200888888868_r8, 0.0084928995229629645_r8, & + 0.0086531975076543192_r8, 0.008814743559012345_r8, & + 0.0092141526271604934_r8, 0.0095801689782716044_r8, & + 0.0098843789549206348_r8, 0.010166407848333335_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,66) / & + 0.00017800204148148144_r8, 0.0001942638879012346_r8, & + 0.00018778318617283947_r8, 0.00019146267160493827_r8, & + 0.00019090797530864196_r8, 0.00020901880938271604_r8, & + 0.00024206021876543209_r8, 0.00017593117530864197_r8, & + 0.0001790374745679012_r8, 0.00020004197432098766_r8, & + 0.00023233454370370364_r8, 0.00032601350320987654_r8, & + 0.00044418230419753082_r8, 0.00051208637580246914_r8, & + 0.00056947895259259248_r8, 0.0006275556548148148_r8, & + 0.00072557973530864195_r8, 0.00086511358864197537_r8, & + 0.0011187484701234568_r8, 0.0015327183160493828_r8, & + 0.0020854639303703702_r8, 0.0027507111985185179_r8, & + 0.0034936251930864195_r8, 0.0042524867061728387_r8, & + 0.0050036934103703697_r8, 0.0056437019970370372_r8, & + 0.0060861277629629621_r8, 0.0069496234874074064_r8, & + 0.0074799223916049394_r8, 0.0079369736498765414_r8, & + 0.0084010140814814796_r8, 0.0086709662790123449_r8, & + 0.0088010980301234543_r8, 0.0089389585496296286_r8, & + 0.0093004079012345663_r8, 0.0095440755836419741_r8, & + 0.0096488880902380926_r8, 0.0099960811338435391_r8, & + 0.010282696459999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,66) / & + 0.00016218395209876546_r8, 0.00016834108098765432_r8, & + 0.00013123189876543208_r8, 0.00011799314716049381_r8, & + 0.00012151546864197532_r8, 0.00013267410913580244_r8, & + 0.00016654756296296297_r8, 0.0001395153634567901_r8, & + 0.00014908387456790125_r8, 0.00015390048740740743_r8, & + 0.00015524100345679011_r8, 0.00020771527308641971_r8, & + 0.0003367376316049382_r8, 0.0004344104044444445_r8, & + 0.00051599698469135798_r8, 0.00059075155555555559_r8, & + 0.00068914543358024685_r8, 0.00080849758666666656_r8, & + 0.0010263730469135804_r8, 0.0014234246558024689_r8, & + 0.0020121977945679009_r8, 0.0027788343007407409_r8, & + 0.0036414147762962958_r8, 0.004546078210864197_r8, & + 0.0053579409550617279_r8, 0.0060422975106172849_r8, & + 0.0065197708375308644_r8, 0.0073663483249382707_r8, & + 0.0078841665624691352_r8, 0.0083477539920987654_r8, & + 0.0087142141002469146_r8, 0.0088825551812345676_r8, & + 0.0089684036780246917_r8, 0.0090113353553880077_r8, & + 0.0091944912848677257_r8, 0.0094824368067037024_r8, & + 0.0095703099119576716_r8, 0.01004774791_r8, 0.01027558248_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,66) / & + 0.00015586965925925927_r8, 0.00015563853580246914_r8, & + 0.00011913951950617282_r8, 0.00010468968098765431_r8, & + 0.00011435064148148147_r8, 0.00011609793481481481_r8, & + 0.00012658169481481483_r8, 0.00011935215308641975_r8, & + 0.00012681281827160493_r8, 0.00013069569234567901_r8, & + 0.00012854162172839503_r8, 0.00014265864246913582_r8, & + 0.00019949652296296296_r8, 0.00030450977679012344_r8, & + 0.00043292196938271598_r8, 0.00054495213135802463_r8, & + 0.00066182664098765425_r8, 0.00076227289530864193_r8, & + 0.00095823785185185188_r8, 0.0013517394044444445_r8, & + 0.0019763644138271605_r8, 0.0028478107851851848_r8, & + 0.0038089423027160493_r8, 0.0048588529624691368_r8, & + 0.0057274426479012337_r8, 0.0063768440918518512_r8, & + 0.0068402373777777768_r8, 0.0076699428528395064_r8, & + 0.0082100598814814803_r8, 0.0086557860903703678_r8, & + 0.0089404100049382713_r8, 0.0090786773017283943_r8, & + 0.0091455829200000009_r8, 0.009146735070432099_r8, & + 0.0091537978730952367_r8, 0.0091014013600000006_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,66) / & + 0.00016308071111111109_r8, 0.00016269242370370367_r8, & + 0.00013541061086419756_r8, 9.3586510123456777e-05_r8, & + 9.8523307160493822e-05_r8, 0.00010648319901234566_r8, & + 0.00012390066271604939_r8, 0.00014209470123456786_r8, & + 0.00013677886172839507_r8, 0.00013536438617283949_r8, & + 0.00013315484592592595_r8, 0.0001285693565432099_r8, & + 0.00017184491259259258_r8, 0.00025472578419753083_r8, & + 0.0004287340123456789_r8, 0.00061586080790123449_r8, & + 0.00079675651506172821_r8, 0.0009037112059259258_r8, & + 0.0011530564360493828_r8, 0.0016678423338271605_r8, & + 0.0024449163753086419_r8, 0.0034245562592592595_r8, & + 0.0044193208622222216_r8, 0.0053900578706172842_r8, & + 0.0061119581204938265_r8, 0.0066362663046913564_r8, & + 0.0070522700370370369_r8, 0.0078802004839506161_r8, & + 0.0085085604483950607_r8, 0.0089441819397530868_r8, & + 0.0091211485481481475_r8, 0.0091965132849382708_r8, & + 0.009266894999999999_r8, 0.0093121714248324515_r8, & + 0.0092818999310264553_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,66) / & + 0.00015664221388185016_r8, 0.00015555677628024362_r8, & + 0.00013783119258972177_r8, 0.00010478349418366419_r8, & + 0.0001083886976461432_r8, 0.00011529867094922796_r8, & + 0.0001114027252720329_r8, 0.00013299518041827817_r8, & + 0.000129574113691786_r8, 0.00012698650798081314_r8, & + 0.0001254068086141893_r8, 0.00012604644148656458_r8, & + 0.00021733949690740407_r8, 0.00038317885618143865_r8, & + 0.00066580936310691016_r8, 0.00095064951086422378_r8, & + 0.001198836756753001_r8, 0.0013554305135990647_r8, & + 0.0017926098904604312_r8, 0.0025532302897862446_r8, & + 0.0035422383901786737_r8, 0.004580973100694702_r8, & + 0.0055066478553148163_r8, 0.0062725597629484618_r8, & + 0.0068615647243345504_r8, 0.0073483737972479465_r8, & + 0.0077699887742148453_r8, 0.0085733410105485516_r8, & + 0.0091700894062532422_r8, 0.0095397644979870189_r8, & + 0.0097168216610455122_r8, 0.009843040990313327_r8, & + 0.0099763147986873749_r8, 0.010094426089054464_r8, 0.010203106878789893_r8, & + 0.01029000661167336_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,66) / & + 0.00016352394057033741_r8, 0.00015344689178379588_r8, & + 0.00015537308823192753_r8, 0.00015021290932614318_r8, & + 0.00015097325002935306_r8, 0.00016951542531163128_r8, & + 0.00013152880377926583_r8, 0.00012771696238717364_r8, & + 0.00012232361233240494_r8, 0.00011655516086405269_r8, & + 0.00011973845394149137_r8, 0.00013703367047050537_r8, & + 0.0003421431785684016_r8, 0.00074760753090012168_r8, & + 0.001182836687293498_r8, 0.0014948196846345744_r8, & + 0.0017783659396756017_r8, 0.0021441303694237236_r8, & + 0.002865612593761553_r8, 0.0038084046521136717_r8, 0.004809215775058725_r8, & + 0.0056969490286224072_r8, 0.0064839117943206728_r8, & + 0.0071524134784588375_r8, 0.0077061544057925261_r8, & + 0.0081930867300041739_r8, 0.0086051001502595419_r8, & + 0.0093595811611166813_r8, 0.0097641128288524625_r8, & + 0.010018837102303814_r8, 0.010225710600833156_r8, 0.010464579236153572_r8, & + 0.010701268228124785_r8, 0.01081289638123204_r8, 0.010862419905701108_r8, & + 0.01083361186369099_r8, 0.010837198390788031_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,66) / & + 0.00021018392158806914_r8, 0.00017495922166637038_r8, & + 0.00016631181185987158_r8, 0.00021499979853048889_r8, & + 0.00019564103165645435_r8, 0.00022520310704146173_r8, & + 0.0001777534887274667_r8, 0.0001797750986087901_r8, & + 0.00019440266329983209_r8, 0.00019917620286253823_r8, & + 0.00021924412084677527_r8, 0.00024000002125135799_r8, & + 0.00061517271158324945_r8, 0.001313337271750044_r8, & + 0.0017539423824292741_r8, 0.0020817289605167409_r8, & + 0.0025027318643885826_r8, 0.0031254088765260645_r8, & + 0.0039576135808660545_r8, 0.0048736251283490765_r8, & + 0.0057658854058127793_r8, 0.0065406700389162272_r8, & + 0.0072523190545217969_r8, 0.0078748373014853514_r8, & + 0.0084423592922009683_r8, 0.0089406173297051656_r8, & + 0.0093847470272455519_r8, 0.010184912919487289_r8, 0.010515218571667713_r8, & + 0.010588229382983783_r8, 0.010800868872595239_r8, 0.011124654568299773_r8, & + 0.011450726482508838_r8, 0.011516307083685173_r8, 0.011448906164187313_r8, & + 0.01144322709611475_r8, 0.011428117376710989_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,66) / & + 0.00025197687995301399_r8, 0.00021329181590734489_r8, & + 0.00019988937712334481_r8, 0.00025981978857476213_r8, & + 0.0002476197084964872_r8, 0.00027859423368617621_r8, & + 0.00017401108791572018_r8, 0.0002632834641123556_r8, & + 0.00032335727614335479_r8, 0.00043755929155961165_r8, & + 0.00057826835257089051_r8, 0.00080324180030725287_r8, & + 0.001449294503765123_r8, 0.0020475948142222224_r8, & + 0.0024015184754441481_r8, 0.0026785904568239934_r8, & + 0.0031208599058821793_r8, 0.0036925208009784892_r8, & + 0.0044509444047594934_r8, 0.0053657408251676451_r8, & + 0.0062495075663170389_r8, 0.0070555291317054162_r8, & + 0.007790986581125689_r8, 0.0084389145229319361_r8, & + 0.0090528785890049077_r8, 0.0095801183968722697_r8, & + 0.010056605430381459_r8, 0.010912728952112989_r8, 0.011384924999048536_r8, & + 0.011526306939702469_r8, 0.011734379801824065_r8, 0.012066826468550149_r8, & + 0.012390900747591414_r8, 0.012531993129382728_r8, 0.012501106850703552_r8, & + 0.012494622189824178_r8, 0.012500704265395107_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,66) / & + 0.0002721837592207407_r8, 0.0002625313644703868_r8, & + 0.00026845364234337444_r8, 0.00029253298144711111_r8, & + 0.00032439391822116866_r8, 0.00037594987210772018_r8, & + 0.0002221198520851358_r8, 0.00041685490764905355_r8, & + 0.00085996983811476534_r8, 0.0012575888199593086_r8, & + 0.0015933567253357697_r8, 0.0018622579817044284_r8, & + 0.0022555729825366254_r8, 0.0025720934848258762_r8, & + 0.0028453675859030775_r8, 0.0031204550976468154_r8, & + 0.0035647980973613829_r8, 0.0041105658442922135_r8, & + 0.0048920884551552912_r8, 0.0058354063202344696_r8, & + 0.0067233577735708316_r8, 0.0074847492305788318_r8, & + 0.0082405168190640334_r8, 0.0089560909635352758_r8, & + 0.0096073808476061229_r8, 0.010155857233254056_r8, 0.010642689133522499_r8, & + 0.01161666282069228_r8, 0.012259356220021137_r8, 0.0125726630831545_r8, & + 0.012770244504827917_r8, 0.013024684384995095_r8, 0.01323293967957913_r8, & + 0.01338845686015855_r8, 0.01345230498381636_r8, 0.013354844203112467_r8, & + 0.013140221885950839_r8, 0.013329579834569999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,66) / & + 0.00031166301893357037_r8, 0.00034087621031727406_r8, & + 0.00039468810122121487_r8, 0.00042658413671158512_r8, & + 0.00050739140120438519_r8, 0.00060284103264379263_r8, & + 0.00055514602630305193_r8, 0.00099374930461250378_r8, & + 0.0016130689619470221_r8, 0.0018888057173544297_r8, & + 0.0021039817384606815_r8, 0.0022585493302594369_r8, & + 0.0024884034895670524_r8, 0.0027272720050730667_r8, & + 0.0030593127154657177_r8, 0.0034278639532122064_r8, & + 0.0040732131602571851_r8, 0.0047378669211185784_r8, & + 0.005481181671187438_r8, 0.0063491711678309928_r8, & + 0.0071783607768163568_r8, 0.0079313456894207993_r8, & + 0.008742363500990339_r8, 0.0095209725557513485_r8, 0.010241381779025067_r8, & + 0.010797457857951763_r8, 0.011305028115429926_r8, 0.012425014178074784_r8, & + 0.013134143532348921_r8, 0.013541876217804326_r8, 0.013744973478554787_r8, & + 0.013958122461891554_r8, 0.014191446432910461_r8, 0.014307571849598574_r8, & + 0.014284950150675992_r8, 0.014178921809415036_r8, 0.013767551102181334_r8, & + 0.014178294534912001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,66) / & + 0.00036865731047024195_r8, 0.0004173959791251226_r8, & + 0.00050912116391597028_r8, 0.000726527788689962_r8, & + 0.00087249639024518843_r8, 0.0010597196770704724_r8, & + 0.0013263968899795886_r8, 0.0016828324226246978_r8, & + 0.0018912582673369022_r8, 0.0020242257671773366_r8, & + 0.0021334053330524573_r8, 0.0022625133241060079_r8, & + 0.0025000586678064324_r8, 0.0028364049624069925_r8, & + 0.0033412212895991308_r8, 0.00385886553541947_r8, 0.0046566210535801929_r8, & + 0.0055069994896236232_r8, 0.006326996664190814_r8, & + 0.0071962767971135988_r8, 0.0079900491042827308_r8, & + 0.0087959689679541729_r8, 0.0096281384394646102_r8, & + 0.010422541627877754_r8, 0.011169987459383806_r8, 0.011737508434142339_r8, & + 0.01225006851934919_r8, 0.013478802518711953_r8, 0.014314114026221968_r8, & + 0.014882612248397691_r8, 0.015065827583790443_r8, 0.015071790030057363_r8, & + 0.015235076940271682_r8, 0.01529960464907996_r8, 0.015168187623837459_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,66) / & + 0.00036045657145879174_r8, 0.00041328696498578422_r8, & + 0.00050423419265864685_r8, 0.00064644817775702372_r8, & + 0.00076329793461912745_r8, 0.00097394022419120972_r8, & + 0.0015555103204262452_r8, 0.0019744238120394798_r8, & + 0.0020177570387533953_r8, 0.0021117546384930761_r8, & + 0.0021969856227129938_r8, 0.0023221149608993181_r8, & + 0.0026152967299264791_r8, 0.0030434510545656627_r8, & + 0.0036310962615556212_r8, 0.0042271492167633637_r8, & + 0.0053756399332990932_r8, 0.0062047515677632259_r8, & + 0.0070848608091763875_r8, 0.0079814907631699222_r8, & + 0.0087610402598929365_r8, 0.0096609256529829914_r8, & + 0.010747960344054886_r8, 0.011551694933593388_r8, 0.012295344883429187_r8, & + 0.01290725208337077_r8, 0.013376381363882294_r8, 0.014581496213994504_r8, & + 0.015444482358427547_r8, 0.016077908779798488_r8, 0.016304720925079817_r8, & + 0.016226378911388947_r8, 0.016243314793156684_r8, 0.0162645394596003_r8, & + 0.016397089203185063_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,66) / & + 0.00027044905971211847_r8, 0.00033535895614834562_r8, & + 0.0004032132737142915_r8, 0.0004513983276073875_r8, & + 0.00067964401779354081_r8, 0.0009612076041124345_r8, & + 0.0016561042538842466_r8, 0.0022707322699756245_r8, & + 0.0022755865858921881_r8, 0.0024326223794771751_r8, & + 0.0026023510154997332_r8, 0.0028128771262746076_r8, & + 0.0031200120816840295_r8, 0.0034734354593579453_r8, & + 0.003949980734992118_r8, 0.0044999773809703495_r8, & + 0.0058114915205698357_r8, 0.006839147547474566_r8, & + 0.0077671309401908546_r8, 0.0086694368585506758_r8, & + 0.0095152284596414401_r8, 0.010397772272220721_r8, 0.011434646194103622_r8, & + 0.012245595478492721_r8, 0.01294236223357665_r8, 0.013555929197008669_r8, & + 0.014071826263146785_r8, 0.01525085471506718_r8, 0.016161237896796365_r8, & + 0.016832128230150199_r8, 0.017088478552651099_r8, 0.017151093922711462_r8, & + 0.017143109501449795_r8, 0.017141067685606869_r8, 0.01709669176339244_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,66) / & + 0.00017616870858930042_r8, 0.00026354016227331684_r8, & + 0.00030793193491239506_r8, 0.00042697262726110289_r8, & + 0.00072796749084694647_r8, 0.0011160184866928723_r8, & + 0.0019789024181022553_r8, 0.0025273286320865187_r8, & + 0.0026531967187447577_r8, 0.0028653806177981892_r8, & + 0.0029907277386255799_r8, 0.0031199546839300739_r8, & + 0.003295876619231078_r8, 0.0036920711335907816_r8, & + 0.0041578145863686577_r8, 0.0047157415719523291_r8, & + 0.0061431605292208728_r8, 0.0073067240027921646_r8, & + 0.0082762825428811838_r8, 0.0092313225878421067_r8, & + 0.010118157237843357_r8, 0.011000920128587719_r8, 0.011885725753774092_r8, & + 0.012739177461719703_r8, 0.013430416861491884_r8, 0.014054931506034171_r8, & + 0.01460614077432533_r8, 0.015773323589458304_r8, 0.016743279708734026_r8, & + 0.017407140983132445_r8, 0.017668076316251523_r8, 0.017744836518538799_r8, & + 0.017765729990281216_r8, 0.017784917298927609_r8, 0.017743899490006109_r8, & + 0.017540622505571569_r8, 0.017534475999893332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,66) / & + 0.0001475489887452576_r8, 0.00025204928951446911_r8, & + 0.00028708562714706179_r8, 0.00038457866038975477_r8, & + 0.00058886528195579264_r8, 0.00087597922129488057_r8, & + 0.001771975162352382_r8, 0.0026322835853606853_r8, & + 0.0028868243477734711_r8, 0.0030868499844395451_r8, & + 0.0031966588212136954_r8, 0.0032763293295758091_r8, & + 0.003426086669299121_r8, 0.0037986043358856567_r8, & + 0.0043652870153888133_r8, 0.0049889762935370003_r8, & + 0.0065537716822006535_r8, 0.0077304900852472967_r8, & + 0.0087223139487539441_r8, 0.0097565937137160819_r8, & + 0.010695710892741697_r8, 0.011628305650529244_r8, 0.012471626758321745_r8, & + 0.013346415098039518_r8, 0.014052064633079951_r8, 0.014694424032357503_r8, & + 0.015243100157731908_r8, 0.016362702252389425_r8, 0.017338558039593215_r8, & + 0.01801339329263698_r8, 0.018310092678488984_r8, 0.018377116484575334_r8, & + 0.018412290844144051_r8, 0.01840576993963056_r8, 0.018353222764017109_r8, & + 0.018271959694853512_r8, 0.018348593720620802_r8, 0.018326234166967999_r8, & + 0.018092318836446401_r8, 0.018281515059662402_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,66) / & + 0.00015675488354702225_r8, 0.00026097338922951115_r8, & + 0.00031279789205522956_r8, 0.00049234372876799995_r8, & + 0.00074123714618500741_r8, 0.0010227015846087108_r8, & + 0.0018127295507617185_r8, 0.0027052018109620145_r8, & + 0.0030194672607895701_r8, 0.0032203803005904593_r8, & + 0.0033427789995719112_r8, 0.0034357170238701034_r8, & + 0.0036096445237380733_r8, 0.0039994453911457182_r8, & + 0.0046173638767606513_r8, 0.0052675686333667543_r8, & + 0.0069024471576042664_r8, 0.0080997566303392006_r8, & + 0.0091187331919082674_r8, 0.010221294834957867_r8, 0.011189780290408532_r8, & + 0.012122633662185597_r8, 0.012970613536889901_r8, 0.013878291760831392_r8, & + 0.014609013495728761_r8, 0.015275638315043355_r8, 0.015826277568967925_r8, & + 0.016929259883228649_r8, 0.017926014796092949_r8, 0.018607255739830856_r8, & + 0.018922389520749712_r8, 0.018987838216625981_r8, 0.019043064074032764_r8, & + 0.019024730553802358_r8, 0.018956550135249679_r8, 0.018876344504502856_r8, & + 0.018954730864271359_r8, 0.018914278838988798_r8, 0.018648147093708798_r8, & + 0.018859869682175998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,66) / & + 0.000184541733312_r8, 0.00019274358812586663_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,66) / & + 0.00020860709456213333_r8, 0.00027957651848533336_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,30,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,66) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,66) / & + 0.0026853656406527989_r8, 0.0026349362389503994_r8, & + 0.0028560901776661326_r8, 0.0031478978093919998_r8, & + 0.0039198353698261332_r8, 0.0033188849995391995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,66) / & + 0.0027696436239486488_r8, 0.002701625923172381_r8, 0.002928431381246468_r8, & + 0.0032429955211621723_r8, 0.0038854086700485925_r8, & + 0.0041521330616037582_r8, 0.0049659439642218955_r8, & + 0.0058150509556711104_r8, 0.0050243422943279008_r8, & + 0.0047920377504488878_r8, 0.0042838102100319986_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,66) / & + 0.0028187240035075214_r8, 0.0027463927031643989_r8, & + 0.0029395013152632883_r8, 0.0043051603475557443_r8, & + 0.0049273822611138364_r8, 0.0052220400555371849_r8, & + 0.0067600429373155541_r8, 0.0070279417628776658_r8, & + 0.0062339048847356443_r8, 0.0055426765273642667_r8, & + 0.0055150218062570665_r8, 0.0042412285916224_r8, 0.0035599168261631993_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,66) / & + 0.0027018902414387125_r8, 0.0027444530739195714_r8, & + 0.0031066134336786696_r8, 0.0041534959025533906_r8, & + 0.0044260745494335259_r8, 0.0052031378580646732_r8, & + 0.0057526158969110177_r8, 0.0058934387605344037_r8, & + 0.0056955210544250619_r8, 0.0048841196493832643_r8, & + 0.0040973924295011552_r8, 0.0034116104546758758_r8, & + 0.0029879217168103695_r8, 0.0030919675599579257_r8, & + 0.0031665417387791994_r8, 0.0030001882582259992_r8, & + 0.0026777660129514665_r8, 0.0026616556888511998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,66) / & + 0.0025535721000983559_r8, 0.0026320571086564022_r8, & + 0.0029994005715192622_r8, 0.003343270102403153_r8, & + 0.0034931973713645827_r8, 0.0038828251718020612_r8, & + 0.0049996460014180271_r8, 0.0052497952284456684_r8, & + 0.0051790006563820499_r8, 0.0044271715108295572_r8, & + 0.0038839528978996691_r8, 0.0034360451525095332_r8, & + 0.0028842691346709186_r8, 0.0030037830404374692_r8, & + 0.0031725143589333947_r8, 0.0029527102050202775_r8, & + 0.0027664418059347908_r8, 0.0027126831028617955_r8, & + 0.0027879992300623249_r8, 0.0028219174719913958_r8, & + 0.0027916436649010968_r8, 0.0027773356400376883_r8, & + 0.002753784960032632_r8, 0.0028407843296043849_r8, & + 0.0034280711892276943_r8, 0.0034494509964948543_r8, & + 0.003613450564239565_r8, 0.0037171261834797039_r8, & + 0.0040105887072298665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,66) / & + 0.0027064744218304004_r8, 0.0029776133681736171_r8, & + 0.002997228442455889_r8, 0.0032178191169130663_r8, & + 0.0035377928344004217_r8, 0.0030098542373962005_r8, & + 0.0049151768781389689_r8, 0.0047532961501542455_r8, & + 0.0044138877268837659_r8, 0.003702333997747569_r8, & + 0.0034392214496164085_r8, 0.0031686687008954206_r8, & + 0.0028011678838827459_r8, 0.0028889171587179203_r8, & + 0.0029971833503311019_r8, 0.0028778244960203586_r8, & + 0.0027080977383227259_r8, 0.0026776154619668276_r8, & + 0.002750935256870216_r8, 0.0028108175985871284_r8, 0.002839451097826766_r8, & + 0.0028815220502528792_r8, 0.0029306724662705253_r8, & + 0.0030159416742424239_r8, 0.0034823295209126192_r8, & + 0.0035288645936926285_r8, 0.0037069913700648375_r8, & + 0.0040985291883683444_r8, 0.0042130135839896299_r8, & + 0.0041861612236790725_r8, 0.0040793267070278723_r8, & + 0.0041017149469845344_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,66) / & + 0.0026254673867946664_r8, 0.0033588896698026668_r8, & + 0.0032794830755839997_r8, 0.0034165219937279997_r8, & + 0.0035509665307306652_r8, 0.0036532129446399993_r8, & + 0.0053819510212266665_r8, 0.0041605997707093332_r8, & + 0.0035940054607360001_r8, 0.0029247014545066658_r8, & + 0.0027227566795946664_r8, 0.0025994772471466675_r8, & + 0.0024765684405759995_r8, 0.002544392976128_r8, 0.0025760351604053331_r8, & + 0.0025991066212693323_r8, 0.0025682056887466661_r8, & + 0.0025854397920426673_r8, 0.0026628079439360002_r8, & + 0.0027714939824639998_r8, 0.0028768443880959997_r8, & + 0.0029938231806293327_r8, 0.0031285920152746673_r8, & + 0.0032696614898346668_r8, 0.003495187336191999_r8, & + 0.0036182814557013331_r8, 0.0038295845340159994_r8, & + 0.0042140162252800005_r8, 0.0042690541680639998_r8, & + 0.0042107732488533322_r8, 0.0041870474016746659_r8, & + 0.0042029570138331441_r8, 0.0042263163715839996_r8, & + 0.0042204095216639998_r8, 0.0042404233190399994_r8, & + 0.0042591862540799991_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,67) / & + 0.0026769763534940641_r8, 0.002622604088888889_r8, 0.00254942578_r8, & + 0.003007383042222222_r8, 0.0028556389366666663_r8, & + 0.0030845759655555552_r8, 0.0037873581453333337_r8, & + 0.0043938186999999997_r8, 0.0047662729950000001_r8, & + 0.0052482451399999989_r8, 0.0054767349449999997_r8, & + 0.0057292500333333335_r8, 0.0060581155999999987_r8, & + 0.0063174638533333334_r8, 0.006467855886666667_r8, & + 0.0065675764133333332_r8, 0.0067680159199999994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,67) / & + 0.0022846998952402277_r8, 0.0023211566979012342_r8, & + 0.0022126500130246912_r8, 0.0025926054198148149_r8, & + 0.002613237810802469_r8, 0.0029782279737654315_r8, & + 0.0036055629056790123_r8, 0.0040849591797530865_r8, & + 0.0044227021983950605_r8, 0.0048594954856790119_r8, & + 0.0051443389675308654_r8, 0.0054146840749382729_r8, & + 0.0057903310103174606_r8, 0.0060854754995502639_r8, & + 0.0062274112208641963_r8, 0.0063240325470634929_r8, & + 0.0065008575428148144_r8, 0.0066715181788148149_r8, & + 0.0067917985237037027_r8, 0.006915171300444444_r8, & + 0.0070827145432592574_r8, 0.0072394523022222216_r8, & + 0.0074379170900740737_r8, 0.007643096476592592_r8, & + 0.0078535676657777772_r8, 0.0080691004586666663_r8, & + 0.008251240534518518_r8, 0.008637994206666666_r8, 0.0089940787205925934_r8, & + 0.0093243393484444444_r8, 0.0095466657842222212_r8, & + 0.0097634840857777766_r8, 0.0099217514197777763_r8, & + 0.010104751274888888_r8, 0.010236031247333331_r8, 0.010343022455703704_r8, & + 0.010433242421555555_r8, 0.01055353663385185_r8, 0.010736718152_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,67) / & + 0.0012028311837037039_r8, 0.0012374534775308641_r8, & + 0.0011885754888888889_r8, 0.0013452771925925925_r8, & + 0.001512250022716049_r8, 0.0017902175817283948_r8, & + 0.0021992598755555554_r8, 0.0027190380399999994_r8, & + 0.0029507161930864192_r8, 0.0031176058187654329_r8, & + 0.0034030987575308642_r8, 0.0036283516785185184_r8, & + 0.0041683855027160486_r8, 0.0046944872049382719_r8, & + 0.0049628492730864199_r8, 0.0052219386681481477_r8, & + 0.0056868851037037036_r8, 0.0059477402819753094_r8, & + 0.0061444725683950608_r8, 0.006338246474567902_r8, & + 0.0064859713432098764_r8, 0.0066017457051851854_r8, & + 0.0067589466355555553_r8, 0.0069613738039506195_r8, & + 0.0071379706148148141_r8, 0.0073261051086419759_r8, & + 0.0075127049427160504_r8, 0.0079672878024691363_r8, & + 0.0083145646637037048_r8, 0.0086014720780246898_r8, & + 0.0089462158261728389_r8, 0.0092883155219753086_r8, & + 0.0095691027871604942_r8, 0.0097893726864197537_r8, & + 0.0099831835723456792_r8, 0.010157931395555554_r8, 0.010312765621728394_r8, & + 0.010480866334320986_r8, 0.010655297188218695_r8, 0.010578273315185183_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,67) / & + 0.00040665709975308637_r8, 0.00041631806024691363_r8, & + 0.0003439024587654321_r8, 0.0004299543441975308_r8, & + 0.00052669337827160486_r8, 0.0006360794879012345_r8, & + 0.000902777467160494_r8, 0.001547427012839506_r8, 0.0017966613037037036_r8, & + 0.0019190180617283947_r8, 0.0020750541298765433_r8, & + 0.0022383567195061725_r8, 0.002623528582716049_r8, & + 0.0030104384943209876_r8, 0.003352270086913581_r8, & + 0.0036835162251851856_r8, 0.0042794911708641976_r8, & + 0.0047871029965432096_r8, 0.0051660715061728393_r8, & + 0.0055466116553086415_r8, 0.0058287486814814814_r8, & + 0.0060560262439506175_r8, 0.0062225368271604927_r8, & + 0.006409478723950617_r8, 0.0065753236716049384_r8, & + 0.0067379236459259246_r8, 0.0069031954074074064_r8, & + 0.0073660894666666673_r8, 0.0077727188316049373_r8, & + 0.0081165565758024687_r8, 0.0084391956765432104_r8, & + 0.0087717083713580255_r8, 0.0091221377565432072_r8, & + 0.009428376336790124_r8, 0.0096899711101234576_r8, & + 0.0099160838103703706_r8, 0.010140338278024691_r8, 0.010314928937283951_r8, & + 0.010444302603456791_r8, 0.010497211385185185_r8, 0.010468006278499999_r8, & + 0.01043283888_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,67) / & + 0.0002419585244444444_r8, 0.00023795546617283949_r8, & + 0.00022094477975308644_r8, 0.00024316036641975315_r8, & + 0.00027343753925925928_r8, 0.00029838038271604939_r8, & + 0.00041110391506172844_r8, 0.00070896658123456786_r8, & + 0.00091832745333333314_r8, 0.0010617256908641974_r8, & + 0.0011478422908641974_r8, 0.0012255367520987656_r8, & + 0.0013595328874074072_r8, 0.0014921237920987654_r8, & + 0.0016494911313580246_r8, 0.0018481463649382716_r8, & + 0.0022789697333333333_r8, 0.0028257246276543213_r8, & + 0.003289737324444444_r8, 0.0037387732212345675_r8, 0.004219001539753086_r8, & + 0.004691741458271604_r8, 0.0050469874562962952_r8, & + 0.0053819223249382715_r8, 0.0056986723999999994_r8, & + 0.0060074440933333331_r8, 0.0062105091624691348_r8, & + 0.0066748824118518513_r8, 0.0071249722316049386_r8, & + 0.0075944671767901239_r8, 0.0080329083743209875_r8, & + 0.0083217479807407412_r8, 0.0085868373407407394_r8, & + 0.0088989129438888873_r8, 0.009273899196358024_r8, & + 0.0096449921741975312_r8, 0.0099725771518253976_r8, & + 0.010168340535696646_r8, 0.010289004149312169_r8, 0.010366861717671956_r8, & + 0.010360555018888889_r8, 0.010360575820000001_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,67) / & + 0.0002168862518518518_r8, 0.0002127075397530864_r8, & + 0.00020667984000000001_r8, 0.00021853185086419754_r8, & + 0.00022114816839506173_r8, 0.00022747170617283947_r8, & + 0.0002790584617283951_r8, 0.00039286365185185187_r8, & + 0.00047339630913580252_r8, 0.0005308351106172839_r8, & + 0.00056120473283950614_r8, 0.00059407973333333336_r8, & + 0.00064313337580246906_r8, 0.00069450749777777779_r8, & + 0.00075012504641975295_r8, 0.00082288271061728381_r8, & + 0.001009621218765432_r8, 0.0013547717441975307_r8, & + 0.0017296632360493823_r8, 0.0021693340103703706_r8, & + 0.0027006313679012344_r8, 0.0032315034582716044_r8, & + 0.0037485543659259257_r8, 0.0042484651580246913_r8, & + 0.0047332974558024687_r8, 0.0051795228913580245_r8, & + 0.0055353143407407398_r8, 0.006227538338765431_r8, & + 0.0067272827219753079_r8, 0.0072124016128395059_r8, & + 0.0077997787659259254_r8, 0.0081657673822222217_r8, & + 0.0083703393762962972_r8, 0.0086149881777777774_r8, & + 0.0089968411081481469_r8, 0.0094792789669135812_r8, & + 0.0098872026232098755_r8, 0.010141632569382716_r8, 0.01021855025769665_r8, & + 0.010264888727830688_r8, 0.010327102672_r8, 0.0103602014_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,67) / & + 0.00017998970320987653_r8, 0.0001774935698765432_r8, & + 0.00018402049629629631_r8, 0.00021649796444444446_r8, & + 0.00021694172148148145_r8, 0.00022017744987654314_r8, & + 0.0002255395140740741_r8, 0.00026775190222222216_r8, & + 0.00030285493283950608_r8, 0.00034980072938271605_r8, & + 0.00039703311901234569_r8, 0.0004680065101234568_r8, & + 0.00054294597975308636_r8, 0.00057998120246913578_r8, & + 0.00062317355407407403_r8, 0.00066654155950617282_r8, & + 0.00076379831012345675_r8, 0.00099634548740740745_r8, & + 0.0013509535846913578_r8, 0.0018143561155555554_r8, & + 0.0023842603353086416_r8, 0.0029419797264197533_r8, & + 0.0035190302834567904_r8, 0.0041025430523456792_r8, & + 0.0047011712953086426_r8, 0.005200647575308642_r8, 0.005648204281975309_r8, & + 0.0064631733254320988_r8, 0.0070247478558024684_r8, & + 0.0074537314814814813_r8, 0.0079641999930864203_r8, & + 0.0083384350943209885_r8, 0.0085057777219753085_r8, & + 0.0086691357812345663_r8, 0.0090326467540740724_r8, & + 0.0094787889851851853_r8, 0.0098754523066666659_r8, & + 0.010176636216913578_r8, 0.010249801483835979_r8, 0.010298921326666663_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,67) / & + 0.00019235018567901235_r8, 0.0001949110335802469_r8, & + 0.00020855656246913579_r8, 0.0002237459960493827_r8, & + 0.0002199648162962963_r8, 0.00022173059950617285_r8, & + 0.0001962053249382716_r8, 0.00020118834666666666_r8, & + 0.00022138853679012346_r8, 0.00024835602172839505_r8, & + 0.00029460844790123457_r8, 0.00040218254962962952_r8, & + 0.0005268043175308642_r8, 0.00057868691111111106_r8, & + 0.00062973746024691361_r8, 0.00068395902320987645_r8, & + 0.00077475356197530861_r8, 0.00097354746962962952_r8, & + 0.0013072157817283949_r8, 0.0017753794558024688_r8, & + 0.002360500843950617_r8, 0.0029744756844444446_r8, & + 0.0036453808548148141_r8, 0.0043222675002469128_r8, & + 0.0049967134819753076_r8, 0.0055549875693827154_r8, & + 0.0060174840962962956_r8, 0.0068924435441975306_r8, & + 0.0074607761244444449_r8, 0.0078743114582716048_r8, & + 0.0082829654646913563_r8, 0.0085837865111111095_r8, & + 0.0086916194711111113_r8, 0.0087900965535802483_r8, & + 0.0091386584612345671_r8, 0.0095180245032098765_r8, & + 0.0098147523532098775_r8, 0.010137599696185186_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,67) / & + 0.00020287092543209881_r8, 0.00020520989481481478_r8, & + 0.00019529007604938267_r8, 0.00020761357876543208_r8, & + 0.0002058200607407407_r8, 0.00023314809827160491_r8, & + 0.00022487387851851851_r8, 0.00015566627061728395_r8, & + 0.00016197131851851851_r8, 0.00018030403111111106_r8, & + 0.00021233774222222221_r8, 0.00034197026666666665_r8, & + 0.00049909723753086411_r8, 0.00056181489876543208_r8, & + 0.0006160919313580247_r8, 0.00067794056839506173_r8, & + 0.00078774270024691354_r8, 0.00095270937876543215_r8, & + 0.0012490836098765429_r8, 0.0017307633837037035_r8, & + 0.0023378322553086425_r8, 0.0030416678958024687_r8, & + 0.003825573946666667_r8, 0.004607483090864198_r8, 0.0053357623481481483_r8, & + 0.0059141164414814812_r8, 0.0063701322666666659_r8, & + 0.007238860626172839_r8, 0.0077696032874074077_r8, & + 0.0081949444074074073_r8, 0.0085674691950617284_r8, & + 0.0088003954148148152_r8, 0.0088746877387654317_r8, & + 0.0088985859041975299_r8, 0.009142633784691356_r8, & + 0.0094866139999911798_r8, 0.0097465794850246923_r8, & + 0.010057462028888889_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,67) / & + 0.00016894200197530861_r8, 0.00017015308888888888_r8, & + 0.00014255694814814814_r8, 0.00010730599851851851_r8, & + 0.00011393461925925924_r8, 0.00013945989382716049_r8, & + 0.00017298203999999999_r8, 0.00013353388839506172_r8, & + 0.00013407009481481482_r8, 0.00013154622666666665_r8, & + 0.00012795919061728395_r8, 0.00019833166074074074_r8, & + 0.00037269119654320985_r8, 0.00049049944493827148_r8, & + 0.00057360219506172837_r8, 0.00064230133135802464_r8, & + 0.00073169063950617285_r8, 0.00086172994123456792_r8, & + 0.001116030458271605_r8, 0.0015799414607407406_r8, & + 0.0022444861135802467_r8, 0.003071603005925926_r8, 0.003975573070123457_r8, & + 0.0048916724933333322_r8, 0.0056623305476543205_r8, & + 0.0062665982029629624_r8, 0.0067407525970370379_r8, & + 0.0075898539525925913_r8, 0.0081226397451851836_r8, & + 0.0085593798740740724_r8, 0.0088700745145678991_r8, & + 0.0090210108436419752_r8, 0.0090750313291975311_r8, & + 0.0090472106024920632_r8, 0.0090883798644444437_r8, & + 0.0094357084973333335_r8, 0.009636447539999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,67) / & + 0.00015187584592592592_r8, 0.00015381728296296295_r8, & + 0.00012350313037037036_r8, 6.7469559506172852e-05_r8, & + 8.7364666666666667e-05_r8, 0.00010975590716049381_r8, & + 0.00016033496444444443_r8, 0.00012687753283950617_r8, & + 0.00013055701827160494_r8, 0.00012782976148148148_r8, & + 0.0001168282849382716_r8, 0.00013496685382716051_r8, & + 0.00019636248888888887_r8, 0.00032507051950617278_r8, & + 0.00047610507604938266_r8, 0.00058207055851851861_r8, & + 0.00066996218666666668_r8, 0.000781622551111111_r8, & + 0.00099510666567901229_r8, 0.0014329931669135802_r8, & + 0.0021397132281481485_r8, 0.0030401794607407399_r8, & + 0.0040471011575308642_r8, 0.0051022999219753097_r8, & + 0.005908606458271605_r8, 0.0065033056024691362_r8, & + 0.0069636018340740753_r8, 0.007785763439506173_r8, & + 0.0083234305595061737_r8, 0.0087540967639506174_r8, & + 0.009009220080493827_r8, 0.0091255861185185177_r8, & + 0.0091877329048148139_r8, 0.0092149668420811268_r8, & + 0.0092150080811093452_r8, 0.0092583083013333348_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,67) / & + 0.00017107758271604941_r8, 0.00017282487604938272_r8, & + 0.00015259695111111111_r8, 7.4199874567901225e-05_r8, & + 7.9737592592592576e-05_r8, 9.7829936790123462e-05_r8, & + 0.00018059062419753085_r8, 0.00016176792987654319_r8, & + 0.00015574023012345674_r8, 0.00014984195950617282_r8, & + 0.00014097606370370368_r8, 0.00013784202962962961_r8, & + 0.00021222680296296295_r8, 0.00034435546074074072_r8, & + 0.00055868086469135789_r8, 0.00073853189382716046_r8, & + 0.00086481775061728397_r8, 0.00098554739950617275_r8, & + 0.0012665565432098767_r8, 0.0018185255827160489_r8, & + 0.002647417503209877_r8, 0.0035890052212345677_r8, & + 0.0045378409708641976_r8, 0.0054800388548148149_r8, & + 0.0061762751560493828_r8, 0.0067012212409876537_r8, & + 0.0071487871925925931_r8, 0.0079586345402469123_r8, & + 0.0085256173595061723_r8, 0.0089121667185185181_r8, & + 0.0091052195195061737_r8, 0.0092005533229629621_r8, & + 0.0092762231427160492_r8, 0.0093277821634567895_r8, & + 0.0093423919724250418_r8, 0.0092799060950000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,67) / & + 0.00017636422744675556_r8, 0.00017640299307538433_r8, & + 0.00016726399612614317_r8, 9.5150235469405742e-05_r8, & + 9.8997724110814808e-05_r8, 0.00010548127549898271_r8, & + 0.00015165113919589135_r8, 0.00016053815955904523_r8, & + 0.00015576029583054483_r8, 0.00014329714622638351_r8, & + 0.00013640655573761315_r8, 0.00015497529185081149_r8, & + 0.00036668408119988144_r8, 0.00064736661528675538_r8, & + 0.00096598131698691662_r8, 0.0012182971023246617_r8, & + 0.0014170678631188673_r8, 0.0016278268945665315_r8, & + 0.0021036265289493461_r8, 0.00283713037104931_r8, 0.0037793386662796115_r8, & + 0.0047458917762888027_r8, 0.0055907498866250138_r8, & + 0.0063574758724598644_r8, 0.0069462870057028069_r8, & + 0.0074241412184029481_r8, 0.0078660403105498718_r8, & + 0.0086731431214534128_r8, 0.0092075394263604598_r8, & + 0.0095216953885249398_r8, 0.0097035274732776202_r8, & + 0.0098423482277624295_r8, 0.0099656040631702445_r8, & + 0.010036288341271297_r8, 0.010076314095115717_r8, 0.010176497216770532_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,67) / & + 0.00019132199667969054_r8, 0.0001855231315832099_r8, & + 0.00018544202857486748_r8, 0.00014635037855383702_r8, & + 0.00014733375252998844_r8, 0.0001626520832306568_r8, & + 0.00013205597333349137_r8, 0.00014135240566473742_r8, & + 0.00011987024633004774_r8, 0.00010912409772468148_r8, & + 0.00011343269504287077_r8, 0.00017539539341645432_r8, & + 0.00060648829638436873_r8, 0.0011562754520613662_r8, & + 0.0015170520467964314_r8, 0.0017663728323169712_r8, & + 0.0020502232236392823_r8, 0.0024695156388933786_r8, & + 0.0031571170814961779_r8, 0.0039787919347649848_r8, & + 0.0048647003706409611_r8, 0.0057021396211563175_r8, & + 0.0065032143103061612_r8, 0.0071881393536336576_r8, & + 0.0077490680350816915_r8, 0.00822665323758188_r8, 0.0086584456539967464_r8, & + 0.0094794514074467272_r8, 0.009938190298383354_r8, 0.010145499725582537_r8, & + 0.010327849701964351_r8, 0.010538220767728462_r8, 0.010734246738892011_r8, & + 0.010795712681339494_r8, 0.010801533089422567_r8, 0.010784125089022576_r8, & + 0.010804512864638446_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,67) / & + 0.00023676121170326914_r8, 0.00020309241048604445_r8, & + 0.00018589284997740246_r8, 0.00022065183872225187_r8, & + 0.00021771997517708641_r8, 0.0002700383921581432_r8, & + 0.00016023639787097284_r8, 0.00018440045734249873_r8, & + 0.00016274488761900251_r8, 0.00016263904416971849_r8, & + 0.00019177774575759011_r8, 0.00028370278146070126_r8, & + 0.0010489085824039505_r8, 0.0017513809709566023_r8, & + 0.0020531829822448594_r8, 0.0022963159695950225_r8, & + 0.0026758070726576985_r8, 0.0032505052492347651_r8, & + 0.0040499302373315157_r8, 0.0049123320777522171_r8, & + 0.005725178015218174_r8, 0.0064716601099830927_r8, & + 0.0072123631524171053_r8, 0.0078354635383517234_r8, & + 0.0084085211414648888_r8, 0.0089106424648679496_r8, & + 0.0093504325809876925_r8, 0.010244830896126933_r8, 0.01071175927264308_r8, & + 0.010780250568674724_r8, 0.010904457856409441_r8, 0.011127544094465225_r8, & + 0.011381621294471346_r8, 0.011433632765449482_r8, 0.011385050622228146_r8, & + 0.011367010929340815_r8, 0.011338880008595054_r8, 0.0112113297689184_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,67) / & + 0.00029911154738020081_r8, 0.00025579354153265513_r8, & + 0.00023271707903378439_r8, 0.00032827701910439512_r8, & + 0.0003410727631286256_r8, 0.00040090389725571692_r8, & + 0.00019166039001810699_r8, 0.00029393809570143868_r8, & + 0.00037249955168468804_r8, 0.00053583281182846413_r8, & + 0.00073226954422802952_r8, 0.0010042342588119969_r8, & + 0.0017778803856563095_r8, 0.0022971780075776_r8, 0.0025726394901406024_r8, & + 0.0027967194419580314_r8, 0.0031287028145039267_r8, & + 0.0036535709974012845_r8, 0.0044549154977325299_r8, & + 0.0054125776606218532_r8, 0.0062804048758100268_r8, & + 0.0070482046713329248_r8, 0.0077718150267169703_r8, & + 0.008436278158430394_r8, 0.0090518747849478338_r8, & + 0.0095969845111938644_r8, 0.010075390906306686_r8, 0.010950388150473958_r8, & + 0.011460850090530241_r8, 0.011572901097252767_r8, 0.011711734919915668_r8, & + 0.011926284248597808_r8, 0.012129769671024512_r8, 0.012182793414176643_r8, & + 0.012081166526508339_r8, 0.012008312137822105_r8, 0.011957209135125333_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,67) / & + 0.00033754688419489708_r8, 0.00031303140834857611_r8, & + 0.00031626800206986005_r8, 0.00041763536287262552_r8, & + 0.00048532837623479829_r8, 0.00056313287565530861_r8, & + 0.00028106717603022222_r8, 0.00072576597150847725_r8, & + 0.0012481085844494484_r8, 0.0016371081269866005_r8, & + 0.0019082704080470784_r8, 0.0021274176439130205_r8, & + 0.0024668927116014484_r8, 0.0027675860410479669_r8, & + 0.0030131080725575628_r8, 0.00326284226681791_r8, 0.0036927124130482964_r8, & + 0.0041506100836310776_r8, 0.0049535378267288885_r8, & + 0.0059349143612399012_r8, 0.006775854864638749_r8, & + 0.0075372922307775448_r8, 0.0083154979069404427_r8, & + 0.009057400937924542_r8, 0.0097373151650481642_r8, 0.010299862699285794_r8, & + 0.010818406331653202_r8, 0.011746069183130141_r8, 0.012330538327323982_r8, & + 0.012583107410411125_r8, 0.012754555059377583_r8, 0.012940096811499123_r8, & + 0.013084400686881053_r8, 0.013093165026882528_r8, 0.013012968948679489_r8, & + 0.012804335928523753_r8, 0.012669654115073618_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,67) / & + 0.00038567374502281482_r8, 0.00039650051146216303_r8, & + 0.0004723713427986963_r8, 0.00051632229114168893_r8, & + 0.0007040021410925038_r8, 0.00087643151276586677_r8, & + 0.00089380441882548145_r8, 0.0015324167062248297_r8, & + 0.0019116516253916442_r8, 0.0021137711385121184_r8, & + 0.0022824564521877334_r8, 0.0024106367817284743_r8, & + 0.002628602960705659_r8, 0.002873361809494756_r8, 0.0031973301400642375_r8, & + 0.0035702693183940737_r8, 0.0042969742825047707_r8, & + 0.0049774270142165329_r8, 0.0057531505210939261_r8, & + 0.0065961120631601788_r8, 0.0073824834802031416_r8, & + 0.0080674910850204434_r8, 0.0089304845297498072_r8, & + 0.0097055760777931856_r8, 0.01046380744109511_r8, 0.011004096472923023_r8, & + 0.011586595585362489_r8, 0.01272732897576557_r8, 0.013430806471788324_r8, & + 0.013820307741069987_r8, 0.013924580948682428_r8, 0.014038035445015468_r8, & + 0.014154148937952004_r8, 0.014121203612322136_r8, 0.014076728018909392_r8, & + 0.013817122396003656_r8, 0.013191007903658665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,67) / & + 0.00043423184918585682_r8, 0.00046384615699290855_r8, & + 0.00061780592097226007_r8, 0.00091685600085341225_r8, & + 0.001148896596444339_r8, 0.0013826319122397629_r8, & + 0.0016998043651106107_r8, 0.0018691774237965561_r8, & + 0.0020064250199198809_r8, 0.002083677046759914_r8, & + 0.0021830841384631178_r8, 0.0023133054493590386_r8, 0.00254984880520133_r8, & + 0.0029674427078539849_r8, 0.0034932141885236278_r8, & + 0.0039805142835291395_r8, 0.0048219366799517232_r8, & + 0.0057671823367855786_r8, 0.0066365490612516611_r8, & + 0.0074979246232936159_r8, 0.0082607837495062633_r8, & + 0.0090060153115480487_r8, 0.0099687895707890033_r8, & + 0.010767782110996804_r8, 0.011549431602104573_r8, 0.012101465060833682_r8, & + 0.012674453673040301_r8, 0.013898858095238293_r8, 0.014712769121333857_r8, & + 0.0152421403361605_r8, 0.015326059911834283_r8, 0.015173423761445304_r8, & + 0.015186016645884561_r8, 0.015160006711067183_r8, 0.015023336494984335_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,67) / & + 0.00039436953149576953_r8, 0.00044595670615519336_r8, & + 0.0006160726239824066_r8, 0.00071178766009584189_r8, & + 0.0009506010328732443_r8, 0.0011824164932620642_r8, & + 0.0017351105883771786_r8, 0.0019545066767796678_r8, & + 0.0020028768624106405_r8, 0.0020744324390873019_r8, & + 0.0021560619335980768_r8, 0.0023193978227557654_r8, & + 0.0026237172948336196_r8, 0.0030963327148500804_r8, & + 0.0036988196481147258_r8, 0.0043048439876417306_r8, & + 0.0055794124773761574_r8, 0.0064018209833069028_r8, & + 0.0072950673313103512_r8, 0.0081876600281566257_r8, & + 0.0089531367999663384_r8, 0.0097701494796780496_r8, & + 0.010999962090180003_r8, 0.011788329469180207_r8, 0.012516432774826718_r8, & + 0.01309775935396398_r8, 0.013590612326474162_r8, 0.014780488132941642_r8, & + 0.015608766682597607_r8, 0.016264724843857062_r8, 0.016455441987738486_r8, & + 0.016287564184290129_r8, 0.016142483563521638_r8, 0.016123271437724206_r8, & + 0.015832421116038754_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,67) / & + 0.00027318127030996538_r8, 0.00037286716765665183_r8, & + 0.00050191769735107158_r8, 0.00051404022398423698_r8, & + 0.00092213433993157542_r8, 0.0011732855044016195_r8, & + 0.0018904509968617079_r8, 0.0022270301635683161_r8, & + 0.002258848480190815_r8, 0.0023728718515970762_r8, & + 0.0025215518554896196_r8, 0.002711029334134479_r8, & + 0.0030406453427640492_r8, 0.0033799301937520194_r8, & + 0.0039002571547429522_r8, 0.0045260925395487995_r8, & + 0.0059290163657519795_r8, 0.0068780881800730069_r8, & + 0.0078490442054932937_r8, 0.0087168261229492536_r8, & + 0.0095597528818597531_r8, 0.010411579219950616_r8, 0.011557131460468264_r8, & + 0.012335970638753538_r8, 0.013034912551789155_r8, 0.013634102251686873_r8, & + 0.014148169001987591_r8, 0.015304291979624097_r8, 0.016169461054906388_r8, & + 0.0168482429674142_r8, 0.017078478131336651_r8, 0.017139170343451929_r8, & + 0.017090981973769272_r8, 0.017024687024665208_r8, 0.017002426518819252_r8, & + 0.01692512949574293_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,67) / & + 0.0001767033840472757_r8, 0.00030381904677412346_r8, & + 0.00038817438249007404_r8, 0.00064554521255598353_r8, & + 0.0011096160908242963_r8, 0.0014097335382739751_r8, & + 0.0021788024912493828_r8, 0.0025652220414671277_r8, & + 0.0026460677126384198_r8, 0.0027937889449380087_r8, & + 0.0029261416852275879_r8, 0.0030375598248933663_r8, & + 0.0032826331194258434_r8, 0.0036312552276528721_r8, & + 0.0041404444887980256_r8, 0.0047591462514382224_r8, & + 0.0062432133879978926_r8, 0.0073061756177070624_r8, & + 0.0082954486016055297_r8, 0.0091966509408364754_r8, & + 0.010086419451043029_r8, 0.011034330489897612_r8, 0.012050693697000164_r8, & + 0.012877960017132116_r8, 0.013566430072224526_r8, 0.014167734318039834_r8, & + 0.014721904865790551_r8, 0.015861270847481679_r8, 0.016763803020544001_r8, & + 0.017385657997423538_r8, 0.017638737714198518_r8, 0.01769670201769389_r8, & + 0.017698004432271014_r8, 0.017652995726411193_r8, 0.017608681070424705_r8, & + 0.017533192925683054_r8, 0.017566957533965331_r8, 0.017435643297930663_r8, & + 0.017550022717056_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,67) / & + 0.00016704724149139589_r8, 0.00029953768310264531_r8, & + 0.00036314102248981235_r8, 0.00076229515323712586_r8, & + 0.0011935995475423474_r8, 0.0014985625544420393_r8, & + 0.0022295019550099965_r8, 0.0027576039643412644_r8, & + 0.0028907243522250997_r8, 0.0030186813040881319_r8, & + 0.0031053767750967801_r8, 0.0031762080654358141_r8, & + 0.003378877858607205_r8, 0.0037932533315926777_r8, & + 0.0042898385626626264_r8, 0.004956304023938608_r8, & + 0.0065366225830304145_r8, 0.00758534510494999_r8, 0.0085747993390990034_r8, & + 0.0095363655585272156_r8, 0.010511137140448854_r8, 0.011621743541664852_r8, & + 0.012696364894027951_r8, 0.013541534636287315_r8, 0.014210674841347496_r8, & + 0.014813067789768444_r8, 0.015376766819249398_r8, 0.016511461081768951_r8, & + 0.01739852806526614_r8, 0.018051173890596694_r8, 0.018342710346002752_r8, & + 0.018404561615720863_r8, 0.018410160604481501_r8, 0.018367370164142721_r8, & + 0.018294475774482229_r8, 0.018188475837570363_r8, 0.01819460158477515_r8, & + 0.018293210826188479_r8, 0.018220169617589332_r8, 0.018344293806456798_r8, & + 0.01835604690517173_r8, 0.018554989600492799_r8, 0.0185618694631552_r8, & + 0.0185618694631552_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,67) / & + 0.00021193681661439999_r8, 0.00020673591313919999_r8, & + 0.00020941762899360001_r8, 0.00025744472202239994_r8, & + 0.00028304291881439995_r8, 0.00028060499531039996_r8, & + 0.00038226640542719998_r8, 0.00055751827788617133_r8, & + 0.00069961439069074287_r8, 0.00086762214759497126_r8, & + 0.0010907966306468572_r8, 0.0015402104148699426_r8, & + 0.0018555523373644796_r8, 0.0022385988783129602_r8, & + 0.0027113610042086393_r8, 0.0030674928696729597_r8, & + 0.0036155380733721592_r8, 0.00406723654019328_r8, 0.0046429765548979193_r8, & + 0.0049495698147609592_r8, 0.0050055445384127994_r8, & + 0.004998718352601599_r8, 0.0050143210630271993_r8, & + 0.0050000185784703994_r8, 0.0049902668844544005_r8, & + 0.0050435761450751994_r8, 0.0049051020900479992_r8, & + 0.0052142307903551991_r8, 0.0052054542657408_r8, 0.0052054542657408_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,67) / & + 0.00020203396070824035_r8, 0.00019992337538383864_r8, & + 0.00019569367243732751_r8, 0.00029765542112042593_r8, & + 0.00030858970189627825_r8, 0.00031663332577384429_r8, & + 0.0003013176172948892_r8, 0.00042425884112085499_r8, & + 0.00056856836101304962_r8, 0.000734932570858603_r8, & + 0.00093787152017670689_r8, 0.0013080900649222686_r8, & + 0.0015782305210932737_r8, 0.0020594466873104251_r8, & + 0.0025119522932986783_r8, 0.0029027324324040044_r8, & + 0.0035465568797146442_r8, 0.0040919460504417193_r8, & + 0.0046810235818275561_r8, 0.0051439271543501763_r8, & + 0.0052944879150308476_r8, 0.0053244137585941962_r8, & + 0.0053177172045150182_r8, 0.0053105219832426491_r8, & + 0.005299602450345618_r8, 0.0053013437171414175_r8, 0.005242759039899513_r8, & + 0.0052719500758494006_r8, 0.0053521429837038378_r8, & + 0.0054115624903839617_r8, 0.0054293502252997245_r8, & + 0.005423547248515237_r8, 0.0054351312266484467_r8, & + 0.0054341729023767802_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,67) / & + 0.00024316253984310785_r8, 0.00026779806330840493_r8, & + 0.00022624864170213337_r8, 0.00031821244013712586_r8, & + 0.000328725514500586_r8, 0.00032547463892697195_r8, & + 0.00029294515756369941_r8, 0.00039540107614354289_r8, & + 0.0005422478744106056_r8, 0.00071125597619423498_r8, & + 0.00092092556393559371_r8, 0.0012179500125809777_r8, & + 0.0016108932731773967_r8, 0.0021026355983191363_r8, & + 0.0024969156618656653_r8, 0.0029006703848985394_r8, & + 0.0035668718955909227_r8, 0.0043014515172375501_r8, & + 0.0048519802550116122_r8, 0.0052826118493957356_r8, & + 0.0054496853967596357_r8, 0.0054845232253237638_r8, & + 0.0055077427549786746_r8, 0.0055129997493433567_r8, & + 0.0055071880396642195_r8, 0.0055208596386450964_r8, & + 0.0055098796890515915_r8, 0.0053568007922378527_r8, & + 0.0054789685621872645_r8, 0.0056847778953398936_r8, & + 0.0056146250676240832_r8, 0.0056257867588773046_r8, & + 0.0056041205289042847_r8, 0.0055826034206664299_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,30,67) / & + 0.00039024869006597137_r8, 0.00048324694525466659_r8, & + 0.00029203007714399999_r8, 0.00033175517048959996_r8, & + 0.00033130502778879996_r8, 0.00033254292021599999_r8, & + 0.00036686630115199996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,31,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,67) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,67) / & + 0.0011996579253339575_r8, 0.001250578021889165_r8, & + 0.0014149887328593397_r8, 0.0016168059940023679_r8, & + 0.0019120195385463729_r8, 0.0019443408174281878_r8, & + 0.0022482681319110154_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,38,67) / & + 0.0012544711244292647_r8, 0.0013068693803119041_r8, & + 0.0014673102418391992_r8, 0.0016898245447549225_r8, & + 0.0019836132589866667_r8, 0.0020882934180804715_r8, & + 0.002337040739204461_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,67) / & + 0.0026793177978188128_r8, 0.0025556149925226659_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,40,67) / & + 0.0027688897077321598_r8, 0.002684495049253333_r8, & + 0.0029196300049437029_r8, 0.0032670178886419752_r8, & + 0.003788197574172222_r8, 0.0042043229550476182_r8, & + 0.0049476286708571415_r8, 0.0051491213001392576_r8, & + 0.0048263188552066655_r8, 0.0045603354218488878_r8, & + 0.004154924096017777_r8, 0.0037722765077333326_r8, & + 0.0029690417685866665_r8, 0.0023836885173866662_r8, & + 0.0022373502045866661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,67) / & + 0.0028077313335352814_r8, 0.0027336169344053464_r8, & + 0.0029922780692146723_r8, 0.0041553947577058692_r8, & + 0.0047628195997104997_r8, 0.0050211289722610726_r8, & + 0.0051281722967891422_r8, 0.0048518920111958437_r8, & + 0.0046545808746997425_r8, 0.0045885886491658662_r8, & + 0.0045307185846267251_r8, 0.0040958038662849416_r8, & + 0.0033985976197045331_r8, 0.0026489870733290666_r8, & + 0.0023431090974463998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,67) / & + 0.002732208479430261_r8, 0.0027540288532954954_r8, & + 0.0031048302472951226_r8, 0.0040763531133844967_r8, & + 0.0042527730349702459_r8, 0.0049457133272727324_r8, & + 0.0051009112760059911_r8, 0.0051183586474125402_r8, & + 0.0050551384112904997_r8, 0.0044126305570345477_r8, & + 0.0037793605671932323_r8, 0.0032872988466879048_r8, & + 0.0030278059566835993_r8, 0.0031013812314807992_r8, & + 0.0031323073000661325_r8, 0.0030802364310991994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,67) / & + 0.002599005336278994_r8, 0.0027101858160700912_r8, & + 0.0030305430409619701_r8, 0.0033187968797988043_r8, & + 0.0034617322469550601_r8, 0.0038307297080944127_r8, & + 0.0047363031621914901_r8, 0.0048580036035584051_r8, & + 0.004819750194555778_r8, 0.0042548881683834132_r8, & + 0.0038543546300675627_r8, 0.0034588120628767523_r8, & + 0.0029111849806769639_r8, 0.0029689569789998231_r8, & + 0.0031325167335664672_r8, 0.0029290401740032241_r8, & + 0.0027427332442760684_r8, 0.0027099070171181829_r8, & + 0.002794373701829056_r8, 0.0028198979025049285_r8, & + 0.0027877952995930071_r8, 0.0027868743232799605_r8, & + 0.0027499037027133629_r8, 0.0028460799434044046_r8, & + 0.0034496483485619363_r8, 0.0034791195905794375_r8, & + 0.0036502238327390814_r8, 0.0037157447190101335_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,67) / & + 0.0027319514723349596_r8, 0.0030423205672427196_r8, & + 0.0030605828777813858_r8, 0.0030333472344101398_r8, & + 0.0032569590812280363_r8, 0.002897529754552204_r8, & + 0.0048027622110453985_r8, 0.0046742045632781441_r8, & + 0.0043447614995855543_r8, 0.0037188828075443367_r8, & + 0.0034555447987892418_r8, 0.003164610409664606_r8, & + 0.0028341753192267062_r8, 0.0029018135064069537_r8, & + 0.0029792366846659434_r8, 0.0028595621854816925_r8, & + 0.0026908725466541568_r8, 0.0026772998170933203_r8, & + 0.0027566619567181432_r8, 0.0028115390725837169_r8, & + 0.0028443210473037437_r8, 0.0028899542775880165_r8, & + 0.0029332427173833753_r8, 0.0030306867990477176_r8, & + 0.0034933770914853928_r8, 0.0035385594005217986_r8, & + 0.0037214997612150013_r8, 0.0041103049967564252_r8, & + 0.004174493636390479_r8, 0.0041756434855725437_r8, 0.004079800174338134_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,67) / & + 0.0026086502376106661_r8, 0.0033880301294079993_r8, & + 0.0033211784867839995_r8, 0.003280594953216_r8, 0.0034682706318506676_r8, & + 0.0035900212325546666_r8, 0.0053852866541226653_r8, & + 0.0041339147075413344_r8, 0.0035802459750399998_r8, & + 0.0029263692709546661_r8, 0.00272549004544_r8, 0.0026008670941866669_r8, & + 0.0024812939205119994_r8, 0.0025457364949333337_r8, & + 0.0025754792215893336_r8, 0.0025959563013119987_r8, & + 0.0025647773993813325_r8, 0.0025845595555840004_r8, & + 0.0026634565392213332_r8, 0.0027714939824639998_r8, & + 0.0028792997845333325_r8, 0.002995305684138666_r8, 0.003131371709354667_r8, & + 0.0032735530615466664_r8, 0.0034969941373439984_r8, & + 0.0036173085627733332_r8, 0.0038308817245866667_r8, & + 0.0042123484088320007_r8, 0.0042548140269333332_r8, & + 0.0041970890465386664_r8, 0.0041867628139474278_r8, & + 0.0042016465866240001_r8, 0.0042268723103999995_r8, & + 0.0042208959681280002_r8, 0.0042404233190399994_r8, & + 0.0042591862540799991_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,68) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,68) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,68) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,68) / & + 0.0027471082756163746_r8, 0.0027578529133333333_r8, & + 0.0026350292859259254_r8, 0.0032243802333333333_r8, & + 0.0030739465977777779_r8, 0.0033145877185185185_r8, & + 0.0039364716037037038_r8, 0.0044891432585185184_r8, & + 0.0047454822844444442_r8, 0.0052075720340740731_r8, & + 0.0054329590066666657_r8, 0.0056739606799999995_r8, & + 0.0059910112155555544_r8, 0.0062325537177777782_r8, & + 0.0063848594533333332_r8, 0.0065015952888888909_r8, & + 0.0067211666175000006_r8, 0.0067979695199999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,5,68) / & + 0.0024076592740740741_r8, 0.0024673445955555552_r8, & + 0.002396454408888889_r8, 0.0029094190538271609_r8, & + 0.0029361739051851853_r8, 0.0032531458587654319_r8, & + 0.0037775649822222226_r8, 0.0042268135125925919_r8, & + 0.0045171785338271597_r8, 0.0049208310286419756_r8, & + 0.0051906445520987655_r8, 0.0054722823516049381_r8, & + 0.0058512046365432101_r8, 0.0060975545066666668_r8, & + 0.0062383456716049368_r8, 0.0063481662933333339_r8, & + 0.0065731491300529089_r8, 0.006643690650476191_r8, & + 0.0067564199939259247_r8, 0.006923469557037037_r8, & + 0.0071354522936296289_r8, 0.007282199972296296_r8, & + 0.0074965207537777767_r8, 0.0077016613115555551_r8, & + 0.0079177515742222225_r8, 0.0081271105973333337_r8, & + 0.0083117440330370378_r8, 0.0086536241615555558_r8, & + 0.0090085895757037026_r8, 0.0093235364255555564_r8, & + 0.0095662063479999993_r8, 0.0097835946000000007_r8, & + 0.0099454147637777733_r8, 0.010131497343555555_r8, 0.010246308382962963_r8, & + 0.010372650171629628_r8, 0.010467132978518518_r8, 0.010593714673333332_r8, & + 0.010741548169999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,68) / & + 0.001314371363950617_r8, 0.0013476438967901234_r8, & + 0.0013914279244444446_r8, 0.0016335343679012343_r8, & + 0.0017878231427160493_r8, 0.0020134643511111106_r8, & + 0.002359354471604938_r8, 0.0028194288246913579_r8, & + 0.0030606477540740737_r8, 0.0032251429407407404_r8, & + 0.0035125588266666664_r8, 0.0037283079511111102_r8, & + 0.0042363912686419758_r8, 0.0047155933990123454_r8, & + 0.0049520881649382717_r8, 0.0051939634849382703_r8, & + 0.0056560624795061725_r8, 0.0058977806355555544_r8, & + 0.006106263238518519_r8, 0.0062951835520987653_r8, & + 0.0064517558266666657_r8, 0.0065836718508641969_r8, & + 0.0067494151041975299_r8, 0.0069373554543209863_r8, & + 0.0071148397792592591_r8, 0.0073057847343209878_r8, & + 0.0075072966538271609_r8, 0.0079712076562962961_r8, & + 0.0083360868799999994_r8, 0.0086404117580246905_r8, & + 0.0089669383553086426_r8, 0.0093055954672222208_r8, & + 0.0095908341701851849_r8, 0.0098231470873368608_r8, & + 0.010020407986119929_r8, 0.010216262168492063_r8, 0.01038483734452381_r8, & + 0.010552208895627866_r8, 0.010679905067751324_r8, 0.010577115386666667_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,68) / & + 0.00044594808740740748_r8, 0.00044950738864197535_r8, & + 0.00043252443703703703_r8, 0.00052357783407407403_r8, & + 0.00060177152197530876_r8, 0.00072363829827160476_r8, & + 0.00095846897530864209_r8, 0.0014595908543209874_r8, & + 0.0016730934587654322_r8, 0.001777302402962963_r8, & + 0.0019203678227160494_r8, 0.0020590049170370367_r8, & + 0.0023816162829629634_r8, 0.0027744614449382718_r8, & + 0.0031186504967901222_r8, 0.0034535853654320981_r8, & + 0.0040967464760493831_r8, 0.0046211471096296291_r8, & + 0.0050389258701234564_r8, 0.0054252625955555564_r8, & + 0.0057136492000000004_r8, 0.0059549143540740734_r8, & + 0.0061458500641975305_r8, 0.0063393558671604932_r8, & + 0.0065104334498765426_r8, 0.0066660534958024684_r8, & + 0.0068331280202469126_r8, 0.0073048602404938269_r8, & + 0.0077465833911111118_r8, 0.0081041960933333334_r8, & + 0.0084244130202469139_r8, 0.0087573694720987656_r8, & + 0.0091067634241975316_r8, 0.0094239942360493847_r8, & + 0.0096978200627160487_r8, 0.0099456768577777747_r8, 0.01018980794271605_r8, & + 0.010368281476049384_r8, 0.010501501036543209_r8, 0.010523465689171077_r8, & + 0.010469625644999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,68) / & + 0.00020320374320987648_r8, 0.00019953350271604937_r8, & + 0.00018674775308641974_r8, 0.0002317983372839506_r8, & + 0.00025368110617283952_r8, 0.00028108310320987647_r8, & + 0.00041965548296296292_r8, 0.00068124101135802462_r8, & + 0.00084334175901234565_r8, 0.000940801898271605_r8, & + 0.0010103423239506172_r8, 0.0010591093733333334_r8, & + 0.0011452814429629633_r8, 0.0012661405209876541_r8, & + 0.0014065249086419752_r8, 0.0015842773367901232_r8, & + 0.0019856093520987657_r8, 0.0025003675150617284_r8, & + 0.0029723955733333331_r8, 0.0034539828977777774_r8, & + 0.0039602449624691347_r8, 0.0044336597614814824_r8, & + 0.0048458083545679011_r8, 0.0052097908192592591_r8, & + 0.0055419244716049384_r8, 0.0058392139516049383_r8, & + 0.0060705870217283948_r8, 0.0065622143491358021_r8, & + 0.0070093088088888887_r8, 0.0074910995219753087_r8, & + 0.0079501754217283938_r8, 0.0082640133412345673_r8, & + 0.008532828411358025_r8, 0.0088359791822222224_r8, & + 0.0091971881654320988_r8, 0.0095762861041975324_r8, & + 0.0099264554754938273_r8, 0.010166986812592593_r8, 0.01031751752_r8, & + 0.010374348466790121_r8, 0.010377977039026452_r8, 0.010359813112592594_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,68) / & + 0.00018482480592592592_r8, 0.00018201434469135799_r8, & + 0.00018157058765432097_r8, 0.00020768753827160491_r8, & + 0.00020978613925925929_r8, 0.00021861505530864199_r8, & + 0.00027950221876543214_r8, 0.0004143951130864197_r8, & + 0.00047626223999999999_r8, 0.00052045304493827157_r8, & + 0.00055076719753086414_r8, 0.00057753129382716046_r8, & + 0.00061386390123456785_r8, 0.00066089290222222244_r8, & + 0.00071330245728395058_r8, 0.00077453168345679004_r8, & + 0.00095944893876543215_r8, 0.0012736011861728394_r8, & + 0.001634634515555556_r8, 0.0020709031525925924_r8, & + 0.0026141357254320986_r8, 0.0031494176513580238_r8, & + 0.0036936209427160496_r8, 0.0042159599550617276_r8, & + 0.0047090849624691362_r8, 0.005158814229629629_r8, & + 0.0055397981358024685_r8, 0.0062513348098765416_r8, & + 0.0067703271545679015_r8, 0.0072740745960493819_r8, & + 0.0078496644528395047_r8, 0.0081822603520987653_r8, & + 0.0083647092088888885_r8, 0.008581780359506172_r8, & + 0.0089237506261728387_r8, 0.0093935321644444437_r8, & + 0.0098315203600000019_r8, 0.01012732140493827_r8, 0.010270017027160494_r8, & + 0.01031146555228395_r8, 0.010334622967037037_r8, 0.010359230681481481_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,68) / & + 0.00019078779111111112_r8, 0.00018678473283950618_r8, & + 0.00018660907901234565_r8, 0.0002146304869135802_r8, & + 0.00021500952938271605_r8, 0.0002182545027160494_r8, & + 0.00022945012296296294_r8, 0.00027673798222222222_r8, & + 0.00030513843259259254_r8, 0.0003575294977777778_r8, & + 0.00041517168790123455_r8, 0.0004957228350617283_r8, & + 0.00057840956296296292_r8, 0.00062565119753086435_r8, & + 0.00066666174370370369_r8, 0.00069704061086419745_r8, & + 0.00081490432888888875_r8, 0.0010303298804938273_r8, & + 0.0013971320513580245_r8, 0.0018751785644444442_r8, & + 0.0024748977101234568_r8, 0.0030436000879012349_r8, & + 0.0036465272271604936_r8, 0.0042584681812345678_r8, & + 0.0048773890637037031_r8, 0.0054108589817283949_r8, & + 0.0058766651965432085_r8, 0.0067186109698765435_r8, & + 0.007325125145185186_r8, 0.0077671811135802474_r8, & + 0.0082122231970370371_r8, 0.0085243138232098774_r8, & + 0.0086113364271604917_r8, 0.0087182448933333326_r8, & + 0.0090460149348148139_r8, 0.0094580248538271607_r8, & + 0.0098691565037037007_r8, 0.010185518291358026_r8, 0.010291647871481482_r8, & + 0.010333510800962963_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,68) / & + 0.00021434389382716054_r8, 0.00021095100148148152_r8, & + 0.00021311431703703706_r8, 0.00024027594567901234_r8, & + 0.0002405532938271605_r8, 0.00024228209728395061_r8, & + 0.0002039525832098765_r8, 0.00021085855209876541_r8, & + 0.00023361959012345679_r8, 0.0002670215520987654_r8, & + 0.00032685479259259259_r8, 0.00043992038765432103_r8, & + 0.00056228639061728402_r8, 0.00061531535654320985_r8, & + 0.00066113327061728385_r8, 0.0007052501160493826_r8, & + 0.00080513242913580238_r8, 0.00099790788197530846_r8, & + 0.0013523125906172841_r8, 0.0018682541056790124_r8, & + 0.0024875910103703703_r8, 0.0031229863728395066_r8, & + 0.0038163197634567903_r8, 0.0045340320562962961_r8, & + 0.0052276982646913567_r8, 0.0058273342059259247_r8, & + 0.0063238058809876553_r8, 0.0072201858508641982_r8, & + 0.0078277724390123458_r8, 0.008211511336790123_r8, & + 0.0085428499244444463_r8, 0.008789726756049384_r8, & + 0.0088416463293827154_r8, 0.0089106228138271584_r8, & + 0.0092216595170370348_r8, 0.0095807144296296293_r8, & + 0.0098185000200617257_r8, 0.010166502410844797_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,68) / & + 0.00020829770419753086_r8, 0.00020585704049382714_r8, & + 0.00019924690962962966_r8, 0.00019097268987654321_r8, & + 0.0002005596908641975_r8, 0.00024866110469135802_r8, & + 0.00023079063901234567_r8, 0.00015835654765432097_r8, & + 0.00016343201876543208_r8, 0.00018326241135802469_r8, & + 0.00022209115209876544_r8, 0.00035300872296296297_r8, & + 0.00051893687506172838_r8, 0.00059138021135802458_r8, & + 0.00064582365283950621_r8, 0.00070300359604938249_r8, & + 0.00081017092049382724_r8, 0.00097632095111111102_r8, & + 0.0012884300671604937_r8, 0.0018070341244444442_r8, & + 0.0024587560479012349_r8, 0.0032049612404938272_r8, & + 0.0040046761358024695_r8, 0.0048247576301234576_r8, & + 0.0055749936158024692_r8, 0.0061754153767901226_r8, & + 0.0066720072360493821_r8, 0.0076017244533333334_r8, & + 0.0081473884449382705_r8, 0.0085332906582716046_r8, & + 0.0088338343565432086_r8, 0.0090226899555555552_r8, & + 0.009066187390123456_r8, 0.0090395373697619054_r8, & + 0.0092273030235696645_r8, 0.0095859424422222242_r8, & + 0.0097712324996666652_r8, 0.010098669029999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,68) / & + 0.0001566647239506173_r8, 0.00016066778222222227_r8, & + 0.00014652302666666664_r8, 0.0001033676548148148_r8, & + 0.00011105944345679014_r8, 0.00012291145432098764_r8, & + 0.00017027327308641977_r8, 0.00012714563604938271_r8, & + 0.0001244830938271605_r8, 0.00012380821333333333_r8, & + 0.00012249543209876543_r8, 0.00019256281925925925_r8, & + 0.00037090692345679015_r8, 0.00050824972641975302_r8, & + 0.00060515516938271599_r8, 0.00067040594370370351_r8, & + 0.00075127141876543213_r8, 0.00088275293086419735_r8, & + 0.0011502274849382716_r8, 0.0016417808528395063_r8, & + 0.0023504978207407406_r8, 0.0032106746123456782_r8, & + 0.0041318587516049384_r8, 0.0050577947891358027_r8, & + 0.0058568532938271601_r8, 0.0064497866548148142_r8, & + 0.0069548376325925922_r8, 0.0078542684320987641_r8, & + 0.0083696829856790122_r8, 0.0087705804888888877_r8, & + 0.0090514232237037043_r8, 0.0092096041175308632_r8, & + 0.009240787294320988_r8, 0.0092333741745326287_r8, & + 0.0092702240268027203_r8, 0.0093131982733333316_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,68) / & + 0.00013810088790123457_r8, 0.00014805768641975309_r8, & + 0.00013374652197530864_r8, 9.0470965925925948e-05_r8, & + 9.895781925925925e-05_r8, 0.00010136150320987655_r8, & + 0.00018679397777777778_r8, 0.00012972497382716049_r8, & + 0.00013225808691358023_r8, 0.00012747845382716046_r8, & + 0.00011590379111111111_r8, 0.0001301317511111111_r8, & + 0.00020979538419753084_r8, 0.00039498998765432106_r8, & + 0.00057303825382716046_r8, 0.00067238436049382711_r8, & + 0.0007186922562962963_r8, 0.000825619212345679_r8, & + 0.0010717287140740738_r8, 0.0015801263595061727_r8, & + 0.0023776317145679012_r8, 0.0032996201634567903_r8, & + 0.004311571106666667_r8, 0.005336391003950617_r8, 0.0061293570943209879_r8, & + 0.0066807252128395058_r8, 0.0071306948483950599_r8, & + 0.0079011957387654305_r8, 0.0083987213367901232_r8, & + 0.0088100563753086419_r8, 0.0090518854706172838_r8, & + 0.0091683069782716037_r8, 0.0092345654508641968_r8, & + 0.0092837855022222214_r8, 0.0093038471833597879_r8, & + 0.0093125659195555533_r8, 0.0092316995199999991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,68) / & + 0.00017673548493827161_r8, 0.00018412219061728397_r8, & + 0.00017104060296296294_r8, 8.5922456296296288e-05_r8, & + 8.853877382716047e-05_r8, 9.7034872098765429e-05_r8, & + 0.00020529309925925923_r8, 0.00017328712296296297_r8, & + 0.00016861842913580249_r8, 0.00016292354716049385_r8, & + 0.00015136737432098766_r8, 0.00013606700148148147_r8, & + 0.00023848242765432096_r8, 0.00044979398172839506_r8, & + 0.00075456261679012339_r8, 0.00093379423506172838_r8, & + 0.00097299277333333324_r8, 0.0010395840637037036_r8, & + 0.0013573880617283951_r8, 0.0020036647165432098_r8, & + 0.0029474527298765439_r8, 0.003933194273086419_r8, & + 0.0048728035743209877_r8, 0.0057414394844444439_r8, & + 0.0064027576538271602_r8, 0.0068882093624691347_r8, & + 0.0073100096711111113_r8, 0.0080459714720987653_r8, & + 0.0085473337195061724_r8, 0.0089150234044444443_r8, & + 0.0091157587491358018_r8, 0.0092075979659259257_r8, & + 0.009279597545185184_r8, 0.0093354115487654307_r8, & + 0.0093830344379841266_r8, 0.0093053354533333323_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,68) / & + 0.00019628976056196209_r8, 0.00019831526465781724_r8, & + 0.00018941855288750616_r8, 0.00010497732232680822_r8, & + 0.00010501608795543704_r8, 0.00010508392780553743_r8, & + 0.00018541600173158185_r8, 0.00017705231735491684_r8, & + 0.00016540324595196043_r8, 0.00015584751849495961_r8, & + 0.00014992606872190947_r8, 0.00017043308626654813_r8, & + 0.00045303451897054812_r8, 0.00084903510682096455_r8, & + 0.0012132188049742878_r8, 0.0014440002836087307_r8, & + 0.0015529123172413628_r8, 0.0017388419635522765_r8, & + 0.0022924635974074198_r8, 0.0031047391968811186_r8, & + 0.0040899482656679238_r8, 0.0050410629640756923_r8, & + 0.005842396964868911_r8, 0.0065211249737163702_r8, & + 0.0070587848599836037_r8, 0.0075045992806220376_r8, & + 0.0079244310386720109_r8, 0.0087028836271670768_r8, & + 0.0092004101849704444_r8, 0.0095085060756273567_r8, & + 0.0097054185090991677_r8, 0.009827302491211715_r8, & + 0.0099372236426145902_r8, 0.010020648832971364_r8, 0.010118130717166288_r8, & + 0.010230913256532324_r8, 0.010196056899265553_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,68) / & + 0.00020760342560442469_r8, 0.00020586984880110611_r8, & + 0.0002031934495258074_r8, 0.00014479928351928886_r8, & + 0.00014348135963372513_r8, 0.00015202758913780416_r8, & + 0.00015382199319737938_r8, 0.00013294810642525761_r8, & + 0.00011472020530030615_r8, 0.00010788727684746008_r8, & + 0.0001238442937388247_r8, 0.00021362532397384691_r8, & + 0.00073761158512192248_r8, 0.0013970094565736559_r8, & + 0.001749209408176513_r8, 0.0019465938547297975_r8, & + 0.0021731449706582123_r8, 0.0026465432303527246_r8, & + 0.0033979119132647238_r8, 0.0042403592745452242_r8, & + 0.0051077965002712233_r8, 0.0058756797832569393_r8, & + 0.0066488347617849148_r8, 0.0072796945121761693_r8, & + 0.0077980035627402793_r8, 0.0082847027158029444_r8, & + 0.008715410379481231_r8, 0.0095101894476084924_r8, & + 0.0099499502345929986_r8, 0.010165968097312949_r8, 0.010347192769454013_r8, & + 0.010544252803973921_r8, 0.010720692398622788_r8, 0.01082090530330585_r8, & + 0.010859700420452629_r8, 0.010842718210846437_r8, 0.010822330362817165_r8, & + 0.010757916144982931_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,68) / & + 0.00024641413427796546_r8, 0.00022904522425046912_r8, & + 0.00020862802288359507_r8, 0.00021173982029254316_r8, & + 0.00021744478220894815_r8, 0.00027033475381613826_r8, & + 0.0001765257047157729_r8, 0.00014129042044914566_r8, & + 0.00013296054099049876_r8, 0.00015373761008493825_r8, & + 0.00024980112465505187_r8, 0.00043382054558012851_r8, & + 0.0012213169769425779_r8, 0.0018831348966252643_r8, & + 0.0021842065881134622_r8, 0.0024105633887521183_r8, & + 0.002790340269127862_r8, 0.0034036713046935703_r8, & + 0.0041877701613340047_r8, 0.0050367087150057872_r8, & + 0.005816901948367645_r8, 0.006546152729589136_r8, 0.0073190321806054712_r8, & + 0.0079536695025120389_r8, 0.0084962441922314252_r8, & + 0.0090217569179262425_r8, 0.0094813715120968672_r8, & + 0.010348642151184631_r8, 0.010773688274819121_r8, 0.010921974947265937_r8, & + 0.011072262060904219_r8, 0.011257922055293195_r8, 0.01142693287510981_r8, & + 0.011480362648308347_r8, 0.011420116556975921_r8, 0.011306874650587023_r8, & + 0.011255122496059632_r8, 0.011197456301002271_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,68) / & + 0.0003141796390501136_r8, 0.000284142733034614_r8, & + 0.00026621766058687742_r8, 0.00034183388928179099_r8, & + 0.00036732610000592592_r8, 0.00042171904292271934_r8, & + 0.00028880876727793253_r8, 0.00033082513709542716_r8, & + 0.00048030369508882966_r8, 0.00073001925820997537_r8, & + 0.0010915100577082997_r8, 0.0014730548767204613_r8, & + 0.0021348485514908976_r8, 0.0025095983891936396_r8, & + 0.0027332922625275782_r8, 0.0029487681795700941_r8, & + 0.003317671685951421_r8, 0.0038860012752759045_r8, 0.004644127047083931_r8, & + 0.005534622584659859_r8, 0.0063615585730395652_r8, & + 0.0071810267004672008_r8, 0.0079173224917373358_r8, & + 0.0086416498500192923_r8, 0.0092886181110237252_r8, & + 0.0098178655270052349_r8, 0.010317186345109386_r8, 0.01119515087819262_r8, & + 0.011701388016558144_r8, 0.011935936210685054_r8, 0.012099865134774781_r8, & + 0.012208860606070836_r8, 0.012202760566031699_r8, 0.01218088646223855_r8, & + 0.012059382048077433_r8, 0.011858597520413081_r8, 0.011725346944162133_r8, & + 0.011664172256912499_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,68) / & + 0.00036108679101175305_r8, 0.00034232143379792594_r8, & + 0.00035216894235417281_r8, 0.00046329199345158852_r8, & + 0.00053774512632381887_r8, 0.00064167192116859259_r8, & + 0.00055639571071065016_r8, 0.0010188957716559671_r8, & + 0.00149350436584935_r8, 0.0018745042423448893_r8, 0.0021577750566534322_r8, & + 0.0023878830974974814_r8, 0.0026648643608866503_r8, & + 0.0028903355795200656_r8, 0.0031397713644302229_r8, & + 0.003389000558251786_r8, 0.0038803200760557694_r8, & + 0.0044536562560310126_r8, 0.005240274780412708_r8, & + 0.0061007610962489538_r8, 0.0069098062310256466_r8, & + 0.0076595482460935643_r8, 0.0084993639757878509_r8, & + 0.0093185091193401792_r8, 0.010066403291893462_r8, 0.010638603220881445_r8, & + 0.011192118133634504_r8, 0.012114065298327044_r8, 0.012713592637422749_r8, & + 0.013037056895745247_r8, 0.013186032025185909_r8, 0.013268737324319142_r8, & + 0.013193308622417447_r8, 0.013076963407691719_r8, 0.012922180773205071_r8, & + 0.012674473467069467_r8, 0.01253739011419504_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,68) / & + 0.00040923507815514071_r8, 0.0004067668615770073_r8, & + 0.00048275693042939253_r8, 0.00059764227695265179_r8, & + 0.00079554078201197033_r8, 0.0010019886169578664_r8, & + 0.0011809760520030813_r8, 0.0016303822492487107_r8, & + 0.0019282733351013925_r8, 0.0021139738422890669_r8, & + 0.0022661209125160297_r8, 0.0024189595603349339_r8, & + 0.0026480744470442673_r8, 0.0029174081478504296_r8, & + 0.0032990397410858664_r8, 0.0037078097929291853_r8, & + 0.0044386642225915261_r8, 0.0052840820574843253_r8, & + 0.0060744240838051565_r8, 0.00686638774034157_r8, 0.0076354935650891839_r8, & + 0.0082165379798352575_r8, 0.0092739362704094813_r8, & + 0.010143368540994844_r8, 0.010900741394182636_r8, 0.011482060055215172_r8, & + 0.012075385934093987_r8, 0.013180348069741513_r8, 0.013923793981077804_r8, & + 0.014321761113984951_r8, 0.014336928126001307_r8, 0.014362647658170549_r8, & + 0.014312341350232653_r8, 0.014144204529129956_r8, 0.014014259484354608_r8, & + 0.013679265516203269_r8, 0.013238150840301015_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,68) / & + 0.00046981633464761974_r8, 0.00047206462221818432_r8, & + 0.00065583816380967888_r8, 0.00095888073234777623_r8, & + 0.0011758760472911146_r8, 0.0014108731255745579_r8, & + 0.0016766455452149542_r8, 0.0018155505299845692_r8, & + 0.0019499748441822325_r8, 0.0020456633592532015_r8, & + 0.0021411932704259906_r8, 0.0022969493671351356_r8, & + 0.0025882411098131662_r8, 0.0030450179067038176_r8, & + 0.0035479281154594837_r8, 0.0040264575032544171_r8, & + 0.0048318604684276147_r8, 0.0059152843595784267_r8, & + 0.0067963970501751046_r8, 0.0075947339686979563_r8, & + 0.0083679239961780595_r8, 0.0090215832340105277_r8, 0.01009447012718497_r8, & + 0.010970886817014787_r8, 0.011742567324162583_r8, 0.012304673853421053_r8, & + 0.012894379404854451_r8, 0.014077458278090833_r8, 0.014939412059581082_r8, & + 0.015412284059581775_r8, 0.015398251281479718_r8, 0.015326473077198009_r8, & + 0.015214178689808346_r8, 0.015028593882863775_r8, 0.014806884851230688_r8, & + 0.014432232313409279_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,68) / & + 0.00039342590274190611_r8, 0.00042953211874499419_r8, & + 0.00064807910147762304_r8, 0.0007020501803573333_r8, & + 0.00095530635995320489_r8, 0.0012539416303015043_r8, & + 0.0017366934495126913_r8, 0.0018697579204967833_r8, & + 0.001991018220583651_r8, 0.0020788525948290826_r8, & + 0.0021598284381826823_r8, 0.0023335105998233082_r8, & + 0.0026453134163991177_r8, 0.0031161985833524672_r8, & + 0.0037080957270364044_r8, 0.0043512404031118218_r8, & + 0.0054141252472639598_r8, 0.0064149612940695303_r8, & + 0.0072885212072215828_r8, 0.0081728839874148935_r8, & + 0.0089705771100080309_r8, 0.0097899016000623975_r8, & + 0.010912180584778166_r8, 0.011735212302228864_r8, 0.01245112213003895_r8, & + 0.013016562422718985_r8, 0.013562657524901734_r8, 0.014789344465286902_r8, & + 0.015654459782239265_r8, 0.01632157391033175_r8, 0.016509666608198002_r8, & + 0.016506581539522138_r8, 0.016084345962027728_r8, 0.016387226760725331_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,68) / & + 0.00025469242772065186_r8, 0.00035874190412894818_r8, & + 0.00052520780322398025_r8, 0.0006186732793551803_r8, & + 0.0010621932909668345_r8, 0.0013256924557601578_r8, & + 0.0019663295251640491_r8, 0.0021781156359719105_r8, & + 0.0023006274286530366_r8, 0.00239545901008316_r8, 0.0025035006971222914_r8, & + 0.0026673139645689284_r8, 0.002935044076841442_r8, & + 0.0032834805070163751_r8, 0.0038405994689705483_r8, & + 0.004560934856250469_r8, 0.0058949565753865863_r8, & + 0.0068956088121106575_r8, 0.0078142947308993179_r8, & + 0.0087117065438678514_r8, 0.0095748330927808781_r8, & + 0.010506569959279642_r8, 0.011579400303156543_r8, 0.012384580113710377_r8, & + 0.013089026237416413_r8, 0.013671915515834741_r8, 0.014212893214208433_r8, & + 0.015360739981101944_r8, 0.016182379371034072_r8, 0.016931509074857323_r8, & + 0.017214770345431188_r8, 0.01727674908389594_r8, 0.017236107451252966_r8, & + 0.017123684658835979_r8, 0.017081745131422181_r8, 0.016924771390470397_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,25,68) / & + 0.0001846549677812675_r8, 0.00032091495180220579_r8, & + 0.00045993057087578604_r8, 0.00088199515162521802_r8, & + 0.001433766514628609_r8, 0.0017099332434864195_r8, & + 0.0023002149490911603_r8, 0.0025881856669058107_r8, & + 0.0026854966002573168_r8, 0.0028143808048836211_r8, & + 0.0029359989071323133_r8, 0.0030753435572569549_r8, & + 0.0033545126944557035_r8, 0.0037271266501559827_r8, & + 0.0042851358935024203_r8, 0.0049996405305100912_r8, & + 0.0064570424423066337_r8, 0.0075243094949338594_r8, & + 0.0084620068615784035_r8, 0.0093527213360567567_r8, & + 0.010260134136376492_r8, 0.011237822485352164_r8, 0.012233168834068147_r8, & + 0.013018387727799834_r8, 0.013704581984789068_r8, 0.014300388670126219_r8, & + 0.014833172199557926_r8, 0.015956086628695965_r8, 0.016788973895950219_r8, & + 0.017458058538284246_r8, 0.017781441222969412_r8, 0.017864178822684311_r8, & + 0.017856899010679571_r8, 0.017806079136621054_r8, 0.017761416598846207_r8, & + 0.017702800059840238_r8, 0.017629977262464_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,68) / & + 0.00017751066305622917_r8, 0.00030570342127866668_r8, & + 0.00040881763801824589_r8, 0.00085264871112803451_r8, & + 0.0014028173440396011_r8, 0.0017641768218461563_r8, & + 0.0024020988917134124_r8, 0.0027453040864178222_r8, & + 0.0028603338430740863_r8, 0.0029862956954340046_r8, & + 0.0030965327541125531_r8, 0.0032284316731403949_r8, & + 0.0034972104346932841_r8, 0.0039418788914397382_r8, & + 0.0045320904181263815_r8, 0.0053059496861966671_r8, & + 0.0068118730566631529_r8, 0.0078709259896483381_r8, & + 0.0088325842742581224_r8, 0.0097626482759809157_r8, & + 0.010734114611713422_r8, 0.01182655823616967_r8, 0.012841514222269033_r8, & + 0.013642083920101763_r8, 0.014332386831454319_r8, 0.014933843960813827_r8, & + 0.015481415202894408_r8, 0.016614072049295263_r8, 0.017451300373363694_r8, & + 0.018094195934777745_r8, 0.018420530753730919_r8, 0.018511162327236031_r8, & + 0.018511597627188434_r8, 0.018481806123128719_r8, 0.018434587757071994_r8, & + 0.018297468272064441_r8, 0.01824785469456229_r8, 0.018314122742072735_r8, & + 0.018322507574692535_r8, 0.018305840288361599_r8, 0.018317634338640001_r8, & + 0.018317634338640001_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,68) / & + 0.00022656629248088973_r8, 0.0002176747699049739_r8, 0.0002184379459584_r8, & + 0.00025744472202239994_r8, 0.00027811831333631994_r8, & + 0.00028995036874239998_r8, 0.00035620278687534544_r8, & + 0.00052162697809221808_r8, 0.00066643076905344005_r8, & + 0.00084232965867093318_r8, 0.001048415458875733_r8, & + 0.0014809572645631999_r8, 0.0017774087626495998_r8, & + 0.0021848128682069329_r8, 0.0026290567067135994_r8, & + 0.0030057158880815995_r8, 0.0035791154962223994_r8, & + 0.0040341365045046861_r8, 0.0045704796753846845_r8, & + 0.0049031517512447987_r8, 0.0049671878752831997_r8, & + 0.0049655625929471998_r8, 0.0049870163197824006_r8, & + 0.0049587364071359986_r8, 0.0049460592049151986_r8, & + 0.0050162714018303989_r8, 0.0049109531064575988_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,68) / & + 0.00026341812329609606_r8, 0.0002513906472000197_r8, & + 0.00023092081741957858_r8, 0.00026856861481525259_r8, & + 0.00028297411682508381_r8, 0.00029173035626988764_r8, & + 0.00031430950565639504_r8, 0.00046503757363622724_r8, & + 0.0005865465338416591_r8, 0.0007797141376099094_r8, & + 0.00099672787481847568_r8, 0.0013350543858904758_r8, & + 0.001620961172098851_r8, 0.0021099777796006187_r8, & + 0.0024385835738561846_r8, 0.0028101794913760986_r8, & + 0.0034678087669379365_r8, 0.0039775072120413358_r8, & + 0.0044428548866697545_r8, 0.0047961638864956564_r8, & + 0.0049233794282250217_r8, 0.0049703900153735504_r8, & + 0.0048866817332570258_r8, 0.0048093074673250212_r8, & + 0.0048403157583750637_r8, 0.0050510262182729745_r8, & + 0.0051503344788742054_r8, 0.0051173257199949463_r8, & + 0.0051538323819027374_r8, 0.0054843606418770183_r8, & + 0.0054531852725670541_r8, 0.0054586538091041551_r8, & + 0.0054686639314917651_r8, 0.0054649997360492674_r8, & + 0.005459710532450395_r8, 0.0054597099258315591_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,68) / & + 0.00028780716622801649_r8, 0.00028456800808412182_r8, & + 0.00025299949141944361_r8, 0.00025756617339280324_r8, & + 0.00027033695263225675_r8, 0.00028570967857746173_r8, & + 0.00032710187158018102_r8, 0.00047220022614070776_r8, & + 0.00059262986914020079_r8, 0.0008069121280732971_r8, & + 0.0010403837439613103_r8, 0.0013575192303917826_r8, & + 0.0017442899792968424_r8, 0.0021925781824593117_r8, & + 0.0025359389021408661_r8, 0.002901532327156385_r8, & + 0.0035594996003732804_r8, 0.0040911961257410374_r8, & + 0.004525367535324106_r8, 0.0048739890422955685_r8, 0.005028396183594565_r8, & + 0.0051036241143164272_r8, 0.0049878521834957439_r8, & + 0.004875704392729498_r8, 0.005019160884782368_r8, 0.0052596797557422281_r8, & + 0.0053758627448343924_r8, 0.0053255901759975974_r8, & + 0.0053350652825072736_r8, 0.0056748759189994462_r8, & + 0.0057015846472193606_r8, 0.0057092024270253569_r8, & + 0.0056970523747852152_r8, 0.0056632598928013245_r8, & + 0.005726202309005857_r8, 0.0057263095788196135_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,68) / & + 0.00046624766263450698_r8, 0.00052468716565007398_r8, & + 0.00030238752725037036_r8, 0.00027546232496177773_r8, & + 0.00028071398980444439_r8, 0.00029421827082844437_r8, & + 0.00036336519125688884_r8, 0.00049684500600799997_r8, & + 0.0006049917898752_r8, 0.0008206664113959999_r8, 0.001043487048292_r8, & + 0.0013870021968399998_r8, 0.0017960693761919998_r8, & + 0.0021989470934079998_r8, 0.0026670955022399996_r8, & + 0.0030407139439039997_r8, 0.0037024237140799994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,68) / & + 0.0011963731602963267_r8, 0.0012451950737540078_r8, & + 0.0014101743614729036_r8, 0.0015901412380779866_r8, & + 0.0018226123248573202_r8, 0.0019043926358139919_r8, & + 0.0022652384252289967_r8, 0.0026164283352032628_r8, & + 0.0029686408474864029_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,68) / & + 0.0012374520584217748_r8, 0.0012901276784444678_r8, & + 0.001456946984766228_r8, 0.0016716697115497631_r8, & + 0.0019278704345220715_r8, 0.0020093495287160463_r8, & + 0.0023678560007219253_r8, 0.0026431797414438359_r8, & + 0.0031084525636956455_r8, 0.0031585226508479996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,68) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,68) / & + 0.0027603872595592864_r8, 0.0026830824242702776_r8, & + 0.0029210090779326413_r8, 0.0036296478410520494_r8, & + 0.0040710776627208879_r8, 0.0042734039300106668_r8, & + 0.0044178723643693322_r8, 0.0047653445582066644_r8, & + 0.0043612882167533337_r8, 0.0044278631158481477_r8, & + 0.0042471714324568881_r8, 0.0039059682996740734_r8, & + 0.0031958661534266662_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,68) / & + 0.0028115500106311781_r8, 0.0027377686158542337_r8, & + 0.0029931347137742217_r8, 0.0041071761331914272_r8, & + 0.0044864710308552061_r8, 0.0047417697323088115_r8, & + 0.0046298782961792309_r8, 0.0045459271293433676_r8, & + 0.0043535855954473877_r8, 0.0044028736954678507_r8, & + 0.0043444294307710416_r8, 0.0040884292739896879_r8, & + 0.0037558742691601783_r8, 0.0035272339739455994_r8, & + 0.0031761028180693329_r8, 0.0030470474529023998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,68) / & + 0.0027790138513516462_r8, 0.0027627351866088647_r8, & + 0.0031245462153606874_r8, 0.0038547722271482904_r8, & + 0.0036931895122140671_r8, 0.0048281554520921005_r8, & + 0.0047006984951131255_r8, 0.004750896219254115_r8, & + 0.0047523218550772741_r8, 0.0040909994437470813_r8, & + 0.0036235443254091851_r8, 0.0032686696862005331_r8, & + 0.0030565024714871995_r8, 0.0031190738195551989_r8, & + 0.0031323073000661325_r8, 0.0030655645287935998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,68) / & + 0.0026966445030218765_r8, 0.0027966103585893138_r8, & + 0.0030684957230052343_r8, 0.003213784435247126_r8, & + 0.0033544588682063014_r8, 0.0036236658831404014_r8, & + 0.0045921476580490722_r8, 0.0046499624159864654_r8, & + 0.0046059604232012805_r8, 0.0041643720163019931_r8, & + 0.0038605616658345249_r8, 0.0034875267886371073_r8, 0.0029466637135936_r8, & + 0.0029656095120334219_r8, 0.0031055650196053727_r8, & + 0.0029231788176109037_r8, 0.0027313526084077038_r8, & + 0.0027128015141020443_r8, 0.0027920054770240788_r8, & + 0.0028147667487608101_r8, 0.0027858217789221928_r8, & + 0.0027980576070812443_r8, 0.0027542454481891557_r8, & + 0.0028589078277647009_r8, 0.0034466222835333525_r8, & + 0.0034941183476776298_r8, 0.0036691696311789042_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,68) / & + 0.002791202524304856_r8, 0.0031207808643718055_r8, & + 0.0031291679995821566_r8, 0.0029189485138259494_r8, & + 0.002922510791684109_r8, 0.0028988374261710225_r8, & + 0.0047543783611491289_r8, 0.004624377765388695_r8, & + 0.0042962874654397104_r8, 0.0037431423706796516_r8, & + 0.0034728150825825972_r8, 0.003165106423037261_r8, & + 0.0028619069759706073_r8, 0.0029106966549899593_r8, & + 0.0029551574900297754_r8, 0.0028338145822284114_r8, & + 0.0026617881261666509_r8, 0.0026761274218488626_r8, & + 0.0027553542850993254_r8, 0.0028076160577272628_r8, & + 0.0028514456030200629_r8, 0.0029012273087847249_r8, & + 0.0029455528674501791_r8, 0.0030590046534138471_r8, & + 0.0034915734064939201_r8, 0.0035436548106227098_r8, & + 0.003733131918976975_r8, 0.0041002742535975944_r8, 0.004135263487825936_r8, & + 0.0041755758473853632_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,68) / & + 0.002616618693973333_r8, 0.0034111015902719994_r8, & + 0.0033639857756160001_r8, 0.0032160133940906661_r8, & + 0.0033351696136533328_r8, 0.0035629655435093339_r8, & + 0.0053446104640853332_r8, 0.004107136987903999_r8, & + 0.0035701464198826657_r8, 0.002922292386304_r8, 0.0027247951219199992_r8, & + 0.0026048976506026669_r8, 0.002485648774570665_r8, & + 0.0025463387619840002_r8, 0.0025741820310186667_r8, & + 0.0025923426990079991_r8, 0.0025562066759679991_r8, & + 0.002583679319125334_r8, 0.0026635028674560001_r8, & + 0.0027714939824639998_r8, 0.0028822647915519991_r8, & + 0.0029973904546986667_r8, 0.0031341050752000006_r8, & + 0.0032772129920853339_r8, 0.0034976890608639987_r8, & + 0.0036171232498346658_r8, 0.0038317156328106661_r8, & + 0.0042062446639146668_r8, 0.0042381300714240001_r8, & + 0.0041814416852799987_r8, 0.0041862887768319996_r8, & + 0.0042016465866240001_r8, 0.0042272892645119995_r8, & + 0.0042210349528320002_r8, 0.0042404233190399994_r8, & + 0.0042591862540799991_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,69) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,69) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,69) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,69) / & + 0.0028847147730682926_r8, 0.0029378795962962962_r8, & + 0.0028044335348148142_r8, 0.0034948362799999996_r8, & + 0.0033905672437037032_r8, 0.0036661958333333335_r8, & + 0.0041357185133333333_r8, 0.0045358486866666665_r8, & + 0.0047960289844444434_r8, 0.0051839281044444444_r8, & + 0.0054062087777777771_r8, 0.005617964088888888_r8, & + 0.0059165016355555555_r8, 0.0061523862355555544_r8, & + 0.0063034023022222226_r8, 0.0064458899133333324_r8, & + 0.0066326898342857141_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,69) / & + 0.0026000926641975312_r8, 0.0026509305797530864_r8, & + 0.0026760398320987656_r8, 0.0033129698543209879_r8, & + 0.0033491730325925935_r8, 0.0035846416103703705_r8, & + 0.0039711539896296289_r8, 0.0043257805767901222_r8, & + 0.0046151378997530863_r8, 0.0049863221713580246_r8, & + 0.0052552296908641976_r8, 0.0055131264888888887_r8, & + 0.0058791613298765436_r8, 0.0060844914088888881_r8, & + 0.0062184782992592601_r8, 0.0063635683604938266_r8, & + 0.0065676757964197533_r8, 0.0066114211934391529_r8, & + 0.0067491867542222228_r8, 0.0069572672023703692_r8, & + 0.0071835860647407402_r8, 0.0073422819016296286_r8, & + 0.0075490643604444446_r8, 0.0077465348551851851_r8, & + 0.0079364892151111109_r8, 0.0081327102564444434_r8, & + 0.0083223914284444433_r8, 0.0086496261879999998_r8, & + 0.0089978076664444431_r8, 0.0093029682868888894_r8, & + 0.0095346538359259263_r8, 0.009755730818296296_r8, & + 0.0099375644244444443_r8, 0.010122881523333332_r8, 0.010246980952222222_r8, & + 0.010398849864444443_r8, 0.01049049956_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,69) / & + 0.0014913194824691359_r8, 0.0015180281091358022_r8, & + 0.0017261686493827159_r8, 0.0020448046918518517_r8, & + 0.0021550043560493821_r8, 0.0023008432572839506_r8, & + 0.0025437540103703704_r8, 0.0028811665224691345_r8, & + 0.0032178209496296303_r8, 0.0034265624108641974_r8, & + 0.0037402524113580244_r8, 0.0039319462064197532_r8, & + 0.0044152438444444442_r8, 0.0047759720908641971_r8, & + 0.0050058567259259248_r8, 0.0052329863693827156_r8, & + 0.0056310641664197537_r8, 0.0058559565348148138_r8, & + 0.0060778535432098758_r8, 0.00627533466962963_r8, 0.006450258146666667_r8, & + 0.0066168981590123445_r8, 0.0068076212355555558_r8, & + 0.006977219628148147_r8, 0.0071448026241975309_r8, & + 0.0073344070632098777_r8, 0.0075395245086419755_r8, & + 0.0080130502469135789_r8, 0.0084019293303703706_r8, & + 0.0087314836449382677_r8, 0.0090483585266666663_r8, & + 0.0093412347042592589_r8, 0.0096159965809259288_r8, & + 0.0098523168486419743_r8, 0.01005439964308642_r8, 0.01026030175265432_r8, & + 0.010421838559074073_r8, 0.010586324335714282_r8, 0.010665155396074074_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,69) / & + 0.00051498928641975303_r8, 0.00051913101876543217_r8, & + 0.00061898559703703695_r8, 0.00069761379703703699_r8, & + 0.00073225458074074087_r8, 0.00085594260987654309_r8, & + 0.0010550878251851853_r8, 0.001393378606419753_r8, & + 0.0016147486533333332_r8, 0.0017323812479012345_r8, & + 0.0018817054908641976_r8, 0.0019735077279012347_r8, & + 0.002278544466172839_r8, 0.0026156796301234565_r8, & + 0.0029423772587654313_r8, 0.0032575279595061725_r8, & + 0.0038418450380246919_r8, 0.0043176357861728389_r8, & + 0.0047453990799999988_r8, 0.0051343706128395049_r8, & + 0.0054400822316049381_r8, 0.0057040714439506165_r8, & + 0.0059471208711111105_r8, 0.00615234925580247_r8, 0.0063377195130864192_r8, & + 0.0065115243525925926_r8, 0.0066776096686419753_r8, & + 0.007144331132345679_r8, 0.007635662621728395_r8, 0.0080392226671604922_r8, & + 0.008391408590617282_r8, 0.0086960015718518524_r8, & + 0.0090305296632098766_r8, 0.0093676186024691365_r8, & + 0.0096537032172839491_r8, 0.0099162409743209865_r8, & + 0.010154473788641974_r8, 0.010354404823703704_r8, 0.010494336209382716_r8, & + 0.010511711146370371_r8, 0.010431299597777777_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,69) / & + 0.00016896049185185187_r8, 0.0001683688158024691_r8, & + 0.00017414690222222219_r8, 0.0002555393387654321_r8, & + 0.00026361016987654318_r8, 0.00029373017876543211_r8, & + 0.00047454268148148143_r8, 0.0006917709960493827_r8, & + 0.0008204328019753086_r8, 0.0008949562493827159_r8, & + 0.00094942742567901241_r8, 0.00097453667802469143_r8, & + 0.0010351095135802469_r8, 0.0011466774286419752_r8, & + 0.0012587168355555553_r8, 0.0013920473353086422_r8, & + 0.0016744154849382719_r8, 0.0021022342483950616_r8, & + 0.0026000464395061732_r8, 0.0031299108316049378_r8, & + 0.0036834700004938267_r8, 0.0041492669703703695_r8, & + 0.0045900286474074067_r8, 0.0049836318943209867_r8, & + 0.005338286216296298_r8, 0.005632266008395061_r8, 0.0058706190069135796_r8, & + 0.0063758548834567889_r8, 0.0068440462923456784_r8, & + 0.0073361081318518524_r8, 0.0078013319155555557_r8, & + 0.0081239063017283942_r8, 0.0083962529382716027_r8, & + 0.0087124113372839505_r8, 0.0090694878330864186_r8, & + 0.0094564809491358027_r8, 0.0098146668375308638_r8, & + 0.010107389318024693_r8, 0.010280602481481481_r8, 0.010355172153580245_r8, & + 0.010360360545008818_r8, 0.010352978214166664_r8, 0.01034821996_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,69) / & + 0.00015692358222222218_r8, 0.00015617474222222224_r8, & + 0.00015618398716049382_r8, 0.00020857505234567902_r8, & + 0.00021251339604938272_r8, 0.00022567818814814815_r8, & + 0.00031160988938271615_r8, 0.00045824385530864194_r8, & + 0.00051259484740740727_r8, 0.00055119246469135803_r8, & + 0.00057990724296296285_r8, 0.00060336165135802455_r8, & + 0.00063896390864197523_r8, 0.00068808226567901223_r8, & + 0.00073183855851851839_r8, 0.0007876040261728393_r8, & + 0.00093864782765432108_r8, 0.0012002148661728394_r8, & + 0.0015754299308641973_r8, 0.0020601420444444443_r8, & + 0.0026161233871604935_r8, 0.0031709860923456786_r8, & + 0.0037401969417283957_r8, 0.004284585131851852_r8, & + 0.0048017284888888876_r8, 0.0052543329318518522_r8, & + 0.0056366018844444445_r8, 0.006384693044444445_r8, & + 0.0068997840251851838_r8, 0.0074070445432098762_r8, & + 0.0079201571071604929_r8, 0.008204605367901234_r8, & + 0.0083588571629629634_r8, 0.0085450871995061718_r8, & + 0.0088711191925925914_r8, 0.0093377389619753084_r8, & + 0.0097968056167901246_r8, 0.010135290541728393_r8, 0.010312053761481482_r8, & + 0.010371542628024689_r8, 0.010331839778370369_r8, 0.010354304285000001_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,69) / & + 0.00020692945333333331_r8, 0.00020466444345679013_r8, & + 0.00020275074123456791_r8, 0.00021083081728395063_r8, & + 0.00021080308246913576_r8, 0.00021683078222222219_r8, & + 0.00024630364543209873_r8, 0.00032022617185185182_r8, & + 0.00037056486074074077_r8, 0.00043221935407407406_r8, & + 0.00048577528148148144_r8, 0.00054159621876543208_r8, & + 0.00061697020049382705_r8, 0.00066719795012345681_r8, & + 0.00070566613827160486_r8, 0.00074570596592592588_r8, & + 0.00087092865481481466_r8, 0.0010878611313580244_r8, & + 0.0014461302241975307_r8, 0.0019463553441975308_r8, & + 0.0025584904419753089_r8, 0.0031753404582716047_r8, & + 0.0038292441871604936_r8, 0.0044976809590123448_r8, & + 0.005126346006419754_r8, 0.0056824845130864195_r8, & + 0.0061738160024691355_r8, 0.007102174213827161_r8, & + 0.0076636378049382715_r8, 0.0081262822508641978_r8, & + 0.008516668259259258_r8, 0.0087308457441975327_r8, & + 0.0087826913580246919_r8, 0.0088170640385185177_r8, & + 0.0090745263244444447_r8, 0.0094924530039506173_r8, & + 0.0099322809422222203_r8, 0.010214951863580247_r8, 0.010324063035349204_r8, & + 0.01039427362_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,69) / & + 0.00022504028740740742_r8, 0.00022186927358024689_r8, & + 0.00021998330617283951_r8, 0.00024299395753086419_r8, & + 0.00024402014567901232_r8, 0.00024096931604938277_r8, & + 0.00021582308395061729_r8, 0.00024007255703703705_r8, & + 0.00028615857432098764_r8, 0.00034905188938271604_r8, & + 0.00041796365925925925_r8, 0.00049848707160493817_r8, & + 0.00059623380395061717_r8, 0.00065235057925925927_r8, & + 0.00069965692839506156_r8, 0.00074651952049382714_r8, & + 0.00085707049234567902_r8, 0.0010541540864197529_r8, & + 0.0014042229190123455_r8, 0.0019192306953086415_r8, & + 0.0025557446953086418_r8, 0.0032280828311111115_r8, & + 0.003969794983703704_r8, 0.0047467026162962963_r8, & + 0.0054616691624691351_r8, 0.0060993665145678997_r8, & + 0.0066279088804938264_r8, 0.0075734719219753078_r8, & + 0.0081317829891358016_r8, 0.0085290194967901235_r8, & + 0.0088241549061728406_r8, 0.0089933002967901247_r8, & + 0.0090248347812345673_r8, 0.0090553245876543193_r8, & + 0.0092741152967901232_r8, 0.0096280017936243387_r8, & + 0.0099003743159947095_r8, 0.010195165384444444_r8, 0.010286066240000001_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,69) / & + 0.00018654436444444445_r8, 0.00018255979604938271_r8, & + 0.00017716999703703702_r8, 0.00016700056493827156_r8, & + 0.00017530251950617287_r8, 0.00019896031654320984_r8, & + 0.00020610665382716047_r8, 0.00017420237185185189_r8, & + 0.00019646418320987653_r8, 0.00023464577827160495_r8, & + 0.00029255607160493826_r8, 0.00038723348444444442_r8, & + 0.00052249617629629625_r8, 0.00060639399111111103_r8, & + 0.00066337979061728395_r8, 0.00071751814913580266_r8, & + 0.00081971169679012331_r8, 0.0009860558711111112_r8, & + 0.0013034623367901236_r8, 0.0018182852143209876_r8, & + 0.0024982966488888889_r8, 0.0032719038385185186_r8, & + 0.0040955168992592586_r8, 0.0049216815629629625_r8, & + 0.005708536749135803_r8, 0.0063510322241975316_r8, & + 0.0068713188602469132_r8, 0.0078534918572839493_r8, & + 0.0083918800824691348_r8, 0.008759884095308642_r8, & + 0.0090184187940740724_r8, 0.0091729941619753067_r8, & + 0.0092067844113580266_r8, 0.009193330880026454_r8, & + 0.0092857810221481478_r8, 0.0095052854405185162_r8, 0.00932156032_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,69) / & + 0.00012464025777777777_r8, 0.00012624887703703704_r8, & + 0.00011744769580246911_r8, 0.00010870198419753086_r8, & + 0.00011485911308641976_r8, 0.00010781447012345677_r8, & + 0.00013675112691358021_r8, 0.00011279749185185186_r8, & + 0.00012089605777777775_r8, 0.00013598379703703704_r8, & + 0.00016398671506172839_r8, 0.00022983841037037034_r8, & + 0.00040358778024691348_r8, 0.00055893047802469135_r8, & + 0.00066023651160493824_r8, 0.00070778322913580248_r8, & + 0.00077297853382716044_r8, 0.00090206560691358023_r8, & + 0.0011714261283950617_r8, 0.0016703384671604936_r8, & + 0.0024122909881481476_r8, 0.0032933983200000004_r8, & + 0.0042144530301234566_r8, 0.0051237574237037037_r8, & + 0.0059542487185185178_r8, 0.0065679647007407397_r8, & + 0.0070985039733333331_r8, 0.0080423751911111105_r8, & + 0.0085263014849382701_r8, 0.0089014980597530852_r8, & + 0.0091724024859259259_r8, 0.0093275602849382713_r8, & + 0.0093473999224691351_r8, 0.0093435540281481475_r8, & + 0.0093574237467901229_r8, 0.0093330502594603168_r8, & + 0.0092502333099999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,69) / & + 0.00011028286864197531_r8, 0.00011985137975308643_r8, & + 0.00011991609432098763_r8, 9.6655829629629632e-05_r8, & + 9.733995506172839e-05_r8, 9.4381574814814809e-05_r8, & + 0.00014839050419753087_r8, 0.00011752165530864196_r8, & + 0.00011059719654320987_r8, 0.00010786069481481479_r8, & + 0.00011061568641975311_r8, 0.00013978346666666667_r8, & + 0.00029365621925925929_r8, 0.00059328466864197525_r8, & + 0.00081624484493827152_r8, 0.00086004736246913572_r8, & + 0.00081213084740740726_r8, 0.00089375440740740747_r8, & + 0.0011652505096296293_r8, 0.0017492255254320987_r8, & + 0.0026219384533333334_r8, 0.0036016245619753086_r8, & + 0.0045987373792592589_r8, 0.0055590923219753082_r8, & + 0.0063189245535802468_r8, 0.0068483821683950619_r8, & + 0.0073164071683950605_r8, 0.0080912624246913568_r8, & + 0.0084968840913580215_r8, 0.0088599697970370359_r8, & + 0.0091095553955555537_r8, 0.0092310061496296298_r8, & + 0.0092901460197530872_r8, 0.0093447535588888873_r8, & + 0.0093985255867283946_r8, 0.0094074336460529106_r8, & + 0.0092522926199999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,69) / & + 0.00014648604691358026_r8, 0.0001526524207407407_r8, & + 0.00016011308592592591_r8, 0.00010504098864197532_r8, & + 0.00010289616296296297_r8, 9.3216712592592582e-05_r8, & + 0.00021451030271604933_r8, 0.00015406689629629628_r8, & + 0.0001589019990123457_r8, 0.00014556155308641979_r8, & + 0.00013586361283950615_r8, 0.00013490213925925924_r8, & + 0.00027955768839506171_r8, 0.00068554915259259257_r8, & + 0.0010944712622222223_r8, 0.0012297062192592591_r8, & + 0.0011178424661728394_r8, 0.0011396697654320988_r8, & + 0.0015332175427160491_r8, 0.0023232437427160493_r8, & + 0.0033400575234567901_r8, 0.004386640005432099_r8, & + 0.0052664715358024692_r8, 0.0060268584637037034_r8, & + 0.0066175545496296295_r8, 0.0070599710706172837_r8, & + 0.0074882705708641971_r8, 0.0082037825683950617_r8, & + 0.0085929574898765421_r8, 0.0089201358553086391_r8, & + 0.0091437709120987653_r8, 0.0092428211807407384_r8, & + 0.0093163461748148151_r8, 0.0093851831597442682_r8, & + 0.0094324678823280422_r8, 0.0094798619758333317_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,69) / & + 0.00016200156203978268_r8, 0.0001578730225908148_r8, & + 0.00015953994462185347_r8, 0.00012264475757438681_r8, & + 0.00012047388237117364_r8, 0.00010581078334232756_r8, & + 0.0001927620883567407_r8, 0.00014981946324318024_r8, & + 0.00015540171376572838_r8, 0.00015232953769689543_r8, & + 0.0001524846002114107_r8, 0.00018405920472957363_r8, & + 0.00049571547609086419_r8, 0.0010592417280606682_r8, & + 0.0014658156411195913_r8, 0.0016413076419221993_r8, & + 0.0016429648725460801_r8, 0.0018619228344487371_r8, & + 0.0025438974646938596_r8, 0.0034863868107317198_r8, & + 0.0044969001436059777_r8, 0.0053841969258835746_r8, & + 0.0060777624790887101_r8, 0.0066522109469246797_r8, & + 0.0071268863780772585_r8, 0.0075409323660543866_r8, & + 0.0079551721821746555_r8, 0.0086930044489962038_r8, & + 0.0091368951253139319_r8, 0.0094563505565849817_r8, & + 0.0096792032527389365_r8, 0.0097988012741882791_r8, & + 0.0099111755630278218_r8, 0.010052805614162325_r8, 0.010174775088330867_r8, & + 0.010252479060308886_r8, 0.010264319537003198_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,69) / & + 0.0001618309152711901_r8, 0.00015604218805075228_r8, & + 0.00015345702965983868_r8, 0.00014551907271832755_r8, & + 0.00014391728830356543_r8, 0.00014375508228688067_r8, & + 0.00014740471766228801_r8, 0.00012971412396760494_r8, & + 0.00012812247742888559_r8, 0.0001359691934860115_r8, & + 0.00019417073984771686_r8, 0.00036280416994362459_r8, & + 0.0010033050404515819_r8, 0.001631549218823796_r8, & + 0.0019530212681409316_r8, 0.0020884227405685465_r8, & + 0.0022669101861780539_r8, 0.002793562708725386_r8, & + 0.0036180457536580477_r8, 0.0045160385377770399_r8, & + 0.005401288011710235_r8, 0.0061397917299239229_r8, & + 0.0067920930881456973_r8, 0.0073406332850694317_r8, & + 0.0078266633383132708_r8, 0.0083160186148991469_r8, & + 0.0087411707225059816_r8, 0.0094928638174513504_r8, & + 0.0098972332791704507_r8, 0.010116464848595961_r8, 0.010325751161623492_r8, & + 0.010532928796434119_r8, 0.010718654685538185_r8, 0.010871818984027289_r8, & + 0.010936826846917226_r8, 0.010946360433134475_r8, 0.010913680808677011_r8, & + 0.010810231387067286_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,69) / & + 0.000202785464483121_r8, 0.00020003353480173825_r8, & + 0.0001931325419084247_r8, 0.00018935393076898761_r8, & + 0.0001926562463866469_r8, 0.00021997444064683459_r8, & + 0.0001940004581925531_r8, 0.00018213540752782222_r8, & + 0.0002044789596716642_r8, 0.00029354622224410864_r8, & + 0.00050707479682955063_r8, 0.00087839478560750636_r8, & + 0.0016803282634522863_r8, 0.0021430652393767901_r8, & + 0.0023917761765042175_r8, 0.0025777113638613329_r8, & + 0.002931387249643654_r8, 0.0035327368067504198_r8, & + 0.0043147823004747454_r8, 0.0051644723426364442_r8, & + 0.0059683850929828355_r8, 0.0067164442551420839_r8, & + 0.0074242194005038611_r8, 0.0080519980668968295_r8, & + 0.0086241560006910835_r8, 0.0091791143739766903_r8, & + 0.0096419677776954076_r8, 0.010494653189471842_r8, 0.010875223895717214_r8, & + 0.011033883226193858_r8, 0.011226677069064574_r8, 0.011439316558676029_r8, & + 0.011618149650586192_r8, 0.011663133116531872_r8, 0.011578352513655426_r8, & + 0.011440851288690648_r8, 0.011357309054170824_r8, 0.011275329333571055_r8, & + 0.011209400772055201_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,19,69) / & + 0.00027741393660807897_r8, 0.00027015566111847242_r8, & + 0.00027725950521468315_r8, 0.00029865928401382721_r8, & + 0.00032419561799321817_r8, 0.00036143564542925427_r8, & + 0.00038244934574490865_r8, 0.00049129038564756544_r8, & + 0.00073300860875356703_r8, 0.0011006435715462848_r8, & + 0.0014972123589731029_r8, 0.0018997267550456625_r8, & + 0.0023930688720626308_r8, 0.0026683207691631673_r8, & + 0.0028699750764967502_r8, 0.0030761520174940704_r8, & + 0.0035262312827325638_r8, 0.0041144383985498596_r8, & + 0.0048411704742432667_r8, 0.0056600208760973162_r8, & + 0.0064865376935520922_r8, 0.0072758255143846456_r8, & + 0.0080014103854413963_r8, 0.0087755198064658948_r8, & + 0.0094543229961375087_r8, 0.010028388608645269_r8, 0.010541564128899793_r8, & + 0.01147963556645547_r8, 0.012017972373019707_r8, 0.012301762120012275_r8, & + 0.012496875154754162_r8, 0.012617166179395739_r8, 0.012620111406684077_r8, & + 0.012454616107032761_r8, 0.012280207909819731_r8, 0.012074530113147497_r8, & + 0.011958346884778722_r8, 0.011833681669710728_r8, 0.011811991228967585_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,69) / & + 0.00034858803015190126_r8, 0.00036936191183815632_r8, & + 0.00039950125620727569_r8, 0.00043311821723437043_r8, & + 0.00053394614575025506_r8, 0.00066912558138600825_r8, & + 0.00091796454759578594_r8, 0.0013433470762906339_r8, & + 0.0017510545896281154_r8, 0.0020769520318829294_r8, & + 0.0022908197177070617_r8, 0.0024721952162086581_r8, & + 0.0026734952774767405_r8, 0.0028851708023052507_r8, & + 0.0031584334260997531_r8, 0.0034212402453549303_r8, 0.00401974610629037_r8, & + 0.0047181846676911275_r8, 0.0054828815821166086_r8, & + 0.006270383857266173_r8, 0.0070925934352992943_r8, & + 0.0078043112127834735_r8, 0.0085654501695720808_r8, & + 0.0094721210709914731_r8, 0.010229633206447012_r8, 0.010860654209270387_r8, & + 0.01143504629925399_r8, 0.012451405591433351_r8, 0.013120772195756048_r8, & + 0.013466628632625446_r8, 0.013614731488580939_r8, 0.013684134617065347_r8, & + 0.013602370455113482_r8, 0.013377473100615047_r8, 0.013187099412476972_r8, & + 0.012942162722385053_r8, 0.012775861200049031_r8, 0.012519106761864299_r8, & + 0.012110989386563556_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,69) / & + 0.00040755382918162961_r8, 0.00045549923430565929_r8, & + 0.00050554321970868159_r8, 0.00059624719801718528_r8, & + 0.0007673888045193482_r8, 0.0010037056371861334_r8, & + 0.0014438828507048293_r8, 0.0017182126034251852_r8, & + 0.0019605867018972442_r8, 0.0021213784920234668_r8, & + 0.0022424045706130962_r8, 0.0024043052696367403_r8, & + 0.0026396085834187854_r8, 0.0029513192973586963_r8, 0.0033903637544768_r8, & + 0.0038104732940776303_r8, 0.0045755608145410373_r8, & + 0.0053740348394429619_r8, 0.0061526319704523847_r8, & + 0.0069840036259778355_r8, 0.0077920047283963267_r8, & + 0.0084522824724259545_r8, 0.0094309959262895409_r8, & + 0.010394160808086046_r8, 0.011122081994858432_r8, 0.011740376209556626_r8, & + 0.01232347150957535_r8, 0.01340558773718566_r8, 0.01414672044071443_r8, & + 0.014538129510249718_r8, 0.01460696532815099_r8, 0.014608193474564267_r8, & + 0.014518503015140504_r8, 0.014333267534264652_r8, 0.014224694323736801_r8, & + 0.01400780937351943_r8, 0.013578805865026381_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,69) / & + 0.00042734163638363109_r8, 0.00047025393119677373_r8, & + 0.00057406482138757525_r8, 0.00081329251507202623_r8, & + 0.0010071833507310616_r8, 0.0012473759216122336_r8, & + 0.0015309879663458505_r8, 0.001683896261585185_r8, & + 0.0018302730804159477_r8, 0.0019696607246807176_r8, & + 0.0020696121060846352_r8, 0.0022404680449495157_r8, & + 0.0026425914406258987_r8, 0.0031541325289214661_r8, & + 0.003658263855155035_r8, 0.0041261102321926832_r8, & + 0.0049236832896014633_r8, 0.00584869281202268_r8, 0.0067360140279149232_r8, & + 0.0075755258879651533_r8, 0.0083546989051140295_r8, & + 0.009104974203655981_r8, 0.01012794526915967_r8, 0.01114034182841135_r8, & + 0.011840536156839266_r8, 0.012397548585128509_r8, 0.012955666115899381_r8, & + 0.014107439230396765_r8, 0.015009504998041079_r8, 0.01542478571364506_r8, & + 0.015429389026117105_r8, 0.015362117867484567_r8, 0.0152560166309736_r8, & + 0.014985229412313063_r8, 0.014841730436916112_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,69) / & + 0.00034221842250466503_r8, 0.00038985805684232418_r8, & + 0.00051417994359919663_r8, 0.00062413432158756868_r8, & + 0.00087344456294784515_r8, 0.0012088701400936293_r8, & + 0.001644381244423374_r8, 0.001766588377436444_r8, 0.0019277582460929049_r8, & + 0.0020550664214698138_r8, 0.0021591507557329644_r8, & + 0.0023255370169574718_r8, 0.0027157411244124172_r8, & + 0.0032438784427207112_r8, 0.0038158232052491053_r8, & + 0.0044132090961499122_r8, 0.0053059427765791076_r8, & + 0.0063048370949471853_r8, 0.0072219609352215698_r8, & + 0.0080936752451063031_r8, 0.0088918730248428515_r8, & + 0.0097803131143376597_r8, 0.010819157053429569_r8, 0.011704003663646082_r8, & + 0.012424610808105283_r8, 0.013023414545266138_r8, 0.013609238180281322_r8, & + 0.01483540810457263_r8, 0.015806330227289864_r8, 0.016368636976743935_r8, & + 0.016544516033374972_r8, 0.016583076576728969_r8, 0.016422004847293864_r8, & + 0.016292754943479464_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,69) / & + 0.00023313979557744194_r8, 0.00031381958716337777_r8, & + 0.00047090843338133334_r8, 0.00071078591334569879_r8, & + 0.0010889716074573826_r8, 0.0013854695099567407_r8, & + 0.0019070962604553876_r8, 0.0020599011065611859_r8, & + 0.002237335637522331_r8, 0.0023912943783951806_r8, & + 0.0025145223816213729_r8, 0.0026635074381534812_r8, & + 0.0029197367343354224_r8, 0.0033161741920828443_r8, & + 0.0038800474173717424_r8, 0.0045933251465721525_r8, & + 0.005834237836954824_r8, 0.006749568176708267_r8, 0.0076977049383732329_r8, & + 0.0086590468319628685_r8, 0.0095268486441561894_r8, & + 0.010456551273759593_r8, 0.011445667878602706_r8, 0.012289465032272833_r8, & + 0.012999108656114942_r8, 0.013662957910337069_r8, 0.014265091320838176_r8, & + 0.015358127138928276_r8, 0.016203805813700296_r8, 0.016899927742451554_r8, & + 0.017219740713982367_r8, 0.017339933348708043_r8, 0.017365392590821947_r8, & + 0.017249205997460555_r8, 0.017149661501621331_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,69) / & + 0.00022607689244383538_r8, 0.0003291395040048983_r8, & + 0.00054907399386604119_r8, 0.0010560902791114731_r8, & + 0.0015805180356236917_r8, 0.0018454034550589018_r8, & + 0.0021626425130875271_r8, 0.0024662287410152522_r8, & + 0.0025988191964466329_r8, 0.0027453721726631367_r8, & + 0.0028721290838258284_r8, 0.0029987748001199248_r8, & + 0.0032435442305597103_r8, 0.003616424348878081_r8, & + 0.0042017696584207686_r8, 0.0049300819463899744_r8, & + 0.0063367111844156816_r8, 0.0073886955281283534_r8, & + 0.0083113540213693993_r8, 0.0092897995334661441_r8, & + 0.010198541188358176_r8, 0.011139599078389411_r8, 0.012022940025769015_r8, & + 0.01284505323980439_r8, 0.013504452030572784_r8, 0.014159301428467757_r8, & + 0.014729615306975958_r8, 0.015864108495482317_r8, 0.016709579388810385_r8, & + 0.017396533061216576_r8, 0.017742221945756708_r8, 0.017881973869732944_r8, & + 0.01792415334922022_r8, 0.017871254703985529_r8, 0.017843991396738961_r8, & + 0.017669707761879701_r8, 0.017572866872886856_r8, 0.017519151378690132_r8, & + 0.017682725052837335_r8, 0.017700215109645329_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,69) / & + 0.00020490524296181336_r8, 0.00032160340463096139_r8, & + 0.00052044886992414819_r8, 0.0009593586268124445_r8, & + 0.0015276878372331333_r8, 0.0018378935679029338_r8, & + 0.0022934639608682673_r8, 0.0026798020606528892_r8, & + 0.0028103283439423117_r8, 0.0029417146100645334_r8, & + 0.0030589328761837582_r8, 0.0031998658204195883_r8, & + 0.0034660748093171198_r8, 0.0038152278394339204_r8, & + 0.0044820011957981878_r8, 0.00528895812415206_r8, 0.0067314359957019254_r8, & + 0.0078794493750578669_r8, 0.0087766981306125341_r8, & + 0.0097295591093549336_r8, 0.010707789581664934_r8, 0.011704284451281065_r8, & + 0.0126279879168352_r8, 0.013443633856921957_r8, 0.014122064758353068_r8, & + 0.014764567488102757_r8, 0.015309414389505602_r8, 0.016481857651556266_r8, & + 0.017322920862034668_r8, 0.017949179471609244_r8, 0.018315149943789688_r8, & + 0.018448733943817956_r8, 0.018487796275156693_r8, 0.018472144587599732_r8, & + 0.018440611883730397_r8, 0.0182926948364888_r8, 0.018193414596124443_r8, & + 0.018167424003844267_r8, 0.018256862218455464_r8, 0.018278648450219735_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,69) / & + 0.00026585559382000864_r8, 0.00025580052347315527_r8, & + 0.00026709285139528671_r8, 0.00030465229986001668_r8, & + 0.00033106666718100264_r8, 0.0003467497406847989_r8, & + 0.00036496033305913393_r8, 0.00062435657104046368_r8, & + 0.00060521372531433708_r8, 0.00073898337253247993_r8, & + 0.0007949960194388267_r8, 0.00079693552302645323_r8, & + 0.0006639711751182932_r8, 0.00045400528421668269_r8, & + 0.00076925371427970127_r8, 0.0011144723506185598_r8, & + 0.00087547435332222283_r8, 0.0010498997247026653_r8, & + 0.0011818489608936146_r8, 0.0012841238335672123_r8, & + 0.0012382538952393331_r8, 0.0012604959081774717_r8, & + 0.001002463309335281_r8, 0.00084030115994376993_r8, & + 0.00088022946867432955_r8, 0.00089162530267771552_r8, & + 0.00034315105229694274_r8, 0.0003398174204425437_r8, & + 0.0003398174204425437_r8, 0.0003398174204425437_r8, & + 0.0003398174204425437_r8, 0.0003398174204425437_r8, & + 0.0003398174204425437_r8, 0.0003398174204425437_r8, & + 0.0003398174204425437_r8, 0.0003398174204425437_r8, & + 0.00033981742044254375_r8, 0.00033981742044254375_r8, & + 0.00033981742044254381_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,28,69) / & + 0.00031513981876414782_r8, 0.00030295284789136134_r8, & + 0.00023141474415928312_r8, 0.00020912678801798633_r8, & + 0.0002065436664241536_r8, 0.00021039885600481593_r8, & + 0.0002627983526602271_r8, 0.00038082933277719183_r8, & + 0.00043439136843858103_r8, 0.00058005593021735237_r8, & + 0.00074010284944210636_r8, 0.00092404146796725307_r8, & + 0.0011908869428814376_r8, 0.0016500537080397033_r8, & + 0.0018949132486286813_r8, 0.0022308855235967009_r8, & + 0.0030422805911435057_r8, 0.0036468142482505754_r8, & + 0.0041584543052805923_r8, 0.0045321285323073543_r8, & + 0.0047175284226508045_r8, 0.0047754160507236737_r8, & + 0.0045510041898442662_r8, 0.004430202585371459_r8, & + 0.0046558414697686545_r8, 0.0049454255293753897_r8, & + 0.0036407415528090406_r8, 0.0035963183859921291_r8, & + 0.0045479887449361434_r8, 0.0047925065415745424_r8, & + 0.0048045530158324096_r8, 0.0048067704578675496_r8, & + 0.0048116244953570059_r8, 0.0037588941804143107_r8, & + 0.0037588941804143107_r8, 0.0029084863077056865_r8, & + 0.00035726268957981405_r8, 0.00035726268957981405_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,69) / & + 0.00029027636055082147_r8, 0.0002652392611271111_r8, & + 0.00022817479580844775_r8, 0.00016679009393398518_r8, & + 0.00017199398734548806_r8, 0.00018293278370027982_r8, & + 0.00021946623948715719_r8, 0.00032726117443971682_r8, & + 0.00042087815489359016_r8, 0.00057558778197944345_r8, & + 0.00078124777364016462_r8, 0.0010434735556743902_r8, & + 0.001481231176059628_r8, 0.0019423366217955818_r8, & + 0.0023350414022183506_r8, 0.0027898046028590352_r8, & + 0.0035429221465528363_r8, 0.0041196217297394576_r8, & + 0.0046319662764831866_r8, 0.0049766644764229267_r8, & + 0.0051291936456188836_r8, 0.0051528036569259191_r8, & + 0.0049639169288504884_r8, 0.0048508351302470852_r8, & + 0.0050174341555727572_r8, 0.0052951255902202506_r8, & + 0.0054211090239834414_r8, 0.0053964156584084318_r8, & + 0.005453171569158941_r8, 0.0056884519362646012_r8, & + 0.0057055115657045335_r8, 0.0057066718561111377_r8, & + 0.0057123127923500213_r8, 0.0057162866848256928_r8, & + 0.0057262820801347617_r8, 0.0057263080532595264_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,69) / & + 0.00040284394431026806_r8, 0.00034562206646702223_r8, & + 0.00021459302864248886_r8, 0.00019852960300468148_r8, & + 0.00021021247328562961_r8, 0.00021854011325042968_r8, & + 0.0002774421192477037_r8, 0.00041473564299170362_r8, & + 0.00050895301106192582_r8, 0.00068773885505096278_r8, & + 0.00094796718398103687_r8, 0.0013060390305155557_r8, & + 0.0018199519472622222_r8, 0.0021772318760823698_r8, & + 0.0026001159355561478_r8, 0.0030007429392681483_r8, & + 0.0037446871120995553_r8, 0.0044425802278433325_r8, & + 0.0049893160498566663_r8, 0.0053341910044799991_r8, & + 0.0054663735329753323_r8, 0.0055191715205899989_r8, & + 0.0053825188249964446_r8, 0.0052863008227004432_r8, & + 0.0054210310338426654_r8, 0.0056323480239404439_r8, & + 0.005699931948879999_r8, 0.0056776498851903992_r8, & + 0.0057865844187839997_r8, 0.0059674855166679999_r8, & + 0.0059711429261120001_r8, 0.0059711429261120001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,69) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,69) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,69) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,69) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,69) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,69) / & + 0.0011572010418344518_r8, 0.0012004658832575998_r8, & + 0.0013601478059711996_r8, 0.0015112753399679998_r8, & + 0.0016709572626815998_r8, 0.0018334906483007997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,69) / & + 0.0011963817991656486_r8, 0.0012435986924066204_r8, & + 0.0014053129296661185_r8, 0.0015684120836256315_r8, & + 0.0017428980969914248_r8, 0.0018776342800782533_r8, & + 0.0022623851084826001_r8, 0.0026656767736735819_r8, & + 0.0030253418903576574_r8, 0.003116138826043733_r8, & + 0.0031274181080161523_r8, 0.0030747346082114369_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,69) / & + 0.0012389661408927738_r8, 0.0012857127911224029_r8, & + 0.0014520521344653582_r8, 0.0016810940927813494_r8, & + 0.0018974272677566822_r8, 0.0019850158855251889_r8, & + 0.0023756671761048522_r8, 0.0027662324155357625_r8, & + 0.0031477565296826899_r8, 0.0032070618368349982_r8, & + 0.0032407372443477587_r8, 0.0031608114353775998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,69) / & + 0.0016053537186743927_r8, 0.0016418685824339807_r8, & + 0.0018048210093647998_r8, 0.0019927493266463999_r8, & + 0.0021767378469199996_r8, 0.0021380410743040736_r8, & + 0.0024931035466623998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,40,69) / & + 0.0027629843405568119_r8, 0.0026869039103693828_r8, & + 0.0029106389308280484_r8, 0.0036108828129580248_r8, & + 0.0040197267658795052_r8, 0.004237819029173826_r8, & + 0.0045022818689520981_r8, 0.0045708139677037036_r8, & + 0.004157634064773332_r8, 0.0044313409090844429_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,69) / & + 0.0027919101482498693_r8, 0.0027494565819979849_r8, & + 0.0029994664344317628_r8, 0.0042159079165615086_r8, & + 0.0044266362706414453_r8, 0.0046220257210500262_r8, & + 0.0045797149288914008_r8, 0.0044782025485847702_r8, & + 0.0043618416625792779_r8, 0.0043611277921129874_r8, & + 0.0044127437306104881_r8, 0.0044834789824660538_r8, & + 0.004361810624732918_r8, 0.0041712072102331257_r8, & + 0.0039843283372965922_r8, 0.0042389539608819809_r8, & + 0.0073159307656319988_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,69) / & + 0.002777157762470056_r8, 0.0027834356744805568_r8, & + 0.0031070869712663102_r8, 0.00373976880641825_r8, 0.003346408392970074_r8, & + 0.0046849717501581036_r8, 0.0045357594626580138_r8, & + 0.0046058905163802065_r8, 0.0046343393029858355_r8, & + 0.0041283344805508734_r8, 0.0037287180739004949_r8, & + 0.0036098633358954664_r8, 0.0042444950317023994_r8, & + 0.0053975339423071996_r8, 0.0052594454500191987_r8, & + 0.0051955795223359996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,69) / & + 0.0027967795175039552_r8, 0.0029126627717507049_r8, & + 0.0031188994409378449_r8, 0.0032344819682252326_r8, & + 0.0032985292923954092_r8, 0.0035627705534130409_r8, & + 0.0045154416084332407_r8, 0.0045659374239971559_r8, & + 0.0045487085885409428_r8, 0.0041964548840072056_r8, & + 0.003920168568495367_r8, 0.0035185571119845521_r8, & + 0.0029713327219787846_r8, 0.0029620242828147744_r8, & + 0.0030386955608759304_r8, 0.0028804192030765828_r8, & + 0.0026984605972274565_r8, 0.0026961581564448394_r8, & + 0.0027717439981370471_r8, 0.0027882557877495309_r8, & + 0.0027817431695358421_r8, 0.0028179243818341137_r8, & + 0.002775362119366874_r8, 0.0029176529597326221_r8, & + 0.0034264265886686813_r8, 0.003497473332818015_r8, & + 0.0036731166725205333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,69) / & + 0.0028663710963245043_r8, 0.0032074479282120961_r8, & + 0.0032038856503539366_r8, 0.0028167697590589895_r8, & + 0.0027410149894171137_r8, 0.0029756293146829954_r8, & + 0.0047390019465968197_r8, 0.0045891608159301803_r8, & + 0.0042678343346992205_r8, 0.0037769614642697755_r8, & + 0.0034990586992085337_r8, 0.0031731779133741035_r8, & + 0.0028820180636255342_r8, 0.0029074049298805208_r8, & + 0.0029133570903523824_r8, 0.0027907516030569878_r8, & + 0.0026239107413457119_r8, 0.0026676050102641519_r8, & + 0.002746876965639401_r8, 0.0027951706312860976_r8, & + 0.0028576683162406455_r8, 0.0029144393013472662_r8, & + 0.0029653483102315987_r8, 0.0031012559743391083_r8, & + 0.0034823746130374059_r8, 0.0035454021304581998_r8, & + 0.0037416599670772846_r8, 0.0040698505970039184_r8, & + 0.0040631882355666648_r8, 0.0041759816765084452_r8, & + 0.0041017149469845336_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,69) / & + 0.0026346867054933328_r8, 0.0034320419523413332_r8, & + 0.0034027625080319994_r8, 0.0031161297201493334_r8, & + 0.0032348689855999997_r8, 0.0035997038335999986_r8, & + 0.0052838741484373328_r8, 0.0040910147622399999_r8, & + 0.0035627802305706665_r8, 0.0029202076157439998_r8, & + 0.0027234979313493332_r8, 0.0026057315588266668_r8, & + 0.0024906058956799993_r8, 0.0025465240749226658_r8, & + 0.0025728848404479999_r8, 0.0025873855778986662_r8, & + 0.0025457364949333329_r8, 0.0025830307238400006_r8, & + 0.0026635028674560001_r8, 0.0027712160130559989_r8, & + 0.0028852297985706653_r8, 0.0029996605381973334_r8, & + 0.0031378576622079993_r8, 0.0032814751896746664_r8, & + 0.0034977353890986653_r8, 0.0036174012192426658_r8, & + 0.0038345879833599993_r8, 0.0041992491004800006_r8, & + 0.0042296867506559999_r8, 0.0041722513217279994_r8, & + 0.0041866362385919991_r8, 0.0042019245560320001_r8, & + 0.0042272892645119995_r8, 0.0042211044451839997_r8, & + 0.0042404233190399994_r8, 0.0042591862540799991_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,70) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,70) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,70) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,70) / & + 0.0030572948263216282_r8, 0.0030074107770370366_r8, & + 0.0029996034266666664_r8, 0.0035236804874074074_r8, & + 0.0035226681666666666_r8, 0.0037743477437037032_r8, & + 0.0041674610088888887_r8, 0.0045419226111111108_r8, & + 0.004828145899999998_r8, 0.005168618486666666_r8, 0.0054095369555555561_r8, & + 0.0055969965688888882_r8, 0.0059081395888888888_r8, & + 0.0061418192711111107_r8, 0.0062680820155555563_r8, & + 0.0064193060933333329_r8, 0.0065792250355555561_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,70) / & + 0.002787959054814815_r8, 0.0028167662824691358_r8, & + 0.0029441800217283949_r8, 0.0034639212064197533_r8, 0.00352651868345679_r8, & + 0.003760942583209876_r8, 0.0040533230009876546_r8, & + 0.0043857802261728397_r8, 0.0047027059550617282_r8, & + 0.0050425406409876543_r8, 0.0053107085654320986_r8, & + 0.0055167967293827157_r8, 0.005887583468641976_r8, & + 0.0060833265466666659_r8, 0.006200681793086419_r8, & + 0.0063589828711111103_r8, 0.006545552659135802_r8, & + 0.0065685720931851843_r8, 0.0067420519731111114_r8, & + 0.006944850325777777_r8, 0.0071804853124444457_r8, & + 0.0074081534735555557_r8, 0.0076196134088888879_r8, & + 0.0078065321933333334_r8, 0.0079755828233333322_r8, & + 0.0081344062403703697_r8, 0.0083232664618518512_r8, & + 0.0086643145459259271_r8, 0.0089937140077777766_r8, & + 0.0092894295370370382_r8, 0.009503694848888888_r8, & + 0.0097384423214814803_r8, 0.0099450666918518508_r8, & + 0.010129309066666667_r8, 0.010280158724444443_r8, 0.01042926108888889_r8, & + 0.010534306700000001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,70) / & + 0.0016756450617283949_r8, 0.0017032134676543212_r8, & + 0.0020771527308641978_r8, 0.0023725839782716049_r8, & + 0.0024425404261728392_r8, 0.002599852295802469_r8, & + 0.0027584954365432093_r8, 0.0031024071402469132_r8, & + 0.0035555477896296295_r8, 0.0038379806538271608_r8, & + 0.0041571066780246909_r8, 0.0043363382962962969_r8, & + 0.0048063786928395054_r8, 0.0050357733461728399_r8, & + 0.0052182222029629631_r8, 0.005401937616296296_r8, & + 0.0057195936953086416_r8, 0.0058747977190123464_r8, & + 0.0061059489106172838_r8, 0.0063155501511111102_r8, & + 0.0065064488814814804_r8, 0.0067211440829629621_r8, & + 0.0069277869432098774_r8, 0.0070956842671604939_r8, & + 0.0072536987520987663_r8, 0.0074455682009876532_r8, & + 0.0076379368765432101_r8, 0.0080938787422222234_r8, & + 0.0084956730044444453_r8, 0.0088292766019753086_r8, & + 0.0091273981264197532_r8, 0.0093881701002469144_r8, & + 0.0096531855007407387_r8, 0.0098890053861728378_r8, & + 0.010087521945679011_r8, 0.01027426045382716_r8, 0.010392897609991184_r8, & + 0.010525971991936507_r8, 0.010542453801851853_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,70) / & + 0.00055566701481481477_r8, 0.00056705677876543205_r8, & + 0.00079629426814814813_r8, 0.00088444475456790107_r8, & + 0.00089959720839506165_r8, 0.0010317258661728397_r8, & + 0.0012801373575308641_r8, 0.0015841479076543208_r8, & + 0.001900907227654321_r8, 0.0021086132558024691_r8, & + 0.0022947970676543208_r8, 0.002353114138271605_r8, & + 0.0027192876533333335_r8, 0.0029541090854320984_r8, & + 0.0031966870207407409_r8, 0.0034373789886419761_r8, & + 0.0038655952844444444_r8, 0.0041106323733333342_r8, & + 0.0044821679525925929_r8, 0.0048537405116049377_r8, & + 0.0051754736083950616_r8, 0.0054734194790123456_r8, & + 0.0057411251565432095_r8, 0.0059606369708641964_r8, & + 0.0061643491856790116_r8, 0.0063832046093827153_r8, & + 0.0065776349061728405_r8, 0.007008421294814814_r8, & + 0.0075217187575308637_r8, 0.0079647916691358029_r8, & + 0.0083385182987654322_r8, 0.0086139250098765437_r8, & + 0.0089275687856790117_r8, 0.0092759920192592594_r8, & + 0.009564887095308644_r8, 0.0098241798790123444_r8, 0.010026717986666666_r8, & + 0.010217764636049382_r8, 0.010341290878765433_r8, 0.010375644144888887_r8, & + 0.010262186564444442_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,70) / & + 0.00015002685827160493_r8, 0.00015518553382716047_r8, & + 0.00020416521679012344_r8, 0.00031384716444444441_r8, & + 0.00030936336938271604_r8, 0.00034063899555555552_r8, & + 0.00059781468839506166_r8, 0.00083824779802469133_r8, & + 0.00099700187802469111_r8, 0.0010986869540740738_r8, & + 0.0011599439150617285_r8, 0.0011631796434567899_r8, & + 0.0012028404286419752_r8, 0.0012977582098765432_r8, & + 0.0013806575713580245_r8, 0.0014625122548148144_r8, & + 0.0016491490686419753_r8, 0.001898706932345679_r8, & + 0.0023429631960493824_r8, 0.0028672251555555556_r8, & + 0.0034924141061728389_r8, 0.0039469414962962955_r8, & + 0.0043831731535802455_r8, 0.0048156143861728378_r8, & + 0.0052117415012345675_r8, 0.0055150956607407401_r8, & + 0.0057629432108641972_r8, 0.0063155409061728387_r8, & + 0.0068137598745679024_r8, 0.0073019111051851847_r8, & + 0.0077228054098765434_r8, 0.0079924062997530874_r8, & + 0.0082384695767901243_r8, 0.0085569022306172839_r8, & + 0.008912111248888889_r8, 0.0093014618241975301_r8, & + 0.0096817061353086393_r8, 0.0099683269565432088_r8, & + 0.010134680375802469_r8, 0.010229912484938273_r8, 0.010258973816324514_r8, & + 0.01026135452_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,70) / & + 0.00014672641530864196_r8, 0.00014879728148148148_r8, & + 0.00015037816592592591_r8, 0.00022122212790123456_r8, & + 0.00022735152197530864_r8, 0.00024779208049382714_r8, & + 0.00037927359259259258_r8, 0.0005201941866666668_r8, & + 0.00057819692938271597_r8, 0.00062187001777777768_r8, & + 0.00065119496197530867_r8, 0.00067623949975308627_r8, & + 0.00070678477580246905_r8, 0.00075582917333333333_r8, & + 0.00078409094962962958_r8, 0.00082929869777777785_r8, & + 0.00094383423802469127_r8, 0.0011526496587654321_r8, & + 0.0015471496646913578_r8, 0.0020660218251851849_r8, & + 0.0026332265229629631_r8, 0.003219411079012345_r8, & + 0.0038078513999999994_r8, 0.0044091976548148145_r8, & + 0.0049668893111111103_r8, 0.005432649301234568_r8, & + 0.0058312448148148139_r8, 0.0066417208182716053_r8, & + 0.0071788794666666662_r8, 0.0076636655397530852_r8, & + 0.0080823595491358018_r8, 0.0082827805659259259_r8, & + 0.0083810912395061721_r8, 0.008515891684444445_r8, 0.008792740605925926_r8, & + 0.0092574744079012335_r8, 0.0097358075140740775_r8, & + 0.010100880881481481_r8, 0.010272925748881834_r8, 0.010310785983285714_r8, & + 0.01029778246583333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,70) / & + 0.00022335770864197527_r8, 0.0002233669535802469_r8, & + 0.00022251641925925925_r8, 0.00021942860987654323_r8, & + 0.0002170896404938272_r8, 0.00022669513135802467_r8, & + 0.00029137271950617282_r8, 0.00040111013679012343_r8, & + 0.00046032396641975304_r8, 0.0005156734118518518_r8, & + 0.00056467158469135793_r8, 0.00059274846222222223_r8, & + 0.00064398391012345673_r8, 0.0007045197659259259_r8, & + 0.00073844868938271601_r8, 0.0007783868227160492_r8, & + 0.00088720899111111105_r8, 0.0011098640844444444_r8, & + 0.0014909034602469137_r8, 0.0020338401950617284_r8, & + 0.0026645298839506168_r8, 0.0033673855609876535_r8, & + 0.0040674030419753085_r8, 0.0048013864261728404_r8, & + 0.0054464335041975306_r8, 0.0060119833580246909_r8, & + 0.0065338508785185174_r8, 0.0075029422879012344_r8, & + 0.0080248745229629624_r8, 0.0084942215491358025_r8, & + 0.0088525461116049364_r8, 0.0089781385980246889_r8, & + 0.009016810174814812_r8, 0.0089846192997530862_r8, & + 0.0089782865170370367_r8, 0.0094133348222222232_r8, & + 0.0098939595174691343_r8, 0.010223365087583773_r8, 0.010350141982666665_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,70) / & + 0.00022457804049382714_r8, 0.0002223037856790123_r8, & + 0.00021964124345679012_r8, 0.00022016820493827162_r8, & + 0.00022005726567901236_r8, 0.00021429766913580247_r8, & + 0.00023840846814814813_r8, 0.00029642970074074073_r8, & + 0.00037131370074074073_r8, 0.00044928551012345683_r8, & + 0.00052203392938271606_r8, 0.00057575626567901218_r8, & + 0.00062261885777777776_r8, 0.00069136421876543196_r8, & + 0.0007565502785185184_r8, 0.00081644823358024683_r8, & + 0.00092655544839506145_r8, 0.0011546465654320988_r8, & + 0.0015228724567901233_r8, 0.0020560742716049379_r8, & + 0.0027107915550617281_r8, 0.0034542047762962957_r8, & + 0.0042425668874074077_r8, 0.005064192286419752_r8, & + 0.0057701172829629629_r8, 0.0063807916804938256_r8, & + 0.006910748521975308_r8, 0.0078331714829629629_r8, & + 0.0083660035002469137_r8, 0.008796845358518518_r8, & + 0.0090782797693827137_r8, 0.0092100906324074066_r8, & + 0.0092226140569135803_r8, 0.0092329343796119911_r8, & + 0.0090986527407989435_r8, 0.0094853787771851852_r8, & + 0.0099167633133333336_r8, 0.010166813469999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,70) / & + 0.00015160774271604939_r8, 0.00014158622962962965_r8, & + 0.00012830125333333333_r8, 0.00013601153185185182_r8, & + 0.00013416254419753088_r8, 0.0001342272587654321_r8, & + 0.00016282185283950616_r8, 0.00019558591407407405_r8, & + 0.00025627893382716048_r8, 0.00033021070518518515_r8, & + 0.00041803761876543202_r8, 0.0005272018498765432_r8, & + 0.00062937690765432102_r8, 0.00068889582024691349_r8, & + 0.00073911432493827152_r8, 0.00078667953234567891_r8, & + 0.00088750482913580245_r8, 0.0010850229353086421_r8, & + 0.0014435601313580245_r8, 0.001988003791111111_r8, & + 0.0026995774449382714_r8, 0.0035004017328395063_r8, & + 0.0043531825738271591_r8, 0.0051723580641975303_r8, & + 0.0059243228533333329_r8, 0.0065356536414814797_r8, & + 0.0070400020039506159_r8, 0.0079459689748148134_r8, & + 0.0084885544019753078_r8, 0.0088658588227160488_r8, & + 0.0090870532158024691_r8, 0.0092378658938271612_r8, & + 0.0092518516694620797_r8, 0.0092621180083245162_r8, & + 0.0092281279692222207_r8, 0.0092217565888888884_r8, & + 0.0093148207600000019_r8, 0.0096993500999999985_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,70) / & + 9.1543378765432105e-05_r8, 7.8110483456790127e-05_r8, & + 6.10258375308642e-05_r8, 0.00013722261876543209_r8, & + 0.00012096077234567901_r8, 8.6070375308641974e-05_r8, & + 8.9611186666666668e-05_r8, 9.8735940740740728e-05_r8, & + 0.0001222273288888889_r8, 0.00016858144938271605_r8, & + 0.000252007772345679_r8, 0.0003919668928395061_r8, & + 0.00063028291160493826_r8, 0.00077336682123456781_r8, & + 0.00085620146814814819_r8, 0.00085879929580246915_r8, & + 0.00088668202962962966_r8, 0.0010358121288888888_r8, & + 0.0013623710834567903_r8, 0.0019166790923456788_r8, & + 0.0027218115214814815_r8, 0.0036364872241975306_r8, & + 0.0045464849881481475_r8, 0.0054202703288888879_r8, & + 0.006171754381234568_r8, 0.0067638279629629629_r8, & + 0.0072710977259259259_r8, 0.008135721332839508_r8, & + 0.0086181314567901242_r8, 0.0089757256691358027_r8, & + 0.0092213544340740746_r8, 0.0093616556172839496_r8, & + 0.0093935321644444437_r8, 0.0093884936730864194_r8, & + 0.0093649375703703693_r8, 0.0093010550469135797_r8, & + 0.0092931486436331548_r8, 0.0096993500999999985_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,70) / & + 8.3278403950617284e-05_r8, 7.6289230617283937e-05_r8, & + 8.8520283950617278e-05_r8, 0.00014031042814814814_r8, & + 0.00012969723901234568_r8, 8.666205135802469e-05_r8, & + 9.7885406419753079e-05_r8, 8.2464849382716046e-05_r8, & + 7.5780759012345687e-05_r8, 9.267126123456788e-05_r8, & + 0.00013187904444444444_r8, 0.00023693852296296293_r8, & + 0.00052457628740740735_r8, 0.00091040454123456787_r8, & + 0.0010820553101234566_r8, 0.0010549491511111109_r8, & + 0.0009496585491358024_r8, 0.0010496240666666666_r8, & + 0.0013927037259259261_r8, 0.0020433162567901238_r8, & + 0.0029777299027160488_r8, 0.0039974188592592592_r8, & + 0.0049461991392592596_r8, 0.0058301261772839503_r8, & + 0.0064943842370370364_r8, 0.0070179158464197524_r8, & + 0.0074953429486419752_r8, 0.0082704385733333337_r8, & + 0.0086892435219753077_r8, 0.0090138240597530863_r8, & + 0.0092488303906172846_r8, 0.0093715569461728376_r8, & + 0.0094380927669135799_r8, 0.0094521728079012338_r8, & + 0.0094930539249382731_r8, 0.0094777131054938259_r8, & + 0.0092726777088888886_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,70) / & + 9.9383086419753088e-05_r8, 9.1737522469135792e-05_r8, & + 0.00013044607901234565_r8, 0.00013505005827160494_r8, & + 0.00012121963061728393_r8, 9.2735975802469127e-05_r8, & + 0.00017713301728395058_r8, 0.00011706865333333334_r8, & + 0.00011361104641975307_r8, 0.00011245542913580245_r8, & + 0.00015733960444444441_r8, 0.00024528670222222215_r8, & + 0.00058566683950617279_r8, 0.0011294078839506172_r8, & + 0.0013874988256790122_r8, 0.0014314677520987655_r8, & + 0.0012395890582716051_r8, 0.0013625929619753088_r8, & + 0.0018656377881481484_r8, 0.0026624220380246913_r8, & + 0.0036948135397530863_r8, 0.0046629804553086421_r8, & + 0.0055005903525925928_r8, 0.0062061917762962944_r8, & + 0.0067584011841975286_r8, 0.0071997915170370378_r8, & + 0.0076363744819753091_r8, 0.0083829587170370368_r8, & + 0.0087666883698765425_r8, 0.0090291706572839508_r8, & + 0.0092508827669135797_r8, 0.0093741547738271595_r8, & + 0.0094712173807407398_r8, 0.0095125699896296285_r8, & + 0.0095334450602469114_r8, 0.0095438352152469146_r8, & + 0.0095534511066666661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,70) / & + 0.00010858252578928722_r8, 8.8366250459364593e-05_r8, & + 0.00011242032302353905_r8, 0.00013162869200911273_r8, & + 0.00012814947683967734_r8, 0.00011199390110862222_r8, & + 0.00015688449906078021_r8, 0.00011401940520447735_r8, & + 0.00014788118181173991_r8, 0.00016647899214640986_r8, & + 0.00023980417869779745_r8, 0.00041470500366381553_r8, & + 0.00099742993321203584_r8, 0.0015235764277765134_r8, & + 0.0017659585207781265_r8, 0.0018557300252752859_r8, & + 0.0018140085174635325_r8, 0.0022034189484470518_r8, & + 0.0029212711679881343_r8, 0.0037728357320771294_r8, & + 0.0047326920797406934_r8, 0.0055457914488227554_r8, & + 0.0061864613017638837_r8, 0.0067511892882211816_r8, & + 0.0072395586776868859_r8, 0.0076624819946200092_r8, & + 0.0080939531326657838_r8, 0.0088135025598852709_r8, & + 0.0091942936956283545_r8, 0.0094567200414828519_r8, & + 0.0096986878268284938_r8, 0.0098528466176263079_r8, & + 0.010001089150476341_r8, 0.010091728382035751_r8, 0.010087735695347827_r8, & + 0.010070150048654219_r8, 0.01011415949002278_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,70) / & + 0.00012306367728352922_r8, 9.7141128242093821e-05_r8, & + 9.5660998339845243e-05_r8, 0.00014020682567190122_r8, & + 0.00014046027257297119_r8, 0.00013462085597231935_r8, & + 0.00012448297992952097_r8, 0.00015481550504957363_r8, & + 0.00018567519972385182_r8, 0.00024840837667668803_r8, & + 0.00042280012036490536_r8, 0.00081671743188387817_r8, & + 0.0015137369613304362_r8, 0.0019580496546581596_r8, & + 0.0021886052316234797_r8, 0.0023054341151406885_r8, & + 0.0025293696590500607_r8, 0.0031140209704382418_r8, & + 0.003863453319026067_r8, 0.0046567218436229527_r8, & + 0.0054847430072945506_r8, 0.0062285285589265384_r8, & + 0.0068583339702093429_r8, 0.0074072695442987451_r8, & + 0.0078838612349467381_r8, 0.0083273223466868666_r8, & + 0.0087620243335260178_r8, 0.0095483978351792956_r8, & + 0.0099053651229912762_r8, 0.01008844412128067_r8, 0.01034426726808166_r8, & + 0.010608069466428836_r8, 0.010777199471417339_r8, 0.010897463465611549_r8, & + 0.01092902060995087_r8, 0.010900855309281868_r8, 0.010799027766805492_r8, & + 0.010645416134536_r8, 0.010579004175814134_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,70) / & + 0.00018642206722382224_r8, 0.00017028094120801978_r8, & + 0.00017649395168098766_r8, 0.00018014555068128396_r8, & + 0.00018600927777161482_r8, 0.00019528116392888889_r8, & + 0.00021941347036562959_r8, 0.00028868800792197525_r8, & + 0.00039958018973677031_r8, 0.00065079961661222718_r8, & + 0.0010522320667114666_r8, 0.0015692879008084939_r8, & + 0.0020715362363506961_r8, 0.0023537042877967802_r8, & + 0.0025553360586827063_r8, 0.0027195627545916834_r8, & + 0.0030707407349709038_r8, 0.0036420625055158121_r8, & + 0.0044018702905455802_r8, 0.0051685261467440203_r8, & + 0.0059696657987191697_r8, 0.006727272040003833_r8, & + 0.0074189695654193772_r8, 0.0080282362125325829_r8, & + 0.0085941811358538657_r8, 0.0091043148083677222_r8, & + 0.0095559064690826263_r8, 0.010465323969675261_r8, 0.010880653664665481_r8, & + 0.010972949152441088_r8, 0.011147580259414678_r8, 0.011518984922952058_r8, & + 0.011726141721890607_r8, 0.011763430369073341_r8, 0.011669441386109194_r8, & + 0.011478669153119802_r8, 0.011277354912581729_r8, 0.011139454506608221_r8, & + 0.011095472697705085_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,19,70) / & + 0.00027175512912150124_r8, 0.00028535612255415314_r8, & + 0.00031205069198401324_r8, 0.00030088750840425355_r8, & + 0.00034041091429978598_r8, 0.00038056307658271602_r8, & + 0.00052393056372316714_r8, 0.00074882679576283124_r8, & + 0.0011467303116611423_r8, 0.0016364653525609348_r8, & + 0.0019974707962514436_r8, 0.0022428512495436905_r8, & + 0.002493250723121304_r8, 0.0026637981354994305_r8, & + 0.0028830465908663309_r8, 0.0030848663604071251_r8, & + 0.0035348242866936625_r8, 0.0042174441379449141_r8, & + 0.0050124128278916736_r8, 0.0057744876310451112_r8, & + 0.006615057705298911_r8, 0.0073704809277225104_r8, & + 0.0080632380968688206_r8, 0.008778718742471955_r8, & + 0.0094004264398423448_r8, 0.0099484703625628973_r8, & + 0.010405929242242951_r8, 0.011408475786541406_r8, 0.012041390790746813_r8, & + 0.012289970180045113_r8, 0.012305733212985309_r8, 0.012610646968431671_r8, & + 0.012809841404284737_r8, 0.012629211828080618_r8, 0.012438764827582049_r8, & + 0.012212346343236058_r8, 0.01198332458682996_r8, 0.011786976100940906_r8, & + 0.01159729574200241_r8, 0.011232490340536036_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,70) / & + 0.00040986524248500401_r8, 0.00046953563524016471_r8, & + 0.00050840919174367078_r8, 0.00049231804139884773_r8, & + 0.00062276883656237037_r8, 0.00076245884429906158_r8, & + 0.0010699467251037366_r8, 0.001504178238759967_r8, & + 0.0018701543522017445_r8, 0.0021736366613442633_r8, & + 0.0023686816035410696_r8, 0.0025070632010500082_r8, & + 0.0026752398244470773_r8, 0.0028556053220711109_r8, & + 0.0031463478474170869_r8, 0.0034305597989069958_r8, & + 0.0040776030883789959_r8, 0.0049816571693428804_r8, & + 0.0057967049229714568_r8, 0.0065618035422914242_r8, & + 0.0073656724225706002_r8, 0.0081386215032570857_r8, & + 0.0088783208959628632_r8, 0.0096634588508763119_r8, & + 0.010285975187219291_r8, 0.010856774887717925_r8, 0.011364483965216924_r8, & + 0.012452151614808822_r8, 0.013210490114618731_r8, 0.013555600528112655_r8, & + 0.013507889463930466_r8, 0.013698837016203523_r8, 0.013769663327742683_r8, & + 0.013541127674628475_r8, 0.013270745848791574_r8, 0.013122057651418403_r8, & + 0.012801083963441711_r8, 0.012362625325576927_r8, 0.012002053905548682_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,70) / & + 0.00055134234954737783_r8, 0.00060375916151585184_r8, & + 0.00064936751132918513_r8, 0.00070112851696047408_r8, & + 0.0008642573623973927_r8, 0.0010435548149838221_r8, & + 0.0014269988184602077_r8, 0.0017305894575706075_r8, & + 0.0019373830813124739_r8, 0.0021160247275617185_r8, & + 0.0022769357552037926_r8, 0.0023988441914107265_r8, & + 0.0026204828858761484_r8, 0.0029667605556615113_r8, & + 0.0034209362535412148_r8, 0.0038666699352986082_r8, & + 0.0046765072954612153_r8, 0.0055726368458458081_r8, & + 0.0063565877413169769_r8, 0.0072010039810766228_r8, & + 0.0079818666248872294_r8, 0.0087555392464919706_r8, & + 0.0096873327378678518_r8, 0.010495250374025244_r8, 0.011138691780816593_r8, & + 0.011770078274755316_r8, 0.012321062911755143_r8, 0.013425357317313896_r8, & + 0.014208032371365451_r8, 0.014576011269035854_r8, 0.014605462935451258_r8, & + 0.014660479125265306_r8, 0.014612569491396029_r8, 0.014414591991482461_r8, & + 0.014211618652578833_r8, 0.014057777983778502_r8, 0.013546315430519491_r8, & + 0.012846165853564158_r8, 0.012397315303142401_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,70) / & + 0.00051659277708032258_r8, 0.00056958680157715217_r8, & + 0.00064886754457439341_r8, 0.00072473410672169863_r8, & + 0.00096380098754002979_r8, 0.001219567665993916_r8, & + 0.001491687775910176_r8, 0.0016747670388777482_r8, & + 0.0018028235611912819_r8, 0.0019821670175766788_r8, & + 0.0021204660824400198_r8, 0.0022437353294313604_r8, & + 0.0025970164558564214_r8, 0.0031495694638453073_r8, & + 0.0037011699648579421_r8, 0.0042065553221917367_r8, & + 0.005023534162964056_r8, 0.0058231081035339857_r8, & + 0.0066759853241125143_r8, 0.0075443376904999896_r8, & + 0.0083555396383124536_r8, 0.0092131670235517625_r8, & + 0.010214905930998122_r8, 0.011081538836740158_r8, 0.011694623972325258_r8, & + 0.012347134546828294_r8, 0.012921293249353368_r8, 0.014136928554797703_r8, & + 0.015052304988924094_r8, 0.01544897059914941_r8, 0.015432032365514279_r8, & + 0.015394944103036858_r8, 0.015312873875323454_r8, 0.015055055441176734_r8, & + 0.014833929245734932_r8, 0.014567901469400532_r8, 0.014021317092788799_r8, & + 0.013427138292915732_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,70) / & + 0.00033411827483143371_r8, 0.00037891260413197694_r8, & + 0.00045533852276406246_r8, 0.00050957875212025671_r8, & + 0.00079331462109176606_r8, 0.001137532447136026_r8, & + 0.0015127666614227224_r8, 0.0016779994206051554_r8, & + 0.0017832500735997362_r8, 0.0019508026535556742_r8, & + 0.0020891075484003553_r8, 0.0022689769668277722_r8, & + 0.0026694856925252477_r8, 0.0032061845593236013_r8, & + 0.0038059159043766244_r8, 0.0043727852579198943_r8, & + 0.0051913103069756569_r8, 0.0060575647071945725_r8, & + 0.0069957720014601999_r8, 0.0078864806449710882_r8, & + 0.0087604891422506121_r8, 0.0096080696260772858_r8, 0.01071588017059587_r8, & + 0.011514949485208649_r8, 0.01232597677099093_r8, 0.012996097373989187_r8, & + 0.013549009352823362_r8, 0.014794174755088084_r8, 0.015802516575597982_r8, & + 0.016284585585683711_r8, 0.016458628216712484_r8, 0.016449307691343073_r8, & + 0.016271950710220629_r8, 0.016220665185499982_r8, 0.01598857645498453_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,70) / & + 0.00021906758468270612_r8, 0.00024397579586113582_r8, & + 0.00038686145749671608_r8, 0.00053328175080378257_r8, & + 0.00090313486574994568_r8, 0.001246549532635511_r8, & + 0.0016236343846131112_r8, 0.0018912716547779308_r8, & + 0.0019575692091452247_r8, 0.0021319996347645628_r8, & + 0.002285965007216533_r8, 0.0024396767217671257_r8, & + 0.0027336825715696604_r8, 0.003156029135258559_r8, & + 0.0037490199665729342_r8, 0.0044334974581772286_r8, & + 0.0056293514105381264_r8, 0.0065863943829625815_r8, & + 0.0076033335411656846_r8, 0.0085059696174288862_r8, & + 0.0094209181676986487_r8, 0.010352741955252322_r8, 0.011319057770024808_r8, & + 0.01202632657801527_r8, 0.012902446048321093_r8, 0.013561077907669783_r8, & + 0.014148081133564241_r8, 0.015332391069833437_r8, 0.016326233669537116_r8, & + 0.01684207493567377_r8, 0.017072229762752012_r8, 0.017132386332747999_r8, & + 0.017024906577302532_r8, 0.017155749291254397_r8, 0.017200870555593599_r8, & + 0.017230951398486398_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,70) / & + 0.0005248391912639999_r8, 0.00041014585841066655_r8, & + 0.00039977033075199993_r8, 0.00029848740212148141_r8, & + 0.00029777440289817272_r8, 0.00029064441066508631_r8, & + 0.0003273395638737777_r8, 0.00036861249618666656_r8, & + 0.00036713823642898537_r8, 0.00042557599095281148_r8, & + 0.00050805844655675352_r8, 0.00058513845350028986_r8, & + 0.00094163122100622218_r8, 0.0014298227151786664_r8, & + 0.0019550160911217772_r8, 0.0022700321116017773_r8, & + 0.0030244871468942218_r8, 0.0037317731166862213_r8, & + 0.0042808843756657776_r8, 0.004628235373909332_r8, 0.00474024107008_r8, & + 0.0047707426212693325_r8, 0.0047829932442879988_r8, & + 0.0048396408620058938_r8, 0.0049150155834266646_r8, & + 0.0048787012366213337_r8, 0.0049517018241450649_r8, & + 0.0051066250875503568_r8, 0.0052380163849813323_r8, & + 0.005302575223746369_r8, 0.0053316461466239992_r8, & + 0.0052905190550613318_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,70) / & + 0.000341313102542873_r8, 0.00029686267969384386_r8, & + 0.00030155697332408807_r8, 0.00031739349653244804_r8, & + 0.00031290817526408529_r8, 0.00032012949579759541_r8, & + 0.00031795925921909333_r8, 0.00035246574850880002_r8, & + 0.00038576959876159998_r8, 0.00042508664419893332_r8, & + 0.00051112159068533334_r8, 0.00059553760000666668_r8, & + 0.0009736750664186667_r8, 0.0014817900595117332_r8, & + 0.0020093322985855998_r8, 0.0023821504000266667_r8, & + 0.003203337003945244_r8, 0.0039542154795523558_r8, & + 0.0045237729926720007_r8, 0.0048854898106954663_r8, & + 0.0050057537143861335_r8, 0.0050372073507360003_r8, & + 0.0050520090619594667_r8, 0.0051158414416106659_r8, & + 0.0052046517089514664_r8, 0.005162096789184_r8, 0.0052361053453013331_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,70) / & + 0.00026912433008385351_r8, 0.00023660763656066053_r8, & + 0.00023470964018647815_r8, 0.00035124759106642959_r8, & + 0.00036032810367330365_r8, 0.00035686528237891522_r8, & + 0.00034425414736403807_r8, 0.00051521837023184769_r8, & + 0.00058283398512929514_r8, 0.00063112421910773331_r8, & + 0.00070012906343047611_r8, 0.00073910101201584756_r8, & + 0.00079702684841485719_r8, 0.00071861084542270467_r8, & + 0.00061820322453653336_r8, 0.00082628193046285715_r8, & + 0.0017576361119876387_r8, 0.0032412434460086714_r8, & + 0.0038356649745451997_r8, 0.0041780298234122722_r8, & + 0.0044197438665143952_r8, 0.0045041970650647224_r8, & + 0.0043396486825282542_r8, 0.0041249511178562716_r8, & + 0.004058660655147278_r8, 0.0041505067467230549_r8, 0.002938905126227498_r8, & + 0.0025170367825607062_r8, 0.0017917121659748519_r8, & + 0.0008152422140579094_r8, 0.00061998284286850398_r8, & + 0.00038159795489268539_r8, 0.00034057026913879805_r8, & + 0.00034025287745315081_r8, 0.00034011605711188137_r8, & + 0.00033981752438855896_r8, 0.00033981753092372817_r8, & + 0.00033981754029671418_r8, 0.00033981752258694043_r8, & + 0.00033981750536290632_r8, 0.00033981742044254375_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,70) / & + 0.00029664973418793583_r8, 0.00026031206288760291_r8, & + 0.00022299552206201284_r8, 0.0002538657594050377_r8, & + 0.00026149424381293498_r8, 0.00026120059715910516_r8, & + 0.00028539480314167639_r8, 0.00044647707996484733_r8, & + 0.00048151596064575344_r8, 0.00054102940392053791_r8, & + 0.00062222143798614069_r8, 0.00069733042973145866_r8, & + 0.0008343127965880512_r8, 0.0011044784767173137_r8, & + 0.00094356508288347574_r8, 0.0010912060638430883_r8, & + 0.0020214253221888813_r8, 0.0033784553810452004_r8, & + 0.0039547116248194632_r8, 0.0043710886570484213_r8, & + 0.0046123454208039276_r8, 0.0047465359746462757_r8, & + 0.0045448595793678064_r8, 0.0044097907074090907_r8, & + 0.0047029527719333053_r8, 0.004863488348844004_r8, & + 0.0041894717938689516_r8, 0.0040534912040664757_r8, & + 0.0039116187931811913_r8, 0.0020276349715520146_r8, 0.00118973258703767_r8, & + 0.001167656106677974_r8, 0.0010067390974418319_r8, & + 0.00063963627801148185_r8, 0.00035726394184089317_r8, & + 0.00035726277034174369_r8, 0.00035726269282686034_r8, & + 0.00035726269009670874_r8, 0.00035726268957981405_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,70) / & + 0.00039007762850960527_r8, 0.00031585774474461234_r8, & + 0.00018690776933822081_r8, 0.00018261986736904878_r8, & + 0.00018550021478646518_r8, 0.00018313191227469955_r8, & + 0.00020013749253014649_r8, 0.00027544791937569716_r8, & + 0.0003385185765135802_r8, 0.00044187958187572669_r8, & + 0.00057034406285305693_r8, 0.00076068442952175147_r8, & + 0.0011107604284946542_r8, 0.0014935260380062184_r8, & + 0.001760877389546008_r8, 0.0023485793005849735_r8, & + 0.0033677729872649094_r8, 0.0040375167514653115_r8, & + 0.0045218856299656801_r8, 0.0048382067042325588_r8, & + 0.0049995435199213642_r8, 0.0050856492046076444_r8, & + 0.0048186849922046224_r8, 0.004696101441791823_r8, & + 0.0049171640286839111_r8, 0.0051825601035633776_r8, & + 0.0053960284244485334_r8, 0.0053763819014748448_r8, & + 0.0054834453707973685_r8, 0.0056960483357919745_r8, & + 0.0057055115657045335_r8, 0.0057052696163813798_r8, & + 0.0057055115657045335_r8, 0.0057055115657045335_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,30,70) / & + 0.00039187698397255105_r8, 0.00032045873223619038_r8, & + 0.00014590875487875555_r8, 0.00021917448101951999_r8, & + 0.00022724704012053331_r8, 0.00023097947334800001_r8, & + 0.00029868843792666663_r8, 0.00040475331180266658_r8, & + 0.00048890498892444447_r8, 0.00065320707471644445_r8, & + 0.00090141075835199985_r8, 0.0012563982937884447_r8, & + 0.0017679354573919997_r8, 0.0020987903424799998_r8, & + 0.0024847877084159995_r8, 0.0029551868307519996_r8, & + 0.0037620676219359997_r8, 0.0044305295326240004_r8, & + 0.0050078375463999993_r8, 0.0053319402909759997_r8, & + 0.0054647323877119996_r8, 0.005502994517279999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,70) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,70) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,70) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,70) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,70) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,70) / & + 0.0011552056201789569_r8, 0.0012024091024228974_r8, & + 0.0013560290262186665_r8, 0.0015043050973098659_r8, & + 0.0016601850694826664_r8, 0.0018098868720266665_r8, & + 0.0022127352147455997_r8, 0.0026775236683583997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,70) / & + 0.0011963404846223277_r8, 0.0012423998301360989_r8, & + 0.0014040812510574617_r8, 0.0015557418491811291_r8, & + 0.0017131598654940179_r8, 0.0018541437324186862_r8, & + 0.0022292140198975209_r8, 0.0026458348031933861_r8, & + 0.0029568819236771896_r8, 0.0030293480893712255_r8, & + 0.003051105508054471_r8, 0.0030430870278485333_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,70) / & + 0.0012390832546538364_r8, 0.0012839913017013555_r8, & + 0.0014475290602759109_r8, 0.0016455472703279885_r8, & + 0.0018473619563061489_r8, 0.0019474750870268006_r8, & + 0.0023337367421601861_r8, 0.0027153518013993518_r8, & + 0.0030775222837794648_r8, 0.0031977202051623349_r8, & + 0.0032339112573291453_r8, 0.0031330351984319607_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,70) / & + 0.0012913686201622321_r8, 0.0013812140350646395_r8, & + 0.0014934785508075997_r8, 0.0023198509732355998_r8, & + 0.0025202881460175998_r8, 0.0026069449192554664_r8, & + 0.0029385845727938238_r8, 0.0032316841590954663_r8, & + 0.0033534487202547436_r8, 0.0032877606031759998_r8, & + 0.0033162584682005329_r8, 0.0034875083114815999_r8, & + 0.0035631524140351993_r8, 0.0035930948712959996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,70) / & + 0.0026372474663214729_r8, 0.0026421544974165332_r8, & + 0.0028430282214533327_r8, 0.0035939605636177772_r8, & + 0.004053029270808888_r8, 0.0042441724003674068_r8, & + 0.0042118334398844439_r8, 0.0041495041585066662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,70) / & + 0.0028001972532281203_r8, 0.0027690662933285443_r8, & + 0.0027850942371891035_r8, 0.0019314727638749863_r8, & + 0.0021389483516563437_r8, 0.0023258272245928768_r8, & + 0.0026534068626508011_r8, 0.0025707717005006218_r8, & + 0.0025370956371994859_r8, 0.0027953305189187942_r8, & + 0.0029059183655012343_r8, 0.004236634990361047_r8, & + 0.0057312624818506262_r8, 0.0059620909452336186_r8, & + 0.0060384750851267942_r8, 0.0063122288900263508_r8, & + 0.0081681989888447992_r8, 0.0094951227888793593_r8, & + 0.0091903063073422216_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,70) / & + 0.0028637653818200542_r8, 0.00287869116221626_r8, 0.0028754051675386658_r8, & + 0.001759611791937102_r8, 0.0018106853551263995_r8, & + 0.0023267910950527993_r8, 0.002743485906503348_r8, & + 0.0025722817480092444_r8, 0.0026963696014958224_r8, & + 0.0029362983568462214_r8, 0.0029953695452138666_r8, & + 0.0044709985169692438_r8, 0.006261929546115555_r8, & + 0.0065304349477866659_r8, 0.0064375128998511999_r8, & + 0.0062922322985898655_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,70) / & + 0.0029188370721351105_r8, 0.0030123236860833563_r8, & + 0.0031369111062601483_r8, 0.0032339096472306966_r8, & + 0.0032411327328858782_r8, 0.0035307666265346608_r8, & + 0.0043670065403790216_r8, 0.0044442304042280056_r8, & + 0.0044358100493658622_r8, 0.0042362279039263604_r8, & + 0.0039580930573861932_r8, 0.0035151034508106266_r8, & + 0.002956070828791151_r8, 0.0029212710809624494_r8, & + 0.0028994307855387653_r8, 0.0027654945160128005_r8, & + 0.002599521427597274_r8, 0.0026526091336421926_r8, & + 0.0027327340728772742_r8, 0.0027461540134388149_r8, & + 0.002770033613555674_r8, 0.0028383174287658665_r8, & + 0.0028055569856303406_r8, 0.0029918573369552594_r8, & + 0.0033946529058685631_r8, 0.0035014203741596433_r8, & + 0.0036660119981056002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,70) / & + 0.0029879394647498009_r8, 0.0032919505700626183_r8, & + 0.0032607468197101306_r8, 0.0026508307398434507_r8, & + 0.002647493922609225_r8, 0.0029913213741088128_r8, & + 0.0046021924399935734_r8, 0.0044244392840838845_r8, & + 0.0042119651920883372_r8, 0.0038036109100187923_r8, & + 0.0035248964867113874_r8, 0.0031905834735418202_r8, & + 0.0028874742107247412_r8, 0.0028940125688188315_r8, & + 0.0028534296565106828_r8, 0.0027366410533127905_r8, & + 0.0025758425363229501_r8, 0.0026503347264707953_r8, & + 0.0027312299983383707_r8, 0.0027781258081166749_r8, & + 0.0028561802761226797_r8, 0.0029237282790533533_r8, & + 0.0029857750427600333_r8, 0.00314192907089683_r8, 0.0034701997393449622_r8, & + 0.0035452330349902482_r8, 0.0037407806706439414_r8, & + 0.0040446708324363475_r8, 0.0040271641370744661_r8, & + 0.0041763198674443459_r8, 0.0041017149469845344_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,70) / & + 0.0027145565820586664_r8, 0.0034445969039360006_r8, & + 0.0034262509230079995_r8, 0.0029148335405226669_r8, & + 0.003173067120554666_r8, 0.003610405655808_r8, 0.0051177874271573325_r8, & + 0.0039976633693866665_r8, 0.0035064450972159995_r8, & + 0.0029339207732053331_r8, 0.0027530090168319992_r8, & + 0.0026200006551039996_r8, 0.0024952387191466653_r8, & + 0.0025472189984426666_r8, 0.0025709390545920001_r8, & + 0.0025822431438506659_r8, 0.0025392505420799992_r8, & + 0.0025820578309120007_r8, 0.0026635028674560001_r8, & + 0.0027707064024746664_r8, 0.002887082927957333_r8, & + 0.0030015599958186662_r8, 0.0031420735315626663_r8, & + 0.0032871272343040002_r8, 0.0034967624961706649_r8, & + 0.0036163819980799994_r8, 0.0038359315021653322_r8, & + 0.0041920103138133342_r8, 0.0042247875398399998_r8, & + 0.0041688461964799993_r8, 0.0041868447156479995_r8, & + 0.0042022720177920005_r8, 0.0042272892645119995_r8, & + 0.0042216603839999997_r8, 0.0042404233190399994_r8, & + 0.0042591862540799991_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,71) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,71) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,71) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,71) / & + 0.0030584290762802786_r8, 0.0030419406214814808_r8, & + 0.0030559744377777775_r8, 0.0031091004755555559_r8, & + 0.003184650111111111_r8, 0.0034929225777777777_r8, & + 0.0038480807488888887_r8, 0.0044058833444444436_r8, & + 0.0047683635066666664_r8, 0.0050948993488888891_r8, & + 0.005372011751111112_r8, 0.0055441201444444439_r8, & + 0.0059220763333333324_r8, 0.0061443154044444424_r8, & + 0.0062357986911111109_r8, 0.0063790871450000002_r8, & + 0.006522717331428572_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,71) / & + 0.0027042461387654314_r8, 0.0027451734804938275_r8, & + 0.0029837206227160493_r8, 0.0028551050414814812_r8, & + 0.0030523827792592593_r8, 0.0034642632691358017_r8, & + 0.0036389186429629634_r8, 0.0042712169511111113_r8, & + 0.0046938400592592593_r8, 0.0050091849037037037_r8, & + 0.0053023788760493832_r8, 0.00546786327111111_r8, 0.0059050841367901223_r8, & + 0.0061075297950617278_r8, 0.0062015230824691344_r8, & + 0.0063437529909259266_r8, 0.0064950833854938274_r8, & + 0.0065601656708148158_r8, 0.0067689866385185178_r8, & + 0.0069559123566666665_r8, 0.0071783386377777779_r8, & + 0.0074886704144444434_r8, 0.0076872378211111109_r8, & + 0.0078732274892592598_r8, 0.0080403158811111122_r8, & + 0.0081835731333333335_r8, 0.0083693963925925915_r8, & + 0.0087189382637037037_r8, 0.0090449818129629614_r8, & + 0.0093317805992592599_r8, 0.0095449919881481458_r8, & + 0.0097604914992592585_r8, 0.0099709848762962947_r8, & + 0.010142358297037036_r8, 0.010294784877142856_r8, 0.010411372133333333_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,71) / & + 0.00170931512691358_r8, 0.0017538202597530861_r8, 0.0023767442004938273_r8, & + 0.0023220881254320982_r8, 0.0024418285659259255_r8, & + 0.0027807387580246912_r8, 0.0026827331674074079_r8, & + 0.0034402079397530859_r8, 0.0039988795595061726_r8, & + 0.0043308005782716052_r8, 0.0046373904661728398_r8, & + 0.0048028563713580245_r8, 0.0052480556187654319_r8, & + 0.0054246709195061721_r8, 0.0055502634059259263_r8, & + 0.0056798219708641962_r8, 0.0059434228958024689_r8, & + 0.0060333761451851859_r8, 0.0062681236177777782_r8, & + 0.0064673335476543199_r8, 0.0066577053165432099_r8, & + 0.0069125420399999997_r8, 0.0071120847876543205_r8, & + 0.0072902439930864205_r8, 0.0074620057012345668_r8, & + 0.0076502881140740721_r8, 0.0078301391432098761_r8, & + 0.008259011829629629_r8, 0.0086494717975308649_r8, & + 0.0089542219427160476_r8, 0.0092337796311111105_r8, & + 0.0094736118197530847_r8, 0.009724084932345679_r8, & + 0.0099400282004938265_r8, 0.010108548402160491_r8, 0.01023827568722222_r8, & + 0.010285332951306876_r8, 0.010381262524999999_r8, 0.010406629479999999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,71) / & + 0.000675056147654321_r8, 0.0006862887476543209_r8, & + 0.0010462958888888887_r8, 0.0010425331990123457_r8, & + 0.0010670877550617284_r8, 0.0012977859446913578_r8, & + 0.0015190173175308639_r8, 0.001988521507654321_r8, & + 0.0024275451362962964_r8, 0.0027670377595061728_r8, & + 0.0029875665170370365_r8, 0.0030110671501234567_r8, & + 0.0033756690256790127_r8, 0.0035248545945679014_r8, & + 0.0036684654656790119_r8, 0.0038306031930864189_r8, & + 0.0041389588641975311_r8, 0.0042165331412345681_r8, & + 0.0044900446399999995_r8, 0.0048487205101234573_r8, & + 0.0051875844775308641_r8, 0.0054886089125925925_r8, & + 0.0057402653772839493_r8, 0.0059808464059259263_r8, & + 0.0062009961209876551_r8, 0.0064366126177777781_r8, & + 0.0066447624029629627_r8, 0.0070449572908641966_r8, & + 0.0075551207195061719_r8, 0.0079781228701234566_r8, & + 0.0083282749071604927_r8, 0.0085921069555555552_r8, & + 0.0088800035782716051_r8, 0.0092022174118518516_r8, & + 0.0094748506414814807_r8, 0.0097171604735802469_r8, & + 0.0098867681111111105_r8, 0.0099999365561111095_r8, & + 0.010063709295925927_r8, 0.010124371080994708_r8, 0.010121321440000001_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,71) / & + 0.00017169699358024693_r8, 0.00017861220740740741_r8, & + 0.00027034972987654323_r8, 0.00033309512592592593_r8, & + 0.00033433394765432093_r8, 0.00037332909728395063_r8, & + 0.00069359224888888903_r8, 0.000998481068148148_r8, & + 0.0012212471007407406_r8, 0.0013934895456790121_r8, 0.00148368316345679_r8, & + 0.0014553936523456791_r8, 0.0014883333674074071_r8, & + 0.0015719353441975309_r8, 0.0016204250454320988_r8, & + 0.0016957528024691357_r8, 0.0018473143204938271_r8, & + 0.0019883643437037038_r8, 0.0022950651708641976_r8, & + 0.0027695986074074076_r8, 0.0035198161032098762_r8, & + 0.003955058552098766_r8, 0.0043749174237037031_r8, & + 0.0048334016474074074_r8, 0.0052518737782716058_r8, 0.00558531096691358_r8, & + 0.0058619195199999998_r8, 0.0064796847851851845_r8, & + 0.0069709053353086423_r8, 0.0074096793506172841_r8, & + 0.0077438838691358033_r8, 0.0079312972577777769_r8, & + 0.0081139217683950608_r8, 0.0083998492192592592_r8, & + 0.0087358472558024692_r8, 0.0091280730069135795_r8, & + 0.0095340367362962957_r8, 0.0097831323530864212_r8, & + 0.009949013124876541_r8, 0.01003309105089947_r8, 0.010120276184166667_r8, & + 0.010147530839999998_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,71) / & + 0.00014830729975308642_r8, 0.00015513006419753088_r8, & + 0.00015855069135802468_r8, 0.00021452879259259254_r8, & + 0.00021700643604938275_r8, 0.00023352714074074073_r8, & + 0.00037342154666666661_r8, 0.00049979060790123452_r8, & + 0.00056135265185185189_r8, 0.000618375431111111_r8, & + 0.00065450464987654308_r8, 0.00069035652049382712_r8, & + 0.00072586632839506161_r8, 0.00078631897975308632_r8, & + 0.00082341891703703704_r8, 0.00087433079209876525_r8, & + 0.00097963988395061716_r8, 0.0012003720301234568_r8, & + 0.0015856178528395059_r8, 0.0020748507412345681_r8, & + 0.0027237622034567898_r8, 0.0033608586345679008_r8, & + 0.0039849844172839509_r8, 0.0046157480656790128_r8, & + 0.005179023664691358_r8, 0.0056759945664197533_r8, & + 0.0060980259985185178_r8, 0.0069839776780246908_r8, & + 0.0075960850409876541_r8, 0.0080441039945679024_r8, & + 0.0083705335200000008_r8, 0.0084704435679012341_r8, & + 0.0084587487209876553_r8, 0.0085075897298765423_r8, & + 0.008681995490370369_r8, 0.0091426060498765432_r8, & + 0.0096244017156084643_r8, 0.009911334553509699_r8, 0.010075685882333334_r8, & + 0.010135653405555556_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,71) / & + 0.0002602819920987654_r8, 0.00026339753629629628_r8, & + 0.00026355470024691356_r8, 0.00024045159950617285_r8, & + 0.00021752415259259259_r8, 0.000203240722962963_r8, & + 0.00027224494222222222_r8, 0.00038422887950617283_r8, & + 0.00044298046222222229_r8, 0.00049855178617283947_r8, & + 0.00055600907753086421_r8, 0.00059799958716049372_r8, & + 0.00059781468839506166_r8, 0.00070082179061728412_r8, & + 0.0007338169753086421_r8, 0.00078324041530864201_r8, & + 0.00085823535456790113_r8, 0.0010788565614814815_r8, & + 0.0014685122197530865_r8, 0.0020459325743209878_r8, & + 0.0027375001817283948_r8, 0.0035031752143209879_r8, & + 0.0042342926676543213_r8, 0.0049721589259259253_r8, & + 0.0056592334933333321_r8, 0.0062387524488888881_r8, & + 0.0067486847540740745_r8, 0.0077067192172839485_r8, & + 0.0083205461387654313_r8, 0.0088027436291358025_r8, & + 0.0091509542291358034_r8, 0.0092480907955555542_r8, & + 0.0092421555451851836_r8, 0.009141764760493826_r8, 0.008827991555555555_r8, & + 0.0092830759532098756_r8, 0.0098123250946666671_r8, & + 0.010183433557777778_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,71) / & + 0.00025344073777777779_r8, 0.00025291377629629624_r8, & + 0.0002525347338271605_r8, 0.0002069756780246913_r8, & + 0.00020197416641975309_r8, 0.00017680944444444443_r8, & + 0.00020224226962962962_r8, 0.00027176420543209876_r8, & + 0.00034261741234567895_r8, 0.00043052753037037034_r8, & + 0.00051258560246913575_r8, 0.00059180547851851847_r8, & + 0.00057905670864197528_r8, 0.00066806697432098764_r8, & + 0.00073168255018518516_r8, 0.00080479845574074063_r8, & + 0.00092299268030864186_r8, 0.0011400268511728394_r8, & + 0.0015216717704320988_r8, 0.0021271701581481481_r8, & + 0.0028461039384567906_r8, 0.003652203619259259_r8, & + 0.0044512759913580245_r8, 0.0052336889846913582_r8, & + 0.0059212315770987671_r8, 0.0065011688661111107_r8, & + 0.0070150048464814804_r8, 0.0079360271993209885_r8, & + 0.0085876959643827154_r8, 0.0090551246658641983_r8, & + 0.0093229701730864183_r8, 0.0094869811561111104_r8, & + 0.0094460577764991175_r8, 0.0093762546955202825_r8, & + 0.0089184708419259243_r8, 0.0092828078499999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,71) / & + 0.00018827316790123459_r8, 0.00018019309185185188_r8, & + 0.00017412841234567904_r8, 0.00012796843555555555_r8, & + 0.00012803315012345677_r8, 0.00011400857876543209_r8, & + 0.00013047381382716048_r8, 0.00021316054172839502_r8, & + 0.00029649441530864198_r8, 0.00039812402172839504_r8, & + 0.00050710335407407406_r8, 0.00066352770962962971_r8, & + 0.00076869812740740727_r8, 0.00080515091901234585_r8, & + 0.00084148352641975313_r8, 0.00086338478518518502_r8, & + 0.00094993589728395065_r8, 0.0011488130093827158_r8, & + 0.0015374517244444448_r8, 0.0021501600083950615_r8, & + 0.0029212895545679012_r8, 0.0037521229120987651_r8, & + 0.0046092488740740734_r8, 0.0053945878903703696_r8, & + 0.006073859729876542_r8, 0.0066331137807407415_r8, & + 0.0071380723091358017_r8, 0.0080077621422222217_r8, & + 0.0085915892390123448_r8, 0.0089933742562962968_r8, & + 0.0091743993925925901_r8, 0.0093451996271604922_r8, & + 0.0093214031560493824_r8, 0.009324641195679011_r8, & + 0.0092125112213880065_r8, 0.0092200092955555552_r8, & + 0.0093155279977777793_r8, 0.0095282401599999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,71) / & + 0.00012700696197530864_r8, 0.00011217808098765432_r8, & + 0.00010407951506172837_r8, 0.00012004552345679013_r8, & + 0.00010384839160493828_r8, 8.4877778271604925e-05_r8, & + 9.0683599506172812e-05_r8, 0.00014578343160493825_r8, & + 0.00022138853679012341_r8, 0.00033933545925925927_r8, & + 0.00047354422814814811_r8, 0.00069064311358024689_r8, & + 0.00096017004395061722_r8, 0.001013319194074074_r8, & + 0.001089654649382716_r8, 0.0010543112503703701_r8, & + 0.0010340740804938272_r8, 0.0012007603175308642_r8, & + 0.0015979043758024688_r8, 0.0022355555032098767_r8, & + 0.0031102653377777772_r8, 0.0040374124622222212_r8, & + 0.0049333671649382715_r8, 0.0057523022869135805_r8, & + 0.0064035342286419749_r8, 0.0069389270938271606_r8, & + 0.0074130629980246904_r8, 0.0082101338409876524_r8, & + 0.0087044422004938279_r8, 0.0090521258390123451_r8, & + 0.0092688456819753091_r8, 0.0094018341190123464_r8, & + 0.009437584295308641_r8, 0.0094373993965432106_r8, & + 0.0094087123530864191_r8, 0.0093242401964814797_r8, & + 0.0093167518955343913_r8, 0.0095248703799999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,71) / & + 9.4298370370370357e-05_r8, 7.9469489382716054e-05_r8, & + 8.5728312592592588e-05_r8, 0.00012732128987654322_r8, & + 0.00011040305283950616_r8, 8.0504922469135787e-05_r8, & + 8.5312290370370366e-05_r8, 9.890234962962966e-05_r8, & + 0.00012788523111111107_r8, 0.00021709888543209875_r8, & + 0.00036879907753086422_r8, 0.00059965443111111103_r8, & + 0.00098327314469135786_r8, 0.0012273487600000001_r8, & + 0.0013014284503703704_r8, 0.0012701990488888889_r8, & + 0.0011507174666666666_r8, 0.0013005779160493824_r8, & + 0.0017401285061728398_r8, 0.002453449453333333_r8, 0.003409209661728395_r8, & + 0.0044115736039506163_r8, 0.0053193248479012339_r8, & + 0.0061055143985185179_r8, 0.006704974685925927_r8, 0.007204404741234567_r8, & + 0.0076496871930864197_r8, 0.0083847337451851845_r8, & + 0.0088595630197530872_r8, 0.0091622399875308652_r8, & + 0.0093660897208024691_r8, 0.0094854118278395062_r8, & + 0.0095526710650000006_r8, 0.0095584313218959431_r8, & + 0.0095554831771164032_r8, 0.0095161377103615517_r8, & + 0.0095445956279285732_r8, 0.0095881473600000003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,71) / & + 8.2769932345679007e-05_r8, 6.536171358024692e-05_r8, & + 8.7799178765432108e-05_r8, 0.00012257863654320986_r8, & + 0.00011849237382716049_r8, 9.5056455308641964e-05_r8, & + 8.9879289876543204e-05_r8, 0.00010814728790123456_r8, & + 0.00012648000049382714_r8, 0.00019755508592592591_r8, & + 0.0003693537738271605_r8, 0.00059535553481481482_r8, & + 0.0011110844162962961_r8, 0.0014648142444444443_r8, & + 0.0015422036227160493_r8, 0.0015570972182716047_r8, & + 0.0013669195930864197_r8, 0.0016478917570370366_r8, & + 0.0022230471017283949_r8, 0.0029888053387654317_r8, & + 0.003988146186172839_r8, 0.0048292229353086415_r8, & + 0.0056795816024691357_r8, 0.0063260431560493817_r8, & + 0.0068898364716049381_r8, 0.0073749461175308638_r8, & + 0.0078040314375308634_r8, 0.0085072199323456797_r8, & + 0.0089356026370370368_r8, 0.0091736690424691365_r8, & + 0.0093490732562962944_r8, 0.0094746657427160468_r8, & + 0.0095822490893827158_r8, 0.0096058664398148124_r8, & + 0.0095972744253086436_r8, 0.0095825556581393308_r8, & + 0.0095833083281851843_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,71) / & + 9.6710552021715218e-05_r8, 6.6056631183486397e-05_r8, & + 8.8085199651805743e-05_r8, 0.00012114258946502055_r8, & + 0.00011970826120575471_r8, 0.00011250754568795392_r8, & + 0.00012059017925706006_r8, 0.00015558585050171517_r8, & + 0.00022678861888567571_r8, 0.00038529158294170853_r8, & + 0.00062283766377187817_r8, 0.0009510371671505117_r8, & + 0.0015572249934263172_r8, 0.0018523186499559508_r8, & + 0.0019615505000247701_r8, 0.0020073714730640198_r8, & + 0.001939308720598992_r8, 0.0024637495275038018_r8, & + 0.0031861663998159276_r8, 0.0039114034716107972_r8, & + 0.0047997760000828438_r8, 0.0055592818875855789_r8, & + 0.006234472532820663_r8, 0.0067966322963812992_r8, 0.007338411030690343_r8, & + 0.0078242703457023326_r8, 0.0082832456972602459_r8, & + 0.0089628277613634337_r8, 0.0093454893386878575_r8, & + 0.0095599638133544145_r8, 0.0097554019415124361_r8, & + 0.0099219499849348414_r8, 0.010081933311434135_r8, 0.010112756312715092_r8, & + 0.010091393163184617_r8, 0.010072459960937974_r8, 0.010066282761852475_r8, & + 0.010069464104700502_r8, 0.010062835182204976_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,71) / & + 0.0001544910930162041_r8, 0.00011068533063527243_r8, & + 0.00011870439058512591_r8, 0.00017239458210778599_r8, & + 0.0001735300242245794_r8, 0.00019114965278696294_r8, & + 0.00021067520204539258_r8, 0.00026341243322002965_r8, & + 0.00037272915058952422_r8, 0.00060647815850832574_r8, & + 0.00099549887589862711_r8, 0.0015034470171469958_r8, & + 0.001936050463645287_r8, 0.0022363242141569318_r8, 0.002395063077235068_r8, & + 0.002493441026354383_r8, 0.0026928023587360133_r8, & + 0.0032564378530874731_r8, 0.0040109796912008687_r8, & + 0.0047016326344925504_r8, 0.0054978816946460183_r8, & + 0.006201744290421465_r8, 0.0068679649524500007_r8, & + 0.0074554447312541235_r8, 0.0079680258818540517_r8, & + 0.0084104833438659408_r8, 0.0088730987051544308_r8, & + 0.0097019752521171412_r8, 0.010067452019632548_r8, 0.010209458318302047_r8, & + 0.010406364655379812_r8, 0.010640516643871315_r8, 0.010769077584439053_r8, & + 0.010803854482002866_r8, 0.010759519522492499_r8, 0.010689542253799885_r8, & + 0.010617867723624197_r8, 0.010547159477862196_r8, 0.010533695647102017_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,71) / & + 0.0002734677199149432_r8, 0.00023424213761031107_r8, & + 0.00026141215104150123_r8, 0.00021575128702040495_r8, & + 0.00023732218198447406_r8, 0.00025771821466149132_r8, & + 0.00035246927046048393_r8, 0.00052571382824845422_r8, & + 0.00082820382195705668_r8, 0.0012621937170560398_r8, & + 0.0017165584761421827_r8, 0.0021152495809049678_r8, & + 0.0023188394556026472_r8, 0.0025652853429153975_r8, & + 0.0027226533833107753_r8, 0.0028679552704877825_r8, & + 0.003222742512487586_r8, 0.0037312567802273975_r8, 0.004535730500854992_r8, & + 0.0052437173331153376_r8, 0.0060619507021498478_r8, & + 0.0067463873669445134_r8, 0.0074696262402466759_r8, & + 0.0081048033637445924_r8, 0.0086475262342929782_r8, & + 0.0091373062115095299_r8, 0.0096033031656719801_r8, & + 0.010572522215110043_r8, 0.011012894470200851_r8, 0.011059994805132208_r8, & + 0.011077384883849559_r8, 0.011419386237175862_r8, 0.011625010952186024_r8, & + 0.011682720013840344_r8, 0.011566171822704439_r8, 0.011342920242060382_r8, & + 0.011144874900850978_r8, 0.011062342063175929_r8, 0.01106601914965683_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,71) / & + 0.00038797578346571856_r8, 0.00039481488803039353_r8, & + 0.00043412870846346019_r8, 0.00037107657670268314_r8, & + 0.00044489478274591614_r8, 0.00049666239197497942_r8, & + 0.00079182490800977132_r8, 0.0012094294573798715_r8, & + 0.0017157107190006518_r8, 0.0021337123776680564_r8, & + 0.0023648299886988118_r8, 0.0025062450217941861_r8, & + 0.0026548300838686555_r8, 0.0028197297195740184_r8, & + 0.0029690428153602111_r8, 0.0031416750515491825_r8, & + 0.0035978322951991833_r8, 0.0042524669718043391_r8, & + 0.0050966551529891295_r8, 0.0058444560830672593_r8, & + 0.0066403844538158356_r8, 0.0073729297683892154_r8, & + 0.0081127885125212729_r8, 0.0087526308678018642_r8, & + 0.0093212141658440707_r8, 0.0098448910208495145_r8, & + 0.010289733407229816_r8, 0.01134905830793234_r8, 0.011947635767586517_r8, & + 0.012153374036755914_r8, 0.011950567797294039_r8, 0.012252875129019205_r8, & + 0.012625066999790012_r8, 0.012527359596644401_r8, 0.01240149623821739_r8, & + 0.012201909814516297_r8, 0.011775118370048502_r8, 0.011566403947916326_r8, & + 0.011504820490223357_r8, 0.01123388164132409_r8, 0.011247624459505778_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,71) / & + 0.00047813929328384365_r8, 0.00055915312787922626_r8, & + 0.00057533437489324106_r8, 0.00058740790242907317_r8, & + 0.00070481476580451356_r8, 0.00082444420497472905_r8, & + 0.0012256836956468578_r8, 0.0016170825641323588_r8, & + 0.0020014802901711115_r8, 0.0022687781701466367_r8, & + 0.0024560070828250238_r8, 0.0025856573375202499_r8, & + 0.0027710272173333715_r8, 0.0029822855429357514_r8, & + 0.0032420342812059183_r8, 0.0034943005279909748_r8, & + 0.0040885597123469777_r8, 0.0048927047032556702_r8, & + 0.0057718852991335964_r8, 0.0065170980915161885_r8, & + 0.0072935638116218291_r8, 0.0079995604506123315_r8, & + 0.0088183213921262937_r8, 0.0094621114458170955_r8, & + 0.010014173785473628_r8, 0.010542012213254707_r8, 0.011020401485854776_r8, & + 0.012174097891579539_r8, 0.012896138818759702_r8, 0.013258682292145087_r8, & + 0.012933295609465548_r8, 0.013209118876515772_r8, 0.01355172201465459_r8, & + 0.013283497742292514_r8, 0.013082493572399337_r8, 0.013042827714476898_r8, & + 0.012501479008317476_r8, 0.012104228693189363_r8, 0.011939245787664633_r8, & + 0.011691402885631998_r8, 0.01170756863831437_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,21,71) / & + 0.00064216109396488875_r8, 0.00070517215921680001_r8, & + 0.00073031309134037332_r8, 0.00079203460285834674_r8, & + 0.00093769694078570673_r8, 0.0010750317306059732_r8, & + 0.0014082892598478935_r8, 0.0017058381340300799_r8, & + 0.0019321145716745601_r8, 0.0021091916726689339_r8, & + 0.0023184132703273335_r8, 0.0024699604268026668_r8, & + 0.0026943333865534665_r8, 0.0030425933800398665_r8, & + 0.0034743099465743997_r8, 0.0038696873896841327_r8, & + 0.004629435305140801_r8, 0.0055071545830778666_r8, 0.006322336764888534_r8, & + 0.0071913457422926232_r8, 0.0079558132276735995_r8, & + 0.0087413142108508455_r8, 0.0096144458253655096_r8, & + 0.010376364608845157_r8, 0.010929633495970086_r8, 0.011537706500470146_r8, & + 0.012073904833807799_r8, 0.013152861437587345_r8, 0.013958140347518936_r8, & + 0.014306668625415997_r8, 0.014221398896892447_r8, 0.014364841628462225_r8, & + 0.014400970595765334_r8, 0.014193640403202132_r8, 0.013998597636647464_r8, & + 0.013814500874047998_r8, 0.013326867129220271_r8, 0.012817770631539199_r8, & + 0.0123937739489216_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,71) / & + 0.00072807454348692256_r8, 0.00071293384415910808_r8, & + 0.00072424934870699996_r8, 0.00073072747853979256_r8, 0.001017330797211_r8, & + 0.0013009525061793592_r8, 0.001542887345299963_r8, & + 0.0016745965617768852_r8, 0.0018293395705639914_r8, & + 0.0019907590192808126_r8, 0.0021560923173958714_r8, & + 0.0022924814202185243_r8, 0.0026081372840596538_r8, & + 0.0031593419380172242_r8, 0.0037214200157686121_r8, & + 0.0042387611911874172_r8, 0.0050385144999541718_r8, & + 0.005839418239224712_r8, 0.006682090027914844_r8, 0.0075816895712115156_r8, & + 0.0083847642841746763_r8, 0.0092294400485810751_r8, & + 0.010232926249668931_r8, 0.011059492011306108_r8, 0.011665708581974804_r8, & + 0.012318930444154913_r8, 0.012885885923120496_r8, 0.01410754053366655_r8, & + 0.015050681485846019_r8, 0.015460071458282454_r8, 0.01541600069232222_r8, & + 0.015391869484738845_r8, 0.015354907265972146_r8, 0.015034410316349778_r8, & + 0.014811635015891465_r8, 0.014609483965513067_r8, 0.014021317092788799_r8, & + 0.013427138292915732_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,71) / & + 0.00032828893666567887_r8, 0.0003251113463862387_r8, & + 0.00037658783977829205_r8, 0.00055393713088712092_r8, & + 0.00081720254980974683_r8, 0.0010898646160817827_r8, & + 0.0014150156026572454_r8, 0.0016277050837106657_r8, & + 0.0017628706220452831_r8, 0.0018979836577274303_r8, & + 0.0020449056247914201_r8, 0.0022378747067666482_r8, & + 0.0026670236064998869_r8, 0.0030866016434562492_r8, & + 0.0036694537290441571_r8, 0.0042608103288544891_r8, & + 0.005128977940377079_r8, 0.0059505982199124074_r8, & + 0.0068532590670825847_r8, 0.0078827410554341282_r8, & + 0.0088150392150719969_r8, 0.0095691463017536643_r8, & + 0.010726477512868518_r8, 0.01147426999979986_r8, 0.012319957733251943_r8, & + 0.013000382267884365_r8, 0.013573765246054109_r8, 0.014820998254955361_r8, & + 0.015731329844931443_r8, 0.016199806366876658_r8, 0.016366830475822623_r8, & + 0.016291332119308815_r8, 0.016255139241887429_r8, 0.016360753888859731_r8, & + 0.016398646430941865_r8, 0.016361272964778666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,71) / & + 0.00024521140115664263_r8, 0.0002229079795200924_r8, & + 0.00026355363847896016_r8, 0.00047415198609783064_r8, & + 0.00078496225739294869_r8, 0.0010655796594765446_r8, & + 0.0014509850116719808_r8, 0.0017271246767962408_r8, & + 0.001850304364231695_r8, 0.0019976497628261393_r8, & + 0.0021466108983049905_r8, 0.0023018069023681264_r8, & + 0.0026515350694189836_r8, 0.0030331623162523488_r8, & + 0.0036378870162949778_r8, 0.0042978494546258728_r8, & + 0.0053844559567581768_r8, 0.0062924169542134213_r8, & + 0.0072861313749663804_r8, 0.0082870334801180452_r8, & + 0.0092059166883855532_r8, 0.0099993642881059195_r8, & + 0.011211009072459178_r8, 0.011889052842842404_r8, 0.012807699445840561_r8, & + 0.013468635589460109_r8, 0.014107453474605845_r8, 0.015355932654660294_r8, & + 0.016279072910407678_r8, 0.016796061534469109_r8, 0.017021010761411062_r8, & + 0.017016695024455967_r8, 0.017039972577696971_r8, 0.017141233238242778_r8, & + 0.017247245188386665_r8, 0.017169715396883199_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,71) / & + 0.00055225808568149307_r8, 0.00045816615767771418_r8, & + 0.00041005656815542858_r8, 0.0002685292813466666_r8, & + 0.00027024291016177772_r8, 0.00026090910214755558_r8, & + 0.00029475967117253889_r8, 0.00031442024550036888_r8, & + 0.00031594691888567377_r8, 0.00035694368467154599_r8, & + 0.00043886274437083687_r8, 0.00052963019578527515_r8, & + 0.00096914231003485227_r8, 0.0015471193781015815_r8, & + 0.0020461389423270691_r8, 0.0024242802661358135_r8, & + 0.0031832452207075541_r8, 0.0038424870804977767_r8, & + 0.0043291784983822204_r8, 0.0046274019981937774_r8, & + 0.0047191149956906644_r8, 0.0047508940508732347_r8, & + 0.0047660173809621316_r8, 0.0048231577868991984_r8, & + 0.0049089996524799995_r8, 0.004883331680440888_r8, & + 0.0049662589747210941_r8, 0.0050975835674430267_r8, & + 0.0052466027591506646_r8, 0.0052918316218133312_r8, & + 0.0053126139287199975_r8, 0.0053091033335182216_r8, & + 0.0051944700527385085_r8, 0.0052423120579878765_r8, & + 0.0052047646939306661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,71) / & + 0.00057535266455354544_r8, 0.00043839790533392581_r8, & + 0.00038323901519594781_r8, 0.00029069568841078139_r8, & + 0.00029689994183873048_r8, 0.00028519529942527095_r8, & + 0.00031837253892069212_r8, 0.00034790874019231604_r8, & + 0.00036348218966630083_r8, 0.00039723309336654668_r8, & + 0.00046447711082289094_r8, 0.00052439287806316378_r8, & + 0.00080012451284894239_r8, 0.0012922385820036781_r8, & + 0.001703525306281086_r8, 0.0021705362638334788_r8, & + 0.0030311382160003709_r8, 0.0038230656612581867_r8, & + 0.0043898246034809992_r8, 0.0047799725523382996_r8, 0.00494001499441378_r8, & + 0.0050022572343208895_r8, 0.0050269655030973854_r8, & + 0.0050655373744774171_r8, 0.005133299623142685_r8, & + 0.0051571211271429522_r8, 0.0052233722760110079_r8, & + 0.0053884492598402552_r8, 0.0055132409563335609_r8, & + 0.0055766214810247933_r8, 0.0056025710456756618_r8, & + 0.005597004985517671_r8, 0.0055514897235055104_r8, & + 0.0055932737208134221_r8, 0.0055314457395570669_r8, & + 0.0056184828852408877_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,71) / & + 0.000522618564487111_r8, 0.00037901584075519991_r8, & + 0.0003343296058615111_r8, 0.00031660800883490374_r8, & + 0.0003394883723872592_r8, 0.00034041280546196823_r8, & + 0.00034557845148966768_r8, 0.00040389856934426246_r8, & + 0.00048268993516163391_r8, 0.00050662458238802963_r8, & + 0.00057744260544381797_r8, 0.00061815850777384971_r8, & + 0.00075223054148994696_r8, 0.00089480348977351938_r8, & + 0.0007296275078600041_r8, 0.00092234772567999993_r8, & + 0.0017941943174419554_r8, 0.0034939347929677377_r8, 0.00412712114278538_r8, & + 0.0045971549442009379_r8, 0.0048118560306931544_r8, & + 0.0049638018704165326_r8, 0.0049323436278686213_r8, & + 0.0049036664239845325_r8, 0.0048243302016126163_r8, & + 0.0048525043419165139_r8, 0.0050715526716855449_r8, & + 0.0050687391273750038_r8, 0.0050199553751253331_r8, & + 0.0034810412281064428_r8, 0.003242936737962472_r8, & + 0.0024734407115826161_r8, 0.0019565742091905455_r8, & + 0.0019381822138545923_r8, 0.0017400538472471755_r8, & + 0.00096515194751556604_r8, 0.00060923403873793056_r8, & + 0.00058322814375103569_r8, 0.00059344225421654865_r8, & + 0.00056299243877343719_r8, 0.00055965189769722958_r8, & + 0.00054252462479157347_r8, 0.00054066381648950538_r8, & + 0.00051517987925630269_r8, 0.00051517987925630269_r8 & + / +data delta_sa_ref(:,28,71) / & + 0.00043928834476447248_r8, 0.00045853087730736918_r8, & + 0.00040880875985044828_r8, 0.00036987218996390489_r8, & + 0.00038417607287308806_r8, 0.00038798950140096392_r8, & + 0.00038105426900709587_r8, 0.00053456185445162731_r8, & + 0.00058255192677490557_r8, 0.00054079298581716196_r8, & + 0.00056256207546896643_r8, 0.00062982704905554686_r8, & + 0.00076987751715732649_r8, 0.00089685275321985743_r8, & + 0.00057936448637237387_r8, 0.0006476736775857195_r8, & + 0.0014037187015053742_r8, 0.0033972631870384873_r8, & + 0.0040263051742964566_r8, 0.0044908444391444308_r8, & + 0.0047031443248421109_r8, 0.0049080881720036038_r8, & + 0.0048509870296614393_r8, 0.004825339146170577_r8, & + 0.0048322594611697771_r8, 0.0049358078781948436_r8, & + 0.0051986089761891551_r8, 0.0051532058513266794_r8, & + 0.0052163796616191997_r8, 0.0046744545048856582_r8, & + 0.0038350185939157811_r8, 0.0020293403888127777_r8, & + 0.0011882519907511142_r8, 0.00037033621674361934_r8, & + 0.00035726850051803169_r8, 0.00035726406018603876_r8, & + 0.00035726334814963209_r8, 0.00035726281357752757_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,71) / & + 0.00048052512444595044_r8, 0.00056588026397648059_r8, & + 0.00052804583483672752_r8, 0.00039416505663518025_r8, & + 0.00041293624358381564_r8, 0.00044821518935184856_r8, & + 0.00048964388925987819_r8, 0.00065130405182428782_r8, & + 0.00056746200861928814_r8, 0.00053116219702639667_r8, & + 0.000585252155457949_r8, 0.00062870864801548639_r8, & + 0.00072660025520023691_r8, 0.00080951075596947489_r8, & + 0.00092134136336360819_r8, 0.0010887578826046221_r8, & + 0.0016767452349727052_r8, 0.0023475517971409676_r8, & + 0.0030929304458477713_r8, 0.0034166401147511468_r8, & + 0.0034949753046421331_r8, 0.0036156770900266665_r8, & + 0.0028721110802858666_r8, 0.0027785604760234665_r8, & + 0.0027592051785898667_r8, 0.0027850122418346663_r8, & + 0.0028280240139093335_r8, 0.0030645887603200001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,71) / & + 0.00070346335013486618_r8, 0.00077931223018083804_r8, & + 0.00082505440958852063_r8, 0.00075830586852359768_r8, & + 0.00073328603216431742_r8, 0.00085718245171784104_r8, & + 0.0012559651207529523_r8, 0.001498912673844444_r8, & + 0.0014655445957512531_r8, 0.0016884915226827554_r8, & + 0.0018169947597972444_r8, 0.0018465853903928888_r8, & + 0.0019581582603717331_r8, 0.0020606720084969778_r8, & + 0.0023079378948392001_r8, 0.0023867003635152885_r8, & + 0.0026492344829332566_r8, 0.002767513496699714_r8, & + 0.0038220732516051426_r8, 0.0038107473397225138_r8, & + 0.0030962315436693327_r8, 0.0030924803544959997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,71) / & + 0.00076661830334026669_r8, 0.00088597222360799991_r8, & + 0.00083587977527708427_r8, 0.00087157333838186663_r8, & + 0.0008826418692019554_r8, 0.0010359361234801778_r8, & + 0.0016459786893873772_r8, 0.0016628263646179552_r8, & + 0.001880670723413333_r8, 0.0020244636724743108_r8, & + 0.0020236800596728885_r8, 0.0021122283062336_r8, 0.0023618089834865769_r8, & + 0.0026059043711295997_r8, 0.0028304094387370661_r8, & + 0.0026223602399594666_r8, 0.0027951468626730663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,71) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,71) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,71) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,71) / & + 0.0011259478612583623_r8, 0.0011496239215288125_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,36,71) / & + 0.0011562685633470949_r8, 0.0012021325054920192_r8, & + 0.0013581744125952609_r8, 0.0015012386431534472_r8, & + 0.0016481402789499376_r8, 0.0017927516921587552_r8, & + 0.0021971049736334214_r8, 0.0026618406223775999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,71) / & + 0.0011975721521924763_r8, 0.0012416567275623995_r8, & + 0.0013958872112417304_r8, 0.0015537067111693064_r8, & + 0.0017123550762968627_r8, 0.0018553933420356146_r8, & + 0.0022320035827113989_r8, 0.0027164856382743698_r8, & + 0.0029735607373103409_r8, 0.0029729868174591997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,38,71) / & + 0.0012433720470530342_r8, 0.0012798786209754752_r8, & + 0.0014262323306214468_r8, 0.0016521572961961017_r8, & + 0.0018285672812271053_r8, 0.0019342624358284427_r8, & + 0.0022640858399654135_r8, 0.0026206122685019872_r8, & + 0.0029041906533909178_r8, 0.0029713827268791774_r8, & + 0.0030511722986749554_r8, 0.0030797503166209335_r8, & + 0.0033497633137656887_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,71) / & + 0.0012810329978147292_r8, 0.0013230096836900505_r8, & + 0.0014794229601855407_r8, 0.0021811085896254181_r8, & + 0.0023472574033129873_r8, 0.002411505000285104_r8, & + 0.0026649396692601328_r8, 0.002899887587738399_r8, & + 0.0030521262019208655_r8, 0.003089949961732666_r8, & + 0.0031796131753063987_r8, 0.0033484522380373329_r8, & + 0.0035138486686207993_r8, 0.0035938828306975993_r8, & + 0.0035789116020671996_r8, 0.003583639358476799_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,71) / & + 0.00146695297748609_r8, 0.00161071509601037_r8, 0.0016663597877911104_r8, & + 0.0022442267503038887_r8, 0.0024314742997762957_r8, & + 0.0025202709426666663_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,71) / & + 0.00093349515393382262_r8, 0.00097676989292084355_r8, & + 0.00098201883613820823_r8, 0.00092050803222098164_r8, & + 0.0011029733234050527_r8, 0.0012123755242565216_r8, & + 0.0016797744525991979_r8, 0.0016308339764579715_r8, & + 0.0016276184555750243_r8, 0.0019201315348148617_r8, & + 0.0020643395765749884_r8, 0.0038441924609789626_r8, & + 0.0059396567898842541_r8, 0.0064330902637541147_r8, & + 0.0069000546622477428_r8, 0.0073952324630830613_r8, & + 0.0082728896446187458_r8, 0.0089387135247440599_r8, & + 0.0093465508259209466_r8, 0.010043971233641244_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,71) / & + 0.0011057627809534221_r8, 0.0012396958325012739_r8, 0.0010494725413888_r8, & + 0.00093644455325677029_r8, 0.0011067536937453036_r8, & + 0.0014432804638397627_r8, 0.0020192565153530667_r8, & + 0.0018339466904344381_r8, 0.0018807159476438859_r8, & + 0.002338134078347885_r8, 0.0028756928518975998_r8, & + 0.0044516277701343995_r8, 0.0065615048585514653_r8, & + 0.006979797916440534_r8, 0.0074852593350863998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,71) / & + 0.0030858955969195849_r8, 0.0031274118934312926_r8, & + 0.0030933357698485569_r8, 0.0029647674765472076_r8, & + 0.0030425570829884911_r8, 0.00342030209618692_r8, 0.0041118961016650274_r8, & + 0.0040624265168499353_r8, 0.0042960913642744094_r8, & + 0.0042382672086195361_r8, 0.0039319768005090759_r8, & + 0.0034731332445446326_r8, 0.0028957468802865778_r8, & + 0.0028412777097720889_r8, 0.0027341155373468442_r8, & + 0.0026287295335253331_r8, 0.0024844651724887702_r8, & + 0.0025991267234631108_r8, 0.0026792516626981929_r8, & + 0.0027033286148821331_r8, 0.0027530613357866665_r8, & + 0.0028438432866441472_r8, 0.0028395015411683553_r8, & + 0.0030427741702622811_r8, 0.0033640633354709336_r8, & + 0.0034978680369521773_r8, 0.003658907323690667_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,71) / & + 0.0031938301065264729_r8, 0.0033591378359949962_r8, & + 0.003274905746893196_r8, 0.0024774064279132969_r8, & + 0.0026725651439907031_r8, 0.0030028198659294556_r8, & + 0.0042916880687114533_r8, 0.0040842192025672425_r8, & + 0.0040994603407451926_r8, 0.0038025737911486952_r8, & + 0.0035385594005217977_r8, 0.0032165565374190361_r8, & + 0.0028786361542665218_r8, 0.0028681296891911903_r8, & + 0.0027861522063287311_r8, 0.0026739629998590946_r8, & + 0.0025202890385855737_r8, 0.0026283748616996081_r8, & + 0.0027087290280697418_r8, 0.0027596380369540744_r8, & + 0.0028521670770166514_r8, 0.002928553136405544_r8, & + 0.0030112070011398063_r8, 0.0031734935582476108_r8, & + 0.0034558435341159543_r8, 0.0035297044345167835_r8, & + 0.0037209530192019594_r8, 0.0040301634075460002_r8, & + 0.004033082478452737_r8, 0.0041473030851440201_r8, & + 0.0041065848964615109_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,71) / & + 0.0029002401466026667_r8, 0.0034421878357333334_r8, & + 0.0034270848312319994_r8, 0.0027216911301973339_r8, & + 0.0031749665781759993_r8, 0.0036060971299839996_r8, & + 0.0047191329678506659_r8, 0.0038246737411413334_r8, & + 0.0033881227858773332_r8, 0.0029614397445973332_r8, & + 0.0028277364593493333_r8, 0.0026597966086826666_r8, & + 0.0024989913061546657_r8, 0.002547913921962667_r8, & + 0.0025695492075519994_r8, 0.0025756182062933327_r8, & + 0.0025343397492053324_r8, 0.0025817798615040003_r8, & + 0.0026629932568746667_r8, 0.0027695481966079987_r8, & + 0.0028887507444053323_r8, 0.0030034594534399995_r8, & + 0.0031464283856213328_r8, 0.0032911114624853328_r8, & + 0.0034957896032426659_r8, 0.003614621525162667_r8, & + 0.0038317156328106661_r8, 0.004186080299776_r8, 0.0042185927930331428_r8, & + 0.0041675953341440003_r8, 0.0041872616697599995_r8, 0.004202341510144_r8, & + 0.0042274282492159995_r8, 0.0042216603839999997_r8, & + 0.0042404233190399994_r8, 0.0042591862540799991_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,72) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,72) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,72) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,72) / & + 0.0030044570431590053_r8, 0.0028972342251851854_r8, 0.003035348056_r8, & + 0.0029547728719999996_r8, 0.0030348987519999999_r8, & + 0.0033986103399999998_r8, 0.0037133103499999995_r8, & + 0.0043794035300000001_r8, 0.0046652731999999994_r8, & + 0.0050616591733333343_r8, 0.0053482152799999997_r8, & + 0.0055194500266666658_r8, 0.0059281918599999994_r8, 0.00614273452_r8, & + 0.0062318464799999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,5,72) / & + 0.002738340417556843_r8, 0.0027460500657301586_r8, & + 0.0030356489787407405_r8, 0.0022131399947530861_r8, & + 0.0025610866517654322_r8, 0.0031366810319717812_r8, & + 0.0031405970227354496_r8, 0.0039953063908641975_r8, & + 0.0046334156049629626_r8, 0.004946937149474427_r8, 0.005283482684469135_r8, & + 0.0054855470550723099_r8, 0.0059766934475837729_r8, & + 0.0061762370206790125_r8, 0.0063058186979629621_r8, & + 0.0064041737802645491_r8, 0.0065109176535185194_r8, & + 0.0066296677299999994_r8, 0.0068056718742857143_r8, & + 0.0069545305685714274_r8, 0.0071621732028571425_r8, & + 0.007489648066666665_r8, 0.0076605083933333328_r8, & + 0.0078478431999999994_r8, 0.0080421671799999987_r8, & + 0.0081974266733333325_r8, 0.008370221503333334_r8, & + 0.0087322856433333321_r8, 0.0090693884500000002_r8, & + 0.0093468336699999988_r8, 0.0095767899533333329_r8, & + 0.0097701778833333332_r8, 0.0099841339520000006_r8, & + 0.010147718049999999_r8, 0.010281198779999999_r8, 0.010387908479999999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,72) / & + 0.0019728605822222217_r8, 0.0019972764641975308_r8, & + 0.0026484991609876541_r8, 0.0021124591501234568_r8, & + 0.0023252406493827157_r8, 0.002746671160493827_r8, & + 0.0024633600271604943_r8, 0.003600931191604938_r8, & + 0.0042573033190123457_r8, 0.0046336647560493828_r8, & + 0.0049593639313580242_r8, 0.0051579359604938257_r8, & + 0.0056092646019753082_r8, 0.0057979075674074072_r8, & + 0.0059053614849382714_r8, 0.0060045504276543199_r8, & + 0.0062035847037037028_r8, 0.0062806135293827165_r8, & + 0.0064865364400617286_r8, 0.0066307459209259262_r8, & + 0.0068050153185802474_r8, 0.0070764377914726622_r8, & + 0.0072390932354232801_r8, 0.007422973076587301_r8, & + 0.0076458929713668434_r8, 0.0078377313836772485_r8, & + 0.0080152630889241631_r8, 0.0084212916979629626_r8, & + 0.0087920353492063497_r8, 0.0090492764169664893_r8, & + 0.0093157142172486784_r8, 0.0095186511779541457_r8, & + 0.009745240652874779_r8, 0.0099283005010317466_r8, 0.010051596115555556_r8, & + 0.010103451205444444_r8, 0.010131197807555557_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,72) / & + 0.00085922456296296293_r8, 0.00082154219456790126_r8, & + 0.0011863289688888888_r8, 0.0011790069777777776_r8, & + 0.001270901664197531_r8, 0.0015694114760493826_r8, 0.001674239831111111_r8, & + 0.0022810405995061724_r8, 0.0027409947683950616_r8, & + 0.0031384161748148147_r8, 0.003371185230617284_r8, & + 0.0034337827076543204_r8, 0.0037511799283950617_r8, & + 0.0039059956646913582_r8, 0.0040131167644444441_r8, & + 0.0041255906834567896_r8, 0.0044355364839506169_r8, & + 0.0045524387283950619_r8, 0.0048523537708641982_r8, & + 0.0051761299990123457_r8, 0.0054778478044444452_r8, & + 0.0057264904192592583_r8, 0.0059872993728395064_r8, & + 0.0062055816103703705_r8, 0.0064138793145679003_r8, & + 0.0066343710923456789_r8, 0.0068338768602469136_r8, & + 0.0072423274780246917_r8, 0.0077364694286419745_r8, & + 0.0080943779688888891_r8, 0.0083922406350617259_r8, & + 0.0086468369901234552_r8, 0.0089133685604938281_r8, & + 0.0092070710044444455_r8, 0.0094427106135802474_r8, & + 0.0096279803321604965_r8, 0.0097416514706790136_r8, & + 0.009785996831174603_r8, 0.0098873461838941794_r8, 0.010043027721866663_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,72) / & + 0.00017984178419753086_r8, 0.00016970933185185186_r8, & + 0.00023832526370370368_r8, 0.00032582860444444449_r8, & + 0.00034556654765432099_r8, 0.00041696520592592588_r8, & + 0.00068307150913580258_r8, 0.00095971704197530855_r8, & + 0.0011732566261728394_r8, 0.0013615297940740739_r8, & + 0.0014714428651851853_r8, 0.0014721547254320985_r8, & + 0.0015332730123456789_r8, 0.0015977564567901232_r8, & + 0.001675829960493827_r8, 0.0017650158799999997_r8, 0.001934725211851852_r8, & + 0.0022193121466666664_r8, 0.002512043872098765_r8, & + 0.0029831197017283952_r8, 0.003746770092839506_r8, & + 0.0041661020029629611_r8, 0.0045888452953086424_r8, & + 0.0050021217708641971_r8, 0.0053956787930864204_r8, & + 0.0057237631624691351_r8, 0.0060025905007407409_r8, & + 0.0066062572350617278_r8, 0.007110966150123456_r8, & + 0.0075014815876543219_r8, 0.0077525093965432092_r8, & + 0.0078896210760493832_r8, 0.0080347296271604928_r8, & + 0.008306170259753087_r8, 0.0086105506074074089_r8, & + 0.0089601664380246915_r8, 0.0092960627802469147_r8, & + 0.0095777078436331559_r8, 0.0098102418138624348_r8, & + 0.0099351156242517003_r8, 0.010098856240000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,72) / & + 0.00015281404463855561_r8, 0.00016512153123456787_r8, & + 0.00017001606569664899_r8, 0.00021132839306878305_r8, & + 0.00021568407970017637_r8, 0.00023504628220458553_r8, & + 0.00035884591095238085_r8, 0.00045731837095238092_r8, & + 0.00051288243102292762_r8, 0.00057369338977425032_r8, & + 0.00061205552527336866_r8, 0.00064714736291181653_r8, & + 0.00070329966519753063_r8, 0.00076630345727160499_r8, & + 0.00083315670957142857_r8, 0.00092665602011640213_r8, & + 0.0010533817048447973_r8, 0.0013959543122574957_r8, & + 0.0017297229979717813_r8, 0.0021550835983774248_r8, & + 0.0028895833784126977_r8, 0.003632236665721341_r8, & + 0.0042132527729947088_r8, 0.0047630832601728386_r8, & + 0.0053007283243915338_r8, 0.0057592333492063504_r8, & + 0.006130290601962963_r8, 0.0069812652131358045_r8, & + 0.0075767249846296287_r8, 0.0079456646842751295_r8, & + 0.0081814622497848322_r8, 0.0082157539710335098_r8, & + 0.0081873827742892421_r8, 0.0082936185391322761_r8, & + 0.0085003680463456785_r8, 0.0088952207466666666_r8, & + 0.0092745936893280419_r8, 0.0096839988799999992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,72) / & + 0.00025983438119468369_r8, 0.00026384277764134728_r8, & + 0.00026694759259259258_r8, 0.0002164184579753086_r8, & + 0.00019961763165432102_r8, 0.00020496213046913576_r8, & + 0.00029092434000000002_r8, 0.00038083862857142846_r8, & + 0.00043865383111111103_r8, 0.00048517898296296293_r8, & + 0.00053300767111111107_r8, 0.00058219813866666661_r8, & + 0.00056323376566666669_r8, 0.00066681081833333338_r8, & + 0.00070524087111111108_r8, 0.00077192804469841257_r8, & + 0.00084499343326984149_r8, 0.0010644368350476189_r8, & + 0.0014335032233650795_r8, 0.0020004892123174603_r8, & + 0.0027343726191111106_r8, 0.0035078536153333329_r8, & + 0.0042312455359999994_r8, 0.0049293807475555545_r8, & + 0.0056121231368888884_r8, 0.0061736366506666661_r8, & + 0.0066878234764444437_r8, 0.007653379555396825_r8, & + 0.0083076725622222222_r8, 0.0087672991136111128_r8, & + 0.0090748799433333326_r8, 0.0091636174833333323_r8, & + 0.0091331022533333341_r8, 0.0090080147716666663_r8, & + 0.008751451787111111_r8, 0.009221590180000001_r8, 0.0096415022099999997_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,72) / & + 0.00024413954915314981_r8, 0.00024700114828144626_r8, & + 0.00024648016597222217_r8, 0.00018127462581349208_r8, & + 0.00018692918499999998_r8, 0.00016435212596371883_r8, & + 0.0001731306193650794_r8, 0.00024100761650793648_r8, & + 0.00030294738222222227_r8, 0.00040801082285714282_r8, & + 0.000483327684074074_r8, 0.00057990724296296296_r8, & + 0.00055796623096296297_r8, 0.00064004464192592592_r8, & + 0.00068830599318518509_r8, 0.00074920055259259256_r8, & + 0.00087602908725925924_r8, 0.0010995883355555554_r8, & + 0.0014871789057407409_r8, 0.002109884434814815_r8, & + 0.0028914376488888885_r8, 0.0037004708641666662_r8, & + 0.0044944683429629624_r8, 0.0052173450894444449_r8, & + 0.0058779641103703702_r8, 0.0064560807243518514_r8, & + 0.0069676944526851853_r8, 0.0079147863758333332_r8, & + 0.0085904012644444465_r8, 0.0090659946001428564_r8, & + 0.0093159362938730166_r8, 0.0094996395236984135_r8, & + 0.0094273244609206341_r8, 0.0092885863986666671_r8, & + 0.0088633638449999996_r8, 0.0092463018999999983_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,72) / & + 0.00021078459259259258_r8, 0.00020686011629629628_r8, & + 0.00020548724296296295_r8, 0.00013199460617283951_r8, & + 0.00013550306024691358_r8, 0.00011927495785185185_r8, & + 0.00013145192829629629_r8, 0.00023551017999999999_r8, & + 0.00032944522429629626_r8, 0.00046837815664197525_r8, & + 0.00058591229261728398_r8, 0.00073170173343209877_r8, & + 0.00085105203753086398_r8, 0.0009025301650617283_r8, & + 0.00093229523435626105_r8, 0.00092167234628968248_r8, & + 0.00096924337305555558_r8, 0.0011702133080555555_r8, & + 0.0015748105199999999_r8, 0.0022246060294444443_r8, & + 0.0030802441341666663_r8, 0.0039314308011111111_r8, & + 0.0047559452433333337_r8, 0.0055026167274999996_r8, & + 0.0061432805491666671_r8, 0.0067034752724999995_r8, & + 0.0072127956783333332_r8, 0.0080843221174603189_r8, & + 0.0086508255206349215_r8, 0.0090522201043650788_r8, & + 0.0092439380023015879_r8, 0.0093947713163492069_r8, & + 0.0093801823084920626_r8, 0.0093512065729705208_r8, & + 0.0092820840562358262_r8, 0.0092852718901904763_r8, & + 0.0093446245920000004_r8, 0.00949379352_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,72) / & + 0.00016857220444444442_r8, 0.00015967857382716047_r8, & + 0.00015944745037037034_r8, 0.00011474817382716049_r8, & + 0.00011484062320987655_r8, 9.9004043950617278e-05_r8, & + 0.00012593454913580247_r8, 0.00024460257679012344_r8, & + 0.00039078354074074072_r8, 0.00058506591851851847_r8, & + 0.00075093860098765421_r8, 0.00090519964098765421_r8, & + 0.001087928157160494_r8, 0.0011500275631481482_r8, & + 0.0011881791121604937_r8, 0.0011407837804938272_r8, & + 0.001086197042469136_r8, 0.0013015070323456788_r8, & + 0.0017651748929382715_r8, 0.002502625128987654_r8, & + 0.0034226277651358021_r8, 0.0043081828367901222_r8, & + 0.0051512380027160486_r8, 0.0059084284932098751_r8, & + 0.006513144528024691_r8, 0.0070296615404938272_r8, & + 0.0074964430962962958_r8, 0.0082918902969753086_r8, & + 0.0087908513367548503_r8, 0.0091246233242328056_r8, & + 0.0093306527167901221_r8, 0.0094643576365432101_r8, & + 0.009508756452592592_r8, 0.0094839883384691352_r8, & + 0.0094626417759999977_r8, 0.0094305396523456774_r8, & + 0.0094367291385185174_r8, 0.0095129357424999991_r8, & + 0.0094685201699999996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,72) / & + 0.00012787598617283952_r8, 0.00011465572444444445_r8, & + 0.00011529362518518518_r8, 0.00010585454320987654_r8, & + 0.00010572511407407407_r8, 9.4279880493827151e-05_r8, & + 0.00012995609728395059_r8, 0.0002577858587654321_r8, & + 0.00045064451604938269_r8, 0.00071912676839506182_r8, & + 0.00098410518913580238_r8, 0.0012019529145679011_r8, & + 0.0014479237422222221_r8, 0.0015086260069135805_r8, & + 0.0015092084380246913_r8, 0.001437439982222222_r8, & + 0.0012890032533333334_r8, 0.0015161236518518519_r8, & + 0.0020354673041975309_r8, 0.002865561066666667_r8, & + 0.0038090717318518511_r8, 0.0047086227155555549_r8, & + 0.0055075240562962972_r8, 0.0062168696800000006_r8, & + 0.0067676831022222203_r8, 0.0072518959891358023_r8, & + 0.0077004419041975299_r8, 0.0084439198399999995_r8, & + 0.0089506349066666661_r8, 0.0092521377672839505_r8, & + 0.0094352476371604935_r8, 0.0095635569798148152_r8, & + 0.0096230389126543206_r8, 0.0096083567950617267_r8, & + 0.0095832105629629627_r8, 0.0095694852964814808_r8, & + 0.0095772332151058178_r8, 0.0095923075822222197_r8, & + 0.0095787868600000006_r8, 0.0095870240999999991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,72) / & + 0.0001066958325925926_r8, 9.0036453827160479e-05_r8, & + 9.7071851851851867e-05_r8, 0.00010977439703703701_r8, & + 0.00010873896395061727_r8, 9.5490967407407405e-05_r8, & + 0.000110874544691358_r8, 0.00018692340691358022_r8, & + 0.00033828153629629628_r8, 0.0006073739545679012_r8, & + 0.00092661091802469123_r8, 0.0011595186479012344_r8, & + 0.0014609128804938269_r8, 0.0016163110479012345_r8, & + 0.0016099227955555552_r8, 0.0015663883812345675_r8, & + 0.0014343983975308641_r8, 0.0017581376459259261_r8, & + 0.0023729260409876543_r8, 0.0031734729807407405_r8, & + 0.0041052980439506169_r8, 0.0048606742153086413_r8, & + 0.0056586787970370365_r8, 0.0062906812671604936_r8, & + 0.0068516456316049376_r8, 0.0073408970098765422_r8, & + 0.0077903396839506169_r8, 0.0085056298029629624_r8, & + 0.0089710107506172834_r8, 0.0092608210755555573_r8, & + 0.0094331005002469132_r8, 0.0095428009377777762_r8, & + 0.0096362117940740743_r8, 0.0096377094740740729_r8, & + 0.0096013121520987649_r8, 0.0095939069565432068_r8, & + 0.0096101268705643741_r8, 0.0096152460075000015_r8, & + 0.0096091148799999984_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,72) / & + 0.00014302578682598189_r8, 0.000111887295629893_r8, & + 0.00013631933307319832_r8, 0.00017703293454060246_r8, & + 0.00017530786406662053_r8, 0.00017626731337518352_r8, & + 0.00021153434402024031_r8, 0.00033797813320025016_r8, & + 0.0006084943811792197_r8, 0.00095350847597559839_r8, & + 0.0012674422280188312_r8, 0.001477338724229504_r8, & + 0.0017817748972586798_r8, 0.0019556096674374058_r8, & + 0.0020132735400227551_r8, 0.0020128665009221526_r8, & + 0.0019854398186672723_r8, 0.0024555409056416519_r8, & + 0.0032029809912336718_r8, 0.0039608781051483121_r8, & + 0.0048051450396479336_r8, 0.0055410523507228833_r8, & + 0.0062675299226338747_r8, 0.0068442558711517892_r8, & + 0.0073924503169989003_r8, 0.0078924590864604023_r8, & + 0.0083582571886569867_r8, 0.0090945715388325386_r8, & + 0.0095510465073438949_r8, 0.0097813434156204752_r8, & + 0.0099237392609812375_r8, 0.01005956433228942_r8, 0.010215092034348193_r8, & + 0.010205011759478808_r8, 0.010104253314360542_r8, 0.010069373420819245_r8, & + 0.010067860903671521_r8, 0.010072836714391209_r8, 0.010067021870096886_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,72) / & + 0.00023669912984725593_r8, 0.00019754665256996871_r8, & + 0.00023313059748019093_r8, 0.00035854626200564933_r8, & + 0.00036877537893283287_r8, 0.00041460871652232423_r8, & + 0.0004589720620856098_r8, 0.00075610307102398665_r8, & + 0.0010960767441192294_r8, 0.0014545621788686219_r8, & + 0.001754420276462512_r8, 0.0019497771478072363_r8, & + 0.0021364559972593248_r8, 0.0023672447453736293_r8, & + 0.0024746352662949928_r8, 0.0025383720929760658_r8, & + 0.0026704179284335141_r8, 0.0030811235626793609_r8, & + 0.0039416873084483425_r8, 0.0046861622356512396_r8, & + 0.0055048261397353353_r8, 0.0061861116855634708_r8, & + 0.006883759763324681_r8, 0.0074736016672467742_r8, & + 0.0080163125854458995_r8, 0.0085124602389804495_r8, & + 0.0089797960488013674_r8, 0.0098604530648871754_r8, 0.01035029495952311_r8, & + 0.010500203732567964_r8, 0.010577809173675587_r8, 0.010738078856036186_r8, & + 0.010899473842637538_r8, 0.010881043183991728_r8, 0.010717772690322461_r8, & + 0.010600210078026655_r8, 0.010548494780963832_r8, 0.010532634979062379_r8, & + 0.010496812613031651_r8, 0.010412890695842163_r8, 0.010379973591638399_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,72) / & + 0.00037065449809058277_r8, 0.00034469506911057783_r8, & + 0.00039721326560215804_r8, 0.00044603884875684443_r8, & + 0.00047281591838256793_r8, 0.00064999785248390121_r8, & + 0.0008122346915463407_r8, 0.0014053800582904839_r8, & + 0.001721836095132104_r8, 0.0019992054691962769_r8, & + 0.0022126070316425776_r8, 0.0023214458505412638_r8, & + 0.0024273236989462324_r8, 0.002669891746885842_r8, & + 0.0028060315604842073_r8, 0.0029430882429619947_r8, & + 0.003279379342199427_r8, 0.003773599452113442_r8, 0.0046249882816361484_r8, & + 0.0054100992662603599_r8, 0.0062191044095604251_r8, & + 0.0068458193492880876_r8, 0.0075217290011998176_r8, & + 0.0081225268493271899_r8, 0.0086795478468307211_r8, & + 0.0091953044525877881_r8, 0.0096614363571480739_r8, & + 0.010654407999648573_r8, 0.011210559568818701_r8, 0.011298587675526569_r8, & + 0.011257730970066005_r8, 0.011415644482237515_r8, 0.011561733580068572_r8, & + 0.011491335967912859_r8, 0.011234664091350004_r8, 0.011042068364735605_r8, & + 0.010949542365047955_r8, 0.010948830293792589_r8, 0.010858512925581022_r8, & + 0.010829959944630933_r8, 0.010818385963451733_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,72) / & + 0.00048434315110625097_r8, 0.00047379017188813337_r8, & + 0.00054132357176084453_r8, 0.0005293001570600592_r8, & + 0.00059223422464173346_r8, 0.00081574160827962961_r8, & + 0.0010924895595036889_r8, 0.0017064143283024445_r8, & + 0.0020552713890054906_r8, 0.0023145670514165633_r8, & + 0.0024746782847123289_r8, 0.0025458404923903231_r8, & + 0.0026376815019218966_r8, 0.0028107074741459113_r8, & + 0.0029485715454649181_r8, 0.003117402164331482_r8, & + 0.0035661786609117183_r8, 0.0041787545433864294_r8, & + 0.0049981213252121483_r8, 0.0058476522050902001_r8, & + 0.0066315738164005591_r8, 0.0073155444358270648_r8, 0.00801734769398392_r8, & + 0.0086205136626465728_r8, 0.0091993987277571264_r8, & + 0.0097488610330392408_r8, 0.010226687758886138_r8, 0.011236026031529529_r8, & + 0.011832356908367432_r8, 0.011945890912331827_r8, 0.011869380309755248_r8, & + 0.012069403148469807_r8, 0.012285310764290083_r8, 0.012285283817587771_r8, & + 0.012124537519657958_r8, 0.011895036710766223_r8, 0.011574879749480653_r8, & + 0.01145682163732537_r8, 0.011384746299864747_r8, 0.011236381302525867_r8, & + 0.011272344513262934_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,72) / & + 0.00050561877738733332_r8, 0.00054698864287799995_r8, & + 0.00058708022600799999_r8, 0.0006030393876017777_r8, & + 0.00071026016258133337_r8, 0.00088085275398666662_r8, & + 0.0013266246753973333_r8, 0.0016733878176_r8, 0.002139457313464889_r8, & + 0.0023988324251928888_r8, 0.0025640020005226662_r8, & + 0.0026749414150968884_r8, 0.0028452241198693331_r8, & + 0.0030334802493493336_r8, 0.0032017486910079999_r8, & + 0.0033951179499306667_r8, 0.0039315317114613328_r8, & + 0.0046352842547519998_r8, 0.0055342653767626662_r8, & + 0.0062956568337706664_r8, 0.0070616965902719989_r8, & + 0.0078184397477866659_r8, 0.0086300328393226662_r8, & + 0.009233382113557332_r8, 0.0098190678497173337_r8, 0.010361059570639999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,72) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,72) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,72) / & + 0.00034016775220764437_r8, 0.00027986843295822218_r8, & + 0.00028064704683662223_r8, 0.0005011677997301332_r8, & + 0.00073137796977706655_r8, 0.00095475364022471105_r8, & + 0.0013476941108572441_r8, 0.0015584389339441775_r8, & + 0.0017373471006698663_r8, 0.0018697114599978662_r8, & + 0.002015571793218133_r8, 0.0021832333150336_r8, 0.002577211937504_r8, & + 0.0028320782137002663_r8, 0.0034144813947434662_r8, & + 0.0040934326967082659_r8, 0.0051071879663850657_r8, & + 0.0059522435624085324_r8, 0.0068658171797311984_r8, & + 0.0079548384576533324_r8, 0.0088798317451925322_r8, & + 0.0096579265476735981_r8, 0.010786397595434667_r8, 0.011512065730103466_r8, & + 0.012352968718775465_r8, 0.013018424046847998_r8, 0.013613285049945597_r8, & + 0.014842456825979731_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,72) / & + 0.00029065358655687613_r8, 0.00025242158555593644_r8, & + 0.00024508469062700948_r8, 0.00047227690710137133_r8, & + 0.00073884791408038099_r8, 0.00099380607865009519_r8, & + 0.0014425605851356345_r8, 0.0016824092650992457_r8, & + 0.0018232482319444001_r8, 0.0019676094199343997_r8, & + 0.0021191838712711422_r8, 0.0022747102700797711_r8, & + 0.0026366779637668567_r8, 0.0029871607097848381_r8, & + 0.0035973848836556572_r8, 0.0042826832700182853_r8, & + 0.0053777180355291422_r8, 0.0062601917428434283_r8, & + 0.007238739978988799_r8, 0.0083020056910363405_r8, & + 0.0092050448725732557_r8, 0.01003127047315177_r8, 0.011179023450569139_r8, & + 0.011918613154142627_r8, 0.012794180545486625_r8, 0.013469618247380572_r8, & + 0.014099781211247083_r8, 0.015350591770309943_r8, 0.016284121057908267_r8, & + 0.016811968229622401_r8, 0.017034888761774399_r8, 0.017025757077324798_r8, & + 0.017051809235901598_r8, 0.017159688449252263_r8, 0.017212150871678399_r8, & + 0.017215373819131199_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,72) / & + 0.00053163444535298996_r8, 0.00048583952270854312_r8, & + 0.00036037388275863701_r8, 0.00025775107117210859_r8, & + 0.0002585233326685234_r8, 0.00024098077385607895_r8, & + 0.00029421496261973333_r8, 0.00030552016718775305_r8, & + 0.00030948518364776298_r8, 0.00033900566642528396_r8, & + 0.00040040925213392583_r8, 0.00049705537088039502_r8, & + 0.00093515635468286438_r8, 0.0015253391468440492_r8, & + 0.0020011689012357529_r8, 0.0024646253411839997_r8, & + 0.0032819493144849378_r8, 0.0038643284690429627_r8, & + 0.0043660044452796046_r8, 0.0046115562849355059_r8, & + 0.0047165773666367995_r8, 0.0047674887520865973_r8, & + 0.0047788217358451348_r8, 0.0048113937627011156_r8, & + 0.0048728468879661816_r8, 0.0048849813013711798_r8, & + 0.0049518995193842561_r8, 0.0051061763467804442_r8, & + 0.0051981653999831103_r8, 0.0052444479620661327_r8, & + 0.005278432502886665_r8, 0.0052773314052224881_r8, & + 0.0052751292098941324_r8, 0.005287401709025333_r8, 0.005237433021980444_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,72) / & + 0.00057658147330670617_r8, 0.00046072610397734979_r8, & + 0.00037586752805886416_r8, 0.00026750438292904037_r8, & + 0.0002723012337884971_r8, 0.00026796122586803623_r8, & + 0.00032819596737464359_r8, 0.00032721375505580247_r8, & + 0.00033406639914074075_r8, 0.00035969528801840984_r8, & + 0.00041255201606023382_r8, 0.00047230707248089541_r8, & + 0.0007048629705767507_r8, 0.0012122098964786306_r8, & + 0.0015955924908839768_r8, 0.0020792064261050199_r8, & + 0.0030166252947776257_r8, 0.003816831386722818_r8, & + 0.0043814892593217322_r8, 0.0047606688986883156_r8, & + 0.0049420583876166315_r8, 0.0050233764307578994_r8, & + 0.0050469266842631368_r8, 0.0050703855691805752_r8, & + 0.0051069330043002461_r8, 0.0051677387994805996_r8, & + 0.0052239533231240431_r8, 0.0053765845490425668_r8, & + 0.0054810588186541883_r8, 0.0055499113311512803_r8, & + 0.0055703561947786926_r8, 0.0055749411847251908_r8, & + 0.0055804724106090827_r8, 0.0055927646672528268_r8, & + 0.0055650014244799876_r8, 0.0056421088441474462_r8, & + 0.0056692211469165383_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,72) / & + 0.00064523923723635971_r8, 0.00047331489387746864_r8, & + 0.00040073184860229416_r8, 0.00026938194781456079_r8, & + 0.00028699906240528251_r8, 0.00030645816364347086_r8, & + 0.00035422297566037672_r8, 0.00036806324367982221_r8, & + 0.00037503776875184755_r8, 0.00040342904333608463_r8, & + 0.00045132757567216918_r8, 0.00049087138285724432_r8, & + 0.00061685570209181787_r8, 0.00086494817118026662_r8, & + 0.00098350366023270417_r8, 0.0013471609268878018_r8, & + 0.002339764964289265_r8, 0.003661185288694674_r8, 0.0043651182867353597_r8, & + 0.0048862372057908573_r8, 0.0051005925973100193_r8, 0.00518500666606598_r8, & + 0.0051866796749467673_r8, 0.0052092091838996058_r8, & + 0.0052343120565511107_r8, 0.0052914123527159612_r8, & + 0.0053872795023142605_r8, 0.0054271162042949126_r8, & + 0.0055572881623610296_r8, 0.0057058425796099555_r8, & + 0.0057534200111924614_r8, 0.0058725134772974925_r8, & + 0.005842727469686399_r8, 0.0059045423745322668_r8, & + 0.0058935626894179539_r8, 0.0024577508098575043_r8, & + 0.0016983888803428491_r8, 0.00098051012921313626_r8, & + 0.0007353934543933027_r8, 0.00064630606914169305_r8, & + 0.00060367340316680202_r8, 0.00059966635936274312_r8, & + 0.0006036836935661593_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,72) / & + 0.00040260963307711038_r8, 0.00044024124735978073_r8, & + 0.00038800423797872696_r8, 0.00029558374533378349_r8, & + 0.00030054644611026901_r8, 0.00031725040220886711_r8, & + 0.00032591650442649492_r8, 0.00034252815349505595_r8, & + 0.00034239371612613818_r8, 0.00026326254273604366_r8, & + 0.00026050987658174688_r8, 0.00030935304306313428_r8, & + 0.00034367498471544723_r8, 0.00041175535213542984_r8, & + 0.00045047873889089859_r8, 0.00057246858165535802_r8, & + 0.0010491729140488099_r8, 0.0017113173120418068_r8, & + 0.0025050106193025678_r8, 0.003009085125894271_r8, & + 0.0031718929901044749_r8, 0.0030790153535770414_r8, & + 0.0028603256696796294_r8, 0.0027594969649279112_r8, & + 0.0027324479312396794_r8, 0.0027661182539703553_r8, & + 0.0028290504024692533_r8, 0.0030278001405265242_r8, & + 0.0033361272284703047_r8, 0.0036597906457695138_r8, & + 0.0039416320079702664_r8, 0.004183629442973155_r8, & + 0.0044443800772639994_r8, 0.0047370837709338658_r8, & + 0.0050774607457093326_r8, 0.0054296278867797332_r8, & + 0.0058192159904383997_r8, 0.0062098293259487992_r8, & + 0.0067316723384810654_r8, 0.0072381368732373323_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,72) / & + 0.00039473891176775282_r8, 0.00041423057931754399_r8, & + 0.0004047620156038848_r8, 0.0003236967729576033_r8, & + 0.00032200418007503537_r8, 0.00036255007663647072_r8, & + 0.00046235995575479841_r8, 0.00043541454082623201_r8, & + 0.00040400911994631681_r8, 0.00041244648211387374_r8, & + 0.00043458199373889626_r8, 0.00039610087084793226_r8, & + 0.00037301333499092199_r8, 0.00040317657285898078_r8, & + 0.00046212621673768188_r8, 0.00056320957050098907_r8, & + 0.00086584024710133472_r8, 0.0013723241554304993_r8, & + 0.0021257915964764946_r8, 0.0027999552293516469_r8, & + 0.0030072818323571312_r8, 0.0030136812558001977_r8, & + 0.0029253866028480418_r8, 0.0028101408455794793_r8, & + 0.0027695679244258012_r8, 0.0027802886275800384_r8, & + 0.0028239262323171668_r8, 0.0030800013119800886_r8, & + 0.0034425760426305351_r8, 0.0037836363531618881_r8, & + 0.004112547179152137_r8, 0.004388312620553985_r8, 0.0046684177644466755_r8, & + 0.0050002544394109043_r8, 0.0054060806279180446_r8, & + 0.0058495221228561057_r8, 0.0063101374820142423_r8, & + 0.0067414146796835727_r8, 0.0073952533537908309_r8, & + 0.0077657993435099968_r8, 0.0084281567380309324_r8, & + 0.0092496815846570667_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,72) / & + 0.00048118031788602468_r8, 0.0004616463475982222_r8, & + 0.00045042056666469134_r8, 0.00048879384257856785_r8, & + 0.00052180430730390114_r8, 0.00061205514015565425_r8, & + 0.00080753377596602465_r8, 0.00086507979654360477_r8, & + 0.00092415407937698735_r8, 0.0009545526049742222_r8, & + 0.00093173981748306161_r8, 0.00087258217489027154_r8, & + 0.00082220509362172832_r8, 0.00089861820641185159_r8, & + 0.00095030125724444457_r8, 0.0010349947728023703_r8, & + 0.0012789610020013825_r8, 0.0016504329298606417_r8, & + 0.0023401863124306171_r8, 0.0030759393965221582_r8, & + 0.0031745202510461228_r8, 0.003226658307232148_r8, & + 0.0031581417949842223_r8, 0.0030398208036246347_r8, & + 0.0029592238248147299_r8, 0.002949256379297016_r8, & + 0.0029935204115423488_r8, 0.0032030511210813964_r8, & + 0.0035550064452693959_r8, 0.0039348143490693958_r8, & + 0.004292395181102711_r8, 0.0046105151617216508_r8, & + 0.0049003540680469413_r8, 0.0052223704369303448_r8, & + 0.0056467996290874237_r8, 0.0061537841589736283_r8, & + 0.0066412500011945892_r8, 0.0070929440866598472_r8, & + 0.0077463431865363542_r8, 0.0080897676813459982_r8, & + 0.0090889438075279997_r8, 0.0097568430398399988_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,31,72) / & + 0.00048749425112453744_r8, 0.0006230650497589833_r8, & + 0.0004936818694352697_r8, 0.00057503829184070584_r8, & + 0.00059762561988424036_r8, 0.00065147080650556494_r8, & + 0.0008845655557074574_r8, 0.00091736908017080393_r8, & + 0.0010073404753774844_r8, 0.0010598725922939915_r8, & + 0.0010151915293498289_r8, 0.0010347497171144264_r8, & + 0.0010625026704981304_r8, 0.0012203985769349685_r8, & + 0.0013256925046790883_r8, 0.0014527762582320677_r8, & + 0.0017567417369534868_r8, 0.0020755652555051532_r8, & + 0.0027291181554294176_r8, 0.0033052214913811416_r8, & + 0.0034006036944821474_r8, 0.0034146234337184768_r8, & + 0.0033044218864817314_r8, 0.0031549983862540713_r8, & + 0.0030751889327940286_r8, 0.0030713112932568322_r8, & + 0.0031090693029444082_r8, 0.003296027811937698_r8, & + 0.0035966389407023412_r8, 0.0039700840807420324_r8, & + 0.0043086173736378514_r8, 0.0046247325615403484_r8, & + 0.0049596253510586401_r8, 0.0052674564456287685_r8, & + 0.0057025168736698113_r8, 0.0062491553687819374_r8, & + 0.0067180300885129234_r8, 0.0070300842963592876_r8, & + 0.0075181771200451544_r8, 0.0080716036610495989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,72) / & + 0.00084519125271336349_r8, 0.00081717013151888875_r8, & + 0.00064970952264337774_r8, 0.00077272453802328871_r8, & + 0.00074565306476202656_r8, 0.00066611055208954653_r8, & + 0.00068179671723855991_r8, 0.00075207808999605314_r8, & + 0.00079337682167743978_r8, 0.00087385011684295113_r8, & + 0.0010205811200076798_r8, 0.0012346727646586665_r8, & + 0.001701887644585333_r8, 0.0020678981647289777_r8, & + 0.0023685496634183998_r8, 0.002586072656695733_r8, & + 0.0028251437023587554_r8, 0.0030320458546497773_r8, & + 0.0031911542225023996_r8, 0.0033015496946774219_r8, & + 0.0032979753731916441_r8, 0.0032472200080935999_r8, & + 0.0031776739243274663_r8, 0.0031344756960850662_r8, & + 0.0031240591020407996_r8, 0.0031577598474781328_r8, & + 0.0032068812370398218_r8, 0.0034503435919567998_r8, & + 0.0037867383055039997_r8, 0.004062471677263999_r8, 0.004397028168332799_r8, & + 0.0047181043612266656_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,72) / & + 0.00094198931962239979_r8, 0.0010484972521727998_r8, & + 0.0011122744572927999_r8, 0.0012041136326655997_r8, & + 0.0012525843085567998_r8, 0.0015332040110847996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,72) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,72) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,72) / & + 0.0011548424767679998_r8, 0.0012014163708927998_r8, & + 0.0013544448801599998_r8, 0.0015017704636159997_r8, & + 0.0016509970223423998_r8, 0.0017821643159999997_r8, & + 0.0022241410663679994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,37,72) / & + 0.0011963639786935377_r8, 0.0012413886380174223_r8, & + 0.0013971832810370846_r8, 0.0015540109797887998_r8, & + 0.0017111830304511997_r8, 0.0018619599742008888_r8, & + 0.0022728455933425777_r8, 0.0027626861862911998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,72) / & + 0.0010628436970010879_r8, 0.0010662910248022913_r8, & + 0.0011309703802128393_r8, 0.0014241043395964244_r8, & + 0.0016052008834261334_r8, 0.0016602164819339257_r8, & + 0.0018693435721014514_r8, 0.0021574478568397431_r8, & + 0.002322070803376158_r8, 0.0024055125406095999_r8, & + 0.0023966117118833772_r8, 0.0022828990836667425_r8, & + 0.0018737516015658667_r8, 0.0017754864524283734_r8, & + 0.0020375268501283553_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,72) / & + 0.0012353883693070899_r8, 0.0012945280781452323_r8, & + 0.0013979041825377895_r8, 0.0017326234996011612_r8, & + 0.0018048356012055704_r8, 0.0017465120136463997_r8, & + 0.0018663381255039999_r8, 0.0021644119105663998_r8, & + 0.0023298383586508797_r8, 0.0027641615808127996_r8, & + 0.0029438163243775996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,72) / & + 0.0011980061778170919_r8, 0.0012757855408966666_r8, & + 0.0012123045227977773_r8, 0.0017368189754355552_r8, & + 0.0017243531191599997_r8, 0.0016411570783644441_r8, & + 0.0024015743111733328_r8, 0.002666609255466666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,72) / & + 0.00067834395615006318_r8, 0.00067035850947858163_r8, & + 0.00065769698955398914_r8, 0.0010102159805603752_r8, & + 0.0011823026593193022_r8, 0.001296685991113825_r8, & + 0.0017709806421221932_r8, 0.0016454179214664254_r8, & + 0.0016653928447891606_r8, 0.0018306099613528996_r8, & + 0.0019128305465552639_r8, 0.0033706338503271438_r8, & + 0.0053657075953728334_r8, 0.0061798001543578356_r8, & + 0.0068356670933707028_r8, 0.0075740414959658666_r8, & + 0.0084120881779762881_r8, 0.0088318502197248776_r8, & + 0.009674347728903394_r8, 0.010186186645665027_r8, 0.010214927691394843_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,72) / & + 0.00076259840326077847_r8, 0.00087172470533356178_r8, & + 0.00075267817775591091_r8, 0.0014816959152359939_r8, & + 0.0016704844376885179_r8, 0.0019771824495381464_r8, & + 0.002436691999867408_r8, 0.0024077080290257941_r8, & + 0.0024393807070188359_r8, 0.0028844201907355905_r8, & + 0.0032335913733679287_r8, 0.0046305170966281194_r8, & + 0.0065714659294795327_r8, 0.0072336999120819791_r8, & + 0.0078989014958393781_r8, 0.0088675596650123496_r8, & + 0.0090229322335850654_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,72) / & + 0.003317751383729146_r8, 0.0032673608226010081_r8, & + 0.0030848101605506369_r8, 0.0027928606693147654_r8, & + 0.0029035751789474764_r8, 0.0032827542838333636_r8, & + 0.003948488590121561_r8, 0.0039109259133537182_r8, & + 0.0042679358027041189_r8, 0.0042426747381176886_r8, & + 0.0039361869779401485_r8, 0.0034485300201818076_r8, & + 0.0028243054320030818_r8, 0.0027544428002562369_r8, & + 0.002617085761567526_r8, 0.0025270932189783699_r8, & + 0.0023984196712412446_r8, 0.0025638007034555262_r8, & + 0.002642544178221037_r8, 0.0026795723598072_r8, 0.0027530613357866665_r8, & + 0.0028291828473752381_r8, 0.0028868660372679111_r8, & + 0.0030781001902698661_r8, 0.0033534063238485332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,72) / & + 0.0033380798137195456_r8, 0.0034228079161940012_r8, & + 0.0033016453768917862_r8, 0.0024665392258396714_r8, & + 0.0026982676551191966_r8, 0.0030546307173095247_r8, & + 0.0041538414432381113_r8, 0.0039517385399435324_r8, & + 0.0040621691535464828_r8, 0.0038032952651452841_r8, & + 0.0035468563514825745_r8, 0.0032313918464739028_r8, & + 0.002863124463339852_r8, 0.0028364299254660477_r8, 0.00273393552582558_r8, & + 0.0026214757666072233_r8, 0.0024738892421799245_r8, & + 0.0026107438409079574_r8, 0.0026908274545293697_r8, & + 0.0027475589840268021_r8, 0.0028586377969235621_r8, & + 0.0029273356490363001_r8, 0.0030556509266328269_r8, & + 0.0032010730290703573_r8, 0.0034476874960451365_r8, & + 0.0035171688238260453_r8, 0.0037024660532558734_r8, & + 0.0040232681774928832_r8, 0.0040465762967951966_r8, & + 0.0040961347965421634_r8, 0.0041138898206769768_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,72) / & + 0.002998733973504_r8, 0.0034911104515413329_r8, 0.0034665564871679995_r8, & + 0.0027080243009706666_r8, 0.003156713253717333_r8, & + 0.0036467733200213331_r8, 0.0043515184257706674_r8, & + 0.0037361868129279995_r8, 0.0032465900289706663_r8, & + 0.0028929666137599997_r8, 0.0028034604643839998_r8, & + 0.0026522451064319996_r8, 0.0025019563131733328_r8, & + 0.0025472653266773331_r8, 0.0025676034216959996_r8, & + 0.0025699661616639994_r8, 0.0025301238798506654_r8, & + 0.0025810849379839999_r8, 0.0026626689592320002_r8, & + 0.0027692702271999996_r8, 0.0028906038737919991_r8, & + 0.0030060538345813331_r8, 0.0031511075373226666_r8, & + 0.0032939374848000007_r8, 0.0034934268632746662_r8, & + 0.0036133243345919993_r8, 0.0038268974964053332_r8, & + 0.0041846441245013332_r8, 0.0042133213017600006_r8, & + 0.004168508662198857_r8, 0.0041872616697599995_r8, 0.00420289744896_r8, & + 0.004227914695679999_r8, 0.0042220773381119988_r8, & + 0.0042404233190399994_r8, 0.0042591862540799991_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,73) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,73) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,73) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,73) / & + 0.0029909294483809507_r8, 0.0028619572741666664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,5,73) / & + 0.0029947257541072659_r8, 0.0030164689675555557_r8, & + 0.0032064219407407406_r8, 0.0018613056100740741_r8, & + 0.0022450334139259261_r8, 0.0027990169254814815_r8, & + 0.0027335156133333335_r8, 0.0037739691634814817_r8, & + 0.0045621828933333324_r8, 0.0049900950306666662_r8, & + 0.0054018308372592591_r8, 0.0056197945866666666_r8, & + 0.0060582404066666668_r8, 0.0062475929211111107_r8, & + 0.0064202421433333327_r8, 0.0065196506533333328_r8, & + 0.0066283572600000012_r8, 0.0066857683266666676_r8, & + 0.0067316971800000002_r8, 0.0067732577999999998_r8, & + 0.0069058024799999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,73) / & + 0.0025199945190123455_r8, 0.0024868514153086425_r8, & + 0.0028618630913580245_r8, 0.0019341612706172836_r8, & + 0.0021715897753086418_r8, 0.0025391592760493826_r8, & + 0.0023174194316049382_r8, 0.0036481913160493823_r8, & + 0.0043603589571604932_r8, 0.0048287433541358031_r8, & + 0.0051902735989506179_r8, 0.0054038929207407401_r8, & + 0.0058299667020987652_r8, 0.0060162626088271602_r8, & + 0.0061069381190123461_r8, 0.0061869129433245141_r8, & + 0.0062961800243738989_r8, 0.0063607310889382714_r8, & + 0.0065086667751904758_r8, 0.0066298376057407392_r8, & + 0.0067761159717195764_r8, 0.0070778353950158726_r8, & + 0.0072315318334285712_r8, 0.0074292416400000005_r8, & + 0.0076820498258941793_r8, 0.0078977741871111111_r8, & + 0.0080665621287936487_r8, 0.0084605591440423261_r8, & + 0.0088226773669312156_r8, 0.0090520274464550281_r8, & + 0.0092923630880211647_r8, 0.0094273187158518505_r8, & + 0.009619012642984124_r8, 0.0097550968796719564_r8, & + 0.0098825959282499987_r8, 0.0099575834137777767_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,73) / & + 0.0012289388893827159_r8, 0.0011279286938271605_r8, & + 0.0014145680049382713_r8, 0.0012612684385185182_r8, & + 0.0014317358553086418_r8, 0.0017005324355555554_r8, & + 0.0017820820360493828_r8, 0.0024516189555555553_r8, & + 0.0028898105397530856_r8, 0.0032536450854320988_r8, & + 0.0034927931486419743_r8, 0.0036323177570370367_r8, & + 0.0039346734632098755_r8, 0.0041344011096296294_r8, & + 0.0042540491007407406_r8, 0.0043476171209876546_r8, & + 0.0046964933565432094_r8, 0.004958236048888889_r8, 0.005293633164444444_r8, & + 0.0055558196138271619_r8, 0.0057791773224691347_r8, & + 0.0059941868518518498_r8, 0.0062518247916049374_r8, & + 0.0064574044839506182_r8, 0.0066616436602469136_r8, & + 0.0068842802637037043_r8, 0.0070932713382716051_r8, & + 0.0075463657629629621_r8, 0.0079907976804938271_r8, & + 0.0082906017837037025_r8, 0.0085547574049382735_r8, & + 0.0087902629624691357_r8, 0.0090292168819753067_r8, & + 0.0092749935659259247_r8, 0.0094646315178395068_r8, & + 0.0095477854452998244_r8, 0.0095822081475132274_r8, & + 0.0096308499610000004_r8, 0.009810740049999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,73) / & + 0.00030037728938271603_r8, 0.0002651540745679012_r8, & + 0.0002986484859259259_r8, 0.00034223836987654316_r8, & + 0.00039054317234567899_r8, 0.00048899251999999992_r8, & + 0.00069251059111111104_r8, 0.00089131374370370346_r8, & + 0.00104261640345679_r8, 0.0011788683037037037_r8, 0.001284796806419753_r8, & + 0.0013275546459259257_r8, 0.0014276207021604939_r8, & + 0.0014988286835802467_r8, 0.0016108149320987655_r8, & + 0.0017069750019135803_r8, 0.0019352972424074076_r8, & + 0.0023932036574691356_r8, 0.0027885992667901235_r8, & + 0.0032647725242592593_r8, 0.0038550572104320987_r8, & + 0.004301128948888888_r8, 0.0047243772459876539_r8, 0.005079872857345678_r8, & + 0.005428077679259259_r8, 0.0057140733115432088_r8, 0.005980415360679012_r8, & + 0.0065426624603086422_r8, 0.0070991430296913575_r8, & + 0.0075220966443827171_r8, 0.0077582782380246906_r8, & + 0.0078960809766666657_r8, 0.0080888093793738958_r8, & + 0.0083888186871957666_r8, 0.0086909599438183428_r8, & + 0.0089500902807495598_r8, 0.0091959493437037028_r8, & + 0.0095324412415476178_r8, 0.0097547642599999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,73) / & + 0.00020276716087385183_r8, 0.00023031673687301586_r8, & + 0.00021366623985185184_r8, 0.00025935617756613755_r8, & + 0.00027763857128042328_r8, 0.00031869124795767199_r8, & + 0.00040728912335449732_r8, 0.00047442480851851845_r8, & + 0.00053411290348148147_r8, 0.00060588921748148147_r8, & + 0.00066001232185185178_r8, 0.00070055784762962966_r8, & + 0.00078394343508333324_r8, 0.00082693621158333322_r8, & + 0.00091463941633333323_r8, 0.0010154395206666664_r8, 0.001152427318_r8, & + 0.0016141012187499996_r8, 0.0019179430487499998_r8, 0.0023317473525_r8, & + 0.0030158126924999997_r8, 0.003713586707619048_r8, & + 0.0042014381380952375_r8, 0.0046476843747619038_r8, & + 0.0051485691871428572_r8, 0.0055320376704761885_r8, & + 0.0058357992676190485_r8, 0.0064977025095238105_r8, & + 0.0070523968247619044_r8, 0.0075090763044444444_r8, & + 0.0077414455166666656_r8, 0.0077758047920000002_r8, & + 0.0078342642346666668_r8, 0.0080748914879999988_r8, & + 0.0083746271786666656_r8, 0.0087218642866666654_r8, & + 0.0090381743026666655_r8, 0.0094820616933333334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,73) / & + 0.00021604033999999997_r8, 0.00024992535000000003_r8, & + 0.00022540083999999998_r8, 0.00019619608_r8, 0.00019619608_r8, & + 0.00022240548000000002_r8, 0.00040062939999999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,73) / & + 0.00022968339355695873_r8, 0.00023277182755928463_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,73) / & + 0.00022203598948396748_r8, 0.00022334645948396756_r8, & + 0.00020742867999999995_r8, 0.00013104699999999999_r8, & + 0.00013067257999999998_r8, 0.00012823884999999999_r8, & + 0.00014602379999999998_r8, 0.00024224974000000002_r8, & + 0.00034671291999999995_r8, 0.00050921119999999993_r8, & + 0.00064100704000000003_r8, 0.00078553315999999995_r8, & + 0.00094054304000000001_r8, 0.0010199200799999998_r8, 0.001048376_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,73) / & + 0.00017531176444444445_r8, 0.00017163690148148147_r8, & + 0.00015503761481481477_r8, 0.00011892688592592593_r8, & + 0.00013570644888888887_r8, 0.00011462798962962963_r8, & + 0.00019077392370370373_r8, 0.00040772951259259257_r8, & + 0.00061353570592592591_r8, 0.00084606439333333335_r8, & + 0.0010257582585185185_r8, 0.0010900822277777776_r8, & + 0.0012510308249999999_r8, 0.0013394407474999997_r8, & + 0.0013393471424999999_r8, 0.0012795803499999999_r8, & + 0.0011812950999999998_r8, 0.0014598011766666665_r8, 0.001983976696_r8, & + 0.0028118193159999997_r8, 0.0037174664120000001_r8, & + 0.0045935717699999998_r8, 0.0053478408600000004_r8, & + 0.0060631702699999995_r8, 0.0066334119299999994_r8, & + 0.0071345731000000004_r8, 0.0076094624666666671_r8, & + 0.0083780219199999992_r8, 0.0088928494199999996_r8, & + 0.009188266799999999_r8, 0.0093736046999999996_r8, & + 0.0095215005999999998_r8, 0.0095769147599999993_r8, & + 0.0095454634799999986_r8, 0.0095244959599999988_r8, & + 0.0095170075600000004_r8, 0.0095215005999999998_r8, & + 0.0095349797199999996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,73) / & + 0.0001455059513862434_r8, 0.0001321845236190476_r8, & + 0.00013141785409523808_r8, 0.00010672594467724866_r8, & + 0.00012004420275132276_r8, 0.0001319626451005291_r8, & + 0.00020586396099047619_r8, 0.00047447750466666664_r8, & + 0.00076791640184126989_r8, 0.0010497102426984129_r8, & + 0.0012833501056507936_r8, 0.0014421847156666663_r8, & + 0.0016146924903333332_r8, 0.0016722782863333333_r8, & + 0.0016247290264444444_r8, 0.0015341556398095239_r8, & + 0.0013588813173650792_r8, 0.0016340877434920635_r8, & + 0.0021655418687619044_r8, 0.0030247680165714284_r8, & + 0.0039612631603492057_r8, 0.0048182112893333335_r8, & + 0.0055899316200793657_r8, 0.0062581426503492063_r8, & + 0.0067910466130634917_r8, 0.0072725985756190489_r8, & + 0.0077127815261238079_r8, 0.0084763288625873019_r8, & + 0.0089962704049015851_r8, 0.0093082143271111112_r8, & + 0.0094966720966190472_r8, 0.0096141528348214281_r8, & + 0.0096938641783928577_r8, 0.009652608888988095_r8, & + 0.0095998557854166649_r8, 0.0095893033817499983_r8, & + 0.009599804302666666_r8, 0.0096038729999999989_r8, & + 0.0096179137500000001_r8, 0.0096175393299999992_r8, & + 0.0096727662799999982_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,73) / & + 0.00015102716059259258_r8, 0.000145874032_r8, 0.00015155689555555556_r8, & + 0.00015821325111111108_r8, 0.00015917010222222223_r8, & + 0.00014514321962962962_r8, 0.00019224733574074076_r8, & + 0.00039048192462962967_r8, 0.00068304261870370364_r8, & + 0.00099541637111111108_r8, 0.0012527122481481481_r8, & + 0.0014120487592592591_r8, 0.0016429133577777776_r8, & + 0.0017315676933333333_r8, 0.0017054553651851851_r8, & + 0.0016494865088888886_r8, 0.0015939267411111111_r8, & + 0.001939003307037037_r8, 0.0025270715192592589_r8, & + 0.0032810701948148145_r8, 0.0041944885859259255_r8, & + 0.0049640880948148159_r8, 0.0057605487718518523_r8, & + 0.0063736199196296299_r8, 0.0069089642488888896_r8, & + 0.007371497755555555_r8, 0.0078098187688888888_r8, 0.008553943850370371_r8, & + 0.0090468469792592595_r8, 0.0093385756288888889_r8, & + 0.0095123030420370368_r8, 0.0095993918463492048_r8, & + 0.0096924482913333335_r8, 0.0096688140688888872_r8, & + 0.0095883137688888911_r8, 0.0095850854364444432_r8, & + 0.0096115967497142837_r8, 0.0096149807933333317_r8, & + 0.0096201186677777797_r8, 0.0096101445350000002_r8, & + 0.0096278893685714274_r8, 0.0096328905499999985_r8, & + 0.0096353991639999987_r8, 0.00964094058_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,73) / & + 0.00024083676784474996_r8, 0.00023919998003284071_r8, & + 0.00025815416590659046_r8, 0.00033039322261300307_r8, & + 0.00033150998422702856_r8, 0.00032028629637393649_r8, & + 0.00036644889151547718_r8, 0.0006677580281888761_r8, & + 0.0010247401455201882_r8, 0.0013211959639379341_r8, & + 0.0015342544547944867_r8, 0.0017024422249727442_r8, & + 0.0019787582856757501_r8, 0.0020843368708139435_r8, & + 0.0021045120071094031_r8, 0.0020902982729185402_r8, & + 0.0021487926397621157_r8, 0.0025438045062986781_r8, & + 0.0032307114694353576_r8, 0.0040005137847992514_r8, & + 0.0048732299439007481_r8, 0.0056491440759639947_r8, & + 0.0063882253228829287_r8, 0.0069549919660600789_r8, & + 0.0074844223247154378_r8, 0.0079674514719401783_r8, & + 0.0084227213831958702_r8, 0.0092165124233499658_r8, & + 0.009732476225638706_r8, 0.0099625571539843603_r8, 0.010082622266646508_r8, & + 0.010194882508391111_r8, 0.010339391772755514_r8, 0.010315078455049883_r8, & + 0.010142863534353149_r8, 0.010074012588644297_r8, 0.010077024440648173_r8, & + 0.010077308693081309_r8, 0.010080642623673806_r8, 0.010071544988265827_r8, & + 0.010072236539390831_r8, 0.01007353553407158_r8, 0.010028556675089954_r8, & + 0.010049686365544444_r8, 0.010108496247026132_r8 & + / +data delta_sa_ref(:,17,73) / & + 0.0003359161466134259_r8, 0.00032349598122649256_r8, & + 0.000384809855533337_r8, 0.00061976837089993233_r8, & + 0.00064797157998399573_r8, 0.00071088542837059461_r8, & + 0.00088984790588610791_r8, 0.0013218327609122878_r8, & + 0.0016449851631835175_r8, 0.0018330293672983702_r8, & + 0.0019566917223689268_r8, 0.0020744674110951323_r8, & + 0.0022793162309519281_r8, 0.002410349546039602_r8, & + 0.0024827842177816439_r8, 0.0025192406536487994_r8, & + 0.002678518725008963_r8, 0.0030468410676061336_r8, & + 0.0038469780032220143_r8, 0.0046583888906147402_r8, & + 0.0055197769724294509_r8, 0.0062289855236891661_r8, & + 0.0068884843303692522_r8, 0.0074589594061547117_r8, & + 0.0080088340010125766_r8, 0.0085269852808807691_r8, & + 0.0089832695385805329_r8, 0.0098638434602894894_r8, & + 0.010392271559412318_r8, 0.010568418603923942_r8, 0.010636223615434193_r8, & + 0.010799753349076553_r8, 0.010993627193983014_r8, 0.01097726900685396_r8, & + 0.010747397374454527_r8, 0.010584407405125658_r8, 0.010543710013814777_r8, & + 0.010543791292684236_r8, 0.010504068797809284_r8, 0.010472048417706865_r8, & + 0.010515107043968132_r8, 0.010521449100083655_r8, 0.010475776520242843_r8, & + 0.010484809367796978_r8, 0.010549339483278401_r8 & + / +data delta_sa_ref(:,18,73) / & + 0.00038504984508898809_r8, 0.00039305518207126812_r8, & + 0.00044975620772516232_r8, 0.0006918233704416519_r8, & + 0.00073390242126166935_r8, 0.00088971216729950245_r8, & + 0.0012667474897068618_r8, 0.0017691987375366809_r8, & + 0.0020376072965059321_r8, 0.0021666242712313467_r8, & + 0.0022611309562416506_r8, 0.0023618540632861012_r8, & + 0.0025312485656063671_r8, 0.0026956861073365039_r8, & + 0.0028073792358279856_r8, 0.0029229272961460843_r8, & + 0.0032224831582356077_r8, 0.0036758959121972897_r8, & + 0.0044718242579935572_r8, 0.005282209363614585_r8, 0.006094100413612147_r8, & + 0.0067576721450740059_r8, 0.0073998859773380197_r8, & + 0.0080019793904609685_r8, 0.0085656838887700655_r8, & + 0.0091051983581613254_r8, 0.0095507935716607397_r8, & + 0.010517713674379479_r8, 0.011063779442868044_r8, 0.01117778855225897_r8, & + 0.011180405455940052_r8, 0.011408775647392186_r8, 0.011618475540406466_r8, & + 0.011574977317262689_r8, 0.011321471407274075_r8, 0.011076599714462032_r8, & + 0.010975302883945772_r8, 0.010979178568648695_r8, 0.010918274660278967_r8, & + 0.010826923560679599_r8, 0.0108453561973724_r8, 0.0108786849765088_r8, & + 0.0108852221325452_r8, 0.010894974283353599_r8, 0.010906012432070801_r8 & + / +data delta_sa_ref(:,19,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,73) / & + 0.00045815629770225275_r8, 0.00042564664671999994_r8, & + 0.00039514509553066656_r8, 0.00028118096642844445_r8, & + 0.00029226486344533333_r8, 0.0002496064440053333_r8, & + 0.00032580823599644441_r8, 0.00030976575347199995_r8, & + 0.00032814168799999996_r8, 0.00036751869055999997_r8, & + 0.00042264649414399996_r8, 0.00053961077582222216_r8, & + 0.00091267141489066652_r8, 0.0014193221811626667_r8, & + 0.0018973881603911111_r8, 0.0023588282940942219_r8, & + 0.0031965375633706663_r8, 0.0037828173792639999_r8, & + 0.0042570914989866664_r8, 0.0046009839880106658_r8, & + 0.0047331157077119997_r8, 0.0047716176657706666_r8, & + 0.0047943688228053328_r8, 0.0048328707808639997_r8, & + 0.0048617472494079999_r8, 0.004900249207466666_r8, & + 0.0049527518775466664_r8, 0.0050910089087573326_r8, & + 0.0052310160289706659_r8, 0.0052275158509653332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,73) / & + 0.0004902153156895342_r8, 0.00045070125673475885_r8, & + 0.00041263481884292673_r8, 0.00028423625556976462_r8, & + 0.00027983057647682305_r8, 0.0003206437825393679_r8, & + 0.00035932247154855067_r8, 0.00034984542793727356_r8, & + 0.00033473861089383466_r8, 0.000382058565673221_r8, & + 0.00042941727052332555_r8, 0.00049765410558102346_r8, & + 0.00077487292729142617_r8, 0.0011787922433865625_r8, & + 0.0015985733910609254_r8, 0.0020775887126263976_r8, & + 0.0029509945039496114_r8, 0.0038320409934275317_r8, & + 0.004441130512903126_r8, 0.0047566486808251511_r8, & + 0.0048813716979168023_r8, 0.0049226792733026194_r8, & + 0.0049585610229968954_r8, 0.0050438841918685204_r8, & + 0.0050666500623633226_r8, 0.0050740011547263436_r8, & + 0.0051695718817733197_r8, 0.0052373979660814028_r8, & + 0.0052975764180115967_r8, 0.0052074686351449538_r8, & + 0.0050453057076206651_r8, 0.0048027955282004741_r8, & + 0.0048863635228162958_r8, 0.0050626649235115456_r8, & + 0.0053357907588049295_r8, 0.0056455381030373801_r8, & + 0.0057350155242273061_r8, 0.0055839455590527996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,73) / & + 0.00058927440286857475_r8, 0.00049460592049151999_r8, & + 0.00042393202300161176_r8, 0.00029591094122057482_r8, & + 0.00028590160985649774_r8, 0.00034218935084712285_r8, & + 0.00035658875038766219_r8, 0.00035432118055073181_r8, & + 0.00032653564611330872_r8, 0.00036226769325470472_r8, & + 0.00039969132393215647_r8, 0.00043346039118551702_r8, & + 0.00055398591161549035_r8, 0.00082504147026725926_r8, & + 0.0011508774710321183_r8, 0.0015697036996730074_r8, & + 0.0024589889689438219_r8, 0.0034413276715148438_r8, & + 0.0041759823754257764_r8, 0.0046003435933553776_r8, & + 0.0047672771160299065_r8, 0.0048070903417101506_r8, & + 0.0048920577804043219_r8, 0.0049546092219278524_r8, & + 0.0049614405673655158_r8, 0.0049732475985832473_r8, & + 0.0051143202994787858_r8, 0.0051520890231728711_r8, & + 0.005232112507789724_r8, 0.0051878506521726578_r8, & + 0.0050236610188514131_r8, 0.0047598162961636978_r8, & + 0.0048738894457197503_r8, 0.0052078416249054576_r8, & + 0.0055566813902889235_r8, 0.0059023021937124791_r8, & + 0.0059568832377611984_r8, 0.0058944114479711996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,73) / & + 0.00027372713946924884_r8, 0.00026721845498511279_r8, & + 0.00026737350548120822_r8, 0.00023266118013085432_r8, & + 0.00023981881731795554_r8, 0.00024028713310208063_r8, & + 0.00023451545749232259_r8, 0.0002168017293873745_r8, & + 0.00020438186822054318_r8, 0.00020175866697027487_r8, & + 0.00021730485242572509_r8, 0.0002428786913939621_r8, & + 0.00028133437872147822_r8, 0.00034335322103287941_r8, & + 0.00043431678146524068_r8, 0.00055729081064398293_r8, & + 0.00096173528326526717_r8, 0.0015934064839355983_r8, & + 0.0023677096756613593_r8, 0.0030200957130184984_r8, & + 0.0032394415362601743_r8, 0.0031615872014452151_r8, & + 0.0029965031752875399_r8, 0.0028649466717097635_r8, & + 0.0027835777083025518_r8, 0.0027817645667869866_r8, & + 0.0028447539438363383_r8, 0.0030736952681876895_r8, & + 0.0033608768135767911_r8, 0.003713678079533263_r8, & + 0.0040440666380643434_r8, 0.004356778626364465_r8, & + 0.0046107307258416736_r8, 0.0048514991031365917_r8, & + 0.0051202552250823995_r8, 0.0054430822918689094_r8, & + 0.0058133531831084878_r8, 0.0061959811016403859_r8, & + 0.0066630767332900931_r8, 0.0071901863998162638_r8, & + 0.0078746734273828847_r8, 0.0088466345168867807_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,29,73) / & + 0.00025363670285758687_r8, 0.00024065351980541888_r8, & + 0.00024532640368513575_r8, 0.00019381847910189301_r8, & + 0.00019275646003832098_r8, 0.00020536793641823871_r8, & + 0.00021967864329987158_r8, 0.00021444819941177941_r8, & + 0.00022498873861773164_r8, 0.00023390969875173657_r8, & + 0.00024179519029875885_r8, 0.00025645105337605264_r8, & + 0.0002905684157933037_r8, 0.0003297303687625218_r8, & + 0.00038240651431569383_r8, 0.00045876568498652191_r8, & + 0.00073050981287801149_r8, 0.0012193837383167995_r8, & + 0.0019332729528499092_r8, 0.0027217955570755423_r8, & + 0.003092121604543105_r8, 0.0031478776053806353_r8, & + 0.0030521896877527968_r8, 0.0029168619085771326_r8, & + 0.0028322455396870322_r8, 0.0028105272498369846_r8, & + 0.0028582650067445464_r8, 0.0031261062145774084_r8, & + 0.0035066807460084402_r8, 0.0039079380987025372_r8, & + 0.0042701662508103644_r8, 0.0045786296878248551_r8, & + 0.0048512234309672029_r8, 0.0051281714522701961_r8, & + 0.0054166158299363545_r8, 0.0057686485990338897_r8, & + 0.006123097461501051_r8, 0.006528151532347419_r8, 0.0070059539090484681_r8, & + 0.0074779709369007085_r8, 0.0081979420122122518_r8, & + 0.0093526509704895209_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,73) / & + 0.00028081124285708633_r8, 0.0002554420894107654_r8, & + 0.00024332713771022221_r8, 0.00022746099683634561_r8, & + 0.00023582475936355553_r8, 0.00025358038811733324_r8, & + 0.00026452830318617282_r8, 0.00031154320749195055_r8, & + 0.00030631932923575302_r8, 0.00030479106697995061_r8, & + 0.00031423850637945675_r8, 0.00032401938481659248_r8, & + 0.00035111130662399993_r8, 0.00038428849086814809_r8, & + 0.00041357555300661723_r8, 0.00047812379337441971_r8, & + 0.00066710036795101233_r8, 0.001075035243904395_r8, & + 0.0017342720078846418_r8, 0.0026278330555591107_r8, & + 0.0032207154510510609_r8, 0.0033465331145833082_r8, & + 0.0032532535438064194_r8, 0.0031134314406937283_r8, & + 0.0029868913259132831_r8, 0.0029586045808877035_r8, & + 0.0029991452105461724_r8, 0.0032288847074729873_r8, & + 0.0035946395451662222_r8, 0.004008159524999901_r8, & + 0.0044088143152983704_r8, 0.0047343619623707641_r8, & + 0.0050256487483267154_r8, 0.0053089885705524939_r8, & + 0.0056203928451120976_r8, 0.0060016525980551103_r8, & + 0.0063694636431470613_r8, 0.0067607106891695518_r8, & + 0.0072430094171609593_r8, 0.007813268569376591_r8, & + 0.0087753243465999511_r8, 0.0099054654100704034_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,31,73) / & + 0.0003947957384350551_r8, 0.00043089997269317524_r8, & + 0.00038295447832467486_r8, 0.00042895545203779415_r8, & + 0.00039987471029612502_r8, 0.00038693058772448384_r8, & + 0.00037796257455265179_r8, 0.00039601469168171189_r8, & + 0.00040257382105657932_r8, 0.00042805574845097605_r8, & + 0.00046175109891213146_r8, 0.00052737141535715547_r8, & + 0.00060259824429368877_r8, 0.00068235261386066163_r8, & + 0.00077815653450861555_r8, 0.00088339283146998497_r8, & + 0.0010954326509955683_r8, 0.0014776035165188211_r8, & + 0.0020556195370049317_r8, 0.0027787490392358971_r8, & + 0.0033562716738840758_r8, 0.0034942455723270842_r8, & + 0.0033885158895277817_r8, 0.0032347536442709325_r8, & + 0.0031189240631421889_r8, 0.0030822683976534379_r8, & + 0.0030983759941271174_r8, 0.0032423285680180142_r8, & + 0.003521381793413372_r8, 0.0038445204945628179_r8, & + 0.0042264301558189296_r8, 0.0045890977693956734_r8, & + 0.0049016939760963543_r8, 0.0052153951183080364_r8, & + 0.0055994939200887557_r8, 0.0061180647210405201_r8, & + 0.0066149558787770646_r8, 0.0070049638051869235_r8, & + 0.0073825275249697498_r8, 0.0080213317902637551_r8, & + 0.0089385732742231095_r8, 0.010385282026825964_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,73) / & + 0.00064672146552828308_r8, 0.00066699864805236202_r8, & + 0.00065083234048879651_r8, 0.0007907209630278716_r8, & + 0.00080323784242591271_r8, 0.00078577051426167359_r8, & + 0.00077643794195055406_r8, 0.00084854921601473462_r8, & + 0.00092779692146081373_r8, 0.0010176773552813656_r8, & + 0.0011710280126444714_r8, 0.0014127335196583712_r8, & + 0.0018428019325883995_r8, 0.0021761103559674263_r8, & + 0.0024191744833809998_r8, 0.0025976172558093437_r8, & + 0.0027593278809976431_r8, 0.0029345892641525237_r8, & + 0.0031135692384585936_r8, 0.0032753817709835847_r8, & + 0.0033442788033561104_r8, 0.0033132653641133902_r8, & + 0.0032469668067257639_r8, 0.0031944273607990349_r8, & + 0.0031844092103925034_r8, 0.0032064104964686334_r8, & + 0.003250831612751338_r8, 0.0034546797869565529_r8, & + 0.0037486825613801851_r8, 0.0040534994008813328_r8, & + 0.0043733018061001324_r8, 0.0047196566379862038_r8, & + 0.0049668362872483914_r8, 0.0052912314929504803_r8, & + 0.0057396950446907376_r8, 0.0063828258705913108_r8, & + 0.0070255637642795713_r8, 0.0074119853621648583_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,73) / & + 0.00085505082938404559_r8, 0.00083735674060350467_r8, & + 0.00088618426514239983_r8, 0.0010501873481084797_r8, & + 0.0011490526455786665_r8, 0.0012372777793279999_r8, & + 0.0015175148186252797_r8, 0.0015038664967295997_r8, & + 0.0016990247443967996_r8, 0.0018308309683114663_r8, & + 0.0017219845382399996_r8, 0.0021037974062250667_r8, & + 0.0028189524663039998_r8, 0.0032526374611199995_r8, & + 0.0034592756057087995_r8, 0.0035434615164671997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,73) / & + 0.0015933790761450666_r8, 0.0013892356670549334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,35,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,73) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,73) / & + 0.00084710570028373336_r8, 0.00079102553197226669_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,38,73) / & + 0.00096529454150703941_r8, 0.00095316855584178959_r8, & + 0.0010109363471049282_r8, 0.0012523607300790318_r8, & + 0.0014316771081634961_r8, 0.0014594250885100045_r8, & + 0.0016790353769550815_r8, 0.0019070378753420249_r8, & + 0.0020232855241663996_r8, 0.002172423854379101_r8, & + 0.0021131980226008094_r8, 0.0019671679182925038_r8, & + 0.0017584646771119407_r8, 0.0017223103585239999_r8, & + 0.0018442517120732442_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,73) / & + 0.0011715712664568593_r8, 0.0012286913602282666_r8, & + 0.0012158213566687997_r8, 0.0012954052562303999_r8, & + 0.0014719081621887998_r8, 0.0015002747006463996_r8, & + 0.0017177514954879998_r8, 0.0020140242304895997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,73) / & + 0.00062618344711703696_r8, 0.00067881706250271586_r8, & + 0.00060968274847209849_r8, 0.0011044026001807404_r8, & + 0.0013009656672503703_r8, 0.0015687105802992586_r8, & + 0.0024021765264523455_r8, 0.0021653252572167896_r8, & + 0.0020683159034588887_r8, 0.0018137433742539677_r8, & + 0.0017499429669803172_r8, 0.001979670889772698_r8, & + 0.0029112032925752373_r8, 0.0034706569852399993_r8, & + 0.0044516656747511105_r8, 0.0051242799198800001_r8, & + 0.0067966016389333318_r8, 0.0072830952299306646_r8, & + 0.0075437400248399983_r8, 0.0063012193504177758_r8, & + 0.0035197074197155544_r8, 0.006029126000646483_r8, & + 0.0062974117620012999_r8, 0.0063313217732459924_r8, & + 0.0063345449715442731_r8, 0.0063348032152320231_r8, & + 0.0063348141362045461_r8, 0.006334822962740262_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,73) / & + 0.00062303303594297944_r8, 0.00062448146877313573_r8, & + 0.00060954191872495138_r8, 0.0011368542364921677_r8, & + 0.0013157563829140544_r8, 0.0014443772182319407_r8, & + 0.0019949472288719539_r8, 0.0018233700141911434_r8, & + 0.0017917476217241943_r8, 0.0017617598891655638_r8, & + 0.0018168675853786201_r8, 0.0028380954982291616_r8, & + 0.0043955701946206908_r8, 0.0051660655166150598_r8, & + 0.0059178605361772316_r8, 0.0069592852190523517_r8, & + 0.0079999635156221358_r8, 0.0086011148698809676_r8, & + 0.0093328480601505941_r8, 0.0088042203288947653_r8, & + 0.0064303944050988007_r8, 0.00624426860233871_r8, 0.0065164638028743262_r8, & + 0.0065288953832890601_r8, 0.0065297868981138273_r8, 0.00652985418389031_r8, & + 0.0065298624898184133_r8, 0.0065298662685791377_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,73) / & + 0.00081939368320392482_r8, 0.00084772452352908847_r8, & + 0.00075943008399589234_r8, 0.0018913831010163975_r8, & + 0.0021279400130233632_r8, 0.0022979815613939046_r8, & + 0.0027444019300335381_r8, 0.0025596857395063601_r8, & + 0.0025006373832306946_r8, 0.002736097441538997_r8, & + 0.0028913145692295193_r8, 0.0042536004699835596_r8, & + 0.0062680942109498428_r8, 0.0068797860473037977_r8, & + 0.0074009997828477034_r8, 0.0084812417646708618_r8, & + 0.008825465689613227_r8, 0.009238120134067199_r8, 0.009238120134067199_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,73) / & + 0.0034375298769717508_r8, 0.0033202511765788446_r8, & + 0.0031165180593283946_r8, 0.0030721796282574222_r8, & + 0.0029850157986297679_r8, 0.0032990687213787658_r8, & + 0.0039105312092195558_r8, 0.0038726396123399108_r8, & + 0.0042760272374544597_r8, 0.004230241557891555_r8, & + 0.0039207935167077917_r8, 0.0034353074316873481_r8, & + 0.0027812826813793184_r8, 0.0027120121058337183_r8, & + 0.0025572880852418366_r8, 0.0024601908682377483_r8, & + 0.0023421743321230225_r8, 0.0025523542835648003_r8, & + 0.0026322818707327999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,73) / & + 0.0034388607126181144_r8, 0.0034844488507776001_r8, & + 0.0033389816562152822_r8, 0.0026133140920208066_r8, & + 0.0027540015213557202_r8, 0.0031460324542524317_r8, & + 0.0041130781624308154_r8, 0.0039324842026595558_r8, & + 0.0040627102590439241_r8, 0.0038008602904067955_r8, & + 0.0035455035877389692_r8, 0.0032416728509253008_r8, & + 0.0028489655361567871_r8, 0.0028089237293460806_r8, & + 0.0026975010889978206_r8, 0.002581118314923009_r8, & + 0.0024389879375949167_r8, 0.0025979827695932845_r8, & + 0.002677203996328148_r8, 0.0027414771836961785_r8, & + 0.0028742340355842073_r8, 0.0029338691758313057_r8, & + 0.0031075133118697944_r8, 0.0032215537111052336_r8, & + 0.0034403419889173616_r8, 0.0034989611069670317_r8, & + 0.0036787327796341416_r8, 0.0040164502482251136_r8, & + 0.004050025844341389_r8, 0.0040739832902406316_r8, & + 0.0041163247954154663_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,73) / & + 0.003043209078784_r8, 0.00352187239936_r8, 0.0034962528855893319_r8, & + 0.0027698724942506665_r8, 0.0032058211824639998_r8, & + 0.0037202962284373325_r8, 0.0041727377681919989_r8, & + 0.0037048689262933329_r8, 0.0031240518482773334_r8, & + 0.0028154594771626663_r8, 0.0027550011309226668_r8, & + 0.0026326945914026665_r8, 0.0025039020990293326_r8, & + 0.0025448099302399999_r8, 0.0025637118499839996_r8, & + 0.0025655649793706659_r8, 0.0025263249646079989_r8, & + 0.0025802047015253335_r8, 0.0026623909898240007_r8, & + 0.0027681583495679997_r8, 0.0028931982549333332_r8, & + 0.0030091114980693333_r8, 0.0031575934901759998_r8, & + 0.0032962075682986662_r8, 0.0034907398256639986_r8, & + 0.0036136023039999984_r8, 0.0038235155352746657_r8, & + 0.0041853258113828578_r8, 0.004214542381659428_r8, & + 0.0041641405715017142_r8, 0.0041872616697599995_r8, 0.00420289744896_r8, & + 0.004227914695679999_r8, 0.0042222858151679992_r8, & + 0.0042404233190399994_r8, 0.0042591862540799991_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,74) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,74) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,74) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,74) / & + 0.002983586571111111_r8, 0.0028646042155555554_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,5,74) / & + 0.0032424460414266607_r8, 0.0033041732955555558_r8, & + 0.0033928692333333333_r8, 0.0021210060955555556_r8, & + 0.0024333659805555559_r8, 0.002875462395555555_r8, & + 0.0028571574177777776_r8, 0.003931534806666667_r8, & + 0.0046119391511111104_r8, 0.0051072552088888895_r8, & + 0.0055100063222222224_r8, 0.005690955187777777_r8, & + 0.0060829271653333322_r8, 0.0062582306093333321_r8, & + 0.0064246478186666661_r8, 0.0065349020279999994_r8, & + 0.0066740365000000001_r8, 0.0066887636866666666_r8, & + 0.0067507926000000013_r8, 0.0067732577999999998_r8, & + 0.0069058024799999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,74) / & + 0.0030984808809982364_r8, 0.0030155111919506171_r8, & + 0.0030381876718077599_r8, 0.0019997417260405647_r8, & + 0.0022110957077777771_r8, 0.0025002020967019403_r8, & + 0.0025093560713844803_r8, 0.0039547846708024685_r8, & + 0.0045192279385361548_r8, 0.0050145984754144625_r8, & + 0.0053506663442592596_r8, 0.0055130459258553787_r8, & + 0.0059283092376984127_r8, 0.0060638019304074062_r8, & + 0.0061034171512539676_r8, 0.0061214245740899478_r8, & + 0.0062002250271005277_r8, 0.0062580330978306876_r8, & + 0.0064443298299999997_r8, 0.0066005097725000007_r8, & + 0.0067911441554166655_r8, 0.0070419977549999995_r8, & + 0.0072272732516666669_r8, 0.0074431575833333336_r8, & + 0.0076301491716666671_r8, 0.0078685299049999994_r8, & + 0.0080352794120833338_r8, 0.0084380227249999992_r8, & + 0.0087702268699999999_r8, 0.0089833431680952369_r8, & + 0.0092051989044444425_r8, 0.0093456480066666653_r8, & + 0.0095016563399999993_r8, 0.0096109869799999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,74) / & + 0.0018358136172839507_r8, 0.0016982119560493829_r8, & + 0.0017683255679012343_r8, 0.0012949200138271601_r8, & + 0.0014961915649382713_r8, 0.0017144553125925926_r8, & + 0.0019240288182716051_r8, 0.0027924336049382713_r8, & + 0.0032159996967901232_r8, 0.0035676956385185181_r8, & + 0.0038382764918518512_r8, 0.004014549729876543_r8, & + 0.0043558636059259255_r8, 0.004596232000987654_r8, & + 0.0047425054143209874_r8, 0.0048354355338271612_r8, & + 0.0051554583170370354_r8, 0.0053886711298765429_r8, & + 0.0056600412698148157_r8, 0.0058840368791975304_r8, & + 0.0061024924593209877_r8, 0.0063238763736419741_r8, & + 0.0065792816608024685_r8, 0.0068158157177160492_r8, & + 0.0070090927084567886_r8, 0.0072436541266666663_r8, & + 0.0074557827021604932_r8, 0.0078946815241358013_r8, & + 0.008263527981975308_r8, 0.0085343089221869475_r8, & + 0.0087834078407407392_r8, 0.0090013904432186941_r8, & + 0.0091957594922927686_r8, 0.0093714393373509706_r8, & + 0.0095095186647354488_r8, 0.0095568070192592579_r8, & + 0.0095623373413333337_r8, 0.0095636852533333323_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,74) / & + 0.00047334083950617285_r8, 0.00041840741629629624_r8, & + 0.00040550148246913583_r8, 0.00040774800246913578_r8, & + 0.00048519053913580244_r8, 0.00059716060901234566_r8, & + 0.00084545769425925922_r8, 0.0010939061653703704_r8, & + 0.0012553709933421514_r8, 0.0013914536782010582_r8, & + 0.0015444154741975308_r8, 0.0015985183387566139_r8, & + 0.0017594311118430332_r8, 0.0019328192687742506_r8, & + 0.002104171723315697_r8, 0.0022399722724691356_r8, & + 0.0025970735314991187_r8, 0.0030350977162786597_r8, & + 0.0034865389479012345_r8, 0.0039529072879805997_r8, & + 0.0043867111584391522_r8, 0.0047193527871252196_r8, & + 0.0051144953162610236_r8, 0.0054110539508730156_r8, & + 0.0056871130904850081_r8, 0.0059369400479276887_r8, & + 0.0062086865889241626_r8, 0.0067585571925308646_r8, & + 0.0073243252929365062_r8, 0.0077084792224074074_r8, & + 0.0079692875156349204_r8, 0.0082050260125925926_r8, & + 0.0084438901241269838_r8, 0.0087217858367619038_r8, & + 0.008931645473280422_r8, 0.0090792135081481495_r8, & + 0.0091831185250000006_r8, 0.0095641844799999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,74) / & + 0.00023201591911664935_r8, 0.00023371656292239858_r8, & + 0.00021781999061728393_r8, 0.00026688449588888887_r8, & + 0.00028511290576719575_r8, 0.00031716605601190477_r8, & + 0.00039203658835374144_r8, 0.00041691666999999996_r8, & + 0.00061240135199999994_r8, 0.00074534541333333329_r8, & + 0.00084219538666666669_r8, 0.00086965285333333341_r8, & + 0.00096038729999999993_r8, 0.0010933064_r8, 0.00118953234_r8, & + 0.0012786443000000001_r8, 0.0016392107599999999_r8, 0.00204171226_r8, & + 0.0025396908599999999_r8, 0.0031645978399999996_r8, 0.00367568114_r8, & + 0.0040733151799999994_r8, 0.00460686368_r8, 0.0049640603600000005_r8, & + 0.0052913034399999998_r8, 0.0055736161200000004_r8, & + 0.0058402031599999998_r8, 0.0063411771200000003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,74) / & + 0.00020560264067226035_r8, 0.00018938647544217691_r8, & + 0.00020223360249999999_r8, 0.00023350584436507938_r8, & + 0.00022923121603174606_r8, 0.00024522637899999998_r8, & + 0.00026577044780952381_r8, 0.00031836932600000004_r8, & + 0.00044106675999999994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,74) / & + 0.0001872298079011017_r8, 0.00018920066633333334_r8, & + 0.00030557352250000004_r8, 0.00032025390666666666_r8, 0.00024487068_r8, & + 0.00036921972222222213_r8, 0.00036514270444444445_r8, & + 0.00047888317999999992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,74) / & + 0.00041109738837965387_r8, 0.00039455391963244438_r8, & + 0.00040159073583066664_r8, 0.000330110538128_r8, 0.00032996469737777773_r8, & + 0.00033820469976533329_r8, 0.00037317001963111106_r8, & + 0.00043453251528711106_r8, 0.00051292191853155545_r8, & + 0.00064468903635733321_r8, 0.00078936306057777778_r8, & + 0.00084055316390577769_r8, 0.0012532095666595556_r8, & + 0.0016862472142568886_r8, 0.0021141439754088884_r8, & + 0.0024937309880497778_r8, 0.0032409096116257775_r8, & + 0.0038286113748337773_r8, 0.0042369654754559989_r8, & + 0.0044422259141973335_r8, 0.0045798579136213319_r8, & + 0.0045941586409002661_r8, 0.004635110723562666_r8, & + 0.0047101457895519991_r8, 0.0047396785414719998_r8, & + 0.0047649089912604444_r8, 0.0048389960923733329_r8, & + 0.0049288339945102221_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,74) / & + 0.00042087226808669627_r8, 0.00042521798654389457_r8, & + 0.00040253002408601152_r8, 0.00033725858917697446_r8, & + 0.00033700732556052673_r8, 0.00039237668976682796_r8, & + 0.00038537557172671608_r8, 0.00039066923928233088_r8, & + 0.00042988920559512754_r8, 0.00051460787336354559_r8, & + 0.00060788092516466166_r8, 0.000693778818769363_r8, & + 0.0010461760408373136_r8, 0.0014406799055388412_r8, & + 0.0018422277173060116_r8, 0.0022682251921145673_r8, & + 0.0030745941768859104_r8, 0.0038273281690372105_r8, & + 0.0044063272388612639_r8, 0.0046992777734923743_r8, & + 0.0047880472512850502_r8, 0.0048381376321730615_r8, & + 0.0048799917875037473_r8, 0.0049808296689000569_r8, & + 0.0050271727140018584_r8, 0.0050509725995416194_r8, & + 0.0051396845640714391_r8, 0.0051931661879905319_r8, & + 0.0052245451794673313_r8, 0.0052528857575043254_r8, & + 0.0052196589994974807_r8, 0.0050793596776634769_r8, & + 0.0049988594649621083_r8, 0.0052066255151852177_r8, & + 0.0054194111272005451_r8, 0.0056407936259577161_r8, & + 0.0057844257801898877_r8, 0.0055941261407901309_r8, & + 0.0055288089094159372_r8, 0.0054996506946893972_r8, & + 0.0054826463478672002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,74) / & + 0.00041152000936034428_r8, 0.00039432574237899682_r8, & + 0.00032863036846371213_r8, 0.00034172851021015875_r8, & + 0.00033753545377082747_r8, 0.00037494446550663275_r8, & + 0.00034423995839126341_r8, 0.00032655834846974808_r8, & + 0.00033234357964193859_r8, 0.00037210624098284021_r8, & + 0.00041376936473779458_r8, 0.00045915816876826242_r8, & + 0.00058507369298332272_r8, 0.00078875768706936696_r8, & + 0.0010632356259543704_r8, 0.0013969116791305056_r8, & + 0.0021534487888419805_r8, 0.0030239607572253796_r8, & + 0.0037996882376300691_r8, 0.0042956783999079703_r8, & + 0.0044624588536640829_r8, 0.0044568835332951832_r8, & + 0.0043858452801831763_r8, 0.0043757729153824703_r8, & + 0.0043406162525855283_r8, 0.0043211056410764797_r8, & + 0.0043565414396650971_r8, 0.0044561970449942144_r8, & + 0.0045967112163250801_r8, 0.0047636488667007785_r8, & + 0.0048281668998508692_r8, 0.0048390485520623744_r8, & + 0.0048944732595332056_r8, 0.0049986667563369632_r8, & + 0.0053360186133994654_r8, 0.0057449468726141146_r8, & + 0.0059584222898399278_r8, 0.0059594046827185776_r8, & + 0.0061312882220315194_r8, 0.0065891586985235987_r8, & + 0.0083353146362538655_r8, 0.0096889039417525323_r8, & + 0.011099486481166931_r8, 0.011918195369887996_r8, 0.012262592696886399_r8 & + / +data delta_sa_ref(:,28,74) / & + 0.00023127205425767239_r8, 0.00024008145387256625_r8, & + 0.00023527172419776789_r8, 0.00023549955349815306_r8, & + 0.0002408408848738502_r8, 0.000232664344426693_r8, & + 0.00022694329755035389_r8, 0.00022175385237491353_r8, & + 0.00021676692213314894_r8, 0.00022172853800820412_r8, & + 0.00023813224763593742_r8, 0.00025861157030389467_r8, & + 0.00026954737672238357_r8, 0.00033365284611826501_r8, & + 0.00043250861241456455_r8, 0.00055125197805698761_r8, & + 0.00098681413595588124_r8, 0.001607161677946354_r8, & + 0.0023828982956870387_r8, 0.0031300898006669624_r8, & + 0.0035457327162613456_r8, 0.0035193709676292779_r8, & + 0.0032770903281488257_r8, 0.0030510488549124973_r8, & + 0.0028622321579224361_r8, 0.002769356910761247_r8, & + 0.0027879313273343172_r8, 0.0030845334334774419_r8, & + 0.0034648854096252547_r8, 0.0039332821093153751_r8, & + 0.0043457602770288137_r8, 0.0046952865872007003_r8, & + 0.0049587322974615775_r8, 0.0051457543866688426_r8, & + 0.0053488682763425995_r8, 0.0056500002979999299_r8, & + 0.0059990854149234527_r8, 0.006388111178007359_r8, & + 0.0068542318449049408_r8, 0.0076208100864039513_r8, & + 0.008715067435520054_r8, 0.0097820981887471545_r8, 0.011240632258291392_r8, & + 0.012561550740177492_r8, 0.012912282556655465_r8 & + / +data delta_sa_ref(:,29,74) / & + 0.00020003129062378929_r8, 0.00020218187922752264_r8, & + 0.00020945670981299092_r8, 0.00017523314548938273_r8, & + 0.00017456938357465022_r8, 0.00017685272456133006_r8, & + 0.00019461499339957204_r8, 0.00019012796285598025_r8, & + 0.00019530530579089383_r8, 0.00020595204690320327_r8, & + 0.00022161682809089051_r8, 0.00024285720936233088_r8, & + 0.0002639382877742354_r8, 0.00030833068463154568_r8, & + 0.00038622978294455308_r8, 0.00045836742783768227_r8, & + 0.00073491719199183538_r8, 0.0012061616009753284_r8, & + 0.0018977484151734255_r8, 0.0027215566027862389_r8, & + 0.003264301445224718_r8, 0.003400638142510775_r8, 0.0032638235366461103_r8, & + 0.003082510332017778_r8, 0.0029648651702505881_r8, & + 0.0029133572456673446_r8, 0.0029489879852501854_r8, & + 0.0032926573542220905_r8, 0.0037727165214332318_r8, & + 0.0043211431658618203_r8, 0.0048120083770448064_r8, & + 0.0051942024875477862_r8, 0.0054570522057818599_r8, & + 0.0056743678566652843_r8, 0.0058335114133415506_r8, & + 0.0060681379749611981_r8, 0.0063912041740998059_r8, & + 0.0068195961138681682_r8, 0.0073650491049187545_r8, & + 0.0081766706237770791_r8, 0.0092445526015187997_r8, & + 0.010290867816773287_r8, 0.011505828245690311_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,74) / & + 0.0002157350573463704_r8, 0.00021395671581234566_r8, & + 0.00020161947142004934_r8, 0.000191727446637037_r8, & + 0.00018775396477195062_r8, 0.00018908772092246913_r8, & + 0.00022885032615980246_r8, 0.00022704419803930859_r8, & + 0.00023429649710775307_r8, 0.00024718947322943202_r8, & + 0.00026311118727624687_r8, 0.00028714658457204935_r8, & + 0.00030631932923575302_r8, 0.00034716561134538271_r8, & + 0.0004018774001031111_r8, 0.00046925987229076547_r8, & + 0.0006575695687920987_r8, 0.0010682831033923951_r8, & + 0.0017217680439735308_r8, 0.0025896820723369869_r8, & + 0.0031942348341459752_r8, 0.0033368355959055799_r8, & + 0.003231552219774024_r8, 0.003093286165503605_r8, 0.0029900034235978267_r8, & + 0.0029617444651587159_r8, 0.0030011458447719496_r8, & + 0.0032447786349333336_r8, 0.0036626611088426664_r8, & + 0.0041728228364160003_r8, 0.0046271335251863704_r8, & + 0.0049759941183063709_r8, 0.0052580835441410371_r8, & + 0.0055366162869076533_r8, 0.0058170663041406416_r8, & + 0.0061667327082682473_r8, 0.0065560227847008381_r8, & + 0.0070161130834567893_r8, 0.0075949354661953589_r8, & + 0.0083659090410146165_r8, 0.0093124382691458767_r8, & + 0.0099858114589922945_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,74) / & + 0.00039900402940565592_r8, 0.00040239968487848553_r8, & + 0.00035396080467205257_r8, 0.00036853019823923617_r8, & + 0.00034940424134526419_r8, 0.00034583444969434068_r8, & + 0.00036330611289642136_r8, 0.00035416396354649547_r8, & + 0.00035933000349661228_r8, 0.00038237402439769545_r8, & + 0.00040405397857037689_r8, 0.00042825890732541889_r8, & + 0.00045466956100298272_r8, 0.00050522709804289045_r8, & + 0.00058495244491351425_r8, 0.00066279131652145502_r8, & + 0.00085233854637658591_r8, 0.0012165733855561741_r8, & + 0.0018032962149469758_r8, 0.0026051642923727008_r8, & + 0.0032796517555227912_r8, 0.0034775284992300771_r8, & + 0.003369157751063018_r8, 0.0032081108090225774_r8, & + 0.0031023521035269262_r8, 0.0030544646545511236_r8, & + 0.0030575410603641152_r8, 0.0031557828875053828_r8, & + 0.0034209922867422808_r8, 0.0037972715449066923_r8, & + 0.0042265172239079772_r8, 0.0046336766309876924_r8, & + 0.0049816007148191597_r8, 0.0053184091059489697_r8, & + 0.0057170938856947878_r8, 0.0062153265139175771_r8, & + 0.0066874096927299412_r8, 0.007144255955959097_r8, 0.007570744478807229_r8, & + 0.0080505046790663327_r8, 0.0087704883283180445_r8, & + 0.010444853391436939_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,74) / & + 0.0006987968710480591_r8, 0.00067912864699933484_r8, & + 0.00064578344253519006_r8, 0.00067719208340069126_r8, & + 0.00071359342729394567_r8, 0.00071283695713822545_r8, & + 0.00066073129281222045_r8, 0.00073341294537381376_r8, & + 0.00081880329655150601_r8, 0.00092192530817927884_r8, & + 0.0010230918444545151_r8, 0.001182933988358186_r8, & + 0.0014451870619432525_r8, 0.0017292756465731814_r8, & + 0.0019527331482221393_r8, 0.0021393619003398615_r8, & + 0.0023978477525494414_r8, 0.0026549833055310619_r8, & + 0.0029170396968756407_r8, 0.0031832982799352453_r8, & + 0.0033302842135424526_r8, 0.0033174242208952099_r8, & + 0.0032274118370660665_r8, 0.0031461820717448357_r8, & + 0.0031164527946250338_r8, 0.0031112936681630221_r8, & + 0.0031428989912690103_r8, 0.0032978505556159497_r8, & + 0.0035714393344844836_r8, 0.0039090962725200845_r8, & + 0.0042520755184370044_r8, 0.0046234018624320581_r8, & + 0.0049710236737617961_r8, 0.0053468142723472525_r8, & + 0.0057944125843301143_r8, 0.0063547962738442479_r8, & + 0.0069120011676968799_r8, 0.0073442732862576852_r8, & + 0.0077260534534353848_r8, 0.0080369129225068437_r8, & + 0.0089264083551103997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,74) / & + 0.0011945595948231675_r8, 0.0011044834024204243_r8, & + 0.0011356869905550617_r8, 0.0011434733211900206_r8, & + 0.0012802987099139725_r8, 0.0014049820211051397_r8, & + 0.0017355307266220131_r8, 0.0019357340099224447_r8, & + 0.0021472462177427429_r8, 0.0023416769328478333_r8, & + 0.0023059994918799638_r8, 0.0022741392347444618_r8, & + 0.002468603019511466_r8, 0.0028168265594666658_r8, & + 0.0030585725369691426_r8, 0.0032267013977045323_r8, & + 0.0033457521805951994_r8, 0.0033446588570788562_r8, & + 0.0033176294701470471_r8, 0.0032876845538383228_r8, & + 0.0032412790445891042_r8, 0.0031753253158023111_r8, & + 0.0031421611691399101_r8, 0.0031267129127886214_r8, & + 0.0031457043472021325_r8, 0.0031750418615573324_r8, & + 0.0032320870283591104_r8, 0.003461571585093119_r8, & + 0.0037700831853269322_r8, 0.0041436050166463994_r8, & + 0.004451365463131021_r8, 0.0048049746337407995_r8, & + 0.0051653158426687986_r8, 0.0056213228592767988_r8, & + 0.0061404693089535988_r8, 0.0067221174196479992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,74) / & + 0.0015661407675958059_r8, 0.0014652923430065331_r8, & + 0.001411897226691098_r8, 0.001282429653393676_r8, 0.0015125802005620825_r8, & + 0.0016615152529452799_r8, 0.0021063888119754667_r8, & + 0.0024192319583733334_r8, 0.002646794416558222_r8, & + 0.0029481489728341334_r8, 0.002881868645207467_r8, & + 0.0027890761865301331_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,74) / & + 0.0013629674234817391_r8, 0.0013628169254138109_r8, & + 0.0013763976470118166_r8, 0.0013765398813533906_r8, & + 0.0013765456600077133_r8, 0.00137654633008197_r8, 0.00137654633008197_r8, & + 0.00137654633008197_r8, 0.00137654633008197_r8, 0.00137654633008197_r8, & + 0.00137654633008197_r8, 0.0013765601505930983_r8, 0.0013765601505930983_r8, & + 0.0013765255993152773_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,74) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,74) / & + 0.00084725694883209688_r8, 0.0009239289717864294_r8, & + 0.0011025410283164443_r8, 0.001306710087197257_r8, & + 0.0013777590222384764_r8, 0.0015721421620248379_r8, & + 0.0017984305604746159_r8, 0.0020980869986702223_r8, & + 0.002360040416440889_r8, 0.0023804555654314669_r8, & + 0.0024033303709269332_r8, 0.0023957054357617779_r8, & + 0.0022284487934293331_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,74) / & + 0.00092959031964370917_r8, 0.00099645766571027344_r8, & + 0.0011109986159471446_r8, 0.0013798375513980128_r8, & + 0.001523844483208549_r8, 0.0016372777747594902_r8, & + 0.0018900274026652441_r8, 0.0021131302067628954_r8, & + 0.0022771428107580837_r8, 0.0022849868426768117_r8, & + 0.0022554360913057537_r8, 0.0022202792306671324_r8, & + 0.0022332603123078518_r8, 0.001998024124543407_r8, & + 0.0019884088075248761_r8, 0.0013055226956838397_r8, & + 0.0015090719331829331_r8, 0.0021468798887648_r8, 0.0028182566841141329_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,74) / & + 0.0004888392958170162_r8, 0.00048888503317048881_r8, & + 0.00049378789166933329_r8, 0.00064087364663466652_r8, & + 0.00070496101129813326_r8, 0.00079548879143751102_r8, & + 0.0014885428606670221_r8, 0.001458250199227733_r8, & + 0.0014072954912575997_r8, 0.0011078709186495997_r8, & + 0.0011157505126655998_r8, 0.0011141745938623999_r8, & + 0.0013442587391296001_r8, 0.0014151750852735999_r8, & + 0.0016326518801151996_r8, 0.0016105890168703998_r8, & + 0.0018658878629887997_r8, 0.0022409565381503998_r8, & + 0.0028555648713983997_r8, 0.0029375126491647998_r8, & + 0.0030951045294847998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,74) / & + 0.00072111479974570555_r8, 0.00074575013630395293_r8, & + 0.00076868980674284519_r8, 0.0013063005776994682_r8, & + 0.0015625321383057728_r8, 0.0017882452925714045_r8, & + 0.0026442111486251144_r8, 0.0025349198293286414_r8, & + 0.0024146122719639505_r8, 0.0022758528384503205_r8, & + 0.0022130809288424687_r8, 0.0021320107079818265_r8, & + 0.0025185666734270609_r8, 0.0029380698367870608_r8, & + 0.0037230875637436038_r8, 0.0043647961207535797_r8, & + 0.0050113946658291346_r8, 0.0052855832823634555_r8, & + 0.0056037336142656788_r8, 0.0049014000451175306_r8, & + 0.0029094224559644433_r8, 0.0054711651534505362_r8, & + 0.005464912645998265_r8, 0.0054000907928289255_r8, & + 0.0053915302659602636_r8, 0.0054169700575343056_r8, & + 0.0054169019234744566_r8, 0.0053906698808322126_r8, & + 0.0053232303612731234_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,74) / & + 0.00066542038812262715_r8, 0.00068372237152653176_r8, & + 0.00067663539660755211_r8, 0.001321405270951664_r8, & + 0.0015386081197823998_r8, 0.0016643993381070881_r8, & + 0.0021680659899220014_r8, 0.0020240296909117359_r8, & + 0.0019641473393335572_r8, 0.0019078602049588016_r8, & + 0.0019728793201096427_r8, 0.0026389359840826598_r8, & + 0.0037302939107847367_r8, 0.0042208625914355218_r8, 0.00506735777522527_r8, & + 0.0061234071957069194_r8, 0.0064948910498359097_r8, & + 0.0072718614577781506_r8, 0.0075240528274132653_r8, & + 0.0065731773663131755_r8, 0.0040245267823114826_r8, & + 0.0059594062570721574_r8, 0.0062629250451881847_r8, & + 0.0062874437360803783_r8, 0.0062902801467957722_r8, & + 0.0062865615244059418_r8, 0.0062865632736141177_r8, & + 0.0062865606294813239_r8, 0.006286560611230221_r8, & + 0.0065298662675118951_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,74) / & + 0.0015113657621206517_r8, 0.0016996519785496412_r8, & + 0.0014099410431322665_r8, 0.0026006346398285631_r8, & + 0.0027659572514289175_r8, 0.0028737685631856232_r8, & + 0.0032563376166809235_r8, 0.0030017305660391702_r8, & + 0.0028399240966035556_r8, 0.0030688249515281769_r8, & + 0.0032027899680047989_r8, 0.003853711790636333_r8, & + 0.0058081554172913765_r8, 0.0060724414483647989_r8, & + 0.0067053470380181324_r8, 0.0080488329942367976_r8, & + 0.0084337546664895995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,74) / & + 0.0037194417810667928_r8, 0.0037209613919833204_r8, & + 0.0031189718033624416_r8, 0.0035426669561796744_r8, & + 0.0033492290384286418_r8, 0.0035460877253424184_r8, & + 0.0039162741543716266_r8, 0.0038515426763689005_r8, & + 0.004051670829193995_r8, 0.004309675764891851_r8, 0.0039898667401863114_r8, & + 0.0036699590394472289_r8, 0.0027463513655058961_r8, & + 0.0026674105386733037_r8, 0.0025197911924963552_r8, & + 0.0024167734134798221_r8, 0.0023143476906645334_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,74) / & + 0.0035175464703711343_r8, 0.0035483443916005408_r8, & + 0.0033843443337508352_r8, 0.0027919239983014454_r8, & + 0.0028652437932048334_r8, 0.003252855697872435_r8, & + 0.0040991897879964706_r8, 0.0039704517717300668_r8, & + 0.0040670391030234601_r8, 0.0038116824003556352_r8, & + 0.003556100237063875_r8, 0.0032588980425938695_r8, & + 0.0028392256372028316_r8, 0.0027833114024671608_r8, & + 0.0026788329493360728_r8, 0.0025562274620406782_r8, & + 0.0024168871599337715_r8, 0.0025887115066505063_r8, & + 0.0026670727621483643_r8, 0.0027390059742145572_r8, & + 0.0028863219458931349_r8, 0.0029581851041226045_r8, & + 0.0031404410307788646_r8, 0.0032253540109649461_r8, & + 0.0034250354671584711_r8, 0.0034871679059022462_r8, & + 0.0036678565591355575_r8, 0.0040097946506065778_r8, & + 0.0040495659046685629_r8, 0.0040749302248611558_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,74) / & + 0.0030644274102613321_r8, 0.0035240034981546668_r8, & + 0.0034977817173333326_r8, 0.0028173126065493331_r8, & + 0.0032844401966933331_r8, 0.0038099413625173333_r8, & + 0.0041368333863253323_r8, 0.0036914337382399996_r8, & + 0.0031071420426239988_r8, 0.0028141622865919991_r8, & + 0.002757410199125333_r8, 0.0026353353007786658_r8, & + 0.0025045043660799999_r8, 0.0025409183585279999_r8, & + 0.0025604225453226661_r8, 0.0025626926288213328_r8, & + 0.0025229430034773327_r8, 0.0025798340756479996_r8, & + 0.0026616960663040003_r8, 0.0027677413954559993_r8, & + 0.002896070605482665_r8, 0.0030130493980159989_r8, & + 0.0031623652983466667_r8, 0.003297597415338666_r8, & + 0.0034889793527466658_r8, 0.0036161966851413325_r8, & + 0.0038283105075626665_r8, 0.004191103604077713_r8, & + 0.0042162399805439994_r8, 0.0041628698542079999_r8, & + 0.0041872616697599995_r8, 0.00420289744896_r8, 0.004227914695679999_r8, & + 0.0042222858151679992_r8, 0.0042409792578559985_r8, & + 0.0042591862540799991_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,75) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,75) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,75) / & + 0.0056356970594414017_r8, 0.0056339726240000002_r8, & + 0.0057230845840000001_r8, 0.0061318014559999983_r8, & + 0.0059466882080000004_r8, 0.005915985767999999_r8, & + 0.0056210925759999988_r8, 0.0058309175440000001_r8, & + 0.006088218967999999_r8, 0.0060796821919999995_r8, & + 0.0069552259200000004_r8, 0.0069896725600000001_r8, & + 0.0068151928399999987_r8, 0.0071951542560000003_r8, & + 0.0069664585199999997_r8, 0.00640108432_r8, 0.0067358158000000003_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,75) / & + 0.0055207050940563017_r8, 0.0055423520500000002_r8, & + 0.0056250364666666662_r8, 0.0059849788933333337_r8, & + 0.0059323104799999986_r8, 0.0060418907333333336_r8, & + 0.0058090014933333337_r8, 0.005915586386666667_r8, & + 0.0063356856266666662_r8, 0.0066249874799999987_r8, & + 0.0072999419333333333_r8, 0.0070248680399999999_r8, & + 0.0067492949199999992_r8, 0.0067894826666666666_r8, & + 0.0065438631466666662_r8, 0.0063209584399999998_r8, & + 0.0066986234133333327_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,75) / & + 0.0044532344038296142_r8, 0.0047437373683809521_r8, & + 0.0058780195800000002_r8, 0.0060178654499999998_r8, 0.00603490156_r8, & + 0.0059514058999999989_r8, 0.0058203588999999993_r8, & + 0.0060671016799999991_r8, 0.0063509120400000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,75) / & + 0.0040379072740041443_r8, 0.0038144035518941802_r8, & + 0.0035961168899999998_r8, 0.0030197499961481479_r8, & + 0.003068760187407408_r8, 0.0033232506879259257_r8, & + 0.0036284210155555557_r8, 0.0045483709555555561_r8, & + 0.0049222293255555567_r8, 0.0052553036503703698_r8, & + 0.0054410714399999996_r8, 0.0055984665140740731_r8, & + 0.0060211884275000009_r8, 0.0060927940238095224_r8, & + 0.0060995692428571424_r8, 0.0061357631761904752_r8, & + 0.0061615054426666675_r8, 0.0061449810399999997_r8, & + 0.0064100703999999996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,75) / & + 0.0024911965362962971_r8, 0.0023965376133333331_r8, & + 0.0022988833303703698_r8, 0.001803345394074074_r8, & + 0.0019855538824691357_r8, 0.0021837191343209873_r8, & + 0.0026194515649382716_r8, 0.0033686405613580252_r8, & + 0.0037880591427777773_r8, 0.004162414428209877_r8, & + 0.0043979863511904764_r8, 0.0045721396918518512_r8, & + 0.0049474780774162253_r8, 0.0052021675422134041_r8, & + 0.0052862487699999999_r8, 0.0054242969947707236_r8, & + 0.0056240601351499114_r8, 0.0057333975437654323_r8, & + 0.0059305211882328037_r8, 0.0061443263002645505_r8, & + 0.0063649216873862442_r8, 0.0065817744593544957_r8, & + 0.0068332543457248675_r8, 0.0070654730965767198_r8, & + 0.0072348595159417986_r8, 0.0074453546759312168_r8, & + 0.0076353781747883591_r8, 0.0080269562189206334_r8, & + 0.0083853388594126981_r8, 0.0086730975674603177_r8, & + 0.0089444322134391522_r8, 0.0091912146146031753_r8, & + 0.0093955651263703688_r8, 0.0095124770779999989_r8, & + 0.0096097985431851836_r8, 0.0095720473000000007_r8, & + 0.0095572202679999989_r8, 0.0095272417066666667_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,75) / & + 0.00067782962913580228_r8, 0.00063761414765432095_r8, & + 0.00061796865382716037_r8, 0.00059050194222222223_r8, & + 0.00066832583259259252_r8, 0.00075094784592592584_r8, & + 0.0010656917693827161_r8, 0.0013957638004938272_r8, & + 0.001625121474074074_r8, 0.0018473235654320988_r8, & + 0.0020389249111111112_r8, 0.0021131802553086419_r8, & + 0.0022525754345679013_r8, 0.0025060069274074072_r8, & + 0.0026919226360493822_r8, 0.0028845594148148154_r8, & + 0.0033298603565432095_r8, 0.0036948412745679013_r8, & + 0.0040966447817283955_r8, 0.0045230583145679012_r8, & + 0.0048792103165432093_r8, 0.0051490515748148146_r8, & + 0.0054930649728395049_r8, 0.0057692667486419743_r8, & + 0.0060070835407407394_r8, 0.0062355906800000008_r8, & + 0.0064806647486419745_r8, 0.0069741965333333334_r8, & + 0.0074899265704320974_r8, 0.0078552772859876545_r8, & + 0.0081747684852469128_r8, 0.0084542794536860682_r8, & + 0.0087365880064814803_r8, 0.0089374271256049374_r8, & + 0.0090576708209171072_r8, 0.0091497397744232812_r8, & + 0.0090564308435714287_r8, 0.0093766000600000003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,75) / & + 0.00023873204098765434_r8, 0.00022689852000000002_r8, & + 0.00024414957481481482_r8, 0.00030870120067901229_r8, & + 0.00032337539403880071_r8, 0.00034246008330687827_r8, & + 0.0004184354812874779_r8, 0.00049540504030864193_r8, & + 0.00056592288708641968_r8, 0.00065743582359082883_r8, & + 0.00081849575628395053_r8, 0.00086117755617283953_r8, & + 0.00092605622172839495_r8, 0.0010554350056349207_r8, & + 0.0011785182507195765_r8, 0.001308697745333333_r8, & + 0.0018450932240740743_r8, 0.0023194278944444445_r8, & + 0.0028166507207407405_r8, 0.0034049338777777777_r8, & + 0.0039006243555555552_r8, 0.0042766391074074072_r8, & + 0.0047367458177777775_r8, 0.0050928331051851849_r8, & + 0.0053933398237037029_r8, 0.0056470995118518517_r8, & + 0.0058842044437037028_r8, 0.006373044422222222_r8, & + 0.0069771138891666666_r8, 0.0073658554541666662_r8, & + 0.0077156729399999995_r8, 0.0079943974283333344_r8, & + 0.008325478313333334_r8, 0.0085887891783333319_r8, 0.0087928324775_r8, & + 0.0089301416519999999_r8, 0.0089863046519999996_r8, & + 0.0091332270600000005_r8, 0.0093664907199999987_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,75) / & + 0.00019670857162501775_r8, 0.00018803511074074071_r8, & + 0.00021477725030864198_r8, 0.0002311916382098765_r8, & + 0.00023446781320987656_r8, 0.00026327966333333335_r8, & + 0.00029037954899470902_r8, 0.00035439480335096996_r8, & + 0.00041355322938624339_r8, 0.0004260846111428571_r8, & + 0.00050996004000000001_r8, 0.00058284713333333325_r8, & + 0.00064624891999999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,75) / & + 0.00021497480786632269_r8, 0.00021255073899647265_r8, & + 0.00029084674855379185_r8, 0.00028235296151675487_r8, & + 0.0002320326964691358_r8, 0.00036732404762962961_r8, & + 0.00031426424323104048_r8, 0.0004489087788888888_r8, & + 0.00054216015999999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,75) / & + 0.00029814458460395696_r8, 0.00029392746857823132_r8, & + 0.00033084668146938779_r8, 0.00025686994952380947_r8, & + 0.00021576754828571428_r8, 0.00038740524219047612_r8, & + 0.00036465833571428571_r8, 0.0004480058681258631_r8, & + 0.00054141132000000002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,75) / & + 0.00024442673921392998_r8, 0.00025797537999999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,75) / & + 0.00066936042993659254_r8, 0.00074499668390739745_r8, & + 0.00062662909012148142_r8, 0.00047743400264414813_r8, & + 0.00045187946229965421_r8, 0.00042810742001343202_r8, & + 0.00044648335454143198_r8, 0.00050042822759585181_r8, & + 0.00058828917734083937_r8, 0.00073524803998143188_r8, & + 0.0008737481391091356_r8, 0.00099716182285274069_r8, & + 0.0014305681234575798_r8, 0.001841644584750617_r8, & + 0.0022633836253376791_r8, 0.0026238695508314074_r8, & + 0.0033372900918629132_r8, 0.0039659285434319007_r8, & + 0.004392723396693333_r8, 0.0046039737233902218_r8, & + 0.0047580336416071104_r8, 0.0048131822795840001_r8, & + 0.0049112747681834658_r8, 0.0050000042806186661_r8, & + 0.0050721079475285324_r8, 0.0050745580721322662_r8, & + 0.0052402915006847994_r8, 0.0050670326894207991_r8, & + 0.0050956028923893329_r8, 0.0050791958079893333_r8, & + 0.0051977643379199998_r8, 0.0051662627358719992_r8, & + 0.0047619921762559999_r8, 0.0052397664739839995_r8, & + 0.0053325211911253324_r8, 0.005325520835114666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,75) / & + 0.00051680357473909457_r8, 0.00056564008491775464_r8, & + 0.00052456990470202468_r8, 0.00043713016617821223_r8, & + 0.00042511519688262056_r8, 0.00043228763102485596_r8, & + 0.00040866885107876871_r8, 0.00040595063559174322_r8, & + 0.00046705337868244276_r8, 0.0005628305008429299_r8, & + 0.00068556135640417441_r8, 0.000828827302073284_r8, & + 0.0012216665453158452_r8, 0.0016328480325590914_r8, & + 0.0020442350991248855_r8, 0.0024654214467321419_r8, & + 0.0032689853342789529_r8, 0.0040243979760555973_r8, & + 0.0045745054010474934_r8, 0.0048919312961353085_r8, & + 0.0050238932343326381_r8, 0.005079519572692124_r8, & + 0.0051721302022316971_r8, 0.0052585106361907122_r8, & + 0.0053276738018863201_r8, 0.0053143225669941667_r8, & + 0.0053961015320292422_r8, 0.0052612166148133018_r8, & + 0.0051881425472435029_r8, 0.0051917589485802329_r8, & + 0.0052311071980218815_r8, 0.0050675900473024669_r8, & + 0.0047335409939170663_r8, 0.0049775019759849531_r8, & + 0.0053680808460234153_r8, 0.00565455930305359_r8, 0.0057773700041552894_r8, & + 0.0055707297454604199_r8, 0.005495663924255695_r8, & + 0.0054618314414591994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,75) / & + 0.00038484277890797033_r8, 0.00039965090685819264_r8, & + 0.00034486685300657774_r8, 0.00036407227261031107_r8, & + 0.00035976527441991107_r8, 0.00036206173816503707_r8, & + 0.00032527016172936293_r8, 0.00027811891529274063_r8, & + 0.00028014148886642957_r8, 0.00030102335710192586_r8, & + 0.00034546579964521472_r8, 0.00042006926864971848_r8, & + 0.00055122955316491847_r8, 0.0007793770561898666_r8, & + 0.001067942495195691_r8, 0.0014104062521768971_r8, & + 0.0022301019194591069_r8, 0.0031142469108656678_r8, & + 0.0038902762294184714_r8, 0.0044429762761254848_r8, & + 0.0046420028473904843_r8, 0.0045906684337985865_r8, & + 0.0044176669324216674_r8, 0.0043087403382753974_r8, & + 0.0042035707261385202_r8, 0.0041026351034775853_r8, & + 0.0039777211487528625_r8, 0.0038754447111616144_r8, & + 0.0039852740679514461_r8, 0.0041454812435868446_r8, & + 0.0044327769845137763_r8, 0.0046033619748365208_r8, & + 0.0048876444939087741_r8, 0.0050700352255426328_r8, & + 0.0052396357591361414_r8, 0.0056674064582328178_r8, & + 0.0059241541147199992_r8, 0.0061648475934660265_r8, & + 0.0065580684018378653_r8, 0.0073592964761006203_r8, & + 0.0086424929977578658_r8, 0.010246050726533331_r8, 0.011453147917480531_r8, & + 0.012071080261627731_r8, 0.012309021595618131_r8 & + / +data delta_sa_ref(:,28,75) / & + 0.00025316898146135962_r8, 0.0002566876784339753_r8, & + 0.00024397986634582385_r8, 0.00024990342815583863_r8, & + 0.00024013208260598515_r8, 0.00023522109546434891_r8, & + 0.00023332251796113909_r8, 0.00021623532043225018_r8, & + 0.00021048895918920164_r8, 0.00022258922647632593_r8, & + 0.00023787910396884279_r8, 0.00027342047482893173_r8, & + 0.00028974824135653664_r8, 0.00037389319629879832_r8, & + 0.00050168011944817781_r8, 0.00065424980760612345_r8, & + 0.0011753966750538795_r8, 0.001830608428594963_r8, 0.002659426109029557_r8, & + 0.0034728526545047961_r8, 0.0038990706467920602_r8, & + 0.0039225117503650236_r8, 0.0036302320723375398_r8, & + 0.0033353197001722737_r8, 0.0031191603228401515_r8, & + 0.0029743368308953024_r8, 0.0029411750105059029_r8, & + 0.0031869268825213894_r8, 0.0036576728458506003_r8, & + 0.0041934261028897168_r8, 0.0046877144272587318_r8, & + 0.005026471282564793_r8, 0.0053393568550937813_r8, & + 0.0055192154305645294_r8, 0.0056560648969958983_r8, & + 0.0058909062769596041_r8, 0.0061837428710546961_r8, & + 0.006536827657918313_r8, 0.0069936760339240293_r8, & + 0.0077388550467505507_r8, 0.0090219390377864958_r8, & + 0.010525974054138854_r8, 0.011421301164722201_r8, 0.012301510173872848_r8, & + 0.012928173650357333_r8 & + / +data delta_sa_ref(:,29,75) / & + 0.00018388860085749467_r8, 0.00018824287901813991_r8, & + 0.00019716383915214486_r8, 0.00017751648647606252_r8, & + 0.00016756005775507489_r8, 0.00016986994921834402_r8, & + 0.00019235820288948145_r8, 0.00019257060670219584_r8, & + 0.00019318126766374981_r8, 0.0002011198601639506_r8, & + 0.00021415614416929709_r8, 0.00023953839978866831_r8, & + 0.00025193747235587158_r8, 0.00029866631115304029_r8, & + 0.00036509560357947_r8, 0.00044344605999449538_r8, & + 0.0007327400529115128_r8, 0.0011833016406319406_r8, & + 0.0018725785633667686_r8, 0.0027019623510633347_r8, & + 0.0032931352628006974_r8, 0.0035049284145535478_r8, & + 0.0033626178600348975_r8, 0.003168082518065093_r8, & + 0.0030426315161806491_r8, 0.002973786130384592_r8, 0.003027099487375908_r8, & + 0.0034871926961918941_r8, 0.0040587713562063536_r8, & + 0.0047088597754953729_r8, 0.0052861467879765332_r8, & + 0.0056906432988145248_r8, 0.0059681754306024817_r8, & + 0.006087864979067048_r8, 0.0061536570600553347_r8, & + 0.0063474755391572284_r8, 0.0066721613173677833_r8, & + 0.0071050933886329139_r8, 0.0077183828473691655_r8, & + 0.0086014516987292979_r8, 0.0097490429483486265_r8, & + 0.010986366369581167_r8, 0.011682107954072965_r8, 0.011834671164772836_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,30,75) / & + 0.00018378048290686419_r8, 0.0001841139219444938_r8, & + 0.00017883447051535801_r8, 0.0001803627327711605_r8, & + 0.00017147102510103702_r8, 0.00017391624471032097_r8, & + 0.00022112565512138265_r8, 0.00020864947779674074_r8, & + 0.00021331762432355553_r8, 0.00022771107611456787_r8, & + 0.00024227124742439503_r8, 0.00026124948598281477_r8, & + 0.0002923426762417777_r8, 0.00033543967185540739_r8, & + 0.00037623038079209878_r8, 0.0004411676333704691_r8, & + 0.0006465938671367901_r8, 0.0010394128400509628_r8, & + 0.0016955375063466664_r8, 0.0025091009715764935_r8, & + 0.0030319333825797527_r8, 0.0032227716584497775_r8, & + 0.0031558893448185672_r8, 0.0030617761764476048_r8, & + 0.0029936990395982221_r8, 0.0029644675506326911_r8, & + 0.0030092039548479991_r8, 0.0033640942372318021_r8, & + 0.0038310130896125425_r8, 0.0044089428282607897_r8, & + 0.0048865178365524444_r8, 0.0052670898714803445_r8, & + 0.0055290305488015787_r8, 0.0057204419230175302_r8, & + 0.005985449544820296_r8, 0.0064248249433635062_r8, & + 0.0068702369778171355_r8, 0.0073719307431639987_r8, & + 0.0079610078648768099_r8, 0.00880835604821637_r8, 0.010053603783330369_r8, & + 0.011659446188554665_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,75) / & + 0.00034226465804341723_r8, 0.00033030730714764115_r8, & + 0.00029051719045320161_r8, 0.00028915312372479994_r8, & + 0.00028244888086818756_r8, 0.00028636694487529869_r8, & + 0.00030322913145405101_r8, 0.00030021077103375803_r8, & + 0.00030366447189928553_r8, 0.00032763721908353574_r8, & + 0.00034624076744322631_r8, 0.00036179693268627484_r8, & + 0.00040300916150181395_r8, 0.00044291536898164927_r8, & + 0.00047425988103853817_r8, 0.00056373685388241639_r8, & + 0.00080941397847645756_r8, 0.0012078375539551337_r8, & + 0.0018736182082005328_r8, 0.0026763569665167273_r8, & + 0.0032346665761818862_r8, 0.0033284098853890629_r8, & + 0.0031921773487269922_r8, 0.0030665671189286448_r8, & + 0.0029943006050197063_r8, 0.0029591541197411023_r8, & + 0.0029719531288309982_r8, 0.0031509651199114531_r8, & + 0.0034384204158998382_r8, 0.0038533071158824688_r8, & + 0.0042346254397004702_r8, 0.0046982744156488492_r8, & + 0.0050816424673964982_r8, 0.0054289093944606352_r8, & + 0.0059025338857541043_r8, 0.0064631124483588301_r8, & + 0.0069389784246828229_r8, 0.0073581739585484064_r8, & + 0.0077543441289605591_r8, 0.0080422907377371376_r8, & + 0.008108981991677441_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,75) / & + 0.00062596392445532175_r8, 0.00060520638338236042_r8, & + 0.00059228587312266012_r8, 0.00054744232229156874_r8, & + 0.00054438618286245912_r8, 0.00055391770682453316_r8, & + 0.00047115987178874733_r8, 0.00055319149547504193_r8, & + 0.00060959391028553745_r8, 0.00068191245717238514_r8, & + 0.00074929881864393727_r8, 0.00080803116153405085_r8, & + 0.00094337880179550275_r8, 0.0011569151973521907_r8, & + 0.001364490608081804_r8, 0.0015756365579464161_r8, & + 0.0019673065457720884_r8, 0.002391686303131101_r8, & + 0.0028295312292619321_r8, 0.0031950273496996868_r8, & + 0.003331887930272579_r8, 0.0032633819929705613_r8, 0.003143889967173004_r8, & + 0.0030480300690401444_r8, 0.0030164398753372706_r8, & + 0.0030170753102680753_r8, 0.0030527201840056099_r8, & + 0.0032156033379352757_r8, 0.0034638465842364049_r8, & + 0.0038155446890338236_r8, 0.0041906328510461091_r8, & + 0.0045983702649792782_r8, 0.0049707351344309729_r8, & + 0.0053856741442465956_r8, 0.0058544435703432691_r8, & + 0.006393833267827196_r8, 0.0069448801704107719_r8, & + 0.0074225964771063102_r8, 0.0079081119911073236_r8, & + 0.0082512477182793125_r8, 0.0084802513349085135_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,75) / & + 0.00094504485606100694_r8, 0.0009207848049430404_r8, & + 0.000961481860647568_r8, 0.00092631778681226949_r8, & + 0.0010421409032110164_r8, 0.0011258572022738677_r8, & + 0.0012263349832078952_r8, 0.0013798497529415028_r8, & + 0.001489186378885832_r8, 0.0015956591046192962_r8, & + 0.0017372349390290204_r8, 0.0019152483667032646_r8, & + 0.0023351433125010962_r8, 0.0027623372051071046_r8, & + 0.0030743730864534755_r8, 0.0032557176639154244_r8, & + 0.0033774140197592169_r8, 0.0033433900618870509_r8, & + 0.0032859527833797209_r8, 0.0032099681487760112_r8, & + 0.0031527009428156672_r8, 0.0030963171692521716_r8, & + 0.0030741463230574925_r8, 0.0030770989714426779_r8, & + 0.003106403416135964_r8, 0.0031560315301941565_r8, & + 0.0032311374566384348_r8, 0.0034486271745724673_r8, & + 0.0036749748376620553_r8, 0.0040623056149493566_r8, & + 0.0043938053544508669_r8, 0.004694994386689421_r8, & + 0.0050158693162416822_r8, 0.0054898378835064399_r8, & + 0.0060555983837698351_r8, 0.0066741664098725903_r8, & + 0.0073209056542183982_r8, 0.0078373074063177121_r8, & + 0.0082729968275803405_r8, 0.0086178310646348785_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,75) / & + 0.0011951321841724087_r8, 0.0011828386047619006_r8, & + 0.0010775370672559427_r8, 0.0011004231573640462_r8, & + 0.0012357284029637669_r8, 0.001342708076448852_r8, & + 0.0016859150177125702_r8, 0.0018242997375963732_r8, & + 0.0019539440584341334_r8, 0.0020378991400945776_r8, & + 0.0022332051721678224_r8, 0.0024762330401322664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,75) / & + 0.00126688538989839_r8, 0.00123546569206046_r8, 0.001187143247056975_r8, & + 0.0012211697269256614_r8, 0.0012950190334192237_r8, & + 0.0013534964926877407_r8, 0.0014859176987479649_r8, & + 0.0014888040781467944_r8, 0.0014784941453991444_r8, & + 0.0014678645178666878_r8, 0.0015034731932507196_r8, & + 0.0014291355323597858_r8, 0.001495379559177378_r8, & + 0.0014520135136557046_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,75) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,75) / & + 0.00054967709332428931_r8, 0.00060343807172941199_r8, & + 0.000684894867581318_r8, 0.0010388745765848991_r8, & + 0.0010971824909307936_r8, 0.001251002381156531_r8, & + 0.0014579086863477839_r8, 0.0016081234228963557_r8, & + 0.0016109930221520589_r8, 0.0016393118673783467_r8, & + 0.0018309683022392888_r8, 0.0021517075104767998_r8, & + 0.0022284487934293331_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,75) / & + 0.00054058907473843762_r8, 0.0005945511389695323_r8, & + 0.00064478921934046549_r8, 0.001035604358146173_r8, & + 0.0011318274970531421_r8, 0.00124124458398095_r8, 0.0015851817557180859_r8, & + 0.0015736891240753935_r8, 0.0015217987054314745_r8, & + 0.0014895852405356518_r8, 0.0014314406946174347_r8, & + 0.0014448232890762799_r8, 0.0015183683542969876_r8, & + 0.001197339480251413_r8, 0.0011274722132404386_r8, & + 0.0010411426515758223_r8, 0.0014999167950645331_r8, & + 0.0020971369716548264_r8, 0.0028197825404671999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,75) / & + 0.0005548176254667308_r8, 0.00053112716147150213_r8, & + 0.00054411223211818657_r8, 0.00075881074047710819_r8, & + 0.00098797851814392862_r8, 0.0011522242778552174_r8, & + 0.001711727983617991_r8, 0.00164393429139885_r8, 0.0014601471385278812_r8, & + 0.0014574038724630518_r8, 0.0015085570294676618_r8, & + 0.001580728273917914_r8, 0.002148502635029333_r8, 0.0024063623492029331_r8, & + 0.0026997740411391995_r8, 0.0027547060679935995_r8, & + 0.0034714339396889594_r8, 0.0032085706833151996_r8, & + 0.0034733250422527995_r8, 0.003964223749449599_r8, & + 0.0029635153094175999_r8, 0.006183905383756798_r8, & + 0.0033866495080767996_r8, 0.0033882254268799996_r8, & + 0.0033882254268799996_r8, 0.0033882254268799996_r8, & + 0.0033882254268799996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,75) / & + 0.00093523166480754475_r8, 0.00094327990228098755_r8, & + 0.00099434273948057579_r8, 0.0015405018129381889_r8, & + 0.0019841487905259258_r8, 0.0021938853168239508_r8, & + 0.002843276993717401_r8, 0.0028447696273018099_r8, & + 0.0028200537085590117_r8, 0.002825996999824503_r8, & + 0.0029089409705104143_r8, 0.0026472345560949362_r8, & + 0.0025774009554177142_r8, 0.0027144658698438746_r8, & + 0.0030146572818184067_r8, 0.0033670221880285349_r8, & + 0.0037914943443633376_r8, 0.0036503822564930349_r8, & + 0.0039344530823713572_r8, 0.004037356618172591_r8, & + 0.0023597002754393412_r8, 0.0053492520944319489_r8, & + 0.0035987709096921682_r8, 0.0035125909397126106_r8, & + 0.0035022861577074472_r8, 0.0035015477199880208_r8, & + 0.0035015790122859694_r8, 0.0035017866471419258_r8, & + 0.0035023635590413181_r8, 0.0035023636196799992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,75) / & + 0.00077851195431147995_r8, 0.00077784981358912256_r8, & + 0.00080288700965325417_r8, 0.0014499640305768292_r8, & + 0.0016626353538389332_r8, 0.0017583974558098435_r8, & + 0.0021560543433804908_r8, 0.0020644306209243127_r8, & + 0.0020331030879977875_r8, 0.0019606400626948212_r8, & + 0.0020929854395759667_r8, 0.0025216543086351408_r8, & + 0.0033928423161936872_r8, 0.0036782656123284466_r8, & + 0.0044665212334080951_r8, 0.0054515272405595986_r8, & + 0.0054408759384842889_r8, 0.005768933559376163_r8, & + 0.0058542876368675211_r8, 0.0052875764681273672_r8, & + 0.0030134822390525517_r8, 0.0054848981865091816_r8, & + 0.0040774298873079273_r8, 0.0040166638586931003_r8, & + 0.003945801382635286_r8, 0.0039436783790471218_r8, & + 0.0039435774542222572_r8, 0.0038805341829503651_r8, & + 0.0037994357866043007_r8, 0.0036101981372671996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,75) / & + 0.00099736970749309635_r8, 0.00099161602031442968_r8, & + 0.00096348688299650355_r8, 0.0018072970726767405_r8, & + 0.0018734644752314072_r8, 0.0019261426778449775_r8, & + 0.0022445133683978661_r8, 0.0021338507849948439_r8, & + 0.0021501528986677329_r8, 0.0020045846130474668_r8, & + 0.0023310104656504883_r8, 0.0031341156017508569_r8, & + 0.0045667837092388565_r8, 0.0048372398848486398_r8, & + 0.0058135255253247992_r8, 0.007072432280017066_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,75) / & + 0.003954711758636863_r8, 0.0038764879776480004_r8, & + 0.0032241472983123992_r8, 0.0037060415757119605_r8, & + 0.0032345148602364129_r8, 0.0034233413180199744_r8, & + 0.0039063144533862471_r8, 0.0039191818081599607_r8, & + 0.0041285591945289402_r8, 0.0044730174924129569_r8, & + 0.0041490640742987053_r8, 0.0036570324790533935_r8, & + 0.0026699761155453629_r8, 0.0025892591201090373_r8, & + 0.0024982798171844741_r8, 0.0024017746563816294_r8, & + 0.0022816154406814474_r8, 0.0025123904899808001_r8, & + 0.0025843253184320001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,75) / & + 0.0035845082756795787_r8, 0.003623107134497107_r8, & + 0.0034308794065308445_r8, 0.0029191288823250967_r8, & + 0.0030126950412577716_r8, 0.0033910179682192861_r8, & + 0.0041188499544035301_r8, 0.0040165810153869963_r8, & + 0.0040695642620115231_r8, 0.0038209713780617219_r8, & + 0.0035695376902503502_r8, 0.00328081281524027_r8, 0.0028437348496815145_r8, & + 0.0027689721067849483_r8, 0.0026813581083241353_r8, & + 0.0025495538275722273_r8, 0.0023994815997660543_r8, & + 0.0025839591187845801_r8, 0.0026601422636119308_r8, & + 0.0027399045958442373_r8, 0.0029039972535930586_r8, & + 0.0029720702576908928_r8, 0.0031567350700705851_r8, & + 0.0032148024537648283_r8, 0.0034038917698459262_r8, & + 0.0034826226197237336_r8, 0.0036599699465103401_r8, & + 0.0040067509321834675_r8, 0.0040505804774762675_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,75) / & + 0.0030762874383359999_r8, 0.0035330838321493336_r8, & + 0.0035058428301653322_r8, 0.0028453411885226662_r8, & + 0.0033774672919039991_r8, 0.0038999571224746657_r8, & + 0.004122981244159999_r8, 0.0036651656291839989_r8, & + 0.0030707280501760001_r8, 0.0027978084197546665_r8, & + 0.0027439750110719997_r8, 0.0026317680267093327_r8, & + 0.0025060795260586658_r8, 0.0025384629620906663_r8, & + 0.0025591716829866671_r8, 0.0025608394994346656_r8, & + 0.0025194220576426661_r8, 0.0025796024344746666_r8, & + 0.0026605841886720005_r8, 0.0027675097542826659_r8, & + 0.0029004717877759998_r8, 0.0030157364356266664_r8, & + 0.0031663958547626671_r8, 0.003297736400042666_r8, & + 0.0034849487963306662_r8, 0.0036225031160853332_r8, & + 0.0038341015368959998_r8, 0.0041905675202194284_r8, & + 0.004215286942573713_r8, 0.0041626911595885711_r8, 0.004187609131519999_r8, & + 0.00420289744896_r8, 0.0042284706344959989_r8, 0.0042224942922239987_r8, & + 0.0042422301201920001_r8, 0.0042591862540799991_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,76) / & + 0.0056250068484563764_r8, 0.0057152585517601931_r8, & + 0.0055971508141463393_r8, 0.0054667909185391623_r8, & + 0.0053946600008888878_r8, 0.0054272927839999997_r8, & + 0.0054155942391111104_r8, 0.0055522325777777777_r8, & + 0.005677771443555555_r8, 0.0056976573057777782_r8, & + 0.0059210612391111112_r8, 0.0058388053253333331_r8, & + 0.0059538937128888877_r8, 0.006121821082888888_r8, & + 0.0060142391229629621_r8, 0.0057784099925925923_r8, & + 0.0061524694399999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,76) / & + 0.0056250068484563764_r8, 0.0057152585517601931_r8, & + 0.0055971508141463393_r8, 0.0054667909185391623_r8, & + 0.0053946600008888878_r8, 0.0054272927839999997_r8, & + 0.0054155942391111104_r8, 0.0055522325777777777_r8, & + 0.005677771443555555_r8, 0.0056976573057777782_r8, & + 0.0059210612391111112_r8, 0.0058388053253333331_r8, & + 0.0059538937128888877_r8, 0.006121821082888888_r8, & + 0.0060142391229629621_r8, 0.0057784099925925923_r8, & + 0.0061524694399999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,76) / & + 0.0056250068484563764_r8, 0.0057152585517601931_r8, & + 0.0055971508141463393_r8, 0.0054667909185391623_r8, & + 0.0053946600008888878_r8, 0.0054272927839999997_r8, & + 0.0054155942391111104_r8, 0.0055522325777777777_r8, & + 0.005677771443555555_r8, 0.0056976573057777782_r8, & + 0.0059210612391111112_r8, 0.0058388053253333331_r8, & + 0.0059538937128888877_r8, 0.006121821082888888_r8, & + 0.0060142391229629621_r8, 0.0057784099925925923_r8, & + 0.0061524694399999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,76) / & + 0.0053782075025996584_r8, 0.0053823122251607609_r8, & + 0.0053920258535430634_r8, 0.0054818148055830549_r8, & + 0.0054984974908753332_r8, 0.0055632552794653827_r8, & + 0.0055328706329527749_r8, 0.0055918107198568356_r8, & + 0.0057752053865741783_r8, 0.0058794761200246905_r8, & + 0.0060908761943827159_r8, 0.0059908949604567906_r8, & + 0.0059144338070052909_r8, 0.0059335806024479708_r8, & + 0.0058727608940229272_r8, 0.0057839130420987645_r8, & + 0.0057422477561904755_r8, 0.0056309023799999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,5,76) / & + 0.0053052583516220841_r8, 0.0053171718263679228_r8, & + 0.0053042680876188384_r8, 0.0052564321722362714_r8, & + 0.0058143690162684204_r8, 0.0058677032608556948_r8, & + 0.0058704356865330208_r8, 0.0060539929188691798_r8, & + 0.0062850304504754135_r8, 0.0064296481457638893_r8, & + 0.0065995368005277773_r8, 0.0066416634707638878_r8, & + 0.0067910854665674605_r8, 0.0068265480179761917_r8, & + 0.0068478921866666643_r8, 0.0060652935964807262_r8, & + 0.0056571585824999986_r8, 0.0056926816799999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,76) / & + 0.0051234235293226059_r8, 0.0051294275776287458_r8, & + 0.0051405013936543197_r8, 0.005446583206162257_r8, & + 0.0057501108733492056_r8, 0.0058242371185873018_r8, & + 0.0058510715754673728_r8, 0.0061103558406208113_r8, & + 0.0063016294862557306_r8, 0.0064004957806261019_r8, & + 0.0065490879235308641_r8, 0.0066449126332098771_r8, & + 0.006873094218571428_r8, 0.0070626427834880956_r8, & + 0.0071390629561564629_r8, 0.0070198208950302717_r8, & + 0.0068130232841111093_r8, 0.0056926816799999997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,76) / & + 0.0031926006576108818_r8, 0.0032050033379805993_r8, & + 0.0030263353307671955_r8, 0.003019126425061728_r8, & + 0.0031383699501234567_r8, 0.0032818832541181659_r8, & + 0.003580959318439153_r8, 0.0041358634607583777_r8, & + 0.0045062964160405648_r8, 0.0047951703608024691_r8, & + 0.0049923369942328055_r8, 0.0051104749237301577_r8, & + 0.0054330863887089957_r8, 0.0056624568731322746_r8, & + 0.0056800627354708991_r8, 0.0058638352032804233_r8, & + 0.0061353376448888882_r8, 0.0062516810328148136_r8, & + 0.0064001205351851848_r8, 0.0065386878302222213_r8, & + 0.0067130080750370386_r8, 0.0068068266331111123_r8, 0.00701957207711111_r8, & + 0.0071877823422222212_r8, 0.0072933105391111098_r8, & + 0.0074999321359999994_r8, 0.0076859939146666665_r8, & + 0.0080861102205925933_r8, 0.0084984908616296297_r8, & + 0.0087945946782962952_r8, 0.009086880797703702_r8, & + 0.0093073254262962951_r8, 0.0094443770137037034_r8, & + 0.009442192897037037_r8, 0.0094653792022222211_r8, & + 0.0093906338762962966_r8, 0.0094032254822222217_r8, & + 0.0093194635679999995_r8, 0.0091416889519999999_r8, & + 0.0091062688199999992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,76) / & + 0.0011078024632098765_r8, 0.0011013032716049383_r8, & + 0.0010676794311111112_r8, 0.00093587434617283948_r8, & + 0.00099400651802469125_r8, 0.0010630569619753086_r8, & + 0.0013407656627160494_r8, 0.0017546800390123454_r8, & + 0.0020820155683950619_r8, 0.002425418800493827_r8, & + 0.0026806345664197521_r8, 0.0028156383999999998_r8, & + 0.0029643524770370366_r8, 0.00322744493037037_r8, 0.0033991326790123455_r8, & + 0.0036052948024691356_r8, 0.0040318285195061719_r8, & + 0.0043456941738271599_r8, 0.0047002098217283949_r8, & + 0.0050047103535802457_r8, 0.005305263296790123_r8, & + 0.0055188491056790126_r8, 0.0058156486039506175_r8, & + 0.0060778535432098775_r8, 0.0062931681555555546_r8, & + 0.0064991361353086419_r8, 0.0067260531451851851_r8, & + 0.0072044971906172831_r8, 0.0077157607669135807_r8, & + 0.0080884981881481476_r8, 0.0084151056786419751_r8, & + 0.0086596631863580242_r8, 0.008917023777962961_r8, & + 0.0090549663462962966_r8, 0.0091218235937301599_r8, & + 0.009149788706560847_r8, 0.0091696595127407406_r8, & + 0.0092958501466666663_r8, 0.0092234622799999989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,76) / & + 0.00034516976245857879_r8, 0.00034726299382716042_r8, & + 0.00038964294648148145_r8, 0.0003906390885802469_r8, & + 0.00040944675987654314_r8, 0.00043440924882716045_r8, & + 0.0005370660339241623_r8, 0.00063074334254850097_r8, & + 0.00072989101321869478_r8, 0.00085919798376543188_r8, & + 0.00099059672064903009_r8, 0.0010281364528536155_r8, & + 0.0010617733022962963_r8, 0.0012021633689841269_r8, & + 0.0013283076461481481_r8, 0.0014707342406666665_r8, & + 0.0018707604084444442_r8, 0.0023046715862222226_r8, & + 0.0027934533216296296_r8, 0.0032724959768148151_r8, & + 0.003789366145925926_r8, 0.0041433663885185185_r8, & + 0.0046192056725925931_r8, 0.0050801860296296308_r8, & + 0.0054066178662962958_r8, 0.0056525771377777768_r8, & + 0.0058941681759259248_r8, 0.0063560221796296291_r8, & + 0.0069412614407407406_r8, 0.0074386853444444448_r8, & + 0.0078251561214814826_r8, 0.0080974565333333318_r8, & + 0.0084224392259259259_r8, 0.0086842420103703695_r8, & + 0.0088465322792592605_r8, 0.0089462666733333314_r8, & + 0.0090330073066666669_r8, 0.0091504503799999994_r8, & + 0.0093592519333333332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,76) / & + 0.00027865655879896685_r8, 0.00027011976203703708_r8, & + 0.00028373458452380951_r8, 0.00029457939238095238_r8, & + 0.00031041976866843027_r8, 0.00033983633680776017_r8, & + 0.00039357633753968254_r8, 0.00043842898100529098_r8, & + 0.00047092279288359784_r8, 0.000517626339026455_r8, & + 0.000603035305037037_r8, 0.00068919333391666662_r8, & + 0.00079559049722222226_r8, 0.00091610173444444439_r8, & + 0.0010471591349999999_r8, 0.0012895024799999999_r8, & + 0.0017435491333333334_r8, 0.0023584091766666662_r8, & + 0.002982192896666667_r8, 0.0036465699849999996_r8, & + 0.0043216804466666668_r8, 0.0048068039599999998_r8, & + 0.0051815983800000001_r8, 0.0055411663866666667_r8, & + 0.0057124011333333329_r8, 0.0057027910199999995_r8, & + 0.0056870653799999992_r8, 0.00577655176_r8, 0.0059278174399999993_r8, & + 0.0064729729599999992_r8, 0.0071094869599999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,76) / & + 0.00027698952531652758_r8, 0.00026774612413580241_r8, & + 0.00029020600829629626_r8, 0.0002950281680987654_r8, & + 0.00031231620266666663_r8, 0.00036844314740740733_r8, & + 0.00044254595012345677_r8, 0.00052271805481481483_r8, & + 0.00058969069888888885_r8, 0.00065794763469387751_r8, & + 0.00072702345505668931_r8, 0.00080879134929705201_r8, & + 0.00093154507365079378_r8, 0.0010700757191111111_r8, & + 0.0012239262838518517_r8, 0.0014391345794074074_r8, & + 0.0019697820177777782_r8, 0.0025452821986666663_r8, & + 0.0031533985217777772_r8, 0.003845439007777778_r8, & + 0.0044015061963492063_r8, 0.0049210603031111114_r8, & + 0.0052655308633333328_r8, 0.0056004495533333327_r8, & + 0.0057275998118518521_r8, 0.005744958339074074_r8, & + 0.0056709375851851859_r8, 0.0055995967077777774_r8, & + 0.0055649628577777764_r8, 0.0062236009195555551_r8, & + 0.006962807924999999_r8, 0.0074643123133333322_r8, & + 0.0078762991199999993_r8, 0.0082057887199999992_r8, & + 0.0085697249599999987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,76) / & + 0.0002785241092695784_r8, 0.00028040013339506169_r8, & + 0.00029476693255731925_r8, 0.00028221659867724863_r8, & + 0.00029585172701058202_r8, 0.00038712452624338624_r8, & + 0.00043823503540740735_r8, 0.0005471260785925926_r8, & + 0.00064080422916666657_r8, 0.00074277938826666659_r8, & + 0.00085131563383333321_r8, 0.00092313563016666652_r8, & + 0.0010489064283333333_r8, 0.0012206248008333333_r8, & + 0.0014096288966666667_r8, 0.0016292886299999999_r8, & + 0.0021843974816666669_r8, 0.0027319087275000003_r8, & + 0.0033224002691666665_r8, 0.0039558409049999998_r8, & + 0.0045152971888888886_r8, 0.0049878360299999997_r8, & + 0.0053287870422222211_r8, 0.0056224571288888891_r8, & + 0.0057520064488888883_r8, 0.0057722667311111107_r8, & + 0.005673627862222223_r8, 0.0054865010666666665_r8, & + 0.0050964178299999999_r8, 0.0054635366400000007_r8, & + 0.0062775257199999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,76) / & + 0.00026380988778271078_r8, 0.0002804128451851852_r8, 0.000278287665_r8, & + 0.00028463051809523806_r8, 0.00033113288777777776_r8, & + 0.00041323487333333328_r8, 0.00049573208000000004_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,76) / & + 0.00030159960958640219_r8, 0.00030477788000000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,76) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,76) / & + 0.0013923228895790459_r8, 0.0010686267503210666_r8, & + 0.00066081062301119999_r8, 0.00056263775891840007_r8, & + 0.00044714027175040002_r8, 0.00046858980508159996_r8, & + 0.00036134213842559999_r8, 0.00054448815379199995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,76) / & + 0.001140188104742807_r8, 0.0010586384061009118_r8, & + 0.00071121556778409867_r8, 0.00055273428273851526_r8, & + 0.00050803301249355065_r8, 0.00046306035499010372_r8, & + 0.00044076878922968217_r8, 0.00049548090809333996_r8, & + 0.00054449574647490368_r8, 0.00065407956021886404_r8, & + 0.00082969890819717526_r8, 0.0011098782033141727_r8, & + 0.0016111722156811851_r8, 0.0020827135575365928_r8, & + 0.0024124074078068145_r8, 0.002750049578964148_r8, & + 0.0034055620824272595_r8, 0.0039968067341460143_r8, & + 0.0045149121628183546_r8, 0.0048086752795423095_r8, & + 0.004837175464069028_r8, 0.0045774857691738401_r8, & + 0.0041666880918999364_r8, 0.0038018153692368248_r8, & + 0.0034415797871624127_r8, 0.0031661892937861584_r8, & + 0.0029879376690834288_r8, 0.0029639424011591105_r8, & + 0.0031547541884320005_r8, 0.0035851823283199998_r8, & + 0.0041837127672319993_r8, 0.0047334073892124438_r8, & + 0.0050096297701333328_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,76) / & + 0.00052995494084543868_r8, 0.00060200763813019582_r8, & + 0.00050746684717336622_r8, 0.00041793990747201646_r8, & + 0.00040043140183499906_r8, 0.00038722578562964927_r8, & + 0.00033348106912515222_r8, 0.00036436650706964276_r8, & + 0.00039046937049652013_r8, 0.00046576565264814813_r8, & + 0.00059296785847481469_r8, 0.0007700458921663573_r8, & + 0.0011464473554101727_r8, 0.0015805480818491687_r8, & + 0.0019834366460631959_r8, 0.0023874146991076316_r8, & + 0.0031284539199161192_r8, 0.0038655080018728302_r8, & + 0.0045056637385702033_r8, 0.004799575356534227_r8, & + 0.0049272298368704991_r8, 0.0047941966019812233_r8, & + 0.0044475618825350338_r8, 0.0041025706555618789_r8, & + 0.003816038437907275_r8, 0.0036235904945868896_r8, & + 0.0034560529730435067_r8, 0.0033077539234522032_r8, & + 0.0035513582009217394_r8, 0.0038441528990842415_r8, & + 0.0042430278125523517_r8, 0.0044946513967622894_r8, & + 0.0046858484266155617_r8, 0.0049425123752872592_r8, & + 0.0055006612639020933_r8, 0.0057465300220832282_r8, & + 0.0060202753364018927_r8, 0.0064222774784718929_r8, & + 0.007346644344377388_r8, 0.0087048863705207462_r8, 0.010227982455415466_r8, & + 0.011472713858613866_r8, 0.011635995235547734_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,76) / & + 0.0003600421743734518_r8, 0.00038556512661285918_r8, & + 0.00032353953701973328_r8, 0.00032028897234773332_r8, & + 0.00031747181629866662_r8, 0.00032833111012882962_r8, & + 0.00027073291001025181_r8, 0.00023656586356900742_r8, & + 0.0002116839949176889_r8, 0.00023265013705208888_r8, & + 0.00028071635724823699_r8, 0.00038338303458767409_r8, & + 0.00051708830485599155_r8, 0.00072654936070565919_r8, & + 0.001021702352798747_r8, 0.0013765780212067554_r8, & + 0.0021575459622228651_r8, 0.0029995763625589159_r8, & + 0.0038620698414491769_r8, 0.0043990338873802831_r8, & + 0.0047298983741026861_r8, 0.0045930779793570374_r8, & + 0.0041869680801042957_r8, 0.0037711576531313179_r8, & + 0.0033814841739469026_r8, 0.0030848942258837326_r8, & + 0.0029542847314935109_r8, 0.0030877047604121709_r8, & + 0.003513399913770132_r8, 0.0039560485677618369_r8, & + 0.0044595821039293618_r8, 0.0048587062989194074_r8, & + 0.0052312155927228196_r8, 0.0055003683671286272_r8, & + 0.0057601354370222461_r8, 0.0059942627751308313_r8, & + 0.0062628906435377536_r8, 0.0066925725542702824_r8, & + 0.007397015065424237_r8, 0.0087126161051227953_r8, 0.010220784035741611_r8, & + 0.011484324444423533_r8, 0.012002691992667375_r8, 0.012241255061646627_r8, & + 0.0123818884203488_r8 & + / +data delta_sa_ref(:,28,76) / & + 0.00026088986330774651_r8, 0.00026271249771082797_r8, & + 0.00024403049507924272_r8, 0.000261244264441679_r8, & + 0.00023744875973478183_r8, 0.00023066450945664527_r8, & + 0.00020461602611260575_r8, 0.00017768153993373496_r8, & + 0.00017958011743694484_r8, 0.00020084418547289544_r8, & + 0.00022385494481179917_r8, 0.00027648351320077691_r8, & + 0.00031523980863296791_r8, 0.00040768787585593417_r8, & + 0.000538715037944125_r8, 0.00069892966484832921_r8, & + 0.0012034196790012576_r8, 0.0018606565818790979_r8, & + 0.0027746824206577514_r8, 0.0035970196232147228_r8, & + 0.004025110878638485_r8, 0.0040089096839444277_r8, & + 0.0038013318769268144_r8, 0.0035378093194812828_r8, & + 0.0032421628306814419_r8, 0.0030068911064836746_r8, & + 0.0029704890471554638_r8, 0.0033498501466635057_r8, & + 0.0038883626696739563_r8, 0.0045049953283498138_r8, & + 0.0050748217229798715_r8, 0.0054579799774943337_r8, & + 0.0058187603318376295_r8, 0.006040716699146219_r8, & + 0.0062089812946640325_r8, 0.0063470205363307447_r8, & + 0.0065618382522272664_r8, 0.0069439333033399315_r8, & + 0.0075043174391873574_r8, 0.0086227314747782304_r8, & + 0.0099070748555579718_r8, 0.011088945679897795_r8, 0.011521069242713018_r8, & + 0.011523776885457955_r8, 0.011497206293300533_r8 & + / +data delta_sa_ref(:,29,76) / & + 0.00017552520073186499_r8, 0.00018415410562338765_r8, & + 0.0002006419515853432_r8, 0.00019057932095799834_r8, & + 0.00016986994921834402_r8, 0.00017422422737898929_r8, & + 0.00018500372087424522_r8, 0.00020457142212055963_r8, & + 0.00020799643360057941_r8, 0.00021354548320774318_r8, & + 0.00022528079386021401_r8, 0.00026510650874416461_r8, & + 0.00032144662006666004_r8, 0.00035702425869632261_r8, & + 0.00041601941767774813_r8, 0.00049136967023818263_r8, & + 0.00076558299245247741_r8, 0.0012310393975395026_r8, & + 0.0019618943666131756_r8, 0.002806703981208125_r8, & + 0.0033205088041642667_r8, 0.0034781389836749431_r8, & + 0.0033652463572172377_r8, 0.003243406220148938_r8, & + 0.0031446384472367406_r8, 0.0030830678920261536_r8, & + 0.0031270089307814451_r8, 0.0036520977062880398_r8, & + 0.004276963172817224_r8, 0.0049924454159456918_r8, & + 0.0055870698896396641_r8, 0.005983203000352026_r8, & + 0.0063360322837472385_r8, 0.0065752786282934237_r8, & + 0.0067576007510321504_r8, 0.0070063256157207173_r8, & + 0.0073570043105121961_r8, 0.0078413912054073956_r8, & + 0.0085803706203173933_r8, 0.00951104447620214_r8, 0.010557956318594844_r8, & + 0.011404259397497942_r8, 0.01176578396197615_r8, 0.011848526151688439_r8, & + 0.011797325169579194_r8 & + / +data delta_sa_ref(:,30,76) / & + 0.00018064059863585181_r8, 0.00018341925728276542_r8, & + 0.00019564535532918517_r8, 0.00021048339250370372_r8, & + 0.00021401228898528394_r8, 0.00022184810636958024_r8, & + 0.00025847082733590124_r8, 0.00024107642420622224_r8, & + 0.00024249354011614811_r8, 0.00024732840616177777_r8, & + 0.00026222201650923457_r8, 0.00031409957344711112_r8, & + 0.00042013318741333322_r8, 0.00043038643782044439_r8, & + 0.00046467508552335793_r8, 0.00053439163097441969_r8, & + 0.00076657634751051845_r8, 0.0011910164558265677_r8, & + 0.0018827913125621732_r8, 0.0026901305824229135_r8, & + 0.0030962871168422716_r8, 0.0032161862374565919_r8, & + 0.0031881217851227653_r8, 0.0031489149116148145_r8, & + 0.0031102915564227159_r8, 0.0030950089338646907_r8, & + 0.0031461084663814321_r8, 0.0035531263849813335_r8, & + 0.0040554245085839009_r8, 0.0047041579428788146_r8, & + 0.0052192101096707154_r8, 0.0056357588274295288_r8, & + 0.0059376045162437526_r8, 0.0061809316539539741_r8, & + 0.0064287880052586672_r8, 0.0069168593965890377_r8, & + 0.0074702570527083447_r8, 0.0080208760501807412_r8, & + 0.0086756669603259232_r8, 0.0095061976099184674_r8, & + 0.010710928730923731_r8, 0.011649625118804959_r8, 0.012188720224966131_r8, & + 0.012354424317711667_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,76) / & + 0.00029077839472034235_r8, 0.00027173950591541726_r8, & + 0.00028146210919232262_r8, 0.0003023584505635818_r8, & + 0.00031782754771758355_r8, 0.00031115232755732006_r8, & + 0.00032012034072915221_r8, 0.00031832093355551602_r8, & + 0.00032743406020909296_r8, 0.00034293218005944354_r8, & + 0.00035416396354649536_r8, 0.00038664036076099421_r8, & + 0.00046796195593081142_r8, 0.00049428554151932831_r8, & + 0.00051100261461633567_r8, 0.0006039913337184395_r8, & + 0.00088112906115476531_r8, 0.001321809682517544_r8, & + 0.0020252037512312098_r8, 0.0028441952195028277_r8, & + 0.0033189484863792979_r8, 0.0033547334709775798_r8, & + 0.0032231735884276935_r8, 0.0031337256382801639_r8, & + 0.0030842419410051685_r8, 0.0030580054235056979_r8, & + 0.0030770152896142755_r8, 0.0033471585472304977_r8, & + 0.0036824287354538143_r8, 0.004119046179327737_r8, & + 0.0044790437048403738_r8, 0.005000784717105829_r8, & + 0.0053748292276513702_r8, 0.0057075744412923256_r8, & + 0.0061329310789828466_r8, 0.0066590545183969974_r8, & + 0.007219105489843094_r8, 0.0077045282254648547_r8, & + 0.0081516025468333104_r8, 0.0086268368649017654_r8, & + 0.010007284003122773_r8, 0.011267568471650131_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,76) / & + 0.00048214381844980406_r8, 0.00044801188502371019_r8, & + 0.0005075309568757727_r8, 0.00047663671571616126_r8, & + 0.00049406578810395386_r8, 0.00047745370348433906_r8, & + 0.00042192879405447887_r8, 0.00046864839087175635_r8, & + 0.00050438404102797678_r8, 0.0005486224157344921_r8, & + 0.00059516045971439672_r8, 0.00062517719549337277_r8, & + 0.00071764810732860584_r8, 0.00084152766002933979_r8, & + 0.00098050635703824827_r8, 0.0011509239537188869_r8, & + 0.0015507638192263373_r8, 0.0020483396288528324_r8, & + 0.0025971435974246975_r8, 0.0031427098737300801_r8, & + 0.0034186096689243382_r8, 0.0033757329404981193_r8, & + 0.0032408694411363288_r8, 0.0031219825914633476_r8, & + 0.0030673654462203522_r8, 0.0030583483219641674_r8, & + 0.0030823738141098397_r8, 0.0032474961197004378_r8, & + 0.0034908071805862715_r8, 0.0037800813681336627_r8, & + 0.0041444881715471801_r8, 0.0045930144562767788_r8, & + 0.0049833303625237127_r8, 0.0054197644718141256_r8, & + 0.005950726551427506_r8, 0.006459977937571716_r8, 0.0070551664947490385_r8, & + 0.0076930939947170767_r8, 0.008141067515897174_r8, 0.008408520781466991_r8, & + 0.0090763483046756924_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,76) / & + 0.00058949034480545168_r8, 0.00057493969356325935_r8, & + 0.00068989613735980231_r8, 0.00070551761574968888_r8, & + 0.00087130685414557997_r8, 0.00091568712780717044_r8, & + 0.00098331852328596551_r8, 0.0011946724691528183_r8, & + 0.0012546528496540782_r8, 0.0013796482979602511_r8, & + 0.0014767668086457619_r8, 0.0016579632475201577_r8, & + 0.0020814112697824169_r8, 0.0024725449457079925_r8, & + 0.0028030402223493244_r8, 0.0030306393584268584_r8, & + 0.0032178822587848968_r8, 0.003239369665300018_r8, & + 0.0032151945051405537_r8, 0.0031779658270724904_r8, & + 0.0031471261177007516_r8, 0.0030986981849099849_r8, & + 0.0030702644621652588_r8, 0.0030667212841030372_r8, & + 0.0030908981314901494_r8, 0.0031409548013711062_r8, & + 0.003218874911051535_r8, 0.0034197196783039932_r8, & + 0.0036121198711748224_r8, 0.0039732270814553218_r8, & + 0.0043487688617157849_r8, 0.0046713566647769824_r8, & + 0.0049919366669362543_r8, 0.0055275032160899823_r8, & + 0.0061151541453128453_r8, 0.00676534284222499_r8, 0.0074165958423379232_r8, & + 0.0079379660580556777_r8, 0.0084231405164718904_r8, & + 0.0086111746141153168_r8, 0.0096985084723053699_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,76) / & + 0.00047807504039264507_r8, 0.00047854747236017497_r8, & + 0.00048966433154411845_r8, 0.00066417096556689939_r8, & + 0.00097901830282395353_r8, 0.0012844012301233962_r8, & + 0.0018969443794334567_r8, 0.0019936351033060175_r8, & + 0.0019391169036613535_r8, 0.0020698708062801222_r8, & + 0.0022702503519504932_r8, 0.0017801633518091681_r8, & + 0.0020771518230112591_r8, 0.0023933089857904591_r8, & + 0.0027509281757405629_r8, 0.0027698548915183999_r8, & + 0.0034823684135050666_r8, 0.0033206444140959999_r8, & + 0.0031761532998698665_r8, 0.0031151753984533332_r8, & + 0.0031072217591381333_r8, 0.0030939656936127997_r8, & + 0.0030966169067178665_r8, 0.0031337338901887999_r8, & + 0.0031681996605546665_r8, 0.0032344799881813329_r8, & + 0.0033378772992789332_r8, 0.0035420207083690664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,76) / & + 0.0004294831989863584_r8, 0.0004239251408476839_r8, & + 0.00041552846486103695_r8, 0.00065517000512557027_r8, & + 0.0009283625838440294_r8, 0.0013046029610029825_r8, & + 0.002168859369322746_r8, 0.0021776789361509529_r8, & + 0.0020719613208312099_r8, 0.002125255757008592_r8, & + 0.0022525051397552591_r8, 0.001688633700773333_r8, & + 0.0019421389275425182_r8, 0.0022836105444266667_r8, & + 0.0026075805945546663_r8, 0.002615146774069333_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,76) / & + 0.000269700866488_r8, 0.00027962158118039995_r8, 0.00039278901524639984_r8, & + 0.00050344161744426648_r8, 0.00057580540940415997_r8, & + 0.00061068830561599992_r8, 0.00063445049649600007_r8, & + 0.00062218920600191983_r8, 0.00060593586743999987_r8, & + 0.00064728207957119989_r8, 0.00070145987477759984_r8, & + 0.00083048857125599986_r8, 0.0010243880488367998_r8, & + 0.0012599901714119999_r8, 0.0016171359003384_r8, 0.0018453717437407998_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,76) / & + 0.00041094201776124156_r8, 0.00043417492230742391_r8, & + 0.00050448309730494829_r8, 0.00063227383524339358_r8, & + 0.00067555494017164255_r8, 0.00075793547368871797_r8, & + 0.00088230793978814675_r8, 0.00091744302676576017_r8, & + 0.00095065177323621112_r8, 0.0010206942012187629_r8, & + 0.0010785040676575567_r8, 0.0012856675793898073_r8, & + 0.001623779387535331_r8, 0.0018246961781518221_r8, & + 0.0020239658355278964_r8, 0.0021911604008152175_r8, & + 0.0025399443782684709_r8, 0.0026851730397021325_r8, & + 0.0027434364459779383_r8, 0.0027714103536610399_r8, & + 0.0028247181377119963_r8, 0.0028816369317651302_r8, & + 0.0029827153445685364_r8, 0.0030621716197964661_r8, & + 0.0030695201364210724_r8, 0.0030765266436649993_r8, & + 0.0031391035846913789_r8, 0.003250474020196742_r8, & + 0.0033931576399068449_r8, 0.0035428892296419556_r8, & + 0.0037113920979368773_r8, 0.0035832275963221332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,76) / & + 0.00048748284820566908_r8, 0.0005086564598210633_r8, & + 0.00049724079377219416_r8, 0.00065378235295718182_r8, & + 0.00073361666436825017_r8, 0.0008319496293436576_r8, & + 0.0011011408303970237_r8, 0.0011552804743317595_r8, & + 0.0012181231507988016_r8, 0.0013018757106226832_r8, & + 0.0013855529195155487_r8, 0.0014178078274234302_r8, & + 0.0014837210543293595_r8, 0.0016263863359021156_r8, & + 0.0017739313975895378_r8, 0.00195199721932961_r8, 0.0023913512750118483_r8, & + 0.0026641088625412308_r8, 0.0028691081825744976_r8, & + 0.0028889149052346574_r8, 0.0029191223630361273_r8, & + 0.0030456274456776506_r8, 0.0030891506816532184_r8, & + 0.0031734845200877921_r8, 0.0031675203593426703_r8, & + 0.0031855424182683357_r8, 0.003351582231418313_r8, & + 0.0033640978865047762_r8, 0.0035321133203328426_r8, & + 0.0036990445484522574_r8, 0.0038484640318263105_r8, & + 0.0035847451921379556_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,76) / & + 0.00079535213604115548_r8, 0.00076762810345995058_r8, & + 0.0007699676619301333_r8, 0.001177284305194252_r8, & + 0.0014862227579845329_r8, 0.0016329680366652247_r8, & + 0.0018868612021227457_r8, 0.0019685115842772538_r8, & + 0.0020944405598246709_r8, 0.0023095215133816889_r8, & + 0.0025433811932207874_r8, 0.0026033439308931631_r8, & + 0.0027691967386679617_r8, 0.0032614077387447108_r8, & + 0.003653899071786133_r8, 0.0040070362102698669_r8, & + 0.0046042844220984883_r8, 0.004028999848997428_r8, & + 0.0039409935389431699_r8, 0.0044003155027128888_r8, & + 0.0027981313861262219_r8, 0.0058298489593045311_r8, & + 0.0033866495080767996_r8, 0.0033870188975633057_r8, & + 0.0033870405771465732_r8, 0.0033879102086177009_r8, & + 0.0033882254026913442_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,76) / & + 0.0011085578856059256_r8, 0.0010856737050034565_r8, & + 0.0010769616573004113_r8, 0.0018186499949320162_r8, & + 0.002195034544314732_r8, 0.0023262371797688882_r8, & + 0.0026917015587588473_r8, 0.0027159909083456788_r8, & + 0.0027371085907963778_r8, 0.0028584750433599993_r8, & + 0.003045924585873909_r8, 0.0028816804054446091_r8, & + 0.0028174441090166257_r8, 0.0028767221663140736_r8, & + 0.0031182606778046079_r8, 0.0034238196919148148_r8, & + 0.0040372237006574387_r8, 0.0037901881107462424_r8, & + 0.0039707559098515338_r8, 0.0042265317942300519_r8, & + 0.0024922937414188356_r8, 0.0057873339974545664_r8, & + 0.0034981330573449375_r8, 0.0034974138779430499_r8, & + 0.0034974689942618943_r8, 0.003497271655997117_r8, 0.00349701464347103_r8, & + 0.0034981160330514573_r8, 0.0035023630590633333_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,76) / & + 0.0008440409769382433_r8, 0.00083833740317133159_r8, & + 0.00085258229665811458_r8, 0.0014474499650216298_r8, & + 0.0016128942490608743_r8, 0.0016925454917816624_r8, & + 0.0020849503323503086_r8, 0.0019838223779407422_r8, & + 0.0019673989232379895_r8, 0.0019161855899475647_r8, & + 0.0020154320596706111_r8, 0.0024175316454495915_r8, & + 0.0032068923616589426_r8, 0.0034749356462259726_r8, & + 0.0040936369812111743_r8, 0.0051716523289599492_r8, & + 0.0054859464385821656_r8, 0.0057563441654945417_r8, & + 0.0056072600780711808_r8, 0.0052904319499925325_r8, & + 0.0026179802648149332_r8, 0.0054940712599637334_r8, & + 0.0036068460498602664_r8, 0.0036107646120834454_r8, & + 0.0036096339460585914_r8, 0.0036093628232022525_r8, & + 0.0036096504598282955_r8, 0.0036101595022761334_r8, & + 0.0036101969815401139_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,76) / & + 0.0007629389198912_r8, 0.0007629389198912_r8, 0.00085442254603199997_r8, & + 0.0015301931051663999_r8, 0.0016251289436143997_r8, 0.0017053928797568_r8, & + 0.0019660349089503999_r8, 0.0019159778304959998_r8, & + 0.0019496369004911997_r8, 0.0019910634481775996_r8, & + 0.0019574043781823993_r8, 0.0028135530303679997_r8, 0.0042824693670816_r8, & + 0.0046294167039551996_r8, 0.0056340104853503997_r8, & + 0.0069354945251647992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,76) / & + 0.0039613230528840922_r8, 0.0038900000158408462_r8, & + 0.0032725972307809026_r8, 0.0037707598969102143_r8, & + 0.0033780358618203032_r8, 0.0034795142947135998_r8, & + 0.0039744074949315958_r8, 0.0040120754261352134_r8, & + 0.0042418524378381823_r8, 0.0045205661837751229_r8, & + 0.0041938958855373826_r8, 0.0036497304525713774_r8, & + 0.0026464912195626662_r8, 0.0025308429082529188_r8, & + 0.0025176203197584592_r8, 0.0024128263721381925_r8, & + 0.0022920469070843259_r8, 0.0025203832486976_r8, 0.0025878776556394665_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,76) / & + 0.0036414145371605595_r8, 0.0036926391909184006_r8, & + 0.0034695684495979462_r8, 0.003055577651930048_r8, & + 0.0031855782476904832_r8, 0.0035481189309766055_r8, & + 0.0041498733362568688_r8, 0.0040749302248611558_r8, & + 0.0040497237271053177_r8, 0.0038092474256171461_r8, & + 0.0035662008730161254_r8, 0.0032859533174659692_r8, & + 0.0028500026550268842_r8, 0.0027602693267010903_r8, & + 0.0026877160979190788_r8, 0.0025591133580270355_r8, & + 0.0023978188276645401_r8, 0.0025847981543922205_r8, & + 0.0026553174062597402_r8, 0.002743467678918911_r8, 0.002916751883175619_r8, & + 0.0029863612403822613_r8, 0.003164851652532216_r8, & + 0.0032154517803617585_r8, 0.0033793729269930872_r8, & + 0.0034705830224056496_r8, 0.0036517316153117873_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,76) / & + 0.0030844412076373325_r8, 0.0035398940826453329_r8, & + 0.0035090394783573327_r8, 0.0028916230949546664_r8, & + 0.0034879138033493328_r8, 0.0039861739671893329_r8, & + 0.0041530019402239984_r8, 0.0036317629719893334_r8, & + 0.0030400587588266664_r8, 0.0027810839270399992_r8, & + 0.0027325782653439992_r8, 0.0026423771924479994_r8, & + 0.0025354516268373327_r8, 0.0025555117524480001_r8, & + 0.0025633412241066662_r8, 0.0025703831157759989_r8, & + 0.0025236379269973326_r8, 0.002584142601472_r8, 0.0026665142027093333_r8, & + 0.0027726521883306657_r8, 0.0029104323582293317_r8, & + 0.0030242608308053329_r8, 0.0031791361192959997_r8, & + 0.003309828069290666_r8, 0.0034901375586133335_r8, & + 0.0036464316492906658_r8, 0.003898851035871999_r8, & + 0.0041849163028799992_r8, 0.0042133808666331429_r8, & + 0.0041626911595885711_r8, 0.004190458317952_r8, 0.0042038703418879999_r8, & + 0.0042285401268479994_r8, 0.0042231892157439986_r8, & + 0.0042425775819519996_r8, 0.0042591862540799991_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,77) / & + 0.0056709677003717041_r8, 0.0058612234574990643_r8, & + 0.0053760682508246817_r8, 0.0051289818051593944_r8, & + 0.0051524518631111118_r8, 0.0052031067288888884_r8, & + 0.005311621965333334_r8, 0.0054036793626666656_r8, & + 0.0054656999555555549_r8, 0.0054966520088888873_r8, & + 0.0054413376942222215_r8, 0.0053490514846666675_r8, & + 0.0055926366559999998_r8, 0.0056425093999999997_r8, & + 0.0056103092799999997_r8, 0.0055220709666666656_r8, 0.00556837424_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,77) / & + 0.0056709677003717041_r8, 0.0058612234574990643_r8, & + 0.0053760682508246817_r8, 0.0051289818051593944_r8, & + 0.0051524518631111118_r8, 0.0052031067288888884_r8, & + 0.005311621965333334_r8, 0.0054036793626666656_r8, & + 0.0054656999555555549_r8, 0.0054966520088888873_r8, & + 0.0054413376942222215_r8, 0.0053490514846666675_r8, & + 0.0055926366559999998_r8, 0.0056425093999999997_r8, & + 0.0056103092799999997_r8, 0.0055220709666666656_r8, 0.00556837424_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,77) / & + 0.0056709677003717041_r8, 0.0058612234574990643_r8, & + 0.0053760682508246817_r8, 0.0051289818051593944_r8, & + 0.0051524518631111118_r8, 0.0052031067288888884_r8, & + 0.005311621965333334_r8, 0.0054036793626666656_r8, & + 0.0054656999555555549_r8, 0.0054966520088888873_r8, & + 0.0054413376942222215_r8, 0.0053490514846666675_r8, & + 0.0055926366559999998_r8, 0.0056425093999999997_r8, & + 0.0056103092799999997_r8, 0.0055220709666666656_r8, 0.00556837424_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,77) / & + 0.0053368082128703734_r8, 0.005452398698678005_r8, & + 0.0052245597500472354_r8, 0.0053122268644248301_r8, & + 0.0053528702595307953_r8, 0.0053976836096484961_r8, & + 0.005456834059753086_r8, 0.0054571761224691357_r8, & + 0.0055042605930864181_r8, 0.0055484421530864201_r8, & + 0.0055944449659259265_r8, 0.0056310826562962959_r8, & + 0.0056262567985185183_r8, 0.0056496095125925915_r8, & + 0.0056676371422222224_r8, 0.0056911285303703702_r8, & + 0.0058043514544709003_r8, 0.0066973337444444442_r8, & + 0.0077574207699999996_r8, 0.007890059054999999_r8, 0.007983632853333332_r8, & + 0.0079504342799999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,77) / & + 0.0050795918650046552_r8, 0.0051107473344959775_r8, & + 0.0050632433774889301_r8, 0.0053423883888758144_r8, & + 0.0058322247782716065_r8, 0.0058833030622222225_r8, & + 0.0060365471590123456_r8, 0.0060563498167901225_r8, & + 0.0061530980958024685_r8, 0.0062296831644444431_r8, & + 0.0061832458395061725_r8, 0.0062392424306172839_r8, & + 0.0063241202088888879_r8, 0.006413130474567901_r8, & + 0.0066272709797530862_r8, 0.006729288873580248_r8, & + 0.0065759098997442682_r8, 0.0069140793411640198_r8, & + 0.0077451776817380946_r8, 0.0079459662013333324_r8, & + 0.0080672907620000008_r8, 0.0077674365049999992_r8, & + 0.0081750862800000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,77) / & + 0.005305081428788389_r8, 0.0053457110573456789_r8, & + 0.0052429420122839503_r8, 0.0055742193522222219_r8, & + 0.0057601685737654314_r8, 0.0059680606562962967_r8, & + 0.006110208515925925_r8, 0.006276069642222222_r8, 0.0063692043059876535_r8, & + 0.006419730204876543_r8, 0.0064737576241358013_r8, & + 0.0065472812975044111_r8, 0.006658080561984127_r8, & + 0.0067049410079365081_r8, 0.0067675498760582011_r8, & + 0.0069758903380952378_r8, 0.0070856080768677233_r8, & + 0.007328959483333332_r8, 0.007793898638499999_r8, 0.0080043507600000008_r8, & + 0.0081992363699999998_r8, 0.0081146798533333342_r8, & + 0.008571222639999999_r8, 0.0085450132400000014_r8, & + 0.0084450431000000006_r8, 0.008596308779999999_r8, 0.00887674936_r8, & + 0.0090107917199999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,77) / & + 0.0042554705099999996_r8, 0.0043239824362962956_r8, & + 0.0041189244226102293_r8, 0.0044010401524074072_r8, & + 0.0045432821123015882_r8, 0.0046318365695061734_r8, & + 0.0048191738524955901_r8, 0.0051788930799382699_r8, & + 0.0053915281459788354_r8, 0.0055786445409788362_r8, & + 0.0057036909156878311_r8, 0.0057835087411375668_r8, & + 0.0059724660344709002_r8, 0.006167567084550264_r8, & + 0.0062237407822645502_r8, 0.0063703965398306875_r8, & + 0.0066102991220740731_r8, 0.0068690746514814809_r8, & + 0.0069305141999999997_r8, 0.0071048802072592593_r8, 0.00728185190037037_r8, & + 0.0072251827399999998_r8, 0.0073100374059259258_r8, & + 0.0074585434718518525_r8, 0.0074981418537037022_r8, & + 0.0077376319796296292_r8, 0.0080641539544444446_r8, & + 0.0084286795592592584_r8, 0.0087653247414814801_r8, & + 0.0089866208288888888_r8, 0.0091318680540740747_r8, & + 0.0092039369703703702_r8, 0.0091823852858333322_r8, & + 0.0090953638374999986_r8, 0.0091761070647619035_r8, & + 0.009222151809999999_r8, 0.0093159440199999995_r8, & + 0.0092799996999999995_r8, 0.0091309805399999999_r8, & + 0.0091040223000000003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,77) / & + 0.0018031142706172838_r8, 0.0018405655155555557_r8, & + 0.001767475033580247_r8, 0.0014335478632098765_r8, & + 0.0014892116365432097_r8, 0.0016030722962962964_r8, & + 0.0018273360088888887_r8, 0.0023276165985185184_r8, & + 0.0027379809185185183_r8, 0.0031242991540740743_r8, & + 0.0033894254938271594_r8, 0.0036002563111111113_r8, & + 0.0037683385338271595_r8, 0.0040274279288888895_r8, & + 0.0042041726587654319_r8, 0.0044132284479012351_r8, & + 0.0047688997130864198_r8, 0.0050667253995061732_r8, & + 0.0053718176074074074_r8, 0.0056288823609876555_r8, & + 0.0059527140587654313_r8, 0.0060790461402469133_r8, & + 0.0063288905970370381_r8, 0.0065463870148148142_r8, & + 0.0067093567866666672_r8, 0.0069585448528395053_r8, & + 0.0072073076518518516_r8, 0.0076083808088888887_r8, & + 0.008082350304197532_r8, 0.0084044347086419755_r8, & + 0.0086575980982716051_r8, 0.0088473319664197532_r8, & + 0.008972166367901234_r8, 0.0090447264215432095_r8, & + 0.0091151583234126976_r8, 0.0091471841102910047_r8, & + 0.0091230650238518507_r8, 0.0091966600483333327_r8, & + 0.0091950687633333313_r8, 0.0092294530000000003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,77) / & + 0.00051961175555555552_r8, 0.00053421875802469123_r8, & + 0.00057926587537037041_r8, 0.00051032174820987643_r8, & + 0.00053801264956790135_r8, 0.00056199517506172838_r8, & + 0.00070325089814814797_r8, 0.00084434021234567887_r8, & + 0.00097114378567901235_r8, 0.0011225644834832449_r8, & + 0.0012301706123192238_r8, 0.0012838937740564371_r8, & + 0.0013074122366666667_r8, 0.001425553633015873_r8, & + 0.0016006385002610231_r8, 0.0017734525795432101_r8, & + 0.0021574607691657848_r8, 0.0025789490281234568_r8, & + 0.0030570193139082889_r8, 0.0035240300781446206_r8, & + 0.0040843430046172838_r8, 0.0043953621424444441_r8, & + 0.004941399101273369_r8, 0.0053506476562768957_r8, & + 0.0055897727061940024_r8, 0.0058602548367936514_r8, & + 0.0061333175598412689_r8, 0.0065080339261481476_r8, & + 0.0069483734396825403_r8, 0.0075266990057777771_r8, & + 0.007935542071185183_r8, 0.0082891041037037021_r8, & + 0.0086467237396296286_r8, 0.0088964133437037032_r8, & + 0.0090275574155555538_r8, 0.0091201639622222226_r8, & + 0.0091558794699999994_r8, 0.0092068005899999996_r8, & + 0.0091658016000000005_r8, 0.0092504205200000002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,77) / & + 0.0003650791454938272_r8, 0.00036336189820987646_r8, & + 0.00038238220308641976_r8, 0.00038496385209876546_r8, & + 0.00041581883358024686_r8, 0.00044526742882716053_r8, & + 0.00054991088512345687_r8, 0.0006102121506172839_r8, & + 0.00067090252895943563_r8, 0.00074350236885361545_r8, & + 0.00080129726554673735_r8, 0.0008515771500246913_r8, & + 0.00090154211228395044_r8, 0.0010252024066049383_r8, & + 0.0012003974537037039_r8, 0.001405718287777778_r8, & + 0.0018396222016754849_r8, 0.0023523052061728395_r8, & + 0.0029641560220987659_r8, 0.0036084547223703706_r8, & + 0.0041776403792962956_r8, 0.0046663691874320994_r8, & + 0.005077834117333333_r8, 0.0053498585677777787_r8, & + 0.0055084069479012345_r8, 0.005567909681851853_r8, & + 0.0056071613785185189_r8, 0.0056101844733333333_r8, & + 0.0056063432014814823_r8, 0.005946039213333333_r8, & + 0.0065361251333333342_r8, 0.0070752007857142847_r8, & + 0.007662719254285715_r8, 0.0080635715233333335_r8, & + 0.0084283190066666656_r8, 0.008713689450000001_r8, & + 0.0089405879700000003_r8, 0.0091699202199999989_r8, & + 0.0093190142639999994_r8, 0.0094039327199999991_r8, & + 0.0094844330200000004_r8, 0.0095183804333333327_r8, & + 0.0095427177333333325_r8, 0.0095522030400000003_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,77) / & + 0.00028351452197530858_r8, 0.00028276568197530862_r8, & + 0.00027390903111111111_r8, 0.00026136364987654318_r8, & + 0.0002892001590123457_r8, 0.00033413055901234561_r8, & + 0.0004636983688888888_r8, 0.00054120793135802459_r8, & + 0.00063310261777777758_r8, 0.00072567218469135803_r8, & + 0.00079312325432098763_r8, 0.0008730549906172839_r8, & + 0.00094740278419753088_r8, 0.0011052323703703703_r8, & + 0.00130171504345679_r8, 0.0015055104627160496_r8, 0.00195320584345679_r8, & + 0.0024845216908641974_r8, 0.0030664350854320982_r8, & + 0.0036261328933333337_r8, 0.0041457169140740741_r8, & + 0.0046121425397530856_r8, 0.0049320174039506181_r8, & + 0.0051958032276543213_r8, 0.0053615834607407412_r8, & + 0.0054477555303703703_r8, 0.0054479219392592594_r8, & + 0.0053923136355555545_r8, 0.005285654782716049_r8, & + 0.0055111295822222219_r8, 0.0061171052398765425_r8, & + 0.0068511787622222214_r8, 0.0074641470600617299_r8, & + 0.0079740782096296287_r8, 0.0083984616530776001_r8, & + 0.0087128836669583334_r8, 0.0089668166853174615_r8, & + 0.0091890251490793651_r8, 0.0093597541315873015_r8, & + 0.0094478720956349196_r8, 0.0095169416898148139_r8, & + 0.0095541098085185194_r8, 0.0095526970663888881_r8, & + 0.0095405425314285721_r8, 0.0095005330799999999_r8 & + / +data delta_sa_ref(:,12,77) / & + 0.00025563178814814812_r8, 0.0002580354720987654_r8, & + 0.00023455514485890651_r8, 0.00025985573440917109_r8, & + 0.00029127911450617285_r8, 0.00031720769950617289_r8, & + 0.00040794726390652551_r8, 0.00049841614972134037_r8, & + 0.00059543362152557312_r8, 0.00069123013414285712_r8, & + 0.00075290252303527325_r8, 0.00082903676886596136_r8, & + 0.00089115047149029977_r8, 0.0010230641844532627_r8, & + 0.0012205788237742504_r8, 0.0013783337240529099_r8, & + 0.0018193085959700176_r8, 0.0023179900093844791_r8, & + 0.0028638257587354494_r8, 0.0034242068005925926_r8, & + 0.0039427701141128745_r8, 0.0043846998560828927_r8, & + 0.0047399519953880073_r8, 0.0050220797436049376_r8, & + 0.0052011103505044077_r8, 0.0053108749413033505_r8, & + 0.005330271548185184_r8, 0.0052601440359082889_r8, & + 0.0049426737801552025_r8, 0.0048556936368853616_r8, & + 0.0053495731303086413_r8, 0.0059586446866666662_r8, & + 0.0068314993510277767_r8, 0.0076760729733015868_r8, & + 0.0082287990789161013_r8, 0.0087222325936870751_r8, & + 0.0090827049817233576_r8, 0.0092841459133106569_r8, & + 0.0094198944526111099_r8, 0.0095040050826031737_r8, & + 0.0095626268927999983_r8, 0.0095806215179999998_r8, & + 0.0095738777977777776_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,77) / & + 0.00028813182567030552_r8, 0.00029502215888888884_r8, & + 0.00027791208938271602_r8, 0.00028867666438271602_r8, & + 0.00031589954074074072_r8, 0.00033637014530864197_r8, & + 0.00036065191436054428_r8, 0.00036277108061904758_r8, & + 0.00040920896685714279_r8, 0.00046720484190476192_r8, & + 0.00050180980807619047_r8, 0.0005945154868952381_r8, & + 0.00052408458876190465_r8, 0.00059035514580952372_r8, & + 0.00073915946004761901_r8, 0.00084064867547619044_r8, & + 0.0010962638722619045_r8, 0.0014177448959047617_r8, & + 0.0018176735956190477_r8, 0.0023558720354285708_r8, & + 0.0028475327436666667_r8, 0.0033943669133333332_r8, 0.003813186885_r8, & + 0.0040653774760000001_r8, 0.0043216055626666668_r8, & + 0.0044719476733333331_r8, 0.0046093598133333333_r8, & + 0.0046616538066666666_r8, 0.0046057404199999997_r8, & + 0.0043369068600000006_r8, 0.0041394003099999993_r8, & + 0.0044359409499999999_r8, 0.0052617242599999996_r8, & + 0.0071443080200000002_r8, 0.0079931181599999998_r8, & + 0.0087164975999999995_r8, 0.0091148804799999986_r8, & + 0.0093447743600000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,77) / & + 0.00031339336335914353_r8, 0.00031395117_r8, 0.00029491815333333331_r8, & + 0.00023816232166666668_r8, 0.00023672704499999998_r8, & + 0.00026459013333333335_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,77) / & + 0.00098123463713075993_r8, 0.00080591274386096587_r8, & + 0.00059140518859265184_r8, 0.00049662391737700744_r8, & + 0.00041194103756586668_r8, 0.00039651081771934811_r8, & + 0.00039534973186951115_r8, 0.00052707186604444443_r8, & + 0.00066091374576760008_r8, 0.00084839091690280008_r8, & + 0.0011008354245700001_r8, 0.0014766000170692573_r8, & + 0.0018274530979867432_r8, 0.0021975164752393141_r8, & + 0.0024800139004859424_r8, 0.0027937427890994287_r8, & + 0.0033814835732900576_r8, 0.0038190776241622867_r8, & + 0.0042716392065348567_r8, 0.0045445904109033142_r8, & + 0.004603046281959771_r8, 0.0045086644068165335_r8, & + 0.0040572617278016006_r8, 0.0035454428632371205_r8, & + 0.0031588562740448001_r8, 0.0028053514651055996_r8, 0.0026795417022976_r8, & + 0.0026721168638368003_r8, 0.0029572856595349332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,77) / & + 0.00073527504752776934_r8, 0.00066769136357293813_r8, & + 0.00054166334934386824_r8, 0.00046217473896348967_r8, & + 0.00042289496357030449_r8, 0.00040252047061333326_r8, & + 0.00037959646528210701_r8, 0.00049881857783413996_r8, & + 0.00061915610204990948_r8, 0.00080828184678716024_r8, & + 0.0010374705857613827_r8, 0.001350261184423177_r8, & + 0.0017478500770752923_r8, 0.0022048258633688227_r8, & + 0.0025153775364392429_r8, 0.0028386011502511926_r8, & + 0.0034645874607698436_r8, 0.0039323176520149458_r8, & + 0.0044369320492931028_r8, 0.0047091168020365415_r8, & + 0.0047802330730523116_r8, 0.0046861387816126421_r8, & + 0.0042909782531983538_r8, 0.0038261224365277353_r8, & + 0.003432360127369547_r8, 0.0030079284344126421_r8, & + 0.0028046395465539421_r8, 0.0027649496422785182_r8, & + 0.0030719370908765761_r8, 0.0034969741386935301_r8, & + 0.0040489454968302219_r8, 0.0046647279705204934_r8, & + 0.0050865734980045426_r8, 0.0050058149927953771_r8, & + 0.0050775113473242664_r8, 0.0051900566542707549_r8, & + 0.0054661733006477319_r8, 0.0060485242709020443_r8, & + 0.0069598706184049773_r8, 0.0089998326962133328_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,77) / & + 0.00037207573166519835_r8, 0.00041853665856107975_r8, & + 0.00038105269541646746_r8, 0.00036316729435477852_r8, & + 0.00036209371344813826_r8, 0.00036335003153037691_r8, & + 0.0002899810555276378_r8, 0.00035722833614783208_r8, & + 0.00039439250923514735_r8, 0.0005143594650154666_r8, & + 0.00065906446594241324_r8, 0.00079241691983531176_r8, & + 0.0010702002688917594_r8, 0.0015013457925691258_r8, & + 0.0018888171312784854_r8, 0.0022679967706450699_r8, & + 0.0030144552908173959_r8, 0.0037292089110234064_r8, & + 0.0043408987641919477_r8, 0.0046324330857121718_r8, & + 0.0047918027449808855_r8, 0.0047396541234945057_r8, & + 0.0043503325708822123_r8, 0.0039129739832345018_r8, & + 0.0035193809491425973_r8, 0.0031772969564224786_r8, & + 0.0029339138806724211_r8, 0.0028882524289197825_r8, & + 0.0033039338191121386_r8, 0.0037364955559003907_r8, & + 0.0042596720896384789_r8, 0.0047996604435316149_r8, & + 0.0052462374690554914_r8, 0.0054611347559772316_r8, & + 0.0056355551058711647_r8, 0.0057940430582676169_r8, & + 0.0060111668018841911_r8, 0.0065011034433809381_r8, & + 0.0073597136419129043_r8, 0.0087592373012894721_r8, 0.01037737988595867_r8, & + 0.011419369450734664_r8, 0.011382515930845867_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,77) / & + 0.0002941881419444148_r8, 0.00032683825820539248_r8, & + 0.0002604785823829333_r8, 0.00030817760916242957_r8, & + 0.00030191726238672586_r8, 0.00029712568927762957_r8, & + 0.00024063809875531848_r8, 0.00022161627585991106_r8, & + 0.00020642289580041477_r8, 0.00025602410486945187_r8, & + 0.00032411741518364442_r8, 0.00039107904742684442_r8, & + 0.0005130594965257481_r8, 0.00072810240827117035_r8, & + 0.0010237111673685332_r8, 0.0013569301636337777_r8, & + 0.0020806744074187847_r8, 0.0029825495952293924_r8, & + 0.0038184503593268132_r8, 0.0043537822434199696_r8, & + 0.0047064564712035557_r8, 0.0047078530100996743_r8, & + 0.0043527228001194662_r8, 0.0039448130511687109_r8, & + 0.0035631245239054216_r8, 0.0032773396935945475_r8, & + 0.003100027410301155_r8, 0.0032606775398684438_r8, & + 0.0038244940017910511_r8, 0.004281812333756207_r8, & + 0.0048343120149688876_r8, 0.0053070885878186667_r8, & + 0.0057092436333871389_r8, 0.0060767982238914362_r8, & + 0.006469008949389273_r8, 0.0067620894915195254_r8, & + 0.0070021015555972741_r8, 0.0075376200461808587_r8, & + 0.0084616141226715839_r8, 0.0096931868616861004_r8, & + 0.010943970179930818_r8, 0.01172873233826063_r8, 0.0118452811410892_r8, & + 0.011477743856831998_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,77) / & + 0.00022886718942027322_r8, 0.00024939714082164937_r8, & + 0.00021238753669241151_r8, 0.00021474177279639175_r8, & + 0.00017307432519261234_r8, 0.00017241615165816625_r8, & + 0.00014948133541939091_r8, 0.00014689927001502548_r8, & + 0.00017003660118747652_r8, 0.00019841400626878681_r8, & + 0.00022228545407581234_r8, 0.00026531987748190287_r8, & + 0.00031288557252898765_r8, 0.00039447377643359337_r8, & + 0.00053261427556714402_r8, 0.0006911581542685234_r8, & + 0.0011596511389605926_r8, 0.0018305324854948342_r8, & + 0.002740280196299588_r8, 0.0034819911408869131_r8, & + 0.0039375484841904455_r8, 0.0040381477774938598_r8, & + 0.003881578419395819_r8, 0.0036171951734821658_r8, & + 0.0033449391595218691_r8, 0.0031056677653840065_r8, & + 0.0030535454843292177_r8, 0.0035005718860516614_r8, & + 0.004194134905157583_r8, 0.0047732769867367261_r8, & + 0.0053805433297300807_r8, 0.00583149345829249_r8, 0.0062234104836884274_r8, & + 0.0066025943826295052_r8, 0.0069865880112453789_r8, & + 0.0072464906142514565_r8, 0.0074939891775698949_r8, & + 0.0079647604552658159_r8, 0.0087226979089139074_r8, & + 0.0098842349681943584_r8, 0.01080342493778174_r8, 0.011225974155065181_r8, & + 0.011276180681010779_r8, 0.011194563546401361_r8, 0.011335373445504426_r8 & + / +data delta_sa_ref(:,29,77) / & + 0.00016413504627505512_r8, 0.00018657019899301399_r8, & + 0.00019057932095799834_r8, 0.00017223294163479179_r8, & + 0.00015181562513761978_r8, 0.00016740075489553909_r8, & + 0.00017042750922671932_r8, 0.00021197900508897451_r8, & + 0.0002187759270958354_r8, 0.00022166992904406907_r8, & + 0.000231201550139628_r8, 0.00027506293746515224_r8, & + 0.00036706033884707822_r8, 0.00041068277188329881_r8, & + 0.00047785547765422874_r8, 0.00056650751898590281_r8, & + 0.00081552443891695138_r8, 0.0013256652961037695_r8, & + 0.0020521128860636183_r8, 0.0028615307153650308_r8, & + 0.0034006115920341851_r8, 0.0035729507355753347_r8, & + 0.0033925136966744492_r8, 0.0032670626947900049_r8, & + 0.0031930134155824458_r8, 0.0031546479769109068_r8, & + 0.0031828180325721546_r8, 0.0037110397643162862_r8, & + 0.0044048302680712954_r8, 0.0051428273153474903_r8, & + 0.0057623826865588149_r8, 0.0062378220708434158_r8, & + 0.0066547707552017908_r8, 0.0070013606765985184_r8, & + 0.0073134084279525653_r8, 0.0076794863991658403_r8, & + 0.008086372452896869_r8, 0.0086739344998180874_r8, & + 0.0094481994981152669_r8, 0.010277503634382065_r8, 0.0109486465816064_r8, & + 0.011325991437206603_r8, 0.011503953118281193_r8, 0.011587990971251037_r8, & + 0.011691089506187472_r8 & + / +data delta_sa_ref(:,30,77) / & + 0.00018792068429076541_r8, 0.00020409247761580244_r8, & + 0.00021634636224869135_r8, 0.00025672027238834565_r8, & + 0.00026786269356246913_r8, 0.0002674458947654321_r8, & + 0.00029081441398597525_r8, 0.00027300321205925922_r8, & + 0.00027258641326222219_r8, 0.00027992207209007408_r8, & + 0.00028559053572977771_r8, 0.0003564185446396049_r8, & + 0.00050429875782834568_r8, 0.00052099849629629622_r8, & + 0.00056598497978982713_r8, 0.00063331187880454325_r8, & + 0.00085218682042192593_r8, 0.0012796000934901725_r8, & + 0.0019552865166601475_r8, 0.0027141659797187156_r8, & + 0.0031686989611808387_r8, 0.0032762608374028641_r8, & + 0.0032007091087932838_r8, 0.0031404400027417283_r8, & + 0.0031048453854747651_r8, 0.0031091523063774807_r8, & + 0.0031601962657212836_r8, 0.0035191711763160492_r8, & + 0.0040629268869305669_r8, 0.0048142206118830608_r8, & + 0.0054234693068053313_r8, 0.0059389382723942716_r8, & + 0.0062831862921603945_r8, 0.0065120088317337276_r8, & + 0.0067419706213522959_r8, 0.0072029778774617284_r8, & + 0.0078030014256762446_r8, 0.008457014311400295_r8, & + 0.0093564939019926893_r8, 0.010326773714908444_r8, 0.011091967679742123_r8, & + 0.011389409194600986_r8, 0.011847968452442487_r8, 0.012140348640575999_r8, & + 0.012194365764671998_r8 & + / +data delta_sa_ref(:,31,77) / & + 0.00028555430937752754_r8, 0.00028889191945765915_r8, & + 0.00030201017820739423_r8, 0.00035996850281628959_r8, & + 0.00038321568259181565_r8, 0.00034650197171036699_r8, & + 0.0003418583402945316_r8, 0.00035282891951444274_r8, & + 0.00036710808611813654_r8, 0.00036855922093558511_r8, & + 0.00037999416329707978_r8, 0.00040361863812514226_r8, & + 0.00046967429501540073_r8, 0.00049852285518627807_r8, & + 0.00055592974856454318_r8, 0.00064471017669604598_r8, & + 0.00089253498081991102_r8, 0.0013145830311266501_r8, & + 0.0020383800553736425_r8, 0.0028100355059000881_r8, & + 0.0032181816846556708_r8, 0.0032301680582477953_r8, & + 0.0031458861480503832_r8, 0.0030642162805243778_r8, & + 0.0030194052373615668_r8, 0.0029953454220882697_r8, & + 0.0030127590398976519_r8, 0.0032418061594837325_r8, & + 0.0036021519573525593_r8, 0.0040896461879262273_r8, & + 0.0046139992428630896_r8, 0.0051277299909362308_r8, & + 0.005519507368950992_r8, 0.0058223011599598078_r8, & + 0.0061604881291661947_r8, 0.0066181890071503402_r8, & + 0.0071653098491105353_r8, 0.0077378317695252974_r8, & + 0.0083931217555654157_r8, 0.0092429368821469442_r8, & + 0.010296611573983127_r8, 0.0110354032779513_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,77) / & + 0.00040900828379477851_r8, 0.00038392373343109785_r8, & + 0.00041899368985028474_r8, 0.0004171176438640987_r8, & + 0.00045763418540447075_r8, 0.0004347887867017218_r8, & + 0.00040216979358706826_r8, 0.0004445623811136263_r8, & + 0.00048613798087200649_r8, 0.00052011862026695636_r8, & + 0.00055703436386610032_r8, 0.00055939455075194736_r8, & + 0.0006238155492130765_r8, 0.00073099224087550929_r8, & + 0.00085393377058315054_r8, 0.00099950888734993883_r8, & + 0.0013537487318705775_r8, 0.0018220340170675884_r8, & + 0.0023729863608816983_r8, 0.0029627002354749099_r8, & + 0.0032823542644760226_r8, 0.0032709164357215335_r8, & + 0.003168520635443252_r8, 0.0030499968914450169_r8, & + 0.0029835485529665575_r8, 0.0029540764756996996_r8, & + 0.0029580101205094449_r8, 0.0030835236487465347_r8, & + 0.0033154876572965659_r8, 0.0036378347200520427_r8, & + 0.0040573730684144455_r8, 0.0045215431559643381_r8, & + 0.0049604471403131775_r8, 0.0054059172856136687_r8, & + 0.0059255517649809642_r8, 0.006431115899451864_r8, & + 0.0069958360001000806_r8, 0.0075703902127726612_r8, & + 0.0079988549089725618_r8, 0.0085324273509590019_r8, & + 0.0095663696791256705_r8, 0.010670677240169957_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,77) / & + 0.0003940958852674369_r8, 0.00037308877622297282_r8, & + 0.00043337004565491359_r8, 0.00057087684938524432_r8, & + 0.00066290499425469634_r8, 0.00071836754152201476_r8, & + 0.00085861440295379734_r8, 0.0010455367300585875_r8, & + 0.0011323997086862218_r8, 0.0012461278507545283_r8, & + 0.0013214636900863996_r8, 0.0014541517716521082_r8, & + 0.0017600303968992393_r8, 0.0021309460239107157_r8, & + 0.0025147115766945174_r8, 0.0028071103778471496_r8, & + 0.0031008319654763456_r8, 0.0031465940785822019_r8, & + 0.0031266577966854317_r8, 0.0031098710063995252_r8, & + 0.0030941235483452042_r8, 0.0030505345844508442_r8, & + 0.0030161421360602072_r8, 0.00300562283407992_r8, 0.0030131186241137771_r8, & + 0.0030431017842492041_r8, 0.0031051782638993378_r8, & + 0.0032844473263897271_r8, 0.0035131161647965225_r8, & + 0.0038494779319723058_r8, 0.0042373063289341227_r8, & + 0.0045880809570941223_r8, 0.0049428987451095707_r8, & + 0.0054592067154720777_r8, 0.006058404243349586_r8, & + 0.0065994779035485965_r8, 0.0073021457917996678_r8, & + 0.0077885802718239147_r8, 0.0082012005668917094_r8, & + 0.0085758845606155841_r8, 0.009833263970149924_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,77) / & + 0.00030790272123884836_r8, 0.00030436347273642324_r8, & + 0.0003205127271660952_r8, 0.00048666067542706875_r8, & + 0.00064440785517853546_r8, 0.00082903293519609_r8, & + 0.0012373783185335716_r8, 0.0013926499806516171_r8, & + 0.0014681281941671313_r8, 0.0016198869989209634_r8, & + 0.001723425988602485_r8, 0.0018426520238681123_r8, & + 0.0022076504236273184_r8, 0.0026664575804207992_r8, & + 0.0030900379704941823_r8, 0.0032977654269300541_r8, & + 0.0034469698088985278_r8, 0.0032926593868758515_r8, & + 0.0031674141159309436_r8, 0.0031157154603821428_r8, & + 0.0031132606334330075_r8, 0.003095733169016178_r8, & + 0.0030866012127653926_r8, 0.0031176793219414522_r8, & + 0.0031458116387785475_r8, 0.0031983940320290372_r8, & + 0.003279403321350518_r8, 0.0034713216922339554_r8, & + 0.0036798837898325333_r8, 0.0040434313868647999_r8, & + 0.0043957113282005337_r8, 0.0046882285074595562_r8, & + 0.0049995251128794665_r8, 0.0055171744716437333_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,35,77) / & + 0.00029896503631913893_r8, 0.0002941524244952_r8, & + 0.00028577803944146663_r8, 0.00039712124934479992_r8, & + 0.00050922107719959993_r8, 0.00067314923472986657_r8, & + 0.00090851473717777772_r8, 0.00084987520823791741_r8, & + 0.00078173373697249513_r8, 0.0007320917383905524_r8, & + 0.00078322732046110465_r8, 0.00095934570682631103_r8, & + 0.00049248950295466656_r8, 0.00054293069971911106_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,77) / & + 0.00036640301442513232_r8, 0.00035745287724555253_r8, & + 0.00044612633296056285_r8, 0.00055285729358208586_r8, & + 0.00059735859661346358_r8, 0.00062299712049183984_r8, & + 0.00066745001906031397_r8, 0.0006630694780304676_r8, & + 0.00067513136728255987_r8, 0.00077873275935707253_r8, & + 0.00088478329152863477_r8, 0.0011706243432886498_r8, & + 0.0014603186417475554_r8, 0.0018118406521656885_r8, & + 0.0021555739444620438_r8, 0.0024181890576417996_r8, & + 0.0026545082891917707_r8, 0.0026936819581567985_r8, & + 0.0027160184175839997_r8, 0.0027663263702756564_r8, & + 0.002826410767215085_r8, 0.0028909760344347423_r8, & + 0.0029508567554523426_r8, 0.0029810007918829708_r8, & + 0.0029981095693165714_r8, 0.0030298830131218276_r8, & + 0.0030541204478194278_r8, 0.0031345724369417141_r8, & + 0.0032509053342927993_r8, 0.0033649638505168001_r8, & + 0.0034896203038732791_r8, 0.0036651991322855988_r8, & + 0.0036698327595071998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,77) / & + 0.0006492764385794107_r8, 0.00064617909335103207_r8, & + 0.00071599689873424847_r8, 0.00083278503352193572_r8, & + 0.00090788654547120954_r8, 0.0009671369377223111_r8, & + 0.0011356325181461071_r8, 0.001359005768145646_r8, & + 0.0015107756843361975_r8, 0.001715127590697929_r8, & + 0.0018379282191642338_r8, 0.0020748569094573826_r8, & + 0.0022600052754031671_r8, 0.0024190266233636874_r8, & + 0.0025279802966913585_r8, 0.0026128703305461987_r8, & + 0.0027347645300412572_r8, 0.0027835978215022083_r8, & + 0.0028140793424850166_r8, 0.0028539212229447631_r8, & + 0.0029149252591854614_r8, 0.0029735698471492476_r8, & + 0.0030293585006156902_r8, 0.0030582197716786117_r8, & + 0.0030663490014975472_r8, 0.003092153921607171_r8, & + 0.0031296239904372038_r8, 0.0032302870596567284_r8, & + 0.0033436329767431291_r8, 0.0034652942246432808_r8, & + 0.0036140744218451123_r8, 0.0036824207279637367_r8, & + 0.0036607498202149689_r8, 0.0030120777869118982_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,38,77) / & + 0.00074951571081254985_r8, 0.00074461790029653322_r8, & + 0.00071447752789027797_r8, 0.00070633962734058925_r8, & + 0.00081473194160658433_r8, 0.00094350668271230942_r8, & + 0.0012330803106054054_r8, 0.0014571363039804048_r8, & + 0.0016295392341441842_r8, 0.001798815100670815_r8, & + 0.0019202808014680229_r8, 0.0020713594181543766_r8, & + 0.0021725933939738865_r8, 0.0023238603879877791_r8, & + 0.0024463056508881912_r8, 0.0025673945970303208_r8, & + 0.002737122569143045_r8, 0.0027716332955482069_r8, & + 0.0028360583415665769_r8, 0.0028962260599825645_r8, & + 0.0029622240566858863_r8, 0.0030406078626749036_r8, & + 0.0030829786330716343_r8, 0.0031381112946329693_r8, & + 0.0031377419405157585_r8, 0.0031634271891257137_r8, & + 0.0032551420549189708_r8, 0.0033414155070510278_r8, & + 0.003468481396685505_r8, 0.0036392077686341869_r8, & + 0.0037728889317909004_r8, 0.0036740360453914865_r8, & + 0.0037291929268949329_r8, 0.0030211955790719999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,77) / & + 0.00096648570947855783_r8, 0.00092862474662637039_r8, & + 0.00084629758099994052_r8, 0.0012546016054895209_r8, & + 0.0014445727804789728_r8, 0.0015321391117915255_r8, & + 0.0017195275309646219_r8, 0.0018861769142755715_r8, 0.00204023812500879_r8, & + 0.0022531553170344288_r8, 0.0024028020095399187_r8, & + 0.0024275225333836954_r8, 0.0024671064452060835_r8, & + 0.0026902504330630714_r8, 0.0030040139212014214_r8, & + 0.0032359553993438219_r8, 0.0034468996355273953_r8, & + 0.0030448385563990278_r8, 0.0029296330551487997_r8, & + 0.0030404726776405329_r8, 0.0029658791876223992_r8, & + 0.0031928114952831997_r8, 0.0031345024995647996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,77) / & + 0.001155413102004891_r8, 0.0011134914625869391_r8, 0.001032716613982194_r8, & + 0.0017049116025692175_r8, 0.0019599079049305956_r8, & + 0.0020459214529243873_r8, 0.0023579220197511718_r8, & + 0.0024542581111655962_r8, 0.0024940093380410701_r8, & + 0.0026303759695127573_r8, 0.0027924077257146383_r8, & + 0.0027686245237313577_r8, 0.0027543061385498879_r8, & + 0.0027639272445550613_r8, 0.0029621765144059249_r8, & + 0.0031390729510780949_r8, 0.0032281147816177768_r8, & + 0.0021170275918399994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,77) / & + 0.00091487358628331093_r8, 0.0010460188753335464_r8, & + 0.00089672169092503144_r8, 0.0014400344027691802_r8, & + 0.0016331465620505112_r8, 0.0017224365931786238_r8, & + 0.0021419998153513853_r8, 0.0020529540077343488_r8, & + 0.0020059050666298922_r8, 0.0020358982677614523_r8, & + 0.0020936020581236621_r8, 0.0023463773826681599_r8, & + 0.0030132472382158222_r8, 0.0032157691857180445_r8, & + 0.0039755756646229325_r8, 0.0050834405526143994_r8, & + 0.0053499315014655996_r8, 0.0055477046584746668_r8, & + 0.0053030022777685332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,77) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,77) / & + 0.0039467453135290072_r8, 0.0038202426385297778_r8, & + 0.0032642031895277041_r8, 0.0038161969211546075_r8, & + 0.0035951626060233472_r8, 0.0036510132410074074_r8, & + 0.0040803526629431706_r8, 0.0042151441247598219_r8, & + 0.0043525998394820745_r8, 0.0044475261837482669_r8, & + 0.0040763069455680007_r8, 0.0034667850863868447_r8, & + 0.0025574525452977384_r8, 0.0024729858605868635_r8, & + 0.0024649602098588837_r8, 0.0023942094938101724_r8, & + 0.0023019145104384003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,77) / & + 0.0036711753395198697_r8, 0.0037257819026367215_r8, & + 0.0034903559191246753_r8, 0.0032163310767951018_r8, & + 0.0033810075165166087_r8, 0.0037170791225528618_r8, & + 0.0041842786274692212_r8, 0.0041544727329851259_r8, & + 0.0040186552531271905_r8, 0.0037648767748269039_r8, & + 0.0035272412772003022_r8, 0.0032470839058997203_r8, & + 0.0028254725391428483_r8, 0.0027358293950666269_r8, & + 0.0026637270875324846_r8, 0.0025677710459861072_r8, & + 0.0024042420397971209_r8, 0.0025873490803087324_r8, & + 0.0026591349377528537_r8, 0.0027936117321148957_r8, & + 0.0029644735230107341_r8, 0.003021424876616502_r8, & + 0.0031808751390752163_r8, 0.0032674655463033678_r8, & + 0.0033800493088648889_r8, 0.0035001409102034171_r8, & + 0.0037107662250827063_r8, 0.0040001765003895478_r8, & + 0.0040158820874528003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,77) / & + 0.0030948650604373331_r8, 0.0035536072401066657_r8, & + 0.0035152937900373321_r8, 0.0029671844456959995_r8, & + 0.0036010473524053332_r8, 0.0040684065837226658_r8, & + 0.0041667150976853326_r8, 0.0036136486322346667_r8, & + 0.0029935452112213328_r8, 0.0027483298651306671_r8, & + 0.0027195600314026658_r8, 0.0026513185417386667_r8, & + 0.0025523614324906656_r8, 0.0025771470380373334_r8, & + 0.0025580134771199998_r8, 0.002585022837930666_r8, & + 0.0025329962303999999_r8, 0.0025916941037226666_r8, & + 0.0026751312543573332_r8, 0.0027817788505599995_r8, & + 0.0029221997298346657_r8, 0.0030364451565226664_r8, & + 0.0031956289708373327_r8, 0.0033310464007680002_r8, & + 0.0035040360290133333_r8, 0.0036682232926719995_r8, & + 0.003938780183125332_r8, 0.0041732994980373328_r8, & + 0.0041958034380266667_r8, 0.004163852674614857_r8, 0.004192175771794285_r8, & + 0.0042069081504182869_r8, 0.0042288875886079989_r8, & + 0.004223536677503999_r8, 0.0042429945360639995_r8, & + 0.0042596727005439995_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,78) / & + 0.0054144297180681667_r8, 0.0054289425645255738_r8, & + 0.0051489089071951703_r8, 0.0051403408090535353_r8, 0.00525953598311111_r8, & + 0.0052958358486600351_r8, 0.0053862729928888893_r8, & + 0.0054443288940000016_r8, 0.0054946176602222218_r8, & + 0.0054766246991111104_r8, 0.0054120344756296282_r8, & + 0.0053914399888888888_r8, 0.0055951383362962959_r8, & + 0.0056603706207407397_r8, 0.0056176451385185179_r8, & + 0.0055357580977777781_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,78) / & + 0.0054144297180681667_r8, 0.0054289425645255738_r8, & + 0.0051489089071951703_r8, 0.0051403408090535353_r8, 0.00525953598311111_r8, & + 0.0052958358486600351_r8, 0.0053862729928888893_r8, & + 0.0054443288940000016_r8, 0.0054946176602222218_r8, & + 0.0054766246991111104_r8, 0.0054120344756296282_r8, & + 0.0053914399888888888_r8, 0.0055951383362962959_r8, & + 0.0056603706207407397_r8, 0.0056176451385185179_r8, & + 0.0055357580977777781_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,78) / & + 0.0054144297180681667_r8, 0.0054289425645255738_r8, & + 0.0051489089071951703_r8, 0.0051403408090535353_r8, 0.00525953598311111_r8, & + 0.0052958358486600351_r8, 0.0053862729928888893_r8, & + 0.0054443288940000016_r8, 0.0054946176602222218_r8, & + 0.0054766246991111104_r8, 0.0054120344756296282_r8, & + 0.0053914399888888888_r8, 0.0055951383362962959_r8, & + 0.0056603706207407397_r8, 0.0056176451385185179_r8, & + 0.0055357580977777781_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,78) / & + 0.0051154213784235358_r8, 0.0053115563050270308_r8, & + 0.0052647628414681218_r8, 0.0053483724439506181_r8, & + 0.0054007635091358015_r8, 0.0054449912938271602_r8, & + 0.0055338998651851849_r8, 0.0055317550395061737_r8, & + 0.005597301651851851_r8, 0.0056304077758024679_r8, & + 0.0056857479762962952_r8, 0.0057232315785185183_r8, & + 0.0057115235245502648_r8, 0.005777913572425044_r8, & + 0.0057928938392768957_r8, 0.0058447569524514992_r8, & + 0.0060950940323809509_r8, 0.007413765613333333_r8, & + 0.0078809585688888895_r8, 0.0080177466755555551_r8, & + 0.0080531501666666686_r8, 0.0081635728649999996_r8, 0.00824135862_r8, & + 0.0082412338133333336_r8, 0.0082397860559999987_r8, & + 0.0085180550000000001_r8, 0.0076648766266666666_r8, 0.0085105666_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,5,78) / & + 0.0057905763313580256_r8, 0.0057789831787654318_r8, & + 0.0057879045441975308_r8, 0.0059996321204938271_r8, & + 0.006030556439012345_r8, 0.0059496262493827163_r8, & + 0.0061020290567901222_r8, 0.0060603806098765431_r8, & + 0.0060778073185185182_r8, 0.0061188455995061708_r8, & + 0.0061741765550617283_r8, 0.0063071095224691365_r8, & + 0.0064921746967901237_r8, 0.0068471433466666667_r8, & + 0.0071965927683950619_r8, 0.0073684376809876537_r8, & + 0.0075895884907936501_r8, 0.0077362277395414463_r8, & + 0.008007119123747795_r8, 0.0082257880638395061_r8, & + 0.0083232644147583756_r8, 0.0082763234718077582_r8, 0.00834276321122575_r8, & + 0.0084934254443888874_r8, 0.0085157668777777768_r8, & + 0.0085525449137400789_r8, 0.0085648809012499987_r8, & + 0.0086764520809305551_r8, 0.0086956664758571431_r8, & + 0.0082985455440816331_r8, 0.0085685443908163281_r8, & + 0.0084634936855555558_r8, 0.0082176037511111112_r8, & + 0.0081085019233333323_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,78) / & + 0.0059215955965432089_r8, 0.0059240917298765449_r8, & + 0.0058417747995061732_r8, 0.0059234260943209875_r8, & + 0.0060898164933333322_r8, 0.005984710790123457_r8, & + 0.0061544663466666667_r8, 0.0062573255298765413_r8, & + 0.0063980982049382708_r8, 0.0065418489057407405_r8, & + 0.0066842567792592591_r8, 0.00679398841845679_r8, 0.0069812561993209867_r8, & + 0.007177511215802468_r8, 0.0073478156905555552_r8, & + 0.0075194445027160486_r8, 0.0078765013530246921_r8, & + 0.0080712529114197514_r8, 0.0082881414745061728_r8, & + 0.0085258299930864208_r8, 0.0086631011477777773_r8, & + 0.0088094034515432094_r8, 0.0088006608766137574_r8, & + 0.0087556637809876534_r8, 0.0087581252458024689_r8, & + 0.0087929486170370361_r8, 0.0089208260559858893_r8, & + 0.0090257143710758356_r8, 0.0090345335881944436_r8, & + 0.0088179546479960312_r8, 0.008600379854603173_r8, & + 0.0083904692058359778_r8, 0.0084605179380317468_r8, & + 0.0085294311276666659_r8, 0.0085178053866666673_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,78) / & + 0.0051216033530864192_r8, 0.0051399822903703705_r8, & + 0.0049984977550617286_r8, 0.0050164052004938271_r8, & + 0.0053222647382716046_r8, 0.0054015215940740749_r8, 0.00564960026765432_r8, & + 0.0059390592849382709_r8, 0.0060981080473456782_r8, & + 0.0062501012709700174_r8, 0.0063881546134744276_r8, & + 0.0065529667694532627_r8, 0.0068244978703703692_r8, & + 0.0070288341185185182_r8, 0.0071393827791358007_r8, & + 0.0073115789993827172_r8, 0.0075908558727777768_r8, & + 0.0079574878377248678_r8, 0.0081189219262768966_r8, 0.00828355076833686_r8, & + 0.0083877323409135788_r8, 0.0082727590528395064_r8, & + 0.0081880996862345682_r8, 0.0081908202404444453_r8, & + 0.0082604898641358039_r8, 0.0083827738182716046_r8, & + 0.0086081226554938269_r8, 0.0086925416537037038_r8, & + 0.0087251855307407412_r8, 0.0087307641906349195_r8, & + 0.0087574591480000016_r8, 0.0087421301158518514_r8, & + 0.0087050372278333326_r8, 0.008741851182857141_r8, & + 0.0087234867733333339_r8, 0.0087453279399999986_r8, & + 0.0087015207999999993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,78) / & + 0.002463960948148148_r8, 0.0025321885925925925_r8, & + 0.0024521736518518522_r8, 0.0020384719091358027_r8, & + 0.0020823391412345678_r8, 0.0022329114508641973_r8, & + 0.0024777451511111114_r8, 0.0030771961935802464_r8, & + 0.0035291442459259251_r8, 0.0038834472602469129_r8, & + 0.0041247493940740742_r8, 0.0043833950320987655_r8, & + 0.0046634334572839501_r8, 0.0049588924395061722_r8, & + 0.0051515846879012341_r8, 0.0053760702790123446_r8, & + 0.0056706325022222222_r8, 0.0060052715328395047_r8, & + 0.0062644811120987657_r8, 0.006493903500246913_r8, & + 0.0067692454967901231_r8, 0.0067617201170370369_r8, & + 0.0069552074301234565_r8, 0.007132118568888888_r8, & + 0.0072469684370370371_r8, 0.0074933275520987644_r8, & + 0.0077124510790123448_r8, 0.0079915002958024679_r8, & + 0.0083461176380246922_r8, 0.0085362213037037046_r8, & + 0.008747893410370371_r8, 0.0088872423649382706_r8, & + 0.0089454088751322741_r8, 0.0090269061426719588_r8, & + 0.0090821098152380954_r8, 0.0091131781566878307_r8, & + 0.0090614562929629636_r8, 0.0092086657562962942_r8, & + 0.0090699032774999994_r8, 0.008929916999999999_r8, & + 0.0089089494799999992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,78) / & + 0.00070118234320987649_r8, 0.00073183855851851839_r8, & + 0.0007682081456790123_r8, 0.00069411921037037052_r8, & + 0.00071036256691358018_r8, 0.00074226684888888876_r8, & + 0.0009439081975308642_r8, 0.0011733028508641977_r8, & + 0.0013790859318518517_r8, 0.0015537320607407403_r8, & + 0.0016777898874074072_r8, 0.0017596815506172839_r8, & + 0.0018675514903703702_r8, 0.0021678178404938267_r8, & + 0.0024281368123456786_r8, 0.0027363168296296297_r8, & + 0.0032387364668518513_r8, 0.0037148981681481481_r8, & + 0.0041711312493827148_r8, 0.004597862576975309_r8, & + 0.0050636745698765442_r8, 0.0053029705520987649_r8, & + 0.0056654523652028216_r8, 0.005952414588800704_r8, & + 0.0061461388034303351_r8, 0.0064042191795149897_r8, & + 0.0066182764802557321_r8, 0.0069502237480423288_r8, & + 0.0073458055768342162_r8, 0.0078002750210052901_r8, & + 0.0082243797625820118_r8, 0.0085990531399259273_r8, & + 0.0088650702294814799_r8, 0.0090884284003703696_r8, & + 0.0091929401162962956_r8, 0.0092695034593333319_r8, & + 0.0092469493345833324_r8, 0.0092507949399999977_r8, & + 0.0091019629899999985_r8, 0.0092122296799999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,78) / & + 0.0003584539916049383_r8, 0.00037177594765432092_r8, & + 0.00040968019456790123_r8, 0.00036772666469135808_r8, & + 0.00041409927506172841_r8, 0.00047029925481481473_r8, & + 0.00062970972543209872_r8, 0.00073150574074074091_r8, & + 0.00082982565925925913_r8, 0.00092143375259259245_r8, & + 0.0009776707120987653_r8, 0.0010130141111111112_r8, & + 0.0010879258459259259_r8, 0.0012779740419753085_r8, & + 0.0014987246780246912_r8, 0.0017722639116049383_r8, & + 0.0022282427570370369_r8, 0.0027284031624691357_r8, & + 0.0032673923086419744_r8, 0.0038112350474074075_r8, & + 0.0042795096607407398_r8, 0.0047290262943209867_r8, & + 0.005093526475555556_r8, 0.005371789872592592_r8, 0.0055851168232098763_r8, & + 0.0057622221056790116_r8, 0.0059294722839506172_r8, & + 0.0061295809538977073_r8, 0.0061944671144567899_r8, & + 0.0061486171072398588_r8, 0.0063433139884285722_r8, & + 0.0066897136040740745_r8, 0.0072584853188888887_r8, & + 0.0078480928133333339_r8, 0.0082246761288888894_r8, & + 0.0085218546696296284_r8, 0.0087471723051851837_r8, & + 0.0090120536540740735_r8, 0.0092256117281481458_r8, & + 0.0093482550792592586_r8, 0.009445257594074075_r8, & + 0.0095046239651851855_r8, 0.0095335236422222219_r8, & + 0.0095442847503703701_r8, 0.0095191760758333334_r8 & + / +data delta_sa_ref(:,11,78) / & + 0.00023030065728395064_r8, 0.00024412183999999998_r8, & + 0.00022525292098765434_r8, 0.00018121003506172838_r8, & + 0.00019384786567901234_r8, 0.0002249755728395062_r8, & + 0.00035315664197530861_r8, 0.00040245065283950625_r8, & + 0.00048532227950617282_r8, 0.00058695188592592588_r8, & + 0.00065927503802469133_r8, 0.00069539501185185166_r8, & + 0.00078414641925925936_r8, 0.00088829989382716045_r8, & + 0.0010153068558024689_r8, 0.0011494416651851851_r8, & + 0.0014586478706172842_r8, 0.0018262451061728396_r8, & + 0.002329752179259259_r8, 0.0028432622755555554_r8, & + 0.0033663501279012345_r8, 0.003834014575308642_r8, & + 0.0042725389772839493_r8, 0.0046009191846913579_r8, & + 0.0048717588962962962_r8, 0.0050531445851851849_r8, & + 0.0051649990933333324_r8, 0.0052163085007407408_r8, & + 0.0050723185871604931_r8, 0.0050054776834567907_r8, & + 0.0052290665155555558_r8, 0.0058834417362962953_r8, & + 0.0066354250153086419_r8, 0.0074748839002469133_r8, & + 0.0080230810049382716_r8, 0.0084051003441975303_r8, & + 0.0087126054809876542_r8, 0.0090009088809876528_r8, & + 0.0092207997377777764_r8, 0.0093427404735802466_r8, & + 0.0094375010908641956_r8, 0.0094798429081481474_r8, & + 0.0095146801467901245_r8, 0.0095215646542151661_r8, 0.0095012985608888892_r8 & + / +data delta_sa_ref(:,12,78) / & + 0.00016981102617283952_r8, 0.00018507441925925925_r8, & + 0.00014496987703703702_r8, 0.00015698829679012345_r8, & + 0.0001758849506172839_r8, 0.00018424237481481481_r8, & + 0.00024219889283950616_r8, 0.00030466694074074066_r8, & + 0.00035059579407407406_r8, 0.00040274649086419754_r8, & + 0.00045155976493827161_r8, 0.00050585528740740738_r8, & + 0.00054338049185185188_r8, 0.0006327698000000001_r8, & + 0.00076351171703703709_r8, 0.000862478781234568_r8, & + 0.0010850506701234567_r8, 0.0013745651570370367_r8, & + 0.0017492162804938274_r8, 0.0021773031471604941_r8, & + 0.0026407796375308647_r8, 0.0031198985634567898_r8, & + 0.0035858249624691361_r8, 0.0040070890646913574_r8, & + 0.0043880729708641979_r8, 0.0046482994933333332_r8, & + 0.0047844219644444441_r8, 0.0048701225422222213_r8, & + 0.004658163842469136_r8, 0.0044072007481481485_r8, & + 0.0044086522034567904_r8, 0.0048763998553086408_r8, & + 0.0057084073199999991_r8, 0.0069617436014814821_r8, & + 0.0078886688474074061_r8, 0.0084646007669135805_r8, & + 0.0088781176108641974_r8, 0.009204842974320988_r8, & + 0.0093770033704320983_r8, 0.0094748321516049394_r8, & + 0.0095481283334567894_r8, 0.009592633334225751_r8, & + 0.0095915405164867708_r8, 0.0095420312966666664_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,78) / & + 0.00019541026024691357_r8, 0.0002085842972839506_r8, & + 0.00018050741975308643_r8, 0.00014918556888888891_r8, & + 0.0001529759935802469_r8, 0.00015095597456790124_r8, & + 0.00017556946709876541_r8, 0.00020662783722222219_r8, & + 0.00023506229575837742_r8, 0.00025239870116402114_r8, & + 0.00027380420011463845_r8, 0.00031395265579365077_r8, & + 0.00032380330261022925_r8, 0.00036910432558201061_r8, & + 0.00043322903340388007_r8, 0.00049748300527336861_r8, & + 0.00069269829637566148_r8, 0.00093359035115520288_r8, & + 0.0011863258322134039_r8, 0.0014949846052292768_r8, & + 0.0018868999905555552_r8, 0.0024197719591798946_r8, & + 0.002917597027169312_r8, 0.0033337166184021164_r8, 0.003715391913887125_r8, & + 0.0040185872915784824_r8, 0.0042130735532627866_r8, & + 0.0043856554195061724_r8, 0.0041043920399999991_r8, & + 0.0038865827470970014_r8, 0.0036779185471322749_r8, & + 0.0038402164761128753_r8, 0.0047705635378342158_r8, & + 0.0066153738998148137_r8, 0.0077896418892169309_r8, & + 0.0086011269446684292_r8, 0.0090527428395890657_r8, & + 0.009329483529257495_r8, 0.0094645743849464271_r8, & + 0.0095420072268095242_r8, 0.0096238117564761902_r8, & + 0.0096797055306666654_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,78) / & + 0.00024831582275573191_r8, 0.00024641782041975304_r8, & + 0.00021982594411640215_r8, 0.0001674639674691358_r8, & + 0.00015604782242680776_r8, 0.00015226677474426808_r8, & + 0.00013518486102777775_r8, 0.00015077061355555553_r8, & + 0.0001520883002675737_r8, 0.00016572304653968256_r8, & + 0.00017985413279365074_r8, 0.0002088051192380952_r8, & + 0.0002320886943809524_r8, 0.0002755847091904762_r8, & + 0.00032320469285714281_r8, 0.00038474329428571429_r8, & + 0.00057830506214285725_r8, 0.00083372517422222216_r8, & + 0.0010642285267777778_r8, 0.0013568096752777778_r8, & + 0.0016980290218333333_r8, 0.0021881422759841267_r8, & + 0.0026549307985079366_r8, 0.0030636500477777772_r8, & + 0.0034445891159999996_r8, 0.0037835765033333336_r8, & + 0.0039391188917777776_r8, 0.0038583273762222221_r8, & + 0.0032550805932222223_r8, 0.0029665146831999996_r8, & + 0.0028636764859999997_r8, 0.0033111458279999999_r8, & + 0.0045246784899999996_r8, 0.0062137911155555553_r8, & + 0.0075103243711111102_r8, 0.0084699420299999984_r8, & + 0.0090796849999999988_r8, 0.0093260533599999994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,78) / & + 0.00026575667666108737_r8, 0.00025321774986666667_r8, & + 0.00017791190333333329_r8, 0.00015285696499999998_r8, & + 0.00015210812499999999_r8, 0.000144619725_r8, 0.00013878501333333332_r8, & + 0.0001198144_r8, 0.0001198144_r8, 0.00012580512_r8, & + 0.00013703772000000001_r8, 0.00016324712_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,78) / & + 0.00138491738890965_r8, 0.0005317552059246935_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,23,78) / & + 0.0027635792508761397_r8, 0.00084039169713901016_r8, & + 0.00048174168532977762_r8, 0.00035646301649066653_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,78) / & + 0.00090903176656047637_r8, 0.00056989338148404197_r8, & + 0.00044504202375033735_r8, 0.00037567456469605071_r8, & + 0.0003317540916845461_r8, 0.00031850025305881234_r8, & + 0.00037449754665316149_r8, 0.00051218705099844157_r8, & + 0.00072676029928194375_r8, 0.0010009186400856355_r8, & + 0.001257938742647917_r8, 0.0016192701868617424_r8, & + 0.0020702431331627038_r8, 0.0023928927403901439_r8, & + 0.0026443573090600189_r8, 0.0029424739579775954_r8, & + 0.0035113470971083714_r8, 0.0039637724919677287_r8, & + 0.0043452699458505573_r8, 0.0046082135504899851_r8, & + 0.0046667274758389358_r8, 0.0044793897659552466_r8, & + 0.0040666129975641006_r8, 0.0036510456167012373_r8, & + 0.0032847036380755416_r8, 0.0029588459232079566_r8, & + 0.0027234746155146384_r8, 0.0026221550341694044_r8, & + 0.0029054001812433908_r8, 0.0033164690949265604_r8, & + 0.0037562578599540449_r8, 0.004253513958021397_r8, & + 0.0047046691424209698_r8, 0.0049285362718346033_r8, & + 0.0050468606974980474_r8, 0.0052440534072562134_r8, & + 0.0055821035524362675_r8, 0.0062094336538696003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,78) / & + 0.00045253844643028802_r8, 0.000427345807206716_r8, & + 0.00041768790863644433_r8, 0.00036427778499950608_r8, & + 0.00033826411636727569_r8, 0.00033143660865316867_r8, & + 0.00037825689098376956_r8, 0.00051482865130297937_r8, & + 0.00070185050818054318_r8, 0.00099731306511223038_r8, & + 0.0012560237529879177_r8, 0.0015837225172279834_r8, & + 0.0020039383322016133_r8, 0.0023619287604137607_r8, & + 0.0026337543127909137_r8, 0.0029304700198726588_r8, & + 0.003533645756754699_r8, 0.0040075741798842471_r8, & + 0.0044523776650434894_r8, 0.0047415960772619579_r8, & + 0.0048013799818345335_r8, 0.0046783336007211185_r8, & + 0.0043045954580616949_r8, 0.0038650565153278017_r8, & + 0.0035059340851020244_r8, 0.0031301483846081315_r8, & + 0.0029007721360979092_r8, 0.0028043351329245102_r8, & + 0.0031674106962899093_r8, 0.0035994037305771185_r8, & + 0.0040907543360268637_r8, 0.0047050814887916372_r8, & + 0.0052648013119725428_r8, 0.0054582027371171023_r8, & + 0.0055288922889007398_r8, 0.0056152909729226003_r8, & + 0.0058503507666484936_r8, 0.0064653828163726747_r8, & + 0.0076194025392428638_r8, 0.0099162376343096895_r8, & + 0.011292449289706664_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,78) / & + 0.00029941486221790289_r8, 0.00033116544647811687_r8, & + 0.00031204656948113913_r8, 0.00031181814801164114_r8, & + 0.00031232067524453665_r8, 0.00031533583864190947_r8, & + 0.00029998591589164774_r8, 0.00033155376297626333_r8, & + 0.00038939007905314233_r8, 0.00056424671395381731_r8, & + 0.00073458060375843277_r8, 0.00090098564428768395_r8, & + 0.0012091262066404079_r8, 0.0015787349864350285_r8, & + 0.0019136465450129119_r8, 0.0022955443998665219_r8, & + 0.0030577868435811557_r8, 0.003720848685239783_r8, & + 0.0043332238028168171_r8, 0.0046804929628945389_r8, & + 0.0047567857337068508_r8, 0.004699497629156767_r8, & + 0.0044086942563389374_r8, 0.0040354535751792988_r8, & + 0.0036967730623546999_r8, 0.0033852518622534055_r8, & + 0.0031806090677301991_r8, 0.0031083365147810509_r8, & + 0.0035581897568102974_r8, 0.0040804297625234428_r8, & + 0.0046979672053111309_r8, 0.0052999719881729581_r8, & + 0.0058383328390959194_r8, 0.0061393694937472579_r8, & + 0.0063541513462478045_r8, 0.0065838748181218871_r8, & + 0.006879692450090678_r8, 0.0075052177100876126_r8, & + 0.0086292508009078155_r8, 0.010199230473996086_r8, 0.0112005380934754_r8, & + 0.011252297876357417_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,78) / & + 0.00025575924404432591_r8, 0.00028942064709214813_r8, & + 0.0002198585631113481_r8, 0.00023237925666275551_r8, & + 0.00021571710293665183_r8, 0.00021102184285487404_r8, & + 0.00018089994356100739_r8, 0.00018094810007466663_r8, & + 0.00018874945528746665_r8, 0.00023712267325819256_r8, & + 0.00029743870661641476_r8, 0.00039738755071620731_r8, & + 0.00054496318682500738_r8, 0.00074514981410654798_r8, & + 0.00097733644471466666_r8, 0.0012830580716804737_r8, & + 0.0019761747727781919_r8, 0.0027959912613134221_r8, & + 0.0036215624532309337_r8, 0.0041805632637876141_r8, & + 0.0044414752547934809_r8, 0.0044805542656279696_r8, & + 0.0042918529668541615_r8, 0.0039736106463369473_r8, & + 0.0036745105399992881_r8, 0.0034352930583969182_r8, & + 0.0033081117058228146_r8, 0.0034166805658676145_r8, & + 0.0040096557968109037_r8, 0.0046473925072004737_r8, & + 0.0052646867775416883_r8, 0.0057688132407836433_r8, & + 0.0062199675390004145_r8, 0.0066644280818185476_r8, & + 0.0071698547709293028_r8, 0.0076568375153085603_r8, & + 0.0081187698432386955_r8, 0.008721800756190461_r8, 0.009434880740025622_r8, & + 0.010070019782726038_r8, 0.010684371240150958_r8, 0.011134971812169599_r8, & + 0.010809265232035199_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,78) / & + 0.00018082052140570864_r8, 0.00021431142856233082_r8, & + 0.00017585890553065351_r8, 0.00011642077249682961_r8, & + 9.8396943399690532e-05_r8, 0.00011285144679079506_r8, & + 0.00011411716512626831_r8, 0.00013892524450154401_r8, & + 0.00016634070364789463_r8, 0.00018719974181649382_r8, & + 0.00019504719549642794_r8, 0.00023884104990380247_r8, & + 0.0003042280591143506_r8, 0.00039351183049863382_r8, & + 0.00052907026422781885_r8, 0.00068999369339988793_r8, & + 0.0011162876287872793_r8, 0.0017373756160040028_r8, & + 0.0025820147756320131_r8, 0.0033694181521299227_r8, & + 0.0037891303521728533_r8, 0.0039891644779110466_r8, & + 0.0039364093376885196_r8, 0.0036975936021514267_r8, & + 0.0034463991412934055_r8, 0.0032463143868217939_r8, & + 0.0032003941256108243_r8, 0.0035854762719952065_r8, & + 0.0043182512451340905_r8, 0.0050342934218780182_r8, & + 0.0056644692667434391_r8, 0.0061714654032006058_r8, & + 0.0066322881347797066_r8, 0.0071586497617696131_r8, & + 0.007690453977602053_r8, 0.0081697055681456444_r8, 0.008607998513353322_r8, & + 0.0091630729607834402_r8, 0.0097039406239823947_r8, & + 0.010205711151883108_r8, 0.010619384779263342_r8, 0.010968235478370501_r8, & + 0.011078181132919394_r8, 0.011012015319467732_r8, 0.011078655389830399_r8 & + / +data delta_sa_ref(:,29,78) / & + 0.00014061132401693499_r8, 0.00016655113964468145_r8, & + 0.00015855944619130204_r8, 0.00015003674320613665_r8, & + 0.00014857646699372508_r8, 0.00016124104432682138_r8, & + 0.00016509086343226994_r8, 0.00020364215543993414_r8, & + 0.00021866972518947821_r8, 0.00022339571002237364_r8, & + 0.00023983045503115058_r8, 0.00028170055661247737_r8, & + 0.00038686699438269628_r8, 0.00040022188410711437_r8, & + 0.00048937838449398521_r8, 0.00059234113270729212_r8, & + 0.00087218315595851824_r8, 0.0013181515112289973_r8, & + 0.002025190702802067_r8, 0.002810633451743341_r8, 0.00340427555780351_r8, & + 0.0036486461443314294_r8, 0.0035763757470553539_r8, & + 0.0034300029696185418_r8, 0.0033161279755270314_r8, & + 0.003255274283184356_r8, 0.0032760633063537775_r8, 0.00376366280891628_r8, & + 0.0045062796391190122_r8, 0.0052507815531595853_r8, & + 0.0059041887820222676_r8, 0.006413320721098693_r8, & + 0.0069069737323235536_r8, 0.0072849463170488356_r8, & + 0.0076368463337634241_r8, 0.0080927711177548912_r8, & + 0.0086059652797494789_r8, 0.0092677624592143806_r8, & + 0.0098748324688095867_r8, 0.01040432236510338_r8, 0.010800627733885508_r8, & + 0.011067794554533189_r8, 0.011218501561811593_r8, 0.011415001720325973_r8, & + 0.011574467865292799_r8 & + / +data delta_sa_ref(:,30,78) / & + 0.00019525634311861727_r8, 0.00023046194817501236_r8, & + 0.00023098989331792595_r8, 0.00026669565693076544_r8, & + 0.00028014436478182716_r8, 0.00028045001723298767_r8, & + 0.00029798335329501231_r8, 0.00026977996802883948_r8, & + 0.00029106449326419745_r8, 0.00030932028057441974_r8, & + 0.00032835409230577771_r8, 0.00039409715589175295_r8, & + 0.00049110012925550621_r8, 0.00050221476384316045_r8, & + 0.00058751958430340741_r8, 0.00066479408127407397_r8, & + 0.00089417235257679018_r8, 0.0012368365369141729_r8, & + 0.0018686201534629135_r8, 0.0025259952161497284_r8, & + 0.0030192349125633582_r8, 0.0032221881401339253_r8, & + 0.0031873159741151605_r8, 0.003093397311849481_r8, & + 0.0030628042801469626_r8, 0.0030649160607186172_r8, & + 0.003102511312211358_r8, 0.0034475095698121476_r8, & + 0.0040844337048576785_r8, 0.0047956313855352104_r8, & + 0.005487656321549037_r8, 0.0059356038820179745_r8, & + 0.0063701583078087905_r8, 0.0066485799042295315_r8, & + 0.006888822730841679_r8, 0.0073370759437617764_r8, & + 0.0079621629929714569_r8, 0.0087278779563014306_r8, & + 0.0096502259075579265_r8, 0.010372750095544937_r8, 0.010895804700002142_r8, & + 0.011076806462238461_r8, 0.01147494126964343_r8, 0.011841003744543999_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,31,78) / & + 0.0002925487791976296_r8, 0.00034180029490183371_r8, & + 0.00032551856225006092_r8, 0.00040260284375292832_r8, & + 0.00042570491004670938_r8, 0.00039615980516345684_r8, & + 0.00037375428358205098_r8, 0.00038928142612875051_r8, & + 0.00040335743385800152_r8, 0.0004207130062746863_r8, & + 0.00045707844479994718_r8, 0.00050096076167959174_r8, & + 0.00054510428282637682_r8, 0.00058710012444333813_r8, & + 0.00066078875047337587_r8, 0.00074472238831460071_r8, & + 0.00095586250425336587_r8, 0.0013234639762094351_r8, & + 0.0020291508379346695_r8, 0.0027106327709048618_r8, & + 0.0030905398661128952_r8, 0.0031670146709924336_r8, & + 0.0031105945492900335_r8, 0.0030268350476269036_r8, 0.00298716102171786_r8, & + 0.0029760743517125519_r8, 0.0029914273580811581_r8, & + 0.0031665503078508505_r8, 0.0035127910752940764_r8, & + 0.0040522903498880587_r8, 0.0046499220852690296_r8, & + 0.0051422703618070652_r8, 0.0055515012638386891_r8, & + 0.005928756410167834_r8, 0.0063194925989510774_r8, & + 0.0068669876263892007_r8, 0.0075115122651335867_r8, & + 0.0081404045540570073_r8, 0.0089189471940795528_r8, & + 0.0096406680590127233_r8, 0.010301935683975859_r8, 0.01086782944245944_r8, & + 0.011453284705587196_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,78) / & + 0.00039890184251435712_r8, 0.00040988578917541401_r8, & + 0.0003829251928255473_r8, 0.00043109721234180736_r8, & + 0.00045494115165010696_r8, 0.00045787625585430114_r8, & + 0.00048371727637370196_r8, 0.00054290350135724778_r8, & + 0.00057537120044075718_r8, 0.00061280134374579079_r8, & + 0.0006563740247152723_r8, 0.00070817710097898921_r8, & + 0.00078839319629155546_r8, 0.00090074414381911426_r8, & + 0.001033640820776033_r8, 0.0011885053910550647_r8, & + 0.0015503099371329051_r8, 0.0020098201685235621_r8, & + 0.0025808038420611417_r8, 0.0030742947128467482_r8, & + 0.0032942762341301728_r8, 0.003286529979735598_r8, & + 0.0031962982195612964_r8, 0.0030906344682103044_r8, & + 0.0030289065035035384_r8, 0.0030006750372920622_r8, & + 0.0029983148504062153_r8, 0.003090634468210304_r8, & + 0.0033012660183690265_r8, 0.0036449455395158119_r8, & + 0.0041062107816677391_r8, 0.0045745868432834364_r8, & + 0.0049782695771819442_r8, 0.0054012271706482028_r8, & + 0.0058761088756030932_r8, 0.0063907809107488656_r8, & + 0.0069704639910772278_r8, 0.0074907339053753271_r8, & + 0.0079951444228587559_r8, 0.0085731405747398598_r8, & + 0.009250731966315609_r8, 0.0097943216941712569_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,78) / & + 0.00035340445365507155_r8, 0.00034581417887288884_r8, & + 0.00034622361278230113_r8, 0.00043151971933353078_r8, & + 0.00048513981400849374_r8, 0.00057616799529149629_r8, & + 0.00090404075775756757_r8, 0.0011057915662573657_r8, & + 0.0012304608172181272_r8, 0.001343410022521961_r8, & + 0.0014680933337131285_r8, 0.0016105004089444343_r8, & + 0.0018751420656394604_r8, 0.0022238020351464513_r8, & + 0.0025404800421635499_r8, 0.002799806931765242_r8, & + 0.0031097545876917665_r8, 0.0032087954130783371_r8, & + 0.0032154256553284227_r8, 0.0031855111091173747_r8, & + 0.0031461340278433297_r8, 0.0030911118469923154_r8, & + 0.0030490880679467113_r8, 0.0030162180613043975_r8, & + 0.003007100283090946_r8, 0.0030122429529641135_r8, & + 0.0030390102572011623_r8, 0.0031928674216656077_r8, & + 0.0034156215148272002_r8, 0.0037435086749692073_r8, & + 0.0040845553109161506_r8, 0.0044281605713513911_r8, & + 0.0047146735350925336_r8, 0.005145753450418975_r8, & + 0.0057428113486742748_r8, 0.0062693937480443234_r8, & + 0.0069826159201289333_r8, 0.0075096181017379757_r8, & + 0.0079355094545992041_r8, 0.0083628214531406182_r8, & + 0.0091136917480867524_r8, 0.008834418453222399_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,78) / & + 0.0002613776994092345_r8, 0.00025672171096237362_r8, & + 0.00026416100558346902_r8, 0.00034811550276130651_r8, & + 0.00043620346093540315_r8, 0.00056390472779466151_r8, & + 0.0008112295949887859_r8, 0.00092170405528422313_r8, & + 0.00099350283389254708_r8, 0.0010802220506977182_r8, & + 0.0012370363962085136_r8, 0.0016265192399583998_r8, & + 0.0021063888119754667_r8, 0.0026118867773415109_r8, & + 0.0030007313660846222_r8, 0.0032861786437301337_r8, & + 0.0034302278891054218_r8, 0.0032919229387911109_r8, & + 0.0031814557260799996_r8, 0.0031310826770837331_r8, & + 0.0031235709066193777_r8, 0.003098384382121244_r8, & + 0.0030793840215349328_r8, 0.0030952913001653336_r8, & + 0.0031151753984533332_r8, 0.0031483155622666664_r8, & + 0.0032026654309205331_r8, 0.0033935527744853333_r8, & + 0.0035976961835754665_r8, 0.003963563592074666_r8, & + 0.0043135237219434665_r8, 0.0046210644421312_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,78) / & + 0.00033883067207038684_r8, 0.00032840106300202138_r8, & + 0.00033882472782160983_r8, 0.00040897280763845266_r8, & + 0.00047043633999216454_r8, 0.00054212143270704859_r8, & + 0.00061913524117247353_r8, 0.00062855311483676153_r8, & + 0.0006368828270412679_r8, 0.00073888225409542618_r8, & + 0.00082643121237280736_r8, 0.0009889498854035385_r8, & + 0.0009934368227405429_r8, 0.0012545519010562257_r8, & + 0.0016227301481890348_r8, 0.0018940061096034103_r8, & + 0.0028503861735253329_r8, 0.0029420057291029336_r8, & + 0.002904449965330133_r8, 0.0029541116163263998_r8, & + 0.0029353337344399993_r8, 0.0029650252570808887_r8, & + 0.0029723621584284445_r8, 0.0030079002743306662_r8, & + 0.003048482509909333_r8, 0.0029893287427946659_r8, & + 0.0030409163303946663_r8, 0.003168165713141333_r8, & + 0.0033153622964266667_r8, 0.0034391725066666664_r8, & + 0.0036152581390079997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,36,78) / & + 0.00065147126581522946_r8, 0.00063527777277108135_r8, & + 0.00065763183382115534_r8, 0.00064446581991134812_r8, & + 0.0007237083260904295_r8, 0.00077862538945754078_r8, & + 0.00081991879672011826_r8, 0.00094401023798234066_r8, & + 0.0010112836406070515_r8, 0.001152061420353896_r8, & + 0.0012701067041588738_r8, 0.0013882217658259598_r8, & + 0.0014118261707294813_r8, 0.0017534164654409185_r8, & + 0.0020877781508156063_r8, 0.0024669745642492574_r8, & + 0.0028092743300883972_r8, 0.0028722401126923119_r8, & + 0.0029045626014053624_r8, 0.0029440761074177382_r8, & + 0.0029676299705184363_r8, 0.0030170553275488355_r8, & + 0.0030524880230237356_r8, 0.0030699409121845238_r8, & + 0.0030719696249466378_r8, 0.0030842814572435424_r8, & + 0.0031227560903287145_r8, 0.0031966531093668171_r8, & + 0.0033266115487106023_r8, 0.0034339966610736519_r8, & + 0.003545030715584375_r8, 0.0037436743334332491_r8, & + 0.0038355480156385211_r8, 0.0034149153703452568_r8, & + 0.0029551135822185595_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,78) / & + 0.0010900104448998715_r8, 0.0010622072165557203_r8, & + 0.0010841437086437659_r8, 0.0011944820774853_r8, 0.0013112702122729878_r8, & + 0.0013933680805028345_r8, 0.0015777876593360588_r8, & + 0.0018685372778917395_r8, 0.0020114524306646909_r8, & + 0.0021581572764229531_r8, 0.0022530453584782219_r8, & + 0.0024056533798482169_r8, 0.0025307132483634561_r8, & + 0.0026990266320091128_r8, 0.0027590786900840297_r8, & + 0.0028092556827837628_r8, 0.002894268699463849_r8, & + 0.0029297606318455047_r8, 0.0029506768219759666_r8, & + 0.0029713743759726616_r8, 0.0030035503269921714_r8, & + 0.0030396981677751306_r8, 0.0030740604801323193_r8, & + 0.0030869600120246258_r8, 0.0030980740154911601_r8, & + 0.0031248205025220994_r8, 0.0031476315391452173_r8, & + 0.0032292556957519013_r8, 0.003328407182415644_r8, & + 0.0034363041144301032_r8, 0.003548719526542433_r8, & + 0.0037245758568030815_r8, 0.0037349610731570561_r8, & + 0.0031319535063862782_r8, 0.0029619886390873399_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,78) / & + 0.0010378226357331795_r8, 0.0010149552428327408_r8, & + 0.00097951864186272418_r8, 0.00096905360854175767_r8, & + 0.0010608539169085771_r8, 0.0011651347614457977_r8, & + 0.0013692202015522072_r8, 0.0015763261375504728_r8, & + 0.0017366274390826729_r8, 0.0018678715378419677_r8, & + 0.001966217151009367_r8, 0.0021651043187623357_r8, & + 0.0023218242981875494_r8, 0.0024725768875420266_r8, & + 0.0025787176890782284_r8, 0.0026692413373852679_r8, & + 0.0028007967969559382_r8, 0.0028492524241426499_r8, & + 0.0028968019563838979_r8, 0.0029527041393282295_r8, & + 0.0030095936885793347_r8, 0.0030234355200516737_r8, & + 0.0030810293313973062_r8, 0.0031254951267867402_r8, & + 0.0031384790340873723_r8, 0.0031598450596873242_r8, & + 0.0031991403011015114_r8, 0.0033146992962384981_r8, & + 0.0034098311921980798_r8, 0.0035504206901765889_r8, & + 0.0036560591970244303_r8, 0.0037528776082864234_r8, & + 0.0036756466715419456_r8, 0.0030152828857038664_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,78) / & + 0.00092688482694695557_r8, 0.00087424192886458463_r8, & + 0.00076489845644650653_r8, 0.00092082686691868443_r8, & + 0.0010702020817008888_r8, 0.0011616053722864888_r8, & + 0.0013926431985754662_r8, 0.0016229599794755198_r8, & + 0.0017560988530325326_r8, 0.0019326017589909332_r8, & + 0.0020697066948693328_r8, 0.0020807381264917328_r8, & + 0.0021043769085397328_r8, 0.0023134488030975998_r8, & + 0.0025724247930901333_r8, 0.0027704652560255993_r8, & + 0.0029753347004415993_r8, 0.0028366538457599995_r8, & + 0.0028429575209727993_r8, 0.0029217534611327995_r8, & + 0.0030037012388991996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,78) / & + 0.0011495185245483242_r8, 0.0011003692633495554_r8, & + 0.0010153633505636825_r8, 0.0015960554555041265_r8, & + 0.0018354540953699045_r8, 0.0019200051205432377_r8, & + 0.002302660451595555_r8, 0.0022774577421688881_r8, & + 0.0023140810342082534_r8, 0.0024783051407949201_r8, & + 0.0026298311080698408_r8, 0.0025924464438562959_r8, & + 0.0026009196128319997_r8, 0.0025479126239733325_r8, & + 0.0028834067559111109_r8, 0.0030194471874399995_r8, & + 0.0033251316630666661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,78) / & + 0.0010089783094869333_r8, 0.001156470155392_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,78) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,78) / & + 0.0038837900041300152_r8, 0.0036967989205703108_r8, & + 0.0032623283448904293_r8, 0.0038331034149012536_r8, & + 0.0037639644074003754_r8, 0.0037953104940551506_r8, & + 0.0041495574544664097_r8, 0.004371808774011339_r8, & + 0.0043350355055118217_r8, 0.0042637256252730463_r8, & + 0.0039225696853115262_r8, 0.0033208432327800894_r8, & + 0.002531171828364721_r8, 0.002479728722878815_r8, 0.0024713412600278518_r8, & + 0.0024079583544835163_r8, 0.0023658565801727999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,78) / & + 0.0036649977184240725_r8, 0.0037275404955034079_r8, & + 0.0035002310944529914_r8, 0.0033640528775967615_r8, & + 0.0035945187273822552_r8, 0.0038666046083459956_r8, & + 0.0042085832827293236_r8, 0.0042211639855448497_r8, & + 0.0039698655741078398_r8, 0.0036809152384738243_r8, & + 0.0034695233574731591_r8, 0.003190673657791394_r8, & + 0.0028026559240007117_r8, 0.0027268109701092612_r8, & + 0.0026508307398434498_r8, 0.0025826063550409744_r8, & + 0.0024042331824154664_r8, 0.0025959874430714668_r8, & + 0.0026694425143492153_r8, 0.0028448404119553062_r8, & + 0.0030167984246133729_r8, 0.0030540482236832609_r8, & + 0.0032176548527442011_r8, 0.0033389600764127058_r8, & + 0.0034073026669994445_r8, 0.0035247525139986751_r8, & + 0.0037049792950395281_r8, 0.0039762799288587652_r8, & + 0.0040087665501614385_r8, 0.0040637699239764145_r8, & + 0.0041126723333077334_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,78) / & + 0.0030993125709653326_r8, 0.0036131853498879997_r8, & + 0.0035578231094613327_r8, 0.0031210405130239999_r8, & + 0.0037290522647893333_r8, 0.0041470255979519999_r8, & + 0.0040854553740800005_r8, 0.0035894189655039993_r8, & + 0.0029149725252266665_r8, 0.0026762431319893331_r8, & + 0.0026639198215679997_r8, 0.0026298222408533329_r8, & + 0.0025545388595199993_r8, 0.0025816872050346664_r8, & + 0.0025504619748693332_r8, 0.0025894703484586655_r8, & + 0.0025347103750826658_r8, 0.0025943348130986667_r8, & + 0.0026782352460800003_r8, 0.0027884037881173327_r8, & + 0.0029306777967786656_r8, 0.0030420045446826667_r8, & + 0.0032009103895893325_r8, 0.0033428137723733333_r8, & + 0.0035099660430506661_r8, 0.0036608571033599994_r8, & + 0.0038998644660053331_r8, 0.0041649082965333328_r8, & + 0.0041736643328853336_r8, 0.0041643755218346654_r8, & + 0.0041964412785432392_r8, 0.0042115343555657143_r8, & + 0.0042324416260388562_r8, 0.0042243010933759985_r8, & + 0.004243619967231999_r8, 0.0042608540705280007_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,79) / & + 0.004700727497962469_r8, 0.0047179267311158041_r8, & + 0.0047421720524997062_r8, 0.0052622026855555547_r8, & + 0.0052941531922222219_r8, 0.0053830155388888889_r8, & + 0.0053489849211111103_r8, 0.005403095544814814_r8, & + 0.0054750049859259263_r8, 0.0055893625611111112_r8, & + 0.005894660468888889_r8, 0.0062331777511111111_r8, & + 0.0061138764451851855_r8, 0.0058210007628571418_r8, & + 0.0056539292100000003_r8, 0.0055796068400000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,79) / & + 0.004700727497962469_r8, 0.0047179267311158041_r8, & + 0.0047421720524997062_r8, 0.0052622026855555547_r8, & + 0.0052941531922222219_r8, 0.0053830155388888889_r8, & + 0.0053489849211111103_r8, 0.005403095544814814_r8, & + 0.0054750049859259263_r8, 0.0055893625611111112_r8, & + 0.005894660468888889_r8, 0.0062331777511111111_r8, & + 0.0061138764451851855_r8, 0.0058210007628571418_r8, & + 0.0056539292100000003_r8, 0.0055796068400000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,79) / & + 0.004700727497962469_r8, 0.0047179267311158041_r8, & + 0.0047421720524997062_r8, 0.0052622026855555547_r8, & + 0.0052941531922222219_r8, 0.0053830155388888889_r8, & + 0.0053489849211111103_r8, 0.005403095544814814_r8, & + 0.0054750049859259263_r8, 0.0055893625611111112_r8, & + 0.005894660468888889_r8, 0.0062331777511111111_r8, & + 0.0061138764451851855_r8, 0.0058210007628571418_r8, & + 0.0056539292100000003_r8, 0.0055796068400000001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,79) / & + 0.0048457016922999595_r8, 0.0048290638888134904_r8, & + 0.0048705582875887433_r8, 0.0052616398999382717_r8, & + 0.0054415695110493819_r8, 0.0055078222055555542_r8, & + 0.0055476309097530849_r8, 0.0056535975478395062_r8, & + 0.0057983805450529105_r8, 0.0059875711079894174_r8, & + 0.0062088802373633165_r8, 0.0063628137424074074_r8, & + 0.0062620128786684288_r8, 0.0063199510719047624_r8, & + 0.0065134879774814813_r8, 0.006430297400444443_r8, & + 0.0069168201351851848_r8, 0.0078666890066666668_r8, & + 0.0080015218088888892_r8, 0.0080771130466666657_r8, & + 0.0082087008755555545_r8, 0.0084755583300000006_r8, & + 0.0082934029999999995_r8, 0.0083091286399999999_r8, & + 0.0084909897828571411_r8, 0.0085350643657142872_r8, & + 0.0086183995599999983_r8, 0.0085583425920000011_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,79) / & + 0.0057229218730864197_r8, 0.0056671748953086411_r8, & + 0.0056880499659259258_r8, 0.005728450346172839_r8, & + 0.0059711299758024687_r8, 0.0057874422972839503_r8, & + 0.0060300017427160494_r8, 0.0063332542079012335_r8, & + 0.0065487999437037038_r8, 0.0067654180923456785_r8, & + 0.0069416358607407424_r8, 0.0070912004720987661_r8, & + 0.0072283306414814806_r8, 0.0073912449437037037_r8, & + 0.0075844271738271596_r8, 0.007666938247901235_r8, 0.007898976953580248_r8, & + 0.008158306717037038_r8, 0.0083196586246913565_r8, & + 0.0084239415283950611_r8, 0.0085314601604938242_r8, & + 0.0086855998606790129_r8, 0.0086541716930246902_r8, & + 0.0086304884724074087_r8, 0.0086801268572222218_r8, & + 0.0087163323467283962_r8, 0.008787746028024691_r8, & + 0.0087439943576543208_r8, 0.0088026037994444438_r8, & + 0.0086672346257142853_r8, 0.0086681275876984119_r8, & + 0.0088176207158730154_r8, 0.0086389708683597896_r8, & + 0.0086893588855978844_r8, 0.0087465604058333327_r8, 0.008758357756_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,79) / & + 0.0062452146607407406_r8, 0.0061359672251851847_r8, & + 0.0060823558281481484_r8, 0.0056485186098765416_r8, & + 0.0062069128814814809_r8, 0.006020470211358024_r8, 0.006335574687407408_r8, & + 0.0066715264992592586_r8, 0.0068906315362962951_r8, & + 0.0071500167693827159_r8, 0.0073581018399999989_r8, & + 0.0075182149259259258_r8, 0.0077355449348148137_r8, & + 0.0078795810730864189_r8, 0.0079899286562962954_r8, & + 0.0081218077007407397_r8, 0.0083801020311111106_r8, & + 0.0085784706716049378_r8, 0.0087886173634567893_r8, & + 0.0089483514069135794_r8, 0.0090452198701234561_r8, & + 0.0091047295377777778_r8, 0.0091331392330864184_r8, & + 0.0090141568775308628_r8, 0.0089762988553086422_r8, & + 0.0089987270755555546_r8, 0.0090585788059259261_r8, & + 0.0090646342404938282_r8, 0.009040079684444445_r8, & + 0.0089498490869135798_r8, 0.0088983917604938279_r8, & + 0.0088539143624691355_r8, 0.0088531192977777777_r8, & + 0.008820936512037034_r8, 0.0088437695285096991_r8, & + 0.0088782750578231297_r8, 0.0087460462915142853_r8, & + 0.0086099875906666661_r8, 0.0081818258400000003_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,79) / & + 0.0053719747713580242_r8, 0.0053603353940740736_r8, & + 0.0052518183086419741_r8, 0.0050145747027160485_r8, & + 0.0054561037096296288_r8, 0.0056334978964197521_r8, & + 0.0059539447911728391_r8, 0.0062934408812345679_r8, & + 0.0064573547924074064_r8, 0.0066343976715432093_r8, & + 0.0067987796077160498_r8, 0.0070345417122839498_r8, & + 0.0073701702814726634_r8, 0.0075437193993827169_r8, & + 0.0076679796241622576_r8, 0.0078603509411287482_r8, & + 0.0081742243876119936_r8, 0.008390417797375661_r8, & + 0.0085568345114444451_r8, 0.0086676803968271602_r8, & + 0.0087396568637407405_r8, 0.0087335616759382732_r8, & + 0.0087179786391111107_r8, 0.0086490613222716065_r8, & + 0.0086741215764444424_r8, 0.0087156082369382708_r8, & + 0.0088072595503580244_r8, 0.0088369300241234565_r8, & + 0.0088016088129629615_r8, 0.0087614684135873012_r8, & + 0.0087422020282645497_r8, 0.0086627455478306883_r8, & + 0.0086519990995132263_r8, 0.0087086167523703698_r8, & + 0.0087667530844444449_r8, 0.008792397882857142_r8, & + 0.0086423624399999989_r8, 0.0085200519066666678_r8, & + 0.0081818258400000003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,79) / & + 0.0028410527353086418_r8, 0.0028985007817283956_r8, & + 0.0028327692706172835_r8, 0.0024447037417283947_r8, & + 0.0024855108992592584_r8, 0.0026049555017283953_r8, & + 0.0029238781372839502_r8, 0.0036718953377777772_r8, & + 0.0041529372108641974_r8, 0.0045315913925925919_r8, & + 0.0048018024483950615_r8, 0.0050868054054320992_r8, & + 0.0055122759545679009_r8, 0.0058073096696296305_r8, & + 0.0059440607965432109_r8, 0.006139424832098765_r8, & + 0.0063994294760493821_r8, 0.0066659425565432102_r8, & + 0.006891888847901235_r8, 0.0070592499654320989_r8, & + 0.0072302813234567899_r8, 0.0071632462760493829_r8, & + 0.0073584993723456787_r8, 0.0075032196360493826_r8, & + 0.0076213514572839505_r8, 0.0077608945555555538_r8, & + 0.0079009091456790116_r8, 0.0080799651101234569_r8, & + 0.0083975842093827156_r8, 0.0085373769209876518_r8, & + 0.0087318326413580259_r8, 0.0088374918852469134_r8, & + 0.0088602818137037045_r8, 0.0089473546044620805_r8, & + 0.0089676672196384467_r8, 0.0089995349510899464_r8, & + 0.0088569050999999996_r8, 0.0086095382866666643_r8, & + 0.0086288833199999991_r8, 0.0089351588799999986_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,79) / & + 0.00083254367111111117_r8, 0.00086263594518518516_r8, & + 0.00090722428246913585_r8, 0.00081665162222222215_r8, & + 0.00083162842222222241_r8, 0.00090018888444444434_r8, & + 0.0011375896543209876_r8, 0.0014641116291358022_r8, & + 0.0017777831397530859_r8, 0.0020581266479012344_r8, & + 0.0022866060523456791_r8, 0.0024606882399999998_r8, & + 0.0027924243599999998_r8, 0.0032822581693827159_r8, & + 0.0036190697604938267_r8, 0.0039879797772839507_r8, & + 0.0044591110765432101_r8, 0.0048387174869135791_r8, & + 0.0051695938276543202_r8, 0.0054745196266666653_r8, & + 0.0057886811190123455_r8, 0.0059843502375308642_r8, & + 0.0062986134241975293_r8, 0.0065247908390123448_r8, & + 0.0066829809777777796_r8, 0.0068530196605555557_r8, & + 0.0070124971569753072_r8, 0.0073184156312345689_r8, & + 0.0077384432229629617_r8, 0.0080363545901499123_r8, & + 0.0084982437576366834_r8, 0.008806335948007055_r8, 0.008945826878412699_r8, & + 0.0091688979939682537_r8, 0.0092592401911111098_r8, & + 0.0092951193342962965_r8, 0.0092847688747499987_r8, & + 0.0092745082066666654_r8, 0.009190263706666665_r8, & + 0.0094831225500000005_r8, 0.0096106125600000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,79) / & + 0.00035121520493827153_r8, 0.00035534769234567905_r8, & + 0.0004136370281481481_r8, 0.00031540955901234564_r8, & + 0.0003647497945679011_r8, 0.00043713766123456785_r8, & + 0.00063573742518518517_r8, 0.00075960110814814793_r8, & + 0.00090830594024691352_r8, 0.0010415070108641975_r8, & + 0.0011333832074074074_r8, 0.0012262763471604936_r8, & + 0.0013996004498765433_r8, 0.0016775680088888889_r8, & + 0.0019682103782716052_r8, 0.0022923564039506175_r8, & + 0.0028644794088888894_r8, 0.0033738939975308637_r8, & + 0.0038025078256790123_r8, 0.004260797905679012_r8, & + 0.0046912699664197538_r8, 0.0051363860093827166_r8, & + 0.0055475269041975325_r8, 0.0057792235471604931_r8, & + 0.0059657771565432083_r8, 0.0061102015822222227_r8, & + 0.0062332239758024688_r8, 0.0064166805308641965_r8, & + 0.0065868705995061729_r8, 0.0068445664852116389_r8, & + 0.0071892511317901229_r8, 0.0071966943306455023_r8, & + 0.0074700450995555537_r8, 0.0079088736599999977_r8, & + 0.0082343486455555542_r8, 0.0085435363611111106_r8, & + 0.0088199761940740747_r8, 0.0090563253522222224_r8, & + 0.0092377457096296297_r8, 0.0093638697800000007_r8, & + 0.0094631396159259255_r8, 0.0095041594070370342_r8, & + 0.0095127988018518534_r8, 0.0095198711796296298_r8, 0.0095351461288888887_r8 & + / +data delta_sa_ref(:,11,79) / & + 0.00018637795555555555_r8, 0.00019306204592592591_r8, & + 0.00018440878370370363_r8, 0.0001582271185185185_r8, & + 0.00015978026814814815_r8, 0.00016562306913580244_r8, & + 0.000308475855308642_r8, 0.00034061126074074063_r8, & + 0.0004028019604938271_r8, 0.00049147940839506165_r8, & + 0.00057988875308641959_r8, 0.00063798394518518506_r8, & + 0.00079457470962962962_r8, 0.00091343688098765414_r8, & + 0.0010212883308641978_r8, 0.0011410472612345679_r8, & + 0.0014545061382716048_r8, 0.0018410832320987654_r8, & + 0.0022859311718518519_r8, 0.0027863966602469127_r8, & + 0.0033074876059259262_r8, 0.0038506647091358023_r8, & + 0.0044355457288888893_r8, 0.0047478120088888884_r8, & + 0.0049848984508641973_r8, 0.0051570854261728388_r8, & + 0.0052402898706172835_r8, 0.0052506626913580243_r8, & + 0.0050448981002469131_r8, 0.0049857489851851851_r8, & + 0.0052322005496296294_r8, 0.005906008630617284_r8, & + 0.0067869680434567885_r8, 0.0075966212474074066_r8, & + 0.0080312720202469125_r8, 0.0083989062355555553_r8, & + 0.008754669950123457_r8, 0.0090108194548148141_r8, & + 0.0092177951328395059_r8, 0.0093345679481481487_r8, & + 0.0094249464646913566_r8, 0.0094631808549541438_r8, & + 0.0094873574581164008_r8, 0.0095119404093333328_r8, 0.0095322062385185171_r8 & + / +data delta_sa_ref(:,12,79) / & + 0.00011093925925925926_r8, 0.00012201469530864198_r8, & + 8.1771479012345672e-05_r8, 0.0001375646814814815_r8, & + 0.00014323182864197528_r8, 0.00013751845679012346_r8, & + 0.00020050422123456789_r8, 0.00026140987456790127_r8, & + 0.0003036037728395062_r8, 0.00035203800444444448_r8, & + 0.00041179728543209879_r8, 0.00048407421283950619_r8, & + 0.0005770782918518519_r8, 0.000697382673580247_r8, & + 0.00082333571259259259_r8, 0.00092926421530864186_r8, & + 0.0011867265012345679_r8, 0.0015038648637037038_r8, & + 0.0018796068898765434_r8, 0.0023248061372839503_r8, & + 0.0027843997535802467_r8, 0.0032572228765432097_r8, & + 0.0037468902770370371_r8, 0.0041296861911111109_r8, & + 0.004421964914567901_r8, 0.0046238188967901231_r8, 0.004731993919506172_r8, & + 0.0046630913945679012_r8, 0.0043136697076543206_r8, & + 0.0042119106720987648_r8, 0.0043528682459259256_r8, & + 0.0050790396572839508_r8, 0.0061855940538271597_r8, & + 0.0072830514311111117_r8, 0.0080298205649382715_r8, & + 0.0085053154750617289_r8, 0.0089055843224691341_r8, & + 0.0091915949777777763_r8, 0.009376613927407405_r8, & + 0.0094780586350617282_r8, 0.0095524618982716046_r8, & + 0.0096247781166666664_r8, 0.0096155736249999967_r8, & + 0.0096106125600000005_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,79) / & + 0.00012030438172839506_r8, 0.00012632283654320987_r8, & + 0.00010696393580246914_r8, 0.00011627358864197529_r8, & + 0.00011868651753086421_r8, 0.00011995307407407409_r8, & + 0.00012491760592592594_r8, 0.00015176490666666664_r8, & + 0.00018470462172839503_r8, 0.00020831619407407409_r8, & + 0.00023565347654320987_r8, 0.00026509860493827164_r8, & + 0.00028976410024691361_r8, 0.00034303343456790127_r8, & + 0.00041428417382716046_r8, 0.00048928835802469132_r8, & + 0.00066942598024691356_r8, 0.00090095621432098767_r8, & + 0.0011690409343209874_r8, 0.001503532045925926_r8, & + 0.0018891661560493827_r8, 0.0023357151644444441_r8, & + 0.0028067447693827154_r8, 0.0032732073748148148_r8, & + 0.0036977719199999997_r8, 0.0040295912444444438_r8, & + 0.0042487517511111111_r8, 0.0042738332686419753_r8, & + 0.0038413458113580245_r8, 0.003537131872592593_r8, & + 0.0034586515916049392_r8, 0.0038489543955555561_r8, & + 0.0049210436622222214_r8, 0.0064798419491358013_r8, & + 0.0077176652241975315_r8, 0.0084708503451851845_r8, & + 0.0089767611022222218_r8, 0.0092915882301234549_r8, & + 0.0094635244364814821_r8, 0.0095474054123015871_r8, & + 0.0096095398169841265_r8, 0.0096934217833333329_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,79) / & + 0.00013880350320987652_r8, 0.00013900689185185184_r8, & + 0.00012187602123456791_r8, 0.00011973119555555558_r8, & + 0.00011474817382716048_r8, 0.00011130905679012344_r8, & + 0.00011531211506172838_r8, 0.00011906556_r8, 0.00012699771703703701_r8, & + 0.0001391270760493827_r8, 0.00015342899555555555_r8, & + 0.00017149360493827159_r8, 0.00019213986333333334_r8, & + 0.00022077259277777776_r8, 0.00026756469222222223_r8, & + 0.00032843105456790132_r8, 0.0004988880708024691_r8, & + 0.00074868514728395068_r8, 0.00098654816407407406_r8, & + 0.0013191590863580248_r8, 0.0016384584531481479_r8, & + 0.0020541711350264553_r8, 0.0025000109245855375_r8, & + 0.0029815526846913576_r8, 0.0033662965072592584_r8, & + 0.0036488791394567897_r8, 0.0038367002298765433_r8, & + 0.0035538659042345672_r8, 0.0030037340650864199_r8, & + 0.0025916169047901236_r8, 0.0025544683655449735_r8, & + 0.0029486749107160487_r8, 0.0040440960903456785_r8, & + 0.0059455041295132264_r8, 0.0075059639959753083_r8, & + 0.0085369639033703714_r8, 0.009095011258666668_r8, & + 0.0093330605609629642_r8, 0.0094794407533333319_r8, & + 0.0095170907644444441_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,79) / & + 0.000195346206031746_r8, 0.00018174518491710756_r8, & + 0.00015690740358024688_r8, 0.0001501498159506173_r8, & + 0.00014558420318518518_r8, 0.0001381582065185185_r8, & + 0.00015054226358024689_r8, 0.00014144029167548501_r8, & + 0.00014604493128747792_r8, 0.00015109415337742505_r8, & + 0.00016418861791005294_r8, 0.00018129555074074074_r8, & + 0.00021098604144841268_r8, 0.0002416346214285714_r8, & + 0.00028518880505952384_r8, 0.00034346014624999993_r8, & + 0.00050465590524603179_r8, 0.00080205043085714283_r8, & + 0.0010946937598214285_r8, 0.0014943856240277778_r8, & + 0.001821173679722222_r8, 0.0022568440371825396_r8, & + 0.0026884715501190471_r8, 0.0031665323433333328_r8, & + 0.0034544119206944444_r8, 0.0036219752712499994_r8, & + 0.0036788637100000003_r8, 0.0031300835963888893_r8, & + 0.0025163193258730164_r8, 0.0021786727187301583_r8, & + 0.0021306786122222221_r8, 0.0023785612931111109_r8, & + 0.0031152243226666666_r8, 0.0050136710099999999_r8, & + 0.0071152904699999997_r8, 0.00861839956_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,79) / & + 0.00027705158772534083_r8, 0.00025664635663450353_r8, & + 0.00024178739338636396_r8, 0.00024845261008054096_r8, & + 0.00025397472248777552_r8, 0.00024469897241436188_r8, & + 0.00025230590005525128_r8, 0.00024795434853788447_r8, 0.000249914042516_r8, & + 0.00026326401557269329_r8, 0.0002823091281686755_r8, & + 0.00030244374571999997_r8, 0.00030811766113678221_r8, & + 0.00033576561805546664_r8, 0.00037927506919413332_r8, & + 0.0004675202541051851_r8, 0.00067054077706062219_r8, & + 0.0010012833527895111_r8, 0.0013383224181953777_r8, & + 0.0018501067589061333_r8, 0.0023314698573573332_r8, & + 0.0028968804809349335_r8, 0.0034310916444277337_r8, & + 0.0038102252194718213_r8, 0.004051331251147555_r8, & + 0.0041253326916207995_r8, 0.0039120302604287996_r8, & + 0.0029747730105343997_r8, 0.0023656406945930667_r8, & + 0.0022735280029141333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,79) / & + 0.00032648689138346668_r8, 0.00032553780158293326_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,18,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,79) / & + 0.00074845677138029275_r8, 0.00034764954355597042_r8, & + 0.00031096371775040001_r8, 0.00025804914573226669_r8, & + 0.00025877400288320005_r8, 0.00023050457399680002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,79) / & + 0.0011004886277829573_r8, 0.00050511842662862212_r8, & + 0.00033925180614475338_r8, 0.00029803298520925082_r8, & + 0.00028609032271102177_r8, 0.00027221019037247147_r8, & + 0.00030540780758372315_r8, 0.00036182841220471862_r8, & + 0.00048288825004564164_r8, 0.00072138425406916614_r8, & + 0.00098589541612850045_r8, 0.0012731148854362351_r8, & + 0.0017151480035075451_r8, 0.0020280763531040007_r8, & + 0.0023485572694518053_r8, 0.0027276642801355461_r8, & + 0.003375157578040145_r8, 0.0039753510838142396_r8, & + 0.0043552215923815711_r8, 0.004574931594797332_r8, & + 0.0045827195367880522_r8, 0.0044028968602951952_r8, & + 0.0039677175107281767_r8, 0.0035180316662291899_r8, & + 0.0032217075769119708_r8, 0.0029505373778453748_r8, & + 0.0027791251620894286_r8, 0.0026404093873678221_r8, & + 0.0029231452614803372_r8, 0.0034026719682837322_r8, & + 0.0038669349115005624_r8, 0.0041763516979886929_r8, & + 0.0044630719503833587_r8, 0.0047322402738138661_r8, & + 0.0047378584409215989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,79) / & + 0.00044793469891081489_r8, 0.00035802184029360979_r8, & + 0.00032083908444893819_r8, 0.00030583663307341235_r8, & + 0.00027972493265657287_r8, 0.00027460698845005433_r8, & + 0.00034590427985638515_r8, 0.00049579129660311109_r8, & + 0.00075345559811278021_r8, 0.0010698820470841581_r8, & + 0.001354979548037126_r8, 0.0016736059491450372_r8, & + 0.0021128055867782871_r8, 0.0024311693613249257_r8, & + 0.0027096699158578917_r8, 0.0030061600260893355_r8, & + 0.0035498966750675018_r8, 0.0040512333205994224_r8, & + 0.004421960175480473_r8, 0.0046793636691723674_r8, 0.004740307217586919_r8, & + 0.0045768782004944599_r8, 0.0041242856994824035_r8, & + 0.0036963146204640088_r8, 0.0033454328033992371_r8, & + 0.0030683621450052776_r8, 0.0028618991104827829_r8, & + 0.002735942029451354_r8, 0.0030554839860367214_r8, 0.003509870495636308_r8, & + 0.0039864340359667414_r8, 0.0044019147121305922_r8, & + 0.0048206331154715728_r8, 0.0050254560071065629_r8, & + 0.0050925216643883647_r8, 0.0053069589434078732_r8, & + 0.0056534156120398105_r8, 0.0063743002058237628_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,79) / & + 0.00030654645394857609_r8, 0.00029602431389550614_r8, & + 0.00030069121790261724_r8, 0.0002783505755722798_r8, & + 0.00025981259576625507_r8, 0.00026839019248302883_r8, & + 0.00037346035075423858_r8, 0.00060866367029781059_r8, & + 0.00087616801526097096_r8, 0.0011988541789008063_r8, & + 0.0014656887367147985_r8, 0.0017475178842553413_r8, & + 0.0021251049880899424_r8, 0.002451204905586831_r8, & + 0.0026915720679901237_r8, 0.0029484462427148638_r8, & + 0.0034234981797720489_r8, 0.0039023527793535465_r8, & + 0.004350613230443983_r8, 0.0046450603036333827_r8, & + 0.0047357840532901395_r8, 0.0046415169135539088_r8, & + 0.0042803287918554067_r8, 0.0038889786424072428_r8, & + 0.0035302536089347161_r8, 0.0032368004134505353_r8, & + 0.0030490655573496622_r8, 0.0029598974423619417_r8, & + 0.003298766527767177_r8, 0.0037998105274195224_r8, & + 0.0043537244997820575_r8, 0.0049458595517213495_r8, & + 0.0054933997431482464_r8, 0.0058480844476886899_r8, & + 0.0060114909060487885_r8, 0.006124987418777283_r8, & + 0.0064028842675710939_r8, 0.0071572528787152596_r8, & + 0.0086347284802958998_r8, 0.010863414970702933_r8, 0.011381703828842665_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,79) / & + 0.00025382193690611356_r8, 0.00025818478697352428_r8, & + 0.00024356581292565594_r8, 0.00023086557922157033_r8, & + 0.00022938083966983372_r8, 0.00022954073469848234_r8, & + 0.0002716844958208527_r8, 0.00036460634961261567_r8, & + 0.00047536792017216793_r8, 0.00062788493535594406_r8, & + 0.00081304337853097604_r8, 0.0010550559254640459_r8, & + 0.0013431867670887505_r8, 0.001695800989552724_r8, & + 0.0020203650555623508_r8, 0.0024140494582420543_r8, & + 0.0031463001630116084_r8, 0.0037714211985866272_r8, & + 0.0043353252803361979_r8, 0.004582157520275674_r8, & + 0.0046580391324428901_r8, 0.0045901751138550514_r8, & + 0.0043145846109057849_r8, 0.0040066496278756084_r8, & + 0.0037037856014682851_r8, 0.0034399359620512137_r8, & + 0.0032761120841272888_r8, 0.0032904112681178604_r8, & + 0.0038006134623884643_r8, 0.0044350997782128983_r8, & + 0.0051365821110410798_r8, 0.0057518581812807373_r8, & + 0.0062623087838994214_r8, 0.0066220522035846177_r8, & + 0.0069447950162704799_r8, 0.0072689762315814067_r8, & + 0.0075798082514775857_r8, 0.0083426056777840055_r8, & + 0.0096654601603981642_r8, 0.011189931791224293_r8, 0.011884386452016534_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,79) / & + 0.00021497067697493332_r8, 0.00022985103969564441_r8, & + 0.0001955636019702518_r8, 0.00015089843555128886_r8, & + 0.00014620317546951112_r8, 0.000156219730310637_r8, & + 0.00017456736201481478_r8, 0.00021631905935739256_r8, & + 0.00022530024915484444_r8, 0.00023842289912699255_r8, & + 0.00029339355946903704_r8, 0.00052285934705540739_r8, & + 0.00063595491938417772_r8, 0.00085371867415134841_r8, & + 0.0010867480437485037_r8, 0.0014133695976424295_r8, & + 0.0021561838208365041_r8, 0.0029387030895426363_r8, & + 0.0036512750221586966_r8, 0.0040687197608139849_r8, & + 0.0041979718434754362_r8, 0.0042859056374172436_r8, & + 0.0041566776330126216_r8, 0.0039181343426014812_r8, & + 0.0036627603506664296_r8, 0.003453520298816948_r8, & + 0.0033739657382518516_r8, 0.0035480274568732437_r8, & + 0.0042571080422490063_r8, 0.0049820080423618358_r8, & + 0.005615242118724266_r8, 0.0061979299144370959_r8, & + 0.0066173430505882076_r8, 0.0070271339133537768_r8, & + 0.0074839676704002355_r8, 0.0080163299529807715_r8, & + 0.0085286713799919076_r8, 0.0090214314441161136_r8, & + 0.0095026520036547192_r8, 0.0110398927955136_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,79) / & + 0.00014206422597351769_r8, 0.00015656935809804111_r8, & + 0.00014107696567184855_r8, 8.6929535280302892e-05_r8, & + 8.1132545303835393e-05_r8, 9.7105910697507816e-05_r8, & + 0.00012538205831198024_r8, 0.0001568225017651358_r8, & + 0.00017084666092217942_r8, 0.00019585725523113079_r8, & + 0.0002059830019149169_r8, 0.00027944529410578429_r8, & + 0.00033635199046866176_r8, 0.00046474645841906826_r8, & + 0.00061374682087097935_r8, 0.00079208653433916038_r8, & + 0.0012323540001501763_r8, 0.0018490879162928722_r8, & + 0.0026003170627629563_r8, 0.0033034489124850568_r8, & + 0.0036178533470166124_r8, 0.0038859831192032649_r8, & + 0.0039426619862657584_r8, 0.0037868773735357107_r8, & + 0.0035896025137688494_r8, 0.0034381719721128293_r8, & + 0.0034357417929087209_r8, 0.0037822195300611684_r8, & + 0.0045871151339553183_r8, 0.0053450019588699915_r8, & + 0.0059657513664319759_r8, 0.0065128296382777409_r8, & + 0.0069810513976122091_r8, 0.0074765127716528504_r8, & + 0.0079869720038843219_r8, 0.0084351581200316425_r8, & + 0.0088342426952557271_r8, 0.0092193148967103268_r8, & + 0.0096146893996410226_r8, 0.0098900414510583404_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,79) / & + 0.0001289556647942321_r8, 0.00013410645725255637_r8, & + 0.00013400025534619916_r8, 0.00012539790093126586_r8, & + 0.0001295132248026074_r8, 0.00014438149169261564_r8, & + 0.00015502823280492508_r8, 0.00019679213247989464_r8, & + 0.00021986449663599666_r8, 0.00024463609129381399_r8, & + 0.00028560347667110455_r8, 0.00035638704725817941_r8, & + 0.00041031106521104848_r8, 0.00044055205804626168_r8, & + 0.00055248886734675221_r8, 0.00067008092816076383_r8, & + 0.00097339357271693163_r8, 0.001412060546925353_r8, & + 0.0021452519579388835_r8, 0.0029741578370568434_r8, & + 0.0035969789168886507_r8, 0.0038721215057835713_r8, & + 0.0038407653929316081_r8, 0.0036812235791065014_r8, & + 0.0035850046519468773_r8, 0.0035327002130659552_r8, & + 0.003548577398066357_r8, 0.0039565785718141365_r8, & + 0.0047368439778204974_r8, 0.0054952583415938637_r8, & + 0.0061402158812820015_r8, 0.0066247521226080134_r8, & + 0.007188590844581037_r8, 0.0075864933549118149_r8, & + 0.0079721371309087932_r8, 0.0083143484994234202_r8, & + 0.0085613145491255319_r8, 0.009097519866945368_r8, & + 0.0096862682460544768_r8, 0.010239436224810239_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,79) / & + 0.00024379950968019757_r8, 0.00026327790679506169_r8, & + 0.0002587764797870617_r8, 0.00027458704748799999_r8, & + 0.0002809223892029629_r8, 0.00028542381621096284_r8, & + 0.00028434013933866664_r8, 0.00029384315191111109_r8, & + 0.00033491172671249375_r8, 0.00037595251492740739_r8, & + 0.00041546504088651846_r8, 0.00047587307987041977_r8, & + 0.00047362236636641961_r8, 0.00050913362387397531_r8, & + 0.00063717421432375298_r8, 0.00073309351081520988_r8, & + 0.00098245033778923446_r8, 0.0013666832554844442_r8, & + 0.0020741575335751108_r8, 0.0027533450666401972_r8, & + 0.0032616450929200983_r8, 0.0034669879669270119_r8, & + 0.0033866847320312096_r8, 0.0032267173537283947_r8, & + 0.003212657340975012_r8, 0.0032266895671419259_r8, & + 0.0032799842399897279_r8, 0.0036276500098915559_r8, & + 0.0042919995057821214_r8, 0.0049430114401675055_r8, & + 0.005660127663762963_r8, 0.0059952894697536787_r8, & + 0.0065883663713509127_r8, 0.0070178080652314066_r8, & + 0.007378193145089482_r8, 0.0077976802943674085_r8, & + 0.0082621620646391863_r8, 0.008799751435527161_r8, & + 0.0094923350804046354_r8, 0.009902139100487109_r8, 0.010466352338057199_r8, & + 0.01045456422608_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,79) / & + 0.00030798885365528224_r8, 0.00035291598760348963_r8, & + 0.00033074264759287567_r8, 0.00044311852785609206_r8, & + 0.00044361191369402458_r8, 0.00045098367856666316_r8, & + 0.00043185772167269134_r8, 0.00044982277071270444_r8, & + 0.00046822316019795216_r8, 0.00049280538400553085_r8, & + 0.00051669106310073406_r8, 0.00055903517707388305_r8, & + 0.0005966195688458006_r8, 0.00066609990390523763_r8, & + 0.00075792771515338251_r8, 0.00085367359040863853_r8, & + 0.001137341424523483_r8, 0.0016144165071078713_r8, & + 0.0023770749217661359_r8, 0.0029761904424979485_r8, & + 0.0032777652802601074_r8, 0.0033073103851433599_r8, & + 0.0032386426855816951_r8, 0.003134364137599841_r8, & + 0.0030966636550425275_r8, 0.0030863315751422948_r8, & + 0.0031226970136675552_r8, 0.0032716995367231732_r8, & + 0.0036478627041021889_r8, 0.0041960542762526877_r8, & + 0.0048389868127973598_r8, 0.0052462477993142978_r8, & + 0.0057371195461755776_r8, 0.0062187548199237981_r8, & + 0.0067384714991189122_r8, 0.0073741519894133852_r8, & + 0.0080142693244122064_r8, 0.0085021963041189367_r8, & + 0.0090049180178995002_r8, 0.0091643731686976895_r8, & + 0.0091880559998759083_r8, 0.010531266293113776_r8, 0.01138040871505493_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,79) / & + 0.00038443813313698762_r8, 0.00040504438017880491_r8, & + 0.00037581437336177778_r8, 0.00045784599704807232_r8, & + 0.00046934434341501876_r8, 0.00049333957675446252_r8, & + 0.00052913574452314064_r8, 0.00057237557862410519_r8, & + 0.00059906384571791263_r8, 0.00063622165976688725_r8, & + 0.00067855372968098743_r8, 0.00071465248551195396_r8, & + 0.00077610812096265999_r8, 0.00088304274217526244_r8, & + 0.0010021111446856163_r8, 0.0011429053700682534_r8, & + 0.0015719449835865016_r8, 0.0021050446317256166_r8, & + 0.0026984803394849701_r8, 0.0031503956105121975_r8, & + 0.0033190279376253359_r8, 0.0033012962771752558_r8, & + 0.0032272832371395953_r8, 0.0031476723179516045_r8, & + 0.0030930249139023802_r8, 0.0030716621967048427_r8, & + 0.0030851878830891193_r8, 0.0031836802973638843_r8, & + 0.0034111357437858225_r8, 0.0037465546108321449_r8, & + 0.0041432475604917989_r8, 0.0044864126819326939_r8, & + 0.0048726058258309517_r8, 0.0052689659286220903_r8, & + 0.0057568286614491388_r8, 0.0063259362890005326_r8, & + 0.0069522935779368295_r8, 0.0074954985866847136_r8, & + 0.0079318635329894607_r8, 0.0082254096155733678_r8, & + 0.0084074003410992051_r8, 0.0081846985068213113_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,33,79) / & + 0.00036738819640730851_r8, 0.00036811257947780735_r8, & + 0.00038782839696181721_r8, 0.00045015683594081972_r8, & + 0.00052281560740345678_r8, 0.00063227225147452829_r8, & + 0.00095457097619858601_r8, 0.0011177748194274877_r8, & + 0.0012651440311735533_r8, 0.0013864601983871771_r8, & + 0.0015310983509792507_r8, 0.0016482886841826423_r8, & + 0.0018447719679632701_r8, 0.0021159206992900285_r8, & + 0.0023480404806475851_r8, 0.002537284432996955_r8, & + 0.0028872424429749952_r8, 0.0031014911090777621_r8, & + 0.0031879401545222542_r8, 0.0031917757853769141_r8, & + 0.0031461801453990597_r8, 0.0030849956467658606_r8, & + 0.0030362949455052242_r8, 0.0029999576860448777_r8, & + 0.0029830527898235645_r8, 0.0029780214769752093_r8, & + 0.0029952255748995548_r8, 0.0031075482563365131_r8, & + 0.0032986987759288881_r8, 0.0035713817595975105_r8, & + 0.0038213726562098555_r8, 0.004060293089810014_r8, & + 0.0043121768308804886_r8, 0.0046187672412316746_r8, & + 0.0052070482937403989_r8, 0.0057715614828440492_r8, & + 0.0063981185318632899_r8, 0.0068434425854090814_r8, & + 0.0069749181127046079_r8, 0.0081417980056191983_r8, & + 0.0085563498388991979_r8, 0.0087068640429823988_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,34,79) / & + 0.00028135589939695134_r8, 0.00027932657578566588_r8, & + 0.00030806850798179751_r8, 0.00044783817170909306_r8, & + 0.00053009124001813655_r8, 0.00063891956349939618_r8, & + 0.00094157786667834105_r8, 0.0010654051828188201_r8, & + 0.001179110662965406_r8, 0.0013890638291684941_r8, & + 0.0015724410388202371_r8, 0.0017897879392252103_r8, & + 0.0019421745659712838_r8, 0.0023381333935085179_r8, & + 0.0026276720160035823_r8, 0.0028198176337245959_r8, & + 0.0030294851549279235_r8, 0.0031092469913711709_r8, & + 0.0031243326043527385_r8, 0.0030957818647670871_r8, & + 0.0030601735478011801_r8, 0.0030622542390838637_r8, & + 0.0030496020609880182_r8, 0.0030279210293732502_r8, & + 0.0030164398037321421_r8, 0.0030093109862718518_r8, & + 0.0030056729327332323_r8, 0.0030725939701936236_r8, & + 0.0032270713204488417_r8, 0.0035254138040581627_r8, & + 0.0037745541911259547_r8, 0.0039922482449753181_r8, & + 0.0042273592960288004_r8, 0.0044550101279838567_r8, & + 0.0050294838209667195_r8, 0.0055443494059706664_r8, & + 0.0058476923720753781_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,79) / & + 0.00056599438497369539_r8, 0.00055447952591433734_r8, & + 0.0005235354651383046_r8, 0.00054755023019720163_r8, & + 0.00059690447861386012_r8, 0.00063341914967229612_r8, & + 0.00067706691926307824_r8, 0.00078759597937856781_r8, & + 0.00084584961739272426_r8, 0.001044795132173432_r8, & + 0.0011817845911303373_r8, 0.0015038015309459093_r8, & + 0.0015141615073857447_r8, 0.0019734378235771754_r8, & + 0.0022870017990095194_r8, 0.0025409576968849564_r8, & + 0.0027962370999472636_r8, 0.002897148244230441_r8, & + 0.0028811126020094097_r8, 0.0028852398516398085_r8, & + 0.0028943851390387529_r8, 0.0029021848426125153_r8, & + 0.0029099536118303961_r8, 0.0029399083797742643_r8, & + 0.0029888629077884721_r8, 0.003010597022296212_r8, & + 0.0030520654361874421_r8, 0.0031973113353843379_r8, & + 0.0033213035124236324_r8, 0.0034493378999424563_r8, & + 0.0036205875826257382_r8, 0.0038283459921186784_r8, & + 0.0040728515049283549_r8, 0.0040237008167045077_r8, & + 0.0040215390511288886_r8, 0.003548308914211555_r8, & + 0.0037081157966879995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,79) / & + 0.0011420284953156737_r8, 0.001123229962086163_r8, & + 0.0010485638778543406_r8, 0.0010318423361239703_r8, & + 0.0011687477588385184_r8, 0.001245878070272711_r8, & + 0.0012463709157131851_r8, 0.0014790291668626959_r8, & + 0.0015479923252833185_r8, 0.0016770826274417774_r8, & + 0.0017794184628316444_r8, 0.0019263216073386665_r8, & + 0.0019104097402605029_r8, 0.0021485596977467254_r8, & + 0.0023708681946462808_r8, 0.0025621626320417178_r8, & + 0.0027945040539794955_r8, 0.0028873350130173623_r8, & + 0.002922186226308029_r8, 0.0029635852433078516_r8, & + 0.0029885091412975399_r8, 0.0030214241760720588_r8, & + 0.0030610982340302218_r8, 0.0030899648955437032_r8, & + 0.0031124245663310215_r8, 0.0031296037502561184_r8, & + 0.0031618851266071693_r8, 0.0032589756783805621_r8, & + 0.0033997182548816587_r8, 0.0035192684774423694_r8, & + 0.003660363086400947_r8, 0.0038848453837254512_r8, & + 0.0040960384557800281_r8, 0.00393313669333925_r8, 0.0036439378805642499_r8, & + 0.003167208957465719_r8, 0.0036432191057215991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,79) / & + 0.001469672091187832_r8, 0.0014270016057474633_r8, & + 0.0013842218022402106_r8, 0.0015107028056249414_r8, & + 0.0016315721482429628_r8, 0.0017209214482427784_r8, & + 0.0018233889162686681_r8, 0.0020594476169461993_r8, & + 0.0021597742728289449_r8, 0.0022720940316327508_r8, & + 0.0023453234716866371_r8, 0.0024396695183269397_r8, 0.00250682269582986_r8, & + 0.0026308577074680623_r8, 0.0026960386048476186_r8, & + 0.0027533030522169945_r8, 0.0028582802808617609_r8, & + 0.0029179315060247702_r8, 0.002958452069483088_r8, & + 0.0029895940537866539_r8, 0.0030175749239894916_r8, & + 0.003048443613125847_r8, 0.0030850397881235863_r8, & + 0.0031085861188870543_r8, 0.0031297443704513313_r8, & + 0.0031630564485230989_r8, 0.0031701770890344748_r8, & + 0.0032519346397108669_r8, 0.0033849369863474493_r8, & + 0.0035222938359815745_r8, 0.0036572684627415213_r8, & + 0.0038423615189510847_r8, 0.0039152553265115256_r8, 0.0034843494048256_r8, & + 0.0030669518450872177_r8, 0.0029383056607402668_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,79) / & + 0.0012965144918809207_r8, 0.0012545025802931514_r8, & + 0.0012441437110517768_r8, 0.0013605043862726753_r8, & + 0.001442561550148705_r8, 0.0015046526010788661_r8, & + 0.0016013353806650311_r8, 0.0017998775487981353_r8, & + 0.0019211322669884998_r8, 0.0020484338973928689_r8, & + 0.0021231273915353951_r8, 0.0023408543776484003_r8, & + 0.0024737310350612884_r8, 0.0025865172504921335_r8, & + 0.0026723466703521335_r8, 0.0027380220708820443_r8, & + 0.0028366305376989775_r8, 0.0028909255929289329_r8, & + 0.0029468736592080441_r8, 0.0030179531343217333_r8, & + 0.0030616671023414349_r8, 0.0030826657921526855_r8, & + 0.0031232099752484571_r8, 0.0031516926271723676_r8, & + 0.0031705841820198599_r8, 0.0031944166050582347_r8, & + 0.003209965807894248_r8, 0.0033151772364295104_r8, & + 0.0034244455052685626_r8, 0.003535205722541724_r8, & + 0.0036801620760830572_r8, 0.0037795461865461331_r8, 0.0036666328164192_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,79) / & + 0.00084784431612159987_r8, 0.00084154064090879988_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,40,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,79) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,79) / & + 0.0038319262594929309_r8, 0.0036789714505106163_r8, & + 0.0033209090168024495_r8, 0.0038619497087063305_r8, & + 0.0038931642273163855_r8, 0.0038970783766468344_r8, & + 0.0041737330826838899_r8, 0.0044861414048738765_r8, & + 0.0042954335240508049_r8, 0.0040775897340040298_r8, & + 0.0038001456196986466_r8, 0.0032531185817599598_r8, & + 0.0025802138170344688_r8, 0.0025706422417810168_r8, & + 0.0025623534549635944_r8, 0.0024919645510378665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,79) / & + 0.0036452473677674414_r8, 0.0037225352696520692_r8, & + 0.0035168700884993321_r8, 0.003523318262343849_r8, & + 0.0037790357020099689_r8, 0.0039833481194191016_r8, & + 0.0042194504848029491_r8, 0.0042652640835863708_r8, & + 0.0038992963988164478_r8, 0.0035775189963376201_r8, & + 0.0034133836621135548_r8, 0.0031432818346404344_r8, & + 0.0027976506981493734_r8, 0.0027478689923847118_r8, & + 0.0026622390474145183_r8, 0.0026081284976703211_r8, & + 0.0024030664236866076_r8, 0.0026039011109715558_r8, & + 0.0026792331419435555_r8, 0.002869161171545689_r8, & + 0.0030406747046879995_r8, 0.0030724743152608851_r8, & + 0.0032543654788362796_r8, 0.0033633088575377784_r8, & + 0.003412421428379264_r8, 0.0035180746924043512_r8, & + 0.0036846965352238053_r8, 0.0039690204188546916_r8, & + 0.0040152810738467134_r8, 0.0040910551686849268_r8, & + 0.0041251786341173604_r8, 0.0041450227119762297_r8, & + 0.0041565018786005343_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,79) / & + 0.0030974131133439998_r8, 0.0036391291613013335_r8, & + 0.0035703780610559992_r8, 0.0032980606976853329_r8, & + 0.0038631261759146667_r8, 0.0042167032628906654_r8, & + 0.0040569171815253323_r8, 0.0035604638188373328_r8, & + 0.0028580814530559996_r8, 0.0026345013925546668_r8, & + 0.0026316290420053327_r8, 0.0026160164269226661_r8, & + 0.0025512495548586657_r8, 0.0025802973579946665_r8, & + 0.0025458291514026668_r8, 0.0025904895696213319_r8, & + 0.0025336448256853324_r8, 0.002595493018965334_r8, & + 0.0026795787648853341_r8, 0.0027928512986453327_r8, & + 0.0029385535966719996_r8, 0.0030444136128853329_r8, & + 0.0032019759389866668_r8, 0.0033499019922773334_r8, & + 0.0035123287830186654_r8, 0.0036570581881173324_r8, & + 0.0038781365239466663_r8, 0.0041603218013013333_r8, & + 0.004170143387050667_r8, 0.0041688925247146654_r8, & + 0.0042004420525226663_r8, 0.0042184289896320002_r8, & + 0.0042377726821851433_r8, 0.0042289272985234286_r8, & + 0.0042450594516662858_r8, 0.0042615489940480006_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,80) / & + 0.0045298524197037041_r8, 0.0045523564484444444_r8, & + 0.0045732241231111106_r8, 0.0050108711804444442_r8, & + 0.0051313553762222215_r8, 0.005227531393555555_r8, & + 0.0053646731191111102_r8, 0.0053134940653333327_r8, & + 0.0053431980520000002_r8, 0.0054130648239999997_r8, & + 0.0055524780308888891_r8, 0.0059013570399259266_r8, & + 0.005926688633037038_r8, 0.006293619539666665_r8, 0.0059234367259999986_r8, & + 0.0052512717016666667_r8, 0.0053160151600000006_r8, & + 0.0054644102866666664_r8, 0.0055870952399999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,80) / & + 0.0045298524197037041_r8, 0.0045523564484444444_r8, & + 0.0045732241231111106_r8, 0.0050108711804444442_r8, & + 0.0051313553762222215_r8, 0.005227531393555555_r8, & + 0.0053646731191111102_r8, 0.0053134940653333327_r8, & + 0.0053431980520000002_r8, 0.0054130648239999997_r8, & + 0.0055524780308888891_r8, 0.0059013570399259266_r8, & + 0.005926688633037038_r8, 0.006293619539666665_r8, 0.0059234367259999986_r8, & + 0.0052512717016666667_r8, 0.0053160151600000006_r8, & + 0.0054644102866666664_r8, 0.0055870952399999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,80) / & + 0.0045298524197037041_r8, 0.0045523564484444444_r8, & + 0.0045732241231111106_r8, 0.0050108711804444442_r8, & + 0.0051313553762222215_r8, 0.005227531393555555_r8, & + 0.0053646731191111102_r8, 0.0053134940653333327_r8, & + 0.0053431980520000002_r8, 0.0054130648239999997_r8, & + 0.0055524780308888891_r8, 0.0059013570399259266_r8, & + 0.005926688633037038_r8, 0.006293619539666665_r8, 0.0059234367259999986_r8, & + 0.0052512717016666667_r8, 0.0053160151600000006_r8, & + 0.0054644102866666664_r8, 0.0055870952399999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,80) / & + 0.0046887091185185189_r8, 0.0046709588370370371_r8, & + 0.0047213714854320993_r8, 0.0049611666943209865_r8, 0.00526337448148148_r8, & + 0.0053321753120987641_r8, 0.0055527965190123457_r8, & + 0.0056405864528395067_r8, 0.0057249095348148142_r8, & + 0.0058483387056790124_r8, 0.0059841098691358037_r8, & + 0.0061196221743209881_r8, 0.0061071391964197521_r8, & + 0.0064305981250793653_r8, 0.0072019786052910061_r8, & + 0.0072767706841904752_r8, 0.0076191141822222206_r8, & + 0.0077760946208148144_r8, 0.0079177279996296285_r8, & + 0.0080200763999999976_r8, 0.0082095814559259243_r8, & + 0.0085140889214814809_r8, 0.0083122210718518524_r8, & + 0.0082986864822222235_r8, 0.0085840915940740732_r8, & + 0.0086146414925925927_r8, 0.0086487275799999996_r8, & + 0.0086416552022222214_r8, 0.0087830507549999989_r8, & + 0.0088627086100000006_r8, 0.0087840429680000019_r8, & + 0.0088482934400000001_r8, 0.0088022397799999985_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,80) / & + 0.0055697055111111112_r8, 0.0055105563960493832_r8, & + 0.0055340385392592594_r8, 0.0053608068859259256_r8, & + 0.0058263912222222217_r8, 0.0057095167125925913_r8, & + 0.0060850553501234561_r8, 0.0064635616128395062_r8, & + 0.0066403063427160477_r8, 0.0068503605851851857_r8, & + 0.0070127941506172844_r8, 0.0071861459881481472_r8, & + 0.0072895506227160494_r8, 0.0074454849965432095_r8, & + 0.0076814528009876539_r8, 0.0077695570627160492_r8, 0.00795303210765432_r8, & + 0.0081744206444444439_r8, 0.0083409404725925916_r8, & + 0.0084468319955555548_r8, 0.0085702426765432108_r8, & + 0.0087185407313580248_r8, 0.0086690248419753081_r8, & + 0.0086527722404938275_r8, 0.0087607438745679004_r8, & + 0.0087893569585185197_r8, 0.0088222319590123451_r8, & + 0.0088027621190123438_r8, 0.0089077788396913563_r8, 0.00884699221493827_r8, & + 0.0087715061383333327_r8, 0.0088303235912345675_r8, & + 0.0088237261721604929_r8, 0.008770060461111109_r8, & + 0.0087639067990740744_r8, 0.0087737783130370367_r8, & + 0.0086353576658333327_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,80) / & + 0.0060898257382716045_r8, 0.005968430453827161_r8, & + 0.0059149762207407414_r8, 0.0054531823091358012_r8, & + 0.0060466981012345681_r8, 0.005981003569876543_r8, & + 0.0063578457437037045_r8, 0.0067848232177777773_r8, & + 0.0070221222933333346_r8, 0.0072952732395061724_r8, & + 0.0075175215555555548_r8, 0.0077195974162962951_r8, & + 0.0079501569318518508_r8, 0.0081127938859259247_r8, & + 0.0082223279145679021_r8, 0.0083456091664197516_r8, & + 0.0085900638241975316_r8, 0.0087806297367901236_r8, & + 0.0089383021590123436_r8, 0.0090318424444444448_r8, & + 0.0090989884311111109_r8, 0.0091424581308641971_r8, & + 0.0091705997229629636_r8, 0.0091216570197530846_r8, & + 0.0091071239767901227_r8, 0.0091110900553086419_r8, & + 0.0091172194493827161_r8, 0.0091087048612345685_r8, & + 0.0090986556133333344_r8, 0.0090113926409876536_r8, & + 0.0089508105604938267_r8, 0.0089322837041975311_r8, & + 0.0089431834864197521_r8, 0.0088971252039506156_r8, & + 0.0089061944883950615_r8, 0.0088916845577777775_r8, & + 0.008782440589074075_r8, 0.0086765695700634932_r8, & + 0.0083333598543333318_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,7,80) / & + 0.005292828854814813_r8, 0.0052421573481481482_r8, & + 0.0051695996057407401_r8, 0.0048713971880864192_r8, & + 0.0052678987231481482_r8, 0.0055639054679629627_r8, & + 0.0060123728010493824_r8, 0.0063987915753086419_r8, & + 0.0065850770814814821_r8, 0.0067935596844444441_r8, 0.00698511249419753_r8, & + 0.0072516579319753085_r8, 0.007622615207328042_r8, & + 0.0078151412119223974_r8, 0.0079673376591005273_r8, & + 0.0081279955360317457_r8, 0.0084796505028730158_r8, & + 0.0085956791006507934_r8, 0.0087228824515291018_r8, & + 0.0088314151212857146_r8, 0.0088985387219947081_r8, & + 0.0089195651784761895_r8, 0.0089245295122222217_r8, & + 0.0089321565862962964_r8, 0.0089406996026296301_r8, & + 0.0089443370235925915_r8, 0.0089529306559629623_r8, & + 0.0089707069883597883_r8, 0.0089501856026666677_r8, & + 0.0089260923690370371_r8, 0.0088705159603703707_r8, & + 0.0087739253075555541_r8, 0.0087480209905185183_r8, & + 0.0087213900213333317_r8, 0.0086852917731111111_r8, & + 0.0086311159725925915_r8, 0.0085053247199999987_r8, & + 0.0084228275133333315_r8, 0.008184874688571429_r8, & + 0.0082836680800000007_r8, 0.0084371802799999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,80) / & + 0.0029333634439506172_r8, 0.0029482662844444443_r8, & + 0.002884522435061728_r8, 0.0024806480617283943_r8, & + 0.0025303211150617278_r8, 0.0026871799827160492_r8, & + 0.0032009119575308639_r8, 0.0040354802701234559_r8, & + 0.0045264974316049384_r8, 0.0049164859076543197_r8, & + 0.0052043270607407396_r8, 0.0054758231629629629_r8, 0.00591261876148148_r8, & + 0.0062195044874074068_r8, 0.0063142373698765429_r8, & + 0.006449564776296296_r8, 0.0067241394429629628_r8, & + 0.0069018548913580237_r8, 0.0070993452627160485_r8, & + 0.0072366973106172839_r8, 0.0073351651481481494_r8, & + 0.0073283238938271602_r8, 0.0074943537402469137_r8, & + 0.0076127629096296289_r8, 0.0077311535891358019_r8, & + 0.0078272547224691371_r8, 0.0079463572622222207_r8, & + 0.0081132052856790118_r8, 0.0084281283298148144_r8, & + 0.0085447358918518523_r8, 0.00870047760776896_r8, 0.0087677337082539674_r8, & + 0.0087924471121534394_r8, 0.008815270190317458_r8, & + 0.0087415365908148149_r8, 0.008561324084592592_r8, & + 0.0084247689503703701_r8, 0.0081782955942857147_r8, & + 0.0081373946666666672_r8, 0.0082836680800000007_r8, & + 0.0084371802799999996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,80) / & + 0.00089335687506172858_r8, 0.00089850630567901246_r8, & + 0.00092899611209876535_r8, 0.00094433346469135809_r8, & + 0.00097182791111111112_r8, 0.0010464345629629629_r8, & + 0.0014009224760493828_r8, 0.0017792068602469134_r8, & + 0.0021696298483950618_r8, 0.0025710728029629632_r8, & + 0.0029173096086419752_r8, 0.0032270138851234567_r8, & + 0.0037904246913580248_r8, 0.0042680447816666666_r8, & + 0.0045687340877160485_r8, 0.0048177465000617285_r8, & + 0.0052167834594444443_r8, 0.0055087004746913566_r8, & + 0.0057559598156172844_r8, 0.0059623854198148155_r8, & + 0.0061232068991358022_r8, 0.0063076711524691362_r8, & + 0.0066120283877777767_r8, 0.0067610498590123464_r8, & + 0.006892028677592592_r8, 0.0070268406787037038_r8, & + 0.0071810046468518511_r8, 0.0075363419386419743_r8, & + 0.0080493171492239859_r8, 0.0083023814859435625_r8, & + 0.0086737656793386235_r8, 0.0088662041871957666_r8, & + 0.009001706785195766_r8, 0.0091387116196296279_r8, & + 0.0091795539079259254_r8, 0.0092596686939999985_r8, & + 0.0092656469333333331_r8, 0.009274383399999999_r8, 0.00923544372_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,80) / & + 0.00035788080543209882_r8, 0.0003370149797530864_r8, & + 0.00039725499753086427_r8, 0.00035641086024691351_r8, & + 0.00040809931012345674_r8, 0.00047647487358024683_r8, & + 0.00069468315160493821_r8, 0.00086808121382716055_r8, & + 0.0010701016049382715_r8, 0.0012741558824691356_r8, & + 0.0014542380350617283_r8, 0.0016513123841975308_r8, & + 0.0019508946088888889_r8, 0.0022766030291358022_r8, & + 0.0026008137693827164_r8, 0.0028749909037037035_r8, & + 0.0034287164814814815_r8, 0.0038490376000000002_r8, & + 0.0042358180824691354_r8, 0.0046573687777777774_r8, & + 0.005013751903209877_r8, 0.0053903167288888885_r8, & + 0.0057995716562962967_r8, 0.0059840636444444435_r8, & + 0.0061338131545679003_r8, 0.0062660065269135798_r8, & + 0.006345646222213403_r8, 0.0064572618147425041_r8, & + 0.0065453057532486774_r8, 0.0066989752492698403_r8, & + 0.0071644018933333343_r8, 0.0074241301136296293_r8, & + 0.0076925088226666655_r8, 0.0080849411981481472_r8, & + 0.0084338521022222206_r8, 0.0087003282029629609_r8, & + 0.0089617427000000006_r8, 0.0091462901577777783_r8, & + 0.0092992753962962953_r8, 0.0093932270814814818_r8, & + 0.0094691442033333333_r8, 0.0094959499018518519_r8, & + 0.0095084305685185187_r8, 0.0095151701285185169_r8, 0.0095515374044444455_r8 & + / +data delta_sa_ref(:,11,80) / & + 0.00017521007012345679_r8, 0.00016869238864197528_r8, & + 0.0001728526108641975_r8, 0.00016557684444444443_r8, & + 0.0001681099575308642_r8, 0.00017938878222222221_r8, & + 0.0003209935017283951_r8, 0.00034598256987654325_r8, & + 0.00040912549827160484_r8, 0.00049914346222222216_r8, & + 0.00060250187209876535_r8, 0.00067851375456790127_r8, & + 0.00082738499555555555_r8, 0.00097088492740740736_r8, & + 0.0011081815056790123_r8, 0.0012344396276543208_r8, & + 0.0015390233639506169_r8, 0.0019229009358024691_r8, & + 0.0023655855599999998_r8, 0.0028718938493827156_r8, & + 0.0034186949683950615_r8, 0.0039610862518518518_r8, & + 0.0045513200908641974_r8, 0.0048418145412345674_r8, & + 0.0050334621116049378_r8, 0.0051632240651851855_r8, & + 0.0051851715486419753_r8, 0.0051676893703703694_r8, & + 0.0050322787595061735_r8, 0.0050640998370370368_r8, & + 0.0054696013195061725_r8, 0.0062207617990123459_r8, 0.00714952678765432_r8, & + 0.0078108264671604942_r8, 0.0082261460740740752_r8, & + 0.0085842857377777786_r8, 0.0089171682301234564_r8, & + 0.0091268249402469137_r8, 0.0092972091525925938_r8, & + 0.0093932640612345679_r8, 0.0094581778905731915_r8, & + 0.0094837063678518529_r8, 0.009503923661111113_r8, & + 0.0095129245990476178_r8, 0.0095308610999999994_r8 & + / +data delta_sa_ref(:,12,80) / & + 0.00010521664246913578_r8, 0.00010598397234567901_r8, & + 8.4942492839506172e-05_r8, 0.00016104682469135801_r8, & + 0.00016170321530864198_r8, 0.00016297901679012344_r8, & + 0.00025698154913580252_r8, 0.00029644819061728394_r8, & + 0.0003409810582716049_r8, 0.0003954522345679012_r8, & + 0.0004571252177777777_r8, 0.00052873650962962965_r8, & + 0.00064819035703703697_r8, 0.00077602011851851845_r8, & + 0.00090383139012345667_r8, 0.0010139848296296294_r8, & + 0.0013090092997530864_r8, 0.0016575157377777777_r8, & + 0.0020785117367901236_r8, 0.0025582962982716047_r8, & + 0.0030624967417283949_r8, 0.0035484661669135803_r8, & + 0.0040180997861728393_r8, 0.0043658943639506165_r8, & + 0.004608934546172839_r8, 0.00475260088691358_r8, 0.0048164834103703712_r8, & + 0.00469764897382716_r8, 0.0044113887051851841_r8, 0.0044083286306172845_r8, & + 0.0047375039027160492_r8, 0.0056304077758024679_r8, & + 0.0067186756844444442_r8, 0.0075926366790123453_r8, & + 0.008188010703703702_r8, 0.0086248063022222217_r8, & + 0.0090024897654320968_r8, 0.0092195331812345675_r8, & + 0.009399227046419753_r8, 0.0094948566879012337_r8, & + 0.0095347844206790135_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,80) / & + 0.00010860953481481479_r8, 0.00010843388098765431_r8, & + 0.00010442157777777778_r8, 0.00014071720543209877_r8, & + 0.00014140133086419751_r8, 0.00014146604543209876_r8, & + 0.0001529575037037037_r8, 0.00018201434469135799_r8, & + 0.00020794639654320984_r8, 0.00023586611012345679_r8, & + 0.00025781359358024693_r8, 0.00028464240444444445_r8, & + 0.00032279626469135811_r8, 0.00038874040938271609_r8, & + 0.00047744559209876542_r8, 0.00056493968790123444_r8, & + 0.00077405094666666658_r8, 0.0009973901654320987_r8, & + 0.001297499351604938_r8, 0.0016609178750617284_r8, & + 0.0020860925861728398_r8, 0.0025417755935802466_r8, & + 0.0030268112799999997_r8, 0.0034869965723456787_r8, & + 0.0038828370943209873_r8, 0.0041601205279012347_r8, & + 0.0043149270192592588_r8, 0.0042800273772839502_r8, & + 0.0038307696019753089_r8, 0.0034692185560493828_r8, & + 0.0035635539061728387_r8, 0.0040909591446913578_r8, & + 0.0051485708380246895_r8, 0.0066166300558024695_r8, & + 0.007765258166419751_r8, 0.0084692879506172835_r8, & + 0.0089615254439506156_r8, 0.0092481924898765427_r8, & + 0.0094312052879012339_r8, 0.0095182371367901232_r8, & + 0.0095370915280423262_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,80) / & + 0.00011522891061728395_r8, 0.00011483137827160493_r8, & + 0.00011055097185185186_r8, 0.00012758014814814812_r8, & + 0.00012162640790123459_r8, 0.00012441837925925925_r8, & + 0.00012470497234567902_r8, 0.00013011326123456789_r8, & + 0.0001333212548148148_r8, 0.00014649529185185183_r8, & + 0.0001582271185185185_r8, 0.00017324089827160493_r8, & + 0.00019488329876543207_r8, 0.00023043008641975306_r8, & + 0.00028143441086419743_r8, 0.00034820135506172841_r8, & + 0.00053489363851851859_r8, 0.00075263966962962978_r8, & + 0.00098251505975308637_r8, 0.0012897151135802471_r8, & + 0.0016564803046913578_r8, 0.0020910756079012345_r8, & + 0.0025719418271604936_r8, 0.0030703734291358028_r8, & + 0.0034557949056790121_r8, 0.0037401229822222222_r8, & + 0.0039103222958024684_r8, 0.0037826866780246915_r8, & + 0.0031970013486419752_r8, 0.0026358058607407401_r8, & + 0.0025256154414814813_r8, 0.0027609823249382715_r8, & + 0.0034405315125925926_r8, 0.0050085470029629618_r8, & + 0.0069793089841975299_r8, 0.0084544983606172838_r8, & + 0.0091322989342328027_r8, 0.0093776048527195767_r8, & + 0.0094997079692592593_r8, 0.009500110124074073_r8, & + 0.0095142618133333325_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,80) / & + 0.0001743040661728395_r8, 0.00016984800592592591_r8, & + 0.00015808844444444449_r8, 0.00015780185135802466_r8, & + 0.00015323485185185184_r8, 0.00015399293679012346_r8, & + 0.00016148133679012343_r8, 0.00016726866814814812_r8, & + 0.00016821165185185183_r8, 0.00016855371456790121_r8, & + 0.00017712377234567903_r8, 0.00018783865580246912_r8, & + 0.00020610665382716047_r8, 0.00023759491358024692_r8, & + 0.00027513860790123453_r8, 0.00032994260197530864_r8, & + 0.00051402781283950612_r8, 0.00078150236691358025_r8, & + 0.0010734482725925927_r8, 0.0014339361506172841_r8, & + 0.0018593604750617285_r8, 0.0023245010543209879_r8, & + 0.0028221191017283945_r8, 0.0032744369516049384_r8, & + 0.003588274871111111_r8, 0.0037513093575308647_r8, & + 0.0037281692770370373_r8, 0.003230606699259259_r8, & + 0.0025874640785185179_r8, 0.0021903015303703704_r8, & + 0.0020963960698765433_r8, 0.0022506138897901234_r8, & + 0.0027000154238888893_r8, 0.0039727286007231041_r8, & + 0.006210594678148146_r8, 0.008102418291703703_r8, 0.0089672965966666671_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,80) / & + 0.00027189935114466497_r8, 0.0002733457357895637_r8, & + 0.00026847335853016294_r8, 0.00024614217531250039_r8, & + 0.00024186197727365591_r8, 0.00024282099317951274_r8, & + 0.00022765585231224924_r8, 0.00024575568666191603_r8, & + 0.00025414819880760774_r8, 0.00027644408335238878_r8, & + 0.00029242959083139149_r8, 0.00030431191768836452_r8, & + 0.00031151456884266404_r8, 0.00034865625917692301_r8, & + 0.00039917648342408809_r8, 0.00047630284840368461_r8, & + 0.00069430524361299413_r8, 0.0010430681474548581_r8, & + 0.0014113238918103449_r8, 0.0018973422600949519_r8, & + 0.0023924407721486137_r8, 0.0029751743598139704_r8, & + 0.0035135015057804701_r8, 0.0038416045792616779_r8, & + 0.0040621268056081688_r8, 0.0040941643377896209_r8, & + 0.0038254483055624373_r8, 0.0030314325461685853_r8, & + 0.0024448423819712775_r8, 0.0023308347058393557_r8, & + 0.0023975918423499777_r8, 0.0026118405156703994_r8, & + 0.0030878551352499198_r8, 0.0045246999301212449_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,80) / & + 0.00032142507911395559_r8, 0.00033365779209860736_r8, & + 0.0003431552810053333_r8, 0.00031120259105404442_r8, & + 0.00031294258902168887_r8, 0.00031597911144899048_r8, & + 0.00027729240338915552_r8, 0.00030837509435662213_r8, & + 0.00031604690357760001_r8, 0.0003460381412744533_r8, & + 0.00036611139055573328_r8, 0.0003848559141162666_r8, & + 0.00040842497749617776_r8, 0.00044828674911857777_r8, & + 0.00051788666782435556_r8, 0.00060994837847608882_r8, & + 0.00088644987369813325_r8, 0.0012988293920298665_r8, & + 0.0017430034186794667_r8, 0.0022763918865791998_r8, & + 0.0028392021382954661_r8, 0.0035410540457898663_r8, & + 0.0040516643584767994_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,18,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,80) / & + 0.0003093564430156746_r8, 0.00027824312902604642_r8, & + 0.00023904278718716893_r8, 0.00025769016885751877_r8, & + 0.00024728674289126607_r8, 0.00023593294866045632_r8, & + 0.00025873534383515025_r8, 0.00031163541871026486_r8, & + 0.00040447995498281246_r8, 0.0006111608906189368_r8, & + 0.00082924141304873951_r8, 0.0010227976018719646_r8, & + 0.0013129530870095718_r8, 0.0017061880913909052_r8, & + 0.0020530467352555238_r8, 0.0024038292724971946_r8, & + 0.0030224948508187949_r8, 0.0036752480447582864_r8, & + 0.0041860935380690564_r8, 0.0045750953766889391_r8, & + 0.0047007952714227912_r8, 0.004491915602428836_r8, & + 0.0041093118362611914_r8, 0.0036619300027051381_r8, & + 0.0032297701693186839_r8, 0.0029765050807825781_r8, & + 0.0027738591832866489_r8, 0.0025319985139252267_r8, & + 0.0027855052215116451_r8, 0.0030786495343016005_r8, & + 0.0034672937767270219_r8, 0.0038691968645382666_r8, & + 0.0041138663553595559_r8, 0.0042669924284942226_r8, & + 0.0043931175727566218_r8, 0.0045767480509930668_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,80) / & + 0.00030549052717605916_r8, 0.00027774649207614149_r8, & + 0.00025925604937291187_r8, 0.00028548612117815301_r8, & + 0.0002781602608754765_r8, 0.00026608443042552095_r8, & + 0.00028538771868912873_r8, 0.00036949280440366365_r8, & + 0.00052548603348011465_r8, 0.00077976558197580606_r8, & + 0.0010403558734308014_r8, 0.0012507537203018926_r8, & + 0.0016314961842580785_r8, 0.0019980355472897756_r8, & + 0.0023421736520301438_r8, 0.002709096716433974_r8, & + 0.0033209073584366164_r8, 0.0038969415204974213_r8, & + 0.0043453848969023509_r8, 0.004651602850811511_r8, & + 0.0047097525716693319_r8, 0.0044912720536858797_r8, & + 0.0040810170432298114_r8, 0.0036391365661623096_r8, & + 0.0032695234920498387_r8, 0.0030006889170612716_r8, & + 0.0028027871612703449_r8, 0.0026505499688669653_r8, & + 0.0029170010168991633_r8, 0.0032919630179757877_r8, & + 0.0037267069228618609_r8, 0.0041099759390588082_r8, & + 0.0043764864385947922_r8, 0.0045961376728573863_r8, & + 0.0047206063662087148_r8, 0.0050143029365229538_r8, & + 0.0058977334991759294_r8, 0.0098849519231665045_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,80) / & + 0.00027982168981072593_r8, 0.00027609399313493338_r8, & + 0.00027063485264798023_r8, 0.00030738220129896294_r8, & + 0.00029475284644108634_r8, 0.00028727708316231108_r8, & + 0.0003617495369694025_r8, 0.00056060076619938765_r8, & + 0.0008708754971593481_r8, 0.0012462321454917533_r8, & + 0.001533325899309353_r8, 0.0018152049517662816_r8, & + 0.0021666065657231014_r8, 0.0024597094480617874_r8, & + 0.0027299369021659653_r8, 0.0030014680316103113_r8, & + 0.0034639672284620649_r8, 0.0039110056505765132_r8, & + 0.0043221522609819653_r8, 0.0046120163248974224_r8, & + 0.0046788704259354075_r8, 0.0045173369033177282_r8, & + 0.0041151326909487406_r8, 0.0037107896362247907_r8, & + 0.0033877225909894324_r8, 0.0030905864630671014_r8, & + 0.0028899019403900053_r8, 0.0027742211238772942_r8, & + 0.0031220987404302221_r8, 0.0035713574846083953_r8, & + 0.0040089646304338174_r8, 0.0043890674718015223_r8, & + 0.0047462337751531455_r8, 0.0050669990186160193_r8, & + 0.0052755972580064798_r8, 0.0056402160447200896_r8, & + 0.0062981969210958826_r8, 0.0078014800877894029_r8, & + 0.010761621476009731_r8, 0.011826117703952_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,80) / & + 0.00026307510736381894_r8, 0.0002512998171606914_r8, & + 0.00025060842397445259_r8, 0.00028988819936763782_r8, & + 0.00028954250277451852_r8, 0.00029866025041804114_r8, & + 0.00041451182118716048_r8, 0.00068983755156964608_r8, & + 0.00097056479121962111_r8, 0.001300553795389103_r8, & + 0.0015268770336969218_r8, 0.0017845074197191111_r8, & + 0.0021093325810288724_r8, 0.0024230738453217453_r8, & + 0.002679775171749926_r8, 0.0029279205074984028_r8, & + 0.0033537538921102222_r8, 0.0038091875475078831_r8, & + 0.0042591548755268483_r8, 0.0045810632218321644_r8, & + 0.0046755680279761637_r8, 0.0045697200523704363_r8, & + 0.004257988149525071_r8, 0.0038990470556818429_r8, & + 0.0035950501141075223_r8, 0.0033040384008122467_r8, & + 0.0030735451973499255_r8, 0.002997103038196411_r8, & + 0.0033709955096920497_r8, 0.0039680135260091514_r8, & + 0.0045263783420080991_r8, 0.0050674232185408388_r8, & + 0.0055895709149012679_r8, 0.0060713666362789149_r8, & + 0.0064566937170717357_r8, 0.0067227801658521803_r8, & + 0.0071315646895986021_r8, 0.0082565453584958395_r8, & + 0.010308067746438479_r8, 0.011923739207137332_r8, 0.010059511587327999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,80) / & + 0.00022730220429740248_r8, 0.00022401293513663211_r8, & + 0.00021615523658590285_r8, 0.00022156882541300412_r8, & + 0.00021983282224481975_r8, 0.00023054578916427326_r8, & + 0.00033452324207973661_r8, 0.00045229735175287563_r8, & + 0.00058286306371789953_r8, 0.00071546172676145519_r8, & + 0.00088433371916128386_r8, 0.0011546705283120985_r8, & + 0.0014778183812108377_r8, 0.0018460566321884704_r8, & + 0.0021987850653871935_r8, 0.0025685537402104627_r8, & + 0.0032172021871437703_r8, 0.003783093535677972_r8, & + 0.0042807553912731396_r8, 0.0045415898672928386_r8, & + 0.0046428491047212769_r8, 0.0045624675896049523_r8, & + 0.0043149957695508808_r8, 0.0040251060826110418_r8, & + 0.0037561398022772142_r8, 0.003510175563921831_r8, & + 0.0033151264711175372_r8, 0.0032681858591357103_r8, & + 0.003758195595502696_r8, 0.0044399651555132036_r8, & + 0.0051387749571482596_r8, 0.0057694980292627169_r8, & + 0.006290724414704965_r8, 0.0066852935426834912_r8, & + 0.0070194031787452439_r8, 0.0073396904606340026_r8, & + 0.0076436183600355123_r8, 0.0079241519035847148_r8, & + 0.0081093355547004874_r8, 0.008368517482967467_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,80) / & + 0.00019308354151679997_r8, 0.00019173515913434075_r8, & + 0.00018995336812894814_r8, 0.00017844396136438518_r8, & + 0.00017714373549558517_r8, 0.00019686382783905187_r8, & + 0.00029782395872568886_r8, 0.00034776226339034073_r8, & + 0.00033748084772408882_r8, 0.00034051470808462212_r8, & + 0.00040085481969967399_r8, 0.00066142971510992597_r8, & + 0.00080069835261250373_r8, 0.0010713620376343702_r8, & + 0.0013572191027157331_r8, 0.0017196450245153185_r8, & + 0.0024560544313927107_r8, 0.0031450778288293914_r8, & + 0.0037750131840061625_r8, 0.0041499838776139844_r8, & + 0.004268135883876977_r8, 0.0043250328047653918_r8, & + 0.0041846324891918214_r8, 0.0039905135826313479_r8, & + 0.0037811772177545476_r8, 0.0036283043651432292_r8, & + 0.0035619928458344298_r8, 0.0037082923343312595_r8, & + 0.0043368311506119103_r8, 0.0050441299449822813_r8, & + 0.0056794347514320578_r8, 0.006311747834470755_r8, & + 0.0068102159073577468_r8, 0.0072324106841291013_r8, & + 0.0075620667003399806_r8, 0.0078973414637758307_r8, & + 0.0081147885894656911_r8, 0.0082775668069678451_r8, & + 0.0084914346137862085_r8, 0.0089117481047551982_r8, & + 0.0089793598499327987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,80) / & + 0.00010358638857513086_r8, 9.206835172232428e-05_r8, & + 0.00011249704565686254_r8, 0.00011247173129015308_r8, & + 0.00010857331881689547_r8, 0.00011831935000003947_r8, & + 0.00016115125847245427_r8, 0.00018995900778782549_r8, & + 0.00020307184974332839_r8, 0.00022831027335266498_r8, & + 0.00025263737976046087_r8, 0.000337237993303493_r8, & + 0.00043814105900742055_r8, 0.00059020445983117703_r8, & + 0.00076836697273239185_r8, 0.00096592029053305681_r8, & + 0.0014224142654048393_r8, 0.0020588680732142087_r8, & + 0.0027950098571254516_r8, 0.0034802444495839603_r8, & + 0.0038220137145284472_r8, 0.0040424512198344691_r8, & + 0.0040306800393145673_r8, 0.0039268658214390512_r8, & + 0.0038135587160474868_r8, 0.0037296669047723191_r8, & + 0.0037843206224980547_r8, 0.0040803721411652467_r8, & + 0.0048099575040987386_r8, 0.0055351223457455901_r8, & + 0.0061733892950705241_r8, 0.0068377110563311756_r8, & + 0.0073916883971897954_r8, 0.0078694948990280875_r8, & + 0.0082171953200926035_r8, 0.0084882663504655381_r8, & + 0.0087701617136349865_r8, 0.0089286348386814138_r8, & + 0.0090744223197922521_r8, 0.0090850578797398752_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,80) / & + 0.00012789364573066007_r8, 0.00011520251792097447_r8, & + 0.00014833751270442141_r8, 0.00012478723996971194_r8, & + 0.00011947714465185185_r8, 0.0001294335733728395_r8, & + 0.00015030224797202963_r8, 0.00019947373061541401_r8, & + 0.00023499826829189791_r8, 0.00027116001740652517_r8, & + 0.00032362375914698273_r8, 0.00037765397900620909_r8, & + 0.00040651434705877865_r8, 0.00048340452726139258_r8, & + 0.00061058131012414166_r8, 0.00074532497881484125_r8, & + 0.0010448674556953284_r8, 0.0015339006839936529_r8, & + 0.0022535779024232296_r8, 0.0030685713318083945_r8, & + 0.0036824714515061984_r8, 0.0039811112121826498_r8, & + 0.0039708361777425916_r8, 0.0038792635839860938_r8, & + 0.0038312603223126383_r8, 0.0038099933905646087_r8, & + 0.0038587666160591542_r8, 0.0042088612003656697_r8, & + 0.0048991204907343003_r8, 0.0057198488230627564_r8, & + 0.0063793560239218308_r8, 0.0069754872371622445_r8, & + 0.0076372730378514659_r8, 0.0080963083998216324_r8, & + 0.0084358470835750252_r8, 0.0086671463015392473_r8, & + 0.009194124712393956_r8, 0.0093497735625891563_r8, & + 0.0095294970574317031_r8, 0.0091184956798293325_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,80) / & + 0.00030812545735624692_r8, 0.00029609386541511103_r8, & + 0.00032602001904237033_r8, 0.00024488318655249388_r8, & + 0.00025063500995160489_r8, 0.00025230220513975304_r8, & + 0.00027389238282627158_r8, 0.00032501970192948157_r8, & + 0.00037367401483693826_r8, 0.00042163366308266672_r8, & + 0.00045764507914666661_r8, 0.0004635636220645925_r8, & + 0.00047067698820069131_r8, 0.00052672253310893826_r8, & + 0.0006329784397669135_r8, 0.00076332531689362953_r8, & + 0.0010416913401414319_r8, 0.0015324580303593084_r8, & + 0.002214424222071308_r8, 0.002913479164461827_r8, 0.0033642053835776791_r8, & + 0.0035415393784237036_r8, 0.0034819649370338764_r8, & + 0.003369707127698567_r8, 0.0033688457435180241_r8, & + 0.0034077747511612839_r8, 0.0034855494066883944_r8, & + 0.0038445521038696293_r8, 0.0044663603358759503_r8, & + 0.005198842541788839_r8, 0.0057590756981795539_r8, & + 0.0062192250434317531_r8, 0.0068120622857206917_r8, & + 0.0072571877213824529_r8, 0.0074437048853431007_r8, & + 0.0078615312650809985_r8, 0.0082622942494005314_r8, & + 0.0085808452339999983_r8, 0.0091446489667519996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,80) / & + 0.00034847551506209714_r8, 0.00034235172613246412_r8, & + 0.00034319338432658438_r8, 0.00039282219508332506_r8, & + 0.00041200619736999499_r8, 0.00042045180200754573_r8, & + 0.0004360369899469431_r8, 0.00047237340577585503_r8, & + 0.00048700084473573657_r8, 0.00050284723694227478_r8, & + 0.00052121860373117361_r8, 0.00055099589018521816_r8, & + 0.00060462983303811687_r8, 0.00068409397564159994_r8, & + 0.00079649887860116543_r8, 0.00094721374074137267_r8, & + 0.0013584073026135966_r8, 0.0018977650915628767_r8, & + 0.0025868799936728491_r8, 0.0030726328624655795_r8, & + 0.0032330122824899949_r8, 0.0032480750618951106_r8, & + 0.0031841380618383265_r8, 0.0031175019510210891_r8, & + 0.0031056606909107094_r8, 0.0031094626641324243_r8, & + 0.0031943540509531644_r8, 0.0034191928795686446_r8, & + 0.0038459716293802659_r8, 0.0044038749212965385_r8, & + 0.0049775665600266519_r8, 0.0054143000946859712_r8, & + 0.0059744381342211154_r8, 0.0065354468546467278_r8, & + 0.0069609123274485584_r8, 0.0074175626874773588_r8, & + 0.0078924961023761672_r8, 0.008179118535824325_r8, & + 0.0082876326501883472_r8, 0.0081914964196671998_r8, & + 0.0081315500403584002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,80) / & + 0.0003669788019429662_r8, 0.00037178995213334642_r8, & + 0.00038017164145872587_r8, 0.00042801081410646902_r8, & + 0.00043572680969481472_r8, 0.00045333743491998018_r8, & + 0.00050117660756772344_r8, 0.00054474928853720484_r8, & + 0.00058493298320905999_r8, 0.00063125921554536282_r8, & + 0.00067982459954259731_r8, 0.00071404730938737769_r8, & + 0.00077326379317715227_r8, 0.00087184698387060393_r8, & + 0.0010003863927305747_r8, 0.0011597292663314701_r8, & + 0.0015899792320988705_r8, 0.0021697682182490333_r8, & + 0.0028437831269956994_r8, 0.003253699174977343_r8, 0.003351707448352447_r8, & + 0.0033302539547362228_r8, 0.0032788442429534811_r8, & + 0.0032300973061188741_r8, 0.0032055574142673114_r8, & + 0.0031966915840422713_r8, 0.003233153445547983_r8, & + 0.0033641135589062583_r8, 0.0035903889118852738_r8, & + 0.0039403320059214217_r8, 0.0043709148185573391_r8, & + 0.004791481966331522_r8, 0.0052680279056289961_r8, & + 0.0057697794305150681_r8, 0.0063016989852112586_r8, 0.00683156094108389_r8, & + 0.0073947454073159955_r8, 0.0077991132870412561_r8, & + 0.0080417094836299358_r8, 0.0081338997450373964_r8, & + 0.0081146356921861559_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,80) / & + 0.00038074204083737281_r8, 0.00039403289543521968_r8, & + 0.00045141663258516535_r8, 0.00042644116411101227_r8, & + 0.00048990342006992576_r8, 0.0005935531889834666_r8, & + 0.00078264866529975294_r8, 0.00088771570543818255_r8, & + 0.0009739172908275357_r8, 0.0010467335368707158_r8, & + 0.0011306989832163554_r8, 0.0011542256855495109_r8, & + 0.0012281442536564934_r8, 0.0013981223158948343_r8, & + 0.0015711238900796046_r8, 0.0017541408475869231_r8, & + 0.0021880463068156839_r8, 0.002676595445492938_r8, 0.003109367087741787_r8, & + 0.0032895809977154366_r8, 0.0033039741743770856_r8, & + 0.0032210480602630318_r8, 0.0031815849303789031_r8, & + 0.0031275396543364734_r8, 0.0030986588162648489_r8, & + 0.0030819350158111602_r8, 0.0030846120836803942_r8, & + 0.0031464366040016584_r8, 0.0032840063975642072_r8, & + 0.0035220764684294314_r8, 0.0038129320186927403_r8, & + 0.0041303062883195248_r8, 0.0044627666227623486_r8, & + 0.0048173048933973324_r8, 0.0052303292232460637_r8, & + 0.0057077921514530746_r8, 0.006235426481021154_r8, & + 0.0065987703927545844_r8, 0.0067697323336757898_r8, & + 0.0062268793231984847_r8, 0.0081583800789503981_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,80) / & + 0.00033300545840676869_r8, 0.00033938800847452179_r8, & + 0.00038174195610361143_r8, 0.00048274990230405264_r8, & + 0.00060441112590322297_r8, 0.00077225582717213494_r8, & + 0.00119949390939973_r8, 0.0013525114558958615_r8, 0.0014451320766867553_r8, & + 0.0015633729080701299_r8, 0.0016527081521274304_r8, & + 0.0016779601386775406_r8, 0.001677482616387673_r8, & + 0.0019085975598575259_r8, 0.002094222222029464_r8, 0.002264338924088062_r8, & + 0.0025533331928820312_r8, 0.0027768001814401119_r8, & + 0.0029290050633195585_r8, 0.0030107933510595659_r8, & + 0.0030488459742876841_r8, 0.0030040371997094584_r8, & + 0.0030264595890628649_r8, 0.0030205107250894591_r8, & + 0.0030034496777929655_r8, 0.0029979230440548106_r8, & + 0.0030019677805913371_r8, 0.0030429674820201535_r8, & + 0.0031621832303918985_r8, 0.0033982421953373111_r8, & + 0.0036361163294668267_r8, 0.0038843463264260545_r8, & + 0.0041671882144028822_r8, 0.0044517550274493032_r8, & + 0.0047955437223679764_r8, 0.0053353830802011304_r8, & + 0.0057446097464133525_r8, 0.0058944468308038366_r8, & + 0.0059414569422245678_r8, 0.0060132827239293323_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,80) / & + 0.00077468846774860899_r8, 0.00077118985275417275_r8, & + 0.00067411177844253496_r8, 0.00065886053443766246_r8, & + 0.00078263677754179405_r8, 0.00089235062639644435_r8, & + 0.001200194778770963_r8, 0.00132587318148372_r8, 0.0013789298477100247_r8, & + 0.0014556616076365429_r8, 0.0015252942361665843_r8, & + 0.0017125550562085928_r8, 0.0015720330151213827_r8, & + 0.0017904756658905017_r8, 0.002163061179230024_r8, & + 0.0022654466185210863_r8, 0.0025073902814190942_r8, & + 0.0026068418093495305_r8, 0.0026769669613496624_r8, & + 0.0027438446125383842_r8, 0.0028099586097260669_r8, & + 0.0028149081066668777_r8, 0.0028530210527791182_r8, & + 0.0028917290303250511_r8, 0.0029350959644889219_r8, & + 0.0029877419923048177_r8, 0.0030385434833318653_r8, & + 0.003176612611964585_r8, 0.0032935074772753952_r8, & + 0.0034148107915771145_r8, 0.0035575431227197552_r8, & + 0.0037479677388454979_r8, 0.0040073569227254717_r8, & + 0.0042072138485482451_r8, 0.0043544897693580716_r8, & + 0.0043818842644358655_r8, 0.0041581565699480355_r8, & + 0.0042087446745751106_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,80) / & + 0.0014785715246679698_r8, 0.0014703339651629037_r8, & + 0.0012866786320948143_r8, 0.0013434966707323256_r8, & + 0.0015260959064279701_r8, 0.001643217105032059_r8, & + 0.0016985918105938958_r8, 0.0019360024999194069_r8, & + 0.0019991219195458366_r8, 0.0020678034520004739_r8, & + 0.0021366610006838512_r8, 0.0022908512170607405_r8, & + 0.0022903935748660145_r8, 0.0024258204612591402_r8, & + 0.002602259128948859_r8, 0.0026535854612496591_r8, & + 0.0027608849542900145_r8, 0.0028331220145652149_r8, & + 0.0028832866397563253_r8, 0.0029236295593837031_r8, & + 0.0029482718314074066_r8, 0.0029646765439260434_r8, & + 0.0030170941768450366_r8, 0.0030640201034273177_r8, & + 0.003105102291215407_r8, 0.0031496696003325622_r8, & + 0.0031797331722014806_r8, 0.0032882295755972736_r8, & + 0.0034326684929019248_r8, 0.0035814374094335997_r8, & + 0.003733092992116621_r8, 0.0039399824673784882_r8, & + 0.0041929177880789328_r8, 0.0042586334470792889_r8, & + 0.004282089369721279_r8, 0.0041991751650106669_r8, & + 0.0041748585230101326_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,80) / & + 0.0016810203538301365_r8, 0.001644508119490897_r8, & + 0.0014798887755220278_r8, 0.0016139901591524608_r8, & + 0.0018129126015256228_r8, 0.0019228956866497837_r8, & + 0.0020472131032941037_r8, 0.0022359234162525232_r8, & + 0.0023225488744191476_r8, 0.0024021688664662916_r8, & + 0.0024505967700958818_r8, 0.0025124298016771162_r8, & + 0.0025718311569729612_r8, 0.0026341808465607788_r8, & + 0.0026773061732437184_r8, 0.0027105212966014036_r8, & + 0.0027841606794061055_r8, 0.0028770986052324985_r8, & + 0.0029489967074004049_r8, 0.0029913509512901454_r8, & + 0.003014764538686683_r8, 0.0030371350495283691_r8, & + 0.0030750573567898563_r8, 0.0031148296120522413_r8, & + 0.0031600007482725807_r8, 0.0031970537166212294_r8, & + 0.0032007041592118177_r8, 0.0032856560098306706_r8, & + 0.003457953776733135_r8, 0.0036686315552318847_r8, 0.003834828593158889_r8, & + 0.0040358973135785408_r8, 0.0042087838363555072_r8, & + 0.003997379092711981_r8, 0.0042768507307007998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,80) / & + 0.0015541689317225627_r8, 0.0015335110657712175_r8, & + 0.0013043528724798223_r8, 0.0013948870160951107_r8, & + 0.0015780745482605037_r8, 0.0017123499073303703_r8, & + 0.0019242744008118519_r8, 0.0020697393731375405_r8, 0.00217010681325037_r8, & + 0.0022569110857803844_r8, 0.0023183691888900146_r8, & + 0.0024683269604775107_r8, 0.0025441111593464886_r8, & + 0.0025766627615452444_r8, 0.0026275246399807997_r8, & + 0.0026687227615136001_r8, 0.0027648517117567998_r8, 0.002838092816704_r8, & + 0.0029204890597695999_r8, 0.0029998335901290662_r8, & + 0.0030669712696639998_r8, 0.0030852815459007994_r8, & + 0.0031188503856682667_r8, 0.0031554709381418663_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,80) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,80) / & + 0.0037877124394725134_r8, 0.00364209950597756_r8, 0.0033924162491083066_r8, & + 0.0039392788269910911_r8, 0.0039907877164993572_r8, & + 0.0040050628493515858_r8, 0.0042045857891709632_r8, & + 0.0045418604718132144_r8, 0.0041876135114019561_r8, & + 0.0038436288584789333_r8, 0.0036760769535267557_r8, & + 0.0031921696850429628_r8, 0.0026365954230561524_r8, & + 0.0026376103765439998_r8, 0.0026114118896389334_r8, & + 0.0025470257777536003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,80) / & + 0.0036113831820525303_r8, 0.0037109465935818539_r8, & + 0.0035289998700669899_r8, 0.0036784351716105473_r8, & + 0.0039384814552562049_r8, 0.0040797550822133455_r8, & + 0.0042160685754439381_r8, 0.0042857810003643785_r8, & + 0.0038104198208616042_r8, 0.0034597383663944161_r8, & + 0.003351336898406874_r8, 0.0030935903131253466_r8, & + 0.0027918789061766591_r8, 0.0027636737821224956_r8, & + 0.0026343157491402736_r8, 0.0026352175916360093_r8, & + 0.002410574262463615_r8, 0.0026082637740446821_r8, & + 0.0026876033676071116_r8, 0.0028880322257689777_r8, & + 0.0030532046788631414_r8, 0.0030837433203750224_r8, & + 0.0032841214498965038_r8, 0.0033757881030725334_r8, & + 0.0034103053193803392_r8, 0.0035111538564660868_r8, & + 0.0036717679788742102_r8, 0.0039635011427807832_r8, & + 0.0040167227334934686_r8, 0.0040950013737769859_r8, & + 0.004131067987701127_r8, 0.0041549597279328249_r8, & + 0.0041833542389110917_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,80) / & + 0.0030882401228799995_r8, 0.0036136023039999997_r8, & + 0.0035352612591786669_r8, 0.0034432997133653333_r8, & + 0.0039840891966293332_r8, 0.004274289258581334_r8, & + 0.0041404933168639997_r8, 0.0035367900909226658_r8, & + 0.0028764737622186663_r8, 0.0026590553569279989_r8, & + 0.0026629469286399993_r8, 0.0026153215034026662_r8, & + 0.002528873017514666_r8, 0.0025541219054079998_r8, & + 0.0025309577880746662_r8, 0.0025783515721386663_r8, & + 0.0025228040187733327_r8, 0.0025890070661120004_r8, & + 0.0026722589038080005_r8, 0.0027898862916266656_r8, & + 0.0029331795214506658_r8, 0.0030361671871146664_r8, & + 0.0031928956049919991_r8, 0.0033424431464959999_r8, & + 0.0034981060149759996_r8, 0.0036401020542293325_r8, & + 0.0038499226290346659_r8, 0.0041559669472426668_r8, & + 0.004169633776469334_r8, 0.0041726451117226658_r8, & + 0.0042012296325120001_r8, 0.0042211507734186667_r8, & + 0.0042435273107626677_r8, 0.0042351369365485718_r8, & + 0.0042493580500114272_r8, 0.0042627303640319992_r8, & + 0.0043642586903039991_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,81) / & + 0.0044481789370370362_r8, 0.0044610562115555549_r8, & + 0.0045153387911111113_r8, 0.0047999479137777771_r8, & + 0.0049509972622222209_r8, 0.005034700933333333_r8, & + 0.0053603298471111109_r8, 0.0053353185911111118_r8, & + 0.0053212071173333328_r8, 0.0053435391902222212_r8, & + 0.0053964904986666664_r8, 0.0055059209840000005_r8, & + 0.0055078679679999984_r8, 0.0059025232888888883_r8, & + 0.0062578977915555556_r8, 0.0057044939376296299_r8, & + 0.0054936427814814828_r8, 0.0061845170185185179_r8, & + 0.006402290784444444_r8, 0.0072805434114285696_r8, & + 0.0075072458066666658_r8, 0.0062696004966666672_r8, & + 0.0078789200599999991_r8, 0.0091298572800000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,81) / & + 0.0044481789370370362_r8, 0.0044610562115555549_r8, & + 0.0045153387911111113_r8, 0.0047999479137777771_r8, & + 0.0049509972622222209_r8, 0.005034700933333333_r8, & + 0.0053603298471111109_r8, 0.0053353185911111118_r8, & + 0.0053212071173333328_r8, 0.0053435391902222212_r8, & + 0.0053964904986666664_r8, 0.0055059209840000005_r8, & + 0.0055078679679999984_r8, 0.0059025232888888883_r8, & + 0.0062578977915555556_r8, 0.0057044939376296299_r8, & + 0.0054936427814814828_r8, 0.0061845170185185179_r8, & + 0.006402290784444444_r8, 0.0072805434114285696_r8, & + 0.0075072458066666658_r8, 0.0062696004966666672_r8, & + 0.0078789200599999991_r8, 0.0091298572800000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,81) / & + 0.0044481789370370362_r8, 0.0044610562115555549_r8, & + 0.0045153387911111113_r8, 0.0047999479137777771_r8, & + 0.0049509972622222209_r8, 0.005034700933333333_r8, & + 0.0053603298471111109_r8, 0.0053353185911111118_r8, & + 0.0053212071173333328_r8, 0.0053435391902222212_r8, & + 0.0053964904986666664_r8, 0.0055059209840000005_r8, & + 0.0055078679679999984_r8, 0.0059025232888888883_r8, & + 0.0062578977915555556_r8, 0.0057044939376296299_r8, & + 0.0054936427814814828_r8, 0.0061845170185185179_r8, & + 0.006402290784444444_r8, 0.0072805434114285696_r8, & + 0.0075072458066666658_r8, 0.0062696004966666672_r8, & + 0.0078789200599999991_r8, 0.0091298572800000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,81) / & + 0.0045492954493827151_r8, 0.0045353078577777782_r8, & + 0.0046158405150617298_r8, 0.004740952264691357_r8, & + 0.0050645066143209863_r8, 0.0051248668162962967_r8, & + 0.0054941373856790118_r8, 0.0056539176538271604_r8, & + 0.0056791470903703699_r8, 0.0057278586701234556_r8, & + 0.0057908629244444445_r8, 0.005880714479506173_r8, & + 0.0059177866819753074_r8, 0.0061593927431481468_r8, & + 0.0068375441291534406_r8, 0.0072128963160899466_r8, & + 0.0077044248877460317_r8, 0.0078230066733333322_r8, & + 0.0079478715831111102_r8, 0.0080254514071111116_r8, & + 0.0081735761193333333_r8, 0.0085524974797777775_r8, & + 0.008521903205555556_r8, 0.0085413189626666643_r8, & + 0.0086524384982222206_r8, 0.008687126431111112_r8, & + 0.0087137587870370365_r8, 0.0087316338751851838_r8, & + 0.0087906188925925902_r8, 0.0089481457070370359_r8, & + 0.008878676929629627_r8, 0.008876125326666668_r8, 0.0088253428807407407_r8, & + 0.0086634547666666669_r8, 0.0086207958479999989_r8, & + 0.0086183059550000007_r8, 0.0084568997333333337_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,81) / & + 0.0053987481125925925_r8, 0.0053625634241975303_r8, & + 0.0053947820340740733_r8, 0.0050719487896296288_r8, & + 0.0056354740019753068_r8, 0.0055758811298765422_r8, & + 0.0060024425817283948_r8, 0.0064172722069135799_r8, & + 0.0065586642928395049_r8, 0.006727014618765432_r8, & + 0.0068778365417283939_r8, 0.0070941403624691351_r8, & + 0.0072530885861728399_r8, 0.0074410566711111117_r8, & + 0.0076862231891358015_r8, 0.0078003334622222227_r8, & + 0.008008224389135803_r8, 0.0082279858167901218_r8, & + 0.0083865642429629631_r8, 0.008485429612839504_r8, & + 0.0086062517111111098_r8, 0.0087281277323456776_r8, & + 0.008722303421234567_r8, 0.0087323064444444435_r8, & + 0.0088035386938271603_r8, 0.0088339545407407401_r8, & + 0.0088582409935802457_r8, 0.008859267181728395_r8, & + 0.0089388383654320988_r8, 0.0089226134987654328_r8, 0.00884547373382716_r8, & + 0.0088441517076543203_r8, 0.0088391686859259234_r8, & + 0.0087567107702469123_r8, 0.0087210380203086406_r8, & + 0.0087219749948024665_r8, 0.0086205149999823635_r8, & + 0.0088341528446666678_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,81) / & + 0.0058446962000000009_r8, 0.0057453870730864182_r8, & + 0.0056813288958024698_r8, 0.005366427808395061_r8, 0.00586250195111111_r8, & + 0.0058491615051851856_r8, 0.0062016155318518522_r8, & + 0.0066645003461728389_r8, 0.0069033155916049371_r8, & + 0.0071846852879012338_r8, 0.0074412415698765421_r8, & + 0.0077528329693827159_r8, 0.0080955890558024671_r8, & + 0.008333646216296297_r8, 0.0084300154528395062_r8, & + 0.0085584461353086401_r8, 0.0087449072953086418_r8, & + 0.0089158184691358021_r8, 0.0090288378395061725_r8, & + 0.009097481506172839_r8, 0.0091646459827160482_r8, & + 0.0091667630735802457_r8, 0.0091855302982716044_r8, & + 0.0091750742730864199_r8, 0.0091707383970370399_r8, & + 0.0091642854301234571_r8, 0.0091608278232098751_r8, & + 0.0091539126093827146_r8, 0.0091554287792592597_r8, & + 0.0090510811609876545_r8, 0.0089929859688888877_r8, & + 0.0089888719713580225_r8, 0.0090003079599999987_r8, & + 0.0089537412059259251_r8, 0.0089354916977777751_r8, & + 0.0089007214849382704_r8, 0.0088070332804938267_r8, & + 0.0087609428058289234_r8, 0.0085626811094603184_r8, & + 0.0084673335706666655_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,81) / & + 0.0050919548360493826_r8, 0.0050309659782716044_r8, & + 0.0049692560153086415_r8, 0.0046639973985185181_r8, & + 0.004917456626172839_r8, 0.0052993280464197533_r8, & + 0.0059166495545679024_r8, 0.006350329608888889_r8, & + 0.0065506119516049385_r8, 0.0067983670523456786_r8, & + 0.0070162055328395062_r8, 0.0073294795111111108_r8, & + 0.0077394278088888874_r8, 0.0079517100814814803_r8, & + 0.0081107507545679011_r8, 0.0082649933046913572_r8, & + 0.0085179717955555546_r8, 0.0086416944932098758_r8, & + 0.0087672199538271611_r8, 0.008871625352962962_r8, & + 0.0089627839111728388_r8, 0.0090096361027160489_r8, & + 0.0090292180375925908_r8, 0.0090606242485185163_r8, & + 0.0090794584990123474_r8, 0.0090782335446913578_r8, & + 0.0090768988067283958_r8, 0.0090730230314462063_r8, & + 0.0090322200011199293_r8, 0.0089904584688007029_r8, & + 0.0089158762499999995_r8, 0.0087970607985978829_r8, & + 0.0087868414108148146_r8, 0.0087277270303068779_r8, & + 0.0087201241251428554_r8, 0.00867387057637037_r8, 0.0085369978785185176_r8, & + 0.0084794412040740726_r8, 0.0083948292177777762_r8, & + 0.0084437950333333331_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,81) / & + 0.0028553546548148148_r8, 0.0028367168592592596_r8, & + 0.0027374169772839507_r8, 0.0023162545693827161_r8, & + 0.0024042109120987654_r8, 0.0027589207037037036_r8, & + 0.0034711507481481477_r8, 0.0043238114049382716_r8, & + 0.0047810290720987653_r8, 0.0051408513145679013_r8, & + 0.0054083073787654333_r8, 0.0056330795629629619_r8, & + 0.0059821961669135797_r8, 0.0062940464246913587_r8, & + 0.0064597249634567918_r8, 0.0065997487985185186_r8, & + 0.006913022776790124_r8, 0.0070985132182716047_r8, & + 0.0072924073086419756_r8, 0.0074472785145678995_r8, & + 0.0075530128735802468_r8, 0.0076087043817283937_r8, & + 0.0077006360479012336_r8, 0.0078003611970370382_r8, & + 0.0078799878503703694_r8, 0.0079838824666666666_r8, & + 0.0080987693145679034_r8, 0.0082574690805555552_r8, & + 0.0084787196036243389_r8, 0.0085705145767813046_r8, & + 0.008697662028800705_r8, 0.0087158283985396823_r8, & + 0.0087253849902839478_r8, 0.0087121113390370344_r8, & + 0.008632424709166666_r8, 0.008373229343999998_r8, 0.0084828595200000002_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,81) / & + 0.00086412438024691346_r8, 0.00083588109382716047_r8, & + 0.00082063965746913584_r8, 0.0010349003468518518_r8, & + 0.0010807459957407407_r8, 0.0011840316017283951_r8, & + 0.0016843757503086419_r8, 0.0022053927364814813_r8, & + 0.0026693360962345676_r8, 0.0031024845666049374_r8, & + 0.0034967257142592594_r8, 0.0039119193588888889_r8, & + 0.0044810544327954149_r8, 0.0049086443840299816_r8, & + 0.0051754087287389765_r8, 0.0054091135043650793_r8, & + 0.0058632075380070543_r8, 0.0061176630728483252_r8, & + 0.0062958742810582009_r8, 0.0064873622111552027_r8, & + 0.0066501401505379186_r8, 0.0067648970740388009_r8, & + 0.0069095813485185184_r8, 0.0070192471175308645_r8, & + 0.0071232506920282188_r8, 0.0072484905500881823_r8, & + 0.0074244824778483248_r8, 0.007870060767724868_r8, & + 0.0082647375830952382_r8, 0.008469930539862433_r8, 0.008712491008841269_r8, & + 0.0088542730660740743_r8, 0.009010872150962964_r8, & + 0.0090888291684444438_r8, 0.0091663770974074084_r8, & + 0.0091884540099999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,81) / & + 0.00037005638913580242_r8, 0.00034267288197530857_r8, & + 0.00038607786716049377_r8, 0.00049018511703703704_r8, & + 0.00055096134123456793_r8, 0.00061791318419753081_r8, & + 0.00087005963061728383_r8, 0.0011613306558024691_r8, & + 0.0014336865372839504_r8, 0.0017166186281481481_r8, & + 0.0019657049999999994_r8, 0.0022842393481481483_r8, & + 0.0027513028745679005_r8, 0.0031238553970370374_r8, & + 0.0033942605965432094_r8, 0.0036724315441975307_r8, & + 0.0042493711619753082_r8, 0.004618983794074074_r8, & + 0.0049510804666666672_r8, 0.0052639384227160498_r8, & + 0.0055817886454320991_r8, 0.0058300799525925909_r8, & + 0.0060943187782716048_r8, 0.0062662468953086411_r8, & + 0.0064043940079012351_r8, 0.0065375580987654331_r8, & + 0.0066641582834567883_r8, 0.0069268517186507929_r8, & + 0.0071559398032275123_r8, 0.0074055780318589047_r8, & + 0.0077672035655731927_r8, 0.008113799735209877_r8, & + 0.0084207644063051153_r8, 0.0086314281873650783_r8, & + 0.0088024168205679005_r8, 0.0089187170874603164_r8, & + 0.0090478868367089953_r8, 0.0091638134099894172_r8, & + 0.0092679211881481465_r8, 0.0093362851293968246_r8, & + 0.0093884012237037025_r8, 0.0094341498007407404_r8, & + 0.0094518168777777758_r8, 0.0094493623466666652_r8, 0.0095012819199999984_r8 & + / +data delta_sa_ref(:,11,81) / & + 0.00016946896345679008_r8, 0.00016676944148148149_r8, & + 0.00017954594617283952_r8, 0.00021815280839506174_r8, & + 0.00022909881530864198_r8, 0.00024308640691358022_r8, & + 0.00035607804246913575_r8, 0.0004159297728395062_r8, & + 0.00049979985283950625_r8, 0.00060509045481481468_r8, & + 0.00070357678222222224_r8, 0.0007810955896296294_r8, & + 0.00092997607555555563_r8, 0.0010813434498765432_r8, & + 0.0012345320770370367_r8, 0.0013906605945679014_r8, & + 0.0017832653881481482_r8, 0.002196255270617284_r8, & + 0.0026469090316049381_r8, 0.003112252999506173_r8, & + 0.0036552174691358024_r8, 0.0041393933762962961_r8, & + 0.0045918036755555553_r8, 0.0049053827367901235_r8, & + 0.0050883308202469132_r8, 0.0052118339506172845_r8, & + 0.0052604993056790134_r8, 0.0052245827204938262_r8, & + 0.005171193201975309_r8, 0.0053011677891358034_r8, & + 0.0057424286928395045_r8, 0.0065571481229629624_r8, & + 0.0073785608883950625_r8, 0.007901186493827159_r8, & + 0.0083100623787654305_r8, 0.0086301221417283934_r8, & + 0.0089160958172839495_r8, 0.0091110438306172825_r8, & + 0.0092511416251851841_r8, 0.0093417420202469136_r8, & + 0.0093840526358641985_r8, 0.0094288926665925914_r8, & + 0.0094525657177777778_r8, 0.0094535522847619038_r8, 0.0095093319499999999_r8 & + / +data delta_sa_ref(:,12,81) / & + 0.00011861255802469136_r8, 0.000123956132345679_r8, & + 0.00011772504395061728_r8, 0.00021670135308641977_r8, & + 0.00021770905135802472_r8, 0.00022417126320987651_r8, & + 0.00028900601530864201_r8, 0.0003400565644444444_r8, & + 0.00037516883999999989_r8, 0.00042108844839506177_r8, & + 0.00047100187012345677_r8, 0.00053092755999999998_r8, & + 0.00065656627111111113_r8, 0.00077684291802469134_r8, & + 0.00090075282567901225_r8, 0.0010273530103703703_r8, & + 0.0013403773753086418_r8, 0.0016967697456790121_r8, & + 0.002120123203950617_r8, 0.0026084038637037032_r8, & + 0.0031284963560493828_r8, 0.0036140959837037039_r8, & + 0.004063067165925925_r8, 0.004416676809876543_r8, 0.0046675474548148153_r8, & + 0.0048175188434567903_r8, 0.0048876601901234563_r8, & + 0.004789109148148148_r8, 0.004592034799012345_r8, 0.004565779174320988_r8, & + 0.0048659160953086417_r8, 0.0057319541777777769_r8, & + 0.0067368882128395055_r8, 0.0075908893856790121_r8, & + 0.0081706209748148156_r8, 0.0085844798814814806_r8, & + 0.0089210695940740731_r8, 0.0091390837283950623_r8, & + 0.0092894064246913568_r8, 0.0094093872335802454_r8, & + 0.0094601326997530866_r8, 0.0093953210599999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,81) / & + 0.00014133661629629629_r8, 0.00014209470123456792_r8, & + 0.00014907462962962965_r8, 0.00019987556543209876_r8, & + 0.00020061516049382717_r8, 0.00020135475555555554_r8, & + 0.00021061818370370368_r8, 0.00024662721827160491_r8, & + 0.00026646685580246913_r8, 0.00028734192641975313_r8, & + 0.00030548974024691351_r8, 0.00033454658123456793_r8, & + 0.00039049694765432095_r8, 0.00045476775851851847_r8, & + 0.00053134358222222224_r8, 0.00061260658962962954_r8, & + 0.00081718782864197528_r8, 0.0010503266819753086_r8, & + 0.0013736776429629631_r8, 0.0017438727061728392_r8, & + 0.0021865850651851849_r8, 0.0026496732681481473_r8, & + 0.0031385086241975308_r8, 0.0035945059595061733_r8, & + 0.0040042323787654321_r8, 0.0042913246918518519_r8, & + 0.0044458815698765431_r8, 0.0044363038138271601_r8, & + 0.0040763428972839504_r8, 0.0036954421955555554_r8, & + 0.0037031709639506172_r8, 0.0041362963219753086_r8, & + 0.0050545035911111116_r8, 0.0064150256869135794_r8, & + 0.0075552409037037043_r8, 0.0083359297160493818_r8, & + 0.0088349529940740731_r8, 0.0091639341224691358_r8, & + 0.0093406048928395061_r8, 0.0094493531017283954_r8, & + 0.0094995092691216917_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,81) / & + 0.00013560475456790122_r8, 0.00013483742469135802_r8, & + 0.00013884972790123454_r8, 0.00017176170814814818_r8, & + 0.00016995894518518519_r8, 0.00017531176444444445_r8, & + 0.00014989742913580243_r8, 0.00017194660691358023_r8, & + 0.00017786336740740742_r8, 0.00018816222864197533_r8, & + 0.00019799884296296298_r8, 0.00021025763111111111_r8, & + 0.00024018349629629628_r8, 0.00026917562271604932_r8, & + 0.00030045124888888891_r8, 0.00035502411950617282_r8, & + 0.00052398461135802466_r8, 0.00076628519851851848_r8, & + 0.0010083546622222223_r8, 0.0013024916182716047_r8, & + 0.0016818576602469135_r8, 0.0021168689856790124_r8, & + 0.0026307211446913578_r8, 0.0031445363239506171_r8, & + 0.0035912240064197528_r8, 0.0039503528785185191_r8, & + 0.0041605827748148151_r8, 0.0041141269599999988_r8, & + 0.0035023616597530862_r8, 0.0028804269274074067_r8, & + 0.0026082374548148145_r8, 0.002702785438518518_r8, 0.003108083532345679_r8, & + 0.0041717691501234559_r8, 0.0059611639323456783_r8, & + 0.0076873418266666677_r8, 0.0087663231948148148_r8, & + 0.0093087910791887132_r8, 0.0094774007586507919_r8, & + 0.0095081116181481486_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,81) / & + 0.00014802995160493826_r8, 0.00014375879012345675_r8, & + 0.00014279731654320984_r8, 0.00017244583358024689_r8, & + 0.00016887728740740742_r8, 0.00018439953876543206_r8, & + 0.00014168792395061728_r8, 0.00015010081777777775_r8, & + 0.00016692660543209876_r8, 0.00017196509679012344_r8, & + 0.00017644889185185189_r8, 0.00018294808345679014_r8, & + 0.00020954577086419753_r8, 0.00023479369728395056_r8, & + 0.00026146534419753083_r8, 0.00031079633481481483_r8, & + 0.00048740239061728397_r8, 0.00076095086913580232_r8, & + 0.0010640646602469135_r8, 0.0013973169501234563_r8, & + 0.0018482388143209877_r8, 0.0023509693125925925_r8, & + 0.0028731326711111107_r8, 0.0033385321086419743_r8, & + 0.0036932141654320984_r8, 0.0038924980548148149_r8, & + 0.0039216473451851846_r8, 0.0035661887135802462_r8, & + 0.0028702297604938269_r8, 0.0023841124162962963_r8, & + 0.0022265971580246909_r8, 0.0023205349758024692_r8, & + 0.0025393580422222221_r8, 0.0031708208390740741_r8, & + 0.0047764721429717815_r8, 0.0067378132019312144_r8, & + 0.0081560504898518515_r8, 0.0086360909049999993_r8, & + 0.0094975377199999992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,81) / & + 0.00019454921578703537_r8, 0.0001891200328445893_r8, & + 0.00018965456630031275_r8, 0.00018537829865452509_r8, & + 0.00017923640443778105_r8, 0.00019220146100111277_r8, & + 0.00015307570825178599_r8, 0.00017591391217377448_r8, & + 0.00018689805063648395_r8, 0.00021228314925927246_r8, & + 0.00022878031904963945_r8, 0.00023979590065680326_r8, & + 0.00026591467265019261_r8, 0.00029908719004950117_r8, & + 0.00035034999655819579_r8, 0.00042845476738272929_r8, & + 0.00066482336529401144_r8, 0.0010474445091104921_r8, & + 0.0014586369901877995_r8, 0.0019473997086339157_r8, & + 0.0025601637077597231_r8, 0.0031922862028212402_r8, & + 0.0036759551318657577_r8, 0.0039646844260795974_r8, & + 0.0040355913370861288_r8, 0.0038640257497641844_r8, & + 0.0035393110868533928_r8, 0.0028813514979675551_r8, & + 0.002422764091472583_r8, 0.0023258245027967636_r8, & + 0.0024568507059999577_r8, 0.0026530572375259394_r8, & + 0.0029039645465158614_r8, 0.0033801851935561871_r8, & + 0.0049418639883828342_r8, 0.0071932442264219555_r8, & + 0.0088141481490248436_r8, 0.0096644041834106666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,81) / & + 0.00021787674151039121_r8, 0.00022181458940057284_r8, & + 0.00022323194705242748_r8, 0.0001948119802475682_r8, & + 0.000191661529381909_r8, 0.00018367904808513048_r8, & + 0.00015296281123509202_r8, 0.00018474120846066565_r8, & + 0.00018964889825507251_r8, 0.00021907402983104335_r8, & + 0.00025221182662320978_r8, 0.00027503852434785368_r8, & + 0.00030890194799809988_r8, 0.00036505726480284817_r8, & + 0.00042849061062473736_r8, 0.00053660461854435364_r8, & + 0.00083135140270081316_r8, 0.0013480517082745018_r8, & + 0.0018444798658093296_r8, 0.00247426978676663_r8, 0.003157006615577758_r8, & + 0.0037788319657512696_r8, 0.0041893723505890164_r8, & + 0.0043335098977815593_r8, 0.0040940325557430688_r8, & + 0.0036984665613720305_r8, 0.0030934799210708386_r8, & + 0.0024511745210192546_r8, 0.0022596310898296453_r8, & + 0.0024039090688051826_r8, 0.0026845042670379004_r8, & + 0.0029288120336291548_r8, 0.0032105945356698815_r8, & + 0.0036717964385344468_r8, 0.0054239849373946313_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,81) / & + 0.00022035032627552333_r8, 0.00022995288859199993_r8, & + 0.00023138827259239995_r8, 0.00016901828760039998_r8, & + 0.00016712387216839995_r8, 0.0001493819430264_r8, & + 0.00012417268624199997_r8, 0.00014038242883679999_r8, & + 0.00014941941497999996_r8, 0.00017198377637279996_r8, & + 0.00021495786182639998_r8, 0.00025272959105519994_r8, & + 0.00031804320617999994_r8, 0.00043204038342191994_r8, & + 0.00055708054538975988_r8, 0.00074322872022335976_r8, & + 0.0011733018260812801_r8, 0.0017919537874963201_r8, & + 0.0023504157989087996_r8, 0.0030306916370841596_r8, & + 0.0036924488357903996_r8, 0.0041204992888639993_r8, & + 0.0042736846351807993_r8, 0.004093103127232_r8, 0.0036505676823167998_r8, & + 0.0029320304813855998_r8, 0.0026440210460159995_r8, & + 0.0022468932817631994_r8, 0.0023523393591935999_r8, & + 0.0026713006282367995_r8, 0.0030469194911231993_r8, & + 0.0032829927988031996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,81) / & + 0.00018829823550441577_r8, 0.00019477885584505392_r8, & + 0.00018375066872053331_r8, 0.000191189450027437_r8, & + 0.00018443707987117036_r8, 0.0002181191154024296_r8, & + 0.00021941212245362961_r8, 0.0002031617375385481_r8, & + 0.00022175070928079994_r8, 0.00028499312082949326_r8, & + 0.00035049932091385901_r8, 0.00041018288448353512_r8, & + 0.00056931716181979417_r8, 0.00074132404268799975_r8, & + 0.0010131045470202311_r8, 0.0013080059329939199_r8, & + 0.0018856448608300085_r8, 0.0024012960728485681_r8, & + 0.0029003393276317152_r8, 0.0035169217122839459_r8, & + 0.0039255694074431993_r8, 0.0041310138611338658_r8, & + 0.0040219223773326216_r8, 0.0036496321248871109_r8, & + 0.0032403714486072886_r8, 0.0028347503477308441_r8, & + 0.002526344221444622_r8, 0.0022868026929223108_r8, & + 0.0024534569350769773_r8, 0.002786458928826026_r8, & + 0.0032101055057791993_r8, 0.0035227258772693327_r8, & + 0.003728745000760533_r8, 0.0039192480396373327_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,20,81) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,81) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,81) / & + 0.00027636188120905004_r8, 0.00024233719582175805_r8, & + 0.00022155929982305977_r8, 0.00024307873619283196_r8, & + 0.00024547018950745874_r8, 0.00025662320981312904_r8, & + 0.00028712320440843291_r8, 0.00039650338143966879_r8, & + 0.00055638385759743721_r8, 0.00079963057655858057_r8, & + 0.00099821017884669421_r8, 0.0011938343582749708_r8, & + 0.0014747759502184601_r8, 0.0017705698268323433_r8, & + 0.002111267261618489_r8, 0.0024601015055655878_r8, 0.003069692562697646_r8, & + 0.0037224912423821648_r8, 0.0042587934887203319_r8, & + 0.0046314038142626487_r8, 0.0047772577292664042_r8, & + 0.0045766122840981303_r8, 0.0042002733547349819_r8, & + 0.003734880163306292_r8, 0.0033166402718738728_r8, & + 0.0030308371512292034_r8, 0.0028598165027628837_r8, & + 0.0026493475173491043_r8, 0.0028650757440913228_r8, & + 0.003138889190528332_r8, 0.0035482965633438224_r8, & + 0.0039698332124849314_r8, 0.0042292434788672824_r8, & + 0.0043769559429469237_r8, 0.0044051582554304599_r8, & + 0.004540263574396089_r8, 0.0067743941230977789_r8, 0.011943471275928532_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,81) / & + 0.00024766813126436867_r8, 0.00023951712509018598_r8, & + 0.00023293509193544686_r8, 0.00025201150779380403_r8, & + 0.00026129140918929381_r8, 0.00027147059999836702_r8, & + 0.00031054185494597519_r8, 0.00046189034987035384_r8, & + 0.00073016560237790273_r8, 0.0010373781731118877_r8, & + 0.0012370969581966746_r8, 0.0014171461790864854_r8, & + 0.0016816329357665972_r8, 0.0019717590076424952_r8, & + 0.0022801961426843387_r8, 0.0026307850772607469_r8, & + 0.0032782543212235842_r8, 0.003891263560210593_r8, & + 0.0043611327118993374_r8, 0.0047149361277838732_r8, & + 0.0048440893946283181_r8, 0.004619247907415123_r8, & + 0.0042436319397968578_r8, 0.0037939489653704681_r8, & + 0.0033944539937489642_r8, 0.0031099532641622909_r8, & + 0.0029031358328553874_r8, 0.0027593643295858819_r8, & + 0.0030307392604976974_r8, 0.0033175743157962266_r8, & + 0.0037379825497378758_r8, 0.0041910713436454959_r8, & + 0.0045161166321126701_r8, 0.0046458678307480621_r8, & + 0.004706591391709424_r8, 0.0049256900003270604_r8, & + 0.0064897507538515739_r8, 0.01036713682970726_r8, 0.012671485316642131_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,81) / & + 0.00026393314660242963_r8, 0.00026053136876167901_r8, & + 0.00026146838541242468_r8, 0.0002724274062407111_r8, & + 0.00028560674913272101_r8, 0.00030063975539903207_r8, & + 0.00040214310258741717_r8, 0.00066953913681216796_r8, & + 0.0010176408225641878_r8, 0.0014130007393972936_r8, & + 0.0016378643656490667_r8, 0.0018605280397643057_r8, & + 0.0021093467003916642_r8, 0.0023642967091032493_r8, & + 0.0025960453707452838_r8, 0.002850995379456869_r8, & + 0.0033821208610121485_r8, 0.0038748897696684248_r8, & + 0.0043053063311957332_r8, 0.0046104682104309725_r8, & + 0.0046763241850366422_r8, 0.0045084759849900241_r8, & + 0.004167463033900168_r8, 0.003772388296047723_r8, 0.0034314975645210071_r8, & + 0.0031195932393858366_r8, 0.0028920000428905878_r8, & + 0.0027968317430583306_r8, 0.003160170134348563_r8, & + 0.0035874293571614025_r8, 0.0040490526471439808_r8, & + 0.0044835024542549335_r8, 0.004840526168116227_r8, 0.005130512451594826_r8, & + 0.0054467021001626172_r8, 0.0059344625529710229_r8, & + 0.0071347859750580346_r8, 0.0093588746565681658_r8, & + 0.011685252673457257_r8, 0.012141535841527466_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,81) / & + 0.00026281583491897934_r8, 0.00025717665924372018_r8, & + 0.00026225407795516046_r8, 0.00030049676356898764_r8, & + 0.00031117014588154728_r8, 0.00034282299018903694_r8, & + 0.00051383477359776117_r8, 0.00082429192025599987_r8, & + 0.0010957285639658931_r8, 0.0014069635279586501_r8, & + 0.0016425557561694814_r8, 0.0018895991840273908_r8, & + 0.0021399483355570036_r8, 0.0024162463376076375_r8, & + 0.0026471716618113581_r8, 0.0028531204071622052_r8, & + 0.0032932137762401968_r8, 0.0037301742699430446_r8, & + 0.0041743943921013988_r8, 0.0044888702616546492_r8, & + 0.0046044409539418591_r8, 0.004516223504585218_r8, & + 0.0042433824684657779_r8, 0.0039137823729635543_r8, & + 0.0036248016271528557_r8, 0.0033399476344225182_r8, & + 0.0031242329603160496_r8, 0.0030541861881352422_r8, & + 0.0034464437911403451_r8, 0.0040128892650034562_r8, & + 0.0045674730245151606_r8, 0.0050616463043792583_r8, & + 0.005511397572027522_r8, 0.0060141476769642131_r8, 0.006503350410835951_r8, & + 0.0068915690738684957_r8, 0.0073985660768845435_r8, & + 0.0080570111368933918_r8, 0.00908939512137758_r8, 0.0083979770881962672_r8, & + 0.0085185582204799996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,81) / & + 0.00022652557130110946_r8, 0.0002248124102798749_r8, & + 0.00022271093276049383_r8, 0.00023303558318180085_r8, & + 0.00023335537323909794_r8, 0.00025820762912047408_r8, & + 0.00042043255675791271_r8, 0.00051438230716241646_r8, & + 0.0006298950442875259_r8, 0.00078019637121717195_r8, & + 0.00096288786252162611_r8, 0.0012378844696501992_r8, & + 0.0015410911282617676_r8, 0.0018953956696000261_r8, & + 0.002232363021403391_r8, 0.0025715460614608855_r8, & + 0.0031481732190614914_r8, 0.0036893493645960159_r8, & + 0.004148750624050279_r8, 0.0044792079639729507_r8, & + 0.0046139766309767375_r8, 0.0045089255971546326_r8, & + 0.0043294091642762014_r8, 0.0040791277601473063_r8, & + 0.0038682947438007046_r8, 0.0036808977702245927_r8, & + 0.0035295913888291558_r8, 0.0034685343300323562_r8, & + 0.0038430541714211822_r8, 0.0043929331749435786_r8, & + 0.0050573198611252928_r8, 0.0056415306115132303_r8, & + 0.0061007262916449451_r8, 0.006601380468490535_r8, & + 0.0069703039838766613_r8, 0.0073054831218902416_r8, & + 0.0076028650330296141_r8, 0.0078503629583944849_r8, & + 0.0081665801775922722_r8, 0.0084371124502576975_r8, & + 0.0086971003683414642_r8, 0.0088954172866583699_r8, & + 0.0090065329104956435_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,81) / & + 0.00019159068959336294_r8, 0.00018032206539709631_r8, & + 0.00018884576831478521_r8, 0.00020952899093143703_r8, & + 0.00020738602607360001_r8, 0.00022657639676681478_r8, & + 0.00033365240488817776_r8, 0.00035948837446637033_r8, & + 0.00034429499440687399_r8, 0.00037403164159146657_r8, & + 0.00044123405640296301_r8, 0.00066571564482559981_r8, & + 0.00085800460386702213_r8, 0.0011625945527618368_r8, & + 0.0014508594435261627_r8, 0.0017759399889829925_r8, & + 0.0025251590284937481_r8, 0.0031996391588053328_r8, & + 0.0037745316188695695_r8, 0.0042404699667797328_r8, & + 0.0044041058001938966_r8, 0.0043886716375661034_r8, & + 0.0042572043552763254_r8, 0.0040994436165285916_r8, & + 0.0039472690333653328_r8, 0.0038532915969592893_r8, & + 0.0038471275632109038_r8, 0.0039883706177735109_r8, & + 0.0043936558367298362_r8, 0.004967633323034547_r8, & + 0.0055994467822440292_r8, 0.0062376409795133619_r8, & + 0.0067787034887319686_r8, 0.0073161061029124739_r8, & + 0.0076635553489640285_r8, 0.0079988691535734513_r8, & + 0.0082537615803719103_r8, 0.0084646871101994644_r8, & + 0.0086838955603764124_r8, 0.0088945102227095431_r8, & + 0.0090923387394589404_r8, 0.0092210114713130956_r8, & + 0.0093052289583007985_r8, 0.0093183937452223989_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,81) / & + 0.00012895138401801479_r8, 0.00011948381086867487_r8, & + 0.00015262031689136462_r8, 0.000173327468859707_r8, & + 0.00015459483749470288_r8, 0.00016284732104198844_r8, & + 0.00020438819681222053_r8, 0.00023003165028890864_r8, & + 0.0002401827113394041_r8, 0.00025385246936251527_r8, & + 0.00028840657992093501_r8, 0.00038498088891754395_r8, & + 0.00051960269107847892_r8, 0.00066505904219106484_r8, & + 0.00085595468154714047_r8, 0.0010509512483101498_r8, & + 0.0015317723295897286_r8, 0.0021931861029746299_r8, & + 0.0029324668683578465_r8, 0.0036152206528788275_r8, & + 0.003983164973000902_r8, 0.0041433542855383969_r8, & + 0.0040940672135550693_r8, 0.0040150104463214089_r8, & + 0.0039355486492203984_r8, 0.0039029437448986075_r8, & + 0.0040148838744878618_r8, 0.0042961264886300175_r8, & + 0.0047939588243383563_r8, 0.0054334756705195714_r8, & + 0.0060796501951453754_r8, 0.006751290972680902_r8, & + 0.0073543804451671963_r8, 0.0079117015426427798_r8, & + 0.0083141999733232722_r8, 0.0086351861431992888_r8, & + 0.0089266051327586502_r8, 0.0091109226531083647_r8, & + 0.0092741320600027502_r8, 0.0094288949668107132_r8, & + 0.0095600912266083134_r8, 0.0096295654324420662_r8, & + 0.0096950100770411048_r8, 0.0098029252223235542_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,81) / & + 0.00017172848257959502_r8, 0.00016947169206950452_r8, & + 0.00024694598275708317_r8, 0.00017942812079049217_r8, & + 0.00015364760802228148_r8, 0.00016055073193549957_r8, & + 0.00019604871913539424_r8, 0.00022652866625991113_r8, & + 0.00025331809713851516_r8, 0.00028066508802549459_r8, & + 0.00032930556113709296_r8, 0.0003633432721245762_r8, & + 0.00042809988452587982_r8, 0.0005193007716101268_r8, & + 0.00065587642318548818_r8, 0.00079404510335620733_r8, & + 0.0011184919272774583_r8, 0.0015541055966781102_r8, & + 0.0022302931344544128_r8, 0.0029921590601843886_r8, & + 0.0035430283484591926_r8, 0.0038609437551394761_r8, & + 0.0038986985328494624_r8, 0.0038552619531493667_r8, & + 0.0038148786782570407_r8, 0.003821489746927777_r8, & + 0.0038848922850230252_r8, 0.0042834149386284243_r8, & + 0.0047939806034406713_r8, 0.0055774320666377485_r8, & + 0.006283196835334532_r8, 0.0069757660171664302_r8, & + 0.0076493250577603948_r8, 0.008105940154143185_r8, & + 0.0084864881350976244_r8, 0.0088140788199164415_r8, & + 0.009216427112728966_r8, 0.0094534146754793203_r8, & + 0.0096555815726521946_r8, 0.0098954301930859502_r8, & + 0.010072550549160533_r8, 0.010107766437546666_r8, 0.010173359389960532_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,81) / & + 0.00033107717777975309_r8, 0.00029723311546034565_r8, & + 0.00034333106241264195_r8, 0.00023057309452088881_r8, & + 0.00023468550931832099_r8, 0.00022093114901609875_r8, & + 0.00026136063232869134_r8, 0.00031323818926656794_r8, & + 0.00035772451420365434_r8, 0.00039815399751624684_r8, & + 0.00042591279739891358_r8, 0.00044261253586686417_r8, & + 0.00051769189250646904_r8, 0.00057559913870814815_r8, & + 0.00071186455875279012_r8, 0.00083562601488632081_r8, & + 0.0011107132209307654_r8, 0.0014951128581447899_r8, & + 0.0021125030229025184_r8, 0.0027933855377422221_r8, & + 0.003208572712764049_r8, 0.0033781542499851849_r8, & + 0.0033764036950376291_r8, 0.0033185798085953577_r8, & + 0.0033136893693767899_r8, 0.003375570097443555_r8, & + 0.0034274476543814316_r8, 0.0038378902697636542_r8, & + 0.0043622301030828634_r8, 0.0051999505319242963_r8, & + 0.0058782350009291351_r8, 0.0066010573985316465_r8, & + 0.0074222219837279156_r8, 0.0079772541857962686_r8, & + 0.0082307384124768596_r8, 0.0086896255520386954_r8, & + 0.0092098928641596179_r8, 0.0096773178293653311_r8, & + 0.0099101166294623989_r8, 0.010164784862439999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,81) / & + 0.0003786591192650271_r8, 0.00033312250869349129_r8, & + 0.00033056851141478188_r8, 0.00030221333708183701_r8, & + 0.00033053948871843288_r8, 0.0003274921056017908_r8, & + 0.00040147095859531843_r8, 0.00044752997770113571_r8, & + 0.00047614635630122132_r8, 0.00049956767225484101_r8, & + 0.00052934495870888556_r8, 0.00056028315301688883_r8, & + 0.00062999566964711765_r8, 0.00072228784403684601_r8, & + 0.00086174189999365259_r8, 0.0010126599210083028_r8, & + 0.0013901871551157199_r8, 0.0017876529816148803_r8, & + 0.0024225244642486249_r8, 0.0028560364796132074_r8, & + 0.0030026010961755121_r8, 0.0030497339550462415_r8, & + 0.0030169673308682531_r8, 0.0029893957693367303_r8, & + 0.0029950842178211286_r8, 0.0030274735469465806_r8, & + 0.0030999432197299616_r8, 0.0034173354270023103_r8, & + 0.0038572614582600153_r8, 0.0044727167570362998_r8, & + 0.0050548213498705693_r8, 0.0055913753390475661_r8, & + 0.0061709104903825704_r8, 0.0065133983122304152_r8, & + 0.0067790343451036442_r8, 0.0072631111531822204_r8, & + 0.0076880251947534211_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,81) / & + 0.00040661783810270287_r8, 0.00039288034007482471_r8, & + 0.00039572466786033249_r8, 0.00035729598394974805_r8, & + 0.00037490660917491347_r8, 0.00040492334495388968_r8, & + 0.00050837820345017931_r8, 0.00061555489511261221_r8, & + 0.00066926427616874405_r8, 0.00071398679177492005_r8, & + 0.00075668196736376606_r8, 0.00079335564051307968_r8, & + 0.00086494797605043614_r8, 0.0009819285209310023_r8, & + 0.0011110125883030913_r8, 0.0012797356918349168_r8, 0.00168051358033546_r8, & + 0.0022439022935096097_r8, 0.0029136507105780147_r8, & + 0.0032531545164652237_r8, 0.0033052299219850003_r8, & + 0.0032591457600985277_r8, 0.0032308537762745938_r8, & + 0.0031701546109796077_r8, 0.0031625899094224067_r8, & + 0.0031587167822251191_r8, 0.0031939380326754495_r8, & + 0.0034057799350833253_r8, 0.0036851292341876663_r8, & + 0.0040894171442107516_r8, 0.0045786717821243248_r8, & + 0.0051165825804538202_r8, 0.0056927102510502979_r8, & + 0.006196126010278951_r8, 0.0067208526144658951_r8, 0.007188792625070402_r8, & + 0.007456157815900661_r8, 0.0077176652260465177_r8, & + 0.0077260795516557587_r8, 0.0075046709224067766_r8, & + 0.0078917954701842648_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,81) / & + 0.00041242592644266652_r8, 0.00043242519817165417_r8, & + 0.00047579369765325425_r8, 0.00040530807540211348_r8, & + 0.00046751053471668128_r8, 0.0005671289543683159_r8, & + 0.00075921644771492324_r8, 0.000839119049882548_r8, & + 0.00088834560376035521_r8, 0.00094289479846052329_r8, & + 0.00099416852188539224_r8, 0.0010466075572062813_r8, & + 0.0011685558723789431_r8, 0.0013105979440289181_r8, & + 0.0014736156298072491_r8, 0.0016577664042944787_r8, & + 0.0021026950841612642_r8, 0.002696342757893056_r8, & + 0.0032007338393729573_r8, 0.0033732944847322068_r8, & + 0.003366617562517174_r8, 0.0032659598106339546_r8, 0.00322107955517914_r8, & + 0.0031520112041528883_r8, 0.0031361692613502412_r8, & + 0.0031303427018701422_r8, 0.0031449878378606616_r8, & + 0.0032407008879148233_r8, 0.0033844751799507753_r8, & + 0.0036155218845237711_r8, 0.003939856530610567_r8, 0.004335621646431761_r8, & + 0.0047435123049547846_r8, 0.0051989917817179647_r8, & + 0.005700190066077351_r8, 0.0061713107055529869_r8, & + 0.0066072633343288089_r8, 0.0070599318898292929_r8, & + 0.0072249625506743392_r8, 0.0069270933075573212_r8, & + 0.0081583800789503981_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,81) / & + 0.00036239791974442134_r8, 0.00037961443941436049_r8, & + 0.00041234546540283785_r8, 0.00053151913102688394_r8, & + 0.00065687896056275212_r8, 0.00080560874265439336_r8, & + 0.0010455271631499322_r8, 0.0011888235949274863_r8, & + 0.0012366436238966519_r8, 0.0012947411950261995_r8, & + 0.0013618070672765891_r8, 0.0014042592079836443_r8, & + 0.0015025504790270421_r8, 0.0016615250722530766_r8, & + 0.001860824289496915_r8, 0.0020406485462776095_r8, & + 0.0024215067646795319_r8, 0.0028014485143537777_r8, & + 0.0030558013173102353_r8, 0.0031165501015448498_r8, & + 0.0030890887707405172_r8, 0.0030001585731298237_r8, & + 0.002992466782022531_r8, 0.0029870334317084446_r8, & + 0.0029699478361424596_r8, 0.0029692277535707124_r8, & + 0.0029804544954847609_r8, 0.0030347225365736563_r8, & + 0.0031271222229391276_r8, 0.0032932976418826271_r8, & + 0.0034806418518841743_r8, 0.0037178558713574159_r8, & + 0.0039892206250713843_r8, 0.0043287810559149518_r8, & + 0.0047092295520094109_r8, 0.0051052948388786244_r8, & + 0.0053012876380150193_r8, 0.0051636758840725352_r8, & + 0.0054191385026030455_r8, 0.0063032591572959994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,81) / & + 0.00075641414865145688_r8, 0.0007729221766834566_r8, & + 0.00066453304612767083_r8, 0.00081123710594291343_r8, & + 0.00095831480425270766_r8, 0.0011484967979793911_r8, & + 0.0014947238138851026_r8, 0.0016955375211385676_r8, & + 0.0017626905487502223_r8, 0.0018519561818121479_r8, & + 0.0019347340919232258_r8, 0.0020474030815984196_r8, & + 0.0021218250762858933_r8, 0.0022507303569061403_r8, & + 0.0025093561294074734_r8, 0.0026074532177951608_r8, & + 0.002762784930120955_r8, 0.002825114624439309_r8, 0.002837512629031242_r8, & + 0.0028360180750530372_r8, 0.0028535451171610867_r8, & + 0.0028438305163027487_r8, 0.0028787147648395061_r8, & + 0.0029095569242079343_r8, 0.0029408406563426505_r8, & + 0.0029830278390910949_r8, 0.0030296307495024195_r8, & + 0.0031474627438295962_r8, 0.0032668572264067156_r8, & + 0.0034078887745319503_r8, 0.0035454556747986166_r8, & + 0.0037221527155855798_r8, 0.0039623683004462876_r8, & + 0.0042454267550888977_r8, 0.0045553835420032258_r8, & + 0.0047888772732979932_r8, 0.0047257657282986712_r8, & + 0.004532095673651911_r8, 0.0047498411489573329_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,81) / & + 0.0014139735687201185_r8, 0.0014283012897396148_r8, & + 0.0012103579953128293_r8, 0.0015552441939074369_r8, & + 0.0017288666019373035_r8, 0.0018971733198591997_r8, & + 0.0021393012441149628_r8, 0.0023041580439535406_r8, & + 0.0023537946204584292_r8, 0.0024096621714607396_r8, & + 0.0024546519195268734_r8, 0.0025324510926302808_r8, & + 0.0025600504372968289_r8, 0.0026486218035991702_r8, & + 0.0027452195099320889_r8, 0.0027710938955569772_r8, & + 0.0027854216165764736_r8, 0.0028180198221392583_r8, & + 0.0028709303004987251_r8, 0.0029169057394458063_r8, & + 0.0029490463028138667_r8, 0.0029675280068316447_r8, & + 0.003017305396319525_r8, 0.0030712015655599409_r8, & + 0.0031338985462373921_r8, 0.0031935328445347553_r8, & + 0.0032466545423687101_r8, 0.0033874323221155548_r8, & + 0.0035385950593581029_r8, 0.003684301293509688_r8, & + 0.0038051188329173329_r8, 0.0039696236002984293_r8, & + 0.0042462774849993216_r8, 0.0044504119291037623_r8, & + 0.0046017753248470761_r8, 0.0046450330732223993_r8, & + 0.0043969558004351992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,81) / & + 0.0016458563756491327_r8, 0.0016189641311956811_r8, & + 0.0013707028013022289_r8, 0.0015201405987325897_r8, & + 0.0017498178572557688_r8, 0.0019124102620678321_r8, & + 0.0021425976715698037_r8, 0.0022717751872710057_r8, & + 0.0023376211028907721_r8, 0.0024164394291141004_r8, & + 0.0024631546830291753_r8, 0.002522988104970324_r8, & + 0.0025868298560305517_r8, 0.0026273504194888691_r8, & + 0.002673519083069524_r8, 0.0027061323063565699_r8, & + 0.0027458876433466995_r8, 0.0028106039389419984_r8, & + 0.0028978033169597627_r8, 0.0029629568848225977_r8, & + 0.003005663809618594_r8, 0.0030316450701813459_r8, & + 0.0030669912451404906_r8, 0.0031111557441616065_r8, & + 0.0031593149075434404_r8, 0.0031906800829002262_r8, & + 0.0032266776113412218_r8, 0.003358087037574637_r8, & + 0.0035228091925825992_r8, 0.0037354933480303371_r8, & + 0.0038931169864214127_r8, 0.003985251945018432_r8, 0.003977056864078253_r8, & + 0.0042172655518698662_r8, 0.0042768507307007998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,81) / & + 0.0016868365530317939_r8, 0.0016301850992671756_r8, & + 0.0013469274940559972_r8, 0.0012658229812363795_r8, & + 0.0015403452606591024_r8, 0.0017218118313821909_r8, & + 0.0019970580179635993_r8, 0.0021677171122953028_r8, & + 0.0022366605230699321_r8, 0.0023067987843220956_r8, & + 0.0023477829630329044_r8, 0.00243206109560062_r8, 0.0025139172339571189_r8, & + 0.0025411521551965514_r8, 0.0025662203335035825_r8, & + 0.0026197076536640974_r8, 0.0027693041444484196_r8, & + 0.0028357919222033439_r8, 0.0029281748547331948_r8, & + 0.0030194355966118485_r8, 0.0030851887027893697_r8, & + 0.0031032721189017199_r8, 0.0031286982141310745_r8, & + 0.0031657240469693511_r8, 0.003130032732941455_r8, 0.003134383240043353_r8, & + 0.0031914212037175123_r8, 0.003365750292055378_r8, & + 0.0035095267019168833_r8, 0.0037479270521186968_r8, 0.00396370857138154_r8, & + 0.0038073506800909026_r8, 0.003619331269474133_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,81) / & + 0.0019083204272566704_r8, 0.0018305259960658845_r8, & + 0.0015395851196817775_r8, 0.0011379447024773334_r8, & + 0.0013319140418378663_r8, 0.0015907587052634664_r8, & + 0.0018484214295866662_r8, 0.0020561362829528886_r8, & + 0.0021780948881116443_r8, 0.0022569258486894932_r8, & + 0.0022969541862907731_r8, 0.0024243934868428798_r8, & + 0.0025110690210188797_r8, 0.0025605528714393593_r8, & + 0.0025525944814831997_r8, 0.0025352593746479995_r8, & + 0.0028563528307999995_r8, 0.0029319969333535998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,40,81) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,81) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,81) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,81) / & + 0.0037268951108002362_r8, 0.0036255548243538955_r8, & + 0.0034469512036451556_r8, 0.0040476908958411847_r8, & + 0.0041280131871433475_r8, 0.0041057124035631413_r8, & + 0.0041980731709572736_r8, 0.0045572539330455712_r8, & + 0.0040826222117146078_r8, 0.0036752875452584293_r8, & + 0.0035827294257972145_r8, 0.0031351349376564147_r8, & + 0.0026772781420273777_r8, 0.0027175379637119999_r8, & + 0.0025576827893759998_r8, 0.0026150276614393905_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,81) / & + 0.0035694925981255635_r8, 0.0036960211002774125_r8, & + 0.0035372066367781929_r8, 0.0038167327183317606_r8, & + 0.0040643786676610371_r8, 0.0041456797686516946_r8, & + 0.0042059679394916873_r8, 0.0042881708829780813_r8, & + 0.0037269542978811796_r8, 0.0033534111361470682_r8, & + 0.0032816695656112198_r8, 0.0030479119907162863_r8, & + 0.0027838976000893901_r8, 0.0027799294931081481_r8, & + 0.0026059302565869628_r8, 0.0026605368197038155_r8, & + 0.0024275176283522666_r8, 0.0026153150550582223_r8, & + 0.0026963794223937485_r8, 0.0029019826018749036_r8, & + 0.0030619300050093931_r8, 0.0030897292999404751_r8, & + 0.0033008111725832301_r8, 0.0033831437559283862_r8, & + 0.0034054933454923729_r8, 0.0035044431820379896_r8, & + 0.0036636006677721947_r8, 0.0039588051200708406_r8, & + 0.0040198534153000976_r8, 0.0040981301230639802_r8, & + 0.0041275527344873889_r8, 0.0041536069641892196_r8, & + 0.0041907606204073296_r8, 0.0042053535592914667_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,45,81) / & + 0.0030749902477653335_r8, 0.0035606028035413324_r8, & + 0.0034913884209493329_r8, 0.0035399867391146668_r8, & + 0.0040956012574719985_r8, 0.0043170965474133328_r8, & + 0.0042074376159573325_r8, 0.0035097344018773327_r8, & + 0.0028921790337706663_r8, 0.0026908365259093333_r8, & + 0.0026863890153813329_r8, 0.0026108276646399993_r8, & + 0.0025007054508373325_r8, 0.0025292436433920003_r8, & + 0.0025146039212373327_r8, 0.002564731071146666_r8, & + 0.0025121021965653326_r8, 0.0025816872050346668_r8, & + 0.0026639198215680001_r8, 0.0027842805752319993_r8, & + 0.0029252573933226658_r8, 0.0030258823190186662_r8, & + 0.0031836299580586666_r8, 0.0033313243701760002_r8, & + 0.0034814278504959983_r8, 0.003623284905045333_r8, & + 0.0038258319470079994_r8, 0.004153511550805334_r8, 0.004170097058816_r8, & + 0.0041751005081599995_r8, 0.0042015539301546679_r8, & + 0.0042234208569173334_r8, 0.0042469092718933335_r8, & + 0.0042412572272640002_r8, 0.0042524181953691419_r8, & + 0.0042671381646445707_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,82) / & + 0.0043924860421481471_r8, 0.0044044231064444446_r8, & + 0.0044805510128888889_r8, 0.0046984343313333336_r8, & + 0.0048580204557777777_r8, 0.0049419071766666654_r8, & + 0.0052762267946666669_r8, 0.0053636399972592586_r8, & + 0.0053509929217037018_r8, 0.0053672829651851854_r8, & + 0.0053927352047407401_r8, 0.0054346993662962965_r8, & + 0.0054197225662962955_r8, 0.0056054737150370362_r8, & + 0.0059071231079259262_r8, 0.0060347989411851845_r8, & + 0.0065831300974814808_r8, 0.0072657865088888874_r8, & + 0.0073555710381481478_r8, 0.0078048681044444431_r8, & + 0.0080145571718518507_r8, 0.0061196702480000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,82) / & + 0.0043924860421481471_r8, 0.0044044231064444446_r8, & + 0.0044805510128888889_r8, 0.0046984343313333336_r8, & + 0.0048580204557777777_r8, 0.0049419071766666654_r8, & + 0.0052762267946666669_r8, 0.0053636399972592586_r8, & + 0.0053509929217037018_r8, 0.0053672829651851854_r8, & + 0.0053927352047407401_r8, 0.0054346993662962965_r8, & + 0.0054197225662962955_r8, 0.0056054737150370362_r8, & + 0.0059071231079259262_r8, 0.0060347989411851845_r8, & + 0.0065831300974814808_r8, 0.0072657865088888874_r8, & + 0.0073555710381481478_r8, 0.0078048681044444431_r8, & + 0.0080145571718518507_r8, 0.0061196702480000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,82) / & + 0.0043924860421481471_r8, 0.0044044231064444446_r8, & + 0.0044805510128888889_r8, 0.0046984343313333336_r8, & + 0.0048580204557777777_r8, 0.0049419071766666654_r8, & + 0.0052762267946666669_r8, 0.0053636399972592586_r8, & + 0.0053509929217037018_r8, 0.0053672829651851854_r8, & + 0.0053927352047407401_r8, 0.0054346993662962965_r8, & + 0.0054197225662962955_r8, 0.0056054737150370362_r8, & + 0.0059071231079259262_r8, 0.0060347989411851845_r8, & + 0.0065831300974814808_r8, 0.0072657865088888874_r8, & + 0.0073555710381481478_r8, 0.0078048681044444431_r8, & + 0.0080145571718518507_r8, 0.0061196702480000005_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,82) / & + 0.0044507536523456792_r8, 0.0044478784765432091_r8, & + 0.0045547961876543207_r8, 0.0046881729120987646_r8, & + 0.0049545288286419742_r8, 0.0049891233876543208_r8, & + 0.0053634047135802474_r8, 0.0055986791476543207_r8, 0.00564504251308642_r8, & + 0.0056824382883950602_r8, 0.0057214611728395063_r8, & + 0.0057893282646913589_r8, 0.005856890273580247_r8, & + 0.0060115858256790111_r8, 0.0064056698093827164_r8, & + 0.0067443696791358032_r8, 0.007672544147345679_r8, & + 0.0078947685256084664_r8, 0.0080222535829629626_r8, & + 0.0080885508842962958_r8, 0.0082120124124444444_r8, & + 0.0085455291075555544_r8, 0.0085852675502222225_r8, & + 0.008698325749333333_r8, 0.0087764047999999983_r8, & + 0.0087967732479999998_r8, 0.00882027434333333_r8, 0.0088431805268888875_r8, & + 0.0088765455091111105_r8, 0.0089928611622222231_r8, & + 0.008951050928888888_r8, 0.0089181158362962951_r8, & + 0.0088435230518518534_r8, 0.008624986578518519_r8, & + 0.0085986385044444433_r8, 0.0086114103866666673_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,82) / & + 0.0052241482083950621_r8, 0.005224055759012346_r8, & + 0.0052635501353086424_r8, 0.0050559180666666674_r8, & + 0.0054345907382716049_r8, 0.0054444365975308637_r8, & + 0.0058862059728395054_r8, 0.0062912636982716047_r8, & + 0.0064229208641975307_r8, 0.0065736873175308644_r8, & + 0.0067181764577777785_r8, 0.0069664307851851843_r8, & + 0.0072259084676543203_r8, 0.0074706866982716053_r8, & + 0.0076924727674074081_r8, 0.0078499880256790097_r8, & + 0.0081183963185185171_r8, 0.0083352548355555556_r8, & + 0.0084910412903703714_r8, 0.0085788219792592591_r8, & + 0.0086819585106172829_r8, 0.008786592721975307_r8, & + 0.0088076249565432092_r8, 0.0088349899738271592_r8, & + 0.0088740128582716054_r8, 0.0088997507664197537_r8, & + 0.0089217906992592588_r8, 0.0089312575160493835_r8, & + 0.0089818458182716054_r8, 0.0089793219501234558_r8, & + 0.0089288538320987654_r8, 0.0089104101802469152_r8, & + 0.0088179700424691372_r8, 0.0087202510449382719_r8, 0.00869702776_r8, & + 0.0087334193038888907_r8, 0.0087565853032275133_r8, & + 0.0090316330465925916_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,82) / & + 0.0056006205846913584_r8, 0.0055532957456790105_r8, & + 0.0054985472212345683_r8, 0.0054063936765432093_r8, & + 0.0056745893358024681_r8, 0.0056875045145679008_r8, & + 0.0060099032469135803_r8, 0.0064732595530864207_r8, & + 0.0066856989896296312_r8, 0.006998372046913579_r8, & + 0.0072951715451851857_r8, 0.0076993140217283956_r8, & + 0.0081431727530864185_r8, 0.0084354237417283949_r8, & + 0.008536369222716049_r8, 0.0086466983160493841_r8, & + 0.0088026696696296303_r8, 0.0089648906014814823_r8, & + 0.0090614170019753092_r8, 0.0091217679590123446_r8, & + 0.0091851327659259237_r8, 0.0091831728390123456_r8, & + 0.0091940356414814805_r8, 0.0091954501170370354_r8, & + 0.0091952929530864213_r8, 0.0091921681639506158_r8, & + 0.0091903561560493837_r8, 0.0091832837782716038_r8, & + 0.0091886550874074064_r8, 0.0091039159832098752_r8, & + 0.0090626928034567913_r8, 0.0090580518444444442_r8, & + 0.0090345049866666655_r8, 0.008994446669135802_r8, & + 0.0089538059204938274_r8, 0.008915762999506173_r8, & + 0.0088477664785185164_r8, 0.0088042597990123442_r8, & + 0.0086454811208730165_r8, 0.008576680851555555_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,82) / & + 0.004829740651851851_r8, 0.0048104094859259261_r8, & + 0.0048019226325925922_r8, 0.0045408640656790121_r8, & + 0.0047189678014814811_r8, 0.0050573510320987653_r8, & + 0.0056988665437037039_r8, 0.0062123026804938274_r8, & + 0.0064228931293827153_r8, 0.0067349837555555556_r8, & + 0.0070047048296296294_r8, 0.007341460951111111_r8, & + 0.0077414524503703688_r8, 0.0079675928854320982_r8, & + 0.0081439493279012332_r8, 0.0082980162241975304_r8, & + 0.008492104458271605_r8, 0.0086543161451851855_r8, 0.008807514017283951_r8, & + 0.0089041848699382715_r8, 0.0089810703990740731_r8, & + 0.0090335273344444456_r8, 0.0090649716807407396_r8, & + 0.0090813421551851833_r8, 0.0090871988235802451_r8, & + 0.0090945606009435638_r8, 0.0090911237951410932_r8, & + 0.0090824096153791899_r8, 0.0090614622361375671_r8, & + 0.0090317547826190454_r8, 0.0089715613197089931_r8, & + 0.0088768991279999983_r8, 0.008855586804820105_r8, & + 0.0087991291224126991_r8, 0.0087023403637777764_r8, & + 0.008597261470888887_r8, 0.0084826251608148152_r8, 0.008422016269999999_r8, & + 0.0084242558562962963_r8, 0.0084940921199999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,82) / & + 0.0028252346459259258_r8, 0.0027949944528395058_r8, & + 0.0027385356148148139_r8, 0.002499951492839506_r8, & + 0.0025869371170370373_r8, 0.0029387532429629628_r8, & + 0.0036175813254320992_r8, 0.0045047533367901238_r8, & + 0.0049877458918518528_r8, 0.0053477437881481469_r8, & + 0.0056009811372839504_r8, 0.0058056825604938279_r8, & + 0.0061284233555555564_r8, 0.0064150719116049379_r8, & + 0.0066248303160493819_r8, 0.0068013069427160485_r8, & + 0.007080420874074074_r8, 0.0073005058745679004_r8, 0.007529919017777777_r8, & + 0.0076874805007407405_r8, 0.0078101793214814808_r8, & + 0.007893503950123457_r8, 0.0079837900172839496_r8, & + 0.0080963286508641957_r8, 0.0081467875239506164_r8, & + 0.0082446301725308639_r8, 0.0082947562278395063_r8, & + 0.0084479044083950617_r8, 0.0085886817059259279_r8, & + 0.0086570364682716054_r8, 0.0087174098442839489_r8, & + 0.0087299032887760142_r8, 0.0087869759246666668_r8, & + 0.0088060283557037031_r8, 0.0087537731911111107_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,82) / & + 0.0010278681211853904_r8, 0.00098141028962962979_r8, & + 0.00093228615450617288_r8, 0.0012271788842592591_r8, & + 0.001294718936419753_r8, 0.001445986927654321_r8, 0.001913977919488536_r8, & + 0.0026281583157319222_r8, 0.0032038064486507936_r8, & + 0.0037045506058994708_r8, 0.0040911597268342148_r8, & + 0.0044869119266313928_r8, 0.0049786652163227498_r8, & + 0.0053468835136243386_r8, 0.0056036058743121689_r8, & + 0.0058330665629188708_r8, 0.0062062105963492063_r8, & + 0.0064595347818694878_r8, 0.0066515453811552029_r8, & + 0.0068387354054850078_r8, 0.007002399373148149_r8, & + 0.0071241705633862439_r8, 0.0072555008877266298_r8, & + 0.0073956289924850087_r8, 0.0075623123239700182_r8, & + 0.0076876392165202831_r8, 0.0078286812824797172_r8, & + 0.0081203761550670203_r8, 0.0083850186213544967_r8, & + 0.0085602452663315707_r8, 0.008726878873255732_r8, & + 0.0088364021381481476_r8, 0.0089222138532910056_r8, & + 0.0089829598333333333_r8, 0.0090608253259259249_r8, & + 0.0091539271371428553_r8, 0.0091332270600000005_r8, & + 0.0088033630399999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,82) / & + 0.0004088296602469136_r8, 0.00039694066962962956_r8, & + 0.00042057073185185185_r8, 0.00063939842074074076_r8, & + 0.00068110233728395071_r8, 0.00073904961037037033_r8, & + 0.0010035657841975308_r8, 0.0013678163520987651_r8, & + 0.0017129021629629633_r8, 0.0020517291506172838_r8, & + 0.0023152930958024688_r8, 0.0026169184518518521_r8, & + 0.0030667586582716045_r8, 0.0034162727945679012_r8, & + 0.0036803174765432096_r8, 0.0039590708553086419_r8, & + 0.0044811047846913584_r8, 0.0048820300227160503_r8, & + 0.0051868263925925933_r8, 0.0054820357614814826_r8, & + 0.0057801018162962972_r8, 0.0059968216592592594_r8, & + 0.0062151778562962957_r8, 0.0063700952869135798_r8, & + 0.0065125875204938271_r8, 0.0066232494316049379_r8, 0.00673317174765432_r8, & + 0.0069670317061728392_r8, 0.007248308953086419_r8, & + 0.0075749973367901244_r8, 0.0079549827896296301_r8, & + 0.0083077511441975293_r8, 0.0085701779619753084_r8, & + 0.0087692249498148144_r8, 0.0089341962508024692_r8, & + 0.0090557255868518507_r8, 0.0091531948059611987_r8, & + 0.0092073721252910034_r8, 0.0092599929932275123_r8, & + 0.0092981481741798953_r8, 0.0093315614942222208_r8, & + 0.0093957370822222216_r8, 0.0094135606628571421_r8, & + 0.0093938233799999993_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,82) / & + 0.00016838730567901233_r8, 0.00017653209629629626_r8, & + 0.00018789412543209879_r8, 0.00025514180641975304_r8, & + 0.0002658289550617284_r8, 0.0002778843545679013_r8, & + 0.00037826589432098762_r8, 0.00047305424641975313_r8, & + 0.00057386105333333325_r8, 0.0006982794325925925_r8, & + 0.00079888285086419757_r8, 0.00087237086518518502_r8, & + 0.0010306349634567902_r8, 0.0011781009738271605_r8, 0.00134618319654321_r8, & + 0.0015284101748148148_r8, 0.001943323004444444_r8, & + 0.0024545958256790121_r8, 0.0029374312167901235_r8, & + 0.0034234930913580246_r8, 0.0039416903713580245_r8, & + 0.0043793827288888887_r8, 0.0047568997832098774_r8, & + 0.0050443896286419734_r8, 0.0052359632395061733_r8, & + 0.0053482337698765427_r8, 0.0053948282587654326_r8, & + 0.0053433247076543214_r8, 0.0053425111530864188_r8, & + 0.0055349075634567894_r8, 0.0060104856780246914_r8, & + 0.0068592911955555553_r8, 0.0075681745723456782_r8, & + 0.0080149362143209866_r8, 0.0083760250133333315_r8, & + 0.0086708368498765436_r8, 0.0089234455432098767_r8, & + 0.0090957064780246913_r8, 0.0092133113377777763_r8, & + 0.0092955912883950637_r8, 0.0093465678780246912_r8, & + 0.0094026245612345676_r8, 0.0094160888893333322_r8, & + 0.0093947178277777772_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,82) / & + 0.00012632283654320984_r8, 0.00013384821629629627_r8, & + 0.00013286825283950616_r8, 0.00023753944395061723_r8, & + 0.00024018349629629628_r8, 0.00024277207901234564_r8, & + 0.00026908317333333335_r8, 0.00034096256839506175_r8, & + 0.00037080522913580244_r8, 0.00041282347358024689_r8, & + 0.00045606204987654319_r8, 0.00051144847506172841_r8, & + 0.00063817808888888875_r8, 0.00074895093925925931_r8, & + 0.00088320593283950635_r8, 0.00099387708888888887_r8, & + 0.0012765225866666666_r8, 0.0016555095861728398_r8, & + 0.0021020863293827164_r8, 0.002600314542716049_r8, 0.003097516567901235_r8, & + 0.0035555385446913576_r8, 0.003976645482962963_r8, & + 0.0043576848587654317_r8, 0.0046495752948148153_r8, & + 0.0048340210582716054_r8, 0.0048961470434567894_r8, & + 0.0047713958464197523_r8, 0.0046193813264197529_r8, & + 0.004563125877037038_r8, 0.0048119164108641971_r8, & + 0.0056126852291358007_r8, 0.0066525558859259256_r8, & + 0.0074829362414814814_r8, 0.0080667448483950615_r8, & + 0.0084860767585185192_r8, 0.0088251163797530858_r8, & + 0.009063192030123457_r8, 0.0092064793283950612_r8, & + 0.0093172521787654311_r8, 0.0093700450355714317_r8, & + 0.0094103090925999992_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,82) / & + 0.00016411614419753085_r8, 0.00016590041728395061_r8, & + 0.00018070156345679011_r8, 0.00023475671753086421_r8, & + 0.00023608798864197528_r8, 0.00023566272148148145_r8, & + 0.00022836846518518519_r8, 0.00026644836592592587_r8, & + 0.00028308925481481485_r8, 0.00030010918617283947_r8, & + 0.00031807210123456785_r8, 0.00034487317728395058_r8, & + 0.00039877116740740735_r8, 0.0004592053288888888_r8, & + 0.00052804313925925925_r8, 0.00059469914419753083_r8, & + 0.00080052844987654314_r8, 0.0010396487782716052_r8, & + 0.0013656437916049382_r8, 0.0017519250474074073_r8, & + 0.0021840149723456785_r8, 0.002632560887407407_r8, & + 0.0030868016844444444_r8, 0.0035619637767901236_r8, & + 0.0039899489491358013_r8, 0.0043168499664197526_r8, & + 0.0044407228943209882_r8, 0.0044986516775308641_r8, & + 0.0042355869590123447_r8, 0.0038672778632098761_r8, & + 0.0038657986730864205_r8, 0.0043215463950617289_r8, & + 0.0052208292755555564_r8, 0.0064287636651851852_r8, & + 0.0074477315165432092_r8, 0.0082041893456790121_r8, & + 0.0086957889382716039_r8, 0.0090738606888888899_r8, & + 0.0092674404513580257_r8, 0.009352450960529099_r8, & + 0.0093972399624999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,82) / & + 0.00016461537086419751_r8, 0.00016358918271604933_r8, & + 0.00017695736345679013_r8, 0.00021105269580246915_r8, & + 0.00021295715308641974_r8, 0.00022103722913580245_r8, & + 0.00016759224098765433_r8, 0.00020291715012345679_r8, & + 0.00022016820493827162_r8, 0.00023286150518518519_r8, & + 0.00024270736444444445_r8, 0.00026539444296296298_r8, & + 0.00030493504395061728_r8, 0.00033280853283950611_r8, & + 0.00035983148740740731_r8, 0.00042111618320987649_r8, & + 0.00059712131802469137_r8, 0.00085500887111111107_r8, & + 0.001099158445925926_r8, 0.0014378560044444441_r8, & + 0.0018330308908641973_r8, 0.0022713056795061726_r8, & + 0.0027750993456790115_r8, 0.0032869268632098768_r8, & + 0.0037385605876543208_r8, 0.0040976339901234561_r8, & + 0.0043094817506172832_r8, 0.0043261688641975313_r8, & + 0.0038755151032098759_r8, 0.0033213642582716049_r8, & + 0.0030124169111111114_r8, 0.0031411330310493822_r8, & + 0.0035601674522663133_r8, 0.0045272299278747794_r8, & + 0.0058908997600705462_r8, 0.0073892983889329812_r8, & + 0.0084380413799647249_r8, 0.009115444784428571_r8, & + 0.0093560574769841268_r8, 0.0094076977211111114_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,82) / & + 0.00014363860592592594_r8, 0.00013885897283950617_r8, & + 0.00014338899259259255_r8, 0.00018719151012345679_r8, & + 0.00018923464148148147_r8, 0.0002042576661728395_r8, & + 0.00012243071753086418_r8, 0.0001293736661728395_r8, & + 0.00017118852197530864_r8, 0.00018309600246913581_r8, & + 0.00019029780938271604_r8, 0.00020525611950617288_r8, & + 0.00023557951703703705_r8, 0.00025985672493827156_r8, & + 0.00028688892444444445_r8, 0.00034072220000000002_r8, & + 0.00051946383654320977_r8, 0.0007817519802469135_r8, & + 0.0010768966345679012_r8, 0.0014834682186419753_r8, & + 0.0019465887788888889_r8, 0.0024713212397178136_r8, & + 0.0029870915583333334_r8, 0.0034524654071957667_r8, & + 0.0037691573712169313_r8, 0.0039490265600529107_r8, & + 0.0039943581243386253_r8, 0.0036923525702028215_r8, & + 0.0031216049479382718_r8, 0.0026860786464268085_r8, & + 0.0024925259584197526_r8, 0.0025232156866296291_r8, & + 0.0026524439761481484_r8, 0.0030223140797777776_r8, & + 0.0039739322256507935_r8, 0.0054870834977777776_r8, & + 0.0069123312554074052_r8, 0.0079182341599999991_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,82) / & + 0.0001360020808130897_r8, 0.00012554199475795224_r8, & + 0.000126820682632428_r8, 0.00012538477903568061_r8, & + 0.0001307301135929152_r8, 0.00013818213882858926_r8, & + 8.5305250904572818e-05_r8, 0.00011615097561426173_r8, & + 0.00012629663022485594_r8, 0.00014975321598777939_r8, & + 0.00017009693044972511_r8, 0.00018339738055390286_r8, & + 0.00021050137107352757_r8, 0.00025435407653915391_r8, & + 0.00030430675202891848_r8, 0.00038338626033153589_r8, & + 0.00063199672248370027_r8, 0.0010183596004902453_r8, & + 0.0014110635126284112_r8, 0.0019538560342952029_r8, & + 0.0025946044319853563_r8, 0.0032407610505216528_r8, & + 0.0037068637428643554_r8, 0.0040132247803309562_r8, & + 0.0040289149094136613_r8, 0.0038570886060189484_r8, & + 0.0035852731032594959_r8, 0.0029070339963316407_r8, & + 0.0024847840094545642_r8, 0.0024015540060839768_r8, & + 0.0024873623472998186_r8, 0.0026582453563609013_r8, & + 0.0028361821108279046_r8, 0.0032064041746812312_r8, & + 0.0043632708264927586_r8, 0.0063306251406759989_r8, & + 0.0081658527416001454_r8, 0.0089850027282428156_r8, & + 0.0092073073316920884_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,82) / & + 0.00013263822891404115_r8, 0.00012823257749428147_r8, & + 0.00012718975042949791_r8, 8.390656866196541e-05_r8, & + 8.4082326032434556e-05_r8, 8.2793438648994221e-05_r8, & + 7.380637843900575e-05_r8, 9.9455237369468322e-05_r8, & + 0.00011216835383340247_r8, 0.00011749966073763292_r8, & + 0.00014432023547122306_r8, 0.00017675332890179423_r8, & + 0.0002214425696330798_r8, 0.00030689580315517367_r8, & + 0.0003937082270088954_r8, 0.00051445354052119172_r8, & + 0.00085319657920537265_r8, 0.0014567737530019552_r8, & + 0.0019572911986896987_r8, 0.0026426863577291718_r8, & + 0.0033261569735620077_r8, 0.0038898704926215067_r8, & + 0.004121324955322382_r8, 0.0040696520791694921_r8, & + 0.0037446045151091878_r8, 0.0032864307861968267_r8, & + 0.0027606597264272117_r8, 0.0021568256120938008_r8, & + 0.0021192208580371749_r8, 0.0023554975589728144_r8, & + 0.0026386169468979167_r8, 0.0028717256212308505_r8, & + 0.0030945146178627024_r8, 0.0035102813154993203_r8, & + 0.0048086734482996555_r8, 0.0069963764709369131_r8, & + 0.0091226234809405511_r8, 0.0097003832151954933_r8, & + 0.011158567421095465_r8, 0.010984765351372798_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,82) / & + 0.00013907923756159999_r8, 0.00014603514242986665_r8, & + 0.00014984340319573332_r8, 0.00011185146841244445_r8, & + 0.00010501214295537775_r8, 0.00012351264784942221_r8, & + 0.00012142925349093333_r8, 0.00013148977910746663_r8, & + 0.00013950391970239995_r8, 0.0001596506461629333_r8, & + 0.00018898979798159994_r8, 0.00024320893914053332_r8, & + 0.00033876357736231102_r8, 0.00048576082376627542_r8, & + 0.00064677706819873764_r8, 0.00086523490301471996_r8, & + 0.0014088323918358043_r8, 0.0020592836544775289_r8, & + 0.0026545245271334217_r8, 0.0033424599564563198_r8, & + 0.0038723993345452438_r8, 0.0041668849412536879_r8, & + 0.0040822630924572433_r8, 0.0036861595616028446_r8, & + 0.0032175214313799106_r8, 0.0028021563911416886_r8, & + 0.0024916850639807998_r8, 0.0022111820473656885_r8, & + 0.002349067733812622_r8, 0.0026627352798305774_r8, & + 0.0030188254721824886_r8, 0.0032720699556371552_r8, & + 0.0034538993085543794_r8, 0.0037277174905630994_r8, & + 0.0045958424700435997_r8, 0.0065838769684681128_r8, & + 0.0087309089808695999_r8, 0.010287943596856799_r8, 0.011377684215475197_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,82) / & + 0.00016062907761018599_r8, 0.00017051552658602795_r8, & + 0.0001735946215666633_r8, 0.00019147678492770367_r8, & + 0.00018262793420282465_r8, 0.0001936069652685695_r8, & + 0.00017855026176015143_r8, 0.00019080633682708143_r8, & + 0.00020119650871450203_r8, 0.00025458758999738598_r8, & + 0.00030745087710279596_r8, 0.00040430883681252816_r8, & + 0.000575282730977553_r8, 0.00081624927844086901_r8, & + 0.0011009609174884344_r8, 0.0014374425014062682_r8, & + 0.0020977256865135005_r8, 0.0027042204877597031_r8, & + 0.0032336261731399172_r8, 0.0037845908444012494_r8, & + 0.0040305690294239792_r8, 0.0041212799479692771_r8, & + 0.0039261635876381958_r8, 0.0035422061193040788_r8, & + 0.0031370302101558253_r8, 0.0027643515234932869_r8, & + 0.0024765856208762201_r8, 0.0023120260856179416_r8, & + 0.0025051506120416199_r8, 0.0028598474549641358_r8, & + 0.0032669978160319996_r8, 0.0035406348990954773_r8, 0.00370295428633501_r8, & + 0.0038352446426792135_r8, 0.0042944344454426747_r8, & + 0.0059919993443663467_r8, 0.0085989008533783311_r8, & + 0.010972880857308591_r8, 0.012387535015277201_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,82) / & + 0.00020352780857280203_r8, 0.00020772322543704337_r8, & + 0.00019922017326814815_r8, 0.00023236135148233333_r8, & + 0.00023318044487765182_r8, 0.00022530881851925185_r8, & + 0.00020323581334604445_r8, 0.00021473175444199259_r8, & + 0.00022091573603991109_r8, 0.00029212827114645919_r8, & + 0.00036859301953182642_r8, 0.00049266583615271953_r8, & + 0.00075795293238660726_r8, 0.0010976367149284571_r8, & + 0.001468402414398713_r8, 0.0018255241598421079_r8, & + 0.0025321915326414471_r8, 0.0030972425164188322_r8, & + 0.0036668966860812858_r8, 0.0041699449772569898_r8, & + 0.004362561829799441_r8, 0.0043729670925077672_r8, & + 0.0041372883384015067_r8, 0.0037470423257217997_r8, & + 0.0033353280479792194_r8, 0.0029505279722410946_r8, & + 0.0026379163455493935_r8, 0.0024109447440633096_r8, & + 0.0026474038468323356_r8, 0.0030815462248678133_r8, & + 0.0034856115699250208_r8, 0.0037591898972625408_r8, & + 0.0039270689109676526_r8, 0.0040722606525765582_r8, & + 0.0045060937668985595_r8, 0.0061761613384340615_r8, & + 0.0087281603045744442_r8, 0.01142263917853659_r8, 0.013160734538994133_r8, & + 0.014302620146762665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,82) / & + 0.00028284388246791332_r8, 0.00025376029609528887_r8, & + 0.00022708716111644438_r8, 0.00021239163207679995_r8, & + 0.00022184625560689773_r8, 0.00023610504252074663_r8, & + 0.0002719979617627834_r8, 0.00039476346878959733_r8, & + 0.00057445594209913891_r8, 0.00079567935148617131_r8, & + 0.0009805623884783744_r8, 0.0011693629835946666_r8, & + 0.0014480642885887417_r8, 0.0017309562828953246_r8, & + 0.0020168527202745175_r8, 0.0022920174736762483_r8, & + 0.0028729162515286491_r8, 0.0034720329561559356_r8, & + 0.0039524546500445453_r8, 0.0043886933575712495_r8, & + 0.004546177587505573_r8, 0.0044306698723718084_r8, & + 0.0040351973335950213_r8, 0.0036011329645486722_r8, & + 0.0031735380558084057_r8, 0.0027793615512982342_r8, & + 0.0025514737409137777_r8, 0.0024007803020954406_r8, & + 0.0026716246862506661_r8, 0.0031412068208184884_r8, & + 0.0036065414976307188_r8, 0.0039526099599359989_r8, & + 0.004158133145951085_r8, 0.0042632404538709328_r8, & + 0.0044783762510643196_r8, 0.0057516801117388789_r8, & + 0.0089406923882495992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,82) / & + 0.00026918708014394752_r8, 0.00024909805480361152_r8, & + 0.00023426309255719505_r8, 0.00023126522656259426_r8, & + 0.00024539322936550782_r8, 0.00027310111768127742_r8, & + 0.00033978350114028636_r8, 0.00056698371090273909_r8, & + 0.00080698078147796535_r8, 0.001037592741719348_r8, & + 0.0011886628157129415_r8, 0.0013820040786380807_r8, & + 0.0016207492684989302_r8, 0.0018657305309916193_r8, & + 0.0021552038961468213_r8, 0.0024523579346050354_r8, & + 0.0030645298411485647_r8, 0.0036942782551945548_r8, & + 0.0041696241060437834_r8, 0.0045649918140266074_r8, & + 0.0046936737736362148_r8, 0.0045435660210189268_r8, & + 0.0041859055865728816_r8, 0.0037531032254896758_r8, & + 0.0032969533050634437_r8, 0.002925757729373122_r8, & + 0.0027208299381001931_r8, 0.0025612316065159891_r8, & + 0.0028088572552815287_r8, 0.0032216508743428598_r8, & + 0.0036607405082852329_r8, 0.004071041296303422_r8, & + 0.0043831699630463936_r8, 0.0045581919636107091_r8, & + 0.0045955515102602687_r8, 0.0049463099495172915_r8, & + 0.0071791048818019834_r8, 0.012343028645459676_r8, 0.01449743296152704_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,82) / & + 0.00023060076622359173_r8, 0.00022995021643504196_r8, & + 0.00022859171540601144_r8, 0.00022038330777989789_r8, & + 0.00023029462514662709_r8, 0.00025654622249634228_r8, & + 0.00034760405907600326_r8, 0.00064079154172154711_r8, & + 0.00093675342787708274_r8, 0.0011924003609598418_r8, & + 0.0013259544057856525_r8, 0.0014622254526695238_r8, & + 0.0016652161205143699_r8, 0.0019259335151843554_r8, & + 0.0022290897166485591_r8, 0.002567279937607901_r8, 0.003229616157620832_r8, & + 0.0038441752358099749_r8, 0.0043009568564584813_r8, & + 0.004624260967550419_r8, 0.0047250770509583272_r8, & + 0.0045222011860173422_r8, 0.0041424140462254346_r8, & + 0.003736337041449191_r8, 0.0033482458249446188_r8, 0.003046888202307581_r8, & + 0.0028274807192105083_r8, 0.0026879377895665771_r8, & + 0.0029816418852794987_r8, 0.0034383087030241447_r8, & + 0.0039268715942250391_r8, 0.0044085271773769202_r8, & + 0.004799067522497211_r8, 0.0050104268436881429_r8, & + 0.0051271048616462808_r8, 0.0054265795116547992_r8, & + 0.007066669308282484_r8, 0.011964242027401949_r8, 0.014147448850140442_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,82) / & + 0.00026032766948977777_r8, 0.00025827030684357529_r8, & + 0.00026315908936920497_r8, 0.00021889523758506668_r8, & + 0.00023667818402204444_r8, 0.00027301813412922463_r8, & + 0.00045141795646032589_r8, 0.00080668985658326913_r8, & + 0.0011416936791520396_r8, 0.0014540665126125825_r8, & + 0.0016210999155715951_r8, 0.0017959757404988049_r8, & + 0.0020327150343024203_r8, 0.0022788244946134913_r8, & + 0.0025275820454592787_r8, 0.0028031260505600791_r8, & + 0.0033622194421473977_r8, 0.0038765397337708254_r8, & + 0.0043338853390434764_r8, 0.0046349936027678803_r8, & + 0.004720628776675161_r8, 0.004558137867479546_r8, 0.0041717407186100943_r8, & + 0.0037918008366599107_r8, 0.0034461435421707068_r8, & + 0.0031751012909789242_r8, 0.0029480988223721878_r8, & + 0.0028441510839209878_r8, 0.0032199762405787651_r8, & + 0.0037718994177951609_r8, 0.0042941843509499266_r8, & + 0.0047657074255469034_r8, 0.0051814041684384504_r8, & + 0.0055115468533827768_r8, 0.0058673494628587635_r8, & + 0.0063567873791712751_r8, 0.0071181044596841225_r8, & + 0.0087827392746454083_r8, 0.010032221733019308_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,82) / & + 0.00028159148113277363_r8, 0.00027202000671078187_r8, & + 0.00026836858644595885_r8, 0.00025812732487479837_r8, & + 0.0002850916591381069_r8, 0.0003461935319719506_r8, & + 0.00061240151471091348_r8, 0.00095913519760961309_r8, & + 0.0012286489040202796_r8, 0.0015260127922141233_r8, & + 0.0017221956088093497_r8, 0.0019328544702414481_r8, & + 0.0021726166636067815_r8, 0.0024116226456746661_r8, & + 0.0026306862555269791_r8, 0.0028433112663324442_r8, & + 0.0032863862685260903_r8, 0.0037711177101906169_r8, & + 0.004232168935226468_r8, 0.0045647290578072755_r8, & + 0.0047087116888414812_r8, 0.0046040304392375312_r8, & + 0.0043013730719615468_r8, 0.0039813012388071759_r8, & + 0.0036846935619107815_r8, 0.0034382767091279006_r8, & + 0.0032552087570341397_r8, 0.0032054716596990941_r8, & + 0.0035622305437982547_r8, 0.004123620204986995_r8, & + 0.0046379087053632258_r8, 0.0051065004373364933_r8, & + 0.0055644403930342704_r8, 0.0060419214659734651_r8, & + 0.0065043828707502223_r8, 0.0069020693763912431_r8, & + 0.0072732401816958296_r8, 0.0075822227163240422_r8, & + 0.0079007457824425871_r8, 0.0082561027433935789_r8, & + 0.0084706495340319994_r8, 0.008559150562625184_r8, & + 0.0086537039823525921_r8, 0.0086410644506666658_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,82) / & + 0.00024217244196171852_r8, 0.00023011178837222717_r8, & + 0.00020704121995293495_r8, 0.00021106143781609874_r8, & + 0.00022508651604327242_r8, 0.00027723513752965268_r8, & + 0.00041118148724324618_r8, 0.00055353374703436377_r8, & + 0.00069890117022285429_r8, 0.00090032322202614006_r8, & + 0.0010912150440855702_r8, 0.0013338671711332346_r8, & + 0.0016191655865361644_r8, 0.0019063827422828772_r8, & + 0.0022160994127751374_r8, 0.0024988395077196906_r8, & + 0.0030015723199377118_r8, 0.0035374947716737843_r8, & + 0.0039850866411550029_r8, 0.0043880677976432733_r8, & + 0.0045678354941381533_r8, 0.0044562972905823079_r8, & + 0.0042772377006428707_r8, 0.0040932670491092282_r8, & + 0.0039291690654219055_r8, 0.0037837559579395161_r8, & + 0.0036790703984686088_r8, 0.0036919990536421919_r8, 0.00396763524088536_r8, & + 0.0045116666547886089_r8, 0.0051029356285840323_r8, & + 0.0056650580228715204_r8, 0.0061213070660467083_r8, & + 0.0066641278461616197_r8, 0.0070801975528521233_r8, & + 0.007459308665777856_r8, 0.0077693222841804651_r8, & + 0.0080687742648871616_r8, 0.008379230449886919_r8, & + 0.0086237013828854604_r8, 0.008859265510155508_r8, & + 0.0089855199300419488_r8, 0.0091033059502631415_r8, & + 0.0091681818197886233_r8, 0.0091550125762060435_r8 & + / +data delta_sa_ref(:,27,82) / & + 0.00021181642533025182_r8, 0.00020009031425422224_r8, & + 0.00019019415069724443_r8, 0.00018985705510162959_r8, & + 0.00018643794263182225_r8, 0.00021545224211152588_r8, & + 0.00025592779184213329_r8, 0.00029796842826666661_r8, & + 0.00032255232848971843_r8, 0.00038436121377137777_r8, & + 0.00047877205880035551_r8, 0.00067004973105493331_r8, & + 0.00092328075813214794_r8, 0.0011892973395858963_r8, & + 0.0014264200128440889_r8, 0.0016836480305550223_r8, & + 0.0023450777456649479_r8, 0.003043756524090311_r8, & + 0.0036278709565202957_r8, 0.0041440365481770665_r8, & + 0.0043501464266386958_r8, 0.0043424654627100441_r8, & + 0.0042237355782831394_r8, 0.0040852133667422814_r8, & + 0.0039896467653854819_r8, 0.0039155820473775402_r8, & + 0.003915582047377541_r8, 0.004057138119278934_r8, 0.0044160486155813928_r8, & + 0.0050305498081303695_r8, 0.0056666251187986946_r8, & + 0.0063291865119796138_r8, 0.0068698156125752887_r8, & + 0.0074374845955906361_r8, 0.007833836781263169_r8, & + 0.0082302612017061925_r8, 0.008484623906854399_r8, & + 0.0087125306273110516_r8, 0.0089296472789259246_r8, & + 0.0090986534235508384_r8, 0.009231075064748814_r8, & + 0.0092903292469808489_r8, 0.0093915314503423986_r8, & + 0.0093313960039103985_r8, 0.0094240370970623995_r8 & + / +data delta_sa_ref(:,28,82) / & + 0.00019560411156403616_r8, 0.00020233773310875388_r8, & + 0.00022861404575317854_r8, 0.00022466500454650204_r8, & + 0.00019130066922342718_r8, 0.00020879289661966747_r8, & + 0.00024620753061625679_r8, 0.00026792725725297782_r8, & + 0.00026754754175233573_r8, 0.00028116667104202789_r8, & + 0.00032620092941816625_r8, 0.00041649727547082795_r8, & + 0.00055868807327789298_r8, 0.00070662523232800666_r8, & + 0.00086891563730238681_r8, 0.0010395850976575999_r8, & + 0.0014889404211173133_r8, 0.0021915912978719343_r8, & + 0.0029020389995730702_r8, 0.0035742113788094945_r8, & + 0.0039616477612978568_r8, 0.0041750985013920645_r8, & + 0.0041368231789273542_r8, 0.0040491595270124763_r8, & + 0.0039880759601425373_r8, 0.0039681788679088977_r8, & + 0.0040441979111374218_r8, 0.0043501979759214349_r8, & + 0.004793174078970364_r8, 0.0055010397152671338_r8, & + 0.0061784521684124178_r8, 0.0068492828862132416_r8, & + 0.0074543215649361654_r8, 0.0080199204603257409_r8, & + 0.0084707693314213118_r8, 0.0088171711254736319_r8, & + 0.0090825922604223716_r8, 0.0092636912398618848_r8, & + 0.0094116790276454181_r8, 0.0095411366989976206_r8, & + 0.0096588516684924727_r8, 0.0096964123121399039_r8, & + 0.0097402282262096986_r8, 0.0097628272654557632_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,82) / & + 0.00022445772908594571_r8, 0.00022979437488039508_r8, & + 0.00028847092814274894_r8, 0.00024657427608483289_r8, & + 0.00022713932722146502_r8, 0.00024296341126868806_r8, & + 0.00026322142490632427_r8, 0.00027639046129461731_r8, & + 0.00027962961943851197_r8, 0.00029704673208109299_r8, & + 0.00033328813262548806_r8, 0.0003783442913975308_r8, & + 0.00047541283380801323_r8, 0.00057874728869357036_r8, & + 0.0007215888527440066_r8, 0.00087048392545680301_r8, & + 0.001163441884143144_r8, 0.0015795675037272494_r8, & + 0.0022143362980242432_r8, 0.0029202338191039738_r8, & + 0.0034760945969775667_r8, 0.0038077897010076974_r8, & + 0.0038716701476815539_r8, 0.003839544071008501_r8, & + 0.0038071790400461443_r8, 0.0038259767774713673_r8, & + 0.003887202176486295_r8, 0.0042904773654011781_r8, & + 0.0048032998207235174_r8, 0.0055804057200157494_r8, & + 0.006367786653748043_r8, 0.0071325200309496619_r8, & + 0.0077866706731568461_r8, 0.0082577557792808034_r8, & + 0.0086752089226943743_r8, 0.0090295250327785889_r8, & + 0.009333209384007007_r8, 0.0095422678366711578_r8, & + 0.0097343638536043185_r8, 0.0099536091551970015_r8, & + 0.010113417706488699_r8, 0.010140662478040808_r8, 0.010186776673304936_r8, & + 0.01023157313522784_r8, 0.010241102930978133_r8 & + / +data delta_sa_ref(:,30,82) / & + 0.00030201240833303708_r8, 0.00027992207209007408_r8, & + 0.00030467992063407405_r8, 0.0002382699789728395_r8, & + 0.00024071519858212342_r8, 0.00025305244297441971_r8, & + 0.00027439254138271604_r8, 0.0003042909084235061_r8, & + 0.00032485298241066664_r8, 0.00037217353916760488_r8, & + 0.00040179404034370366_r8, 0.00046264666471111101_r8, & + 0.00055798244288671596_r8, 0.00064292603772286416_r8, & + 0.00078697170197886417_r8, 0.00092140320731654317_r8, & + 0.0011518095823186171_r8, 0.0014559337712233085_r8, & + 0.0020009954514018766_r8, 0.0025833467306220245_r8, & + 0.0030459100355737278_r8, 0.0032511417632347657_r8, & + 0.0032727875140942221_r8, 0.0032908487952991606_r8, & + 0.0032966006186982712_r8, 0.0033504510232754566_r8, & + 0.0033976882202729872_r8, 0.0037337947702036538_r8, & + 0.0042594336264402954_r8, 0.0051099532516740752_r8, & + 0.0059056499418042464_r8, 0.0067943205502601469_r8, & + 0.0074764256749044935_r8, 0.0080405906332805931_r8, & + 0.0083915864270951296_r8, 0.008931219699893524_r8, & + 0.0094934845519441778_r8, 0.0097701472574414222_r8, & + 0.010017729910869392_r8, 0.010311768958215112_r8, 0.010453813988245332_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,82) / & + 0.0003643509299649843_r8, 0.00032650533392592586_r8, & + 0.00029211343875239502_r8, 0.00025795372514965593_r8, & + 0.00028651205835704359_r8, 0.00030357740381023864_r8, & + 0.00035741450553758019_r8, 0.00040936513200223864_r8, & + 0.00044715268264859903_r8, 0.00048325691690671927_r8, & + 0.00052644268907398842_r8, 0.00056753882710413152_r8, & + 0.00064639349308428617_r8, 0.0007709298831177217_r8, & + 0.00091427298038529046_r8, 0.0010700958370829165_r8, & + 0.0013394845045940672_r8, 0.0016942289220675424_r8, & + 0.002198933611576151_r8, 0.0025900144448785384_r8, & + 0.0028096872335439012_r8, 0.0028954202785587617_r8, & + 0.0029000348872782484_r8, 0.0029409278664339483_r8, & + 0.0029669612250589755_r8, 0.0030184474883820506_r8, & + 0.0030815428302447142_r8, 0.0033293748900426654_r8, & + 0.0037625313773769742_r8, 0.0044198265207773422_r8, & + 0.0051291049411757621_r8, 0.0059900158591814504_r8, & + 0.0067456567931675083_r8, 0.0075975179161891547_r8, & + 0.007756656615944651_r8, 0.0086587255525151976_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,82) / & + 0.00042274578182265661_r8, 0.00041012785962524434_r8, & + 0.00037203202258317692_r8, 0.00029217903294535635_r8, & + 0.000329004000125814_r8, 0.00035405829168326584_r8, & + 0.00047503299898603459_r8, 0.00058369237215367888_r8, & + 0.00063389173168726907_r8, 0.00067698027175708958_r8, & + 0.00072279210438750275_r8, 0.00074957114789999659_r8, & + 0.00084552182245154221_r8, 0.00096577031840481956_r8, & + 0.001087138390188563_r8, 0.0012365866341526386_r8, & + 0.0015616569894687075_r8, 0.0020182623754613984_r8, & + 0.0025227674517142914_r8, 0.0028339490149713376_r8, & + 0.0029695084668763922_r8, 0.002991839465873251_r8, & + 0.0029965295808387156_r8, 0.0029853338225340575_r8, & + 0.0030102065612541357_r8, 0.0030289367623097673_r8, & + 0.0030765641233139085_r8, 0.0032457259795360526_r8, & + 0.0035424930039758512_r8, 0.0038955900382255265_r8, & + 0.0044103009775507355_r8, 0.0048746046361166952_r8, & + 0.0053926953760304952_r8, 0.0056637240437577424_r8, & + 0.0060291006419108933_r8, 0.0064521506868368966_r8, & + 0.0066342908152184892_r8, 0.0069713906670179843_r8, & + 0.0070179249286471089_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,33,82) / & + 0.00043081895745011352_r8, 0.00045289689364227151_r8, & + 0.0004484246155548444_r8, 0.00041157556370773323_r8, & + 0.00046064464300499741_r8, 0.00052719340074255786_r8, & + 0.0006994705918568296_r8, 0.00076088567826868123_r8, & + 0.00079628596397479504_r8, 0.00084504009411097273_r8, & + 0.00088655039354216278_r8, 0.00095199682921592085_r8, & + 0.0010834251141372839_r8, 0.0011937833001819651_r8, & + 0.0013295893784424292_r8, 0.0014822767317371258_r8, & + 0.0018717113694204839_r8, 0.0024288249404662513_r8, & + 0.0029106971569284731_r8, 0.0031203273185475941_r8, & + 0.0031677901571233172_r8, 0.0031111622979599798_r8, & + 0.0030748171647706065_r8, 0.0030370862552724538_r8, & + 0.0030395428587289275_r8, 0.0030415270384437729_r8, & + 0.0030553218116993576_r8, 0.0031402006106121473_r8, & + 0.0032898644519604144_r8, 0.0035509888014171645_r8, & + 0.0039159833842002155_r8, 0.0042824897229564833_r8, & + 0.0046757273717599581_r8, 0.0050891414511955351_r8, & + 0.0055492461813529551_r8, 0.006035943193999335_r8, & + 0.0064039809730513843_r8, 0.0071405667487964434_r8, & + 0.007278679829661865_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,34,82) / & + 0.00039794381396790788_r8, 0.00042321216603101236_r8, & + 0.00043578088001058749_r8, 0.0006273228440951573_r8, & + 0.00069294855120205447_r8, 0.00077736186722633747_r8, & + 0.00087908989599852494_r8, 0.00098559665456503047_r8, & + 0.001047687410865172_r8, 0.0011182555028963293_r8, & + 0.0011728181232191213_r8, 0.0012368072790265943_r8, & + 0.001373361119450522_r8, 0.0015081802154970601_r8, & + 0.0016744210964925366_r8, 0.0018521505676099689_r8, & + 0.0023258012446892248_r8, 0.0028222327158564614_r8, & + 0.0031173683771945613_r8, 0.0031801792160664494_r8, & + 0.003138938123320968_r8, 0.0030548848485825579_r8, & + 0.0030254269251929282_r8, 0.0029931214025423012_r8, & + 0.0029841203703954698_r8, 0.0029803235713808064_r8, & + 0.0029814036952384259_r8, 0.0030045117995862909_r8, & + 0.0030607764332604833_r8, 0.0032649853044025945_r8, & + 0.0034901420321773306_r8, 0.0037567362388534783_r8, & + 0.0040521992104514638_r8, 0.0044138115855721612_r8, & + 0.004830297525762541_r8, 0.0051635864582336754_r8, & + 0.0052685654961621671_r8, 0.0049506249600526813_r8, & + 0.0048755809002176001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,35,82) / & + 0.00062625208400408211_r8, 0.00066415940763311931_r8, & + 0.00059945201380398345_r8, 0.00094863417053023876_r8, & + 0.0010590952963739915_r8, 0.0012118115392379259_r8, & + 0.0013987666550571193_r8, 0.0015908508083924279_r8, & + 0.001726209844827654_r8, 0.0018555227310783206_r8, & + 0.0019423427303577282_r8, 0.0020019550538066177_r8, & + 0.0021178169542534317_r8, 0.0022677478919761644_r8, & + 0.0024624814819092012_r8, 0.0026106121614309133_r8, & + 0.002875997393970041_r8, 0.0030263359373231932_r8, & + 0.0030692364299248734_r8, 0.0030374092236162636_r8, & + 0.003006023590073942_r8, 0.002973075468281679_r8, 0.0029742643180370692_r8, & + 0.0029781365715260567_r8, 0.002994169059655901_r8, & + 0.0030143795054975468_r8, 0.003041281477105251_r8, & + 0.0031174357957220074_r8, 0.0032269798088973168_r8, & + 0.0033925695962553418_r8, 0.0035885599702155054_r8, & + 0.0038067308838976789_r8, 0.004098304778191275_r8, & + 0.0044087644000276541_r8, 0.0047141459350517195_r8, & + 0.0049567501374311665_r8, 0.005088614198207944_r8, & + 0.0050133454513477532_r8, 0.0047749471082559995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,82) / & + 0.0010411007897557329_r8, 0.0010830630586875258_r8, & + 0.00093070341108954051_r8, 0.0014664968113763555_r8, & + 0.0016280445061146072_r8, 0.0018111013840049776_r8, & + 0.0021688367672976585_r8, 0.0023329542989755253_r8, & + 0.0024139569674420146_r8, 0.0024818288252444441_r8, & + 0.0025219605253973326_r8, 0.0025182641845937774_r8, & + 0.0025494894635723847_r8, 0.0026273942464130366_r8, & + 0.0026968502502741332_r8, 0.0027611665802559993_r8, & + 0.002852448596480948_r8, 0.002886314118890666_r8, 0.0028970159055981032_r8, & + 0.0029005010269271699_r8, 0.0029325711838037328_r8, & + 0.0029603113414532738_r8, 0.0030070612518068147_r8, & + 0.0030611334372759704_r8, 0.0031346730176438514_r8, & + 0.003205642761072118_r8, 0.0032759788460769183_r8, 0.003444837500601794_r8, & + 0.0036006293389343469_r8, 0.0037232079207105417_r8, & + 0.0038829778515385121_r8, 0.0040499961306660259_r8, & + 0.0043599607094784703_r8, 0.0046655213622478217_r8, & + 0.0048904965050127983_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,82) / & + 0.0014109682892711503_r8, 0.0013999271645158717_r8, & + 0.0011893805676973825_r8, 0.0014627121742628872_r8, & + 0.0016615981772804215_r8, 0.0018371265533404183_r8, & + 0.002144310321284319_r8, 0.0022622645154521015_r8, & + 0.0023277824768712157_r8, 0.0023938105892691228_r8, & + 0.0024340031985267889_r8, 0.0024700052818872366_r8, & + 0.0024977720708757602_r8, 0.0025389121033797526_r8, & + 0.0025951744684693592_r8, 0.0026489589573762636_r8, & + 0.0027695732245048891_r8, 0.0028313379322943205_r8, & + 0.0028733160699777574_r8, 0.0029077512610462025_r8, & + 0.002969333772057495_r8, 0.0030030037366577515_r8, & + 0.0030586101933460542_r8, 0.0031080948382888555_r8, & + 0.0031562357819928757_r8, 0.0031509214923962012_r8, & + 0.0032178814111737367_r8, 0.0033731221759878546_r8, & + 0.0035207204366617816_r8, 0.0036381963642869463_r8, & + 0.0037365982413491991_r8, 0.0038782913743030559_r8, & + 0.0035909755143125333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,82) / & + 0.0016977695021788443_r8, 0.0016370743272457479_r8, & + 0.001420289698713758_r8, 0.0013522101325411291_r8, 0.001608516324390821_r8, & + 0.0017693528866437004_r8, 0.0020186891173744458_r8, & + 0.0021987401670363125_r8, 0.0022810610591708965_r8, & + 0.002358032035203371_r8, 0.0024021876807785343_r8, & + 0.0024703049224166712_r8, 0.0025213175027142577_r8, & + 0.0025542835350335991_r8, 0.0025828650850544688_r8, & + 0.0026317301638181102_r8, 0.0027951286577255208_r8, & + 0.0028694058379741859_r8, 0.0029450117511581704_r8, & + 0.0030421619756271006_r8, 0.0031154212455308848_r8, & + 0.0031456221677924208_r8, 0.0031830291956084964_r8, & + 0.0032191747681062301_r8, 0.0032178312340951742_r8, & + 0.003139442045896799_r8, 0.0031976392029114927_r8, & + 0.0033609414898266251_r8, 0.0035169078253864477_r8, & + 0.0036375761518672302_r8, 0.0037488264193024615_r8, & + 0.0038075638155814907_r8, 0.0036744316377793173_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,82) / & + 0.0018465423803252846_r8, 0.0017814711457640529_r8, & + 0.0015207382981427672_r8, 0.0012292750338590813_r8, & + 0.0013855127913555909_r8, 0.001611376976272_r8, 0.0018291631181379315_r8, & + 0.0020958611102661453_r8, 0.0022242517988364796_r8, & + 0.0023220754993610424_r8, 0.0023729193093413215_r8, & + 0.002469301335997771_r8, 0.0025439415199063693_r8, & + 0.0025854115313757625_r8, 0.0026133986819733327_r8, & + 0.0026368873765162657_r8, 0.0028068614760042659_r8, & + 0.0029088834575733327_r8, 0.0029964520124044795_r8, & + 0.0031086574311923196_r8, 0.0031987999867353592_r8, & + 0.0032268513414323201_r8, 0.0032596304525388791_r8, & + 0.0032977676875763197_r8, 0.0033305467986828791_r8, & + 0.0033223520209062396_r8, 0.0033702599525235201_r8, & + 0.0035032674995135989_r8, 0.0036718908114559998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,82) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,82) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,82) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,82) / & + 0.0036725246163192881_r8, 0.0036583152674894222_r8, & + 0.0034978680369521782_r8, 0.0041205138085942516_r8, & + 0.0041953102420181337_r8, 0.0041120276697097485_r8, & + 0.0041570239410043267_r8, 0.0045116656055497481_r8, & + 0.0039553301284470524_r8, 0.0035554948405399703_r8, & + 0.0034445829788401772_r8, 0.0030988221573134225_r8, & + 0.002725432046395259_r8, 0.0027767435838364444_r8, & + 0.0025789968126207997_r8, 0.0026701734676124445_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,82) / & + 0.0035270609087011558_r8, 0.0036844324242071977_r8, & + 0.0035427078760021861_r8, 0.0039503857761999271_r8, & + 0.0041684061995442574_r8, 0.0041804908889871281_r8, & + 0.0041885623793239705_r8, 0.0042601235813606716_r8, & + 0.0036393853915451524_r8, 0.0032657520455614689_r8, & + 0.0031993313457504657_r8, 0.0030079603681551544_r8, & + 0.0027814175332261139_r8, 0.0028036479507460221_r8, & + 0.0026090416131972546_r8, 0.0026843905537160492_r8, & + 0.0024428376777485923_r8, 0.0026255115117756445_r8, & + 0.0027072860800765632_r8, 0.0029140052896461928_r8, & + 0.0030670898324314287_r8, 0.0030857507251445503_r8, & + 0.0033016010899835136_r8, 0.0033858396208174264_r8, & + 0.0033996305640535715_r8, 0.0034999863086327197_r8, & + 0.0036558246918960082_r8, 0.0039561382429763045_r8, & + 0.0040243175356539937_r8, 0.0041024203166508426_r8, & + 0.0041249148451873588_r8, 0.0041527141401184403_r8, & + 0.0041930062082217142_r8, 0.0042048158357033839_r8, & + 0.0042167675033781341_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,82) / & + 0.0030565052821333338_r8, 0.0035583790482773339_r8, & + 0.0034941217867946656_r8, 0.0036874031818239991_r8, & + 0.0041802892704426659_r8, 0.004354112806912001_r8, & + 0.0041743129281706657_r8, 0.0034713746235733333_r8, & + 0.0028204629265066667_r8, 0.0026441839936000001_r8, & + 0.0026418212536319999_r8, 0.0025949834083839997_r8, & + 0.0025156231423999987_r8, 0.002544253991424_r8, 0.0025235915987626666_r8, & + 0.0025768690686293325_r8, 0.0025215068282026659_r8, & + 0.0025874782343680005_r8, 0.0026711470261759993_r8, & + 0.0027916004363093324_r8, 0.0029369321084586654_r8, & + 0.0030340360883199997_r8, 0.0031938221696853333_r8, & + 0.003344296275882667_r8, 0.0034933805350399992_r8, & + 0.0036373223601493324_r8, 0.0038426027679573319_r8, & + 0.0041507318567253334_r8, 0.0041705603411626669_r8, & + 0.0041759807446186672_r8, 0.0042017855713280009_r8, & + 0.004225135001600001_r8, 0.0042494573247999993_r8, & + 0.0042498742789119992_r8, 0.0042607266678826661_r8, & + 0.0042695505420068565_r8, 0.0043642586903039991_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,83) / & + 0.004372403708554541_r8, 0.0043683512062962964_r8, & + 0.0044717257948148157_r8, 0.0046828362714814815_r8, & + 0.0048374786651851848_r8, 0.0049201838829629621_r8, & + 0.005206712254814813_r8, 0.0053050599081481487_r8, & + 0.0053395065481481483_r8, 0.0053870024185185186_r8, & + 0.0054260253029629621_r8, 0.0054524704488888897_r8, & + 0.0054435398385185184_r8, 0.0055315978755555552_r8, & + 0.0057554455659259256_r8, 0.0060391449866666657_r8, & + 0.0072658875428571433_r8, 0.0076181739720000002_r8, & + 0.0074579783749999995_r8, 0.0077650963799999993_r8, & + 0.0079669087600000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,83) / & + 0.004372403708554541_r8, 0.0043683512062962964_r8, & + 0.0044717257948148157_r8, 0.0046828362714814815_r8, & + 0.0048374786651851848_r8, 0.0049201838829629621_r8, & + 0.005206712254814813_r8, 0.0053050599081481487_r8, & + 0.0053395065481481483_r8, 0.0053870024185185186_r8, & + 0.0054260253029629621_r8, 0.0054524704488888897_r8, & + 0.0054435398385185184_r8, 0.0055315978755555552_r8, & + 0.0057554455659259256_r8, 0.0060391449866666657_r8, & + 0.0072658875428571433_r8, 0.0076181739720000002_r8, & + 0.0074579783749999995_r8, 0.0077650963799999993_r8, & + 0.0079669087600000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,83) / & + 0.004372403708554541_r8, 0.0043683512062962964_r8, & + 0.0044717257948148157_r8, 0.0046828362714814815_r8, & + 0.0048374786651851848_r8, 0.0049201838829629621_r8, & + 0.005206712254814813_r8, 0.0053050599081481487_r8, & + 0.0053395065481481483_r8, 0.0053870024185185186_r8, & + 0.0054260253029629621_r8, 0.0054524704488888897_r8, & + 0.0054435398385185184_r8, 0.0055315978755555552_r8, & + 0.0057554455659259256_r8, 0.0060391449866666657_r8, & + 0.0072658875428571433_r8, 0.0076181739720000002_r8, & + 0.0074579783749999995_r8, 0.0077650963799999993_r8, & + 0.0079669087600000004_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,83) / & + 0.0044299617861728391_r8, 0.004441425509629629_r8, & + 0.0045671012004938269_r8, 0.0047659690676543206_r8, & + 0.0049344673125925921_r8, 0.0049656135096296291_r8, & + 0.0052557843871604941_r8, 0.0054658108948148158_r8, & + 0.0055312558128395063_r8, 0.0056288176464197532_r8, & + 0.0056909436316049371_r8, 0.0057606689560493821_r8, & + 0.0058687885091358019_r8, 0.0059745783377777766_r8, & + 0.0062315968666666654_r8, 0.0066125172138888876_r8, & + 0.0076788584401851845_r8, 0.0078948550318165781_r8, & + 0.0080078136497354502_r8, 0.0081190564071111099_r8, & + 0.0082614358524444442_r8, 0.0085638174444444444_r8, & + 0.0086328604924444455_r8, 0.0087480154435555547_r8, & + 0.0088634033671111112_r8, 0.0089070857004444441_r8, & + 0.0089284359608888895_r8, 0.0089497196577777785_r8, & + 0.0089680079946666668_r8, 0.0090203810322222206_r8, & + 0.0089825438111111114_r8, 0.0089658613200000008_r8, & + 0.0088562880003703708_r8, 0.0086792497437037045_r8, & + 0.0086514871940740739_r8, 0.0086640787999999989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,83) / & + 0.005088672882962963_r8, 0.0051257913101234584_r8, & + 0.0051656369940740734_r8, 0.0051870575160493822_r8, & + 0.0052615162488888877_r8, 0.0053595865540740743_r8, & + 0.0057862681901234567_r8, 0.0061563523140740727_r8, & + 0.0063074978098765439_r8, 0.0065112470044444443_r8, & + 0.0066835356740740752_r8, 0.0069382614582716049_r8, & + 0.0072857232182716057_r8, 0.0075608433362962957_r8, & + 0.0077538221777777765_r8, 0.0079395252528395074_r8, & + 0.0082431105358024698_r8, 0.0084384930612345678_r8, & + 0.0085879374883950626_r8, 0.0086670371802469136_r8, & + 0.008749760887901234_r8, 0.0088834426953086441_r8, & + 0.0089010173229629643_r8, 0.0089310726172839496_r8, & + 0.0089664529960493816_r8, 0.0089851832409876542_r8, & + 0.0089985976464197516_r8, 0.0090086746291358037_r8, & + 0.0090338855758024684_r8, 0.0090332106953086404_r8, & + 0.0090154141891358019_r8, 0.0090056792691358013_r8, & + 0.0088035386938271586_r8, 0.0087174590735802464_r8, & + 0.008720093880987656_r8, 0.0087785369138888899_r8, & + 0.0089854807298941786_r8, 0.0092305992402751322_r8, & + 0.009042993400083332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,83) / & + 0.0053845016627160494_r8, 0.0053832258612345673_r8, & + 0.0053583107525925922_r8, 0.0054631483525925924_r8, & + 0.0054728925175308628_r8, 0.0055597949372839517_r8, & + 0.0058504650414814814_r8, 0.0062834424804938263_r8, & + 0.0065046738533333327_r8, 0.0068890968765432103_r8, & + 0.0072394892819753068_r8, 0.0076653573634567901_r8, & + 0.0081327537076543201_r8, 0.008414659610370372_r8, & + 0.0085298792760493819_r8, 0.0086254257130864188_r8, & + 0.0088157235224691367_r8, 0.008946141866666665_r8, & + 0.0090402738281481487_r8, 0.0091040823920987644_r8, & + 0.0091596906958024693_r8, 0.0091934809451851823_r8, & + 0.0091940356414814805_r8, 0.0091953299328395056_r8, & + 0.0091977705965432099_r8, 0.0091975579629629631_r8, & + 0.0091956165259259263_r8, 0.0091865102617283961_r8, & + 0.0091828492661728389_r8, 0.0091456291446913567_r8, & + 0.0091283041303703693_r8, 0.0091068281387654305_r8, & + 0.0090336914320987647_r8, 0.0090023048666666664_r8, & + 0.0089596949461728387_r8, 0.0089364624162962952_r8, & + 0.0088848756607407403_r8, 0.0088256063614814799_r8, & + 0.0087220249174691372_r8, 0.0086562235080211627_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,83) / & + 0.004549276959506173_r8, 0.0045704848479012341_r8, 0.004612697236049383_r8, & + 0.0045967404725925929_r8, 0.0047335470691358024_r8, & + 0.0050275545960493818_r8, 0.0055395670123456796_r8, & + 0.0060770677234567895_r8, 0.0062883330528395046_r8, & + 0.0066621891116049386_r8, 0.0070199682227160493_r8, & + 0.0073883050533333338_r8, 0.0077812981343209865_r8, & + 0.0079989424711111104_r8, 0.0081606179516049374_r8, & + 0.0082680718691358034_r8, 0.0084916052316049376_r8, & + 0.0086187693575308626_r8, 0.0087406176439506159_r8, & + 0.008827109819567901_r8, 0.0088869915959876554_r8, & + 0.0089440767785802459_r8, 0.0089753836064197512_r8, & + 0.0089878561837654306_r8, 0.0090070394306790112_r8, & + 0.0090291452337037028_r8, 0.0090345847242592568_r8, & + 0.0090318736461111101_r8, 0.0090355565983950593_r8, & + 0.0090229684593209885_r8, 0.0089928897224779546_r8, & + 0.0089215564391269837_r8, 0.00886366248952381_r8, 0.0088048436828994693_r8, & + 0.0087051021570158701_r8, 0.0085554252856931204_r8, & + 0.0084529419752592573_r8, 0.0083956751296296282_r8, & + 0.0084314877092592586_r8, 0.0084901763108333316_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,83) / & + 0.0027887171397530867_r8, 0.0027839097718518522_r8, & + 0.0027699776498765435_r8, 0.0030029131145679015_r8, & + 0.0030829742799999998_r8, 0.0032502521930864196_r8, & + 0.0039297459111111111_r8, 0.0048482859980246906_r8, & + 0.0053152940548148149_r8, 0.0057014366365432103_r8, & + 0.0059765937343209882_r8, 0.0062112672474074065_r8, & + 0.0065454625209876542_r8, 0.00681559961728395_r8, 0.0070436075298765423_r8, & + 0.0072092028641975317_r8, 0.0074498208725925913_r8, & + 0.0076149724498765425_r8, 0.0077866012620370359_r8, & + 0.0079284983527160482_r8, 0.0080323906577777771_r8, & + 0.0081425521866049372_r8, 0.0082225405481481453_r8, & + 0.0083237506654938245_r8, 0.0084121842781481482_r8, & + 0.0084925909731481484_r8, 0.0085400348407407411_r8, & + 0.0086625071604938281_r8, 0.008748264363518516_r8, & + 0.0088055587128395077_r8, 0.0088432260582098771_r8, & + 0.0088584483443386233_r8, 0.0088710766988941789_r8, & + 0.0088100643655767193_r8, 0.0087044475163333308_r8, & + 0.0086700695200000004_r8, 0.0083702839066666663_r8, & + 0.0083338403600000006_r8, 0.0083106263200000002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,83) / & + 0.0012454688390123455_r8, 0.001213305698765432_r8, & + 0.0011320426913580246_r8, 0.0015624223027160492_r8, & + 0.0016315467061728394_r8, 0.0017800666395061729_r8, & + 0.0022019409076543209_r8, 0.003180009152098766_r8, & + 0.0038343473930864199_r8, 0.0044258940133333332_r8, & + 0.0048269579254320988_r8, 0.0051849589150617277_r8, & + 0.0055970612834567897_r8, 0.0059308867595061722_r8, & + 0.0061680286711111119_r8, 0.0063647979372839503_r8, & + 0.0066667930908641962_r8, 0.0068620739219753092_r8, & + 0.0070417862770370369_r8, 0.0072089162711111111_r8, & + 0.007359571785185183_r8, 0.0075793979274074068_r8, & + 0.0077125805081481487_r8, 0.007847020400493827_r8, & + 0.0080157497688888892_r8, 0.0081239155466666674_r8, & + 0.008241095139259259_r8, 0.0084641477649382707_r8, & + 0.0086616843609876558_r8, 0.0087839995167901235_r8, & + 0.0089003366643827155_r8, 0.0089995984109876529_r8, & + 0.0090793361686684285_r8, 0.009125758569634922_r8, & + 0.0090622411882222212_r8, 0.0089842370215555568_r8, & + 0.0088833724337777763_r8, 0.0087762106562962964_r8, & + 0.0087514434666666665_r8, 0.0087844815742857147_r8, & + 0.008840280851999999_r8, 0.0090238964200000001_r8, & + 0.0088606492999999988_r8, 0.0085415186533333333_r8, 0.0085068223999999991_r8 & + / +data delta_sa_ref(:,10,83) / & + 0.00049147940839506176_r8, 0.00049282916938271604_r8, & + 0.00048130073135802464_r8, 0.00064752472148148145_r8, & + 0.0006778943437037038_r8, 0.00073660894666666675_r8, & + 0.0010293036923456789_r8, 0.001455717225185185_r8, & + 0.0018690399254320989_r8, 0.002266942068641975_r8, & + 0.0025742253269135803_r8, 0.0028933975758024689_r8, & + 0.0032234048923456783_r8, 0.003585140837037037_r8, 0.003891980338271604_r8, & + 0.0041614980237037035_r8, 0.0045994954641975306_r8, & + 0.0050074191204938267_r8, 0.0053436390355555549_r8, & + 0.0056446819604938263_r8, 0.0058834232464197531_r8, & + 0.0061069011392592592_r8, 0.0062876027027160483_r8, & + 0.0064208777328395045_r8, 0.006547256039012345_r8, 0.006652075149135803_r8, & + 0.0067383581580246904_r8, 0.0069880916755555543_r8, & + 0.0073345364923456773_r8, 0.0077407405901234573_r8, & + 0.0081165507977160496_r8, 0.0084292723909259251_r8, & + 0.0086714990185802459_r8, 0.0088589228077777769_r8, & + 0.0090070232520370365_r8, 0.009128945497962962_r8, & + 0.0092145490038888882_r8, 0.0092632102317460312_r8, & + 0.0092856902896825411_r8, 0.0093129478675767173_r8, & + 0.0093359848504999988_r8, 0.0093910526719999977_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,11,83) / & + 0.00020707737234567898_r8, 0.00021833770716049383_r8, & + 0.00019843335506172834_r8, 0.00025062103160493826_r8, & + 0.00025618648444444446_r8, 0.00026576424049382715_r8, & + 0.00037699009283950616_r8, 0.00050033605925925916_r8, & + 0.00062584534123456782_r8, 0.00077007562320987645_r8, & + 0.00088665429481481499_r8, 0.00098679546617283943_r8, & + 0.0011399471135802469_r8, 0.0013473203239506171_r8, & + 0.0015560987649382715_r8, 0.0017611699856790127_r8, & + 0.0021580089609876548_r8, 0.0026888810513580248_r8, & + 0.0032214727002469134_r8, 0.0037610442775308636_r8, & + 0.0042197226449382716_r8, 0.0046436307995061724_r8, & + 0.0049680541733333342_r8, 0.0051961360454320978_r8, & + 0.0053762551777777777_r8, 0.0054672531051851835_r8, & + 0.0054903746958024687_r8, 0.0054495767832098765_r8, & + 0.0055036134474074063_r8, 0.0058206501155555566_r8, & + 0.0064085080054320977_r8, 0.0071839734276543206_r8, & + 0.0078005276059259273_r8, 0.0082054096775308633_r8, & + 0.0085439130923456782_r8, 0.0088239977422222213_r8, & + 0.0090739808730864197_r8, 0.0092228243792592587_r8, & + 0.0093033570365432076_r8, 0.0093769282553086419_r8, & + 0.0094217153587654312_r8, 0.009419688670190475_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,83) / & + 0.00012370651901234567_r8, 0.00012865256098765432_r8, & + 0.00011345388246913578_r8, 0.00022122212790123453_r8, & + 0.00022548404444444443_r8, 0.00022593704641975305_r8, & + 0.00024977974222222221_r8, 0.00031594576543209876_r8, & + 0.00035485771061728396_r8, 0.00040045374617283944_r8, & + 0.00043934720148148144_r8, 0.00047665977234567894_r8, & + 0.00057692112790123451_r8, 0.00070387262024691364_r8, & + 0.0008457361980246913_r8, 0.00096595737530864206_r8, & + 0.0012325259254320985_r8, 0.0015909152024691359_r8, & + 0.002011282545679012_r8, 0.0024981025051851848_r8, & + 0.0029611814632098761_r8, 0.0034108275259259256_r8, & + 0.0038065293738271605_r8, 0.0041900833728395056_r8, & + 0.004593107211851852_r8, 0.0048067669802469128_r8, 0.004872664900246914_r8, & + 0.004813820868148147_r8, 0.0046641915422222227_r8, & + 0.0046312610720987656_r8, 0.0048635031664197529_r8, & + 0.0055093637990123456_r8, 0.0065010683274074063_r8, & + 0.0073504840108641984_r8, 0.0079934694676543194_r8, & + 0.0084679566795061723_r8, 0.0088583241980246911_r8, & + 0.0091246986044444447_r8, 0.009251687076543209_r8, & + 0.0093536125209876565_r8, 0.0093837693115238086_r8, & + 0.0094295804899999988_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,83) / & + 0.00013982969135802468_r8, 0.00014192829234567904_r8, & + 0.00015500063506172838_r8, 0.00021972444790123457_r8, & + 0.00022310809530864199_r8, 0.00022663041679012348_r8, & + 0.00022982916543209876_r8, 0.00024653476888888889_r8, & + 0.00025812792148148148_r8, 0.00026981352345679011_r8, & + 0.00028260851802469134_r8, 0.00028076877530864192_r8, & + 0.00030025710518518511_r8, 0.00035523675308641965_r8, & + 0.00042823478567901229_r8, 0.00049902327802469129_r8, & + 0.00072851038074074083_r8, 0.00098313447061728395_r8, & + 0.00126577072345679_r8, 0.0016361876651851852_r8, 0.0020527460938271607_r8, & + 0.0024959484345679012_r8, 0.0029150492212345674_r8, & + 0.0034083036577777781_r8, 0.0038547139920987652_r8, & + 0.0042249183002469135_r8, 0.0043492996997530863_r8, & + 0.0045002602967901227_r8, 0.0042606499866666668_r8, & + 0.0038589019491358022_r8, 0.0038041534246913578_r8, & + 0.0041290113106172846_r8, 0.0048735246795061716_r8, & + 0.0059766838724691351_r8, 0.0070427153933333344_r8, & + 0.0079458730585802457_r8, 0.008570567405_r8, 0.009038119526407408_r8, & + 0.0092498981809876531_r8, 0.0093341682894666645_r8, & + 0.0093587215049999988_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,83) / & + 0.0001580699545679012_r8, 0.00015824560839506173_r8, & + 0.00017236262913580247_r8, 0.0002027784760493827_r8, & + 0.0002082977041975308_r8, 0.00021615590172839507_r8, & + 0.000171835667654321_r8, 0.00020369372493827159_r8, & + 0.00021409428049382715_r8, 0.00021999255111111111_r8, & + 0.00022532688049382719_r8, 0.00022329299407407408_r8, & + 0.00022761962518518517_r8, 0.00025246077432098762_r8, & + 0.00028229419012345674_r8, 0.00034229383950617277_r8, & + 0.00054649603604938282_r8, 0.00081798289333333328_r8, & + 0.0010522403841975306_r8, 0.0013706822829629632_r8, & + 0.0017561314943209878_r8, 0.0022177497520987654_r8, & + 0.0027077961950617282_r8, 0.0032144557920987652_r8, & + 0.0036714978054320992_r8, 0.0040582135733333337_r8, & + 0.0042730012241975306_r8, 0.0043164801688888883_r8, & + 0.0039649136562962956_r8, 0.0034549628612345683_r8, & + 0.0031651987609876541_r8, 0.00324748217845679_r8, 0.0035964322084303352_r8, & + 0.0044536037347442676_r8, 0.0056301066549559074_r8, & + 0.0071046986432751324_r8, 0.0081834324782010578_r8, & + 0.008982702419583332_r8, 0.0092215366914285713_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,83) / & + 0.00013513326271604936_r8, 0.00013439366765432097_r8, & + 0.0001415215150617284_r8, 0.00017466461876543211_r8, & + 0.00017897276000000001_r8, 0.00018187567061728394_r8, & + 0.00012780202666666664_r8, 0.00014291750074074076_r8, & + 0.00016443971703703703_r8, 0.00017843655358024691_r8, & + 0.00018339184049382716_r8, 0.00017728093629629628_r8, & + 0.00018488952049382714_r8, 0.00021767207160493826_r8, & + 0.00025015878469135801_r8, 0.00030685799111111105_r8, & + 0.00049367970370370372_r8, 0.00075422979901234569_r8, & + 0.0010571217116049382_r8, 0.0014412304069135802_r8, & + 0.0019071013362962962_r8, 0.0024582556656172843_r8, & + 0.0029985313440035275_r8, 0.0034874464376455023_r8, & + 0.0038105705674691352_r8, 0.0040424960226543207_r8, & + 0.0041175840716490292_r8, 0.0038539869437389769_r8, & + 0.0034474780931746025_r8, 0.0030386236697001762_r8, & + 0.0027659906051587294_r8, 0.0027298511509259264_r8, & + 0.0028670170453915342_r8, 0.0033157981450793643_r8, & + 0.0042539728299999992_r8, 0.0055988021053333323_r8, & + 0.0066848392103703701_r8, 0.0066923830800000002_r8, & + 0.0069776911199999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,83) / & + 0.00011360408091346171_r8, 0.00011383466397279341_r8, & + 0.00011139257975350781_r8, 0.00010878279876379919_r8, & + 0.00011423294380254812_r8, 0.00011219962046116873_r8, & + 8.7915031894281474e-05_r8, 0.00011435871638036542_r8, & + 0.00012372877342775308_r8, 0.00014447076771945347_r8, & + 0.00016405984671449543_r8, 0.00017922592338962963_r8, & + 0.00019952771365896953_r8, 0.00024963760487100575_r8, & + 0.00030959968134539582_r8, 0.00039552331409090368_r8, & + 0.00066362852580474727_r8, 0.0010189255770904229_r8, & + 0.0014542559120604968_r8, 0.001983035272348813_r8, & + 0.0026009559471651287_r8, 0.0032474794023867261_r8, & + 0.0037257296295369479_r8, 0.0040387880567723184_r8, & + 0.0041092102193018469_r8, 0.0040401505930320073_r8, & + 0.0038535040875511571_r8, 0.003183670781240757_r8, & + 0.0027648795402536552_r8, 0.002605787710362943_r8, & + 0.0025961451460636176_r8, 0.0027313506672171986_r8, & + 0.0028720168144576795_r8, 0.0031586315572069657_r8, & + 0.0039543108086717103_r8, 0.0053472001838055236_r8, & + 0.0067216455344548415_r8, 0.0076497397280028438_r8, & + 0.0085237176496829221_r8, 0.008948944067073434_r8, & + 0.0094198248072421761_r8, 0.0099384783520467552_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,17,83) / & + 9.5951807118116865e-05_r8, 9.9349782947186834e-05_r8, & + 9.594008996008557e-05_r8, 5.8339729837721798e-05_r8, & + 6.3448410739358019e-05_r8, 7.1978501786126736e-05_r8, & + 6.1304170819634555e-05_r8, 8.7234241542847733e-05_r8, & + 0.00011041078012871107_r8, 0.00012264349311336297_r8, & + 0.00014533962821994403_r8, 0.00018627937838122137_r8, & + 0.00022731286580674894_r8, 0.0003027947978442271_r8, & + 0.00042653970381252999_r8, 0.00056049025442607404_r8, & + 0.00095395242111631249_r8, 0.0014819627134796903_r8, & + 0.0020909385678391833_r8, 0.0027643470742126615_r8, & + 0.0033723504044555585_r8, 0.0038651740712510154_r8, & + 0.003967532234522733_r8, 0.0038981329721482407_r8, & + 0.0036271590462274498_r8, 0.0032841319216380827_r8, & + 0.0029450036813836239_r8, 0.0023251982437137251_r8, & + 0.0022708716405017149_r8, 0.0024437802769244968_r8, & + 0.0026732051604663829_r8, 0.0028916788951832886_r8, & + 0.0030644205621041237_r8, 0.0032979010469695856_r8, & + 0.0039324393462190615_r8, 0.0054855940472520286_r8, & + 0.0074045642806004411_r8, 0.0087794635549189991_r8, & + 0.010266524654940054_r8, 0.010570852559218689_r8, 0.010777276996321123_r8, & + 0.011098418854986665_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,83) / & + 9.4973360324266667e-05_r8, 0.00010094481683128887_r8, & + 0.00011414419683271111_r8, 8.8742838459022208e-05_r8, & + 9.0180651197155546e-05_r8, 0.00011576335532159998_r8, & + 0.00010361319002097777_r8, 0.00013472693954346665_r8, & + 0.00013748598560853334_r8, 0.00015762831721031109_r8, & + 0.00018104782559359996_r8, 0.00023289975704177774_r8, & + 0.00034336522578773333_r8, 0.00051556596939804442_r8, & + 0.00072933374973511099_r8, 0.00096815315021226626_r8, & + 0.0015603636058403555_r8, 0.0021916670240241772_r8, & + 0.0028450946238001771_r8, 0.0035164236398293326_r8, & + 0.003961381345843909_r8, 0.0041631414468273776_r8, & + 0.0039449306955967982_r8, 0.0035615398719637324_r8, & + 0.0031395094501518216_r8, 0.0027798490133319107_r8, & + 0.0025493844706574219_r8, 0.0023586605539342217_r8, & + 0.0025536590490680884_r8, 0.0028747317007807994_r8, & + 0.0032052343315327994_r8, 0.0034274865023516442_r8, & + 0.0035742729343203545_r8, 0.0037418105014826665_r8, & + 0.0042574800970239983_r8, 0.0056861219214762648_r8, & + 0.0077286709253077332_r8, 0.0093992580513541334_r8, & + 0.010992162255439055_r8, 0.011857182619953997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,83) / & + 0.00014788169533724442_r8, 0.00015001010200588641_r8, & + 0.00016290824641785676_r8, 0.00018548354648325262_r8, & + 0.00018109902874585018_r8, 0.00018637747728408226_r8, & + 0.00016896711073459094_r8, 0.00018861939897505184_r8, & + 0.00021003117006159009_r8, 0.00026453257015661555_r8, & + 0.00031368457482445426_r8, 0.00042377995710440815_r8, & + 0.00065790469065502542_r8, 0.0009791947719754268_r8, & + 0.0013029112368980805_r8, 0.0016311257345804637_r8, & + 0.0022745856386443063_r8, 0.0027943283577488852_r8, & + 0.0033014425306195222_r8, 0.003806059372998953_r8, & + 0.0040739690150698137_r8, 0.0041778210711217499_r8, & + 0.0039319759115158115_r8, 0.0035702461034912126_r8, 0.00317397934992345_r8, & + 0.0028314052019166288_r8, 0.0026209341611435192_r8, & + 0.0024986784820967239_r8, 0.0027943993046378401_r8, & + 0.0032265793733944883_r8, 0.0036034776262776095_r8, & + 0.0037980565639248584_r8, 0.0039087514474164791_r8, & + 0.0039726604049869028_r8, 0.0042989380526008225_r8, & + 0.0054704804825658716_r8, 0.007477981236723415_r8, & + 0.0098003763115147909_r8, 0.011725566258779277_r8, 0.012807487318947458_r8, & + 0.013180497244327412_r8, 0.013426776776260975_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,83) / & + 0.00021253236912803291_r8, 0.00020009942606538271_r8, & + 0.00019405263489843621_r8, 0.00023030253092477359_r8, & + 0.000236287620141037_r8, 0.00022365414573866666_r8, & + 0.00023511528307805767_r8, 0.00025024768648309464_r8, & + 0.00030076615860490536_r8, 0.00042926047090251847_r8, & + 0.00057347335513665827_r8, 0.00074235159415637843_r8, & + 0.0011431983167693169_r8, 0.001507610037503868_r8, & + 0.0018336277194258431_r8, 0.0021387747165292513_r8, & + 0.0026545413222895144_r8, 0.0030756262847265185_r8, & + 0.0035675450865477534_r8, 0.0040252964331782062_r8, & + 0.0043354875647499585_r8, 0.0043825198766581719_r8, & + 0.0040898829500557706_r8, 0.0036897920763386983_r8, & + 0.0032630459599265185_r8, 0.0028557668089548641_r8, & + 0.0026249552369369544_r8, 0.0024564163586459917_r8, & + 0.0027696945159378602_r8, 0.0032755207721699895_r8, & + 0.0036964118141905606_r8, 0.0038868989577959508_r8, & + 0.0040023631402939441_r8, 0.0040872603416965995_r8, & + 0.004456016540851572_r8, 0.0058608735486084442_r8, & + 0.0082941844549095645_r8, 0.010912957101297041_r8, 0.012800535408760416_r8, & + 0.013905478846652358_r8, 0.014308508165588657_r8, 0.014604088165056593_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,83) / & + 0.00025258981886735799_r8, 0.00023211271547764935_r8, & + 0.00021976647169264193_r8, 0.00024387580334838511_r8, & + 0.00025557224482891845_r8, 0.00025957102824106666_r8, & + 0.00033053277220914561_r8, 0.00044268198532235057_r8, & + 0.00065090196991241466_r8, 0.00090230881535367877_r8, & + 0.0010992822215970764_r8, 0.0012979551107906368_r8, & + 0.0016312870313882858_r8, 0.0018788783709904591_r8, & + 0.0021312016042970071_r8, 0.0023766102746200488_r8, & + 0.0028959022854801375_r8, 0.0033463485752610756_r8, & + 0.0038462631481697971_r8, 0.0042805143651315353_r8, & + 0.0045301550812324332_r8, 0.0045446340095039199_r8, & + 0.0040907387690300038_r8, 0.0036448744185754865_r8, & + 0.0032375316816579945_r8, 0.0028088954230708137_r8, & + 0.0025722007682667451_r8, 0.002487010019990439_r8, & + 0.0028692770525942514_r8, 0.003437266747695406_r8, & + 0.0039185140832483541_r8, 0.0041885881660453919_r8, & + 0.0042998162308368693_r8, 0.004339402698974499_r8, & + 0.0045410555148899861_r8, 0.0056573321494487547_r8, & + 0.0086021828762130916_r8, 0.011683587578697953_r8, 0.013925392044715596_r8, & + 0.014905998934960895_r8, 0.015444116289836369_r8, 0.015753723345141756_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,83) / & + 0.00025713636265331361_r8, 0.0002421917769488856_r8, & + 0.00023995456352007898_r8, 0.0002588008494443457_r8, & + 0.00027396020763793914_r8, 0.00029982239487494317_r8, & + 0.00043115577199960494_r8, 0.0007283472038822717_r8, & + 0.0010053142263685266_r8, 0.0012101534879100579_r8, & + 0.0013411468085935405_r8, 0.0014893398261176889_r8, & + 0.0016644688933246685_r8, 0.0018957788641558392_r8, & + 0.0021898560949456065_r8, 0.0024834679853421829_r8, & + 0.0031086349058878954_r8, 0.0036637859949656755_r8, & + 0.0041645638488697423_r8, 0.0045301424208441686_r8, & + 0.0046333942950104491_r8, 0.0045292654331800753_r8, & + 0.0041286968431791145_r8, 0.0037123066798096329_r8, & + 0.0033150133702684443_r8, 0.0029409870803868451_r8, & + 0.0026805038464440367_r8, 0.0025721153302452151_r8, & + 0.0028912135560227566_r8, 0.0034620788322244742_r8, & + 0.0039762799667013796_r8, 0.004344943655994131_r8, & + 0.0046485827369786162_r8, 0.0047078688928419926_r8, & + 0.0046949400364369193_r8, 0.0051831223787368033_r8, & + 0.0079468070988715448_r8, 0.012607100817184974_r8, 0.014961156296852468_r8, & + 0.016057941678913865_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,83) / & + 0.00024039728068645921_r8, 0.00022099558993382714_r8, & + 0.00022283243639561472_r8, 0.00021791504534687074_r8, & + 0.00023563296017619747_r8, 0.00026335786145880482_r8, & + 0.00042216854513419576_r8, 0.00080964747948483946_r8, & + 0.001038392265429333_r8, 0.0012279127258877363_r8, & + 0.0013447055467497345_r8, 0.0014477985544175669_r8, & + 0.0016344872099140475_r8, 0.00191960022165465_r8, 0.002248319203045399_r8, & + 0.0026138516489411416_r8, 0.0032543370495857239_r8, & + 0.0038280071601827816_r8, 0.0043085147142960453_r8, & + 0.0045941060714694048_r8, 0.0046631026166903036_r8, & + 0.0045187762327188003_r8, 0.0040755796223605981_r8, & + 0.0037165335405330425_r8, 0.0033577361983305209_r8, & + 0.0030738860185323979_r8, 0.0028622085976286811_r8, & + 0.0027441720786415139_r8, 0.0030739434199843286_r8, & + 0.0036549609164285364_r8, 0.0042162514472258352_r8, & + 0.0046762902585961103_r8, 0.0050568220455566989_r8, & + 0.0052854108908901125_r8, 0.0053964542046555548_r8, & + 0.0055030484958859842_r8, 0.0077472587116639985_r8, & + 0.013394640288357545_r8, 0.016057883973303464_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,83) / & + 0.00027334405296426672_r8, 0.00024505022409718516_r8, & + 0.00022256182447928888_r8, 0.00019180323442220248_r8, & + 0.00022759319649524941_r8, 0.00028165498325783702_r8, & + 0.00059270377145102229_r8, 0.00099985787612720989_r8, & + 0.0012533819899354867_r8, 0.0014937878706333236_r8, 0.00163020527302558_r8, & + 0.0017791501806397631_r8, 0.0019920566596309331_r8, & + 0.0022405290314960595_r8, 0.0025091676312794077_r8, & + 0.0028117221598343103_r8, 0.0033981927335651556_r8, & + 0.0039316811266744888_r8, 0.0044298276961089577_r8, & + 0.004735335864106429_r8, 0.0048208284485233774_r8, 0.004673370545594073_r8, & + 0.0042255173263920191_r8, 0.0038549476109492943_r8, & + 0.0035136902207331556_r8, 0.0032626308681148837_r8, & + 0.0030819088740841084_r8, 0.0030168880664932347_r8, & + 0.0034144683053900643_r8, 0.0040267068370164142_r8, & + 0.0046075174809780042_r8, 0.0051272258365924386_r8, & + 0.0055623134406736626_r8, 0.0059259189690090445_r8, & + 0.0062725159718893747_r8, 0.0065863980714552248_r8, & + 0.0068630715162689773_r8, 0.0070817375921731554_r8, & + 0.0074155574127239988_r8, 0.0076573459022298666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,83) / & + 0.00030533651587265836_r8, 0.00027610354771700406_r8, & + 0.00021804812611002461_r8, 0.00020402580805162137_r8, & + 0.00024412661285346497_r8, 0.00034854859001257613_r8, & + 0.00073108347633619737_r8, 0.0011118898796942222_r8, & + 0.0013677701767137447_r8, 0.0016170822384639998_r8, & + 0.0017663367425432756_r8, 0.0019515869043811025_r8, & + 0.0021888644034833904_r8, 0.0024143017942713412_r8, & + 0.0026238803538499423_r8, 0.0028582410379477861_r8, & + 0.0033307218565936463_r8, 0.0038614309451430453_r8, & + 0.004327797255298106_r8, 0.0046873649242163626_r8, & + 0.0048198099314552094_r8, 0.0046903897694061556_r8, & + 0.0043610921584229132_r8, 0.0040522338585078522_r8, & + 0.0037911249005173984_r8, 0.0035805308571965097_r8, & + 0.003430930656524115_r8, 0.0034257452076273246_r8, & + 0.0037492524006758183_r8, 0.0043291152235593738_r8, & + 0.0048635837625589469_r8, 0.00535503468175223_r8, 0.0058404575166029942_r8, & + 0.0062813070969784356_r8, 0.0067011988213960174_r8, & + 0.0070470682628119173_r8, 0.0073689117910060234_r8, & + 0.0076347281643230954_r8, 0.0079523180039690524_r8, & + 0.0082165968762553422_r8, 0.0084485643830900167_r8, & + 0.008563866080215702_r8, 0.0086111508923433066_r8, & + 0.0086135491624580729_r8, 0.0086174382491306656_r8 & + / +data delta_sa_ref(:,26,83) / & + 0.00025427877984510948_r8, 0.00023027168340087573_r8, & + 0.00015521238852385185_r8, 0.00014909069314130702_r8, & + 0.00019191971867217118_r8, 0.00028283146353235225_r8, & + 0.00043589669024292343_r8, 0.00066445521262256451_r8, & + 0.000907107339670229_r8, 0.0011363739686053133_r8, & + 0.0013028246934284641_r8, 0.0014939449369573926_r8, & + 0.0017973114905976101_r8, 0.0020491233185721412_r8, & + 0.0022944251346659816_r8, 0.0025636198364693071_r8, & + 0.0030364979626239471_r8, 0.0035417434110064463_r8, 0.00397437367423555_r8, & + 0.0043282213726348112_r8, 0.004488710297104067_r8, & + 0.0044019329808417974_r8, 0.0042580046129111438_r8, & + 0.0041328296476262722_r8, 0.0040075861559005499_r8, & + 0.0038972814282799938_r8, 0.0038174938089843612_r8, & + 0.0039010046982328097_r8, 0.0041767094119168268_r8, & + 0.0047390145433799102_r8, 0.0053069616851395942_r8, & + 0.0058542595260566641_r8, 0.0063467818985881285_r8, & + 0.0068516161883255301_r8, 0.0073048729102502975_r8, & + 0.0077265617850904482_r8, 0.0080880616027178935_r8, & + 0.0084068466055492227_r8, 0.0086638207587344061_r8, & + 0.008840093606745968_r8, 0.0089641778595139863_r8, & + 0.0090460408510182021_r8, 0.0091319766789026563_r8, & + 0.0091038061932813431_r8, 0.0091043475521640545_r8 & + / +data delta_sa_ref(:,27,83) / & + 0.00023736345582648884_r8, 0.00023575021261890364_r8, & + 0.00017709557898192593_r8, 0.00016421371157807405_r8, & + 0.00017307451009137775_r8, 0.00021629498110056295_r8, & + 0.00025749287853605923_r8, 0.00031843494657185181_r8, & + 0.0003838796486347851_r8, 0.00052449666851982213_r8, & + 0.00064503242220894806_r8, 0.00080479165627354073_r8, & + 0.0010856163656775108_r8, 0.0013473470174155851_r8, & + 0.0015648218331007998_r8, 0.0018425163691169182_r8, & + 0.0024391996516119705_r8, 0.0031069619482680887_r8, & + 0.0036800003825564428_r8, 0.0040897400790262514_r8, & + 0.0042484880263039997_r8, 0.0042681358838769778_r8, & + 0.0041836693589186371_r8, 0.0040859597927039998_r8, & + 0.0040336136623563843_r8, 0.0040135083179036442_r8, & + 0.0040324097495149022_r8, 0.0042601659808663705_r8, & + 0.0045910975427328003_r8, 0.0051722021930590816_r8, & + 0.0057787575608542804_r8, 0.006412978845746725_r8, & + 0.0069911459487397923_r8, 0.0075664236609133025_r8, & + 0.0080181558372939832_r8, 0.0084288105075233169_r8, & + 0.0087089369474792292_r8, 0.0089255840730859265_r8, & + 0.0091131988405202934_r8, 0.0092735555593293599_r8, & + 0.0094188361935871982_r8, 0.0093655269329663976_r8, & + 0.0094961996327807986_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,83) / & + 0.00026187712360941566_r8, 0.00028286273361156211_r8, & + 0.00025840905537021891_r8, 0.00026263655461069961_r8, & + 0.00023013290775574646_r8, 0.00024281540547718843_r8, & + 0.00027407864836337783_r8, 0.00029410231243056457_r8, & + 0.00026691468258459923_r8, 0.00030329142754610043_r8, & + 0.00036404590764881647_r8, 0.00044259638754828645_r8, & + 0.00059174863620045431_r8, 0.00076044357595232909_r8, & + 0.00092124043329085104_r8, 0.0010916314356122598_r8, & + 0.0015836414669774222_r8, 0.0023001899310555389_r8, & + 0.0030556972054995224_r8, 0.0036779496535848822_r8, & + 0.0040012900595648793_r8, 0.0042218794510711574_r8, & + 0.0042003875537348209_r8, 0.004132190649819522_r8, & + 0.0041080407439786923_r8, 0.0041064712532427059_r8, & + 0.0041565177562273179_r8, 0.0044924647168286284_r8, & + 0.0049153412127102419_r8, 0.0055691353617155961_r8, & + 0.0061880463133953045_r8, 0.0068951272043240837_r8, & + 0.0075306190661984925_r8, 0.0080888261665089042_r8, & + 0.0085424849323092276_r8, 0.0088865578046242767_r8, & + 0.0091491437305015553_r8, 0.0093119232452041449_r8, & + 0.0094396532110284301_r8, 0.0095400443840741086_r8, & + 0.0096280605385454174_r8, 0.0096586902894047009_r8, & + 0.0096812074185927688_r8, 0.0097332778051958026_r8, 0.009753030605539198_r8 & + / +data delta_sa_ref(:,29,83) / & + 0.00027498328603538436_r8, 0.00029656882350248553_r8, & + 0.00029388722536696625_r8, 0.00025727411815032095_r8, & + 0.0002486717637353876_r8, 0.00025963711056676869_r8, & + 0.00027530189175445596_r8, 0.00030102930356948798_r8, & + 0.00028324048425465675_r8, 0.00029412617965626992_r8, & + 0.00031446384472367411_r8, 0.00037773363043597697_r8, & + 0.00050581312950276206_r8, 0.00063267130664643948_r8, & + 0.00077360123638244602_r8, 0.00091251332989766604_r8, & + 0.0011960989703479836_r8, 0.0016556877201087733_r8, 0.00229645692211495_r8, & + 0.002984645275309616_r8, 0.0034757494407819064_r8, & + 0.0037655213422775309_r8, 0.0038295079908577455_r8, & + 0.0038470047549300935_r8, 0.0038653511342533003_r8, & + 0.0038851843402655079_r8, 0.0039964308371746773_r8, & + 0.0043637832312642356_r8, 0.0048552325529321863_r8, & + 0.0055537224910435024_r8, 0.0062791611628929588_r8, & + 0.0070983495675792322_r8, 0.0078058401172543214_r8, & + 0.0083143348448926034_r8, 0.0087567188858235275_r8, & + 0.0091109553444779726_r8, 0.0094064355984402968_r8, & + 0.0096073430547915332_r8, 0.0097695664667521581_r8, & + 0.0099663851497086425_r8, 0.010064759880744187_r8, 0.010117478222590509_r8, & + 0.010141342928826539_r8, 0.010191643375663756_r8, 0.010209381749073066_r8 & + / +data delta_sa_ref(:,30,83) / & + 0.00028795239557965422_r8, 0.00029262054210646909_r8, & + 0.00028564610890271602_r8, 0.00024282697915377777_r8, & + 0.00025919327858409867_r8, 0.00026964103509649384_r8, & + 0.00025705371142597524_r8, 0.00031104304893550614_r8, & + 0.0003162391406052346_r8, 0.00033980216593106169_r8, & + 0.00037228468551348144_r8, 0.00043805553568592587_r8, & + 0.00053767044817777763_r8, 0.00063142239092464202_r8, & + 0.00076546488405175291_r8, 0.00090020204184059231_r8, & + 0.0011328035571737283_r8, 0.0014131146414743704_r8, & + 0.0019070767891361977_r8, 0.002405290284527802_r8, & + 0.0028474304484246908_r8, 0.0030860616530216291_r8, & + 0.0030602479141918024_r8, 0.0032565045744233087_r8, & + 0.0033165513877831112_r8, 0.0033720134143755058_r8, & + 0.0034936353033509135_r8, 0.0037937026506311105_r8, & + 0.0042626290838842472_r8, 0.0050784710492045434_r8, & + 0.0059356872417773831_r8, 0.006838779088610766_r8, & + 0.0075359723297078506_r8, 0.0081802321235812329_r8, & + 0.0086347651050433568_r8, 0.0090943621918894817_r8, 0.00950517893381095_r8, & + 0.0098217802924183677_r8, 0.010054103941886813_r8, 0.010397025152149035_r8, & + 0.010499578496160001_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,83) / & + 0.00033294837251539745_r8, 0.00032026545421089705_r8, & + 0.00027237800523509457_r8, 0.00027612193306411192_r8, & + 0.00031750829805774481_r8, 0.00032737601481639501_r8, & + 0.00031515745965347814_r8, 0.00038092288958024688_r8, & + 0.00042074202897103531_r8, 0.00046238959823180899_r8, & + 0.00051567526872852017_r8, 0.00057090545988061235_r8, & + 0.00066578065424539922_r8, 0.00078486077736522782_r8, & + 0.00092187692682872073_r8, 0.0010597347344863338_r8, & + 0.0013103457174597002_r8, 0.0015763097068016722_r8, & + 0.0019756910312598644_r8, 0.0023209450270272255_r8, & + 0.0025914075343032887_r8, 0.002682683914320803_r8, & + 0.0027363468798700507_r8, 0.0028844206766425015_r8, & + 0.0029449910439228039_r8, 0.003007302772984046_r8, & + 0.0031054575320362664_r8, 0.0033245244719153446_r8, & + 0.0037163329456761946_r8, 0.004389374456633185_r8, & + 0.0053172072553626616_r8, 0.0062151642977754827_r8, & + 0.0069166578981407247_r8, 0.0078639810959083289_r8, & + 0.0085688495175965228_r8, 0.0092227308663388428_r8, & + 0.0097571547969087964_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,83) / & + 0.000393606551424316_r8, 0.00039091351766995215_r8, & + 0.0003357517139148378_r8, 0.00030240650945069297_r8, & + 0.00034485961458970854_r8, 0.00036443706221974651_r8, & + 0.00042988686009265507_r8, 0.00051839386831191436_r8, & + 0.00056226913734368374_r8, 0.00060106092692901406_r8, & + 0.00064772000613383374_r8, 0.00071211074578873411_r8, & + 0.00082821378528866467_r8, 0.00093835583996152079_r8, & + 0.001047711165672428_r8, 0.0011715302007607046_r8, & + 0.0014479746544670813_r8, 0.0017986742186589498_r8, & + 0.0021891943718479272_r8, 0.0025086063303992093_r8, & + 0.0027036848541563256_r8, 0.0027988185409396934_r8, & + 0.0028524900984880394_r8, 0.0028885775072666699_r8, & + 0.0029245665749250563_r8, 0.0029646184276554853_r8, & + 0.0030206015418653832_r8, 0.0031502435600108971_r8, & + 0.0035266230165789982_r8, 0.0041138057420311699_r8, & + 0.0047765416807560484_r8, 0.0054378589137374566_r8, & + 0.0060197190611403989_r8, 0.0051745962766959986_r8, & + 0.0056041275958154668_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,83) / & + 0.00038678906473023209_r8, 0.00040373332959668141_r8, & + 0.00040899298058682469_r8, 0.0004176540825167012_r8, & + 0.00045434565978326908_r8, 0.00050020225763745168_r8, & + 0.00057978991064399005_r8, 0.00066136174336537269_r8, & + 0.00070110832749447878_r8, 0.00074759482367083442_r8, & + 0.00079011296041750099_r8, 0.00083612703285222711_r8, & + 0.00092834414721833052_r8, 0.0010187660513662417_r8, & + 0.0011274865017732738_r8, 0.001255481840838795_r8, & + 0.0016308697459376982_r8, 0.0021299381865952393_r8, & + 0.0026025508977215203_r8, 0.0028603997759029721_r8, & + 0.0029878597013946466_r8, 0.0030055598442477031_r8, & + 0.0029968357524856092_r8, 0.002992961877804247_r8, & + 0.0030004576678381027_r8, 0.0030235434413457378_r8, & + 0.0030384680947167205_r8, 0.0031294017912513968_r8, & + 0.0033013010433723651_r8, 0.0035500309060400893_r8, & + 0.0038977289308236482_r8, 0.0041977318420251819_r8, & + 0.0045033337619379285_r8, 0.0047973497145508978_r8, & + 0.0051732910303185662_r8, 0.0056400591848698297_r8, & + 0.0062552682781695989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,83) / & + 0.00037048248316357533_r8, 0.00040759946663450862_r8, & + 0.00042628888247392931_r8, 0.00061308484779016962_r8, & + 0.00064460482581707315_r8, 0.00070656465801326076_r8, & + 0.00074031034580738109_r8, 0.00087319831132059913_r8, & + 0.00095270197344661067_r8, 0.0010186222597874041_r8, & + 0.0010790110027361446_r8, 0.0011309224099538698_r8, & + 0.0012374618995463636_r8, 0.0013653747491093331_r8, & + 0.0015061836229117629_r8, 0.001684273135315068_r8, & + 0.0021866289221862188_r8, 0.0026868244613421303_r8, & + 0.0030051991511320488_r8, 0.0030995299680308419_r8, & + 0.0031069599109302252_r8, 0.0030684682243677756_r8, & + 0.0030382902184064001_r8, 0.0030114835081218373_r8, & + 0.0030043154134303598_r8, 0.0030057555785738535_r8, & + 0.0030086359088608394_r8, 0.0030431671412786835_r8, & + 0.0031353377104622348_r8, 0.0033864174108198452_r8, & + 0.003692354310734143_r8, 0.0040152376993539754_r8, & + 0.0043063359886363964_r8, 0.0046082800540696647_r8, & + 0.0049041837255532792_r8, 0.0050411049717439295_r8, & + 0.0051513622967508882_r8, 0.0049812980227821333_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,83) / & + 0.00047998959695512753_r8, 0.00053644297676826332_r8, & + 0.00053875274200730866_r8, 0.00088606670626080637_r8, & + 0.00094809069635634548_r8, 0.0010424853669343866_r8, & + 0.0011554260936965264_r8, 0.0013634748008899422_r8, & + 0.0015351786727042633_r8, 0.0016676844697265511_r8, & + 0.0017687027317989136_r8, 0.0018234577548186339_r8, & + 0.0019393196552654484_r8, 0.00211805472420451_r8, 0.0023109540888006578_r8, & + 0.0024925763642885267_r8, 0.0028344216196672265_r8, & + 0.0030474634958332835_r8, 0.0031132238708743371_r8, & + 0.0031043924155485757_r8, 0.0030833327913102225_r8, & + 0.0030533058432026332_r8, 0.0030422325569095629_r8, & + 0.0030371374865293161_r8, 0.0030420966883660905_r8, & + 0.0030494675568495137_r8, 0.0030590123220285096_r8, & + 0.0031165866173252996_r8, 0.0032489480540201479_r8, & + 0.0034798693813288886_r8, 0.0037588075010794729_r8, & + 0.0040830280588345013_r8, 0.0044651528783490411_r8, & + 0.0048192865943064997_r8, 0.0050483354832505005_r8, & + 0.005067024097424217_r8, 0.0051956987481239876_r8, & + 0.0051394993939626659_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,83) / & + 0.00076060132763448884_r8, 0.00081720814679751104_r8, & + 0.00073687434000023672_r8, 0.0011566730455469035_r8, & + 0.0012820670069018075_r8, 0.0014614275439886219_r8, & + 0.0017600918809159106_r8, 0.0020538277634384594_r8, & + 0.0022151994419479706_r8, 0.0023303140555444141_r8, & + 0.0024061066436401775_r8, 0.002439408914117926_r8, & + 0.0024963677657384299_r8, 0.0026078916482685627_r8, & + 0.0026920274056066364_r8, 0.0027775712927746361_r8, & + 0.0029386613453181625_r8, 0.0030076597069845327_r8, & + 0.0030227266961647403_r8, 0.0029864321497983992_r8, & + 0.0029721044287789027_r8, 0.0029648525601547846_r8, & + 0.0030081525524250073_r8, 0.0030345901899818664_r8, & + 0.0030757427842614512_r8, 0.0031238656211991693_r8, & + 0.0031853304882754371_r8, 0.0033440971265995849_r8, & + 0.0035329889424727109_r8, 0.0037980148179253569_r8, & + 0.0041927864045367648_r8, 0.0045687470110567742_r8, & + 0.0048828397990625773_r8, 0.0052959813193865128_r8, & + 0.0052343354070463997_r8, 0.0052866122269823986_r8, & + 0.0060365469711551991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,83) / & + 0.0011913847322569217_r8, 0.0012012597976321052_r8, & + 0.0010391046650875787_r8, 0.0013689537122320856_r8, & + 0.0015444092095808263_r8, 0.0017275534109670717_r8, & + 0.002031967787883246_r8, 0.0021753566522793614_r8, & + 0.0022462311989757894_r8, 0.0023081052248321056_r8, & + 0.0023486986670016785_r8, 0.002387907413657389_r8, & + 0.0024232171492609054_r8, 0.0024668714973032292_r8, & + 0.0025209475010551574_r8, 0.0025697762375966548_r8, & + 0.0027350287153695605_r8, 0.0028619469910218269_r8, & + 0.0029397450152875725_r8, 0.0029586934802141233_r8, & + 0.0029554868169188605_r8, 0.002953300455581182_r8, 0.003005153658639802_r8, & + 0.003049172400238406_r8, 0.0030866912717768692_r8, & + 0.0030841756548329801_r8, 0.0031385692015410941_r8, & + 0.0033216243867871622_r8, 0.0035077434711387654_r8, & + 0.0037347697665400105_r8, 0.0042655363107783105_r8, & + 0.004758697440008534_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,83) / & + 0.0016535008302071567_r8, 0.0016155239609752757_r8, & + 0.0014699459622530638_r8, 0.001440069318105363_r8, & + 0.0016400883644863734_r8, 0.0017546594550956513_r8, & + 0.0019958954607422158_r8, 0.0021501011410657183_r8, & + 0.0022344188328722167_r8, 0.0022969601056151965_r8, & + 0.0023419446114315325_r8, 0.0024276186199963128_r8, & + 0.0025169094732498437_r8, 0.0025428301935192222_r8, & + 0.0025792623686652833_r8, 0.0026114372162089608_r8, & + 0.0027089413209431968_r8, 0.0028186522765019655_r8, & + 0.0029030453192394803_r8, 0.0029724812021703897_r8, & + 0.0030411635757911434_r8, 0.0030798939543331821_r8, & + 0.0031338828964058863_r8, 0.0031727263013444475_r8, & + 0.003218388965539924_r8, 0.0031848389635052107_r8, 0.003221233463185764_r8, & + 0.0033530262781891335_r8, 0.0035115374568887767_r8, & + 0.0035930140317496878_r8, 0.0036489920485822148_r8, & + 0.0037233498658603725_r8, 0.0036925723744213328_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,83) / & + 0.0016379577513591303_r8, 0.0016454662957098268_r8, & + 0.0015106328230446815_r8, 0.0013971347061344987_r8, & + 0.0014759132750554859_r8, 0.0016986848235480492_r8, & + 0.0019826566367802268_r8, 0.0021990439075109725_r8, & + 0.0022961873503158123_r8, 0.0023586466824590414_r8, & + 0.0023972129176151307_r8, 0.0024901468228125867_r8, & + 0.0025733553356215464_r8, 0.0025765021703111112_r8, & + 0.0026078154267848539_r8, 0.0026271583709100558_r8, & + 0.0027264562642621629_r8, 0.0028284532312470513_r8, & + 0.0029173759089016881_r8, 0.0029922028683721479_r8, & + 0.0030888592216350807_r8, 0.0031338604585709026_r8, & + 0.0031615849560346064_r8, 0.0031977727211451252_r8, & + 0.0032773858043882663_r8, 0.0033490025588892441_r8, & + 0.0033975642049730369_r8, 0.0034980144368362658_r8, & + 0.0036512287649251552_r8, 0.0037421317638271999_r8, & + 0.0037498987922143998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,40,83) / & + 0.0014362834404444442_r8, 0.0015354682968977775_r8, & + 0.0014380178204479997_r8, 0.0014998051080746665_r8, 0.001547283760672_r8, & + 0.001858821768810666_r8, 0.0021999526357599996_r8, & + 0.0023153973047466661_r8, 0.0023658027235999995_r8, & + 0.0024023873017999992_r8, 0.0024836863644666662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,83) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,83) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,83) / & + 0.003615095164798578_r8, 0.0036253574722868148_r8, & + 0.0035266814387460745_r8, 0.0042193871942020735_r8, & + 0.0042359647678369182_r8, 0.0041420251839061331_r8, & + 0.0041439987045769483_r8, 0.0044759448814079995_r8, & + 0.0038515229411621933_r8, 0.0034572135111333928_r8, & + 0.0033332764130062221_r8, 0.0030597464480312895_r8, & + 0.0027491142944450373_r8, 0.002807530506301155_r8, & + 0.0026011989201674668_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,44,83) / & + 0.0034814727705416697_r8, 0.0036726633796378342_r8, & + 0.003541310020133795_r8, 0.0040700602753841776_r8, & + 0.0042428532975673158_r8, 0.0042121906527122699_r8, & + 0.0041729605041477269_r8, 0.0042093949409754859_r8, & + 0.0035470367199817226_r8, 0.0031858938925639901_r8, & + 0.0031111311496674248_r8, 0.002968098929843596_r8, & + 0.0027794334797354935_r8, 0.0028258783682659295_r8, & + 0.002622918714600402_r8, 0.0026966837942360598_r8, & + 0.0024583099130660747_r8, 0.0026379907573104004_r8, & + 0.0027142141629634543_r8, 0.0029110412876579726_r8, & + 0.0030576905400629176_r8, 0.0030756629726565242_r8, & + 0.0032929554802721525_r8, 0.0033887311533193822_r8, & + 0.0033996885396425833_r8, 0.0034976093094832416_r8, & + 0.0036493894015157168_r8, 0.0039531235123477001_r8, & + 0.0040261341041096929_r8, 0.0041048263035948253_r8, & + 0.0041216005740155265_r8, 0.0041516995673107357_r8, & + 0.0041940004895732619_r8, 0.0042077986797580342_r8, & + 0.0042195406690525234_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,83) / & + 0.0030362598435839999_r8, 0.0035635214823253321_r8, & + 0.0034969014808746671_r8, 0.0037981739909119998_r8, & + 0.0042474188824746665_r8, 0.004389136952319999_r8, & + 0.0041521680319999994_r8, 0.0034344046923093334_r8, & + 0.0027425851640319994_r8, 0.0026083259399679991_r8, & + 0.0026039247576746666_r8, 0.002580482670933333_r8, & + 0.0025150672035839997_r8, 0.0025537512795306663_r8, & + 0.0025296605975039994_r8, 0.0025842815861759996_r8, & + 0.0025284560634026652_r8, 0.0025905358978560002_r8, & + 0.0026757798496426671_r8, 0.0027951677103786659_r8, & + 0.0029424451683839987_r8, 0.0030372790647466659_r8, & + 0.0031982233519786663_r8, 0.0033518941063679988_r8, & + 0.0035014879761066666_r8, 0.0036451518318079998_r8, & + 0.0038522390407679991_r8, 0.0041482301320533346_r8, 0.004170652997632_r8, & + 0.0041769536375466662_r8, 0.0042013686172160001_r8, & + 0.0042257372686506671_r8, 0.0042506618589013339_r8, & + 0.0042534878812159997_r8, 0.0042705366715733318_r8, & + 0.0042741147004114275_r8, 0.0043642586903039982_r8, 0.00437176386432_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,84) / & + 0.0044397063328550073_r8, 0.0044381250666666663_r8, & + 0.0045426974524999993_r8, 0.0047501261324999992_r8, & + 0.0048920781149999993_r8, 0.0049420631849999997_r8, & + 0.0051468709249999989_r8, 0.0052444541374999992_r8, & + 0.0052864827825000009_r8, 0.0053831767475000002_r8, & + 0.0054435051699999997_r8, 0.0054793558849999995_r8, & + 0.0054879274285714284_r8, 0.0055420400333333333_r8, & + 0.0056889374799999988_r8, 0.00603864576_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,84) / & + 0.0044397063328550073_r8, 0.0044381250666666663_r8, & + 0.0045426974524999993_r8, 0.0047501261324999992_r8, & + 0.0048920781149999993_r8, 0.0049420631849999997_r8, & + 0.0051468709249999989_r8, 0.0052444541374999992_r8, & + 0.0052864827825000009_r8, 0.0053831767475000002_r8, & + 0.0054435051699999997_r8, 0.0054793558849999995_r8, & + 0.0054879274285714284_r8, 0.0055420400333333333_r8, & + 0.0056889374799999988_r8, 0.00603864576_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,84) / & + 0.0044397063328550073_r8, 0.0044381250666666663_r8, & + 0.0045426974524999993_r8, 0.0047501261324999992_r8, & + 0.0048920781149999993_r8, 0.0049420631849999997_r8, & + 0.0051468709249999989_r8, 0.0052444541374999992_r8, & + 0.0052864827825000009_r8, 0.0053831767475000002_r8, & + 0.0054435051699999997_r8, 0.0054793558849999995_r8, & + 0.0054879274285714284_r8, 0.0055420400333333333_r8, & + 0.0056889374799999988_r8, 0.00603864576_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,84) / & + 0.0045146361758024696_r8, 0.0045458470874074073_r8, & + 0.0046741240727777768_r8, 0.0049038457658024696_r8, & + 0.0049817413044444441_r8, 0.0049999353429629632_r8, & + 0.0051692656323456777_r8, 0.0053520969984567892_r8, & + 0.0054292379190123462_r8, 0.0056017126430246908_r8, & + 0.0057035456380864187_r8, 0.005788261629938272_r8, & + 0.0059254796262345685_r8, 0.0060231258198765432_r8, & + 0.0061907977984567899_r8, 0.006704726063121693_r8, & + 0.0076826546429629638_r8, 0.00784673935437037_r8, 0.0079314068102962973_r8, & + 0.0080388168143703687_r8, 0.0082614081176296279_r8, & + 0.0085417252777037038_r8, 0.0086428866280000016_r8, & + 0.008755469175037037_r8, 0.0088776951171851849_r8, 0.008947255419481482_r8, & + 0.0089824023635555542_r8, 0.0090075966693333332_r8, & + 0.0090174064733333312_r8, 0.0090336410471851831_r8, & + 0.0089951146159259251_r8, 0.0090026238170370348_r8, & + 0.0088788572059259278_r8, 0.0087811613207407421_r8, & + 0.0087537038540740752_r8, 0.0087264999628571416_r8, & + 0.0091040222999999986_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,84) / & + 0.0050224421451851861_r8, 0.005096540325432098_r8, & + 0.0051346664508641979_r8, 0.0052328476953086428_r8, & + 0.0051326325644444433_r8, 0.0052954266824691348_r8, & + 0.0056932733560493831_r8, 0.0060084425466666661_r8, & + 0.0062251254098765431_r8, 0.0065565009772839506_r8, & + 0.0067967769229629613_r8, 0.0070609972587654321_r8, & + 0.0074257932780246918_r8, 0.0076399152933333348_r8, & + 0.0077916154854320982_r8, 0.0079662061446913578_r8, & + 0.0083009561145679003_r8, 0.0084562525876543202_r8, & + 0.0085906000306172833_r8, 0.0086818383264197548_r8, & + 0.008766263102716049_r8, 0.0089381265051851847_r8, & + 0.0089613775249382712_r8, 0.0089963141466666667_r8, & + 0.0090374263871604923_r8, 0.0090539655817283952_r8, & + 0.0090624894148148127_r8, 0.0090700887540740745_r8, & + 0.0090800363076543184_r8, 0.0090802766760493814_r8, & + 0.0090804430849382705_r8, 0.0090792689777777786_r8, & + 0.0088438558696296299_r8, 0.0087753416320987647_r8, & + 0.0088027343841975293_r8, 0.0088514401858641976_r8, & + 0.0091375941377160475_r8, 0.0092850632847619047_r8, & + 0.0091430063557037047_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,84) / & + 0.0051844042187654312_r8, 0.0052149032701234556_r8, & + 0.0051998894903703694_r8, 0.0053229858434567902_r8, & + 0.0052896670859259249_r8, 0.0054297833703703694_r8, & + 0.0057296984128395066_r8, 0.0061067439753086407_r8, & + 0.0063614142898765413_r8, 0.0068656702029629623_r8, & + 0.007258071607901235_r8, 0.0076902909619753091_r8, & + 0.0081375518306172848_r8, 0.0083311408380246903_r8, & + 0.008436570114074074_r8, 0.0085428499244444445_r8, & + 0.0087985186923456808_r8, 0.00889944568345679_r8, 0.008992227883950616_r8, & + 0.0090692104849382695_r8, 0.0091152225427160501_r8, & + 0.0091832930232098754_r8, 0.0091882298202469112_r8, & + 0.0091924270222222219_r8, 0.0091968830824691351_r8, & + 0.0091959400987654313_r8, 0.0091995641145679007_r8, & + 0.0091895518464197527_r8, 0.0091740943096296282_r8, & + 0.0091703685995061721_r8, 0.0091704148241975297_r8, & + 0.0091336199698765427_r8, 0.0090403662775308639_r8, & + 0.0090149519422222189_r8, 0.0089755592602469136_r8, & + 0.0089725916350617291_r8, 0.0089230849906172839_r8, & + 0.0088504382656790104_r8, 0.0087803500774074079_r8, & + 0.0087111531011851845_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,84) / & + 0.0041871342375308642_r8, 0.0042345237911111111_r8, & + 0.0042957622622222221_r8, 0.0045910455906172836_r8, & + 0.004702631995555556_r8, 0.004987089501234567_r8, 0.0053931087002469132_r8, & + 0.005920874491358025_r8, 0.006120888730864197_r8, 0.0065029635397530865_r8, & + 0.0069442151985185186_r8, 0.0074249057639506162_r8, & + 0.0078462438256790105_r8, 0.0079991366148148158_r8, & + 0.0081146798533333325_r8, 0.0081978195832098748_r8, & + 0.0084249677165432104_r8, 0.0084916976809876529_r8, & + 0.0085584923599999994_r8, 0.0086487969170370368_r8, & + 0.0087250769027160478_r8, 0.0088035849185185179_r8, & + 0.0088351748725925931_r8, 0.0088730606296296283_r8, & + 0.0089111405303703706_r8, 0.0089476395466666671_r8, & + 0.0089774336714814815_r8, 0.009006408463641976_r8, & + 0.0090194692501851838_r8, 0.0090270405244532621_r8, & + 0.0090182045096119916_r8, 0.0089657304050705464_r8, & + 0.0088993055235890659_r8, 0.0088301542107583775_r8, & + 0.0087415627738007054_r8, 0.0085895870495238096_r8, & + 0.0084741235485978842_r8, 0.0084330763198306874_r8, & + 0.0084762808219259259_r8, 0.0085296134840740726_r8, & + 0.0085339054466666651_r8, 0.00849633864_r8, 0.0087022696399999995_r8, & + 0.0086940323999999992_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,84) / & + 0.0025636028928395062_r8, 0.0026037536597530862_r8, & + 0.0025929185920987655_r8, 0.0031075473259259256_r8, & + 0.0032266960903703694_r8, 0.0033563655945679006_r8, & + 0.0041044475096296291_r8, 0.0049985717145679016_r8, & + 0.0054780338588271598_r8, 0.0058740084324074068_r8, & + 0.0061916656670370374_r8, 0.0065455214574691349_r8, & + 0.0069547833185802464_r8, 0.0072509171812962956_r8, & + 0.0075040563029629623_r8, 0.0076406976462345668_r8, & + 0.0078246129813580242_r8, 0.0078982177130246904_r8, & + 0.0080179373524074064_r8, 0.0081338272761111094_r8, & + 0.0082277766500617276_r8, 0.0083623834465608466_r8, & + 0.0084031584118959435_r8, 0.0085047568166490319_r8, & + 0.0086003389127336863_r8, 0.0086759763752028204_r8, & + 0.0087337488199029974_r8, 0.0088364916819788347_r8, & + 0.0088913531267407406_r8, 0.0089451390219876543_r8, & + 0.0089769444161410927_r8, 0.0089939218703095243_r8, & + 0.008960506445392858_r8, 0.0088525368666666666_r8, & + 0.0088011165200000008_r8, 0.0088720067066666644_r8, & + 0.0087866389466666663_r8, 0.0088782470400000004_r8, & + 0.0088273259199999985_r8, 0.0086131576799999988_r8, & + 0.0086768090800000003_r8, 0.0086588369199999994_r8, & + 0.0085779621999999989_r8, 0.0083862591599999994_r8, 0.0083098774800000001_r8 & + / +data delta_sa_ref(:,9,84) / & + 0.0012479834622222219_r8, 0.0012518108666666667_r8, & + 0.001148813009382716_r8, 0.0016143326311111111_r8, & + 0.0016733153372839502_r8, 0.0017766275224691357_r8, & + 0.0022133029367901232_r8, 0.0030681731338271603_r8, & + 0.003726200105185185_r8, 0.0043331210577777779_r8, & + 0.0048211336143209882_r8, 0.0052602589372839504_r8, & + 0.0057456736661728406_r8, 0.006133082804444444_r8, & + 0.0063804865975308636_r8, 0.0065820539866666659_r8, & + 0.0068934882222222221_r8, 0.0070661836691358025_r8, & + 0.0072148607664197532_r8, 0.0073739846439506169_r8, & + 0.007492412303209876_r8, 0.0076589251976543222_r8, & + 0.0077724218379629628_r8, 0.0078897089029629618_r8, & + 0.0080162489955555565_r8, 0.008119972580493828_r8, & + 0.0082317138381481463_r8, 0.0084560145304938272_r8, & + 0.0086476424553703687_r8, 0.0087689972932098754_r8, & + 0.0088813937858641979_r8, 0.0089699279372222208_r8, & + 0.0090597397060317459_r8, 0.0090916694115872991_r8, & + 0.0090779124481746021_r8, 0.0090376340680952388_r8, & + 0.0089997709941746027_r8, 0.008898944640820106_r8, 0.008848238762793649_r8, & + 0.0087305425102222212_r8, 0.0088046596425925931_r8, & + 0.0088067189525925915_r8, 0.0086581990192592592_r8, & + 0.0084282358022222219_r8, 0.0084232019333333324_r8 & + / +data delta_sa_ref(:,10,84) / & + 0.00056250826913580238_r8, 0.00056917386962962956_r8, & + 0.00053048380296296294_r8, 0.00056955291209876541_r8, & + 0.00059652964197530857_r8, 0.00065196229185185178_r8, & + 0.00090245389432098749_r8, 0.0012714008908641971_r8, & + 0.0016485758824691357_r8, 0.0020434549308641975_r8, & + 0.0023722049358024691_r8, 0.002742899225679012_r8, & + 0.0030551747506172835_r8, 0.0034550922903703704_r8, & + 0.0038308897861728392_r8, 0.0041543516864197523_r8, & + 0.004687747644938272_r8, 0.0051216495777777777_r8, & + 0.0054935272197530862_r8, 0.0057919723170370358_r8, & + 0.0059963131876543197_r8, 0.006152691318518518_r8, & + 0.0063050201664197536_r8, 0.0064061597911111113_r8, & + 0.0064872101649382707_r8, 0.0065640910716049375_r8, & + 0.006644004318024691_r8, 0.0069099996819753087_r8, & + 0.0073112854725925916_r8, 0.0077843582088888896_r8, & + 0.0081694098879012342_r8, 0.0084333991002469126_r8, & + 0.0086572571911728378_r8, 0.0088291602148059985_r8, & + 0.0089713208522610235_r8, 0.0090969741901851843_r8, & + 0.0091834800020864187_r8, 0.0092383980720952379_r8, & + 0.0092794007270529111_r8, 0.0093405059719999985_r8, & + 0.0093527619866666661_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,84) / & + 0.00026036519654320985_r8, 0.00026445145925925922_r8, & + 0.00021372448296296296_r8, 0.00023093855802469132_r8, & + 0.00023631911209876541_r8, 0.00024845771604938271_r8, & + 0.00038334136543209874_r8, 0.00051769805333333333_r8, & + 0.00065006707950617285_r8, 0.00079942830222222211_r8, & + 0.00091682052839506169_r8, 0.001054764252345679_r8, & + 0.0011884922844444445_r8, 0.0014173599762962962_r8, & + 0.0016604371382716052_r8, 0.001882380371358025_r8, & + 0.0023447289792592591_r8, 0.0028379371911111105_r8, & + 0.0033596105679012337_r8, 0.0038922669313580247_r8, & + 0.0043273707061728386_r8, 0.0046926289723456796_r8, & + 0.0049862851916049385_r8, 0.0052104287199999984_r8, & + 0.0053701257837037043_r8, 0.0054551884607407404_r8, & + 0.0054821929254320993_r8, 0.0054893854874074072_r8, & + 0.0055996128864197522_r8, 0.0059379036676543212_r8, & + 0.0065617243674074071_r8, 0.0072688049812345669_r8, 0.00784801885382716_r8, & + 0.0082510981624691355_r8, 0.0086006122987654313_r8, & + 0.0088910050548148146_r8, 0.0091588771412345667_r8, & + 0.0092959241061728384_r8, 0.0093586787471604919_r8, & + 0.0094579251405643733_r8, 0.0094482234858333323_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,84) / & + 0.00012483440148148149_r8, 0.0001256479560493827_r8, & + 8.4665144691358019e-05_r8, 0.00016416236888888887_r8, & + 0.00016557684444444443_r8, 0.00016910841086419752_r8, & + 0.00021459350716049379_r8, 0.00025742530617283945_r8, & + 0.0003004327590123457_r8, 0.00035056805925925922_r8, & + 0.00038782516049382717_r8, 0.00043245047753086416_r8, & + 0.00051718033679012346_r8, 0.00062244320395061744_r8, & + 0.00074017749283950603_r8, 0.00086612128691358021_r8, & + 0.0011484617017283952_r8, 0.0014632056251851851_r8, & + 0.0018295363041975308_r8, 0.0022846368804938268_r8, & + 0.0027415494646913586_r8, 0.0032100736913580246_r8, & + 0.0036349248296296296_r8, 0.0040587128000000002_r8, & + 0.0044845993713580248_r8, 0.0047031682019753086_r8, & + 0.004811750001975308_r8, 0.0048199687520987652_r8, & + 0.0046901883086419745_r8, 0.0046470699165432096_r8, & + 0.0048134418256790112_r8, 0.0054014568795061725_r8, & + 0.0063199322518518505_r8, 0.0071982568572839505_r8, & + 0.007874588806419754_r8, 0.0084210386177777773_r8, & + 0.0088856245007407405_r8, 0.0091735396133333334_r8, & + 0.0093024309248518518_r8, 0.0094639231244444452_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,84) / & + 0.00010046474419753088_r8, 0.00010141697283950614_r8, & + 9.578680543209875e-05_r8, 0.00014072645037037037_r8, & + 0.0001471516824691358_r8, 0.0001625629945679012_r8, & + 0.00018484329580246913_r8, 0.00019667681679012342_r8, & + 0.00020362901037037037_r8, 0.00022398636444444442_r8, & + 0.00023410957185185187_r8, 0.00023874128592592589_r8, & + 0.00025638062814814814_r8, 0.00029660535456790121_r8, & + 0.00037261723703703703_r8, 0.00047414514913580243_r8, & + 0.00073286474666666682_r8, 0.00098139642222222208_r8, & + 0.0012382023175308639_r8, 0.0015871340227160496_r8, & + 0.001996943646419753_r8, 0.0024720132893827165_r8, & + 0.0029401862083950616_r8, 0.0034328767037037039_r8, & + 0.0038916845002469141_r8, 0.004236613147160494_r8, & + 0.0044150034760493838_r8, 0.004476371376296296_r8, & + 0.0041515227353086425_r8, 0.0037769548162962961_r8, & + 0.0036313655283950613_r8, 0.0038536693140740737_r8, & + 0.0044894934105555555_r8, 0.0055268529109876539_r8, & + 0.0065612505643209878_r8, 0.0074974900855555547_r8, & + 0.0083430116689417987_r8, 0.0090154301696719567_r8, & + 0.0092042420533333322_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,14,84) / & + 0.00011578360691358021_r8, 0.00011654169185185184_r8, & + 0.00012082209827160493_r8, 0.00014459083456790122_r8, & + 0.00015138586419753084_r8, 0.00016837806074074073_r8, & + 0.00014741978567901231_r8, 0.00016398671506172839_r8, & + 0.00017055062123456794_r8, 0.00017661530074074072_r8, & + 0.00018309600246913579_r8, 0.00018056288938271599_r8, & + 0.00018690491703703707_r8, 0.00021117288000000001_r8, & + 0.00025155477037037033_r8, 0.0003200227832098765_r8, & + 0.0005463573619753087_r8, 0.00080834966765432092_r8, & + 0.0010580462054320984_r8, 0.0013750828735802469_r8, 0.00178592793037037_r8, & + 0.0022828710972839501_r8, 0.0027796755901234567_r8, & + 0.0032797250562962964_r8, 0.0037332539930864197_r8, & + 0.0040936401767901233_r8, 0.0042996358913580234_r8, & + 0.0042566931530864192_r8, 0.0038673703125925926_r8, & + 0.003432959908148148_r8, 0.0031392204844444449_r8, 0.003119039939814815_r8, & + 0.003395369989135802_r8, 0.0041561169413474423_r8, & + 0.0052113245545185186_r8, 0.0064185419991851841_r8, & + 0.007536836873015873_r8, 0.0080945039641904769_r8, & + 0.0078032248166666649_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,15,84) / & + 0.00011207638666666665_r8, 0.0001146002548148148_r8, & + 0.00011759561481481481_r8, 0.00013010401629629629_r8, & + 0.0001329144775308642_r8, 0.00013677886172839507_r8, & + 0.00012599926370370371_r8, 0.00013450460691358024_r8, & + 0.00014039363259259259_r8, 0.00014550608345679009_r8, & + 0.00015051683999999998_r8, 0.00015236582765432101_r8, & + 0.00016827636641975307_r8, 0.00020114212197530862_r8, & + 0.00024194927950617286_r8, 0.00030254984987654321_r8, & + 0.00050657639259259267_r8, 0.00077528976839506174_r8, & + 0.0011068132548148145_r8, 0.0014905336627160494_r8, & + 0.0019757450029629629_r8, 0.0025233042069135805_r8, & + 0.0030577355985185188_r8, 0.0035363460528395054_r8, & + 0.0038555830162962964_r8, 0.0040775262493827165_r8, & + 0.0041513933061728394_r8, 0.0039572588474074072_r8, & + 0.0035668451041975303_r8, 0.0031857225239506175_r8, & + 0.0028784485106172837_r8, 0.0027689052370370366_r8, & + 0.0028806894836543211_r8, 0.0033166343167283945_r8, & + 0.0042004215250617287_r8, 0.0053343876258271595_r8, & + 0.0063225624367901244_r8, 0.0069486091856084641_r8, & + 0.007189252287407407_r8, 0.0072625623366666652_r8, & + 0.0074885497679999993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,84) / & + 0.00011494565507684608_r8, 0.0001187712376521218_r8, & + 0.00011649685020325927_r8, 0.00011274463496504361_r8, & + 0.0001163291534328362_r8, 0.00012230335087915718_r8, & + 0.00012519612016895476_r8, 0.00013434607520516214_r8, & + 0.00014001632225509134_r8, 0.00014819153981321479_r8, & + 0.0001599722379354337_r8, 0.00017901630242660079_r8, & + 0.00020738849977254982_r8, 0.00025294961608686087_r8, & + 0.00031559484088801968_r8, 0.0004107208339104922_r8, & + 0.00070092009512757189_r8, 0.0010887293577790155_r8, & + 0.0015560478517072853_r8, 0.0020886527945708773_r8, & + 0.0027178825203425972_r8, 0.0033432028151538303_r8, & + 0.0038200485818517585_r8, 0.0041276673450965336_r8, & + 0.0042197328720587849_r8, 0.0041816761862209064_r8, & + 0.0040646867267545277_r8, 0.0035354252382512456_r8, 0.00304237577111119_r8, & + 0.0027746898013234038_r8, 0.002691585570530633_r8, & + 0.0027778550778651385_r8, 0.0029241914721555486_r8, & + 0.0032441778722190218_r8, 0.0039771909367863033_r8, & + 0.0050986840510867226_r8, 0.0063275450226504956_r8, & + 0.0072804819205794496_r8, 0.0079534385792389799_r8, & + 0.0084943366514523989_r8, 0.0090278635522301684_r8, & + 0.0096807656236274717_r8, 0.010017785823146665_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,84) / & + 0.00010866492358205102_r8, 0.00011482814870650203_r8, & + 0.00011171138467018269_r8, 0.00010820795441883127_r8, & + 0.00010356795983844608_r8, 0.0001322164112249152_r8, & + 0.00010483341290582386_r8, 0.00010850088336961316_r8, & + 0.00013641115380011193_r8, 0.0001508935611267687_r8, & + 0.0001669343504715852_r8, 0.00021823206833251023_r8, & + 0.00025953505039275716_r8, 0.00033216971302863532_r8, & + 0.00045763704122753581_r8, 0.00060356252734904354_r8, & + 0.0010506892778225252_r8, 0.0015657872620354371_r8, & + 0.0021952915772657246_r8, 0.0028796087577663207_r8, & + 0.0035006298505819646_r8, 0.0039368947955604541_r8, & + 0.0040894639102856956_r8, 0.0040817305859850534_r8, & + 0.0038465203556652242_r8, 0.0036130442647340239_r8, & + 0.0033534623457091421_r8, 0.0027445685114558683_r8, & + 0.0025274261388202666_r8, 0.0026009630226245528_r8, & + 0.0027940295647953905_r8, 0.0030034869464072296_r8, & + 0.0031704828119584788_r8, 0.0034043777912892963_r8, & + 0.0039552262893003849_r8, 0.0050435291090480585_r8, & + 0.0065593998132255065_r8, 0.0079658542310621482_r8, & + 0.0092065738424806556_r8, 0.010015144788384058_r8, 0.010567657541305515_r8, & + 0.01083826279521825_r8, 0.010950479482328532_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,84) / & + 0.00012562079220195554_r8, 0.00013168292158435553_r8, & + 0.00014056886337137777_r8, 0.00013192903367466668_r8, & + 0.00013067256668728886_r8, 0.00016413085770168882_r8, & + 0.00013367772484266664_r8, 0.00015584076623857774_r8, & + 0.00015827598060586662_r8, 0.00018458406773333327_r8, & + 0.00021222634145564442_r8, 0.00027534761598648887_r8, & + 0.0003849970288540443_r8, 0.0005566019221404444_r8, & + 0.00077814166322417761_r8, 0.0010390722920255999_r8, & + 0.0016787305680120888_r8, 0.002292598887587555_r8, 0.002947671552388266_r8, & + 0.0035620968624839105_r8, 0.0039960831505777769_r8, & + 0.0041494757491811543_r8, 0.0040064975779783105_r8, & + 0.0037259816080952878_r8, 0.0034013209011711995_r8, & + 0.0031243282201599996_r8, 0.0029455731229866655_r8, & + 0.0027393959576455101_r8, 0.0028837471752469332_r8, & + 0.0032150140488056886_r8, 0.0034992217000433768_r8, & + 0.003697419652351288_r8, 0.0038126389704206216_r8, & + 0.0039657077373262215_r8, 0.0044267404488184886_r8, & + 0.0054931052763327985_r8, 0.0071058389443377761_r8, & + 0.0087798415695623088_r8, 0.010193198537879467_r8, 0.011162776547561953_r8, & + 0.011666950522621799_r8, 0.011882477923446664_r8, 0.011919516173879997_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,84) / & + 0.00018917278470889873_r8, 0.0001850436757717333_r8, & + 0.00020036820378595551_r8, 0.00020270945112146169_r8, & + 0.0002008932107642205_r8, 0.00021057036641764607_r8, & + 0.00020739194579247401_r8, 0.0002151819141997037_r8, & + 0.00024947764032042142_r8, 0.00029870059187721472_r8, & + 0.00035965815886712091_r8, 0.00047192451594908964_r8, & + 0.00072287785155976956_r8, 0.0010405212627878978_r8, & + 0.0013578241289490434_r8, 0.0016901251674352193_r8, & + 0.0023471075485338331_r8, 0.0028747537510679707_r8, & + 0.0034268056834025349_r8, 0.0038818448397803977_r8, & + 0.0041612053097285521_r8, 0.0042202615000944705_r8, & + 0.0040093647779876332_r8, 0.0036600932436634862_r8, & + 0.0033047060875114396_r8, 0.0029888505378849713_r8, & + 0.002823374014086953_r8, 0.0027739240324855044_r8, & + 0.0031267854793907619_r8, 0.0036048965640567039_r8, & + 0.0039457396079730298_r8, 0.0041393962360638682_r8, & + 0.0042477463248755355_r8, 0.0043250358657028207_r8, & + 0.0047189897506906596_r8, 0.0059564595772168948_r8, & + 0.0077179856936961571_r8, 0.0097153960265721154_r8, & + 0.011258192884403936_r8, 0.012280239577308021_r8, 0.012896303340201991_r8, & + 0.013158968182830525_r8, 0.013219273089118399_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,84) / & + 0.00022678551973583536_r8, 0.00020199676104888889_r8, & + 0.0002164350175087407_r8, 0.00023653442794376958_r8, & + 0.00023730570232730861_r8, 0.00022788072936046083_r8, & + 0.00024747109870235388_r8, 0.00028560290422452672_r8, & + 0.00037101382945764607_r8, 0.00051255810432474056_r8, & + 0.0006678156377311604_r8, 0.00085412467781886424_r8, & + 0.001265599561436971_r8, 0.0016276203315825513_r8, & + 0.0019287721273792261_r8, 0.0022076340934916211_r8, & + 0.0026896497322282139_r8, 0.0030932267661588804_r8, & + 0.0035572100098083289_r8, 0.0040067395715102554_r8, & + 0.0042926818364635386_r8, 0.0043354875647499576_r8, & + 0.0041016988736115893_r8, 0.0037162159367187492_r8, & + 0.0032958713976899419_r8, 0.0029194586475475228_r8, & + 0.0027153023182247241_r8, 0.0025944127713488064_r8, & + 0.0030009052224492508_r8, 0.003555929694331654_r8, & + 0.0039756109373906175_r8, 0.004174044410787555_r8, & + 0.0042570181089686904_r8, 0.00427159519481758_r8, 0.0046186686674101717_r8, & + 0.0060560156085736295_r8, 0.0082817129481277379_r8, & + 0.010763982424109959_r8, 0.012450821202860641_r8, 0.01333008942558288_r8, & + 0.013892626109960952_r8, 0.014319418502836148_r8, 0.014562927420416314_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,84) / & + 0.00024051016064316049_r8, 0.00020803670701700737_r8, & + 0.00021791703436452339_r8, 0.00026305330212914561_r8, & + 0.00026728534790700244_r8, 0.0002627367317756839_r8, & + 0.00033384843012171844_r8, 0.00050801210931832096_r8, & + 0.00073359347855612837_r8, 0.00096039114441513068_r8, & + 0.0011496335693950417_r8, 0.0013152331874506269_r8, & + 0.0016309871226323751_r8, 0.0018707475113857576_r8, & + 0.0021054094512886509_r8, 0.0023557832776817775_r8, & + 0.0028670777217175702_r8, 0.0033045113038114755_r8, & + 0.0037786503853093917_r8, 0.0042075199062622803_r8, & + 0.0044419152606043647_r8, 0.0044276862562961372_r8, & + 0.0040568490796120491_r8, 0.0036248138551245421_r8, & + 0.0032147386162087502_r8, 0.002884405783170211_r8, & + 0.0026832003311489578_r8, 0.0025990426019207894_r8, & + 0.0030941752963324835_r8, 0.0037113708543999998_r8, & + 0.0042124017543446112_r8, 0.0044655247443335889_r8, & + 0.0045339039406813225_r8, 0.004509994548196187_r8, & + 0.0046578995496530159_r8, 0.0057116123019491545_r8, & + 0.0083526421296974997_r8, 0.011469843753844937_r8, 0.013668324889051333_r8, & + 0.014548640395638199_r8, 0.015121343537675011_r8, 0.015497884395740617_r8, & + 0.015695572950053985_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,84) / & + 0.00027906105425561816_r8, 0.0002498340980216889_r8, & + 0.00023487161460983047_r8, 0.00027748605600173826_r8, & + 0.00028793831714112267_r8, 0.00029933915677432104_r8, & + 0.00044926825191922307_r8, 0.00076194120072923133_r8, & + 0.0010138335351054224_r8, 0.0011951015159610472_r8, & + 0.0013205286496336592_r8, 0.0014287560864656066_r8, & + 0.0016019522012700974_r8, 0.0018523411282221304_r8, & + 0.0021302567292021996_r8, 0.002450106658691819_r8, 0.003058020189274575_r8, & + 0.0036152474124142887_r8, 0.0041009017035396221_r8, & + 0.0044555805716889026_r8, 0.0045731864072144071_r8, & + 0.0044876174679894121_r8, 0.0040926150649993219_r8, & + 0.0036853885278342324_r8, 0.0032947352677497417_r8, & + 0.0029444413379209216_r8, 0.00271502852407738_r8, 0.0026124388650860253_r8, & + 0.0030431829898147291_r8, 0.0036088400331541859_r8, & + 0.0041785240606654946_r8, 0.0045763006083073066_r8, & + 0.0048672099448818836_r8, 0.0049585240481920525_r8, & + 0.004967240231710684_r8, 0.0054396438272991138_r8, & + 0.0082201300202841901_r8, 0.012103423087234489_r8, 0.014810973949147427_r8, & + 0.01574988947071972_r8, 0.016197745481662005_r8, 0.016431877361651602_r8, & + 0.01653254189848747_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,84) / & + 0.00030036266413690203_r8, 0.00027007383133471603_r8, & + 0.00020800372798014153_r8, 0.00020314373838332836_r8, & + 0.00023264808467579257_r8, 0.00025914842165054153_r8, & + 0.00044491865391612837_r8, 0.00078486918606801624_r8, & + 0.00099719715676028272_r8, 0.0011644841215041315_r8, & + 0.0012701601945088524_r8, 0.0013652361327236738_r8, & + 0.0015505854210084342_r8, 0.0018339189877391796_r8, & + 0.0021802028134207739_r8, 0.0025728861460798157_r8, & + 0.0031969738652894803_r8, 0.0038085672017955279_r8, & + 0.0042823779198501912_r8, 0.0045634919637729428_r8, & + 0.0046424763616298133_r8, 0.0045198668603054866_r8, & + 0.0041634229776321306_r8, 0.0037844203243499451_r8, & + 0.0034056664106927917_r8, 0.0030774066409174905_r8, & + 0.0028631270208595745_r8, 0.0028071606052269826_r8, & + 0.0032427610901129998_r8, 0.0038495901061087866_r8, & + 0.0044495118140555588_r8, 0.0049360130364412697_r8, & + 0.0053736266722485765_r8, 0.0056725454165291699_r8, & + 0.0058870345518866347_r8, 0.0061301913390396081_r8, & + 0.007207350085040822_r8, 0.0072392989131647989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,84) / & + 0.00033799820186571848_r8, 0.00031544869246625184_r8, & + 0.00021070652685463708_r8, 0.00020512516680454323_r8, & + 0.00025440002067745189_r8, 0.00032382073254139262_r8, & + 0.00063983978296896778_r8, 0.0010067225415902816_r8, & + 0.0011935351438509038_r8, 0.0013723016248714274_r8, & + 0.0014812399954842073_r8, 0.0015958819457102225_r8, & + 0.0017829186171699361_r8, 0.002030250273112415_r8, & + 0.0023245549811553188_r8, 0.0026468683390846424_r8, & + 0.0032363536620396245_r8, 0.0038268167414997347_r8, & + 0.0043223355903266765_r8, 0.004652165451389155_r8, & + 0.0047500225816105085_r8, 0.0046553431600308151_r8, & + 0.0043347612459126517_r8, 0.0039823818754507068_r8, & + 0.0036339542708636445_r8, 0.0033562306835535007_r8, & + 0.0032010525782191408_r8, 0.0031971415521986372_r8, & + 0.0036333635429751311_r8, 0.0042237247727992889_r8, & + 0.0048245357752719799_r8, 0.0053757663749639112_r8, & + 0.0058293842835607703_r8, 0.0061895653361365337_r8, & + 0.0065151786222706568_r8, 0.0068130509775614287_r8, & + 0.0071131800297859092_r8, 0.0073705380548903269_r8, & + 0.0076534807085455415_r8, 0.0079177652363919999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,84) / & + 0.00032752591594350616_r8, 0.00031147263040052673_r8, & + 0.00021055083124674895_r8, 0.00024241973592493824_r8, & + 0.00029403655848506989_r8, 0.0004507235393164114_r8, & + 0.00087044241543743199_r8, 0.0012331429597308308_r8, & + 0.0014071795883293496_r8, 0.0015903771766455305_r8, & + 0.0017079140183061069_r8, 0.0018455444744417447_r8, & + 0.0020555119426876045_r8, 0.0022630811408186993_r8, & + 0.0024743449712887567_r8, 0.0027015324510793739_r8, & + 0.0031980175769099587_r8, 0.0037453417079661554_r8, & + 0.0042169798911662884_r8, 0.0045678619331824188_r8, & + 0.0046977574280470114_r8, 0.0046412360350719991_r8, & + 0.0043997237527039993_r8, 0.004120984268464461_r8, & + 0.0038791911076145507_r8, 0.0036819279891658267_r8, & + 0.0035760800135600989_r8, 0.0035843551257578933_r8, & + 0.0038655576982234074_r8, 0.0044511893330046416_r8, & + 0.0050475159561355057_r8, 0.0055657367552584694_r8, & + 0.0060101081196763124_r8, 0.006430280722575803_r8, & + 0.0068529812318124765_r8, 0.0072135643844730216_r8, & + 0.0075749901725792905_r8, 0.007932464756656394_r8, & + 0.0082328615923039326_r8, 0.0084210744819749779_r8, & + 0.0085571129590006519_r8, 0.0086117634234942411_r8, & + 0.0086821137604958798_r8, 0.0086226885161386664_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,84) / & + 0.00021809681907663541_r8, 0.00021023912052590618_r8, & + 0.00012540338675437034_r8, 0.00014070762521073248_r8, & + 0.0001748109506067753_r8, 0.00028568673190107653_r8, & + 0.00056034070682540245_r8, 0.00087097106319565423_r8, & + 0.0011203159392996081_r8, 0.0013207786209310022_r8, & + 0.0014580599240992655_r8, 0.0016094805162294519_r8, & + 0.0018788351130614254_r8, 0.0021165533363679346_r8, & + 0.002326586877571292_r8, 0.002569741531851852_r8, 0.0030830045738137286_r8, & + 0.003601041624488112_r8, 0.0040438823274037729_r8, & + 0.0043900550644279035_r8, 0.0045021414795105444_r8, & + 0.0044960883105688489_r8, 0.0043868800060018831_r8, & + 0.0042266880294429751_r8, 0.0040968304240333953_r8, & + 0.0039803354745894456_r8, 0.0039060984970026142_r8, & + 0.0039326639139052252_r8, 0.0042126172669219022_r8, & + 0.0047970335966323885_r8, 0.0053660771614456627_r8, & + 0.0058650638615639177_r8, 0.006358180129916075_r8, & + 0.0068560247226868406_r8, 0.0073569301631488792_r8, & + 0.007866721198774386_r8, 0.008290762814750368_r8, 0.008644724723884379_r8, & + 0.0089126924760801144_r8, 0.0090219582123308422_r8, & + 0.0090848260007479892_r8, 0.0091170459911280206_r8, & + 0.0091992635253845319_r8, 0.0091141536858495992_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,84) / & + 0.00020042740984983699_r8, 0.0002154763203683555_r8, & + 0.00016505645056711109_r8, 0.00017719189200924443_r8, & + 0.0001873288381345185_r8, 0.00022975472666832592_r8, & + 0.00028342516114157037_r8, 0.00035777881823146658_r8, & + 0.00051691201761848871_r8, 0.00073441091156053323_r8, & + 0.00086106254248438522_r8, 0.0009932280942222219_r8, & + 0.0012513710856926813_r8, 0.0015052522257042963_r8, & + 0.0017207285460726514_r8, 0.0019869618318378666_r8, & + 0.0025717745337159106_r8, 0.0032274977019572148_r8, & + 0.0037714255237385474_r8, 0.0041932043486231701_r8, & + 0.0043676031628401774_r8, 0.0044016016614836142_r8, 0.00432647750017517_r8, & + 0.0042180771879281763_r8, 0.0041490448255976304_r8, & + 0.0041275910987624287_r8, 0.0041479372257834666_r8, & + 0.0043381554547375399_r8, 0.0046745527809042946_r8, & + 0.0051768252183703699_r8, 0.0057194046577692444_r8, & + 0.0062896740925221925_r8, 0.0069175146393547857_r8, & + 0.0075430436735317323_r8, 0.0080765215318490055_r8, & + 0.0085309745512514371_r8, 0.0088546489265094157_r8, & + 0.0090426495480094796_r8, 0.0091968045677969772_r8, & + 0.0092433707125926384_r8, 0.0095995675893503982_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,84) / & + 0.00026734502681866008_r8, 0.00030040558974122136_r8, & + 0.00025195389185930528_r8, 0.00028235644627737285_r8, & + 0.00024504306974762133_r8, 0.00024327106407795882_r8, & + 0.00025370058316225843_r8, 0.00026972457728934978_r8, & + 0.00025124508959144032_r8, 0.00033579507440105347_r8, & + 0.00041523155713535468_r8, 0.00047828964460863211_r8, & + 0.00065047796696641308_r8, 0.00080831304339992749_r8, & + 0.00099341169277953559_r8, 0.0011863324814723685_r8, & + 0.0016830509850454911_r8, 0.002355349936115463_r8, & + 0.0031092117767233317_r8, 0.0037242496302964932_r8, & + 0.0040514884487497472_r8, 0.0042132978807566486_r8, & + 0.0042125637641220737_r8, 0.0041629729197382318_r8, & + 0.0041253557708079676_r8, 0.0041438352585058758_r8, & + 0.0041992230928661863_r8, 0.0045194245173742088_r8, & + 0.004950047209468917_r8, 0.0054785099288957098_r8, & + 0.0060368942297730887_r8, 0.0067275967254408434_r8, & + 0.0074027308855822739_r8, 0.0080028585771635633_r8, & + 0.0085226131544422976_r8, 0.0088958988059400675_r8, & + 0.009196253766947873_r8, 0.0093576834834541295_r8, & + 0.0094597478457308544_r8, 0.0095471235467244099_r8, & + 0.0095951945346127061_r8, 0.0096138117143838245_r8, & + 0.0096153077934563562_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,84) / & + 0.00027965616991510123_r8, 0.00030559598554284767_r8, & + 0.00027423987269088393_r8, 0.00020239428304023705_r8, & + 0.00018917214569876545_r8, 0.00019636732485446584_r8, & + 0.00023632579212136298_r8, 0.00027238133932963289_r8, & + 0.00024628222084235066_r8, 0.0002431492646048132_r8, & + 0.00027607185557554571_r8, 0.00034897946428976459_r8, & + 0.00048388243583999998_r8, 0.00061159022823453508_r8, & + 0.00074651975026135972_r8, 0.00088612215616790113_r8, & + 0.00122355216314132_r8, 0.0016960709950010996_r8, 0.002357629220176698_r8, & + 0.0030445697009716679_r8, 0.0035043177535919929_r8, 0.00372452740642365_r8, & + 0.003808320710539484_r8, 0.0038491287930572378_r8, & + 0.0038858215517036505_r8, 0.0039382587429675191_r8, & + 0.0040619043124438901_r8, 0.0044379121619015638_r8, & + 0.0048608612539691193_r8, 0.0054811334880483561_r8, & + 0.0061472318447207235_r8, 0.0069327807955683546_r8, & + 0.0076872391383299146_r8, 0.0082068054147059356_r8, & + 0.0086975909744591556_r8, 0.0090732536677211664_r8, & + 0.0093769911199027643_r8, 0.0096087502300507641_r8, & + 0.0097832134117190588_r8, 0.0099299313453515316_r8, 0.01000232548681314_r8, & + 0.010078486571963988_r8, 0.010081859013500359_r8, 0.0101679829184512_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,30,84) / & + 0.00026997447413412343_r8, 0.0002908699871589135_r8, & + 0.00026458387635911108_r8, 0.00019834065421669135_r8, & + 0.00021209501451891353_r8, 0.00022137573439960496_r8, & + 0.00022009755142202465_r8, 0.00027280870595397527_r8, & + 0.00026383363852444436_r8, 0.0002978722069491358_r8, & + 0.0003455262027437038_r8, 0.00041816033977402461_r8, & + 0.00053483621635792584_r8, 0.00064723295862558015_r8, & + 0.00076622554185634564_r8, 0.0008780283458382222_r8, & + 0.0011326021044218272_r8, 0.0014437562997032098_r8, & + 0.0019068058699181233_r8, 0.0023687022967945675_r8, & + 0.0027785023473646908_r8, 0.0030274840554213823_r8, & + 0.0031084611150390615_r8, 0.003249481514693234_r8, & + 0.0033247241175283454_r8, 0.003412616563853531_r8, & + 0.0035763698645627654_r8, 0.0038897435134383688_r8, & + 0.0043214567607627154_r8, 0.0051058964100495806_r8, & + 0.0059331477462497206_r8, 0.0067964417584236402_r8, & + 0.0075521434283682262_r8, 0.0081894799957472064_r8, & + 0.0086680936269459552_r8, 0.0091084822435171988_r8, & + 0.0094918736245936282_r8, 0.009773363356349608_r8, & + 0.0099934339150876302_r8, 0.010250767675610093_r8, 0.010272214752376293_r8, & + 0.010176601108336_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,84) / & + 0.00029095253089843614_r8, 0.00029713436522076699_r8, & + 0.00026924355402940575_r8, 0.00026300367431437684_r8, & + 0.00029559616231427153_r8, 0.00030642162805243783_r8, & + 0.00028041729212375963_r8, 0.00035311914647793242_r8, & + 0.00040080343657929201_r8, 0.00045963244207865674_r8, & + 0.00051970942352102709_r8, 0.00059125037002124095_r8, & + 0.00069787975640736122_r8, 0.0008245057805779224_r8, & + 0.0009425701093255369_r8, 0.0010600539841461728_r8, & + 0.0012777242067634567_r8, 0.0015495471529308772_r8, & + 0.0019170579289608553_r8, 0.0022663896135652478_r8, & + 0.0025326148071743602_r8, 0.0026279833873770796_r8, & + 0.0027590317449038147_r8, 0.0028411296972009675_r8, & + 0.0029150142264313607_r8, 0.0029957227171408061_r8, & + 0.003094849736520717_r8, 0.0033071616438245725_r8, & + 0.0037456873299834396_r8, 0.004464019276855434_r8, & + 0.0053735625942607119_r8, 0.006284060032808461_r8, & + 0.0071053240818566912_r8, 0.0079332665642922792_r8, & + 0.0086481351706174589_r8, 0.0092260653020615636_r8, & + 0.0097234894316313696_r8, 0.010004306274477365_r8, 0.010270029375439643_r8, & + 0.010436938902142576_r8, 0.010577597399997866_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,84) / & + 0.00031723332450280819_r8, 0.00031829238272081643_r8, & + 0.000336678389855595_r8, 0.00032459756146874398_r8, & + 0.0003400862879071144_r8, 0.00034389889749194397_r8, & + 0.00039754776093561806_r8, 0.00049113446625053813_r8, & + 0.0005421659429554205_r8, 0.00059975979826117521_r8, & + 0.00065739904177627301_r8, 0.0007177199719933992_r8, & + 0.00082436713454682789_r8, 0.00092759505199640146_r8, & + 0.0010289960940199109_r8, 0.0011436429284700806_r8, & + 0.0013946926790489316_r8, 0.0017297295286666135_r8, & + 0.002101458963187502_r8, 0.0024243128609473114_r8, & + 0.0026278260269407073_r8, 0.0027199057356382681_r8, & + 0.0027931855399587059_r8, 0.0028358785542042498_r8, & + 0.002880503269026008_r8, 0.0029265641964719832_r8, & + 0.0029645762814610962_r8, 0.003113201593962913_r8, 0.003567063911103798_r8, & + 0.0043012363525139546_r8, 0.005183810083192672_r8, & + 0.0062032973473551802_r8, 0.0071485068069275246_r8, & + 0.0080946126836344001_r8, 0.0089198724529649786_r8, & + 0.0094313067958442659_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,84) / & + 0.00030921708635464683_r8, 0.00032748413769765917_r8, & + 0.00037066366768260736_r8, 0.00035869559956132341_r8, & + 0.00038839530545177275_r8, 0.00042278775384240976_r8, & + 0.00047648658580764429_r8, 0.00059068715161758015_r8, & + 0.00065814926192229116_r8, 0.00071392675835069619_r8, & + 0.00075685432900677522_r8, 0.00079606549956203441_r8, & + 0.00086973210834014817_r8, 0.0009477450155412541_r8, & + 0.0010452847707297182_r8, 0.0011710754656676344_r8, & + 0.0015037247696071104_r8, 0.0019159617265531257_r8, & + 0.0023540875045404441_r8, 0.0026467382650219454_r8, & + 0.0028315189378313481_r8, 0.0028980991904850165_r8, & + 0.0029297437074451748_r8, 0.002945747061692879_r8, & + 0.0029602425968318804_r8, 0.0029895564899999993_r8, & + 0.0030018749390629922_r8, 0.0031185911612971054_r8, & + 0.0033576561340658336_r8, 0.0037664488969716822_r8, & + 0.0043028489365838545_r8, 0.0051105028780462219_r8, & + 0.0065661365979830834_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,84) / & + 0.00034459224160668969_r8, 0.00039035021593858112_r8, & + 0.00038599698948211354_r8, 0.00050988392284850035_r8, & + 0.00056038789594872111_r8, 0.00062529352048387157_r8, & + 0.00061622702628506343_r8, 0.00078574100987938774_r8, & + 0.00086292076916021727_r8, 0.00091944725104231768_r8, & + 0.00097004941722050365_r8, 0.0010197678456970009_r8, & + 0.0011000243214207472_r8, 0.0012016868881409581_r8, & + 0.001318863961179707_r8, 0.0014757764997684673_r8, & + 0.0019148959444298794_r8, 0.0023948309784989235_r8, & + 0.0027762128933166621_r8, 0.002943337512013827_r8, & + 0.0030088977570687471_r8, 0.0030165240861240623_r8, & + 0.0030042499513783837_r8, 0.0029894227966056034_r8, & + 0.0029870988937604208_r8, 0.0029974091669467914_r8, & + 0.0030050354960021067_r8, 0.0030839499996603258_r8, & + 0.003251794700929238_r8, 0.0035693913274728018_r8, & + 0.0040395053002974819_r8, 0.0045629239699783043_r8, & + 0.0050723450994986305_r8, 0.0047224733433999999_r8, & + 0.0049577685064746664_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,84) / & + 0.00042696689786469132_r8, 0.00048284283636806577_r8, & + 0.00048304663918327569_r8, 0.00075152288108641955_r8, & + 0.00083467442969204929_r8, 0.00091585588441731665_r8, & + 0.00087985072039690527_r8, 0.0010521660006568559_r8, & + 0.0012352148958511932_r8, 0.0013731894017482793_r8, & + 0.001478385621532444_r8, 0.0015646621466379586_r8, & + 0.0017075279201000818_r8, 0.0019022954771689877_r8, & + 0.0021022260388898761_r8, 0.0023082027507953244_r8, & + 0.0026954280996940899_r8, 0.0029661801397004111_r8, & + 0.0030724293406964934_r8, 0.0030911112654240657_r8, & + 0.0030787132608321314_r8, 0.003056294951159045_r8, 0.003046953988795259_r8, & + 0.0030398548573987816_r8, 0.0030438969465671106_r8, & + 0.0030464105146213662_r8, 0.0030513357493222714_r8, & + 0.003118692579749136_r8, 0.0033016650488877689_r8, & + 0.0035896384267793242_r8, 0.0039620171045236493_r8, & + 0.0045552302046470211_r8, 0.0052036276481252468_r8, & + 0.005980667490854341_r8, 0.0067874689740976485_r8, & + 0.0086056350130815987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,84) / & + 0.00062063322253985177_r8, 0.00066625662902945173_r8, & + 0.00062112606798032596_r8, 0.00098988006719217766_r8, & + 0.0011060507781610667_r8, 0.0012215174242149922_r8, & + 0.0012906565988643553_r8, 0.0016118510130704586_r8, & + 0.0018365533306808886_r8, 0.0019796545246471109_r8, & + 0.0020832928801296589_r8, 0.0021880929427218958_r8, & + 0.0023357001521438808_r8, 0.0024667266328184884_r8, & + 0.0026087717294122664_r8, 0.0027322647154967702_r8, & + 0.002933803297404918_r8, 0.0030546560400583106_r8, & + 0.0031024268445385477_r8, 0.0031004906660224_r8, 0.0030787350601500438_r8, & + 0.0030458200253755258_r8, 0.0030450807572148151_r8, & + 0.0030469113259937179_r8, 0.0030540223816348444_r8, 0.00306930059028954_r8, & + 0.0031009483082171255_r8, 0.0032176822711179839_r8, & + 0.0034252758112948145_r8, 0.0037547429882517319_r8, & + 0.0042481868839035252_r8, 0.0048536651091487994_r8, & + 0.0054846648074803371_r8, 0.0062923018203883147_r8, & + 0.0071848607859789195_r8, 0.0084178749301943995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,84) / & + 0.0010287558880892312_r8, 0.0010298855081136986_r8, & + 0.00089247269804057299_r8, 0.0012964758338880262_r8, & + 0.0014428527254456362_r8, 0.001604461267655743_r8, & + 0.0018324258764644082_r8, 0.0019951640386989822_r8, & + 0.0020749297881686385_r8, 0.0021327226061946206_r8, & + 0.0021793285420428116_r8, 0.0022302707612107319_r8, & + 0.0023147371875563982_r8, 0.0023645133473442245_r8, & + 0.0024366632714876314_r8, 0.0025017803999948375_r8, & + 0.0026417439649619222_r8, 0.0028000365258098832_r8, & + 0.0029395992578650602_r8, 0.0030393702135744793_r8, & + 0.0030578814062334953_r8, 0.0030214784899611391_r8, & + 0.0030317726079260449_r8, 0.0030388099584816985_r8, & + 0.0030501380431625477_r8, 0.0030595738841618586_r8, & + 0.0030881410375686391_r8, 0.0032118110049477837_r8, & + 0.0034147404750344648_r8, 0.0038673315873951611_r8, & + 0.0045187169536815407_r8, 0.0050382018734174165_r8, & + 0.0057054192287402661_r8, 0.0066351693875882668_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,38,84) / & + 0.0015767182315022221_r8, 0.001557767472351789_r8, & + 0.0014701720150461105_r8, 0.0015284182847211979_r8, 0.00166209083634294_r8, & + 0.001762043846335183_r8, 0.0019856477341240889_r8, & + 0.0021144224752298138_r8, 0.0021833309016436146_r8, & + 0.0022295586978217084_r8, 0.0022659531975022617_r8, 0.00233282714877864_r8, & + 0.0024284851557029919_r8, 0.0024532756120071372_r8, & + 0.0024814427319074205_r8, 0.0025096381084068337_r8, & + 0.0025808211910506701_r8, 0.0026882063593905007_r8, & + 0.0028169084406698889_r8, 0.0029257367138939032_r8, & + 0.0029781321183308608_r8, 0.0030059421286402236_r8, & + 0.0030558650806532307_r8, 0.0030865201268293696_r8, & + 0.0031286489669154461_r8, 0.0031591644793139725_r8, & + 0.0031893748204418846_r8, 0.0032954137636659799_r8, & + 0.0034571327391431468_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,84) / & + 0.0014934262633781727_r8, 0.0015510543065272884_r8, & + 0.0015511321296780641_r8, 0.0015617549897588938_r8, & + 0.0016293833077826369_r8, 0.0018538252746186275_r8, & + 0.0021428604565981229_r8, 0.0022652762727676835_r8, & + 0.0023147717966607801_r8, 0.0023392423136326915_r8, & + 0.0023495142746854714_r8, 0.0024091434845688094_r8, & + 0.0024750874872579154_r8, 0.002455344031846044_r8, & + 0.0024547728655073182_r8, 0.002474277570610204_r8, & + 0.0025233028203207582_r8, 0.0026326890954717626_r8, & + 0.0027831711013763995_r8, 0.0029266313050474663_r8, & + 0.0029894304186257772_r8, 0.0030626668674522662_r8, & + 0.0031030278990231111_r8, 0.0031535185864567466_r8, & + 0.0032272190558197333_r8, 0.0033128439774602666_r8, & + 0.0033847233850951108_r8, 0.0034840938207413331_r8, & + 0.0036387965165887996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,84) / & + 0.00134163160108053_r8, 0.0014250340590324932_r8, 0.0014419442640671602_r8, & + 0.0015744316254498762_r8, 0.0016563931249234565_r8, & + 0.0019039036045975304_r8, 0.0022727604629925922_r8, & + 0.0023237078755970367_r8, 0.0023471942714785184_r8, & + 0.0023569501589985184_r8, 0.0023632734194281471_r8, & + 0.0023930379095933331_r8, 0.0024077530399359997_r8, & + 0.0023332830985333328_r8, 0.0023002214797155549_r8, & + 0.002266617867146666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,84) / & + 0.0015134674642304001_r8, 0.0015117914205269331_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,84) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,84) / & + 0.0035760194555164442_r8, 0.0036841683882770965_r8, & + 0.0035357596338318228_r8, 0.004233004486830695_r8, & + 0.0042766192936557037_r8, 0.0041242634978687995_r8, & + 0.004205769901573452_r8, 0.0043413507716584298_r8, & + 0.0037627145109755261_r8, 0.0033751150512274955_r8, & + 0.0032452573910878814_r8, 0.0030246177800907848_r8, & + 0.0027621395308724149_r8, 0.0028248974882043257_r8, & + 0.0026416067559023996_r8, 0.0027018061846503616_r8, & + 0.0024807154832142222_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,84) / & + 0.0034323223545240237_r8, 0.003656655675338509_r8, & + 0.0035304428180601682_r8, 0.0041651595665596055_r8, & + 0.0042975500449337414_r8, 0.0042422220078203003_r8, & + 0.004208538190604536_r8, 0.0041250726676241118_r8, & + 0.0034568975625328458_r8, 0.00311545999364696_r8, 0.0030367291437691526_r8, & + 0.0029259377931679081_r8, 0.0027696484886567505_r8, & + 0.0028316501602386438_r8, 0.0026415417621373635_r8, & + 0.0027076919091996452_r8, 0.0024809517962246621_r8, & + 0.0026517382188547857_r8, 0.0027292950630551068_r8, & + 0.002918969449455315_r8, 0.0030572267353508238_r8, 0.003072764193205943_r8, & + 0.0032806646554016852_r8, 0.0033838032282533922_r8, & + 0.0033993986616975241_r8, 0.0034968556268260911_r8, & + 0.0036431570256969651_r8, 0.0039497319403905195_r8, & + 0.0040276511320221633_r8, 0.004105299770905086_r8, & + 0.0041175422827847115_r8, 0.0041501844719178975_r8, 0.00419448748452096_r8, & + 0.0042086103380041965_r8, 0.0042246000054536057_r8, & + 0.0042258986586474669_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,84) / & + 0.0030018842934613332_r8, 0.0035888630266879998_r8, & + 0.0035176565300053331_r8, 0.0038871242014719989_r8, & + 0.0043154287309653322_r8, 0.0044233735177386657_r8, & + 0.0040918486704639998_r8, 0.0033945624104959999_r8, & + 0.0026587310592853328_r8, 0.0025468947007999993_r8, & + 0.0025444856325973321_r8, 0.0025518054936746661_r8, & + 0.0025092761742506655_r8, 0.0025599129347413331_r8, & + 0.0025304481774933332_r8, 0.0025853471355733325_r8, & + 0.0025302628645546654_r8, 0.0025908601954986667_r8, & + 0.0026764284449280001_r8, 0.0027949360692053329_r8, & + 0.0029428621224959991_r8, 0.0030359818741759999_r8, & + 0.0031979917108053329_r8, 0.0033523110604799997_r8, & + 0.0035028314949119991_r8, 0.0036469586329599983_r8, & + 0.0038530266207573321_r8, 0.004146052705024_r8, 0.0041701897152853339_r8, & + 0.0041774169198933323_r8, 0.0042005810372266663_r8, 0.004226385863936_r8, & + 0.004251495767125333_r8, 0.0042552020258986665_r8, & + 0.0042737796479999993_r8, 0.0042776885927999992_r8, & + 0.0043642586903039982_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,85) / & + 0.0044395514285714283_r8, 0.0045323006114285714_r8, & + 0.0045851473199999999_r8, 0.0047491432799999997_r8, & + 0.0049034043199999997_r8, 0.0049453393600000003_r8, & + 0.0051243121200000002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,2,85) / & + 0.0044395514285714283_r8, 0.0045323006114285714_r8, & + 0.0045851473199999999_r8, 0.0047491432799999997_r8, & + 0.0049034043199999997_r8, 0.0049453393600000003_r8, & + 0.0051243121200000002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,3,85) / & + 0.0044395514285714283_r8, 0.0045323006114285714_r8, & + 0.0045851473199999999_r8, 0.0047491432799999997_r8, & + 0.0049034043199999997_r8, 0.0049453393600000003_r8, & + 0.0051243121200000002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,4,85) / & + 0.0045438032110112552_r8, 0.0046107594309523813_r8, & + 0.0047286518743209867_r8, 0.0049101293522398589_r8, & + 0.0049384489094003517_r8, 0.004938040976499118_r8, & + 0.0050783190473633168_r8, 0.0052935336162698403_r8, & + 0.0054012804002380958_r8, 0.005649656067460318_r8, & + 0.0058190514015873012_r8, 0.0059103415350793649_r8, & + 0.0060635500388571423_r8, 0.0062069777611375642_r8, & + 0.0063372273852116395_r8, 0.0067189733384391531_r8, & + 0.0075873075994338617_r8, 0.0077009804218518526_r8, & + 0.0078618478947407415_r8, 0.0080166747249629626_r8, & + 0.0082529295847407411_r8, 0.0085224676090370367_r8, & + 0.0086324680448148158_r8, 0.0087538771966666658_r8, & + 0.0088688726725925909_r8, 0.0089408514507407413_r8, & + 0.0089843673751851851_r8, 0.0090159503955555536_r8, & + 0.0090314541570370374_r8, 0.0090381313137037032_r8, & + 0.0090134334611111089_r8, 0.0090237924144444415_r8, & + 0.0089245919155555558_r8, 0.0088506092970370379_r8, & + 0.008814290557037037_r8, 0.0088976336755555545_r8, & + 0.0091477046333333333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,85) / & + 0.0050295515027160486_r8, 0.0051352488819753081_r8, & + 0.0051546077827160485_r8, 0.0052273746918518518_r8, & + 0.0050329813748148143_r8, 0.0051946661002469146_r8, & + 0.0055860598069135802_r8, 0.0058475991106172838_r8, & + 0.006141172125432099_r8, 0.0065827288671604931_r8, 0.006895013637037037_r8, & + 0.0071596962197530865_r8, 0.0074633924419753072_r8, & + 0.0076111358004938264_r8, 0.0077333353945679001_r8, & + 0.0078681265945678997_r8, 0.0082345867027160489_r8, & + 0.0083387771570370365_r8, 0.0085084217743209879_r8, & + 0.0086188063372839505_r8, 0.0087160723328395043_r8, & + 0.0088968940804938276_r8, 0.0089555624587654321_r8, & + 0.0090100059002469132_r8, 0.0090575063930864175_r8, 0.0090819962345679_r8, & + 0.0090933027940740714_r8, 0.009100717234567901_r8, & + 0.0091113951382716038_r8, 0.0091098789683950621_r8, & + 0.009111903609876541_r8, 0.0091087880656790122_r8, & + 0.0089392174079012347_r8, 0.008884182290370371_r8, & + 0.0089095319111111102_r8, 0.008968074327098766_r8, & + 0.0091927979753703686_r8, 0.0092924082561481464_r8, & + 0.0091328193582222213_r8, 0.0089539266825000002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,85) / & + 0.0050006333358024683_r8, 0.0050608363738271602_r8, & + 0.0050034807767901229_r8, 0.0051957570029629628_r8, & + 0.0051030025372839497_r8, 0.0052921724641975306_r8, & + 0.0056554245787654323_r8, 0.0059429976286419746_r8, & + 0.0062111285733333329_r8, 0.0067798494409876545_r8, & + 0.007207039548641974_r8, 0.0076636655397530852_r8, & + 0.0081204394498765441_r8, 0.0082743861619753081_r8, & + 0.008397427045432098_r8, 0.0085063971328395056_r8, & + 0.0087840133841975317_r8, 0.0088583611777777755_r8, & + 0.0089543513718518524_r8, 0.0090316852804938272_r8, & + 0.0090625541293827168_r8, 0.0091513240266666643_r8, & + 0.0091720789130864191_r8, 0.0091849201323456805_r8, & + 0.0091914932834567913_r8, 0.0091958661392592591_r8, & + 0.0092028275777777772_r8, 0.0091913176296296289_r8, & + 0.0091720789130864191_r8, 0.0091781435925925945_r8, & + 0.009189921643950617_r8, 0.0091491699560493824_r8, & + 0.0090811919249382724_r8, 0.0090560456928395049_r8, & + 0.0090271829955555563_r8, 0.0090246683723456782_r8, & + 0.0089837965002469156_r8, 0.0088989395230864177_r8, & + 0.0088425465552469142_r8, 0.0087946746139947098_r8, & + 0.0085792726700000006_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,85) / & + 0.0037563940735802466_r8, 0.00382133052_r8, 0.0038615275116049381_r8, & + 0.0044013949269135792_r8, 0.0045382569930864196_r8, & + 0.0048034480474074071_r8, 0.0051604228488888893_r8, & + 0.0056755323195061729_r8, 0.0058841998212345661_r8, & + 0.0062164444128395054_r8, 0.0066244512735802469_r8, & + 0.0072614645002469129_r8, 0.0077013663980246908_r8, & + 0.0078917936365432099_r8, 0.0080327049856790123_r8, & + 0.0081227414395061721_r8, 0.0082982750824691347_r8, & + 0.008347800216790123_r8, 0.0084217597229629629_r8, & + 0.0085183785728395068_r8, 0.0086129542913580236_r8, & + 0.0086852681985185171_r8, 0.0087081771555555573_r8, & + 0.0087769872311111111_r8, 0.008841692554074073_r8, & + 0.0088854488469135798_r8, 0.0089258954518518507_r8, & + 0.0089920152503703693_r8, 0.0090404217471604931_r8, & + 0.0090799900829629625_r8, 0.00909546610962963_r8, 0.0090653923254320982_r8, & + 0.0089963511264197511_r8, 0.0089361573333333333_r8, & + 0.0088689836118518509_r8, 0.008744331797901234_r8, 0.008626253465238095_r8, & + 0.0085614788052380941_r8, 0.0085951994864603178_r8, & + 0.0085987022945185169_r8, 0.0085748240057037049_r8, & + 0.0085551225799999995_r8, 0.008733970533333333_r8, & + 0.0086825501866666654_r8, 0.0088535353199999996_r8 & + / +data delta_sa_ref(:,8,85) / & + 0.0021867422291358021_r8, 0.0022659343703703701_r8, & + 0.0022359530355555556_r8, 0.0027405417664197532_r8, & + 0.0029170368829629627_r8, 0.0030975905274074076_r8, & + 0.0036049157600000002_r8, 0.0045074343688888876_r8, & + 0.0050986574162962955_r8, 0.0055807624572839507_r8, & + 0.005923906831111111_r8, 0.0063474451881481474_r8, & + 0.0067859418553086409_r8, 0.0071533357022222207_r8, & + 0.0074060460898765432_r8, 0.0075357803086419746_r8, & + 0.0077500040182716052_r8, 0.0078450327387654308_r8, & + 0.0079725851520987649_r8, 0.0080850498261728406_r8, & + 0.0081759183244444443_r8, 0.0082536312755555549_r8, & + 0.0082549810365432075_r8, 0.0083578494646913571_r8, & + 0.0085078208533333338_r8, 0.0085928188158024676_r8, & + 0.0086681777745061719_r8, 0.0088136064316049374_r8, & + 0.008901626333271604_r8, 0.008982730690934743_r8, 0.0090407263348589052_r8, & + 0.0090676304259347442_r8, 0.0090734203987037024_r8, & + 0.0090543141159012321_r8, 0.0090098145300246905_r8, & + 0.0089538417446296294_r8, 0.0088986294214426827_r8, & + 0.0088852108557883596_r8, 0.0088316622582962946_r8, & + 0.0086419724191666662_r8, 0.0086530562912222209_r8, & + 0.0086383062233333328_r8, 0.0086267283248888885_r8, & + 0.0084794585383333333_r8, 0.0085201559122222228_r8 & + / +data delta_sa_ref(:,9,85) / & + 0.0010787178874074074_r8, 0.0011123139930864197_r8, & + 0.0010136612567901234_r8, 0.0016201107175308641_r8, & + 0.0016459225851851852_r8, 0.0017155277254320988_r8, & + 0.0019681364187654322_r8, 0.0025446600143209878_r8, & + 0.0031544376528395059_r8, 0.0037403725955555554_r8, & + 0.0042684342246913582_r8, 0.0047681786079012342_r8, & + 0.0053768745886419748_r8, 0.00588542015308642_r8, 0.0061824692646913594_r8, & + 0.0064121227762962956_r8, 0.0067830481896296304_r8, & + 0.0070338448750617288_r8, 0.007201594280000001_r8, & + 0.0073418030138271608_r8, 0.00744013217728395_r8, 0.0075528464646913577_r8, & + 0.007641745791111109_r8, 0.0077332706800000003_r8, & + 0.0078474826474074066_r8, 0.0079346069456790111_r8, & + 0.0080414229624691368_r8, 0.0082717605995061717_r8, & + 0.0084808995930864186_r8, 0.0086240297274074069_r8, & + 0.0087462293214814815_r8, 0.0088405184469135794_r8, & + 0.0089393687937654332_r8, 0.0089798315773456788_r8, & + 0.0090167116171693124_r8, 0.0090246909894268063_r8, & + 0.0090140030483615505_r8, 0.0089860354261904769_r8, & + 0.0090104150713095233_r8, 0.0086735291608000011_r8, & + 0.0087036737149999988_r8, 0.0086706935533333342_r8, & + 0.0085879883355555551_r8, 0.0084001127000000002_r8, 0.0084083499400000004_r8 & + / +data delta_sa_ref(:,10,85) / & + 0.00055482572543209872_r8, 0.00056492119802469139_r8, & + 0.00053502306765432109_r8, 0.00061170058567901219_r8, & + 0.00062386692444444454_r8, 0.00067879110271604941_r8, & + 0.00081042053382716071_r8, 0.001042033972345679_r8, & + 0.0013617978972839506_r8, 0.0016967974804938269_r8, & + 0.0019807557595061726_r8, 0.0023102176246913579_r8, & + 0.0026886314380246915_r8, 0.0031497319792592594_r8, & + 0.0035552981762962958_r8, 0.0039339708479012346_r8, & + 0.0045536867950617278_r8, 0.0050575174409876536_r8, & + 0.0054862699432098759_r8, 0.0057795193851851836_r8, & + 0.0059839064804938268_r8, 0.0061038595545679008_r8, & + 0.0062173966414814808_r8, 0.0062900526113580232_r8, & + 0.0063401047071604934_r8, 0.0063871059733333346_r8, & + 0.0064584399170370364_r8, 0.0067125370454320975_r8, & + 0.0071448673387654324_r8, 0.0076360693990123463_r8, & + 0.0080467018222222207_r8, 0.0083093505185185199_r8, & + 0.008522043695599649_r8, 0.0087195654337125211_r8, & + 0.0088701204751181657_r8, 0.0090017462082539676_r8, & + 0.0090706129420740737_r8, 0.0090934622032239863_r8, & + 0.0091927717263492071_r8, 0.009180778399999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,85) / & + 0.00028491975259259259_r8, 0.00027974258716049382_r8, & + 0.0002228307471604938_r8, 0.00025398618913580244_r8, & + 0.00025810018666666665_r8, 0.00027709853481481481_r8, & + 0.0003989653111111112_r8, 0.00050241617037037026_r8, & + 0.00063019970716049381_r8, 0.00076993694913580243_r8, & + 0.00087058659209876543_r8, 0.00099487554222222208_r8, & + 0.0011547390148148146_r8, 0.0013890981999999997_r8, & + 0.0016301414755555558_r8, 0.0018571047101234568_r8, & + 0.0023310742054320987_r8, 0.0028472838237037033_r8, & + 0.0033557369387654324_r8, 0.0038557401802469132_r8, & + 0.0042911860177777782_r8, 0.0046068451901234569_r8, & + 0.004881003834567901_r8, 0.005105396976296298_r8, 0.0052496087683950596_r8, & + 0.0053282739481481474_r8, 0.0053581443437037022_r8, & + 0.0053571366454320986_r8, 0.0054898384893827161_r8, & + 0.0058340367861728394_r8, 0.0064929142918518498_r8, & + 0.007221267508641974_r8, 0.0078097078296296297_r8, & + 0.0081969875387654309_r8, 0.008539281378271606_r8, & + 0.0088582594834567888_r8, 0.0091415085436331554_r8, & + 0.0092714543724320992_r8, 0.009316534540432098_r8, & + 0.0094767366088888885_r8, 0.0094533561599999989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,85) / & + 0.00012770957728395062_r8, 0.00012135830469135801_r8, & + 6.5167569876543207e-05_r8, 0.00013449536197530863_r8, & + 0.00013502232345679008_r8, 0.00014180810814814815_r8, & + 0.0002072807609876543_r8, 0.00023935145185185184_r8, & + 0.00027688590123456787_r8, 0.00033010901086419754_r8, & + 0.00037410567209876549_r8, 0.00043925475209876535_r8, & + 0.00053571643802469127_r8, 0.00064111797925925915_r8, & + 0.00075906490172839502_r8, 0.00088717201135802475_r8, & + 0.0011906186202469136_r8, 0.0015374887041975311_r8, & + 0.0019174926469135805_r8, 0.0023669075861728396_r8, & + 0.0028606797392592589_r8, 0.0033428217599999997_r8, & + 0.0037719533046913583_r8, 0.0042147303782716049_r8, & + 0.0045584202034567901_r8, 0.004772643913086419_r8, & + 0.0049004459397530859_r8, 0.0048860608158024692_r8, & + 0.0047888317999999997_r8, 0.0047703696582716048_r8, & + 0.0050014099106172839_r8, 0.0056262845333333337_r8, & + 0.006464791189629629_r8, 0.0071784449545678995_r8, & + 0.0077526203358024692_r8, 0.0083386516900176375_r8, & + 0.0088788014061199298_r8, 0.009220737334444444_r8, & + 0.0093257382231666658_r8, 0.0094765701999999993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,85) / & + 8.5478699259259258e-05_r8, 8.302879061728394e-05_r8, & + 5.7558985679012342e-05_r8, 0.0001067050775308642_r8, & + 0.00011113340296296295_r8, 0.00013043683407407407_r8, & + 0.00015958612444444444_r8, 0.00016977404641975308_r8, & + 0.00018449198814814814_r8, 0.0002051266903703703_r8, & + 0.00022050102271604937_r8, 0.00025709248839506175_r8, & + 0.00030860528444444444_r8, 0.00036146784148148147_r8, & + 0.00044986794123456783_r8, 0.00056186112345679013_r8, & + 0.00083311685728395071_r8, 0.001120283129876543_r8, & + 0.0014160564400000001_r8, 0.001795746054814815_r8, & + 0.0022401964622222222_r8, 0.0027236974888888892_r8, & + 0.0032299965333333338_r8, 0.0037262925545679011_r8, & + 0.0041357138908641976_r8, 0.0044035674874074076_r8, & + 0.0045501552286419744_r8, 0.0044858936627160491_r8, & + 0.0041513193466666664_r8, 0.0038865535595061719_r8, & + 0.0037827606375308636_r8, 0.0039959119343209873_r8, & + 0.0045845556439506165_r8, 0.0054803901624691353_r8, & + 0.0063323204691358012_r8, 0.0071889656943209873_r8, & + 0.0081403244866578486_r8, 0.0089872032599999981_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,85) / & + 0.00010176828049382715_r8, 0.00010095472592592592_r8, & + 9.3623489876543215e-05_r8, 0.00011319502419753085_r8, & + 0.00011679130518518519_r8, 0.00013578965333333333_r8, & + 0.00013136132790123457_r8, 0.00013802692839506172_r8, & + 0.00014997138864197531_r8, 0.0001651053525925926_r8, & + 0.00017925935308641975_r8, 0.00019650116296296294_r8, & + 0.00022367203654320987_r8, 0.00025419882271604933_r8, & + 0.00030841114074074065_r8, 0.00039547996938271598_r8, & + 0.00063062497432098759_r8, 0.00090252785382716042_r8, & + 0.0011782951175308642_r8, 0.0015290943002469136_r8, & + 0.001966379880493827_r8, 0.0024764138800000006_r8, & + 0.0030011473313580244_r8, 0.0035062445338271595_r8, & + 0.0039133731254320991_r8, 0.0042099599901234564_r8, & + 0.0043450655180246904_r8, 0.0042500367975308638_r8, & + 0.0038689789318518517_r8, 0.0035046266696296298_r8, & + 0.0032453153960493824_r8, 0.0031512481491358024_r8, & + 0.0033962390133333337_r8, 0.0040487929812345674_r8, & + 0.0048900823639506166_r8, 0.0058455779359876539_r8, & + 0.006792540760176366_r8, 0.0073674979990476196_r8, & + 0.0075830658566666664_r8, 0.0079021340999999995_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,85) / & + 0.0001199992987654321_r8, 0.00011927819358024692_r8, & + 0.00011876047703703702_r8, 0.00011431366172839506_r8, & + 0.00012288371950617286_r8, 0.00012783900641975308_r8, & + 0.00013572493876543208_r8, 0.00013202696345679011_r8, & + 0.00013307164148148147_r8, 0.00013866482913580243_r8, & + 0.00014885275111111112_r8, 0.00016392200049382714_r8, & + 0.00019986632049382716_r8, 0.00023519122962962962_r8, & + 0.00028355150172839499_r8, 0.00035443244345679013_r8, & + 0.00056722318765432085_r8, 0.00086087016197530862_r8, & + 0.0012127602474074073_r8, 0.0016046809155555555_r8, & + 0.002101050896296296_r8, 0.0026432665259259261_r8, & + 0.0031840491901234569_r8, 0.0036408693249382709_r8, & + 0.003924217438024691_r8, 0.0040947773041975308_r8, & + 0.0041363148118518517_r8, 0.0039900321535802467_r8, & + 0.0036256891362962964_r8, 0.0032683075575308646_r8, & + 0.0029909686543209872_r8, 0.0028246152350617291_r8, & + 0.0029075885560493823_r8, 0.0033577985600000003_r8, & + 0.0041935317348148144_r8, 0.0052763728646913581_r8, & + 0.0062326507896296283_r8, 0.0068851238643209854_r8, & + 0.0071939972519753093_r8, 0.0071700088328333321_r8, & + 0.0074078462114285709_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,85) / & + 0.0001367671973281448_r8, 0.00013560380098333498_r8, & + 0.00013818213882858929_r8, 0.00012527996855416626_r8, & + 0.00012825658622917532_r8, 0.00014718535919067653_r8, & + 0.00015766640734211687_r8, 0.00014080240086644937_r8, & + 0.00014413537417860738_r8, 0.00014905098576163293_r8, & + 0.00015984646535761643_r8, 0.00017417405818063539_r8, & + 0.00022131781276581397_r8, 0.00028066150739926917_r8, & + 0.00036071575317997033_r8, 0.00046508603067201319_r8, & + 0.00077145754918676521_r8, 0.0011900286881626867_r8, & + 0.0016651346008674764_r8, 0.0022101910289349792_r8, & + 0.0028371149241133826_r8, 0.0034364631816053461_r8, & + 0.003892870904407967_r8, 0.0041722956481253662_r8, & + 0.0042457049093780541_r8, 0.0042111908178153615_r8, & + 0.0040942223204452873_r8, 0.0036280357797173722_r8, & + 0.0031019395677558247_r8, 0.0028283842110032324_r8, & + 0.0027638523975348148_r8, 0.0028210789204416785_r8, & + 0.0029895512884279309_r8, 0.0034004922243496024_r8, & + 0.0042584708260265088_r8, 0.0054075605401096684_r8, & + 0.0065009749264123796_r8, 0.0073360733999746899_r8, & + 0.0079304221974984164_r8, 0.008339593333575087_r8, & + 0.0088683715708939587_r8, 0.0094584122833042943_r8, & + 0.0098437480185919989_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,85) / & + 0.00013835620203330368_r8, 0.00014013721005405759_r8, & + 0.00014217599555149958_r8, 0.00016391132369951599_r8, & + 0.00014144953175356046_r8, 0.00016259900200001312_r8, & + 0.00014585518317332015_r8, 0.00012314733090870779_r8, & + 0.00014755417108785511_r8, 0.00015497113212165265_r8, & + 0.00017033232630065512_r8, 0.00020872945316914563_r8, & + 0.00026334312675292177_r8, 0.00035506503982174812_r8, & + 0.0005054078945210469_r8, 0.00068135273951868303_r8, & + 0.0011502851210883685_r8, 0.0016893681277913015_r8, & + 0.0023056203372882169_r8, 0.0029858013610037722_r8, & + 0.0035441239411940612_r8, 0.0039481549844285098_r8, & + 0.0040788247307932974_r8, 0.0040522853678524569_r8, & + 0.0038368068316572959_r8, 0.0036527771476180795_r8, & + 0.0034544290964646442_r8, 0.0028825263301161088_r8, & + 0.0025514580299424131_r8, 0.0026499055917211913_r8, & + 0.002841809205957425_r8, 0.0030554715826577382_r8, & + 0.0032363024825544169_r8, 0.0035748931981841913_r8, & + 0.0043568494565594069_r8, 0.0055401066603477855_r8, & + 0.0069115062706443572_r8, 0.008117799407122225_r8, & + 0.0090857303977698485_r8, 0.0096596719496158268_r8, & + 0.010135721040044761_r8, 0.01049951975653407_r8, 0.010952046359286264_r8, & + 0.011043514010025813_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,85) / & + 0.00016951941715271108_r8, 0.00017415668706488889_r8, & + 0.00017734319097102217_r8, 0.00019077572979484442_r8, & + 0.00017628102300231108_r8, 0.00019648812094364443_r8, & + 0.00016058166229404442_r8, 0.00017074997760426668_r8, & + 0.00016935102466986667_r8, 0.0001906591503836444_r8, & + 0.00022027032082844441_r8, 0.00027933722250311104_r8, & + 0.00040012644577422227_r8, 0.00059472338960284425_r8, & + 0.00085447527102435546_r8, 0.001132698512487111_r8, & + 0.0017712428074332441_r8, 0.002396302750483911_r8, & + 0.0030481111917710219_r8, 0.0035929774531839988_r8, & + 0.0039653450458247115_r8, 0.0040971186402844438_r8, & + 0.0039966401410979546_r8, 0.003767457971946666_r8, & + 0.0034946880562744887_r8, 0.0032673452511665772_r8, & + 0.0031100019058503108_r8, 0.0029081252254556443_r8, & + 0.003013020788999822_r8, 0.0033467746899975104_r8, & + 0.0036100628135587549_r8, 0.0038195948752888886_r8, & + 0.0039504099279231994_r8, 0.0041269111564799996_r8, & + 0.0047064921758947541_r8, 0.0059346174130830206_r8, & + 0.0076204075121066661_r8, 0.0090938935500671988_r8, & + 0.010162732451752532_r8, 0.010773077482456176_r8, 0.011232952171797188_r8, & + 0.01154357347929582_r8, 0.011789054097796266_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,85) / & + 0.00023977210591141391_r8, 0.00023794167617638187_r8, & + 0.00024384445733741553_r8, 0.00024480933502719996_r8, & + 0.00024380188920404279_r8, 0.00024279444338088556_r8, & + 0.00023467811928446413_r8, 0.00023008076088019746_r8, & + 0.00026431972948975138_r8, 0.00031318794660177118_r8, & + 0.00038629162098072748_r8, 0.00049990596895283608_r8, & + 0.00078147998183637855_r8, 0.0011273602548684905_r8, & + 0.0014345460946646909_r8, 0.001742483971483812_r8, & + 0.0023387641943927572_r8, 0.0028902627409934743_r8, & + 0.0034332618502974149_r8, 0.0038602911749159498_r8, & + 0.0041539119695440064_r8, 0.0042198641975163239_r8, & + 0.0040836319813454484_r8, 0.0037676629166966511_r8, & + 0.0034421302114167572_r8, 0.0031773280430821126_r8, & + 0.0029879707964619324_r8, 0.0029558176663876472_r8, & + 0.0033122406471184319_r8, 0.0037972477693907752_r8, & + 0.0041308684200115076_r8, 0.0043516409490608459_r8, & + 0.004501353074133122_r8, 0.0045958968983541978_r8, & + 0.0050031036621987802_r8, 0.0063002540117137375_r8, & + 0.0082423683393383768_r8, 0.010051840363373248_r8, 0.011253467821599552_r8, & + 0.012011031607169287_r8, 0.012532572829908868_r8, 0.012876297331043746_r8, & + 0.013062271323235067_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,85) / & + 0.00026200190808823041_r8, 0.00024478706384763784_r8, & + 0.00026047478480882298_r8, 0.00025526096997609867_r8, & + 0.00025370299572134979_r8, 0.00025009343160638687_r8, & + 0.00022724828436595886_r8, 0.00028774704701076543_r8, & + 0.00040155629504579418_r8, 0.00055093671764964601_r8, & + 0.00073450002093195053_r8, 0.00095593289644602445_r8, & + 0.001324540349827029_r8, 0.0016909419584711109_r8, & + 0.0019458481422307814_r8, 0.0021869176635497612_r8, & + 0.0026425711438569878_r8, 0.0030811486093126586_r8, & + 0.0035398871871540412_r8, 0.0039933502482120166_r8, & + 0.004289272803688295_r8, 0.0043314152360048727_r8, & + 0.0041122036307153897_r8, 0.0037327983359648391_r8, & + 0.0033293138549601977_r8, 0.0029882408970715387_r8, & + 0.0027742431066147817_r8, 0.0026857625093351769_r8, & + 0.0030493721047108479_r8, 0.0036118933636012512_r8, & + 0.0040602351627525256_r8, 0.0043363976685225339_r8, & + 0.004468223886157037_r8, 0.0044641669828996214_r8, 0.004753086366973365_r8, & + 0.0060755442759648391_r8, 0.0083868993485547959_r8, & + 0.010818064183883718_r8, 0.0123799410870134_r8, 0.013193141946041678_r8, & + 0.013676838962934385_r8, 0.014056506490975342_r8, 0.014254084125261687_r8, & + 0.014391332126357332_r8, 0.014392581590858666_r8 & + / +data delta_sa_ref(:,21,85) / & + 0.00024374251056798023_r8, 0.00022148261624035549_r8, & + 0.00023987701993623701_r8, 0.00028992845897829125_r8, & + 0.00028179759937359007_r8, 0.00027010115789305672_r8, & + 0.00025212329413594069_r8, 0.00045621120253345175_r8, & + 0.00067876016101704685_r8, 0.00092300251951154557_r8, & + 0.0011196760169990317_r8, 0.0013402589069716542_r8, & + 0.0016315202937539949_r8, 0.0019309625249336884_r8, & + 0.0021606926319615995_r8, 0.0024074342300886907_r8, & + 0.0028896208632035549_r8, 0.0033560456250355357_r8, & + 0.0038347333226647689_r8, 0.0042895449510039693_r8, & + 0.0045261896210153866_r8, 0.0045329708912184895_r8, & + 0.0041525033111501431_r8, 0.0037067889150735798_r8, & + 0.0032825179950446608_r8, 0.0029235438758166117_r8, & + 0.0027152072600436935_r8, 0.0026469446948788142_r8, & + 0.0030844116001678213_r8, 0.0037156195617754069_r8, & + 0.0043117548605389432_r8, 0.00464990198282872_r8, 0.004721546852296375_r8, & + 0.0046090977304272581_r8, 0.0047031857717955948_r8, & + 0.0057812411181131836_r8, 0.008412890466440533_r8, 0.011551852136989074_r8, & + 0.013503375073300225_r8, 0.014409016208164026_r8, 0.014943541084584766_r8, & + 0.015248877355897991_r8, 0.015409822973217748_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,85) / & + 0.00025935567837468977_r8, 0.00024677359005108155_r8, & + 0.00022572588611286914_r8, 0.00028759826069994402_r8, & + 0.0002785062253252741_r8, 0.00028838575982688392_r8, & + 0.00043119156741446588_r8, 0.00072909890759435066_r8, & + 0.0009588159824642108_r8, 0.0011440393566619655_r8, & + 0.0012508528746069071_r8, 0.0013503462302127934_r8, & + 0.0015268892163067787_r8, 0.0017885358012325661_r8, & + 0.0020787113318024956_r8, 0.0023974337057239971_r8, & + 0.0030019108764801064_r8, 0.0035617690626120954_r8, & + 0.0041024767017935016_r8, 0.0044870447413516389_r8, & + 0.0046064761430350482_r8, 0.0045910841146448601_r8, & + 0.0041924126816315268_r8, 0.0037676821865994534_r8, & + 0.0033500749791247021_r8, 0.0029777489714489947_r8, & + 0.0027331946971192889_r8, 0.0026356879870381832_r8, & + 0.0030333034553131195_r8, 0.0036783905242289256_r8, & + 0.0043798016784283638_r8, 0.0048646684704267591_r8, & + 0.0050850160954567765_r8, 0.0051373374863143582_r8, & + 0.0051088852451306333_r8, 0.0057156753749702093_r8, & + 0.0082654300765964226_r8, 0.012143528014363116_r8, 0.014696125127610813_r8, & + 0.015586326796939666_r8, 0.016049062178814934_r8, 0.016337810367217286_r8, & + 0.016447572532461392_r8, 0.016288506657673247_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,85) / & + 0.00028800221815445586_r8, 0.0002923073270492707_r8, & + 0.00021326552774047073_r8, 0.00020815679851862381_r8, & + 0.00023785248298419088_r8, 0.00026624706787265834_r8, & + 0.00048249747111353406_r8, 0.00081741580931281625_r8, & + 0.0010194306524748378_r8, 0.0011591075188399403_r8, & + 0.0012454775701785806_r8, 0.0013299916412381229_r8, & + 0.0015319873505828343_r8, 0.001847255258404451_r8, & + 0.0022095732229920656_r8, 0.0026099100825752227_r8, & + 0.0032218095601582349_r8, 0.0037809571034167827_r8, & + 0.0043087251862864587_r8, 0.0046580130212857665_r8, & + 0.0047581020196358834_r8, 0.0046789454174232213_r8, & + 0.0043112699839887268_r8, 0.0039083691928859911_r8, & + 0.0035313564566040751_r8, 0.0031846708207589653_r8, & + 0.0029512191157561414_r8, 0.0029173139914823107_r8, & + 0.0033724501038421332_r8, 0.0040745272624085321_r8, & + 0.0047355623828443643_r8, 0.0052875538784288656_r8, & + 0.0056846021131618171_r8, 0.0059703694331193673_r8, & + 0.0061909112782426948_r8, 0.0065714138861318831_r8, & + 0.0069361146943252459_r8, 0.007324453967104236_r8, & + 0.0098754462427267532_r8, 0.010978285988311465_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,85) / & + 0.00036539575393643457_r8, 0.00037881953595472599_r8, & + 0.00028678820490974814_r8, 0.00026332204878672593_r8, & + 0.00033174463421835066_r8, 0.00042247228992316053_r8, & + 0.00067709637979970381_r8, 0.0010789950432608395_r8, & + 0.0012576596746454126_r8, 0.0013966029480092447_r8, & + 0.0014850288019415702_r8, 0.0015947819696419557_r8, & + 0.0018196659658209183_r8, 0.0021033579417977675_r8, & + 0.0024083364916882965_r8, 0.0027391033694015208_r8, & + 0.0033528289057127509_r8, 0.0038947708186059852_r8, & + 0.0044031838313442762_r8, 0.0047873810280771954_r8, & + 0.0048844029912837534_r8, 0.0048369206910035762_r8, & + 0.0045478714241757243_r8, 0.0042151694033794379_r8, & + 0.0039022873217391413_r8, 0.00361024367561434_r8, 0.0034666560588511603_r8, & + 0.0034756799365963853_r8, 0.0039363662099282182_r8, & + 0.0045441029876455508_r8, 0.0051454181458161982_r8, & + 0.0057029277755644842_r8, 0.0061517307426217768_r8, & + 0.0065122428065143801_r8, 0.006891161645864158_r8, & + 0.0071741432206302511_r8, 0.0073850806551595373_r8, & + 0.0075811003735729203_r8, 0.0077882430543536_r8, 0.00798170134536_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,85) / & + 0.00035220001027739915_r8, 0.00035842254895354734_r8, & + 0.00030185794390439501_r8, 0.0003491751650876049_r8, & + 0.00047321542390623859_r8, 0.00072324048487980221_r8, & + 0.0010848391212826334_r8, 0.001356535037437366_r8, & + 0.0014939278271652345_r8, 0.0016266105008118517_r8, & + 0.0017266464524457611_r8, 0.0018338123963127571_r8, & + 0.0020344460565443951_r8, 0.0022217271858667982_r8, & + 0.0024241973592493823_r8, 0.0026620150092784194_r8, & + 0.0032153672246771361_r8, 0.0037451040415583869_r8, & + 0.0041837282001156205_r8, 0.0045064575758295968_r8, & + 0.0046164106984786174_r8, 0.0046223523586728559_r8, & + 0.0044487046387415956_r8, 0.0042249957309192423_r8, & + 0.0040273220977661891_r8, 0.0038514705620537933_r8, & + 0.0037484745833413001_r8, 0.0037283377567920986_r8, & + 0.0040615460604850042_r8, 0.0046247290227505507_r8, & + 0.0052246854601091684_r8, 0.0057328378459575316_r8, & + 0.0061746813040381883_r8, 0.0065434747507853146_r8, & + 0.0069814075161563132_r8, 0.0073265855643859738_r8, & + 0.0076798874825539411_r8, 0.0080205255622442795_r8, & + 0.0082923013435717528_r8, 0.0084825058468741381_r8, & + 0.0085628336203014306_r8, 0.0085681003233304895_r8, & + 0.0086708159637119992_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,85) / & + 0.0002096452247052115_r8, 0.00022860420667354073_r8, & + 0.00020263268559162466_r8, 0.00020043983948444443_r8, & + 0.00027422853993738598_r8, 0.00049057793477236213_r8, & + 0.00088302886151677676_r8, 0.0011472125673329906_r8, & + 0.0013195965398263504_r8, 0.0014921632494953089_r8, & + 0.001603852782274696_r8, 0.0017159963027247108_r8, & + 0.0019269635166846415_r8, 0.0021184092608076042_r8, & + 0.0022977772197308637_r8, 0.0025161253024239471_r8, & + 0.0030456862162345014_r8, 0.0035332803955615477_r8, & + 0.0039576989069621989_r8, 0.0043046796849346789_r8, & + 0.0044784598836603452_r8, 0.0045620392993496418_r8, & + 0.0044383833368369322_r8, 0.004276778002435506_r8, & + 0.0041406045433943078_r8, 0.0040209659434763912_r8, & + 0.0039342200351661786_r8, 0.0039185845855790455_r8, & + 0.0041772890313956767_r8, 0.0047539492285302645_r8, & + 0.0052938172532564325_r8, 0.005770099267202072_r8, & + 0.0062203942600375095_r8, 0.0067389644301058824_r8, & + 0.0072160014585873102_r8, 0.0077151129747228282_r8, & + 0.0081398938604690194_r8, 0.0085254567378007223_r8, & + 0.0088040152514297313_r8, 0.0089800303094971449_r8, & + 0.0090315548508972179_r8, 0.0090956515468202659_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,85) / & + 0.00012946878697291851_r8, 0.00017557864880165923_r8, & + 0.00020921597359265185_r8, 0.00022043644127525921_r8, & + 0.00024248008540278513_r8, 0.00032612493984681475_r8, & + 0.00039624082373469625_r8, 0.00057169908125220728_r8, & + 0.00080080670476823687_r8, 0.0010380497693105776_r8, & + 0.0011762800319873776_r8, 0.001289315408674074_r8, 0.0014909527509296_r8, & + 0.0017024591687031703_r8, 0.0019332944071467255_r8, & + 0.0021795728375643849_r8, 0.0027821071364690368_r8, & + 0.0033962923018971253_r8, 0.0039056377273069031_r8, & + 0.0043289756193212441_r8, 0.0045309470473902805_r8, & + 0.0045200727046495999_r8, 0.0044285392113117619_r8, & + 0.0043395640327620732_r8, 0.0042583119550904883_r8, & + 0.0042346370090627552_r8, 0.0042563616162872887_r8, & + 0.004451825895448118_r8, 0.0048642752557490031_r8, & + 0.0053816138024884736_r8, 0.0059103151366071711_r8, & + 0.0064173860266842908_r8, 0.0069907086703970105_r8, & + 0.0076327313105022535_r8, 0.0082045963597390387_r8, & + 0.0086548042104748566_r8, 0.0088820013748005591_r8, & + 0.008986456916133331_r8, 0.0090105652707839993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,85) / & + 0.00017869411460211357_r8, 0.00023479075123028804_r8, & + 0.00026063671964065188_r8, 0.00028303993417852838_r8, & + 0.00024861239545365598_r8, 0.00024759982078527735_r8, & + 0.00024003082513914729_r8, 0.000287647148919651_r8, & + 0.00038584157738566575_r8, 0.0005006169160463803_r8, & + 0.00058777428062706835_r8, 0.00067890600078114236_r8, & + 0.00084636053656425353_r8, 0.00099804422188736809_r8, & + 0.0012440239232032393_r8, 0.0014681320116821334_r8, 0.00201714999687701_r8, & + 0.0027710624662182978_r8, 0.0034842947482574753_r8, & + 0.0040375402326928329_r8, 0.0043150869492954071_r8, & + 0.0043779172074682989_r8, 0.0043502739190215637_r8, & + 0.0043021513079068707_r8, 0.0042958733449629232_r8, & + 0.0043373382776330273_r8, 0.0044323937246270682_r8, & + 0.004775226192973353_r8, 0.0052959427161870477_r8, & + 0.0057862313706159661_r8, 0.0063053530887269664_r8, & + 0.0068688508916796556_r8, 0.0075000139968467491_r8, & + 0.008141150962497368_r8, 0.0086975607427714121_r8, 0.009071833654570852_r8, & + 0.0093176393196155952_r8, 0.009423875127892228_r8, 0.009458029452273543_r8, & + 0.0095234431836395649_r8, 0.0096020481281739387_r8, & + 0.0096247057520972429_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,85) / & + 0.00024171553886899095_r8, 0.00027647011272438523_r8, & + 0.0002363788930745416_r8, 0.00015162977180149464_r8, & + 0.0001346109163077531_r8, 0.00014549661170936627_r8, & + 0.00020074815349170041_r8, 0.00025910610103498268_r8, & + 0.00024407853128543874_r8, 0.00025796443054164277_r8, & + 0.00030166651500763118_r8, 0.00035447541294374982_r8, & + 0.00047429771379126258_r8, 0.00062775946847741894_r8, & + 0.00079534607670908315_r8, 0.00096686215547596378_r8, & + 0.0013448878411544231_r8, 0.0019050763467120724_r8, & + 0.0026276741175664722_r8, 0.0032683636681428811_r8, & + 0.0036544075977513087_r8, 0.0038372607300218207_r8, & + 0.0038954859251821559_r8, 0.0039228329160691357_r8, & + 0.0039978911133870879_r8, 0.004091773598606855_r8, & + 0.0042306325911688949_r8, 0.0046561836299422029_r8, & + 0.0051855470321796743_r8, 0.005746399299652055_r8, & + 0.0063278547369577352_r8, 0.0070013075756453378_r8, & + 0.0076970362641913675_r8, 0.0083026791856698999_r8, & + 0.0088473622128993987_r8, 0.0092156438736695819_r8, & + 0.0095110975771553197_r8, 0.0097232093346272374_r8, & + 0.0098380932468291431_r8, 0.0099032547539984334_r8, & + 0.0099649741815241808_r8, 0.010091547415160176_r8, 0.010072281725585067_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,85) / & + 0.00024602243659772839_r8, 0.00027089143148760481_r8, & + 0.00022787779563338269_r8, 0.00015466014028720987_r8, & + 0.00016230145156622224_r8, 0.00018008486690646911_r8, & + 0.00020223077632237034_r8, 0.00024460532068780249_r8, & + 0.00023287938119782717_r8, 0.00026630664472019754_r8, & + 0.00031129312821372835_r8, 0.00036481009375328392_r8, & + 0.0004829586594200494_r8, 0.00060441382887664184_r8, & + 0.00073309351081520967_r8, 0.00085841101579101238_r8, & + 0.0011165206175028147_r8, 0.0014399564840035558_r8, & + 0.0019236375946718024_r8, 0.0024021226136703207_r8, & + 0.0027655433781001481_r8, 0.0030235140468796045_r8, & + 0.0031304924047857769_r8, 0.0032059329870494807_r8, & + 0.0032846245999300734_r8, 0.0033877961954899747_r8, & + 0.0035122245296987653_r8, 0.0038598625130141237_r8, & + 0.0044234578463676049_r8, 0.0051215402582317025_r8, & + 0.0058698608184319994_r8, 0.0067516681400300229_r8, & + 0.0075872663683298749_r8, 0.0082454472420242942_r8, & + 0.0088069863679790614_r8, 0.0092255635065501204_r8, & + 0.0095832324475808393_r8, 0.0098499558910980726_r8, & + 0.010060800509225875_r8, 0.010178754568787356_r8, 0.010220951973664048_r8, & + 0.010194510357217827_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,85) / & + 0.00026686369292879008_r8, 0.0002710719838993909_r8, & + 0.00024695412323339584_r8, 0.00023412609144715058_r8, & + 0.00024834721265814646_r8, 0.00025943388266345344_r8, & + 0.00026103013096264685_r8, 0.00032255824722246578_r8, & + 0.00035651480195076203_r8, 0.00040695624820527392_r8, & + 0.00046566916291924276_r8, 0.00053828394918436844_r8, & + 0.00065129832876726246_r8, 0.0007751381740883224_r8, & + 0.00089328957092498417_r8, 0.00099762616429953572_r8, & + 0.0012101593696630518_r8, 0.0015115600712471173_r8, & + 0.0019170361619385936_r8, 0.0022760469157753673_r8, & + 0.002528050988173484_r8, 0.0026764440346057745_r8, 0.002757881720560987_r8, & + 0.0028166817033640026_r8, 0.0028883097179532636_r8, & + 0.0029592121651338004_r8, 0.0030371090821344386_r8, & + 0.0032698130614604889_r8, 0.0037949207065024258_r8, & + 0.0045459990653174522_r8, 0.0054164767969121438_r8, & + 0.006438772253108304_r8, 0.007359430226690368_r8, 0.0081360195355961416_r8, & + 0.0087677275443278462_r8, 0.0092597202928356038_r8, & + 0.0097271743515803116_r8, 0.010042210019561612_r8, 0.010315817861554492_r8, & + 0.010479013934259575_r8, 0.0105720032752766_r8, 0.010618037417785548_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,85) / & + 0.00027199640919074242_r8, 0.00026975725752981071_r8, & + 0.00028649037737434074_r8, 0.00027284365576514893_r8, & + 0.00028718632991760331_r8, 0.00030037916943336288_r8, & + 0.00039076222363880822_r8, 0.00048852842656408224_r8, & + 0.00054474928853720495_r8, 0.00060331899034383855_r8, & + 0.00065337840289862053_r8, 0.00070658094895041971_r8, & + 0.00081606487458779902_r8, 0.00092097215578307149_r8, & + 0.0010103150635244018_r8, 0.0011097606301953746_r8, & + 0.0013369324003089183_r8, 0.0016739095958760229_r8, & + 0.0020433166670188502_r8, 0.002366011706045959_r8, & + 0.0025564417206961742_r8, 0.0026374407626199104_r8, & + 0.0027036583777008752_r8, 0.002766872806263631_r8, & + 0.0028328143097377575_r8, 0.0028811111468297116_r8, & + 0.0029254024744471267_r8, 0.0030943184778686613_r8, & + 0.0034829496170116409_r8, 0.0042494105821455665_r8, & + 0.0051695695325112388_r8, 0.0062906053503776213_r8, & + 0.0073127010317042204_r8, 0.0082926849920663594_r8, & + 0.0090083643317811213_r8, 0.0094765588405594462_r8, & + 0.010003614897330482_r8, 0.010375826354634595_r8, 0.010688650971069866_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,85) / & + 0.00027208458026255791_r8, 0.00029951665219318514_r8, & + 0.00029973711660594561_r8, 0.00028380068905497282_r8, & + 0.00031608297806633081_r8, 0.00035542012828602461_r8, & + 0.00043749587966514567_r8, 0.00056627859163338261_r8, & + 0.00063389817651863687_r8, 0.00068510891011128866_r8, & + 0.00073096550796547131_r8, 0.00077553081425919997_r8, & + 0.00085215794515152582_r8, 0.00093719421864485897_r8, & + 0.0010234272989503206_r8, 0.0011290297526625973_r8, & + 0.0013797292848873874_r8, 0.00172012633818959_r8, 0.0021260013220816588_r8, & + 0.0024474699308025673_r8, 0.0026397778885619352_r8, & + 0.0027365932606799011_r8, 0.0027969375199440585_r8, & + 0.0028397706058518124_r8, 0.0028670766981180049_r8, & + 0.0028952961429513473_r8, 0.0029146025265259449_r8, & + 0.003033180885674982_r8, 0.0033284142292773918_r8, & + 0.0039789929007400674_r8, 0.0048561420618238012_r8, & + 0.0058919153678887101_r8, 0.0070819344631864751_r8, & + 0.0082876485015779995_r8, 0.0092820392735254147_r8, & + 0.0097185335023764613_r8, 0.010185857429715197_r8, 0.010732428077593599_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,85) / & + 0.00034027174617621062_r8, 0.00038864820258718017_r8, & + 0.00032033855134922797_r8, 0.00046844644394708799_r8, & + 0.00052147070604842134_r8, 0.00056942165912154074_r8, & + 0.00060045067175861725_r8, 0.00072734885951594404_r8, & + 0.00080387399827700412_r8, 0.00086511374790144524_r8, & + 0.00091869443744458268_r8, 0.00097417352649505182_r8, & + 0.0010387845717963061_r8, 0.0011375013461775538_r8, & + 0.0012354325759350783_r8, 0.0013664221419409646_r8, & + 0.0017065629640132213_r8, 0.0021110529831788244_r8, & + 0.0025022542057931063_r8, 0.0027367720070005461_r8, & + 0.0028550292038969157_r8, 0.0029154834088976332_r8, & + 0.002931063377268148_r8, 0.0029337145903732143_r8, & + 0.0029320780390737905_r8, 0.0029386897063234628_r8, & + 0.0029399662163370143_r8, 0.003012007204537653_r8, & + 0.0032077714709747357_r8, 0.0036959710891058695_r8, & + 0.0044778621120533622_r8, 0.0055548923032345977_r8, & + 0.0067972536866818725_r8, 0.0078664300535651079_r8, & + 0.0090472076463134314_r8, 0.010276322929663823_r8, 0.0108872242907103_r8, & + 0.011267213827682487_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,85) / & + 0.0004051260295013662_r8, 0.00044422220288579419_r8, & + 0.00039785706242554726_r8, 0.00070692403169132518_r8, & + 0.00079646140184019745_r8, 0.00084075454701247718_r8, & + 0.00079031335024803279_r8, 0.00092645363080823024_r8, & + 0.0010801888877482139_r8, 0.0011968659994558684_r8, & + 0.001277334144327901_r8, 0.0013634408337540741_r8, & + 0.0014853149172495801_r8, 0.0016452321929175968_r8, & + 0.0018077989051833413_r8, 0.0020079332697194403_r8, & + 0.0024146557546066171_r8, 0.0027603053292025673_r8, & + 0.0029668934495536464_r8, 0.0030440328151105844_r8, & + 0.0030569742938764115_r8, 0.0030469879559311278_r8, & + 0.003042979833898667_r8, 0.0030297326509100249_r8, & + 0.0030222259138831275_r8, 0.0030174025805898268_r8, & + 0.0030111186604541897_r8, 0.0030691005613813979_r8, & + 0.0032698463343631273_r8, 0.003637268843050667_r8, & + 0.0042331543075884775_r8, 0.0053099125146139903_r8, & + 0.0064428523643656954_r8, 0.0076343109171025268_r8, & + 0.0089988699974938684_r8, 0.010339887062570873_r8, 0.011228963742314411_r8, & + 0.011722075571722664_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,85) / & + 0.0005809591645816888_r8, 0.0005856763995119406_r8, & + 0.00049319747293155548_r8, 0.00089000845900468134_r8, & + 0.0010090658361249184_r8, 0.0010784866367402664_r8, & + 0.001093131186971496_r8, 0.0013289225269925923_r8, & + 0.0015085998932911403_r8, 0.0016147728824675552_r8, & + 0.0016946842503158513_r8, 0.0017728354558767406_r8, & + 0.001898229417231644_r8, 0.0020277773615848291_r8, 0.002190768389398755_r8, & + 0.0023383051923292438_r8, 0.0026354205864436149_r8, & + 0.0028930027355828143_r8, 0.0030381457178024289_r8, & + 0.0031111572494840881_r8, 0.0031300613924508435_r8, & + 0.0031231615562842068_r8, 0.0031166489558207993_r8, & + 0.0031042926165632001_r8, 0.0030974983901338069_r8, & + 0.0030972915710650367_r8, 0.0031090054510877329_r8, & + 0.0032019332190514069_r8, 0.0034404194932604014_r8, & + 0.003861429567638438_r8, 0.0044324218132676821_r8, & + 0.0052527001859979426_r8, 0.0062079249208168664_r8, & + 0.0074830606600826167_r8, 0.008812852707245189_r8, 0.010555973103385918_r8, & + 0.011185576112942398_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,85) / & + 0.0009151379772411785_r8, 0.00089028633670289387_r8, & + 0.00071570538388922463_r8, 0.0011149714035050401_r8, & + 0.0012797501696547818_r8, 0.0014379698517914864_r8, & + 0.0016456013001597367_r8, 0.0017859656980387293_r8, & + 0.0018568402447351575_r8, 0.0019072723129242861_r8, & + 0.001949760601586515_r8, 0.0019692192174918582_r8, & + 0.0020436283816842008_r8, 0.0021058303617411686_r8, & + 0.0021881468661047836_r8, 0.0022665279200605767_r8, & + 0.0024480687897991903_r8, 0.0026399219971805234_r8, & + 0.0028351640646352592_r8, 0.0030104738045614882_r8, & + 0.0031031390859234498_r8, 0.0031267882277260118_r8, & + 0.003125585728990288_r8, 0.0031150911945694287_r8, & + 0.0031069105592309463_r8, 0.0031085047810396702_r8, & + 0.0031183297423008657_r8, 0.0031938457519204077_r8, & + 0.0033789316503994014_r8, 0.0037358375698004647_r8, & + 0.0043039085139412467_r8, 0.0047855514231385753_r8, & + 0.005470057430739121_r8, 0.0067827487778816002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,38,85) / & + 0.0014035382448623439_r8, 0.0013902623527040261_r8, & + 0.0013233177599298205_r8, 0.0014232425133229331_r8, & + 0.0015640545656584067_r8, 0.0016937099707703769_r8, & + 0.0019102355804770006_r8, 0.0020503694744333327_r8, & + 0.0021053756540747488_r8, 0.0021495588834728736_r8, & + 0.0021797645151675981_r8, 0.0022191602693415508_r8, & + 0.0022938128586929537_r8, 0.0023330962592465528_r8, & + 0.0023653377116310392_r8, 0.0023987915066734727_r8, & + 0.0024748380882486658_r8, 0.0025925671901989022_r8, & + 0.0027567541777772978_r8, 0.0029260192798852116_r8, & + 0.0030352060082524854_r8, 0.0030519613642056849_r8, & + 0.0030591498430245765_r8, 0.0030539958393431071_r8, & + 0.0030738997877708873_r8, 0.0030950639805199056_r8, & + 0.0031140750204151505_r8, 0.0031994664629886216_r8, & + 0.003367169378830301_r8, 0.0036681586727722666_r8, & + 0.0040633554682165335_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,85) / & + 0.0013845085040729433_r8, 0.0014460922774978604_r8, & + 0.0015246530805665894_r8, 0.0016232116539863309_r8, & + 0.0017351263477180599_r8, 0.0019267903152067869_r8, & + 0.0021704119365212643_r8, 0.0022383415413144373_r8, & + 0.0022618541386822517_r8, 0.0022756330054668444_r8, & + 0.0022869208365770659_r8, 0.0023314651404419077_r8, & + 0.0023548254267860618_r8, 0.0023016294120735995_r8, & + 0.002271074097500444_r8, 0.002255752664691555_r8, 0.0022895181842341921_r8, & + 0.0023144410482699852_r8, 0.0023564071823255696_r8, & + 0.0024245510787231995_r8, 0.0024644368331946664_r8, & + 0.0024991445687413327_r8, 0.0025353381705881597_r8, & + 0.0024454320028655997_r8, 0.0024375524088495995_r8, & + 0.0024521296577791995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,85) / & + 0.0012688901179561116_r8, 0.0013631770864949697_r8, & + 0.0014538930755103067_r8, 0.001722880272649044_r8, & + 0.0018633349421730934_r8, 0.0020175579735904471_r8, & + 0.0022862139523257279_r8, 0.0022633538603344192_r8, & + 0.0022739829600089871_r8, 0.0022781984669620736_r8, & + 0.002285461183226963_r8, 0.0023230514609429132_r8, & + 0.0023251531922666661_r8, 0.0022883518165662219_r8, & + 0.0022859128446862218_r8, 0.0022884481710108637_r8, & + 0.0023393805282333332_r8, 0.0023788105736266664_r8, & + 0.0024324679549866664_r8, 0.0025123733194361898_r8, & + 0.0025692826633028566_r8, 0.0026159715535771419_r8, & + 0.0026440778009561897_r8, 0.0025732314749180949_r8, & + 0.0025755543052799999_r8, 0.0025950660803199994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,41,85) / & + 0.0013528242973364028_r8, 0.0014046642938136888_r8, & + 0.0014843229264978964_r8, 0.002398325426121718_r8, & + 0.0024128511382184299_r8, 0.0024117337757494518_r8, & + 0.0025820384387294816_r8, 0.0024284942127841182_r8, & + 0.0023495339316430227_r8, 0.0023372429444842666_r8, & + 0.0022967385549838223_r8, 0.0022626589996799997_r8, & + 0.0021855609893205331_r8, 0.0021889130767274666_r8, & + 0.0022302554880796444_r8, 0.002312940310784_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,85) / & + 0.0014568335936383998_r8, 0.0018296725228159998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,43,85) / & + 0.0035311383062609971_r8, 0.0036581836994447011_r8, & + 0.0035299048558417381_r8, 0.0043237206536658173_r8, & + 0.0043206288046148738_r8, 0.0041366966780949322_r8, & + 0.0042758298853873781_r8, 0.0041645233195534235_r8, & + 0.0037141659024734815_r8, 0.0033305134840670813_r8, & + 0.003195524670183348_r8, 0.0029963964344981329_r8, & + 0.0027603633622686808_r8, 0.0028108854914415402_r8, & + 0.0026676078907403853_r8, 0.0027035259669492147_r8, & + 0.002526501162777126_r8, 0.0027139856265045335_r8, & + 0.0028010178880874667_r8, 0.0029543604442097784_r8, 0.0030319198065728_r8, & + 0.0030496814926101335_r8, 0.0032326268587946666_r8, & + 0.0033427493122261333_r8, 0.0033924820331306667_r8, & + 0.0034883951377322666_r8, 0.0036091746027861332_r8, & + 0.0038542858701013333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,85) / & + 0.0033715381703113751_r8, 0.0036262635832321854_r8, & + 0.0035069498210462294_r8, 0.0042464606675502621_r8, & + 0.0043397111816094285_r8, 0.0042671579528274182_r8, & + 0.0042349170836048335_r8, 0.0040217666097374814_r8, & + 0.0033753710009182553_r8, 0.0030507077024530703_r8, & + 0.0029752685776847023_r8, 0.0028806652998819293_r8, & + 0.0027488159270052347_r8, 0.0028140642315717793_r8, & + 0.0026518227665887611_r8, 0.0027057980399585982_r8, & + 0.0025089709152640795_r8, 0.0026727342394586534_r8, & + 0.0027516849134447967_r8, 0.0029211072993001186_r8, & + 0.0030501327778620379_r8, 0.0030553860103997039_r8, & + 0.0032512130561837722_r8, 0.0033643234303454821_r8, & + 0.0033922000260619123_r8, 0.0034950197331740564_r8, & + 0.003634673264504929_r8, 0.0039439923570783672_r8, & + 0.0040251485190964942_r8, 0.0041007680123640103_r8, & + 0.0041127805544072223_r8, 0.0041485476277881373_r8, & + 0.004194243987047111_r8, 0.0042103959861457558_r8, & + 0.0042307686081244451_r8, 0.0042263721259577294_r8, & + 0.0042478134312938665_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,85) / & + 0.0029516181588479995_r8, 0.0035853420808533323_r8, & + 0.0035054258760533323_r8, 0.0039850157613226661_r8, & + 0.0043682429184853325_r8, 0.0044509851456000001_r8, & + 0.0040835095882239998_r8, 0.0033473076111359998_r8, & + 0.0026036004600320001_r8, 0.0025125191506773325_r8, & + 0.0025109439906986658_r8, 0.0025219701105493337_r8, & + 0.0024783289134933328_r8, 0.002536563504469333_r8, & + 0.0025171983023786664_r8, 0.0025708927263573323_r8, & + 0.0025223870646613323_r8, 0.002584188929706667_r8, 0.002668552645034667_r8, & + 0.0027858094069759991_r8, 0.0029285003697493328_r8, & + 0.0030239828613973325_r8, 0.0031833983168853331_r8, & + 0.0033382736053760012_r8, 0.0034879601315839989_r8, & + 0.003632596880213332_r8, 0.0038329664951466656_r8, & + 0.0041432730109440003_r8, 0.0041694021352960001_r8, & + 0.0041767683246079984_r8, 0.0041998861137066672_r8, 0.004226663833344_r8, & + 0.0042518663930026668_r8, 0.0042561285905919994_r8, & + 0.0042754937926826652_r8, 0.0042811458373119985_r8, & + 0.0043642586903039982_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,86) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,86) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,86) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,86) / & + 0.0045276857363492056_r8, 0.0046085441126190478_r8, & + 0.0047096954585714281_r8, 0.0049078230703174614_r8, & + 0.0048865653252910058_r8, 0.0048795960615925921_r8, & + 0.0050616532301587308_r8, 0.0053119084263492065_r8, & + 0.0055053310248677247_r8, 0.0058021383153015861_r8, & + 0.0060877050815026455_r8, 0.0062061081756402117_r8, & + 0.0063373164337777775_r8, 0.0065441751633333323_r8, & + 0.0066921612014814811_r8, 0.0069490271888888889_r8, & + 0.0075568772577777775_r8, 0.0076276287703703682_r8, & + 0.0078645672933333327_r8, 0.0080359684488888888_r8, & + 0.0082550180162962953_r8, 0.0085162245022222215_r8, & + 0.0086073056340740736_r8, 0.0087417917511111096_r8, & + 0.0088656970362962963_r8, 0.0089367813666666671_r8, & + 0.0089890060229629622_r8, 0.0090225235466666678_r8, & + 0.0090571227281481485_r8, 0.0090696588644444444_r8, & + 0.0090553754348148153_r8, 0.0090559439985185182_r8, & + 0.0089899646074999996_r8, 0.0089500420750000011_r8, & + 0.0089542008114285709_r8, 0.0089925699466666658_r8, & + 0.0091912621599999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,86) / & + 0.0050768208720987657_r8, 0.0051818803506172824_r8, & + 0.0051520469348148136_r8, 0.0052470664103703686_r8, & + 0.0049668153516049382_r8, 0.0050667901140740738_r8, & + 0.0054575274301234553_r8, 0.005702499804444444_r8, & + 0.0060131852000000008_r8, 0.0064446002444444447_r8, & + 0.0067682008187654324_r8, 0.0070241284449382713_r8, & + 0.0072843272325925947_r8, 0.0074367670197530867_r8, & + 0.0075820327348148147_r8, 0.0077154834187654316_r8, & + 0.0080649605753086422_r8, 0.0081614222612345667_r8, & + 0.0083660127451851852_r8, 0.0084992877753086414_r8, & + 0.0086324796009876522_r8, 0.0088015048074074065_r8, & + 0.0088735875911111119_r8, 0.008952382200000001_r8, 0.00902715526074074_r8, & + 0.0090690533209876537_r8, 0.0090946248202469146_r8, & + 0.0091109513812345656_r8, 0.0091268064503703707_r8, & + 0.0091273796365432085_r8, 0.0091231454548148135_r8, & + 0.0091157217693827175_r8, 0.0090447784243209879_r8, & + 0.0090186903641358025_r8, 0.0090382410973456791_r8, & + 0.0090831404607671952_r8, 0.0092288618192151676_r8, & + 0.0093136321250793658_r8, 0.0091876344462222224_r8, & + 0.0088816306874074068_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,86) / & + 0.0048279748686419757_r8, 0.0048463722958024692_r8, & + 0.0047244592948148152_r8, 0.0051619205288888888_r8, & + 0.0049792035688888889_r8, 0.0051922346814814819_r8, & + 0.0056518005629629621_r8, 0.0058365698992592597_r8, & + 0.0060965375634567899_r8, 0.0066438286641975295_r8, & + 0.0071082758730864198_r8, 0.007569080576296296_r8, & + 0.0080716169308641967_r8, 0.0082498223609876534_r8, & + 0.0083950603412345677_r8, 0.0085096513511111107_r8, & + 0.008714380509135802_r8, 0.0088100748651851832_r8, & + 0.0089010543027160504_r8, 0.0089623482434567896_r8, & + 0.0089977008874074071_r8, 0.0091222764306172835_r8, & + 0.0091201038701234569_r8, 0.0091474411525925923_r8, & + 0.0091702021906172847_r8, 0.0091863068730864209_r8, & + 0.0091851697456790133_r8, 0.0091644148592592584_r8, & + 0.009149891061234568_r8, 0.0091633886711111109_r8, & + 0.0091860110350617287_r8, 0.0091485043204938277_r8, & + 0.0091170160607407409_r8, 0.0090898914118518505_r8, & + 0.0090765509659259253_r8, 0.0090762736177777779_r8, & + 0.0090431212691358034_r8, 0.0089498305970370385_r8, & + 0.0088795864004320973_r8, 0.0087606695848853593_r8, & + 0.008621245151999999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,86) / & + 0.0033133673866666664_r8, 0.0033384673940740732_r8, & + 0.0033518817995061723_r8, 0.0040444478602469133_r8, & + 0.0042770135274074073_r8, 0.0046113474750617287_r8, & + 0.0050725497106172846_r8, 0.0055089755116049374_r8, & + 0.0057394240879012339_r8, 0.0060843434898765428_r8, & + 0.0064959836113580261_r8, 0.0071680813787654311_r8, & + 0.0076619552261728381_r8, 0.0079523202474074059_r8, & + 0.0080904118903703699_r8, 0.0082002694918518523_r8, & + 0.0083556953940740735_r8, 0.0084413589920987655_r8, & + 0.0085283076365432094_r8, 0.0086110775688888874_r8, & + 0.0086690895565432087_r8, 0.0087542169481481455_r8, & + 0.0087541892133333344_r8, 0.0088114893407407399_r8, & + 0.0088676061160493803_r8, 0.0089179910296296305_r8, & + 0.0089567180760493845_r8, 0.0090306036227160488_r8, & + 0.0090963073990123454_r8, 0.0091556414128395065_r8, & + 0.0091770341999999998_r8, 0.0091546718499382722_r8, & + 0.0090927145848765396_r8, 0.0090466858531922396_r8, & + 0.0090004023904409168_r8, 0.0089041837143209891_r8, & + 0.0087884516149206345_r8, 0.00870698653957672_r8, 0.0086930228527407408_r8, & + 0.0086603845226666636_r8, 0.0086377895237333326_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,86) / & + 0.0017224614291358024_r8, 0.0018155949372839508_r8, & + 0.0018185625624691356_r8, 0.0021808624483950611_r8, & + 0.0024638500088888888_r8, 0.0026688934948148149_r8, & + 0.0031384716444444443_r8, 0.0039400447723456789_r8, & + 0.0045538716938271599_r8, 0.0050886451481481484_r8, & + 0.0054636198444444426_r8, 0.0059396139812345674_r8, & + 0.0064421503358024698_r8, 0.0068402836024691362_r8, & + 0.0070441067565432088_r8, 0.0071874772592592593_r8, & + 0.0074319873866666658_r8, 0.0076083160943209872_r8, & + 0.0077988450271604939_r8, 0.007940218623209875_r8, & + 0.0080564182523456783_r8, 0.0081598968464197518_r8, & + 0.0082118256646913582_r8, 0.0082855170676543206_r8, & + 0.008385417870617284_r8, 0.0084495315175308634_r8, & + 0.0085202183155555552_r8, 0.0086948736893827164_r8, & + 0.0088442626469135803_r8, 0.0089480093441975297_r8, & + 0.0090201753323456788_r8, 0.0090602810301851841_r8, & + 0.0090811584120370371_r8, 0.009097377500617284_r8, & + 0.0091141801759259261_r8, 0.0090948686554938249_r8, & + 0.0090883562898518531_r8, 0.0090672781277513232_r8, & + 0.0090084330721058193_r8, 0.0088069338974074065_r8, & + 0.0087687291899999995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,86) / & + 0.00083601976790123448_r8, 0.0008962505407407404_r8, & + 0.00086032471061728397_r8, 0.0015776764508641976_r8, & + 0.0016031277659259255_r8, 0.0016621012271604938_r8, & + 0.0018320694172839506_r8, 0.0021662369560493822_r8, & + 0.0027402181935802464_r8, 0.0033052873106172837_r8, & + 0.0038210716617283953_r8, 0.0043452226819753088_r8, & + 0.0050692030429629635_r8, 0.0056285218083950601_r8, & + 0.0059998724888888884_r8, 0.0062507986034567899_r8, & + 0.0066269658967901242_r8, 0.0069040644316049381_r8, & + 0.0071118444192592584_r8, 0.0072522103170370375_r8, & + 0.0073654053412345686_r8, 0.0074928098355555557_r8, & + 0.0075777061037037028_r8, 0.0076788457283950614_r8, & + 0.0077820469743209884_r8, 0.0078606289496296299_r8, & + 0.0079577470261728393_r8, 0.0081344362864197526_r8, & + 0.0083123551234567904_r8, 0.0084774142513580255_r8, & + 0.0086333208903703693_r8, 0.0087410614009876542_r8, & + 0.0088290639683950619_r8, 0.0088915042814814819_r8, & + 0.0089809120795061731_r8, 0.0090407175851851852_r8, & + 0.0090875096846296279_r8, 0.0091175600263051163_r8, & + 0.0090771444909629635_r8, 0.008786794954999998_r8, & + 0.0087215522700000003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,86) / & + 0.00049670279851851847_r8, 0.00051533134913580257_r8, & + 0.00051069039012345671_r8, 0.00064310564098765438_r8, & + 0.0006488282577777778_r8, 0.00070170930469135788_r8, & + 0.00076772740888888884_r8, 0.00090108564345679006_r8, & + 0.0011857095580246914_r8, 0.0014948233140740742_r8, & + 0.0017749819234567901_r8, 0.0020739909619753084_r8, & + 0.0024925740320987655_r8, 0.0029509010918518513_r8, & + 0.0033657861866666665_r8, 0.0037353248592592596_r8, & + 0.0043641840503703695_r8, 0.0049223194637037036_r8, & + 0.0053689146967901237_r8, 0.0056759483417283948_r8, & + 0.0058975864918518516_r8, 0.0060587165209876536_r8, & + 0.0061634431817283956_r8, 0.006237624566419752_r8, & + 0.0062934304806790122_r8, 0.0063360785365432102_r8, & + 0.0064157155904320988_r8, 0.0066836073223456782_r8, & + 0.0071173440019135798_r8, 0.0075466442667283945_r8, & + 0.0079293026623456792_r8, 0.0082156276455555548_r8, & + 0.0084412607646296295_r8, 0.0086599879148148151_r8, & + 0.0088375346430864202_r8, 0.0089889852218518508_r8, & + 0.0090384748622134026_r8, 0.0090375457128994696_r8, & + 0.0091450181698333327_r8, 0.009180778399999999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,86) / & + 0.00027258700493827155_r8, 0.00026557934172839509_r8, & + 0.00022232227555555559_r8, 0.00024871657432098764_r8, & + 0.00025115723802469138_r8, 0.00027610932641975301_r8, & + 0.00037399473283950614_r8, 0.00044205596839506163_r8, & + 0.00056230488049382717_r8, 0.00069476635604938267_r8, & + 0.00078996148543209875_r8, 0.00087681768049382709_r8, & + 0.0010391865313580245_r8, 0.0012566459693827161_r8, & + 0.0014691501204938267_r8, 0.0016719008617283951_r8, & + 0.0021368195624691358_r8, 0.0026737101076543205_r8, & + 0.0031749429259259263_r8, 0.0036519909856790119_r8, & + 0.0041092363876543215_r8, 0.0044894067392592584_r8, & + 0.0047788380217283939_r8, 0.0050129938182716053_r8, & + 0.0051647125002469126_r8, 0.0052498768716049389_r8, & + 0.005288400529382716_r8, 0.0052523637599999999_r8, & + 0.0053788252706172832_r8, 0.0057434641259259261_r8, & + 0.006398662146172838_r8, 0.0071581708049382724_r8, & + 0.0077539331170370365_r8, 0.0081076074755555561_r8, & + 0.0084188232994444438_r8, 0.0088408836219753071_r8, & + 0.0091274863990714293_r8, 0.0092430569266666665_r8, & + 0.0092627763800000006_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,86) / & + 0.00012613793777777776_r8, 0.00011343539259259259_r8, & + 5.9555892345679006e-05_r8, 0.00012750618864197533_r8, & + 0.00012988213777777779_r8, 0.00014298221530864198_r8, & + 0.00021179229086419751_r8, 0.00024243001629629634_r8, & + 0.00028263625283950612_r8, 0.00033200422320987653_r8, & + 0.00037420736641975309_r8, 0.0004314057995061729_r8, & + 0.00053049304790123456_r8, 0.00064707171950617278_r8, & + 0.00076902170024691356_r8, 0.00090094696938271604_r8, & + 0.0011983381437037036_r8, 0.0015579847323456788_r8, & + 0.0019489161920987655_r8, 0.0023691171264197527_r8, & + 0.002858072666666666_r8, 0.0033304797674074071_r8, & + 0.0037672198962962963_r8, 0.0042026010192592585_r8, & + 0.0045377577664197522_r8, 0.0047659690676543206_r8, & + 0.0049078511353086414_r8, 0.004917003624197531_r8, & + 0.0048478422409876541_r8, 0.0048864768380246911_r8, & + 0.0051661547106172847_r8, 0.0057917689283950614_r8, & + 0.0065053418001234575_r8, 0.0071896957142680773_r8, & + 0.0076584705447971775_r8, 0.0083633459932142846_r8, & + 0.0088469704893333317_r8, 0.0092376902399999988_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,86) / & + 8.5737557530864204e-05_r8, 7.888705827160494e-05_r8, & + 4.783331061728395e-05_r8, 0.00010953402864197531_r8, & + 0.0001110409535802469_r8, 0.00013061248790123455_r8, & + 0.00015410387604938272_r8, 0.00015891124395061725_r8, & + 0.00017740112049382715_r8, 0.00019718528839506171_r8, & + 0.00021763509185185187_r8, 0.00027191212444444446_r8, & + 0.00034444791012345675_r8, 0.00040196991604938268_r8, & + 0.00048582150617283948_r8, 0.00058655435358024688_r8, & + 0.00083813685876543199_r8, 0.0011457529348148146_r8, & + 0.0014788942854320984_r8, 0.0018780444953086423_r8, & + 0.0023410864735802471_r8, 0.0027908342306172838_r8, & + 0.0032897558143209866_r8, 0.0037793677451851844_r8, & + 0.0041663885960493826_r8, 0.0044212530543209878_r8, & + 0.0045682290829629621_r8, 0.0045548609022222223_r8, & + 0.0043286095279012338_r8, 0.0041727491135802475_r8, & + 0.0041515319802469131_r8, 0.0043592287634567906_r8, & + 0.0048332352385185183_r8, 0.0055603501288447972_r8, & + 0.0062700960913932968_r8, 0.0073361497340740742_r8, & + 0.0082109369949999993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,86) / & + 0.00011410102814814814_r8, 0.00011259410320987653_r8, & + 0.00010241542617283949_r8, 0.00011633830320987654_r8, & + 0.00011778051358024691_r8, 0.00013453234172839507_r8, & + 0.00013616869580246912_r8, 0.00013354313333333338_r8, & + 0.00013803617333333333_r8, 0.00015390973234567901_r8, & + 0.00017744734518518521_r8, 0.00020850109283950614_r8, & + 0.00025350545234567899_r8, 0.00029074406370370367_r8, & + 0.00034916282864197522_r8, 0.00043562149135802471_r8, & + 0.00067161703061728399_r8, 0.00095577869827160483_r8, & + 0.001253724568888889_r8, 0.0016204712701234567_r8, & + 0.0020744624538271603_r8, 0.0025922899362962955_r8, & + 0.0031194732962962963_r8, 0.0036099172716049376_r8, & + 0.0039829782656790125_r8, 0.0042520891738271616_r8, & + 0.0043723565758024699_r8, 0.0042889302528395052_r8, & + 0.0039836531461728397_r8, 0.0037226223140740737_r8, & + 0.0035327497718518515_r8, 0.0034352156730864192_r8, & + 0.003584545694135802_r8, 0.0041611155143827161_r8, & + 0.0048610359235185183_r8, 0.00550109027262963_r8, 0.0063618932437142853_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,86) / & + 0.00013928424000000001_r8, 0.00013805466320987651_r8, & + 0.00013392217580246915_r8, 0.00011730902172839505_r8, & + 0.00013566022419753083_r8, 0.00014200225185185186_r8, & + 0.00015082192296296293_r8, 0.00013591908246913582_r8, & + 0.00013635359456790123_r8, 0.00014673566024691359_r8, & + 0.00016088041580246913_r8, 0.00018253206123456788_r8, & + 0.00022629759901234567_r8, 0.00026583819999999992_r8, & + 0.00032076237827160489_r8, 0.0004019236913580247_r8, & + 0.00063497009530864184_r8, 0.00094249372197530862_r8, & + 0.0012829293288888887_r8, 0.0017007635590123456_r8, & + 0.0022167975234567905_r8, 0.0027801748167901237_r8, & + 0.003310815783703703_r8, 0.0037526498735802462_r8, & + 0.0040257176153086415_r8, 0.0041712052088888887_r8, & + 0.0041905548646913576_r8, 0.0040174064158024691_r8, & + 0.0036713406414814811_r8, 0.0033564950237037036_r8, & + 0.003125935508148148_r8, 0.0029840904202469132_r8, & + 0.0030760128414814808_r8, 0.0035474029990123454_r8, & + 0.0043456756839506169_r8, 0.0052055289027160487_r8, & + 0.0058757761966754841_r8, 0.0064724033067142866_r8, & + 0.0070067701818571429_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,16,86) / & + 0.00015068602927325759_r8, 0.00014828586924657775_r8, & + 0.00014651457210898436_r8, 0.00010464278474398024_r8, & + 0.00013766856746916874_r8, 0.00015969973068349628_r8, & + 0.00016140814153218106_r8, 0.00013568764936854649_r8, & + 0.00014517299794560002_r8, 0.00015961588229828475_r8, & + 0.00017751751254094485_r8, 0.00020021946283696462_r8, & + 0.00026343066423830118_r8, 0.00033153651512636041_r8, & + 0.00041993367523560825_r8, 0.00053803412580603785_r8, & + 0.00086043116694434229_r8, 0.0012933508608395849_r8, & + 0.0017756153294318088_r8, 0.0023740831788790517_r8, & + 0.0030317899124782353_r8, 0.0036221244685599604_r8, & + 0.0040250788457902352_r8, 0.0042545509140178694_r8, & + 0.0043147540545997428_r8, 0.0042705345124488163_r8, & + 0.0041449191503538036_r8, 0.0036614388801760123_r8, & + 0.0031176821020792883_r8, 0.0028590517578943467_r8, & + 0.0028380058132062547_r8, 0.0029259627692931425_r8, & + 0.0031443563696247042_r8, 0.0036639019264916015_r8, & + 0.0046438799286512723_r8, 0.0056851615814487166_r8, & + 0.0065048783682024915_r8, 0.0070986993700871658_r8, & + 0.0077352166060708953_r8, 0.0083926783451695394_r8, & + 0.0088530908764708257_r8, 0.009394504092200889_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,86) / & + 0.00013859054519392921_r8, 0.0001373953950747391_r8, & + 0.00013713761759805103_r8, 0.00012215137247604938_r8, & + 0.0001224208671107687_r8, 0.00014589033464741397_r8, & + 0.00014205882397118683_r8, 0.00013007217130519172_r8, & + 0.00014253922745046914_r8, 0.00015791213878750288_r8, & + 0.00018462725909881148_r8, 0.0002207629744672658_r8, & + 0.00030191601099188145_r8, 0.00040681972684589293_r8, & + 0.00058040942307924269_r8, 0.00077762090990364432_r8, & + 0.0012508417713127768_r8, 0.0018069380914771224_r8, & + 0.0024273850435492343_r8, 0.0030861705366996804_r8, & + 0.003632986867703256_r8, 0.0040022531030589094_r8, & + 0.0040929556233790156_r8, 0.0040188094473571027_r8, & + 0.0038483130808440085_r8, 0.0036810389327895177_r8, & + 0.003500618133423933_r8, 0.0029658353237184787_r8, & + 0.0026687350646774515_r8, 0.002770568885127269_r8, & + 0.0029566139203478646_r8, 0.003173861747405748_r8, 0.003380154031704388_r8, & + 0.0037738271072391902_r8, 0.0046257816676932469_r8, & + 0.0058856339335320749_r8, 0.0072128832923668016_r8, & + 0.0082043959004922274_r8, 0.0089706327544286299_r8, & + 0.0094655347102828892_r8, 0.0098675033663158645_r8, & + 0.010431656906506428_r8, 0.010990459890175998_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,86) / & + 0.00016007648484551111_r8, 0.00016052984922239997_r8, & + 0.00015907908321635553_r8, 0.00015585371950648888_r8, & + 0.00015144960841671112_r8, 0.00016422153057706661_r8, & + 0.00015325011265635556_r8, 0.00017436393935146664_r8, & + 0.00016831476323697777_r8, 0.00019205810331804441_r8, & + 0.00023523134526577769_r8, 0.0002965262090211555_r8, & + 0.00043045004595413332_r8, 0.00065919180399644423_r8, & + 0.00095365844341973303_r8, 0.0012459877936376888_r8, & + 0.0018792989683477333_r8, 0.0025168070018609769_r8, & + 0.0031353514511523553_r8, 0.003652160934269867_r8, & + 0.0039753579219199992_r8, 0.0040853570730211555_r8, & + 0.0039781169679850665_r8, 0.0037582352451939554_r8, & + 0.0034988201487381331_r8, 0.0032712700913436442_r8, & + 0.0031243929864995549_r8, 0.0029404436288938659_r8, & + 0.0031282401070691548_r8, 0.0034658670351722662_r8, & + 0.0037346602975957331_r8, 0.003955694861230933_r8, & + 0.0041244370823089781_r8, 0.0043657046504213329_r8, & + 0.004996062480047643_r8, 0.006268164061794132_r8, 0.0079305853089643528_r8, & + 0.0092447214016241758_r8, 0.010080525462188086_r8, 0.010566274026611517_r8, & + 0.010902152134013951_r8, 0.011407849138123198_r8, 0.011703465380073597_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,86) / & + 0.00023115915359230946_r8, 0.00022877533812343042_r8, & + 0.00022756924101119996_r8, 0.00022710099154409869_r8, & + 0.00022866182310110283_r8, 0.00023008076088019752_r8, & + 0.0002276401879001547_r8, 0.0002552385277035456_r8, & + 0.00026068724877526905_r8, 0.00032575973532454974_r8, & + 0.00042545430368373985_r8, 0.00056259464003323781_r8, & + 0.00086386350929061378_r8, 0.0012173067206853001_r8, & + 0.0015149289198504031_r8, 0.0018130335578603982_r8, & + 0.0023978203847586756_r8, 0.0029369741726812692_r8, & + 0.0034565608086301494_r8, 0.0038935085083245556_r8, & + 0.0041824042401482266_r8, 0.0042403678484242424_r8, & + 0.0041016950592733222_r8, 0.0038148142190959668_r8, & + 0.0034891821881715352_r8, 0.0032369518085596702_r8, & + 0.0030705529752052406_r8, 0.0030320571932584031_r8, & + 0.003418249488594594_r8, 0.0039299468304917059_r8, & + 0.0042924002967836437_r8, 0.0045451414939959829_r8, & + 0.004735378482039203_r8, 0.0048838845099992475_r8, & + 0.0053447271218936094_r8, 0.0065138183368452732_r8, & + 0.0083302687475540812_r8, 0.0099611175358858724_r8, & + 0.010991623125007335_r8, 0.011809964576527127_r8, 0.012328618704304309_r8, & + 0.012801919146481064_r8, 0.013042514236304354_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,86) / & + 0.00027010028911539092_r8, 0.000266768383778502_r8, & + 0.00027313911018653501_r8, 0.00028631247665738266_r8, & + 0.0002775507996603786_r8, 0.00027827579758090532_r8, & + 0.00025183651171318519_r8, 0.00035981492540865842_r8, & + 0.00044292745297883128_r8, 0.00060506475388641975_r8, & + 0.00082449231600329213_r8, 0.0010662559842674567_r8, & + 0.0014333671653443949_r8, 0.0017763528837042306_r8, & + 0.0020161729405218766_r8, 0.0022406292116194239_r8, & + 0.0026805795454777934_r8, 0.0031152080860897442_r8, & + 0.003564166904747851_r8, 0.0040359245941833741_r8, & + 0.0043475194451331684_r8, 0.0044161628652681483_r8, & + 0.0041938044604938277_r8, 0.0038317065629098921_r8, & + 0.0034293944189682304_r8, 0.0030963427146683785_r8, & + 0.0028850752355293499_r8, 0.002793293583888197_r8, & + 0.0031943408378408552_r8, 0.0038232533956663044_r8, & + 0.0043469332766016781_r8, 0.0046706062843976954_r8, & + 0.0048565296872936283_r8, 0.0048810716381778429_r8, & + 0.0051928515949796871_r8, 0.0063876732344252353_r8, & + 0.0084006847763400099_r8, 0.01065127417025743_r8, 0.012143687623309347_r8, & + 0.013011888113718827_r8, 0.013505784077422265_r8, 0.014002193348886518_r8, & + 0.014195595703070333_r8, 0.014393206323109331_r8, 0.014392581590858666_r8 & + / +data delta_sa_ref(:,21,86) / & + 0.00025608875435298759_r8, 0.00025930444268025673_r8, & + 0.00027831532548551111_r8, 0.00035016013412377277_r8, & + 0.0003301495554654814_r8, 0.00032100233841019253_r8, & + 0.00032243523579954562_r8, 0.00054116868844404935_r8, & + 0.00077223172327600979_r8, 0.0010304864853105775_r8, & + 0.0012284429258094616_r8, 0.0014567901202406713_r8, & + 0.0017601644884423107_r8, 0.0020343310761377184_r8, & + 0.0022609288028261135_r8, 0.00249109211139034_r8, 0.0029561172990280687_r8, & + 0.0034261909507236335_r8, 0.0039077444431315743_r8, & + 0.0043769516917545074_r8, 0.004638405480518794_r8, & + 0.0046491522109389427_r8, 0.0042636195052152097_r8, & + 0.0038064086068287199_r8, 0.003379105276045589_r8, 0.003028861833934064_r8, & + 0.0028349041768473281_r8, 0.0027872186846574615_r8, & + 0.0032089070570660342_r8, 0.0039572960342471103_r8, & + 0.0046595823710056288_r8, 0.0050274371217281563_r8, & + 0.0051123946076387546_r8, 0.0049456120161570759_r8, & + 0.0050410996317196638_r8, 0.0060053062819738854_r8, & + 0.0084911571308204457_r8, 0.011524450949702973_r8, 0.013346520413730491_r8, & + 0.014248238847477083_r8, 0.014833644672475076_r8, 0.015216283105689597_r8, & + 0.015342132317388797_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,86) / & + 0.00023562331832190946_r8, 0.00024777586166718681_r8, & + 0.00025629517040408231_r8, 0.00033780133004236381_r8, & + 0.00031959936158559344_r8, 0.00035253114325762636_r8, & + 0.00055282438711182224_r8, 0.000815419550531424_r8, & + 0.0010304426076008823_r8, 0.0012170799006856433_r8, & + 0.0013175397324927739_r8, 0.0014511282207536726_r8, & + 0.0016449603922254752_r8, 0.0019204955981172939_r8, & + 0.0022276023599164313_r8, 0.0025445528608023177_r8, & + 0.0031063261016293659_r8, 0.0036880910816562309_r8, & + 0.0042238768512942622_r8, 0.0045991201852811333_r8, & + 0.004734552137407368_r8, 0.0046914902533296996_r8, & + 0.0043090520409557864_r8, 0.0038622178772471055_r8, & + 0.0034226322850477568_r8, 0.0030678639283613232_r8, & + 0.0028756425505582616_r8, 0.0027974295690871833_r8, & + 0.0031996089527568865_r8, 0.0039149803187520796_r8, & + 0.0046956783168684247_r8, 0.0052001430985031648_r8, & + 0.0054254752350525633_r8, 0.0053915389445509969_r8, & + 0.0053679810871456622_r8, 0.0058641234348252406_r8, & + 0.0082546118712604651_r8, 0.012175494406480426_r8, 0.014226710896605958_r8, & + 0.015090164761781913_r8, 0.015910165741893235_r8, 0.016254035673162193_r8, & + 0.016323621959651795_r8, 0.016019343035626667_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,86) / & + 0.00023618784087819578_r8, 0.00026213329715094649_r8, & + 0.00025256638849580239_r8, 0.00025486244657303703_r8, & + 0.00028281695366336781_r8, 0.00032456694303441638_r8, & + 0.00061163160414066822_r8, 0.00095550456884116518_r8, & + 0.0011322245055189859_r8, 0.001255197549372207_r8, & + 0.0013390036691912691_r8, 0.0014404320347531059_r8, & + 0.0016467711206272525_r8, 0.0019855162222885922_r8, & + 0.0023773385331686712_r8, 0.0027621004654612533_r8, & + 0.0033470212606367595_r8, 0.003908866672136059_r8, & + 0.0043998978257699809_r8, 0.0047655833422042063_r8, & + 0.0049188260850423042_r8, 0.0048116193066527601_r8, & + 0.0044521140132097563_r8, 0.0040384982844132592_r8, & + 0.0036669769536993965_r8, 0.0033241180813163452_r8, & + 0.0031083268896909162_r8, 0.0031000802144301818_r8, & + 0.0035224592315547909_r8, 0.0042109513798308856_r8, & + 0.0049433747726514024_r8, 0.005482450941551459_r8, & + 0.0058664283873343191_r8, 0.0061582741110409803_r8, & + 0.0063421213946668826_r8, 0.0065941544280051613_r8, & + 0.007112485438837155_r8, 0.00800921741273199_r8, 0.0092419314283984332_r8, & + 0.0095100573004608373_r8, 0.010134915155817244_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,86) / & + 0.00031237283346054325_r8, 0.00034017778407506176_r8, & + 0.00034209255723093333_r8, 0.00034211292715812349_r8, & + 0.00043571274259674076_r8, 0.0005535527713916049_r8, & + 0.00082392281498611336_r8, 0.0012316880174780053_r8, & + 0.0013603648475380146_r8, 0.00146510701314963_r8, 0.0015416979393844939_r8, & + 0.0016113223505203359_r8, 0.0018341897239074765_r8, & + 0.0021160484064372148_r8, 0.0024631112259025385_r8, & + 0.0028146757992768795_r8, 0.0034414991987713577_r8, & + 0.0039919761111572548_r8, 0.0044563697112376885_r8, & + 0.0048218265749556937_r8, 0.004955595886813235_r8, & + 0.0048843011416478026_r8, 0.0046238512525948842_r8, & + 0.0043105006626292155_r8, 0.0040416176237195855_r8, & + 0.0037950600250103305_r8, 0.0036398819196759693_r8, & + 0.0036493335658921875_r8, 0.0040561006419517626_r8, & + 0.0046528783988408111_r8, 0.0052762440031947641_r8, & + 0.0058198915337414744_r8, 0.0062592392170955514_r8, & + 0.0066849928112900818_r8, 0.0070232562587077101_r8, & + 0.0073133276593820677_r8, 0.0075959633091346292_r8, & + 0.0079902353263563031_r8, 0.0083596798033835577_r8, & + 0.008406910844249332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,86) / & + 0.0003246091009390617_r8, 0.00034329832300457607_r8, & + 0.00035678049013623033_r8, 0.00042503396124023043_r8, & + 0.00060700000544342382_r8, 0.00088146149434311098_r8, & + 0.0012278926927228311_r8, 0.0014192573630514567_r8, & + 0.0015247164299899258_r8, 0.0016172550867605592_r8, & + 0.0016943022149520329_r8, 0.0017428293742111603_r8, & + 0.0019016985647865674_r8, 0.0021033693147975633_r8, & + 0.0023296061289571021_r8, 0.0025906286627992753_r8, & + 0.0031795228091780741_r8, 0.0037468541305610533_r8, & + 0.0041838794423751102_r8, 0.0045004510975241484_r8, & + 0.0046028637132357521_r8, 0.004577022892900082_r8, & + 0.0044223236674791767_r8, 0.0042393421395336946_r8, & + 0.0040847077322239992_r8, 0.0039555900546939249_r8, & + 0.0038744161734220904_r8, 0.0038880927948873743_r8, & + 0.0042162668919429793_r8, 0.0047740051328668967_r8, & + 0.0053361969181818592_r8, 0.0058468475020664349_r8, & + 0.0062906301019741246_r8, 0.0067024056728952107_r8, & + 0.0071024389799841181_r8, 0.0075036578411928224_r8, & + 0.0078652425880003946_r8, 0.0082059175812192429_r8, & + 0.008498983266641242_r8, 0.0085976972451805855_r8, & + 0.0086674130128734789_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,86) / & + 0.00024840834807901232_r8, 0.00027099923141235885_r8, & + 0.00029194548016532015_r8, 0.00032696249143935474_r8, & + 0.00043781543058670614_r8, 0.00068156398068796036_r8, & + 0.0011840912135834339_r8, 0.0014035814036240065_r8, & + 0.0015276142615613891_r8, 0.0016245334910693664_r8, & + 0.0017071078522928726_r8, 0.0017683019639713712_r8, & + 0.0019011747327783242_r8, 0.002063353976121863_r8, & + 0.0022465251525122633_r8, 0.0024758831500351465_r8, & + 0.0030163740311611787_r8, 0.0036109551162643227_r8, & + 0.0040235756587654057_r8, 0.0043479113033055338_r8, & + 0.0045050652743201186_r8, 0.0045890786908014611_r8, & + 0.0044202066984016328_r8, 0.004280207179746344_r8, & + 0.0041657680235278752_r8, 0.0040774831255669195_r8, & + 0.004022913236503862_r8, 0.0040911884137367974_r8, 0.004390626118101649_r8, & + 0.0049109082255048122_r8, 0.0054475665206890527_r8, & + 0.0059426312241760296_r8, 0.006385442232300656_r8, & + 0.0068793808179430042_r8, 0.0072825543481376195_r8, & + 0.007771786788678155_r8, 0.0081979685098755879_r8, & + 0.0085710674473554928_r8, 0.0088072751521158527_r8, & + 0.0090808498355967986_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,86) / & + 0.00026052673889659259_r8, 0.0003146065037359407_r8, & + 0.00034082772542340736_r8, 0.0003398886734070518_r8, & + 0.00042469229396100729_r8, 0.00058929125764835559_r8, & + 0.00090038233588717032_r8, 0.0011731408292532147_r8, & + 0.001358013685191111_r8, 0.0015070821732233479_r8, & + 0.0016154102506998518_r8, 0.0017011770015269926_r8, & + 0.0018564336015644443_r8, 0.0020244998342352589_r8, & + 0.0022401447024014221_r8, 0.0024559581183653924_r8, & + 0.0030261793966046809_r8, 0.0036359130943013928_r8, & + 0.0040474105035197619_r8, 0.0043896588460961179_r8, & + 0.004560710782613807_r8, 0.0045866189869624889_r8, & + 0.0044538514788039106_r8, 0.0043785828479544885_r8, & + 0.0043352660639179837_r8, 0.0043468477054530372_r8, & + 0.0044024444004726508_r8, 0.0046490779851785478_r8, & + 0.005057983972005629_r8, 0.0055759429638273352_r8, & + 0.0061467146022227293_r8, 0.006628131829523369_r8, & + 0.0070651371420706278_r8, 0.0075992838599651183_r8, & + 0.0080146789370077864_r8, 0.008434077626204798_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,86) / & + 0.00018476956261238517_r8, 0.00024114465727436373_r8, & + 0.00028584982888327904_r8, 0.00028564731394960328_r8, & + 0.00031964450844041483_r8, 0.00037951298570829947_r8, & + 0.00043307818566552759_r8, 0.00053775309200916534_r8, & + 0.00062804943806182715_r8, 0.00071859892778158342_r8, & + 0.0008199576520862813_r8, 0.00094432713572988286_r8, & + 0.0011023647270970731_r8, 0.0012768060280919967_r8, & + 0.0015366073736312361_r8, 0.0017641329016159077_r8, & + 0.0023362629036165266_r8, 0.0030755689833664524_r8, & + 0.0036616218870572765_r8, 0.0040910294895499322_r8, & + 0.0042778242014990748_r8, 0.0043972130834925884_r8, & + 0.0043870493652587387_r8, 0.0043526186622380274_r8, & + 0.0044127434474688452_r8, 0.0045244937193077792_r8, & + 0.0046627987618249418_r8, 0.0050799605394218931_r8, & + 0.0055944813713834467_r8, 0.0061342248054751438_r8, & + 0.0066500841345764608_r8, 0.0071514763031033188_r8, & + 0.0077010682124559375_r8, 0.0083690685015322275_r8, & + 0.0088887411687529668_r8, 0.0091959480959698543_r8, & + 0.0093818728751866032_r8, 0.0094407742758398465_r8, & + 0.0094514073947592515_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,29,86) / & + 0.00017964052460320661_r8, 0.00020642995548181069_r8, & + 0.00019416363529755389_r8, 0.00016392264246234075_r8, & + 0.00016817071871662878_r8, 0.00018420720657656627_r8, & + 0.00021492610799038681_r8, 0.00027572669937988474_r8, & + 0.00026818636402852348_r8, 0.00029107287484850041_r8, & + 0.00033251816880439837_r8, 0.00041394848050378273_r8, & + 0.00057574708483897931_r8, 0.00074436916165762635_r8, & + 0.00092597442152844126_r8, 0.0011191291387156015_r8, & + 0.0015577695624474338_r8, 0.0021412693864504887_r8, & + 0.002870531326928803_r8, 0.0035127873556239802_r8, & + 0.0038329861032909427_r8, 0.0040117239116901132_r8, & + 0.0040333359996338036_r8, 0.0040752061012151322_r8, & + 0.0041862667447881748_r8, 0.0043230548001762506_r8, & + 0.0045239357060508981_r8, 0.0050136061457873651_r8, & + 0.0056398787875757833_r8, 0.006275148722118401_r8, & + 0.0068278002111342622_r8, 0.0074514443557403389_r8, & + 0.0080065185757449732_r8, 0.0085895013292164521_r8, & + 0.0090653781326028669_r8, 0.0093361688494740802_r8, & + 0.0095701022184498108_r8, 0.0097615863891322881_r8, & + 0.009833610767795823_r8, 0.0098591942380984888_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,86) / & + 0.00021820806354212342_r8, 0.00023290716778429622_r8, & + 0.00019836844080316048_r8, 0.00016863679328118521_r8, & + 0.00017030398846933333_r8, 0.00017955692176355553_r8, & + 0.00021876379527150619_r8, 0.00024946797331990125_r8, & + 0.00024913453428227161_r8, 0.00027644874878143209_r8, & + 0.00032243554938785177_r8, 0.00039034596671841967_r8, & + 0.0005241105939808395_r8, 0.00064692730617441963_r8, & + 0.00076854919514982706_r8, 0.00089069902926814791_r8, & + 0.0011352765633694814_r8, 0.0014851652601888393_r8, & + 0.0019991337501084443_r8, 0.0025130188802686415_r8, & + 0.0028490698570263705_r8, 0.0030714459085388638_r8, & + 0.0031249073009054812_r8, 0.0032279955367059757_r8, & + 0.0032985734663375801_r8, 0.0034093585865900247_r8, & + 0.0035521538544549132_r8, 0.0039567265534455305_r8, & + 0.0047523607237561476_r8, 0.0054294399495728876_r8, & + 0.0062390542462007889_r8, 0.0070663552013053412_r8, & + 0.0078588246778927406_r8, 0.0085291760764606411_r8, & + 0.0090627896830139266_r8, 0.0094289196396244914_r8, & + 0.0097514722896267503_r8, 0.010026893927086913_r8, 0.010147438490409789_r8, & + 0.010211662223142754_r8, 0.010204735027136_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,31,86) / & + 0.00026593496664562298_r8, 0.00026198787994216296_r8, & + 0.00023290713820049377_r8, 0.0002212400142682074_r8, & + 0.00023090457215241478_r8, 0.00023987258532424689_r8, & + 0.00025725718043728067_r8, 0.00030540583368022373_r8, & + 0.00033312250869349129_r8, 0.00037662753052059906_r8, & + 0.00043011635989175309_r8, 0.00047861328549088388_r8, & + 0.00057714533959564104_r8, 0.00068580631472618919_r8, & + 0.00076759227303759003_r8, 0.00086615334983869603_r8, & + 0.0010796733268780769_r8, 0.0013837441165262484_r8, & + 0.0017862598921901296_r8, 0.0020863255497421429_r8, & + 0.0023129637855312584_r8, 0.0024773483376518317_r8, & + 0.0025535909609605795_r8, 0.0026427777068409679_r8, & + 0.0026881982266271074_r8, 0.0027742795439981557_r8, & + 0.0028720279853014911_r8, 0.0031922063714233408_r8, & + 0.0039237234328991597_r8, 0.0046577654689573386_r8, & + 0.0056122639064823034_r8, 0.0066404509700373074_r8, & + 0.007592308342194513_r8, 0.0083770602844484322_r8, & + 0.0089896796511814737_r8, 0.0094432831463560647_r8, & + 0.0098527384560219613_r8, 0.010154620623407957_r8, 0.010358496358450578_r8, & + 0.010439657914180526_r8, 0.010495709862249245_r8, 0.010479365938105292_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,86) / & + 0.00025468837202786499_r8, 0.00025329646694133989_r8, & + 0.00023502014797914075_r8, 0.00023232711422477691_r8, & + 0.00024930230451913736_r8, 0.00025974159266807566_r8, & + 0.00033575171391483786_r8, 0.00043212601175358678_r8, & + 0.00048420141727336286_r8, 0.00053246421320830948_r8, & + 0.0005821491730360098_r8, 0.00062765841760413488_r8, & + 0.00072173304616949456_r8, 0.00081937821386985352_r8, & + 0.00091611561738334801_r8, 0.0010171497713813333_r8, & + 0.0012244831116611161_r8, 0.0015369355447797728_r8, & + 0.0018898440018263439_r8, 0.0021438666801171752_r8, & + 0.0023000021202578174_r8, 0.0024219753681661363_r8, & + 0.0024984091127001019_r8, 0.0025909708009540216_r8, & + 0.0026838955948826865_r8, 0.002773401143707496_r8, & + 0.0028583678715979844_r8, 0.0031042509310132672_r8, & + 0.0036021898463145076_r8, 0.0043976333444573747_r8, & + 0.005355294302792875_r8, 0.006525735186529341_r8, 0.0075535663165094457_r8, & + 0.0084057753351375521_r8, 0.0090675051685553225_r8, & + 0.0095611775921783035_r8, 0.01001567674912314_r8, 0.010368143967934595_r8, & + 0.010645819630852989_r8, 0.010758841648459047_r8, 0.010822724499454756_r8, & + 0.010781705877865316_r8, 0.010899433815259731_r8, 0.010899433815259731_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,33,86) / & + 0.00026065192571512097_r8, 0.00029047761127000486_r8, & + 0.000235928416569837_r8, 0.00024783349485890368_r8, & + 0.00029072957059887407_r8, 0.0003177522086200889_r8, & + 0.00041107164504999502_r8, 0.00052353999047395551_r8, & + 0.00058338033108037523_r8, 0.00063622880031067642_r8, & + 0.00068400658804748627_r8, 0.00073055607405605929_r8, & + 0.00081710410352260729_r8, 0.00090163645835820224_r8, & + 0.00098279885717017274_r8, 0.0010598039270558024_r8, & + 0.0012635130444464985_r8, 0.0015706514663379751_r8, & + 0.0019446535951280985_r8, 0.0022363910030424486_r8, & + 0.0024137388756502115_r8, 0.0025388366824337376_r8, & + 0.0026323135934441873_r8, 0.0027130350634306365_r8, & + 0.002771048698902755_r8, 0.0028201177782000196_r8, & + 0.0028654704573964642_r8, 0.0030243308142484534_r8, & + 0.0034302687879727406_r8, 0.0041719740623312575_r8, & + 0.0051784256014990211_r8, 0.0063294545530635056_r8, & + 0.0074926287316523848_r8, 0.0085178945463305466_r8, & + 0.0093448053793564814_r8, 0.0098873824718723052_r8, & + 0.010367634274900735_r8, 0.010719296806610854_r8, 0.010914233605649163_r8, & + 0.011041953026753207_r8, 0.011153357631385597_r8, 0.01118380061729621_r8, & + 0.011168664160614399_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,86) / & + 0.00032492089498761481_r8, 0.0003699915177737481_r8, & + 0.00028475992609975308_r8, 0.00044602569114498105_r8, & + 0.00048991799699552919_r8, 0.00051652832112416126_r8, & + 0.0005882419990649152_r8, 0.00072774163182780574_r8, & + 0.00079520027639005768_r8, 0.00084776630412755237_r8, & + 0.00089133129971821561_r8, 0.0009303466826964807_r8, & + 0.00097538457445662554_r8, 0.0010588159597012543_r8, & + 0.0011272565350431603_r8, 0.001203650749700267_r8, & + 0.0014297894082546567_r8, 0.0017556922340219256_r8, & + 0.0021775296969614227_r8, 0.0025099787279263871_r8, & + 0.0026900975639409775_r8, 0.0028086820710972312_r8, & + 0.0028680888832663177_r8, 0.0029046167082694583_r8, & + 0.0029213749935755582_r8, 0.0029264810336297612_r8, & + 0.0029334200111393182_r8, 0.0030031698275207637_r8, & + 0.0032536276383845924_r8, 0.0038945993203169443_r8, & + 0.0049419594209222329_r8, 0.0061951731267255502_r8, & + 0.0075144094033258758_r8, 0.0087242872307204521_r8, & + 0.0098245243038101223_r8, 0.01058257077432501_r8, 0.011034551057372947_r8, & + 0.011315496299290262_r8, 0.011411694684238867_r8, 0.011485938908850487_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,86) / & + 0.00037445370581227978_r8, 0.00040543173372418106_r8, & + 0.00034320394081343203_r8, 0.00065373149692154716_r8, & + 0.00073620370280981051_r8, 0.00071011694246294655_r8, & + 0.00077587731750399988_r8, 0.00092679330216691354_r8, & + 0.001044897033581037_r8, 0.00111972663389893_r8, 0.0011675863283373826_r8, & + 0.0012016553656133003_r8, 0.0012623886045458434_r8, & + 0.0013443513033960823_r8, 0.0014412255748925103_r8, & + 0.0015548116772361477_r8, 0.0018557605010293991_r8, & + 0.0022123814605108155_r8, 0.0026107480299743862_r8, & + 0.0028537149528404275_r8, 0.0029703241302763451_r8, & + 0.0030225316181059416_r8, 0.0030362203738608724_r8, & + 0.0030376130264314727_r8, 0.0030290533081926579_r8, & + 0.0030195764772853986_r8, 0.0030185574632093496_r8, & + 0.0030927077208098763_r8, 0.0033651920847454814_r8, & + 0.0039375043569906823_r8, 0.0048691209924508977_r8, & + 0.0062369775538678503_r8, 0.007670433146430484_r8, & + 0.0090431985655364082_r8, 0.010321643071273603_r8, 0.011214393054138898_r8, & + 0.011679559878245895_r8, 0.011886518968245134_r8, 0.011847408844072758_r8, & + 0.011887155852042666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,86) / & + 0.0004713010540762073_r8, 0.00047080820863573328_r8, & + 0.00039406513290477033_r8, 0.00076577620475946646_r8, & + 0.0008920150440123257_r8, 0.000912468129792_r8, 0.0010241328253051258_r8, & + 0.0011976496235977479_r8, 0.0013070261081372444_r8, & + 0.0013689486174082372_r8, 0.0014183387711928885_r8, & + 0.0014316103948399405_r8, 0.0015076846089016886_r8, & + 0.0015862582534115551_r8, 0.0016947194535615994_r8, & + 0.0018042015478383407_r8, 0.0020896646676100742_r8, & + 0.0024419435478117918_r8, 0.0027888011281682955_r8, & + 0.0030088214140942212_r8, 0.0031254849705035842_r8, & + 0.0031735814050069919_r8, 0.0031873194716602062_r8, & + 0.0031871164243677664_r8, 0.0031870083001129686_r8, & + 0.0031849036489207407_r8, 0.0031954778238623398_r8, & + 0.0033140482646583543_r8, 0.0036928662432002134_r8, & + 0.0043211314036923848_r8, 0.0050731485455770657_r8, & + 0.0062634570351775484_r8, 0.0076595762720094718_r8, & + 0.0091434059043334383_r8, 0.010507297575489953_r8, 0.011527573445182801_r8, & + 0.011904857630880001_r8, 0.012326874140908797_r8, 0.012162915023836799_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,86) / & + 0.00066698596541461071_r8, 0.00064931287793503877_r8, & + 0.00051827695509680982_r8, 0.00090169185501445261_r8, & + 0.0011019625535458502_r8, 0.0012560281491409645_r8, 0.00150024471055971_r8, & + 0.0016118220174925956_r8, 0.0016667361264239668_r8, & + 0.0017085685066848921_r8, 0.0017433316519539887_r8, 0.00176246231365868_r8, & + 0.0018326080732425482_r8, 0.0018843155188786567_r8, & + 0.0019444040163092014_r8, 0.0020123998539110185_r8, & + 0.0021896773190411586_r8, 0.0024242374512184893_r8, & + 0.002679107969238966_r8, 0.0029366047236757749_r8, & + 0.0031297918717542042_r8, 0.0032056429933049681_r8, & + 0.0032225983556192243_r8, 0.003214737866048045_r8, & + 0.0031965481205618903_r8, 0.0031686843768592848_r8, & + 0.0031600755790921744_r8, 0.0032111128008658393_r8, & + 0.0033581690261248001_r8, 0.0036276810073771564_r8, & + 0.0039543132402630483_r8, 0.0043428515135819851_r8, & + 0.0052390683554133328_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,86) / & + 0.0010050488828431618_r8, 0.00099506421170742019_r8, & + 0.00093347289891617356_r8, 0.0010932700219867383_r8, & + 0.0013094875002076021_r8, 0.001464476964768901_r8, & + 0.0017387254242905226_r8, 0.0018562950782885204_r8, & + 0.0019286158254354577_r8, 0.0019844851769027041_r8, & + 0.0020239152426613158_r8, 0.0020861604938895916_r8, & + 0.0022032396940598184_r8, 0.0022523092967790732_r8, & + 0.002290286166010954_r8, 0.0023230315277466074_r8, & + 0.0024231083285540908_r8, 0.0025317105489850579_r8, & + 0.0026786771577217016_r8, 0.0029125691386989198_r8, & + 0.0031054002444819745_r8, 0.0031709151878953931_r8, & + 0.0031505865831492454_r8, 0.0031437630181248427_r8, & + 0.0031408986063043774_r8, 0.0031587600062806982_r8, & + 0.0031865305919065129_r8, 0.0032865419988702934_r8, & + 0.0034294751799138564_r8, 0.0037053443572284831_r8, & + 0.0040111937862209578_r8, 0.0043670008824767993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,86) / & + 0.0012117881718798692_r8, 0.0012801421907845925_r8, & + 0.001360543233429333_r8, 0.0016453759652669629_r8, & + 0.0018177873190733508_r8, 0.0019723499332494222_r8, & + 0.0022350030671160885_r8, 0.0022432620489921179_r8, & + 0.0022472777235721234_r8, 0.0022529218475821032_r8, & + 0.0022589336859794962_r8, 0.0022671051168109031_r8, & + 0.0022821347128043844_r8, 0.0022769400174901333_r8, & + 0.0023171551306532738_r8, 0.0023753765753270514_r8, & + 0.0024603594559736886_r8, 0.0024959051800903112_r8, & + 0.0025429419788135996_r8, 0.0026093275583983998_r8, & + 0.0026559484896597333_r8, 0.0027231876919295997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,86) / & + 0.0012340776009703064_r8, 0.0013081721767558847_r8, & + 0.001385075067885761_r8, 0.0017164189328590113_r8, & + 0.0018703551950958843_r8, 0.0019431529854071602_r8, & + 0.0022124887504847732_r8, 0.0021841093554613162_r8, & + 0.0021701128686849383_r8, 0.0021553134282032093_r8, & + 0.0021605677565125921_r8, 0.0021995812696712753_r8, & + 0.0022131784303638324_r8, 0.002245126811222979_r8, & + 0.0023077073024028584_r8, 0.0023718600056147326_r8, & + 0.0024989796214771849_r8, 0.0025389928119990278_r8, & + 0.0026101888530527212_r8, 0.0026854098429390711_r8, & + 0.0027154334290588212_r8, 0.002820380625424761_r8, & + 0.0028693149183822218_r8, 0.0029385546200866664_r8, & + 0.0030313710499644442_r8, 0.0030959496054093335_r8, & + 0.0034035039594773331_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,86) / & + 0.0013538216577183716_r8, 0.0013902603683141257_r8, & + 0.0016072007256442125_r8, 0.0023689169188958826_r8, & + 0.002432656979178134_r8, 0.0024202520387834547_r8, 0.002563404645968056_r8, & + 0.0023951298581400032_r8, 0.0022724332608967247_r8, & + 0.0021993816989070562_r8, 0.0021774818379128964_r8, & + 0.0021843443057432015_r8, 0.0021778636034231304_r8, & + 0.002185720612530387_r8, 0.002220757907093333_r8, 0.0022604242747420442_r8, & + 0.0024185310641023998_r8, 0.0024671363315029332_r8, & + 0.0025945156529664001_r8, 0.0027118387122090663_r8, & + 0.0027654721107199997_r8, 0.003070512064750933_r8, & + 0.0032112997358421332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,42,86) / & + 0.0015844416174993201_r8, 0.0018705709642149293_r8, & + 0.0022372637225527461_r8, 0.003104781660603391_r8, & + 0.0032459426218447995_r8, 0.0033329383719862397_r8, & + 0.0031988199238515195_r8, 0.0031566166283959998_r8, & + 0.0028070801322920003_r8, 0.0026267020392407997_r8, & + 0.0025385267832277333_r8, 0.0024579751627263999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,86) / & + 0.0033338643899839047_r8, 0.0035085184701723416_r8, & + 0.0034885464409836961_r8, 0.0043469555703635442_r8, & + 0.0043462451029220497_r8, 0.0040718796808631389_r8, & + 0.004292966623212287_r8, 0.0040352906076262319_r8, & + 0.0036817672714609382_r8, 0.0032991345054011246_r8, & + 0.0031712503659323257_r8, 0.0029788978845502415_r8, & + 0.0027664812763482077_r8, 0.0027792433766861435_r8, & + 0.0026801726390112395_r8, 0.0026889876980075462_r8, & + 0.0025830754220071504_r8, 0.0027364837621518222_r8, & + 0.002816871837476346_r8, 0.0029454796011911108_r8, & + 0.0030152106648932337_r8, 0.0030280385492535305_r8, & + 0.003196314078451674_r8, 0.0033265664427254518_r8, & + 0.0033928767372648299_r8, 0.0034951051080130374_r8, & + 0.0036150951647985789_r8, 0.0038505361808267849_r8, & + 0.0039109012443453335_r8, 0.0039855003257021331_r8, & + 0.0040126186142055613_r8, 0.0040626896529393774_r8, & + 0.0041171588234538668_r8, 0.0041278158350762659_r8, & + 0.0041739962187733329_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,86) / & + 0.0032958284927942852_r8, 0.0035765720617170964_r8, & + 0.0034671785669842439_r8, 0.0043108522217458574_r8, & + 0.0043526075292984624_r8, 0.004288080698728507_r8, & + 0.0042312646214970988_r8, 0.0039276142531825785_r8, & + 0.0032853671198437404_r8, 0.0029820323964027265_r8, & + 0.002913898195849824_r8, 0.0028302973964950393_r8, & + 0.0027200020592664498_r8, 0.0027798393088585751_r8, & + 0.0026493877918502716_r8, 0.0026908274545293697_r8, & + 0.0025284056210472037_r8, 0.002684063635811345_r8, & + 0.0027636963281848889_r8, 0.0029070780119758162_r8, & + 0.0030275979884998197_r8, 0.0030372646127509958_r8, & + 0.0032199279789633661_r8, 0.0033499237434247149_r8, & + 0.0033993261922112598_r8, 0.0035099653568913479_r8, & + 0.0036425917637041018_r8, 0.0039407529710423408_r8, & + 0.0040212955580767621_r8, 0.0040943713723763922_r8, & + 0.004109926222908216_r8, 0.004151523708024068_r8, 0.0041985863586640835_r8, & + 0.0042147654130375986_r8, 0.0042376406479419579_r8, & + 0.004230038115702898_r8, 0.0042478134312938665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,86) / & + 0.0029172426087253336_r8, 0.0035701464198826657_r8, & + 0.0034877284904106663_r8, 0.0040793863753386663_r8, & + 0.0043905267993599988_r8, 0.004476650987605333_r8, & + 0.0040833242752853329_r8, 0.0032959295988906662_r8, & + 0.0025543535465813328_r8, 0.0024862047133866667_r8, 0.002483934629888_r8, & + 0.0024942194979839993_r8, 0.0024445556304213325_r8, & + 0.0025070987472213336_r8, 0.0025015856872959994_r8, & + 0.0025538902642346655_r8, 0.0025140943106559993_r8, & + 0.0025759888321706666_r8, 0.0026588237157546663_r8, & + 0.002774783287125332_r8, 0.002911590564095999_r8, 0.0030100843909973336_r8, & + 0.0031653766335999994_r8, 0.0033214101279573334_r8, & + 0.0034720695470933315_r8, 0.0036185130968746657_r8, & + 0.0038118871483733326_r8, 0.0041414198815573336_r8, & + 0.0041685682270720011_r8, 0.0041763976987306672_r8, & + 0.0041990522054826673_r8, 0.0042263858639359992_r8, & + 0.0042537658506240006_r8, 0.0042607614140586659_r8, & + 0.0042801266161493316_r8, 0.004292125628927999_r8, & + 0.0043642586903039982_r8, 0.00437176386432_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,87) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,87) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,87) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,87) / & + 0.0047349867983323352_r8, 0.0048915970150158724_r8, & + 0.0049402575495026448_r8, 0.0050175921184973547_r8, & + 0.0049275722395238095_r8, 0.004923739486222223_r8, & + 0.0051187235548148143_r8, 0.0053292862688888885_r8, & + 0.0056153847511111101_r8, 0.0058880041133333319_r8, & + 0.0061290889911111111_r8, 0.0062402917311111111_r8, & + 0.0063349991900000001_r8, 0.0065518351725000002_r8, & + 0.0068500673885714281_r8, 0.0071564766699999992_r8, & + 0.0076151786120000004_r8, 0.0076963528680000001_r8, & + 0.0079214167300000003_r8, 0.0080973941299999994_r8, & + 0.0082931533866666667_r8, 0.0085153092533333322_r8, & + 0.0085904428666666657_r8, 0.0087434558400000008_r8, & + 0.008877747813333333_r8, 0.0089436457333333334_r8, & + 0.0089973125999999997_r8, 0.0090336313399999989_r8, & + 0.0090781873199999984_r8, 0.0090957850600000001_r8, & + 0.0090841780399999999_r8, 0.0090800594199999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,87) / & + 0.0051531193476543214_r8, 0.005211223784691358_r8, & + 0.0051051103832098765_r8, 0.0051448728627160496_r8, & + 0.0049777983382716046_r8, 0.0050204544834567908_r8, 0.00535069292345679_r8, & + 0.0055584081965432087_r8, 0.0058354142819753083_r8, & + 0.0061613076009876533_r8, 0.0064203415264197528_r8, & + 0.0066528147441975299_r8, 0.0069056626503086428_r8, & + 0.0071177923814197529_r8, 0.0073806999359876538_r8, & + 0.0076034359225308629_r8, 0.0078743542161111117_r8, & + 0.0080341277156437373_r8, 0.0082342834357231037_r8, & + 0.0083816112672839508_r8, 0.008536288659682539_r8, & + 0.0087252660937742494_r8, 0.00876846669978836_r8, 0.0088831146650881834_r8, & + 0.0089779784624867739_r8, 0.0090244786860229267_r8, & + 0.0090670390800617288_r8, 0.0091050012729276888_r8, & + 0.0091269911840476167_r8, 0.0091406835979806009_r8, & + 0.0091306520145149912_r8, 0.0091302310396472654_r8, & + 0.0090985119866137543_r8, 0.0090877434494973548_r8, & + 0.0091010576464021168_r8, 0.0091370374273439144_r8, & + 0.0092256014266455019_r8, 0.0092589636353862456_r8, & + 0.0091665254786666654_r8, 0.008775393866000002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,87) / & + 0.0047111743185185182_r8, 0.0045536498153086417_r8, & + 0.0044348061338271615_r8, 0.00495507428_r8, 0.0049813391496296286_r8, & + 0.0051400377599999988_r8, 0.0056704291135802462_r8, & + 0.0058335930291358029_r8, 0.0060868396232098771_r8, & + 0.0065857334720987645_r8, 0.0070531945308641977_r8, & + 0.0074865417674074069_r8, 0.0079707176745679002_r8, & + 0.0081613945264197522_r8, 0.0083185307422222222_r8, & + 0.0084355531708641979_r8, 0.0085752626780246904_r8, & + 0.0086951140577777759_r8, 0.0088091411264197526_r8, & + 0.0088658958024691367_r8, 0.0089354084933333331_r8, & + 0.0090916017254320993_r8, 0.0090351151525925912_r8, & + 0.0090772998059259254_r8, 0.0091309666725925935_r8, & + 0.009144418057777777_r8, 0.0091381777244444427_r8, & + 0.0091130407372839502_r8, 0.0091132256360493824_r8, & + 0.0091274905758024702_r8, 0.0091534596074074066_r8, & + 0.0091261500597530857_r8, 0.0091068096488888875_r8, & + 0.0090865817239506163_r8, 0.0090840578558024684_r8, & + 0.0090881626083950603_r8, 0.009065207426666666_r8, & + 0.0089754390760493838_r8, 0.0088863548508641976_r8, & + 0.0086985439298765416_r8, 0.0086178517974074068_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,87) / & + 0.0030072582355555547_r8, 0.0028474317427160493_r8, & + 0.0029967652306172841_r8, 0.0037842768074074079_r8, 0.00407691608345679_r8, & + 0.0045758099323456791_r8, 0.0053439348735802462_r8, & + 0.0056748851738271594_r8, 0.0059196818943209866_r8, & + 0.006368135359999999_r8, 0.0068569984508641988_r8, & + 0.0074799871061728392_r8, 0.0079645513007407399_r8, & + 0.0082475943308641959_r8, 0.0083495567550617277_r8, & + 0.0084712293876543204_r8, 0.0086032748409876538_r8, & + 0.0086962142054320991_r8, 0.0087509627298765422_r8, & + 0.0087967529091358011_r8, 0.0088223706330864196_r8, & + 0.0089263761886419751_r8, 0.0089014148553086397_r8, & + 0.0089429616079012356_r8, 0.0089820492069135789_r8, & + 0.0090193987575308641_r8, 0.0090433154128395036_r8, & + 0.0091031394083950622_r8, 0.0091767660967901222_r8, & + 0.0092106487955555556_r8, 0.0092163159427160503_r8, & + 0.0091922421234567897_r8, 0.0091443163634567903_r8, & + 0.0091026448041975298_r8, 0.0090700991546296284_r8, & + 0.009004787627857145_r8, 0.0088938503496560836_r8, & + 0.0088042492333686041_r8, 0.0087487109270546742_r8, & + 0.0086926743846031732_r8, 0.0086694660896719563_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,87) / & + 0.0014781454454320987_r8, 0.0015105581990123456_r8, & + 0.0016801288567901231_r8, 0.0021534142266666665_r8, & + 0.0023503499017283949_r8, 0.0026521971362962965_r8, & + 0.0033247479056790117_r8, 0.0040463245827160495_r8, & + 0.0045279673767901233_r8, 0.0049509880172839511_r8, & + 0.0053170690829629627_r8, 0.0058453433456790126_r8, & + 0.0064190657249382698_r8, 0.0067874950049382722_r8, & + 0.0069707389264197523_r8, 0.0071294005570370373_r8, & + 0.0073595717851851847_r8, 0.0075482979550617292_r8, & + 0.007729609684444444_r8, 0.0078598893545678995_r8, & + 0.0079704957960493837_r8, 0.0081399740044444443_r8, & + 0.0082517175733333344_r8, 0.0083469589274074076_r8, & + 0.008420687310123456_r8, 0.0084840521170370369_r8, & + 0.0085430348232098767_r8, 0.0087027688666666669_r8, & + 0.0088673010330864183_r8, 0.0089747364607407395_r8, & + 0.0090473369609876553_r8, 0.0090860362725925931_r8, & + 0.0091116355066666651_r8, 0.0091408726239506164_r8, & + 0.0091720442445678996_r8, 0.009167664785238094_r8, & + 0.0091442847325608478_r8, 0.0090825513931111126_r8, & + 0.0090416952374074051_r8, 0.0088161557233333316_r8, & + 0.0087531907600000014_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,87) / & + 0.00081744668691358037_r8, 0.00086742482320987624_r8, & + 0.00091509172493827167_r8, 0.001556625726419753_r8, & + 0.0015563021535802467_r8, 0.0016520704691358025_r8, & + 0.0018640199239506171_r8, 0.0022329946553086414_r8, & + 0.0028194103348148144_r8, 0.0033390220903703701_r8, & + 0.0037781474133333336_r8, 0.0042718640967901239_r8, & + 0.0050460999422222222_r8, 0.005590127579753087_r8, 0.005928815893333334_r8, & + 0.0061631011190123449_r8, 0.0064987386029629647_r8, & + 0.0067659450538271586_r8, 0.0069756202538271616_r8, & + 0.007119018491358025_r8, 0.0072278036800000004_r8, & + 0.0073309402113580233_r8, 0.0074440427861728383_r8, & + 0.0075875334730864203_r8, 0.0077205034202469137_r8, & + 0.0078161977762962968_r8, 0.0078963698809876547_r8, & + 0.0080607633733333333_r8, 0.008236537384691359_r8, & + 0.0084167212316049386_r8, 0.0085987078414814823_r8, & + 0.008726630052345679_r8, 0.0088250331753086404_r8, & + 0.0089207182864197519_r8, 0.0090435372913580236_r8, & + 0.0091130499822222218_r8, 0.0091596590318888862_r8, & + 0.0091410978702680754_r8, 0.0090786657455555562_r8, & + 0.0088160184360000001_r8, 0.0087661082499999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,87) / & + 0.00049988305728395071_r8, 0.00051515569530864193_r8, & + 0.00053712166864197533_r8, 0.0006569915382716048_r8, & + 0.00067029500444444438_r8, 0.00073035936839506172_r8, & + 0.0008011108809876542_r8, 0.00093301766024691353_r8, & + 0.0012317585955555555_r8, 0.0015919136558024689_r8, & + 0.0019299455787654318_r8, 0.0022348621328395061_r8, & + 0.0026512264177777781_r8, 0.0030817354582716042_r8, & + 0.0035086112380246911_r8, 0.0038630529264197526_r8, & + 0.0044783590380246922_r8, 0.0050178381659259251_r8, & + 0.0054317987669135794_r8, 0.005723726182716049_r8, & + 0.0059362118439506171_r8, 0.006088744080493827_r8, & + 0.0061833105540740748_r8, 0.0062652207071604944_r8, & + 0.0063253035609876539_r8, 0.0063793679599999991_r8, & + 0.0064562673565432089_r8, 0.0067267927402469138_r8, & + 0.0071592801975308628_r8, 0.0075864240804938273_r8, & + 0.0079230322829629638_r8, 0.0081822233723456792_r8, & + 0.0084099816716049387_r8, 0.0086215428390123451_r8, & + 0.0088322869850000017_r8, 0.0090444353710758384_r8, & + 0.0090949391481481463_r8, 0.0090812866855555559_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,87) / & + 0.00024066423308641977_r8, 0.00023810338518518511_r8, & + 0.00021838393185185184_r8, 0.00023325903753086414_r8, & + 0.00023664268493827159_r8, 0.00026481201185185187_r8, & + 0.00033416753876543208_r8, 0.00039786516345679011_r8, & + 0.00052488137037037049_r8, 0.00065852619802469136_r8, & + 0.00077805400493827172_r8, 0.00087961889679012337_r8, & + 0.0010544869041975307_r8, 0.0012469387841975306_r8, & + 0.0014680777076543211_r8, 0.0016582091081481483_r8, & + 0.0021321786034567895_r8, 0.0026867732054320988_r8, & + 0.0032155189599999997_r8, 0.0037104005056790121_r8, & + 0.0041805148617283941_r8, 0.0045472892977777776_r8, & + 0.0048316543540740733_r8, 0.0050553263906172839_r8, & + 0.0052075905239506171_r8, 0.0052935499599999995_r8, & + 0.0053671396686419751_r8, 0.0053922489209876539_r8, & + 0.0055524914360493812_r8, 0.0059510314799999997_r8, & + 0.0065218937064814809_r8, 0.007094684988386243_r8, & + 0.0075344733054938271_r8, 0.0079157089051111098_r8, & + 0.0082979787491798927_r8, 0.008876239732777777_r8, & + 0.0091088897599999989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,87) / & + 0.00010182375012345679_r8, 9.2051850370370369e-05_r8, & + 5.5552834074074076e-05_r8, 0.00010712109975308644_r8, & + 0.00011134603654320989_r8, 0.00012497307555555556_r8, & + 0.0001937369264197531_r8, 0.00021938238518518516_r8, & + 0.00026055009530864191_r8, 0.0003019859086419753_r8, & + 0.00034172065333333334_r8, 0.00038697462617283954_r8, & + 0.00047208352790123454_r8, 0.00057266845629629624_r8, & + 0.00068402373777777775_r8, 0.00080381040296296309_r8, & + 0.0010857902651851851_r8, 0.0014336495575308645_r8, & + 0.0018131727634567898_r8, 0.0022261996256790124_r8, & + 0.0026882893753086418_r8, 0.0031295040543209873_r8, & + 0.003583975974814814_r8, 0.004020910247407407_r8, 0.0043868433940740751_r8, & + 0.0046306046814814815_r8, 0.0047984280459259267_r8, & + 0.0049074998276543219_r8, 0.0048565509728395054_r8, & + 0.0049140602669753087_r8, 0.0051488285406790131_r8, & + 0.0055880964998324522_r8, 0.0061027651849999993_r8, & + 0.0069660771662962955_r8, 0.0073181013033333337_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,87) / & + 6.9586650370370386e-05_r8, 6.4030442469135816e-05_r8, & + 4.1731651358024691e-05_r8, 0.00010790691950617282_r8, & + 0.000107130344691358_r8, 0.00012058172987654321_r8, & + 0.00014966630567901236_r8, 0.00015532420790123459_r8, & + 0.00017027327308641977_r8, 0.00018805128938271604_r8, & + 0.00020899107456790126_r8, 0.00025859941333333331_r8, 0.0003220012_r8, & + 0.00038022582123456786_r8, 0.00045733785135802465_r8, & + 0.00055104454567901228_r8, 0.00079150539012345683_r8, & + 0.0010888873195061726_r8, 0.0014068854612345675_r8, & + 0.0017950526844444444_r8, 0.0022375616548148147_r8, & + 0.0026876607195061722_r8, 0.0031767826686419755_r8, & + 0.003652619641481481_r8, 0.0040488576958024698_r8, & + 0.0043126527644444445_r8, 0.004487419077530864_r8, & + 0.0045695603540740733_r8, 0.0044045289609876536_r8, & + 0.0043106547021604935_r8, 0.0043381884395679009_r8, & + 0.0044876201549382717_r8, 0.0047378337158888876_r8, & + 0.004911267139999999_r8, 0.0055159910990476195_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,87) / & + 0.00011060644148148146_r8, 0.00010974666222222222_r8, & + 0.00010332143012345679_r8, 0.00011582983160493828_r8, & + 0.00011600548543209876_r8, 0.00012954931999999998_r8, & + 0.00013694527061728392_r8, 0.00013064946765432099_r8, & + 0.0001302889150617284_r8, 0.00014141982074074072_r8, & + 0.00016810995753086417_r8, 0.00021090477679012345_r8, & + 0.00026561632148148145_r8, 0.00030830020148148141_r8, & + 0.00036277137777777782_r8, 0.00043941191604938263_r8, & + 0.00067434428740740734_r8, 0.00095142433234567917_r8, & + 0.0012518570913580248_r8, 0.0016257223950617281_r8, & + 0.0020850016834567898_r8, 0.0026248968335802468_r8, & + 0.0031249832795061726_r8, 0.0035902163081481474_r8, & + 0.0039529229713580246_r8, 0.0042179845965432099_r8, & + 0.0043661809570370372_r8, 0.0043402211703703697_r8, & + 0.0041059821693827155_r8, 0.0039267043264197528_r8, & + 0.0038130285654320987_r8, 0.0037804863827160494_r8, & + 0.0038435422436031747_r8, 0.0042225596853703697_r8, & + 0.0048332040368518512_r8, 0.0052203508500000004_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,87) / & + 0.00013488364938271603_r8, 0.00013487440444444443_r8, & + 0.00012972497382716049_r8, 0.0001067235674074074_r8, & + 0.00013075116197530865_r8, 0.00014107775802469136_r8, & + 0.00014460932444444443_r8, 0.00012953083012345678_r8, & + 0.00013257241481481481_r8, 0.00014990667407407404_r8, & + 0.00016782336444444445_r8, 0.00018965066370370368_r8, & + 0.0002305040459259259_r8, 0.00027960391308641975_r8, & + 0.00034536315901234567_r8, 0.00042743047604938271_r8, & + 0.00066582969925925938_r8, 0.00095683262123456793_r8, & + 0.0012981095175308643_r8, 0.0017286832725925926_r8, & + 0.0022475092083950616_r8, 0.0028167570375308639_r8, & + 0.0033176015683950618_r8, 0.0037443664088888892_r8, & + 0.0040065990829629625_r8, 0.0041549618523456788_r8, & + 0.0041817814182716047_r8, 0.0040329286671604942_r8, & + 0.0037613955851851844_r8, 0.0035541425590123457_r8, & + 0.0034096626637037035_r8, 0.0033641349746560854_r8, & + 0.0034188295152645493_r8, 0.0037170514298333333_r8, & + 0.0042477076096230151_r8, 0.0049044247630793646_r8, & + 0.0056292923740000013_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,87) / & + 0.0001328787284639605_r8, 0.00013303594418623209_r8, 0.00012734473504_r8, & + 8.7757816172009853e-05_r8, 0.00012654817538049052_r8, & + 0.00014742642329815966_r8, 0.00013725980659126257_r8, & + 0.00012777445801420904_r8, 0.00014109587021468969_r8, & + 0.00016650193093378107_r8, 0.00019473787465376131_r8, & + 0.0002227117921699555_r8, 0.00027138577978524442_r8, & + 0.00033624250574635712_r8, 0.00043182966488749299_r8, & + 0.00055449985245195057_r8, 0.00087438144203390951_r8, & + 0.0012660267683087798_r8, 0.0017474632340970405_r8, & + 0.0023386991603197892_r8, 0.0029910291162172841_r8, & + 0.0035591752933624089_r8, 0.0039257604335071862_r8, & + 0.0041383789763073048_r8, 0.0042153413128833313_r8, & + 0.004186801418766959_r8, 0.0040883005282397224_r8, & + 0.0037341878353951605_r8, 0.003345969811865811_r8, & + 0.0032039725715100969_r8, 0.0032185052934183651_r8, & + 0.0033366081770892591_r8, 0.0035608206307606118_r8, & + 0.0039876706748067257_r8, 0.0046597364443733821_r8, & + 0.0054496457150643813_r8, 0.0063547145197210666_r8, & + 0.0070515024616149332_r8, 0.0076653040845077328_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,87) / & + 0.00010777441957167406_r8, 0.00010702452145767242_r8, & + 0.00010402492900166583_r8, 8.3531619604964596e-05_r8, & + 9.3819284356424669e-05_r8, 0.00013417317661613826_r8, & + 0.00011201603077899587_r8, 0.00011727703473503865_r8, & + 0.00013366933882079339_r8, 0.00016307940547929543_r8, & + 0.00020492137680898102_r8, 0.00025669949814918845_r8, & + 0.00035733816847981567_r8, 0.00047412308257754063_r8, & + 0.00064331884454916209_r8, 0.00085481354701368885_r8, & + 0.0013152158375366058_r8, 0.0018498814756617481_r8, & + 0.0024427110862541429_r8, 0.0030547919874919227_r8, & + 0.0036033893265162531_r8, 0.0039405857003403065_r8, & + 0.0040052175440408221_r8, 0.0039550095218768054_r8, & + 0.0038394431922143331_r8, 0.0037041100169530987_r8, & + 0.0035544819088937072_r8, 0.0031680148855481411_r8, & + 0.0029793334897705078_r8, 0.0030992586022206151_r8, & + 0.0033203496571127564_r8, 0.0035628713940441025_r8, & + 0.0038517344909891425_r8, 0.0043285895545026529_r8, & + 0.0049840297990351697_r8, 0.0059494089600515554_r8, & + 0.0071371805875507033_r8, 0.0081749285034533586_r8, & + 0.0088638264650392883_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,18,87) / & + 0.00012161823241742218_r8, 0.00011948094321208889_r8, & + 0.00011808199027768887_r8, 0.00011266752429084441_r8, & + 0.00011258980468337774_r8, 0.00013577615424426663_r8, & + 0.00012216226966968888_r8, 0.00014339267577599996_r8, & + 0.00016971371617137776_r8, 0.00021735583554844434_r8, & + 0.00028814544468266663_r8, 0.0003790903386865777_r8, & + 0.00057644632858026661_r8, 0.00082324494209066643_r8, & + 0.0011086831537799107_r8, 0.0014180849111047108_r8, & + 0.0020058005827676443_r8, 0.002606534288681244_r8, & + 0.0031714133490168884_r8, 0.0036303605843754669_r8, & + 0.0039558114406421331_r8, 0.0040746706269944892_r8, & + 0.0039935184035313782_r8, 0.0038106312138943997_r8, & + 0.0035896096035271103_r8, 0.0033847407182449767_r8, & + 0.0032465163963655104_r8, 0.0031598719873080884_r8, & + 0.0033589248552981328_r8, 0.0036645960714645331_r8, & + 0.0039437001351452445_r8, 0.0041882367842466656_r8, & + 0.0044296845415679985_r8, 0.0048050192652704347_r8, & + 0.0053968301125834651_r8, 0.0064111007825396601_r8, & + 0.007912640675058048_r8, 0.0092522375353295983_r8, 0.010005311386828799_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,87) / & + 0.00018666126483990122_r8, 0.00018380919990392095_r8, & + 0.00018023347670060243_r8, 0.00018911602719773497_r8, & + 0.00018817952826353246_r8, 0.00020215606538761475_r8, & + 0.0001915424107999868_r8, 0.00022278742069565098_r8, & + 0.00026546906909081803_r8, 0.00037665703346067485_r8, & + 0.00051693322230197188_r8, 0.00067403801320333172_r8, & + 0.00099163885629808711_r8, 0.0013129715057518614_r8, & + 0.0015969719022376559_r8, 0.0018741613973837952_r8, & + 0.0023842695289683223_r8, 0.0028855944357002532_r8, & + 0.0033897288392347913_r8, 0.0037976166932133398_r8, & + 0.0040667182430186395_r8, 0.0041341461662812171_r8, & + 0.0040282366504495928_r8, 0.0037851016620017246_r8, & + 0.003483903739633303_r8, 0.0032292895445525595_r8, & + 0.0030708083840054775_r8, 0.0031313686484172373_r8, & + 0.0036367091490640052_r8, 0.0041163828389591773_r8, & + 0.0044817043332371085_r8, 0.0047459933528592128_r8, & + 0.0049690995784680168_r8, 0.0051890539378586569_r8, & + 0.0057197136095011461_r8, 0.0065944849495868036_r8, & + 0.0081171001033575139_r8, 0.0097609033882016492_r8, & + 0.010913458403628442_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,20,87) / & + 0.00024196419960388475_r8, 0.00024508014811338273_r8, & + 0.00024472536189695473_r8, 0.00026866571876200821_r8, & + 0.00026494817623334978_r8, 0.00027963324049593415_r8, & + 0.00026536466440046084_r8, 0.00035486334386633744_r8, & + 0.00045238327692102051_r8, 0.00065874545098074068_r8, & + 0.00089665274732720983_r8, 0.0011486743648924445_r8, & + 0.0015189014944788806_r8, 0.0018034091890787817_r8, & + 0.0020261995075078849_r8, 0.0022275483980746004_r8, & + 0.0026476769802760165_r8, 0.0030697028974609373_r8, & + 0.0035169340614999169_r8, 0.0039841566575602302_r8, & + 0.0042655175526752917_r8, 0.0043171158089340576_r8, & + 0.0041374397285447893_r8, 0.0038112677917461067_r8, & + 0.0034305204795681971_r8, 0.0031201442421443949_r8, & + 0.0029183634379228965_r8, 0.0028869417195375143_r8, & + 0.0034582863573756049_r8, 0.004097146426562749_r8, & + 0.0046186907038211307_r8, 0.0049667976840876661_r8, & + 0.0052372808558434564_r8, 0.0054033034514581225_r8, & + 0.0057477989394237369_r8, 0.0065435491370686551_r8, & + 0.008234176531282441_r8, 0.010521792626748889_r8, 0.012012039349693332_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,87) / & + 0.0002680684429918814_r8, 0.0002743831884635654_r8, & + 0.00029837588893645426_r8, 0.00034256244564069132_r8, & + 0.00034344551031087407_r8, 0.00035489202782814809_r8, & + 0.00039386350449904193_r8, 0.00063197439509491337_r8, & + 0.00086803590919205895_r8, 0.0011124448836620636_r8, & + 0.0013096515522711702_r8, 0.0015406979255055799_r8, & + 0.0018228620800252835_r8, 0.002056074460941274_r8, & + 0.0022852214120549132_r8, 0.0025133686673155155_r8, & + 0.0029561672838207204_r8, 0.0034237083726885915_r8, & + 0.0038882003892047007_r8, 0.0043254340321279986_r8, & + 0.0045687100179645623_r8, 0.0045736418508395453_r8, & + 0.0042525395428440489_r8, 0.0038504452091550024_r8, & + 0.0034521997045001474_r8, 0.0031154354948070709_r8, & + 0.0029256598987055398_r8, 0.002887754764277886_r8, & + 0.0033696081654417376_r8, 0.0041668656082387741_r8, & + 0.0048468254042794649_r8, 0.0052225381809468049_r8, & + 0.0054388640327452439_r8, 0.0055189021819790213_r8, & + 0.0056370177346579849_r8, 0.0061515736864143104_r8, & + 0.0081880736605107352_r8, 0.011350781911683655_r8, 0.013236435453542398_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,87) / & + 0.00025869346319976299_r8, 0.0002595883485712856_r8, & + 0.00030454738963658272_r8, 0.00035011495275451526_r8, & + 0.00036566806051157859_r8, 0.00042625180016366097_r8, & + 0.0006804529387983803_r8, 0.00097037790146428302_r8, & + 0.001156030820640369_r8, 0.0012908184552991079_r8, & + 0.0013858194863399507_r8, 0.0015192647929414059_r8, & + 0.0017064748126639408_r8, 0.0019748509355835787_r8, & + 0.0022768926461798982_r8, 0.0025727775454201418_r8, & + 0.0031093508141851129_r8, 0.0036639649720399802_r8, & + 0.0041054656189343872_r8, 0.0044364121270308882_r8, & + 0.0045797011727190919_r8, 0.0045541074510935435_r8, & + 0.0042165745866626376_r8, 0.0038548261240783279_r8, & + 0.0034851489771023278_r8, 0.0031465064548107328_r8, & + 0.002961283080612978_r8, 0.002962016886617627_r8, 0.0033970743588370707_r8, & + 0.0040801045675054352_r8, 0.0048140537538134374_r8, & + 0.0053395662393863905_r8, 0.0056820992758306807_r8, & + 0.0057541554459456835_r8, 0.0058101979619392058_r8, & + 0.0062137938213112608_r8, 0.0083413339342070531_r8, & + 0.012046811743746595_r8, 0.013917418377286876_r8, 0.013419522054279112_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,87) / & + 0.00023188273198338101_r8, 0.0002423489300521086_r8, & + 0.00028570616007722138_r8, 0.00027900932401862051_r8, & + 0.00032198387769752747_r8, 0.00040571346224734807_r8, & + 0.00074713729833212825_r8, 0.0010869347599455339_r8, & + 0.0012172934572805267_r8, 0.0013226442553909727_r8, & + 0.0013991029893628837_r8, 0.0014886301205577217_r8, & + 0.0016973992012302742_r8, 0.0020236499201879963_r8, & + 0.0023923968473918682_r8, 0.0027282718764566642_r8, & + 0.0032781586521370329_r8, 0.0038806060239687632_r8, & + 0.0043057403107860529_r8, 0.0046619737214689963_r8, & + 0.0048204399964328019_r8, 0.004766980110867858_r8, & + 0.0044408441948139976_r8, 0.0040411961526540105_r8, & + 0.0037153472438598047_r8, 0.0033925788796525551_r8, & + 0.0031956153642604505_r8, 0.0032058136888868339_r8, & + 0.0035910348327948629_r8, 0.004227674336160077_r8, & + 0.0049132772780223202_r8, 0.0054694208119631538_r8, & + 0.0059221054039800937_r8, 0.0062172445359912889_r8, & + 0.0064384259972932725_r8, 0.0066665885685110388_r8, & + 0.0071225040422509458_r8, 0.0076749677331126387_r8, & + 0.0081735434192470712_r8, 0.0084924966369527722_r8, & + 0.0093903609228220015_r8, 0.012218932269619199_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,87) / & + 0.00025662034274117528_r8, 0.00027754025796543211_r8, & + 0.00031470773636471113_r8, 0.0003470806431516148_r8, & + 0.00047078211849543693_r8, 0.00061328758287664193_r8, & + 0.0009405813880039506_r8, 0.0012510598182358126_r8, & + 0.0013392030394283755_r8, 0.0014281686964312396_r8, & + 0.0015050651715739557_r8, 0.0015767265754288102_r8, & + 0.0017991814577903505_r8, 0.0020958388924237131_r8, & + 0.0024374807650155653_r8, 0.0027880752206074773_r8, & + 0.0033985695772181736_r8, 0.0039784963118391897_r8, & + 0.0044292598843885343_r8, 0.0047887203507899455_r8, & + 0.0048910690499567215_r8, 0.0048256179276539553_r8, & + 0.0046114383282134033_r8, 0.004282395255588641_r8, & + 0.0040308954032948841_r8, 0.0037903112857341327_r8, & + 0.0036207520118035452_r8, 0.0036298395455712389_r8, & + 0.0040101780960964282_r8, 0.0046202428654926334_r8, & + 0.0052226572722341479_r8, 0.0057593481088967268_r8, & + 0.0062284802632897665_r8, 0.0066375313174355331_r8, & + 0.0069619118592259529_r8, 0.007289491207082624_r8, & + 0.0076140034259023822_r8, 0.0079969882482187876_r8, & + 0.0082770518309148947_r8, 0.0084749020237229675_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,87) / & + 0.00028658691034257056_r8, 0.0003129088917147522_r8, & + 0.00034860924124520816_r8, 0.00046360517436414808_r8, & + 0.00064564047363259252_r8, 0.00085469711237822204_r8, & + 0.0011659056475577776_r8, 0.0013702710755045925_r8, & + 0.0014461447258077033_r8, 0.001532810591627259_r8, & + 0.0016068369257608885_r8, 0.0016625967059291848_r8, & + 0.0018515528432754369_r8, 0.0021155404005922663_r8, & + 0.0024389945238122066_r8, 0.0027688632093627557_r8, & + 0.003428460816411555_r8, 0.0039924026907291847_r8, & + 0.0044502818794477034_r8, 0.0047675514867585181_r8, & + 0.0048481979492325912_r8, 0.0048117829028616289_r8, & + 0.0046663182134310515_r8, 0.0044389670679096287_r8, & + 0.0042413103144730369_r8, 0.004062151029522963_r8, & + 0.0039400458613994072_r8, 0.0039714320061868136_r8, & + 0.0043431740018053328_r8, 0.0048941482027490364_r8, & + 0.0054851313828370362_r8, 0.0060288482702577769_r8, & + 0.0065072684341653331_r8, 0.0069520976040523177_r8, & + 0.0073390982377685328_r8, 0.0077685617452657755_r8, & + 0.0081625123356041471_r8, 0.0086547151448874669_r8, & + 0.0089184535575893321_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,26,87) / & + 0.00029407994455465209_r8, 0.00031996365761393779_r8, & + 0.00036534015358337775_r8, 0.00040344085469563455_r8, & + 0.00050296694422425671_r8, 0.00074591030864553092_r8, & + 0.0012540595649590221_r8, 0.0014574937651712957_r8, & + 0.0015736754508856492_r8, 0.0016411397319018664_r8, & + 0.0017186088732820939_r8, 0.0017535230948948542_r8, & + 0.0018517077793438501_r8, 0.0020129504946624472_r8, & + 0.0022052219823976453_r8, 0.0024215873667354864_r8, & + 0.0029679144164071894_r8, 0.0036225132426209181_r8, & + 0.0040446703814735405_r8, 0.0043702052387285329_r8, & + 0.0045299403723484434_r8, 0.0045893527965648597_r8, & + 0.0044048453545778958_r8, 0.0042841702922421327_r8, & + 0.0041892440400555257_r8, 0.0041235100516707549_r8, & + 0.0041167259340266667_r8, 0.0042218797575100447_r8, & + 0.0045846244721462516_r8, 0.0050687931452217897_r8, & + 0.0055170294895633765_r8, 0.0060135652273139188_r8, & + 0.0064507707725770672_r8, 0.0069420025638058666_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,27,87) / & + 0.00045214541212316219_r8, 0.00050045151929333333_r8, & + 0.0005480993797770667_r8, 0.00047261178727959986_r8, & + 0.00060585107878293333_r8, 0.00083613191536298652_r8, & + 0.0012073409832975999_r8, 0.0014119233973415998_r8, & + 0.0015382078348487999_r8, 0.0016477992683633332_r8, & + 0.0017485803172147996_r8, 0.0018067383368046664_r8, & + 0.0019354094240278856_r8, 0.0020991208244712949_r8, & + 0.002299707430295974_r8, 0.002489430765078425_r8, 0.0030220228875194664_r8, & + 0.0036386550057978663_r8, 0.0040442080953614215_r8, & + 0.0043654993251496885_r8, 0.0045218605152191988_r8, & + 0.0045854758717195016_r8, 0.0044492916589167998_r8, & + 0.0043828717874522657_r8, 0.004352072687185066_r8, & + 0.0043613729138855112_r8, 0.0044453277758862222_r8, & + 0.0046756225434577267_r8, 0.0050687389983843428_r8, & + 0.005551082163650742_r8, 0.0061570802917878843_r8, & + 0.0065667907503743983_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,87) / & + 0.00024712833249166636_r8, 0.00027810894868719163_r8, & + 0.00028366570532358638_r8, 0.00028097048470002959_r8, & + 0.00031208342353388152_r8, 0.00036585113842478519_r8, & + 0.00050767962435832093_r8, 0.00047472031890259756_r8, & + 0.00051578383804345117_r8, 0.00056894400813332761_r8, & + 0.00061893626604641986_r8, 0.00073816693324799999_r8, & + 0.00088406881721467257_r8, 0.0010655880151415624_r8, & + 0.0013206808884728414_r8, 0.0015884562595255623_r8, & + 0.0021931228170578567_r8, 0.0027894090534909825_r8, & + 0.0033558306657986169_r8, 0.0038020343506030025_r8, & + 0.004006776948549156_r8, 0.0042383084750656002_r8, & + 0.0042488171015458657_r8, 0.004250226795341999_r8, & + 0.0043303230337586656_r8, 0.0044723176452237329_r8, & + 0.0046302033503906664_r8, 0.0050728472023765332_r8, & + 0.0056474896552730662_r8, 0.0062123924055781325_r8, & + 0.0066783602821909333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,29,87) / & + 0.00017579581269865923_r8, 0.00017748396214224067_r8, & + 0.00019938459687257845_r8, 0.00019851506876427893_r8, & + 0.00020318984910660927_r8, 0.00021381952205539703_r8, & + 0.00022695281012342518_r8, 0.00025369710519182746_r8, & + 0.00026432990730392757_r8, 0.0003214399824475128_r8, & + 0.00037800112648761415_r8, 0.00048451831975431382_r8, & + 0.000661152002883782_r8, 0.00080640899654192981_r8, & + 0.00099503884875635877_r8, 0.0012162587472222392_r8, & + 0.0017991764520260741_r8, 0.0023611564509915866_r8, & + 0.002974056945245804_r8, 0.0035161526285316749_r8, & + 0.0037689052005188376_r8, 0.00391386416507727_r8, 0.0039256193885871832_r8, & + 0.0039918070716766499_r8, 0.0041195965067866974_r8, & + 0.0043083040191451497_r8, 0.0045004179576500093_r8, & + 0.0049585636890081717_r8, 0.0057700347709696781_r8, & + 0.0063539700346416893_r8, 0.0070855749954145519_r8, & + 0.0077172796750668805_r8, 0.0082560379634454752_r8, & + 0.0086414879588926005_r8, 0.0090720788091320885_r8, & + 0.009230326287223466_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,87) / & + 0.00022026427094083947_r8, 0.00021717995984276542_r8, & + 0.00022543257602409877_r8, 0.00020706564236799998_r8, & + 0.00021201165475950615_r8, 0.00021748561229392591_r8, & + 0.00023902021680750614_r8, 0.000267834906976_r8, 0.00028864706024138263_r8, & + 0.00034919403215762958_r8, 0.00040674005273520992_r8, & + 0.00048273636672829616_r8, 0.00061016565227575302_r8, & + 0.00072237136176143187_r8, 0.00084434405639101243_r8, & + 0.00099704524233214806_r8, 0.0013282231464878519_r8, & + 0.0017213199852667157_r8, 0.0021966690895065754_r8, & + 0.0026251660394471178_r8, 0.0028772960669885702_r8, & + 0.0030312501302660381_r8, 0.0030582820131991105_r8, & + 0.0031600062253173966_r8, 0.0032477726396253821_r8, & + 0.0034009293271089944_r8, 0.0035662972269677028_r8, & + 0.0038873920735584197_r8, 0.0046436417346833007_r8, & + 0.0051416656858600624_r8, 0.0063343845662969097_r8, & + 0.0070918315315851837_r8, 0.0078654130760201901_r8, & + 0.0084970654009478615_r8, 0.0090123689371095026_r8, & + 0.0093742693783082313_r8, 0.0096451284582701625_r8, & + 0.0099070125204214644_r8, 0.010108517024839999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,87) / & + 0.00026181374376406906_r8, 0.00025368738878635717_r8, & + 0.00025270061711049212_r8, 0.00023046923170718024_r8, & + 0.00024448719404373328_r8, 0.00024889864388877693_r8, & + 0.00025682183999204604_r8, 0.00030444808470070773_r8, & + 0.00034188736299088055_r8, 0.00039079060633889708_r8, & + 0.00044102889371896618_r8, 0.00048557873261463694_r8, & + 0.00058797080533380729_r8, 0.00068188825071907805_r8, & + 0.00075752139740449694_r8, 0.00085570517915306641_r8, & + 0.0010624628679431374_r8, 0.0013362339626029824_r8, & + 0.0016646547944879405_r8, 0.0019012187924284047_r8, & + 0.0020857487236522068_r8, 0.0022545410977807801_r8, & + 0.0023214565520503767_r8, 0.0024279734754881445_r8, & + 0.0025189995347496487_r8, 0.0026700300187126511_r8, & + 0.0028542334446025278_r8, 0.003252584463340332_r8, & + 0.0040092719764872305_r8, 0.0046695378001638905_r8, & + 0.0058582566528991393_r8, 0.0068254514835519083_r8, & + 0.0077702806988307529_r8, 0.0085587188344784515_r8, & + 0.0091795998226846896_r8, 0.0096433681026455616_r8, & + 0.0099603885084471825_r8, 0.01019247619599889_r8, 0.010238253876341972_r8, & + 0.010331542980351287_r8, 0.010353092332390399_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,87) / & + 0.00022179704965715223_r8, 0.00021701615827300082_r8, & + 0.00020110002619664857_r8, 0.00021728848752906006_r8, & + 0.00024228226147405426_r8, 0.00025341750216625517_r8, & + 0.00032528216695967073_r8, 0.00041639143251460741_r8, & + 0.00046889046132158674_r8, 0.00051963447936729536_r8, & + 0.00057809449300134973_r8, 0.0006395198696458271_r8, & + 0.00075168926433601309_r8, 0.00084709528037544028_r8, & + 0.0009444681188197397_r8, 0.001037816536035608_r8, & + 0.0012381903508827655_r8, 0.0015163595565441841_r8, & + 0.0018064507318597527_r8, 0.0019986244102189032_r8, & + 0.0021331853215184066_r8, 0.0022565504745132511_r8, & + 0.0023462980937878912_r8, 0.0024616446631321016_r8, & + 0.0026111534247086343_r8, 0.0027826300796072821_r8, & + 0.0029441818460628801_r8, 0.0033308099603006776_r8, & + 0.0039646244239648978_r8, 0.0048009616180543467_r8, & + 0.0058455863854914355_r8, 0.006957260344844958_r8, & + 0.0078692915637232404_r8, 0.0086043703644471184_r8, & + 0.0092274109640192396_r8, 0.0097214361188691159_r8, & + 0.010115945247256371_r8, 0.010377538786932813_r8, 0.010571608719838027_r8, & + 0.010643398926354686_r8, 0.010681711681213905_r8, 0.010678081191819067_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,87) / & + 0.00021860621271008394_r8, 0.00023926687767735302_r8, & + 0.00019958328338046417_r8, 0.0002348890843382518_r8, & + 0.00027523407187342216_r8, 0.00030178428615300741_r8, & + 0.0003980327497810171_r8, 0.00052728788549088383_r8, & + 0.00059604128735604928_r8, 0.00065311007534490852_r8, & + 0.00070091935799782696_r8, 0.00074513822021436021_r8, & + 0.00084504009411097273_r8, 0.00091905314696628124_r8, & + 0.00097980684013985152_r8, 0.0010433005910148736_r8, & + 0.0012497497661070221_r8, 0.0015360385535345773_r8, & + 0.0018761836475079106_r8, 0.0021079232402352985_r8, & + 0.0022612404918521674_r8, 0.0023885114478471897_r8, & + 0.0025146170919461922_r8, 0.0026218257863800097_r8, & + 0.0027443725049587355_r8, 0.0028603997759029725_r8, & + 0.0029643644939775999_r8, 0.0032499288983346567_r8, & + 0.0038645206912786959_r8, 0.004731292277504631_r8, & + 0.0058469366908210562_r8, 0.0069045359737492529_r8, & + 0.0079139480350312302_r8, 0.0087315639309406001_r8, & + 0.0094581319612444033_r8, 0.0099948475124268799_r8, & + 0.010426975758532363_r8, 0.010699846586879207_r8, 0.010891673684758702_r8, & + 0.010997899850291773_r8, 0.011096388052382481_r8, 0.011128763251396358_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,87) / & + 0.00028495631225568404_r8, 0.00032803034245652016_r8, & + 0.00028606916713929217_r8, 0.0003858333343521712_r8, & + 0.0004237685934728165_r8, 0.00045901990846240656_r8, & + 0.00052883518689582874_r8, 0.00071347090449682955_r8, & + 0.00079058520172568228_r8, 0.00085441070240321307_r8, & + 0.00088940016918489552_r8, 0.00093758023943993417_r8, & + 0.001003336870650785_r8, 0.0010584559184153811_r8, & + 0.0011144259728556776_r8, 0.0011838484789772376_r8, & + 0.001378434428478736_r8, 0.0016827347770936097_r8, 0.002107419839294104_r8, & + 0.0024351556025167275_r8, 0.0026319017997334651_r8, & + 0.0027821372090205761_r8, 0.0029093954380637762_r8, & + 0.0029943979125558518_r8, 0.0030663079766525361_r8, & + 0.0031107239789189005_r8, 0.0031409019848802765_r8, & + 0.0032652798836364902_r8, 0.0037017153841668476_r8, & + 0.0045615594368841484_r8, 0.0058120155537479366_r8, & + 0.0070486714517793347_r8, 0.0082053204481601447_r8, & + 0.0091890718911350772_r8, 0.010102537547177999_r8, 0.010702550441464021_r8, & + 0.011102882451363877_r8, 0.011335513075130038_r8, 0.011460803585028722_r8, & + 0.011553489609423333_r8, 0.011433356515599999_r8, 0.011553986711880532_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,87) / & + 0.00034381534925906164_r8, 0.0003724496447960493_r8, & + 0.00035373375293260901_r8, 0.00056252973711512749_r8, & + 0.0006389897599546995_r8, 0.00060509055835812338_r8, & + 0.00075862201248289701_r8, 0.00093117506269392591_r8, & + 0.0010121527146039833_r8, 0.0010699647798518518_r8, & + 0.0011052226668831603_r8, 0.0011420770093002795_r8, & + 0.0011906500135919669_r8, 0.0012556631116439176_r8, & + 0.0013241068904185677_r8, 0.0013828105929829789_r8, & + 0.0015608287127328205_r8, 0.0018463079323620456_r8, & + 0.0023185336125472731_r8, 0.0026544807174048385_r8, & + 0.0028509423853751762_r8, 0.002971963044581992_r8, 0.003051508011225603_r8, & + 0.0031083956851330552_r8, 0.0031356688690113198_r8, & + 0.0031441121284985865_r8, 0.0031503135570185438_r8, & + 0.0032674249628205153_r8, 0.003741722638293709_r8, & + 0.0046742515339743855_r8, 0.0058699133984637221_r8, & + 0.007350639355657493_r8, 0.008673278865806551_r8, 0.0097481094378715372_r8, & + 0.010671080588074871_r8, 0.011320190856161533_r8, 0.011709927225579363_r8, & + 0.01188099166606096_r8, 0.011951928753919547_r8, 0.012016955954398443_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,87) / & + 0.0003830465169855999_r8, 0.00038980554016924447_r8, & + 0.00036738107262767407_r8, 0.00072103287941357043_r8, & + 0.00085638935931519992_r8, 0.00085501643273102202_r8, & + 0.0010173738021214812_r8, 0.0011550888994882368_r8, & + 0.0012347890478620442_r8, 0.0012871010710437927_r8, & + 0.001340926833792711_r8, 0.0013623700108590514_r8, & + 0.0014229107927344296_r8, 0.001482453311141092_r8, & + 0.0015428878546498367_r8, 0.0016019932241798339_r8, & + 0.0017687738813985481_r8, 0.0020032037358903346_r8, & + 0.0023405414785153951_r8, 0.0026582551717981504_r8, & + 0.0029231500408862625_r8, 0.0030861409429743113_r8, & + 0.0031853775097536864_r8, 0.0032284014079965403_r8, & + 0.0032483224218619071_r8, 0.0032659517044290689_r8, & + 0.0032971571187190032_r8, 0.0034724406170446721_r8, & + 0.0039636639422450225_r8, 0.0048600869355285266_r8, & + 0.0060795090122662395_r8, 0.00774341154449991_r8, 0.0088080105007925322_r8, & + 0.0099905755335871968_r8, 0.011044428699115198_r8, 0.011810402922131999_r8, & + 0.012235627327929597_r8, 0.012324022678003197_r8, 0.012175746606911999_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,87) / & + 0.0004834044917608297_r8, 0.00049080168095331025_r8, & + 0.00043537742104314732_r8, 0.00086058826186608721_r8, & + 0.0010637012301364674_r8, 0.0011805986829910389_r8, & + 0.0014291515277295142_r8, 0.0015143467411877401_r8, & + 0.0015594040044217415_r8, 0.0015921135317200894_r8, & + 0.0016220308933934423_r8, 0.0016513105663433065_r8, & + 0.0017339127292269334_r8, 0.0017867582540236381_r8, & + 0.0018349265272443785_r8, 0.0019001797827729672_r8, & + 0.002041818126552825_r8, 0.0022473389553868801_r8, & + 0.0024758471612971815_r8, 0.0026962742893941976_r8, & + 0.0029989295564174304_r8, 0.0031474467395559611_r8, & + 0.0031962689690696695_r8, 0.0031840800046121086_r8, & + 0.0031686114981480298_r8, 0.0031744326852096_r8, 0.0032203462733008592_r8, & + 0.0033618585108821327_r8, 0.003565764035137422_r8, & + 0.0036348803829248004_r8, 0.0038503462927530667_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,87) / & + 0.00072291195288984355_r8, 0.000733023275786502_r8, & + 0.00072005349678543539_r8, 0.00093701708377858753_r8, & + 0.0011705955510606879_r8, 0.0013144075123372211_r8, & + 0.0016560284502770296_r8, 0.0017059074027285332_r8, & + 0.0017774706039082957_r8, 0.0018317003998497827_r8, & + 0.0018676824877382589_r8, 0.001940544819701871_r8, & + 0.0020661306017628277_r8, 0.0021211280353140363_r8, & + 0.0021689926959132105_r8, 0.0022188312817945266_r8, & + 0.0023340516014076444_r8, 0.0024545518684012143_r8, & + 0.0025565057147223917_r8, 0.0027650999661634501_r8, & + 0.0030158187519230988_r8, 0.0031421560249657011_r8, & + 0.0031343955518472605_r8, 0.0031471412963837899_r8, & + 0.0031603351098493937_r8, 0.0031906205327978539_r8, & + 0.0032588279264427413_r8, 0.0034423036759192688_r8, & + 0.0035546858219825425_r8, 0.0037520722952111931_r8, & + 0.0039688795290224888_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,87) / & + 0.001082904171802279_r8, 0.0011389031779610783_r8, & + 0.0011817264784344888_r8, 0.0015330204589740558_r8, & + 0.0016970502594419433_r8, 0.0018658886968082723_r8, & + 0.0021498058948649949_r8, 0.002159423168661878_r8, & + 0.0021408039798388851_r8, 0.0021467574508731969_r8, & + 0.0021598550871486811_r8, 0.0021940583619144294_r8, & + 0.0022420655180489476_r8, 0.002298740227601067_r8, & + 0.0023841900471523549_r8, 0.002467538641632711_r8, & + 0.0025631443823601772_r8, 0.0026200525613646218_r8, & + 0.002697097480632178_r8, 0.002777119135416888_r8, 0.0028301750684579553_r8, & + 0.0029593785225591998_r8, 0.0030196574167815995_r8, & + 0.0031802041448575993_r8, 0.0033504033756031992_r8, & + 0.0034244715593535996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,87) / & + 0.0011786557440829628_r8, 0.0012292819752052673_r8, & + 0.0012905473429234565_r8, 0.0015706577430347323_r8, & + 0.0017008165386719338_r8, 0.0017898239569099587_r8, & + 0.0021183123177685591_r8, 0.0020588535958874069_r8, & + 0.0020382176856599175_r8, 0.0020406666944612342_r8, & + 0.0020652370778449377_r8, 0.0021515546011700408_r8, & + 0.0022035057059061726_r8, 0.0022502777592427977_r8, & + 0.002332580514041152_r8, 0.0024148029734689714_r8, & + 0.0025460808858330042_r8, 0.0025750424222928392_r8, & + 0.0026684761228316051_r8, 0.0027640025214649374_r8, & + 0.0028306476790089709_r8, 0.0030317166068269254_r8, & + 0.0031289593190054433_r8, 0.0032439229326918515_r8, & + 0.0033214641720174807_r8, 0.0033675499867052133_r8, & + 0.0034214168529515553_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,87) / & + 0.0013818876875594799_r8, 0.0014085802354295047_r8, & + 0.0017060055711533299_r8, 0.002304456632778798_r8, & + 0.0023803958968741396_r8, 0.0023733451327759138_r8, & + 0.0025437222173974516_r8, 0.0023800648265129608_r8, & + 0.002209982601431848_r8, 0.0021277219626277526_r8, & + 0.0021133292698725867_r8, 0.0021175260300983307_r8, & + 0.0021224051795461999_r8, 0.0021288920894355439_r8, & + 0.0021702531234955376_r8, 0.0022304417151578072_r8, & + 0.0023592053245689521_r8, 0.0024265512436019514_r8, & + 0.0025642351300571025_r8, 0.0026865801128408964_r8, & + 0.0027658383573070534_r8, 0.0030791343784698781_r8, & + 0.0032278801533679093_r8, 0.003329537635606276_r8, & + 0.0033745743266215111_r8, 0.0034128090736068443_r8, & + 0.0034767930396317455_r8, 0.0036152262683776006_r8, & + 0.0035437150703630221_r8, 0.003476114640989866_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,87) / & + 0.0016871419344780866_r8, 0.0017295279231178944_r8, & + 0.0025309488118999577_r8, 0.0030658280111350356_r8, & + 0.0030448261396492224_r8, 0.0032751136636266927_r8, & + 0.0033142436072879154_r8, 0.0032250279689503463_r8, & + 0.0029229386909736185_r8, 0.0027086879717602439_r8, & + 0.0025838037349054438_r8, 0.0024444396136385866_r8, & + 0.0022163203012223998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,87) / & + 0.0029476698636109878_r8, 0.003163766963502946_r8, & + 0.0033280827644408613_r8, 0.0041702333726943127_r8, & + 0.0041978889756946651_r8, 0.0040585584163351385_r8, & + 0.0041820481831102586_r8, 0.0039105706796329718_r8, & + 0.0035636849513238514_r8, 0.0032065763859399107_r8, & + 0.0030826063958015603_r8, 0.0029302177080034759_r8, & + 0.002761909286794153_r8, 0.0027513180591941136_r8, & + 0.0026786924985081288_r8, 0.002664779177778884_r8, & + 0.0026087640827389229_r8, 0.0027365166541630024_r8, & + 0.0028065108539545676_r8, 0.0029172911476096392_r8, & + 0.0029809042972322375_r8, 0.0029906732245527697_r8, & + 0.0031305958401135403_r8, 0.0032893326860694125_r8, & + 0.0033711680098858668_r8, 0.0034758961734837729_r8, & + 0.0036063458898246323_r8, 0.0038400107372491064_r8, & + 0.0038986243011723061_r8, 0.0039765125836471304_r8, & + 0.0040070363700224002_r8, 0.0040652552298114366_r8, & + 0.0041165009832302623_r8, 0.0041291972995458363_r8, & + 0.0041706412336329482_r8, 0.0041455775211136003_r8, & + 0.0041242634978687995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,87) / & + 0.0032024427023607575_r8, 0.0035042893856838059_r8, & + 0.0034034633946604513_r8, 0.0043522467923001679_r8, & + 0.0043479179483206318_r8, 0.0043210881340724691_r8, & + 0.0041906817091889523_r8, 0.0038354008579935088_r8, & + 0.0031682177796475523_r8, 0.00289162268620513_r8, 0.0028350771617224432_r8, & + 0.0027680702642892117_r8, 0.0026812228319497743_r8, & + 0.0027374076194341666_r8, 0.0026369874575338931_r8, & + 0.0026657111410231049_r8, 0.0025335461232729021_r8, & + 0.0026753608557274866_r8, 0.0027517469151163792_r8, & + 0.0028850448725018505_r8, 0.0030012754606555058_r8, & + 0.0030107617164075364_r8, 0.0031827318073133141_r8, & + 0.0033287908360134584_r8, 0.0033931542076310619_r8, & + 0.0035062847122056236_r8, 0.003636426220856017_r8, & + 0.0039336396883572176_r8, 0.0040153071628617684_r8, & + 0.0040893508474112873_r8, 0.0041061355856466721_r8, & + 0.0041557481959433812_r8, 0.0042073368075655742_r8, & + 0.0042244589315203447_r8, 0.0042534080756334901_r8, & + 0.0042391692709722309_r8, 0.0042475564061825819_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,87) / & + 0.0028887970726399997_r8, 0.0035507812177919995_r8, & + 0.0034676683647999994_r8, 0.0041483691167573328_r8, & + 0.0044008579956906664_r8, 0.0045023168296106668_r8, & + 0.0040818881000106661_r8, 0.0032422351749119994_r8, & + 0.0025059405413546663_r8, 0.0024692022512639994_r8, & + 0.0024641524736853325_r8, 0.0024761514864639991_r8, & + 0.0024250977718613324_r8, 0.0024905132392106667_r8, & + 0.0024924590250666664_r8, 0.0025437907090773326_r8, & + 0.0025104343801173328_r8, 0.0025710780392959997_r8, & + 0.0026533106558293339_r8, 0.0027678340519253328_r8, & + 0.0029016763218773322_r8, 0.0030016526522880001_r8, & + 0.0031541188725759998_r8, 0.0033113569010346667_r8, & + 0.0034643790601386658_r8, 0.0036108689381546665_r8, & + 0.0037996564944213335_r8, 0.0041390108133546669_r8, & + 0.0041675953341440003_r8, 0.0041762123857919994_r8, & + 0.0041980329843199996_r8, 0.0042267564898133339_r8, & + 0.0042564992164693342_r8, 0.0042672936951466669_r8, & + 0.0042848520960853329_r8, 0.0042967121241599985_r8, & + 0.0043642586903039982_r8, 0.0043698875708159998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,88) / & + 0.0049838006144444441_r8, 0.005074867878888889_r8, & + 0.0051027205666666665_r8, 0.0050584766033333331_r8, & + 0.0049472863439999999_r8, 0.0049078973599999999_r8, & + 0.0051649741319999996_r8, 0.0052802954919999997_r8, & + 0.0057040640479999998_r8, 0.0058387054799999994_r8, & + 0.0060440748499999992_r8, 0.0061442321999999995_r8, & + 0.0062189289899999998_r8, 0.0064472627866666672_r8, & + 0.0068623697599999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,5,88) / & + 0.0052534502424624223_r8, 0.005272014206472663_r8, & + 0.0050363916014197537_r8, 0.0049754532606261018_r8, & + 0.0049905405046208121_r8, 0.0050400489650352731_r8, & + 0.0053044490818694888_r8, 0.0054876687353880068_r8, & + 0.0057740947525661375_r8, 0.0060263988582010576_r8, & + 0.0062401642830335101_r8, 0.0064788831169664907_r8, & + 0.0067328138364726618_r8, 0.0069840240678042328_r8, & + 0.0073253204445061721_r8, 0.0075955430564814807_r8, & + 0.0077778251742063502_r8, 0.0080567291464127_r8, 0.0082383153183915349_r8, & + 0.0083801713681481479_r8, 0.0085331043067301583_r8, & + 0.0087618063821164015_r8, 0.0087527723605079367_r8, & + 0.0088836822712804221_r8, 0.0089839000435555528_r8, & + 0.0090262463512380941_r8, 0.0090694041003597861_r8, & + 0.0091173411523915344_r8, 0.0091399676105291001_r8, & + 0.0091665864952592581_r8, 0.0091392538352592576_r8, & + 0.0091336250545925937_r8, 0.0090960388335555552_r8, & + 0.0090861028361481477_r8, 0.0091074267485185198_r8, & + 0.0091308113576296281_r8, 0.0091852034897037024_r8, & + 0.0091604057917777752_r8, 0.0090559384515555546_r8, & + 0.0087190284018518506_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,88) / & + 0.0046799726518518513_r8, 0.004375314956049382_r8, 0.004260797905679012_r8, & + 0.0046621391659259249_r8, 0.004909478244444444_r8, & + 0.0051225925614814798_r8, 0.0056552766597530862_r8, & + 0.0058782553259259266_r8, 0.0061835601674074077_r8, 0.00664244192345679_r8, & + 0.0070551914375308628_r8, 0.0074356668720987652_r8, & + 0.0078129620479012347_r8, 0.0080035834301234558_r8, & + 0.0081937795451851852_r8, 0.0083068913649382708_r8, & + 0.0084272049916049377_r8, 0.0085722673180246914_r8, & + 0.0087343958004938247_r8, 0.0088129038162962966_r8, & + 0.0088994549283950616_r8, 0.009056304551111111_r8, & + 0.0089604715209876534_r8, 0.0090064558439506177_r8, & + 0.0091074290597530864_r8, 0.0091191608864197513_r8, & + 0.0091131886562962963_r8, 0.0090931733649382701_r8, & + 0.009112384346666667_r8, 0.0091263626933333342_r8, & + 0.0091266400414814798_r8, 0.0091093427619753087_r8, & + 0.0090866834182716048_r8, 0.0090815894572839496_r8, & + 0.0090847234913580231_r8, 0.0090928405471604936_r8, & + 0.0090765232311111124_r8, 0.0089845730750617268_r8, & + 0.0088869742617283948_r8, 0.0086881803540740741_r8, & + 0.0086226041579259248_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,88) / & + 0.0029419797264197524_r8, 0.0025948045595061728_r8, & + 0.0029967097609876541_r8, 0.0037657037264197529_r8, & + 0.0040545340879012352_r8, 0.0047055718859259268_r8, & + 0.0056004541758024684_r8, 0.0059530468765432096_r8, 0.00629884454765432_r8, & + 0.0068679537027160481_r8, 0.0073584439027160478_r8, & + 0.007895953858765431_r8, 0.008255434038518519_r8, 0.0084403143140740731_r8, & + 0.0085722395832098751_r8, 0.0086632560004938283_r8, & + 0.0087919362962962967_r8, 0.0088641300192592604_r8, & + 0.0089110758158024682_r8, 0.0089338645886419734_r8, & + 0.0089561356449382699_r8, 0.0090393770691358025_r8, & + 0.0090233925708641961_r8, 0.0090591797269135819_r8, & + 0.0090961040103703702_r8, 0.0091206493214814818_r8, & + 0.009127934332839505_r8, 0.0091530620750617259_r8, & + 0.0092335022829629632_r8, 0.0092408520088888869_r8, & + 0.0092278906054320993_r8, 0.0091988245195061737_r8, & + 0.0091702761501234568_r8, 0.0091326400064197528_r8, & + 0.0091054136632098773_r8, 0.0090598176276543204_r8, & + 0.0089609430128395062_r8, 0.0088642594483950617_r8, & + 0.0088057020093827154_r8, 0.0087404893704320988_r8, & + 0.0086971847588624331_r8, 0.0087091340066666658_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,88) / & + 0.001643796249382716_r8, 0.0015785084953086417_r8, 0.002009729396049383_r8, & + 0.002505803538765432_r8, 0.0025444751155555556_r8, & + 0.0029633817585185181_r8, 0.0037361291688888889_r8, & + 0.0043929358083950616_r8, 0.0048095589516049383_r8, & + 0.0051655168098765436_r8, 0.0055109261935802458_r8, & + 0.0060181497318518521_r8, 0.0065017339629629628_r8, & + 0.0068475131441975302_r8, 0.0070933822775308634_r8, & + 0.0072681393456790122_r8, 0.0074888437570370375_r8, & + 0.0077406573856790128_r8, 0.0078800433199999985_r8, & + 0.0079762461476543221_r8, 0.0080712101535802445_r8, & + 0.0082684971362962968_r8, 0.0083668170548148145_r8, & + 0.008481509759012346_r8, 0.0085779714449382722_r8, & + 0.0086600942316049385_r8, 0.0087223219111111101_r8, & + 0.008869824901234568_r8, 0.009007694665679012_r8, 0.0090977496093827166_r8, & + 0.0091441684444444442_r8, 0.0091735211234567904_r8, & + 0.009198953948641975_r8, 0.009210602570864198_r8, 0.0092027859755555528_r8, & + 0.0091758439141975314_r8, 0.0090955096929100539_r8, & + 0.0089854672586984121_r8, 0.0089257429103703715_r8, & + 0.008785765299999998_r8, 0.0087476279485714289_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,88) / & + 0.0011661750034567902_r8, 0.001198208714567901_r8, & + 0.0013133821555555557_r8, 0.0015934852953086419_r8, & + 0.0015862834883950622_r8, 0.0017083906330864198_r8, & + 0.0019331813071604941_r8, 0.0023218939817283945_r8, & + 0.0031672511372839505_r8, 0.0037015993244444438_r8, & + 0.0040684754548148145_r8, 0.0045176038009876541_r8, & + 0.0052012762311111106_r8, 0.0056885122128395053_r8, & + 0.005992633702222222_r8, 0.006166484766419753_r8, 0.0064211735708641976_r8, & + 0.006749091531358024_r8, 0.0069358577743209868_r8, & + 0.0070751050345679006_r8, 0.0071579211916049379_r8, & + 0.0072659205604938262_r8, 0.0074004066775308639_r8, & + 0.0075646614958024688_r8, 0.0077244325190123442_r8, & + 0.0078293070987654322_r8, 0.0078949831402469126_r8, & + 0.008107912558518518_r8, 0.008323106986666667_r8, 0.0085262829950617288_r8, & + 0.0087067626800000006_r8, 0.0088348143199999986_r8, & + 0.0089434423446913599_r8, 0.0090558607940740728_r8, & + 0.0091534176089735457_r8, 0.0092127316801481479_r8, & + 0.0091718782979259249_r8, 0.0091042173104166658_r8, & + 0.0090678533280000011_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,10,88) / & + 0.00070499125777777783_r8, 0.00072178931061728387_r8, & + 0.00070956750222222217_r8, 0.00076134840148148143_r8, & + 0.00078287061777777757_r8, 0.00083579788938271601_r8, & + 0.0009420592098765432_r8, 0.0010650908483950615_r8, & + 0.0015287892172839506_r8, 0.0020785579614814812_r8, & + 0.0024637575595061732_r8, 0.00278413165037037_r8, 0.0032942488543209877_r8, & + 0.0037257008785185181_r8, 0.0041147093911111108_r8, & + 0.004412932609876543_r8, 0.0048843505022222221_r8, & + 0.0053037748617283951_r8, 0.0056102538103703706_r8, & + 0.0058402771195061728_r8, 0.0059918386375308634_r8, & + 0.0061197331135802472_r8, 0.0061660410093827157_r8, & + 0.0062588416997530873_r8, 0.0063458365688888888_r8, & + 0.006422144289382716_r8, 0.0064747757229629615_r8, & + 0.0067725274498765427_r8, 0.007115801252839506_r8, 0.007567296303209875_r8, & + 0.0079167734597530865_r8, 0.0081735793550617268_r8, & + 0.0084556899671252191_r8, 0.0087189139627231044_r8, & + 0.0088820631152678568_r8, 0.0090686812122222227_r8, & + 0.0091126339599999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,88) / & + 0.00026429429530864195_r8, 0.00026695683753086421_r8, & + 0.00025134213679012338_r8, 0.00025157326024691354_r8, & + 0.00025615874962962962_r8, 0.0002790769516049382_r8, & + 0.00033120915851851841_r8, 0.00039067260148148154_r8, & + 0.00051623735308641971_r8, 0.00067176494962962964_r8, & + 0.0008266084207407408_r8, 0.00095539041086419745_r8, & + 0.0011717589461728395_r8, 0.0014075233619753086_r8, & + 0.0016514787930864197_r8, 0.0018595361288888889_r8, & + 0.0023097831125925925_r8, 0.0028098695585185183_r8, & + 0.0033132934271604933_r8, 0.0037973029254320992_r8, & + 0.0042258705288888889_r8, 0.0045471043990123455_r8, & + 0.0048208100414814815_r8, 0.0050451477135802477_r8, & + 0.0052079325866666651_r8, 0.0053131862088888898_r8, & + 0.0053999869343209876_r8, 0.0054961435372839502_r8, & + 0.0056478622192592601_r8, 0.0060038801696296303_r8, & + 0.0064615080809259252_r8, 0.0069040921664197535_r8, & + 0.0070683174008888882_r8, 0.0069256384195555557_r8, & + 0.0073446088525925927_r8, 0.0076767748622222224_r8, & + 0.0080150841333333344_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,88) / & + 8.2529563950617279e-05_r8, 7.8887058271604927e-05_r8, & + 5.7558985679012342e-05_r8, 9.3678959506172832e-05_r8, & + 9.4242900740740726e-05_r8, 0.00010284993827160495_r8, & + 0.00017905596444444443_r8, 0.00018838410716049382_r8, & + 0.00022085233037037034_r8, 0.00025907090518518519_r8, & + 0.00029798285037037033_r8, 0.00034214592049382707_r8, & + 0.00042705143358024692_r8, 0.00053512476197530847_r8, & + 0.00064500085333333331_r8, 0.00076614652444444435_r8, & + 0.0010449646177777777_r8, 0.0013440383708641973_r8, & + 0.0016976942395061729_r8, 0.0021083174177777778_r8, & + 0.0025507709185185177_r8, 0.0030027374607407404_r8, 0.00347311992_r8, & + 0.0039221650617283941_r8, 0.0043002922819753075_r8, & + 0.0045652059881481476_r8, 0.0047375501274074068_r8, & + 0.0048970068227160487_r8, 0.0048719530399999999_r8, & + 0.0048929852745679013_r8, 0.0050708659762345688_r8, & + 0.0053216846183950627_r8, 0.0056181096966666658_r8, 0.00614318422021164_r8, & + 0.0067840444968165787_r8, 0.0075674733437777779_r8, & + 0.0079737232039999995_r8, 0.0078339896600000004_r8, & + 0.0081915607599999992_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,88) / & + 5.7337107160493827e-05_r8, 5.6135265185185175e-05_r8, & + 4.2757839506172841e-05_r8, 0.0001068899762962963_r8, & + 0.00010567888938271605_r8, 0.00011073587061728394_r8, & + 0.00015281882962962963_r8, 0.00016032571950617283_r8, & + 0.00017347202172839505_r8, 0.00019058440246913578_r8, & + 0.00020964746518518519_r8, 0.00024389996148148154_r8, & + 0.00029226023358024691_r8, 0.00036384379061728397_r8, & + 0.00044733482814814812_r8, 0.00055195054962962951_r8, & + 0.00079996450864197523_r8, 0.0010770815333333331_r8, & + 0.0013667531841975308_r8, 0.0017346739925925927_r8, & + 0.0021617346711111109_r8, 0.0026620060158024693_r8, & + 0.0031634792024691359_r8, 0.0036363115703703704_r8, & + 0.0040193016281481475_r8, 0.004283438759506172_r8, & + 0.0044437182543209872_r8, 0.0045384418918518517_r8, & + 0.0044078941185185178_r8, 0.0043303845560493824_r8, & + 0.0043738311434567906_r8, 0.0044835801169135795_r8, & + 0.0046329984931587293_r8, 0.0047527305801904757_r8, & + 0.0051817426010370366_r8, 0.0054097806257142863_r8, & + 0.0059143383200000003_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,88) / & + 9.9669679506172857e-05_r8, 0.00010066813283950618_r8, & + 9.9466290864197527e-05_r8, 0.00011266806271604941_r8, & + 0.00011238146962962963_r8, 0.00012158018320987653_r8, & + 0.00013180508493827159_r8, 0.00012828276345679015_r8, & + 0.00013578040839506172_r8, 0.00015118247555555555_r8, & + 0.00017151209481481479_r8, 0.0001977769644444444_r8, & + 0.00023994312790123456_r8, 0.00029368395407407407_r8, & + 0.00034691630864197527_r8, 0.00041802837382716045_r8, & + 0.00063629212148148156_r8, 0.00092929195012345675_r8, & + 0.0012262948370370371_r8, 0.0015792665802469136_r8, & + 0.0020198063787654321_r8, 0.0025852545382716047_r8, & + 0.0030949834548148147_r8, 0.0035452674182716052_r8, & + 0.0038933948138271603_r8, 0.0041589464207407402_r8, & + 0.004306356961481482_r8, 0.0043515277298765429_r8, & + 0.0041837043654320985_r8, 0.0040302383901234572_r8, & + 0.0039546702646913578_r8, 0.0039433452153086425_r8, & + 0.004009142761693122_r8, 0.0041719344033950608_r8, & + 0.0045191107259259259_r8, 0.0051194966627777774_r8, & + 0.0056532762036904756_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,88) / & + 0.00011770655407407408_r8, 0.00011850161876543209_r8, & + 0.00011726279703703703_r8, 0.0001065294237037037_r8, & + 0.00011741071604938271_r8, 0.00013110246962962961_r8, & + 0.00012913329777777778_r8, 0.00011927819358024692_r8, & + 0.00012742298419753087_r8, 0.00015194056049382714_r8, & + 0.0001722239550617284_r8, 0.00019022384987654316_r8, & + 0.00022977369580246909_r8, 0.00027849452049382719_r8, & + 0.00033304890123456794_r8, 0.00040814553481481478_r8, & + 0.00063195624543209883_r8, 0.00094066322419753099_r8, & + 0.001285850729382716_r8, 0.0017034538360493825_r8, & + 0.0022172967501234565_r8, 0.0028011423367901231_r8, & + 0.0032883413387654317_r8, 0.0036842373303703707_r8, & + 0.0039357273861728393_r8, 0.0040823243723456786_r8, & + 0.0041156616197530861_r8, 0.0040326605639506167_r8, & + 0.0039067445046913583_r8, 0.0037936511748148144_r8, & + 0.003709670155555555_r8, 0.0037031584172486772_r8, & + 0.0037390332351234564_r8, 0.0038454409888359787_r8, & + 0.0039044214498095238_r8, 0.0040489778799999996_r8, & + 0.0048215311466666671_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,88) / & + 0.0001036156420251391_r8, 0.00010556511698130699_r8, & + 0.00010546030649979257_r8, 9.8993499790353884e-05_r8, & + 0.00011370889139497615_r8, 0.000131558116396879_r8, & + 0.00011750303082579751_r8, 0.0001163815586735934_r8, & + 0.00013602304290939257_r8, 0.00017187870863546992_r8, & + 0.00021470427138225512_r8, 0.00025988806996311441_r8, & + 0.00030473647500312755_r8, 0.00035074827638795062_r8, & + 0.00043704922686691025_r8, 0.00055737165964544523_r8, & + 0.00089629731371857109_r8, 0.0013038109468947227_r8, & + 0.0017383656843015897_r8, 0.0022828456547207632_r8, & + 0.0029186679597797398_r8, 0.0034738385993133831_r8, & + 0.0038131834953125656_r8, 0.0040288520231247541_r8, & + 0.0040916544636481851_r8, 0.0040569202700743105_r8, & + 0.0039659657342161116_r8, 0.0037984890658042474_r8, & + 0.0037542800047014714_r8, 0.0037728131180952561_r8, & + 0.0038171352247888075_r8, 0.0039079948322966055_r8, & + 0.004038873963934847_r8, 0.0042064752819550829_r8, & + 0.0044029554156282116_r8, 0.004427320826177656_r8, & + 0.0044739506949719706_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,88) / & + 7.6184961519354724e-05_r8, 7.8317484281046907e-05_r8, & + 8.1867783164523434e-05_r8, 8.7351413123160489e-05_r8, & + 9.4744939840895456e-05_r8, 0.00011717158031275716_r8, & + 0.00010237280971925596_r8, 0.00011185199056655799_r8, & + 0.00013883660551258599_r8, 0.00017906160903395554_r8, & + 0.00023349952524726254_r8, 0.00029452248427414642_r8, & + 0.0003950791344985546_r8, 0.00052724867709134482_r8, & + 0.00069501494578315056_r8, 0.00090012379712063183_r8, & + 0.0013656699200192788_r8, 0.001921332705336467_r8, & + 0.0024775110456070316_r8, 0.0030504449218623207_r8, & + 0.0035161902364474989_r8, 0.0038312997673825974_r8, & + 0.0038901550521736948_r8, 0.0038893114167954435_r8, & + 0.0038187858426051951_r8, 0.0037289152405053103_r8, & + 0.0036246090997108932_r8, 0.0033852861469220864_r8, & + 0.0033976360314870516_r8, 0.0036285929334415271_r8, & + 0.0038870763689009772_r8, 0.0041237472685103846_r8, & + 0.0043745505671972549_r8, 0.0046467429101653274_r8, & + 0.0049130012658364286_r8, 0.0052357698845066428_r8, & + 0.0049502151271317322_r8, 0.0049855687222015999_r8, & + 0.0052313829805397324_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,18,88) / & + 9.1475977988266652e-05_r8, 9.2628818832355566e-05_r8, & + 9.4092538106311103e-05_r8, 0.00010242148937315554_r8, & + 0.00010428675995235554_r8, 0.00011419600990435556_r8, & + 0.0001158669814648889_r8, 0.0001440014793678222_r8, & + 0.00018871616019697774_r8, 0.00025642289156835551_r8, & + 0.0003406320862584889_r8, 0.00045472447001955549_r8, & + 0.00067382899673599985_r8, 0.00093071820594915538_r8, & + 0.0011876980880376887_r8, 0.0014816595500124444_r8, & + 0.0020614866815175108_r8, 0.0026181792765333336_r8, & + 0.0031400793939399111_r8, 0.0035860992679231998_r8, & + 0.0038770814782783992_r8, 0.0040185441171356438_r8, & + 0.0039700211755406218_r8, 0.0038462138408462223_r8, & + 0.0036813705534094218_r8, 0.0035205168724892436_r8, & + 0.0034120073471978667_r8, 0.0033313862077191106_r8, & + 0.0035050895304071109_r8, 0.0038576030016570667_r8, & + 0.0042099885593863988_r8, 0.0045162028875716433_r8, & + 0.0047630704309719989_r8, 0.005015280966077334_r8, & + 0.0052826074096948786_r8, 0.0054820718677727987_r8, & + 0.0055220169703103991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,88) / & + 0.00014690262826966912_r8, 0.00014966955693890369_r8, & + 0.00014447624466741728_r8, 0.00016400082850775963_r8, & + 0.00016509341059766253_r8, 0.00017753749492032262_r8, & + 0.00016187242183911764_r8, 0.00022342594269624357_r8, & + 0.00033713961631288882_r8, 0.00047097382763709614_r8, & + 0.00062558128804724919_r8, 0.00080851074652813165_r8, & + 0.0011314893638056556_r8, 0.001435085291020747_r8, & + 0.0016890609641008983_r8, 0.0019473785867850793_r8, & + 0.0023999346020495268_r8, 0.0028641968539915054_r8, & + 0.0033430883544359503_r8, 0.0037677622423411879_r8, & + 0.0040283927336052933_r8, 0.0041258170015179311_r8, & + 0.0040326211681869948_r8, 0.0038268893795960616_r8, & + 0.0035655494194424091_r8, 0.0033265293505539157_r8, & + 0.0031906944369611842_r8, 0.0032017621516381234_r8, & + 0.0035920267984003154_r8, 0.0040691251162264285_r8, & + 0.0045034069865683606_r8, 0.0048576059850358134_r8, & + 0.0051121774092777877_r8, 0.0053349265693297511_r8, & + 0.0055315136966761266_r8, 0.005801147968933865_r8, & + 0.0059223554076963539_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,88) / & + 0.00018689520861919342_r8, 0.00020139516702972839_r8, & + 0.00020236697275298766_r8, 0.00023223071688362139_r8, & + 0.00023574772807255964_r8, 0.00026863486778666671_r8, & + 0.00022087755795792589_r8, 0.00032589427802060905_r8, & + 0.00057634249584342381_r8, 0.00079104985873303688_r8, & + 0.00099816788168862543_r8, 0.001238389001185712_r8, & + 0.0015866193853536132_r8, 0.0018577994586059588_r8, & + 0.0020555233595700413_r8, 0.0022409839978358519_r8, & + 0.0026125839958249875_r8, 0.0030483077460615633_r8, & + 0.0035097612097330041_r8, 0.0039563445032898105_r8, & + 0.004197660832411524_r8, 0.0042508633393880486_r8, & + 0.0040805351045272763_r8, 0.0037958423040753255_r8, & + 0.0034531650954689051_r8, 0.0031766940799454811_r8, & + 0.0030055945707011689_r8, 0.0030323886427853167_r8, & + 0.003443161666714403_r8, 0.0040493092347442848_r8, & + 0.0046096800153802991_r8, 0.0050576681301356943_r8, & + 0.0054695906283513899_r8, 0.0057295170852781664_r8, & + 0.0059506788096417773_r8, 0.0060350697245026659_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,88) / & + 0.00025127355266085918_r8, 0.00027075096019753075_r8, & + 0.0002855131356273777_r8, 0.00031275484762263695_r8, & + 0.0003172034941686517_r8, 0.00037183687253712589_r8, & + 0.00035842428650887889_r8, 0.00067796040433461713_r8, & + 0.00095520938757688882_r8, 0.0011621464291555552_r8, & + 0.0013121507919037628_r8, 0.0015236197880161971_r8, & + 0.0018002856153441975_r8, 0.002053075373382163_r8, & + 0.0022760242102069718_r8, 0.0025059709180030414_r8, & + 0.0029322079065429323_r8, 0.0034058304785167799_r8, & + 0.003874621187200947_r8, 0.0042680181669685737_r8, & + 0.0044712230106958998_r8, 0.0045057958256134309_r8, & + 0.0042368443179513667_r8, 0.0038842849137803053_r8, & + 0.0035032008546025868_r8, 0.0031646038691789421_r8, & + 0.002945787108546686_r8, 0.0029584832458802563_r8, & + 0.0034552821000470115_r8, 0.004215350857111071_r8, & + 0.0048942755514039295_r8, 0.0053660132801548631_r8, & + 0.0057560271225398345_r8, 0.0060346169478449922_r8, & + 0.0061870158796897504_r8, 0.0064000903397375989_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,88) / & + 0.000304475798806861_r8, 0.00028473462751107167_r8, & + 0.00032668685372805263_r8, 0.00035754250133815309_r8, & + 0.00037884077318039181_r8, 0.0004902897973498207_r8, & + 0.00073482617397209557_r8, 0.0010228181842355094_r8, & + 0.0011636194485908807_r8, 0.0012638824056162765_r8, & + 0.0013459970873071936_r8, 0.0014702966654116872_r8, & + 0.0016847112004285108_r8, 0.0019888469427941928_r8, & + 0.0022728298665931853_r8, 0.0025578150620082832_r8, & + 0.0031100667224823308_r8, 0.0036572533317535609_r8, & + 0.0040748605392283135_r8, 0.0043884999642395655_r8, & + 0.0045789494690070117_r8, 0.0045881309929188341_r8, & + 0.0042430273982448467_r8, 0.0038762854752874406_r8, & + 0.0035119776405405758_r8, 0.0032134796760154871_r8, & + 0.0029911722520218334_r8, 0.0030065642804120232_r8, & + 0.0034731754108313553_r8, 0.0042003592637306466_r8, & + 0.0049482328664195423_r8, 0.0054936565515088728_r8, & + 0.0059070242395360363_r8, 0.0061386906943469918_r8, & + 0.0063086012375099376_r8, 0.0065291789759212024_r8, & + 0.0069679148744602893_r8, 0.0072465004889020936_r8, & + 0.0074106495682820265_r8, 0.0081299978048682674_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,88) / & + 0.00030933642445542703_r8, 0.00022740541873277358_r8, & + 0.00028698812583701064_r8, 0.00031524877400430608_r8, & + 0.00039140136689925261_r8, 0.00048596069204669617_r8, & + 0.00083903702287344169_r8, 0.0010877192464552557_r8, & + 0.0011772655114674038_r8, 0.0012763021498654549_r8, & + 0.0013559944989628048_r8, 0.0014657460750546172_r8, & + 0.0017101997250108568_r8, 0.0020754260298296357_r8, & + 0.002395783533055789_r8, 0.002716428043541596_r8, 0.0033055774123426757_r8, & + 0.0039127508370500469_r8, 0.0043214874424324203_r8, & + 0.0046610935658727244_r8, 0.0048104138761622117_r8, & + 0.004753414234394863_r8, 0.0044233176181577728_r8, & + 0.0040777034760820403_r8, 0.0037219675446491639_r8, & + 0.0034431112911690268_r8, 0.0032370018111026037_r8, & + 0.0032886631178403809_r8, 0.0036696939557574583_r8, & + 0.0043066396001996366_r8, 0.0050092333718334148_r8, & + 0.0055809518330648218_r8, 0.006026157494240604_r8, & + 0.0063401434363024312_r8, 0.0065776156346675808_r8, & + 0.0068371610830273103_r8, 0.0071662101227666615_r8, & + 0.0076096571811264443_r8, 0.0079114319893159053_r8, & + 0.0087635473179962387_r8, 0.0092463406799274638_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,88) / & + 0.00032422842208415493_r8, 0.00027113282461803878_r8, & + 0.00028875419388255493_r8, 0.00035344981013578667_r8, & + 0.00047586907131273059_r8, 0.0006069083036786151_r8, & + 0.00091276123269377939_r8, 0.001151996642825324_r8, & + 0.0012347237913769931_r8, 0.0013438898686758633_r8, & + 0.0014266508458566154_r8, 0.0015401579001391808_r8, & + 0.0018232651137061935_r8, 0.0021842497599096071_r8, & + 0.0025309681093561975_r8, 0.0028872387906591162_r8, & + 0.0034936916082158125_r8, 0.0041066593832355686_r8, & + 0.0045744204960292308_r8, 0.004941525505106137_r8, & + 0.0050541482135496906_r8, 0.0049533391171297896_r8, & + 0.0046802883911170601_r8, 0.0043405806431119102_r8, 0.00402663546952151_r8, & + 0.0037610650172714339_r8, 0.0035722833705489261_r8, & + 0.0036023792832246735_r8, 0.003979742660384266_r8, & + 0.0046191439079207256_r8, 0.0052906107673424798_r8, & + 0.0058851273168139435_r8, 0.0063224564131332192_r8, & + 0.0066783139486628782_r8, 0.0069487354263235417_r8, & + 0.0072382776090145276_r8, 0.0075736514731356277_r8, & + 0.0079999389485718615_r8, 0.0082867613749592894_r8, & + 0.0085905380991455997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,88) / & + 0.0002813170844619851_r8, 0.00030611973471644441_r8, & + 0.00034739266702933327_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,88) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,88) / & + 0.00021907012352585749_r8, 0.0002071733688263111_r8, & + 0.00024182174077534813_r8, 0.00020681493739235554_r8, & + 0.00021434199750542223_r8, 0.00021756788041102222_r8, & + 0.00024050749218417774_r8, 0.00028907495148515559_r8, & + 0.00032724789920142216_r8, 0.00042079850346382218_r8, & + 0.00049320165312284441_r8, 0.00059822206327182217_r8, & + 0.00075629032564622218_r8, 0.00087744015032320002_r8, & + 0.0010634660645461333_r8, 0.0012864104164664889_r8, & + 0.0017842716782307554_r8, 0.0023505933438805332_r8, & + 0.0028341173482865777_r8, 0.0032602923232597334_r8, & + 0.0034542037290296889_r8, 0.0035667511992917332_r8, & + 0.0036646029807615998_r8, 0.0037549277021184002_r8, & + 0.0038646077209087996_r8, 0.004040955986414933_r8, & + 0.0042506383752789331_r8, 0.00467753021312_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,88) / & + 0.00028744717589496014_r8, 0.00027477986655053403_r8, & + 0.0003263640765255436_r8, 0.00021363627692767124_r8, & + 0.00022229894373504197_r8, 0.00022658700945408253_r8, & + 0.00026564522472442322_r8, 0.00032159609676305737_r8, & + 0.00038148601514711815_r8, 0.0004519706612384338_r8, & + 0.00051875274468273728_r8, 0.00055648067712586811_r8, & + 0.00060339376343979817_r8, 0.0006742733760102109_r8, & + 0.00079526887593635678_r8, 0.00092509941874379113_r8, & + 0.0012067887177333021_r8, 0.0015622571595912801_r8, & + 0.0018798355144265186_r8, 0.0021572617556248107_r8, & + 0.0023201725273371775_r8, 0.0026225830653544683_r8, & + 0.0026182010958588331_r8, 0.0026947816228324335_r8, & + 0.002911912174651133_r8, 0.0030645761960328656_r8, & + 0.0032117330028095001_r8, 0.0035874551247590089_r8, & + 0.0041818116234725988_r8, 0.0044137195161409997_r8, & + 0.0058026207525000003_r8, 0.006789545226899809_r8, & + 0.0075820911165999979_r8, 0.0082463329394680002_r8, & + 0.0088659356111733343_r8, 0.0093100764092960003_r8, & + 0.0095700338190079989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,88) / & + 0.00029553811692157358_r8, 0.00028474167387975628_r8, & + 0.00030566703794736452_r8, 0.00021055966201178597_r8, & + 0.00022405521581405757_r8, 0.00022922125576417445_r8, & + 0.00026370021902675226_r8, 0.00032441569978879998_r8, & + 0.00039613078246710778_r8, 0.00045257992686585663_r8, & + 0.00050746184566176128_r8, 0.00054034456062514559_r8, & + 0.00062416210768097443_r8, 0.00071657037285609857_r8, & + 0.00080163589585493307_r8, 0.00089860072435684593_r8, & + 0.0011281412297808591_r8, 0.001388155566371292_r8, 0.00159131444081409_r8, & + 0.0017754634491483126_r8, 0.0019233921324390186_r8, & + 0.002196633562890495_r8, 0.0022441146941174117_r8, & + 0.0023531130580930169_r8, 0.0025129882087683683_r8, & + 0.0026804273996796704_r8, 0.0029835259290001506_r8, & + 0.0035229199963198671_r8, 0.0042241192236221426_r8, & + 0.0047739288110940966_r8, 0.0060084195655462826_r8, & + 0.006991471671916721_r8, 0.0078465476804739365_r8, & + 0.0085722648670418754_r8, 0.0092354117115936041_r8, & + 0.0096886612335252281_r8, 0.0099466162025047249_r8, & + 0.010074086994444018_r8, 0.010080542004895733_r8, 0.01008764349590862_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,88) / & + 0.00018288422484690698_r8, 0.00017247519550419753_r8, & + 0.0001831262952967374_r8, 0.00018312629529673743_r8, & + 0.00021983022725227983_r8, 0.00024597383583396869_r8, & + 0.00032443492038526417_r8, 0.00041636117370837859_r8, & + 0.0004696469314773069_r8, 0.00052247880715280319_r8, & + 0.00057885096315706994_r8, 0.00062974627523392261_r8, & + 0.00073901082452614301_r8, 0.00085341937087726077_r8, & + 0.0009545443012939325_r8, 0.0010575604070999043_r8, & + 0.0012872890463397825_r8, 0.0015202894190031503_r8, & + 0.0016932827965640163_r8, 0.0018584353609608427_r8, & + 0.0020057692708396802_r8, 0.0021620030521005661_r8, & + 0.002251247618721653_r8, 0.002340749385195684_r8, 0.0024970815075768126_r8, & + 0.002724419701124615_r8, 0.0029851484873459054_r8, & + 0.0035523384630525494_r8, 0.0043528259961265938_r8, & + 0.0052892409498028672_r8, 0.0063383342945169605_r8, & + 0.0073187995860324699_r8, 0.0081642063169531775_r8, 0.00889546440305484_r8, & + 0.0095308409775906235_r8, 0.010000324187312799_r8, 0.010291783925207231_r8, & + 0.010438879655054183_r8, 0.010519905794819567_r8, 0.010547385032511552_r8, & + 0.010577302346498636_r8, 0.010627376888456531_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,88) / & + 0.00015149054648256789_r8, 0.00016349010951996045_r8, & + 0.00018726877118198517_r8, 0.00022912551469037035_r8, & + 0.00027041534970879998_r8, 0.00031211461863664191_r8, & + 0.00041781155709724434_r8, 0.00055027917425019249_r8, & + 0.00060501733844701218_r8, 0.00066029091621767888_r8, & + 0.00070655694798127378_r8, 0.00076104315284922447_r8, & + 0.0008551499621818466_r8, 0.00092472223186583686_r8, & + 0.00099599522701969358_r8, 0.0010915193075772046_r8, & + 0.0013221250833246811_r8, 0.0016142719251484442_r8, & + 0.0018682154337324242_r8, 0.0020563345676493433_r8, & + 0.0022062818632425877_r8, 0.0023347811209658465_r8, & + 0.0024578002632862019_r8, 0.0025711189714450952_r8, & + 0.0027231134365854029_r8, 0.0028995164617099055_r8, & + 0.0030624081678238013_r8, 0.0035070061510714457_r8, & + 0.0042416914335930344_r8, 0.0052722551430880431_r8, & + 0.0064487190514563378_r8, 0.0074782816725464663_r8, & + 0.0083661351682426249_r8, 0.0090824431672148192_r8, & + 0.0097124072912659568_r8, 0.010218906957379332_r8, 0.01059502678183223_r8, & + 0.010799864204592519_r8, 0.010935901658004538_r8, 0.011008243568114752_r8, & + 0.011045387547354854_r8, 0.01106888259729732_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,88) / & + 0.00023939472407972351_r8, 0.00027916292065572343_r8, & + 0.00030914454046116873_r8, 0.00036046678921110113_r8, & + 0.00040157695785262876_r8, 0.00045437210277204281_r8, & + 0.00057158190683678008_r8, 0.00073661173987068292_r8, & + 0.00080757260421370218_r8, 0.00087048163616355553_r8, & + 0.00091018437068757869_r8, 0.00096749639719340239_r8, & + 0.001014432688460879_r8, 0.0010544627332447869_r8, 0.001125358135535829_r8, & + 0.0012062037697273681_r8, 0.0014895562617096164_r8, & + 0.0018165719423604936_r8, 0.0021799517928845695_r8, & + 0.0024887362920598646_r8, 0.0026923560047341821_r8, & + 0.0028361434019015643_r8, 0.0029816328124203455_r8, & + 0.0031085637312036605_r8, 0.0032173289305633705_r8, & + 0.0033099250030847733_r8, 0.0033774491096990032_r8, & + 0.003624895666171891_r8, 0.0042835748331640092_r8, & + 0.0054083438102320467_r8, 0.0067201051387722538_r8, & + 0.0078678185650582107_r8, 0.0087927155319276109_r8, & + 0.0095086962047386293_r8, 0.010236839960600007_r8, 0.010753330874837324_r8, & + 0.011137775478515414_r8, 0.011329152618504826_r8, 0.011463356254366262_r8, & + 0.01152675286170682_r8, 0.011477631774454614_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,35,88) / & + 0.00034818012621813991_r8, 0.000363121420108214_r8, & + 0.00037366821579532498_r8, 0.00054126631006156376_r8, & + 0.00061298003221953667_r8, 0.00060008283204153793_r8, & + 0.00083155430564014587_r8, 0.001001982590191412_r8, & + 0.0010698871406841527_r8, 0.0011265905428795191_r8, & + 0.0011332285704065842_r8, 0.0011802779060321787_r8, & + 0.0012115185726910616_r8, 0.0012593994965894321_r8, & + 0.0013246503645924605_r8, 0.0013786453729471276_r8, & + 0.0016062694618526512_r8, 0.0018980702080893684_r8, & + 0.0022923498032407846_r8, 0.0026381128038082961_r8, & + 0.0028613630174147771_r8, 0.0030009000115618061_r8, & + 0.0031371039805017566_r8, 0.0032542702189659141_r8, & + 0.003329358090827606_r8, 0.0033804077845688918_r8, & + 0.0034094260300523908_r8, 0.0036167102340663696_r8, & + 0.0043269885204246916_r8, 0.0055954980028540052_r8, & + 0.0069332800621731546_r8, 0.0082406394562518498_r8, & + 0.0092019875257375993_r8, 0.009954878069287517_r8, 0.010727034529679541_r8, & + 0.011262759344146589_r8, 0.011650024907707999_r8, 0.011864992295888591_r8, & + 0.012015093069290666_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,36,88) / & + 0.00039835992888604435_r8, 0.00041011781296592585_r8, & + 0.00042849390724645917_r8, 0.00074555194007715556_r8, & + 0.00089373120224254783_r8, 0.00089536727308869315_r8, & + 0.0010775264682124858_r8, 0.0012593043367492992_r8, & + 0.0013536176038849183_r8, 0.0014154133814712176_r8, & + 0.0014590208992382254_r8, 0.001489180902855318_r8, & + 0.0015301108366055464_r8, 0.0015561447683692014_r8, & + 0.0015880611624973712_r8, 0.0016180264167299503_r8, & + 0.0016778309478656811_r8, 0.0017817049136429862_r8, & + 0.0019602645768890307_r8, 0.0022200803719709507_r8, & + 0.0025544460805737236_r8, 0.0028228321058330311_r8, & + 0.0030320185928799643_r8, 0.0031554288513369593_r8, & + 0.0032380367878095638_r8, 0.0032955571311997509_r8, & + 0.0033545929743193943_r8, 0.0035915759442090665_r8, & + 0.004095545610339554_r8, 0.0049629414844581995_r8, & + 0.0065528993789775985_r8, 0.0083772811874410665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,88) / & + 0.00044878710391424529_r8, 0.00047914108715235558_r8, & + 0.00048989069706261074_r8, 0.00086714734587912425_r8, & + 0.0010729932658216032_r8, 0.0011558199211640099_r8, & + 0.0013774440820934059_r8, 0.0014966372143525402_r8, & + 0.0015388522078475585_r8, 0.001566542213908152_r8, & + 0.0015874818293386609_r8, 0.0016101796436782201_r8, & + 0.0016565279012258991_r8, 0.0016937760804082679_r8, & + 0.0017267667113071746_r8, 0.0017646922720825566_r8, & + 0.0018534240551450337_r8, 0.0019574374628334406_r8, & + 0.002101034942540526_r8, 0.0022878950472169346_r8, & + 0.0026056074464073189_r8, 0.0028562312178104657_r8, & + 0.003033967428399851_r8, 0.0031364967131897532_r8, 0.003251660043138099_r8, & + 0.0033771513275958629_r8, 0.0034919274893906618_r8, & + 0.0038092356720146876_r8, 0.0043001792061738361_r8, & + 0.005162537900161219_r8, 0.0068063614803285325_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,88) / & + 0.00062967005503217774_r8, 0.00066787297705710614_r8, & + 0.00070871318166758172_r8, 0.0010165217348664622_r8, & + 0.0012317239938471241_r8, 0.0013586903126084739_r8, & + 0.0017046641123667748_r8, 0.0017528133572857678_r8, & + 0.0017970443537919467_r8, 0.0018392031996951968_r8, & + 0.001871378047238874_r8, 0.0019154253758507029_r8, 0.001986923990518166_r8, & + 0.0020476144560180737_r8, 0.0021048952918895241_r8, & + 0.0021563391217119415_r8, 0.0022816006256590623_r8, & + 0.0023783099126263173_r8, 0.0024786377935003623_r8, & + 0.0026151962857800036_r8, 0.0028193078296018014_r8, & + 0.0029509714715805721_r8, 0.0030119811020954245_r8, & + 0.0030835098571352941_r8, 0.0031481976895255817_r8, & + 0.0031858609105071107_r8, 0.0032640610486017775_r8, & + 0.0034575904960490664_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,88) / & + 0.00093703694283048874_r8, 0.00097358985138504695_r8, & + 0.0010026456806066567_r8, 0.0014388632016403948_r8, & + 0.0016159789649111509_r8, 0.0017764572503054421_r8, & + 0.0020353144210231312_r8, 0.0020425742092311698_r8, & + 0.0020511614380395774_r8, 0.0020734466531437349_r8, & + 0.0021002914710638535_r8, 0.0021525426293439566_r8, & + 0.0022534671655171793_r8, 0.0022959463764882326_r8, & + 0.002357169849203168_r8, 0.0024318828533457068_r8, & + 0.0025454726903978739_r8, 0.0026876273759722067_r8, & + 0.0028272625370401898_r8, 0.0029636553910889962_r8, & + 0.0030503601089465356_r8, 0.0031239029864292022_r8, & + 0.0032184639513575105_r8, 0.0033272665528776999_r8, & + 0.003427273192781511_r8, 0.00349185668003117_r8, 0.0034558586088506657_r8, & + 0.003497639218073599_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,88) / & + 0.0011218066217441975_r8, 0.0011566548125563785_r8, & + 0.0012139054117478187_r8, 0.0014294583339489705_r8, & + 0.0015423134772358845_r8, 0.0016660486432302877_r8, & + 0.0019536265128013166_r8, 0.0019362425650804936_r8, & + 0.0019487284951986831_r8, 0.0019823722554528395_r8, & + 0.0020216768393297112_r8, 0.0021045416617218103_r8, & + 0.0021900562313415632_r8, 0.0022426948651879009_r8, & + 0.0023165364953161315_r8, 0.0023968971058396706_r8, & + 0.0025264787785011515_r8, 0.0026026640297568721_r8, & + 0.0027302935212222225_r8, 0.0028631171194690528_r8, & + 0.0029617549637106166_r8, 0.0031195303483511931_r8, & + 0.0032336587467994469_r8, 0.0033467131946667951_r8, & + 0.0034214516954069836_r8, 0.0034873620069260309_r8, & + 0.0035029744380344263_r8, 0.0035591645647964432_r8, & + 0.0035456456920901582_r8, 0.0033844799788133322_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,88) / & + 0.001421988585057238_r8, 0.0014470671649165169_r8, & + 0.0016374326225942119_r8, 0.0020468838917818469_r8, & + 0.0021118564501631468_r8, 0.0021150843861846382_r8, & + 0.0023248174599912819_r8, 0.0022193301661607508_r8, & + 0.002112353055704915_r8, 0.0020707468226586734_r8, 0.002072588401542729_r8, & + 0.00209408950011079_r8, 0.0021098182982521411_r8, 0.002129944124627896_r8, & + 0.0021786816723736325_r8, 0.0022368022566726831_r8, & + 0.0023528239433572339_r8, 0.0024472964967114999_r8, & + 0.0025821980619393356_r8, 0.0026973462549477419_r8, & + 0.0028022985154267255_r8, 0.0030845323033497733_r8, & + 0.003215549703804495_r8, 0.0032989967273359027_r8, & + 0.0033451996654281346_r8, 0.003383546037810914_r8, & + 0.0034385211580802316_r8, 0.0035689541602277651_r8, & + 0.0035270903130567312_r8, 0.0034678944890801926_r8, & + 0.0034649549833309506_r8, 0.0034942717811107553_r8, & + 0.0034934337592590222_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,88) / & + 0.0017174116929744594_r8, 0.0017744371259008_r8, 0.0025737247362223061_r8, & + 0.0031268215094333511_r8, 0.0031780628123917205_r8, & + 0.0033249066508838718_r8, 0.0033271548508740536_r8, & + 0.0031616602375141249_r8, 0.0028671049410346262_r8, & + 0.0026897443372593498_r8, 0.0026075439352892514_r8, & + 0.0024226730953924025_r8, 0.0021070002448277327_r8, & + 0.0021006711889311998_r8, 0.0021369194181567997_r8, & + 0.0021817981781503998_r8, 0.0022853645473663998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,88) / & + 0.0026498078306900082_r8, 0.0028446052849031571_r8, & + 0.0031728291824689773_r8, 0.0041267797367240885_r8, & + 0.0042092846479109972_r8, 0.0042350414420945009_r8, & + 0.0038762765290046982_r8, 0.0037454339880731722_r8, & + 0.0032994972572958567_r8, 0.0030277791722510814_r8, & + 0.0029231694198934241_r8, 0.0028054507914228154_r8, & + 0.0027011774773509451_r8, 0.0026804357751006812_r8, & + 0.0026456228704675078_r8, 0.0026191184878584651_r8, & + 0.0026068037188725808_r8, 0.0027132356886496235_r8, & + 0.0027789341917810483_r8, 0.0028720251618233835_r8, & + 0.0029463084798728536_r8, 0.0029592942458868147_r8, & + 0.0030815867434549732_r8, 0.0032519344693574706_r8, & + 0.0033475186538472691_r8, 0.0034570490510774914_r8, & + 0.0035934851134531553_r8, 0.0038249133041173729_r8, & + 0.0038829019198281479_r8, 0.0039692763411874766_r8, & + 0.0040069705860000396_r8, 0.0040705837356226375_r8, & + 0.0041171588234538668_r8, 0.0041347231574241188_r8, & + 0.0041676809526267258_r8, 0.0041459722252477627_r8, & + 0.0041295920036799995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,88) / & + 0.0030939510501236419_r8, 0.0034119858062451628_r8, & + 0.0033114303679705284_r8, 0.0043738459200730606_r8, & + 0.0043477375798214851_r8, 0.0043944981132254292_r8, & + 0.0040883676780476309_r8, 0.0037487788862780058_r8, & + 0.0030182413726065516_r8, 0.0027833564945919475_r8, & + 0.0027398876862974424_r8, 0.0026884375719156682_r8, & + 0.0026295472569440662_r8, 0.0026861378735515392_r8, & + 0.0026161098037575906_r8, 0.0026318920474329814_r8, & + 0.0025275488706762534_r8, 0.0026583611246828514_r8, & + 0.0027327631305811223_r8, 0.002855548986375665_r8, & + 0.0029742314588146043_r8, 0.0029854593978865256_r8, & + 0.0031473852179960365_r8, 0.0033079582743619422_r8, & + 0.0033837581361286064_r8, 0.0035002310944529905_r8, & + 0.0036279770839740847_r8, 0.003926306581563759_r8, & + 0.0040088251699236617_r8, 0.0040865639930561578_r8, & + 0.0041026055164490732_r8, 0.0041578095502193511_r8, & + 0.0042099400725554986_r8, 0.0042301880470178143_r8, & + 0.004260741987643462_r8, 0.0042451465541993314_r8, 0.004250547946575583_r8, & + 0.0042551183555093342_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,88) / & + 0.0028608611471359997_r8, 0.0035229379487573338_r8, & + 0.0034442726062933328_r8, 0.0041971527478613328_r8, & + 0.0043853380370773333_r8, 0.0045165859258879974_r8, & + 0.004074938864810666_r8, 0.0031945634214399993_r8, & + 0.0024605388713813329_r8, 0.0024515511938559996_r8, & + 0.0024460844621653328_r8, 0.002459241680810667_r8, & + 0.0024113846143999995_r8, 0.0024782825852586667_r8, & + 0.0024865290110293327_r8, 0.002536934130346666_r8, & + 0.0025082569530879991_r8, 0.0025676960781653335_r8, & + 0.0026496043970560003_r8, 0.002762228335530666_r8, & + 0.0028943564607999991_r8, 0.002995444668842666_r8, & + 0.0031466600267946658_r8, 0.0033051952458240004_r8, & + 0.0034596535802026655_r8, 0.0036062361146879992_r8, & + 0.0037941434344959993_r8, 0.004137528309845334_r8, & + 0.0041660665023999996_r8, 0.0041754711340373325_r8, & + 0.0041963188396373337_r8, 0.004226941802752_r8, 0.0042573331246933341_r8, & + 0.0042701197174613327_r8, 0.0042873074925226656_r8, & + 0.0042987968947199992_r8, 0.0043642586903039982_r8, & + 0.0043698180784639993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,89) / & + 0.0052940731244532626_r8, 0.0052998741911481489_r8, & + 0.0048801146035767186_r8, 0.0047678577425079357_r8, & + 0.0049121557436560843_r8, 0.0050016602503386237_r8, & + 0.0052486900856719577_r8, 0.005466956342666667_r8, & + 0.0057562554225185176_r8, 0.0060308023543703708_r8, & + 0.0062494331260740743_r8, 0.0065983814721481474_r8, & + 0.0069932198428148138_r8, 0.0072436152979259245_r8, & + 0.0075194574456296289_r8, 0.0077409310358518505_r8, & + 0.0079232874432592585_r8, 0.0082209818515555557_r8, & + 0.0083563721235555555_r8, 0.0085014806746666668_r8, & + 0.0086593028648888886_r8, 0.0088601251120000012_r8, & + 0.008842469128888886_r8, 0.0089385494611111099_r8, & + 0.0090419601048888874_r8, 0.0090803714366666649_r8, & + 0.009104862664888887_r8, 0.0091332645019999992_r8, & + 0.0091604834492592588_r8, 0.0091924755581481478_r8, & + 0.0091578625092592573_r8, 0.0091289350974074063_r8, & + 0.0090895100581481481_r8, 0.0091053189025925903_r8, & + 0.0091257386599999987_r8, 0.0091449866214814816_r8, & + 0.0091712237562962939_r8, 0.009115712524444446_r8, 0.008976772988571427_r8, & + 0.0087179952799999981_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,6,89) / & + 0.0046160531486419756_r8, 0.004247041437530864_r8, & + 0.0041869955634567897_r8, 0.0044974590804938274_r8, & + 0.0048189425639506176_r8, 0.0050907714839506183_r8, & + 0.005578710080987653_r8, 0.0059231857259259254_r8, & + 0.0063298982953086417_r8, 0.0067703179096296291_r8, & + 0.0070864578187654313_r8, 0.0073867796385185171_r8, & + 0.0076676223733333337_r8, 0.0078637444938271604_r8, & + 0.0080890621293827139_r8, 0.0082168456661728378_r8, & + 0.0083427524804938254_r8, 0.0085013031718518504_r8, & + 0.0086687567387654322_r8, 0.0088055448454320995_r8, & + 0.0089082838444444444_r8, 0.0090362892597530865_r8, & + 0.0089489153481481475_r8, 0.0089868565748148135_r8, & + 0.0091069020982716044_r8, 0.0091211670380246922_r8, & + 0.0091173766133333355_r8, 0.0091131886562962963_r8, & + 0.0091433456449382718_r8, 0.0091685658365432098_r8, & + 0.0091346923827160496_r8, 0.0091146678464197519_r8, & + 0.009093441468148146_r8, 0.0091072256711111112_r8, & + 0.0091202332992592599_r8, 0.0091312070409876531_r8, & + 0.0091237833555555554_r8, 0.0090386467190123453_r8, & + 0.0089134159408024698_r8, 0.008749466205493826_r8, & + 0.0086824420208888881_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,89) / & + 0.003005048695308642_r8, 0.0025523610479012346_r8, & + 0.0032700178711111104_r8, 0.003936485471111111_r8, & + 0.0041827613817283947_r8, 0.0047839042479012345_r8, & + 0.0055105101713580238_r8, 0.0059582332869135808_r8, & + 0.0064301319160493834_r8, 0.0070802729550617288_r8, & + 0.0074878360587654329_r8, 0.0078842220320987644_r8, & + 0.0081786455812345674_r8, 0.0083756459708641973_r8, & + 0.0085650562661728387_r8, 0.0086701712143209889_r8, & + 0.008805988602469136_r8, 0.0088869742617283948_r8, & + 0.0089477042612345677_r8, 0.0089936608493827175_r8, & + 0.0090401628888888887_r8, 0.0090924060350617286_r8, & + 0.0091018636069135801_r8, 0.0091327139659259267_r8, & + 0.0091743809027160488_r8, 0.0091929262488888892_r8, & + 0.0091959493437037028_r8, 0.0091979554953086403_r8, & + 0.0092447718627160485_r8, 0.009246019929382716_r8, 0.009209946180246913_r8, & + 0.0091804363372839509_r8, 0.009161752317037036_r8, 0.009143521298765429_r8, & + 0.0091272686972839485_r8, 0.0090831148720987662_r8, & + 0.0089957409604938254_r8, 0.0088907924212345661_r8, & + 0.0088326602493827167_r8, 0.0087770242108641955_r8, & + 0.0087224074267901238_r8, 0.0087012711866666665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,8,89) / & + 0.0021572786108641977_r8, 0.0019832703827160495_r8, & + 0.0026755036256790126_r8, 0.0029597022730864192_r8, & + 0.0029455205377777768_r8, 0.0033228249585185187_r8, & + 0.0040276682972839499_r8, 0.0046701637723456785_r8, & + 0.0051080502735802464_r8, 0.0054833300528395051_r8, & + 0.0058149922133333325_r8, 0.0062181269916049388_r8, & + 0.0066112310118518506_r8, 0.006913965760493827_r8, & + 0.0071630983570370376_r8, 0.007360524013827161_r8, & + 0.0076020665160493814_r8, 0.0079469674281481464_r8, & + 0.0080823780390123449_r8, 0.0081627350424691349_r8, & + 0.0082822443595061725_r8, 0.0084455839288888872_r8, & + 0.0085261535659259258_r8, 0.0086507475990123452_r8, & + 0.0087567870409876545_r8, 0.0088396216879012349_r8, & + 0.0089091251338271598_r8, 0.0090329703269135791_r8, & + 0.0091298572800000005_r8, 0.0091841528024691373_r8, & + 0.0092070155348148146_r8, 0.0092175917441975307_r8, & + 0.0092181845758641974_r8, 0.0091913782169929445_r8, & + 0.0091556874064074069_r8, 0.0091051927091851843_r8, & + 0.0089987847243492049_r8, 0.0088839049422222219_r8, 0.00884069410074074_r8, & + 0.0087885803837037032_r8, 0.008741500535555554_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,89) / & + 0.0018097891160493828_r8, 0.0018170186577777777_r8, & + 0.0019881517101234571_r8, 0.0017759341520987653_r8, & + 0.0017598941841975308_r8, 0.0018976899891358027_r8, & + 0.0020618523580246914_r8, 0.0024495388444444447_r8, & + 0.0035226727891358015_r8, 0.0040479794266666666_r8, & + 0.0044561526962962955_r8, 0.0048548314143209885_r8, & + 0.0053556851901234567_r8, 0.0057456089516049382_r8, & + 0.0059993085476543204_r8, 0.0061529779116049378_r8, & + 0.0063704003698765435_r8, 0.0068136212004938261_r8, & + 0.0070142456059259254_r8, 0.0071557856108641982_r8, & + 0.0072395724864197522_r8, 0.0073653128918518525_r8, & + 0.0074748469204938273_r8, 0.0076385562874074072_r8, & + 0.0078065553056790114_r8, 0.0079225977708641971_r8, & + 0.0080077344074074071_r8, 0.0082687190148148133_r8, & + 0.0084966125212962967_r8, 0.0087075907623280404_r8, & + 0.0088800928909788367_r8, 0.0090117254587654318_r8, & + 0.0091181152839012337_r8, 0.009200379287_r8, 0.0092251739142857163_r8, & + 0.0092298809085714292_r8, 0.0091490775066666672_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,89) / & + 0.0010646008666666668_r8, 0.0010839227876543211_r8, & + 0.00098625925975308641_r8, 0.00097923310666666675_r8, & + 0.0010072545145679013_r8, 0.0010446687797530862_r8, & + 0.0010976607659259261_r8, 0.0011704276750617284_r8, & + 0.0018571601797530864_r8, 0.002551658432592592_r8, & + 0.0029671906730864193_r8, 0.0033542577486419755_r8, & + 0.0038994964730864196_r8, 0.0043375308933333327_r8, & + 0.0046216925609876549_r8, 0.0048747727461728382_r8, & + 0.0052164933995061729_r8, 0.0055273821837037024_r8, & + 0.0057197878390123462_r8, 0.0059010348538271612_r8, & + 0.0059922084350617277_r8, 0.0061399055688888884_r8, & + 0.0061277207402469129_r8, 0.0062386692444444444_r8, & + 0.0063402618711111119_r8, 0.0064489083856790128_r8, & + 0.006497971273086418_r8, 0.0068503236054320987_r8, & + 0.0070049240667372139_r8, 0.0074244844589065259_r8, & + 0.0077608245251481476_r8, 0.0079416490462839509_r8, & + 0.0080498160457142844_r8, 0.0082460299552380937_r8, & + 0.0083062331253333337_r8, 0.0083139961000000002_r8, & + 0.0084573989599999993_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,89) / & + 0.00037324589283950618_r8, 0.00037975432938271598_r8, & + 0.00030363150765432093_r8, 0.0003351659920987654_r8, & + 0.00034378227456790123_r8, 0.00035609653234567901_r8, & + 0.00037627823259259256_r8, 0.00043012075308641976_r8, & + 0.00056189810320987643_r8, 0.00076224516049382715_r8, & + 0.00094525795851851837_r8, 0.0011031060345679012_r8, & + 0.0013580352074074071_r8, 0.001660760711111111_r8, & + 0.0018972924567901234_r8, 0.0021386408153086416_r8, & + 0.0025735874261728401_r8, 0.0030136002632098766_r8, & + 0.0034249445466666669_r8, 0.0038788525259259255_r8, & + 0.0042374267017283949_r8, 0.0045514402750617281_r8, & + 0.0047859011545679005_r8, 0.0050037026553086412_r8, & + 0.0051581948187654318_r8, 0.0052673035802469131_r8, & + 0.0053261661022222222_r8, 0.0054408310716049391_r8, & + 0.0055649998375308643_r8, 0.005868954918024691_r8, & + 0.0062656737091358024_r8, 0.0067061903953086408_r8, & + 0.0069867689890299829_r8, 0.0071902904939753079_r8, & + 0.0073845271753439148_r8, 0.0075849587577777782_r8, & + 0.0077900993155555539_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,89) / & + 0.00010509645827160491_r8, 0.00010219354765432101_r8, & + 7.682543703703705e-05_r8, 0.00010260032493827159_r8, & + 0.00010411649481481482_r8, 0.00010697318074074074_r8, & + 0.00017239960888888885_r8, 0.00017000516987654315_r8, & + 0.00020316676345679012_r8, 0.00024495388444444445_r8, & + 0.00028544671407407403_r8, 0.0003313200977777777_r8, & + 0.0004287155224691358_r8, 0.00055576870913580238_r8, & + 0.00066898222320987651_r8, 0.00080304307308641976_r8, & + 0.0011014234558024689_r8, 0.0013543002523456788_r8, & + 0.0017207233807407403_r8, 0.002193084256790124_r8, & + 0.0026421663782716046_r8, 0.0031110419125925924_r8, & + 0.0035566756720987647_r8, 0.0039930644933333344_r8, & + 0.0043289053659259259_r8, 0.0045961303066666664_r8, & + 0.0047616239466666665_r8, 0.0048932626227160504_r8, & + 0.0048554508251851848_r8, 0.0048866628924074066_r8, & + 0.0050086325186419747_r8, 0.0051824466030864196_r8, & + 0.0055336860759876549_r8, 0.0061190095320723097_r8, & + 0.0067871232263492058_r8, 0.0073842859815079365_r8, & + 0.0076887357982698421_r8, 0.0077366404600000003_r8, & + 0.0079429458799999998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,13,89) / & + 7.3571218765432098e-05_r8, 7.1796190617283949e-05_r8, & + 4.7435778271604927e-05_r8, 0.00010599321728395058_r8, & + 0.00010781447012345677_r8, 0.00011154942518518517_r8, & + 0.00015745054370370367_r8, 0.00016051986320987654_r8, & + 0.0001727601614814815_r8, 0.00019143493679012348_r8, & + 0.0002074194350617284_r8, 0.00023054102567901234_r8, & + 0.0002744359925925926_r8, 0.00034939395209876548_r8, & + 0.00044006830666666662_r8, 0.00055642509975308637_r8, & + 0.00081182576444444445_r8, 0.0010440031441975308_r8, & + 0.0013259090469135803_r8, 0.0017240885382716052_r8, & + 0.0021593124972839502_r8, 0.002664271025679012_r8, & + 0.0031595223688888887_r8, 0.0036539601575308642_r8, & + 0.0040222692533333328_r8, 0.0043047021175308632_r8, & + 0.0044722019091358025_r8, 0.0045398193876543215_r8, & + 0.0044103567389506167_r8, 0.004313048480820105_r8, & + 0.0043135922812962959_r8, 0.0043914888104673718_r8, & + 0.0045232229074867718_r8, 0.0047637933044497359_r8, & + 0.0049645165977037029_r8, 0.0054903423385185184_r8, & + 0.0060979645857142852_r8, 0.0071536685199999998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,89) / & + 0.00010530909185185184_r8, 0.00010559568493827159_r8, & + 9.6618849876543194e-05_r8, 0.00011402706864197532_r8, & + 0.00011412876296296295_r8, 0.00012050777037037038_r8, & + 0.00013056626320987654_r8, 0.00014287127604938269_r8, & + 0.00015574023012345677_r8, 0.00016935802419753087_r8, & + 0.00018430708938271605_r8, 0.00019950576790123459_r8, & + 0.00023242699308641973_r8, 0.00028765625432098762_r8, & + 0.00034841398864197531_r8, 0.00042302064049382716_r8, & + 0.00064834752098765424_r8, 0.00095455836641975293_r8, & + 0.0012430374202469137_r8, 0.0015974143940740741_r8, & + 0.002019177722962963_r8, 0.0025387247639506172_r8, 0.00305958458617284_r8, & + 0.0035586078641975305_r8, 0.0039278506987654319_r8, & + 0.0041964808701234575_r8, 0.0043382150187654322_r8, & + 0.0043623350627160495_r8, 0.0042068629358024681_r8, & + 0.0040637143116049376_r8, 0.0039820075471604941_r8, & + 0.0039569075397530859_r8, 0.003988747107160494_r8, & + 0.0040724322883950621_r8, 0.0043136327279012336_r8, & + 0.0047662279259259258_r8, 0.0052873121029894188_r8, & + 0.0056250676683333332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,89) / & + 0.00011462798962962961_r8, 0.00011587605629629631_r8, & + 0.00011757712493827162_r8, 0.00011298239061728394_r8, & + 0.00011680055012345678_r8, 0.00012852313185185183_r8, & + 0.0001243259298765432_r8, 0.00013084361135802468_r8, & + 0.00015044288049382719_r8, 0.00017463688395061728_r8, & + 0.00019777696444444446_r8, 0.00022165664_r8, 0.00025182287358024695_r8, & + 0.00029052218518518515_r8, 0.00034888548049382719_r8, & + 0.00042518395604938266_r8, 0.00066258472592592606_r8, & + 0.00098826541135802457_r8, 0.0013520814671604937_r8, & + 0.001781231501728395_r8, 0.002308636740246913_r8, 0.0028918259362962959_r8, & + 0.0033562454103703704_r8, 0.0037533524888888892_r8, & + 0.0039936654143209868_r8, 0.004126598381728395_r8, & + 0.0041387924553086411_r8, 0.0040397514316049387_r8, & + 0.0039672248908641976_r8, 0.0039177922059259263_r8, & + 0.0038489543955555557_r8, 0.0038080883015432099_r8, & + 0.0038170697590740738_r8, 0.003845610039135802_r8, & + 0.0038991775227160495_r8, 0.0040123910698077608_r8, & + 0.004335536297901235_r8, 0.0049314390174999998_r8, 0.0057155213_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,89) / & + 9.8364636901267479e-05_r8, 0.00010147750820224525_r8, & + 0.00010795479595983539_r8, 0.00011163364386099094_r8, & + 0.00011751351187394897_r8, 0.00013601256186124115_r8, & + 0.00011843584411127572_r8, 0.00012526948750601479_r8, & + 0.00016717271801547321_r8, 0.00021460994194889214_r8, & + 0.00026093617477825846_r8, 0.00031490309171002467_r8, & + 0.00034338009953748802_r8, 0.00038289365106841807_r8, & + 0.00046615509758346003_r8, 0.00059254605724167895_r8, & + 0.00096688717301852186_r8, 0.0013970189081054813_r8, & + 0.0018325064587978268_r8, 0.0023947727679299951_r8, & + 0.0030120121746164672_r8, 0.0035215064063061326_r8, & + 0.0038288212191545153_r8, 0.0040262212800387422_r8, & + 0.0040571822962780961_r8, 0.0040033516329722992_r8, & + 0.0039036349408594954_r8, 0.0037878088777379294_r8, & + 0.0039096720245947259_r8, 0.0040382535233165961_r8, & + 0.0040813830364597728_r8, 0.0041310003184086919_r8, & + 0.0042135804967938896_r8, 0.0042908677458626107_r8, & + 0.0043564581451943241_r8, 0.0043926108363385504_r8, & + 0.0044154196558933989_r8, 0.0044338550007598961_r8, & + 0.0044999915141697329_r8, 0.0047404077618640001_r8, & + 0.0046732687876679104_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,89) / & + 6.7268204257553885e-05_r8, 7.1650421361251019e-05_r8, & + 8.0297683988332519e-05_r8, 9.3081103400454322e-05_r8, & + 0.00010027543843165761_r8, 0.00012142490867811025_r8, & + 0.00011275421173496623_r8, 0.00012153036310039175_r8, & + 0.00016380586927723455_r8, 0.00022119650931442299_r8, & + 0.00027972371368064519_r8, 0.00034921817796414146_r8, & + 0.0004230011220870848_r8, 0.00055787732818509956_r8, & + 0.00073212318526820063_r8, 0.00095828776958788457_r8, & + 0.0014613170810285827_r8, 0.0020336885336983699_r8, & + 0.0025984672679638908_r8, 0.0031389680507886088_r8, & + 0.0035490802990412913_r8, 0.0038091894901775797_r8, & + 0.0038627603366965728_r8, 0.0038287805784058739_r8, & + 0.0037251071641451455_r8, 0.0036087792192106396_r8, & + 0.0034941033935585444_r8, 0.0033716590921317132_r8, & + 0.0034896274391905974_r8, 0.0037926214287213565_r8, & + 0.0040923346140033581_r8, 0.0043431872502949394_r8, & + 0.0045592750787077259_r8, 0.0047113520727956526_r8, & + 0.0048140111159468164_r8, 0.0048802219722330273_r8, & + 0.0048910859537716535_r8, 0.0049127875950903312_r8, & + 0.0050165689327459255_r8, 0.0051764487589898147_r8, & + 0.0051420947211940019_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,89) / & + 7.7551214983822211e-05_r8, 8.1294709410133323e-05_r8, & + 8.5167736515555554e-05_r8, 9.7965565211733307e-05_r8, & + 0.00010546550733226665_r8, 0.00012492131573475551_r8, & + 0.00013619065881742218_r8, 0.00016199356849635552_r8, & + 0.00022039985350755554_r8, 0.00031087842986666662_r8, & + 0.00039713424088675558_r8, 0.00052145970629759988_r8, & + 0.00072154883572053327_r8, 0.00097481112991857743_r8, & + 0.0012415318694762665_r8, 0.0015373586020302221_r8, & + 0.0021180276959495105_r8, 0.0026840855036650664_r8, & + 0.0032144441050175991_r8, 0.0036439485624142217_r8, & + 0.0038964207072696888_r8, 0.004027870470031644_r8, & + 0.0039588165987975103_r8, 0.0038082996256703985_r8, & + 0.0035983919191708447_r8, 0.0034057768253326218_r8, & + 0.0032836145556629326_r8, 0.0032441977614094219_r8, & + 0.0034393257892223997_r8, 0.0038091286348167106_r8, & + 0.0042339051494257778_r8, 0.0046184488139029319_r8, & + 0.0049096220849598219_r8, 0.0051141412320083544_r8, & + 0.0052426672571560876_r8, 0.0053274235886304538_r8, & + 0.0053665623328924585_r8, 0.0054187792400121589_r8, & + 0.0055021911841931989_r8, 0.0055470669712919989_r8, & + 0.0055346075467199995_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,89) / & + 0.00012343339740344359_r8, 0.00013007402620960658_r8, & + 0.00012722196127362633_r8, 0.00014830737667097282_r8, & + 0.00015503314174388148_r8, 0.00017408947611712258_r8, & + 0.00018934305724239007_r8, 0.00028733490026666665_r8, & + 0.00043588349636008544_r8, 0.00059724510059872905_r8, & + 0.00076902170813592755_r8, 0.00096401213773911426_r8, & + 0.0012615633900152623_r8, 0.0015381001737830187_r8, & + 0.0017757580624035815_r8, 0.0020214897069871932_r8, & + 0.0024690794400248094_r8, 0.0029438560209098796_r8, & + 0.0034216691286422119_r8, 0.0038376733067171814_r8, & + 0.0040816880365880884_r8, 0.0041772393066323221_r8, & + 0.0040885840741944875_r8, 0.0039117844269192939_r8, & + 0.0036530127441458033_r8, 0.0034289199006933857_r8, & + 0.0032988316851059879_r8, 0.0032712599503859547_r8, & + 0.0035650918120086516_r8, 0.0039905922311702108_r8, & + 0.0044687334682639596_r8, 0.0049047748214519696_r8, & + 0.0052343993885523282_r8, 0.0054505568224751605_r8, 0.0055873107516616_r8, & + 0.0056679976856191814_r8, 0.0057273795222054042_r8, & + 0.005693076524028568_r8, 0.0057476557883342208_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,89) / & + 0.00015349902781195058_r8, 0.00017688406712085592_r8, & + 0.00017939842161119341_r8, 0.00021071216158288065_r8, & + 0.00022883710959604935_r8, 0.00027657899393711933_r8, & + 0.00022494988670301234_r8, 0.00049127093133906168_r8, & + 0.00075152975932049387_r8, 0.00097285465642087251_r8, & + 0.0011686040949630946_r8, 0.0013618083280396375_r8, & + 0.0016110533578241317_r8, 0.0018303420905519667_r8, & + 0.0020151394328479337_r8, 0.0022113670615079507_r8, & + 0.0026118589979044608_r8, 0.0030845113656248887_r8, & + 0.0035582743684576135_r8, 0.0039779710370042463_r8, & + 0.0042079804836632744_r8, 0.004264746278291754_r8, & + 0.0041000791974061561_r8, 0.0038568655333009378_r8, & + 0.0035607115955095968_r8, 0.0033392015925571687_r8, & + 0.0032158748186292673_r8, 0.0032406018753655306_r8, & + 0.0035564850118878027_r8, 0.0040673771635440989_r8, & + 0.0046140101701335956_r8, 0.0050970284655687901_r8, & + 0.0055207974628605104_r8, 0.0058051046261206919_r8, & + 0.0059808152543580195_r8, 0.0060533456219308982_r8, & + 0.006121507753077792_r8, 0.0061525215125676274_r8, & + 0.0062749773209628433_r8, 0.0063985077113279994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,89) / & + 0.00021271861592873082_r8, 0.00025208997094083944_r8, & + 0.00026865159890615298_r8, 0.00029472699907286901_r8, & + 0.00032181875669017279_r8, 0.00038991470587954562_r8, & + 0.00036212316116511603_r8, 0.0008010729486361282_r8, & + 0.0010388172840858861_r8, 0.0012235944009222318_r8, & + 0.0013453406942245921_r8, 0.0015040923956868735_r8, & + 0.001711662577972464_r8, 0.0019331618558103697_r8, & + 0.0021667241302749229_r8, 0.0024200470594345084_r8, & + 0.0029236771685970161_r8, 0.0034116287144643946_r8, & + 0.0039151421924440485_r8, 0.004310555225515298_r8, & + 0.0044848188742972047_r8, 0.0045101278409765914_r8, & + 0.0042439921433005817_r8, 0.0039206405196357524_r8, & + 0.0035465876546243941_r8, 0.0032395810581567204_r8, & + 0.0030752310599174316_r8, 0.003110903540273303_r8, 0.003557834232971061_r8, & + 0.0042294798918339942_r8, 0.0048855302953895495_r8, & + 0.0054312975847575695_r8, 0.0058823770152454293_r8, & + 0.0061910997562608181_r8, 0.0063991602655600419_r8, & + 0.0065521378308854511_r8, 0.0066553970403555535_r8, & + 0.0067390284713710917_r8, 0.006883636975752532_r8, & + 0.0069980709104298646_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,89) / & + 0.0003735609494884083_r8, 0.00033397122065224693_r8, & + 0.00031723686420477364_r8, 0.00030907550961648727_r8, & + 0.00038582087907826834_r8, 0.0004660563014889876_r8, & + 0.00069813587373966754_r8, 0.00097136227537295819_r8, & + 0.0010762070455005498_r8, 0.0011702773957550092_r8, & + 0.0012506559998251721_r8, 0.0013531561702793747_r8, & + 0.0016092365681942915_r8, 0.0019270461590368399_r8, & + 0.0022164341904798287_r8, 0.0025279616860142884_r8, & + 0.0031338706733648326_r8, 0.0036452260723602962_r8, & + 0.0041339587691636677_r8, 0.0045117614753130931_r8, & + 0.0046330184431544099_r8, 0.0045921937725055479_r8, & + 0.0042348481459491298_r8, 0.0038515508436185548_r8, & + 0.0034621325253467658_r8, 0.0031373428286063407_r8, & + 0.0029367990168481183_r8, 0.0029449961668512664_r8, & + 0.0034247263168171193_r8, 0.0042544819310003359_r8, & + 0.0049441700868328312_r8, 0.0055429557866260538_r8, & + 0.0059830246169260241_r8, 0.0062859254174790057_r8, & + 0.0065183808415857263_r8, 0.0067549012824925873_r8, & + 0.0068906658123751106_r8, 0.0072094676393335251_r8, & + 0.007534654601258523_r8, 0.007912223103122144_r8, 0.0081322529160045044_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,89) / & + 0.00091482607323949258_r8, 0.00059986430649484098_r8, & + 0.00043477773074167568_r8, 0.00033576022616093481_r8, & + 0.00041901146527799821_r8, 0.00050955268879028135_r8, & + 0.00080561024403236854_r8, 0.001034929044496171_r8, & + 0.0011131672234779386_r8, 0.0012037275808075324_r8, & + 0.0012788278137504129_r8, 0.0013609310238288585_r8, & + 0.0016402082212898233_r8, 0.0020652659728378729_r8, & + 0.0023806486835633504_r8, 0.0027041632666457015_r8, & + 0.0033357131746063798_r8, 0.0039145111482425934_r8, & + 0.0043868676961816748_r8, 0.004767955935550682_r8, & + 0.0048306191872418752_r8, 0.0047419339440086909_r8, & + 0.0043955927168751662_r8, 0.0040482756650588175_r8, & + 0.0036535258801302642_r8, 0.0033463133093962795_r8, & + 0.0031616528385346892_r8, 0.0031906405717597752_r8, & + 0.0036117543652147417_r8, 0.0044235424405111691_r8, & + 0.0051059117672479729_r8, 0.005739056957226896_r8, & + 0.0061627059814754748_r8, 0.0065128978893426951_r8, & + 0.0067787216215073635_r8, 0.0070482214383227717_r8, & + 0.0073223629142124694_r8, 0.0077718982849053217_r8, & + 0.0081231961957481391_r8, 0.0085349128248415271_r8, & + 0.0087887937065865458_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,89) / & + 0.0012330159939127592_r8, 0.0008153725380480592_r8, & + 0.00054836862492171857_r8, 0.00041522568832527403_r8, & + 0.00049738778964663699_r8, 0.00064496791213908158_r8, & + 0.00085775217156711092_r8, 0.0011206006195466668_r8, & + 0.0012063681979806817_r8, 0.0013229962161077332_r8, & + 0.0014014917305348741_r8, 0.0014799566900712297_r8, & + 0.0017762780209059554_r8, 0.0022027020767039999_r8, & + 0.0025692691014538665_r8, 0.0029179004053128295_r8, & + 0.0035693306768529772_r8, 0.0041898088440277328_r8, & + 0.0046807648291640894_r8, 0.0050687813872451557_r8, & + 0.0051263773563752302_r8, 0.0050327877259002084_r8, & + 0.0047178584665773038_r8, 0.0043842601689846519_r8, & + 0.0039837161056816596_r8, 0.0036625536486385784_r8, & + 0.003498993318265481_r8, 0.0035322637749691998_r8, & + 0.0039553764444784003_r8, 0.0047210187152813719_r8, & + 0.0054383995360891444_r8, 0.0061065171429824008_r8, & + 0.0065529974290918398_r8, 0.0069207744275167999_r8, & + 0.0070172973275072006_r8, 0.0072895414044032002_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,89) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,89) / & + 0.00032995459968639996_r8, 0.00030992324950080005_r8, & + 0.00037046744275840001_r8, 0.00020886621317119997_r8, & + 0.00022597163580159998_r8, 0.00022597163580159998_r8, & + 0.00027008562047999994_r8, 0.00033940759640319995_r8, & + 0.00041413128473599995_r8, 0.00046477233857599993_r8, 0.000533419100448_r8, & + 0.00054692338147199998_r8, 0.00058068408403199993_r8, & + 0.00065495762966399993_r8, 0.00074723688332799991_r8, & + 0.00084851899100799987_r8, 0.001098348189952_r8, 0.001377436664448_r8, & + 0.0016070094418559997_r8, 0.0018095736572159996_r8, & + 0.0019423657539519999_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,89) / & + 0.00036768045879921119_r8, 0.00033375727652363804_r8, & + 0.00029397368993587709_r8, 0.00021444725218773067_r8, & + 0.00024478664607856249_r8, 0.00028055774124359121_r8, & + 0.000358901711420491_r8, 0.00044329867587842957_r8, & + 0.00051617777598530503_r8, 0.00056027486081793195_r8, & + 0.00062358559254849948_r8, 0.00063281048249614182_r8, & + 0.00071402471960258938_r8, 0.00081490227400853499_r8, & + 0.00089771082333379472_r8, 0.00099975933248118497_r8, & + 0.0012003114357219129_r8, 0.0013909692279373358_r8, & + 0.0016347242504281758_r8, 0.0018479700814470442_r8, & + 0.0019840644345364986_r8, 0.0021886389502237106_r8, & + 0.0021640512328343223_r8, 0.0022240661782632473_r8, & + 0.0023468093284460204_r8, 0.0025069471345233298_r8, & + 0.0028537545701127704_r8, 0.0035736818531420722_r8, & + 0.0043437342350356829_r8, 0.0051276879080265235_r8, & + 0.0062067003466477399_r8, 0.0070963891338281992_r8, & + 0.0078258850754607742_r8, 0.0085564710784724694_r8, & + 0.0092031778611985932_r8, 0.0096729425411826234_r8, & + 0.0099040299563220371_r8, 0.010070697869077865_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,89) / & + 0.00032618788194920808_r8, 0.00029189157428618264_r8, & + 0.00025746839985013657_r8, 0.00021139634148615571_r8, & + 0.00024746937733182746_r8, 0.00029437582227756769_r8, & + 0.00039063135430186861_r8, 0.00047689845439004047_r8, & + 0.00054714805540099338_r8, 0.0005936202864773503_r8, & + 0.00066169427932045229_r8, 0.0006879839406757777_r8, & + 0.0007733956351185777_r8, 0.00088505063010287392_r8, & + 0.00097729243954808895_r8, 0.0010846096185251556_r8, & + 0.0012796800372448887_r8, 0.0014679665396752889_r8, & + 0.0017179502076703997_r8, 0.0019245314004810667_r8, & + 0.0020722724534044295_r8, 0.0022518531730813061_r8, & + 0.0022481706007162448_r8, 0.0023016261103881168_r8, & + 0.0024272502345619724_r8, 0.002624368958329066_r8, & + 0.0029489377739318925_r8, 0.0036983504413342664_r8, & + 0.0045253207788044656_r8, 0.0054319036564701335_r8, & + 0.0064833815031822206_r8, 0.0074105459075256876_r8, & + 0.0081772305716913771_r8, 0.0089464245554307549_r8, & + 0.0096310603051637314_r8, 0.010097356073851198_r8, 0.010327133883651198_r8, & + 0.010460711383748265_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,89) / & + 0.00014335304753299751_r8, 0.00017922575698074071_r8, & + 0.00022184625220476046_r8, 0.00025878472711725147_r8, & + 0.00031200438643026165_r8, 0.00039932089184986056_r8, & + 0.0005603260524888493_r8, 0.00070063590375284916_r8, & + 0.00077124750566842453_r8, 0.00083222166325475544_r8, & + 0.00087888138146970845_r8, 0.00094713086467713547_r8, & + 0.001008353044727822_r8, 0.0010577139441071554_r8, & + 0.0011232988027492568_r8, 0.0011888720617012738_r8, & + 0.0014083955638430215_r8, 0.0016695994942038683_r8, & + 0.0019214229450063641_r8, 0.0021363662989730132_r8, & + 0.0023003729251171549_r8, 0.002440121536976099_r8, & + 0.0025323093610702218_r8, 0.0026437600270174219_r8, & + 0.0027830777884239998_r8, 0.0029413869842440884_r8, & + 0.0030740435708936881_r8, 0.0034524727038293328_r8, & + 0.0042051854513678209_r8, 0.0052777763143637317_r8, & + 0.0064697191303855987_r8, 0.0075448433656959985_r8, & + 0.0084705694980127984_r8, 0.0092068773311231988_r8, & + 0.0098204140443775984_r8, 0.010359969199692797_r8, 0.010712019371955199_r8, & + 0.010854880311423997_r8, 0.010984985809868798_r8, 0.011069171720627198_r8, & + 0.011048763014988798_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,89) / & + 0.00019402952205969386_r8, 0.00023965657228763128_r8, & + 0.00029467742697426174_r8, 0.00034341392467110443_r8, & + 0.00040036590989105515_r8, 0.00047813482763967735_r8, & + 0.00064856527996167898_r8, 0.0007798166941754732_r8, & + 0.0008479299592574946_r8, 0.00091666862072893867_r8, & + 0.0009648586271882953_r8, 0.0010359691190786901_r8, 0.00107794139956545_r8, & + 0.0011160449896768932_r8, 0.0011686028346578905_r8, & + 0.0012332220627156421_r8, 0.0015232458391734708_r8, & + 0.0017928156468015354_r8, 0.0020977466521492952_r8, & + 0.0023801353323127036_r8, 0.0025587689980230677_r8, & + 0.0027077495231530848_r8, 0.0028404282438930194_r8, & + 0.0029696719603519847_r8, 0.0030930796179806834_r8, & + 0.0032074809831190874_r8, 0.003292396954185337_r8, & + 0.0035725102435599401_r8, 0.0042898252901625959_r8, & + 0.0054636189148526935_r8, 0.0067177712997227535_r8, & + 0.0078274641324274554_r8, 0.00877186645285556_r8, 0.0095259626392232011_r8, & + 0.010237763209325925_r8, 0.010767565714936235_r8, 0.011142914015802559_r8, & + 0.011319104661112449_r8, 0.011485855444734218_r8, 0.011484348180987449_r8, & + 0.011482403958043733_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,89) / & + 0.00032030980398263948_r8, 0.00034026820978481361_r8, & + 0.00036626095395204229_r8, 0.00050652520874025161_r8, & + 0.00056767879097916515_r8, 0.00057263253381195992_r8, & + 0.00077844850837803156_r8, 0.00090733013331437021_r8, & + 0.00094440332113544117_r8, 0.001023596000055619_r8, & + 0.0010308346393315554_r8, 0.0010874663466079999_r8, & + 0.0011085140823487998_r8, 0.0011387788004074667_r8, & + 0.0011850012788970667_r8, 0.0012482820530197332_r8, & + 0.001626315894952533_r8, 0.0019119047799061332_r8, & + 0.0022629755093866665_r8, 0.0026185859465759995_r8, & + 0.0028242484624746663_r8, 0.0029800429770266662_r8, & + 0.003128959146565333_r8, 0.0032768435643519998_r8, & + 0.0033827700775573327_r8, 0.0034694372247253327_r8, 0.003530654495344_r8, & + 0.0037789627503253334_r8, 0.0045534643988266654_r8, & + 0.0058786922047288897_r8, 0.0072323505033528874_r8, & + 0.0084177186273173329_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,89) / & + 0.00055138466637691429_r8, 0.00056692438485716817_r8, & + 0.00058287899873373959_r8, 0.00073248273509315541_r8, & + 0.00090349130212622213_r8, 0.00092310303033251535_r8, & + 0.00112849020708208_r8, 0.0013381677794071997_r8, 0.0014234740446663998_r8, & + 0.0014791171749770663_r8, 0.0015105624742415996_r8, & + 0.0015219683258639999_r8, 0.0015426414319295997_r8, & + 0.0015590373436367997_r8, 0.0015832747783343997_r8, & + 0.0016117894073903996_r8, 0.0016467198279839998_r8, & + 0.0017322637151519994_r8, 0.0018791140547903997_r8, & + 0.0021307556562095995_r8, 0.0024729312048815994_r8, & + 0.0027666318841583996_r8, 0.0029712243476351994_r8, & + 0.0030995401783871996_r8, 0.0032078957687999995_r8, & + 0.0032962911188735996_r8, 0.0033789835431359992_r8, & + 0.0036555754449791996_r8, 0.004146027064742399_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,89) / & + 0.00060612026553497707_r8, 0.000634066261118623_r8, & + 0.00067342831334908247_r8, 0.00086234047430956988_r8, & + 0.0010495190329260565_r8, 0.0011378782235772374_r8, & + 0.0013894888508151238_r8, 0.0015051400777072181_r8, & + 0.001556188231287572_r8, 0.0016029809188333566_r8, & + 0.0016419846941136587_r8, 0.0016793714729879707_r8, & + 0.0017379932863544889_r8, 0.0017843259270354697_r8, & + 0.0018311504990174289_r8, 0.0018736752270352855_r8, & + 0.0019997007384746665_r8, 0.0021031976182970466_r8, & + 0.0021801926753334177_r8, 0.0022985519319811722_r8, & + 0.0024966216283623618_r8, 0.0027421929529671337_r8, & + 0.0029151286688741994_r8, 0.0030157215923341399_r8, & + 0.0031966310851662223_r8, 0.0033159859170659553_r8, & + 0.0035019359488355556_r8, 0.0038831089173981866_r8, & + 0.0043048908148565334_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,89) / & + 0.00068327018087402608_r8, 0.00072357144337722784_r8, & + 0.00079724581617776787_r8, 0.0012058597867760064_r8, & + 0.00137354857431812_r8, 0.0014832501110105117_r8, 0.001736682875839063_r8, & + 0.0017798562682063439_r8, 0.0018015607002196967_r8, & + 0.0018319970941406563_r8, 0.0018628239673505579_r8, & + 0.0019038672158090734_r8, 0.0019682813628534935_r8, & + 0.0020027153927753005_r8, 0.0020481559062795148_r8, & + 0.0021004840330994946_r8, 0.0022594452990567222_r8, & + 0.0023527800753115808_r8, 0.0024748937941155231_r8, & + 0.0025987876786647103_r8, 0.0027424159720468937_r8, & + 0.0029286269603192891_r8, 0.0030393787006127108_r8, & + 0.0031481595431167553_r8, 0.0033264940043814225_r8, & + 0.0034527586175976885_r8, 0.0036033097777669332_r8, & + 0.0036737534794001772_r8, 0.0037892099434488884_r8, & + 0.0037770030926243554_r8, 0.0038115891699605328_r8, & + 0.003802434031842133_r8, 0.0037261412141888_r8, 0.0037658134793685329_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,89) / & + 0.00088298146869665161_r8, 0.00092169848620736775_r8, & + 0.00095831427864715042_r8, 0.0015078235462716049_r8, & + 0.0016529248108921677_r8, 0.0017738230756216098_r8, & + 0.0019533610844602468_r8, 0.0019537502002141232_r8, & + 0.001958847616589906_r8, 0.0019706378239323654_r8, & + 0.0019942571501926709_r8, 0.0020346862770204439_r8, & + 0.0021026258876472885_r8, 0.0021436386881058763_r8, & + 0.002195585641248395_r8, 0.0022687004914017971_r8, & + 0.0024122842045822411_r8, 0.0025534894477171155_r8, & + 0.0027030704074541829_r8, 0.0028697578685210469_r8, & + 0.0029907170020719879_r8, 0.0031093272661686356_r8, & + 0.0032205234854548142_r8, 0.0033357093919474364_r8, & + 0.0034405698339711206_r8, 0.0035444784710668394_r8, & + 0.0036119322428809866_r8, 0.0037170010405085962_r8, & + 0.0038647146913160586_r8, 0.0039021850792302932_r8, & + 0.0039350442370062215_r8, 0.0039505526538318389_r8, & + 0.0039520103787247995_r8, 0.003920885982361599_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,40,89) / & + 0.0011523468490299597_r8, 0.001175885553799506_r8, & + 0.0012181711033074896_r8, 0.0014064336364480656_r8, & + 0.001506446538910041_r8, 0.0016280087114393413_r8, & + 0.0018840204634688062_r8, 0.001890022542416296_r8, & + 0.0019066236102744031_r8, 0.0019380090632322635_r8, & + 0.0019660421844702879_r8, 0.0020086238231571186_r8, & + 0.0020758052390686533_r8, 0.0021303014202815633_r8, & + 0.0021944344798045736_r8, 0.0022645481105865368_r8, & + 0.0024000393791348026_r8, 0.0025253324187021749_r8, & + 0.0026526636702198228_r8, 0.0028213018714170605_r8, & + 0.0029423170317345909_r8, 0.0030820575026146491_r8, & + 0.0031842244717758157_r8, 0.0032905970543533418_r8, & + 0.0033747692574392584_r8, 0.0034492921077557246_r8, & + 0.0035151747460488553_r8, 0.0036176441133108396_r8, & + 0.0036308161386933322_r8, 0.0035430647694658195_r8, & + 0.0038761586433629621_r8, 0.0038720033579377768_r8, & + 0.0040107537582222217_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,89) / & + 0.0015030594397508474_r8, 0.0015261102136479078_r8, & + 0.0016083398146056424_r8, 0.0018356196175547518_r8, & + 0.001894260455278512_r8, 0.0019184285916445496_r8, & + 0.0021313896014726842_r8, 0.00208458452916106_r8, 0.0020604163927950216_r8, & + 0.0020646789236951966_r8, 0.0020845017615707651_r8, & + 0.0021244371238879341_r8, 0.0021750081215579651_r8, & + 0.0022149021000799872_r8, 0.0022685354985909202_r8, & + 0.0023289144557108671_r8, 0.0024445407793524938_r8, & + 0.0025511661275495765_r8, 0.0026735328368258232_r8, & + 0.0027815393691859483_r8, 0.0028895717664180406_r8, & + 0.0030947060659889374_r8, 0.003192459763101313_r8, & + 0.0032705746324272573_r8, 0.0033218720635013921_r8, & + 0.0033633253243048581_r8, 0.0034156085764991098_r8, & + 0.0035164401933755673_r8, 0.0035087664553611064_r8, & + 0.0034813622540138156_r8, 0.0034686438313708953_r8, & + 0.0034939055345237012_r8, 0.003497294867346267_r8, & + 0.0035124638388088002_r8, 0.0035029313402453327_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,89) / & + 0.0017833497752265414_r8, 0.0018538486639426567_r8, & + 0.0023441739277460199_r8, 0.0030362397509257153_r8, & + 0.0030626176667888647_r8, 0.0031063030694417041_r8, & + 0.0030941563965089635_r8, 0.0028236986987597145_r8, & + 0.0025532775323576333_r8, 0.0024363839188396401_r8, & + 0.002351261009096251_r8, 0.0022306512442877824_r8, & + 0.0021357732471394626_r8, 0.0021391313912277094_r8, & + 0.0021726977629294756_r8, 0.0022212684721960524_r8, & + 0.0023305629566477033_r8, 0.0024786884365695996_r8, & + 0.0026463364967379997_r8, 0.0027691674435611426_r8, & + 0.0028993651648612571_r8, 0.0031183340597750846_r8, & + 0.0032157357641567994_r8, 0.0033069317059386664_r8, & + 0.0033604409967002663_r8, 0.0034035936505402656_r8, & + 0.0034631443128394662_r8, 0.0035644092071839993_r8, & + 0.0035790811094895993_r8, 0.0035868485871807998_r8, & + 0.003602383542563199_r8, 0.0036144662856383999_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,89) / & + 0.0024573840832837006_r8, 0.002666182570255908_r8, & + 0.0029476724019364612_r8, 0.004138330314650219_r8, & + 0.0041424198880402972_r8, 0.0041359456438396511_r8, & + 0.0037120498497542186_r8, 0.0035439231177495098_r8, & + 0.002995834920878699_r8, 0.0027923062039834409_r8, & + 0.0026929128113417217_r8, 0.0026186724095354111_r8, & + 0.0025757931307318436_r8, 0.0025756385382792969_r8, & + 0.0025791645618778196_r8, 0.0025611411494086663_r8, & + 0.0025759143612873367_r8, 0.002666145605900486_r8, & + 0.0027301572187442389_r8, 0.0028287787455235952_r8, & + 0.0029276389743269453_r8, 0.0029566891986013391_r8, & + 0.0030686733398656079_r8, 0.0032307585925596283_r8, & + 0.0033384207235548128_r8, 0.0034528191384397113_r8, & + 0.0035835385692722485_r8, 0.003804046612224624_r8, & + 0.0038736724214909705_r8, 0.0039657174255777741_r8, & + 0.0040123385622246547_r8, 0.0040758069869980592_r8, & + 0.0041196257242923848_r8, 0.0041435382164204254_r8, & + 0.0041737330826838916_r8, 0.0041313681722837331_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,89) / & + 0.0029873532671275725_r8, 0.0033254540187792328_r8, & + 0.0032152037736754313_r8, 0.0043710953004610642_r8, & + 0.0043499921860608269_r8, 0.0044236276258377222_r8, & + 0.0039774410510720268_r8, 0.0036303218744629996_r8, & + 0.0028440955866798094_r8, 0.0026634565347837631_r8, & + 0.0026323429686808493_r8, 0.0026005530207061337_r8, & + 0.0025698452837263014_r8, 0.0026316214946842604_r8, & + 0.0025877017651418865_r8, 0.0025980729538428583_r8, & + 0.0025138408647410572_r8, 0.0026345524827954044_r8, & + 0.0027075566328252842_r8, 0.0028232179329035069_r8, & + 0.0029451921304518855_r8, 0.0029617860323734391_r8, 0.00311446796690165_r8, & + 0.0032837438033514149_r8, 0.0033725301970566855_r8, & + 0.0034917537749930665_r8, 0.0036158022102816389_r8, & + 0.003916476498360231_r8, 0.0040010693244603261_r8, 0.004081062753832165_r8, & + 0.0040994603407451934_r8, 0.0041587113927150886_r8, & + 0.0042117397314644029_r8, 0.0042335023181896466_r8, & + 0.0042677497869652442_r8, 0.0042485671139510187_r8, & + 0.0042536844259411129_r8, 0.0042551183555093342_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,89) / & + 0.0028369557780479997_r8, 0.0035217334146559996_r8, & + 0.0034452454992213331_r8, 0.0042468629436586665_r8, & + 0.0043618959503359993_r8, 0.0045212187493546656_r8, & + 0.004058677654442666_r8, 0.0031284993588053325_r8, & + 0.0024092535156053328_r8, 0.0024236152683519995_r8, & + 0.0024164343919786664_r8, 0.002439088898730667_r8, & + 0.0023995709145599991_r8, 0.0024678587324586669_r8, & + 0.0024809696228693333_r8, 0.0025305871621973323_r8, & + 0.0025067281213439993_r8, 0.002564545758208_r8, 0.0026463150923946668_r8, & + 0.0027577808250026656_r8, 0.0028880558208853324_r8, & + 0.0029903022347946666_r8, 0.0031394791504213326_r8, & + 0.0033001454682453331_r8, 0.0034555303673173329_r8, & + 0.0036017886041599988_r8, 0.0037895569392639998_r8, & + 0.0041360921345706663_r8, 0.0041645376706560006_r8, & + 0.0041744055846399987_r8, 0.0041947436796586678_r8, & + 0.0042263395357013331_r8, 0.0042578427352746662_r8, & + 0.0042710926103893335_r8, 0.0042884656983893333_r8, & + 0.0043000940852906651_r8, 0.0043641660338346652_r8, & + 0.0043703144524068569_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,90) / & + 0.0051865695153791892_r8, 0.0051555268616507929_r8, & + 0.0046715428529947095_r8, 0.0046354879899470893_r8, & + 0.0047309187331851842_r8, 0.0048792310516190462_r8, & + 0.0051375550978624337_r8, 0.0054618998897142858_r8, & + 0.0057522160448465615_r8, 0.0060437580787936511_r8, & + 0.0062761247156402121_r8, 0.0067030304754074075_r8, & + 0.0071565141119999997_r8, 0.0073192342705185199_r8, & + 0.0075848838737777782_r8, 0.0077672347342222225_r8, & + 0.0079888580924444442_r8, 0.0082079853173333325_r8, & + 0.0083341565368888898_r8, 0.0085000994808888883_r8, & + 0.0086682556631111126_r8, 0.008810052677333334_r8, & + 0.0088537599720000006_r8, 0.0089324921775555538_r8, & + 0.0090173440699999989_r8, 0.0090643878628888872_r8, & + 0.009083391758000001_r8, 0.0091130666231111126_r8, & + 0.0091513933637037033_r8, 0.0091896396733333312_r8, & + 0.0091785873496296293_r8, 0.0091538270937037026_r8, & + 0.0091298919485185183_r8, 0.0091387878903703701_r8, & + 0.0091538062925925912_r8, 0.0091863946999999977_r8, & + 0.0092192188533333323_r8, 0.0092085924571428564_r8, & + 0.0089918211066666656_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,90) / & + 0.0045973876182716046_r8, 0.0040971994780246912_r8, & + 0.0041404010745679006_r8, 0.004475114064691357_r8, 0.004752129395061728_r8, & + 0.0050403958153086422_r8, 0.0054974840533333338_r8, & + 0.0059634289422222228_r8, 0.0064415216799999994_r8, & + 0.0068574514528395043_r8, 0.0071007967180246922_r8, & + 0.0073429956108641984_r8, 0.00759053807802469_r8, 0.0077636957718518517_r8, & + 0.007964172258271604_r8, 0.0081073855970370378_r8, & + 0.0082878652819753078_r8, 0.0084498088656790107_r8, & + 0.0085970807323456772_r8, 0.0087440844958024695_r8, & + 0.0088847369866666675_r8, 0.0089694391111111126_r8, & + 0.0089729059629629609_r8, 0.0090164773570370373_r8, & + 0.0091039252281481485_r8, 0.0091222486958024689_r8, & + 0.0091218973881481476_r8, 0.0091291176849382719_r8, & + 0.0091720974029629622_r8, 0.0091997305234567898_r8, & + 0.0091718385446913579_r8, 0.0091444920172839492_r8, & + 0.0091302085876543218_r8, 0.00914172778074074_r8, 0.0091572038074074075_r8, & + 0.0091784486755555547_r8, 0.0091868430795061726_r8, & + 0.0091443105853703712_r8, 0.008975269893679012_r8, 0.008801525113253968_r8, & + 0.008734555737925925_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,90) / & + 0.003213226215308642_r8, 0.002637812012345679_r8, 0.0036190142908641976_r8, & + 0.0041874763002469131_r8, 0.0043614475486419748_r8, 0.00476118018962963_r8, & + 0.005358615835555555_r8, 0.0057757289604938259_r8, 0.006355885816790122_r8, & + 0.0070685688632098767_r8, 0.0074150876395061727_r8, & + 0.0077562628414814807_r8, 0.0081251173886419739_r8, & + 0.0083408850029629625_r8, 0.0085106220696296291_r8, & + 0.0086349017748148134_r8, 0.008789504877530864_r8, & + 0.0088936121274074079_r8, 0.0089662403624691384_r8, & + 0.009026461890370369_r8, 0.0090910562740740726_r8, & + 0.0091181716780246915_r8, 0.0091492993851851855_r8, & + 0.009170461048888889_r8, 0.0092012559382716064_r8, & + 0.0092118229027160475_r8, 0.0092136256656790115_r8, & + 0.009208171152098767_r8, 0.0092237488730864195_r8, 0.009212405333827162_r8, & + 0.0091765164834567894_r8, 0.0091511298829629623_r8, & + 0.0091315491037037028_r8, 0.0091222117160493828_r8, & + 0.0091107017679012362_r8, 0.0090662151249382705_r8, & + 0.0089862556538271576_r8, 0.0088757971313580264_r8, & + 0.0088164261377777792_r8, 0.0087713293288888879_r8, & + 0.008723358499814815_r8, 0.0086942279304444443_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,90) / & + 0.0027968804202469139_r8, 0.0025351099930864198_r8, & + 0.0034488889367901236_r8, 0.0035148145916049384_r8, & + 0.0034772801422222224_r8, 0.0037558763570370375_r8, & + 0.0044341589881481489_r8, 0.0050106918286419748_r8, & + 0.0054354135377777772_r8, 0.0058711829481481485_r8, & + 0.006194339765432098_r8, 0.0065347476375308636_r8, & + 0.0069496142424691357_r8, 0.0072105896049382712_r8, & + 0.0074229273471604941_r8, 0.0076086674019753076_r8, & + 0.0078213287170370363_r8, 0.0081239710162962966_r8, & + 0.0082740718340740729_r8, 0.0083619727071604939_r8, & + 0.0084976144414814821_r8, 0.0085944921496296268_r8, & + 0.0086913791027160483_r8, 0.0087947652474074066_r8, & + 0.0088876398972839495_r8, 0.0089487766740740746_r8, & + 0.0090107917199999995_r8, 0.0091002364977777767_r8, & + 0.009157860198024689_r8, 0.0091870822922839497_r8, & + 0.0091962590491358014_r8, 0.0091849813800617269_r8, & + 0.0091528434983068774_r8, 0.0091027503945996478_r8, & + 0.0090571892586860676_r8, 0.0089861010982698417_r8, & + 0.0088927884034074086_r8, 0.0087975928117777769_r8, & + 0.0087445028292592597_r8, 0.0087425267237037051_r8, & + 0.0087104132749999987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,90) / & + 0.0025420252069135803_r8, 0.0025295168054320981_r8, & + 0.0026881507012345676_r8, 0.0024002170987654321_r8, & + 0.0022141442261728395_r8, 0.0023828088800000001_r8, & + 0.002554894160987654_r8, 0.0030583365195061725_r8, & + 0.0038431023496296297_r8, 0.0043206403911111102_r8, & + 0.0047571124167901241_r8, 0.0051045187071604948_r8, & + 0.005484273036543209_r8, 0.0058123389160493824_r8, 0.006025961704691358_r8, & + 0.0061685371427160508_r8, 0.0063712786390123458_r8, & + 0.0067516616241975322_r8, 0.0069615309679012327_r8, & + 0.0071095794093827156_r8, 0.0072386479925925914_r8, & + 0.0073496612113580244_r8, 0.0075063998948148155_r8, & + 0.0076669474928395057_r8, 0.0078337076893827164_r8, & + 0.0079708378587654335_r8, 0.0080964026103703696_r8, & + 0.0084057671353703709_r8, 0.0086515141034479714_r8, & + 0.0088385412847936488_r8, 0.0089841363837989425_r8, & + 0.0090443959149999996_r8, 0.0091854378488888892_r8, & + 0.0091368464533333332_r8, 0.0090889206933333338_r8, & + 0.0090486081400000008_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,90) / & + 0.0014351472375308642_r8, 0.0014426448824691356_r8, & + 0.0012250282804938269_r8, 0.0012268680232098766_r8, & + 0.0012035245540740738_r8, 0.0012343749130864197_r8, & + 0.001180005431111111_r8, 0.0012194628276543209_r8, & + 0.0018047691145679011_r8, 0.0024361799086419756_r8, & + 0.0029069229204938267_r8, 0.0033448556464197531_r8, & + 0.0038333581846913584_r8, 0.0042705143358024687_r8, & + 0.0045001863372839505_r8, 0.0047443544019753099_r8, & + 0.0050964016513580252_r8, 0.0053790841288888893_r8, & + 0.0055581493382716052_r8, 0.0057367153209876539_r8, & + 0.0058175253264197528_r8, 0.0059539991051851841_r8, & + 0.0059477772617283955_r8, 0.006047363736790122_r8, & + 0.0061404047955555549_r8, 0.0062457878469135784_r8, & + 0.0063333836370370374_r8, 0.0067049099713580237_r8, & + 0.0069189738756261021_r8, 0.0072624058330687819_r8, & + 0.0075683241092222211_r8, 0.0077810466389823607_r8, & + 0.0078664950610687831_r8, 0.008053546774518517_r8, & + 0.0081866724988888875_r8, 0.0083020978644444444_r8, & + 0.0083824614714285706_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,90) / & + 0.00047148260691358027_r8, 0.00046943947555555548_r8, & + 0.00032419225037037033_r8, 0.00043314384790123461_r8, & + 0.00044543037086419756_r8, 0.0004523178498765432_r8, & + 0.00044680786666666657_r8, 0.00046813593925925919_r8, & + 0.00058249582567901229_r8, 0.00076016504938271594_r8, & + 0.00095527947160493822_r8, 0.0011421474088888889_r8, & + 0.0013938316083950616_r8, 0.0017046371881481481_r8, & + 0.0019000012237037039_r8, 0.0021388719387654322_r8, & + 0.0026291587501234572_r8, 0.0030601577723456787_r8, & + 0.0034400045511111103_r8, 0.0038944487367901233_r8, & + 0.0042244190735802462_r8, 0.0045372677846913572_r8, & + 0.0047408320804938273_r8, 0.0049209419679012347_r8, & + 0.0050554188399999991_r8, 0.0051383274464197526_r8, & + 0.0051825829659259259_r8, 0.005266212677530864_r8, & + 0.0053876172069135799_r8, 0.0056749961130864194_r8, & + 0.0060603158953086407_r8, 0.0064692842296296292_r8, & + 0.0069305234449382712_r8, 0.0073536087999999987_r8, & + 0.0076455177259259263_r8, 0.0078805055669135798_r8, & + 0.0080496420592777781_r8, 0.0082993313166666669_r8, & + 0.0082364911599999997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,12,90) / & + 0.00016138888740740737_r8, 0.00014984195950617284_r8, & + 0.00010714883456790125_r8, 0.00013448611703703703_r8, & + 0.00014204847654320987_r8, 0.00014264939753086419_r8, & + 0.00017951821135802471_r8, 0.00017610682913580245_r8, & + 0.00021537008197530861_r8, 0.00025513256148148146_r8, & + 0.00029668855901234572_r8, 0.00034319984345679001_r8, & + 0.00044925777530864199_r8, 0.00057947273086419754_r8, & + 0.00068615931851851851_r8, 0.0008181215674074074_r8, & + 0.001136434037037037_r8, 0.0014155202335802467_r8, & + 0.0018186180320987652_r8, 0.0023288091955555551_r8, & + 0.0027981747116049387_r8, 0.0032840886671604941_r8, & + 0.0037013589560493817_r8, 0.0040852735076543217_r8, & + 0.004400683066666666_r8, 0.004626906706172839_r8, 0.004789802518518519_r8, & + 0.0048893242790123449_r8, 0.004805334014814814_r8, & + 0.0048231871462345675_r8, 0.0049276145020987665_r8, & + 0.0050826890966666665_r8, 0.0054245796257407419_r8, & + 0.0060087591858024687_r8, 0.0065511354462345671_r8, & + 0.0071651657563580233_r8, 0.0076321442623633147_r8, & + 0.0076925686506243386_r8, 0.0079150529767407392_r8, & + 0.0079487493900000008_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,90) / & + 0.00011843690419753086_r8, 0.00010841539111111109_r8, & + 5.7235412839506169e-05_r8, 0.0001076573061728395_r8, & + 0.00011305635012345681_r8, 0.0001168375298765432_r8, & + 0.00016504063802469135_r8, 0.00015897595851851852_r8, & + 0.00016840579555555554_r8, 0.0001867107733333333_r8, & + 0.00020266753679012346_r8, 0.0002250772671604938_r8, & + 0.00027113554962962966_r8, 0.00033736628740740741_r8, & + 0.00041600373234567908_r8, 0.00052159017234567891_r8, & + 0.00078711404444444443_r8, 0.0010254762879012345_r8, & + 0.0013286085688888889_r8, 0.0017597647550617285_r8, 0.00218137092_r8, & + 0.0026611277466666665_r8, 0.0031502959204938266_r8, & + 0.0036339633560493827_r8, 0.0040115358799999992_r8, & + 0.004298905541234568_r8, 0.0045192771348148151_r8, & + 0.0046254182711111119_r8, 0.0045075672648765431_r8, & + 0.0043878827892768956_r8, 0.0043534691669135806_r8, & + 0.0044013936062081115_r8, 0.0045058719743209874_r8, & + 0.0048977541769223984_r8, 0.0054646351697901219_r8, & + 0.0063398643387654321_r8, 0.0071240084467901242_r8, & + 0.0075292651695185184_r8, 0.0078283524400253983_r8, & + 0.0078978282699999989_r8, 0.0079332109599999992_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,90) / & + 0.00012600850864197532_r8, 0.00012311484296296296_r8, & + 8.9546472098765421e-05_r8, 0.00011984213481481481_r8, & + 0.00012111793629629627_r8, 0.00012856935654320987_r8, & + 0.00014313937925925925_r8, 0.00015513006419753082_r8, & + 0.0001638665308641975_r8, 0.00017374012493827159_r8, & + 0.00018573080987654321_r8, 0.00021228227259259259_r8, & + 0.00025530821530864194_r8, 0.00029678100839506169_r8, & + 0.00035167745185185178_r8, 0.00041594826271604935_r8, & + 0.00064487142419753082_r8, 0.00095564002419753081_r8, & + 0.0012447015091358025_r8, 0.0016058920024691356_r8, & + 0.0019823273990123456_r8, 0.0024324079738271605_r8, & + 0.0029719148365432092_r8, 0.0035309562538271598_r8, & + 0.0039576656246913585_r8, 0.0042172819812345674_r8, & + 0.0043735676627160488_r8, 0.0044027862901234562_r8, & + 0.0042762577537037031_r8, 0.0041639710446913572_r8, & + 0.0040800951866049378_r8, 0.0040494335233862422_r8, & + 0.0040736598841269846_r8, 0.0041977690532186947_r8, & + 0.004491417348245149_r8, 0.005251599467746032_r8, 0.0060026483476402111_r8, & + 0.0070464471126666667_r8, 0.00781826402_r8, 0.0078590758000000004_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,90) / & + 0.00012590681432098763_r8, 0.0001269792271604938_r8, & + 0.000122855984691358_r8, 0.00011623660888888888_r8, & + 0.00011929668345679012_r8, 0.00013508703802469138_r8, & + 0.00013535514123456789_r8, 0.00015003610320987656_r8, & + 0.0001683780607407407_r8, 0.00018939180543209875_r8, & + 0.00020916672839506176_r8, 0.00022989387999999996_r8, & + 0.00027036821975308638_r8, 0.00032121538024691351_r8, & + 0.00039088523506172838_r8, 0.00047098338024691351_r8, & + 0.00072125310419753075_r8, 0.0010587395758024692_r8, & + 0.0014395570730864197_r8, 0.0018906268562962963_r8, & + 0.002400096914567901_r8, 0.0029411199471604936_r8, & + 0.0034169846548148153_r8, 0.0038122057659259263_r8, & + 0.004020096692839507_r8, 0.004108210199506173_r8, 0.0041062687624691362_r8, & + 0.0040019673688888886_r8, 0.0039524792143209872_r8, & + 0.0039449076098765435_r8, 0.0038966028074074069_r8, & + 0.0038622486167901229_r8, 0.0038629512320987654_r8, & + 0.003902066565925926_r8, 0.0039805283570370368_r8, & + 0.0041495789870370373_r8, 0.0043413270961111111_r8, & + 0.0043758955711904763_r8, 0.0050126396711005286_r8, & + 0.0058465682999999987_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,90) / & + 0.0001112144019349333_r8, 0.00011539634014735801_r8, & + 0.00011982982351541728_r8, 0.00012056349688601811_r8, & + 0.00012388598915002468_r8, 0.00015598943963788641_r8, & + 0.0001438209427340642_r8, 0.00015008860952862548_r8, & + 0.00020460054096426669_r8, 0.00024946990810058273_r8, & + 0.00028981146243547653_r8, 0.00031951475289665839_r8, & + 0.00035777057864941559_r8, 0.00043999440139746494_r8, & + 0.00053666110849819905_r8, 0.00068788167122718028_r8, & + 0.0010996715720491192_r8, 0.0015460384507226599_r8, & + 0.0020391822472960786_r8, 0.0026484875005319108_r8, & + 0.0032225449888344491_r8, 0.0036582421604898232_r8, & + 0.0039130888462920958_r8, 0.0040067894167659717_r8, & + 0.0039722648441551274_r8, 0.0038925355108671202_r8, & + 0.0037843186887035001_r8, 0.0036757455109027292_r8, & + 0.0037934476816434033_r8, 0.0039799684145464358_r8, & + 0.0040916335015518815_r8, 0.0041712685054065236_r8, & + 0.0042597704759972871_r8, 0.0043293541546746989_r8, & + 0.0043979211716814216_r8, 0.0044431678565511898_r8, & + 0.0044800716270924105_r8, 0.0045124567557493422_r8, & + 0.0046317984618794213_r8, 0.0047044707182854898_r8, & + 0.0046762047912813328_r8, 0.0045977816586191995_r8, & + 0.0047015676176767988_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,90) / & + 7.0677897244655135e-05_r8, 7.5200720244727572e-05_r8, & + 8.4328386351091347e-05_r8, 0.00010109563949384691_r8, & + 0.00010478654427369877_r8, 0.00015645921119162464_r8, & + 0.00012546732819890039_r8, 0.00013590731600476706_r8, & + 0.0002089169276976461_r8, 0.00028115320696046084_r8, & + 0.00033287274251051185_r8, 0.00039867630201415629_r8, & + 0.00049373760512189623_r8, 0.00064214712874603437_r8, & + 0.00082900064787078825_r8, 0.0010909963014501132_r8, & + 0.0016449483816947355_r8, 0.0022355282979451261_r8, & + 0.0028010803646407109_r8, 0.0033288680310014939_r8, & + 0.0036908930626938208_r8, 0.0038769146635983529_r8, & + 0.0039205845115809178_r8, 0.0038362209737557323_r8, & + 0.0036915257892275091_r8, 0.0035463502012200035_r8, & + 0.0034032602673420643_r8, 0.0032928143357392587_r8, & + 0.0034222654976687932_r8, 0.0037386404816712681_r8, & + 0.0040618114173318846_r8, 0.0043350555426212335_r8, & + 0.0045718710235913484_r8, 0.0047249674104279955_r8, & + 0.0048397252561863096_r8, 0.0049116334550242495_r8, & + 0.004950370379475647_r8, 0.0049732246962156503_r8, 0.005005581628119018_r8, & + 0.0050718337873872895_r8, 0.0051154384796018_r8, 0.0051052805823755369_r8, & + 0.0052556243158616879_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,90) / & + 6.450727419733332e-05_r8, 6.6800002617599995e-05_r8, & + 7.0880282009599997e-05_r8, 9.0659922109866668e-05_r8, & + 9.5310145289955543e-05_r8, 0.00016141067144035556_r8, & + 0.00014812061856355553_r8, 0.00019913058759751107_r8, & + 0.00030279559069013327_r8, 0.00042541122473671112_r8, & + 0.00052719800398222209_r8, 0.00065272812330879979_r8, & + 0.00085586127069084428_r8, 0.0011361699882872886_r8, & + 0.0014032922791502222_r8, 0.001698471348308622_r8, & + 0.0022541406351594662_r8, 0.0028363641212280884_r8, & + 0.0033527331932366217_r8, 0.0037536368350855102_r8, & + 0.0039890365728341322_r8, 0.0040979217428949322_r8, & + 0.004061432387189332_r8, 0.0038937652873479106_r8, & + 0.0036685079583736887_r8, 0.0034667608106581324_r8, 0.0033288085074048_r8, & + 0.0032675913632568884_r8, 0.0034416573774463991_r8, & + 0.0037686367193265776_r8, 0.0041707336809817773_r8, & + 0.0045732435280516444_r8, 0.0049148503477204446_r8, & + 0.0051518821972258658_r8, 0.0053001809232231991_r8, & + 0.0053776511802825777_r8, 0.0054279665303247999_r8, & + 0.0054848274442125325_r8, 0.0055170975042044433_r8, & + 0.0055397171482942211_r8, 0.0055500922070126392_r8, & + 0.0055761826792391994_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,90) / & + 0.00010683182538803621_r8, 0.00010819400565596707_r8, & + 0.00010527099383103206_r8, 0.00014152485408690037_r8, & + 0.00015232297058581068_r8, 0.00019941751547396209_r8, & + 0.0002448802819161547_r8, 0.00040712162757783695_r8, & + 0.00060126069451356694_r8, 0.0008075458688383472_r8, & + 0.00096612635502996526_r8, 0.0011424719422158482_r8, & + 0.00140064767112212_r8, 0.0016760067365332281_r8, 0.0018907487800214121_r8, & + 0.0021353736531373297_r8, 0.0025559468108609833_r8, & + 0.0030389957989981754_r8, 0.0035038965729407463_r8, & + 0.0038782265484437069_r8, 0.0041299035423217256_r8, & + 0.0042274980827678556_r8, 0.0041733939852509755_r8, & + 0.0040080877339864493_r8, 0.003772047434434054_r8, & + 0.0035589087906362465_r8, 0.0034190866618842592_r8, & + 0.0033674781211863636_r8, 0.0036219202700613915_r8, & + 0.0039780771999585966_r8, 0.004408731910602719_r8, & + 0.0048494752688562019_r8, 0.005217556597114475_r8, & + 0.0054958262586449506_r8, 0.0056675303990027176_r8, & + 0.0057584893782776101_r8, 0.0058297200547881602_r8, & + 0.0058745034034159123_r8, 0.005893762341833469_r8, & + 0.0059314304016297769_r8, 0.0060220845626639107_r8, 0.0060008457246192_r8, & + 0.0059694144791400281_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,90) / & + 0.00013876768708635391_r8, 0.00016019368946106996_r8, & + 0.00016081070896790123_r8, 0.00024270462301208235_r8, & + 0.00026760136011272427_r8, 0.00031105495888131686_r8, & + 0.00030588742051160489_r8, 0.00064527900024414825_r8, & + 0.00088974212885069954_r8, 0.0010921245270913578_r8, & + 0.001241350694818502_r8, 0.0013893119725566418_r8, & + 0.0015935300038301234_r8, 0.0018181868062673906_r8, & + 0.0019956261909443948_r8, 0.0022145755629434734_r8, & + 0.0026564232317853494_r8, 0.0031470462926422378_r8, & + 0.0036182023880586005_r8, 0.0040115060472005254_r8, & + 0.0042354841281802792_r8, 0.0042596558673603955_r8, & + 0.0041360205836790788_r8, 0.0039103148480801979_r8, & + 0.0036396283904333165_r8, 0.0034340683417324771_r8, & + 0.0033468372089542047_r8, 0.003342163286189958_r8, & + 0.0036245268380036204_r8, 0.0040889419953078513_r8, & + 0.0045875978788692999_r8, 0.005052944349991653_r8, & + 0.0054352650619119824_r8, 0.0057473554566532014_r8, & + 0.005978330924477613_r8, 0.0061242637505870444_r8, & + 0.0062189415375383866_r8, 0.0062693963795235558_r8, & + 0.0063242224190774316_r8, 0.0063824643226939471_r8, & + 0.0064558872861108976_r8, 0.0064598876549560001_r8, & + 0.0064659787943999996_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,90) / & + 0.00018830937551707648_r8, 0.00023441201593963452_r8, & + 0.00024194305803251355_r8, 0.000331082604928316_r8, & + 0.00039786228791119008_r8, 0.00047245626014530358_r8, & + 0.00052525686278320966_r8, 0.00090152572026879982_r8, & + 0.0011108953550898564_r8, 0.0012462708351886219_r8, & + 0.0013460904661143703_r8, 0.001463604713638874_r8, & + 0.0016555296558244342_r8, 0.0018864593978759896_r8, & + 0.002127152836092207_r8, 0.002387990145747121_r8, 0.0029318913361894702_r8, & + 0.0034363212020344096_r8, 0.0039548301178096183_r8, & + 0.0043331650133914849_r8, 0.0045237070429803451_r8, & + 0.0044983980763009575_r8, 0.0042648191402388539_r8, & + 0.0039433502770972436_r8, 0.0035844428042593971_r8, & + 0.0033100929389909329_r8, 0.0032067243877869031_r8, & + 0.0032342993317331747_r8, 0.0036187323720185669_r8, & + 0.0042228319144112974_r8, 0.0048386112366870107_r8, & + 0.0053623352324955647_r8, 0.0057975694837127893_r8, & + 0.0061017269469993071_r8, 0.0063338563240745082_r8, & + 0.0065147346270840092_r8, 0.0066599904345302904_r8, & + 0.0067852773173121576_r8, 0.0069628732856041858_r8, & + 0.0070484255905473407_r8, 0.0069905132097809056_r8, & + 0.0069179952726015981_r8, 0.0069881739214847985_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,90) / & + 0.00037005299883203943_r8, 0.00034845046596348312_r8, & + 0.00030359881114276876_r8, 0.00035149307622666005_r8, & + 0.00047792248151537785_r8, 0.00058940730109966757_r8, & + 0.00074255798358205101_r8, 0.0009932153761455407_r8, & + 0.0010931740721446188_r8, 0.0011927927117025188_r8, & + 0.0012749610865157269_r8, 0.0013701589923383044_r8, & + 0.0016369243215892016_r8, 0.0019926054613545879_r8, & + 0.0022834074116845826_r8, 0.0025635423283860278_r8, & + 0.0031490658269732875_r8, 0.0036544970848092712_r8, & + 0.0041747476443976701_r8, 0.0045360844597110784_r8, & + 0.0046840269093311997_r8, 0.0046226198751373173_r8, & + 0.0042899730848349246_r8, 0.0038944874437442109_r8, 0.00350027253988106_r8, & + 0.0031615047336374519_r8, 0.0029529606466578173_r8, & + 0.0029593143327956285_r8, 0.0034431251600556246_r8, & + 0.0042088964701749729_r8, 0.0049201334657537317_r8, & + 0.0055464279418675645_r8, 0.0060009044266490464_r8, & + 0.0063026955693413402_r8, 0.0065381578082963753_r8, & + 0.0067482232004075987_r8, 0.0069836675416552049_r8, & + 0.007290595326380038_r8, 0.0076262850465475254_r8, & + 0.0079472571622930342_r8, 0.0082194559159178993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,90) / & + 0.0013089061745621853_r8, 0.0010162927064359503_r8, & + 0.00074367407739896608_r8, 0.00042917152226976119_r8, & + 0.00051688094082012173_r8, 0.00078527099623153229_r8, & + 0.00086555649366550102_r8, 0.0012028856928458795_r8, & + 0.0012801480471448228_r8, 0.0013809449967354199_r8, & + 0.0014571549910822978_r8, 0.0015100408621279337_r8, & + 0.0018425674731634299_r8, 0.0022366858421207438_r8, & + 0.002516651857004878_r8, 0.0028263900916238212_r8, & + 0.0033965587136530963_r8, 0.003900505193971462_r8, & + 0.0044296126440528582_r8, 0.0048102608056237285_r8, & + 0.0049117657064548072_r8, 0.0048180482692690161_r8, & + 0.0045116201850447539_r8, 0.0041565922048523579_r8, & + 0.0037657839862897243_r8, 0.0034386722455530391_r8, & + 0.0032307833204767598_r8, 0.003228085452236009_r8, & + 0.0036575702907642258_r8, 0.0044223489686564402_r8, & + 0.0051546360330286213_r8, 0.0058327146012335917_r8, & + 0.0062669637602720705_r8, 0.0066308937489680765_r8, & + 0.0069300868585218884_r8, 0.0072272015571703671_r8, & + 0.0075442943528179537_r8, 0.0079152502108952374_r8, & + 0.0083070161453493128_r8, 0.008672984022258988_r8, & + 0.0088517589992509957_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,90) / & + 0.0020974429266969437_r8, 0.0016242063294680887_r8, & + 0.0011910601976973037_r8, 0.00058705111665576296_r8, & + 0.00065427187638317035_r8, 0.0010909623754850372_r8, & + 0.00091530230836100741_r8, 0.0014534655997604741_r8, & + 0.0015301889305220739_r8, 0.0016480696991713188_r8, & + 0.0017271763114141633_r8, 0.0017688531824451555_r8, & + 0.0021122901548706369_r8, 0.0023912563077393778_r8, & + 0.0027123271001101034_r8, 0.0030534419008359111_r8, 0.00364318184788077_r8, & + 0.0041690009634030223_r8, 0.0047064309374236441_r8, & + 0.0051083499708119706_r8, 0.0051846149782117917_r8, & + 0.0050899253716685045_r8, 0.0048171618616291555_r8, & + 0.0044990854485553776_r8, 0.0041056606748053337_r8, & + 0.0037775011477724448_r8, 0.0036003133361091552_r8, & + 0.0036340459355359996_r8, 0.0040303466883811999_r8, & + 0.0047858240017676001_r8, 0.0055451168571407994_r8, & + 0.0062415048311100004_r8, 0.0066719048420714666_r8, & + 0.0070698211847669331_r8, 0.0074160386522538662_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,25,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,90) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,90) / & + 0.0060641182659394357_r8, 0.0066267522573605908_r8, & + 0.0013007972503608889_r8, 0.00043072583651508145_r8, & + 0.00052919984522714061_r8, 0.00062924107954204439_r8, & + 0.00088482945493925907_r8, 0.00095731363907081482_r8, & + 0.0010667582270027852_r8, 0.0016873795657291848_r8, & + 0.0019664763251690666_r8, 0.0015652175950407997_r8, & + 0.0014904315483050662_r8, 0.001636351446398476_r8, & + 0.0017602742137091043_r8, 0.001879999055297828_r8, & + 0.0019599275610428946_r8, 0.0020509385906937903_r8, & + 0.0021194487384752756_r8, 0.0021572860423153778_r8, & + 0.0021527802687071988_r8, 0.0021373822771592528_r8, & + 0.0018341241230088534_r8, 0.0020146685124565332_r8, & + 0.001629914626958222_r8, 0.0013223466023999997_r8, & + 0.0013282236984106664_r8, 0.0014105030425599998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,90) / & + 0.006353713873118577_r8, 0.0069134566924916978_r8, & + 0.0014093492883160096_r8, 0.00044929788428843445_r8, & + 0.00055196601382277515_r8, 0.0006553603547066072_r8, & + 0.00092101754399241459_r8, 0.00099649813613017263_r8, & + 0.0011150521389346369_r8, 0.0017806248407434666_r8, & + 0.0020756935896836738_r8, 0.0016179421514050669_r8, & + 0.0015208227304629332_r8, 0.0016528246112927998_r8, & + 0.0017778237398239998_r8, 0.0018968705289013333_r8, & + 0.0020080392216426661_r8, 0.0021428422033919997_r8, & + 0.0022109439694965329_r8, 0.0022409974481116439_r8, & + 0.0021885059840062219_r8, 0.0021744946437819729_r8, & + 0.0019095455105619201_r8, 0.0021004755519850667_r8, & + 0.0016993345578097776_r8, 0.0013786668587999998_r8, & + 0.0013847942670613333_r8, 0.0014705779827199998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,90) / & + 0.00014697102602097772_r8, 0.00019075054297470911_r8, & + 0.00021414968208071107_r8, 0.0002828873364878222_r8, & + 0.00034067176282454378_r8, 0.00041965400968959997_r8, & + 0.00057697111565226653_r8, 0.00071694941191196584_r8, & + 0.00077794017534151103_r8, 0.00084540228564622204_r8, & + 0.00089273914455751096_r8, 0.00096380064164145612_r8, & + 0.0010177424665927109_r8, 0.0010907319346744886_r8, & + 0.0011774689336376887_r8, 0.0012381281420629333_r8, & + 0.0014090510517845334_r8, 0.0016352475392767999_r8, & + 0.0018549600109151996_r8, 0.0020533071188383991_r8, & + 0.0022181711940735998_r8, 0.0024279070886253713_r8, & + 0.0025607823399782397_r8, 0.0026740506562713596_r8, & + 0.0028194626839449588_r8, 0.0029735484115148798_r8, 0.0030887300439616_r8, & + 0.0034701177305791996_r8, 0.0041948393714261317_r8, & + 0.0053173181815381323_r8, 0.0065779809360767992_r8, & + 0.0076137227472255981_r8, 0.0085308389568511979_r8, & + 0.0092425925659903978_r8, 0.0098676091761663986_r8, & + 0.010306396347391998_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,90) / & + 0.00017312482466412695_r8, 0.00021564836472508312_r8, & + 0.00024991915169327559_r8, 0.00032388612698029331_r8, & + 0.00038118377521398664_r8, 0.00045368521881237025_r8, & + 0.00061552003612371214_r8, 0.00074414389311805245_r8, & + 0.00081367121263100511_r8, 0.00088447134425711637_r8, & + 0.00093397748865077382_r8, 0.00098650384546640404_r8, & + 0.0010596022933764971_r8, 0.0011339270012430906_r8, & + 0.0012108177046506595_r8, 0.0012721230624477293_r8, & + 0.0014769466339475553_r8, 0.0017206972731037382_r8, & + 0.0019698071501794488_r8, 0.0021871853204038934_r8, & + 0.0023489298351524628_r8, 0.0025527663032015625_r8, & + 0.0026858374747879255_r8, 0.0028017649240130432_r8, & + 0.0029482846896954642_r8, 0.0030920104239478131_r8, & + 0.0032068915908582529_r8, 0.0035574662791389923_r8, & + 0.004309894986727552_r8, 0.0054526724406984244_r8, & + 0.0066705331816370545_r8, 0.0077322188340418485_r8, & + 0.0087117389736321178_r8, 0.0094798322325741688_r8, & + 0.010175841952981796_r8, 0.01069142189262794_r8, 0.011083855929336079_r8, & + 0.011321696256991609_r8, 0.011498532171099553_r8, 0.011462961728606577_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,90) / & + 0.00042157398872857098_r8, 0.00044264224582311949_r8, & + 0.00046538251541975773_r8, 0.00047213105744959427_r8, & + 0.00054158560113872596_r8, 0.00053384364169594062_r8, & + 0.0006899983140354445_r8, 0.00081470175380148155_r8, & + 0.00087354981669333324_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,90) / & + 0.0005171615119194371_r8, 0.00052210059494956179_r8, & + 0.00047833290241439992_r8, 0.00089245357587364562_r8, & + 0.00084256655342043404_r8, 0.00075317092826407601_r8, & + 0.0009246886851017143_r8, 0.0013145243994815998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,37,90) / & + 0.00064554789502580673_r8, 0.00065297008783453002_r8, & + 0.00069280598182870916_r8, 0.00082886871377581826_r8, & + 0.00095881236692909829_r8, 0.0011006853541310896_r8, & + 0.0014172814076336986_r8, 0.0015202521942591998_r8, & + 0.0016184539802168889_r8, 0.0016788631439769602_r8, & + 0.0017414368054613331_r8, 0.0017680010957141332_r8, & + 0.0018191619510158224_r8, 0.0018604841802979555_r8, & + 0.001910661172997689_r8, 0.0019436205701631999_r8, & + 0.0020292166165333334_r8, 0.0021502317165738665_r8, & + 0.0023952135044607993_r8, 0.0025442686886570664_r8, 0.00265642902528_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,38,90) / & + 0.00073523670938508659_r8, 0.00077238471837579579_r8, & + 0.00085478096144139587_r8, 0.0012563637482892376_r8, & + 0.0013995305172189499_r8, 0.0015124815628113908_r8, & + 0.0017212036417247078_r8, 0.0017630987593694029_r8, & + 0.0018095613544307503_r8, 0.0018235947925562433_r8, & + 0.0018598069698947852_r8, 0.001881820206170068_r8, & + 0.0019500674281642063_r8, 0.001975640861374744_r8, & + 0.0020131292951073637_r8, 0.0020493502185361125_r8, & + 0.0021842407641356281_r8, 0.0023472046446373594_r8, & + 0.0025911705068704335_r8, 0.0028134078517032769_r8, & + 0.0029515148056152886_r8, 0.0030927356367515218_r8, & + 0.0031985226925776507_r8, 0.0032831342530151107_r8, & + 0.0033856378920222334_r8, 0.003505332845940574_r8, & + 0.0036305547906489125_r8, 0.0037432082000638414_r8, & + 0.0038659548666883157_r8, 0.0037793201337530855_r8, & + 0.0037949742896715845_r8, 0.0037948047500767999_r8, & + 0.0036839258550872885_r8, 0.0037658134793685325_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,39,90) / & + 0.00091605630777615791_r8, 0.0009587033944010268_r8, & + 0.0010049692575369478_r8, 0.0015338164786305581_r8, & + 0.001675065497287743_r8, 0.0017762745048710321_r8, & + 0.0019222707357255109_r8, 0.0019035931795394366_r8, & + 0.0019029316827578469_r8, 0.0018859662358888293_r8, & + 0.0019037099142655998_r8, 0.001933516181012543_r8, & + 0.0020020394652702019_r8, 0.0020376824683252938_r8, & + 0.0020782283298792291_r8, 0.0021345333794651651_r8, & + 0.0022750041666145973_r8, 0.0024289772704235457_r8, & + 0.0025816273806693133_r8, 0.0027602315116986471_r8, & + 0.0028948655625399304_r8, 0.0030484106390196138_r8, & + 0.0031671298555273476_r8, 0.0032895067601215206_r8, & + 0.0033934784895573332_r8, 0.0035154662783976292_r8, & + 0.0036351971958654412_r8, 0.0037645781840293917_r8, & + 0.0039174617637274855_r8, 0.0039148157766011266_r8, & + 0.0039403417700554265_r8, 0.0039637519465980245_r8, & + 0.0039277747209043356_r8, 0.003959233756815869_r8, & + 0.0035508339820568531_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,90) / & + 0.0012501186238590945_r8, 0.0012676631623209874_r8, & + 0.0012822367720730862_r8, 0.0014724966525557198_r8, & + 0.0015610222985705348_r8, 0.0016621141700740739_r8, & + 0.0018737727668042793_r8, 0.0018827658483041973_r8, & + 0.0018980621163911106_r8, 0.001916048279390946_r8, & + 0.0019343556238729217_r8, 0.0019633422526360491_r8, & + 0.0020193081258989293_r8, 0.0020472509148451025_r8, & + 0.0020834239792711109_r8, 0.002120199258976131_r8, & + 0.0022264300341939092_r8, 0.0023636548224381889_r8, & + 0.0024884338282495466_r8, 0.0026522363841409041_r8, & + 0.0027923518057244435_r8, 0.0029706075283120982_r8, & + 0.0030686481757353085_r8, 0.0031846348384730861_r8, & + 0.0032787410127400815_r8, 0.0033700368490383534_r8, & + 0.0034709882036434553_r8, 0.0036258328072595052_r8, & + 0.0037497579578359783_r8, 0.0038419506647462071_r8, & + 0.0039456955813229767_r8, 0.0040151671359098407_r8, & + 0.0041293961903404435_r8, 0.0041511640143694429_r8, & + 0.0036288030190463486_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,90) / & + 0.0015925725886545119_r8, 0.0016119402047834598_r8, & + 0.001634246070367868_r8, 0.0017398988993789892_r8, & + 0.0017960153255987619_r8, 0.0018265565664174878_r8, & + 0.0020313235848064526_r8, 0.0020386899003426765_r8, & + 0.0020616579066494423_r8, 0.0020906679470477168_r8, & + 0.0021160775972681747_r8, 0.0021589098252456553_r8, & + 0.0022240893026026927_r8, 0.0022755707437659652_r8, & + 0.0023257692872796706_r8, 0.0023846584277743142_r8, & + 0.002512989576526169_r8, 0.00261044841409812_r8, 0.0027241296993678219_r8, & + 0.0028244440188049378_r8, 0.0029441673381661497_r8, & + 0.0031065573503242529_r8, 0.0031880420429693359_r8, & + 0.0032632777825471727_r8, 0.0033191045222009151_r8, & + 0.0033659923621028342_r8, 0.0034175979546515484_r8, & + 0.0035086423039756643_r8, 0.0035267684062501923_r8, & + 0.003514658473195206_r8, 0.0035071266224783932_r8, & + 0.0035143887395304072_r8, 0.0035132483203755612_r8, & + 0.0035197662681112655_r8, 0.0035160913871021822_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,90) / & + 0.0018264334100339355_r8, 0.0018970972125689678_r8, & + 0.0021067445253975699_r8, 0.002612472318449857_r8, & + 0.0026189931639190125_r8, 0.0026320774747623501_r8, & + 0.0026876964508227943_r8, 0.0024337244367659458_r8, & + 0.002274325991964365_r8, 0.0022176841381832692_r8, & + 0.0021814998388152095_r8, 0.0021575474521899453_r8, & + 0.0021518790048213328_r8, 0.0021808605402398023_r8, & + 0.0022157182950638911_r8, 0.0022644424359885662_r8, & + 0.0023745094062188345_r8, 0.0024928664046187238_r8, & + 0.0026402178766225378_r8, 0.0027731759978428939_r8, & + 0.0029176308384443257_r8, 0.0030883235580781037_r8, & + 0.0031867062813451747_r8, 0.0032853074316255108_r8, & + 0.0033582536822886937_r8, 0.0034170508855525922_r8, & + 0.0034872671790848386_r8, 0.0036173324742514771_r8, & + 0.003663074287321876_r8, 0.0036699848004941374_r8, & + 0.0036592354515905014_r8, 0.0036461115651210659_r8, & + 0.0036472623025567996_r8, 0.0036308642940975997_r8, & + 0.0036308642940975988_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,90) / & + 0.0023325260088434829_r8, 0.0025575073653163719_r8, & + 0.0027008288220324345_r8, 0.0038593293118156374_r8, & + 0.0037784588203271371_r8, 0.003782625141743302_r8, 0.00354032065938215_r8, & + 0.003253809313994745_r8, 0.0027292475196921684_r8, & + 0.0025864961911698965_r8, 0.0025094411729783051_r8, & + 0.0024490075844364636_r8, 0.002417924633871131_r8, & + 0.0024380271347041256_r8, 0.0024550871245029465_r8, & + 0.0024670699974331596_r8, 0.0025136638806993496_r8, & + 0.0026021402582017202_r8, 0.0026837555188005163_r8, & + 0.0028048231805237714_r8, 0.0029376599171045694_r8, & + 0.0030054683644388943_r8, 0.0031085480117621711_r8, & + 0.0032528061076537479_r8, 0.0033735229212577479_r8, & + 0.0034852234080827429_r8, 0.0036028468063495521_r8, & + 0.0037991980165194067_r8, 0.0038856656319104133_r8, & + 0.0039793483448967411_r8, 0.0040286620842302891_r8, & + 0.0040833787279717527_r8, 0.0041272886231256351_r8, & + 0.0041507744588800792_r8, 0.0041684374688838724_r8, & + 0.0040882326490502092_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,90) / & + 0.0029000549135402669_r8, 0.0032633621629477661_r8, & + 0.0031397646489070619_r8, 0.0043324513495187492_r8, & + 0.004306117548643241_r8, 0.0043294752692828184_r8, & + 0.0039084050080233886_r8, 0.0034857114302716315_r8, & + 0.0026899256120336327_r8, 0.0025612777800168036_r8, & + 0.0025397688364934851_r8, 0.0025162758394795454_r8, & + 0.0025041460579118885_r8, 0.0025727762718374455_r8, & + 0.0025526200920577319_r8, 0.0025661477294937809_r8, & + 0.0024953981857032434_r8, 0.0026095263535387131_r8, & + 0.0026820344901959375_r8, 0.0027915632613031505_r8, & + 0.002917956487080639_r8, 0.0029423964187151016_r8, & + 0.0030927786548791835_r8, 0.0032634072550725536_r8, & + 0.0033660369310873814_r8, 0.0034891835238802186_r8, & + 0.0036046644554592919_r8, 0.0039084050080233877_r8, & + 0.0039943956899918748_r8, 0.0040764633571039087_r8, & + 0.0040984683139998817_r8, 0.0041609209068296429_r8, & + 0.0042133179558319408_r8, 0.0042339717594173376_r8, & + 0.0042686556555435514_r8, 0.0042496758970908656_r8, & + 0.0042550024043313097_r8, 0.004252074637086223_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,90) / & + 0.0028249567652693331_r8, 0.0035230306052266664_r8, & + 0.0034412612710399996_r8, 0.0042909210948266661_r8, & + 0.0043566145315839981_r8, 0.0045073666071893332_r8, & + 0.0040598821885439989_r8, 0.0030585437244586662_r8, & + 0.0023961889534293329_r8, 0.0024140253237759997_r8, & + 0.0024046670203733329_r8, 0.0024259316800853328_r8, & + 0.0023881278405973325_r8, 0.0024575275361279998_r8, & + 0.0024754102347093335_r8, 0.0025243791787519987_r8, & + 0.0025051066331306655_r8, 0.0025613954382506673_r8, & + 0.0026429331312640002_r8, 0.0027527773756586662_r8, & + 0.0028817551809706657_r8, 0.0029854840983893332_r8, & + 0.0031339660904960006_r8, 0.0032949103777279998_r8, & + 0.0034520557497173332_r8, 0.003599379535957333_r8, & + 0.0037863139628373324_r8, 0.0041337293946026666_r8, & + 0.0041626845412693321_r8, 0.0041732937070079988_r8, & + 0.004193956099669334_r8, 0.0042281463368533338_r8, & + 0.0042621049328639988_r8, 0.0042716022209706665_r8, & + 0.0042891606219093341_r8, 0.0043011596346879998_r8, & + 0.0043641197055999982_r8, 0.0043702490965043814_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,1,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,2,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,3,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,4,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,5,91) / & + 0.0050065250034509109_r8, 0.004934319723756614_r8, & + 0.0045608224016137561_r8, 0.0045354455413227513_r8, & + 0.0045569583475925926_r8, 0.0047513229392857148_r8, & + 0.0050458047645502635_r8, 0.0053979560855238091_r8, & + 0.0057153853994074081_r8, 0.0059990380671746018_r8, & + 0.0062341171689100517_r8, 0.0066464871122328033_r8, & + 0.0070960036797777766_r8, 0.0072922373998835985_r8, & + 0.0075370843071851847_r8, 0.0076765058345185187_r8, & + 0.0078828389893333319_r8, 0.0080962791904444428_r8, & + 0.0082450154553333332_r8, 0.008412701532444446_r8, & + 0.0085848931302222216_r8, 0.0087352394011111101_r8, & + 0.0088125571311111102_r8, 0.0088954911611111107_r8, & + 0.0089636564022222212_r8, 0.0090320920577777793_r8, & + 0.0090579686399999988_r8, 0.0091074128811111099_r8, & + 0.0091506722585185194_r8, 0.0091798076814814823_r8, & + 0.0091844185944444448_r8, 0.0091736297514814821_r8, & + 0.009181430168148149_r8, 0.0091777414377777772_r8, & + 0.0091673686170370364_r8, 0.0092078337118518521_r8, & + 0.0092521678133333334_r8, 0.0092875713044444433_r8, & + 0.0092444298000000005_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,6,91) / & + 0.0044315519155555556_r8, 0.0038997183516049378_r8, & + 0.0040906263269135795_r8, 0.0044802265155555552_r8, & + 0.0046753501827160497_r8, 0.0049261561130864197_r8, & + 0.0054276662795061719_r8, 0.0059062489990123453_r8, & + 0.0064720946908641986_r8, 0.0068911307629629633_r8, & + 0.0071309444617283944_r8, 0.0073594608459259256_r8, & + 0.0075872653698765427_r8, 0.007735970201975308_r8, & + 0.0078993652409876536_r8, 0.0080299315041975315_r8, & + 0.0082286791871604929_r8, 0.0084076334572839497_r8, & + 0.0085612750864197534_r8, 0.0087054221639506161_r8, & + 0.0088502811017283946_r8, 0.0089437936523456777_r8, & + 0.0090098857160493817_r8, 0.0090608530607407412_r8, & + 0.0091129205530864205_r8, 0.0091426892543209886_r8, & + 0.0091483656464197514_r8, 0.0091678817111111102_r8, & + 0.0092139677283950613_r8, 0.0092360353960493826_r8, & + 0.0092190445202116385_r8, 0.0091925531495943551_r8, & + 0.0091879741977037022_r8, 0.0091804686945679021_r8, & + 0.0091750788955555548_r8, 0.0092039439040740734_r8, & + 0.009227409868641975_r8, 0.0092325465874691353_r8, & + 0.0091106242383630943_r8, 0.0088062086320000003_r8, & + 0.0087403606346666673_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,7,91) / & + 0.0033227140192592592_r8, 0.0027358915624691358_r8, & + 0.0039027876711111107_r8, 0.0043862609629629623_r8, & + 0.0045414927214814807_r8, 0.0047937685970370382_r8, & + 0.0052847950034567897_r8, 0.0056586233274074074_r8, & + 0.0063424251866666661_r8, 0.007099899959012345_r8, & + 0.0074735803639506175_r8, 0.0078048912167901227_r8, & + 0.0082163371945679006_r8, 0.0084312542745679005_r8, & + 0.0085744861032098756_r8, 0.0086890678681481488_r8, & + 0.0088406571209876557_r8, 0.0089552481308641969_r8, & + 0.0090415773644444454_r8, 0.0091040454123456783_r8, & + 0.0091543563664197528_r8, 0.0091780418982716043_r8, & + 0.0092186918918518521_r8, 0.0092330770158024697_r8, & + 0.0092494775362962963_r8, 0.0092564204849382697_r8, & + 0.0092586207802469126_r8, 0.0092483126740740742_r8, & + 0.0092454374982716032_r8, 0.0092268274375308639_r8, & + 0.0091978722908641966_r8, 0.0091702391703703708_r8, & + 0.0091371804267283939_r8, 0.00910931387154321_r8, 0.0090866198593209865_r8, & + 0.0090417576407407392_r8, 0.0089513210131569668_r8, & + 0.0088204673314197513_r8, 0.0087684820529894177_r8, & + 0.0087393358992945321_r8, 0.0087029341199382718_r8, & + 0.0086591856852962952_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,8,91) / & + 0.0033467508587654319_r8, 0.0030408450962962964_r8, & + 0.0040295172849382716_r8, 0.0040604785832098764_r8, & + 0.0040867342079012343_r8, 0.0042768286286419752_r8, & + 0.004878498456296297_r8, 0.0053446559787654327_r8, & + 0.0058022064637037046_r8, 0.0063079045871604917_r8, & + 0.006654941079999999_r8, 0.0069940176809876525_r8, & + 0.0074246469056790127_r8, 0.0076884789540740727_r8, & + 0.0078610819516049379_r8, 0.0080244307659259259_r8, & + 0.0082129165674074064_r8, 0.0084051927935802472_r8, & + 0.0085312567718518525_r8, 0.0086307692874074068_r8, & + 0.0087391476987654319_r8, 0.0088150116622222226_r8, & + 0.0089089957046913568_r8, 0.0089728967180246911_r8, & + 0.0090335157782716058_r8, 0.0090873582987654293_r8, & + 0.0091209913841975299_r8, 0.0091692869417283954_r8, & + 0.0091961065076543204_r8, 0.0092089292370370369_r8, & + 0.0092063406543209866_r8, 0.0091873145713580236_r8, & + 0.0091472643431481492_r8, 0.0090998482103703711_r8, & + 0.0090455885120370363_r8, 0.0089786586258024676_r8, & + 0.0088728025307636682_r8, 0.008753361527216931_r8, & + 0.0086739302062222214_r8, 0.0087065338677777774_r8, & + 0.008686641071851851_r8, 0.0086400457162499993_r8, & + 0.0086322531000000008_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,9,91) / & + 0.0031818581397530859_r8, 0.0031376211101234565_r8, & + 0.0032490226162962964_r8, 0.0028970031017283952_r8, & + 0.0027985075293827156_r8, 0.0029307656162962962_r8, & + 0.0030967122582716048_r8, 0.0035602257283950619_r8, & + 0.0040873628637037029_r8, 0.0045382015234567887_r8, & + 0.0049434718824691365_r8, 0.005283888999506171_r8, & + 0.0056304540004938272_r8, 0.0059656107476543209_r8, & + 0.0061743337190123459_r8, 0.0063267550162962967_r8, & + 0.0065305411906172841_r8, 0.0067685983511111105_r8, & + 0.0069255681580246897_r8, 0.0070521498528395062_r8, & + 0.0072266480627160489_r8, 0.0073572420607407405_r8, & + 0.0075924702701234562_r8, 0.0077617531791975307_r8, & + 0.0079111872058024689_r8, 0.0080989807925308643_r8, & + 0.0082372839134567909_r8, 0.0085415869998412691_r8, & + 0.0087686955120105815_r8, 0.0089451212254814828_r8, & + 0.0090359970536684295_r8, 0.0091419676868888886_r8, & + 0.0092269846014814815_r8, 0.0091863478974999989_r8, & + 0.0091343503199999981_r8, 0.0090893450359999985_r8, & + 0.0090399964799999979_r8, 0.0091755365199999994_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,10,91) / & + 0.0017584704637037035_r8, 0.0017515460049382715_r8, & + 0.001434176519012346_r8, 0.0010585546770370371_r8, & + 0.0010373837683950618_r8, 0.0010567981387654322_r8, & + 0.00099830541432098757_r8, 0.0011003602879012346_r8, & + 0.0014746693486419756_r8, 0.0019520687160493827_r8, & + 0.0024210829244444439_r8, 0.0028189573328395059_r8, & + 0.0032384001822222223_r8, 0.0036404625476543209_r8, & + 0.003904710618271605_r8, 0.0041742560385185177_r8, & + 0.0046032766439506167_r8, 0.0049436013116049386_r8, & + 0.0052062315180246904_r8, 0.0054328896696296302_r8, & + 0.0055498658735802474_r8, 0.0056610085214814816_r8, & + 0.0057091053128395059_r8, 0.0057806137547530868_r8, & + 0.0058441022127160482_r8, 0.0059322688777777776_r8, & + 0.0060217367679012345_r8, 0.0063864355502204579_r8, & + 0.0067961456257495589_r8, 0.0071298316022839515_r8, & + 0.0076100691657407403_r8, 0.0079321540654497327_r8, & + 0.0081505924764021156_r8, 0.0083691800610370369_r8, & + 0.0084610613422962961_r8, 0.0084949935014814806_r8, & + 0.0084805661974999991_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,11,91) / & + 0.00053575341777777779_r8, 0.00052440063358024692_r8, & + 0.00032996109185185184_r8, 0.00036842003506172837_r8, & + 0.00037339381185185183_r8, 0.00037738762518518517_r8, & + 0.000370463166419753_r8, 0.00040635201679012345_r8, & + 0.00049772898666666668_r8, 0.00061630456493827154_r8, & + 0.00076230063012345671_r8, 0.00090617035950617286_r8, & + 0.0011216328908641975_r8, 0.0013554651145679015_r8, & + 0.0015385148923456791_r8, 0.0017503441629629628_r8, & + 0.002217398444444445_r8, 0.0026788040686419753_r8, & + 0.0031351896913580251_r8, 0.0036436612962962964_r8, & + 0.0040157977965432096_r8, 0.0043411271743209875_r8, & + 0.0045747467644444437_r8, 0.0047534884009876538_r8, & + 0.0048866617367901233_r8, 0.0049731296444444429_r8, & + 0.0050263712439506175_r8, 0.005105027178765432_r8, & + 0.0052377660024691347_r8, 0.0054881651555555543_r8, & + 0.0058904863792592597_r8, 0.006315793986358024_r8, & + 0.0067892561656790126_r8, 0.0072626270512345676_r8, & + 0.007657090077407407_r8, 0.0079760866724691345_r8, & + 0.0081657751413668437_r8, 0.0082824309091534386_r8, & + 0.0082922183271957692_r8, 0.0085981808799999986_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,12,91) / & + 0.00021778301086419755_r8, 0.00019746263654320985_r8, & + 0.00014795599209876543_r8, 0.00016287732246913578_r8, & + 0.00017379559456790123_r8, 0.00017448896493827161_r8, & + 0.00018978009283950617_r8, 0.00019174926469135798_r8, & + 0.00022646400790123455_r8, 0.00025888600641975308_r8, & + 0.00029845434222222221_r8, 0.00034277457629629628_r8, & + 0.00043759066320987641_r8, 0.00056145434617283949_r8, & + 0.00067367865185185183_r8, 0.00080319099209876551_r8, & + 0.0010794020128395061_r8, 0.0013896505850617285_r8, & + 0.0017860908724074073_r8, 0.0022261175768518516_r8, & + 0.002706156374135803_r8, 0.0031975756904320985_r8, & + 0.0036442113701234563_r8, 0.0040329147997530861_r8, & + 0.0043678450459259258_r8, 0.0046025486050617287_r8, & + 0.0047827312963580242_r8, 0.0048958673840740737_r8, & + 0.0048037924213580243_r8, 0.0047705522458024695_r8, & + 0.0048721286938271597_r8, 0.0050457729025308639_r8, & + 0.0053211215026014108_r8, 0.0058319228319841264_r8, & + 0.0063861595227777792_r8, 0.0070450193640211626_r8, & + 0.0076279932850793651_r8, 0.0077908121002962967_r8, & + 0.0079353950766666674_r8, 0.0079097750414814823_r8, & + 0.0079086490079999985_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,13,91) / & + 0.00017096664345679012_r8, 0.00014968479555555557_r8, & + 9.0184372839506179e-05_r8, 0.00011567266765432099_r8, & + 0.00012837521283950615_r8, 0.00013231355654320985_r8, & + 0.00018080325777777774_r8, 0.00016769393530864196_r8, & + 0.0001751453555555556_r8, 0.0001900944207407407_r8, & + 0.00020731774074074077_r8, 0.00023245472790123456_r8, & + 0.00028359772641975309_r8, 0.00034849719308641976_r8, & + 0.00042823478567901235_r8, 0.00052842218172839499_r8, & + 0.00079761629432098752_r8, 0.0010826654760493829_r8, & + 0.0014105464567901235_r8, 0.0018085318044444444_r8, & + 0.0022294445990123459_r8, 0.0026986806859259256_r8, & + 0.0032080490498765436_r8, 0.0036849307007407405_r8, & + 0.0040655910340740738_r8, 0.0043521009160493824_r8, & + 0.0045853599535802467_r8, 0.0047211680967901241_r8, & + 0.004612022355555555_r8, 0.0044424424528395059_r8, 0.004405444209876542_r8, & + 0.0044710185570370365_r8, 0.0045714648113580249_r8, & + 0.0049459957506172844_r8, 0.0055093637990123448_r8, & + 0.0064255926513580239_r8, 0.0073420526271604928_r8, & + 0.0076266580518518532_r8, 0.0078055106276543199_r8, & + 0.0078632857137654333_r8, 0.0078887011138928567_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,14,91) / & + 0.00015209772444444445_r8, 0.00014241827407407407_r8, & + 8.996249432098767e-05_r8, 0.0001224861871604938_r8, & + 0.00012421499061728394_r8, 0.0001390993412345679_r8, & + 0.00016587268246913582_r8, 0.0001711422972839506_r8, & + 0.00017302826469135804_r8, 0.00017837183901234566_r8, & + 0.00019286790222222217_r8, 0.00021557347061728393_r8, & + 0.00025848847407407402_r8, 0.00030045124888888891_r8, & + 0.00034939395209876542_r8, 0.00040469717283950609_r8, & + 0.00063835374271604939_r8, 0.00095024098024691357_r8, & + 0.0012655488449382715_r8, 0.0016084713402469135_r8, & + 0.0020129651244444441_r8, 0.0024700718523456787_r8, & + 0.0030311748908641973_r8, 0.0035604476069135797_r8, & + 0.0039647195125925919_r8, 0.0042167180400000002_r8, & + 0.0044002393096296295_r8, 0.0044295827437037033_r8, & + 0.004309108486234569_r8, 0.0042103035386331566_r8, & + 0.0041803672728924161_r8, 0.0041923536655379184_r8, & + 0.0042366360944179893_r8, 0.0043907066226543199_r8, & + 0.0047802581102821869_r8, 0.0056815611748765437_r8, & + 0.0068307663347301571_r8, 0.0074087617904938265_r8, & + 0.0077749581867777775_r8, 0.007845305464444445_r8, & + 0.0078525858533333333_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,15,91) / & + 0.00014336125777777777_r8, 0.00014240902913580247_r8, & + 0.00012192224592592592_r8, 0.00011498854222222222_r8, & + 0.0001183352098765432_r8, 0.00014466479407407407_r8, & + 0.00015099757679012347_r8, 0.00016712074913580248_r8, & + 0.00018429784444444442_r8, 0.00019602042617283951_r8, & + 0.00021605420740740739_r8, 0.00025411561827160488_r8, & + 0.000306414234074074_r8, 0.00036079296098765428_r8, & + 0.00044044734913580242_r8, 0.00053415404345679004_r8, & + 0.00081537582074074069_r8, 0.0011602212632098763_r8, & + 0.0015429524627160493_r8, 0.0020204812592592592_r8, & + 0.0025382070474074072_r8, 0.0030622748632098762_r8, & + 0.0034924603308641969_r8, 0.0038081010133333331_r8, & + 0.0039781986325925925_r8, 0.0040381705471604938_r8, & + 0.0040151598958024694_r8, 0.0038420761614814812_r8, & + 0.0038159222311111114_r8, 0.0038886417599382711_r8, & + 0.0039419295841358025_r8, 0.00395740561080247_r8, 0.0039772348477777782_r8, & + 0.0040322859788624339_r8, 0.0041468160381816577_r8, & + 0.0044819275841975308_r8, 0.0050386075801058198_r8, & + 0.0052359638668412695_r8, 0.0051517114178452382_r8, & + 0.0053968898800000002_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,16,91) / & + 0.00013971237185869955_r8, 0.0001432549661338864_r8, & + 0.00013516359696097449_r8, 0.00013730173078386828_r8, & + 0.00013874811542876706_r8, 0.00018929821066316374_r8, & + 0.00016443716444794731_r8, 0.00018285236605002802_r8, & + 0.0002353833793850469_r8, 0.00027115519672591272_r8, & + 0.00030147686902802962_r8, 0.00034632527406804276_r8, & + 0.00040585762756822382_r8, 0.00050660146239986815_r8, & + 0.00063891421426365096_r8, 0.00081746935057158839_r8, & + 0.0012563422798168493_r8, 0.0016949636639064757_r8, & + 0.0022080319330157823_r8, 0.0028501638290619256_r8, & + 0.0034171990151029993_r8, 0.0038253834353608419_r8, & + 0.0039866762853633577_r8, 0.0039977652343075815_r8, & + 0.0039212431017539157_r8, 0.0038108671836710982_r8, & + 0.0036774853648958677_r8, 0.003487118087321257_r8, & + 0.0036344082569934474_r8, 0.0038896217794810199_r8, & + 0.0041124279010843392_r8, 0.0042421203909102602_r8, & + 0.0043390805673592355_r8, 0.0044196693465956604_r8, & + 0.0044911186518440298_r8, 0.0045596332636099936_r8, & + 0.0047407457756668825_r8, 0.0048100988712849631_r8, & + 0.0050429104634798511_r8, 0.0052640248316145827_r8, & + 0.0054551692789096239_r8, 0.0048164608675128895_r8, & + 0.0046965799488877325_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,17,91) / & + 0.00010142371991872263_r8, 0.0001065089665042963_r8, & + 0.00010782128820379916_r8, 0.0001174996607376329_r8, & + 0.00012165925183873579_r8, 0.00022533266609946331_r8, & + 0.00015102244986511275_r8, 0.00019302846140723616_r8, & + 0.00027634917216763785_r8, 0.00034519919275941393_r8, & + 0.00039852397895974976_r8, 0.0004644564272017382_r8, & + 0.00058263568310518512_r8, 0.00074877326683064351_r8, & + 0.00096645462873568401_r8, 0.0012391011789654384_r8, & + 0.0017869720541918291_r8, 0.0023454352402784919_r8, & + 0.0028873303649089312_r8, 0.003397378254010363_r8, & + 0.0037696557989800555_r8, 0.0039541658864985551_r8, & + 0.0039686365766671795_r8, 0.0038769380979144156_r8, & + 0.0037324772565468173_r8, 0.0035862588414745282_r8, & + 0.003438528913016204_r8, 0.0032612951806351275_r8, & + 0.0034005653209948699_r8, 0.0037559115726093699_r8, & + 0.0041047430843584786_r8, 0.0043783152900727044_r8, & + 0.0046122366330090927_r8, 0.0047706760439080028_r8, & + 0.0048947490303011812_r8, 0.0049620758203488919_r8, & + 0.0050074446562459922_r8, 0.0050357415928915213_r8, & + 0.0050706235723506294_r8, 0.0051400081882775825_r8, & + 0.0052138687585724834_r8, 0.0050993596931873681_r8, & + 0.0052348036583624883_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,18,91) / & + 6.7369946405688882e-05_r8, 6.9364749663999994e-05_r8, & + 7.1204113707377774e-05_r8, 0.00011043956221013334_r8, & + 0.00012894978205511107_r8, 0.00026083995592604439_r8, & + 0.00017998565762488886_r8, 0.0002945832188344889_r8, & + 0.00043721165180373329_r8, 0.00058818198930773329_r8, & + 0.00070640646553244443_r8, 0.00083617230346595542_r8, & + 0.0010298107054691555_r8, 0.0012893164748003555_r8, & + 0.0015576045597752886_r8, 0.0018502966014947552_r8, & + 0.0023560180872803553_r8, 0.0028445376332800003_r8, & + 0.0033081739516223991_r8, 0.0036991294837155548_r8, & + 0.0039772102392312877_r8, 0.0041131677392263104_r8, & + 0.0041154475143786659_r8, 0.0039815884437852432_r8, & + 0.0037874966774051537_r8, 0.0035950499760497778_r8, & + 0.0034694291838478224_r8, 0.0033351037956096002_r8, & + 0.0034664240256924443_r8, 0.0038032996642567104_r8, & + 0.0041975712329351111_r8, 0.0046112986100159993_r8, & + 0.0049795211569251549_r8, 0.0052174856417201761_r8, & + 0.0053509431610083546_r8, 0.005420411536815644_r8, & + 0.0054677557310307554_r8, 0.005505475647187911_r8, & + 0.0055363562378880002_r8, 0.0055698260943201775_r8, & + 0.0055919028576994654_r8, 0.0056125823798261866_r8, & + 0.0056921864795963992_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,19,91) / & + 0.00010674668912129051_r8, 0.00010890347454551437_r8, & + 9.8956720714060893e-05_r8, 0.00016883940633447244_r8, & + 0.00021874344802523123_r8, 0.00028726395337771196_r8, & + 0.00032602933350257769_r8, 0.00058688685481133815_r8, & + 0.0008205433388948541_r8, 0.0010320360148689117_r8, & + 0.0011702973120638945_r8, 0.0013280406249658468_r8, & + 0.0015278270642623735_r8, 0.0017621788278576458_r8, & + 0.001969514016138956_r8, 0.0021959764856824627_r8, 0.002607539388508866_r8, & + 0.0030306098767237263_r8, 0.0034779583903388964_r8, & + 0.0038601350917602502_r8, 0.0041248663132059382_r8, & + 0.0042475902417198341_r8, 0.0042217371953847298_r8, & + 0.0040860157968143273_r8, 0.0038917348361006874_r8, & + 0.0036952261430738694_r8, 0.0035581425642355353_r8, & + 0.0034456775558644932_r8, 0.0036836050426630853_r8, & + 0.0040360408082346132_r8, 0.0044581889868930621_r8, & + 0.0049041185627291383_r8, 0.0053273877022330714_r8, & + 0.0056675922241488054_r8, 0.0058397661342641507_r8, & + 0.0059180205527812205_r8, 0.0059727206041653193_r8, & + 0.0060187509457191486_r8, 0.006068640798032118_r8, 0.006101185909667876_r8, & + 0.0061284632147987472_r8, 0.0061279086128325187_r8, & + 0.0059956417703143682_r8, 0.0059857606423551991_r8, 9e90_r8 & + / +data delta_sa_ref(:,20,91) / & + 0.00020910791086511929_r8, 0.00023591740843693825_r8, & + 0.0002301174250727242_r8, 0.00026885082461405754_r8, & + 0.00033680009780385182_r8, 0.00039791587995548965_r8, & + 0.00048675126345152259_r8, 0.00081440404706660074_r8, & + 0.001034479479665646_r8, 0.0011780753443929547_r8, & + 0.0012854984405322799_r8, 0.0014131135000326584_r8, & + 0.0015968464836793414_r8, 0.0018150708577578934_r8, & + 0.0020138745428589298_r8, 0.0022305100917073906_r8, & + 0.0027180480550301235_r8, 0.0032027014521584197_r8, & + 0.003673255953555621_r8, 0.0040584149552073739_r8, & + 0.0042890722723485748_r8, 0.0043623896152478027_r8, & + 0.0042477936673415637_r8, 0.0040505016800322629_r8, & + 0.003804280045831243_r8, 0.0035871817323526582_r8, & + 0.0034689299438684443_r8, 0.0034120870218016124_r8, & + 0.0037169255091516048_r8, 0.0042004682711676046_r8, & + 0.0046788126438385511_r8, 0.0051385693038662056_r8, & + 0.0055449287101354905_r8, 0.0059420289674303869_r8, & + 0.0062356280588262546_r8, 0.0063790349613295962_r8, & + 0.0064646039978113416_r8, 0.0065221911996582883_r8, & + 0.0065236736992055032_r8, 0.0065258591602622889_r8, & + 0.0065465720092873691_r8, 0.0065439067053819676_r8, & + 0.006506105446024168_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,21,91) / & + 0.00027479972840233085_r8, 0.00033639765454696296_r8, & + 0.00034552821000470113_r8, 0.00037615222630273576_r8, & + 0.0004861187701368098_r8, 0.00058009018032229129_r8, & + 0.00076335109178153073_r8, 0.00099693002784363434_r8, & + 0.0011578810601825973_r8, 0.0012553847290488096_r8, & + 0.0013356769676452344_r8, 0.0014388622412762071_r8, & + 0.001616741456726597_r8, 0.0018842767285968591_r8, & + 0.0021704896513213626_r8, 0.0024037020322373523_r8, & + 0.0029102645825687693_r8, 0.0034250746236877423_r8, & + 0.0039436501858531548_r8, 0.0043096221760524633_r8, & + 0.0044979482131670898_r8, 0.004540535256506468_r8, & + 0.0043064897957129471_r8, 0.0040018158229023605_r8, & + 0.0036747153397886406_r8, 0.0033939174362680883_r8, & + 0.0032631405570932924_r8, 0.0032675892036393081_r8, & + 0.0036642018717342015_r8, 0.0043041904952509629_r8, & + 0.0048925781511534603_r8, 0.0053828789822754743_r8, & + 0.0057957741965767107_r8, 0.006142602011190359_r8, & + 0.0064443935276246901_r8, 0.0066593947824178552_r8, & + 0.006817884063718715_r8, 0.0069402938456378221_r8, & + 0.0070045777403190262_r8, 0.0070496302240502491_r8, & + 0.0070499796075499084_r8, 0.0070628287085499715_r8, & + 0.007071713505443839_r8, 0.0070812955901951987_r8, 9e90_r8 & + / +data delta_sa_ref(:,22,91) / & + 0.00034404762993559175_r8, 0.00039557512962786503_r8, & + 0.00038929303431977622_r8, 0.00047661594887295471_r8, & + 0.00061322914968959998_r8, 0.00072500033259277705_r8, & + 0.00088174845426868171_r8, 0.0010621752428750747_r8, & + 0.0011571225807936267_r8, 0.0012402216363932184_r8, & + 0.0013201706954850503_r8, 0.0014060796911512235_r8, & + 0.0016702856482395656_r8, 0.002073019860839612_r8, & + 0.0023794644074638226_r8, 0.0026275803255721877_r8, & + 0.0031635629699919539_r8, 0.0036424698254160066_r8, & + 0.0041614854431917042_r8, 0.0044922350765064702_r8, & + 0.0046508803551700015_r8, 0.0046478735403216861_r8, & + 0.0043323548560302355_r8, 0.0039408783014039444_r8, & + 0.0035690534295362898_r8, 0.0032440847557215604_r8, & + 0.0030589866654758191_r8, 0.0030855826587174711_r8, & + 0.0035221435383610733_r8, 0.0042530680121133299_r8, & + 0.0049813794205807414_r8, 0.0055357967036538738_r8, & + 0.0059886444970591876_r8, 0.0063245934143824995_r8, & + 0.0066011174686098498_r8, 0.0068127556217615253_r8, & + 0.0070374527092990609_r8, 0.0073152765845285487_r8, & + 0.0076550056255019405_r8, 0.0080082459654164991_r8, & + 0.008286566949469866_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,23,91) / & + 0.00080779149920574139_r8, 0.00074484124025489377_r8, & + 0.00068020720538074068_r8, 0.00057173759504871766_r8, & + 0.00068692317525665151_r8, 0.00092554101093325397_r8, & + 0.00094295278468561634_r8, 0.0012323709053210334_r8, & + 0.0013128094732934843_r8, 0.001398528974843575_r8, & + 0.0014765184142003093_r8, 0.0015436589791421097_r8, & + 0.0018878763525541924_r8, 0.0023020278282353773_r8, & + 0.0025804440039173789_r8, 0.0028830453246795843_r8, & + 0.0034677939154992977_r8, 0.0039266802560519367_r8, & + 0.0044479811086707349_r8, 0.0048103947423449008_r8, & + 0.0049204333256963684_r8, 0.0048970135333085748_r8, & + 0.0045641042459268737_r8, 0.004204254543772286_r8, & + 0.0038590422118600686_r8, 0.0035610521410696424_r8, & + 0.0033995244553361903_r8, 0.0033350626248178296_r8, & + 0.0037232112427743333_r8, 0.0044814270213291187_r8, & + 0.0052382842988548733_r8, 0.0058402150576192247_r8, & + 0.0063446948930951158_r8, 0.0067072639890349275_r8, & + 0.007022608432125787_r8, 0.0073461636745699201_r8, & + 0.0076457251101069547_r8, 0.0079943272027608731_r8, & + 0.0084714455428129311_r8, 0.0089359023526001512_r8, & + 0.008872209496532479_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,24,91) / & + 0.0011823306653999763_r8, 0.0010271362641238635_r8, & + 0.00094039704016288012_r8, 0.00061770378309146086_r8, & + 0.00072521422180821336_r8, 0.0010504618677492743_r8, & + 0.00094891879920286826_r8, 0.0014276925493831704_r8, & + 0.0014811452753227736_r8, 0.0015728191141455646_r8, & + 0.0016707047622649834_r8, 0.0017075570160409955_r8, & + 0.0020332507633875202_r8, 0.0024197701318201133_r8, & + 0.0027347391125010371_r8, 0.0030850723237767349_r8, & + 0.0036968362360995555_r8, 0.0041913885318813271_r8, & + 0.0047436620718453925_r8, 0.0051460210956610257_r8, & + 0.0052372702215019024_r8, 0.0051885260042322965_r8, & + 0.0048472125967163856_r8, 0.0045117351733404455_r8, & + 0.0041578331508210376_r8, 0.003848159332713185_r8, 0.0036930321521968_r8, & + 0.0036364292170172445_r8, 0.0040465522385813918_r8, & + 0.004837786412909155_r8, 0.0056164930820149931_r8, & + 0.0062603457406404132_r8, 0.0067925412799333994_r8, & + 0.0071985183847541332_r8, 0.0075329111095072_r8, 0.0079046686463292003_r8, & + 0.0082572453504607991_r8, 0.0086346746388848011_r8, & + 0.0091320013187498657_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,25,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,26,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,27,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,28,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,29,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,30,91) / & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,31,91) / & + 0.0046943892094801062_r8, 0.0049692022189388799_r8, & + 0.0023400245476070392_r8, 0.00045371181202346662_r8, & + 0.00054986110275797326_r8, 0.00061333373967317327_r8, & + 0.0007978745544081064_r8, 0.0010282567180262398_r8, & + 0.0014686862930655996_r8, 0.0022941244277637327_r8, & + 0.0024595646804639994_r8, 0.0011131219844202666_r8, & + 0.0011783577501386666_r8, 0.0013141186679850663_r8, & + 0.0014448840542223998_r8, 0.001550965637214933_r8, & + 0.0017187567283194665_r8, 0.0019976249340255994_r8, & + 0.0020646238285471994_r8, 0.0021128160158346665_r8, & + 0.0020898953413930666_r8, 0.0020399400253023996_r8, & + 0.0018800830138122665_r8, 0.0020287735428821331_r8, & + 0.0018765567562058663_r8, 0.001948845037137066_r8, & + 0.0018301276977215994_r8, 0.0012866922199352888_r8, & + 0.0013752404664959996_r8, 0.0012224359702186665_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,32,91) / & + 0.0052514098104560637_r8, 0.0056614990868039125_r8, & + 0.0037922534740623317_r8, 0.00048817626887611663_r8, & + 0.00065528805777315363_r8, 0.00082586517778231324_r8, & + 0.00072625414408873873_r8, 0.0014518618303958322_r8, & + 0.0031702724041895703_r8, 0.0033640200808084443_r8, & + 0.0034520343027548343_r8, 0.0014465553003206201_r8, & + 0.0011927710181960057_r8, 0.0013379756807208217_r8, & + 0.0014527287451942868_r8, 0.0015647046996589392_r8, & + 0.001745372466949586_r8, 0.0019432734889248591_r8, & + 0.0019347191082696457_r8, 0.0019107301428257773_r8, & + 0.0019559050275850744_r8, 0.002006639967988914_r8, 0.001920484069013633_r8, & + 0.0019171434968059727_r8, 0.0018031464702195669_r8, & + 0.001858760643127802_r8, 0.0018167084671713181_r8, 0.001661571567636227_r8, & + 0.0016784503079857332_r8, 0.0017330644813816889_r8, & + 0.0016635038085482667_r8, 0.0011249921567807997_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,33,91) / & + 0.0045742833717924555_r8, 0.0048836708901575524_r8, & + 0.0042843400492778658_r8, 0.00086432285649848872_r8, & + 0.0015587847796332116_r8, 0.0023701241599378771_r8, & + 0.0010471154127285331_r8, 0.0038669182417674654_r8, & + 0.0049698387089759993_r8, 0.0044613217934858663_r8, & + 0.0040936462059690659_r8, 0.0012412730377862357_r8, & + 0.0012588203019463107_r8, 0.0013492422060942218_r8, & + 0.0014464670121215998_r8, 0.0015215823870407105_r8, & + 0.0016857023948828442_r8, 0.0019137413349674664_r8, & + 0.001913528744283733_r8, 0.0019301108176149331_r8, & + 0.0022575004705642663_r8, 0.0021703382902335997_r8, & + 0.0020784991148607998_r8, 0.0020733969384511999_r8, & + 0.0018973718523199996_r8, 0.0016747894064511996_r8, & + 0.0013112593372671996_r8, 0.0015587148931327998_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,34,91) / & + 0.00016635455124953751_r8, 0.00020602135170622222_r8, & + 0.00023642192864432_r8, 0.00030740815953247995_r8, & + 0.00036904594430247462_r8, 0.00043183278489676086_r8, & + 0.00058260407983839991_r8, 0.00074746678525178646_r8, & + 0.00080331757083519986_r8, 0.00087092350501439999_r8, & + 0.00091466852124800005_r8, 0.00090010645146526374_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,35,91) / & + 0.00078738972710124834_r8, 0.00080395115529916037_r8, & + 0.00078204235266409871_r8, 0.00092599719741999996_r8, & + 0.00093064008030399993_r8, 0.00048905033044800001_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,36,91) / & + 0.00057149106304890771_r8, 0.00054948997740039782_r8, & + 0.00051950485847914666_r8, 0.0013419723701914308_r8, & + 0.0010738767717095464_r8, 0.00087331992031719984_r8, & + 0.0010365067661855997_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,37,91) / & + 0.00064254882254659415_r8, 0.00064647971803496302_r8, & + 0.00062004752044631428_r8, 0.00087261780414277517_r8, & + 0.00089562470230239346_r8, 0.00093046072628274557_r8, & + 0.0011808318948670576_r8, 0.0012154700075971555_r8, & + 0.001173610343368704_r8, 0.0011924414735701332_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8 & + / +data delta_sa_ref(:,38,91) / & + 0.00079421294120438849_r8, 0.00084892242655492983_r8, & + 0.00088985681982917521_r8, 0.0012530200507254187_r8, & + 0.0013728609970726025_r8, 0.0014639367255045662_r8, & + 0.0016403756399108709_r8, 0.0016746704051655325_r8, & + 0.0017371053792736861_r8, 0.0017657124947890073_r8, & + 0.0018017457136663873_r8, 0.0018484013954884629_r8, & + 0.0019449969832830236_r8, 0.001992395409996539_r8, & + 0.0020665972393141886_r8, 0.0021251279587538602_r8, & + 0.0023043200078021486_r8, 0.0025254052907218568_r8, & + 0.0027409635828515677_r8, 0.0029263099191905576_r8, & + 0.0030721817865437314_r8, 0.0031617834623877011_r8, & + 0.0032406080713231603_r8, 0.0033181611332977297_r8, & + 0.0034124760098767286_r8, 0.0035294357249992013_r8, & + 0.0036267118931671148_r8, 0.003768130520497264_r8, & + 0.0039143937417484001_r8, 0.0037664674178055622_r8, & + 0.0037897185622332435_r8, 0.0037993823191359993_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,39,91) / & + 0.00098282857114137274_r8, 0.0010340751159269134_r8, & + 0.0010798351285827947_r8, 0.0015414820589819257_r8, & + 0.001695999924846301_r8, 0.0017859634871425578_r8, & + 0.0019115700524939064_r8, 0.0019075232486535896_r8, & + 0.0019093910042721973_r8, 0.0018823085478023897_r8, & + 0.0018877561683566613_r8, 0.0019110252904384788_r8, & + 0.0020075649089752491_r8, 0.0020481496821045725_r8, & + 0.0020864775838614126_r8, 0.0021297083441170961_r8, & + 0.0022621244351612836_r8, 0.0024406118314644538_r8, & + 0.0026051688837788441_r8, 0.0028114780564841868_r8, & + 0.0029342051652568486_r8, 0.0030691894202766216_r8, & + 0.0031588027783943894_r8, 0.0032823470302501918_r8, & + 0.0033779527709776581_r8, 0.0035027032816704784_r8, & + 0.0036081536509710212_r8, 0.0037647894182957818_r8, & + 0.0039488867520105549_r8, 0.0039091152308068349_r8, & + 0.0039370683337759402_r8, 0.003972988581805669_r8, & + 0.0039269270044405323_r8, 0.0039727599763002656_r8, & + 0.0035261183221599996_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,40,91) / & + 0.0013265598166083943_r8, 0.0013390055990413167_r8, & + 0.0013347499444029626_r8, 0.0015437186462202467_r8, & + 0.0016235322445320162_r8, 0.0017021414122857608_r8, & + 0.0018639767315990123_r8, 0.0018740939482864193_r8, & + 0.0018879047520184357_r8, 0.0018977810825942379_r8, & + 0.0019114714432704523_r8, 0.0019417427979621399_r8, & + 0.0019950187763120978_r8, 0.0020091507615262543_r8, & + 0.0020315531699055139_r8, 0.0020521890801330034_r8, & + 0.0021261009687104523_r8, 0.0022420876314482303_r8, & + 0.0023775057738554726_r8, 0.0025541957367176955_r8, & + 0.0026961178041382708_r8, 0.0028815599623888055_r8, & + 0.002995940717715884_r8, 0.003132844324478024_r8, 0.0032254248867048555_r8, & + 0.003325794099873579_r8, 0.0034318642843502883_r8, & + 0.0036068680444312743_r8, 0.0037469081891049381_r8, & + 0.0038290223931671239_r8, 0.0039115925602262779_r8, & + 0.0039820590604848242_r8, 0.0040984543693047886_r8, & + 0.0039954574901353073_r8, 0.0036340681011999996_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,41,91) / & + 0.0016599867909495043_r8, 0.0016722777781082599_r8, & + 0.001656924390108602_r8, 0.0017094818099457052_r8, & + 0.0017511552916590616_r8, 0.0017900146753023999_r8, & + 0.0019748760882255011_r8, 0.0020254057021003849_r8, & + 0.0020690242221856657_r8, 0.0021077594544435621_r8, & + 0.0021354452133971226_r8, 0.0021627171343992098_r8, & + 0.0022117155478536426_r8, 0.0022673353685316476_r8, & + 0.0023090088502450037_r8, 0.0023649183574890402_r8, & + 0.0024980914102731323_r8, 0.0025840041689989793_r8, & + 0.0027064588188399148_r8, 0.0028158361894142945_r8, & + 0.0029589827368288915_r8, 0.0031061848961679264_r8, & + 0.0031887455674868407_r8, 0.0032750307803690137_r8, & + 0.0033463350594078551_r8, 0.0034051000485170561_r8, & + 0.0034610095557610931_r8, 0.0035491311745529282_r8, & + 0.0035757150899606905_r8, 0.0035670030620858378_r8, & + 0.0035505677834416134_r8, 0.0035388217321853871_r8, & + 0.0035255818737236115_r8, 0.0035242233028486315_r8, & + 0.0035204100817243424_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,42,91) / & + 0.0018621915103517238_r8, 0.0019191743233730367_r8, & + 0.0019608565904895999_r8, 0.0021899385800105871_r8, & + 0.0022120583107196837_r8, 0.0022383547921214419_r8, & + 0.0023280270722985871_r8, 0.0021907483582061034_r8, & + 0.0021260513423748736_r8, 0.0021136063301069432_r8, & + 0.002111517954760612_r8, 0.0021081083623584393_r8, & + 0.0021182518997549032_r8, 0.0021667959715808392_r8, & + 0.0022073275012616687_r8, 0.0022632021967522761_r8, & + 0.0023824100711132439_r8, 0.0024921563265581821_r8, & + 0.0026424767315889777_r8, 0.0027990622626587651_r8, & + 0.0029648110733093923_r8, 0.0031201606271333915_r8, & + 0.0032175044902154263_r8, 0.0033180448461744981_r8, & + 0.0034074187870164543_r8, 0.0034772728113559698_r8, & + 0.0035501102290473869_r8, 0.0036945917070894613_r8, & + 0.0037741204498701435_r8, 0.0037966770346057666_r8, & + 0.0037860015094661964_r8, 0.0037696697140737348_r8, & + 0.0037290605552801775_r8, 0.0036282751348671993_r8, & + 0.0036334534533279989_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,43,91) / & + 0.0022034139009572875_r8, 0.0024150630288984495_r8, & + 0.0023841445383890173_r8, 0.0031668866924490792_r8, & + 0.0031148734587693821_r8, 0.0031780699762503648_r8, & + 0.0030951821080761415_r8, 0.0028049868574365495_r8, & + 0.0024364209081581567_r8, 0.0023643654756659621_r8, & + 0.0023254213344285498_r8, 0.0023015636623191439_r8, & + 0.0023120452498819159_r8, 0.0023523927835963519_r8, & + 0.0023863811951492738_r8, 0.0024104581473332149_r8, 0.00247111101594959_r8, & + 0.0025719798502356803_r8, 0.002671138299940398_r8, & + 0.0028069165220924578_r8, 0.0029562023968358721_r8, & + 0.003045010827022538_r8, 0.0031503529748291422_r8, 0.003291086926665692_r8, & + 0.0034222602672525173_r8, 0.0035275256670330331_r8, & + 0.0036358883978663574_r8, 0.0038117839096545908_r8, & + 0.0039057563855965567_r8, 0.003991605317920123_r8, & + 0.0040342474609859433_r8, 0.0040877859442126569_r8, & + 0.0041338275549482684_r8, 0.0041579449173173733_r8, & + 0.0041882055676031992_r8, 0.0041287039193781336_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,44,91) / & + 0.0027475533475112036_r8, 0.0030915160753851533_r8, & + 0.0029552476742793483_r8, 0.004117046269412057_r8, 0.004081919504203114_r8, & + 0.0041056830539657734_r8, 0.003823406352800211_r8, & + 0.0032763937870111601_r8, 0.0024973371470690766_r8, & + 0.0024417836493317007_r8, 0.0024327652243743346_r8, & + 0.0024260915899058837_r8, 0.0024419189257060612_r8, & + 0.0025177187874727241_r8, 0.0025169071292265618_r8, & + 0.0025360712822609646_r8, 0.0024748361768004482_r8, & + 0.0025852667904033978_r8, 0.0026588120459307193_r8, & + 0.0027615769983199085_r8, 0.0028930656341983082_r8, & + 0.0029247203057986633_r8, 0.0030751927262123195_r8, & + 0.0032474897350228018_r8, 0.0033625197453540086_r8, & + 0.0034881013128853331_r8, 0.003595104925004484_r8, & + 0.0038999276885634637_r8, 0.0039898413853884053_r8, & + 0.0040723148816235203_r8, 0.0040983330376255216_r8, & + 0.0041629049603202628_r8, 0.0042160516658971432_r8, & + 0.0042367908224330295_r8, 0.0042704359892561166_r8, & + 0.0042504803083884017_r8, 0.0042539414510523984_r8, & + 0.0042521422752734026_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / +data delta_sa_ref(:,45,91) / & + 0.0027709380436479998_r8, 0.0034233785724586668_r8, & + 0.0033516624651946663_r8, 0.0042568698423466663_r8, & + 0.0043959472028159991_r8, 0.0044625208760319997_r8, & + 0.004163703762431999_r8, 0.0029745043067733331_r8, & + 0.0024534506514773328_r8, 0.0024749932805973335_r8, & + 0.0024585930855253327_r8, 0.0024408956998826664_r8, & + 0.0023728395231573333_r8, 0.002443397424554667_r8, & + 0.0024660519313066667_r8, 0.0025153451729919988_r8, & + 0.0025020026414079989_r8, 0.0025556507371520005_r8, & + 0.0026370494454613334_r8, 0.0027450405604693331_r8, & + 0.0028730918010879997_r8, 0.002979600412586666_r8, 0.003127943419989333_r8, & + 0.0032885170813439996_r8, 0.0034492297274026653_r8, & + 0.0035997964900693321_r8, 0.0037835342687573322_r8, & + 0.0041308107158186677_r8, 0.0041600438318933342_r8, & + 0.0041711626082133321_r8, 0.004193678130261334_r8, & + 0.0042307870462293335_r8, 0.0042651162681173341_r8, & + 0.0042712779233279995_r8, 0.0042891142936746663_r8, & + 0.0043009279935146659_r8, 0.0043644903314773329_r8, & + 0.0043699107349333332_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, 9e90_r8, & + 9e90_r8, 9e90_r8 & + / + +integer, dimension(ny,nx) :: ndepth_ref +data ndepth_ref / & + 999, 999, 999, 999, 39, 41, 42, 43, 38, 37, 40, 41, 41, 41, 40, 43, 43, 43, & + 44, 43, 44, 41, 41, 39, 999, 999, 999, 999, 999, 999, 30, 32, 28, 12, 6, 7, & + 10, 32, 35, 35, 35, 35, 36, 38, 38, 999, 999, 999, 999, 39, 40, 42, 43, 38, & + 38, 41, 42, 42, 42, 43, 42, 42, 43, 42, 43, 44, 41, 39, 37, 999, 999, 999, & + 999, 999, 999, 4, 32, 31, 999, 4, 6, 14, 28, 32, 34, 34, 35, 36, 38, 38, & + 999, 999, 999, 999, 37, 41, 43, 43, 41, 38, 40, 42, 42, 42, 41, 41, 40, 42, & + 42, 42, 40, 39, 35, 7, 999, 999, 999, 999, 999, 999, 4, 32, 32, 24, 999, 5, & + 15, 15, 30, 33, 34, 33, 36, 38, 38, 999, 999, 999, 999, 35, 42, 43, 43, 41, & + 40, 41, 43, 42, 41, 40, 40, 37, 37, 37, 38, 37, 27, 999, 999, 999, 999, & + 999, 999, 999, 999, 20, 32, 32, 6, 999, 4, 14, 11, 21, 33, 31, 30, 36, 38, & + 38, 999, 999, 999, 999, 37, 41, 43, 43, 42, 41, 41, 43, 41, 40, 34, 27, 11, & + 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 27, 36, 36, 28, & + 6, 999, 45, 45, 45, 13, 31, 28, 20, 36, 38, 38, 999, 999, 999, 999, 37, 41, & + 43, 42, 40, 41, 41, 41, 41, 34, 8, 999, 999, 999, 999, 999, 999, 999, 999, & + 999, 999, 999, 999, 999, 999, 27, 36, 36, 24, 999, 999, 45, 45, 45, 45, 15, & + 16, 13, 36, 38, 38, 999, 999, 999, 999, 37, 41, 42, 42, 42, 43, 43, 42, 42, & + 39, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, & + 999, 28, 36, 33, 21, 999, 999, 999, 45, 45, 45, 15, 16, 12, 36, 38, 38, & + 999, 999, 999, 999, 37, 41, 43, 43, 43, 44, 44, 43, 39, 39, 31, 999, 999, & + 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 32, 38, 38, & + 999, 999, 999, 999, 45, 45, 999, 15, 16, 13, 36, 38, 38, 999, 999, 999, & + 999, 35, 41, 42, 43, 43, 43, 43, 43, 40, 39, 35, 27, 999, 999, 999, 999, & + 999, 999, 999, 999, 999, 999, 999, 999, 22, 22, 32, 31, 999, 999, 999, 999, & + 45, 45, 999, 15, 15, 14, 36, 38, 38, 999, 999, 999, 999, 33, 41, 42, 42, & + 43, 41, 40, 41, 44, 43, 41, 40, 34, 29, 999, 999, 999, 999, 999, 999, 999, & + 999, 19, 28, 25, 22, 29, 21, 999, 999, 999, 999, 999, 999, 999, 13, 14, 14, & + 36, 38, 38, 999, 999, 999, 999, 34, 40, 42, 42, 39, 39, 38, 41, 42, 42, 41, & + 40, 36, 32, 33, 34, 34, 33, 999, 999, 999, 27, 28, 28, 6, 999, 999, 999, & + 999, 999, 999, 999, 999, 999, 6, 14, 14, 14, 36, 38, 38, 999, 999, 999, & + 999, 17, 39, 42, 42, 40, 37, 36, 38, 40, 40, 39, 38, 34, 33, 36, 37, 39, & + 39, 37, 999, 28, 26, 8, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, & + 999, 6, 13, 14, 14, 36, 38, 38, 999, 999, 999, 999, 999, 39, 42, 42, 41, & + 38, 36, 38, 38, 38, 40, 41, 39, 38, 35, 40, 41, 41, 41, 36, 29, 31, 999, & + 999, 5, 6, 999, 999, 999, 999, 999, 999, 999, 999, 5, 11, 14, 16, 35, 38, & + 38, 999, 999, 999, 999, 999, 39, 42, 42, 41, 39, 36, 39, 38, 42, 42, 42, & + 42, 40, 40, 40, 42, 41, 41, 41, 41, 35, 31, 999, 7, 6, 999, 999, 999, 999, & + 999, 999, 999, 999, 5, 9, 13, 14, 35, 38, 38, 999, 999, 999, 999, 999, 39, & + 41, 41, 41, 39, 39, 41, 41, 43, 42, 42, 41, 40, 40, 39, 37, 40, 41, 42, 41, & + 39, 37, 22, 31, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 14, 14, & + 14, 35, 39, 39, 999, 999, 999, 999, 999, 38, 41, 41, 40, 39, 41, 42, 43, & + 42, 42, 42, 41, 39, 37, 37, 39, 39, 40, 39, 39, 39, 37, 35, 34, 999, 999, & + 999, 999, 999, 999, 999, 999, 999, 999, 13, 16, 14, 35, 39, 39, 999, 999, & + 999, 999, 999, 37, 40, 41, 39, 39, 41, 41, 42, 41, 41, 42, 38, 37, 37, 37, & + 37, 39, 39, 39, 39, 38, 36, 36, 34, 999, 999, 999, 999, 999, 999, 999, 999, & + 999, 999, 10, 13, 16, 35, 38, 38, 999, 999, 999, 2, 13, 36, 39, 39, 39, 37, & + 38, 39, 39, 40, 40, 39, 38, 38, 37, 42, 37, 37, 37, 40, 39, 38, 36, 33, 12, & + 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 8, 13, 17, 34, 38, 38, & + 999, 999, 999, 2, 20, 35, 38, 38, 37, 31, 37, 38, 39, 40, 40, 37, 40, 41, & + 43, 42, 41, 39, 37, 38, 39, 38, 35, 8, 999, 999, 999, 999, 999, 999, 999, & + 999, 999, 999, 2, 2, 12, 17, 34, 38, 38, 999, 999, 999, 999, 21, 35, 37, & + 34, 34, 34, 35, 36, 37, 37, 39, 39, 40, 41, 42, 42, 42, 41, 39, 35, 32, 27, & + 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 2, 7, 16, & + 35, 38, 38, 999, 999, 999, 999, 16, 35, 36, 39, 39, 37, 35, 34, 35, 37, 39, & + 39, 42, 43, 41, 41, 42, 41, 39, 38, 35, 35, 21, 999, 999, 999, 999, 999, & + 999, 999, 999, 999, 999, 999, 999, 2, 6, 10, 35, 38, 38, 999, 999, 999, & + 999, 999, 35, 37, 39, 39, 38, 36, 34, 36, 36, 39, 40, 41, 43, 43, 43, 41, & + 41, 39, 37, 36, 34, 33, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, & + 999, 999, 2, 4, 15, 35, 38, 38, 999, 999, 999, 999, 999, 35, 38, 39, 39, & + 38, 36, 35, 36, 37, 38, 41, 41, 42, 43, 43, 43, 40, 39, 37, 36, 34, 32, 25, & + 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 4, 15, 35, 38, & + 38, 999, 999, 999, 999, 999, 35, 38, 39, 39, 37, 35, 35, 37, 39, 40, 42, & + 42, 43, 44, 44, 42, 40, 40, 39, 35, 34, 31, 23, 999, 999, 999, 999, 999, & + 999, 999, 999, 999, 999, 999, 999, 2, 12, 36, 38, 38, 999, 999, 999, 999, & + 999, 33, 38, 39, 38, 36, 34, 37, 39, 39, 39, 43, 45, 44, 45, 43, 42, 42, & + 42, 33, 34, 31, 20, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, & + 999, 999, 999, 8, 35, 38, 38, 999, 999, 999, 999, 999, 29, 39, 39, 37, 35, & + 36, 38, 39, 45, 39, 44, 45, 45, 45, 43, 45, 43, 17, 12, 7, 6, 999, 999, & + 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 2, 12, 35, 38, & + 38, 999, 999, 999, 999, 999, 35, 39, 39, 37, 35, 36, 39, 44, 45, 42, 43, & + 45, 45, 45, 45, 45, 15, 7, 7, 7, 4, 3, 999, 999, 999, 999, 999, 999, 999, & + 999, 999, 999, 999, 999, 999, 2, 26, 35, 38, 38, 999, 999, 999, 999, 999, & + 34, 38, 39, 38, 35, 37, 39, 43, 43, 44, 44, 43, 45, 45, 45, 33, 6, 8, 27, & + 29, 28, 24, 6, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, & + 2, 30, 35, 38, 38, 999, 999, 999, 999, 999, 34, 39, 39, 39, 36, 38, 39, 42, & + 42, 44, 44, 41, 43, 43, 45, 6, 5, 7, 32, 34, 34, 34, 13, 999, 999, 999, & + 999, 999, 999, 999, 999, 999, 999, 999, 999, 2, 33, 36, 38, 38, 999, 999, & + 999, 999, 999, 33, 39, 39, 39, 36, 38, 40, 42, 42, 39, 3, 25, 44, 44, 45, & + 26, 23, 19, 32, 34, 34, 34, 32, 2, 999, 999, 999, 999, 999, 999, 999, 999, & + 999, 999, 999, 6, 34, 36, 38, 38, 999, 999, 999, 999, 999, 36, 39, 40, 39, & + 39, 39, 41, 44, 42, 999, 999, 4, 44, 44, 43, 37, 29, 42, 40, 40, 34, 34, & + 39, 32, 5, 5, 6, 3, 999, 999, 999, 999, 999, 999, 999, 7, 34, 37, 37, 38, & + 999, 999, 999, 999, 999, 36, 39, 40, 40, 40, 40, 43, 44, 43, 999, 999, 999, & + 6, 31, 39, 39, 39, 42, 42, 45, 45, 44, 45, 34, 9, 8, 7, 999, 999, 999, 999, & + 999, 999, 999, 999, 7, 35, 37, 37, 38, 999, 999, 999, 999, 999, 36, 40, 40, & + 40, 40, 43, 43, 43, 43, 6, 999, 999, 999, 8, 33, 39, 39, 44, 45, 45, 45, & + 45, 45, 45, 25, 18, 19, 18, 999, 999, 999, 999, 999, 999, 2, 6, 35, 37, 37, & + 38, 999, 999, 999, 999, 999, 34, 40, 40, 39, 37, 41, 43, 43, 43, 6, 999, & + 999, 999, 5, 26, 38, 37, 40, 43, 45, 44, 45, 45, 43, 42, 35, 18, 19, 999, & + 999, 999, 999, 999, 999, 2, 5, 35, 37, 37, 38, 999, 999, 999, 999, 999, 35, & + 39, 40, 38, 37, 40, 43, 43, 35, 3, 999, 999, 3, 6, 10, 32, 40, 41, 45, 45, & + 42, 44, 44, 43, 41, 40, 19, 19, 18, 999, 7, 7, 999, 999, 2, 4, 34, 37, 37, & + 38, 999, 999, 999, 999, 999, 35, 39, 39, 37, 38, 40, 42, 43, 5, 999, 999, & + 999, 6, 6, 6, 5, 38, 38, 39, 45, 41, 42, 42, 42, 45, 45, 32, 23, 19, 18, & + 15, 14, 999, 999, 2, 3, 32, 34, 34, 38, 999, 999, 999, 999, 999, 36, 38, & + 38, 37, 38, 40, 40, 35, 999, 999, 999, 999, 26, 34, 32, 30, 38, 39, 38, 45, & + 45, 40, 45, 45, 45, 45, 45, 45, 34, 28, 27, 16, 999, 999, 2, 2, 27, 30, 33, & + 38, 999, 999, 999, 999, 17, 36, 37, 37, 38, 38, 38, 39, 38, 4, 999, 999, 6, & + 28, 39, 37, 40, 43, 43, 41, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 33, 27, & + 15, 999, 999, 2, 2, 23, 31, 34, 38, 999, 999, 999, 999, 19, 35, 36, 36, 39, & + 39, 39, 39, 40, 39, 39, 36, 31, 36, 39, 41, 41, 43, 42, 41, 45, 45, 45, 44, & + 45, 45, 45, 44, 45, 45, 34, 24, 19, 999, 999, 2, 4, 22, 32, 36, 38, 999, & + 999, 999, 999, 22, 35, 36, 42, 39, 39, 41, 40, 41, 40, 40, 40, 37, 37, 39, & + 39, 40, 36, 35, 40, 44, 45, 45, 44, 45, 45, 44, 43, 44, 45, 45, 18, 18, 12, & + 999, 3, 4, 29, 32, 37, 38, 20, 20, 20, 20, 31, 33, 37, 43, 42, 42, 41, 41, & + 41, 40, 37, 35, 35, 39, 39, 43, 36, 37, 37, 41, 43, 44, 44, 43, 45, 45, 44, & + 43, 43, 44, 45, 45, 10, 10, 999, 3, 5, 31, 33, 36, 38, 20, 20, 20, 20, 31, & + 33, 38, 41, 41, 41, 41, 40, 39, 34, 35, 35, 36, 40, 44, 44, 37, 39, 39, 41, & + 41, 43, 43, 45, 45, 45, 45, 43, 44, 45, 45, 45, 37, 6, 999, 5, 8, 31, 34, & + 36, 38, 21, 21, 21, 20, 33, 34, 40, 42, 42, 31, 38, 37, 34, 36, 38, 35, 43, & + 43, 43, 42, 40, 39, 40, 40, 40, 43, 43, 45, 45, 45, 45, 45, 44, 45, 45, 45, & + 36, 12, 999, 5, 11, 31, 34, 36, 38, 20, 20, 20, 28, 35, 35, 42, 43, 43, 24, & + 28, 26, 30, 37, 37, 39, 42, 34, 36, 42, 42, 40, 40, 42, 43, 44, 43, 44, 45, & + 45, 44, 45, 45, 45, 45, 45, 36, 34, 999, 5, 12, 31, 33, 36, 38, 20, 20, 20, & + 29, 35, 36, 41, 42, 42, 40, 33, 33, 31, 37, 39, 39, 39, 36, 36, 41, 43, 42, & + 44, 45, 45, 44, 42, 43, 45, 44, 42, 43, 45, 45, 45, 37, 36, 35, 2, 5, 17, & + 30, 32, 36, 38, 19, 19, 19, 30, 36, 36, 40, 41, 41, 41, 40, 36, 45, 45, 45, & + 38, 37, 36, 35, 43, 44, 44, 43, 44, 45, 44, 42, 43, 43, 42, 42, 44, 45, 44, & + 45, 36, 36, 34, 7, 6, 22, 27, 31, 36, 38, 18, 18, 18, 33, 37, 37, 40, 42, & + 43, 43, 41, 39, 44, 45, 45, 45, 45, 33, 42, 43, 44, 44, 42, 44, 45, 44, 43, & + 43, 42, 44, 44, 45, 45, 44, 45, 36, 36, 12, 7, 6, 29, 31, 33, 36, 38, 20, & + 20, 20, 36, 37, 37, 39, 41, 43, 43, 41, 40, 43, 44, 44, 44, 45, 45, 45, 41, & + 45, 43, 43, 45, 44, 44, 43, 42, 42, 44, 45, 44, 45, 45, 45, 35, 35, 7, 6, & + 6, 29, 33, 36, 37, 38, 22, 22, 22, 37, 37, 37, 39, 40, 41, 41, 43, 43, 42, & + 43, 43, 45, 44, 44, 43, 43, 43, 45, 43, 45, 42, 43, 43, 41, 42, 44, 45, 45, & + 44, 45, 45, 45, 22, 6, 6, 6, 26, 34, 36, 37, 38, 30, 30, 30, 37, 38, 38, & + 38, 39, 41, 41, 43, 43, 42, 43, 43, 43, 43, 43, 43, 42, 41, 43, 42, 42, 42, & + 44, 43, 41, 41, 44, 44, 45, 44, 43, 44, 45, 8, 3, 4, 5, 29, 33, 36, 36, 38, & + 34, 34, 34, 37, 38, 38, 37, 39, 40, 41, 42, 42, 42, 43, 42, 42, 41, 41, 41, & + 43, 43, 41, 42, 39, 43, 44, 44, 40, 43, 44, 45, 45, 44, 43, 41, 45, 6, 2, & + 2, 7, 35, 36, 36, 36, 38, 35, 35, 35, 38, 39, 39, 36, 37, 40, 41, 42, 41, & + 43, 43, 43, 42, 40, 40, 41, 43, 42, 42, 40, 42, 43, 44, 42, 43, 44, 45, 44, & + 45, 43, 42, 41, 44, 12, 999, 999, 17, 37, 37, 36, 36, 38, 34, 34, 34, 38, & + 39, 39, 37, 35, 40, 41, 41, 41, 43, 43, 42, 42, 39, 39, 41, 42, 42, 42, 41, & + 41, 42, 44, 43, 43, 43, 44, 44, 44, 43, 43, 43, 42, 42, 7, 999, 33, 37, 37, & + 36, 35, 38, 11, 11, 11, 37, 39, 39, 38, 34, 38, 40, 42, 42, 43, 42, 41, 40, & + 40, 39, 41, 42, 42, 40, 41, 41, 42, 44, 43, 44, 42, 44, 43, 42, 42, 41, 40, & + 40, 42, 12, 999, 35, 36, 36, 36, 35, 38, 2, 2, 2, 37, 39, 39, 39, 35, 40, & + 40, 42, 43, 42, 41, 41, 39, 41, 40, 41, 41, 41, 39, 40, 42, 42, 44, 43, 44, & + 42, 44, 43, 44, 42, 40, 39, 37, 39, 7, 999, 34, 36, 36, 36, 35, 38, 999, & + 999, 999, 37, 38, 39, 40, 37, 40, 41, 43, 43, 42, 41, 40, 39, 39, 39, 39, & + 39, 39, 39, 39, 41, 41, 43, 43, 43, 42, 43, 43, 44, 39, 39, 38, 36, 35, 2, & + 999, 33, 35, 36, 36, 34, 38, 999, 999, 999, 38, 39, 40, 41, 39, 40, 41, 43, & + 42, 41, 40, 39, 38, 37, 39, 39, 39, 39, 39, 39, 40, 41, 41, 43, 42, 41, 41, & + 42, 42, 39, 38, 37, 35, 33, 999, 999, 31, 35, 36, 36, 34, 38, 999, 999, & + 999, 35, 38, 40, 40, 39, 39, 41, 41, 41, 41, 39, 38, 37, 37, 37, 38, 39, & + 39, 39, 39, 40, 41, 41, 42, 41, 40, 40, 41, 41, 39, 36, 36, 32, 11, 999, & + 999, 28, 35, 35, 36, 34, 38, 999, 999, 999, 33, 38, 41, 41, 39, 39, 38, 40, & + 40, 40, 39, 37, 37, 37, 37, 37, 39, 39, 39, 39, 40, 40, 40, 41, 40, 40, 39, & + 41, 40, 39, 33, 32, 13, 999, 999, 999, 16, 28, 35, 36, 34, 38, 999, 999, & + 999, 31, 38, 41, 42, 39, 38, 37, 39, 39, 39, 39, 36, 36, 36, 36, 37, 39, & + 39, 39, 39, 39, 40, 40, 40, 40, 39, 38, 39, 39, 36, 33, 27, 999, 999, 999, & + 999, 17, 17, 33, 35, 34, 38, 999, 999, 999, 31, 38, 41, 41, 41, 36, 37, 37, & + 40, 39, 38, 36, 35, 35, 35, 36, 38, 38, 38, 39, 38, 38, 39, 38, 38, 38, 38, & + 37, 27, 999, 999, 999, 999, 999, 999, 999, 17, 17, 31, 35, 34, 38, 999, & + 999, 999, 24, 39, 41, 41, 41, 35, 34, 36, 37, 38, 37, 35, 35, 34, 35, 35, & + 38, 38, 38, 37, 38, 38, 38, 37, 37, 38, 38, 27, 6, 999, 999, 999, 999, 999, & + 999, 6, 15, 17, 28, 35, 33, 38, 999, 999, 999, 21, 38, 41, 41, 41, 37, 35, & + 33, 34, 34, 34, 33, 35, 37, 35, 35, 36, 37, 37, 37, 38, 37, 38, 36, 36, 36, & + 20, 999, 999, 999, 999, 999, 999, 999, 999, 10, 10, 16, 19, 32, 32, 38, & + 999, 999, 999, 28, 38, 41, 41, 42, 38, 36, 35, 35, 36, 35, 34, 36, 36, 37, & + 36, 36, 36, 36, 36, 37, 37, 38, 38, 37, 32, 999, 999, 999, 999, 999, 999, & + 999, 999, 999, 7, 7, 15, 17, 31, 32, 38, 999, 999, 999, 26, 39, 41, 42, 42, & + 39, 38, 38, 37, 37, 36, 35, 36, 37, 37, 38, 39, 38, 35, 35, 36, 35, 35, 38, & + 30, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 6, 13, 16, 16, 31, & + 32, 38, 999, 999, 999, 12, 39, 40, 42, 41, 39, 39, 38, 39, 39, 36, 35, 36, & + 37, 37, 37, 38, 38, 35, 35, 35, 37, 40, 40, 2, 2, 999, 999, 999, 999, 999, & + 999, 999, 999, 999, 6, 11, 13, 18, 29, 32, 38, 999, 999, 999, 17, 39, 40, & + 42, 42, 42, 40, 38, 38, 37, 36, 36, 36, 37, 38, 37, 37, 37, 35, 35, 36, 39, & + 44, 32, 34, 34, 7, 999, 999, 999, 999, 999, 999, 7, 7, 2, 15, 15, 16, 28, & + 31, 38, 17, 17, 17, 18, 39, 40, 41, 42, 42, 40, 38, 38, 36, 37, 36, 37, 38, & + 38, 38, 37, 37, 36, 34, 36, 37, 42, 27, 36, 36, 17, 999, 999, 999, 999, & + 999, 999, 9, 10, 999, 13, 16, 16, 27, 30, 38, 17, 17, 17, 17, 37, 39, 41, & + 43, 42, 40, 39, 37, 37, 37, 36, 37, 38, 39, 39, 39, 37, 35, 34, 35, 40, 40, & + 39, 38, 36, 32, 999, 999, 999, 999, 999, 6, 12, 12, 7, 10, 17, 16, 27, 31, & + 38, 17, 17, 17, 17, 37, 39, 41, 42, 41, 39, 38, 38, 38, 37, 37, 37, 39, 39, & + 40, 39, 39, 38, 35, 36, 36, 27, 41, 39, 34, 22, 999, 999, 999, 999, 999, 8, & + 12, 12, 14, 8, 19, 16, 27, 31, 38, 17, 17, 17, 17, 36, 39, 41, 42, 40, 38, & + 36, 38, 38, 38, 37, 39, 39, 39, 41, 41, 39, 38, 36, 36, 35, 36, 45, 38, 28, & + 22, 17, 999, 999, 999, 2, 8, 10, 13, 16, 6, 20, 15, 27, 31, 38, 17, 17, 17, & + 15, 36, 37, 40, 41, 38, 37, 36, 38, 39, 40, 39, 39, 41, 41, 41, 26, 999, & + 999, 28, 36, 35, 37, 43, 40, 42, 42, 40, 32, 6, 999, 999, 7, 8, 15, 11, 8, & + 21, 17, 25, 31, 38, 17, 17, 17, 2, 21, 36, 39, 39, 38, 7, 2, 15, 38, 41, & + 44, 45, 45, 45, 999, 999, 999, 999, 999, 999, 30, 38, 38, 42, 42, 42, 42, & + 38, 16, 2, 999, 999, 2, 15, 8, 28, 28, 19, 19, 31, 38, 17, 17, 17, 2, 21, & + 34, 38, 38, 28, 9, 8, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, & + 999, 999, 999, 28, 41, 45, 45, 43, 42, 42, 41, 36, 12, 14, 999, 13, 19, 21, & + 29, 30, 17, 17, 30, 38, 17, 17, 17, 17, 9, 19, 38, 38, 39, 13, 9, 9, 2, & + 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 36, 40, 45, 45, 44, & + 42, 41, 41, 40, 12, 14, 999, 13, 19, 27, 30, 30, 16, 19, 29, 38, 17, 17, & + 17, 18, 18, 18, 40, 39, 39, 31, 35, 31, 7, 2, 999, 999, 999, 999, 999, 999, & + 999, 999, 999, 8, 33, 43, 45, 45, 45, 44, 42, 41, 41, 28, 16, 16, 32, 32, & + 27, 29, 29, 16, 19, 27, 38, 17, 17, 17, 22, 23, 28, 40, 40, 40, 44, 45, 43, & + 38, 6, 999, 999, 999, 999, 999, 999, 999, 999, 999, 29, 40, 43, 44, 45, 45, & + 45, 42, 42, 41, 34, 14, 33, 34, 34, 23, 18, 19, 999, 17, 29, 38, 16, 16, & + 16, 28, 34, 35, 37, 41, 40, 45, 45, 44, 42, 38, 12, 999, 999, 999, 999, & + 999, 999, 2, 4, 38, 41, 42, 43, 45, 45, 44, 43, 42, 42, 32, 31, 35, 35, 34, & + 21, 17, 2, 999, 17, 31, 38, 16, 16, 16, 28, 36, 39, 39, 40, 41, 45, 45, 44, & + 42, 40, 36, 30, 2, 999, 999, 999, 999, 6, 35, 38, 41, 41, 40, 40, 40, 42, & + 43, 42, 42, 37, 37, 37, 36, 33, 2, 999, 999, 999, 16, 33, 38, 19, 19, 19, & + 33, 37, 39, 41, 41, 39, 45, 45, 41, 41, 41, 37, 34, 23, 999, 999, 999, 999, & + 36, 38, 40, 41, 40, 41, 40, 40, 39, 41, 41, 41, 40, 38, 37, 35, 24, 999, & + 999, 999, 999, 16, 33, 38, 24, 24, 24, 37, 38, 40, 40, 37, 36, 45, 45, 42, & + 41, 40, 39, 38, 35, 32, 34, 999, 999, 38, 39, 40, 41, 43, 44, 44, 43, 40, & + 37, 41, 41, 40, 39, 37, 35, 33, 18, 999, 999, 999, 16, 34, 38, 22, 22, 22, & + 36, 38, 40, 40, 35, 38, 44, 44, 42, 41, 40, 38, 39, 40, 39, 39, 40, 37, 39, & + 39, 39, 44, 45, 45, 44, 45, 41, 36, 39, 39, 39, 39, 35, 33, 33, 29, 999, & + 999, 999, 16, 35, 38, 21, 21, 21, 36, 39, 40, 40, 39, 45, 42, 42, 42, 41, & + 39, 39, 42, 42, 40, 42, 42, 42, 40, 39, 40, 45, 45, 43, 45, 45, 41, 37, 35, & + 37, 38, 38, 37, 32, 33, 31, 11, 999, 999, 15, 35, 38, 16, 16, 16, 37, 39, & + 40, 44, 45, 45, 41, 41, 40, 39, 39, 41, 43, 43, 43, 43, 43, 43, 43, 38, 40, & + 44, 44, 41, 43, 44, 42, 41, 36, 33, 35, 36, 36, 34, 29, 29, 16, 2, 999, 17, & + 36, 38, 7, 7, 7, 37, 40, 41, 45, 45, 45, 40, 41, 40, 38, 40, 41, 43, 44, & + 43, 43, 45, 43, 44, 40, 40, 43, 42, 39, 42, 43, 42, 42, 39, 38, 38, 38, 37, & + 34, 31, 26, 26, 16, 2, 28, 37, 38, 999, 999, 999, 37, 40, 41, 41, 41, 41, & + 40, 39, 38, 37, 37, 39, 42, 43, 43, 43, 45, 43, 44, 41, 40, 41, 40, 36, 39, & + 40, 41, 42, 44, 43, 40, 40, 39, 33, 32, 22, 27, 23, 12, 35, 37, 38, 999, & + 999, 999, 32, 40, 41, 41, 41, 41, 38, 37, 35, 35, 36, 37, 39, 39, 39, 39, & + 39, 39, 40, 42, 40, 39, 34, 32, 31, 36, 39, 41, 42, 42, 42, 40, 39, 31, 31, & + 26, 27, 30, 13, 37, 37, 38, 999, 999, 999, 15, 40, 41, 42, 41, 39, 37, 37, & + 39, 37, 37, 37, 37, 39, 37, 37, 36, 36, 40, 41, 40, 3, 999, 999, 999, 28, & + 37, 40, 42, 42, 41, 39, 32, 31, 28, 28, 30, 33, 17, 37, 38, 38, 999, 999, & + 999, 999, 40, 41, 42, 41, 37, 37, 37, 39, 38, 38, 39, 41, 41, 41, 39, 40, & + 40, 41, 41, 36, 999, 999, 999, 999, 999, 21, 38, 38, 41, 41, 32, 29, 29, & + 34, 34, 33, 35, 32, 36, 38, 38, 999, 999, 999, 999, 39, 41, 42, 41, 36, 37, & + 39, 40, 41, 40, 40, 43, 43, 42, 43, 43, 43, 41, 41, 35, 999, 999, 999, 999, & + 999, 999, 28, 28, 36, 40, 9, 8, 21, 34, 35, 35, 35, 35, 36, 38, 38, 999, & + 999, 999, 999, 39, 41, 42, 43, 38, 37, 40, 41, 41, 41, 40, 43, 43, 43, 44, & + 43, 44, 41, 41, 39, 999, 999, 999, 999, 999, 999, 30, 32, 28, 12, 6, 7, 10, & + 32, 35, 35, 35, 35, 36, 38, 38 & + / + + +contains + subroutine gsw_get_version (version_date, version_number) + implicit none + character(*), intent(out) :: version_date, version_number + version_date = gsw_version_date + version_number = gsw_version_number + end subroutine gsw_get_version +end module gsw_mod_saar_data +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_mod_specvol_coefficients.F90 b/src/int_recom/recom/gsw_mod_specvol_coefficients.F90 new file mode 100755 index 000000000..7bc89c7b5 --- /dev/null +++ b/src/int_recom/recom/gsw_mod_specvol_coefficients.F90 @@ -0,0 +1,313 @@ +!========================================================================== +module gsw_mod_specvol_coefficients +!========================================================================== + +use gsw_mod_kinds + +implicit none + +real (r8), parameter :: a000 = -1.56497346750e-5_r8 +real (r8), parameter :: a001 = 1.85057654290e-5_r8 +real (r8), parameter :: a002 = -1.17363867310e-6_r8 +real (r8), parameter :: a003 = -3.65270065530e-7_r8 +real (r8), parameter :: a004 = 3.14540999020e-7_r8 +real (r8), parameter :: a010 = 5.55242129680e-5_r8 +real (r8), parameter :: a011 = -2.34332137060e-5_r8 +real (r8), parameter :: a012 = 4.26100574800e-6_r8 +real (r8), parameter :: a013 = 5.73918103180e-7_r8 +real (r8), parameter :: a020 = -4.95634777770e-5_r8 +real (r8), parameter :: a021 = 2.37838968519e-5_r8 +real (r8), parameter :: a022 = -1.38397620111e-6_r8 +real (r8), parameter :: a030 = 2.76445290808e-5_r8 +real (r8), parameter :: a031 = -1.36408749928e-5_r8 +real (r8), parameter :: a032 = -2.53411666056e-7_r8 +real (r8), parameter :: a040 = -4.02698077700e-6_r8 +real (r8), parameter :: a041 = 2.53683834070e-6_r8 +real (r8), parameter :: a050 = 1.23258565608e-6_r8 +real (r8), parameter :: a100 = 3.50095997640e-5_r8 +real (r8), parameter :: a101 = -9.56770881560e-6_r8 +real (r8), parameter :: a102 = -5.56991545570e-6_r8 +real (r8), parameter :: a103 = -2.72956962370e-7_r8 +real (r8), parameter :: a110 = -7.48716846880e-5_r8 +real (r8), parameter :: a111 = -4.73566167220e-7_r8 +real (r8), parameter :: a112 = 7.82747741600e-7_r8 +real (r8), parameter :: a120 = 7.24244384490e-5_r8 +real (r8), parameter :: a121 = -1.03676320965e-5_r8 +real (r8), parameter :: a122 = 2.32856664276e-8_r8 +real (r8), parameter :: a130 = -3.50383492616e-5_r8 +real (r8), parameter :: a131 = 5.18268711320e-6_r8 +real (r8), parameter :: a140 = -1.65263794500e-6_r8 +real (r8), parameter :: a200 = -4.35926785610e-5_r8 +real (r8), parameter :: a201 = 1.11008347650e-5_r8 +real (r8), parameter :: a202 = 5.46207488340e-6_r8 +real (r8), parameter :: a210 = 7.18156455200e-5_r8 +real (r8), parameter :: a211 = 5.85666925900e-6_r8 +real (r8), parameter :: a212 = -1.31462208134e-6_r8 +real (r8), parameter :: a220 = -4.30608991440e-5_r8 +real (r8), parameter :: a221 = 9.49659182340e-7_r8 +real (r8), parameter :: a230 = 1.74814722392e-5_r8 +real (r8), parameter :: a300 = 3.45324618280e-5_r8 +real (r8), parameter :: a301 = -9.84471178440e-6_r8 +real (r8), parameter :: a302 = -1.35441856270e-6_r8 +real (r8), parameter :: a310 = -3.73971683740e-5_r8 +real (r8), parameter :: a311 = -9.76522784000e-7_r8 +real (r8), parameter :: a320 = 6.85899736680e-6_r8 +real (r8), parameter :: a400 = -1.19594097880e-5_r8 +real (r8), parameter :: a401 = 2.59092252600e-6_r8 +real (r8), parameter :: a410 = 7.71906784880e-6_r8 +real (r8), parameter :: a500 = 1.38645945810e-6_r8 + +real (r8), parameter :: b000 = -3.10389819760e-4_r8 +real (r8), parameter :: b003 = 3.63101885150e-7_r8 +real (r8), parameter :: b004 = -1.11471254230e-7_r8 +real (r8), parameter :: b010 = 3.50095997640e-5_r8 +real (r8), parameter :: b013 = -2.72956962370e-7_r8 +real (r8), parameter :: b020 = -3.74358423440e-5_r8 +real (r8), parameter :: b030 = 2.41414794830e-5_r8 +real (r8), parameter :: b040 = -8.75958731540e-6_r8 +real (r8), parameter :: b050 = -3.30527589000e-7_r8 +real (r8), parameter :: b100 = 1.33856134076e-3_r8 +real (r8), parameter :: b103 = 3.34926075600e-8_r8 +real (r8), parameter :: b110 = -8.71853571220e-5_r8 +real (r8), parameter :: b120 = 7.18156455200e-5_r8 +real (r8), parameter :: b130 = -2.87072660960e-5_r8 +real (r8), parameter :: b140 = 8.74073611960e-6_r8 +real (r8), parameter :: b200 = -2.55143801811e-3_r8 +real (r8), parameter :: b210 = 1.03597385484e-4_r8 +real (r8), parameter :: b220 = -5.60957525610e-5_r8 +real (r8), parameter :: b230 = 6.85899736680e-6_r8 +real (r8), parameter :: b300 = 2.32344279772e-3_r8 +real (r8), parameter :: b310 = -4.78376391520e-5_r8 +real (r8), parameter :: b320 = 1.54381356976e-5_r8 +real (r8), parameter :: b400 = -1.05461852535e-3_r8 +real (r8), parameter :: b410 = 6.93229729050e-6_r8 +real (r8), parameter :: b500 = 1.91594743830e-4_r8 +real (r8), parameter :: b001 = 2.42624687470e-5_r8 +real (r8), parameter :: b011 = -9.56770881560e-6_r8 +real (r8), parameter :: b021 = -2.36783083610e-7_r8 +real (r8), parameter :: b031 = -3.45587736550e-6_r8 +real (r8), parameter :: b041 = 1.29567177830e-6_r8 +real (r8), parameter :: b101 = -6.95849219480e-5_r8 +real (r8), parameter :: b111 = 2.22016695300e-5_r8 +real (r8), parameter :: b121 = 5.85666925900e-6_r8 +real (r8), parameter :: b131 = 6.33106121560e-7_r8 +real (r8), parameter :: b201 = 1.12412331915e-4_r8 +real (r8), parameter :: b211 = -2.95341353532e-5_r8 +real (r8), parameter :: b221 = -1.46478417600e-6_r8 +real (r8), parameter :: b301 = -6.92888744480e-5_r8 +real (r8), parameter :: b311 = 1.03636901040e-5_r8 +real (r8), parameter :: b401 = 1.54637136265e-5_r8 +real (r8), parameter :: b002 = -5.84844329840e-7_r8 +real (r8), parameter :: b012 = -5.56991545570e-6_r8 +real (r8), parameter :: b022 = 3.91373870800e-7_r8 +real (r8), parameter :: b032 = 7.76188880920e-9_r8 +real (r8), parameter :: b102 = -9.62445031940e-6_r8 +real (r8), parameter :: b112 = 1.09241497668e-5_r8 +real (r8), parameter :: b122 = -1.31462208134e-6_r8 +real (r8), parameter :: b202 = 1.47789320994e-5_r8 +real (r8), parameter :: b212 = -4.06325568810e-6_r8 +real (r8), parameter :: b302 = -7.12478989080e-6_r8 + +real (r8), parameter :: c000 = -6.07991438090e-5_r8 +real (r8), parameter :: c001 = 1.99712338438e-5_r8 +real (r8), parameter :: c002 = -3.39280843110e-6_r8 +real (r8), parameter :: c003 = 4.21246123200e-7_r8 +real (r8), parameter :: c004 = -6.32363064300e-8_r8 +real (r8), parameter :: c005 = 1.17681023580e-8_r8 +real (r8), parameter :: c010 = 1.85057654290e-5_r8 +real (r8), parameter :: c011 = -2.34727734620e-6_r8 +real (r8), parameter :: c012 = -1.09581019659e-6_r8 +real (r8), parameter :: c013 = 1.25816399608e-6_r8 +real (r8), parameter :: c020 = -1.17166068530e-5_r8 +real (r8), parameter :: c021 = 4.26100574800e-6_r8 +real (r8), parameter :: c022 = 8.60877154770e-7_r8 +real (r8), parameter :: c030 = 7.92796561730e-6_r8 +real (r8), parameter :: c031 = -9.22650800740e-7_r8 +real (r8), parameter :: c040 = -3.41021874820e-6_r8 +real (r8), parameter :: c041 = -1.26705833028e-7_r8 +real (r8), parameter :: c050 = 5.07367668140e-7_r8 +real (r8), parameter :: c100 = 2.42624687470e-5_r8 +real (r8), parameter :: c101 = -1.16968865968e-6_r8 +real (r8), parameter :: c102 = 1.08930565545e-6_r8 +real (r8), parameter :: c103 = -4.45885016920e-7_r8 +real (r8), parameter :: c110 = -9.56770881560e-6_r8 +real (r8), parameter :: c111 = -1.11398309114e-5_r8 +real (r8), parameter :: c112 = -8.18870887110e-7_r8 +real (r8), parameter :: c120 = -2.36783083610e-7_r8 +real (r8), parameter :: c121 = 7.82747741600e-7_r8 +real (r8), parameter :: c130 = -3.45587736550e-6_r8 +real (r8), parameter :: c131 = 1.55237776184e-8_r8 +real (r8), parameter :: c140 = 1.29567177830e-6_r8 +real (r8), parameter :: c200 = -3.47924609740e-5_r8 +real (r8), parameter :: c201 = -9.62445031940e-6_r8 +real (r8), parameter :: c202 = 5.02389113400e-8_r8 +real (r8), parameter :: c210 = 1.11008347650e-5_r8 +real (r8), parameter :: c211 = 1.09241497668e-5_r8 +real (r8), parameter :: c220 = 2.92833462950e-6_r8 +real (r8), parameter :: c221 = -1.31462208134e-6_r8 +real (r8), parameter :: c230 = 3.16553060780e-7_r8 +real (r8), parameter :: c300 = 3.74707773050e-5_r8 +real (r8), parameter :: c301 = 9.85262139960e-6_r8 +real (r8), parameter :: c310 = -9.84471178440e-6_r8 +real (r8), parameter :: c311 = -2.70883712540e-6_r8 +real (r8), parameter :: c320 = -4.88261392000e-7_r8 +real (r8), parameter :: c400 = -1.73222186120e-5_r8 +real (r8), parameter :: c401 = -3.56239494540e-6_r8 +real (r8), parameter :: c410 = 2.59092252600e-6_r8 +real (r8), parameter :: c500 = 3.09274272530e-6_r8 + +real (r8), parameter :: h001 = 1.07699958620e-3_r8 +real (r8), parameter :: h002 = -3.03995719050e-5_r8 +real (r8), parameter :: h003 = 3.32853897400e-6_r8 +real (r8), parameter :: h004 = -2.82734035930e-7_r8 +real (r8), parameter :: h005 = 2.10623061600e-8_r8 +real (r8), parameter :: h006 = -2.10787688100e-9_r8 +real (r8), parameter :: h007 = 2.80192913290e-10_r8 +real (r8), parameter :: h011 = -1.56497346750e-5_r8 +real (r8), parameter :: h012 = 9.25288271450e-6_r8 +real (r8), parameter :: h013 = -3.91212891030e-7_r8 +real (r8), parameter :: h014 = -9.13175163830e-8_r8 +real (r8), parameter :: h015 = 6.29081998040e-8_r8 +real (r8), parameter :: h021 = 2.77621064840e-5_r8 +real (r8), parameter :: h022 = -5.85830342650e-6_r8 +real (r8), parameter :: h023 = 7.10167624670e-7_r8 +real (r8), parameter :: h024 = 7.17397628980e-8_r8 +real (r8), parameter :: h031 = -1.65211592590e-5_r8 +real (r8), parameter :: h032 = 3.96398280870e-6_r8 +real (r8), parameter :: h033 = -1.53775133460e-7_r8 +real (r8), parameter :: h042 = -1.70510937410e-6_r8 +real (r8), parameter :: h043 = -2.11176388380e-8_r8 +real (r8), parameter :: h041 = 6.91113227020e-6_r8 +real (r8), parameter :: h051 = -8.05396155400e-7_r8 +real (r8), parameter :: h052 = 2.53683834070e-7_r8 +real (r8), parameter :: h061 = 2.05430942680e-7_r8 +real (r8), parameter :: h101 = -3.10389819760e-4_r8 +real (r8), parameter :: h102 = 1.21312343735e-5_r8 +real (r8), parameter :: h103 = -1.94948109950e-7_r8 +real (r8), parameter :: h104 = 9.07754712880e-8_r8 +real (r8), parameter :: h105 = -2.22942508460e-8_r8 +real (r8), parameter :: h111 = 3.50095997640e-5_r8 +real (r8), parameter :: h112 = -4.78385440780e-6_r8 +real (r8), parameter :: h113 = -1.85663848520e-6_r8 +real (r8), parameter :: h114 = -6.82392405930e-8_r8 +real (r8), parameter :: h121 = -3.74358423440e-5_r8 +real (r8), parameter :: h122 = -1.18391541805e-7_r8 +real (r8), parameter :: h123 = 1.30457956930e-7_r8 +real (r8), parameter :: h131 = 2.41414794830e-5_r8 +real (r8), parameter :: h132 = -1.72793868275e-6_r8 +real (r8), parameter :: h133 = 2.58729626970e-9_r8 +real (r8), parameter :: h141 = -8.75958731540e-6_r8 +real (r8), parameter :: h142 = 6.47835889150e-7_r8 +real (r8), parameter :: h151 = -3.30527589000e-7_r8 +real (r8), parameter :: h201 = 6.69280670380e-4_r8 +real (r8), parameter :: h202 = -1.73962304870e-5_r8 +real (r8), parameter :: h203 = -1.60407505320e-6_r8 +real (r8), parameter :: h204 = 4.18657594500e-9_r8 +real (r8), parameter :: h211 = -4.35926785610e-5_r8 +real (r8), parameter :: h212 = 5.55041738250e-6_r8 +real (r8), parameter :: h213 = 1.82069162780e-6_r8 +real (r8), parameter :: h221 = 3.59078227600e-5_r8 +real (r8), parameter :: h222 = 1.46416731475e-6_r8 +real (r8), parameter :: h223 = -2.19103680220e-7_r8 +real (r8), parameter :: h231 = -1.43536330480e-5_r8 +real (r8), parameter :: h232 = 1.58276530390e-7_r8 +real (r8), parameter :: h241 = 4.37036805980e-6_r8 +real (r8), parameter :: h301 = -8.50479339370e-4_r8 +real (r8), parameter :: h302 = 1.87353886525e-5_r8 +real (r8), parameter :: h303 = 1.64210356660e-6_r8 +real (r8), parameter :: h311 = 3.45324618280e-5_r8 +real (r8), parameter :: h312 = -4.92235589220e-6_r8 +real (r8), parameter :: h313 = -4.51472854230e-7_r8 +real (r8), parameter :: h321 = -1.86985841870e-5_r8 +real (r8), parameter :: h322 = -2.44130696000e-7_r8 +real (r8), parameter :: h331 = 2.28633245560e-6_r8 +real (r8), parameter :: h401 = 5.80860699430e-4_r8 +real (r8), parameter :: h402 = -8.66110930600e-6_r8 +real (r8), parameter :: h403 = -5.93732490900e-7_r8 +real (r8), parameter :: h411 = -1.19594097880e-5_r8 +real (r8), parameter :: h421 = 3.85953392440e-6_r8 +real (r8), parameter :: h412 = 1.29546126300e-6_r8 +real (r8), parameter :: h501 = -2.10923705070e-4_r8 +real (r8), parameter :: h502 = 1.54637136265e-6_r8 +real (r8), parameter :: h511 = 1.38645945810e-6_r8 +real (r8), parameter :: h601 = 3.19324573050e-5_r8 + +real (r8), parameter :: v000 = 1.0769995862e-3_r8 +real (r8), parameter :: v001 = -6.0799143809e-5_r8 +real (r8), parameter :: v002 = 9.9856169219e-6_r8 +real (r8), parameter :: v003 = -1.1309361437e-6_r8 +real (r8), parameter :: v004 = 1.0531153080e-7_r8 +real (r8), parameter :: v005 = -1.2647261286e-8_r8 +real (r8), parameter :: v006 = 1.9613503930e-9_r8 +real (r8), parameter :: v010 = -3.1038981976e-4_r8 +real (r8), parameter :: v011 = 2.4262468747e-5_r8 +real (r8), parameter :: v012 = -5.8484432984e-7_r8 +real (r8), parameter :: v013 = 3.6310188515e-7_r8 +real (r8), parameter :: v014 = -1.1147125423e-7_r8 +real (r8), parameter :: v020 = 6.6928067038e-4_r8 +real (r8), parameter :: v021 = -3.4792460974e-5_r8 +real (r8), parameter :: v022 = -4.8122251597e-6_r8 +real (r8), parameter :: v023 = 1.6746303780e-8_r8 +real (r8), parameter :: v030 = -8.5047933937e-4_r8 +real (r8), parameter :: v031 = 3.7470777305e-5_r8 +real (r8), parameter :: v032 = 4.9263106998e-6_r8 +real (r8), parameter :: v040 = 5.8086069943e-4_r8 +real (r8), parameter :: v041 = -1.7322218612e-5_r8 +real (r8), parameter :: v042 = -1.7811974727e-6_r8 +real (r8), parameter :: v050 = -2.1092370507e-4_r8 +real (r8), parameter :: v051 = 3.0927427253e-6_r8 +real (r8), parameter :: v060 = 3.1932457305e-5_r8 +real (r8), parameter :: v100 = -1.5649734675e-5_r8 +real (r8), parameter :: v101 = 1.8505765429e-5_r8 +real (r8), parameter :: v102 = -1.1736386731e-6_r8 +real (r8), parameter :: v103 = -3.6527006553e-7_r8 +real (r8), parameter :: v104 = 3.1454099902e-7_r8 +real (r8), parameter :: v110 = 3.5009599764e-5_r8 +real (r8), parameter :: v111 = -9.5677088156e-6_r8 +real (r8), parameter :: v112 = -5.5699154557e-6_r8 +real (r8), parameter :: v113 = -2.7295696237e-7_r8 +real (r8), parameter :: v120 = -4.3592678561e-5_r8 +real (r8), parameter :: v121 = 1.1100834765e-5_r8 +real (r8), parameter :: v122 = 5.4620748834e-6_r8 +real (r8), parameter :: v130 = 3.4532461828e-5_r8 +real (r8), parameter :: v131 = -9.8447117844e-6_r8 +real (r8), parameter :: v132 = -1.3544185627e-6_r8 +real (r8), parameter :: v140 = -1.1959409788e-5_r8 +real (r8), parameter :: v141 = 2.5909225260e-6_r8 +real (r8), parameter :: v150 = 1.3864594581e-6_r8 +real (r8), parameter :: v200 = 2.7762106484e-5_r8 +real (r8), parameter :: v201 = -1.1716606853e-5_r8 +real (r8), parameter :: v202 = 2.1305028740e-6_r8 +real (r8), parameter :: v203 = 2.8695905159e-7_r8 +real (r8), parameter :: v210 = -3.7435842344e-5_r8 +real (r8), parameter :: v211 = -2.3678308361e-7_r8 +real (r8), parameter :: v212 = 3.9137387080e-7_r8 +real (r8), parameter :: v220 = 3.5907822760e-5_r8 +real (r8), parameter :: v221 = 2.9283346295e-6_r8 +real (r8), parameter :: v222 = -6.5731104067e-7_r8 +real (r8), parameter :: v230 = -1.8698584187e-5_r8 +real (r8), parameter :: v231 = -4.8826139200e-7_r8 +real (r8), parameter :: v240 = 3.8595339244e-6_r8 +real (r8), parameter :: v300 = -1.6521159259e-5_r8 +real (r8), parameter :: v301 = 7.9279656173e-6_r8 +real (r8), parameter :: v302 = -4.6132540037e-7_r8 +real (r8), parameter :: v310 = 2.4141479483e-5_r8 +real (r8), parameter :: v311 = -3.4558773655e-6_r8 +real (r8), parameter :: v312 = 7.7618888092e-9_r8 +real (r8), parameter :: v320 = -1.4353633048e-5_r8 +real (r8), parameter :: v321 = 3.1655306078e-7_r8 +real (r8), parameter :: v330 = 2.2863324556e-6_r8 +real (r8), parameter :: v400 = 6.9111322702e-6_r8 +real (r8), parameter :: v401 = -3.4102187482e-6_r8 +real (r8), parameter :: v402 = -6.3352916514e-8_r8 +real (r8), parameter :: v410 = -8.7595873154e-6_r8 +real (r8), parameter :: v411 = 1.2956717783e-6_r8 +real (r8), parameter :: v420 = 4.3703680598e-6_r8 +real (r8), parameter :: v500 = -8.0539615540e-7_r8 +real (r8), parameter :: v501 = 5.0736766814e-7_r8 +real (r8), parameter :: v510 = -3.3052758900e-7_r8 +real (r8), parameter :: v600 = 2.0543094268e-7_r8 + +end module + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_mod_teos10_constants.F90 b/src/int_recom/recom/gsw_mod_teos10_constants.F90 new file mode 100755 index 000000000..e3c6afbce --- /dev/null +++ b/src/int_recom/recom/gsw_mod_teos10_constants.F90 @@ -0,0 +1,71 @@ +!========================================================================== +module gsw_mod_teos10_constants +!========================================================================== + +use gsw_mod_kinds + +implicit none + +real (r8), parameter :: db2pa = 1.0e4_r8 +real (r8), parameter :: rec_db2pa = 1.0e-4_r8 + +real (r8), parameter :: pa2db = 1.0e-4_r8 +real (r8), parameter :: rec_pa2db = 1.0e4_r8 + +real (r8), parameter :: pi = 3.141592653589793_r8 +real (r8), parameter :: deg2rad = pi/180.0_r8 +real (r8), parameter :: rad2deg = 180.0_r8/pi + +real (r8), parameter :: gamma = 2.26e-7_r8 + +! cp0 = The "specific heat" for use [ J/(kg K) ] +! with Conservative Temperature + +real (r8), parameter :: gsw_cp0 = 3991.86795711963_r8 + +! T0 = the Celcius zero point. [ K ] + +real (r8), parameter :: gsw_t0 = 273.15_r8 + +! P0 = Absolute Pressure of one standard atmosphere. [ Pa ] + +real (r8), parameter :: gsw_p0 = 101325.0_r8 + +! SSO = Standard Ocean Reference Salinity. [ g/kg ] + +real (r8), parameter :: gsw_sso = 35.16504_r8 +real (r8), parameter :: gsw_sqrtsso = 5.930011804372737_r8 + +! uPS = unit conversion factor for salinities [ g/kg ] + +real (r8), parameter :: gsw_ups = gsw_sso/35.0_r8 + +! sfac = 1/(40*gsw_ups) + +real (r8), parameter :: gsw_sfac = 0.0248826675584615_r8 + +! deltaS = 24, offset = deltaS*gsw_sfac + +real (r8), parameter :: offset = 5.971840214030754e-1_r8 + +! C3515 = Conductivity at (SP=35, t_68=15, p=0) [ mS/cm ] + +real (r8), parameter :: gsw_c3515 = 42.9140_r8 + +! SonCl = SP to Chlorinity ratio [ (g/kg)^-1 ] + +real (r8), parameter :: gsw_soncl = 1.80655_r8 + +! valence_factor = valence factor of sea salt of Reference Composition +! [ unitless ] + +real (r8), parameter :: gsw_valence_factor = 1.2452898_r8 + +! atomic_weight = mole-weighted atomic weight of sea salt of Reference +! Composition [ g/mol ] + +real (r8), parameter :: gsw_atomic_weight = 31.4038218_r8 + +end module + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_mod_toolbox.F90 b/src/int_recom/recom/gsw_mod_toolbox.F90 new file mode 100755 index 000000000..d52ad0831 --- /dev/null +++ b/src/int_recom/recom/gsw_mod_toolbox.F90 @@ -0,0 +1,1555 @@ +module gsw_mod_toolbox + +use gsw_mod_kinds + +implicit none + +public :: gsw_add_barrier +public :: gsw_add_mean +public :: gsw_adiabatic_lapse_rate_from_ct +public :: gsw_adiabatic_lapse_rate_ice +public :: gsw_alpha +public :: gsw_alpha_on_beta +public :: gsw_alpha_wrt_t_exact +public :: gsw_alpha_wrt_t_ice +public :: gsw_beta +public :: gsw_beta_const_t_exact +public :: gsw_c_from_sp +public :: gsw_cabbeling +public :: gsw_chem_potential_water_ice +public :: gsw_chem_potential_water_t_exact +public :: gsw_cp_ice +public :: gsw_ct_first_derivatives +public :: gsw_ct_first_derivatives_wrt_t_exact +public :: gsw_ct_freezing +public :: gsw_ct_freezing_exact +public :: gsw_ct_freezing_first_derivatives +public :: gsw_ct_freezing_first_derivatives_poly +public :: gsw_ct_freezing_poly +public :: gsw_ct_from_enthalpy +public :: gsw_ct_from_enthalpy_exact +public :: gsw_ct_from_entropy +public :: gsw_ct_from_pt +public :: gsw_ct_from_rho +public :: gsw_ct_from_t +public :: gsw_ct_maxdensity +public :: gsw_ct_second_derivatives +public :: gsw_deltasa_atlas +public :: gsw_deltasa_from_sp +public :: gsw_dilution_coefficient_t_exact +public :: gsw_dynamic_enthalpy +public :: gsw_enthalpy +public :: gsw_enthalpy_ct_exact +public :: gsw_enthalpy_diff +public :: gsw_enthalpy_first_derivatives +public :: gsw_enthalpy_first_derivatives_ct_exact +public :: gsw_enthalpy_ice +public :: gsw_enthalpy_second_derivatives +public :: gsw_enthalpy_second_derivatives_ct_exact +public :: gsw_enthalpy_sso_0 +public :: gsw_enthalpy_t_exact +public :: gsw_entropy_first_derivatives +public :: gsw_entropy_from_pt +public :: gsw_entropy_from_t +public :: gsw_entropy_ice +public :: gsw_entropy_part +public :: gsw_entropy_part_zerop +public :: gsw_entropy_second_derivatives +public :: gsw_fdelta +public :: gsw_frazil_properties +public :: gsw_frazil_properties_potential +public :: gsw_frazil_properties_potential_poly +public :: gsw_frazil_ratios_adiabatic +public :: gsw_frazil_ratios_adiabatic_poly +public :: gsw_geo_strf_dyn_height +public :: gsw_geo_strf_dyn_height_pc +public :: gsw_gibbs +public :: gsw_gibbs_ice +public :: gsw_gibbs_ice_part_t +public :: gsw_gibbs_ice_pt0 +public :: gsw_gibbs_ice_pt0_pt0 +public :: gsw_gibbs_pt0_pt0 +public :: gsw_grav +public :: gsw_helmholtz_energy_ice +public :: gsw_hill_ratio_at_sp2 +public :: gsw_ice_fraction_to_freeze_seawater +public :: gsw_internal_energy +public :: gsw_internal_energy_ice +public :: gsw_ipv_vs_fnsquared_ratio +public :: gsw_kappa +public :: gsw_kappa_const_t_ice +public :: gsw_kappa_ice +public :: gsw_kappa_t_exact +public :: gsw_latentheat_evap_ct +public :: gsw_latentheat_evap_t +public :: gsw_latentheat_melting +public :: gsw_linear_interp_sa_ct +public :: gsw_melting_ice_equilibrium_sa_ct_ratio +public :: gsw_melting_ice_equilibrium_sa_ct_ratio_poly +public :: gsw_melting_ice_into_seawater +public :: gsw_melting_ice_sa_ct_ratio +public :: gsw_melting_ice_sa_ct_ratio_poly +public :: gsw_melting_seaice_equilibrium_sa_ct_ratio +public :: gsw_melting_seaice_equilibrium_sa_ct_ratio_poly +public :: gsw_melting_seaice_into_seawater +public :: gsw_melting_seaice_sa_ct_ratio +public :: gsw_melting_seaice_sa_ct_ratio_poly +public :: gsw_mlp +public :: gsw_nsquared +public :: gsw_nsquared_lowerlimit +public :: gsw_nsquared_min +public :: gsw_nsquared_min_const_t +public :: gsw_p_from_z +public :: gsw_pot_enthalpy_from_pt_ice +public :: gsw_pot_enthalpy_from_pt_ice_poly +public :: gsw_pot_enthalpy_ice_freezing +public :: gsw_pot_enthalpy_ice_freezing_first_derivatives +public :: gsw_pot_enthalpy_ice_freezing_first_derivatives_poly +public :: gsw_pot_enthalpy_ice_freezing_poly +public :: gsw_pot_rho_t_exact +public :: gsw_pressure_coefficient_ice +public :: gsw_pressure_freezing_ct +public :: gsw_pt0_cold_ice_poly +public :: gsw_pt0_from_t +public :: gsw_pt0_from_t_ice +public :: gsw_pt_first_derivatives +public :: gsw_pt_from_ct +public :: gsw_pt_from_entropy +public :: gsw_pt_from_pot_enthalpy_ice +public :: gsw_pt_from_pot_enthalpy_ice_poly +public :: gsw_pt_from_pot_enthalpy_ice_poly_dh +public :: gsw_pt_from_t +public :: gsw_pt_from_t_ice +public :: gsw_pt_second_derivatives +public :: gsw_rho +public :: gsw_rho_alpha_beta +public :: gsw_rho_alpha_beta_bsq +public :: gsw_rho_first_derivatives +public :: gsw_rho_first_derivatives_wrt_enthalpy +public :: gsw_rho_ice +public :: gsw_rho_second_derivatives +public :: gsw_rho_second_derivatives_wrt_enthalpy +public :: gsw_rho_t_exact +public :: gsw_rr68_interp_sa_ct +public :: gsw_sa_freezing_estimate +public :: gsw_sa_freezing_from_ct +public :: gsw_sa_freezing_from_ct_poly +public :: gsw_sa_freezing_from_t +public :: gsw_sa_freezing_from_t_poly +public :: gsw_sa_from_rho +public :: gsw_sa_from_sp +public :: gsw_sa_from_sp_baltic +public :: gsw_sa_from_sstar +public :: gsw_sa_p_inrange +public :: gsw_saar +public :: gsw_seaice_fraction_to_freeze_seawater +public :: gsw_sigma0 +public :: gsw_sigma1 +public :: gsw_sigma2 +public :: gsw_sigma3 +public :: gsw_sigma4 +public :: gsw_sound_speed +public :: gsw_sound_speed_ice +public :: gsw_sound_speed_t_exact +public :: gsw_sp_from_c +public :: gsw_sp_from_sa +public :: gsw_sp_from_sa_baltic +public :: gsw_sp_from_sk +public :: gsw_sp_from_sr +public :: gsw_sp_from_sstar +public :: gsw_specvol +public :: gsw_specvol_alpha_beta +public :: gsw_specvol_anom_standard +public :: gsw_specvol_first_derivatives +public :: gsw_specvol_first_derivatives_wrt_enthalpy +public :: gsw_specvol_ice +public :: gsw_specvol_second_derivatives +public :: gsw_specvol_second_derivatives_wrt_enthalpy +public :: gsw_specvol_sso_0 +public :: gsw_specvol_t_exact +public :: gsw_spiciness0 +public :: gsw_spiciness1 +public :: gsw_spiciness2 +public :: gsw_sr_from_sp +public :: gsw_sstar_from_sa +public :: gsw_sstar_from_sp +public :: gsw_t_deriv_chem_potential_water_t_exact +public :: gsw_t_freezing +public :: gsw_t_freezing_exact +public :: gsw_t_freezing_first_derivatives +public :: gsw_t_freezing_first_derivatives_poly +public :: gsw_t_freezing_poly +public :: gsw_t_from_ct +public :: gsw_t_from_pt0_ice +public :: gsw_thermobaric +public :: gsw_turner_rsubrho +public :: gsw_util_indx +public :: gsw_util_interp1q_int +public :: gsw_util_sort_real +public :: gsw_util_xinterp1 +public :: gsw_z_from_p + +interface + + pure subroutine gsw_add_barrier (input_data, long, lat, long_grid, & + lat_grid, dlong_grid, dlat_grid, output_data) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: long, lat, long_grid, lat_grid, dlong_grid + real (r8), intent(in) :: dlat_grid + real (r8), intent(in), dimension(4) :: input_data + real (r8), intent(out), dimension(4) :: output_data + end subroutine gsw_add_barrier + + pure subroutine gsw_add_mean (data_in, data_out) + use gsw_mod_kinds + implicit none + real (r8), intent(in), dimension(4) :: data_in + real (r8), intent(out), dimension(4) :: data_out + end subroutine gsw_add_mean + + elemental function gsw_adiabatic_lapse_rate_from_ct (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_adiabatic_lapse_rate_from_ct + end function gsw_adiabatic_lapse_rate_from_ct + + elemental function gsw_adiabatic_lapse_rate_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_adiabatic_lapse_rate_ice + end function gsw_adiabatic_lapse_rate_ice + + elemental function gsw_alpha (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_alpha + end function gsw_alpha + + elemental function gsw_alpha_on_beta (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_alpha_on_beta + end function gsw_alpha_on_beta + + elemental function gsw_alpha_wrt_t_exact (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_alpha_wrt_t_exact + end function gsw_alpha_wrt_t_exact + + elemental function gsw_alpha_wrt_t_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_alpha_wrt_t_ice + end function gsw_alpha_wrt_t_ice + + elemental function gsw_beta (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_beta + end function gsw_beta + + elemental function gsw_beta_const_t_exact (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_beta_const_t_exact + end function gsw_beta_const_t_exact + + elemental function gsw_c_from_sp (sp, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sp, t, p + real (r8) :: gsw_c_from_sp + end function gsw_c_from_sp + + elemental function gsw_cabbeling (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_cabbeling + end function gsw_cabbeling + + elemental function gsw_chem_potential_water_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_chem_potential_water_ice + end function gsw_chem_potential_water_ice + + elemental function gsw_chem_potential_water_t_exact (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_chem_potential_water_t_exact + end function gsw_chem_potential_water_t_exact + + elemental function gsw_cp_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_cp_ice + end function gsw_cp_ice + + elemental subroutine gsw_ct_first_derivatives (sa, pt, ct_sa, ct_pt) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, pt + real (r8), intent(out), optional :: ct_sa, ct_pt + end subroutine gsw_ct_first_derivatives + + elemental subroutine gsw_ct_first_derivatives_wrt_t_exact (sa, t, p, & + ct_sa_wrt_t, ct_t_wrt_t, ct_p_wrt_t) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8), intent(out), optional :: ct_p_wrt_t, ct_sa_wrt_t, ct_t_wrt_t + end subroutine gsw_ct_first_derivatives_wrt_t_exact + + elemental function gsw_ct_freezing (sa, p, saturation_fraction, poly) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, saturation_fraction + logical, intent(in), optional :: poly + real (r8) :: gsw_ct_freezing + end function gsw_ct_freezing + + elemental function gsw_ct_freezing_exact (sa, p, saturation_fraction) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, saturation_fraction + real (r8) :: gsw_ct_freezing_exact + end function gsw_ct_freezing_exact + + elemental subroutine gsw_ct_freezing_first_derivatives (sa, p, & + saturation_fraction, ctfreezing_sa, ctfreezing_p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, saturation_fraction + real (r8), intent(out), optional :: ctfreezing_sa, ctfreezing_p + end subroutine gsw_ct_freezing_first_derivatives + + elemental subroutine gsw_ct_freezing_first_derivatives_poly (sa, p, & + saturation_fraction, ctfreezing_sa, ctfreezing_p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, saturation_fraction + real (r8), intent(out), optional :: ctfreezing_sa, ctfreezing_p + end subroutine gsw_ct_freezing_first_derivatives_poly + + elemental function gsw_ct_freezing_poly (sa, p, saturation_fraction) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, saturation_fraction + real (r8) :: gsw_ct_freezing_poly + end function gsw_ct_freezing_poly + + elemental function gsw_ct_from_enthalpy (sa, h, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, h, p + real (r8) :: gsw_ct_from_enthalpy + end function gsw_ct_from_enthalpy + + elemental function gsw_ct_from_enthalpy_exact (sa, h, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, h, p + real (r8) :: gsw_ct_from_enthalpy_exact + end function gsw_ct_from_enthalpy_exact + + elemental function gsw_ct_from_entropy (sa, entropy) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, entropy + real (r8) :: gsw_ct_from_entropy + end function gsw_ct_from_entropy + + elemental function gsw_ct_from_pt (sa, pt) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, pt + real (r8) :: gsw_ct_from_pt + end function gsw_ct_from_pt + + elemental subroutine gsw_ct_from_rho (rho, sa, p, ct, ct_multiple) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: rho, sa, p + real (r8), intent(out) :: ct + real (r8), intent(out), optional :: ct_multiple + end subroutine gsw_ct_from_rho + + elemental function gsw_ct_from_t (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_ct_from_t + end function gsw_ct_from_t + + elemental function gsw_ct_maxdensity (sa, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + real (r8) :: gsw_ct_maxdensity + end function gsw_ct_maxdensity + + elemental subroutine gsw_ct_second_derivatives (sa, pt, ct_sa_sa, ct_sa_pt, & + ct_pt_pt) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, pt + real (r8), intent(out), optional :: ct_sa_sa, ct_sa_pt, ct_pt_pt + end subroutine gsw_ct_second_derivatives + + elemental function gsw_deltasa_atlas (p, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: p, long, lat + real (r8) :: gsw_deltasa_atlas + end function gsw_deltasa_atlas + + elemental function gsw_deltasa_from_sp (sp, p, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sp, p, long, lat + real (r8) :: gsw_deltasa_from_sp + end function gsw_deltasa_from_sp + + elemental function gsw_dilution_coefficient_t_exact (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_dilution_coefficient_t_exact + end function gsw_dilution_coefficient_t_exact + + elemental function gsw_dynamic_enthalpy (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_dynamic_enthalpy + end function gsw_dynamic_enthalpy + + elemental function gsw_enthalpy (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_enthalpy + end function gsw_enthalpy + + elemental function gsw_enthalpy_ct_exact (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_enthalpy_ct_exact + end function gsw_enthalpy_ct_exact + + elemental function gsw_enthalpy_diff (sa, ct, p_shallow, p_deep) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p_shallow, p_deep + real (r8) :: gsw_enthalpy_diff + end function gsw_enthalpy_diff + + elemental subroutine gsw_enthalpy_first_derivatives (sa, ct, p, h_sa, h_ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8), intent(out), optional :: h_sa, h_ct + end subroutine gsw_enthalpy_first_derivatives + + elemental subroutine gsw_enthalpy_first_derivatives_ct_exact (sa, ct, p, & + h_sa, h_ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8), intent(out), optional :: h_sa, h_ct + end subroutine gsw_enthalpy_first_derivatives_ct_exact + + elemental function gsw_enthalpy_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_enthalpy_ice + end function gsw_enthalpy_ice + + elemental subroutine gsw_enthalpy_second_derivatives (sa, ct, p, h_sa_sa, & + h_sa_ct, h_ct_ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8), intent(out), optional :: h_sa_sa, h_sa_ct, h_ct_ct + end subroutine gsw_enthalpy_second_derivatives + + elemental subroutine gsw_enthalpy_second_derivatives_ct_exact (sa, ct, p, & + h_sa_sa, h_sa_ct, h_ct_ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8), intent(out), optional :: h_sa_sa, h_sa_ct, h_ct_ct + end subroutine gsw_enthalpy_second_derivatives_ct_exact + + elemental function gsw_enthalpy_sso_0 (p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: p + real (r8) :: gsw_enthalpy_sso_0 + end function gsw_enthalpy_sso_0 + + elemental function gsw_enthalpy_t_exact (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_enthalpy_t_exact + end function gsw_enthalpy_t_exact + + elemental subroutine gsw_entropy_first_derivatives (sa, ct, eta_sa, eta_ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8), intent(out), optional :: eta_sa, eta_ct + end subroutine gsw_entropy_first_derivatives + + elemental function gsw_entropy_from_pt (sa, pt) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, pt + real (r8) :: gsw_entropy_from_pt + end function gsw_entropy_from_pt + + elemental function gsw_entropy_from_t (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_entropy_from_t + end function gsw_entropy_from_t + + elemental function gsw_entropy_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_entropy_ice + end function gsw_entropy_ice + + elemental function gsw_entropy_part (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_entropy_part + end function gsw_entropy_part + + elemental function gsw_entropy_part_zerop (sa, pt0) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, pt0 + real (r8) :: gsw_entropy_part_zerop + end function gsw_entropy_part_zerop + + elemental subroutine gsw_entropy_second_derivatives (sa, ct, eta_sa_sa, & + eta_sa_ct, eta_ct_ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8), intent(out), optional :: eta_sa_sa, eta_sa_ct, eta_ct_ct + end subroutine gsw_entropy_second_derivatives + + elemental function gsw_fdelta (p, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: p, long, lat + real (r8) :: gsw_fdelta + end function gsw_fdelta + + elemental subroutine gsw_frazil_properties (sa_bulk, h_bulk, p, & + sa_final, ct_final, w_ih_final) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa_bulk, h_bulk, p + real (r8), intent(out) :: sa_final, ct_final, w_ih_final + end subroutine gsw_frazil_properties + + elemental subroutine gsw_frazil_properties_potential (sa_bulk, h_pot_bulk,& + p, sa_final, ct_final, w_ih_final) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa_bulk, h_pot_bulk, p + real (r8), intent(out) :: sa_final, ct_final, w_ih_final + end subroutine gsw_frazil_properties_potential + + elemental subroutine gsw_frazil_properties_potential_poly (sa_bulk, & + h_pot_bulk, p, sa_final, ct_final, w_ih_final) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa_bulk, h_pot_bulk, p + real (r8), intent(out) :: sa_final, ct_final, w_ih_final + end subroutine gsw_frazil_properties_potential_poly + + elemental subroutine gsw_frazil_ratios_adiabatic (sa, p, w_ih, & + dsa_dct_frazil, dsa_dp_frazil, dct_dp_frazil) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, w_ih + real (r8), intent(out) :: dsa_dct_frazil, dsa_dp_frazil, dct_dp_frazil + end subroutine gsw_frazil_ratios_adiabatic + + elemental subroutine gsw_frazil_ratios_adiabatic_poly (sa, p, w_ih, & + dsa_dct_frazil, dsa_dp_frazil, dct_dp_frazil) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, w_ih + real (r8), intent(out) :: dsa_dct_frazil, dsa_dp_frazil, dct_dp_frazil + end subroutine gsw_frazil_ratios_adiabatic_poly + + pure function gsw_geo_strf_dyn_height (sa, ct, p, p_ref) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa(:), ct(:), p(:), p_ref + real (r8) :: gsw_geo_strf_dyn_height(size(sa)) + end function gsw_geo_strf_dyn_height + + pure subroutine gsw_geo_strf_dyn_height_pc (sa, ct, delta_p, & + geo_strf_dyn_height_pc, p_mid) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa(:), ct(:), delta_p(:) + real (r8), intent(out) :: geo_strf_dyn_height_pc(:), p_mid(:) + end subroutine gsw_geo_strf_dyn_height_pc + + elemental function gsw_gibbs (ns, nt, np, sa, t, p) + use gsw_mod_kinds + implicit none + integer, intent(in) :: ns, nt, np + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_gibbs + end function gsw_gibbs + + elemental function gsw_gibbs_ice (nt, np, t, p) + use gsw_mod_kinds + implicit none + integer, intent(in) :: nt, np + real (r8), intent(in) :: t, p + real (r8) :: gsw_gibbs_ice + end function gsw_gibbs_ice + + elemental function gsw_gibbs_ice_part_t (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_gibbs_ice_part_t + end function gsw_gibbs_ice_part_t + + elemental function gsw_gibbs_ice_pt0 (pt0) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: pt0 + real (r8) :: gsw_gibbs_ice_pt0 + end function gsw_gibbs_ice_pt0 + + elemental function gsw_gibbs_ice_pt0_pt0 (pt0) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: pt0 + real (r8) :: gsw_gibbs_ice_pt0_pt0 + end function gsw_gibbs_ice_pt0_pt0 + + elemental function gsw_gibbs_pt0_pt0 (sa, pt0) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, pt0 + real (r8) :: gsw_gibbs_pt0_pt0 + end function gsw_gibbs_pt0_pt0 + + elemental function gsw_grav (lat, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: lat, p + real (r8) :: gsw_grav + end function gsw_grav + + elemental function gsw_helmholtz_energy_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_helmholtz_energy_ice + end function gsw_helmholtz_energy_ice + + elemental function gsw_hill_ratio_at_sp2 (t) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t + real (r8) :: gsw_hill_ratio_at_sp2 + end function gsw_hill_ratio_at_sp2 + + elemental subroutine gsw_ice_fraction_to_freeze_seawater (sa, ct, p, & + t_ih, sa_freeze, ct_freeze, w_ih) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p, t_ih + real (r8), intent(out) :: sa_freeze, ct_freeze, w_ih + end subroutine gsw_ice_fraction_to_freeze_seawater + + elemental function gsw_internal_energy (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_internal_energy + end function gsw_internal_energy + + elemental function gsw_internal_energy_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_internal_energy_ice + end function gsw_internal_energy_ice + + pure subroutine gsw_ipv_vs_fnsquared_ratio (sa, ct, p, p_ref, & + ipv_vs_fnsquared_ratio, p_mid) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa(:), ct(:), p(:), p_ref + real (r8), intent(out) :: ipv_vs_fnsquared_ratio(:), p_mid(:) + end subroutine gsw_ipv_vs_fnsquared_ratio + + elemental function gsw_kappa (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_kappa + end function gsw_kappa + + elemental function gsw_kappa_const_t_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_kappa_const_t_ice + end function gsw_kappa_const_t_ice + + elemental function gsw_kappa_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_kappa_ice + end function gsw_kappa_ice + + elemental function gsw_kappa_t_exact (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_kappa_t_exact + end function gsw_kappa_t_exact + + elemental function gsw_latentheat_evap_ct (sa, ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8) :: gsw_latentheat_evap_ct + end function gsw_latentheat_evap_ct + + elemental function gsw_latentheat_evap_t (sa, t) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t + real (r8) :: gsw_latentheat_evap_t + end function gsw_latentheat_evap_t + + elemental function gsw_latentheat_melting (sa, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + real (r8) :: gsw_latentheat_melting + end function gsw_latentheat_melting + + pure subroutine gsw_linear_interp_sa_ct (sa, ct, p, p_i, sa_i, ct_i) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa(:), ct(:), p(:), p_i(:) + real (r8), intent(out) :: sa_i(:), ct_i(:) + end subroutine gsw_linear_interp_sa_ct + + elemental function gsw_melting_ice_equilibrium_sa_ct_ratio (sa, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + real (r8) :: gsw_melting_ice_equilibrium_sa_ct_ratio + end function gsw_melting_ice_equilibrium_sa_ct_ratio + + elemental function gsw_melting_ice_equilibrium_sa_ct_ratio_poly (sa, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + real (r8) :: gsw_melting_ice_equilibrium_sa_ct_ratio_poly + end function gsw_melting_ice_equilibrium_sa_ct_ratio_poly + + elemental subroutine gsw_melting_ice_into_seawater (sa, ct, p, w_ih, t_ih,& + sa_final, ct_final, w_ih_final) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p, w_ih, t_ih + real (r8), intent(out) :: sa_final, ct_final, w_ih_final + end subroutine gsw_melting_ice_into_seawater + + elemental function gsw_melting_ice_sa_ct_ratio (sa, ct, p, t_ih) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p, t_ih + real (r8) :: gsw_melting_ice_sa_ct_ratio + end function gsw_melting_ice_sa_ct_ratio + + elemental function gsw_melting_ice_sa_ct_ratio_poly (sa, ct, p, t_ih) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p, t_ih + real (r8) :: gsw_melting_ice_sa_ct_ratio_poly + end function gsw_melting_ice_sa_ct_ratio_poly + + elemental function gsw_melting_seaice_equilibrium_sa_ct_ratio (sa, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + real (r8) :: gsw_melting_seaice_equilibrium_sa_ct_ratio + end function gsw_melting_seaice_equilibrium_sa_ct_ratio + + elemental function gsw_melting_seaice_equilibrium_sa_ct_ratio_poly (sa, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + real (r8) :: gsw_melting_seaice_equilibrium_sa_ct_ratio_poly + end function gsw_melting_seaice_equilibrium_sa_ct_ratio_poly + + elemental subroutine gsw_melting_seaice_into_seawater (sa, ct, p, & + w_seaice, sa_seaice, t_seaice, sa_final, ct_final) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p, w_seaice, sa_seaice, t_seaice + real (r8), intent(out) :: sa_final, ct_final + end subroutine gsw_melting_seaice_into_seawater + + elemental function gsw_melting_seaice_sa_ct_ratio (sa, ct, p, sa_seaice, & + t_seaice) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p, sa_seaice, t_seaice + real (r8) :: gsw_melting_seaice_sa_ct_ratio + end function gsw_melting_seaice_sa_ct_ratio + + elemental function gsw_melting_seaice_sa_ct_ratio_poly (sa, ct, p, & + sa_seaice, t_seaice) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p, sa_seaice, t_seaice + real (r8) :: gsw_melting_seaice_sa_ct_ratio_poly + end function gsw_melting_seaice_sa_ct_ratio_poly + + pure function gsw_mlp (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa(:), ct(:), p(:) + real (r8) :: gsw_mlp + end function gsw_mlp + + pure subroutine gsw_nsquared (sa, ct, p, lat, n2, p_mid) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa(:), ct(:), p(:), lat(:) + real (r8), intent(out) :: n2(:), p_mid(:) + end subroutine gsw_nsquared + + elemental function gsw_nsquared_lowerlimit (p, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: p, long, lat + real (r8) :: gsw_nsquared_lowerlimit + end function gsw_nsquared_lowerlimit + + pure subroutine gsw_nsquared_min (sa, ct, p, lat, n2, n2_p, & + n2_specvol, n2_alpha, n2_beta, dsa, dct, dp) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa(:), ct(:), p(:), lat(:) + real (r8), intent(out) :: n2(:), n2_p(:), n2_specvol(:), n2_alpha(:) + real (r8), intent(out) :: n2_beta(:), dsa(:), dct(:), dp(:) + end subroutine gsw_nsquared_min + + pure subroutine gsw_nsquared_min_const_t (sa, t, p, lat, n2, n2_p, & + n2_specvol, n2_alpha, n2_beta, dsa, dct, dp, n2_beta_ratio) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa(:), t(:), p(:), lat + real (r8), intent(out) :: n2(:), n2_p(:), n2_specvol(:), n2_alpha(:) + real (r8), intent(out) :: n2_beta(:), dsa(:), dct(:), dp(:) + real (r8), intent(out) :: n2_beta_ratio(:) + end subroutine gsw_nsquared_min_const_t + + elemental function gsw_p_from_z (z, lat, geo_strf_dyn_height, & + sea_surface_geopotental) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: z, lat + real (r8), intent(in), optional :: geo_strf_dyn_height + real (r8), intent(in), optional :: sea_surface_geopotental + real (r8) :: gsw_p_from_z + end function gsw_p_from_z + + elemental function gsw_pot_enthalpy_from_pt_ice (pt0_ice) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: pt0_ice + real (r8) :: gsw_pot_enthalpy_from_pt_ice + end function gsw_pot_enthalpy_from_pt_ice + + elemental function gsw_pot_enthalpy_from_pt_ice_poly (pt0_ice) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: pt0_ice + real (r8) :: gsw_pot_enthalpy_from_pt_ice_poly + end function gsw_pot_enthalpy_from_pt_ice_poly + + elemental function gsw_pot_enthalpy_ice_freezing (sa, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + real (r8) :: gsw_pot_enthalpy_ice_freezing + end function gsw_pot_enthalpy_ice_freezing + + elemental subroutine gsw_pot_enthalpy_ice_freezing_first_derivatives (sa, & + p, pot_enthalpy_ice_freezing_sa, pot_enthalpy_ice_freezing_p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + real (r8), intent(out), optional :: pot_enthalpy_ice_freezing_sa + real (r8), intent(out), optional :: pot_enthalpy_ice_freezing_p + end subroutine gsw_pot_enthalpy_ice_freezing_first_derivatives + + elemental subroutine gsw_pot_enthalpy_ice_freezing_first_derivatives_poly(& + sa, p, pot_enthalpy_ice_freezing_sa, pot_enthalpy_ice_freezing_p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + real (r8), intent(out), optional :: pot_enthalpy_ice_freezing_sa + real (r8), intent(out), optional :: pot_enthalpy_ice_freezing_p + end subroutine gsw_pot_enthalpy_ice_freezing_first_derivatives_poly + + elemental function gsw_pot_enthalpy_ice_freezing_poly (sa, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + real (r8) :: gsw_pot_enthalpy_ice_freezing_poly + end function gsw_pot_enthalpy_ice_freezing_poly + + elemental function gsw_pot_rho_t_exact (sa, t, p, p_ref) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p, p_ref + real (r8) :: gsw_pot_rho_t_exact + end function gsw_pot_rho_t_exact + + elemental function gsw_pressure_coefficient_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_pressure_coefficient_ice + end function gsw_pressure_coefficient_ice + + elemental function gsw_pressure_freezing_ct (sa, ct, saturation_fraction) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, saturation_fraction + real (r8) :: gsw_pressure_freezing_ct + end function gsw_pressure_freezing_ct + + elemental function gsw_pt0_cold_ice_poly (pot_enthalpy_ice) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: pot_enthalpy_ice + real (r8) :: gsw_pt0_cold_ice_poly + end function gsw_pt0_cold_ice_poly + + elemental function gsw_pt0_from_t (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_pt0_from_t + end function gsw_pt0_from_t + + elemental function gsw_pt0_from_t_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_pt0_from_t_ice + end function gsw_pt0_from_t_ice + + elemental subroutine gsw_pt_first_derivatives (sa, ct, pt_sa, pt_ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8), intent(out), optional :: pt_sa, pt_ct + end subroutine gsw_pt_first_derivatives + + elemental function gsw_pt_from_ct (sa, ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8) :: gsw_pt_from_ct + end function gsw_pt_from_ct + + elemental function gsw_pt_from_entropy (sa, entropy) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, entropy + real (r8) :: gsw_pt_from_entropy + end function gsw_pt_from_entropy + + elemental function gsw_pt_from_pot_enthalpy_ice (pot_enthalpy_ice) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: pot_enthalpy_ice + real (r8) :: gsw_pt_from_pot_enthalpy_ice + end function gsw_pt_from_pot_enthalpy_ice + + elemental function gsw_pt_from_pot_enthalpy_ice_poly (pot_enthalpy_ice) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: pot_enthalpy_ice + real (r8) :: gsw_pt_from_pot_enthalpy_ice_poly + end function gsw_pt_from_pot_enthalpy_ice_poly + + elemental function gsw_pt_from_pot_enthalpy_ice_poly_dh (pot_enthalpy_ice) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: pot_enthalpy_ice + real (r8) :: gsw_pt_from_pot_enthalpy_ice_poly_dh + end function gsw_pt_from_pot_enthalpy_ice_poly_dh + + elemental function gsw_pt_from_t (sa, t, p, p_ref) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p, p_ref + real (r8) :: gsw_pt_from_t + end function gsw_pt_from_t + + elemental function gsw_pt_from_t_ice (t, p, p_ref) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p, p_ref + real (r8) :: gsw_pt_from_t_ice + end function gsw_pt_from_t_ice + + elemental subroutine gsw_pt_second_derivatives (sa, ct, pt_sa_sa, & + pt_sa_ct, pt_ct_ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8), intent(out), optional :: pt_sa_sa, pt_sa_ct, pt_ct_ct + end subroutine gsw_pt_second_derivatives + + elemental function gsw_rho (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_rho + end function gsw_rho + + elemental subroutine gsw_rho_alpha_beta (sa, ct, p, rho, alpha, beta) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8), intent(out), optional :: rho, alpha, beta + end subroutine gsw_rho_alpha_beta + + elemental subroutine gsw_rho_alpha_beta_bsq (sa, ct, p, rho, alpha, beta, & + stiffened) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + logical, intent(in), optional :: stiffened + real (r8), intent(out) :: rho + real (r8), intent(out), optional :: alpha, beta + end subroutine gsw_rho_alpha_beta_bsq + + elemental subroutine gsw_rho_first_derivatives (sa, ct, p, drho_dsa, & + drho_dct, drho_dp) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8), intent(out), optional :: drho_dsa, drho_dct, drho_dp + end subroutine gsw_rho_first_derivatives + + elemental subroutine gsw_rho_first_derivatives_wrt_enthalpy (sa, ct, p, & + rho_sa, rho_h) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8), intent(out), optional :: rho_sa, rho_h + end subroutine gsw_rho_first_derivatives_wrt_enthalpy + + elemental function gsw_rho_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_rho_ice + end function gsw_rho_ice + + elemental subroutine gsw_rho_second_derivatives (sa, ct, p, rho_sa_sa, & + rho_sa_ct, rho_ct_ct, rho_sa_p, rho_ct_p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8), intent(out), optional :: rho_sa_sa, rho_sa_ct, rho_ct_ct + real (r8), intent(out), optional :: rho_sa_p, rho_ct_p + end subroutine gsw_rho_second_derivatives + + elemental subroutine gsw_rho_second_derivatives_wrt_enthalpy (sa, ct, p, & + rho_sa_sa, rho_sa_h, rho_h_h) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8), intent(out), optional :: rho_sa_sa, rho_sa_h, rho_h_h + end subroutine gsw_rho_second_derivatives_wrt_enthalpy + + elemental function gsw_rho_t_exact (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_rho_t_exact + end function gsw_rho_t_exact + + pure subroutine gsw_rr68_interp_sa_ct (sa, ct, p, p_i, sa_i, ct_i) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa(:), ct(:), p(:), p_i(:) + real (r8), intent(out) :: sa_i(:), ct_i(:) + end subroutine gsw_rr68_interp_sa_ct + + elemental function gsw_sa_freezing_estimate (p, saturation_fraction, ct, t) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: p, saturation_fraction + real (r8), intent(in), optional :: ct, t + real (r8) :: gsw_sa_freezing_estimate + end function gsw_sa_freezing_estimate + + elemental function gsw_sa_freezing_from_ct (ct, p, saturation_fraction) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: ct, p, saturation_fraction + real (r8) :: gsw_sa_freezing_from_ct + end function gsw_sa_freezing_from_ct + + elemental function gsw_sa_freezing_from_ct_poly (ct, p, saturation_fraction) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: ct, p, saturation_fraction + real (r8) :: gsw_sa_freezing_from_ct_poly + end function gsw_sa_freezing_from_ct_poly + + elemental function gsw_sa_freezing_from_t (t, p, saturation_fraction) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p, saturation_fraction + real (r8) :: gsw_sa_freezing_from_t + end function gsw_sa_freezing_from_t + + elemental function gsw_sa_freezing_from_t_poly (t, p, saturation_fraction) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p, saturation_fraction + real (r8) :: gsw_sa_freezing_from_t_poly + end function gsw_sa_freezing_from_t_poly + + elemental function gsw_sa_from_rho (rho, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: rho, ct, p + real (r8) :: gsw_sa_from_rho + end function gsw_sa_from_rho + + elemental function gsw_sa_from_sp (sp, p, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sp, p, long, lat + real (r8) :: gsw_sa_from_sp + end function gsw_sa_from_sp + + elemental function gsw_sa_from_sp_baltic (sp, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sp, long, lat + real (r8) :: gsw_sa_from_sp_baltic + end function gsw_sa_from_sp_baltic + + elemental function gsw_sa_from_sstar (sstar, p, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sstar, p, long, lat + real (r8) :: gsw_sa_from_sstar + end function gsw_sa_from_sstar + + elemental function gsw_sa_p_inrange (sa, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + logical :: gsw_sa_p_inrange + end function gsw_sa_p_inrange + + elemental function gsw_saar (p, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: p, long, lat + real (r8) :: gsw_saar + end function gsw_saar + + elemental subroutine gsw_seaice_fraction_to_freeze_seawater (sa, ct, p, & + sa_seaice, t_seaice, sa_freeze, ct_freeze, w_seaice) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p, sa_seaice, t_seaice + real (r8), intent(out) :: sa_freeze, ct_freeze, w_seaice + end subroutine gsw_seaice_fraction_to_freeze_seawater + + elemental function gsw_sigma0 (sa, ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8) :: gsw_sigma0 + end function gsw_sigma0 + + elemental function gsw_sigma1 (sa, ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8) :: gsw_sigma1 + end function gsw_sigma1 + + elemental function gsw_sigma2 (sa, ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8) :: gsw_sigma2 + end function gsw_sigma2 + + elemental function gsw_sigma3 (sa, ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8) :: gsw_sigma3 + end function gsw_sigma3 + + elemental function gsw_sigma4 (sa, ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8) :: gsw_sigma4 + end function gsw_sigma4 + + elemental function gsw_sound_speed (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_sound_speed + end function gsw_sound_speed + + elemental function gsw_sound_speed_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_sound_speed_ice + end function gsw_sound_speed_ice + + elemental function gsw_sound_speed_t_exact (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_sound_speed_t_exact + end function gsw_sound_speed_t_exact + + elemental function gsw_sp_from_c (c, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: c, t, p + real (r8) :: gsw_sp_from_c + end function gsw_sp_from_c + + elemental function gsw_sp_from_sa (sa, p, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, long, lat + real (r8) :: gsw_sp_from_sa + end function gsw_sp_from_sa + + elemental function gsw_sp_from_sa_baltic (sa, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, long, lat + real (r8) :: gsw_sp_from_sa_baltic + end function gsw_sp_from_sa_baltic + + elemental function gsw_sp_from_sk (sk) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sk + real (r8) :: gsw_sp_from_sk + end function gsw_sp_from_sk + + elemental function gsw_sp_from_sr (sr) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sr + real (r8) :: gsw_sp_from_sr + end function gsw_sp_from_sr + + elemental function gsw_sp_from_sstar (sstar, p, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sstar, p, long, lat + real (r8) :: gsw_sp_from_sstar + end function gsw_sp_from_sstar + + elemental function gsw_specvol (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_specvol + end function gsw_specvol + + elemental subroutine gsw_specvol_alpha_beta (sa, ct, p, specvol, alpha, & + beta) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8), intent(out), optional :: specvol, alpha, beta + end subroutine gsw_specvol_alpha_beta + + elemental function gsw_specvol_anom_standard (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_specvol_anom_standard + end function gsw_specvol_anom_standard + + elemental subroutine gsw_specvol_first_derivatives (sa, ct, p, v_sa, v_ct, & + v_p, iflag) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + integer, intent(in), optional :: iflag + real (r8), intent(out), optional :: v_sa, v_ct, v_p + end subroutine gsw_specvol_first_derivatives + + elemental subroutine gsw_specvol_first_derivatives_wrt_enthalpy (sa, ct, & + p, v_sa, v_h, iflag) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + integer, intent(in), optional :: iflag + real (r8), intent(out), optional :: v_sa, v_h + end subroutine gsw_specvol_first_derivatives_wrt_enthalpy + + elemental function gsw_specvol_ice (t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: t, p + real (r8) :: gsw_specvol_ice + end function gsw_specvol_ice + + elemental subroutine gsw_specvol_second_derivatives (sa, ct, p, v_sa_sa, & + v_sa_ct, v_ct_ct, v_sa_p, v_ct_p, iflag) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + integer, intent(in), optional :: iflag + real (r8), intent(out), optional :: v_sa_sa, v_sa_ct, v_ct_ct, v_sa_p, v_ct_p + end subroutine gsw_specvol_second_derivatives + + elemental subroutine gsw_specvol_second_derivatives_wrt_enthalpy (sa, ct, & + p, v_sa_sa, v_sa_h, v_h_h, iflag) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + integer, intent(in), optional :: iflag + real (r8), intent(out), optional :: v_sa_sa, v_sa_h, v_h_h + end subroutine gsw_specvol_second_derivatives_wrt_enthalpy + + elemental function gsw_specvol_sso_0 (p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: p + real (r8) :: gsw_specvol_sso_0 + end function gsw_specvol_sso_0 + + elemental function gsw_specvol_t_exact (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_specvol_t_exact + end function gsw_specvol_t_exact + + elemental function gsw_spiciness0 (sa, ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8) :: gsw_spiciness0 + end function gsw_spiciness0 + + elemental function gsw_spiciness1 (sa, ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8) :: gsw_spiciness1 + end function gsw_spiciness1 + + elemental function gsw_spiciness2 (sa, ct) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct + real (r8) :: gsw_spiciness2 + end function gsw_spiciness2 + + elemental function gsw_sr_from_sp (sp) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sp + real (r8) :: gsw_sr_from_sp + end function gsw_sr_from_sp + + elemental function gsw_sstar_from_sa (sa, p, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, long, lat + real (r8) :: gsw_sstar_from_sa + end function gsw_sstar_from_sa + + elemental function gsw_sstar_from_sp (sp, p, long, lat) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sp, p, long, lat + real (r8) :: gsw_sstar_from_sp + end function gsw_sstar_from_sp + + elemental function gsw_t_deriv_chem_potential_water_t_exact (sa, t, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, t, p + real (r8) :: gsw_t_deriv_chem_potential_water_t_exact + end function gsw_t_deriv_chem_potential_water_t_exact + + elemental function gsw_t_freezing (sa, p, saturation_fraction, poly) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, saturation_fraction + logical, intent(in), optional :: poly + real (r8) :: gsw_t_freezing + end function gsw_t_freezing + + elemental function gsw_t_freezing_exact (sa, p, saturation_fraction) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, saturation_fraction + real (r8) :: gsw_t_freezing_exact + end function gsw_t_freezing_exact + + elemental subroutine gsw_t_freezing_first_derivatives (sa, p, & + saturation_fraction, tfreezing_sa, tfreezing_p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, saturation_fraction + real (r8), intent(out), optional :: tfreezing_sa, tfreezing_p + end subroutine gsw_t_freezing_first_derivatives + + elemental subroutine gsw_t_freezing_first_derivatives_poly (sa, p, & + saturation_fraction, tfreezing_sa, tfreezing_p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p, saturation_fraction + real (r8), intent(out), optional :: tfreezing_sa, tfreezing_p + end subroutine gsw_t_freezing_first_derivatives_poly + + elemental function gsw_t_freezing_poly (sa, p, saturation_fraction, polynomial) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, p + real (r8), intent(in), optional :: saturation_fraction + logical, intent(in), optional :: polynomial + real (r8) :: gsw_t_freezing_poly + end function gsw_t_freezing_poly + + elemental function gsw_t_from_ct (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_t_from_ct + end function gsw_t_from_ct + + elemental function gsw_t_from_pt0_ice (pt0_ice, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: pt0_ice, p + real (r8) :: gsw_t_from_pt0_ice + end function gsw_t_from_pt0_ice + + elemental function gsw_thermobaric (sa, ct, p) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa, ct, p + real (r8) :: gsw_thermobaric + end function gsw_thermobaric + + pure subroutine gsw_turner_rsubrho (sa, ct, p, tu, rsubrho, p_mid) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: sa(:), ct(:), p(:) + real (r8), intent(out) :: tu(:), rsubrho(:), p_mid(:) + end subroutine gsw_turner_rsubrho + + pure subroutine gsw_util_indx (x, n, z, k) + use gsw_mod_kinds + integer, intent(in) :: n + integer, intent(out) :: k + real (r8), intent(in), dimension(n) :: x + real (r8), intent(in) :: z + end subroutine gsw_util_indx + + pure function gsw_util_interp1q_int (x, iy, x_i) result(y_i) + use gsw_mod_kinds + implicit none + integer, intent(in) :: iy(:) + real (r8), intent(in) :: x(:), x_i(:) + real (r8) :: y_i(size(x_i)) + end function gsw_util_interp1q_int + + pure function gsw_util_sort_real (rarray) result(iarray) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: rarray(:) ! Values to be sorted + integer :: iarray(size(rarray)) ! Sorted ids + end function gsw_util_sort_real + + pure function gsw_util_xinterp1 (x, y, n, x0) + use gsw_mod_kinds + implicit none + integer, intent(in) :: n + real (r8), intent(in) :: x0 + real (r8), dimension(n), intent(in) :: x, y + real (r8) :: gsw_util_xinterp1 + end function gsw_util_xinterp1 + + elemental function gsw_z_from_p (p, lat, geo_strf_dyn_height, & + sea_surface_geopotental) + use gsw_mod_kinds + implicit none + real (r8), intent(in) :: p, lat + real (r8), intent(in), optional :: geo_strf_dyn_height + real (r8), intent(in), optional :: sea_surface_geopotental + real (r8) :: gsw_z_from_p + end function gsw_z_from_p + +end interface + +end module gsw_mod_toolbox diff --git a/src/int_recom/recom/gsw_pt0_from_t.F90 b/src/int_recom/recom/gsw_pt0_from_t.F90 new file mode 100755 index 000000000..63c2c8329 --- /dev/null +++ b/src/int_recom/recom/gsw_pt0_from_t.F90 @@ -0,0 +1,59 @@ +!========================================================================== +elemental function gsw_pt0_from_t (sa, t, p) +!========================================================================== +! +! Calculates potential temperature with reference pressure, p_ref = 0 dbar. +! +! sa : Absolute Salinity [g/kg] +! t : in-situ temperature [deg C] +! p : sea pressure [dbar] +! +! gsw_pt0_from_t : potential temperature, p_ref = 0 [deg C] +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_entropy_part, gsw_entropy_part_zerop +use gsw_mod_toolbox, only : gsw_gibbs_pt0_pt0 + +use gsw_mod_teos10_constants, only : gsw_cp0, gsw_sso, gsw_t0, gsw_ups + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, t, p + +real (r8) :: gsw_pt0_from_t + +integer n, no_iter +real (r8) :: s1, true_entropy_part, pt0m +real (r8) :: pt0, pt0_old, de_dt, dentropy, dentropy_dt + +s1 = sa/gsw_ups + +pt0 = t + p*( 8.65483913395442e-6_r8 - & + s1 * 1.41636299744881e-6_r8 - & + p * 7.38286467135737e-9_r8 + & + t *(-8.38241357039698e-6_r8 + & + s1 * 2.83933368585534e-8_r8 + & + t * 1.77803965218656e-8_r8 + & + p * 1.71155619208233e-10_r8)) + +dentropy_dt = gsw_cp0/((gsw_t0 + pt0)*(1.0_r8 - 0.05_r8*(1.0_r8 - sa/gsw_sso))) + +true_entropy_part = gsw_entropy_part(sa,t,p) + +do no_iter = 1, 2 + pt0_old = pt0 + dentropy = gsw_entropy_part_zerop(sa,pt0_old) - true_entropy_part + pt0 = pt0_old - dentropy/dentropy_dt + pt0m = 0.5_r8*(pt0 + pt0_old) + dentropy_dt = -gsw_gibbs_pt0_pt0(sa,pt0m) + pt0 = pt0_old - dentropy/dentropy_dt +end do + +gsw_pt0_from_t = pt0 + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_pt_from_ct.F90 b/src/int_recom/recom/gsw_pt_from_ct.F90 new file mode 100755 index 000000000..b856b923c --- /dev/null +++ b/src/int_recom/recom/gsw_pt_from_ct.F90 @@ -0,0 +1,72 @@ +!========================================================================== +elemental function gsw_pt_from_ct (sa, ct) +!========================================================================== +! +! potential temperature of seawater from conservative temperature +! +! sa : Absolute Salinity [g/kg] +! ct : Conservative Temperature [deg C] +! p : sea pressure [dbar] +! +! gsw_pt_from_ct : potential temperature with [deg C] +! reference pressure of 0 dbar +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_ct_from_pt, gsw_gibbs_pt0_pt0 + +use gsw_mod_teos10_constants, only : gsw_cp0, gsw_ups, gsw_t0 + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, ct + +real (r8) :: gsw_pt_from_ct + +real (r8) :: a5ct, b3ct, ct_factor, pt_num, pt_recden, ct_diff +real (r8) :: ct0, pt, pt_old, ptm, dct, dpt_dct, s1 + +real (r8), parameter :: a0 = -1.446013646344788e-2_r8 +real (r8), parameter :: a1 = -3.305308995852924e-3_r8 +real (r8), parameter :: a2 = 1.062415929128982e-4_r8 +real (r8), parameter :: a3 = 9.477566673794488e-1_r8 +real (r8), parameter :: a4 = 2.166591947736613e-3_r8 +real (r8), parameter :: a5 = 3.828842955039902e-3_r8 + +real (r8), parameter :: b0 = 1.0_r8 +real (r8), parameter :: b1 = 6.506097115635800e-4_r8 +real (r8), parameter :: b2 = 3.830289486850898e-3_r8 +real (r8), parameter :: b3 = 1.247811760368034e-6_r8 + +s1 = sa/gsw_ups + +a5ct = a5*ct +b3ct = b3*ct + +ct_factor = (a3 + a4*s1 + a5ct) +pt_num = a0 + s1*(a1 + a2*s1) + ct*ct_factor +pt_recden = 1.0_r8/(b0 + b1*s1 + ct*(b2 + b3ct)) +pt = pt_num*pt_recden + +dpt_dct = (ct_factor + a5ct - (b2 + b3ct + b3ct)*pt)*pt_recden + +! Start the 1.5 iterations through the modified Newton-Rapshon iterative, +! method, which is also known as the Newton-McDougall method. + +ct_diff = gsw_ct_from_pt(sa,pt) - ct +pt_old = pt +pt = pt_old - ct_diff*dpt_dct +ptm = 0.5_r8*(pt + pt_old) + +dpt_dct = -gsw_cp0/((ptm + gsw_t0)*gsw_gibbs_pt0_pt0(sa,ptm)) + +pt = pt_old - ct_diff*dpt_dct +ct_diff = gsw_ct_from_pt(sa,pt) - ct +pt_old = pt +gsw_pt_from_ct = pt_old - ct_diff*dpt_dct + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_pt_from_t.F90 b/src/int_recom/recom/gsw_pt_from_t.F90 new file mode 100755 index 000000000..46dc766fb --- /dev/null +++ b/src/int_recom/recom/gsw_pt_from_t.F90 @@ -0,0 +1,61 @@ +!========================================================================== +elemental function gsw_pt_from_t (sa, t, p, p_ref) +!========================================================================== +! +! Calculates potential temperature of seawater from in-situ temperature +! +! sa : Absolute Salinity [g/kg] +! t : in-situ temperature [deg C] +! p : sea pressure [dbar] +! p_ref : reference sea pressure [dbar] +! +! gsw_pt_from_t : potential temperature [deg C] +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_entropy_part, gsw_gibbs + +use gsw_mod_teos10_constants, only : gsw_cp0, gsw_sso, gsw_t0, gsw_ups + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, t, p, p_ref + +real (r8) :: gsw_pt_from_t + +integer n, no_iter +real (r8) :: s1, pt, pt_old, de_dt, dentropy, dentropy_dt +real (r8) :: true_entropy_part, ptm + +integer, parameter :: n0=0, n2=2 + +s1 = sa/gsw_ups + +pt = t + (p-p_ref)*( 8.65483913395442e-6_r8 - & + s1 * 1.41636299744881e-6_r8 - & + (p+p_ref)* 7.38286467135737e-9_r8 + & + t *(-8.38241357039698e-6_r8 + & + s1 * 2.83933368585534e-8_r8 + & + t * 1.77803965218656e-8_r8 + & + (p+p_ref)* 1.71155619208233e-10_r8)) + +dentropy_dt = gsw_cp0/((gsw_t0 + pt)*(1.0_r8 - 0.05_r8*(1.0_r8 - sa/gsw_sso))) + +true_entropy_part = gsw_entropy_part(sa,t,p) + +do no_iter = 1, 2 + pt_old = pt + dentropy = gsw_entropy_part(sa,pt_old,p_ref) - true_entropy_part + pt = pt_old - dentropy/dentropy_dt + ptm = 0.5_r8*(pt + pt_old) + dentropy_dt = -gsw_gibbs(n0,n2,n0,sa,ptm,p_ref) + pt = pt_old - dentropy/dentropy_dt +end do + +gsw_pt_from_t = pt + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_rho.F90 b/src/int_recom/recom/gsw_rho.F90 new file mode 100755 index 000000000..3daa65746 --- /dev/null +++ b/src/int_recom/recom/gsw_rho.F90 @@ -0,0 +1,36 @@ +!========================================================================== +elemental function gsw_rho (sa, ct, p) +!========================================================================== +! +! Calculates in-situ density from Absolute Salinity and Conservative +! Temperature, using the computationally-efficient expression for +! specific volume in terms of SA, CT and p (Roquet et al., 2014). +! +! Note that potential density with respect to reference pressure, pr, is +! obtained by calling this function with the pressure argument being pr +! (i.e. "gsw_rho(SA,CT,pr)"). +! +! SA = Absolute Salinity [ g/kg ] +! CT = Conservative Temperature (ITS-90) [ deg C ] +! p = sea pressure [ dbar ] +! ( i.e. absolute pressure - 10.1325 dbar ) +! +! rho = in-situ density [ kg/m ] +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_specvol + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, ct, p + +real (r8) :: gsw_rho + +gsw_rho = 1.0_r8/gsw_specvol(sa,ct,p) + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_sa_from_sp.F90 b/src/int_recom/recom/gsw_sa_from_sp.F90 new file mode 100755 index 000000000..b195d778e --- /dev/null +++ b/src/int_recom/recom/gsw_sa_from_sp.F90 @@ -0,0 +1,53 @@ +!========================================================================== +elemental function gsw_sa_from_sp (sp, p, long, lat) +!========================================================================== +! +! Calculates Absolute Salinity, SA, from Practical Salinity, SP +! +! sp : Practical Salinity [unitless] +! p : sea pressure [dbar] +! long : longitude [DEG E] +! lat : latitude [DEG N] +! +! gsw_sa_from_sp : Absolute Salinity [g/kg] +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_saar, gsw_sa_from_sp_baltic + +use gsw_mod_error_functions, only : gsw_error_code, gsw_error_limit + +use gsw_mod_teos10_constants, only : gsw_ups + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sp, p, long, lat + +real (r8) :: gsw_sa_from_sp + +real (r8) :: saar, sa_baltic + +character (*), parameter :: func_name = "gsw_sa_from_sp" + +sa_baltic = gsw_sa_from_sp_baltic(sp,long,lat) + +if (sa_baltic .lt. 1e10_r8) then + + gsw_sa_from_sp = sa_baltic + +else + + saar = gsw_saar(p,long,lat) + if (saar .gt. gsw_error_limit) then + gsw_sa_from_sp = gsw_error_code(1,func_name,saar) + else + gsw_sa_from_sp = gsw_ups*sp*(1.0_r8 + saar) + end if + +end if + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_sa_from_sp_baltic.F90 b/src/int_recom/recom/gsw_sa_from_sp_baltic.F90 new file mode 100755 index 000000000..90438b640 --- /dev/null +++ b/src/int_recom/recom/gsw_sa_from_sp_baltic.F90 @@ -0,0 +1,51 @@ +!========================================================================== +elemental function gsw_sa_from_sp_baltic (sp, long, lat) +!========================================================================== +! +! For the Baltic Sea, calculates Absolute Salinity with a value +! computed analytically from Practical Salinity +! +! sp : Practical Salinity [unitless] +! long : longitude [deg E] +! lat : latitude [deg N] +! +! gsw_sa_from_sp_baltic : Absolute Salinity [g/kg] +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_util_xinterp1 + +use gsw_mod_baltic_data + +use gsw_mod_teos10_constants, only : gsw_sso + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sp, long, lat + +real (r8) :: gsw_sa_from_sp_baltic + +real (r8) :: xx_left, xx_right + +if (xb_left(2).lt.long .and. long.lt.xb_right(1) .and. & + yb_left(1).lt.lat .and. lat.lt.yb_left(3)) then + + xx_left = gsw_util_xinterp1(yb_left, xb_left, 3, lat) + + xx_right = gsw_util_xinterp1(yb_right, xb_right, 2, lat) + + if(xx_left.le.long .and. long.le.xx_right) then + gsw_sa_from_sp_baltic =((gsw_sso - 0.087_r8)/35.0_r8)*sp + 0.087_r8 + else + gsw_sa_from_sp_baltic = 9e15_r8 + end if + +else + gsw_sa_from_sp_baltic = 9e15_r8 +end if + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_saar.F90 b/src/int_recom/recom/gsw_saar.F90 new file mode 100755 index 000000000..8f9858a4f --- /dev/null +++ b/src/int_recom/recom/gsw_saar.F90 @@ -0,0 +1,121 @@ +!========================================================================== +elemental function gsw_saar (p, long, lat) +!========================================================================== +! +! Calculates the Absolute Salinity Anomaly Ratio, SAAR at a geographic point. +! +! p : sea pressure [dbar] +! long : longitude [deg E] +! lat : latitude [deg N] +! +! gsw_saar : Absolute Salinity Anomaly Ratio [unitless] +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_add_barrier, gsw_add_mean, gsw_util_indx + +use gsw_mod_error_functions, only : gsw_error_code + +use gsw_mod_saar_data + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: p, long, lat + +real (r8) :: gsw_saar + +integer :: indx0, indy0, indz0, i, j, k, nmean + +real (r8), dimension(4) :: saar, saar_old +real (r8) :: p0_original, lon0_in, sa_upper, sa_lower, dlong, dlat +real (r8) :: r1, s1, t1, saar_mean, ndepth_max, p_tmp, long_tmp + +character (*), parameter :: func_name = "gsw_saar" + +if (lat .lt. -86.0_r8 .or. lat .gt. 90.0_r8) then + gsw_saar = gsw_error_code(2,func_name) + return +end if + +long_tmp = long +if (long_tmp.lt.0_r8) long_tmp = long_tmp + 360.0_r8 + +dlong = longs_ref(2) - longs_ref(1) +dlat = lats_ref(2) - lats_ref(1) + +indx0 = floor(1.0_r8 + (nx-1.0_r8)*(long_tmp-longs_ref(1)) / & + (longs_ref(nx)-longs_ref(1))) +if (indx0.eq.nx) indx0 = nx-1 + +indy0 = floor(1.0_r8 + (ny-1.0_r8)*(lat-lats_ref(1))/(lats_ref(ny)-lats_ref(1))) +if (indy0.eq.ny) indy0 = ny-1 + +! Look for the maximum valid "ndepth_ref" value around our point. +! Note: invalid "ndepth_ref" values are NaNs (a hangover from the codes +! Matlab origins). These Nans will not satisfy the ".gt. 0.0" test below, +! so will not be recognised as valid values. +ndepth_max = -1.0_r8 +do k = 1,4 + if (ndepth_ref(indy0+delj(k),indx0+deli(k)).gt.0.0_r8) & + ndepth_max = max(ndepth_max,DBLE(ndepth_ref(indy0+delj(k),indx0+deli(k)))) +end do + +! If we are a long way from the ocean then there will be no valid "ndepth_ref" +! values near the point (ie. surrounded by NaNs) - so just return SAAR = 0.0 +if (ndepth_max.eq.-1.0_r8) then + gsw_saar = 0.0_r8 + return +end if + +p0_original = p +p_tmp = p +if (p_tmp.gt.p_ref(int(ndepth_max))) p_tmp = p_ref(int(ndepth_max)) +call gsw_util_indx(p_ref,nz,p_tmp,indz0) + +r1 = (long_tmp-longs_ref(indx0))/(longs_ref(indx0+1)-longs_ref(indx0)) +s1 = (lat-lats_ref(indy0))/(lats_ref(indy0+1)-lats_ref(indy0)) +t1 = (p_tmp-p_ref(indz0))/(p_ref(indz0+1)-p_ref(indz0)) + +do k = 1,4 + saar(k) = saar_ref(indz0,indy0+delj(k),indx0+deli(k)) +end do + +if ( longs_pan(1).le.long_tmp .and. long_tmp.le.longs_pan(npan)-0.001_r8 .and.& + lats_pan(npan).le.lat .and. lat.le.lats_pan(1)) then + saar_old = saar + call gsw_add_barrier(saar_old,long_tmp,lat,longs_ref(indx0), & + lats_ref(indy0),dlong,dlat,saar) +else if (abs(sum(saar)).ge.1e10_r8) then + saar_old = saar + call gsw_add_mean(saar_old,saar) +end if + +sa_upper = (1.0_r8-s1)*(saar(1) + r1*(saar(2)-saar(1))) + s1*(saar(4) + & + r1*(saar(3)-saar(4))) + +do k = 1,4 + saar(k) = saar_ref(indz0+1,indy0+delj(k),indx0+deli(k)) +end do + +if ( longs_pan(1).le.long_tmp .and. long_tmp.le.longs_pan(npan)-0.001_r8 .and.& + lats_pan(npan).le.lat .and. lat.le.lats_pan(1)) then + saar_old = saar + call gsw_add_barrier(saar_old,long_tmp,lat,longs_ref(indx0), & + lats_ref(indy0),dlong,dlat,saar) +else if (abs(sum(saar)).ge.1e10_r8) then + saar_old = saar + call gsw_add_mean(saar_old,saar) +end if + +sa_lower = (1.0_r8-s1)*(saar(1) + r1*(saar(2)-saar(1))) + s1*(saar(4) + & + r1*(saar(3)-saar(4))) +if (abs(sa_lower).ge.1e10_r8) sa_lower = sa_upper +gsw_saar = sa_upper + t1*(sa_lower-sa_upper) + +if (abs(gsw_saar).ge.1e10_r8) gsw_saar = gsw_error_code(3,func_name) + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_sp_from_sa.F90 b/src/int_recom/recom/gsw_sp_from_sa.F90 new file mode 100755 index 000000000..8d915c671 --- /dev/null +++ b/src/int_recom/recom/gsw_sp_from_sa.F90 @@ -0,0 +1,53 @@ +!========================================================================== +elemental function gsw_sp_from_sa (sa, p, long, lat) +!========================================================================== +! +! Calculates Practical salinity, sp, from Absolute salinity, sa +! +! sa : Absolute Salinity [g/kg] +! p : sea pressure [dbar] +! long : longitude [DEG E] +! lat : latitude [DEG N] +! +! gsw_sp_from_sa : Practical Salinity [unitless] +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_saar, gsw_sp_from_sa_baltic + +use gsw_mod_error_functions, only : gsw_error_code, gsw_error_limit + +use gsw_mod_teos10_constants, only : gsw_ups + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, p, long, lat + +real (r8) :: gsw_sp_from_sa + +real (r8) :: saar, sp_baltic + +character (*), parameter :: func_name = "gsw_sp_from_sa" + +sp_baltic = gsw_sp_from_sa_baltic(sa,long,lat) + +if (sp_baltic .lt. 1e10_r8) then + + gsw_sp_from_sa = sp_baltic + +else + + saar = gsw_saar(p,long,lat) + if (saar .gt. gsw_error_limit) then + gsw_sp_from_sa = gsw_error_code(1,func_name,saar) + else + gsw_sp_from_sa = (sa/gsw_ups)/(1.0_r8 + saar) + end if + +end if + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_sp_from_sa_baltic.F90 b/src/int_recom/recom/gsw_sp_from_sa_baltic.F90 new file mode 100755 index 000000000..b31d0e3c0 --- /dev/null +++ b/src/int_recom/recom/gsw_sp_from_sa_baltic.F90 @@ -0,0 +1,51 @@ +!========================================================================== +elemental function gsw_sp_from_sa_baltic (sa, long, lat) +!========================================================================== +! +! For the Baltic Sea, calculates Practical Salinity with a value +! computed analytically from Absolute Salinity +! +! sa : Absolute Salinity [g/kg] +! long : longitude [deg E] +! lat : latitude [deg N] +! +! gsw_sp_from_sa_baltic : Practical Salinity [unitless] +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_util_xinterp1 + +use gsw_mod_baltic_data + +use gsw_mod_teos10_constants, only : gsw_sso + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, long, lat + +real (r8) :: gsw_sp_from_sa_baltic + +real (r8) :: xx_left, xx_right + +if (xb_left(2).lt.long .and. long.lt.xb_right(1) .and. & + yb_left(1).lt.lat .and. lat.lt.yb_left(3)) then + + xx_left = gsw_util_xinterp1(yb_left, xb_left, 3, lat) + + xx_right = gsw_util_xinterp1(yb_right, xb_right, 2, lat) + + if(xx_left.le.long .and. long.le.xx_right) then + gsw_sp_from_sa_baltic = (35.0_r8/(gsw_sso - 0.087_r8))*(sa - 0.087_r8) + else + gsw_sp_from_sa_baltic = 9e15_r8 + end if + +else + gsw_sp_from_sa_baltic = 9e15_r8 +end if + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_specvol.F90 b/src/int_recom/recom/gsw_specvol.F90 new file mode 100755 index 000000000..00cfaab12 --- /dev/null +++ b/src/int_recom/recom/gsw_specvol.F90 @@ -0,0 +1,52 @@ +!========================================================================== +elemental function gsw_specvol (sa, ct, p) +!========================================================================== +! +! Calculates specific volume from Absolute Salinity, Conservative +! Temperature and pressure, using the computationally-efficient +! polynomial expression for specific volume (Roquet et al., 2014). +! +! SA = Absolute Salinity [ g/kg ] +! CT = Conservative Temperature (ITS-90) [ deg C ] +! p = sea pressure [ dbar ] +! ( i.e. absolute pressure - 10.1325 dbar ) +! +! specvol = specific volume [ m^3/kg ] +!-------------------------------------------------------------------------- + +use gsw_mod_teos10_constants, only : gsw_sfac, offset + +use gsw_mod_specvol_coefficients + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, ct, p + +real (r8) :: gsw_specvol + +real (r8) :: xs, ys, z + +xs = sqrt(gsw_sfac*sa + offset) +ys = ct*0.025_r8 +z = p*1e-4_r8 + +gsw_specvol = v000 + xs*(v010 + xs*(v020 + xs*(v030 + xs*(v040 + xs*(v050 & + + v060*xs))))) + ys*(v100 + xs*(v110 + xs*(v120 + xs*(v130 + xs*(v140 & + + v150*xs)))) + ys*(v200 + xs*(v210 + xs*(v220 + xs*(v230 + v240*xs))) & + + ys*(v300 + xs*(v310 + xs*(v320 + v330*xs)) + ys*(v400 + xs*(v410 & + + v420*xs) + ys*(v500 + v510*xs + v600*ys))))) + z*(v001 + xs*(v011 & + + xs*(v021 + xs*(v031 + xs*(v041 + v051*xs)))) + ys*(v101 + xs*(v111 & + + xs*(v121 + xs*(v131 + v141*xs))) + ys*(v201 + xs*(v211 + xs*(v221 & + + v231*xs)) + ys*(v301 + xs*(v311 + v321*xs) + ys*(v401 + v411*xs & + + v501*ys)))) + z*(v002 + xs*(v012 + xs*(v022 + xs*(v032 + v042*xs))) & + + ys*(v102 + xs*(v112 + xs*(v122 + v132*xs)) + ys*(v202 + xs*(v212 & + + v222*xs) + ys*(v302 + v312*xs + v402*ys))) + z*(v003 + xs*(v013 & + + v023*xs) + ys*(v103 + v113*xs + v203*ys) + z*(v004 + v014*xs + v104*ys & + + z*(v005 + v006*z))))) + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_t_from_ct.F90 b/src/int_recom/recom/gsw_t_from_ct.F90 new file mode 100755 index 000000000..9f85a4530 --- /dev/null +++ b/src/int_recom/recom/gsw_t_from_ct.F90 @@ -0,0 +1,33 @@ +!========================================================================== +elemental function gsw_t_from_ct (sa, ct, p) +!========================================================================== +! +! Calculates in-situ temperature from Conservative Temperature of seawater +! +! sa : Absolute Salinity [g/kg] +! ct : Conservative Temperature [deg C] +! +! gsw_t_from_ct : in-situ temperature [deg C] +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_pt_from_ct, gsw_pt_from_t + +use gsw_mod_kinds + +implicit none + +real (r8), intent(in) :: sa, ct, p + +real (r8) :: gsw_t_from_ct + +real (r8) :: pt0 + +real (r8), parameter :: p0 = 0.0_r8 + +pt0 = gsw_pt_from_ct(sa,ct) +gsw_t_from_ct = gsw_pt_from_t(sa,pt0,p0,p) + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/gsw_util_indx.F90 b/src/int_recom/recom/gsw_util_indx.F90 new file mode 100755 index 000000000..6effdd815 --- /dev/null +++ b/src/int_recom/recom/gsw_util_indx.F90 @@ -0,0 +1,49 @@ +!========================================================================== +pure subroutine gsw_util_indx (x, n, z, k) +!========================================================================== +! +! Finds the index of the value in a monotonically increasing array +! +! x : array of monotonically increasing values +! n : length of the array +! z : value to be indexed +! +! k : index K :- if x(k) <= z < x(k+1), or +! n-1 :- if z = x(n) +!-------------------------------------------------------------------------- + +use gsw_mod_kinds + +integer, intent(in) :: n +integer, intent(out) :: k +real (r8), intent(in), dimension(n) :: x +real (r8), intent(in) :: z + +integer :: ku, kl, km + +if(z.gt.x(1).and.z.lt.x(n)) then + kl=1 + ku=n + do while (ku-kl.gt.1) + km=0.5_r8*(ku+kl) + if(z.gt.x(km)) then + kl=km + else + ku=km + endif + end do + k=kl + if(z.eq.x(k+1)) then + k = k+1 + end if +elseif (z.le.x(1)) then + k = 1 +else !if (z.ge.x(n)) then - removed (GBH 3/6/2015) so z=NaN has somewhere to go (otherwise k is undefined and gives segmentation fault) + k = n-1 +end if + +return +end subroutine + +!-------------------------------------------------------------------------- + diff --git a/src/int_recom/recom/gsw_util_xinterp1.F90 b/src/int_recom/recom/gsw_util_xinterp1.F90 new file mode 100755 index 000000000..f69b74c56 --- /dev/null +++ b/src/int_recom/recom/gsw_util_xinterp1.F90 @@ -0,0 +1,38 @@ +!========================================================================== +pure function gsw_util_xinterp1 (x, y, n, x0) +!========================================================================== +! +! Linearly interpolate a real array +! +! x : x array (must be monotonic) +! y : y array +! n : length of X and Y arrays +! x0 : value to be interpolated +! +! xinterp1 : Linearly interpolated value +!-------------------------------------------------------------------------- + +use gsw_mod_toolbox, only : gsw_util_indx + +use gsw_mod_kinds + +implicit none + +integer, intent(in) :: n +real (r8), intent(in) :: x0 +real (r8), dimension(n), intent(in) :: x, y + +real (r8) :: gsw_util_xinterp1 + +integer :: k + +real (r8) :: r + +call gsw_util_indx(x,n,x0,k) +r = (x0-x(k))/(x(k+1)-x(k)) +gsw_util_xinterp1 = y(k) + r*(y(k+1)-y(k)) + +return +end function + +!-------------------------------------------------------------------------- diff --git a/src/int_recom/recom/p2fCO2.F90 b/src/int_recom/recom/p2fCO2.F90 new file mode 100755 index 000000000..17803adfc --- /dev/null +++ b/src/int_recom/recom/p2fCO2.F90 @@ -0,0 +1,71 @@ +!> \file p2fCO2.f90 +!! \BRIEF +!> Module with p2fCO2 subroutine - compute fCO2 from pCO2, in situ T, atm pressure, hydrostatic pressure +MODULE mp2fCO2 +CONTAINS +!> Compute fCO2 from arrays of pCO2, in situ temp, atm pressure, & hydrostatic pressure +SUBROUTINE p2fCO2(pCO2, temp, Patm, p, N, fCO2) + ! Purpose: + ! Compute fCO2 from arrays of pCO2, in situ temp, atm pressure, & hydrostatic pressure + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + + USE msingledouble + IMPLICIT NONE + + !> number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + +! INPUT variables + !> oceanic partial pressure of CO2 [uatm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: pCO2 + !> in situ temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm + !> hydrostatic pressure [db] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: p + +! OUTPUT variables: + !> fugacity of CO2 [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: fCO2 + +! LOCAL variables: + REAL(kind=r8) :: dpCO2, dtemp, tk, dPatm, prb + REAL(kind=r8) :: Ptot, Rgas_atm, B, Del, xCO2approx, xc2, fugcoeff + REAL(kind=r8) :: dfCO2 + + INTEGER :: i + +! REAL(kind=r8) :: sw_ptmp +! EXTERNAL sw_ptmp + + DO i = 1,N + dpCO2 = DBLE(pCO2(i)) + dtemp = DBLE(temp(i)) + dPatm = DBLE(Patm(i)) + tk = 273.15d0 + DBLE(temp(i)) !Absolute temperature (Kelvin) + prb = DBLE(p(i)) / 10.0d0 !Pressure effect (prb is in bars) + Ptot = dPatm + prb/1.01325d0 !Total pressure (atmospheric + hydrostatic) [atm] + Rgas_atm = 82.05736_r8 !R in (cm3 * atm) / (mol * K) from CODATA (2006) +! To compute fugcoeff, we need 3 other terms (B, Del, xc2) as well as 3 others above (tk, Ptot, Rgas_atm) + B = -1636.75d0 + 12.0408d0*tk - 0.0327957d0*(tk*tk) + 0.0000316528d0*(tk*tk*tk) + Del = 57.7d0 - 0.118d0*tk +! "x2" term often neglected (assumed = 1) in applications of Weiss's (1974) equation 9 +! x2 = 1 - x1 = 1 - xCO2 (it is very close to 1, but not quite) +! Let's assume that xCO2 = pCO2. Resulting fugcoeff is identical to 8th digit after the decimal. + xCO2approx = dpCO2 * 1.e-6_r8 + xc2 = (1.0d0 - xCO2approx)**2 + fugcoeff = EXP( Ptot*(B + 2.0d0*xc2*Del)/(Rgas_atm*tk) ) + dfCO2 = dpCO2 * fugcoeff + fCO2(i) = SGLE(dfCO2) + END DO + + RETURN +END SUBROUTINE p2fCO2 +END MODULE mp2fCO2 diff --git a/src/int_recom/recom/p80.F90 b/src/int_recom/recom/p80.F90 new file mode 100755 index 000000000..8efd55242 --- /dev/null +++ b/src/int_recom/recom/p80.F90 @@ -0,0 +1,50 @@ +!> \file p80.f90 +!! \BRIEF +!> Module with p80 function - compute pressure from depth +MODULE mp80 +CONTAINS +!> Function to compute pressure from depth using Saunder's (1981) formula with eos80. +FUNCTION p80(dpth,xlat) + + ! Compute Pressure from depth using Saunder's (1981) formula with eos80. + + ! Reference: + ! Saunders, Peter M. (1981) Practical conversion of pressure + ! to depth, J. Phys. Ooceanogr., 11, 573-574, (1981) + + ! Coded by: + ! R. Millard + ! March 9, 1983 + ! check value: p80=7500.004 dbars at lat=30 deg., depth=7321.45 meters + + ! Modified (slight format changes + added ref. details): + ! J. Orr, 16 April 2009 + + USE msingledouble + IMPLICIT NONE + +! Input variables: + !> depth [m] + REAL(kind=rx), INTENT(in) :: dpth + !> latitude [degrees] + REAL(kind=rx), INTENT(in) :: xlat + +! Output variable: + !> pressure [db] + REAL(kind=rx) :: p80 + +! Local variables: + REAL(kind=rx) :: pi + REAL(kind=rx) :: plat, d, c1 + + pi=3.141592654 + + plat = ABS(xlat*pi/180.) + d = SIN(plat) + c1 = 5.92e-3+d**2 * 5.25e-3 + + p80 = ((1-c1)-SQRT(((1-c1)**2)-(8.84e-6*dpth))) / 4.42e-6 + + RETURN +END FUNCTION p80 +END MODULE mp80 diff --git a/src/int_recom/recom/phsolvers.F90 b/src/int_recom/recom/phsolvers.F90 new file mode 100755 index 000000000..dfe9b8d17 --- /dev/null +++ b/src/int_recom/recom/phsolvers.F90 @@ -0,0 +1,1228 @@ +!> \file phsolvers.f90 +!! \BRIEF +!> Module with routines needed to solve pH-total alkalinity equation (Munhoven, 2013, GMD) +MODULE mphsolvers +! Module of fastest solvers from Munhoven (2013, Geosci. Model Dev., 6, 1367-1388) +! ! Taken from SolveSAPHE (mod_phsolvers.F90) & adapted very slightly for use with mocsy +! ! SolveSaphe is distributed under the GNU Lesser General Public License +! ! mocsy is distributed under the MIT License +! +! Modifications J. C. Orr, LSCE/IPSL, CEA-CNRS-UVSQ, France, 11 Sep 2014: +! 1) kept only the 3 fastest solvers (atgen, atsec, atfast) and routines which they call +! 2) reduced vertical white space: deleted many blank lines & comment lines that served as divisions +! 3) converted name from .F90 to .f90, deleting a few optional preprocesse if statements +! 4) read in mocsy computed equilibrium constants (as arguments) instead of USE MOD_CHEMCONST +! 5) converted routine names from upper case to lower case +! 6) commented out arguments and equations for NH4 and H2S acid systems + +USE msingledouble +USE Dual_Num_Auto_Diff +IMPLICIT NONE + +! General parameters +REAL(KIND=wp), PARAMETER :: pp_rdel_ah_target = 1.E-8_wp +REAL(KIND=wp), PARAMETER :: pp_ln10 = 2.302585092994045684018_wp + +! Maximum number of iterations for each method +INTEGER, PARAMETER :: jp_maxniter_atgen = 50 +INTEGER, PARAMETER :: jp_maxniter_atsec = 50 +INTEGER, PARAMETER :: jp_maxniter_atfast = 50 + +! Bookkeeping variables for each method +! - SOLVE_AT_GENERAL and SOLVE_AT_GENERAL_DNAD +INTEGER :: niter_atgen = jp_maxniter_atgen + +! - SOLVE_AT_GENERAL_SEC +INTEGER :: niter_atsec = jp_maxniter_atsec + +! - SOLVE_AT_FAST (variant of SOLVE_AT_GENERAL w/o bracketing +INTEGER :: niter_atfast = jp_maxniter_atfast + +! Keep the following functions private to avoid conflicts with +! other modules that provide similar ones. +!PRIVATE AHINI_FOR_AT + +CONTAINS +!=============================================================================== +SUBROUTINE anw_infsup(p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + p_alknw_inf, p_alknw_sup) + +! Subroutine returns the lower and upper bounds of "non-water-selfionization" +! contributions to total alkalinity (the infimum and the supremum), i.e +! inf(TA - [OH-] + [H+]) and sup(TA - [OH-] + [H+]) + +USE msingledouble +IMPLICIT NONE + +! Argument variables +REAL(KIND=wp), INTENT(IN) :: p_dictot +REAL(KIND=wp), INTENT(IN) :: p_bortot +REAL(KIND=wp), INTENT(IN) :: p_po4tot +REAL(KIND=wp), INTENT(IN) :: p_siltot +!REAL(KIND=wp), INTENT(IN) :: p_nh4tot +!REAL(KIND=wp), INTENT(IN) :: p_h2stot +REAL(KIND=wp), INTENT(IN) :: p_so4tot +REAL(KIND=wp), INTENT(IN) :: p_flutot +REAL(KIND=wp), INTENT(OUT) :: p_alknw_inf +REAL(KIND=wp), INTENT(OUT) :: p_alknw_sup + +p_alknw_inf = -p_po4tot - p_so4tot - p_flutot +p_alknw_sup = p_dictot + p_dictot + p_bortot & + + p_po4tot + p_po4tot + p_siltot !& +! + p_nh4tot + p_h2stot + +RETURN +END SUBROUTINE anw_infsup + +!=============================================================================== + +FUNCTION equation_at(p_alktot, p_h, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi, & + p_deriveqn) + + ! Purpose: Compute total alkalinity from ion concentrations and equilibrium constants + +USE msingledouble +IMPLICIT NONE +REAL(KIND=wp) :: equation_at + +! Argument variables +REAL(KIND=wp), INTENT(IN) :: p_alktot +REAL(KIND=wp), INTENT(IN) :: p_h +REAL(KIND=wp), INTENT(IN) :: p_dictot +REAL(KIND=wp), INTENT(IN) :: p_bortot +REAL(KIND=wp), INTENT(IN) :: p_po4tot +REAL(KIND=wp), INTENT(IN) :: p_siltot +!REAL(KIND=wp), INTENT(IN) :: p_nh4tot +!REAL(KIND=wp), INTENT(IN) :: p_h2stot +REAL(KIND=wp), INTENT(IN) :: p_so4tot +REAL(KIND=wp), INTENT(IN) :: p_flutot +REAL(KIND=wp), INTENT(IN) :: K0, K1, K2, Kb, Kw, Ks, Kf +REAL(KIND=wp), INTENT(IN) :: K1p, K2p, K3p, Ksi +REAL(KIND=wp), INTENT(OUT), OPTIONAL :: p_deriveqn + +! Local variables +!----------------- +REAL(KIND=wp) :: znumer_dic, zdnumer_dic, zdenom_dic, zalk_dic, zdalk_dic +REAL(KIND=wp) :: znumer_bor, zdnumer_bor, zdenom_bor, zalk_bor, zdalk_bor +REAL(KIND=wp) :: znumer_po4, zdnumer_po4, zdenom_po4, zalk_po4, zdalk_po4 +REAL(KIND=wp) :: znumer_sil, zdnumer_sil, zdenom_sil, zalk_sil, zdalk_sil +REAL(KIND=wp) :: znumer_nh4, zdnumer_nh4, zdenom_nh4, zalk_nh4, zdalk_nh4 +REAL(KIND=wp) :: znumer_h2s, zdnumer_h2s, zdenom_h2s, zalk_h2s, zdalk_h2s +REAL(KIND=wp) :: znumer_so4, zdnumer_so4, zdenom_so4, zalk_so4, zdalk_so4 +REAL(KIND=wp) :: znumer_flu, zdnumer_flu, zdenom_flu, zalk_flu, zdalk_flu +REAL(KIND=wp) :: zalk_wat, zdalk_wat +REAL(KIND=wp) :: aphscale + +! TOTAL H+ scale: conversion factor for Htot = aphscale * Hfree +aphscale = 1._wp + p_so4tot/Ks + +! H2CO3 - HCO3 - CO3 : n=2, m=0 +znumer_dic = 2._wp*K1*K2 + p_h* K1 +zdenom_dic = K1*K2 + p_h*( K1 + p_h) +zalk_dic = p_dictot * (znumer_dic/zdenom_dic) + +! B(OH)3 - B(OH)4 : n=1, m=0 +znumer_bor = Kb +zdenom_bor = Kb + p_h +zalk_bor = p_bortot * (znumer_bor/zdenom_bor) + +! H3PO4 - H2PO4 - HPO4 - PO4 : n=3, m=1 +znumer_po4 = 3._wp*K1p*K2p*K3p + p_h*(2._wp*K1p*K2p + p_h* K1p) +zdenom_po4 = K1p*K2p*K3p + p_h*( K1p*K2p + p_h*(K1p + p_h)) +zalk_po4 = p_po4tot * (znumer_po4/zdenom_po4 - 1._wp) ! Zero level of H3PO4 = 1 + +! H4SiO4 - H3SiO4 : n=1, m=0 +znumer_sil = Ksi +zdenom_sil = Ksi + p_h +zalk_sil = p_siltot * (znumer_sil/zdenom_sil) + +! NH4 - NH3 : n=1, m=0 +!znumer_nh4 = api1_nh4 +!zdenom_nh4 = api1_nh4 + p_h +!zalk_nh4 = p_nh4tot * (znumer_nh4/zdenom_nh4) +! Note: api1_nh4 = Knh4 + +! H2S - HS : n=1, m=0 +!znumer_h2s = api1_h2s +!zdenom_h2s = api1_h2s + p_h +!zalk_h2s = p_h2stot * (znumer_h2s/zdenom_h2s) +! Note: api1_h2s = Kh2s + +! HSO4 - SO4 : n=1, m=1 +znumer_so4 = Ks +zdenom_so4 = Ks + p_h +zalk_so4 = p_so4tot * (znumer_so4/zdenom_so4 - 1._wp) + +! HF - F : n=1, m=1 +znumer_flu = Kf +zdenom_flu = Kf + p_h +zalk_flu = p_flutot * (znumer_flu/zdenom_flu - 1._wp) + +! H2O - OH +zalk_wat = Kw/p_h - p_h/aphscale + +equation_at = zalk_dic + zalk_bor + zalk_po4 + zalk_sil & + + zalk_so4 + zalk_flu & + + zalk_wat - p_alktot + +IF(PRESENT(p_deriveqn)) THEN + ! H2CO3 - HCO3 - CO3 : n=2 + zdnumer_dic = K1*K1*K2 + p_h*(4._wp*K1*K2 & + + p_h* K1 ) + zdalk_dic = -p_dictot*(zdnumer_dic/zdenom_dic**2) + + ! B(OH)3 - B(OH)4 : n=1 + zdnumer_bor = Kb + zdalk_bor = -p_bortot*(zdnumer_bor/zdenom_bor**2) + + ! H3PO4 - H2PO4 - HPO4 - PO4 : n=3 + zdnumer_po4 = K1p*K2p*K1p*K2p*K3p + p_h*(4._wp*K1p*K1p*K2p*K3p & + + p_h*(9._wp*K1p*K2p*K3p + K1p*K1p*K2p & + + p_h*(4._wp*K1p*K2p & + + p_h* K1p))) + zdalk_po4 = -p_po4tot * (zdnumer_po4/zdenom_po4**2) + + ! H4SiO4 - H3SiO4 : n=1 + zdnumer_sil = Ksi + zdalk_sil = -p_siltot * (zdnumer_sil/zdenom_sil**2) + +! ! NH4 - NH3 : n=1 +! zdnumer_nh4 = Knh4 +! zdalk_nh4 = -p_nh4tot * (zdnumer_nh4/zdenom_nh4**2) + +! ! H2S - HS : n=1 +! zdnumer_h2s = api1_h2s +! zdalk_h2s = -p_h2stot * (zdnumer_h2s/zdenom_h2s**2) + + ! HSO4 - SO4 : n=1 + zdnumer_so4 = Ks + zdalk_so4 = -p_so4tot * (zdnumer_so4/zdenom_so4**2) + + ! HF - F : n=1 + zdnumer_flu = Kf + zdalk_flu = -p_flutot * (zdnumer_flu/zdenom_flu**2) + +! p_deriveqn = zdalk_dic + zdalk_bor + zdalk_po4 + zdalk_sil & +! + zdalk_nh4 + zdalk_h2s + zdalk_so4 + zdalk_flu & +! - Kw/p_h**2 - 1._wp/aphscale + p_deriveqn = zdalk_dic + zdalk_bor + zdalk_po4 + zdalk_sil & + + zdalk_so4 + zdalk_flu & + - Kw/p_h**2 - 1._wp/aphscale +ENDIF +RETURN +END FUNCTION equation_at + +!=============================================================================== + +FUNCTION equation_at_DNAD(p_alktot, p_h, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi, & + p_deriveqn) + ! Purpose: Compute total alkalinity from ion concentrations and equilibrium constants + ! and compute its partial derivatives using dual numbers (DNAD) technique + + ! It is similar to subroutine equation_at above except that it computes + ! partial derivatives of total alkalinity + ! with respect to four input variables : ta, tc pt and sit + +USE msingledouble +IMPLICIT NONE +TYPE(DUAL_NUM) ::equation_at_DNAD + +! Argument variables +TYPE(DUAL_NUM), INTENT(IN) :: p_alktot +TYPE(DUAL_NUM), INTENT(IN) :: p_h +TYPE(DUAL_NUM), INTENT(IN) :: p_dictot +TYPE(DUAL_NUM), INTENT(IN) :: p_bortot +TYPE(DUAL_NUM), INTENT(IN) :: p_po4tot +TYPE(DUAL_NUM), INTENT(IN) :: p_siltot +!TYPE(DUAL_NUM), INTENT(IN) :: p_nh4tot +!TYPE(DUAL_NUM), INTENT(IN) :: p_h2stot +TYPE(DUAL_NUM), INTENT(IN) :: p_so4tot +TYPE(DUAL_NUM), INTENT(IN) :: p_flutot +TYPE(DUAL_NUM), INTENT(IN) :: K0, K1, K2, Kb, Kw, Ks, Kf +TYPE(DUAL_NUM), INTENT(IN) :: K1p, K2p, K3p, Ksi +TYPE(DUAL_NUM), INTENT(OUT), OPTIONAL :: p_deriveqn + +! Local variables +!----------------- +TYPE(DUAL_NUM) ::znumer_dic, zdnumer_dic, zdenom_dic, zalk_dic, zdalk_dic +TYPE(DUAL_NUM) ::znumer_bor, zdnumer_bor, zdenom_bor, zalk_bor, zdalk_bor +TYPE(DUAL_NUM) ::znumer_po4, zdnumer_po4, zdenom_po4, zalk_po4, zdalk_po4 +TYPE(DUAL_NUM) ::znumer_sil, zdnumer_sil, zdenom_sil, zalk_sil, zdalk_sil +TYPE(DUAL_NUM) ::znumer_nh4, zdnumer_nh4, zdenom_nh4, zalk_nh4, zdalk_nh4 +TYPE(DUAL_NUM) ::znumer_h2s, zdnumer_h2s, zdenom_h2s, zalk_h2s, zdalk_h2s +TYPE(DUAL_NUM) ::znumer_so4, zdnumer_so4, zdenom_so4, zalk_so4, zdalk_so4 +TYPE(DUAL_NUM) ::znumer_flu, zdnumer_flu, zdenom_flu, zalk_flu, zdalk_flu +TYPE(DUAL_NUM) :: zalk_wat, zdalk_wat +TYPE(DUAL_NUM) ::aphscale + +! TOTAL H+ scale: conversion factor for Htot = aphscale * Hfree +aphscale = 1._wp + p_so4tot/Ks + +! H2CO3 - HCO3 - CO3 : n=2, m=0 +znumer_dic = 2._wp*K1*K2 + p_h* K1 +zdenom_dic = K1*K2 + p_h*( K1 + p_h) +zalk_dic = p_dictot * (znumer_dic/zdenom_dic) + +! B(OH)3 - B(OH)4 : n=1, m=0 +znumer_bor = Kb +zdenom_bor = Kb + p_h +zalk_bor = p_bortot * (znumer_bor/zdenom_bor) + +! H3PO4 - H2PO4 - HPO4 - PO4 : n=3, m=1 +znumer_po4 = 3._wp*K1p*K2p*K3p + p_h*(2._wp*K1p*K2p + p_h* K1p) +zdenom_po4 = K1p*K2p*K3p + p_h*( K1p*K2p + p_h*(K1p + p_h)) +zalk_po4 = p_po4tot * (znumer_po4/zdenom_po4 - 1._wp) ! Zero level of H3PO4 = 1 + +! H4SiO4 - H3SiO4 : n=1, m=0 +znumer_sil = Ksi +zdenom_sil = Ksi + p_h +zalk_sil = p_siltot * (znumer_sil/zdenom_sil) + +! NH4 - NH3 : n=1, m=0 +!znumer_nh4 = api1_nh4 +!zdenom_nh4 = api1_nh4 + p_h +!zalk_nh4 = p_nh4tot * (znumer_nh4/zdenom_nh4) +! Note: api1_nh4 = Knh4 + +! H2S - HS : n=1, m=0 +!znumer_h2s = api1_h2s +!zdenom_h2s = api1_h2s + p_h +!zalk_h2s = p_h2stot * (znumer_h2s/zdenom_h2s) +! Note: api1_h2s = Kh2s + +! HSO4 - SO4 : n=1, m=1 +znumer_so4 = Ks +zdenom_so4 = Ks + p_h +zalk_so4 = p_so4tot * (znumer_so4/zdenom_so4 - 1._wp) + +! HF - F : n=1, m=1 +znumer_flu = Kf +zdenom_flu = Kf + p_h +zalk_flu = p_flutot * (znumer_flu/zdenom_flu - 1._wp) + +! H2O - OH +zalk_wat = Kw/p_h - p_h/aphscale + +equation_at_DNAD = zalk_dic + zalk_bor + zalk_po4 + zalk_sil & + + zalk_so4 + zalk_flu & + + zalk_wat - p_alktot + +IF(PRESENT(p_deriveqn)) THEN + ! H2CO3 - HCO3 - CO3 : n=2 + zdnumer_dic = K1*K1*K2 + p_h*(4._wp*K1*K2 & + + p_h* K1 ) + zdalk_dic = -p_dictot*(zdnumer_dic/zdenom_dic**2) + + ! B(OH)3 - B(OH)4 : n=1 + zdnumer_bor = Kb + zdalk_bor = -p_bortot*(zdnumer_bor/zdenom_bor**2) + + ! H3PO4 - H2PO4 - HPO4 - PO4 : n=3 + zdnumer_po4 = K1p*K2p*K1p*K2p*K3p + p_h*(4._wp*K1p*K1p*K2p*K3p & + + p_h*(9._wp*K1p*K2p*K3p + K1p*K1p*K2p & + + p_h*(4._wp*K1p*K2p & + + p_h* K1p))) + zdalk_po4 = -p_po4tot * (zdnumer_po4/zdenom_po4**2) + + ! H4SiO4 - H3SiO4 : n=1 + zdnumer_sil = Ksi + zdalk_sil = -p_siltot * (zdnumer_sil/zdenom_sil**2) + +! ! NH4 - NH3 : n=1 +! zdnumer_nh4 = Knh4 +! zdalk_nh4 = -p_nh4tot * (zdnumer_nh4/zdenom_nh4**2) + +! ! H2S - HS : n=1 +! zdnumer_h2s = api1_h2s +! zdalk_h2s = -p_h2stot * (zdnumer_h2s/zdenom_h2s**2) + + ! HSO4 - SO4 : n=1 + zdnumer_so4 = Ks + zdalk_so4 = -p_so4tot * (zdnumer_so4/zdenom_so4**2) + + ! HF - F : n=1 + zdnumer_flu = Kf + zdalk_flu = -p_flutot * (zdnumer_flu/zdenom_flu**2) + +! p_deriveqn = zdalk_dic + zdalk_bor + zdalk_po4 + zdalk_sil & +! + zdalk_nh4 + zdalk_h2s + zdalk_so4 + zdalk_flu & +! - Kw/p_h**2 - 1._wp/aphscale + p_deriveqn = zdalk_dic + zdalk_bor + zdalk_po4 + zdalk_sil & + + zdalk_so4 + zdalk_flu & + - Kw/p_h**2 - 1._wp/aphscale +ENDIF +RETURN +END FUNCTION equation_at_DNAD + +!=============================================================================== + +SUBROUTINE ahini_for_at(p_alkcb, p_dictot, p_bortot, K1, K2, Kb, p_hini) + +! Subroutine returns the root for the 2nd order approximation of the +! DIC -- B_T -- A_CB equation for [H+] (reformulated as a cubic polynomial) +! around the local minimum, if it exists. + +! Returns * 1E-03_wp if p_alkcb <= 0 +! * 1E-10_wp if p_alkcb >= 2*p_dictot + p_bortot +! * 1E-07_wp if 0 < p_alkcb < 2*p_dictot + p_bortot +! and the 2nd order approximation does not have a solution + +!USE MOD_CHEMCONST, ONLY : api1_dic, api2_dic, api1_bor + +USE msingledouble +IMPLICIT NONE + +! Argument variables +!-------------------- +REAL(KIND=wp), INTENT(IN) :: p_alkcb, p_dictot, p_bortot +REAL(KIND=wp), INTENT(IN) :: K1, K2, Kb +REAL(KIND=wp), INTENT(OUT) :: p_hini + +! Local variables +!----------------- +REAL(KIND=wp) :: zca, zba +REAL(KIND=wp) :: zd, zsqrtd, zhmin +REAL(KIND=wp) :: za2, za1, za0 + +IF (p_alkcb <= 0._wp) THEN + p_hini = 1.e-3_wp +ELSEIF (p_alkcb >= (2._wp*p_dictot + p_bortot)) THEN + p_hini = 1.e-10_wp +ELSE + zca = p_dictot/p_alkcb + zba = p_bortot/p_alkcb + + ! Coefficients of the cubic polynomial + za2 = Kb*(1._wp - zba) + K1*(1._wp-zca) + za1 = K1*Kb*(1._wp - zba - zca) + K1*K2*(1._wp - (zca+zca)) + za0 = K1*K2*Kb*(1._wp - zba - (zca+zca)) + ! Taylor expansion around the minimum + zd = za2*za2 - 3._wp*za1 ! Discriminant of the quadratic equation + ! for the minimum close to the root + + IF(zd > 0._wp) THEN ! If the discriminant is positive + zsqrtd = SQRT(zd) + IF(za2 < 0) THEN + zhmin = (-za2 + zsqrtd)/3._wp + ELSE + zhmin = -za1/(za2 + zsqrtd) + ENDIF + p_hini = zhmin + SQRT(-(za0 + zhmin*(za1 + zhmin*(za2 + zhmin)))/zsqrtd) + ELSE + p_hini = 1.e-7_wp + ENDIF + +ENDIF +RETURN +END SUBROUTINE ahini_for_at + +!=============================================================================== + +FUNCTION solve_at_general(p_alktot, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi, & + p_hini, p_val) + +! Purpose: Compute [H°] ion concentration from sea-water ion concentrations, +! alkalinity, DIC, and equilibrium constants +! Universal pH solver that converges from any given initial value, +! determines upper an lower bounds for the solution if required + +USE msingledouble +IMPLICIT NONE +REAL(KIND=wp) :: SOLVE_AT_GENERAL + +! Argument variables +!-------------------- +REAL(KIND=wp), INTENT(IN) :: p_alktot +REAL(KIND=wp), INTENT(IN) :: p_dictot +REAL(KIND=wp), INTENT(IN) :: p_bortot +REAL(KIND=wp), INTENT(IN) :: p_po4tot +REAL(KIND=wp), INTENT(IN) :: p_siltot +!REAL(KIND=wp), INTENT(IN) :: p_nh4tot +!REAL(KIND=wp), INTENT(IN) :: p_h2stot +REAL(KIND=wp), INTENT(IN) :: p_so4tot +REAL(KIND=wp), INTENT(IN) :: p_flutot +REAL(KIND=wp), INTENT(IN) :: K0, K1, K2, Kb, Kw, Ks, Kf +REAL(KIND=wp), INTENT(IN) :: K1p, K2p, K3p, Ksi +REAL(KIND=wp), INTENT(IN), OPTIONAL :: p_hini +REAL(KIND=wp), INTENT(OUT), OPTIONAL :: p_val + +! Local variables +!----------------- +REAL(KIND=wp) :: zh_ini, zh, zh_prev, zh_lnfactor +REAL(KIND=wp) :: zalknw_inf, zalknw_sup +REAL(KIND=wp) :: zh_min, zh_max +REAL(KIND=wp) :: zdelta, zh_delta +REAL(KIND=wp) :: zeqn, zdeqndh, zeqn_absmin +REAL(KIND=wp) :: aphscale +LOGICAL :: l_exitnow +REAL(KIND=wp), PARAMETER :: pz_exp_threshold = 1.0_wp + +! TOTAL H+ scale: conversion factor for Htot = aphscale * Hfree +aphscale = 1._wp + p_so4tot/Ks + +IF(PRESENT(p_hini)) THEN + zh_ini = p_hini +ELSE + CALL ahini_for_at(p_alktot, p_dictot, p_bortot, K1, K2, Kb, zh_ini) +ENDIF + + CALL anw_infsup(p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + zalknw_inf, zalknw_sup) + +zdelta = (p_alktot-zalknw_inf)**2 + 4._wp*Kw/aphscale + +IF(p_alktot >= zalknw_inf) THEN + zh_min = 2._wp*Kw /( p_alktot-zalknw_inf + SQRT(zdelta) ) +ELSE + zh_min = aphscale*(-(p_alktot-zalknw_inf) + SQRT(zdelta) ) / 2._wp +ENDIF + +zdelta = (p_alktot-zalknw_sup)**2 + 4._wp*Kw/aphscale + +IF(p_alktot <= zalknw_sup) THEN + zh_max = aphscale*(-(p_alktot-zalknw_sup) + SQRT(zdelta) ) / 2._wp +ELSE + zh_max = 2._wp*Kw /( p_alktot-zalknw_sup + SQRT(zdelta) ) +ENDIF + +zh = MAX(MIN(zh_max, zh_ini), zh_min) +niter_atgen = 0 ! Reset counters of iterations +zeqn_absmin = HUGE(1._wp) + +DO + IF(niter_atgen >= jp_maxniter_atgen) THEN + zh = -1._wp + EXIT + ENDIF + + zh_prev = zh + zeqn = equation_at(p_alktot, zh, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi, & + P_DERIVEQN = zdeqndh) + + ! Adapt bracketing interval + IF(zeqn > 0._wp) THEN + zh_min = zh_prev + ELSEIF(zeqn < 0._wp) THEN + zh_max = zh_prev + ELSE + ! zh is the root; unlikely but, one never knows + EXIT + ENDIF + + ! Now determine the next iterate zh + niter_atgen = niter_atgen + 1 + + IF(ABS(zeqn) >= 0.5_wp*zeqn_absmin) THEN + ! if the function evaluation at the current point is + ! not decreasing faster than with a bisection step (at least linearly) + ! in absolute value take one bisection step on [ph_min, ph_max] + ! ph_new = (ph_min + ph_max)/2d0 + ! + ! In terms of [H]_new: + ! [H]_new = 10**(-ph_new) + ! = 10**(-(ph_min + ph_max)/2d0) + ! = SQRT(10**(-(ph_min + phmax))) + ! = SQRT(zh_max * zh_min) + zh = SQRT(zh_max * zh_min) + zh_lnfactor = (zh - zh_prev)/zh_prev ! Required to test convergence below + ELSE + ! dzeqn/dpH = dzeqn/d[H] * d[H]/dpH + ! = -zdeqndh * LOG(10) * [H] + ! \Delta pH = -zeqn/(zdeqndh*d[H]/dpH) = zeqn/(zdeqndh*[H]*LOG(10)) + ! + ! pH_new = pH_old + \deltapH + ! + ! [H]_new = 10**(-pH_new) + ! = 10**(-pH_old - \Delta pH) + ! = [H]_old * 10**(-zeqn/(zdeqndh*[H]_old*LOG(10))) + ! = [H]_old * EXP(-LOG(10)*zeqn/(zdeqndh*[H]_old*LOG(10))) + ! = [H]_old * EXP(-zeqn/(zdeqndh*[H]_old)) + + zh_lnfactor = -zeqn/(zdeqndh*zh_prev) + + IF(ABS(zh_lnfactor) > pz_exp_threshold) THEN + zh = zh_prev*EXP(zh_lnfactor) + ELSE + zh_delta = zh_lnfactor*zh_prev + zh = zh_prev + zh_delta + ENDIF + + IF( zh < zh_min ) THEN + ! if [H]_new < [H]_min + ! i.e., if ph_new > ph_max then + ! take one bisection step on [ph_prev, ph_max] + ! ph_new = (ph_prev + ph_max)/2d0 + ! In terms of [H]_new: + ! [H]_new = 10**(-ph_new) + ! = 10**(-(ph_prev + ph_max)/2d0) + ! = SQRT(10**(-(ph_prev + phmax))) + ! = SQRT([H]_old*10**(-ph_max)) + ! = SQRT([H]_old * zh_min) + zh = SQRT(zh_prev * zh_min) + zh_lnfactor = (zh - zh_prev)/zh_prev ! Required to test convergence below + ENDIF + + IF( zh > zh_max ) THEN + ! if [H]_new > [H]_max + ! i.e., if ph_new < ph_min, then + ! take one bisection step on [ph_min, ph_prev] + ! ph_new = (ph_prev + ph_min)/2d0 + ! In terms of [H]_new: + ! [H]_new = 10**(-ph_new) + ! = 10**(-(ph_prev + ph_min)/2d0) + ! = SQRT(10**(-(ph_prev + ph_min))) + ! = SQRT([H]_old*10**(-ph_min)) + ! = SQRT([H]_old * zhmax) + zh = SQRT(zh_prev * zh_max) + zh_lnfactor = (zh - zh_prev)/zh_prev ! Required to test convergence below + ENDIF + ENDIF + + zeqn_absmin = MIN( ABS(zeqn), zeqn_absmin) + + ! Stop iterations once |\delta{[H]}/[H]| < rdel + ! <=> |(zh - zh_prev)/zh_prev| = |EXP(-zeqn/(zdeqndh*zh_prev)) -1| < rdel + ! |EXP(-zeqn/(zdeqndh*zh_prev)) -1| ~ |zeqn/(zdeqndh*zh_prev)| + + ! Alternatively: + ! |\Delta pH| = |zeqn/(zdeqndh*zh_prev*LOG(10))| + ! ~ 1/LOG(10) * |\Delta [H]|/[H] + ! < 1/LOG(10) * rdel + + ! Hence |zeqn/(zdeqndh*zh)| < rdel + + ! rdel <-- pp_rdel_ah_target + + l_exitnow = (ABS(zh_lnfactor) < pp_rdel_ah_target) + + IF(l_exitnow) EXIT +ENDDO + +solve_at_general = zh + +IF(PRESENT(p_val)) THEN + IF(zh > 0._wp) THEN + p_val = equation_at(p_alktot, zh, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi) + ELSE + p_val = HUGE(1._wp) + ENDIF +ENDIF +RETURN +END FUNCTION solve_at_general + +!=============================================================================== + +FUNCTION solve_at_general_DNAD (p_alktot, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi, & + p_hini, p_val) + +! Purpose: Compute [H+] ion concentration from sea-water ion concentrations, +! alkalinity, DIC, and equilibrium constants +! It also computes partial derivatives of [H+] using dual numbers (DNAD) technique + +! Universal pH solver that converges from any given initial value, +! determines upper an lower bounds for the solution if required + +! It is similar to subroutine solve_at_general above except that it computes +! partial derivatives of [H°] ion concentration +! with respect to four input variables : ta, tc pt and sit + +! NOTE : all input and output parameters are of type DUAL_NUM (dual number) +! where they are of type REAL in standard version of this subroutine. +! But only four input parameters are required to be passed as such : +! p_alktot, p_dictot, p_po4tot and p_siltot + +USE msingledouble +IMPLICIT NONE +! value and partial derivatives of [H+] are returned in one objet of type DUAL_NUM +TYPE(DUAL_NUM) ::SOLVE_AT_GENERAL_DNAD + +! Argument variables +!-------------------- +TYPE(DUAL_NUM), INTENT(IN) :: p_alktot +TYPE(DUAL_NUM), INTENT(IN) :: p_dictot +TYPE(DUAL_NUM), INTENT(IN) :: p_bortot +TYPE(DUAL_NUM), INTENT(IN) :: p_po4tot +TYPE(DUAL_NUM), INTENT(IN) :: p_siltot +!TYPE(DUAL_NUM), INTENT(IN) :: p_nh4tot +!TYPE(DUAL_NUM), INTENT(IN) :: p_h2stot +TYPE(DUAL_NUM), INTENT(IN) :: p_so4tot +TYPE(DUAL_NUM), INTENT(IN) :: p_flutot +TYPE(DUAL_NUM), INTENT(IN) :: K0, K1, K2, Kb, Kw, Ks, Kf +TYPE(DUAL_NUM), INTENT(IN) :: K1p, K2p, K3p, Ksi +TYPE(DUAL_NUM), INTENT(IN), OPTIONAL :: p_hini +TYPE(DUAL_NUM), INTENT(OUT), OPTIONAL :: p_val + +! Local variables +!----------------- +REAL(KIND=wp) :: zh_ini +TYPE(DUAL_NUM) :: zh, zh_prev, zh_lnfactor +REAL(KIND=wp) :: zalknw_inf, zalknw_sup +TYPE(DUAL_NUM) :: zh_min, zh_max +TYPE(DUAL_NUM) :: zdelta, zh_delta +TYPE(DUAL_NUM) :: zeqn, zdeqndh, zeqn_absmin +TYPE(DUAL_NUM) :: aphscale +LOGICAL :: l_exitnow +REAL(KIND=wp), PARAMETER :: pz_exp_threshold = 1.0_wp + +! TOTAL H+ scale: conversion factor for Htot = aphscale * Hfree +aphscale = 1._wp + p_so4tot/Ks + +IF(PRESENT(p_hini)) THEN + zh_ini = p_hini%x_ad_ +ELSE + CALL ahini_for_at(p_alktot%x_ad_, p_dictot%x_ad_, p_bortot%x_ad_, K1%x_ad_, K2%x_ad_, Kb%x_ad_, zh_ini) +ENDIF + + CALL anw_infsup(p_dictot%x_ad_, p_bortot%x_ad_, & + p_po4tot%x_ad_, p_siltot%x_ad_, & + p_so4tot%x_ad_, p_flutot%x_ad_, & + zalknw_inf, zalknw_sup) + +zdelta = (p_alktot-zalknw_inf)**2 + 4._wp*Kw/aphscale + +IF(p_alktot >= zalknw_inf) THEN + zh_min = 2._wp*Kw /( p_alktot-zalknw_inf + SQRT(zdelta) ) +ELSE + zh_min = aphscale*(-(p_alktot-zalknw_inf) + SQRT(zdelta) ) / 2._wp +ENDIF + +zdelta = (p_alktot-zalknw_sup)**2 + 4._wp*Kw/aphscale + +IF(p_alktot <= zalknw_sup) THEN + zh_max = aphscale*(-(p_alktot-zalknw_sup) + SQRT(zdelta) ) / 2._wp +ELSE + zh_max = 2._wp*Kw /( p_alktot-zalknw_sup + SQRT(zdelta) ) +ENDIF + +zh = MAX(MIN(zh_max, zh_ini), zh_min) +niter_atgen = 0 ! Reset counters of iterations +zeqn_absmin = HUGE(1._wp) + +DO + IF(niter_atgen >= jp_maxniter_atgen) THEN + zh = -1._wp + EXIT + ENDIF + + zh_prev = zh + zeqn = equation_at_DNAD(p_alktot, zh, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi, & + P_DERIVEQN = zdeqndh) + + ! Adapt bracketing interval + IF(zeqn > 0._wp) THEN + zh_min = zh_prev + ELSEIF(zeqn < 0._wp) THEN + zh_max = zh_prev + ELSE + ! zh is the root; unlikely but, one never knows + EXIT + ENDIF + + ! Now determine the next iterate zh + niter_atgen = niter_atgen + 1 + + IF(ABS(zeqn) >= 0.5_wp*zeqn_absmin) THEN + ! if the function evaluation at the current point is + ! not decreasing faster than with a bisection step (at least linearly) + ! in absolute value take one bisection step on [ph_min, ph_max] + ! ph_new = (ph_min + ph_max)/2d0 + ! + ! In terms of [H]_new: + ! [H]_new = 10**(-ph_new) + ! = 10**(-(ph_min + ph_max)/2d0) + ! = SQRT(10**(-(ph_min + phmax))) + ! = SQRT(zh_max * zh_min) + zh = SQRT(zh_max * zh_min) + zh_lnfactor = (zh - zh_prev)/zh_prev ! Required to test convergence below + ELSE + ! dzeqn/dpH = dzeqn/d[H] * d[H]/dpH + ! = -zdeqndh * LOG(10) * [H] + ! \Delta pH = -zeqn/(zdeqndh*d[H]/dpH) = zeqn/(zdeqndh*[H]*LOG(10)) + ! + ! pH_new = pH_old + \deltapH + ! + ! [H]_new = 10**(-pH_new) + ! = 10**(-pH_old - \Delta pH) + ! = [H]_old * 10**(-zeqn/(zdeqndh*[H]_old*LOG(10))) + ! = [H]_old * EXP(-LOG(10)*zeqn/(zdeqndh*[H]_old*LOG(10))) + ! = [H]_old * EXP(-zeqn/(zdeqndh*[H]_old)) + + zh_lnfactor = -zeqn/(zdeqndh*zh_prev) + + IF(ABS(zh_lnfactor) > pz_exp_threshold) THEN + zh = zh_prev*EXP(zh_lnfactor) + ELSE + zh_delta = zh_lnfactor*zh_prev + zh = zh_prev + zh_delta + ENDIF + + IF( zh < zh_min ) THEN + ! if [H]_new < [H]_min + ! i.e., if ph_new > ph_max then + ! take one bisection step on [ph_prev, ph_max] + ! ph_new = (ph_prev + ph_max)/2d0 + ! In terms of [H]_new: + ! [H]_new = 10**(-ph_new) + ! = 10**(-(ph_prev + ph_max)/2d0) + ! = SQRT(10**(-(ph_prev + phmax))) + ! = SQRT([H]_old*10**(-ph_max)) + ! = SQRT([H]_old * zh_min) + zh = SQRT(zh_prev * zh_min) + zh_lnfactor = (zh - zh_prev)/zh_prev ! Required to test convergence below + ENDIF + + IF( zh > zh_max ) THEN + ! if [H]_new > [H]_max + ! i.e., if ph_new < ph_min, then + ! take one bisection step on [ph_min, ph_prev] + ! ph_new = (ph_prev + ph_min)/2d0 + ! In terms of [H]_new: + ! [H]_new = 10**(-ph_new) + ! = 10**(-(ph_prev + ph_min)/2d0) + ! = SQRT(10**(-(ph_prev + ph_min))) + ! = SQRT([H]_old*10**(-ph_min)) + ! = SQRT([H]_old * zhmax) + zh = SQRT(zh_prev * zh_max) + zh_lnfactor = (zh - zh_prev)/zh_prev ! Required to test convergence below + ENDIF + ENDIF + + zeqn_absmin = MIN( ABS(zeqn), zeqn_absmin) + + ! Stop iterations once |\delta{[H]}/[H]| < rdel + ! <=> |(zh - zh_prev)/zh_prev| = |EXP(-zeqn/(zdeqndh*zh_prev)) -1| < rdel + ! |EXP(-zeqn/(zdeqndh*zh_prev)) -1| ~ |zeqn/(zdeqndh*zh_prev)| + + ! Alternatively: + ! |\Delta pH| = |zeqn/(zdeqndh*zh_prev*LOG(10))| + ! ~ 1/LOG(10) * |\Delta [H]|/[H] + ! < 1/LOG(10) * rdel + + ! Hence |zeqn/(zdeqndh*zh)| < rdel + + ! rdel <-- pp_rdel_ah_target + + l_exitnow = (ABS(zh_lnfactor) < pp_rdel_ah_target) + + IF(l_exitnow) EXIT +ENDDO + +solve_at_general_DNAD = zh + +IF(PRESENT(p_val)) THEN + IF(zh > 0._wp) THEN + p_val = equation_at_DNAD(p_alktot, zh, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi) + ELSE + p_val = HUGE(1._wp) + ENDIF +ENDIF +RETURN +END FUNCTION solve_at_general_DNAD + +!=============================================================================== + +FUNCTION solve_at_general_sec(p_alktot, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi, & + p_hini, p_val) + +! Universal pH solver that converges from any given initial value, +! determines upper an lower bounds for the solution if required + +!USE MOD_CHEMCONST, ONLY: api1_wat, aphscale +USE msingledouble +IMPLICIT NONE +REAL(KIND=wp) :: SOLVE_AT_GENERAL_SEC + +! Argument variables +REAL(KIND=wp), INTENT(IN) :: p_alktot +REAL(KIND=wp), INTENT(IN) :: p_dictot +REAL(KIND=wp), INTENT(IN) :: p_bortot +REAL(KIND=wp), INTENT(IN) :: p_po4tot +REAL(KIND=wp), INTENT(IN) :: p_siltot +!REAL(KIND=wp), INTENT(IN) :: p_nh4tot +!REAL(KIND=wp), INTENT(IN) :: p_h2stot +REAL(KIND=wp), INTENT(IN) :: p_so4tot +REAL(KIND=wp), INTENT(IN) :: p_flutot +REAL(KIND=wp), INTENT(IN) :: K0, K1, K2, Kb, Kw, Ks, Kf +REAL(KIND=wp), INTENT(IN) :: K1p, K2p, K3p, Ksi +REAL(KIND=wp), INTENT(IN), OPTIONAL :: p_hini +REAL(KIND=wp), INTENT(OUT), OPTIONAL :: p_val + +! Local variables +REAL(KIND=wp) :: zh_ini, zh, zh_1, zh_2, zh_delta +REAL(KIND=wp) :: zalknw_inf, zalknw_sup +REAL(KIND=wp) :: zh_min, zh_max +REAL(KIND=wp) :: zeqn, zeqn_1, zeqn_2, zeqn_absmin +REAL(KIND=wp) :: zdelta +REAL(KIND=wp) :: aphscale +LOGICAL :: l_exitnow + +! TOTAL H+ scale: conversion factor for Htot = aphscale * Hfree +aphscale = 1._wp + p_so4tot/Ks + +IF(PRESENT(p_hini)) THEN + zh_ini = p_hini +ELSE + CALL ahini_for_at(p_alktot, p_dictot, p_bortot, K1, K2, Kb, zh_ini) +ENDIF + + CALL anw_infsup(p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + zalknw_inf, zalknw_sup) + +zdelta = (p_alktot-zalknw_inf)**2 + 4._wp*Kw/aphscale + +IF(p_alktot >= zalknw_inf) THEN + zh_min = 2._wp*Kw /( p_alktot-zalknw_inf + SQRT(zdelta) ) +ELSE + zh_min = aphscale*(-(p_alktot-zalknw_inf) + SQRT(zdelta) ) / 2._wp +ENDIF + +zdelta = (p_alktot-zalknw_sup)**2 + 4._wp*Kw/aphscale + +IF(p_alktot <= zalknw_sup) THEN + zh_max = aphscale*(-(p_alktot-zalknw_sup) + SQRT(zdelta) ) / 2._wp +ELSE + zh_max = 2._wp*Kw /( p_alktot-zalknw_sup + SQRT(zdelta) ) +ENDIF + +zh = MAX(MIN(zh_max, zh_ini), zh_min) +niter_atsec = 0 ! Reset counters of iterations + +! Prepare the secant iterations: two initial (zh, zeqn) pairs are required +! We have the starting value, that needs to be completed by the evaluation +! of the equation value it produces. + +! Complete the initial value with its equation evaluation +! (will take the role of the $n-2$ iterate at the first secant evaluation) + +niter_atsec = 0 ! zh_2 is the initial value; + +zh_2 = zh +zeqn_2 = equation_at(p_alktot, zh_2, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi) + +zeqn_absmin = ABS(zeqn_2) + +! Adapt bracketing interval and heuristically set zh_1 +IF(zeqn_2 < 0._wp) THEN + ! If zeqn_2 < 0, then we adjust zh_max: + ! we can be sure that zh_min < zh_2 < zh_max. + zh_max = zh_2 + ! for zh_1, try 25% (0.1 pH units) below the current zh_max, + ! but stay above SQRT(zh_min*zh_max), which would be equivalent + ! to a bisection step on [pH@zh_min, pH@zh_max] + zh_1 = MAX(zh_max/1.25_wp, SQRT(zh_min*zh_max)) +ELSEIF(zeqn_2 > 0._wp) THEN + ! If zeqn_2 < 0, then we adjust zh_min: + ! we can be sure that zh_min < zh_2 < zh_max. + zh_min = zh_2 + ! for zh_1, try 25% (0.1 pH units) above the current zh_min, + ! but stay below SQRT(zh_min*zh_max) which would be equivalent + ! to a bisection step on [pH@zh_min, pH@zh_max] + zh_1 = MIN(zh_min*1.25_wp, SQRT(zh_min*zh_max)) +ELSE ! we have got the root; unlikely, but one never knows + solve_at_general_sec = zh_2 + IF(PRESENT(p_val)) p_val = zeqn_2 + RETURN +ENDIF + +! We now have the first pair completed (zh_2, zeqn_2). +! Define the second one (zh_1, zeqn_1), which is also the first iterate. +! zh_1 has already been set above +niter_atsec = 1 ! Update counter of iterations + +zeqn_1 = equation_at(p_alktot, zh_1, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi) + +! Adapt bracketing interval: we know that zh_1 <= zh <= zh_max (if zeqn_1 > 0) +! or zh_min <= zh <= zh_1 (if zeqn_1 < 0), so this can always be done +IF(zeqn_1 > 0._wp) THEN + zh_min = zh_1 +ELSEIF(zeqn_1 < 0._wp) THEN + zh_max = zh_1 +ELSE ! zh_1 is the root + solve_at_general_sec = zh_1 + IF(PRESENT(p_val)) p_val = zeqn_1 +ENDIF + +IF(ABS(zeqn_1) > zeqn_absmin) THEN ! Swap zh_2 and zh_1 if ABS(zeqn_2) < ABS(zeqn_1) + ! so that zh_2 and zh_1 lead to decreasing equation + ! values (in absolute value) + zh = zh_1 + zeqn = zeqn_1 + zh_1 = zh_2 + zeqn_1 = zeqn_2 + zh_2 = zh + zeqn_2 = zeqn +ELSE + zeqn_absmin = ABS(zeqn_1) +ENDIF + +! Pre-calculate the first secant iterate (this is the second iterate) +niter_atsec = 2 + +zh_delta = -zeqn_1/((zeqn_2-zeqn_1)/(zh_2 - zh_1)) +zh = zh_1 + zh_delta + +! Make sure that zh_min < zh < zh_max (if not, +! bisect around zh_1 which is the best estimate) +IF (zh > zh_max) THEN ! this can only happen if zh_2 < zh_1 + ! and zeqn_2 > zeqn_1 > 0 + zh = SQRT(zh_1*zh_max) +ENDIF + +IF (zh < zh_min) THEN ! this can only happen if zh_2 > zh_1 + ! and zeqn_2 < zeqn_1 < 0 + zh = SQRT(zh_1*zh_min) +ENDIF + +DO + IF(niter_atsec >= jp_maxniter_atsec) THEN + zh = -1._wp + EXIT + ENDIF + + zeqn = equation_at(p_alktot, zh, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi) + + ! Adapt bracketing interval: since initially, zh_min <= zh <= zh_max + ! we are sure that zh will improve either bracket, depending on the sign + ! of zeqn + IF(zeqn > 0._wp) THEN + zh_min = zh + ELSEIF(zeqn < 0._wp) THEN + zh_max = zh + ELSE + ! zh is the root + EXIT + ENDIF + + ! start calculation of next iterate + niter_atsec = niter_atsec + 1 + + zh_2 = zh_1 + zeqn_2 = zeqn_1 + zh_1 = zh + zeqn_1 = zeqn + + IF(ABS(zeqn) >= 0.5_wp*zeqn_absmin) THEN + ! if the function evaluation at the current point + ! is not decreasing faster in absolute value than + ! we may expect for a bisection step, then take + ! one bisection step on [ph_min, ph_max] + ! ph_new = (ph_min + ph_max)/2d0 + ! In terms of [H]_new: + ! [H]_new = 10**(-ph_new) + ! = 10**(-(ph_min + ph_max)/2d0) + ! = SQRT(10**(-(ph_min + phmax))) + ! = SQRT(zh_max * zh_min) + zh = SQRT(zh_max * zh_min) + zh_delta = zh - zh_1 + ELSE + ! \Delta H = -zeqn_1*(h_2 - h_1)/(zeqn_2 - zeqn_1) + ! H_new = H_1 + \Delta H + zh_delta = -zeqn_1/((zeqn_2-zeqn_1)/(zh_2 - zh_1)) + zh = zh_1 + zh_delta + + IF( zh < zh_min ) THEN + ! if [H]_new < [H]_min + ! i.e., if ph_new > ph_max then + ! take one bisection step on [ph_prev, ph_max] + ! ph_new = (ph_prev + ph_max)/2d0 + ! In terms of [H]_new: + ! [H]_new = 10**(-ph_new) + ! = 10**(-(ph_prev + ph_max)/2d0) + ! = SQRT(10**(-(ph_prev + phmax))) + ! = SQRT([H]_old*10**(-ph_max)) + ! = SQRT([H]_old * zh_min) + zh = SQRT(zh_1 * zh_min) + zh_delta = zh - zh_1 + ENDIF + + IF( zh > zh_max ) THEN + ! if [H]_new > [H]_max + ! i.e., if ph_new < ph_min, then + ! take one bisection step on [ph_min, ph_prev] + ! ph_new = (ph_prev + ph_min)/2d0 + ! In terms of [H]_new: + ! [H]_new = 10**(-ph_new) + ! = 10**(-(ph_prev + ph_min)/2d0) + ! = SQRT(10**(-(ph_prev + ph_min))) + ! = SQRT([H]_old*10**(-ph_min)) + ! = SQRT([H]_old * zhmax) + zh = SQRT(zh_1 * zh_max) + zh_delta = zh - zh_1 + ENDIF + ENDIF + + zeqn_absmin = MIN(ABS(zeqn), zeqn_absmin) + + ! Stop iterations once |([H]-[H_1])/[H_1]| < rdel + l_exitnow = (ABS(zh_delta) < pp_rdel_ah_target*zh_1) + + IF(l_exitnow) EXIT +ENDDO + +SOLVE_AT_GENERAL_SEC = zh + +IF(PRESENT(p_val)) THEN + IF(zh > 0._wp) THEN + p_val = equation_at(p_alktot, zh, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi) + ELSE + p_val = HUGE(1._wp) + ENDIF +ENDIF + +RETURN +END FUNCTION SOLVE_AT_GENERAL_SEC + +!=============================================================================== + +FUNCTION SOLVE_AT_FAST(p_alktot, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi, & + p_hini, p_val) + +! Fast version of SOLVE_AT_GENERAL, without any bounds checking. + +USE msingledouble +IMPLICIT NONE +REAL(KIND=wp) :: SOLVE_AT_FAST + +! Argument variables +REAL(KIND=wp), INTENT(IN) :: p_alktot +REAL(KIND=wp), INTENT(IN) :: p_dictot +REAL(KIND=wp), INTENT(IN) :: p_bortot +REAL(KIND=wp), INTENT(IN) :: p_po4tot +REAL(KIND=wp), INTENT(IN) :: p_siltot +!REAL(KIND=wp), INTENT(IN) :: p_nh4tot +!REAL(KIND=wp), INTENT(IN) :: p_h2stot +REAL(KIND=wp), INTENT(IN) :: p_so4tot +REAL(KIND=wp), INTENT(IN) :: p_flutot +REAL(KIND=wp), INTENT(IN) :: K0, K1, K2, Kb, Kw, Ks, Kf +REAL(KIND=wp), INTENT(IN) :: K1p, K2p, K3p, Ksi +REAL(KIND=wp), INTENT(IN), OPTIONAL :: p_hini +REAL(KIND=wp), INTENT(OUT), OPTIONAL :: p_val + +! Local variables +REAL(KIND=wp) :: zh_ini, zh, zh_prev, zh_lnfactor +REAL(KIND=wp) :: zhdelta +REAL(KIND=wp) :: zeqn, zdeqndh +!REAL(KIND=wp) :: aphscale +LOGICAL :: l_exitnow +REAL(KIND=wp), PARAMETER :: pz_exp_threshold = 1.0_wp + +! TOTAL H+ scale: conversion factor for Htot = aphscale * Hfree +!aphscale = 1._wp + p_so4tot/Ks + +IF(PRESENT(p_hini)) THEN + zh_ini = p_hini +ELSE + CALL AHINI_FOR_AT(p_alktot, p_dictot, p_bortot, K1, K2, Kb, zh_ini) +ENDIF +zh = zh_ini + +niter_atfast = 0 ! Reset counters of iterations +DO + niter_atfast = niter_atfast + 1 + IF(niter_atfast > jp_maxniter_atfast) THEN + zh = -1._wp + EXIT + ENDIF + + zh_prev = zh + + zeqn = equation_at(p_alktot, zh, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi, & + P_DERIVEQN = zdeqndh) + + IF(zeqn == 0._wp) EXIT ! zh is the root + + zh_lnfactor = -zeqn/(zdeqndh*zh_prev) + IF(ABS(zh_lnfactor) > pz_exp_threshold) THEN + zh = zh_prev*EXP(zh_lnfactor) + ELSE + zhdelta = zh_lnfactor*zh_prev + zh = zh_prev + zhdelta + ENDIF + + ! Stop iterations once |\delta{[H]}/[H]| < rdel + ! <=> |(zh - zh_prev)/zh_prev| = |EXP(-zeqn/(zdeqndh*zh_prev)) -1| < rdel + ! |EXP(-zeqn/(zdeqndh*zh_prev)) -1| ~ |zeqn/(zdeqndh*zh_prev)| + + ! Alternatively: + ! |\Delta pH| = |zeqn/(zdeqndh*zh_prev*LOG(10))| + ! ~ 1/LOG(10) * |\Delta [H]|/[H] + ! < 1/LOG(10) * rdel + + ! Hence |zeqn/(zdeqndh*zh)| < rdel + + ! rdel <- pp_rdel_ah_target + + l_exitnow = (ABS(zh_lnfactor) < pp_rdel_ah_target) + + IF(l_exitnow) EXIT +ENDDO + +SOLVE_AT_FAST = zh + +IF(PRESENT(p_val)) THEN + IF(zh > 0._wp) THEN + p_val = equation_at(p_alktot, zh, p_dictot, p_bortot, & + p_po4tot, p_siltot, & + p_so4tot, p_flutot, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi) + ELSE + p_val = HUGE(1._wp) + ENDIF +ENDIF + +RETURN +END FUNCTION solve_at_fast +!=============================================================================== + +END MODULE mphsolvers diff --git a/src/int_recom/recom/rho.F90 b/src/int_recom/recom/rho.F90 new file mode 100755 index 000000000..072787d38 --- /dev/null +++ b/src/int_recom/recom/rho.F90 @@ -0,0 +1,181 @@ +!> \file rho.f90 +!! \BRIEF +!> Module with rho function - computes in situ density from S, T, P +MODULE mrho +CONTAINS +!> Function to compute in situ density from salinity (psu), in situ temperature (C), & pressure (bar) +FUNCTION rho(salt, temp, pbar) + + ! Compute in situ density from salinity (psu), in situ temperature (C), & pressure (bar) + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + + USE msingledouble + IMPLICIT NONE + + !> salinity [psu] + REAL(kind=rx) :: salt + !> in situ temperature (C) + REAL(kind=rx) :: temp + !> pressure (bar) [Note units: this is NOT in decibars] + REAL(kind=rx) :: pbar + + REAL(kind=r8) :: s, t, p +! REAL(kind=r8) :: t68 + REAL(kind=r8) :: X + REAL(kind=r8) :: rhow, rho0 + REAL(kind=r8) :: a, b, c + REAL(kind=r8) :: Ksbmw, Ksbm0, Ksbm + REAL(kind=r8) :: drho + + REAL(kind=rx) :: rho + + ! Input arguments: + ! ------------------------------------- + ! s = salinity [psu (PSS-78) ] + ! t = in situ temperature [degree C (IPTS-68)] + ! p = pressure [bar] !!!! (not in [db] + + s = DBLE(salt) + t = DBLE(temp) + p = DBLE(pbar) + +! Convert the temperature on today's "ITS 90" scale to older IPTS 68 scale +! (see Dickson et al., Best Practices Guide, 2007, Chap. 5, p. 7, including footnote) +! According to Best-Practices guide, line above should be commented & 2 lines below should be uncommented +! Guide's answer of rho (s=35, t=25, p=0) = 1023.343 is for temperature given on ITPS-68 scale +! t68 = (T - 0.0002) / 0.99975 +! X = t68 +! Finally, don't do the ITS-90 to IPTS-68 conversion (T input var now already on IPTS-68 scale) + X = T + +! Density of pure water + rhow = 999.842594d0 + 6.793952e-2_r8*X & + -9.095290e-3_r8*X*X + 1.001685e-4_r8*X**3 & + -1.120083e-6_r8*X**4 + 6.536332e-9_r8*X**5 + +! Density of seawater at 1 atm, P=0 + A = 8.24493e-1_r8 - 4.0899e-3_r8*X & + + 7.6438e-5_r8*X*X - 8.2467e-7_r8*X**3 + 5.3875e-9_r8*X**4 + B = -5.72466e-3_r8 + 1.0227e-4_r8*X - 1.6546e-6_r8*X*X + C = 4.8314e-4_r8 + + rho0 = rhow + A*S + B*S*SQRT(S) + C*S**2.0d0 + +! Secant bulk modulus of pure water +! The secant bulk modulus is the average change in pressure +! divided by the total change in volume per unit of initial volume. + Ksbmw = 19652.21d0 + 148.4206d0*X - 2.327105d0*X*X & + + 1.360477e-2_r8*X**3 - 5.155288e-5_r8*X**4 + +! Secant bulk modulus of seawater at 1 atm + Ksbm0 = Ksbmw + S*( 54.6746d0 - 0.603459d0*X + 1.09987e-2_r8*X**2 & + - 6.1670e-5_r8*X**3) & + + S*SQRT(S)*( 7.944e-2_r8 + 1.6483e-2_r8*X - 5.3009e-4_r8*X**2) + +! Secant bulk modulus of seawater at S,T,P + Ksbm = Ksbm0 & + + P*(3.239908d0 + 1.43713e-3_r8*X + 1.16092e-4_r8*X**2 - 5.77905e-7_r8*X**3) & + + P*S*(2.2838e-3_r8 - 1.0981e-5_r8*X - 1.6078e-6_r8*X**2) & + + P*S*SQRT(S)*1.91075e-4_r8 & + + P*P*(8.50935e-5_r8 - 6.12293e-6_r8*X + 5.2787e-8_r8*X**2) & + + P*P*S*(-9.9348e-7_r8 + 2.0816e-8_r8*X + 9.1697e-10_r8*X**2) + +! Density of seawater at S,T,P + drho = rho0/(1.0d0 - P/Ksbm) + rho = SGLE(drho) + + RETURN +END FUNCTION rho + + +!> Function to compute in situ density from salinity (psu), in situ temperature (C), & pressure (bar) +!! and its derivatives with respect to salinity and temperature. +FUNCTION rho_DNAD(salt, temp, pbar) + + ! Compute in situ density from salinity (psu), in situ temperature (C), & pressure (bar) + ! + ! It is similar to subroutine 'rho' above except that it computes + ! partial derivatives of in situ density + ! with respect to salinity and temperature. + + USE msingledouble + USE Dual_Num_Auto_Diff + IMPLICIT NONE + + !> salinity [psu] + TYPE (DUAL_NUM) :: salt + !> in situ temperature (C) + TYPE (DUAL_NUM) :: temp + !> pressure (bar) [Note units: this is NOT in decibars] + TYPE (DUAL_NUM) :: pbar + + TYPE (DUAL_NUM) :: s, p +! REAL(kind=r8) :: t68 + TYPE (DUAL_NUM) :: X + TYPE (DUAL_NUM) :: rhow, rho0 + TYPE (DUAL_NUM) :: a, b, c + TYPE (DUAL_NUM) :: Ksbmw, Ksbm0, Ksbm + + TYPE (DUAL_NUM) :: rho_DNAD + + ! Input arguments: + ! ------------------------------------- + ! s = salinity [psu (PSS-78) ] + ! t = in situ temperature [degree C (IPTS-68)] + ! p = pressure [bar] !!!! (not in [db] + + s = salt + p = pbar + +! Convert the temperature on today's "ITS 90" scale to older IPTS 68 scale +! (see Dickson et al., Best Practices Guide, 2007, Chap. 5, p. 7, including footnote) +! According to Best-Practices guide, line above should be commented & 2 lines below should be uncommented +! Guide's answer of rho (s=35, t=25, p=0) = 1023.343 is for temperature given on ITPS-68 scale +! t68 = (T - 0.0002) / 0.99975 +! X = t68 +! Finally, don't do the ITS-90 to IPTS-68 conversion (T input var now already on IPTS-68 scale) + X = temp + +! Density of pure water + rhow = 999.842594d0 + 6.793952e-2_r8*X & + -9.095290e-3_r8*X*X + 1.001685e-4_r8*X**3 & + -1.120083e-6_r8*X**4 + 6.536332e-9_r8*X**5 + +! Density of seawater at 1 atm, P=0 + A = 8.24493e-1_r8 - 4.0899e-3_r8*X & + + 7.6438e-5_r8*X*X - 8.2467e-7_r8*X**3 + 5.3875e-9_r8*X**4 + B = -5.72466e-3_r8 + 1.0227e-4_r8*X - 1.6546e-6_r8*X*X + C = 4.8314e-4_r8 + + rho0 = rhow + A*S + B*S*SQRT(S) + C*S**2.0d0 + +! Secant bulk modulus of pure water +! The secant bulk modulus is the average change in pressure +! divided by the total change in volume per unit of initial volume. + Ksbmw = 19652.21d0 + 148.4206d0*X - 2.327105d0*X*X & + + 1.360477e-2_r8*X**3 - 5.155288e-5_r8*X**4 + +! Secant bulk modulus of seawater at 1 atm + Ksbm0 = Ksbmw + S*( 54.6746d0 - 0.603459d0*X + 1.09987e-2_r8*X**2 & + - 6.1670e-5_r8*X**3) & + + S*SQRT(S)*( 7.944e-2_r8 + 1.6483e-2_r8*X - 5.3009e-4_r8*X**2) + +! Secant bulk modulus of seawater at S,T,P + Ksbm = Ksbm0 & + + P*(3.239908d0 + 1.43713e-3_r8*X + 1.16092e-4_r8*X**2 - 5.77905e-7_r8*X**3) & + + P*S*(2.2838e-3_r8 - 1.0981e-5_r8*X - 1.6078e-6_r8*X**2) & + + P*S*SQRT(S)*1.91075e-4_r8 & + + P*P*(8.50935e-5_r8 - 6.12293e-6_r8*X + 5.2787e-8_r8*X**2) & + + P*P*S*(-9.9348e-7_r8 + 2.0816e-8_r8*X + 9.1697e-10_r8*X**2) + +! Density of seawater at S,T,P + rho_DNAD = rho0/(1.0d0 - P/Ksbm) + + RETURN +END FUNCTION rho_DNAD +END MODULE mrho diff --git a/src/int_recom/recom/rhoinsitu.F90 b/src/int_recom/recom/rhoinsitu.F90 new file mode 100755 index 000000000..df63d5b5b --- /dev/null +++ b/src/int_recom/recom/rhoinsitu.F90 @@ -0,0 +1,51 @@ +!> \file rhoinsitu.f90 +!! \BRIEF +!> Module with rhoinsitu subroutine - compute in situ density from S, Tis, P +MODULE mrhoinsitu +CONTAINS +!> Compute in situ density from salinity (psu), in situ temperature (C), & pressure (db). +!! This subroutine is needed because rho is a function (using scalars not arrays) +SUBROUTINE rhoinsitu(salt, tempis, pdbar, N, rhois) + + ! Purpose: + ! Compute in situ density from salinity (psu), in situ temperature (C), & pressure (db) + ! Needed because rho is a function + + USE msingledouble + USE mrho + IMPLICIT NONE + + INTEGER :: N + +! INPUT variables + ! salt = salinity [psu] + ! tempis = in situ temperature [C] + ! pdbar = pressure [db] + + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: salt + !> in situ temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: tempis + !> pressure [db] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: pdbar +!f2py optional , depend(salt) :: n=len(salt) + +! OUTPUT variables: + ! rhois = in situ density + + !> in situ density [kg/m3] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: rhois + +! Local variables + INTEGER :: i + +! REAL(kind=rx) :: rho +! EXTERNAL rho + + DO i = 1,N + rhois(i) = rho(salt(i), tempis(i), pdbar(i)/10.) + END DO + + RETURN +END SUBROUTINE rhoinsitu +END MODULE mrhoinsitu diff --git a/src/int_recom/recom/singledouble.F90 b/src/int_recom/recom/singledouble.F90 new file mode 100755 index 000000000..30c7f1a22 --- /dev/null +++ b/src/int_recom/recom/singledouble.F90 @@ -0,0 +1,13 @@ + +!> \file singledouble.f90 +!! \BRIEF +!> Module that defines single and double precision - used by all other modules +MODULE msingledouble +! INTEGER, PARAMETER :: r4 = SELECTED_REAL_KIND(6) +! INTEGER, PARAMETER :: r8 = SELECTED_REAL_KIND(12) + + INTEGER, PARAMETER :: rx = KIND(1.0d0) + + INTEGER, PARAMETER :: r8 = KIND(1.0d0) + INTEGER, PARAMETER :: wp = KIND(1.0d0) +END MODULE msingledouble \ No newline at end of file diff --git a/src/int_recom/recom/sw_adtg.F90 b/src/int_recom/recom/sw_adtg.F90 new file mode 100755 index 000000000..2e809de1e --- /dev/null +++ b/src/int_recom/recom/sw_adtg.F90 @@ -0,0 +1,106 @@ +!> \file sw_adtg.f90 +!! \BRIEF +!> Module with sw_adtg function - compute adiabatic temp. gradient from S,T,P +MODULE msw_adtg +CONTAINS +!> Function to calculate adiabatic temperature gradient as per UNESCO 1983 routines. +FUNCTION sw_adtg (s,t,p) + + ! ================================================================== + ! Calculates adiabatic temperature gradient as per UNESCO 1983 routines. + ! Armin Koehl akoehl@ucsd.edu + ! ================================================================== + USE msingledouble + IMPLICIT NONE + !> salinity [psu (PSU-78)] + REAL(kind=r8) :: s + !> temperature [degree C (IPTS-68)] + REAL(kind=r8) :: t + !> pressure [db] + REAL(kind=r8) :: p + + REAL(kind=r8) :: a0,a1,a2,a3,b0,b1,c0,c1,c2,c3,d0,d1,e0,e1,e2 + REAL(kind=r8) :: sref + + REAL(kind=r8) :: sw_adtg + + sref = 35.d0 + a0 = 3.5803d-5 + a1 = +8.5258d-6 + a2 = -6.836d-8 + a3 = 6.6228d-10 + + b0 = +1.8932d-6 + b1 = -4.2393d-8 + + c0 = +1.8741d-8 + c1 = -6.7795d-10 + c2 = +8.733d-12 + c3 = -5.4481d-14 + + d0 = -1.1351d-10 + d1 = 2.7759d-12 + + e0 = -4.6206d-13 + e1 = +1.8676d-14 + e2 = -2.1687d-16 + + sw_adtg = a0 + (a1 + (a2 + a3*T)*T)*T & + + (b0 + b1*T)*(S-sref) & + + ( (c0 + (c1 + (c2 + c3*T)*T)*T) + (d0 + d1*T)*(S-sref) )*P & + + ( e0 + (e1 + e2*T)*T )*P*P + +END FUNCTION sw_adtg + + +!> Function to calculate adiabatic temperature gradient as per UNESCO 1983 routines. +!! and derivative with respect to temperature and salinity +FUNCTION sw_adtg_DNAD (s,t,p) + + ! ================================================================== + ! Calculates adiabatic temperature gradient as per UNESCO 1983 routines. + ! Armin Koehl akoehl@ucsd.edu + ! ================================================================== + USE msingledouble + USE Dual_Num_Auto_Diff + IMPLICIT NONE + !> salinity [psu (PSU-78)] + TYPE(DUAL_NUM) :: s + !> temperature [degree C (IPTS-68)] + TYPE(DUAL_NUM) :: t + !> pressure [db] + TYPE(DUAL_NUM) :: p + + REAL(kind=r8) :: a0,a1,a2,a3,b0,b1,c0,c1,c2,c3,d0,d1,e0,e1,e2 + REAL(kind=r8) :: sref + + TYPE(DUAL_NUM) :: sw_adtg_DNAD + + sref = 35.d0 + a0 = 3.5803d-5 + a1 = +8.5258d-6 + a2 = -6.836d-8 + a3 = 6.6228d-10 + + b0 = +1.8932d-6 + b1 = -4.2393d-8 + + c0 = +1.8741d-8 + c1 = -6.7795d-10 + c2 = +8.733d-12 + c3 = -5.4481d-14 + + d0 = -1.1351d-10 + d1 = 2.7759d-12 + + e0 = -4.6206d-13 + e1 = +1.8676d-14 + e2 = -2.1687d-16 + + sw_adtg_DNAD = a0 + (a1 + (a2 + a3*T)*T)*T & + + (b0 + b1*T)*(S-sref) & + + ( (c0 + (c1 + (c2 + c3*T)*T)*T) + (d0 + d1*T)*(S-sref) )*P & + + ( e0 + (e1 + e2*T)*T )*P*P + +END FUNCTION sw_adtg_DNAD +END MODULE msw_adtg diff --git a/src/int_recom/recom/sw_ptmp.F90 b/src/int_recom/recom/sw_ptmp.F90 new file mode 100755 index 000000000..7cd762682 --- /dev/null +++ b/src/int_recom/recom/sw_ptmp.F90 @@ -0,0 +1,136 @@ +!> \file sw_ptmp.f90 +!! \BRIEF +!> Module with sw_ptmp function - compute potential T from in-situ T +MODULE msw_ptmp +CONTAINS +!> Function to calculate potential temperature [C] from in-situ temperature +FUNCTION sw_ptmp (s,t,p,pr) + + ! ================================================================== + ! Calculates potential temperature [C] from in-situ Temperature [C] + ! From UNESCO 1983 report. + ! Armin Koehl akoehl@ucsd.edu + ! ================================================================== + + ! Input arguments: + ! ------------------------------------- + ! s = salinity [psu (PSS-78) ] + ! t = temperature [degree C (IPTS-68)] + ! p = pressure [db] + ! pr = reference pressure [db] + + USE msingledouble + USE msw_adtg + IMPLICIT NONE + +! Input arguments + !> salinity [psu (PSS-78)] + REAL(kind=r8) :: s + !> temperature [degree C (IPTS-68)] + REAL(kind=r8) :: t + !> pressure [db] + REAL(kind=r8) :: p + !> reference pressure [db] + REAL(kind=r8) :: pr + +! local arguments + REAL(kind=r8) :: del_P ,del_th, th, q + REAL(kind=r8) :: onehalf, two, three + PARAMETER (onehalf = 0.5d0, two = 2.d0, three = 3.d0 ) + +! REAL(kind=r8) :: sw_adtg +! EXTERNAL sw_adtg + +! Output + REAL(kind=r8) :: sw_ptmp + + ! theta1 + del_P = PR - P + del_th = del_P*sw_adtg(S,T,P) + th = T + onehalf*del_th + q = del_th + + ! theta2 + del_th = del_P*sw_adtg(S,th,P+onehalf*del_P) + th = th + (1.d0 - 1.d0/SQRT(two))*(del_th - q) + q = (two-SQRT(two))*del_th + (-two+three/SQRT(two))*q + + ! theta3 + del_th = del_P*sw_adtg(S,th,P+onehalf*del_P) + th = th + (1.d0 + 1.d0/SQRT(two))*(del_th - q) + q = (two + SQRT(two))*del_th + (-two-three/SQRT(two))*q + + ! theta4 + del_th = del_P*sw_adtg(S,th,P+del_P) + sw_ptmp = th + (del_th - two*q)/(two*three) + + RETURN +END FUNCTION sw_ptmp + + +!> Function to calculate potential temperature [C] from in-situ temperature +!! and derivative with respect to insitu temperature and salinity +FUNCTION sw_ptmp_DNAD (s,t,p,pr) + + ! It is similar to subroutine 'sw_ptmp' above except that it also computes + ! partial derivative of potential temperature + ! with respect to insitu temperature and salinity. + ! ================================================================== + ! Calculates potential temperature [C] from in-situ Temperature [C] + ! From UNESCO 1983 report. + ! Armin Koehl akoehl@ucsd.edu + ! ================================================================== + + ! Input arguments: + ! ------------------------------------- + ! s = salinity [psu (PSS-78) ] + ! t = temperature [degree C (IPTS-68)] + ! p = pressure [db] + ! pr = reference pressure [db] + + USE msingledouble + USE msw_adtg + USE Dual_Num_Auto_Diff + IMPLICIT NONE + +! Input arguments + !> salinity [psu (PSS-78)] + TYPE(DUAL_NUM) :: s + !> temperature [degree C (IPTS-68)] + TYPE(DUAL_NUM) :: t + !> pressure [db] + TYPE(DUAL_NUM) :: p + !> reference pressure [db] + TYPE(DUAL_NUM) :: pr + +! local arguments + TYPE(DUAL_NUM) :: del_P ,del_th, th, q + REAL(kind=r8) :: onehalf, two, three + PARAMETER (onehalf = 0.5d0, two = 2.d0, three = 3.d0 ) + +! Output + TYPE(DUAL_NUM) :: sw_ptmp_DNAD + + ! theta1 + del_P = PR - P + del_th = del_P*sw_adtg_DNAD(S,T,P) + th = T + onehalf*del_th + q = del_th + + ! theta2 + del_th = del_P*sw_adtg_DNAD(S,th,P+onehalf*del_P) + th = th + (1.d0 - 1.d0/SQRT(two))*(del_th - q) + q = (two-SQRT(two))*del_th + (-two+three/SQRT(two))*q + + ! theta3 + del_th = del_P*sw_adtg_DNAD(S,th,P+onehalf*del_P) + th = th + (1.d0 + 1.d0/SQRT(two))*(del_th - q) + q = (two + SQRT(two))*del_th + (-two-three/SQRT(two))*q + + ! theta4 + del_th = del_P*sw_adtg_DNAD(S,th,P+del_P) + sw_ptmp_DNAD = th + (del_th - two*q)/(two*three) + + RETURN +END FUNCTION sw_ptmp_DNAD +END MODULE msw_ptmp diff --git a/src/int_recom/recom/sw_temp.F90 b/src/int_recom/recom/sw_temp.F90 new file mode 100755 index 000000000..be178f81f --- /dev/null +++ b/src/int_recom/recom/sw_temp.F90 @@ -0,0 +1,149 @@ +!> \file sw_temp.f90 +!! \BRIEF +!> Module with sw_temp function - compute in-situ T from potential T +MODULE msw_temp +CONTAINS +!> Function to compute in-situ temperature [C] from potential temperature [C] +FUNCTION sw_temp( s, t, p, pr ) + ! ============================================================= + ! SW_TEMP + ! Computes in-situ temperature [C] from potential temperature [C] + ! Routine available in seawater.f (used for MIT GCM) + ! Downloaded seawater.f (on 17 April 2009) from + ! http://ecco2.jpl.nasa.gov/data1/beaufort/MITgcm/bin/ + ! ============================================================= + + ! REFERENCES: + ! Fofonoff, P. and Millard, R.C. Jr + ! Unesco 1983. Algorithms for computation of fundamental properties of + ! seawater, 1983. _Unesco Tech. Pap. in Mar. Sci._, No. 44, 53 pp. + ! Eqn.(31) p.39 + + ! Bryden, H. 1973. + ! "New Polynomials for thermal expansion, adiabatic temperature gradient + ! and potential temperature of sea water." + ! DEEP-SEA RES., 1973, Vol20,401-408. + ! ============================================================= + + ! Simple modifications: J. C. Orr, 16 April 2009 + ! - combined fortran code from MITgcm site & simplification in + ! CSIRO code (matlab equivalent) from Phil Morgan + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + + USE msingledouble + USE msw_ptmp + IMPLICIT NONE + + ! Input arguments: + ! ----------------------------------------------- + ! s = salinity [psu (PSS-78) ] + ! t = potential temperature [degree C (IPTS-68)] + ! p = pressure [db] + ! pr = reference pressure [db] + + !> salinity [psu (PSS-78)] + REAL(kind=rx) :: s + !> potential temperature [degree C (IPTS-68)] + REAL(kind=rx) :: t + !> pressure [db] + REAL(kind=rx) :: p + !> reference pressure [db] + REAL(kind=rx) :: pr + + REAL(kind=r8) :: ds, dt, dp, dpr + REAL(kind=r8) :: dsw_temp + + REAL(kind=rx) :: sw_temp +! EXTERNAL sw_ptmp +! REAL(kind=r8) :: sw_ptmp + + ds = DBLE(s) + dt = DBLE(t) + dp = DBLE(p) + dpr = DBLE(pr) + + ! Simple solution + ! (see https://svn.mpl.ird.fr/us191/oceano/tags/V0/lib/matlab/seawater/sw_temp.m) + ! Carry out inverse calculation by swapping P_ref (pr) and Pressure (p) + ! in routine that is normally used to compute potential temp from temp + dsw_temp = sw_ptmp(ds, dt, dpr, dp) + sw_temp = SGLE(dsw_temp) + + ! The above simplification works extremely well (compared to Table in 1983 report) + ! whereas the sw_temp routine from MIT GCM site does not seem to work right + + RETURN +END FUNCTION sw_temp + + +!> Function to compute in-situ temperature [C] from potential temperature [C] +!! and derivative with respect to potential temperature and salinity +FUNCTION sw_temp_DNAD( s, t, p, pr ) + ! It is similar to subroutine 'sw_temp' above except that it also computes + ! partial derivative of insitu temperature + ! with respect to potential temperature and salinity. + ! ============================================================= + ! SW_TEMP + ! Computes in-situ temperature [C] from potential temperature [C] + ! Routine available in seawater.f (used for MIT GCM) + ! Downloaded seawater.f (on 17 April 2009) from + ! http://ecco2.jpl.nasa.gov/data1/beaufort/MITgcm/bin/ + ! ============================================================= + + ! REFERENCES: + ! Fofonoff, P. and Millard, R.C. Jr + ! Unesco 1983. Algorithms for computation of fundamental properties of + ! seawater, 1983. _Unesco Tech. Pap. in Mar. Sci._, No. 44, 53 pp. + ! Eqn.(31) p.39 + + ! Bryden, H. 1973. + ! "New Polynomials for thermal expansion, adiabatic temperature gradient + ! and potential temperature of sea water." + ! DEEP-SEA RES., 1973, Vol20,401-408. + ! ============================================================= + + ! Simple modifications: J. C. Orr, 16 April 2009 + ! - combined fortran code from MITgcm site & simplification in + ! CSIRO code (matlab equivalent) from Phil Morgan + + USE msingledouble + USE msw_ptmp + USE Dual_Num_Auto_Diff + IMPLICIT NONE + + ! Input arguments: + ! ----------------------------------------------- + ! s = salinity [psu (PSS-78) ] + ! t = potential temperature [degree C (IPTS-68)] + ! p = pressure [db] + ! pr = reference pressure [db] + + !> salinity [psu (PSS-78)] + TYPE(DUAL_NUM) :: s + !> potential temperature [degree C (IPTS-68)] + TYPE(DUAL_NUM) :: t + !> pressure [db] + TYPE(DUAL_NUM) :: p + !> reference pressure [db] + TYPE(DUAL_NUM) :: pr + + TYPE(DUAL_NUM) :: sw_temp_DNAD + + + ! Simple solution + ! (see https://svn.mpl.ird.fr/us191/oceano/tags/V0/lib/matlab/seawater/sw_temp.m) + ! Carry out inverse calculation by swapping P_ref (pr) and Pressure (p) + ! in routine that is normally used to compute potential temp from temp + sw_temp_DNAD = sw_ptmp_DNAD(s, t, pr, p) + + ! The above simplification works extremely well (compared to Table in 1983 report) + ! whereas the sw_temp routine from MIT GCM site does not seem to work right + + RETURN +END FUNCTION sw_temp_DNAD +END MODULE msw_temp diff --git a/src/int_recom/recom/tis.F90 b/src/int_recom/recom/tis.F90 new file mode 100755 index 000000000..fa56cb5e8 --- /dev/null +++ b/src/int_recom/recom/tis.F90 @@ -0,0 +1,57 @@ +!> \file tis.f90 +!! \BRIEF +!> Module with tis subroutine - compute in situ T from S,T,P +MODULE mtis +CONTAINS +!> Compute in situ temperature from arrays of potential temp, salinity, and pressure. +!! This subroutine is needed because sw_temp is a function (using scalars not arrays) +SUBROUTINE tis(salt, tempot, press, pressref, N, tempis) + ! Purpose: + ! Compute in situ temperature from arrays of in situ temp, salinity, and pressure. + ! Needed because sw_temp is a function + + USE msingledouble + USE msw_temp + IMPLICIT NONE + + !> number of records +!f2py intent(hide) n + INTEGER, intent(in) :: N + +! INPUT variables + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: salt + !> potential temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: tempot + !> pressure [db] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: press + !> pressure reference level [db] + REAL(kind=rx), INTENT(in) :: pressref + +! OUTPUT variables: + !> in situ temperature [C] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: tempis + +! REAL(kind=r8) :: dsalt, dtempis, dpress, dpressref +! REAL(kind=r8) :: dtempot + + INTEGER :: i + +! REAL(kind=r8) :: sw_temp +! REAL(kind=rx) :: sw_temp +! EXTERNAL sw_temp + + DO i = 1,N + !dsalt = DBLE(salt(i)) + !dtempot = DBLE(tempot(i)) + !dpress = DBLE(press(i)) + !dpressref = DBLE(pressref) + !dtempis = sw_temp(dsalt, dtempot, dpress, dpressref) + !tempis(i) = REAL(dtempis) + + tempis = sw_temp(salt(i), tempot(i), press(i), pressref) + END DO + + RETURN +END SUBROUTINE tis +END MODULE mtis diff --git a/src/int_recom/recom/tpot.F90 b/src/int_recom/recom/tpot.F90 new file mode 100755 index 000000000..8470d5744 --- /dev/null +++ b/src/int_recom/recom/tpot.F90 @@ -0,0 +1,62 @@ +!> \file tpot.f90 +!! \BRIEF +!> Module with tpot subroutine - compute potential T from in situ T,S,P +MODULE mtpot +CONTAINS +!> Compute potential temperature from arrays of in situ temp, salinity, and pressure. +!! This subroutine is needed because sw_ptmp is a function (using scalars not arrays) +SUBROUTINE tpot(salt, tempis, press, pressref, N, tempot) + ! Purpose: + ! Compute potential temperature from arrays of in situ temp, salinity, and pressure. + ! Needed because sw_ptmp is a function + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + + USE msingledouble + USE msw_ptmp + IMPLICIT NONE + + !> number of records +!f2py intent(hide) n + INTEGER, intent(in) :: N + +! INPUT variables + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: salt + !> in situ temperature [C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: tempis + !> pressure [db] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: press + !> pressure reference level [db] + REAL(kind=rx), INTENT(in) :: pressref + +! OUTPUT variables: + !> potential temperature [C] for pressref + REAL(kind=rx), INTENT(out), DIMENSION(N) :: tempot + + REAL(kind=r8) :: dsalt, dtempis, dpress, dpressref + REAL(kind=r8) :: dtempot + + INTEGER :: i + +! REAL(kind=r8) :: sw_ptmp +! EXTERNAL sw_ptmp + + DO i = 1,N + dsalt = DBLE(salt(i)) + dtempis = DBLE(tempis(i)) + dpress = DBLE(press(i)) + dpressref = DBLE(pressref) + + dtempot = sw_ptmp(dsalt, dtempis, dpress, dpressref) + + tempot(i) = SGLE(dtempot) + END DO + + RETURN +END SUBROUTINE tpot +END MODULE mtpot diff --git a/src/int_recom/recom/vars.F90 b/src/int_recom/recom/vars.F90 new file mode 100755 index 000000000..2ef70defa --- /dev/null +++ b/src/int_recom/recom/vars.F90 @@ -0,0 +1,1187 @@ +!> \file vars.f90 +!! \BRIEF +!> Module with vars subroutine - compute carbonate system vars from DIC,Alk,T,S,P,nuts +MODULE mvars +CONTAINS +!> Computes standard carbonate system variables (pH, CO2*, HCO3- and CO32-, OmegaA, OmegaC, R) +!! as 1D arrays FROM +!! temperature, salinity, pressure, +!! total alkalinity (ALK), dissolved inorganic carbon (DIC), +!! silica and phosphate concentrations (all 1-D arrays) +SUBROUTINE vars(ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, BetaD, rhoSW, p, tempis, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, & + optCON, optT, optP, optB, optK1K2, optKf, optGAS, optS, lon, verbose ) + + ! Purpose: + ! Computes other standard carbonate system variables (pH, CO2*, HCO3- and CO32-, OmegaA, OmegaC, R) + ! as 1D arrays + ! FROM: + ! temperature, salinity, pressure, + ! total alkalinity (ALK), dissolved inorganic carbon (DIC), + ! silica and phosphate concentrations (all 1-D arrays) + + ! INPUT variables: + ! ================ + ! Patm = atmospheric pressure [atm] + ! depth = depth [m] (with optP='m', i.e., for a z-coordinate model vertical grid is depth, not pressure) + ! = pressure [db] (with optP='db') + ! lat = latitude [degrees] (needed to convert depth to pressure, i.e., when optP='m') + ! = also be used to convert absolute to practical salinity, when optS='Sabs' + ! = dummy array (unused when optP='db' and optS='Sprc') + ! temp = potential temperature [degrees C] (with optT='Tpot', i.e., models carry tempot, not in situ temp) + ! = in situ temperature [degrees C] (with optT='Tinsitu', e.g., for data) + ! = conservative temperature [degrees C] (with optT='Tcsv') + ! sal = practical [psu] or absolute [g/kg] salinity + ! alk = total alkalinity in [eq/m^3] with optCON = 'mol/m3' + ! = [eq/kg] with optCON = 'mol/kg' + ! dic = dissolved inorganic carbon [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! sil = silica [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! phos = phosphate [mol/m^3] with optCON = 'mol/m3' + ! = [mol/kg] with optCON = 'mol/kg' + ! INPUT options: + ! ============== + ! ----------- + ! optCON: choose input & output concentration units - mol/kg (data) vs. mol/m^3 (models) + ! ----------- + ! -> 'mol/kg' for DIC, ALK, sil, & phos given on mokal scale, i.e., in mol/kg (std DATA units) + ! -> 'mol/m3' for DIC, ALK, sil, & phos given in mol/m^3 (std MODEL units) + ! ----------- + ! optT: choose in-situ, potential or conservative temperature as input + ! --------- + ! NOTE: Carbonate chem calculations require IN-SITU temperature (not potential Temperature) + ! -> 'Tpot' means input is pot. Temperature (in situ Temp "tempis" is computed) + ! -> 'Tcsv' means input is Conservative Temperature (in situ Temp "tempis" is computed) + ! -> 'Tinsitu' means input is already in-situ Temperature ("tempis" not computed) + ! --------- + ! optP: choose depth (m) vs pressure (db) as input + ! --------- + ! -> 'm' means "depth" input is in "m" (thus in situ Pressure "p" [db] is computed) + ! -> 'db' means "depth" input is already in situ pressure [db], not m (thus p = depth) + ! --------- + ! optB: choose total boron formulation - Uppström (1974) vs. Lee et al. (2010) + ! --------- + ! -> 'u74' means use classic formulation of Uppström (1974) for total Boron + ! -> 'l10' means use newer formulation of Lee et al. (2010) for total Boron + ! --------- + ! optK1K2: + ! --------- + ! -> 'l' means use Lueker et al. (2000) formulations for K1 & K2 (recommended by Dickson et al. 2007) + ! **** BUT this should only be used when 2 < T < 35 and 19 < S < 43 + ! -> 'm10' means use Millero (2010) formulation for K1 & K2 (see Dickson et al., 2007) + ! **** Valid for 0 < T < 50°C and 1 < S < 50 psu + ! ---------- + ! optKf: + ! ---------- + ! -> 'pf' means use Perez & Fraga (1987) formulation for Kf (recommended by Dickson et al., 2007) + ! **** BUT Valid for 9 < T < 33°C and 10 < S < 40. + ! -> 'dg' means use Dickson & Riley (1979) formulation for Kf (recommended by Dickson & Goyet, 1994) + ! ----------- + ! optGAS: choose in situ vs. potential fCO2 and pCO2 + ! --------- + ! PRESSURE corrections for K0 and the fugacity coefficient (Cf) + ! -> 'Pzero' = 'zero order' fCO2 and pCO2 (typical approach, which is flawed) + ! considers in situ T & only atm pressure (hydrostatic=0) + ! -> 'Ppot' = 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + ! considers potential T & only atm pressure (hydrostatic press = 0) + ! -> 'Pinsitu' = 'in situ' fCO2 and pCO2 (accounts for huge effects of pressure) + ! considers in situ T & total pressure (atm + hydrostatic) + ! ---------- + ! optS: choose practical [psu] or absolute [g/kg] salinity as input + ! ---------- + ! -> 'Sprc' means input is practical salinity according to EOS-80 convention + ! -> 'Sabs' means input is absolute salinity according to TEOS-10 convention (practical sal. will be computed) + ! --------- + ! lon: longitude in degrees East + ! ---------- + ! Optional, it may be used along with latitude when optS is "Sabs". + ! Then, they are parameters for conversion from Absolute to Practical Salinity. + ! + ! When seawater is not of standard composition, Practical Salinity alone is not sufficient + ! to compute Absolute Salinity and vice-versa. One needs to know the chemical composition, + ! mainly silicate and nitrate concentration. When those concentrations are unknown and 'lon' and 'lat' + ! are given, absolute salinity conversion is based on WOA silicate concentration at given location. + ! + ! Alternative when optS is 'Sabs' : + ! ------------------------------- + ! When silicate and phosphate concentrations are known, nitrate concentration is inferred from phosphate + ! (using Redfield ratio), then practical salinity is computed from absolute salinity, + ! total alcalinity (alk), DIC (dic), silicate (sil) and phosphate (phos). + ! In that case, do not pass optional parameter 'lon'. + ! + ! When neither chemical composition nor location are known, an arbitrary geographic point is chosen: + ! mid equatorial Atlantic. Note that this implies an error on computed practical salinity up to 0.02 psu. + ! In that case, do pass parameter 'lon' and set each of its elements to 1.e20. + ! --------- + ! verbose: turn on or off the print statements (.true. or .false ; default is .true.) + ! ---------- + ! + ! OUTPUT variables: + ! ================= + ! ph = pH on total scale + ! pco2 = CO2 partial pressure (uatm) + ! fco2 = CO2 fugacity (uatm) + ! co2 = aqueous CO2 concentration in [mol/kg] or [mol/m^3] depending on optCON + ! hco3 = bicarbonate (HCO3-) concentration in [mol/kg] or [mol/m^3] depending on optCON + ! co3 = carbonate (CO3--) concentration in [mol/kg] or [mol/m^3] depending on optCON + ! OmegaA = Omega for aragonite, i.e., the aragonite saturation state + ! OmegaC = Omega for calcite, i.e., the calcite saturation state + ! BetaD = Revelle factor dpCO2/pCO2 / dDIC/DIC + ! rhoSW = in-situ density of seawater; rhoSW = f(s, t, p) + ! p = pressure [decibars]; p = f(depth, latitude) if computed from depth [m] OR p = depth if [db] + ! tempis = in-situ temperature [degrees C] + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + USE msingledouble + USE mconstants + USE mp80 + USE mrho + USE meos + USE msw_temp + USE mvarsolver + + IMPLICIT NONE + +! Input variables + !> N: number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> either in situ temperature (when optT='Tinsitu', typical data) + !! OR potential temperature (when optT='Tpot', typical models) [degree C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] or [g/kg] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sal + !> total alkalinity in [eq/m^3] (when optCON = 'mol/m3') OR in [eq/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: alk + !> dissolved inorganic carbon in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: dic + !> SiO2 concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sil + !> phosphate concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: phos + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm + !> depth in \b meters (when optP='m') or \b decibars (when optP='db') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: depth + !> latitude [degrees north] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: lat + + !> choose either \b 'mol/kg' (std DATA units) or \b 'mol/m3' (std MODEL units) to select + !! concentration units for input (for alk, dic, sil, phos) & output (co2, hco3, co3) + CHARACTER(6), INTENT(in) :: optCON + !> choose \b 'Tinsitu' for in situ temperature or \b 'Tpot' for potential temperature + !> \b 'Tcsv" for conservative temperature (in two last cases, in-situ Temp is computed, needed for models) + CHARACTER(7), INTENT(in) :: optT + !> for depth input, choose \b "db" for decibars (in situ pressure) or \b "m" for meters (pressure is computed, needed for models) + CHARACTER(2), INTENT(in) :: optP + !> for total boron, choose either \b 'u74' (Uppstrom, 1974) [default] or \b 'l10' (Lee et al., 2010). + !! The 'l10' formulation is based on 139 measurements (instead of 20), + !! uses a more accurate method, and + !! generally increases total boron in seawater by 4% +!f2py character*3 optional, intent(in) :: optB='l10' + CHARACTER(3), OPTIONAL, INTENT(in) :: optB + !> for Kf, choose either \b 'pf' (Perez & Fraga, 1987) or \b 'dg' (Dickson & Riley, 1979) +!f2py character*2 optional, intent(in) :: optKf='pf' + CHARACTER(2), OPTIONAL, INTENT(in) :: optKf + !> for K1,K2 choose either \b 'l' (Lueker et al., 2000) [default] or \b 'm10' (Millero, 2010) +!f2py character*3 optional, intent(in) :: optK1K2='l' + CHARACTER(3), OPTIONAL, INTENT(in) :: optK1K2 + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(*), OPTIONAL, INTENT(in) :: optGAS + !> choose \b 'Sprc' for practical sal. (EOS-80, default) [default] or \b 'Sabs' for absolute salinity (TEOS-10) +!f2py character(4) optional, intent(in) :: optS = 'Sprc' + CHARACTER(4), OPTIONAL, INTENT(in) :: optS + !> longitude [degrees east] +!f2py real(8) optional, intent(in), dimension(n) :: lon = -25. + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon + !> to print warnings when input out of bounds, use .true.; for no warnings, use .false. +!f2py logical optional, intent(in) :: verbose = .true. + LOGICAL, OPTIONAL, INTENT(in) :: verbose + +! Output variables: + !> pH on the total scale + REAL(kind=rx), INTENT(out), DIMENSION(N) :: ph + !> CO2 partial pressure [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: pco2 + !> CO2 fugacity [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: fco2 + !> aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: co2 + !> bicarbonate ion (HCO3-) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: hco3 + !> carbonate ion (CO3--) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: co3 + !> Omega for aragonite, i.e., the aragonite saturation state + REAL(kind=rx), INTENT(out), DIMENSION(N) :: OmegaA + !> Omega for calcite, i.e., the calcite saturation state + REAL(kind=rx), INTENT(out), DIMENSION(N) :: OmegaC + !> Revelle factor, i.e., dpCO2/pCO2 / dDIC/DIC + REAL(kind=rx), INTENT(out), DIMENSION(N) :: BetaD + !> in-situ density of seawater; rhoSW = f(s, t, p) in [kg/m3] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: rhoSW + !> pressure [decibars]; p = f(depth, latitude) if computed from depth [m] (when optP='m') OR p = depth [db] (when optP='db') + REAL(kind=rx), INTENT(out), DIMENSION(N) :: p + !> in-situ temperature \b [degrees C] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: tempis + +! Local variables + ! practical salinity (psu) + REAL(kind=rx), DIMENSION(N) :: salprac + REAL(kind=rx), DIMENSION(N) :: kspc_out ! NEW + + ! Call the subroutine that actually computes + call vars_sprac (ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, kspc_out, BetaD, rhoSW, p, tempis, & ! NEW: added kspc_out + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, & + optCON, optT, optP, optB, optK1K2, optKf, optGAS, optS, lon, salprac, verbose ) + +END SUBROUTINE vars + + +!> This is the subroutine that does the actual computations +!! This subroutine is only called internaly (i.e. by other Mocsy subroutines) +!! Its output parameter is "Practical Salinity", when Absolute Salinity is passed in, +!! is used by those internal calling routines. +!! +SUBROUTINE vars_sprac (ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, kspc_out, BetaD, rhoSW, p, tempis, & ! NEW: added kspc_out + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, & + optCON, optT, optP, optB, optK1K2, optKf, optGAS, optS, lon, salprac, verbose ) + + USE msingledouble + USE mconstants + USE mp80 + USE mrho + USE meos + USE gsw_mod_toolbox, only: gsw_t_from_ct, gsw_ct_from_t, gsw_rho + USE msw_temp + USE mvarsolver + + IMPLICIT NONE + +! Input variables + !> number of records +!f2py intent(hide) n + INTEGER, INTENT(in) :: N + !> either in situ temperature (when optT='Tinsitu', typical data) + !! OR potential temperature (when optT='Tpot', typical models) [degree C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] or [g/kg] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sal + !> total alkalinity in [eq/m^3] (when optCON = 'mol/m3') OR in [eq/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: alk + !> dissolved inorganic carbon in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: dic + !> SiO2 concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sil + !> phosphate concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: phos + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm + !> depth in \b meters (when optP='m') or \b decibars (when optP='db') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: depth + !> latitude [degrees north] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: lat + + !> choose either \b 'mol/kg' (std DATA units) or \b 'mol/m3' (std MODEL units) to select + !! concentration units for input (for alk, dic, sil, phos) & output (co2, hco3, co3) + CHARACTER(6), INTENT(in) :: optCON + !> choose \b 'Tinsitu' for in situ temperature or \b 'Tpot' for potential temperature + !> \b 'Tcsv" for conservative temperature (in two last cases, in-situ Temp is computed, needed for models) + CHARACTER(7), INTENT(in) :: optT + !> for depth input, choose \b "db" for decibars (in situ pressure) or \b "m" for meters (pressure is computed, needed for models) + CHARACTER(2), INTENT(in) :: optP + !> for total boron, choose either \b 'u74' (Uppstrom, 1974) [default] or \b 'l10' (Lee et al., 2010). + !! The 'l10' formulation is based on 139 measurements (instead of 20), + !! uses a more accurate method, and + !! generally increases total boron in seawater by 4% +!f2py character*3 optional, intent(in) :: optB='u74' + CHARACTER(3), OPTIONAL, INTENT(in) :: optB + !> for Kf, choose either \b 'pf' (Perez & Fraga, 1987) [default] or \b 'dg' (Dickson & Riley, 1979) +!f2py character*2 optional, intent(in) :: optKf='pf' + CHARACTER(2), OPTIONAL, INTENT(in) :: optKf + !> for K1,K2 choose either \b 'l' (Lueker et al., 2000) [default] or \b 'm10' (Millero, 2010) +!f2py character*3 optional, intent(in) :: optK1K2='l' + CHARACTER(3), OPTIONAL, INTENT(in) :: optK1K2 + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(*), OPTIONAL, INTENT(in) :: optGAS + !> choose \b 'Sprc' for practical sal. (EOS-80, default) or \b 'Sabs' for absolute salinity (TEOS-10) +!f2py character*4 optional, intent(in) :: optS='Sprc' + CHARACTER(4), OPTIONAL, INTENT(in) :: optS + !> longitude [degrees east] +!f2py real(8) optional, intent(in), dimension(n) :: lon = -25. + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon +!f2py logical optional, intent(in) :: verbose=.true. + LOGICAL, OPTIONAL, INTENT(in) :: verbose + +! Output variables: + !> pH on the total scale + REAL(kind=rx), INTENT(out), DIMENSION(N) :: ph + !> CO2 partial pressure [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: pco2 + !> CO2 fugacity [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: fco2 + !> aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: co2 + !> bicarbonate ion (HCO3-) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: hco3 + !> carbonate ion (CO3--) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: co3 + !> Omega for aragonite, i.e., the aragonite saturation state + REAL(kind=rx), INTENT(out), DIMENSION(N) :: OmegaA + !> Omega for calcite, i.e., the calcite saturation state + REAL(kind=rx), INTENT(out), DIMENSION(N) :: OmegaC + !> Stoichiometric solubility product of calcite ! NEW + REAL(kind=rx), INTENT(out), DIMENSION(N) :: kspc_out ! NEW + !> Revelle factor, i.e., dpCO2/pCO2 / dDIC/DIC + REAL(kind=rx), INTENT(out), DIMENSION(N) :: BetaD + !> in-situ density of seawater; rhoSW = f(s, t, p) in [kg/m3] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: rhoSW + !> pressure [decibars]; p = f(depth, latitude) if computed from depth [m] (when optP='m') OR p = depth [db] (when optP='db') + REAL(kind=rx), INTENT(out), DIMENSION(N) :: p + !> in-situ temperature \b [degrees C] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: tempis + !> practical salinity \b [psu] + REAL(kind=rx), OPTIONAL, INTENT(out), DIMENSION(N) :: salprac + +! Local variables + REAL(kind=rx) :: ssal, salk, sdic, ssil, sphos + REAL(kind=r8) :: tempot, tempis68, tempot68, tempis90, tempcsv + REAL(kind=r8) :: drho + + ! local 1-long array version of scalar variables + REAL(kind=r8), DIMENSION(1) :: aK0, aK1, aK2, aKb, aKw, aKs, aKf, aKspc + REAL(kind=r8), DIMENSION(1) :: aKspa, aK1p, aK2p, aK3p, aKsi + REAL(kind=r8), DIMENSION(1) :: aSt, aFt, aBt + + REAL(kind=rx), DIMENSION(1) :: sabs1, spra1, p1, lon1, lat1 + REAL(kind=rx), DIMENSION(1) :: tc1, ta1, sit1, nt1 + REAL(kind=rx), DIMENSION(1) :: sal1 + + REAL(kind=r8) :: Patmd + REAL(kind=r8) :: Ptot + REAL(kind=r8) :: Phydro_atm + + INTEGER :: i, icount + + REAL(kind=r8) :: prb + REAL(kind=r8) :: s + REAL(kind=r8) :: tc, ta + REAL(kind=r8) :: sit, pt + + REAL(kind=r8), DIMENSION(2) :: dicdel, pco2del + REAL(kind=r8) :: dx, Rf + REAL(kind=r8) :: dph, dpco2, dfco2, dco2, dhco3, dco3, dOmegaA, dOmegaC + + INTEGER :: kcomp + INTEGER :: j, minusplus + +! Arrays to pass optional arguments into or use defaults (Dickson et al., 2007) + CHARACTER(3) :: opB + CHARACTER(2) :: opKf + CHARACTER(3) :: opK1K2 + CHARACTER(7) :: opGAS + CHARACTER(4) :: opS + LOGICAL :: verbosity + +! Set defaults for optional arguments (in Fortran 90) +! Note: Optional arguments with f2py (python) are set above with +! the !f2py statements that precede each type declaraion + IF (PRESENT(optB)) THEN + opB = optB + ELSE +! Default is Uppstrom (1974) for total boron + opB = 'u74' + ENDIF + IF (PRESENT(optKf)) THEN + opKf = optKf + ELSE +! Default is Perez & Fraga (1987) for Kf + opKf = 'pf' + ENDIF + IF (PRESENT(optK1K2)) THEN + opK1K2 = optK1K2 + ELSE +! Default is Lueker et al. 2000) for K1 & K2 + opK1K2 = 'l' + ENDIF + IF (PRESENT(optGAS)) THEN + opGAS = optGAS + ELSE + opGAS = 'Pinsitu' + ENDIF + IF (PRESENT(optS)) THEN + opS = optS + ELSE + opS = 'Sprc' + ENDIF + IF (PRESENT(verbose)) THEN + verbosity = verbose + ELSE + verbosity = .true. + ENDIF + + icount = 0 + DO i = 1, N + icount = icount + 1 +! =============================================================== +! Convert model depth -> press; convert model Theta -> T in situ +! =============================================================== +! * Model temperature tracer is usually "potential temperature" +! * Model vertical grid is usually in meters +! BUT carbonate chem routines require pressure & in-situ T +! Thus before computing chemistry, if appropriate, +! convert these 2 model vars (input to this routine) +! - depth [m] => convert to pressure [db] +! - potential temperature (C) => convert to in-situ T (C) +! ------------------------------------------------------- +! 1) Compute pressure [db] from depth [m] and latitude [degrees] (if input is m, for models) + !print *,"optP =", optP, "end" + IF (trim(optP) == 'm' ) THEN +! Compute pressure [db] from depth [m] and latitude [degrees] +! write(*,*), 'i,depth,lat,p',i,depth(i),lat(i),p(i) + p(i) = p80(depth(i), lat(i)) + ELSEIF (trim(optP) == 'db') THEN +! In this case (where optP = 'db'), p is input & output (no depth->pressure conversion needed) + p(i) = depth(i) + ELSE + !print *,"optP =", optP, "end" + PRINT *,"optP must be either 'm' or 'db'" + STOP + ENDIF + +! 2) Convert potential T to in-situ T (if input is Tpot, i.e. case for models): + IF (trim(optT) == 'Tpot' .OR. trim(optT) == 'tpot') THEN + tempot = DBLE(temp(i)) +! This is the case for most models and some data +! a) Convert the pot. temp on today's "ITS 90" scale to older IPTS 68 scale +! (see Dickson et al., Best Practices Guide, 2007, Chap. 5, p. 7, including footnote) + tempot68 = (tempot - 0.0002_rx) / 0.99975_rx +! b) Compute "in-situ Temperature" from "Potential Temperature" (both on IPTS 68) + tempis68 = sw_temp(sal(i), tempot68, p(i), 0.d0 ) +!jh tempis68 = sw_temp(sal(i), SGLE(tempot68), p(i), SGLE(0.d0) ) +! c) Convert the in-situ temp on older IPTS 68 scale to modern scale (ITS 90) + tempis90 = 0.99975*tempis68 + 0.0002_r8 +! Note: parts (a) and (c) above are tiny corrections; +! part (b) is a big correction for deep waters (but zero at surface) + ELSEIF (trim(optT) == 'Tinsitu' .OR. trim(optT) == 'tinsitu') THEN +! When optT = 'Tinsitu', tempis is input & output (no tempot needed) + tempis90 = DBLE(temp(i)) + tempis68 = (tempis90 - 0.0002_r8) / 0.99975_r8 +! dtempot68 = sw_ptmp(DBLE(sal(i)), DBLE(tempis68), DBLE(p), 0.0d0) +! dtempot = 0.99975*dtempot68 + 0.0002 + ELSEIF (trim(optT) == 'Tcsv' .OR. trim(optT) == 'tcsv') THEN +! Convert given conservative temperature to in-situ temperature + ! First convert salinity to absolute sal., if necessary + IF (trim(opS) == 'Sprc') THEN + ! conversion will use default geographic location + spra1(1) = sal(i) + p1(1) = p(i) + CALL sp2sa_geo (spra1, 1, sabs1, p1) + ELSE + sabs1(1) = sal(i) + END IF + ! Then convert temperature + tempis90 = gsw_t_from_ct (DBLE(sabs1(1)), DBLE(temp(i)), DBLE(p(i))) + tempis68 = (tempis90 - 0.0002_r8) / 0.99975_r8 + ELSE + PRINT *,"optT must be either 'Tpot, 'Tinsitu' or 'Tcsv'" + PRINT *,"you specified optT =", trim(optT) + STOP + ENDIF + tempis(i) = SGLE(tempis90) + +! ================================================================ +! Carbonate chemistry computations +! ================================================================ + IF (dic(i) > 0. .AND. dic(i) < 1.0e+4) THEN +! Test to indicate if any of input variables are unreasonable + IF (verbosity .EQV. .true.) THEN + IF ( sal(i) < 0.0_rx & + .OR. alk(i) < 0.0_rx & + .OR. dic(i) < 0.0_rx & + .OR. sil(i) < 0.0_rx & + .OR. phos(i) < 0.0_rx & + .OR. sal(i) > 1e+3_rx & + .OR. alk(i) > 1e+3_rx & + .OR. dic(i) > 1e+3_rx & + .OR. sil(i) > 1e+3_rx & + .OR. phos(i) > 1e+3_rx) THEN + PRINT *, 'i, icount, tempot, sal, alk, dic, sil, phos =', & + i, icount, tempot, sal(i), alk(i), dic(i), sil(i), phos(i) + ENDIF + ENDIF +! Zero out any negative salinity, phosphate, silica, dic, and alk + IF (sal(i) < 0.0_rx) THEN + ssal = 0.0_rx + ELSE + ssal = sal(i) + ENDIF + IF (phos(i) < 0.0_rx) THEN + sphos = 0.0_rx + ELSE + sphos = phos(i) + ENDIF + IF (sil(i) < 0.0_rx) THEN + ssil = 0.0_rx + ELSE + ssil = sil(i) + ENDIF + IF (dic(i) < 0.0_rx) THEN + sdic = 0.0_rx + ELSE + sdic = dic(i) + ENDIF + IF (alk(i) < 0.0_rx) THEN + salk = 0.0_rx + ELSE + salk = alk(i) + ENDIF + +! Atmospheric pressure + Patmd = DBLE(Patm(i)) +! Hydrostatic pressure (prb is in bars) + prb = DBLE(p(i) / SGLE(10.0d0)) + Phydro_atm = prb / 1.01325d0 ! convert hydrostatic pressure from bar to atm (1.01325 bar / atm) +! Total pressure [atm] + IF (trim(opGAS) == 'Pzero' .OR. trim(opGAS) == 'pzero') THEN + Ptot = Patmd ! total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Ppot' .OR. trim(opGAS) == 'ppot') THEN + Ptot = Patmd ! total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Pinsitu' .OR. trim(opGAS) == 'pinsitu') THEN + Ptot = Patmd + Phydro_atm ! total pressure (in atm) = atmospheric pressure + hydrostatic pressure + ELSE + PRINT *, "optGAS must be 'Pzero', 'Ppot', or 'Pinsitu'" + STOP + ENDIF + +! Compute in-situ density [kg/m^3] + ! If Absolute salinity is given + IF (trim(opS) == 'Sabs') THEN + ! If in-situ or potential temperature is given + IF (trim(optT) /= 'Scsv') THEN + ! First compute conservative temperature + tempcsv = gsw_ct_from_t (DBLE(ssal), tempis90, DBLE(p(i))) + ELSE + tempcsv = DBLE(temp(i)) + ENDIF + rhoSW(i) = gsw_rho(DBLE(ssal), tempcsv, prb) + ELSE + rhoSW(i) = rho(ssal, tempis68, prb) +!jh rhoSW(i) = rho(ssal, SGLE(tempis68), SGLE(prb)) + ENDIF + +! Either convert units of DIC and ALK (MODEL case) or not (DATA case) + IF (trim(optCON) == 'mol/kg') THEN +! No conversion: drho = 1. +! print *,'DIC and ALK already given in mol/kg (std DATA units)' + drho = 1.0 + ELSEIF (trim(optCON) == 'mol/m3') THEN +! Do conversion: +! print *,"DIC and ALK given in mol/m^3 (std MODEL units)" + drho = DBLE(rhoSW(i)) + ELSE + PRINT *,"optCON must be either 'mol/kg' or 'mol/m3'" + STOP + ENDIF + +! Initialise ta, tc, pt and sit + ta = DBLE(salk) / drho + tc = DBLE(sdic) / drho + pt = DBLE(sphos) / drho + sit = DBLE(ssil) / drho + +! Salinity (equivalent array in double precision) + s = DBLE(ssal) + +! Convert from Absolute to Practical salinity if needed + IF (trim(opS) == 'Sabs') THEN + sabs1(1) = ssal ! absolute sal. + ! If longitude is passed in + IF (PRESENT(lon)) THEN + p1(1) = p(i) + IF (lon(i) .NE. 1.e20_rx) THEN + ! longitude and latitude are defined + lon1(1) = lon(i) + lat1(1) = lat(i) + CALL sa2sp_geo (sabs1, 1, spra1, p1, lon1, lat1) + ELSE + ! will use default geographic location + CALL sa2sp_geo (sabs1, 1, spra1, p1) + ENDIF + ELSE + tc1(1) = tc + ta1(1) = ta + sit1(1) = sit + ! Nitrate total : from Phosphate using Redfield ratio (16) + nt1(1) = 16.0 * pt + CALL sa2sp_chem(sabs1, ta1, tc1, nt1, sit1, 1, spra1) + ENDIF + s = DBLE(spra1(1)) + IF (PRESENT(salprac)) salprac(i) = SGLE(s) + ENDIF + +! Get all equilibrium constants and total concentrations of SO4, F, B + sal1(1) = SGLE(s) + CALL constants (aK0, aK1, aK2, aKb, aKw, aKs, aKf, & + aKspc, aKspa, aK1p, aK2p, aK3p, aKsi, & + aSt, aFt, aBt, & + temp(i), sal1, Patm(i), & + depth(i), lat(i), 1, & + optT, optP, opB, opK1K2, opKf, opGAS ) + +! Solve for pH and all other variables +! ------------------------------------ + CALL varsolver(dph, dpco2, dfco2, dco2, dhco3, dco3, dOmegaA, dOmegaC, & + tempis90, s, ta, tc, pt, sit, & + aBt(1), aSt(1), aFt(1), & + aK0(1), aK1(1), aK2(1), aKb(1), aKw(1), aKs(1), aKf(1), & + aKspc(1), aKspa(1), aK1p(1), aK2p(1), aK3p(1), aKsi(1), & + Patmd, prb, drho, opGAS ) + +! Convert all output variables from double to single precision, if necessary + pH(i) = SGLE(dph) + co2(i) = SGLE(dco2) + hco3(i) = SGLE(dhco3) + co3(i) = SGLE(dco3) + fCO2(i) = SGLE(dfCO2) + pCO2(i) = SGLE(dpCO2) + OmegaA(i) = SGLE(dOmegaA) + OmegaC(i) = SGLE(dOmegaC) + kspc_out(i)=SGLE(aKspc(1)) ! NEW + +! Compute Revelle factor numerically (derivative using centered-difference scheme) + DO j=1,2 + minusplus = (-1)**j + dx = 0.1 * 1e-6 ! Numerical tests found for DIC that optimal dx = 0.1 umol/kg (0.1e-6 mol/kg) + dicdel(j) = tc + DBLE(minusplus)*dx/2.0d0 + CALL varsolver(dph, dpco2, dfco2, dco2, dhco3, dco3, dOmegaA, dOmegaC, & + tempis90, s, ta, dicdel(j), pt, sit, & + aBt(1), aSt(1), aFt(1), & + aK0(1), aK1(1), aK2(1), aKb(1), aKw(1), aKs(1), aKf(1), & + aKspc(1), aKspa(1), aK1p(1), aK2p(1), aK3p(1), aKsi(1), & + Patmd, prb, drho, opGAS ) + pco2del(j) = dpco2 + END DO + !Classic finite centered difference formula for derivative (2nd order accurate) + Rf = (pco2del(2) - pco2del(1)) / (dicdel(2) - dicdel(1)) ! dpCO2/dDIC + !Rf = (pco2del(2) - pco2del(1)) / (dx) ! dpCO2/dDIC (same as just above) + Rf = Rf * tc / dpco2 ! R = (dpCO2/dDIC) * (DIC/pCO2) + + BetaD(i) = SGLE(Rf) + + ELSE + + ph(i) = 1.e20_rx + pco2(i) = 1.e20_rx + fco2(i) = 1.e20_rx + co2(i) = 1.e20_rx + hco3(i) = 1.e20_rx + co3(i) = 1.e20_rx + OmegaA(i) = 1.e20_rx + OmegaC(i) = 1.e20_rx + kspc_out(i)=1.e20_rx ! NEW + BetaD(i) = 1.e20_rx + rhoSW(i) = 1.e20_rx + p(i) = 1.e20_rx + tempis(i) = 1.e20_rx + + ENDIF + + END DO + + RETURN +END SUBROUTINE vars_sprac + + +!> Same routine as vars() above +!! except that it perturbs slightly one dissociation constant +SUBROUTINE vars_pertK(ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, & + temp, sal, alk, dic, sil, phos, Patm, depth, lat, N, & + var_index, abs_delta, & + optCON, optT, optP, optB, optK1K2, optKf, optGAS, optS, lon, verbose ) + + ! Purpose: + ! + ! Same routine as vars() above except that it perturbs slightly one dissociation constant + ! before proceeding to computation of carbonate system variables (call to varsolver()) + ! + ! This routine is intended only to be called internally by derivnum.f90 + ! which computes numerical derivatives. + + + ! INPUT variables: + ! ================ + ! same as routine vars() above, plus : + ! var_index = numerical id of dissociation constant (and total boron) to perturb + ! an index (1...8) from the list : K0, K1, K2, Kb, Kw, Kspa, Kspc, Bt + ! abs_delta = perturbation value + ! + ! INPUT options: + ! ============== + ! same as routine vars() above + + ! OUTPUT variables: + ! ================= + ! same as routine vars() above except : BetaD, rhoSW, p, tempis + +#if USE_PRECISION == 2 +# define SGLE(x) (x) +#else +# define SGLE(x) REAL(x) +#endif + + USE msingledouble + USE mconstants + USE mp80 + USE mrho + USE meos + USE gsw_mod_toolbox, only: gsw_t_from_ct, gsw_ct_from_t, gsw_rho + USE msw_temp + USE mvarsolver + + IMPLICIT NONE + +! Input variables + !> number of records +!f2py optional , depend(sal) :: n=len(sal) + INTEGER, INTENT(in) :: N + !> either in situ temperature (when optT='Tinsitu', typical data) + !! OR potential temperature (when optT='Tpot', typical models) [degree C] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: temp + !> salinity [psu] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sal + !> total alkalinity in [eq/m^3] (when optCON = 'mol/m3') OR in [eq/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: alk + !> dissolved inorganic carbon in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: dic + !> SiO2 concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: sil + !> phosphate concentration in [mol/m^3] (when optCON = 'mol/m3') OR in [mol/kg] (when optCON = 'mol/kg') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: phos + !> atmospheric pressure [atm] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: Patm + !> depth in \b meters (when optP='m') or \b decibars (when optP='db') + REAL(kind=rx), INTENT(in), DIMENSION(N) :: depth + !> latitude [degrees north] + REAL(kind=rx), INTENT(in), DIMENSION(N) :: lat + !> Numeric id of dissociation constant + INTEGER, INTENT(in) :: var_index + !> Perturbation value + REAL(kind=rx), INTENT(in) :: abs_delta + + !> choose either \b 'mol/kg' (std DATA units) or \b 'mol/m3' (std MODEL units) to select + !! concentration units for input (for alk, dic, sil, phos) & output (co2, hco3, co3) + CHARACTER(6), INTENT(in) :: optCON + !> choose \b 'Tinsitu' for in situ temperature or \b 'Tpot' for potential temperature (in situ Temp is computed, needed for models) + CHARACTER(7), INTENT(in) :: optT + !> for depth input, choose \b "db" for decibars (in situ pressure) or \b "m" for meters (pressure is computed, needed for models) + CHARACTER(2), INTENT(in) :: optP + !> for total boron, choose either \b 'u74' (Uppstrom, 1974) or \b 'l10' (Lee et al., 2010). + !! The 'l10' formulation is based on 139 measurements (instead of 20), + !! uses a more accurate method, and + !! generally increases total boron in seawater by 4% +!f2py character*3 optional, intent(in) :: optB='l10' + CHARACTER(3), OPTIONAL, INTENT(in) :: optB + !> for Kf, choose either \b 'pf' (Perez & Fraga, 1987) or \b 'dg' (Dickson & Riley, 1979) +!f2py character*2 optional, intent(in) :: optKf='pf' + CHARACTER(2), OPTIONAL, INTENT(in) :: optKf + !> for K1,K2 choose either \b 'l' (Lueker et al., 2000) or \b 'm10' (Millero, 2010) +!f2py character*3 optional, intent(in) :: optK1K2='l' + CHARACTER(3), OPTIONAL, INTENT(in) :: optK1K2 + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(7), OPTIONAL, INTENT(in) :: optGAS + !> choose \b 'Sprc' for practical sal. (EOS-80, default) or \b 'Sabs' for absolute salinity (TEOS-10) +!f2py character*4 optional, intent(in) :: optS='Sprc' + CHARACTER(4), OPTIONAL, INTENT(in) :: optS + !> longitude [degrees east] +!f2py real(8) optional, intent(in), dimension(n) :: lon = -25. + REAL(kind=rx), OPTIONAL, INTENT(in), DIMENSION(N) :: lon +!f2py logical optional, intent(in) :: verbose + LOGICAL, OPTIONAL, INTENT(in) :: verbose + +! Output variables: + !> pH on the total scale + REAL(kind=rx), INTENT(out), DIMENSION(N) :: ph + !> CO2 partial pressure [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: pco2 + !> CO2 fugacity [uatm] + REAL(kind=rx), INTENT(out), DIMENSION(N) :: fco2 + !> aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: co2 + !> bicarbonate ion (HCO3-) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: hco3 + !> carbonate ion (CO3--) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=rx), INTENT(out), DIMENSION(N) :: co3 + !> Omega for aragonite, i.e., the aragonite saturation state + REAL(kind=rx), INTENT(out), DIMENSION(N) :: OmegaA + !> Omega for calcite, i.e., the calcite saturation state + REAL(kind=rx), INTENT(out), DIMENSION(N) :: OmegaC + +! Local variables + !> in-situ density of seawater in [kg/m3] + REAL(kind=rx) :: rhoSW + !> pressure [decibars] + REAL(kind=rx) :: p + + REAL(kind=rx) :: ssal, salk, sdic, ssil, sphos + + !> in-situ temperature \b [degrees C] + REAL(kind=r8) :: tempot, tempis68, tempot68, tempis90, tempcsv + REAL(kind=r8) :: drho + + ! local 1-long array version of scalar variables + REAL(kind=r8), DIMENSION(1) :: aK0, aK1, aK2, aKb, aKw, aKs, aKf, aKspc + REAL(kind=r8), DIMENSION(1) :: aKspa, aK1p, aK2p, aK3p, aKsi + REAL(kind=r8), DIMENSION(1) :: aSt, aFt, aBt + + REAL(kind=rx), DIMENSION(1) :: sabs1, spra1, p1, lon1, lat1 + REAL(kind=rx), DIMENSION(1) :: tc1, ta1, sit1, nt1 + REAL(kind=rx), DIMENSION(1) :: sal1 + + REAL(kind=r8) :: Patmd + REAL(kind=r8) :: Ptot + REAL(kind=r8) :: Phydro_atm + + INTEGER :: i, icount + + REAL(kind=r8) :: prb + REAL(kind=r8) :: s + REAL(kind=r8) :: tc, ta + REAL(kind=r8) :: sit, pt + + REAL(kind=r8) :: dph, dpco2, dfco2, dco2, dhco3, dco3, dOmegaA, dOmegaC + +! Arrays to pass optional arguments into or use defaults (Dickson et al., 2007) + CHARACTER(3) :: opB + CHARACTER(2) :: opKf + CHARACTER(3) :: opK1K2 + CHARACTER(7) :: opGAS + CHARACTER(4) :: opS + LOGICAL :: verbosity + +! Set defaults for optional arguments (in Fortran 90) +! Note: Optional arguments with f2py (python) are set above with +! the !f2py statements that precede each type declaraion + IF (PRESENT(optB)) THEN +! print *,"optB present:" +! print *,"optB = ", optB + opB = optB + ELSE +! Default is Lee et al (2010) for total boron +! print *,"optB NOT present:" + opB = 'l10' +! print *,"opB = ", opB + ENDIF + IF (PRESENT(optKf)) THEN +! print *,"optKf = ", optKf + opKf = optKf + ELSE +! print *,"optKf NOT present:" +! Default is Perez & Fraga (1987) for Kf + opKf = 'pf' +! print *,"opKf = ", opKf + ENDIF + IF (PRESENT(optK1K2)) THEN +! print *,"optK1K2 = ", optK1K2 + opK1K2 = optK1K2 + ELSE +! print *,"optK1K2 NOT present:" +! Default is Lueker et al. 2000) for K1 & K2 + opK1K2 = 'l' +! print *,"opK1K2 = ", opK1K2 + ENDIF + IF (PRESENT(optGAS)) THEN + opGAS = optGAS + ELSE + opGAS = 'Pinsitu' + ENDIF + IF (PRESENT(optS)) THEN + opS = optS + ELSE + opS = 'Sprc' + ENDIF + IF (PRESENT(verbose)) THEN + verbosity = verbose + ELSE + verbosity = .true. + ENDIF + + icount = 0 + DO i = 1, N + icount = icount + 1 +! =============================================================== +! Convert model depth -> press; convert model Theta -> T in situ +! =============================================================== +! * Model temperature tracer is usually "potential temperature" +! * Model vertical grid is usually in meters +! BUT carbonate chem routines require pressure & in-situ T +! Thus before computing chemistry, if appropriate, +! convert these 2 model vars (input to this routine) +! - depth [m] => convert to pressure [db] +! - potential temperature (C) => convert to in-situ T (C) +! ------------------------------------------------------- +! 1) Compute pressure [db] from depth [m] and latitude [degrees] (if input is m, for models) + !print *,"optP =", optP, "end" + IF (trim(optP) == 'm' ) THEN +! Compute pressure [db] from depth [m] and latitude [degrees] + p = p80(depth(i), lat(i)) + ELSEIF (trim(optP) == 'db') THEN +! In this case (where optP = 'db'), p is input & output (no depth->pressure conversion needed) + p = depth(i) + ELSE + !print *,"optP =", optP, "end" + PRINT *,"optP must be either 'm' or 'db'" + STOP + ENDIF + +! 2) Convert potential T to in-situ T (if input is Tpot, i.e. case for models): + IF (trim(optT) == 'Tpot' .OR. trim(optT) == 'tpot') THEN + tempot = DBLE(temp(i)) +! This is the case for most models and some data +! a) Convert the pot. temp on today's "ITS 90" scale to older IPTS 68 scale +! (see Dickson et al., Best Practices Guide, 2007, Chap. 5, p. 7, including footnote) + tempot68 = (tempot - 0.0002) / 0.99975 +! b) Compute "in-situ Temperature" from "Potential Temperature" (both on IPTS 68) + tempis68 = sw_temp(sal(i), tempot68, p, 0.d0 ) +!jh tempis68 = sw_temp(sal(i), SGLE(tempot68), p, SGLE(0.d0) ) +! c) Convert the in-situ temp on older IPTS 68 scale to modern scale (ITS 90) + tempis90 = 0.99975*tempis68 + 0.0002 +! Note: parts (a) and (c) above are tiny corrections; +! part (b) is a big correction for deep waters (but zero at surface) + ELSEIF (trim(optT) == 'Tinsitu' .OR. trim(optT) == 'tinsitu') THEN +! When optT = 'Tinsitu', tempis is input & output (no tempot needed) + tempis90 = DBLE(temp(i)) + tempis68 = (tempis90 - 0.0002_r8) / 0.99975_r8 +! dtempot68 = sw_ptmp(DBLE(sal(i)), DBLE(tempis68), DBLE(p), 0.0d0) +! dtempot = 0.99975*dtempot68 + 0.0002 + ELSEIF (trim(optT) == 'Tcsv' .OR. trim(optT) == 'tcsv') THEN +! Convert given conservative temperature to in-situ temperature + ! First convert salinity to absolute sal., if necessary + IF (trim(opS) == 'Sprc') THEN + ! conversion will use default geographic location + spra1(1) = sal(i) + p1(1) = p + CALL sp2sa_geo (spra1, 1, sabs1, p1) + ELSE + sabs1(1) = sal(i) + END IF + ! Then convert temperature + tempis90 = gsw_t_from_ct (DBLE(sabs1(1)), DBLE(temp(i)), DBLE(p)) + tempis68 = (tempis90 - 0.0002_r8) / 0.99975_r8 + ELSE + PRINT *,"optT must be either 'Tpot, 'Tinsitu' or 'Tcsv'" + PRINT *,"you specified optT =", trim(optT) + STOP + ENDIF + +! ================================================================ +! Carbonate chemistry computations +! ================================================================ + IF (dic(i) > 0. .AND. dic(i) < 1.0e+4) THEN +! Test to indicate if any of input variables are unreasonable + IF (verbosity .EQV. .true.) THEN + IF ( sal(i) < 0. & + .OR. alk(i) < 0. & + .OR. dic(i) < 0. & + .OR. sil(i) < 0. & + .OR. phos(i) < 0. & + .OR. sal(i) > 1e+3 & + .OR. alk(i) > 1e+3 & + .OR. dic(i) > 1e+3 & + .OR. sil(i) > 1e+3 & + .OR. phos(i) > 1e+3) THEN + PRINT *, 'i, icount, tempot, sal, alk, dic, sil, phos =', & + i, icount, tempot, sal(i), alk(i), dic(i), sil(i), phos(i) + ENDIF + ENDIF +! Zero out any negative salinity, phosphate, silica, dic, and alk + IF (sal(i) < 0.0) THEN + ssal = 0.0 + ELSE + ssal = sal(i) + ENDIF + IF (phos(i) < 0.0) THEN + sphos = 0.0 + ELSE + sphos = phos(i) + ENDIF + IF (sil(i) < 0.0) THEN + ssil = 0.0 + ELSE + ssil = sil(i) + ENDIF + IF (dic(i) < 0.0) THEN + sdic = 0.0 + ELSE + sdic = dic(i) + ENDIF + IF (alk(i) < 0.0) THEN + salk = 0.0 + ELSE + salk = alk(i) + ENDIF + +! Atmospheric pressure + Patmd = DBLE(Patm(i)) +! Hydrostatic pressure (prb is in bars) + prb = DBLE(p / SGLE(10.0d0)) + Phydro_atm = prb / 1.01325d0 ! convert hydrostatic pressure from bar to atm (1.01325 bar / atm) +! Total pressure [atm] + IF (trim(opGAS) == 'Pzero' .OR. trim(opGAS) == 'pzero') THEN + Ptot = Patmd ! total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Ppot' .OR. trim(opGAS) == 'ppot') THEN + Ptot = Patmd ! total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Pinsitu' .OR. trim(opGAS) == 'pinsitu') THEN + Ptot = Patmd + Phydro_atm ! total pressure (in atm) = atmospheric pressure + hydrostatic pressure + ELSE + PRINT *, "optGAS must be 'Pzero', 'Ppot', or 'Pinsitu'" + STOP + ENDIF + +! Compute in-situ density [kg/m^3] + ! If Absolute salinity is given + IF (trim(opS) == 'Sabs') THEN + ! If in-situ or potential temperature is given + IF (trim(optT) /= 'Scsv') THEN + ! First compute conservative temperature + tempcsv = gsw_ct_from_t (DBLE(ssal), tempis90, DBLE(p)) + ELSE + tempcsv = DBLE(temp(i)) + ENDIF + rhoSW = gsw_rho(DBLE(ssal), tempcsv, prb) + ELSE + rhoSW = rho(ssal, tempis68, prb) +!jh rhoSW = rho(ssal, SGLE(tempis68), SGLE(prb)) + ENDIF + +! Either convert units of DIC and ALK (MODEL case) or not (DATA case) + IF (trim(optCON) == 'mol/kg') THEN +! No conversion: drho = 1. +! print *,'DIC and ALK already given in mol/kg (std DATA units)' + drho = 1.0 + ELSEIF (trim(optCON) == 'mol/m3') THEN +! Do conversion: +! print *,"DIC and ALK given in mol/m^3 (std MODEL units)" + drho = DBLE(rhoSW) + ELSE + PRINT *,"optCON must be either 'mol/kg' or 'mol/m3'" + STOP + ENDIF + +! Initialise ta, tc, pt and sit + ta = DBLE(salk) / drho + tc = DBLE(sdic) / drho + pt = DBLE(sphos) / drho + sit = DBLE(ssil) / drho + +! Salinity (equivalent array in double precision) + s = DBLE(ssal) + +! Convert from Absolute to Practical salinity if needed + IF (trim(opS) == 'Sabs') THEN + sabs1(1) = ssal ! absolute sal. + ! If longitude is passed in + IF (PRESENT(lon)) THEN + p1(1) = p + IF (lon(i) .NE. 1e20_rx) THEN + ! longitude and latitude are defined + lon1(1) = lon(i) + lat1(1) = lat(i) + CALL sa2sp_geo (sabs1, 1, spra1, p1, lon1, lat1) + ELSE + ! will use default geographic location + CALL sa2sp_geo (sabs1, 1, spra1, p1) + ENDIF + ELSE + tc1(1) = tc + ta1(1) = ta + sit1(1) = sit + ! Nitrate total : from Phosphate using Redfield ratio (16) + nt1(1) = 16.0 * pt + CALL sa2sp_chem(sabs1, ta1, tc1, nt1, sit1, 1, spra1) + ENDIF + s = DBLE(spra1(1)) + ENDIF + +! Get all equilibrium constants and total concentrations of SO4, F, B + sal1(1) = SGLE(s) + CALL constants (aK0, aK1, aK2, aKb, aKw, aKs, aKf, & + aKspc, aKspa, aK1p, aK2p, aK3p, aKsi, & + aSt, aFt, aBt, & + temp(i), sal1, Patm(i), & + depth(i), lat(i), 1, & + optT, optP, opB, opK1K2, opKf, opGAS ) + +! Apply perturbation on K + SELECT CASE (var_index) + CASE (1) + aK0(1) = aK0(1) + abs_delta + CASE (2) + aK1(1) = aK1(1) + abs_delta + CASE (3) + aK2(1) = aK2(1) + abs_delta + CASE (4) + aKb(1) = aKb(1) + abs_delta + CASE (5) + aKw(1) = aKw(1) + abs_delta + CASE (6) + aKspa(1) = aKspa(1) + abs_delta + CASE (7) + aKspc(1) = aKspc(1) + abs_delta + CASE (8) + aBt(1) = aBt(1) + abs_delta + END SELECT + +! Solve for pH and all other variables +! ------------------------------------ + CALL varsolver(dph, dpco2, dfco2, dco2, dhco3, dco3, dOmegaA, dOmegaC, & + tempis90, s, ta, tc, pt, sit, & + aBt(1), aSt(1), aFt(1), & + aK0(1), aK1(1), aK2(1), aKb(1), aKw(1), aKs(1), aKf(1), & + aKspc(1), aKspa(1), aK1p(1), aK2p(1), aK3p(1), aKsi(1), & + Patmd, prb, drho, opGAS ) + +! Convert all output variables from double to single precision, if necessary + pH(i) = SGLE(dph) + co2(i) = SGLE(dco2) + hco3(i) = SGLE(dhco3) + co3(i) = SGLE(dco3) + fCO2(i) = SGLE(dfCO2) + pCO2(i) = SGLE(dpCO2) + OmegaA(i) = SGLE(dOmegaA) + OmegaC(i) = SGLE(dOmegaC) + + ELSE + + ph(i) = 1.e20_rx + pco2(i) = 1.e20_rx + fco2(i) = 1.e20_rx + co2(i) = 1.e20_rx + hco3(i) = 1.e20_rx + co3(i) = 1.e20_rx + OmegaA(i) = 1.e20_rx + OmegaC(i) = 1.e20_rx + + ENDIF + + END DO + + RETURN +END SUBROUTINE vars_pertK +END MODULE mvars diff --git a/src/int_recom/recom/varsolver.F90 b/src/int_recom/recom/varsolver.F90 new file mode 100755 index 000000000..2337a37ea --- /dev/null +++ b/src/int_recom/recom/varsolver.F90 @@ -0,0 +1,501 @@ +!> \file varsolver.f90 +!! \BRIEF +!> Module with varsolver subroutine - solve for pH and other carbonate system variables +MODULE mvarsolver +CONTAINS +!> Solve for pH and other carbonate system variables (with input from vars routine) +SUBROUTINE varsolver(ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, & + temp, salt, ta, tc, pt, sit, & + Bt, St, Ft, & + K0, K1, K2, Kb, Kw, Ks, Kf, Kspc, Kspa, K1p, K2p, K3p, Ksi, & + Patm, Phydro_bar, rhodum, optGAS ) + + ! Purpose: Solve for pH and other carbonate system variables (with input from vars routine) + + ! INPUT variables: + ! ================ + ! temp = in situ temperature [degrees C] + ! ta = total alkalinity in [eq/m^3] or [eq/kg] based on optCON in calling routine (vars) + ! tc = dissolved inorganic carbon in [mol/m^3] or [mol/kg] based on optCON in calling routine (vars) + ! pt = total dissolved inorganic phosphorus in [mol/m^3] or [mol/kg] based on optCON in calling routine (vars) + ! sit = total dissolved inorganic silicon in [mol/m^3] or [mol/kg] based on optCON in calling routine (vars) + ! Bt = total dissolved inorganic boron computed in calling routine (vars) + ! St = total dissolved inorganic sulfur computed in calling routine (vars) + ! Ft = total dissolved inorganic fluorine computed in calling routine (vars) + ! K's = K0, K1, K2, Kb, Kw, Ks, Kf, Kspc, Kspa, K1p, K2p, K3p, Ksi + ! Patm = atmospheric pressure [atm] + ! Phydro_bar = hydrostatic pressure [bar] + ! rhodum = density factor as computed in calling routine (vars) + ! ----------- + ! optGAS: choose in situ vs. potential fCO2 and pCO2 (default optGAS = 'Pinsitu') + ! --------- + ! PRESSURE & T corrections for K0 and the fugacity coefficient (Cf) + ! -> 'Pzero' = 'zero order' fCO2 and pCO2 (typical approach, which is flawed) + ! considers in situ T & only atm pressure (hydrostatic=0) + ! -> 'Ppot' = 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + ! considers potential T & only atm pressure (hydrostatic press = 0) + ! -> 'Pinsitu' = 'in situ' fCO2 and pCO2 (accounts for huge effects of pressure) + ! considers in situ T & total pressure (atm + hydrostatic) + ! --------- + + ! OUTPUT variables: + ! ================= + ! ph = pH on total scale + ! pco2 = CO2 partial pressure (uatm) + ! fco2 = CO2 fugacity (uatm) + ! co2 = aqueous CO2 concentration in [mol/kg] or [mol/m^3] determined by rhodum (depends on optCON in calling routine) + ! hco3 = bicarbonate (HCO3-) concentration in [mol/kg] or [mol/m^3] determined by rhodum + ! co3 = carbonate (CO3--) concentration in [mol/kg] or [mol/m^3] determined by rhodum + ! OmegaA = Omega for aragonite, i.e., the aragonite saturation state + ! OmegaC = Omega for calcite, i.e., the calcite saturation state + + USE msingledouble + USE mphsolvers + USE msw_ptmp + + IMPLICIT NONE + +! Input variables + !> in situ temperature [degrees C] + REAL(kind=r8), INTENT(in) :: temp + !> salinity [on the practical salinity scale, dimensionless] + REAL(kind=r8), INTENT(in) :: salt + !> total alkalinity in [eq/m^3] OR in [eq/kg], depending on optCON in calling routine + REAL(kind=r8), INTENT(in) :: ta + !> dissolved inorganic carbon in [mol/m^3] OR in [mol/kg], depending on optCON in calling routine + REAL(kind=r8), INTENT(in) :: tc + !> phosphate concentration in [mol/m^3] OR in [mol/kg], depending on optCON in calling routine + REAL(kind=r8), INTENT(in) :: pt + !> total dissolved inorganic silicon concentration in [mol/m^3] OR in [mol/kg], depending on optCON in calling routine + REAL(kind=r8), INTENT(in) :: sit + !> total boron from either Uppstrom (1974) or Lee et al. (2010), depending on optB in calling routine + REAL(kind=r8), INTENT(in) :: Bt + !> total sulfate (Morris & Riley, 1966) + REAL(kind=r8), INTENT(in) :: St + !> total fluoride (Riley, 1965) + REAL(kind=r8), INTENT(in) :: Ft + !> solubility of CO2 in seawater (Weiss, 1974), also known as K0 + REAL(kind=r8), INTENT(in) :: K0 + !> K1 for the dissociation of carbonic acid from Lueker et al. (2000) or Millero (2010), depending on optK1K2 + REAL(kind=r8), INTENT(in) :: K1 + !> K2 for the dissociation of carbonic acid from Lueker et al. (2000) or Millero (2010), depending on optK1K2 + REAL(kind=r8), INTENT(in) :: K2 + !> equilibrium constant for dissociation of boric acid + REAL(kind=r8), INTENT(in) :: Kb + !> equilibrium constant for the dissociation of water (Millero, 1995) + REAL(kind=r8), INTENT(in) :: Kw + !> equilibrium constant for the dissociation of bisulfate (Dickson, 1990) + REAL(kind=r8), INTENT(in) :: Ks + !> equilibrium constant for the dissociation of hydrogen fluoride + !! from Dickson and Riley (1979) or Perez and Fraga (1987), depending on optKf + REAL(kind=r8), INTENT(in) :: Kf + !> solubility product for calcite (Mucci, 1983) + REAL(kind=r8), INTENT(in) :: Kspc + !> solubility product for aragonite (Mucci, 1983) + REAL(kind=r8), INTENT(in) :: Kspa + !> 1st dissociation constant for phosphoric acid (Millero, 1995) + REAL(kind=r8), INTENT(in) :: K1p + !> 2nd dissociation constant for phosphoric acid (Millero, 1995) + REAL(kind=r8), INTENT(in) :: K2p + !> 3rd dissociation constant for phosphoric acid (Millero, 1995) + REAL(kind=r8), INTENT(in) :: K3p + !> equilibrium constant for the dissociation of silicic acid (Millero, 1995) + REAL(kind=r8), INTENT(in) :: Ksi + !> total atmospheric pressure [atm] + REAL(kind=r8), INTENT(in) :: Patm + !> total hydrostatic pressure [bar] + REAL(kind=r8), INTENT(in) :: Phydro_bar + !> density factor as computed incalling routine (vars) + REAL(kind=r8), INTENT(in) :: rhodum + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(7), OPTIONAL, INTENT(in) :: optGAS + +! Output variables: + !> pH on the total scale + REAL(kind=r8), INTENT(out) :: ph + !> CO2 partial pressure [uatm] + REAL(kind=r8), INTENT(out) :: pco2 + !> CO2 fugacity [uatm] + REAL(kind=r8), INTENT(out) :: fco2 + !> aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=r8), INTENT(out) :: co2 + !> bicarbonate ion (HCO3-) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=r8), INTENT(out) :: hco3 + !> carbonate ion (CO3--) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + REAL(kind=r8), INTENT(out) :: co3 + !> Omega for aragonite, i.e., the aragonite saturation state + REAL(kind=r8), INTENT(out) :: OmegaA + !> Omega for calcite, i.e., the calcite saturation state + REAL(kind=r8), INTENT(out) :: OmegaC + +! Local variables + REAL(kind=r8) :: Phydro_atm, Ptot + REAL(kind=r8) :: Rgas_atm, B, Del, xCO2approx, xc2, fugcoeff + REAL(kind=r8) :: tk, tk0 + real(kind=r8) :: temp68, tempot, tempot68 + REAL(kind=r8) :: Hinit, H + REAL(kind=r8) :: HSO4, HF, HSI, HPO4 + REAL(kind=r8) :: ab, aw, ac + REAL(kind=r8) :: cu, cb, cc + REAL(kind=r8) :: Ca +! Array to pass optional arguments + CHARACTER(7) :: opGAS + + IF (PRESENT(optGAS)) THEN + opGAS = optGAS + ELSE + opGAS = 'Pinsitu' + ENDIF + +! Compute pH from constants and total concentrations +! - use SolveSAPHE v1.0.1 routines from Munhoven (2013, GMD) modified to use mocsy's Ks instead of its own +! 1) Solve for H+ using above result as the initial H+ value + H = solve_at_general(ta, tc, Bt, & + pt, sit, & + St, Ft, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi ) + +! 2) Calculate pH from from H+ concentration (mol/kg) + IF (H > 0.d0) THEN + pH = -1.*LOG10(H) + ELSE + pH = 1.e20_r8 + ENDIF + +! Compute carbonate Alk (Ac) by difference: from total Alk and other Alk components + HSO4 = St/(1.0d0 + Ks/(H/(1.0d0 + St/Ks))) + HF = 1.0d0/(1.0d0 + Kf/H) + HSI = 1.0d0/(1.0d0 + H/Ksi) + HPO4 = (K1p*K2p*(H + 2.*K3p) - H**3) / & + (H**3 + K1p*H**2 + K1p*K2p*H + K1p*K2p*K3p) + ab = Bt/(1.0d0 + H/Kb) + aw = Kw/H - H/(1.0d0 + St/Ks) + ac = ta + hso4 - sit*hsi - ab - aw + Ft*hf - pt*hpo4 + +! Calculate CO2*, HCO3-, & CO32- (in mol/kg soln) from Ct, Ac, H+, K1, & K2 + cu = (2.0d0 * tc - ac) / (2.0d0 + K1 / H) + cb = K1 * cu / H + cc = K2 * cb / H + +! When optCON = 'mol/m3' in calling routine (vars), then: +! convert output var concentrations from mol/kg to mol/m^3 +! e.g., for case when drho = 1028, multiply by [1.028 kg/L x 1000 L/m^3]) + co2 = cu * rhodum + hco3 = cb * rhodum + co3 = cc * rhodum + +! Determine CO2 fugacity [uatm] +! NOTE: equation just below requires CO2* in mol/kg + fCO2 = cu * 1.e6_r8/K0 + +! Determine CO2 partial pressure from CO2 fugacity [uatm] + tk = 273.15d0 + temp + !Compute EITHER "potential pCO2" OR "in situ pCO2" (T and P used for calculations will differ) + IF (trim(opGAS) == 'Pzero' .OR. trim(opGAS) == 'pzero') THEN + tk0 = tk !in situ temperature (K) for K0 calculation + Ptot = Patm !total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Ppot' .OR. trim(opGAS) == 'ppot') THEN + !Use potential temperature and atmospheric pressure (water parcel adiabatically brought back to surface) + !temp68 = (temp - 0.0002d0) / 0.99975d0 !temp = in situ T; temp68 is same converted to ITPS-68 scale + !tempot68 = sw_ptmp(salt, temp68, Phydro_bar*10d0, 0.0d0) !potential temperature (C) + !tempot = 0.99975*tempot68 + 0.0002 + !tk0 = tempot + 273.15d0 !potential temperature (K) for fugacity coeff. calc as needed for potential fCO2 & pCO2 + tempot = sw_ptmp(salt, temp, Phydro_bar*10d0, 0.0d0) !potential temperature (C) + tk0 = tempot + 273.15d0 !potential temperature (K) for fugacity coeff. calc as needed for potential fCO2 & pCO2 + Ptot = Patm !total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Pinsitu' .OR. trim(opGAS) == 'pinsitu') THEN + !Use in situ temperature and total pressure + tk0 = tk !in situ temperature (K) for fugacity coefficient calculation + Phydro_atm = Phydro_bar / 1.01325d0 !convert hydrostatic pressure from bar to atm (1.01325 bar / atm) + Ptot = Patm + Phydro_atm !total pressure (in atm) = atmospheric pressure + hydrostatic pressure + ELSE + PRINT *, "optGAS must be 'Pzero', 'Ppot', or 'Pinsitu'" + STOP + ENDIF + +! Now that we have T and P in the right form, continue with calculation of fugacity coefficient (and pCO2) + Rgas_atm = 82.05736_r8 ! (cm3 * atm) / (mol * K) CODATA (2006) +! To compute fugcoeff, we need 3 other terms (B, Del, xc2) in addition to 3 others above (tk, Ptot, Rgas_atm) + B = -1636.75d0 + 12.0408d0*tk0 - 0.0327957d0*(tk0*tk0) + 0.0000316528d0*(tk0*tk0*tk0) + Del = 57.7d0 - 0.118d0*tk0 +! "x2" term often neglected (assumed = 1) in applications of Weiss's (1974) equation 9 +! x2 = 1 - x1 = 1 - xCO2 (it is very close to 1, but not quite) +! Let's assume that xCO2 = fCO2. Resulting fugcoeff is identical to 8th digit after the decimal. + xCO2approx = fCO2 * 1.e-6_r8 + IF (trim(opGAS) == 'Pinsitu' .OR. trim(opGAS) == 'pinsitu') THEN +! xCO2approx = 400.0e-6_r8 !a simple test (gives about same result as seacarb for pCO2insitu) +! approximate surface xCO2 ~ surface fCO2 (i.e., in situ fCO2 d by exponential pressure correction) + xCO2approx = xCO2approx * exp( ((1-Ptot)*32.3_r8)/(82.05736_r8*tk0) ) ! of K0 press. correction, see Weiss (1974, equation 5) + ENDIF + xc2 = (1.0d0 - xCO2approx)**2 + fugcoeff = exp( Ptot*(B + 2.0d0*xc2*Del)/(Rgas_atm*tk0) ) + pCO2 = fCO2 / fugcoeff + +! Determine Omega Calcite et Aragonite +! OmegaA = ((0.01028d0*salt/35.0d0)*cc) / Kspa +! OmegaC = ((0.01028d0*salt/35.0d0)*cc) / Kspc +! - see comments from Munhoven on the best value "0.02128" which differs slightly from the best practices guide (0.02127) + Ca = (0.02128d0/40.078d0) * salt/1.80655d0 + OmegaA = (Ca*cc) / Kspa + OmegaC = (Ca*cc) / Kspc + + RETURN +END SUBROUTINE varsolver + +!> Solve for pH and other carbonate system variables (with input from vars routine) +!> and compute partial derivatives (buffer factors) using dual numbers (DNAD) technique +SUBROUTINE varsolver_DNAD (ph, pco2, fco2, co2, hco3, co3, OmegaA, OmegaC, & + temp, salt, ta, tc, pt, sit, & + Bt, St, Ft, & + K0, K1, K2, Kb, Kw, Ks, Kf, Kspc, Kspa, K1p, K2p, K3p, Ksi, & + Patm, Phydro_bar, rhodum, optGAS ) + + ! Purpose: Solve for pH and other carbonate system variables (with input from vars routine) + ! and compute partial derivatives (buffer factors) using dual numbers (DNAD) technique + ! + ! It is similar to subroutine varsolver above except that it computes + ! partial derivatives of all output (ph, pco2, fco2, co2, hco3, co3, OmegaA and OmegaC) + ! with respect to four input variables : ta, tc pt and sit + ! + + ! INPUT variables: + ! ================ + ! temp = in situ temperature [degrees C] + ! ta = total alkalinity in [eq/m^3] or [eq/kg] based on optCON in calling routine (vars) + ! tc = dissolved inorganic carbon in [mol/m^3] or [mol/kg] based on optCON in calling routine (vars) + ! pt = total dissolved inorganic phosphorus in [mol/m^3] or [mol/kg] based on optCON in calling routine (vars) + ! sit = total dissolved inorganic silicon in [mol/m^3] or [mol/kg] based on optCON in calling routine (vars) + ! Bt = total dissolved inorganic boron computed in calling routine (vars) + ! St = total dissolved inorganic sulfur computed in calling routine (vars) + ! Ft = total dissolved inorganic fluorine computed in calling routine (vars) + ! K's = K0, K1, K2, Kb, Kw, Ks, Kf, Kspc, Kspa, K1p, K2p, K3p, Ksi + ! Patm = atmospheric pressure [atm] + ! Phydro_bar = hydrostatic pressure [bar] + ! rhodum = density factor as computed in calling routine (vars) + ! ----------- + ! optGAS: choose in situ vs. potential fCO2 and pCO2 (default optGAS = 'Pinsitu') + ! --------- + ! PRESSURE & T corrections for K0 and the fugacity coefficient (Cf) + ! -> 'Pzero' = 'zero order' fCO2 and pCO2 (typical approach, which is flawed) + ! considers in situ T & only atm pressure (hydrostatic=0) + ! -> 'Ppot' = 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + ! considers potential T & only atm pressure (hydrostatic press = 0) + ! -> 'Pinsitu' = 'in situ' fCO2 and pCO2 (accounts for huge effects of pressure) + ! considers in situ T & total pressure (atm + hydrostatic) + ! --------- + + ! OUTPUT variables: + ! ================= + ! ph = pH on total scale + ! pco2 = CO2 partial pressure (uatm) + ! fco2 = CO2 fugacity (uatm) + ! co2 = aqueous CO2 concentration in [mol/kg] or [mol/m^3] determined by rhodum (depends on optCON in calling routine) + ! hco3 = bicarbonate (HCO3-) concentration in [mol/kg] or [mol/m^3] determined by rhodum + ! co3 = carbonate (CO3--) concentration in [mol/kg] or [mol/m^3] determined by rhodum + ! OmegaA = Omega for aragonite, i.e., the aragonite saturation state + ! OmegaC = Omega for calcite, i.e., the calcite saturation state + + USE msingledouble + USE mphsolvers + USE msw_ptmp + USE Dual_Num_Auto_Diff + + IMPLICIT NONE + +! Input variables + !> in situ temperature [degrees C] + TYPE(DUAL_NUM), INTENT(in) :: temp + !> salinity [on the practical salinity scale, dimensionless] + TYPE(DUAL_NUM), INTENT(in) :: salt + !> total alkalinity in [eq/m^3] OR in [eq/kg], depending on optCON in calling routine + TYPE(DUAL_NUM), INTENT(in) :: ta + !> dissolved inorganic carbon in [mol/m^3] OR in [mol/kg], depending on optCON in calling routine + TYPE(DUAL_NUM), INTENT(in) :: tc + !> phosphate concentration in [mol/m^3] OR in [mol/kg], depending on optCON in calling routine + TYPE(DUAL_NUM), INTENT(in) :: pt + !> total dissolved inorganic silicon concentration in [mol/m^3] OR in [mol/kg], depending on optCON in calling routine + TYPE(DUAL_NUM), INTENT(in) :: sit + !> total boron from either Uppstrom (1974) or Lee et al. (2010), depending on optB in calling routine + TYPE(DUAL_NUM), INTENT(in) :: Bt + !> total sulfate (Morris & Riley, 1966) + TYPE(DUAL_NUM), INTENT(in) :: St + !> total fluoride (Riley, 1965) + TYPE(DUAL_NUM), INTENT(in) :: Ft + !> solubility of CO2 in seawater (Weiss, 1974), also known as K0 + TYPE(DUAL_NUM), INTENT(in) :: K0 + !> K1 for the dissociation of carbonic acid from Lueker et al. (2000) or Millero (2010), depending on optK1K2 + TYPE(DUAL_NUM), INTENT(in) :: K1 + !> K2 for the dissociation of carbonic acid from Lueker et al. (2000) or Millero (2010), depending on optK1K2 + TYPE(DUAL_NUM), INTENT(in) :: K2 + !> equilibrium constant for dissociation of boric acid + TYPE(DUAL_NUM), INTENT(in) :: Kb + !> equilibrium constant for the dissociation of water (Millero, 1995) + TYPE(DUAL_NUM), INTENT(in) :: Kw + !> equilibrium constant for the dissociation of bisulfate (Dickson, 1990) + TYPE(DUAL_NUM), INTENT(in) :: Ks + !> equilibrium constant for the dissociation of hydrogen fluoride + !! from Dickson and Riley (1979) or Perez and Fraga (1987), depending on optKf + TYPE(DUAL_NUM), INTENT(in) :: Kf + !> solubility product for calcite (Mucci, 1983) + TYPE(DUAL_NUM), INTENT(in) :: Kspc + !> solubility product for aragonite (Mucci, 1983) + TYPE(DUAL_NUM), INTENT(in) :: Kspa + !> 1st dissociation constant for phosphoric acid (Millero, 1995) + TYPE(DUAL_NUM), INTENT(in) :: K1p + !> 2nd dissociation constant for phosphoric acid (Millero, 1995) + TYPE(DUAL_NUM), INTENT(in) :: K2p + !> 3rd dissociation constant for phosphoric acid (Millero, 1995) + TYPE(DUAL_NUM), INTENT(in) :: K3p + !> equilibrium constant for the dissociation of silicic acid (Millero, 1995) + TYPE(DUAL_NUM), INTENT(in) :: Ksi + !> total atmospheric pressure [atm] + TYPE(DUAL_NUM), INTENT(in) :: Patm + !> total hydrostatic pressure [bar] + TYPE(DUAL_NUM), INTENT(in) :: Phydro_bar + !> density factor as computed incalling routine (vars) + TYPE(DUAL_NUM), INTENT(in) :: rhodum + !> for K0,fugacity coefficient choose either \b 'Ppot' (no pressure correction) or \b 'Pinsitu' (with pressure correction) + !! 'Ppot' - for 'potential' fCO2 and pCO2 (water parcel brought adiabatically to the surface) + !! 'Pinsitu' - for 'in situ' values of fCO2 and pCO2, accounting for pressure on K0 and Cf + !! with 'Pinsitu' the fCO2 and pCO2 will be many times higher in the deep ocean +!f2py character*7 optional, intent(in) :: optGAS='Pinsitu' + CHARACTER(7), OPTIONAL, INTENT(in) :: optGAS + +! Output variables: + !> pH on the total scale + TYPE(DUAL_NUM), INTENT(out) :: ph + !> CO2 partial pressure [uatm] + TYPE(DUAL_NUM), INTENT(out) :: pco2 + !> CO2 fugacity [uatm] + TYPE(DUAL_NUM), INTENT(out) :: fco2 + !> aqueous CO2* concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + TYPE(DUAL_NUM), INTENT(out) :: co2 + !> bicarbonate ion (HCO3-) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + TYPE(DUAL_NUM), INTENT(out) :: hco3 + !> carbonate ion (CO3--) concentration, either in [mol/m^3] or [mol/kg] depending on choice for optCON + TYPE(DUAL_NUM), INTENT(out) :: co3 + !> Omega for aragonite, i.e., the aragonite saturation state + TYPE(DUAL_NUM), INTENT(out) :: OmegaA + !> Omega for calcite, i.e., the calcite saturation state + TYPE(DUAL_NUM), INTENT(out) :: OmegaC + +! Local variables + TYPE(DUAL_NUM) :: Phydro_atm, Ptot + TYPE(DUAL_NUM) :: Rgas_atm, B, Del, xCO2approx, xc2, fugcoeff + TYPE(DUAL_NUM) :: tk, tk0 + real(kind=r8) :: temp68, tempot, tempot68 + TYPE(DUAL_NUM) :: Hinit, H + TYPE(DUAL_NUM) :: HSO4, HF, HSI, HPO4 + TYPE(DUAL_NUM) :: ab, aw, ac + TYPE(DUAL_NUM) :: cu, cb, cc + TYPE(DUAL_NUM) :: Ca +! Array to pass optional arguments + CHARACTER(7) :: opGAS + + IF (PRESENT(optGAS)) THEN + opGAS = optGAS + ELSE + opGAS = 'Pinsitu' + ENDIF + +! Compute pH from constants and total concentrations +! - use SolveSAPHE v1.0.1 routines from Munhoven (2013, GMD) +! * modified to use mocsy's Ks instead of its own +! * modified to support DNAD (Dual Numbers Automatic Derivation) +! 1) Solve for H+ using above result as the initial H+ value + H = solve_at_general_DNAD(ta, tc, Bt, & + pt, sit, & + St, Ft, & + K0, K1, K2, Kb, Kw, Ks, Kf, K1p, K2p, K3p, Ksi ) + +! 2) Calculate pH from from H+ concentration (mol/kg) + IF (H > 0.d0) THEN + pH = -1.*LOG10(H) + ELSE + pH = 1.e20_r8 + ENDIF + +! Compute carbonate Alk (Ac) by difference: from total Alk and other Alk components + HSO4 = St/(1.0d0 + Ks/(H/(1.0d0 + St/Ks))) + HF = 1.0d0/(1.0d0 + Kf/H) + HSI = 1.0d0/(1.0d0 + H/Ksi) + HPO4 = (K1p*K2p*(H + 2.*K3p) - H**3) / & + (H**3 + K1p*H**2 + K1p*K2p*H + K1p*K2p*K3p) + ab = Bt/(1.0d0 + H/Kb) + aw = Kw/H - H/(1.0d0 + St/Ks) + ac = ta + hso4 - sit*hsi - ab - aw + Ft*hf - pt*hpo4 + +! Calculate CO2*, HCO3-, & CO32- (in mol/kg soln) from Ct, Ac, H+, K1, & K2 + cu = (2.0d0 * tc - ac) / (2.0d0 + K1 / H) + cb = K1 * cu / H + cc = K2 * cb / H + +! When optCON = 'mol/m3' in calling routine (vars), then: +! convert output var concentrations from mol/kg to mol/m^3 +! e.g., for case when drho = 1028, multiply by [1.028 kg/L x 1000 L/m^3]) + co2 = cu * rhodum + hco3 = cb * rhodum + co3 = cc * rhodum + +! Determine CO2 fugacity [uatm] +! NOTE: equation just below requires CO2* in mol/kg + fCO2 = cu * 1.e6_r8/K0 + +! Determine CO2 partial pressure from CO2 fugacity [uatm] + tk = 273.15d0 + temp + !Compute EITHER "potential pCO2" OR "in situ pCO2" (T and P used for calculations will differ) + IF (trim(opGAS) == 'Pzero' .OR. trim(opGAS) == 'pzero') THEN + tk0 = tk !in situ temperature (K) for K0 calculation + Ptot = Patm !total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Ppot' .OR. trim(opGAS) == 'ppot') THEN + !Use potential temperature and atmospheric pressure (water parcel adiabatically brought back to surface) + !temp68 = (temp - 0.0002d0) / 0.99975d0 !temp = in situ T; temp68 is same converted to ITPS-68 scale + !tempot68 = sw_ptmp(salt, temp68, Phydro_bar*10d0, 0.0d0) !potential temperature (C) + !tempot = 0.99975*tempot68 + 0.0002 + !tk0 = tempot + 273.15d0 !potential temperature (K) for fugacity coeff. calc as needed for potential fCO2 & pCO2 + tempot = sw_ptmp(salt%x_ad_, temp%x_ad_, Phydro_bar%x_ad_*10d0, 0.0d0) !potential temperature (C) + tk0 = tempot + 273.15d0 !potential temperature (K) for fugacity coeff. calc as needed for potential fCO2 & pCO2 + Ptot = Patm !total pressure (in atm) = atmospheric pressure ONLY + ELSEIF (trim(opGAS) == 'Pinsitu' .OR. trim(opGAS) == 'pinsitu') THEN + !Use in situ temperature and total pressure + tk0 = tk !in situ temperature (K) for fugacity coefficient calculation + Phydro_atm = Phydro_bar / 1.01325d0 !convert hydrostatic pressure from bar to atm (1.01325 bar / atm) + Ptot = Patm + Phydro_atm !total pressure (in atm) = atmospheric pressure + hydrostatic pressure + ELSE + PRINT *, "optGAS must be 'Pzero', 'Ppot', or 'Pinsitu'" + STOP + ENDIF + +! Now that we have T and P in the right form, continue with calculation of fugacity coefficient (and pCO2) + Rgas_atm = 82.05736_r8 ! (cm3 * atm) / (mol * K) CODATA (2006) +! To compute fugcoeff, we need 3 other terms (B, Del, xc2) in addition to 3 others above (tk, Ptot, Rgas_atm) + B = -1636.75d0 + 12.0408d0*tk0 - 0.0327957d0*(tk0*tk0) + 0.0000316528d0*(tk0*tk0*tk0) + Del = 57.7d0 - 0.118d0*tk0 +! "x2" term often neglected (assumed = 1) in applications of Weiss's (1974) equation 9 +! x2 = 1 - x1 = 1 - xCO2 (it is very close to 1, but not quite) +! Let's assume that xCO2 = fCO2. Resulting fugcoeff is identical to 8th digit after the decimal. + xCO2approx = fCO2 * 1.e-6_r8 + IF (trim(opGAS) == 'Pinsitu' .OR. trim(opGAS) == 'pinsitu') THEN +! xCO2approx = 400.0e-6_r8 !a simple test (gives about same result as seacarb for pCO2insitu) +! approximate surface xCO2 ~ surface fCO2 (i.e., in situ fCO2 d by exponential pressure correction) + xCO2approx = xCO2approx * exp( ((1-Ptot)*32.3_r8)/(82.05736_r8*tk0) ) ! of K0 press. correction, see Weiss (1974, equation 5) + ENDIF + xc2 = (1.0d0 - xCO2approx)**2 + fugcoeff = exp( Ptot*(B + 2.0d0*xc2*Del)/(Rgas_atm*tk0) ) + pCO2 = fCO2 / fugcoeff + +! Determine Omega Calcite et Aragonite +! OmegaA = ((0.01028d0*salt/35.0d0)*cc) / Kspa +! OmegaC = ((0.01028d0*salt/35.0d0)*cc) / Kspc +! - see comments from Munhoven on the best value "0.02128" which differs slightly from the best practices guide (0.02127) + Ca = (0.02128d0/40.078d0) * salt/1.80655d0 + OmegaA = (Ca*cc) / Kspa + OmegaC = (Ca*cc) / Kspc + + RETURN +END SUBROUTINE varsolver_DNAD +END MODULE mvarsolver diff --git a/src/int_recom/recom_forcing.F90 b/src/int_recom/recom_forcing.F90 index ca4f77974..d84708bc0 100644 --- a/src/int_recom/recom_forcing.F90 +++ b/src/int_recom/recom_forcing.F90 @@ -134,7 +134,6 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal call pistonvel(ULoc, Loc_ice_conc, Nmocsy, kw660) !! ----- check -------! - if((REcoM_DIC(1) > 10000.d0)) then ! NEW: added this entire print statement (if to endif) print*, 'NEW ERROR: DIC !' print*, 'pco2surf: ',pco2surf @@ -205,7 +204,8 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal REcoM_O2 = max(tiny*1e-3,state(one,ioxy)*1e-3) ! convert from mmol/m3 to mol/m3 for mocsy call o2flux(REcoM_T, REcoM_S, kw660, ppo, REcoM_O2, Nmocsy, o2ex) - + + oflux = o2ex * 1.e3 *SecondsPerDay !* (1.d0 - Loc_ice_conc) [mmol/m2/d] o2flux_seaicemask = o2ex * 1.e3 ! back to mmol here [mmol/m2/s] ! Source-Minus-Sinks @@ -230,4 +230,25 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> ciso after REcoM_Forcing'//achar(27)//'[0m' +!------------------------------------------------------------------------------- +! Diagnostics + if (Diags) then + +! logical, optional :: lNPPn + +! if (present(lNPPn))then +! locNPPn = sum(diags3Dloc(1:nn,idiags) * thick(1:nn)) +! endif + locNPPn = sum(vertNPPn(1:nn) * thick(1:nn)) + locGPPn = sum(vertGPPn(1:nn) * thick(1:nn)) + locNNAn = sum(vertNNAn(1:nn) * thick(1:nn)) + locChldegn = sum(vertChldegn(1:nn) * thick(1:nn)) + + locNPPd = sum(vertNPPd(1:nn) * thick(1:nn)) + locGPPd = sum(vertGPPd(1:nn) * thick(1:nn)) + locNNAd = sum(vertNNAd(1:nn) * thick(1:nn)) + locChldegd = sum(vertChldegd(1:nn) * thick(1:nn)) + + end if + end subroutine REcoM_Forcing diff --git a/src/int_recom/recom_init.F90 b/src/int_recom/recom_init.F90 index 582121f2c..97e2a4f83 100644 --- a/src/int_recom/recom_init.F90 +++ b/src/int_recom/recom_init.F90 @@ -82,10 +82,10 @@ subroutine recom_init(tracers, partit, mesh) allocate(relax_alk ( node_size )) allocate(virtual_alk ( node_size )) - allocate(cosAI ( node_size )) allocate(GloPCO2surf ( node_size )) allocate(GloCO2flux ( node_size )) + allocate(GloO2flux ( node_size )) allocate(GloCO2flux_seaicemask ( node_size )) allocate(GloO2flux_seaicemask ( node_size )) allocate(GlodPCO2surf ( node_size )) @@ -138,6 +138,61 @@ subroutine recom_init(tracers, partit, mesh) wFluxDia = 0.d0 PAR3D = 0.d0 + pco2surf = 0.d0 + dflux = 0.d0 + oflux = 0.d0 + co2flux_seaicemask = 0.d0 + o2flux_seaicemask = 0.d0 + dpco2surf = 0.d0 + co2 = 0.d0 + + if (Diags) then + +!! *** Allocate 2D diagnostics *** + allocate(NPPn ( node_size )) + allocate(NPPd ( node_size )) + allocate(GPPn ( node_size )) + allocate(GPPd ( node_size )) + allocate(NNAn ( node_size )) + allocate(NNAd ( node_size )) + allocate(Chldegn ( node_size )) + allocate(Chldegd ( node_size )) + + NPPn = 0.d0 + NPPd = 0.d0 + GPPn = 0.d0 + GPPd = 0.d0 + NNAn = 0.d0 + NNAd = 0.d0 + Chldegn = 0.d0 + Chldegd = 0.d0 + +!! *** Allocate 3D diagnostics *** + allocate(respmeso ( nl-1, node_size )) + allocate(calcdiss ( nl-1, node_size )) + allocate(calcif ( nl-1, node_size )) + allocate(aggn ( nl-1, node_size )) + allocate(aggd ( nl-1, node_size )) + allocate(docexn ( nl-1, node_size )) + allocate(docexd ( nl-1, node_size )) + allocate(respn ( nl-1, node_size )) + allocate(respd ( nl-1, node_size )) + allocate(NPPn3D ( nl-1, node_size )) + allocate(NPPd3D ( nl-1, node_size )) + + respmeso = 0.d0 + calcdiss = 0.d0 + calcif = 0.d0 + aggn = 0.d0 + aggd = 0.d0 + docexn = 0.d0 + docexd = 0.d0 + respn = 0.d0 + respd = 0.d0 + NPPn3D = 0.d0 + NPPd3D = 0.d0 + end if + DO i=num_tracers-bgc_num+1, num_tracers id=tracers%data(i)%ID diff --git a/src/int_recom/recom_main.F90 b/src/int_recom/recom_main.F90 index a0ad19c19..5003a18a5 100755 --- a/src/int_recom/recom_main.F90 +++ b/src/int_recom/recom_main.F90 @@ -67,6 +67,7 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) real(kind=8) :: SW, Loc_slp integer :: tr_num, num_tracers integer :: nz, n, nzmin, nzmax + integer :: idiags real(kind=8) :: Sali @@ -159,6 +160,43 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) FeDust = GloFeDust(n) * (1.d0 - a_ice(n)) * dust_sol NDust = GloNDust(n) * (1.d0 - a_ice(n)) + if (Diags) then + + !!---- Allocate 3D diagnostics + + allocate(vertrespmeso(nl-1)) + vertrespmeso = 0.d0 + + allocate(vertcalcdiss(nl-1), vertcalcif(nl-1)) + vertcalcdiss = 0.d0 + vertcalcif = 0.d0 + + allocate(vertaggn(nl-1), vertaggd(nl-1)) + vertaggn = 0.d0 + vertaggd = 0.d0 + + allocate(vertdocexn(nl-1), vertdocexd(nl-1)) + vertdocexn = 0.d0 + vertdocexd = 0.d0 + + allocate(vertrespn(nl-1), vertrespd(nl-1)) + vertrespn = 0.d0 + vertrespd = 0.d0 + + !!---- Allocate 2D diagnostics + allocate(vertNPPn(nl-1), vertGPPn(nl-1), vertNNAn(nl-1), vertChldegn(nl-1)) + vertNPPn = 0.d0 + vertGPPn = 0.d0 + vertNNAn = 0.d0 + vertChldegn = 0.d0 + + allocate(vertNPPd(nl-1), vertGPPd(nl-1), vertNNAd(nl-1), vertChldegd(nl-1)) + vertNPPd = 0.d0 + vertGPPd = 0.d0 + vertNNAd = 0.d0 + vertChldegd = 0.d0 + end if + if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> REcoM_Forcing'//achar(27)//'[0m' ! ====================================================================================== @@ -175,18 +213,52 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) GlodecayBenthos(n, 1:benthos_num) = decayBenthos(1:benthos_num)/SecondsPerDay ! convert from [mmol/m2/d] to [mmol/m2/s] GloHplus(n) = ph(1) !hplus + if (Diags) then + !!---- Updating 2D diagnostics + NPPn(n) = locNPPn + NPPd(n) = locNPPd + GPPn(n) = locGPPn + GPPd(n) = locGPPd + NNAn(n) = locNNAn + NNAd(n) = locNNAd + Chldegn(n) = locChldegn + Chldegd(n) = locChldegd + + !!---- Updating 3D diagnostics +! respmeso (1:nzmax,n) = vertrespmeso (1:nzmax) + calcdiss (1:nzmax,n) = vertcalcdiss (1:nzmax) + calcif (1:nzmax,n) = vertcalcif (1:nzmax) + aggn (1:nzmax,n) = vertaggn (1:nzmax) + aggd (1:nzmax,n) = vertaggd (1:nzmax) + docexn (1:nzmax,n) = vertdocexn (1:nzmax) + docexd (1:nzmax,n) = vertdocexd (1:nzmax) + respn (1:nzmax,n) = vertrespn (1:nzmax) + respd (1:nzmax,n) = vertrespd (1:nzmax) + NPPn3D (1:nzmax,n) = vertNPPn (1:nzmax) + NPPd3D (1:nzmax,n) = vertNPPd (1:nzmax) +if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> ciso after REcoM_Forcing'//achar(27)//'[0m' + !!---- Deallocating 2D diagnostics + deallocate(vertNPPn, vertGPPn, vertNNAn, vertChldegn) + deallocate(vertNPPd, vertGPPd, vertNNAd, vertChldegd) + + !!---- Deallocating 3D Diagnistics + deallocate(vertrespmeso ) + deallocate(vertcalcdiss, vertcalcif ) + deallocate(vertaggn, vertaggd ) + deallocate(vertdocexn, vertdocexd ) + deallocate(vertrespn, vertrespd ) + end if + AtmFeInput(n) = FeDust AtmNInput(n) = NDust GloPCO2surf(n) = pco2surf(1) GlodPCO2surf(n) = dpco2surf(1) - GloCO2flux(n) = dflux(1) + GloCO2flux(n) = dflux(1) ! [mmol/m2/d] GloCO2flux_seaicemask(n) = co2flux_seaicemask(1) ! [mmol/m2/s] GloO2flux_seaicemask(n) = o2flux_seaicemask(1) ! [mmol/m2/s] + GloO2flux(n) = oflux(1) ! [mmol/m2/d] - if (Diags) then - - end if end do ! ====================================================================================== @@ -206,6 +278,19 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) call exchange_nod(Benthos(:,n), partit) end do + if (Diags) then + call exchange_nod(NPPn, partit) + call exchange_nod(NPPd, partit) + call exchange_nod(GPPn, partit) + call exchange_nod(GPPd, partit) + call exchange_nod(NNAn, partit) + call exchange_nod(NNAd, partit) + call exchange_nod(Chldegn, partit) + call exchange_nod(Chldegd, partit) + endif + + + do n=1, benthos_num !4 call exchange_nod(GlodecayBenthos(:,n), partit) end do diff --git a/src/int_recom/recom_modules.F90 b/src/int_recom/recom_modules.F90 index 0ce240e0d..1e7a3237b 100644 --- a/src/int_recom/recom_modules.F90 +++ b/src/int_recom/recom_modules.F90 @@ -649,6 +649,7 @@ Module REcoM_GloVar Real(kind=8),allocatable,dimension(:) :: AtmNInput ! [umol/m2/s] Includes ice, but is, other than that identlical to GloNDust Real(kind=8),allocatable,dimension(:) :: GloPCO2surf ! [uatm] Surface ocean CO2 partial pressure Real(kind=8),allocatable,dimension(:) :: GloCO2flux ! [mmol/m2/day] Positive downwards + Real(kind=8),allocatable,dimension(:) :: GloO2flux ! [mmol/m2/day] Positive downwards Real(kind=8),allocatable,dimension(:) :: GloCO2flux_seaicemask ! [mmol/m2/day] Positive downwards Real(kind=8),allocatable,dimension(:) :: GloO2flux_seaicemask ! [mmol/m2/day] Positive downwards Real(kind=8),allocatable,dimension(:) :: GloHplus ! [mol/kg] Concentrations of H-plus ions in the surface ocean @@ -749,6 +750,7 @@ Module REcoM_locVar Real(kind=8) :: Hplus ! [mol/kg] Concentrations of H-plus ions in the surface node Real(kind=8) :: pCO2surf(1) ! [uatm] Partial pressure of CO2 in surface layer at current 2D node Real(kind=8) :: dflux(1) ! [mmol/m2/day] Flux of CO2 into the ocean + Real(kind=8) :: oflux(1) ! [mmol/m2/day] Flux of O2 into the ocean Real(kind=8) :: o2ex(1) ! [mmol/m2/s] Flux of O2 into the ocean Real(kind=8) :: ULoc(1) ! Wind strength above current 2D node, change array size if used with mocsy input vector longer than one Real(kind=8) :: Loc_ice_conc(1) diff --git a/src/int_recom/recom_sms.F90 b/src/int_recom/recom_sms.F90 index 4dbf2ae6d..6828dbadc 100644 --- a/src/int_recom/recom_sms.F90 +++ b/src/int_recom/recom_sms.F90 @@ -905,7 +905,93 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & ! Diagnostics: Averaged rates recipbiostep = 1.d0/real(biostep) - +if (Diags) then +!*** Net primary production [mmol C /(m3 * day)] + vertNPPn(k) = vertNPPn(k) + ( & + + Cphot * PhyC & + - PhyRespRate * PhyC & + ) * recipbiostep + + vertNPPd(k) = vertNPPd(k) + ( & + + Cphot_dia * DiaC & + - PhyRespRate_dia * DiaC & + ) * recipbiostep + +!*** Gross primary production [mmol C /(m3 * day)] + vertGPPn(k) = vertGPPn(k) + ( & + + Cphot * PhyC & + ) * recipbiostep + + vertGPPd(k) = vertGPPd(k) + ( & + + Cphot_dia * DiaC & + ) * recipbiostep + +!*** Net N-assimilation [mmol N/(m3 * day)] + vertNNAn(k) = vertNNAn(k) + ( & + + N_assim * PhyC & + - lossN * limitFacN * PhyN & + ) * recipbiostep + + vertNNAd(k) = vertNNAd(k) + ( & + + N_assim_dia * DiaC & + - lossN * limitFacN_dia * DiaN & + ) * recipbiostep + +!*** Changed to chlorophyll degradation (commented out gross N-assimilation below) + vertChldegn(k) = vertChldegn(k) + ( & + + KOchl & + ) * recipbiostep + + vertChldegd(k) = vertChldegd(k) + ( & + + KOchl_dia & + ) * recipbiostep + +!*** zooplankton1 respiration + vertrespmeso(k) = vertrespmeso(k) + ( & + + HetRespFlux & + ) * recipbiostep + +!*** calc_diss + vertcalcdiss(k) = vertcalcdiss(k) + ( & + + calc_diss * DetCalc & + ) * recipbiostep + +!*** aggregation by small phytoplankton + vertaggn(k) = vertaggn(k) + ( & + + aggregationrate * PhyC & + ) * recipbiostep + +!*** aggregation by diatoms + vertaggd(k) = vertaggd(k) + ( & + + aggregationrate * DiaC & + ) * recipbiostep + +!*** excrection of DOC by phytoplankton + vertdocexn(k) = vertdocexn(k) + ( & + + lossC * limitFacN * phyC & + ) * recipbiostep + +!*** excrection of DOC by diatoms + vertdocexd(k) = vertdocexd(k) + ( & + + lossC_d * limitFacN_dia * DiaC & + ) * recipbiostep + +!*** calcification + vertcalcif(k) = vertcalcif(k) + ( & + + calcification & + ) * recipbiostep + +! phy respiration + vertrespn(k) = vertrespn(k) + ( & + + PhyRespRate * PhyC & + ) * recipbiostep + +! dia respiration + vertrespd(k) = vertrespd(k) + ( & + + PhyRespRate_dia * DiaC & + ) * recipbiostep + +endif end do ! Main vertikal loop ends !------------------------------------------------------------------------------- diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 74634ea7b..d2a08148e 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -1,6 +1,11 @@ module io_MEANDATA USE MOD_PARTIT USE MOD_PARSUP +#if defined(__recom) + use recom_glovar + use recom_config + use recom_ciso +#endif use o_PARAM, only : WP use, intrinsic :: iso_fortran_env, only: real64, real32 use io_data_strategy_module @@ -122,6 +127,11 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) use diagnostics use g_config, only: use_cavity use g_forcing_param, only: use_virt_salt +#if defined(__recom) + use recom_glovar + use recom_config + use recom_ciso +#endif implicit none integer :: i, j integer, save :: nm_io_unit = 103 ! unit to open namelist file, skip 100-102 for cray @@ -401,6 +411,105 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) if (lcurt_stress_surf) then call def_stream(nod2D, myDim_nod2D, 'curl_surf', 'vorticity of the surface stress','none', curl_stress_surf(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if +!___________________________________________________________________________________________________________________________________ +! output RECOM 2D +#if defined(__recom) + +CASE ('dpCO2s ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'dpCO2s', 'Difference of oceanic pCO2 minus atmospheric pCO2', 'uatm', GlodPCO2surf(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('pCO2s ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'pCO2s', 'Partial pressure of oceanic CO2', 'uatm', GloPCO2surf(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('CO2f ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'CO2f', 'CO2-flux into the surface water', 'mmolC/m2/d', GloCO2flux(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('O2f ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'O2f', 'O2-flux into the surface water', 'mmolO/m2/d', GloO2flux(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('Hp ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'Hp', 'Mean of H-plus ions in the surface water', 'mol/kg', GloHplus(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('aFe ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'aFe','Atmospheric iron input','umolFe/m2/s', AtmFeInput(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('aN ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'aN','Atmospheric DIN input','mmolN/m2/s', AtmNInput(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('benN ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'benN','Benthos Nitrogen','mmol', Benthos(:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('benC ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'benC','Benthos Carbon','mmol', Benthos(:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('benSi ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'benSi','Benthos silicon','mmol', Benthos(:,3), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('benCalc ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'benCalc','Benthos calcite','mmol', Benthos(:,4), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if +CASE ('NPPn ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'NPPn','Mean NPP nanophytoplankton','mmolC/m2/d', NPPn, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('NPPd ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'NPPd','Mean NPP diatoms','mmolC/m2/d', NPPd, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('GPPn ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'GPPn','Mean GPP nanophytoplankton','mmolC/m2/d', GPPn, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('GPPd ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'GPPd','Mean GPP diatoms','mmolC/m2/d', GPPd, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('NNAn ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'NNAn','Net N-assimilation nanophytoplankton','mmolN/m2/d', NNAn, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('NNAd ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'NNAd','Net N-assimilation diatoms','mmolN/m2/d', NNAd, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('Chldegn ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'ChlDegn','Chlorophyll degradation nanophytoplankton','1/d', Chldegn, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('Chldegd ') + if (use_REcoM) then + call def_stream(nod2D, myDim_nod2D, 'ChlDegd','Chlorophyll degradation diatoms','1/d', Chldegd, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +#endif !___________________________________________________________________________________________________________________________________ !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 3D streams <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @@ -409,6 +518,70 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'temp', 'temperature', 'C', tracers%data(1)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('salt ') call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'salt', 'salinity', 'psu', tracers%data(2)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + +#if defined(__recom) + +CASE ('PAR ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'PAR', 'PAR', 'W/m2', PAR3D(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + +CASE ('respmeso ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respmeso','Respiration rate of mesozooplankton', 'mmolC/m2/d', respmeso(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +CASE ('calcdiss ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'calcdiss','Calcite dissolution', 'mmolC/m2/d', calcdiss(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +CASE ('calcif ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'calcif','Calcification', 'mmolC/m2/d', calcif(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +CASE ('aggn ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'aggn','Aggregation of small phytoplankton', 'mmolC/m2/d', aggn(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +CASE ('aggd ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'aggd','Aggregation of diatoms', 'mmolC/m2/d', aggd(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +CASE ('docexn ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'docexn','DOC excretion by small phytoplankton', 'mmolC/m2/d', docexn(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +CASE ('docexd ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'docexd','DOC excretion by diatoms', 'mmolC/m2/d', docexd(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +CASE ('respn ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respn','Respiration by small phytoplankton', 'mmolC/m2/d', respn(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +CASE ('respd ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respd','Respiration by diatoms', 'mmolC/m2/d', respd(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +CASE ('NPPn3D ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'NPPn3D','Net primary production of small phytoplankton', 'mmolC/m2/d', NPPn3D(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +CASE ('NPPd3D ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'NPPd3D','Net primary production of diatoms', 'mmolC/m2/d', NPPd3D(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +#endif !CASE ('otracers ') ! do j=3, tracers%num_tracers ! write (id_string, "(I3.3)") tracers%data(j)%ID @@ -420,103 +593,169 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) write (id_string, "(I4.4)") tracers%data(j)%ID if (tracers%data(j)%ID==1001) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DIN', 'Dissolved Inorganic Nitrogen', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1002) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DIC', 'Dissolved Inorganic C', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1003) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Alk', 'Total Alkalinity', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1004) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'PhyN', 'Intracellular conc of Nitrogen in small phytoplankton', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1005) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'PhyC', 'Intracellular conc of Carbon in small phytoplankton', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1006) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'PhyChl', 'Current intracellular ChlA conc.', '[mg/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1007) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DetN', 'Conc of N in Detritus', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1008) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DetC', 'Conc of C in Detritus', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1009) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'HetN', 'Conc of N in heterotrophs', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1010) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'HetC', 'Conc of C in heterotrophs', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1011) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DON', 'Dissolved organic N in the water', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1012) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DOC', 'Dissolved Organic C in the water', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1013) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DiaN', 'DiaN', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1014) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DiaC', 'DiaC', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1015) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DiaChl', 'DiaChl', '[mg/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1016) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DiaSi', 'DiaSi', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1017) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DetSi', 'DetSi', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1018) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DSi', 'DSi', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1019) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DFe', 'DFe', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1020) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'PhyCalc', 'PhyCalc', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1021) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DetCalc', 'DetCalc', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1022) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'O2', 'O2', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1023) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo2N', 'Intracellular conc of Nitrogen in second zooplankton', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1024) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo2C', 'Intracellular conc of Carbon in second zooplankton', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1025) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'idetz2n', 'idetz2n', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1026) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'idetz2c', 'idetz2c', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1027) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'idetz2si', 'idetz2si', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1028) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'idetz2calc', 'idetz2calc', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1029) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoN', 'CoccoN', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1030) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoC', 'CoccoC', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1031) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoChl', 'CoccoChl', '[mg/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1032) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo3N', 'Zoo3N', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else if (tracers%data(j)%ID==1033) then + if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo3C', 'Zoo3C', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif else call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'tra_'//id_string, 'passive tracer ID='//id_string, 'n/a', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if @@ -595,7 +834,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) if (Fer_GM) then call def_stream( nod2D , myDim_nod2D , 'fer_C', 'GM, depth independent speed', 'm/s' , fer_c(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if - + !_______________________________________________________________________________ ! Density MOC diagnostics CASE ('dMOC ') From 0a90225b919f016e9349c04489748aad060e84d2 Mon Sep 17 00:00:00 2001 From: ogurses Date: Wed, 8 May 2024 12:21:29 +0200 Subject: [PATCH 147/273] feat(recom)!: FESOM2.5-REcoM version with 2p3z2d Add second and third zooplankton classes in addition to second detritus class to REcoM Standard REcoM version with 2 phytoplankton (small pytoplankton and diatoms), 3 zooplankton (micro-, meso- and macrozooplankton) and 2 detritus (slow- and fast-sinking) functional types. Vertical sinking for fast-sinking detritus is assumed to be constant whereas slow-sinking detritus variable sinking has variable sinking option. BREAKING CHANGE: FESOM2.5-REcoM version with 2p3z2d --- config/bin_2p1z1d/job_albedo | 66 ++++ config/bin_2p1z1d/namelist.config | 67 ++++ config/bin_2p1z1d/namelist.dyn | 24 ++ config/bin_2p1z1d/namelist.forcing | 60 +++ config/bin_2p1z1d/namelist.ice | 31 ++ config/bin_2p1z1d/namelist.icepack | 146 +++++++ config/bin_2p1z1d/namelist.io | 81 ++++ config/bin_2p1z1d/namelist.oce | 26 ++ config/bin_2p1z1d/namelist.recom | 353 +++++++++++++++++ config/bin_2p1z1d/namelist.tra | 90 +++++ config/bin_2p3z2d/job_albedo | 66 ++++ config/bin_2p3z2d/namelist.config | 67 ++++ config/bin_2p3z2d/namelist.dyn | 24 ++ config/bin_2p3z2d/namelist.forcing | 60 +++ config/bin_2p3z2d/namelist.ice | 31 ++ config/bin_2p3z2d/namelist.icepack | 146 +++++++ config/bin_2p3z2d/namelist.io | 83 ++++ config/bin_2p3z2d/namelist.oce | 26 ++ config/bin_2p3z2d/namelist.recom | 355 +++++++++++++++++ config/bin_2p3z2d/namelist.tra | 90 +++++ src/CMakeLists.txt | 2 +- src/int_recom/recom_extra.F90 | 53 +++ src/int_recom/recom_forcing.F90 | 60 +-- src/int_recom/recom_init.F90 | 44 ++- src/int_recom/recom_main.F90 | 14 +- src/int_recom/recom_modules.F90 | 28 +- src/int_recom/recom_sinking.F90 | 50 ++- src/int_recom/recom_sms.F90 | 588 ++++++++++++++++++++++++++++- src/io_meandata.F90 | 40 +- src/oce_ale_tracer.F90 | 6 - 30 files changed, 2694 insertions(+), 83 deletions(-) create mode 100755 config/bin_2p1z1d/job_albedo create mode 100644 config/bin_2p1z1d/namelist.config create mode 100644 config/bin_2p1z1d/namelist.dyn create mode 100644 config/bin_2p1z1d/namelist.forcing create mode 100644 config/bin_2p1z1d/namelist.ice create mode 100644 config/bin_2p1z1d/namelist.icepack create mode 100644 config/bin_2p1z1d/namelist.io create mode 100644 config/bin_2p1z1d/namelist.oce create mode 100644 config/bin_2p1z1d/namelist.recom create mode 100644 config/bin_2p1z1d/namelist.tra create mode 100755 config/bin_2p3z2d/job_albedo create mode 100644 config/bin_2p3z2d/namelist.config create mode 100644 config/bin_2p3z2d/namelist.dyn create mode 100644 config/bin_2p3z2d/namelist.forcing create mode 100644 config/bin_2p3z2d/namelist.ice create mode 100644 config/bin_2p3z2d/namelist.icepack create mode 100644 config/bin_2p3z2d/namelist.io create mode 100644 config/bin_2p3z2d/namelist.oce create mode 100644 config/bin_2p3z2d/namelist.recom create mode 100644 config/bin_2p3z2d/namelist.tra diff --git a/config/bin_2p1z1d/job_albedo b/config/bin_2p1z1d/job_albedo new file mode 100755 index 000000000..bac3e2b3a --- /dev/null +++ b/config/bin_2p1z1d/job_albedo @@ -0,0 +1,66 @@ +#!/bin/bash +#SBATCH --account=nwg_hauck.maresys # edit your account +#SBATCH --job-name=recom +#SBATCH --partition=mpp +#SBATCH --time=01:30:00 +####SBATCH --constraint="[rack1|rack3]" +#SBATCH --qos=12h +#SBATCH --nodes=9 # Number of tasks (MPI) tasks to be launched +#SBATCH --tasks-per-node 96 #8 #4 # using all 128CPus we exceed the maxload limit (>130) of many used nodes when us parallel I/O +#SBATCH --cpus-per-task 1 + +#SBATCH -o fesom2o.out +#SBATCH -e fesom2e.out + +# disable hyperthreading +#SBATCH --hint=nomultithread + +module purge +source ../env/albedo/shell +export OMP_NUM_THREADS=1 +ulimit -s unlimited + +# determine JOBID +JOBID=`echo $SLURM_JOB_ID |cut -d"." -f1` + +ln -s ../bin/fesom.x . # cp -n ../bin/fesom.x +cp -n ../config/namelist.config . +cp -n ../config/namelist.forcing . +cp -n ../config/namelist.oce . +cp -n ../config/namelist.dyn . +cp -n ../config/namelist.tra . +cp -n ../config/namelist.ice . +cp -n ../config/namelist.io . +cp -n ../config/namelist.icepack . + +#___DETERMINE SLURM JOBID+OUTPUTFILE____________________________________________ +jobid=$(echo $SLURM_JOB_ID | cut -d"." -f1) +fname="fesom2_${SLURM_JOB_NAME}_${jobid}.out" + +#___PUT JOB IN QUEUE____________________________________________________________ +date +####srun --mpi=pmi2 ./fesom.x >> ${fname} +srun --mpi=pmi2 ./fesom.x > fesom2.0.out +date + +#qstat -f $PBS_JOBID +#export EXITSTATUS=$? +#if [ ${EXITSTATUS} -eq 0 ] || [ ${EXITSTATUS} -eq 127 ] ; then +#sbatch job_ollie +#fi + +#Resultpath='/albedo/scratch/user/ogurses/ocean_only/' +Resultpath='/albedo/scratch/user/ogurses/fesom2.5_recom_st1_vsink_vben_diags/' +test -d $Resultpath/fesom.2019.oce.restart && exit + +IsInFile=$( tail -3 fesom2.0.out | grep -c timesteps) +if (( IsInFile > 0 )); then +# submit next #job \ + echo "submitting next job" + cp fesom2.0.out fesom.out.done + sbatch job_albedo +else + echo "something is wrong, last line of fesom.out reads" + echo $( tail -1 fesom2.0.out) + echo "abnormal termination of job script" +fi diff --git a/config/bin_2p1z1d/namelist.config b/config/bin_2p1z1d/namelist.config new file mode 100644 index 000000000..eb9a4375d --- /dev/null +++ b/config/bin_2p1z1d/namelist.config @@ -0,0 +1,67 @@ +! This is the namelist file for model general configuration + +&modelname +runid='fesom' +/ + +×tep +step_per_day=32 !96 !96 !72 !72 !45 !72 !96 +run_length=1 !62 !62 !62 !28 +run_length_unit='y' ! y, m, d, s +/ + +&clockinit ! the model starts at +timenew=0.0 +daynew=1 +yearnew=1958 +/ + +&paths +MeshPath='/albedo/work/projects/p_recompdaf/frbunsen/FESOM2/meshes/core2/' +ClimateDataPath='/albedo/work/projects/MarESys/ogurses/input/corrected_input/' +ResultPath='/albedo/scratch/user/ogurses/fesom2.5_recom_st1_vsink_vben_diags/' +/ + +&restart_log +restart_length=1 ! --> do netcdf restart ( only required for d,h,s cases, y, m take 1) +restart_length_unit='y' !output period: y, d, h, s, off +raw_restart_length=1 ! --> do core dump restart +raw_restart_length_unit='off' ! e.g. y, d, h, s, off +bin_restart_length=1 ! --> do derived type binary restart +bin_restart_length_unit='off' ! e.g. y, d, h, s, off +logfile_outfreq=960 !in logfile info. output frequency, # steps +/ + +&ale_def +which_ALE='zstar' ! 'linfs','zlevel', 'zstar' +use_partial_cell=.true. +/ + +&geometry +cartesian=.false. +fplane=.false. +cyclic_length=360 ![degree] +rotated_grid=.true. !option only valid for coupled model case now +force_rotation=.true. +alphaEuler=50. ![degree] Euler angles, convention: +betaEuler=15. ![degree] first around z, then around new x, +gammaEuler=-90. ![degree] then around new z. +/ + +&calendar +include_fleapyear=.false. +/ + +&run_config +use_ice=.true. ! ocean+ice +use_cavity=.false. ! +use_cavity_partial_cell=.false. +use_floatice = .false. +use_sw_pene=.true. +flag_debug=.false. +/ + +&machine +n_levels=2 +n_part= 12, 36 ! 432 number of partitions on each hierarchy level +/ diff --git a/config/bin_2p1z1d/namelist.dyn b/config/bin_2p1z1d/namelist.dyn new file mode 100644 index 000000000..fb7919588 --- /dev/null +++ b/config/bin_2p1z1d/namelist.dyn @@ -0,0 +1,24 @@ +&dynamics_visc +visc_gamma0 = 0.003 ! [m/s], backgroung viscosity= gamma0*len, it should be as small a s possible (keep it < 0.01 m/s). +visc_gamma1 = 0.1 ! [nodim], for computation of the flow aware viscosity +visc_gamma2 = 0.285 ! [s/m], is only used in easy backscatter option +visc_easybsreturn= 1.5 + +opt_visc = 5 +! 5=Kinematic (easy) Backscatter +! 6=Biharmonic flow aware (viscosity depends on velocity Laplacian) +! 7=Biharmonic flow aware (viscosity depends on velocity differences) +! 8=Dynamic Backscatter + +use_ivertvisc= .true. +/ + +&dynamics_general +momadv_opt = 2 ! option for momentum advection in moment only =2 +use_freeslip = .false. ! Switch on free slip +use_wsplit = .false. ! Switch for implicite/explicte splitting of vert. velocity +wsplit_maxcfl= 1.0 ! maximum allowed CFL criteria in vertical (0.5 < w_max_cfl < 1.) + ! in older FESOM it used to be w_exp_max=1.e-3 +ldiag_KE=.false. ! activates energy diagnostics +/ + diff --git a/config/bin_2p1z1d/namelist.forcing b/config/bin_2p1z1d/namelist.forcing new file mode 100644 index 000000000..a17799393 --- /dev/null +++ b/config/bin_2p1z1d/namelist.forcing @@ -0,0 +1,60 @@ +! This is the namelist file for forcing + +&forcing_exchange_coeff +Ce_atm_oce=0.00175 ! exchange coeff. of latent heat over open water +Ch_atm_oce=0.00175 ! exchange coeff. of sensible heat over open water +Cd_atm_oce=0.001 ! drag coefficient between atmosphere and water +Ce_atm_ice=0.00175 ! exchange coeff. of latent heat over ice +Ch_atm_ice=0.00175 ! exchange coeff. of sensible heat over ice +Cd_atm_ice=0.0012 ! drag coefficient between atmosphere and ice +Swind =0.0 ! parameterization for coupled current feedback +/ + +&forcing_bulk +AOMIP_drag_coeff=.false. +ncar_bulk_formulae=.true. +ncar_bulk_z_wind=10.0 ! height at which wind forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m) +ncar_bulk_z_tair=10.0 ! height at which temp forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m) +ncar_bulk_z_shum=10.0 ! height at which humi forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m) + +/ + +&land_ice +use_landice_water=.false. +landice_start_mon=5 +landice_end_mon=10 +/ + +&nam_sbc + nm_xwind_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/uas.clim61' ! name of file with winds, if nm_sbc=2 + nm_ywind_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/vas.clim61' ! name of file with winds, if nm_sbc=2 + nm_humi_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/huss.clim61' ! name of file with humidity + nm_qsr_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/rsds.clim61' ! name of file with solar heat + nm_qlw_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/rlds.clim61' ! name of file with Long wave + nm_tair_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/tas.clim61' ! name of file with 2m air temperature + nm_prec_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/prra.clim61' ! name of file with total precipitation + nm_snow_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/prsn.clim61' ! name of file with snow precipitation + nm_mslp_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/psl.clim61' ! air_pressure_at_sea_level + nm_xwind_var = 'uas' ! name of variable in file with wind + nm_ywind_var = 'vas' ! name of variable in file with wind + nm_humi_var = 'huss' ! name of variable in file with humidity + nm_qsr_var = 'rsds' ! name of variable in file with solar heat + nm_qlw_var = 'rlds' ! name of variable in file with Long wave + nm_tair_var = 'tas' ! name of variable in file with 2m air temperature + nm_prec_var = 'prra' ! name of variable in file with total precipitation + nm_snow_var = 'prsn' ! name of variable in file with total precipitation + nm_mslp_var = 'psl' ! name of variable in file with air_pressure_at_sea_level + nm_nc_iyear = 1900 + nm_nc_imm = 1 ! initial month of time axis in netCDF + nm_nc_idd = 1 ! initial day of time axis in netCDF + nm_nc_freq = 1 ! data points per day (i.e. 86400 if the time axis is in seconds) + nm_nc_tmid = 0 ! 1 if the time stamps are given at the mid points of the netcdf file, 0 otherwise (i.e. 1 in CORE1, CORE2; 0 in JRA55) + y_perpetual=.true. + l_xwind=.true. l_ywind=.true. l_humi=.true. l_qsr=.true. l_qlw=.true. l_tair=.true. l_prec=.true. l_mslp=.true. l_cloud=.false. l_snow=.true. + nm_runoff_file ='/albedo/pool/FESOM/forcing/CORE2/runoff.nc' + runoff_data_source ='CORE2' !Dai09, CORE2 + !runoff_data_source ='Dai09' !Dai09, CORE2, JRA55 + !runoff_climatology =.true. + nm_sss_data_file ='/albedo/pool/FESOM/forcing/CORE2/PHC2_salx.nc' + sss_data_source ='CORE2' +/ diff --git a/config/bin_2p1z1d/namelist.ice b/config/bin_2p1z1d/namelist.ice new file mode 100644 index 000000000..bcd86f145 --- /dev/null +++ b/config/bin_2p1z1d/namelist.ice @@ -0,0 +1,31 @@ +! Ice namelist +&ice_dyn +whichEVP=0 ! 0=standart; 1=mEVP; 2=aEVP +Pstar=30000.0 ! [N/m^2] +ellipse=2.0 +c_pressure=20.0 ! ice concentration parameter used in ice strength computation +delta_min=1.0e-11 ! [s^(-1)] +evp_rheol_steps=120 ! number of EVP subcycles +alpha_evp=250 ! constant that control numerical stability of mEVP. Adjust with resolution. +beta_evp=250 ! constant that control numerical stability of mEVP. Adjust with resolution. +c_aevp=0.15 ! a tuning constant in aEVP. Adjust with resolution. +Cd_oce_ice=0.0055 ! drag coef. oce - ice +ice_gamma_fct=0.5 ! smoothing parameter +ice_diff=0.0 ! diffusion to stabilize +theta_io=0.0 ! rotation angle +ice_ave_steps=1 ! ice step=ice_ave_steps*oce_step +/ + +&ice_therm +Sice=4.0 ! Ice salinity 3.2--5.0 ppt. +h0=.5 ! Lead closing parameter [m] +emiss_ice=0.97 ! Emissivity of Snow/Ice, +emiss_wat=0.97 ! Emissivity of open water +albsn=0.81 ! Albedo: frozen snow +albsnm=0.77 ! melting snow +albi=0.7 ! frozen ice +albim=0.68 ! melting ice +albw=0.1 ! open water +con=2.1656 ! Thermal conductivities: ice; W/m/K +consn=0.31 ! snow +/ diff --git a/config/bin_2p1z1d/namelist.icepack b/config/bin_2p1z1d/namelist.icepack new file mode 100644 index 000000000..ed0dd4d4c --- /dev/null +++ b/config/bin_2p1z1d/namelist.icepack @@ -0,0 +1,146 @@ +&env_nml ! In the original release these variables are defined in the icepack.settings + nicecat = 5 ! number of ice thickness categories + nfsdcat = 1 ! number of floe size categories + nicelyr = 4 ! number of vertical layers in the ice + nsnwlyr = 4 ! number of vertical layers in the snow + ntraero = 0 ! number of aerosol tracers (up to max_aero in ice_domain_size.F90) + trzaero = 0 ! number of z aerosol tracers (up to max_aero = 6) + tralg = 0 ! number of algal tracers (up to max_algae = 3) + trdoc = 0 ! number of dissolve organic carbon (up to max_doc = 3) + trdic = 0 ! number of dissolve inorganic carbon (up to max_dic = 1) + trdon = 0 ! number of dissolve organic nitrogen (up to max_don = 1) + trfed = 0 ! number of dissolved iron tracers (up to max_fe = 2) + trfep = 0 ! number of particulate iron tracers (up to max_fe = 2) + nbgclyr = 0 ! number of zbgc layers + trbgcz = 0 ! set to 1 for zbgc tracers (needs TRBGCS = 0 and TRBRI = 1) + trzs = 0 ! set to 1 for zsalinity tracer (needs TRBRI = 1) + trbri = 0 ! set to 1 for brine height tracer + trage = 0 ! set to 1 for ice age tracer + trfy = 0 ! set to 1 for first-year ice area tracer + trlvl = 0 ! set to 1 for level and deformed ice tracers + trpnd = 0 ! set to 1 for melt pond tracers + trbgcs = 0 ! set to 1 for skeletal layer tracers (needs TRBGCZ = 0) + ndtd = 1 ! dynamic time steps per thermodynamic time step +/ + +&grid_nml + kcatbound = 1 +/ + +&tracer_nml + tr_iage = .false. + tr_FY = .false. + tr_lvl = .false. + tr_pond_cesm = .false. + tr_pond_topo = .false. + tr_pond_lvl = .false. + tr_aero = .false. + tr_fsd = .false. +/ + +&thermo_nml + kitd = 1 + ktherm = 1 + conduct = 'bubbly' + a_rapid_mode = 0.5e-3 + Rac_rapid_mode = 10.0 + aspect_rapid_mode = 1.0 + dSdt_slow_mode = -5.0e-8 + phi_c_slow_mode = 0.05 + phi_i_mushy = 0.85 + ksno = 0.3 +/ + +&shortwave_nml + shortwave = 'ccsm3' + albedo_type = 'ccsm3' + albicev = 0.78 + albicei = 0.36 + albsnowv = 0.98 + albsnowi = 0.70 + albocn = 0.1 + ahmax = 0.3 + R_ice = 0. + R_pnd = 0. + R_snw = 1.5 + dT_mlt = 1.5 + rsnw_mlt = 1500. + kalg = 0.6 +/ + +&ponds_nml + hp1 = 0.01 + hs0 = 0. + hs1 = 0.03 + dpscale = 1.e-3 + frzpnd = 'hlid' + rfracmin = 0.15 + rfracmax = 1. + pndaspect = 0.8 +/ + +&forcing_nml + formdrag = .false. + atmbndy = 'default' + calc_strair = .true. + calc_Tsfc = .true. + highfreq = .false. + natmiter = 5 + ustar_min = 0.0005 + emissivity = 0.95 + fbot_xfer_type = 'constant' + update_ocn_f = .false. + l_mpond_fresh = .false. + tfrz_option = 'linear_salt' + oceanmixed_ice = .true. + wave_spec_type = 'none' +/ + +&dynamics_nml + kstrength = 1 + krdg_partic = 1 + krdg_redist = 1 + mu_rdg = 3 + Cf = 17. + P_star = 27000. + C_star = 20. +/ + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!! Icepack output namelist !!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +&nml_list_icepack +io_list_icepack = 'aicen ',1, 'm', 4, ! Sea ice concentration + 'vicen ',1, 'm', 4, ! Volume per unit area of ice + 'vsnon ',1, 'm', 4, ! Volume per unit area of snow + !'Tsfcn ',1, 'm', 4, ! Sea ice surf. temperature + !'iagen ',1, 'm', 4, ! Sea ice age + !'FYn ',1, 'm', 4, ! First year ice + !'lvln ',1, 'm', 4, ! Ridged sea ice area and volume + !'pond_cesmn',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_topon',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_lvln ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'brinen ',1, 'm', 4, ! Volume fraction of ice with dynamic salt + !'qicen ',1, 'm', 4, ! Sea ice enthalpy + !'sicen ',1, 'm', 4, ! Sea ice salinity + !'qsnon ',1, 'm', 4, ! Snow enthalpy + ! Average over thicknes classes + !'aice ',1, 'm', 4, ! Sea ice concentration + !'vice ',1, 'm', 4, ! Volume per unit area of ice + !'vsno ',1, 'm', 4, ! Volume per unit area of snow + !'Tsfc ',1, 'm', 4, ! Sea ice surf. temperature + !'iage ',1, 'm', 4, ! Sea ice age + !'FY ',1, 'm', 4, ! First year ice + !'lvl ',1, 'm', 4, ! Ridged sea ice area and volume + !'pond_cesm ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_topo ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_lvl ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'brine ',1, 'm', 4, ! Volume fraction of ice with dynamic salt + !'qice ',1, 'm', 4, ! Sea ice enthalpy + !'sice ',1, 'm', 4, ! Sea ice salinity + !'qsno ',1, 'm', 4, ! Snow enthalpy + ! Other variables + !'uvel ',1, 'm', 4, ! x-component of sea ice velocity + !'vvel ',1, 'm', 4, ! y-component of sea ice velocity +/ diff --git a/config/bin_2p1z1d/namelist.io b/config/bin_2p1z1d/namelist.io new file mode 100644 index 000000000..7a6fe3cff --- /dev/null +++ b/config/bin_2p1z1d/namelist.io @@ -0,0 +1,81 @@ +&diag_list +ldiag_solver =.false. +lcurt_stress_surf=.false. +ldiag_curl_vel3 =.false. +ldiag_Ri =.false. +ldiag_turbflux =.false. +ldiag_salt3D =.false. +ldiag_dMOC =.false. +ldiag_DVD =.false. +ldiag_forc =.false. +ldiag_extflds =.false. +/ + +&nml_general +io_listsize =100 !number of streams to allocate. shallbe large or equal to the number of streams in &nml_list +vec_autorotate =.false. +/ + +! for sea ice related variables use_ice should be true, otherewise there will be no output +! for 'curl_surf' to work lcurt_stress_surf must be .true. otherwise no output +! for 'fer_C', 'bolus_u', 'bolus_v', 'bolus_w', 'fer_K' to work Fer_GM must be .true. otherwise no output +! 'otracers' - all other tracers if applicable +! for 'dMOC' to work ldiag_dMOC must be .true. otherwise no output +&nml_list +io_list = 'sst ',1, 'm', 4, + 'sss ',1, 'm', 4, + 'ssh ',1, 'm', 4, + 'uice ',1, 'm', 4, + 'vice ',1, 'm', 4, + 'a_ice ',1, 'm', 4, + 'm_ice ',1, 'm', 4, + 'm_snow ',1, 'm', 4, + 'MLD1 ',1, 'm', 4, + 'MLD2 ',1, 'm', 4, + 'MLD3 ',1, 'm', 4, + 'tx_sur ',1, 'm', 4, + 'ty_sur ',1, 'm', 4, + 'temp ',1, 'm', 4, + 'salt ',1, 'm', 8, + 'otracers ',1, 'm', 4, + 'N2 ',1, 'y', 4, + 'Kv ',1, 'y', 4, + 'u ',1, 'y', 4, + 'v ',1, 'y', 4, + 'unod ',1, 'y', 4, + 'vnod ',1, 'y', 4, + 'w ',1, 'y', 4, + 'Av ',1, 'y', 4, + 'bolus_u ',1, 'y', 4, + 'bolus_v ',1, 'y', 4, + 'bolus_w ',1, 'y', 4, + 'dpCO2s ',1, 'm', 4, + 'pCO2s ',1, 'm', 4, + 'CO2f ',1, 'm', 4, + 'Hp ',1, 'm', 4, + 'aFe ',1, 'm', 4, + 'aN ',1, 'm', 4, + 'denb ',1, 'm', 4, + 'benN ',1, 'm', 4, + 'benC ',1, 'm', 4, + 'benSi ',1, 'm', 4, + 'benCalc ',1, 'm', 4, + 'Chldegd ',1, 'm', 4, + 'Chldegn ',1, 'm', 4, + 'NNAd ',1, 'm', 4, + 'NNAn ',1, 'm', 4, + 'GPPd ',1, 'm', 4, + 'GPPn ',1, 'm', 4, + 'NPPd ',1, 'm', 4, + 'NPPn ',1, 'm', 4, + 'PAR ',1, 'm', 4, + 'respmeso',1, 'm', 4, + 'calcdiss',1, 'm', 4, + 'calcif',1, 'm', 4, + 'aggn',1, 'm', 4, + 'aggd',1, 'm', 4, + 'docexn',1, 'm', 4, + 'docexd',1, 'm', 4, + 'respn',1, 'm', 4, + 'respd',1, 'm', 4, +/ diff --git a/config/bin_2p1z1d/namelist.oce b/config/bin_2p1z1d/namelist.oce new file mode 100644 index 000000000..7af6867f7 --- /dev/null +++ b/config/bin_2p1z1d/namelist.oce @@ -0,0 +1,26 @@ +! The namelist file for the finite-volume ocean model + +&oce_dyn +C_d=0.0025 ! Bottom drag, nondimensional +A_ver= 1.e-4 ! Vertical viscosity, m^2/s +scale_area=5.8e9 ! Visc. and diffus. are for an element with scale_area +SPP=.false. ! Salt Plume Parameterization +Fer_GM=.true. ! to swith on/off GM after Ferrari et al. 2010 +K_GM_max = 2000.0 ! max. GM thickness diffusivity (m2/s) +K_GM_min = 2.0 ! max. GM thickness diffusivity (m2/s) +K_GM_bvref = 2 ! def of bvref in ferreira scaling 0=srf,1=bot mld,2=mean over mld,3=weighted mean over mld +K_GM_rampmax = -1.0 ! Resol >K_GM_rampmax[km] GM on +K_GM_rampmin = -1.0 ! Resol 8 if (ciso == .true.) otherwise -> 4 +use_MEDUSA = .false. ! Main switch for the sediment model MEDUSA +sedflx_num = 0 ! if 0: no file from MEDUSA is read but default sediment +bottflx_num = 4 ! if ciso&ciso_14: =8; if .not.ciso_14: =6; no ciso: =4 +use_atbox = .false. +add_loopback = .false. ! add loopback fluxes through rivers to the surface +lb_tscale = 1.0 ! /year: fraction of loopback fluxes yearly added to the surface +/ + +&pasinking +Vdet_a = 0.0288 ! [1/day] +Vcalc = 0.0144 ! [1/day] +/ + +&painitialization_N +cPhyN = 0.2d0 +cHetN = 0.2d0 +cZoo2N = 0.2d0 +/ + +&paArrhenius +recom_Tref = 288.15d0 ! [K] +C2K = 273.15d0 ! Conversion from degrees C to K +Ae = 4500.d0 ! [K] Slope of the linear part of the Arrhenius function +reminSi = 0.02d0 +k_o2_remin = 15.d0 ! NEW O2remin mmol m-3; Table 1 in Cram 2018 cites DeVries & Weber 2017 for a range of 0-30 mmol m-3 +/ + +&palimiter_function +NMinSlope = 50.d0 +SiMinSlope = 1000.d0 +NCmin = 0.04d0 !0.05d0 +NCmin_d = 0.04d0 !0.05d0 +NCmin_c = 0.04d0 ! NEW +SiCmin = 0.04d0 +k_Fe = 0.04d0 +k_Fe_d = 0.12d0 +k_Fe_c = 0.09d0 ! NEW +k_si = 4.d0 +P_cm = 3.0d0 ! [1/day] Rate of C-specific photosynthesis +P_cm_d = 3.5d0 +P_cm_c = 2.8d0 ! NEW +/ + +&palight_calculations +k_w = 0.04d0 ! [1/m] Light attenuation coefficient +a_chl = 0.03d0 ! [1/m * 1/(mg Chl)] Chlorophyll specific attenuation coefficients +/ + +&paphotosynthesis +alfa = 0.14d0 ! [(mmol C*m2)/(mg Chl*W*day)] +alfa_d = 0.19d0 ! An initial slope of the P-I curve +alfa_c = 0.10d0 ! NEW +parFrac = 0.43d0 +/ + +&paassimilation +V_cm_fact = 0.7d0 ! scaling factor for temperature dependent maximum of C-specific N-uptake +V_cm_fact_d = 0.7d0 +V_cm_fact_c = 0.7d0 ! NEW +NMaxSlope = 1000.d0 ! Max slope for limiting function +SiMaxSlope = 1000.d0 +NCmax = 0.2d0 ! [mmol N/mmol C] Maximum cell quota of nitrogen (N:C) +NCmax_d = 0.2d0 +NCmax_c = 0.15d0 ! NEW +SiCmax = 0.8d0 +NCuptakeRatio = 0.2d0 ! [mmol N/mmol C] Maximum uptake ratio of N:C +NCUptakeRatio_d = 0.2d0 +NCUptakeRatio_c = 0.2d0 ! NEW +SiCUptakeRatio = 0.2d0 +k_din = 0.55d0 ! [mmol N/m3] Half-saturation constant for nitrate uptake +k_din_d = 1.0d0 +k_din_c = 0.9d0 ! NEW +Chl2N_max = 3.15d0 ! [mg CHL/mmol N] Maximum CHL a : N ratio = 0.3 gCHL gN^-1 +Chl2N_max_d = 4.2d0 +Chl2N_max_c = 3.5d0 ! NEW +res_phy = 0.01d0 ! [1/day] Maintenance respiration rate constant +res_phy_d = 0.01d0 +res_phy_c = 0.01d0 ! NEW +biosynth = 2.33d0 ! [mmol C/mmol N] Cost of biosynthesis +biosynthSi = 0.d0 +/ + +&pairon_chem +totalligand = 1.d0 ! [mumol/m3] order 1. Total free ligand +ligandStabConst = 100.d0 ! [m3/mumol] order 100. Ligand-free iron stability constant +/ + +&pazooplankton +graz_max = 0.31d0 ! [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilonr = 0.09d0 ! [(mmol N)2 /m6] Half saturation constant for grazing loss +res_het = 0.028d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) +Redfield = 6.625 ! [mmol C/mmol N] Redfield ratio of C:N = 106:16 +loss_het = 0.04d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) +pzDia = 1.0d0 !0.5d0 ! Maximum diatom preference +sDiaNsq = 0.d0 +pzPhy = 0.5d0 !0.25d0 !1.0d0 ! Maximum nano-phytoplankton preference (NEW: 3/12) +sPhyNsq = 0.d0 +pzCocco = 0.666d0 ! NEW (8/12) +sCoccoNsq = 0.d0 ! NEW +pzMicZoo = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +sMicZooNsq = 0.d0 ! NEW 3Zoo +tiny_het = 1.d-5 ! for more stable computation of HetRespFlux (_plus). Value can be > tiny because HetRespFlux ~ hetC**2. +/ + +&pasecondzooplankton +graz_max2 = 0.1d0 ! [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilon2 = 0.0144d0 ! [(mmol N)2 /m6] Half saturation constant for grazing loss +res_zoo2 = 0.0107d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) +loss_zoo2 = 0.003d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) +fecal_rate_n = 0.104d0 ! [1/day] Temperature dependent N degradation of \ +fecal_rate_c = 0.236d0 +fecal_rate_n_mes = 0.25d0 ! NEW 3Zoo +fecal_rate_c_mes = 0.32d0 ! NEW 3Zoo +pzDia2 = 1.5d0 !1.d0 ! Maximum diatom preference +sDiaNsq2 = 0.d0 +pzPhy2 = 0.5d0 ! Maximum diatom preference +sPhyNsq2 = 0.d0 +pzCocco2 = 0.5d0 ! NEW +sCoccoNsq2 = 0.d0 ! NEW +pzHet = 1.5d0 !0.8d0 ! Maximum diatom preference +sHetNsq = 0.d0 +t1_zoo2 = 28145.d0 ! Krill temp. function constant1 +t2_zoo2 = 272.5d0 ! Krill temp. function constant2 +t3_zoo2 = 105234.d0 ! Krill temp. function constant3 +t4_zoo2 = 274.15d0 ! Krill temp. function constant3 +/ + +&pathirdzooplankton +graz_max3 = 0.46d0 ! NEW 3Zoo [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilon3 = 0.64d0 ! NEW 3Zoo [(mmol N)2 /m6] Half saturation constant for grazing loss +loss_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Temperature dependent N degradation of extracellular organic N (EON) +res_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Respiration by heterotrophs and mortality (loss to detritus) +pzDia3 = 0.5d0 ! NEW 3Zoo Maximum diatom preference +sDiaNsq3 = 0.d0 ! NEW 3Zoo +pzPhy3 = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +sPhyNsq3 = 0.d0 ! NEW 3Zoo +pzCocco3 = 0.d0 ! NEW 3Zoo Maximum coccolithophore preference ! ATTENTION: This value needs to be tuned; I start with zero preference! +sCoccoNsq3 = 0.d0 ! NEW 3Zoo +/ + +&pagrazingdetritus +pzDet = 0.5d0 ! Maximum small detritus prefence by first zooplankton +sDetNsq = 0.d0 +pzDetZ2 = 0.5d0 ! Maximum large detritus preference by first zooplankton +sDetZ2Nsq = 0.d0 +pzDet2 = 0.5d0 ! Maximum small detritus prefence by second zooplankton +sDetNsq2 = 0.d0 +pzDetZ22 = 0.5d0 ! Maximum large detritus preference by second zooplankton +sDetZ2Nsq2 = 0.d0 +/ + +&paaggregation +agg_PD = 0.165d0 ! [m3/(mmol N * day)] Maximum aggregation loss parameter for DetN +agg_PP = 0.015d0 ! [m3/(mmol N * day)] Maximum aggregation loss parameter for PhyN and DiaN (plankton) +/ + +&padin_rho_N +rho_N = 0.11d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) (Remineralization of DON) +/ + +&padic_rho_C1 +rho_C1 = 0.1d0 ! [1/day] Temperature dependent C degradation of extracellular organic C (EOC) +/ + +&paphytoplankton_N +lossN = 0.05d0 ! [1/day] Phytoplankton loss of organic N compounds +lossN_d = 0.05d0 +lossN_c = 0.05d0 ! NEW +/ + +&paphytoplankton_C +lossC = 0.10d0 ! [1/day] Phytoplankton loss of carbon +lossC_d = 0.10d0 +lossC_c = 0.10d0 ! NEW +/ + +&paphytoplankton_ChlA +deg_Chl = 0.25d0 !0.2d0 !0.25d0 ! [1/day] +deg_Chl_d = 0.15d0 !0.2d0 !0.15d0 +deg_Chl_c = 0.2d0 ! NEW (has been 0.5) +/ + +&padetritus_N +gfin = 0.3d0 ! NEW 3Zoo [] Grazing efficiency (fraction of grazing flux into zooplankton pool) +grazEff2 = 0.8d0 ! [] Grazing efficiency (fraction of grazing flux into second zooplankton pool) +grazEff3 = 0.8d0 ! NEW 3Zoo [] Grazing efficiency (fraction of grazing flux into microzooplankton pool) +reminN = 0.165d0 ! [1/day] Temperature dependent remineralisation rate of detritus +/ + +&padetritus_C +reminC = 0.15d0 ! [1/day] Temperature dependent remineralisation rate of detritus +rho_c2 = 0.1d0 ! [1/day] Temperature dependent C degradation of TEP-C +/ + +&paheterotrophs +lossN_z = 0.1d0 +lossC_z = 0.1d0 +/ + +&paseczooloss +lossN_z2 = 0.02d0 +lossC_z2 = 0.02d0 +/ + +&pathirdzooloss +lossN_z3 = 0.05d0 ! NEW 3Zoo +lossC_z3 = 0.05d0 ! NEW 3Zoo +/ + +&paco2lim ! NEW +Cunits = 976.5625 ! Conversion factor between [mol/m3] (model) and [umol/kg] (function): (1000 * 1000) / 1024 +a_co2_phy = 1.162e+00 ! [dimensionless] +a_co2_dia = 1.040e+00 ! [dimensionless] +a_co2_cocco = 1.109e+00 ! [dimensionless] +a_co2_calc = 1.102e+00 ! [dimensionless] +b_co2_phy = 4.888e+01 ! [mol/kg] +b_co2_dia = 2.890e+01 ! [mol/kg] +b_co2_cocco = 3.767e+01 ! [mol/kg] +b_co2_calc = 4.238e+01 ! [mol/kg] +c_co2_phy = 2.255e-01 ! [kg/mol] +c_co2_dia = 8.778e-01 ! [kg/mol] +c_co2_cocco = 3.912e-01 ! [kg/mol] +c_co2_calc = 7.079e-01 ! [kg/mol] +d_co2_phy = 1.023e+07 ! [kg/mol] +d_co2_dia = 2.640e+06 ! [kg/mol] +d_co2_cocco = 9.450e+06 ! [kg/mol] +d_co2_calc = 1.343e+07 ! [kg/mol] +/ + +&pairon +Fe2N = 0.033d0 ! Fe2C * 6.625 +Fe2N_benthos = 0.15d0 ! test, default was 0.14 Fe2C_benthos * 6.625 - will have to be tuned. [umol/m2/day] +kScavFe = 0.07d0 +dust_sol = 0.02d0 ! Dissolution of Dust for bioavaliable +RiverFeConc = 100 +/ + +&pacalc +calc_prod_ratio = 0.02 +calc_diss_guts = 0.0d0 +calc_diss_rate = 0.005714 ! 20.d0/3500.d0 +calc_diss_rate2 = 0.005714d0 +calc_diss_omegac = 0.197d0 ! NEW DISS Value from Aumont et al. 2015, will be used with OmegaC_diss flag +calc_diss_exp = 1.d0 ! NEW DISS Exponent in the dissolution rate of calcite, will be used with OmegaC_diss flag +/ + +&pabenthos_decay_rate +decayRateBenN = 0.005d0 +decayRateBenC = 0.005d0 +decayRateBenSi = 0.005d0 +q_NC_Denit = 0.86d0 ! N:C quota of the denitrification process +/ + +&paco2_flux_param +permil = 0.000000976 ! 1.e-3/1024.5d0 ! Converting DIC from [mmol/m3] to [mol/kg] +permeg = 1.e-6 ! [atm/uatm] Changes units from uatm to atm +!X1 = exp(-5.d0*log(10.d0)) ! Lowest ph-value = 7.7 (phlo) +!X2 = exp(-9.d0*log(10.d0)) ! Highest ph-value = 9.5 (phhi) +Xacc = 1.e-12 ! Accuracy for ph-iteration (phacc) +CO2_for_spinup = 278.d0 ! [uatm] Atmospheric partial pressure of CO2 +/ + +&paalkalinity_restoring +surf_relax_Alk = 3.2e-07 !10.d0/31536000.d0 +/ + +&paballasting +rho_POC = 1033.d0 ! kg m-3; density of POC (see Table 1 in Cram et al., 2018) +rho_PON = 1033.d0 ! kg m-3; density of PON (see Table 1 in Cram et al., 2018) +rho_CaCO3 = 2830.d0 ! kg m-3; density of CaCO3 (see Table 1 in Cram et al., 2018) +rho_opal = 2090.d0 ! kg m-3; density of Opal (see Table 1 in Cram et al., 2018) +rho_ref_part = 1230.d0 ! kg m-3; reference particle density (see Cram et al., 2018) +rho_ref_water = 1027.d0 ! kg m-3; reference seawater density (see Cram et al., 2018) +visc_ref_water = 0.00158d0 ! kg m-1 s-1; reference seawater viscosity, at Temp=4 degC (see Cram et al., 2018) +w_ref1 = 10.d0 ! m s-1; reference sinking velocity of small detritus +w_ref2 = 200.d0 ! m s-1; reference sinking velocity of large detritus +depth_scaling1 = 0.015d0 ! s-1; factor to increase sinking speed of det1 with depth, set to 0 if not wanted +depth_scaling2 = 0.d0 ! s-1; factor to increase sinking speed of det2 with depth, set to 0 if not wanted +max_sinking_velocity = 250.d0 ! d-1; for numerical stability, set a maximum possible sinking velocity here (applies to both detritus classes) +/ + +&paciso +ciso_init = .false. ! initial fractionation of bulk organic matter +ciso_14 = .false. ! include inorganic radiocarbon +ciso_organic_14 = .false. ! include organic radiocarbon +lambda_14 = 3.8561e-12 ! corresponding to 1 year = 365.00 days +delta_CO2_13 = -6.61 ! atmospheric d13C (permil), global-mean value +big_delta_CO2_14(1) = 0. ! atmospheric D14C (permil), northern hemisphere polewards of 30°N +big_delta_CO2_14(2) = 0. ! atmospheric D14C (permil), (sub) tropical zone 30°N - 30°S +big_delta_CO2_14(3) = 0. ! atmospheric D14C (permil), southern hemisphere polewards of 30°S +atbox_spinup = .false. +cosmic_14_init = 2.0 +/ + diff --git a/config/bin_2p1z1d/namelist.tra b/config/bin_2p1z1d/namelist.tra new file mode 100644 index 000000000..9f703a782 --- /dev/null +++ b/config/bin_2p1z1d/namelist.tra @@ -0,0 +1,90 @@ +&tracer_listsize +num_tracers=100 !number of tracers to allocate. shallbe large or equal to the number of streams in &nml_list +/ + +&tracer_list +nml_tracer_list = +1 , 'MFCT', 'QR4C', 'FCT ', 1., 1., +2 , 'MFCT', 'QR4C', 'FCT ', 1., 1., +1001, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1002, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1003, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1004, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1005, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1006, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1007, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1008, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1009, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1010, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1011, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1012, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1013, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1014, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1015, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1016, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1017, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1018, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1019, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1020, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1021, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1022, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1023, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1024, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1025, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1026, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1027, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1028, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1029, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1030, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1031, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1032, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1033, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!101, 'UPW1', 'UPW1', 'NON ', 0., 0. +/ + +&tracer_init3d ! initial conditions for tracers +n_ic3d = 8 ! number of tracers to initialize +idlist = 1019, 1022, 1018, 1003, 1002, 1001, 2, 1 ! their IDs (0 is temperature, 1 is salinity, etc.). The reading order is defined here! +filelist = 'fe_pisces_opa_eq_init_3D_changed_name.nc', 'woa18_all_o00_01_mmol_fesom2.nc', 'woa13_all_i00_01_fesom2.nc', 'GLODAPv2.2016b.TAlk_fesom2_mmol_fix_z_Fillvalue.nc', 'GLODAPv2.2016b.TCO2_fesom2_mmol_fix_z_Fillvalue.nc', 'woa13_all_n00_01_fesom2.nc', 'phc3.0_winter.nc', 'phc3.0_winter.nc' ! list of files in ClimateDataPath to read (one file per tracer), same order as idlist +varlist = 'Fe', 'oxygen_mmol', 'i_an', 'TAlk_mmol', 'TCO2_mmol', 'n_an', 'salt', 'temp' ! variables to read from specified files +t_insitu = .true. ! if T is insitu it will be converted to potential after reading it +/ + +&tracer_init2d ! initial conditions for 2D tracers (sea ice) +n_ic2d = 3 ! number of tracers to initialize +idlist = 1, 2, 3 ! their IDs (0 is a_ice, 1 is m_ice, 3 m_snow). The reading order is defined here! +filelist = 'a_ice.nc', 'm_ice.nc', 'm_snow.nc' ! list of files in ClimateDataPath to read (one file per tracer), same order as idlist +varlist = 'a_ice', 'm_ice', 'm_snow' ! variables to read from specified files +ini_ice_from_file=.false. +/ + +&tracer_general +! bharmonic diffusion for tracers. We recommend to use this option in very high resolution runs (Redi is generally off there). +smooth_bh_tra =.false. ! use biharmonic diffusion (filter implementation) for tracers +gamma0_tra = 0.0005 ! gammaX_tra are analogous to those in the dynamical part +gamma1_tra = 0.0125 +gamma2_tra = 0. +i_vert_diff =.true. +/ + +&tracer_phys +use_momix = .true. ! switch on/off !Monin-Obukhov -> TB04 mixing +momix_lat = -50.0 ! latitidinal treshhold for TB04, =90 --> global +momix_kv = 0.01 ! PP/KPP, mixing coefficient within MO length +use_instabmix = .true. ! enhance convection in case of instable stratification +instabmix_kv = 0.1 +use_windmix = .false. ! enhance mixing trough wind only for PP mixing (for stability) +windmix_kv = 1.e-3 +windmix_nl = 2 +diff_sh_limit=5.0e-3 ! for KPP, max diff due to shear instability +Kv0_const=.true. +double_diffusion=.false. ! for KPP,dd switch +K_ver=1.0e-5 +K_hor=3000. +surf_relax_T=0.0 +surf_relax_S=1.929e-06 ! 50m/300days 6.43e-07! m/s 10./(180.*86400.) +balance_salt_water =.true. ! balance virtual-salt or freshwater flux or not +clim_relax=0.0 ! 1/s, geometrical information has to be supplied +ref_sss_local=.true. +ref_sss=34. +/ diff --git a/config/bin_2p3z2d/job_albedo b/config/bin_2p3z2d/job_albedo new file mode 100755 index 000000000..5f3c516e7 --- /dev/null +++ b/config/bin_2p3z2d/job_albedo @@ -0,0 +1,66 @@ +#!/bin/bash +#SBATCH --account=nwg_hauck.maresys # edit your account +#SBATCH --job-name=recom +#SBATCH --partition=mpp +#SBATCH --time=01:30:00 +####SBATCH --constraint="[rack1|rack3]" +#SBATCH --qos=12h +#SBATCH --nodes=9 # Number of tasks (MPI) tasks to be launched +#SBATCH --tasks-per-node 96 #8 #4 # using all 128CPus we exceed the maxload limit (>130) of many used nodes when us parallel I/O +#SBATCH --cpus-per-task 1 + +#SBATCH -o fesom2o.out +#SBATCH -e fesom2e.out + +# disable hyperthreading +#SBATCH --hint=nomultithread + +module purge +source ../env/albedo/shell +export OMP_NUM_THREADS=1 +ulimit -s unlimited + +# determine JOBID +JOBID=`echo $SLURM_JOB_ID |cut -d"." -f1` + +ln -s ../bin/fesom.x . # cp -n ../bin/fesom.x +cp -n ../config/namelist.config . +cp -n ../config/namelist.forcing . +cp -n ../config/namelist.oce . +cp -n ../config/namelist.dyn . +cp -n ../config/namelist.tra . +cp -n ../config/namelist.ice . +cp -n ../config/namelist.io . +cp -n ../config/namelist.icepack . + +#___DETERMINE SLURM JOBID+OUTPUTFILE____________________________________________ +jobid=$(echo $SLURM_JOB_ID | cut -d"." -f1) +fname="fesom2_${SLURM_JOB_NAME}_${jobid}.out" + +#___PUT JOB IN QUEUE____________________________________________________________ +date +####srun --mpi=pmi2 ./fesom.x >> ${fname} +srun --mpi=pmi2 ./fesom.x > fesom2.0.out +date + +#qstat -f $PBS_JOBID +#export EXITSTATUS=$? +#if [ ${EXITSTATUS} -eq 0 ] || [ ${EXITSTATUS} -eq 127 ] ; then +#sbatch job_ollie +#fi + +#Resultpath='/albedo/scratch/user/ogurses/ocean_only/' +Resultpath='/albedo/scratch/user/ogurses/fesom2.5_recom_st1_vsink_vben_diags_3Zoo2Det_v3/' +test -d $Resultpath/fesom.2019.oce.restart && exit + +IsInFile=$( tail -3 fesom2.0.out | grep -c timesteps) +if (( IsInFile > 0 )); then +# submit next #job \ + echo "submitting next job" + cp fesom2.0.out fesom.out.done + sbatch job_albedo +else + echo "something is wrong, last line of fesom.out reads" + echo $( tail -1 fesom2.0.out) + echo "abnormal termination of job script" +fi diff --git a/config/bin_2p3z2d/namelist.config b/config/bin_2p3z2d/namelist.config new file mode 100644 index 000000000..25c5e4a31 --- /dev/null +++ b/config/bin_2p3z2d/namelist.config @@ -0,0 +1,67 @@ +! This is the namelist file for model general configuration + +&modelname +runid='fesom' +/ + +×tep +step_per_day=32 !96 !96 !72 !72 !45 !72 !96 +run_length=1 !62 !62 !62 !28 +run_length_unit='y' ! y, m, d, s +/ + +&clockinit ! the model starts at +timenew=0.0 +daynew=1 +yearnew=1958 +/ + +&paths +MeshPath='/albedo/work/projects/p_recompdaf/frbunsen/FESOM2/meshes/core2/' +ClimateDataPath='/albedo/work/projects/MarESys/ogurses/input/corrected_input/' +ResultPath='/albedo/scratch/user/ogurses/fesom2.5_recom_st1_vsink_vben_diags_3Zoo2Det_v3/' +/ + +&restart_log +restart_length=1 ! --> do netcdf restart ( only required for d,h,s cases, y, m take 1) +restart_length_unit='y' !output period: y, d, h, s, off +raw_restart_length=1 ! --> do core dump restart +raw_restart_length_unit='off' ! e.g. y, d, h, s, off +bin_restart_length=1 ! --> do derived type binary restart +bin_restart_length_unit='off' ! e.g. y, d, h, s, off +logfile_outfreq=960 !in logfile info. output frequency, # steps +/ + +&ale_def +which_ALE='zstar' ! 'linfs','zlevel', 'zstar' +use_partial_cell=.true. +/ + +&geometry +cartesian=.false. +fplane=.false. +cyclic_length=360 ![degree] +rotated_grid=.true. !option only valid for coupled model case now +force_rotation=.true. +alphaEuler=50. ![degree] Euler angles, convention: +betaEuler=15. ![degree] first around z, then around new x, +gammaEuler=-90. ![degree] then around new z. +/ + +&calendar +include_fleapyear=.false. +/ + +&run_config +use_ice=.true. ! ocean+ice +use_cavity=.false. ! +use_cavity_partial_cell=.false. +use_floatice = .false. +use_sw_pene=.true. +flag_debug=.false. +/ + +&machine +n_levels=2 +n_part= 12, 36 ! 432 number of partitions on each hierarchy level +/ diff --git a/config/bin_2p3z2d/namelist.dyn b/config/bin_2p3z2d/namelist.dyn new file mode 100644 index 000000000..fb7919588 --- /dev/null +++ b/config/bin_2p3z2d/namelist.dyn @@ -0,0 +1,24 @@ +&dynamics_visc +visc_gamma0 = 0.003 ! [m/s], backgroung viscosity= gamma0*len, it should be as small a s possible (keep it < 0.01 m/s). +visc_gamma1 = 0.1 ! [nodim], for computation of the flow aware viscosity +visc_gamma2 = 0.285 ! [s/m], is only used in easy backscatter option +visc_easybsreturn= 1.5 + +opt_visc = 5 +! 5=Kinematic (easy) Backscatter +! 6=Biharmonic flow aware (viscosity depends on velocity Laplacian) +! 7=Biharmonic flow aware (viscosity depends on velocity differences) +! 8=Dynamic Backscatter + +use_ivertvisc= .true. +/ + +&dynamics_general +momadv_opt = 2 ! option for momentum advection in moment only =2 +use_freeslip = .false. ! Switch on free slip +use_wsplit = .false. ! Switch for implicite/explicte splitting of vert. velocity +wsplit_maxcfl= 1.0 ! maximum allowed CFL criteria in vertical (0.5 < w_max_cfl < 1.) + ! in older FESOM it used to be w_exp_max=1.e-3 +ldiag_KE=.false. ! activates energy diagnostics +/ + diff --git a/config/bin_2p3z2d/namelist.forcing b/config/bin_2p3z2d/namelist.forcing new file mode 100644 index 000000000..a17799393 --- /dev/null +++ b/config/bin_2p3z2d/namelist.forcing @@ -0,0 +1,60 @@ +! This is the namelist file for forcing + +&forcing_exchange_coeff +Ce_atm_oce=0.00175 ! exchange coeff. of latent heat over open water +Ch_atm_oce=0.00175 ! exchange coeff. of sensible heat over open water +Cd_atm_oce=0.001 ! drag coefficient between atmosphere and water +Ce_atm_ice=0.00175 ! exchange coeff. of latent heat over ice +Ch_atm_ice=0.00175 ! exchange coeff. of sensible heat over ice +Cd_atm_ice=0.0012 ! drag coefficient between atmosphere and ice +Swind =0.0 ! parameterization for coupled current feedback +/ + +&forcing_bulk +AOMIP_drag_coeff=.false. +ncar_bulk_formulae=.true. +ncar_bulk_z_wind=10.0 ! height at which wind forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m) +ncar_bulk_z_tair=10.0 ! height at which temp forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m) +ncar_bulk_z_shum=10.0 ! height at which humi forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m) + +/ + +&land_ice +use_landice_water=.false. +landice_start_mon=5 +landice_end_mon=10 +/ + +&nam_sbc + nm_xwind_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/uas.clim61' ! name of file with winds, if nm_sbc=2 + nm_ywind_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/vas.clim61' ! name of file with winds, if nm_sbc=2 + nm_humi_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/huss.clim61' ! name of file with humidity + nm_qsr_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/rsds.clim61' ! name of file with solar heat + nm_qlw_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/rlds.clim61' ! name of file with Long wave + nm_tair_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/tas.clim61' ! name of file with 2m air temperature + nm_prec_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/prra.clim61' ! name of file with total precipitation + nm_snow_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/prsn.clim61' ! name of file with snow precipitation + nm_mslp_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/psl.clim61' ! air_pressure_at_sea_level + nm_xwind_var = 'uas' ! name of variable in file with wind + nm_ywind_var = 'vas' ! name of variable in file with wind + nm_humi_var = 'huss' ! name of variable in file with humidity + nm_qsr_var = 'rsds' ! name of variable in file with solar heat + nm_qlw_var = 'rlds' ! name of variable in file with Long wave + nm_tair_var = 'tas' ! name of variable in file with 2m air temperature + nm_prec_var = 'prra' ! name of variable in file with total precipitation + nm_snow_var = 'prsn' ! name of variable in file with total precipitation + nm_mslp_var = 'psl' ! name of variable in file with air_pressure_at_sea_level + nm_nc_iyear = 1900 + nm_nc_imm = 1 ! initial month of time axis in netCDF + nm_nc_idd = 1 ! initial day of time axis in netCDF + nm_nc_freq = 1 ! data points per day (i.e. 86400 if the time axis is in seconds) + nm_nc_tmid = 0 ! 1 if the time stamps are given at the mid points of the netcdf file, 0 otherwise (i.e. 1 in CORE1, CORE2; 0 in JRA55) + y_perpetual=.true. + l_xwind=.true. l_ywind=.true. l_humi=.true. l_qsr=.true. l_qlw=.true. l_tair=.true. l_prec=.true. l_mslp=.true. l_cloud=.false. l_snow=.true. + nm_runoff_file ='/albedo/pool/FESOM/forcing/CORE2/runoff.nc' + runoff_data_source ='CORE2' !Dai09, CORE2 + !runoff_data_source ='Dai09' !Dai09, CORE2, JRA55 + !runoff_climatology =.true. + nm_sss_data_file ='/albedo/pool/FESOM/forcing/CORE2/PHC2_salx.nc' + sss_data_source ='CORE2' +/ diff --git a/config/bin_2p3z2d/namelist.ice b/config/bin_2p3z2d/namelist.ice new file mode 100644 index 000000000..bcd86f145 --- /dev/null +++ b/config/bin_2p3z2d/namelist.ice @@ -0,0 +1,31 @@ +! Ice namelist +&ice_dyn +whichEVP=0 ! 0=standart; 1=mEVP; 2=aEVP +Pstar=30000.0 ! [N/m^2] +ellipse=2.0 +c_pressure=20.0 ! ice concentration parameter used in ice strength computation +delta_min=1.0e-11 ! [s^(-1)] +evp_rheol_steps=120 ! number of EVP subcycles +alpha_evp=250 ! constant that control numerical stability of mEVP. Adjust with resolution. +beta_evp=250 ! constant that control numerical stability of mEVP. Adjust with resolution. +c_aevp=0.15 ! a tuning constant in aEVP. Adjust with resolution. +Cd_oce_ice=0.0055 ! drag coef. oce - ice +ice_gamma_fct=0.5 ! smoothing parameter +ice_diff=0.0 ! diffusion to stabilize +theta_io=0.0 ! rotation angle +ice_ave_steps=1 ! ice step=ice_ave_steps*oce_step +/ + +&ice_therm +Sice=4.0 ! Ice salinity 3.2--5.0 ppt. +h0=.5 ! Lead closing parameter [m] +emiss_ice=0.97 ! Emissivity of Snow/Ice, +emiss_wat=0.97 ! Emissivity of open water +albsn=0.81 ! Albedo: frozen snow +albsnm=0.77 ! melting snow +albi=0.7 ! frozen ice +albim=0.68 ! melting ice +albw=0.1 ! open water +con=2.1656 ! Thermal conductivities: ice; W/m/K +consn=0.31 ! snow +/ diff --git a/config/bin_2p3z2d/namelist.icepack b/config/bin_2p3z2d/namelist.icepack new file mode 100644 index 000000000..ed0dd4d4c --- /dev/null +++ b/config/bin_2p3z2d/namelist.icepack @@ -0,0 +1,146 @@ +&env_nml ! In the original release these variables are defined in the icepack.settings + nicecat = 5 ! number of ice thickness categories + nfsdcat = 1 ! number of floe size categories + nicelyr = 4 ! number of vertical layers in the ice + nsnwlyr = 4 ! number of vertical layers in the snow + ntraero = 0 ! number of aerosol tracers (up to max_aero in ice_domain_size.F90) + trzaero = 0 ! number of z aerosol tracers (up to max_aero = 6) + tralg = 0 ! number of algal tracers (up to max_algae = 3) + trdoc = 0 ! number of dissolve organic carbon (up to max_doc = 3) + trdic = 0 ! number of dissolve inorganic carbon (up to max_dic = 1) + trdon = 0 ! number of dissolve organic nitrogen (up to max_don = 1) + trfed = 0 ! number of dissolved iron tracers (up to max_fe = 2) + trfep = 0 ! number of particulate iron tracers (up to max_fe = 2) + nbgclyr = 0 ! number of zbgc layers + trbgcz = 0 ! set to 1 for zbgc tracers (needs TRBGCS = 0 and TRBRI = 1) + trzs = 0 ! set to 1 for zsalinity tracer (needs TRBRI = 1) + trbri = 0 ! set to 1 for brine height tracer + trage = 0 ! set to 1 for ice age tracer + trfy = 0 ! set to 1 for first-year ice area tracer + trlvl = 0 ! set to 1 for level and deformed ice tracers + trpnd = 0 ! set to 1 for melt pond tracers + trbgcs = 0 ! set to 1 for skeletal layer tracers (needs TRBGCZ = 0) + ndtd = 1 ! dynamic time steps per thermodynamic time step +/ + +&grid_nml + kcatbound = 1 +/ + +&tracer_nml + tr_iage = .false. + tr_FY = .false. + tr_lvl = .false. + tr_pond_cesm = .false. + tr_pond_topo = .false. + tr_pond_lvl = .false. + tr_aero = .false. + tr_fsd = .false. +/ + +&thermo_nml + kitd = 1 + ktherm = 1 + conduct = 'bubbly' + a_rapid_mode = 0.5e-3 + Rac_rapid_mode = 10.0 + aspect_rapid_mode = 1.0 + dSdt_slow_mode = -5.0e-8 + phi_c_slow_mode = 0.05 + phi_i_mushy = 0.85 + ksno = 0.3 +/ + +&shortwave_nml + shortwave = 'ccsm3' + albedo_type = 'ccsm3' + albicev = 0.78 + albicei = 0.36 + albsnowv = 0.98 + albsnowi = 0.70 + albocn = 0.1 + ahmax = 0.3 + R_ice = 0. + R_pnd = 0. + R_snw = 1.5 + dT_mlt = 1.5 + rsnw_mlt = 1500. + kalg = 0.6 +/ + +&ponds_nml + hp1 = 0.01 + hs0 = 0. + hs1 = 0.03 + dpscale = 1.e-3 + frzpnd = 'hlid' + rfracmin = 0.15 + rfracmax = 1. + pndaspect = 0.8 +/ + +&forcing_nml + formdrag = .false. + atmbndy = 'default' + calc_strair = .true. + calc_Tsfc = .true. + highfreq = .false. + natmiter = 5 + ustar_min = 0.0005 + emissivity = 0.95 + fbot_xfer_type = 'constant' + update_ocn_f = .false. + l_mpond_fresh = .false. + tfrz_option = 'linear_salt' + oceanmixed_ice = .true. + wave_spec_type = 'none' +/ + +&dynamics_nml + kstrength = 1 + krdg_partic = 1 + krdg_redist = 1 + mu_rdg = 3 + Cf = 17. + P_star = 27000. + C_star = 20. +/ + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!! Icepack output namelist !!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +&nml_list_icepack +io_list_icepack = 'aicen ',1, 'm', 4, ! Sea ice concentration + 'vicen ',1, 'm', 4, ! Volume per unit area of ice + 'vsnon ',1, 'm', 4, ! Volume per unit area of snow + !'Tsfcn ',1, 'm', 4, ! Sea ice surf. temperature + !'iagen ',1, 'm', 4, ! Sea ice age + !'FYn ',1, 'm', 4, ! First year ice + !'lvln ',1, 'm', 4, ! Ridged sea ice area and volume + !'pond_cesmn',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_topon',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_lvln ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'brinen ',1, 'm', 4, ! Volume fraction of ice with dynamic salt + !'qicen ',1, 'm', 4, ! Sea ice enthalpy + !'sicen ',1, 'm', 4, ! Sea ice salinity + !'qsnon ',1, 'm', 4, ! Snow enthalpy + ! Average over thicknes classes + !'aice ',1, 'm', 4, ! Sea ice concentration + !'vice ',1, 'm', 4, ! Volume per unit area of ice + !'vsno ',1, 'm', 4, ! Volume per unit area of snow + !'Tsfc ',1, 'm', 4, ! Sea ice surf. temperature + !'iage ',1, 'm', 4, ! Sea ice age + !'FY ',1, 'm', 4, ! First year ice + !'lvl ',1, 'm', 4, ! Ridged sea ice area and volume + !'pond_cesm ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_topo ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_lvl ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'brine ',1, 'm', 4, ! Volume fraction of ice with dynamic salt + !'qice ',1, 'm', 4, ! Sea ice enthalpy + !'sice ',1, 'm', 4, ! Sea ice salinity + !'qsno ',1, 'm', 4, ! Snow enthalpy + ! Other variables + !'uvel ',1, 'm', 4, ! x-component of sea ice velocity + !'vvel ',1, 'm', 4, ! y-component of sea ice velocity +/ diff --git a/config/bin_2p3z2d/namelist.io b/config/bin_2p3z2d/namelist.io new file mode 100644 index 000000000..01bcab49f --- /dev/null +++ b/config/bin_2p3z2d/namelist.io @@ -0,0 +1,83 @@ +&diag_list +ldiag_solver =.false. +lcurt_stress_surf=.false. +ldiag_curl_vel3 =.false. +ldiag_Ri =.false. +ldiag_turbflux =.false. +ldiag_salt3D =.false. +ldiag_dMOC =.false. +ldiag_DVD =.false. +ldiag_forc =.false. +ldiag_extflds =.false. +/ + +&nml_general +io_listsize =100 !number of streams to allocate. shallbe large or equal to the number of streams in &nml_list +vec_autorotate =.false. +/ + +! for sea ice related variables use_ice should be true, otherewise there will be no output +! for 'curl_surf' to work lcurt_stress_surf must be .true. otherwise no output +! for 'fer_C', 'bolus_u', 'bolus_v', 'bolus_w', 'fer_K' to work Fer_GM must be .true. otherwise no output +! 'otracers' - all other tracers if applicable +! for 'dMOC' to work ldiag_dMOC must be .true. otherwise no output +&nml_list +io_list = 'sst ',1, 'm', 4, + 'sss ',1, 'm', 4, + 'ssh ',1, 'm', 4, + 'uice ',1, 'm', 4, + 'vice ',1, 'm', 4, + 'a_ice ',1, 'm', 4, + 'm_ice ',1, 'm', 4, + 'm_snow ',1, 'm', 4, + 'MLD1 ',1, 'm', 4, + 'MLD2 ',1, 'm', 4, + 'MLD3 ',1, 'm', 4, + 'tx_sur ',1, 'm', 4, + 'ty_sur ',1, 'm', 4, + 'temp ',1, 'm', 4, + 'salt ',1, 'm', 8, + 'otracers ',1, 'm', 4, + 'N2 ',1, 'y', 4, + 'Kv ',1, 'y', 4, + 'u ',1, 'y', 4, + 'v ',1, 'y', 4, + 'unod ',1, 'y', 4, + 'vnod ',1, 'y', 4, + 'w ',1, 'y', 4, + 'Av ',1, 'y', 4, + 'bolus_u ',1, 'y', 4, + 'bolus_v ',1, 'y', 4, + 'bolus_w ',1, 'y', 4, + 'dpCO2s ',1, 'm', 4, + 'pCO2s ',1, 'm', 4, + 'CO2f ',1, 'm', 4, + 'Hp ',1, 'm', 4, + 'aFe ',1, 'm', 4, + 'aN ',1, 'm', 4, + 'denb ',1, 'm', 4, + 'benN ',1, 'm', 4, + 'benC ',1, 'm', 4, + 'benSi ',1, 'm', 4, + 'benCalc ',1, 'm', 4, + 'Chldegd ',1, 'm', 4, + 'Chldegn ',1, 'm', 4, + 'NNAd ',1, 'm', 4, + 'NNAn ',1, 'm', 4, + 'GPPd ',1, 'm', 4, + 'GPPn ',1, 'm', 4, + 'NPPd ',1, 'm', 4, + 'NPPn ',1, 'm', 4, + 'PAR ',1, 'm', 4, + 'respmeso',1, 'm', 4, + 'respmacro',1, 'm', 4, + 'respmicro',1, 'm', 4, + 'calcdiss',1, 'm', 4, + 'calcif',1, 'm', 4, + 'aggn',1, 'm', 4, + 'aggd',1, 'm', 4, + 'docexn',1, 'm', 4, + 'docexd',1, 'm', 4, + 'respn',1, 'm', 4, + 'respd',1, 'm', 4, +/ diff --git a/config/bin_2p3z2d/namelist.oce b/config/bin_2p3z2d/namelist.oce new file mode 100644 index 000000000..7af6867f7 --- /dev/null +++ b/config/bin_2p3z2d/namelist.oce @@ -0,0 +1,26 @@ +! The namelist file for the finite-volume ocean model + +&oce_dyn +C_d=0.0025 ! Bottom drag, nondimensional +A_ver= 1.e-4 ! Vertical viscosity, m^2/s +scale_area=5.8e9 ! Visc. and diffus. are for an element with scale_area +SPP=.false. ! Salt Plume Parameterization +Fer_GM=.true. ! to swith on/off GM after Ferrari et al. 2010 +K_GM_max = 2000.0 ! max. GM thickness diffusivity (m2/s) +K_GM_min = 2.0 ! max. GM thickness diffusivity (m2/s) +K_GM_bvref = 2 ! def of bvref in ferreira scaling 0=srf,1=bot mld,2=mean over mld,3=weighted mean over mld +K_GM_rampmax = -1.0 ! Resol >K_GM_rampmax[km] GM on +K_GM_rampmin = -1.0 ! Resol 8 if (ciso == .true.) otherwise -> 4 +use_MEDUSA = .false. ! Main switch for the sediment model MEDUSA +sedflx_num = 0 ! if 0: no file from MEDUSA is read but default sediment +bottflx_num = 4 ! if ciso&ciso_14: =8; if .not.ciso_14: =6; no ciso: =4 +use_atbox = .false. +add_loopback = .false. ! add loopback fluxes through rivers to the surface +lb_tscale = 1.0 ! /year: fraction of loopback fluxes yearly added to the surface +/ + +&pasinking +Vdet_a = 0.0288 ! [1/day] +Vcalc = 0.0144 ! [1/day] +/ + +&painitialization_N +cPhyN = 0.2d0 +cHetN = 0.2d0 +cZoo2N = 0.2d0 +/ + +&paArrhenius +recom_Tref = 288.15d0 ! [K] +C2K = 273.15d0 ! Conversion from degrees C to K +Ae = 4500.d0 ! [K] Slope of the linear part of the Arrhenius function +reminSi = 0.02d0 +k_o2_remin = 15.d0 ! NEW O2remin mmol m-3; Table 1 in Cram 2018 cites DeVries & Weber 2017 for a range of 0-30 mmol m-3 +/ + +&palimiter_function +NMinSlope = 50.d0 +SiMinSlope = 1000.d0 +NCmin = 0.04d0 !0.05d0 +NCmin_d = 0.04d0 !0.05d0 +NCmin_c = 0.04d0 ! NEW +SiCmin = 0.04d0 +k_Fe = 0.04d0 +k_Fe_d = 0.12d0 +k_Fe_c = 0.09d0 ! NEW +k_si = 4.d0 +P_cm = 3.0d0 ! [1/day] Rate of C-specific photosynthesis +P_cm_d = 3.5d0 +P_cm_c = 2.8d0 ! NEW +/ + +&palight_calculations +k_w = 0.04d0 ! [1/m] Light attenuation coefficient +a_chl = 0.03d0 ! [1/m * 1/(mg Chl)] Chlorophyll specific attenuation coefficients +/ + +&paphotosynthesis +alfa = 0.14d0 ! [(mmol C*m2)/(mg Chl*W*day)] +alfa_d = 0.19d0 ! An initial slope of the P-I curve +alfa_c = 0.10d0 ! NEW +parFrac = 0.43d0 +/ + +&paassimilation +V_cm_fact = 0.7d0 ! scaling factor for temperature dependent maximum of C-specific N-uptake +V_cm_fact_d = 0.7d0 +V_cm_fact_c = 0.7d0 ! NEW +NMaxSlope = 1000.d0 ! Max slope for limiting function +SiMaxSlope = 1000.d0 +NCmax = 0.2d0 ! [mmol N/mmol C] Maximum cell quota of nitrogen (N:C) +NCmax_d = 0.2d0 +NCmax_c = 0.15d0 ! NEW +SiCmax = 0.8d0 +NCuptakeRatio = 0.2d0 ! [mmol N/mmol C] Maximum uptake ratio of N:C +NCUptakeRatio_d = 0.2d0 +NCUptakeRatio_c = 0.2d0 ! NEW +SiCUptakeRatio = 0.2d0 +k_din = 0.55d0 ! [mmol N/m3] Half-saturation constant for nitrate uptake +k_din_d = 1.0d0 +k_din_c = 0.9d0 ! NEW +Chl2N_max = 3.15d0 ! [mg CHL/mmol N] Maximum CHL a : N ratio = 0.3 gCHL gN^-1 +Chl2N_max_d = 4.2d0 +Chl2N_max_c = 3.5d0 ! NEW +res_phy = 0.01d0 ! [1/day] Maintenance respiration rate constant +res_phy_d = 0.01d0 +res_phy_c = 0.01d0 ! NEW +biosynth = 2.33d0 ! [mmol C/mmol N] Cost of biosynthesis +biosynthSi = 0.d0 +/ + +&pairon_chem +totalligand = 1.d0 ! [mumol/m3] order 1. Total free ligand +ligandStabConst = 100.d0 ! [m3/mumol] order 100. Ligand-free iron stability constant +/ + +&pazooplankton +graz_max = 0.31d0 ! [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilonr = 0.09d0 ! [(mmol N)2 /m6] Half saturation constant for grazing loss +res_het = 0.028d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) +Redfield = 6.625 ! [mmol C/mmol N] Redfield ratio of C:N = 106:16 +loss_het = 0.04d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) +pzDia = 1.0d0 !0.5d0 ! Maximum diatom preference +sDiaNsq = 0.d0 +pzPhy = 0.5d0 !0.25d0 !1.0d0 ! Maximum nano-phytoplankton preference (NEW: 3/12) +sPhyNsq = 0.d0 +pzCocco = 0.666d0 ! NEW (8/12) +sCoccoNsq = 0.d0 ! NEW +pzMicZoo = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +sMicZooNsq = 0.d0 ! NEW 3Zoo +tiny_het = 1.d-5 ! for more stable computation of HetRespFlux (_plus). Value can be > tiny because HetRespFlux ~ hetC**2. +/ + +&pasecondzooplankton +graz_max2 = 0.1d0 ! [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilon2 = 0.0144d0 ! [(mmol N)2 /m6] Half saturation constant for grazing loss +res_zoo2 = 0.0107d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) +loss_zoo2 = 0.003d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) +fecal_rate_n = 0.104d0 ! [1/day] Temperature dependent N degradation of \ +fecal_rate_c = 0.236d0 +fecal_rate_n_mes = 0.25d0 ! NEW 3Zoo +fecal_rate_c_mes = 0.32d0 ! NEW 3Zoo +pzDia2 = 1.5d0 !1.d0 ! Maximum diatom preference +sDiaNsq2 = 0.d0 +pzPhy2 = 0.5d0 ! Maximum diatom preference +sPhyNsq2 = 0.d0 +pzCocco2 = 0.5d0 ! NEW +sCoccoNsq2 = 0.d0 ! NEW +pzHet = 1.5d0 !0.8d0 ! Maximum diatom preference +sHetNsq = 0.d0 +pzMicZoo2 = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +sMicZooNsq2 = 0.d0 +t1_zoo2 = 28145.d0 ! Krill temp. function constant1 +t2_zoo2 = 272.5d0 ! Krill temp. function constant2 +t3_zoo2 = 105234.d0 ! Krill temp. function constant3 +t4_zoo2 = 274.15d0 ! Krill temp. function constant3 +/ + +&pathirdzooplankton +graz_max3 = 0.46d0 ! NEW 3Zoo [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilon3 = 0.64d0 ! NEW 3Zoo [(mmol N)2 /m6] Half saturation constant for grazing loss +loss_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Temperature dependent N degradation of extracellular organic N (EON) +res_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Respiration by heterotrophs and mortality (loss to detritus) +pzDia3 = 0.5d0 ! NEW 3Zoo Maximum diatom preference +sDiaNsq3 = 0.d0 ! NEW 3Zoo +pzPhy3 = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +sPhyNsq3 = 0.d0 ! NEW 3Zoo +pzCocco3 = 0.d0 ! NEW 3Zoo Maximum coccolithophore preference ! ATTENTION: This value needs to be tuned; I start with zero preference! +sCoccoNsq3 = 0.d0 ! NEW 3Zoo +/ + +&pagrazingdetritus +pzDet = 0.5d0 ! Maximum small detritus prefence by first zooplankton +sDetNsq = 0.d0 +pzDetZ2 = 0.5d0 ! Maximum large detritus preference by first zooplankton +sDetZ2Nsq = 0.d0 +pzDet2 = 0.5d0 ! Maximum small detritus prefence by second zooplankton +sDetNsq2 = 0.d0 +pzDetZ22 = 0.5d0 ! Maximum large detritus preference by second zooplankton +sDetZ2Nsq2 = 0.d0 +/ + +&paaggregation +agg_PD = 0.165d0 ! [m3/(mmol N * day)] Maximum aggregation loss parameter for DetN +agg_PP = 0.015d0 ! [m3/(mmol N * day)] Maximum aggregation loss parameter for PhyN and DiaN (plankton) +/ + +&padin_rho_N +rho_N = 0.11d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) (Remineralization of DON) +/ + +&padic_rho_C1 +rho_C1 = 0.1d0 ! [1/day] Temperature dependent C degradation of extracellular organic C (EOC) +/ + +&paphytoplankton_N +lossN = 0.05d0 ! [1/day] Phytoplankton loss of organic N compounds +lossN_d = 0.05d0 +lossN_c = 0.05d0 ! NEW +/ + +&paphytoplankton_C +lossC = 0.10d0 ! [1/day] Phytoplankton loss of carbon +lossC_d = 0.10d0 +lossC_c = 0.10d0 ! NEW +/ + +&paphytoplankton_ChlA +deg_Chl = 0.25d0 !0.2d0 !0.25d0 ! [1/day] +deg_Chl_d = 0.15d0 !0.2d0 !0.15d0 +deg_Chl_c = 0.2d0 ! NEW (has been 0.5) +/ + +&padetritus_N +gfin = 0.3d0 ! NEW 3Zoo [] Grazing efficiency (fraction of grazing flux into zooplankton pool) +grazEff2 = 0.8d0 ! [] Grazing efficiency (fraction of grazing flux into second zooplankton pool) +grazEff3 = 0.8d0 ! NEW 3Zoo [] Grazing efficiency (fraction of grazing flux into microzooplankton pool) +reminN = 0.165d0 ! [1/day] Temperature dependent remineralisation rate of detritus +/ + +&padetritus_C +reminC = 0.15d0 ! [1/day] Temperature dependent remineralisation rate of detritus +rho_c2 = 0.1d0 ! [1/day] Temperature dependent C degradation of TEP-C +/ + +&paheterotrophs +lossN_z = 0.1d0 +lossC_z = 0.1d0 +/ + +&paseczooloss +lossN_z2 = 0.02d0 +lossC_z2 = 0.02d0 +/ + +&pathirdzooloss +lossN_z3 = 0.05d0 ! NEW 3Zoo +lossC_z3 = 0.05d0 ! NEW 3Zoo +/ + +&paco2lim ! NEW +Cunits = 976.5625 ! Conversion factor between [mol/m3] (model) and [umol/kg] (function): (1000 * 1000) / 1024 +a_co2_phy = 1.162e+00 ! [dimensionless] +a_co2_dia = 1.040e+00 ! [dimensionless] +a_co2_cocco = 1.109e+00 ! [dimensionless] +a_co2_calc = 1.102e+00 ! [dimensionless] +b_co2_phy = 4.888e+01 ! [mol/kg] +b_co2_dia = 2.890e+01 ! [mol/kg] +b_co2_cocco = 3.767e+01 ! [mol/kg] +b_co2_calc = 4.238e+01 ! [mol/kg] +c_co2_phy = 2.255e-01 ! [kg/mol] +c_co2_dia = 8.778e-01 ! [kg/mol] +c_co2_cocco = 3.912e-01 ! [kg/mol] +c_co2_calc = 7.079e-01 ! [kg/mol] +d_co2_phy = 1.023e+07 ! [kg/mol] +d_co2_dia = 2.640e+06 ! [kg/mol] +d_co2_cocco = 9.450e+06 ! [kg/mol] +d_co2_calc = 1.343e+07 ! [kg/mol] +/ + +&pairon +Fe2N = 0.033d0 ! Fe2C * 6.625 +Fe2N_benthos = 0.15d0 ! test, default was 0.14 Fe2C_benthos * 6.625 - will have to be tuned. [umol/m2/day] +kScavFe = 0.07d0 +dust_sol = 0.02d0 ! Dissolution of Dust for bioavaliable +RiverFeConc = 100 +/ + +&pacalc +calc_prod_ratio = 0.02 +calc_diss_guts = 0.0d0 +calc_diss_rate = 0.005714 ! 20.d0/3500.d0 +calc_diss_rate2 = 0.005714d0 +calc_diss_omegac = 0.197d0 ! NEW DISS Value from Aumont et al. 2015, will be used with OmegaC_diss flag +calc_diss_exp = 1.d0 ! NEW DISS Exponent in the dissolution rate of calcite, will be used with OmegaC_diss flag +/ + +&pabenthos_decay_rate +decayRateBenN = 0.005d0 +decayRateBenC = 0.005d0 +decayRateBenSi = 0.005d0 +q_NC_Denit = 0.86d0 ! N:C quota of the denitrification process +/ + +&paco2_flux_param +permil = 0.000000976 ! 1.e-3/1024.5d0 ! Converting DIC from [mmol/m3] to [mol/kg] +permeg = 1.e-6 ! [atm/uatm] Changes units from uatm to atm +!X1 = exp(-5.d0*log(10.d0)) ! Lowest ph-value = 7.7 (phlo) +!X2 = exp(-9.d0*log(10.d0)) ! Highest ph-value = 9.5 (phhi) +Xacc = 1.e-12 ! Accuracy for ph-iteration (phacc) +CO2_for_spinup = 278.d0 ! [uatm] Atmospheric partial pressure of CO2 +/ + +&paalkalinity_restoring +surf_relax_Alk = 3.2e-07 !10.d0/31536000.d0 +/ + +&paballasting +rho_POC = 1033.d0 ! kg m-3; density of POC (see Table 1 in Cram et al., 2018) +rho_PON = 1033.d0 ! kg m-3; density of PON (see Table 1 in Cram et al., 2018) +rho_CaCO3 = 2830.d0 ! kg m-3; density of CaCO3 (see Table 1 in Cram et al., 2018) +rho_opal = 2090.d0 ! kg m-3; density of Opal (see Table 1 in Cram et al., 2018) +rho_ref_part = 1230.d0 ! kg m-3; reference particle density (see Cram et al., 2018) +rho_ref_water = 1027.d0 ! kg m-3; reference seawater density (see Cram et al., 2018) +visc_ref_water = 0.00158d0 ! kg m-1 s-1; reference seawater viscosity, at Temp=4 degC (see Cram et al., 2018) +w_ref1 = 10.d0 ! m s-1; reference sinking velocity of small detritus +w_ref2 = 200.d0 ! m s-1; reference sinking velocity of large detritus +depth_scaling1 = 0.015d0 ! s-1; factor to increase sinking speed of det1 with depth, set to 0 if not wanted +depth_scaling2 = 0.d0 ! s-1; factor to increase sinking speed of det2 with depth, set to 0 if not wanted +max_sinking_velocity = 250.d0 ! d-1; for numerical stability, set a maximum possible sinking velocity here (applies to both detritus classes) +/ + +&paciso +ciso_init = .false. ! initial fractionation of bulk organic matter +ciso_14 = .false. ! include inorganic radiocarbon +ciso_organic_14 = .false. ! include organic radiocarbon +lambda_14 = 3.8561e-12 ! corresponding to 1 year = 365.00 days +delta_CO2_13 = -6.61 ! atmospheric d13C (permil), global-mean value +big_delta_CO2_14(1) = 0. ! atmospheric D14C (permil), northern hemisphere polewards of 30°N +big_delta_CO2_14(2) = 0. ! atmospheric D14C (permil), (sub) tropical zone 30°N - 30°S +big_delta_CO2_14(3) = 0. ! atmospheric D14C (permil), southern hemisphere polewards of 30°S +atbox_spinup = .false. +cosmic_14_init = 2.0 +/ + diff --git a/config/bin_2p3z2d/namelist.tra b/config/bin_2p3z2d/namelist.tra new file mode 100644 index 000000000..d1733bb91 --- /dev/null +++ b/config/bin_2p3z2d/namelist.tra @@ -0,0 +1,90 @@ +&tracer_listsize +num_tracers=100 !number of tracers to allocate. shallbe large or equal to the number of streams in &nml_list +/ + +&tracer_list +nml_tracer_list = +1 , 'MFCT', 'QR4C', 'FCT ', 1., 1., +2 , 'MFCT', 'QR4C', 'FCT ', 1., 1., +1001, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1002, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1003, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1004, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1005, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1006, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1007, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1008, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1009, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1010, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1011, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1012, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1013, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1014, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1015, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1016, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1017, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1018, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1019, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1020, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1021, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1022, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1023, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1024, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1025, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1026, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1027, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1028, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1029, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1030, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1031, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1032, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!1033, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!101, 'UPW1', 'UPW1', 'NON ', 0., 0. +/ + +&tracer_init3d ! initial conditions for tracers +n_ic3d = 8 ! number of tracers to initialize +idlist = 1019, 1022, 1018, 1003, 1002, 1001, 2, 1 ! their IDs (0 is temperature, 1 is salinity, etc.). The reading order is defined here! +filelist = 'fe_pisces_opa_eq_init_3D_changed_name.nc', 'woa18_all_o00_01_mmol_fesom2.nc', 'woa13_all_i00_01_fesom2.nc', 'GLODAPv2.2016b.TAlk_fesom2_mmol_fix_z_Fillvalue.nc', 'GLODAPv2.2016b.TCO2_fesom2_mmol_fix_z_Fillvalue.nc', 'woa13_all_n00_01_fesom2.nc', 'phc3.0_winter.nc', 'phc3.0_winter.nc' ! list of files in ClimateDataPath to read (one file per tracer), same order as idlist +varlist = 'Fe', 'oxygen_mmol', 'i_an', 'TAlk_mmol', 'TCO2_mmol', 'n_an', 'salt', 'temp' ! variables to read from specified files +t_insitu = .true. ! if T is insitu it will be converted to potential after reading it +/ + +&tracer_init2d ! initial conditions for 2D tracers (sea ice) +n_ic2d = 3 ! number of tracers to initialize +idlist = 1, 2, 3 ! their IDs (0 is a_ice, 1 is m_ice, 3 m_snow). The reading order is defined here! +filelist = 'a_ice.nc', 'm_ice.nc', 'm_snow.nc' ! list of files in ClimateDataPath to read (one file per tracer), same order as idlist +varlist = 'a_ice', 'm_ice', 'm_snow' ! variables to read from specified files +ini_ice_from_file=.false. +/ + +&tracer_general +! bharmonic diffusion for tracers. We recommend to use this option in very high resolution runs (Redi is generally off there). +smooth_bh_tra =.false. ! use biharmonic diffusion (filter implementation) for tracers +gamma0_tra = 0.0005 ! gammaX_tra are analogous to those in the dynamical part +gamma1_tra = 0.0125 +gamma2_tra = 0. +i_vert_diff =.true. +/ + +&tracer_phys +use_momix = .true. ! switch on/off !Monin-Obukhov -> TB04 mixing +momix_lat = -50.0 ! latitidinal treshhold for TB04, =90 --> global +momix_kv = 0.01 ! PP/KPP, mixing coefficient within MO length +use_instabmix = .true. ! enhance convection in case of instable stratification +instabmix_kv = 0.1 +use_windmix = .false. ! enhance mixing trough wind only for PP mixing (for stability) +windmix_kv = 1.e-3 +windmix_nl = 2 +diff_sh_limit=5.0e-3 ! for KPP, max diff due to shear instability +Kv0_const=.true. +double_diffusion=.false. ! for KPP,dd switch +K_ver=1.0e-5 +K_hor=3000. +surf_relax_T=0.0 +surf_relax_S=1.929e-06 ! 50m/300days 6.43e-07! m/s 10./(180.*86400.) +balance_salt_water =.true. ! balance virtual-salt or freshwater flux or not +clim_relax=0.0 ! 1/s, geometrical information has to be supplied +ref_sss_local=.true. +ref_sss=34. +/ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ea3de457e..9ac8b4883 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -147,7 +147,7 @@ if(${OPENMP_REPRODUCIBLE}) target_compile_definitions(${PROJECT_NAME} PRIVATE __openmp_reproducible) endif() if(${RECOM_COUPLED}) - target_compile_definitions(${PROJECT_NAME} PRIVATE __recom USE_PRECISION=2)# __coccos __3Zoo2Det)# __usetp) + target_compile_definitions(${PROJECT_NAME} PRIVATE __recom USE_PRECISION=2 __3Zoo2Det)# __coccos)# __usetp) endif() if(${CISO_COUPLED}) target_compile_definitions(${PROJECT_NAME} PRIVATE __ciso) diff --git a/src/int_recom/recom_extra.F90 b/src/int_recom/recom_extra.F90 index 9e74da304..7cfbdd772 100644 --- a/src/int_recom/recom_extra.F90 +++ b/src/int_recom/recom_extra.F90 @@ -53,6 +53,7 @@ subroutine Depth_calculations(n,Nn,wF,zF,thick,recipthick, partit, mesh) wF(2:Nn,ivphy) = VPhy wF(2:Nn,ivdia) = VDia wF(2:Nn,ivdet) = VDet + wF(2:Nn,ivdetsc) = VDet_zoo2 wF(1,:) = 0.d0 wF(Nn+1,:) = 0.d0 @@ -147,4 +148,56 @@ subroutine Cobeta(partit, mesh) end do end subroutine Cobeta +!================================================================================ +! Calculating second zooplankton respiration rates +!================================================================================ + subroutine krill_resp(n, partit, mesh) + use REcoM_declarations + use REcoM_LocVar + use REcoM_GloVar + use g_clock + use o_PARAM +! use g_PARSUP + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + use g_comm_auto + implicit none + integer :: n + + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + ! Values from FESOM + + if (geo_coord_nod2D(2,n)<0.0_WP) then !SH + if ((daynew .le. 105)) then + res_zoo2_a = 0.d0 + else if((105 .le. daynew).and.(daynew .le. 150)) then + res_zoo2_a = (-1./90.)*daynew +7./6. + else if((150 .lt. daynew).and.(daynew .lt. 250)) then + res_zoo2_a = -0.5 + else if((250 .le. daynew).and.(daynew .le. 295)) then + res_zoo2_a = (1/90.)*daynew - 59./18. + else if((daynew .gt. 295)) then + res_zoo2_a = 0.d0 + end if + else + if ((daynew .le. 65)) then + res_zoo2_a = -0.5 + else if((285 .le. daynew).and.(daynew .le. 330)) then + res_zoo2_a = (-1./90.)*daynew +57./18. + else if((330 .lt. daynew)) then + res_zoo2_a = -0.5 + else if((65 .le. daynew).and.(daynew .le. 110)) then + res_zoo2_a = (1/90.)*daynew - 22./18. + else if((110 .lt. daynew).and.(daynew .lt. 285)) then + res_zoo2_a = 0.d0 + end if + endif + end subroutine krill_resp diff --git a/src/int_recom/recom_forcing.F90 b/src/int_recom/recom_forcing.F90 index d84708bc0..e73d9f7fe 100644 --- a/src/int_recom/recom_forcing.F90 +++ b/src/int_recom/recom_forcing.F90 @@ -62,7 +62,7 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal real(kind=8) :: Lond(1) ! longitude in degree real(kind=8) :: REcoM_T(1) ! temperature again, for mocsy minimum defined as -2 real(kind=8) :: REcoM_S(1) ! temperature again, for mocsy minimum defined as 21 - +! atm pressure, now read in as forcing!! !!---- atm pressure real(kind=8) :: Patm(1) ! atmospheric pressure [atm] @@ -92,7 +92,7 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal tiny_Si = tiny_C_d/SiCmax ! SiCmax = 0.8d0 - call Cobeta(partit, mesh) + call Cobeta(partit, mesh) call Depth_calculations(n, Nn,SinkVel,zF,thick,recipthick, partit, mesh) !! ----- mocsy -------! @@ -134,6 +134,7 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal call pistonvel(ULoc, Loc_ice_conc, Nmocsy, kw660) !! ----- check -------! + if((REcoM_DIC(1) > 10000.d0)) then ! NEW: added this entire print statement (if to endif) print*, 'NEW ERROR: DIC !' print*, 'pco2surf: ',pco2surf @@ -158,35 +159,35 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal stop endif - call flxco2(co2flux, co2ex, dpco2surf, & - ph, pco2surf, fco2, co2, hco3, co3, OmegaA, OmegaC, BetaD, rhoSW, p, tempis, & + call flxco2(co2flux, co2ex, dpco2surf, & + ph, pco2surf, fco2, co2, hco3, co3, OmegaA, OmegaC, BetaD, rhoSW, p, tempis, & REcoM_T, REcoM_S, REcoM_Alk, REcoM_DIC, REcoM_Si, REcoM_Phos, kw660, LocAtmCO2, Patm, thick(One), Nmocsy, Lond,Latd, & optCON='mol/m3',optT='Tpot ',optP='m ',optB='u74',optK1K2='l ',optKf='dg',optGAS='Pinsitu',optS='Sprc') ! changed optK1K2='l ' to 'm10' - if((co2flux(1)>1.e10) .or. (co2flux(1)<-1.e10)) then + if((co2flux(1)>1.e10) .or. (co2flux(1)<-1.e10)) then ! co2flux(1)=0.0 - print*, 'ERROR: co2 flux !' - print*, 'pco2surf: ',pco2surf - print*, 'co2: ',co2 - print*, 'rhoSW: ', rhoSW - print*, 'temp: ',REcoM_T - print*, 'tempis: ',tempis - print*, 'REcoM_S: ', REcoM_S - print*, 'REcoM_Alk: ', REcom_Alk - print*, 'REcoM_DIC: ', REcoM_DIC - print*, 'REcoM_Si: ', REcoM_Si - print*, 'REcoM_Phos: ', REcoM_Phos - print*, 'kw660: ',kw660 - print*, 'LocAtmCO2: ', LocAtmCO2 - print*, 'Patm: ', Patm - print*, 'thick(One): ',thick(One) - print*, 'Nmocsy: ', Nmocsy - print*, 'Lond: ', Lond - print*, 'Latd: ', Latd - print*, 'ULoc: ', ULoc - print*, 'Loc_ice_conc: ', Loc_ice_conc - stop + print*, 'ERROR: co2 flux !' + print*, 'pco2surf: ',pco2surf + print*, 'co2: ',co2 + print*, 'rhoSW: ', rhoSW + print*, 'temp: ',REcoM_T + print*, 'tempis: ',tempis + print*, 'REcoM_S: ', REcoM_S + print*, 'REcoM_Alk: ', REcom_Alk + print*, 'REcoM_DIC: ', REcoM_DIC + print*, 'REcoM_Si: ', REcoM_Si + print*, 'REcoM_Phos: ', REcoM_Phos + print*, 'kw660: ',kw660 + print*, 'LocAtmCO2: ', LocAtmCO2 + print*, 'Patm: ', Patm + print*, 'thick(One): ',thick(One) + print*, 'Nmocsy: ', Nmocsy + print*, 'Lond: ', Lond + print*, 'Latd: ', Latd + print*, 'ULoc: ', ULoc + print*, 'Loc_ice_conc: ', Loc_ice_conc + stop endif ! use ice-free area and also convert from mol/m2/s to mmol/m2/d @@ -204,7 +205,6 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal REcoM_O2 = max(tiny*1e-3,state(one,ioxy)*1e-3) ! convert from mmol/m3 to mol/m3 for mocsy call o2flux(REcoM_T, REcoM_S, kw660, ppo, REcoM_O2, Nmocsy, o2ex) - oflux = o2ex * 1.e3 *SecondsPerDay !* (1.d0 - Loc_ice_conc) [mmol/m2/d] o2flux_seaicemask = o2ex * 1.e3 ! back to mmol here [mmol/m2/s] @@ -228,6 +228,11 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal state(1:nn,idiac) = max(tiny_C_d,state(1:nn,idiac)) state(1:nn,idiasi) = max(tiny_Si, state(1:nn,idiasi)) +#if defined (__3Zoo2Det) + state(1:nn,imiczoon) = max(tiny,state(1:nn,imiczoon)) + state(1:nn,imiczooc) = max(tiny,state(1:nn,imiczooc)) +#endif + if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> ciso after REcoM_Forcing'//achar(27)//'[0m' !------------------------------------------------------------------------------- @@ -250,5 +255,4 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal locChldegd = sum(vertChldegd(1:nn) * thick(1:nn)) end if - end subroutine REcoM_Forcing diff --git a/src/int_recom/recom_init.F90 b/src/int_recom/recom_init.F90 index 97e2a4f83..eef3f6f15 100644 --- a/src/int_recom/recom_init.F90 +++ b/src/int_recom/recom_init.F90 @@ -138,13 +138,13 @@ subroutine recom_init(tracers, partit, mesh) wFluxDia = 0.d0 PAR3D = 0.d0 - pco2surf = 0.d0 - dflux = 0.d0 - oflux = 0.d0 - co2flux_seaicemask = 0.d0 - o2flux_seaicemask = 0.d0 - dpco2surf = 0.d0 - co2 = 0.d0 +! pco2surf = 0.d0 +! dflux = 0.d0 +! oflux = 0.d0 +! co2flux_seaicemask = 0.d0 +! o2flux_seaicemask = 0.d0 +! dpco2surf = 0.d0 +! co2 = 0.d0 if (Diags) then @@ -169,6 +169,8 @@ subroutine recom_init(tracers, partit, mesh) !! *** Allocate 3D diagnostics *** allocate(respmeso ( nl-1, node_size )) + allocate(respmacro ( nl-1, node_size )) + allocate(respmicro ( nl-1, node_size )) allocate(calcdiss ( nl-1, node_size )) allocate(calcif ( nl-1, node_size )) allocate(aggn ( nl-1, node_size )) @@ -181,6 +183,8 @@ subroutine recom_init(tracers, partit, mesh) allocate(NPPd3D ( nl-1, node_size )) respmeso = 0.d0 + respmacro = 0.d0 + respmicro = 0.d0 calcdiss = 0.d0 calcif = 0.d0 aggn = 0.d0 @@ -255,6 +259,32 @@ subroutine recom_init(tracers, partit, mesh) CASE (1021) tracers%data(i)%values(:,:) = tiny ! DetCalc +! *************** +! + 2.zoo + 2.det +! *************** +#if defined (__3Zoo2Det) + CASE (1023) + tracers%data(i)%values(:,:) = tiny ! Zoo2N + CASE (1024) + tracers%data(i)%values(:,:) = tiny * Redfield ! Zoo2C + CASE (1025) + tracers%data(i)%values(:,:) = tiny ! DetZ2N + CASE (1026) + tracers%data(i)%values(:,:) = tiny ! DetZ2C + CASE (1027) + tracers%data(i)%values(:,:) = tiny ! DetZ2Si + CASE (1028) + tracers%data(i)%values(:,:) = tiny ! DetZ2Calc + +! ******************* +! CASE 2phy 3zoo 2det +! ******************* + CASE (1029) + tracers%data(i)%values(:,:) = tiny ! Zoo3N + CASE (1030) + tracers%data(i)%values(:,:) = tiny * Redfield ! Zoo3C +#endif + END SELECT END DO !------------------------------------------ diff --git a/src/int_recom/recom_main.F90 b/src/int_recom/recom_main.F90 index 5003a18a5..6d71b88f8 100755 --- a/src/int_recom/recom_main.F90 +++ b/src/int_recom/recom_main.F90 @@ -164,8 +164,10 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) !!---- Allocate 3D diagnostics - allocate(vertrespmeso(nl-1)) + allocate(vertrespmeso(nl-1), vertrespmacro(nl-1), vertrespmicro(nl-1)) vertrespmeso = 0.d0 + vertrespmacro = 0.d0 + vertrespmicro = 0.d0 allocate(vertcalcdiss(nl-1), vertcalcif(nl-1)) vertcalcdiss = 0.d0 @@ -225,7 +227,9 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) Chldegd(n) = locChldegd !!---- Updating 3D diagnostics -! respmeso (1:nzmax,n) = vertrespmeso (1:nzmax) + respmeso (1:nzmax,n) = vertrespmeso (1:nzmax) + respmacro (1:nzmax,n) = vertrespmacro (1:nzmax) + respmicro (1:nzmax,n) = vertrespmicro (1:nzmax) calcdiss (1:nzmax,n) = vertcalcdiss (1:nzmax) calcif (1:nzmax,n) = vertcalcif (1:nzmax) aggn (1:nzmax,n) = vertaggn (1:nzmax) @@ -241,9 +245,9 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) deallocate(vertNPPn, vertGPPn, vertNNAn, vertChldegn) deallocate(vertNPPd, vertGPPd, vertNNAd, vertChldegd) - !!---- Deallocating 3D Diagnistics - deallocate(vertrespmeso ) - deallocate(vertcalcdiss, vertcalcif ) + !!---- Deallocating 3D Diagnostics + deallocate(vertrespmeso, vertrespmacro, vertrespmicro ) + deallocate(vertcalcdiss, vertcalcif ) deallocate(vertaggn, vertaggd ) deallocate(vertdocexn, vertdocexd ) deallocate(vertrespn, vertrespd ) diff --git a/src/int_recom/recom_modules.F90 b/src/int_recom/recom_modules.F90 index 1e7a3237b..7e41a9105 100644 --- a/src/int_recom/recom_modules.F90 +++ b/src/int_recom/recom_modules.F90 @@ -23,21 +23,33 @@ module recom_config ! ******************* ! CASE 2phy 1zoo 1det ! ******************* - Integer :: idin = 1, idic = 2, ialk = 3, iphyn = 4, iphyc = 5, & - ipchl = 6, idetn = 7, idetc = 8, ihetn = 9, & + Integer :: idin = 1, idic = 2, ialk = 3, iphyn = 4, iphyc = 5, & + ipchl = 6, idetn = 7, idetc = 8, ihetn = 9, & ihetc = 10, idon = 11, idoc = 12, idian = 13, & idiac = 14, idchl = 15, idiasi = 16, idetsi = 17, & isi = 18, ife = 19, iphycal = 20, idetcal = 21, & ioxy = 22 +! *************** +! + 2.zoo + 2.det +! *************** +#if defined (__3Zoo2Det) + Integer :: izoo2n = 23, izoo2c = 24, idetz2n = 25, & + idetz2c = 26, idetz2si = 27, idetz2calc = 28 +! ******************* +! CASE 2phy 3zoo 2det +! ******************* + Integer :: imiczoon = 29, imiczooc = 30 +#endif + Integer :: ivphy = 1, ivdia = 2, ivdet = 3, ivdetsc = 4 !!MB TEST: tracer ids for revised remineralization and sinking in oce_ale_tracer.F90 integer, dimension(8) :: recom_remin_tracer_id = (/1001, 1002, 1003, 1018, 1019, 1022, 1302, 1402/) - integer, dimension(29) :: recom_sinking_tracer_id = (/1007, 1008, 1017, 1021, 1004, 1005, 1020, 1006, & + integer, dimension(26) :: recom_sinking_tracer_id = (/1007, 1008, 1017, 1021, 1004, 1005, 1020, 1006, & !!!!! for coocos 29 1013, 1014, 1016, 1015, 1025, 1026, 1027, 1028, & - 1029, 1030, 1031, & +! 1029, 1030, 1031, & 1308, 1321, 1305, 1320, & 1314, 1408, 1421, 1405, 1420, 1414/) @@ -47,6 +59,10 @@ module recom_config integer, dimension(6) :: recom_dia_tracer_id = (/1013, 1014, 1314, 1414, 1016, 1015/) +#if defined (__3Zoo2Det) + integer, dimension(4) :: recom_det2_tracer_id = (/1025, 1026, 1027, 1028/) +#endif + Real(kind=8) :: zero = 0.d0 Integer :: one = 1 Real(kind=8) :: tiny = 2.23D-16 @@ -716,8 +732,8 @@ Module REcoM_GloVar Real(kind=8),allocatable,dimension(:) :: DenitBen ! Benthic denitrification Field in 2D [n2d 1] ! for using MEDUSA - Real(kind=8),allocatable,dimension(:,:) :: SinkFlx ! Diagnostics in 2D [4 n2d] or [6 n2d] with ciso - Real(kind=8),allocatable,dimension(:,:,:) :: SinkFlx_tr ! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel + Real(kind=8),allocatable,dimension(:,:) :: SinkFlx ! Diagnostics in 2D [4 n2d] or [6 n2d] with ciso + Real(kind=8),allocatable,dimension(:,:,:) :: SinkFlx_tr ! kh 25.03.22 buffer sums per tracer index to avoid non bit identical results regarding global sums when running the tracer loop in parallel Real(kind=8),allocatable,dimension(:,:) :: Sinkingvel1 ! Diagnostics for vertical sinking Real(kind=8),allocatable,dimension(:,:) :: Sinkingvel2 ! Diagnostics for vertical sinking Real(kind=8),allocatable,dimension(:,:,:) :: Sinkvel1_tr ! Sinking speed of particle class 1 OG 16.03.23 diff --git a/src/int_recom/recom_sinking.F90 b/src/int_recom/recom_sinking.F90 index b2212d02e..457db5b45 100644 --- a/src/int_recom/recom_sinking.F90 +++ b/src/int_recom/recom_sinking.F90 @@ -106,6 +106,18 @@ subroutine ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) Vben = Vdet_a * abs(zbar_3d_n(:,n)) + Vben end if +! Constant vertical sinking for the second detritus class +! ******************************************************* + +#if defined(__3Zoo2Det) + if(tracers%data(tr_num)%ID==1025 .or. & !idetz2n + tracers%data(tr_num)%ID==1026 .or. & !idetz2c + tracers%data(tr_num)%ID==1027 .or. & !idetz2si + tracers%data(tr_num)%ID==1028 ) then !idetz2calc + Vben = VDet_zoo2 + endif +#endif + Vben= Vben/SecondsPerDay ! conversion [m/d] --> [m/s] (vertical velocity, note that it is positive here) k=nod_in_elem2D_num(n) @@ -125,26 +137,30 @@ subroutine ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) ! Particulate Organic Nitrogen if( tracers%data(tr_num)%ID==1004 .or. & !iphyn tracers%data(tr_num)%ID==1007 .or. & !idetn - tracers%data(tr_num)%ID==1013 ) then !idian + tracers%data(tr_num)%ID==1013 .or. & !) then !idian + tracers%data(tr_num)%ID==1025 ) then !idetz2n Benthos(n,1)= Benthos(n,1) + add_benthos_2d(n) ![mmol] endif ! Particulate Organic Carbon if( tracers%data(tr_num)%ID==1005 .or. & !iphyc tracers%data(tr_num)%ID==1008 .or. & !idetc - tracers%data(tr_num)%ID==1014 ) then !idiac + tracers%data(tr_num)%ID==1014 .or. & !) then !idiac + tracers%data(tr_num)%ID==1026 ) then !idetz2c Benthos(n,2)= Benthos(n,2) + add_benthos_2d(n) endif ! Particulate Organic Silicon if( tracers%data(tr_num)%ID==1016 .or. & !idiasi - tracers%data(tr_num)%ID==1017 ) then !idetsi + tracers%data(tr_num)%ID==1017 .or. & !) then !idetsi + tracers%data(tr_num)%ID==1027 ) then !idetz2si Benthos(n,3)= Benthos(n,3) + add_benthos_2d(n) endif ! Cal if( tracers%data(tr_num)%ID==1020 .or. & !iphycal - tracers%data(tr_num)%ID==1021 ) then !idetcal + tracers%data(tr_num)%ID==1021 .or. & !) then !idetcal + tracers%data(tr_num)%ID==1028 ) then !idetz2cal Benthos(n,4)= Benthos(n,4) + add_benthos_2d(n) endif end do @@ -337,6 +353,15 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) tracers%data(tr_num)%ID==1015 ) then !idchl Vsink = VDia + +#if defined (__3Zoo2Det) + elseif(tracers%data(tr_num)%ID==1025 .or. & !idetz2n + tracers%data(tr_num)%ID==1026 .or. & !idetz2c + tracers%data(tr_num)%ID==1027 .or. & !idetz2si + tracers%data(tr_num)%ID==1028 ) then !idetz2calc + + Vsink = VDet_zoo2 +#endif end if if (Vsink .gt. 0.1) then ! No sinking if Vsink < 0.1 m/day @@ -356,13 +381,22 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) Wvel_flux(nzmin:nzmax+1)= 0.d0 ! Vertical velocity for BCG tracers do nz=nzmin,nzmax+1 - if (allow_var_sinking) then - Wvel_flux(nz) = -((Vdet_a * abs(zbar_3d_n(nz,n))/SecondsPerDay) + Vsink/SecondsPerDay) + Wvel_flux(nz) = -Vsink/SecondsPerDay ! allow_var_sinking = .false. - else ! allow_var_sinking = .false. - Wvel_flux(nz) = -Vsink/SecondsPerDay + if (allow_var_sinking) then + Wvel_flux(nz) = -((Vdet_a * abs(zbar_3d_n(nz,n))/SecondsPerDay) + Vsink/SecondsPerDay) end if + +#if defined (__3Zoo2Det) + ! We assume constant sinking for second detritus + if(tracers%data(tr_num)%ID ==1025 .or. & !idetz2n + tracers%data(tr_num)%ID ==1026 .or. & !idetz2c + tracers%data(tr_num)%ID ==1027 .or. & !idetz2si + tracers%data(tr_num)%ID ==1028 ) then !idetz2calc + Wvel_flux(nz) = -VDet_zoo2/SecondsPerDay ! --> VDet_zoo2 ! NEW BALL changed -Vsink to -VDet_zoo2 + endif ! second detritus tracers +#endif end do dt_sink = dt diff --git a/src/int_recom/recom_sms.F90 b/src/int_recom/recom_sms.F90 index 6828dbadc..fb6cefe08 100644 --- a/src/int_recom/recom_sms.F90 +++ b/src/int_recom/recom_sms.F90 @@ -90,6 +90,16 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & Fe, & PhyCalc, & DetCalc, & +#if defined (__3Zoo2Det) + Zoo2N, & + Zoo2C, & + DetZ2N, & + DetZ2C, & + DetZ2Si, & + DetZ2Calc,& + MicZooN, & ! 3Zoo + MicZooC, & ! 3Zoo +#endif FreeFe, & O2 @@ -148,6 +158,16 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & DetC = max(tiny,state(k,idetc) + sms(k,idetc )) HetN = max(tiny,state(k,ihetn) + sms(k,ihetn )) HetC = max(tiny,state(k,ihetc) + sms(k,ihetc )) +#if defined (__3Zoo2Det) + Zoo2N = max(tiny,state(k,izoo2n) + sms(k,izoo2n)) + Zoo2C = max(tiny,state(k,izoo2c) + sms(k,izoo2c)) + DetZ2N = max(tiny,state(k,idetz2n) + sms(k,idetz2n)) + DetZ2C = max(tiny,state(k,idetz2c) + sms(k,idetz2c)) + DetZ2Si = max(tiny,state(k,idetz2si) + sms(k,idetz2si)) + DetZ2Calc = max(tiny,state(k,idetz2calc) + sms(k,idetz2calc)) + MicZooN = max(tiny,state(k,imiczoon) + sms(k,imiczoon)) + MicZooC = max(tiny,state(k,imiczooc) + sms(k,imiczooc)) +#endif DON = max(tiny,state(k,idon) + sms(k,idon )) EOC = max(tiny,state(k,idoc) + sms(k,idoc )) DiaN = max(tiny_N_d,state(k,idian) + sms(k,idian )) @@ -184,6 +204,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & recipQZoo = HetC / HetN recip_hetN_plus = 1.d0 / (HetN + tiny_het) ! MB's addition for more stable zoo respiration if (Grazing_detritus) recipDet = DetC / DetN +#if defined (__3Zoo2Det) + recipQZoo2 = Zoo2C / Zoo2N + recipQZoo3 = MicZooC / MicZooN + if (Grazing_detritus) recipDet2 = DetZ2C / DetZ2N +#endif !------------------------------------------------------------------------------- !> Temperature dependence of rates @@ -199,6 +224,14 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & rTloc = real(one)/(Temp(k) + C2K) arrFunc = exp(-Ae * ( rTloc - rTref)) +#if defined (__3Zoo2Det) + arrFuncZoo2 = exp(t1_zoo2/t2_zoo2 - t1_zoo2*rTloc)/(1 + exp(t3_zoo2/t4_zoo2 - t3_zoo2*rTloc)) ! 2Zoo + q10_mes = 1.0242**(Temp(k)) ! 3Zoo + q10_mic = 1.04**(Temp(k)) ! 3Zoo + q10_mes_res = 1.0887**(Temp(k)) ! 3Zoo + q10_mic_res = 1.0897**(Temp(k)) ! 3Zoo +#endif + !< Silicate temperature dependence ! reminSiT = min(1.32e16 * exp(-11200.d0 * rTloc),reminSi) !! arrFunc control, reminSi=0.02d0 ! Kamatani (1982) ! reminSiT = reminSi @@ -244,6 +277,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & Sink_Vel = Vdet_a* abs(zF(k)) + Vdet calc_diss = calc_diss_rate * Sink_Vel/20.d0 ! Dissolution rate of CaCO3 scaled by the sinking velocity at the current depth +#if defined (__3Zoo2Det) +! calc_diss2 = calc_diss_rate2 ! Dissolution rate of CaCO3 scaled by the sinking velocity at the current depth seczoo + calc_diss2 = calc_diss_rate2* Sink_Vel/20.d0 +#endif calc_diss_ben = calc_diss_rate * Sink_Vel/20.d0 ! DISS added the variable calc_diss_ben to keep the calcite dissolution in the benthos with the old formulation !------------------------------------------------------------------------------- @@ -427,30 +464,57 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & if (REcoM_Grazing_Variable_Preference) then ! CHECK ONUR aux = pzPhy*PhyN + pzDia*DiaN if (Grazing_detritus) aux = aux + PzDet*DetN +#if defined (__3Zoo2Det) + if (Grazing_detritus) aux = aux + pzDetZ2*DetZ2N ! 2Det + aux = aux + pzMicZoo*MicZooN ! 3Zoo +#endif ! ****************************************************************************** varpzPhy = (pzPhy*PhyN)/aux varpzDia = (pzDia*DiaN)/aux if (Grazing_detritus) varpzDet = (pzDet*DetN)/aux +#if defined (__3Zoo2Det) + if (Grazing_detritus) varpzDetZ2 = (pzDetZ2*DetZ2N)/aux ! 2Det + varpzMicZoo = (pzMicZoo*MicZooN)/aux ! 3Zoo +#endif ! ****************************************************************************** fDiaN = varpzDia * DiaN fPhyN = varpzPhy * PhyN if (Grazing_detritus) fDetN = varpzDet * DetN +#if defined (__3Zoo2Det) + if (Grazing_detritus) fDetZ2N = varpzDetZ2 * DetZ2N ! 2Det + fMicZooN = varpzMicZoo * MicZooN ! 3Zoo +#endif else ! REcoM_Grazing_Variable_Preference = .false. fPhyN = pzPhy * PhyN fDiaN = pzDia * DiaN if (Grazing_detritus) fDetN = pzDet * DetN +#if defined (__3Zoo2Det) + if (Grazing_detritus) fDetZ2N = pzDetZ2 * DetZ2N ! 2Det + fMicZooN = pzMicZoo * MicZooN ! 3Zoo +#endif end if ! REcoM_Grazing_Variable_Preference !< *** Grazing fluxes *** !< ********************** food = fPhyN + fDiaN if (Grazing_detritus) food = food + fDetN +#if defined (__3Zoo2Det) + if (Grazing_detritus) food = food + fDetZ2N + food = food + fMicZooN ! 3Zoo +#endif ! ****************************************************************************** foodsq = food**2 grazingFlux = (Graz_max * foodsq)/(epsilonr + foodsq) * HetN * arrFunc +#if defined (__3Zoo2Det) + grazingFlux = (Graz_max * foodsq)/(epsilonr + foodsq) * HetN * q10_mes +#endif grazingFlux_phy = grazingFlux * fphyN / food grazingFlux_Dia = grazingFlux * fDiaN / food if (Grazing_detritus) grazingFlux_Det = grazingFlux * fDetN / food +#if defined (__3Zoo2Det) + if (Grazing_detritus) grazingFlux_DetZ2 = grazingFlux * fDetZ2N / food + grazingFlux_miczoo = grazingFlux * fMicZooN / food ! 3Zoo +#endif !< *** Grazing efficiency *** !< ************************** @@ -461,7 +525,112 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & if (Grazing_detritus) grazingFluxcarbon_mes = grazingFluxcarbon_mes & + (grazingFlux_Det * recipDet * grazEff) +#if defined (__3Zoo2Det) + if (Grazing_detritus) grazingFluxcarbon_mes = grazingFluxcarbon_mes & + + (grazingFlux_DetZ2 * recipDet2 * grazEff) + grazingFluxcarbon_mes = grazingFluxcarbon_mes & + + (grazingFlux_miczoo * recipQZoo3 * grazEff) ! 3Zoo +#endif + +!------------------------------------------------------------------------------- +! Second Zooplankton +!------------------------------------------------------------------------------- +!< Grazing on small phytoplankton, diatoms, coccolithophore (optional), +!< heterotrophs, slow- and fast-sinking detritus +#if defined (__3Zoo2Det) + if (REcoM_Grazing_Variable_Preference) then + aux = pzPhy2 * PhyN + PzDia2 * DiaN + pzHet * HetN + if (Grazing_detritus) aux = aux + pzDet2 * DetN + pzDetZ22 * DetZ2N + aux = aux + pzMicZoo2 * MicZooN ! 3Zoo +! ****************************************************************************** + varpzPhy2 = (pzPhy2 * PhyN)/aux + varpzDia2 = (pzDia2 * DiaN)/aux + varpzMicZoo2 = (pzMicZoo2 * MicZooN)/aux ! 3Zoo + + varpzHet = (pzHet * HetN)/aux + if (Grazing_detritus) then + varpzDet2 = (pzDet2 * DetN)/aux + varpzDetZ22 = (pzDetZ22 * DetZ2N)/aux + end if +! ****************************************************************************** + fDiaN2 = varpzDia2 * DiaN + fPhyN2 = varpzPhy2 * PhyN + fMicZooN2 = varpzMicZoo2 * MicZooN ! 3Zoo + fHetN = varpzHet * HetN + if (Grazing_detritus) then + fDetN2 = varpzDet2 * DetN + fDetZ2N2 = varpzDetZ22 * DetZ2N + end if + else ! REcoM_Grazing_Variable_Preference = .false. + + fDiaN2 = pzDia2 * DiaN + fPhyN2 = pzPhy2 * PhyN + fMicZooN2 = pzMicZoo2 * MicZooN ! 3Zoo + fHetN = pzHet * HetN + if (Grazing_detritus) then + fDetN2 = pzDet2 * DetN + fDetZ2N2 = pzDetZ22 * DetZ2N + end if + end if ! REcoM_Grazing_Variable_Preference + +!< *** Grazing fluxes *** +!< ********************** + food2 = fPhyN2 + fDiaN2 + fHetN + if (Grazing_detritus) food2 = food2 + fDetN2 + fDetZ2N2 + food2 = food2 + fMicZooN2 ! 3Zoo +! ****************************************************************************** + foodsq2 = food2**2 + grazingFlux2 = (Graz_max2 * foodsq2)/(epsilon2 + foodsq2) * Zoo2N * arrFuncZoo2 + + grazingFlux_phy2 = (grazingFlux2 * fphyN2)/food2 + grazingFlux_Dia2 = (grazingFlux2 * fDiaN2)/food2 + grazingFlux_miczoo2 = (grazingFlux2 * fMicZooN2)/food2 ! 3Zoo + + grazingFlux_het2 = (grazingFlux2 * fHetN)/food2 + if (Grazing_detritus) then + grazingFlux_Det2 = (grazingFlux2 * fDetN2)/food2 + grazingFlux_DetZ22 = (grazingFlux2 * fDetZ2N2)/food2 + end if + + grazingFluxcarbonzoo2 = (grazingFlux_phy2 * recipQuota * grazEff2) & + + (grazingFlux_Dia2 * recipQuota_Dia * grazEff2) & + + (grazingFlux_het2 * recipQZoo * grazEff2) + if (Grazing_detritus) then + grazingFluxcarbonzoo2 = grazingFluxcarbonzoo2 + & + + (grazingFlux_Det2 * recipDet * grazEff2) & + + (grazingFlux_DetZ22 * recipDet2 * grazEff2) + end if + grazingFluxcarbonzoo2 = grazingFluxcarbonzoo2 + & + + (grazingFlux_miczoo2 * recipQZoo3 * grazEff2) ! 3Zoo + +!------------------------------------------------------------------------------- +! Third Zooplankton (Microzooplankton) +!------------------------------------------------------------------------------- +!< Grazing on small phytoplankton, diatoms and coccolithophore (optional) + if (REcoM_Grazing_Variable_Preference) then + aux = pzPhy3 * PhyN + pzDia3 * DiaN +! ****************************************************************************** + varpzPhy3 = (pzPhy3 * PhyN)/aux + varpzDia3 = (pzDia3 * DiaN)/aux +! ****************************************************************************** + fPhyN3 = varpzPhy3 * PhyN + fDiaN3 = varpzDia3 * DiaN + else ! REcoM_Grazing_Variable_Preference = .false. + + fPhyN3 = pzPhy3 * PhyN + fDiaN3 = pzDia3 * DiaN + endif !REcoM_Grazing_Variable_Preference + +!< *** Grazing fluxes *** +!< ********************** + food3 = fPhyN3 + fDiaN3 +! ****************************************************************************** + foodsq3 = food3**2 + grazingFlux3 = (Graz_max3 * foodsq3)/(epsilon3 + foodsq3) * MicZooN * q10_mic + grazingFlux_phy3 = (grazingFlux3 * fphyN3)/food3 + grazingFlux_Dia3 = (grazingFlux3 * fDiaN3)/food3 +#endif !------------------------------------------------------------------------------- !< Heterotrophic respiration is assumed to drive zooplankton back to @@ -469,7 +638,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & !< res_het: Timescale for zooplankton respiration [day−1 ] if (het_resp_noredfield) then +#if defined (__3Zoo2Det) + HetRespFlux = res_het * q10_mes_res * HetC ! 3Zoo +#else HetRespFlux = res_het * arrFunc * HetC ! tau * f_T [HetC] +#endif else HetRespFlux = recip_res_het * arrFunc * (hetC * recip_hetN_plus - redfield) * HetC HetRespFlux = max(zero, HetRespFlux) !!!!!!!! CHECK Judith Valid for het_resp_noredfield case as well ???????? Then move it below @@ -481,6 +654,44 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & hetLossFlux = loss_het * HetN * HetN +#if defined (__3Zoo2Det) +!------------------------------------------------------------------------------- +!< Second zooplankton respiration + + call krill_resp(n, partit, mesh) + + if((grazingFluxcarbonzoo2/Zoo2C) <= 0.1)then + res_zoo2_f = 0.1*(grazingFluxcarbonzoo2/Zoo2C*100) + else + res_zoo2_f = 1. + end if + recip_res_zoo22 = res_zoo2*(1.+ res_zoo2_f + res_zoo2_a) + Zoo2RespFlux = recip_res_zoo22 * Zoo2C +!------------------------------------------------------------------------------- +!< Second zooplankton mortality (Quadratic) + + Zoo2LossFlux = loss_zoo2 * zoo2N * zoo2N + +!------------------------------------------------------------------------------- +!< Second zooplankton fecal pellets + + Zoo2fecalloss_n = fecal_rate_n * grazingFlux2 + Zoo2fecalloss_c = fecal_rate_c * grazingFluxcarbonzoo2 + +!------------------------------------------------------------------------------- +!< Mesozooplankton fecal pellets + + mesfecalloss_n = fecal_rate_n_mes * grazingFlux + mesfecalloss_c = fecal_rate_c_mes * grazingFluxcarbon_mes +!------------------------------------------------------------------------------- +! Third zooplankton, microzooplankton, respiration ! 3Zoo + + MicZooRespFlux = res_miczoo * q10_mic_res * MicZooC +!------------------------------------------------------------------------------- +! Third zooplankton, microzooplankton, mortality (Quadratic) ! 3Zoo + + MicZooLossFlux = loss_miczoo * MicZooN * MicZooN +#endif !------------------------------------------------------------------------------- ! Phytoplankton and detritus aggregation @@ -497,7 +708,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & endif aggregationrate = aggregationrate + agg_PD * DetN + agg_PP * PhyN - + +#if defined (__3Zoo2Det) + aggregationrate = aggregationrate + agg_PD * DetZ2N ! 2Det +#endif !------------------------------------------------------------------------------- ! Calcification !------------------------------------------------------------------------------- @@ -513,6 +727,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & !< *************************** aux = recipQuota/(PhyC + tiny) * PhyCalc calc_loss_gra = grazingFlux_phy * aux +#if defined (__3Zoo2Det) + calc_loss_gra2 = grazingFlux_phy2 * aux + calc_loss_gra3 = grazingFlux_phy3 * aux ! 3Zoo +#endif !------------------------------------------------------------------------------- ! Sources minus sinks (SMS) @@ -552,8 +770,17 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + phyRespRate_Dia * DiaC & ! --> Diatom respiration + rho_C1 * arrFunc * O2Func * EOC & ! --> Remineralization of DOC ! NEW O2remin + HetRespFlux & ! --> Mesozooplankton respiration +#if defined (__3Zoo2Det) + + Zoo2RespFlux & ! --> Macrozooplankton respiration + + MicZooRespFlux & ! --> Microzooplankton respiration +#endif + calc_diss * DetCalc & ! --> Calcite dissolution from slow-sinking detritus + calc_loss_gra * calc_diss_guts & ! --> Additional dissolution in mesozooplankton guts +#if defined (__3Zoo2Det) + + calc_loss_gra2 * calc_diss_guts & ! --> Additional dissolution in macrozooplankton guts + + calc_loss_gra3 * calc_diss_guts & ! --> Additional dissolution in microzooplankton guts + + calc_diss2 * DetZ2Calc & ! --> Calcite dissolution from fast-sinking detritus +#endif - calcification & ! --> Calcification ) * dt_b + sms(k,idic) @@ -586,6 +813,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - 1.0625 * rho_N * arrFunc * O2Func * DON & ! O2remin + 2.d0 * calc_diss * DetCalc & + 2.d0 * calc_loss_gra * calc_diss_guts & +#if defined (__3Zoo2Det) + + 2.d0 * calc_loss_gra2 * calc_diss_guts & + + 2.d0 * calc_loss_gra3 * calc_diss_guts & ! 3Zoo + + 2.d0 * calc_diss2 * DetZ2Calc & +#endif - 2.d0 * calcification & ) * dt_b + sms(k,ialk) !< *** Small Phytoplankton *** @@ -601,6 +833,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - lossN * limitFacN * PhyN & ! --> DON excretion - aggregationRate * PhyN & ! --> Aggregation loss - grazingFlux_phy & ! --> Grazing loss +#if defined (__3Zoo2Det) + - grazingFlux_phy2 & + - grazingFlux_phy3 & ! 3Zoo +#endif ) * dt_b + sms(k,iphyn) !____________________________________________________________ !< Small phytoplankton C @@ -616,6 +852,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - phyRespRate * PhyC & ! --> Respiration ----->/ - aggregationRate * PhyC & ! --> Aggregation loss - grazingFlux_phy * recipQuota & ! --> Grazing loss +#if defined (__3Zoo2Det) + - grazingFlux_phy2 * recipQuota & + - grazingFlux_phy3 * recipQuota & ! 3Zoo +#endif ) * dt_b + sms(k,iphyc) !____________________________________________________________ ! Phytoplankton ChlA @@ -628,6 +868,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - KOchl * PhyChl & ! --> Degradation loss - aggregationRate * PhyChl & ! --> Aggregation loss - grazingFlux_phy * Chl2N & ! --> Grazing loss +#if defined (__3Zoo2Det) + - grazingFlux_phy2 * Chl2N & + - grazingFlux_phy3 * Chl2N & ! 3Zoo +#endif ) * dt_b + sms(k,ipchl) !< *** Slow-sinking Detritus *** @@ -636,6 +880,20 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & !____________________________________________________________ ! Detritus N if (Grazing_detritus) then +#if defined (__3Zoo2Det) + sms(k,idetn) = ( & + + grazingFlux_phy3 & + - grazingFlux_phy3 * grazEff3 & + + grazingFlux_dia3 & + - grazingFlux_dia3 * grazEff3 & + - grazingFlux_Det * grazEff & + - grazingFlux_Det2 * grazEff2 & ! --> okay, grazing of second zoo on first detritus + + aggregationRate * PhyN & + + aggregationRate * DiaN & + + miczooLossFlux & + - reminN * arrFunc * O2Func * DetN & ! O2remin + ) * dt_b + sms(k,idetn) +#else sms(k,idetn) = ( & + grazingFlux_phy & - grazingFlux_phy * grazEff & @@ -648,7 +906,19 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + hetLossFlux & - reminN * arrFunc * O2Func * DetN & ! O2remin ) * dt_b + sms(k,idetn) +#endif else +#if defined (__3Zoo2Det) + sms(k,idetn) = ( & + + grazingFlux_phy3 & + + grazingFlux_dia3 & + - grazingFlux * grazEff3 & + + aggregationRate * PhyN & + + aggregationRate * DiaN & + + miczooLossFlux & + - reminN * arrFunc * O2Func * DetN & ! O2remin + ) * dt_b + sms(k,idetn) +#else sms(k,idetn) = ( & + grazingFlux_phy & + grazingFlux_dia & @@ -658,11 +928,26 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + hetLossFlux & - reminN * arrFunc * O2Func * DetN & ! O2remin ) * dt_b + sms(k,idetn) +#endif end if !____________________________________________________________ ! Detritus C if (Grazing_detritus) then +#if defined (__3Zoo2Det) + sms(k,idetc) = ( & + + grazingFlux_phy3 * recipQuota & + - grazingFlux_phy3 * recipQuota * grazEff3 & + + grazingFlux_Dia3 * recipQuota_Dia & + - grazingFlux_Dia3 * recipQuota_Dia * grazEff3 & + - grazingFlux_Det * recipDet * grazEff & + - grazingFlux_Det2 * recipDet2 * grazEff2 & + + aggregationRate * PhyC & + + aggregationRate * DiaC & + + miczooLossFlux * recipQZoo3 & + - reminC * arrFunc * O2Func * DetC & ! O2remin + ) * dt_b + sms(k,idetc) +#else sms(k,idetc) = ( & + grazingFlux_phy * recipQuota & - grazingFlux_phy * recipQuota * grazEff & @@ -675,7 +960,20 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + hetLossFlux * recipQZoo & - reminC * arrFunc * O2Func * DetC & ! O2remin ) * dt_b + sms(k,idetc) +#endif else +#if defined (__3Zoo2Det) + sms(k,idetc) = ( & + + grazingFlux_phy3 * recipQuota & + - grazingFlux_phy3 * recipQuota * grazEff3 & + + grazingFlux_Dia3 * recipQuota_Dia & + - grazingFlux_Dia3 * recipQuota_Dia * grazEff3 & + + aggregationRate * PhyC & + + aggregationRate * DiaC & + + miczooLossFlux * recipQZoo3 & + - reminC * arrFunc * O2Func * DetC & ! O2remin + ) * dt_b + sms(k,idetc) +#else sms(k,idetc) = ( & + grazingFlux_phy * recipQuota & - grazingFlux_phy * recipQuota * grazEff & @@ -686,6 +984,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + hetLossFlux * recipQZoo & - reminC * arrFunc * O2Func * DetC & ! O2remin ) * dt_b + sms(k,idetc) +#endif end if !< *** Mesozooplankton *** @@ -695,6 +994,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & !< Heterotrophic N sms(k,ihetn) = ( & + grazingFlux * grazEff & ! --> Grazing on phytoplankton -> okay, because of recipQuota +#if defined (__3Zoo2Det) + - grazingFlux_het2 & + - Mesfecalloss_n & ! 3Zoo +#endif - hetLossFlux & ! --> Mortality - lossN_z * HetN & ! --> Excretion of DON ) * dt_b + sms(k,ihetn) @@ -704,6 +1007,12 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,ihetc) = ( & + grazingFlux_phy * recipQuota * grazEff & ! --> Grazing on small phytoplankton + grazingFlux_Dia * recipQuota_Dia * grazEff & ! --> Grazing on diatom +#if defined (__3Zoo2Det) + + grazingFlux_miczoo * recipQZoo3 * grazEff & ! 3Zoo + + grazingFlux_DetZ2 * recipDet2 * grazEff & + - grazingFlux_het2 * recipQZoo & + - Mesfecalloss_c & ! 3Zoo +#endif + grazingFlux_Det * recipDet * grazEff & ! --> Grazing on detritus - hetLossFlux * recipQZoo & ! --> Mortality loss - lossC_z * HetC & ! --> Excretion loss @@ -713,12 +1022,201 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,ihetc) = ( & + grazingFlux_phy * recipQuota * grazEff & + grazingFlux_Dia * recipQuota_Dia * grazEff & +#if defined (__3Zoo2Det) + + grazingFlux_miczoo * recipQZoo3 * grazEff & ! 3Zoo + - grazingFlux_het2 * recipQZoo & + - Mesfecalloss_c & ! 3Zoo +#endif - hetLossFlux * recipQZoo & - lossC_z * HetC & - hetRespFlux & ) * dt_b + sms(k,ihetc) endif +!< *** Macrozooplankton *** +!< ************************ + +#if defined (__3Zoo2Det) +!____________________________________________________________ +!< Second Zooplankton N + sms(k,izoo2n) = ( & + + grazingFlux2 * grazEff2 & + - Zoo2LossFlux & + - lossN_z2 * Zoo2N & + - Zoo2fecalloss_n & + ) * dt_b + sms(k,izoo2n) + +!____________________________________________________________ +!< Second Zooplankton C + if (Grazing_detritus) then + + sms(k,izoo2c) = ( & + + grazingFlux_phy2 * recipQuota * grazEff2 & + + grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & + + grazingFlux_het2 * recipQZoo * grazEff2 & + + grazingFlux_miczoo2* recipQZoo3 * grazEff2 & ! 3Zoo + + grazingFlux_Det2 * recipDet * grazEff2 & + + grazingFlux_DetZ22 * recipDet2 * grazEff2 & + - zoo2LossFlux * recipQZoo2 & + - lossC_z2 * Zoo2C & + - Zoo2RespFlux & + - Zoo2fecalloss_c & + ) * dt_b + sms(k,izoo2c) + else + sms(k,izoo2c) = ( & + + grazingFlux_phy2 * recipQuota * grazEff2 & + + grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & + + grazingFlux_het2 * recipQZoo * grazEff2 & + + grazingFlux_miczoo2* recipQZoo3 * grazEff2 & ! 3Zoo + - zoo2LossFlux * recipQZoo2 & + - lossC_z2 * Zoo2C & + - Zoo2RespFlux & + - Zoo2fecalloss_c & + ) * dt_b + sms(k,izoo2c) + end if + +!< *** Microzooplankton *** +!< ************************ + +!____________________________________________________________ +!< Third Zooplankton N + sms(k,imiczoon) = ( & + + grazingFlux3 * grazEff3 & + - grazingFlux_miczoo & + - grazingFlux_miczoo2 & + - MicZooLossFlux & + - lossN_z3 * MicZooN & + ) * dt_b + sms(k,imiczoon) + +!____________________________________________________________ +!< Third Zooplankton C + sms(k,imiczooc) = ( & + + grazingFlux_phy3 * recipQuota * grazEff3 & + + grazingFlux_Dia3 * recipQuota_Dia * grazEff3 & + - MicZooLossFlux * recipQZoo3 & + - grazingFlux_miczoo * recipQZoo3 & + - grazingFlux_miczoo2 * recipQZoo3 & + - lossC_z3 * MicZooC & + - MicZooRespFlux & + ) * dt_b + sms(k,imiczooc) + +!< *** Fast-sinking Detritus *** +!< ***************************** + +!____________________________________________________________ +!< Second Zooplankton Detritus N + if (Grazing_detritus) then + sms(k,idetz2n) = ( & + + grazingFlux_phy2 & + - grazingFlux_phy2 * grazEff2 & + + grazingFlux_dia2 & + - grazingFlux_dia2 * grazEff2 & + + grazingFlux_het2 & + - grazingFlux_het2 * grazEff2 & + + grazingFlux_miczoo2 & + - grazingFlux_miczoo2 * grazEff2 & + + grazingFlux_phy & + - grazingFlux_phy * grazEff & + + grazingFlux_dia & + - grazingFlux_dia * grazEff & + + grazingFlux_miczoo & + - grazingFlux_miczoo * grazEff & + - grazingFlux_DetZ2 * grazEff & + - grazingFlux_DetZ22 * grazEff2 & + + Zoo2LossFlux & + + hetLossFlux & + + Zoo2fecalloss_n & + + Mesfecalloss_n & + - reminN * arrFunc * O2Func * DetZ2N & ! O2remin + ) * dt_b + sms(k,idetz2n) + else + sms(k,idetz2n) = ( & + + grazingFlux_phy2 & + + grazingFlux_dia2 & + + grazingFlux_het2 & + + grazingFlux_miczoo2 & + - grazingFlux2 * grazEff2 & + + grazingFlux_phy & + + grazingFlux_dia & + + grazingFlux_miczoo & + - grazingFlux * grazEff & + + Zoo2LossFlux & + + hetLossFlux & + + Zoo2fecalloss_n & + + Mesfecalloss_n & + - reminN * arrFunc * O2Func * DetZ2N & ! O2remin + ) * dt_b + sms(k,idetz2n) + end if + +!____________________________________________________________ +!< Second Zooplankton Detritus C + if (Grazing_detritus) then + sms(k,idetz2c) = ( & + + grazingFlux_phy2 * recipQuota & + - grazingFlux_phy2 * recipQuota * grazEff2 & + + grazingFlux_Dia2 * recipQuota_Dia & + - grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & + + grazingFlux_het2 * recipQZoo & + - grazingFlux_het2 * recipQZoo * grazEff2 & + + grazingFlux_miczoo2 * recipQZoo3 & + - grazingFlux_miczoo2 * recipQZoo3 * grazEff2 & + + grazingFlux_phy * recipQuota & + - grazingFlux_phy * recipQuota * grazEff & + + grazingFlux_Dia * recipQuota_Dia & + - grazingFlux_Dia * recipQuota_Dia * grazEff & + + grazingFlux_miczoo * recipQZoo3 & + - grazingFlux_miczoo * recipQZoo3 * grazEff & + - grazingFlux_DetZ2 * recipDet2 * grazEff & + - grazingFlux_DetZ22 * recipDet2 * grazEff2 & + + Zoo2LossFlux * recipQZoo2 & + + hetLossFlux * recipQZoo & + + Zoo2fecalloss_c & + + Mesfecalloss_c & + - reminC * arrFunc * O2Func * DetZ2C & ! O2remin + ) * dt_b + sms(k,idetz2c) + else + sms(k,idetz2c) = ( & + + grazingFlux_phy2 * recipQuota & + - grazingFlux_phy2 * recipQuota * grazEff2 & + + grazingFlux_Dia2 * recipQuota_Dia & + - grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & + + grazingFlux_het2 * recipQZoo & + - grazingFlux_het2 * recipQZoo * grazEff2 & + + grazingFlux_miczoo2 * recipQZoo3 & + - grazingFlux_miczoo2 * recipQZoo3 * grazEff2 & + + grazingFlux_phy * recipQuota & + - grazingFlux_phy * recipQuota * grazEff & + + grazingFlux_Dia * recipQuota_Dia & + - grazingFlux_Dia * recipQuota_Dia * grazEff & + + grazingFlux_miczoo * recipQZoo3 & + - grazingFlux_miczoo * recipQZoo3 * grazEff & + + Zoo2LossFlux * recipQZoo2 & + + hetLossFlux * recipQZoo & + + Zoo2fecalloss_c & + + Mesfecalloss_c & + - reminC * arrFunc * O2Func * DetZ2C & ! O2remin + ) * dt_b + sms(k,idetz2c) + end if + +!____________________________________________________________ +!< Second Zooplankton Detritus Si + sms(k,idetz2si) = ( & + + grazingFlux_dia2 * qSiN & ! --> qSin convert N to Si + + grazingFlux_dia * qSiN & + - reminSiT * DetZ2Si & + ) * dt_b + sms(k,idetz2si) + +!____________________________________________________________ +!< Second Zooplankton Detritus calcite + sms(k,idetz2calc) = ( & + + calc_loss_gra2 & + - calc_loss_gra2 * calc_diss_guts & + + calc_loss_gra & + - calc_loss_gra * calc_diss_guts & + - calc_diss2 * DetZ2Calc & + ) * dt_b + sms(k,idetz2calc) +#endif + !< *** DOM *** !< *********** @@ -730,6 +1228,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + lossN_d * limitFacN_Dia * DiaN & + reminN * arrFunc * O2Func * DetN & + lossN_z * HetN & +#if defined (__3Zoo2Det) + + reminN * arrFunc * O2Func * DetZ2N & + + lossN_z2 * Zoo2N & + + lossN_z3 * MicZooN & ! 3Zoo +#endif - rho_N * arrFunc * O2Func * DON & ! O2remin ) * dt_b + sms(k,idon) @@ -741,6 +1244,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + lossC_d * limitFacN_dia * DiaC & + reminC * arrFunc * O2Func * DetC & + lossC_z * HetC & +#if defined (__3Zoo2Det) + + reminC * arrFunc * O2Func * DetZ2C & + + lossC_z2 * Zoo2C & + + lossC_z3 * MicZooC & ! 3Zoo +#endif - rho_c1 * arrFunc * O2Func * EOC & ! O2remin ) * dt_b + sms(k,idoc) @@ -760,6 +1268,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - lossN_d * limitFacN_dia * DiaN & ! --> DON excretion - aggregationRate * DiaN & ! --> Aggregation loss - grazingFlux_Dia & ! --> Grazing loss +#if defined (__3Zoo2Det) + - grazingFlux_Dia2 & + - grazingFlux_Dia3 & ! 3Zoo +#endif ) * dt_b + sms(k,idian) !____________________________________________________________ @@ -776,6 +1288,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - phyRespRate_dia * DiaC & ! -- Respiration ----->/ - aggregationRate * DiaC & - grazingFlux_dia * recipQuota_dia & +#if defined (__3Zoo2Det) + - grazingFlux_dia2 * recipQuota_dia & + - grazingFlux_dia3 * recipQuota_dia & ! 3Zoo +#endif ) * dt_b + sms(k,idiac) !____________________________________________________________ @@ -786,6 +1302,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - KOchl_dia * DiaChl & ! --> Degradation loss - aggregationRate * DiaChl & ! --> Aggregation loss - grazingFlux_dia * Chl2N_dia & ! --> Grazing loss +#if defined (__3Zoo2Det) + - grazingFlux_dia2 * Chl2N_dia & + - grazingFlux_dia3 * Chl2N_dia & ! 3Zoo +#endif ) * dt_b + sms(k,idchl) !____________________________________________________________ @@ -801,6 +1321,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - lossN_d * limitFacN_dia * DiaSi & ! -- Excretion to detritus - aggregationRate * DiaSi & ! -- Aggregation loss - grazingFlux_dia * qSiN & ! -- Grazing loss +#if defined (__3Zoo2Det) + - grazingFlux_dia2 * qSiN & + - grazingFlux_dia3 * qSiN & ! 3Zoo +#endif ) * dt_b + sms(k,idiasi) !< *** Silicate *** @@ -808,12 +1332,21 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & !____________________________________________________________ !< Detritus Si +#if defined (__3Zoo2Det) + sms(k,idetsi) = ( & + + aggregationRate * DiaSi & + + lossN_d * limitFacN_dia * DiaSi & + + grazingFlux_dia3 * qSiN & + - reminSiT * DetSi & + ) * dt_b + sms(k,idetsi) +#else sms(k,idetsi) = ( & + aggregationRate * DiaSi & + lossN_d * limitFacN_dia * DiaSi & + grazingFlux_dia * qSiN & - reminSiT * DetSi & ) * dt_b + sms(k,idetsi) +#endif !____________________________________________________________ !< DSi, Silicate @@ -828,6 +1361,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,isi) = ( & - Si_assim * DiaC & ! --> Si assimilation of diatoms + reminSiT * DetSi & ! --> Remineralization of detritus, temperature dependent +#if defined (__3Zoo2Det) + + reminSiT * DetZ2Si & +#endif ) * dt_b + sms(k,isi) !< *** Iron *** !< ************ @@ -861,8 +1397,16 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + lossN_d * limitFacN_dia * DiaN & ! --> Excretion from diatom + reminN * arrFunc * O2Func * DetN & ! --> Remineralization of detritus ! NEW O2remin + lossN_z * HetN & ! --> Excretion from zooplankton +#if defined (__3Zoo2Det) + + reminN * arrFunc * O2Func * DetZ2N & ! O2remin + + lossN_z2 * Zoo2N & + + lossN_z3 * MicZooN & ! 3Zoo +#endif ) & - kScavFe * DetC * FreeFe & +#if defined (__3Zoo2Det) + - kScavFe * DetZ2C * FreeFe & +#endif ) * dt_b + sms(k,ife) !< *** Calcification *** @@ -876,10 +1420,24 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - phyRespRate * PhyCalc & ! --> Respiration - calc_loss_agg & ! --> Aggregation loss - calc_loss_gra & ! --> Grazing loss +#if defined (__3Zoo2Det) + - calc_loss_gra2 & + - calc_loss_gra3 & ! 3Zoo +#endif ) * dt_b + sms(k,iphycal) !____________________________________________________________ ! Detritus calcite +#if defined (__3Zoo2Det) + sms(k,idetcal) = ( & + + lossC * limitFacN * PhyCalc & + + phyRespRate * PhyCalc & + + calc_loss_agg & + + calc_loss_gra3 & + - calc_loss_gra3 * calc_diss_guts & + - calc_diss * DetCalc & + ) * dt_b + sms(k,idetcal) +#else sms(k,idetcal) = ( & + lossC * limitFacN * PhyCalc & + phyRespRate * PhyCalc & @@ -888,7 +1446,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - calc_loss_gra * calc_diss_guts & - calc_diss * DetCalc & ) * dt_b + sms(k,idetcal) - +#endif !____________________________________________________________ ! Oxygen @@ -899,6 +1457,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - phyRespRate_dia * diaC & - rho_C1 * arrFunc * O2Func * EOC & ! O2remin - hetRespFlux & +#if defined (__3Zoo2Det) + - Zoo2RespFlux & + - MicZooRespFlux & ! 3Zoo +#endif ) * redO2C * dt_b + sms(k,ioxy) ! !------------------------------------------------------------------------------- @@ -915,7 +1477,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & vertNPPd(k) = vertNPPd(k) + ( & + Cphot_dia * DiaC & - PhyRespRate_dia * DiaC & - ) * recipbiostep + ) * recipbiostep !*** Gross primary production [mmol C /(m3 * day)] vertGPPn(k) = vertGPPn(k) + ( & @@ -924,7 +1486,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & vertGPPd(k) = vertGPPd(k) + ( & + Cphot_dia * DiaC & - ) * recipbiostep + ) * recipbiostep !*** Net N-assimilation [mmol N/(m3 * day)] vertNNAn(k) = vertNNAn(k) + ( & @@ -935,7 +1497,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & vertNNAd(k) = vertNNAd(k) + ( & + N_assim_dia * DiaC & - lossN * limitFacN_dia * DiaN & - ) * recipbiostep + ) * recipbiostep !*** Changed to chlorophyll degradation (commented out gross N-assimilation below) vertChldegn(k) = vertChldegn(k) + ( & @@ -950,7 +1512,17 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & vertrespmeso(k) = vertrespmeso(k) + ( & + HetRespFlux & ) * recipbiostep +#if defined (__3Zoo2Det) +!*** zooplankton2 respiration + vertrespmacro(k) = vertrespmacro(k) + ( & + + Zoo2RespFlux & + ) * recipbiostep +!*** zooplankton3 respiration + vertrespmicro(k) = vertrespmicro(k) + ( & + + MicZooRespFlux & + ) * recipbiostep +#endif !*** calc_diss vertcalcdiss(k) = vertcalcdiss(k) + ( & + calc_diss * DetCalc & @@ -964,7 +1536,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & !*** aggregation by diatoms vertaggd(k) = vertaggd(k) + ( & + aggregationrate * DiaC & - ) * recipbiostep + ) * recipbiostep !*** excrection of DOC by phytoplankton vertdocexn(k) = vertdocexn(k) + ( & @@ -974,7 +1546,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & !*** excrection of DOC by diatoms vertdocexd(k) = vertdocexd(k) + ( & + lossC_d * limitFacN_dia * DiaC & - ) * recipbiostep + ) * recipbiostep !*** calcification vertcalcif(k) = vertcalcif(k) + ( & @@ -989,7 +1561,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & ! dia respiration vertrespd(k) = vertrespd(k) + ( & + PhyRespRate_dia * DiaC & - ) * recipbiostep + ) * recipbiostep endif end do ! Main vertikal loop ends diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index d2a08148e..eb7fec499 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -531,6 +531,16 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respmeso','Respiration rate of mesozooplankton', 'mmolC/m2/d', respmeso(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif +CASE ('respmacro ') + if (use_REcoM) then ! .and. three_zoo_two_det) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respmacro','Respiration rate of macrozooplankton', 'mmolC/(m2*d)', respmacro(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + +CASE ('respmicro ') + if (use_REcoM) then ! .and. three_zoo_two_det) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respmicro','Respiration rate of microzooplankton', 'mmolC/(m2*d)', respmicro(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + CASE ('calcdiss ') if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'calcdiss','Calcite dissolution', 'mmolC/m2/d', calcdiss(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) @@ -732,27 +742,29 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'idetz2calc', 'idetz2calc', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif - else if (tracers%data(j)%ID==1029) then - if (use_REcoM) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoN', 'CoccoN', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - endif +! else if (tracers%data(j)%ID==1029) then +! if (use_REcoM) then +! call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoN', 'CoccoN', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +! endif - else if (tracers%data(j)%ID==1030) then - if (use_REcoM) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoC', 'CoccoC', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - endif +! else if (tracers%data(j)%ID==1030) then +! if (use_REcoM) then +! call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoC', 'CoccoC', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +! endif - else if (tracers%data(j)%ID==1031) then - if (use_REcoM) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoChl', 'CoccoChl', '[mg/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - endif +! else if (tracers%data(j)%ID==1031) then +! if (use_REcoM) then +! call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoChl', 'CoccoChl', '[mg/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +! endif - else if (tracers%data(j)%ID==1032) then +! else if (tracers%data(j)%ID==1032) then + else if (tracers%data(j)%ID==1029) then if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo3N', 'Zoo3N', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif - else if (tracers%data(j)%ID==1033) then + else if (tracers%data(j)%ID==1030) then +! else if (tracers%data(j)%ID==1033) then if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo3C', 'Zoo3C', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index d5536904c..8f72be951 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -1375,18 +1375,13 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) bc_surface= dt*(virtual_salt(n) & !--> is zeros for zlevel/zstar + relax_salt(n) - real_salt_flux(n)*is_nonlinfs) #if defined(__recom) - CASE (1001) ! DIN bc_surface= dt*(AtmNInput(n) + RiverDIN2D(n) * is_riverinput & + ErosionTON2D(n) * is_erosioninput) - !bc_surface=0.0_WP - CASE (1002) ! DIC bc_surface= dt*(GloCO2flux_seaicemask(n) & + RiverDIC2D(n) * is_riverinput & + ErosionTOC2D(n) * is_erosioninput) - !bc_surface=0.0_WP - CASE (1003) ! Alk bc_surface= dt*(virtual_alk(n) + relax_alk(n) & + RiverAlk2D(n) * is_riverinput) @@ -1403,7 +1398,6 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) bc_surface=dt*(RiverDSi2D(n) * is_riverinput + ErosionTSi2D(n) * is_erosioninput) CASE (1019) ! Fe bc_surface= dt*AtmFeInput(n) - !bc_surface=0.0_WP CASE (1020:1021) ! Cal bc_surface=0.0_WP CASE (1022) ! OXY From 7148caa1bea719fc69df0eca03be0d4997bb0105 Mon Sep 17 00:00:00 2001 From: ogurses Date: Tue, 14 May 2024 11:31:41 +0200 Subject: [PATCH 148/273] feat(recom): FESOM2.5-REcoM version with 3p3z2d Add third phytoplankton (coccolithophores) and associated output variables Standard REcoM version with 3 phytoplankton (small pytoplankton, diatoms and coccolithophores), 3 zooplankton (micro-, meso- and macrozooplankton) and 2 detritus (slow- and fast-sinking) functional types. __coccos decides the background vertical sinking speed of intracellular calcite concentration (VCocco in case of __coccos otherwise VPhy) including depth dependency. The list of output files is extended with coccolithophores related variables. --- config/bin_3p3z2d/job_albedo | 66 +++++ config/bin_3p3z2d/namelist.config | 67 +++++ config/bin_3p3z2d/namelist.dyn | 24 ++ config/bin_3p3z2d/namelist.forcing | 60 ++++ config/bin_3p3z2d/namelist.ice | 31 +++ config/bin_3p3z2d/namelist.icepack | 146 ++++++++++ config/bin_3p3z2d/namelist.io | 89 ++++++ config/bin_3p3z2d/namelist.oce | 26 ++ config/bin_3p3z2d/namelist.recom | 355 ++++++++++++++++++++++++ config/bin_3p3z2d/namelist.tra | 90 ++++++ src/CMakeLists.txt | 2 +- src/int_recom/recom_extra.F90 | 1 + src/int_recom/recom_forcing.F90 | 16 ++ src/int_recom/recom_init.F90 | 54 +++- src/int_recom/recom_main.F90 | 39 ++- src/int_recom/recom_modules.F90 | 35 ++- src/int_recom/recom_sinking.F90 | 18 +- src/int_recom/recom_sms.F90 | 425 ++++++++++++++++++++++++++++- src/io_meandata.F90 | 77 ++++-- src/io_restart.F90 | 19 +- src/oce_ale_tracer.F90 | 1 + 21 files changed, 1602 insertions(+), 39 deletions(-) create mode 100755 config/bin_3p3z2d/job_albedo create mode 100644 config/bin_3p3z2d/namelist.config create mode 100644 config/bin_3p3z2d/namelist.dyn create mode 100644 config/bin_3p3z2d/namelist.forcing create mode 100644 config/bin_3p3z2d/namelist.ice create mode 100644 config/bin_3p3z2d/namelist.icepack create mode 100644 config/bin_3p3z2d/namelist.io create mode 100644 config/bin_3p3z2d/namelist.oce create mode 100644 config/bin_3p3z2d/namelist.recom create mode 100644 config/bin_3p3z2d/namelist.tra diff --git a/config/bin_3p3z2d/job_albedo b/config/bin_3p3z2d/job_albedo new file mode 100755 index 000000000..9eff795cb --- /dev/null +++ b/config/bin_3p3z2d/job_albedo @@ -0,0 +1,66 @@ +#!/bin/bash +#SBATCH --account=nwg_hauck.maresys # edit your account +#SBATCH --job-name=recom +#SBATCH --partition=mpp +#SBATCH --time=01:30:00 +####SBATCH --constraint="[rack1|rack3]" +#SBATCH --qos=12h +#SBATCH --nodes=9 # Number of tasks (MPI) tasks to be launched +#SBATCH --tasks-per-node 96 #8 #4 # using all 128CPus we exceed the maxload limit (>130) of many used nodes when us parallel I/O +#SBATCH --cpus-per-task 1 + +#SBATCH -o fesom2o.out +#SBATCH -e fesom2e.out + +# disable hyperthreading +#SBATCH --hint=nomultithread + +module purge +source ../env/albedo/shell +export OMP_NUM_THREADS=1 +ulimit -s unlimited + +# determine JOBID +JOBID=`echo $SLURM_JOB_ID |cut -d"." -f1` + +ln -s ../bin/fesom.x . # cp -n ../bin/fesom.x +cp -n ../config/namelist.config . +cp -n ../config/namelist.forcing . +cp -n ../config/namelist.oce . +cp -n ../config/namelist.dyn . +cp -n ../config/namelist.tra . +cp -n ../config/namelist.ice . +cp -n ../config/namelist.io . +cp -n ../config/namelist.icepack . + +#___DETERMINE SLURM JOBID+OUTPUTFILE____________________________________________ +jobid=$(echo $SLURM_JOB_ID | cut -d"." -f1) +fname="fesom2_${SLURM_JOB_NAME}_${jobid}.out" + +#___PUT JOB IN QUEUE____________________________________________________________ +date +####srun --mpi=pmi2 ./fesom.x >> ${fname} +srun --mpi=pmi2 ./fesom.x > fesom2.0.out +date + +#qstat -f $PBS_JOBID +#export EXITSTATUS=$? +#if [ ${EXITSTATUS} -eq 0 ] || [ ${EXITSTATUS} -eq 127 ] ; then +#sbatch job_ollie +#fi + +#Resultpath='/albedo/scratch/user/ogurses/ocean_only/' +Resultpath='/albedo/scratch/user/ogurses/fesom2.5_recom_st1_vsink_vben_diags_3Zoo2Det_coccos/' +test -d $Resultpath/fesom.2019.oce.restart && exit + +IsInFile=$( tail -3 fesom2.0.out | grep -c timesteps) +if (( IsInFile > 0 )); then +# submit next #job \ + echo "submitting next job" + cp fesom2.0.out fesom.out.done + sbatch job_albedo +else + echo "something is wrong, last line of fesom.out reads" + echo $( tail -1 fesom2.0.out) + echo "abnormal termination of job script" +fi diff --git a/config/bin_3p3z2d/namelist.config b/config/bin_3p3z2d/namelist.config new file mode 100644 index 000000000..9a048d633 --- /dev/null +++ b/config/bin_3p3z2d/namelist.config @@ -0,0 +1,67 @@ +! This is the namelist file for model general configuration + +&modelname +runid='fesom' +/ + +×tep +step_per_day=32 !96 !96 !72 !72 !45 !72 !96 +run_length=1 !62 !62 !62 !28 +run_length_unit='y' ! y, m, d, s +/ + +&clockinit ! the model starts at +timenew=0.0 +daynew=1 +yearnew=1958 +/ + +&paths +MeshPath='/albedo/work/projects/p_recompdaf/frbunsen/FESOM2/meshes/core2/' +ClimateDataPath='/albedo/work/projects/MarESys/ogurses/input/corrected_input/' +ResultPath='/albedo/scratch/user/ogurses/fesom2.5_recom_st1_vsink_vben_diags_3Zoo2Det_coccos/' +/ + +&restart_log +restart_length=1 ! --> do netcdf restart ( only required for d,h,s cases, y, m take 1) +restart_length_unit='y' !output period: y, d, h, s, off +raw_restart_length=1 ! --> do core dump restart +raw_restart_length_unit='off' ! e.g. y, d, h, s, off +bin_restart_length=1 ! --> do derived type binary restart +bin_restart_length_unit='off' ! e.g. y, d, h, s, off +logfile_outfreq=960 !in logfile info. output frequency, # steps +/ + +&ale_def +which_ALE='zstar' ! 'linfs','zlevel', 'zstar' +use_partial_cell=.true. +/ + +&geometry +cartesian=.false. +fplane=.false. +cyclic_length=360 ![degree] +rotated_grid=.true. !option only valid for coupled model case now +force_rotation=.true. +alphaEuler=50. ![degree] Euler angles, convention: +betaEuler=15. ![degree] first around z, then around new x, +gammaEuler=-90. ![degree] then around new z. +/ + +&calendar +include_fleapyear=.false. +/ + +&run_config +use_ice=.true. ! ocean+ice +use_cavity=.false. ! +use_cavity_partial_cell=.false. +use_floatice = .false. +use_sw_pene=.true. +flag_debug=.false. +/ + +&machine +n_levels=2 +n_part= 12, 36 ! 432 number of partitions on each hierarchy level +/ diff --git a/config/bin_3p3z2d/namelist.dyn b/config/bin_3p3z2d/namelist.dyn new file mode 100644 index 000000000..fb7919588 --- /dev/null +++ b/config/bin_3p3z2d/namelist.dyn @@ -0,0 +1,24 @@ +&dynamics_visc +visc_gamma0 = 0.003 ! [m/s], backgroung viscosity= gamma0*len, it should be as small a s possible (keep it < 0.01 m/s). +visc_gamma1 = 0.1 ! [nodim], for computation of the flow aware viscosity +visc_gamma2 = 0.285 ! [s/m], is only used in easy backscatter option +visc_easybsreturn= 1.5 + +opt_visc = 5 +! 5=Kinematic (easy) Backscatter +! 6=Biharmonic flow aware (viscosity depends on velocity Laplacian) +! 7=Biharmonic flow aware (viscosity depends on velocity differences) +! 8=Dynamic Backscatter + +use_ivertvisc= .true. +/ + +&dynamics_general +momadv_opt = 2 ! option for momentum advection in moment only =2 +use_freeslip = .false. ! Switch on free slip +use_wsplit = .false. ! Switch for implicite/explicte splitting of vert. velocity +wsplit_maxcfl= 1.0 ! maximum allowed CFL criteria in vertical (0.5 < w_max_cfl < 1.) + ! in older FESOM it used to be w_exp_max=1.e-3 +ldiag_KE=.false. ! activates energy diagnostics +/ + diff --git a/config/bin_3p3z2d/namelist.forcing b/config/bin_3p3z2d/namelist.forcing new file mode 100644 index 000000000..a17799393 --- /dev/null +++ b/config/bin_3p3z2d/namelist.forcing @@ -0,0 +1,60 @@ +! This is the namelist file for forcing + +&forcing_exchange_coeff +Ce_atm_oce=0.00175 ! exchange coeff. of latent heat over open water +Ch_atm_oce=0.00175 ! exchange coeff. of sensible heat over open water +Cd_atm_oce=0.001 ! drag coefficient between atmosphere and water +Ce_atm_ice=0.00175 ! exchange coeff. of latent heat over ice +Ch_atm_ice=0.00175 ! exchange coeff. of sensible heat over ice +Cd_atm_ice=0.0012 ! drag coefficient between atmosphere and ice +Swind =0.0 ! parameterization for coupled current feedback +/ + +&forcing_bulk +AOMIP_drag_coeff=.false. +ncar_bulk_formulae=.true. +ncar_bulk_z_wind=10.0 ! height at which wind forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m) +ncar_bulk_z_tair=10.0 ! height at which temp forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m) +ncar_bulk_z_shum=10.0 ! height at which humi forcing is located (CORE, JRA-do: 10m, JRA, NCEP:2m) + +/ + +&land_ice +use_landice_water=.false. +landice_start_mon=5 +landice_end_mon=10 +/ + +&nam_sbc + nm_xwind_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/uas.clim61' ! name of file with winds, if nm_sbc=2 + nm_ywind_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/vas.clim61' ! name of file with winds, if nm_sbc=2 + nm_humi_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/huss.clim61' ! name of file with humidity + nm_qsr_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/rsds.clim61' ! name of file with solar heat + nm_qlw_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/rlds.clim61' ! name of file with Long wave + nm_tair_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/tas.clim61' ! name of file with 2m air temperature + nm_prec_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/prra.clim61' ! name of file with total precipitation + nm_snow_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/prsn.clim61' ! name of file with snow precipitation + nm_mslp_file = '/albedo/work/projects/MarESys/FROM-OLLIE/forcing_JRA55-do-v1.4.0_clim61/psl.clim61' ! air_pressure_at_sea_level + nm_xwind_var = 'uas' ! name of variable in file with wind + nm_ywind_var = 'vas' ! name of variable in file with wind + nm_humi_var = 'huss' ! name of variable in file with humidity + nm_qsr_var = 'rsds' ! name of variable in file with solar heat + nm_qlw_var = 'rlds' ! name of variable in file with Long wave + nm_tair_var = 'tas' ! name of variable in file with 2m air temperature + nm_prec_var = 'prra' ! name of variable in file with total precipitation + nm_snow_var = 'prsn' ! name of variable in file with total precipitation + nm_mslp_var = 'psl' ! name of variable in file with air_pressure_at_sea_level + nm_nc_iyear = 1900 + nm_nc_imm = 1 ! initial month of time axis in netCDF + nm_nc_idd = 1 ! initial day of time axis in netCDF + nm_nc_freq = 1 ! data points per day (i.e. 86400 if the time axis is in seconds) + nm_nc_tmid = 0 ! 1 if the time stamps are given at the mid points of the netcdf file, 0 otherwise (i.e. 1 in CORE1, CORE2; 0 in JRA55) + y_perpetual=.true. + l_xwind=.true. l_ywind=.true. l_humi=.true. l_qsr=.true. l_qlw=.true. l_tair=.true. l_prec=.true. l_mslp=.true. l_cloud=.false. l_snow=.true. + nm_runoff_file ='/albedo/pool/FESOM/forcing/CORE2/runoff.nc' + runoff_data_source ='CORE2' !Dai09, CORE2 + !runoff_data_source ='Dai09' !Dai09, CORE2, JRA55 + !runoff_climatology =.true. + nm_sss_data_file ='/albedo/pool/FESOM/forcing/CORE2/PHC2_salx.nc' + sss_data_source ='CORE2' +/ diff --git a/config/bin_3p3z2d/namelist.ice b/config/bin_3p3z2d/namelist.ice new file mode 100644 index 000000000..bcd86f145 --- /dev/null +++ b/config/bin_3p3z2d/namelist.ice @@ -0,0 +1,31 @@ +! Ice namelist +&ice_dyn +whichEVP=0 ! 0=standart; 1=mEVP; 2=aEVP +Pstar=30000.0 ! [N/m^2] +ellipse=2.0 +c_pressure=20.0 ! ice concentration parameter used in ice strength computation +delta_min=1.0e-11 ! [s^(-1)] +evp_rheol_steps=120 ! number of EVP subcycles +alpha_evp=250 ! constant that control numerical stability of mEVP. Adjust with resolution. +beta_evp=250 ! constant that control numerical stability of mEVP. Adjust with resolution. +c_aevp=0.15 ! a tuning constant in aEVP. Adjust with resolution. +Cd_oce_ice=0.0055 ! drag coef. oce - ice +ice_gamma_fct=0.5 ! smoothing parameter +ice_diff=0.0 ! diffusion to stabilize +theta_io=0.0 ! rotation angle +ice_ave_steps=1 ! ice step=ice_ave_steps*oce_step +/ + +&ice_therm +Sice=4.0 ! Ice salinity 3.2--5.0 ppt. +h0=.5 ! Lead closing parameter [m] +emiss_ice=0.97 ! Emissivity of Snow/Ice, +emiss_wat=0.97 ! Emissivity of open water +albsn=0.81 ! Albedo: frozen snow +albsnm=0.77 ! melting snow +albi=0.7 ! frozen ice +albim=0.68 ! melting ice +albw=0.1 ! open water +con=2.1656 ! Thermal conductivities: ice; W/m/K +consn=0.31 ! snow +/ diff --git a/config/bin_3p3z2d/namelist.icepack b/config/bin_3p3z2d/namelist.icepack new file mode 100644 index 000000000..ed0dd4d4c --- /dev/null +++ b/config/bin_3p3z2d/namelist.icepack @@ -0,0 +1,146 @@ +&env_nml ! In the original release these variables are defined in the icepack.settings + nicecat = 5 ! number of ice thickness categories + nfsdcat = 1 ! number of floe size categories + nicelyr = 4 ! number of vertical layers in the ice + nsnwlyr = 4 ! number of vertical layers in the snow + ntraero = 0 ! number of aerosol tracers (up to max_aero in ice_domain_size.F90) + trzaero = 0 ! number of z aerosol tracers (up to max_aero = 6) + tralg = 0 ! number of algal tracers (up to max_algae = 3) + trdoc = 0 ! number of dissolve organic carbon (up to max_doc = 3) + trdic = 0 ! number of dissolve inorganic carbon (up to max_dic = 1) + trdon = 0 ! number of dissolve organic nitrogen (up to max_don = 1) + trfed = 0 ! number of dissolved iron tracers (up to max_fe = 2) + trfep = 0 ! number of particulate iron tracers (up to max_fe = 2) + nbgclyr = 0 ! number of zbgc layers + trbgcz = 0 ! set to 1 for zbgc tracers (needs TRBGCS = 0 and TRBRI = 1) + trzs = 0 ! set to 1 for zsalinity tracer (needs TRBRI = 1) + trbri = 0 ! set to 1 for brine height tracer + trage = 0 ! set to 1 for ice age tracer + trfy = 0 ! set to 1 for first-year ice area tracer + trlvl = 0 ! set to 1 for level and deformed ice tracers + trpnd = 0 ! set to 1 for melt pond tracers + trbgcs = 0 ! set to 1 for skeletal layer tracers (needs TRBGCZ = 0) + ndtd = 1 ! dynamic time steps per thermodynamic time step +/ + +&grid_nml + kcatbound = 1 +/ + +&tracer_nml + tr_iage = .false. + tr_FY = .false. + tr_lvl = .false. + tr_pond_cesm = .false. + tr_pond_topo = .false. + tr_pond_lvl = .false. + tr_aero = .false. + tr_fsd = .false. +/ + +&thermo_nml + kitd = 1 + ktherm = 1 + conduct = 'bubbly' + a_rapid_mode = 0.5e-3 + Rac_rapid_mode = 10.0 + aspect_rapid_mode = 1.0 + dSdt_slow_mode = -5.0e-8 + phi_c_slow_mode = 0.05 + phi_i_mushy = 0.85 + ksno = 0.3 +/ + +&shortwave_nml + shortwave = 'ccsm3' + albedo_type = 'ccsm3' + albicev = 0.78 + albicei = 0.36 + albsnowv = 0.98 + albsnowi = 0.70 + albocn = 0.1 + ahmax = 0.3 + R_ice = 0. + R_pnd = 0. + R_snw = 1.5 + dT_mlt = 1.5 + rsnw_mlt = 1500. + kalg = 0.6 +/ + +&ponds_nml + hp1 = 0.01 + hs0 = 0. + hs1 = 0.03 + dpscale = 1.e-3 + frzpnd = 'hlid' + rfracmin = 0.15 + rfracmax = 1. + pndaspect = 0.8 +/ + +&forcing_nml + formdrag = .false. + atmbndy = 'default' + calc_strair = .true. + calc_Tsfc = .true. + highfreq = .false. + natmiter = 5 + ustar_min = 0.0005 + emissivity = 0.95 + fbot_xfer_type = 'constant' + update_ocn_f = .false. + l_mpond_fresh = .false. + tfrz_option = 'linear_salt' + oceanmixed_ice = .true. + wave_spec_type = 'none' +/ + +&dynamics_nml + kstrength = 1 + krdg_partic = 1 + krdg_redist = 1 + mu_rdg = 3 + Cf = 17. + P_star = 27000. + C_star = 20. +/ + +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!! Icepack output namelist !!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +&nml_list_icepack +io_list_icepack = 'aicen ',1, 'm', 4, ! Sea ice concentration + 'vicen ',1, 'm', 4, ! Volume per unit area of ice + 'vsnon ',1, 'm', 4, ! Volume per unit area of snow + !'Tsfcn ',1, 'm', 4, ! Sea ice surf. temperature + !'iagen ',1, 'm', 4, ! Sea ice age + !'FYn ',1, 'm', 4, ! First year ice + !'lvln ',1, 'm', 4, ! Ridged sea ice area and volume + !'pond_cesmn',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_topon',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_lvln ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'brinen ',1, 'm', 4, ! Volume fraction of ice with dynamic salt + !'qicen ',1, 'm', 4, ! Sea ice enthalpy + !'sicen ',1, 'm', 4, ! Sea ice salinity + !'qsnon ',1, 'm', 4, ! Snow enthalpy + ! Average over thicknes classes + !'aice ',1, 'm', 4, ! Sea ice concentration + !'vice ',1, 'm', 4, ! Volume per unit area of ice + !'vsno ',1, 'm', 4, ! Volume per unit area of snow + !'Tsfc ',1, 'm', 4, ! Sea ice surf. temperature + !'iage ',1, 'm', 4, ! Sea ice age + !'FY ',1, 'm', 4, ! First year ice + !'lvl ',1, 'm', 4, ! Ridged sea ice area and volume + !'pond_cesm ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_topo ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'pond_lvl ',1, 'm', 4, ! Melt ponds area, volume and refrozen lid thickness + !'brine ',1, 'm', 4, ! Volume fraction of ice with dynamic salt + !'qice ',1, 'm', 4, ! Sea ice enthalpy + !'sice ',1, 'm', 4, ! Sea ice salinity + !'qsno ',1, 'm', 4, ! Snow enthalpy + ! Other variables + !'uvel ',1, 'm', 4, ! x-component of sea ice velocity + !'vvel ',1, 'm', 4, ! y-component of sea ice velocity +/ diff --git a/config/bin_3p3z2d/namelist.io b/config/bin_3p3z2d/namelist.io new file mode 100644 index 000000000..b1d4c18e6 --- /dev/null +++ b/config/bin_3p3z2d/namelist.io @@ -0,0 +1,89 @@ +&diag_list +ldiag_solver =.false. +lcurt_stress_surf=.false. +ldiag_curl_vel3 =.false. +ldiag_Ri =.false. +ldiag_turbflux =.false. +ldiag_salt3D =.false. +ldiag_dMOC =.false. +ldiag_DVD =.false. +ldiag_forc =.false. +ldiag_extflds =.false. +/ + +&nml_general +io_listsize =100 !number of streams to allocate. shallbe large or equal to the number of streams in &nml_list +vec_autorotate =.false. +/ + +! for sea ice related variables use_ice should be true, otherewise there will be no output +! for 'curl_surf' to work lcurt_stress_surf must be .true. otherwise no output +! for 'fer_C', 'bolus_u', 'bolus_v', 'bolus_w', 'fer_K' to work Fer_GM must be .true. otherwise no output +! 'otracers' - all other tracers if applicable +! for 'dMOC' to work ldiag_dMOC must be .true. otherwise no output +&nml_list +io_list = 'sst ',1, 'm', 4, + 'sss ',1, 'm', 4, + 'ssh ',1, 'm', 4, + 'uice ',1, 'm', 4, + 'vice ',1, 'm', 4, + 'a_ice ',1, 'm', 4, + 'm_ice ',1, 'm', 4, + 'm_snow ',1, 'm', 4, + 'MLD1 ',1, 'm', 4, + 'MLD2 ',1, 'm', 4, + 'MLD3 ',1, 'm', 4, + 'tx_sur ',1, 'm', 4, + 'ty_sur ',1, 'm', 4, + 'temp ',1, 'm', 4, + 'salt ',1, 'm', 8, + 'otracers ',1, 'm', 4, + 'N2 ',1, 'y', 4, + 'Kv ',1, 'y', 4, + 'u ',1, 'm', 4, + 'v ',1, 'm', 4, + 'unod ',1, 'm', 4, + 'vnod ',1, 'm', 4, + 'w ',1, 'm', 4, + 'Av ',1, 'y', 4, + 'bolus_u ',1, 'y', 4, + 'bolus_v ',1, 'y', 4, + 'bolus_w ',1, 'y', 4, + 'dpCO2s ',1, 'm', 4, + 'pCO2s ',1, 'm', 4, + 'CO2f ',1, 'm', 4, + 'Hp ',1, 'm', 4, + 'aFe ',1, 'm', 4, + 'aN ',1, 'm', 4, + 'benN ',1, 'm', 4, + 'benC ',1, 'm', 4, + 'benSi ',1, 'm', 4, + 'benCalc ',1, 'm', 4, + 'Chldegd ',1, 'm', 4, + 'Chldegn ',1, 'm', 4, + 'Chldegc ',1, 'm', 4, + 'NNAd ',1, 'm', 4, + 'NNAn ',1, 'm', 4, + 'NNAc ',1, 'm', 4, + 'GPPd ',1, 'm', 4, + 'GPPn ',1, 'm', 4, + 'GPPc ',1, 'm', 4, + 'NPPd ',1, 'm', 4, + 'NPPn ',1, 'm', 4, + 'NPPc ',1, 'm', 4, + 'PAR ',1, 'm', 4, + 'respmeso',1, 'm', 4, + 'respmacro',1, 'm', 4, + 'respmicro',1, 'm', 4, + 'calcdiss',1, 'm', 4, + 'calcif',1, 'm', 4, + 'aggn',1, 'm', 4, + 'aggd',1, 'm', 4, + 'aggc',1, 'm', 4, + 'docexn',1, 'm', 4, + 'docexd',1, 'm', 4, + 'docexc',1, 'm', 4, + 'respn',1, 'm', 4, + 'respd',1, 'm', 4, + 'respc',1, 'm', 4, +/ diff --git a/config/bin_3p3z2d/namelist.oce b/config/bin_3p3z2d/namelist.oce new file mode 100644 index 000000000..7af6867f7 --- /dev/null +++ b/config/bin_3p3z2d/namelist.oce @@ -0,0 +1,26 @@ +! The namelist file for the finite-volume ocean model + +&oce_dyn +C_d=0.0025 ! Bottom drag, nondimensional +A_ver= 1.e-4 ! Vertical viscosity, m^2/s +scale_area=5.8e9 ! Visc. and diffus. are for an element with scale_area +SPP=.false. ! Salt Plume Parameterization +Fer_GM=.true. ! to swith on/off GM after Ferrari et al. 2010 +K_GM_max = 2000.0 ! max. GM thickness diffusivity (m2/s) +K_GM_min = 2.0 ! max. GM thickness diffusivity (m2/s) +K_GM_bvref = 2 ! def of bvref in ferreira scaling 0=srf,1=bot mld,2=mean over mld,3=weighted mean over mld +K_GM_rampmax = -1.0 ! Resol >K_GM_rampmax[km] GM on +K_GM_rampmin = -1.0 ! Resol 8 if (ciso == .true.) otherwise -> 4 +use_MEDUSA = .false. ! Main switch for the sediment model MEDUSA +sedflx_num = 0 ! if 0: no file from MEDUSA is read but default sediment +bottflx_num = 4 ! if ciso&ciso_14: =8; if .not.ciso_14: =6; no ciso: =4 +use_atbox = .false. +add_loopback = .false. ! add loopback fluxes through rivers to the surface +lb_tscale = 1.0 ! /year: fraction of loopback fluxes yearly added to the surface +/ + +&pasinking +Vdet_a = 0.0288 ! [1/day] +Vcalc = 0.0144 ! [1/day] +/ + +&painitialization_N +cPhyN = 0.2d0 +cHetN = 0.2d0 +cZoo2N = 0.2d0 +/ + +&paArrhenius +recom_Tref = 288.15d0 ! [K] +C2K = 273.15d0 ! Conversion from degrees C to K +Ae = 4500.d0 ! [K] Slope of the linear part of the Arrhenius function +reminSi = 0.02d0 +k_o2_remin = 15.d0 ! NEW O2remin mmol m-3; Table 1 in Cram 2018 cites DeVries & Weber 2017 for a range of 0-30 mmol m-3 +/ + +&palimiter_function +NMinSlope = 50.d0 +SiMinSlope = 1000.d0 +NCmin = 0.04d0 !0.05d0 +NCmin_d = 0.04d0 !0.05d0 +NCmin_c = 0.04d0 ! NEW +SiCmin = 0.04d0 +k_Fe = 0.04d0 +k_Fe_d = 0.12d0 +k_Fe_c = 0.09d0 ! NEW +k_si = 4.d0 +P_cm = 3.0d0 ! [1/day] Rate of C-specific photosynthesis +P_cm_d = 3.5d0 +P_cm_c = 2.8d0 ! NEW +/ + +&palight_calculations +k_w = 0.04d0 ! [1/m] Light attenuation coefficient +a_chl = 0.03d0 ! [1/m * 1/(mg Chl)] Chlorophyll specific attenuation coefficients +/ + +&paphotosynthesis +alfa = 0.14d0 ! [(mmol C*m2)/(mg Chl*W*day)] +alfa_d = 0.19d0 ! An initial slope of the P-I curve +alfa_c = 0.10d0 ! NEW +parFrac = 0.43d0 +/ + +&paassimilation +V_cm_fact = 0.7d0 ! scaling factor for temperature dependent maximum of C-specific N-uptake +V_cm_fact_d = 0.7d0 +V_cm_fact_c = 0.7d0 ! NEW +NMaxSlope = 1000.d0 ! Max slope for limiting function +SiMaxSlope = 1000.d0 +NCmax = 0.2d0 ! [mmol N/mmol C] Maximum cell quota of nitrogen (N:C) +NCmax_d = 0.2d0 +NCmax_c = 0.15d0 ! NEW +SiCmax = 0.8d0 +NCuptakeRatio = 0.2d0 ! [mmol N/mmol C] Maximum uptake ratio of N:C +NCUptakeRatio_d = 0.2d0 +NCUptakeRatio_c = 0.2d0 ! NEW +SiCUptakeRatio = 0.2d0 +k_din = 0.55d0 ! [mmol N/m3] Half-saturation constant for nitrate uptake +k_din_d = 1.0d0 +k_din_c = 0.9d0 ! NEW +Chl2N_max = 3.15d0 ! [mg CHL/mmol N] Maximum CHL a : N ratio = 0.3 gCHL gN^-1 +Chl2N_max_d = 4.2d0 +Chl2N_max_c = 3.5d0 ! NEW +res_phy = 0.01d0 ! [1/day] Maintenance respiration rate constant +res_phy_d = 0.01d0 +res_phy_c = 0.01d0 ! NEW +biosynth = 2.33d0 ! [mmol C/mmol N] Cost of biosynthesis +biosynthSi = 0.d0 +/ + +&pairon_chem +totalligand = 1.d0 ! [mumol/m3] order 1. Total free ligand +ligandStabConst = 100.d0 ! [m3/mumol] order 100. Ligand-free iron stability constant +/ + +&pazooplankton +graz_max = 0.31d0 ! [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilonr = 0.09d0 ! [(mmol N)2 /m6] Half saturation constant for grazing loss +res_het = 0.028d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) +Redfield = 6.625 ! [mmol C/mmol N] Redfield ratio of C:N = 106:16 +loss_het = 0.04d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) +pzDia = 1.0d0 !0.5d0 ! Maximum diatom preference +sDiaNsq = 0.d0 +pzPhy = 0.5d0 !0.25d0 !1.0d0 ! Maximum nano-phytoplankton preference (NEW: 3/12) +sPhyNsq = 0.d0 +pzCocco = 0.666d0 ! NEW (8/12) +sCoccoNsq = 0.d0 ! NEW +pzMicZoo = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +sMicZooNsq = 0.d0 ! NEW 3Zoo +tiny_het = 1.d-5 ! for more stable computation of HetRespFlux (_plus). Value can be > tiny because HetRespFlux ~ hetC**2. +/ + +&pasecondzooplankton +graz_max2 = 0.1d0 ! [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilon2 = 0.0144d0 ! [(mmol N)2 /m6] Half saturation constant for grazing loss +res_zoo2 = 0.0107d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) +loss_zoo2 = 0.003d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) +fecal_rate_n = 0.104d0 ! [1/day] Temperature dependent N degradation of \ +fecal_rate_c = 0.236d0 +fecal_rate_n_mes = 0.25d0 ! NEW 3Zoo +fecal_rate_c_mes = 0.32d0 ! NEW 3Zoo +pzDia2 = 1.5d0 !1.d0 ! Maximum diatom preference +sDiaNsq2 = 0.d0 +pzPhy2 = 0.5d0 ! Maximum diatom preference +sPhyNsq2 = 0.d0 +pzCocco2 = 0.5d0 ! NEW +sCoccoNsq2 = 0.d0 ! NEW +pzHet = 1.5d0 !0.8d0 ! Maximum diatom preference +sHetNsq = 0.d0 +pzMicZoo2 = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +sMicZooNsq2 = 0.d0 +t1_zoo2 = 28145.d0 ! Krill temp. function constant1 +t2_zoo2 = 272.5d0 ! Krill temp. function constant2 +t3_zoo2 = 105234.d0 ! Krill temp. function constant3 +t4_zoo2 = 274.15d0 ! Krill temp. function constant3 +/ + +&pathirdzooplankton +graz_max3 = 0.46d0 ! NEW 3Zoo [mmol N/(m3 * day)] Maximum grazing loss parameter +epsilon3 = 0.64d0 ! NEW 3Zoo [(mmol N)2 /m6] Half saturation constant for grazing loss +loss_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Temperature dependent N degradation of extracellular organic N (EON) +res_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Respiration by heterotrophs and mortality (loss to detritus) +pzDia3 = 0.5d0 ! NEW 3Zoo Maximum diatom preference +sDiaNsq3 = 0.d0 ! NEW 3Zoo +pzPhy3 = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +sPhyNsq3 = 0.d0 ! NEW 3Zoo +pzCocco3 = 0.d0 ! NEW 3Zoo Maximum coccolithophore preference ! ATTENTION: This value needs to be tuned; I start with zero preference! +sCoccoNsq3 = 0.d0 ! NEW 3Zoo +/ + +&pagrazingdetritus +pzDet = 0.5d0 ! Maximum small detritus prefence by first zooplankton +sDetNsq = 0.d0 +pzDetZ2 = 0.5d0 ! Maximum large detritus preference by first zooplankton +sDetZ2Nsq = 0.d0 +pzDet2 = 0.5d0 ! Maximum small detritus prefence by second zooplankton +sDetNsq2 = 0.d0 +pzDetZ22 = 0.5d0 ! Maximum large detritus preference by second zooplankton +sDetZ2Nsq2 = 0.d0 +/ + +&paaggregation +agg_PD = 0.165d0 ! [m3/(mmol N * day)] Maximum aggregation loss parameter for DetN +agg_PP = 0.015d0 ! [m3/(mmol N * day)] Maximum aggregation loss parameter for PhyN and DiaN (plankton) +/ + +&padin_rho_N +rho_N = 0.11d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) (Remineralization of DON) +/ + +&padic_rho_C1 +rho_C1 = 0.1d0 ! [1/day] Temperature dependent C degradation of extracellular organic C (EOC) +/ + +&paphytoplankton_N +lossN = 0.05d0 ! [1/day] Phytoplankton loss of organic N compounds +lossN_d = 0.05d0 +lossN_c = 0.05d0 ! NEW +/ + +&paphytoplankton_C +lossC = 0.10d0 ! [1/day] Phytoplankton loss of carbon +lossC_d = 0.10d0 +lossC_c = 0.10d0 ! NEW +/ + +&paphytoplankton_ChlA +deg_Chl = 0.25d0 !0.2d0 !0.25d0 ! [1/day] +deg_Chl_d = 0.15d0 !0.2d0 !0.15d0 +deg_Chl_c = 0.2d0 ! NEW (has been 0.5) +/ + +&padetritus_N +gfin = 0.3d0 ! NEW 3Zoo [] Grazing efficiency (fraction of grazing flux into zooplankton pool) +grazEff2 = 0.8d0 ! [] Grazing efficiency (fraction of grazing flux into second zooplankton pool) +grazEff3 = 0.8d0 ! NEW 3Zoo [] Grazing efficiency (fraction of grazing flux into microzooplankton pool) +reminN = 0.165d0 ! [1/day] Temperature dependent remineralisation rate of detritus +/ + +&padetritus_C +reminC = 0.15d0 ! [1/day] Temperature dependent remineralisation rate of detritus +rho_c2 = 0.1d0 ! [1/day] Temperature dependent C degradation of TEP-C +/ + +&paheterotrophs +lossN_z = 0.1d0 +lossC_z = 0.1d0 +/ + +&paseczooloss +lossN_z2 = 0.02d0 +lossC_z2 = 0.02d0 +/ + +&pathirdzooloss +lossN_z3 = 0.05d0 ! NEW 3Zoo +lossC_z3 = 0.05d0 ! NEW 3Zoo +/ + +&paco2lim ! NEW +Cunits = 976.5625 ! Conversion factor between [mol/m3] (model) and [umol/kg] (function): (1000 * 1000) / 1024 +a_co2_phy = 1.162e+00 ! [dimensionless] +a_co2_dia = 1.040e+00 ! [dimensionless] +a_co2_cocco = 1.109e+00 ! [dimensionless] +a_co2_calc = 1.102e+00 ! [dimensionless] +b_co2_phy = 4.888e+01 ! [mol/kg] +b_co2_dia = 2.890e+01 ! [mol/kg] +b_co2_cocco = 3.767e+01 ! [mol/kg] +b_co2_calc = 4.238e+01 ! [mol/kg] +c_co2_phy = 2.255e-01 ! [kg/mol] +c_co2_dia = 8.778e-01 ! [kg/mol] +c_co2_cocco = 3.912e-01 ! [kg/mol] +c_co2_calc = 7.079e-01 ! [kg/mol] +d_co2_phy = 1.023e+07 ! [kg/mol] +d_co2_dia = 2.640e+06 ! [kg/mol] +d_co2_cocco = 9.450e+06 ! [kg/mol] +d_co2_calc = 1.343e+07 ! [kg/mol] +/ + +&pairon +Fe2N = 0.033d0 ! Fe2C * 6.625 +Fe2N_benthos = 0.15d0 ! test, default was 0.14 Fe2C_benthos * 6.625 - will have to be tuned. [umol/m2/day] +kScavFe = 0.07d0 +dust_sol = 0.02d0 ! Dissolution of Dust for bioavaliable +RiverFeConc = 100 +/ + +&pacalc +calc_prod_ratio = 0.02 +calc_diss_guts = 0.0d0 +calc_diss_rate = 0.005714 ! 20.d0/3500.d0 +calc_diss_rate2 = 0.005714d0 +calc_diss_omegac = 0.197d0 ! NEW DISS Value from Aumont et al. 2015, will be used with OmegaC_diss flag +calc_diss_exp = 1.d0 ! NEW DISS Exponent in the dissolution rate of calcite, will be used with OmegaC_diss flag +/ + +&pabenthos_decay_rate +decayRateBenN = 0.005d0 +decayRateBenC = 0.005d0 +decayRateBenSi = 0.005d0 +q_NC_Denit = 0.86d0 ! N:C quota of the denitrification process +/ + +&paco2_flux_param +permil = 0.000000976 ! 1.e-3/1024.5d0 ! Converting DIC from [mmol/m3] to [mol/kg] +permeg = 1.e-6 ! [atm/uatm] Changes units from uatm to atm +!X1 = exp(-5.d0*log(10.d0)) ! Lowest ph-value = 7.7 (phlo) +!X2 = exp(-9.d0*log(10.d0)) ! Highest ph-value = 9.5 (phhi) +Xacc = 1.e-12 ! Accuracy for ph-iteration (phacc) +CO2_for_spinup = 278.d0 ! [uatm] Atmospheric partial pressure of CO2 +/ + +&paalkalinity_restoring +surf_relax_Alk = 3.2e-07 !10.d0/31536000.d0 +/ + +&paballasting +rho_POC = 1033.d0 ! kg m-3; density of POC (see Table 1 in Cram et al., 2018) +rho_PON = 1033.d0 ! kg m-3; density of PON (see Table 1 in Cram et al., 2018) +rho_CaCO3 = 2830.d0 ! kg m-3; density of CaCO3 (see Table 1 in Cram et al., 2018) +rho_opal = 2090.d0 ! kg m-3; density of Opal (see Table 1 in Cram et al., 2018) +rho_ref_part = 1230.d0 ! kg m-3; reference particle density (see Cram et al., 2018) +rho_ref_water = 1027.d0 ! kg m-3; reference seawater density (see Cram et al., 2018) +visc_ref_water = 0.00158d0 ! kg m-1 s-1; reference seawater viscosity, at Temp=4 degC (see Cram et al., 2018) +w_ref1 = 10.d0 ! m s-1; reference sinking velocity of small detritus +w_ref2 = 200.d0 ! m s-1; reference sinking velocity of large detritus +depth_scaling1 = 0.015d0 ! s-1; factor to increase sinking speed of det1 with depth, set to 0 if not wanted +depth_scaling2 = 0.d0 ! s-1; factor to increase sinking speed of det2 with depth, set to 0 if not wanted +max_sinking_velocity = 250.d0 ! d-1; for numerical stability, set a maximum possible sinking velocity here (applies to both detritus classes) +/ + +&paciso +ciso_init = .false. ! initial fractionation of bulk organic matter +ciso_14 = .false. ! include inorganic radiocarbon +ciso_organic_14 = .false. ! include organic radiocarbon +lambda_14 = 3.8561e-12 ! corresponding to 1 year = 365.00 days +delta_CO2_13 = -6.61 ! atmospheric d13C (permil), global-mean value +big_delta_CO2_14(1) = 0. ! atmospheric D14C (permil), northern hemisphere polewards of 30°N +big_delta_CO2_14(2) = 0. ! atmospheric D14C (permil), (sub) tropical zone 30°N - 30°S +big_delta_CO2_14(3) = 0. ! atmospheric D14C (permil), southern hemisphere polewards of 30°S +atbox_spinup = .false. +cosmic_14_init = 2.0 +/ + diff --git a/config/bin_3p3z2d/namelist.tra b/config/bin_3p3z2d/namelist.tra new file mode 100644 index 000000000..33be191e7 --- /dev/null +++ b/config/bin_3p3z2d/namelist.tra @@ -0,0 +1,90 @@ +&tracer_listsize +num_tracers=100 !number of tracers to allocate. shallbe large or equal to the number of streams in &nml_list +/ + +&tracer_list +nml_tracer_list = +1 , 'MFCT', 'QR4C', 'FCT ', 1., 1., +2 , 'MFCT', 'QR4C', 'FCT ', 1., 1., +1001, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1002, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1003, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1004, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1005, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1006, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1007, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1008, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1009, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1010, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1011, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1012, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1013, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1014, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1015, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1016, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1017, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1018, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1019, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1020, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1021, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1022, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1023, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1024, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1025, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1026, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1027, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1028, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1029, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1030, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1031, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1032, 'MFCT', 'QR4C', 'FCT ', 1., 1., +1033, 'MFCT', 'QR4C', 'FCT ', 1., 1., +!101, 'UPW1', 'UPW1', 'NON ', 0., 0. +/ + +&tracer_init3d ! initial conditions for tracers +n_ic3d = 8 ! number of tracers to initialize +idlist = 1019, 1022, 1018, 1003, 1002, 1001, 2, 1 ! their IDs (0 is temperature, 1 is salinity, etc.). The reading order is defined here! +filelist = 'fe_pisces_opa_eq_init_3D_changed_name.nc', 'woa18_all_o00_01_mmol_fesom2.nc', 'woa13_all_i00_01_fesom2.nc', 'GLODAPv2.2016b.TAlk_fesom2_mmol_fix_z_Fillvalue.nc', 'GLODAPv2.2016b.TCO2_fesom2_mmol_fix_z_Fillvalue.nc', 'woa13_all_n00_01_fesom2.nc', 'phc3.0_winter.nc', 'phc3.0_winter.nc' ! list of files in ClimateDataPath to read (one file per tracer), same order as idlist +varlist = 'Fe', 'oxygen_mmol', 'i_an', 'TAlk_mmol', 'TCO2_mmol', 'n_an', 'salt', 'temp' ! variables to read from specified files +t_insitu = .true. ! if T is insitu it will be converted to potential after reading it +/ + +&tracer_init2d ! initial conditions for 2D tracers (sea ice) +n_ic2d = 3 ! number of tracers to initialize +idlist = 1, 2, 3 ! their IDs (0 is a_ice, 1 is m_ice, 3 m_snow). The reading order is defined here! +filelist = 'a_ice.nc', 'm_ice.nc', 'm_snow.nc' ! list of files in ClimateDataPath to read (one file per tracer), same order as idlist +varlist = 'a_ice', 'm_ice', 'm_snow' ! variables to read from specified files +ini_ice_from_file=.false. +/ + +&tracer_general +! bharmonic diffusion for tracers. We recommend to use this option in very high resolution runs (Redi is generally off there). +smooth_bh_tra =.false. ! use biharmonic diffusion (filter implementation) for tracers +gamma0_tra = 0.0005 ! gammaX_tra are analogous to those in the dynamical part +gamma1_tra = 0.0125 +gamma2_tra = 0. +i_vert_diff =.true. +/ + +&tracer_phys +use_momix = .true. ! switch on/off !Monin-Obukhov -> TB04 mixing +momix_lat = -50.0 ! latitidinal treshhold for TB04, =90 --> global +momix_kv = 0.01 ! PP/KPP, mixing coefficient within MO length +use_instabmix = .true. ! enhance convection in case of instable stratification +instabmix_kv = 0.1 +use_windmix = .false. ! enhance mixing trough wind only for PP mixing (for stability) +windmix_kv = 1.e-3 +windmix_nl = 2 +diff_sh_limit=5.0e-3 ! for KPP, max diff due to shear instability +Kv0_const=.true. +double_diffusion=.false. ! for KPP,dd switch +K_ver=1.0e-5 +K_hor=3000. +surf_relax_T=0.0 +surf_relax_S=1.929e-06 ! 50m/300days 6.43e-07! m/s 10./(180.*86400.) +balance_salt_water =.true. ! balance virtual-salt or freshwater flux or not +clim_relax=0.0 ! 1/s, geometrical information has to be supplied +ref_sss_local=.true. +ref_sss=34. +/ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9ac8b4883..7685bd08c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -147,7 +147,7 @@ if(${OPENMP_REPRODUCIBLE}) target_compile_definitions(${PROJECT_NAME} PRIVATE __openmp_reproducible) endif() if(${RECOM_COUPLED}) - target_compile_definitions(${PROJECT_NAME} PRIVATE __recom USE_PRECISION=2 __3Zoo2Det)# __coccos)# __usetp) + target_compile_definitions(${PROJECT_NAME} PRIVATE __recom USE_PRECISION=2 __3Zoo2Det __coccos)# __usetp) endif() if(${CISO_COUPLED}) target_compile_definitions(${PROJECT_NAME} PRIVATE __ciso) diff --git a/src/int_recom/recom_extra.F90 b/src/int_recom/recom_extra.F90 index 7cfbdd772..5495e0c8f 100644 --- a/src/int_recom/recom_extra.F90 +++ b/src/int_recom/recom_extra.F90 @@ -54,6 +54,7 @@ subroutine Depth_calculations(n,Nn,wF,zF,thick,recipthick, partit, mesh) wF(2:Nn,ivdia) = VDia wF(2:Nn,ivdet) = VDet wF(2:Nn,ivdetsc) = VDet_zoo2 + wF(2:Nn,ivcoc) = VCocco wF(1,:) = 0.d0 wF(Nn+1,:) = 0.d0 diff --git a/src/int_recom/recom_forcing.F90 b/src/int_recom/recom_forcing.F90 index e73d9f7fe..2acc254bc 100644 --- a/src/int_recom/recom_forcing.F90 +++ b/src/int_recom/recom_forcing.F90 @@ -92,6 +92,11 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal tiny_Si = tiny_C_d/SiCmax ! SiCmax = 0.8d0 +#if defined (__coccos) + tiny_N_c = tiny_chl/chl2N_max_c ! 0.00001/ 3.5d0 + tiny_C_c = tiny_N_c/NCmax_c ! NCmax_c = 0.15d0 +#endif + call Cobeta(partit, mesh) call Depth_calculations(n, Nn,SinkVel,zF,thick,recipthick, partit, mesh) @@ -228,6 +233,12 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal state(1:nn,idiac) = max(tiny_C_d,state(1:nn,idiac)) state(1:nn,idiasi) = max(tiny_Si, state(1:nn,idiasi)) +#if defined (__coccos) + state(1:nn,icchl) = max(tiny_chl,state(1:nn,icchl)) + state(1:nn,icocn) = max(tiny_N_c,state(1:nn,icocn)) + state(1:nn,icocc) = max(tiny_C_c,state(1:nn,icocc)) +#endif + #if defined (__3Zoo2Det) state(1:nn,imiczoon) = max(tiny,state(1:nn,imiczoon)) state(1:nn,imiczooc) = max(tiny,state(1:nn,imiczooc)) @@ -254,5 +265,10 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal locNNAd = sum(vertNNAd(1:nn) * thick(1:nn)) locChldegd = sum(vertChldegd(1:nn) * thick(1:nn)) + locNPPc = sum(vertNPPc(1:nn) * thick(1:nn)) + locGPPc = sum(vertGPPc(1:nn) * thick(1:nn)) + locNNAc = sum(vertNNAc(1:nn) * thick(1:nn)) + locChldegc = sum(vertChldegc(1:nn) * thick(1:nn)) + end if end subroutine REcoM_Forcing diff --git a/src/int_recom/recom_init.F90 b/src/int_recom/recom_init.F90 index eef3f6f15..f9ca528f3 100644 --- a/src/int_recom/recom_init.F90 +++ b/src/int_recom/recom_init.F90 @@ -151,21 +151,29 @@ subroutine recom_init(tracers, partit, mesh) !! *** Allocate 2D diagnostics *** allocate(NPPn ( node_size )) allocate(NPPd ( node_size )) + allocate(NPPc ( node_size )) allocate(GPPn ( node_size )) allocate(GPPd ( node_size )) + allocate(GPPc ( node_size )) allocate(NNAn ( node_size )) allocate(NNAd ( node_size )) + allocate(NNAc ( node_size )) allocate(Chldegn ( node_size )) allocate(Chldegd ( node_size )) + allocate(Chldegc ( node_size )) NPPn = 0.d0 NPPd = 0.d0 + NPPc = 0.d0 GPPn = 0.d0 GPPd = 0.d0 + GPPc = 0.d0 NNAn = 0.d0 NNAd = 0.d0 + NNAc = 0.d0 Chldegn = 0.d0 Chldegd = 0.d0 + Chldegc = 0.d0 !! *** Allocate 3D diagnostics *** allocate(respmeso ( nl-1, node_size )) @@ -175,12 +183,16 @@ subroutine recom_init(tracers, partit, mesh) allocate(calcif ( nl-1, node_size )) allocate(aggn ( nl-1, node_size )) allocate(aggd ( nl-1, node_size )) + allocate(aggc ( nl-1, node_size )) allocate(docexn ( nl-1, node_size )) allocate(docexd ( nl-1, node_size )) + allocate(docexc ( nl-1, node_size )) allocate(respn ( nl-1, node_size )) allocate(respd ( nl-1, node_size )) + allocate(respc ( nl-1, node_size )) allocate(NPPn3D ( nl-1, node_size )) allocate(NPPd3D ( nl-1, node_size )) + allocate(NPPc3D ( nl-1, node_size )) respmeso = 0.d0 respmacro = 0.d0 @@ -189,12 +201,16 @@ subroutine recom_init(tracers, partit, mesh) calcif = 0.d0 aggn = 0.d0 aggd = 0.d0 + aggc = 0.d0 docexn = 0.d0 docexd = 0.d0 + docexc = 0.d0 respn = 0.d0 respd = 0.d0 + respc = 0.d0 NPPn3D = 0.d0 NPPd3D = 0.d0 + NPPc3D = 0.d0 end if DO i=num_tracers-bgc_num+1, num_tracers @@ -259,9 +275,9 @@ subroutine recom_init(tracers, partit, mesh) CASE (1021) tracers%data(i)%values(:,:) = tiny ! DetCalc -! *************** -! + 2.zoo + 2.det -! *************** +! ******************* +! CASE 2phy 2zoo 2det +! ******************* #if defined (__3Zoo2Det) CASE (1023) tracers%data(i)%values(:,:) = tiny ! Zoo2N @@ -275,7 +291,39 @@ subroutine recom_init(tracers, partit, mesh) tracers%data(i)%values(:,:) = tiny ! DetZ2Si CASE (1028) tracers%data(i)%values(:,:) = tiny ! DetZ2Calc +#endif + +! ******************* +! CASE 3phy 2zoo 2det +! ******************* +#if defined (__coccos) & defined (__3Zoo2Det) + CASE (1029) + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max ! CoccoN + CASE (1030) + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max/NCmax ! CoccoC + CASE (1031) + tracers%data(i)%values(:,:) = tiny_chl ! CoccoChl +! ******************* +! CASE 3phy 1zoo 1det +! ******************* +#elif defined (__coccos) & !defined (__3Zoo2Det) + CASE (1023) + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max ! CoccoN + CASE (1024) + tracers%data(i)%values(:,:) = tiny_chl/chl2N_max/NCmax ! CoccoC + CASE (1025) + tracers%data(i)%values(:,:) = tiny_chl ! CoccoChl +#endif +! ******************* +! CASE 3phy 3zoo 2det +! ******************* +#if defined (__coccos) & defined (__3Zoo2Det) + CASE (1032) + tracers%data(i)%values(:,:) = tiny ! Zoo3N + CASE (1033) + tracers%data(i)%values(:,:) = tiny * Redfield ! Zoo3C +#elif !defined (__coccos) & defined (__3Zoo2Det) ! ******************* ! CASE 2phy 3zoo 2det ! ******************* diff --git a/src/int_recom/recom_main.F90 b/src/int_recom/recom_main.F90 index 6d71b88f8..27327221a 100755 --- a/src/int_recom/recom_main.F90 +++ b/src/int_recom/recom_main.F90 @@ -173,17 +173,20 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) vertcalcdiss = 0.d0 vertcalcif = 0.d0 - allocate(vertaggn(nl-1), vertaggd(nl-1)) + allocate(vertaggn(nl-1), vertaggd(nl-1), vertaggc(nl-1)) vertaggn = 0.d0 vertaggd = 0.d0 + vertaggc = 0.d0 - allocate(vertdocexn(nl-1), vertdocexd(nl-1)) + allocate(vertdocexn(nl-1), vertdocexd(nl-1), vertdocexc(nl-1)) vertdocexn = 0.d0 vertdocexd = 0.d0 + vertdocexc = 0.d0 - allocate(vertrespn(nl-1), vertrespd(nl-1)) + allocate(vertrespn(nl-1), vertrespd(nl-1), vertrespc(nl-1)) vertrespn = 0.d0 vertrespd = 0.d0 + vertrespc = 0.d0 !!---- Allocate 2D diagnostics allocate(vertNPPn(nl-1), vertGPPn(nl-1), vertNNAn(nl-1), vertChldegn(nl-1)) @@ -197,6 +200,12 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) vertGPPd = 0.d0 vertNNAd = 0.d0 vertChldegd = 0.d0 + + allocate(vertNPPc(nl-1), vertGPPc(nl-1), vertNNAc(nl-1), vertChldegc(nl-1)) + vertNPPc = 0.d0 + vertGPPc = 0.d0 + vertNNAc = 0.d0 + vertChldegc = 0.d0 end if if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> REcoM_Forcing'//achar(27)//'[0m' @@ -219,12 +228,16 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) !!---- Updating 2D diagnostics NPPn(n) = locNPPn NPPd(n) = locNPPd + NPPc(n) = locNPPc GPPn(n) = locGPPn GPPd(n) = locGPPd + GPPc(n) = locGPPc NNAn(n) = locNNAn NNAd(n) = locNNAd + NNAc(n) = locNNAc Chldegn(n) = locChldegn Chldegd(n) = locChldegd + Chldegc(n) = locChldegc !!---- Updating 3D diagnostics respmeso (1:nzmax,n) = vertrespmeso (1:nzmax) @@ -234,24 +247,28 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) calcif (1:nzmax,n) = vertcalcif (1:nzmax) aggn (1:nzmax,n) = vertaggn (1:nzmax) aggd (1:nzmax,n) = vertaggd (1:nzmax) + aggc (1:nzmax,n) = vertaggc (1:nzmax) docexn (1:nzmax,n) = vertdocexn (1:nzmax) docexd (1:nzmax,n) = vertdocexd (1:nzmax) + docexc (1:nzmax,n) = vertdocexc (1:nzmax) respn (1:nzmax,n) = vertrespn (1:nzmax) respd (1:nzmax,n) = vertrespd (1:nzmax) + respc (1:nzmax,n) = vertrespc (1:nzmax) NPPn3D (1:nzmax,n) = vertNPPn (1:nzmax) NPPd3D (1:nzmax,n) = vertNPPd (1:nzmax) + NPPc3D (1:nzmax,n) = vertNPPc (1:nzmax) if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> ciso after REcoM_Forcing'//achar(27)//'[0m' !!---- Deallocating 2D diagnostics deallocate(vertNPPn, vertGPPn, vertNNAn, vertChldegn) deallocate(vertNPPd, vertGPPd, vertNNAd, vertChldegd) + deallocate(vertNPPc, vertGPPc, vertNNAc, vertChldegc) !!---- Deallocating 3D Diagnostics deallocate(vertrespmeso, vertrespmacro, vertrespmicro ) deallocate(vertcalcdiss, vertcalcif ) - deallocate(vertaggn, vertaggd ) - deallocate(vertdocexn, vertdocexd ) - deallocate(vertrespn, vertrespd ) - end if + deallocate(vertaggn, vertaggd, vertaggc ) + deallocate(vertdocexn, vertdocexd, vertdocexc ) + deallocate(vertrespn, vertrespd, vertrespc ) AtmFeInput(n) = FeDust AtmNInput(n) = NDust @@ -262,7 +279,7 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) GloCO2flux_seaicemask(n) = co2flux_seaicemask(1) ! [mmol/m2/s] GloO2flux_seaicemask(n) = o2flux_seaicemask(1) ! [mmol/m2/s] GloO2flux(n) = oflux(1) ! [mmol/m2/d] - + end if end do ! ====================================================================================== @@ -291,10 +308,12 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) call exchange_nod(NNAd, partit) call exchange_nod(Chldegn, partit) call exchange_nod(Chldegd, partit) + call exchange_nod(NPPc, partit) + call exchange_nod(GPPc, partit) + call exchange_nod(NNAc, partit) + call exchange_nod(Chldegc, partit) endif - - do n=1, benthos_num !4 call exchange_nod(GlodecayBenthos(:,n), partit) end do diff --git a/src/int_recom/recom_modules.F90 b/src/int_recom/recom_modules.F90 index 7e41a9105..6e5cd14a5 100644 --- a/src/int_recom/recom_modules.F90 +++ b/src/int_recom/recom_modules.F90 @@ -30,19 +30,39 @@ module recom_config isi = 18, ife = 19, iphycal = 20, idetcal = 21, & ioxy = 22 -! *************** -! + 2.zoo + 2.det -! *************** +! ******************* +! CASE 2phy 2zoo 2det +! ******************* #if defined (__3Zoo2Det) Integer :: izoo2n = 23, izoo2c = 24, idetz2n = 25, & idetz2c = 26, idetz2si = 27, idetz2calc = 28 +#endif + +#if defined (__coccos) & defined (__3Zoo2Det) +! ******************* +! CASE 3phy 2zoo 2det +! ******************* + Integer :: icocn = 29, icocc = 30, icchl = 31 +#elif defined (__coccos) & !defined (__3Zoo2Det) +! ******************* +! CASE 3phy 1zoo 1det +! ******************* + Integer :: icocn = 23, icocc = 24, icchl = 25 +#endif + +#if defined (__coccos) & defined (__3Zoo2Det) +! ******************* +! CASE 3phy 3zoo 2det +! ******************* + Integer :: imiczoon = 32, imiczooc = 33 +#elif !defined (__coccos) & defined (__3Zoo2Det) ! ******************* ! CASE 2phy 3zoo 2det ! ******************* Integer :: imiczoon = 29, imiczooc = 30 #endif - Integer :: ivphy = 1, ivdia = 2, ivdet = 3, ivdetsc = 4 + Integer :: ivphy = 1, ivdia = 2, ivdet = 3, ivdetsc = 4, ivcoc = 5 !!MB TEST: tracer ids for revised remineralization and sinking in oce_ale_tracer.F90 integer, dimension(8) :: recom_remin_tracer_id = (/1001, 1002, 1003, 1018, 1019, 1022, 1302, 1402/) @@ -59,6 +79,13 @@ module recom_config integer, dimension(6) :: recom_dia_tracer_id = (/1013, 1014, 1314, 1414, 1016, 1015/) + +#if defined (__coccos) & defined (__3Zoo2Det) + integer, dimension(3) :: recom_cocco_tracer_id = (/1029, 1030, 1031/) +#elif defined (__coccos) & !defined (__3Zoo2Det) + integer, dimension(3) :: recom_cocco_tracer_id = (/1023, 1024, 1025/) +#endif + #if defined (__3Zoo2Det) integer, dimension(4) :: recom_det2_tracer_id = (/1025, 1026, 1027, 1028/) #endif diff --git a/src/int_recom/recom_sinking.F90 b/src/int_recom/recom_sinking.F90 index 457db5b45..31bd6799b 100644 --- a/src/int_recom/recom_sinking.F90 +++ b/src/int_recom/recom_sinking.F90 @@ -342,7 +342,7 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) elseif(tracers%data(tr_num)%ID ==1004 .or. & !iphyn tracers%data(tr_num)%ID ==1005 .or. & !iphyc - tracers%data(tr_num)%ID==1020 .or. & !iphycal + !tracers%data(tr_num)%ID==1020 .or. & !iphycal tracers%data(tr_num)%ID==1006 ) then !ipchl Vsink = VPhy @@ -354,6 +354,22 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) Vsink = VDia +#if defined (__coccos) + elseif(tracers%data(tr_num)%ID == 1029 .or. & !icocn ! NEW + tracers%data(tr_num)%ID == 1030 .or. & !icocc ! NEW + tracers%data(tr_num)%ID == 1031 ) then !icchl ! NEW + + Vsink = VCocco +#endif + + elseif(tracers%data(tr_num)%ID == 1020) then !iphycal + +#if defined (__coccos) + Vsink = VCocco +#else + Vsink = VPhy +#endif + #if defined (__3Zoo2Det) elseif(tracers%data(tr_num)%ID==1025 .or. & !idetz2n tracers%data(tr_num)%ID==1026 .or. & !idetz2c diff --git a/src/int_recom/recom_sms.F90 b/src/int_recom/recom_sms.F90 index fb6cefe08..7c92aedc2 100644 --- a/src/int_recom/recom_sms.F90 +++ b/src/int_recom/recom_sms.F90 @@ -86,6 +86,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & DiaChl, & DiaSi, & DetSi, & +#if defined (__coccos) + CoccoN, & + CoccoC, & + CoccoChl,& +#endif Si, & Fe, & PhyCalc, & @@ -118,6 +123,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & tiny_Si = tiny_C_d/SiCmax !< SiCmax = 0.8d0 +#if defined (__coccos) + tiny_N_c = tiny_chl/chl2N_max_c + tiny_C_c = tiny_N_c/NCmax_c +#endif recip_res_het = 1.d0/res_het !< res_het = 0.01d0 [1/day] Respiration by heterotrophs and mortality (loss to detritus) @@ -176,6 +185,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & DiaSi = max(tiny_si,state(k,idiasi) + sms(k,idiasi)) DetSi = max(tiny,state(k,idetsi) + sms(k,idetsi)) Si = max(tiny,state(k,isi) + sms(k,isi )) +#if defined (__coccos) + CoccoN = max(tiny_N_c,state(k,icocn) + sms(k,icocn )) + CoccoC = max(tiny_C_c,state(k,icocc) + sms(k,icocc )) + CoccoChl = max(tiny_chl,state(k,icchl) + sms(k,icchl )) +#endif Fe = max(tiny,state(k,ife) + sms(k,ife )) O2 = max(tiny,state(k,ioxy) + sms(k,ioxy)) FreeFe = zero @@ -201,6 +215,13 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & qSiC = DiaSi / DiaC qSiN = DiaSi / DiaN +#if defined (__coccos) + quota_cocco = CoccoN / CoccoC + recipQuota_cocco = real(one)/quota_cocco + Chl2C_cocco = CoccoChl / CoccoC + Chl2N_cocco = CoccoChl / CoccoN + CHL2C_plast_cocco = Chl2C_cocco * (quota_cocco/(quota_cocco - NCmin_c)) +#endif recipQZoo = HetC / HetN recip_hetN_plus = 1.d0 / (HetN + tiny_het) ! MB's addition for more stable zoo respiration if (Grazing_detritus) recipDet = DetC / DetN @@ -223,6 +244,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & rTloc = real(one)/(Temp(k) + C2K) arrFunc = exp(-Ae * ( rTloc - rTref)) +#if defined (__coccos) + CoccoTFunc = max(0.1419d0 * Temp(k)**0.8151d0,tiny) ! Function from Fielding 2013; is based on observational GR, but range fits best to ours +#endif #if defined (__3Zoo2Det) arrFuncZoo2 = exp(t1_zoo2/t2_zoo2 - t1_zoo2*rTloc)/(1 + exp(t3_zoo2/t4_zoo2 - t3_zoo2*rTloc)) ! 2Zoo @@ -256,8 +280,14 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & PAR(k) = PARave chl_upper = (PhyChl + DiaChl) +#if defined (__coccos) + chl_upper = chl_upper + CoccoChl +#endif else chl_lower = PhyChl + DiaChl +#if defined (__coccos) + chl_lower = chl_lower + CoccoChl +#endif Chlave = (chl_upper+chl_lower)*0.5 kappa = k_w + a_chl * (Chlave) @@ -317,6 +347,15 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & feLimitFac = Fe/(k_Fe_d + Fe) qlimitFac = min(qlimitFac, feLimitFac) pMax_dia = P_cm_d * qlimitFac * arrFunc + +!< *** Coccolithophores *** +!< ************************ +#if defined (__coccos) + qlimitFac = recom_limiter(NMinSlope, NCmin_c, quota_cocco) + feLimitFac = Fe/(k_Fe_c + Fe) + qlimitFac = min(qlimitFac, feLimitFac) + pMax_cocco = P_cm_c * qlimitFac * CoccoTFunc ! Here the T dependency is changed +#endif !------------------------------------------------------------------------------- !< *** Small phytoplankton photosynthesis rate *** !< *********************************************** @@ -338,11 +377,25 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & end if if (Cphot_dia .lt. tiny) Cphot_dia = zero +!< *** Coccolithophore photosynthesis rate *** (NEW!!!) +!< ******************************************* +#if defined (__coccos) + if ( pMax_cocco .lt. tiny .OR. Parave /= Parave .OR. CHL2C_cocco /= CHL2C_cocco) then + Cphot_cocco = zero + else + Cphot_cocco = pMax_cocco * (real(one) - exp( -alfa_c * Chl2C_cocco * PARave / pMax_cocco)) + if (CO2lim) Cphot_cocco = Cphot_cocco * CoccoCO2 ! Added the CO2 dependence + end if + if (Cphot_cocco .lt. tiny) Cphot_cocco = zero +#endif !------------------------------------------------------------------------------- !< chlorophyll degradation !------------------------------------------------------------------------------- KOchl = deg_Chl KOchl_dia = deg_Chl_d +#if defined (__coccos) + KOchl_cocco = deg_Chl_c +#endif if (use_photodamage) then !< add a minimum value for photodamage @@ -362,6 +415,16 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & KOchl_dia = deg_Chl_d * (real(one) - exp(-alfa_d * CHL2C_plast_dia * PARave / pMax_dia )) KOchl_dia = max((deg_Chl_d*0.1d0), KOchl_dia) end if +!< *** Coccolithophores chla loss *** +!< ********************************** +#if defined (__coccos) + if (pMax_cocco .lt. tiny .OR. PARave /= Parave .OR. CHL2C_plast_cocco /= CHL2C_plast_cocco) then + KOchl_cocco = deg_Chl_c*0.1d0 + else + KOchl_cocco = deg_Chl_c * (real(one) - exp( -alfa_c * CHL2C_plast_cocco * PARave / pMax_cocco )) + KOchl_cocco = max((deg_Chl_c*0.1d0), KOchl_cocco) + end if +#endif if (KOchl /= KOchl) then print*,' KOchl is ', KOchl print*,' deg_Chl is ', deg_Chl @@ -380,6 +443,17 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & print*,' pMax_d is ', pMax_dia stop end if +#if defined (__coccos) + if (KOchl_cocco /= KOchl_cocco) then + print*,' KOchl_cocco is ', KOchl_cocco + print*,' deg_Chl_c is ', deg_Chl_c + print*,' alfa_c is ', alfa_c + print*,' CHL2C_c is ', CHL2C_plast_cocco + print*,' PARave is ', PARave + print*,' pMax_c is ', pMax_cocco + stop + end if +#endif end if ! photodamage !------------------------------------------------------------------------------- @@ -408,6 +482,12 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & N_assim_dia = V_cm * pMax_dia * NCUptakeRatio_d & * limitFacN_dia * DIN/(DIN + k_din_d) +#if defined (__coccos) + V_cm = V_cm_fact_c + limitFacN_cocco = recom_limiter(NMaxSlope, quota_cocco, NCmax_c) + N_assim_cocco = V_cm * pMax_cocco * NCUptakeRatio_c & + * limitFacN_cocco * DIN/(DIN + k_din_c) +#endif limitFacSi = recom_limiter(SiMaxSlope, qSiC, SiCmax) & * limitFacN_dia @@ -438,6 +518,12 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & * min(real(one),Cphot_dia /(alfa_d * Chl2C_dia * PARave)) end if ChlSynth_cocco = zero +#if defined (__coccos) + if (PARave .ge. tiny .AND. PARave .eq. PARave) then + ChlSynth_cocco = N_assim_cocco * Chl2N_max_c & + * min(real(one),Cphot_cocco /(alfa_c * Chl2C_cocco * PARave)) + end if +#endif !------------------------------------------------------------------------------- !< *** Phytoplankton respiraion rate *** !< ************************************* @@ -447,6 +533,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & phyRespRate = res_phy * limitFacN + biosynth * N_assim phyRespRate_dia = res_phy_d * limitFacN_dia + biosynth * N_assim_dia + biosynthSi * Si_assim +#if defined (__coccos) + phyRespRate_cocco = res_phy_c * limitFacN_cocco + biosynth * N_assim_cocco +#endif !------------------------------------------------------------------------------- ! Mesozooplankton @@ -468,6 +557,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & if (Grazing_detritus) aux = aux + pzDetZ2*DetZ2N ! 2Det aux = aux + pzMicZoo*MicZooN ! 3Zoo #endif +#if defined (__coccos) + aux = aux + pzCocco*CoccoN +#endif ! ****************************************************************************** varpzPhy = (pzPhy*PhyN)/aux varpzDia = (pzDia*DiaN)/aux @@ -476,6 +568,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & if (Grazing_detritus) varpzDetZ2 = (pzDetZ2*DetZ2N)/aux ! 2Det varpzMicZoo = (pzMicZoo*MicZooN)/aux ! 3Zoo #endif +#if defined (__coccos) + varpzCocco = (pzCocco*CoccoN)/aux +#endif ! ****************************************************************************** fDiaN = varpzDia * DiaN fPhyN = varpzPhy * PhyN @@ -483,6 +578,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & #if defined (__3Zoo2Det) if (Grazing_detritus) fDetZ2N = varpzDetZ2 * DetZ2N ! 2Det fMicZooN = varpzMicZoo * MicZooN ! 3Zoo +#endif +#if defined (__coccos) + fCoccoN = varpzCocco * CoccoN #endif else ! REcoM_Grazing_Variable_Preference = .false. fPhyN = pzPhy * PhyN @@ -491,6 +589,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & #if defined (__3Zoo2Det) if (Grazing_detritus) fDetZ2N = pzDetZ2 * DetZ2N ! 2Det fMicZooN = pzMicZoo * MicZooN ! 3Zoo +#endif +#if defined (__coccos) + fCoccoN = pzCocco * CoccoN #endif end if ! REcoM_Grazing_Variable_Preference @@ -502,6 +603,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & if (Grazing_detritus) food = food + fDetZ2N food = food + fMicZooN ! 3Zoo #endif +#if defined (__coccos) + food = food + fCoccoN +#endif ! ****************************************************************************** foodsq = food**2 grazingFlux = (Graz_max * foodsq)/(epsilonr + foodsq) * HetN * arrFunc @@ -515,6 +619,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & if (Grazing_detritus) grazingFlux_DetZ2 = grazingFlux * fDetZ2N / food grazingFlux_miczoo = grazingFlux * fMicZooN / food ! 3Zoo #endif +#if defined (__coccos) + grazingFlux_Cocco = grazingFlux * fCoccoN / food +#endif !< *** Grazing efficiency *** !< ************************** @@ -531,6 +638,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & grazingFluxcarbon_mes = grazingFluxcarbon_mes & + (grazingFlux_miczoo * recipQZoo3 * grazEff) ! 3Zoo #endif +#if defined (__coccos) + grazingFluxcarbon_mes = grazingFluxcarbon_mes & + + (grazingFlux_Cocco * recipQuota_Cocco * grazEff) +#endif !------------------------------------------------------------------------------- ! Second Zooplankton @@ -542,11 +653,17 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & aux = pzPhy2 * PhyN + PzDia2 * DiaN + pzHet * HetN if (Grazing_detritus) aux = aux + pzDet2 * DetN + pzDetZ22 * DetZ2N aux = aux + pzMicZoo2 * MicZooN ! 3Zoo +#if defined (__coccos) + aux = aux + pzCocco2 * CoccoN +#endif ! ****************************************************************************** varpzPhy2 = (pzPhy2 * PhyN)/aux varpzDia2 = (pzDia2 * DiaN)/aux varpzMicZoo2 = (pzMicZoo2 * MicZooN)/aux ! 3Zoo +#if defined (__coccos) + varpzCocco2 = (pzCocco2 * CoccoN)/aux +#endif varpzHet = (pzHet * HetN)/aux if (Grazing_detritus) then varpzDet2 = (pzDet2 * DetN)/aux @@ -556,6 +673,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & fDiaN2 = varpzDia2 * DiaN fPhyN2 = varpzPhy2 * PhyN fMicZooN2 = varpzMicZoo2 * MicZooN ! 3Zoo +#if defined (__coccos) + fCoccoN2 = varpzCocco2 * CoccoN +#endif fHetN = varpzHet * HetN if (Grazing_detritus) then fDetN2 = varpzDet2 * DetN @@ -566,6 +686,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & fDiaN2 = pzDia2 * DiaN fPhyN2 = pzPhy2 * PhyN fMicZooN2 = pzMicZoo2 * MicZooN ! 3Zoo +#if defined (__coccos) + fCoccoN2 = pzCocco2 * CoccoN +#endif fHetN = pzHet * HetN if (Grazing_detritus) then fDetN2 = pzDet2 * DetN @@ -578,6 +701,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & food2 = fPhyN2 + fDiaN2 + fHetN if (Grazing_detritus) food2 = food2 + fDetN2 + fDetZ2N2 food2 = food2 + fMicZooN2 ! 3Zoo +#if defined (__coccos) + food2 = food2 + fCoccoN2 +#endif ! ****************************************************************************** foodsq2 = food2**2 grazingFlux2 = (Graz_max2 * foodsq2)/(epsilon2 + foodsq2) * Zoo2N * arrFuncZoo2 @@ -586,6 +712,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & grazingFlux_Dia2 = (grazingFlux2 * fDiaN2)/food2 grazingFlux_miczoo2 = (grazingFlux2 * fMicZooN2)/food2 ! 3Zoo +#if defined (__coccos) + grazingFlux_Cocco2 = (grazingFlux2 * fCoccoN2)/food2 +#endif grazingFlux_het2 = (grazingFlux2 * fHetN)/food2 if (Grazing_detritus) then grazingFlux_Det2 = (grazingFlux2 * fDetN2)/food2 @@ -602,6 +731,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & end if grazingFluxcarbonzoo2 = grazingFluxcarbonzoo2 + & + (grazingFlux_miczoo2 * recipQZoo3 * grazEff2) ! 3Zoo +#if defined (__coccos) + grazingFluxcarbonzoo2 = grazingFluxcarbonzoo2 + & + + (grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2) +#endif !------------------------------------------------------------------------------- ! Third Zooplankton (Microzooplankton) @@ -610,26 +743,44 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & if (REcoM_Grazing_Variable_Preference) then aux = pzPhy3 * PhyN + pzDia3 * DiaN +#if defined (__coccos) + aux = aux + pzCocco3 * CoccoN +#endif ! ****************************************************************************** varpzPhy3 = (pzPhy3 * PhyN)/aux varpzDia3 = (pzDia3 * DiaN)/aux +#if defined (__coccos) + varpzCocco3 = (pzCocco3 * CoccoN)/aux +#endif ! ****************************************************************************** fPhyN3 = varpzPhy3 * PhyN fDiaN3 = varpzDia3 * DiaN +#if defined (__coccos) + fCoccoN3 = varpzCocco3 * CoccoN +#endif else ! REcoM_Grazing_Variable_Preference = .false. fPhyN3 = pzPhy3 * PhyN fDiaN3 = pzDia3 * DiaN +#if defined (__coccos) + fCoccoN3 = pzCocco3 * CoccoN +#endif endif !REcoM_Grazing_Variable_Preference !< *** Grazing fluxes *** !< ********************** food3 = fPhyN3 + fDiaN3 +#if defined (__coccos) + food3 = food3 + fCoccoN3 +#endif ! ****************************************************************************** foodsq3 = food3**2 grazingFlux3 = (Graz_max3 * foodsq3)/(epsilon3 + foodsq3) * MicZooN * q10_mic grazingFlux_phy3 = (grazingFlux3 * fphyN3)/food3 grazingFlux_Dia3 = (grazingFlux3 * fDiaN3)/food3 +#if defined (__coccos) + grazingFlux_Cocco3 = (grazingFlux3 * fCoccoN3)/food3 +#endif #endif !------------------------------------------------------------------------------- @@ -683,6 +834,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & mesfecalloss_n = fecal_rate_n_mes * grazingFlux mesfecalloss_c = fecal_rate_c_mes * grazingFluxcarbon_mes + !------------------------------------------------------------------------------- ! Third zooplankton, microzooplankton, respiration ! 3Zoo @@ -712,6 +864,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & #if defined (__3Zoo2Det) aggregationrate = aggregationrate + agg_PD * DetZ2N ! 2Det #endif +#if defined (__coccos) + aggregationrate = aggregationrate + agg_PP * CoccoN +#endif + !------------------------------------------------------------------------------- ! Calcification !------------------------------------------------------------------------------- @@ -723,6 +879,17 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & calc_loss_agg = aggregationrate * PhyCalc +#if defined (__coccos) +!< *** Coccolithophores *** +!< ************************ + aux = recipQuota_Cocco/(CoccoC + tiny) * PhyCalc + calc_loss_gra = grazingFlux_Cocco * aux +#if defined (__3Zoo2Det) + calc_loss_gra2 = grazingFlux_Cocco2 * aux + calc_loss_gra3 = grazingFlux_Cocco3 * aux ! 3Zoo +#endif + +#else !< *** Small phytoplankton *** !< *************************** aux = recipQuota/(PhyC + tiny) * PhyCalc @@ -731,7 +898,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & calc_loss_gra2 = grazingFlux_phy2 * aux calc_loss_gra3 = grazingFlux_phy3 * aux ! 3Zoo #endif - +#endif !------------------------------------------------------------------------------- ! Sources minus sinks (SMS) !------------------------------------------------------------------------------- @@ -755,6 +922,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,idin) = ( & - N_assim * PhyC & ! --> N assimilation Nanophytoplankton, [mmol N/(mmol C * day)] C specific N utilization rate - N_assim_Dia * DiaC & ! --> N assimilation Diatoms +#if defined (__coccos) + - N_assim_Cocco * CoccoC & ! --> N assimilation Coccolithophore +#endif + rho_N * arrFunc * O2Func * DON & ! --> DON remineralization, temperature dependent [day^-1 * mmol/m3] ! O2remin ) * dt_b + sms(k,idin) @@ -768,6 +938,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + phyRespRate * PhyC & ! --> Small pyhtoplankton respiration - Cphot_Dia * DiaC & ! --> Diatom photosynthesis + phyRespRate_Dia * DiaC & ! --> Diatom respiration +#if defined (__coccos) + - Cphot_Cocco * CoccoC & ! --> Coccolithophore photosynthesis + + phyRespRate_Cocco * CoccoC & ! --> Coccolithophore respiration +#endif + rho_C1 * arrFunc * O2Func * EOC & ! --> Remineralization of DOC ! NEW O2remin + HetRespFlux & ! --> Mesozooplankton respiration #if defined (__3Zoo2Det) @@ -810,6 +984,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,ialk) = ( & + 1.0625 * N_assim * PhyC & + 1.0625 * N_assim_Dia * DiaC & +#if defined (__coccos) + + 1.0625 * N_assim_Cocco * CoccoC & +#endif - 1.0625 * rho_N * arrFunc * O2Func * DON & ! O2remin + 2.d0 * calc_diss * DetCalc & + 2.d0 * calc_loss_gra * calc_diss_guts & @@ -886,6 +1063,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - grazingFlux_phy3 * grazEff3 & + grazingFlux_dia3 & - grazingFlux_dia3 * grazEff3 & +#if defined (__coccos) + + grazingFlux_Cocco3 & + - grazingFlux_Cocco3 * grazEff3 & + + aggregationRate * CoccoN & +#endif - grazingFlux_Det * grazEff & - grazingFlux_Det2 * grazEff2 & ! --> okay, grazing of second zoo on first detritus + aggregationRate * PhyN & @@ -899,6 +1081,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - grazingFlux_phy * grazEff & + grazingFlux_dia & - grazingFlux_dia * grazEff & +#if defined (__coccos) + + grazingFlux_Cocco & + - grazingFlux_Cocco * grazEff & + + aggregationRate * CoccoN & +#endif - grazingFlux_Det * grazEff & ! Sloppy feeding is thought because of grazing flux multiplied with grazeff - grazingFlux_Det2 * grazEff2 & !!!!!!!!!!CHECK + aggregationRate * PhyN & @@ -912,6 +1099,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,idetn) = ( & + grazingFlux_phy3 & + grazingFlux_dia3 & +#if defined (__coccos) + + grazingFlux_Cocco3 & + + aggregationRate * CoccoN & +#endif - grazingFlux * grazEff3 & + aggregationRate * PhyN & + aggregationRate * DiaN & @@ -922,6 +1113,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,idetn) = ( & + grazingFlux_phy & + grazingFlux_dia & +#if defined (__coccos) + + grazingFlux_Cocco & + + aggregationRate * CoccoN & +#endif - grazingFlux * grazEff & + aggregationRate * PhyN & + aggregationRate * DiaN & @@ -940,6 +1135,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - grazingFlux_phy3 * recipQuota * grazEff3 & + grazingFlux_Dia3 * recipQuota_Dia & - grazingFlux_Dia3 * recipQuota_Dia * grazEff3 & +#if defined (__coccos) + + grazingFlux_Cocco3 * recipQuota_Cocco & + - grazingFlux_Cocco3 * recipQuota_Cocco * grazEff3 & + + aggregationRate * CoccoC & +#endif - grazingFlux_Det * recipDet * grazEff & - grazingFlux_Det2 * recipDet2 * grazEff2 & + aggregationRate * PhyC & @@ -953,6 +1153,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - grazingFlux_phy * recipQuota * grazEff & + grazingFlux_Dia * recipQuota_Dia & - grazingFlux_Dia * recipQuota_Dia * grazEff & +#if defined (__coccos) + + grazingFlux_Cocco * recipQuota_Cocco & + - grazingFlux_Cocco * recipQuota_Cocco * grazEff & + + aggregationRate * CoccoC & +#endif - grazingFlux_Det * recipDet * grazEff & - grazingFlux_Det2 * recipDet2 * grazEff & !!!!!! CHECK + aggregationRate * phyC & @@ -968,6 +1173,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - grazingFlux_phy3 * recipQuota * grazEff3 & + grazingFlux_Dia3 * recipQuota_Dia & - grazingFlux_Dia3 * recipQuota_Dia * grazEff3 & +#if defined (__coccos) + + grazingFlux_Cocco3 * recipQuota_Cocco & + - grazingFlux_Cocco3 * recipQuota_Cocco * grazEff3 & + + aggregationRate * CoccoC & +#endif + aggregationRate * PhyC & + aggregationRate * DiaC & + miczooLossFlux * recipQZoo3 & @@ -979,6 +1189,11 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - grazingFlux_phy * recipQuota * grazEff & + grazingFlux_Dia * recipQuota_Dia & - grazingFlux_Dia * recipQuota_Dia * grazEff & +#if defined (__coccos) + + grazingFlux_Cocco * recipQuota_Cocco & + - grazingFlux_Cocco * recipQuota_Cocco * grazEff & + + aggregationRate * CoccoC & +#endif + aggregationRate * phyC & + aggregationRate * DiaC & + hetLossFlux * recipQZoo & @@ -1007,6 +1222,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,ihetc) = ( & + grazingFlux_phy * recipQuota * grazEff & ! --> Grazing on small phytoplankton + grazingFlux_Dia * recipQuota_Dia * grazEff & ! --> Grazing on diatom +#if defined (__coccos) + + grazingFlux_Cocco * recipQuota_Cocco * grazEff & +#endif #if defined (__3Zoo2Det) + grazingFlux_miczoo * recipQZoo3 * grazEff & ! 3Zoo + grazingFlux_DetZ2 * recipDet2 * grazEff & @@ -1022,6 +1240,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,ihetc) = ( & + grazingFlux_phy * recipQuota * grazEff & + grazingFlux_Dia * recipQuota_Dia * grazEff & +#if defined (__coccos) + + grazingFlux_Cocco * recipQuota_Cocco * grazEff & +#endif #if defined (__3Zoo2Det) + grazingFlux_miczoo * recipQZoo3 * grazEff & ! 3Zoo - grazingFlux_het2 * recipQZoo & @@ -1053,6 +1274,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,izoo2c) = ( & + grazingFlux_phy2 * recipQuota * grazEff2 & + grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & +#if defined (__coccos) + + grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2 & +#endif + grazingFlux_het2 * recipQZoo * grazEff2 & + grazingFlux_miczoo2* recipQZoo3 * grazEff2 & ! 3Zoo + grazingFlux_Det2 * recipDet * grazEff2 & @@ -1066,6 +1290,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,izoo2c) = ( & + grazingFlux_phy2 * recipQuota * grazEff2 & + grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & +#if defined (__coccos) + + grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2 & +#endif + grazingFlux_het2 * recipQZoo * grazEff2 & + grazingFlux_miczoo2* recipQZoo3 * grazEff2 & ! 3Zoo - zoo2LossFlux * recipQZoo2 & @@ -1093,6 +1320,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,imiczooc) = ( & + grazingFlux_phy3 * recipQuota * grazEff3 & + grazingFlux_Dia3 * recipQuota_Dia * grazEff3 & +#if defined (__coccos) + + grazingFlux_Cocco3 * recipQuota_Cocco * grazEff3 & +#endif - MicZooLossFlux * recipQZoo3 & - grazingFlux_miczoo * recipQZoo3 & - grazingFlux_miczoo2 * recipQZoo3 & @@ -1111,6 +1341,12 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - grazingFlux_phy2 * grazEff2 & + grazingFlux_dia2 & - grazingFlux_dia2 * grazEff2 & +#if defined (__coccos) + + grazingFlux_Cocco & + - grazingFlux_Cocco * grazEff & + + grazingFlux_Cocco2 & + - grazingFlux_Cocco2 * grazEff2 & +#endif + grazingFlux_het2 & - grazingFlux_het2 * grazEff2 & + grazingFlux_miczoo2 & @@ -1133,6 +1369,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,idetz2n) = ( & + grazingFlux_phy2 & + grazingFlux_dia2 & +#if defined (__coccos) + + grazingFlux_Cocco & + + grazingFlux_Cocco2 & +#endif + grazingFlux_het2 & + grazingFlux_miczoo2 & - grazingFlux2 * grazEff2 & @@ -1156,6 +1396,12 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - grazingFlux_phy2 * recipQuota * grazEff2 & + grazingFlux_Dia2 * recipQuota_Dia & - grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & +#if defined (__coccos) + + grazingFlux_Cocco * recipQuota_Cocco & + - grazingFlux_Cocco * recipQuota_Cocco * grazEff & + + grazingFlux_Cocco2 * recipQuota_Cocco & + - grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2 & +#endif + grazingFlux_het2 * recipQZoo & - grazingFlux_het2 * recipQZoo * grazEff2 & + grazingFlux_miczoo2 * recipQZoo3 & @@ -1180,6 +1426,12 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - grazingFlux_phy2 * recipQuota * grazEff2 & + grazingFlux_Dia2 * recipQuota_Dia & - grazingFlux_Dia2 * recipQuota_Dia * grazEff2 & +#if defined (__coccos) + + grazingFlux_Cocco * recipQuota_Cocco & + - grazingFlux_Cocco * recipQuota_Cocco * grazEff & + + grazingFlux_Cocco2 * recipQuota_Cocco & + - grazingFlux_Cocco2 * recipQuota_Cocco * grazEff2 & +#endif + grazingFlux_het2 * recipQZoo & - grazingFlux_het2 * recipQZoo * grazEff2 & + grazingFlux_miczoo2 * recipQZoo3 & @@ -1226,6 +1478,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,idon) = ( & + lossN * limitFacN * phyN & + lossN_d * limitFacN_Dia * DiaN & +#if defined (__coccos) + + lossN_c * limitFacN_Cocco * CoccoN & +#endif + reminN * arrFunc * O2Func * DetN & + lossN_z * HetN & #if defined (__3Zoo2Det) @@ -1242,6 +1497,9 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,idoc) = ( & + lossC * limitFacN * phyC & + lossC_d * limitFacN_dia * DiaC & +#if defined (__coccos) + + lossC_c * limitFacN_cocco * CoccoC & +#endif + reminC * arrFunc * O2Func * DetC & + lossC_z * HetC & #if defined (__3Zoo2Det) @@ -1327,6 +1585,73 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & #endif ) * dt_b + sms(k,idiasi) +!< *** Coccolithophore *** +!< *********************** + +#if defined (__coccos) +!____________________________________________________________ +!< Coccolithophore N + sms(k,icocn) = ( & + + N_assim_cocco * CoccoC & + - lossN_c * limitFacN_cocco * CoccoN & + - aggregationRate * CoccoN & + - grazingFlux_Cocco & +#if defined (__3Zoo2Det) + - grazingFlux_Cocco2 & + - grazingFlux_Cocco3 & ! 3Zoo +#endif + ) * dt_b + sms(k,icocn) + +!____________________________________________________________ +!< Coccolithophore C + + sms(k,icocc) = ( & + + Cphot_cocco * CoccoC & + - lossC_c * limitFacN_cocco * CoccoC & + - phyRespRate_cocco * CoccoC & + - aggregationRate * CoccoC & + - grazingFlux_cocco * recipQuota_cocco & +#if defined (__3Zoo2Det) + - grazingFlux_Cocco2 * recipQuota_cocco & + - grazingFlux_Cocco3 * recipQuota_cocco & ! 3Zoo +#endif + ) * dt_b + sms(k,icocc) + + if(sms(k,icocc)>100) then + print*,'ERROR: strange CoccoC !' + print*,'k= ', k + print*,'dt= ', dt + print*,'dt_b= ', dt_b + print*,'state(k,icocc): ', state(k,icocc) + print*,'sms CoccoC: ', CoccoC + print*,'sms Cphot cocco: ', Cphot_cocco*CoccoC + print*,'sms lossC_c: ', lossC_c + print*,'sms limitFacN_cocco: ', limitFacN_cocco + print*,'sms phyRespRate_cocco: ', phyRespRate_cocco + print*,'sms grazingFlux_cocco: ', grazingFlux_cocco + print*,'sms grazingFlux_cocco2: ', grazingFlux_Cocco2 + print*,'sms recipQuota_cocco: ', recipQuota_cocco + + print*,'sms recipQuota_cocco: ', recipQuota_cocco + call par_ex(partit%MPI_COMM_FESOM, partit%mype) + stop + endif + +!____________________________________________________________ +!< Coccolithophore Chl + + sms(k,icchl) = ( & + + ChlSynth_cocco * CoccoC & + - KOchl_cocco * CoccoChl & + - aggregationRate * CoccoChl & + - grazingFlux_cocco * Chl2N_cocco & +#if defined (__3Zoo2Det) + - grazingFlux_Cocco2 * Chl2N_cocco & + - grazingFlux_Cocco3 * Chl2N_cocco & ! 3Zoo +#endif + ) * dt_b + sms(k,icchl) +#endif + !< *** Silicate *** !< **************** @@ -1393,6 +1718,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & sms(k,ife) = ( Fe2N * ( & - N_assim * PhyC & ! --> N assimilation Nanophytoplankton, [mmol N/(mmol C * day)] C specific N utilization rate - N_assim_dia * DiaC & ! --> N assimilation Diatom +#if defined (__coccos) + - N_assim_cocco * CoccoC & + + lossN_c * limitFacN_cocco * CoccoN & +#endif + lossN * limitFacN * PhyN & ! --> Excretion from small pythoplankton + lossN_d * limitFacN_dia * DiaN & ! --> Excretion from diatom + reminN * arrFunc * O2Func * DetN & ! --> Remineralization of detritus ! NEW O2remin @@ -1414,6 +1743,20 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & !____________________________________________________________ !< Small phytoplankton calcite + +#if defined (__coccos) + sms(k,iphycal) = ( & + + calcification & ! --> Calcification + - lossC_c * limitFacN_cocco * PhyCalc & ! --> Excretion loss + - phyRespRate_cocco * PhyCalc & ! --> Respiration + - calc_loss_agg & ! --> Aggregation loss + - calc_loss_gra & ! --> Grazing loss +#if defined (__3Zoo2Det) + - calc_loss_gra2 & + - calc_loss_gra3 & ! 3Zoo +#endif + ) * dt_b + sms(k,iphycal) +#else sms(k,iphycal) = ( & + calcification & ! --> Calcification - lossC * limitFacN * PhyCalc & ! --> Excretion loss @@ -1425,9 +1768,36 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - calc_loss_gra3 & ! 3Zoo #endif ) * dt_b + sms(k,iphycal) +#endif !____________________________________________________________ ! Detritus calcite +#if defined (__coccos) + +#if defined (__3Zoo2Det) + sms(k,idetcal) = ( & + + lossC_c * limitFacN_cocco * PhyCalc & + + phyRespRate_cocco * PhyCalc & + + calc_loss_agg & + + calc_loss_gra3 & + - calc_loss_gra3 * calc_diss_guts & + - calc_diss * DetCalc & + ) * dt_b + sms(k,idetcal) + +#else + sms(k,idetcal) = ( & + + lossC_c * limitFacN_cocco * PhyCalc & + + phyRespRate_cocco * PhyCalc & + + calc_loss_agg & + + calc_loss_gra & + - calc_loss_gra * calc_diss_guts & + - calc_diss * DetCalc & + ) * dt_b + sms(k,idetcal) + +#endif + +#else + #if defined (__3Zoo2Det) sms(k,idetcal) = ( & + lossC * limitFacN * PhyCalc & @@ -1447,6 +1817,8 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - calc_diss * DetCalc & ) * dt_b + sms(k,idetcal) #endif +#endif + !____________________________________________________________ ! Oxygen @@ -1455,6 +1827,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - phyRespRate * phyC & + Cphot_dia * diaC & - phyRespRate_dia * diaC & +#if defined (__coccos) + + Cphot_cocco * CoccoC & + - phyRespRate_cocco * CoccoC & +#endif - rho_C1 * arrFunc * O2Func * EOC & ! O2remin - hetRespFlux & #if defined (__3Zoo2Det) @@ -1479,6 +1855,13 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - PhyRespRate_dia * DiaC & ) * recipbiostep +#if defined (__coccos) + vertNPPc(k) = vertNPPc(k) + ( & + + Cphot_cocco * CoccoC & + - PhyRespRate_cocco * CoccoC & + ) * recipbiostep +#endif + !*** Gross primary production [mmol C /(m3 * day)] vertGPPn(k) = vertGPPn(k) + ( & + Cphot * PhyC & @@ -1488,6 +1871,12 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + Cphot_dia * DiaC & ) * recipbiostep +#if defined (__coccos) + vertGPPc(k) = vertGPPc(k) + ( & + + Cphot_cocco * CoccoC & + ) * recipbiostep +#endif + !*** Net N-assimilation [mmol N/(m3 * day)] vertNNAn(k) = vertNNAn(k) + ( & + N_assim * PhyC & @@ -1499,6 +1888,13 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & - lossN * limitFacN_dia * DiaN & ) * recipbiostep +#if defined (__coccos) + vertNNAc(k) = vertNNAc(k) + ( & + + N_assim_cocco * CoccoC & + - lossN * limitFacN_cocco * CoccoN & + ) * recipbiostep +#endif + !*** Changed to chlorophyll degradation (commented out gross N-assimilation below) vertChldegn(k) = vertChldegn(k) + ( & + KOchl & @@ -1508,6 +1904,12 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + KOchl_dia & ) * recipbiostep +#if defined (__coccos) + vertChldegc(k) = vertChldegc(k) + ( & + + KOchl_cocco & + ) * recipbiostep +#endif + !*** zooplankton1 respiration vertrespmeso(k) = vertrespmeso(k) + ( & + HetRespFlux & @@ -1538,6 +1940,13 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + aggregationrate * DiaC & ) * recipbiostep +#if defined (__coccos) +!*** aggregation by coccolithophores + vertaggc(k) = vertaggc(k) + ( & + + aggregationrate * CoccoC & + ) * recipbiostep +#endif + !*** excrection of DOC by phytoplankton vertdocexn(k) = vertdocexn(k) + ( & + lossC * limitFacN * phyC & @@ -1548,6 +1957,13 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + lossC_d * limitFacN_dia * DiaC & ) * recipbiostep +#if defined (__coccos) +!*** excretion of DOC by coccolithophores + vertdocexc(k) = vertdocexc(k) + ( & + + lossC_c * limitFacN_cocco * CoccoC & + ) * recipbiostep +#endif + !*** calcification vertcalcif(k) = vertcalcif(k) + ( & + calcification & @@ -1563,6 +1979,13 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & + PhyRespRate_dia * DiaC & ) * recipbiostep +#if defined (__coccos) +! cocco resipration + vertrespc(k) = vertrespc(k) + ( & + + PhyRespRate_cocco * CoccoC & + ) * recipbiostep + +#endif endif end do ! Main vertikal loop ends diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index eb7fec499..f60e0e882 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -509,6 +509,29 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'ChlDegd','Chlorophyll degradation diatoms','1/d', Chldegd, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if +CASE ('NPPc ') + if (use_REcoM) then +! call def_stream(nod2D, myDim_nod2D, 'NPPc','Mean NPP coccolithophores','mmolC/(m2*d)', diags2D(:,9), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, mesh) ! NEW + call def_stream(nod2D, myDim_nod2D, 'NPPc','Mean NPP coccolithophores','mmolC/(m2*d)', NPPc, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) ! NEW + end if + +CASE ('GPPc ') + if (use_REcoM) then +! call def_stream(nod2D, myDim_nod2D, 'GPPc','Mean GPP coccolithophores','mmolC/(m2*d)', diags2D(:,10), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, mesh) ! NEW + call def_stream(nod2D, myDim_nod2D, 'GPPc','Mean GPP coccolithophores','mmolC/(m2*d)', GPPc, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) ! NEW + end if + +CASE ('NNAc ') + if (use_REcoM) then +! call def_stream(nod2D, myDim_nod2D, 'NNAc','Net N-assimilation coccolithophores','mmolN/(m2*d)', diags2D(:,11), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, mesh) ! NEW + call def_stream(nod2D, myDim_nod2D, 'NNAc','Net N-assimilation coccolithophores','mmolN/(m2*d)', NNAc, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) !NEW + endif + +CASE ('Chldegc ') + if (use_REcoM) then +! call def_stream(nod2D, myDim_nod2D, 'GNAc','Gross N-assimilation coccolithophores','mmolN/(m2*d)', diags2D(:,12), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, mesh) ! NEW + call def_stream(nod2D, myDim_nod2D, 'ChlDegc','Chlorophyll degradation coccolithophores','1/d', Chldegc, io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) ! NEW + endif #endif !___________________________________________________________________________________________________________________________________ @@ -533,12 +556,12 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) CASE ('respmacro ') if (use_REcoM) then ! .and. three_zoo_two_det) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respmacro','Respiration rate of macrozooplankton', 'mmolC/(m2*d)', respmacro(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respmacro','Respiration rate of macrozooplankton', 'mmolC/m2/d', respmacro(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif CASE ('respmicro ') if (use_REcoM) then ! .and. three_zoo_two_det) then - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respmicro','Respiration rate of microzooplankton', 'mmolC/(m2*d)', respmicro(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respmicro','Respiration rate of microzooplankton', 'mmolC/m2/d', respmicro(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif CASE ('calcdiss ') @@ -561,6 +584,11 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'aggd','Aggregation of diatoms', 'mmolC/m2/d', aggd(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif +CASE ('aggc ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'aggc','Aggregation of coccolithophores', 'mmolC/m2/d', aggc(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + CASE ('docexn ') if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'docexn','DOC excretion by small phytoplankton', 'mmolC/m2/d', docexn(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) @@ -571,6 +599,11 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'docexd','DOC excretion by diatoms', 'mmolC/m2/d', docexd(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif +CASE ('docexc ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'docexc','DOC excretion by coccolithophores', 'mmolC/m2/d', docexc(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + CASE ('respn ') if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respn','Respiration by small phytoplankton', 'mmolC/m2/d', respn(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) @@ -581,6 +614,11 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respd','Respiration by diatoms', 'mmolC/m2/d', respd(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif +CASE ('respc ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'respc','Respiration by coccolithophores', 'mmolC/(m2*d)', respc(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif + CASE ('NPPn3D ') if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'NPPn3D','Net primary production of small phytoplankton', 'mmolC/m2/d', NPPn3D(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) @@ -591,7 +629,12 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'NPPd3D','Net primary production of diatoms', 'mmolC/m2/d', NPPd3D(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif +CASE ('NPPc3D ') + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'NPPc3D','Net primary production of coccolithophores', 'mmolC/m2/d', NPPc3D(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif #endif + !CASE ('otracers ') ! do j=3, tracers%num_tracers ! write (id_string, "(I3.3)") tracers%data(j)%ID @@ -742,29 +785,27 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'idetz2calc', 'idetz2calc', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif -! else if (tracers%data(j)%ID==1029) then -! if (use_REcoM) then -! call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoN', 'CoccoN', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -! endif + else if (tracers%data(j)%ID==1029) then + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoN', 'CoccoN', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif -! else if (tracers%data(j)%ID==1030) then -! if (use_REcoM) then -! call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoC', 'CoccoC', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -! endif + else if (tracers%data(j)%ID==1030) then + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoC', 'CoccoC', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif -! else if (tracers%data(j)%ID==1031) then -! if (use_REcoM) then -! call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoChl', 'CoccoChl', '[mg/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) -! endif + else if (tracers%data(j)%ID==1031) then + if (use_REcoM) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'CoccoChl', 'CoccoChl', '[mg/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + endif -! else if (tracers%data(j)%ID==1032) then - else if (tracers%data(j)%ID==1029) then + else if (tracers%data(j)%ID==1032) then if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo3N', 'Zoo3N', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif - else if (tracers%data(j)%ID==1030) then -! else if (tracers%data(j)%ID==1033) then + else if (tracers%data(j)%ID==1033) then if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo3C', 'Zoo3C', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif diff --git a/src/io_restart.F90 b/src/io_restart.F90 index e45ab332f..371d16d52 100644 --- a/src/io_restart.F90 +++ b/src/io_restart.F90 @@ -431,7 +431,7 @@ subroutine restart(istep, l_read, which_readr, ice, dynamics, tracers, partit, m call clock_finish end if end if - + end subroutine restart ! ! @@ -501,6 +501,9 @@ subroutine write_all_raw_restarts(istep, mpicomm, mype) open(newunit = fileunit, file = raw_restart_dirpath//'/'//mpirank_to_txt(mpicomm)//'.dump', form = 'unformatted') call write_raw_restart_group(oce_files, fileunit) if(use_ice) call write_raw_restart_group(ice_files, fileunit) +#if defined(__recom) + call write_raw_restart_group(bio_files, fileunit) +#endif close(fileunit) if(mype == RAW_RESTART_METADATA_RANK) then @@ -513,6 +516,9 @@ subroutine write_all_raw_restarts(istep, mpicomm, mype) write(fileunit, '(2(g0))') "! year: ",yearnew write(fileunit, '(3(g0))') "! oce: ", oce_files%nfiles, " variables" if(use_ice) write(fileunit, '(3(g0))') "! ice: ", ice_files%nfiles, " variables" +#if defined(__recom) + write(fileunit, '(3(g0))') "! bio: ", bio_files%nfiles, " variables" +#endif close(fileunit) end if end subroutine @@ -757,6 +763,9 @@ subroutine read_all_raw_restarts(mpicomm, mype) if(status == 0) then call read_raw_restart_group(oce_files, fileunit) if(use_ice) call read_raw_restart_group(ice_files, fileunit) +#if defined(__recom) + call read_raw_restart_group(bio_files, fileunit) +#endif close(fileunit) else print *,"can not open ",raw_restart_dirpath//'/'//mpirank_to_txt(mpicomm)//'.dump' @@ -801,6 +810,14 @@ subroutine finalize_restart() end if end do end if +#if defined(__recom) + do i=1, bio_files%nfiles + call bio_files%files(i)%join() + if(bio_files%files(i)%is_iorank()) then + if(bio_files%files(i)%is_attached()) call bio_files%files(i)%close_file() + end if + end do +#endif end subroutine ! ! diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 8f72be951..645be9a20 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -1375,6 +1375,7 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) bc_surface= dt*(virtual_salt(n) & !--> is zeros for zlevel/zstar + relax_salt(n) - real_salt_flux(n)*is_nonlinfs) #if defined(__recom) + CASE (1001) ! DIN bc_surface= dt*(AtmNInput(n) + RiverDIN2D(n) * is_riverinput & + ErosionTON2D(n) * is_erosioninput) From 45d00b452d39a7c76ec3062cd5f6251d8f68f685 Mon Sep 17 00:00:00 2001 From: sidorenko1 Date: Thu, 16 May 2024 12:06:18 +0200 Subject: [PATCH 149/273] added computation of residual heal flux as proposed by Dmitry Sein. --- src/MOD_ICE.F90 | 9 +++++++-- src/ice_thermo_cpl.F90 | 24 +++++++++++++++--------- src/io_meandata.F90 | 6 +++++- 3 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src/MOD_ICE.F90 b/src/MOD_ICE.F90 index 5d0606d46..ab1045c02 100644 --- a/src/MOD_ICE.F90 +++ b/src/MOD_ICE.F90 @@ -78,6 +78,7 @@ MODULE MOD_ICE real(kind=WP) :: albi = 0.70 ! frozen ice real(kind=WP) :: albim = 0.68 ! melting ice real(kind=WP) :: albw = 0.066 ! open water, LY2004 + logical :: lqres =.false. ! on/off residual heat flux computation when coupled to IFS/OpenIFS contains procedure WRITE_T_ICE_THERMO procedure READ_T_ICE_THERMO @@ -93,7 +94,7 @@ MODULE MOD_ICE real(kind=WP), allocatable, dimension(:) :: oce_flx_h, ice_flx_h, tmpoce_flx_h, tmpice_flx_h #if defined (__oifs) || defined (__ifsinterface) !___________________________________________________________________________ - real(kind=WP), allocatable, dimension(:) :: ice_alb, enthalpyoffuse + real(kind=WP), allocatable, dimension(:) :: ice_alb, enthalpyoffuse, flx_qres ! !!! DONT FORGET ice_temp rhs_tempdiv rhs_temp is advected for oifs !!! --> becomes additional ice ! tracer in ice%data(4)%values #endif /* (__oifs) */ @@ -664,7 +665,7 @@ subroutine ice_init(ice, partit, mesh) allocate(ice%flx_h( node_size)) ice%flx_fw = 0.0_WP ice%flx_h = 0.0_WP - + !___________________________________________________________________________ ! initialse data array of ice derived type containing "ice tracer" that have ! to be advected: a_ice (index=1), m_ice (index=2), m_snow (index=3), @@ -752,6 +753,10 @@ subroutine ice_init(ice, partit, mesh) allocate(ice%atmcoupl%enthalpyoffuse(node_size)) ice%atmcoupl%ice_alb = 0.6_WP ice%atmcoupl%enthalpyoffuse= 0.0_WP + if (ice%thermo%lqres) then + allocate(ice%atmcoupl%flx_qres(node_size)) + ice%atmcoupl%flx_qres = 0.0_WP + end if #endif /* (__oifs) */ #endif /* (__oasis) */ diff --git a/src/ice_thermo_cpl.F90 b/src/ice_thermo_cpl.F90 index d00c4c50b..fd110e0e1 100644 --- a/src/ice_thermo_cpl.F90 +++ b/src/ice_thermo_cpl.F90 @@ -34,7 +34,7 @@ subroutine thermodynamics(ice, partit, mesh) !---- prognostic variables (updated in `ice_growth') real(kind=WP) :: A, h, hsn, alb, t !---- atmospheric heat fluxes (provided by ECHAM) - real(kind=WP) :: a2ohf, a2ihf + real(kind=WP) :: a2ohf, a2ihf, qres !---- evaporation and sublimation (provided by ECHAM) real(kind=WP) :: evap, subli !---- add residual freshwater flux over ice to freshwater (setted in ice_growth) @@ -67,7 +67,8 @@ subroutine thermodynamics(ice, partit, mesh) real(kind=WP), dimension(:) , pointer :: S_oc_array, T_oc_array, u_w, v_w real(kind=WP), dimension(:) , pointer :: fresh_wa_flux, net_heat_flux #if defined (__oifs) || defined (__ifsinterface) - real(kind=WP), dimension(:) , pointer :: ice_temp, ice_alb, enthalpyoffuse + real(kind=WP), dimension(:) , pointer :: ice_temp, ice_alb, enthalpyoffuse, ice_heat_qres + logical, pointer :: lqres #endif #if defined (__oasis) || defined (__ifsinterface) real(kind=WP), dimension(:) , pointer :: oce_heat_flux, ice_heat_flux @@ -98,6 +99,7 @@ subroutine thermodynamics(ice, partit, mesh) ice_temp => ice%data(4)%values(:) ice_alb => ice%atmcoupl%ice_alb(:) enthalpyoffuse=> ice%atmcoupl%enthalpyoffuse(:) + if (lqres) ice_heat_qres => ice%atmcoupl%flx_qres(:) #endif #if defined (__oasis) || defined (__ifsinterface) oce_heat_flux => ice%atmcoupl%oce_flx_h(:) @@ -114,7 +116,7 @@ subroutine thermodynamics(ice, partit, mesh) consn => ice%thermo%consn con => ice%thermo%con rhoice => ice%thermo%rhoice - + lqres => ice%thermo%lqres !_____________________________________________________________________________ rsss = ref_sss @@ -157,15 +159,17 @@ subroutine thermodynamics(ice, partit, mesh) ! then send those to OpenIFS where they are used to calucate the ! energy fluxes ---! t = ice_temp(inod) + qres = 0.0_WP if(A>Aimin) then call ice_surftemp(ice%thermo, max(h/(max(A,Aimin)),0.05), hsn/(max(A,Aimin)), a2ihf, t) - ice_temp(inod) = t + ice_temp(inod) = t else ! Freezing temp of saltwater in K - ice_temp(inod) = -0.0575_WP*S_oc_array(inod) + 1.7105e-3_WP*sqrt(S_oc_array(inod)**3) -2.155e-4_WP*(S_oc_array(inod)**2)+273.15_WP + ice_temp(inod) = -0.0575_WP*S_oc_array(inod) + 1.7105e-3_WP*sqrt(S_oc_array(inod)**3) -2.155e-4_WP*(S_oc_array(inod)**2)+273.15_WP endif call ice_albedo(ice%thermo, h, hsn, t, alb) ice_alb(inod) = alb + if (lqres) ice_heat_qres(inod) = qres #endif call ice_growth @@ -261,6 +265,7 @@ subroutine ice_growth !---- atmospheric heat fluxes (provided by the atmosphere model) Qatmice = -a2ihf + if (lqres) Qatmice=Qatmice - qres Qatmocn = -a2ohf !---- oceanic heat fluxes @@ -487,9 +492,6 @@ subroutine ice_growth return end subroutine ice_growth - - - subroutine ice_surftemp(ithermp, h,hsn,a2ihf,t) ! INPUT: ! a2ihf - Total atmo heat flux to ice @@ -539,7 +541,11 @@ subroutine ice_surftemp(ithermp, h,hsn,a2ihf,t) zcprosn=rhosno*cpsno/dt ! Specific Energy required to change temperature of 1m snow on ice [J/(sm³K)] zcpdte=zcpdt+zcprosn*hsn ! Combined Energy required to change temperature of snow + 0.05m of upper ice t=(zcpdte*t+a2ihf+zicefl)/(zcpdte+con/zsniced) ! New sea ice surf temp [K] - t=min(273.15_WP,t) + if (t>273.15_WP) then + qres=(con/zsniced+zcpdte)*(t-273.15_WP) + t=273.15_WP + endif +! t=min(273.15_WP,t) end subroutine ice_surftemp subroutine ice_albedo(ithermp, h, hsn, t, alb) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index f61c20779..9e2d884c9 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -607,7 +607,11 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'qso', 'oce heat flux', 'W/m^2', ice%atmcoupl%oce_flx_h(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('enthalpy ') - call def_stream(nod2D, myDim_nod2D, 'enth', 'enthalpy of fusion', 'W/m^2', ice%atmcoupl%enthalpyoffuse(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(nod2D, myDim_nod2D, 'enth', 'enthalpy of fusion', 'W/m^2', ice%atmcoupl%enthalpyoffuse(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +CASE ('qres ') + if (ice%thermo%lqres) then + call def_stream(nod2D, myDim_nod2D, 'qres', 'residual heat flux', 'W/m^2', ice%atmcoupl%flx_qres(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if #endif !------------------------------------------ From 51305ac62931dd71153241c1ae4ff3fe632597cc Mon Sep 17 00:00:00 2001 From: sidorenko1 Date: Thu, 23 May 2024 13:14:31 +0200 Subject: [PATCH 150/273] fixed bug in realization of residual heat flux --- src/ice_thermo_cpl.F90 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ice_thermo_cpl.F90 b/src/ice_thermo_cpl.F90 index fd110e0e1..15fe01757 100644 --- a/src/ice_thermo_cpl.F90 +++ b/src/ice_thermo_cpl.F90 @@ -99,6 +99,7 @@ subroutine thermodynamics(ice, partit, mesh) ice_temp => ice%data(4)%values(:) ice_alb => ice%atmcoupl%ice_alb(:) enthalpyoffuse=> ice%atmcoupl%enthalpyoffuse(:) + lqres => ice%thermo%lqres if (lqres) ice_heat_qres => ice%atmcoupl%flx_qres(:) #endif #if defined (__oasis) || defined (__ifsinterface) @@ -116,8 +117,6 @@ subroutine thermodynamics(ice, partit, mesh) consn => ice%thermo%consn con => ice%thermo%con rhoice => ice%thermo%rhoice - lqres => ice%thermo%lqres - !_____________________________________________________________________________ rsss = ref_sss From 4a9b5168350eb58cb818332056195989a6da3ce9 Mon Sep 17 00:00:00 2001 From: Thomas Rackow Date: Fri, 24 May 2024 21:09:46 +0200 Subject: [PATCH 151/273] add Leonardo and MareNostrum5 platform strategies --- src/CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5f5bc1ed8..0f48d7ea8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -41,6 +41,12 @@ endif() if(${FESOM_PLATFORM_STRATEGY} STREQUAL levante.dkrz.de ) message(STATUS "multithreading disabled for Levante") # multithreading suddenly produces an error, disable it until a fix is found. issue #413 option(DISABLE_MULTITHREADING "disable asynchronous operations" ON) +elseif(${FESOM_PLATFORM_STRATEGY} STREQUAL leo-dcgp ) + message(STATUS "multithreading disabled for Leonardo") # multithreading suddenly produces an error, disable it until a fix is found. issue #413 + option(DISABLE_MULTITHREADING "disable asynchronous operations" ON) +elseif(${FESOM_PLATFORM_STRATEGY} STREQUAL mn5-gpp ) + message(STATUS "multithreading disabled for MN5 GPP") # multithreading suddenly produces an error, disable it until a fix is found. issue #413 + option(DISABLE_MULTITHREADING "disable asynchronous operations" ON) elseif(${FESOM_PLATFORM_STRATEGY} STREQUAL albedo ) message(STATUS "multithreading disabled for Albedo") # multithreading suddenly produces an error, disable it until a fix is found. issue #413 option(DISABLE_MULTITHREADING "disable asynchronous operations" ON) @@ -226,6 +232,10 @@ if(${CMAKE_Fortran_COMPILER_ID} STREQUAL Intel ) target_compile_options(${PROJECT_NAME} PRIVATE -r8 -i4 -fp-model precise -no-prec-div -no-prec-sqrt -fimf-use-svml -ip -init=zero -no-wrap-margin -fpe0) # add -fpe0 for RAPS environment if(${FESOM_PLATFORM_STRATEGY} STREQUAL levante.dkrz.de ) target_compile_options(${PROJECT_NAME} PRIVATE -march=core-avx2 -mtune=core-avx2) + elseif(${FESOM_PLATFORM_STRATEGY} STREQUAL leo-dcgp ) + target_compile_options(${PROJECT_NAME} PRIVATE -O3 -xCORE-AVX512 -qopt-zmm-usage=high -align array64byte -ipo) + elseif(${FESOM_PLATFORM_STRATEGY} STREQUAL mn5-gpp ) + target_compile_options(${PROJECT_NAME} PRIVATE -O3 -xCORE-AVX512 -qopt-zmm-usage=high -align array64byte -ipo) elseif(${FESOM_PLATFORM_STRATEGY} STREQUAL albedo) target_compile_options(${PROJECT_NAME} PRIVATE -march=core-avx2 -O3 -ip -fPIC -qopt-malloc-options=2 -qopt-prefetch=5 -unroll-aggressive) #NEC mpi option elseif(${FESOM_PLATFORM_STRATEGY} STREQUAL atosecmwf ) From 1b60fe6af95cf210d6dded4ef224fe1b5795aaac Mon Sep 17 00:00:00 2001 From: Razvan Aguridan Date: Mon, 22 Apr 2024 11:37:05 +0200 Subject: [PATCH 152/273] Add flushes to fesom --- src/ifs_interface/iom.F90 | 41 +++++++++++++++++++++++++++++++++++++++ src/io_meandata.F90 | 24 +++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/src/ifs_interface/iom.F90 b/src/ifs_interface/iom.F90 index df83597e6..99733be6f 100644 --- a/src/ifs_interface/iom.F90 +++ b/src/ifs_interface/iom.F90 @@ -19,6 +19,7 @@ MODULE iom PUBLIC iom_initialize, iom_init_server, iom_finalize PUBLIC iom_send_fesom_domains PUBLIC iom_field_request, iom_send_fesom_data + PUBLIC iom_flush PRIVATE ctl_stop !!---------------------------------------------------------------------- @@ -422,6 +423,46 @@ SUBROUTINE iom_send_fesom_data(data) END IF END SUBROUTINE + SUBROUTINE iom_flush(domain, step) + IMPLICIT NONE + + CHARACTER(6), INTENT(IN) :: domain + INTEGER, INTENT(IN) :: step + + INTEGER :: cerr + TYPE(multio_metadata) :: md + + cerr = md%new(mio_handle) + IF (cerr /= MULTIO_SUCCESS) THEN + CALL ctl_stop('iom_flush: md%new() failed: ', multio_error_string(cerr)) + END IF + + cerr = md%set_bool("toAllServers", .TRUE._1) + IF (cerr /= MULTIO_SUCCESS) THEN + CALL ctl_stop('iom_flush: md%set_bool(toAllServers) failed: ', multio_error_string(cerr)) + END IF + + cerr = md%set_string("domain", domain) + IF (cerr /= MULTIO_SUCCESS) THEN + CALL ctl_stop('iom_flush: md%set_string(domain) failed: ', multio_error_string(cerr)) + END IF + + cerr = md%set_int("step", step) + IF (cerr /= MULTIO_SUCCESS) THEN + CALL ctl_stop('iom_flush: md%set_int(step) failed: ', multio_error_string(cerr)) + END IF + + cerr = mio_handle%flush(md) + IF (cerr /= MULTIO_SUCCESS) THEN + CALL ctl_stop('iom_flush: mio_handle%multio_flush failed: ', multio_error_string(cerr)) + END IF + + cerr = md%delete() + IF (cerr /= MULTIO_SUCCESS) THEN + CALL ctl_stop('iom_flush: md%delete failed: ', multio_error_string(cerr)) + END IF + END SUBROUTINE + SUBROUTINE ctl_stop(m1, m2, m3, m4) USE mpi diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 7d3cf6e84..5308a88bf 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -82,6 +82,8 @@ module io_MEANDATA end type type(io_entry), save, allocatable, target :: io_list(:) + + integer :: last_flushed_step=0 ! !-------------------------------------------------------------------------------------------- ! generic interface was required to associate variables of unknown rank with the pointers of the same rank @@ -1163,6 +1165,10 @@ subroutine output(istep, ice, dynamics, tracers, partit, mesh) type(t_ice) , intent(inout), target :: ice character(:), allocatable :: filepath real(real64) :: rtime !timestamp of the record +#if defined(__MULTIO) + logical :: output_done + logical :: trigger_flush +#endif ctime=timeold+(dayold-1.)*86400 @@ -1182,6 +1188,11 @@ subroutine output(istep, ice, dynamics, tracers, partit, mesh) !___________________________________________________________________________ !PS if (partit%flag_debug .and. partit%mype==0) print *, achar(27)//'[33m'//' -I/O-> call update_means'//achar(27)//'[0m' call update_means + +#if defined(__MULTIO) + output_done = .false. +#endif + !___________________________________________________________________________ ! loop over defined streams do n=1, io_NSTREAMS @@ -1213,6 +1224,10 @@ subroutine output(istep, ice, dynamics, tracers, partit, mesh) call par_ex(partit%MPI_COMM_FESOM, partit%mype, 1) stop endif + +#if defined(__MULTIO) + output_done = output_done .or. do_output +#endif !_______________________________________________________________________ ! if its time for output --> do_output==.true. @@ -1316,6 +1331,15 @@ subroutine output(istep, ice, dynamics, tracers, partit, mesh) endif ! --> if (do_output) then end do ! --> do n=1, io_NSTREAMS lfirst=.false. + +#if defined(__MULTIO) + trigger_flush = output_done .and. (last_flushed_step .ne. istep) + if (trigger_flush) then + call iom_flush('N grid', istep) + last_flushed_step = istep + end if +#endif + end subroutine ! ! From b23b594d178d8068b9ef498668faacf034146d34 Mon Sep 17 00:00:00 2001 From: Razvan Aguridan Date: Tue, 28 May 2024 08:58:13 +0000 Subject: [PATCH 153/273] Remove extra flag --- src/io_meandata.F90 | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 5308a88bf..28dfc9cdf 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -82,8 +82,6 @@ module io_MEANDATA end type type(io_entry), save, allocatable, target :: io_list(:) - - integer :: last_flushed_step=0 ! !-------------------------------------------------------------------------------------------- ! generic interface was required to associate variables of unknown rank with the pointers of the same rank @@ -1333,10 +1331,8 @@ subroutine output(istep, ice, dynamics, tracers, partit, mesh) lfirst=.false. #if defined(__MULTIO) - trigger_flush = output_done .and. (last_flushed_step .ne. istep) - if (trigger_flush) then + if (output_done) then call iom_flush('N grid', istep) - last_flushed_step = istep end if #endif From d69968c590284a0d0aae8c168172a3f71a4f0d69 Mon Sep 17 00:00:00 2001 From: Razvan Aguridan Date: Tue, 28 May 2024 13:39:05 +0000 Subject: [PATCH 154/273] Prevent fesom crashes when running with 0 multio servers --- src/ifs_interface/iom.F90 | 31 ++++++++++++++++++++++++++----- src/ifs_interface/mpp_io.F90 | 7 ++++++- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/ifs_interface/iom.F90 b/src/ifs_interface/iom.F90 index 99733be6f..674f29e25 100644 --- a/src/ifs_interface/iom.F90 +++ b/src/ifs_interface/iom.F90 @@ -65,6 +65,7 @@ SUBROUTINE multio_custom_error_handler(context, err, info) SUBROUTINE iom_initialize(client_id, local_comm, return_comm, global_comm ) USE mpi + USE mpp_io, ONLY: lnomultio IMPLICIT NONE CHARACTER(LEN=*), INTENT(IN) :: client_id @@ -75,6 +76,8 @@ SUBROUTINE iom_initialize(client_id, local_comm, return_comm, global_comm ) INTEGER :: err CHARACTER(len=16) :: err_str + IF (lnomultio.EQ..TRUE._1) RETURN + mio_parent_comm = mpi_comm_world err = multio_initialise() @@ -149,9 +152,13 @@ SUBROUTINE iom_initialize(client_id, local_comm, return_comm, global_comm ) END SUBROUTINE iom_initialize SUBROUTINE iom_finalize() + USE mpp_io, ONLY: lnomultio + IMPLICIT NONE INTEGER :: err + IF (lnomultio.EQ..TRUE._1) RETURN + err = mio_handle%close_connections(); IF (err /= MULTIO_SUCCESS) THEN CALL ctl_stop('mio_handle%close_connections failed: ', multio_error_string(err)) @@ -164,11 +171,15 @@ SUBROUTINE iom_finalize() END SUBROUTINE iom_finalize SUBROUTINE iom_init_server(server_comm) - IMPLICIT NONE - INTEGER, INTENT(IN) :: server_comm - type(multio_configuration) :: conf_ctx - INTEGER :: err - CHARACTER(len=16) :: err_str + USE mpp_io, ONLY: lnomultio + + IMPLICIT NONE + INTEGER, INTENT(IN) :: server_comm + type(multio_configuration) :: conf_ctx + INTEGER :: err + CHARACTER(len=16) :: err_str + + IF (lnomultio.EQ..TRUE._1) RETURN mio_parent_comm = server_comm @@ -231,6 +242,7 @@ SUBROUTINE iom_init_server(server_comm) END SUBROUTINE iom_init_server SUBROUTINE iom_send_fesom_domains(partit, mesh) + USE mpp_io, ONLY: lnomultio USE MOD_MESH USE MOD_PARTIT @@ -248,6 +260,8 @@ SUBROUTINE iom_send_fesom_domains(partit, mesh) #include "../associate_part_ass.h" #include "../associate_mesh_ass.h" + IF (lnomultio.EQ..TRUE._1) RETURN + cerr = md%new(mio_handle) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_domains: ngrid, md%new() failed: ', multio_error_string(cerr)) @@ -332,6 +346,7 @@ SUBROUTINE iom_send_fesom_domains(partit, mesh) END SUBROUTINE iom_send_fesom_domains SUBROUTINE iom_send_fesom_data(data) + USE mpp_io, ONLY: lnomultio USE g_clock USE g_config, only: MeshId IMPLICIT NONE @@ -340,6 +355,8 @@ SUBROUTINE iom_send_fesom_data(data) INTEGER :: cerr TYPE(multio_metadata) :: md + IF (lnomultio.EQ..TRUE._1) RETURN + cerr = md%new(mio_handle) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%new() failed: ', multio_error_string(cerr)) @@ -424,6 +441,8 @@ SUBROUTINE iom_send_fesom_data(data) END SUBROUTINE SUBROUTINE iom_flush(domain, step) + USE mpp_io, ONLY: lnomultio + IMPLICIT NONE CHARACTER(6), INTENT(IN) :: domain @@ -432,6 +451,8 @@ SUBROUTINE iom_flush(domain, step) INTEGER :: cerr TYPE(multio_metadata) :: md + IF (lnomultio.EQ..TRUE._1) RETURN + cerr = md%new(mio_handle) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('iom_flush: md%new() failed: ', multio_error_string(cerr)) diff --git a/src/ifs_interface/mpp_io.F90 b/src/ifs_interface/mpp_io.F90 index e285b111a..d22080026 100644 --- a/src/ifs_interface/mpp_io.F90 +++ b/src/ifs_interface/mpp_io.F90 @@ -19,7 +19,8 @@ MODULE mpp_io INTEGER :: ntask_multio = 0 INTEGER :: ntask_xios = 0 - LOGICAL, PUBLIC :: lioserver, lmultioserver, lmultiproc + LOGICAL, PUBLIC :: lioserver, lmultioserver, lmultiproc + LOGICAL, PUBLIC :: lnomultio = .TRUE._1 INTEGER :: ntask_notio INTEGER, SAVE :: mppallrank, mppallsize, mppiorank, mppiosize INTEGER, SAVE :: mppmultiorank, mppmultiosize @@ -78,6 +79,10 @@ SUBROUTINE mpp_io_init( iicomm, lio, irequired, iprovided, lmpi1 ) WRITE(*,namio) CLOSE(10) + IF (ntask_multio /= 0) THEN + lnomultio = .FALSE._1 + ENDIF + IF ( ntask_xios + ntask_multio == 0 ) THEN iicomm = mpi_comm_world lio=.FALSE. From d5f9f8ac0bd0a5d9bd5022942448fec719324ee4 Mon Sep 17 00:00:00 2001 From: ogurses Date: Thu, 30 May 2024 13:04:23 +0200 Subject: [PATCH 155/273] feat(recom): Add ballasting, OmegaC dependent calcite dissolution, CO2 dependence of photosynthesis rate, the formation and dissolution of CaCO3 by coccolithophores and oxygen dependency of organic matter remineralisation. Use namelist.recom to activate ballasting, CO2lim, OmegaC_diss and O2dep_remin. Carbonate chemistry is computed at every tracer point. Sinking velocity of particle (fast and slow) is scaled by particle density and/or water viscosity (optional). Ocean carbonate chemistry is calculated in/below the euphoric zone weekly/monthly using MOCSY2.0 routines. The output variables are used to compute OmegaC dependent calcite dissolution (before depth dependent) and CO2 dependence on the photosynthesis rate of phytoplankton groups. Organic matter remineralisation rate is not only depend on temperature but also O2 concentration. Namelist.recom in config/bin_3p3z2d folder is updated. --- config/bin_3p3z2d/namelist.recom | 38 +-- src/int_recom/recom_forcing.F90 | 34 ++- src/int_recom/recom_init.F90 | 46 +++- src/int_recom/recom_main.F90 | 105 +++++--- src/int_recom/recom_modules.F90 | 29 +- src/int_recom/recom_sinking.F90 | 438 ++++++++++++++++++++++++++----- src/int_recom/recom_sms.F90 | 186 ++++++++++++- src/oce_ale_tracer.F90 | 16 ++ 8 files changed, 739 insertions(+), 153 deletions(-) diff --git a/config/bin_3p3z2d/namelist.recom b/config/bin_3p3z2d/namelist.recom index 06d8278ce..3679e244f 100644 --- a/config/bin_3p3z2d/namelist.recom +++ b/config/bin_3p3z2d/namelist.recom @@ -28,12 +28,12 @@ REcoM_Grazing_Variable_Preference = .true. ! Decides if grazing should have pref Grazing_detritus = .true. het_resp_noredfield = .true. ! Decides respiratation of copepod group diatom_mucus = .true. ! Decides nutrient limitation effect on aggregation -O2dep_remin = .false. ! O2remin Add option for O2 dependency of organic matter remineralization -use_ballasting = .false. ! BALL -use_density_scaling = .false. ! BALL -use_viscosity_scaling = .false. ! BALL -OmegaC_diss = .false. ! DISS Use OmegaC from Mocsy to compute calcite dissolution (after Aumont et al. 2015 and Gehlen et al. 2007) -CO2lim = .false. ! CO2 dependence of growth and calcification +O2dep_remin = .true. ! O2remin Add option for O2 dependency of organic matter remineralization +use_ballasting = .true. ! BALL +use_density_scaling = .true. ! BALL +use_viscosity_scaling = .true. ! BALL +OmegaC_diss = .true. ! DISS Use OmegaC from Mocsy to compute calcite dissolution (after Aumont et al. 2015 and Gehlen et al. 2007) +CO2lim = .true. ! CO2 dependence of growth and calcification Diags = .true. constant_CO2 = .true. UseFeDust = .true. ! Turns dust input of iron off when set to.false. @@ -150,11 +150,11 @@ epsilonr = 0.09d0 ! [(mmol N)2 /m6] Half saturation constant f res_het = 0.028d0 ! [1/day] Respiration by heterotrophs and mortality (loss to detritus) Redfield = 6.625 ! [mmol C/mmol N] Redfield ratio of C:N = 106:16 loss_het = 0.04d0 ! [1/day] Temperature dependent N degradation of extracellular organic N (EON) -pzDia = 1.0d0 !0.5d0 ! Maximum diatom preference +pzDia = 0.5d0 !1.0d0 !0.5d0 ! Maximum diatom preference sDiaNsq = 0.d0 -pzPhy = 0.5d0 !0.25d0 !1.0d0 ! Maximum nano-phytoplankton preference (NEW: 3/12) +pzPhy = 0.04d0 !0.5d0 !0.25d0 !1.0d0 ! Maximum nano-phytoplankton preference (NEW: 3/12) sPhyNsq = 0.d0 -pzCocco = 0.666d0 ! NEW (8/12) +pzCocco = 0.4d0 !0.666d0 ! NEW (8/12) sCoccoNsq = 0.d0 ! NEW pzMicZoo = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference sMicZooNsq = 0.d0 ! NEW 3Zoo @@ -170,11 +170,11 @@ fecal_rate_n = 0.104d0 ! [1/day] Temperature dependent N degradatio fecal_rate_c = 0.236d0 fecal_rate_n_mes = 0.25d0 ! NEW 3Zoo fecal_rate_c_mes = 0.32d0 ! NEW 3Zoo -pzDia2 = 1.5d0 !1.d0 ! Maximum diatom preference +pzDia2 = 1.0d0 !1.5d0 !1.d0 ! Maximum diatom preference sDiaNsq2 = 0.d0 -pzPhy2 = 0.5d0 ! Maximum diatom preference +pzPhy2 = 0.07d0 !0.5d0 ! Maximum diatom preference sPhyNsq2 = 0.d0 -pzCocco2 = 0.5d0 ! NEW +pzCocco2 = 0.7 !0.5d0 ! NEW sCoccoNsq2 = 0.d0 ! NEW pzHet = 1.5d0 !0.8d0 ! Maximum diatom preference sHetNsq = 0.d0 @@ -190,12 +190,12 @@ t4_zoo2 = 274.15d0 ! Krill temp. function constant3 graz_max3 = 0.46d0 ! NEW 3Zoo [mmol N/(m3 * day)] Maximum grazing loss parameter epsilon3 = 0.64d0 ! NEW 3Zoo [(mmol N)2 /m6] Half saturation constant for grazing loss loss_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Temperature dependent N degradation of extracellular organic N (EON) -res_miczoo = 0.01d0 ! NEW 3Zoo [1/day] Respiration by heterotrophs and mortality (loss to detritus) -pzDia3 = 0.5d0 ! NEW 3Zoo Maximum diatom preference +res_miczoo = 0.02d0 !0.01d0 ! NEW 3Zoo [1/day] Respiration by heterotrophs and mortality (loss to detritus) +pzDia3 = 0.04d0 !0.5d0 ! NEW 3Zoo Maximum diatom preference sDiaNsq3 = 0.d0 ! NEW 3Zoo -pzPhy3 = 1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference +pzPhy3 = 0.07 !1.0d0 ! NEW 3Zoo Maximum nano-phytoplankton preference sPhyNsq3 = 0.d0 ! NEW 3Zoo -pzCocco3 = 0.d0 ! NEW 3Zoo Maximum coccolithophore preference ! ATTENTION: This value needs to be tuned; I start with zero preference! +pzCocco3 = 0.7d0 !0.d0 ! NEW 3Zoo Maximum coccolithophore preference ! ATTENTION: This value needs to be tuned; I start with zero preference! sCoccoNsq3 = 0.d0 ! NEW 3Zoo / @@ -298,8 +298,8 @@ RiverFeConc = 100 &pacalc calc_prod_ratio = 0.02 -calc_diss_guts = 0.0d0 -calc_diss_rate = 0.005714 ! 20.d0/3500.d0 +calc_diss_guts = 0.5d0 !0.0d0 +calc_diss_rate = 0.005714d0 ! 20.d0/3500.d0 calc_diss_rate2 = 0.005714d0 calc_diss_omegac = 0.197d0 ! NEW DISS Value from Aumont et al. 2015, will be used with OmegaC_diss flag calc_diss_exp = 1.d0 ! NEW DISS Exponent in the dissolution rate of calcite, will be used with OmegaC_diss flag @@ -335,7 +335,7 @@ rho_ref_water = 1027.d0 ! kg m-3; reference seawater density (see Cram visc_ref_water = 0.00158d0 ! kg m-1 s-1; reference seawater viscosity, at Temp=4 degC (see Cram et al., 2018) w_ref1 = 10.d0 ! m s-1; reference sinking velocity of small detritus w_ref2 = 200.d0 ! m s-1; reference sinking velocity of large detritus -depth_scaling1 = 0.015d0 ! s-1; factor to increase sinking speed of det1 with depth, set to 0 if not wanted +depth_scaling1 = 0.01d0 !5d0 ! s-1; factor to increase sinking speed of det1 with depth, set to 0 if not wanted depth_scaling2 = 0.d0 ! s-1; factor to increase sinking speed of det2 with depth, set to 0 if not wanted max_sinking_velocity = 250.d0 ! d-1; for numerical stability, set a maximum possible sinking velocity here (applies to both detritus classes) / diff --git a/src/int_recom/recom_forcing.F90 b/src/int_recom/recom_forcing.F90 index 2acc254bc..81650779d 100644 --- a/src/int_recom/recom_forcing.F90 +++ b/src/int_recom/recom_forcing.F90 @@ -2,6 +2,14 @@ ! REcoM_Forcing !=============================================================================== subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sali_depth & + , CO2_watercolumn & + , pH_watercolumn & + , pCO2_watercolumn & + , HCO3_watercolumn & + , CO3_watercolumn & + , OmegaC_watercolumn & + , kspc_watercolumn & + , rhoSW_watercolumn & , PAR, ice, dynamics, tracers, partit, mesh) use recom_declarations @@ -41,7 +49,17 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal real(kind=8) :: SurfSW ! [W/m2] ShortWave radiation at surface real(kind=8) :: Loc_slp ! [Pa] sea-level pressure real(kind=8),dimension(mesh%nl-1) :: Temp ! [degrees C] Ocean temperature - real(kind=8),dimension(mesh%nl-1) :: Sali_depth ! NEW MOCSY Salinity for the whole water column + real(kind=8),dimension(mesh%nl-1) :: Sali_depth ! Salinity for the whole water column + + !!---- Watercolumn carbonate chemistry + real(kind=8),dimension(mesh%nl-1) :: CO2_watercolumn + real(kind=8),dimension(mesh%nl-1) :: pH_watercolumn + real(kind=8),dimension(mesh%nl-1) :: pCO2_watercolumn + real(kind=8),dimension(mesh%nl-1) :: HCO3_watercolumn + real(kind=8),dimension(mesh%nl-1) :: CO3_watercolumn + real(kind=8),dimension(mesh%nl-1) :: OmegaC_watercolumn + real(kind=8),dimension(mesh%nl-1) :: kspc_watercolumn + real(kind=8),dimension(mesh%nl-1) :: rhoSW_watercolumn real(kind=8),dimension(mesh%nl-1) :: PAR @@ -100,7 +118,7 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal call Cobeta(partit, mesh) call Depth_calculations(n, Nn,SinkVel,zF,thick,recipthick, partit, mesh) - !! ----- mocsy -------! + !! *** Mocsy *** !!---- convert from mmol/m3 to mol/m3 REcoM_DIC = max(tiny*1e-3, state(one,idic)*1e-3) @@ -138,7 +156,7 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal call pistonvel(ULoc, Loc_ice_conc, Nmocsy, kw660) - !! ----- check -------! + !! *** check *** if((REcoM_DIC(1) > 10000.d0)) then ! NEW: added this entire print statement (if to endif) print*, 'NEW ERROR: DIC !' @@ -220,7 +238,15 @@ subroutine REcoM_Forcing(zNodes, n, Nn, state, SurfSW, Loc_slp , Temp, Sali, Sal ! call REcoM_sms(n, Nn, state, thick, recipthick, SurfSW, sms, Temp ,zF, PAR, mesh) call REcoM_sms(n, Nn, state, thick, recipthick, SurfSW, sms, Temp, Sali_depth & - , Loc_slp & !, SinkVel + , CO2_watercolumn & ! MOCSY [mol/m3] + , pH_watercolumn & ! MOCSY on total scale + , pCO2_watercolumn & ! MOCSY [uatm] + , HCO3_watercolumn & ! MOCSY [mol/m3] + , CO3_watercolumn & ! DISS [mol/m3] + , OmegaC_watercolumn & ! DISS calcite saturation state + , kspc_watercolumn & ! DISS stoichiometric solubility product [mol^2/kg^2] + , rhoSW_watercolumn & ! DISS in-situ density of seawater [kg/m3] + , Loc_slp & , zF, PAR, Lond, Latd, ice, dynamics, tracers, partit, mesh) state(1:nn,:) = max(tiny,state(1:nn,:) + sms(1:nn,:)) diff --git a/src/int_recom/recom_init.F90 b/src/int_recom/recom_init.F90 index f9ca528f3..e9b5aebbf 100644 --- a/src/int_recom/recom_init.F90 +++ b/src/int_recom/recom_init.F90 @@ -30,9 +30,6 @@ subroutine recom_init(tracers, partit, mesh) use REcoM_locVar use recom_config use REcoM_ciso - ! fesom modules -! use o_ARRAYS -! use o_MESH implicit none #include "netcdf.inc" !___________________________________________________________________________ @@ -73,6 +70,7 @@ subroutine recom_init(tracers, partit, mesh) allocate(RiverDSi2D ( node_size )) allocate(RiverDIC2D ( node_size )) allocate(RiverAlk2D ( node_size )) + !! * Erosion nutrients as surface boundary condition * allocate(ErosionTON2D ( node_size )) allocate(ErosionTOC2D ( node_size )) @@ -97,8 +95,6 @@ subroutine recom_init(tracers, partit, mesh) allocate(LocBenthos ( benthos_num )) allocate(decayBenthos ( benthos_num )) ! [1/day] Decay rate of detritus in the benthic layer -! allocate(wFluxPhy ( benthos_num )) ! [mmol/(m2 * day)] Flux of N,C, calc and chl through sinking of phytoplankton -! allocate(wFluxDia ( benthos_num )) ! [mmol/(m2 * day)] Flux of N,C, Si and chl through sinking of diatoms allocate(PAR3D ( nl-1, node_size )) GloFeDust = 0.d0 @@ -213,6 +209,43 @@ subroutine recom_init(tracers, partit, mesh) NPPc3D = 0.d0 end if +!! *** Allocate 3D mocsy *** + allocate(CO23D ( nl-1, node_size )) + allocate(pH3D ( nl-1, node_size )) + allocate(pCO23D ( nl-1, node_size )) + allocate(HCO33D ( nl-1, node_size )) + allocate(CO33D ( nl-1, node_size )) + allocate(OmegaC3D ( nl-1, node_size )) + allocate(kspc3D ( nl-1, node_size )) + allocate(rhoSW3D ( nl-1, node_size )) + + CO23D(:,:) = 0.d0 + pH3D(:,:) = 0.d0 + pCO23D(:,:) = 0.d0 + HCO33D(:,:) = 0.d0 + CO33D(:,:) = 0.d0 + OmegaC3D(:,:) = 0.d0 + kspc3D(:,:) = 0.d0 + rhoSW3D(:,:) = 0.d0 + +!! *** Allocate ballasting *** + allocate(rho_particle1 ( nl-1, node_size )) + allocate(rho_particle2 ( nl-1, node_size )) + allocate(scaling_density1_3D ( nl, node_size )) + allocate(scaling_density2_3D ( nl, node_size )) + allocate(scaling_visc_3D ( nl, node_size )) + allocate(seawater_visc_3D ( nl-1, node_size )) + rho_particle1 = 0.d0 + rho_particle2 = 0.d0 + scaling_density1_3D = 0.d0 + scaling_density2_3D = 0.d0 + scaling_visc_3D = 0.d0 + seawater_visc_3D = 0.d0 + + allocate(Sinkingvel1(nl,node_size), Sinkingvel2(nl,node_size)) + Sinkingvel1(:,:) = 0.d0 + Sinkingvel2(:,:) = 0.d0 + DO i=num_tracers-bgc_num+1, num_tracers id=tracers%data(i)%ID @@ -337,7 +370,6 @@ subroutine recom_init(tracers, partit, mesh) END DO !------------------------------------------ - !< Mask hydrothermal vent in Eastern Equatorial Pacific GO do row=1, myDim_nod2D+eDim_nod2D !if (ulevels_nod2D(row)>1) cycle @@ -348,7 +380,7 @@ subroutine recom_init(tracers, partit, mesh) if (((geo_coord_nod2D(2,row) > -12.5*rad) .and. (geo_coord_nod2D(2,row) < 9.5*rad))& .and.((geo_coord_nod2D(1,row)> -106.0*rad) .and. (geo_coord_nod2D(1,row) < -72.0*rad))) then if (abs(Z_3d_n(k,row))<2000.0_WP) cycle - tracers%data(21)%values(k,row) = min(0.6, tracers%data(21)%values(k,row)) + tracers%data(21)%values(k,row) = min(0.3, tracers%data(21)%values(k,row)) ! OG todo: try 0.6 end if end do end do diff --git a/src/int_recom/recom_main.F90 b/src/int_recom/recom_main.F90 index 27327221a..c89386ecb 100755 --- a/src/int_recom/recom_main.F90 +++ b/src/int_recom/recom_main.F90 @@ -74,6 +74,18 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) real(kind=8), allocatable :: Temp(:), Sali_depth(:), zr(:), PAR(:) real(kind=8), allocatable :: C(:,:) + !! * Mocsy * + real(kind=8), allocatable :: CO2_watercolumn(:) + real(kind=8), allocatable :: pH_watercolumn(:) + real(kind=8), allocatable :: pCO2_watercolumn(:) + real(kind=8), allocatable :: HCO3_watercolumn(:) + + !! * Diss * + real(kind=8), allocatable :: CO3_watercolumn(:) + real(kind=8), allocatable :: OmegaC_watercolumn(:) + real(kind=8), allocatable :: kspc_watercolumn(:) + real(kind=8), allocatable :: rhoSW_watercolumn(:) + #include "../associate_part_def.h" #include "../associate_mesh_def.h" #include "../associate_part_ass.h" @@ -81,6 +93,8 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) allocate(Temp(nl-1), Sali_depth(nl-1), zr(nl-1) , PAR(nl-1)) allocate(C(nl-1, bgc_num)) + allocate(CO2_watercolumn(nl-1), pH_watercolumn(nl-1), pCO2_watercolumn(nl-1) , HCO3_watercolumn(nl-1)) + allocate(CO3_watercolumn(nl-1), OmegaC_watercolumn(nl-1), kspc_watercolumn(nl-1) , rhoSW_watercolumn(nl-1)) !< ice concentration [0 to 1] @@ -145,6 +159,20 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) Sali = tracers%data(2)%values(1, n) Sali_depth(1:nzmax) = tracers%data(2)%values(1:nzmax, n) + + !!---- CO2 in the watercolumn + + !! * Mocsy * + CO2_watercolumn(1:nzmax) = CO23D(1:nzmax, n) + pH_watercolumn(1:nzmax) = pH3D(1:nzmax, n) + pCO2_watercolumn(1:nzmax) = pCO23D(1:nzmax, n) + HCO3_watercolumn(1:nzmax) = HCO33D(1:nzmax, n) + !! * Diss * + CO3_watercolumn(1:nzmax) = CO33D(1:nzmax, n) + OmegaC_watercolumn(1:nzmax) = OmegaC3D(1:nzmax, n) + kspc_watercolumn(1:nzmax) = kspc3D(1:nzmax, n) + rhoSW_watercolumn(1:nzmax) = rhoSW3D(1:nzmax, n) + !!---- Biogeochemical tracers do tr_num = num_tracers-bgc_num+1, num_tracers C(1:nzmax, tr_num-2) = tracers%data(tr_num)%values(1:nzmax, n) @@ -162,8 +190,7 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) if (Diags) then - !!---- Allocate 3D diagnostics - + !! * Allocate 3D diagnostics * allocate(vertrespmeso(nl-1), vertrespmacro(nl-1), vertrespmicro(nl-1)) vertrespmeso = 0.d0 vertrespmacro = 0.d0 @@ -188,7 +215,7 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) vertrespd = 0.d0 vertrespc = 0.d0 - !!---- Allocate 2D diagnostics + !! * Allocate 2D diagnostics * allocate(vertNPPn(nl-1), vertGPPn(nl-1), vertNNAn(nl-1), vertChldegn(nl-1)) vertNPPn = 0.d0 vertGPPn = 0.d0 @@ -213,6 +240,14 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) ! ====================================================================================== !******************************** RECOM FORCING **************************************** call REcoM_Forcing(zr, n, nzmax, C, SW, Loc_slp , Temp, Sali, Sali_depth & + , CO2_watercolumn & ! NEW MOCSY CO2 for the whole watercolumn + , pH_watercolumn & ! NEW MOCSY pH for the whole watercolumn + , pCO2_watercolumn & ! NEW MOCSY pCO2 for the whole watercolumn + , HCO3_watercolumn & ! NEW MOCSY HCO3 for the whole watercolumn + , CO3_watercolumn & ! NEW DISS CO3 for the whole watercolumn + , OmegaC_watercolumn & ! NEW DISS OmegaC for the whole watercolumn + , kspc_watercolumn & ! NEW DISS stoichiometric solubility product for calcite [mol^2/kg^2] + , rhoSW_watercolumn & ! NEW DISS in-situ density of seawater [mol/m^3] , PAR, ice, dynamics, tracers, partit, mesh) do tr_num = num_tracers-bgc_num+1, num_tracers !bgc_num+2 @@ -222,10 +257,10 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) !!---- Local variables that have been changed during the time-step are stored so they can be saved Benthos(n,1:benthos_num) = LocBenthos(1:benthos_num) GlodecayBenthos(n, 1:benthos_num) = decayBenthos(1:benthos_num)/SecondsPerDay ! convert from [mmol/m2/d] to [mmol/m2/s] - GloHplus(n) = ph(1) !hplus if (Diags) then - !!---- Updating 2D diagnostics + + !! * Update 2D diagnostics * NPPn(n) = locNPPn NPPd(n) = locNPPd NPPc(n) = locNPPc @@ -239,7 +274,7 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) Chldegd(n) = locChldegd Chldegc(n) = locChldegc - !!---- Updating 3D diagnostics + !! * Update 3D diagnostics * respmeso (1:nzmax,n) = vertrespmeso (1:nzmax) respmacro (1:nzmax,n) = vertrespmacro (1:nzmax) respmicro (1:nzmax,n) = vertrespmicro (1:nzmax) @@ -258,20 +293,24 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) NPPd3D (1:nzmax,n) = vertNPPd (1:nzmax) NPPc3D (1:nzmax,n) = vertNPPc (1:nzmax) if (recom_debug .and. mype==0) print *, achar(27)//'[36m'//' --> ciso after REcoM_Forcing'//achar(27)//'[0m' - !!---- Deallocating 2D diagnostics + + !! * Deallocating 2D diagnostics * deallocate(vertNPPn, vertGPPn, vertNNAn, vertChldegn) deallocate(vertNPPd, vertGPPd, vertNNAd, vertChldegd) deallocate(vertNPPc, vertGPPc, vertNNAc, vertChldegc) - !!---- Deallocating 3D Diagnostics + !! * Deallocating 3D Diagnostics * deallocate(vertrespmeso, vertrespmacro, vertrespmicro ) deallocate(vertcalcdiss, vertcalcif ) deallocate(vertaggn, vertaggd, vertaggc ) deallocate(vertdocexn, vertdocexd, vertdocexc ) deallocate(vertrespn, vertrespd, vertrespc ) + end if + AtmFeInput(n) = FeDust AtmNInput(n) = NDust + GloHplus(n) = ph(1) GloPCO2surf(n) = pco2surf(1) GlodPCO2surf(n) = dpco2surf(1) @@ -279,13 +318,26 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) GloCO2flux_seaicemask(n) = co2flux_seaicemask(1) ! [mmol/m2/s] GloO2flux_seaicemask(n) = o2flux_seaicemask(1) ! [mmol/m2/s] GloO2flux(n) = oflux(1) ! [mmol/m2/d] - end if + + PAR3D(1:nzmax,n) = PAR(1:nzmax) + + !! * Mocsy * + CO23D(1:nzmax,n) = CO2_watercolumn(1:nzmax) + pH3D(1:nzmax,n) = pH_watercolumn(1:nzmax) + pCO23D(1:nzmax,n) = pCO2_watercolumn(1:nzmax) + HCO33D(1:nzmax,n) = HCO3_watercolumn(1:nzmax) + + !! * Diss * + CO33D(1:nzmax,n) = CO3_watercolumn(1:nzmax) + OmegaC3D(1:nzmax,n) = OmegaC_watercolumn(1:nzmax) + kspc3D(1:nzmax,n) = kspc_watercolumn(1:nzmax) + rhoSW3D(1:nzmax,n) = rhoSW_watercolumn(1:nzmax) end do ! ====================================================================================== !************************** EXCHANGE NODAL INFORMATION ********************************* - do tr_num=num_tracers-bgc_num+1, num_tracers !bgc_num+2 + do tr_num=num_tracers-bgc_num+1, num_tracers call exchange_nod(tracers%data(tr_num)%values(:,:), partit) end do @@ -314,7 +366,7 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) call exchange_nod(Chldegc, partit) endif - do n=1, benthos_num !4 + do n=1, benthos_num call exchange_nod(GlodecayBenthos(:,n), partit) end do @@ -322,6 +374,16 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) call exchange_nod(AtmFeInput, partit) call exchange_nod(AtmNInput, partit) + call exchange_nod(PAR3D, partit) + + call exchange_nod(CO23D, partit) + call exchange_nod(pH3D, partit) + call exchange_nod(pCO23D, partit) + call exchange_nod(HCO33D, partit) + call exchange_nod(CO33D, partit) + call exchange_nod(OmegaC3D, partit) + call exchange_nod(kspc3D, partit) + call exchange_nod(rhoSW3D, partit) end subroutine recom ! ====================================================================================== @@ -388,21 +450,12 @@ subroutine bio_fluxes(tracers, partit, mesh) !___________________________________________________________________________ ! Balance alkalinity restoring to climatology -! if (.not. restore_alkalinity) return do n=1, myDim_nod2D+eDim_nod2D -! relax_alk(n)=surf_relax_Alk*(Alk_surf(n)-tr_arr(1,n,2+ialk)) ! 1 temp, 2 salt ! relax_alk(n)=surf_relax_Alk * (Alk_surf(n) - tracers%data(2+ialk)%values(1, n)) ! relax_alk(n)=surf_relax_Alk * (Alk_surf(n) - alkalinity(ulevels_nod2d(n),n) relax_alk(n)=surf_relax_Alk * (Alk_surf(n) - alkalinity(1, n)) end do -! if (mype==0) then -! write(*,*) 'Alk_surf = ', Alk_surf -! write(*,*) 'tr_arr = ', tracers%data(2+ialk)%values(1, :) -! write(*,*) 'relax_alk = ', relax_alk -! endif - - ! 2. virtual alkalinity flux ! if (use_virt_alk) then ! is already zero otherwise ! call integrate_nod(virtual_alk, net, partit, mesh) @@ -411,20 +464,8 @@ subroutine bio_fluxes(tracers, partit, mesh) ! 3. restoring to Alkalinity climatology -! call integrate_nod(relax_alk, net, mesh) call integrate_nod(relax_alk, net, partit, mesh) -! if (mype==0) then -! write(*,*) 'ocean_area = ', ocean_area -! write(*,*) 'net = ', net -! write(*,*) 'net/ocean_area = ', net/ocean_area -! endif relax_alk=relax_alk-net/ocean_area ! at ocean surface layer - -! if (mype==0) then -! write(*,*) '____________________________________________________________' -! write(*,*) ' --> relax_alk, = ', relax_alk -! endif - end subroutine bio_fluxes diff --git a/src/int_recom/recom_modules.F90 b/src/int_recom/recom_modules.F90 index 6e5cd14a5..c4113377c 100644 --- a/src/int_recom/recom_modules.F90 +++ b/src/int_recom/recom_modules.F90 @@ -30,10 +30,10 @@ module recom_config isi = 18, ife = 19, iphycal = 20, idetcal = 21, & ioxy = 22 +#if defined (__3Zoo2Det) ! ******************* ! CASE 2phy 2zoo 2det ! ******************* -#if defined (__3Zoo2Det) Integer :: izoo2n = 23, izoo2c = 24, idetz2n = 25, & idetz2c = 26, idetz2si = 27, idetz2calc = 28 #endif @@ -43,6 +43,7 @@ module recom_config ! CASE 3phy 2zoo 2det ! ******************* Integer :: icocn = 29, icocc = 30, icchl = 31 + #elif defined (__coccos) & !defined (__3Zoo2Det) ! ******************* ! CASE 3phy 1zoo 1det @@ -55,6 +56,7 @@ module recom_config ! CASE 3phy 3zoo 2det ! ******************* Integer :: imiczoon = 32, imiczooc = 33 + #elif !defined (__coccos) & defined (__3Zoo2Det) ! ******************* ! CASE 2phy 3zoo 2det @@ -62,26 +64,28 @@ module recom_config Integer :: imiczoon = 29, imiczooc = 30 #endif - Integer :: ivphy = 1, ivdia = 2, ivdet = 3, ivdetsc = 4, ivcoc = 5 +!============================================================================= + + Integer :: ivphy = 1, ivdia = 2, ivdet = 3, ivdetsc = 4, ivcoc = 5 + +!============================================================================= -!!MB TEST: tracer ids for revised remineralization and sinking in oce_ale_tracer.F90 integer, dimension(8) :: recom_remin_tracer_id = (/1001, 1002, 1003, 1018, 1019, 1022, 1302, 1402/) - integer, dimension(26) :: recom_sinking_tracer_id = (/1007, 1008, 1017, 1021, 1004, 1005, 1020, 1006, & !!!!! for coocos 29 +! OG +! Todo: Make recom_sinking_tracer_id case sensitive + integer, dimension(29) :: recom_sinking_tracer_id = (/1007, 1008, 1017, 1021, 1004, 1005, 1020, 1006, & 1013, 1014, 1016, 1015, 1025, 1026, 1027, 1028, & -! 1029, 1030, 1031, & + 1029, 1030, 1031, & 1308, 1321, 1305, 1320, & 1314, 1408, 1421, 1405, 1420, 1414/) - integer, dimension(8) :: recom_det_tracer_id = (/1007, 1008, 1017, 1021, 1308, 1321, 1408, 1421/) - integer, dimension(8) :: recom_phy_tracer_id = (/1004, 1005, 1020, 1305, 1320, 1405, 1420, 1006/) - integer, dimension(6) :: recom_dia_tracer_id = (/1013, 1014, 1314, 1414, 1016, 1015/) - #if defined (__coccos) & defined (__3Zoo2Det) integer, dimension(3) :: recom_cocco_tracer_id = (/1029, 1030, 1031/) + #elif defined (__coccos) & !defined (__3Zoo2Det) integer, dimension(3) :: recom_cocco_tracer_id = (/1023, 1024, 1025/) #endif @@ -90,6 +94,8 @@ module recom_config integer, dimension(4) :: recom_det2_tracer_id = (/1025, 1026, 1027, 1028/) #endif +!============================================================================= + Real(kind=8) :: zero = 0.d0 Integer :: one = 1 Real(kind=8) :: tiny = 2.23D-16 @@ -796,7 +802,6 @@ Module REcoM_locVar Real(kind=8) :: oflux(1) ! [mmol/m2/day] Flux of O2 into the ocean Real(kind=8) :: o2ex(1) ! [mmol/m2/s] Flux of O2 into the ocean Real(kind=8) :: ULoc(1) ! Wind strength above current 2D node, change array size if used with mocsy input vector longer than one - Real(kind=8) :: Loc_ice_conc(1) Real(kind=8) :: dpCO2surf(1) ! [uatm] difference of oceanic pCO2 minus atmospheric pCO2 ! mocsy output ----------------------------------------------------------------------------------------------------------------------------- @@ -815,7 +820,9 @@ Module REcoM_locVar Real(kind=8) :: rhoSW(1) ! rhoSW = in-situ density of seawater; rhoSW = f(s, t, p) Real(kind=8) :: p(1) ! pressure [decibars]; p = f(depth, latitude) if computed from depth [m] OR p = depth if [db] Real(kind=8) :: tempis(1) ! in-situ temperature [degrees C] + Real(kind=8) :: dpos(1) ! depth converted to positive values, needed in the mocsy routine Real(kind=8) :: kw660(1) ! gas transfer velocity (piston velocity) for CO2 [m/s] + Real(kind=8) :: K0(1) ! CO2 solubility Real(kind=8) :: co2flux_seaicemask(1) ! air-to-sea flux of CO2 [mmol/m2/s] Real(kind=8) :: o2flux_seaicemask(1) ! air-to-sea flux of CO2 [mmol/m2/s] @@ -843,7 +850,7 @@ Module REcoM_locVar Real(kind=8) :: k1, k2, kw, kb, ff ! Common block: Equilibrium_constants Real(kind=8) :: FeDust ! [umol/m2/s] Real(kind=8) :: NDust ! [mmol/m2/s] -! Real(kind=8) :: Loc_ice_conc(1) ! Used to calculate flux of DIC in REcoM 0 -> 1 + Real(kind=8) :: Loc_ice_conc(1) ! Used to calculate flux of DIC in REcoM 0 -> 1 Real(kind=8) :: LocAtmCO2(1) ! [uatm] Real(kind=8) :: LocDiags2D(12) ! (changed it from 8 to 12) ! Real(kind=8) :: LocDenit ! BALL diff --git a/src/int_recom/recom_sinking.F90 b/src/int_recom/recom_sinking.F90 index 31bd6799b..3505ec384 100644 --- a/src/int_recom/recom_sinking.F90 +++ b/src/int_recom/recom_sinking.F90 @@ -121,7 +121,8 @@ subroutine ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) Vben= Vben/SecondsPerDay ! conversion [m/d] --> [m/s] (vertical velocity, note that it is positive here) k=nod_in_elem2D_num(n) - ! Screening minimum depth in neigbouring nodes around node n + + !! * Screening minimum depth in neigbouring nodes around node n* nlevels_nod2D_minimum=minval(nlevels(nod_in_elem2D(1:k, n))-1) do nz=nlevels_nod2D_minimum, nl1 @@ -134,32 +135,32 @@ subroutine ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) add_benthos_2d(n) = add_benthos_2d(n) - (aux(nz))*dt !!!!!!!!CHECK Maybe /area(nz,n) -> [mmol/m2] end do - ! Particulate Organic Nitrogen + !! * Particulate Organic Nitrogen * if( tracers%data(tr_num)%ID==1004 .or. & !iphyn tracers%data(tr_num)%ID==1007 .or. & !idetn - tracers%data(tr_num)%ID==1013 .or. & !) then !idian + tracers%data(tr_num)%ID==1013 .or. & !idian tracers%data(tr_num)%ID==1025 ) then !idetz2n Benthos(n,1)= Benthos(n,1) + add_benthos_2d(n) ![mmol] endif - ! Particulate Organic Carbon + !! * Particulate Organic Carbon * if( tracers%data(tr_num)%ID==1005 .or. & !iphyc tracers%data(tr_num)%ID==1008 .or. & !idetc - tracers%data(tr_num)%ID==1014 .or. & !) then !idiac + tracers%data(tr_num)%ID==1014 .or. & !idiac tracers%data(tr_num)%ID==1026 ) then !idetz2c Benthos(n,2)= Benthos(n,2) + add_benthos_2d(n) endif - ! Particulate Organic Silicon + !! *Particulate Organic Silicon * if( tracers%data(tr_num)%ID==1016 .or. & !idiasi - tracers%data(tr_num)%ID==1017 .or. & !) then !idetsi + tracers%data(tr_num)%ID==1017 .or. & !idetsi tracers%data(tr_num)%ID==1027 ) then !idetz2si Benthos(n,3)= Benthos(n,3) + add_benthos_2d(n) endif - ! Cal + !! * Cal * if( tracers%data(tr_num)%ID==1020 .or. & !iphycal - tracers%data(tr_num)%ID==1021 .or. & !) then !idetcal + tracers%data(tr_num)%ID==1021 .or. & !idetcal tracers%data(tr_num)%ID==1028 ) then !idetz2cal Benthos(n,4)= Benthos(n,4) + add_benthos_2d(n) endif @@ -191,23 +192,23 @@ subroutine diff_ver_recom_expl(tr_num, tracers, partit, mesh) use g_clock use o_PARAM use g_config - use o_param ! num_tracers + use o_param use o_arrays - use g_forcing_arrays ! press_air + use g_forcing_arrays use g_comm_auto IMPLICIT NONE - integer , intent(in) , target :: tr_num - type(t_tracer), intent(inout), target :: tracers - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(in) , target :: mesh + integer , intent(in) , target :: tr_num + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh - integer :: elem,k - integer :: n2,nl1,nl2,nz,n,id,ul1 - real(kind=WP) :: vd_flux(mesh%nl) - integer :: nlevels_nod2D_minimum - real(kind=WP) :: bottom_flux(partit%myDim_nod2D+partit%eDim_nod2D) + integer :: elem,k + integer :: n2,nl1,nl2,nz,n,id,ul1 + real(kind=WP) :: vd_flux(mesh%nl) + integer :: nlevels_nod2D_minimum + real(kind=WP) :: bottom_flux(partit%myDim_nod2D+partit%eDim_nod2D) real(kind=WP), dimension(:,:), pointer :: trarr @@ -219,32 +220,32 @@ subroutine diff_ver_recom_expl(tr_num, tracers, partit, mesh) trarr=>tracers%data(tr_num)%values(:,:) -bottom_flux = 0._WP -id = tracers%data(tr_num)%ID - - SELECT CASE (id) - CASE (1001) - bottom_flux = GlodecayBenthos(:,1) !*** DIN [mmolN/m^2/s] *** - CASE (1002) - bottom_flux = GlodecayBenthos(:,2) + GlodecayBenthos(:,4) !*** DIC + calcification *** - CASE (1003) - bottom_flux = GlodecayBenthos(:,4) * 2.0_WP - 1.0625_WP * GlodecayBenthos(:,1) !*** Alk *** - CASE (1018) - bottom_flux = GlodecayBenthos(:,3) !*** Si *** - CASE (1019) - bottom_flux = GlodecayBenthos(:,1) * Fe2N_benthos !*** DFe *** - CASE (1022) - bottom_flux = -GlodecayBenthos(:,2) * redO2C !*** O2 *** - CASE DEFAULT - if (partit%mype==0) then - write(*,*) 'check specified in boundary conditions' - write(*,*) 'the model will stop!' - end if - call par_ex(partit%MPI_COMM_FESOM, partit%mype) - stop - END SELECT - - do n=1, myDim_nod2D + bottom_flux = 0._WP + id = tracers%data(tr_num)%ID + + SELECT CASE (id) + CASE (1001) + bottom_flux = GlodecayBenthos(:,1) !*** DIN [mmolN/m^2/s] *** + CASE (1002) + bottom_flux = GlodecayBenthos(:,2) + GlodecayBenthos(:,4) !*** DIC + calcification *** + CASE (1003) + bottom_flux = GlodecayBenthos(:,4) * 2.0_WP - 1.0625_WP * GlodecayBenthos(:,1) !*** Alk *** + CASE (1018) + bottom_flux = GlodecayBenthos(:,3) !*** Si *** + CASE (1019) + bottom_flux = GlodecayBenthos(:,1) * Fe2N_benthos !*** DFe *** + CASE (1022) + bottom_flux = -GlodecayBenthos(:,2) * redO2C !*** O2 *** + CASE DEFAULT + if (partit%mype==0) then + write(*,*) 'check specified in boundary conditions' + write(*,*) 'the model will stop!' + end if + call par_ex(partit%MPI_COMM_FESOM, partit%mype) + stop + END SELECT + + do n=1, myDim_nod2D nl1=nlevels_nod2D(n)-1 ul1=ulevels_nod2D(n) @@ -290,9 +291,9 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) use g_clock use o_PARAM use g_config - use o_param ! num_tracers + use o_param use o_arrays - use g_forcing_arrays ! press_air + use g_forcing_arrays use g_comm_auto implicit none @@ -308,8 +309,8 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) real(kind=8) :: Rjp,Rj,Rjm real(kind=8) :: cfl, d0, d1, thetaP, thetaM, psiP, psiM - real(kind=8) :: onesixth = 1.d0/6.d0 - real(kind=8) :: dt_sink, c1, c2 ! BALL added dt_sink + real(kind=8) :: onesixth = 1.d0/6.d0 + real(kind=8) :: dt_sink, c1, c2 real(kind=8) :: Vsink, tv real(kind=8),dimension(mesh%nl) :: Wvel_flux @@ -342,7 +343,6 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) elseif(tracers%data(tr_num)%ID ==1004 .or. & !iphyn tracers%data(tr_num)%ID ==1005 .or. & !iphyc - !tracers%data(tr_num)%ID==1020 .or. & !iphycal tracers%data(tr_num)%ID==1006 ) then !ipchl Vsink = VPhy @@ -355,9 +355,9 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) Vsink = VDia #if defined (__coccos) - elseif(tracers%data(tr_num)%ID == 1029 .or. & !icocn ! NEW - tracers%data(tr_num)%ID == 1030 .or. & !icocc ! NEW - tracers%data(tr_num)%ID == 1031 ) then !icchl ! NEW + elseif(tracers%data(tr_num)%ID == 1029 .or. & !icocn + tracers%data(tr_num)%ID == 1030 .or. & !icocc + tracers%data(tr_num)%ID == 1031 ) then !icchl Vsink = VCocco #endif @@ -372,23 +372,24 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) #if defined (__3Zoo2Det) elseif(tracers%data(tr_num)%ID==1025 .or. & !idetz2n - tracers%data(tr_num)%ID==1026 .or. & !idetz2c - tracers%data(tr_num)%ID==1027 .or. & !idetz2si - tracers%data(tr_num)%ID==1028 ) then !idetz2calc + tracers%data(tr_num)%ID==1026 .or. & !idetz2c + tracers%data(tr_num)%ID==1027 .or. & !idetz2si + tracers%data(tr_num)%ID==1028 ) then !idetz2calc Vsink = VDet_zoo2 #endif end if -if (Vsink .gt. 0.1) then ! No sinking if Vsink < 0.1 m/day +!! ---- No sinking if Vsink < 0.1 m/day +if (Vsink .gt. 0.1) then do n = 1,myDim_nod2D if (ulevels_nod2D(n)>1) cycle nzmin = ulevels_nod2D(n) nzmax = nlevels_nod2D(n)-1 - ! distance between tracer points, surface and bottom dz_trr is half - ! the layer thickness + !! distance between tracer points, surface and bottom dz_trr is half + !! the layer thickness dz_trr = 0.0d0 dz_trr(nzmin+1:nzmax) = abs(Z_3d_n(nzmin:nzmax-1,n)-Z_3d_n(nzmin+1:nzmax,n)) dz_trr(nzmin) = hnode(nzmin,n)/2.0d0 @@ -401,17 +402,41 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) Wvel_flux(nz) = -Vsink/SecondsPerDay ! allow_var_sinking = .false. if (allow_var_sinking) then - Wvel_flux(nz) = -((Vdet_a * abs(zbar_3d_n(nz,n))/SecondsPerDay) + Vsink/SecondsPerDay) + Wvel_flux(nz) = -((Vdet_a * abs(zbar_3d_n(nz,n))/SecondsPerDay) + Vsink/SecondsPerDay) + if (use_ballasting) then + Wvel_flux(nz) = w_ref1 * scaling_density1_3D(nz,n) * scaling_visc_3D(nz,n) + + if (depth_scaling1.gt.0.0) Wvel_flux(nz) = Wvel_flux(nz) + (depth_scaling1 * abs(zbar_3d_n(nz,n))) + + if (abs(Wvel_flux(nz)) .gt. max_sinking_velocity) Wvel_flux(nz) = max_sinking_velocity + + !! * sinking velocity [m d-1] surface --> bottom (negative)* + Wvel_flux(nz) = -1.0d0 * Wvel_flux(nz)/SecondsPerDay ! now in [m s-1] + endif end if #if defined (__3Zoo2Det) - ! We assume constant sinking for second detritus - if(tracers%data(tr_num)%ID ==1025 .or. & !idetz2n - tracers%data(tr_num)%ID ==1026 .or. & !idetz2c - tracers%data(tr_num)%ID ==1027 .or. & !idetz2si - tracers%data(tr_num)%ID ==1028 ) then !idetz2calc - Wvel_flux(nz) = -VDet_zoo2/SecondsPerDay ! --> VDet_zoo2 ! NEW BALL changed -Vsink to -VDet_zoo2 - endif ! second detritus tracers + + !! ---- We assume *constant* sinking for second detritus + if(tracers%data(tr_num)%ID ==1025 .or. & !idetz2n + tracers%data(tr_num)%ID ==1026 .or. & !idetz2c + tracers%data(tr_num)%ID ==1027 .or. & !idetz2si + tracers%data(tr_num)%ID ==1028 ) then !idetz2calc + Wvel_flux(nz) = -VDet_zoo2/SecondsPerDay + + if (use_ballasting) then + + Wvel_flux(nz) = w_ref2*scaling_density2_3D(nz,n)*scaling_visc_3D(nz,n) + + if (depth_scaling2.gt.0.0) Wvel_flux(nz) = Wvel_flux(nz) + (depth_scaling2 * abs(zbar_3d_n(nz,n))) + + if (abs(Wvel_flux(nz)) .gt. max_sinking_velocity) Wvel_flux(nz) = max_sinking_velocity + + !! * sinking velocity [m d-1] surface --> bottom (negative) * + Wvel_flux(nz) = -1.0d0 * Wvel_flux(nz)/SecondsPerDay ! now in [m s-1] + end if + + endif #endif end do @@ -486,4 +511,281 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) end if ! Vsink .gt. 0.1 end subroutine ver_sinking_recom +!------------------------------------------------------------------------------- +! Subroutine calculate ballasting +!------------------------------------------------------------------------------- +subroutine ballast(tr_num, tracers, partit, mesh) + + use MOD_MESH + use MOD_PARTIT + use MOD_PARSUP + use MOD_TRACER + + use recom_config + use recom_glovar + + USE o_PARAM + USE o_ARRAYS + USE g_CONFIG + use g_forcing_arrays + use g_comm_auto + use g_clock + use g_rotate_grid + use mvars + use mdepth2press + use gsw_mod_toolbox, only: gsw_sa_from_sp,gsw_ct_from_pt,gsw_rho + + implicit none + integer , intent(in) , target :: tr_num + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer :: row, k, nzmin, nzmax + real(kind=8) :: depth_pos(1) + real(kind=8) :: pres(1) + real(kind=8) :: sa(1) + real(kind=8) :: ct(1) + real(kind=8) :: rho_seawater(1) + real(kind=8) :: Lon_degree(1) + real(kind=8) :: Lat_degree(1) + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + ! For ballasting, calculate scaling factors here and pass them to FESOM, where sinking velocities are calculated + ! ----- + ! If ballasting is used, sinking velocities are a function of a) particle composition (=density), + ! b) sea water viscosity, c) depth (currently for small detritus only), and d) a constant reference sinking speed + ! ----- + + !___________________________________________________________________________ + ! loop over local nodes + do row=1,myDim_nod2D + ! max. number of levels at node n + nzmin = ulevels_nod2D(row) + nzmax = nlevels_nod2D(row) + !! lon + Lon_degree(1)=geo_coord_nod2D(1,row)/rad !! convert from rad to degree + !! lat + Lat_degree(1)=geo_coord_nod2D(2,row)/rad !! convert from rad to degree + + ! get scaling vectors -> these need to be passed to FESOM to get sinking velocities + ! get local seawater density + do k=nzmin, nzmax + + !! level depth + depth_pos(1) = abs(Z_3d_n(k,row)) ! take depth of tracers instead of levels abs(zbar_3d_n(k,row)) + + call depth2press(depth_pos(1), Lat_degree(1), pres, 1) ! pres is output of function,1=number of records + sa = gsw_sa_from_sp(tracers%data(2)%values(k,row), pres, Lon_degree(1), Lat_degree(1)) + ct = gsw_ct_from_pt(sa,tracers%data(1)%values(k,row)) + rho_seawater = gsw_rho(sa, ct, pres) + + ! (i.e. no density scaling) + scaling_density1_3D(k,row)=1.0 + scaling_density2_3D(k,row)=1.0 + + if (use_density_scaling) then + if (tracers%data(tr_num)%ID ==1008)then !idetc + if (tracers%data(tr_num)%values(k,row)>0.001) then ! only apply ballasting above a certain biomass (OG Todo: remove) + scaling_density1_3D(k,row) = (rho_particle1(k,row)-rho_seawater(1))/(rho_ref_part-rho_ref_water) + endif + endif +#if defined (__3Zoo2Det) + + if (tracers%data(tr_num)%ID ==1026)then ! idetz2c + if (tracers%data(tr_num)%values(k,row)>0.001) then ! only apply ballasting above a certain biomass (OG Todo: remove) + scaling_density2_3D(k,row) = (rho_particle2(k,row)-rho_seawater(1))/(rho_ref_part-rho_ref_water) + endif + endif +#endif + endif + + scaling_visc_3D(k,row)=1.0 + + if (use_viscosity_scaling) then + if (seawater_visc_3D(k,row)==0) then + scaling_visc_3D(k,row)=1.0 + else + scaling_visc_3D(k,row)= visc_ref_water/seawater_visc_3D(k,row) + endif + endif + + end do + rho_particle1(nzmax+1,row) = rho_particle1(nzmax,row) + rho_particle2(nzmax+1,row) = rho_particle2(nzmax,row) + scaling_visc_3D(nzmax+1,row) = scaling_visc_3D(nzmax,row) + end do + ! in the unlikely (if possible at all...) case that rho_particle(k)-rho_seawater(1)<0, prevent the scaling factor from being negative + + if (any(scaling_density1_3D(:,:) <= tiny)) scaling_density1_3D(:,:) = 1.0_WP ! tiny = 2.23D-16 +#if defined (__3Zoo2Det) + if (any(scaling_density2_3D(:,:) <= tiny)) scaling_density2_3D(:,:) = 1.0_WP ! tiny = 2.23D-16 +#endif +end subroutine ballast +!------------------------------------------------------------------------------- +! Subroutine calculate density of particle +! depending on composition (detC, detOpal, detCaCO3) based on Cram et al. (2018) +!------------------------------------------------------------------------------- +subroutine get_particle_density(tracers, partit, mesh) + + use MOD_MESH + use MOD_PARTIT + use MOD_PARSUP + use MOD_TRACER + + use recom_config + use recom_glovar + USE o_PARAM + USE o_ARRAYS + USE g_CONFIG + use g_forcing_arrays + use g_comm_auto + use g_clock + use g_rotate_grid + + implicit none + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + + integer :: row, k, nzmin, nzmax, tr_num, num_tracers + + real(kind=8) :: a1(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) ! [n.d.] fraction of carbon in detritus class + real(kind=8) :: a2(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) ! [n.d.] fraction of nitrogen in detritus class + real(kind=8) :: a3(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) ! [n.d.] fraction of Opal in detritus class + real(kind=8) :: a4(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) ! [n.d.] fraction of CaCO3 in detritus class + real(kind=8) :: b1(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=8) :: b2(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=8) :: b3(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=8) :: b4(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=8) :: aux(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + num_tracers=tracers%num_tracers + + rho_particle1 = 0.0 + b1 = 0.0 + b2 = 0.0 + b3 = 0.0 + b4 = 0.0 + aux = 0.0 + + do tr_num=1,num_tracers + if (tracers%data(tr_num)%ID==1008) b1 = max(tiny,tracers%data(tr_num)%values(:,:)) !idetc ! [mmol m-3] detritus carbon + if (tracers%data(tr_num)%ID==1007) b2 = max(tiny,tracers%data(tr_num)%values(:,:)) !idetn ! [mmol m-3] detritus nitrogen + if (tracers%data(tr_num)%ID==1017) b3 = max(tiny,tracers%data(tr_num)%values(:,:)) !idetsi ! [mmol m-3] detritus Si + if (tracers%data(tr_num)%ID==1021) b4 = max(tiny,tracers%data(tr_num)%values(:,:)) !idetcal ! [mmol m-3] detritus CaCO3 + end do + + do row=1,myDim_nod2d + nzmin = ulevels_nod2D(row) + nzmax = nlevels_nod2D(row) + aux(nzmin:nzmax,row) = b1(nzmin:nzmax,row)+b2(nzmin:nzmax,row)+b3(nzmin:nzmax,row)+b4(nzmin:nzmax,row) + a1(nzmin:nzmax,row) = b1(nzmin:nzmax,row)/aux(nzmin:nzmax,row) + a2(nzmin:nzmax,row) = b2(nzmin:nzmax,row)/aux(nzmin:nzmax,row) + a3(nzmin:nzmax,row) = b3(nzmin:nzmax,row)/aux(nzmin:nzmax,row) + a4(nzmin:nzmax,row) = b4(nzmin:nzmax,row)/aux(nzmin:nzmax,row) + rho_particle1(nzmin:nzmax,row) = rho_CaCO3*a4(nzmin:nzmax,row) + rho_opal*a3(nzmin:nzmax,row) + rho_POC*a1(nzmin:nzmax,row) + rho_PON*a2(nzmin:nzmax,row) + end do + +#if defined (__3Zoo2Det) + rho_particle2 = 0.0 + b1 = 0.0 + b2 = 0.0 + b3 = 0.0 + b4 = 0.0 + aux = 0.0 + do tr_num=1,num_tracers + if (tracers%data(tr_num)%ID==1026) b1 = max(tiny,tracers%data(tr_num)%values(:,:)) !idetz2c + if (tracers%data(tr_num)%ID==1025) b2 = max(tiny,tracers%data(tr_num)%values(:,:)) !idetz2n + if (tracers%data(tr_num)%ID==1027) b3 = max(tiny,tracers%data(tr_num)%values(:,:)) !idetz2si + if (tracers%data(tr_num)%ID==1028) b4 = max(tiny,tracers%data(tr_num)%values(:,:)) !idetz2calc + end do + + do row=1,myDim_nod2d+eDim_nod2D ! myDim is sufficient + !if (ulevels_nod2D(row)>1) cycle + nzmin = ulevels_nod2D(row) + nzmax = nlevels_nod2D(row) + aux(nzmin:nzmax,row) = b1(nzmin:nzmax,row)+b2(nzmin:nzmax,row)+b3(nzmin:nzmax,row)+b4(nzmin:nzmax,row) + a1(nzmin:nzmax,row) = b1(nzmin:nzmax,row)/aux(nzmin:nzmax,row) + a2(nzmin:nzmax,row) = b2(nzmin:nzmax,row)/aux(nzmin:nzmax,row) + a3(nzmin:nzmax,row) = b3(nzmin:nzmax,row)/aux(nzmin:nzmax,row) + a4(nzmin:nzmax,row) = b4(nzmin:nzmax,row)/aux(nzmin:nzmax,row) + rho_particle2(nzmin:nzmax,row) = rho_CaCO3*a4(nzmin:nzmax,row) + rho_opal*a3(nzmin:nzmax,row) + rho_POC*a1(nzmin:nzmax,row) + rho_PON*a2(nzmin:nzmax,row) + end do +#endif + +end subroutine get_particle_density +!------------------------------------------------------------------------------- +! Subroutine to approximate seawater viscosity with current temperature +! based on Cram et al. (2018) +!------------------------------------------------------------------------------- + +! neglecting salinity effects, which are much smaller than those of temperature +! https://bitbucket.org/ohnoplus/ballasted-sinking/src/master/tools/waterviscosity.m + +subroutine get_seawater_viscosity(tr_num, tracers, partit, mesh) + + use MOD_MESH + use MOD_PARTIT + use MOD_PARSUP + use MOD_TRACER + + use recom_config + use recom_glovar + USE o_PARAM + USE o_ARRAYS + USE g_CONFIG + use g_forcing_arrays + use g_comm_auto + use g_clock + use g_rotate_grid + + implicit none + +!! temp [degrees C] Ocean temperature +!! salt [g/kg or n.d.] Ocean salinity +!! seawater_visc_3D [kg m-1 s-1] Ocean viscosity + + real(kind=8),dimension(1) :: A, B, mu_w + integer :: row, k, nzmin, nzmax + + integer , intent(in) , target :: tr_num + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + +#include "../associate_part_def.h" +#include "../associate_mesh_def.h" +#include "../associate_part_ass.h" +#include "../associate_mesh_ass.h" + + seawater_visc_3D(:,:) = 0.0 + do row=1,myDim_nod2d + !if (ulevels_nod2D(row)>1) cycle +! OG Do we need any limitation here? +! i.e., if (seawater_visc_3D(row)<=0.0_WP) cycle + nzmin = ulevels_nod2D(row) + nzmax = nlevels_nod2D(row) + + do k=nzmin, nzmax + ! Eq from Sharaway 2010 + ! validity: + ! 0 is that correct? Not necessary to define in namelist? + logfile_outfreq_7 = mocsy_step_per_day*7 + logfile_outfreq_30 = mocsy_step_per_day*30 + + if (PARave > 0.01*SurfSR .and. mod(mstep,logfile_outfreq_7)==0) then + call vars_sprac(ph_depth, pco2_depth, fco2_depth, co2_depth, hco3_depth, co3_depth, OmegaA_depth, OmegaC_depth, kspc_depth, BetaD_depth, & + rhoSW_depth, p_depth, tempis_depth, & + REcoM_T_depth, REcoM_S_depth, REcoM_Alk_depth, REcoM_DIC_depth, REcoM_Si_depth, REcoM_Phos_depth, Patm_depth, dpos, Latd, Nmocsy, & + optCON='mol/m3', optT='Tpot ', optP='m ', optB='u74', optK1K2='l ', optKf='dg', optGAS='Pinsitu', optS='Sprc') + CO2_watercolumn(k) = co2_depth(1) + pH_watercolumn(k) = ph_depth(1) + pCO2_watercolumn(k) = pco2_depth(1) + HCO3_watercolumn(k) = hco3_depth(1) + CO3_watercolumn(k) = co3_depth(1) + OmegaC_watercolumn(k) = OmegaC_depth(1) + kspc_watercolumn(k) = kspc_depth(1) + rhoSW_watercolumn(k) = rhoSW_depth(1) + + elseif (PARave < 0.01*SurfSR .and. mod(mstep,logfile_outfreq_30)==0) then + call vars_sprac(ph_depth, pco2_depth, fco2_depth, co2_depth, hco3_depth, co3_depth, OmegaA_depth, OmegaC_depth, kspc_depth, BetaD_depth, & + rhoSW_depth, p_depth, tempis_depth, & + REcoM_T_depth, REcoM_S_depth, REcoM_Alk_depth, REcoM_DIC_depth, REcoM_Si_depth, REcoM_Phos_depth, Patm_depth, dpos, Latd, Nmocsy, & + optCON='mol/m3', optT='Tpot ', optP='m ', optB='u74', optK1K2='l ', optKf='dg', optGAS='Pinsitu', optS='Sprc') + CO2_watercolumn(k) = co2_depth(1) + pH_watercolumn(k) = ph_depth(1) + pCO2_watercolumn(k) = pco2_depth(1) + HCO3_watercolumn(k) = hco3_depth(1) + CO3_watercolumn(k) = co3_depth(1) + OmegaC_watercolumn(k) = OmegaC_depth(1) + kspc_watercolumn(k) = kspc_depth(1) + rhoSW_watercolumn(k) = rhoSW_depth(1) + endif + +!------------------------------------------------------------------------------- +! CO2 dependence of rates ! NEW CO2 +!------------------------------------------------------------------------------- +! Convert pH to proton concentration + h_depth(1) = 10.**(-ph_depth(1)) +! Conversion factor Cunits not needed for [H], because in model and function derived from pH and therefore in [mol/L] + +! Small phytoplankton + PhyCO2 = a_co2_phy * HCO3_watercolumn(k) * Cunits / (b_co2_phy + HCO3_watercolumn(k) * Cunits) & + - exp(-c_co2_phy * CO2_watercolumn(k) * Cunits) - d_co2_phy * 10.**(-pH_watercolumn(k)) + PhyCO2 = min(PhyCO2,3.d0) ! April 2022: limitation to 3 + PhyCO2 = max(0.d0,PhyCO2) ! July 2022: limitation to zero + +! Diatoms + DiaCO2 = a_co2_dia * HCO3_watercolumn(k) * Cunits / (b_co2_dia + HCO3_watercolumn(k) * Cunits) & + - exp(-c_co2_dia * CO2_watercolumn(k) * Cunits) - d_co2_dia * 10.**(-pH_watercolumn(k)) + DiaCO2 = min(DiaCO2,3.d0) ! April 2022: limitation to 3 + DiaCO2 = max(0.d0,DiaCO2) ! July 2022: limitation to zero + +#if defined (__coccos) +! Coccolithophores + CoccoCO2 = a_co2_cocco * HCO3_watercolumn(k) * Cunits / (b_co2_cocco + HCO3_watercolumn(k) * Cunits) & + - exp(-c_co2_cocco * CO2_watercolumn(k) * Cunits) - d_co2_cocco * 10.**(-pH_watercolumn(k)) + CoccoCO2 = min(CoccoCO2,3.d0) ! April 2022: limitation to 3 + CoccoCO2 = max(0.d0,CoccoCO2) ! July 2022: limitation to zero +#endif + + !------------------------------------------------------------------------------ ! Calcite dissolution dependent on OmegaC ! DISS !------------------------------------------------------------------------------ Sink_Vel = Vdet_a* abs(zF(k)) + Vdet + if (OmegaC_diss) then ! Calcdiss dependent on carbonate saturation + Ca = (0.02128d0/40.078d0) * Sali_depth(k)/1.80655d0 ! Calcium ion concentration [mol/kg], function from varsolver.f90 + CO3_sat = (kspc_watercolumn(k) / Ca) * rhoSW_watercolumn(k) ! Saturated carbonate ion concentration, converted to [mol/m3] + calc_diss = calc_diss_omegac * max(zero,(1-(CO3_watercolumn(k)/CO3_sat)))**(calc_diss_exp) ! Dissolution rate scaled by carbonate ratio, after Aumont et al. 2015 +#if defined (__3Zoo2Det) + calc_diss2 = calc_diss +#endif + calc_diss_ben = calc_diss + else ! Calcdiss dependent on depth + calc_diss = calc_diss_rate * Sink_Vel/20.d0 ! Dissolution rate of CaCO3 scaled by the sinking velocity at the current depth #if defined (__3Zoo2Det) ! calc_diss2 = calc_diss_rate2 ! Dissolution rate of CaCO3 scaled by the sinking velocity at the current depth seczoo calc_diss2 = calc_diss_rate2* Sink_Vel/20.d0 #endif - calc_diss_ben = calc_diss_rate * Sink_Vel/20.d0 ! DISS added the variable calc_diss_ben to keep the calcite dissolution in the benthos with the old formulation - + calc_diss_ben = calc_diss_rate * Sink_Vel/20.d0 ! DISS added the variable calc_diss_ben to keep the calcite dissolution in the benthos with the old formulation + endif !------------------------------------------------------------------------------- !> Photosynthesis section, light parameters and rates !------------------------------------------------------------------------------- @@ -377,7 +498,7 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & end if if (Cphot_dia .lt. tiny) Cphot_dia = zero -!< *** Coccolithophore photosynthesis rate *** (NEW!!!) +!< *** Coccolithophore photosynthesis rate *** !< ******************************************* #if defined (__coccos) if ( pMax_cocco .lt. tiny .OR. Parave /= Parave .OR. CHL2C_cocco /= CHL2C_cocco) then @@ -547,8 +668,10 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & !< ************************* !< pzPhy: Maximum nanophytoplankton preference !< pzDia: Maximum diatom preference +!< pzCocco: Maximum coccolithophore preference !< pzDet: Maximum slow-sinking detritus prefence by first zooplankton !< pzDetZ2: Maximum fast-sinking detritus preference by first zooplankton +!< pzMicZoo: Maximum microzooplankton preference by first zooplankton if (REcoM_Grazing_Variable_Preference) then ! CHECK ONUR aux = pzPhy*PhyN + pzDia*DiaN @@ -648,6 +771,17 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & !------------------------------------------------------------------------------- !< Grazing on small phytoplankton, diatoms, coccolithophore (optional), !< heterotrophs, slow- and fast-sinking detritus + +!< *** Food availability *** +!< ************************* +!< pzPhy2: Maximum nanophytoplankton preference +!< pzDia2: Maximum diatom preference +!< pzCocco2: Maximum coccolithophore preference +!< pzDet2: Maximum slow-sinking detritus prefence +!< pzDetZ22: Maximum fast-sinking detritus preference +!< pzHet: Maximum mesozooplankton preference +!< pzMicZoo2: Maximum microzooplankton preference + #if defined (__3Zoo2Det) if (REcoM_Grazing_Variable_Preference) then aux = pzPhy2 * PhyN + PzDia2 * DiaN + pzHet * HetN @@ -741,6 +875,12 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & !------------------------------------------------------------------------------- !< Grazing on small phytoplankton, diatoms and coccolithophore (optional) +!< *** Food availability *** +!< ************************* +!< pzPhy3: Maximum nanophytoplankton preference +!< pzDia3: Maximum diatom preference +!< pzCocco3: Maximum coccolithophore preference + if (REcoM_Grazing_Variable_Preference) then aux = pzPhy3 * PhyN + pzDia3 * DiaN #if defined (__coccos) @@ -874,8 +1014,28 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & ! Terms required for the formation and dissolution of CaCO3 ! Without this, calcification is performed by a fraction of small phytoplankton +#if defined (__coccos) + if (Temp(k) < 10.6) then ! (PICPOC definition after Krumhardt et al. 2017, 2019; Temp(k) because we need degC here) + PICPOCtemp = 0.104d0 * Temp(k) - 0.108d0 + else + PICPOCtemp = 1.0d0 + end if + PICPOCtemp = max(tiny,PICPOCtemp) + + PICPOCCO2 = a_co2_calc * HCO3_watercolumn(k) * Cunits / (b_co2_calc + HCO3_watercolumn(k) * Cunits) - exp(-c_co2_calc * CO2_watercolumn(k) * Cunits) - d_co2_calc * 10.**(-pH_watercolumn(k)) + PICPOCCO2 = min(PICPOCCO2,3.d0) ! April 2022: limitation to 3 + PICPOCCO2 = max(0.d0,PICPOCCO2) ! July 2022: limitation to zero + + PICPOCN = -0.31 * (DIN/(DIN + k_din_c)) + 1.31 + PICPOCN = max(tiny,PICPOCN) + + calcification = 1.d0 * Cphot_cocco * CoccoC * PICPOCtemp * PICPOCN + if (CO2lim) calcification = calcification * PICPOCCO2 + +#else !< calc_prod_ratio: Calcite production ratio, dimensionless calcification = calc_prod_ratio * Cphot * PhyC ! Z in equations +#endif calc_loss_agg = aggregationrate * PhyCalc @@ -1624,12 +1784,14 @@ subroutine REcoM_sms(n,Nn,state,thick,recipthick,SurfSR,sms,Temp, Sali_depth & print*,'dt_b= ', dt_b print*,'state(k,icocc): ', state(k,icocc) print*,'sms CoccoC: ', CoccoC + print*,'sms CoccoN: ', CoccoN print*,'sms Cphot cocco: ', Cphot_cocco*CoccoC print*,'sms lossC_c: ', lossC_c print*,'sms limitFacN_cocco: ', limitFacN_cocco print*,'sms phyRespRate_cocco: ', phyRespRate_cocco print*,'sms grazingFlux_cocco: ', grazingFlux_cocco print*,'sms grazingFlux_cocco2: ', grazingFlux_Cocco2 + print*,'sms grazingFlux_cocco3: ', grazingFlux_Cocco3 print*,'sms recipQuota_cocco: ', recipQuota_cocco print*,'sms recipQuota_cocco: ', recipQuota_cocco diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 645be9a20..92a25564a 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -370,6 +370,22 @@ subroutine diff_tracers_ale(tr_num, dynamics, tracers, partit, mesh) ! but not for the combination ciso + 2. zoo! if (any(recom_sinking_tracer_id == tracers%data(tr_num)%ID)) then +!< activate Ballasting +!< .OG. 04.11.2022 + + if (use_ballasting) then +!< get seawater viscosity, seawater_visc_3D + call get_seawater_viscosity(tr_num, tracers, partit, mesh) ! seawater_visc_3D + +!< get particle density of class 1 and 2 !rho_particle1 and rho_particle2 + call get_particle_density(tracers, partit, mesh) ! rho_particle = density of particle class 1 and 2 + +!< calculate scaling factors +!< scaling_visc_3D +!< scaling_density1_3D, scaling_density2_3D + call ballast(tr_num, tracers, partit, mesh) + end if + ! sinking call ver_sinking_recom(tr_num, tracers, partit, mesh) !--- vert_sink --- ! update tracer fields From e7ee54780d06cf05bcd37103b562c23fb8e29095 Mon Sep 17 00:00:00 2001 From: sidorenko1 Date: Thu, 6 Jun 2024 12:31:14 +0200 Subject: [PATCH 156/273] after long discussions with Dmitry Sein, Sergey Danilov & Sveta here is the improved sea ice thermodynamics for coupling with IFS/OpenIFS --- src/MOD_ICE.F90 | 11 +++++------ src/ice_thermo_cpl.F90 | 22 ++++++++++++++-------- src/io_meandata.F90 | 6 +++--- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/MOD_ICE.F90 b/src/MOD_ICE.F90 index ab1045c02..02dbfc1ba 100644 --- a/src/MOD_ICE.F90 +++ b/src/MOD_ICE.F90 @@ -78,7 +78,6 @@ MODULE MOD_ICE real(kind=WP) :: albi = 0.70 ! frozen ice real(kind=WP) :: albim = 0.68 ! melting ice real(kind=WP) :: albw = 0.066 ! open water, LY2004 - logical :: lqres =.false. ! on/off residual heat flux computation when coupled to IFS/OpenIFS contains procedure WRITE_T_ICE_THERMO procedure READ_T_ICE_THERMO @@ -94,7 +93,7 @@ MODULE MOD_ICE real(kind=WP), allocatable, dimension(:) :: oce_flx_h, ice_flx_h, tmpoce_flx_h, tmpice_flx_h #if defined (__oifs) || defined (__ifsinterface) !___________________________________________________________________________ - real(kind=WP), allocatable, dimension(:) :: ice_alb, enthalpyoffuse, flx_qres + real(kind=WP), allocatable, dimension(:) :: ice_alb, enthalpyoffuse, flx_qres, flx_qcon ! !!! DONT FORGET ice_temp rhs_tempdiv rhs_temp is advected for oifs !!! --> becomes additional ice ! tracer in ice%data(4)%values #endif /* (__oifs) */ @@ -753,10 +752,10 @@ subroutine ice_init(ice, partit, mesh) allocate(ice%atmcoupl%enthalpyoffuse(node_size)) ice%atmcoupl%ice_alb = 0.6_WP ice%atmcoupl%enthalpyoffuse= 0.0_WP - if (ice%thermo%lqres) then - allocate(ice%atmcoupl%flx_qres(node_size)) - ice%atmcoupl%flx_qres = 0.0_WP - end if + allocate(ice%atmcoupl%flx_qres(node_size)) + allocate(ice%atmcoupl%flx_qcon(node_size)) + ice%atmcoupl%flx_qres = 0.0_WP + ice%atmcoupl%flx_qcon = 0.0_WP #endif /* (__oifs) */ #endif /* (__oasis) */ diff --git a/src/ice_thermo_cpl.F90 b/src/ice_thermo_cpl.F90 index 15fe01757..b44ce17e4 100644 --- a/src/ice_thermo_cpl.F90 +++ b/src/ice_thermo_cpl.F90 @@ -34,7 +34,7 @@ subroutine thermodynamics(ice, partit, mesh) !---- prognostic variables (updated in `ice_growth') real(kind=WP) :: A, h, hsn, alb, t !---- atmospheric heat fluxes (provided by ECHAM) - real(kind=WP) :: a2ohf, a2ihf, qres + real(kind=WP) :: a2ohf, a2ihf, qres, qcon !---- evaporation and sublimation (provided by ECHAM) real(kind=WP) :: evap, subli !---- add residual freshwater flux over ice to freshwater (setted in ice_growth) @@ -67,8 +67,7 @@ subroutine thermodynamics(ice, partit, mesh) real(kind=WP), dimension(:) , pointer :: S_oc_array, T_oc_array, u_w, v_w real(kind=WP), dimension(:) , pointer :: fresh_wa_flux, net_heat_flux #if defined (__oifs) || defined (__ifsinterface) - real(kind=WP), dimension(:) , pointer :: ice_temp, ice_alb, enthalpyoffuse, ice_heat_qres - logical, pointer :: lqres + real(kind=WP), dimension(:) , pointer :: ice_temp, ice_alb, enthalpyoffuse, ice_heat_qres, ice_heat_qcon #endif #if defined (__oasis) || defined (__ifsinterface) real(kind=WP), dimension(:) , pointer :: oce_heat_flux, ice_heat_flux @@ -99,8 +98,8 @@ subroutine thermodynamics(ice, partit, mesh) ice_temp => ice%data(4)%values(:) ice_alb => ice%atmcoupl%ice_alb(:) enthalpyoffuse=> ice%atmcoupl%enthalpyoffuse(:) - lqres => ice%thermo%lqres - if (lqres) ice_heat_qres => ice%atmcoupl%flx_qres(:) + ice_heat_qres => ice%atmcoupl%flx_qres(:) + ice_heat_qcon => ice%atmcoupl%flx_qcon(:) #endif #if defined (__oasis) || defined (__ifsinterface) oce_heat_flux => ice%atmcoupl%oce_flx_h(:) @@ -159,6 +158,7 @@ subroutine thermodynamics(ice, partit, mesh) ! energy fluxes ---! t = ice_temp(inod) qres = 0.0_WP + qcon = 0.0_WP if(A>Aimin) then call ice_surftemp(ice%thermo, max(h/(max(A,Aimin)),0.05), hsn/(max(A,Aimin)), a2ihf, t) ice_temp(inod) = t @@ -168,7 +168,8 @@ subroutine thermodynamics(ice, partit, mesh) endif call ice_albedo(ice%thermo, h, hsn, t, alb) ice_alb(inod) = alb - if (lqres) ice_heat_qres(inod) = qres + ice_heat_qres(inod) = qres + ice_heat_qcon(inod) = qcon #endif call ice_growth @@ -263,8 +264,12 @@ subroutine ice_growth Qicecon = (Tfrezs-Tfrez0)*con/max(heff,himin) !---- atmospheric heat fluxes (provided by the atmosphere model) + +#if defined (__oifs) || defined (__ifsinterface) + Qatmice = -qres-qcon +#else Qatmice = -a2ihf - if (lqres) Qatmice=Qatmice - qres +#endif Qatmocn = -a2ohf !---- oceanic heat fluxes @@ -543,7 +548,8 @@ subroutine ice_surftemp(ithermp, h,hsn,a2ihf,t) if (t>273.15_WP) then qres=(con/zsniced+zcpdte)*(t-273.15_WP) t=273.15_WP - endif + endif + qcon=con*(t-TFrezs)/max(zsniced, himin) ! t=min(273.15_WP,t) end subroutine ice_surftemp diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 9e2d884c9..42d5f9b42 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -608,10 +608,10 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) CASE ('enthalpy ') call def_stream(nod2D, myDim_nod2D, 'enth', 'enthalpy of fusion', 'W/m^2', ice%atmcoupl%enthalpyoffuse(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +CASE ('qcon ') + call def_stream(nod2D, myDim_nod2D, 'qcon', 'conductive heat flux', 'W/m^2', ice%atmcoupl%flx_qcon(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('qres ') - if (ice%thermo%lqres) then - call def_stream(nod2D, myDim_nod2D, 'qres', 'residual heat flux', 'W/m^2', ice%atmcoupl%flx_qres(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end if + call def_stream(nod2D, myDim_nod2D, 'qres', 'residual heat flux', 'W/m^2', ice%atmcoupl%flx_qres(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) #endif !------------------------------------------ From 640645cae354d76ee85d8eb4276a341d60c6899f Mon Sep 17 00:00:00 2001 From: Razvan Aguridan Date: Thu, 6 Jun 2024 14:25:39 +0000 Subject: [PATCH 157/273] Fix circular module dependency --- src/CMakeLists.txt | 7 ++++--- src/ifs_interface/iom.F90 | 17 ++++++++--------- src/ifs_interface/mpp_io.F90 | 5 ++--- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0f48d7ea8..40b57e928 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -126,14 +126,15 @@ if(USE_ICEPACK) ${src_home}/icepack_drivers/Icepack/columnphysics/*.F90) list(APPEND sources_Fortran ${sources_ice_pack}) elseif(ENABLE_IFS_INTERFACE) # ICEPACK + IFS_INTERFACE NOT SUPPORTED (YET) + if(ENABLE_MULTIO) + list(APPEND sources_Fortran ${src_home}/ifs_interface/iom.F90) + endif() + list(APPEND sources_Fortran ${src_home}/ifs_interface/ifs_interface.F90 ${src_home}/ifs_interface/ifs_modules.F90 ${src_home}/ifs_interface/ifs_notused.F90 ${src_home}/ifs_interface/mpp_io.F90) endif() -if(ENABLE_MULTIO) - list(APPEND sources_Fortran ${src_home}/ifs_interface/iom.F90) -endif() file(GLOB sources_C ${src_home}/*.c) diff --git a/src/ifs_interface/iom.F90 b/src/ifs_interface/iom.F90 index 674f29e25..03bd27212 100644 --- a/src/ifs_interface/iom.F90 +++ b/src/ifs_interface/iom.F90 @@ -16,11 +16,14 @@ MODULE iom TYPE(multio_handle) :: mio_handle INTEGER(8), PRIVATE :: mio_parent_comm + PUBLIC iom_enable_multio PUBLIC iom_initialize, iom_init_server, iom_finalize PUBLIC iom_send_fesom_domains PUBLIC iom_field_request, iom_send_fesom_data PUBLIC iom_flush + LOGICAL :: lnomultio = .TRUE._1 + PRIVATE ctl_stop !!---------------------------------------------------------------------- !! NEMO/OCE 4.0 , NEMO Consortium (2018) @@ -45,6 +48,11 @@ MODULE iom CONTAINS + SUBROUTINE iom_enable_multio() + IMPLICIT NONE + lnomultio = .FALSE._1 + END SUBROUTINE + SUBROUTINE multio_custom_error_handler(context, err, info) USE mpi @@ -65,7 +73,6 @@ SUBROUTINE multio_custom_error_handler(context, err, info) SUBROUTINE iom_initialize(client_id, local_comm, return_comm, global_comm ) USE mpi - USE mpp_io, ONLY: lnomultio IMPLICIT NONE CHARACTER(LEN=*), INTENT(IN) :: client_id @@ -152,8 +159,6 @@ SUBROUTINE iom_initialize(client_id, local_comm, return_comm, global_comm ) END SUBROUTINE iom_initialize SUBROUTINE iom_finalize() - USE mpp_io, ONLY: lnomultio - IMPLICIT NONE INTEGER :: err @@ -171,8 +176,6 @@ SUBROUTINE iom_finalize() END SUBROUTINE iom_finalize SUBROUTINE iom_init_server(server_comm) - USE mpp_io, ONLY: lnomultio - IMPLICIT NONE INTEGER, INTENT(IN) :: server_comm type(multio_configuration) :: conf_ctx @@ -242,7 +245,6 @@ SUBROUTINE iom_init_server(server_comm) END SUBROUTINE iom_init_server SUBROUTINE iom_send_fesom_domains(partit, mesh) - USE mpp_io, ONLY: lnomultio USE MOD_MESH USE MOD_PARTIT @@ -346,7 +348,6 @@ SUBROUTINE iom_send_fesom_domains(partit, mesh) END SUBROUTINE iom_send_fesom_domains SUBROUTINE iom_send_fesom_data(data) - USE mpp_io, ONLY: lnomultio USE g_clock USE g_config, only: MeshId IMPLICIT NONE @@ -441,8 +442,6 @@ SUBROUTINE iom_send_fesom_data(data) END SUBROUTINE SUBROUTINE iom_flush(domain, step) - USE mpp_io, ONLY: lnomultio - IMPLICIT NONE CHARACTER(6), INTENT(IN) :: domain diff --git a/src/ifs_interface/mpp_io.F90 b/src/ifs_interface/mpp_io.F90 index d22080026..4cad4477c 100644 --- a/src/ifs_interface/mpp_io.F90 +++ b/src/ifs_interface/mpp_io.F90 @@ -7,7 +7,7 @@ MODULE mpp_io #if defined(__MULTIO) - USE iom, only : iom_initialize, iom_init_server, iom_finalize + USE iom, only : iom_enable_multio, iom_initialize, iom_init_server, iom_finalize #endif IMPLICIT NONE PRIVATE @@ -20,7 +20,6 @@ MODULE mpp_io INTEGER :: ntask_multio = 0 INTEGER :: ntask_xios = 0 LOGICAL, PUBLIC :: lioserver, lmultioserver, lmultiproc - LOGICAL, PUBLIC :: lnomultio = .TRUE._1 INTEGER :: ntask_notio INTEGER, SAVE :: mppallrank, mppallsize, mppiorank, mppiosize INTEGER, SAVE :: mppmultiorank, mppmultiosize @@ -80,7 +79,7 @@ SUBROUTINE mpp_io_init( iicomm, lio, irequired, iprovided, lmpi1 ) CLOSE(10) IF (ntask_multio /= 0) THEN - lnomultio = .FALSE._1 + CALL iom_enable_multio() ENDIF IF ( ntask_xios + ntask_multio == 0 ) THEN From c6e8e0124d308be0efca8b4acf05a9fd24dd6cf5 Mon Sep 17 00:00:00 2001 From: Razvan Aguridan Date: Thu, 6 Jun 2024 14:46:07 +0000 Subject: [PATCH 158/273] Only call multio if supported --- src/ifs_interface/mpp_io.F90 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ifs_interface/mpp_io.F90 b/src/ifs_interface/mpp_io.F90 index 4cad4477c..6c57995e3 100644 --- a/src/ifs_interface/mpp_io.F90 +++ b/src/ifs_interface/mpp_io.F90 @@ -78,9 +78,11 @@ SUBROUTINE mpp_io_init( iicomm, lio, irequired, iprovided, lmpi1 ) WRITE(*,namio) CLOSE(10) +#if defined(__MULTIO) IF (ntask_multio /= 0) THEN CALL iom_enable_multio() ENDIF +#endif IF ( ntask_xios + ntask_multio == 0 ) THEN iicomm = mpi_comm_world From dc4d4635cb995b56ee329b941aa1163267d993b3 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Mon, 10 Jun 2024 11:58:12 +0200 Subject: [PATCH 159/273] Update CMakeLists.txt Argument mismatch allowed on GNU Compiler on Ubuntu --- src/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fe97c7112..d44d4dc9d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -202,7 +202,12 @@ if(${CMAKE_Fortran_COMPILER_ID} STREQUAL Intel ) elseif(${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU ) # target_compile_options(${PROJECT_NAME} PRIVATE -O3 -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -ffree-line-length-none) - target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -ffree-line-length-none) + if(${FESOM_PLATFORM_STRATEGY} STREQUAL ubuntu ) + message(STATUS "Allowing type mismatches on Ubuntu for CI Testing" ) # NOTE(PG): Would be nicer to grab the CI=True from the env variable + target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -ffree-line-length-none -fallow-argument-mismatch) + else() + target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -ffree-line-length-none) + endif() if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10 ) target_compile_options(${PROJECT_NAME} PRIVATE -fallow-argument-mismatch) # gfortran v10 is strict about erroneous API calls: "Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)" endif() From 92e94fbef8a7a8ade03aab4f33d58211ff543c26 Mon Sep 17 00:00:00 2001 From: Sebastian Beyer Date: Mon, 10 Jun 2024 22:53:23 +0300 Subject: [PATCH 160/273] Remove PARMS solver This removes the most obvious traces and builds, no real test run done yet --- dwarf/dwarf_ice/dwarf_ini/CMakeLists.txt | 7 +- dwarf/dwarf_tracer/dwarf_ini/CMakeLists.txt | 7 +- lib/parms/CMakeLists.txt | 49 - lib/parms/COPYRIGHT | 28 - lib/parms/LGPL | 504 - lib/parms/Makefile | 74 - lib/parms/Makefile_ollie | 73 - lib/parms/README | 68 - lib/parms/README_INSTALL | 86 - lib/parms/conf/makefile.altix | 54 - lib/parms/conf/makefile.bigben | 49 - lib/parms/conf/makefile.blade_ompi_intel | 58 - lib/parms/conf/makefile.calhoun_ompi_gnu | 57 - lib/parms/conf/makefile.calhoun_ompi_intel | 58 - lib/parms/conf/makefile.itasca_ompi_intel | 58 - lib/parms/conf/makefile.laptop | 49 - lib/parms/conf/makefile.linux.gcc | 49 - lib/parms/conf/makefile.linux.gcc3 | 49 - lib/parms/conf/makefile.linux.icc | 53 - lib/parms/conf/makefile.linux.pathscale | 53 - lib/parms/conf/makefile.linux.sun | 49 - lib/parms/conf/makefile.o38k | 49 - lib/parms/conf/makefile.regatta | 51 - lib/parms/conf/makefile.seaborg | 54 - lib/parms/docs/README | 109 - lib/parms/docs/refmanual.pdf | Bin 222963 -> 0 bytes lib/parms/docs/ug.pdf | Bin 209685 -> 0 bytes lib/parms/examples/DOTESTS | 249 - lib/parms/examples/README | 19 - lib/parms/examples/README-DOTESTS | 37 - lib/parms/examples/general/README | 132 - lib/parms/examples/general/aux.c | 300 - lib/parms/examples/general/aux.h | 125 - lib/parms/examples/general/dd-HB-dse.c | 437 - .../general/extras/dd-HB-dse-altix.pbs | 6 - .../examples/general/extras/dd-HB-dse-pwr.cmd | 15 - lib/parms/examples/general/extras/procfile | 7 - lib/parms/examples/general/faux.h | 5 - lib/parms/examples/general/fdd-HB-dse.F | 358 - lib/parms/examples/general/inputs | 30 - .../examples/general/inputs_explanations | 87 - lib/parms/examples/general/makefile | 72 - lib/parms/examples/general/matfileCmplx | 7 - lib/parms/examples/general/matfileReal | 8 - lib/parms/examples/grid/README | 192 - lib/parms/examples/grid/aux.c | 211 - lib/parms/examples/grid/aux.h | 85 - lib/parms/examples/grid/dd-grid.c | 300 - .../examples/grid/extras/dd-grid-altix.pbs | 6 - .../examples/grid/extras/dd-grid-pwr.cmd | 15 - lib/parms/examples/grid/extras/info | 8 - lib/parms/examples/grid/extras/procfile | 7 - lib/parms/examples/grid/faux.h | 5 - lib/parms/examples/grid/fdd-grid.F | 214 - lib/parms/examples/grid/fdmat.f | 633 - lib/parms/examples/grid/functs.f | 343 - lib/parms/examples/grid/inputs | 30 - lib/parms/examples/grid/makefile | 51 - lib/parms/examples/grid/skit.f | 136 - lib/parms/examples/matrices/SAYLR4 | 7057 ------ lib/parms/examples/matrices/SHERMAN3 | 7518 ------ lib/parms/examples/matrices/SHERMAN5 | 7239 ------ lib/parms/examples/matrices/dwg961b.cua | 4424 ---- lib/parms/examples/matrices/qc324.cua | 19516 ---------------- lib/parms/examples/petsc/README | 77 - .../petsc/conf/makefile.blade_intel_ompi | 66 - .../examples/petsc/conf/makefile.in_laptop | 65 - .../examples/petsc/conf/makefile.itasca_impi | 66 - lib/parms/examples/petsc/dd-petsc.c | 322 - lib/parms/examples/petsc/fparms.c | 79 - lib/parms/examples/petsc/ftest.F | 263 - lib/parms/examples/petsc/makefile | 31 - lib/parms/examples/petsc/makefile.in | 35 - lib/parms/examples/petsc/matfileCmplx | 7 - lib/parms/examples/petsc/matfileReal | 8 - lib/parms/examples/petsc/parms.c | 482 - lib/parms/examples/petsc/parms_opts | 26 - lib/parms/examples/petsc/protos.h | 113 - lib/parms/examples/petsc/readmat.c | 38 - lib/parms/examples/petsc/test.c | 214 - lib/parms/include/fparms.h | 33 - lib/parms/include/parms.h | 23 - lib/parms/include/parms_comm.h | 111 - lib/parms/include/parms_map.h | 262 - lib/parms/include/parms_mat.h | 337 - lib/parms/include/parms_mem.h | 82 - lib/parms/include/parms_operator.h | 167 - lib/parms/include/parms_pc.h | 392 - lib/parms/include/parms_solver.h | 194 - lib/parms/include/parms_sys.h | 196 - lib/parms/include/parms_sys_cmplx.h | 172 - lib/parms/include/parms_sys_dbl.h | 148 - lib/parms/include/parms_table.h | 99 - lib/parms/include/parms_timer.h | 125 - lib/parms/include/parms_vec.h | 289 - lib/parms/include/parms_viewer.h | 100 - lib/parms/src/DDPQ/MatOps.c | 732 - lib/parms/src/DDPQ/PQ.c | 448 - lib/parms/src/DDPQ/arms2.c | 690 - lib/parms/src/DDPQ/globheads.h | 151 - lib/parms/src/DDPQ/ilutpC.c | 753 - lib/parms/src/DDPQ/misc.c | 485 - lib/parms/src/DDPQ/piluNEW.c | 637 - lib/parms/src/DDPQ/protos.h | 133 - lib/parms/src/DDPQ/setblks.c | 245 - lib/parms/src/DDPQ/sets.c | 811 - lib/parms/src/DDPQ/svdInvC.c | 125 - lib/parms/src/DDPQ/systimer.c | 9 - lib/parms/src/FORTRAN/README | 25 - lib/parms/src/FORTRAN/parms_mapf.c | 114 - lib/parms/src/FORTRAN/parms_matf.c | 119 - lib/parms/src/FORTRAN/parms_pcf.c | 217 - lib/parms/src/FORTRAN/parms_solverf.c | 105 - lib/parms/src/FORTRAN/parms_timerf.c | 74 - lib/parms/src/FORTRAN/parms_vecf.c | 134 - lib/parms/src/FORTRAN/parms_viewerf.c | 55 - lib/parms/src/bicgstab.c | 313 - lib/parms/src/bicgstab_ras.c | 360 - lib/parms/src/cg.c | 256 - lib/parms/src/fgmres.c | 423 - lib/parms/src/gmres.c | 425 - lib/parms/src/include/parms_comm_impl.h | 77 - lib/parms/src/include/parms_map_impl.h | 87 - lib/parms/src/include/parms_mat_impl.h | 154 - lib/parms/src/include/parms_opt_impl.h | 38 - lib/parms/src/include/parms_pc_impl.h | 48 - lib/parms/src/include/parms_solver_impl.h | 55 - lib/parms/src/include/parms_table_impl.h | 37 - lib/parms/src/include/parms_timer_impl.h | 31 - lib/parms/src/include/parms_viewer_impl.h | 26 - lib/parms/src/parms_comm.c | 402 - lib/parms/src/parms_complex.c | 104 - lib/parms/src/parms_ilu_vcsr.c | 1747 -- lib/parms/src/parms_map.c | 759 - lib/parms/src/parms_mat.c | 1413 -- lib/parms/src/parms_mat_dvcsr.c | 1443 -- lib/parms/src/parms_mat_vcsr.c | 213 - lib/parms/src/parms_mem.c | 178 - lib/parms/src/parms_operator.c | 90 - lib/parms/src/parms_pc.c | 683 - lib/parms/src/parms_pc_bj.c | 143 - lib/parms/src/parms_pc_ras.c | 226 - lib/parms/src/parms_pc_schur.c | 552 - lib/parms/src/parms_pc_schurras.c | 469 - lib/parms/src/parms_qsplit.c | 55 - lib/parms/src/parms_solver.c | 295 - lib/parms/src/parms_table.c | 283 - lib/parms/src/parms_timer.c | 199 - lib/parms/src/parms_vec.c | 805 - lib/parms/src/parms_viewer.c | 148 - lib/parms/src/pbicgstab.c | 326 - lib/parms/src/pbicgstab_ras.c | 381 - mesh_part/CMakeLists.txt | 2 +- src/CMakeLists.txt | 19 +- src/MOD_DYN.F90 | 9 +- src/info_module.F90 | 5 - src/oce_ale.F90 | 81 +- src/psolve.c | 263 - src/psolve.h | 27 - 159 files changed, 14 insertions(+), 75999 deletions(-) delete mode 100644 lib/parms/CMakeLists.txt delete mode 100755 lib/parms/COPYRIGHT delete mode 100755 lib/parms/LGPL delete mode 100644 lib/parms/Makefile delete mode 100755 lib/parms/Makefile_ollie delete mode 100755 lib/parms/README delete mode 100755 lib/parms/README_INSTALL delete mode 100755 lib/parms/conf/makefile.altix delete mode 100755 lib/parms/conf/makefile.bigben delete mode 100755 lib/parms/conf/makefile.blade_ompi_intel delete mode 100755 lib/parms/conf/makefile.calhoun_ompi_gnu delete mode 100755 lib/parms/conf/makefile.calhoun_ompi_intel delete mode 100755 lib/parms/conf/makefile.itasca_ompi_intel delete mode 100755 lib/parms/conf/makefile.laptop delete mode 100755 lib/parms/conf/makefile.linux.gcc delete mode 100755 lib/parms/conf/makefile.linux.gcc3 delete mode 100755 lib/parms/conf/makefile.linux.icc delete mode 100755 lib/parms/conf/makefile.linux.pathscale delete mode 100755 lib/parms/conf/makefile.linux.sun delete mode 100755 lib/parms/conf/makefile.o38k delete mode 100755 lib/parms/conf/makefile.regatta delete mode 100755 lib/parms/conf/makefile.seaborg delete mode 100755 lib/parms/docs/README delete mode 100755 lib/parms/docs/refmanual.pdf delete mode 100755 lib/parms/docs/ug.pdf delete mode 100755 lib/parms/examples/DOTESTS delete mode 100755 lib/parms/examples/README delete mode 100755 lib/parms/examples/README-DOTESTS delete mode 100755 lib/parms/examples/general/README delete mode 100755 lib/parms/examples/general/aux.c delete mode 100755 lib/parms/examples/general/aux.h delete mode 100755 lib/parms/examples/general/dd-HB-dse.c delete mode 100755 lib/parms/examples/general/extras/dd-HB-dse-altix.pbs delete mode 100755 lib/parms/examples/general/extras/dd-HB-dse-pwr.cmd delete mode 100755 lib/parms/examples/general/extras/procfile delete mode 100755 lib/parms/examples/general/faux.h delete mode 100755 lib/parms/examples/general/fdd-HB-dse.F delete mode 100755 lib/parms/examples/general/inputs delete mode 100755 lib/parms/examples/general/inputs_explanations delete mode 100755 lib/parms/examples/general/makefile delete mode 100755 lib/parms/examples/general/matfileCmplx delete mode 100755 lib/parms/examples/general/matfileReal delete mode 100755 lib/parms/examples/grid/README delete mode 100755 lib/parms/examples/grid/aux.c delete mode 100755 lib/parms/examples/grid/aux.h delete mode 100755 lib/parms/examples/grid/dd-grid.c delete mode 100755 lib/parms/examples/grid/extras/dd-grid-altix.pbs delete mode 100755 lib/parms/examples/grid/extras/dd-grid-pwr.cmd delete mode 100755 lib/parms/examples/grid/extras/info delete mode 100755 lib/parms/examples/grid/extras/procfile delete mode 100755 lib/parms/examples/grid/faux.h delete mode 100755 lib/parms/examples/grid/fdd-grid.F delete mode 100755 lib/parms/examples/grid/fdmat.f delete mode 100755 lib/parms/examples/grid/functs.f delete mode 100755 lib/parms/examples/grid/inputs delete mode 100755 lib/parms/examples/grid/makefile delete mode 100755 lib/parms/examples/grid/skit.f delete mode 100755 lib/parms/examples/matrices/SAYLR4 delete mode 100755 lib/parms/examples/matrices/SHERMAN3 delete mode 100755 lib/parms/examples/matrices/SHERMAN5 delete mode 100755 lib/parms/examples/matrices/dwg961b.cua delete mode 100755 lib/parms/examples/matrices/qc324.cua delete mode 100755 lib/parms/examples/petsc/README delete mode 100755 lib/parms/examples/petsc/conf/makefile.blade_intel_ompi delete mode 100755 lib/parms/examples/petsc/conf/makefile.in_laptop delete mode 100755 lib/parms/examples/petsc/conf/makefile.itasca_impi delete mode 100755 lib/parms/examples/petsc/dd-petsc.c delete mode 100755 lib/parms/examples/petsc/fparms.c delete mode 100755 lib/parms/examples/petsc/ftest.F delete mode 100755 lib/parms/examples/petsc/makefile delete mode 100755 lib/parms/examples/petsc/makefile.in delete mode 100755 lib/parms/examples/petsc/matfileCmplx delete mode 100755 lib/parms/examples/petsc/matfileReal delete mode 100755 lib/parms/examples/petsc/parms.c delete mode 100755 lib/parms/examples/petsc/parms_opts delete mode 100755 lib/parms/examples/petsc/protos.h delete mode 100755 lib/parms/examples/petsc/readmat.c delete mode 100755 lib/parms/examples/petsc/test.c delete mode 100755 lib/parms/include/fparms.h delete mode 100755 lib/parms/include/parms.h delete mode 100755 lib/parms/include/parms_comm.h delete mode 100755 lib/parms/include/parms_map.h delete mode 100755 lib/parms/include/parms_mat.h delete mode 100755 lib/parms/include/parms_mem.h delete mode 100755 lib/parms/include/parms_operator.h delete mode 100755 lib/parms/include/parms_pc.h delete mode 100755 lib/parms/include/parms_solver.h delete mode 100755 lib/parms/include/parms_sys.h delete mode 100755 lib/parms/include/parms_sys_cmplx.h delete mode 100755 lib/parms/include/parms_sys_dbl.h delete mode 100755 lib/parms/include/parms_table.h delete mode 100755 lib/parms/include/parms_timer.h delete mode 100755 lib/parms/include/parms_vec.h delete mode 100755 lib/parms/include/parms_viewer.h delete mode 100755 lib/parms/src/DDPQ/MatOps.c delete mode 100755 lib/parms/src/DDPQ/PQ.c delete mode 100755 lib/parms/src/DDPQ/arms2.c delete mode 100755 lib/parms/src/DDPQ/globheads.h delete mode 100755 lib/parms/src/DDPQ/ilutpC.c delete mode 100755 lib/parms/src/DDPQ/misc.c delete mode 100755 lib/parms/src/DDPQ/piluNEW.c delete mode 100755 lib/parms/src/DDPQ/protos.h delete mode 100755 lib/parms/src/DDPQ/setblks.c delete mode 100755 lib/parms/src/DDPQ/sets.c delete mode 100755 lib/parms/src/DDPQ/svdInvC.c delete mode 100644 lib/parms/src/DDPQ/systimer.c delete mode 100755 lib/parms/src/FORTRAN/README delete mode 100755 lib/parms/src/FORTRAN/parms_mapf.c delete mode 100755 lib/parms/src/FORTRAN/parms_matf.c delete mode 100755 lib/parms/src/FORTRAN/parms_pcf.c delete mode 100755 lib/parms/src/FORTRAN/parms_solverf.c delete mode 100755 lib/parms/src/FORTRAN/parms_timerf.c delete mode 100755 lib/parms/src/FORTRAN/parms_vecf.c delete mode 100755 lib/parms/src/FORTRAN/parms_viewerf.c delete mode 100755 lib/parms/src/bicgstab.c delete mode 100644 lib/parms/src/bicgstab_ras.c delete mode 100644 lib/parms/src/cg.c delete mode 100755 lib/parms/src/fgmres.c delete mode 100755 lib/parms/src/gmres.c delete mode 100755 lib/parms/src/include/parms_comm_impl.h delete mode 100755 lib/parms/src/include/parms_map_impl.h delete mode 100755 lib/parms/src/include/parms_mat_impl.h delete mode 100755 lib/parms/src/include/parms_opt_impl.h delete mode 100755 lib/parms/src/include/parms_pc_impl.h delete mode 100755 lib/parms/src/include/parms_solver_impl.h delete mode 100755 lib/parms/src/include/parms_table_impl.h delete mode 100755 lib/parms/src/include/parms_timer_impl.h delete mode 100755 lib/parms/src/include/parms_viewer_impl.h delete mode 100755 lib/parms/src/parms_comm.c delete mode 100755 lib/parms/src/parms_complex.c delete mode 100755 lib/parms/src/parms_ilu_vcsr.c delete mode 100755 lib/parms/src/parms_map.c delete mode 100755 lib/parms/src/parms_mat.c delete mode 100755 lib/parms/src/parms_mat_dvcsr.c delete mode 100755 lib/parms/src/parms_mat_vcsr.c delete mode 100755 lib/parms/src/parms_mem.c delete mode 100755 lib/parms/src/parms_operator.c delete mode 100755 lib/parms/src/parms_pc.c delete mode 100755 lib/parms/src/parms_pc_bj.c delete mode 100755 lib/parms/src/parms_pc_ras.c delete mode 100755 lib/parms/src/parms_pc_schur.c delete mode 100755 lib/parms/src/parms_pc_schurras.c delete mode 100755 lib/parms/src/parms_qsplit.c delete mode 100755 lib/parms/src/parms_solver.c delete mode 100755 lib/parms/src/parms_table.c delete mode 100755 lib/parms/src/parms_timer.c delete mode 100755 lib/parms/src/parms_vec.c delete mode 100755 lib/parms/src/parms_viewer.c delete mode 100755 lib/parms/src/pbicgstab.c delete mode 100644 lib/parms/src/pbicgstab_ras.c delete mode 100644 src/psolve.c delete mode 100644 src/psolve.h diff --git a/dwarf/dwarf_ice/dwarf_ini/CMakeLists.txt b/dwarf/dwarf_ice/dwarf_ini/CMakeLists.txt index 02176a227..378d926ce 100644 --- a/dwarf/dwarf_ice/dwarf_ini/CMakeLists.txt +++ b/dwarf/dwarf_ice/dwarf_ini/CMakeLists.txt @@ -45,20 +45,17 @@ file(GLOB sources_Fortran ${src_home}/*.F90) # depends on the metis library #add_subdirectory(../lib/metis-5.1.0 ${PROJECT_BINARY_DIR}/metis) #include_directories(../lib/metis-5.1.0/include) -# depends on the parms library -#add_subdirectory(../lib/parms ${PROJECT_BINARY_DIR}/parms) #add_subdirectory(async_threads_cpp) #include(${CMAKE_CURRENT_LIST_DIR}/../cmake/FindNETCDF.cmake) #add_library(${PROJECT_NAME}_C ${sources_C}) -#target_compile_definitions(${PROJECT_NAME}_C PRIVATE PARMS USE_MPI REAL=double DBL HAS_BLAS FORTRAN_UNDERSCORE VOID_POINTER_SIZE_8 SGI LINUX UNDER_ MPI2) -#target_link_libraries(${PROJECT_NAME}_C parms) #metis +#target_compile_definitions(${PROJECT_NAME}_C PRIVATE USE_MPI REAL=double DBL HAS_BLAS FORTRAN_UNDERSCORE VOID_POINTER_SIZE_8 SGI LINUX UNDER_ MPI2) # create our binary (set its name to name of this project) add_executable(${PROJECT_NAME} ${sources_Fortran}) -#target_compile_definitions(${PROJECT_NAME} PRIVATE PARMS -DMETIS_VERSION=5 -DPART_WEIGHTED -DMETISRANDOMSEED=35243) +#target_compile_definitions(${PROJECT_NAME} PRIVATE -DMETIS_VERSION=5 -DPART_WEIGHTED -DMETISRANDOMSEED=35243) #if(${DISABLE_MULTITHREADING}) # target_compile_definitions(${PROJECT_NAME} PRIVATE DISABLE_MULTITHREADING) #endif() diff --git a/dwarf/dwarf_tracer/dwarf_ini/CMakeLists.txt b/dwarf/dwarf_tracer/dwarf_ini/CMakeLists.txt index 4e6d3bbb1..cb3c2715a 100644 --- a/dwarf/dwarf_tracer/dwarf_ini/CMakeLists.txt +++ b/dwarf/dwarf_tracer/dwarf_ini/CMakeLists.txt @@ -45,20 +45,17 @@ file(GLOB sources_Fortran ${src_home}/*.F90) # depends on the metis library #add_subdirectory(../lib/metis-5.1.0 ${PROJECT_BINARY_DIR}/metis) #include_directories(../lib/metis-5.1.0/include) -# depends on the parms library -#add_subdirectory(../lib/parms ${PROJECT_BINARY_DIR}/parms) #add_subdirectory(async_threads_cpp) #include(${CMAKE_CURRENT_LIST_DIR}/../cmake/FindNETCDF.cmake) #add_library(${PROJECT_NAME}_C ${sources_C}) -#target_compile_definitions(${PROJECT_NAME}_C PRIVATE PARMS USE_MPI REAL=double DBL HAS_BLAS FORTRAN_UNDERSCORE VOID_POINTER_SIZE_8 SGI LINUX UNDER_ MPI2) -#target_link_libraries(${PROJECT_NAME}_C parms) #metis +#target_compile_definitions(${PROJECT_NAME}_C PRIVATE USE_MPI REAL=double DBL HAS_BLAS FORTRAN_UNDERSCORE VOID_POINTER_SIZE_8 SGI LINUX UNDER_ MPI2) # create our binary (set its name to name of this project) add_executable(${PROJECT_NAME} ${sources_Fortran}) -#target_compile_definitions(${PROJECT_NAME} PRIVATE PARMS -DMETIS_VERSION=5 -DPART_WEIGHTED -DMETISRANDOMSEED=35243) +#target_compile_definitions(${PROJECT_NAME} PRIVATE -DMETIS_VERSION=5 -DPART_WEIGHTED -DMETISRANDOMSEED=35243) #if(${DISABLE_MULTITHREADING}) # target_compile_definitions(${PROJECT_NAME} PRIVATE DISABLE_MULTITHREADING) #endif() diff --git a/lib/parms/CMakeLists.txt b/lib/parms/CMakeLists.txt deleted file mode 100644 index f81cc26fb..000000000 --- a/lib/parms/CMakeLists.txt +++ /dev/null @@ -1,49 +0,0 @@ -cmake_minimum_required(VERSION 3.16) - -project(parms C) - -# Set location to look for find_package modules -set( CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/../../cmake ) - -# Set -fPIC flag etc. -set( CMAKE_POSITION_INDEPENDENT_CODE ON ) - -# get our source files -set(src_home ${CMAKE_CURRENT_LIST_DIR}) # path to src directory starting from the dir containing our CMakeLists.txt -file(GLOB all_sources ${src_home}/src/*.c ${src_home}/src/DDPQ/*.c) - -if( NOT LAPACK_LIBRARIES ) - # First check if we have the Cray libraries - set( _cray_libsci_loaded $ENV{CRAY_LIBSCI_DIR} ) - if( _cray_libsci_loaded ) - # set( _CRAY_PRGENV $ENV{PE_ENV} ) - # string( TOLOWER "${_CRAY_PRGENV}" _cray_prgenv ) - # set( LAPACK_LIBRARIES sci_${_cray_prgenv} ) - else() - find_package(LAPACK REQUIRED) # cannot compile without! - endif() -endif() -if( NOT TARGET MPI::MPI_C ) - find_package(MPI REQUIRED COMPONENTS C) -endif() - -# create our library (set its name to name of this project) -add_library(${PROJECT_NAME} ${all_sources}) - -target_compile_definitions(${PROJECT_NAME} PRIVATE PARMS USE_MPI REAL=double DBL FORTRAN_UNDERSCORE VOID_POINTER_SIZE_8) - -target_include_directories(${PROJECT_NAME} - PRIVATE ${src_home}/src/include - PUBLIC $ -) - -target_link_libraries(${PROJECT_NAME} PRIVATE ${LAPACK_LIBRARIES}) -target_link_libraries(${PROJECT_NAME} PRIVATE MPI::MPI_C) - -if(${CMAKE_C_COMPILER_ID} STREQUAL "Intel") - target_compile_options(${PROJECT_NAME} PRIVATE -no-prec-div -no-prec-sqrt -fast-transcendentals -fp-model precise) - - if(${FESOM_PLATFORM_STRATEGY} STREQUAL levante.dkrz.de ) - target_compile_options(${PROJECT_NAME} PRIVATE -march=core-avx2 -mtune=core-avx2) - endif() -endif() diff --git a/lib/parms/COPYRIGHT b/lib/parms/COPYRIGHT deleted file mode 100755 index 45d22e1ed..000000000 --- a/lib/parms/COPYRIGHT +++ /dev/null @@ -1,28 +0,0 @@ ------------------------------------------------------------------------ - p A R M S -- V E R S I O N 2.0 ------------------------------------------------------------------------ - -Copyright (C) 2004, the Regents of the University of Minnesota - -pARMS is free software; you can redistribute it and/or modify it under -the terms of the GNU Lesser General Public License as published by the -Free Software Foundation; version 2.1 of the License. - -A copy of the licencing agreement is attached in the file LGPL. For -additional information contact the Free Software Foundation Inc., 59 -Temple Place - Suite 330, Boston, MA 02111, USA or visit the web-site - - http://www.gnu.org/copyleft/lesser.html - - -DISCLAIMER ----------- - -pARMS is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -License for more details. - -For more information contact saad@cs.umn.edu - - diff --git a/lib/parms/LGPL b/lib/parms/LGPL deleted file mode 100755 index 7abea2156..000000000 --- a/lib/parms/LGPL +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/lib/parms/Makefile b/lib/parms/Makefile deleted file mode 100644 index f07e14614..000000000 --- a/lib/parms/Makefile +++ /dev/null @@ -1,74 +0,0 @@ -# normally this files need not be edited -- architecture-dependent -# make commands are in makefile.in -- -# this makefile will make the library -- for testing PARARMS -- go to -# examples/grid or examples/general and see README files.. - -include ../../Makefile.in - -# path of the header files of pARMS -ICFLAGS = -I./include $(MPI_INC) - -# path of the header files for implmentaion of pARMS -ISRCINC = -I./src/include - -# path of the header files -IFFLAGS = -I./include - -# library path and directory declaration -LIB = ./lib/libparms.a -DIRS = ./ ./include ./lib ./src ./src/include ./src/DDPQ - -# files from the src directory -OBJ1 = ./src/parms_comm.o \ - ./src/parms_map.o ./src/parms_mat.o \ - ./src/parms_mat_vcsr.o ./src/parms_mat_dvcsr.o \ - ./src/parms_mem.o ./src/parms_operator.o \ - ./src/parms_ilu_vcsr.o \ - ./src/parms_pc.o \ - ./src/parms_pc_bj.o ./src/parms_pc_ras.o \ - ./src/parms_pc_schur.o ./src/parms_pc_schurras.o \ - ./src/parms_qsplit.o ./src/parms_solver.o \ - ./src/parms_table.o ./src/parms_timer.o \ - ./src/parms_vec.o ./src/parms_viewer.o \ - ./src/fgmres.o ./src/bicgstab.o ./src/cg.o ./src/pbicgstab.o \ - ./src/pbicgstab_ras.o ./src/bicgstab_ras.o\ - ./src/gmres.o ./src/parms_complex.o -#$(HYPRE_OBJ) \ - -# files from DDPQ directory -OBJ2 = ./src/DDPQ/arms2.o ./src/DDPQ/ilutpC.o \ - ./src/DDPQ/MatOps.o ./src/DDPQ/misc.o \ - ./src/DDPQ/PQ.o ./src/DDPQ/piluNEW.o \ - ./src/DDPQ/setblks.o ./src/DDPQ/sets.o \ - ./src/DDPQ/svdInvC.o - -OBJ = $(OBJ1) $(OBJ2) - -default: $(LIB) - -all: $(LIB) tests - -$(LIB): $(OBJ) - if [ ! -d lib ]; then \ - mkdir lib; \ - fi - $(AR) $(LIB) $(OBJ) - -.c.o: - ${MPICC} ${ICFLAGS} ${ISRCINC} $(COPT) \ - ${PARMS_DEFS} $< -c -o $@ - -cleanall: - @for dir in $(DIRS) ;\ - do \ - echo cleaning $$dir ;\ - (cd $$dir; rm -rf *.a *.o *.ex* *core* out* \#* *~) ;\ - done - -cleanobj: - @for dir in $(DIRS) ;\ - do \ - echo cleaning $$dir ;\ - (cd $$dir; rm -rf *.o *core* out* sol.* \#* *~) ;\ - done - diff --git a/lib/parms/Makefile_ollie b/lib/parms/Makefile_ollie deleted file mode 100755 index 01bde6407..000000000 --- a/lib/parms/Makefile_ollie +++ /dev/null @@ -1,73 +0,0 @@ -# normally this files need not be edited -- architecture-dependent -# make commands are in makefile.in -- -# this makefile will make the library -- for testing PARARMS -- go to -# examples/grid or examples/general and see README files.. - -include Makefile.in_ollie - -# path of the header files of pARMS -ICFLAGS = -I./include $(MPI_INC) - -# path of the header files for implmentaion of pARMS -ISRCINC = -I./src/include - -# path of the header files -IFFLAGS = -I./include - -# library path and directory declaration -LIB = ./lib/libparms.a -DIRS = ./ ./include ./lib ./src ./src/include ./src/DDPQ - -# files from the src directory -OBJ1 = ./src/parms_comm.o \ - ./src/parms_map.o ./src/parms_mat.o \ - ./src/parms_mat_vcsr.o ./src/parms_mat_dvcsr.o \ - ./src/parms_mem.o ./src/parms_operator.o \ - ./src/parms_ilu_vcsr.o \ - ./src/parms_pc.o \ - ./src/parms_pc_bj.o ./src/parms_pc_ras.o \ - ./src/parms_pc_schur.o ./src/parms_pc_schurras.o \ - ./src/parms_qsplit.o ./src/parms_solver.o \ - ./src/parms_table.o ./src/parms_timer.o \ - ./src/parms_vec.o ./src/parms_viewer.o \ - ./src/fgmres.o ./src/bicgstab.o ./src/cg.o \ - ./src/gmres.o ./src/parms_complex.o -#$(HYPRE_OBJ) \ - -# files from DDPQ directory -OBJ2 = ./src/DDPQ/arms2.o ./src/DDPQ/ilutpC.o \ - ./src/DDPQ/MatOps.o ./src/DDPQ/misc.o \ - ./src/DDPQ/PQ.o ./src/DDPQ/piluNEW.o \ - ./src/DDPQ/setblks.o ./src/DDPQ/sets.o \ - ./src/DDPQ/svdInvC.o - -OBJ = $(OBJ1) $(OBJ2) - -default: $(LIB) - -all: $(LIB) tests - -$(LIB): $(OBJ) - if [ ! -d lib ]; then \ - mkdir lib; \ - fi - $(AR) $(ARFLAGS) $(LIB) $(OBJ) - -.c.o: - ${CC} ${ICFLAGS} ${ISRCINC} $(COPT) \ - ${PARMS_DEFS} $< -c -o $@ - -cleanall: - @for dir in $(DIRS) ;\ - do \ - echo cleaning $$dir ;\ - (cd $$dir; rm -rf *.a *.o *.ex* *core* out* \#* *~) ;\ - done - -cleanobj: - @for dir in $(DIRS) ;\ - do \ - echo cleaning $$dir ;\ - (cd $$dir; rm -rf *.o *core* out* sol.* \#* *~) ;\ - done - diff --git a/lib/parms/README b/lib/parms/README deleted file mode 100755 index 2bff6a939..000000000 --- a/lib/parms/README +++ /dev/null @@ -1,68 +0,0 @@ -This is a modified version basen on - -/////////////////////////////////////////////////////////////////////// - -======================================================================= - --> Version 3.2 Latest changes made on: Fri Jan 14 17:52:55 CST 2011 -======================================================================= - -Welcome to pARMS3 - this is a new version of the parallel Algebraic -Recursive Multilevel Solvers which has been reimplemented -completely. This version includes - --- The Restrictive Additive Schwarz (RAS) procedures - --- Schur complement techniques (with RAS) - --- ddPQ ordering for local matrices.. [However, the Schur - complement techniques do not yet support ddPQ orderings] - --- (flexible) GMRES accelerator - -pARMS has been written mainly by Zhongze Li. --- various contributions to the code from - ** Yousef Saad - ** Masha Sosonkina - ** Daniel Osei-Kuffuor --- other contributors: Brian Suchomel, Matthias Bollhoefer, Na Li, and - Die Li. - ------------------------------------------------------------------------------- - -See README_INSTALL for information on installing pARMS version 3.1/ - -BEFORE INSTALLING PARMS READ FIRST THE COPYRIGHT AGREEMENT. - -////////////////////////////////////////////////////////////////////////////// - -additional routines are implemented by Annika Fuchs: -Solver: BICGS (bicgstab.c) -PC: SCHURRAS (parms_pc_schurras.c) adapted from Li Z, Saad Y: SchurRAS: A restricted version of the - overlapping Schur complement preconditioner, Report umsi-2004-76, Minnesota - Supercomputer Institute, University of Minnesota, Minneapolis, MN, 2004. - -parms_ilu_update() for reusing of the LU-Facorization (parms_ilu_vcsr.c) -parms_ilu_getu_vcsr() used by SchurRAS-PC -parms_mat_get_offdiag() used by SchurRAS-PC - -changes in parms_pc_schur.c parms_pc_ras.c parms_pc_bj.c with new parameter -data->issetup for reusing of the LU-Facorization - -changed convergence criterion in fgmres.c, gmres.c (ro <= tol) instead of (ro -<= eps1) - -/////////////////////////////////////////////////////////////////////////////// - -additional routine implemented by Natalja Rakowsky, natalja.rakowsky@awi.de - -Solver: PBICGS (pbicgstab.c) - - Pipelined BiCGstab, overlapping global sums with computation. See: - Siegfried Cools, Wim Vanroose - The communication-hiding pipelined BiCGStab method for the parallel solution of large unsymmetric linear systems - Parallel Computing 65, pp. 1-20, July 2017 - -Solver: PBICGS_RAS (pbicgstab_ras.c) - - Pipelined BiCGstab with hard-coded RAS preconditioner. This allows to overlap the - halo communication for RAS with some computations in bicgstab. diff --git a/lib/parms/README_INSTALL b/lib/parms/README_INSTALL deleted file mode 100755 index 3e5880a74..000000000 --- a/lib/parms/README_INSTALL +++ /dev/null @@ -1,86 +0,0 @@ - ------------------------------- INSTALLING AND RUNNING pARMS3 ----------------- - - -I. INSTALLING pARMS. - - a) Copy the appropriate conf/makefile.XX to makefile.in in this - directory - - b) Edit makefile.in to change the paths of BLAS and MPI. - If no BLAS installation exists, remove -DHAS_BLAS from CFLAGS in - make_inc - - NOTE: To compile the complex version of pARMS, replace the -DDBL flag in - makefile.in with -DDBL_CMPLX. - - c) Type 'make' to build the library -- - -II. Running the examples - - a) Now try running the example with systems from Finite Difference - matrices. Enter directory grid and type 'make dd-grid.ex' - to build all the executable and run it. Recall however that there - the number of processors is restricted to being equal to - nprocx*nprocy [see input file and README for details] - - b) Try running some examples with general matrices. - Enter directory 'examples/general'. There are several options: - -- if you want a simple run with the partitioner 'dse' available with - parms type make dd-HB-dse.ex and run the executable dd-HB-dse.ex - -- if you want a run with the partitioner 'metis' you need to - modify the makefile and change the flags XIFLAGS and XLIB - to give a path for the library and the include directory. - -- See the reference guide for details on how to setup the parms map - -- object when using metis. - - c) Enter directory 'examples/petsc and type 'make dd-petsc.ex - -user_defined_pc' to build - the petsc version of driver program. The option -user_defined_pc - allows us to use parms preconditioners with the PETSc solver. - Without this option, a default PETSc precoditioner will be used. - - d) Fortran versions of the above examples also exist in the same - directory. They typically have the prefix 'f' attached to the name. So - for instance, in the grid directory, one would type 'make fdd-grid.ex' - to build the executable, and 'mpirun -np 2 ./fdd-grid.ex' to run it - with two processors. Again note the restriction for the number of - processors for the grid problem. See input file and README file in the - grid directory for details. - - -III Details on the test runs - There are three subdirectories: grid, general, and petsc. - a). The file dd-grid.c in subdirectory grid - solve a poisson equation in parallel. The scale of problem - on each PE is fixed. - b). The file dd-HB-dse.c in subdirectory 'general' - show how to solve a system with a general matrix with pARMS. - c). The file dd-petsc.c in subdirectory petsc shows how to use - preconditioners in pARMS as add-ons to PETSc. - -IV. Sequences in which routines are called. - a). Partition the mesh or graph using a partitioner such as Metis, - or dse (included), or ParMetis, or zoltan, etc... - b). Create a map object based on the output from a mesh - partitioning software. For example, based on the output from - the Metis, you may create a map object by calling function - parms_MapCreateFromGlobal(...). - c). Create matrix based on the map created - above. parms_MatCreate(&mat, map); - d). Insert entries into the vectors and the matrix. Note that - the indices of entries are in global labeling. Vectors in this - version of pARMS use the standard C array pointers. FLOAT *rhs, *sol; - e). Set up the matrix by calling - parms_MatSetup(mat); After this call above, one cannot insert entries to - the matrix anymore. - f). Create a preconditioner based on the matrix created - above. parms_PCCreate(&pc, mat); You can set the type of the - preconditioner by parms_PCSetType. Currently, PCBJ(block - Jacobi), PCSCHUR(Schur complement), PCRAS(restrctive - additive Schwarz) are available. More robust preconditioner - like SCHURRAS will be available soon-- - g). Call parms_PCSetup(pc) to create the preconditioning matrix. - h). Create a solver based on the matrix and the preconditioner - created above. parms_SolverCreate(&solver, mat, pc); - i). Solve the linear equation. parms_SolverApply(solver, rhs, sol); diff --git a/lib/parms/conf/makefile.altix b/lib/parms/conf/makefile.altix deleted file mode 100755 index e6514226d..000000000 --- a/lib/parms/conf/makefile.altix +++ /dev/null @@ -1,54 +0,0 @@ -# NOTE: -# When using this makefile.in file, be sure to link your -# C code with CLINKFLAGS and your Fortran code with FLINKFLAGS -# - -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = icc - -# optimization flags -COPTFLAGS = -O3 -Wall - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_8 - -# FORTRAN compiler -FC = ifort -F90 = ifort - -# FORTRAN compile options -FFLAGS = -O3 -DVOID_POINTER_SIZE_8 -convert big_endian - -# linker and options (Read the above NOTE) -LINKER = ${FC} -F90LINKER = ${F90} -CLINKFLAGS = ${FFLAGS} -nofor_main -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = -lmpi - -# LAPACK, BLAS library -LAPACK_BLAS_DIR = -LAPACK_BLAS_LIB = -lscs - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.bigben b/lib/parms/conf/makefile.bigben deleted file mode 100755 index c036fafcb..000000000 --- a/lib/parms/conf/makefile.bigben +++ /dev/null @@ -1,49 +0,0 @@ -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = cc - -# optimization flags -COPTFLAGS = -fastsse -O3 -tp k8-64 -Mnontemporal -Mprefetch=distance:8,nta -c9x -mcmodel=medium - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_8 - -# FORTRAN compiler -FC = ftn -F90 = ftn - -# FORTRAN compile options -FFLAGS = -DVOID_POINTER_SIZE_8 -fastsse -O3 -Mnontemporal -Mprefetch=distance:8,nta -tp k8-64 -Mbyteswapio -mcmodel=medium - -# linker and options -LINKER = ${FC} -F90LINKER = ${F90} -CLINKFLAGS = ${FFLAGS} -Mnomain -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -LAPACK_BLAS_LIB = -lacml - -# general math libary -MATH_LIB_DIR = -MATH_LIB = - diff --git a/lib/parms/conf/makefile.blade_ompi_intel b/lib/parms/conf/makefile.blade_ompi_intel deleted file mode 100755 index 628f6bf9c..000000000 --- a/lib/parms/conf/makefile.blade_ompi_intel +++ /dev/null @@ -1,58 +0,0 @@ -# Sample makefile.in for MSI's bladecenter cluster. -# This assumes usage of the intel and ompi/intel modules. -# Please be sure to also load the base and mkl modules, for -# lapack and blas routines. -# -# i.e. Type: 'module load base intel ompi/intel mkl' to load the modules -# before doing a make. - -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpicc - -# optimization flags -COPTFLAGS = -O3 -Wall -wd981 -g - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_8 - -# FORTRAN compiler -F90 = mpif90 -FC = mpif77 - -# FORTRAN compile options -FFLAGS = -O3 -DVOID_POINTER_SIZE_8 -convert big_endian -g - -# linker and options -F90LINKER = ${F90} -LINKER = ${FC} -CLINKFLAGS = ${FFLAGS} -nofor_main -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -L/soft/intel/mkl/10.2.1.017/lib/em64t -LAPACK_BLAS_LIB = -lmkl_lapack -lmkl_intel_thread -lmkl_core \ - -lguide -lmkl_intel_lp64 - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.calhoun_ompi_gnu b/lib/parms/conf/makefile.calhoun_ompi_gnu deleted file mode 100755 index deefd7e20..000000000 --- a/lib/parms/conf/makefile.calhoun_ompi_gnu +++ /dev/null @@ -1,57 +0,0 @@ -# Sample makefile.in for MSI's SGI altix cluster - Calhoun machine. -# This assumes usage of the ompi/gnu module. Be sure to also load -# the mkl module, for lapack and blas routines. -# -# i.e. Type: 'module load ompi/gnu mkl' to load the modules -# before doing a make. - -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpicc - -# optimization flags -COPTFLAGS = -O3 -Wall -g - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_8 - -# FORTRAN compiler -F90 = mpif90 -FC = mpif77 - -# FORTRAN compile options -FFLAGS = -O3 -DVOID_POINTER_SIZE_8 -g - -# linker and options -F90LINKER = ${F90} -LINKER = ${FC} -CLINKFLAGS = ${FFLAGS} -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = -lmpi - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -L/soft/intel/mkl/10.2.1.017/lib/em64t -LAPACK_BLAS_LIB = -lmkl_lapack -lmkl_intel_thread -lmkl_core \ - -lguide -lmkl_intel_lp64 - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.calhoun_ompi_intel b/lib/parms/conf/makefile.calhoun_ompi_intel deleted file mode 100755 index 9177182f6..000000000 --- a/lib/parms/conf/makefile.calhoun_ompi_intel +++ /dev/null @@ -1,58 +0,0 @@ -# Sample makefile.in for MSI's SGI altix cluster - Calhoun machine. -# This assumes usage of the intel and ompi/intel modules. -# Please be sure to also load the mkl module, for -# lapack and blas routines. -# -# i.e. Type: 'module load intel ompi/intel mkl' to load the modules -# before doing a make. - -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpicc - -# optimization flags -COPTFLAGS = -O3 -Wall -wd981 -g - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_8 - -# FORTRAN compiler -F90 = mpif90 -FC = mpif77 - -# FORTRAN compile options -FFLAGS = -O3 -g -DVOID_POINTER_SIZE_8 -convert big_endian - -# linker and options -F90LINKER = ${F90} -LINKER = ${FC} -CLINKFLAGS = ${FFLAGS} -nofor_main -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = -lmpi - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -L/soft/intel/mkl/10.2.1.017/lib/em64t -LAPACK_BLAS_LIB = -lmkl_lapack -lmkl_intel_thread -lmkl_core \ - -lguide -lmkl_intel_lp64 - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.itasca_ompi_intel b/lib/parms/conf/makefile.itasca_ompi_intel deleted file mode 100755 index 628f6bf9c..000000000 --- a/lib/parms/conf/makefile.itasca_ompi_intel +++ /dev/null @@ -1,58 +0,0 @@ -# Sample makefile.in for MSI's bladecenter cluster. -# This assumes usage of the intel and ompi/intel modules. -# Please be sure to also load the base and mkl modules, for -# lapack and blas routines. -# -# i.e. Type: 'module load base intel ompi/intel mkl' to load the modules -# before doing a make. - -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpicc - -# optimization flags -COPTFLAGS = -O3 -Wall -wd981 -g - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_8 - -# FORTRAN compiler -F90 = mpif90 -FC = mpif77 - -# FORTRAN compile options -FFLAGS = -O3 -DVOID_POINTER_SIZE_8 -convert big_endian -g - -# linker and options -F90LINKER = ${F90} -LINKER = ${FC} -CLINKFLAGS = ${FFLAGS} -nofor_main -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -L/soft/intel/mkl/10.2.1.017/lib/em64t -LAPACK_BLAS_LIB = -lmkl_lapack -lmkl_intel_thread -lmkl_core \ - -lguide -lmkl_intel_lp64 - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.laptop b/lib/parms/conf/makefile.laptop deleted file mode 100755 index 691aad35c..000000000 --- a/lib/parms/conf/makefile.laptop +++ /dev/null @@ -1,49 +0,0 @@ -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpicc - -# optimization flags -COPTFLAGS = -O3 -Wall -g - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_8 - -# FORTRAN compiler -FC = mpif77 -F90 = mpif90 - -# FORTRAN compile options -FFLAGS = -O3 -DVOID_POINTER_SIZE_8 -g - -# linker and options -LINKER = ${FC} -F90LINKER = ${F90} -CLINKFLAGS = ${FFLAGS} -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -LAPACK_BLAS_LIB = -llapack -lblas-3 - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.linux.gcc b/lib/parms/conf/makefile.linux.gcc deleted file mode 100755 index 106ad22a2..000000000 --- a/lib/parms/conf/makefile.linux.gcc +++ /dev/null @@ -1,49 +0,0 @@ -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpicc - -# optimization flags -COPTFLAGS = -O3 -Wall -g - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_4 - -# FORTRAN compiler -F90 = mpif90 -FC = mpif77 - -# FORTRAN compile options -FFLAGS = -O3 -DVOID_POINTER_SIZE_4 -g - -# linker and options -F90LINKER = ${F90} -LINKER = ${FC} -CLINKFLAGS = ${FFLAGS} -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -LAPACK_BLAS_LIB = -llapack -lblas-3 - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.linux.gcc3 b/lib/parms/conf/makefile.linux.gcc3 deleted file mode 100755 index 291d490ce..000000000 --- a/lib/parms/conf/makefile.linux.gcc3 +++ /dev/null @@ -1,49 +0,0 @@ -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpicc - -# optimization flags -COPTFLAGS = -O3 -Wall - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -DGCC3 -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_4 - -# FORTRAN compiler -FC = mpif77 -F90 = mpif90 - -# FORTRAN compile options -FFLAGS = -O3 -DVOID_POINTER_SIZE_4 - -# linker and options -LINKER = ${FC} -F90LINKER = ${F90} -CLINKFLAGS = ${FFLAGS} -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -LAPACK_BLAS_LIB = -llapack -lblas-3 - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.linux.icc b/lib/parms/conf/makefile.linux.icc deleted file mode 100755 index b8c0d611f..000000000 --- a/lib/parms/conf/makefile.linux.icc +++ /dev/null @@ -1,53 +0,0 @@ -# NOTE: -# When using this makefile.in file, be sure to link your -# C code with CLINKFLAGS and your Fortran code with FLINKFLAGS -# - -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpicc - -# optimization flags -COPTFLAGS = -O3 -Wall -g - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_4 - -# FORTRAN compiler -FC = mpif77 -F90 = mpif90 -# FORTRAN compile options -FFLAGS = -O3 -DVOID_POINTER_SIZE_4 -g - -# linker and options (Read 'NOTE' above) -LINKER = ${FC} -F90LINKER = ${F90} -CLINKFLAGS = ${FFLAGS} -nofor_main -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -LAPACK_BLAS_LIB = -llapack -lblas - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.linux.pathscale b/lib/parms/conf/makefile.linux.pathscale deleted file mode 100755 index 059325ee1..000000000 --- a/lib/parms/conf/makefile.linux.pathscale +++ /dev/null @@ -1,53 +0,0 @@ -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpicc - -# optimization flags -COPTFLAGS = -march=opteron -O3 -OPT:Ofast -fno-math-errno \ - -std=c99 -ffast-math -LNO:prefetch=2 -LNO:simd=2 - - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -DPATHSCALE -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_8 - -# FORTRAN compiler -FC = mpif77 -F90 = mpif90 - -# FORTRAN compile options -FFLAGS = -DVOID_POINTER_SIZE_8 -march=opteron -O3 -OPT:Ofast \ - -fno-math-errno -ffast-math -LNO:prefetch=2 -LNO:simd=2 - - -# linker and options -LINKER = ${FC} -F90LINKER = ${F90} -CLINKFLAGS = ${FFLAGS} -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -LAPACK_BLAS_LIB = ${ACML} - -# general math libary -MATH_LIB_DIR = -MATH_LIB = - diff --git a/lib/parms/conf/makefile.linux.sun b/lib/parms/conf/makefile.linux.sun deleted file mode 100755 index 8345ee15a..000000000 --- a/lib/parms/conf/makefile.linux.sun +++ /dev/null @@ -1,49 +0,0 @@ -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpicc - -# optimization flags -COPTFLAGS = -fast -xarch=sse2 -xvector=simd - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_4 - -# FORTRAN compiler -FC = mpif77 -F90 = mpif90 - -# FORTRAN compile options -FFLAGS = -DVOID_POINTER_SIZE_4 -fast -xarch=sse2 -xvector=simd - -# linker and options -LINKER = ${FC} -F90LINKER = ${F90} -CLINKFLAGS = ${FFLAGS} -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -LAPACK_BLAS_LIB = -xlic_lib=sunperf - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.o38k b/lib/parms/conf/makefile.o38k deleted file mode 100755 index 9e2e7cdf6..000000000 --- a/lib/parms/conf/makefile.o38k +++ /dev/null @@ -1,49 +0,0 @@ -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = cc - -# optimization flags -COPTFLAGS = -O3 - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS -64 -CFFLAGS = -DFORTRAN_UNDERSCORE -DVOID_POINTER_SIZE_8 - -# FORTRAN compiler -FC = f90 -F90 = f90 - -# FORTRAN compile options -FFLAGS = -O3 -DVOID_POINTER_SIZE_8 -64 - -# linker and options -LINKER = ${FC} -F90LINKER = ${F90} -CLINKFLAGS = ${FFLAGS} -FLINKFLAGS = ${FFLAGS} - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -EXTFLAGS = -x - -# MPI library -MPI_LIB_DIR = -MPI_LIB = -lmpi - -# BLAS and LAPACK library -LAPACK_BLAS_LIB_DIR = -LAPACK_BLAS_LIB = -lscs - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.regatta b/lib/parms/conf/makefile.regatta deleted file mode 100755 index e46aff257..000000000 --- a/lib/parms/conf/makefile.regatta +++ /dev/null @@ -1,51 +0,0 @@ -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpcc_r - -# optimization flags -COPTFLAGS = -O3 -qarch=pwr4 -qtune=pwr4 - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS \ - -q64 -qstrict -qcpluscmt -CFFLAGS = -DVOID_POINTER_SIZE_8 - -# FORTRAN compiler -FC = mpxlf_r -F90 = mpxlf90_r - -# FORTRAN compile options -FFLAGS = -O3 -qarch=pwr4 -qtune=pwr4 -qstrict -q64 \ - -WF,-DVOID_POINTER_SIZE_8 - -# linker and options -LINKER = ${FC} -F90LINKER = ${F90} -CLINKFLAGS = -O3 -qarch=pwr4 -qtune=pwr4 -qstrict -q64 -FLINKFLAGS = -O3 -qarch=pwr4 -qtune=pwr4 -qstrict -q64 - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -X64 -EXTFLAGS = - -# MPI library -MPI_LIB_DIR = -MPI_LIB = - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -LAPACK_BLAS_LIB = -L/usr/local/lib -llapack64 -lessl - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/conf/makefile.seaborg b/lib/parms/conf/makefile.seaborg deleted file mode 100755 index 2a3545d4d..000000000 --- a/lib/parms/conf/makefile.seaborg +++ /dev/null @@ -1,54 +0,0 @@ -SHELL = /bin/sh - -.SUFFIXES: -.SUFFIXES: .c .o .f .F - -# C compiler -CC = mpcc_r - -# optimization flags -COPTFLAGS = -O3 -qarch=pwr3 -qtune=pwr3 \ - - -# other compile options -CFLAGS = -DUSE_MPI -DREAL=double -DDBL -DHAS_BLAS \ - -qstrict -qcpluscmt -q64 -CFFLAGS = -DVOID_POINTER_SIZE_8 - -# FORTRAN compiler -FC = mpxlf_r -F90 = mpxlf90_r - -# FORTRAN compile options -FFLAGS = -O3 -qarch=pwr3 -qtune=pwr3 -qstrict \ - -q64 -WF,-DVOID_POINTER_SIZE_8 - -# linker and options -LINKER = ${FC} -F90LINKER = ${F90} -CLINKFLAGS = -O3 -qarch=pwr3 -qtune=pwr3 -qstrict \ - -q64 -FLINKFLAGS = -O3 -qarch=pwr3 -qtune=pwr3 -qstrict \ - -q64 - -# -RM = rm -RMFLAGS = -rf - -# archive and options -AR = ar -ARFLAGS = -cr -X64 -EXTFLAGS = - -# MPI library -MPI_LIB_DIR = -MPI_LIB = - -# LAPACK, BLAS library -LAPACK_BLAS_LIB_DIR = -LAPACK_BLAS_LIB = ${LAPACK} -lessl - -# general math libary -MATH_LIB_DIR = -MATH_LIB = -lm - diff --git a/lib/parms/docs/README b/lib/parms/docs/README deleted file mode 100755 index 7bc55b02b..000000000 --- a/lib/parms/docs/README +++ /dev/null @@ -1,109 +0,0 @@ - -This package contains a simplified version of the new pARMS package, -initially developed by Zhongze Li and Yousef Saad. A number of -changes have been made relative to the earlier versions in an effort -to improve readability. Below is a description of the pARMS object -hierarchy, and some details on how the package may be used and/ -extended. - --DOK. ------------------------------------------------------- - - -Hierarchy of Struct Objects -=========================== - -1) Matrix: - Parms_Mat - | - ___________________|___________ - | | - MatVCSR(Serial CSR matrix) MatDVCSR(Parallel CSR matrix) - -Each one of these have their own definitions for the following operations characterizing the Parms_Mat struct: -a) apply (which is matvec) -b) setup (setting up communication handler for matvec, and reordering matrix into internal and interface nodes) -c) setcommtype (set the communication type: P2P or DERIVED) -d) mvpy (Performs z = beta*y + alpha*A*x: where z, y, and x are vectors; alpha and beta are scalars; and A is the matrix.) -e) getdiag (get diagonal part of local matrix) -f) getlmat (get local matrix) -g) extend ( Extend the submatrix mat by including equations that correspond to immediate neighbouring variables.) -h) mvoffd ( matvec for off-diagonal part) -i) gethandler (get the communication handler for matvec) -j) matfree (free the matrix) - -eg. Calling parms_MatVec will call the appropriate matvec operation depending on which type of matrix we are using (ie. matvcsr or matdvcsr). - -See ./src/include/parms_mat_impl.h, ./src/parms_mat.c, ./src/parms_mat_vcsr.c, and ./src/parms_mat_dvcsr.c for details. - -2) Preconditioner: - - Parms_PC - | -________________________________|______________________________ -| | | -SCHUR RAS BLOCK JACOBI - | | | -Parms_OP Parms_OP Parms_OP - -The Parms_PC struct defines the global preconditioners (SCHUR, RAS, and BLOCK JACOBI). Each one implements the following operations: -a) apply (apply the preconditioner to a vector) -b) setup (setup the preconditioner - memory allocation, ilu factorization , etc) -c) getratio (get the fill factor or memory use) -d) pc_free (free the precon) -e) pc_view (view preconditioner info) - -Each of these global preconditioners implements a local (ILU-based) preconditioner defined as the Parms_OP struct. - - See \src\include\parms_pc_impl.h, \src\parms_pc.c, parms_pc_schur.c, parms_pc_ras.c, and parms_pc_bj.c for details - -3) Operators (ILU-based local precons): - - Parms_OP - | -_________________________________|_______________________________ -| | | | -ARMS ILUT ILUK ILU0 - -These operators implement the following operations: -a) apply (apply local ilu preconditioner to a vector) -b) lsol (perform forward solve) -c) invS (perform the schur complement solve (at the last level)) -d) ascend (perform block back substitution) -e) getsize ( get the size of the local schur complement) -f) getnnz (get the nnz for the local preconditioner (also returns the size of the original matrix)) -g) operator_free (free local precon) -h) operator_view (view local precon info) - - See \src\include\parms_opt_impl.h, \src\parms_operator.c), and \src\parms_ilu_vcsr.c for iluk, ilu0, and ilut, and \src\DDPQ\arms2.c for arms. - - -4) Solver: - - Parms_Solver - | - _____________|____________ - | | - FGMRES GMRES(left preconditioned) - -The Parms_Solver struct currently has gmres and fgmres as the only choices. It implements the following operations: - -a) apply (apply the solver) -b) getresidual (get the residual vector) -c) getresidualnorm (return the residual 2-norm) -d) setksize ( set Krylov dimension) -e) setneig (set number of eigenvalues to compute -- NOT CURRENTLY IMPLEMENTED) -f) solver_free (free solver) -g) solver_view (view solver details) - - See \src\include\parms_solver_impl.h, \src\parms_solver.c, and \src\fgmres.c for details. - -================================================== - -The above hierarchies help make it simple to add new features to the code. For instance, to add a new solver, one only needs to ensure that the new -solver to be added implements the appropriate solver operations as defined in \src\include\parms_solver_impl.h (and implemented in \src\fgmres.c). -The new solver can then be included as a choice in the /src/parms_solver.c file. Similarly, new preconditioners and operators may be added. - ---- Daniel Osei-Kuffuor ---- ----------------------------- - diff --git a/lib/parms/docs/refmanual.pdf b/lib/parms/docs/refmanual.pdf deleted file mode 100755 index 3acc3d783b289dc56eb4fb905f32dcba9261f652..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222963 zcmb@tV~}Q9*R`9r?Yz^rZB`nUwr$(0v@31fwpD4{m3F01b$?Hv?l-`;z0>c7e1lSo`0(g007-URr&792v%q$$NfIojQ z4B{5n&L)lk261ZxXA@BqBRgXg7=C^jCuc_!0~;9kwJr@Ur}cJZ-=~@%_eClc!r`#c z*Sw2ut+FFyQZ_S*k-)3%B%5y+BG7D)2~0+mad2TH7(!e)O;{cIK^{wXi-wZ zoT{e?sKT>DiXWR`&U9_0=nxJcyC^5?!li3(J&80Cxz^06z&wb?n?$mzYS3pcHE2^B zr9Y>#F3NDTjSFLx#VHA)Q5a`4J&3vJxTrS3mH5))Dw#v>ripd?eOJj>@N6DU`oWF& zRF*}P;a%_v$afrDehwTauqBWFL9RyowK_zZt5tKCc}n}x8(6X7 zK!jzP8M_@r#<+fsuFHoHmxD$$-iRcvaI0JH=BQ%5J%>T2I`LA7Co#iVWR0sPOE1Ql zjNz%{!j(Ret<*0>(1~L}nuD`8nuKJv@XKLf_0# zb{L!rbFsgpZkcMwbvykYZv|dpea%k+dat^5*8J~g2TvpPE!S?`w?R?_IT7}%Wf7!4 z8r9u1P5!Lxwgz}Vu6@>L!Dq=eR7Esuy!z(8T!@CIWl0kD*Kme&ymePBpS3D+oOuy! zFLAV3z1=PCm!0YClkiak`crTg_uBAe@MOuP!?l>~=(^&W!LfL%@5yBExL#OVvAgg|ZN zBeNlEJf2b*;~SKa2`5a7mBOMGn8-t>#1ti0QFAZ*itcepBI_P`=MBq?Sn&mT9>5U_ zz7ZRzWuiVEA75Q!uPTI7>KrF^fZAx~KcFj~$3dUxDYAS|6t2FNk%R85$XNv;s#xJ9 zZ+KWQi<6jCEfefsdd_Vd1KraFnKzVY;1=5r@K@W_(d`(_EYgre9Yzo*0kLW~XV`Q- z#z6-%SfnfkBCV){XWksrmYRQ56WFF(-dt{G+_eH4ZXqUaPY?F*s%psC*Igd$KI&#> zA!1^6sFdy8g1*7U^6yJ6)K;f?I_}{{cpVp-CGDLZdcNM=J#QDVD#F)9rc$NF&v8t; z_e4uY6;Dt56^m(Xk7aL0jUG^5OJ8M72>X4B~)(~pv z!og7K6JXwlM_`J!-UmX%w!$>wSgDy=DS^J#n!JKtADNrYSwldfw0UD_eUp43YL=N! zQ8~w%8JBF*gXvAwaQy0}XTa*}B)|)i1)i4s5(JGemy=R%ON(R9`}LM>ImWe8!hhxxW+|8iG?yI1X*R2U31jm%k%37jGhwBvTz8pPkUsTdju)oNm`HsW6xLE-qU2#*bDQTz%_BXt2nS2+UaXs}h(-3l@T zO@ez2=OTA^lASVzj;zE@*-GSo5L?~c{jz5Lhcir0z4;D4tCvecmv#FOk+UN=G;-15 zt3UMN@R6=N)*ZvgQ*_i`ywF%<=IajT`j3u)ctt`uzGmVjZKbKynsnXh@yqJh+Zi#I<{!`FQNsX#b^l^nAK}d%%2k9gqvm;RcA=|qX?uk z@(#@Grlw?EM7rQ`ilz9T!;s4n0@-BCQbd0UGv8@fD$y3R3zS|tx;NLdlS)%1sj>jk zYx=qU`c`u=8HmwE*rm8*`9lx&O=QToS$x-rL(TcnFQUi!=S77}pZq#(&mgb)D_^a=WkuH=RrMt#Ylw4>d~at{>bZJvs`Y^|+iZrVvy10t*ASr7^4< zXtz}7#lZd{(SAlyy6+5$_SO(ECbq`^0jl5CZy1AN{s)w)c-Wf&7!(Z5Okfy9>};J) zY@M9|e^8qe41HjRqniyLc2-~>>v>1OcuyL``Gjp&5I9ZwKIk|LT ze(&P=yB)y9`sdaB{DA+=`=k3W2o(Q4<2McdMm{Dsz@HcXE}4IC_D9bjtLy;w|CG#} z0FM8ZoB+fmH(;v6^$2#-x^*`?h@Ea=`6ddi0 zlueugTEFjDR2;ydV&d)$(D_ZA|L;lv82Hyw|Ke3Vn!l(xu4I&C=7Qsn-J%0EnoT(5ViYHS!!lN`<0huIcnSV1^c~?S#5+A~S^5-JK>< zNeL=U=zNtV(qsk}g=A!b^(O}C?*yOm3Vg43yXy>gToS5{Zwwu=tZ-RP7kj+QjLLqb_K!L3!-)#3$lX|J2;wR&VCQ`i%tu+ zwPcIXvyP>kPaHjylq|K+n=C4O%LlQdMxvl62=9 z@>iyg0G8>C7%5H!cIT#Q-9ydc%N=uWrt8;QDXVbBJrB31g38m9)GAil?`1Fvq>U`w zO{uL~uT|x50zAY?H2tXa)vMX#G6tE=`>-WiHZ%+@>(y`M&+IjKmA!NuEt`9T?UU>2 z57UTmW)t`~8E}luB~%nBc%bkJhTBP$!0F%R15x6FHJd3NYJWj-VmbMPHuB+pi(&cf zayxdMDyPpdxmfQQvZgnAOAU!pj;#+yPOo+AEySfDA%(nlx{W#2G6EXHwY9yFSl zEJA7QIk0LKBgcPf_v56Vb&!iO>|4w|r?eCkR`;*WM5~t`pi<%jHdaiKR)t(WFk3@@t(lB>T3$aLL`l2jy|4RJWUNo7Ec`<4xz8~Wk>dbP)Ao;KvGg#L@7X<@~EqrOG+smnFy)946m_3#!p%drE((Ex>xkQ>kQ_@r9{L5HpQ zuiV?Zfok7{hb)VK1W_O%6mc&O;O2)_Q#8)d>w#}n3C=JwGj1Y$o1)Rm=>yJQC-n{w z%J54)F;CS3dbLL{aNc$-BVxy6G9>xole1R0uG|4(DWN}^hY&Uz!Za#%8V=oKZP)Wt z((}?NmX1g=q`CxqhmIz|>&{wn2j*vDl+oowd;;~Ld~+SZm^3ONyk@={XhdHGHJtHR zff3_I*(^YLR-Dkkz5jJ5fe{Do7;QT16=uvWj8S3VVC$DYux3Z8y?P;_V|sk8#?7Ec z;K;{cgkBvl_yy5S^dh>o{jmu{7KK>$Y%@;V1>84!ccR&%YrAyyj+lp|vEYSd4tGmto1O3u}!pId$p)>y5 zun9!PxNFy!;n#%zSt3Ymp3NU`ov9)|^xcPP3ozW^+m6v?khr%OQ?4%YHdJ{Q+#wjW z;3wIlI>B8j28 z^v=@p(M+MAv?3HLD|28G~IH7uJCam0XX9$bou>%@>~mN zv7g=`Tvt;V!TBq3BG!GzNK?qOFbhC^x>JbNk6;(Ok2nuwP4`eTgl-xVC>uzFHl#k2 zr?>v{YU*T`DvudAM1@2;nj?rDt|V&dP(Iob!F&iNyo02X`!SoS+Euas>nOa&p-5cP z9;9?_gm(1PpKpTwc_5Eqta59N@eKz*4~)n8m6sP2qa)@1A)2LNjFb}C zbREvsu8nvSa?Z-Sjs2T8a*%^m5=x>wjwm$SJ*)27@zhH~395+ymlB2Gpb}Pm#e>3~ z&i6}5*7(=Edm_;!hHYwE`Y*q%Td-jqY>ID~!V>`H zEEh9vK2B65{*2j<+#xV<+jYrYs=I?7$8n}8oI&Zrm@6Tq!tgFa%DKuLRglry(_Ly( zpe8Sh-S73Q=g4&RYUATKZq%#YA$qaz%4B4-`A^3bP@IYZLc@KBJD=3p*)}15bcs;H ziePMyxr(Rd2bLN~uum9!R+_6HMJOsQ67n|8zQPsvZM9E&Kg(Y1N3hUH&VQBp99&^} zy0=_2kfZ5|m)ZNVro~CrVL*I>%G1$u{@+~qo4x*~pMM2Irayt~e~{sy;0D9+zeU48 z+W!KszuE8~K=@C}`x^s)!`|P#_ZKJrSBUp}>%S-dg?OBdO#dz7U1(~ht~Vq5ZtLYq zP}eE!iN{^e52p@u-4vbKOrJWu^(MD=$dD=$l{IaCJo|$BqfsepUKH8vB~kA`Q~3x8VD5{|G7=(a3Kq!i*sou1}+pkGKi_s!31nxqmS9JZ49MM>Bv-cr#kd zxj;e!$0Ei1onDUL8%~0S_ssxoiSc2KUgsMcY|*eezo*~rQ{okl2D_KjfJP-PRrC`r z=uUJNno99j2C<4jKC<7Icnp?=r^A~%@4 zHV~NEc;#>(CDRJ#iuyzKwA{yvny9+)AolfCF^8Csbca#yS>vC6lr=Ife$3_e>li1Mdev1*Qc!sYjGKx#52`j+BR9!%8 zu!5-1b2=9{EFAnuHnKoMg;zJ1Tt1Vy^%6O7U@M_wcFby zD@@f_Ha+5&S2U^6-wNu{q~-O6I;v@A&WPWWFB^ygDw;OGNS5H@Bn`Dsr>1CZRBaYx z>0lJ$s#o70CU<<<93td_&mz?S!Q&^b^Y|=k~=jD!GDLN2lfftaCbw z%w_|f)G^SxHH8nOsGfElKC0dTIhGr8;_;cflYu$92Ii`QVI%@(X@aWmfcMDbYsqux ztxA8)0MHkdrb7mSu#MKD1hO zD_df6BEEPSqj|#t7OUVmj=%)W83${DFz$_kn1k=w`UfP}Bp&^((yqT8e*Q9zug;Fs zx~cx|d_5)mo~|A6!|<95JHZDKxO}C1A)VW1%kpMrUpwjY5n zOuO=y>Z`v9b_M(yb0|-rsd4h6{D#eOI*jR1QO<|OH3EmZp-#<`?Hw^#ULl#Un(FXDSI8hzRl)%JCM0gA zIIGuL%Z~$q zpj6MTR%N1Muaq8+10IomcsD{i$S9r&|FHDDp~2yb#JAergkg5iN}Jjad*tTxiPl8) zm3>e+MkAH&9X$`HvD5}{nE8?m_fDoVW*uF&C709e&A5D)l}YCY?gwM-!U6qDF3DqG zsokRnXK8Pa;$@?SD$=AWjU!nHtD$Pc_&nzMZ1L`jnQ$?Kis^FtIDZekKq4vgcC#6d zr7f-9!dohN)GQ`*72>XbCNW+_9CR5nneS6}wVW`SI#;(;T!|T2zYP2{^~oa=Vv!(FaD=Q5Q6Cp$NBtg>@x=wXuoDNL(^M^}NV|_agYp$*eeX zeyqo9P~V!4>&6!bzshW{AW>CKR9eJtPbpbOY!btsq6e`sL`>o}%$)CxFrEJjH7f*> z{7YXX$Y#5!&HD%w-I;)4o$l=gQfX_YXU|C}S;qCrl(Q~v zjW=zx_yyC17!9n+pfZE0SEuqvuB<+CJS0M?#qMPLb=>Q4X;Off$kw{ClL$d&dZf$1 z^K;W7DU2dp0r`{BM3=22fefz`<^)+)MK z0>x$j=8&q7`dfmoH>~;j+#raRGAmTq6(yM3Cdc;)an%`!ra_SfI9;jy64JsZ(3kiG zGHsjF5X~%L~jkZH*3mAwGWjGtU zaSR#8Z!~8NJu6sQ1yJ9X>~%2I*MR}Nwww)Aj(=&BF3aaHkX_HXg2-s7kjocUWeR19yEM4t4l=1`%gx+qzX!+is z(PC%Y1c3k^E?fR0zzBKhToA*>?~=N&Jc76FLpd&TT+%!<6O&Igfdn;D*VghY%;th% zj!^8{wja@1H$DxDyw$4G{6^2BYdnpcJa*QDOqzLX-u*p8b``Nnw@eWp){j#FWrqQ6 z`{>yIw`oc(v8{gLrk$$4(oihZSbmMyS(M4N+o?> z?Bc40IPV9isk$rJvZv(0B4f-;3}uI#bu?>>Q**WE3C1VDVNu)0CK`%sE32#>^}-VNG_?HhJ;S^4Y{rXX0=P8NlEzH-GxZU?HOIG!*G$>?l z5A>tvPQK>U=6Ele5Bc1jFYFBNbbmF^tffTGAaK$|a8BidJrw!w5iFL$K4d>df!0V1 zL9;HP|J);XeOB`xK!B0-S^3`cvi3PM=hu3V>Gx|+4`1=+_bZd<&!redsu6^*@{rPg z&#FluJyFwB4rqs2nj9m^A5Tc1L^j2*s7X&JTKJUjhkVk0<(H2sAO5bL{iqQt%6yf- zIA~$o$QGrWmES+rSKtghzd#BC?)hNUltiy*@QX8*ykYfA^dIs4yF%{m$#{_^0sTMD zUxB4s3Ec+s2;-c?Cy9=L@(u$008|T#qEZuuPmptu0=a2vhh)Q#uk4spIm92wlb51T z%GJpQPkm`H6c*nnV>)tFFI-aC>{{`@v({-&QPDL$TUdVb9SALcB$KKLJT>RAIS|88 zwZEILqB%;hv4iSVOTX6Pki4eSR?`!O%-%<#y^~mDw%4p> zah%6EakM1cXh9rt?x!CQt9seW;B1hc_~v8(3UkrQaVx)gN_u2AWS&E$zF3~nOAV1d zO6ekQz7uOR!+vL&d~DTri4sLYBI@k{`gGU;mb?xA1QNTIoBS7*@Q45U7qb7WO8678 z|EGWar+xdsR|$W#|26U-D&a5iXAu8e8T@}phkpu&->&g*U-&jxkj{@O z%q)CA?tt}2lM<@OKRbFMP5{)d&1}n zWp)p1q@-Kf#?&}m;_ZoBLpwYiUGAR>a$2g&;AiJJl~A@g38sfDTEy6^>*w=SgNXIC z0rDEEa=u?o+JmU3!K9vr()MJ6qHI_WlW#4Vbnyr1ehEuxz;c*#1of}=t=9Q@xZe0? zm>AGXDLX->gqVmzt(rXBbgP3wDt%X&XeVe?pCV@jb(U_~C%c$_c)Uj77>-&w#p{hY zBNGVnMCcK7XKeBsC+1Q=E~G#JfF3pjn$PN>fEy2e`RIbhu(U6#-6c@FWJGc?1( zl|y%CKy;_$yJ~|sm)6$nvx%y|{nPgQtA@IdgQE`{QM^006znCk@E2Dgb7Ua`dveg} z1%UjH1%f^(JuCLiyA#*zjJ+u2u8r?;4WbAYu%YSxy2saHcjyHPv?Ma_&decqCQ=vf zt6N8b89P2gkmr>V5j5*yGMO$QD=c+KiX}!6Jeqi6=N>o?2 zHV_RxR2}x_TQ_Kb&mb6zAPiN&jOA*7DRS67=FSOL&Y(DmH`~-z|8)sbNUn#Ihs*m+ z6zb<~UVr+wnp{6^j42km${BuIaoGTC7tgMS9GZP)DRI&oX25r1=>S-R&U*G@U{r*8 z<7f*;1tT2$BS!d8-r~L~nDJ2hgg*WFWPc|UfZK6u%=^Ai^CS%BA!DfSB@C2%9esm6 z2l#_x9UeDUphRogL;5$?C9TGa{#V1!7nCs7tpL^DRJbNVh3v7=PFe3JV*@GvNxnFn%%mb`c3_F&ij5O*3H zE>ho)o&4??oy(z=cz&wt=5Fu4mqU3_(|lO~i`n#y@isAlJ}y5)-(;IblUB~Rkdd&d zjIR$EtSX~d3o#PN5k)BtzKvXD z`DDhU;?D(J5T4q3*9m41(iCD}{oF>5kZhm{xB#9vy>7vZf?&30aX=?YoC{^Z$O8bS zeTSa#)=Wj^J9S?h{BfMdDN3_>aAgCN27&{^(T7!=5uvab2lmT%sL+{Y)^{;nLS=wZ z8Qv$-a`1}^=sN16Q)Wh7G}qUpE@L=BLYP@yDBI75z;W`;r)8K&^=Jr9N@T&-vcwJr z{~FVGrFJZaE1riudjNJr6o?tp8-V_40jNEqa#=L0_~4!9fUU@ldH=~kp6%AxbOqit zobtt?c!PdwpYQ?*u)vMHv7f0Ylv{)$V51q>iy1?696VkItSa8$_nCMHR9FU?|pL8mK?y zhue6FEQ-T0UqL$6qt55(v%a+DehU=H2NZsFV>&zxkeM&0AkW%Y#FZ9l7NU!1ptijCsglc2TRB|Gyu%tfQaQOADk(CHd= z#e1Nzrn?^~%bpTQw1pr-oId229hkeHuaD#NF1+XcdZHV$8GEMrQtlAN`ArjOtlj+; zZ|l-)>$fG!P=(by?oB7|-A%!zLs8mAXp_XHLZEQObua^Yh6hB{Z}w2x68I-JM6TKM!{@b4FtgO?pv3v~R3pb9pZ4jQ-}RuooO zBS785$Ux*tDt$B<#gM>5omYjc7fgXBT+1kV#-x z>y=}tXCEPdQE*R7$90xLkp$!6>x+mHF10}d2rqtbwsuLJB!~3d&N_FZ1pGK0meQ!m zb$>78MlGE#0UM=Z5KZ|Lj`P+U+j|dgiWVg%f|0tdAXSzipB@8!r2e*}UF8c)FsOY{ z9rY>poeV6{Xd{2PMSx1V?0O?+!)dqrVqAF=KNun$ zdntq~qYnWATd7P$(tVx!gDfl5SGW3Iuhr@R=J$s4P!K0Cqz)n~%PH4O@19IU2D>XW z)Jz2jBwKB@32UZ#EJoM*C(92;m6aL>H~fvFxWx3BK^m66PIm&$~8sa305Bx?1?@2-$|)jo$0@_MRTp$|q)qFfYd{c>#Lu0K-Aa}YE! z&gB|YV&JJ@FpP2{*5-HS4Q02cmkssQm+&eFZ>Q6^lP`GVd-U##O%U{C^Hq%dz+cLH zo@4|f%ToUG9`t6?sUZs6Lhc4_YF6NLBn)u`{&)f~kxHAHCYXX`aV6MuarKU2%3!|- zFB91m;Dd9vV>Ja~{gX{|WRDqfwWJprhRam)EaqUTMQZcPe=TDC!8mW+f9M83yV1Yp zJa%(e5tPR^*TJ7Qq>yy|yh&iHzQ)T4C8Hj4*PlvCsbNS^fYhx>5;_-%=M{{Pwj*T}!Q{@*SCe}Mh} zPcZ*aRq+?hb29$-VGqqOPV1w{-DhgoP~3Z9cl|)s<3d(r5iR+nbt-Z;RZl<(abW0B z_P{@yGX-)kJ%GSC3(tvl+K>j)g$hb?^f<03Hdpnw>)nOHcZm%XJ6@sTMeyX43Plyt zH068|51hrR68m2E1|BY)hm+x|=a=AYkLEQ7gG#JtKT{l;pl+^&aybuIIhVqVGrfHzW-3lt|5`acF7~*FN0d!U8lfI6 zYAPs7YRFu`wCiA4y1}=X#kB1OgN%wzhKf!u8Vo7lCkdhgS+e5G3(hBrZ6!@B(=L)W zq6YBB#@;=PFnOdZ%%8-$<6uiAuefWhZCP+N+iG;--)>x;lL4CL{){w2J}64}a(eAk zGOytFsSWF{u|y-`Z(Vb~UKLFZ`ewwgY?zjRV)w68ZGdHJZ5mgU zH}_G~wKHCz!7w2NCPUXS;7mqIrwB-lDM=9vg8)w9HqrJ4->|9?5_=eTS zFGZ7+zG`)Aj?a)NZCC1)r%{%N9?h%bTKP%D4 zeP?_huCRnniuGm{J39?PjtED9f9nCF9bj~y+492S!_pj}XHL8At`~c(tTG+IR_mOo zte^V#;D#-Xbi@>7IqkDP`jhZzGQ+~H8JP0+*>heB3w#H z?8`3-dYeRC5d#Azkg97s=NOgdfbZ|1NFXq2((Bs|h8Ewa#$%$v1kswS)Q{!F$r}cC zh&bB1Sp9^aifMso4w&#C%$-3~JF=@BJXrm#xOv?jK~Zz6ycG0g!299OJCRyW(g^1< zhvO+)8`0o{Eqfn+!AiP+-phB++Tvb3bsN=8^t&VD3lUO{7G+~3DfU>a(v_X*x`K?_ z$tyjoewmyw>9(Ibz5sbdbIb<-hPtFE<@p?i+o&G{b3<3zDq1wQY4~x(3u|b+_ks*5 z@_l9*jlO~3cls6nB(MNqnCu{wUfGnfD#MNt6IVb&C@OvHhE ztRQY8(kO5TBf&{K9j^yi+63bwt(i1CaC_#H3l6Qk#7xnwW#MHu+P;*_k)*6+JknscO^ZCZ_{m%SyA+B z2E6Y~{simGO!jO*_z<8q{-0|!*OvU=xv#+7tz5F?tf7-|KlveYX^4Ssh{?_!ZJsnv zqJVUSRSFqEotwdbnBa+!k6r}8liP`x5G>F!HKgHT&;pwDgcar&Cp0U}88yrI@_s2E zw5Qi=w_`|~;t6r!9dXCcY$U;GZdUFph$KZ#HU-x%>Sr)tu36uHZBf7PdA(#hb1}%^ zb}hJ2+pDF1@Na9uT3oxFbstv2ZK`Q&sQg+s%q7)1xI+86&iH$|F zsJ9O^RnUDL57y6?jMQta=c>ypTdZZ5+g71_%uNuO;3CPYm&Rz~9J9O@P$GaVe)vLy znQ8Z6)r9ow(HejLdI;xEYrRy_l zC!Ncq^m4sBo`*;BmaILGU`-bBuA@S+X2sES^V{5cYDm1=a>6koRhAKJ$Ov~73(k*E zNrD>BUnPEF`*=EdT8-WADk%tno@JHZ@K45NOh`hZYb3m0f|rDxVN+~GW$a)}q&nuM zr=X4IsDPfoc`%0Y+vSh8da7-A_&kG=;H$n#4bK?g9J;aC7^fOJ?Jyd*C(7Zv7+E+S0P|TTT^W?qjj+> zsex$`ZfI(dUx_7$seW2z2$(>S^$Xy_iaNCrD7q}Rrdz`;Y*4dGpAlQl*u-5taPoe2 zHP(14g<`m;N5oNuN-*IC>+Ybi9&f-5v%1U6U&!wSq3_Etnn_f#T4;k>(;u z6_2pXyClt1^+M;9CK-`HzVPfAwNw*o#A6}2j2>xt(;uwz$FrDn|HxsfuSF;*geb8L ziTFe1JDs1SS9Gb3O;kl^)sNzfZ?xFhs>swMT5nnj*S-1I<@1*VLyOOcq{=t6jWOTs z*TnJ=vp%|fe6Y+7bZx+cUORO)pfWRO(T8$LeZ_Tb}D3LsHr+_p%$saJaLc}i3oZq{hluK&z zMiZR`-4D)9voYv3EvX`4MhXPx4k?$w4-Hxlo_8H-SUddAxg%=Nr@NmfWIlQhofg$c z+&}s(Olw3Yt&yx5+QDvVRIN6oeDMjND-dxCSm(@hO zzuDj(HtdX9ZgkBf5_HLMJF{80rLXVN-kcum!kLn^OokwGP8$ zUrY@UBY$-^&Y#vH*j{Z(c%C)d-nzvqrdllpC5V8Az<=B0A1k@S|I6N9JDn_8(S_36 znYxnlNA-H)mj?DJlaO}a57dIfhXbG1Jb&Dk3zCyT4MQDUEebQ#m44+;B_rjkb6LJl zseKOc%MEJQ57~G~yX`(3bv#?VUWGd*xb4q-Xvmz^&HzD-n+$%pFyO3jV!w?0(TaV_ zyuS@@W073=1+yovDg)`qiI;-GQi%a{36Myz50I$~lSLErsuU4%Ns6N5OMtT}g*eYD z5;~z7hZHvhxN^t@;UZo8o;|xXTq=583c+i-3PLNLgJMo}YaM&#Mv>T*d^c(~%oq8sZO?L^K z2H~o|+?~*u&xK;f*L3SO_Gtr0b+ge9g#e z_lK(RztI=W@yfa!)reZ6WvBN9G5Y+pcR8i+?X2iDu{yb4QoQcV>N!#7A^xxd6b5M0 zN{!53HC6i1S?N`*?W;B2H&t#zjxfC;V@f;=k?hcXVskU-lKvt(J!;{61y~!i+SUH!VdWcbS z+%kwx zb%B)iccYkhqpnQ>xu=I%< zBJv67rVpFkYdF8hrJErIoiTRF-6ySqCnQ&6~qvE{7I}`cC2Z(+cl%{ zfTRr?YFfhH@9q!d+PGic3HF#6!;6u>5cLr*a2oB%YMYV$cJj$F3Q+Fdr$G6ilRp%t&j6eY@n_Sf4`XK!5c$E*=m9y*~UoLI% z^D0S0NZOjPN^?th^^}&Uln=L zqOy}cP3xUYmYrr!@M8OcR1V(97OrJDMI~>Cy{l_^UY8uwV%#uQeYm+Z9gin)ayAc~ z=4H$El{oe}xV$`tcJi=y_+?{}-4)OX@IBI2@5ouUF}+9?fT?5hz!DP*9n~T(_(!J4 z5M#H!SMSba6?*sLkn5e{I(xKQmsVU5MFF{fj6vJE{tEh9d_f;pt@wblHE08pULXaf zB@@G3W?FzbSTaM$cgfr=!-|O;cdMTY7f@i>vB5bQDe;A$A0SyowYA@_v&|u7NxVWj zNRT9`n0SMIAc3d5>#p>z=(u98{3(;+yh|8kz3?eWz7vXpW_&(WL#)T#EqK)RJ`(eV zlH>I(0V9*h{y=IaX-)@*;p2U10!CHPA9G;$YUx{et0ynC!dJ?rFFOd!93*E10!5Zo zs=pF;-KK#PP{&3eXcMR?Fgz6yD4+5~7@I|22q~%Xi98cfaoia7g!n$0gRm4Nb+|*5 z9uLb*`3QE#ZH$6_F)%IJgZ z?&f|y3vmX`OP>qD)82#wJ7y(NCrQI_XT^WxrJa@#mSpMldf3mHxQnkh{q>08H&k0W ze5RUAppz2|!}cc6rIGXL_@Glro5n$|a1<1;G6|h!&OEDtuNL*aoAdSP=XsAA2+Ok| zoTx$izNvnZ$x=t3vBTpXgE!;Q#1(`-N-Td^SyX_jHukrppos>;>2BM?wJN$weK|-a zh;48PZj{<}%7Gzk-Qn5TLs^aF38`mhn0<)sXJHIcTQJA9vpz}A;>_6lYTKKlrH@kH zH5Muz|MT@TW`+_m_Uu1>}Tsgrn0sY|y#$(Btd!$Ms(+;cH3`H3g(6BCV*oU_o? z(>AQ>YiR?PP||Cz@IpJ&yQvdT?bP{SPTl=5uAJC2iJ7Wg8gwNM57tez6{7CVnUfsz zM~SPBEqG|mSbgQ%ySc5k9PxJ@H^CV1?zWTmZ$vi_*|;AUXF0!M-x^)RiTIwwKSkXS zPG%RQIG=BQ>nN8Otx^0El8ZU^51pT^S+lxd1AN;BecLo+EWNQwOKKuG-;It*&cJQV z@mG&@LhaZmprPU8llySc)4vfl3GqF-v6MOsi;moJg+4hfIX1m`HJ)f-PFBHV}y*NVv2Y6dnJYiu|<~dmhg+Hu`BAQ;qPGQ%peW_ z@b}Z#=W~*(wdB@tl$yE+>9Q*HSq9m`52X=InwR@KX1*TS&;;HyEDZJGCYxG8a@tnT zC(pD6-1qC8Lr>m}

zNjsR2LD=wmy28VK#sxnq3b+*X>&m>Y@H935juNCRN6d}$s z*ZDIV==0;QSxpViwJGS@{z)d;>lnXA3-i_7-0r;UM@c3nj{`D}&?Y5o(gq3e%*e|R z;jzEZ4@527Nomwf`!IDz)^xX*5b|C5kr9sjlLNOubz5m%1x~4QR9GSlAlta2gF#Fe zN54MA{Xd+&V~}L~y6v51+qP}1%U!POvTa*kwr$(&ve9K%b=kJ9+h^Uq&+Z#%y%Fm@ z`6(kKX3UJ35t(C*|L+-3sUd3f>}$6vCFEozWjdDaEUXpntx78^NH2UkjmQip(xH96 z^+Z72*HuL1v?5kFKPS2`k0G!)vLs3b9(-inJiV*~mstG~V6a*nz#<)ev zIqyqqS8rb(m!Kk$gfOG7Y}z4T%d0semT!b*$AXvf`fcICkfC`l2y9Vmd`73ID+N<6 ztWg+kym=}}de+Ynp{MflDOI!7$D|G_ZK~Li*A5?$TjS(o4qu4o46u4|C80>bQKLY4 zXGRbGq<4pv=BWr1B<#x^W7XwG_ZtydI`tv%O18v2p3+$O)_6%wG|{oA@V>uExMwnh6N<_I(YyTRKKF;|*As}DHa9?3R+4oiJZ3p=5Y^_7 z_|lzFIk>Tv6!B%uOB*QJ@|8=mek+Ytut2{h<-O5C-m6ftIW( zG&TUWMkcw1Zz3vJW*6ab)#wJEGw#-bTyKmMcj4*Kv%8rT+}e8SMY2xpoKSE}S%gDf z`Ni&2@$zKVAwdEX7wT-a-*&wDZQ|F!d5LMiSP@C=lq!+HT_P+s`?a3HFX={mx9O=r zzncwQqoiWS#a9no9e0o3KaMeU#`;C#2pxj1QPQUdRpB2NXQVnM-Y+;j@5k~)(a!C5 zI09d=Dx*~$J2Yd~=nmY6VO;}QWa~*cl-z}UQ8_!E-NM4taqan)uVPzWGZET7`DeA@ zgww1VazASlehgt$WUvBVtH6q*igqV1gqIs?{q(?8EqfE2Lkcn-lUL|xFe^!ae<4o5 zl;8w^T-`NQ(H?z@1v8^bQ|O+nXfKoY!y3K{jaM{icTU5F`5+Xb5uS}N$=B2zmo2ly zcDC1Aiem+DRh(JyRx$BKaBy@(aT!y)Ma=_~pHWAWpjurT-t*&)7E0|y=+>bJ|Isqzb`ny=-UJ=v4l@$4S63J;2Ie8@ti@x(;N zr}jzNWD!-S?K_IKy$^R|)3i_&%`&6at0GDKD_Vrb`D zHAR`W=2Ahp5Oj~XCet^v0_Nq@NI}IAn!a)!?#MNUTt-Tuy=TwzL7g21Lmh&!c zd}^_qX;E(ZaUv>+&tf!9^!sL99Zgc^+O;Mi5bl(;6Q8+lZKWDl(So5nU{L1|YbkQ( zI<0NwA;&7YMHsg_Rf1B(61N)GQjN}xN>7s7n=TtvcB{n-&l%J##eAjpU*{(~aiX!G z*Ixt(Q;yE-@ zn#z`|myb*D_MgAEM6({dPzUFj;Rq+tD4WsB0=d*A%(9XJP|8-*K==wb2b&}ws6ul4 z&|a}555Jy6inCZm`?6R`YpmhxlzA_<$~}u;%&!b>lqF>fie>M}R_%p5)zOp*$5FJ% zwAaA4fode(UUMhLSkH6?N?v|(kP5iBUX#P7*q^n-v6yRIFPihG&)Ts&?Kx0}^w#g= zgoj3iU1#@b!VCfC7b7^RIKAd|<+{64skA%StlP$T|53&p4dHr>EMjm#_MmmNy(rU4 z-UXB6#Q|>)A&pTNHF`cO+TUtkG*L!75%$qsVu1EHhK^rLgtY@57jBvyuUw-Zy+!U?o$o_-oN8{XuB`%595#wrxbj zmDjmX#bb~uFx%*$PX~IXsU*DV*SSFCBVv25ec*4fR#e*4>gkji+oOKU6H;z@gOatx zi>&aG*`RClf^02!xn@gW5zjx?)={fu+%$AQ00AJO)QI6h;t?7N_BE=ZlpIhO9h{BR zFk(JbzI7i|6l6Oy5RZsY`)Ptg86h}9k{_WpwX#gUcEIX%H$Qw8^RAZ9qr7~5Ggdes z)z7n&_LpLSh-v$t!w7*+`>qgH$xP~t-M<`-!rZWXmeSKYpk- z;qg*L+5ajk6Z4V3gs=B|SamLUv{<3+B1!Oa^OUlc3gZ&}RETfJy2L*kTv_I8+K1t} zaAT$L3+wEmnh`lI-j}M%808GTDSrvxXf60e0*ld!z8rfTMT0rP9pbfTPN0|lF>N6O zs9w%=-}XsJ(Xf#vN-7`~YRmrX;|5g@-yYaY3zlGPU^C{)B>_Y!yBkI%9-}B{oGS+Cu;N&e*lVa44DuEE(>sLx0HE z0pdKOzfat^=k{jhKnAa57gOLR}f81bFkP( z4W!@*G&%XC(SOyH4ZoRu!FmmbevmP(8=%~tG>|q!%mHIg2LMIYvQZ-Mg6k6dVTJ%Q zV2BH4xJ6hG81lkqt0#idip(YotX`;NBck;V#J~&5h2q&E^89L!sfOJ(Y1Q^XIrH@H zh17rXd=Y5GN{30Zdm^sP&K9d0%jFtE7~{szV77)|US_LD9h?I`_jlG2JwGd%;1hn# z0%zV}yK4yDw@8W7f2e%dG%f$xFUE)A9m)yeE zjq@Q3-jyaYG*kAdh70dgwgd;_;a;`(qeo2xSpma3`a@=ORAYw+;$_jVqYHiS-g&St z;JPW~T38eN6HP3yF0Prm2zMwEILnk*!d4Zb3cjSbFCQx9HE|yH@ z;1f2MGZlCbU99sAGN~0Iyd=MZAsc1JKY@4=r6m7Gy!{y!|E+lYOV|8A=`_o~@Q8l~ zL;O$i_9wyopLF^U@%9Ha{by$VpK;0mzz~0^wBK+47?J#2P4~})+@E^(-$IU^^BooZosKq&3e@R&PuOvPxsKIf^mT?VVY0d1mnmOez1e znmnAnvhvha+&!+qNSSY2O^h(S=1{#=eS3JlNl-|+4kl;mbqTx{7nZ>oA#^%zbmeu*a-&D#C%7JnJcG(-VEnV`! z5uwV%#rx*i<$q0~CWHq8a%O9Fl3n83$Y% zmzj`NNzqBz*Z$n;0sY)|Kro2A_&`^;!^1^#qNyybi1YHJNlT7ghu*Hox;9S&@OWHo zQytMZ2Ni0IdTWp$QWryXTdq;BZbv&tnhjMDXmV>jZIz|Zl{yYJ9a&h}ti<~1rv6^y z1(*tlG3klO^hFtDyVa55lH7JLEU<8foq@NKra*+_jMz}Vu~KSUH9+yyjAaMg!cE+J z#nT|0rop0Z4$&b)%X4j16JdA|y$e=;oQ}AK>?{Zi)#1p+XeU2{+oceM3w_Am{~gc} zl_&L7bkVyd8Ld4f_^Lw1+J~=W42D>&@~Q9Wf>1xNW)o1~McOh-xQ+16_##UC}d) zQDz&n0@VRRc6fL=tvY6JS91d2NwEh#B(*UEec046#}ZX2{J>(7H7E#-t2*=P@W#35T$Xcd zOs>i_5HGn#qpvEY_6PK6LVCzRm|-S|+5w#NW2O=wND6}kr+t=TCk0E5-M%Bk04v5i zMExKS;={v=pxkF%GZFKCcHzNt{vVl(d6quX= zs8^j~zW3}ftY0C?H9Umy7glWoxdy22*Z^{d4L(T`bUiE7+3&Tq5$Psk$R;(DacX8W z^K8;Jly;>82Jaz7Ti;vT3ueDGEGLh39WfyW92zKnPZ1=DjpHR~fB6JH%rqo^UC;YP zSlQs7)ALZ2wqM*DVIua-u(SefDQs*o<4y`3f`9ALNNH6fOGiV*-|*a9ukXeOAwjAV z=4gh-qyZkYn`nnmJBD95OVGCGq{ZuW|1>?(pO+DzTuNTp`ID8VHzawy41~SE#A z5_xm*3l?H3?p-Mgz)+R1;@226dUmcTk)5uQWjm9wU~IhalO!Y{1MW@@@$!dROb#vApfWGSCbQE$MC1P(X@oFwyyp3bYA zh*SoszxN9ZJm|e3)!>7b4IwsU>tMDxBt<N2j*^LFkkp=JQG4blub9F)G_R2rEBXAob;&ARjc~|@ z+BrnhCKdG?(C0T2AaB}y?%EjWB9%x@_!P_j$cWek4I#LzxuSUHfSTnuwJ1GVBVA*ZPZn-Oh+Z@L9FV7VQxM0n{HneZ zw1nn>YKGVD0USb1_iKGifFsB8zR(f;0vzgEVVhx%7Y>LQ3?9S&mQ?=UM$0l5!-&>r zB_i#RJM;R9AwTZg4lL9)bZPAohq18vF+G^T+=-QRf&Kh4QXwE5L{v)i#P+~&H@4Pi1Uxs zq33V#rC$Ko&tBBy1dh&;Q+aB<22MCXRuv_wV<;ir;sIZ3$V*m8KYazOJ#^_@Yngo8v{VpJkITj(;{h<|w1I-8Z)p8dE6^}?O?ucjpQ+c==l4tWah5LewD%H|h4 zL7_h>86Q?yyR9x#FMW1xbxAqwxu}!i75K8yk1Vri20rs z1U0{G`9U7Xj5XGReS`4wrRX)Atk4OLc<*=7z2w0FH?c&nhc-r%bdzEq`+Z&iQ0!*n zF^;$4gYBKLP%v+|7#zN)5Y0ibk-<8t#I1b$epbWTnX@9)HGI8n+Sl*^=E2=jE!KOR zANZu@rk^^TwCO|;3o^-x^|U7ydaMN+$%k2feuA85|-y)1-F1PiTR zT8CrhE#|-S%rNURP+ab}*gPl7gdE+mtDia(*mSY0UqI~!4J7G*{|e;t+t7us|LbJ-ugm{^%m0Y`|48@$4{iUaqW_Jr{Kdcgvvw2KKiTSk%XJRUf4r?_@V^Ek zIgx*p&PNi~qL>{(veY31mQ$psR=iEj%9?4oW?|7kg!z)=&p2NXOK<>G@%~0Uah9^6 zLWu9q1)F;r+cR<{O)2r;9M^Gl9x+t|X=Yf$kw)BXIWN4w26MRk5VlCx-;8;rPra;> zS9~09x97-WS$0&CNd{dgeExFw=_!?gZYh*}7_70K-O0optk_Rjc4Hn@d7e$sP-cyI zLqFaR>h8==`EKXRf_1;`f%0qW-8rr11TI-WLR7_M&MPTpEQh4D6;WikB=;a)c}({n zVr?nV;|mV{){hNA385AlPmrGy<%vFq&Iv?cL@fguGZ|D8o~@2;FUUo=#Z_y0YArj{_J-K*~y z16@*#L0<+tyItU~bGW&D*(E1atRQ4Pcin{i5=sb31Vk*ANvn5e3?xUP!*}bD9zzk$ z&u=pdhW=x}{?1aK(VGTk#~n>(TfV12f|@VW#|Ja}t%D9J4q4wK47X;Cc?tTgoz502 zncUJ6=)EH>1G2{X7UdOIB2Ah+G!-glX`(Xac_}6{RGkb_4K*>~M-ZUdny8~k5+@Nx zr~k28s9_$M_`~p5A8ys?PoNQN-7->|UpiEFCg1Uh;Mq;Wd>zfP=6A^;AOs$0c^E*N z8{FlK%$tCdpeUxyGbm?%0c28l{SF8c(?XNCB&={Xbgw`kn}M~b=iP$}61HbPqveSk zhdjn5`nJ&EzS>&bvhuy$r9J$-I@69pj$7Ht(&RdaA_iMAnQ7;JIX{AXIY&4DuLQg` ztI-(0@A=xei(4F14_>%qgJD{U?3v)(3|=ZHZe8vTAQjYjV3!&vk-pUpv zAil}$<C*<@Fu6jV}^eF;sO#5 zZ!X0cyNHCEXw~<#qE_j()d0I!(VT|wfcJou6AAVPQ&@2qqpR1f%+2A18SiUpvULDo zFPH}T(5e#{nOF&*sX$vX4RI4VB-UVpjS#981jB(shgwQG2*XcMlgU2jm4L<>LE=y_ z0Mk)iSS4~12hvo)a??2*`ixoWqMkH1I|$WRoe1&Yjp}Oj*nvbG4LxB_BVu}i!QL`3 zgqub!w0%H!l+#hzeT4S5H`BjNVXexCwi*4mHpB+U3XkktY8&m1awAMqa`g>`@(gOX zX8hgw#lWnoVkFzVEovh<$h^^!vUpffaX*=QpV25=_#8muj=pj1yI|X^*gc3jj~1uK z3$m9=TUVy6QULPhl9u`XQWtEO$16C$H+~3S^BomP==|i=Q+rNFC#*7uJh3K2%c_I5W0{uV+3ZIDv3#92?!mkSFjR z>Z~X?nQXrS{Vd35s{}emfh&8;rCuBLa%W-qStUrKMX52b7~VibR)+)T z7A}5rmESwYX-XTGD7O{FhruAn`~u0MB9Mjkp*7AsYAbN`{f^|_rA>|<9GNK?f)283 zMKdNY%FU+eoj;|Lz-i>AUE4v`fskqa#GhBp=7wkg*Tr#9o4In%^Bw~_mlD8?XC`+7 z^e`5TC&X8)cBmomdt#KD-9aGq#!P^OJTy%1i5i=ut~$p|lm8Gtl@KoJ7pK5^((*jT znw%j;cS;*V7LV|;DEy!v)bNTDPpbDb@oOf3;8E4|4>)lm0&eKn#!!1KDHTv7K5S12 z^xsW7Xtp(V6uBL6JGmCr8YNTDIn>o%dH=@NEec<#> z=;7sfS_UXa?0x$9N8ctqKf`(Sy0t~C0tOaT&i9y{=9%(FKL$joFAG(bL6|okb;?LJ z_+z!0@@H2lgo{zmgBXX$xRTDtkK5CUx|+Khh={2`hF=ijkk-oC=S+n6&aFCXC=6%` zw?YK_=rGG9+a(P6;vy0jP4f~s8OY)F8Y%K?`DYRCMRu|ft-P3^G@9+1c6l37^-;Ux zTH%tPEn1J07A_4}jZC}8b6y*o#sY)&N*9P4L7Mw4I?M24tk`j`Dr4dB0I*gdc?K}j z(n6ClA)j0V=6vqorqqk`_KvAx4|$(BFbUgr!=IH8GVB>C*!iK~H1`=>&6-OL>9eUe z!%B&#%yi`z1(~%WV68$Flzf7iFK80`o3$7+KV=T~p)0!3`5|nMF}^rs(!8fCU(B16 z?QmQgD1a$i%NT2_AvU%eXy%aFUud(Z>&obe9UUj{@(Fag;e{E*bIffELMVb*se96I z^W%_&e2}E(v^pW$$n(2$j*i+gc(Zg|G&H-XAUbhmAx_`#>I&#s^(#=#jJs^j4_MXH zzt5ZTYok8T5Ay%+F7yi65lO!T5ESn^!ql11EmM>7Uv*iN~ zJ*>Os!Qf!s2+ZTc0j~%EnOktywMEI~5T9nwKnQeXU^~)e~6!!1XtqkX@go$B*{Os&3utn&b#8)a;$9Z;mAtyJWphoo8=D;3ya3 zs5A{m|1q*Q>V9+@{bbn(C{%iyMdsFbQVaGpA!M^~G|7GIO`X?y< zcc$P^_5Ww$|A$%lZy4hr#QeWE=={56@t-CBe;$JT+d^xTt!7F!VT8uHlhSkf)bUy!?RNi82~n6~|%eUR+)D0sz>GVBXFD+@#x(l?uZC7TVrhe)g^<-Wv0vPR!EXw$lb&?1{L zS1FuZZu?w4qR2&igk_4Cl=_NDB4R7Zw*3?7g{^qBYOk>gImeB`#j-ep-&6r;o-Ibj zoWHp-X7cyVa23>0AI)N@g(y4nIVmFRHr&47joI4U0w)OEZvn&}yOxV?@hSXi+|uuZ z#XmV;0x4|Hes_2<7bkxkfAb3&TSjq++o$-wi*kRFGfb0HpPI-%AE6gYDIGGQ(S8TC zUT0DeEso%I3w(;f_Ucn|bJ#3Un3((fMQT5YLJ5Snp`IWLXQ1Ad9$fxUpg9F_21g{c z7;g=JQy(iuOQ>YjDgrUb{NDTyS-I>-*8(Uetwfp+{9GZ!czN||w`GbrHJf+d?3CN1 z?`b>-zsB4Tf)C8&)l zBJteK4GzRjD$Jf9gn?=~_mFXxG3UAqlX^1PMp4CW0f$_v5R$cQ+{aD1 zC!?#Ev{TnwIYX+X7T4-D*6olwbTolDomS9A+FOSLLbw2iYmE6n%$Z%1Jn;NjyzCgK z`@#SsQg5fWdm@w|666_~Yu_LIeF@N`G;>2iP^ktpLIK7Q@+Aq$*bvN+0qs%=8fvEe02*oGWDvK_zOUjd z%SfZF3n5!kI1&=Q^w=HBd1r1m#;DA+jFQMhXKej9X?en-uUR9@PH{!}{J$7Zi8B&D z1R;^u-C#!>3=$al=Xc_wEcDXG%2=kEQPIZ0&!ZC)l_Uu{Q%s;vALND%hBGU?Y}#B% z@i>-AGdH0`mpl($p^V^R8$AKtf{JxaK;13xYfyIJXQFuiD8*Q$hmtrH?SRL0DF6~V zd@sgg=sFKFwPX42MPaz49RLpF_;Cl^$^fmDP3Gju(DBW-bWT{V2J|P-`+E%~!unjRhl^A|-aYC5( z>mWl^*!I2HUo=_OdB9W1NtX#*o=Xo+LIW}MsAQt9Uo}mODVZ|AF!lGOv=>8wHGz0T zGb**N6U!e4j8Q9b%z{I#Mt?~NnAQOgXGwROe?fdqwOFUl;pf#TaoUY(TGn$6!fmOPTfNX&+Z{3Lxde*62oL^@6zm@cH`2u4!2Tlb1EZ$J9O|| zMJUsUiRoIQYq%8j1I-l;Zw3`1YXdf@1YGQ<%HJP|Facq~fEbp;fK{hFcfde#4#1SI z!}p*J-3X1bXJ?u{u!xa8rpJA?n(?JU%k-h2i2ZW4!-MD7-jE=5r39A8pvwsaN+_t5 z-(n%?n>(+L&0h=Db(+ltXC<8+4B^SDgpSPLb;o<~n`hVZJKc*Aw0J zBC&I%xr`ce=+wC}oSO^DK(!eW4v80Sd`{G?UkkYk0FSAr>wQW)!(0j`}DDaVV@6?sPY>FK%!z zv;zk!+V4TEAL!bgg~_zSdR>gw1BU7|ub6MVcns4NQP1?myn`>iMG~m?2*GJr-sHv2 z#jTQcx7C{l%D){^T?P+{f9R9hGKR8gG@7zi9|5aLf5+#6RCAaHY#~H; zPjn+qnsnys5G?Pot(0D(y&Z&Ak_o~%z&OOz7?qbSa*J;Gb7XyF;YhdHRL2Rd+RdI# z;b1Y!{*38|5i(`!TdV&%6qJM0v4L+=mUvovXOK)(+^<&8H`bcF?%YFB9Jd$nx@JCd7J?|6 zFAL3|?rztY4LuibX`Sb(02g%giv`X!f9PMUT@Gd41l1Rl!FlI=bj_V+RzBQqt*~eC zNMP+%-(4x)U)kxJ*st{}!bJ(-90kY5f2d6g;z!iQEHaZTlEL9(C5ist`Alslf?Ut9 zp5>L)Mwl6#&sf2cJ!;j_=n$Di4_mPw-en@6bk9ojQS)#B4>!pfpYiy0WM!fAr2&|@3&>|wluWK2)k8{pIwWx87CU*qXXZ`4dHj( zU?nUXOm}sQmzyUw<)u#-h%oh`yW^3pBi}|Q88@0L0w6ZQK^|>N|Snj`CJ ze?zUumdxleT5OZIM@ZwNr=|M|5_Y`-`s5RKN;)|#UoGi#QR4|+t6Kh6oE5>&?(PAN zYAr7U3DLay>H~&qaZ}e6ikADs1|@=oYTIgk+)lXNpez+mJnl+R5}9&g-o$f*lMJam zyBilIEiDA^Y6oXW?07%$IlY(HAm2Rzwzv*}q9m{33w~8|?v4D0nBYp$aXa4q?Zkp| zM1I|Bi}uqBk?k@a{!Gr*-Py&Clzf5w74|ysKE2bEnHg^huIpFn`4bo0M4 z8GkZ9e{VAWiunIz!dd^drs;ocGXAV}`H#u?Zzu5E6#RX&%74x#{$oS_k!@i6^LXXo zwt?xNcdY#0yXmkhf!ujYV+TqxezKAxOkhOE=c2ie9quA+3lSPfE1due;afPpDQAKv zh(sv3EJS@U@P#Pu-eHQiD<}KSZp3^qbWTfru051Vv?U_aK!h1z=5U7KIwvu0Mt3eo zKx>8Wt5#Sjc)Sza4*PdCaOU2oqZV?N(cr6tML81iLS1@tl9JtH+eM7+40Pz-(Cwz@ z1Di)X$;^FCUWV(ZoN96mj!Q8^BG8NHA^d|#sr&)(7gf@*pIR1Qlvzy#hZnBFy2b3} zC`wd?i8T?!I*D%%-WQI$1*CD*eY&2nUW0VUp1h!;FXGae`YmEk>uh|_6$63Hc`BUNzm;_!VKbokfKaxtlV#gbXn7Xx0E4~^(`Nb zDAAL^zu{J*&rFPT%Wf3h+7b*E5zlf>Ndi&$oH67Gc)!?>TPP#=BaS1>3?j)x!k6%D zh+TuBeRpAbj_ZORVCoCv2S=oU3XwMh5`wK9O7=(DH5%#$HSo2%aS?K6-_qdsUbc0v zI&F9)uyS>@S%Teg+}^wMoQemyeUS zy?q!p?Dq3u;&`uI6$t!`=nqHA*d@qsgoOtZEa=}5;Y1AW;3-b;`i{(C(H2OKS7+2Bo&=67J+?-ELd`st~X_iZ>C14i%_qll%?qrfFg z<m*L8_VPeF2W0!dyD;yjzaOSk>c!3x$7( zbutZ})Vpk-lcE-i57S2t-R+RG0vgxXxbO?OhgNSt8>QJn%Gy*E`r$2sn%juyZT8C0 zck36jq&7l$Zn)1kG=M(ex02eDu;O6kjn8LKfc~m64Xe(* zL7U$ecu(xP@HO9n)lUG-fx2W{Rh^WTez;T3exrZP1e2ZJIpiQmZ^We`}A__s&>>u)|h)t z^%nUBW)QE?V0dUbbg%-edUn!0qOj89Aj7a0dFRrXn`{6f0AJ^e1>*|tR@1CqU#<-i zMbUXOJB4|g%H;_<#!oSdZ<@}+8^wC^d7*K_F#QNUKT&0=v*S$iVa{Okr>LB=0`lz7;tNlPRLBO4HFMYN`;$CYnThn}8-L*zNE6anH)ri&+mj;fZ*c2_ z0_k!A!`l#Q<~m+%xzWw*Gb?KQbc)#uoo)UyVur9zWsVydpoe!rAGOoE%B)?!Gb`_u zF&VR_-B>=lWPsb;XUnDf8neqb{h^_^5VqKf-w##thDpdcz~(g7PN?II#W{Rp;|$n( z?Hu5gAfrZx=f-v(rtHfV(Krg)LMgS~WDRfZ5W&e$^;%sc7SsUejou;yt^sa6o;dM6 zbdPC=gti}u0TPpsg)#8Lklv+JQ>(OcR==eS?aU4wFU7qp z3-D>B1(OkO5Z&E#Pa(tT8Y`vpBmvHlg)`rmK`Dt1wsX&n1*kN(3a!|XKd}FTJpgxy z#avQjnSt0{n1|w;Ucw6zKf+6SRE~Me0XG9;Nd{bU2bWzH%h;YCNhR~2<7MML(FlNp zS0z)0v8b>k3vZ8$D>^qUE%6b#`F{?~_o& zO0+>lzm*Q}9Q64*zv7BbjNxrX`)_x$t-md`w*5>7`8oWsz_!}i_Tk^0n(Ny^>59;| zY9U6u`4$EuR%1Rid&7v@Z##jIBI(yqQ&Uvhm6Y>C|C1fo={w$m;qS7Q`g96W8HZnX zl<{;sKNj7xpFc6n8!1Q3tngw=9@V3EMqEGd`+0R2#@}<{c#NC080vX+&E)f~ODdxd zcGNFo(n>J(;|G0dIwa7^xPt-}e*hZj92yUm+*EaiS~+D#4+R?^R3Y6J$eNdlD=fIK zWUlD+TEJNw3cJ{XqnzV>=;DpBhOv`z1SuKR*gn8OL0TdjX)Pm-yQE(OJqDCI(|m&( zuh;vbV_#vQeW*7GUojqaru=x%);ylf+n{4K+4pAM@OCd(OntQUg#!YUIKd7v^J?yAxHF)xRYwhcfaJDrk*!BB-=+ zh!ElKrfC{;wKb%SzF3oeF{iBIv(D&4MEi2)l{5d@NVvr0lqu=x9F(yPoo`uZrig}K zo6#uSkq|L=TM=_ZsuHc7-1+hY3$;q)l3CGE(@hF=k&jAtp^Bu*8GfpeW-K(O*QoA7Ei$`jt1f#f zMEi8UAqB?8$y6DPjv$wz8L;M&@Bfl|ktls2;j)ez;Nd6!KJLYKKwBo*rZ-}(LYsBg z5HZ%UIY|jiOv0U?UZRm2cfe~L8C5*ip!=Py0L$rv6Bwov%iBdbg(MrgdfSHS#qMFV z;c{m0X#Lx1BKENe5<2b2=2AInPWI>B#bJy{JVwn%zU-kPO@h?7NOGU{{$#HgSbQ?c z7qK;gBc-kwvgMrza+q}lO{$3922KzNscJdHC|vbN?s_{bB(2DYe}-h70@td;hia^izOOg-MamC@PrzCbQZ zZnv_MGUirpl8i$h93{O?aY(1DC+?uuobb>ol%}2s8a+)s{dwG(Un;X4OCn?OtTG2X z?!vv%TAQYFnlC+s0%RW&c7JfbKj=yc><>qt87Eu2p55*94g_kK?Ul`d?gnwCbkJp< zyuO*g#PERxRt+O?@Yr&?(tK+K&6!-8(j37gKv|v!J{%5o zJg}&JKJk*<$3r~=opdC6uE}QT>$p@>J7idrDTZi-)*hePqIq= z$cv#qZE#-rcDK20j-qT2)Fucv^_Xl^N4Nf_nS24_5PS3OIH8bG0vXXN3-xXL3D?WV z{$q4g=;S&;5up!e`qXU~l#neTG9r?P@)mOdlVF%vtG2CnFeBC-H=bgW_iSL?vEcg9 z`9L4UgMDCg&xSVXcAPda`vO_Jta42HY&k0pm&;kHYj@m9`iGBD?rTCr)9kGU5U=pa zRwBTV-%zOQ$E0G1M>k@8%UwVEC7QM;SX=d)<3^7{cFoIZfv=)9e8rE%beAgYZ@n4h zGu!)md!I8nIkE93Nv2mzK+f)PA$l zA|hhA{_Fz~?x^6G+R@_Ucfa<>u}#3~mGRN@7r3>wfAuo5s|&dojQr;3YYINtUC;Il zz!_8cTwL=xZZHGF;p)3=&Y03PJkysz6tbqrdVX&Q?V-6Hycc|bO*{|d0Uon;h6Vuz zMFfGh#j+DzV(KSU6OBCF*r7Z#xvi%@P|cvuu?C?;E$%`VQGn9VuJ7JgOQI35{5%=w z_^we|Q!gqr8x9NdG=}N5_V`_DbyY0K3+&9Dr=>+5Uzc0?VuLG^Hu*5)waeN}-jO2DQp_mhl@Dn`pAF{!koMI9QGMN_NT-05lypkZ z3=G|+hyv0j4N6H1l1fV>jewxEbW3*#(jka+H`4LW%<%p6-TU45?tSl%S?sgU+H38- zdY>6)@;)>%(-8>ESP#=_VarIAW`Bw&C%)#E+RNN(opC<* zsJ2qguuGKj;ZeDC<4A3qAC3_fE5~hJ%ChBG5D@KqOQ`U&;mvdfwXe$H%Z~YnTP6x< ztT-RlGK6fOXGpVhd#rV7P9+dTXZ7vIWDy6^)8?hB&a%d*yHT*>u<*$7pjqV_15ekO zM#6S_Ke-QyDp%FCZ@=adVmg|r{T^eU=lt$_G8*wQn8A-rri+_5#W3qsyV11TrqZ(R z)IS_6G*n{t?4TWY5oZDX>F9n8t0Y}Lmat;S6FrAc@<J&V3d;M(e8Mz}(pKbz&FV zc>0u17pk_;tdS>B&6F8x7qJAoq)*YIo!cCSHUru7J_o{+p1w9SVvBUbOUMRo7}|Fr zBBO`Z4D4cVGM^@bDACL=SCRaes)*XPStJg6X6B4bHc_0(-_(|u9Q6i<5lkM`o;D|v z*l{ZN@~kc;o1O*q>MAzsK2YqPtI=`Top;tAH>${lO*mR&>U?eH7T#Q`Xul@!` z57q5`OVs{e3<_dxW-<$muGf42YOYC<<;S<8A@Qm)q}@eOXO8HGhPmqVKBDS4dcM=g z28;DStnMhR@;{3g9ilZ#F1vU&sWMqOB5-@R2>I;%b`|j3oCbYm`LZ^iHm)bWG~%w? zJr>uSAZp|(u=DeVO-`S;WpPPf=iT(rUDiF8bH3c(;E1@tyGk6e;ljq8vR|t4v#L+C z>=exHQ4vc3@e_5hQ01WzBqO2J;Nh9lsUuLQKT$8gTqpi=xvuImPM)g7_M@ZELA3XL zB09io^|kXar_b!HvKz13Jhu4m9?Kl;xJM3k#e$nWt}b3hck`8YAVP1VJu3mgQ*Sn@> z8#jJR)Oxeu`2|9#th`Mb&wgg43#C!1XW%|%-jZRHt0P%Aj^cJKdSZ$CqC{(s>nKz+ zQu>M6YGqG)Phk?%w4iKn%BL5of%5}Ds2gmJG_$eMgCEW8n}uY{xE>WJ2f4j&ZW*}W zWYy=VJF2qs1()wm1e;2%YG7KO>V@fGF*Vx57-$LDsx#~J?-GJZ&0_oCSFzu2VGY~A z0^#rU_c)XthO`yg@=*$XpgnSl8QREjhsG- z1KBHPiRXD=ySOPvrR@~%d*2DH?SJUaxj)N)fJ|m<^YCI&^?l%2vON)zrxO_mM=hFh zeNrtp{=sS_p{+w>eFW_$rERIXF1oIzr(0ang$X~(asRZurCT5!a;yx2uNd2q;R8{GF(G(O4cvdkKrST)bFwCU0&>x0gg^s)isb*f$L%elV4`Q7K z)SLuzZ#kh6Gf#Uy@F33hl^N>@rsvJxW5ulnvr=`1SwE>Rb1@Go*T!>vky$9(RzhKJ zYMo^Po|rZQOD36sf9EAj>2&o+eZ{9{y^S9nwn~tks!QI-ZvXymTPE8ZY**Zp5`w%W zL6t0xeF9^Yr|N^sSZ8#x+?cW*cklT0l-%lYE3Nq*w&m7taePU9dv{h-;-QnmsyCk# zAF`D#%{89L_Vk^w5#(8W-NkVI#WFz&o5KAO64lL4Cx-=>O>zoUiG}?ScxjE>Mieax z#CdfwG7KLEi;t)eTNqHip63W*lq`L7FT>Pr(?w5@DNen+D~3;l$x$}x5|hZ>{`Kl> zp&YSONVeN;gY^jcFRj;hRJ9V_X1M`YNecD~P`S@vU8ZS*=?nt?&1vQDkCFWQ)5?GP ztsltE2i*UA50xQ^Prm&5q7nG?e{)*-a~S#S;PUrz<K!wc{;{4( z7C%~^6Z7TPXXqD4%kwmv)8xYAY~eCCWQ^q^^i1#5m?gRj@A=D@dNi=oIk&2&cfD&1ix)=@v&o?i*I^GJ1h z0Wt|5V((E+xJyVi-^hMHO=sL|?nPtLX}ls~vfw;;Tyli?Bh+y+R-3-y;m0q`8jG&^ z+PYsf@k}wJ#v9mm#2<5S35hHve5NXmg(PN#E4ZtwD^rnD=hQ}oJIckXsNBi6eXL>| z^HHKCATu^3oW4^8ViwsV==8Rxph7qBH)C}YbTU7gJVIbKLC%9Mht)ENH1BHXU9*N;nG_g+snvFu)FQ}n z9aoFdxU6g*sc&OrME^H$sAd`obVWY4&oOOO$HV7XmgT9AL5y z_oAYly6xZklw??2TN85xhT|JTPe?kYwvzE86R2!C#2-mzx?^6wc}zlds#~Bx8y~jQ zac)eiu*<7BH4>EWmU{a6R!TY&wN#ocscUnUf-l!vN^OG<>dfp{`h$;`>$2;0ozY@= zo(JsC?^99J$-T6=ha7|6QU$vW6L)>aef*{INf%1JzsSR`H(6IoKikP=-0BG3e(eK#})@=Fh%oULS5nti7XHiW^qA>__$& zF8_uZZ5k0ZeCY6UozcGp7bHEUe_qLTnZ5dbae%YNW$w5;a_`eLJDO_iK{d(8x1#f7 z`Dq^%qM;5=AS5j9=#Eq1gN{T7Gbsw;j5`d9og}OfsOk`TWx(8?rDuKG>`p4hIm-a^ z2eOwTcxqR6s6GZ~PISK~QGHm~rZeVdD>kOmmVKlzqAi;JL;@9r(apMi^98QmXHKu* zo~umky`iRtJa{wt>?IyVYX>b0{hbcJ)-#}kv zg+|B5UOyD9t|O2TWDWlGEW62}^v7K#>rhG4MY|$tMK{OGZxInT1lZnk92OoH2eq~v z^dsSYi^t9-YpShJ?BDhvF0gfY1$lIz+dfz5XbEz-ci%=yu~SHFYbnAl zbdvHz_r4{u;!v$_(;?2`F{M#|Ki4B9(op>P*+Y7BS@rk%KMsdZ#J5|*noCB&i?P#B zIBt)=el7sTQoYZ-Iz>(I7soAy@mS;3aaq8I!VUPz3~O1NkMB;u;J7TSm6trnVL3O zZZU_No6?Z8#egqLkb3WZH@BVe+s%#gVL2batTuWaPq8N%bF5T4@=6-cW=k>VF*>vf zNucy79U{v9!~uR?W6IBpAf*_td`~rYfu08YTkXT|G1Uepp&WV@Dj16H7z~Mge)YPx z_kS;&lDvqLO+g_L;7Bm@VIhw>Nag)Bweaku80EbDH{)oVr6YQ=uLye7e9-TqpEl#d zQXhEI=Hrl#$O+g|pijm44YN{Yat4)eqv+YG1uwY1P*Y?(a;`}_7mx7Do6k-_?g)2t zB%#QZ4F!HR7x%sR+@ZE)Pk^oj5tB;K(W3^o6&7m_FmsNh1Oct^dkg}4`Ai$Rt;F4u zZC%$Fqz!G3eBemhk(r8*{B7S`)#^_k_gN;<`Yz8E-MTyR*tN^Gg~`}?ynd{qK3~)8 z!%wldhnsWHI*iZH>ApT1X1H52-NRKkYA!qcC}dB}@)pOafkzdFNnr1N#^<`X=cv1h zdRG*w-o51L-q;qf@ouzgy)-Y@>B|KvOMfsmqG2*ljEc6LtUKq<8w;fVH|@#)^*wLM ze|paw@;`dd`#-lQ|JV1t|MVgMMWgaRY)|-azU2&CR{+G%#Y+o^`Y>exT@p6`>ez zU8o=*m*5}#%{%4Tx)6RrE(q;k@DB~FQ-d+lh4O>A_-LWLf?Qx)K@b>_0tG?21ZV~L zz`$H66oH3u@zX+h__;u|{J_`22|@(91Zf4JAb^gS2SLIE22fCbDC`EG06+*86a;QV z`FVh;0zA9`GkyUu7tqTIKmmcUF+VUF_yd#64@~11fDyrNgK5G1d;p8TAulhmEJ50v zKVSqCVATS^y7+(@5MCbGUIoE04Di305QqS<7Z?QA3@i&u3kH_R_eTRa{VldGpCAOF z1VMniw1_bT#0$*&|A7cTe?urAKWvqNB48_qK?FtskPavX!UwZ2zW_i3<>iHq`S<_@ z@e6{0F%$%XX$DRSg2M0+Fa*Fr`5*v2KVU(AT0sH82X1I?IKw&IjG?@+S%N&kz7SGw zb7%MbIOKlqz}V+D*a zAOKqf916f8gog)kLKqe{f`E8nY6ad%5r9BpMgUdnLFfTt$_rM%}S}>m=uu?Dx&XErmC}4hA zNP~gc1)u;xC%_L-fB-qbJ-`70$p9TcU>#UELIr@e^6a@h5zt^0;vv`1mN-o1%MSn0n70NSqP>%7&R{s7#4NByl_ec{$E^qfZf4# zgOCNIMvVTZ0)t^(5fDc4_dO8YN(gTMab^Ff>l^tud*k`nYT+IQfkT88#O{E9l7RUS zVqZW&!~7CvMFBo|0)VAAT0y}4V0f{Br9vRJ0;vY@B|-SsfiMR&03(5AePBA^v;af+ z7z#KfkfP!0hr%e}=0gbP<%Rp%%_`vf6M*Xrv3`W^{_OtmT|s~{j9`ke&CM8yA6Ux$ zmo*XCn|W|7KTvD{&xUITVT+rYfaVb+1O-?Cws$ZD4&fI1`z}IP2ucLJ@el#X9}m3g zB(QZsfJ_0POu%9a0TI*!{4hM?E(jw;3ST<}$co^9#;_RtduNEyL^zyP!P`C)4U!<`!p*9V;L zkKJ#c{QzweJbEE;X$S}_xUg&vgNWJy;(==v2n={t`0FpMHh|&z8D2Snq6_HnpZXyP zj}u-VKv{tL;OM_g4r~fS%%9QURDY*-IQzdifc{z@?B0L(^|$=L3m>9nBOqc8@UjPl z1K@awZNZg^C}uZKhe+~(3T{&WU;E?-+)of*gy4MOD@V+|;f_dCHz^FRHh7tZ)i1zb zVNDUN>H?O8#};C#uucBQ(VuIC^=_;IXN(yCWj#0+G2;dcmxaLGm;&JmFqI-ka0(DS zd4k|s6=9aY?;;cgfm0$NT=GBOCh$)y58{O-T3DR@|3L(w8wiGV15hA0!g?oI6u=&#fETFNP@pIPT?SB%1z^>imj~!e z0Ti473b;Dp$v|3xF^4z(K)b_B3$wNW(3Akp0uXq>V&H;-Y749bK14u%r~okWMhAeL zzqRrAjvzp90aOlvDa_*VzleMTWFVmbfNKwi{n!5CSfE)3@-%#xz(-C1Iq-S^&_dw% z!9b@4bSD5G;7IU?3VsivAp{*9{;}Ubhb=w%fDU%K>q|( zGhoGtBM@LAI7R>jtKp!3EG7U{I>0(W4hQ;A5W*ZVn*uo)sDyz1d4MZmCU6&s9l-MN zjtF)i!4EO>hBv&=g8=_Fitq+F6+j6zkw7_tO#xmIcpLa`vIDI723&*}cBTR5!c_G>Tp_lFv169E#Um~7Zd=xQCQA^pKjm~fq_LPtP6u>QGOs*0$~GmMX(*f&xb$< z06WgZAD+M|L4fLDr!M&84tR$PoW5wGuu2ENf5R0%`(_NdK9C84M;w4U;Sz3S!s!L! zC(XYx5TH==-mD!AoS*)+kH5!=ogpv?&R}5Gu)u>!L5u;fg6$a20fE2K2LcZ-{s@c! zaOML}eu%k$(IZZQu!k$KejnChBE~nAa1MwaAt>SSk2U^&6B6-hLfE!=c(J(=SA4X* zf>8c{E&=2H>kcg+FCQ54-~80!yCbwG`agzzLg%-)Ii_c3W;m|Nu3ZIk+;9~0>L z)d{0wD%&5^x^6KDpI_{#&*(mFzL@fOw=I}KuQvMZPMJL)$^&7+T2KjZ***$mY@73h z)~$j9s=k7PP0XiHllZrfnyz~YbHtGJXRK4GPOpvV=CHxe7~PDIW+Ve1D2F4x!uLR; z#PA7AP74c6dr#8T-_vt!D9xhj<&%}09fl?mOisJAi0LGq9&PV%^s=I))CFVdbcexb zEai4nM`vg23Ad|H0?PN%j_DD?bklWPJSQYGus{WdB{cB|(v0U73u<9{MO__8949nB zo~$hQ4P{wO{(By3hNj+*8H)7VPAIkR$ec*t6}V6Mosq7xA?B#;KA$VXel(I$D93FZ zeEuSVr0~qn*u!Hi@&VbS4|cy(TdAUFp!^SktEL4&ye5x98T&@o-|b_=zH-<^pVZxqi+)E z*X%RIw49&OdC;6s(ypfa^legRW)fzsH?P;DmWp`NP2wENBkdjRk%VgN=q}XLvcm3v zr*hgBVcM+w1Yvz_-K|z7Y z^jD;G9Hdnn+i&}t$d70&el^Bgdk0I3qMir}3!-pH+907=bNHrAK_e9QEqQ zWn)&}Xa4KlZ5qNQD$Z1-*VnelPVUz>Z3p5plILj^87LQa=w>Y6MNn>)dw0zGybm3v zIt<;qKDcwyyL3Ifc}=o(?R;@7N~h zIqQq&2je&xO>G@LXWmZfsh}#9`lr(puD`iS2+CEjlT~{Lr@QBiW=t?<>T>h*bMcW^ z*CpG~c1=(?bJ4z^8M!8?mc9TeTnfced#>hSSJ%K*Dsc7XTwu?) zbmNjPGHq?P4J)sG1P`puZ|mZ%B+=Y=MX?bY< zjlnp?ebe3dz)IdLix&^)f9+<6G=6^9K2L-B0PEt-X1Y>38_2orDiABjzE>R6q4)yh z>QnjY8(Qy&=iVoN6YDgXc`J`imA@zIolzH@%4>z|W73HU37eWL z6iLzQO8{K(qSvEpPZ#R@daJ&POKzX(U8A|3&Lw)~3jjbyPyN-)D_Xl9Z(7!`1L6cD z?|0J9B%@yYez{iuEzW(%5nuC(?)J6&=$q~9#)~3uA%ayru)LPO10NY?nGNQ~>jE-{ zL*uEmJ4xA7jZeCm;x_h}oR_Vc#CXeWOg%lU*PX^Cq-sku!LV=QYvUaJ@I*bFDGP$LZg{6mZ)GNOmQ-1$Lzzx^XulK)&)+U!-b$VEwMl2qyZokY7!A8j%k)N5T481(Wn8itaNRwbqXTxy$aE2P!YagH1 z{a`*%`I2AFMntI|>cP3DTzYTRF0Zq;^>(Tx=&GNrLU^J7sv~Nu&yl2qwKM#FxP!*~ zUSayQitgH=rC)McXc?lJN7fmR59GkYtbTmgN#~aZs-};&s1{-maC7e6r;M* zQJIQ>6dCsgO(Tv)B4*cu8f8P9GPU^BAJ5YL2r_FcxAMBAwG0Lked)f6b7V9lw3yXb z;fYLodamYH5&w}bjU<3wuPF3)rOs}4E^^8}-GM3X+Fcy!sv@rS#UhY%>l`t+V$;FB z`MASuO-oUKTJ_0ZQ_VH1W(>B|j{&o3sF+peiSJP!v-^qnjn_4?^?>dUv`qF3Y|~aZ zuDP=pkVd)O!V~#bO2R#=cL!BGt1Fn(pNL9)FVUri;yNosEH2J^E+*sTyUIS}x)m8{ z{bvt{?Bb5@XrZQQ3`1o01&N}pZ>;|@dD_JtThc-)jZKV!VG^6Q0=;uhWbk&ZfQaiNie zY!&^PfjR-IFwyevhZqyc2fn?v)Y;_>O135G z{OE~$osq_4l%$ksG}<(_XB>?E!am`4uRH31qnvS`n9W<|^EFw*ane-dl)mN-77q;B zz=i4!{!iYU=LO6iiS*Vwd2{a!-zz6}pMzFt%am%#%pHIKOln+bs5>bcbbFM#d?#48ie?>f~uk>fmE>`S~plFGwUFmdIE;xS{Co zW2@J#0q0>>%A;>66hdW>P$YjkPU4|KXkR1@n00SFGw-#l@)1VPbm_5SC(&o)puCFG z3Co>5UEof#Tu-oOT1WpNcgTN;>stS9_6hozHpwf!wFhQ}dW*ASL*7NwTg+mYFFCYm z1m1Hc5*&w>NbhwF#nEw|I&FGr9z#zq6|XG0Y6M=)zJZ{bj(!eoSdH-6YE|F=^yIAy zPK_y>yPKSk&9U!Xb2^J-QJpI#l?&R1Y)Iv$ z>4vcV^;4J?O?5kk1RZENQWd1KoV(4h<=6XLa;}7h=cJRT`x{2pz&spEJ7?8IW&9Ch zge^lslSOO{NFAG@_%^mR4Wet@=f=xjlGI&%j0Xy`(tgWFB+_KV-xwPx?v!$pMjDbV z^wwlJfS9K-JQVO~$M7tiu;n%jNohN4H&t<+*W%LkGgS0|Rc0&i;}dzOIE zdt9=3V)DB`NHH25*0V6zzo0&6)MHIz1=~y|4%*t>tBBYBVtuqGElaHA^=_Huc6wpM zodyglZ7d~c7J+n)>=07db}a7hF*MEN4;NmwIa-ePi^1Ra5A>T6a zZX4`zKz;tf>~#u31NF{eN-zFxx*Q~V10mz? z>4it2*11uU3D@ROMNXak%ewd3Y31$A?3;-tHbw1jFB;6Lz8BO5Ex0PVCDE*33T^zN z2{Yr4HV&iz-H5`w)gI{T5(y#-GK4O~7PZ{+5FJo~+O)LHNHtyX-L4oR|NIzSAXb)a zLE?6bMeMq7KZT@G{Vj}D>fW2#xx3r(dKDWdRC`uZSy-29sVDcho>VX8cs{&3TTiQO z#CG)WYBvc`U#_j3rhApCJ+5;exi#f^cl>VdQgE#F>yh$%yrW9>tyA_wx_r3FwJ8A# zPdR1o(xp%2C8pO)HWxZZ@a3vI#!0aSvD4$monM~vIInY0k@Dr}_kx`t%@*xBEqhaL+C ztz{e)sJnu*#tW4DyQ9ynf7q&iXl-EXY|?U;iPkZ*6}r@uXU?P_qi$@!q(i(0ST{Ibl29v#r`ZoEH2bk&mB1@w*ER85NcVp=GH2b9(V7EO{>{ zR`b6NWaQTuHT6V2;IXG3G?!jaO?&k6!TrQ$)PqU=5Q9%dX+bsM6RxvX_C;1(9fP)8 zv`h1)Nu(~ly;kL5;mS8tqW2SLl}yiCI^UG*PEUarG(kFXZ&W_Xk6Bu`ES|M`L87ic zwxV5_+&1`mZ}9o~1Emb%JFy>8t4FDj8#5C{UXPR+pZh$dmz*lz;MV2Jyd~E4!0b2v z?4pYI=q^%8)t4A5${gjY>3Barg|YOH_JV;rCa!4uT@^F!c&OOzJv143 zh7GTMnXRfB%G)S^@9*u!x3eD#hkwUzBP`$fz~iY_OCQiLg?xVRo!53{<#c7K|8tQa zg1a8iRkYmMU1&iaAX!d_5mLxCUMdp(QVoARWitDK$ld6VZqQ;jEMAbg-Vzc8`5jDN zvQ#QXliIxIqcwMmyI9cG7`a0U7f>l(r?AlNW2?gl#!4@+@!rN)b0}g>tI#~)T{C5T zUBQHJrbV5rQ5-6-vCtBBCBjUmVhy z$rRvzWJ%L9w+pTr&3L^YF{87zb}Jv<;T%=vOID4^fJybf##@CN(H|EWFQVz)P)SUD zh_$9tULYSDEWcAT{^CaM%t#bhvGT=1TuUrQ=O?H2NZUlJFU`>1=#dZ_mWwd5*#!A~ z995A=5mn$L5Sm+g4)Z1|tt&}XTl=H_nXM3%U!Ts7RFeJhKAMh31u}PkDvKC!`o7L^ zIqvzHTLk%d^m}3cX0528cvC+anU4vL5vyg@z0`+n<{pnP33{J3w>xgkDxc8R3 zl<;whmtZvg)R173+6!)@Q0AfELVB_pPEI;+il4AdjbiVZIpUhB8Z@+faX`@SuN4fN zB-I6aEqt9?Y_nr4G~%QG+WZn_C=K{A1q0O`frwG({Osv1^{L*yAi{*_Uw6AKW>KSZ zzHa48WA+ln*}nMRkJ4V~`nEEQGL*l25^oBZ{Mc`~F{BpRs#j(6llLHg$Ljvqf{tq~ zUN*Ul^#VGn(dP@|_s$o$@jv4q`L>~RwScR0VEu_qc;#{V z((XMR(lW=90=C#W-JlbrimH3UF&()^;(1l0_%_I~*Qv7G*=^4i)_xJk7XaS@# zt{q}*-fUNC5B_qhl;zTaIgQEC<~}+;lvO`RSMSr$wtEXWAH6-Rt95Z=yy*S8?bqw5 zaAotmeh9~^$owWBzG!yjWUX*1IT%~GQ%KD^sCBrQ9_r0-h*RBbE&2PMQxp4z0ef-q zWa`9_RE?_{7)^z?FXuclQS0p3U5EE1`!)M6IMHj`h2zK0yOC!rP@NGqiqZE4Ih~Vl zU#e?UKw>mz@mzGzy*f?Ptox*RwGQ~?jibWiAR&y6j_48~T;+E^NzL`O6qGnfu&2`^ zyKr9@UEk3Y0q4lmjV1VLYVB|A7y@rJy`ff3+sB1Q_Dy;cF0>@wT@ZXO1cuMHN$u=AF4PI&}CnLEF{@HACOoN=(-w_q4v{@w6>`OmUVCusH#6&?eatYKE07fcA*V2d4H%M>ZsOCJb|)Z%bR{Pk6!%UcdsHG zFglIu^Iz5`9y}!Rz|nWG=4q!42q&|>azf&I|D3JNPF(TZ6Z>YXXDtrQ{Px{^@?A@g znmBP666zIREVR=o7WMUuTE&a_Z}r7VMr{ zh4_&<39so>sRk<6#R`hE%&B;_v}>y;?|`3?L-7n=jIgzQA)HfwnIyI|8^`N)POi6G zx@e#H;PrLI!qdqQ?_9hf0t-@?$9{{(79Z%;7*AS1tcNjCf6HCLvFLMBFN(bgOlR|K zunoL(D=0^8oRL@)v()X^+G4ImX4T;ItJPWu%Q2ZF73WgU2$wZp+5V~;;)GWdk@Msc6I}ziAJ54q51@A=D=m?1MQyyfk>jZ`%FRfCLbU~fIeEwR?L(oh-dhdw$ z;+}iibheLG-`nG5X>=ufGviZZ?RxMtss}ll30IVOb(Br>*egGZY$p=rzG7QzH+rrX zY7KFr_jvCp8VMJug*>Zth9?MEw79TiQKox2g#}k zdzZesp2(Af6>6o0pIP2Y4DA1G27HTVHiK=zNTTx#;efO)+x{~!1qt_SWp9ecNwIK? zTy6mzgH7ZwEK{U&dfGa9?k^n+o_UOW2Dy5(zcy-9UUzJnABvRy{G?01eKcE6=Szoh zHH1cny(zGPl%TJ~l0o*(y4}Py`5oO)g2uG-B)|7mhM{|Rr5hEJ$M!sX9ici)y9Nzm zl`6EMMK2G6QWZ;rE-Tp=Ls<6IBvg|fewmzk>^8IlhSp+iN<0kQ- zZode_^RKLTtJSbxeHQ&|Y2|_6>LK&FMww03!!A3cv=RN@kKjx8DQQTBC z916D|=kqBTHG~8vDk4qQZe%fOvtGxWSr>826A#fK=h&?IFsPJRpq)IX*TC|8($mdF z*qQhwJ8_G8AB{_PWid3(xwJZe1;`xFR>ZH0=P*XIj#gi58IM$# z^96wTt=XU9MdXT_N0Se0zdpQl>7rdoL)NskN|}Go$`tdp(rUf*NU)hbx9^tMV6kHN zUatpp3X4s>DaylzEqvKB_QUkd3A51DQ1#ywzK}#JLPE9EEBvIKA9iALfiECCoEnBy z$W>yA;MI~&YTE&s(@v>@lda(HWQ)99aZ-jFsLuB*8U6Fk7|$7p9Y#T`kJ@b9QJ588 z43um6wzXcuB99BshIY@)1o3Q6q3(Sit7UI3J9YK)q7P!zy^KXR$`wxU+iM|7Jw7<$ zkD~i3rQg`KJ^0+dmg9;VN7#u};2W{f*W|B5Xzi={lS5{g$KOT?-Ogs>X)mhO#sh~( z?_cY9U6GdKfA3M8XRp_3V9nepHIM(y=Nw(i>TD4^9hja?Abi$D%=$ zk<{)2K0U+DzfLC!K3XFqz1*A4o>;l%Uha=m{WdRwO7vGt+@Oa&^ZTmX292Jynt7C! zwRmbM#M*OuDV0m{0|B=ttMbWoPf|Q6X&BqurP+zSFONQ$I)c9BbYw%G(fkVsk-z zW|dJ#Jgi0ExH+{>7_}DrtEk_rmmoK01ph@ZT}*WT#=c&hRikskfbTaNZoJVn8AH>Z zQobN%Pu-E}Cu3BkHSJ;d4S)mJR%Frs5tj8rJI$WGE&IN_E!kXcPN#SFNVcPgdL=>M zCxx8kNui-URh{&uR7vJ;{+M+Q;i&eBKuJf7?XtxyS^L_j6Gi@z5Ck+S@w06(bz!r(?&rX_C6S_OpN% zjO?VRyQxT(zXfvDX6?^7q|R0&ipfbhk}K$H_HX?ZapnwjprJZi&`0ldD;;^7H}xZJ zyriQwSa9UWs*oSoLDsF{qN450y!o)elF1pxR_0I6}JDa=VQ^K{)Ui^~*>*O2hl$Po2l zs-ZVlFGwuUenV%vdV<21Y&$$o(*fP%UMoXg8<({vBe_TTy+EtM*uKAN^|6_Kik0Z3 zcH_%NY}wjxe!<1=?(?!(b~1zKQ!P%Rm-7-2iP+9_-Yf6KhsM4x4(1H$@n>yc*O>1;UNI-(=Wf-LDH%VywVHUU3LzymG#^+O6mk_9s-O_-}geT(pmERo|U=(cA!Yr=;h6;jiQ$su3qaigOK zOb!EEKaHfDTbzhQCaKlX#tp5S?ea_CieCtz8DDJsAy&vF(9Qc(nv!UJ6q*Vv)$q<30;4-a%hi(Vhp2sE`O%h#w&? zgq-EQ7EZT3+pD@RuRDSbio<9eoh)dq>wBJG#qp9KT>D2X=iFx#+RiFcXJCD9m_k6y zb=|N+ty7oV5U#Ydj2-WOQR0O8Lq-M7gG}pXLI-YW`i=$u<3$DE>!aTOH_Ydw$Oe(w z2@4iXEArtZ)5(?WHmWxE$+Llk!KcoBdJyN}T3J1^WfE}G`GKoj=dZh(%^_r;+$&}8 z1=pdy!TGiKuXgrNU z`Yw8kvuA=of2vc2dyzdM-+e+lOOtT*Jtr^c{P&fpqD5=ofk#K_yu;ehEDKyeuSX2r z5&Hs5vOXG@r|3x!R{ODywfST}T%S`JQuZX;ACe_|y!)*sOJfmNnH4L5AN*p)y@cxa zDSpL^jpg&hjD(Hcvw*e3tOSzT7QH3XIIrC@oE#4Io-WhhP$_ZG#%SUcUl&`SS`Aj+ z=T3_h4D?Q-+i6{S_GPKsSFbj`)k`e~Rl-?!Ua9_c^>vva^i4Co!_AibNRELGzc5Zs z+%H0B^=hd@SJ0UFUF?JWevW}xA42zcc}%D9@GN8=lZSlAt@Dw0Ijnlh^SNQ|C+ggC zeA4ug;0H=7@7^yh5nwt-Lc$qUw|AkXSoCEH3L6>0HNJX5ZA^EocxU%Q4e){qc)!{a z%_UNi1vMzXFu!*c+Z`fYUKWY*Qb))n3EZ2hN9qI)-@UO#lBzi?>0a>WGRUldWNFg7S8Y8mNsIV3^s|!wcVv% z(I?2Lu`!`4RQn<8OoHZYs$PFjNM)9J0Ba;3O)F9V=WQP5U(SxF)#R?u_LxRG=euzo z-CYNYFEjf6{njAUsp|oP zlp{%9HH~==m-)J!Bu|>8yNJ$RFFfO6<@+%vi26PSdu4q;>e2FeHum>-_`)1#Ob-^{ zRgR|o@OUHd-Y;rRa5yQlha?~Ed0%+V;$b?y&Z-}a4i!!Pa;Mx}EKgevhXuC#=2m5J z>&gh9)701tBI_Z+?UF$w+a(W2i0H~IF|oR-_YP|`r&7p!G1^m;)v6EzG&d_0A>8c34GJ|>xBJ?|s8I~rVI!X}r_^RGwJ+78EKsFl0AwQpR_N$-Zw`H)u5+J&Z% zSF}-5V=VHSdbLCG>S@gI3SI`41#%E&7|jZvJN2X%pu2|ObsR(kAr zIWS(Te;Db}cr8`1m@#yiYM|9L{@4=iR zoh@H7ku(J4*le?l7~T!{8m15HlQc0_{)G0r)$UsQy%HyjoMP)38{uod=imE#gK--9 zA#q*$4o!++iNW*JMjXZJ$zQdk$PK!mYQqn=L!*Ca3_es!d;WulpmcUJ%bDxGtGMs) z7dpEoW&j-~lv0lEkiJ#Jx;HsTVX)t9U zwQCa<7r4Kd8M`4qj1<0H^r33c`DJi@UN*Cz}Jl2fuz836AuXD2pT@r5K zl-G&2rAzbUc17slj%u<*D$n-R4JE6Bw4sH`@+4PtP2QbV{aHQqNXR!P`l=55yud?D z9Y3OL=)ea1-ltok^lDgl`8?+Ncne5;TIPq@g(SJk@8d+=p*wkr%Js#`usu zl<^daX6>0&7}G#q`;ftdX_u(hyRy_{hEC>2L<_d|I{D-|T~g;0H02}rq)M&LjZB+f zP!nNhhIR5<(eQ;nl~Q~V)xcVyP++m3+bORQ*lDDezfm1C~2bNKGH%=3ranAmH=RhpV8qh+M75yspv^fM(@|_rAfrfR zfbaZGcyMME1|i7F-(kktV1-TP>m*B}#9Wl&>z*_7HTFIU<+wD8sAUhzUYlQXAsSee&&f`m4wG=iABz}>g{E}%OnSypD@fx>JG!Vn zKQ5~>IlIHW;IYT2So)duu61c1S3_mmu@1Jo_Amw|iwi*le#CP317($uI6bs;ll32{5HZkVV z`%kAt(PzEStR&f-wk(FLm6tFu8jbGZ>RQbX8(fypKq*wY^JL;TG2+I;znLq8V&E6mRXbm}@E7#|-NIwS;nfAMa8CK75>H6rewTE{HqFR~$j5pXEKbf5j1 zQ0|5a)I@wJTJ1AZL7QzDcNJab5AIhp{b`S+wMbYj-G2Uj#42Cv{X%}r?R%Yz6aDe7 z8IA-Y4Ke4JZ%;#y-;C8@hr5%6O5n2dm0U6r8K$!7tbbcH%CaY`=*BXu(~4Q{lX#h* z?X_DMBgc&st!=-4%0?DnR`)&(DHFh90+&(IdSPIT)B zx;^Vv3?}BpydW)ehK|}!u1_!AJzwoxaDT1Hsb|(~^o^iFJ&Ga=avR)q zs7BP%@Fv&(6v3K}^X$5mqNxM__j+rQ3&}kpnqHu@(6N zuCY`>!A)mYNP6bEzRstgbCaH%j$N`b#wO!oFq+*_#<|tsvm^TsfA@Q?JGt*(Py;c~ ztEX93I`z90sah!F(HZ1*j-s}CLC7cp_&+S-H{*hbSj7}y&0$mQOQ7WuwtClG9AZBb znQ3YAFZ}W|PkCLalI6YHJMm#h%g0IG=<{((JL&Fkz}&Oe?qN%}Z(*&p=sX#r)2uNll_(siDb~bRtF$%eL=*Eg+ou0OeP%MAe<~q( zi>P#qMYid*lm^*DKek8(@AbIliRoAw>toA7e3mz9o7J_@&bf`-M-kr=etCupN^QOI zO?Vj>iJ3gN(`mn87ys>tv243|3o=I3(}Q26U3-ee87B9a0tYNY-+qFuVTD7K_NUA% z^GeI4^eQRG4jRN3LAqw3W{L{R&Qo*ATcLiJHO2%zXL9`VDE7et&t~FVf7vGhllx`V18dB9=lIRa3w49J@imUhu=YS;xnG_Moxkd%c`-eSOe}UV`bl z*L6wgD=g+Af)9F??w*xAbR+u8sDx>>qFAh5BJ+Mw1zpCO3-7@Wf5V(hfr@U|_Zma7 zkM|o1M%m(NR<@ToIyAKkG6<%%*LR@~96gUigZ2EzzmI0McqccPV(l%=2R=6yrizyp zyC0K3(y3O!G5UEt&U_CGZ}g$N*JZ6<{BEq|11e7~eSyqkil-@GsB^!O(%t#ZtLPuQ z-6?fNVUA{yTHYSW)&IhU{{3*4M-=C2Qe>kwHOn_rw6uKZp3S>8AA+DOhw50 z&<*{Kt#tNV(CRMZ4Nbj|CP`714#ywQBUz9A{2me(I_g?KPPiLTWR;0UWO6CbH1Sc{ z3rAr1cp z47D=tv%#}l$y73I^BPX>Vc+9HJ%a*SU%p!S&QDi@@z`oVOV~0Iz5~w(dZG(pobOUr z89vTf%Xz!W?66;tPB_@YfHmBFK{@kN_?W{~_0_-+FRat&u}Z_rnjtBK2cML@Bzk6a zeOx;HX+IcG-i@rx8Mynu2z%$)UZS>Px7Mz0Tff@2?RM9;ZQHi(U3b^*u5H`4+tcTH z&wIX;oIg%7nas+)*1aY($(rO|lk0k7BIEm0H^B`@N$@^K>f|Wf*?5oGJgW$VATCqA zUy>y?In@McOA9bMV<;qq2OIM50dxN1p5-z!}7as6( zYttB5;Rt*;Z;YU?T@N42`*-{DeRAcLcWN1iSGJ;5-&kZ*{6^$@_g%buzHe10ED89; zRsKWc$t_J3@AQxUz=i2k+C#9Bc=8JAZSp*uE3TE*5~)ZPseH!zfEBG)HWGOhWIN_O$TQ^;JZ~>*q@2rn@gf-bT_6M060~tJ5L`_cvk)_~yvB|IT!+Iy z)ezQN@R8PkQ{^YALp%T8wb;^hay!6@%bX598Nf%rvUi7qnP?u@b7Gq% zD7sSB@fJI%&xA%y6dguLI(gQ*{ReF=F$q1%Xo$cPZxbJs;)=q=%!b#js_8jy2mu#6v|UsR2^+&zh`Va zsa%&ziB!$_^wB73GLD^rHq~2~)`>e)Jqm}ohIdKQu053zJ48smN>vkw5FU+^E_0Ku zQ}HS|lIc1|L5!K?Y;`>md+Gym`$DwAZAtQVfH*_yv|TpVqrU%uY*$n|O;4o5G9DGt zW3i)n^$KwtHKZ)~rND`zmO4*Hvjz_PyukA1e4YNTFCk82QGRSw-uln@u``u)>mNi% z^?GJ?OKZwxbAgm@uSWcihP?6?d)k&eGx9K#85Fj>xN33Q-4~A8ZpV*gZ8edKq^dN& zcVmfv7v>33V3Ym%5mcJzPhZ Hqv}qSn-TSNR=kLy_Z$gXrmm-M z1i0l{%P-||hQu$a^owR1LVg>*Fm8EKm{C0j%{rF(^y3HV-Sazbwlqb)a~u7}0^UP` zv=usE4M)&rbDz0ADSVd|lH~0ONQ|prR!0_91T1hI7O+bh#3^vuQj{x7C_HP zbna13O((ED8|5}jx2&lcN zl@AmUOp~@9_&OURv_8gGzu`&#zMyx*4tyO3DJ35AtQID*(EfZPK^Y|DKQkhfnM{cW z;%UoEDD564;txH8d3d|(k`U-Yk4G+9!EFU`vN6n*6!0b>!k*Kt3zLZHolvD-sY!d# z)0}%}X@h;;xKtkPJ{}t#Dbsk)U%cztBI2!R$6^=paiYZ%T{3pvo!)YXm^7<4x?UB%s+NII!jmx zA#N`Ue1ss@ym5;I5qrO^veI(s^|B~C@HHIa1)Nw91h;Cd)~)VrsnzW2>Ij*^vVO1P z89{`6ST;{PNRJMi8tQlL%=RIDWWnr7PYM}6mjtm*Z#qw@!Mf}$)WJzW$zQ*i61b>hXu+r4uu%%(R}bJQH;mRq$cFjlr`Y7tKqO7+Q3olFY+9BD~m z9(*_=$Vg5p#$Gf)q>*wXf$FS@X~fBDd1>jBBgm-7AW%8y$KNrZ2?!9kd|Ff@Hp_my z_P{hE>I$?XS=A_ldX$qL_>}e}q{DD93+qZNhY#r>?+Zc}5 z%{=6tk}nR+(W+4Q zC9mzv^v=j}mH<>7sOz>y-Qp6=n)yxYPP&%lfR}!~6-b}IlqiCPesS;F98sHE=SE?Z z;*lS#-R`7&BEhdLC?`pMtpliijHNi_-AidNiWUB)cnO{sYOklV$U}u=SDl`!s|w#( zAk}S#ErOm;&o5NIHp&wC#?=z+=t%97yR}L4)AJmhInBN56{GRv2@|Gef3p}%vZ<3A zb8J^QBU$if{s?M2zlsMu<8adO8S{%0F!*>#a^WK~L`P@`Wdd z*=^#GUyTwbf6vIhhWn8%xq3h>X3kuSu2<1(BK%IMsb&VAN@G2^5@|Jmmza4}8PvY) zgeRZHi%o5D%rDfge=YQjq86v=XH5m|)BBx^pMo`C)W@u8EE0=tV9d=Ves2X??bfZK zRfHI|AYM2C2}lQmV7nWtJvd&yQWYA%wmwS@=^~WElV-f8W?)NPqjjbiH4*+sgqJHG zW$SV}s%NMWN;9hI`@4oC{&iSYAfZH7YKo-96Syxw8M#->;mq){p#e(UK-tS%CAk_y zT*BhHEqrUkaS{D-LBZhCvntf$Z^hzjSCJxLS%Z6E!cwA_9?e1K9OZiYX&Y2hhNQ{O zMXFUb#apVuEs@boNgrQfKilbH#`A zr&AsKlGn@ep};Z9z;T4kf-I@hVaO}n;|W^97{w5}HRP_TO=V|}(j-)_o5a`Cok=6D zGo8w~&g0E82q4<`A3mJ+jg&^J?y8DIE)`_uR`~SO%NW=1jG{@Abu56@?k_wk*7;u0 z-R=^h@JnAS&i91_f4UP=SWUP4JCj{*k9Ql}6>YyN(H(G|8GzqO|77vFE?wsAx+>E%0Q*j z=M3SA2GjyqxuP1PLx?1x14{MxA2lr`-E>#+RpGuuCs>-inSkPx`7x%DK${zq2FjZO z))fOiseQ{TBvY!x{_M#h=|gIZmP9B=i>a0wv}!j?N&=f_LJ59tTyI}FEwak=rR{Dq zU0#a&LVgNjLSce=DpdIAu63h1*}JQb(ApiIWOEZ^8vNQGNx?$7b@gnow_H}4#>!OV zo^)2DvluA!5N@qgd^cwASv!^7!5y5jrBMY1TD9t=z0wWI;A}$M$T|&6te~PJ4nDy# z&)^_UD$)XzZeFX6pcRHZ#{j+eTMOP%q7&Lr)ZOCa;@A#7v$bY4X1vz^fN7L|6sqOX z$7Gx%6XXjUX1SFsu3DTk>m-px@_ub8cd}$5#m4J<3g@R`5yjW_S-4t5WfT0CnSmZ>(KzJw_s5-s zUyUg2@x{KB1Noyki8y=n6W^(%ac+!-;0ej492{?vEp6q{EMN(@P~qmS7Sp;tJg@GQ z-x8AW39%8(06f(l$*}XiB@LCE(b=v1aDHmBRqSm4B_$=C3#<&EdEe?{p5T}?sqp4r z%y_v%>K%Dk#B~sO&(Kx{Gd&No$m9wVs|3Ts^R+SqmtY<996gYmrayYqtPm5&+cL}M zYCC8cYh;9*kXp*umQ;Q}Zvw(=?4R=MBtFsZf$^(yHTKuLx*gaqJ6U&Uc5G z(R-jW1-9LT=)Df+lRc)GW^Bx$kA(H9$sB=pPpf~RR~52S)$e~~XlRO{%{2svTQv1$ z&u%X#S#oFai3(MQ`ID_K==5gbAYjr{L&qXYCif1kBYMN4 z$XaRygHq0|HQ0tpZ)UurF-A7Xb0TsS)3vgBwrEplk|}QzineBP>cKxX&EhQmg_nFx z1~WFUi;7S-(8HaPB4iq5CW;DtD)LZ-w}jeHw+WATx8ziWbnf?(fZ9|P<@C?6rvs%u zCEO_y>QGEgf*HiN7a^*=gSK(izH#q{@v?kgaNMizqyZ8d3PRB=yD&W7@--N--{DhV zGkf%86^|5jn~OuDqAd@kr#)!lIAssUEl_9<6q>z3u{j6)AJlq$kh2x9pN^rf*Re?w z+>##4ZoipKA)rsepOSKy%NvpbCKEnJ8hgM8sIa42FO8J4saHb#cWgJttkgl zBW**r`@hQuVj1N&`}8{Ttwk|Lu)+&qw;r}!9uwgCKZf%gsVW97jbr`o--B#ec^lEW_8&PO5NTyq7MjSJ;5 zs!1{gBDFoEY#)Qcd5vO&9#kbbodF(Qr$w;Foja{V|xexhC?QXux z&1V!CY|2q^whqoHQ4Q{CVF=Xg3i8q?hDFD&tErg%8_oIiJ*&>2NnaQCD3wBEJ|%lQ zWF;Ukn#P|e)d#ij8Zx+l%J1=AixX8^(rm>v{eKNhj{tmZk%^>X!C9% zyA8Kiqq}ZV%kLfi=Gcc3W~pY%ma7s=x5%vBeCk@61J<%Lm!9$QllQ(_LEB`_Q;$GH31 zp*gf61H;gPu391Zg~3k^5kZoX;K7iUXFoy)ZH|PKs--xunmqNe@TOlrI^lM6cuY{A z43-Lr++ufhL8Hf$#eq1&uRn$X*R@Oia|8$c9qpg{$>{HzrWNF#)a1QzY^f^xv?P30 z#l7JuvjHpws`wl6&zt_)3BI*5rB>MeX_;RUXA?y%s7iv4RfWGr)O3y`+IUQ_ z8!L^2gP!yFwf5_W6p`x0rz`3BZ?#wLEcD!b(CVM4he~t8hAKZ#Q0$tRnFqsP@6Rx+ z@^qA;R97x4`{_37q1@WVkIm2S}Lzt-;= z7?`B12+GOHiwjEgxq5#k&vzp-u9NoJ5N@~WjN#FPjxqHN_aH~OkZ;&>;T)O`->kJH zjAreI${So0YgW!Y?si^VKOliBcUVO zX3v6tR#Xd-4g=Ln7n@VPO%%X7qh+f#AMj33QS7uMRC!771;!1Nsu1YbhD-tT!HJ#^5q;YbS26G4k)nZreY<}%|zm=!_PJ&dO3X6-8C`S zYHho2Pe_$ze}+u;Xl2;25-h3K@V8Xy#p)m8GbZ7`=oxhg z9xdN<$%Ix??8~wkXIB}^K8K7wshx@{L}c9Kz*#cE zb)a1G02Jh3TNBARm)&8zA_$?T;;j82Cnm8Fp8KyrkLV#H!l=z3GIjl^^Q{yv?xUv? zl23^$(y=Dd-|ahgsS2gckKPq+S==<<6+r)n)zxkD4;-m2;2%y085}PX;!lzIF2FIN zlqiPB9GqbFeFAS&MMJy1dGRdi7_>zT8mR~BS@_E_$8pI$k*_K&g0 z#0q{bQ}*P#^HLeG&ZXm+ytpZV4V{Z+I@SZ&bFMR>=9Jw2sZp8|bb7#z#GR27Y(h7N z=m$<)<YwC`^Hf~SZ^oilsD*W?7dP&n<)9`< zE2a`VK=l=xUItfO^FZqRx(xR>pKs5Z&`eUYj%J=+x$ZEPiLwaPblf?^My0 zoPc=uIM1Jz=Lv4qm*T3G2>sLBhraraM$-k-{ciJwGg8Ckyl0_1IIlC^znvsh;+S}? zSKkfy)PGqA!Uc+K+I&=2gPT&Go}iDkypW~I%iztmEbzQr+;PSh?M z{LJ*$f3`%#V=XXQq#3;Cr@-~H?-6GvpL3Vdw_4ga-8Dk4=8Tp)Sa_nvQtDxZAWtH4 zC8RVK^jdGG&vZj;`V!*TU&J+!yTUOCNw{d!qG7f_+A3X{Q70{{z?t3f8n4?E8zEs- zOO7hgMrm8@neRwk6n4!#nmEjeq~vYsFC+W;muM0abT))3zz*tr{Vmh_5So-KGY|eP zL`M0=PDvc}#_~ZJPuADN&bfi%yyDrT$4@gfd$e#-3?T6QPFTW>9xT_&pWyqi4h3W@ zS=1uJJ`Ift1}R8dl~2-IeBEECRuU$1)uPezvd!+rs4t}oOQX{3k7|aW^Vr6K6I1Ep zy${c-k$hLT+GO1{uAG7T4bJ48^#ej0f^5E3*vvMwN$%FGB7eN~=ng`!M9wPQu$|}*QZj66&F5a(Yqk|-}a}e z9ila$J?Ret(F-dw;~Ho_K^w+cvnR7@5Le-Q;+2>^9-~)azX_g2+q@iKFgst(yCUFy z8Pr+&}|B*LerAN6c%DOp4rJ@ujq2|;Wi(QJjmAvGdqf+gd^s$8^A>Nj_+htme{ zlvG!=`05`mZj$J*@IEhg#l*b=jENwFsw0w7UT>MXJhM3 z^aYCCiZ|>pCI{Ne=!CFc+3Cc7 zou0pO^&zr=qK-7m99CZ&QaV?`^>6eC&ASigt%HZAzGzaD^8``B|Je)?3dY)SK4i(2 z`Ff%Y54&AP7-oO08|LUI<*PYUxqgaaY0U`l$r)4tfB#zi^uHM33JNp1azt!$6BS6$ zz{}UfcOui~Jzf!)OVYzQP)EHmXQO7>8W-uLTir-w@RI$W2|yc0D7X^+^olGBwQCeV zmGC000~xzrGFKnzH$41v{gL|%_oa`10lQm9YB_SxKD)tZFZyWQd&mMzITPy0fa*qd zaH5^zQ~wQ$QdjQWqkejU1WU9xY1=sE?oXzWQc9ApU9`0}Ue=#B`{!|=JPWYVHQ(J`j3x@6 zBjcc3@A6oHO%R0Z<_gFKlcdT~vs;wydrd5q$Jh^RXLdN``v?h|mJ z9{s!G6>&u{IrH3X{5$O{e;ZR2{PW=@ZK*nO>nRn7;I!t>cvpswirv5&f@p{$F|pB+9y19_mUcI}mkF_sueYO6X(MjN zgm#pbq0VVpbDL#^JdEDu4EbB;T5J~2urN&gPT+=s#)e0jLgAXgLbmfRuR#t`po0!Z zCe|sl;?w~tT-ICF77a8!%cBfBq10yerajSi%#bF{d7+gzXX#1F-E*G?Nu1X0DX340^&*g?(JrYvt_~4K*}Z0#QJ>zm#l|~;j1nj?C?ii9BWNIGbv~+k!$8X zNQch}S}MM(XMU>qb5xK}`0Ss8b_1~m9eNVBomAbkw4m{Ho}!qQ(Ne8x<{dU5I~-S=oXb%4_C8{#|P>e<*)E9To|Qdjyiv=r|;t z35M+rQBxKIAedX>S7gG)vEVA^VI_9X|Lo7a_3bfcv-*UwZKE>f@U+RMoM*%)9uxI*AbJ$Peq+;fWIMVNhncM|$3T@0&j`1$Tn8KY z@-1oGL%k#=L;nu1hpTb}nd%q5nAnYUG*a!e@u1hHvV~E{ zc0|jDEirNYB86Ns2Hq@gk1M?Ae;3hdI#nO{1tcB_#yt|7|fVFETIC9K5NyIa-$y94CjLnkh|1ka~d}uDdj>`}Hp{k>&%$!G*JE zOrj;~m$1=DW_VP90240Wq#KxQ15b9~3|`qra`=*3STG!L$z*2#ZIH)r4du!QRGW^Ayx zcF4fACFfrJVlfTR^pHq(TRq;Ql*BGTZV9(4nNancE>}J=>51x^Gr?@qNrT3&BndjW zexb>Z0USuNBB--B5ft(}RDR*0E%L_K@>Q2&YN;epUe6II?WK}fRk4mV;EP<49%bR=K=-!`cveXnDdno0PRgMD zBaywMlL07`Y9T0))RmAiBbD{QVn0=ev-*P`g?qrA_21vbA4NCZv!tEKHD@gh5Rn6LmzTeV} zPwKp!$vW`0Qit3KQwy;2j@oMUP|Sorlx98&o)iZLC`9FYxkHy`=>CGuP854hcF$VR zS}gMMzx;&AflIhYS}5xtqITAW)z|(G^j~p}Gp^3w(s}u=Z}VPsnh?wMl2kor1s@@X zcacVjyC0+R(JbZR&C0SCX+C&(%UFj{P6i{Q>)Y{%6OO!M)Nf^u{s!jmx7lOJJ|#xXpd zp=^R&bGB@RXw=SCQ$Zz}lZR<4%`7*@8T9Ok+#<4N;J1D??hnx~mRqYBqWF`)%Yyj` zNfe$@*#4&SIHkyQ@hG7D!Y5y#D#5~+vX z1cMrvD3Xncl_Q_hUw5jZiW)<-^9^q~tm@pscHn6}>H!Uu%J97yOzGyl#I&5ms(PPi z4!WwI`lpzc!WEvo20@6mIvN~5Jt%a@JwdR*ZgZnu@VT3~bB^zEZ=mJsG}0}^ix0HL zSkZ{sAYqtXJ(CNZ*KXGDglhMAZu$3SQ@q0A3$;cxha4OEXyI^Ik-E!C$Ug&~Vovzq zYSn=mUR;HtpUaVss~n%Juwck(WQm)Q0JgKY0=*RdO^iYprfV-DPb-JA89&Y}&C>F0 zrvS{EW)1PVc<5FM1!C}3|CQ(iYcncMfs1tX2ekYpRBa@b(Z{(Ir%r0e(rG%Ss02ar z6HuMQ-X?w|jO=A*Jr0MEiQ8NpY}eLo-aIDyZcY($58Y5I8NmQyEcCcEr=Xs--1=}} z$r!F@(qDq%r7=Akw>lz4Rlq?M!`*uG%hWj(xtU3_74VUW+jSQztm5hWxisfcIsJHP zB0%N+gEzmjE@TtL39~z92%$6GvT3HQSYXRNt_X#Iu@K@;jxJW(pW7r{?kR~BDMBWX zL503z(|t)R+FXYnZQdOEvyv6!tQM6FzyMaBYu`?@2+_Zo1>U3_SNfsAX1dmbv?X|-2gAeI{z8olvyjS60R#^nKui$ z;)4lVP(V$ljd6|a7kn5bb4?3+hUBU)Y@&f*){#20hjxY7%(F7{P9n?d0k*T;G7x|-w6J%!bNsP*|Fq={Y)l9N3c{-5B3d-UvO*e+KkUsPt+$yIA&KpCI{Pz9&~)Bzd*O@J1_0AS$sqa?R*vH}^)O ztW2D(O-!Bt_uBD4_XaQm7};6d+5VhuYzzR#029EEg~!0j9AFAC{W&ZErq%#6fH}b2 z!`|G)7GMFe1XuyA0X6_zfE~cj)&yV=us3itvHfr6|6cu1UPpivz!~6d?r35HaCWl; zxBy%MZUA?H2f!2HY2s){^*@jDN1JZ)L*M_e4F3NJ6Mv|&|L0BpKX_CIc8>prp#I=d znSW5c|J(e3<53w|IGO&(bNDmE|BsYC<`G;$XMG7AW*=J4zN}&A>I!jVb4~y>X14;$DzF4Hce$Ok7;p?X|ssIvo@U8~7S9YQR(~;reo9sQ`|DM;8_5!Nn~&F9R+yf1H(7S;q$#?>;-;Qc8X`m!K+mpccjDJ4a zH+zb{rNCO=xiQTxE$z;Mn(l$tHGwAj*a-a_n?U~j>0~AWGBV&%9Fj+d z1CcO9CU49Sq-voZEuG=4m(EmKY-}VcwLoqeA zGuyu%{=B9!olRX>P)ss?X+8MH9vZsb1lE<&!383BrDp@e!GR?34~s(Ex$p7#S`YXx z|9)2ihx%gYUgF0xxtzEJ_Wnk`UF-UWa`=2Up84{!IRX0C799O@$rS`z$?T%f)vgbGNZyjN0#oJRph%pWch$ipF2LX z3+1H_65c-|Cgt&aMb~X=;q9?t@4-{uFH4|~=COyYl`BeW~{R32nHeb6~6#`K9hxakPV<33t#!m*=K%;6#k<72zwCq z=ARh1T}z-p10H35LY}4HqB?bK%3fK^PhZCeb@YGIKS3LTH3a-V^v*xd1HU=`CbE3* z-$>2jUcAMH_e?y|$NPc(WorF^^tNGqA-HJ{T;$)O5zO-IRex&nBV4Ch=3i*nHCgY9 z9pb;JJGlJ*#iwt=1V0Uk!FYla>9mL;#em$`Qgl_Rvb9>oc6$16DF81d(C71~~^H1qBERQX& zOn6Dl#Kn_`_?NQ8zePQFun)9o9qMt6JftI^q?{uzM$hvro@6zg0xidbo{JoQ07b69 z=K8^Gx81)2G$s*{MGVQ|X7R2m#O-Q;tX9ZR;5pB%#W8eQQgo`dTXnIXGYPi+VuPn_ zs;*S*$4U5o^9&=GqM4v5vkRseN7IMO1nfR9 zcS>5P@SWJt+m$N&t`;N(MDxSsLA*jZnO?V~y#bQ&c3V{^+SNMd2kcJBMePu~Y|i;4 zW@sM6g*(r?w=o7E+y8)(w`W_)g^grY*(-)1{npFPn)i)Nmv2zzcpI>ei8w1-uK9L7 z#Zo7Wg#$(2s&nF0RtA(j`PSnh^kyRoo32AH$tIluhzC!fJNG$-6`vn_6xcnzwu$@I z+lS!J;=Gn&yY0O9SOjSeURf1>6$M_T)r`QRJQC2jhJQ$>kp*7dlPh><)MH-_>0o75 zaCxCg>{ykW$(MH{p5}^@J@m0j8;wcZoG2ne{_tIwH(VnB)qna;z=D-zIRscXfn=xs zMid;a&DE~>KHL!xZG$cyk*FYc&iAorl@~=qOwU8jl@?yXG?d4zs# z)eLD{HM^Evy+#=(B8cALqbf{Giw>eBBa>fYlHzDWx#Jqh5GSYSI!JeDKOQ%e083(p zLWM-2ItvaWdT9bHkqY?a$dIJW5=^$}hx1hXy`0(}TZYgTdS@g!%1 zV{1xDCxbC>E`^m#c6AN^v)+NjxmD0N9UhUrj%mcBqiypD-OVNK|^QW#U9wt27GEBwj{%V5o`9jKlF`NNGu*-zZ^1u~0b)+Mbbs*k0uf zdWfnppHNQneW0KcKdrrfTnYnW|4TS+qw1T!+Q&|3Z0>|pG@(cCAhVg(vwzgS=l3Zm zk%b*jRZfA~*A+iT_U%O84B?sCcYm8BqYY2P^1F;cq?Lsz(61ZBYlZ~_TOGHVBTQV) zifsql*OpuRy@X1360w;+rw&6`9uPCQw2nH>$5Bm9ug{>c)XSynd2gf!;D z23!T)m(&g-g$-tF08ih*D$xEs^n5utcA_YwrAfiXQVrzHaEUlM2d~+?On+ZVxFDVi zqI_8=m^k_=4<`C|Mo{?K(x(aHM6_?xNTc1pD@qx!B2ERqOauA=1(kFh!<$vn5{L-D z%PDW~;gCZ(6jWXTs(T6NGnq(42yC6J)b*{oX3AyCZbcq$QK~*^5H%}xiG=-@mm^u z+Bs|=Qv8rXkiYH`!FXKQ=!FC<3qAWcV`r;_Rqw)OM{lTA$&~Lx2K?82w$LYPC)Bo`$z($sHK61k;&KS z5Y;Cd?=7ig481hy0l)>R5!n(&&#Lcu#*9?|&q_AyJx&xt}hY|0+trJ39!WH9U{?4-}lwzB-J#&YI zezlk3FbREBduHz&X1Ci<9LFmp_xQ0&NOQ)&8 zE*pzzZ<(yt2$|d!^PpYMTE*PA{8Ddb{37k9=CrlFqmw$O*P2nL=#R4m0Vq%QdR1|{a91(@shQd()^9kqZ+yzTOqlc7ZwdB8cI4Y z#@2Q9opXu~SCs>5)hHLO(d1a*-=c>g(z{XB7VjtHr$HBmu>Er7WSjxYoDiVe#f(gb zoPm(G9|g8nAl2!d>p*-kU}UJh;-eMxpDoJ0xn!+bX_!A~-5JaFD)}|24wz(-zO{9# zHz+%bhS$2VqdOniA8645u*qx)^qH&MD}ReORncek_G}n-qVW=zzx=4f)qz;wsc`JT zXp1AzE4IIf_7eqy=Oec{OWwJCeKdM2PCYQTUC>wy*MchIfUa6|;BBf1;%VFfaD{rwZ7vKDYO zuJ2-nq%w^hFIJ*E-TAyFU>6#E6TAHJi=BLf+uk9BOv#q6WA7yFBzAdj_hN7CTM58GT>IE;B}Ju7y5OOI;FC8DDsstO zf?Aga<^&7Cpgk-n?c*}rV(Dn3q3nNWEaOZT2d@IAEz!;;Ho{~p<1L_DUfp3ts# zBDPxzzrGzlUp2F0F}g~>61=NP@T0MC>bJszR3=X$OSO%CNS4J?6+fd~e5UeP085-T@`bz-&m?yCHld>p@HosobvU4yx{JYxhGe^O?{z2)&Ls(HJuD z{tUl*H~%Vkz2so-Uny*W%OiGskiEhPMxN)Y#d8%bG8at$*o?foZ-@#+EQJVA2!z5o zD$*H-KIBgUZ1y3KXI{tGP~m@N0-%}tY2+?c6ic;9j=d6?N zFijp+jq8SvORio%60twTry_D~AX+m-Jd*cL*we{7l*Q3pw&CXGmIxD73<-W>iq0*! znAujUFcyRGRWx{}jBX6LI*j6=Z%{A|DQ$bp_fzl2x68&XM-4h(C++7CBoP3=oRJqwCUtGBXB&p|cR6b;TOhCOJ)_#iVNZ z=RGf|lDjqKx8K>is1u>JdEV z!+!ecefQL0?DpsHmcZJh)V)F$So^^C5oW|1p6+&`E5ttKVB~r$kTQq|gjvSky%~uW zPQ)1s!o!h?<(?T+2ef6U=cVSUvk5w-wP-YI98-_rMaJ*#U%bODMSEmS_13l$K#Q%k z5e6|Vp3nK${ICSw*W|Om69fL_7vyk0&LuYGo5I?(4uCe57VM=Z6Ci_pjMr(M(&qP0 z%Ss$C$S^o&`mDYkrC@XMFw;&16O|gYB>>y8?(#8iY20PsP#-zQUZaqBUftf>#VlBB z@U9E#)Xk~T8&N8T@SF9p-n#MItul36ys}l#%&%mHTqq*H@e-BaIcERzQIbs_8vkKu z?oE^pT9@Bn_I@;9_oEjdv3r2invE+j8E>dcC$~%G`V1uah3&BfA;B3jtueMTj?3Es z#zSWNk_1z4Mi)Mjsy4A*@+yu=+8N{zB+F*PSKsuIaGccK!$qrDyK^mIbYl%66fBif zRh$z(a;453VQBCN)xpcQ>l)`-dTjM=EyS=3w6M zY`U+hG+Zv%SUd~dalp3ameETGnx#pNp{rQXpj7%b%IQmEO@p?xokaDuTkO$RACC`e zccEYG@#4G$zPuI7oL?7AQaURpB$XCIyH;!)?;3NqQQVI@Pzbu??}wZQG%&T5pPbQQOx zLwUr&_!A85x;b8-3EZWKzZ^M`C^}j04JVeDa&!Z!K{xe8TPieU99zp}7cD`B*e|q3 zcTa*^rj(st>Ki;rMp9E|en+!1Jt?oADUNIr%nt0STPTBaFdGW>Y<&#Qb}TtQ zM8n*4YM1(l8y)93$h{%2TobGpW%u~teK zzXDyoO|a)81EB)4EtM0&y1-S@facLjitvd|f!dhu+|^HJMa7w57ew0S zKLnu$0;l2%j%g~a$x>8wr$i~q0uQ}T*=sR(ZekSS=00QXWNL06Cmbh0Mb%^?7a408 z`1T%D!gs^-#k25hlB)A-iT0xLacP&uB*eC!Jdk8BB7J%56Qm>ScH|I`EoV;m*EW_z z?YtYzOMJaKW=N1VeE9tXE}ke2|6b_6k+g^!K69Z13av+;74n7Z`JZPDuT8dC>udMl z*vp9Gf8kqY#j1QME>-UuRZi6;bl%>zJRD8cj<=mlz#TA;%GCcbWAH>kF|sAORz%va za|ND`Yz39$wQ|OkRoT8=B-06hYz?5)Y*caHXA@je|1zy6GV5;aQ&3_AZ%Jb|tEe^E zMI(>ie5<(H1_fnu8ia9&%VBvo#vS+|_%-NGYUtyF8SR$1zDQ}}8)5Ot zg(D_Wn_1AZoJca&@Mbp$*;d{6{qUFNHAEdNT}RSc0c19Z=S{5!RWU|>q7oJBq(vPc|AgUZXY`rveQ;P0fyXNaNV zOTg;hK5GF->jeGWd~bj|@#(&Q#*~8&-jk|KQfxAUit3x9#0b0u&YvN7!1zD0X3VH} zXkcqSRNNa)t$OmIQd3)u3uOL1LxU>kB2Vkalmzm9;J)M6Zig6YXUvf!w1uz3SU$-bOK{aU<#*tChee z?{Y4CDJ>X1&jp$d`p+p?vzHB%@H83;-8dsjc94@>Ip*bW|NBi-&g6Zw-uN%AbTfiA z1au&wUCH<>WdmvC{oGaK^gdC@Rv+g(#i0qIV_lR26?Q=KL^a<(RP;;_n}V=%{Nlpt zT4t7ry9ix+;bnUSUb?l}Vi7Llt&dilWfe)r-(lzxIw|Zr+<{Ukr&VNc-6<}v$`c=A zdca-NSou3cLaol+s4_3{@yc7ucNdyj#q z`1@Bzkk#axar%IMm=*;L1C%5;sUO}&hF0>*5Ge_Y$RP+;+J)|FN=L00{qZy}f>DqnSoo19lMfP1 zQHL5%E&EzL8ko%>q=|S(Fl{Lyt!r5Q+k5;Sbl@?%#o-NjCW-pZ<17CY_nNZEtxqdd z%+vhQA5vkq&nCfE0ESaKhz-_ykJIGTyjq>Szh^LFd$5k%D)vliXIFPeYs%_FBza5u zo5w;Ag$-&l)jfP?qOC;VGF4|<@|_}s98t25{6$pyRdae%!d?*cc<`a4hvDI z#~=x8(TN+4h5Tl@UZrcT>L{dHd9e7doKI#lccIW-6H4+cdppn%7IZY=nt$~^@p7Tw zjb6A8&HVlL4h7zw?j+Ira<-Q_nNPTQ#X>$E0{}h7{O^E>9Bb`Vuz^G+Oz`UvS|AcfGoSZZ?v#=GJAj~~}(^eCo zyj{o!uQ=K|V>_B8tC{k^A--zobFd?Kxr*t{e1Z1);kS)Nxlw0LmPzdA;?NufLCvMn zw4EQ$^cU-P6Y)4)-t}G>#?xP~_bvTrnxoeAVB+LWas$;#MxM!6Gt+*yPIWUhUM95R z4ze7mp}G#qZQjm1#tZKfdYoz?kPm~FHoA7oO80JhhvGp5KDqSuJ}z4RS=ym$qx+S#NAH-!P}YgR5*@>U<&gSJb zrqqlB7SeHWhT%vT)hV+-b=2}*bVHkrSaPTfGDKu6)|jSn!-iw-t2x3@<6qbdv?mYl zj$!2fc%~sMI<6*VzR$2dqL(yyH4ogV%hil#Zi{y-scf9SKXZU&fnoqvot0B!ICh}p z9mZj&?rDsxS?cOH36|XPQu}B{*_3dzN*{g zk9w2nYXJt<8@43{q++i$s}BUY{V>v$8{ylYbF&f2iec9E6nNAcB*~r}l>k^0>3uxR zN=BGVV|cdfSYGZxQD#3^ix3!*}eq@ww0?l*Yye!%z z=1o~B0%?7`!NA81x^jB&6opiy>_w>U0#$c6&79!Y$v6N78z+R7ZM{RF>SeBNOPC=K z7F90OC|Bpf3GL?0V5~HfVH@x$<+mP%WXtaXrcaj8#UIL6f?oa22~QaX1X zIbOa2u(0{l7bKZdFS+iEpk}FMnDBW}g5(tn$aLty!QTC+QZfS_xz-@^iD|KF3s*=V z12=s{MxEff*yTQ)w#`;m92sd z;FrhyYn0XW5lNpK?E55EQK*}#p@_Fe9&Ak>b=4ucAVtq0w0V=cEdBSAYd)lV?|@Km zRwY?_=o8O4-h%z_O_Ga5GC6tI7HJ~mvy~kg*Z8yz zafUcX{6D0)or;2s*9rM>A9eFMDY!C9ZtjrvhPh#wc1fM772^SUw_aT7S;X_x1}UJO z##7R=0I+MW>tH3Ozc>cqun}nH7}MJ7kHQ;-zVDyr;CzTbys!2Pnd50xsLD>r8SYOC zjmF#qMOroJdT5+3pSI#|&wym5Udj+Hv|f`fJdp^QGslzx&v@iWlpiyhkdX9N{qah! z7jAJ1rYU>$B!BFHHlRB`=@2#17?F8Q;&Fz?cey?Gtl;?BZbXWf%B8pV<)84*c;Oqw zob~d>W37}W-lcg27Ve(Wb>=3fy0kbmD6-XS>kv#$(#=83e01{*i88}R1@DKK-|}8) zNtxW8y*P9A*%4}()2_Tt=(G53z~H47jC%N`eyvj`Adqqv=Bap$3le3xjbeFT5q#(B zzu+qCebLz%(J|sTeN_x_AZPx;%$Rd%Sc<8!BPcj zal|aWC!O8HgB=B294)iKR=pgI)%C1HLF{(-XKpi1z3;IpR6ABb7ldc#gjW5dY}@f1 z1F9D0z6mxIsvfbM#6=en-7r0paF-9;)JR;fEV0|QQkPG@_G~`^X0pmw7H3Tz2D%@s zBJ&Uf=@(hPKa+&huj0P)U%>{YB9{9*$M$j_k2-{O{O&%P1FZDNC% zbiEOMa~SDM*WQs4BH2sqL#G-BG@`1(np$mDW>zS2&CTYXzS~Ph$0YB0+LidZ0 zAuS)~4^P!^11)_puBW<=F+5in-lE;Ku%H!b)=mh4T z0IK48@Ji6Ig3;3bv$RPEusy}UjXq0SeTe-t4=~shovhKUBtgv9J;4MC-jI9GH|dH_ zyj)p@W}X-B1zSB#iS35ir;pM(M^S>+^wBbrn07f8V+5(wUtx&vT}E;Z3c{Ep#p?j4}iIIlRo9bNF_*PfGcyp=NPO zTfdeN!5O$}d`{S73{apfYQ8`gMQfm@-X4g$-w3RZ9?VnX%?G-bJ?8GELC7@AXbHXL z8Ts}mDEPI%*?*^L)=2H9oJkrXgY9r@dE4R6``F)#M{7 z{+d=ry7Zj@2Ncn?tNKlmec`D#!A7JxhOUgHJ0TY(<@PG9v%Ox)%jfeE?&!EpFc?%e zYZ&%PA=(wxv!hfFwTq>~{qwWJD~Q5K%AA4QrnYB-Gy z7YU%_I!6FGZwU9t=`~s(jCeCfmX5+gXm!#n!P^T>6gYu$mCF5_QbRhK|8@fwpEm?) z(Mid5t9HxIu44uYLxT8!XW{kh33_DTph{^{xIyc1U76xyr8vMMF4zcmHM$ynis_ z8?VgkXI4++T`ZciDPrdAZGo2Em4)8G4&UN;jo>YaZqRYG6CEk5{YxT2A2Q|xiO0XcK_F!NMdo_ z1Wr;B|Fp9at~|yzyq}0@zvhrOn|{gqLvxo$?ie}49A=_Kx0eghGpA%sOHrVGL)Z=Q zVs0HE*07GgD}FI|2M0N>_Dh6pq~St{IGZ71ROo*Z7@Hm z?_ySp=I-3b5>bSOaS2%0XqF@uh!8Xd9^X>pkzrKQa4@Re&NzKvNsJ{3X0c z>T~sDe^=6!6R&5YQ{F5^qxqf_>5f3u)P9+NLfH8ZRsd!;yq3{kmOy+-Ez%AMA8SPZQG070L47YBIyOu7w<8A`9ttpD4k>z!ZNQ4YsU zn5g{d;(itql9t`baA~MpbJ14Shz^@4Iv4_S5twHJ%YH0Nk&Li`6xB;D4he*cE21D? z_Il?_K*xw|R--&AMwdHKv_7z_z31uPeEm=}g;|Hu@MY6SA}U5e@pPKrJLV50(MlM) zK8+5&%Z|>=aJN70g4mNSHmDO>?E;R)5d+rDQI|5kA&Mo5s|haT3^S-|Rm97#6@d~! zguMEtR}dX2rcV@#p+lCa%(qwenYrUp7&rJ3Y!3e1U=692S5TQa=qVsL6{o5BelH zmNru?M&^vbewz1fSGPLuboG*dE$m>SU)eF=qr~!P0|TL0iD*($s<%pQrf2Fh{OOHK z_U~%Np30q{61j}Y?DZhuFQE^i-HI76{*l|4(8qy)Fy@o3s7QhDr7nxgLJ>+0?r;nsJNSX9WBB%NHws9DIwd8jTcU)(f}? zvV-mPOsYTeUNrXQpF*yK_9$Ie&1g3HR}(=l{`eocFOdqZOq&93*&5|z~(!qOJ z7^~HdyflC-eX|oZcgTV6|0w#YF(BS~l#tBZvZ6Qlz0t}ZiMC8iOAs>^3MaWw{(G7NXeKEJ$jAvtBKzUav>l zAvO7;->c+Ut3MR!mZshz=XYs5b9EFE>0Vf;Ye#06Uwm!|$O~$Zl;&i&Y;en7<+^2) zO#sAA^sgZek+xIB@NZX_741(cVR|ZlJQ)pU3D#S3I}w^o1cMNN_Tw+82*<4%h1w&n z2jlkq2^yl2ukrBprv)(A%b38PXvD3Vw`+Td<-K_sQ%pnpvSC02I5!yQlE)8MV!+ViLg>pO%aQ3xItvHEDPV=}sB3?<7`7;m-UVH^~)r8Da;5O;14zApPq1$hOt=+~( z<_8v$u0I=vb_!w8W=;(;o}G;S!Cgd$+mPD{NRq}t)(Rn@jsrvYs}b@#VSz4I7rR!~ zKqR|2q7pBC#u z<#jMYjv$sv2(PeDD7dX>$SQnl{XFuvQ>R8;5ogOhE$;~Xqtb4^{eVcmYcr8U;6Ur> zLn-}^lAJ+Q(!Q#YzV5#){>V4b=!w^HEx)>|1I!@S^13E!wu0B_GqMaCa0fi2Ew>A1Q-5QOShsEDU7 zchit^qpPLX%nU*r^C%|;*2G;uG)>TK)V5+x*|3$bD-1($a|`sUY>#F1%-BUsH(U#| z+6Poj!DyyouOjLjlgo%T#O>G35-836Yabo#5Eb|Mo;$YL?>f8z;Ap>i-fWD>DrfyN zm1|F1M`w4TVb=5aqU)D(wW0f%iqA0w=jF~7I z`#x2PhWCf-Bu!rW(RSy!T1FD2LqMc>Wj`wzj?Wx}0qb<&kU zXK>lLd{t|f8SN@nVMW)uqF9ro7TL_j@E;pL(Zh9uz^n4-`}YuFiTAD>C+~(|&3K+DI>lkthHkC>=JuO^JlZ5331ds0UuK zlyn;(dq)|Ib>!~j>2}QvERLLn@k$rS6{29siyt}E{Kon1#&q|gc1xo*lE9+I{D!wj zbL4RKP0@D*d*T*;W}zpWH`q-CA$J$@Uv1Q;_3#zPnI+N!8o^ zd-kM~c`jYr)2JuF`r$pt(I(uyv+fr^0Yu?V!kYy!&6qOg?W>z|&~_4)J0}waZ(=K- z5BOI%nd$?Ru{^ni#OT4)gbR9mFZR_f46Vtf$ORnSz}$%LA08RTdvVF_tXDp$=(Fli z8Lpm{RRIz2$QxYra^i(uYC;yrcc@k9hO}-|S1(PtZuUFyDS9DyPlOqav?HWTYF*Pr zg_EOYIZfJN!!MX$f;C<9n8SNt3%zDzt)_a$7OCsn=A5?-{;GK! z$!Dq3Pa0KF(*am|WVDjjMmrtgx(-5v-Qh(Z8hN6DZirr8PNi+sk`rIJP`E4(hBf{5~%g zVR7Hhqb%Zt0$H09$w|n%_1#N7BfC{^;ks2Kw~TY+VQppU(+(3n|UPtU@D?GDtWDu zT<#Qh$ZH)(-053tcV{`cf~P>$?AI+7JM}dM6|R%c)%A^+0OItKyq|(P2-~fRhrp^F zl(PfJsts&4B72;01}&99<#8*^tp{nA$J!i}8>g)ela%)UFBe?+;rJWl_Ef28js5Nm ztG_gQgAVBSd-v5Lg#5(t>%_N|&VBPaS~7kK=%y%aC#@dNpYgp zpw(f;XkXG}_9~v>YHu}AD2XGwsVm024pf=!wnxk3__Mq}Xx5T5+<*?4sN~#YLlKhF z1PK)YJ6+!9q9Z|E#F;_8L2k+ZPDrb+H*s!2*s?$3-$&kP$~S;7z~74I^h0 zQ7wmrIBo9+#<%$66tD6}@FjN@8e8S;uA$_TV3O5r$|f*T6;2*?@tYHh`LXLNkwzYP z1o8}S}S8W6O+n; zA&MkL)2kMhbn+II-)JlTfp+8Ez4d-EILd@&d^JALa*>?pumPKiw`{jjr7H;4V!F*s z57pYPDH_n!;|ZusZ{m6_YOWw@+_U9@J6o$-har))JdhZr(-@yZw8xR~c;;8Iz`=^a zDb{nCAYG&W|Ym^%L zvPxi3^= z6w*P+G%f~%Z?(Z$qKEtQCS3JuFQA)iL5qg%)(hpn3(5~v)f{>u&c>O8{QLxO5T!U5 z)NovhCnt3HVn=558|*zKjrNz!e$;filnhutI@F2Qa;Z;^>Q-;`iq4B!Nd5{GVNySY z>j=1FMnpV9ScI>{Uzo1*?d-B+lr_)EIe=Bt65C8od^Vqif<4Jy3g1f9^1rbJ20=WD zoJd|RCj@ri(@hhVA$l-XLGd)d!}rqix+Flm7==z zbw@tdi3uz9L*~I7zyj(>QxbhmG%;;F5uI`#wmH=UV!!0mQAxP)ig_ja6C(+X6N1x+ z_zW>8NYqnfw&+xm6;a?Qk&F5I=&jTqmICnGN!T|tc-dC|p+Dyp24SY*6L!8ibScx~^&$DOQTQgE;x5*=b|wDA72-Oj}Y1O$M)8wucx;Ahj_Kp!uDUH-mV@;Y*0} zhYk~)p3>9MKgMiTIDdP&nd_0H4;U7r$gtza;L@J&KGfX=R@Rzz6ODPm#h3>Azi|sYC1=LetRo5hq{JC+9Ig2mzk$C-@G|}zOEcRm>|F4d* z>W^9c`(NJhe;C96VG{pi3p*Rro7g%z{P@EEh{FG=3EP|jS@ z=O3Zi(cJaF@q~XY;s4zc{znN`g!(r}nB(8R+y8Qe8CjT_|4RyHB4A@=Wc{z*zbnG* z3>?e^|FQlb6k#WDo5o8t7m&I1FeeX3&~*sQ$F-yNJ&rvh1L@VDOeQ10m04O z+kkw90CG!7(X0~$x z;26jOCFH01U}fkM(>J`vDJug@gdj z0;pkNf;{qdI(HB#kbI}%80KfePTGWbed3zFiEaSCaNqz&!9U11@UQj!^l!GO2^cVT zkKp{@`*xxMz*DJFa!bmmLheLw0R-$u>4`>{ko}&(-2(Kh2|QSKpO*yzR6v0NAgXR+ z_~aOnj-u}l?gQJt=10G&Vct?zb`VGdGq6#j??^tH_>D1;pu}=I@V|5R+ItcCZhU*x z;21atcT-?OQ@DE|agKIDm*l?&1T!GM4IKmX0f>N*{D0@?1C)XToIyM9eJAy<%;3IZ zgM2X+u!4ZL5^n&)nPJWnqynRS62aVnxCsMN6r!_G?DznG>mmaA0YJb+0<8$+8rb!J zi->3B!TD6pJ&N~x0;&R?JOKlNc=LXHuI6&X`1^LeeTIB>41OfPSrkj2ZTOIU15;5E zc>)4<`u79q3PLIX0?4b2U=WazK|s8@&Wh$@V?ph_$bD-;heG(y@%MgTQ@&i@`B;AGDSYL8es6OtJ~}vk zMmc_nzVO?{Voxqz!vk;5>QX$|oe<0t1AW_;V?NY`E&B=S>)L!rS>y_w5Gwd`w|_at zGRUc<(xc?V3;Sh#ofY()`@&sA1qeSPX4mSu!1r`zcpzx}E z%a#Fw6BG0d%gKwN00%63TCHU&8Jj2N27fp#x~@BJ=|Kk$k8q z<#PCL<9c!T>g2&uc%&BW)4$M*?7`o41b+*BkHb9)`%@z1`SEj(ZxdGfW&Ez@`d2yMB@k&FoaVp>;>{D2-xx3OCml_uEtP z&-_8HU7rudUwB)|y(GGse~R0E5yRfSz>xV4iPs4V<^%Kh=p4Sw@KeL{D>k58p-t6E zw*tk}-79<(P2~67Dt~2rNb+&V=j}46)gUex{iDIxmthodhWqq8zG{}wB|I7werUoj zB4Tg$`RU+vRXqFyo?SXUrWG>aDLzmVm_`jGVW#8*ojMAXx8wABL2I5-KS!|>-v=SL zHK|O38(ChpU72Sr^J2%lfXvj%1Si_bMk_cp8{MS|n zkqvISL=Y;Yp+zxteAb40J5a4GL!qI*KKgXo+C|iDp@dCSvekmbp&Y%(z0Vp?Z_9Z zTKbLn3|OWV z?QSDbKR(1OyCubT2h}eZZoV$<<$h%a zIp_?_&ZX#QFE5{^r1gZiX$R9#rqG@;k z7NYtL+)m3p5t5mLYA9N&be<*{zbxJ>8luij86F-Q*M_miS`++9Z9iM^r+C#rXT^Pb5ATR# zEyihn>T5atQ5#+|3Aeu<;}E)Asu)hqLP{EeRH>Dtf2vYM!87r0B{@f zLG*YvYR4@>m6ceemsoIZ9I&jzNqU5+K`Bl?Jx%$WRenMZ2(qlqH?Q?)p*&kkaSrCJnccV9DqS6wpQ1)?3s|&l_R6YuNOT7RL zC%BVy?-$w2TgtN^V3B^YIynC|iGkl)1bYYDmOG<^cm!lJ3jSX39}QNx@>RwvQZ!F6 zdiR2din>juZk_$+waY)fwuupBEOi5%=^yhB5ZeN zB)v$1TZ_DsB30Cn;jq;jkGBSHsP=)y4Mj)VLg1?6+?7d9l0+1YvV=4vqV=%!bwjio zV)E);W~QCA@)b>)yycboOy8~)z%p6)u(Rp*WX;iC(b0*z-adn5?mezM&&=69C$7PZ zKm!IjS*6jLa7~J3(OU2^bitJwp@Tg&&9;AUFNuaT!7LZ8kfXLHu87S}_2B4rH0gNA zB*?9Q-c665(Rs9Z((u;ixT};>`aZ~uTQagPK3()XUsYk5&9zDauH!jUc#HJbOEcarJVt>m>l z_xlQ|?C@qI&oLHH5wUft_^QFEjrx4$W$!YSOP4YVFjj(H(BDm1GV_-KP0b&-k_4ap32)` zCOIi8`$^KD!1OES5wSi8GS-47wG+NCBdLj8_|!YC$zjEz+#aJilFDpQObLPM>%CdRbjEfGc#`bEZz^Ert2u#Qa$oOk1u%+Ot= z2TX?Bf;}x}Mqg5-Z1|M1Wn)kvE6;7&Gaj_yi)FJM7yb4QMPZn%_&HdhNSC4IRINn5 zQg>-f!dl|einZ+u&DFM@m5H}%sS(I}`sI`uMoH)CUu$G#q+_30#%n zYby({VynkRjM^R!)q$F0w(E>{b!1O-XSqGuyh>$D7)24+!Mz78H!Jd47Xbp~Ph!y} z2Q)zO?CL3Us7OY%UI&mF#udd*L(ddb1G)$I1-5``elc{UL+nr9HS;#W=%x1#7WPu+ z#mnHam+U@5Q8j&90v*jzOkis1GQ#7Xb}$(;&)7nK-TAzWM$k6IcD>Yt$`!w7L|CkH znwZybnAtEC?1{d;4|YZh^dJRbUh&DCQ0qdg%h4z%aMT>;TNwcWe0U} zTckz)K5Gj;v!=t(aFl}!d_(Y8ZFsa!)lX`JeJEU z6QGAyHO0IpbT?RsGl}-b8X#4$C-%CmtD|R2Bih>beykpwS5}_ltPZDdFo`yr&CvXr zu#hxEe|P97e)(OBo>tkhP6fDr~cwe^93s<+Dy zqbm1ZtF^`o&@hYQc7;(u){CtUahJW0pUFmxr8LX3)kIn`OIQq_&y0IOlQfKxzN+W8 z8IY42j0HNT>-Zo`1hJw4(Q1 zXM9W*OMTVy=Le4fVYKCCEH<|`pS31xEs9so<`FeI`yz32S-f0_yyogVvlA4Pp5JuR zOiCRd8>9+bq)g`m_G>Z{3n#$)B1(SXY6xOfdw1T8_k;o$cE8;qw0B<+;j}QswWLH| z&xXCMjP2$nGQ}R$P9zqd(<0gG3xTYT@5R@-oCcA@T?iW}yffIq@rI*L1eZ-7#~8#2 ziLFhZRP_^1{+wd_U9+bRF+(i(`N{+?I|BTgYDdG$OZ&Y5(?9z-b%h30kRK9qT7qoO zBOR;+SLQMGm&&%%vD_BQAhn5Ri(aNaxQK+kTN4up(|aQ}wd>d)@HCR|`E(ki{uSsx zFSGcY#u>hJ+g@b^YHT@Zk{#A%LM1#1{Vx@miO!XgcNPxJv$@*MojWv+E|PeuWdS|b9wgoih8Jm9j{cjm>7mOaOxBc8lM=^yX?da4x<_Y z7gFRV{;o^w+QT_uRMvBRU3S&rIz6NTn(B zpd3?eX~brn$G-H(Bn!m{jZ&=LLXv#V+)}pil8~oJ)W@;IX15)!9zNt^=mVNqmrU9p z9WSh;F3;ZgJ|s{wX}$vWctP-05s~LKXM3MKGqmr$lA+Zs_zpt7;-{A}M%ey}Lsk}G-_QZDeqwgv?}vw_6BZ@$YZu&4CZ$vfHh{RErt zX>1%L0jvLPGG@Nx3Nc5lT7lc;%ohZ+>AqB=fGv=_`Lr%T&Hdf(bX}i4pq~qTSXZuz zI7{K3aT-?`x^Jnae#zTEmIE{MFJi%iHCYRDv>jC5dq+dc2rb6m+@1Ekwu8)h#$*X) znWu;ME8CmwSY!KwA?m)s_%mK!mmYf@T4FT#V-wd{R4{PPEAlT&XLkrWt0{0(@xSX_ zE^)dSP!m_W@{(7(+|Fn(^>}jt4Tg?Q&I+S{SFW>?jm$}O#92@a<>O7U6B*fC`WNJ4 zy!n`IUKLnczn9p^&Z6!IK(?mrovB?RH)1qr>eUr(Kiw6lNjSTB4n!?VVtW#)kQy~* zgYStblD3mcLR^fcIdgCoW<2F=H+^{xN@YDBr1>&l4r%Zk!md~BZ>&r68Y06c&C2RW zOtO~m4;#VVbdlE4If(H%3&!W;Cwz<3LGDzn-{JW3o(eKzf8D&X(ye#a$P7tmqR2X_ z%xGEd39m)N&U!mG=jr|78zY}^8!Ic+{VP6}WePtqz03S%R5&^CG5XVMJyutmfe++- z&wS7=I^8)J*ouyAvMLVJmP5V<3X;Qqouc2wr_3A3kCMd0k)M&L!3~>ROUZLbGhY zf`h}S`ge&?LntN|BXq15jw7^^tJB=&_kA*lvH08$eL4e`ViH?2)`Kxm=u4UV{uaB& zn|ZwW291Fsd&R4jTGL^Gg}3_CzKw1G5^BQ}qj8e^w>{zvk1C%bk1;`7p1{FxPvfkE zq0b?LD+rRm&Pf{XzjUWDZB7)M!o2=6TVf|M*~)$N>T+76i+D-Y>pG1cuv!VQQqpa) z8wLvVOyjq@%fg18d{SNo$n~ap9MAG49%|5LELVjv#FgrX;T82>v%#e6E!UX^L2oKd zd);=$B+fT%4;6-xMj~`qwKJCugKUPc@0bEI>;=~0DIwBK{2cgoO3lBFQ8@#NE_ZjR zCA*P1u&4yActRt^=XN&iwiHQhg*DE)Q-E1{oyT{aQ4Hosd#FtuwAZch=#FAq$U84x zqDnbKuQ~OpzKL9My!IO@V(l-eWL;gv{0q76olx38z9eO4 zVj;PqkXx5;OVBNa?q2U4M9bZV1Vo&TRNUY~>?*9g2i5_x>dLjqIbC9_W=qDvG)?zH ztEunk4rsXe-anEw1D3w?W<NiWt9BGBb>6I7lGdvSr{TqqdUj z4a6oZBX-4$OhbgPbcDg$aCTTCREC%iIM12>>*)jfuE~36QJUQPF*XHSgNdABG@Hb- z=a)KL24GxycWgP_GbNI`Cb$c$6(fbwaxs12brg+RLcqY9vVfvx)8PE5MnMQip`4vA z5}kB_>jjo#-QHHbskl_4`Za40Wy!{58*`Y-Y&^j}F4MTjWOr4if(+J<9kqD6XLv`$wGYMhHU-8X!<#?{!81Ne zfJ%;1{C~(6<--0kDmD&ZLChlX9Qb`I1u+RnDaX(k{>+Q~vrvr%SLl7D)n({84UC|D<&O}1$aNvh} zBHT&GIRj!a=S%RjKsC7ZwUA(Y`Olq&S7aml^eBK~5g>r}dh`6g->GA@uGx=IiIa~w zpsQfOq!>dovVQ78Q{_g{br*V*gWH^i(N?&<=3 zjUaQ|;J-yzSCt+P%A|E?)YDEtnF#I_&8}04&AR@&Ts8KQ%=4stV-p1llPhwFh$QUr zxt7@3k=d+Nq@UPAxzCu|a@CJ64xI~ak~&s4VVMRLdZ9LCV=8YpP*otFzdcx03+}2a zAx+#DbnNywzUwNB4@KL(?Li8ve)wb)Q5|9H3@;r#XH*$$y8^xt-lhJ@)ru}$-{pF^V`KUk zeaY=k@`^ZLSw|1^<^E~{tvi1Z#YB3y{>GgdtBa40mxg`~FFYc!@_PXYlNth^dl%M7 zpf60@Pk7Gws|sc`U!+QO66xR9R^SeG9&t3Gf^OlyDNej9Sj<7MX*|lP-Dy06WJDco zw$snVQt4+btJZfch1ow6?Apx4ii~{?c@m#$uV#O5SrzpYGoRahP2*kO8aCb5f87Q2 z&f~Y~(@|Da^t>qui9-Kmb}B+e#lri&UW9P+@n%_UQyh|25EQ{?Ac{%Ma)%?LQM};_ zErRx787+>l$DCBiSx7mOk+{1g)~bA0%P*tgaG1Q=ZQCR>_!w>1bmTx7z&a?12Ki{CPdvJ(gmQ?nYqQew-XlbRFwONxsc}o3Hk=auapIG{V4;#m$R90 zF?QB;QLIB2^^t~`D!r})Sq2_6TS@oz9@obXh3AT>D+V=OYWiZt>@+K=(#noD4T?!W z-Q~3?w7LE%Fp>DrpcWOXGs#xF%xq`Au|B?-$0)ih{qr^5lXySStxdaGA>4y=N0veC zC-oI-1M<6-T_28N=plVAx1?IbE>E_~+aS(O#~A%24+9I>AGOz&i+qeYb~{}%G|x2Idt zibJFV?y8eSf(&R5h-zQASGC?NKBPz;&VNH+Isc6i{@>`Uro6bS@UI{GD*AuyJu|WV z&{s~jpWrhK>re2Ro#}rDpILqy&i}Lb{ImI2?U{|?XZPRMo>_kK#s7*uGc*2s?D=0s z<=^I}rvKSj{*S8iKimH$ocs?1{dXwJ!SHXF{4XfV$^0)2`cF8Sk^Ntc^xvuI4?F$2 zwtv?D0~LJ%mEV}S8-YdM!1ez*+tJbCLD1SkclFPr>)YHU{1vP3w}ZArc%11WclGU6 zkzLYk@%(&xdiwe#{k(V;k4RZQ3yHaonI5{n3Ur!!g4qU0-%8`x%ux*_W*6Sk9$*twv*ud%=2HHC~JvG=jH433` zVs!8pQ;F0j};)Q>?R4ja``O$@B%n+Z6(F?i%9N(^l28=e&x1UdWZBP4&94(#`|0RvNAUHt&YCi~zVZStYq z2%rX?%PFurI5s#pG>CD-ZS33W7d6ITHa8Fts60iR`GqH6#|+wz#gPuM1-pzUM%FBQ zt(0jUC4&QaT>-3IXaorLMAq!XJ@IuZ0R3X>2q66+{SEs(bFuA5WA&YGrEg?pYG|u} zZew5x#?VyD21pS)F%P`y+Xw)xwZ9z=wk+#>eGjV*LsJP0vyJ-|{}bLtR|LZ7G<}it zmKBRedlDdbCx<@Y=4ASSyYHU*-8@X>%*IC6EI_`p{U$<-BNMsxyqUF|GtgAuKDIDpPtg!H|qB_ z#dpo)w-0I76+CG#lq{gBAUAh~JBIgyU}Ui@0uj%}c%>q>`o$lC@%Qd^Bl zTvy$o(9Ft2^QkYfK@!&`E^fhF0%n21*2Cs@*s$=d7x#fl5o^4642l8Jjp8UFg2!89ia0@m~OQ_o4#f755U@$MC_*yckPaUP-I ziKG8*$wT&QioGG<<}86P(2{(%R`l*`NrZt-w$;+ZO61E|}X}&}emop+$8(sKS3QZPTPxkle zg8~s=Eo+;rRrp&Qx*YDJ&p0VtW+s3O=%9spS#K@30ydY2rTZyI}YP(vgehqs)v=2GDermkNEtwl3tcKU#aCCy*eqoeg&b z%mhXdpku*&&q2^yxpZzu#>5nheVL7@DA1t^uf3vm)0`gBE*tXsH%+)SK8)wTRlAB_9DU>7?QRg4i9!s~F z#9zg3f^k3U3!hJ9Phu`#aVE_AM=>Ryq+(T>d<{$@WB4QkH?LIZkbpGbRuAX$0(zCa zO4GfNc{4}R$)Y^iJbv~q{3-qUg{gWK%^>J8Lho*cYrXRmIq5VPK(N_K&pM&Dl`6c8 z(N(dQiB&G1H_v&pz~-2xd^}ys`*AF^r)upaWd`E&i~&L_hD})-ruuqSkERZVP)JNZ z97a_0te2g%jNRDSinvG4H9Q^teO*Cu zs$dPsJ?vR=78Oj9(z%U4=Im!J9{UVZ90!-Vp%pqwIVJIgyS_&%UZImSd5K}qF9WfD z6DJ$k^y?lSe0Do0=yzgTyLO7xTDZ+zYOd4jYsaCmq+`q$z5XU`fsnWC1EZIN1I~Uw z^Py+B$>>nr+P}&OYXVdIZpQ#H8w@@VHzGXQQiT=J`ygrxx^Kx>KZq%8ljRZXj2Z&1 zPHc6+8CB@Ks+0CPdPjWAH>U4V6%GrUV`RA7(ch~R*8U14mQ>0dVkW<_yqPpoGFa8y8=15o#6DO` zPI)l$bYYfD8LS4>D_w9*Ao2wR2gQ7U0rjem<%Rya#L&RF+Nsy=z1P{3<0$cSaM&$l z`8R$hC2Lf^F7#+D!?=l9jU;f<8W$AX;zipVJeJf_oKU^1r%6rO&aDRrniqOx@8kZv z)SbDaMILjnDb)?*_$Gz2G)gQ;?p`$`%D$hFWGA$KTmH!2Wihy1guG>wm_F+;uxCSG zqGPt}^>N@_kUo$WaweKEg{M{^H4!3^JA^o>H&NKsZ$aJa;eNrjdIlo7H2Ro!Jv_-O zMsO+VS@$ke6!8IuF&THuh5Y3t1z{N=K=c~?ODT{W28f72mt^F4KbxFT2ihBme~2dq zQc_=tD?sF1)pcqe0TRJVILdW#E-m z6$pAfjKBVNiBA_qZfz$H4<+klu+GU6RAFLWBV32zQUv!Y0!uP&u|6(L-fz}v((B*YRIL_!d<@jowo=!d*{EBK zu1U|Jj&l^mP``|Z`+5<+Z3EQ-7qzE-Y0rkMx+s3WLc6D^o7(+LeN3=Y4+eB@Y?j-k z-UcL#mP|-=!{wIs=Y&?@!zyG;4v5XnH*-8AM`2WA7oT;XY@PZqaY6%L5{p}B^21xH z{U9`Mq{?a9OZGlW<-vB=DLo?y3u}TNXzSCzE+0RNJZ>b zbn{dCtLhyS4*cDMN#QJHQFP4c`o#;a&7qYW{@%9(9_>h5P^0zR^;CyS6uTu{7_v~W z@XOj(XKJqn9iAWTA{)0|&HU5XL0HePcQY{y5blXMT-B&*ce7Fx67w0EtLEjxCF*Y9 z_P~?-_H8`C5T%?a-K1IX_OAXC;7|HUq4i{8iFk)0L+SG>QNC2QyZJ%sVuGnyi%Fdu zV3jMMyy6kah2d8MK@Om*^DDre3C_skfU!M1FK$&NTQ6Gcr}4>fW!?_ca@oIH5WrCK zC%OT}Xq_sutExrt*3@7lq$9!dgCZNtjACfq)Lv23WB9+o3WXv=FMT+FL)t zLS{nz#8l*oC~@X`)a6UZF7qa;H6`vUd+!xr(IOk8A-&2MJ>gpoU)0Rt=zo8GeJi4X6eJI}cT|Sh#e132|#& zcVHk$P_%C=X6dCKPis-Uw%xaj=}Hd#ZHe@1kPOWP{$|h%sub zidaU38<_FGrKvz+9k;qMnM+)}PJQJiQ(1NgeOhv&LIE>R^#> zBTxRtZ_62@4vo4_Sk%S_(IH9RVTSjC&A1Xz=u;hBu`$D2?a6P6Un*o`myt<&*ytXX zw`yXl4?$fv%nh;UbXmu)AtgN7PdPB%hmM6Sx?tHGAoI^iIh>gMN=`3BgPwu$C`dye z)JoN}#H~}!q))JXTbKy;XeLdGincm27ZvsS%bdo{v^%<2I#K)xYCY{w!Y$jHJ%#?l z&_&0*HnI@=^i6mT^JyFoZkN$}58{lgAZ{!W>aWZ!7zKZCdIKrYc6Sjn_|a{%=KwPd zRWa=`L=Rv+gc6b2^r~_(;ka7~<4zN=7)u}L0u4(;`(I`vIY`Ik2d+!GMrFgaj_KOb z6Z5R~J|tq4zhoWO!>N!QIWdxmd#a(qkc*q%uA&BL;_V;$K2P*mx^=h$4o@#~m+mtn zzG%Yj9)79r+?_iP0EdyQOOw{l&mMo0^cd?|vjN|rZTCLHb&9fu253rnt{q^~u+J6J zE*y_gqL`C9Qh0t|ES9zq&r>N7Lg$JiPtAem?R1U8d#2V-bq`V$Xl&fDz>3VJ z;w^fM**B&O=>)q60C{~Is#_S#u{_p)IyDl$z}4Jxu1&71WXMgyvmVs~a6Xm|Gg3>r z@Mbr)mR(l>j^cN=e%2J<|BW?AxMQ}Ji#Y;^xUIaDP7FN>eG7GlIUu-V{+5EZY=Wch z%6*S<(kHcREF=)a1$*bUt2Rpq9%yD6ds@9fT57(r^i)X83^QPWwvewry^M zfhu- z#g8x2l&@*_9rG4y;b#~WACbINcER3^db=P)c2GzW_ z+ylj^*!l@cFjMDj@RA`|b+bFNH%B6eZi<2$EJ^v%(0a^-L<{=ijVtc#OvWGzlVFI{ z6mA*TUQ!1S9DNGj{4Yo9Q-tLDwITIBJDl|#Y^Y7F?{-%-NQaOz(kF>qj04J2*?MU$ zu2KhvFMZMVKyUgcAdZv!(w5GN)nX+(eC>(WjrARU9$;k#7)hF39fF)`=3 zdr-ux(?*QJHCv!FyL-Mh#i=%r(S>{Z>ePTlD-hsv%itAYgF7PvnFt|zQ~YdoL7Nc- zkt41_v+%8b_$@8sdk9&xt8Tz0f$*3Y615(-?WzuXMCz;zeMPMz?17Z^tt)RQkaJn_ z-3MMNe;xnaE3iU1{XD_Fd!CW)mPpcyXTCMFzOU9l5m_({*tJZ(QCk$~%zj^cKdIjCg0!KcQo9 z`iu#=)Q@X96eeD~c9xfOL5a8mQuO|zu9gHdY;-(zs5Ie~4>~|CCogn~e6$b#uI3;^ zGJ4|kvw*EOyqFjZ&2|{kbTQhm2LCwjiX*u@YpFTgcq=^JbX3iZI2tDRS&0NH4(aRG zpcx7%DDx$(+6yFkuu*-RW}s-L8<84&g)dj(X>cuUW~TRoUdrFZ#ZflqSP~mwv$j#r z_Piv7zae!7WtG#~AMMRW^zgO*3ydGrcm7yOv(OkJQdZ1)W8s`b=G&eMtIWqkl{@=T ziYx=ndCqxq;xZW2vAFIjl4`7V^Kan?mj*m^^p)@C1Z``uH{&;mz9NL;s zd(@k<^nGhjDYh1NIwE=?cqIOV{lYANAsUlc>o8_^@Yd!!SoFY^m*wZ+`?G$>C2RLY zFH-kjaE}>J_LZ<*b(e!NOaJ|qI~+#D3BL{7F=7#-d$Z$^&^L(UF|wJ|cgh(fGr4+` z6?-+ilQ}qoDwQ46z-zdxay7=txTFReM6QRaVvzM+4)xH*DUx-%_UO~jX$`*g1AnQ_&iSxAA zOEAL8UAwCmCMjgkH)717eDh1M|dymT^|H={V}Z&`G9!J0w6K+jFFO$8Zis4U}t z37Om@KQz!*x~Bn4B-&a-ocZH{xU93k)5Q;+!Cg6TBw+rUs8@Ukeh0j0NH)hYGk>^j z@Ho*vao-0SM|O*R?q_u*c*Me`vb>MD_Pq6}-Msi3hZGtqCeA~c6Diy<#*3rG>oZcx zQ#b=xbxU)!4yDZ_8uF|!kpp)58Yy3p-^`heK%3&iu}w6>sd}|xiOk4aa(mjNvwq=} zLJI9{rixqC(e;)e^0-tcmYYz7P7Y9FCz6I&JW- zO)z5=(E+DAsB1u zWi6DSPX%&knX92;pE6pT2qb>v6<&##IH~lsKX4R%`hwE=DchgpzDdrE)B}*@n|CvI z3pU_;My%0WRUJB9)roga#xYLZlLmmLC*(OUnYoIwB8ZflTl2&rJW}Rq0Io zd*7t|hZXb`txF05lA?6+?I@AxbLER9jJ|ImV!BUJoV}#7uVWv<_h{5QEnqV;@eaJ= zI=`mPS=UtBCaEehj>|OrS(R>Z7%ZEonVN>xL-;!wUcQ9y;>>hg9DmIcR%VJVG-a3# zh}O0zimK53Y-0EA=ES;;pNMHRIa3@XIhQ0te5$X)t*)~$F8{hNfE9CJKhyHWxGC;h z8r& zeav(avOm~s){^1Dh3gMMJj1)b141}ST1!n^#c95mL=`6h{bK*kYzrZjkZD*xLz^T+ z#MtCfIY~$qz(F1^!4qY;vTjM~OdmRG&{)M|m$Ro*Kfj<3|9cHui*Xn7=8OG$8GBxM z8?A#Zw|Yfp2ZzznZINGhR2(Ctnu()kT-TtymWt*8(_aPl8Ml`C&cjqyu*w6MuBN{R zsYdspUI5Lr*Bpm|?n~f5tHlKKAqS{V9#efdHmz#7-s~tI;jat*X7j*hb61EZv0_JT zf8%r-ZLqv(d;*GS4!qJH1;IHW<1lXM#vl+SEM@|hN@RK6TA-|!HEZR2K=z;Bmd#NH zFoe7LpRHeN$hE+Uuo=%>Pa+LRr;wJah1#0>TqG24u|!*bsP{whcyiCEI)9Q5_W4dE~(53K5$CztSu-P(pq)|`Oki{?zTq2ZumIRHVOVw6_ z$_|OsYagxWcgJ(ubl`{W)C)hNzGF<(cW`|rr=KO_(`$Iu@ZZVCqQ8geZ!B}?lN&<$ zj!!Zo5$X{FE4ci&_gH8%6^$~_BPnH~`breAE|@sZWxc~;Epr|@;#qJ`ZB$(Y0Tn!W zqfbJFZ*JE{N1-lV1{*Dk-#j3FzcI!7wzBhNX>xb>4yO1$)AkY$0C74u-l~CiX$KVz z8jvpgSS8NrJ{YVnMBgY3hru9KdUvy*3|e=g3$uoZWWjJUsGC)PtIOR*633sD?Nn&~ zAz4Im)X@KCXKriZ3nGTqO5(cnwo%r10N#CSyEkl;F6pCffZp(Mbz@TWfKdVDAm?A zfJfw6EP`@>ty{(%2?Xwu+te{RWyMGjWcg0|?&w`g>n1WiQQZQ!Dx0%WO1&5fpTDmP zpZvC)%dV}LJg{fw496?A(ZeB9Ob*VoB%is8hYc+82 zG$PJnPayk6AF>9Bb}KF$NkPF>e%z)H&BMJuXG3L#7}RtrPqJlk6s7Z3%^ZzE|_hn_o;i~`u&Dex)K#p8Iz(jZ@@iI5`_mzyNk;A+du zy?SC1698uDGZmnodmy^lR=?h&T9VO=q#X9x+!i?W82zY;W3qgl)e9z~;l`g-mSrHJ z(mEY_0aywPo7O!I{WIWxA0zE9onK?>U;P*%?LchWme{yb2&k(`35sX^1(4C_xHnuH zIcbeS*1lK7KV#0;=CNRhou}uhFf+)^@#S2hrE!aaJnE*^6BQK3x+@ff3Q;bW^6^oR zxuW2oM>S;l__637NM8sXP7m+5sx^$%UYM&@H*#Wc9_{sGz&Ry;ynEC2AB2p{vt;Np zpwS!l!<%Jc9S~1Mj^p`O6f=#L-DK7MDky?8Pe%EEp__L!l4Rc%Pmsyg`XpCUl0>bZ zTSJ`FH>Xl|t_e|p4E8wi1w?W%x;=!43p$_Cr!(&sA_TgB{^GaiRG064Ztiu`#X)#n zAZ31uJ6&~?$oT&Ji?Y7J&{Bv-TZZNAj#<1Ye5`XFnzCJuFA1@wr+D1Vg^nOb2=|Fk z$UK4(Su1Zf(!0c3#-}@`18ax}Z!;7P(=?Ne|ANWA74fsshdaMw>y@i_;%i7LmvJspKaufJCaQ`G1zt3 zA&gD@=Yilvw1LV*mDAe%DO%tw`BC3Yfefe)X+QBHXyTpjl+-Un*JT5I(~~x?<%b9P z_OmOD>*|lYI>%*@E8we()WjutKB9&KPRm#9pOIz3VHoqzBrI)ni~vq`F{~A3r>uI* z6Vz98kE&8vQ*IjEx8fTg2Ltx+n7+b4Kg45|bXXDFmYVuFL|9;joMlQjepLuzDvq*Uec zX~uf?lG+*S6#B09EzgMiPnofCZF{2CsTanJ1o4;BTtCg1RHyz;3@<@BtKlWFiss!l zp)R?D8(m%f+KUq-8#py_H@q8ictw9HX4^CYYX!T=$Ee$(s>E8*vHt=(CgFJK!MRKe zCon^=<#DC@p2wDI$Ne~;fd%y_?L;8Tn>GOL;N3h0F4jBG;j(z%*ye)oDAo`g)!fi6(S@bx)wGj&)o{DgRu_?h!0g8Z#*^|SrKqde zUI2>a$8LD2mY3}hw6wWec(j)D&00@7wpV6AYd}C>(pDO?DG}cQAz7e{H`9ktlwOg% z#Z*7nsVcV*1E&$YMM0p@t^#_q~?Y z=Efb4cmnIMR$MyQg!W5(=ER)(yk%tpa#mzCoeFqLwPx&!R%RMU)EQ`&2du3J zv+*GjGsHm!qQ>^rbcYdEEmni%xO3>7S*_adUxql~U23E1gT zjF&p!&C!TmoM`_x1>@+}Ep1|+TH)=OZ8ZGG22@38XN#Q(2t6gtD*KXl!*lz@iq+!i z)M~hU0`Z97FsQ)&Wc!l?@EKQniEV|cBG1CJg#Mi31-mP>z@uvU@61lK`@$A;m~9cT z7%Rx&dIG*!%5J>X*qx9{d}f>BLFlvTVg}%Zg|Ubx6~x52kDE8!C8XTI13HIVJBEwM zrSz|JFFlMvzg2A~Mo8zx zw0LIa+o}=)f6R!$9B`qBl_-zO6;x2&Wjc(h8`R$7Y4f0ymwnOq8*yO-wvJ>P=R16;ssjZGu^iPp8!csN- z%{DPiTxQ7hYNHFZfk4)u^k=U^T3t@7rnSr?s(UdG%xTPstj{BK#J^%8ScyOwkSt`d zYe~iCoJ8*D_f27}n17xB&6rGvg=*Khh~QS*ivnN1dDfqV?wV{>W~xvq zc|)!^R_idPYQ-pGshHq7=IY~hCfdMSAlNQ5qRWEW-qs8-@PUM82JlDqP@?Q9#__(s zNhp}J*k3dQIm_MHdcFb04!U~S>oO=1Em7c^66eM(5#4ybb}Gq*?!kXO6z)wPRFTAA z{JfRzOC|hZMJ;hN?&5w?W61x9(9<53#^l~7g&b~QaANOVefX%!AC}s>80IstLmAQ8X57Hk>P+7U4R->cYZf;kDfg_H+ zFVRee?o=%+yEZJxWj5AV?B0sK%+jujh#edgRp1`gI&7!M zV4V`)JloSeud*7V2G2&>VLi9vEE9DP1#k>*9GaVN!lU;}Y04*7#e9noaiFfWHy%}C zilXdM>5I@|8-S*E19#>g??a(kbOlI!xrWJ@22src#UZm<8BL88cv!RqGy_hznN5Lu z3r2SBJ)xl?wlx!^5-i`-BEVaaf9qg1C}yB zP^Kg-l0wdp)J)*jLq!Ma=S{l?tT}k8P;rM3?W=TD^P(9)$0_MLqv|6908wTkTCLyE zeAN`-J}tURpaAT-qG5IF{T%gld7d7tz@vK2Q+3AP29{iQIYSi@Id0VCl`mn~d_3%h zR<8FUKu}9pT(|9lQ{#&%sE76g;^xQ?IzqNDG`!J17`* zQXYm_g(wV-T4?6PObiV=$td+CL=?l{`Bb=gc+$FMSvRLFW=72tPiRGHpS@G*&-s7^^C{yn!FAP8sv^|#&SyeOT7|X64E2RLu7fOiD$bRp~?R= z{B&Ndr<=eNqY{71gs94^XZlj@I>;DNnngT8aw z-aJ4HX$nFDbsza%@}geT9;jTXh4#xH&Q(&iM9XTI^UwJ)m4;g*P!; zS*|IV3?WpdsPqk@#-4Ux0TC&VOd|0m__yHshf968zq8l)FAV7zU4J7t6Wcs}XxPyK z&2+{TWi>qdG)_??+}dth83~0%Nkzubz=HEI%w?=d-Ua@ElouY)_VUM_cAcqu|5#dqc~~GA`bt=Rr<8GDURRn7nh)20N&vb|@B+|QozBoDv%zPF z>8<_peK0QZ%xz|sJde_e`ste1yo#&XH8hNyQpWnFkL$=fi#;4tNVw*#?`!8eCsdFl zKvA?ny$H4s3#S<)m#)36DOW|1n!8!{$i>2F+N{cjQMv5#H1nCaO}k4U=|jI>!wINW zGCr^VLWQt4HXgNEfcu-cJjCe0@OA)g9Lbx%FWBt*u(#Tl!9}KzbD$ei zo%=_h_4ipcjKA7$%_MBB6=}OU4j#zssenMlorx)Qz4VYuGhQ>VK>Wf@Kv3zF7sq@j zS~df7hsO~+0Bg~lkvIRZ`V2$Qwg`kQdd4f1X%#qrbf5=|E7;!>h9)HjVc;CuUB+hG z>ASpN&_-sVT{I?q<#ed(g}vd#+pOppjBs7zp`AT&?7AV6ATr%}?Z{^ZSonraL|+D~ z>u7?nNP@6&Lx=bDJbm$KpRHjwb@aU!iANleZd8(Uq#Rg*A5diQOcZRLl{bj>4&06b zXED8!=6qLFPs^^Sc}_AFw2+a2;IxP8czq1mM-#umBDTbF#_kC6)2{XDW%H@kCaQ+H zB&9}5l|*(?CjN_`r;I{se3L7KGC7c7=45?BIN6!!7}#j&&T1lf``QuyB0XkE#Qiya zguy`pQp2)KDwczrR^R5yaCqP7UTMzWS7`vkpl_&RZTYU1l>4%xS5MS4;f6owrCw$+ zcL$$AbXOGC;Z!(6ZC%xlZ}$u@K@{)+*PL(E#g@Pqkj|yXWi};B0alq>o-EA$^(q8) z-hRT#wIqseF?MW+nUJrp%T^nq?VT~{OQ72c(mbqfL2B6B=H3kVZ94@l9m<(?9ag7O zAI?W5fW<#pY1;-O`s3OD89!1irM@8vXD*C;V(RC-=kFaJlY+3^h?E03TtneYP@3h; zzuAtCbd46!a99G&&Vx@M=l~?<3+R)#(xvwG^eG8s6-!O4Ao9ELuq`7^qJ2$6N`v2= z-z;vYG6oAB0MDkH;M7Z{cQ{eO;-oQ)sB~Wkf~q&)=j(z z=#!prHi0Pd9t#fMJ@y7p%-p{FA!Vp1=l4y(TONh#S-XxICKcx*a5Yt=ge@8%ydXnY z>G^A#tU2i1a^-Qw0Uy+7(k>PCk0eA-HFd4eq;DSByLdfR7{mgvr7cYo4r&`4Wgdn) z1uZ-&e^n|rNXpW5tDLCv&vTP9u0+(se8su`b>6)6GI8bc2yAU)=x`c}sD<@o82y&G zcZqy^4rRDk$mBeQVQ(DX;_p%UTq%2!YV2G}tkc4`T(nse%;Jo!r^b6NY6& zPKPOb%=o_U4o4`IR(wRw_`cKOF?Cx*OS$ml>%2!yM;zbUA_Kn{#U++NN)^>jTx;}D z+s#Mz7&>}*7bH}*@!WU=jyB&lj^)5RkME$v&ncxhs26FmBuaw8*YEu;4P{M)eN43q zqD~!VZaM%7+;>xCcj;CUj)jXuU7udzS*^Ym^R)`Xiyq&1q}S-zgN~I-UfatgU^(!sX$#?Ko{!GOzJeayL0xP`5MglmDQ?X84JBXt z=^M&(nYGYxn5G`u)|py{T$o5Zr&z?=?8J73uTT=p&pTo# z#>=$oXn6ShMbI_1PL5MnI~1~0j<65>611wPJ)tSqL_0^yCG7WfOk?`rgnp!oBFs3F#@1Nyd>LrEDSH zeFdlYoN_00wt-PA@_DL}#u7p}L!JJ;;Bp|PI;+oxYZRivqk?s`7;n@7)*uKl3d8=P zKOw+)q*3cW3+_+lkOpWReQN`hJvaBb!A~h{Br&1fg+=<8?sIErNf~2`*2;lE4!-(i zdwLIw==2U3kud_4&v$BbqvUy#A*)W%=7R*DDz(MFLTr$Uq{{mEF?v%D8%hQxJ0>$} z`PeAx)-6lzI)&Z@6zC{ZTp{xza|?0y16A*xEykfm_oGDV!gZgUG9{j z<2XJi^w1U_b0flBhO*umh$^@vA10+qzjO?*zNrtBW?&Ov{Uk_4jT>T!1K*vBMNROE2;!F@s9Xt(cy`3y}Vsbc4|AL*Zoow?=0ehx^@053Lthgq7 zUypgk7J;v}X+m{DRzVmP4-^wu@{^ZKoS3pIZO-&T;3)Mzg4dfZn`%_G%h#PIco$pi z#(vKD0iO9=t%3}ncfxv!zW_xa408qd+)=wbPX+g)fgA3CTTR1Ua*gxX&{QNUI|MJVi{Ga2}@kA|v@g0dG!gq;2-#FCRBB*dH*b=Qlemp}Z^( z|AsdwuA5h^R_im8ZzE^(S2gHbaBtf+&6PyK+4w_<(%L?d7Xftt90eDd?M{S`G18lX&L@KP;xf0Q6*se=i2?hV3_}c;pv6wMgGHqEB()c zt3x~npA(-~BG$!e9JG8~9VhjD0*K`4z` z+>MF_1{j7x2nLo&{BKdRzq4Cda56K*LOukNVj|Hr+Xctz_l(!A=4*|{CEx7Lx7Uju zAHS##51xiq5vnv~1pmFihrj`V2P`ZqA^-$QA2iTCGC;tGeKPSCJqzF*!pQ}g7}3yg zT2L1?OrYQ;3IRn^9vBj!yo(!%KPZ5{fkRz5I|Rrcc)-w)t8hmoFbV;ly_G*0JwIxM ze>)<;al*__jlC8ZO2^c$7ywr?FaR1d^8ODlT)azQ`#=E#2tROOLl8#+wIE?E01pWY zoRG&aHE3rMF4Qs2%;@R)`8c$L;g{|~_- zDFD#Z^`5QYlczX#GWifH7(X@6zC6YNEbe}6U1&Sd+%TXg)dc{p8OA|e;|D&tZJ(YS zFu-Hruf(g`Q?0Q5(5*fMN~E)6C_&dggqA<-79!Z3qT;EDM?o7PLhv)aSomLTBwYA= z|2|woRr9dj93cS722KD7tUbNEt^68$vt;aA?5%rr;T}DUxz?)ix>PYvj(!9Rwm`ja z%03+f`KM;D$M1|PV4(AeyKkww0OBee-+($-w-YA*KAkNCDk#79d=-%2`Sk&L0K)jP zaDNIufD@p9=W_k#TfF+}8v4x|=vO`u@#T|~Fav-(EMHTTpYN`%w> zd-&tk<4v{^${87{?T7Gdl$0do3Fz(72Y}~GhyVbC1_&%X2mb44_748LyXI%rOnBGp z3H(i705t#x2@v$7&#$+$%g+5%2>PiF=@8REq(g++hG z-mUbvr6Ql;>^WX!t&nmC80`oY@@IZvNC=>}W3O^A=|8t`-VPrU1_{Vs z&@bAr3i8FxMWpQoo5~#QH|?)4oc=j-x3{DfEy6#o4q(cSx zWU#@zKES1D2{@<3@)QdL1fh0>d7eVlz1?4KGQseIea%OkFa@Q6SPf1;`J}&dkqkt6 zRdtR;uhixybH`k?$h;}DIHcldSa*KEY3^n!cFg1@Q3>8G>>DZY$zQCueIYO#r;}^5 ziU}FDkjg!!4ofwd@-i^kY{6`chH}M%v$ijDkFJ;s2)9nwq)wp1dRo+a(u`2%ZFn1w zt(|bU{z|C&qKT!W-Y+$TY!lANoM3bPT&g1F+Lf*W3TqN>rpaDdV zhYcmbQwfR9?D!Au8TfV&?{db7U^KZr4z2UP#NWhA(Yc5W@kw70C^m2sXwo514aqHD zJ*u?#`2)e^$;0@rvUF36TRapBnlMCGW=_S~L-xU?MlH;nh@`TBf~%*cq?hp4>OH8K zJ3a#HpPV50hMsKodTxUYB69wrnT5C_k?aoI|9kie(jihZO& z;85*_L)T#FD!X_!(6kwwn{^0ace1iE4L~skM2Zx*IBWXu`n>7z&0k8_`X*n7=5Cfq zb9*EE3DG_-KlwIQbL^QW%PQPK9425abN*g>Op%JN$32p}{7E5!K?IhTBjoBJqyv_k zCe4gG2vQ#hr|W5~yq(R(MH2R#Fw3GRRBh zDOl`ye`s)DX#8Ds_=s_+L^mB0+ zBZJ{soz$Oru^=-oflAGrKlj$|EcFjvQMhH+qI#GtmZsK1UNnieekFRY;c7-SOqbCW zf$FIZxuSNc#?e^sxmyTc`JZVfXb!H>288As*H8v*9ap7b8$I0FC)Fbi$HaxAtVeFu z7N#hkPN>zh7CfWshb94Dy=p>NoOX{1m0%`zOSOKL(f(d5F*T-a=&S=o?s)6|W%; zcDrfYzR_wjt4G6eu~LqvuXDE%(>i*3s3gSBVx=W|A+KeFSY0h#C9I6K_d$)fm<)3* z_g1dk8rF`5ZGdkz+-&=9+gPru3tnm#O77^FW-}yQ3I-+#@hSS@AbwGNlYqFSD(H}a zE!^$UpzZHsQqh#!gPioxxx)n6#l~ifJMUjvY4fLq_%AlWpQSjN_ThX~s=dsbxw|7& z)_`%I*Eqy82<6~wBR=gfh$IUt^6eoF$5qMrv|ek63>aoQ99;Bvi^scBv@5SnlkM4e)dxYS%oE@mut)5h|OewDYX zJqLwnAP*=c!DPKW3{&a$q>)rJtOrda0w{kMN+;4*Ey_@?g!=T(>K8X!bZX1dBJqeI zDkqf?@!cgNSu`~n?vbfA3RRvJql{Rt9aHJ4A$PTApSwpSdC%EWPh$l|(awGL;fwTyFXv!Jl`QHBC0!t41M3Xt(Dw!mundD?%uRV4RFIzguZ@29UI# zw>AM-*0Hn*y0`l+;l)sO`?shju3&Qjl6Z`K(h^grVbc*3)yk>wfT1|qDmEBPX?Cfr z!pa~zMz3HUZQEE{GOevgyL2p?m2kYe%MP_rE|8oFMKXLkLxl5W1r00*yrd*fvaTV^ zQefRAV?uWLv=dy11%bwel7pHEy;Pla z&3uts6s=hx(}){|5of=DNJ+nc*DQ|@($*-Fx4PUXKI_xWSpfq}UbXZfaPFMEiT8qP zJfeY!K$IX9vf7r7(yC)N7(ei)_CYsMMlhA6vLP;X4pxK)5a2eL<8)O}<;LmS6vGtW zT6(u_9uDPml&Zy&?-&PDuk%piNzlY{$ARx6#bmFDk9YVtj(;PVBa3!V$9|Z<7vC=g zC~auZUKk*&a*NDJ{;(l!e6_B^ZQ&Ghykhdcz{+lImpwMc+YJ@3L?h;@vw2_vHvKo& z&M7z(pbOJ+GO=wt`C{9i*tTs=Y}FVm|oacqm zuN})q%-w{^){~|HU*W^p=C0sC!&$C=r_AnVKHA&&4V{#4b|_gZEtYrE$&Zi;%UaH= zI^8!GDdvQ__`Q4)?Xe1k=IgeVdh$;Mz)WSNjCHfe9xu56_Bdh#!`HtWFN9aKtcQ9K zo8)bt#MAFcIGHs^cD;kK7wLt9`=+q&k^&jH|JY>mttOpw2UyU<6w^2A4d4EAlk}>sy8jU7VBzEw}J^E*E zw{s)KKi~(3VyEz)zyZZikT-Q|*0B7dKa*A%-u(8IP>k@WVb%L(U-rGhW)p$TEaI#z zYExKyjh8d{b^@qgl|GY26w|%lh5`}(7dqYNpkx!kra;~r;_Y+5EYQ9TsPTn+9 zfWKsBuQg#VaJ=*fld-Y(&os71Ij|p3s1KcvIZvLAUQMAoQlCtq3<4Q&b|mA?17<1x zbtRNUm(G5X+*Z-9jVW#AyDkmZft`vTmI>htnTQYE+)NDak}#%QC0d3rMdmh`Q>Uh8 z%98cueB(P_&MHT8OZA+^!brS(bOZ~U28V3ocgeLKmcgtADIyk!>F2iG)~8{w z8`7#d*qD(9%W0r-^~bI=#6z|Tp(GE#GH(Ufv&%H+7J?{+j*4B^@-*TbwHv5kWjMlt zCc*r+t<2qB=(1)q*N3fh^`*~I7lyp2n7$crJ4;{!jlZb0Y(n^(kK%h-{+ao%oP3YsyZq60vAcbD&|x_O6UsZmQ%(|8gWE;aN2jO=ise=M9@6s)M9ct z!u$PXXQ9?5dFs>GA=Onp;4Zl}!$~}qyaF(%st zR0|P0@bRVL4S$8=O^A?75>8-=(?WHGz3wWA6<1s3x6*&Tm7v3V+$SA6a9A6&JjC%H zQVaa{ZYkb-hXI8fy7UKbu{l*Sx6_H;v}SyO6!(m9n2UqPUQt?=XprA(lj7Wy6S>xc zyc76XxoA+Te;SV26{;JjW!B7RB4K3e)JiAoh&<*@1a;%%Vk&=&Z5XY%z5Gr&)ADy) ziA82xT+WctzaY8wab@!CR6T#y119AzdhNU8_2~Y30@W=nDbLTIT`;Rie#4QzCO^KK z$?|gqgZjnn+{V!=aU{6MW}beI5^09so#!QWWD|wms<|UR9q{`kUA4GVIlmnETFi;L z=d&d&S9Ps^hc?#oK7%l1@WxC#1?w-;Du9b}0h`v=G*#P8aXO_{S)NTS z^g?-Rbp+8|E=qRLWoQrn5Cv^~p<h8JNj`YFHZ0FDR?=z=5SQCKN2b=HI?Cli$;>Nhez zR+`Od?paL`q=h3|LPC6RrM?P<9cL>BtgV?X>pSuekvFyvNkMM9hSw@H98tsKlDtDW zujlRu!SCDYHo?c<#J_^37 z17p)8FO07^Dq2V_sAWp23d>exoiq+k5+8Xq<^KL@v>fBoil?#mf73@J~V5TTe+Im|#I$=2D1)`Oenlg`w6`ZZgFjVQ=+-|zx; zv!^5X?3})e*|WDR`NR?sH7WfH_F#BVGh!d&mV#e`|WH z-k`;3S51eXE2F!UgQ9fp0NCZ{IanJ6q7a73Y0|u*Vc8rjOwscy_4=0$+x*uZp8a#u zeY??NSzC>6FF^wL#~;%V56!C_92Iac$sx7f1{ytpgfWNv3C7n*Iyl*9M@RS(6c?Vk}^t+8la=44fF>Mv5!H1 zyjb-%Q4~%O&1S;c;HwEH0n6F@#{x>UZnhzsQ6A*>754Ss_qbuI=jSxvsTpwF&FC+T z0|fE*2r0dt)R{cS8I3xMPW7LHMnf&9*+VNP_hWU0%;(()ZO3c4r>{Exb{o#;QqsB0k?+Gr4!+Q5F)ZX&W0Zu_zD;tV|2k6@uefO8 zSGZQHX}CSt(snc+2TqxxhbHHmSH#$vXEhukUJNgFC{MWMEI2E@X>wd#D zC^Uvo`NRO99l2Pry z%$Q^UUJj|cMOin&CZtd(OQKE9bh9BLtS}#C#J6xl202O|z4*NCqPmC2JB(ten8#Y} zLE2SMa%r&7T*wZWGFrWs;RyD6s`qCLkZFB!>W)e3nyRCh+(W?rn!Y*5>F5f65OFC= z?0&Tsf$dTcegf9`2+Y7L5+U6qjEy>=o%8hs|7q8j4Jm`T7kb9YFGfO>_H{N$7-vh>upe1Z&xz3_ z3PV|1BCaMoj{NnPcB(n#!#aPZ*3Yl!FW>Te2mwdrt4Wzu0oddKD+cquv@(kLH13sN z>icn9n^6zh#W8m$m>5GwC&y;X%-bD$jWLPpQ$IG({Vqf9N(L2A?{UZXBA&BuhkzOo zcNEcXhHBM42kyG9i}c!`tQ^lSN&I0JLa4{&o#!F0`YXD*63Y;I>CKgyW&QfN z!F`ow76qwvStxEyn47a-^4ee)B^6G0oNPNk70iuF*YmbAY{Ci+smC5Xe1^7-S8Gmf zdIg30V#&*2%3_aHA2cNwBPePRScgK{HA`uX6hWwuHL*~;V^r5Hf1~naq&A;F5|V+3 zmATk-@Ab4$qK9s9i$VFh_@r^&FPIit+<3bKN4rx61UibeGMH5Ob&>A^XHQ8T#ET_1pEkorKNRk^T2Pup5*J& zD-(xtmNYedSi-js&jID;v_v$=eQ6|EPVcJlIhdjWo6K+@YzMt=z*-Y z=P5waUp6fT6i;wPBoFBXr?*xtG^r&C2G2B|&^sa59T>>ldn@z5@Pif1@Hd2?6syuB z&!^+$CtcIIURu5mE~t__(i{p&w0e9c+0;;X zmh739QSvVadKvYr^GI~ORMSGbNVM%*Jl9Pgc-Z!GTbA*jiz+fHL2!Gmv@JT& z=^JvJ?y5%x#XW=)7i(R_PdX34Mf_%^P@QB8%e9ww(ziMDZnigU=;_Pg~*jhAj8c*`xuR}>r7^J9N8gb+g4QF%2iJtfXD@ilN*&?kNpn9fw_ zk-Er`N4{bI>*YRdIpoB$4l6)ww<4W+wQ%z^4bN356QIx7RC=j@%&1R%DoE%+rfdY? zGd!&dv zW`Ctr-Hre;*&QeZum4;}5tOEI<$?J@5Vv0`XIRbn7#~ZA4goBk|B{he3}Ikx`dKqc z9NQEAv0oI;fbJkg477o5sC*x#G3qbpTqUl)VYikG8egWiUf=+!d!;7x4D(J#^v5gT$;MDyLu|`(7wWne{7sj9=Ck6PzT&{0L!*pG zw-9OAmS0l@kFMNqb*PI~Vwhlmhl##+$WzsJAP9PeylqO8Q=La|+V_EDTM;et-OMZa zezfuQSq;QefZ+(pp85v;th!E&Rwyn8oS*fW ziWu*>*|>;s0p{(3SA52Whw1r~^dsDIv4J@KAy8*Cs0-L_SO)+ymdUTtNODdwPQd^q z9m|)Ro8+kY>ejHxg<8b|Rgm!V;uV)F8evL2J2O|0~qdI(F7Z84t44 z7~Ri0!Qh&f;h{Y6BwD+{!@I}GTiJxS;1BOeD}X%ZX-?96NQEf*vhrhbdRKcc9rC*0 zgvnSekx4T;oE!U9EJt1M$#`15Ggihm+CszYyg}Dj0uG^ks%@p`!{Zqz_|AwqBjlz$ zL`?+h;#_zr{og!nf995HeM_Qu8*RIGE&u70i%IlkoPR~rb%3)5)fi8Lgp7gWI9aXDFl)yPs8WN>VT9b zYl;T))c(5MgOK1IRnUZ0Ey5>lGLc=6bf;>FM?DzU({8U}EKR zWg1qKKGfG-4wp+6QEjaaFq?W6hQ5WO(aM`yo?NzDRcr9NC~~b#RRhsYv_Rf!Q!pIui zClhO8-#2I@`xQ%kVAp2JT&cGH+XR`F-lncN^fh90yf4ui>$udPaYvdD1Lz0A{;}5j z{{YGVS$GNU3@r(Hc%T{nUyxiwLG`z&=zoRe|NO!KCq@qV?}!}04*36s$T|MWiT^K% zT<9MZxA@<<_J1(;|Hidh{+HAJ53bF`_Mbif+lq;hiJ67-e=h%5B{35VCnx8BCENdR zC2`ap?s++CYHy|8!M@&(6VJ?p>Szat8NL z1Z6o&2CA4A80m>l{$|q$`CPyO;)eO?+55ixMjKteV=!ZefuVpjV-~m561VbCuI5F| zqb?i-xd#CNPvX+~VP&j!aQ^w4;+eF*nwso`@B^@ej)ql&PWFO-E9GPcS5`BRMh{Ib zf2)O8_4NC9&|aBSogMB1IfJzkeeYA4TtGJhwQOZR-Hfesa(QsQe}h(8ip_U>jhXTO}7 z9{qnz6&yfrm=FbCyq@6JTGwcM2`+zf5q23;fBd|DXvTjw&VTfTn696n{mRe2=YM|6 zrf{vVx_$saHTB$3-st0Uy9f54JtghEJ@Oh@<`x&%w|-6cgv_@dVceP{wb1 zdBquYqy5J>c<(!?y?a+Scz-PAY@2)V*?>%Md%t7hz3tImcOfHi+*SR`{dc|I?W8Qk zVJIf_LPz?hKpCA}SRcf|V)3I|fx9nvVVb}^zna#8RMEvL5Ldy0=w}G@j}9YVtqOQH zcWvIu-f`}L)X98Fbb%@l?FJ$Bli#CXfve_!h;`Y3Dktp*;q{ZhqB(%79D9%`{8hf$ z_d#l@KgIOvBYKe1BIoVEjtf3<{8u}+Sk5Z z!7?*`#CC}%b*5-9{dX}^(N0^k9`xRJ%${pNHjyIzkk~oWf)jb&hrXxAo}~A8Z!ZtAOv-`0KSL#|vuX2Pzno$*`R1EzbHcJ-%s*&7c0#3qKmV;_40 zk3bqA7~-lI2tGhLG{h-{_OSmUIP8m6@VEm_Mm|2t7V5Xz-w{Y7s;9AM(Jl>pB!2$Z^!T2u! zbwm&u%+QpsPN#Zu6YB0jTz$ux!x#h0w&T|>^_II_Y*tE{>`zs zD!;iy>l2~^(&<5>z|SCVX31Uhs=QjS)-4@_##`s<61B2WN@#ylU4PVc{Y<=$RVC8F z>ZaZepm}kqJ3AKws*vnGswrDhZ!XGaUn)OBX~Pyd5WM1~5j5e_O+&KERr}&mvulj- zd-&(+07f5Obmo|`>|dWw{+x-+;e^?7W>{47M*J~@R@ZmCNkL%2;Bw9->^vL99L)sC z8Yxz7a-KsOzD^zw8`lDREK9ezdV@XDPMlM?m(cT+Asd?y-|D|9?R}JM@16(upYsyt z4!#^`o7pN}VvoJP;L+rdEFm`m*lT zrTYUn^ErWK)udm2tvX8|=Mu{mbt5vGjU_!4?m`ucb`s_alqLBEb>c9uH*%*0apAHn zTAUF_Z|2kv%6D$)g_Sa#V^}V-_)(+~EiAXt72mA|9vQsxc8CeGw+rr@YS?HGu+4#? z97nnXo8=3L^j4wA+qE%DBBOnqBWyJmo>A>S#k6yIKd@STS$H5w1m7wW6XCRs_a)#J zv;{wWWy^z*K1}$?UZzUqV^(=Jgd**uGYtl?pXKv!sSO73c_k`bsOBiIK!eJ+#B&-u zYjo?u&trsDL^S5WHkz9jAIjSfVHU!qa1q^~AlfuA)wIa|JRa7m?$rqI(mewVcZr&V zj?L>raggU{SZfzKieW|v(!kFF<^Z;w(!t+ovz8kAsSwztXyk;b0?CLhU)`Pd;XF@a zNqt;OUrM~8P7jVwB2=k>Dl|O>6Z9%xD&tlq6rLH@!m>|Gy@2e+VDe{jrntBgSx~-T zM{)HHDzAM#UPzWdd-m(A-Yu`bHiO63bo|y`@8XEwN=iC9&8JX*%1_Dc-ihcF#?<+$ z1T|O4a#J%9F+Om|iW$xCRpIw>up)I{B$39=A0))NqGn>AXa9rMmZ&ai&0 z?7ZjSPJmz(EeBju7YGNMn|0__=n)(PtrKzHn)}-qVw++)a^2_*q1KiqE9jHZu9F@f zSNWpI++Xjj4oatSwx2=sv>&v^>M1#X1=-~(IW=~lQ`J{d?h{1KzA){L`Tl-njZ9cf zjhng>Atk%hEfJ1ZEs8!pQ83Az8!Ow3S1T;2_j`5t$q(iPw;RZV{IN&p;6rxe7J-t_ z<7gHb5VXm*)V)CQC}b47jTzgb5_kh00qUN~@Vf8#9M!-Nsd5cbOzPuHsyM^=z7D^4 znfpULq^u3&`8hY1c@tu`?2%`QJr_~^PZ?SXDb7(XJTslN1z+JUjV3&na=9OFSF!St zXh_zMt84t>O@AnrqG#0{mIV*myyl{A6iOB}bY62EJGPeK^#q;eeO(rFQ(_wuPzG7i zQ7UfF(^KPf!su9WsRy~3#uGli5mnH3gCW6@HQKxPi>0oxpP@vnUk%plVKeB_TMIO9 zG%qQ1kA~CHO4of}nUP?6ap`#ceKX~OU>62qf!uB(n%8BNf4yvzefq<;(hx*}c`ZMg zhxQoPUf(8D%F8^2Dk&Bo7h*8O<%GE6F0v9&b+UXdg~vE>< zrbspMm=ck238{1?Nx^UntzwXOZ@4095{*H#XRHpR>JINpu%OUd%Ny>35;Ro?m;f~X z7t-)aW!-5~)EswSuy~72ffs}c{Wose=}A$PaR4iSVt!=Zw@lVz_ZDOZIbizT4-y#eXW8RIG$LR^p% zpCcVK(cAzDI7HLm;>3b#0jqxUp?pZDqE7B>DgNcVEbi5p%AhDM;4MWBI^?!c?e$7@ zp(Z^_zf8GCFVIU+cLw$Mo8(X-wr7u$J$>mSQr0KrV`o3PMRqYtj89JNg7W|VVWWDX zqq=TA2{))KiF)o1x@8x5%6t<+0nqT^%L%o)urkM55P)1c;3l?rI$X}Yt6UbrCT|Ek zq&58-j}ktf7DNi@u1q$9>RUR`YW?8i3Wx;9JNV69Mw!N1L0i#=(=3DM?XB`qlrR2; zw72ZhAJUIwh{}ZX62a7>34V-_E~&%SclYf4yv*9gxii_LI#Qj`a;Y|5JQI!W>(|bF zplCKyi30*`0W)g+w=p7Mr$S6yt zomey#RW-!3Ou}V|a^n78X^du#Z=ooRK@-Ktt?}e8BuZI8BJQ_MJEEeme;Qap0&^HO)5Y0a6comqaos|ASA%f_M{rK~)WRxR;vIuJ$V5_+HOStWOX2faZq zDe=y%e{8Gvm^MBIX#x90uwb{^#W8i5&SqCT6XcqPcfyc=rG!)bz$SC@90*VaCEssg z1fs}VmQT45(>E0zsSaiE^M^VkHo!;8%d%px<@I0vGmsD`}#$y0NU@gSMQ5XR?pxv+sZ*uB}L{tE{6IX z(bax^w`BKq~Y~T!o4OE0Wo|5iiSjWioB&0G!E{U#|7Ik)f;VS-JjY1V8#arhXf_P3HwBsN)? z-G`F3td6C&iRk>*bQ^_za~un+EnQC#`s535hLS5gspXXp8lAnK z%lC9{nm+T%Xa1bO)aMGDqvJbfX>Jezrzuztgz+nfUI(_$fWgn18m6vYGI&t!cZr41 z+vF|QPG zwxyGs3Ch!OJ3|ckWY0t4rsC!@oAlVvTSAaf`rj$dIyUTLQY7I7b#;39%j0y}nZuy# z+EpI*p%Y+cM(()Xi$7K=TWO`aVx#|tiuO@C40SobwR(N%Ovf3Pj00V#@cQg;)q%H+ z)A*8-(Op!Faju*oiV z1-ij?*`NqEj*P~#`>eDd0i-~&k%vjKkxiesLUjpb?=c=7!LVDCCoBz?-Q-j1!sR>{HY1DZ+lM3d@;IaR1=BW8?Nr6+e=r)J4K_oEzy%vDN z%`wuLC*i};avm&qloe-h<8svgbsZ>vrs%T?5?4V#sJ6aJdyw4&_T zhfVP+mFSPY*7{W1%LXNu{~f&w+^n`VqF}+rw#E>EV#6_UPOor>CS2~S*;sAXb{fzo z6izP^6S;BSN9aW+`JA)@3Uuwz4=a*d6bzhNL)KTY0Z`(*Ovs4h9Tc^^`~oiOMWU3A zaUh+h4t74W)9atVJexMlDBG3X@FzLvu7aPY-i+vsYnSge=YRh`8e(lQZ+kq4`&v%d zq<`VC`MK`<)Ae2H$YE{M%kpO4uDd=5Jc##3Tg3BOwJrB1ga3#4sarJM*=7RiOt`sr za6YXQ>31AC?gyOzy<-X70EEk=0I$$kiDIk=1*yQo)7nN9PF__Bg%*IFOkx}XMcf)p z2@qWh`3DDuei$#Qvz<>?Jk0%rPZEr(l)uqKMCw}BnCLwPCx%8YY(?lXc&Z>+>mD7^FvF4MOo*WtZ;XOb z06`pzuWA=J9no-rF8f_-x=*^n(!tU0CWh|M1D4pOHq1S74fE{gM)fD> z%0dHzxO8YUr7_JspyI{6I%%s!Zz`c{dCB+QuhZ7jb`Hlpf>{hYLnqIdnNNg%#Ra>N z`UQla318mS@r6pvp1R#6E}#q0U=s&a`k2ql&*lpca{50h>dzdhqSj%h$ZzmeI~sO=lNT=2HVkN zL+CwWIl!hcxn;%=db5mT$HJTTm9ud92~n<{?LpbSf6aOalgfSWSYZi%ou%}R z)NA7H8NV%KX3Hyh{E67-iD?RNZhWV|I5)myh1>trV#%ETBcZ|khpN+>5>UNl;*zA$Ir-LLzVFS~#i;9meX4e&#`9YyAN05O`t3>(ykGG!~c?*29c@@K>dnwFeGu%;$}; zD1Np4KKrcTZbemN$V%{CRD(<}S{K7gp;9LC~ji;|n8up;TNC z@T5KG7bo%6i7pZLVJi79RS4#Z7Do)f24cy3y36?UbFy|Li}k6 z;>H{gG`~NhHFBeS?hvzUk3Hr2(=xKr^i$vqMQ|47L<%!~udoxR>CPWWFN1lRNXUff zZ`Yc-6qsNJ1|Iz$if!#gF7qipNBkIPVQgNMUr;V9-MC}oZST^pV_?g=%bK1G-qH9{ z0Tz0UMk1QeuQ6j;>B%J)A(8lb@@TT6Kqb*fi#{c1!4#ESB(})~Hu!~CxzTV0J4~bp zllZW%pw{d0r65H!0T+aT_r*AuHH@bbW1f;SGe=Tb-gjY zJ@$q*DZgvJm(k++q#f;Yd(0^Fg9rB4lQUS(u=CDqy6^j}F0fBflCtQf4!)qpVO6>o zwrg$d0eTFee`M6CR`d7o%x6g#=Lg)S+oJRelkWOif4kOGWWWI=y?mS({4gj3&B{qC zS!M=XLoY%e1fSd72hy5~`-|%cOb@Z=$z2hz2DY;K&LDFc%c0{inNHvknQ6G~^gMpc z9Kv>d(>>)7r3N`8i{fTsbx9oY5TEANY_^eU(>8 z7ac3N{0^v{LuJN`SYb{=k<@&fDq~`Q3GoV&XCH2$nk5aIl?b>&^!$Wp0a6SBC8Bh^ zZs1`!50qC*Z{$4B8aNKnO`^Lq&Pp}TFak-on*_w9mTL(>OV+51cB7VcXLV9IENQ@8 zliV^@SOs4o=I`)KUDz-|*Uz*C9=o0kv9HpkB_N5IDdtm^4%JtOu~n)4zDe$h%f#!+ zAih9aLgql%O5z;aQ1TG;EPiWuORm;E1@-Be3c2Rdwx>u{sfHlGj1#{~czMZrWHnn> zpDW~`Zveqbv7?mMv{JJ#u-0vZB}(qRv3C+Outk#=Qw~Zwl3gt*dsfPg2wJc1+yOq- zdu@FS4t>Rdqnu*3G!#vR0@F~L=5$Va3U|sOpUkx&c7TOKA)UhUZnV~w@lbZRYrRKG zZOnKDS=m3u@tr-u%OKdKEW3dFcs#Mb<6Sv1&&tR-%P2)-ud*<{iI1w|uVM!6oi;^UQbwjNh)1vEpqS-JG&$cHOPg2Clj zh2*sscap|aSt-}@6F=Ypk;caEm3@J)uPQxyiP8&&-06#&1_Y~YAy45orQKoQNolOl z0&o6F_UepP(i*i`x%^9R6lu#4Aqb-i40MFJW-BBYFz+1#7f&nj3@@q4*qz|~iWem{ ztd0|Nz$GKB(eV9k+dpgqd6hlmyz41X)FbkzD_I}QAC>P;-ur@w#dNA>=w&>TSiEg zLoI9~doC$XTU*rSRgIQ!$pn-09wlk!M3MR-8BjMfQ=$?V+xn$Cb;2vjOUOU@2>d(7 z_u~O=DZv&cngT*c!l_o>T5*I4tU~BP{)QefBqVNIa-HR!ftIV`zpt)^KR)%OqdoNc zToDxXkgkx~_X9#}$5=d;^EQv}m}&1r^Cy4^Wtj`xeeII9o6| zrPPoVgZ%}`hpUZ-&b}fnrLBB|JHhm1uM(Og6j_pagwy$0Mo=O1o*K7yUw2eWFOTsg zym3{n$!w+8)*;6Z`w}Zi0nF7;smEom8urg~P{)qL;Zm<>fBckZ*vwPp_D1J>>sih3 z@3)q7?LkpkL&6^MdIHY^%5B6A`R_?~tcE*to#~&g-EHGF;^qhfTC z&p@nOD6q4TO_o&6;E`$B@?|uflw}Gedcsr~CmgB(FbI8+ za}x!e#BgWyTB8 zZWb^XPU;U>{ogi_AL4K~WPi0G8$86^U}i~3gZ79gJgj~p(4&;PJL|#A4fyOc7r8$s zIy5}%%@`|~J4YlGnlivouRafT%NG%8m24kzPr2r!o-L9Ba^l-9Twa#L`c;sBTU)FR zk@70rQG~^=ZkTN(kZhpzjRBPP9ee5 zk{h?tvRAMzeB+enf8z>u9sz})?G|Y>oz~>aC*r43-oTUB5vUw*911?57%LBJw6Z=- z`kiuZQsH=)1ZV((6Nwhi#!azBVN^?XpSzba^STi1JG80aAQh2^%e^XQ-FsBnyX6jv z(P{-++HYo5wDRGtDz$T9w1k$*6HQFphHR&TX9ab6z3!3sT?5ywcaa2IALk~!wL~r7 zc~nNbx~TfI=JyJn;-mm%| zC7oj!gW6ukqR#q^{w^0J^GvHgsERYn{S&I_RHzz-6P*$`2A?26CO~NV#T=epE>&Tk zGFL2ttGAe%RgWVTI?6*ca1HJ1+!4^o_C#t>uuw1hAf<%`nxQuGs?7h#PBi4Il}N4v zP>>~)O#G$bcS>!cxE;I3AOpp?)7BQ#IS(VNg1H~K zU;jP!1%WWwZmS4hqOu5hifU>l@GN@+kL+o2suf+_tuV^ZpLzzB6Ff7Wp@$VbO zpl?ngvaLIL6rpWr0r|P$`}{1F^*KNJN+K4vn@R5!?5qP ztF7q<{so)r%tq$3;q)oew_=u0RuzU%1>}A?V20|%jYsgv?5yhgo3FY<$i=UMs>pih zi~Nkw^}Z8H&5w75z89bjhBvk{Pw5R#Qx+{PJ+NFi8PW~x^1C6#8h0mPIXOn6<2nQ8 zG8X}ndMO5Uk{)BA2?hmLj!k@MGqM9nUaUvk|@Cfh0}o9&FVEmiI3h!n}CG z6WqN|G~A}ZBa2NpqKsa#ezXjs%xx~1bD`Hmv84R(;hWT59|uX238p(R_vnd(aaTGP z+Me$+;q8M30$*wJytMs5@n~;Hnkvkb1Z5R`=1`&eIjZ?4H|}L4T6pH?03`Q(;Aoik zLyBP)@BXz#1`p7uEqaskWcP@KaThHnn^ss8d+GkQzR2zmuq4-yHuaz@_?O#iBm>!B zmZ#Lh_Bx~@nbH@fs6w;JS`0oG0x8$}$=+hIHg+^3>WuLEU1obFFZ^ci_7@u%C`s%%_8 zW05a6qIdB-n3Y`Bc9mq;1ZUuWk_-xDY&=106N*-eu`qOgYWsff8t)pZRl$2UA-$ZLINT2qPexv^C(Di-;mP-sZR?;%^?6;o! zmpcL_#fNt+@~yl}^_^IX41PW~2F)!gsoL81R&MLMjh0MFR4LX(y@jn>8H#VztZ_LX z>3W}Kj;l)3b&$-ZR4PtzBo7{)y`9#nDsGXtu3I9b&pZZsP^#v^GQ^o_8<5UrIikn3 zI;N>k%-B6WuoKjk3B#xGYazl?4nY$}h!%5pbL`yW;Lv_n~yJLu7Xp* z!&|d*H$8xKdGmu(`^dB$+RqPSJt6H<8vk~)Za7Wjr6LnX)e6TAZ6G5J?#$PVhEf?W zKUIzdD=jDYqM=f$S>iU^?ou>sSeLM84+Jhh5l%9^gdzC)l&!}Gib|$z6%GaJ$p~B0 zb_KO=w#hFG2V1mJh=Y447?uk=Np!HAt+9tCl>}hYyF!+y`#p!MN~Nw9GJ39G%R8{` zD~0=qMJ!-W_i^MGMV+~rIZkIlZX26u4kuFbiTUP6CU-|t;JKvj9H(31l5oMFa(cWb zH?ik4)ci->%BB?gK^ePj5if#7J#Qj%LLA^^G4{O~%a6a**dy9pO3WinVf83VGf(zK zqswV`YWAl-j~>q@WfV)bxLf-%zn&va?%fx*Iw)9ri{_{n7;3f3J5WQ9UzjwVtQX-! zymM4=YUpQmUaw<9+-jNWLt9}O)Ol>EW>Lk#Q1wxv@8q1XK#uj)bcnh*%myv1G!8eA zJPvI#XH75`BGf057>-C%cntHI8J)|{G&tD^ovjx^36}=%wYRO9`ipCw_`@=7IA-zw z%1>a1;#t^CEWTgpAdf&qEDrPi@VtW{{TxLHiHTPurw1EvMV#eVeWb!T=cU!Oo#%hT zb!cvvs=mtJL#DXAZF#}*Zs~w7y#bJ{&i-}Iw7>_PD3bEj(gd$ER;QKOEN@V3P&ZyZ&{koV8P97@5&u@_M)roh5~^g!=m zEmbLm&J4AAm8w;iWz@&b^4pgdD9eWH;w)KXlpb!eKeQJ!Jz=Vnw^{7eW$R?8rdGBi>+Hb0^I* z3E_nM*H-QNq7vDcArwjuAdZfmX5onqT21$NUGhVg_Pf9n3j_mIyzYqtYqYq{ks6aT zAYtQKjk0x!njt%^A&90eBHe4%cU^15t|d!a_-5rLg{mVQ{jD@k-WpKv#2o$t{rKjy za4Jti)**xw22GTfjOwKfy=di-ineiQ);VqklvQ`&Vft$4M;m6FS=#PRUprPMFP@g= z8$UG50^OO4$uTUQO6ECm1!=Vdq+WYj?#MHPHK)n8<{o0phaA(^3%w1Q4S@{&) zeza~y!@i8vQ(lEXyYav#@N?4a>@A1H^zFV9Lv2m-Xms>eH^eTO5_`9wE!&?w*iFR* z(q&>?6MKBdLtdb{Sm4kOAcoq#2*=Z~M(M~=K-w`+ z{?@f1`eMO$U?CE1D8E_MtL}N!q`JVdnej%2xM(N!?wI;oUt$Ebxc_@`W5ZAQ_f~*v z)Cs|WpMA4r;nT+fSseVkKl!!qf+%a*@;y}lg+ki-9O5FYDb*PZxtCFTcUw0^>2#aO z?OfLJw|29>i1bq+RNp(Ycu(#8ZQ>-GzD_(u!VLvY^3BM{ zbUQ!B**?ta9h_TEU%aB^gwp>A+N7)eNNGCqd4QaAjZKjWJl>6WrLP))7t2Q(?fQ6Y z^@G=i5NnD(s8A};bTl&^P_P(slw22~l6yh#h`*tN6_L5hwxlRD#s_$kI{D5j670lDx;)Hxr^2dglt7nTLk%E2 zbdwd6AaKWg8W7}O(EZEjlS6FX;2u2Jf}*RBPXkj&wi~%e54!%nHs{W-agne;V9~w< zH&tN(g={d{o;23H&o9dtKcPrD-mHh(GWuUgyXV+k!na@awQbvaYTLGL+qT_RyQ_9r zZDZB#s%_iG>HfXvP2QdCll{j@CX@S~OrCp^nM|HcuIu~pRjPV|!jOD<0?+*flA*#b z?XO>12!1@^6JH!0UKStoiwI^l1`uSBb82qwKI(!jnabRPZ;bDzx2Y@P75h$xMiXOy z9eZGI>+iYes_u7!;y9lLh+9Lr{UfdAo%MMssjKtkco04yiNm1LSpZ^$E{yhJlbvl{ zIc+EQhW;E}rl|ybzTu=EUonj6tmSS3hs*TH@_*ngKJm!o`|YT%0`M6Vf`%uBqC606 zP`d1Z_UgA(N-SX+pnGPMy=Rn;xV2(45bKiuv=oDpnJnQ-M=Dfp_sVa5Pt)7rQ?zgF zqaHRe30ZA5R+f_iY6S{@_U_9aj`YX^Xk4f_ANlwS{l#M*S=CXm3xdalnW-2=IYD2M_{aEwsYcWN=BBH%H>>?|q#d&b{mE2hGz5>)^fIMTQ>PUlNz{ z`<)IV8;2zB3UqY3(xIC>?5lAAO=RRl*CPQ{LvK8b;2mUO6Nb=9W!gH4 zs2PoyNd+^DV2eP*vU8rVsG{{Wlgq^mwXIdzlM+Omi}U^P?`UFfpx0N`>%piNJK^At zp-8i(6y@q+W}5y3IOjD1n0BPvtz167I|@_cxgO~K0AtR^02iP6B**06l#BWHE$0VQ z3UA>j_h5v=53}?-Dvj^t_jz^i5OQ$s?Me`i%>teHGT~+&YZ7US5{kUB%;S=2OqkdcK=8YQ} z#(R)%zveps&mw^U1Y@x4V4V9ZmvAR*9aUBJ5@)ADcer8^L$h=!eI7D1iNEnO9&ReJ zAsokZLIB}w5;;B86<*=|JqxvvLvmNaJ1~1Mlce$1(cJ!ui+uYQZ%W(j;JS5(_E6dg zcdD+I%ibbQtZV6@m&|169+TeoKZUwQEB^+jo};2;nj8NXK`Xt3c~^dTHnOL{>}|oZ zG_IE*28dwQZj)R)jwVm^)y9u{7Gwn#IWv}~xa*DdeP+8OA3XYcWbK$`%a|@{or88} zD64L|(O>pBYz=%DN+c816FB|0v}(ZCJ5Qks7 z4v8J4Y=XL^nKm-$3>=AkZkShACCBR8?kJ3hz>(e3=pK(zEp6~HuG*A#YPxLbMVOI| zA`2w6Uw>MSzbIU{*1b*|X-AixmI%{d*#A^oLlM$gk%jz32KFkGs~j}KH|>mb*%qba zHN{`Pj2I%y^GFzA{Z2sGWg2GfJ&T|~Nm8ZD<55Yskhs84m@9XB9YR5VNKSST4ykq~ zrZFZ@&CTd?@kc(Y(q^e@UNgpK7EtyFqxZ+x&zmK{nFl2$tBiRoSJR&o?p8Nc$yNYv zl>s&ol}_wgwCZY>c3{%=r1c^$UhKFrg zdklJv*(~hO>JU0wOq}Gh;&?w0nz8`}M--2OE<8yT$yqOObK*#N{FA6Sw$a@Pc^6Ak z6jAb*SYHy5!Mq3r4li(;`N7}@1|7$G^vW^5j5&9n>}TYHDtpof#t=&-a^~rg4P7b~ z1@80;>;aT*qjf9xip3{x0QQy=ul|LC`&gD>vn(Z7XIFGKVSzb*XO@Rp=U5x+91I)t zi+}nEU6}F`ZY7JDb4s?PgjX!aNkV=<>}0=qj1x+n)6o>tBWvm?H#E@suyB3Q5uaKC zj^m$o@@ZyguW%iO;mw$3zfoZvm?Im`8p%r2mLpsZS+Ztj2hL{`B{f`9rv|K@P zPES}jBY9p9Ndn#^QgF|AtpC^U4&QC4n$+pAGPDUt(WE}5zQH_@UEl%KcDAkN3Z3uE zQn;F1>i+L3#e4mKc*$dQ8gxfni$|*$fZzRt_D{u zW>D;po3CU4d@8J8C@?j!GdJ43AkZdR5hhE1MV-GSyaE!k7t!bc@?eeWM{WJw5j~l6~dUv&>@o~f_I$)o2D3lxEeqo zOauZmJ2&#n>?1lMY?JKr#?GMWIf3b7H{>X4u89s@LQcVEb?e&ZvO7h=I$ z?vMwhH3NmNlPbRBo%z1j9h5#-_{W7KAikY--l}0}Q6a-~>SU5*KJSR4F151Sqrr?d z7JwT7IS_%lly~O#%Sahz2JTHciU3ja_s_tn z@Q_~qW86SjKO9Ro&oLs2(b7p>Dg1u$27Rc=h4oKygE)~J#uQ@IbkV@!f+=EuicOwq zmWN+iC9Pk%#q45;I4t~*w#p{CJd3$D9#$%tMOu0|X(pdlotxrmixg2P@{ znWe=fT8-Ldpc4p z{Md`Xw3cQ&%D^9b!e=j|&2=0(97WjH&L~nAq#HLXP9ySnbsTm_jiFz)ZVZnS+0Y zYBDWvQ+Vq$PVR)t-b@AR%`%zlX^q=Dy|=3vtGnz4T?vPy7GeCJS z;zG9bbHt6nRL*V&QeiNFx<$7$V*hBZ?~IXR6Z?Zhw72*wUnk_weBC01o-gWG)ckTU z^MP}hrLoyT4L2SGB~1_LrUd#pdt2wG;RGMUbBv^$x4e$B-soYbJ*`BeC<6aABO=+Z z>m#rC{nK}RJS6^J)srB?Di|S#$@!YfeXs%F?0TVCZI`}-=;k=XBlW&;qcr1=GoXXdAs0^kXL3wE8_ui!cTb zQDR<_BGFG^#jLo!tg>RI-xis>3%!Cf)bnPq6e&I~C`<`fs0YIt5PR)gxt#}hv7MvcQ#$kzMN^!wX ztNs7>e+ms7{wm|CNDX2XbT19_4OO8VdPvdixl2ViZ|UMobMWB9-Q)jW60_fIJP!WX z2^8q>Ny61{6M+T;b0kzpK!xR1ZQ@Iyo5FAU9*sbMX5)?+=2`4ExOS|n%KRwx@4)vK z#U^fDAxH=(6Z`2xn^Pk@SDFqlYuK;EMFEG|qW#(n@P@gPck=M-IKp>3c4f?dT}sXC z!He9VR-L{O&Xm`XE+4faCgto0^dl=IKn;<)$_V8&c{>xL z#0)A@fBwUb?lPmRWfE* zQZUULQHl)EWsnbTJ9YuZApW)+9K{|;u7z-s4W0OXXyN#PQy~%URjplvcb9X>>4;NlgeZ7CFKwmY4E1Fy?v*eMZ7UpRVof&v zVQE9rI4&yDLBe2Ymhdj>G|Q)P1m_338|yQ}$8EQM7q4#z(nlWxQLe{zsv3tPv=}#N zT`MH@pi_8`v5{?JF-im+G)=BN3{SGQdzy zDt$xF^Y8G~9(}($2z-S89c1d3O%tI+LjEUu^`K@HBAWAI5P`tiF7Hn28G0MtMA$gz zQ5NN{^XpZ4E%c{uag@Tntl=-w@r!~w3YmYw(0%7+eqqiB49$vVr7&G1jdZ0HOkv>y zn1eH7Xpfj4C!x6SV{7bP@Y8;vZrR=~X{LIH@qopJ|L~|ng{KB6lO|p^eJBAL6_Gm|eb66V9@t0F*<2 z_3=LXt~=rbOS@}1&2G2ud{>f7W?%eB*_lEP##lKTdU>s1vQ?hIBzEum8icv^T10+E zz>Cz!%8fT#&6lCY1WK-OkDQH4uq{GvaiZpKEcX3t?y&wKNV1j&A}f0A{Uxe);9crE z=0<3Am-90(gKhMc;x2njY~BNOHbJ0$;#D3%$+LvaV(g5pNEZ{`X?aZ zrsNKnN4T-=oYK zav$ml9x~x_KM-eH@A@%rlF#^(C5vdk{$-a%lbDBzg=H6p7pS#-$=S+Bk5T&1=iRMi ziehlQr}NQniJ-*R6KOt?wKwaBO)G#Z}@fEF<{D8#T0v*w;=W!2W}I4ND!kz zMFmBX>UjQS@l}4}oyNt(V>tm+5(aYTMhBpD?^s&;eC4Xvm{NxPj+}?XWcPOABb*Tj zT@=!?W}6L-b*ZZ({DRH%$B(S%M0BxVWgE?SHkG1n#$^o8hgpB%*@=|P3>D3{If*`O zlTlL_vkdV6SiJE7KzijO{ZH(9UOPDMCeN=92qM474 zTSD;Z82p$J%J-A;bivz#wMLrJc-vpOOxwhS&r>-nD5*7fe=xzNYOJ*dai3)DQ}ZIIyxWIw-l zqtq{AHw-h2{I*3T-Gx<40ZwDOd6P+1qH+ZJjmHOlQe%xVV&6p$@rtQzhcHXk)cFBY z7q{OC>n@5(jF&Q1wg<~EJE+`o2}>fh8e!%QA%&1s_5n^`AoxkSp(97W6{TpwAgDs} z?{UnhMqO?|e%HD6kd>r?pifpw^lrmi76m6pwL5OT85JeVN9C6QfV6Hg9y<*c5j&xD zuRs4B1-O*ojvL?n=^LKS?Jve*DEwfTZ&bDgKBu_aua~5T3if+_9-zsT8D(SMbass+ z@#WWH`@6tPeh+3te#n0dgRl0ajR`O%vtom_%@6qYd&4y%*A6vC&-$2ii?4w1Yp5oe(k4Ta57S ze~1RY4o2*IIwJ}l)AIJjXeUg|d3ONxhc z-VlmK#ax3{Y#H&${dC+k0DDf9Qh7fRJo_cSw&KFAb47k!>TR*!9HDr8!YJ&mQ zAjYzIFUBj=k>=q!0y|0dTIhit$8_}Ui}nsQszj3{md08O-gcYSAL;kanwc6h!nk)% z&1Dn-(mqkQ{Dace4Rwe>EyFbnlLEnz=dxm`{s*r@UxNS%w?Ol3)-QNGGBxI;RqA8x zCr*nK8`fmObA9#SYtb*O&x0(`6v__X1upOuA&sdYb!&eDHx7Y;ucg(z_(6$!LJnzY z&=)6M4eg2W!zwYpXPMWY*PE*RU}!`KJnP6_Ea>w(3z6(&RrStsTJIU~Y$Y%#*);D$nQ**}fhAd@v zT_M67W2XcxG9fDTK-hpwRWG_Ta{@a25mJ?E$6@vS1KOTpe!snDB; zLtJSWEE9Kkudls9}%LTh*!y^L;>lQ%%Z+VF*OAFu1|u zD8*V0mDSDDC2%Xacv-`z*|Bo)li~bFHenWz-kZl30keF~txoim>Txyo!!iW<(oPmY zPL^LZhct;|D^*s#dAmmwi+r}{&`e)T7CU>_iH_7hv)|;6s{A(8UTybWKM&RWjko|4Y)uU*kc-*Q3a#-?`0TAX; ze6}PnT+t>1G=4qJ#el7qx|r>FhVkCG#m@(n4>pOB+#uvB(CB@9jZO#$`+9-GooYd) zyb;OP!%pqi2&&f!UbmqNgBYtHw5gW1x()KR)f;GY*ZsPwzbRcGmW*@iB`7@o)}2h> zQe&Y;z0~b5{RDbXC()cy@Shj7z_c{Xwh!u;uvtDpM(M*BXkg^i-`z4FP7G#7Gn7|@ zbV<;ssogqBE(PJn-x~|UeiJCoM#_Tyu^O?l0@Xb(L;MW%?}05#Oy16-4=EM2e=p+{ z8)m3IMAWjh0KK|W+>9#xF4!`JK_7vOa+Odzo)(VO4*@`)nZI?Ht_HMqaTc*YS zY4g3Ip&uozKC`;{tw?~Ek8p=j)+&%mo}E$O`4$mYL4#k71LP)(P{UHNVDzVnGK{wx zvVX^uCttvM9?nrseKs&}*q8bvWP1zLFK!Ql<1r4T)EN`WH3QZvqAeSt0{zPAaC4#01+Jwc zrWA$iae)_Wr!UXh#G=?b3)itLcR0`ztF=!-rVe z;rD9NA`Z+&Y%fc@tU@%lqZl71ycVQ4eq@3vV_rSQIlwXFsnjk~AYM3lVK&_?Z#a2W zdc$)D|Dxdu+V}g&c*%?$dfcDkEdh1F)9e0EqS^Qt3d}^wC&qo~AK+S}w?{oL$ye&H zTRY~qWGHUmc*ySm1jyEd4cI19vUQtDZ3ebMq z%|03M8RsoT`aOfO3d;H$i;v$63e_0;w$UQH?YAC#fG~8vH;a(U(cB3fw0vGT9zH#1 z85KJI7^ro&aEW=>xnH-ZR3cBm+bVJ2wv-XY+tIbB7$}D-CvnU65mshMa69Y~>Cop? zq}SGjnY2!wod#u)`0)|fOBp)G1vlj1v@D1^l(R_F^ItH6gUl4m^jrgUdGLOhMi;R+ z&E@Wu^oDoqd2up}^2!^mL=aVVO0aa=z&!H`K7)bQ8dMRy7=D3;!R%yl86ICu{XMD3 zlPp2i7AGsz0IuL0PnOBVP-t_)Ofm8Nmek|=T|#R=MfuA(?KFlX$RY?zmlqz$mPoCe z0!=(TuCQDVhZvu`g;^H=bGgOJ!cVjJyYxMwyVWv4PYKCaZhuSz#_qGz^qH{>;NPuE z|Mp1+hC3}8RdGRRtek{w>qQY6eja6pI#q?Xb850dDRT+K^maOuCgCCLKs7ztSkV;` zr*2fg&0JacP4E^aIhD3FkB6jlUq94qE1UhsHeWBHCa8BJHH|Pa-%nXY0F`CMlhQjh zQ1iJh#VHQB4CYGO6dFt_7%tA2yM#u6t$zhwy*I^|)jKUIquC>{a-9d>!0bbeq7h)J z1&TgF8iyY{(=dhOF>>e_dF~rfYr}|Vj@H2XdC7WvLVreGPzQP7(doE>t%}}a)Wm$< zk>D9^JGXjqvLyLSvrR)(LDkTsajjOMLH$&FIsH47$k3FKOTQgN$j(oPIH-PD#zM;3 zOOCKZ!S!NGat?C(1_}spLhxx8)1>zYZyhjp69!jd>MII|;R7qM)?AjoKU^!PFWz28 z45ix|XS&zz;jyM2Tx3CU^{2{}5H5kIQL^o{-!tO$ z?$?iZp`6-UFK_YolINYu;EUa`8fG0a{+tw%T1ivICB9>hPv(ykm56%Ho|*G_YeD>L zoD+`bQ0Cm}S2wp?;gcf@Lwlm8F7`U~GHQ;m?-~C!4lfe?7&ti~1d_8qEMorEJ}!nI zuxKz~ZFa60jzNlM0)_%`B$6?!E9WYls54HmA|80z0hWjT$ z0Ba78?q+Ru&SsGmj63gK3WF(i$XR#3*bULM4Zc0VPQ#0$IabgxZRsatD5%ShjrU15 zjJiH};p#_UXZDz56&AM|*N6=ci-36q>-U#T(V5cxEdnPic{bUg&Pr#qyMlo7Aa?|y+(YE%)a1| z)$hrTnvTB?JIC;Js=U39SZz1zh}0x--He(Y7{>9|VG7m@VgHD2Mva&)5^a{Q68BZK zlL`1|qg#Nm%}*2ztM-+Y{21qrBRJv#tSuM%)Ed2*v(c&l8JXiKUsYb9_ENZ?p|dj_ zSPDGd8jhG6;n*x@G?}FAnb!&5%2yRixq{Qvs9PwdlBxk7M2xUB_}>(#}<^S0f`Y- zqCryl3@Vj;dP-4m@P=zKtjk64*DRWq9L_J!Bz0MVZG~;Zx$l)nLwMTh!Jq%B_}Jm^ zqcXoT-5(O31bllya7=$-@4uyoEGC14>=g)h2V7o@Bn=mZf(hKr0BwVQMfbuHJ0ZY5(_Z*GYpaD_+-ukxvMV z;K+cY7*$_4uRbOU4bW~LBjL-HEc>dJRU14DhsG-nLFe_x`ucDf_>clLh59rzR9YM~ z0M_o}{N&w@iVaOUH{YU5l0HvS>~YpndEGLLN%68B)%^t)!*voEbZa$QK5O6e%>JBh zZ9v=gq&#_+N8Qto7@^~CV|_d3SO#@m?sSCIo_9$39@u|Ynt%uHp6$T`sN*1I{$>j2 zI@_UKLtZU`Nveo4ZpL#t3Rhz_#ZHF&O}3KK4(qt!W`$t)P83f$^htz}5Ytr1jVS@= zl!jbBs#Kp610*%BoC=7-%UXOn^vYKv8_xG+MV9%Ya}0kE>Fiq}(j8S^NAGjxIQ6*J zX~O=;!Gqh8PM+X|x>)xd>5x+W@C}|pWAO;v8a@oeUO~mpEN5#Z85|Z0iL0#5h0X+2 zzUZZz#7DUscW1CR{$)LLj~?Acu~x zB~X5t4p5=+MV8OodD-&n&*gWlml)Cl!xS^@lR#V0J{Jh0*5zlNFCNGM8P0-K; zo`Twh>Eea+l*t^ort~cpYL`4>PN@Pq(4&*=b#U+5mFAcQ1xu~CvO7fmJdQnnj$2QG z#++N5ZJrg9aHErSHOi`t7PP?jUso}t&L4c>0)Qv&uKM(zx~3z9<+(iIu+Lc&-hjQxHSjZN9p9#9I3?9w&47crbJh&tso zlZ>*WZ7?oali<+11Xa4Bc1Y>~aqvS5{Q zE;2|?0&q8Zukty>N>(%Klt``2%wzn-Rk^)FHF9P0)rXIjJurklA?bq3YfF+qp)YAs zlD_$(_!1!86T~~2de7jNFcm~V6`c}=6)l;#7pMK z-QzKD*_Nsm>T!l%zB0zLwOB8i`(fzz6Y?c6bd2c&&l&~6l~63y7c`kDY?))>g@q^R z)Wc%#$Ehxex$WZ|I#X!4`Ox)_JgzqTjg`;0RgLvjgVTRWA0VHvn*CE==T#Uwuuo*j zn1J8)SkXyaRip|hqE$>5=|*0;@QX~o#f`hc&~81z)#$<-nhg$G)F*6In!1m}wP4C5z2)g1!Sg0{<(x^vuZ*NftiY z(t);vzHW8U_t{ufYwx5HziwhmdEM4t^lM7sdKyFZ)H2l)32Cb-Ra$5x? zaR@M))`+_o7;0jau|E3v<-Pu{wM2Dm=pQ{Z&Aqp*vjcPmY-#3Wgi7-lZp9Dr71&N!p$qj>!~{Axymy7(5C`5%D?3db6l>8dW0+$(L=Vu1&xRQ*M zd=FE<9g-aSS9?~!cgOs5TB!)D^uKiY*%+IL3JOam&fWXUDrE>J}ehehvya;doc z%dCfzA#~A2Q87)5`xG%ns{_U8B%ZKAdAbW}s-2BOk03^Mu5%C0K7VgGrsl%A|ASXb z+tS}}?ntzA$!M05m@jxrb`nK34vpd{ubplRTbqY-QZ7%kSs8{$970^j!agffi5%Tw zTD2iaO_q&yXw5hm3{aVpFMUQMmrdC3&ppWl_l(cfJMaeq# z2#4QYffDiHU#s4O*2+}HV38I;#Ci5sESc|lL}>Q2@$82<9NFntUDe7G^uZioLB-=F z#vW?!EjzG;@XiHSy$0HWbubX2GzitFflh;+=N2IZjXvn}5E)}wMSQ#Y` zm2Y~cAW_X-MKqkWs)97W1WpytQtq5EmW0aqCyRA(TB3!axPY?GFht`SMV%`S9YIhn zrfJY;Nmj@WLe^1ln71+GH-)wqH1x9QY21Fee;lOb{jtFAyy z4^>o_t}zP+AiW&RWxo-+|EuqN8(kZjplgq?Iz6GwI0Kcdh1%0DoajI8*(mDdpot<# zsbC89x@Je-ptz;wgy%vjdB%Hd@S!8u$WT_7zri1ZS#PVEf^pB>Ayj5E&4CQ`6nbai zBv=E7FHPj(c1n2*5C8W7TH=5Qct$#k?Ofo>tj@3e6}BlNTj)8kCQ_jd<$P1^GcuXg z_jJ$sa4r6I587DJHJ)w&GRbZ(@uy@@REf}M$)Sp}UrJ>42J)Qv?Y!Jl8Gncs1fLzo zUea^Z1GxFM?`ld4YP8aQ;DX;CW&du`jZjKcz!ou} zI6|V-cFZOePR)h&}4qY!Q^nRs$vUc4$a_(OY3eIE#U3SoPH!#0fJ=QP&?p zH+Ep%qUoK>3zU6pZz&mp)dR#Q&yM_t?JI)Apv#Lc9Y4L%C&uSYa{!pPGwCAl!2bFk z^y2cDFZQ6o-$TG(6yr%C`)By0U9)?@|Bjg+p{<>HjRa&pLL`W)i*GyacvGN~JENKOuru;+NW!%MO>8`;@s1$!&3G z6e>Q!bc%~T=^>sPX2%xN^!}m()sYQrqJH?SE|80Pa(w7>E8I%(n__Q10aAaLFd%lB z@3++mnS&_^2NW{?L_m==^sa_NVp(=XwA?!oqco|(LNqQ^oE~UMF1x6gH#v8 zk`aI8pj?QtGQf?T92?pdb6<`2*fc-?PT6Gz`y>$gek(*5$wE-FKr=69rwO@Pr#I@b1|9 zSfw{vs5aRQ1lv0deEI@C$8r3qaTykmIaNUj7Ga*{$aL{|HE2W5!1)l!>n|co z9UU7e8dFW#v`ASmerTmwSNt?15@N!`7Dbc8d#pJ%ozLxxDlF=e*Mb8KTlLL4d=&q_ zdM8j*D|O3}ZeKoUafsa*a=N6F;94#zNh&(6=wtr2Zh{7o+d^GKMPL(ZC7;oEsZ`xZ zZ?TtlT=-9>h`X8DSg0F{k*XN9QmoB_)P9?JbdcAowIB$AlFs0L0FhCZt&2n0q5ijB zQ43Akfl-kb_{kVlgj&xuRb=l~UUm(KdUJ-Wa9*DeX(5FN;83a^?P^Ziu8autlYz={8Dk-{(+|;v(Z}olnFL{dF!i z@g89>$zw>79>js4qCTbRBV^||OyTnklK|Eq#vvLhOLS~VW;jrQx6IA3>phZ;7}g|~ zAXlCswXZDy9evj&d^A3!PhF6X5R;fqNXg4cVUXB|D=EQw_E{LtFb$y{x~-Q_TtUu? z2o%+Dlj=ZE^b8`n(Z^+Wa*^ldo399)Ay2 zn|#&2FzlNRNpb&|l3%J{IACskhlC1VPRWBFxE=jK{Q-$l?GTiP*>d@QC!IRHF8Kzw z+>v>nQtGUnj`(6s&TOp(s%CJ=?Tl96e5;7m9~Z5aVJ*UNGG{rt1t?`Ej`A ziIhB<9Nt@}Y9xv8Rr?fQ)A6&^lB9}n(80V*{rhQ%LM-i9jfQ*6=psWMUUaPk0CgUv zcdK`cs+(6lV(~U$>M)=7*Qk7bDLKgZc`23<2*)%MTxKJC@jp&ipjSzAH2tGy75ccq z`ELYmn-jT*UH=FCg6)6s5dSy)LP$hYO;h*>zffjk{6FIttc?G!e!|KnbAyqhqK7)Bx%L z4S*&<8(;)5vU4_5lNoZO6T0p;d*x_GSPFfWyz;5#VU#Y-azT75_8(ul0Ve&C0xptgZyt`2>btdBK{i;VPa$bxh4M%hH$X6vHkb#e|jOD>>M2b z;X;W1?_Nk;>yHO(!U@OdTE>ckGDj@wK}9kpA{jA9 zTrOEQ#PPQ9-t*nN^jxE5bF}ro=2Yua>$k*bJJ|u@3-iRNb7O*q)=xQ#m;y#+bqWgu z9M~uEAy|M!fSXMWwhQw$5%<>|F5E}ZP;u-VN-;P@2r5MZJ5+Gks=ojTUO^*phcvLD zytp8P3<(Me1cdwxA+(x7+Hi0vUqeY0aS*MDX1tc z9Q*9SE!Yna7qJpl07Q>80DTdDW(nyGj@5TTWEeUVkh+uNE=;sR4i47U-Tf+LPw>Im zRz!yh=)(vIJB;oHG93S=LJ|Da^?=VcH4jXJci&eA({^RLRvRsE1mxj}ZQaUHxhS1lXzT28OzW{ZhHAyD$hNn%y2F;^E22=7Bl` z4dMpDBdRqFoHmj32Se$H1roXp01wvXGc5N_#Dv;|X%GYd(C31>(G)@i5=Q=r$&0|p z+l#;1c@Av*Dx|upg0oInD|nJ-i`5E9(G zK?MQqf5qq#2pSE>3A6_!{<-t&71-4W1h#>SxAUCe7og)A91P?Wi4S53>mDk2`&AR~ z9D@JVq!fV|K?HmxnDPV$+-Hy?hH94~Pkwh-jy`>SOTR;i|X0gJ{&i2J}lu5&sMbRPsX#xY;9M{^m^v zJtsg84s)lM$8u0n83L5^TdfCN5zI2;4do+X>H9k6TVVCO@-9H->zm=EzO3rpA>*Fo z>pMuu9!Vp=7erC|NwlC;7&bf${^UD6EATtVl>QIj(EMe9k{cKl8$OJp#Bx9j^4=|0 zFxdLJFp|4`fb_|=ieRcom|%YgBjRXXCqy456xbJHcoqi_=7Qf|5O>u!5*C~M_ogzq zHDu#An};w-ArKNC!d*XT;Q=`r3CInqD112|)~n7c5U@WLT#z(y!3j7Jo}pux0VNFu z0@Cc);hUXQ0o{54osm)C4H@3yhP3tPJ5Xt=`)f*EtHlp{Ir^le&dIS(bsn7yLzMhE_O-wKgkf7X2ktcx@JPZw8kpr|d39mcxI0 z4acc)P34i>|II*$@?62zZD%T=_<|7dRXRKSH&ABAf~xm2;C^zOa|pZ$zD6d5{yVdb z^S3?mYM4hIO~dcHy?M!li?l8GxD(Wm^Ju9a&mzv4#0IMtko67hvxpTa{_yvWVo1rt z)A>f~xvpCtia1k(uE6Wt1nG}S^)M6$3*YoDEEun@GNTfvBJ(~@a{NrgXO#`9<$|nx zT7Xtig6X7U55As@5AjLI;Av+`O#tvVUxTp)Zu&v-Z;U=7jR1nyx!SZn^^u%l`W&Ad zEfeqxf3hX>^Zu%2koI{ebQ`39f74gadd6*THv4yr%Q+6?=R67}Z485-B1M@B4%z;o zieuVwA?W^9q1S<1p@#<~aWqRKt(7x2b;Ij>OjbN2tm-kF61>IYspj)9+~meSt!?hO zlM8UxPlP{u*d=(cbpF%)T~g1+7B+sd&{B3ty?;N;S7tkEcEg)&Su|J}XCXB)HtyiF zP#hy*Xs6Zt2%k^eX%I*rfjc;xQ;77M`oF%%unO*=^})NlM+ad( zZ?n5#GcrRS3cf!PEiPd-@rt?--K7XASNW;d{;TmFQ@kGubYHtEa0qy8?s)>ez{ICO z0s?gb zk>sM2<{z8))s(UoGylH7|JtxPWEl1933k1{d9A|XLQ_4Is`Jq_}w81Gx&TqKI~6a zb{e??w?uzP0awZ@FbMwqqb~C`2g1&}c4Q5(QE#hlJd@nW!-}~H2B`Z(B8(1rh}cau zf9biKoVM^#37D70uq{#*l!+-D<@yCKPBw^31{I(>3{ZY#HNP*Svh*?eO#0X@n5X-kxt(!S9K-{k}9& z!>PY|L$y`^(8B;OVdN5Mx>sd*t)TPcVF7cKt6&zt$D^!00@8WaA%US6$a!WxAiG+z z)-{S8;1Biq$ zL7TwSurw+;HPJ^QO8!`yM8PLeEc0qtmg}Bl084v+i0nNM8+>GSx(~l_A@_Tv zXr>S|=|Uw}eT5+nAS%0C?q$}GpeH`IS05GFgz<<{n+w^jbCeKAGl9&OiMm}|%P0Yi zj{Tl5Ing0s6L_0`e|*_(BW>@X_2sX(&G3NAWyFfmCOt$IgOeiCQFlIdm~b zGnB;%pi;>rva2c!W+ZQu*}5=e-%s{hVEmJdjsY*^LXIxdYJx93ky~~>aHoii#RnZj z3*}Rt&?fPFvK<$&%uRK;N>5g6g`sw~HNR@k zgX3>kY8j+QV(&953H3VK=Rid*`f-!b!rL1;dU~o?<>#86$1sNJF(JyO$8MlFe~J=WJ03vnG9Obh~1B>fYTgH zGCvrW0d3pIL(tHRkZY<|yFRCRJ{}?WM~k6iT6Pj}v96bblrC8#EGS^QrYz1An#u8! z?#D8u@AixP_GO)fnxz$_*UcI)OoEZR=CboPK~M4TJX46PFH?5U_w%~O;38%$4)`ZV zq0Tmv)~8CC%C8igiS1Lbb0upHE4rBYaKftUgbTsIS;Bqela?Fvce>4#&q%u2XgCTn z%Sai`4oIs5U?pSLU3Z=0HrcgHk<{XIJX;31gKDqQt#6#{T4^j9no~RPX*GL2G-fST z_t~G+e51QKUmpp9{Kj-AJM4Of6%D3^VJzMPHdd_{=|<)n(E!9>QW}5mV-C%uX|*n# zNcN(?S8JYL$G$9ru{-U2(g&{(L4#N2u2b0u+e!6w`VOvb3ZS7;n`)eG1`mne^M=P2 zI$0p5P^3~y64HFt#9s0#>^($L=Vd#p!+6#~T4SJU#211%iG@n3GDy{GX~W?-t!SGj zEiw>Q-HNZOe(Yd|xQVl>H6h!WvLieAqH{~n+R$O(39gc?H_RSZ1J)tCpZk{&i0pDG z?Oz;jrW}p=T_pn(-JU4Cd%8$NvZ;J;!#F4m$ZG4_dW(S-2?V@`Vvb)S-53h z8XHtyCr4&QJ|zMuO}`;_`mr4uv1-`jm|*M?_(RL{Eh*(dBo!sW5!F!Ik9Th1XZdRc zcPE%!D!+u)R=N{yX2Ba1Dsz25Y?q;Q+~EiOGzp~~6y(na8Z@tIRTH4)}GmaX7xU#Z$#$i>(9WU`a^8jjNKWPPzKpTfsluTdlqLffI2er=Vv zpO5Hca#DTBj2%*A%2xtgdMVEzPeug=WQI2;92C)_r#+iWf?h{kc|xmUZj_bzBNPDs zRdp;vz$zvjksF$3Ou!3>SdhbQUIZRLIWEqG{c8J7;Sq;-s|J;@gOi3_)dsW^{2+jzKE@EeWN*w}?32duPoOSkN#8Y+S| z!uC+#kmMjMWEgq0kn|1bLeFz=ROdO61a#ARUFzXIh5SSXDONHsKk_GSf!u1aH3(bT14*Td{l{9qHV^LiSIMpTZ>V0`6l z;J+R%oKotRU>y|7%i4c|hQzG1z*zK1cNuy`rzaeMJui-d(tbMQ{0IQw7Cwto5U(bA zrlsm?C09AAdYK5(n>G!ngCz6H^3qZjQX>4}{L)h<>9T>H+vNE`aqv!DF>M6HPS0%k zivvFwX;wQfG8wMM7rk+?*3Xo_5yMNGIR}LVM!~HekbxG11I3!}0wKnqD3n9*eEH{I z!IG*=H!(iX5hZ?|sa`N9#@>)n2+QjhO|Kk;Va1h>XsA34xam>WbQw7*bWpFzc*I%7 zG@0IoA(TV`KA+AAl&=Yf-^y2dXZe-aLtr>g+I&t1pD0@E1Mmkz7!v1gWpwJSE{Cx$ zXc^HeZqQb6-%Og#s}}1s@p(H4YG8S%fh-^@mCV(h5WWRO=~U$5UkMKO83@FNS$*^- zo8^Qo+Qf!ujG&-XczZP-_#9*X7~#c- zp;$*VxjtUxPfE@PHw&}6*eKe6wRfYBh_q+i%J+#qhLYa@+nS?#)ilUw@X8ow6C&W@XB>Xh~S zN*xPS6QI4;@74r1J_r92pQpm7;cV{i>*u#)=?r#B+8RE(i(}zk)W1(WHKbr~3q2;; z=FcH4t4*_G+kSB)9Ur%Jt@97Ndaf_VuhL7{zKe>gQ4oB6G&awj23VwKDmgN~*nOY9 zbt>+0s?@imR3SY-MYgr_^Mu+4yc{uYt>sEHQ+=-2_Dz9Z{s=;r$MQ)I&yopH1ma8N zRB)1uWIKU&6q!U*n>+mBru!_Ss}$btDKJ5`H^H>1Ek9eIIM3!-8-+_#Sl%Ps$n`Zt zfPW(2RSi=!2pqB@&}z;P&GusZ1^8DYXRahxBT6 z%t^dTLp-NFMCUM(VSYnmuV$s3d>1P$9p5ZR()+a@j30qDa;c8S0>4Qvu%CxVVJCLg zt3aEhy6^e$If+SFI%nZ)Qihx6WXKvrcc#@iTAn?t! zq>dhteak{Le|L`Y3CMOoxP3E4KIswd!X-`Z-Gh0{k@3N8l(9$)vI(nAjz_N1QbD(D zyyeB!(LcmKb(@UOMvf*4TQA)km+b!xlKco|Hl!61Vpz0ctCt!cSzE_t6!*>Q)rTycYVs?wPPc?dv zp`HMEF!Z#W?DxiwY0%=`RnvQ2QdK5Cc#B!FkKl$W=Dg7x@)_` zoSxn|{6Zlh#Atj)d-Gj1B4p}7|J*{RGX4B}AyqxfAAbRyYaVGxSxg-5^{!2LMRmK~ zWVm)l&-NhJVc$SakJ{0}7lRYtPSrh5w?IuyGcRuqoRbruWqJv&i`Kp!E*VU!yzhBl z;}l=MqHSk=uGomU%%$EydO;uqEs&&D3 zQ>Tlc8Q17XaXMhwj*|&pGaZrnJ+8z*%$Y>e1Y7U>uF0^v3hlHTvZH9>*0&I2M$T?b zRKwGS7|CV*)==$!Vtg6W}4Z^pps9tnGC_Tijmf3;#8^_tN-G}rZr(P?gghSD=T z4=$(f-8#oeHkdfu8(C+YadZqp`<*x0?EY2%@2Siy!dPaFWWXne1wVIZEH;3yrrn!J znIYr`BMu#1;?tVp*MtynOw?@XcU?5fhfKBqVPmaOM>DEC$91K-7HIS*QS(EM#+%i_ zxsnB>wph5ex#sKh!4n5KHgGlM{(HBs0npJ5L}ICEn**Rc3P*3|A{Z1Xm}IFl~FkltjGfG z0|j*Lofnf*$x4`T9iLv;7vkS~fnL@mgrc2Q8JeI~X1XkOtdCb&cObownhf({EbsVo z8OdSxkcE7j`4E{7V?EQ|myum?xzWd)q1PF0dJ2?j-kEGS3zWKM_U*OuS4BO}T|7a% z{?R{k#5!a=Ga^bgnLnOii^l`R-E$Hx9Ft^39PlW=nyo2JbLldzoDDAa;wccd63as@ zGEByTaNj1jOQwtcCg+$ZiVs#VH|pfGi(XfDn5c6^8sUe6ho$Q^NF-O(&X9N&j=b7r zXIiywT^u$M+Mh8jPd%C3HVJPzb|7Rv+PYw~gG*?$YDwO4UauWZufy9|ylEl&nr8mA2SmyjfRC94r{< z65z!W)1@ZfzVvc0u&w$<9IiDavJPjdx-0veJg!yly|S#oSij7~;1O<>?ybw9M^?3Q@Bk!w-0DDlWWoYmP~ote>@6MYmhM(_>ef~T3pNoQrBSXtK#+y)+eYO2R2 z0iE(+9K%0>K+8_S>4ypH7g-!2HyDCT3vlG-&SDx1K~lM^cuWb_Gk$8sq9~M_Jm@?^ zy?sbli^Ac86t`j-)@8=cdqgTk;2oq|+s(rlHZSy;`tdnT^-;Q^8!5E;FN3bPQTX>D%#Z8GjurGnl4Ul!y{nact z=wNvzx^qYR=z{85gI(BD?;>tFkJYO#Kl6Wx4Jkmg)g5})AhxZri+OL&TYtE1?Y8Fo zY%09c2;)GD1+FLeTU{+};_o#44V;i$A2-BWnfo8d{sF=(W~|WbXQ4 zNMJxpSm5--hiv#sA@{Nnq6fewoY3K#t7Gbnt2R4ygFh@mLgf#Kpp}T3z5*A}$xD~^wg-0*IY(t)E1GT(lX8lt~)+%+gN z505)PWJ0`YBy<}p$~bACOsYCHH*6A}yHgWEZ5G_5OwA=`h^#^lx$URO$ETg`&dA>8 z!O>?z?Tsy-qs)N1cdG44{%r8lUz$jpEHSt-X3%DKF`57|7-p=ffB+)-C6Q4z91dKq0D%QJ^Phgzkq-sHKS zM_rDz>(fXztEa`iC-#k-07D<`B}dA6sIp?z-f$OM{>Fx?_iIwQF%^FKF@a|(acT0J zsp&aNKA?v=l-)*Cn}}ys;MOs0YH7AHpI1KB5KYj?4jdJz`+eVcjA}NuQz6THIR%co*V*l;E1-1pK|=BU7b4oS@+=F3HgY6 zFLY0uubGls&&Ddck2fPrrhD1wWs$2Da+BC58x!AbHW2dG`n)1x@%M-#B-YgsY7+Cc zklcIzvxXb8<@hn-6sHi*OElx9p#V(kk|EouAjn;8iOq(BX8P0?j=(+Lp^7O-PJe0Z zQtfs&hZq_j$$|Bf2iJlD9z;mS9f^0Bd5446ja~n?j=vs-=`hGzr8?)b!Y5PUp*RYY zuG)caD*sn}?-d`c?|K_agp4+CMS{#^iQds)JQvh7I zeVEuWoZopQ!J2eRMfv8B^_NI=z$Nbd2XnxYm^ISZt=vSm$RarCG*3%t(iTmjNn-kZe{NSf3jWnd@XW{GwQ1cBkEno{5C94 zN57>L=O?ixnUJ5iy4P80$>C*}K_=7r(A~293BynWiqbv@>#y8u2#N$Im4r|va3nO< zbP-s^hzdFi2h?3Rq~^8YxMTJBQeT-$mKk&D3v#(`do_Y8@M?vL?!_!U%^mB8_kR32 znzR}o@Xj6RdqSx&lf~$*d8r2zy<6R{dwr9cQFX%EwkuDU@zqQCX}cxqOvKkq?y_3P zT#)RURMvSpEAI`B#EIc5_(};c7~6lNT4+ z=b0;&j>#E=c&>#`T^;q*;hUNxGJ)QB0k?u3x;XaiBB2DWSR7`lcdiu{HXQ9Dm3o|c z_+yx<5d)r*dnUZyw=&0oE{}+2^;hq00RQ=fC0`TXGOmPZk5afswDljfntoi0I+dgm zXY9A;HLh8~>3q#pgCN16$+p{nSi$A*1R<*&@odIKo0k%u2k1k-O=+By#3*xG4V$N zYS^Na-sdgtO;cyr868#BgD+7a7?U_2q$xVQh$9wX%~KI&$%>sbm-EfI%C!ugDK?do z+tD0bVc7_e0XHkSqVI$o#CK!LgN25-nwNNl zH(cffgyjLe9F~ZYc~AQ6EX`$$gR&sWsItvaausNisZ#j%BRCr07GLV(T0Oc+Gn#H1 z_@&lMK=512!_*1y$qr3)BG^bX884cj0|>UqpEPLuFyfwU@arIEuV3!7=}1e?1%<~W zyg@7Q$3MK>>5)AHZg!+RM9~gyc@FL>EiJM4&F$OnG!@MBhjZHqSuE5=z+nL3@7+jq ziFfa7@eq$EYEc162NLzK#PnI8+yt>z@tIcy|SYP;^ zJ@sn;8*Rk)-)zbMpEi=zkQ5hG{!eYh_`laiOw9kGjTi_x*xCQ@V55JkMP2+qjSm4c z69W{Tkhy`Ql8H0HpMRvt@P9ENlYf}!e<~iw|HL(}|6fw`AA;upMQYgp+i(9rq=t>1 z>Aw&SBLM>gJqP=Leg1b-!@$VM!1AA{=KsLdyn@Q(Y%KUk3fiyg3xG-a?;&l`v~^Ab z1WoPT)bwwYs@uDTA~3gglD2hfw`4WGzVB9cw3Y?FZ+KPTr~tFH7eEEoQ4C@H0R-e? ztfOaq1Q0$>(qIRinzD|XnyMOGTB;xrv)bD=G`4if>js7ZI(bhGDC3zMyH_DIJ$kbw z2L}W$%B}*WwgyO%bBvc|_zl5`@;@KRGG-UBo4@25tgR#|Qv)6pcaS&s>cn6I}s74TFR@JA2_HG=HPU z!L{*7OVifY#)!7Y!61A&0cv^zK#wZ~<;Oe&XmSI~0Qxb zYlj+|njap+gK$Sx50duR4^@LFucMg5yUW1IBO-;CuLBMIWlZ^=^vAnmN;aDPbw0yZ|m+C1QU?8gxQ z3xDFOk(<%SrD=5^0(#x(u09x0X2$pY-||G7L@W&BQ;;O2&&?y1zhALaIA;)h`lhBQ zM<)OP*8u!#$j~Kx1C<@?K)=cjUxdEbeUpP|hS2n0Hb7^fjKDoV0x$OTj$lAI*V+EM zc)zM&bcBs{0MY_vF#tw+91u}oa!+aub65YO&E8&dRQ#duE-&f;Q+{7xuZcUC?&*Sk zE4IIBzaG8P7Y{@U2a@=|7jM0sh=^fSeL(@yuzh_K{V;o`rvUa1PQYD1Y!iN;zjC*J zlBm)Aeyby2a{Lr^m>_-MYS6W2ueq#Qzd2ADy=)<9cfFWLgtdh*Aah?#?;TS(Q)IQh z>OXw5zqz!(zau}fe}3%}fBm2n>>FBslw=-De}2VmjDZ_mKR5SW60&jhS_R=AImS{bCW12ml>HGbjUb{`Dtd<^OICSh-svV3a{P z0DRxC0AQ%6rT@m>xa>+->Fy$ju6BMXfqLtd{>o6mu?D35)Vo#T3itNE9G70Cc^3)f(YU0=>XJTdjL)myo~v6osq)% z{p8C5kgfZLA@`BI>Kzz@(Np{gRRNG4`<<~wO!$R=F3+CfAAr%Pf2Fdw=|UQQd!qct z*LB?hBH!t~VXa^N8yjDGV{rNnZ|FTOU?1o`rY-*lS>q3SkE-D#d_x!OQ!S(JY8vDN zoj1+ki{4wt>d$|SeZ4nN+nC>hRmQBJ;93**-=M16@U5Sr-*yvZa<9+T)!SJfZ`^?2 zyIeUMgfl2+0o}CVv^y}(6_A!~Rmff^gEh><+=88X@qCjz^*TGZ4lyzDqUxzTy~bWN z*{}Ja_AXLcC(dBV=9yh; z98O>WLA!{7A&GEb%Be=4mY-2vU*4e8ov*}!CQAi2_ zXM7RCHn>r@f%|<};l)Hx4-wPhs$?FC+!B;LnT;i7N;+yJ8t<)8UmV);2lW~xw zS8!yY14p)%U`TERHX`lzV$NVtY1GmAf}P|3g^XVX1Vb=^wOt-pt#zcZ}mp2$u6%Ohw9Y8#Xs6mw&r=(%HO zF?FR^|M}ff;lG;~X55F_ZFvooe(xqcs4_yR!t~~rdsA;NeH&h!)SmzM&0NY1 z|1tL*IJ{Gt=+MsllGij7JDP?PUuozudqe!gbm0R*&SuFFA^8~tLWpqhsZ%u~NZc87 zcp83|{4(ZsA#?x*_r=}7da9CYlMyTiU1wOOKna<)v+JR3%INP@#&Q4S*?FdDFo?gY zXLSyYs(3O!ic6;ND@O8CiQ2P%j3y|u?M`OPrp_bJg6r_$D?;df7@1w~qrLAd5>JC; zS~BKkr1~~sQfcjdJ>Gso5S!4x8^+fRGz<{mT$@9EFQ1_oGz+0{ntsVe^o0a+H6o0k zMeU)Oq1X&ZrW;`POuVlsRfnX}aN;c-LkAKY3m0TK#HmBi3uaqriQkG4gxpDcx`w?Z3ew~*Fn=e$6CngSL@zKc_J?bAu z|5TgK;Wcs~d`}TQ$qEVpfF27z2kE*T-jg^j+#MM5v_4S7U6k}|y9r-K71@72GjNJp z|E%IyhY!<=U};wHR00EP^^C?Go#reWp#|Y1o}H2BoU}7A(`>Q#yr7~IeX}z$P<$cHBH0S!o?VHHdrJ2ArFqz+*(eYTw8`mqNjyssd z{zav`h-QQwy*fB;(Cf%y5JOnw`kUz!v2)wQ(TCAYno8Rb}g&nnlYEC;1kv z980X|gUpLX5?Cm0E@d&_0TdhDv)fK#REOrcOyTCyy;n|#)|2sJLl$WJ6jtN6-{hq@ zzg$9GIg#W1do2pG%AR-zjUO_uN( z{4mJnzFjbqK>Z|wvRVJ#pl$&dW2bU=azmfR;CqsgJ1I0OV)4~OEzLu{0?NR6P)DpPKBz5SH$Yo7e#_Nw>bUdKFrdPu-5O*rGVf$X z%aFNf85ntZuro9Flu-5wNR~_MiYu87AldGecujaJ`8jAuzV@fsrt0T=4;>SzeFH|x z_%MFy#rDSXjI8vH9$ckb47&Ww1z$0ffM+oouLnxmRogo2Ay=(fZ65J!_I-L)Lv}jD z=xZV_(qfS4Z};*P)N?0hL2ZaKyEM=Z>_`^0h8#ZiYZ1i$`Cu78SDfAzJhB!KZd9Za zaTREjAlC6a{?T%e4XDB+T(BPX2&j+o33@3_aiNN|?%X)rX=_bkriw;DN89JkLP|br zD7sm75yQ3UD@YM&kx+dgp8A4`K^N?-aWTI0CgDy&3L}~r)lNALW+KBS>syNu5>rHK z$OA9~w8}u8iLW|7yoPu1<9x1scQAMsa9-NS=y5_OKsku#hctmY6l}wn(qtr&v3TId z0XP17)cA{mz;`y81Q#^&u1%-aAY8~vq`9VR;+8{L$rYMND!;^pBrQxLh`DhcpukM< zAiveXZVf?x_SFnXVDAQ|vBg#a_dKULE&Wz=p49OmP^H!jQ0sc^bU} zpQs*DmQrD;RrcmWQa+UHB>Z=y?7P{Fjj1zGW*^G5^>W7{wocj5b!Bw-1Hm?eEM`JB zK`Kb#t`lbN@|LmE{Wp?S1P=M$>+}%EDd;{#(;0t=lOHe1fmJztVZUA(d6jecPI>A7 z^~)yVLGzpZQ4_*xuZxovI7(@;$8W{v!Zgr&t7zm5OM;6#P4}V|N`Ch$_H|6UV6I%p zX|P4#Wfx=I9=-KvMwg6Xu-G|pD;<9W_g#h=0Eo5P+&XskWit`WPiGPO*{T~+2nXNZPif@s;!LfEHbM-& z=r@TnXXGJ^6}D-bSr3cw+!DD#oB~2Jd4L` z*Tx(YabWu^D|Tr+rbccvXcwhLhXmV-H4Q`%N*`>U(}a!esOwQd%EuN7*`Jej>Rj=j zW~nq*-v8JxyBqRl3u(2Dm1}lBOsSI-yYA3hVt3vrFbTCw_^hgr$lFE?V5FV&MYTcF zx8kR!UXQub~sC(W-TKfNC2}U=6{|3 z71bj#YeF#t%(!=C(Z0~WiXDR7=HlV}&K}f8G-QC`(q};%53$xrYP`GeM+!eC_vrt= z<>O6*NWkc0KAU1M+)i&Rdx+`Kim?n~^`AN?xgU!G-eLU#5^L%U4bW&QW^Kb9uCF(g9JJql{88e% z81t`te)`2{fsc7)6YyuDiqiG4r*O(Y=gkBe?6;;wS{uwjM-zp&U2)NSI^t{O;_}V&*TRDgC>xzv@9)3V6&DA%&DVAU639)K1*L0i}J{RNcOjylUUYF=9bk!QVo zdqsSQWQTCFcZd>{W%XJaDXq&Hj^7BxJM$`A04{94Mw>?xs@CFoNwde&JsyLWKh;gW z+U+5Q8ymFYWx-Xqln*5G_NJb;o`=!k#*RVGkC^eL9_wUBJPY2Eb8@BMP|S{6!2MOW z$YwHno<$0Flk{_zaO`!kbgPvxVIpwK9M8|+>Vw4Afv{pY~QufLzbd{E) z_-WfYKCQ!ho=(+;do-|4&*FD;EIKOKablWwRrs9-`Fc&D{HyLl%nx78g>$r+c=GYo zN~xm3n!$jw5qXSuG2g=L7?iU&TrHu~By2y;ll?DeTj^qE*X|CW7;hbqUEx6v13#Ii^Vc9i|2Yy{|?_m>lmu)#{p7GqQDh3s2P#+7HqyL4S=<`iEDGWFpM z2Ie0njv|W8rSP+yd;v=3={p%3vOGtK9MTSHDEQEcrZqnl$9SvzY2Lw*ST2oJ{1PvQ zAT!RgRhV(4>LryBtvIJ0Phe`W3;;Dbu!^rDa8N9ml#l*k_9x}E(hBgA&IF)70&*T4 z$h4JRGs@~Hf!3IlZHj(K?tGDko0)jm9WCb{GNcnDphi;ViY@5gsXFN7X53??}{=4CVXS z>@Hcg2$�w^zz0o<%4|Lk+v?7n%9xa5YRbJh3(z*-a)YET3TJx9%1e_BZd-hF`cW zH9$#6F@yz8Xp%0INbP-asU1xFJCN%+x`;Y!90PGoc$;6zj&FY;hSnkojA{wVwX*gBiz&E^v6@8a81ens1VAp603X}oY7Pl#ejz2Ve#O|=o} zkCU?jY?C2kQXJhkP}v?rN}#%OLjbTzc*J)k%@T~3jN8kwfCns}~Yy#ssZ|MseW@WsA^ zOd^hyC(mWhG1`UtPTin;aUrz0N~C3;e7kltK4;CsGk+M3s!Y|*$c_(Jt+AHt6gZck z*CZu~a!Q^7N3G7{{TLxCIu4F9Z4`dNHKOx@l7-3SJFS6+n5gT(rk#@Cxvi{HWDXxb zgs_2G2Phf%7Mv#=o!N3B1{woXCY>Qii}z4!a>u{#6Gdvz)$qtRN8@ z<9jVtyW@#rvM**JbvU^Gc(TY@cHf*$0!BWi*YkPju4~T= z{bfcUU;-f@2kogvZj@T%_V-Jg9Hq!s=K6)yUM}dMwEXRJ zq?Ur53!1Q!Zk0u#tu|=Ofx@1i$imqmzIU7U>HFOh5QbOV5kipFn&WTGtu8FuCs)~` zuvQvXwtDL0q(L*YdILf!;yQPn(I{Y1cIH0ZQ{>V?ZSRAwSuxzd86L}NcYEo-dun=b z(R6a-vo-LfXwvkY_Hn9)y~`C}CBi+)_MW9h@-$^re_$A%rreFP zw~wFs9pkE8h|xa34ll$_?KQMYUBsM7eu~&U^EKHb@aKKDU&yULdP6i`(&8k=!5i_T zkA7iT^dm!`DhAQ%KQ4h-)?nYCPz=X!0rli$_k04LV+omg#1`PyCHBB(Kb*V zR@cAI1?&my0&s&DKo%E~od?W0#XB4+Hr>wv z*QA?>>0wq-3~u2tyRg7#HQN}s?n*B;=P=vxcBnMFrie`Z)C_$$VH|{yI2Qyzde}z@ z(smdd?ur7yA#Ye`B8Ht-hLK|LyJ~SD#8YC^#Dz-LNK6~h-lBB#x$*Any_qo{rv++u z&2AMXOd&6b+P0V60PyRhvbN&t@zV#g{@p(5nPkw?qe14+$Qk;4O%mJW>PEjfQ1}O< zc6fF# z5;^FJ{yM^VUir;BlTNij#xiP7Mo;TF=tFc7p~}tE-JK~gV%SQBz~bHzFx+>jdu7*O z14Sl7Q+J0lA_@pLCqXsHPu;(>aobvKRJnMIV&qv!!oW?zdh7BLuR=^2C(J%)@bcBg2Wr1(Y!usa=Cc7K?F-X|&>Ni~H{&`aN>nso%Qh!2tx}QnMxb-C;o(vb zGp8hpMbj|z;#e6~llFvOfHxyTt&bFbo?-3=^{ezFg8j-X1p3_qiD4H2j|WeR*1o4Y{Dr5h}-0iY%W%conqTvnsiBELR%YryUV2bg6dcj(@hP4ZN6|CF`M8Pga7}55tB}kK2b{PG1QEL7 zdOdAjVc3!_643q;Qpz!g6vh`1FMSEwTe~2V+%+3{U+-328XvR+`zxF6y3Wy}^|v1% z==S^&gOQB$N@v-Rd0N3u4TpH-{UpMp(O$!}^W%tzr9KMr;^Ob>r!Xls%>s-9GMPP- z0PhUMrDBz7gpsRvgs3+Di(ToEWn)6Tn=6Y*xS2Kvd6IVe?N>BW9|0}L3YFCur(&13 z%i`R~YCZR%SdYNVIx$2kciqfpN)D6cB;-L4EPPSu4e^_VeR9tWA)dGTz`5V4Kl+mZ4}HTdHO2ZYKaIK?{7qcq*8e!W{X8 zXGn%oV$rxA9jTDhib)@eODv5?ghF8@eq`n(hu8`bcMmGtuEDw(bAvGq_GfxzaJc*z z)r=ahpuwNMKUa{3-VCEaIUuAgC;qBMcng+a^_9Nw;VQbLs*kSA{TFC%Ecl96uo-W6 zDCphcb4 zRl?mEo2T+<+ECQr?Fu;BQqH%$AY<&H9H<#Z2*t zSS9p;G0_;eeKQIBz4fh7A~mB?7rm1nEad*MY=SYL`x*c=a6*CSSx1dTAJ!NAUIMhY zlu--TY89xMbl?16dbO;C^b>FejCG-*^SF~|V9I=AD{x5Nz(&4dAicltR5?3@p!Bc+ zWorpr=abxr$*2OfY~)mNq18@ElmI5H4YV^$1~D+@HGCgZ*l0R!Cg94ZLH-Eq_U)r~ zjS@b(JaRkV@5yk$b5@bNF=<`?U3UFXF9*5rO2M6XK5*rAsxO~xtMsM%Vdmvrn}uKl%dPI z=%wH@lYy4*@=zO~zY97d3BS6=_YgT&k$RPbnI^Y-&S=NWb_+(4mZ1^?h6>y&YYzrEvLDP?#@ieojXY11Fs>gG(+NyMS4E%c9y z!8@->GsBC^E8hdjycagG2sl52X=ty7;336HL+&cuu`7lhmIUs-c8h^yA$Lv7M#U`< zWW25$FciBe@4RRQF>KY{>bW;o{7$NJVx!0YvfPB}!pPYS?h`8{4IH z|MnfvR2PL(Wg3!>cmeezfOg#Fgd=sUzYFb4Jq+D-o9doMTqVt>?K} zVN%2FS_%I4OUHX+&1J{s70rlo&S%R_=Y0X8GGanaT{@KT;&hw6mmmGQizuAk5&W(i zIkdOE|MGq=2Nhw^T-n1_ea!GohA=iYQ2`|Vxv9?8jLFA=J80wwk(9v~V)cQH`hByx zN(z&HC)N=(WF-w~B1p-(M61mEXcyyz#ktuOK4&*Q{u;G|(Rq5`xs8e%GVc0nWDM7I zN#5AGFQmwH7_?+q>MC~{W9nP3wnuHPct^ySnQwOmNCoWNCW+V{6FMurkQB)jlWe73 zR^wmbRH>qq?P-NYYK_7bOVWAAOR0me#2Z~uX>&qIFl;y9mtsm?w4e%* z3q@pzeA?-F{CBkyk&3)DgBySo%CX#^MS+Z3NE29(NH@jc{}{SJ)7o|i2jxjtlOk>=jjDj8$q!ry~TtYcenmRn^UJ>_-;s9~hs zOq5ka3h9K!f;1(~AcLtbP^e;hpHIMTGRZ)KAM&sgN*Th@mdLh1^l@Qs&WJ3WL4)f1 z`FWO!$*2}MI>M#vbR(;f&f%9k^RHpf=T@aG<#h3HzDpDvL*ut&U~Bob!kMA*xS>Uv zd(bl&wqC#KXm_ z7>}3+jpz4$sOZ~JfNtnAvjYu$SgeEyq18jaHj{mmIOdeTa7ot;LhIYUOY|NKs8tux zfYhZ^{IO#1&Ls~hv3Kjp^Px@NYuGu&od^EsX0DFmf64p07tMuME;I{NXVXdf`?QIw z#|*Y^$mQaMN@OY-bH_f;ca5jyw1xw&EJ?XNPkF%a%U{mO!v?;ss&iT+(K+_AaUEn3 zGBZ5*sU8hp>hShaP5B0`Vq(JDzxU|64{~o)?8({6$$4Z*gsS`UzVdWwl!Dpdyb-aR zv6X5f_3TA|-4#5e{&)jTH;ga(A?dokE+|+a&<1D9Ua+d%l4gU8Kl72++lC$?cu9lZ zmcEV)KG0H+rvkXuxq#|cJ0P39t!Id5?1T=A{WS%FZxc; z)U}zOZ4v;w2_M*UZg-dF5<8#NI9DRpTC9LPeQl(?t}Fe}ze_E0-8&QYrF%(Aly~V$ zg+_zxx;>2*#Lb(5IaURGyhtN%WsPtqRQsIUSvYpTen%dbs?1jd`>We=pU>jqHCUij zQ9Jsa>9~zu?BwJpuwYPR9)d^)F9vThNskR|PZ zDg%c{3>?Y*X%bo=k*zmT??CAuWrikKTSFdfbvG9A-X3Tzr-J`g#)3`rlDHvo>dI%7 zmohc|On>U5S*TB~r@+XgqKzSAY&zuoULzI!Gg{WtN_;A@gFjZmP_fxW7DV`S+1R#x!- z=Ca-nmFof?Q=9LHOqk|~;bI)Na+?b=b+p}#uGUmeP0D!=*OU~^()Jw{Lq!353% zP#t*`S?$N%gG}NRT@M$)^7Jb1a2C^Kb?$5bOPiS)H*Jx7uUdtqGEv}+>X-gLoM+(6 zOccR-pmVS*`k6)4xLyhQ2QG$C5K^(%9rJUQ|1L%-p~R5WbpzRugz#(IzX{bBOvE=# z0_)^-4)AVSY;c!g=f;>IPe`d#TDS+QcSO8W5^A7|b#-6dR|t|G<0=za1t$N3U&J=g z(eW~NRdgh9)}X5m5HFqhT`3@;kx(nA#doX`@k?y4 zmpqHQ#ENSGW~gowh7vK3j>5cJCR8d+{88_mIOT4NOnos_4T7@*-!}d0>hS4E;``f$ zBukFy)5AN|ZmIFaRo%ocjeM2kw|xlwyv#UV4Cy4X{Nd zo<}?^HaH*`oz?r0UMCAa&G84-eT`xSU5hk`Y^d}GR&f7V(uRviurnhBRwaL4hgRCJVF68H`tu1&m^Z&TD2TL7xL zrLk@STebhKjDz^;y#X4u1*-C=^Fs2Tj^r89DUR=P|geUFZs)g?>rYh9YX&4G)5`OLIH51 za0zz)DQ-B43D|!)KeInF&ZkN1oVu7FI`(1FGA;9G{`@VBVSlDk>)8PnGa$vAPXwzd zkxuOyCxT41#5qlY#yLdREVBdq>pirz>VL{@{ed+#z8mVf*s_P?9UQ{$#fh9Px~Z0Y zMG?iW@jqBQryxP1bj6LWptwqZ#|rcSFs_G$g3mcf=+c<1pM-Ve z1FIM$Q-(kWTnPa*W?Kx!y0$8s&6i5nPdzsB&^U*}eY%sj>068A1Xu8tUQ7{7K-wU$ zt6{=rv?G*!8INfY;kA3>X7fCqBFa{?cN<|vL~~*BTYJ93tn^ zu=^G#xH47V8T_5l;+aZ0H6;H5x;{&`ENow^fERtQ&z;uXGq>#aITzbp#@_qq)6j8& z*Xor3`G&kYsv_sjWxj^$l%+mVZ^ErjQ0(Vi8wpwM`nq0saYQ3us_eV0x;D^S{!jHh zSZ2g(HCx?-GjN>0E7zcArnm0zEAKReH?680^i8MB#6<8oP_|gECVdZL>jkTo=Y(7# zV2@_V-2Ll^N)oC1*I3g%s+5cdM#Fx4gY-ZZ)_hMWPVJjG|G2(Z7NAS^DA1MD3*0*x zDkp%%or`=TXvgyR>NfR1l~Lf01;Cn`a)(}Bh8AC8AMQ`JBcn+;+cEv1r)t;NwY}Fj zQ{my+Y||8JVffoN`<DWuBj>9E-;AJb)E1O)Z} z&OFBolRc`in^1t6$$i_-gzS7=xXwavYS|P0mPQ+Mxi=0{l8-UC*>$xcF}>52OwGWT zq`r&^g3ub(eeXMoBd@8prs=o`;-E*_B^e2QtvX*gxT|NN?a6wF9C)9GanK>NEN?vFNLwLvw#olvQy`d5`}^+i(#Ms1(7k4Q1hZWw;}+c)h$xv%3*e zAKxrV5`jMVYC4y_zH4f=X}n47+WxAvWwIPfYB00m0*00{&B~qb{mP_MSF7q-5?XyOznGlSR#)dSSdkA~*V^NzsK&jCJGD!xvt$W_&`c{)Z?Am_Qn zepWth4Y`Y7$4Cj{o2EVsU}!oGUD>h8(WnKp*BAXYRTe1}-FZ1uyL;F>r_HFmX1;CD zhgId$uL3dWV>;+K+&MYTGpesJ!iOXhGTpkZq*tH@;~2Bh&;DBaS$zmj^o9cqcZeSQ z`%p4Y0`A&p%tq(gYt=;Czh<_YGHZ68bK9r?dNVoguhj$$ZRIRxi?R({RYY(hesd}# z9YxK+VY4SD8GrHxGMxuN->kJ+PHcgPgjGba37|8oSX1G9S+EyU{URfv2YrfM;wQF| zXF+Injl)v0@DutvMs?P<7%utaw(Ggtr=BL2aeS`?nt3J+*_?%~i&|7}MMY2WCxW=K z8)M+InJ4psqoGx6?QtmS02RSA8m;v`>1BJSP|2jIW^|I=d2l)*POy)Hu(l>q8EjcT zfyv2is~(gMR6IzNeuA!kT{||W9RpKGZDmT) z$aT+pn-M>H7(eX-HGXz4aPoYp1c8pSQ7X8tR3h)S#+y$O$*4{PAW;zPBCoQ*xMdCx1NMa!vV5E_dMgPbBjY2A$_ugZRdZFRj?w+n@1Bh?dV!f!3tD zn*kpmYIDNP?TO-#8*9g%ZHuh6XBAF-pJ>?KIDBoudm1GAN zjoz5Nd6(OsD8-Hw%MU_p_-ID%>P5q&Z{W0>CG-CSCBgA;xWNC7l2DZu6cbVSCndr5 z-%t`v|KViiU}nK*W9HC-q7!g3GO>03ajP=_APxrh|4BTs{)0ylHu;Y|8U~IZ7(&9? zz}mt{z}C##1pi-3R+gXJ{)>|MS^h6dLf}WlD)CPRtNcIZs|Np4sQ%bd|LH}w_?HgV z?#F`q4|%EcKlP*@|BI9KAH2lB0~8$e|Mo`y1yC?E{2M^Q%J^S6#lQ0tY>Z5-|IbcR zS5Rf-t94cq2F~PE3Gyk?pt;Q)MI#uDdf1UMKqSeC;NrmIX2Qr|{3#G&NkKsg3JH>8 zkFvhE@2_pQ>G#~6CLXu#WhcF7rxCZQ6=~sN&_kGcVFCt1eT8^#`Kf+oFbE)t@Id}O z0A5}v_7Ui(FtmO%NTK&Z1@YJK`l;mxn$o+XVv4aWDr0Pqz0gmZ57~{)+{I*8``|@DnuP1-GcJ>qfmIM*|f(zv@AP;5(`2`}@38=HHOP`-m z+DlG~Km-$vuj9)h*zK+G;vUWias}!z!u4T`4YZ)l04R9#@+Eu>Ei%-@&|BDRU#AB# z>{~LR*9bNz0vp2LACIBeU-z}JYmR~9cP?PqH+mK!42s|2m#woaj=rpip#9N3OdW5J z$Cn=amWS((x`UU41p}N66u{5uh>t%B4gnq98TBb?i+ce3ZUgeIxc?46>{-+uQ0op+ zFW*iD^9|hpCir2%53>f37WpYR)JFn<0plDX#K3Qsj)e{RLdK;F>+~r!B8LkL53&We z8vza$==DnT%VLBegS!!9v2xc32bowY&<@I z?~S_zR5<8<+B_)QOV%t0lcY1Yv7^rk?F#)@+M|YR!OM@0DFaNPQ|3QfD zM3q#32v?-d3pZ(@RN5OtGDkF@{KTzwfoBheAU{2i$a9#kuOk)>X`@Psd5N(KqsY@6 zMPz-$lku*BvU5rnc3CJmM5n{Uc&0pr2?)78w&0ph?^j;mM&^-_=rBMX%>b76$W!>) zeJRojy5dK2IV#>r?t1b1C~}-bDtlkXkwKYA#9d-^;}ytaoJ~FqgE6e`ojDmqpkQ0> zc=D08=?F617*IbCQ`)Qbk?{%3i9w0(nHz%_PE{8cp|n@z)@t`s^M&a;V%a?>tbiWX zl^39p$r^n3$P1|w+&!xa+j~AXO$w~H_(9DE6{TNtX*0o8*UBEq5;S$$flv3ISAT5` zMmeZ3&U78xa(Pn}xV%44?gE{)+i7Q5SV2QRu`IN?PTrNiv?GanzqITUZC(~^!Ed8TloRyfNu z(wm}YQO0LwGPveNHN@EXC$$If1(=zQIC^)^9|5l)KU(A%dP$hVEF}L5{FFRxDR#>z zFxHz-t+ux;!(oP=58Hz?d5DSS#Gsb)`Z9(YwKOqyp;DW$L!p)%d@o#XS`yOOUJjN zeuZ#2*wiiZlHEKnyBb8{AxJP6^o_3=x3oIKJRp;3$<#tyVNjc6=i{<=cRuH)1LPj~ zawzEc++xxR^$;d|k0Hc+Keap=!|DGWb4qeAh7NRSkmlj?0!Hh7go}B8vk;C!Ukq2P z3FZm+*BNAwHQ8({R`!^FZTd{IE6k2hFI~}IEu%6Q=Y^kAZh1T@+7b8JF53WTK=Wd{ z{mC4f6_N|eK0AM5YfikGaw0^)CqdPlrFavd7@!<_;GG(}zY6Ck71WRKr*X#4!#qTh0b5+=yt+A7}F;T~G zhh7E+yn%h{_hQyL(bI1T_})x<(lb8q8AJ)3YBq!Z2=_mWdLNDKX2;Hff@20X1{-=M zM>GH>vu?GhV=B8d4Gk7Lb;#v{3td)^oYxc@Gq>r6JIR`2BIlh8^b*QzTTdCLx-^I2|V{vqG&8_Fnu;4Htb3!OozE z)RLfFbcSXAdK1OJGnHi&(p_c}pD4X`8$qxpS^i6v}_W zZS;ioQ{Q+GR>~x+bCh@+A#en9P{_&TFSbf&-wg587l=rn&m45fH@Z+7#at8pFh)Lm zQQ3!20*mt9nrCoAON^kW=5dV5bimnHu)$pwC5!9YG@|NliqQ9U;fnDneQSyj6T4+= zLzD#3*F(h3(q_5OX3_mYos;W}y{{$}Q3c~FNrlu(o$g7lTHb*hnT~6Fd`aO4-x|(< zYhBUcDzr(mo*;(b#ML>(EEHsH9ohqz~Q9Agjv^t$g&zs|ha%i3sPlK2LhEn>S#++DXMz zUt+p{6g47{vYryB=X0EmDkR^qtYmF( zh-vooME2CITKo8}Le3k^2nOVT)=oIOCTD~Z`qMv0q=1a=h1CQ$etz6@+m#6*%xDII zX;&llAez=T0Ta933jUCWP-#_yfP9 z!kHCKp000$p0qXR^^styG>~S_soP1Ocancv?54U+G%b}S^XIiRiMBX;eDvgxHYJF9 zx@9`#1Y;?8r)ega9UvAK&KmM&c%yFV@-NymxLR^8w~+AZoGeb7V)k^Gkj87ml6x;cf3fN)yo0Z9jEVeS?3O|y*R=7(507i9$?E;rhnEe_2xw(4glbi0be zYsS^dBVWW*68V-G$5jO*xr_yeS4tfo)iMr;K=FiIp}!?5V`}9DEz5eWh3(3}QP-5? zl3OFUTAi{+=G1`KHnF`zhR$St-@+|}0TRmLgEEfh*mfnCZm02xi+V3Y41EV3*QX;i z!bQty&mO@C49=I89(AnWg`R&G)wnjDiY${zAr}d^Wn#a)fkuU~Th%^P$c0+3Q!ZL> zrF3MOgKiOc%aVxK_)fSZZX6rWtCOv#vak6-VXrj=EiJHx{Fqmn#aY$0`S_a7 zPj7GhK7x$Wz?3zY#67N~#cwsozM-|K%Wq40`8%i zwFqa!9d6zLapsWJjR{OCB@>oEhT12m2GG!l$%SB(dPYzqwz;pS<8l^O0PN2@40@4 zDabLWtTbm-&_GEZ@hRTVf~IH7AI_YvJeb``x`==7yt%9U2J0wvpG(C2-|(T;ZOg=F z1|&tl1LOOijH=3>DycEu!aRgzsDHXUD~Miu##?rWt)i8u+=>Qlb8Kb%-{PjX=@ws2 zr=_pgo zgPZs|Ycs4ITRf=u~F#wd@ea*eyrWh}8}#*{XV>_u=y) z8o6yYw@6BAX-{W4=VA>{W{SB|WdS)d{|I3&dkeMXVE(;Z!~OP;Wn`+UrOn9r6Ou|N zUh+_I?Tzsyb3z5N$M6RQd)pJmP1GK%C(9W=mk|^1Zt2lqm73eRYqn`k_Cvkh@hELt zJMD(pU&5g$-J5OKbW~6eh*}1KNu$}UZ-Y`W9yvWsgM6OL+l}^H;I|K@$yQdi*Vv02 zCtuR$L)kxu7xDJyy8QC<@%J&f`$VipnVzjvxzB*!(-K1vL`NN{VoEb&$Acoak;QDA z;jshB>HYX+4<3gU{gGeWyWmt6v-bf&$ZDrO8E5!L%NMNc?V%f55Zf1zW|;*U;eFbo z3QF=XtFl2!5U{Vj3e*x_&_FMFKQ$0CgEMnU~H zLW@j#+IEkS;%{l4$qpnl&8=36q|&Cg7aLm}77m#plM>OdZ8)SG(SxSe^-aMJe41f# zU)jOa)z3}lUY%2BK6$DL=UHlHq8vt$?se~+5S*mAHA~@}Zh5WmjwV@YzZ^D~Ht7Q| zNHt_|W~@+YEL2K3X|>xhhCnBGG3OtV_U3sC*hlYT2Bb43QcMS3FB6|=?zx)z{GD|& zS!DSLvF59~1C+L+nbq*d7L9@l4*#Cc;WtKv{W6+?D&q!111wV$Ih7-QFG;1~(?5bn z{8Yly^`Y`bGm(c;@-7R5{12wj9`3E8TY$*zGV!{|PZI3NM()mN8lV%ti~7YkEpoGyG;6^i^Jn2; zvBo@vZEi-MZX%cAo86OBRB8B>bL~1k)4FL3u5pR>IH?+qF@1@21jM=#APi~kIxgWp z4A&#%+Eu0}B)9@ChXX`Vi8x-pfYCbje#e%xyy?OLm6%f^4Dn;J$awY&3J1919SbVT z06x;tX0W&Ru9z9;Q#|Q*9vt)vsLBln9BjO_j#~AELNU;ifh0C+Ay8Jdc6h|HZv`OPk2ba7$_D}J&`NYn5dTX@n)yfZm!ysM~K67mHJG8U2yO^(Xdq84<>g=PT7MeV=LoBGkKD z#9Ws;q9}Q4R^5o3a(GwzRwf}N9^-VQGm*gCpokTYayKWOEK*4kQ)aCnl(o>ZhydhH zBs+}hn))4^IrTUa!YvBxD|9^6Ze zM1oy|wTsNR=Z!qKGM6D5^X~gO^Bel_s}N58dK%9-0Yg>ZM1} zt>vsiQaIshbCn|iKlT9oth;q;aA$~g(ro>8a3f=_PYnFbZdxv#)?|NdX;QMaW+Ht1xb*; zdGOt1lxGOVI_X@uSJb__vC7~p8%rjDyetWtt(G-1pyc9LrlUcGZ{QUACOO4$ratMM z#lV8p=mo}0y7|@MX%H#=)P_NI4NSjGzWu{3qY<7xpFO>)-JfOpV#_lI zh`5SSRwisrK}aZTLNCvcC}-m0=1X5K++rtsMC|-F8{PlxBaR4F5t|Ot$yxL9vQiCu zeQ?B<*;U~TQu#obSWw-e{=wX0Pc_80X2l%+RrbrPWUXvl8D-D0XoFnYkcv?P{lJjA zt|RJ7CtjziT2@7;FG?I;0iKbNHj0cEu8hdj>FZ|aiAzMT$xK@<`6zE4p|`K?J3YOn zjmpQhmC~?$UqE8hX8}iPxJ@UO&hA!9U2k^2KSicT`A=CtC=55%+4$wrjjxqC!1%gp zH3{N6Yi1xL0nJJu>DoMsWegv*gn>c|eV8r_XHt(g#DGB%zB~3B%tP5!l#ZR57RsmAwZoBm3ZEb8R>rW-J?7Hw4-dTXsG+ z;k1tnmlLSF{u=s&>#JUC^hlQpD29P#ANTP5~j9 z(zi$wLQ||4(k3)Yi5`7=tnY9Gev-XLh;^3dx<%|f5N=8{I>UQ$a#_)B?;MeY65|ZN z|NG|1&G|9Z=c@}Zr98pKUm;scY2FC7qbmNL-38Abfqa97rEY2(ovqhnqt&@;oFy(T zVuAfAY*g1j1wa^$WgvLk9)uKF4?zKKu-24K7fX8GxK=D&;VSz-#a0P~v6a3n+VqJk z&A*?o9C$YN=qX(vj0_WtmRp=^dtofsmIuW(cmwNBQ+HShSWU>}H)t zr@6xRVn6Y6%ZdA%iauvtmm>B#$tO|*UlfPunUD6mJ5l`B(f1@QePKQU9hTRN-I!A$ zU^I4F!?#p35%kf|Te@hFn^q3aA3)hvx|5ExRmhRi!T3fVXlC>w5E#KKf>JqCd*}H`_F#OA1&Pf7v&w> zf8Ve9kD|(dbx8huJp0cy_J4_I8UO8!|B7eXIavRv(C)`?$H++kbEf~;{P%p8fr;to zdH=ZnAN+Q2F3RhtOJFejSE~8q{(G1ko12kR2>=3tUFdGhd&5yeT0bi~n%J5fdZtI& z85}duHIKbiRwR8^?=IIp*9UR(O68XHQ5ox5fyI{uw3Ga3tiJxiiJWx)F)=|QF)=tH znVQHKhR|GXmh`j17-h?4-W_Ar7Ui4<_!Oy&KTbMqnMrx zxdZ3g08}27Eg)-)@6?ay3^-2en$H)}kS`C+T+=`87r}BtqrD-M&F`-kK(hh^;^6CI zACexF4N%tsi0K#!fC`RqKxZ`E2a^u)&4CFJ5BlQP{_Xya2m$jtzxsP}a%*}3WDhb_ z9f-QW72iLynJ_9U3>vu~#PBPuAfl$}v#Kv53vy-Y_rv1O%%BXwoS`K^lA7lWk%;9oN@9BzF7%edujxzM^M6I=L($B)sEnWIL@Q^|=xf9Ss?UhGoZ z+k3$KvoeCP`X{G{!2lX>>jB+$@w~s;#YQMJ{(dq&fmv%?o7UO&f6okkmrZ>4WqcEje^0D@Z+jN& z*w}n8%zYMoea~jD1laI=7y0EFs--Q*$T#|JLXUm3EP{Qu{FcObs;}DoUL5a8@3sxa z_&xV@Ed;_P6~x1TRH={7RMiJ|(#PWtYX=?buY8#^;HS+5V2Y2m{yp1sm67x|zpV1Movet! z_uvhP_9RR0_mGqY-B0-xc0%_XSU=?js|OCg>VYpDxS#SF-m^vd4g3~JJ>^@pyDk;; z8($Wn>S#OsdU56e@8Qhs4So-}KJzn%UGG!34yDVl`kNh3_1;ea-yijX?Z9)&63`X+ zQ|g^%FRtZun#3*=0uK@;lW6l@k-8z_>aQ$ z+o$J#_2`ir?3$+2xAoK+Xx}djJ4A0~E`1zDh~z2d8>}kI;StH&TFYUp<~KJ_@>7-? zq)4)8;(7)ieMQLA1vhS`bk3a9UnXpYAg&kroxiriKTuMqEQ?^UN>pPl5O+#gdelV| z1^Q!V&m~T!8FA>hh1r1c`l_tC?RulZk+bvzYLjyAd!K9VKqcna@7@!8l$|cl@`?M4 zk|;Yi2U8U%$n)Ch9(oKiX>E-j-|2rj2)&+SsN&*M>4xM4xpCk|1B9EhCMUg`x2~HG zG;v|cbH8Qz7(}xhyf)R50_?w<@p)>*{b)I3zQE)=zY^O@B!JQXgc|nu zXLHryWyed-mk<_Y9M+tD4@pk=1#5TUN&%wyg}{=at!~FfaX@pU<}}tbZB~ z8xo>9pbLOHS&tBviRmfmZZe<=e2`4ZA($=T3KXYz#j8PE{Jmc2HbbdUoHj@ZYdmvW6*SW9T`x-Nx1D!93W6?uEVk1conDYTEzO->F?p3>naK4H%q}#)N zMEjj+h;-MqN;WaZ{a;)hw7}3>&6eWXwVHw^LdZHhCubZSGmd<}v&6+krvR<@t#EPT zU2k{u@j#wN2D1b7nJE_#75~vcUge*;tX)SdtyS<#BBnyDu-DqJScnS~x2b}J1B!gx zY(_1UhjB)SP`GWjepyBgb0rlrdXOX$ZF+ta$JE;4zHD>zbGd)J!xX2iHm^j8*_s^j z6GUyc8Sh_6Sd~Br-=Eq#NmMHRjjhhc*0Uw3pFlW0M)DJ&^GYgci8HE;6F)nWs)@Q~ zuzC+WU-7%4zWXyBvmo(6ZJ0D#{Q#;k15oscDrX75*| zf8Bb`kjaF-%cg~djjV+0jl@x0WS8*Cw3p>bArJW?$>UE}dIQPF1fmyi*DPaMN9wS% z_e8lJOVYCRV>{Ht&Ok4R0O&yDOg_qq$y(cV?oe1S#<^|!f(tu{VtEDcG+$vQ^$>~v zo#XT37f)RD8t+gj_qAuV?;E$1d2lP?WvQJ=7G)E(2}OPDhEA!EOJmI9!JtI6oK2OT z>aM@*Dbm$xci~cmMKi^o7kO|r&R46akRGhqO|ZXTIKPkEB>qzo@65Sj6>s-Qz(_ zl8o?9chG?wId!RkIPY64WE?6$Goqw4!8coQ`$DP_Ixb??n`F`(gQ?%r7jiX|;PtH9 zr>~MG!ODzOR^B6LtC7y*1R3*1e%;VfeI_HOAe5Jb|U+yj#iGnW^PPs;pD zHrR6o+c}!pdC1(!?@Y5eA}Pxi8E68cAh=ro`4i>c%#MCh;19T?zeOzD$jd(P`EGKoxmu zCgi{#kXgkO4P5dXE`O>(a%;*^;ap)Aw{~R|ldw>zL0iUM`EYVc5}TVlD03>2iRp+D zs+kYn(lr*R0!#JC2Zz9Mdq{w$e6);9SsK0^{jDJ@aB}LT=mVNrus-p=A?u2<`(WX1 zf{Wd_$t1SegjJkhqw7-WHH#}LXQyo-XxURlj_4YrEBi*wFq9z5`@Tx<27%|&cMZ01 z(jV3wLdY}4aHqax=NPAVAFF39PWpp@1y0)r`(9&EkR6?MbXhJIs4W9c#aV9w=LX$C zV)NizsC<&rP3`Y{Iw72U?5r`n5HsXGl=fPM_zf}YqSCNlp}yHdEL<==9JrQyc@9!j|Hv;XfAHd< zMg*K1p!%sx4o>9X=QAdPxwgV4FA|k;lT5A;c}}6kDR8pvN?idEq-!fBedDR7OPm_* z!+ZiJLg^}yC~>jLpub1x^K^9sa^J$j<0HJDzR8n;At3Gu=w0=3;ITM|jJO@4QNc&Q zis)SdevEDO`FCZ*6-=;%0&-n9y5=+d+qahTN;#+|ih`8UtEi3#c z#Uug-Tex0K@6jQj@f}=U6|!ew%4jl_;qr2AqV-ei#lD6O!QpwQuM`zteXbKz$1^`@ zcQ$}#*{z%aM%|7HR65!lX}aRgv;C({P9BHmGOy%BkNLRm$e+YuZ}H&HY3B(`IS$Ho zg=OzX?)as)kSth+T z?iG&v9*vy8(L4S9caS zK474}dlA=u#v#l+g2?|l(bYMqB0(<=O zRG%iEd;C>peLLxk5rc511a%yR%?4uMx<{rKa1TinWKc>r1e%c_fY&k&_U$G!GMVjN zk-%)>w2IpfwYMvoqK_jE{x;~TYY!)jZ8?uRsLFJN^IoBMn4*2Wg#WzJI-5eM$e+bjqO-R_b0&98K6VvM_3) z%DsK)Cc=>?hjSoR1Q9jXyd9?g7YU5X9c+ac!!wSOLBYKg+RP^~SQRs*QsI?y}* z(GX77&X4j7J6IR-Z#HDPeYRo9=$mYO`!qo#!gAi}asUKhT$I+!5=Sp-7n|(Rwi;Db z7{e{#{ukk28=wd`HtQ)oz-tX@1oqf!G2K%Ui_Z?iM|d z=x{n%+|&wL1J9y;Aa%;feOT&RvB1rF_l?aU+-L2E1rj-dp5M4ceS$wjgTjiJOPiT_ z%^cZ{CL9P7rrodLk1W=N3oC;97I(}0DG`sGy(#!VcHz&gN1k9h_uZm^D;uQN8#2Ce zDoZC(oPaqUOEeGu_Nm^~aunX6N(7p*4yyyu7@Gcy`t z7=GqBX4r;0_mliMidbe#Euw|$MTI`5Uz9)v!V&2A2cX@wO$AIRjP&thP)P$Due2Om z9;Q-wye)e0k%a`MAG3z7CP^wmH}#&NKd?xdZg4LjG@W!n~wY!XV z)5-wqtCuxupRY(2X&E?b04TL00k-4NZ}sHcavd}Ci|~Z1(T4<^1|cQQfAOEGdQGM? zP#dedmjE%SLP&}{eMX_0E;^(mFZklz3wk~Dfk?FV3B`g$zr{xIw>qs!lv9ohSzoj zmTcnRZdIhQ(f8qg*+}0lo4r)?fT_ROzlw#-mk8srcRm4$cl`)>yovPVox;IJ*4ley zN`bs`N;KJ8?`D<1yCuHB?IfUfIpBdwU_q7pU))_mr)^-Sy7aaf-O7d?2=T1f>m9wu zPlF0U&Am4SQ|KYG5be0U9ARpm=$V=0i+PR6*Yegcnz%!rWhsukV+s&I0b*Ec5`Im& zfxdA&F2=uAkviL35=P=*YDH=+k$tn+Yr&lXfLt;nb>ejPTqY+b@1Av_EJ4S~X3&~- z9~WS=?hjdz;;;%zy*9g4)(abB#tRsdH#rNzk#XTd&MX`bP)uTuP|K`0e2$Rt3+us2 z)1H|3vfOJde?DMRH5C}3;;rEQCfDr6dKhSP#~d`DUk~=?F1msANxYrySj|Yd0@SQz zG(i}{s7!X=QxobDv-&2nO&;#j<3Y?Z$kc3147cd+{rudeoldm$Q(IX#v;<4rl6LCti^}a>dnodrND~!1}MQf_@G9$4!6;r8L5+4zs@ z|D7ra8Z9*2rk6^vQrnxg+A*tgJX^NZTI2rbPoiE(XtaS-yf;y5rs^;M1Z=`}ZxbO| z?fK(Hi9pO;Jy_{&_|qZWAeHs^M^2TF9>YGX1DT00m<@0-n`YET9Z%)g-&VTMNK^7L z@U_Bp6|hOlQ5eA5hf!|CzUXX@>p6ZeQ-_S8kzJ!K;a*a=HAP3IkFSlW8Z;-MdE&#Z zgxubB%gyq#CiR$ZjxoNoV8%8>q$5JsUZKPLQ=E9woDzwN!4Q8mRZz39PaA2j=UbdlcBHiTe+6Db~bPILs|G&xx_RHbwB2M{G7Fb!MVKpHDB`ctj(+=`X)jP*@9;V1JB3AT| zu?xAAN-4F~#wwM)6ATgf>Zyn{T*PS9nT#+i8w|%$iyO^v^L_+eX70WD9pU)0Wwu<85U6sjpl+IBra&)ct|G2(Nor4_ZZSk7Do^Y7TQJ z^2%04eK9}<)EXi?j9dcA3l#hI)Quzc7uk>rpbMX0x2w)nrF@OKymGl6S<7L^!)!Bg zBNhfu8hJKW*1SbdL;kB~#@8hxtS{)A?-``55+V?pwB~LKLn}YU1e6AfFa}{A1jmW@ zqyyiLgn`BOSG-Ln9;pVS)Hmp_TDd4kRC|}NgJ2DbhXR@cBI^1FB%kw}Skf`%kE8@k zAmR}`mGSPHBFx#%+oftf?r02!~Qz2*4lRF1kUNU`B`rUFdso&$eITK9k#xz4Tb!`gQ z8p*A@$qn<SlStUUFSJ|+weN3==X)CRE-a@i{4E15VyjNi#wxrmJ~a!C|S{T zOcyDuopY1V+JkrsN24))asz0>gq%-!TeCgn6W~b=JhlCiu{%oiq%INhdWcMEmFk+I zua0KdYni{e&3!RX0erY#jFJ{FJ146e@o=1QR5&Fj-Jfa8pvEVD`+aIB=e$+&w#TOB z|76m~x~!_tb!J-Qd+7nf{!;KYrzFeF#F#p`_t9l|ViJM!d<<$mknb?kg7aM6Ev>rW zPbi9W7$slhFdQT+!-2RtfTtl`%ery!DVvpAGDZ5wU<`ydR?tnIFD1A#PvlC+&+$#; zHeG$9JGnz>rYsaK);o8i+=KB@=V6!Q1tV1J-EI zRydt4Z|td_Ywit8WgZ{gl12=hoMYw6nhE4m+nWOqS99JKFLi6(rpM#*xb-ymCwh|6Egm|8@7_yv+ znxLyasP>byoeD*`u^kB*#$F7QRwyTQPP@~hCyp-#}W%Gp4x=?;y{x4m&`^7*kXXGse7G@P%5RO zq#`l)d*dv1@#2O?TWL{_8~$dY3uWDOxnKxeG5=52-Db}ksTrr?A2g?4wzuYI6Y0&G zXBjIfnfYXhQTZwlrg-(45|gCPKG)fLGSNh7pIahkV*cN&h=#9tbFeC?Tp*Z8lE;{`#{6#$%F( z`@SzHju0sIkna*%+Bw~D|6%v!TWb5yrmasWsEjm_(2jM7pEr9 z3|{E=vOjHuK9~3!>HNSHw%@g=5BVVj2eWgHknW{i)z=4HO$Lrw1F%`~hV75z$%T63 z+ZLd4#NgyXLMT;_MJ3cf#oKrFm-`)bY_(#j1zzV0=7Y>P#~CDn-D_psaYu?Id?ks_ z6bN-*v3R1C%kr16e1#L>ry0HAVEBo|5;#PVpR&}VoS?+yq;Eeo!C@l%(G9&ysBhA* zY)aJS6ZG1=$xzGQ>+B*e{5{2uv%eHOXwr$(CZF4W%wrzVa+qUhy zPm)S-?OMd<1Y{lR*FF-msB)q?p1E#}b#W|<#itIU zfEbRLL!3=nGV4KM#H2;W2jSm*8>O&nV%I@sQK^q6-yE~(^ zHw_>mIr);D*yl3l_3-S<8ZEG#wj_3+NXEx!BmY%PxsJwPBxeg2|F>Y$S2Srx9aYi& z=pz+$5$>sTS60Uzk@D)g?G1>MYZzXds@FH~vG_!rvGxH?Yg^vj?^B>sY7{@rD;46i z+QOqrzu-m@Nd4w&&`7ZB7Nh3d#rF4b1MQDvt6~~0TytE8ToO5=2mTmzeA$ zXj;G&36I-Z#f8a-~ zPI(+QcD&xbj&^XHB zQoK+9MULXOJ%~XG!Uo~XbI}@znt|hwVg&t%S@hSpx)T0mQ=_V;$*)CQh@+76F!q&&!+oAxWlTSEE}_hVq4 zag$KLaa)zZtmosEy%kZMM`RJ5UKn*0&9hXjrMjw3%~4U$$G+o!yIq@GHiw-^Lzs0Q zuATN}WABz^%4Nzz?vVt)6wZ{^)Jz%_zZzZd;J#k2tQ!( zzB~~B<^J$K76q1H?j(+$#D`%LqM8io8Ez$teNPDju5Nl&BMIrwCHAocgN(8wFDDdN z;pD)CM^vV9s6eX1``(L643nmuJmZOnD+4(PV1D>p1VBdRMW(c_b1m2C$8W9?fo+}^n5pac^ zKHUNP?9}_xW2JJ3$zDRd+DyA+7X%I(r{CWeJwXiJJiOVtw*6Ow+9kH^8Oh>=cj{f+ zGGgx`+sUNXD1k_@klnSy8dF`YM6z^{3o)QHVA-w9gPFG z9%}m%E*_~sgZ{2hQBVV&40xC_7UW?pjE5)!nMnZG?8yHxfHR5?0 zh?Amg)_G7)Od+~nzI`rdC;b!5V1tG-nqfUE+R^yFx{3cVcI;et2@j$-{1u2Ahr^g* z1kFvO=#GZyzV{h3!pWXuUJNKxl>^Pl5LH9$>e6a~i_oi4TV~BN2pK6Th)Id1+5XMA zHB5Z!tI;ZcL83Hj4#mqEsW~4U%&aVFB2V^M@yl0CNnL?kmqMIfhlP0A2ZgAXtyslE zhly^65`}MZdbI803v8Dj8}P9o!t08~rMc3BjKrf;BP24OlSE3ZW>^>3F1x|JI=&8| z)R%tq#()D;TcqM~lw@V!uJ4(&MCj@oV#+w8mUau~%5{*;{ik*iUBdKbYg4SDX z$4P}X>x47~vlVt732->6KZ+nh3+wb!r{-mN$t;zP=(PI$@`SESon+V%yCAOXiNt$Cr z0VC+35tC6Vp!oMa{>b2g&$fy8LEMi}YR%hl@{MfIP{@eZ|CEbg=SK#m_grOWN4k|f zl+x6M-H6NvLy9lt?S?s*YN)Rw#Rg+W9M$h-HA$0T3;u^ZU-O$#Iv0(-jQ6Pu<&8~Oa=a3yH+$$jJ-E~ssJ<9^K7bmV4lFW>u4KqF#n zfK<_B1LbyAC;18K_kP0lWOf+vd0P2+KVUIfdV%Ne!*c2C#1zOQsv%9o2FgMw7rYEs zX6AgKLFvCvbOR##I)r&ncHn*RWXmsuy9s9&wmSq0OGHCgI|d4*+S-(Fdof9P!qIU) zYdt(pxO+`g*v9KPG8Iiyy|x5?#v7O`J~nzDLWOOJ>Up3aR@r15Zf9Kt;P3bdgM#DWAdQ;wj`9dqB zBGCwrb>t2DXxD4=MS2ce+j2#z0bn-Mc>*aiybF~D-dAcIB$mzPG>S-R{n9Iv16PyA z6Vn}oEL5C;wM=FS0mlSOl^GNXf1Wnyp9T8YE@s7PvhaX=0_=*-b)py^ z)QVfyG-wn)cV+ixv=$FFRGWwi>i!QHI?OJYWUdAm#ef)b`$|ECIG>|J7{|+y+2>o8 z!|y!KLlmZl1(OsQ2SBrUHJ(x#gVvJ3>vQVhlM;rr5$kt$9g$TfzE0I2G09uW??aAw z^c>r3KE#t)X!Gx}wmFz@#Rkj>Z;>dH_3Mj)B7Xtn9FDc8*~jq^J0Jl1RC6V z@70nakD{xuh;?c*VE4?iS_R)bZO5S+?3quYx6rZbx@sd~=$;|Tg@i`^#uz0YB4B`X z!1d)9C%1=pJ5&*rbWt5B`bZuWOpoCD7D&+dUDTaXk`fK8xjQ}NPiL+CO#-&1VP^ph zb*0-}m|XPxGsMb<>SWO(^&99Ah4SP?;b%RsJ=Lx1SEHc)!}8cC<}n^d-syq@O1Sr| zr(PnTubhip&8nWYE&mEWWzzs>dZ%kH*_QysJcWB53bbi9d7!bjgo{VI%359N@>{ug zBOKV;4cx83s1RIzLYcJ-Ki`e7(K6*`QRfq(*v6|rqopo=JxX`%2&q`=7R@B&=Qp9LI>kk4G?r;hP#(V#IG-I^8k++n1%Bry#s zy*5En4$yI|UToH=4P|*Gav0u+c}Xk58aYM9&CfhGbQxL%%fn0@8zJg4S7P5n<$Idciz+?6ojigJ5nmmxR}YUP`P_M^0XK2? zz1hNRyb{a;E@(*%@=u7JcKd}cCA<+b335-<=Wjjmhc9P6a``PLm>I~%#=L#wlq~D^ zjy7sn+N!Q`D>f77AI~+Ttx`d?s25G0v}vnCIi;bOfOj^IfzYfp5uG|oaC;Uv(x6Z~ z4TvmTeSv}S-EmA`)29P#lPo<)UFR zp9e8y5{U}VfC3p(^X_eklUKHmlV)>9^D)TIC2S%)M`h<}K&CBr0JpP57pQE<(=G(W zp-4%3l|kD9Gd8jgKe)@@LB0y5e?B*q)kqOpXz)eUgVmN%T`NH1Wj>I};Rc>+V3$MP zZgc`dExq%kmSioVNQk9|zlL5rihFKnez-JI`2%_H1HjvnwNe-U2Kv32Li3H6wpy6J zhP|;Rx_u_eh3nPd9(04Ni(j6>>yVT%05e@m%iXz^9VduRJ} z*Uacx;9%l=Kqwzc?ID1ylpGgIxkTelrCmO(v}9Ko@y@|T0x{Co_V;5gqY z)|m5pWuIPfpI96HgU1fRPImHpHZ=YHaPyKvdYuUx6PAFAHm6&lYO_tSYy# z>0{6)h1`7;(qLfQyf7lMzivn*5XVg+nlzu$$$D-kF02}RE2C`zs-^mJzaz`JgB?Ke%4K_YVtulIw_>DW&&`NmPW%YMM?E1`v`dE}I9ee+hGo;;9Gp zz(UyA2k~E*v%cB+m-q;#+Q7je5#hrWYo*4oE1b>9&ktr$QXVQ#5e6w`iQz$Lh%GN(j`E7_A)P#=XY5U6tJ=Fl0S9XtY?6tIo79JrkC8Ru`6>`h6LFMXzaX zE0?v+7o4X~Jrkp4BJ61j?lPubqjusd!U9RN*UC0N&^69tR5rgKyNC~LVz$G72?Gd~ zjbE37l-;xTgP12mJ5TC^WC736bY-EsN|l*~zZEkL{`-VF81xpT-n#pc(U-N-9hMxu zUNrW0%S|>M+zxW$J7gDLwPl{2MD#Ui6?s2U@VKlw$gj#SLlSC5U+_KHAb>%1B{#*} zsH&8d6H;{LOqxC>_C+=bskjH(U5O=+r=4XJg1nqCxm9*8O&@9J)Ns`HScwS?T<3;{ z8wl={p!1x4QY?LRy1~ez`a{m(rcjh<%+96MVncuGDsqKeVDafRhj+dA+q@;M_9&fo z>MI#|KRe(N9ilKl)m6fE5%KR_OGEM(m%Yn5N;-YCR3GeOHMZR;g_QTI?n~RK z1v%;2C(1@H(_9~%erNn4was2BLA2|})r36*aP{=$8^tEjHfSJ8kt|YR2YMM>-%y#gX}=K~a82z~))s zdZS@9CrsRpTY7{tTNieNCy-cm*ga*S59`%r984reSpgw(b9OOVaZF2i#;P2hxlWO4 zJvaSLhPz zkj@BG8pHCCsksZy+;cW$Ly>1d#)`vKO61j+_Dmp0iPfF;$A!jGf@;@@rB;@=+vzxPI6zr~?D^q%v6bkT z&SB4+qP~-t;aSIh&CA!mS`qk;kZ0s&3+p%A!Et{>7Sd>H!zTu~IDUpBC|98&1c&7fo|% zN0ZsO>Rp>4k70p-D%7w_H=C2UMgbIJTrwMaF|8H%{iEc-1?gGNIYL;K@C2xRBIa+r zxE5#&jy)la^^`j24h0Nq=AYGfOVKP5kh`9gU_0*M4mLFGmAkl979~#{X8>G4t-Dm;{q#QD%PGUoR^U5|-`4P1XXwM3 zM7PNdCiwnEMv!fasXXLZ1Wp_XT20lF#r4a%M3aAnxQ*unjUI_4E9W?i7soT?;v>30 z4}mVA(VllIE}oZ*5YgX+ayt%ufb^wAFCiP~nlD1LibIQP_$mWS5H!tNruBh9TV}x=G7A!%HRzE@`VSup_a3amv;_Nxih`p_4EbkyC~O zq*;GQ`8M4tY)<7`Pc$_Vg*{qjH@; zU#UJAtXBZPuXR@Eybsmb!!IlsJqwmRkPAI;VhS>VX}_JUthwD$RO&nv$d_9?9kZW57f8k5nNoxK#q}D$yiNM~- zihzd)ivIsbYKdx!NlN|~Qj6pNVBKWVIfA8UM3(Q$#SVp|J33IGHIgcD>0gh69d)*ym{y*@`CHRO77AfRx`pS18qa*PNO!$|>>Nkwcp zV4jB{AdpbNpu)r;qeLJe075{($UfZt+(ZD=eD-0${26c$knli6k7_9gcYgVZBxWSl z(_3)>@CalA3PQrsM{b<_J+POMfB=R7HiUB+H(^x}zybha4hSHzk8f(w@MdPDbGnJy z+rz^la2Mgb0p1)FPEP5KvJOK>~OI4D|mn|JDJC z`Q7a8j_xu<2`dC}Z{hAm6avBpaRe#idjLY@vttB2JpqA(ezooIQu7E31^|PEfUE`Q z5HNKAnure=jPbfPjLE0vZ_+1?2mmzMq2pnEhfe0}K6J-Sjb8_2cXVMD|JK z%iY=&?f54T+?(5Q0RGnI1B;(y!tA}pf7O79fC!Yc5B#1IzWsA_mVN7M{?tAE?&4N> z2^RESE*^koHB0*3bYdpUp{t@Z>*AtAisV_Q85)RuRF z23oD#BV({?{?=9j0T1B%#peHspa3{KhkP0mrUYm~0tA65G+PF|`qVxE@Z-b4iG%{o z=Kur5+0XUp!=feu+5_+G@*eaZz|$)y%a7@EG(?FJ$N>e}kGhC|e$4S}2TL!xGCs66mLPvpg6lZ)3{f>qkpISs_z3+1kKlph4czp%} z`wSBFfX3e=sE|loO}JidfokUK);89tvd(doJo#=Ql4$Kf2mGtGwr;hE7v%=GtU^5d zbTU;`#s{+CgsU6>spWbaR%23rN<6Rf!HyE|2_4p(>&hL7iL=Kdhio)^z$Vd0a=D1S zscEFuSeEJ69*J~`xZ~NP`&5M7U`*Hm?*N>vlgMB?N0di#}54fL$u2Rl`!IW#qO>jeIh2bqUv^|BJ7CZ43Y`|3ZO%$~?3 zA)A~1S&kVvT1w$mp^}?BETemcHq#npNZ$J3Tk5bU`;cF+UX&E4gwbnvXOX1Nt8)}A zqc=NAnR9IxH?Qs|RGFI0VV=8TP7_tl3TKfvl%a1GQt;lBjsgQv{qeU%`x?{3ay_L3 z?ZZeJ$ju?7e&&T_xn(=)%0!Ux(gm~pZLcgXs?bXT>=jXbaRmF^1ppJ4IwKb>3@&LZ zb9EdTuQxjF`;Qd!sLI;A-Bj1her~!k#}p#(yNgDmrud8BuAWm<*!Z!x5;7gCqDjsP zPWMzQGb6nt*)Rb=yz;GVS!Qx*_wW~qb73TdV<6&rcESprRw-O^T!bkdl6@-sY=*17Mr)gs=7uSz?@J~K<%z=aI z{q2s|AU^+n)_GL#qjG@zGA`)ttwxsD996h=o6$%nzYZ;Lv>hQWi+naNEz6=Z=gJ3R zvmy0Tl>W9BoVq-GKXUO?PH8WH^VrVvjVSILn4E|2`;1C>!VZBp>2>oFLlvtd*!LH= z_J$Z)vf{t-ER{$!%67lz9cr*u?zg1mvj~DaOtQlH29|7ws*9Xl)r^tRfX{o1EEE5smy&znG$H(Mfk0lZ2hgKfXU=-qxVcgnRirh7BA$Js(+Gm?N z>Wd~Hw8jZ39G0-9Z(U9S^+Ckm-6V{I@Ig43@YrXT3tV89v8gcx7DW(o;}h0v(C{zt zo$W~ERM48;Q%tR94Oi%+*QO=nLgib@y0Zp;-+xpR!_$CtNo*z4)A-YctWZEr&C95BVsHGQ-X2_yabXC~ zM(UjRn(EaJxZX@pQhQh<1o@ia`3TQ?aRvL``IsKhvr1}V&$lL}pI}CUk}Kk5b4~c# z2aiyvP1J8+H1q_FIPkDzBIK2U<+hXi_iaq-w=9P&&Q!D3keViCYb8euuLCpY!W3Gj z#w>nI-|aBwtO<)MdK3wduwFISW(LhZF~k+aaUFt`_AI|c(_k}<@G=6YOwvjU;ZBt^ zSnWxsjsA+iQq@@&=5d*wROC%3V_1i|H7rOG0Ry&bBijqRL#81tYsv#or)DOtya0{lEJ z;%EZO%sG-GN%pSBJ>E9b4KRH1E7ByGKsF3da2ZeAbq-xg7Ij*@qIDZxB~h2OOm1CZ zY(1x#Bs!2^5_w82m1S=o((@GXGqwOqy5;bo&g7)=utYUgsm@p5%gIOSnnSeR|IW3 z=3;S@qlkuhh|BKBmBt$uKQ9WddS2>`<$Q-t*569>FO>s?V+U6uv2#4skpP{8Gx5M} z@Vz}A3J^5uzck9}x7U7z*ED`xf0e2AG{Ii{k^#XxR=e9yv z?t5~yV`fzoR})s^=tn3+l+qy# z{25o@NPme0_SdWe878B7Rwl1+*xI(oD(2sOtEWmriKZrrohMXLQls-+H?C zhU3Pe#;Xp=k05`t`ab2P=Cz+XL2mp(41M&Ci1+2&Y0?+ZH$_7C`MG&H*@(U4L*bCK znDP1zi0>GtJD2Uarv5gA(1n;O{oI`TDT5hWTZ=$(LFDIaiV%V6Ja16XCf{@k6$1^o zAWee{%6t#4O-U)br<)>73FT;J0Q8@PYEgf(j=^)BiTvz$QvRN;{z+g~iPvlUn}s@$ z@&ZB3`UUdArT<{~mnY(~O~zM21i#=*;MmtAs>?f;O5Jo_bX%(Q6x23+D0^b2hsNm(z8wk3Y%d>G%AZP;44-DhVJyJP$){- zzJ_d7FFnHy{v%Nmx$8G*WW5~dn~0q5>dXnK&u^uiH@2Cb+EUWmC*^GZCv9<-ZSqee zek$o$BE|v89 zS0Y01>{q2}bF**_F;FO`MDSKitA`7p85cf7ATz8hdV<~=^xX+K`|DznIO84I`$p$; zOuhEzA#dn8!v2D*@58Ka6b#wv0L>T@Rj4hBBps7Se9bXHO4lr~&&|pjQZ$4-xk#lgjdToJ_JiMu!*|)m#0WyHEYc0nG3w#}PUjp7|$okQUdGx9b|q zR_-xvUoxw)*J&yoA7(0kxDrCf4wHNqMa8WiKf3>|6la!?`o=An`dBnVdRULT&dU6( zI@28}ZpEU)7CJPlm+ZnpWxgTqkYt6gEY5<7M!T(B}h3Plgsj{ehCWs+gkN&U;t^^OpzJ61$FSF>a%!CL(GH2`6b=@+NW zV9rDdiZU_ZQLVUU#-z(%+fu2;+$uS|j#@0ib;OU+xcT-1K(+0nGec?Dy7$+ObH#Ol0 zF~~(0;UAZytFF7pDf62ch3`!CijPfA$MhF#)1$8&b9by+y*bPhFPBQWNaKy4Y*hl; z^Puab^S-fOT9-v1to{>vQr^v!aMTmGPD4mU?3{dywOL=!!M~#SLqjx6XK+_2l(O7e zdtQ_A#OicMVlx@+O#2=?TF&Xct$H5UuK~tIqj9c``9Z10$rZYJglYN#uniZRUN`MU z8WXy#m+x=UlNadHM@xlCwPf4K-)S_v8hTS(W$!3_Y1D0}1oSWmBn@b_`4a>iStVJb z#>WeAN@bTN6CXO+}tY z3AyS5OrV85wuLWR^tX)cw~rSOK!;sqi%aZQ1j?hYm9ObbYMgEwouBEHmB5PlxRJ3q#@ z86$M#0O-*iINprIl{CpNy5i%@4G11!uU;f%Upyfub^A-+wsn_0BF+;m1nS;qq8fH| z_mUki70>FD%2pMh#XB*QiX<8CGb<%GVpL3}d!s3t38W9_HI@<+$IO_hBS3F=S%@g$ z7-^#`S#?B8CZ*E{{s+Gjh?XAM_!pR!vB}R#6_FHI3}gIk2ueO!;g448su)6sJw!wi7p9)&8n4Q z%shYX6y@LH7&Cl?Y86$n3{r7DCZ@UaF)hmKFrO;!wnr<{oLuaza1`e-wa?=D93gx0 z@uhaJ))qaegW82vI@^yS!bGHu*7K20&1$?FlNidJbzqlqB|Gp;Hhhp$3mR@XECR+w zB_?JX-;_&g({0kL&e>NF1|Q&_5Sy@GB38wpNKrb5k9ZeGOX^NtQiogi;OL|yIEf4s zF*Jj!!JApgF_k6Unq0u0Ani~aI*oH=X|id;LGA^CN0Lhx%3gJ3RN>@U=T8g8X&U^rX0jKrlPfWPc?`S# z1#i#JJCX}y{R-_oEALk6=tOYeU6z48;c!xu&If>R-#H%cKwViUsX0mQhYQ7 zj@+_0RgI;`RfJX;iOah&1(-ayS6%30Vk|4WZK)k9BIwRxP3Uab`1qwh0@C<7OeFb= zP;ay2f0n-RJb6!fbVR08e4foOfL9P~o>8b-a{o;#`kh5!2Vd(oc;&TJlU$6M&3X*_(?%5aaO`ONOUkyec`x)%-kQhR}#XRr-;1_ zu^l+N_T^q}Zex#9y2?+$SZLBNB9y31&V3bx4BRSzZe8=a9gi6fz0%Y@^)bs(TIQhV zlC~+lnSJc}UC@|v5U;;Q75=iS~Hy)DZ7txoH%eyd}?r~rklh*Y21W@+>%37`h8Cu2v-wa>4tK* z*Jd5^>I$!txQt~1%>HhsDo#zdAqIvXf4;!eIp1iUynV_RPd6F_fmWsJn2Y9eVo>0$ zIX;O`fRjvYJu|0VbH!~Zf2Zm+9g_EL`)^uxzrdcp>O=KhCMuBY;6gE^ador3R?m5j&b4JQ3)imo#DxJ*WSFFd^g*-m6kOT*TQYzC zJ7scai)PQ)WN&CudmUmYL<(-q1vA=p@A~A3Y54f&IOU6yOPaX6=7;g`o|rPstqM3< z!`J_iZdoz4dYjRznBKm|TaR{rrEy*+vq&9FyajCP@g>a8g}la%6UNfBeQj6>$91}S z=)#84tE1_zF(^f{dK#Qk0W6Eqaek#;B9fw&Teoz$S#3$xGx6JKh+p=Xb@tP-hUiJV zUGRsLC@j4ndnpwo)`ZlBH#;U?d}>?h&_}@UaBgxGEocm%X#!+J%p^;hFAYg@+&P8y z2Ek%^S0Uk)HSQ*0StjBp!Qg(SOUY=L-fg}X4Y`Srt~d(U>HOKbaHi-oHX8JUGU6`(D#GigDgWC>RrcKvtIF#b76aO1Kn$4erqjx8{*)tH&G#{zt95WH*O9aI*T9c=jgI_U z@|Z1vp6y)P*VyOJuW;VBKV68>@stR_NP*-N(m1>P!jQad99rL*J3UTtpKx)Q2~exUC1U3d^V$8$HZkB;b7B$VWzc)1 zW)>P>P&vAzjpx+g!P85pS4V*+Yb~{S$wQi*o1+8fc}tut61Hx?l1fhpMB5e`j2#|X zSaay4jKk+wNW@&9#%`PKKt`1zaUIA{Igf)KUvzu0A#S(}j3LWq6n!eo2QQV~>U!+l zR9{pe500s~haVuz?g>o~8Q+fjujE_A`Pim^Xreic>Re`mQLqiWTzUA5Nw7?FE#i7B z)a}(qGB$5%tflpHl1R_r*^y*q<{40McDVKazv^BJJhxo&zLhW1ni57)TTSjJ4;GCe zH|kWm81P2aMAfr0nv*f3a6&FFUt8_FMR_%eXnu{TLF$l#8$0&R<)!?sT`<)uZ9?*L zz_-A8u~-5s_FSAdXpT-iuJ101b2xAN-&$z4a!8t)K_Wu9rpC!mGG1meN&{0zY7s%t zG6QXj#Jyr)401Iy^3TTmz&LmcoUC@t?xGd0X+~%>lxiamqvcS1(ms0gW(x4r&nFx~T0Z-UEpt)$+)WJ8EVTb?uxF*1ZqUGs7J=eTSLK^_wq_HGLgN zn`U z>4A>onv6;()ih$91_NEZtSprpZy;7+8;WVmrc#myiTqS15>?A5=KW?fyBp_J6nZCs z=@=q;@sA#elzIPsK+Vf}de2S)ub99MT+3sp&4v}BEeprwo4zu8Q5L(?&J(W`1l=`Z zO)n87{rg79n?yr&F1y_j`yz-tj4ft5fm2|nQ&^(Ex_j>L%PC;f(=E&BLkg?_el53h zpNH>Ot}<^n?l+jcm`X}~GE-DH{`QukG1f%P9MFQuX0^wfB%<86%fhVI+2C)t?7HK1 z?-b#L_S-#AqdOX>gv;J;I{XDHX%8CzZV{OT(Q7mbxVhaf=VK*g(jmWxei1p2^ylgO zUlQ>KZ}H#sysQn|v}qE)ZDS;Wz81eN@y@Z$nZ}GFJfzqRhSn;&Oj8Ej?Lt5dukZ97 zh0baJyutBAZO~!jTvMe>vL8A<^D?~+O-HbyZmswdHs!P2X#Rs=vv?iV z(kx*X)XCh#aCxu)w(^tZ)xTJ+p-tN?vrUJp$1m?9*)5a<)Kdg20J@4w|jdbN$}%%NH$9+TvoKV6LvWZDVdh1l(`;8T%#i^ znmE<6X|Z5iQ=zRAkMrbH3P!d_+Ll{GSz2X*C7h~>QB-_pdfkTcEl8PO9Q&N8LL0^g z6FKP`%i2Rli{qm-Um0ZWKDDNvCdD!gxlh#xk9k{FzBq(I!_e;VAIP7-zS>qagift` zi(@@5&ZkH3PiGTvh%V0DFx%g{@{yflj|LB1S`OV9XLoWunr?0$&R-nDfzKR3uSVw} z90=P}N1CW3>wo9)xJ?jGm$h@2bbkB+ys$F||2Gi`*8k}&|Nj<&P?M096_@%at5w!y z{MQ01W@BjXOz`iVU(DXlMM%irgFu^>iIaeqlZ}CZk&%&&fSsN7e{_$sv;IeM=>M^M z^xtd#=k8Hj#(y`IT}*A&2w46-_kV~%7&dRtc;7fS~l&;OKh_>V}#f66$p{ZISy-!l%(od4vx z|2^Zt!11pz^?%Jcursi*|37CO+`v_otrzKl7OGef{{Soyk~~!|c-t$X06`)ULXs4O z5K;8J67@h(=z>%%pqxWMKv2k*1TP2{e<{ws|MlxfAXaE8JTMuc#fAo;DBZQ`cmkW09DFpB#oR5(fZ4i67j4kDyeq4Y3#lwbfWSbCE_iFd>>OqYs6@bNX(@>bFbxdw=;(s@ znX&_O3io*p^2>CH3G&uav;`>Vfm9FBjtujge>Wu1Z2&;CfsD5I+K2nArx-8*K(U1g z?GV5@lz{SUGL~g1=fCoHQnb$pfQ_K%Z2)k#`kdF+<>4u)D8atPf4BRMy2!%b%(963 zGxWyKhl-jE-!HF%L_kGO8J$+ujw2wZhJ|om1bFnL z(4V)x%hLU$6xy$kObqen4hoE-H^~st&p+7)DjA4#&wlsY_TwM^wQKTAJ@qU7{@X(c zE6?7xYZtit^E(79*uU-I4|pf_GJH@bgdds*d*m-nYv@m=`H$}PCi>Z|iVfW>6UID` zQE#WvK!Qm8G7dLp+2dm`b%gB3@%PHc{$=yVC30J6dv$ps#So@Crk6{n16Y!`S|)Ox3l;;2 z54A#g*}MXBt9m4Yp_h|L|DWO2rWu0n)}#;}cJGl9JIANF1Eah? z&(Yvv%SigE&x$|r4Rtk8E?A<%aN#|ykI>4r7J-;Z;Ume2JBZN75S~;9s^*x+LHL4L!syeR9fi}-*b^M*Y816kTmkq55 zW9CM8<(4`&rj^$0vS_Vre#9F~Nf&z=3lhVAuYBqN%R=}3VjFP+gNSLoFXUjDPl4Ov7xzt$`pjux{SV%K3~aFLNDC@_D*Q4V z0Cv`_Gtl!BYj_GSO?lF^F)(avD07a$mFv;{JK@lVDrkJ69-5p3!*X|g^(;^PD528k zvyT3FSv67&124&}6n;wK11kO9A|N0!uWxWRL}(vg_}w^SS=f#bw9cB;3D>k;j7l74_In0iHx zS7fh7%d}}YAE64b9rLBN`ptujNW}LvEQ1)H2?)B*#gPg{v^Y&8 z4a*up=8Wou8(q9d)1>9jz8nST`^Xp1(7)_EU6eh&m{;q1Ubx18vV{YmaZ+T9)@-R+ zqNptZJ#2=`pColnhC)gb#XeRY@UUY9gmA!3N0 zVmd~RwoVg=(A>QY=a5(ftc+ruE~3FF{@10mI$%41E~dcN>?uFRJ4<&5hS52;cMG>p`6_8_e@5eXBWr`h9OOf@j5NxrNx_T zLbP4P&?^rGN^G|5rHbXY7W)o>cW3%Z;EMEsPzY_6KAJn(yMEMOt9B~!WT7HUkVP}Z zD?wty?8g*wJmWA{#+7;p1bI%pnHB|q@@@3@gF>X(s#u~m+79dk9;C_rwZwwSZ=p*< zt2$9l`<2tx7a?7P7g73?Rp$R=?Vf@~iJ~+?AKSKV+qP|=du;O_+qP}nwr$(y+^UG_ zsEVnMo`-(P*Npv=J2JlY|BE5~G*F?{0*X-M`ty4g-nS)cR$~;{DKZt5~P5RihoP#4nhmTQd?sjwhb-5sS zM%JF&%<#Jo*tnr{!Y4y#aN_C{rFyjk%xR>javAQ(Cm|W8ZNkT?Q|6dZ$N|-}%Lfmj z32Kwdg&HWJ@Lxq{fBxvirBi2W0QP!gDoJFp0hU{UlC2!qFsLL{$Ar?qksjG@BLufW zy_3_)rzo!`%3&B!Ido8bxg+I*#p}r}sak~|4-**Gj)~>P46D7jS zjTBnXtV(~iTu|%F8s>%Vx%R<)|QuUlLS#fvz9_u8?p*| zY{;WdFuIojW$4yf+%MqrKspPub&mwrTfDbZN^B=T-?MDN0Lvv}(8v~co#~bR$nPy* z<2P>Ztofsb%f5hQRN8Kb+WV2gyTKgW$V}@N8*r`rR zNj06}>BfxXG^*PU0S!t;gj4%U)6~#9TKS!qVG1b>A|(T7s@Er^#b$Vshyj%*;QJFY zT{6N>Egso0SC9wRPQd)7>#rz+!)`u`1J&5#rHQb$Sc0L(l{r4>4{WE&!Kv%mm&ncN zPrW%9WeBRO{PJe*-%K`Yi*1#D*V=*-Hqt@MBts2+1B3c*55-ga8DN^AtC(jy9%t%s z!7+qo>4(V0lL{Zl-=O+D-;6wkMWdF{)oDzm%=S4+-Z}+42e4r-$dIDLz;1 z-?88&JmO3}8dr2xi4$4{5u0Qtw2M0WFhc^`#wbN^QrA9wB-e!+grH0-5E&O+S3ZV? zG!aS7CQ76k7U)P=P{pMkaeENhmu9g&DDXN07!q0 zXo)hj>OMspRpEjKo}OZlKdeBqm{aV+t6W%$IdGI)vw2XlwmgO&GCDBGQ**ee=k%N) zpq&u6++plD3M?DUWmtW$v^B6Eoe;`{JqzEglQEu~Ennp7P0!|8=4XN(Mxlo_&E?20 zgWW-u7-Tj!W-wLs}B z#L^&npg9%tBI%p{xX$IDe;Ay}jpo!iK-GkmTnm4KGb&6)4W3PHm$4eZ>AN>I zM8|=DUf_!;zikx)w1K%%l#3N!%O7K}#XE4++)1&+Flro)*ky zc9a(vCxR3`?U7xiYY@UZM>V(D!4-wR%45*%P-Y$w!e~^4r5<-ZE$6VaY}JseCEs1q z*%tj+DB%{ykWcpz@w3zl|8#o)=EP=ftd+mqa|iw19nT<=R3Vj*4V-46Jj-(QXTPwQ z^&)C{8Hn@YD;CdZ__3^g204}aSS3ar(h0;q|J2txJ!y_YtB0@8fz+{<7{;lwC?@FkwBo}eVkx`m$>8G z&0;VM8X;CV5BFntwoywQWz7e2U$M2b`ZQvpp|FbUv-0UFFZJD;IDDc2II0J17}WLB zTW}2G80hI?h(`I=!)LeizSRV`ENv^vYoiaHLRk?u-4~w#$-{j{dI|QL1h}lKJW32Q z#?aMvZ15`90!lo&Jvd5m)WD zo6myzB^DGtFz z0hy8g@~p&!USNGK!hNGoN89uY1AVmVysNr*3susU0H))$@o8LZ`}{0)6*u6S$SxYG$S)j1kF%12m3)@0;62OztF@>L@uTf)dl+f>)kqsEe( z7bgwP#r;W!QC&EX(Pxklf5DZ5`wn%+bXcPLR43~AXSOd8c(`xvsPeHM-|Up2ck#HC zF?z~FO4p_s>;<->xnGq6W))H2Q36xSGgsXsWdX}{K#XaeR2CBtQt&WvZ3P<3{UTL60HV_xU5}Dot4x-^rsXEvr%lnfh*SV*g}jHw+SCNXwXmS^n>_D$AGU~Z`m~5{Y4YlTv)4| zc6!#kE2rV$F(TZAWN-U5N3hll$^0hYa-GVFX zFlMKxW^Aa9gR;yt;mNfCv45B(-hz!KF|o1+{( z7&EupGM`-L$&oi-c^FOc`F6T(D(1&)s*lqG7lV4B#X#B`pq~P#6Xoj%FfqgATIt$J zBcU3yMN734m*3pW4Kv(k7BT}pK9gPiX0BwBFf|gJrEz>GvLAwr74XiuZi&Zg4Hw?K zB`z9>%RZGk8L2EuJQJ^M?c4blv+Cr)b2Irq^W;qJ>lNd*3$ingfF&2}j_R3Jz=*+m z`VPlU;=8VP(bk~jr=k-;%X?=5E%5l>&pW{lIf#NlP@p|(A91m=wqQ* z_o$MkZLZqjn(DqdmNj%&Qrj?el%4XhWWj`k<&)=5RI4pMYw|4a`e)n#RKzxm;am_?$}ctb%_$sPNM}w#m(9w;RIViO zu6Dpn9^2#dbRpS!rpy~|?U0B?6#7|5!i&g>J5#M-qvm}cjm+wkbTpOW#uHvUnuL-c zyM)`{~8jN}3@cGa=071JzG20*nvm!28&Vr-1NDWq{+Z-m6?U1Ys@-31yJ203cc z&@hZ+Qkv;3qvZ-u%-ML4Rf&_uyPszx9@#^MHNl)&Rvi+y0N3m!j}_*uGjiOI^PK*w zH22_5Iw95*&L(-(2-b?gZ2O{7$Yha1T0DC39uOeuW-6pej_yFcA_xnknYtcdbt~OP ze;$GQtvw`?o>~Ojl=b^Dp36Ari8$YGGEQl7O*;>k2Cx+`A4xjH=kEJa)9}4T90gCm zyXKx>?HY=ETOu|BIN^JPc%1coj7B6Ve)Bb>X>{}JR#WJ1ivssynX4Z=B~*+B=a;6u z!d%vf3#JiWWbSM%sut;FV{*H{%z>^nD&0NEW6$&;lM-kNZX`wA#bsjus&Otd8uk$^+iMv_hkrOs`o2lq10Wq5BuP`>@!#udgfwhYj;f|Ab4aMBfC`f(tFEK9$z zR`k8J;wf?6gNGT-8TI`&^V*F7qh>~MEs z@$#D63+n=8EoW5iT6lKpuRGnL#k_usv^o+Bd*SE-`#>R0axm_UrLRHpF!rmCsGZF3 zJ1Pt&qii$aDnW^U>jBmYB;sDAUIV3n)_@il`%;Xb)a$a%LU#no`#bFM=yg)A))RKE z6sIXk2m;LFaRiM6`0`4V)Yze)B*l?4RFMLcFi-!Lpjiqsen3cLGJ3N1qouTg6yPp~ zE(?uwn!W;g@`-bxi1z2Wnq&dAA4?|g-K2k)L+z56$>z-ytk}dmI^#m=2&IQEVWOLW zMyHPW0#C1T7NHrjr!>wTXS!GCQ|7+Y>R>Tj+BdXRiiXjj#gBoyQAPsj|Hs;yxIg4xPs7T=L23r5whs$Hv{6;k)dn?wcV_PAo{}ZGuTDYZf`_u zYl6p7`pz8GC3Eefu)9ZLd?~5cNsAbxRS3(GGwaoSYEgV{6uY!A7u$@))!43&u7qYO zi`&lkf7s-63Z8VqA24 z#z!u;0u1FKD>EEW6cXsz&5w#mD-XFR*NfvotvO>dZ)oQ$dVK3{95>to4zA5t*nR7s z4NokN);UOTYW5qxg@=RMPT_0Bl}HZ;yuXoTZW@fioy0bqCt@!GcOHB;5!bk%_Nu%B zB;8VWL+wJ@MOj{RK>t3oBu48%*lKH;iETR<*Ilvb*IKOAn=}c}q@GK;tQOM#3&rm&|Uf5b4w{{?*@5U~nU-=+hAJ z2uv&-l@INh%I})aDXwXRfrG(yuXgaDsJhcQ|LT%Y2MSsz@;3)&r+RmdM8f3!Zq#H%L8^i1fvU^AmxAMhyl+FyVQm1K?UcZ! zc7<1F*mYp#Zm;^y7MVqPJuU?7#E*J{?-_&JUJYV|cJOgU7g-~f31J2w<~2)O*;*mT zLlH0YHQY(@dHa?U3sgWOyK{yiZ6Xxa|1w)MRG-hG$Q9y2;ua`1D{-7?9*swxI38ud z8(vb%3Q1x(itW2*+B8+Uo{o2Q6WL8CA+X##@wbiIkB@0F?(q6?=~qq^kTc%KG3;4{ zJJ=<2{vE(R@pf9YUbIe^DTZ^eO$bv-kEL2Jbb2C-i$wfZxZ}9;187*vSNk7Sl>NWx z-~UNP#Z~3iRiyt@MgIl1|0fh>`Ddam90ZKa|8$g{gYEx|K-0-ga0N&p+j5P@O~HG3bdHG~N8>;yp9l-0k48Rdsu<66E?xKFiOEw z@%}gk2+u3MKK@J>e`20JK0jP*1AD7XeS)g(tiSU64Cw4-4O{wze~{<-*|aI32!>uI zG&B@Y09*hCcnMwm^pBsrvhsVg^YqPFfcWvvgP8lkV1X{c8~+ykhI#As-zWe;or66; zzVF8P<%S6m__M+U0BH!?7}^*3RTNGuWb&IoJ;XD}`$OVqco6{X*6#Z4OwBzti1p!i z|3LnB>*uB9M-?Psz2Xo3-j9zF@Bs4h5D)^)5)&c-48{6}g*^a&{pg?efRt0?d)=F{T6_Z>L=`je02tb0Zp4y_#fh5WIjON3(mpM{k8)5 zmVWKJ|5i@?Mt=PI5Q4IckM7#W{HJib25@?QqxzRLU_;SDyMSon-2K9_`v1f?a4lh- zoILI7nWA9O!dtY_W*qPk210!<-XR)Y!)Ui~1P->T+$aSZG!&<0Uot)hcx z50Ad;^EF)%z@61bPMAsq{cNk_!3k>oD&hCWF#tq~1aybJ&5<0UBLThn&oMQJ zc>bKQ1B^k7=gm<9u!!;d!vaY@Syg)jQL zoVM;8EBCm@&;TI-~1SlRa1fJ30Mi^6XFsk=rSAO@U4gQJz!utgJJEC3{&= zBsD2pYB#Ezgz!o9$wcvsrQ4;<@&Vi|w?rBm8^c-^9X$o1FloY13K2CTBVxTRi&|k} zi-x^#d<}2>dU_e~nkHlP?u0B)ErJ{YdJXTB;w0GA3kHUy#ikvdMX_2zFHPJM2XgBd zt4dew=oW7Z{KUm+SceXorxTZIWo4l+OkvwxJjli-H6S)~Yn}``8i_J@IbEs<^Jxw~ z&1dw;z3Q<|n^@o_CofIzK6STlWBiu7cXvZ({v$PlEbxMq>#$0I+xi6<@>Me4&@o(` z@F96*P&FS9i$=rn}h-<)wB|95qWF#@$i+FM_ycKWY= zk1vm+L7rb>%6=@sK`8%;xxaT@6w3bgT57%Je0YDwlct6rIz_Cei*#y3Wa|kctQ^35 z9}ffCZsAW5p^}44){pPCE83h1k?ft5aelX3W9#Gs#-p&MX;;zLM*rTrj^%B(g{(tzK3eKm*rpuxW>@pJ0sG&T?|MK;5dc>=TUo7zRAk>(IU^Z8=Ld)7fe6_P)wR z?T_yXkerc3vgP27JCCe8J6%s-4_@VkEM??bBTGX}2RP1-gd|@Qzt0dd4QBj(WmU!k z*?0sXitWAPdR~6#kc#mMLIgFckizP)jO$isLzMcW1v=AcZn4S{?g?atu-$hZJYZLod@&P6? z;DRhm5P~@=)yn7VtZ9J8rjt|ZfQ@beVe{E^TYF9?T(kaTN@y zmy|*RwrA2eNE3bYKX7zc*01l$jM>qxui+|57XX8_6PO*+D-wl~TBsll6UQb7VNK7+ zh8%KJBMklHfVb*#(+-#Kp$Z98BB)ZB4UntO7m!^vW9+Gj5{^>RhcVgrKP678wCJ>m=Qq^86h8BkbM>9kfDw1yEO>=$~&Z zh;nF{;z01GZDsx#C3S5a3{BM4gJ-rY!>WxMsIYR+H8@`~fTXVYZUkMQio#@G+HBoZ zX&SxYjPZK5!byT#d_M3uo6z1Kgow?gpULWKhqco_>V`^e#+%mkno@$uR=eoYcsS$7 zio3FTi5WWWy3|j4wgB^wj5xoe(bS=Z{;n#0SUu+1`Oy&Gu9A%IPd9bU#|%s;AQ_9~ z)kxXljuSf8hq?^+$o%@K?L_G|QOSdcO4eQL*-3zaF?D6 z&S1I)o{@A^LA^Bl6r0)7)Y;8OKr@~J0!Zt%8e~lxP~%l zsag?#-la62Md-GXd)6Y3_$u&M8=YF-dVEl!l2be{2v_#GyH#O2$Ue<46?1}u~#^s{xs1buST7gC?a9SRfqm=?_t8_^yT zZHpeKF`kcUb3{w2gk~Y~>A{b#ROrq7ws-4(QZ!dF#xwd9oL#@IT<$GZ6Gw%&33Pi{ zMkuXXXNkK)ppQ(Uf9!oy^Y1DwZ`$EAV`k`8ENUF|L5qg_oFo`tc)Yi?S zFAXO+mNoKdwzOxu$cm?Y82#~V(wL~dzGeqL` zYWrB;-E%icNW)X^)9OlWq7kA)7Yk%+hNvCuy@$5|?U{~|!k`M{Zp+raqw>d}ijVdy zo8{ju5+op@bgOvT&M=$1P7aa4h)LtuzID>?w}J%1-76Ix1eH^pqCJ+Uq~>WwU>OOA z`$@NcAb~XE4=I)$&ow};if*W{yETnXCJ!ZrTnjUk=hU;+4*gPDl{{Vd9eY*V2Z|XM zN&b7^ca~W&x>mC(NS*_#eiglp<#Yah}X1jtO_Jr-NZCKIgaB+OYAXkVexgSf@ z8A4)Z*7E@@w|nPME!8DZ@`dDf&?*(doh6LKw}8&inO(3QCm19>#=h;c(o6jmEZefM zr)qUNx;a|pX}2HGs^6{?_6~}@yoUV!un_bV3ZP!4k%!mwRxW$ZD89-3sNyE)(IjPSskP%ZhwCx> zE=2UHMl*b&6`0CCc^Qr)V>B)|LK`&54$fQlR7W}6zpwnjfz{>jOQprmq`9wBSyT~n z+!-1pY}2&oB(nu^3h#VOQY}r{nx;`PRWPGO{g>Ym7LJ<^S6E%+pQ|IDy zjCisTH8NlkMLS5sVYnE3#zSPQSvlN*DftyAvNtMXqNp! zcwA#m{-b4#*v%@p-iIZ4oK+9hH=6HX_w)_(Uz6=H-gad!^lU;D6iQZ(X3<)sB%sup z!4x9*8QP=a7=7f%s6rB$kG_b}vv0Bwq%+!+xxUBfmV_WJjfD|_ysnX2>LgUMttt0J z(StdZv^p}kSCO~JOm(Cs36D6Gie6*$jN2(8*xPm7ei<1$r5h`qH=-{r$&Dp88idMj#-FY*FiSb*=0EhJVLiOGwF4Fy_MA9{I z?w~4Ze0fy)H&s<&RUORP0g7 zo2_B3OV*gFEFrA5OKvjnm6=TE5bDfJa<5f9SS)}@R)g}U@o;HhT&(kxv&E;Dh`h!q+`_#P6(%+-Ql)FqVG&+60 zK{8v)BwtOJWUuQW9Bh)VYjS4W6rvh`oxqcbj9#t$MY>_lmX{!H)pP{75g4K#Uv351<5&TGDhLPmT`8s)=TJYRlh zN8;B{@Lw2RY`D;ro~V(g0BjXv>$)H96-JG;$F5eITLG*0#`Y-x1`Xn@J#EY#L^Mfx zR8i?KzN_{qXv4LIk?5GER-Zl=7T~v=agWeItK^#F18>y=>6ypxtALb?K`&Tv?rTRI z`xKdFQlGu_ADR$3S4(O-SSWaEdWPU;KXMHH6n|pa^v?Fb?-a~#p~(jUwdr(eYU;D@G#N${1lw!(VLBU)Hy5U~)=*?Z0uhuNNq$x9+mcXXH`tmvi z7*TfHN)K-gfQ0(^9=tv6P(A$S)ne#P}9C8(CeQ_`6@h}>;rey?SKmWzq4|zDi z)R$H=otw2;@8rd_+G*^r)*e=LUN4F0hd>FLnqoQ?W`Fi6>C-jN8F!}k*PZ~`tqb0ZSO@o4eAzc^%0 zT>9Wq{kOA~zDk!uoJ!WUfNNS@lBkqeay5g&pIMKEMHiC93H}L*+7R_XOw>N_ohIXa(T z!|An>v6;JDS3K8L%OXrR)sG_g-u&KyL=yo|b-eIQeJk-u^9y9~7Fy_CQeL%z*s^85 zgg9BNJcB&v(THN$O1u^^gM`aH4|;)epkn)ozHf~@wm5HkZim(m(_rk0dnOr8Wl?`( zr~HWbuLRkOZiO?RD#QzbH3aP7 z6P`+k5*u+3F}%gNIZSfwAbB0#NX<&jL~*6ZV$FLvGx_~sV6!uit{K0_nf(>ZIlN`A z=0*mBX^-SOo>?RP9|mQpgT?f6)LI>qD+cAA;IHfuboRa)rUY>(kB4EFfk=Sk1zEl) z1YhFoJjKsPGwNQ56%5kZaqYxMO`DF>uS{QDLOTMZUx>LDz^M6IUB|l&bb8YU31$(T zrb;ddDxvIke$B7yS$cSVWJ&AKxE?XQlCxeY4%84s8DoQv?7#PPr8vXOBL_N3(oS(F z0&l%L#f3U0EqO%b5BCS^ zwTAMR*xVeVs6_`k(IJ1H_bX2}Xe`61do=?wXh-Q8n1}Dc?mIDkjv<2%o)rBRJ9`)< zfLg?k!r3kAOn=)s8LVfwc_-4#cq3+3+A4xVC$_nT3?GFwPyJ&)he%ZT46RA9Z%qw; z+JjVDJ*3t-d+=KSx(;im^zh>e*i4FJzB&j>t`y;T>w@$m$)67# z33kzNVN3T|#W!trVM4s&17@sg)j72cHUBEbSW-l?IpUICAmL2BsA(Jd(8<-6wx4Gp zH0+nRNf{><6QpVF1GuP~`Y9Hivh!i0E{)7~%Dk!ITH^R=g*tnB!8?hbll>fODq+Ad^QJ6=er;`leRT)#YTts!GQYpKIcHw|SNHIM7HkeYp#oIc-yLh4udC7oK zgL|=>*>{rs6?Aet)*9&OajA=i&^JcP`6~nb*hD%my^J)L)rQW7G3~Rtj3=HVN+6?nMA?ih3`Xzj+ zm0llYK;&%q2AVMvOsRy}bfqI9>U5~v(h{qcIAM%5vF17i5D>hAJW~h07x22GviXW# z%X@|9T-dgGVm!xFLt$+`YXz7(3p7tk;27rI?K`Wk5H9qS{~~vXX|RRHRD2H40frNT zMf%_`Ic}zry>j|%Ppl*lwA!!*nHC5h1W$SL&zW{~@mO~rIdXS)d7}dht`JckrwdIt zmGbQx<4NQGg?p^g5r#7zkOr;;21aSCgnv!+ecbMlRj5@G#h+4e--1CIa!-#qZf8BoQCghiE!ujqouWls{e+|nMgvTd$Z9|ymw8`SvFDfIyE?co)RvH97aT`O-U z#*e3!V88?#xv|)MO{XrNz(UeXvlvz0>TmMm0#5dTT81);+F@~( zI#&-A=+TZGcjP8K_Gp+Coa}UPA_7f$wE)C^lM!-OR#yGJ*RHtDYwZ@|x%A_$7^F(b z72g>l$DgVM?`yO9b{R9=kF)2&S|7)ihLFQ^5mu;eZmFF?JIY766o?Qf^?PEV8EYcy z^(K|3aj6p_41FH+bJm=}e~DkAS@GTLZ_$l_ACNeivwPG-Iey-F!1RB4#>??(sYO<& zah@;@bLD`Wa}vRDIJD81XU3Ty*C{|wE1Zd2jjVJD$X6r;O@@F|RdW)H!A$QZ=?wQT zwNf|Is-TBK-Ott_-`lb_$;0M}nCs(zHz;%kG{A^kAenNXq z8^Yy?pOpLe!`{gIy?2)zdc9+_u5Zpzj$@|OGc8%cdo33~^9BG0R55a2pnmqFgjDc>(8tW7R!n5OF)oN#D< zx7{uZgBcb|>no^Iua@L#D_gkxLZc%WTACSiEvDQFg`}={uG%g>3>F1UEneoJoE^SIa?lDcr9FzTsxy_ljqLPGOa3; z7TvH%n&cVIrB4t$kP|+*qxI_nI(IAPOt!>T;s%_TY$f@dtc%4DBFF@xr{^bdJCYJ- zC4})yqOBQ=(JgN(wp~$pi2*6n9PI9->*qjj9+#eeje}?#tO)F7sqTrF#r9io+V}^U z+HS~=V(PM$BtFt2n0k8qO4~dFe1Nv(JwU1d%}l_UY? z#*<3?goyS&zJ#vkQm6y=^9C~&W3^{cE6v0$ol{nj!tTFAgMo|vaI{{gw7mR}LDV1z zSO76x)+5jLgUV!@T`j-B6wwM`|AP>6{uey^KMA3NhLE^~%zp|Y`~NJ2jI95Nkd={u zk?G%qorCHB0ui$Oiz@zaVv{x&wk}Tp%?AI20{^QGGBPmym-GEE9OU>n`u)H1kBm&r z|B(Xy{{|o#nOQiP{*wp)9oEA7Uo4a0KUmb+RK(QS&cqaoj}OYp+0oR{2FiUS`WaMV zYx4mV>hR_U2Cg664Wg!h+t9z?)E*X#K;SM9^&SQ!||5$_18!B7FG35 zd%M!>cDb`Nzfft}Ai2(&34EM`Q%HkzodX0gVIt!p3kLuWj*blujsOZbn+(GU{v#GQ zSPuK>0?gGBS)%5E$TS58(}deq0rS z!1M&L1%#pz5G4yo(3ZkEL2hQJ#=r`D?2_~M9fU!P0gwX}p95flUD{wEhDYJd$PtdW4bv$T{vGd&PHGqJLn0vWmw8KxevEO1Mp z29H3x4?h8r$_y^Ax41rk4v@vB&(@EVC98@c$E=2+ud*M{8qm?%3)aD{38WoJPagcw z7&YJyXCTfm5%ssI0pOP|4gfj!so&x^?zcEm-C=IO85)`#+>BYwj)Az9Kk6DDh&y@V z5ZHY{9l#V0?Jq&bdM9W1NTx^H-|OiqeMmpOZ5RULd@u$t)wfnYc4+lF=Ar0mSnJ2bX3ifItE|+k!tmzph{OLimkhtO@4YjvcG+D3Jykk9 z0BQvA;QoooW3YQ(-*>;eJipa_eoMa=s;t1jKAnE1Np4M!KoDP~2hE<_tf) zY%>18yn@5$&AEaABYqpZae<+O2hZrI|Izl$eDte-`x}4!+x-1|8*Q?6ef|5y{3H7I zd!Nbaf8G6S*7efJedNNHl&wcTbpNa5BH#zx#59IZmmKBj~UQ(yO9nfmjHQER>yh$~nj_pkcT1`_k6I%cp@~ zH*atE_2&2x@)UeY|Jm;AHaY6AU90?^b*hhjeHcJ zYK`_6loRkO&oANoug;c!?kE0$6;!4l(nA-Koq6VJ^%MNzGT0BgcX#7=|@*Z1T%)#A7QoodM_Kf;^T>&L&>waxzP zo;&{V*ZGxt;r}+;zq$D6Q2NEWS~dHC|8epQ6wo7pP72l}ht5~n+?Z?Gw1iZWU%6H! zVE5ehSRzfBNnxoUtQ{F?YN?%ML4MdW?NV>5`2qu8U*^F;2dT}lXh&w{ce`$ z38CT&Q*fQtJuY>JQ6yHGcMV>GLxqcKwzLjBOekCD3Yd<6yLMk!1;ByM@ACGyJNj?8 zDFFH3Z-k1Iw6@>SW1pBsnp08z*cpYU@T<@q&7_;LD=cOfcv4GqW{v1il$8Ub0-nq5 z5eUCAkIRrYdPX0|@wS~M)f9^&9;vWhr5x-RkTuJTa??a>ih(oICOM1~;P_eNX}ddV zu?U})a=8m>jCQr@I#q8J%k*E38tJHdQ0X*xkA~aO4#J%q|3ub$3ef18jfEVpSn7?U z4rzN_)@#k{&R7bM^CbNy^reGgxO}yjIDdsx(_@{k;v3MpVd27(ACBf5!1rbwg3j0~;nB+0G zj#(`sl3?p@vn211??fJk9>A~(3%*WApR()>?6h(97X8HG00=LBh{W;m!vgtk2fCU^_-IC+GJF=6hUds|B{pbuMfA+`SgoCNRFxRCB)}( z|I4qZB6CZ&`!ZULS2#E$Cb7)1LzE;H%l zwf9MtcEBo`C3%{I>^k&;7Ig(M^6%1*hpdkHTcpiFKzO>TDy{qXi07JoG}$%QT#``> z>b6R@Mq=)=CrI%cI&D#XEg)1*kA^B+2qz}W2xo+pak8N$Lkk8fCj^z$&1C$P)cg!3 zw;t76@7rzoS&^9SRCmicpu&%Yz>^=euPj@sS(xY1yu z<26{;P*0*?tMT+CJ3k6?GY^wSh^;JWrNnyq6rjs25;oyE;Sb;fElb$6l*zpDv(O@w zrN6Ti((Z5c*G&O*L8E79DYs#Xgol28maHehNkYR+xwrUKnDyb|0b(S=0>rR=0U)y` zFK;le-Z-5;Du&C`&l4djboJk@n|1sCQ$=eOR1z#WhR?v$(To@fuEEuN9FrFUf3S{9 z)Jt$?jo6UAs{-L+){|}LFi{Y(LrZJ)AZNggHX@qA@%F%EV_j`jOY826Ko#2IJ*(mG zCeLXoJ^6A@ho|lsZm;0{u(IF+-6>7KTAE31Ardi^mXUC8SiHoYFH+THdA?H(L$xJK zl?0(QF5530QYPW*#r=I|q?o2&r2E!>KIhlmEAC<;k+ZL{8-o>i6bl+@COCv?gxsv7`fb4@nAd6$B3d1MnP2|(LL7RY)*1IXrJSj8; z=J{F>%JHYpuBBK4j|D4@>a5p)nXa#<%fQ5CDI%}az|JLS){~z3f*t-XA6y`LkB1ye z{Ze|Q$_$+E5t!xfb+J`j8g4CGxs;}Pw}22c4b}*q;%$j_lGI_S-P~p$d^yUBg_hID zWR+Req|WT1|5LMr{*MN(b>O=w{kUpNHdXsDHh}{3;m07@29Z_mPF4R#X_Mo0xce1z z^&2>`?^4$T{Y7W=LTW|ovpE;rGq1uU@im_qlg8V_V|zBAw2K$FRH5%u!oqUSkDVKn z*CzBUH78a3SvEb-K-)6N_9rU8SBpLqx0D>XyR+V`P*z^UWdNx1^o7P;cOWG!V)%2| zTkK{sfbC}UuKego1q2WTZD@zR@Ww%Bc5ej74~lS{5sz@>E)wE3)K;#27)*fP-MH$$ z$CrPUu#$fWqenlJ2((ElU%!NqCUw;b;c@R3|--Ue;{=$Ax z3kj`g)dVD;AzIOTix1HYpJ9(cLyx*JF7$nZpYCFc1qyYFeocAjIt_%}%^fL|6 zRE(|GQ7-|^P0w4630(ElZJL5Dq-9vDBa`4xvA1*g=xDt`hUB6yOS|x`FoGwX{<2Pr zgQpHwJ+=aRqXu=0X{g_d!|6~*oGmAua=>sgk&z@tH&mNByA5G=M^O~?)3#c0m&Rxn zyprEOrkwk-@iWRfTSN>ahZaTG?dNAYQ1#a@d$GXAVk%lGQ|7VQ-3F05JiK5m3!ob{eb(^J4W<&J+@{WdmUTR!T5dkT~~iNFLkjtX`8wj zjIn_6w?b@S3_FHhnRT(1;w6MPA@))5Usu^UHa;`vmqzJUK=y@ z`1x3UyjIPyO4LBDhsk&=FOCP#cudl+Q~(c^$l;EHCeR#W9)31<`d@}Yz)N!D?3zFs zAt)i*b7cG#RDW3T#2qo~EH{Zv1(>|9SQwnnPKA(RaE^&<1i^;3*A-nWA0IEKseiv? zHIh1wAkCz9cLWH!qDpQq8l)3AZ<GGi~a7r{BF;9v4V_3N=*jw_`yR_Rq=`xjvXU9K<|N zdJXllz^N?_C+XjtQ2aF48ag)1TsBGlFH9&T69K&@7J&US(2=AeFGmdZq9>zwoCiE* zChMp_8vR zC94ns>P2P#*$oZ^#19F%wp3-WY0tjt$-uc0Gx#R^BqeHyj>Zr4j#oR2XT-&KKn!$I zWNT|-8StwdHl8zL3U=`S@CmT^MG7J~xN|!EF|XU3RAxSPhDq^2hUr*R|4T0PONhA$ zv9>+~6@wkQT|zs`^L!jf_kIaK^SomKTW^Suhpu3h9a22`4t<7%^BhoDz5<+Ixr4YJ-O9qsgu)g$7UG zMfv=d&$J$ea6#W_T}~aeg!IdNvBuotcWRP!lbP;VKOCFYC;ZZ7+`#PQ6d@pL_7w$_ zH))xkjM}1QZ%wh{rtHpPi89K|LpsGt{!(TSHk+oaQsj8Z&ei52Y1TX(oQ_YFjWvr` zz&6I1kjQWy`*%p@`H5i5>kHxJ{i7}u?(+023cgI9J|7%crFrG~Ob|wme@N$oN1K?? zDLumDgBd<9liKqQG7SgK5UY&5MBg)4)0=Pi`9mbuZKRL*#=E-Uutcs21X1a|SHmozDN)7=By_dwco0C#_1JyFkJg~+7Bt$sGy&ag zZA^0sk;K_lT*jpR@x0JRQC0Tv+4D%fogi9+e*8x(cN#hAADSiJ0X||LcuB}i-VHt( zu^b&cK*b+nNMGMlV40cxO`xcYg}-BCI?=heU~?oqLqi41iH<8;<_2uq2hG=8B3Haq z>Z1?&hHv2Cmf*e^EtzxgIdW*L;R}nOapS}X=6b5eXIoaSR$GD1Bt~*gkLl`pB}jk3 zi@uQOHfl_2@m?DQh}5Kf(|iCW`Y z7zk&XmQFJhEDq>Lmy7v;ZIneXL5#uq^3t(M)=)b^pb>L_7O5Mnxj7dxm9++vtZwkG zykwH<&s=cYK{XF$T)`j`W+G=6hh|5&72TL}*iX9a!bE^#sd~W-jW5niE5Fb)|1|6n z&=yWTY==f(iPe2>vrC{|05J!aggQfXl<|-%`6X_^!Z7`zf{wJ30SO&ZY1u4)&_+yc z4vR>>)>R3D1#V%@_ZN(~g2nF4j>rx@m^3<_hr7Q-R$BGP29#+V_Vj2>%Lyb^fwz~ zw0`$nhF71+OnA1Y6y4zz4+pnGj#pi@kviExNlqQ_TYJ{qyzeHw1}#I{jdtAZ9WZl7 zxHq({o2Q^})Tuunh<|*vV%%Gn8AkDB$}<&5VHy8s^r&`rXZ)h5B9L(tdPBX=TY}%( z{Zei&^VXf0GaT<;)?vay!e7b4Nc3A7KRQozp8Pn$XA-XXS)D+>9XXDER2^UF2-MOE z9N2hAwP%xMFL9)Q<8#U$E%T2J{XELA#r2Qt55KjPmW>tVN=;q5U5e4IlgEz{yuoqJ z*H$%Di!Gezb+Oe!m1J|KSGAUB-R4_IuXe&Eefh00Gt75t+6f+kYJx~o@V!8d7aWh{ zR=cA46j#VgJ$&>qOv@SJK3;H7K7q%z*vH15H5;!t2Ic)O-CgbdDtcsK2@!bDpriTS zOSNUupQ+o$PzYCd!jKOrX!QMQ6UlqG%h|lokC51*Y8`em$ zedg(xxXCI`40qMQy#0|dY)0A4p1E+gDW6HhiBb$YYw=HlnC`VIP_h#2eNiC0(-YV} zlT>lhH~jmpt!=JCWO`yCYpat5+u5lJ5N_YlhZfrjE#d^#HXIu|Rzx(T0nII38$4Zl9H+mA$mW{6(CbvWC(DU;Wxl}} z4;NzKcx%Ml#(2g3k_whr+FbRkBNi+t{-#^5l)&q)>PwV;b{2NEcV8A58b<|N`(*2N zJIDu9`0hH{Iv>xGMntOmnj(ikvypNz6ZlRBcY&1xBiWB8SZrh`BYUd3YiZ)Y2uSpN zWxp&gJ?LM|Y^gulbd^wbV6AJf>&hPMPC~T{Jv?#+&5rk_P3|^`(3+AW?C?jzS6BYs zXY>5FaTeqL?{ba=m30H&c&pGb9Dcx!7_jg3e0fu#eA^f^eNm=aO>nh>*e02}iBY`k0G8($3ukHvMUONt?%)<>Y${MIM_ zW{U}#&{4c5 z>`O8Cq`f6(sX&;>uuEHqf=`+`%$Q&E>*Tzcgs_YuU&*w z{&sxn1-hqzWAJcOw$<6MA^(!dd+#nLIWy^0?|tO(HZD;pb-$c1pK+DiQC>wT+w^u3 zmFE6KH!9t9->EYBX^MmylU=?rf%N4|B)8E*(Gths8W9ucHcuN5@Uq1o;(SCLDh2Qs zXAG!Wx$Q10SbP@UBnml1du5YlB&%pNM;yfC=}&)KXm6YN{f$eOFFqb%Pt}aV4)t97 zZ{(7MH`_uiS4xsVbOf_$WBm_uPN$xFK1#e%MHTYuf%$d)4vaJc9ipLC<&(>w?|A82 z3X<{WZ3i{0j=g*Ex!c1#Mlj%@i-E*Vl9JDs`I|2}VKl^g3p&B|<2}6*7jHD7UhU)4 zYxQu6!K8k*(fh0Q2-SP;jP5+rHk$g=3nLyAEB+5#9=*X4F}cbyd_^ms%%o9XL@ zay2{fiFLB^Xh5Y2cQU~;O5JaTWfQ#XL}e6TFEiwom}F4m>JOoYDkKCo%7aGG;xmFlWz4* z(!CUi+5`jIL79@T3JUEvAn6-oR`~_630#Hl4uWovW$I2Tk8+k>dM+Mjly63s3C>+>|pwk2Q&yVDVcDhkh&e6;C@nCqQ`$8nqo zINGUJD($!9dKBV#X(oJ^zLq-P2yl(R)tW{V{npIFH|v&wWItrq5bjEJ`<@y5pCF}Us+w@o=Kf7f`M`ni-~XQc5Mqi?}|wLsmrmyz$k`KKSE z@3ruQ)TL7ir^!F#`cUVb!joP`x+r z;o@b@YR-I`CY3|8)%;0nx<|53<#H!pHm^IVtG#~kK>S|GN^3U~IxNcb>HD~Ird5{G zLR^WW%*P)aV%HpsWm8G-zHoEn?Mp=}w{XDv#iN~eGA185YDXM!GlZ>G-cvWRZ+Erq zC~@+-sXc@18)iCJkD2iZy@hh?+0Ni>$(u$m&MG`Ridfr|K&CH=VsMrbqy5FLBBQwG z=n7k^*O!Uu(~4u^Sm`k|PIaD;`@7LMpTwW=&Gk<$2x|KmK4$V0FMhbp5*%sGKGYZO z&V+L<-y`jg-#zi!M|LvEW;Jbj)&>(Lns+mbZ}39NBy<=|TB{93r^guhb4&7CE3m`2 zz6m&QcN`nCt;uI}cCWC@y=k*GxYfEGNlEc&Wlrz||L)}X(02Ck1wF%GdmMsX14Gv_q0Z?BlCWqar;kK2@tlV%Gfhkv2=uYNZN!}1q&Wq9tYS0!jLBggwm zVz19|KFMaWLi^}@l zERWBV2&H9}92aV>7L!OAi)TEyl6}9tUI8e3zEytpRbk@ahCBgsUtXO zj7g&Y8kl-Ig%pjMLMD(%juldQe$i2%uOR8|!NaV1&p*V7CPIj@+2tUpj!pMA%Ya2n z8vVo9MAJQmYMSA0>e5zjqV%uap_}r&Z=c7-Cbr+bCB6@`8P=W9XP4Bvl)3DcVE8pi zjw{&b^AAwxMCG!56PI16T*^^k=MjhZeo3leH<^pyz8;|fM%}7?fq!jH=SYs!J9~z7 zXo&wik{h}LqLbJU+{riDm)x&-?be5edcyfB%!?*&*W4Dk=K@-M5fv+KKh>1w95t8u zim?S=qg{qhHY7wxz@@`F3Ei@cBH`e|I&7gK-gJNsSkBFbEMNHw-th|2CNS!D9>Npa zD*tkyDTq7hym^IV1MhoOEo}W(LcsTT*dEM%uaFBSr-7DA@(vjmj85J$jxM!L~AEVA=M4Fv3r9}bWt=U-Q!XrA2=Ah47R zxLQs58tYOQ6UFFIIuBdXl5Yfty=<`=;d-jF0-b>6m|@*g%2?RM2a-K{ldG8Ab+!?2@QVPP3$YS1*Jjv7j=}zFY?3BTv$RySZ^+Pw=H^CTwzsAk(BQc+;TQU7Cba54-q%8^`8n3>x)!;zg4-Ar|HGnbyU#$j)0U1;xMb`YpG9Md`iVy$`IC@iwYE*s=qU zVrZ7)MD=&{YvZ*+=}9u7`0TeMZQ5^2+R;j7(Tml%7_DCVz0#YDxgPPP zPcj7O$tH72f^DVg&hX2ppJU?uY!K~4Y$x3UhE;I+kKTsPChx&p+|n8oM-0IhZ!yR{ zd~HVKXFd@qLX&ao2j1igfLV}2q$4H^x9hbrPI^9Q4r_tUt8PX{+0LGaV0J?33i6WfBfEY->-j>B|TDdCNM(uN^*|qR)xB^=bogB=am3&Aq2q z?R4#6pDRmWGCJ2Vb>Q;hS7M&4I9JzrDmqzNyk32gH&!Dfk`zoGQ&G>=jCLhF3}f=% z>?uVL!Sbu+9B$Mj-Q1>(^uIo_0NbX+z?G-DZDPLiI*uHrwYrEPJ8lS<607 z&(&l2U1&Or_~P1Y1*)DKJpO^k7mu#-)LwZ{X9N0yB&)PIK&GvbYPyWa%|a)6`9z~e zxmqURP!@Y_GdfrGg}*P?k>8a&(aPjjd-(OfzR8rWK-tS&nk~~2yuM9YO@S#o1!D}$ zpEDpLVsCfp5}j{;M^7=Hh-R|K4rb@RK~}j9yzaMBF&;@TNZDX$zgfl$zg;X*IGB_B zs>YdJ!brr>EPl-VT4sz=`h=C-6=U@wf|xm6YZ^YXBwvSU+{%P%x@D`j8%)QosmA3m z)eI!%r4K6TW!R96eXhM@`GV|{Lr+OuROY60{TAj_Uf+>%T))nXjvG+INFlp4`0%}Y zR}j+TgNaA%Hb;Cbscex|d9sK02JJ0MHizN_#HvS5=j-kk!NXRY^|yMvw8F1vk47V! zDl2SN#hn5?MX44>_DlU_A~vUdja3?&kn-dy9N+FJH*L5D9u5_kHI_{0-NLm_ZLbsQ z5}M30WF=ts_FwqW7{1o zN=69$5)}GV_vb5%`eD*8+TzRa$I+W483#UflpeSfPnS$R{~$SM@)9S#eJv)(sF-+3 zKy@%Vz(4~;C-~iPy<<|Cna0?Ai`L`0?y!ko;hRk2vCmQbPlbyvHGNBRfomQj@5Jdz=Cw}o2zjxvwd%iwJCJT)76hPXn$mz#M!a3 z&!u4rdUK#GCxAR%$JMB};tsdXvK-XW#jTed^G*E%uir%a=Y ztqhRr<+cfPXjXoi!d=_a29&1?t8s9*5#QW?$^x*5S>-v>X!=%mh#tSFAEA=ssDl@T=X@>C9$d9K%!rzM755pJIlS}5rgNcecu`6G zBhK}KTM7>D)C(_u1d>D=mIYG1*^Vg|UVi`a(W9LkSuZg+eg^ebN`C`o9e$dyST|tf zZo5XcrhFhlnl!ttmdO>?X#no!uuUC1-ZTGD>%{*l^dPI4eK2?H^5paJS`H)RqCx5N zT1*4XBcw*!%fpuP?`ipAd)3OsZx>9=ZbG&Q%fu4ImP8!9u7PmZ;^mEfl8b19%G(M^ zNU%lX z9(V0Kjwp!b$WSh0z21Fzn;=wug*_bR9(u_1ssxXX$o^@`u~#uonLN18J&Lb?qFeFM z(Y!)l|B)G#=jJ%kfKxhYrkqmw(_Az6f$m{15)$zA9lDngbN0DWqIG5rIMRf}$vK&K zGcxWZ&)Q-s7;}|sHbNNWq-;-8{B7uqi8L33o74*8BI=G<;-}2i`qhif) zJ-^a$z)y2cT3#jVR>IPTOhMPe=1l=iXa4EzgG91s;;YC4 z`NUFs-derqhe1&d3p7ehUqUK(3^R|eh%mZ*eaxJLf2GNBBK`_FYrATaPM<&+!t<6+ z^1dv1p0^m?RYX;a<>eF(JVmY=Dj9^|s=dOym2OHj9q92O0WZ{9NcTPRc3nySk;onE zV!Zd|Bn=z6Zcj+fD#`=g?)9)lYc;IowJw;^5|Sm}7MuUvWY5R7-|t`J))rAWS!vU= zK!MRMbfTe#Ehr^%9JCLkpc(Bz-Aq7 zw5KuCS&C1EH*Hp%sQTGnQs~xGE}tggOfSLllJbjE#+dL)a1)L$I`T~BK$lcnUX@yv>FI{aK>78gQ&A|UALch8Wol}%K zOjRqN%VUkI)H-VAv5+=wrn--Qr;nU|Q@Wj6W*FV`)vUk&?WUdKZ%P6)VM6g?GQnuj zVGi9I?Im-Gkcb;~@%@Zi*wN(IbgVG)N*v^Zrx^V-;grS&fxsFBeeqYPK_r*d!JgQYJ8rLeMj(Rz4v+D6tks#??H7aO1p4jNfQC2)q zE=sCUs%~@OTIT*_6hC-{e5HKDyC2g(W`;OzOE1H2se$Js*rZ zHH}4H?6DO*gN3R!o?{?Q-+=pT(8`2izClkX>kr$_OM9ln32afXaXjHKmT7gShMEU7 zkq67M6ZK7BEIxkr)cX|-A{m+7`t*|tS7Dz! za)Ey?RhT6;CP7R+c zgQf4P5(Q{stzkKJ$?Ww-4y^DFyfx|mh|BnC?X!;)%etQ0J2NRiy4&x2kUP@Pxa=&w zBigTJ7piP_(}`a7znmhtpr)g3wnyQiN9HV`Ik?_({iESYgrBnf4n0$FQu%i_iz z-3la>&s-EHae@|Cj^;#H^~2)b3ZLfm*82Xy52pNGXq;jr zN7$jFfM#MLJnl1sx&6H#Uht7F1`Z>h0@<;RvOfTbLQw-Vn5B^A~*t zO7B$jxA8oWgHG*7KVZ&Em3(t_OnJ~^1b_R}^KLCds!;$3s4!{}{k-n8Sy2+c@y=DZ zsT_jagJqv2Ka;ORcOl-dUuiKZ!pMcz*RPt+MWt#gW~?1anHmh6w|UU69C6v}u044j zqh8(Nv^mgJHCVbpYgWj^j=w1O;!7r-=tj4*hgIL$@Z1PQr&-@NVejMZ++jE8CFcGK zVwYOP9;Y^zS*JpRZZfEw*`N4}4YA$g#;D%IgG9Mm9uE1B!#fQ4xvTT9nOF<^l1PiO zO*e=gyXmk8(D3e*h+b>_(Wqiv5z@?<>co44kHdR|iJ^R8oP7WA-MRFKwM8lI zwM9CbjyJnli1laaRKr+mN=MrcO15v=+0TY**&CgejI*xAdQl{1`%8Jnvr36`-_7! z?h~Ky@9}JQc8;L5CFolFq>5D5fI{5EJ9ruzAJ%j6-ozd zhWhs--Bhb+t2Cf3Y2(@JU-l%BA3+OR-Fb$X3Rr;{yIvt>kx#9c3C6dVzGg4d|4g?dJ=VQzKW5ss(_xx)$=smPS>ZK|R0dl0g%leW zALf~ZVXL5W8uAhrWkF;&u92;pHa{bBH$(g#jMj%{=MgrK%ePd*vg?_w;ZMaY@4%Mr ze!y1!MNd9-Tzk9ELHpvzy`MDWulPhpo|&YX;9c2BnAx46O<<(0*M|TYz>x1O=%dH!9Z-3KR*-_i@`eBoY@L#_o z5Jp$ipi*7x$D`j)U#Z7m=E99vy6)__EPR`JKbvis9j_;;Ozr*_xmM_?+;`WYO0>jX zPHWMDxz>DQ1Bg=&|D(`=0`N^H6xpX2* z6Ssy|xv8+Q=-zlVlIs8X3+BQ6t=Hi)%^v+)DRb5OFFjaVCGR9YXlrp_=G|%%u4uCz zAX5()h@DB3g?lJFCWD%Md^O1jjzP{LWSh)(EJx`=0gE%lO(2POc1(Ea*dRUb>w|Zc zAyGsp(r(a)S>1LCpY6lFFmaJn!R|zPDR+e8i>=fj3GqLlQm zAO-`rH#zNNIsdPPH%p?wKeNK3(Kxsb>hPgdaS82tRlD>i0B1 zC*EwS&YIAYDe7J+HBJQUnYUKZ9QnMUA^luSUD07g(vz z=e>P-!U$iqrL=U$?JFfAFSziH?~^68>-W`Pf_lZhpjc$CxNR$YDR76keI9A=PVJe7 zndRm}rt?#rrZVwID7eGLnY2Go^tm@eQH(Dbo$))iS?tx0Z*s1sxi@_0KTLCYp`qXD zrEzfOA~)z|67(#8Bu&|t)}6&dR37k5zC+v7r@cQ369cVQ zn=X%={@zfJ`s2~HehS~mt75bDV0&YfuMLPCiz2SD|Zbd?IG#TFt#g($2MKPd5{4PZ_7Zdz|dA`en8PY zp4L^m53u%EQ&!nZO~(R!_+NyVJsaRGqRm~YYQ2YR4;bn+Znek9ikKb$NSZ)M)4y*p zV2qIdPNsPph$m0YW-a2r?*4Y?1i$7eR5Dbltzs^!uwbxVxhCuCX6h7kwoN_JYV@eA9`KnR$M^#4{mj}wRigL0jf z&V$0Jfogew$AEDofGmvvKc(}y;s0w481i2Q^FT;PkO9cR#>xr_G6WfcewWiT1(~|q zni^Sy%s>_(OOO@F8e{{qu{HwPf^300dp3q3J0}~*-!=ArefnKv&mQCeas)X(wgEYT zoIx%iH;|i=z0IGoX1_zr&IgU_h48Kd=DE{s#-sS8~ z6qF^!04(yqIe%U-@UsceVc|N51q#UWFEFU7OQHWg7>x%H6~)DWfjNu8M8U#|iiP`} zlE6Tr$G@=r?kXTaZDeg|qi=rg&n&9{HysI!s;jDt08o_vfxGbk#N9u{@>`pKL;3IN zBBLQAC8F{R3NSCKR4!8YEF0{<%m@PL>o4m5R_5PO&gy9b(xK+(zxK;|fe27Q z4;4ft#T9=+`3D7EATA17{;(oc1wo$v-Y3W}`0AZu(2XTS5uygu>{s9HGzUe=gef_ukK`H)v-hvPpXbbS^ zUqXR^|Ms{%7o_sv>jx#}G76Lnv^~pc{15b$r+f@IAM9jLW_Jx~K>fB_?*hWwHRHE^>zdxHK_5jE$pLq-P(2>;8O za-RLe`K|xo7UTS73)Gyymx29W8}>`X)IjR(vqgc(df=}=SL3?qFwd<9Q23v>24uhf zHRG>||D5r+2>#6m&dM7977yh29KUu9fcqt;^HW{)7NST;q@|6?87x2p{}TA$@`Hf? z)Yb!g8$%}pApD-m*3ekRNSz(R0RwYDz`%7(6o|h+yDBjO&3`?b*;tDKQTo(OV!Ti= zz!?az8%|C*l#3nA%?JiF0{!G|4F6LX6?>p6vyma-@R61dMgUY5adi#}p!Bjn(%SkA zi;Ah412ypHHzqdfheq}ez|z#591s|U3jyW+3nn|11NsXfwVau=5j7MHMu5bO^v#gg z%+waPK$&L;BP6x+|BUA10CNBv`&$$)_D06nfZH^1c7y-*L(R>_1(>-p_5ZX%x!?c? z&wi+_|J4TL2K0Kq4Gab{G@NULLJ;6Hhw*1Wpbd7$vh!_lI08^EN*m-K+IYAC_Mh*E zfO7*1J>Lcgb6r>$4&%A71_H?5jye{>2?0#w+A-9fm0LLC>y$f3`s(aBc|7SU{!_9uye>)Z_#Mmj371GrA&B`+?!G zGc!Bi4+i5z#R7qGqOJ?f2Se2_7{UXbWT^9TBjBiffxx(6DEa_H!LYNW8t1S;!O*k& z-nlji4-||t7LWnYnaljMA0R8vv+oDz+5oe?uwN(?es)p#vmY1=s0bA^6wGzzD9`uf zLY(<%lr}i3EdXu;%ynT61kj8+7LEX4Sc4l3L)8%{uw#_HfjOaIRK9?r2tW!bYjDE2 zFL0L=#&vPuoDYiX4**s{FYpfrNbBNQE+8ul3O)$Lzxc_L2#n#5)K#$ zD%apZxsD6{5Im@R15R7$+4tf<_W`tVq4EmY7zB=@kF&QtsCEwFr=a zmdEJ)x^M*71^FSkxe=&X5Zu5O;QUx9m=lhwbHJSf*H)B%5FQ>>`2lvxi7Mx_wtui+ z*q`?1Xpc0rG_t?O&rc0fHghxjb&&um+1Q-ja{-y2y}FRLHnstt0L}h-5~J4Qmw-r! zNI=De!8|ZwxQM7I50{vTm^c*9BMRdYL%}~Bq?ErVVEH&2}+KlNX|KD1q37uNDx$_h$tWkA~|P7l87KV z=O{{&@V=SBt^4kM?%nU4_5OHkUDleOp6=@E?yBmpU)6jAr{;A#|F^R&8dW#M9JMIce?ug+}oUc z{_UU6r@1#4Wtl4RrPY5>M zMd-A&!=?*65D_taCxiCT^N}6iIrrd0iPR3OHs8l*q;BV#ixQ6bg(H?<Gnw*lo1n~N67t!RTqkl8M?M_ zNtl{iPC>bBe3#O7h9zIB&8{yRLArFKDHzHQ`t-5?Obtz7b zg}O*tVU0grxc}kETrXd0&b2%Qk%P9KMlDfNptFje*;$)}Zmp5k&4>5+3oiEzR1DYK zSxZb%+*~Baed5hWjT8S6%kk|sY8CvBa~;ao7tT%^zV&Z@*5PQ$J3V_;s56i;u{Qp2 z&0plXjoqaww)-Tyucl-vJiu?1EWW?v_Wj0Si>Ejnr?V&X?uE2?nlb;ie(Xnb+N0kG zIG(*K3QtiQNSLv+^VHcIygw6z=xr%BBCAlcLC85s-i2LbAD6Lhs(-69(ApG!BszYN zE`~$KO}7R+k4+{IFG#X64aF`gn#oD`)G~MhqLJRVQ&+Hu(28G zYCP8rpSmgzm_2T1p0`ji+fr)hnx|EHs#>1Z)1*XEU43m9QMr$4*Regtw#wVXWX@+r zpFO1P@DAzGf+FrD(--ickuX!HI@K3?ZaT84^mQ}c508#YqtWtS+o*keEl8$5tD2#Qf4oPCakdrDkK<$%ZSGz#;GL zH(^_*l^d#;?4QXLq`-;|Fuzvf6sE9|9cpk3v$j)k+e-wlUnQdS9)8C*pe*$BT?vi} z`J-C3jq1cB`(r2Z!!$whw+)99V&C5d24Bf)GL~PlCHnsC^u2K$XE_Jy&s={`FFucr zQVWl;)@4#0&96p=Lv9LcHM%UP$4jBh?l+eOG6_0$+uT>fiTM^T8&!rXET;P^fA-+? z*How0NRc-nD-iaq^4uN5VJ@<0c#*NoBXjbcoR-%vZU49eG+ge;n!h-K>_1wqmzS> z(ChU1*u1z@VDfGWE4yTTtNXjV9@IrM6v^ggU7;mpAINa7eaF(*dslV1IwyWFfGIyV znUG}S={&Vk;6$U|soX*1j8}1i*%z0xE%M}Oi?m6zuV=q*w%=&G-lvh`zP6G`9iu_L zKEVMB_Jf!`?$QW-!3uI;xNYK6Oa#}f^`yJBuQbx^aPre`SoY@KWBuBPgP75#Du$o> z1LS{tYJW`#&A2}+?ls~(lUSI4)r4&FCj8vhtLKUj=hrF*Ob@znAr)8qqj$lwB;-Y% zLE2Te7DUcgj7v{SE4jN{hSyFtu0xl=la~p5$s*^rISgifg||Aynt|q*bO8J?bXoOx)MfShf@F8yOih zKE2p!x3*>JC6m_++e-{CW?_iE@3^O&a6V|V%_U+WF;ODfO^j83Hq#y^grBY?C$Yp1iS^YHK#=n_PMF7jv zeDqvuCQs#hy``RS3GpvFqNF*)h3h&%d;zY2II#Ds?|S zB`v2O#iX`?e}Kxs@4jI(Gb47v8ykVROMjliXL$Fx_+aA zd)`gEQ1WB_O$Iq9t_UHIvm0USE6#&1;+v@vKimz|4rtWE-(fN*oLjGSjNyQ8lxK1b z+hJ8ce6!=VJ~Z#Iwv0d0-0_I2sw&Xu;Mkg4YkTIgGC#DNE5v356wkgPi`h?1dt(>) z(9ce5wYsW6z|Ui*@Feet-b3hPLQ^gSzN|n&Y;qQYH-it+qI_#Rto4EV&rahRT^Jg+h%tTYN0k`T+TtCLH-HL^z# zZY#ik@aQ^IreoQT`FAQvlZA$Z$*P~P!!yP4id)w|&?}p4Hqv|&RRz1n(%GeVNWs|* zLbFPfM!f=tT5Ef2H@~#bz_ZnFYwaY(TX0XM6eV!?ow9VUv2@-BQ+=W1mHe`EomJO+2fcUd5f*b{8QESKHZS>ZVs}n2=?d| z41&p`80~=9OeG^B_0}xIkFW9>*{-FOrUtFFj{7XsU5QFs`2LBm(Lm_2^}I~kKK-{F zH;EYH2@1d3d)V~{<;3ECiKW+q2eq${e=f^$PBSK5zRG45Rd_X`rw@nuSberZhb7{4 zSEF^SkpIc8Oca(P z*Wou-G1?!zGyO-443z|#?|B%U-tHQ1R#p_H6~G1zY`q+Zrm{-;`X`&*)?UuD5#V!n za3~Y;PEs`onf@f*_Hku(qadL?}dt8DU-p7I{24>A#iEpC$+*{185?r=(sPLZc<{J8Qdz7 z+3w`$8{COIW8~3Zv*4gj!+uTs^8R2B<9_pFC%DzAcmM`@Y(*P(I#Csa&YhBdUFr!srw04V4-vGa8soZe z@f~Zt0)%$PQxt}!?fpF80gh zFO&o9L}oW?x_!MfX*O+*zHI9_;%L23zIpw!6v*=<)CfDvkshyesJ-_2KH?=+l(!C( zbcBfNtddXx$CwW`L9%x9>@2?H%FNCQmZlNM7?o}MCP&n?$^D%nbqb1jOm1-#ED^GaEmK$U9R5sl{^%ulrtMA1H`w8$NPUXD^9bJd`|%s}OCRi1Bj0Uwt0cTxfr) znLKG}e&pf$bAWdEm8_%|n{rRMi*`cV9tjH`yC&@O4^4bvI% zfl$egkDKEkv2DmAXS{ZkZ6@x$F02(ZDv9Z3zWO*O#6g>d$-H(zxSf<>E;j5}=nnrt zrnpacaQXh{Qi-uVyo3hvhQNa!al)$Bhj(o`AL40Y$8aT%3h1xjGs@6uee^t;R;V5w=ghx>%5Zhel`gO|}ybz^j zY36k1e#iA#%_V+sug98KGq;Y1@^j~V3S0MjEc8?I@W$jA)!MglC$!A?F!ov)3`$I7 zUxhqkPQS&?{cHS_$VCgeKZM4J-YE*nA(eE27+_O}qTCmoNT=7>eG0yO5-&7!CiXODK>gP zrR>zv5}YEkw2}b=LZMTly_D;6>o{P$;BO2cWTGPncTU5ZHh7jJqvCFUE_5VlYt!Lk z{%XXOYwr5xn1GRqn%&grFpW_MQ@5K(q{VEBVU8`6ZAHOaKa>qZ{G2DJWdVjqjzw!D zY(}(b`W<)3ee65ky!6QuF9TJOvJmagBGuB5qczc$OJ?k_pMmiQxEhO~(t}2Ayx#jC z_@Utzp3GXByu7x3Jo=A9g4pE^;9?!KBwxiDB-pKBih*xUo`1)89pUfy+Zs1ZXA&z? z8JS>>qrx?5=PwBh?dR!p(tDDOCm|BlvAeDAiI^*X6gF&qnN(!_dCgb_?wEcd-#$d< z<)N!}#JwcQ-0oX`?np@={QWAoPn$JiOU!PoXKMNQ-uHjEn-=-2 z)!bO6^t&ziXVulJJL@4q^7hRbaZSs8lJz*A7Cg8eAttS%ZZC&R!Y06k_1qIhqM9~x z^}5l~)vvimu+^tp-0$pfFFSg(Uzs#()fhQRNs2yzjwXlGw|Nb@WaUD$qsthBUf&mJ zZ9BWsZ~8?MG0b1}Txm4Eaoe5#8q+fY^C*p^?iGg6vi*s)F6F4vV6D=$v)8xisTerr zFxw-$?Sq(;#agCr4@xBSE(iL0G1O4Vm$rx7kZ>`G@x6DQ7Ib6#`d~4BdIo2Vi$Yat zh)VT7!9d4G`QC=GI-y1Gc}5z9C_%zvYDU5|gpCa90XGjNaaw$@vP)S^b9GQ>uNR)z z(MKh|QS~E+DK#XCA(h|J7`v~=xx-v`Q%*aV}r96>nHLDPF+AA0pP11{Da-k|b3Q`sX; zrFLB}+0I!PNF!FYUfZ4eCra7!#Z#QY6Pt!|85l4g5Xujz*j;C;zd8^*!*WR}?e4<% z{M^ZpA($mIwDbLHM9$nm0@ZT zMLEwJ`3Q0;jf{vDD}SL-&Iw!8O*N8T<_ErZ(u_`cK#UVxRN}=HN&M>{3)Y?o$C~iu8}u1C z?fm2t8zzBub6oY%rh^XrM_+a^9Xjgy4k#D79OzpP?|q7Wv^Y4}%m6=nd&%sIEJ09U zXekZlL}i=|-LQjkfGWwpiBd3O`E9>IrocMHuLv8S$k$%ZA2kQAKc9jni#>q9n!xxV z%)suo;X8@TlZm7F@gxe9s)IfF3vEN2fzT&5Nm-J96${UKwKQ7e(i3cFQGPiBlj&eX ziimarKZeS#s9w2vXRs};V%h#V18wan|kRMynx5Z zorH=1slvdY_w#chmsefZ(F*O>0v2+lvo9jZK(7rK(+dWkQw1Xqa)Tc%(03l1YZmfU z3)QDO%K5wx(d(M?ry?Kx?`f|y$DxNMs^UM2FVhJ9j=2>!9-*3&|&Qe&n9TeBg z>z4;Fg<8eCWKUcfT9`U?9~8cU`;<8Jz-V|?@}Txv8|j*+*6|z`>!+~HLl+W$;xv!F zgs zvRB|=59I9Kr3!)_O-E!y=u1rlOwy}~vWld6xPyS>Ghl_WTkjZbm%#7A_( zp>)nUL;8zf(w@A`nn|l-@{eIXTRN|d>0a7~3adM*z6T;i&nl+0Cq?$|Q(XS6!WbWk ze<*`!fYOmNKsN?HeA{|UfT1)jW(6wuC?{(8I4tRieJ`W(V2UZbr}Xm!_d(^JXPQM# zj-LiHX=L0w&G@c@%|_#*itE^JS%lo3Ahf?@qMS{H7j$oQwUEZ|X~`RjamjZe3Xwa* zeugJ&-(tc0wr&x)2E(+rlfF`*VZTkm{D|d7$04bP$+rVKT{4(g1NHqTFD<`IqNIBO zpLy;Njlova^FC+G-g+|q_FhRX*TzQnwn1gYo!HL2v@4bok4v;l(nzXG`RVXuee?+g zo(1~WdoaNf3Y&6EF^vu@$4YIkZC)FcBfq%$Now|%G9yOQ&2#Od#pAga<4f+kMl1wI z7n)g8shQnoc9ob&N`PIl#IdV@zb{DiyRBa;=+$m;<74%MW0k%uF3$=Sp@o-3=!NfJ z>8f)c$1=J9>q#ST(6c&$8aq?U2U1fQ3{fMvbqh0?!KW5r@92(3_8zx})$|0dbJr>x z2=_CH*UF9gGs(Ts{`gb7p_)PsS88f`3g^wZ6YX|>!e?_M>4QCl%-Yur@-3k97*7<` z;FuW*{Qls?^KMzcwD=YWmX&?SLR!&qHCDe0+`BlPT>XCRkZ7pj%niPmTdYRX{pmzZ z&(_KHBs#Mn4xVzX)AfUP?%2*p?QBKr?3x)o-ESw^nY(MgP+&7x$X2u#7U5LCjB$39 z^U&a4xT$M`_Ood=1{}KLkDC+4%K^6s&uJYm;dR=X#6=B5k13Z}ZAvAEg+)zR64HpN$(;Q^x~LTcq_C=~-hc zW@hcsVuP_$k24kSl^-nw(vR59yUGRNqQ;npxsSOie5pm3OlSGFuwKA=-De^&EQ&uo zzzi4>QWNHf9uL-KbGEW(+~Z|1Hm?sNdXY{0dQ7o}BvkJz9mY34eOdVtF54N7}5u2lARxlSvP-F&C;5qA9^;+gN!k9~i|o;$A& zs+ecX95(Bd!3W5N1vXwiRUq+wEzi(T``4?rR&DkJEOX-UvaxQb23CXu6y!oyp`ST zvtEhNeXXjAXW`mH25S1Z7W9Z}?z7s7%tCIV)xhX6$jXYctW~%b^j$18B^XGK^ z!j0U?cA5^wf_KFuwM;KWIrj1lQl8+d%d_sL-z5vVGl*Ryl}*eYwza@deOvmw^WATQ zUtTicGZv2s%UwRK)#k(3A@JXy$}ES(u@(5dih~65oWQ?9m}x(eN!32s{^k7xFFyNY zfBMiFMzDxm<~1_&SCCv*M8%-b2wx?FF3a!k!06I=8Y?u(>T#;~wDyCBH7TF+!oaXM z@^{S^;xY6>OP}Uk@Z=Gl@%b)IYs5iu6i9i95GpKcbt{OUAJ z-Wz?K92jfGJEZIU2*a&_IFe)KYfF^c-Jir*`wXJ^>RCXm#wmdYnc^XE#cWy=~Ba@OCuLm8>&Q-2%ZvODuBYIujL40|6E#>3~2y}nT zG)6zDFT25UR`%(&*%sWK$MLoI)ZXL&5SedRdh+Bh#|yjnp8HpwYr9lfep{p={K#zxR3ysGUL^S~dhRp~yo|LRtR{>~fzTepI`hyN*231kvcj^@AV zR#3zLGq>`eIf}nM<3DnXu>bh$`QFQFKI0*6Na3QygW#l|bSL$F=J&@`8w=idhRZizj!G_$r4e`=(rOZ{+c zG)hI+R#)OFKi6{eUP)a3jdUCvFE7KLceRgY^@^kGX5D_3Zboy)uU`wKZFKrxTy%@S zG4SWfq51ylm1n9cMDMT6l797j?|81V@;vEh&GDg1@^$`tsrl_^&-E2C!f*eC&H0^O zoqT1~o^x}<(q5OIxA(P4%E)s(+u=L-Ywf#V(ykz8M?_4DuRZ-}HsY?H%-)2vckFw) z)>La}T`$Q*FlN{-9glgN$%e|Bt)o8wbV-buYTeg^xxga*Mwu2fAr@vMhC92s7KfVFO zg0GV5aO0e$l{^T;!}{ciMC10jqu>!2soDnD z*XucIlNJk|W_Skp3*>!qKYA~5CA}K|(z>sFKM{vD!5vGuy@vOW1Ua22f2(txo+igk z+%%nE>O2qWcg0bIWT%nj)aS(pU{Ds^>)Lb)qr`XNG&(0kxKpHI!OVvZgO3G$F_yP0 z1MNjQ^D?o>A5-;Ky!aMY=3H~v6aPo+#twF{dwc)S?poG(?@;Zx3Iyi1<#^KDt-e_EzLAMb)RE_5<@z z{)Qs&5SM1#uG+4t;m74z?S#W|4)rF%kvvy#jhsB$+hF03(V-Kgc&#Vm8PC|wUC!6{ zV&G{Qm{Xn+^J)bSk0q?7kLiT&wfbNdo9a}`Bxygn4}<+ z6D-a5Fu~7QuYHc8@dsmzc9Tru!O;#S9c3*TvoX=qEp05HDf6>d+RJC)+W|qo`7b9* z;&fiR9+ea{T$!?{f7=3Ckre$AVv;6r{B;4`V|`LhRHI;Jp8C$M+_Z2jitS8=NSr93j1 zDi=dkDL_WO*Ji}YWkuOv+vrO*V8u#&yj92U@+>_O6jdOTjCn3f&A@HM8L=)Wx0*nq zx+cgl=$#D3?5KM3+486_VlK1d#p8DY`d#n?wz8_L&&*+Thd*E4?NVhOO!eY;Pdxgj zDWj&Y=%ko!7Z)#evnDsyuVnBIu`@5TL(QB|-(s`HG^?I@4#v${p4HaxW)<5l^jKk8 zO3!cbi|M@#CeHHXCBxdkgpa8*s&~t%`ytgJCg#mKmyIYsxlR?C zt)73~X@#A%PVV$E2@ebCbB?}q*@qPe&{uX$a)`BAdQ~WRj52mzE0*GZCzvd+U;~4V zRjjA?@x-e=|7tGGP!_kNmTNNNvLQVp$@H0WBqRQ>F+qW@6QdbgywkfQLJY!oq5g3u{?whZ)n)%g3y$v=u*0)&uam zS)D50INYnVuBf=G?MlUz_l8)A-J34rSa!!PzTm^9`bXD6p`F4IuA-eJhM^7##>4+F{E$6+kbOO5Lq1*}I8>|R!^=eJ$y);jg4NwW96MLtYA!}w{mY;maMPx)0 zDTABHujsZXJHmvSr@Pi*wEXh1I(V&>k2iY@SIp5aU-NtG4aO-9Sn8L{OuErCIIjb1aDd4v7NUbVGVZFT*_+ z6L5NrSn$0AH~!M_r6l4fP0B|5uaaZ3-rUdyDXU$A2rz*J9F?96f47O7aUZ4~b!#ov ztx;Q@H|%jOc5(IOcM6zzdDqP5Wx7jAUCCWL7h?jO(d0%b!8NBaw;bW^L*`)*u@2gT zYoD3&LiNpF?S2n)D?d^1Ofe(Xq^aaIp|G5&ayXB&uy-?pAGvpPimDnrgVak_)Yb5} zZ|Mojr(a?CJXNeQK-uVGH}ndgt59}V2FCeT#pvDD=!e^%e@ybx(}fxjDs!qxM!d4E zmd15Zo}cM{(=o$w{$SkR!`!a8RK1k)EAK=z_p24D*w0Lkys!`_y*(G-@My<7Kqh%>8ec@vE11!ZDaQ!pRofiRxZmQQk;>^JEOa<-<*+_ScJX&MkA z)=5axJQEC-+4=zgOIz*RFO|a$YN5&{hq+fk9OL-16Pzs5ocS z(>D8jM+LPzdp-%6Ny0ndCbRoHv;?4`jVu&1Foq1WhVz;inXAlZ%C|=eT!@>)>OHAy zGmNQv2|oUEPH>$05bas&ETNFw>!O`kIA+uPGy2(gf8VlAb^OXiepl=u(y{aKvc|@n zt73j+3r+6(PL7}ExFTJ@mDTZ?aLy#*Vqc*V>4$f;NsAh|48@9D}k9st~ z4G~5QZ_^{`+4p%!GYN zUbo}edSlh(#*Zug;*-LU5FYz44?U7rJziaj29@P{YF6*Qt+m@Jdk`*u9t?^-s|ew? zxqPprJNQ-FNa4c?!*ap6{JxyQNRH*$5dFZc{`H>3&SYtff+3fL!flAC%yi~#JUmyO zF-SX2XZ$k{cnR0pcYO~pI2}{S4SS-YMQWc_Lg{%%gScp`69o=oRCUv-=hfSI!F^lO z)50X|*d>t3wewHx2o4GH)2&nS_|Le@(FVa<{twKqt&clg-}TkGT(amdk{$r^pXaN^ zSjM{*Ob~RsB&o5%gxR0iJgqH&e`Cf<51e*4E~#!tA)d$liDg*qm7DWz}0Z0S?`xeLj!QP4p{Er zxC-%}J?icqy`5gTV&3-r7i&oyrNbwoU5%?uDTRI?WL+$UJ2I`BXY|}ULnD;(XtJW7 zWIgvi+GdV-j(;N^wTqE*4PtnN2z*v4o+a0@$Zu7W#Dd4*O7zl9@eIn2agCh6uqi5W zzC8;1ZGthX*(BAQ1gHK}uv%DYH@V}+6lgZaLkZ6=gZ`yf;^P4G7~XSz5%- z@|rmw8N3$bAZ0S<;(ePK(pNlrS?h@gnwPh?&T-E2-a`LPtoV06@ZZOZs3%PReyBz0 z;xU*1ZmjtCqt|~@kbfs0|D+@T$~*qaH3HATfI&jPA9n#B+6JCnK|js{2MPU7P5$HA znExo?1d^J6@}j?=2Nwa>g!=nGKM!7iTg78s@lwODTPxP@K8ArqEBCKoOU%8ldY8R^ z-H01Ml0I4o4-*fA)4^-BvEdYpK-1G+@Ocb)2>I9V^7^0$zC0o(sq>(dn3L_6_(Z(d*R7me;M4x*iUfj2>=ptCs8`cPQO0OLpZB##=HGvP z&)-{L;PV<%R^piwe{R3Xb*FS@vEvKq2KR%cpV((by;S65XEN!VYil`u6_1LX%4n4u z-uH5ed1pSoN1iqMn7Pot_Wi?d1%KX9f0O9g=tea?33bo8*x@dxp|AUa(`6XbypDEd zcPb>{I&~bzD!gz~`3Bn88|tsj=;v`6g;LhG2X~UU);n3I2=s!=kFL+oe(d&pphn0D zXK%jOBNJxV$Es?#R^*Gn(8ieH@SONjvFO-)`4r|MkwTrz%M~Jp6$NkYH03UfYcSTz zc{pljS9NO0*-U41-h-q|3#V@ssc}TSz0-58eGf;Kd%e*w$7VMEQuoPY@hD~CR_73X z`-O?VEva$lB3_GunxRNOygJ*`Sx%0Ih4|a2ZEMs+2Q-DYJrUi)1lsxEc5fr5tY`LI z5bDa~1=eB{^_fdca1GqN?js^)lUqM&u_-%mxBe2MB*v#^r#+xqa-m=_Zqt8<&(P9n zRex;2V{n;gWURJ#hLRPu5v(o-MhB-!ZCXT8(u{zflV*QkI;(j>k zV@dn-tEO8wwty#hE^)KOsfxU`0Oy`v8xpqtF#G0F`k2T)W45B~^{5_K0=*}KVMiBj=F(azuii}H>MP<&`)I|c8;TVLE$F)E zz_kHn7^lY#WyM;eDx~FQW18xT87bO&EZyu|el3wGZ5s+egzVdj}`=ODS zA4XWpm8Whu?lV`tp^M+%d1HpH*gZ1^e$)GG15>^rXy<-_5A2s&;7?lM`zM;>!~oNQ z6n)AjIA+I0`BVOd*o{oVdKbTjRRM^EvKRxGC6gIXU<%t3ma(N+O_Z*ry{GI9D?7HD z4)m=<{>&bI&HhiE0-js7*&eLvlrjs3kF|%ZDe=A#-*_=%d#hEYj+hZfSI*X%{RsE- zk~+20qx)MjHO*bT@^u%u+uva^+mg&3n|{^+9=K!_9O- zkyIx#b@CMzo?Xl>i;*UCowtT@cMq}SnqMqNygcDu))t9kyrCyeasM6JyMnaA_1rvl z{JG1kGaPcYCGVe6;4dGPL%C-(`MDhkA95~M%+Q1vyVPdS*y&R*J@*q2uf(ov3!BeQ zs3&O+fhf+yY6S0XA5?Vx%2oW_Kt~)=#2GB9xO1O!=fiV6ZJaHV2iUefB@oef-2SmW zjjyM_Nx*yBODYAHzlX26)z%`UgZ%xUX`5(K2P7wK6}TOYe})~gC@*V&d(S5=O&0Bu z=eFFP zvA4Kc)mz8b!qhS`lSzyQwmQbH*5JGm-9j^8{`8o)PH*hfYkP?UoNokjN3i1_Sdr|JMW*@>-5(P+4sSe!?gQ+NbHA z=hPjzRTwI|iDG;A2jy~}Y<2hG>tZCxv|(Uo&jczcQxLA#jD3%+b&mk6p1Ehim{a-p zjg*h=DNOSn%c`FCG8mlcZmuWp+HZih)zaHPJ}diR5U#IU9me&ZJ7MQ)uwKz!8cqs{ zE62>Kn9Lkygp}XzzEE>!}Mfq??vC}jRi$5U&~FIqSJ2~=2fziq7myA0A&-7!6b1A;22wpuL{Sr$lu?t~$Y4b(BDVzVy%{9`r~P`=eyAZnigw zvNJ^0q&?g6Qs{8f7NG=uH@D9}=z+x-h4i&l#G`h`t7NRURn<@%$BhTez($sVLLnLM&>NCgU-^+dL-n6KS zceOn+iz`UKlzn#$UzO^0x^$?=j>1DP`sH*b@S!-Qt*`%=lYVag$>>oRFQoC#6rX_a zZROE;;wc_5Mua3u6ZVQ3Tp~w#@42zTAQ37{QYSGT)CDrX>3Yax5G}{DZNI z-xzr;wCF6Ng7m16QOnv{~g?(|ur9oHSUuHR$>owaS1j-Hy}G*BZF z8!bthG;MZZUU*-5@nS_@EB!ilt}vY<9LwpcG}G53e%WE1T9h1 z>dAZJm4U8!RnMy~&CA!#D!%J<_|&ddsb*ev)LQF^I;W$pFzbw>`uXCLM*S8-EOr8< z99Q>*q@LF7c(#@&MT!jP$CHH7B$?+v4thE%CaVz%8+^9@=T6lxN z&G4PHb55(8obQ!ki3o1Zm4v|SR&z;tO4tHJg;_YJk?9x>SAR|*zA72(PAMdW3Ff4- z++Fr5R>8XEH%qCk*6y{!%ls>(%6J+~GRd5XB8E3k0CjmR#vymTs!f& zV1tdwl%PxBPfGbs8)o(ckK?YcaHL>3DOc~rrJPok;@16&p6oDxFgWl*_`Do1FYbLI z2l)mCmi2&=MuFf*aXSJ8#2;4@=DGNMT;o%xdaIUGP2vQY9Glgk+iAbaDaLyE>l23Z zY8~%=wqZGfk8X3JDP&Rc@jKe8aMgRe?h98_VnZ(%H2Xx$W*af%DrqfP@Mec#d}!MH zNgSqjQbT)vr;6D4n-=LN!IONsNA_Ol4Fn7UbC+zS^6FV1_L0w@-wHbsVWhi#g*@7E zqg>VD*H_>xVc~nAvllV~!Mm6NFD8ofxCSW#?E6XQew;^0o{wOWhU4m<5c$2hh2>3@ z9ZR1aE~sUS(KYHE3E4KlKs(Aqg@)O`M;ub0Dt~LrT-S4qj2j#f0KjyKK{S` zfB*ov|4jJ@o&SZy|A6zqp9FvkgP{K}9v%lkJ8BvtLpTf!f{H){ARrh7Dj*7i!{Gu5 zkcbcrBnlA`fP;|z7i|czfXGE14i!O;fWeS0LP7#UXgYuv0v19tKn(*via?O8g-}dk zU?6PxUuu6oqnQZ{3kwKeFhKR#T<8`A6e<9{p!q`$Ls39QA;4Ck zqDbCQ1OnJ5niskky#aI`RT?2p0r)zN2$1T9m|!BJ0x%G&{L_2!Eg6v^0_YV6As`4~ zuLvkoOb7%7Da;E2L4g)gurMGdQD7g!XyKt&BMJt76AKbStq%f5y&*{uA}C!TkWxn1 z5h6ms0z{z5#UsGrKa05d832)?Fmi%F?Z}u6xd%hEc+fgT3g%A@1}qi1NT3ad0Jy^; z!ho0%fXIMWU?w4uh%gjb0UTHd6xbL9D21V-NOi!30eXb6D9|E;vI|i-7`aw36v+oz zD_}#yfK`a1YzBs+1MEu(1VbQ|Ac800Rj>h76JN%VGv}y2m%;$aZ2DwJ)kK6$Ql{+qGSyNc8=U5 z@(3VJ0FWly=)lOc1O?Uz^rDW$e^p*cSp+b5z)XPi2SJ@NREZvgK*>%Nfs`|nLI`DK zP}B@CK!Zp_L>)oEC;^RJ)KT-JXoSH?8$y?8j%Yq;4p10!>~C)9d*Q!dUhqWk9#x{} z`g`~27C2yOP!JrDJz#t2J;MNdha->{21Du=4o4m%G#wOyx)gw03J&N-6u7V8fMgM( zD2bstp=5&|e=!4KC&1N$($K{WXi8Km3fKZL^It6@fW1QhAqmvgaUo-*JpSGpdN;y= z&XBJ^pU^aa+WsDcY(;Aht)UCc`O7v?{DhD;gx1xC^`NW**(V}`T$3>BrVvKT5((pw?H4{#Tv zD4{6t2@{3^EeIhPKraH^5dZ)IJQr}op=i)^p*dXC0dEEPb--T(w=im!i+NG>NN92~ z6x}R>a{Ye`<6rB4x1bpd14{rLAZikH9V&!!x#&ZKYDbT{XcqwkTSvDbfGZ9V4~phO z{OCH0Mi_8>fYXK`U7j!+X#CZS-Vh8$i7Njn`QnjSB11H^5)}d54GLr-YyZ^?B80-c zXu|(9`M+ax!Q$fWH^o1<{>}fNd;S{s&mBm2h<1uF;Mb(6RsQoEawaH%kB~n$MRlWb zGr9!SjI^nXH{_j$bjSb*L6vA4^r8@ey9CS*RsLQ)dTvnwb^#C- zk?;`#NA|)2a0M&?jKYO*FcKXifF?lTfan3_ghH1PVU$w`@E&rtqHyG3Bs-u12?`)! zfUPiKs{qObye43^aHKzk17;$G-WveE0Dy@Ev`A2aKmfo96(jst<=?V{0nC77{x9X< zDuJOEjxM3VzJSAsvK(}Y=7z4Ldr`<$6fk(;scm$W1OtA846N_3RsELbzs&r{V*e4k zq2cpIB!dEhe{=e$I0?YbsF>)lcO>k;h_;YH0m>Hsga)EuB; z3_aPO+TT=vqxL^B$HkIR+x^4me_hyr_4)7l(RK8U=!*nhqFYcA4a!I^wuQn-=s4v9 zOQMiIlJ5V;zQ`LH6(ys~KQ@7~*T1y!#{~Zo7DFM(Xb6d2|7Rtd&qXPWyn_&MfFs}* zfW@Iodr*h5kPngL8U+7fExvF3;<*!|5X5TVh9AdYtU76DFVcK zFwlhzfO-Cw#@{=F0e2fRMgevNoEy|TI<^3!4ZzoXQ2oNd4GKh~03QSp0sn&v+4o0V|438(jatx75?%h2qei)6w0lR>|LuM+&;!a9 zBWDHTG4we@m1rb^F8@B2sQRDv{3Bxl16%^2Utz$l11|*dYa8TC2#!QqsF)rd!T%Q} z9LUZHLy@;VI?_k$9}akh-?2aP`UlcwD4&LINAU*uqemcT`&0Wv0Y%vhy1d|x;))y% zMPV{z4c+rUDSxj9`F^o(K)=YC4q2jGkh?@;yx;Z>7e>bCB0zKtxKt?Gc#$UnNNmAS z`4un{zo8s1D${`wMV<;|KbjwUVKjwLhPb zY|!fXQ~O(u$W|mZx(x;-Z~$Znd`2n(H3Fq(WDVW-TM4Mt4N4(@`q0Zo)1gb$%zsSm zKS+LExC)eO``_39=^p&wlm6$uD5j|5?=gQ`f8V=*TK*#b(}>QmqRT(6e~}6S_a^Ei zQt@z<;UIAlDvgLLktpwP41uOYPJiJ%|3U`nrJ`qp19kyiN-(4zVZfmPE@t331KLCR z5;%|x1+F$A`2`>^RN@WL9+Dm{Z@@r-3lY#b5{3e~H-HG0xq|~49N_u|Vh+?@0CXb& zdk2Q0lfVEA0Av9%4R8X0n-MtMs7xCi4K{&m9I$;9XGFaV7KUkRY3f|kL**8grn za~1|xjl3F=v!LsMWdpOLIiTAwV4I4Dq~4NTAHY{5j+E>HPEagN*lIMIFBS zTbuZ7t;hAs6c)D&SP{bUds@v1yq(De%z|SJ%BA3R!7(wZp)oP|Ne^ThLxMxjpI8X3 zgk+?%xu)%$mnFDig;J0U-KLmp)}$fB=BbszoT$Ta4m5MdG!qcOAg4#89S*ApV@7`HFq041&PJy{5X_EqEhCbVmK_+$Tp2I6(_uHla73cy$Or zW+N~57n%K;#@BA9LKx*vpuV81^O_#CWG)m$Y(c-x}TBlX z<&jKGv5?3kEY2FT_}T~^cQt*;`x>7);D^>W*PSWqQ>5h$yIg)EK$b2Bj?5)CxUnzz z9G`NjQOE&|wUZbVqY`XFf#Ho4Jjw5f2;v^tcf~l*SvcbloSB(l#PGo|kQ~7HB~#Qy z9+YO>2f78um|eiy-#wm=KEIweF@d2HiHl`QRuSF=K7Vuu!ZSRLVm;o*al@x~myBhF z2d^J&XC>{nhTU#4(~J-5J-3DAm!%h##R{yOB%f>DRB4^WG~N(A!rYJ$tj3s_IJt-M zAR@FssN*OfE9m{Xd;wX=iC678jTWIbEHQs{=omlY8Tuu z5E(J4`B2)CV53p(XH$?sxiFLc(X<#R&Wf4*OVh6dK_3a+oiWSlJek zz=@DEHT9~3E*yknn=UWS9Scsj_T3(pl(^bQUVki)8))$6T$LC9eX!x#lw@W^Luh)s z3`-jM+aMW1Oydc16?;PObBhYhbS5xjt{HbnrVrl~*Qe!VQtK=gL;cP43+cxg!8%JO zR|sa3Pw5CT5sPQCSalfcc|nxY!BmHW{yRFq=p+y8kMRk=V<2GX3imM7H>C%H63SfN z-2Dv>r8~AB>`ouXkKmGc;~Sc)Yc%m+pBmF|aB4W@Q&{b25aAK&c=sx`<_4X*k&9u=zaWw>(iUr{7HE~ zacw=LFZ8+_V~Oiim2p!wnBMW16AV)r%9xFC+=e}(1SZ62CJJk!ZGKIw71u8Yb` zbW7Bvpm%;k@hp8JIQDpu*X*1iH}!{gqR{HgTeF>!S>{Pkv2q3_p)TU{9eSSKtM`Vx z)2C=lW9kp^D=ta8^tiwG-NqUIK(CDrZpeNkcR*y$qx&veFn60@xHmiG&}izjjzjw@ zhhbTuUC`Hx+LEDCUy-;a!(c1q-(%SIzUHpK`qqh)| z`fylQl*SFLh+Q?qFgg8jN(rC3-49qwF5i-UmGj&VZVKT9B@FdWSWRYpALKCOnMjjGf=r5jOkg4r7jVVcHv6W_`aT{ z=PY2%zXGGYUV5Jw$6gU?*a*p@B4gqu&#%7bltjz zO@VoGt-QVp>OPTD{|{mB6eC)&h3mF$+qP}nwr#DpZQHiZ)wXSSuePn*d+&Rblbnb9 zGLuTxtg2)tl`(64|M&y-iz!%%=a>iy<vX(B$2ACSrfP5mBBT4Dwh-=zB zhjELaqMvJ_N#nvw%+l`1;{cf_AOsD+(ntLD6>^ZEn%~=`I>?bi?MNw5Ccn@yqQS7u zK#zz;HEE&q8ggh+`|t6S^m%H`9rbpHFmd7LT2bB!VYQ~9NBxjlj4_tsBYkpBbjP<{ zj6=fAnlr*jT0#ixUto$kO@#g?y8)B5kmmo$S>Lq&T@={``M7R=+~WT970Ggd4^Ks~ z=eblZ)HiVR8(tkQi2o<1qTR`LQRCZB++)kDe&uFkw@UWIi409GP}BT(LXBiXDUc6L zYILGcTWH%brV;PT)kEs9Q%8MYnhal{=ul}%L*(Q`1LaF+@|`H*C2~iCW=VtC>!!fI z?AGyHD4Z_^XY{1bznmV&hke9NxKkO!-ua8uPn6JVKrSc4$L%M?O3pgB42MuEP80i7 z|KrJF6R|QH=|uG0Zh9y_COGnYKX0$GB%T+N>J-3~6v{i2>6zW?M49JPTys-+sX|<2 zLwg;SW?iUWVNSY%%PAA-_X|~q^?Ub_1S9{OXKSLxrotP?r4n--9H7co$O9WU2 zfd!EU_D-LSiOH?_Z_*+vL7(W)DtGFelMh>zZf0zvd}A?Wl4ByvjjVz2wAUNShOVDm zye+?Cy<3x(vjk6PmL2Vcf69-_q6&_pXBSRbwnYfc>PnQVaiGDl|F*hryZ20{6yfgg z_{%8;J0h5quYO}?YJbmqVCLFJ zuv;skarnw|K+TTSJ9mlF=8JBF3%AVjw3wh=(BP{A5JSJ=o0B{dcWzkx)}o6JdusB^ zU*X4l@@a@-_MPUrTeEyeQN0}&EP9<41stxvBx63Bp=dViL(gfM0+CCPnQSRiRMmv) zK|ZE<>xhH#-kr1|F%G?O;2BAPPP5cHm==1hQDtn0Y!DoUi7UDbM46isXIurv1n)9z)=V1MP6BgFdBx1{+WVfX-=?cHJ>ve>mK9 zZ6$>a8sr*(qLwvswG4l~JHM6t?!T_K4zK-ePe_i@1?4Geg>gmX*S%$&MowND1qY{* z*XpVeUQVW9(SZ(rRp80G7Jeg}y#l@kU=TF3T93ZUI~mz6WuCtlg$Hv zpVGS{31iQgf^RD8*}KPh>rfX-MHTg{jIIUW6Z+xA7os$9!4(PT z@YZA#pTW)`5JP@)tPV z+->ok00~T~r)#$L6xg^c8+y3S+3|m9Q zi(++@M&bFqJAb9gxb>?Pty5U`n&%DC!wLb6zWSZcl~I{K9v-d)ZfGc!E?W+;vx>~u zoW}b3x=d#8L8(&TNNn3D&yxP8u}^B%EED=2o;~{Cp-gcln$Ncq?p=gKr9lQl;2A8^m)>($134o_83pPnpwFWhy1JuU9Sf+-wJC5-}>yIWYZpVI&NwrUwU-YqotzJm~B2bByjmLd@`YX zjSPq!v(#&NZWgPA>;|~CNDQUadhjt$E;;gUUc@8j42(1F5o_Fp>BM=BcdfG-S+ARFFDN*HGK5r_^T zHa9LYWfE`ajd~x;1A4O!(jDNOsrB!G02J9U`qM8iLp|Cr}5u0_)DhJy7Mn$|}N zi@mp>_NfbFT|6Nyi4$-t2B1|Av*7U+@>Fw`v=W{=J>1=?kxt!h`xftfsGw}Gz_%;# z6pKm?h+AHfFS%#s*kouAGGbZ&=)uQEO~Qx%Aq(pmu>^V9I56EtRLCFFO)o@++?vr$Lrz+liLj5i57x(*^F-r9nDq# zsoSP=?2qaJtDW{k?W(Hu&a5QoYwMvV$!IpI86zP&p)j1p@`>)Gm>foeP`eVTK02%j zy{=}|M{Y8(sah5ixF&RkIjCY`L{d2&?*QkPsaRQ86UJ`yISSdk3^rwrVlcqMw7hVYBc0G)C4FzT zUm7LETbAMbeZ+(+)koeobDTV61KgS?_mD#kUP%aO0^3KLGV~HngFsMKXn!-$?l!y* zrM^$!IX{%2;F_+{e=|yR4?EGWKcl9dQ)S?trZP`(!?!9`*8t2HVPy-%J34ucirx0XwcssvX+29#sL zJvNQ5VI8PlDY1F!)O|e_PBRI{IpNOkAU)!aMCiX$`DsylN>G(yxNhAScXsdgj@@RPS`r8E7NeiD9^t-m@44Q6fq zYRAwGf8-~LRZMM_SFfiDQ+Oin%rjR`kk+>+9U(j?Z4@A<;6Ak_af2;1Hu1u@GVX|A z&4LkK_m#>-cp^%TJn#yw81)nGs$m89196#_g>!Wwy6NUDz12{vWhE1B)nU)HNvQ{$Q}bexEmiB znOr2#jaLD!Geo-J=Z97^u4P})q#{&P(-ShvML^cIk)H8Rz5E{zkB2|xV@*cimr9?Z;axF;(q24-%eXLC|0%Ebj~ z)w!JCa{?t+doku~uHkm4rpfTwiZKhTqeC}^)zEs!1;2Jpp7gzBAU_;m^N*`!|D#<$ z|A*PYH$(1wb)ls?tkfh6TTX&YzQ>oaTQ}!oIxohXx9Zngf@D{AW9@E! zfkKr}FND-stujn4GL$We`yT`K;*D(+7k&phT80vS*D973HG!K$wy%%M`F3(+3&@I`GtBppCz*_Ft4WL~!ZSL5txT~&I0d<<i=C>g>GnGlf=^=G05Jc`wP zK+t?YTHve|4L}=3$i`wb$za~2>a;R3PH>0$V_a9iFAGl;5|0ES7IoQ;O`M@OShd`y zfo5y6@~N7&{tObCz+(|m<@SMb+b*t&(b(zjveB_~`%W)RjrI1g@t^+3ndbwq$P<&A zfBjH<>VAV9oyg|8lH6xr*3HkH@aHL@DeyKVjJOU5XBU z>qq5%A|kumY;$}3-&$|Z9okm!!)Vkg`Nd&jp)0Y{`2B(d@x7T$Qd#ry+e%6oD2>6tMao8#=g%bOnNfQW2M_$aH}(8ps8xcNii$k zQiE0`&b*M7Kg>VlRYs9>Ls%9)Z;20t$EV!%N4SQhbymz`{;7l8uke>rM_b8jjjPZr zpm9SXkuzc70I$w+z-r9_1NdZ;TWE&uEX+jiuo3>Wk`>gb(JYV`<*}ny4Y4<^N%#+h zs!#{af5fa$;SF3g30e?m&`T|>SYaw2VIgkT?tD1Nau>09~^$;jMa>S|#dX=kOA zG>wX));e7~SH|zVuh}wQxrZB;Yix>jYC=^lk!Xp(nK0hRSEz;muI3n za;=l!FzRD+$iqMgc^*{HWJ7z{m{D!;qrEFNGB{|3@K2GTD2O%PQVPfO)q_C`q2E!p z3W}s1qJQ(_6Ww@k9H8c(UOe)LBMMWCKehDwykVlEVxx>Rbl8-HohdY6{7~Z}tFl{* zJ(E|l8Vk<XL+bGFRtHC$8rOgxD>dZf4A=Nvz;#;%S(@IC(pN-G^w-i#uH`h zn26+5$FIw~&ERuz*nLa{Z?`=Rd!l=jYg}Dg2DjL^oSZv*YCNB#M%A37%R?g7E&~Z_Q1`nU>cc>PWsZaM;yYBK&lS3A# zfcJ=o&>)uPKyYCcvGbFumSBx~Gk#T0Wa}$)p6WuC4MYc)!W~sPKbcpFvD4uIW+k<3 z?lc>P%CotoRG;y#OGlGtxoq_#kyLFus`@fIamOZ0331!Ts*9u2hH4HL*&QA)E82U9 zV)L-kArbOYDdaGjTbel+k>u}B5?3IZ7f`l_*k0Ghs`nqLqz%WJ4eOez41oD725aQ+ zL>8ba_FTtNxV&xW(RJ2wN@-h2iIz3thI7dDJ^{XJd$Pq|iwx_}5SLFiX z6}HH$%h>TxD!5S2S-ov!PFb8!>mkoPaGY7MR4}xW|Cx?YE)Upl%gc(v)T_z`Cd-Ak zMc2zAs;$L#On7M`+kRCrMPkKCk%#g*{E+btdp+jzcuIY8snYM{H;_U#%{0jO3Z=VX zSzUP`U>4uQTi92yPKkJK95zbpE#;=JQ|Q+0HRDZqN^8(G+H_`^E32a$Ngnn?JgPogM9GPsXI&L%?r|GMart@x|x%Mk(6p zzY%i4Nh!g@|E%XPTVPaLW(RxniZivR2B)1lgsOTVJXk0R!99<58UOltTKunCbCXGln2PK^JjY$^b=K@{sNsVQ+O()W9c?*zoYf179O<<*6|EL5wmUkXrJvISY!p*2057*lGx22p|_x*WP?_d}u7Yd)O0Zu-f*g;~-S z5aESP!_cT_QNKg4=6ID8Ktvx%u2H3?xjW>(q@$$Z1YQl;k#nBX;(=L|pWAybQJ%lOK0~(Umq2Qy-0NK$Ue!x&0N8>wWJnZr@PN zMU@BlJzx60e~-Y=8%lSFt(UsP+5A4N^yt&o4v%&=Y=H?%Tsjbg_dG@e#(Sq|-^r;8 zJuM&0c6LB4fMOQhq9eM(*b_P8Y8*B1_N@`BihqX8vfmx(p;8dgIA9+wK;(8(F=wgG zVMPT7*jlUe2}Dh48a_B8j^t8%f2X@Ze_!e8tI54P`!9|m7eBRX?RrghbXPV7S@KVy zI%$tN#RbnJaTM*w+vYv`2q=8rwNWn}b4H^tiop5fK?js}VcX-5yd@@SqL?z~3{{?c z$`V3Z7u#UrRQ4f}B~pZQ?xOl(_qlLMq=>2q*lKr^T8dbK>rKtlbW(H{?WRQ(&TK=S zl=&W6f4`BttC~<6lX_yNtqC!cwMP)K`wW6~!61>ZYWrE&t!!Nr%NC>La&{1}j}ADj zw%wwK@K|0!;WQ$G!L~BuP=PRMJo6qY(_;pIh57nvStf=t<`GuN_qON;N*R^i*Gwp1PEe4?ln&r15fD-nM zQo8wH$sd#qAT%+ud9HD{((6AD+0PMreNg^a86yMd*exqJaUkJd*0Aq0L0-kqG5Xlb z$71a~SIp8y?Ne9w!|Bz`4uoV7hR!7+-t8OPc= z9tX;o5f}efsPysCaYV&8hA}?$ukEU=j!vCB{ca)F!T;f3Om)4{o8S?3D$?+2$GIXi z{EN!Noig=9@Caqw@DR%&R^35YtfH?JweO~^q?kX^9C1%5GR3Zsfj?a>#BJ`UZ~#X^ z=_QL}8-4Si64<~-b_k>fHltIcK%VzCUqM^x7uIToQRgSLQlssj`K0PxiGql^QV(a# zaEg6_ay0nreT0~-+X-#@4Oss?C|ddj%#<{=qRr)_4-!JR`dP`#|Jdcz(Vs@$!`;bp z$v7Ju>ak~K?WZyO?+-3CO^)Py!|&~!GDF7nN3hU3%2M*kxe*Vnz+EuwcSe=2hXS9q zRzW1acLfJRidPDKU?eyNef84|&h11}lj6n+LcEqo4-~5$W{h9>xMcAqv)0axBF3p9 zb0gvQEtX08*SL}Fr)`SfV;kuYJ>cc79c$c>lGAt#`;^$~)fCREvg7aetEj2q3F)_fQbYoALDN}a)HAps|eFye4wag4^7nZkY^XDJ#;yExp z92Z46_40e_kxv;$Rk6wV;Ljg16GmJ0m6mWL1@6Mf&}3y+CHmM3*cJNdD@mWXlRvc< zsrK_Q&BHGY?q2Vy@*9O?y|zXy(Cg_EH4zWaarA21@VQGZ*9VodGg`tjxTBn{Os;B2 zk3NevSlsu%58~`LlF9A0b4L{gitGCd>^9V68OCatHK$7U1ZD-mv;< z_M&J#AARn`V*P;{aoZ(fC~!1P5~`Fa6PfvyB=|Yi(KB%mzQ&yEaU!;M zYMbNcB&(yoOKsAdM4e{2^#XZJJ+-fYK{;bWzY{kM45A16W?I|^{!<^P-O}W4*c`wo z`O|1*((G?W*~|MdJ$!NEt^j37wB?DRwPW21?Wzn3EM}W7Y1$vL>t^cT-Wva)9b|Wy z>3;A)dDTBuGr>%@tOW8~Pg+{pkbaW)!b9s^Vd4+LF*oJf``|w2c4hlyot)u{0L6 zGq*AQ53r@|Vrr}QJJD~C#{c`$FDv*vhlQcjf9%;P=mqJ8=|$*8=_To9=;i3;>6PeJ zDF3&cUlU_fg8x!tO8gpF8<6vj}|LCw^^$H^^=kLb;$CUk_+!*68^Y%Y* z?01F#AB*IePEduc3pBdu-#91I+JOQoP`jYL3(eMlk3_=Zg-8^7ILAmdvJ3rBm=cBD z-2qCM%Z<_)2^kEFRp#Zv34?Mt3=EVxxT6CUAV~`8qks;8 zoSYq;oE#kt7#OW}JMIy`6ATz`cv2H94Amn&v?MtM#y3S0&>%i+ilKskU=%LE5G=qQ zWWZ|(2PdFTc6Q(oV=yNqVDaDDl@kC{IDequQ)k2=KA6*;LsMI;AOGR=6!EXk2oL}y z)P2*}J{&?@7>8z7KmmX$!xog$Px?HJ4ftGehNkcy-VbV^<`5Lz9|Rzv?X4}2zt1x` z4CK;^Xl(vjtXoj|fR3RY9YRz8p~qDIKF9xu9%BG#uCC7cQLz}H*|ReshuBjzFt-H@ z;NtIW7nmlL^B=tgko6$-uLK5pFKbxH1GDk(%LE2+^#6wYbrHQ0SefI`?l&`I@B(L8 z8pN`Ktgmkk0#Gqc=GeP-U<1Ig`rbsaIfe0h1n&y0x%yig2j-Uy2R0U71^hSezxddR z$rZq#6NlE;k7>kL?kVG}l7f>&1}`rNl zZ;DWj&j|e4-SG`vgTKF(@(2J^X>ELM zi&>jvTK@^}$YkA`I-ezcpQYphYikM>S~8ef>7&O1;0{lE@N&$-`~@J9wv`2Y_95P0%KKnEzlgZGRs ze1ks#1Zepd3yfpz{~-Vbn0v%0fdI(-it&8`v-qZeO-H={eJmWtuhI_!V1z z(T{-xY!SkYRXhKrfBgse6Sii|)SiNTlm`;$3>e(i|9yNrHhipqn-Fz@f7>@Q zGBrGYb|>{^+<&i@+sfeqvsmTpKhH82$%WLp`iT}w4QzP-jSt}n-Eb57P&??ube z()l?cC~Z<90k7lOi6D>jZ$Mis&5X~lMZ)K_WmO{xZ6!H>$NSL78mWx2VLh6WUv7yz zwU1oyE99OMv}>h`_J&*BJ_kViNNmUrG}J~M9T2Bw>r~y2xAA&eU#b@_Y{stAUiFsJ zXeU*sv2QV!35FuuY>aU_ov=VOq)EB3?=QdGXbxXr`oJufSH4=f@$l`s->B|h$xjaT zyXVNmCOIwLDV&n0k`I#9k@M$1q!@if4hiT1XI)_&BUC{GJ}pIz`Gu&qV}C49p5+F* zh*ao^T9|}yI*3H-UafraNP0ybqXf)n{o<4rasO=X34L}qaK@1#M^&5cE~1B6s%#lI zXvEXT0Q^$>fKun-Re9iS#<0Ss+kji*$?J)vvsWL)yByQ<5dUjWWY#IubO5%CXTWv? z{6_q1o$q^e%(&1zGwe*W9)7r046y>tTmZPB8jI#Yxjh_{>xb9m9lnhy;&{}qECJ;P zjGvyO#mkV#Keh2KW@sdB7PR$F-;j_;pBY8#MN;>j?jZms#2hQ);yFkkreb$w!O@Zo zZOdEV8|lzs%HFkGa?>FJ4F^;|QACXFJe1r?krf0p4>k7+F-jIKW<{Piw1+T{kYJDQ zmtgPlSHtk^hD~kLt@{N=h@4+fOp2mpZFa&s;%sC0&t~0#pm6(I?@T2U%_tQQgS=KX zmbHlBjK?G?1AId>q!ld$-As#~UfI(S)oTG->&E9E?cu>$*XT{G_qCYoJJvx}T~xSn zAhR6FLE@Ae+Q`e5TCi(#4vNJCBXTz~_nDmGi2|#qG}3h2c|5dCJkhGAtJ2-P7?(ao zmjajY>mCK|i?|vUN5@Q4Mb9%MRUBSqj&*w0&iKWp3N~Czoqxhgy8&u9-FUY}W*RrG{9L+OIwLZk9Qb;Up(>nYW z(&ZH1EdTczx^%f0asseYmwCUH1BKTOG`mw1Tf?tlVLps^o6aR$*&<$uKhczq#m-iY zBg@E{+@omf_Z};KwL*vTM1>;Gq=>8UXZ5AA6><0G#cci6dBQ#y%?I93&X~}GsIpai zKZq_#-&>I^lBqA{lc#|W(-t|0ydXsBFLGdU%uJ<#lfRR!)kidnv`Dh-Oxsp_GrppB z^S}${cO(5Ivfu&9I*l7plEF&D8N(91jyi3_bH$4GY7r&@NZD+}@Q1m+$dfdDSlaMN zp*YCO(j(&4A0x%HOF|_pbL0w9`?t)o!ySESUl$)s(rv@S(X9(a>`JGU=n)zTwRTyX z8E)#tuIf?cz=f%gY_by!X?Z5t7Ntz7eWK3h8oXHt-wg@+F#lr8h{{r)E4Th@(ZNTC zjydZ{EjLA|Fu?DqA+VCttju1IuPHvs-E+RKhl>Y!#MkK)%KT46LW95b{-m(jg7{(= ziL+feI8TbdNj*V3TzUcR!gubjb>8*+jZRh@Ul1%qD-scS@s;J8g}k*SDAowy122kl z`8FMTTYtGj=BP8l_hc(~8lDuirs_&KPcr-cUVt5vAPiU^PsA#lanrUVwevi79;<`d z-7d|H*5A~Zv$pgH2>1%t9@^TCmmZlFg5JEc+%^%mg!zLzFZ`L~?GnJb-p^k{zYQD( z5Vi#I^-9_LHYth#jckS%mREahj?!iHLT8gHDW^^ai&H(N>o%rT8(&l8JoobvxycD- z**+ZtuJ!c1&%|1sd#Sq+I;AKVchJv>aeywNiw`~-<%#+3`fg>Phx9|Es`}!!%CU4j z#Xl)Q2V16LPZ;J$ahNfUQs2;(plXF>zlhWyb7ik}QA`tDh$yImQK;(BXN;mH6sTf$ zZ;~M0*5cVB^DAHwOGVXs0Q+JxZdk22KyEc}JH3N;Ga~x5NnM|XP{(Bi5@@wKa(xkZ z?x2m6PTB$E_Z&(}IE=ul>B-lh$#O*hYK>yOfy$fA6=dGinXHqfGjsAkzWM0J@ zTS$brd&jnSBjUU4Utv^)Ggl|1tec#x_t22aC}FDPz(8(uLu$nYzJz1~`%_CPX#bea zIx1Gn`z+@_p(u_IFO)H1x50sQw3l2zhE1~;B|0CDf-rz>cuJuYtg|ej$0u>iyDd{D z9GcnVXjr>g_xGWs3pMoZNLaz$cvXgkTVzUGb2JR4<#!=$rOA{@XWR9V3@3L%4PMh{ zH~ikxLoA`du6MvEydxW58(tDn^YZ+6EalXm4K&?2f)Mj5R*dMjp$UR+=ue9{Xh`GL zLFg=&k~T6ZkNZ|NoYR%{+;4+su_2L!5F>MRN- zLOyDE46eBSHBCFkxLX5z!0zYHkJ3zO|w-ye$464==r9kSl z7^+w1YvAKjX=ZDU$pAwSGdv)K?hf9Hg~|RUW?7eBvqtK2C~}?^7*so8NtU0yVfCk! z<9YMq_7a)si%bkRLs&R5+4_8sBj}cy7bEv&eaE#TR)PBppLce4#m}J{dS5o`?+0!# zl7f`E96Qoy7@2~|OA(>db((xfu^>#eV=kdP84}?B_Z}mfU_{nrp3%6zh?Vl z)6zj%Wi_lO!AVU5Uy;PV{CN&@FXZKkJXhJWrRF!HS}TmDUVG5Zgz4iPc(FP{fY@w- z>Uy7&YZPnyq{3oN9es)NEPOXeRHHMZ0XoBC$Ch7^Y^?%RC*c*GC%Mn;ysgM=s=qNL znSm)G`>lO>P8z1$`p!}~?GFRQ*gg*w`wA(3 zlfAA?==Fpsf**ZsSM%8kVx+gGe-FRm2{%)ufIw0F4yrTc^)LC%ThU}?kbtmQJ(ILG z+9Y)>3Ja>s;?VLN%}m4f0pRyP8X_K5HL> z$~A1+f*UU(Cweq*t-RJSm*pAb+;Yb@BpR(JQUH3B5GEDUzv(N1o^ z1$jQM`)6>5Y0II>whNc9S^H}Sa3pXYsBmIgXKa5+>c*>OX%_&_7U@BwLH5$B3+6|3 zIr>cvu_2=X{Bb(aBGCndS<>b^w->b6NzO)(s8val^A*-3K+0v%Km#o#+|1L9=;Z5J zfmH1fuRNS2TV#E*kZbV<;738)f*UHW-f>Kvlrp<9|AZ_SU47XT&7X4T&D_WQE@pWj zfpaV_s9|FVJe@mPW|2^xFnw7}Msa*vBM94E|BlT2VX|C$T8|JD``SsfX|uwpeR!b%FfxUFI31RUgMnq~uPm2nd%)k297D2zzoQ9NK1r0+cQF8{INrO+#GO`U~>%>PLz z+BFYx$rxg!<1obDu--&K^jc!5vZ8k~FX3ZF4!3FX;sw$}l$_d8Po7*%ceHs)=n#J}R}!hj%f#8)q06k%g@0 zpC(ZVk17jla<7NN8ix6E_f1q;wP^HJNxo6W64nc@`jR*r`De*U1QK$1Wxm+aB+WT> z`^cJZ{pCi7*{47hUhu-m0#@m0m+bcfl%^>YLUka!zUtI1TyP`XMI@9~qYLWh^XY!o z34DB4IPpeN2Y-z!XV*pZxUTYX0gV-@h6VH2bA86{D;#1jvGajrqiT=GchcS1#ggo{ zzbd~FA>V2PU{H(W6Y9x)CvURtuoxzlEn%E#oMthhv}VCqarFtST!?`Bd5RQ-qvDQm zD3M+;LWiP!FNo|ox)Ca)ALu}Mk!>lbV=VM096e&ocP+e8)}z4UmMa)@Os4;wss;3P z61w08c?D-62nZ13k~CF29hnwpS4BP-jn&8?Iz_xUs_}>ry2s7Kg~3Xg=FEYXmJFfH zkcP97Z1Z8`0$s0@ZJV>I)>#KO|HR#4QcoHa<2F&x(t0~GSTo^uHVDM*$_<0^%u`P{ z(5`D9t+F#nk^wFR%oF4C8Gp?g4kIA5MyBxx+sANb?G44bT-vpzxmW0Kdg(|EuF@p< zM6Z4vc!V%)MZPWJQsly}ZBlJ|EU9*koiTNr5OGD6;iICWWHY@pJtA-5f-Lm@`#j?lf>E(ki4QUO@;&?u^7m7=HcEJ+)iLgiDRm}#U_6w z#wDEhz2N@Ksd>7+)cSK9sMGlBdMI-WYA0bg)geY@IZ$4(9iM((uTXw)-$K%Z< zWXaJ-yuWsR6P6r$Zp8bA)_5rQcv$xP+A|r430<``>8-BsXVm!71h~2eer#XN%PlnB zzp3p>g5@3(27?y-8`rU__oEv*6se&nT$#S|jXp`eG2thHZ&1f~ki%Y1Bs0h}X0R)t#Xz5-}N#qhiW^uIcl zo3>7QPm70dhqb>3rsYX-}?H}=wN_7~Oc;q29Q z%$c2FMT1AX9rag$llLQ4g*JTCPPFh?T#x{l7S@d|#CzRmMuBUDT$goXHvHvy%;X#Y zdt_{&uDRHwZPDH;Sl0OV+@I^IJ@M5jD$B9qUXwM~X73`*5iQ0&Av<76fBtqbW4{`m z(nZE=XEKdFn?eEgW>JYzj*^DkJK9iED~!t(QJ(DWTB6aD13v9)`ZiI;BVbWl0%GCG zLlM~ss_McU_KCc?#e69z;_mLq)2wi*ct;Yl2{IXbL=ZHMKokptE4X|Qj1k5cM z_M7;QaC`4Jd?a5g_u%FGTT|ybWC3iq>UJTZ6>;l?k0NvO;+k1|TQihIKf-nJOv=3{ z8+uP%6e;HBMw}Aw8@OK7sbQll2tH{?>{Vhj(k0Id4gre%-DQ6t-Spa$!9+5MJ75Cr zOl7A0KD<)xvb) zDCk@R<#dUo9$X{^^74f&F=s2UIsQ}U!`ovU^K#gs`^HEJEAmu<^uOWhFq{2-C$`pL&QJes+F$5nJXcf zV#uHkk_EyV&Z|Jzr%EK&!!z^Zfp{J^!l+q;E=-jQSj(tT87b>*xh|c_I`fXWzOWwA zVdO|R*kFcUOW|uuNo@oBjb~gzOEBT(pb{PG+M%UFrc=7xU8jo>eix897UtNE?@!}f z^onu!ln?}N^Rp-u42)6hz=*t5Z!IW zACU27Qql1FKD8b6+Q1sEn{AVTCOuzSe-b7Wlvv$UY=?-p(mywf!Z8$2;L@{>ktc=0jO>$n zKo5v(G@b0wwN|tLpjNs!4wki)$?`vt@-okuZR)K zbC|lFJJBW-Nw>ZgZDEpqgg)+$!9zAl0vV4_q77%N-1`e*ztXZ=fsx88a@SE3vTwhT z`gAAmy)&1I$RoN#%McCUvI7EBpWopExZyW}W&4~QtNaYd$}kZ4RsLZ4*teS*M!P$a zR7TPTLRP~-md&pv(3lK=?*G$qHma1i3X#v}&S)b`0BP5JWT)hO)`QrK%XitXp|qHW zC*1(CUuCZvMzM>hIjk@=w&poiZ}$8SRBjWfn7p^H@QMnMj;ait9Gyt1f-085-Zj>D z`l!rHbuwk%YJJh9gZKO#r)i6BrM1EI!4R>MX3C({f3aGGYQZ9QL<^BKwJf1I&+oD* zDee8l-cge4FH*@yLOABza+v0`x_1I)9)|#jxvoPfE>1=-h`0_lq`wb~-E_Q$9B85U zjgEq9J3)M^cvx!8-@x>R%rS-4F^{t$_a@R`UOS`CoPwx9jGA@R)KlB!v8KO%UT62% z-q67oD!>}Ne4x5IJCT=q){g?+D8^nE(HESRi&)wKXW~%kN!dN8-bO$!JN@UTAA-ih zNh4XKp85oTPeYYjkLS2Q{Pd2%U(s_%ZXMN}J`Xrt9mefaP@1Jk^MO2yD`#RB<+b+Jk>8k(b5t;kHn86;gW9vN4AjVuP*O z{U8GiNQF2@hX#*?_&5k4vI!dxr;`+R0iP1?3rzsUewonpJ_K%vV7%YH;@xwB00Q64 zU+)|fx|>mViZ21$T*cJhD1nzd)*KkodkLyFPq?iOjrS_^~K%lAnc~tm`O=4n! zjnps*oA-Osz|eCxdq?S+;)1lCFB8mlPIdU&IzQt#xcE?M9Dl#~%cCPtv%Q(`Zyq)J z(9V|K(ic@{USdZYOt_^UAq!Bbdk(gt6J!=Ksu_ZOs|W(C14VI7zTn|cc=Vbf$Z~N` z3YhN0Kd zv|ae~R&Z=Htv*u{Jh-En2)^sqsn8nLfZp8w_9xd2C%JpNX+kN}zqPSIecdPLi0~0Y zwB{^89?|ttjvp8ovBwIsw~Xc%zZR6v&-(q|5D%E?At{g<+3^@OBfjmK;+SI<8(wbP zK8kqve32gpG72`!@*tkt9sVdv&l1&=0h$8N?Pk+aX-tI_GEKkmZW{`vNRPJ82eri` zuEnlJ5cQmFjpQ`gT|eGjLh2`ZzT2-90^bX0;yX@w}ag6%Qx=v-kdPc!*#nId{|mZKuD}on`B9 z5J8O6$hzLnU5H)1`G9`Ov=?c^9#RIL%UuF)Vf+eUK`8PdTVhLRWZ4>;@!7<_)h1ox z!^N6aPv{^E3mxZu`208Hsjo$Ei?b1%5Zy+Rq)0^E=Oz@#e54OHMHL!p?{x`Fx5Yn1 zeNqJfRBeg&$Gjk_JdC@GTXpH!e8Ji+<90#Zj?IH}An_#qO415$AuHHBf1$KIdacxr zpVYIjY5496F{6;!%a*r2qNb|>(4glH9j6HBDYw-jH|_ zW~6&y-*jQUpWxbF!tf+V`=lC=ze%dJ*kM4uzS{X!-}P0=kkcTB08ZQB zTtR_kZ5_;CD>rZT43c<@O~4bIo}V_bSI@+oyzP1C(Lw)2_{1-=O`KTOM5D8=|NX?Q zNyYa$YL}F;*lQv_F=)zLz3uv{3~$D)lD$RXdj>)s)jZc!#>d=v=dy(CX-H;{DiDwj z5OOpVV?T1|$o)4hMSYSwEUM#>vo`}~=rhGZX6;DoKeWIFo%dp^sdw5Af_s&XW5i)1 zj2^~ZK4l9WDoBiTJPkk4XSxHf41wE!CUUS$D-dovwo;cMD5??}%9o7>&4aEsb6L~o z=A6fi&Atbgc)4L0$Yh&4S6ZE$WRtLYWS3`ov#G}7U6A6Aj8tBoblHzyz}s-q zvdR`F1S;&I{0>gXt3S1fz4YV533agBs#h}WMN-9Aa-c5f3$HHF zEd_Oz0UfWH^Ld(=^+wG@aL9Mgu$X;ahYlQ}cucD93);`;r2sl`VrOBhT5io~%>6#B z7AfqA7$@5$71dc!ux-6FrAd~zo-kgDtZ_6=2@9ga1R^UUstA}_ok*b6Qf2cG>f`Up zau_L;@gJkq-EE|`gdhGaG>4Ay!?!B_oB5oBC-EIX==@rB=6(U^B6m5p8|NK??7p?V z_3P`&M-F8^hgRzthGr0af1*z;u$h*U`1DFHvYK{({V6p<(HJVzEpYF7gL@| zMpHfVU#5m|Dpz$-Z_$HpRL($(XFWp(JeZWZo?O5d)HCHrBpJGHLE8L>`PBYP+c0^r zM2470N(yT!HR!tq{cqP5^9eImn3GuqVFkT~T2qi?kg4NeUJ_2*rDvwtVN3D_7b*Z7 z6>!gTSbxQDE5oJ=V6PU8t^__*yYLgVKRgPaaxc;}B-TW2tIg*V@N=>@Psf9mnrW5q z5%~pFyWFLC6V+T&wO~pX^7+T`t=~C^i_!=YEI7!X7qsHd3TyH=h{e0|s&DRUl(O=svkNzGqg*Z0 zUlV_0~tRnKFNlHrTcPJfllbBaWp#Z!)Z(L;I>U&ik*z_V^Sh7(bJe<6Cmh?NeBb(|U)O<*kqgi5YF0*8v7O`E=oiV0Ydr>n`Cu-o{{wF1DKd)qH z@E^+eG_*}`e;W3D5*Q&=?fG$X^cS=3Txl>Y=@u4pAcxFjch=+OY#Z^V6q4ZQm3V13G4Iz)ryx2ws9AimzFbqymZlQSAN?~L z&qF*SO{I(?po(Kl(CVMbUr8vjI}O7wQv}=eF6WlC#`mn>5z;Id#z@4dU&JHFS9CiX zP0I5XYqd6cXe1@IG_L}!0w@@$no)U#tzG@wpgB#4ii|K+sv5ji<9F!6`&d!f^H)7; zb_9Swe5|ICUED)v6!j@lzu7K$A0y%QP&8JKyMJgLXDcB9&iI zV2gJ8`Wc6e1O%PwEQ<7RX|KOitN0>ImWtG;B^3p&ru27kWcxf6S%bu^2INwLQqXCkzIe6bLtTnK$mZ|QCyi;|zYhMG_V!(iFY0W0sOv#CM5k+8*|#im zg~;K|(vy8;-J7j21;Y5P>&zCi8t_ST9rN{{QjbI(X8&nXO58@2Oh$*N%##KKomBXY zh)0f%V!>;`Uw8BW6rSl*7996yDyDQ6NH@0Qn;}>y>TKn{^;D4Cyo{@C&JbX_jZF5@ zwo-C^Rdds+fr+EF zcO5o67(Q{p)}!`Bsa2!Ai}E*2nvh(5#_DV{OGsk8@Hwh6H(z7VH@PNVBRE<2q ze)$?!`BisYT4uD3D3y2mdIH~gItO0;xrtd}vxPQ8g)qz(wuG|#=k`x0<~hrZTkqG? zzh*~aJnMBY*|ZaHj!SJuH*R6iY|5H%o22}>W(Rf{adMco#;!kGb7vl(gS`4iaY zf*wjHE2(s?5ClsOw2pxj;GKM_9P^?By=z06squJPr#bo8i9voMnc@rAj&H@<_PhJf z0UvQ$XW%-V^1O=!9^8X86p=RTrU)Qc;TAa&!XoVk!8r zRVQnIWgGRP&q%JKD8Exn4nMy*RE*IrYy|zL&CH-yy}tsxrtf_WM#Y<&)!X4ERMj^A zm=64mB#wh~k|FYQjbWdiTCQ^#IaXOwZLx05o4#$W;i}R*L@K+s+dGUH4T}+Zdx(Qs zV=<@ybs7n#wvYeE_}pZ9L!F-c-tgjCZfS`oj{uUG0_!ZW%gyek$W3mEaceIzs++t} z!Yit6XZ1jRWK`v3S=L{>&k@o%NB%qOmPxJGByo-r9jzbuPpl2sdW4d5T!E5g>Dyr9 z;9_j0<3SBODTNWQYMl=geExc?#Z1<*lt;~G%NnJ{$auy}_U4*n5#rjz+T~L2TE1O} zg@Uc83zB=S4%AbJ_LA5Ua@#7l)8xCiE!j7|d z8Jn)hUV`?SFBM#0)gpupnI8hq21e5oitsmCuhPG9GB>jp$`~HbqVB@HZkrzbw4acp;vQ zn|8RFl-d4g6jBtiGUy}HZ%8pF4egbty+AR=)y4@;i4JfXZ0?NvQ3gO6i>iJqiTtae z{H-y8B|XolZF_?a(wF7s-3x(#F|$O+aA}7m@$NZ%#{}V~?;d;XqD*CviKIvOjn*DO zD^zt@?nm5z3dhP~yb4QvS0OPEo?^ilY4wxnhR1_q9%Y!CTT+6a^fGIqTKskk@V zAgk*JE|vR%D}3`?bKl9r=l42?FSO!~p5N*&zl^{nLPU`|0L3!ySBfGk{lp2H{*!)u z6Bh8n5kv**CshFq3@bH6Isru05Vs^HiRLBR5cxF{fW++hOzb^MWhul7^E3ST8yCt25+$@=2 z%VvYLU88YD)YgQpOKOkyl&;+w1V(DF&F{y(FOHl(FmbMEnO&SEi8xjOLVH|n5pNXr zxgDbKKZ>Yk^bCDbiD{ zRf2NTUaC`jLTM#Q?+ht#)KeX>te4`k3uagL*A8R~FsnwTqUY-gQ%?=sfM)NfR zk(5r>3K&iqKM9G~#V<|YH%T8Aq*Hgv{Gx-E~BI=C;m7^ zLZ}b3{rc;)0LJs0em*g=ll$T6Ms&|a2Ir3Y>IBW?h$gxNK{~BB;fF_9#qFqy*U|0E zZ$q9`uVAY}L@(jHXBaBOhcfZ$5})!X@`%kq{;&paxs^oTdEg)+S4n6*PpOkY+f)B; z^<E-oX<~tL^U911eu;m?REmik}u7F}R>J4SvnC6=a zJCvhT++_(m&ukmLLsab+yxS+Duq!YINa3Q{1!5-tVu zhPX*mmFxhfYAkQ5OEylQnx^52xl^*nVt*p9+vHGJ+`>+NXK(<1kF2MS3>cG0qR&rg zBqeW165DV}LVLaxP6EA2;LmFRlerKm2#wQysWQ*7ZorRRaIP!i*&D^yrEe^yWWl$t zbSqQodhm<)h#$l1uX4n#SYeioQe4v4A0T+_rO*F?IrHDR6mYR)kK zPs|yX|1f9%`6x{Pk(U4e!<=FK7eM}Bm@`rUIe;QS>7O;D0#F4Q0gM4A08@Y&z#L%i z;N}dl0$2lV0JZ=-fIYwg;9zeCa0ED-Ia@iH0-OOZ09SykrL&nCz}3S6;0AF2&)&^{ z(QN)--pxOe=08UI{>xYO|Kytg)23Sz2Bqvv# z5f;bkjyHsaUO{ZIFr#J;3|NTUqF67mHsThLp%IX#EDRk3ILN<452CRi zd}J!>K$t<)W1v}dFiYZHMONrCW{|UxU@k6`I=63rkk%_NAVVoBr|+FTATbXr7<0rR zP*-9si*lakLcT$G!_c}2AtwGG=|1{{*gm3?KtTWiAQZ`?jTGdZbg&2M*~d5yBtnG~ zeILpVsh;Gm5LxmRy?*-)%SO~Ow4n!)4 zAIOga^E07!0)X`I&6@xY1n>KidZB#RAi?_dU>w{g*ozPC^)qy&3?!X|hndw_Kpylo zc?Cvl9RNr~;^G9wMR*Du+9UB)58Nyh1F?yL0)fTcBJ%&`g9#tZ2cKhXF~ADynK!J} zLch+Bb@YhnXR=H(_^RktRP?#*`T+WYTS1S%4gUC|=jz`@i0?7v(lWt54h-yg`&{{Yi3}Pq<)%26_6;EV87VIgy@hy%hJpnK3l$XtVw4mGA&Tb% z`{bDku-|of>}h%-suS4yA}ylWLOq%8GfnUV{Sk2JyZQAaaQ`!YA8_>Z<6itcJ9X8P^8twXNx9tWOX+W$Rx77Br*0+cu9vFs#)*(Pz>83 z#q+-^{#A|z6f7*{D_NJ)D_saA!07IUpTFJ1g$M-GkBnst1r);tv>Pdy_=)qkoD3*Z z&(>oU@ZbL#N+q5=-{6uzG9iz~4z6Vb64(UP-B!|V-B2S0{nTb7pr3k`?PN7V0H6~8)3 ziF0JCV5w2==L4zkvpZi4xjH{n(?k^Tak56H_WHr%PKXSKHOtOs5l(CN=MR z&_P@}R5Rl#^%!_5rA%GZR9YWvUFfc(%J)FYETSs-K1XQgrm}b0*dWPVUE> zB9Gj{y@>)RM~{8srPEIt%SJJwu1Z?%Uo|T+C zZQ;~ElZ6%*8-}|dn9ta5PUGGB*AEikY}*gZ++Ej^`++n&>>hJdZGe=710-dj<<0x1 z_>5am?!INq=E|`!j|2oQ8mBz&-ITK<0RbMUg0I;S%K>DHJ381X9-Wsi&5L*6n_og_D(O4Z)3eNpdMJ zLSUcPMfBoH65`{ z4Ur4V+fYhOCwm^Kt0vE(v#v^Xk@zHH#?nv$$`txj`Ks;1v|(^*h>(mNfy3 z38JP|zbyn3hHYNbE<8R9=N!$)tnI43ABV{o>Hri-qaO0@t&$xOqq1cg?#Y^uYmik7;*5835tKmD1M@Eu*xsM{4zR{T2&Ej8IAONwtv zZ6NlT*s;^zZWBVh-j{=Ey?0p_^djqMy2$sl3V8{rri6dEnpwv#TP=TldB^wGFWp%O ztXy`djpP!E+lX!%=mO4~X+jw_XqU>UPSItRZkb{T~lz+N@Fi-G^%-H}IfI zdmN56-o!3qt6licFUih0W)gKz0hv5J+t$BRlMxGYHGPeK|1=@io1La|aRbCqhLXVT z)+m6lktJGc7+Jasik`T3Y$*_-W)k}86f!VFn;N1ZZ@diqPw-|yxGT~klD(`+$#3J} zB&Jk+?N!E1iwvOJicbYBvk`4db}u{c2Fc3UjHeas=?F3mv{Y&?<1_R?;GNVVctzy5 z-Cy@kWNAq-MbKTog3_hO;z1U7dxJjlw{gIZ4VgX-dA3-d6g}V-ylGeiUaLL3Jl2VR- zj`8I|vwlX@?Z4Aw{g^S%2mE)FX?;}W-nDs|>~T{VHl$c7`iVI?ZQF$%_>@Q22_P~B zP}X{qw#>f+$32hEShNm417G68pIf*CszPcp=JXfi;My<3`ae74Zj5=wK*4CE$z|+U zj_ad@*7X&WMCjF7Ky&w_QenX@BZ8W3Wo@h?^oR8F@W9fd-5?M|L!Nb0Q3#)O+wI1@ z$fq-E$9z}nB5SYuUY?7+Tp~K=R@8=iXAwxZW@Wn1l@~u5Mp9js z622vity2^aSq}`Gjn2o#5;-Q8t;ojn3u|&SIu0Wq1ttFgXF}VwGSAx|g#r_n%xedCFBTM*^G-fKa!kT%RAu0$hj6mPj z^bT6r;LHu+-bjqg;|c_jBUGSfEY&l185p$?8|T_^L3wkY3e%QxA8Qlp28?uesGL~& zEQ~d7gC+l6FRBI)v`^W{tcOq`^gaBS0l{A^E;~7=ZDAu)RkwkBd2Z9#WdzFk#5c zT#YE+rp;$i6#-rCo$z9}O5e{?eOM@*hTQwA7%TCno$9FDK6T^HO;sR8{A~8MsX3D_ zS4ZWWpe81?AuOULBiTt>_OPC1>SD;Cxr!;GxcOT`+C^8xfd1!}3ejT2-iu8vNkYsm znV&-_BDMF6$LW!-?Lu3R42M^iDx|0^ZW5wUB1~x5)twtyu#H$rqY}Q|L<_VQa`xY}}b@qHSS;6x1s^?FcZkKJb&m(s8SEj8nL)hw*C<~s7eo3kci>fD`_rr}HB)@( z@BC(@-fGk0+GX`6*tcWfZ8<2wa1==*6Usm!?$);4Mt8%6ZhYUE&Cr}~8NPY*-dI~+ zy?{Ari6S{i|1b3H)fjtU#axX@crn))*{rbx)?KIe3HT}*_PBH^% zTG%_koc2dBH91EYJNwWg&5B@ENKCAU#|YI%lq+IG-(y&fI&PEeQKZ)btWg|0T;U|o zU;BA$S%Z2Kv`HK~<6Z4VssY4;XY0?E0Gs123at|YFh|(y<#<{w2%7} ztlg%6C!f6t-b00KBjhCcfrIDt;v!yG|4ycGqf2EW2`*FfU5Ab0iN1?d&Qg7A(s)n57TA8- z0XdV?Q*+n4Y}(WtNq#AgDvvgcXrJd@gSRPQm5tPaC1g>=AbBLa6eEVmP%)dAP(5HD9u3a%P~oko&`R2zHMt>6*K zu-tk1`le0Qrg!}o-rN%5sByRHgDXqzqPBd#pzu9lZoo+x1OsW7u7-+ct(^?s5=Jmt zfD>JE-I~>pr|Dy|sM3jvOjhNcBJt`7)`$1Bz;Nj*~En zX%evk`!Nn?J5$TcW1Nks$3X40f3)y0T?&DgDPh161Cv%zvi`>hyM!&Yl2m_XqQkAT zyrrx_yK}Hj!`IglQd*U>jUo_O;2Xvi=$T@5Oth3tPOmi=H2u>YS|cJESxe+?aZiE& zahKi}O{UyMS)4RteY^Ihb8#ybM~*ARp!2AX14iEhtxF{_V*^Gy>W#ku$%(Rw+EFRY zGeuAMU3|8&3sd96()YL%(x$0Few+s!8X#PHq@c0f^Qxa7-%>AcEdp-*BWX>xBnrwT zAl31#F_Uqk<#u}Nk%*7J7N`aVe(tiYdRq`4ILG|aqx zpcNa-Vp^DDI@Go9D6~B@)s+F~CBDg`fe*|J875*XFP7Vs7?di(>R{y)mj)jVA$$tU z>ahh8K8754ZkE_A``^4)97Fg{FtdmHG+jVp~4QM zt4|```E)jW1ylL%nv;Qb%jpV;Aj0{9kxc)xmUj(KDt&fsI^QwAOJss8*V{*25u zx%*+{Y9%PhpjlI6?W=zAZVGGNyzejD2d_dm)RMDLY&B>|p<()3v5~$f$s|Sthq%sE zOP=@=!a@YSig?e~f`c_V$0pkL`$fa(PVmFja#-~wgo8js zlREOKAomtgW*9*zJItqiiF6BT>)(~y#U-#)LNG(R8Y=wtca+JvYYLZInJKhFI6iGu zjT><@LZ~s9ydy^>96-+0PxEq6UIPuXosoDISQ3~ATh#t*`?hWoi@)fLwi~o}-JTsk z5Tnj5L259lN@y;hk-SH z@Bx|DduyJ7jLRS1uu^)If9AaDmG9Uf0DM)KD`Pt};$! z5NfGuaJTpX5h2YBvy@-_;9tX#HCr3XS0Y9!#7!T3pO3i!l7~qVYn$q@8yf8+7{?N0 zDPwjSEtM!K`!$i7s2y9M*=QTT#5zBNL5JoWgN3M!AXe$L9SlON7Q zd=Lq`gVI=+(+8ZP3MkOR-68PLau?AVnQ=1lttC9NOrSa#cRx{NS{z)@l}AZW$rPLH zXpRNz4OS6TDvA%$)pbRyd48f}4s+R?QP&aoRz{hDvAW^jt4*6k$sC=zrHjX2cS6Wh zAllc5D61VEicF;MynsKHqFh!W^U~k8xh8)H9%W~|xye!*hA%k*nxC@dbI_o)%at)c zYn$h|}QOxuVxYWt==oqdmswCMBTWI7LPAJKSt;*gCJJrh31P`_tFe ze{iQru(5T|3L3Iqs&<{Xk|35OdZvs+kP8Zm!5y-Y;Fgc?=(us$BZsJcK;ntcJ& z{mFa!_tq1B?TnKt26m)l&RxS}ztNM?`WtH{58 ziO2lHg-k?YM%97s$+FotCg(QK2B&8)GP(!ve(W8iDb-bu6dl?|tDCvWW4fu-~ zU+FR%{nCA!aF1nbNEaadG(K7tTb_leYt@f@TOCRX(v%G@YNg%;t?2 z>0BznQy(P(kMl{3UdC(BEn6kPVn!2v&bwLXh4Iqkg(Q7lrx3ih0<+v68QaQ_6;~3w z+HjUsWw7VR4-4Jt-EVK&XV9GGN*q~7KjSTIT{69Qj6i{(e*_fv{*60e6*bVvD}ki@ zG?lKTdtn{Yj8n8fy+!$y^ijFm^1S^?lS+o&dFQ((F_ogXC--Nfd}Nfq6@g!CR?4=? z(EXdrpD8(5^OES!X>G*1hv7w3(*JcBG6rG6??uo`+!VOhd5|- zqqbB5b8R#Oz*w~m@x=HvQ)G=R`tUwvSRRTbO$JJk*HPvj9;6+P7F8hGR=!@-$1<_Mte7tBStgT6WXRAnYDRgfuYc+^!IJ7*;Kib zyFzWQ;7jpWT1zkc0WH_m3YY(J=P1pa-po?3v0=fEf5dR^xc~H<4yX;7e?pYhg-}&O zxC&(DO~yQf1#HTh+*qkD>e;4G#05B?Zuy@j`d|mCV~GaR_#T5N$%?1YX#3=z<55gd z{}2$#*@VKc3SVjJ;f9Ht$722wXbHBD`rv`sPUJwIfW9uOQVU3UVv zFw7~lSb?`WwR#oqMpPb$y~4cO2bFGMEoLs%2bbG#{&UO%@5Y)g*N>((6bokzVkh$L z6}>yZ1%6ai_hlK5{xZakQtpN~jPOWFX{n|3;q2gb!wk?&D zu8$%{6u%FBM)#SDW9f`hgody;ja#0Gqh|q&82bKU2lASUdF+y2W8duNP645NhCGX> z@znb^jfbQM*f$^4@me1ig!kP6s^v}$G945xT2>MemP=P5&SoJhFg!HHkEZ(*5B{#x zrAlFY?cEX}_{U_*7NZq660nfyADz~>OHWY%XGyfJO~(VPO!)mGf<%vRCi0rsu)dVo zp~jw?=Ot&qju$%*UNH&e7^IHp*}>mN|B_V-oW4m?2_24|R%0RTlQTv&G6?q$3V*$O zQW>=fJxzzBO*^YJrrMrD*2V;$wNmK6;C1>?ZR|ywaPMbPDj8%ik14)}>fdMUt$eY+ zqz=7YzxNc9adanA5nGNyGfP*FnGehWOecp`-u2e0bP?E;*bL8pIjUlP`PaAOzr(If z#nbQ-*DEvxtn^ppnPF&w^Lds~mJgM}=i}m49TBLdbcpZPE`br+UIe)C3~cs0f=8Vz zb9MDm^|mSN^5P>eF%0@xtnLG>@4jhK&p_W5`lBmdTUH;K&w6eePKl)#Q<_W7*f>>rKJk%H(HQfj(sA>N;)RTH|(yh=!P+`nq9eu0??$1pc0 zocJ&Z1x$Xat=mn}Oz76GuMaTMAg@b=jxwAeCLI_ii{rPCWh0V>R5?$7xgoUY*Fgjd zZRMXNt6{$rXMuw}$Kw3t+%%opG^Z|K=ymy?j4nGSTmG$e@HtqpCEeGm5{*K`c_}J{ z*XQBm^HTqouT>DRbs2$7bG9MWf7lkU#x&@htX#sgkl85>MT!3QiSn3=U%_>|p#SAJrjb5rJJa z&ItK0Ob(fLWZezoau~}I5&nil_yd>uy1@sN^-qh@p|aK1p{Lf-gupaZiOm_N^}iX_ z-w7JGsj9m&IMAJ8-fk*<6F_wXcKRPc9jyO}RQTWJP({>b)ij0wK^<~Z|Faw_3-f== zp)#^^{%@cTmj6`_mHs~}sQ)#H%JGjM`R`N*%fEE#|I&9`Y+&y{Xbaa|4U{3 z2ZZteqB7Y2(`WtfR0b>Ke;UzdXJY;D%h~^#%Ha4nYyW>tWq7)&rr7K-P)CByOO7Im zjKJy56Kz#M!3_Y3Od^TIgtEd&a?EeVg{H7V&F4d*C?}Cjahz}8d_Vh4YoAnW*&M$; z`EB)Fczfa>ZvHAV5jKyE_>jRPo2^ag=pkUUz^ z1w%0NqeXjlp#$$FDFK+Rar7{J$2Sr{JSm_+7^tXw-+BnY+(O%W3y{DBL4zB@xC$wS zi4lPK$j}f(yuPZyJBsOHj>x7*PWJZtV4Yl##M)OSog6`Vcd2v&879$>_YoRFK0)AS zLpl4ui4MqtKpyS(Y63pJC2dk52f-l(dGK}>vHH>V_QLCe+kj>VfW2wXf#@l*_7xi5 z^T6zT4Lm@B9)f=su4~T?;&vlHTzEnlGztT9zegp` zFrc^^xG}hc>)S&W99(EZ1j8t#loL_&7be;32%?8tuup&W-#x1GD?*a5F4#vnNKTN_ zIM=Wr?}Pj*!Tg`-0yW4ci5@lGIouD_;MPL&$oH;I19mw2hJZW~WMDDvFJ;o6UyMNe z`yh8Df~X*N(7?XEmTTI5ya5mRy(2M#g|p;9tmX!RZ1Z8eD_MO+#6X0f=?S|Aeg*an z45xiPXMqIoEnhnKj2V=0(u^E&q0(S$OJGg8>SOcXx7Bgd``6@o|MFY0$C-OY-sqH* z=_XIi^CwHvDaYQu(&p~?S(c}YmA!1vOB*G<%i!si%qg9 z?E6RArBi%}^iStw3gigAZno^KXtVYCi0)XLv#!@T5!LTW$dQ+J)u*04)WputQ(TS1 zd1%|q%_sc7*a}Rno2$`BPB9G(vcf5?N|`I9n)8qcy;ZkA<~de-BHn-);*J3RI?p?i zsc}E1pa8?EpAwwskoNA6RJ2%Nb;7?EVNIAr&_XYVXPL7p~~izMwn>Y`1Pv26D{37ou16Cdp-Ycq9mX=9-!+Fg~L0EN|9Yuz_gJ>={@m@ z?!}Uqk-=^sZcjRZ9|3x?X`O3QRTd=LGEtK@jt=i_RqH)DQjx0@U_82d%-ixIrSJco zbu0Jk5`*FXu~NglvwEjuBAbHSjlL4m^kIu3)8&%$n|^!(rRwX`g-$Aho?tcA;`x4B z)5(uhhwBWd*`<_!=t}B|(786KPtDWl7L*h+x{Dq9`o-%!iEsTFXnZVU5E+q1M0}cA z$oO{FqHAb}J5CJiuiL}m8vpaJD@92Lx3Cd@*-Ikj23{g<2Gq%Zg@wxprMBLGG3h)- z1pgJbE?P;m`vze%rlhK@PwYLEKzusPilT{VI-7q{X&PE4IWMK2!=l;4bNJrLDdJDK zsW!ith*Gy~^JybmAAQ5?Us&JV&*Tv$i5$rnM+cBEp#XOtds!|r#55_=+*Bw$n%zj)8Z3QP zH=jB>P76zmHeuWjb`BO{*v7zUu@ZJy?U`<$hYsJul}!CFsug&?7O7m%3~V14gX1b{ ztCTqGUGo%qrCX?jM64(7fOFnsl%mU#w`A@NX_D|r;L?a+^jk>jL1D)zQ(|{Qv4@}* zd235A7T*zJO28eyQAV!CXq-$!htSrT8XJXt`XM@vvJW@#4Ydv~|5DDAG3hPfZ%4eu z>BFsLQUUC{RK#t?eH;RIpk7^#5|Mx9C?%0OoC#}iHBH;8tB8;5WTtaxt+ssKw0O^y z^0KD>#TF7$%7?Pm<|#1MYvy`=j$Tje@8UAzdD2oJp28zPla2enA7zWmWVzCub|YQO zkIh2I(FuQ@_)u)242Pj9*}33c%u0#a$h;>fw!+#z^{ZTRCnpAZ#NrR0cV3A`PcS~< zy-oUKo+iR9@HYNR7J-6Qy0EsOYMe9UFgtx-x|4MfizlYUmTSkJF)`aHW3tdN!r4+c zsa7Lc9>uJBO0b#YQ^EP`d@hj7FN`xx54y)vxQ&r{nB+(NhuGBHp#1&WZ}n=}bIDas z|NFGH*w7vJEq8YFiLILmx`2n94WDqi2*Kud^EzXFw0#(HyxU?>aAUZ3&CQ~IEb$&< zxADF|bjQqQRZ8kcuf%OnuR4z_`BF42RZKW7xDVx%zMBrxRdrF13~cotZ8`@ce&=*xTTjrZdDyP?|GX`ET>2@ zo+0kb(Rx_2q=wKD#(3He*^lMgKO$FaU$(gd6JV<;o)WiB0 zoO<{{itd$#4A-i!MOW@aIn638Y_2Z`37LcFMB)Q8HKV}pC!?*YIOovTOGc;QF9QbI zXsD_dOXJtkHaO4Q&ni=|wv)*Gp?taqAJ&b622vpp^@n9yh@~%wr>$`f-IN@`+~C$< z#VwTK*r*Jmi9>7RztuS-jaA=O-|o5Ln}YQiUt#&&wKtk4*q(&vM8J&PykPc00aEqi zGPD%_!sIe3mHN_7v88s?_h#gKK2>eqs@28G{w7}6j{F!6mJs27KIhFHCdSgjMSOzV zYfT;oAOaEYuTf~taK4$g)$SzP$z%Eq@M2q=ds(qGu`mF?Z70#kCD~uM^c-sUR4Pa= z%)#~DR}$a9x*MfCcwsG?s1iq0C#VM$S>#Ad7~SfOa%GcihyT5YaL)FZfz5}|F`*4j z{}8{PE1!q8v>~@P8;2&MX5Mzd*5clAghuxA@4six|Lu~RL~by@Kh$7r36pN}cRv5r zUPUFlZ`!qlPK6ahY75 zU>trt;nr#VYZZPIzxL~)bR$P3I`(CcC^#!wzATb-?}N4=2v&s-JX2{X~^+! zeXd;3WaJvtmts$_dd_=Z3||>mV{Ov6De&KN*Aar*jOTXlhY~S>xb)}W^XA@Zh}m_< z)Gq4xJ&Ci&JzdQw$4FDeX0NLpoK7A^(*wHQ$S>XIe_sdN#~vK>(Sbtbu0vlB^+!Lo zxv^WH!)~{ghALL;?3X0Y9&@NYELwODXH0P|vbuEMSy#|2N5iNrr$%EKelzsd5zpHk)_pWATX>k$b)yumXw?MT!oQ)A)>* zV;P)&x?it1S{;zoIwIowim)5+$>I)y)NK$UQ4%omFQJTo7NeMHbpk#gchHWyGjrq_<_&thD)>$L33uby=K1%AQTKCo zQ^^2HMLXb@z-MUvR%LOf)4lHnG$I(tq$fUuCVm|eQrDB6ms7-LQN(5G_g?%&_hmhV zC{xS&h^)6hZiXD3B(h`IgoazK4$OE*d+q0#^ATR@Um2yN^o;jDB%2RxME*Uy%`I^)r;di@+uGUp zZxrXzp4e3VwNAG|RI8esWVxS#ZR>6!aZLWNB~^XlDl?gj_J{32rF{)sEr|n_@aTrG zz0$eJe(m>sL2TA-QiA;-M(3QOPw7>?rhXiK)cisPnL^h6+V%|uTyB!@=jhZjh+*Sb z^GO0pHJ1*HL}!kvKEbOF{=ZC4_ORwNlz!XP1xP57!n{WoH^MM$(I*ZyYpw@;U{|8 z+sWK`nCptqUZ|D+O+br+dBIhLmrukFsg!8Enl5gI^J9x@N=K?A8~!nePov zP{>_7?U1M0=`;7!k>OI;^&A0(o)I!9)_KV<@Lqu${}*fL6eC*Hzvr=S+jGXYZQHhO z+qP}nbH=u9+vxe)H2F7a(_Zvq-~4v6cJ}33&wAg7d<4UplUn8mlR3A!P#s^-ukK3% z-1Jq_`a~kB66F%T)V`xXXmiPPZYd-D@blm0lJ8&?pcNcc7$hwl@_*g2{a83Jx36aR z9L;if0o>kjB(w6H?K0!5bFI)+eeEXST_>%#sn%5t@Ve{xWFfB2w7sQv5V-Mmb*=z7 zegXXs>euW1HeTb;5?pRYua#RegYhqh)j>@_{3 zYaIn6F9L3QbWa-Fje8C(ADXWlhRCDNM2Xk`V*GQq*oTpd+e_||E-mHSi_Op4_OphB zT;QTMCQwN;RdoE54wx6ZX0_`74(bio;j3(6NO^ko>;s$s;x`=bZS7lng)YT+5+ES8|}*?pS-iD0C#UpaHks|E6qtfLlpF5{E?%!oTS_jK*{yN8rIDn~8L3R;~iKyB|-cwKngW|7$CqVSPr($}}reD-YREe}ud5@aRk z_ma@FDGc^DntxszPaz1T=LTH!(3AjmFG;ZLlWrIF?RTytlZq^a>wB0kW)<~ z_MA#06LQY1a`f%8sJ*iGF3j_qnq);#qnS9PIt+!a&$C*GbsH%ve}yWwxkL?R;vE7Q zACX1_{<#-AJb)ZATzGU+c|R$U2uo-Cmk!)auM~#PlkchOBLq3->xyTPOK5Oi9);?7bF$N!*vikFj;)Kx8+KMQ;jqd;l-%@*GC-vjMAq z-KmA0cQKR--Y-ZpDvHwFq;oV3>R=HfoH~yT_raa(_b?iOm7i|VBt*z;_>TKDjI`@c zT`&C!XUThs_B4C%Trg`t`C2G9oBu`Xk+&%^4dwuim-t_siX$!bF?N+m#qB-Qvt)!yW3bs=l-~wj+S`R2HK;zKkz787aJlkwgoGH4*=fA!gEXQ3 ziFV^~O|6biuIud&+~Saww1NVyE?{L<8;xlbN%v+TzOSN2@vdH6+H0&2FJ7->6q(^e zv$a4z^k$fe|5X0*yNCjmw@sv4ya$PKon3RlGhvL;)HTC*W*+obJN75tD1NLnYD#J1 zgqeKiarGLaZnd9+WD5o8nep zbjhB7V@s+WSR7a>*0|*|4)XJ;F9cwox04G+4|oYeJdaMzPT{k0xgVMYZAmELx82(V zi18ckDRIp+oa1o-w_M0?F(xM-`c4gt>9)u^yh^gMSeCqtiF3K)CFFcxvCTiciU!T@ zCL%N4>F`#Eq+Sl!>uU%O^IjpOE-OKMXCBfAL(*}eDm@99-s$$Ocd&FU7P{WdUV2Ii z)L<9Po*?4JItnC2EY24_74puQXXFO95l4bqFhP$b?k}15_-{y;YljZ#Yn-+_8;jIp z-fK+qffC^l!kmSd!VZM5?Eug`vf8fbVL^LM+0xnZ=(`x$#LBh)uv!}Y+ZKr94h=(| zi5XwpF@u9vxMD}Lh*7*&Xk8U(&Xmz*5CMr;Kx=R)pR^g87*6hVPm$Xj`>8((%g=Sp z&%WOSw+*nww{q-Wb`08_dyuuYpKR}iwsJ#eq`CM{%vY>GSBDSVlSvu4PM2frQ46WQ zL0&V$#v@ZGOXf~aceU=LYcLyQL^bn5hCWChx%j^Apg4rVIgX%foP%8L-Z@ctIyKp6 zEyhG>8m+xZvuAicH~OYwJ3w)UjKXRa|{e! zXg3Wjaxg&wZjh}tH44tx@|rV2ea29pwKMQ6UBUQV8v&avE2^)O*;Gv*AUF&43Np{6sR;F#I7|aL@0pxSk=2IVQ?J3n00Dq0OKHk(7Ksc{lrwd((sb}yOF8? z$M=*1_icWF&tR|SQGRjj`3;WfQx^yDTGdMl{78PGvS`%WdNc#{me)Zl>H3?zM`3)N z2y*srmVqLx(4UNB_v9<>v90F@&qC+r9Xrt=1`kYAHaXDkv_3EL{X{qT0Pk%Za-Xjt z`%lb#8Y%Vcv>h%kch@HYH26MEO>TG@F{%&FT zJP5uSU3%om!HzH=h7*CA?C!(>a#3{B<7&MX6P){L8!5d4uimm>V~l+F?txiB-?ipb zac_XNG4CZXu5XO#@q#kalx>LG{w6|&7U4dwFHKIq!q|7U5m&ixBdU|aHs-_lqE6|| zx6SU_hyTrL`@!abS9VwO(X%eW;5FRt?f7O_TWu6-u456kR-dl~qY}#QvOV((a>3@B-8}OQP9VGZ# z^v}RG&_vta&6x!f>*ZOyiHc5$=FYs!h`rBqKwSo|eII}^z*~?+BcVsj6+V2(E_em!=+Mn8+^Fr z7U0lJ!Sf6yV2Z-!yT&^K+&(4zA+;mZYjkZYc;FPiYdU68=)Sd?7tI7QEDyM+L1AQl zssnUUfX3wk$~~l}Xj*o;3LHJdZcQiDtxRp5Kmk(sGI>mXa!2lvJ~Ep3Y=~)NF%8va z1(tt|ghJ@MQeGykqWA6N^}*KqsMcjJ)HO}m>rR=BSEV<7#r_++W+}HGA=21Qm!=3J zHTm7jc4dpiFu~0>W0U@j>P;7E_Qgt%Ny=~x;--<<`y0^$6zE^^$mda>`oQ+Dz&8Zf zVvkp@*=c`rlt4pJ6vpf$DD~h+EO^Cfamp76^^cjiM4u74^W`bqW3z)L-(!)4m^9E} zP!2{C`Ri0Z`Y%-zJa<&|JN4e%QQDj;ds}xT*50O|4_=m@>gMppL!0z(;@SXuwE*Z=YIztYfuseRV} zS2bkx8>qZCNz73_yN zv`iV8lT%}D{o%`i-~fWz8Ejk_Hb=m<(X|zT65R@biP}FSC@do>ECRBBaCrEePl!tl z&%eB&Dg=^06_CKh4B9!c45gvz)xMdY$qlUJeOC-1hJnUEBP;81Tki&d5Iespq@jT3 zpN?@I#~gUV+}a#gzLlvJfYa-X90WG6qp67pp13G03p=PF2019F2$S!h6DBL9iGv^V z48++PG!wuV6(*jk8SqC36PTNn|L@k|xm`zNPDN8z0WksqlDZZKuuTp>9&IZbzZd`o z2mgBz4F3+E`Da_h)GpX9!0!`S|5X2%UAtemA82F!_vHHA+S<&>&fLn-;0lbsr2#C+ zSkxpvdly$9Fvdpa7bA1CYa{SGb|;pm`oE+)%#Wch1OmDu2u2{(R~a|Ckr=d>895j^ z^rapt;|~<@MPqtRM0idN?A*#a5@L-{pcw4dC{#LCR{$|e54Z&(?AR6!u4 zdx@%OL4%|3fzSI%^Ao-8GBV{e`R7DLL?mUQ0yqNzY{yJv`h}?7*Mt9*82^xhsq7t^ z*qOo8gQ5aHHPC|w{`7lsV0Hol&cxF4DW0-%i zfx+(158~!egKY4a0xZ_$`SG0xu1pTktZW>%z3V-ipsXON%%hZjb{+V+3=X>90ML1| zk^%5Qb0Pb`uO>PK^1gksP4&UP>D~KDpu*7n5Wb2H!?%{Y0^Iaj0kGWqxwQW@p)vnv z!_e&YVIE!acfo+ned+q(lDU!@&C#9w&Vt{iP5$=v{GuNJ+C2Z#5jvn-UG^<8`FD)_^Yn}#dJn%bj?4k|L!Zj=@A%K?M{gMPpzsbmpq=7Jlz>*U4>3II!4Bl0 z@ZsO6{68bh|BOEVGrIpbGXIHc7tn6@C63SA?+ZsgGBY=V=Pc2KANRB2S1kIs;?CIo z+!_>wr%?vyZ)(#I_3vlzkBa{S_HWdhz(DkMwLsT1A0+lBT|~^Z9adjz?7f?>DH?(V zGIT!i9OTp1Pa1W(FEW>vmCz{P7yp)jpHjdd|KEbaDWD0^W(Edl#$O>YBDjtH-?4Ol zA%<^Q0Rx#|f9t;dzxas!Z*0b9-=I2vkNQ8P^*=SgCbp*!-Y#LzijBNb4$}a zSJMHle(L_len)0NsFv^GAT5&@@DLa6&-e(;a9Mnkz%3tc#;);IG-qSKb3vAEpE6)a z*01<1v-5 z%0B0X)igvAmp9G$^}q>eeer#*s^JmL;hMwn@fn#-VH;~8FL}PIg!jkzdOdxU9JhX; zYkJmsjIySIAF<_GR4o9j;@SoC!aEnz+C6z`wI6<8?bV#vfv&^+2t_h(4un8!5TYN>)MyR%w3azLup66d zIg~{TVeMBuk^3ZD7RUO{qnN}hj4;z;Mle?1uyeZS6;Z4J z(bce|o_$)(9y_9-tuX4*3LuklDe| zhsv}Hr>A)&K`a?c>w*_xuJ*55MA)Zo?<3<9a)Um7mU>V74KUAxI4?pX3c3^8JN+)0 zXY-SLqpa{p`sQ;3Wuv+UyVG{hiXd#OYCi6$smYt$NtGe!2_Z9^xgl1LgPLI}vYVy< zqoQANq^SkU8f+d39x3Au_NC*IHxj579!Y1jDFt|+6A&-;b;|>W+!D2trs2vXvRF$D z@rl^$`R98uU|@TTjm!(1&BSETQ~lG`^3@F0)?g5L{*o$NfFrM$`rV|3YrISxLWCb> z$5z&D05bu<3Zg4#LeBvobMBMSaH9)lG5#8GW$Rwpp+i{kqzIHv2IICC)ISWO1 z1(j38dRqoS_hk%4{F0q&VO^$gX>$3MIbol!bYF(L(pJy~I(XSasi%Lr=*NJ<;DODi zS~~r!NG#F+3+dtsH3NuqYBeKRdJ=XPW&k`fz4SFjmXn1#ebsxwcWky=0Yva#d326*7>Lej-;c10vk*JmzCc0p%V1=Q7?rkk%0v2eJ<3DBA z#lt~x#Bq5j`KucCEtVZ$c5Xs8nRt7&{vS+Xv^*9kVq`P9Xa_DexT3pS&*wI!BkXNl z8BzXp`nR?IG=Zrp>#0TIwA-A~8koD!Y%R}Fk66_NgY8pVc7 zk{oJFGBO`qZuK)ue2=7vr z!bWI~3a|A)GNlju7;1E}DqF*tIbE~>!A7Y={8X6KJD*x(!!Rj%nF}yd3+>>*&A7Mr zBw!^yFhj!4!K93vdl3=bXcqB9B^5%Q>PH!5%Zbz+ycF{C>U=kR$!zoFd({?ghj_Ap zVqio!A9n`##bIU@>J-yRF_qjxb|s z71jqSpQGmYmHckG&P1&YG&gf=*PSyN8mUg8Dg5K6PwKDBMKsY91zK8zveY825!tcg zN}4}sfnU>8>G}bjQC#DAX}}fHF@>ZSH}>W+2KQbcS}sfLo=iq{i#o0 z_FG`hbkzXi!wHc=_9oWrDRf)ql4tPbeX1ss?mMVX_#aZm;4MvTL+rf^jC|}aXq5GUVmVFck;>A!8~WDioJR3)AB4qbg-^>Nzb)0;uC`@S<>>nsvgAQMm%?` z@vAP!*F$9wmMJvxDsoOg0YF&D5+<2ZdwbW&4gZ` zN32NX=U{(Qn1ld2&9kevbj+~YVs#K&E3v%_D3B`4po5>n*n-r zOSssxKx!+cG5uA`IKRwW$F2bC!G%?vWqC-!{*#U_rKuWW1x2@R7ntep5HR@e-_5>1 zd*GZOndIEer0x27qhKOfa~fXzLpwmIc4mgppfV2Z>i48-s4zO@-1o|2^-q1KG5Rl- zDGbPcG}{+Zf_0GzC6`Q%uh9F?nzXo~k9G3Ke|MCW4s#|ga3QmVMFs1U&EjXZo7`6? z{;IGF;kYlMB3Y+C>z;mR5@ft>1U0|qNXE_|rnTQ%{>-m1ub8IbVnU1ZQ5U94WW7k1 zC6$IbujJjruA^i)^uqapBs9CGUKDj!{+JWe4@ z7<(R^ix%aia1sThAEknIPDJ>|#i#5YmA(-e-3z7=Fq?_i+geTU1L9GEq7&2V`3;c6 zw)vFPC(_~5kOXs`VI}T$JuGsjS+@PiI(fCmditVB`xtn0#aHsAjq73E1%{T^b+;_L+N3vzAtco?l`XpEHy#CQ5p6Z#Wuz8%isFlb#rd^~7>F6h?CA@^cGKI`=|v+9&@8;G=1TVlzw ziQAZW9;F1ZAyQUqKP zOhH_GVp>~{A*hJ{l^p8NCYekE6yiyk?WrQNz{92?ZM_3^$6N)(dEMT6Qn$x7xDw>b z&jCC$J%m$&W7>YmUbodHC>h;xPTc6;J!-jJm7UhmyC<|0uicA2h(WR-XA8RHlN0gH27>Dfy~j@QL-j?#vqeoFv2b++2d*;A z$~${dJ}S6cs#GuMcO(y1O58Qx7$Qsw9i>_L+7b%($Oi-8=?q4@OBTu=ov!rMrmTxk zrPlXy8!$tbonEr%r9uO`;XT(>%Iz24}U{WsFr)yRMGwNVVyG z@^6Oh8xTFY>^>t`S3TYJ%bFqHSql%nN3L_{A5*lji{f+CGe%&5smj8^B!keS7^wo= zYE}DZ$?jp0qi6=xW4voq68lk*px?nWGRtSmSSc`h-|!SqWGGfJ!nY@J7B1Re@G!vJ z60pvtMLxNBe`^CsEOMK&T5+0bx7NCYPO$jiRjx~?PeIv4QWST)IsGis^}edHC3n6F~E{Yu)nl;G%Hjn zJWw+kAc6X#f2bf~r4WaH!&z^)?op(RL%3K&QY}_YVr~9?IM<`f=cURNR2Hh!S`KCD za%znD$ovH>>MR8+$rE6APh4c;d#5?;4OcN6DR3}eK#{^(pyzkK5?v_D1R8y0IZr!L z{}}casmi|lV-e~hGw3wHp;gT|N}~K-MZ8J+E3007`yiJ!Bj`By#3fjAB{_d&hp z`7sb>ntuO`&(z>$r%5XFOr%-xTHodHW z>p1~~9iU)}F|c2gEQO?t9^+{}^TfL`7bx`&+n(PcYkovGRwol#`x_JEMrN~xz0DAV zHbc3gbeUV@?+H@L#bZ&KSKDPJ2AC2my#Qx&@%#H3z*Vj@)EDqo@`>xcFKrz0ro({`)?BCy4I^{Zt#k!{oS~`N`POMkFEQNlE6@CLn$at{ykcI$$GICKBo5 zVfXNsyh3oNJSj4Jrv4h@K;V_{{bUs~^V^-MiVBC3>UawD%67N1gvyb37j%Uloqt1fDYDiqND661 z;+t-P)}dU!e{HM2HpUO;0bnp^mgRCuHBVY7s$el5UQHJFX_9k##z?WpjoF+8pr}zJ z9aG*4ri_oeTG9es7}O{0IEiH99F=Q@j7bjJj&y=~c@^&`_x2JStA*>T*g4^w%(S9r z>{EiIFJDZ2ns*2;Mg-Y>pI!LgHgpYU&t1%Byrtu`K<)ji4pCTH`oGhVMsXTL+P&G_ zLGW1)t?g-Z{ z)x}B2dH>~2tihD>g+1(N@XIT+-4@G*>&~+5ONo$~0phx0ZH$IWy0TlbYuMK(gs;;n z_~RM^SVk=lKRVcW)9O-IbgfcY<~+K0#F< zHNc;3jx5*FK(Pm+&n|EKS0b4bUilrrJaO&o&!{1G7*@ZI$sJ9$9uT>;505r8eN+3) z;#4@3=!=F+Z7vLkh4#}@yqk@9`(*HvyzB{4CE!c1Ey54Zl>ko;Qd@Z7= zX$^^i5_P}DhJLduGSbkY=1Vg*%RXLgFy{-z<7wIX)O`=DIC3QI8IUV&;pt1vgpEkN ztZ&brP%21tSD%PxHn-=;sgO8|ndk&12s$f;A#AfdE9<<<3~KA4Cw!52pDTkiS81u~ z_G!v+yhyKp7f?BqTiBB)Usfsc-MhxLfupWx+*W=YAA4tZR4P*zR4Daj;U;^^*Gui4 zi%#<_cAk%j+Vk*EITBBwA!OtheZeo$3IIpUc!HzoPk6VYHT7d1ZQFDAZh~f8)N>>u*hm_-rhs6ucm8Wwh*t=pu-<-d_;Pq=iMpE9@+(G> z68w#rOP}uPh)v1^ZV@(m~o`Q)u@p{wL!Iuj~uV*xN2w4m!9x^;wm|4d;=+A_~mMYO91z2BSe6-1_OXs0m ze_losGXAOit%mk^2ADyC*9M%gPA-DCboAcq#ly?kMyJXhfNwIBP1YsK59p+8En~VP zDl5Pmq}j>v*`PDTFPSdwQIeM@Mr7r0kGS}<1+XuGpiaXH*`VUBq+@(w*%F{#?J!Nx zXXjkro|w^04^P1c*itR)?_Q+jf0;sb7QJGq)e8;>3s-$s!**2MOGWZro`k{G zkb?WYhAm}HUby?aR@B1XtCJKN{veSyrqmjBMi&w`n-?OLI-@NCFmtt}ACc#`2jT-8 z0q-w%@?S(7yC0LtVjF9+;kE-PLfJ+ix_JarUQx7Dv-RBGDzCC@!9FqS8+a_W`%(|m zbL4pJI-}V*XN<=XEJHC7iSln4@XO-sLmgwg60{VKgiUnjh$?-^*L*n|^n~zo-x=s@ z3BrYx>)>y5+W-+gem}n)lC&n7fql)Q=(@s)mk4jfHbt`c6r1KVV>JR;>*$Y@v)0QU zHJnjl89~z%+-=%cWYvygsh>PWx+h8D+~2uJ=tgSd_d7BE-=<-)!9!-+~_= z5Tz}%a5|6s2q@m}xqaiLngzC`qap{Y^_a1PHh9jix7jvNCCGT;w|IzdO8e^_a7h4# zoErcVi8RVswZFNi_jF5`k=5U#-8V-v^CZ=2Bojm2C8?t3qfyB+Gl~v&81LXtM|yG# z5je}LUtITFE`6*+%@2#V*`_W_mmeBtTSASSK4Qx|)0pU|B0l6|D$+3q3P`m|G-Ye| z`+|;^N0!;eI{YE0>h`iEPSu3It^YiY833DAf&q@jkuqE zQ4KfK5Cs09WBP#xQv(T|d9CIk6qDcKT$p_P&V_N9@a`WBcsf|h0n8=|)%_ZFJg5ex zk9yd-&O7G^IJmp<%hZfor4b0ay?Z8_oK_2(3lu}1m<$djQT=n@ICQom9jgWQv^$cN z+9u^F8Epag02}XS|I1hBxC2e zyEU_xl(jYIH##|sNCB4(DQfRZTrBQjc|hnWpb=-bWUFQSQAZl7!HKIaLbm|imOX`% z3}YRp?ei8>FRIU)Ni9!N(hHt?`Y2`=J4%2ATl!-+uV(fA1jwub&veJ)SX7Y@oqsfd|?O}jG-@|y>lACJ)B%lp%rwBq1pZO1?x9Ev9FTzd(*UK=;St3B2lUk zNz!uQu7<8OJbTMgKe(uz#;F)7Dtp&GWkh@{+Y0!()o}RysPU2Mi_#Zpzm2g%e(*&e zvw|Zf>z(ztc3_LzHrehDKJTYxwz@d)g4xO9xg8s#aEPgcfdl_xxYSJs1L5V#6{oQ< zA&u9Ep1_|IhSuLQPgMS@!pI)Ofb2w9g}0h+ou8&oZZXOriCa(5UV`%*>xbNUJYUk8 zT4urHL~&xelE;NRX?tkmr&vavBv0@}S7cE*fOCX-OJ&9ME%QXk+@qplo>mns_Mt}d@fym=0I`vg%5RgujYn>T~L8n>ablZ`bZWpVp|0&jgZjU76= zwEl0-)8&4-BkL!`qZEV7VHE@H5~e|g5At(G8pt0aFJXxUl;FhFvJNxy=fxppHi{%@ z9eN26M5?U7RGIfDu$9OJDD4ZraQ)y9ZDQ;`e)HvCTwALuI%A0+&p?IsF6u(aqtHxt zg0VSEkB-80wYoA#p(050C-mrOD;*G_RLky{H(H7utI3}mF;Uj##8VW0&o?c!h3jb_ zt^8c zq0NrM@Kly&O@&BIiCr??yjk7XqHcT4dK@#?Te^`4HD3f@F%)sWF6$kzI1=017~g!@62Vt! zoy1Gd$rF5x2}2PLZqCyQwj@k(R|l#ta7FubAuylbt*$L85XE?v!>05hn^dT~K|*Mq zbf^*Aq)(&FjIfxjW$bO!##3;R?YJBX(S(ruu^wIDJyW~YT*5M;`Z7lIfg9_f$#V$C zh!u+JNr`EgxL`W4+vxoLCgT+S{^R3 zEb}BrOvxd8N$RO9Y1KQS{UmFOx;~See9oU&1#_b;gt-kW&<*JeY#H|*UJBiAlV1kX zWS~8%;6J;~$s<0_edC770&JPfrOM-A&5-3p1v52C`$y}{dgC8QoxYf)$Z;M0?^CWs za(;9H|Jq-9FJ~*%^d|B!SST9>62_lIj?*w-YQ)ihZ z6H8FfI#3bOdAo0a!SEwIXBTgoQc19a=b98(&E*$O_=SBe(kQxRE8a^U2-)yYESLC^kRLG6f`iI&_a< z{WJhs9PiVc?T)P3?E0FUZ|3`j;yBfpL8Z}zU?;ee05^$8WZJ|OqM>VQU|)r3gYzpq zg@Nzz6X=AX1{i0$3253+cHaIbEJd(7I)3y=gm&Sphm|NBrF6-op8U&ILL$9&{11~p z?=@L~1<5)kw{jd@2TvjPm1VjGs=d|hQS4%_fxS&$ez*#bl4yD&>nf_73z=(RX=htr zzp%>PRT=XP0a)0|mG(w3+;J_&pmD?WnquYouQ0<%oPPN?#~brmj$9K>(bYNcoQ_zn zX-G41D-Cuo#F{t@3`#n^1zGHZ+DyY$V9m;c`dHev$LgSU=S11pdG6X{i~>t8U5YpI zxeh0CP`Gd}QU_Ts#!x`29|v$GBlJ)N22|*;Bp-Oe)VRjQ5v5hO61;;1H@ij+w>5Ue zY#A2&&7$LP)*ma)p+Yo0^su}RLP9#!`sc?6K;p5kZOe+|WV=vLdoK+;GAOK-Q^&OD z#RU-&-keFJPkAI_DHEZ|4I`(w!ZWAAN~&~+CejfoMsH%}r&L@7Iac(9E%i;HnbOj} zQZz`gm^}ZmA7y>5xd1n7tIc(NUSS2H5WGmrpNGGS6YwS(Qbt${`8rsAgy8ATxd&AM zBYCR6rpw|xaesPo0DNQRdt*+a#-3bH>#=9S;2 zuhFn%e*7yaz?B)Wtp{OG#~eB*lda1GVM|V$7ADXK+wC*;X~LAolvy$ml-sPfT$#wc zV^NXi^=LBU0zsniPv;*^R$oX{dEs@s+bb8oT%8KAg#)z?`>G;4*Fp=l7-$dFUE zo8V4w!8D=gzBp{VLv9i1_+-u$u1sOIO1Oki1j^L#X{U16wR+AG$R%#1g5d3 zIo=ifE3qjB9lE9-2dXMGa1&hKP;8~M+tww$w?qA{d2h`re*}CaQyh;+z1UByFsLH@ zX*u&0f!geNh7EabyOMK-7eoWXi^|?AcCKCS6KTJxbZ6BLPj-sG8-SJ0qW)ye6m*ge z&GqDQ_*yew4~!#aA*CGvVDwpt_&X9}G`FSt-{aCt^&t4UOs%T8FH>XZ3za|hH zRjj3Cp~!>cX)p9$qXf_BD^=V3iV4%f0it3o>NlfM*V0gqkI9N9h>2VtJqfbT$1=~u zi?{j`@f4Lb+p@>JksPUdsFG9LVz|Q1WOZ)J0g`Vjd*v=Typio~O-(ds`{Q!^Q0e|fkse=!4h;1EG3LOm zOP47v*T`@pv*nf&s=er1w_uuF-J6|NXYF}97%7mU^uZx2B1C-;w963TdX)#Gvi+mI zXX&Ocd7k#Dlrx7?wZ1SGE`#6=M2j^;qdU7=!9!5-dJPx}af;=6s+X}6^4z*T+E48; zG8*Y&pp8RAPSJ%No1Id+kwADe@jX$=2S>55bu}{7Lw+#gqm2W-#!7Gn+0znjXm%av zBcX;mB-372JRw~wkSWf?Al#y;+ z9N&huvhV)HRYsMd{-4xp%Fx@(3s>~d;YdiIh~JAs7#07^e9A6Yc@;p@?8a87{y~p` zpRz}{#6C<8-8SZBwDv=!)MGn;d1JxHt6WP^lWWb^hux7O=*81=CFJMbF|n&8)Q#bs zyox==2Q$RJkHX+GdI+Jr#bo#A-JUPd$3Zqx*NHRByRy_efqG93$&4%Z7ulz1Ma06=#*=%wenPjqgC45SrO+Qb_!3fIgDCW%0*U{W%1c!B=p1BO zVI|u@4-529_a}4g&!X3ya+yfMOzG}Fd>Ez+n)2ge;Y$zOjth=|S0+`)%oe7W@+K+^ z24wDUGE2qQsftfx0^$;%few;!s*DCJLb&@;U`g;i zxp(SJyeH;Rf_vqmIqiuZ0$ppWb5u6_JbF&Cp6>xa6bg|;hE5Ad&TG(l4KK*!M zck=ZaW!82!s|;Mw*-Y(t%TSd2#|SxZ2EphCLDb~Vp4@fvx5?_1x}IOFT+AiBM%Ok> zK63gdHxb)T_W^P=+CYY!Fa4c8pdHzJV5AwbQL6+gr3cGjC=w&{;z}h>&guJCHPDxP zGJ%*Db%jE8aTJY+YQBrCyFB5S$Nsk+;>eYZ?>i3k&o6IHrsi!%^~+#`4N?sOQV9Vj zbPq5uECN_h+RUgBc=-8GGj2~z?c2FI_m>nK9JLumOSSw64QCje+KfJM| z{(0~er>lfn?(sjCN~&4gWkrG)9U;y9gcpd=lV3tWP}VVGSLVAO>d8_yCx;#3aM!6W zJ-6#8HctW4Ju&N5OdYoB@xUiXDX!;+0&iC9C#yW+n+UPFvsE5axC}Ko5c(Q-dZ?=n z%oa$2j9}Ow0j=(uE)7=_*!9sAPQ-hVgrx7tlR+!Ho(X94`9vwFBb$@wCEX-x5u}}F znFopX!p?l>s)f1fQUX#VvyV(~8Mf6-vl2^wrtd%%QJ^)h{rjMqxb~cGha3dYWwV(9 zMPlKZiJb|dH!T>boH+BK5|W4avKp_K(XTAZBHB9-JDa(o^x_*3G#h9YA<^#Q!ZD>2 zpXK)qA6;>a(Q3AiR?AOinkhkWi!DQ9jwc;Cvfyj)3mljpZDE@&`o$23ls%7I1xMlq ziQop5X|03@$5FUBEc#SO{AsQEk?4H=Ibx6`F z_UjZ$;}A%@<{-Fion<)cQddHz3gUocElg&cFG`#XB}Ql0osRqOdl*-cF(pxgJlhaW z@Gfk%bfqf8O`27VqIO%V@CwSjqZURuzE(wV`YCvxXu-j7E-F}c@^sd96fc3v{4ESifvr~K9A0E zThHhMKXsI|r)qLbBQOc9x~%`nvDJi-074(&H+@`|GrgR|ekcGkCe9Hu>By5%GUr7;j(O&kUL?7JOFV$jvEgq&(xsekTfF1C$$4N7Ox=S9QSoNJT_SgJqOjkY7h z6Nmg1Z@}Msz_gK&wwT=-4g)n2%n859DUO^gXOl9xjJQIqh$ls^#Iqbw~+r`{8tCt^&?!&g)k0VTUEq+*1;7<6NLj z?NiP_z}iSYi*bgQoRYVdwTe7sRRFV8GpLESu!aZ9y~dhzpdmT3w7>@kV&T%!ebY^T zt7#PhL9hc7f93Vb1d4V9(z^BTtGCixyLdTDrt*w_A2COppb z(k(K{!af>#Hq4lfm3{p)?wPG3SmZtXvZ}uZt+k`Tqlv-bDyj~2Fh2882Tw;u5o7#r z+7u$D^WGSYYV{`@FoP>qC2ZZUILVA52qZ7@v2W5%JQbxFsLRIv+IXj@qGy3JEeTQ} z$eTkGeS9k^(YI(pbY#ersP)Iij#Nh~Bzg~`w7T_Ls*-)FX45Ad%$kj#oOWw^M(+C* z1$`3s$Z&P01+H}_7S!qpnJdDx{ThW&GL81D^*p1ux-9p2IL?9AT=_($Y%@NU^e4kT zigePKcBzysE{k7fv-pF%2-q~PrGiV(2SXtRbjnqj?{TL;FZx=7WTZbbKc1!fz-mYW zSu#^xHriQ{C?rsYqfLTTw@y;|6AL~Ty3?{xz1VEv`=D0HHuEb(b-Ppd96yZ`@YWV+ zN)JBFQ(MmZj?d_m2Z>heUGB99`PRtV5LHhCCL7oJc#-gm<>D)L;Y*fI-3Ck7cWP-ts@SXgtlePNln@SyW{Y%+oL5?o(is@Y`<9UK6>U^O*X zN4zCOT~;2Fi@Z{q`|l;%xhAFJQCKVfIpYSCFBvc#v~4vlP< zMVmglLxFnaNcy6oYdpC;D@U%n@0@R5sE9LD4(1Ql;tx>npQ6LPR~XgYEcu-gj;Wr#k()&V za^GXC!fO6*?S?(S*{5Skemn#AYh6*F!0r>mO<4|OKMf>jQWvj2!BWM4hr}mu4`tA@2u>0%bJr zLKpWCE6Wgjn#w{-kwHl$>ndW|MUoeXs+`wD|?K^C(?bY$|Cx&hzOhNz{P|-5wT4etp?!5V|v^r z1{^#|0~X8$^HL1H%%3UI`$M`cFW^KApAb45>pfif>`wJEd9nOrHihpYaZqz?=b!G^ zKmp${vj^Ww6k6k#~HFJ92I>W z01B*9f9CAweCK+}jZ?}XuU_qR0OkVeTQ3^V;~j#Y@=Uj4wWtg4m}#Z2Vg89TY=mum z1?m1Gr)@F!`Q1O)oLFZ0=D61ou&dEb+#k6t_FnU^ag_PvT9u*o`B zZwOOjAt>99sHN{5h%`IJ@UDJg5+4 zRv~*V`qG{Y*Ld*;A7QEtJ{q&bkzxzvn)xUHHyPI=B-Oue?7?kknj(rF@7fd^8#dRD zojOSL1{-0+3#j?`mbh*9)Ww63nFGq&7zphqGiX=cD;UzyEdqB`(#7ZEzLoOGouJzn z$x8C}dHI-zDle8tEFhYzE{cKRArbk#_^F}DqV5bw^I5*O&g-nIh<^X6paS&YcKh_s z%eG@PwaWvO<}8_5H#L$(oIczNCek@(;jg&N<`l`+aGSE(h}3pb{yGEk@+Zkdm#?~> zZ9FNRU(ZiJaH9kOfh;5VAHEHjzbdtSEDSyaaLdvH&~7yHQcdG`T>IG@pAPXkj>>u2 z*FTWu`Am>_>Z(3-+%?k>yo6y{X%og!hqak0x`7xzRAb{Ac8oBFwpR0Tx&yCZQ5zr7 zUVWX!eRO&Ni4|KGIp;>MASbUjsM9siOH0a@uJ zQRG~*ARg;55gt+8M%`2cw1--enYneLSQa7q`Ygc)ZZXxfjkL@HSEV35tap$-*lS)% zc2DQjoxxhg|Mc$JD$X2HVY$g8QxAS7h_%lmfaKrwREyodTJ41QS@t!z2NdWLgZ3Ip z-K=4KPr>uTl>2bE(V}d(2pwUt9PqmMIsv6dwYw~&!aG6P?re&=XTu!k(6%~^Qe@x`7=8aw0gR^iRZtEmOM)BF}IU#f10|OWKQU!UsLA z(netP8Z0u(1|G&96BNT5LwoCQmY0jv77`I)%B+VX-3WnOhuAlOBwv^* zUDRCb9v%j^`PNQTN!|@Pk%#Nm+lqYzuJoTvA&Bfh7_3-;zm0rgraA*@nSgKE$p`$M zuH70dR{j*9P6ow3J4bX%A3sw|i7GWu&`%4R&GRP9M%vH_waaSna4WG31m9)HPli2* znRTZ7$P}}M_G)a{l{qZg-o(`Jk5D4H_aM`02-uAe@Jmp~@j!<1nkwM%`NPrz&5C%Z zIrJj=j$*cZQfjacw6>8Z@V*5+$RMu}5pi)LP#o|rVc{4SmQLk`_2eHS^*lE%+$1OO zvGjd3&GV$Wfs@^jA06j)ZD7!-kM)+6=p93#l%<5~I4~{)H^*m?1eT?X+gci5xgp5A zwO~IR6&P3NKRmn#`^@w*c@?*B{2M2uQ(806RRq2#fI<4cqV|uIuh98@r?v~G{Q=$q z`i%*l5a&3KZ=9Nb(s?gm{RBV!_v!^Qt-o?K4(j+moDauvd;{P}4-It2p1;o8` zZlR?u z8WhEEB;glJrCUG2HQ1y6(zG8O&iZo4)c$ZnrrGu*c*ZGJuhweio%gm>xxXNiy|7$X z7Y;w}cdH`po4p6oO$TBLd50Acnfi#pj3 zAOBJ8N{dIGv<M<)q#+gjvW#S|0Kv_ll~X9)fW5v%v|9`aw)S1x3qD8}(~5^m zPDnCFvA?|HH9}f`jQKoThv24!y@uBn-NQ{Wnrn+apOlo_lz2;KbhL|7ll%nAb^eH^-_<#Tt;Ty^m4>!>_zuK-RzR@W zCXhrO;Pa^OBf#@2c1RzBcmsoUEtHJnpkd5;Ump9yff*J#@;u)Af@$=ltqq5wsTpbx zOAO^&9~zTD37}#qrLhm82Vw|VsiJo!e#_QPS6MUQov6j*h;|U8hXn36pK~L=inBRa z{19>z=#BWgAGSVm1+~-ww$=wC91T&PL%cbED4*2;=GK+ljR@%3?;3Q<{FPwW6_yy| zr1-`(S0vC$ze*^#c4b7SK528h^}4L_Rl?pyqyA8-<7_jH!}jV7^@3Ai$?_~wI1kC{ zb(ClC1OjYYu`qg1I>!hGg|SIjn&<7tmd~ZYs~*2eBf`qbdZ1lyDl_uCi;TqzXu67< zRWB$m$3jfm27V>Gy^&nKtGL|p)wv)jf?m_0E=)z(Nhln?xC;4Jt*ONz{h9s+Ix$7khV|O~*aV+-4mq`1c;C7nsWKFz^vRd}n6b}{`HQ)TxX`Ws>_w(pZq?IJ|N!Z|m3 zP2E$jemoNf4l+|H!xFEWxf723*Mc#;KuI0U0-uT?0&<8eWSme^tS)VKpBd!@Xl{oj zMjyvtlh_=!6Un4ku%WE*vRnRr^SMAZN2Lg2_B2}r%8;@(09qTS9C9o=%xIV~QL1rT z_pemJb$(DBXsD={Z7;On`bo8P$Bj?WD{H5wN9={BCWVx3VUXEj#qzEHM!Dr?i;T`#w_<{Df9FyfMVYO&XRX z8hCpq9F)aDfIb4dXd!9(X4b(+nT`Z}BaSRP_wyA8{>LAyuQvG2#WH@=2D^}Kuv|c_ zagGU0OYW8yQU1;YAxk;sVRJgt@y7<|7zTmjeJRzUv#UZXtIvcj?dQ_@^9GQARmK=kvDE#G+CsTuHeE`}NnsUQJVm71= zc$i<;?#NSmk(8T3EsxCsSOOy6w!daz{rPAx8VVQ!Edv#`>ywX{8(l&l-U)epR>0q3 zt-kN^TP=z}y)o*llW_aTnKtN%}6zG5hc! z@*+!N&gczwnC?5K^C{`#-7-WN$PoAedCX8&JU62~iVa`$C0j(sJhoo9w@1gaQM9V| z)Y>V^^^?ustXw8KSjKIGC3xVB!Zq)JeU>J^d*}T}a>dyt6G+|u8NcdA!6^A6cKvLQ zK>@fu2+CSgDslQyvqd zY*R12+}Ftc)!#LmIx|ZHrwBFurC7}zwt`%EWo>ITm)#;CB{2h(WT&n^-kRmhc^y8B z_`2L(H(zTm-?6&1+8u$ucwM%M_&++F6N05LC_O|W1rDSH^KnipPYyc0zK9-+d3=Q} zKhvAgo*U&ekggonBks5H%olfUkp9S`uqNVyfRC&DBvevR6u-x6iC_YtIsQ5nrC%k3 zrxu3mxvtH0CMm(zG=Jp**%QWX+YeOjLgp*=Lk?_F#FwyZ*=KM0t;Md975-um;gD(! z2XYn;KtKBHN+XE+tEwd!zfD5M>PAV#0P?Xz>c~RZ4OCkR9nwo4(W4`pG^v28+N4nR zkKivdk_YWfDlME%eBJgGZ?*xlzs9QKyJEMuLwhs(bW6OgRBG&f?osJ0zSpYyLPG3k zXX={tldt~f*j)uCOoOPEi;6Gq(B-&+z`gY!B58F3Q6VpWVs!Ax2-0%3h2%Xz_VD)E z!dE^)nCKBx9K6ckynnMtpeo9mN13Ux(KQTKBo|6=np?hp+W<#s>*$H}5N4}*vp>tk zn6U(u8^&2oqmk;MAH06?4!6-eW zXDM0fOCTXeMY*u3-276Ofq!5eCvwgk3*347b2+1`lTtRlN9p-r&cWKr`dOU{+X79cP3&`o~h0l!(%A8UaIP+vOYP-AD46QE<5Kl#!7hGf+v`XB`=8~ z=Of&w060%&1b3fZHJMg_Ztlso3>N1jRcE=vPxfKA{u}dzYK%&;Wj9MfiR86;0 zptt|-vzyB6*OY#BNUD2p>Tq(Cr_?2A{lb>ZFVeN6(Q2(YL~tTFWG?!bW_28$BvfC> zfGIojS^YDmcN?cjJC^(xtcA`Y{w}n~3~P#Ag}W+Okfh2Kp4EdpGoCSx?xJB8oK#~; zrcMOgD$vjKpOllK;wMPo0&Jy<$#3H+VojCItX!?@KI%7#eKJh+dRH9;b4MVNm%R@b zcS?H~9Rz}^W|a_68_*b#qZk{T`WY>XEt^}RSj{McA-#gGff^AVDDDuV_VUL`1w@lc z6??gbh<`#Dd%~8zGe^1Ygyj0wGo9uDXgoOm@LAjp{9ci{QQeaoS(s0i}H7k3U^!O4?z@X~Qm>xAG!hh4DUX z`I2It#5YJGu~|f0=B5`3?DjjjLimmuOS^ zvbI~xKb6+OX=ij>P1-#JIO^LY{0Nh$iZ(av5pmBH2~`P!lxJyq00?im(A9|Kyj9x- z5TUHcg%F`Em@5iw9(HTKk3=T~4rWsY$gt@~_E&sk_{*WGBJc}nKY!U%PN~=|R>K~d za-F-2DRUey#-P~0wive*#>o+?63v&FJcG6T9@r0xsyb-eTWVg2J({LA>n>7;9g7)f zBM(<-G?{=?dW)QiDmIuJqsNjq0qV{!-Tr|6SNPOZTYOV=$hp^Y=yr4~7tb4Xx8v6S zF9WzN0%6py)8%F7PVoklAw51e(PFix4cM4>YKvMYRzVNuD_5JJiLXJ(DA+-d#V-JF zls@LJ-_G9-TMnK95aLT<4aHu6$LKX*4n;6~xwmt#M?Q2+s)wR71xO9`E47jZ1HVO5JJlIYzu7VjfHv&O=gR1TwGr; zCt1KVv_0lb7PCxt?UKHAe&0ik(Bxqebzz}{Kqlu{&59E%jLXy0k#vAm6E@PwD!mob zVO5h+e3fojvl9rM%_+$1V*M1XlWl+SrPF$x&QKujVlxP$JimOh24`qV z$F!@5?nZMtJV2%(a@IP{<`f$OrgvJO0e;t#1I6;#JWPz6ULxrhT>D8ycA*{LOuUcx zkbp(}5+#NEjB_H4;8Utjpr&3ck0Yjq+vO&LiXyL~3To%J2;XlFL^#2z4D~-pB{kw3lt{KCd3S)$G=w^L6KoV5dm_p;xudh27S?_ zvQV#-b&W5x0;xdWHFcIov*|M~`C#819yhDd4wY5;784=9GLww0r18l`__H>T^hhNy zSyDoh6wQrmr)Fy&z4q4TfxX4R*B19L0zwNYj37Z=CA%QiR~`T8hi20HHJJS*l_$Jm z&f|N_PLW$HNbziE$l9PCVuSZmm$LAZL?2ATL`1|yAi(x6c?Vwf^}xUcZqHqRz8Rk- zB_J1jJ$-Se@_>Cr%Kmu=8XlNabk!4&H&WSe^yt6ZqhwguSxgCDMy~12re%(HnM7*f zRNYk-zpg20U}VJKQOf&LgAm;hWI}9VZEfjX2A)R>abVa6_*kwMY*espO^Tk+e&9mU zNk4+~#wK>%gP8Im3?3suqxboE+E(XJ_R-JUCPZg3yoFu|jNdJ^Cxcp(siK03Jgjm* zVx}-b>g9Dp`hki*w}l3(AkM!kS__p4LQPm zD+9Y41$d<}z%usyRbhx_6|@^ohA@97rU-|?t}LZC#b>?>_23hGG${iO&EDSvSr~w{ z{obprNNEGNVXST%_!X^VrTzke7P_8(QV$uV<*JXA)1@qMbclHW7;&7fm77<(3!rLI zOCrPnq_v%hfP=dT@8&3S2j&5q`mI$Ie+QDS!1_3t_r)c`K;;1HvUX!6zwLnlQ-Ki1 zZ$hHcFi>QA)gpeA=rJV_LzutV|NQ&_R~l+oH{+YR*G|e!czw^y=MIYBgmG+Vzk9(k zi#JV_znpX_bG`^Puy0>^eG!8wxiBJQ^%eQ4ajxzBLUJ>7yMDPn{#>K#hZm^&NTBsL z(9@)ux2U$^;SBat<1P2D2-R6YQ1qA+#I!;-qr(o}As8Qtf&dsEfz^;7|1+qRt#MZLY?Nxd@1xkM>(yY5JoPB?P2zK)&l59cN2m z9Ma9E9$QB%wgJEO9ebbJX0KI}mc=yPOG)rY7hDkTA6E%wh;A`{-Xb+kKB~t_dVa;c z4cKF=ehjZOCcV)ywQ+h`GdZ1IvffHfuCzo+J93L!PyNf}NjRBfqxby%9L-4LR6ovG z*2`7QB}}IPqaFIvz$4$ggms>J>f6vPFa1polT}T4zbC%ByL~_C@CxSJAx65?`n&#QPNKCgV)L^ zcR$MrU0)`R0TL&qg8B~{2Ikfeg@h-bosEXqodnpEJ&cqpga+_=yB4_gFx2TaY}M@b zj$w;^x{Q5o;+gqwCRxURzUa$bz7JlHRC87YfQ?QfU*knQg8-IYY%_^ek_5|ozTNah zW$-P5spOO)#?QZ6`zO2IJ6?}sU<*n2^^G#$wzBGXp{>^%_CowfUmKg5mwM_2Rg7Qv5t&0}&VThhj`I~i zI|8d#IB2q_|BF3OzczmxYH~C=x@pP@*B)%;>FMKkUGimt+m+w)gTw`<2pdHGw$B#+awQgQ*ur4Xqxp0P*CbnN-i)C=5kr(6IcU`slyODju!zxWXW)WKdWc$>k%nH>h$D=CtpLS9sD^P(`7HU{wW<vi;RzuI1Y}jZ}1g@J2Gkj~TDP zfNk5GxVIAY_hWY-8L}QZ9 zy-MrFf@9X9F7ZSuuB=-)nGxh&60vWdxAQ94`il&9ws=>qA4}ZF&Mc%^=PHz|OexU#md@V!jS=M8`tAmTQt zXbv#YXON+Wch7iT(9IOa#xZpY{G~?A+MfVEPV()t%_>94XYiQNpJ$PbL5C9@VG`1v-^tGi3F0?xY|HXLt z*M3s)D*WCuuv(&idmd{nsSujgD>)R^UMlu92%g2^0!FhyIhy?!N1%QV&$@Ucer?0# z`xcWR6kI(dDYD)OU}Y+&ch9flcNUv1<{{vyedIbuhN_BijUfY*Bp<+XeWutoj{~}x zflTNhTyrrtS@`rZSb<{nglos;Lb1s5-!nRPWjjSfELs)5@47Wt7EMuwVLXzQ1HR2aGlXG&+L&$l{xlM$R%bQsils$NAtK%?kT@J zJ1hg#x*)R?q(Xsx*(s9QFL3$u$I1JTN}w(Ua!iqqmTDe1m*m#p?4EYpNa03v3U5$? z(uY01PLMPUJ^FP?`CcA&he$ECBq~7abYyz! z2?K$3|JT2tl#IRWRU_$(_oR2JZ8IctN+muCnvzK~@b36pDwO@Y4J`M0W3AEvK7?^6F+7E~)BH z@#f$v$O}Q?c!dGqeo`ZT9?t`_V4_Sf` zAop`86Mu!R8dELW;{$X@4w29EDaAr;_+lUU&NF#|%gyqUg=%2}EMyTvpnN%1(`HJv zw9u}XVFCV+>Bg>)!qIp%@%$aC`lk?rD}pr$vb$QMa*|Rlz+mJ_?G7m0 z{xlZ|zf5xx*81x(w8YzgoMJKo@lSt;Nx3-4F9dJkmgM_~AM{-B^0T9^^DgkZQvI!M zpfWtsRhkw0ut^TKk5$ysfjxkU!}e(f9ZKaLOZg5r$D|bd1=3BicBGFIEFM7RReT3tzjDabBIEf6yg)jYV7DArGf|7(qqOnT5_xV73n_OYUzC({ zHS#Gl@=akclP)(_8XIGLeu=FY2TG|m8cO8uVbx81dlc%DF~(QwmY%6U>tMU;(qKx;R;zPDCMw!SC$X3?oS1EnbUIt<2DTF-$Tb@>yKY@Y$equy)cbDgJ+hH zwIupt@mHm>!k=zkX#~3AyFK8j z1lxIY%Ah77t_dGwRcidGDD(vd&fC_ziI95#O5Q4bsV84bX&sy3Zi=w9)MiBea>pM90&;%g z&zb{CU(XT%#BLZ-Vgr-x8KCgBZGcf*89Xi3#S^q&#RjiW2}R)AfLt>bV8y zL(=QDi*aT{H`64JGnLJ^6Wukt_avMR@_(}M=5c1>`n;~1w+DSfWpYvj>$r463JY(7 zXkw_DSnhvRY;3j-OB+zmzFcbU0r@)%w6ri;{!S zH~jJHr+oJn`?$wC4^V=RvL2He26y>6O~g4@o5wl{mFIc zqfu~^Q_8&J`Q1F5m0&BrETFB;{SIll$_EkYGF1s={TB&5sqqb6@AcOlZ)zlsdY7r_ z#JsmKg8Rsy%LBiBB%OO~z0`rubP!);p3Ez)!&|mcIwxek#)nU-@uOW?BUb}N#a`|~ z4GFmqbv=&ML3>VZuYd0QC!RyA!wPPmFb=lPV5PM*47Zd`YG3MbN)bdc8oE`!vSf52 zTKhSDp#7WD)zt%9e?3Zyafmiy6*oDhr!Q>UmHa(K2EB-%5$}g55Z%Pl16OjyH91FV zOozcNA_7}GQUtCVl5nLTf4D1B#>d0sRH>k7T(C z8XE}}7*UbAVs5&8-x`G1yz>l^Oosfv89d<>QjrDSk4+I|TmDiAW#QdFWMX{6+-J3= z>e}KGXoZ~DfZ&ETS3e*HA0`%_;?b~kp;{lfCM-2B{gUr15ftV2MqDQq+9!~8gNs3< zL}od4=j?{7=)o>>jF;i8!WH9{BIVIgr~ybR6mfr6V!I<2gp`j}<^Y5bP7$zT8_9pQ z1_pIroo1Zh0{tE9*l)pVGO z1X0jrVhk2x6_N+5w=3OL7DG!H#*aBj21ydsu?njVV#8E_`;twwf z^Zh;W-r}eqy38QcF+9+r%rt*@SdfDLNO!~2WB4nZc^T+l0khF#bd>jjnj719gdPPB zR3%l|9}cq~#pY$s|L>Ze>D?=L{O`GaZk1 zOuUHO>@OGVH>QAjMgp|2IGSEFNAC2SLB!NC=YQ@G>TkIhy#mj1d2nlt@=AE#=Sl(n za%^JSJEpQV#tZ`LShpjcG1h3zcN5TWuxgYSfy(7Mb1I8BOJLIRwkJD)N&~+LYpQ(< zFAUJw|^`YP~#4Wt!A&Tq| zRPY}?4OjPY?-}b`yOAIgjy3-CQ4W@El#~lbbsy^2OS*vL9{+Rd!~p#Uy0fhYTiU1D zimG^u*kv1dfZb4?6|$*kFII$5k`C5sBKOqV2M(UnW|4^wC3d6~lfloA`nzR>t7Cw& z9{vKLG;d}%bO?u^u;FJ!WoL&X9#Ob3RsGj=b?`Na|Q>bfAHXS zS9~fAE0lOW_7F`^Y8h(>lO2_a$F5?HNYqOnfoZ~;XPuFl{&ja0c4rrTYSv@6d5ON` zjg?evR%?Qx4-IUCno%DQ6Fy;MUOzb~d!4o0i#^B02mEqzGPBv=FAMhcTT14ixMhT4 zphT}-C;xKv^LM4}1AO}0xUd%ASP>Vqg;cY|r-pqJ0P~ijREkQulXe~udE=-aAQCZD zHMZ_Uyx`ol_grFSTqc zats>?e&s=IBos^%#)qZh)7_jFTimag>N5)}>b-m*P zL)1KWvPD1lgp7h|y6p5bZ-Y^gj?RU-v95X)XBxH#=h0vKBn3alfn?9DBp6|agWaQZ zUJTbE8KbJZQ|8zl5#e#C_EwmP8a0KQ2TO_lWDc#aY$B4Wb`|H#XsCren3>fiZWGMDoHNo-m78!wZX%V~#JhdDOe zsH?S~griSg_ojZMwd50p`ZZVGqof8ih~gMt9#SPyz5PnF6+NgA!F4al*P&K~RC5s4 z+Ec&7Wg@%JVAR6EhrV01VGef1{7ghQHfQs!KWe|1{@Z2Z-Y=JoL$j?yv?Ng8?VKPT z)Q$Ou04M^K0LlOr zfGR)@pbpRgXackV1^@#adlN?|16yN&A;8elz{twP+1kX^`M+&P3o~o#P&ZU`A_S= z;`j;G!p<1r0B~@zbN;daBQ{5X6Tr#D#^S#sbTV=M@#^R!9ZgMhUn@w6rFV3W3WLb`>G zCU`ksefFMppZ&SwEsbkG`rTPUwaAh&Oouz|&lF3jZt9B82JBzl0KpCE9}|-l5)%U& zk*PH~vV{NAiW#8=3FTVv00#XrDS!gU;^LDcnbFbnkBU1G2*&ma$W;!AI}V7u76=E& zKPV>Vn?E#GAJ{*+qB90uAOk#q2MVNvP*IwT%Ok+1s!B(1;o}%tz)TKN|M>XW2Rn66J=;zjFf&gm)Kd!9IEN(82jKD5y z0W~0L94|rvRk4WSrG*q|eVB%q!P&*F;oGI{#m&W$t;LI_ou5(Nz)X8*Knv=DehW^F zkn0@n9d&K1tKWhNk8upOI;jwv5?ovyK!P>&5`K#mCZG_Ry)BzjkF`n7pq!rmUEdI? zY=p3r{1O^%ob{GL*4dl>cS?R)U6Jv=lU4pTK(=gbY`VVmK(kmt4=k;wpCnzWX{a~y zWbXuf>JU9!amM`sCMk&u%klH3A5pjb zT+qA&nNi4{LsQU~FSlgBm+!FmJSA4;tX?alcRU4r<5Q@e@2CN* z>o4KK&+Cf(cQ2z8;O`v4;aivF0HBWTB)h(mY16N_;jeF=Z@-R@@0d>l#V@<0?_Tin zwzc)|iqd!G?{CE{uGLkqPn#RAaod_&?ShM!4xIdN)+O+-=J5#uSRD4S@1=>(%pTh? zjnoQ3%;`ltlYhDkQAophL7Spe_%C#N1pgQR(zOSy}IRp z>&~3XqusdVd~uhsjBU*A#dYuR908{X_Lu5PSl8|k_fNy$nEL4`z~&$4CBf^P0CRTq zbO7m|zJk!=^-K6=QzCAkGkg-gq24+IYoPg(*aB7V*$si}tG>m!16NJ-BJ=zIR8fXT zq4k$OVsu^Xz6C$5fz&>?Pgo;Q`NPjy-_J$&ZnW>j#Wm=@z}JAQ`uqeDfGQ8|Uj8(F zU>JMR4W8-Uuy#CN|E}Gr>dvmxv+LSMuVu>e>tETs_yX7CHuFs9p?qaWL{q zcIUo@W>2}0eomd@LGq=wQ*c_~dQlXJt_HL=QVTi}bn*Ni1S~84VXdSUt$Z&$*c9f` zcCEzIpF`(3@7{#E>(Y@D165=#`}YSIMX2VGn{aD20y*awBVnbfaX#mBBm}D%Hu`h9~xZ!xJ7t2NE$4nIcBM>vNsTaQ!;)90G}_S`kbA4qR^OKg#0E7KpuZ) z2yL9z_KP8TvVHq>Y)221h9p8O-~*<5KwG}yh-n?tjRg6sa&y?FcIR-xzFr^e7!-GX z=k0i2r^asG`E(+|K4S#t5&}^($9+YdtE6*`KoI>EVgFmROd6&#_wKlB+LT`APXrs_ z&r?_P2KLy;dd@Rv^Y!!2slC+$<^XGzLz30F;17enIG(ea#T*%YUF|cD@r4HB^Jr3d zlH*bK!<>A+czPRzt%}Kt2jn@enGzz62lAlo@2@R+k+y3)rq%sy-Apr%r{?SEHVqCW zY(aA6l@&@6ur z&_cuBfgfkZ|)2+)P;Z)GfMqgf`B?4TtW05wK`I!8(VIucQG2rhBY;_ zZ&>Gczr?BWVx5#3LflW?|FKF0`Gj^=6Pw%Pyt1C#bg6gxTK&~&+htq#9sikEw1UWn zL*qd(xj)hSahbyR%`=-`?@g(tu~rAJ1q~e4IBoaY7ty^5X-PZZlWxAdp&}knhbC7z zkN2&D_Cp7e__r0O99M;_aqA6g)ruq>@H1M?!sr5d4DMxCsgrf4Z%a$6;l&H#zh6hq z(TUi67Y7dNuNV&Up}Qb|Tq4P69O2DD+JR)D5}5>JF{?}YkbV5jH24r`652LNco4VS8C z^md$ZdFH;MR18MkKBbM z=XHDA9M5;wUPw9b12W5>tC!KLM@*dg6E49-V)x;=D;%lD)K58Mk@r|61s>aTT~-go zXx-hI%$QtpFhJbmE2&y)WPqXRL_iJ)Z-7+Sv=>gPIe&}Xg89*~@pwGO1!D-&1lm_1 zUhxTu^V}#m+-n=wF#h#4m?J(9a*(@wL0eRHHug-r8W-m7>bY?Fh<`HKONoTl10@{y zfMG;dQi4n3V#HjyUiov0N+0844=`7TLiBZ{&sb$NFJPJVp<|r75rRK|pVsbKci_z)dpaw`W$)r9jDOKeT@(#d z;gglJ+Rek#t`dfYcq=rftI~60Q_N;s_QyThOvd+n+ zSc?91tZ<$q(y%(p?%p*YL6BFCRfza|9Z(;@W~kuodYG@kK(CB4T;5xa4>H9I=?NQ=%9~ zbJ9ynRm84i@&H=9^>(e%R8+>LAhzgW238xfD^!Z)-gclVTVIxP=XW!>$-azzXWuQ# zO=tn%x7EW;I#59ZPt``zA(A4#J#Ba0nVJ&Ln9L_mLNC50G%|%mCO!tndEIE!JEV0S z%^*I2;plY`uWUh8>;!K7W-aZ>w_N+Rt?r!Ol+|?nJKIS6^a)8OlJ0B&UqKG(HIkg@ z4jndvmx9N_g@2T{6nZP$izO$WuOPI=tmS3<)cLONTKAm0o8BXkFJMl`9w*lX7VV&FM=(P)8d>1U(P6Gd)Nn1S$nm4dvMiSVp4 zT<_mo#!L;VqAFXcXhoeWsHWdPhuaOGWs$SsxS3FHkiG!SC0NzI0U3pZCG|v4BdvIE zi*}M3T^V97lk~EoH zt=_xmb*L?;zhOW+`i|sXXF9*)jzP7_q3yZw#?4sf=M^{u3gM41!OWRkIVcmODn2c` zx>%>kKkro-QqU%@DsOrv{B~a#L+9HbMB)m)59f+b>I=a%qeFV7@A@`ipuy%sG^R#N zx#Tz#w|`-U;rlut2(16ovZWIZjw~lX6~7b-BZhreiA}R(7kc|CSH(^UNu8&C!HwWe zh_u?s?`tU}#>7!i*0A)3Wss{xN!NmXyuUnVJOpq>zWoo@?kPx=pj#Vs+qP}nwtKg2 z+qP}nz1!WpZQHhOo73O<2WMi=#N15XRYgWcR$k;q*88mG3|FaCHp3jp!83$m6-8`% zd%P=uICT;Q*)DQv{=ILfD(Lw(V0QTwU#(q`A1oj`FQ+1D%7c2B=wjgOO>MhJtV2AL zV8Eq5)7ze#7GiDTS6?v=s>bIHqnDCBf%&FhUJxG_kw>&KF%LbqK?!sK309!054?@> zF2pvv+xX&2GAV6k-~_{Az6wF;dj{l`x&QA8|4}hs!2m|`S9(S`!GT=i0ysgOGEa_CpFexPPnO>nx>q?q zN=gu}Fcv1`K||1xJaFDyHM-3Z(qvTkHbVaPF}S5M7=?p)g^>;ZzwW5OcQK(`I!X!w zl>u1w;2(;5+70GV?N_}0?s?TKanhvfYujCMo|uqY+fJA1vasrwX1Hew1BJ6}P88|C z!JoT>@xX-`*n>VW$Srt$kyy4=g_=(3``k8Hjp9p$g8Vx}hL2>ETF?pcWq?G%gpGU2 z+{%uXsW-QE@z3jVvDYE;3Y^jDO?HdrJJ2tGP_2Xo+96r@scy|jOLgIwXko)TxT~y} z_LcOuTw0D7<#sVrp(`cdLwV>hooJrq*LZdI^cQd*1qpAUfhtWr%#aPBkCbeSdj6Gb zxz;z6XcLR^#v|9{8XE&svaow|7$zC}LJdz22H691fYun>91PffYium4Rw(WM)eoI9mW!EnU6;jl$#lHhMJTY3jq#=i_8?!*lj#rvP%26)?Y z_gDm+*l8%@$=QvA*vwQ68eCH&h|99D!eDLp=c_cxxR+J!@k^?buiAJSq`g(QjwxI( z+!e%>-!21f&Z%h}-HpXpgS;fJCeucAo*>~Hb4Vg483wZQ9ty~HD=t}!-@bsS>8fd! zrsf3!M=}p_ik8$GX|OOjlFSmQ8MFW^8BC2d`Y6vtVP-W+mY???^grw+-04LK-pRXk zY?2L(fy!82R4M%x(-*W=Ao?z7Q*uUpl1b6f@WFoFygo zLqu%Hcd>2XA%oueFgAx>u{j^5wo}z)szM9Cb>8cT&${u|VL+0aTHM8RFnfL-ud9yc zLq~UTOX$ZdPWk~IBGY!J=9ducXJScXxbRm#fJW(zc}c}F!A)aj(xEV>`=?T?hmEx3 zcAT-grdO~dWRl}gAH3-kB zwxn0^Oj}+>KIqrCbs=RtIng&e)1?_};aQBsMGB1^uRSWJM>7k?R2 zN946^>~y(`@i#@nxXUe!laY`ydGm&y#cUHA0w>NEvOLHH079NVIuFt$=0nUh$$Y;_Dj7*I7x&03Z#&zTy63?^ zs|BEC-fijm#5vaHf!euuiv%+DngB36JlzVlil-wkFGCSDS2cC| zs_UgfR9?=m2yHop_8NnqMcL5;^Yw7*v#+cgr<9XgD-|E)JCF!Wn+yt%L7GF_-6nDn zKz5|Tdem>_F;aB;^n|g@hDsw==GOJiN{2MP?lsI{OOeoNr4h}(_R+xPirjaXJAJo{ z#6&yV`FLBT%y=U#r9xHF6Eo@RXVxkU{XZbM<+`dXd>WMY+9*`C)ZUffkJl5dla4}= zvS!Im8>k>t>`V@$3{=sl`RSDBAL_nNz^uva_0D#xe>~ZxZgOkR2bSRtz`3~`63H0| zw!`}4MNW#Dx+T}42yFW`%%SL(*5ae2q&qbUs^SdNbVl0}9-`OXqqduCRhXF+*dWf3 zW;U;iF=5q~DK)f`E@=EwK&EDHAX&ng7tIYg&MJ?{l?@i$l z!dK1G;w?r9a|!EZg^{e48#=|y?tHaZk(eF%L%x^CRlPYQmYFwYgrl%yP!cpJ2_)yq)=iC+0r7|Kw_Ei62o^7rKno z&*_4!|9e}Q5B;8bV`E~2_E0irm7}l1O$Vn?9&w3kA``X+k>jkfnVQkM<-_I8$mFFF zB)Kl%gg5XcL!uH@BRSOT0Qc7xmHmK5D0_xk-s+CP{R2)dQ9K9<2C7NTC3h+ z#p5#OHx~RjL99&*o*5RFHQ!!NCAz@yH9E*?Y9WXspe^DKOiBX{@x$e9 z^v_po(RV*b5CPaolDjgSBX*p-RhCyFh=t*p4M;;JhToj`txEk64Im9L?p_4WDg6v?bP~=JWM<}3$sSQcOE7RSuv3XSA3&$i<231P9Ta#yM~k7 zX9%xr&63kmjNI|^!<$8ct67pU`M@e@`d8me@A-oORUvm>sI zQ=dgalo56QuQ8|7ye{cFGP;M9tHVDxoUYTEH@jjpn)~2IN!=NN3*QkN+11JFR!gWY zUSkAiRzy9)1jyupq172CrS<6nz=oJeO*)=C?wyNFRpx4=6DE@zjp=-a$$E;ORkyDU zi2sbe)bQ8IZQbJF`BQzf(`gFQ_I;TxQ0R&|EvHz=8N9Vt*y0Ta`w|_9~GaxP%S_PbrdzRYB5^8G?X82*s0Tt#xHu;(qXmJ z=W@BU7wu6r^T7*_@Z!Hehe-cX_R_`e5N7a|j^!9qb-^JcJ)Z4%H8NtgA5aoiWkIH& zw2qPIUwL(6?6))lb!hP4UABoB4`?wap!+0T0UWhQazJ}m&$x zJLC8}UPu}`TEuH`e_MqisKqM8(e5J2^N4#jE{Dn1Bl~`Y^S4FSE2dzkyoKkOPuc>} z>T5u#1|sKYxxX5WxZ0XuY84PE&lPjHdSrRFQE`+pzKm45@$ADimJp8%;H9q6$QuKo zC;m=l@3fAiHmh?B=Xnxfq%FYy8m3^4uWiO3Z}2Y)5;jG8Y}29KW2O7o zbq{Cep`#n(J<(eC(+ztX!QQE%Sk*L!X1@9HQQh^7CUDl$>VV~1zaInP+0!kJuuDkAo*u|4%9#tdR8L#KN-`zMu;xiKD#kqL}?0db+MMlEeI3R*g}zGF6MF8 z15g!C?v-gD65=Qt()+IFMe;((c-3%1ugiXKR4@DvQ95zg^d$Tb-jyff<^7jGHf3<{ z3CYsVt`QL)VFZhAV7~9^M9O&s(2h&+sXbYAxq)&FPxC6zbiqCgc8m>71P?Zr6r7dr;YnKaF}wwPxK}+w5Z^UeDC@&_fgH zU9hJ<{lp<=n{2?B8_{t#>;i{@pVk@)Zmzl2xNECULoXqA`x~bngGGbK1=9IY?rNwB zR(gcK>GWH}ugwT?oO#~#$lGAgu1fZL(C27c4!&|rwbJ=f**wN_SdL`M!du^}2;y%< zJ!$HcdjIsYz_ASU{SK{6^}ZCBAuEs+ze0*px!o4j$hVE~gUbmg-Ci437(nLQ$VhKQ z=pt5JNEN|r(ls}eFSy4bUzEmc_Nrft@k;nnWonBI&xO0-q4f5dY$L1<5H*`%zb|Rb0*$X*?=o z%MNMCSCPlH=AUe3Q-IVAasF{nBCe!F+|nzm+~$`!&FwRI&q8{tEZeN&uybFSVXAw+ zxiK0n%_nAIl^=vX)vs^HMxFDiY8+{3Fqf!$@vAyQJ9l%_1r)MGu%TU6t3MB;XvjKB zVyB%)Sfz0#utt}ECtGOQ6s=xplc4zBgESDa`uVhWV&5O?)eW56wJwVU3D5rFX=)zq6e%>7q zT6lyW4*H70#Dzqm-W&_Zyk#CQuFHIM*kp!Bx;uTWD%{*?0EUy<8S$TCMy~fowt#*h zdufmS$tYPS$%pcyvv2$?x?w=#iRkTlAV#}VoaM4Q4Vn?Yg|hVN9Fk;Ejcx+r%v#1# zs9X9oosxw#M#EkesJk4}8(Nq$C3ko$YgBmag=U{Jj5H&U2Lc7(@w5~-Vjge%)~R5v z1S-_wZbN8`VO^~4IqUf{8%jc+xjR#A@SYcoUel~Xg7a#|+7Juv{BHz7H=4F7PN_;M@-d{(4GoGMY~cS{-1mj#AL^Tuq$j@}vXdzwCuw z_J(JixuTJ#cx4T?&Kaq~xiW%t)1+kx7l4L5<7l~xWDwdkH=<3nzO?HNT1M~O3=oS0 zPSA8_>WV-~j7uk}$EbY9+r|`VYo5ff3Y!@Hpx5L$Y)3G%q87bBiw}wY4fvWyro~P8 zfMghx)Z=c5f9R1n7&>NfM;z{pdZ^R3jK`s^p2HR8kV!*0FCPdWq2+anu@WV|9`BXb z@HErk(~_I8;`g!XfTdWDEh?il9FhGs7~m;Bo{fwxy_~j@ynnL67nf3_L6iIoWlUAD zw_5k$$Hl3g@^08R&|T_xVXq<|@BYj{e?p@H<^;?M7u*wPON7lcs2w%TDh@Isi$r=f zr>6v@&F}^s*9k<37-6ED_AB-@@EY>K%4jT zX&Q9H@z}e1SV}-YrJ*7~kY`9Eo@gqcW0*GxX5+vC{V8zz+Bu;H*#tXb?}W>Di+Cw= ze8?wSlokby1de#O%>~$YtH{gy$iI`o$6{Fc!~&d49#ld$xB zTkKOx2m*4*6f**@uHeEDDG}iG8=R=8p2x9n@y5?*&Y`Vp!|oCSE!&!mb6|}BL&2PR zGhsJlu-)esKs=eep^@eGMq(&K<5!>N1GX!HV;#>M&}$iZ);!vV^%q}yw+nUbmQeg8 z+C@^n7&jZ;vOV#s^#FCj7r7$+@I79M!=eKl{;FHq=N$~cpIcCpCEVCHuppG+K~wqlTglZ^*W_wO-36pC%UYQqU`EhH3ooM(l&{A3>}lm@iB& znYR9R-(YQ5i6-FgZp75@X8$HSo6?zElR^KX zfQ8d6uxkMoO@R3m_IvBrbooltzIz@ID`-!4dx1;E;m-^;Mz39uI7ux6nGFps$`T^}lzV`pnOxWK0qnuXN?itEr_5^yU-Xo~NB`RT753gmTuOf^KaLr5 zYPqoG-R(F`>bxAOMc1bE59(>?n{z^DOeqax;MGPoI3%T;a^}2_7PRlLv?45h@KOVd z_F+Q-vS5VxwKe-GjM*h_g^zFCE(}x`m%?9H$zmeAZVx=>45K@Sa$y|;w4ySSB*x}3 z;04}XE0(zCQGEqupa%_o>!gl8w1`4?p2hvf*>5M*hR`z~WyBqeRfD}GmdSbyLooai z#bHCIqOsdaO2ajm@w=!raPBT1C)YNFbLX4+lF^($f;Vx7u* zO~7opj=hf7AZK6%feu0;$GLCr@)|;czl%SiTi?1bLoq~_C{8IWKIDMr9qU-yg~nd$ z-~%W!>zEmgeZd)T^{PG#Wc8k2ZRS5Qt>q^3IUS;v#6MWmrsMy#Q>#_4O`r)kLyLfJ z`^<$Lj)X}py_EBfyuJkE{pY5N@J+Sxm7^M>dLNdM_x^74v=Eq~#|A!UrV&*)34jPQ zz23WrIfjOdMC-~PF(%hFBOgv%q*8}uBwX& zfA!ApeuI(A?C>0X{D^iTe8ZkIJ2yhW45>N~0x18=nn+fg2^kvMZ;{pbTSu+Sv^R!p;H* z(b-(L(&M=xDK>`YZ)uVjN*d~5poXXLjR}qPUK*va;T*z^zQwb*uWc34=&RzJLL|p^ zP|+&e=NxCKVzBU4bIntAO;%dy?m(S>35@6{ra?mE{>i_X(hW9MDq${8UlCGT_%~g7Idpl3mNKeA2=3Dm+gh)Ub*>xzp7M(YSj|e1FK6#g# z!-tTs=4c)q+fo(-!_rbf5(j$0{Miyy;u}VosI`2{0%q^8&{D^=FR>!qib8z+U-eiy z^VXBvz!^f+5iS#YlEcOK17hjV`A;JE7#B=d$)-Z}leO5Hmn+_@^$7kr_-t$EKXHsm zL{N$aSxq1pArB%qK;Lv?m@=IYs2=nBA0x^43-A{zrsafUCQ^z@!gNqscs{{QgchJm z8N;`WhCKLfe!JE2R{j~pq|eesc^n=Rm5Izk+M6vg+b#Rzt2bIwERvJCi|LtVUU~<5 zab&}Lmn%t=JsQ%5eSQHouDzyAkg<2kn8Fec5;x9ot>5!Xc$4~`0wF24lb!&mIP4-U zm+Cs>hWma|_#Z_t8)Nxw6CK-myuYnzqKL%`1o$fBK=|uSK#P}wbX$F*df>yYoUjUM zprq2jc(i7nbG~ztjvLM>Yd(w3qz81~XN#I)$rA&oxdVC>9=a8&8fbDCT-RuY$09f- z)v zut;N5H?|RmZ}Yg2SRf(et^%<&kceUP?1)gE0=cl%%uQtA+gU}iN`N#cFA7VM~9j!SPJ8{Dry@F!o;UV4S|lvfyirH z(p0&E(=g9vEJ(3}vC>)`N@WOpXfahwg~qD(kl9Qr0!;%9=Jw@oBux77F71F8F;6%V zXF49tc>a>6PL5f&O+R~*(M#1jvx<*54O1RKD-^RsFo-v6c@)6B-BhEsD(5fX4e^^& zU;9n1IfKUrP3`pt6zL)?0==uR_An{9v$ehMyCHgpt~U-}r6&T5oB8`HM}ymx5$!P) zT!PAk(Li9|Jj%!Gh$}HTLrrpKBiO#%4ct4}Q;2n%WBLz_y6z6)@X(034<*c&N6-d# z0>2j7D>vB@i;T(~hvj$jKTF2yQV=HBKM`XnCy1zl$_%#jf0{M*vP=Y$V}(hxB0T)JknHLQ-q2|hDX zCIsTEO&D65$Ee<{oMOqMS)nO=L+!v>nd}$|jGSz+p#sYU;hJYZ`;~<~Z-;-)}Ty{?K#j#C{$_T!a~Zz7Xpb?(DJF zcHLg)D6>?8?P(#QzfIuPmIit_>Cer8jN>!&4wWc71YE?m#g5UvJ7gogAAq*^Z6SsO z>}v5|ff!c#OBC_CD}sbRMQo=<{Sw9$V_`Zj$Mt7O^c)C-Ea zy0JGsL~9WgFE}0%=d8Y@fTF?Ka;h3&gzYu}vvELb?O1#~73{MZXjaqpkfujB2d=%M zYOYHzzH2yEv1wG?^6ySJT7(J+n2z)e;;YN+YYOhk#WX7}qU!`y(Psr$9*&2RP`WTe z0h~0Chit!1jHVn%p$SdiC7jC&A3@AC)NKvgl1RXt$9ddw&LEBQzutPK6VB4CVi9xX zxXkdjjrBTMs77@tCeXxYdL8(8jVu#om=lPR}vZL2=i{w-O2V$(#@Vyl}-S zE0=*oNbY-`A^Wv2yD=^~sh&$W!XNx0nS7C%Ve7j5{$eZ7;AJh<2=lcVTZ6DN8%OiP#<7s67MtPH$v(_KGMw##b~y%cUd=`oR&BA zKHm8jZ$J7aOAke_wfFU)-uH3Nj?IDbcp~?ObP(bql+j_{{?Y*LIs&p4^dWo~ZBM#~~c2TjGD$?4q^mYT&x>|LAU(+P4rpr{;FW#NW% z5hQZ{11N5jM)m)6Lu?HHjf?z$xgilDSw#_*|8hf2|FaunX8DgBVkF??;Q0TC4YB^e zvLTWGlL^WH@}U2Pg8mQZ^GkOAV|e~=Ugtkr$M%0`I{&dZ|J~R8kFw@JkmkS38aBrN zwp9O@tYQA0;{Uq)FImI-OP>BGS;NN3O7NfScik+ke+>`;y_mIuvx$g_k)5##6dxay zle43Vfen=Vdd%~GWX&=t)B(a~p!5M;4Ct?}Ndv=j3)_{mcZ0sh!U_C+0xcMXOu`ep z={5cJ{a?0b%S$HDDW=U*DS@(*F(REiJ&*+VQYS+_BcKz25mZH$4gg_v8V01EP*I^g zNXJIdFAA}oMR1xO!INJe|dc%Q7s&J_yo89;+w3xJy2{|T6$8l4^iLLV5& z6+8p@+Z-d`+z|Y|lG#**%D)|T^@zSLGbp4oEP@&0maGmmE8tRRn`iTK zN^si0jx3S`sZ&$L`FtXPEkY``sy~4 zK43E_U^2;3h7PX|CLr1Ku^&d}YCA{gTUKk9zm2TS4$ODeCI|s#ArOOy)$Pr*_GETn zYz^Hco&E;Drtur`9YXDb00n6CWCO$_0~}hI4&95pyU>fz=1DE{ z58C0rzHxAI0MTq`0=xy#3fTFD^U;xA6Zls)V2{q6>_q;EhF4VqIMroP_o5g>Hj96f zzh_|>-=X_*dz;mf3&6h)^Qr>e#_jm+z-*tIT$V9A9N4g3{n1mRoz=^#0$>8~So_kej;7DBOleqytFiZLJ#?Ng0kDQ>3b$H0Y|^ZcZ2nhK!y0^Z*TEoZt&=k*WRA~ z#WklkIp6Fh!Ce_aZ}?s#!*784`VOIeoWZC{nj_T@5eyy zRx|MWd%MxEBN4v4Aa&uNzq-cZACP+Sx8NlJT87^&I6%}Ve>ik+;jP{vtas5Ne>iM! z;XAx%RN*tc=fvMTy}<{xp+o#%g~Rwkzklc}4A*QI^cHs*_g0tw1Kq6x{f_P}ZFNWg zn!0kY7Z2QP_(cDz3jV5hTaEAwYg#s&e**17*1mu>cE(@TRP4B?_iuj(gdX@2eq>c9 zWes2#d>>BntJ)oL{Jt&a;GX`K?ZOYcN9E-CcUaB`fBY3~&r05{U%J8Z@#Uwh(RW*i zUE>@4_k$-`0FR()ICT`9sW;&=EMX433sEqh40sZdlQOvGnX?QZ^|X#{T-hz9bJLoj z*0dWD<<9%u$_t6PU5J{bp0`{#%P*)QFL&m7;VxL<;44EP3GBbH9NIUJ6u&<=mvWh6LS<52&{hS%(#@2LJE2zS$AZQyBJP@PM;A~6!0rMhXp?Gzz@c4&;mL}huF7UIpw>2Z0p_U6jhLj4~@hWR&Yw}vvfP`LBE z)cfo|k&BiFd|a2Aj$mr+>td=q2ATN|jfnj!X5f6LH24)d2tUG;g~jdt*9*y}k{N+4 zi*Q5V^U-NF%4+p%CNLSEInQ$IU3n!j$nvo)WY?5Xa{blvPtZ}}@`FLU!s(W$YxI|k zzUREvAqQHqy+z!fGdh)P)3mX-riPet%Hqj$BH!8$*F$-~GiVjR&KO{3rDr0UoGF-r zTfqK3t^k8d)YHPqYl;1Ba@lSaNRPRMjV>V@h8WGBA-+Vr3&GE0IGf3jG*)&m0P(P( zLc@ptWeP)ht`a5L4sUKa+Q5>bt-?z#zyD)Fjv6ogl3;H87cnNkVn+f52+wM^K@~`* zYKF$Z!;^Kx`J2~@MRDzj8^1Bf#K*?$dG@X1Z?LAe*u8A69$|?|XWbCG=!eN-l}^%( zyZ>)%tFJX{IF|qf<(yETq-3TJ-zVZXELNJ;kUu%_VW~Tk?aA`xxZ0(K8=t_ng&>_1 zuo9I8>}b}t$d6(1x>AWq-i5_t*WyLK1(2<^43NIUdws(=zQd2`wn1@h!ZQr%4DqC^ z{n#IiOC-0kz>GhRYrvmQ5h7S6k8DY>;{WJ34^{g&_lbD8DrQ0H%>=!X0ik^&$3`X? zL`!hFJ!WDdVpw{Kb)i)D57?OORute0=>hF(_ufCWB<+YX<38t1q5$^(4qW-iEzKx@ zS~zGnCF+0~Fu5qP2L<===}(Htx4Xy7l1d*KP|ZD1L{BFQFQKCW0pa?B{>)L_;Qr8VPQ-@g#I2*_@6=GE} zAyG4H?57LV2ht*$PP3^q!{9~;pf*=}l`NW5+bwPF?W3@DADG(s2!!!%gT{AZPh-C^ zQk#9X=ww7>1lusIFxC>A%oL|ci~ICFRj}LT@1#~wz4Inni3sNIIh>JZg2!S*O+P&zXL_kjilLfe z7M!KM94(dWv{&77advKtXj8f6sHdW=_-S6#WWpjvu#fZQF!2Wn30>)ZTrbpg1DER> zXXP&hYAo zyp?C^^;^Q7N+c(`8Ywm0vyb6C&fd?!9)7YPE*yISJr0zr6xd{JWO${SG7(E{*n~{H z4qY`ph;E6E77zae&3CRD<=Zzm`o|kn(kL2*c2DydOh#x(+hZ{lOxpaJmS^}?qY1>}N4^@`V66jfYodyKLX-VR4Gt-TgrD0VmMZmfNUEX)+>xkqHP#~^C{ z57QLht9GZ0Y{}T28xbe@f97!&2R$d}im-?#4g+G(?z5)Qoi8g`OVKspjo{eZS`k5U zwVCgp0&B(R-X@;nqE%ZY&|XALTaKjaR8?s%@(fvmrMQ_bvqlg4OF2=;1v}rOMh73W zj6Ag{EW!5gCDli5Wt9@KNh2zd_1W1eF7~P0v)Xq7sfzPUh)RZy0ePy&xvE)085vN; zZ!LF-WVdrfZQO$<>}t-kY1sTyQ(pU23U1lL;32-)i?P$)TJ@nC#>e7!@-rt8tnJ32hL;eMr{se3l|5LVD2lXY1-E}gda?9r^a1gr5c z{OVG4$8PBcMjq~Nj7?porwan;bL7^-=KF$W&zJT5M?2^9pY}l!Dr+McJaAqq14`zT zY~n1qGpFYVl66a(RLVmWe6pWiz& z)J}%iBF}=GDx%C$SgBrw%3sBbYSfU0G5vv%oKYX0$1SKmMN@&AWgnv~u@P2!LV39w zT#y`)Y*ZSLyH524oc(Da*lv-nQh6GC?n*i@lYG;HdeWP+m)1i4#JrxZKbvuD4$2M# z?_>V$|M`^4fsj!l02`pR@|Qq7hpz7#jrU>znb=Jh(!?eJp6QJTg%Pe1)qGrdZ%3IU z)G%_%$aC(q{%LG|OJj3Dr-uF!PBWVT%zUm?H`UGR_h@bY#Pg`t_jnfrWQihi_bvw2 z?F(9vFe4i+=V*(1Ov?biHkB`HvgkOM8A*2V)g*l@&I8otp%gQeNH%k*#hQZ3QriZ7 zo*_Ly1^iHH240b~TJ@(+QEVD&XegDg7=vE({P$Lit;Xbg-{p{C>AAHOr|OuYB`#@# z(|8X&crrG!G-sjiFQ@f*^~ly*e+(7Qw|sr-XK@dZ0#~f4Srv@FrJr=v;}MU9Z?>ixc_S8^)DnAswI7r*hvHE-NSiou+wBTypb> z1gkVMC^ghZAku8v6-3QG+>!Syoy65czn1Y#(_O#cH*JAZkOxile`JFzdet&4rlGp% zv0VRJf0(>nGt%@RJvJ^B_WK%-wpNmu=rf^WvH6)@mt4po&9*2{|86k0U5|y_Hew?_ zD?)KNgvBd1Yr?EKjcBrX9-!(^;<5EP+Lh0#BT{*XK8}>E7wz%>+!Dwbk3x?jvpy>Q zW~()rJAcuEQBAQF4x!rLN(OGL9@MXrAIgf2j=Q(^_!0EaVIiGMTTgNJmOfgdp(n__ z*BDtg^Tg*g`5-FG=SG&Eq5=zTm`j8BauIJ@?KheM;QGIia!4Zlu8#!)c7w5P8DI1~ z$d1SF?lxCg`cvK*f~J=p7JR?N?hW})gM{*02xe(C3H+@#On+qu91N9q!8+mCf|Px9 z?;{`=Q6~K#D6>Sr{StiTNZ{{y(CSpuCa|X$%HuMGb!#=eFpCpHkk#g$Gk3@%>$I3^ zXKH00qk|6St7@#}aepb(42Zn~V6BDV;7pbTBOB_H$5AJ;!B+||ezfF1mDc{;dA7>Q zRDB|{X~*VZn+i4E7fqQj%Z@P?Y;^dOgfo9c(RAw06(dCH)|O#qq(YJj$6m{ts}P5K zgU_x6E3M!|l{jL)E4;aBS+TV_E%QD$Y@b_Sm6gS)I2edMQs%0r*wS^hC^nXv2s|Hr zYv-1_)vk$DB93pQPbbs|VI#TaZyQXM&>43GhR0^&5&w2XepU_U!5&M;X0;J-Ts;M@ zHrCx7ZmISTf-B`FFg6uHGGGPA9l@S${TU3mMt7ctfG)5~W$9d=d6UIOiMGS{sKVL1 zTXrmFLPO$Hv@TG$WIa>7b8qDBW#n~4T779xN}TzJ-Ir?d=ea9;#NFrVyfd~XEZP3{ z>VRT~f%IMDN7v@(!3O!JSlsIB*r^K@%!gqOND}HLav%m~M=x%h!t|AhrDuB{C}5|s zj1$u18#Hh}jNHt99RJwHi}6l(Uj<{~X`D6Dend89$8;M-SJO56wXU-o$6CaJl>FSoG9GN>(*@QmCy4I+75ouZ{e$DUjca zNR2N?TIpjYdt;^ytV^`^?6VL=vVp+R7U2~)&_T>!;_mJH{ez2KD4rJ^c0CWlRfTwc z{o_(be+}X$Z;>S^E$r2^)ZExIo&1o=xn|Y20biO_>u>H$DO-wTDA4RnwuJv_sH(!K zRQP&`#1%-3YvKOkT%dev9pX)!U-Wec5vII)R zOzLp^-)#l=xRAIr=QSFq|2Pd2p%K&FrT3MD+6~9#o4YW)XJm@hji|==V$qa5U6c-U z!p>f}^>%Yyt^jSQb66b!0UP2d+sHqm4c^6iZJh97jH>Af-r`RG##8~WK#Iki;YDCB zHe<%ja%TE$$9JjxrVmiw+@*H9^)BT*%5{OX*ok!&Mc4*uPOm2Pi zH3mOhmvap^stp|WE&f@o+j4*+&S!cpEfTtw6#MydxC35(!bE27UnIf8zb(PW$2PT%1TP>PXNYTPb z9yh(SVk;4G1i!nAM(R}VZO{lxWgf~;EJhWVuxpsVK*!os%x~C{on%udKy>pARynE{ zH;_pm;RkpKrE*3+P($unBWPen05ZVVz|G>L=r14_G|E{3s{L*m8P7h@$(<0;X z5uT{FW%{O#6>FZ;+d1crc;6a+_{vH>?PRsmph&ws4Qw<2US%EkPJ95=uHw`neD9yH zW|b6h4UD0Q7vzB5Rf2xDA)7^_YPXOWFhAg#Qrr=IA0OKuO zUtn)rI9FeeifnH?czw$Slw1~b`fx@@zz^9%uGEz5quu8{TXt)ZG_d3@rb+tft$2x# zFr_mw^0&4^cLm(M&U>bh6Eci~++8zv0%0T~|)0xbh%(1!c z-JKy;Ysb~dW#PY~4Xv}DuJ2XuQh~;eLGm`87Ab#LpXt+o3fuo2JR?k0#5R}3r; z&$g6oVzQ(jZ}EC>gaPK;x|fFfmFOd7{2t)}WeU5xO>dyva4pPs*j;;E39Oco$~q>R z$UG-$Y1TW0m}uk&_l^|q$Eqsu{>fp@jra?i%4h>?f1G#5DVtrM0#S~Jl!Bv?oBzo+ z(BsaH#6Lu}QmJ>FLfm!McD0CGzbwB@Y(-Hk&u`eZC*tU6zZQzF%*^%EqacL&H8N80 zzA?%G@+%Z&&qc$v;`ha~Q+)eUI9`DD5G?$Bx!Me)`VqMAZv^~pbx2Bz3=_>TvP?4` z(%h(pg3?@5H^4IQIr9y0Qb1xlIFW8|D71}Q5gjyl%sMP`) z^>~OKWT|3F8?oRQ zfM7VriuAHcH`U;XDDW&IRIBNr>%kYjY?kIsnzYtEnA*clh`$!_I7Nu*a>T|l=ew*U zX>P?;&w{2uovd<3mACa;xg5YL-5%R@h_=RU-DPoB$YKF7nB~lZ(kEu}`pERCk3|ZJ zK;@1VFdPHXpf1}~2&`JWk_|q{@aX3#a9<1(s@B6cBNHj6``oY|v@;_5LQb2Z9|;=I0*7;Y6xAI^8Z->5x#?DIhEMX=w&&^v_NblOhG5BD%Q`1;S^=yw56Y9 zBc=|y44{04tWqzOdN`Ep9g`$?==7CSCgAr9P)!Un3$&SthaV*b-8ncugyaYmakh($yvBQmMT z8+KQTm8=;r37ywAD)%H44!ijj?>bxdMD<)>0*;A3Tf6Z368wa`Vc==DH8;20Nh)hb;L3{{&8Yv0);7q z8*8y!zzI>U4zJMv)=`XFc4(eoBbE8CuISAPWx>7Fs+-`99>{sEQpJvI`6b7GnWGom83L1LLeJ9J7b`^I z*R6W5P0tA$Jde?jOM8aYSTnyi&7|$ zANhl713#c`f%sj%u}1kikM|Eml7}h$PR7RRuI)8&OV@80M>gdX$HbA$PWZX@&D7L( z)YJEGX34c_)X?nw@wNygH}rjDuBXlvC?l7IH{Aoauoh+R1TLU;i#hV2Tzyh!2ydrc zs-%rX#|rD-!_NBLddV;~L`{L9?Yo!TN{v7>`Q3>RIS3f{b*z3L3oSu9lmS&3!oaXi zaPt-3=q#ltN72Efq{sV3tmMHm*kUl@z5(UD8{l$SQ1G=FF&`|Q(W^RWt8#7-EAe&S zaBizE_Z_QeX`S=ukcQvRjY7HCrX{Z<#D$7rqKbEK00TY=bNnpUAn>lI@Oube@$9*( zAIpx_nB77;l%p;olNn)*g9Q=qeO*42Oq`l={9n)DnPOPBlp#`~gwU^O%su2fN{A|w zuQdJFeDN&Xy2F1GZx(u0AW zUXAr?z&(;SBVo;wU9vRP_4Dhg$e`U32Q#tr`R7k4-WCQhm-bl8aFN?&L0=r#5*b(* zdu!Zsal!G2o@Z#%oypunk#0)8IcG-Jmd79YNkpw_PMF>R-;XB zZ|c~9r{^I55?e2AmN&AK0mM>_waoWm?>1^^vV3leS-hNALl>_^hHZbtX6tj>YLK() zLWNjg>8;I?0UJ3E>~q8LmALaSI?77<@a!pJdU6&5QtIGQZuD(L+f2BO-+&WXUMwy7 ztWUpvLVBl)yc|qRUlh%o?|Zh}1WM@1*4V*g=~1sbB0=t1RJ(|7P6 z+m58DIgm7Y6lzC`RbfK}nrNyo=m^;lE+Xvgm6rbJOp=2a2A6v5>lWNBuD|*_Zw_;F zH?o&m`vB@QVYKZfAb@~uTO+VWm z8lq0IE>OZPlP6ds(=KT^BUKQSwT3g3{HF8rTQgLHHpKTr}JT z1BQ_KF|AGDFOgN&+e6_<*+?L1t^ei*>y<8E`LcLcx*y&tk)-!&m`otL7#{jE%(BQ_ z8-eGn!d=yn@BhM*_x(|e{5};kTH*u^Ez592OgdzZ7cyUSP@5v=OSlOT4{nGANVyFU zl(9|sz#M)T36!MbNY}m{J0g%;4)yUx%WHaYr~=|d1>|Mx5c;ml>k^ZYv}+Y-a_r&B z|KC_UryxaUYBz4Ba=|?ZWaA%fZC6mg|ISQ)b#mm<06Sg3M!eS`s|OTf?(yw z4y!y1(xG_s`YYyK$jllJ7h{OzN%)e z7N_uzl$ir21wqns>BxFWfYeCx0<~tWf~I+{)AuR{0rM$t!JuEj8X7jGW4^FiPQI_K zOKsA%CKM;s^sW-lJC`$x@BpC`TgrC;Z*FX#F!g619AW9$FE7{M#D$(Z)=+%YnSDSO z_kbx>k_WC&pb7M(BkTQ7wIZVs^MLyKGYuRgbI|yeBzDq6*n_KO4lRb!EOP_z70#hz zT?p%#urhq4BJBdfSuv2G*N__NBdfp~PF_oNh9KfxZCz1LFcS3J;8?4u13lYP&0vs7 zElq7YWt8GxJ`yqleUUS3xr>?z`pNT&r=~@H`QS^qsx|&orR}V#b5soR7F_m zn&CexePvkJ*>`kQVhZ})rMx@uE>=eDqR&dqHNMO{mX)XxiKyv}6>KOX#o}cT8<|?p z6B>1v8Ie9y8Q(}roUF*_sNRP{f+Ne7@9n1@wP@+Y$t%rAkUebLxIL;V& zAcu|7$%r_pBA-j+tvCmX8)o4_v1$E-V(Q!__=rsKdnqc7t0ACrROUk;VTm+HVED8l zOVX2plA(>%%Z2iaHA=ugud8#@9wjP5%Px(~E7#D(aiRJnjWXDy{4w3exf<}VL=YVT zx{B-zD9xk*J$M_6oUSIVu9056j`SrnOe>kwh&c@HuMeFyz&xU3yrr-uw|nO`!QcmXR;%-Fur z9)Y)i43;75)R-Wg`d*TIs<54eGV^#00l71<<5Ke-6+@?*T#8wgsca$mxrnmcs1ak6 zd*)tLOa9K%itY{`@u<(hSBCNW3H`{6r>H}^J7Y#3L%eZEcxWYI)u0>R6XSG!eMwc~ z@d~3KP)~|;^e)5~tyGRu+NZ=%Yk=9nrE8ZtL;U!EN58IC#BW0M$xHl5?GG3r)fy;? zcl6d8a)`TUygiFDVyot6^L1mGTDaj@YXi=>!sG8{c27im7*xNCmBXQsE1lt|7*T00Bjrn7ZfKBh|gP z!ajzPd+8DdLpFbJH@ZsY-!ekJYTZ$}msx`j)ngiV3zK6nAI7ZTP>Jo@2Tbu!gFPj5 zc)%L&r&k|yz4qf+tQm&b>+R>(#B&~OSKsd=c|k)vSnM~CX^T~(oPJ4A-S00jt}A_L z2DOWWv>RUuu!y*)Cs>>`ei-tMOI(VhH_hfQj5LgHiGkHW4AqUt$hLNf)j!}e)_QaV zYa1piN2uv&!kdgSy&qs5F|f;yuC1wUA2+5tPnOHFir_QWkz1$-1%>>U4qMNw^)vUsY0^Cw`8Ap+h5b(>=R&2IpT;=|)HZjqZckgu5dKDgYpt0y4 z**0xZEKHZ=v1&Fy_agiD_lK_+-3(Y>Vry+B5$uzJy_WtY;ptW3-W#f|q85@r?!W{0 z?@Oo;4tV33k@2K{MT180<#$HCrHV^N3PO6i(qU<%<=q3y>@s?n@?q64@}`Xj_`~*V z6StC!E=uO`b)W^h3LZWfL^7SV^>ClUS}1mxBX-%3ln=(jz+Dwxv! zqZ|Hc(kXJ)*L!DOhB0=y%82&OlYQfE5sHbc#0CsynTj*sg}|o`24{$$VY*Ncg|EqU zQmQ(Z7h72brxplWnOf`o=Ju7DoB(!~>)zJxZg}XZn9g-(Bge;Lj&5+YoVgO#v{O6+ z3YoUG=t$mzfPHt&5zVQtW>fObc+N+dEq?$B31>&#sF^l-Cs}ckT0qKX^pE>)5|5WM z>hrc0S#iyHNhT%tlejk`5(z2MlNL%#V%k4>3X|91LsO@QD(QwGZ46~FVz(C&-D`uT zy@mNKH3to9Ib0uI9d8zyDZ9gY48xBIdNpmOPZ8#i%^t8=wf!?h_=%g{T5< zLsR0`^P5wV(!4&x3r}cjJZ(MT-cr@rNIwZMxH9(*>lszwO(ImAyG#W! z_ALK&nt+OqZ7;kQU)!CR;^-d1=m!PV()~V4_afZNOHr)kI}DZ$RtGxIEL^rwtf#TiEez^KH4g&Rl<~6T;q%=MiU^r#r6~R^%Wd|o$YsS~ zC(5A^ArCi^5@`2&cSgG&15@^%*Lbl6)Ls2tR!n#qz@+yKxb0dPqB|V@pqZ{} zj!v@m^u!0SEAQ7b$ap56t20}r1GiUJ3{zIGG!glMr~1W=hfX5ejh1TJ#xx~9SCVSn zE6NyxTAQXdF^CdSBNtafW^A1doLSNahwMi5@GHlA&axm2ak(&r)j6I#s7Hc71>!bs z9dANidyZ@I%v$h9lS+D<_<R5;flCuIBqc$nY%in|OXUzT#UzmDGhp`$ZEsQxse$4mSWrv~b?*um$?}M5~B= z#BvmzCAS7fc(Ptd#O{!R$Oe< z^HDc7$udmQmcOwXlK)KXz;8(0lYHT#&lD&s*Gc>szQx`j8J$0b!ASaUv}dwdaf483 zND`6Ikb5&iiiQ+ zqp+o?iDb1(3Vf3H?tPhl2&clj6l^Z-akBL-}B1 ztIQdVc4oH0SDd|pH`b5I!)jL`;yne=N6mrCV4R-?m&5~s>;5c55l;37@(g+IG$jN^ zYXnK0Sb0$_KCi3vs}1G;<7oVuitiz)lp`fUFi@kD*5WAatCG~2m>+)>Ers-}qg1D# zWAq6wb$+$@f_1f@l+`2C>;_A8I3k3PP zZJ{Vw17Kp=2|DG91>y4dgu4w}9*m(MV+GH%CUwmiX@hvXD2%iFHnJHb$%KK zzl$Q_UC&mq3CL{=v&mP9IS%#xD7u2T*{?iSNd+f!~yx=LNO}vG~+%W z55P9Nh17vDCdTSLq!5`^bGX?r3vDQuj)62{MAXqfhsBXtB4%0IULlZYm?6XFU`cD& zL~^8ANq!5xK(_e%b)!$A$I|5`i0%20sz#be8SOrmo^E){%R1M@s~hX&2P&HwVVn;Y z=vH%O>eru-x&njh^Sqh7R4y1_m%B}E^I|&grxPtmW~u7#3LgtWK=9^Ya1=f1p->qX z)mQkSy9NA$`*RrZMhGI_1B;Rtz(xktWQc-D#Y+8A=T zfslQT#|X|;qjJEhCxLrGkv$38lDSOrCE&|uK6Vqd}aMx)8AR#fnL?x)V3uO!jT)3=_jFN7Zfj7OqG zit4H8TJnQQKTizRTl&Q!{>5+}{!*Cj4__Nh-oYcIK&7Q#KzQP{QFrs}!l-94m>QK!^RaIzn-)VJlNXMCAxf@qdZ|~Z^i>%onORcART({mgMb&JA4b^M_G9TZ-QdR z;Al;fVEMyw364iGP+O6pl1@K5?ndqAvS@`eJ>{r zT`9l`tPFIc78&@kEgpAcBb6iVJqE6wMaap@y?zla#IP$#Q4jH(U*SyI*NUEEiQ(AP z@eghg#5^RBEhWuXa}^h2&aWm~*p3k8*H>O%bF$nTUQiW3N*@1^na6kTr#^`WVtvi7 zrs2)~3%Eo^bz6x7x%wS*ZX~3~GY2uGKxAUJ@K~x_TlEVH9>G(w_981^1Ae zXQeA;Si2B_VH4%tY~n(Xs~F-llN9?e&=WAxG!ASm6wyhc> z&RC^gmkZ&{Pkq0aF6P!}9A)O#U+J(44Lsq6DK;Tn?;nd(n7iPs?eTSR5TYXfoUfA$){!&wK^nYEO} z-f~JTdD!Kbt_=Qu{RULvESman$Qh=8!$JOU!u+#a*xbND$;63(f?n`Pv-9g8f*tvPsC8864gS-VWBlX9`6oDI zLH{qmjopvd=Km1aIQ>IP@>v{FRvv`Bgjg2IugODTtih3=>=6Nj z0Fw&!>)iwJ_GSiI0{#j?>+!*kz7@++aQL3A3icDOb<5;JiEw2W$oFmI!xIPvK_H?9 zkBb8i@Y~a`xzLL?kHnG3J&Ujh!U_d+o~3AE_tk^F#Pk(xX)(N2`Qics)%O?pVL2j4 zuI+Q6kfH^9awu{DQO=>n_o(}F@C1}tU;u}~KB$9yJE+mlDZznWUthxnjXrZQI1s9D1bTKT>^yzp z#~`Bt_pE?roFDv}d3HrwOppM|=H%Ks_`*9CnMKL#2GD(um(iKM}Rcn0eGG^ona8=VB=+3k*s)wA^c?&Xkc zAfLg62gHlC|3M}IIP6O3aY6@QdIElbZ{FBJ0{8)BA~4X*AYSdJ8-~oQOeB;qc%u7o3k7&QJ?{v$Qm6`hx$SP}tQBcu= zf(a4q?FnFh5WZ|{d<}i0KW%FgQ|wJ|^?VyI2y*88)%ghYY;Wo@czz!Q_GF(EL43G^ z3bSMl+voJ~H#7rE`5C;>k9?tDST4`B0`Zj*6%Cw}QD0)q;3f39)CTX~|K9EZ^B<5mr{Mz$4MB%-5;FqmKBAVktf z5BZ|~E=QOE59p=ewj_ya`te3o-{~=3dugX%ju)|t`jZF zp|FLTzi^ZmP9l3D;x>eH%=x>tEck5kOITmeJ?$N)dFv*Prj2p1<&@-Pfp68=xD}Ft zbK=A01_W(b&{pBeet)@a|T-t>@Y%gl}60k*g;scQTVQB9LYi^FtZ35WW&G^$6H+So8o zNQ@64&U3#|k^XiOH9067yE5VNlLE0aW$g5!nA(g8H8(L!M3K6@c;|CtOTLYE14NBe z_>wwnX}*}rGNc+`M>ioFcK)z)tSYC*hd0p!+|g$(S?hP2mQ@UG=ba@=Xxe&;X8h2O zvqUp9gnN)M1^#b6f{NP&;Y|`F^-|lM(c!;%cO11d-7^nqHx@2DVZN|Ych5IYN<<*OI`+(oFZv-EP2VFVx%C@IImwi zO(!mb%_MfD*-`b~<(`Kt(Ji}B&wSRUOhuwN+m}`eC<_yEe1;E|KCU+$6QO5MOAeIx z#)|3WeY~w(y*3`6#}UF>sxs|jL9GO7p66OogK&lEWx4mCPpM6B68U`fFTdu7_Tc3` zx-P4orc2*F7cx`w$Vic*M&X&1S1V*Pfjvn|mmDNNxsM{S(T~JnVh*Mq_X*>1@X_vR z(KqIe)y16auuxt(WtaWMg#qK2&5|bZbRd#~w2$U@@jGtPe9Q~_wP-DSVwoCT*0;T4 zi~74ggx#MeSESkUA2X^NtX7`x2Q5I=5>Lxod!Gv&oGLqhnGZv54{4AwbPOIvdc?5# z#Mcmar$cAVHM>~gn?4A!A}mkp?nvh_xT>FnguOp$oZmWYlOGtR*Ujhrk?_}pEHepxorA_*87I`M83`E^z4b4vc4)}%U;LHUKgihxWn=b z1-zbXVrVJ#l=xX75L_=36ZsLpYd6wFGB0*M(;kg!Z%oe z%2}VP!)cwX@zz=kjpF@kp@rxEJ?AT>x~=`+qTd#c(RWMErHFq=7CJA>y|n2-oh{r`6aF=BA{aL%Hud^K!M3XJi7H ztv}CN@@!?5gqHE#LO_7Z?x_pzJFQhZWJ);rOsw5xa`^5HcIk%3>bd35aqi;X&o|O; zJuJH`kklPsus;J-|5B!daZ<1O5&;%EdoLZ8_~S2<;+T0_Qt`H9p5O*o&0Q>D(&36n|)1aQc};&;M0F6 z!fD_5=38eI-8<(zB);Dl8HV?Q)vsUk9S9u6d@?vz@=%b+7qbYs9llya5FMZ7jr zb9GczCKKWADz!K@+z3$oEyz}0Y?}ht z!ql0tZrMTCQc-tJI7%`!(7Ul6`sW9LvS2@s5}S-}y7!a5Dr1)UlS8^|9v2yzo5yBR zq(Vsrn<}VV{U*5ibIpCbwT+deJIGbdF5+R@ib6E9=4VNzl;K!72A(mzHawfmFynFg zUaE9BP#YYWLn5<4)Uq)zu>X{igaOoT&sB78shv~bOdOk-6m{-&D8tyY`V z`b;v_NE`3m*D6vBW?k$Vebm2dFKLVJZAI>G8Q%^+mEZ)=U%a#d?)$NfK_dBIHjjkx z{`4Mi52jhXs&>52$#5krh8G6)LvjaAM-Ur|U37_4qfz+4;M5LxhNnw!HU$U9w3Fh# zw!cNlG#u$Vn$|_obXix|mmUj8rDP0Z*54KK^W7~6|+f;Ln9L%D@+)C;t1iD8pidz;=c1m9Ys4fqzs)(S{sv4gjt*jhxW zj-9l%kijPM+ zsqJBCvABK5%0dfgcVbep-t6o7EAC?gn`lG*4IR@3+jvwCUS^7B(<)4L-77RoSB{MZ=)dt-Q3%D zywm#ea>O(+b+|*hoDMhKiP@ICJof5~?7Oo;_K!Cr>HW!)8alKe2gO0_M7R9@ZqpjM z>)vwF&AlO>?>p#&D5Mz#PeVeWZH!c#bw*7yM`KG3vEkU`g*ke%q>BYvhuNr#09`jd zITnB>uDj|PY#3xpmGQgcBe_+%`+?*n*+LvLv5?9mIhXq{3HX#G`I#&D@Rb#T-4%FRjo;7DI)$pwwQcJG?p zP49U8XAlv!z6N6wv7>+NTF-@4yX^D?Q=I|v){D?FTeUxqAkU+4Rx|vUpO;=O^EpMp z#jNbJ2-~~?;q@Vzni3dt;u);yZI#BH#GTf@BwhoLZaq)~@!7VmsOa^3%Qdpp8o1;1 z!@*6G0wM}0M$-^Z04((g(Mj6HVp6tD=@>nga!bYeW}csKbnc`Yd$m|hAq2ZLT7673mG4x!EBjcB3>pg6`u<>FF5ZujiOJS?AtAu7%8BWDPDl~)$I7V=;E9O1t% z;Eu7n+K|zm^!S#aZE!;O*4GS^szq!@kc}?aG&Y5aVt%q*Px`oM4nfPioRDihxw>Xw z)I<%KsCk*-SgndYJ`PK_r2Vt-gT1HTu5q-@ zw+$88Ur+w1eFsvo@%;(*uC0)U%%Qxy6mT!1JN+$J9CAX`%@1o7HP|tIrsb8#Rv+2% zfPrbg<%^>49$5Lzv!q~v=*97OL|YF^Y9u-+3s{vwOjWnhSvwMU3Mbi-oOEJ$kaK9x z7Jk(8q{*;)NuC_tNI1FjLDY@4EAw6KNiJh?TOKN31uyAa(#KDkYW=F?-K{qN%erCF zk~*MJ#&lx}2WRtsvnSVNOwqXP8bAg`{UgQSa%hIF?BQb`k}@joRMxL}U*y}|>N-f~ z8iDSpBwa-tgh|cZMP}JpYw{Rt5L1HJuNi8KDFtc42gy_P`QU1KP(k4Vd8wjDD?rus z)Ut^>v=(pXcHNF#;AetY+Mcn}7W8c#)#L0+ssW*o?H|p6T%Ql*W;OiigRTm-MuLwFWZDEh?v?>PSyg?Qam#Iw6@fZsonCRp2c31QN&%2q zw_m(4Gkf(G{I!i#taw$hy5u4=_fi@emC2pXO$(>w>mK%dyQ%*rJ+9>e7H$b4OZ+^v zHe0D?^$}3j#x*%;;+h#M=L^)?vVl0-_d2aPGuCTwR+IIl>pXJO?8t@>?SR!vt>3;b z-FUIFqgth*Kqb+#wcSGi2Hn2BTzWY?Ozt_*=yIGbn900IISq2XF=D-WLde3^&q*h3 z5w0CE$|5nV$3jjljT*AfSsl?F)4GVn*ZR)j?WNw|g1wux=MqB9x42c&6yYwFU{3yvl2qMPOpIKS>>T^cCtMAjv}$?gL{);TA6xrQi0=&9BY z^H1j2#GQI@b{^vJYmxaEuS$Fbq>>$rHpj}oVu32T&=<&~+UcYd0MQH~QwvylF&Wgu zOQxyc_O9d}JthzK5RYXQ+QjynTepk)pb2;40z1kNL?I0Q)E_<>5k0x&M$7~r)DR~h12RTFK}fSvYh$B5g$Zo-TsAT#s#jm0uFi& z#TJcYGw@Mc4N%7YgxC+85A;;)ZItit?VZCsDskycr0`ehnx}dRCkK#`JOPMQn%CjbUG3W$a zr)Z@tNvRiW@{_^V1$A?A{Npdm9dkcnAznUm=vcG2d{G$E>8I^0-AK05zSF;$f2n(R#(_vbES=m1s^3 z+Bu?s(zchGrcwofSMfl*QlAYayTYGU$GXS2-OI?^L?LNZxTrixgffQR5AGhar^lq6p5+UI+DIVr6Okf%ThLf^IA}5!{ z*^)S=s5&b(a{p?;UEAnc7l9YPh|!A5MhI(y;>#apY>qoyCXpe=&ssaFX#q|m3y?V% zX4I*w@2+ZQ(i_FB5_b|&&13hqphI{PPjDQq9XY^w1TXm~*rdINZT}VRUA$mN;l_NW zdA93Oc0I4=-Y*GvP-q=e)78N48kA2_<`+0b15alm7c?DJ1};_W;xnwppNjr|aceYE zNpMNf&bQy*v@tRNL`FKCx{uw@R}NbTl;GhzSpB>I3I2|i_-yPmaMNT}L|kb)rYh_Y zv&frmmhwC8r%}R(A9Jb5cQ(_-XmiXJnAD-Z*oF=`Nb$5xa7S#4NCUZwTf+{Tglkyv zzNY%G67pgCD9E4sV)~0RVM=rooaR@R)x_5^*bGbd7h8x5kKzsXKW2c`O>HZ2$a2_> z9Zlz=a!fbBm>l`T=<((MtdBLf?N_?cS^!5-GWg3t3sY7+X@W5 zHJT9cE+)sTb?ALyHZ%q;zV3Tf3e(tBxlQKwm z-R*%Xees_8j*K<~tfqLUvx_;3W1lI&x=eczyw%4(yV_jcBF?CkHkxzUe%~-KkikeJ z?Au=GO>EDmx(muX=WnehmkBvp+GmCOa221ZzLb=$UWSm+teG&Y()8J6we=SHwsxsW zOrzsQJQi(`FFjJQRju zyMAm>Bk%*nA%MEk0si&6M@V=K*YLCcy2c>$Nb(AP|EYw~Ou)Z=d-<8CNXI!BrY!^o zn(V=M-C~v!Y2~mrJ`WM0;KDYM?wUJ_zVBeacUl!@tWWC|oU5%}lx_Sx#3CtKJD48s zlE(ZvTf6ekPnOng?^Zo3#oWA+7KlyaMqtOMWvP1r3y->oC)T}ij+07>X75@8#qF&T z0z+8!ms>j=#8vMurJuBj4n{&ELX7#3@=sGj;I*{q8X1B@6tYYA*Kb-nu)BN%0r822 zow&(L=i!&F2P22BE`zX;3O4LDrMg_0htNn3_{kkM3-K>YbIAjJ$|F>SETGsO19}$w34(N^x;`cNV;PXy?`t(ZT6TR~FqU4w zw3Rzg2dX+x$G671U{0}TRBq7n@QuU2gz_s(QikIy6NX(n{pfKHJ?{MCi2l}#|9ndi zEn$;S7kdRDx!X>-iKQS`nizT#`04t?4cu8#sugXSJ5y*K(vxYIZlz-oCGEZ51(>_+ zbX?_+f39o-AAe0e+V`?0LFAFuXH>RBx;^5yA2df)i3x;mTsDJCD;mb(Uv9O@ zzcka#)pnbsM-d2%h>>}EE(@D+f9nwthZy`fc__=j#eM&`JXB0WTvYxaO@jYJ9LmK0 z&p4Ekk%{U5OOqfw=fCHnjQ^g8+S!`WJGt8ZmoW1`vdjMxX0ra<)BP*VWMW|cNm>6D zW->CfGXLD+koW7FXlQ19tQyO~>m-7m8mh3z(vl7c#zzPcC$k71A`G z0KY|9@c^Kqxsjovv3W=fgA<`4Ug)WL3ejdpSI4%ZukpQqlmEDu+hzJz4tb?#x8Mkl zp@3@YfYn=H)LUQG)d8$&Xga3wy)-kBxk>s47bf0!PnwRAl%T zT^C=Cempm>t*o}MyMLdrZ;VY%e9%LhR>4iAxu`~03221*h(gDb#p`qF8 zsshX)0z5D@8h=G-_s;{qG~e6Zdwh3o!9BqN+`B>w=utcFyyLssnHjMY^bC%oo}7Qm z4Sy54sjB*>CYD0?fS4PYfPaU4Zo;s9qkDI|lT*X{(v83G{Iu77y}e#1f4y6$uCDv> zd6`4D0@`=`ynNA*`#gS&zi+Fe z8kPGz58Z_*EKP0T^}N$VUYkARW7>XaL8kdsL(}f~P*bdSPctG2-2Vt!)j2ezw|#2A zeDJ=ymA<|wKlEt6>5aa9-s2oV{l1>&J`TUWZ?V=je@1fYlWnM${2V3U;Ij?g{*C>H z_)<-(3X-PLy7r}4T@i8nZW_9#;rrzgsyd~piYLH~N{y~G?gKmHbG4I+XKVtlTwrO;NAOzU6q9d)s^{B}fGtkc?;Kaz!f&FiXP!s?P~e`5TkuZTqF23v_bI~< z@Xq>_55eoq)Gzek9rYdjqD?+|-&|^@^*#cs0L(Y|v9LYXUwR|2TYp;<*YWv}^=v)V zihW2rLexKiyU-gxl)gG`q~yTIpUocR2HGdj@NaY?Ci!>TF=l=iSnK?;kDbpx@}2zT z6Hh+jox@$<<*y;{of;whSI-glZrcp+KA~n_*H8GG>f2h5U-36vsmvoQt9ST-*En=O zaQmGd5rxP%_`~;G*%9rZ{774z+TVcNi>;r)U9J~j;B}q%?q8JOc;}!_Z|JMvk*%fW z@$>KV-_OhsUBKVHKHu4ZK)k+1H`EbNMIVGqQG}V#k9iK(EjtSuS^A?z$Y8h?X z_;Ch`7Uy*VO&PYLO5$DlRoB1fHbN`@cDQ9XvG)hMl9YRU-MO<#E2ne5Ky~v(@p7nm zQmwHFfQXNj{77-{_fGOr&4Fj(o@An#wr3N;H3|{-w>tIK@-1>4Y7xkrvAFRk0#B#tpT|#4@BEQQJ;hkoeTWB+&X<} z21GqX!H318V+JX*cA8KPk^XCgX@SHdK6Ti(krZ-acjba?26jkN&TfL>N?d2~oj541 z^e34a{oCNoHL<}rqv5CtOAp;C#xxjDgT0mF$@>z%)hu7-ZKiuS8)SLK*)ywbQV za#2-_m`lOMah^c6nzdzFT&&z6Rh`R(AUb#t@C!3p%x0Q7F?TpMN!OG*&1d?l-<1nz z7hi~JRmXUDKS8oq@729Trb^YIFqhHL`AyN|uT1bnQyfgi6ous)9d{LS#Z8ogUo+*@ zYvpG;cdudt0iWJpGuP9n+)bFggh;sUGs0oQoMiH*6fg%&eWA{Tx7d7~tFeX|f`fbs zrFLKLpUpME~9}5P|Z%0 zR&4Fz$38zFITBg!!V6V;?b&&WoZ%NilL{nT_D)Imbq=ZIvr6QIA|)_r^G1wx#%rP=~_ce#&dyzg8i zXJ=GcGsaw}{pi(Yd!P9XOAoSa2M%s3qgjOIIPUwPmn-%!yq(`wue&AH<4wd>=R+fH z15N`)seOsnu$q-fj-)JOl6N7d;AhK0KgA_He)UtENuXrFHf6yNjSPJt?=nETX1Rt1 zA+=rAn_;-%H_kjuo4Rgwj#k5a770&!$64ijOo^9n5Z>h)u|7x1Cm%dwvD{H(NfN~3 z_&hF$^-S~7)R~#uE)DisUg51a{q1Wl7?JLv4>SYf9+YNyM}=nkEC#N2$Db+o)38_R z^-gtQ0%F|!kD4o#mgLsd?wKj&JIqqz`+Nn-q{+Yk>p`yfd{A)gtu&K*a4qR>u#!Rb@!ggU6i4=Wr-K+udEOuaaX5sqk5ahLR^1P>Rk*;#A*=rpHslq;MgATtBkOd3_1p9dy2|$T!%K#`6)^ zp&2HmEqukiZ{aaK!q_{)@I;N>%cFd@w7*a6V6CRIoU9Ih+$2{}s~sJAOBhbEfQ~^A z3Vd6xWn3W~0HcOGg-5JsycjV@Q2$ncJ=?f70y9%YI*^v+~;)wSK^_@VJC8+;uTfILE4j3ut@Sqd|sl7o8x_3C@zh zB#?d;clR}cRq$G1@V8Z_Ut`R&L%H?L=$d@q?hYC?qGfE7@9H+ZFj9PLu+ybr+}B~o z7LHTrbzDNIn*GS87I{m=aM={8i2Z5cV~GU973j{&mf@_Auq1WbO9CR5ZX0KltpD#h z=;7dFc-9qzlaHZODg~Px3EGZk&}Tzfr-3eh|5L9H$^fB?>w?}Mzso-POQZb zFWw?XQeedHIaw^zZ_!Xzu!LDCtq7(f_t~^7dn(+Mz3s2>?#%b2S3l_~x*hG>t%KC2AKoc86 z6iU&Q9Y9ggNla4A0q>1q)`hK>&fe6O^DE30qv!XX`pKQFh_jha_x38O1b4d^CleJJ z<~nelA$HG72t|UMCJC-D1w?GN=#B3_k(Pt>?SND5BXH=fu-0xVI66}8vOPIz{K`Ue zbcJo>P*`wSQ_p#@>e;M?tNJ>RwjgtbwEgsd!>Fk(nr|Mhy2ya zS7}MJ_P4PWSNbC*z=Yt;Pf7;tyFj<^&jc;}He`USh*ACybRbT+F+=**ux1#XT^Qii zW3@;}XEVrx17Lcq>pZyJLB+CC#gc_5v&#d!{9F)>6tEIZsX92u7s0XG(^M1zZKcIpL~7+d~>Sp>Sk#%D!6}wqx4Wnmj0c=Z5(S>xFNhtfzDYKTb8YH2CNm5?oEWr zImiOe3$d$KJid^!S8NH|ICrqektX+oz09gj$q|>@!QDL~r!{$8l~b~ZQ+x=m7ujQ2 z9V5qc^U$vQp=PkrdRT}Z8rt!WhGi`J(;bcX_5LGPA9CCJrRP20l`^VLP+b5;xp{Jv zL{j1_PCh(w*n@nGXQKHve@^24(jSDG(Oz+6IPRk6VucDBpnaN~O3H4VcgJkS_8Ybi z!!3qA&N)Ws&k_S@qarZWg36Yx^nSQmFH$opo#0)fEE=RW?D+DMIgF`ix9BxY^tj`E zq~(b|VdBe5_lw=?{5(5uKs6W9&uH#N-rL5xeg25nVvI5y?A~XRaoM#Nw;;vitnpTp zz8lebH2Zd6=4I9`kNL*e+CEK3BS}#hII3o>(e#{A9uUU}ZSU3Ps>&_pU7@;2*4oxV zPRQv~F_9oZW|Sr4QHe zX<>pZ5+RD5GSOW6i(r>z_x6}d`jGTgBp9V!ImF2FmmK{tL2Kce4Wo1&DEuj>&#+*Y zh`{+NJ)F6G#r(RP+iKM5>3pY z54jgd``TXri?w@f5-kW9vpu$LV~=gywr$(CZQHhO+n(8D+wVT-O;RUSNhKfh7gp7( z)vLR&`&pVRDJzaz^-XCQ>{U)LC(Dam+QLbzCMnu*AfV?)ve6?u!q0VXN0TJ2>wwN0 zhCh2hMn07zO2T%u z_OBg`#(;OeMFJPd!B%kyhRD&vG;YZKUWa z;W=h>29bctomkya(ky#%Gm2N)E#V(P%g_pE_Ks!};w|x+_Kmcc%AgY1@&;zRZ@|kF(|TFd)le*DZA#pBPs)~+{CRf9AQG#I!t{U*AlEs{m((xverb2Wpv`+xfc_5G+zwFIEtAMdCFti zIqk^kh<1{$wzmh!AW(x}?lS_In-uq!%w9Lv3%?cS&_(*(6oSa@GFb5Pogcxrr~MMtx1pij9tZ66!xTmSy?yp++5{ zvpWxqT68xcmPfbL)g!gBhv7?!(@G~|v<08`k<+W)wV`e7=R+rMWnin!$w5WbQEXFw1X1w5pq|YFuotr&a zGa$3X%jvq;0RnM3shI%5o_RfuYSE>)U1-Y6R%g@z2euTYd;^aCo;tg^u=Uh7lruA7 z_OEEb$K}Spw8R}Cv04n*v=~M~miM`$geSkHHWJ6=0bfZ?-ipfKh39zhF-1O5IR8l;$WuY#jA%d(*u8vHFIs6+S1y zoCfcw4Pzv!LU{_VjpUS$9-hJ&2P*Ns*)%A{ImNc<@8C zwz+PpL9_w-_CYn8-CJk)nRa-2n0)Gdqeq^#MtZRlZ{9(#=wico__~{@BxMa#F?PF~}P;EBa43$?- zp#Yj3ERLa*fbyo#m`Px*7#+w{;4iQEX%{A!Aqoe+`Ex5v9VkMmWyw|d*x=p74>EXuzevXd0w0oct|8%C`jU*1sJL{dZd5PR5?k~L{vqNU!1ka zQdie+47tuZEkgLBT`^h_mqI13E+c1x?~Xq2m@%<0Hlm>YyuHm$cj|vHs0kj&zI2&7 zd~i$(^2`V7MmMY2snD1Tzm}lk3-G!E)f#-hH6){pF@Y<{2>ts>@@`cLe?mge>>j987b) z!pfamdFMC(YB&!1 zeBbC-W+_S^E>t}j?epk;QD#}S8bk+S=UPPP_~{(D;BY}X`vO6zl@;d=cAe%HV~3cX za7^tkCwgR`zp3GxC0AOy>7-qHGk$@{p*wkZl)mCkBB;h$uC*5wX-tGVvqwhP6QuOe zk&Sh~K_xrMdd(ozNA}>jqgpiQMLEtGw9=F>w>6@02lyOT zsJ~NnS9A#v$0ucLWOd#KR(IXFW@(i>xraW8gaZew76YzZ=)V(j*Bzh@yiE20U_dHBF}%qSc&P&&%wJ zh`Q{k9&sOf5YSbE?^8lwSPZU1b3(`H1U&&K9rubCl394)(~Z=~V(YJl&owh~hd+Pd z?gkSv%pAYf2%e)M$)1?m9++Euhaz)Nc-0YUo?^$~qrjYGvOmo+3ojV_V?q~RpWF}i z+9U)~$p-$SUM4q+^vox;tcOZH$f@iO)i&C5(El6BNu8Tw$Ef@TRi_1r@VsbYaXZ+Vy&3UFZPbX zsWxDvo@P&*@D>k|xTrQx)@;yS5)+zdiU6~4{K-9VKS@WRgt zjfyT=l4MJkeC{mbp*zG|4NaCZaH6P}juYt2nh$U{-nWGz4I${2DthZZ`-5vnglsAzm-J-o1qa8jz<1 zjm5v71vG!k3NUPAL6nDK^YG8Md3aP%Na`NxAxWnrk}l_b)4aO}TLX$*lwK}t_Abf3 z9kAt{BeC;x7aAuYFiNJaYnT8Jk);omoQV*lEB!mJ*OW$JI`bh}zY8vr>|BEBSX zmuS^Pd(u|AO=s(r? zKv{6RoRHVopjm!C;(SROb?tFruf){X%2+_S7F$1EneA3-9J($}s30E7UP_iXjlQI; zqNiBNX5lrEM=|}4I+y@!;6|A1TW3|If7J92GTbO}K+2ldMLotwZtU>(ozgP==$h;o zO`Ll#tDZn2O)yY>wlLmtO8d}W+}u#RH}*`_Niu}=MW%r@Xy)cd$Mc7)C{dxM$=a;- zq6)z~+sHzQWe;n#-;r*=dA%Vt_+_U5il6v&zk6_Ux(4xqV=FeeD+JLZI-_Z|(`Bh- zM%+?)t;u@%Y$M&Qlh18Pe;hA2IF@{uT@k-X%VCEF{FcAW5f=v5@2>%)iu z4BaxWx0=TmzP=W&To@qqO*7#FlI+ z=0mFBzB1Z2+xi=ODDgED{U@KCB5$H{gtlYy#wthsRh)I>4@2TH#elWm&rc)Z>O!k= zsHECm?I^Iz{TAlLQ_cD#R%Dy+y3U3ggMfFQKA%b!YJ_Vxv0fUG=WT93JK=6?YZ6B7 z6L~)Zn%t=@`e0~DtXG$Ccvnm==Q{y9eYp>g^rvWeWTMcZ(t9FoA0SX8uJ4RUTGnc!<*m6`Z7s``5sAHi*|BbB+iCvBRUDoS7WoUap3LB1`(tLPc_xt zUe2guGW0>DFgJ1weI3{@J9Z&%xfOm=q2vv7m|PK&TIzgQx4IdWM77fZ(P4oE&Q3O( z6XDE#rW(8Zo(KO6^1dTbQX-v-CaGBE7dQ9Fox1Y2#fo~vU;TUd@6?J_h1Ask2$hX!1xwY9f%Oh!P&aIl=sx%DQX7EE=->rDv=~EXKG;HwGRz=t`eN zdvp7ER6*;{F}rrD9allju?9J;$JEuUtW;iNY+*(ja05UWQf*&gW0Ns3>gTA=x$9;G zhzjCU|A^Do$=J?q~9lQ^P);%#Vw5g_A5$ea5ty{kL4c#)IecEo;>Z z4+gb@PtXvC?|UQG?wTB?$`|dYY1k84`%wdfYxW`~OmC`mL0cbG#ehuo5pc&PHVL!c z>o_Wp{GVhu@99o#iLDJ|{s=r2Dq&RF1H-JX+wO>#ku((R#((Rk9N?vz53B(~GMQdP z2Bw;HX=o)Zk>GzudFXU3g{M5;BwR^$q&)hTO|vAEg$h%$4j`amX-l&uJ@4&y=S7*;X>@P2AiSdl8AKN9z=euu3}!_bkME4i$2V-_V~gX zDIIuX$Wi4HmfJnJs1&Ja5s(}_`B1PD9X$gU9Z}4fj{?4Er-4Xq+3n60fX?n1l{XXU zLU8*ilA>@XNa9!K79TtgLdtb|LmJn{7E5Ii7a?QC$Reos*aqbI%%5udCAd_LkSmXn z@MC1d1=`Ayu+Z1W4@FM53E^C$bVE*>S6m?Nb>6~MhF&QU?{N#UHOt`Pz&=k;%isU; z|AJa!7LcvubfIH|gv8-o-9N6PF7vN3gNfJp896ya0o}egX}Fcq`&ZQm)z@*0y)w!F zCcMvET_Gut={!1{b_p4EV%yY~r1$8zf?WXmo$oX_K+3_XaG!69-HHNhY>Tc?S#z58 z2xhZMTeSNQC0Yi7#UDy#%)-NMwg0<%cZS$NeV7`gPx?kdC~mJEHZR^@bsfTKw5@SI z>3fBfUvUY-97!?^>f|5iVdDlJGymx&!>|VWM&`GdN#nI!HMm3~7uY9)eC72PD4C|5 zJaksM(Z&A~|7k*TQBxS**oFW@5O?Ri8kzo@H7o;I(G#Q1$ieg?lwg^1@}7}Vlxhwa z^&8xv&=B13B1sNcX&iTvE0iXGBZ~Tgmq>dWxKr;CT|F=Kf&i<;bZLK^^ehmUh<~Rp zBO1bsuFTKp$60ck8Sd=^4l@vCZ9+QHdR(`kP9V4b9pHg(K!{_kSjhOX0k4{vlbzUQ z(aWHE7&thPB$a5)Z?GP+oXIS4g!TuZBLv0JC*>HMCjoQjpCK^7hJDLUC?Jw&-O?Db zO5_2ZEF0C0lsT<9c-%yao zr+Gy$^cv!(+I)Vq6-V0ek+VbBvcidU#Y}}U{fuc%>e3D1euh#<8(rZ6R5cR%Q_^{= zX8Jprmg*Rk%|;3BgVXc^W6dXF`lD93l`7%C$`gIHQ;da8sE0)EOd-Evc4~jv-GXE+ zGvadinlrE;i6&hrN<)TsV%C=P@VBCo;Lte0qY+ymn%d~*buX~bd-6e$gl?}<3$0)s z+tWMCEfN%HkrffMwO%bfqsU)WGH_0tynxLT8?9z9u>v^(V(#Jl12l**pg}ryJH3RY zE;TXB`$o&>chRg+D^^MF*yx};noHB}Ml>KGBBB(Ff9FTnKFRX)S=IIXbQ>u7$9?Zk zx~Q+qI>7Yd9Fn2QBd1O&;N*P*=+0wAtn%bonc~a*IXb-MGW)`w0dLo@rFRft4hN?G#ls+=?wB z-Q=#Fz`}?Cd!pmD9mR|jK@}m}BEzLoWN&N)+6ulwWCIR=t-CMjow*-TP9Ja1cZ}cc z_D?7KiOrqatx9FQFsayXv8KCfZ2fsb$E#>oyUi*Sv_OwK2C22ie~edOeX5y@KO^BK zLxwFSJVDA&H|yf<%&yr5o<4Q-=G^}KNM%%A8gSd%mSUy!pq*jSB)+IT(-NFa4G=82 zb7JN8Jai=kLn|))Z1L~*Px&ckPb%Dx=vjQ2L^%p{fcL>u$bJ$4S{cjj>XbZWHG1#x zBS7N9yfMj;G}++Y!3`vT?1IeFw&z(+u0q4OB;tTv7sdt+aP!R|w!IA>M%PoP3%31H z(mIf=b3Gn1cK4JO{v?4P$Qi!$uJkK$UZ2;(P`31+S(`=2)5+gy71cyRp+7rR42Q@n zlt(0GN5QMC?(%_oVVa{%8{GYY z@SoT{(q{?>vDr@rCb;@Xz`o~w>TCNOk*7U0Uxvo^B67Mj%^tkBVb9fc-_xS@GHVsa zF99iC&sxv(iW?M*-s2C$9y$$a3Ef_bfwD&k%A+f2K9PKDDr$MV`6~10uupZaDm0xj z_PM%SN#Za9EYqeJ19gOTs6?3-3lFYUoQSHZoL!obuqf~Nny)%!=N4$f*xB+O1cljZ zw)}~tDa_Jdp!0u6Hz|f>jryNzJURuzfJ3#_YDNkK)WYF`h&U^0RcXu|o0fBQwDg&r zti9KPvx`Ym_Wa!ZB8{v|tA7Kfh4*AkRGJ`t<;<7U)%aMUv3kv&FBV785W+_y9LQ$R zrGlBg7)B$CwE>MUYxSO)jSEZEsUX4`(;CVBq&MP2DN=8Sr;_fkmVa_wzlBmufkcRG zH}AxZ2aKB4I)l@=V)fOFGLdU0=@hek;6>hV!@yJVd1`>wIJv8x=ZuSm&R7{5snj>p zu*vN=A=5LTzeZ$>n zO3Cheq{OT_5|ETKjnHJb#rT7*uuVLPS3WU|{uWF$ji)VT7(pt0rtto)@z6u{WMvN7 zc=OSFlStOcv?3rc{xc3QEY{VC7Wg&Q8tzIsSJI2<)%=#Cfcv+Ndzz|3c4RfoP3$2{XQ4z zX;{>moSPdY!{PnEW9+S_12K#r?*wDd=uQirfC#1@T)Zkofnj+ zJ5(-AB=ID|Ci%0~L|`K*{E5(JPj>%zF19zB*Z#MkHE-(`p?|k|w->c`^)5-bK09%@ zyaXVH!d+I!1&TFjhDN2Mth|Q`&#I5~9dLrr2^im#O>moC*cdB%@VnEhTkf>VI_?&2 z)~+1Tk3fo^OGVj6DPph!;F&ljDdlund#6}jrAHpd|L9~J$*-SCtG`BB6CM;*-{-Zc zEKEx(cMoUzwEF&Pp0wH1=avHV!{oouvW4#%@w{iPk++S%s6~VofQ4$a^^dm(Zke65 zexP{}4!?Nc+g^;0?AH$9-NWxo((+uw(;`6Hm;{v#nLr2B3KiJoh>gl2h6!*UX657&_ z7^03xJWzyQ`&8%WaaA+d2=GVIJ2PzTuY*+fDyq<2mjcB^-0E)|UI;eidT|b_K0VaC zd6yYEFt$C?UeV`?tIif2GJ@XM3*k5?hw{2Q#BQLv>t_^W-;puH{n`+1oW+LzySi*S z#dZrcWWSU9x#duZpS8&WNzTmj8>?EJ@}}A)6?4731iVO4Rav1^dk0lqvMG0>-KqG| z{O&U-P45-2fAG@<{Sj!kjzO3{21m4X$31dHpG)h?+C{Vj!6pE8V8N4T zgL#z;L1hMME!piDwjK~fzB}N>FogHrw(5EYWRuJ1ZTOZQKevEeB*0J-LS8Qs*=U2$ zL>6(*87L1q;Y|cNS^~itoeQii#A8euhq?EuE_6=aWGL3i5DzH)4nx7S6iVkeQtk(< zeeRDfJ{G>9K18L}x2e|?Rg~uHVEvrO0$Cn5Ok`983>4)JB+yc6D3}hA+1J!EI4281 zwlyLPeiWpW>TR)V1iwea^g7i~Si?{<*`8EJ1DF|o%3qtW-V~N)G9R-h1Mq3eXp&QA zQ7`cL4%Ty|cafa*i1tv&U5h^mg$6;$urD1S9yfa86GQnqsXIlb>XGK(6!6jt^IZE& zK0%6I3zI(lAXIE{MS*;ro-}RW)sw771%YBmhfa2BRxXlyxSKgzM*v*u?NdIGyBx+K z!$iS*1uS<%G4_K`IPB}i-(H$4M8gA5n5>DcJh}HO<8V(?WBFlZpU?VhljXYlRczcv zh2RF*eS<Q6w17j8E8!qnSa@BlxTA#*54xx7q=Zb5@m5Im zlWCaf@GY#2S!o`eb$m6&vsraT=J6Pm&8=A%T}=xp0?hq+u%DKO?(S(uVuwne8s6qn z^yDHKO-;>ai%iB@9EdpGa*;ygxW^glTjh5T_WzZ-3Dli@XN*d{jt|@{>JT`I{r=vZ zt6y#J#aK(W8}IdL4Y+2+_(i+($7ijgs8Z8*2xe;u_QB&khM>a;&<^kk6u^#er!wBr z{aBVLS<4#^;Zm*CLTXXM$RVxT_33ve`}{Lvt*`NSg98{|bYl8d9o3=+QD`o`Ry*GB znGijKMsO-T5w9`OP2W+tWiu!rf~SnCSxEN~ySKGn7buH{RtJSz^njA-1lJcj+|1iF zx*1fn>Ou&DGh#KwWYVdar+>2xz2J_fi_6RdE;XKGt}gx}Wh(?9c8aLv5AZ-!wga3G zalASf`=+UlG7u3;qx2~5&BjZId%8oUo-fQJcv7!GlJ6;YcdSUERTQ@5kkIHp{MaRc zB)I%L2U%WBchO3P!XtYEK08wfn|_~WW`%yyTg(IWvOVX44^55vHoVc?lNC}#@Px%l zkZP6_(bzfR);TLO+zZ@m}bSAz%k}h!T(MePibwCW{S3N(UKjH~&Ezjk$`jOvQMw6Z5G1K!hsG5Hj1m#_=@a(~$?heVGAp+x9TKRc zyO)$j5|qpn4&|SIMEpJ`&NL&>W$mED{!M^wO1tHDIw5>piMv86{cbv`O9{$u;mTD= z;3wE!<+qSsfvXFs?xB^_DN4Oywu%k2T@%X_UIqcsxaX%2qvYZcsQu%;j^u}+mY)H1 zXW|t&&@oDUO~A~~ zX}hQ7WP&%VF8`?3fOqq>?3k2$?pXqyf@}0`Vyy~7rs0@@-XcB&J>9{bk{(9IqX&ls zOQFXZqtVnORP%mq(fnz~hXbw;Wbfa!jUd@V;w)|v$?rMb^Qme@4db@^_b*=;8_ir` z3>VqV@$UNQISXT{{3Qi@NZh^J)4T=!#8$|c3vmm)RzrK+YUs!EP4czKNRv#AwQc*3 zQF_C7d^9?n&^p@JBOP*DA57(fzNn&+wLXAK%szC3P6ccJp7ME_Z(0KuZbdAFBM824 zxEe(lzH&kGNDGhrTW&+}GR6$CLDL}b#s*6>5QS(R8RW@o zZFQ+7U@#D`-2}h6tMpdYUoaZI6;JpIZ2{TFs=x}u?j2Vv@()}h`9)7Sn*0} zqZzQ(Qy&;sX3KCWh1P+#g6v??mdIX(E?&AJoTT zeka$~qf4ghQLsyQ?Jl1asZlfHxM($O%6OzFfbolRbQWva6^HnPmG8Dcpx1-gOVFp? z)c;;wp5zAhw8e9MA;(BQR)2xzS;#5#Fqv{P4#2p3C{I1vZmUbJ$h_o}4SmxY&@|`| ziUaN?H^GV$6S;4;cjqMNbzk&N^t zylmiRuu9UJ(oiO(#J>pA%@+GqoB<>4u4x#k?09NM(7UqBLS&mAvg}N{q;?OwB>2Zd zu|hLd$i8 zmi6-LZq9?&c;05UttMFS$^jQ9hZVEibPVOiZ(i{91`&lfSM{ z4*{2&@qSncTUSk-5Ut!yz66-4^Yzpl`oZrTdK_Vau*e~H5g--R*shZQFr*LzL) zXIk8SMpn?M=zwv7$Kp|v-dt6;Gq=~$qVID58&}Dfpz3!w65``SrIAMG+=LZe6GQLv z>y9IUjKvEltz2G2ttw5pW_F6YW$<0$~RIoQeunLyY z0P;OL-SP(kw_%dt2PF&AZ>FnV@z0tE9+_^8mxJSd#S7_kBp33JVrt|B<+MfpVO!1}jP9s{zpa)kx3mdZzoW)v^CbLWUgUD^!a?98u#mnQ^}sg# zWB!Z)g|cx^p5{+GngKer@8citvV1ZB20PfpiCXLrKY*5{3+(>|g=PIOSoHryVWrgs z!~_NYBMr>{kB3?tm^uC12BZ_Uvvn2}v~wrWqG4kFZxoiEjsE`)g=PKUQdj{xAv$3? z5jxTT76_K5Q=(I*`;S1d;eRHAZEOta{{KXkbFwyYGN*H0fr1||rGba982f^cUiCy;=YhE%*Q5MrFoll#_V?(^5mXD_oQx8rqpZTGYH z=5upS6CSx|l}R?AWg4j(B8Z6Hqr-g|!0}>k+1&$xoBKx6TDlVQ!7=yU5VyOvWb%%HbiHYU*#0K*!zB z{YD@nfB+sIo`C`)z&a>^sOE;luVwz_0n88X@%M?S!`;1OCr)#%- zR7%N%)duonaen)Kb?MmU`C!VRjlTt7dHL1UFpzhLD2KrI50DQ4?jG-NfP>{BbA6Xz zryxJ3zgtzHfnOUtek#hLoBaTVehK_JyL-aAUkYGTc?|}jUtK|9FePU6{wMhFS$7Z* z>IHb+zjH!&TqnPBpM8~IdMCeqT#C+4&R@7@@6dO@5kc7mv3Pz6e|WkG<(mrNgk&I| z{0cty`@l4DtzjLUKK9BPfr2v;36{}HoMaVf0So%J5!6H=kgRJ!1=KgbNlW@}fmQ|) zfk3SWvQ12mv7Az&-X0 zK>Qm)0Cl^|6e`5cKJhtV7uNfSZuuo9iI0KXpO9 z_h&meM#=fv?XiAP#r%WI*aLF0lpBHb*5 zF-E*~wsf$k=5Th8ND}#8v{$y@ddpp1u{7?4YHTQCGo3@X`zECu6dl{Mt$nB0Jt*&s zD-H{{Zy>Td4DzA?e5fgbvLuCr^8k42anl!c3AJFeGjHU5uRJN4T;uP=9Znfr{DS4| zee?^0fngg{KlI(w<~5$JMr)TZuki@6RH7XEQIF5HBgPrE= zm-G?9P#2Q% z;!&i|t6-}X5qw@DwAV1c99-v%3Ratw{GCo>Xb{~8i`#2M;GzgoB*Yil z?iyG2x*dRclg_}L9FFk-UIZ+ut2E~w)zGh9Y`t!7(R}a#E}OE#S30med#*UjRxO%E zM7wPmC{g|2aoc*i%G?lUrISe6Vsj-iw;2ZFxeC z&#-nNLwQ1Woo#zTMt1+ZuYSv!adJdO<^T*Xi?>iuxfJIeM==mj;Z`moMGV!CJ*_jO z4OeP6ZP}M9sP{2?e^lW@LJA=^@V6rFhOJ^|)5i14=4U=`NGfUyM5~jstUDb2T=zul z+j`w>F|Kg9l$#GXd2ex7ea%zF^GQjXLR2@azhsH2H{jp7NrIWf>lz8ISj>0~U&D*N zGGocuewmY8iM80?+4{Au3yKv$wE7@*P<&X#!c78UL)fQ^;}%#dTF;1(Iot$;R=btU zg11|oU0Ps?CNB>{Pb7t-nL&WLxfp@r{V^^>pxu^uy)vgc>sKSIi*1gsqKPMEV#m?c zGW>4lOj!mw0D5mTYSp}Ou(>=S$J!vtdoAd6`6et+Fm)5NGMMq5v(QYiZLUd_@u!Hw z@R?|G>=CF$2dCKKMVdX?Rm@mqwh1T#ZiixU-kc=7qUZ}n`e?h=_Bwn!t0VRli;-_P z>|o#U)_9nz;kd>av5h6wuEFLwI*RdOz4SnOC|z8r(A2repkl;jNf<9?iR^*Ey3zr@ z3)5*e9~o>Zr751JLH7?7dko&@ft_f1>fo~9_L z`5BgOe2|IKeI0h)jUR{Ue%B3qVrS6uwi#Yn&W6$vQ|)CXeUTMhVGEw`*!mwT*JE`B z`rLDwxxB)PmHi5+fk&pExsJ~v!>-3M2vXnhDXlWyA!AFct+V2c;^&gly!ODS-iFT) zi=#80OGvs2=+wDD^u-oC)tesJu$7Tyi2&#NTY4OcMmxD%kbP6PV?JD;=~v{vIVHQ= znD%q?E+x$tkyQMyhN$e%)OT{;$8(YCqZG5TZrQ!<)`8mx^TGa|PHonNW|9%Rk6Qo{ zB8uGvr^~iYCd$D-Q;qb3bG4&D=)zkhAS`_bHv$yA-|PiYp~XKv*uj@* zFzB+lHx1q6Xj`VE_7-9kF517x7(-|K$o7MRW{T7nkMjLKyhAs|flEY2sZNLUO27Tx zgX_uCQwGM_tqu~0Xh$Y2pq>^exaFF(3%=BRlXTlX(V+sRA;_-7UUmi3jhP!4hl~y{ z^Ez;tR`%Yr3@(eeqya2ij0_gQsb!arzUd1R`7DQeqq${D(%PM60SSLX2GH#GqYTtR zwl$-o-%@>IOu+yfeL#HOCGM9f`GD{F8+v@Mr*tF108f#IQfn+x6tt8wimQbqQC{Fj zp-!euSS`^bbndiZ*;jy?KIixq;pk?o&gPnrWrX8(rgdZm8N2^}zBGy|SBiqviV9Ue z@8Rg+B^C9F5_{2;FBEE=ei6QSpd5@f(@)KXq;b_YRr8@QC3!TA^xP-M;ktl#+)Rvd zK9lUzW{|~tK2N17X4Q*@Jan0xb>p(fO1lkP?BE#2_|AxYz$6YW}@B4e`FUA_19_&49}jk7eO%VW!blOc6Iw8k=_*?Vkv zWA%yzplg@v8ocTs%P^^#E0oLYnb4KcI>XB1kZ7{BX1`dlT|XNmY66Qh14W);y)3!a zmaK0EnRJgL`zur34QHY`8sxSEUUh}xT&@JaG${lwQbT4oPRUx4wPg?cxla9(#^=mh z!u`X`Oe-nRVaN8|kWukYcocOZdjRMW8T9>F?K8tq==#~3$?>7_et3{|yl_iSXXTG< z1z!XU?#%{#V|fCQPkjr0maE*>Vv=)#>OzAHFH>^AQsZg$EI0=Spr8ka9FxX4_?`{F z4l4Za$V$TLdkmw2JUPBn`&yguo}!tx(Ib0NP>+^?W~lo#J>c%+K?!ZITilJu)I^aD zi%^x#T@JG;ap|bhfYaIuS8V%78>;x&D}L=J;=nD6E(3KFiJNB71Ra8bj(cvM4-j?f z+9kPEGCe>~6D_b0ha6Wpcup)^9>cS$9kDzSvE5x>#Jb(11=H|$3sCl!nE-VK%pz6; z*ILKMt@54`vP~=lZ$tO~ds`}^ERK^y3E>3cue?&>#Fle&_)5B;dw7afGX-{Bba*xk z%fzo`HV^P?AA29zJUvhZsZk>|22u@!-f52bz`Zt>pjRi{trd$#+^fc;x~dbOHkvrW zSF3ly)`2mFuX{TwZk1X6I>J+LMzTV)f;K&jC(Q?FnY|6cUa)lavrb$vc=VpBU$vf+ zoAkb|K9|ARPEPDGX=Z|%4AxrC>s4tmKT<}nvN-sY?0F^lC;K|<9O}2y^>i-fF@)l& z(!84JmUUE{84M*wB|0 zTm5Y}mTkvEU;2B+yIG99Ej6h4UdmXYBW|nQV_-KGqTXUf>yuH3=2C0I!bb~cY!vMSH2;B zfwvMx{BW79VP8A^A{e&N+@uGW{^#*nNvOpS2;gXGtp~uN5 ze?W~J>A&v=UU0DElV`#gE{U%yO4oK8KmR4Iz^9*!h-jKr@_2G`v55A)F&E~l4m2!E zR?LUaV}5q`Ra@b!%#~Tye7<(ABva{vaERnl*QMtJTr zQ~A?Kwy&Q#%7RfQCSn{WdNm+5rbDEt+w$yf`71i@%zBnFjg5;X=z*I{Zl1^L4Q8bK zwR;=1z}RZ3$zMWmKxMsUN?^EbR5frM;0?P6%7}i)7o9EtdlP77J4?8L> zq3fB}_cJ^SK^bYodR&auaE-tdIlI!uA<@djBRiOoKbUueMtP!Hvhs>)M*I5B`UCSR zKMJ0ChF-YdKBGO3B4f6s_#Yi$z1S+quo?U6*7K~Ph0JM$pidhRT3uV~eU0o-MA;Hq zLtZQ^miuv-T*-XcgB8-|*?BeYtE@1_I?3#=oBvGbJSvfb4m`%7DvEjzF_i-P8mY~A z_%V*EUyT__=58NS8|J~rpO?!`qnJ+q+lRdDfXw$sE=b$xS^Pj{cz~4OnXk=m5DtU>o}(j!5n*B0fy)EkzcC_e{$+PKK=$V{&(C?CEMcd%al5 z3J6#Y$gm7!%f{rBmNTP&TwcF0e#!L^zGE)P{c0OQ zY=&_aCD*uQGr1=0>!fQjj@)v?}tabQv5%Y7;Eld(S}Za1n{zTYEl z!qhyEUC7^)Oaw)eA)!cWAKeMkUA&M&r#%GAnne%GJ;nNnkEo{ciwlZdPMFy_^LAvvd+=(E@=-2k!f^f-FZ?4rhK8BAhS??X6vmYjbI!mAb9s^TnW z#f>Q`{ijjWVLT*wfFm>N|yjoa!!Ndo>p=Z6K}0a& zW;C-oyhvEhu1tb>q=G@{&1AW_@Ru2rb7^p+Cg5FTddJAJ)S-I#A##IKp zyscAxN(jxH`<_W=Tv0<^rH+$WQaU@|%Uh>O_JeLcWl)PBhD!EMMTQQQ_6oL|C22d& zWH)MAJ~*7R0}6XjF0z!d?E5RPJztO%J5Zf5HT=1{MAJHKuf3>;7^#Twam%#J-DOfQ zJVFV{$DU~Xgcb2WLN+XbF6K8dRD}2=i;VbSS`xcj-0pUZ`~8jI2}f{qLqmvYkzwtW z6%laZC0FB-=a3&qK{rX{V@Bjin1tOVRY=Qno-`MY;bTKE_Kjs;dg&@Oal6mn)M%cM z#!(@CO=(I|D0BMW0fi$W%9gTFRvj@pNU!l0!_O7%nddn`ei_+k;1s1J#o5~YAqG-W;%h7l7E5ytu}*nvK}xi*%*Uq z1-|41#GGF{B(7{A5<|5b4k@Q*n3Jib)|sZ(Ak!ZAKs`-A$7GT}v`Bf&5CQFnhW|g( z-YHg;pi#G-wy~yd+qP}nwr$(CZEH>2wr%UKKj-9R@7!~h`_}17rK>Cb()mVx!zk@E z7yIvH_atijCgVBcZKm^1o<~cEd_sKnkLiVH7mxSp5r$$Yd;6Ib-%a9;nf5Ybb8V&_ z!N2eJKnze@jJoAUO;`po@MYJHiFk%yNcdwfZUijZ)XVQPnT(uwd`+HDUCy#L=<2VWrwABpeSI&ZX-Jq;f zY8ZX9`ThmtUVNI~fv8tQ60}c|ZiUR^uELRoo;g~GXi9eDxKU&&*Z`S3a$~__s7=~P zHpA*?WCK`#a*IRF8C!eDpBhiYs-Ii%q^ukV<|ev@@e->Mt+PYFROALK-`Qg_J~=io zNOUw=eDR{`9Eyqy^t|yUYl8Xe%;eI*H=;M^bhb?knm!ntV!r<36Z?B)9WNY@5MBR> zqBN6JF10{XP{T4Nhh7W_8)3c;@{29z%69n>()A zZ8h#H<5aQ=J&l3(=yuJ2{t~_iMv-aR_8DdBo74+o2^L2t0L73%r*g*2ac3}CD$g)e zL|&r0yUe#5;f)Yb;33E`xJS+J1i$0X~ zn#eE4M4i1P=tl03Yhuhy+j71)=s~kxK#e?){W)f?o#x3!)6g>T9gwi()4vKJyVTGzk`gLFY^;4Xz5&y)(7-N{>MxBUpR1%*N~(n!@Pc4w^`bI>r+ zsgD$C*Q5dabXWyRcm+#IF7n^F1ci31y>ePnL0S-Sb#gc@qKkkYf#_VIw0m3wI#oCr6w@d(ED)fHx9A`-z{L*b6cx=jyUDQ7l6U1(E{t4;(|$A)_x7)Q zN&BgYmfA@c9V$b44eP(5LcdYpoGxCzhKO5H;iy2m(|+}yCdxNalnRa zUW!>P#A4ZiSoM!;4*u0O+^pKsR~qobQ4!bGu}e3v8{-3OLzo`!p3iavrs{wz`*LcA z@s0I!&*uuJ)oa3x7X#>xePSL1cyBDs=b6!p5h->n0Vj`=oZWMx@)(0Sp><`D)|Q1d zUiG%e7*CR%*!vS%t}Z7_jF%D_^1WBmob;J*pQ|f-npASEu|HGj#GSQz)WvE=fAiy+;(WL?-U3NcO%EPHF4GbLqu+2 z+^)4CD<2syP3q=vfK~zdurua>MKe3!)7bSHVB$Z-mCg3Cl|sQ3J@WV!Ar3!+3uZ6vFYX{v|%2CS6yeQ8WB*`LcOzBooJ2g~2MwEJfB?Y`UHoe&jdcURu(#$tmt+p`P_XN(V#M%0g@q9aFI#<_OiRr9AJ# z;;VsNE`ADS#nDEfYbuzzW9C}+hDZh7YwBHedUOKGS{x!n$kGVkj376w6e+24ivvFJ z83~skN21(qKPtK80`g3Mx-VLKaIGcUmwN>(LV{Vl6xdIX?yeF48pP}i=k@%4U`;;M zZ*l5u9|jlM?JNn;KDhQwQK4c_pl9X3MQ&)^ND8u+&9&fCtpkKuS{x2x7RGp=2%6tZ z9USgu%<`Hqso(fmw20u8lEi;+uQnVbgFI!C<(XinjEc`at1r`oV$QqZOJS_&6vGeH*eHiNP36IaU;vN;%NFy%0h$!Yq*X z`&XUChjc4Hh50zr@%tAbLfNn3f5S4c|Ci|f|A}P~5Rn#;`VY&XB+c+IjsM@#46Ka* ztJs_A{}0VT^RH@K$=Sq4761RH*<1Xd&Dj1QeDL2z#s7f`{u^Du@n2r?f6)aj4F8ob zU}OGY+T#C47qGFi{=cRR+CkM9ZLnBlnZ+f^dE##ZoP&~?7sR6(^yyjkiv&1JxSYTKtiIjcQ5Mn)?>Q)T*5^#SGh zd*r+sv#k#FJZgNFzJa8hP|k<+2j0f4l9A43EZAfCC$gF`?8ujk|V+Tno6 zE6f4=&%ylO2?cKF(~=YOAwhi(E9|LZJ~2=Y*`y%M%pkBsNxWJ4!57#f(0^?8fc`MA zLdM<&fBy6|1`XO=`_9+9xFOO93+ZeVT)_Xn*|9C z=z+p?>)`jr^cgUN`{|(tL-)hU03X1&1m*KV_$1)NLjW9~z}>%om+kLT3F0H@LxUCp zup)SoXW#X$&(r_CsblH=~K`_c$&TWNl?JC4FeGW z5&`n@^h3UXD}tHfGa3SYa|5*j(VRs9IQ2XJ6_yu9i1r2k;e#KzjsNAl{*SXb<@fhS zd>9Ap)8_PRa{t!|oI}W9$B%o?(^ag%Ob9w47vb%<6I191)0`%pW@-D~ujYar!BZ4v z@5Mal5fJYVn)eMlj8G+C7ePyh9O~*WE%nD1tP>0d>Ys8eeopTdj#EU69+<1( z_78EVNuLbDlks;~EhBbx{WnXXAYmaud=}PN7D5fclO)It&ELzmzkonr_8?F= zK>SWm;A;e15PmGG==cDFg&aZ&vS+;PUyMH^0fB`8fLQUHd;kQ@dtg99`UqT0eER!* zcY5DH@U(%U^Jehx;2;S00$v2x^K6ivgq>b})W3$nu5M03SbmdmGS9cqx0|3q_ksS9 zr=^Jc74oC21vO?YP|msDSVQfTRM!fSr926QOZC8kNYkkt?k#uV9NVW|M=X zW#4D*eR(nNJRW(-&B>*yVT1BF8cJKIlefPfPdm7S=27`Ac&Jiwnnb%&OGfxDtfQ=_ z;;gy7FvyoEJKoPFca=CD7NiZZ_FyP^@eF121%{}On{5nv8H`P}`C!s{@x$8=OtbcE z@@&{WgWg~SPjY}YZG6_%ZUr4B}8cL$Z19wvY@*2E?dD)cYZ*t0oVQya{5H2!yy+^rNhQ8ub<8fL>7U#UP3J#^MrU;wteTtl;ICWR+1C@INIy^o-G zmk|u6>W$pwXpEYY0EJL1n&=<+IyqBL8hbY7@$OvO^&1igB^ z`*mLhsHW4C48`@a`k3RKMX!m~`?uh>|qr7$L?rQ;YyupyC7v*G74%x(Q0n5&)-`NY53NHe|9|>w_LTobou$)AYJdUiH0!PwlrqN=2TBRf8rkO84qBy zCENa0Y0in*Ovl=jT;^_rt}mkS@g$L}b0xABH+>k|!;Ku$DbA#>EIBINpSe6q5X#!L z!~PNNX2hjqgI$rOYYBTww)Tm_3S61!LtP+JA35Tl&?XtxqpT2m(t|&}a!BgkHbc-g za+oK~|EN>}eknkks)yD5s!cnggNg@q6Yn?`DgjZaVgcGH^=61Hf(gn^{6pXyhR(c# zK+Oz$I%;2UMXVh*ZZV~VW}VfKTByI(-{ zb>8G35qk!12P!Of{aUt}^=G8k89t~b(}73^k2(!Ige?IreMAlxHT{h8)=C$$Mgx*% zx7LzYsJ!F@3Fy{SW={Ua&cV64bMdVOKYUhpCZ;6={i!Kg2`Z#5-EK9N%+ z^I|GA+(w_>9JrrS6wRXQot|(x5fiRPHv&D+`HrO zSZ3{d(@m@wj2Fk#c4w5KA?13BdWt6zU(b&B1pUPhQ0(Zec%p&~B2u>;wp+I(8=+sF z%hSQfr*twvb?_JbWKx(ldgZw!{yOThvrOn0$!^`)u=}rQ)v*&6YlKlX=e8@#TR%*K zU`e10lv66~dnESGN<|hCb=mbI8l@h=TEJk)X2G4nSlpuP%_e+SK+}yZ?d^Ho`S3Ds{yD6X*d|990 zppi|*Wo!`}zSXLqJWjQ9m7Us&n)b=^3N(Xg&D8fA#I3V)Hshm(m5kK&39vSWh4!L} ztLwBJO&GGSoxy=1;u+K``{rR)X%)a(dQBzLq5iTwFKiF!B3Ie#L)AjGNId-?{@!B!QoMQO=Nj_Rp!9Zs|0J_yvugd%4 zKGu@0*7+0NaM~aGrSW6Khvq-e-BhR}j?>+%V8PtSyMVR;NIBWa{zJ(&EEU}0WgavU zMq~?zIx*-v9*goN!a^o`(B&c{jS^qMSvqr10$!VLiOpsW~A(}Xhgd<8qdA9 zgPRFjU+H!!cR#hT`${VqMO9OXL2bqR!Non$E!w{Bj6K##)M`|ALOxFF6I#ON_>YxL zc|8TYkhIWXr(8~R43_lnb>)<#pUP96)aQwE+gwOnb>AchAB!ag^Q0(gc!j-3%OUng zAR?3C2kglyc3}Efz0!-nsNErrii&yfs}oe;(VGW+DVG&r{wc4cXOXzV|nBUGU_dY-{|CIi#fmv)s~DqTGHTQ zo5oPbjy1DOJ$8+zCL}WSN_`Pi>63=zWYb1UhrG%CF}WW-x@{pS`N>uLYKkUSuh=2c zT}7?KjG185B=u4q$HhL)$PT!7F`pVpikl8*k;OD_9vcqDQ;o3lf!KSThv*pmS0Cr5-=N$^EeF@HKj_>?7hU`s|Xww&7dJy?p9g zLv4?~szB)aW&TGbEfI(LXbzVGuUOVW505X7NMkEo><*YlgMbdK=!}ovf||LuROnR- zm^o4$(yQri&vYlre$Zm00YXJH3jSP-=Lc&884-3F$UuKj7A@l9B`asi4>jJtx=nkP zgW&#g`fqBUKbqTH^eC7*)AxsexfBo9i@cNEEQ}QUS+hbKd@Q>ykM&_ZE|ZPcNXXqa z0O*Xk;ltlR!}b)Bo3c$&Y!t$S1#g<<2@{RF24x8EtBg^?4n4vhL+Jx{QNN?bUWg4G zTFhEO?8wnqbN7pNx{=N!dte$0@xb@8BBH!FXWLaI3rrCno*#QBj}vKWNZ=R*t$Kx< zyCxJZvgTxso&_)968L-_HxIW3ZuUuJz__ON)hlTuh+X9qi%{T$=v1QgK>%0Rx&;$`)MCJ1 zRpTQ>$xZ?lh{9&G*XQGbhPcrHzdpy$t~)7$R!|;lr-DJJ6HF4tHod}jsqqA*>ZYPz zNfH)j`B)%b81dw3F+{UJO^k}SN53fyQ95ndY|(p;E3uCJJURBsoRE`3es~rs3J=RR zLq1V6NF3w`(NFt&6Q*Rw`i*W25yrHJK6OWC8wACJwJZ44sXs?i6c%(fU4%ZUc{Bii z*#J`%IXiz&1O@_`lYM6)m^T0L6xAoscvZN#ofRsGSc*EVfxMaqfMhLq|?9Pyh*O!?1%+U5bd0g@^}=E zTGg;W(QQFVO(CQ0da3)7TH2KNg!g!DA?~?UPIxAXp=ma=Ox)(}ayxpFAIqF?%N1Qy z4rNg6Wo}ge)z9!!xxG%m-7!4CwWc~9MO}OPdmX!g<~K>f$M#A+8HT>KM7motU3-(A z+x4cn68s+IM0upo?+YR-W9U7^Xi!}I@_g0tCRWy^6v4i*W5%&@^EV%*yQXlV75C?0 zhetZu)kndNSo(}bBPl7cQv_sHr-o_4e`FL?&sKWzWDmA^prO4z<6h~iWGmGH#wP+h zP2U4%Vc9F~%I@R4I8DqGYEfSoJ&I_0t0U!oEStK>1y(~12Szk~_44^*O^ zUaQ3@^{i#)SN)WHWk$7TS8HHAo@C&P0>}5%T)_|Am)M%{lYCdq_GaHUKl(*ut%eng zok6I&?otO!Nme73!{MfGcH=WFN3thm7NKh13_TAZKup2XD(CM#Jdaw|EHxBx#Ksv? zd8>`y8zq?nEQ$-yBTQzI#yIh*SqY=&x^uqBarPT~11Cp=Cihxx>EI6dCd+Z2T2c$S z0an>K9vrR?1RtM-n?c~YN}u@3XCg+3O_QP|$)2Ng)&3c1k3geU*F-ye>+*9lkcT3; zcb4ES(T+?&lV~e`uj(zyCC8-|hUCWV027C!R_nu{J}o2kzT*aSVhzOy1q`b# zjUUSg?Z%XyNQa_iE1epn{l~WUhPkDGa;%yMmp zWi9g7B{o$l^#f4t2F1+D<5gkkrlzJHB-VvsgpL=_8dep!Y)UFya0>$_%XGX;E?DPH zZ^Y8rN?Q?&S!c(r`&+JB$}twNRGrGZfqUuXLLmbZ?u^nrr@;msVo^MD^`11(K-k8@ zyotq%)H>I`M0ekiMdeHy0&tV>^I=!=Gs^M_S_p$T%lL;HovQRQy0!l}Y!!{APp?ca zfzL;3>7fQQad$ACx{4%UX$4O<7jt2X6UX02TsgbaB^^Vh1PjQUt4o#Wex3}jakb_2 zWtVcVN*%kM;2K{27F3M#;66M4>n3Icv3d!7o{Ur^Ck*Gw55NyC4Gi}0@SaR{ zm4ab82_sAjNk{n7VERTF>?9S6Y%L3yblggov)j;dy`i(qIq_zUjGn6gMM+58_GoIm! zG_kf^?7W$i=S3?p1KY5pOVXyO0{P-}vYSd?Ma&oYleiHhjFO#prv~q;B+lO_c9xpO zA{+bPhp>f3&W>0y0vaF*O6tPUFP6Z@toHO#?mXrvQXxvSD|i% zIBHeXiHtCAIuVyY@85aHV1=#Vz`|p%(9x>klNauk<54@xsy$uC2vN06!eC}SnY5SB zJ6q^yvLj4mQ3^;M$}UZMEPt;_kueNo;>6<&UaKPP{+XxzGCRvPdwHpHvwB6c^vJBMnoJa+3Lw&wbaBYy405EM&(u#Jy{_B-Gz9Lo`l+MPtN2A+8#8 z>q2r&vWih27&yREDEukl<{+W9>O%8cazlSl1L3X0Zs3QU5{tyY;?{ucI)_Q#>Pn?F zS#8XDPzJaGCvdnOg}(`h6RzkZjFL=s)*0Hr83H;dN{hA0C{0)aUmFT$AllRZDu|D- zcb_?h#HL%vC*5}_DF|p_o#acfh>cy|!VE8Q6f5T}gp$;mHKYAyL2QkM9>YK~XoS!x zoceTb2DdmQhf7k{qJ+dXY1r_&cG3Ql-b8oU#f=(5KRr1GLS%09f**6#GCe4dw6@?e z&&@ClJ)FzMZGhsBNbi3q5Q%Vrp!n$@{B1uu_sWu$I=Hj{nz z+G_LER9ipn_3g}{Z3r| z1kxGB+I)c@(Bas0`}xsEYKdvfka*2rZKNTLwt3}-pzUL|URl3^l!(iRC3|^1K)NX~ z@0Pln9(S@Ny1+frN4uCnXS^t>46pkk8ck`N{@f1>ndd3ENv+?+y5mxAQY^@VPwvPx zcv##^U`$P5m3E@{0>;nky0Yy~9UW<2-R_ZftB$L?bv&x5_Jxv4$JZ zQq!a*wWJ1priPIOyQOvfu%ppeS!riMx)TbOPxT3ks~ToHq)ovrfmxEBki6qGT3U3;2Xl&`pd*@0NgfT6fG*f7j!PIu;8qN_%Z>ti08tH>BeaIWb#pj_Kg02N^I z(%UTjphFw#%?7*}LF12-oabU)yk6TwCXtKhJv=YUjX09pR$ZQ6%kgQ`42m$5&8xgO zah6rnaxXa^h1>xTzIN2(1J#RSktb1HwO-`GpPLYSOR#Dye5mKQCn+{8p*h-BH9)lQ z-lmccw`1zpV9YH@rep#MLNo4dCzdg!CLuUY?}?3*L_CZXitzE zrVnj$4go86GUgrPP59{S_xLHnjRLc;7m@Ip<+%I5;9H!$Xm;-dGGeiN$xuo!lgDyR zO+_g8Tw08qhHi?|w!evlLV>)mmX0-@f{_$VW8$fJF92LHX zO%e3hkCLA@eJrRt4kOJR%Vl7JZ#5uSZL#PZ(CggK3x`v7r_o$^OVWnFTkndZI~h|& zap`tTNt|Y#d2S`6`%K9EHQj6%lP~yCx2-7`$KtWn4~uE1rkS{nIq$YthOeZ%JwM4m zK_F5=M+!_l&CW0audWddN!vzrlsq8n=tf#KT;w`X5#M1qWbsPkeMM~ z@G~%Y@n!+`8`g$J{#E?^So$tNy@B2bOnPAtN>ImMCXJjSNffOLd6I(OB2s9S z0s4b0Nz+lBjupkk1`=IN1Rsy~^d@O@u8D6qi)}sXG00b^`NZL!RkEnkA=eu5--~3} zS($qS~Oy+i9F(RkPt>Zz_)zwGr9nsyhc>0YI)t7&{iGhMWD6!*RqFov9kanE6 z|5Ene14xLeN_5B3)j()6{#t;7XyvKHjh-e!JKE9rFy&iWA{vnPnONpII!4{m&T4|o zpjg=+j}mzA0ncZrUJ*O^r}m=DKD=A|cX-UaU%)zktPirk7)jf_RlUfh#D zAZ(doDtmHvv+bH7ipVZgPTSD8llYcO+#_)F9aRDiGLsTz9p9VJ0VMv&htKG)?H*oIk<2V}l{ULa5F#A|%wE-DYM#i$S8fbh@&@AG-ARo({I% z6tR8RBDsfmBsj|qKP~f4!&P+|%5^B@0UoW=@+42^U3ec^@%Bm}RQYLVP&Wy|4r6_# z-<|Cnd`sz3UNt<5k2q=b{jr7nC<5=kMfT9DgMxX>24)r*DeP>JTaaS+G`Sj9C5&5+ zOjnLtDElZn8YH~kc{W<)=$BZ(I-$TOiVwBay~`biRy)1}mBKcTULxzwS?Dtv<73pT zRi3d&FGRP0E?=zI0M{c!t;&MDZ-I+PCIp%Ggkd2Xp5TG60(+o9NqJH zrDkKv2MFJb*@SnA8>p*=Vo9M6KK~2{_l<*;e7WcAv70|7_qf02T$+xFb`saAOFsK~ zuu1p?@*uomv&$JtGG`&A+4d_zVmTtoUqfEILqh0!~IIw$A?v@Bdk}4eZ5D zEX>TE@mbmbxv+&z{>K;%1IND-0|{pXYYQU*TQh4Dd>V#-H~vRp&-`zm`v088%=F(> z+y+k0{|W<~tZWRN&FKsc9O(=l4U9~zO-!Bt$CcxM9z|#9Vr^~W{6D(|{<9VnM-$`! zrtkhwqW@nbel~{xvMc{9;%8=N{4WIptnB}m@;}D@Tg1=${~_Xc1yx@B{$vGOpdcxL zi4SduKy1>x`jFLleWPa z-^_*|HVA;Kp-h3a@Ktf*-fvYQdFcru-uox%6)jln~e{Ll!!eI;|0RO+- zI2Hko843&jKDb{8zg0bKH%ADd5(*3eB6UyiY0mY=UJV8_Jhbbpko<`X_9ay%UY-O6 z2vEpyj=1kbDYR?os($r`=*g^cMm!m9;kGV_2OF~GR|M!{pVAo*((TdTg8cV5Fhu-k z09zm3A6;BhTU!|jzzMj&`x-mMw}kD*A>^Ai&~HE;4A8fhT+N>+6@(hV7Jld_{;hx@ zmmXkb8~D%OYai?{Z-V~-0QnXiaD50ze**EZ@#rA^C!g8X-S++t05pQCmp;JR>M5Tb ze8WRvVLUDGZ~Jd#_}5LS5|@^?Z<@RB`Zo+C(7)^L>)2nV5ge=wm6QC+7XNp1 z8Rf++$wgnj9sHoL1`{2^l?x>vPCW!VP$U35+l}iM0Vgl?Vb(p4;XN8 zJ_0!SmCIKU>1Xvrn4fP#Ody)*<><}@hh$@w8 zu3mGY+H?skAVhx@5oIg0sdToW?Io#gG{$C*h;&~DiOLtOTNDhuQOqYEt-aCS{b=NL zLv$Ih9?b#Mr?SiCrH|9h+LRsE*T(5kcYOY2dvTmzP8w zw2#dSx2B9kQ`fYS-Cwv1XByahw7_R68@HMWCee)P1LrDK9KP9aso)*BrTfM)t_nIf ziY$VX?MU>CXpl?d%y$jed-B`v>rOizMj|7}Y6%5aI-(J+Gckbb< zGW|`+vHks*!=DokLlef&{<*?M01G8h~S4~o=R z>+vIn)dyLmo6fe5s2>nLt!)@J)85t7gOXZ|!d7k^-`ksl-nM9VW|nu`nuFkRn8Twf zWt?sb#s-yn)+6X1@i@H)qbU=31UllVtNh%p`D19#qyW6EB+&(uJ4v{@nC0HX>M{*U z)24p@PDCzJl4WTE062g=?dz&g9kY&RvN=*-R`Z=ciZB0BfV`R6qs71svECLG_p_HZ zuU+O4Zrd4Wi9;tzTzC$bzuCFdxCsfL3#(h@q<~JOZ>rk5bXs3^5P@;Ag}%I~W|sJx z+NbIfWAaX7(T`Ha>(nnl!Xnj_Gww%S*y8l+l)6r~$;51vdLcTeFHiBFG^8A0iVuH= ze}X|q401;wi_O-?PP9xxAYy8BcLisF(4=^PQo5;ZtlV1yMLw`mo?<}nO@Ehq;4+Rs zFjeYqNL7Rc%%4;qNZ8UtO3kNj>i;`7aZEShyAnHB{}@&`8KYAt@@f1;x?Y-#Mf>0Y zu$;JD(W@X9h>~l2u!pp$uFkb^r)_lRXXcK3d?7Z}D&?w|r0X#qZT@Zi=Mcy-(3aQU$S ziq2BPM3@wsO{z#{jBdBYVoNZXFHX%E`pq{QjWW%-bpi3vg65+cGeB26ft*H5yN@?; zlD!n!lFAUaoLq1*j?p`ou&7f9x(!6{TqtAv_LW(~!#U7w%dL+Ms#;8R(pI|1D_aDr ztn>PDuZ&`Z(ndm$1n?of2f>F*3Wshb)_eJ;#fiyukL>r42PezQX zJKy$iDH3|v4^Fe5V5laN z2{COxtG?vS7AP3bSxIPz*~EAGSp6rqjV~=`T3lT|6A`a{BD|K=^JKVf#<8136($Kq zu3r;%Zi~|MlxMq**CAv016Jdq(2DL`(8^P2VPUI`14VE>PYzvRIUDP;Apd%G#y`b3M%}(d+AZ9;FEQTh5V!K({XMPOTh8YFTzMedU14TDf2A z$p2hacD}Tqx(_M*Rgg=I;BGRx-1h`Q-$e@6lcgp8oEP(%)bs9r%hfZT8U9qy5DmSy zlJc!Q((Ybz#+UEQZ(PHvs=aubg6w7Bo$ld+T}kBd62TsA6R|~P8;lw%@5DT}qanp8 zt6YS0E1-+)^LTvoZtN`qbbfM}F1nT6IB4wN5iOO z9cRAXDW0yxaDJ(~JqlB06Umejl)fa~{%RrJ700frLP}}S@vo*G>fKJXz&kjAAn(G& zCS4$Bz4emq5?e+bjThscb7kVLSd_Jz;4dk0?u!a9>83!}v+S+sEA-6`O$?&CS&N!- z^y_B>ASr1hdvDtP`lG4BtM;sueHHtgw)IkOCCUWf8*Zx`Tb7sg(lGX!2P5qfZS2jm zuC<1r%q)W1A}gL*%CQRbS1`-S)u-{1e`7ceHz{db z2lvK~><|i7IO@Y*Sawk_h+kNLhN1-x@Va9Ov$Q#6^Iwxj=8@BwaKdilIYnDC{2MIx zz1$q(Z$f!foAq`#XEgB(Yu4T1UCj$~!n1Crp(7ZpOrlyTAUR3nMT&c$`v)TOXZdIv zJtOH@)MDTd%&D9SefWyp%6tGaE;H*?=~~nj#YS+S8mIU~j?63o0Ob-mb46s^k$0>^ zYyjtcKAcNpA;Vlonz3fJm1M3`{|TUb!lZks!sK<0$gYnbq`)yGNjLB8#dfBp{l8f? ziePOj1xoD%9Ij>sia9TOuBuqPm)auN!9_|9Mi<@rYGF34jLmS=&!^CM&s%TA&Xx|@ z>KkP1DWdpjbq>4FUJNo_DAnD()=;A=mL`e{5?x{19XR6&L*0{c>2@p8PX-Xx%R^H5u3Q&L)_C=*#J16%Y^vO)el!^<)LZ7> z(ZKBwSePWPT*|8MOibX-vdHq{JAcotm_Qaza(G(PghC3W6$59_i(O(OJ1nbtQa@7g zFoMe2zGTYP&lLM{{o$Wl?m~#Y1|(ZMlPqc{q_7`DPQxIbhDTzu0*witRHo{l1lMER zR9h|@N~%Rlhym!A(*8R6%54%Xs@yo*dH^j5T9Cq*jenDl(#1tEyIS|zT0?|t!|yo# z(V2VJV1YXgX516WiYYOfHg~sQ!H+#1@ivm%ZqL|!cK{f(K{mb~dioGqWH>;7yqO@E zyz|oe>JC`0a$Slmto$nM#U>Bf#-@TuRzSyCDIrW~qypJ%}rDv7H#dLA8RC z%=9}WN=Y6BeM(Y#!I=Kvb zK6NGVTK0Gn+J`5s{^rV}(j#&xp z6HHC(EqNSf^+2yl2162alB!SKB9_&dG~F1PEG9g11g)Bir;baV7TO+)uMHu}P)m~3 z%2&7jQTk|GG}i43(pG%@n9`z{w zn?*;31HX)Tgy~0q8W!5&qHO@T+Osn`S-Mo2qmkf4k?YKj^=GD@yu)vzKAF*FPMk&B z&nY)X(+6T=W=8!2^EcXca-PjQk+0zC2N9ljK_B_{l3}=aOYwz~fO;*#jErAnLgU4@ zpcp;U-M-gsep$*`h!wg*)p{cTP~2??489$nx2O^GN{6kb+)uj_XCVQ$>cse2zc zAuA`EuF?23+vmBoVEejcl05V6%#O=mP)GZ^8|~s>BFxnXU=4~ogru3_498$6^qDR; zhhbe=MUClrs%1Y%L_w{G-FIW*+Z?VmYFt3Z^Uw+WzOU({S9 zyktpET=cT}`_Gpe``nqYbn2xZ0^20P^zjU5$@ywvXI!@g<20sAbSo7;%BY)8EwLF1 zbW!YUuei03vGUWb9@?|f1etv_!ix3Cal3;UI7L8F%5_CHtmz;G(A-^bNs72IIKQKG zKcuQ)?!rlU!JRxFmTnvsRpKF|`Y&%e92{C#zF6HxGyiP6q9IZ}PUpNTdG6tkN$$1o zugAH~iNKkqns_u4*&}^H^uji)*z(_$6gdZ*X5*aBN91Ca$`7^BHe~oGD3&@tPa1X? z9v|5Ri`A@S>69kX(LeIICK<7-u}*v@c@Z7&A=f&&yj<*YaIBHmr#?j_i z81W`$97-(<>MVF8iw`=Jhd;*3MBh9T*bPHUkQMPR=P~Ij>yF!>7Ad>}1)UlcRY|Wt zC=ws%Gji;#;Ux<-yj}G>r1n)dg>m{>w8@zEuULuZ=NeIMEAAg}Nd4r=?oc!-_?e8D z7-uj*S;_&h9EgYQ_?TmRV|Dj3kE+P4BJcCjf zGpDz62@L!^zFFpp*bnyGMyZp{GOm{UJ^Ak@iO<4oZ+nze@Vtbb`5dgXZeCYDt#56n z0#fvs^Q&`Wa8|Q177itRJu0MgsWgc>J=XV59%klr#f{#^KSab+t&gf-f7j=P|jkQ zYhRH*cz>VQ<;lXYybUqSMUuMnSlX~C25eYMvJ&#d8PJb}fDPXg6Qd@@bO6QSPIeI_ zGb7vu?)Crt=&JcVm;e+1Cabd}I;2-Ynb%S>*OpCt{03iD@rb~*@Cy}n^vBc~bR6wgEM$q?o@HWb*;`gKc0VXNA2ned{H5Fc- zPin+-cwEY(BjJ|*kaDch1sR<+XL^gVCl5C<2yNN{%dBu3=~G?$DS!L`%Y?`)R7|r$ z*sfC<3HFTzf2+)~2Eix&cL*Q0=_Gf-vO}z0FO`_5uOfb3^rJ+gY`-+!N7RsfhF+z% zpV7KKb`xKVYLMyoA(1v*U5*!Re z@K2yy2%yyXRo5_=XI)NQs+IvOOEHYY+uTS@$ZE;3lDE|jzX$1vzA=s{Q{hR1x9(Mk zDuGkzLeil|U_~K$$4>XY1WeXyRYAQrqV0B`*D{=y20b9|G4<+K4^vN$;8gN(IqxmN zFu&REeMWR0#dFn$O=r?Zk=NXap^@J3_4hQd(JRNajSzBj5R8k5$~gP&L;~8w#5-o7hOYCzJ zo-Q2N5*^&sN_$d$L;3TwDz9;e#|~f1*=Xt@C8{(p<;Sqc{0Ma6umTav%4P9(iZ#3a zs&~wmCw965`5LNb0A&Oedl;R^jm2_TTHa)fregcnMyJ#YH-~1YN3Z9fCUvFSbZ8D{ znu*!~QB^~IoQc`jX#Rcr%C!#+GM*VLi=r{K;R`84*)-X?fhM0xi-NxARx zapR!&T&qFmPXKf)=%6HSN6|XAhih!gF0G;{u86O(S3?ydwW-?Xd6sql;0%^+UVZ5w zIUtfVX9s@SOvVi#`WziNo&MyHdL@^`|AV!A2(m4VwnUw_ZQHhulRRnLwr$%yY1_7K z+qN@b-l}+2w<7L)RgLPb9lNm_Yd3cME513#tU5alGOH@|9-&w=>GPp-8_H(*Z~ZBlRAEYsu6UfYg+Wg0%`i?o>wppXTn|PY{??TDk{WM82?hAYQx$i2&gH4+UJ!bMcnr0kS*-&qz}$*6`Xi_Da>WeRKbhkwywXx|&)l%>hDbP3W?t z$hG}Q)$9pH7))SbKUurzZCZ6`5Q`(JtWN0u&E0wM_h;Pg>Xg9<0DD)a?CG;bZO5Fp zL9#x6^I>>qNAEtQpdq@ z%94z8Yks{X3X7^$Tu0b8CCj&Tf2Q=#!hPA| z*M?YP+g5Czl+}5S8cGSqP+U5iBa6h}QU61?D2#aIW5=8GI<2V9@CnVmY%_WEBjc#0 za!yM%XYq&F(=C-<<^sOh>;aal<|%7jIS(>gO>JjxJj(klr)+rU_-s$z(sc9v8~b|^ zCH3f=z^nUvS@DX7Tp4ej&N(Z2y~nM*Xj1J6C6S6(vC|8^iP~IhF>JgpaAufLK= zp8@}V+l2=THOU1|JXojmj<*az5vyE0^O~ggtL06Shev3KsJ@Of^1dJ1b4S2{p6N{) zeRtFG4m^GWH4pmdxS&hf0paWbUeIa**)Rj$fxX!d`50EfoMkYs339FjX4&7xQ1mVM zk<^VOZ^5-tS$y}Ve{DqCdR#CmiNXURsrZqY6&)2;P%Sz2F6iI0&als~4jZ}WVbizm z$&0WSbk#s@fK73OPwXC7+^&Op4&_S@9Y90}Ui&+gX#c8ZsdaIvy@ z9nT8!r3aPaxFRZZ5*$ontS}vr>`dWGT%;op`3 z&NIjx7o>OS=aT0IC)Vd15!$4;S>m#qT$b8@m+O8-=={Ay{9P{H{I4OEG;w&BTC1Xe zR+~(hWv)AwNKSI=85LfmdsNHu_FZW9`@l7GiUvrUKI0r+R{`ho1fqO5LABQ=l67aL znPD?!kLJSV;5}bem?Soi!~D|Pf{9GY`}TDtpq*Oss*t!NWZ7lw{Cvh!KSNt1wD8eE zZ@vtiZM}>wrOHt2;WG3fT>+VX;uu;9i~YR2RuO-_^N^R6pOkX1C2)Tz(X&&NyO=_w zu3f@5A<>+$*d)&Q@CDR|E;!<<60T`0?Ks8i>53N46ZP*zJ|D}dkIBWC#KY;CD*fBs z!}J}yGTBXav33|yXOLas(aHI-g<%g=;4<~Rmw9?K@dkKJZorLDR_p7PS-73%>gKJp zwtq`DZ6v;tGA{}S@kP%YWN|*eI%4HVP=Nu}j4>r!eOV687%U#0x{awqbY~MkZyr2S z0-BYie8-3zE#xh~|JR(rf5Goe{|TD^cl<6YAuK5V=fCm$ZzcbKm6m7u#dj7C0!HRv zhG*ws`@ewitiR;_e}eBu`lhDF4)p*1!^ptuKlA#3)Aav^*MGtMe+(V`PhMyHeX9Td zjp;we1Af{6zuX1ikZr=XJuczwIDOVxdm1t`e@Nt6)*9de~dpKt$S7u8=L0t5dRt@2)4dU_-1b2_PrPTQ*Sd2rrY{_IUtDQm+QByO5rSZqKmo-aA0BQc z0Z^M@CkOq!yaITYwq^cX{k6c|9X_I)`ii1GHo7$qEw{0h){tH7RbR?|0!9pFzpHUU5UkMH~!>Thx$=6@#V=`l9p z%%B|ufSi>Y-DY#l=m;R--i{y~ga{e#2wV{+A&mm~eeHni)6-pV1-1 zGNEe_agNWylvUp+K!E|j`!4g$@)&Yk!@}Y?5YC~3JOZxVeTsIx9?tcOpVLrXI z5a^z3^1*BBWVpJylynIa~7=a$vF5RFW}ll14Q{50CaTseX#qHM!WQ_f&stX zLB%6v&q5x{MwA`;XA;ENgsVW7I*8>yrOIe*jK5zxWo0E&hLG~jp#v__QZt*N_zfCO;2 zjw4`LgtUnKHvWJ{`-J{x9{kw_`V`QC7@dZ5l>X5J@-;-jF4?*5(E#Znj86mot|IyK zbCTt3>?J^6F08+KpYG$!W zb#~3%^)V<%W208f%bwl^gM5XyS-DQpY9Vf&5$Oxc1soY8iJ^EpD|h6$-m^cL#>n6+ z)Wh095>70vQP_rAjvcMLH`u!`i=ts@KHaH8yFb4}M+ z8CTF?mYX}j8}hn#`P8K`-*$u{GQ87{oDMC^qr1MeYGT`~n+n_*Irs(#X^uYFgjWf% zhPC5K#+)bdM<7j_`pu_st)XZ_ut#Pa4vBJP3Pqkwfluj;kdFC0r^Ra~yuRJ zRP99yIkio!o@(!mN6@oR#KXDzoxLFc4$16?qgjqd%NIo?1MkHP{+A#s;GA3EGbE5V zlcK?nyFC?XO!0QNf~R{Pht`MvDWmt+7@M~CtH+&dPK%f@ylqrpWXV7p(_EoFv}r}s z9mlxtm=x{i^KNk4t@i<>CoGPAK8;XMgD_;16PKupu7xGo ztJD&(Rz;EW&a*}>Io+P z>u^G-Uo)s|UyqeR%PP6cX;c|EWIhGg;)z@k)mlAyd{t2L$hj*VFtnfW z9`GtxbltKD#Qe&6VBd}uccF?nk#E(PYge@)VlpBVGQyQG<^n-GmF1guHi72RWW-Pk z6ii6d7GAi+f*xyS;){mQ+F9SLJP?oZx2Wm`TtoYLAH)SjPuXJ5Xp@fy_=G3JCTxp@ z1)l0Qr***Ao`|v$?a-iW>DFxJ=-;HWAf$xYBpbeSyTsTti-9`}v)>}iUFA!eVV7-R z2-Pxd*P+kWd+*hYDr?uclTbYF^4*}d=2W6NBlSGLw|dHC31^PTgrDa>D6a*U=5-D{ zZg&v|&DolpV=R7Vk}5vbHhgnwIJ5J_?^~jeVbbe!D$~!CCvJvRDOzKaJXKvbw<*>! z+%2}c7nU=&dB0PVfm=VyLgSdq{mN)tTKAym@#;LC4U6odlWtshPsxlm=nU6AV}ib! z*7QR%b(sNR{Fh{%lxh3A?t0TxT?oqPi0s_FE&DHX*vcW`SynS0gz*}*{kKRg_?gMa zA_@}E90U+K*sWO=B!u)%*E$t}3+2Gyll~|qwqaNpsj-p>8PGD>rTP zw>;R*k(OT%|FST;!T3@r`?PVVVXhRYJzu|MP*A;j`gt8c%tvs{OJ&=9g0;!iPAUb| z1I+DLdK52Nel_{Wga$(LYM3`8wcNidw46Gv2kVmwR230!QbTD{I_?)fz$6!9&(bv6 zVKp1_CUn5JJRdW#CNB0=y1CPdys@|Z2%PA3{&0G#PO;bcMjz53{38%H&8uN zo{K80=_{9uw3KZuEo!(=iJ2z420|Tl4WWsZ3pGm`3SQIGF$5;U*;GGB$Ja7!xO`r;ukb8i+`~Xt8i+M}vEuAkUsZlmD%AR`e*hC&z z6rT+Oi-b$BPHQ>&$n?Ujay#~gR*r!D!~~1z*ZMFD*Nbfv>hi}xr~MA_SIt^hhFea? zN$RPsb?u?dW1Bp;hl${ZJ`$15pFN?|PgD47F4T~-2Ji_C5LW4mqL8PoAy-VwP4kr*~;Fl=#)=`*Hxa^gTF>GVdl=j15=N~SheY%fz-$E7%vsG zO)U0!K{K{hmUA2AO}w!Yx=wy%M-d{8^z1Cc5KP8cD$XTydOkruf}3)X)~zM z1etfe#)cALCXxQs>2NTxvFpFj%}=A}Z`U%KG39Cuocwh<-W_jA8;l`G$+Ympz8gtc zI*{`*QC10}4m`l5QdkJH8>b-4eS)a|Vd2XhW1((WCIsDQ)VKVnZr%8SMaKhrL!fxlm`}~UiQpZuOn(0( zeR`+S$y9h8hz%D}(d&yjN{_+_2`W znAPxz%2F;T!Byw6^Y7Xvsv`!-8HFEv$V*Wgq<=0)( z-M{dvFbAnRC_sK7M zhT7q!^2@fHI5#R^b$@gtG_MbKRpQCGt2Ha8rq;#iyayULn|N*_2eKZ9vL1A`p~IxL z{JKB>tf+wCctqV~lpQTs1}%|;(U%;OLHusrFbgK4z==-#vp?K-D4As4=fE|SW*I!4e+;;gK>s2AOL{R{cU`@r0u&B+G^+Rct^6ZlptvNccf#x~JM(UDzJLvCs zrmh&77%JybcFoZS`LByF~Fo)q`9=`rA+te!<{B%52)!=M3 z#3bpFH`Z-_Nsxu8;B}`H@4p7`GY|NKa^`xLaS>%ZP3`{pMm!L{Lp=}z)G9hIYECfG zgkBk)kyoh`$%l)!S7rB6cN?>Y_>~=sg~SsSsX~6on1ygupFFzT_bwu+xJ@J4VTix( zrY`3MfBy%G->1v3wJ~*Yv>3vb#G4s=TtdiTv`3aGt5c{O#N|v&11j z2uO*m0{j}G;N9T9S%!}{nRFh@sn*$XfpK^$r`{JgI1$#uo9GrXg?}dGO3wCt&Oqg9 zJDLXSncIkC$F}mVCXV2HWfmhB{r3#B?___Vg@5AR%1mxyRRkv%6&fj+Ps20);hA;S1n;+tV$@+7pg4mqsd!cSNj;2?$xI4| z*4WFS3C0y^3&RQXsQud+GZ>=kn-h(~yB+6qsQD8_eh48vWY-GQ=9JaH-sl^fEP5g zJBC4tyNt0ZneL{n&q?nrs@F;L0Lqxg%Pq^J@@2*Xqgp1y>^jpBR^yEnt_H;a+A~+q zt&CS)W#O9^MiKoa?xl4nmfT zz967vbZaU3kHrO8UyFDpI|cTg(r?L)+A8018d$behd&%U9Pog4@p8&mhBLsNatezL z#hPGS$N)5G`FTCiDfr*J02MBcIz>A-mi~BJ?nru%J8$z87{5NnjLKXn46zG`US`hL z`a5BhIWb*tbX_T`vz>Gjuu-f-%Bjy5)Cg14iYYOG{9DRD8$C|3V~Bi6pZ^kXfDjzp zYfC|O;k8L9XzigX(4~gfj-~+UcvsWHBMA~^c8|#9$GlBC zp!0be5k1FNunh*hPi!SE+WsZ;o&H>-%cgvXq#e1-?LNo|56Glu>|^`Qm`vZD-OF}q zJ+YfC?E5<2iCo^*-1Vb4+Ur74n2}HA-MS57flVw(&ibojI?_iFSUWNKjo98W^qLeY z67^`n)7*Jb8IYh(w&5Y?M2_4ReG9dqbq*ts@M)mrZ25fLd(NHeWB{jrWcI zuvvr*wu@b%UB^9qNSjT%5czEZ$^~ce1&MXUEr4{9oxJMNpn_ygXj$QJ)Y~6c8zYN zHc;MQ?g!wCqVrzbLb~aV_x{{LJv=jVU6Slsy$h}kGuJRzpXHt%ZMFhCr-2Hl!X@0X zXo3n)kVk*2YuoxCI+{7eKZ2}<5g)?nVS^_BWJt$pLUGX5*^4^E&IHUJUP+7Omstn{v>|31}cmzQxgMj30b#TuWu60-ft<%(!;*fuM8vOO(I(dt&ol9Jax! z$6sZ@>wOk{dCSggkWZFmrKReLM3i>dFlf2&0s*3woT%l!o|LwQlQ1rPQGyjLqQVR< zIr+#ktrJ7z)k@M~6hzKfcCtdVMz@^y9+-+`ZEfntmvK%e_OgmV^vDSy%nk>ZHW`U{ zk$Yf!xw({%#NeulZC(9SVo?El;t{g+dTpu1#loMxy*_e1TDCq&yjfq$SJ8UlBJVS^ z<5BLXpUClD0J2BiJzxp$n83UJ5!mw9xNuCPEq~d{v_XP`MvdG~45my~H6mJ$b|21# zD=Gxe&zmk|;J0o`wO8VjJ7Fa0acqNUC&FGb=n<8AHviYI9<>Q!5+FUJsS@&Bsum1Q zZcI8Gl$V6cq;{3-`RVW@cOA3&#@h-pr?gvK{iymqu4LEg$*N+Aueq^Xc!oVpFMbxh z!jfLX=HOt%jMQ+O0QS-Ikl|>c8CT)#KEgF`!+me$jVb_y5;av_PNhFwL%;&Q|EZ`b zhU`kcaj^N483WCZGXsYuqi*`-jT!&tp#ZD%Nx-&b@_ z0`-DYHrGLIGsF4Z6vFAH94GvVXOqZ7i%y}PbI16}^WO>p_IzS|wQ>n8&rhPVCTVd# z-A$@3ou=4lkL290W@8Y;jd`ukta7VW#;?N+F{6)91e$*P%Ra<@Rz>7jtrqrZ-wTF` z@{3W0j5yfS6;A=cj?0o0i9??%uBsFF4!7*W1>#pA{sIbU(!GM}2`7|MJ+7^Bv*753 zk27m9{wYm0)xMEqgZhe8Gb#^x-^G?8%ecqg*XfEb(K*cbIhLNbwoV2DI*fN{4XdQrk;FLc3nwq)U_JoB)1|vj$$KEjW>s;_sZ2T<>?MJn470PL z#z|J;-ZwNY&X`G08Eya8&{%~@zWcU2s~6gzTgo8gNV7YI4$$Um2bjeVneRpp3;-r9 zQilCmeM? zB&pg~h$g0t)Y8w5R+G^M6U1FqqT6s!B$tG7pSMZ6&);-=RT#rqac7KWEEWtBZ9(ZiGN5kWF zqVpb-=%U9N)A$3&7waP2&k;*nmFvt5)ka3xs?97Ar~@@$c`6ZteEv^(At1h!{)P(g zz9@m^*te=_u(jWh|D5{h1G*p6cE=6-tviIX0a|A_W6JYMWd5gh#&x9f7N64VJYigg z>r!t<%8THvs7S;}{p4_l#AR0K(j)Yr7JDPp{%|UJ%H)vE11bzr8pK8QRVJ~Q$*1VX zFkKY}(Idp=;|XorHzjb=KwhM|MCn3nUW_6pEj5$kBLe9(Nu)$f-iFF-L-JJ@h`y5_ zhf$9g>L8ke(aCRq_^;KU znci>R18Q3X z{vj6sHwV}rASfFH^iv<_1e(#-HC8yexeb$?jROdE{S4qD3&0%5m0Hpxqbh6f-GR$2cUOya$@|xfJ<-<-~_6k z#tD=(wQ1!CXNyTYc?p;yi$;)_`SKH#hhA^*=!m9g{Pg%}#OMgnz|p1=$-n@}BWS}0 z084;zdJfnK@;S#OFfS{?N!2&>wjqpkzT%4GkS&~kTa7$JTt`30PXG?b-lOmwn ztLfrb+=(Qxgn9a!S~sr?_Q$UW9=vzD|9i*I*YgJv;_$VkAw4)aF|Z-MfPHihOAoXj z97xGHNo})pGY!BbCdC&cV=XXy`*VtCQsCL-*cQw;#Re=6Q58I`%lXySR}We>t^qp@ z6sG>CKzy0MzZ18iv7o3hF%Wom4mRph+*^@AHE(F6&9mX#yUis=HYcY0hmbn1plAu- zTCJVC!Gb$LYt#Q;(RZUWJnlPQ9e4|1)5^-q3&#r}4;tXqSbyMM9EjG|bT?P(nSaoh z_w|E|n-jQldmZ3Cu+q==C(f(S1W&*(vx0ke=Vd42hm^#{#gBBfA65^p5sZ`Q3;9b1 zrtv*;=XwYA5R^gB6Pw=!U<2Rx=ZncBlR=tX-1EkF@~6{4#a&&U)!lozNAtTzQK)|m zdUs-S3|8-W*95q>!O;%TZHMpkhke>tZkK=ShfJQh4Z&u-(vsj@p~a` zWG7MZ=VhG%;F~=#Vqt>^81V5Ys)rDpJ#%OS{^RF_^mXCrXXo+<@#x3-^T$?{>H7KE z_x$XK>GfwWlhg0A>!;Z*)6})4WlP@0V*_F2$Fdyy(=tEVKZU?G^rs@(mDzIx(O&$b zh11mJ#6bVxT^bH(!mraW#e#qxI*j6d}*WdQFGLdg**@Y~IGyK{B*JNDZ8iRN;9 z8|`)@`Kt`5+j{xuIN7DquKv>yl(W?xz@)m`WLv@(`BrQbK=-*ty9vbOi*p}91x=j1 zg&n>7U`sFvzemzE7*>~#e4$aheKD+dTZy0{B#hvc^0gD>#Pw*vx%5F~_aIeJ^{I_79ulY`b z#t-z4Mavs{H|v+}K?~L8Pq3{q$7i5zf7&S^y&8k@k#H+&C=q# zx1rwpd*k@+D|&bG-dhdW&b`M^_>bcc+I4lct=wU5B<5bX~_s7iCF75$m>j#c};8=bqwZSd-$JyO|Z zpZEJN2KdWNKE7@mfuQEuU}$LRbcCvUC{gaqhg%qmObK8E3%BC&fVF$>1#|~=?z(%d!;lVB1jqK{sISv&Ibmynyslvti0s@B+nxpkd>+u8^vk~B4H2DrWX=`=iU{7O2Ge>=J)CA5WC(D?H@8thE zu>~%BNf^^nlTy@fTgKeFc9`uTJ&+d4Q06Y@c1^QICy7JdX;K0hPWx4wnG~;^=AIRIg~VH|L~D|Y5URe)9d!(1X)*+dD;K}|SYaHTL33;& zL@Ul-R{t=~?%K;_Z`y%cF??x)_0YZ%4 zU<1eSDh9f%yHtub&UwzE{l5HQvJjsvVSi7<9$^F2WL-Cqvj=TfH3jE5SZgK_VFmHu zO0*{fnntnI82we&zNfeeIf)g7%JSbC&c9kWL{hcv7G7!P`>5Kd1%cRC-Cobx-biii z4^w>k*N6}y`Cf;ZXYdzQbil>pomi;c!ZneRX!_{zGn6<&59s18TIa8hdJ5B^Dg?^R zOG*>L^a5Y@>7#B^)Z*jj!!J^dVYQIk7faWJp|bh4X?q#^}JLLuB%bDqNFr$eJ&L z@7r@p9ofkH>b6m*h*dKx(%jfn(NA)*1=(;O9TW6{HTJQW&jGFo1Y2S$z(gqY(AL=s zYM0BjdiT<6C<9MHEwNfHUK5tX$dD+=s^c_A_ppvw*gG03Z_Xc=&L@%$UCGFZ7%$YtP_ z@XqaE_KV`$^fpxIt7gE>%~0FoDlnUY*_JV8b`Hv| zk1oehJm2Dcx=oFtsm$Hp4teuq@=*>WGKbN%9e=fQwx6M1en>}>$3t8YT3?A03NyjO zv+?Ipm?D5trHVM&*$$@}7Fva14sEM(9A2h+ z<^nni&372BfPWO_fInnzUZlBufm}_Xek~x{xuMZ^W$=7_@P6k=Brgn$q8vNJU+H!u zPl@y?Q+EeY6$lC}5`x?;ZyRlu+(nhVzCO;;qKSZ(a*p6{!Fj8JhcB&)8e8Zxlh~;A z!42^tAvT8(a4NLpqkIH!avfRi7@b2UjSvyE=g}%Cav@&)K~T-EmxDSg1z1E;Am#1N z$7n>3HTLry&4!XkAnfLoYSZSyOS_^-0FwbLhJ2+rbh>Y#qQ_RpZ5cSD-O$uVVd5YC z^G*x+{scI>e~AvVcP{)JUaG{Q_X3dF42;@(z86+GXjGTRg+u`XZcvyc0?iFkX)|h; zyI$jN6?9(6prw{&tb8xNby|km+sHdPC+`?{Q7mk92Y$Uc*8Z?2psjzw zp3127?pCtpK$P_^M*A=u4AqiPuc%w0@h);%a;vsn-~gy&nL9Hi3G}D#N!qz;n6Lej zHlL4GRBT^f(A`&E)-$~mWYuIPuX-pF$4G7W`>5SFotdT<6CY~>h`r7PWhW2I3eodt zX#gWry3unGb`$aj>Q0m;1#oNWezCGB2crkrai|36E+o#MX%kt!%cRIc`Qnu7kExZA z+wF@IHbOY8m+OXlSr8YY`A3A(c$50aa1p06X$0YvBUQz}sEz0CkOc;dWoL5bHN|@3 zLC9?vc??(9o;gzsVYqN9opelrytgcZ*0Dwrznm@uhB`2qmE%s_9-l^(;!&0CAm()= znZJBxK&H6%d{UFmN?Dkw@`;mip^$WDXYl zvpkO8K;U)I`yf5gur`XSf0F z-4GC)Sjl9vL|{hzBH|LVb57sFeAHBwxWY}?T2#9djs#y?`1?|%x5t=%BtIzdx5LfJ zQ9xF_T6eCcE3R>ZQi9bK#s~Yq{sm{Z9W98^AH4l+Ah@*zAu-mr@cp%y2-0l}GJb~( z;1@a3`T5?MVxhajD@N0xo$vRq95yx{5rfxQvr>odwa^&ieTK$Efk=*8aUBfy2NrM` zYrt&r0w39_Hi1-*-?mj3FH~4Z)%jNtELIUBnI!`>8@Tp8Q*U66Q1hhT1!;?RTd{BP z`eqdI?IBESb!1>E-3B_C;M5j|<2A31$wzcIYFoBTfiJfN?Puc)#sWF@jW|1#k&s0} zk9_&MauYJ!F2bIZQ((FTk*7uW!MX?t@Y8cP3hkKgPUem}QSFBv(c1(vbN2W)=z5BQ#YGcC)VEM5 zPZ8xgRe1x*Ey_uB`-jhiG86VbK1zNobN4!~5${Es>e>R<<%XRjw}qzj4Tr_qPxHc) z&B|`~&I=-xqBNba&yl7*<1Z?$^1kWH(!7E}%|W&bW?R&cy(x5 zaaoy}iJ(+W`z9t1t(B^3>iXs2Bf$ob8U6k8M4Z)9)B(i(cOtO`;Jg2~jq_{eq*j63~M_y|DUP7BC%G^*)r7pJAV$SRSjQ3btEe zSR$rN^yl-tYj|hPX+>(cKHqa!&lzYgU{tY^VNm<&dnMndWVtghfqZidTXnU!JyI5C ztCWfn1R)O@me~Eyl-XM)IRImDswP;~m&Vu|)pBx8s|E>(kE6qDw52vvnl)I%R-}7# z$PqSbCEX8Or^`sNu}KfuMJ*+YDy}G**!@0p;Ya6@60;jXawn3HTVY@dUx3E-X?1$= zOdGwAwvsNW7Ng4~8E$>r>X3BWMb)?x;HrQYbHgXs+Qk9;hn4hcB;AK z`;J142rF)yIU6NWW~;$A!K`BRzp-hPe>RUbsw`YA)?sBE6klX9(G1Q zyO&-ygWz)4)^>%yy(m>uS$)9u#7_ett;?H+{~drN*n>?!w;hMH0L`sxa5VnJdfB!ML=|gaq^ip&{nf4TJns} z#HQ7m(4C7gL|TA?M1HIk@M)vXC7$Fh``TxoXVh#DXLmjY&gv2M(`k@yM0m#J>tNex zOJ&YxFB+EX+QaJg5)jXb*d9#KOktfiC~_2@^&W#qj4Dji8F-ku++`zHK7I+)tetEvey%>3eu>8`GC}e7o35z48B|N+}tNl${x<;ojngtA5RA-XwCk;K>`P4M^2o1)id5@9JcUW*6y$_;BjM z8Hsy_94fH1J+!+>r>~HHB@;18szVZ;Y5;NIHx-KhniwOV*WQkFGe`OC@DU8s>kdk^ zW7dwrOK6{eAzS_PVwlG<)pw&p*MdO@J*lI>d$wDp0bjCn_Vs*Y@<0}95X+MFOg#2_ zZD^Tu$SClF6Yb4E&3-;$LhKG?G>O#oOaZk!=&6k&rf=bM$-uddG~$eMjF0Sdx3Piw z9`0GSK_6QZ$~eJYggdM5Y&{QMVK2pQ-~re~rF}-nu0-Hk&cb5+2K51)x0HSga_Rc+ z;jrg{`MQ*J*L&9W7atHOsFJ?~-uY)SHt4h+#=I)j88ufm!08|yQ9_a|Hsb^QAd2&JdwE_0!a>1~4)=L>eps`JM&gKwViYfHlSftNt zDGrH$B&g&U#t?15wJMQxw-ReTT6uQl%Y9&Qsy0U_k^My*DXI^9jwYX8oUE%}ufbZa znKQZCL(mts0P&iCO3I_?lW8!b3>G_w@W=HB3f<1yP7X8i zeMTc4OCg$09lU{N^}0iOmTb-@rj$M6Wg*@@Y^5=oty}SvT>H<{1`*?<-IcOQj>YbH zpTmZ#n0sePK1vHSls2`{OnxF7xP9_n3_(#<#TDD>$;-n#vlMmt38`qyHdOMtBn%0! zMcgb7!lIDJ04|$TLRh&`6T?D~nL7Dl4XoRK4457B9uO~Nt{Y&9s0-!tYD^D~_Grw! z9={5~n#64u8^%U6?kB-rL^>)XI&5`n%^xM$0|z1Xp7*kHc^4N=r-j>k^otBOc4|;u zN(8=1ag&wjenKq4ykt1X{>MC>e?6fTJI`(i>jZ?}02Q;M7wdQ1IEXizRprNVyIOvc zFg-&MOWKmb!J=4uE5VO+(nWhjj?MXtbvBcyQO=otFOjBCScDu6>2M+S4b)kTT6D<=2mGIOg$P5yBjGsa zoh85GP(T;XcPC5%mP(0cb?%~LQC?a>?FT4IN5_%(SI!&*SX-nA6u!-lYc{eGQ+E79;s!)Y+ra~$o*@>u9;pMVQ&pFSw#i;qcu*RExjyOZpr55Tz5 z>MtLSRE!YZj!y1A>A|}{$~0&Oml{b1W+cP-oXHGh>{CUq*;93q49$ZTCb{3R0*$$m zWjVE>&(+gT*MD`%;Q|0kUlT&+ zn!O?AUCjjs{Wq+=ak$Vbx+dU@N{9*z+^Ka_q*v6tS5_FP#ij3vT%zP@3}~M#JWsuj z@?~No+oe!zFU~ya5a0367U`? z|CjZq?sd>TArW*8qgXv^v(9ikcesx@)Hp*?-ph1hjb725{9h^$M^`;LT-9qEqQ+nZ<%13ww?W^9{H`YUbXdFw8Hdf)=V;hRN{#tv;Xn*SG0 z{v6^gNOog+KQutDsDK`=FMgIVpHWZ7Su2flmR#51!Fr{M$5)`A@vuBFP&X^@&d%2E}w_j$Lv>-jE64VQz zVE29~#~ymVi%ZFC+ebXc|xSklcMa!o8>`L%Lwn8<-EaQ zm>Wbcw?Uol^$*9SiM-6l`$i$PUpqFu`C}4#H^~>&8~u+doKxz3&aNb}(QPmC499e$ z2?v3{&E%}#=3rK8J7&H9vf$)X0JrzW*Zf zM~fbp5y8y;qo&mEs(c?sPDaP-5c2_~Y55Bl4u5F`&ToarW zR{bOOm616Q_#t2=(zY}R@8uzyvT8=U*Xm4r*jw*%LuN$3WL%y_%+;;;Z&pHb0~V!2 z&%;>LwO>tV5cO{P_Jh_*+)`Dr74LqtGt5&HSKXwy8CPx5n@ZF2UQ}0!{Av-B3LJyF z-YFhK`Q~~At$6Oy#&3Zyj6|CR$st9n1GSB+QL8E_G6NJvyX&`u-nPm=5svqOqK;;} zpKg`$ijuIV*N9_CK(X3lz!tcm?WDDOwQ4KVq)rP*5m8vx&_WvvOws-lui?vH0VLKy zoEF2iaZQO=Z0Qe`q;>xu0Jh5P$T|dWN^RLudzL3CN|q=UP~o3HQhtTV_CU}DyfhDx zhz*?uh-vxeMa~s(H0$EZR`b>&^0ro-M)J(9f+9_ywGNha_?{#iwS@a9QUI!M8Jy~= zxgPXlK}41!P{1L7VGu5zZ|JSa|Lk7retBTGrwv7XE4blN7pVGs#XUS`WUK3L0e`4T zoSzrWl3(?=9#YGK*CDYea8FaSC2)@aKb)OYjAl`|V9T~`>n~TAZQHhO8(rwKZQHKu zvTfV8rteK==H6r`lgz_Oc5+^J_R~4p-&%`UgQIBlT~jkSNb#MK&va(MDb6QU{5y;t z0I#Xxrs$EDr4CfOwwNZ4SM(@#X+_P$Em;cG3YkWL8MJ=gw;HVsDlkWT(Q86iu^`=Q zd*rYpG=K#9rZ-X32xB)VU~5u*+XYW9M;auBUjNgM%UOO{k9Blvj`_uMIU(wxxFNoC zrenl?)rT3irK2o0Rro~vBA2@wU8naWL!c-+<3{-;ruybsq#p<>DZ_pRmd#5Dm;!ZB z2jtSn*g$}Cf(vJuQ-ruKi~LS-zvxvQFW00sTW9r&+>p{a7I=VbAO|Zf(xt^cNSX1i zR8ZGz#*z9mow0$8{*(CGmf6xYHO)ieUf8FB$`?q@gDwl z@Lk6FlclXqQWb}DK*_>Sf4OtTbz80Y}n8h*Z7+^?ic3-dA9I* zW`f}*YpoAprIR*dMyge9Z{x3;bocKMeyJd|ikOzyXIMwEq}tMs2%o)mbLjlbQY`e{ z-Fm4AQRG@;j7H4rI7F% zL_~ph4p?V6R9M7VE74 z&~0XoIer(DE_tosMS*W#t)%%$i??qrF^yfaLuT>VZ33;GY+#YYCKi?J9<-bW48Zql zU9Lkisj&7#W&5OFU#$6kEy?GMCBDoK@GLrYX@;YxSYX=#9%?7cB+Iwyy_oxm|F_x+ zl_(l6-;Kg^xd|#j%*z(yEh8Ft&hco4Ikm;Z`&h$ zcn^_4sm9w8Z;Ku3>pyXewqw6rCs5SFVZ|*#Qp(t1ZysGd5Et)gf8_63KV@DXFXmLh zxb|-qe)IHedkVKMu2uhRO^3!+Wg6&rIRv(+G2Ws| z)!pMDr&Lf+bRb20P=ux`BzKLzm91{vfrp%h< zOqeHE^T8{QDjof4`Tt)?k$<_{3(&oWy5r6H@w0KjFl8Or#~6a> z>5Z4b8>lkct>#hwXvqZt(aHAx@C04^rw8g7xkh2{#YA-pxSb~-w;4O%&aOXA{ZJ3K zLl@>Pw%xm1lw}EuB?=m+5KiK0juE93Rxl<^eTafp3Bn>E@{wZy9PEfVfGX6)Edq6( zEn|h-1V)NW%r(0SmC#2rEdI?Dq!qe0T^!5sa(reN4FPXAe_xFX%oit3F}&`8u#y+5 z7K#oqzK%^FCu|p;dwx`MNrX#8)GdhD~40opE_?{iCZF^ED zpQ4g^j);m#_Uth#v<#vS=B^*(;sLZT%Vs_W>1E;~oJ4r{eZCh!CZ5~4P#HIJ+QN-q zN5dy|ap%?5d}R#Ktt{mJnjrA?noFp7+2CtWaVZvxREV*Lp*iIIxdwgzR%@$qsKK}s zV|6UdHubl;%~nA!@>T~*sgg9>>xcy=W(lWvdcuD39K2zB$@O+3^YaW%g=A1;J$>j9 z_)U$oMK>`2jM#_ha#`wB^(0Z25$q;N$P0bO@2{GFuuR$ixPtobLsrbnW&SHFiOp?8 z)5R_cIh;uc)uM-+#;d}j=GV*%X)WeBL9G#aGVmCwx#Kl`^Tfl(O)htOYm~K=(vl#Tj%!I* z40>exAD>nNhXF~QHj~JR>4ePOV5e)go_`s^zAP+X!l?x|oT(A1IDu=(4N|nNbX^Cf zHb6ucJ=sEg;1mrD-2=cn*~56UMMb(1-YTAekGPfLHQ?DS^B3k3`;W+1r=O$QVUsx` z(YoB&XGghcQGefPY{!fG(619iw~{+{kbWF$qp7-3y-JeCc}}N^&QUfs+^KuCA{{-? zlS`9AHa>iLoVBK1#M6*O6DSR3$B9@vL{kmOyhtIZ85WzT7AAxI1t0ItC$U5%+_T+w z|Ex;7!sovzuV%C?h(mm`J@2VGqo?BWB4{qduH?$4aK<(rpiMUi@io#a$f(w2+2Ooz zsiUhJCSdr;5e10_%d|*o!@(L*Nh9SGSwGB&+H0AjDOZqA$DlZHu3zAA^{Ot=d`@ck zh^Bcnx`7#XTs~Xbib!>C&fw!ejr%i>N$7ylT6S8QO~cESUOFuO3ZuS-5O;peJu~Jao|$wPF4~*ex!fjqk;8v_Y9hVg35cfI9f`58UhUhebHBJ344+pj@Sb}&{6qr46yxk$rN zwes&%t!8nty1Ta7h@V;xlM8PJ+ZZn{*ij#PQQ~z#XZWr&KmH zlNd23d2&Azcw_6N7nv(=6jAgQ|j>!LnI-^K5_w+jB#>kc|aHv0t5SzQr@ex4!lq7d^zLo>K zIyrK%#QM>*tFAb6CVvtENfTp9sT4t-0N4huSEJ6Ss|MSOYOvT0x};KQD&8#JC5Fal zr=1wR=gz+~I|h`Sz^j*(5w!fl+&=_g>gX%hJWef(EzB{ zA@JMk?QFpSG&RWDjI{4hbQFcXQ?lYYvYGNSgwM-L)R4rmQAw_W)<{@pZ6h}Uw>WL| zSp3)AW_On1Dqjz;NnNWza!ra#Wd0^ve}n;d_Cky9VK2wO7iy>xks6tg)A5FEInU;z z?_TtRbD73sHND}qe}nrgn!2F+mfLG~0{bfv%iP^FVG?Yaxbq3IIbIj4txa@y)e&4Qdm@;amVAPCMGMLe#{nZ(9tI?7#wqaUKwHe zHHd<@bagNl9D{mJ>D+JX75Eb`)NGk)Kt&v8IOw=o8RgZsth5#5;$9%gMoa~uc8Fx!*xtr6T6Noua&(i6C2I?nl&C@#cKdOKj78>VII*Ravs0) zz&V29ODU;s#TVjDKvlN~Lk(rV^cB&~W^ed}=gyMf>#s0HQf>`wQ;bNtEBM1yQ(HYm&k#JNR0b&_RUur&|&Q6!v|;p#2?r` zj<|S{Ii@ijFTqA)5*acxyP$h(kEA~1OOAuV0U$HOD#cVZn$ZowqV)JxDw0zq8xyi_ zIx8KQpHO|_fj*@#sL05LGK1q@V>fEQT>Y3mvqzIe@ZCTtOA7=d$dJX0F52hEvX@I< zv@gG4maDI+U2&-ab%K-gY*Amx=?t}%_+}JCwOHwL+)RhdYMnb^4DSgiaVnfm6}TAb zp`E0jj5g7&EV;Q@y*?i;#+$&o$tTsQ0;QJgO-*^I9V$Ww-96~{M+p{IVmRWD#Nh^XD2b6GjVS-%p@Z^JtV-bD{Y4Md|4SgLrsid1DJMG4)Rjn?dIHV1E>G(dS zIF3}Sc~0u!GJ`W?x}uyWR%eXqgarY(xFgsmJUj(5D*FEC&_2J@#*;n;zmV=aSL7;M zVfIUbVUK8WfEOfq$nuZvHOSm}6LYQ!C@aj=?9~@< zO!3N4hKfu|DMIT~8GBzDvvC6cEXTuW4i$8!; zS+(G$jhG*AlrqCRHLR-nC4vl@nu5SSEi$IRohWp^moS|yUSK?YFJ>p#l;KB^Qj9Ic zB<`W4_~|;@)9+1THhEA(oVa&d&ss#GVG}o@^0~Cs)M7$urT^=G zFp6#bX|*Z0p4+ayiPUhR4>IJ8SH|_vpWFZ|>vLExl!Xy$3=@gc)G=t`UHYlmJD9{j zG`qm>3IKVxB4BGpe&bXO6XUkDU9Y!8==^k>?ZMdNC*2Wci^;_g%mtQ4s?we9vcLlf z&^4S0Bk$Axs7L5G?h_w5E~i;&jR~i zGE>yrAZH4V*^qmIH{8Kuq;^a?fhhpz+BcL6 zkXrHF$3@&p8j8C?iMSnZx5Gh)@e;H+y4@^(|8@N*T!93}okO+u?mbGGc+%O>?8tWc zop6OqaJqrI$izp)sx$Sk-O;+C3Iyp2?5=gY=||W%AeQ9r2v3oartze5CY7p$?r>Mp zzCHx|5w7Z(^~!4jNtNId4v%pwiyC>L1C)Qx-n&?JeWNI4PagS~h+*4LDS&ZRLmxc4 zD9!fQ;A8sr0Kyuug7F54jZjNI3g!p?P{OYXc8_}2o0`MowuPXtK_O-q?d(+YcANWt z%&Wg6#iK4zczBoQ#uQj)?#8D1#AZL59LI@BO$-8_nN zvoT%Tz^fbb4M8OAh4uOOllR#ceWjoU@|*$(48B+;mAaa7K8rm{=}xq!!c6xh4%x`5 z+mou5&S-xLkUz%C!{}2-tZ+$hBt6#$+yk{S^3xXAnrz8B%_VnZmpHvpD6BDED)O z^~VLFF_S=yGN&L`td_1&&z?lbL#FnNFxk(n z$2lYa{dtPdpXfr5bh@t1yGAxQP)EC#DlYQVHG&_rS3QB{2I!;K(GfjYh#QjJcJ@NV zwBE_jY^yVO#6le>q1TAA;v}AV?h-ECd4OSgGb89dI?(Vr;Uu99^#F$y&NHtzQ`U=B?+Sc~6ze=Hn9v?aiN4yFbcDpTVyFKDn!%=njbzoj$kU-7d_&v)oj;Tm!&bnkOa7|_pPKEkBy0SJ2wGFc3`Peb0A5EKJ1GYxfVWc znJfCjLkV?(lDs}R<=rQjS4uu8z}-8 z6BgLYhb5-7*4FD-21I_5s&=V*W1UK?f;d1JPVQ@oQZ7H0`o`~kWl!~ZU>Ce@>v|dW zrksTw-4DxdLS^*U=`dAC?-u?~7Rn6P1NA@k0=!wl%VzhdmQCd=Zs)nXV4y_5m_K8X zM)~dwdfE(nK?w5YUtTjfv+!ou8kQ12ClKrP;w3}pp`m6+c2l2usWlhBn=W2l@ZDFA z$ExRK#_WXN*y)@`=ej~iDmZ1X5Q@m_d+`L ztg*SxwZo~&g~*hVu%OWX2agFBy)35&^T2NC}YIUwdlAS|31u&&%T zY(_(~FLk^BOV?jY%lIq_-{bYHMA`ab@7H}$?U(N-U=RCN6)KIKO7h)YtRW495SAOb z*p`@;9`gJ|;-j1|-DU=+jqhaPD)^y=yaHtciyx=aL`25B$vWP{e^Tk?(a_-(203HB zH&S2c;>}&=>M~#Qj-7BLrWc3aP3#>@39;CJF}T})2Yg+TD8S@dg}o*+MMe+O@9W-+ zFQvv0i7U$R?&k4EKtL*5#WuT04xLUknBo&xSQ|j!xw4^0H?L<;VYNLizdD5a+S7`m z?@?drr~+^vpgd`)u=>k>akv3pd-HgR$clY6U{s~D$QO5BR;(!O{$}=__*a+{XU8>! z+?rmjTVTLCzpJDx7M>co%tzW)ZTFExB=nzv8I!)94;zT?6=1ImflM#2ob( z`p)6WVP$0by6~-ZP78CvPdpXP?|O_~#pI;*N6kDss%Y=4g|y|t@J#BNgY%f?8TLcD zx-}-<{1l=md?&|U3T{bvcTQBs!kd+P){Imvr9XtbXWxY9`| zNA3|){nVT(lP);TRkl1r$nPlM=!(dd`fC;Lo~~N3{Qi{Pe6=R&Nl{qHyC1*g2h47I z+;RbIJznFh%WP0K>fbz0X?ZM|ZKO9u^RuWqa=d;?fIWdld;q$D$QYwBi9Xp!4x7_? z`e`{3yZ*KHHQ1S=fOzrp4`{0VB+mbVlVtxdpy2CI1^g$?;!~<$v;% z%q+}o|An7q6A~Q4D z_ZJi?URlx541|%Xp84O?7oS+E!L^b0Esh{wV|IRO0^M}*79JW=Sf2k7F0(lMHmHDL z0r|(R9+$TBax92Kt}YIb{YZhmv% zjda?-2c#^z9C&hbGt0%F5E5!FgG&nscOCc;E}LG)mY?L`8Yn4nIHhEo;O8JHYGq(; zEhjvFZfYu~e|9+%_|#%rUKY}!(WM25DxE8xt0N-==(_;!4@VQ*7Y7@}FQ9d1~-`SDnq`RbC0-917c?R}YF972;f9zS{Z(Tef7SIR( zt*?(q{aCuIZ$29f8@Q%sj;4pYCKkvv&Gj@8w7;gKw)ka{@6I{zkvCtaXWCd z*0FGWu|Bgqhy`>`Vf$`__j=zrvAMO@xw)BsX|8_`#oqxq2u(2>S&)I(*E7~Rx%&O&~{MbGa2YryTaJWL$ zu`n??);9pj-~*Lh4`W38gDc$CaeQfy{e$y@gX2_EJ*w6p=)$*6t(Q^2=x`hcIK zAHr*YX>@q{pX?3(Psz1(VBpQ4f?LJTpIL{m7afH!Z_6^^A6!9#SEi{FpbGxM+QGlm zCZBixpFf`9-+cE!_V+*c_di_!cuZ19Ox(=gCzbz1C~?=d);&Hq_Kh=iv-sJC5nk&F z-F{Y7wjT8_=*+E*&Wt|%o0X=+2ysbF%qgEfGomHd$)0~DVT-*2g3ARU3Rj(&c(@%hkv3(^6J74x4C zmfjQog)mTg3+8K3`wHgUFaHuGyj%RqLqy2<5#1!@8vG$yj?;m&z2YxuhbGp z2bawU(KkQ#KGTn=T=+v`mJ+uajRzkiYb!IA^+Rm-)B38f{IfGi$cgoH_tSrPFx>Q& zIHK=s&iV%VSyp|P%kUYBr^Baq5Z5mrW%d(5xR&+<>IYW$ih4~-35)3cJ8t7EZYX^6 zp76HNPwn4(ogc7+*U_otTIkQhpFHCaNIxBc=%3p!$0H_?ACaHBFAubz{BMb^@3{Aa zs;`kwlNWwh6XWmJNB@b@=lEmsM!LYC(wF`j|lWK7P1WKC{1L!?R=igd=<;KZR41gcuC|9UprSH>HbXSf{V@C4{CfUyz?r z$Io$!ZwA-jh_8Zc2mdxImE+I+etT$n{#sk{J@bs)`O7b9?Cl2j{lMxK@%savoz0bl zElgVz1jiqtr2_HV=anMlM68!%h(o@oG)GMKrg?w$=spB0TShk%y=~8fGKptBuB(Mq z%$2rH>haulei;gXIp?+bVC_ScU(eF57W8@q?s(Q^E>dC89Yn*&3%%d>Mjg_=8OZvU zeU`xTo(B?>L1YM|39?lX`X%fJou5)D^||MA#c9;Xt30hRPBCT~no5^whGSgsFGZkJ z31vXOV7H67R$F(b_*AwZWkPIe=mTerA^r3Gx=Ez3&ZADPlA+`I5b@yL00mI5Xm(oh zEefAZ{IJ$D4Q=H1uJ*KHff>+R+N<0l@3yeda3MWyXw;C&LE8X5li=~fTpv~*6A)r% zbE%Diyt2K2P+PRD_3<$UgJRyS7IRrEKMI65;kAS{$q5c5{mou;Z!?HvrKc0Evy&Qs z^%ZA{Z3{eXYfSwzNf*OA&hc(A17zrrcW&iM=O|5MR@Jn1pVj-K-?s0LZo74v(&Z*N zGC~IxCq6WGHC17Hq7UnL3qp)6WJ^ltAQYHdX`Gffnz^dZ6J_w=(l_pg=68r1PU>W1 zX(p~;Vz}(QOC(w+vK4H6vg2nuh8Q}Qkr$aRiMid}yhW%C{tRe&-lKdXPX8Lho${>hsF(bj(DHT8?moBf)FMXY(!N z;dMLMn=|aNa3yl$2>rqx6O2CFMw{!$Wva!M&-#Mp@NOt=7zTaYAxOs+01b2luCn*7 z8s>tyW^dHQtCV3FhBJ&&g#%3W7%wdqiP*n#vF;BJJ*Sv8c7SS+y_9H$wp>4FX0UKw@oU;dMT7$hAt>I zHmCO*UH1Aki*undb!F&Wj3x+1?*gfIOhe1Ig&I`f=;xkHSQI?T7*G`PEpa+B5AY~i zpr`uLV*Sx}MI)y05#^kjhC*DjMS-m7G~y^MMfq2;r;lp7=4B#BwqKLSl<0|CmhT~D zO3+Pt+J*%w)#9(b#=QfYXd)Jby|xN#mVI&87yXU2#H^tb&=aj?STJNW*w6YjM+lgU zp{FD;rPId5#@Y{QJjUSsr-q2!!hVaisjX{74X=kaEa`hEZB1`5+E&*dN3UR8AwQH>qEoL$P&+}ope~NTQ$I)~9 zB-&!!6!f)|IjtE~?)u*bElK)4Zg|OU?mnvbI%Z~mQrpJ4KaX);=L4oa%UTKxSgIR70nXD&VnqJqkEh24W$f6lK|DKT-g@)oWdp(JMp%uTTm4fb< zH@9$XCxVqaq3*iR^k|F+H@aWJf+eGYj41I6t;Cm*-rtDerb)Q7amFwxdcmQtcEuA5Y$W1%Z#2ih1nM1atKt8mSYcHRBG z+ly8(%F3Tv1ct;A`axG|CrN{?-jB)LI1CxA{(h{yK=U5fU|s4m?W-*bW8RX}XT$?p zhsl#CJ^?a+>_5sCNw5IoO>D|`d=OAzAQ&IHg*HTl299%A3>qk_^zBV6>ZJ!7=Q!&c zyt3g5MB>WYzg9>bg3FgaBf@Cu8E>U2A+&ZJ`3Kt?rmJiDH6+c7Q6)Lt`$(?6MzL^z zgIkL8(IdQRcX-0@!y#dYu*%wDLL0K+EtE?GMrcPQ8QGSgz6EnmAwK?Y+xsnrv9cvn zKvv}T2ni^&{F2_&{`D8o8;Uy57QNcevD{22`EMXJdQzayyf?5%EIwX&Wr$m_Kq5vh%m^Wwx96!O?f zX)L{*PiESRq3Q4!M&cc@y_}>btzc@kjhOy0@>XM(1WRukzE(@~L!S!t#cJ`;qD(t{ z+1R>Du)p+-rmp}KnVXRP8>8BNB;H;RKUTxHLhEMJ2)$hz7KKfl;m&5W@-q`c05AMn za=5R6euq@#-JEY42E|*{KxL zI0oY*W2c&DQTikG@o980%9Fluvi+A&#VIr~pSfN7#&V0`^#i&JtlwR^yZ^tONm@zbe4rT?B5TIUZfnlu}qM+f#424Y^ z^E#76jH=v9ZcC)i4>35mZxnZNWb$%!Cvi>iOt9$rW`NJTa3|HgQ#P{jAZtywY+Ot7 zc5rZkAdecnU22ryXc+Vn0&RINR(#a?z+{bL4op?J$BhpXW#A%to9icg%lOlIjK#p? zx1%KmW&N&i)fb0^u5fHStOiv;t~{mvIA!coK}w}bu#rb6<>1;jm{6v(b8tL0kMH$9 zsF|`KtiOa#oIA;QvbJV1l9;4l#j3gEhtbfy2w3WYW+;X+q_oEgm`hlw_xdPGfIK%Y zeH%O-ik#xgTg=63&d4Mp5DjbwgSeg~AJGUlqrR!ZC_HXeh|>n2mKTaoEAteQY!=-$ zq+i4i@?Akka?8+SyCGkpB9ux;6v`ZbIab=fe^N05Lrsp4j8pvS6|8$<9h(-0EBpOk zX>Sf$pXy0O$~5DhpysdQ!hP>js{J%CoyNNCI=OiawA>WJ-n?}j_gUeTBBP>->Y1$vK}PG7 zm;S`A9#d23Qj~L zv?Qrc4l-x@xJlZ*pG~8_`8ymI2TlK#VW<&OE1EA^zs2EoOoA7bfwkJkQwvNi8i4Gg z%O?h#Z}xWvrJk*>>Q6cFeaFAlC}lHjtC_KDZVR&37Mi=`aJi11B0XDF$38LrQHecj zhtRu}@|6`&V&z>^YWofPc!-Kt3brzkY>lG`P|TrsiQ?JcR6dc<-`DIc2Px@qIwQk1 z>+)U4>^)4F<#(4E&CClvz~kQP9h4LfL3^U#@3WV`6XY@jXIibXgh!%RHm(#=m#tne z7(R|W{UmGO6s1o_`I2nd$5Q;?I z8$JU48*e@NPnbxoJ4h7c)PaTPMwGUm6eP241n;nsBYvbFCDXm5ddjQ?aA91{vQB?& z0<7_)X;DE(7#6I$4RO*vOTRW03k8u4C9Cyh9LmYCf;E(ZbAUd(zU#=FL;}C*VJ$Od zn$SHsU~I~7oCcNDaZV`st!Izr$aW3Rq);ys6y=6>X((n#nXpsjrqn>0!Q`tpOxY{< zHsaAxR>{(qMpdE`5CGutKr+(cHK3nVpv z-Y5#}ap9{wT!=g_w+4Dj2AF-G3>WpHXL9_u<%U9z0Q^?-`b;CZs0`}4mVfs@T0!01 zs^5zdCnO#d8fo>-G50gCZ<#_tFQhdq~E8tI_O4@^!!^G&B+wc%;#i-ckt%0qaZ@E}&`|H2H) z~tC4cclC4@6y@pG=D#N+d#hdVIy*U z_UL@sIWT>6>jJrpQiIbXD$dr^Ge#X7s5&Og!E<1ECot*DXD(y`Lb!OO84on-wiKrY zi8&L=2D(iypw4*v&NSk@Nbe-3QQhdTUY937epk%v2-W)6)%Uk9>)t_0&FGtbtbib> z?UWoRnnj#?kcYkBh*9~hs?bQv0dDYR@W;lW* z1#1ztbMmEO@v^a=iBYx zFmm|rokZj+jMn!OuDTxkx8c}1N_EIMOi997AA$X$?5X#CQlIzV`^||+W3oe3ls}oV z+H{rmd3}zzlMyn|W_`k}-409O%c~1m`eLgHQI12V1oYriZnT1_pM1pTyL+ULItig{ z6auzcbr5eC6yyil&eF%IOsTgT>Q(TkRD(D?Shpz-IE|Kb5GK#cII8jF6cuFU!P2)3s8GF7t42dG(CmQOp|bFB>F#4;2)O zPTzJIF%yfX1=9v)BpMZp+h?ffi}(A4B`$y#cBYIuGGZ*bLKFooCn}hh|1Mq02p#>%$7+TIckkl= zon#Ymio@k}NoTc50#?~NALtq-A{rDxWw0&k!x=NnO2y6iXBo3*i>!%C*P)F|=pcyl zn`hjCmp6Jvm}Qle)?J^?$MKKlVxkHOWpJX^sVP{}SkiiHrYbx{%YHk32C7aY#UuT& z#|W(}Hxg8yj+zo*GU-(?%|FxXQFtNhu1)M;-zy$0xOG}xC+WkM94DpC*e_=}B#zCZF0{8c6Nfpby{Cv`Ucu#K zr67Ch2P|#Xx)iXC`o1wr*1Ni>2%oR20G?y1fs1g?c_OmDsg*_~voyvy-u=+;M>39W zhG>xN%!QHpQJz>cnw0w` zIpB_S>eVl4XV}ls3vQWRPO4TvktoptX!>(jFfEco;q-VI&XIB8?>b5uc=7MwVU8MC zfy&a|R|?+a{jQhFV=s?s-9q_+7&@s_w+JGgH7)(&{+ z`{iT?e0%G~`A(Ne`R>E$4%*js_E`B5J>xqosK`nkW6z{S0oQZ+%i8f|gn?z9>>i`C z*y-(NE$F=a%Cq!gQbH>s5X3X=?ot+z8KGJ5Mhavpw9g%_{|2S=jm(RBbJ2!0?-hw- zN{{iq?!l}+fS5;Pb6-=5%v^CF5Q}Vdta;G7=b z%6aDl)Q`DDpT=Xwbtadq63iNh9jrQw$efF&T&6wXH%^KWO1A5YBN9||UmF7INGH-I zbhixrPIgd`I($(1v3Fz!khVA8>>!}TF(!P9*TRI~!^k<@Fh>U?^}Ve_tuxah5cCB% zMKnR?f~VJyWBDRRDzBh^?No>SiW?o|tpDh!Nxfd=8&9lEr8!~iqfdG52KU7vv#4nN>YBZ%;&z1oOxK(zf7{S`-@P5=X#Ga_0sC3F zO$@w)=pf|PPjM^2U4pDApb;2xChk>>DnMN(GTP%DA!^Wp3t*EGff_OMvrfiX+5w2{ zvIl*!iXr`#$2?QJ*3#wf8Do7bC}}ibZ5l|a4C+VuCq8t0VCboY{q|0r8kt^f6|k|fRGy0DX1B}UHv zc1kWY6qhEqgKB;IB>>bZ@NQpVJE^52PZ!O(9eW_8!{-?$Y~}Hl5lEp!E`4 zY8s0?CJ%(fZ5+?vxotW9Gp@Xj=KbI&kQp*dr`nGSzL2Ih_s=TB8PYuxSS z47|b2LIms2sWJA(@#jtNfJ7w~kuEOn8VVi!q0&gBxrr90UmF1-xeK=rjutz^Mzgl` zp>+*QH8@I9{M?2YQR;l1X!lcOg?w?!fEVhY=Vwodx~F@4z)*o}0?20YPfv&LvK*%K zfnSc})t2SrH8QFy7e9-AzZbLbO8iwL=e1)9FG(%lEG$}rvNg%kJv5f$I%I=w1&nwi zSHKH^$Ik_`gFW1RsK8sg>*|^M`lJqMqF+FEEw8rmQR{!I#-2JkF{@?4@MR*w3m!}5 ztTRMU_@}$+Ac|_!@<#xIp`;^QW8Nhisge@9mivIHpLpPi{Q|(cPZ=Xr;lNQXvo#FO z$HF`7y{ByTR(rd28C?LCr%>y0^cVR7b$TjfZx(_K$W0ag6y(h2x+F@(6vy)7 zE1;Gd>zE%hb*yLnld#n z1hn#hdr?U3Thw9zLzGM(f` zBMQ$WM7>Ed+&~Y2rP$+5vJF9sqztFwfm9^}YAt=yhJLX;YN9IU$?8VM>YZd_r)ud~ z3>=Z&xxvTIH8HbZ%*LGaL*K2nN&{>-&scPrulLL}=cQRiJzM6T;S=rTylWFhOMu>Y zG&wjnvYXCMI|#KEI2U)aNc!gn^|CJd1*s;3!-N;Iy3Pt0Cx=KVXc^SQ%inrQS)CoA z#tDYijX|3<=H_t`y<(2{SL{Or=!GO(zN7lDzJ-G87Zf5rnE~F&UYmrCA~ic7S#w z-bs9|6^=(l$%L_gNgA72L77nRXhvcByja>C=ASzZ@4~o~x6{pmMdpMiOx%AI)A?8AYYrOHtl!UN46Cb$emXq08#+AXVT>E%%K5lN zMYFtW&&p>Y3}~zJ_f*2owVB@HJgja!MM{N}BZ6Bj?t=-oew=riJ6mv2XZs8(=)q@^ zH)5$(!9giT##h5`0SjWjSpZIMQx(=9bbgo6PJ3*Z{Var@-?Tq<8~ z{vIH#PVji8usx+Au|G=jx3v?|6No{!R{R{-A5N$#n;t_V>qZu21?lGV(Of;8L%rd0 zKV|2ll{wFxJ~!YPpB2W zd(p|+bKh@eEnyj>mNj$}L$BnOc+rDjD{sYCpVud9>hpCUs?tXN$|=cm|h^tM={ir`EdsqVvY(`LEvKWkY}Yt_F!!p5d3 z!KjZK)ZaWJXi%OU%qJ}T8Ddf5iL=AeMH=P6AtU{(5+=Y^E-a$DU_;y!y7}NMB=VDG zkvz)#0hN8hIFAO#vxXtW{fbM5C_=7BGYr8QX2=e!U4J41B-2#vFFZ8$2pvtA5E4Z=?n|BY-?l8OLEKB_=p2IdTHF7k0MU5 zM#Cep?-j__mT=gHa}3^{VcI%VQ)aRyiu%oF>ziMdK;hj3W+%?!!1$NAg=(kCYnw}_ z>`w5OgXFfoFlrsL>=g~B`hF*v%Ks?st>da}*0y1lkZ$Q%fS@R`l9ujnknV;>cS=el z2-4Caol2J=t%P(dAR#Rc-@^O3pRIVmdw=_V`K>>=<~P^OG3R-lGs8KoV+LUdUy_O* z`je#1U_Md{3ldCqbf%#05h@=@jeI+pSF$gtlkqY^F8jZBL;hed6#T7b~l{V|HA?X`?cieAV*vRqkp2>-W zb2@bPd|c4#zcrt7*sLPHn|y?_O4doAtdg6^A!7Sp=6kg$fLN4shjxkpEuMVswozra z3Tjo{rxMafEA|Ock)R((rK@cBzN<3PK9USC4t+t-*W5#t%attW(H%qf~pNecD z=1tU=wW;A)v|$gs+^!3qT7bVrS)=a`;>OH}9PS+dc(G$%Iy)Wam1?tua{0 z!&?o>Z{?ceXPsF(mx`U#Zg#y(N~APZhS-}Rr+&Ez3uwZ9O#0FrZIa%5{S8NeTgn`X zp1DCw?s4SvHBm~!QLhE2T$*pw3ch)59hk4SZfjv9>3G+PXsM2PZGMkmg|D4ZVxW!{ zc5zdDJw?%bz2XupQwmcyl<)4cuR_+YdnNXD`R!fa!h;@dpR7b!^1NEi=u|^Q)zc3o zIfHfSG8hTkTPJsO(4sZHK!MDXMVpInP640>P5rb}kyJ88U9oL@`7oO&C}Cq7w>>N# zP>bZ(M9cPYM)7^v@mZE1o1Q->k*}PqVc#wSnC^2(wdL}5Eo3b!s&Kll@b<7 zAm}r8QSF)rmA+63$@y$vsRNGe5q=PRIFdI-JZoF%`2jehekV8Kl=QQ~Q$Gq9MhVn6 z6-W*fLsWM#uH4DH&P(AWl%yJzy|ERvrIuchE`|zyjtR8ebeG}iOsH8t7dxnWhG&e- z(#rWqI%HE9`Q!{D)Q84L0G=|9&PHtoVHRH4y;HiT9MF2?3-#C)v^pea&w0vKe9jj1 z(M$EG`kkLEy}Y3pbf|drC|myH<61Z>!sG-Ae#xyPwxy-}C-`ER*$=IzO0C-r0hC?` zNn*F=Q_nLEqpI&PJF-fkUd(ldEZ-GDZ@A4rtWrk zdhqk6m~K4UNV`co?@4kQyA4*Q4^fV1;RWbpvAA%9gGZFrXG-pY7smrl8>i2_jl!7k zR&UeFrcb$lib>}j66ig5il{$XY^xMVRI}$soe(ZbH}q!oj+Z{nAIOJ&>CTI(TX?Em zWUD2Eh4_kd8=Dv*n2g(_1D47RcKDs>0i)AVT%22BD ze-im9ho&dPjJZ2=sP-{-2|W3@tKF7b$Rt#;`&B7-;RkiqUJHi>_EtvCLy@j2JI%~E z4WnmU{T&)iL5j;EOH#Vgygv9(#O@5cn6v z^^A0bF#-4F7&(onrS5G+H*xTohhfcrXgG2%Ln>0D|7h(ef|>SvNo1^J0|7$5P-)^| zxtPhTRFvk|O?i9|rV=_aXHTVbL`!{>)?LPjkBN$95~d%Z4%>qm&LDj z68}+1;AogAx&p&F7TR1ZdsX+$z++$NZ13x8^785A*VJJbGh=2dEwz;Zxxf>@Z)q|! z)eNa;he)Oi!=rmHA?1-zQNloCaR+Ft+M|po`0(TsxtVTmt$&W9TQCQX^k;Oyh`O+9!hy) zPZe-3zMm#GP_Fo`j`C5yb~=L7ck^5RGxh5=mMryCb!4GpCUmP}gy<1~rg)ddi`dU`?x;mwdd!7^#44YG zEFo1&^n8Zg5Ahr)^qd)FbpjG>(_}ZaI^I;hVDScKy^D_~B_xu#gc3R?GWkP%G@)4O+E@V?pae$fmT$5=dr9d6*YjO2YZJ_`^=gAfRfoLN9N#Y`v}~5 zFZyYlI%IIAx~z?yRo}X0l|K9PV5cZ++MP0OTEjS!9gSfFy$77>YQqnO-=|RDS zG8|1pz`PqsNEn*kPN4s&JTS5X{_I=m2D8END*x-a+&KuNOZtZzT= z&H=|eQ6yze?jUB+wD0vPISl_09Td8*Zj!5wq}mVqK)AM{H}{0Q&mXm@Xv?nZI7Ps% zhvMGDAEX50=qt+3vcbFJzL+x!tNymnw>Zcm{Jm|d2+J4i=v~s(SIP&!6P*b$x3u|$ z`Cs%{8^3>J^+F6;EEjHu#Z{hR=^Gn4e~?bZ_4c8Rm%2gm_hMolb1p+zXV@#vI5~Fp z5LT2rs>O{k#$>C`V!VfmRaY3=5Ba@IhUZeq>3uLn#L)OjrWwn9(o#5Z**W~a%VbeY zEj#M1t%okd_+)pjcStt7AFNkcR0Tym>0BhcuUMvJ&fMqt{Eq*H;YM$r+e$0|dyD+Q z5R^$4GX*qmR$-Ua61?Z=A)KyZPPh8Hm4Q}q^eB%DSx%z(;_NH-6sQs~c0NJytU|CU zKb<8$vT>c9GPd!(_j^intiarJ+g#3+qhW)397F0v!H&TJr`oCkV!iD*aLt;HE0wu; zetTOVA{S<&AH)uPs_9k?$U~oM8gQPJ^km6dDlC^xJo^w8N@JJ2yR6MZyK+BWmO90_ zUK8yM?~8eFYf_1%prVv`^5=8>%B)Yz3VtIZ!TAD0s~^$a(*lYr=ufL2eOo_Y>D9E3 zf9Et3jN01~`gTB_*=$W%`+573UfI@3(w#Bn;rGt0Gf0x*_lB)}3NhHE?eOPzZ6Ua6 z-;nn1K@`EXZqbrmsZA@?NaoC`tkU*dx{;`%xf8s_;gR2?M`|a%U((8ZTD1d|XQz9H zk>>g2D{(y)GZZBBNT8I^tN>zod<~9^f2gFF`~^2}bJ%&gJxYAZRbhcK+pEI>y4BeA z?gRM%OuhbFbPJfYzGSFz=Bmya?i})#*~h4={&!q3&H8Uum|(P(uu2S{$tT%SULh_M zdv-}prD}NbCZt2K`W2<6XB3{s`&%7W8KmzPa!$w~5~}OR^zBIInT71dmZ!Q-g$-|T zkS4qaXGA>3v)Pu+ta%J`B7&`5;9RO&nhZe%^3> z2VRa2WrAvL4=wMK(h3qy-8sn} zZ@-q>=3!b_O#nN zJVoY$-LtcK>rm@0hjx3H#0Xlccoj)raxvaHfZts0(AP~~E4K_07lX4HLvfrqkArc^ zlcMi$)q+ZPGDqf(xV)w6MsPEKl(kZ0CO6Xu=WiIvV9N<;Yt!F3dQ5!y0O@&{sW)-L zROYrHcQ4tdYa~$Ro~!+{V~Qrd-IN?jrf+ZBp!*FS>aP=0UY##vKl2WnF+kfBn0uL4 zsmh>qq2HGG20s*u`iFJAI_+fGQ}!qA_9)9_?hhK(9jR)?v^*>`eN#TWKmW)#_-Wct zdyvgyAMst0AcfC$Peq;ELkHmrAGlvkLla^_FIpc`T&Bv8mnha~ZH?S{LMT}&STy6N zD&-w40C~yJJc2p6)zmInIyPLxo>UcNom?CjXxBT>L(rVWWgb|4Y@OXabD7S_GvA+i zxn@tZE4;2myuOPq*1T<{sf_0rxck@}C7E++wtf5gy-T_7RLkS~=YZMURYwVHvc(V9 z>4mh~_gPibl+NCjuAU}+)uVb|V3}6+b)}!GLVZJ}M65*dLT5j{s{7<9R$|e$fn~Z* zw!-mT5w&5QqdDmoD><5GMZ{h3g+pVZwAT1U1l{px!tUS!E5^=}ZyYg0Ycr{Ui|12k zaH;2y)XOccKunvR?kv+Cu<@*s`L?Z`+9F;b$?Bb5P4HT!6*iVL4v8!C#WUVB-_BhQ-XDFW~o3j(_{JPm~**Dhm%Q2^R64 zV4~A`eG-}{VE9X$dSYj=;5w(p30A8s(ecyLA4cu&S7C*-c+?90S_b)i%|?-1X*iS} z$@GLx5n$FV-l!>z#iffaX<7&3^$#^73l2;UDyWDvf8n_Z-ORKS%h6+5%tL6V)q9xY zl!rLy8+6x`v4^g%KU^vH+&5sEkHffiN=>k?P*gT2vz?mA@g>-*Pu)@}rcrMh7+HF) zh`V^-rhLn1Vg(RmX`E-B9ZeEoU3)rPtSakPsnC;n2O}L{+eC6P(AL0-kE`@8&Xxe7 z{;T4zJ%XRD_d|W&3Zfg9o>SI}hp0Lx8pO=8ksP8-*+DJJpRwA?6S*|&Wy+RzbR}!c z=EV)_8+t$KR30}5iR%^YZs5VfU?RWRJ)k$rD$@Tkf8^bAIGrN>TYS)ERpee?L>QbFZyU#rcJX zlDF))JBEgFoIU8YmwFTZMfJp4s)cL&=t^zqpfceawgOb*Bt|OA`wDNhysVz>e}6n4 zxM|;HrKY4rF#W(Z!qBqz_WB60ySDHyK}c_N<1BVm7K}oCzr(9<{9XnJUlYGWN44FX zaU;R%cmc!sQj2GwGjOt9Q>Pl}CYQ?2^QP~RJxl-Ycdt)!0R^y+Y5j6}{X!Kn@mw)lxS`MRg_0YKd*&BPRqj62K10P-iaO6h zJMC8@`)w~3iAtDIT?+Tl)d{v5Ds5nBOOp;VsOv^N-b0h&?}SF1nbb``O0YT8<3`WR z1ZqBQZhne5ekT5Q=Lc|yIcf~Y|J`UF;gC_e#6r-w0C{0cv)9jMMC&zNefmaJt0c&t zkQ>tGfHe5d;H>lNiR~oWi}z~>?N!P?ct*fX+uoH3qCL`8?QEh!w{CHtz?@Si zQ>l$ptHQ{O?)7Us<}UV8VU{cyX{bBmRYS8zI*vIvJ)Y$2;hph1;lzefF(9;q?(o?_)|HF2`DPezqKS%((F% zlA)uv^d}Rkk9J*)igK`0;_J@eT7>t5DPESbuH@FYMpT>a@RFGOAw5 zs6~zM%DR7d(k4QXNSgmhc%w$qe@-FqcMaSU7)96?FA_P@7&*ZCI zZ-}3f%3~X*&nZg^lrClg&fXWFS9Q=|aw6|%*{z2Kb%-#3tr^FsBLAp16)A@6RBL@} z)_ih*iygW?_}wE89VeMTI^mY*2UtK#eravJ2qd4cmy+XYOS|%tU`U2GvMIE(JGx&! z>GFI3ZDq6?enOm801w+*aHkVHAa=!lmLf}tEF0uK>$Ef*{bmIJ!N6*p_wwCc3Q^6C zn3FWQkdVO~h7GAWalwm))(}g(ip{7ndy^GrgDOv`*7F4jWk)xQtD~o?xZl5pv#5bAO@#dQs`&)sA^ac8aC> zb{BkJXt1q8;`wvd4LCr-HGbpU4Cc5}g>%x0$7c%4cW1cjK3u8jGN2HD9xXCRDW7tU zZD{+xafnfa`xEmQGtNx+J?l_u&9$T+Pt>Th9a4~nq?v$rHuiOh>UOx0H^zzTNpLgjmA$Aw(2)$7p)N736%a&Y32)&FW8AZC6#F-VL8TR_?U6BP$u$D z{Pf35o+5s1J2tPtHqm{x_war^swWQb?##~JF$*h5PHo>cu<4d%jxqgCielE^YFfKf z?s%Xp&#~-9OKd#d8chqzrR&z zofA2(i%YaTZ_js^ZwOZ}p)1>l2xCh&PJHRxSJ)K>cvN{oL{P5j97kDIoMwY)OS|E# zG@-4ORyIK~=PPU`Bo$8q-WN}A=fCg8r3jYD=jn7`nVdu(0;>Y#xav5MtbI8-^`qlH zTybl*rgzzV5SLn;8i`j%m24&4l5q{)}XuxtZNNtjXm zw}Sh_R3}7cIAlICjhxhx#0E|=WRhP7Y9wl{k{6~`)AfC#K=PQoTS{G>CD`UuI_sIo zjCuo3+tT5<-|#>r(_$1b?%d}nnns@U z2A0v4!zyl`@1pLUzvFu1sDL9i@!TG*1 zN&}Y0DRWAc5Cal^4y}-a3ngk$p6vm9?TLH9bNCR5VtdKDSK>*x0{fYi4W0|-?ZcpP zzcWU$!IUQC5*WaIluJaSOgM~>5_zJ-N|S{N2;Yyb9`5z|+qB0@ zO_%wHUl5W-o9l*eg>eg=n&-IG29MvLXQRmAmb4R2e!PcVw8Wwp*|;3(N`CJ+ z3(xlTdvDCs2;c;G`^bLQDfVz1&x`eotc_)`^?Hp+?zrgfC7)x8{+b+a*Nl(21B(EZ z;NY>btvweO-4=tSE#dHo5cJ1-DJ8X`g0H_xOZ@n3)35$~;8q6OL_ypaHLJ7m0DPIQ6!6C?&&?viCBf)^@VL!<=ctGbARnYL1VKKlc z=sQ9pvCOK?Ke4rmH#E`o(x1KIV*lI(_^5Abg!ARO+rvn~AzRrd&wI*Hr8Y9h7YyRB9xiuNRxb&fYG7{bH=oBQY z0ORi1m;&0`l)%^so5?5}1A17>XKAZQHXrl!5HFmt@TJdCR}b?7m(JiCrn)23>Ck(0 z9(3r>#X*2Nq>RGy1B&dglcJwJumpVh+&Y9krnw6^!*@_-$zS=Y;0u(JMtc{os5{x3 z5wvZ;@?wZ+;~8Px@Y=s@0=&-|^~FqE4SP}cW*{y*smEKLK2|mcA&$kkbBgM!TFo{P z3`_MB%h`Q5sF?88yJbwbsZL4p8RVJmS7y5x&Rqeuaui&jq%=Aw1vN{_kc7jMjt>-= zu;WUQp?5zTE$()R&m^c8nM%Yj4-~&AzP#wjBIiCsd=`o>bD6iRHOb zGC2GwO;_4^zm9r>wr?idROMT2B6&s0JMO$9P&iE+a%D+hmDwel#pao5qz9E%CUcaS zO9!>z0!F>l{`pYCq_bFJZx!#bo0+Rn%kh4B3E4}QsmyFSw!LQxdElwUhqf07Vd^!# z1auO1)>XWGZDg@gd>r@-HD`c$y)o{YsiTvce8c^3l*?1^Oq^ekW;+GxMhXUh`|$cf zc^MBJ$=#^-?vmafH3M{lB`jjE;ws zDU+7@{&>3M7u9bwQ^HReB^k=J=j`^vr*qr4VA2An7~j)#(|e;_nR%M?4;lMPUCL5> zf>vKo?{5SMYz0iytiGBO#?w8wDN-oQ=kQNZ1bL7G$_}x2L6WBQ>|&BoABAh5&5_vQJe$`+9vI zr-_D_?cqmfIxgt4XUz$ z_-Dpzx5(Zb>6DdY7RFu{kB_SP1k6v{vxH5wj_>K|eHdhzg)&sDxdG9b-`>Gy*_A$hx=Dx$-%8K^5(t{b~ zd&e?7KN9H<(F$Cq>e7-QK%@b937#1~d;PTE%wNB1_8Gy&;%MF*2$ApX*ngQb-uz6s z)EwdzW?4hvPW5r*9~4$Ne~}XTPYNs2(ocoeG_Ms_RQ^v2D^P^M3IqaxK{x>HT8o5nikLVWnbz{bwR!O_6hn9aZuaZ|j7qZLAeuJg_$|xS42l}V>UZ$XGb>spQsEaBH|No1?XXqxnyj7iU{z1T-VKgUL_9 z7dJL{HV-xr69@Qj$}iVKFTW|jaQ))0zm;D=>`;XL{(1rfARG{cl+9mHzY4!VIbfil zx-WqLEc_DbjLsQvHRB^Bg_g!F*~BE8kkmHu()qr0r3fq`3FMaK9`baP`!hz60xf=T zf=+Fvne^vjfH?Z|&C0GtiglIM^Q-Yg?{V$%e$T5PXYSwUd9uVKWpkmM5*oZ=$cnjm z!*(VDeINT}@clYWau@B$Toe@{F;cBpz^ZWF&NwCjy3!?!KzKyA0vWpv)=PXdiD!O} z&^vxHD0q9lXecI}lrjDtFE7#W$G*I66G35qmsARARRS-)owZ2RVfTIjPLzsRiZAtT zP%5XNf|63qjNDyls2e!6L%@$Vcs=w1n0pC`+!`N(8>S}=% zOD9XmlS-V3JR?{{um3E6p~u#ZM?V~>A4t2@0*NyvLFuOy>~(Em>PcUZqFufn?0;)% z2QMgAFko}X*zXf1a13&5uwfx{yA5?7>ApXW84@4|pTFycCIH#P*HU*#KiEFT6Mh{-dP2&9CDE!+c6&O`=vI6e%B>E-aR4=nII2zo zkp+gtL>AigqYh3Jst^mBbNN5#TMT5ZQtrnxMuW^F7 z3mB=HPmpiTpPqYF8h+@DLdNIy4T8_J$>=Q?v#w`#x_0qZPmg+m+1M>drN}r zKAGT8CuOdF63fK-%SCE`Sr5(T%30@cQoDAZgALW!=}kAqHR(p#U0O zCd*F?PA-6PJLIandxAX`vTP${pgmTLIi!*2>pJRhcfX;eBu=mwi4;t>+=F8lDvkOa zxe-6&u)4$3dV}0gQuzKOdKCTgeUwc};~yoMs!F%?U$Km^zeqF!tjibVptY8_#1P!- zxDauOQ0N*Y^kslY;#Qqu)7>Jy1 z$j1LRuD^GyKPdC@FgzPTI>yu@h-xu~sM2pkak*h`4+SUfwoiWMTb{XUn}&1n&LKq` zZD+^XJra})61?~Lgk0#mQpS|Y7fy;*VG2?66|>>^x7XwR4QC z5TjAm=;RCB@75P>4_IZA%C;>~-aK*97|xGV-SJ!DJ6Jq=pvS`DB7Z~5^P3i2sxAGdjv)#+KgXesSx>kzKe2&Vn zJYNL{;WL-VQL669*>Yt&)NO2PVctGWc4){-{j9Z06U^ZyGjjN;Q=jTdcT9uveGS{g zn%WJB(zO*dbqV+C8&oJ}MsFMHP3-7W(L(<>?{J zmd!vHsFFuiaMYm*qzUC1Qe;lNu;qhwZD}hv#dkLnCnS&uyW#us?dP)-RXiA)*g9F6 z1=xiV?iREA)_o_W41aXb!$G0)w!6}rt~Zd@9LOK+SrM}O^4KvJ$E#V(xl)6A^k#^EzZ-EtjD8nd#gkUBs8TXWJg#?jJHEy=i^4yf`bb}R}L%sk!_W{4V9tVjrv{KPnR+K1cX z#KKPT+0I>gq?vX*DfKjAa)cHXkouZ+B||8XDIXqhul~cHeOi9zVFp;2#s|cb!}1ol469P>=nym}AGU%jq7cGT zs?0yODk*pW06MURO{h-R&MwcZr_F1iz`kV_FTh6hYTO%}`bwd|>uX^VGUA@Q?RqQ4 zqlGkh=?Ud5GfEb>`WQTjYb1j@UB~@h_~2+Wezg}$W6u1V2gA7suKs52i!g?5&sp!9 z5(~~!d%VSay0kPvPfZ1{`TSKu)wLR4rRR6i8;a4t|Cq+jOo~p>Ny1ky#Pd&7HDTgl zd;IpUtAkrT`HRr#8sVtr^mnz68z~wuxR#RGt?U_|iCY@G&M@Supw7wdl&|aWNvCAI zV<+;f|4er7B{jJ6NM*CHx6R9*;BXBxppe_RBjuj=_SLzfsnrbOv7VVqI$zpJxJ2E| z2Z}N6(_T+{Xn}sQvU8djGt7=CsV2}i>#9VNvS;kl-Kf=y^}+pIpM|ykJ1knqm)}C) zoQw>pMy`xL?s={3dsio5uQ?MU`gw16rYgT~{G6(Tno(zhCQnEqirLF!Kyevq#CC{v znd>NCfg(=hod}g{ofMX9&DVVVrZdkeI=3z5M8m-`w~&63GTVg-$ntpB{3{eq7u54u z1G|f2X)J+HW+15KP=Z{4{{}D;>R*q{pEsAS8Xu~DggGq*x zgn8e-i3PVRE3jB@vXL{qeKSmo*YHb)t-*cX<|_f81d0SMkI3p{oow;x~%twY4h5F@9 zUVdh9g5xARR@o(+?nlcM4!l`Pr_h_QdW2Mbc^EqJ*wR zrM7ltrl(Gh4#+xNXdr2Li2bbD$l{v-99ltQ$(gdbdTyv(F1n*A&Ul?^y&KJa#<8bK z6^~E{X3Aw;j~+`Pu`q^MPB!ZUwpx(D;Tp;Ct=e!8UY3Z1L= zAI&jF9p6vEeI8w8V*^!P)+)y4Z!XPe#fV%plpWyAW9jvi9~mWP-b$>_eH)~8fo>}soQW6db`B;Svq9>4H_OYq_MO*dic40r6A zBs}1T>3h$91_2Z?kAmv8Y$-ggffCZ_E zd`Cmw*Q`)|X|?}u0ogix>}{HS9DI8{BF@!EjYFTO!mWiU zka^}=zFFgW3wn@t*yZp(K&6Xl)^Sgwn=VQ`PT-dK0sHJ7s7G=@xL8ygc?RH6Rt8(dCD%xs8Q3b zo>m21qAK(&PWv6z1iwHD9E^r9K|0@xy9bbT8+}2d-nZbU=x@53NZJ*6G%oXM;zga8 zN^s2)q52DU>kGRBih;sD2B)^fjctX3yYuF-R8`1?SMkp2MN7Qe@t4Ly_Z6CQ?)$(G zS2bI5mxaqcdgEdg`LM_LvDiv!nkn1lX1pGSCf6C@zFOu|cl=br+r1wfrmN*B*G}gi z^orf>3#_VWrt#C`Ip;ik=K$muM|JWcG+g&6zq=0+xqc|Y$!!pPV&tV*QGz-@L|wB}U1=;UcwwG9>wV9ygBzP-*;HxjA;FxnR^m zWt6m!m*kwg{9JK;wi1W5jf`cuEde66S-y&(_dXYJFm+P+}8ETg2a%;peYgE)wV)ZQz}3 z31W|tZq`+A{c3C%C*{l5ZaP}}wCQ_;k0?q3g%l^9HGGyifEbPC+w1s&DMvS)!&dfWH+po43eynqBQeb*fr)n zWHE33#zm@iVAfI(UlU~Fub>q%F{M(}J!gF*|L`q3MBcZ7cB-$*a;#;@%-?X68;>Uf z?Ut-OLmAKdJmjMhorff)Wsl0cD$2qL+4WO`M=o`f;O;FkU2~g`Py3ZbNCl4lycyDL zj-1(m9<=5~*h4zhzQZl4yk^xVzOYb}w2cd8)?$pr>emsZoYp)Fdr1XcIt7Jsx1~6o z(XeH-G$@lZyhciMsAbstq6BN0ikLL}slZK(M=A;}O1_X)0>#`ivm%_Pb!=q?R2{j|lWK|_83EhUA%*}@7SW*uoRU$ie7d#gQ=$4rgpEuE*M$cp2wOznB}gC9HE zWA@LaB`5HgEZBccS_(>ti>dugS|X&H#jFj?907;~nHb#GNk|Cp2GC-;7KMg@0Wc^G zk#FSsf6iHQAas}i4~o!;jHJ^~5$Jy<8*ivU|CKv*yq1CfEfIK~_xm*w2>w+9`d=nM zOaA7{Arl$_I~pb2>7d$em?!}rN8R(@c~S1 zjp2rt82`OtgfvA|o{Ax`DE$*(uD$*{76jY=Wfw34{@+eQq@jN!?|*L=5g}P65!Ihi z{^Se$AJn}*UHAnG;+4Ol+_cKIcM;YB@bY5(j2OUAGX6UcDX6Ne3QPQi@~4N`|DZ19 zH@1Kg!2X8vmjVCfAn^Z196c2mRrqO^e}M7_aiPCLfg#RV{-(+wK?M4*tsl2FqjptvDa^3T<^BiJc{%;*5C@Lc;eGNrf<{x;={s(V45cK#* zFo<)k-@#l@eE%I;WR&DJ)UHEF`RPAk;rNrdzd`{bX1%}3a&u|{{qqv|?}#fZAuK2^ z^AiiA;Tt~U_>;K5Lb*Pm`y0w%HUGui|9&OXRFf7L{^_Bof3k(+58i@+zkBExEH{@T z(0?C8H?NKOox2==a2NDDn12N{d5cd0pyNJc$@0h;1VF3O2 zfh7I=&gpk7Klflt2p;|Ke&P3^{&kW5i{}4g4Cp$reh(xC12Ypx#0fFn8L?GC3`5$& z*b$)hlWG9aPcH+&Kj#Jj;^q!SR01GB8`Z)1SF45GxeO3IZbbVZsh32G^UUhlt|8A1&avA_h(-fQKU7 zi2E!+hz|q=fx*CF79jfrAn*aAo-Ew>KUGn2FtD>TF-9yq2G))y2%svW8mwZ@*4Bmw zwzk(;RLm_L0f^6En3w@-h*M)k*8m7B2nvF6f!Y6t$pU5t{{#q-v2ZZ~fPp|R#0k5h zg@G*-z{<`5v2!yq0J!|m+b~ujD`H^(GM<}*i75sUzzM+s{_hWB2M9xK_Dli)QwHXM zAXs(%1F-$yGWP48=ozS0cF2Y4+vz30ueL9ukRwtz+4FG{ayy< zX!p?}#&3>WmkehY^L1Caj>VY_KzKduKdec@w5ESvB4LAFM z{b?5v3<$e14g?`VTz}XF2L2NZ40b)S{cb;YFys%+>^a2)t=$E>2Fw zf4BUOkBbYzgx||RAVe28#)h~H3Jkl^9-;nSjycusGC}N7Z zF*Xnsg81CP2Se<2ZrBAuUC2$YAtrv{%{d2A2D$zV^j9B&*f|iB_8(=iKlw2U8D;6*i5eqkLg(yRK{a^K*91JY1O&l!$7 z79J+o>k*q09PR}8xws>?8ed5e7koAPCb#g+zo!fMOta qQ86wM1Of)}0seCp9RMF6hNF{#gVWD-5CMymodbh`K~!E0 Make sure you have correct hostfiles in GRIDS and GENERAL.\n Please, edit the file named "hostfile".' - while (1) - echo -n ' Proceed with testing [yes/no]? ' - set ans = $< - switch ($ans) - case no: - exit - case yes: - break - default - continue - endsw - end -endif -echo ' ---> checking whether to make library' - -# -(cd .. ; make) -# - -###--->>>GENERAL -if ($todo == 'all' || $todo == 'general') then -echo ' ---> make executables in examples/general ' -cd general - -echo ' -------------------- CREATING dd-HB-dse.ex ' -make dd-HB-dse.ex - -if ( $part_name == metis ) then -echo ' -------------------- CREATING dd-HB-metis.ex ' -make dd-HB-metis.ex -endif - -if ( $part_name == parmetis ) then -echo ' -------------------- CREATING dd-HB-parmetis.ex ' -make dd-HB-parmetis.ex -endif - -echo ' -------------------- DONE ' -cd .. -endif -##end GENERAL - -###--->>>GRIDS -if ($todo == 'all' || $todo == 'grids') then -echo ' --> make executables in example/grids ...' - -cd grid - -echo ' -------------------- CREATING dd-grid.ex ' -make dd-grid.ex -cd .. -endif -##end GRIDS - -##======================================================================= -# END compiling/linking - begin running = -##======================================================================= - -###--->>>GENERAL -if ($todo == 'all' || $todo == 'general') then -echo ------------------------------------------------------------------- -echo ' ** running DOTESTS on general. ' -echo ' ** Partitioner:' $part_name ' Machine: ' $machine -echo ------------------------------------------------------------------- - -cd general - -#cat extras/inputs > inputs - -if (-f temp) then - 'rm' temp -endif - -echo ' ' > temp -echo ' TEST programs in examples/general' >> temp -echo ' ' >> temp - -set count=0 -foreach meth1 (' BJ ' ' RAS ' ' SCHUR ') -foreach meth2 (' ILU0 ' ' ILUK ' ' ILUT ' ' ARMS ' 'ARMS-ddPQ') -echo ' ----------------------------------------------------------------' >>temp -echo ' --------------------' $meth1 'with' $meth2 '--------------------'>>temp -echo ' ----------------------------------------------------------------' >>temp -# -# -#echo '------------------->>' $meth1 'with' $meth2 -@ count++ - -set infile=inputs -# -if($meth2 == ARMS-ddPQ) then - echo $meth1' global preconditioner' >! inputs0 - echo 'ARMS local preconditioner' >> inputs0 - sed -n '3,5 p' $infile >> inputs0 - echo '1 Nonsymmetric ARMS - ARMS-ddPQ' >> inputs0 - sed -n '7,28 p' $infile >> inputs0 -else if($meth2 == ARMS) then - echo $meth1' global preconditioner' >! inputs0 - echo $meth2 'local preconditioner' >> inputs0 - sed -n '3,5 p' $infile >> inputs0 - echo '0 Nonsymmetric ARMS - ARMS-ddPQ' >> inputs0 - sed -n '7,28 p' $infile >> inputs0 -else - echo $meth1' global preconditioner' >! inputs0 - echo $meth2' local preconditioner' >> inputs0 - sed -n '3,28 p' $infile >> inputs0 -endif -# -echo ' --------------------' $meth1 'with' $meth2 'on' 'dd-HB-dse.ex' -echo ' ' >> temp -echo ' -----TEST-PROGRAM DD-HB-DSE.EX------------------------------' >>temp -if ( $machine == AIX ) then - poe dd-HB-dse.ex -procs $np >> temp -else - mpirun -np $np ./dd-HB-dse.ex inputs0 >> temp -# mpirun -np $np -machinefile hostfile dd-HB-dse.ex >> temp -endif -# -end -end -## -## DONE -## -echo ' -------------------- DONE ' -'mv' temp ../OUTPUTS/GENERAL_out -cd .. -endif -#----------------------------------------------------------------------- -# RUN TESTS IN GRIDS. -#----------------------------------------------------------------------- - -###--->>>GRIDS -if ($todo == 'all' || $todo == 'grids') then - -echo ------------------------------------------------------------------- -echo ' ** running DOTESTS on GRIDS. ' -echo ' ** Partitioner:' $part_name ' Machine: ' $machine -echo ------------------------------------------------------------------- - -cd grid - -if (-f temp) then - 'rm' temp -endif - -echo ' ' > temp -echo ' TEST programs in examples/grids' >> temp -echo ' ' >> temp - -@ count=0 -foreach meth1 (' BJ ' ' RAS ' ' SCHUR ') -foreach meth2 (' ILU0 ' ' ILUK ' ' ILUT ' ' ARMS ' 'ARMS-ddPQ') -echo ' ----------------------------------------------------------------' >>temp -echo ' --------------------' $meth1 'with' $meth2 '--------------------'>>temp -echo ' ----------------------------------------------------------------' >>temp -# -#echo '------------------->>' $meth - -@ count++ - -set infile=inputs -# -if($meth2 == ARMS-ddPQ) then - echo $meth1' global preconditioner' >! inputs0 - echo 'ARMS local preconditioner' >> inputs0 - sed -n '3,5 p' $infile >> inputs0 - echo '1 Nonsymmetric ARMS - ARMS-ddPQ' >> inputs0 - sed -n '7,30 p' $infile >> inputs0 -else if($meth2 == ARMS) then - echo $meth1' global preconditioner' >! inputs0 - echo $meth2 'local preconditioner' >> inputs0 - sed -n '3,5 p' $infile >> inputs0 - echo '0 Nonsymmetric ARMS - ARMS-ddPQ' >> inputs0 - sed -n '7,30 p' $infile >> inputs0 -else - echo $meth1' global preconditioner' >! inputs0 - echo $meth2' local preconditioner' >> inputs0 - sed -n '3,30 p' $infile >> inputs0 -endif -# -echo ' -----TEST-PROGRAM dd-grid.ex----------------------------------' >>temp -echo ' --------------------' $meth1 'with' $meth2 'on' 'dd-grid.ex' -if ( $machine == AIX ) then - poe dd-grid.ex -procs $np >> temp -else - mpirun -np $np ./dd-grid.ex inputs0 >> temp -# mpirun -np $np -machinefile hostfile dd-grid.ex >> temp -endif -# -end -end -## -## DONE -## -'mv' temp ../OUTPUTS/GRIDS_out -cd .. -endif -echo ' --> TESTS COMPLETED! ' - -unset machine -unset part_name -unset np -unset infile -unset count -unset ans - - diff --git a/lib/parms/examples/README b/lib/parms/examples/README deleted file mode 100755 index 8fb4e5fa3..000000000 --- a/lib/parms/examples/README +++ /dev/null @@ -1,19 +0,0 @@ - -1. Directory 'general' contains a few test drivers to solve a distributed sparse - linear system using preconditioned (F)GMRES. The test matrix is - read from a file in the Harwell-Boeing format... - -2. Directory 'grid' contains test drivers related to simple 2-D and - 3-D centered finite difference elliptic PDEs on rectangular domains. - -3. Directory 'petsc' contains a test driver to solve a linear system with PETSc. It also - contains the necessary files for pARMS to interface with PETSc. This allows - preconditioners in pARMS to be used as add-ons to PETSc. - -4. In each of these 3 directories, there is also a directory called 'extras' which contains - sample *.pbs and *.cmd scripts for submitting batch jobs for PBS scheduler and LoadLeveler - respectively. - -5. Directory 'matrices' contains some matrices stored in HB format. - - diff --git a/lib/parms/examples/README-DOTESTS b/lib/parms/examples/README-DOTESTS deleted file mode 100755 index 37139567b..000000000 --- a/lib/parms/examples/README-DOTESTS +++ /dev/null @@ -1,37 +0,0 @@ -NOTE: DOTESTS is a csh script - -Check installation -=================== -If your architecture supports an interactive execution of parallel jobs, -you may be able to use the DOTESTS script to check the installation and to -observe the effect of various preconditioning options. - -%DOTESTS grids - will run all preconditioners on sample grid problems -%DOTESTS general - will run all preconditioners on general matrices in the Harwell - Boeing collection (see GENERAL -- and information related to the input file) - -%DOTESTS all or %DOTESTS - will run both suites - -The results of the runs will be located in the folder ./OUTPUTS/ - -For non-AIX machines, you will be asked by the script to provide -hostfiles for your computing platform. You may terminate the script and -create the proper hostfiles. - -Script tuning --------------- -In the text of DOTESTS script, you may modify the number of processors -(first line after header comments in script) - -but remember that the number of processors in GRIDS should be a multiple -of npx x npy -- so np cannot be an arbitrary number. - -Also, you can modify the option -machinefile which tells the program where to -read the hostfile. On MSI blade machine, this option is -hostfile. - -========================================================================== -Report any problems to: dosei@cs.umn.edu, saad@cs.umn.edu or masha@scl.ameslab.gov - - diff --git a/lib/parms/examples/general/README b/lib/parms/examples/general/README deleted file mode 100755 index 85b394f76..000000000 --- a/lib/parms/examples/general/README +++ /dev/null @@ -1,132 +0,0 @@ - -README for tests/general directory -================================ - -This directory contains a few test drivers to solve a distributed -sparse linear system using preconditioned FGMRES. - - * dd-HB-dse.c is a test program with a harwell-boeing matrix - using parms's simple DSE partitioner. Each processor reads - the whole matrix from a file [The matrix is assumed to be in the - Harwell-Boeing format]. - It then partitions its graph using DSE, a simple partitioning - routine, and scatters the local matrices to each processor. Once - these submatrices are received each processor solves the problem - using preconditioned (F)GMRES. See README or comments for the list of - available preconditioners. - - -The command -%make dd-HB-dse.ex -will create an executable for the corresponding driver. - -To compile the code in general, make sure that the makefile.in in -the home directory of PARMS has been configured properly and make sure to -have the library generated [make lib at the top directory -- see -instructions on how to make the library] - -All test drivers will read input test parameters -from a file. The sample input file called "inputs" in -examples/general is read by default (i.e., when the executables are -invoked with no arguments on the command line). Another file can -be specified for the inputs by entering it as an argument at the -command line. - -Example: - -%mpirun -np dd-HB-dse.ex -The file called "inputs" will be read by the executable. - -%mpirun -np dd-HB-dse.ex my_inputs -The file called "my_inputs" will be read by the executable. - -------------------------------------------------------------------- -The other files in this directory are: - -- skit.f, a suite or routines adapted from SPARSKIT for processing matrices - in Harwell-Boeing sparse matrix format - -- aux.c, reads input parameters for the run from a file - -- inputs : input file for various parameters - - -NOTE: The functions defined in the above files handle both the real - and complex cases. See the driver for the preprocessor calls - to the respective functions. ---------------------------------------------------------------------- - -=========== -INPUT FILE -=========== - -A sample of the input file (see also file "inputs") follows - -SHERMAN3 The name of matrix -ras parallel preconditioner (RAS, SCHUR, BJ) -arms local preconditioner (ilu0, iluk, ilut, arms) -0.01 eps(tolerance for inner iteration) -1.0e-6 eps1(tolerance for outer iteration) -5 nlev(number of levels for ARMS) -400 bsize(block size for block independent sets) -0.2 tolind(tolerance used in independent set) -60 im (krylov subspace size for outer iteration) -500 maxits (outer fgmres) -5 kim (krylov subspace size for inner iteration) -5 itsgmr(inner fgmres) -10 lfil0(ilut, iluk and arms for lfil[0-3]) -10 lfil4(schur) -10 lfil5(ILUT L, ILUT U) -0.001 droptol0(droptol[0=3], L, U, L^{-1}F, EU^{-1} -0.001 droptol4(for schur complements at each level) -0.001 droptol5(for ILUT in last level Schur Complement) - ------------------------------------------------------------------------ - -=================== -Matrix Files -=================== -The files, matfileReal and matfileCmplx contain a list of matrices -to be tested. These matrices are stored in the /examples/matices/ -folder, and contain both complex and real-valued matrices. matfileReal -will read only the real matrices, and matfileCmplx will read only the -complex-valued matrices. - -The list of matrices to be tested is terminated by ##. ---------------------------------------------------------------------- - -========================== -PRECONDITIONERS AVAILABLE -========================== - -The following preconditioner methods are available in PARMS: - -BJ, SCHUR, RAS - -RAS indicates restrictive additive Schwarz preconditioner. - -BJ indicates block Jacobi preconditioner. - -SCHUR indicates Schur complement based preconditioner. - -NOTE: SCHUR require inner iterations -(so ipar[3], ipar[4] should be > 0. It is a good idea to set -ipar[3] = ipar[4] = a small number - e.g., 5) - -All above parallel preconditioners can be combined with the following -local preconditioners: - -ILU0, ILUK, ILUT, ARMS - ------------------------------------------------------------------------ - -======= -EXTRAS -======= - -The directory "extras" contains script files and sample input files. -*.pbs and *.cmd are script files for submitting jobs for PBS -scheduler and LoadLeveler respectively. These need to be edited -before being submitted since they correspond to the specific -environment available at the University of Minnesota. - diff --git a/lib/parms/examples/general/aux.c b/lib/parms/examples/general/aux.c deleted file mode 100755 index e32c3c873..000000000 --- a/lib/parms/examples/general/aux.c +++ /dev/null @@ -1,300 +0,0 @@ -#include -#include -#include -#include -#include "aux.h" - -int read_param(char *fname, char mname[MAX_MAT][MAX_LINE], fprm prm) -{ - FILE *fp, *fmat; - char buf[MAX_LINE], *tmpstring; - char *p, *p1, *p2; - int i; - - if (NULL == (fp = fopen(fname, "r"))) { - fprintf(stderr, "cannot open file %s\n", fname); - exit(1); - } - - for (i = 0; i < 18; i++) { - prm->ipar[i] = -1; - } - -/*----Get parallel Precon Type ---*/ - if(fgets(buf, MAX_LINE, fp) == NULL){ - fprintf(stderr, "Error reading global precon type"); - exit(1); - } - STR2U(p, p1); - if (!strcmp(p1, "RAS")) { - prm->pctype = PCRAS; - } - else if (!strcmp(p1, "SCHUR")){ - prm->pctype = PCSCHUR; - } - else if (!strcmp(p1, "BJ")) { - prm->pctype = PCBJ; - } - free(p1); -/* --- Get Local Precon type ---*/ - if(fgets(buf, MAX_LINE, fp) == NULL){ - fprintf(stderr, "Error reading local precon type"); - exit(1); - } - STR2U(p, p1); - if (!strcmp(p1, "ILU0")) { - prm->pcilutype = PCILU0; - } - else if (!strcmp(p1, "ILUK")) { - prm->pcilutype = PCILUK; - } - else if (!strcmp(p1, "ILUT")) { - prm->pcilutype = PCILUT; - } - else if (!strcmp(p1, "ARMS")) { - prm->pcilutype = PCARMS; - } - free(p1); -/*--- Get tolerance for local solve---*/ - if(fscanf(fp,"%lf",&prm->pgfpar[0]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Get tolerance for global solve ---*/ - if(fscanf(fp,"%lf",&prm->pgfpar[1]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Get number of levels ---*/ - if(fscanf(fp,"%d",&prm->ipar[0]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Use symmetric or nonsymmetric perm ---*/ - if(fscanf(fp,"%d",&prm->ipar[1]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- B block size ---*/ - if(fscanf(fp,"%d",&prm->ipar[2]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Tolerance for independent sets ---*/ - if(fscanf(fp,"%lf",&prm->tolind) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Outer Krylov dimension ---*/ - if(fscanf(fp,"%d",&prm->ipar[6]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Maximum outer iterations ---*/ - if(fscanf(fp,"%d",&prm->ipar[7]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Inner Krylov dimension ---*/ - if(fscanf(fp,"%d",&prm->ipar[4]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- maximum number of inner iterations ---*/ - if(fscanf(fp,"%d",&prm->ipar[5]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- nonsymmetric perm. for interlevel blocks ---*/ - if(fscanf(fp,"%d",&prm->ipar[10]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Column Permutations - interlevel blocks ---*/ - if(fscanf(fp,"%d",&prm->ipar[11]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Row scaling - interlevel blocks ---*/ - if(fscanf(fp,"%d",&prm->ipar[12]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Column scaling - interlevel blocks ---*/ - if(fscanf(fp,"%d",&prm->ipar[13]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Nonsymm. Perm. for last level SC. ---*/ - if(fscanf(fp,"%d",&prm->ipar[14]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Col. Perm. for last level SC. ---*/ - if(fscanf(fp,"%d",&prm->ipar[15]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Row scaling - last level SC. ---*/ - if(fscanf(fp,"%d",&prm->ipar[16]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Column scaling - last level SC. ---*/ - if(fscanf(fp,"%d",&prm->ipar[17]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- lfil0 for ilut, iluk, and arms for lfil[0-3] ---*/ - if(fscanf(fp,"%d",&prm->lfil[0]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- lfil for shur ---*/ - if(fscanf(fp,"%d",&prm->lfil[4]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- lfil for ILUT L and U ---*/ - if(fscanf(fp,"%d",&prm->lfil[5]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- droptol0(droptol[0=3], L, U, L^{-1}F, EU^{-1}---*/ - if(fscanf(fp,"%lf",&prm->droptol[0]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- droptol4(for schur complements at each level) ---*/ - if(fscanf(fp,"%lf",&prm->droptol[4]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- droptol5(for ILUT in last level Schur Complement) ---*/ - if(fscanf(fp,"%lf",&prm->droptol[5]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - - prm->droptol[1] = prm->droptol[2] = prm->droptol[3] = - prm->droptol[0]; - prm->droptol[6] = prm->droptol[5]; - - prm->lfil[1] = prm->lfil[2] = prm->lfil[3] = - prm->lfil[0]; - prm->lfil[6] = prm->lfil[5]; - - fclose(fp); - -/*------- Done reading inputs, now read list of Matrices -------------*/ -#if defined(DBL_CMPLX) - if (NULL == (fmat = fopen("./matfileCmplx", "r"))) { - fprintf(stderr, "cannot open file: matfile\n"); - exit(1); - } -#else - if (NULL == (fmat = fopen("./matfileReal", "r"))) { - fprintf(stderr, "cannot open file: matfile\n"); - exit(1); - } -#endif - i = 0; - do { - if(fgets(buf,MAX_LINE,fmat) == NULL){ - fprintf(stderr, "Error reading matrix list"); - exit(1); - } - tmpstring = (char *) strtok(buf, " "); - tmpstring++; - tmpstring[strlen(tmpstring)-1]='\0'; - strcpy(mname[i], --tmpstring); - i++; - } while (strncmp(buf, "##", 2)); - - fclose(fmat); - - return 0; -} - -void set_pc_params(parms_PC pc, fprm prm) -{ - parms_PCSetType(pc, prm->pctype); - parms_PCSetILUType(pc, prm->pcilutype); - parms_PCSetNlevels(pc, prm->ipar[0]); - parms_PCSetPermType(pc, prm->ipar[1]); - parms_PCSetBsize(pc, prm->ipar[2]); - parms_PCSetInnerEps(pc, prm->pgfpar[0]); - parms_PCSetInnerKSize(pc, prm->ipar[4]); - parms_PCSetInnerMaxits(pc, prm->ipar[5]); - parms_PCSetFill(pc, prm->lfil); - parms_PCSetTol(pc, prm->droptol); - parms_PCSetTolInd(pc, prm->tolind); - parms_PCSetPermScalOptions(pc, &prm->ipar[10], 1); - parms_PCSetPermScalOptions(pc, &prm->ipar[14], 0); -} -void set_solver_params(parms_Solver solver, fprm prm) -{ - char buf[BUFFLEN]; - - sprintf(buf, "%d", prm->ipar[7]); - parms_SolverSetParam(solver, MAXITS, buf); - sprintf(buf, "%d", prm->ipar[6]); - parms_SolverSetParam(solver, KSIZE, buf); - sprintf(buf, "%g", prm->pgfpar[1]); - parms_SolverSetParam(solver, DTOL, buf); -} - -void fread_param_(char *fname, fprm *prm, char *matrix, int *matlen, int len) -{ - char mname[MAX_MAT][MAX_LINE], *buff, *buff2; - - buff2 = malloc((len+1)*sizeof(*buff2)); - strncpy(buff2, fname, len); - buff2[len] = '\0'; - *prm = malloc(sizeof(**prm)); - read_param(buff2, mname, *prm); - buff = &mname[0][0]; - strncpy(matrix, buff, strlen(buff)); - matrix[strlen(buff)] = '\0'; - *matlen = (int)strlen(matrix); - free(buff2); - -} - -void fset_pc_params_(parms_PC *pc, fprm *prm) -{ - set_pc_params(*pc, *prm); -} - -void fset_solver_params_(parms_Solver *solver, fprm *prm) -{ - set_solver_params(*solver, *prm); -} - -void fprm_free_(fprm *prm) -{ - free(*prm); -} diff --git a/lib/parms/examples/general/aux.h b/lib/parms/examples/general/aux.h deleted file mode 100755 index 98693c1f7..000000000 --- a/lib/parms/examples/general/aux.h +++ /dev/null @@ -1,125 +0,0 @@ -#ifndef _AUX_HEADER_INCLUDED_H -#define _AUX_HEADER_INCLUDED_H -#define MAX_LINE 100 -#define MAX_MAT 100 - -#include "parms.h" - -#define BUFFLEN 200 -#define STR2U(p, p1) \ - if (1) { \ - p = buf; \ - while (' ' == *p) { \ - p++; \ - } \ - p1 = malloc((strlen(p)+1)*sizeof(*p1)); \ - p2 = p1; \ - while (' ' != *p) { \ - *p2 = toupper(*p); \ - ++p; \ - ++p2; \ - } \ - *p2 = '\0'; \ - } else - -typedef struct fprm_ { - PCTYPE pctype; - PCILUTYPE pcilutype; - double pgfpar[2]; - double tolind; - double droptol[7]; - int ipar[18]; - int lfil[7]; -} *fprm; - -#if defined(FORTRAN_CAPS) -#define fread_param_ FREAD_PARAM -#define fset_pc_params_ FSET_PC_PARAMS -#define fset_solver_params_ FSET_SOLVER_PARAMS -#define fprm_free_ FPRM_FREE -#define wreadmtc_ WREADMTC -#define readmtc_ READMTC -#define csrcsc_ CSRCSC -#define aplb_ APLB -#define dse_ DSE -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define fread_param_ fread_param__ -#define fset_pc_params_ fset_pc_params__ -#define fset_solver_params_ fset_solver_params__ -#define fprm_free_ fprm_free__ -#define wreadmtc_ wreadmtc__ -#define readmtc_ readmtc__ -#define csrcsc_ csrcsc__ -#define aplb_ aplb__ -#define dse_ dse__ -#elif !defined(FORTRAN_UNDERSCORE) -#define fread_param_ fread_param -#define fset_pc_params_ fset_pc_params -#define fset_solver_params_ fset_solver_params -#define fprm_free_ fprm_free -#define wreadmtc_ wreadmtc -#define readmtc_ readmtc -#define csrcsc_ csrcsc -#define aplb_ aplb -#define dse_ dse -#endif - -extern int read_param(char *fname, char mname[MAX_MAT][MAX_LINE], fprm prm); -extern void set_pc_params(parms_PC pc, fprm prm); -extern void set_solver_params(parms_Solver solver, fprm prm); -extern void fread_param_(char *fname, fprm *prm, char *matrix, int *matlen, int len); -extern void fset_pc_params_(parms_PC *pc, fprm *prm); -extern void fset_solver_params_(parms_Solver *solver, fprm *prm); -extern void fprm_free_(fprm *prm); -extern void wreadmtc_(int *nmax, int *nzmax, int *job, char *fname,int - *len, double *a, int *ja, int *ia, double *rhs, - int *nrhs, char *guesol, int *nrow, int *ncol, - int *nnz, char *title, char *key, char *type, - int *ierr); -extern void readmtc_(int *nmax, int *nzmax, int *job, char *fname, double - *a, int *ja, int *ia, double *rhs, int *nrhs, char - *guesol, int *nrow, int *ncol,int *nnz, char *title, - char *key, char *type, int *ierr); -extern void csrcsc_(int *n, int *job, int *ipos, double *a, int *ja, - int *ia, double *ao, int *jao, int *iao); -extern void aplb_(int *nrow, int *ncol, int *job, double *a, int *ja, - int *ia, double *b, int *jb, int *ib, double *c, int - *jc, int *ic, int *nnzmax, int *iw, int *ierr); -extern void dse_(int *n, int *ja, int *ia, int *ndom, int *riord, int - *dom, int *idom, int *mask, int *jwk, int *link); - -/*---------- complex routines ------------*/ -#if defined(DBL_CMPLX) -#if defined(FORTRAN_CAPS) -#define wreadmtc_ WREADMTC -#define readmtc_ READMTC -#define csrcsc_ CSRCSC -#define aplb_ APLB -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define wreadmtc_ wreadmtc__ -#define readmtc_ readmtc__ -#define csrcsc_ csrcsc__ -#define aplb_ aplb__ -#elif !defined(FORTRAN_UNDERSCORE) -#define wreadmtc_ wreadmtc -#define readmtc_ readmtc -#define csrcsc_ csrcsc -#define aplb_ aplb -#endif -extern void zwreadmtc_(int *nmax, int *nzmax, int *job, char *fname,int - *len, complex double *a, int *ja, int *ia, complex double *rhs, - int *nrhs, char *guesol, int *nrow, int *ncol, - int *nnz, char *title, char *key, char *type, - int *ierr); -extern void zreadmtc_(int *nmax, int *nzmax, int *job, char *fname, complex double - *a, int *ja, int *ia, complex double *rhs, int *nrhs, char - *guesol, int *nrow, int *ncol,int *nnz, char *title, - char *key, char *type, int *ierr); -extern void zcsrcsc_(int *n, int *job, int *ipos, complex double *a, int *ja, - int *ia, complex double *ao, int *jao, int *iao); -extern void zaplb_(int *nrow, int *ncol, int *job, complex double *a, int *ja, - int *ia, complex double *b, int *jb, int *ib, complex double *c, int - *jc, int *ic, int *nnzmax, int *iw, int *ierr); -#endif - -#endif diff --git a/lib/parms/examples/general/dd-HB-dse.c b/lib/parms/examples/general/dd-HB-dse.c deleted file mode 100755 index f8f9961dd..000000000 --- a/lib/parms/examples/general/dd-HB-dse.c +++ /dev/null @@ -1,437 +0,0 @@ -/*---------------------------------------------------------------------- - * Program dd-HB-dse - *---------------------------------------------------------------------- - * - * In this test program, each processor reads the whole matrix - * from file. The matrix is assumed to be in Harwell-Boeing format. - * Matrix graph is then partitioned using DSE, a simple partitioning - * routine, and scatters the local matrices to each processor. Once - * these submatrices are received each processor solves the problem - * using preconditioned FGMRES preconditioned with : - * BJ, RAS, SCHUR - *--------------------------------------------------------------------*/ - -#include -#include -#include -#if defined(__ICC) -#include -#else -#include -#endif -#include "parms.h" -#include "aux.h" - -int main(int argc, char *argv[]) -{ - - /* declarations related to Harwell-boeing format for reading the HB - matri. Second part is related to I/O parameters */ - char mname[MAX_MAT][MAX_LINE], guesol[2], title[72], key[8], type[3]; - int nrhs, nc, n, nnz, tmp0, tmp, tmp2, tmp3, job, mat; - int myid, ierr, i, nloc; - /* memory usage of the preconditioning matrix */ - double ratio; - /* working array for reading matrix */ - double norm, res1, tpc, ttol; - FLOAT *a, *rhstmp; - int *ja, *ia; - int npro,its, *im; - fprm prm; - FILE *fp=NULL, *fout=NULL; - char *name, *iluname, buf[40]; - -/*-------------------- variables related to dse partitioning */ - int *riord, *dom, *idom, *mask, *jwk, *link; - -/*-------------------- variables related to pARMS */ - parms_Map map; - FLOAT *x, *y, *rhs, *resvec; - parms_Mat A; - parms_PC pc; - parms_Solver solver; - parms_Timer tm; - -/* Viewer object for solver */ -// parms_Viewer sv; - -/*-------------------- initialize MPI environment */ - MPI_Init(&argc, &argv); - MPI_Comm_rank(MPI_COMM_WORLD, &myid); - MPI_Comm_size(MPI_COMM_WORLD, &npro); - - tmp0 = 0; - nrhs = 0; - -/*-------------------- read matrix name from input file */ - prm = malloc(sizeof(*prm)); - if (prm == NULL) { - fprintf(stderr, "cannot allocate memory for prm\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - - if (argc >= 2) { - read_param(argv[1],mname, prm); - } - else if (argc == 1){ - read_param("inputs",mname, prm); - } - - /* variable "mname" stores the name of the file in HB format. Read a - Harwell-Boeing matrix. using wreadmtc c-version of sparsit - routine - call wreadmtc a first time to determine sizes of - arrys. read in values on the second call. - */ - -/* --- Begin loop over matrices ----*/ - mat = 0; - while(mname[mat][1] != '#'){ - a = NULL; ja = NULL; ia = NULL; rhstmp = NULL; - -#if defined(DBL_CMPLX) - zreadmtc_(&tmp0,&tmp0,&tmp0,mname[mat],a,ja,ia,rhstmp,&nrhs, - guesol,&n,&nc,&nnz,title,key,type,&ierr); -#else - readmtc_(&tmp0,&tmp0,&tmp0,mname[mat],a,ja,ia,rhstmp,&nrhs, - guesol,&n,&nc,&nnz,title,key,type,&ierr); -#endif - - a = malloc(nnz*sizeof(*a)); - if (a == NULL) { - fprintf(stderr, "cannot allocate memory for a\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - ja = malloc(nnz*sizeof(*ja)); - if (ja == NULL) { - fprintf(stderr, "cannot allocate memory for ja\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - ia = malloc((n+1)*sizeof(*ia)); - if (ia == NULL) { - fprintf(stderr, "cannot allocate memory for ia\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - rhstmp = malloc(n*sizeof(*rhstmp)); - if (rhstmp == NULL) { - fprintf(stderr, "cannot allocate memory for rhstmp\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - if(nrhs != 0) - tmp = 3; - else - tmp = 2; - tmp2 = n; - tmp3 = nnz; - - /*-------------------- Array sizes determined. Now call - wreadmtc again for really reading */ -/* - wreadmtc_(&tmp2,&tmp3,&tmp,mname[mat],&len,a,ja,ia,rhstmp,&nrhs, - guesol,&n,&nc,&nnz,title,key,type,&ierr); -*/ -#if defined(DBL_CMPLX) - zreadmtc_(&tmp2,&tmp3,&tmp,mname[mat],a,ja,ia,rhstmp,&nrhs, - guesol,&n,&nc,&nnz,title,key,type,&ierr); -#else - readmtc_(&tmp2,&tmp3,&tmp,mname[mat],a,ja,ia,rhstmp,&nrhs, - guesol,&n,&nc,&nnz,title,key,type,&ierr); -#endif - - if(ierr != 0) { - fprintf(stderr, "ierr = %d\n", ierr); - fprintf(stderr, "cannot read matrix\n"); - MPI_Finalize(); - exit(1); - } - - if(myid == 0){ - if(argc == 3) { - if (NULL == (fp = fopen(argv[2], "w"))) { - fprintf(stderr, "cannot open file %s\n", argv[2]); - exit(1); - } - } - else { - fp = stdout; - } - fprintf(fp, "\nMatrix %d: %.*s %.*s \n",(mat+1),8,key,3,type); - fprintf(fp, "n = %d, nnz = %d\n", n, nnz); - } - -/*-------------Convert from CSC to CSR format ------------*/ - int *jb, *ib; - FLOAT *b; - b = malloc(nnz*sizeof(*b)); - if (b == NULL) { - fprintf(stderr, "cannot allocate memory for b\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - jb = malloc(nnz*sizeof(*jb)); - if (jb == NULL) { - fprintf(stderr, "cannot allocate memory for jb\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - ib = malloc((n+1)*sizeof(*ib)); - if (ib == NULL) { - fprintf(stderr, "cannot allocate memory for ib\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - job = 1; -#if defined(DBL_CMPLX) - zcsrcsc_(&n, &job, &job, a, ja, ia, b, jb, ib); -#else - csrcsc_(&n, &job, &job, a, ja, ia, b, jb, ib); -#endif -/*---------------Copy CSR matrix ------------------*/ - - memcpy(ia, ib, (n+1)*sizeof(*ia)); - memcpy(ja, jb, nnz*sizeof(*ja)); - memcpy(a, b, nnz*sizeof(*a)); - -/*---------------Free CSR matrix ------------------*/ - - free(ib); - free(b); - free(jb); - - idom = malloc((npro+1)*sizeof(*idom)); - if (idom == NULL) { - fprintf(stderr, "cannot allocate memory for idom\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - dom = malloc(n*sizeof(*dom)); - if (dom == NULL) { - fprintf(stderr, "cannot allocate memory for dom\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - - if (npro == 1) { - for (i = 0; i < n; i++) { - dom[i] = i+1; - } - idom[0] = 1; - idom[1] = n+1; - } - else { - riord = malloc(n*sizeof(*riord)); - if (riord == NULL) { - fprintf(stderr, "cannot allocate memory for riord\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - mask = malloc(n*sizeof(*mask)); - if (mask == NULL) { - fprintf(stderr, "cannot allocate memory for mask\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - jwk = malloc(2*n*sizeof(*jwk)); - if (jwk == NULL) { - fprintf(stderr, "cannot allocate memory for jwk\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - link = malloc(n*sizeof(*link)); - if (link == NULL) { - fprintf(stderr, "cannot allocate memory for link\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - dse_(&n, ja, ia, &npro, riord, dom, idom, mask, jwk, link); - free(riord); - free(mask); - free(jwk); - free(link); - } -/* - for (i = 0; i < n; i++) { - dom[i] = i+1; - } - for(i=1; improcx; - *mprocy = (*prm)->mprocy; - *xnmesh = (*prm)->xnmesh; - *ynmesh = (*prm)->ynmesh; - - free(mname); -} - -void fset_pc_params_(parms_PC *pc, fprm *prm) -{ - set_pc_params(*pc, *prm); -} - -void fset_solver_params_(parms_Solver *solver, fprm *prm) -{ - set_solver_params(*solver, *prm); -} - -void fprm_free_(fprm *prm) -{ - free(*prm); -} diff --git a/lib/parms/examples/grid/aux.h b/lib/parms/examples/grid/aux.h deleted file mode 100755 index f56754bb5..000000000 --- a/lib/parms/examples/grid/aux.h +++ /dev/null @@ -1,85 +0,0 @@ -#ifndef PARMS_AUX_READ_H -#define PARMS_AUX_READ_H - -#include -#include -#include "parms.h" - -#define MAXLINE 200 -#define STR2U(p, p1) \ - if (1) { \ - p = buf; \ - while (' ' == *p) { \ - p++; \ - } \ - p1 = malloc((strlen(p)+1)*sizeof(*p1)); \ - p2 = p1; \ - while (' ' != *p) { \ - *p2 = toupper(*p); \ - ++p; \ - ++p2; \ - } \ - *p2 = '\0'; \ - } else - -typedef struct fprm_ { - PCTYPE pctype; - PCILUTYPE pcilutype; - double pgfpar[2]; - double tolind; - double droptol[7]; - int ipar[18]; - int lfil[7]; - int mprocx; - int mprocy; - int xnmesh; - int ynmesh; -} *fprm; - -#if defined(FORTRAN_CAPS) -#define fread_param_ FREAD_PARAM -#define fset_pc_params_ FSET_PC_PARAMS -#define fset_solver_params_ FSET_SOLVER_PARAMS -#define fprm_free_ FPRM_FREE -#define part1_ PART1 -#define part2_ PART2 -#define gen5loc_ GEN5LOC -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define fread_param_ fread_param__ -#define fset_pc_params_ fset_pc_params__ -#define fset_solver_params_ fset_solver_params__ -#define fprm_free_ fprm_free__ -#define part1_ part1__ -#define part2_ part2__ -#define gen5loc_ gen5loc__ -#elif !defined(FORTRAN_UNDERSCORE) -#define fread_param_ fread_param -#define fset_pc_params_ fset_pc_params -#define fset_solver_params_ fset_solver_params -#define fprm_free_ fprm_free -#define part1_ part1 -#define part2_ part2 -#define gen5loc_ gen5loc -#endif - -extern int read_param(char *fname, fprm prm); -extern void set_pc_params(parms_PC pc, fprm prm); -extern void set_solver_params(parms_Solver solver, fprm prm); -extern void fset_pc_params_(parms_PC *pc, fprm *prm); -extern void fset_solver_params_(parms_Solver *solver, fprm *prm); -extern void fread_param_(char *fname, fprm *prm, int *mprocx, int - *mprocy, int *xnmesh, int *ynmesh, int len); -extern void fprm_free_(fprm *prm); -extern void part1_(int *nx,int *ny,int *mpx,int *mpy,int *ovp,int - *lst,int *lstptr,int *iout); -extern void part2_(int *nx,int *ny,int *nz,int *mpx,int *mpy,int *mpz, - int *ovp,int *lst,int *lstptr,int *iout); -extern void gen5loc_(int *nx,int *ny,int *nz,int *nloc,int - *riord,double *a,int *ja,int *ia, double - *stencil); -#if defined(DBL_CMPLX) -extern void zgen5loc_(int *nx,int *ny,int *nz,int *nloc,int - *riord,complex double *a,int *ja,int *ia, complex double - *stencil); -#endif -#endif diff --git a/lib/parms/examples/grid/dd-grid.c b/lib/parms/examples/grid/dd-grid.c deleted file mode 100755 index 1629e4c05..000000000 --- a/lib/parms/examples/grid/dd-grid.c +++ /dev/null @@ -1,300 +0,0 @@ -/*----------------------------------------------------------------------- - * Test program - WORKS ONLY WHEN nprocx * nprocy == np - *----------------------------------------------------------------------- - * - * Each node generates its own part of the 5-point matrix using a - * simple regular partitioning. Then the rhs is generated, the local - * data structure is set and the system is solved using - * preconditioned FGMRES. - * - *----------------------------------------------------------------------- - * - * the mesh is defined as follows. The grid is virtually laid out on a - * 2-dimensional array of processors: mprocx in x direction, mprocy in - * y direction. mprocx is read from a file (inputs) and mprocy is - * determined as mprocy = numproc / mprocx where numproc is the total - * number of processors available for this run. The simplest case is to - * always take mprocx=1. Then the mesh sizeso in each direction are set - * by the commands: - * - * nx = nmesh*mprocx - * ny = nmesh*mprocy - * nz = 1 - *---------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include "parms.h" -#include "aux.h" - -int main(int argc, char *argv[]) -{ - /* n -- number of total variables - * nloc -- number of local variables - * nx -- number of variables in the x direction - * ny -- number of variables in the y direction - * nz -- 1 - * iov -- overlap (always 0 for vertex based partitioning) - * mprocx -- number of processors in the x direction - * mprocy -- number of processors in the y direction - * maxits -- maximum number of iterations - * nmesh -- mesh points in x and y directions - * im -- the dimension of Krylov subspace - * lfil -- lfil for ilut - * maptmp -- global labelings which are stored processor by processor - * mapptr -- a pointer array. mapptr[i] points to the beginning of - * processor i - * nnz -- the number of none zero elements - */ - int npro, myid,n,nloc,nx,ny,nz,iov,mprocx,mprocy,mprocz,xnmesh,ynmesh, nnz; - int *maptmp,*mapptr, iout, *ja, *ia, *lvars, size,nrow,start; - int its; - double tpc, ttol, res0, res1, ratio; - int count; - fprm prm; - char *name, *iluname; - FILE *fp; - /* variables related to pARMS */ - parms_Map map; - FLOAT *sol, *rhs, *y; - parms_Mat A; - parms_PC pc; - parms_Solver solver; - parms_Timer t; - -/* Viewer object */ -// parms_Viewer mv; - - /* - * a -- a in CSR format - * stencil-- working array - */ - FLOAT stencil[100], *a; - -/*-------------------- Initialize MPI environment */ - MPI_Init(&argc, &argv); - MPI_Comm_size(MPI_COMM_WORLD, &npro); - MPI_Comm_rank(MPI_COMM_WORLD, &myid); - -/*--------- read data from file input ------------*/ - prm = malloc(sizeof(*prm)); - if (prm == NULL) { - fprintf(stderr, "cannot allocate memory for prm\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - - if (argc >= 2) { - read_param(argv[1], prm); - } - else if (argc == 1){ - read_param("inputs", prm); - } - - if (myid == 0) { - fprintf(stderr, "mprocx = %d, mprocy = %d\n", prm->mprocx, prm->mprocy); - fprintf(stderr, "xnmesh = %d, ynmesh = %d\n", prm->xnmesh, prm->ynmesh); - } - - mprocx = prm->mprocx; - mprocy = prm->mprocy; - xnmesh = prm->xnmesh; - ynmesh = prm->ynmesh; - -/*------------------- mprocy = dm->comm->npro / mprocx; */ - if (npro != mprocx*mprocy) { - if (myid == 0) { - fprintf(stderr, " ** ERROR nproc is not equal to mprocx*mprocy = %d\n", - mprocx*mprocy); - } - MPI_Barrier(MPI_COMM_WORLD); - MPI_Abort(MPI_COMM_WORLD, 99); - exit(1); - } - - nx = mprocx * xnmesh; - ny = mprocy * ynmesh; - nz = 1; - size = xnmesh*ynmesh*mprocx*mprocy; - - mapptr = malloc((npro+1)*sizeof(*mapptr)); - if (mapptr == NULL) { - fprintf(stderr, "cannot allocate memory for mapptr\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - maptmp = malloc(size*sizeof(*maptmp)); - if (maptmp == NULL) { - fprintf(stderr, "cannot allocate memory for maptmp\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - - iov = 0; - mprocz = 1; -/*-------------------- call part2_ from skit.f to generate local mesh */ - part2_(&nx, &ny, &nz, &mprocx, &mprocy, &mprocz, &iov, maptmp, - mapptr, &iout); - n = nx * ny * nz; -/*-------------------- Create map object and setup mapping from - global labels to processors */ - parms_MapCreateFromPtr(&map, n, maptmp, mapptr, MPI_COMM_WORLD, 1, NONINTERLACED); - nloc = parms_MapGetLocalSize(map); - lvars = (int *)malloc(nloc*sizeof(int)); - parms_MapGetGlobalIndices(map, lvars); -/*-------------------- Allocate temporary arrays for storing - local matrix in CSR format */ - nnz = 10*xnmesh*ynmesh; - - a = malloc(nnz*sizeof(*a)); - if (a == NULL) { - fprintf(stderr, "cannot allocate memory for a\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - ja = malloc(nnz*sizeof(*ja)); - if (ja == NULL) { - fprintf(stderr, "cannot allocate memory for ja\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - ia = malloc((nloc+1)*sizeof(*ia)); - if (ia == NULL) { - fprintf(stderr, "cannot allocate memory for ia\n"); - MPI_Abort(MPI_COMM_WORLD, 66); - } - - nrow = mapptr[myid+1] - mapptr[myid]; - start = mapptr[myid] - mapptr[0]; -/*-------------------- Generate the local matrix using gen5loc (in fdmat.f) */ -#if defined(DBL_CMPLX) - zgen5loc_(&nx, &ny, &nz, &nloc, &maptmp[start],a,ja,ia,stencil); -#else - gen5loc_(&nx, &ny, &nz, &nloc, &maptmp[start],a,ja,ia,stencil); -#endif -/*-------------------- Create a matrix object based on map */ - parms_MatCreate(&A, map); - -/*-------------------- Insert entries into the matrix */ - parms_MatSetValues(A, nrow, &maptmp[start], ia, ja, a, INSERT); -/*-------------------- Free the matrix stored in CSR format (ia,ja,a) */ - free(a); - free(ja); - free(ia); - - free(mapptr); - free(maptmp); -/*-------------------- setup matrix A */ - parms_MatSetup(A); -/*-------------------- create timer */ - parms_TimerCreate(&t); -/*-------------------- create preconditioner */ - parms_PCCreate(&pc, A); -/*-------------------- set parameters for pc */ - set_pc_params(pc, prm); -/*-------------------- reset the timer */ - parms_TimerReset(t); -/*-------------------- setup preconditioner */ - parms_PCSetup(pc); - tpc = parms_TimerGet(t); -/*-------------------- stats: get ratio of nnz(preconditioning matrix) - over nnz(A) */ - parms_PCGetRatio(pc, &ratio); -/*-------------------- pause the timer */ - parms_TimerPause(t); -/*-------------------- Create a krylov subspace object */ - parms_SolverCreate(&solver, A, pc); -/*-------------------- Set pamaters for solver */ - set_solver_params(solver, prm); - - free(prm); -/*-------------------- Create solution and right-hand-side vectors */ - - rhs = (FLOAT *)malloc(nloc*sizeof(FLOAT)); - sol = (FLOAT *)malloc(nloc*sizeof(FLOAT)); - y = (FLOAT *)malloc(nloc*sizeof(FLOAT)); - -/*------------- print matrix --- DEBUG --------*/ -/* - parms_ViewerCreate(&mv, "matrix.out"); - parms_MatViewCOO_dvcsr(A, mv); -*/ - -/*-------------------- Set up an artifical right-hand-side vector */ - for(count=0; count -#include -#include -#include -#include "petscao.h" -#include "petscksp.h" -#include "parms.h" -#include "protos.h" - -int main(int argc, char *argv[]) -{ - int myid,usmy,ierr,len; - /* declarations related to Harwell-boeing format for reading the HB - matri. Second part is related to I/O parameters */ - char matrix[BUFLEN], guesol[2], title[72], - key[8], type[3]; - int nrhs, nc, n, nnz, tmp0, tmp, tmp2, tmp3, job; - - /* working array for reading matrix */ - FLOAT *a,*rhstmp,*b; - int *ja, *ia,*jb,*ib; - int npro, *iwk, i1,i; - int mnnz, ii, jj; - - /* working array for symmetryzing matrix */ - FLOAT *mc; - int *jc, *ic; - int nnzrow, pos; - - Vec sol, rhs, y; - Mat A; - KSP ksp; - PC pc; - PetscReal res1, res2, value; - int j, iters; - -/* User defined preconditioner */ - PetscTruth user_defined_pc; /* flag option for user defined preconditioner */ - - /* initialize MPI environment */ - PetscInitialize(&argc, &argv, (char *)0, (char *)0); - MPI_Comm_rank(PETSC_COMM_WORLD, &myid); - MPI_Comm_size(PETSC_COMM_WORLD, &npro); - -/* ------------ Check to make sure compilations for pARMS and PETSC are consistent -----*/ -#if defined(DBL_CMPLX) - if(sizeof(PetscScalar) == sizeof(double)) - { - fprintf(stderr," %d: Compilation mismatch: Using complex version of pARMS with real version of PETSC !!\n", myid); - fprintf(stderr," %d: Compile real version of pARMS to use real version of PETSC \n", myid); - MPI_Finalize(); - exit(0); - } -#else - if(sizeof(PetscScalar) == sizeof(double _Complex)) - { - fprintf(stderr," %d: Compilation mismatch: Using real version of pARMS with complex version of PETSC !!\n", myid); - fprintf(stderr," %d: Compile complex version of pARMS to use complex version of PETSC \n", myid); - MPI_Finalize(); - exit(0); - } -#endif - - tmp0 = 0; - nrhs = 1; - /* Read matrix; either using user-defined function (routine uread) or - | SPARSKIT function for reading Harwell-Boeieng matrices - */ - /* read matrix name from file input */ - read_matrix(matrix); - - /* variable "matrix" stores the name of the file in HB format - | - | Read a Harwell-Boeing matrix. using wreadmtc c-version of - | sparsit routine - call wreadmtc a first time to determine sizes - | of arryas. read in values on the second call. - */ - len = strlen(matrix); - a = NULL; ja = NULL; ia = NULL; rhstmp = NULL; -#if defined(DBL_CMPLX) - zwreadmtc_(&tmp0,&tmp0,&tmp0,matrix,&len,a,ja,ia,rhstmp,&nrhs, - guesol,&n,&nc,&nnz,title,key,type,&ierr); -#else - wreadmtc_(&tmp0,&tmp0,&tmp0,matrix,&len,a,ja,ia,rhstmp,&nrhs, - guesol,&n,&nc,&nnz,title,key,type,&ierr); -#endif - ia = malloc((n+1)*sizeof(*ia)); - ja = malloc(nnz*sizeof(*ja)); - a = malloc(nnz*sizeof(*a)); - - if (nrhs) { - tmp = 3; - tmp2 = n; - tmp3 = nnz; - if (guesol[0] == 'G' || guesol[0] == 'g') nrhs++; - if (guesol[1] == 'X' || guesol[1] == 'x') nrhs++; - rhstmp = malloc((n*nrhs)*sizeof(*rhstmp)); - } - if (!nrhs) { - tmp = 2; - tmp2 = n; - tmp3 = nnz; - } - - /* Array sizes determined. Now call wreadmtc again for really - reading */ -#if defined(DBL_CMPLX) - zwreadmtc_(&tmp2,&tmp3,&tmp,matrix,&len,a,ja,ia,rhstmp,&nrhs, - guesol,&n,&nc,&nnz,title,key,type,&ierr); -#else - wreadmtc_(&tmp2,&tmp3,&tmp,matrix,&len,a,ja,ia,rhstmp,&nrhs, - guesol,&n,&nc,&nnz,title,key,type,&ierr); -#endif - free(rhstmp); - if(ierr > 0 && ierr < 4 && !myid) { - fprintf(stderr, "cannot read matrix\n"); - fprintf(stderr, "ierr = %d\n", ierr); - exit(1); - } - else if (ierr >= 4 && !myid){ - fprintf(stderr, "*** Warning: RHS or solution vectors are not read. Artificial RHS will be used\n"); - nrhs = 0; - } - - if(myid == 0) { - fprintf(stdout,"READ the matrix %.*s %.*s \n",8,key,3,type); - } - - - if (myid == 0){ - fprintf(stdout,"Matrix dimension is %d, Number of nonzeros is %d\n",n,nnz); - } - - - /* the matrix is symmetrized */ - b = malloc(nnz*sizeof(*b)); - jb = malloc(nnz*sizeof(*jb)); - ib = malloc((n+1)*sizeof(*ib)); - - job = 1; - i = 1; -/* ---- convert from CSC to CSR matrix ------*/ -#if defined(DBL_CMPLX) - zcsrcsc_(&n, &job, &i, a, ja, ia, b, jb, ib); -#else - csrcsc_(&n, &job, &i, a, ja, ia, b, jb, ib); -#endif - -/*----- symmetrize or not ---- */ - usmy = 0; - if(usmy == 1) { - iwk = malloc(n*sizeof(*iwk)); - mc = malloc((2*nnz)*sizeof(*mc)); - jc = malloc((2*nnz)*sizeof(*jc)); - ic = malloc((n+1)*sizeof(*ic)); - - for(i = 0; i < nnz; i++) { - b[i] = 0.0; - } - job = 1; - i1 = 2*nnz; - - /* compute C = A + B */ -#if defined(DBL_CMPLX) - zaplb_(&n, &n, &job, a, ja, ia, b, jb, ib, mc, jc, ic, &i1, iwk, - &ierr); -#else - aplb_(&n, &n, &job, a, ja, ia, b, jb, ib, mc, jc, ic, &i1, iwk, - &ierr); -#endif - if (ierr) fprintf(stderr, "Error: in aplb, ierr = %d\n", ierr); - nnz = ic[n]-1; - if (!myid) - fprintf(stderr, - "Matrix pattern has been symmetrized; added %d nonzeros.\n", - ic[n]-ia[n]); - - ja = realloc(ja, nnz*sizeof(*ja)); - a = realloc(a, nnz*sizeof(*a)); - - memcpy(ia, ic, (n+1)*sizeof(*ia)); - memcpy(ja, jc, nnz*sizeof(*ia)); - memcpy(a, mc, nnz*sizeof(*a)); - - free(b); - free(jb); - free(ib); - free(mc); - free(jc); - free(ic); - free(iwk); - } - else - { - memcpy(ia, ib, (n+1)*sizeof(*ia)); - memcpy(ja, jb, nnz*sizeof(*ia)); - memcpy(a, b, nnz*sizeof(*a)); - free(b); - free(jb); - free(ib); - } - - /* create Mat object */ - mnnz = 0; - for (i = 1; i <= n; i++) { - nnzrow = ia[i] - ia[i-1]; - if (mnnz < nnzrow) { - mnnz = nnzrow; - } - } - - /* create a matrix object */ - MatCreateMPIAIJ(PETSC_COMM_WORLD, PETSC_DECIDE, PETSC_DECIDE, n, n, mnnz, PETSC_NULL, mnnz, - PETSC_NULL, &A); - - for(i = 1; i <= n; i++) { - nnzrow = ia[i] - ia[i-1]; - pos = ia[i-1] - ia[0]; - ii = i-1; - for (j = 0; j < nnzrow; j++) { - jj = ja[pos+j] - 1; - MatSetValues(A, 1, &ii, 1, &jj, &a[pos+j], INSERT_VALUES); - } - } - - /* free temporary arrays */ - free(a); free(ja); free(ia); - - /* assemble the matrix */ - MatAssemblyBegin(A, MAT_FINAL_ASSEMBLY); - MatAssemblyEnd(A, MAT_FINAL_ASSEMBLY); - - /* create an abstract krylov subspace object */ - KSPCreate(PETSC_COMM_WORLD, &ksp); - - /* create solution and right-hand-side vector */ - VecCreateMPI(PETSC_COMM_WORLD, PETSC_DECIDE, n, &rhs); - VecDuplicate(rhs, &sol); - VecDuplicate(rhs, &y); - - value = 1.0; - VecSet(sol, value); - MatMult(A, sol, rhs); - - /* set initial guess */ - value = 0.0; - VecSet(sol, value); - - VecAssemblyBegin(sol); - VecAssemblyEnd(sol); - - /* initial residual norm */ - MatMult(A, sol, y); - value = -1.0; - VecAXPY(rhs, value, y); - VecNorm(y, NORM_2, &res1); - - /* solve linear systems with the krylov subspace method selected */ - KSPSetOperators(ksp, A, A, SAME_NONZERO_PATTERN); - KSPSetType(ksp, KSPFGMRES); - KSPGMRESSetRestart(ksp, 20); - KSPSetTolerances(ksp, 1.0e-6, 1.0e-20, 1.0e6, 1000); - /* Extract PC context from the KSP context */ - ierr = KSPGetPC(ksp,&pc);CHKERRQ(ierr); - /* - Set a user-defined "shell" preconditioner if desired - */ - ierr = PetscOptionsHasName(PETSC_NULL,"-user_defined_pc",&user_defined_pc);CHKERRQ(ierr); - if (user_defined_pc) { - - /* (Required) Indicate to PETSc that we're using a "shell" preconditioner */ - ierr = PCSetType(pc,PCSHELL);CHKERRQ(ierr); - - /* (Required) Set the user-defined routine for applying the preconditioner */ - ierr = PCShellSetApply(pc,PCApply_PARMS);CHKERRQ(ierr); - ierr = PCShellSetContext(pc,&pc);CHKERRQ(ierr); - - /* (Optional) Set a name for the preconditioner, used for PCView() */ - ierr = PCShellSetName(pc,"pARMS Preconditioner");CHKERRQ(ierr); - - /* (Optional) Do any setup required for the preconditioner */ - ierr = PCShellSetSetUp(pc,PCSetUp_PARMS);CHKERRQ(ierr); - - /* (Optional) Destructor for the preconditioner */ - ierr = PCShellSetDestroy(pc,PCDestroy_PARMS);CHKERRQ(ierr); - - } else { - ierr = PCSetType(pc,PCBJACOBI);CHKERRQ(ierr); - } - - KSPSetFromOptions(ksp); - - KSPSolve(ksp, rhs, sol); - KSPGetIterationNumber(ksp, &iters); - VecNorm(rhs, NORM_2, &res1); - KSPGetResidualNorm(ksp, &res2); - if(myid == 0) { - fprintf(stderr, "The number of iteration %5s %d\n", "=",iters); - fprintf(stderr, "The initial residual error = %8.3e\n", res1); - fprintf(stderr, "The solution residual error = %8.3e\n", res2); - } - - /* free memories for map, vec, mat, solver */ - MatDestroy(A); - VecDestroy(sol); - VecDestroy(rhs); - VecDestroy(y); - KSPDestroy(ksp); - - /* exit MPI environment */ - PetscFinalize(); - return EXIT_SUCCESS; -} diff --git a/lib/parms/examples/petsc/fparms.c b/lib/parms/examples/petsc/fparms.c deleted file mode 100755 index 31d4a2047..000000000 --- a/lib/parms/examples/petsc/fparms.c +++ /dev/null @@ -1,79 +0,0 @@ -/* This file contains pARMS interface routines to petsc for fortran calls. Note that this is - * only compatible with the latest version of petsc (version 3.1). For older - * versions (version 3.0) use fparms.c_petsc_3.0. -*/ -#include -#include -#include -#include -#include -#include "petsc.h" -#include "petscksp.h" -#include "petscsys.h" -#include "parms.h" -#include "protos.h" -#ifdef _SUN -#define f_pcsetup_parms_ f_pcsetup_parms_ -#define f_pcapply_parms_ f_pcapply_parms_ -#define f_pcdestroy_parms_ f_pcdestroy_parms_ -#else -#ifdef _LINUX -#define f_pcsetup_parms_ f_pcsetup_parms__ -#define f_pcapply_parms_ f_pcapply_parms__ -#define f_pcdestroy_parms_ f_pcdestroy_parms__ -#else -#ifdef _IBM -#define f_pcsetup_parms_ f_pcsetup_parms -#define f_pcapply_parms_ f_pcapply_parms -#define f_pcdestroy_parms_ f_pcdestroy_parms -#else -#ifdef _SGI -#define f_pcsetup_parms_ f_pcsetup_parms_ -#define f_pcapply_parms_ f_pcapply_parms_ -#define f_pcdestroy_parms_ f_pcdestroy_parms_ -#endif -#endif -#endif -#endif - -/*--------------------------------------------------------------------- -| interface for FORTRAN calls to pARMS routines. -+---------------------------------------------------------------------*/ - -PetscErrorCode f_pcsetup_parms_(PC *ctx, PetscErrorCode *ierr) -{ -/* function protos */ - PetscErrorCode PCSetUp_PARMS(PC ); - int parms_SetOptions(parms_PC , char *); -/*end protos */ - - *ierr = PCSetUp_PARMS(*ctx);CHKERRQ(*ierr); - - return(*ierr); - -} - -PetscErrorCode f_pcapply_parms_(PC *dummy, Vec *b,Vec *x, PetscErrorCode *ierr) -{ -/*function protos */ - PetscErrorCode PCApply_PARMS(PC,Vec ,Vec ); -/*end protos*/ - - *ierr = PCApply_PARMS(*dummy,*b,*x);CHKERRQ(*ierr); - - return(*ierr); -} - -PetscErrorCode f_pcdestroy_parms_(PC *dummy, PetscErrorCode *ierr) -{ - -/* function protos */ - PetscErrorCode PCDestroy_PARMS(PC); -/* end protos */ - - *ierr = PCDestroy_PARMS(*dummy);CHKERRQ(*ierr); - - return(*ierr); -} - - diff --git a/lib/parms/examples/petsc/ftest.F b/lib/parms/examples/petsc/ftest.F deleted file mode 100755 index ad1f15ecb..000000000 --- a/lib/parms/examples/petsc/ftest.F +++ /dev/null @@ -1,263 +0,0 @@ -! -! Solves a linear system in parallel with KSP. Also indicates -! use of a user-provided preconditioner. Input parameters include: -! -user_defined_pc : Activate a user-defined preconditioner -! -! Program usage: mpiexec ex15f [-help] [all PETSc options] -! -!/*T -! Concepts: KSP^basic parallel example -! Concepts: PC^setting a user-defined shell preconditioner -! Processors: n -!T*/ -! -! ------------------------------------------------------------------------- - - program main - implicit none - -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Include files -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! -! petsc.h - base PETSc routines petscvec.h - vectors -! petscsys.h - system routines petscmat.h - matrices -! petscksp.h - Krylov subspace methods petscpc.h - preconditioners - -#include "finclude/petsc.h" -!#include "finclude/petscvec.h" -!#include "finclude/petscmat.h" -!#include "finclude/petscpc.h" -!#include "finclude/petscksp.h" - -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Variable declarations -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! -! Variables: -! ksp - linear solver context -! ksp - Krylov subspace method context -! pc - preconditioner context -! x, b, u - approx solution, right-hand-side, exact solution vectors -! A - matrix that defines linear system -! its - iterations for convergence -! norm - norm of solution error - - Vec x,b,u - Mat A - PC pc - KSP ksp - PetscScalar v,one,neg_one - double precision norm,tol - PetscErrorCode ierr - PetscInt i,j,II,JJ,Istart - PetscInt Iend,m,n,i1,its,five - PetscMPIInt rank - PetscTruth user_defined_pc,flg - -! Note: Any user-defined Fortran routines MUST be declared as external. - - external f_pcsetup_parms, f_pcapply_parms - external f_pcdestroy_parms - -! Common block to store data for user-provided preconditioner -! common /myshellpc/ diag -! Vec diag - -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Beginning of program -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - call PetscInitialize(PETSC_NULL_CHARACTER,ierr) - one = 1.0 - neg_one = -1.0 - i1 = 1 - m = 8 - n = 7 - five = 5 - call PetscOptionsGetInt(PETSC_NULL_CHARACTER,'-m',m,flg,ierr) - call PetscOptionsGetInt(PETSC_NULL_CHARACTER,'-n',n,flg,ierr) - call MPI_Comm_rank(PETSC_COMM_WORLD,rank,ierr) - -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Compute the matrix and right-hand-side vector that define -! the linear system, Ax = b. -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Create parallel matrix, specifying only its global dimensions. -! When using MatCreate(), the matrix format can be specified at -! runtime. Also, the parallel partitioning of the matrix is -! determined by PETSc at runtime. - - call MatCreate(PETSC_COMM_WORLD,A,ierr) - call MatSetSizes(A,PETSC_DECIDE,PETSC_DECIDE,m*n,m*n,ierr) - call MatSetType(A, MATAIJ,ierr) - call MatSetFromOptions(A,ierr) - call MatMPIAIJSetPreallocation(A,five,PETSC_NULL_INTEGER,five, - & PETSC_NULL_INTEGER,ierr) - call MatSeqAIJSetPreallocation(A,five,PETSC_NULL_INTEGER,ierr) - -! Currently, all PETSc parallel matrix formats are partitioned by -! contiguous chunks of rows across the processors. Determine which -! rows of the matrix are locally owned. - - call MatGetOwnershipRange(A,Istart,Iend,ierr) - -! Set matrix elements for the 2-D, five-point stencil in parallel. -! - Each processor needs to insert only elements that it owns -! locally (but any non-local elements will be sent to the -! appropriate processor during matrix assembly). -! - Always specify global row and columns of matrix entries. -! - Note that MatSetValues() uses 0-based row and column numbers -! in Fortran as well as in C. - - do 10, II=Istart,Iend-1 - v = -1.0 - i = II/n - j = II - i*n - if (i.gt.0) then - JJ = II - n - call MatSetValues(A,i1,II,i1,JJ,v,ADD_VALUES,ierr) - endif - if (i.lt.m-1) then - JJ = II + n - call MatSetValues(A,i1,II,i1,JJ,v,ADD_VALUES,ierr) - endif - if (j.gt.0) then - JJ = II - 1 - call MatSetValues(A,i1,II,i1,JJ,v,ADD_VALUES,ierr) - endif - if (j.lt.n-1) then - JJ = II + 1 - call MatSetValues(A,i1,II,i1,JJ,v,ADD_VALUES,ierr) - endif - v = 4.0 - call MatSetValues(A,i1,II,i1,II,v,ADD_VALUES,ierr) - 10 continue - -! Assemble matrix, using the 2-step process: -! MatAssemblyBegin(), MatAssemblyEnd() -! Computations can be done while messages are in transition, -! by placing code between these two statements. - - call MatAssemblyBegin(A,MAT_FINAL_ASSEMBLY,ierr) - call MatAssemblyEnd(A,MAT_FINAL_ASSEMBLY,ierr) - -! Create parallel vectors. -! - Here, the parallel partitioning of the vector is determined by -! PETSc at runtime. We could also specify the local dimensions -! if desired -- or use the more general routine VecCreate(). -! - When solving a linear system, the vectors and matrices MUST -! be partitioned accordingly. PETSc automatically generates -! appropriately partitioned matrices and vectors when MatCreate() -! and VecCreate() are used with the same communicator. -! - Note: We form 1 vector from scratch and then duplicate as needed. - - call VecCreateMPI(PETSC_COMM_WORLD,PETSC_DECIDE,m*n,u,ierr) - call VecDuplicate(u,b,ierr) - call VecDuplicate(b,x,ierr) - -! Set exact solution; then compute right-hand-side vector. - - call VecSet(u,one,ierr) - call MatMult(A,u,b,ierr) - -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Create the linear solver and set various options -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Create linear solver context - - call KSPCreate(PETSC_COMM_WORLD,ksp,ierr) - -! Set operators. Here the matrix that defines the linear system -! also serves as the preconditioning matrix. - - call KSPSetOperators(ksp,A,A,DIFFERENT_NONZERO_PATTERN,ierr) - -! Set linear solver defaults for this problem (optional). -! - By extracting the KSP and PC contexts from the KSP context, -! we can then directly directly call any KSP and PC routines -! to set various options. - - call KSPGetPC(ksp,pc,ierr) - tol = 1.e-7 - call KSPSetTolerances(ksp,tol,PETSC_DEFAULT_DOUBLE_PRECISION, - & PETSC_DEFAULT_DOUBLE_PRECISION,PETSC_DEFAULT_INTEGER,ierr) - -! -! Set a user-defined shell preconditioner if desired -! - call PetscOptionsHasName(PETSC_NULL_CHARACTER,'-user_defined_pc', - & user_defined_pc,ierr) - - if (user_defined_pc) then - -! (Required) Indicate to PETSc that we are using a shell preconditioner - call PCSetType(pc,PCSHELL,ierr) - -! (Required) Set the user-defined routine for applying the preconditioner - call PCShellSetApply(pc,f_PCApply_PARMS,ierr) - call PCShellSetContext(pc,pc,ierr) - -! (Optional) Set a name for the preconditioner, used for PCView() - call PCShellSetName(pc,"pARMS Preconditioner", ierr) - -! (Optional) Do any setup required for the preconditioner */ - call PCShellSetSetUp(pc, f_PCSetUp_PARMS,ierr) - -! (Optional) Frees any objects we created for the preconditioner - call PCShellSetDestroy(pc,f_PCDestroy_PARMS,ierr) - - else - call PCSetType(pc,PCBJACOBI,ierr) - endif - -! Set runtime options, e.g., -! -ksp_type -pc_type -ksp_monitor -ksp_rtol -! These options will override those specified above as long as -! KSPSetFromOptions() is called _after_ any other customization -! routines. - - call KSPSetFromOptions(ksp,ierr) - -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Solve the linear system -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - call KSPSolve(ksp,b,x,ierr) - -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Check solution and clean up -! - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -! Check the error - - call VecAXPY(x,neg_one,u,ierr) - call VecNorm(x,NORM_2,norm,ierr) - call KSPGetIterationNumber(ksp,its,ierr) - - if (rank .eq. 0) then - if (norm .gt. 1.e-12) then - write(6,100) norm,its - else - write(6,110) its - endif - endif - 100 format('Norm of error ',1pe10.4,' iterations ',i5) - 110 format('Norm of error < 1.e-12,iterations ',i5) - -! Free work space. All PETSc objects should be destroyed when they -! are no longer needed. - - call KSPDestroy(ksp,ierr) - call VecDestroy(u,ierr) - call VecDestroy(x,ierr) - call VecDestroy(b,ierr) - call MatDestroy(A,ierr) - -! Always call PetscFinalize() before exiting a program. - - call PetscFinalize(ierr) - end - diff --git a/lib/parms/examples/petsc/makefile b/lib/parms/examples/petsc/makefile deleted file mode 100755 index 9df38f283..000000000 --- a/lib/parms/examples/petsc/makefile +++ /dev/null @@ -1,31 +0,0 @@ -SHELL = /bin/sh - -include makefile.in - -allexe: test.ex ftest.ex dd-petsc.ex - -test.ex: test.o parms.o chkopts - ${LINKER} ${CLINKFLAGS} -o $@ test.o parms.o \ - ${SHFLAGS} ${LIBFLAGS} ${PARMS_LIBS} ${XLIBDIR} ${XLIB} \ - ${MPI_LIB_DIR} ${MPI_LIB} ${LAPACK_BLAS_LIB_DIR} ${LAPACK_BLAS_LIB} \ - ${MATH_LIB_DIR} ${MATH_LIB} ${PETSC_KSP_LIB} - ${RM} test.o - -ftest.ex: ftest.o parms.o fparms.o chkopts - ${F90LINKER} ${FLINKFLAGS} -o $@ ftest.o parms.o fparms.o \ - ${SHFLAGS} ${LIBFLAGS} ${PARMS_LIBS} ${XLIBDIR} ${XLIB} \ - ${MPI_LIB_DIR} ${MPI_LIB} ${LAPACK_BLAS_LIB_DIR} ${LAPACK_BLAS_LIB} \ - ${MATH_LIB_DIR} ${MATH_LIB} ${PETSC_KSP_LIB} - ${RM} ftest.o - -dd-petsc.ex: dd-petsc.o parms.o readmat.o skit.o chkopts - ${LINKER} ${CLINKFLAGS} -o $@ dd-petsc.o parms.o readmat.o skit.o \ - ${SHFLAGS} ${LIBFLAGS} ${PARMS_LIBS} ${XLIBDIR} ${XLIB} \ - ${MPI_LIB_DIR} ${MPI_LIB} ${LAPACK_BLAS_LIB_DIR} ${LAPACK_BLAS_LIB} \ - ${MATH_LIB_DIR} ${MATH_LIB} ${PETSC_KSP_LIB} - ${RM} dd-petsc.o - -cleanall:: - @-${RM} -rf *.o core *~ *# *.ex paramfile.* - - diff --git a/lib/parms/examples/petsc/makefile.in b/lib/parms/examples/petsc/makefile.in deleted file mode 100755 index 7308d8393..000000000 --- a/lib/parms/examples/petsc/makefile.in +++ /dev/null @@ -1,35 +0,0 @@ -SHELL = /bin/sh - - -include ${PETSC_DIR}/conf/rules -include ${PETSC_DIR}/conf/variables - -include ../../makefile.in - -# path of the header files of pARMS -ICFLAGS = -I../../include ${PETSC_INCLUDE} - -# path of the header files for implmentation of pARMS -ISRCINC = -I../../src/include ${PETSC_INCLUDE} - -# path of the header files -IFFLAGS = -I../../include ${PETSC_INCLUDE} - -# linker and options -F90LINKER = ${F90} -LINKER = ${FC} -CLINKFLAGS = ${FFLAGS} ${PETSC_FCPPFLAGS} -FLINKFLAGS = ${FFLAGS} ${PETSC_FCPPFLAGS} - -PARMS_LIBS = -L../../lib -lparms - -.c.o: - ${CC} ${ICFLAGS} ${ISRCINC} ${XIFLAGS} $(COPTFLAGS) \ - ${CFLAGS} ${CFFLAGS} ${PETSC_CCPPFLAGS} ${PETSC_FCPPFLAGS} $< -c -o $@ - -.F.o: - ${F90} -FI ${IFFLAGS} ${FFLAGS} $< -c -o $(@F) - -.f.o: - ${FC} ${FFLAGS} $< -c -o $(@F) - diff --git a/lib/parms/examples/petsc/matfileCmplx b/lib/parms/examples/petsc/matfileCmplx deleted file mode 100755 index c055ab2df..000000000 --- a/lib/parms/examples/petsc/matfileCmplx +++ /dev/null @@ -1,7 +0,0 @@ -../matrices/qc324.cua -## - - -###List of complex matrices### -../matrices/qc324.cua -../matrices/dwg961b.cua diff --git a/lib/parms/examples/petsc/matfileReal b/lib/parms/examples/petsc/matfileReal deleted file mode 100755 index c59950334..000000000 --- a/lib/parms/examples/petsc/matfileReal +++ /dev/null @@ -1,8 +0,0 @@ -../matrices/SHERMAN5 -## - - -###List of complex matrices### -../matrices/SHERMAN5 -../matrices/SAYLR4 -../matrices/SHERMAN3 diff --git a/lib/parms/examples/petsc/parms.c b/lib/parms/examples/petsc/parms.c deleted file mode 100755 index fda9a2eeb..000000000 --- a/lib/parms/examples/petsc/parms.c +++ /dev/null @@ -1,482 +0,0 @@ -/* This file contains pARMS interface routines to petsc. Note that this is - * only compatible with the latest version of petsc (version 3.1). For older - * versions (version 3.0) use parms.c_petsc_3.0. -*/ -#include -#include -#include -#include -#include "petscksp.h" -#include "parms.h" -#include "protos.h" - -static PC_PARMS *PREC; /* user-defined preconditioner context */ - -#undef __FUNCT__ -#define __FUNCT__ "PCCreate_PARMS" -PetscErrorCode PCCreate_PARMS(PC_PARMS **prec) -{ - PC_PARMS *newpc; - PetscErrorCode ierr; - - ierr = PetscNew(PC_PARMS,&newpc);CHKERRQ(ierr); - - newpc->map = 0; - newpc->A = 0; - newpc->pc = 0; - - *prec = newpc; - - return(0); -} - -#undef __FUNCT__ -#define __FUNCT__ "PCSetUp_PARMS" -PetscErrorCode PCSetUp_PARMS(PC ctx) -{ - Mat pmat; - PC *precon = &ctx; - parms_Map map; - parms_Mat A; - parms_PC pc; - char *iluname, *pname; - int *maptmp, *mapptr, npro, rank, low, high; - int m, n, lsize, *ia, *ja, *ja1, ncols, pos, i; - int length, *im; - double fill_fact; - PetscScalar *aa, *aa1; - const PetscInt *cols; - const PetscScalar *values; - -/* pARMS options file name */ - char fname[] = "parms_opts"; - - MPI_Comm_size(PETSC_COMM_WORLD, &npro); - MPI_Comm_rank(PETSC_COMM_WORLD, &rank); - -/* ------------ Check to make sure compilations for pARMS and PETSC are consistent -----*/ -#if defined(DBL_CMPLX) - if(sizeof(PetscScalar) == sizeof(double)) - { - fprintf(stderr," %d: Compilation mismatch: Using complex version of pARMS with real version of PETSC !!\n", rank); - fprintf(stderr," %d: Compile real version of pARMS to use real version of PETSC \n", rank); - MPI_Finalize(); - exit(0); - } -#else - if(sizeof(PetscScalar) == sizeof(double _Complex)) - { - fprintf(stderr," %d: Compilation mismatch: Using real version of pARMS with complex version of PETSC !!\n", rank); - fprintf(stderr," %d: Compile complex version of pARMS to use complex version of PETSC \n", rank); - MPI_Finalize(); - exit(0); - } -#endif - -/* Get preconditioning matrix from petsc and setup -/ pARMS structs -*/ - PCGetOperators(*precon,PETSC_NULL,&pmat,PETSC_NULL); - - MatGetSize(pmat, &n, &m); - MatGetOwnershipRange(pmat, &low, &high); - PetscMalloc((npro+1)*sizeof(int), &mapptr); - PetscMalloc(n*sizeof(int), &maptmp); - lsize = high - low; - - MPI_Allgather(&lsize, 1, MPI_INT, mapptr+1, 1, MPI_INT, PETSC_COMM_WORLD); - mapptr[0] = 1; - for (i = 0; i < npro; i++) { - mapptr[i+1] += mapptr[i]; - } - for (i = 0; i < n; i++) { - maptmp[i] = i+1; - } - -/* create parms map object */ - if(PREC == NULL) - parms_MapCreateFromPtr(&map, n, maptmp, mapptr, MPI_COMM_WORLD, 1, NONINTERLACED); - else /*---- map re-use data structure */ - map = PREC->map; - -/* create parms mat object */ - if(PREC == NULL) - parms_MatCreate(&A, map); - else - { -/*------ Data structure is being re-used ----*/ - A = PREC->A; - parms_MatReset(A, DIFFERENT_NONZERO_STRUCTURE); - } -/* setup and copy csr data structure for parms */ - PetscMalloc((lsize+1)*sizeof(int), &ia); - ia[0] = 1; - length = lsize * 8; - PetscMalloc(length*sizeof(int), &ja); - PetscMalloc(length*sizeof(PetscScalar), &aa); - - for (i = low; i < high; i++) - { - pos = ia[i-low]-1; - MatGetRow(pmat, i, &ncols, &cols, &values); - ia[i-low+1] = ia[i-low] + ncols; - - if (ia[i-low+1] >= length) - { - length += ncols; - PetscMalloc(length*sizeof(int), &ja1); - memcpy(ja1, ja, (ia[i-low]-1)*sizeof(int)); - PetscFree(ja); - ja = ja1; - PetscMalloc(length*sizeof(PetscScalar), &aa1); - memcpy(aa1, aa, (ia[i-low]-1)*sizeof(PetscScalar)); - PetscFree(aa); - aa = aa1; - } - memcpy(&ja[pos], cols, ncols*sizeof(int)); - memcpy(&aa[pos], values,ncols*sizeof(PetscScalar)); - MatRestoreRow(pmat, i, &ncols, &cols, &values); - } - -/* csr info is for local matrix so initialize im[] locally */ - PetscMalloc(lsize*sizeof(int), &im); - memcpy(im, &maptmp[mapptr[rank]-1], lsize*sizeof(int)); - -/* convert csr aa vector from petscscalar to double */ - for(i=0; ipc; - -/* Set Preconditioner options based on parameters in - parms_opts file -*/ - parms_SetOptions(pc, fname); - parms_PCSetup(pc); - -/* Print some preconditioner stats */ - parms_PCGetName(pc, &pname); - parms_PCILUGetName(pc, &iluname); - parms_PCGetRatio(pc, &fill_fact); - if (rank == 0) { - printf("The global preconditioner %2s %s\n", " ", pname); - printf("The local preconditioner %4s %s\n", " ", iluname); - printf("The memory usage %12s %-4.2f\n", "=", fill_fact); - printf("The number of processors %4s %-4d\n", "=", npro); - } - - -/* Setup preconditioner object for petsc */ - if(PREC == NULL) - { - PCCreate_PARMS(&PREC); - PREC->map = map; - PREC->A = A; - PREC->pc = pc; - } - return(0); -} - -/* prec - precondition object - b - right-hand-side vector - x - solution vector on return (preconditioned vector) -*/ -#undef __FUNCT__ -#define __FUNCT__ "PCApply_PARMS" -PetscErrorCode PCApply_PARMS(PC dummy,Vec b,Vec x) -{ - PetscErrorCode ierr; - PetscScalar *x1, *b1; - FLOAT *rhs, *rhs1, *sol, *sol1; - int nloc, i, rank; - - MPI_Comm_rank(PETSC_COMM_WORLD, &rank); -/* get petsc vector */ - ierr = VecGetArray(b, &b1);CHKERRQ(ierr); - ierr = VecGetArray(x, &x1);CHKERRQ(ierr); - -/* get size of local system and allocate memory - for rhs and solution vectors -*/ - nloc = parms_MapGetLocalSize(PREC->map); - PetscMalloc((nloc)*sizeof(FLOAT), &rhs); - PetscMalloc((nloc)*sizeof(FLOAT), &sol); - PetscMalloc((nloc)*sizeof(FLOAT), &rhs1); - PetscMalloc((nloc)*sizeof(FLOAT), &sol1); - -/* convert from petsscalar to float */ - for(i=0; imap); - -/* Do preconditioner solve */ - parms_PCApply(PREC->pc, rhs, sol1); - - parms_VecInvPermAux(sol1, sol, PREC->map); - -/* convert from float to petscscalar*/ - for(i=0; iA)); - parms_MapFree(&(PREC->map)); - parms_PCFree(&(PREC->pc)); - - ierr = PetscFree(PREC);CHKERRQ(ierr); - return(0); -} - - -/* Some auxilliary functions -============================ -*/ - -/* Set pARMS preconditioner options. It is easier - to simply read from file, so options are set - in the file parms_opts -*/ -int parms_SetOptions(parms_PC pc, char fname[]) -{ - FILE *fp; - char buf[MAX_LINE], *p, *p1, *p2; - int i, its, par, lfil[7], nlev, meth[8]; - double eps, droptol[7], tolind; - - for(i=0; i<8; i++) - meth[i] = 0; - - if (NULL == (fp = fopen(fname, "r"))) { - fprintf(stderr, "cannot open parms options file %s\n", fname); - exit(1); - } - -/*----Get parallel Precon Type ---*/ - if(fgets(buf, MAX_LINE, fp)== NULL){ - fprintf(stderr, "Error reading global precon type"); - exit(1); - } - STR2U(p, p1); - if (!strcmp(p1, "RAS")) { - parms_PCSetType(pc, PCRAS); - } - else if (!strcmp(p1, "SCHUR")){ - parms_PCSetType(pc, PCSCHUR); - } - else if (!strcmp(p1, "BJ")) { - parms_PCSetType(pc, PCBJ); - } - free(p1); -/* --- Get Local Precon type ---*/ - if(fgets(buf, MAX_LINE, fp) == NULL){ - fprintf(stderr, "Error reading local precon type"); - exit(1); - } - STR2U(p, p1); - if (!strcmp(p1, "ILU0")) { - parms_PCSetILUType(pc, PCILU0); - } - else if (!strcmp(p1, "ILUK")) { - parms_PCSetILUType(pc, PCILUK); - } - else if (!strcmp(p1, "ILUT")) { - parms_PCSetILUType(pc, PCILUT); - } - else if (!strcmp(p1, "ARMS")) { - parms_PCSetILUType(pc, PCARMS); - } - free(p1); -/*--- Get tolerance for local solve---*/ - if(fscanf(fp,"%lf",&eps) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - parms_PCSetInnerEps(pc, eps); - while(fgetc(fp) != '\n'); -/*--- Get number of levels ---*/ - if(fscanf(fp,"%d",&nlev) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - parms_PCSetNlevels(pc, nlev); - while(fgetc(fp) != '\n'); -/*--- Use symmetric or nonsymmetric perm ---*/ - if(fscanf(fp,"%d",&par) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - parms_PCSetPermType(pc, par); - while(fgetc(fp) != '\n'); -/*--- B block size ---*/ - if(fscanf(fp,"%d",&par) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - parms_PCSetBsize(pc, par); - while(fgetc(fp) != '\n'); -/*--- Tolerance for independent sets ---*/ - if(fscanf(fp,"%lf",&tolind) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - parms_PCSetTolInd(pc, tolind); - while(fgetc(fp) != '\n'); -/*--- Inner Krylov dimension ---*/ - if(fscanf(fp,"%d",&par) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - parms_PCSetInnerKSize(pc, par); - while(fgetc(fp) != '\n'); -/*--- maximum number of inner iterations ---*/ - if(fscanf(fp,"%d",&its) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - parms_PCSetInnerMaxits(pc, its); - while(fgetc(fp) != '\n'); -/*--- nonsymmetric perm. for interlevel blocks ---*/ - if(fscanf(fp,"%d",&meth[0]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Column Permutations - interlevel blocks ---*/ - if(fscanf(fp,"%d",&meth[1]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Row scaling - interlevel blocks ---*/ - if(fscanf(fp,"%d",&meth[2]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Column scaling - interlevel blocks ---*/ - if(fscanf(fp,"%d",&meth[3]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Nonsymm. Perm. for last level SC. ---*/ - if(fscanf(fp,"%d",&meth[4]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Col. Perm. for last level SC. ---*/ - if(fscanf(fp,"%d",&meth[5]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Row scaling - last level SC. ---*/ - if(fscanf(fp,"%d",&meth[6]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- Column scaling - last level SC. ---*/ - if(fscanf(fp,"%d",&meth[7]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- lfil0 for ilut, iluk, and arms for lfil[0-3] ---*/ - if(fscanf(fp,"%d",&lfil[0]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- lfil for shur ---*/ - if(fscanf(fp,"%d",&lfil[4]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- lfil for ILUT L and U ---*/ - if(fscanf(fp,"%d",&lfil[5]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- droptol0(droptol[0=3], L, U, L^{-1}F, EU^{-1}---*/ - if(fscanf(fp,"%lf",&droptol[0]) != 1){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- droptol4(for schur complements at each level) ---*/ - if(fscanf(fp,"%lf",&droptol[4]) !=1 ){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); -/*--- droptol5(for ILUT in last level Schur Complement) ---*/ - if(fscanf(fp,"%lf",&droptol[5]) !=1 ){ - fprintf(stderr, "Error reading value"); - exit(1); - } - while(fgetc(fp) != '\n'); - - droptol[1] = droptol[2] = droptol[3] = droptol[0]; - droptol[6] = droptol[5]; - - lfil[1] = lfil[2] = lfil[3] = lfil[0]; - lfil[6] = lfil[5]; - - parms_PCSetPermScalOptions(pc, &meth[0], 1); - parms_PCSetPermScalOptions(pc, &meth[4], 0); - - parms_PCSetFill(pc, lfil); - parms_PCSetTol(pc, droptol); - - fclose(fp); - - return 0; -} diff --git a/lib/parms/examples/petsc/parms_opts b/lib/parms/examples/petsc/parms_opts deleted file mode 100755 index f4174dbc7..000000000 --- a/lib/parms/examples/petsc/parms_opts +++ /dev/null @@ -1,26 +0,0 @@ -bj parallel preconditioner (RAS, SCHUR, BJ) -ilu0 local preconditioner (ilu0, iluk, ilut, arms) -0.01 eps(tolerance for inner iteration) -5 nlev(number of levels for ARMS, ILUK) -1 non-symmetric permutation - ddPQ or not (1 = ddPQ) -250 bsize(block size for block independent sets) -0.40 tolind(tolerance used in independent set) -10 kim (krylov subspace size for inner iteration) -10 itsgmr(inner fgmres) -0 nonsymmetric permutations for interlevel blocks (1:yes, 0:no) -0 permutations of columns for interlevel blocks (1:yes, 0:no) -0 row scaling for interlevel blocks (1:yes, 0:no) -0 column scaling for interlevel blocks (1:yes, 0:no) -0 nonsymmetric perm.s for last Schur complement (1:yes, 0:no) -0 permutations of columns for last Schur complement (1:yes, 0:no) -0 row scaling for last Schur complement (1:yes, 0:no) -0 column scaling for last Schur complement (1:yes, 0:no) -20 lfil0(ilut, iluk and arms for lfil[0-3]) -20 lfil4(schur) -20 lfil5(ILUT L, ILUT U) -0.00001 droptol0(droptol[0=3], L, U, L^{-1}F, EU^{-1} -0.001 droptol4(for schur complements at each level) -0.001 droptol5(for ILUT in last level Schur Complement) -## - - diff --git a/lib/parms/examples/petsc/protos.h b/lib/parms/examples/petsc/protos.h deleted file mode 100755 index 84649eb8c..000000000 --- a/lib/parms/examples/petsc/protos.h +++ /dev/null @@ -1,113 +0,0 @@ -#include -#include "petscksp.h" -/* REQUIRED */ - -#define MAX_LINE 100 -#define BUFFLEN 200 -#define STR2U(p, p1) \ - if (1) { \ - p = buf; \ - while (' ' == *p) { \ - p++; \ - } \ - p1 = malloc((strlen(p)+1)*sizeof(*p1)); \ - p2 = p1; \ - while (' ' != *p) { \ - *p2 = toupper(*p); \ - ++p; \ - ++p2; \ - } \ - *p2 = '\0'; \ - } -/* Define context for user-provided preconditioner */ - -typedef struct { - parms_Map map; - parms_Mat A; - parms_PC pc; -}PC_PARMS; - -/* Declare routines for user-provided preconditioner */ - -PetscErrorCode PCCreate_PARMS(PC_PARMS **prec); -PetscErrorCode PCSetUp_PARMS(PC ctx); -PetscErrorCode PCApply_PARMS(PC dummy,Vec b,Vec x); -PetscErrorCode PCDestroy_PARMS(PC dummy); -int parms_SetOptions(parms_PC pc, char *fname); - -/* -THE FUNCTIONS BELOW ARE ONLY REQUIRED BY THE HB FILE FORMAT EXAMPLE "dd-petsc.c". -*/ -#ifndef _AUX_HEADER_INCLUDED_H -#define _AUX_HEADER_INCLUDED_H - -#if defined(FORTRAN_CAPS) -#define wreadmtc_ WREADMTC -#define csrcsc_ CSRCSC -#define aplb_ APLB -#define dse_ DSE -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define wreadmtc_ wreadmtc__ -#define csrcsc_ csrcsc__ -#define aplb_ aplb__ -#define dse_ dse__ -#elif !defined(FORTRAN_UNDERSCORE) -#define wreadmtc_ wreadmtc -#define csrcsc_ csrcsc -#define aplb_ aplb -#define dse_ dse -#endif - -#define BUFLEN 100 - -/* Routine to read test matrix */ -extern int read_matrix(char mname[BUFLEN]); -extern void wreadmtc_(int *nmax, int *nzmax, int *job, char *fname,int - *len, double *a, int *ja, int *ia, double *rhs, - int *nrhs, char *guesol, int *nrow, int *ncol, - int *nnz, char *title, char *key, char *type, - int *ierr); -extern void csrcsc_(int *n, int *job, int *ipos, double *a, int *ja, - int *ia, double *ao, int *jao, int *iao); -extern void aplb_(int *nrow, int *ncol, int *job, double *a, int *ja, - int *ia, double *b, int *jb, int *ib, double *c, int - *jc, int *ic, int *nnzmax, int *iw, int *ierr); - - - -/*---------- complex routines ------------*/ -#if defined(DBL_CMPLX) -#if defined(FORTRAN_CAPS) -#define wreadmtc_ WREADMTC -#define readmtc_ READMTC -#define csrcsc_ CSRCSC -#define aplb_ APLB -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define wreadmtc_ wreadmtc__ -#define readmtc_ readmtc__ -#define csrcsc_ csrcsc__ -#define aplb_ aplb__ -#elif !defined(FORTRAN_UNDERSCORE) -#define wreadmtc_ wreadmtc -#define readmtc_ readmtc -#define csrcsc_ csrcsc -#define aplb_ aplb -#endif -extern void zwreadmtc_(int *nmax, int *nzmax, int *job, char *fname,int - *len, complex double *a, int *ja, int *ia, complex double *rhs, - int *nrhs, char *guesol, int *nrow, int *ncol, - int *nnz, char *title, char *key, char *type, - int *ierr); -extern void zreadmtc_(int *nmax, int *nzmax, int *job, char *fname, complex double - *a, int *ja, int *ia, complex double *rhs, int *nrhs, char - *guesol, int *nrow, int *ncol,int *nnz, char *title, - char *key, char *type, int *ierr); -extern void zcsrcsc_(int *n, int *job, int *ipos, complex double *a, int *ja, - int *ia, complex double *ao, int *jao, int *iao); -extern void zaplb_(int *nrow, int *ncol, int *job, complex double *a, int *ja, - int *ia, complex double *b, int *jb, int *ib, complex double *c, int - *jc, int *ic, int *nnzmax, int *iw, int *ierr); -#endif - -#endif - diff --git a/lib/parms/examples/petsc/readmat.c b/lib/parms/examples/petsc/readmat.c deleted file mode 100755 index 70c0960ea..000000000 --- a/lib/parms/examples/petsc/readmat.c +++ /dev/null @@ -1,38 +0,0 @@ -#include -#include -#include -#include - -#define BUFLEN 100 - -int read_matrix(char mname[BUFLEN]) -{ - FILE *fmat; - char buf[BUFLEN], *tmpstring; - -/*------- Read a matrix from list of Matrices -------------*/ -#if defined(DBL_CMPLX) - if (NULL == (fmat = fopen("./matfileCmplx", "r"))) { - fprintf(stderr, "cannot open file: matfile\n"); - exit(1); - } -#else - if (NULL == (fmat = fopen("./matfileReal", "r"))) { - fprintf(stderr, "cannot open file: matfile\n"); - exit(1); - } -#endif - if(fgets(buf,BUFLEN,fmat) == NULL){ - fprintf(stderr, "Error reading matrix list"); - exit(1); - } - tmpstring = (char *) strtok(buf, " "); - tmpstring++; - tmpstring[strlen(tmpstring)-1]='\0'; - strcpy(mname, --tmpstring); - - fclose(fmat); - - return 0; -} - diff --git a/lib/parms/examples/petsc/test.c b/lib/parms/examples/petsc/test.c deleted file mode 100755 index f291c6a68..000000000 --- a/lib/parms/examples/petsc/test.c +++ /dev/null @@ -1,214 +0,0 @@ - -static char help[] = "Solves a linear system in parallel with KSP. Also\n\ -illustrates setting a user-defined shell preconditioner and using the\n\ -macro __FUNCT__ to define routine names for use in error handling.\n\ -Input parameters include:\n\ - -user_defined_pc : Activate a user-defined preconditioner\n\n"; - -/*T - Concepts: KSP^basic parallel example - Concepts: PC^setting a user-defined shell preconditioner - Concepts: error handling^Using the macro __FUNCT__ to define routine names; - Processors: n -T*/ - -/* - Include "petscksp.h" so that we can use KSP solvers. Note that this file - automatically includes: - petsc.h - base PETSc routines petscvec.h - vectors - petscsys.h - system routines petscmat.h - matrices - petscis.h - index sets petscksp.h - Krylov subspace methods - petscviewer.h - viewers petscpc.h - preconditioners -*/ -#include -#include -#include -#include -#include "petscksp.h" -#include "parms.h" -#include "protos.h" - -/* - User-defined routines. Note that immediately before each routine below, - we define the macro __FUNCT__ to be a string containing the routine name. - If defined, this macro is used in the PETSc error handlers to provide a - complete traceback of routine names. All PETSc library routines use this - macro, and users can optionally employ it as well in their application - codes. Note that users can get a traceback of PETSc errors regardless of - whether they define __FUNCT__ in application codes; this macro merely - provides the added traceback detail of the application routine names. -*/ - -#undef __FUNCT__ -#define __FUNCT__ "main" -int main(int argc,char **args) -{ - Vec x,b,u; /* approx solution, RHS, exact solution */ - Mat A; /* linear system matrix */ - KSP ksp; /* linear solver context */ - PC pc; /* preconditioner context */ - PetscReal norm; /* norm of solution error */ - PetscScalar v,one = 1.0,none = -1.0; - PetscInt i,j,Ii,J,Istart,Iend,m = 8,n = 7,its; - PetscErrorCode ierr; - PetscTruth user_defined_pc; - - PetscInitialize(&argc,&args,(char *)0,help); - ierr = PetscOptionsGetInt(PETSC_NULL,"-m",&m,PETSC_NULL);CHKERRQ(ierr); - ierr = PetscOptionsGetInt(PETSC_NULL,"-n",&n,PETSC_NULL);CHKERRQ(ierr); - - /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Compute the matrix and right-hand-side vector that define - the linear system, Ax = b. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - /* - Create parallel matrix, specifying only its global dimensions. - When using MatCreate(), the matrix format can be specified at - runtime. Also, the parallel partioning of the matrix is - determined by PETSc at runtime. - */ - ierr = MatCreate(PETSC_COMM_WORLD,&A);CHKERRQ(ierr); - ierr = MatSetSizes(A,PETSC_DECIDE,PETSC_DECIDE,m*n,m*n);CHKERRQ(ierr); - ierr = MatSetFromOptions(A);CHKERRQ(ierr); - - /* - Currently, all PETSc parallel matrix formats are partitioned by - contiguous chunks of rows across the processors. Determine which - rows of the matrix are locally owned. - */ - ierr = MatGetOwnershipRange(A,&Istart,&Iend);CHKERRQ(ierr); - - /* - Set matrix elements for the 2-D, five-point stencil in parallel. - - Each processor needs to insert only elements that it owns - locally (but any non-local elements will be sent to the - appropriate processor during matrix assembly). - - Always specify global rows and columns of matrix entries. - */ - for (Ii=Istart; Ii0) {J = Ii - n; ierr = MatSetValues(A,1,&Ii,1,&J,&v,INSERT_VALUES);CHKERRQ(ierr);} - if (i0) {J = Ii - 1; ierr = MatSetValues(A,1,&Ii,1,&J,&v,INSERT_VALUES);CHKERRQ(ierr);} - if (j -pc_type -ksp_monitor -ksp_rtol - These options will override those specified above as long as - KSPSetFromOptions() is called _after_ any other customization - routines. - */ - ierr = KSPSetFromOptions(ksp);CHKERRQ(ierr); - - /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Solve the linear system - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - - ierr = KSPSolve(ksp,b,x);CHKERRQ(ierr); - - /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Check solution and clean up - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - - /* - Check the error - */ - ierr = VecAXPY(x,none,u);CHKERRQ(ierr); - ierr = VecNorm(x,NORM_2,&norm);CHKERRQ(ierr); - ierr = KSPGetIterationNumber(ksp,&its);CHKERRQ(ierr); - ierr = PetscPrintf(PETSC_COMM_WORLD,"Norm of error %A iterations %D\n",norm,its);CHKERRQ(ierr); - - /* - Free work space. All PETSc objects should be destroyed when they - are no longer needed. - */ - ierr = KSPDestroy(ksp);CHKERRQ(ierr); - ierr = VecDestroy(u);CHKERRQ(ierr); ierr = VecDestroy(x);CHKERRQ(ierr); - ierr = VecDestroy(b);CHKERRQ(ierr); ierr = MatDestroy(A);CHKERRQ(ierr); - - ierr = PetscFinalize();CHKERRQ(ierr); - return 0; - -} - diff --git a/lib/parms/include/fparms.h b/lib/parms/include/fparms.h deleted file mode 100755 index d49b2bea9..000000000 --- a/lib/parms/include/fparms.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifdef VOID_POINTER_SIZE_4 -#define parms_Map integer*4 -#define parms_Vec integer*4 -#define parms_Mat integer*4 -#define parms_PC integer*4 -#define parms_Solver integer*4 -#define parms_Viewer integer*4 -#define parms_Timer integer*4 -//#elif defined(VOID_POINTER_SIZE_8) -#else -#define parms_Map integer*8 -#define parms_Vec integer*8 -#define parms_Mat integer*8 -#define parms_PC integer*8 -#define parms_Solver integer*8 -#define parms_Viewer integer*8 -#define parms_Timer integer*8 -#endif - integer :: NONINTERLACED, INTERLACED - parameter(NONINTERLACED=1, INTERLACED=0) - integer :: INSERT, ADD - parameter(INSERT=0, ADD=1) - integer :: SAME_NONZERO_STRUCTURE, DIFFERENT_NONZERO_STRUCTURE - parameter(SAME_NONZERO_STRUCTURE=0,DIFFERENT_NONZERO_STRUCTURE=1) - integer :: PCBJ, PCSCHUR, PCRAS, PCSCHURRAS - integer :: PCILU0, PCILUK, PCILUT, PCARMS - parameter(PCBJ=0, PCSCHUR=1, PCRAS=2, PCSCHURRAS=3) - parameter(PCILU0=0, PCILUK=1, PCILUT=2, PCARMS=3) - integer :: SOLFGMRES, SOLGMRES, SOLBICGS, SOLCG, SOLPBICGS, SOLPBICGS_RAS, SOLBICGS_RAS - integer :: MAXITS, KSIZE, DTOL, NEIG - parameter(SOLFGMRES=0,SOLGMRES=1, SOLBICGS=2, SOLCG=3, SOLPBICGS=4, SOLPBICGS_RAS=5, SOLBICGS_RAS=6) - parameter(MAXITS=0,KSIZE=1,DTOL=2,NEIG=3) - diff --git a/lib/parms/include/parms.h b/lib/parms/include/parms.h deleted file mode 100755 index f9e6e01bd..000000000 --- a/lib/parms/include/parms.h +++ /dev/null @@ -1,23 +0,0 @@ -/** - * @file parms.h - * @author Zhongze Li - * @date Sun Oct 22 16:39:37 2006 - * - * @brief This is the main pARMS include file. It should be included - * in all application program. - * - */ - -#ifndef _PARMS_INCLUDED_H_ -#define _PARMS_INCLUDED_H_ - -#include "parms_mem.h" -#include "parms_map.h" -#include "parms_vec.h" -#include "parms_mat.h" -#include "parms_pc.h" -#include "parms_solver.h" -#include "parms_viewer.h" -#include "parms_timer.h" - -#endif diff --git a/lib/parms/include/parms_comm.h b/lib/parms/include/parms_comm.h deleted file mode 100755 index 591aa7cd4..000000000 --- a/lib/parms/include/parms_comm.h +++ /dev/null @@ -1,111 +0,0 @@ -/** - * @file parms_comm.h - * @author Zhongze Li - * @date Tue Oct 17 10:01:17 2006 - * - * @brief The communication handler used for the matrix-vector - * product. - * - * - */ - -#ifndef _PARMS_COMM_H_ -#define _PARMS_COMM_H_ - -#include "parms_sys.h" -#include "parms_viewer.h" - -PARMS_CXX_BEGIN - -typedef struct parms_Comm_ *parms_Comm; - -/** - * Create a parms_Comm object. - * - * @param self A pointer to the parms_Comm object. - * @param comm MPI communicator - * - * @return 0 on success. - */ -extern int parms_CommCreate(parms_Comm *self, MPI_Comm comm); - -/** - * Free the memory for the parms_Comm object. - * - * @param self A pointer to the parms_Comm object. - * - * @return 0 on success. - */ -extern int parms_CommFree(parms_Comm *self); - -/** - * Exchange data for the matrix-vector product. - * - * This functions exchanges the interface variables. The offset - * indicates the distance between start of the data to be exchanged - * and the start of the local vector. This is useful for Schur - * complement based preconditioner since the data parameter is only - * the interface part of the local vector rather than the entire local - * vector. - - * @param self A parms_Comm object. - * @param data The data to be exchanged. - * @param offset The distance between the start of the data and the - * beginning of the local vector. - * @return 0 on success. - */ -extern int parms_CommDataBegin(parms_Comm self, void *data, int - offset); -/** - * Wait for all messages. - * - * After calling this function, you may use data in receive buffer - * safely. - * - * @param self A parms_Comm object. - * - * @return 0 on success. - */ -extern int parms_CommDataEnd(parms_Comm self); - -/** - * Dump the communication handler comm. - * - * @param self A communication handler. - * @param v A parms_Viewer object. - * - * @return 0 on success. - */ -extern int parms_CommView(parms_Comm self, parms_Viewer v); - -/** - * Get the total numbjer of variables received. - * - * @param self A communication handler. - * - * @return The number of variables received. - */ -extern int parms_CommGetNumRecv(parms_Comm self); - -/** - * Get receive buffer. - * - * @param self A communication handler. - * @param rbuf Receive buffer returned. - * - * @return 0 on success. - */ -extern int parms_CommGetRecvBuf(parms_Comm self, FLOAT **rbuf); - -/** - * Get the number of variables sent. - * - * @param self A communication handler. - * - * @return The number of vars sent. - */ -extern int parms_CommGetNumSend(parms_Comm self); - -PARMS_CXX_END - -#endif diff --git a/lib/parms/include/parms_map.h b/lib/parms/include/parms_map.h deleted file mode 100755 index 03ad9ea61..000000000 --- a/lib/parms/include/parms_map.h +++ /dev/null @@ -1,262 +0,0 @@ -/** - * @file parms_map.h - * @author Zhongze Li - * @date Tue Oct 17 10:02:53 2006 - * - * @brief Functions related to the parms_Map object. - * - * parms_Map describes how variables are distributed across - * processors. It is used for creating parms_Mat - * objects. - */ - -#ifndef _PARMS_MAP_H_ -#define _PARMS_MAP_H_ - -#include "parms_sys.h" -#include "parms_viewer.h" - -PARMS_CXX_BEGIN - -typedef struct parms_Map_ *parms_Map; - -/** - * Create a parms_Map object on the local processor. - * - * @param self A pointer to the parms_Map object created. - * @param gsize The size of unknowns on the local processor. - * @param offset The start index. - * - 1 FORTRAN - * - 0 C - * - * @return 0 on success. - * - */ -extern int parms_MapCreateFromLocal(parms_Map *self, int gsize, int - offset); - -/** - * Create a parms_Map object based on the Metis partitioning. - * - * @param self A pointer to the parms_Map object created. - * @param gsize The total number of vertices. - * @param npar An integer array of size gsize. node \f$i\f$ - * resides on PE npar[i]. - * @param comm MPI communicator. - * @param offset The start index. - * - 1 FORTRAN - * - 0 C - * @param dof The number of variables associated with each - * vertex. - * @param VARSTYPE Assuming the variables \f$u_i, v_i\f$ are - * associated with vertex \f$i\f$, two styles of - * numbering variables are as follows: - * - INTERLACED. Variables are numbered in the - * order of \f$u_1, v_1, u_2, v_2, \cdots\f$; - * - NONINTERLACED. Variables are numbered in the - * order of \f$u_1, u_2, u_3,...,v_1, v_2,...\f$. - * - * @return 0 on success. - */ -extern int parms_MapCreateFromGlobal(parms_Map *self, int gsize, int *npar, - MPI_Comm comm, int offset, int dof, - VARSTYPE vtype); - -/** - * Create a parms_Map object based on the output of ParMetis. - * - * @param self A parms_Map object created. - * @param vtxdist An integer array of size np+1, where np is the - * number of PEs. This array indicates the range of - * vertices that are local to each processor. PE i - * stores vertices in the range of [vtxdist[i], - * vtxdist[i+1]). - * @param part An array of size equal to the number of - * locally-stored vertices. part[j] indicates the ID - * of the PE to which the vertex with local index j - * and global index vtxdist[pid]+j belongs (pid is ID - * of local PE). - * @param comm MPI communicator. - * @param offset The start index. - * - 1 FORTRAN - * - 0 C - * @param dof The number of variables associated with each - * vertex. - * @param vtype Assuming the variables u_i, v_i are associated - * with vertex i, two styles of numbering variables - * are as follows: - * - INTERLACED. Variables are numbered in the - * order of \f$u_1, v_1, u_2, v_2, \cdots\f$; - * - NONINTERLACED. Variables are numbered in the - * order of \f$u_1, u_2, u_3,...,v_1, v_2,...\f$. - * - * @return 0 on success. - */ -extern int parms_MapCreateFromDist(parms_Map *self, int *vtxdist, int - *part, MPI_Comm comm, int offset, - int dof, VARSTYPE vtype); - -/** - * Create a parms_Map object with the default partioning strategy in - * PETSc. - * - * @param self A parms_Map object created. - * @param m The local size of variables. - * @param M The global size of variables. - * @param comm MPI communicatior. - * - * @return 0 on success. - */ -extern int parms_MapCreateFromPetsc(parms_Map *self, int m, int M, - MPI_Comm comm); - -/** - * Create a parms_Map object. - * - * @param self A parms_Map object created. - * @param gsize The total number of vertices. - * @param nodes A list of all vertices stored PE by PE. - * @param p2nodes An integer array of size np+1, np is the number of - * PEs. If k1 = p2nodes[i], k2 = p2nodes[i+1] - * , then PE i contains the vertices in the - * range of [[nodes[k1], [nodes[k2-1]]. - * @param comm MPI communication. - * @param dof The number of variables associated with each - * node. - * @param vtype Assuming the variables \f$u_i, v_i\f$ are - * associated with vertex \f$i\f$, two style of - * numbering variables are as follows: - * - INTERLACED. Variables are numbered in the - * order of \f$u_1, v_1, u_2, v_2, \cdots\f$; - * - NONINTERLACED. Variables are numbered in the - * order of \f$u_1, u_2, u_3,...,v_1, v_2,...\f$. - * - * @return 0 on success. - */ -extern int parms_MapCreateFromPtr(parms_Map *self, int gsize, int - *nodes, int *p2nodes, MPI_Comm - comm, int dof, VARSTYPE vtype); - -/** - * Free the memory for the parms_Map object pointed to by self. - * - * @param self A pointer to the parms_Map object. - * - * @return 0 on success. - */ -extern int parms_MapFree(parms_Map *self); - -/** - * Get the size of variables on the local PE. - * - * @param self A parms_Map object. - * - * @return The size of variables on the local PE. - */ -extern int parms_MapGetLocalSize(parms_Map self); - -/** - * Get global size of variables. - * - * @param self A parms_Map object. - * - * @return The global size of variables rather than vertices. - */ -extern int parms_MapGetGlobalSize(parms_Map self); - -/** - * Get PE's ID. - * - * @param self A parms_Map object. - * - * @return The PE's ID. - */ -extern int parms_MapGetPid(parms_Map self); - -/** - * Get the number of PEs. - * - * @param self A parms_Map object. - * - * @return The number of PEs. - */ -extern int parms_MapGetNumProcs(parms_Map self); - -/** - * Dump the parms_Map object. - * - * @param self A parms_Map object. - * @param v A parms_Viewer object. - * - * @return 0 on success. - */ -extern int parms_MapView(parms_Map self, parms_Viewer v); - -/** - * Get local index for a given global index. - * - * Return a pointer to an integer. If it is NULL, then the variable - * with global index gindex doesn't reside on the local - * PE. Otherwise, it points to an address of a variable - * whose value is local index. - * - * @param self A parms_Map object. - * @param gindex A global index. - * - * @return A pointer to an integer whose value is the corresponding - * local index. - */ -extern int *parms_MapGlobalToLocal(parms_Map self, int gindex); - -/** - * Get local variable array - * -*/ -extern int parms_MapGetGlobalIndices(parms_Map self, int *im); - -/** - * - * Fortran Wrapper Functions - * - * -*/ -extern void parms_mapcreatefromlocal_(parms_Map *self, int *gsize, int - *offset, int *ierr); - -extern void parms_mapcreatefromglobal_(parms_Map *self, int *gsize, int - *npar, MPI_Comm *comm, int *offset, - int *dof, VARSTYPE *vtype, int *ierr); - -extern void parms_mapcreatefromdist_(parms_Map *self, int *vtxdist, int - *part, MPI_Comm *comm, int *offset, int - *dof, VARSTYPE *vtype, int *ierr); - -extern void parms_mapcreatefrompetsc_(parms_Map *self, int *m, int *M, - MPI_Comm *comm, int *ierr); - -extern void parms_mapcreatefromptr_(parms_Map *self, int *gsize, int *nodes, - int *p2nodes, MPI_Comm *comm, int *dof, - VARSTYPE *vtype, int *ierr); - -extern void parms_mapfree_(parms_Map *self, int *ierr); - -extern void parms_mapgetglobalsize_(parms_Map *self, int *gsize); - -extern void parms_mapgetlocalsize_(parms_Map *self, int *lsize); - -extern void parms_mapgetnumprocs_(parms_Map *self, int *numpro); - -extern void parms_mapgetpid_(parms_Map *self, int *pid); - -extern void parms_mapview_(parms_Map *self, parms_Viewer *v, int *ierr); - -extern void parms_mapgetglobalindices_(parms_Map *self, int *im, int *ierr); -/* - * - * end Fortran Wrapper Functions - * -*/ - -PARMS_CXX_END - -#endif diff --git a/lib/parms/include/parms_mat.h b/lib/parms/include/parms_mat.h deleted file mode 100755 index 72f1daeec..000000000 --- a/lib/parms/include/parms_mat.h +++ /dev/null @@ -1,337 +0,0 @@ -/** - * @file parms_mat.h - * @author Zhongze Li - * @date Tue Oct 17 10:05:30 2006 - * - * @brief Functions related to the matrix computations. - * - * - */ - -#ifndef _PARMS_MAT_H_ -#define _PARMS_MAT_H_ - -#include "parms_sys.h" -#include "parms_vec.h" -#include "parms_viewer.h" -#include "parms_operator.h" - -PARMS_CXX_BEGIN - -typedef struct parms_Mat_ *parms_Mat; - -/** - * Create a parms_Mat object. - * - * Create a parms_Mat object based on data distribution layout map. - * - * @param self A pointer to the parms_Mat object created. - * @param map A parms_Map object, which describes the data - * distribution among processors. - * - * @return 0 on success. - */ -extern int parms_MatCreate(parms_Mat *self, parms_Map map); - -/** - * Dump parms_Mat object. - * - * @param self A pointer to a parms_Mat object. - * @param v A parms_Viewer object. - * - * @return 0 on success. - */ -extern int parms_MatView(parms_Mat self, parms_Viewer v); - -extern int parms_MatViewCOO(parms_Mat self, parms_Viewer v); - -/** - * Free the parms_Mat object pointed to by self. - * - * @param self A pointer to a parms_Mat object. - * - * @return 0 on success. - */ -extern int parms_MatFree(parms_Mat *self); - -/** - * Perform \f$y = self \times x\f$. - * - * @param self A parms_Mat object. - * @param x A Vector object. - * @param y Another Vector object. - * - * @return 0 on success. - */ -extern int parms_MatVec(parms_Mat self, FLOAT *x, FLOAT *y); - -/** - * Set up parms_Mat object self. - * - * This is the most important functoin for the parms_Mat object. This - * function combines the function bdry and setup in the old version - * of pARMS. The function sets up the data structure needed by the - * distributed matrix-vector multiplication, divides the variables on - * the local processors into two categories: interior and interface - * variables. - * - * @param self A parms_Mat object. - * - * @return 0 on success. - */ -extern int parms_MatSetup(parms_Mat self); - -/** - * Insert/add values to the parms_Mat object self. - * - * @param self A parms_Mat object. - * @param m The number of rows inserted. - * @param im An array of row global indices. - * @param ia An array of pointer to the beginning of each row in - * array ja. - * @param ja An array of column global indices. - * @param values An array of values. - * @param mode Insert value mode: - * - INSERT insert values to parm_Mat self. - * - ADD add values to parm_Mat self. - * - * @return 0 on success. - */ -extern int parms_MatSetValues(parms_Mat self, int m, int *im, int *ia, - int *ja, FLOAT *values, INSERTMODE mode); - -/** - * Insert/add values to the parms_Mat object self. This assumes matrix - * values are being added element-by-element - * - * @param self A parms_Mat object. - * @param m The number of rows inserted. - * @param im An array of row global indices. - * @param ia An array of pointer to the beginning of each row in - * array ja. - * @param ja An array of column global indices. - * @param values An array of values. - * @param mode Insert value mode: - * - INSERT insert values to parm_Mat self. - * - ADD add values to parm_Mat self. - * - * NOTE: New entries are always inserted first, so mode does not - * matter if this is a new entry. Subsequent calls will either - * replace (mode = INSERT) or add (mode = ADD) to the existing - * entries in a particular position - * - * @return 0 on success. - */ -extern int parms_MatSetElementMatrix(parms_Mat self, int m, int *im, int *ia, - int *ja, FLOAT *values, INSERTMODE mode); - -/** - * Assembles the finite element matrix by updating off-processor - * contributions. - * - * @param self A parms_Mat object. - * @return 0 on success. - */ -extern int parms_MatAssembleElementMatrix(parms_Mat self); - -/** - * Insert values to the parms_Mat object self. This assumes matrix - * values for this row have already been set, and are to be replaced - * by the new ones provided as input. - * - * @param self A parms_Mat object. - * @param m The number of rows inserted. - * @param im An array of row global indices. - * @param ia An array of pointer to the beginning of each row in - * array ja. - * @param ja An array of column global indices. - * @param values An array of values. - * @return 0 on success. - */ -extern int parms_MatResetRowValues(parms_Mat self, int m, int *im, int *ia, - int *ja, FLOAT *values); - -/** - * Reset the matrix to be re-used. - * @param self A parms_Mat object. - * @param nonzerostructure The nonzero structure: - * SAME_NONZERO_STRUCTURE - * DIFFERENT_NONZERO_STRUCTURE - * - * @return 0 on success. - */ -extern int parms_MatReset(parms_Mat self, NNZSTRUCT nonzerostructure); - -/** - * Set the communication type. - * - * Set the communication style across processors. - * communication style: - * - P2P point-to-point (data copied to/from auxilliary buffers). - * - DERIVED derived datatype. - * - * @param self A matrix object. - * @param ctype Communication style: - * - P2P point-to-point (data copied to/from - * auxilliary buffers). - * - DERIVED derived datatype. - * - * @return 0 on success. - */ -extern int parms_MatSetCommType(parms_Mat self, COMMTYPE ctype); - -/** - * Get the diagonal part of the local matrix. - * - * @param self A parms_Mat object. - * @param mat The diagonal part of the local matrix. - * - * @return 0 on success. - */ -extern int parms_MatGetDiag(parms_Mat self, void **mat); - - -/** - * Perform \f$z = alpha*self*x + beta*y\f$. - * - * @param self A matrix object. - * @param alpha A scalar. - * @param x A vector object. - * @param beta A scalar. - * @param y A vector object. - * @param z A vector stores the result. - * - * @return 0 on success. - */ -extern int parms_MatMVPY(parms_Mat self, FLOAT alpha, FLOAT *x, FLOAT - beta, FLOAT *y, FLOAT *z); - -/** - * Perform the multiplication of the off-diagonal matrix and the - * external vars. - * - * The local matrix can be written as follows: - * - * \f[ - * \left( - * \begin{array}{ccc} - * B & E & 0\\ - * F & C & M_{ext} - * \end{array} - * \right) - * \f], - * where \f$\left(\begin{array}{cc} - * B & E \\ - * F & C - * \end{array} - * \right)\f$ corresponds to the variables on the local PE. This - * function - * performs - * \f[ - * y[pos..n] = M_{ext} \times x_{ext} - * \f] - * - * @param self A matrix object. - * @param x A vector object. - * @param y A vector object. - * @param pos The offset of x from the beginning of he local vector. - * - * @return 0 on success. - */ -extern int parms_MatVecOffDiag(parms_Mat self, FLOAT *x, FLOAT *y, int - pos); - -/** - * Get the communication handler. - * - * @param self A matrix object. - * @param handler The communication handler returned. - * - * @return 0 on success. - */ -extern int parms_MatGetCommHandler(parms_Mat self, parms_Comm - *handler); - -/** - * Free the memory for the submatrix. - * - * @param self A parms_Mat object. - * @param mat The submatrix to be freed. - * - * @return 0 on success. - */ -extern int parms_MatFreeSubMat(parms_Mat self, void *mat); - -/** - * Get the local matrix. - * - * @param self A matrix object. - * @param mat The submatrix returned in a specific format. - * - * @return 0 on success. - */ -extern int parms_MatGetSubMat(parms_Mat self, void **mat); - -/** - * Extend submatrix by including equations correspond to the - * immediate neighbouring variables. - * - * @param self A matrix object. - * @param handler A communication handler. - * @param start The beginning location of mat in the local matrix. - * @param mat The submatrix to be extended. - * @param n The size of extended matrix returned. - * @param ext_mat The extended matrix created. - * - * @return 0 on success. - */ -extern int parms_MatExtend(parms_Mat self, parms_Comm handler, int - start, void *mat, int *n, void **ext_mat); - -/* - * - * Fortran Wrapper Functions - * -*/ - -extern void parms_matvec_(parms_Mat *self, FLOAT *x, FLOAT *y, int *ierr); - -extern void parms_matcreate_(parms_Mat *self, parms_Map *map, int *ierr); - -extern void parms_matfree_(parms_Mat *self, int *ierr); - -extern void parms_matmvpy_(parms_Mat *self, FLOAT *alpha, FLOAT *x, FLOAT - *beta, FLOAT *y, FLOAT *z, int *ierr); - -extern void parms_matsetcommtype_(parms_Mat *self, COMMTYPE *ctype, int - *ierr); - -extern void parms_matsetvalues_(parms_Mat *self, int *m, int *im, int *ia, - int *ja, FLOAT *values, INSERTMODE *mode, int - *ierr); - -extern void parms_matsetelementmatrix_(parms_Mat *self, int *m, int *im, int *ia, - int *ja, FLOAT *values, INSERTMODE *mode, int *ierr); - -extern void parms_matassembleelementmatrix_(parms_Mat *self, int *ierr); - -extern void parms_matresetrowvalues_(parms_Mat *self, int *m, int *im, int *ia, - int *ja, FLOAT *values, int *ierr); - -extern void parms_matreset_(parms_Mat *self, NNZSTRUCT *nonzerostructure, int *ierr); - -extern void parms_matsetup_(parms_Mat *self, int *ierr); - -extern void parms_matview_(parms_Mat *self, parms_Viewer *v, int *ierr); - -extern void parms_matviewcoo_(parms_Mat *self, parms_Viewer *v, int *ierr); - -/* - * - * end Fortran Wrapper Functions - * -*/ - -PARMS_CXX_END - -#endif diff --git a/lib/parms/include/parms_mem.h b/lib/parms/include/parms_mem.h deleted file mode 100755 index b7dcbc4c0..000000000 --- a/lib/parms/include/parms_mem.h +++ /dev/null @@ -1,82 +0,0 @@ -/** - * @file parms_mem.h - * @author Zhongze Li - * @date Tue Oct 17 11:48:51 2006 - * - * @brief Macros and functions for memory allocation in pARMS. - * - * - PARMS_NEW and PARMS_NEW0 allocate memory for an object of struct - * type. - * - PARMS_NEWARRAY and PARMS_NEWARRYA0 allocate memory for an array. - * - PARMS_ALLOC(n) is used for allocating n bytes, which is useful for - * reducing the number of invoking malloc function. by combining - * multiple malloc calls together. - * - PARMS_RESIZE changes the size of the allocated memory. - * - PARMS_FREE frees the memory allocated. - * - */ - -#ifndef _PARMS_MEM_H_ -#define _PARMS_MEM_H_ - -#include -#include -#include "parms_sys.h" - -PARMS_CXX_BEGIN - -#ifdef __STDC__ -#if defined(__STDC_VERSION__) && __STDC_VERSION__ >=199901L -#define C99 -#elif defined(__STDC_VERSION__) && __STDC_VERSION__>=199409L -#define C89 -#else -#define C89 -#endif -#endif - -#ifdef C99 -extern void *parms_malloc(long size, const int line, const char *func, - const char *fname); -extern void *parms_calloc(long count, long size, int line, - const char *func, const char *fname); -extern void *parms_resize(void *ptr, long size, const int line, - const char *func, const char *fname); -extern void parms_free(void *ptr, const int line, const char *func, - const char *fname); -#define PARMS_ALLOC(n) parms_malloc((long)(n), __LINE__, __func__, __FILE__) -#define PARMS_CALLOC(n, size) parms_calloc((long)(n), (long)(size), __LINE__, __func__, __FILE__) -#define PARMS_NEW(p) ((p) = PARMS_ALLOC(sizeof *(p))) -#define PARMS_NEW0(p) ((p) = PARMS_CALLOC(1, sizeof *(p))) -#define PARMS_NEWARRAY(p, n) ((p) = PARMS_ALLOC((n)*sizeof *(p))) -#define PARMS_NEWARRAY0(p, n) ((p) = PARMS_CALLOC((n), sizeof *(p))) -#define PARMS_RESIZE(p, size) ((p) = parms_resize((p), ((size) * (long)sizeof (*(p))), __LINE__, __func__, __FILE__)) -#define PARMS_FREE(p) (parms_free((p), __LINE__, __func__, __FILE__), (p) = NULL) - - -#else - -extern void *parms_malloc(long size, const int line, const char *fname); -extern void *parms_calloc(long count, long size, int line, - const char *fname); -extern void *parms_resize(void *ptr, long size, const int line, - const char *fname); -extern void parms_free(void *ptr, const int line, const char *fname); - -#define PARMS_ALLOC(n) parms_malloc((long)(n), __LINE__, __FILE__) -#define PARMS_CALLOC(n, size) parms_calloc((long)(n), (long)(size), __LINE__,__FILE__) -#define PARMS_NEW(p) ((p) = PARMS_ALLOC(sizeof *(p))) -#define PARMS_NEW0(p) ((p) = PARMS_CALLOC(1, sizeof *(p))) -#define PARMS_NEWARRAY(p, n) ((p) = PARMS_ALLOC((n)*sizeof *(p))) -#define PARMS_NEWARRAY0(p, n) ((p) = PARMS_CALLOC((n), sizeof *(p))) -#define PARMS_RESIZE(p, size) ((p) = parms_resize((p), ((size) * (long)sizeof (*(p))), __LINE__, __FILE__)) -#define PARMS_FREE(p) (parms_free((p), __LINE__, __FILE__), (p) = NULL) - - -#endif -#define PARMS_MEMCPY(dest, src, size) memcpy((dest), (src), (size)*(long)sizeof *(src)) - - -PARMS_CXX_END - -#endif diff --git a/lib/parms/include/parms_operator.h b/lib/parms/include/parms_operator.h deleted file mode 100755 index 51c2af27d..000000000 --- a/lib/parms/include/parms_operator.h +++ /dev/null @@ -1,167 +0,0 @@ -/** - * @file parms_operator.h - * @author Zhongze Li - * @date Tue Oct 17 11:51:20 2006 - * - * @brief Functions related to the preconditioner operator objects. - * - * A operator created implicitly by invoking a ILU-type function. The - * corresponding destructor is set automatically when the ILU-type - * function is called. - * - */ - -#ifndef _PARMS_OPERATOR_H_ -#define _PARMS_OPERATOR_H_ - -#include "parms_sys.h" -#include "parms_vec.h" -#include "parms_viewer.h" - -PARMS_CXX_BEGIN - -typedef struct parms_Operator_ *parms_Operator; - -typedef int (*opt_apply)(parms_Operator self, FLOAT *y, FLOAT *x); - -/** - * Create an operator object. - * - * @param self A pointer to the operator object created. - * - * @return 0 on success. - */ -extern int parms_OperatorCreate(parms_Operator *self); - -/** - * Free the memory for the operator object pointed to by self. - * - * @param self A pointer to the operator object. - * - * @return 0 on success. - */ -extern int parms_OperatorFree(parms_Operator *self); - -/** - * Dump the operator object. - * - * Output the L and U part of the operator object. - * - * @param self An operator object. - * @param v A parms_Viewer object. - * - * @return 0 on success. - */ -extern int parms_OperatorView(parms_Operator self, parms_Viewer v); - -/** - * Perform \f$x = self^{-1}y\f$. - * - * Assume \f$ A \approx \left( \begin{array}{ll} L & 0 \\ FU^{-1} & - * I\end{array} \right) \left( \begin{array}{ll} U & L^{-1}E \\ 0 & - * S\end{array} \right)\f$, this function performs \f$x = - * \left(\begin{array}{ll} U & L^{-1}E \\ 0 & - * S\end{array} \right)^{-1} - * \left( \begin{array}{ll} L & 0 \\ FU^{-1} & I\end{array} - * \right)^{-1}y\f$. - * - * @param self An operator. - * @param y A right-hand-side vector. - * @param x The solution vector. - * - * @return 0 on success. - */ -extern int parms_OperatorApply(parms_Operator self, FLOAT *y, - FLOAT *x); - -/** - * Perform forward sweep. - * - * Assume \f$ A \approx \left( \begin{array}{ll} L & 0 \\ FU^{-1} & - * I\end{array} \right) \left( \begin{array}{ll} U & L^{-1}E \\ 0 & - * S\end{array} \right)\f$, this function performs \f$x = - * \left( \begin{array}{ll} L & 0 \\ FU^{-1} & I\end{array} - * \right)^{-1}y\f$. - * - * @param self An operator object. - * @param y A right-hand-side vector. - * @param x The solution vector. - * - * @return 0 on success. - */ -extern int parms_OperatorLsol(parms_Operator self, FLOAT *y, FLOAT - *x); - -/** - * Perform \f$x = S^{-1}y\f$. - * - * Assume \f$ A \approx \left( \begin{array}{ll} L & 0 \\ FU^{-1} & - * I\end{array} \right) \left( \begin{array}{ll} U & L^{-1}E \\ 0 & - * S\end{array} \right)\f$, this function performs \f$x = S^{-1}y\f$. - * - * @param self An operator object. - * @param y A right-hand-side vector. - * @param x The solution vector. - * - * @return 0 on success. - */ -extern int parms_OperatorInvS(parms_Operator self, FLOAT *y, FLOAT - *x); - - - -/** - * Get local Schur Complement $S_i$ used by PCSCHURRAS (AF) - * - * @param self An operator object. - * @param mat local Schur_Complement - * - * @return 0 on success. - */ -extern int parms_OperatorGetS(parms_Operator self, void **mat); - -/** - * Perform block backward substitution. - * - * Assume \f$ A \approx \left( \begin{array}{ll} L & 0 \\ FU^{-1} & - * I\end{array} \right) \left( \begin{array}{ll} U & L^{-1}E \\ 0 & - * S\end{array} \right)\f$, this function performs \f$x = - * \left(\begin{array}{ll} U & L^{-1}E \\ 0 & - * I\end{array} \right)^{-1}y\f$. - * - * @param self An operator object. - * @param y A right-hand-side vector. - * @param x The solution vector. - * - * @return 0 on success. - */ -extern int parms_OperatorAscend(parms_Operator self, FLOAT *y, FLOAT - *x); - -/** - * Return the start position of the Schur complement in the local - * matrix. - * - * @param self An operator object. - * - * @return The beginning location of the Schur complement in the - * local system. - */ -extern int parms_OperatorGetSchurPos(parms_Operator self); - -/** - * Get the number of nonzero entries of the original matrix and - * the preconditioning matrix. - * - * @param self An operator object. - * @param nnz_mat A pointer to the number of nonzeros of the original - * matrix. - * @param nnz_pc A pointer to the number of nonzeros of the - * preconditioning matrix. - */ -extern void parms_OperatorGetNnz(parms_Operator self, int *nnz_mat, - int *nnz_pc); - -PARMS_CXX_END - -#endif diff --git a/lib/parms/include/parms_pc.h b/lib/parms/include/parms_pc.h deleted file mode 100755 index a9d43ac5a..000000000 --- a/lib/parms/include/parms_pc.h +++ /dev/null @@ -1,392 +0,0 @@ -/** - * @file parms_pc.h - * @author Zhongze Li - * @date Tue Oct 17 11:52:38 2006 - * - * @brief Preconditioner-related Functions. - * - */ - -#ifndef _PARMS_PC_H_ -#define _PARMS_PC_H_ - -#include "parms_sys.h" -#include "parms_operator.h" -#include "parms_mat.h" -#include "parms_vec.h" -#include "parms_viewer.h" - -PARMS_CXX_BEGIN - -typedef struct parms_PC_ *parms_PC; - -/** - * Solve \f$self z = y\f$ - * - * @param self A preconditioner object. - * @param y A right-hand-side vector. - * @param z The solution vector. - * - * @return 0 on success. - */ -extern int parms_PCApply(parms_PC self, FLOAT *y, FLOAT *z); - -/** - * Set the matrix to create the preconditioning matrix. - * - * @param self A preconditioner object. - * @param A The matrix to be used for creating PC. - * - * @return 0 on success. - */ -extern int parms_PCSetOP(parms_PC self, parms_Mat A); - -/** - * Set up the preconditioner (create the preconditioning matrix). - * - * @param self A preconditioner object. - * - * @return 0 on success. - */ -extern int parms_PCSetup(parms_PC self); - -/** - * Create a preconditioner object based on the matrix A. - * - * @param self A preconditioner object. - * @param A A matrix object. - * - * @return 0 on success. - */ -extern int parms_PCCreate(parms_PC *self, parms_Mat A); - -/** - * Create an abstract preconditioner object. - * - * @param self A pointer to the preconditioner object. - * - * @return 0 on success. - */ -extern int parms_PCCreateAbstract(parms_PC *self); - -/** - * Free the memory for the preconditioner object pointed to by self. - * - * @param self A pointer to the memory for the preconditioner object. - * - * @return 0 on success. - */ -extern int parms_PCFree(parms_PC *self); - -/** - * Dump preconditioner object self. - * - * @param self A preconditioner object. - * @param v A viewer object. - */ -extern void parms_PCView(parms_PC self, parms_Viewer v); - -/** - * Set preconditioner type. - * - * Currently supported preconditioners: - * \f{tabular}{ll} - * PCBJ & block Jacobi \\ - * PCRAS & restricted additive Schwarz \\ - * PCSCHUR & Schur complement - * \f} - * - * @param self A preconditioner object. - * @param pctype The type of preconditioner. - * - PCBJ block Jacobi - * - PCRAS restricted additive Schwarz - * - PCSCHUR Schur complement - * - * @return 0 on success. - */ -extern int parms_PCSetType(parms_PC self, PCTYPE pctype); - -/** - * Set local preconditioner type. - * - * Supported ILU preconditioners: - * - * \f{tabular}{ll} - * PCILU0 & ILU0 \\ - * PCILUK & ILUK \\ - * PCILUT & ILUT in SPARSKIT \\ - * PCARMS & ARMS implemented by Yousef Saad - * \f} - - * @param self A preconditioner object. - * @param pcstype The type of local preconditioner: - * - PCILU0 - * - PCILUK - * - PCILUT - * - PCARMS - * - * @return 0 on success. - */ -extern int parms_PCSetILUType(parms_PC self, PCILUTYPE pcstype); - -/** - * Perform ILU factorization. - * - * @param self A preconditioner object. - * @param param The parameters used for ILU factorization. - * @param mat Matrix to be factored. - * @param op The operator created. - * - * @return 0 on success. - */ -extern int parms_PCILU(parms_PC self, parms_FactParam param, void - *mat, parms_Operator *op); - -/** - * Set parameters for the preconditioner object. - * - * Supported parameters: - * - tol drop tolerance - * - fil fill-in - * - nlev number of levels - * - bsize block size for finding independent sets in ARMS. - * - tolind drop tolerance for finding independent sets. - * - iksize the restart size for the inner GMRES. - * - imax the number of iterations for the inner GMRES. - * - * @param self A preconditioner object. - * @param nflags The number of parameters. - * @param params A pointer to parameters. - * - * @return 0 on success. - */ -extern int parms_PCSetParams(parms_PC self, int nflags, char **params); - -/** - * Set permutation and scaling options for interlevel blocks. - * - * @param self A preconditioner object. - * @param meth Options: - * - meth[0] nonsummetric permutations of 1: yes. affects - * rperm USED FOR LAST SCHUR COMPLEMENT - * - meth[1] permutations of columns 0:no 1: yes. So far - * this is USED ONLY FOR LAST BLOCK [ILUTP - * instead of ILUT]. (so ipar[11] does not matter - * ,enter zero). If ipar[15] is one then ILUTP - * will be used instead of ILUT. Permutation data - * stored in: perm2. - * - meth[2] diag. row scaling. 0:no 1:yes. Data: D1 - * - meth[3] diag. column scaling. 0:no 1:yes. Data: D2 - * @param flag Options: - * - 1 interlevel block. - * - 0 last block. - * - * @return 0 on success. - */ -extern int parms_PCSetPermScalOptions(parms_PC self, int *meth, int - flag); - -/** - * Set fill-in parameter for ILUT and ARMS. - * - * @param self A preconditioner object. - * @param fill A int array of size 7. - * - fill[0] amount of fill-in kept in \f$L_{B}\f$. - * - fill[1] amount of fill-in kept in \f$U_{B}\f$. - * - fill[2] amount of fill-in kept in \f$E L^{-1}\f$. - * - fill[3] amount of fill-in kept in \f$U^{-1}_{B} F\f$. - * - fill[4] amount of fill-in kept in \f$S\f$. - * - fill[5] amount of fill-in kept in \f$L_S\f$. - * - fill[6] amount of fill-in kept in \f$U_S\f$. - * - * @return 0 on success. - */ -extern int parms_PCSetFill(parms_PC self, int *fill); - -/** - * Set the drop tolerance for ILUT preconditioner. - * - * @param self A preconditioner object. - * @param tol A double array of size 7. - * - tol[0] threshold for dropping in L_{B}. - * - tol[1] threshold for dropping in U_{B}. - * - tol[2] threshold for dropping in L^{-1} F - * - tol[3] threshold for dropping in E U^{-1} - * - tol[4] threshold for dropping in Schur complement - * - tol[5] threshold for dropping in L in last block - * - tol[6] threshold for dropping in U in last block - * - * @return 0 on success. - */ -extern int parms_PCSetTol(parms_PC self, double *tol); - -/** - * Set the number of levels for ILUK and ARMS. - * - * @param self A preconditioner object. - * @param nlevel The number of levels. - * - * @return 0 on success. - */ -extern int parms_PCSetNlevels(parms_PC self, int nlevel); - -/** - * Set the type of permutation in ARMS - * - * @param self A preconditioner object. - * @param type Permutation type. - * - 1 non-symmetric permutaion. - * - 0 symmetric permutation. - * - * @return 0 on success. - */ -extern int parms_PCSetPermType(parms_PC self, int type); - -/** - * Set the block size for ARMS. - * - * @param self A preconditioner object. - * @param bsize The block size for ARMS. - * - * @return 0 on success. - */ -extern int parms_PCSetBsize(parms_PC self, int bsize); - -/** - * Set the restart size for the inner GMRES. - * - * @param self A preconditioner object. - * @param im The restart size of the inner GMRES. - * - * @return 0 on success. - */ -extern int parms_PCSetInnerKSize(parms_PC self, int im); - - -/** - * Set the maximum iteration counts for the inner GMRES. - * - * @param self A preconditioner object. - * @param imax The maximum iteration counts. - * - * @return 0 on success. - */ -extern int parms_PCSetInnerMaxits(parms_PC self, int imax); - -/** - * Set the convergence tolerance for the inner GMRES. - * - * @param self A preconditioner object. - * @param eps The convergence tolerance. - * - * @return 0 on success. - */ -extern int parms_PCSetInnerEps(parms_PC self, REAL eps); - -/** - * Set the tolerance for finding independent sets. - * - * @param self A preconditioner object. - * @param tolind The drop tolerance for finding independent sets. - * - * @return 0 on success. - */ -extern int parms_PCSetTolInd(parms_PC self, REAL tolind); - -/** - * Get the ratio of the number of nonzero entries of the - * preconditioning matrix to that of the original matrix. - * - * @param self A preconditioner. - * @param ratio A pointer to the ratio. - * - * @return 0 on success. - */ -extern int parms_PCGetRatio(parms_PC self, double *ratio); - -/** - * Return the name of a preconditioner. - * - * @param self A preconditioner. - * @param name The name of preconditioner. - * - * @return 0 on success. - */ -extern int parms_PCGetName(parms_PC self, char **name); - -/** - * Return the name of a local preconditioner. - * - * @param self A preconditioner. - * @param iluname The name of local ILU preconditioner. - * - * @return 0 on success. - */ -extern int parms_PCILUGetName(parms_PC self, char **iluname); - -/* - * - * Fortran Wrapper Functions - * -*/ - -extern void parms_pccreate_(parms_PC *self, parms_Mat *A, int *ierr); - -extern void parms_pcfree_(parms_PC *self, int *ierr); - -extern void parms_pcgetratio_(parms_PC *self, double *ratio, int *ierr); - -extern void parms_pcsetbsize_(parms_PC *self, int *bsize, int *ierr); - -extern void parms_pcsetfill_(parms_PC *self, int *fill, int *ierr); - -extern void parms_pcsetilutype_(parms_PC *self, PCILUTYPE *pcstype, int - *ierr); - -extern void parms_pcsetinnereps_(parms_PC *self, REAL *eps, int *ierr); - -extern void parms_pcsetinnerksize_(parms_PC *self, int *im, int *ierr); - -extern void parms_pcsetinnermaxits_(parms_PC *self, int *imax, int *ierr); - -extern void parms_pcsetnlevels_(parms_PC *self, int *nlevel, int *ierr); - -extern void parms_pcsetparams_(parms_PC *self, int *nflags, char **params, - int *ierr); - -extern void parms_pcsettol_(parms_PC *self, double *tol, int *ierr); - -extern void parms_pcsettolind_(parms_PC *self, REAL *tolind, int *ierr); - -extern void parms_pcsettype_(parms_PC *self, PCTYPE *pctype, int *ierr); - -extern void parms_pcsetup_(parms_PC *self, int *ierr); - -extern void parms_pcsolve_(parms_PC *self, FLOAT *y, FLOAT *z, int *ierr); - -extern void parms_pcview_(parms_PC *self, parms_Viewer *v, int *ierr); - -extern void parms_pcgetname_(parms_PC *self, char *name, int *size, int - *ierr, int len); - -extern void parms_pcilugetname_(parms_PC *self, char *name, int *size, int - *ierr, int len); - -extern void parms_pccreateabstract_(parms_PC *self, int *ierr); - -extern void parms_pcsetpermscaloptions_(parms_PC *self, int *meth, int - *flag, int *ierr); - -extern void parms_pcsetpermtype_(parms_PC *self, int *type, int *ierr); - -extern void parms_pcsetop_(parms_PC *self, parms_Mat *A, int *ierr); - -/* - * - * end Fortran Wrapper Functions - * -*/ - -PARMS_CXX_END - -#endif diff --git a/lib/parms/include/parms_solver.h b/lib/parms/include/parms_solver.h deleted file mode 100755 index dd4241c51..000000000 --- a/lib/parms/include/parms_solver.h +++ /dev/null @@ -1,194 +0,0 @@ -/** - * @file parms_solver.h - * @author Zhongze Li - * @date Tue Oct 17 11:58:22 2006 - * - * @brief Functions related to the Krylov subspace methods. Only - * FGMRES is supported. - * - */ - -#ifndef _PARMS_SOLVER_H_ -#define _PARMS_SOLVER_H_ - -#include "parms_vec.h" -#include "parms_mat.h" -#include "parms_viewer.h" -#include "parms_pc.h" -#include "parms_operator.h" - -PARMS_CXX_BEGIN - -typedef struct parms_Solver_ *parms_Solver; - -/** - * Get the matrix of the linear system. - * - * @param self A parms_Solver object. - * @param A A pointer to the matrix returned. - * - * @return 0 on success. - */ -extern int parms_SolverGetMat(parms_Solver self, parms_Mat *A); - -/** - * Get the preconditioning matrix. - * - * @param self A parms_Solver object. - * @param PC A pointer to the preconditioning matrix. - * - * @return 0 on success. - */ -extern int parms_SolverGetPC(parms_Solver self, parms_PC *PC); - -/** - * Solve the equation \f$Ax = y\f$. - * - * @param self A parms_Solver object. - * @param x The solution vector. - * @param y The right-hand-side vector. - * - * @return 0 on success. - */ -extern int parms_SolverApply(parms_Solver self, FLOAT *x, FLOAT *y); - -/** - * Compute the local residual \f$ r = y - Ax \f$. - * - * @param self A parms_Solver object. - * @param x The solution vector. - * @param y The right-hand-side vector. - * @param r The computed residual vector. - * - * @return 0 on success. - */ -extern int parms_SolverGetResidual(parms_Solver self, FLOAT *y, FLOAT *x, FLOAT *r); - -/** - * Compute the local residual 2-norm \f$ ||r = y - Ax|| \f$. - * - * @param self A parms_Solver object. - * @param x The solution vector. - * @param y The right-hand-side vector. - * @param rnorm The 2-norm of the residual vector. - * - * @return 0 on success. - */ -extern int parms_SolverGetResidualNorm2(parms_Solver self, FLOAT *y, FLOAT *x, REAL *rnorm); - - -/** - * Set the type of the solver. - * - * Only FGMRES solver is available in the package. - * - * @param self A parms_Solver object. - * @param stype The type of Krylov subspace. - * - SOLFGMRES - * - SOLDGMRES - * - * @return 0 on success. - */ -extern int parms_SolverSetType(parms_Solver self, SOLVERTYPE stype); - -/** - * Create a parms_Solver object. - * - * @param self A pointer to the parms_Solver object created. - * @param A The matrix of the linear system. - * @param pc The preconditioner. - * - * @return 0 on success. - */ -extern int parms_SolverCreate(parms_Solver *self, parms_Mat A, parms_PC pc); - -/** - * Free the memory for the parms_Solver object. - * - * @param self A pointer to the parms_Solver object to be freed. - * - * @return 0 on success. - */ -extern int parms_SolverFree(parms_Solver *self); - -/** - * Dump te solver object. - * - * @param self A parms_Solver object. - * @param v A parms_Viewer object. - */ -extern int parms_SolverView(parms_Solver self, parms_Viewer v); - -/** - * Set parameter for the solver. - * - * Set the maximum iteration counts, the restart size of GMRES, and - * the convergence tolerance. - * - * @param self A parms_Solver object. - * @param ptype The type of parameter. - * - MAXITS maximum iteration counts. - * - KSIZE restart size of GMRES. - * - DTOL converence tolerance. - * - NEIG number of eigenvectors. - * @param param Parameters for the solver. - */ -extern void parms_SolverSetParam(parms_Solver self, PARAMTYPE ptype, - char *param); - -/** - * Get the iteration counts. - * - * @param self A parms_Solver object. - * - * @return The iteration counts. - */ -extern int parms_SolverGetIts(parms_Solver self); - - -/* - * - * Fortran Wrapper Functions - * -*/ - -extern void parms_solverapply_(parms_Solver *self, FLOAT *x, FLOAT - *y, int *ierr); - -extern void parms_solvercreate_(parms_Solver *self, parms_Mat *A, parms_PC - *pc, int *ierr); - -extern void parms_solverfree_(parms_Solver *self, int *ierr); - -extern void parms_solvergetits_(parms_Solver *self, int *its, int *ierr); - -extern void parms_solvergetmat_(parms_Solver *self, parms_Mat *A, int *ierr); - -extern void parms_solversetparam_(parms_Solver *self, PARAMTYPE *ptype, char - *param, int *ierr); - -extern void parms_solversettype_(parms_Solver *self, SOLVERTYPE *stype, int - *ierr); - -extern void parms_solvergetpc_(parms_Solver *self, parms_PC *PC, int - *ierr); - -extern void parms_solvergetresidual_(parms_Solver *self, FLOAT *y, FLOAT *x, - FLOAT *r, int *ierr); - -extern void parms_solvergetresidualnorm2_(parms_Solver *self, FLOAT *y, FLOAT *x, - REAL *rnorm, int *ierr); - -extern void parms_solverview_(parms_Solver *self, parms_Viewer *v, int - *ierr); - -/* - * - * End Fortran Wrapper Functions - * -*/ - - -PARMS_CXX_END - -#endif diff --git a/lib/parms/include/parms_sys.h b/lib/parms/include/parms_sys.h deleted file mode 100755 index d49f25ef6..000000000 --- a/lib/parms/include/parms_sys.h +++ /dev/null @@ -1,196 +0,0 @@ -/** - * @file parms_sys.h - * @author Zhongze Li - * @date Tue Oct 17 11:59:09 2006 - * - * @brief Macros and typedef needed by all other header files. - * - */ - -#ifndef _PARMS_SYS_H_ -#define _PARMS_SYS_H_ - -#ifdef __STDC__ -#if defined(__STDC_VERSION__) && __STDC_VERSION__ >=199901L -#define C99 -#elif defined(__STDC_VERSION__) && __STDC_VERSION__>=199409L -#define C89 -#else -#define C89 -#endif -#endif - -#ifdef USE_MPI -#define PARMS_ABORT(error_number) \ - if (true) { \ - int flag; \ - MPI_Initialized(&flag); \ - if (flag) { \ - MPI_Abort(MPI_COMM_WORLD, (error_number)); \ - } \ - else { \ - exit((error_number)); \ - } \ - } else -#else -#define PARMS_ABORT(error_number) \ - if (true) { \ - exit((error_number)); \ - } else -#endif - -#include -#ifdef C99 -#include -#endif -#include "mpi.h" - -#if defined(__cplusplus) -#define PARMS_CXX_BEGIN extern "C" { -#define PARMS_CXX_END } -#else -#define PARMS_CXX_BEGIN -#define PARMS_CXX_END -#endif - -PARMS_CXX_BEGIN - -typedef enum VARSTYPE {INTERLACED, NONINTERLACED} VARSTYPE; -typedef enum INSERTMODE {INSERT, ADD} INSERTMODE; -typedef enum NNZSTRUCT {SAME_NONZERO_STRUCTURE, DIFFERENT_NONZERO_STRUCTURE} NNZSTRUCT; -typedef enum COMMTYPE {P2P, DERIVED} COMMTYPE; -typedef enum SOLVERTYPE {SOLFGMRES, SOLGMRES, SOLBICGS, SOLCG, SOLPBICGS, SOLPBICGS_RAS, SOLBICGS_RAS} SOLVERTYPE; -typedef enum PARAMTYPE {MAXITS, KSIZE, DTOL, NEIG} PARAMTYPE; -typedef enum MATTYPE {MAT_NULL=-1, MAT_VCSR=0, MAT_CSR=1} MATTYPE; -typedef enum PCTYPE {PCBJ, PCSCHUR, PCRAS, PCSCHURRAS} PCTYPE; -typedef enum PCILUTYPE {PCILU0, PCILUK, PCILUT, PCARMS} PCILUTYPE; - -#ifdef C99 -typedef _Bool BOOL; -#else -typedef int BOOL; -#define true 1 -#define false 0 -#endif - -#define PARMS_COUT "parms_cout" -#define PARMS_CERR "parms_cerr" - -typedef struct parms_FactParam { - int schur_start; /* start position of the Schur complement */ - int start; /* start row index of the submatrix in - the whole matrix */ - int n; /* the size of the local matrix */ - /* - mc = multicoloring or not (0-not, 1-yes). - ipar[0:17] = integer array to store parameters for both - arms construction (arms2) and iteration (armsol2). - - ipar[0]:=nlev. number of levels (reduction processes). see - also "on return" below. - - ipar[1]:= level-reordering option to be used. - if ipar[1]==0 ARMS uses a block independent set ordering - with a sort of reverse cutill Mc Kee ordering to build - the blocks. This yields a symmetric ordering. - in this case the reordering routine called is indsetC - if ipar[1] == 1, then a nonsymmetric ordering is used. - In this case, the B matrix is constructed to be as - diagonally dominant as possible and as sparse as possble. - in this case the reordering routine called is ddPQ. - - ipar[2]:=bsize. Dimension of the blocks. In this version, bsize - is only a target block size. The size of each block can vary - and is >= bsize. - - ipar[3]:=iout if (iout > 0) statistics on the run are printed - to FILE *ft - - The following are not used by arms2 -- but should set before - calling the preconditionning operation armsol2: - - ipar[4]:= Krylov subspace dimension for last level - ipar[4] == 0 means only backward/forward solve is performed - on last level. - ipar[5]:= maximum # iterations on last level - - ipar[6-9] NOT used [reserved for later use] - must be - set to zero. [see however a special use of ipar[5] in fgmresC.] - - The following set method options for arms2. Their default - values can all be set to zero if desired. - - ipar[10-13] == meth[0:3] = method flags for interlevel blocks - ipar[14-17] == meth[0:3] = method flags for last level block - - with the following meaning - meth[0] permutations of rows 0:no 1: yes. affects rperm - NOT USED IN THIS VERSION ** enter 0.. Data: rperm - meth[1] permutations of columns 0:no 1: yes. So far this is - USED ONLY FOR LAST BLOCK [ILUTP instead of ILUT]. (so - ipar[11] does no matter - enter zero). If ipar[15] is one - then ILUTP will be used instead of ILUT. Permutation data - stored in: perm2. - meth[2] diag. row scaling. 0:no 1:yes. Data: D1 - meth[3] diag. column scaling. 0:no 1:yes. Data: D2 - similarly for meth[14], ..., meth[17] all transformations - related to parametres in meth[*] (permutation, - scaling,..) are applied to the matrix before processing - it - - droptol = Threshold parameters for dropping elements in ILU - factorization. - droptol[0:4] = related to the multilevel block factorization - droptol[5:5] = related to ILU factorization of last block. - This flexibility is more than is really needed. one can use a - single parameter for all. it is preferable to use one value - for droptol[0:4] and another (smaller) for droptol[5:6] - droptol[0] = threshold for dropping in L [B]. See piluNEW.c: - droptol[1] = threshold for dropping in U [B]. - droptol[2] = threshold for dropping in L^{-1} F - droptol[3] = threshold for dropping in E U^{-1} - droptol[4] = threshold for dropping in Schur complement - droptol[5] = threshold for dropping in L in last block [see - ilutpC.c] - droptol[6] = threshold for dropping in U in last block [see - ilutpC.c] - - lfil = lfil[0:6] is an array containing the fill-in parameters. - similar explanations as above, namely: - lfil[0] = amount of fill-in kept in L [B]. - lfil[1] = amount of fill-in kept in U [B]. - etc.. - - tolind = tolerance parameter used by the indset function. - a row is not accepted into the independent set if the *relative* - diagonal tolerance is below tolind. see indset function for - details. Good values are between 0.05 and 0.5 -- larger values - tend to be better for harder problems. - - Note: The comments above are for arms. The first element for every - array is for other preconditioner: ilut, iluk - */ - int mc; - int lfil[7]; - int ipar[18]; - double droptol[7]; - double pgfpar[2]; - double tolind; - BOOL isalloc; -} *parms_FactParam; - -#define ZERO 0.0 -#define EPSILON 1.0e-20 -#define EPSMAC 1.0e-16 - -/* Compile real or complex version of code */ -#if defined(DBL_CMPLX) -#include "parms_sys_cmplx.h" -#elif defined(DBL) -#include "parms_sys_dbl.h" -#else -#include "parms_sys_dbl.h" -#endif - -PARMS_CXX_END - -#endif diff --git a/lib/parms/include/parms_sys_cmplx.h b/lib/parms/include/parms_sys_cmplx.h deleted file mode 100755 index eb5805615..000000000 --- a/lib/parms/include/parms_sys_cmplx.h +++ /dev/null @@ -1,172 +0,0 @@ -/** - * @file parms_sys_cmplx.h - * @author Zhongze Li - * @date Tue Oct 17 11:59:09 2006 - * - * @brief Macros and typedef needed by all other header files. - * This is used when the complex version of the code is compiled - * (with the -DDBL_CMPLX flag) - * - * DOK - * - */ - -#include - -typedef struct{ - double real, imag; -}complex_type; - -/* Define complex data-type for MPI */ -#ifdef USE_MPI -MPI_Datatype MPI_CMPLX; -MPI_Op MPI_CMPLX_SUM; -#endif - -/* external BLAS */ -#if defined(DBL_CMPLX) -#define FLOAT complex double -#define ABS_VALUE(a) (cabs(a)) /* definition of absolute value */ -#define GDOTC ZDOTC -#define GDOTU ZDOTU -#define GCOPY ZCOPY -#define GSCAL ZSCAL -#define GAXPY ZAXPY -#define GNRM2 DZNRM2 -#define GGEMV ZGEMV -#define GGEMM ZGEMM -#define GGETRF ZGETRF -#define GGETRS ZGETRS -#define GGETRI ZGETRI -#define GGESVD ZGESVD -#if defined(FORTRAN_CAPS) -#define zdotc_ ZDOTC -#define zdotu_ ZDOTU -#define zcopy_ ZCOPY -#define zscal_ ZSCAL -#define zaxpy_ ZAXPY -#define dznrm2_ DZNRM2 -#define zgemv_ ZGEMV -#define zgemm_ ZGEMM -#define zgetrf_ ZGETRF -#define zgetrs_ ZGETRS -#define zgetri_ ZGETRI -#define zgesvd_ ZGESVD -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define zdotc_ zdotc__ -#define zdotu_ zdotu__ -#define zcopy_ zcopy__ -#define zscal_ zscal__ -#define zaxpy_ zaxpy__ -#define dznrm2_ dznrm2__ -#define zgemv_ zgemv__ -#define zgemm_ zgemm__ -#define zgetrf_ zgetrf__ -#define zgetrs_ zgetrs__ -#define zgetri_ zgetri__ -#define zgesvd_ zgesvd__ -#elif !defined(FORTRAN_UNDERSCORE) -#define BLAS_C_INTERFACE -#include -#define zdotc_ zdotc -#define zdotu_ zdotu -#define zcopy_ zcopy -#define zscal_ zscal -#define zaxpy_ zaxpy -#define dznrm2_ dznrm2 -#define zgemv_ zgemv -#define zgemm_ zgemm -#define zgetrf_ zgetrf -#define zgetrs_ zgetrs -#define zgetri_ zgetri -#define zgesvd_ zgesvd -#endif - -/* FORTRAN subroutines */ -#ifndef BLAS_C_INTERFACE -#define ZDOTC(n,x,incx,y,incy) zdotc_(&(n),(x),&(incx),(y),&(incy)) -#define ZDOTU(n,x,incx,y,incy) zdotu_(&(n),(x),&(incx),(y),&(incy)) -#define ZCOPY(n,x,incx,y,incy) zcopy_(&(n),(x),&(incx),(y),&(incy)) -#define ZSCAL(n,alpha,x,incx) zscal_(&(n),&(alpha),(x), &(incx)) -#define ZAXPY(n,alpha,x,incx,y,incy) zaxpy_(&(n), &(alpha), (x), \ - &(incx), y, &(incy)) -#define DZNRM2(n, x, incx) dznrm2_(&(n), (x), &(incx)) -#define ZGEMV(transa, m, n, alpha, a, lda, x, incx, beta, y, incy) \ - zgemv_((transa), &(m), &(n), &(alpha), (a), &(lda), (x), &(incx), \ - &(beta), (y), &(incy)) -#define ZGEMM(transa,transb,l,n,m,alpha,a,lda,b,ldb,beta,c,ldc) \ - zgemm_((transa), (transb), &(l), &(n), &(m), &(alpha), (a), \ - &(lda), b, &(ldb), &(beta), (c), &(ldc)) -#define ZGETRF(m, n, a, lda, ipvt, info) \ - zgetrf_(&(m), &(n), (a), &(lda), (ipvt), &(info)) -#define ZGETRS(trans, n, nrhs, a, lda, ipiv, b, ldb, info) \ - zgetrs_((trans), &(n), &(nrhs), (a), &(lda), (ipiv), (b), &(ldb), &(info)) -#define ZGETRI(n, a, lda, ipvt, work, lwork, info) \ - zgetri_(&(n), (a), &(lda), (ipvt), (work), &(lwork), &(info)) - -extern complex double zdotc_(int *n, complex double *x, int *incx, complex double *y, int - *incy); -extern complex double zdotu_(int *n, complex double *x, int *incx, complex double *y, int - *incy); -extern void zcopy_(int *n, complex double *x, int *incx, complex double *y, int - *incy); -extern void zscal_(int *n, complex double *alpha, complex double *x, int *incx); -extern void zaxpy_(int *n, complex double *alpha, complex double *x, int *incx, - complex double *y, int *incy); -extern double dznrm2_(int *n, complex double *x, int *incx); -extern void zgemv_(char *transa, int *m, int *n, complex double *alpha, - complex double *a, int *lda, complex double *x, int *incx, complex double - *beta, complex double *y, int *incy); -extern void zgemm_(char *transa, char *transb, int *l, int *m, int - *n, complex double *alpha, complex double *a, int *lda, complex double - *b, int *ldb, complex double *beta, complex double *c, int *ldc); -extern void zgetrf_(int *m, int *n, complex double *a, int *lda, int *ipvt, - int *info); -extern void zgetrs_(char *trans, int *n, int *nrhs, complex double *a, int - *lda, int *ipiv, complex double *b, int *ldb, int - *info); -extern void zgetri_(int *n, complex double *a, int *lda, int *ipvt, complex double - *work, int *lwork, int *info); -#else -#define ZDOTC(n,x,incx,y,incy) zdotc_((n), (x), (incx), (y), (incy)) -#define ZDOTU(n,x,incx,y,incy) zdotu_((n), (x), (incx), (y), (incy)) -#define ZCOPY(n,x,incx,y,incy) zcopy_((n), (x), (incx), (y), \ - (incy)) -#define ZSCAL(n,alpha,x,incx) zscal_((n), (alpha), (x), (incx)) -#define ZAXPY(n,alpha,x,incx,y,incy) zaxpy_((n), (alpha), (x), (incx), \ - (y), (incy)) -#define DZNRM2(n,x,incx) dznrm2_((n), (x), (incx)) - -#define ZGEMV(transa,m,n,alpha,a,lda,x,incx,beta,y,incy) \ - zgemv_((transa), (m), (n), \ - (alpha), (a), (lda), (x), (incx), \ - (beta), (y), (incy)) - -#define ZGEMM(transa,transb,l,n,m,alpha,a,lda,b,ldb,beta,c,ldc) \ - zgemm_((transa),(transb), \ - (l),(n),(m),(alpha),(a), \ - (lda),(b),(ldb),(beta),(c),(ldc)) -#define ZGETRF(m, n, a, lda, ipvt, info) \ - zgetrf_((m), (n), (a), (lda), (ipvt), &(info)) -#define ZGETRS(trans, n, nrhs, a, lda, ipiv, b, ldb, info) \ - zgetrs_((trans), (n), (nrhs), (a), (lda), (ipiv), (b), (ldb), &(info)) -#define ZGETRI(n, a, lda, ipvt, work, lwork, info) \ - zgetri_((n), (a), (lda), (ipvt), (work), (lwork), &(info)) -#endif - -extern void zgesvd_(char*, char*, int*, int*, complex double*, int*, double*, - complex double *, int*, complex double*, int*, complex double*, int*, - double*, int*); - -/* givens rotations*/ -double sgn(double x, double y); -double sign(double x); -double abs1(complex double x); -double abssq(complex double x); -extern void zclartg(complex double f, complex double g, double *cs, complex double *sn, complex double *rot); - -/*---- initialize complex datatypes and ops --- */ -extern void parms_InitComplex(); -void complex_sum(complex_type *in, complex_type *inout, int *len, MPI_Datatype *data_ptr); - -#endif diff --git a/lib/parms/include/parms_sys_dbl.h b/lib/parms/include/parms_sys_dbl.h deleted file mode 100755 index c36554ac7..000000000 --- a/lib/parms/include/parms_sys_dbl.h +++ /dev/null @@ -1,148 +0,0 @@ -/** - * @file parms_sys_dbl.h - * @author Zhongze Li - * @date Tue Oct 17 11:59:09 2006 - * - * @brief Macros and typedef needed by all other header files. - * This is used when the real version of the code is compiled - * (with the -DDBL flag) - * - * DOK - * - */ - -/* external BLAS */ -#if defined(DBL) -#define FLOAT double -#define ABS_VALUE(a) (fabs(a)) /* definition of absolute value */ -#define GDOT DDOT -#define GCOPY DCOPY -#define GSCAL DSCAL -#define GAXPY DAXPY -#define GNRM2 DNRM2 -#define GDMIN IDMIN -#define GGEMV DGEMV -#define GGEMM DGEMM -#define GGETRF DGETRF -#define GGETRS DGETRS -#define GGETRI DGETRI -#define GGESVD DGESVD -#if defined(FORTRAN_CAPS) -#define ddot_ DDOT -#define dcopy_ DCOPY -#define dscal_ DSCAL -#define daxpy_ DAXPY -#define dnrm2_ DNRM2 -#define idmin_ IDMIN -#define dgemv_ DGEMV -#define dgemm_ DGEMM -#define dgetrf_ DGETRF -#define dgetrs_ DGETRS -#define dgetri_ DGETRI -#define dgesvd_ DGESVD -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define ddot_ ddot__ -#define dcopy_ dcopy__ -#define dscal_ dscal__ -#define daxpy_ daxpy__ -#define dnrm2_ dnrm2__ -#define idmin_ idmin__ -#define dgemv_ dgemv__ -#define dgemm_ dgemm__ -#define dgetrf_ dgetrf__ -#define dgetrs_ dgetrs__ -#define dgetri_ dgetri__ -#define dgesvd_ dgesvd__ -#elif !defined(FORTRAN_UNDERSCORE) -#define BLAS_C_INTERFACE -#define ddot_ ddot -#define dcopy_ dcopy -#define dscal_ dscal -#define daxpy_ daxpy -#define dnrm2_ dnrm2 -#define idmin_ idmin -#define dgemv_ dgemv -#define dgemm_ dgemm -#define dgetrf_ dgetrf -#define dgetrs_ dgetrs -#define dgetri_ dgetri -#define dgesvd_ dgesvd -#endif - -/* FORTRAN subroutines */ -#ifndef BLAS_C_INTERFACE -#define DDOT(n,x,incx,y,incy) ddot_(&(n),(x),&(incx),(y),&(incy)) -#define DCOPY(n,x,incx,y,incy) dcopy_(&(n),(x),&(incx),(y),&(incy)) -#define DSCAL(n,alpha,x,incx) dscal_(&(n),&(alpha),(x), &(incx)) -#define DAXPY(n,alpha,x,incx,y,incy) daxpy_(&(n), &(alpha), (x), \ - &(incx), y, &(incy)) -#define DNRM2(n, x, incx) dnrm2_(&(n), (x), &(incx)) -#define IDMIN(n, sx, incx) idmin_((&(n), (sx), &(incx)) -#define DGEMV(transa, m, n, alpha, a, lda, x, incx, beta, y, incy) \ - dgemv_((transa), &(m), &(n), &(alpha), (a), &(lda), (x), &(incx), \ - &(beta), (y), &(incy)) -#define DGEMM(transa,transb,l,n,m,alpha,a,lda,b,ldb,beta,c,ldc) \ - dgemm_((transa), (transb), &(l), &(n), &(m), &(alpha), (a), \ - &(lda), b, &(ldb), &(beta), (c), &(ldc)) -#define DGETRF(m, n, a, lda, ipvt, info) \ - dgetrf_(&(m), &(n), (a), &(lda), (ipvt), &(info)) -#define DGETRS(trans, n, nrhs, a, lda, ipiv, b, ldb, info) \ - dgetrs_((trans), &(n), &(nrhs), (a), &(lda), (ipiv), (b), &(ldb), &(info)) -#define DGETRI(n, a, lda, ipvt, work, lwork, info) \ - dgetri_(&(n), (a), &(lda), (ipvt), (work), &(lwork), &(info)) - -extern double ddot_(int *n, double *x, int *incx, double *y, int - *incy); -extern void dcopy_(int *n, double *x, int *incx, double *y, int - *incy); -extern void dscal_(int *n, double *alpha, double *x, int *incx); -extern void daxpy_(int *n, double *alpha, double *x, int *incx, - double *y, int *incy); -extern double dnrm2_(int *n, double *x, int *incx); -extern void idmin_(int *n, double *sx, int *incx); -extern void dgemv_(char *transa, int *m, int *n, double *alpha, - double *a, int *lda, double *x, int *incx, double - *beta, double *y, int *incy); -extern void dgemm_(char *transa, char *transb, int *l, int *m, int - *n, double *alpha, double *a, int *lda, double - *b, int *ldb, double *beta, double *c, int *ldc); -extern void dgetrf_(int *m, int *n, double *a, int *lda, int *ipvt, - int *info); -extern void dgetrs_(char *trans, int *n, int *nrhs, double *a, int - *lda, int *ipiv, double *b, int *ldb, int - *info); -extern void dgetri_(int *n, double *a, int *lda, int *ipvt, double - *work, int *lwork, int *info); -#else -#define DDOT(n,x,incx,y,incy) ddot_((n), (x), (incx), (y), (incy)) -#define DCOPY(n,x,incx,y,incy) dcopy_((n), (x), (incx), (y), \ - (incy)) -#define DSCAL(n,alpha,x,incx) dscal_((n), (alpha), (x), (incx)) -#define DAXPY(n,alpha,x,incx,y,incy) daxpy_((n), (alpha), (x), (incx), \ - (y), (incy)) -#define DNRM2(n,x,incx) dnrm2_((n), (x), (incx)) - -#define IDMIN(n,sx,incx) idmin_((n), (sx), (incx)) -#define DGEMV(transa,m,n,alpha,a,lda,x,incx,beta,y,incy) \ - dgemv_((transa), (m), (n), \ - (alpha), (a), (lda), (x), (incx), \ - (beta), (y), (incy)) - -#define DGEMM(transa,transb,l,n,m,alpha,a,lda,b,ldb,beta,c,ldc) \ - dgemm_((transa),(transb), \ - (l),(n),(m),(alpha),(a), \ - (lda),(b),(ldb),(beta),(c),(ldc)) -#define DGETRF(m, n, a, lda, ipvt, info) \ - dgetrf_((m), (n), (a), (lda), (ipvt), &(info)) -#define DGETRS(trans, n, nrhs, a, lda, ipiv, b, ldb, info) \ - dgetrs_((trans), (n), (nrhs), (a), (lda), (ipiv), (b), (ldb), &(info)) -#define DGETRI(n, a, lda, ipvt, work, lwork, info) \ - dgetri_((n), (a), (lda), (ipvt), (work), (lwork), &(info)) -#endif - -extern void dgesvd_(char*, char*, int*, int*, double*, int*, double*, - double *, int*, double*, int*, double*, int*, - int*); - -#endif - diff --git a/lib/parms/include/parms_table.h b/lib/parms/include/parms_table.h deleted file mode 100755 index b01c55365..000000000 --- a/lib/parms/include/parms_table.h +++ /dev/null @@ -1,99 +0,0 @@ -/** - * @file parms_table.h - * @author Zhongze Li - * @date Tue Oct 17 11:59:56 2006 - * - * @brief The hash table functions. - * - * - */ - -#ifndef _PARMS_TABLE_HEADER_H -#define _PARMS_TABLE_HEADER_H - -#include "parms_sys.h" - -PARMS_CXX_BEGIN - -typedef unsigned int (*HashFcn)(int key); -typedef struct parms_Table_ *parms_Table; - -/** - * Create a hash table. - * - * Create a hash table with hf as the hash function. - * - * @param newT A pointer to the hash table created. - * @param hf The hash function. If hf is null, the default hash - * function is used. - * @param size The number of entries stored in the table. - * - * @return 0 on success. - */ -extern int parms_TableCreate(parms_Table *newT, HashFcn hf, int size); - -/** - * Free the memory for the table object pointed by self. - * - * @param self A pointer to the parms_Table object. - * - * @return 0 on success. - */ -extern int parms_TableFree(parms_Table *self); - -/** - * Get the corresponding value for a given key. - * - * If return NULL, then the entry with key is not in the table, - * otherwise return a pointer to the value. - * - * @param self A parms_Table object. - * @param key The key value. - * - * @return A pointer to the value. - */ -extern void *parms_TableGet(parms_Table self, int key); - -/** - * Put the pair (key, value) into the table. - * - * @param self A parms_Table object. - * @param key The key of the pair. - * @param val The value of the pair. - * - * @return 0 on success. - */ -extern int parms_TablePut(parms_Table self, int key, int val); - -/** - * Put the slot corresponding to the key from the table. - * - * @param table A parms_Table object. - * @param key The key of the pair to be removed. - * - * @return 0 on success. - */ -extern int parms_TableRemoveFromLast(parms_Table self, int key); - -/** - * Swap value of key1 with that of key2. - * - * @param table A parms_Table object. - * @param key1, key2 keys to be swapped. - * - * @return 0 on success. - */ -extern int parms_TableSwap(parms_Table self, int key1, int key2); - -/** - * Get the number of entries stored in the table. - * - * @param self A hash table object. - * - * @return The number of entries stored in the table. - */ -extern int parms_TableGetSize(parms_Table self); - -PARMS_CXX_END - -#endif diff --git a/lib/parms/include/parms_timer.h b/lib/parms/include/parms_timer.h deleted file mode 100755 index 537228684..000000000 --- a/lib/parms/include/parms_timer.h +++ /dev/null @@ -1,125 +0,0 @@ -/** - * @file parms_timer.h - * @author Zhongze Li - * @date Tue Oct 17 12:00:25 2006 - * - * @brief Functions related to the parms_Timer object. - * - * - */ - -#ifndef _PARMS_TIMER_H_ -#define _PARMS_TIMER_H_ - -#include "parms_sys.h" -#include "parms_viewer.h" - -PARMS_CXX_BEGIN - -typedef struct parms_Timer_ *parms_Timer; - -/** - * Create a parms_Timer object. - * - * @param self A pointer to the parms_Timer object created. - */ -extern void parms_TimerCreate(parms_Timer *self); - -/** - * Reset the parms_Timer object self. - * - * @param self A parms_Timer object. - * - * @return 0 on success. - */ -extern int parms_TimerReset(parms_Timer self); - -/** - * Reset the elapsed time of self to delay. - * - * @param self A parms_Timer object. - * @param delay Reset the elapsed time to delay seconds. - * - * @return 0 on success. - */ -extern int parms_TimerResetDelay(parms_Timer self, double delay); - -/** - * Pause the parms_Timer object self. - * - * @param self A parms_Timer object. - * - * @return 0 on success. - */ -extern int parms_TimerPause(parms_Timer self); - -/** - * Restart the timer. - * - * @param self A parms_Timer object. - * - * @return 0 on success. - */ -extern int parms_TimerRestart(parms_Timer self); - -/** - * Return The wall-clock time since the last call to - * parms_TimerReset, parms_TimerResetDelay, parms_TimerRestart. - * - * @param self A parms_Timer object. - * - * @return The elapsed wall-clock time in seconds. - */ -extern double parms_TimerGet(parms_Timer self); - -/** - * Free the memory for the parms_Timer object - * - * @param self A pointer to the parms_Timer object - * - * @return 0 on success. - */ -extern int parms_TimerFree(parms_Timer *self); - -/** - * Dump parms_Timer self via parms_Viewer object v. - * - * @param self A parms_Timer object. - * @param v A parms_Viewer object. - * - * @return 0 on success. - */ -extern int parms_TimerView(parms_Timer self, parms_Viewer v); - -/* - * - * Fortran Wrapper Functions - * -*/ - -extern void parms_timercreate_(parms_Timer *self, int *ierr); - -extern void parms_timerfree_(parms_Timer *self, int *ierr); - -extern void parms_timerget_(parms_Timer *self, double *t, int *ierr); - -extern void parms_timerpause_(parms_Timer *self, int *ierr); - -extern void parms_timerreset_(parms_Timer *self, int *ierr); - -extern void parms_timerresetdelay_(parms_Timer *self, double *delay, int - *ierr); - -extern void parms_timerrestart_(parms_Timer *self, int *ierr); - -extern void parms_timerview_(parms_Timer *self, parms_Viewer *v, int *ierr); - -/* - * - * End Fortran Wrapper Functions - * -*/ - -PARMS_CXX_END - -#endif diff --git a/lib/parms/include/parms_vec.h b/lib/parms/include/parms_vec.h deleted file mode 100755 index 733e98773..000000000 --- a/lib/parms/include/parms_vec.h +++ /dev/null @@ -1,289 +0,0 @@ -/** - * @file parms_vec.h - * @author Zhongze Li - * @date Tue Oct 17 12:01:25 2006 - * - * @brief Functions related to the parms_Vec object. - * - * - */ - -#ifndef _PARMS_VECTOR_H_ -#define _PARMS_VECTOR_H_ - -#include "parms_sys.h" -#include "parms_map.h" -#include "parms_viewer.h" -#include "parms_comm.h" - -PARMS_CXX_BEGIN - -/** - * Return the 2-norm of the vector. - * - * @param self A vector object. - * @param value The 2-norm returned. - * - * @return 0 on success. - */ -extern int parms_VecGetNorm2(FLOAT *self, REAL *value, parms_Map map); - -/** - * Scale a vector. - * - * All components of vector self on the local processor times scalar. - * \f$self = scalar \times self\f$. - * - * @param self A vector object. - * @param scalar A scalar. - * - * @return 0 on success. - */ -extern int parms_VecScale(FLOAT *self, FLOAT scalar, parms_Map map); - -/** - * Perform \f$self := scalar \times x + self\f$. - * - * @param self A vector object. - * @param x Another vector object. - * @param scalar A scalar. - * - * @return 0 on success. - */ -extern int parms_VecAXPY(FLOAT *self, FLOAT *x, FLOAT scalar, parms_Map map); - -/** - * Perform \f$self = scalar \times self + x\f$. - * - * @param self A vector object. - * @param x Another vector object. - * @param scalar A scalar. - * - * @return 0 on success. - */ -extern int parms_VecAYPX(FLOAT *self, FLOAT *x, FLOAT scalar, parms_Map map); - -/** - * Perform the (global) inner product of two vectors. - * - * value = self x^{T}. If self - * - * - * @param self A vector object. - * @param x Another vector object. - * @param value The inner product returned. - * - * @return 0 on success. - */ -extern int parms_VecDOT(FLOAT *self, FLOAT *x, FLOAT *value, parms_Map map); - -/** - * Perform the (global) inner product of two vectors. - * - * If self and x are real vectors, value = self x^{T}. If self - * and x are complex vectors, value = self \overline{x}^{T}. - * - * @param self A vector object. - * @param x Another vector object. - * @param value The inner product returned. - * - * @return 0 on success. - */ -int parms_VecDOTC(FLOAT *self, FLOAT *x, REAL *value, parms_Map is); - -/** - * Perform the inner product between self and an array of parms_Vec - * objects. - * - * The pseudo code: - * - * \f{verbatim} - * for (i = 0; i < n; i++) { - * result[i] = self * vecarray[i]; - * } - * \f} - * - * @param self A vector object. - * @param n The size of vecarray. - * @param vecarray An array of vector objects. - * @param aux An auxiliary array. - * @param result An array of size n to store inner products. - * - * @return 0 on success. - */ -extern int parms_VecDotArray(FLOAT *self, int n, FLOAT - **vecarray, FLOAT *result, parms_Map map); -/** - * Permute the vector object self. - * - * If the parms_Vec object and the parms_Mat object are created based - * on the same parms_Map object. Once matrix object is setup, - * variables on each processor are divided into two cateries: internal - * unknowns and interface unknowns. The parms_Vec should be permuted - * accordingly. The user needn't call self function directly. - * - * @param self A vector object. - * - * @return 0 on success. - */ -extern int parms_VecPerm(FLOAT *self, parms_Map map); - -/** - * Inverse permutation of the vector object self. - * The user needn't call this function directly. - * - * @param self A vector object. - * - * @return 0 on success. - */ -extern int parms_VecInvPerm(FLOAT *self, parms_Map map); - -/** - * Permute the vector object self into the vector aux. - * - * This uses the local permutation based on the local map object. - * The user needn't call self function directly. - * - * @param self A vector object. - * @param aux A vector object containing the permuted vector on return. - * - * @return 0 on success. - */ -extern int parms_VecPermAux(FLOAT *self, FLOAT *aux, parms_Map map); - -/** - * Inverse permutation the vector object self into the vector aux. - * - * This uses the local permutation based on the local map object. - * The user needn't call self function directly. - * - * @param self A vector object. - * @param aux A vector object containing the (inverse) permuted vector on return. - * - * @return 0 on success. - */ -extern int parms_VecInvPermAux(FLOAT *self, FLOAT *aux, parms_Map map); - -/** - * Insert or add values to vector object self. - * - * A pseudo code from the global point of view: - * - * \f{verbatim} - * for (i = 0; i < m; i++) { - * self[im[i]] = values[i]; - * } - * \f} - * - * @param self A vector object. - * @param m The number of variables to be inserted. - * @param im An array of global variable indices. - * @param value An array of values to be inserted to self.s - * @param mode The style of set values: - * -ADD add values to parms_Vec object self. - * -INSERT assign values to parms_Vec object self. - * - * @return 0 on success. - */ -extern int parms_VecSetValues(FLOAT *self, int m, int *im, FLOAT - *values, INSERTMODE mode, parms_Map map); - -/** - * Insert values to parms_Vec object self. This assumes the vector - * values are being set element-by-element. A call to parms_vecsetupElements - * is required to complete the vector once all entries have been added. - * - * A pseudo code from the global point of view: - * - * \f{verbatim} - * for (i = 0; i < m; i++) { - * self[im[i]] = values[i]; - * } - * \f} - * - * @param self A vector object. - * @param m The number of variables to be inserted. - * @param im An array of global variable indices. - * @param value An array of values to be inserted to self.s - * @param mode The style of set values: - * -ADD add values to parms_Vec object self. - * -INSERT assign values to parms_Vec object self. - * - * @return 0 on success. - */ -int parms_VecSetElementVector(FLOAT *self, int m, int *im, FLOAT - *values, INSERTMODE mode, parms_Map map); - -/** - * Completes setting up values for the distributed vector - * - * @param self A vector object. - * @param map A pARMS map object - * - * @return 0 on success. - */ -int parms_VecAssembleElementVector(FLOAT *self, parms_Map map); - -/** - * Gather distributed vector to a global array. - * - * @param self The distributed vector. - * @param ga A global vector. - * - * @return 0 on success. - */ -extern int parms_VecGather(FLOAT *self, FLOAT *ga, parms_Map map); - -/* - * - * Fortran Wrapper Functions - * -*/ - -extern void parms_vecaxpy_(FLOAT *self, FLOAT *x, FLOAT *scalar, parms_Map *map, int - *ierr); - -extern void parms_vecaypx_(FLOAT *self, FLOAT *x, FLOAT *scalar, parms_Map *map, int - *ierr); - -extern void parms_vecdot_(FLOAT *self, FLOAT *x, FLOAT *value, parms_Map *map, int - *ierr); - -extern void parms_vecdotc_(FLOAT *self, FLOAT *x, REAL *value, parms_Map *map, int - *ierr); - -extern void parms_vecdotarray_(FLOAT *self, int *n, FLOAT **vecarray, - FLOAT *result, parms_Map *map, int *ierr); - -extern void parms_vecgetnorm2_(FLOAT *self, REAL *value, parms_Map *map, int *ierr); - -extern void parms_vecscale_(FLOAT *self, FLOAT *scalar, parms_Map *map, int *ierr); - -extern void parms_vecsetvalues_(FLOAT *self, int *m, int *im, FLOAT *values, - INSERTMODE *mode, parms_Map *map, int *ierr); - -extern void parms_vecsetelementvector_(FLOAT *self, int *m, int *im, FLOAT *values, - INSERTMODE *mode, parms_Map *map, int *ierr); - -extern void parms_vecassembleelementvector_(FLOAT *self, parms_Map *map, int *ierr); - -extern void parms_vecperm_(FLOAT *self, parms_Map *map, int *ierr); - -extern void parms_vecinvperm_(FLOAT *self, parms_Map *map, int *ierr); - -extern void parms_vecpermaux_(FLOAT *self, FLOAT *aux, parms_Map *map, int *ierr); - -extern void parms_vecinvpermaux_(FLOAT *self, FLOAT *aux, parms_Map *map, int *ierr); - -extern void parms_vecgather_(FLOAT *self, FLOAT *ga, parms_Map *map, int *ierr); - - -/* - * - * End Fortran Wrapper Functions - * -*/ - -PARMS_CXX_END - -#endif diff --git a/lib/parms/include/parms_viewer.h b/lib/parms/include/parms_viewer.h deleted file mode 100755 index 582093212..000000000 --- a/lib/parms/include/parms_viewer.h +++ /dev/null @@ -1,100 +0,0 @@ -/** - * @file parms_viewer.h - * @author Zhongze Li - * @date Tue Oct 17 12:01:47 2006 - * - * @brief Functions related to parms_Viewer objects. - * - */ - -#ifndef _PARMS_VIEWER_H_ -#define _PARMS_VIEWER_H_ - -#include -#include -#include "parms_sys.h" - -PARMS_CXX_BEGIN - -typedef struct parms_Viewer_ *parms_Viewer; - -/** - * Create a parms_Viewer object. - * - * If PARMS_COUT and PARMS_CERR are input as fname, they stand for - * standard output and standard error, respectively. Otherwise, each - * PE create a file "fnameID.dat". ID stands for ID of PE. - * - * @param self A pointer to the parms_Viewer object. - * @param fname A file name to store data. - * - * @return 0 on success. - */ -extern int parms_ViewerCreate(parms_Viewer *self, char *fname); - -/** - * Free the memory of the parms_Viewer object. - * - * @param self A pointer to the parms_Viewer object. - * - * @return 0 on success. - */ -extern int parms_ViewerFree(parms_Viewer *self); - -/** - * Get a pointer to file pointer. - * - * @param self A parms_Viewer object. - * @param fp A pointer to the file pointer. - * - * @return 0 on success. - */ -extern int parms_ViewerGetFP(parms_Viewer self, FILE **fp); - -/** - * Store fp to the parms_Viewer object. - * - * @param self A parms_Viewer object. - * @param fp A file pointer. - * - * @return 0 on success. - */ -extern int parms_ViewerStoreFP(parms_Viewer self, FILE *fp); - -/** - * Retrieve the file name. - * - * @param self A parms_Viewer object. - * @param fname The file name retrieved. - * - * @return 0 on success. - */ -extern int parms_ViewerGetFname(parms_Viewer self, char **fname); - -/* - * - * Fortran Wrapper Functions - * -*/ - -extern void parms_viewercreate_(parms_Viewer *self, char *fname, int *ierr, - int len); - -extern void parms_viewerfree_(parms_Viewer *self, int *ierr); - -extern void parms_viewergetfp_(parms_Viewer *self, FILE **fp, int *ierr); - -extern void parms_viewergetfname_(parms_Viewer *self, char **fname, int - *ierr); - -extern void parms_viewerstorefp_(parms_Viewer *self, FILE *fp, int *ierr); - -/* - * - * End Fortran Wrapper Functions - * -*/ - -PARMS_CXX_END - -#endif diff --git a/lib/parms/src/DDPQ/MatOps.c b/lib/parms/src/DDPQ/MatOps.c deleted file mode 100755 index c8917427f..000000000 --- a/lib/parms/src/DDPQ/MatOps.c +++ /dev/null @@ -1,732 +0,0 @@ -#include -#include -#if defined(C99) -#include -#else -#include -#endif -#include "protos.h" - -void matvec( csptr mata, FLOAT *x, FLOAT *y ) -{ - /*--------------------------------------------------------------------- - | This function does the matrix vector product y = A x. - |---------------------------------------------------------------------- - | on entry: - | mata = the matrix (in SparRow form) - | x = a vector - | - | on return - | y = the product A * x - |--------------------------------------------------------------------*/ - /* local variables */ - int i, k, *ki; - FLOAT *kr; - - for (i=0; in; i++) { - y[i] = 0.0; - kr = mata->pa[i]; - ki = mata->pj[i]; - for (k=0; knnzrow[i]; k++) - y[i] += kr[k] * x[ki[k]]; - } - return; -} - -void invsp(int start, ilutptr ilusch, FLOAT *y, FLOAT *x) -{ - /*--------------------------------------------------------------------- - | - | This routine does the backward solve U x = y, where U is upper or - | bottom part of local upper triangular matrix - | - | Can be done in place. - | - | Zhongze Li, Aug. 17th, 2001 - | - |---------------------------------------------------------------------- - | on entry: - | start = the index of the first component - | n = one ore than the index owned by the processor - | y = a vector - | ilusch = the LU matrix as provided from the ILU routines. - | - | on return - | x = the product U^{-1} * y - | - |---------------------------------------------------------------------*/ - /* local variables */ - int i, k, *ki, n; - FLOAT *kr, t; - - n = ilusch->L->n; - - for (i=start; i < n; i++) { - t = y[i-start]; - if ( ilusch->L->nnzrow[i] > 0 ) { - kr = ilusch->L->pa[i]; - ki = ilusch->L->pj[i]; - for (k=0; kL->nnzrow[i]; k++) - if(ki[k] >= start && ki[k] < n) { - t -= kr[k]*y[ki[k]-start]; - } - } - x[i-start] = t; - } - - for (i=n-1; i>= start; i--) { - kr = ilusch->U->pa[i]; - ki = ilusch->U->pj[i]; - t = x[i-start]; - for (k=1; kU->nnzrow[i]; k++) - t -= kr[k] * x[ki[k]-start]; - x[i-start] = t*kr[0]; - } - return; -} - -void arms_Lsol(csptr mata, FLOAT *b, FLOAT *x) -{ - /*--------------------------------------------------------------------- - | This function does the forward solve L x = b. - | Can be done in place. - |---------------------------------------------------------------------- - | on entry: - | mata = the matrix (in SparRow form) - | b = a vector - | - | on return - | x = the solution of L x = b - |--------------------------------------------------------------------*/ - /* local variables */ - int i, k; - FLOAT *kr; - int *ki; - for (i=0; in; i++) { - x[i] = b[i]; - if ( mata->nnzrow[i] > 0 ) { - kr = mata->pa[i]; - ki = mata->pj[i]; - for (k=0; knnzrow[i]; k++) - x[i] -= kr[k]*x[ki[k]]; - } - } - return; -} -/*---------------end of arms_Lsol----------------------------------------- -----------------------------------------------------------------------*/ -void arms_Usol(csptr mata, FLOAT *b, FLOAT *x) -{ - /*--------------------------------------------------------------------- - | This function does the backward solve U x = b. - | Can be done in place. - |---------------------------------------------------------------------- - | on entry: - | mata = the matrix (in SparRow form) - | b = a vector - | - | on return - | x = the solution of U * x = b - | - |---------------------------------------------------------------------*/ - /* local variables */ - int i, k, *ki; - FLOAT *kr; - for (i=mata->n-1; i>=0; i--) { - kr = mata->pa[i]; - ki = mata->pj[i]; - x[i] = b[i] ; - for (k=1; knnzrow[i]; k++) - x[i] -= kr[k] * x[ki[k]]; - x[i] *= kr[0]; - } - return; -} -/*----------------end of arms_Usol---------------------------------------- -----------------------------------------------------------------------*/ - -int descend(p4ptr levmat, FLOAT *x, FLOAT *wk) -{ -/*--------------------------------------------------------------------- -| This function does the (block) forward elimination in ARMS -| new old -| | | | | | | -| | L 0 | | wx1 | | x1 | -| | | | | = | | -| | EU^{-1} I | | wx2 | | x2 | -| | | | | | | -| x used and not touched -- or can be the same as wk. -|--------------------------------------------------------------------*/ -/* local variables */ - int j, len=levmat->n, lenB=levmat->nB, *iperm=levmat->rperm; - FLOAT *work = levmat->wk; -/*------------------------------------------------------ -| apply permutation P to rhs -|-----------------------------------------------------*/ - for (j=0; jL, work, wk); /* sol: L x = x */ - arms_Usol(levmat->U, wk, work); /* sol: U work(2) = work */ -/*-------------------- compute x[lenb:.] = x [lenb:.] - E * work(1) */ - matvecz (levmat->E, work, &work[lenB], &wk[lenB]) ; - return 0; -} -/*----end-of-descend--------------------------------------------------- -|---------------------------------------------------------------------- -|--------------------------------------------------------------------*/ -int ascend (p4ptr levmat, FLOAT *x, FLOAT *wk) -{ - /*--------------------------------------------------------------------- - | This function does the (block) backward substitution: - | - | | | | | | | - | | U L^{-1}F | | wk1 | | x1 | - | | | | | = | | - | | 0 S | | wk2 | | x2 | <<-- x2 already computed. - | | | | | | | and we need x1 - | - | with x2 = S^{-1} wk2 [assumed to have been computed ] - |--------------------------------------------------------------------*/ - /*-------------------- local variables */ - int j, len=levmat->n, lenB=levmat->nB, *qperm=levmat->perm; - FLOAT *work = levmat->wk; - /*-------------------- copy x onto wk */ - matvec(levmat->F, &x[lenB], work); /* work = F * x_2 */ - arms_Lsol(levmat->L, work, work); /* work = L \ work */ - for (j=0; jU, work, work); /* wk1 = U \ wk1 */ - memcpy(&work[lenB],&x[lenB],(len-lenB)*sizeof(FLOAT)); - /*--------------------------------------- - | apply reverse permutation - |--------------------------------------*/ - for (j=0; jn; i++) { - kr = mata->pa[i]; - ki = mata->pj[i]; - t = y[i] ; - for (k=0; knnzrow[i]; k++) - t -= kr[k] * x[ki[k]]; - z[i] = t; - } - return; -} -/*---------------end of matvecz---------------------------------------- - *--------------------------------------------------------------------*/ - -p4ptr Lvsol2(FLOAT *x, int nlev, p4ptr levmat, ilutptr ilusch, int - flag) -{ - /* Macro L-solve -- corresponds to left (L) part of arms - | preconditioning operation -- - | on entry : - | x = right- hand side to be operated on by the preconditioner - | on return : x is overwritten - | x = output result of operation - | - | Note : in-place operation -- b and x can occupy the same space.. - | --------------------------------------------------------------------*/ - /*-------------------- local variables */ - int nloc=levmat->n, first, lenB; - p4ptr last=levmat; - /*-------------------- take care of special cases : nlev==0 --> lusol */ - if (nlev == 0) { - SchLsol(ilusch,x); - return (last); - } - first = 0; - /*-------------------- descend */ - while (levmat) { - nloc=levmat->n; - lenB =levmat->nB; - /*-------------------- left scaling */ - if (levmat->D1 != NULL) - dscale(nloc,levmat->D1, &x[first], &x[first]); - /*-------------------- RESTRICTION/ DESCENT OPERATION */ - if (lenB) - descend (levmat, &x[first], &x[first]); - first += lenB; - last = levmat; - levmat = levmat->next; - /*--------------------------------------------------------------------- - | next level - +--------------------------------------------------------------------*/ - } - if (flag) { - SchLsol(ilusch,&x[first]); - } - return last; -} - -int Uvsol2(FLOAT *x, int nlev, int n, p4ptr levmat, - ilutptr ilusch) -{ - /* Macro U-solve -- corresponds to left (L) part of arms - | preconditioning operation -- - | on entry : - | b = right- hand side to be operated on by the preconditioner - | on return = x has been overwritten = - | x = output result of operation - | - | Note : in-place operation -- b and x can occupy the same space.. - | --------------------------------------------------------------------*/ - - /*-------------------- local variables */ - int nloc, lenB, first; - /*-------------------- work array */ - /*-------------------- take care of special cases : nlev==0 --> lusol */ - /*-------------------- case of zero levels */ - if (nlev == 0) { - SchUsol(ilusch, x); - return(0); - } - /*-------------------- general case */ - nloc=levmat->n; - lenB=levmat->nB; - first = n - nloc; - /*-------------------- last level */ - first += lenB; - SchUsol(ilusch, &x[first]); - /*-------------------- other levels */ - while (levmat) { - nloc = levmat->n; - first -= levmat->nB; - if (levmat->n) - ascend(levmat, &x[first],&x[first]); - /*-------------------- right scaling */ - if (levmat->D2 != NULL) - dscale(nloc, levmat->D2, &x[first], &x[first]) ; - levmat = levmat->prev; - } - return 0; - /*-------------------- PROLONGATION/ ASCENT OPERATION */ -} - -int armsol2(FLOAT *x, arms Prec) -{ - /* | combined preconditioning operation -- combines the - | left and right actions. - | - | on entry : - | x = right- hand side to be operated on by the preconditioner - | on return : x is overwritten - - | x = output result of operation - | - | Note : in-place operation -- b and x can occupy the same space.. - | --------------------------------------------------------------------*/ - /*-------------------- local variables */ - p4ptr levmat = Prec->levmat; - ilutptr ilusch = Prec->ilus; - int nlev = Prec->nlev; - int n = levmat->n; - p4ptr last; - if (nlev == 0) { - n = ilusch->n; - SchLsol(ilusch, x); - SchUsol(ilusch, x); - return 0; - } - last = Lvsol2(x, nlev, levmat, ilusch, 1) ; - Uvsol2(x, nlev, n, last, ilusch) ; - return 0; -} - -void SchLsol(ilutptr ilusch, FLOAT *y) -{ - /*--------------------------------------------------------------------- - | Forward solve for Schur complement part = - |---------------------------------------------------------------------- - | on entry: - | ilusch = the LU matrix as provided from the ILU functions. - | y = the right-hand-side vector - | - | on return - | y = solution of LU x = y. [overwritten] - |---------------------------------------------------------------------*/ - /*-------------------- local variables */ - int n = ilusch->n, j, *perm = ilusch->rperm; - FLOAT *work = ilusch->wk; - /*-------------------- begin: right scaling */ - if (ilusch->D1 != NULL) - dscale(n, ilusch->D1, y, y); - /*-------------------- ONE SIDED ROW PERMS */ - if (perm != NULL) { - for (j=0; jL, work, y); - } else - arms_Lsol(ilusch->L, y, y); - /*---------------end of SchLsol--------------------------------------- - ----------------------------------------------------------------------*/ -} - -void SchUsol(ilutptr ilusch, FLOAT *y) -{ - /*--------------------------------------------------------------------- - | U-solve for Schur complement - - |---------------------------------------------------------------------- - | on entry: - | ilusch = the LU matrix as provided from the ILU functions. - | y = the right-hand-side vector - | - | on return - | y = solution of U x = y. [overwritten on y] - |----------------------------------------------------------------------*/ - int n = ilusch->n, j, *perm = ilusch->perm, *cperm; - FLOAT *work = ilusch->wk; - /* -------------------- begin by U-solving */ - /*-------------------- CASE: column pivoting used (as in ILUTP) */ - if (ilusch->perm2 != NULL) { - arms_Usol(ilusch->U, y, y); - cperm = ilusch->perm2; - for (j=0; jU, y, work); - /*-------------------- generic permutation */ - if (perm != NULL) { - for (j=0; jD2 !=NULL) - dscale(n, ilusch->D2, y, y); -} -/*---------------end of SchUsol--------------------------------------- -----------------------------------------------------------------------*/ - -int lusolC( FLOAT *y, FLOAT *x, iluptr lu ) -{ - /*---------------------------------------------------------------------- - * performs a forward followed by a backward solve - * for LU matrix as produced by iluk - * y = right-hand-side - * x = solution on return - * lu = LU matrix as produced by iluk. - *--------------------------------------------------------------------*/ - int n = lu->n, i, j, nnzrow, *ja; - FLOAT *D; - csptr L, U; - - L = lu->L; - U = lu->U; - D = lu->D; - - /* Block L solve */ - for( i = 0; i < n; i++ ) { - x[i] = y[i]; - nnzrow = L->nnzrow[i]; - ja = L->pj[i]; - for( j = 0; j < nnzrow; j++ ) { - x[i] -= x[ja[j]] * L->pa[i][j]; - } - } - /* Block -- U solve */ - for( i = n-1; i >= 0; i-- ) { - nnzrow = U->nnzrow[i]; - ja = U->pj[i]; - for( j = 0; j < nnzrow; j++ ) { - x[i] -= x[ja[j]] * U->pa[i][j]; - } - x[i] *= D[i]; - } - return (0); -} - -int rpermC(csptr mat, int *perm) -{ - /*---------------------------------------------------------------------- - | - | This subroutine permutes the rows of a matrix in SparRow format. - | rperm computes B = P A where P is a permutation matrix. - | The permutation P is defined through the array perm: for each j, - | perm[j] represents the destination row number of row number j. - | - |----------------------------------------------------------------------- - | on entry: - |---------- - | (amat) = a matrix stored in SparRow format. - | - | - | on return: - | ---------- - | (amat) = P A stored in SparRow format. - | - | integer value returned: - | 0 --> successful return. - | 1 --> memory allocation error. - |---------------------------------------------------------------------*/ - int **addj, *nnz, i, size=mat->n; - FLOAT **addm; - addj = (int **)Malloc( size*sizeof(int *), "rpermC" ); - addm = (FLOAT **) Malloc( size*sizeof(FLOAT *), "rpermC" ); - nnz = (int *) Malloc( size*sizeof(int), "rpermC" ); - for (i=0; ipj[i]; - addm[perm[i]] = mat->pa[i]; - nnz[perm[i]] = mat->nnzrow[i]; - } - for (i=0; ipj[i] = addj[i]; - mat->pa[i] = addm[i]; - mat->nnzrow[i] = nnz[i]; - } - free(addj); - free(addm); - free(nnz); - return 0; -} - -int cpermC(csptr mat, int *perm) -{ - /*---------------------------------------------------------------------- - | - | This subroutine permutes the columns of a matrix in SparRow format. - | cperm computes B = A P, where P is a permutation matrix. - | that maps column j into column perm(j), i.e., on return - | The permutation P is defined through the array perm: for each j, - | perm[j] represents the destination column number of column number j. - | - |----------------------------------------------------------------------- - | on entry: - |---------- - | (mat) = a matrix stored in SparRow format. - | - | - | on return: - | ---------- - | (mat) = A P stored in SparRow format. - | - | integer value returned: - | 0 --> successful return. - | 1 --> memory allocation error. - |---------------------------------------------------------------------*/ - int i, j, *newj, size=mat->n, *aja; - newj = (int *) Malloc( size*sizeof(int), "cpermC" ); - for (i=0; ipj[i]; - for (j=0; jnnzrow[i]; j++) - newj[j] = perm[aja[j]]; - - for (j=0; jnnzrow[i]; j++) - aja[j] = newj[j]; - mat->pj[i] = aja; - } - free(newj); - return 0; -} - -int dpermC(csptr mat, int *perm) -{ - /*---------------------------------------------------------------------- - | - | This subroutine permutes the rows and columns of a matrix in - | SparRow format. dperm computes B = P^T A P, where P is a permutation - | matrix. - | - |----------------------------------------------------------------------- - | on entry: - |---------- - | (amat) = a matrix stored in SparRow format. - | - | - | on return: - | ---------- - | (amat) = P^T A P stored in SparRow format. - | - | integer value returned: - | 0 --> successful return. - | 1 --> memory allocation error. - |---------------------------------------------------------------------*/ - if (rpermC(mat, perm)) return 1; - if (cpermC(mat, perm)) return 1; - return 0; -} - -int CSparTran( csptr amat, csptr bmat, CompressType *compress ) -{ - /*---------------------------------------------------------------------- - | Finds the compressed transpose of a matrix stored in SparRow format. - | Patterns only. - |----------------------------------------------------------------------- - | on entry: - |---------- - | (amat) = a matrix stored in SparRow format. - | (compress) = quotient graph of matrix amat - | - | on return: - | ---------- - | (bmat) = the compressed transpose of (mata) stored in SparRow - | format. - | - | integer value returned: - | 0 --> successful return. - | 1 --> memory allocation error. - |---------------------------------------------------------------------*/ - int i, j, *ind, nnzrow, pos, size=amat->n, *aja; - ind = bmat->nnzrow; - - for (i=0; ipj[i]; - nnzrow = amat->nnzrow[i]; - for (j=0; j < nnzrow; j++) { - pos = aja[j]; - if( compress[pos].grp == -1 ) { - ind[pos]++; - } - } - } - - /*-------------------- allocate space */ - for (i=0; ipj[i] = NULL; - continue; - } - bmat->pj[i] = (int *)Malloc( ind[i]*sizeof(int), "CSparTran" ); - ind[i] = 0; /* indicate next available position of each row */ - } - /*-------------------- now do the actual copying */ - for (i=0; ipj[i]; - nnzrow = amat->nnzrow[i]; - for (j = 0; j < nnzrow; j++) { - pos = aja[j]; - if( compress[pos].grp == -1 ) { - bmat->pj[pos][ind[pos]] = i; - ind[pos]++; - } - } - } - return 0; -} - -int condestArms(arms armspre, FLOAT *y, FILE *fp ) -{ - /*-------------------- simple estimate of cond. number of precon */ - int n = armspre->n, i; - double norm = 0.0; - - for( i = 0; i < n; i++ ) - y[i] = 1.0; - armsol2(y, armspre) ; - for( i = 0; i < n; i++ ) { - norm = max( norm, ABS_VALUE(y[i]) ); - } - fprintf( fp, "ARMS inf-norm lower bound = : %16.2f\n", norm ); - if( norm > 1e30 ) { - return -1; - } - return 0; -} - -void Lsolp(int start, csptr mata, FLOAT *b, FLOAT *y) -{ - /*--------------------------------------------------------------------- - | - | This routine does the forward solve L y = b. where L is upper or - | bottom part of local low triangular matrix - | - | Can be done in place. - | - | Zhongze Li, Aug. 17th, 2001 - | - |---------------------------------------------------------------------- - | on entry: - | start = the index of the first component - | n = one ore than the index owned by the processor - | b = a vector - | mata = the matrix (in SparRow form) - | - | on return - | y = the product L^{-1} * b - | - |--------------------------------------------------------------------*/ - /* local variables */ - int i, k; - FLOAT *kr; - int *ki, n; - - n = mata->n; - for (i=0; innzrow[i] > 0 ) { - kr = mata->pa[i]; - ki = mata->pj[i]; - for (k=0; knnzrow[i]; k++) - if(ki[k] < start) { - y[i] -= kr[k]*y[ki[k]]; - } - } - } -} - -void Usolp(int start, csptr mata, FLOAT *y, FLOAT *x) -{ - /*--------------------------------------------------------------------- - | - | This routine does the backward solve U x = y, where U is upper or - | bottom part of local upper triangular matrix - | - | Can be done in place. - | - | Zhongze Li, Aug. 17th, 2001 - | - |---------------------------------------------------------------------- - | on entry: - | start = the index of the first component - | n = one ore than the index owned by the processor - | y = a vector - | mata = the matrix (in SparRow form) - | - | on return - | x = the product U^{-1} * y - | - |---------------------------------------------------------------------*/ - /* local variables */ - int i, k, *ki; - FLOAT *kr, t; - - for (i=start-1; i>= 0; i--) { - kr = mata->pa[i]; - ki = mata->pj[i]; - t = y[i]; - for (k=1; knnzrow[i]; k++) - t -= kr[k] * x[ki[k]]; - x[i] = t*kr[0]; - } -} diff --git a/lib/parms/src/DDPQ/PQ.c b/lib/parms/src/DDPQ/PQ.c deleted file mode 100755 index 12538b90e..000000000 --- a/lib/parms/src/DDPQ/PQ.c +++ /dev/null @@ -1,448 +0,0 @@ -#include -#include -#include -#if defined(C99) -#include -#else -#include -#endif -#include "protos.h" - -#define ALPHA 0.00001 - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -int PQperm(csptr mat, int *Pord, int *Qord, int *nnod, - double tol, int nbnd) -{ -/*--------------------------------------------------------------------- -| algorithm for nonsymmetric block selection - -|---------------------------------------------------------------------- -| Input parameters: -| ----------------- -| (mat) = matrix in SparRow format -| -| tol = a tolerance for excluding a row from B block -| -| bsize not used here - it is used in arms2.. -| -| nbnd = number of interior variables. -| -| Output parameters: -| ------------------ -| Pord = row permutation array. Row number i will become row number -| Pord[i] in permuted matrix. (Old to new labels) -| Qord = column permutation array. Column number j will become -| row number Qord[j] in permuted matrix. -| [destination lists] - i.e., old to new arrays= -| -| nnod = number of elements in the B-block -| -|---------------------------------------------------------------------*/ -/*-------------------- local variables */ - int *icor, *jcor, *row; - int i, j, ii, k, col, jj, rnz, nzi, n=mat->n, count, numnode; - double aij, rn; - FLOAT *mrow; -/*-----------------------------------------------------------------------*/ - for (j=0; jpj[ii]; - mrow = mat->pa[ii]; - nzi = mat->nnzrow[ii] ; -/*-------------------- rnz = already assigned cols (either in L or F) */ - rn = ABS_VALUE(mrow[0]); - rnz = (nzi-1) ; - for (k=0; k < nzi; k++) { - aij = ABS_VALUE(mrow[k]); - col = row[k]; - if (Qord[col] >=0 ) { - rn -= aij; - rnz-- ; - } - else if (Qord[col] == -2) { - rnz--; - } - } - if (rn < 0.0) continue; - Pord[ii] = numnode; - Qord[jj] = numnode; - numnode++; -/*-------------------- acceptance test among others */ - for (k=0; k < nzi; k++) { - col = row[k]; - if (Qord[col] != -1) continue; - aij = ABS_VALUE(mrow[k]); - if (rnz*aij > rn) - Qord[col] = -2; - else - rn -= aij; - rnz--; - } - } - /*-------------------- number of B nodes */ - *nnod = numnode; - /* printf(" nnod found = %d \n",*nnod); */ -/*-------------------------------------------------- -| end-main-loop - complete permutation arrays -|-------------------------------------------------*/ - for (i=0; i \n") ; - check_perm(n, Pord) ; - check_perm(n, Qord) ; - */ -/*-------------------------------------------------- -| clean up before returning -|-------------------------------------------------*/ - free(icor); - free(jcor); - return 0; -} -/*--------------------------------------------------------------------- -|-----end-of-PQperm-------------------------------------------------- -|--------------------------------------------------------------------*/ - -int add2is(int *last, int nod, int *iord, int *riord) -{ -/*---------------------------------------------------------------------- -| adds element nod to independent set -|---------------------------------------------------------------------*/ - (*last)++; - iord[nod] = *last; - riord[*last] = nod; - return 0; -} -/*--------------------------------------------------------------------- -|---- end of add2is --------------------------------------------------- -|--------------------------------------------------------------------*/ -int add2com(int *nback, int nod, int *iord, int *riord) -{ -/*---------------------------------------------------------------------- -| adds element nod to independent set -|---------------------------------------------------------------------*/ - iord[nod] = *nback; - riord[*nback] = nod; - (*nback)--; - return 0; -} -/*--------------------------------------------------------------------- -|---- end of add2com -------------------------------------------------- -|--------------------------------------------------------------------*/ -int indsetC(csptr mat, int bsize, int *iord, int *nnod, double tol, - int nbnd) -{ -/*--------------------------------------------------------------------- -| greedy algorithm for independent set ordering -- -|---------------------------------------------------------------------- -| Input parameters: -| ----------------- -| (mat) = matrix in SparRow format -| -| bsize = integer (input) the target size of each block. -| each block is of size >= bsize. -| -| w = weight factors for the selection of the elements in the -| independent set. If w(i) is small i will be left for the -| vertex cover set. -| -| tol = a tolerance for excluding a row from independent set. -| -| nbnd = number of interior variables. -| -| Output parameters: -| ------------------ -| iord = permutation array corresponding to the independent set -| ordering. Row number i will become row number iord[i] in -| permuted matrix. -| -| nnod = (output) number of elements in the independent set. -| -|----------------------------------------------------------------------- -| the algorithm searches nodes in lexicographic order and groups -| the (BSIZE-1) nearest nodes of the current to form a block of -| size BSIZE. The current algorithm does not use values of the matrix. -|---------------------------------------------------------------------*/ -/* local variables */ - int nod, jcount, lastlev, begin, last0, last, nback, mid, - j1, j2, jcol, inod, jnod, j, k, jcount0, begin0, *rowj; - int prog, n=mat->n, *riord; - double *w; - csptr matT,gmat; - -/*-----------------------------------------------------------------------*/ - riord = (int *) Malloc(n*sizeof(int), "indsetC:1" ); - w = (double *) Malloc(n*sizeof(double), "indsetC:2" ); - matT = (csptr) Malloc(sizeof(SparMat), "indsetC:3" ); -/* call weights to compute the weights for input matrix.. */ - setupCS(matT, mat->n,1); - SparTran(mat, matT, 1, 0); - SparTran(matT, mat, 1, 1); - weightsC(mat, w); -/*---------------------------------------------------------------------- -| scan all nodes first to eliminate those not satisfying DD criterion -+----------------------------------------------------------------------*/ - nback = n-1; - nod = 0; - for(j=0; j=nbnd; j--) { - add2com(&nback, j, iord, riord); - } - for(j=0; j< nbnd; j++) { - if (w[j] < tol) { - add2com(&nback, j, iord, riord); - nod++; - } - } - last = -1; - for (nod=0; nod= mat->n) goto label50; - } -/*-------------------- initialize level-set - contains nod (only)*/ - add2is(&last, nod, iord, riord); - begin = last; - begin0 = begin; - lastlev = begin; - jcount = 1; -/*---------------------------------------------------------------------- -| put all the nearest neighbor nodes of the current node into -| the block until the number is BSIZE. -|---------------------------------------------------------------------*/ - prog = 1; - while (jcount < bsize && prog) { -/*-------------------- traverse all the current level-set */ - last0 = last; - jcount0 = jcount; - for (inod=begin; inod<=last0; inod++) { - jnod = riord[inod]; -/*-------------------- This assumes A is not symmetric. */ - gmat = mat; - for (k=0; k<2; k++) { - rowj = gmat->pj[jnod]; - for (j=0; jnnzrow[jnod]; j++) { - jcol = rowj[j]; - if (iord[jcol] == -1 ) { - add2is(&last, jcol, iord, riord); - jcount++; - } - } - gmat = matT; - } - } - prog = jcount > jcount0 ? 1 : 0; - lastlev = begin; - begin = last0+1; - } -/*----------------------------------------------------------------------- -| the neighbors of elements of last level go to the complement -| gmat loop over original matrix and its transpose -+-----------------------------------------------------------------------*/ - gmat = mat; - for (k=0; k<2; k++) { - for (inod=lastlev; inod<=last; inod++) { - jnod = riord[inod]; - rowj = gmat->pj[jnod]; - for (j=0; jnnzrow[jnod]; j++){ - jcol = rowj[j]; - if (iord[jcol] == -1) - add2com(&nback, jcol, iord, riord); - } - } - gmat = matT; - } -/* reverse ordering for this level */ - mid = (begin0+last) / 2; - for (inod=begin0; inod<=mid; inod++) { - j = last - inod + begin0; - jnod = riord[inod]; - riord[inod] = riord[j]; - riord[j] = jnod; - } - } -/*-------------------------------------------------- -| end-main-loop -|-------------------------------------------------*/ -/*-------------------- relabel nodes of vertex cover */ -label50: - *nnod = last; - j1 = *nnod; - for (j2=*nnod+1; j2 -1) { - if (++j1 != j2) { - j = riord[j2]; - riord[j2] = riord[j1]; - riord[j1] = j; - } - } - } -/*-------------------- obtain reverse permutation array */ - for (j=0; jn, *kj, kz; - double tdia, wmax=0.0, tnorm; - FLOAT *kr; - for (irow=0; irownnzrow[irow]; - kr = mat->pa[irow]; - kj = mat->pj[irow]; - tnorm = 0.0; - tdia = 0.0; - for (k=0; k 0.0) - tnorm = tdia / tnorm; - w[irow] = tnorm; - if (tnorm > wmax) wmax = tnorm; - } - for (irow=0; irownnzrow; - weight = (double *) malloc(nbnd*sizeof(double)); - nzi = (int *)malloc(nbnd*sizeof(int)); - if ( weight==NULL) return 1; - /*-------------------- compute max entry for each row */ - wmax = 0.0; - - for (i=0; ipj[i]; - mrow = mat->pa[i]; - tmax = 0.0; - kmax = 0; - rownorm = 0.0; - nzi[i] = 0; - for (k = 0; k DBL_EPSILON*ABS_VALUE(t)) { - rownorm += t; - if (tmax < t) { - tmax = t; - kmax = k; - } - } - } - } - jmax = jcol[kmax]; - jcor[i] = jmax; - if (job && kmax != 0) { - t1 = mrow[kmax]; - mrow[kmax] = mrow[0]; - mrow[0] = t1; - jcol[kmax] = jcol[0]; - jcol[0] = jmax; - } -/*-------------------- save max diag. dominance ratio */ - t = tmax / rownorm; - if (wmax < t) wmax = t; - weight[i] = t; - /* remove!! ALREADY ASSIGNED */ - jcor[i] = jmax; - } - -/*-------------------- now select according to tol */ - countL = 0; - for (i=0; i< nbnd; i++) { - t = weight[i] ; - col = jcor[i]; - if (t < wmax*tol) continue ; - weight[countL] = t /((double) nzi[i]) ; - icor[countL] = i; - jcor[countL] = col; - countL++; - } -/*-------------------- sort them */ - qsortR2I(weight, icor, jcor, 0, countL-1); - *count = countL; - free(weight); - free(nzi); - return 0; -} -/*--------------------------------------------------------------------- -|---- end of preSel --------------------------------------------------- -|--------------------------------------------------------------------*/ - diff --git a/lib/parms/src/DDPQ/arms2.c b/lib/parms/src/DDPQ/arms2.c deleted file mode 100755 index 5dad20138..000000000 --- a/lib/parms/src/DDPQ/arms2.c +++ /dev/null @@ -1,690 +0,0 @@ -/*---------------------------------------------------------------------- - * Parallel Multi-Level Block ILUT PRECONDITIONER - * arms2 : parallel arms2 - *--------------------------------------------------------------------*/ - -#include -#include -#include -#if defined(C99) -#include -#else -#include -#endif -#define PERMTOL 0.99 /* 0 --> no permutation 0.01 to 0.1 good */ -#include "protos.h" - -static int arms_free_vcsr(parms_Operator *self) -{ - parms_arms_data data; - - data = (parms_arms_data)(*self)->data; - cleanARMS(data); - PARMS_FREE(data); - return 0; -} - -static int arms_view_vcsr(parms_Operator self, parms_Viewer v) -{ -/* So far, only available for viewing last level operator */ - - parms_arms_data data; - ilutptr LU; - int i, j, n, nnz, *pj; - FLOAT *pa; - FILE *fp; - - parms_ViewerGetFP(v, &fp); - data = (parms_arms_data)self->data; - LU = data->ilus; - n = LU->n; - -/* L part */ - fprintf(fp, "L part of the last level matrix:\n"); - fprintf(fp, "n = %d\n", n); -#if defined(DBL_CMPLX) - for (i = 0; i < n; i++) { - nnz = LU->L->nnzrow[i]; - pj = LU->L->pj[i]; - pa = LU->L->pa[i]; - fprintf(fp, "nnzrow[%d]=%d\n", i, nnz); - for (j = 0; j < nnz; j++) { - fprintf(fp, "(%d,%d,%f %f) ", i, pj[j], creal(pa[j]), cimag(pa[j])); - } - } -#else - for (i = 0; i < n; i++) { - nnz = LU->L->nnzrow[i]; - pj = LU->L->pj[i]; - pa = LU->L->pa[i]; - fprintf(fp, "nnzrow[%d]=%d\n", i, nnz); - for (j = 0; j < nnz; j++) { - fprintf(fp, "(%d,%d,%f) ", i, pj[j], pa[j]); - } - } -#endif -/* U part */ - fprintf(fp, "U part of the matrix:\n"); - fprintf(fp, "n = %d\n", n); -#if defined(DBL_CMPLX) - for (i = 0; i < n; i++) { - nnz = LU->U->nnzrow[i]; - pj = LU->U->pj[i]; - pa = LU->U->pa[i]; - fprintf(fp, "nnzrow[%d]=%d\n", i, nnz); - for (j = 0; j < nnz; j++) { - fprintf(fp, "(%d,%d,%f %f) ", i, pj[j], creal(pa[j]), cimag(pa[j])); - } - } -#else - for (i = 0; i < n; i++) { - nnz = LU->U->nnzrow[i]; - pj = LU->U->pj[i]; - pa = LU->U->pa[i]; - fprintf(fp, "nnzrow[%d]=%d\n", i, nnz); - for (j = 0; j < nnz; j++) { - fprintf(fp, "(%d,%d,%f) ", i, pj[j], pa[j]); - } - } -#endif - parms_ViewerStoreFP(v, fp); - - return 0; -} - -static void parms_arms_nnz(parms_Operator self, int *nnz_mat, int - *nnz_pc) -{ - parms_arms_data data; - - data = (parms_arms_data)self->data; - *nnz_mat = data->nnz_mat; - *nnz_pc = data->nnz_prec; -} - -static int parms_arms_lsol_vcsr(parms_Operator self, FLOAT *y, FLOAT - *x) -{ - parms_arms_data data; - p4ptr levmat; - ilutptr ilus; - int *ipar, schur_start, nlev, n; - - data = (parms_arms_data)self->data; - levmat = data->levmat; - ilus = data->ilus; - ipar = data->ipar; - schur_start = data->schur_start; - - if (ipar[0] == 0) { - Lsolp(schur_start, ilus->L, y, x); - return 0; - } - nlev = data->nlev; - n = data->n; - PARMS_MEMCPY(x, y, n); - Lvsol2(x, nlev, levmat, ilus, 0) ; - return 0; -} - -static int parms_arms_sol_vcsr(parms_Operator self, FLOAT *y, - FLOAT *x) -{ - parms_arms_data data; - int n; - - data = (parms_arms_data)self->data; - - n = data->n; - - PARMS_MEMCPY(x, y, n); - - armsol2(x, data); - - return 0; -} - -static int parms_arms_invs_vcsr(parms_Operator self, FLOAT *y, FLOAT - *x) -{ - parms_arms_data data; - ilutptr ilus; - int *ipar, schur_start, n; - - data = (parms_arms_data)self->data; - schur_start = data->schur_start; - ilus = data->ilus; - ipar = data->ipar; - - n = ilus->n; - if (y == NULL || x == NULL) { - return 0; - } - if (ipar[0] == 0) { - invsp(schur_start, ilus, y, x); - } - else { - PARMS_MEMCPY(x, y, n); - SchLsol(ilus, x); - SchUsol(ilus, x); - - } - - return 0; -} - -static int parms_arms_ascend_vcsr(parms_Operator self, FLOAT *y, FLOAT - *x) -{ - parms_arms_data data; - p4ptr levmat=NULL, last=NULL; - ilutptr ilus; - int *ipar, schur_start, n, nloc, lenB, first; - - data = (parms_arms_data)self->data; - levmat = data->levmat; - ilus = data->ilus; - schur_start = data->schur_start; - ipar = data->ipar; - n = data->n; - - if (ipar[0] == 0) { - Usolp(schur_start, ilus->U, y, x); - return 0; - } - - while (levmat) { - last = levmat; - levmat = levmat->next; - } - levmat = last; - - nloc=levmat->n; - lenB=levmat->nB; - first = n - nloc; - /*-------------------- last level */ - first += lenB; - /*-------------------- other levels */ - while (levmat) { - nloc = levmat->n; - first -= levmat->nB; - if (levmat->n) - ascend(levmat, &x[first],&x[first]); - /*-------------------- right scaling */ - if (levmat->D2 != NULL) - dscale(nloc, levmat->D2, &x[first], &x[first]) ; - levmat = levmat->prev; - } - return 0; -} - -static int parms_arms_getssize_vcsr(parms_Operator self) -{ - parms_arms_data data; - - data = (parms_arms_data)self->data; - return data->schur_start; -} - -static struct parms_Operator_ops parms_arms_sol_vptr = { - parms_arms_sol_vcsr, /* apply */ - parms_arms_lsol_vcsr, /* lsol */ - parms_arms_invs_vcsr, /* invs */ - NULL, /* getu !!! WARNING, UNASSIGNED !!! */ - parms_arms_ascend_vcsr, /* ascend */ - parms_arms_getssize_vcsr, /* getssize */ - parms_arms_nnz, /* getnnz */ - arms_free_vcsr, /* operator_free */ - arms_view_vcsr /* operator_view */ -}; - - -int parms_arms_vcsr(parms_Mat self, parms_FactParam param, void *mat, - parms_Operator *op) -{ -/*--------------------------------------------------------------------- -| MULTI-LEVEL BLOCK ILUT PRECONDITIONER. -| ealier version: June 23, 1999 BJS -- -| version2: Dec. 07th, 2000, YS [reorganized ] -| version 3 (latest) Aug. 2005. [reorganized + includes ddpq] -+---------------------------------------------------------------------- -| ON ENTRY: -| ========= -| ( Amat ) = original matrix A stored in C-style Compressed Sparse -| Row (CSR) format -- -| see LIB/heads.h for the formal definition of this format. -| -| ipar[0:17] = integer array to store parameters for -| arms construction (arms2) -| -| ipar[0]:=nlev. number of levels (reduction processes). -| see also "on return" below. -| -| ipar[1]:= level-reordering option to be used. -| if ipar[1]==0 ARMS uses a block independent set ordering -| with a sort of reverse cutill Mc Kee ordering to build -| the blocks. This yields a symmetric ordering. -| in this case the reordering routine called is indsetC -| if ipar[1] == 1, then a nonsymmetric ordering is used. -| In this case, the B matrix is constructed to be as -| diagonally dominant as possible and as sparse as possble. -| in this case the reordering routine called is ddPQ. -| -| ipar[2]:=bsize. for indset Dimension of the blocks. -| bsize is only a target block size. The size of -| each block can vary and is >= bsize. -| for ddPQ: this is only the smallest size of the -| last level. arms will stop when either the number -| of levels reaches nlev (ipar[0]) or the size of the -| next level (C block) is less than bsize. -| -| ipar[3]:=iout if (iout > 0) statistics on the run are -| printed to FILE *ft -| -| ipar[4]:= Krylov subspace dimension for last level -| ipar[4] == 0 means only backward/forward solve -| is performed on last level. -| ipar[5]:= maximum # iterations on last level -| -| ipar[6-9] NOT used [reserved for later use] - set to zero. -| -| The following set method options for arms2. Their default values can -| all be set to zero if desired. -| -| ipar[10-13] == meth[0:3] = method flags for interlevel blocks -| ipar[14-17] == meth[0:3] = method flags for last level block - -| with the following meaning in both cases: -| meth[0] nonsummetric permutations of 1: yes. affects rperm -| USED FOR LAST SCHUR COMPLEMENT -| meth[1] permutations of columns 0:no 1: yes. So far this is -| USED ONLY FOR LAST BLOCK [ILUTP instead of ILUT]. -| (so ipar[11] does no matter - enter zero). If -| ipar[15] is one then ILUTP will be used instead -| of ILUT. Permutation data stored in: perm2. -| meth[2] diag. row scaling. 0:no 1:yes. Data: D1 -| meth[3] diag. column scaling. 0:no 1:yes. Data: D2 -| all transformations related to parametres in meth[*] (permutation, -| scaling,..) are applied to the matrix before processing it -| -| ft = file for printing statistics on run -| -| droptol = Threshold parameters for dropping elements in ILU -| factorization. -| droptol[0:4] = related to the multilevel block factorization -| droptol[5:6] = related to ILU factorization of last block. -| This flexibility is more than is really needed. one can use -| a single parameter for all. it is preferable to use one value -| for droptol[0:4] and another (smaller) for droptol[5:6] -| droptol[0] = threshold for dropping in L [B]. See piluNEW.c: -| droptol[1] = threshold for dropping in U [B]. -| droptol[2] = threshold for dropping in L^{-1} F -| droptol[3] = threshold for dropping in E U^{-1} -| droptol[4] = threshold for dropping in Schur complement -| droptol[5] = threshold for dropping in L in last block -| [see ilutpC.c] -| droptol[6] = threshold for dropping in U in last block -| [see ilutpC.c] -| This provides a rich selection - though in practice only 4 -| parameters are needed [which can be set to be the same - actually] -- indeed it makes sense to take -| droptol[0] = droptol[1], droptol[2] = droptol[3], -| and droptol[4] = droptol[5] -| -| lfil = lfil[0:6] is an array containing the fill-in parameters. -| similar explanations as above, namely: -| lfil[0] = amount of fill-in kept in L [B]. -| lfil[1] = amount of fill-in kept in U [B]. -| lfil[2] = amount of fill-in kept in E L\inv -| lfil[3] = amount of fill-in kept in U \inv F -| lfil[4] = amount of fill-in kept in S . -| lfil[5] = amount of fill-in kept in L_S . -| lfil[6] = amount of fill-in kept in U_S -| -| tolind = tolerance parameter used by the indset function. -| a row is not accepted into the independent set if -| the *relative* diagonal tolerance is below tolind. -| see indset function for details. Good values are -| between 0.05 and 0.5 -- larger values tend to be better -| for harder problems. -| -| ON RETURN: -|============= -| -| (PreMat) = arms data structure which consists of two parts: -| levmat and ilsch. -| -| ++(levmat)= permuted and sorted matrices for each level of the block -| factorization stored in PerMat4 struct. Specifically -| each level in levmat contains the 4 matrices in: -| -| -| |\ | | -| | \ U | | -| | \ | F | -| | L \ | | -| | \ | | -| |----------+-------| -| | | | -| | E | | -| | | | -| -| plus a few other things. See LIB/heads.h for details. -| -| ++(ilsch) = IluSpar struct. If the block of the last level is: -| -| | B F | -| A_l = | | -| | E C | -| -| then IluSpar contains the block C and an ILU -| factorization (matrices L and U) for the last -| Schur complement [S ~ C - E inv(B) F ] -| (modulo dropping) see LIB/heads.h for details. -| -| ipar[0] = number of levels found (may differ from input value) -| -+---------------------------------------------------------------------*/ - /* local matrix object */ - parms_Operator newOpt; - parms_arms_data data; - parms_vcsr Amat; - parms_Map is; -/*-------------------- function prototyping done in LIB/protos.h */ -/*-------------------- move above to protos.h */ - p4ptr levp=NULL, levc=NULL, levn=NULL, levmat=NULL; - csptr schur=NULL, B=NULL, F=NULL, E=NULL, C=NULL; - ilutptr ilsch=NULL; -/*-------------------- local variables (initialized) */ - double *dd1, *dd2; - double *droptol, tolind; - int nlev, bsize, iout, ierr = 0; - int *ipar, *lfil; - int methL[4], methS[4]; -/*-------------------- local variables (not initialized) */ - int nA, nB, nC, j, n, ilev, symperm, schur_start, nbnd, i; - FILE *ft; -/*-------------------- work arrays: */ - int *iwork, *uwork; -/* timer arrays: */ -/* double *symtime, *unstime, *factime, *tottime;*/ -/*---------------------------BEGIN ARMS-------------------------------*/ -/* schur matrix starts being original A */ - -/*-------------------- begin */ - n = param->n; - nbnd = schur_start = param->schur_start; - is = self->is; - if (schur_start == -1) { - nbnd = is->schur_start; - } - - if (!param->isalloc) { - parms_OperatorCreate(&newOpt); - PARMS_MEMCPY(newOpt->ops, &parms_arms_sol_vptr, 1); - PARMS_NEW(data); - PARMS_NEW(data->levmat); - levmat = data->levmat; - PARMS_NEW(data->ilus); - ilsch = data->ilus; - newOpt->data = data; - *op = newOpt; - } - else { - data = (*op)->data; - } - - Amat = (parms_vcsr)mat; - - /* compute the number of nonzero entries in mat */ - data->nnz_mat = 0; - for (i = 0; i < Amat->n; i++) { - data->nnz_mat += Amat->nnzrow[i]; - } - - /* retrieve data from input objects */ - ipar = param->ipar; - lfil = param->lfil; - droptol = param->droptol; - tolind = param->tolind; - - nlev = ipar[0]; - bsize = ipar[2]; - iout = ipar[3]; - - if (iout > 0 ) { - ft = stdout; - } - else{ - ft = NULL; - } - - ierr = 0; -/*--------------------------------------------------------------------- -| The matrix (a,ja,ia) plays role of Schur compl. from the 0th level. -+--------------------------------------------------------------------*/ - - nC = nA = n = Amat->n; - if (bsize >= n) bsize = n-1; - levmat->n = n; levmat->nB = 0; - schur = Amat; - levc = levmat; - /*--------------------------------------- */ - levc->prev = levc->next = levp = NULL; - levc->n = 0; - - memcpy(methL, &ipar[10], 4*sizeof(int)); - memcpy(methS, &ipar[14], 4*sizeof(int)); - /*--------------------------------------------------------------------- - | The preconditioner construction is divided into two parts: - | 1st part: construct and store multi-level L and U factors; - | 2nd part: construct the ILUT factorization for the coarsest level - +--------------------------------------------------------------------*/ - if ( (iout > 0) && (nlev > 0) ) { - fprintf(ft," \n"); - fprintf(ft,"Level Total Unknowns B-block Coarse set\n"); - fprintf(ft,"===== ============== ======= ==========\n"); - } - /*--------------------------------------------------------------------- - | main loop to construct multi-level LU preconditioner. Loop is on the - | level ilev. nA is the dimension of matrix A_l at each level. - +--------------------------------------------------------------------*/ - for (ilev = 0; ilev < nlev; ilev++) { - /*-------------------- new nA is old nC -- from previous level */ - nA = nC; - if ( nA <= bsize ) goto label1000; - /*-------------------- allocate work space */ - iwork = (int *) Malloc(nA*sizeof(int), "arms2:2.5" ); - symperm = 0; /* 0nly needed in cleanP4 */ - if (ipar[1] == 1) - uwork = (int *) Malloc(nA*sizeof(int), "arms2:2.6" ); - else{ - symperm = 1; - uwork = iwork; - } - /*-------------------- SCALING*/ - dd1 = NULL; - dd2 = NULL; - if (methL[2]) { - dd1 = (double *) Malloc(nA*sizeof(double), "arms2:3" ); - j=roscalC(schur, dd1,1); - if (j) printf("ERROR in roscalC - row %d is a zero row\n",j); - } - - if (methL[3]) { - dd2 = (double *) Malloc(nA*sizeof(double), "arms2:4" ); - j=coscalC(schur, dd2,1); - if (j) printf("ERROR in coscalC - column %d is a zero column\n",j); - } - /*--------------------independent-sets-permutation------------------- - | do reordering -- The matrix and its transpose are used. - +--------------------------------------------------------------------*/ - /* if (SHIFTTOL > 0.0) shiftsD(schur,SHIFTTOL); */ - if (ipar[1] == 1) - PQperm(schur, uwork, iwork, &nB, tolind, nbnd) ; - else - indsetC (schur, bsize, iwork, &nB, tolind, nbnd) ; - /*--------------------------------------------------------------------- - | nB is the total number of nodes in the independent set. - | nC : nA - nB = the size of the reduced system. - +--------------------------------------------------------------------*/ - nC = nA - nB; - nbnd -= nB; - /* if the size of B or C is zero , exit the main loop */ - /* printf (" nB %d nC %d \n",nB, nC); */ - if ( nB == 0 || nC == 0 ) goto label1000; - /*--------------------------------------------------------------------- - | The matrix for the current level is in (schur). - | The permutations arrays are in iwork and uwork (row). - | The routines rpermC, cpermC permute the matrix in place. - *-----------------------------------------------------------------------*/ - /* DEBUG : SHOULD THIS GO BEFORE GOTO LABEL1000 ?? */ - rpermC(schur,uwork); - cpermC(schur,iwork); - /* prtC(schur, ilev) ; print matrix - debugging */ - /*----------------------------------------------------------------------- - | If this is the first level, the permuted matrix is stored in - | (levc) = (levmat). Otherwise, the next level is created in (levc). - +--------------------------------------------------------------------*/ - if (ilev > 0) { - /*- delete C matrix of any level except last one (no longer needed) */ - cleanCS(C); - levn = (p4ptr) Malloc(sizeof(Per4Mat), "arms2:6" ); - /* levc->prev = levp; */ - levc->next = levn; - levp = levc; - levc = levn; - levc->prev = levp; - } - /*-------------------- p4ptr struct for current schur complement */ - B = (csptr) Malloc(sizeof(SparMat), "arms2:7" ); - E = (csptr) Malloc(sizeof(SparMat), "arms2:8" ); - F = (csptr) Malloc(sizeof(SparMat), "arms2:9" ); - C = (csptr) Malloc(sizeof(SparMat), "arms2:10" ); - csSplit4(schur, nB, nC, B, F, E, C); - setupP4(levc, nB, nC, F, E); - /*-------------------- copy a few pointers ---- */ - levc->perm = iwork; - levc->rperm = uwork; - levc->symperm = symperm; - levc->D1=dd1; - levc->D2=dd2; - /*--------------------------------------------------------------------- - | a copy of the matrix (schur) has been permuted. Now perform the - | block factorization: - | - | | B F | | L 0 | | U L^-1 F | - | | | = | | X | | = L x U - | | E C | | E U^-1 I | | 0 A1 | - | - | The factors E U^-1 and L^-1 F are discarded after the factorization. - | - +--------------------------------------------------------------------*/ - if (iout > 0) - fprintf(ft,"%3d %13d %13d %10d\n", ilev+1,nA,nB,nC); - /*--------------------------------------------------------------------- - | PILUT constructs one level of the block ILU fact. The permuted matrix - | is in (levc). The L and U factors will be stored in the p4mat struct. - | destroy current Schur complement - no longer needed - and set-up new - | one for next level... - +--------------------------------------------------------------------*/ - cleanCS(schur); - schur = (csptr) Malloc(sizeof(SparMat), "arms2:11" ); - setupCS(schur, nC,1); - /*---------------------------------------------------------------------- - | calling PILU to construct this level block factorization - | ! core dump in extreme case of empty matrices. - +----------------------------------------------------------------------*/ - ierr = pilu(levc, B, C, droptol, lfil, schur) ; - /* prtC(levc->L, ilev) ; */ - if (ierr) { - fprintf(ft," ERROR IN PILU -- IERR = %d\n", ierr); - return(1); - } - cleanCS(B); - } - /*--------------------------------------------------------------------- - | done with the reduction. Record the number of levels in ipar[0] - |********************************************************************** - +--------------------------------------------------------------------*/ - label1000: - /* printf (" nnz_Schur %d \n",cs_nnz (schur)); */ - levc->next = NULL; - ipar[0] = ilev; - data->nlev = ilev; - data->n = n; - nC = schur->n; - setupILUT(ilsch,nC); - /*--------------------------------------------------------------------*/ - /* define C-matrix (member of ilsch) to be last C matrix */ - if (ilev > 0) ilsch->C=C; - /*-------------------- for ilut fact of schur matrix */ - /* SCALING */ - - ilsch->D1 = NULL; - if (methS[2]) { - ilsch->D1 = (double *) Malloc(nC*sizeof(double), "arms2:iluschD1" ); - j=roscalC(schur, ilsch->D1, 1); - if (j) printf("ERROR in roscalC - row %d is a zero row\n",j); - } - - ilsch->D2 = NULL; - if (methS[3]) { - ilsch->D2 = (double *) Malloc(nC*sizeof(double), "arms2:iluschD1" ); - j =coscalC(schur, ilsch->D2, 1); - if (j) printf("ERROR in coscalC - column %d is a zero column\n",j); - } - - /*--------------------------------------------------------------------- - | get ILUT factorization for the last reduced system. - +--------------------------------------------------------------------*/ - uwork = NULL; - iwork = NULL; - if (methS[0]) { - iwork = (int *) Malloc(nC*sizeof(int), "arms2:3" ); - uwork = (int *) Malloc(nC*sizeof(int), "arms2:3.5" ); - tolind = 0.0; - PQperm(schur, uwork, iwork, &nB, tolind, nbnd) ; - rpermC(schur,uwork); - cpermC(schur,iwork); - } - ilsch->rperm = uwork; - ilsch->perm = iwork; - - /* printf(" lf : %d %d %d %d %d %d %d \n",lfil[0], - lfil[1], lfil[2], lfil[3], lfil[4], lfil[5], lfil[6]) ; */ - - ilsch->perm2 = NULL; - - if (methS[1] == 0) - ierr = ilutD(schur, droptol, lfil, ilsch); - else { - ilsch->perm2 = (int *) Malloc(nC*sizeof(int), "arms2:ilutpC" ); - for (j=0; jperm2[j] = j; - ierr = ilutpC(schur, droptol, lfil, PERMTOL, nC, ilsch); - } - /*---------- OPTIMIZATRION: NEED TO COMPOUND THE TWO - RIGHT PERMUTATIONS -- CHANGES HERE AND IN - USCHUR SOLVE == compound permutations */ - if (ierr) { - fprintf(ft," ERROR IN ILUT -- IERR = %d\n", ierr); - return(1); - } - /* Last Schur complement no longer needed */ - cleanCS(schur); - data->nnz_prec = nnz_arms(data); - data->ind = n - ilsch->n; - if (ilev) { - data->schur_start = n - ilsch->n; - } - else { - is = self->is; - data->schur_start = is->schur_start; - } - - PARMS_MEMCPY(data->ipar, param->ipar, 18); - PARMS_MEMCPY(data->pgfpar, param->pgfpar, 2); - return 0; -}/*-----end-of-ARMS2---------------------------------------------------- - +--------------------------------------------------------------------*/ - diff --git a/lib/parms/src/DDPQ/globheads.h b/lib/parms/src/DDPQ/globheads.h deleted file mode 100755 index cd334880f..000000000 --- a/lib/parms/src/DDPQ/globheads.h +++ /dev/null @@ -1,151 +0,0 @@ -#ifndef __VBLOCK_HEADER_H__ -#define __VBLOCK_HEADER_H__ - -#if defined(C99) -#include -#else -#include -#endif -#include "parms_mat_impl.h" -#include "parms_opt_impl.h" - -#define MAX_BLOCK_SIZE 100 - -/* FORTRAN style vblock format, compatible for many FORTRAN routines */ -#define DATA(a,row,i,j) (a[(j)*(row)+(i)]) - -/* the dimension of ith Block */ -#define B_DIM(bs,i) (bs[i+1]-bs[i]) - -#if 0 -typedef struct SparRow { -/*--------------------------------------------- -| C-style CSR format - used internally -| for all matrices in CSR format -|---------------------------------------------*/ - int n; - int *nnzrow; /* length of each row */ - int **ja; /* pointer-to-pointer to store column indices */ - double **ma; /* pointer-to-pointer to store nonzero entries */ -} SparMat, *csptr; -#endif - -typedef struct parms_vcsr SparMat; -typedef parms_vcsr csptr; - -typedef struct ILUfac { - int n; - csptr L; /* L part elements */ - FLOAT *D; /* diagonal elements */ - csptr U; /* U part elements */ - int *work; /* working buffer */ -} ILUSpar, LDUmat, *iluptr; - - -typedef struct PerMat4 *p4ptr; -typedef struct PerMat4 { -/*------------------------------------------------------------ -| struct for storing the block LU factorization -| contains all the block factors except the -| data related to the last block. -| n = size of current block -| symperm = whether or not permutations are symmetric. -| used only in cleanP4.. -| nB = size of B-block -| L, U = ILU factors of B-block -| F, E = sparse matrices in (1,2) and (2,1) -| parts of matrix. -| perm = (symmetric) permutation used in factorization -| comes from the independent set ordering -| rperm = unsymmetric permutation (rows) not used in this -| version -- but left here for compatibility.. -| D1, D2 = diagonal matrices (left, right) used for scaling -| if scaling option is turned on. Note that the -| method works by scaling the whole matrix first -| (at any level) before anything else is done. -| wk = a work vector of length n needed for various tasks -| [reduces number of calls to malloc] -|----------------------------------------------------------*/ - int n; - int nB; - int symperm; -/* LU factors */ - csptr L; - csptr U; -/* E, F blocks */ - csptr E; - csptr F; - int *rperm; /* row permutation */ - int *perm; /* col. permutation */ - double *D1 ; /* diagonal scaling row */ - double *D2 ; /* diagonal scaling columns*/ - FLOAT *wk; /* work array */ -/* pointer to next and previous struct */ - p4ptr prev; - p4ptr next; -} Per4Mat; -/* -------------------------------------------------------------------*/ -typedef struct ILUTfac *ilutptr; -typedef struct ILUTfac { -/*------------------------------------------------------------ -| struct for storing data related to the last schur complement -| we need to store the C matrix associated with the last block -| and the ILUT factorization of the related Schur complement. -| -| n = size of C block = size of Schur complement -| C = C block of last level matrix. -| L, U = ILU factors of last schur complement. -| -| meth[4] = parameters for defining variants in factorization -| - see function readin for details -| rperm = row permutation used for very nonsymmetric matrices -| [such as bottleneck transversal] -- NOT IN THIS VERSION -| perm2 = unsymmetric permutation (columns) - used primarily -| for the ILUTP version of ILUT/.. -| D1, D2 = diagonal matrices (left, right) used for scaling -| if scaling option is turned on. Note that the -| method works by scaling the whole matrix first -| (at any level) before anything else is done. -| wk = a work vector of length n needed for various tasks -| [reduces number of calls to malloc] -|-----------------------------------------------------------*/ - int n; - /*-------------------- C matrix of last block */ - csptr C; - /* LU factorization */ - csptr L; - csptr U; - /*-------------------- related to variants and methods */ - /* int meth[4]; */ - int *rperm; /* row single-sinded permutation */ - int *perm; /* column perm . */ - int *perm2; /* column permutation coming from pivoting in ILU */ - double *D1; - double *D2; - FLOAT *wk; -} IluSpar; - -typedef struct parms_arms_data { - int n; /* dimension of matrix */ - int nlev; /* number of levels */ - ilutptr ilus; - p4ptr levmat; - int ipar[18]; - double pgfpar[2]; - int schur_start; - int ind; - int nnz_mat; - int nnz_prec; -} *parms_arms_data; - -typedef struct parms_arms_data armsMat; -typedef parms_arms_data arms; - -typedef struct __CompressType -{ - int grp; /* -1: begin new group, >=0: belong to grp-th row */ - int count; /* block size, valid only if grp = -1 */ -} CompressType; - -#endif /* __VBLOCK_HEADER_H__ */ - diff --git a/lib/parms/src/DDPQ/ilutpC.c b/lib/parms/src/DDPQ/ilutpC.c deleted file mode 100755 index d158168d8..000000000 --- a/lib/parms/src/DDPQ/ilutpC.c +++ /dev/null @@ -1,753 +0,0 @@ -#include -#include -#include -#if defined(C99) -#include -#else -#include -#endif -#include "protos.h" - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -int ilutpC(csptr amat, double *droptol, int *lfil, double permtol, - int mband, ilutptr ilusch) -{ -/*---------------------------------------------------------------------- -| ILUTP -- ILUT with column pivoting -- adapted from ILUTP [Sparskit] -| Converted to C so that dynamic memory allocation may be implememted. -| All indexing is in C format. -|---------------------------------------------------------------------- -| ILUT factorization with dual truncation. -|---------------------------------------------------------------------- -| -| on entry: -|========== -| ( amat ) = Matrix stored in SparRow struct. -| -| lfil[5] = number nonzeros in L-part -| lfil[6] = number nonzeros in U-part ( lfil >= 0 ) -| -| droptol[5] = threshold for dropping small terms in L during -| factorization. -| droptol[6] = threshold for dropping small terms in U. -| -| permtol = tolerance ratio used to determine whether or not to permute -| two columns. At step i columns i and j are permuted when -| -| abs(a(i,j))*permtol > abs(a(i,i)) -| -| [0 --> never permute; good values 0.1 to 0.01] -| -| mband = permuting is done within a band extending to mband -| diagonals only. -| mband = 0 --> no pivoting. -| mband = n --> pivot is searched in whole column -| -| -| On return: -|=========== -| -| (ilusch) = Contains L and U factors in an LUfact struct. -| Individual matrices stored in SparRow structs. -| On return matrices have C (0) indexing. -| -| iperm = reverse permutation array. -| -| integer value returned: -| -| 0 --> successful return. -| 1 --> Error. Input matrix may be wrong. (The -| elimination process has generated a -| row in L or U whose length is > n.) -| 2 --> Memory allocation error. -| 5 --> Illegal value for lfil. -| 6 --> zero row encountered. -|----------------------------------------------------------------------- -| work arrays: -|============= -| jw, jwrev = integer work arrays of length n -| w = real work array of length n. -|----------------------------------------------------------------------- -| All processing is done using C indexing. -|--------------------------------------------------------------------*/ - int i, ii, j, jj, jcol, jpos, jrow, k, *jw=NULL, *jwrev=NULL; - int len, lenu, lenl, rmax, *iprev=NULL, fil5=lfil[5], fil6=lfil[6]; - double tnorm, drop5=droptol[5], drop6=droptol[6]; - int nnzrow, rowz, *rowj=NULL, imax, icut, *iperm=ilusch->perm2; - double xmax, xmax0, t1; - FLOAT *rowm=NULL, t, s, fact, *w=NULL, tmp; -#if defined(DBL_CMPLX) - double shf, ti, sgny; - int nnzS = 0; - -/*----------get nnz of amat ---------*/ - for(j = 0; jn; j++) - nnzS += amat->nnzrow[j]; -#endif - - int dec, decnt=0; - -#ifdef ILUTIME - int tt, t22=22, t23=23, t24=24, t25=25, t26=26, t27=27, t28=28, - t29=29, t30=30, t31=31, t32=32, t33=33, t34=34, t35=35; - for (tt=22; tt<36; tt++) - msg_timer_clear(&tt); -#endif - ilusch->n = rmax = amat->n; - if (rmax == 0) return(0); - if (rmax > 0) { - jw = (int *) Malloc(rmax*sizeof(int), "ilutpC:1" ); - w = (FLOAT *) Malloc(rmax*sizeof(FLOAT), "ilutpC:2" ); - jwrev = (int *) Malloc(rmax*sizeof(int), "ilutpC:3" ); - iprev = (int *) Malloc(rmax*sizeof(int), "ilutpC:4" ); - } - if (fil5<0 || fil6<0 || rmax<=0) goto label998; -/*--------------------------------------------------------------------- -| beginning of main loop - L, U calculations -|--------------------------------------------------------------------*/ - for (j=0; jpj[ii]; - rowm = amat->pa[ii]; - rowz = amat->nnzrow[ii]; - nnzrow = rowz; - tnorm = 0.0; - for (k=0; k DBL_EPSILON) goto label40; - goto label9991; - -#ifdef ILUTIME -msg_timer_stop(&t22); -msg_timer_start(&t23); -#endif -/*--------------------------------------------------------------------- -| unpack amat in arrays w, jw, jwrev -| WE ASSUME THERE IS A DIAGONAL ELEMENT -|--------------------------------------------------------------------*/ -label40: - lenu = 1; - lenl = 0; - w[ii] = 0.0; - jw[ii] = ii; - jwrev[ii] = ii; - for (j=0; jU->pa[jrow]; - fact = w[jj] * rowm[0]; - if ( ABS_VALUE(fact) > drop5 ) { /* DROPPING IN L */ -#ifdef ILUTIME -msg_timer_start(&t25); -#endif - rowj = ilusch->U->pj[jrow]; - rowz = ilusch->U->nnzrow[jrow]; -/*--------------------------------------------------------------------- -| combine current row and row jrow -|--------------------------------------------------------------------*/ - for (k=1; k= ii) { -/*--------------------------------------------------------------------- -| this is a fill-in element -|--------------------------------------------------------------------*/ - if (jpos == -1) { - if (lenu > rmax) goto label994; - i = ii + lenu; - jw[i] = j; - jwrev[j] = i; - w[i] = - s; - lenu++; - } -/*--------------------------------------------------------------------- -| this is not a fill-in element -|--------------------------------------------------------------------*/ - else - w[jpos] -= s; - } -/*--------------------------------------------------------------------- -| dealing with L -|--------------------------------------------------------------------*/ - else { -/*--------------------------------------------------------------------- -| this is a fill-in element -|--------------------------------------------------------------------*/ - if (jpos == -1) { - if (lenl > rmax) goto label994; - jw[lenl] = j; - jwrev[j] = lenl; - w[lenl] = - s; - lenl++; - } -/*--------------------------------------------------------------------- -| this is not a fill-in element -|--------------------------------------------------------------------*/ - else - w[jpos] -= s; - } - } -/*--------------------------------------------------------------------- -| store this pivot element -|--------------------------------------------------------------------*/ -#ifdef ILUTIME -msg_timer_stop(&t25); -#endif - w[len] = fact; - jw[len] = jrow; - len++; - } - } -/*--------------------------------------------------------------------- -| reset nonzero indicators -|--------------------------------------------------------------------*/ -#ifdef ILUTIME -msg_timer_start(&t26); -#endif - for (j=0; j fil5 ? fil5 : lenl; - ilusch->L->nnzrow[ii] = len; - if (lenl > len) - qsplitCF(w, jw, lenl, len); -/* - printf(" row %d length of L = %d",ii,len); -*/ - if (len > 0) { - ilusch->L->pj[ii] = (int *) Malloc(len*sizeof(int), "ilutpC:5" ); - ilusch->L->pa[ii] = (FLOAT *) Malloc(len*sizeof(FLOAT), "ilutpC:6"); - memcpy(ilusch->L->pa[ii], w, len*sizeof(FLOAT)); - for (j=0; jL->pj[ii][j] = iperm[jw[j]]; - } -/*--------------------------------------------------------------------- -| apply dropping strategy to U (entries after diagonal) -|--------------------------------------------------------------------*/ -#ifdef ILUTIME -msg_timer_stop(&t27); -msg_timer_start(&t28); -#endif - len = 0; - for (j=1; j drop6*tnorm ) { - len++; - w[ii+len] = w[ii+j]; - jw[ii+len] = jw[ii+j]; - } - } - lenu = len+1; - len = lenu > fil6 ? fil6 : lenu; - ilusch->U->nnzrow[ii] = len; - if (lenu > len+1) - qsplitCF(&w[ii+1], &jw[ii+1], lenu-1, len); - ilusch->U->pa[ii] = (FLOAT *) Malloc(len*sizeof(FLOAT), "ilutpC:7" ); - ilusch->U->pj[ii] = (int *) Malloc(len*sizeof(int), "ilutpC:8" ); -/*--------------------------------------------------------------------- -| determine next pivot -|--------------------------------------------------------------------*/ -/* HERE - all lines with dec included for counting pivots */ - imax = ii; - xmax = ABS_VALUE(w[imax]); - xmax0 = xmax; - /* icut = ii - 1 + mband - ii % mband; */ - icut = ii-1 + mband; - dec = 0; - for (k=ii+1; k xmax) && (t1*permtol > xmax0) && (jw[k] <= icut) ) { - imax = k; - xmax = t1; - dec = 1; - } - } - if (dec == 1) decnt++; -/*--------------------------------------------------------------------- -| exchange w's -|--------------------------------------------------------------------*/ - tmp = w[ii]; - w[ii] = w[imax]; - w[imax] = tmp; -/*--------------------------------------------------------------------- -| update iperm and reverse iperm -|--------------------------------------------------------------------*/ - j = jw[imax]; - i = iperm[ii]; - iperm[ii] = iperm[j]; - iperm[j] = i; - iprev[iperm[ii]] = ii; - iprev[iperm[j]] = j; -/*--------------------------------------------------------------------- -| now store U in original coordinates -|--------------------------------------------------------------------*/ - - if(ABS_VALUE(w[ii]) <= DBL_EPSILON) w[ii] = tnorm;//(0.0001+drop6)*nnzrow*tnorm; - -#if defined(DBL_CMPLX) -/*---------- Add a complex shift for complex case ------------ */ - -/*------ shift based on droptol -- tau-based shift ----*/ - shf = drop6*tnorm*nnzrow; // recall that tnorm = rownorm / nnzrow -/* ----- shift based on diagonal dominance gap -- dd-based shift -----*/ -// shf = rmax*(tnorm*nnzrow - 2*cabs(w[ii]))/(double)nnzS; //rownorm includes diagonal - ti = cimag(w[ii]) ; - if (ti<=0) - sgny = -ti - sqrt(ti*ti+shf*shf) ; - else - sgny = -ti + sqrt(ti*ti+shf*shf) ; - - w[ii] = w[ii] + sgny*I; -#endif - - ilusch->U->pa[ii][0] = 1.0 / w[ii]; - ilusch->U->pj[ii][0] = ii; - memcpy(&ilusch->U->pa[ii][1], &w[ii+1], (len-1)*sizeof(FLOAT)); - lenu = 0; - for (k=ii+1; kU->pj[ii][++lenu] = iperm[jw[k]]; -#ifdef ILUTIME -msg_timer_stop(&t28); -#endif - } - cpermC(ilusch->U, iprev); - cpermC(ilusch->L, iprev); -/* DO NOT PERMUTE ORIGINAL MATRIX - cpermC(amat, iprev); -*/ -#ifdef ILUTIME - tnorm = 0; - for (tt=22; tt<29; tt++) { - printf(" loop %d %e \n",tt,msg_timer(&tt)); - tnorm += msg_timer(&tt); - } - printf(" total %e \n",tnorm); -#endif -/*--------------------------------------------------------------------- -| end main loop - now do clean up -|--------------------------------------------------------------------*/ - if (rmax > 0) { - free(jw); - free(w); - free(jwrev); - free(iprev); - } -/* printf("There were %d pivots\n",decnt); */ -/*--------------------------------------------------------------------- -| done -- correct return -|--------------------------------------------------------------------*/ - return(0); -label994: -/* Incomprehensible error. Matrix must be wrong. */ - return(1); -/* label997: - Memory allocation error. - return(2); */ -label998: -/* illegal value for lfil or last entered */ - return(5); -label9991: -/* zero row encountered */ - return(6); -} -/*--------------------------------------------------------------------- -| end of ilutpC -|--------------------------------------------------------------------*/ - -int ilutD(csptr amat, double *droptol, int *lfil, ilutptr ilusch) -{ -/*---------------------------------------------------------------------- -| ILUT - -| Converted to C so that dynamic memory allocation may be implememted. -| All indexing is in C format. -|---------------------------------------------------------------------- -| ILUT factorization with dual truncation. -| -| March 1, 2000 - dropping in U: keep entries > tau * diagonal entry -|---------------------------------------------------------------------- -| -| on entry: -|========== -| ( amat ) = Matrix stored in SparRow struct. -| (ilusch) = Pointer to ILUTfac struct -| -| lfil[5] = number nonzeros in L-part -| lfil[6] = number nonzeros in U-part ( lfil >= 0 ) -| -| droptol[5] = threshold for dropping small terms in L during -| factorization. -| droptol[6] = threshold for dropping small terms in U. -| -| On return: -|=========== -| -| (ilusch) = Contains L and U factors in an LUfact struct. -| Individual matrices stored in SparRow structs. -| On return matrices have C (0) indexing. -| -| integer value returned: -| -| 0 --> successful return. -| 1 --> Error. Input matrix may be wrong. (The -| elimination process has generated a -| row in L or U whose length is > n.) -| 2 --> Memory allocation error. -| 5 --> Illegal value for lfil or last. -| 6 --> zero row encountered. -|----------------------------------------------------------------------- -| work arrays: -|============= -| jw, jwrev = integer work arrays of length n -| w = real work array of length n. -|----------------------------------------------------------------------- -| All processing is done using C indexing. -|--------------------------------------------------------------------*/ - int i, ii, j,jj, jcol, jpos, jrow, k, *jw=NULL, *jwrev=NULL; - int len, lenu, lenl, rmax, fil5=lfil[5], fil6=lfil[6]; - double tnorm, drop5=droptol[5], drop6=droptol[6]; - int rowz, *rowj=NULL; - FLOAT t, s, fact, *w=NULL, *rowm = NULL; -#if defined(DBL_CMPLX) - double shf, ti, sgny; - int nnzS = 0; - -/*----------get nnz of amat ---------*/ - for(j = 0; jn; j++) - nnzS += amat->nnzrow[j]; -#endif - - ilusch->n = rmax = amat->n; - if (rmax == 0) return(0); - if (rmax > 0) { - jw = (int *) Malloc(rmax*sizeof(int), "ilutD:1" ); - w = (FLOAT *) Malloc(rmax*sizeof(FLOAT), "ilutD:2" ); - jwrev = (int *) Malloc(rmax*sizeof(int), "ilutD:3" ); - } - if (fil5<0 || fil6<0 || rmax<=0) goto label9995; -/*--------------------------------------------------------------------- -| beginning of first main loop - L, U, L^{-1}F calculations -|--------------------------------------------------------------------*/ - for (j=0; jpj[ii]; - rowm = amat->pa[ii]; - rowz = amat->nnzrow[ii]; - for (k=0; k DBL_EPSILON) goto label40; - goto label9996; -/*--------------------------------------------------------------------- -| unpack amat in arrays w, jw, jwrev -| WE ASSUME THERE IS A DIAGONAL ELEMENT -|--------------------------------------------------------------------*/ -label40: - lenu = 1; - lenl = 0; - w[ii] = 0.0; - jw[ii] = ii; - jwrev[ii] = ii; - tnorm = 0.0; - for (j=0; jU->pa[jrow]; - fact = w[jj] * rowm[0]; - if ( ABS_VALUE(fact) > drop5 ) { /* DROPPING IN L */ - rowj = ilusch->U->pj[jrow]; - rowz = ilusch->U->nnzrow[jrow]; -/*--------------------------------------------------------------------- -| combine current row and row jrow -|--------------------------------------------------------------------*/ - for (k=1; k= ii) { -/*--------------------------------------------------------------------- -| this is a fill-in element -|--------------------------------------------------------------------*/ - if (jpos == -1) { - if (lenu > rmax) goto label9991; - i = ii + lenu; - jw[i] = j; - jwrev[j] = i; - w[i] = - s; - lenu++; - } -/*--------------------------------------------------------------------- -| this is not a fill-in element -|--------------------------------------------------------------------*/ - else - w[jpos] -= s; - } -/*--------------------------------------------------------------------- -| dealing with L -|--------------------------------------------------------------------*/ - else { -/*--------------------------------------------------------------------- -| this is a fill-in element -|--------------------------------------------------------------------*/ - if (jpos == -1) { - if (lenl > rmax) goto label9991; - jw[lenl] = j; - jwrev[j] = lenl; - w[lenl] = - s; - lenl++; - } -/*--------------------------------------------------------------------- -| this is not a fill-in element -|--------------------------------------------------------------------*/ - else - w[jpos] -= s; - } - } -/*--------------------------------------------------------------------- -| store this pivot element -|--------------------------------------------------------------------*/ - w[len] = fact; - jw[len] = jrow; - len++; - } - } -/*--------------------------------------------------------------------- -| reset nonzero indicators -|--------------------------------------------------------------------*/ - for (j=0; j fil5 ? fil5 : len; - ilusch->L->nnzrow[ii] = lenl; - if (len > lenl) - qsplitCF(w, jw, len, lenl); - if (len > 0) { - ilusch->L->pj[ii] = (int *) Malloc(lenl*sizeof(int), "ilutD:4" ); - ilusch->L->pa[ii] = (FLOAT *) Malloc(lenl*sizeof(FLOAT), "ilutD:5"); - memcpy(ilusch->L->pj[ii], jw, lenl*sizeof(int)); - memcpy(ilusch->L->pa[ii], w, lenl*sizeof(FLOAT)); - } -/*--------------------------------------------------------------------- -| store the diagonal element of U -| -| dropping in U if size is less than drop1 * diagonal entry -|--------------------------------------------------------------------*/ - t = w[ii]; - len = 0; - for (j=1; j drop6*tnorm ) { - w[len] = w[ii+j]; - jw[len] = jw[ii+j]; - len++; - } - } - lenu = len+1 > fil6 ? fil6 : len+1; - ilusch->U->nnzrow[ii] = lenu; - jpos = lenu-1; - if (len > jpos) - qsplitCF(w, jw, len, jpos); - ilusch->U->pa[ii] = (FLOAT *) Malloc(lenu*sizeof(FLOAT), "ilutD:6" ); - ilusch->U->pj[ii] = (int *) Malloc(lenu*sizeof(int), "ilutD:7" ); - if(ABS_VALUE(t) <= DBL_EPSILON) t= tnorm; - ilusch->U->pa[ii][0] = 1.0 / t; - ilusch->U->pj[ii][0] = ii; -/*--------------------------------------------------------------------- -| copy the rest of U -|--------------------------------------------------------------------*/ - memcpy(&ilusch->U->pj[ii][1], jw, jpos*sizeof(int)); - memcpy(&ilusch->U->pa[ii][1], w, jpos*sizeof(FLOAT)); - } -/*--------------------------------------------------------------------- -| end main loop - now do clean up -|--------------------------------------------------------------------*/ - if (rmax > 0) { - free(jw); - free(w); - free(jwrev); - } -/*--------------------------------------------------------------------- -| done -- correct return -|--------------------------------------------------------------------*/ - return(0); -label9991: -/* Incomprehensible error. Matrix must be wrong. */ - return(1); -/* label9992: - Memory allocation error. - return(2); */ -label9995: -/* illegal value for lfil or last entered */ - return(5); -label9996: -/* zero row encountered */ - return(6); -} -/*--------------------------------------------------------------------- -| end of ilutNEW -|--------------------------------------------------------------------*/ diff --git a/lib/parms/src/DDPQ/misc.c b/lib/parms/src/DDPQ/misc.c deleted file mode 100755 index 955af1f98..000000000 --- a/lib/parms/src/DDPQ/misc.c +++ /dev/null @@ -1,485 +0,0 @@ -#include -#include -#include -#if defined(C99) -#include -#else -#include -#endif -#include "protos.h" - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -int SparTran(csptr amat, csptr bmat, int job, int flag) -{ -/*---------------------------------------------------------------------- -| Finds the transpose of a matrix stored in SparRow format. -| -|----------------------------------------------------------------------- -| on entry: -|---------- -| (amat) = a matrix stored in SparRow format. -| -| job = integer to indicate whether to fill the values (job.eq.1) -| of the matrix (bmat) or only the pattern. -| -| flag = integer to indicate whether the matrix has been filled -| 0 - no filled -| 1 - filled -| -| on return: -| ---------- -| (bmat) = the transpose of (mata) stored in SparRow format. -| -| integer value returned: -| 0 --> successful return. -| 1 --> memory allocation error. -|---------------------------------------------------------------------*/ - int i, j, *ind, pos, size=amat->n, *aja; - FLOAT *ama=NULL; - ind = (int *) Malloc(size*sizeof(int), "SparTran:1" ); - for (i=0; ipj[i]; - for (j=0; jnnzrow[i]; j++) - ind[aja[j]]++; - } -/*-------------------- allocate space */ - for (i=0; ipj[i] = (int *) Malloc(ind[i]*sizeof(int), "SparTran:2" ); - bmat->nnzrow[i] = ind[i]; - if (job == 1) { - bmat->pa[i] = (FLOAT *) Malloc(ind[i]*sizeof(FLOAT), "SparTran:3" ); - } - ind[i] = 0; - } - } -/*-------------------- now do the actual copying */ - for (i=0; ipj[i]; - if (job == 1) - ama = amat->pa[i]; - for (j=0; jnnzrow[i]; j++) { - pos = aja[j]; - bmat->pj[pos][ind[pos]] = i; - if (job == 1) - bmat->pa[pos][ind[pos]] = ama[j]; - ind[pos]++; - } - } - free(ind); - return 0; -} -/*-------------- end of SparTran --------------------------------------- -|---------------------------------------------------------------------*/ - -void swapj(int v[], int i, int j) -{ - int temp; - temp = v[i]; - v[i] = v[j]; - v[j] = temp; -} -void swapm(FLOAT v[], int i, int j) -{ - FLOAT temp; - temp = v[i]; - v[i] = v[j]; - v[j] = temp; -} - -void dswapm(double v[], int i, int j) -{ - double temp; - - temp = v[i]; - v[i] = v[j]; - v[j] = temp; -} - -int roscalC(csptr mata, double *diag, int nrm) -{ -/*--------------------------------------------------------------------- -| -| This routine scales each row of mata so that the norm is 1. -| -|---------------------------------------------------------------------- -| on entry: -| mata = the matrix (in SparRow form) -| nrm = type of norm -| 0 (\infty), 1 or 2 -| -| on return -| diag = diag[j] = 1/norm(row[j]) -| -| 0 --> normal return -| j --> row j is a zero row -|--------------------------------------------------------------------*/ -/* local variables */ - int i, k; - FLOAT *kr; - double scal; - - for (i=0; in; i++) { - scal = 0.0; - kr = mata->pa[i]; - if (nrm == 0) { - for (k=0; knnzrow[i]; k++) - if (ABS_VALUE(kr[k]) > fabs(scal)) scal = ABS_VALUE(kr[k]); - } - else if (nrm == 1) { - for (k=0; knnzrow[i]; k++) - scal += ABS_VALUE(kr[k]); - } - else { /* nrm = 2 */ - for (k=0; knnzrow[i]; k++) - scal += ABS_VALUE(kr[k]*kr[k]); - } - if (nrm == 2) scal = sqrt(scal); - if(ABS_VALUE(scal-DBL_EPSILON) <= DBL_EPSILON*ABS_VALUE(scal)){ - scal = 1.0; - /* YS. return i+1; */ - } - else - scal = 1.0 / scal; - diag[i] = scal; - for (k=0; knnzrow[i]; k++) - kr[k] = kr[k] * scal; - } - return 0; -} -/*---------------end of roscalC----------------------------------------- -----------------------------------------------------------------------*/ -int coscalC(csptr mata, double *diag, int nrm) -{ -/*--------------------------------------------------------------------- -| -| This routine scales each column of mata so that the norm is 1. -| -|---------------------------------------------------------------------- -| on entry: -| mata = the matrix (in SparRow form) -| nrm = type of norm -| 0 (\infty), 1 or 2 -| -| on return -| diag = diag[j] = 1/norm(row[j]) -| -| 0 --> normal return -| j --> column j is a zero column -|--------------------------------------------------------------------*/ -/* local variables */ - int i, j, k; - FLOAT *kr; - int *ki; - - for (i=0; in; i++) - diag[i] = 0.0; -/*--------------------------------------- -| compute the norm of each column -|--------------------------------------*/ - for (i=0; in; i++) { - kr = mata->pa[i]; - ki = mata->pj[i]; - if (nrm == 0) { - for (k=0; knnzrow[i]; k++) { - j = ki[k]; - if (ABS_VALUE(kr[k]) > diag[j]) diag[j] = ABS_VALUE(kr[k]); - } - } - else if (nrm == 1) { - for (k=0; knnzrow[i]; k++) - diag[ki[k]] += ABS_VALUE(kr[k]); - } - else { /* nrm = 2 */ - for (k=0; knnzrow[i]; k++) - diag[ki[k]] += ABS_VALUE(kr[k]*kr[k]); - } - } - if (nrm == 2) { - for (i=0; in; i++) - diag[i] = sqrt(diag[i]); - } -/*--------------------------------------- -| invert -|--------------------------------------*/ - for (i=0; in; i++) { - if(ABS_VALUE(diag[i]-DBL_EPSILON) <= DBL_EPSILON*ABS_VALUE(diag[i])) - /* return i+1;*/ - diag[i] = 1.0; - else - diag[i] = 1.0 / diag[i]; - } -/*--------------------------------------- -| C = A * D -|--------------------------------------*/ - for (i=0; in; i++) { - kr = mata->pa[i]; - ki = mata->pj[i]; - for (k=0; knnzrow[i]; k++) - kr[k] = kr[k] * diag[ki[k]]; - } - return 0; -} -/*---------------end of coscalC----------------------------------------- -----------------------------------------------------------------------*/ -void dscale(int n, double *dd, FLOAT *x, FLOAT * y) -{ -/* Computes y == DD * x */ -/* scales the vector x by the diagonal dd - output in y */ - int k; - - for (k=0; k= right) return; - if (abval) { - swapj(ja, left, (left+right)/2); - swapm(ma, left, (left+right)/2); - last = left; - for (i=left+1; i<=right; i++) { - if (ABS_VALUE(ma[i]) > ABS_VALUE(ma[left])) { - swapj(ja, ++last, i); - swapm(ma, last, i); - } - } - swapj(ja, left, last); - swapm(ma, left, last); - qsortC(ja, ma, left, last-1, abval); - qsortC(ja, ma, last+1, right, abval); - } - else { - swapj(ja, left, (left+right)/2); - swapm(ma, left, (left+right)/2); - last = left; - for (i=left+1; i<=right; i++) { - if (ABS_VALUE(ma[i]) > ABS_VALUE(ma[left])) { - swapj(ja, ++last, i); - swapm(ma, last, i); - } - } - swapj(ja, left, last); - swapm(ma, left, last); - qsortC(ja, ma, left, last-1, abval); - qsortC(ja, ma, last+1, right, abval); - } -} - -void printmat(FILE *ft, csptr A, int i0, int i1){ -/*-------------------------------------------------------------+ -| to dump rows i0 to i1 of matrix for debugging purposes | -|--------------------------------------------------------------*/ - int i, k, nzi; - int *row; - FLOAT *rowm; - for (i=i0; innzrow[i]; - row = A->pj[i]; - rowm = A->pa[i]; -#if defined(DBL_CMPLX) - for (k=0; k< nzi; k++){ - fprintf(ft," row %d a (%e, %e) ja %d \n", i+1, creal(rowm[k]), cimag(rowm[k]), row[k]+1); - } -#else - for (k=0; k< nzi; k++){ - fprintf(ft," row %d a %e ja %d \n", i+1, rowm[k], row[k]+1); - } -#endif - } -} - -void qsortR2I(double *wa, int *cor1, int *cor2, int left, int right){ -/*---------------------------------------------------------------------- -| -| qqsort: sort wa[left]...wa[right] into decreasing order -| from Kernighan & Ritchie -| -|---------------------------------------------------------------------*/ - int i, last; -/* - void swapj(int *, int, int); - void dswapm(double *, int, int); -*/ - if (left >= right) return; - - dswapm(wa, left, (left+right)/2); - swapj(cor1, left, (left+right)/2); - swapj(cor2, left, (left+right)/2); - last = left; - for (i=left+1; i<=right; i++) { - if (wa[i] > wa[left]) { - dswapm(wa, ++last, i); - swapj(cor1, last, i); - swapj(cor2, last, i); - } - } - dswapm(wa, left, last); - swapj(cor1, left, last); - swapj(cor2, left, last); - qsortR2I(wa, cor1, cor2, left, last-1); - qsortR2I(wa, cor1, cor2, last+1, right); -} - - -void qsort2C(int *ja, FLOAT *ma, int left, int right, int abval){ -/*---------------------------------------------------------------------- -| -| qqsort: sort ma[left]...ma[right] into increasing order -| from Kernighan & Ritchie -| -| ja holds the column indices -| abval = 1: consider absolute values -| 0: values -| -|---------------------------------------------------------------------*/ - int i, last; - if (left >= right) return; - if (abval) { - swapj(ja, left, (left+right)/2); - swapm(ma, left, (left+right)/2); - last = left; - for (i=left+1; i<=right; i++) { - if (ABS_VALUE(ma[i]) < ABS_VALUE(ma[left])) { - swapj(ja, ++last, i); - swapm(ma, last, i); - } - } - swapj(ja, left, last); - swapm(ma, left, last); - qsort2C(ja, ma, left, last-1, abval); - qsort2C(ja, ma, last+1, right, abval); - } - - else { - swapj(ja, left, (left+right)/2); - swapm(ma, left, (left+right)/2); - last = left; - for (i=left+1; i<=right; i++) { - if (ABS_VALUE(ma[i]) < ABS_VALUE(ma[left])) { - swapj(ja, ++last, i); - swapm(ma, last, i); - } - } - swapj(ja, left, last); - swapm(ma, left, last); - qsort2C(ja, ma, left, last-1, abval); - qsort2C(ja, ma, last+1, right, abval); - } -} - -void qqsort(int *ja, FLOAT *ma, int left, int right){ -/*---------------------------------------------------------------------- -| -| qqsort: sort ja[left]...ja[right] into increasing order -| from Kernighan & Ritchie -| -| ma holds the real values -| -|---------------------------------------------------------------------*/ - int i, last; - if (left >= right) return; - swapj(ja, left, (left+right)/2); - swapm(ma, left, (left+right)/2); - last = left; - for (i=left+1; i<=right; i++) { - if (ja[i] < ja[left]) { - swapj(ja, ++last, i); - swapm(ma, last, i); - } - } - swapj(ja, left, last); - swapm(ma, left, last); - qqsort(ja, ma, left, last-1); - qqsort(ja, ma, last+1, right); -} - -void hilosort(csptr mat, int abval, int hilo){ -/*---------------------------------------------------------------------- -| -| This routine sorts the entries in each row of a matrix from hi to low. -| -|----------------------------------------------------------------------- -| on entry: -|---------- -| (mat) = a matrix stored in SparRow format. -| -| abval = 1: use absolute values of entries -| 0: use values -| -| hilo = 1: sort in decreasing order -| 0: sort in increasing order -| -| -| on return: -| ---------- -| (mat) = (mat) where each row is sorted. -| -|---------------------------------------------------------------------*/ - int j, n=mat->n, *nnz=mat->nnzrow; -/* - void qsortC(int *, FLOAT *, int, int, int); - void qsort2C(int *, FLOAT *, int, int, int); -*/ - if (hilo) - for (j=0; jpj[j], mat->pa[j], 0, nnz[j]-1, abval); - - else - for (j=0; jpj[j], mat->pa[j], 0, nnz[j]-1, abval); - - return; -} -/*------- end of hilosort ---------------------------------------------- -|---------------------------------------------------------------------*/ - -void qsort3i(int *wa, int *cor1, int *cor2, int left, int right) -/*---------------------------------------------------------------------- -| -| qqsort: sort wa[left]...wa[right] into increasing order -| from Kernighan & Ritchie -| -|---------------------------------------------------------------------*/ -{ - int i, last; -/* - void swapj(int *, int, int); -*/ - if (left >= right) return; - - swapj(wa, left, (left+right)/2); - swapj(cor1, left, (left+right)/2); - swapj(cor2, left, (left+right)/2); - last = left; - for (i=left+1; i<=right; i++) { - if (wa[i] < wa[left]) { - swapj(wa, ++last, i); - swapj(cor1, last, i); - swapj(cor2, last, i); - } - } - swapj(wa, left, last); - swapj(cor1, left, last); - swapj(cor2, left, last); - qsort3i(wa, cor1, cor2, left, last-1); - qsort3i(wa, cor1, cor2, last+1, right); -} - diff --git a/lib/parms/src/DDPQ/piluNEW.c b/lib/parms/src/DDPQ/piluNEW.c deleted file mode 100755 index 36f219a58..000000000 --- a/lib/parms/src/DDPQ/piluNEW.c +++ /dev/null @@ -1,637 +0,0 @@ -#include -#include -#include -#if defined(C99) -#include -#else -#include -#endif -#include "protos.h" - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -int pilu(p4ptr amat, csptr B, csptr C, double *droptol, - int *lfil, csptr schur) -{ -/*---------------------------------------------------------------------- -| PARTIAL ILUT - -| Converted to C so that dynamic memory allocation may be implememted -| in order to have no dropping in block LU factors. -|---------------------------------------------------------------------- -| Partial block ILU factorization with dual truncation. -| -| | B F | | L 0 | | U L^{-1} F | -| | | = | | * | | -| | E C | | E U^{-1} I | | 0 S | -| -| where B is a sub-matrix of dimension B->n. -| -|---------------------------------------------------------------------- -| -| on entry: -|========== -| ( amat ) = Permuted matrix stored in a PerMat4 struct on entry -- -| Individual matrices stored in SparRow structs. -| On entry matrices have C (0) indexing. -| on return contains also L and U factors. -| Individual matrices stored in SparRow structs. -| On return matrices have C (0) indexing. -| -| lfil[0] = number nonzeros in L-part -| lfil[1] = number nonzeros in U-part -| lfil[2] = number nonzeros in L^{-1} F -| lfil[3] = not used -| lfil[4] = number nonzeros in Schur complement -| -| droptol[0] = threshold for dropping small terms in L during -| factorization. -| droptol[1] = threshold for dropping small terms in U. -| droptol[2] = threshold for dropping small terms in L^{-1} F during -| factorization. -| droptol[3] = threshold for dropping small terms in E U^{-1} during -| factorization. -| droptol[4] = threshold for dropping small terms in Schur complement -| after factorization is completed. -| -| On return: -|=========== -| -| (schur) = contains the Schur complement matrix (S in above diagram) -| stored in SparRow struct with C (0) indexing. -| -| -| integer value returned: -| -| 0 --> successful return. -| 1 --> Error. Input matrix may be wrong. (The -| elimination process has generated a -| row in L or U whose length is > n.) -| 2 --> Memory allocation error. -| 5 --> Illegal value for lfil or last. -| 6 --> zero row in B block encountered. -| 7 --> zero row in [E C] encountered. -| 8 --> zero row in new Schur complement -|----------------------------------------------------------------------- -| work arrays: -|============= -| jw, jwrev = integer work arrays of length B->n. -| w = real work array of length B->n. -| jw2, jwrev2 = integer work arrays of length C->n. -| w2 = real work array of length C->n. -|----------------------------------------------------------------------- -| All processing is done using C indexing. -|--------------------------------------------------------------------*/ - int i, ii, j, jj, jcol, jpos, jrow, k, *jw, *jwrev; - int **lfja, *lflen, len, len2, lenu, lenl, rmax; - int *jw2, *jwrev2, lsize, rsize; - int fil0=lfil[0],fil1=lfil[1],fil2=lfil[2],fil4=lfil[4]; - double tnorm, rnorm, tabs, tmax; - double drop0=droptol[0], drop1=droptol[1], drop2=droptol[2]; - double drop3=droptol[3], drop4=droptol[4]; - int lrowz, *lrowj, rrowz, *rrowj; - FLOAT *lrowm, *rrowm, t, s, fact, *w, *w2, **lfma; -#if defined(DBL_CMPLX) - double shf, ti, sgny; - int nnzB = 0; - -/*----------get nnz of amat ---------*/ - for(j = 0; jnB; j++) - nnzB += B->nnzrow[j]; -#endif -/*-----------------------------------------------------------------------*/ - - lsize = amat->nB; - rsize = C->n; - rmax = lsize > rsize ? lsize : rsize; - jw = (int *) Malloc(rmax*sizeof(int), "pilu:1" ); - w = (FLOAT *) Malloc(rmax*sizeof(FLOAT), "pilu:2" ); - jwrev = (int *) Malloc(rmax*sizeof(int), "pilu:3" ); - jw2 = (int *) Malloc(rmax*sizeof(int), "pilu:4" ); - w2 = (FLOAT *) Malloc(rmax*sizeof(FLOAT), "pilu:5" ); - jwrev2 = (int *) Malloc(rmax*sizeof(int), "pilu:6" ); - if (fil0 < 0 || fil1<0 || amat->L->n<=0) goto label9995; - lfma = (FLOAT **) Malloc(lsize*sizeof(FLOAT *), "pilu:7" ); - lfja = (int **) Malloc(lsize*sizeof(int *), "pilu:8" ); - lflen = (int *) Malloc(lsize*sizeof(int), "pilu:9" ); -/*--------------------------------------------------------------------- -| beginning of first main loop - L, U, L^{-1}F calculations -|--------------------------------------------------------------------*/ - for (j=0; jpj[ii]; - lrowm = B->pa[ii]; - lrowz = B->nnzrow[ii]; - rrowj = amat->F->pj[ii]; - rrowm = amat->F->pa[ii]; - rrowz = amat->F->nnzrow[ii]; -/*--------------------------------------------------------------------- -| check for zero row in B block -|--------------------------------------------------------------------*/ - for (k=0; k DBL_EPSILON) goto label41; - goto label9996; -/*--------------------------------------------------------------------- -| unpack B-block in arrays w, jw, jwrev -| WE ASSUME THERE IS A DIAGONAL ELEMENT -|--------------------------------------------------------------------*/ - label41: - lenu = 1; - lenl = 0; - w[ii] = 0.0; - jw[ii] = ii; - jwrev[ii] = ii; - rnorm = 0.0; - for (j=0; jU->pa[jrow]; - fact = w[jj] * lrowm[0]; - if (ABS_VALUE(fact) > drop0 ) { /* DROPPING IN L */ - lrowj = amat->U->pj[jrow]; - lrowz = amat->U->nnzrow[jrow]; - rrowj = lfja[jrow]; - rrowm = lfma[jrow]; - rrowz = lflen[jrow]; -/*--------------------------------------------------------------------- -| combine current row and row jrow -|--------------------------------------------------------------------*/ - for (k=1; k= ii) { -/*--------------------------------------------------------------------- -| this is a fill-in element -|--------------------------------------------------------------------*/ - if (jpos == -1) { - if (lenu > lsize) {printf("U row = %d\n",ii); - goto label9991;} - i = ii + lenu; - jw[i] = j; - jwrev[j] = i; - w[i] = - s; - lenu++; - } -/*--------------------------------------------------------------------- -| this is not a fill-in element -|--------------------------------------------------------------------*/ - else - w[jpos] -= s; - } -/*--------------------------------------------------------------------- -| dealing with L -|--------------------------------------------------------------------*/ - else { -/*--------------------------------------------------------------------- -| this is a fill-in element -|--------------------------------------------------------------------*/ - if (jpos == -1) { - if (lenl > lsize) {printf("L row = %d\n",ii); - goto label9991;} - jw[lenl] = j; - jwrev[j] = lenl; - w[lenl] = - s; - lenl++; - } -/*--------------------------------------------------------------------- -| this is not a fill-in element -|--------------------------------------------------------------------*/ - else - w[jpos] -= s; - } - } -/*--------------------------------------------------------------------- -| dealing with L^{-1} F -|--------------------------------------------------------------------*/ - for (k=0; k fil0 ? fil0 : len; - amat->L->nnzrow[ii] = lenl; - if (lenl < len) - qsplitCF(w, jw, len, lenl); - if (len > 0) { - amat->L->pj[ii] = (int *) Malloc(lenl*sizeof(int), "pilu:10" ); - amat->L->pa[ii] = (FLOAT *) Malloc(lenl*sizeof(FLOAT), "pilu:11" ); - memcpy(amat->L->pj[ii], jw, lenl*sizeof(int)); - memcpy(amat->L->pa[ii], w, lenl*sizeof(FLOAT)); - } -/*--------------------------------------------------------------------- -| store the diagonal element of U -| dropping in U if size is less than drop1 * diagonal entry -|--------------------------------------------------------------------*/ - t = w[ii]; - tnorm = ABS_VALUE(rnorm) > ABS_VALUE(t) ? ABS_VALUE(rnorm):ABS_VALUE(t); - len = 0; - for (j=1; j drop1*tnorm ) { - w[len] = w[ii+j]; - jw[len] = jw[ii+j]; - len++; - } - } - lenu = len+1 > fil1 ? fil1 : len+1; - amat->U->nnzrow[ii] = lenu; - jpos = lenu-1; - if (jpos < len) - qsplitCF(w, jw, len, jpos); - amat->U->pa[ii] = (FLOAT *) Malloc(lenu*sizeof(FLOAT), "pilu:12" ); - amat->U->pj[ii] = (int *) Malloc(lenu*sizeof(int), "pilu:13" ); - if(ABS_VALUE(t) <= DBL_EPSILON) t = rnorm; //(0.0001+drop1); - amat->U->pa[ii][0] = 1.0 / t; - amat->U->pj[ii][0] = ii; -/*--------------------------------------------------------------------- -| copy the rest of U -|--------------------------------------------------------------------*/ - memcpy(&amat->U->pj[ii][1], jw, jpos*sizeof(int)); - memcpy(&amat->U->pa[ii][1], w, jpos*sizeof(FLOAT)); -/*--------------------------------------------------------------------- -| copy L^{-1} F -|--------------------------------------------------------------------*/ - len = 0; - for (j=0; j drop2*tnorm ) { - w[len] = w2[j]; - jw[len] = jw2[j]; - len++; - } - } - lenu = len > fil2 ? fil2 : len; - if (lenu < len) - qsplitCF(w, jw, len, lenu); - lflen[ii] = lenu; - - if (lenu > 0) { - lfja[ii] = (int *) Malloc(lenu*sizeof(int), "pilu:14" ); - lfma[ii] = (FLOAT *) Malloc(lenu*sizeof(FLOAT), "pilu:15" ); - memcpy(lfma[ii], w, lenu*sizeof(FLOAT)); - memcpy(lfja[ii], jw, lenu*sizeof(int)); - } - } -/*--------------------------------------------------------------------- -| beginning of second main loop E U^{-1} and Schur complement -|--------------------------------------------------------------------*/ - for (ii=0; iiE->pj[ii]; - lrowm = amat->E->pa[ii]; - lrowz = amat->E->nnzrow[ii]; - rrowj = C->pj[ii]; - rrowm = C->pa[ii]; - rrowz = C->nnzrow[ii]; -/*--------------------------------------------------------------------- -| determine if there is a zero row in [ E C ] -|-------------------------------------------------------------------- - for (k=0; kU->pa[jrow]; - fact = w[jj] * lrowm[0]; - if ( ABS_VALUE(fact) > drop3 ) { /* DROPPING IN E U^{-1} */ - lrowj = amat->U->pj[jrow]; - lrowz = amat->U->nnzrow[jrow]; - rrowj = lfja[jrow]; - rrowm = lfma[jrow]; - rrowz = lflen[jrow]; -/*--------------------------------------------------------------------- -| combine current row and row jrow - first E U^{-1} -|--------------------------------------------------------------------*/ - for (k=1; k lsize) {printf(" E U^{-1} row = %d\n",ii); - goto label9991;} - jw[lenl] = j; - jwrev[j] = lenl; - w[lenl] = - s; - lenl++; - } -/*--------------------------------------------------------------------- -| this is not a fill-in element -|--------------------------------------------------------------------*/ - else - w[jpos] -= s; - } -/*--------------------------------------------------------------------- -| incorporate into Schur complement C - (E U^{-1}) (L^{-1} F) -|--------------------------------------------------------------------*/ - for (k=0; k tnorm) tnorm = ABS_VALUE(w2[j]); */ - if(ABS_VALUE(tnorm) <= DBL_EPSILON){ - len = 1; - w[0] = 1.0; - jw[0] = ii; - } - else { - len = 0; - /* tabs = drop4*tmax*(tmax/tnorm); */ - tabs = drop4*tmax*tmax/( tnorm * (double) lenu); - for (j=0; j tabs) { - w[len] = w2[j]; - jw[len] = jw2[j]; - len++; - } - } - } - lenu = len > fil4 ? fil4 : len; - schur->nnzrow[ii] = lenu; - jpos = lenu; - if (jpos < len) - qsplitCF(w, jw, len, jpos); - schur->pa[ii] = (FLOAT *) Malloc(lenu*sizeof(FLOAT), "pilu:16" ); - schur->pj[ii] = (int *) Malloc(lenu*sizeof(int), "pilu:17" ); -/*--------------------------------------------------------------------- -| copy --- -|--------------------------------------------------------------------*/ - memcpy(&schur->pj[ii][0], jw, jpos*sizeof(int)); - memcpy(&schur->pa[ii][0], w, jpos*sizeof(FLOAT)); - } -/*--------------------------------------------------------------------- -| end main loop - now do cleanup -|--------------------------------------------------------------------*/ - free(jw); - free(w); - free(jwrev); - free(jw2); - free(w2); - free(jwrev2); - for (i=0; i 0) { - free(lfma[i]); - free(lfja[i]); - } - } - free(lfma); - free(lfja); - free(lflen); -/*--------------------------------------------------------------------- -| done -- correct return -|--------------------------------------------------------------------*/ - return 0; -label9991: -/* Incomprehensible error. Matrix must be wrong. */ - return 1; -/* label9992: - Memory allocation error. - return 2; */ -label9995: -/* illegal value for lfil or last entered */ - return 5; -label9996: -/* zero row encountered */ -/* printf("row = %d\n",ii+1); */ - return 6; -} -/*--------------------------------------------------------------------- -| end of pilut -|--------------------------------------------------------------------*/ - diff --git a/lib/parms/src/DDPQ/protos.h b/lib/parms/src/DDPQ/protos.h deleted file mode 100755 index 507b240e7..000000000 --- a/lib/parms/src/DDPQ/protos.h +++ /dev/null @@ -1,133 +0,0 @@ -#ifndef __ITSOL_INCLUDED_PROTOS_H__ -#define __ITSOL_INCLUDED_PROTOS_H__ - -#include "globheads.h" - -#if defined(FORTRAN_CAPS) -#define qsplit QSPLIT -#define readmtc READMTC -#define csrcsc CSRCSC -#define roscal ROSCAL -#define coscal COSCAL -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define qsplit qsplit__ -#define readmtc readmtc__ -#define csrcsc csrcsc__ -#define roscal roscal__ -#define coscal coscal__ -#elif defined(FORTRAN_UNDERSCORE) -#define qsplit qsplit_ -#define readmtc readmtc_ -#define csrcsc csrcsc_ -#define roscal roscal_ -#define coscal coscal_ -#endif - -#ifndef min -#define min(a,b) (((a)>(b))?(b):(a)) -#endif -#ifndef max -#define max(a,b) (((a)>(b))?(a):(b)) -#endif - -/* sets */ -extern void errexit(char *f_str, ...); -extern void *Malloc(int nbytes, char *msg); -extern int setupP4 (p4ptr amat, int Bn, int Cn, csptr F, csptr E); -extern int cleanP4(p4ptr amat); -extern int setupILUT(ilutptr amat, int len); -extern int cleanILUT(ilutptr amat, int indic); -extern int setupCS(csptr amat, int len, int job); -extern int cleanCS(csptr amat); -extern int nnzCS(csptr amat); -extern int nnz_arms (arms PreSt); -extern int cs_nnz (csptr A) ; -extern int cscpy(csptr amat, csptr bmat); -extern int cleanILU( iluptr lu ); -extern int mallocRow( iluptr lu, int nrow ); -extern int CSRcs(int n, FLOAT *a, int *ja, int *ia, csptr mat, int rsa); -extern int lev4_nnz(p4ptr levmat, int *lev); -extern int setupILU( iluptr lu, int n ); -extern void setup_arms (arms Levmat); -extern int cleanARMS(arms ArmsPre); -extern int csSplit4(csptr amat, int bsize, int csize, csptr B, csptr F, - csptr E, csptr C); -/* MatOps */ -extern void matvec(csptr mata, FLOAT *x, FLOAT *y); -extern void matvecz(csptr mata, FLOAT *x, FLOAT *y, FLOAT *z); -extern void luinv(int n, FLOAT *a, FLOAT *x, FLOAT *y); -extern int lusolC( FLOAT *y, FLOAT *x, iluptr lu ); -extern int rpermC(csptr mat, int *perm); -extern int cpermC(csptr mat, int *perm) ; -extern int dpermC(csptr mat, int *perm) ; -extern int CSparTran(csptr amat, csptr bmat, CompressType *compress); -extern void invsp(int start, ilutptr ilusch, FLOAT *y, FLOAT *x); -extern int armsol2(FLOAT *x, arms Prec); -extern int ascend (p4ptr levmat, FLOAT *x, FLOAT *wk); -extern int descend(p4ptr levmat, FLOAT *x, FLOAT *wk); -extern p4ptr Lvsol2(FLOAT *x, int nlev, p4ptr levmat, ilutptr ilusch, - int flag); -extern int Uvsol2(FLOAT *x, int nlev, int n, p4ptr levmat, ilutptr - ilusch); -extern void SchLsol(ilutptr ilusch, FLOAT *y) ; -extern void SchUsol(ilutptr ilusch, FLOAT *y) ; -extern void Lsolp(int start, csptr mata, FLOAT *b, FLOAT *y); -extern void Usolp(int start, csptr mata, FLOAT *y, FLOAT *x); -extern int invGauss(int nn, FLOAT *A); -extern int invSVD(int nn, FLOAT *A) ; -extern void arms_Usol(csptr mata, FLOAT *b, FLOAT *x); -extern void arms_Lsol(csptr mata, FLOAT *b, FLOAT *x); -extern int condestArms(arms armspre, FLOAT *y, FILE *fp ); - -/* misc.c */ -extern int SparTran(csptr amat, csptr bmat, int job, int flag); -extern int coscalC(csptr mata, double *diag, int nrm); -extern void dscale(int n, double *dd, FLOAT *x, FLOAT * y); -extern void hilosort(csptr mat, int abval, int hilo); -extern void printmat(FILE *ft, csptr A, int i0, int i1); -extern void qqsort(int *ja, FLOAT *ma, int left, int right); -extern void qsort2C(int *ja, FLOAT *ma, int left, int right, int - abval); -extern void qsort3i(int *wa, int *cor1, int *cor2, int left, int - right); -extern void qsortC(int *ja, FLOAT *ma, int left, int right, int - abval); -extern void qsortR2I(double *wa, int *cor1, int *cor2, int left, int - right); -extern int qsplitCF(FLOAT *a, int *ind, int n, int ncut); -extern int roscalC(csptr mata, double *diag, int nrm); -extern void swapj(int v[], int i, int j); -extern void swapm(FLOAT v[], int i, int j); -extern void dswapm(double v[], int i, int j); - -/* piluNEW.c */ -extern int pilu(p4ptr amat, csptr B, csptr C, double *droptol, int - *lfil, csptr schur); - -/* ilutpC.c */ -extern int ilutD(csptr amat, double *droptol, int *lfil, ilutptr - ilusch); -extern int ilutpC(csptr amat, double *droptol, int *lfil, double - permtol, int mband, ilutptr ilusch); - -/* PQ.c */ -extern int PQperm(csptr mat, int *Pord, int *Qord, int - *nnod, double tol, int nbnd); -extern int preSel(csptr mat, int *icor, int *jcor, int job, double - tol, int *count, int nbnd); -extern int weightsC(csptr mat, double *w); -extern int add2com(int *nback, int nod, int *iord, int *riord); -extern int add2is(int *last, int nod, int *iord, int *riord); -extern int indsetC(csptr mat, int bsize, int *iord, int *nnod, double - tol,int nbnd); - -/* setblks.c */ -extern int KeyComp( const void *vfst, const void *vsnd ); -extern int init_blocks( csptr csmat, int *pnBlock, int **pnB, int - **pperm, double eps, double *t_hash, double - *t_angle ); - -/* systimer.c */ -extern double sys_timer(); - -#endif diff --git a/lib/parms/src/DDPQ/setblks.c b/lib/parms/src/DDPQ/setblks.c deleted file mode 100755 index f9bae1db6..000000000 --- a/lib/parms/src/DDPQ/setblks.c +++ /dev/null @@ -1,245 +0,0 @@ -#include -#include -#include "protos.h" - -typedef struct __KeyType -{ - int var; /* row number */ - int key; /* hash value */ -} KeyType; - -int KeyComp( const void *vfst, const void *vsnd ) -{ - KeyType *fst = (KeyType *)vfst, *snd = (KeyType *)vsnd; - if( fst->key == snd->key ) { - if( fst->var < snd->var ) - return -1; - return 1; - } - if( fst->key < snd->key ) - return -1; - return 1; -} - -int init_blocks( csptr csmat, int *pnBlock, int **pnB, int **pperm, - double eps, double *t_hash, double *t_angle ) -{ -/*---------------------------------------------------------------------------- - * Setup Blocks ( rows and columns might be permuted to get better results ) - *---------------------------------------------------------------------------- - * Na Li, Aug 2001 - *---------------------------------------------------------------------------- - * on entry: - * ========= - * csmat = a matrix stored in SparRow format - * eps = parameter for deciding when to do a union of two rows - * into the same group. Two rows u and v are merged into a - * block when cos() == (u,v)/(|u|*|v|), is > eps. - * eps should be <= 1. - *---------------------------------------------------------------------------- - * on return: - * ========== - * csmat = matrix stored in SparRow format after permutation - * pnBlock = dimension of the block matrix - * pnB = dimension of each block - * - *---------------------------------------------------------------------------- - * Combination of hash method and angle method: - *---------------------------------------------------------------------------- - * Designed for the matrices with symmetric patterns - * (1) Hash method - * a. Calculate hash values - * b. qsort rows according to their hash values - * c. Get compressed graph as the following format: - * (2) Angle method - * a. Calculate A^T - * b. for i-th row, calculate dot product (row_i, row_j) using A*A^T - * algorithm where j = i+1, ..., n-1 and group[j] == -1 - * if cos( ) = (row_i,row_j)/|row_i||row_j| is > eps, - * we merge row_i and row_j by resetting - * group[j] = i and size[i] = size[i]+size[j] - *--------------------------------------------------------------------------*/ - int n = csmat->n, nBlock = 0, i, j, k; - csptr at = NULL; - KeyType *group = NULL; - CompressType *compress = NULL; - int *perm = NULL, *nB = NULL; - int nnzrow0, nnzrow, key0, key, *ja0, *ja, row0, row, newblock; - int *iw = NULL, *jbuf = NULL; - int cnt, pos, nnz_i, row_j, col, bkcnt; - int nextBlockID, nextBlockPos, belongTo, grp; - double eps_2 = eps * eps, t1, t2; - - t1 = sys_timer(); /* begin Hash method timer */ - group = (KeyType *)Malloc( n*sizeof(KeyType), "init_blocks" ); - compress = (CompressType *)Malloc( n*sizeof(CompressType), "init_blocks" ); - perm = (int *)Malloc( n * sizeof(int), "init_blocks" ); - iw = perm; /* iw and perm array can share memory here because they will - * never be used at the same time */ - for( i = 0; i < n; i++ ) { - iw[i] = 0; - compress[i].grp = -1; - } -/*-------------------- compress matrix based on hash algorithm */ -/*-------------------- get hash value of each row */ - for( i = 0; i < n; i++ ) { - nnzrow = csmat->nnzrow[i]; - key = 0; - ja = csmat->pj[i]; - for( j = 0; j < nnzrow; j++ ) - key += ja[j]+1; - group[i].key = key; - group[i].var = i; - } -/*-------------------- sort rows -- uses function KeyComp */ - qsort( group, n, sizeof(KeyType), KeyComp ); - -/*-------------------- compress matrix */ - for( i = 0; i < n; i++ ) { - row0 = group[i].var; - if( compress[row0].grp != -1 ) continue; /* already assigned */ - key0 = group[i].key; - nnzrow0 = csmat->nnzrow[row0]; - ja0 = csmat->pj[row0]; -/*-------------------- beginning of new block. set .grp and .count */ - compress[row0].grp = -1; - compress[row0].count = 1; -/*-------------------- loop over all rows having same check-sum keys */ - for( j = i + 1; j < n; j++ ) { - key = group[j].key; - if( key != key0 ) break; - row = group[j].var; - if( compress[row].grp != -1 ) continue; /* already assigned */ - nnzrow = csmat->nnzrow[row]; - if( nnzrow != nnzrow0 ) continue; - ja = csmat->pj[row]; - newblock = 0; -/*-------------------- compare patterns of the rows */ - for( k = 0; k < nnzrow; k++ ) iw[ ja0[k] ] = 1; - for( k = 0; k < nnzrow; k++ ) { - if( iw[ ja[k] ] == 0 ) { - newblock = 1; - break; - } - } - for( k = 0; k < nnzrow; k++ ) iw[ ja0[k] ] = 0; /* reset iw */ -/*-------------------- row belongs to group row0 */ - if( !newblock ) { - compress[row].grp = row0; - compress[row0].count++; - } - } - } - t2 = sys_timer(); /* end Hash method timer */ - *t_hash = t2 - t1; - - t1 = sys_timer(); /* begin angle method timer */ - nB = (int *)Malloc( n * sizeof(int), "init_blocks" ); - jbuf = (int *)Malloc( n * sizeof(int), "init_blocks" ); - -/*-------------------- compress matrix based on angle algorithm */ -/*-------------------- calculate compressed A^T */ - at = (csptr)Malloc( sizeof(SparMat), "init_blocks" ); - setupCS( at, n, 0 ); - if( CSparTran( csmat, at, compress ) != 0 ) - return -1; - -/*---------------------------------------------------------------------------- - * only the row representing beginning of block satisfies: - * compress[row].grp = -1, so far. - * how many such rows is up to the compression rate of hash compression - * algorithm we did above - *--------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------- - * use group to backup original compressed matrix by Hash method. - * It is very important because the array 'compress' will be changed - * during Angle method. Or, we'll get incorrect inner product. - *--------------------------------------------------------------*/ - for( i = 0; i < n; i++ ) { - group[i].var = compress[i].grp; - group[i].key = compress[i].count; - } - - for( i = 0; i < n; i++ ) { - if( compress[i].grp != -1 ) continue; - nB[nBlock] = compress[i].count; /* !!! not 1 here */ - cnt = 0; -/*-------------------- calculate (u,v_j ), j = i+1,...,n, using product - *-------------------- algorithm of A * A_T */ - nnz_i = csmat->nnzrow[i]; - for( j = 0; j < nnz_i; j++ ) { - row_j = csmat->pj[i][j]; - if( group[row_j].var != -1 ) /* i.e. original compress[row_j].grp */ - continue; - bkcnt = group[row_j].key; /* i.e. original compress[row_j].count */ - for( k = at->nnzrow[row_j] - 1; k >= 0; k-- ) { - col = at->pj[row_j][k]; - if( col <= i ) break; - if( compress[col].grp != -1 ) continue; /* needed because compress - array is dynamically updated */ - if( iw[col] == 0 ) { /* new nonzero of (u,v_j) */ - jbuf[cnt] = col; - cnt++; - } - iw[col] += bkcnt; /* correct for matrix with symmetric pattern */ - } - } -/*-------------------- set group for row i and reset iw */ - for( j = 0; j < cnt; j++ ) { - pos = jbuf[j]; - if( iw[pos] * iw[pos] >= eps_2 * nnz_i * csmat->nnzrow[pos] ) { - compress[pos].grp = i; - nB[nBlock] += compress[pos].count; /* !!! not 1 here */ - } - iw[pos] = 0; /* reset iw */ - } - nBlock++; /* begin new block, add block count by 1 */ - } /* end loop i */ - -/*-------------------- free group */ - if( group ) { - /* no need group array any more */ - free( group ); - group = NULL; - } - - *pnBlock = nBlock; - *pnB = (int *)Malloc( nBlock * sizeof(int), "init_blocks" ); - for( i = 0; i < nBlock; i++ ) { - if( nB[i] > MAX_BLOCK_SIZE ) { - fprintf( stderr, "Block of size = %d exceeds MAX_BLOCK_SIZE\n", nB[i] ); - return -1; - } - (*pnB)[i] = nB[i]; - } - -/*-------------------- calculate permutation array - Array nB will - * be used to store next available position in each block */ - nextBlockID = 0; - nextBlockPos = 0; - for( i = 0; i < n; i++ ) { - if( compress[i].grp == -1 ) { - perm[i] = nextBlockPos; - nextBlockPos += (*pnB)[nextBlockID++]; - nB[i] = 1; - } else { - belongTo = compress[i].grp; - grp = compress[belongTo].grp; - if( grp != -1 ) /* should find the final beginning of block */ - belongTo = grp; - perm[i] = perm[belongTo] + nB[belongTo]; - nB[belongTo]++; - } - } - t2 = sys_timer(); /* end angle method timer */ - *t_angle = t2 - t1; - *pperm = perm; - - cleanCS( at ); - free( nB ); - free( jbuf ); - free( compress ); - - return 0; -} diff --git a/lib/parms/src/DDPQ/sets.c b/lib/parms/src/DDPQ/sets.c deleted file mode 100755 index 1ccf3adb3..000000000 --- a/lib/parms/src/DDPQ/sets.c +++ /dev/null @@ -1,811 +0,0 @@ -#include -#include -#include -#if defined(C99) -#include -#else -#include -#endif -#include "protos.h" - -void parms_errexit( char *f_str, ... ) -{ - va_list argp; - char out1[256], out2[512]; - - va_start(argp, f_str); - vsprintf(out1, f_str, argp); - va_end(argp); - - sprintf(out2, "Error! %s\n", out1); - - fprintf(stdout, "%s", out2); - fflush(stdout); - - exit( -1 ); -} - -void *Malloc( int nbytes, char *msg ) -{ - void *ptr; - - if (nbytes == 0) - return NULL; - - ptr = (void *)malloc(nbytes); - if (ptr == NULL) - parms_errexit( "Not enough mem for %s. Requested size: %d bytes", msg, nbytes ); - - return ptr; -} - -int setupCS(csptr amat, int len, int job) -{ -/*---------------------------------------------------------------------- -| Initialize SparRow structs. -|---------------------------------------------------------------------- -| on entry: -|========== -| ( amat ) = Pointer to a SparRow struct. -| len = size of matrix -| job = 0: pattern only -| 1: data and pattern -| -| On return: -|=========== -| -| amat->n -| ->*nnzrow -| ->**ja -| ->**ma -| -| integer value returned: -| 0 --> successful return. -| 1 --> memory allocation error. -|--------------------------------------------------------------------*/ - amat->n = len; - amat->nnzrow = (int *)Malloc( len*sizeof(int), "setupCS" ); - amat->pj = (int **) Malloc( len*sizeof(int *), "setupCS" ); - if( job == 1 ) - amat->pa = (FLOAT **) Malloc( len*sizeof(FLOAT *), "setupCS" ); - else - amat->pa = NULL; - return 0; -} -/*--------------------------------------------------------------------- -| end of setupCS -|--------------------------------------------------------------------*/ - -int cleanCS(csptr amat) -{ -/*---------------------------------------------------------------------- -| Free up memory allocated for SparRow structs. -|---------------------------------------------------------------------- -| on entry: -|========== -| ( amat ) = Pointer to a SparRow struct. -|--------------------------------------------------------------------*/ - /* */ - int i; - if (amat == NULL) return 0; - if (amat->n < 1) return 0; - - for (i=0; in; i++) { - if (amat->nnzrow[i] > 0) { - if( amat->pa ) free(amat->pa[i]); - free(amat->pj[i]); - } - } - if (amat->pa) free(amat->pa); - free(amat->pj); - free(amat->nnzrow); - free(amat); - return 0; -} -/*--------------------------------------------------------------------- -| end of cleanCS -|--------------------------------------------------------------------*/ - -int nnzCS( csptr amat ) -{ - int nnz = 0, i, n = amat->n; - for( i = 0; i < n; i++ ) { - nnz += amat->nnzrow[i]; - } - return nnz; -} - -int cscpy(csptr amat, csptr bmat){ -/*---------------------------------------------------------------------- -| Convert CSR matrix to SparRow struct -|---------------------------------------------------------------------- -| on entry: -|========== -| ( amat ) = Matrix stored in SparRow format -| -| -| On return: -|=========== -| -| ( bmat ) = Matrix stored as SparRow struct containing a copy -| of amat -| -| integer value returned: -| 0 --> successful return. -| 1 --> memory allocation error. -|--------------------------------------------------------------------*/ - int j, len, size=amat->n; - FLOAT *bma; - int *bja; -/*------------------------------------------------------------*/ - for (j=0; jnnzrow[j] = amat->nnzrow[j]; - if (len > 0) { - bja = (int *) Malloc(len*sizeof(int), "cscpy:1" ); - bma = (FLOAT *) Malloc(len*sizeof(FLOAT), "cscpy:2" ); - memcpy(bja,amat->pj[j],len*sizeof(int)); - memcpy(bma,amat->pa[j],len*sizeof(FLOAT)); - bmat->pj[j] = bja; - bmat->pa[j] = bma; - } - } - return 0; -} -/*-----------------------------------------------------------------------*/ - -int setupILU( iluptr lu, int n ) -{ -/*---------------------------------------------------------------------- -| Initialize ILUSpar structs. -|---------------------------------------------------------------------- -| on entry: -|========== -| ( lu ) = Pointer to a ILUSpar struct. -| n = size of matrix -| -| On return: -|=========== -| -| lu->n -| ->L L matrix, SparRow format -| ->D Diagonals -| ->U U matrix, SparRow format -| ->work working buffer of length n -| ->bf buffer -| -| integer value returned: -| 0 --> successful return. -| -1 --> memory allocation error. -|--------------------------------------------------------------------*/ - lu->n = n; - lu->D = (FLOAT *)Malloc( sizeof(FLOAT) * n, "setupILU" ); - lu->L = (csptr)Malloc( sizeof(SparMat), "setupILU" ); - setupCS( lu->L, n, 1 ); - lu->U = (csptr)Malloc( sizeof(SparMat), "setupILU" ); - setupCS( lu->U, n, 1 ); - lu->work = (int *)Malloc( sizeof(int) * n, "setupILU" ); - return 0; -} -/*--------------------------------------------------------------------- -| end of setupILU -|--------------------------------------------------------------------*/ - - -int cleanILU( iluptr lu ) -{ -/*---------------------------------------------------------------------- -| Free up memory allocated for ILUSpar structs. -|---------------------------------------------------------------------- -| on entry: -|========== -| ( lu ) = Pointer to a ILUSpar struct. -|--------------------------------------------------------------------*/ - if( NULL == lu ) return 0; - if( lu->D ) { - free( lu->D ); - } - cleanCS( lu->L ); - cleanCS( lu->U ); - if( lu->work ) free( lu->work ); - free( lu ); - return 0; -} -/*--------------------------------------------------------------------- -| end of cleanILU -|--------------------------------------------------------------------*/ - -int mallocRow( iluptr lu, int nrow ) -{ -/*---------------------------------------------------------------------- -| Prepare space of a row according to the result of level structure -|---------------------------------------------------------------------- -| on entry: -|========== -| ( lu ) = Pointer to a ILUSpar struct. -| nrow = the current row to deal with -| -| On return: -|=========== -| -| lu->L->pa[nrow][...] -| ->U->pa[nrow][...] -| -| integer value returned: -| 0 --> successful return. -| -1 --> memory allocation error. -|--------------------------------------------------------------------*/ - int nnzrow = lu->L->nnzrow[nrow]; - lu->L->pa[nrow] = (FLOAT *)Malloc( sizeof(FLOAT)*nnzrow, "mallocRow" ); - nnzrow = lu->U->nnzrow[nrow]; - lu->U->pa[nrow] = (FLOAT *)Malloc( sizeof(FLOAT)*nnzrow, "mallocRow" ); - return 0; -} -/*--------------------------------------------------------------------- -| end of mallocRow -|--------------------------------------------------------------------*/ - -int setupP4 (p4ptr amat, int Bn, int Cn, csptr F, csptr E) -{ -/*---------------------------------------------------------------------- -| initialize PerMat4 struct given the F, E, blocks. -|---------------------------------------------------------------------- -| on entry: -|========== -| ( amat ) = Pointer to a PerMat4 struct. -| Bn = size of B block -| Cn = size of C block -| F, E = the two blocks to be assigned to srtruct - without the -| -| On return: -|=========== -| -| amat->L for each block: amat->M->n -| ->U ->nnzrow -| ->E ->pj -| ->F ->pa -| ->perm -| ->rperm (if meth[1] > 0) -| ->D1 (if meth[2] > 0) -| ->D2 (if meth[3] > 0) -| -| Scaling arrays are initialized to 1.0. -| -| integer value returned: -| 0 --> successful return. -| 1 --> memory allocation error. -|--------------------------------------------------------------------*/ - int n; - /* size n */ - n = amat->n = Bn + Cn; - amat->nB = Bn; -/* amat->perm = (int *) Malloc(n*sizeof(int), "setupP4:1" ); */ -/* assign space for wk -- note that this is only done at 1st level - at other levels, copy pointer of wk from previous level */ - if (amat->prev == NULL) /* wk has 2 * n entries now */ - amat->wk = (FLOAT *) Malloc(2*n*sizeof(FLOAT), "setupP4:2" ); - else - amat->wk = (amat->prev)->wk; - -/*-------------------- L and U */ - amat->L = (csptr) Malloc(sizeof(SparMat), "setupP4:3" ); - if (setupCS(amat->L, Bn,1)) return 1; - /* fprintf(stdout," -- BN %d Cn %d \n", Bn,Cn); */ - amat->U = (csptr) Malloc(sizeof(SparMat), "setupP4:4" ); - if (setupCS(amat->U, Bn,1)) return 1; - - amat->F = F; - amat->E = E; - return 0; -} -/*--------------------------------------------------------------------- -| end of setupP4 -|--------------------------------------------------------------------*/ - -int cleanP4(p4ptr amat) -{ -/*---------------------------------------------------------------------- -| Free up memory allocated for Per4Mat structs. -|---------------------------------------------------------------------- -| on entry: -|========== -| ( amat ) = Pointer to a Per4Mat struct. -|--------------------------------------------------------------------*/ - -/* -------------------------- */ - if (amat == NULL) return 0; - if (amat->n < 1) return 0; - - - if (amat->perm) { - free(amat->perm); - amat->perm = NULL; - } - - if (!amat->symperm) { - if (amat->rperm) free(amat->rperm); - amat->rperm = NULL; - } - - if (amat->F) { - cleanCS(amat->F); - amat->F = NULL; - } - if (amat->E) { - cleanCS(amat->E); - amat->E = NULL; - } - if (amat->L) { - cleanCS(amat->L); - amat->L = NULL; - } - if (amat->U) { - cleanCS(amat->U); - amat->U = NULL; - } - - if (amat->prev == NULL) - if (amat->wk) free(amat->wk); - - if (amat->D1) free(amat->D1); - if (amat->D2) free(amat->D2); - return 0; -} -/*--------------------------------------------------------------------- -| end of cleanP4 -|--------------------------------------------------------------------*/ - - -int setupILUT(ilutptr amat, int len) -{ -/*---------------------------------------------------------------------- -| Allocate pointers for ILUTfac structs. -|---------------------------------------------------------------------- -| on entry: -|========== -| ( amat ) = Pointer to a ILUTfac struct. -| len = size of L U blocks -| -| On return: -|=========== -| -| amat->L for each block: amat->M->n -| ->U ->nnzrow -| ->pj -| ->pa -| ->rperm (if meth[0] > 0) -| ->perm2 (if meth[1] > 0) -| ->D1 (if meth[2] > 0) -| ->D2 (if meth[3] > 0) -| -| Permutation arrays are initialized to the identity. -| Scaling arrays are initialized to 1.0. -| -| integer value returned: -| 0 --> successful return. -| 1 --> memory allocation error. -|--------------------------------------------------------------------*/ - amat->n = len; - amat->wk = (FLOAT *) Malloc(2*len*sizeof(FLOAT), "setupILUT:5" ); - amat->L = (csptr) Malloc(sizeof(SparMat), "setupILUT:6" ); - if (setupCS(amat->L, len,1)) return 1; - amat->U = (csptr) Malloc(sizeof(SparMat), "setupILUT:7" ); - if (setupCS(amat->U, len,1)) return 1; - return 0; -} -/*--------------------------------------------------------------------- -| end of setupILUT -|--------------------------------------------------------------------*/ -int cleanILUT(ilutptr amat, int indic) -{ -/*---------------------------------------------------------------------- -| Free up memory allocated for IluSpar structs. -|---------------------------------------------------------------------- -| on entry: -|========== -| ( amat ) = Pointer to a IluSpar struct. -| indic = indicator for number of levels. indic=0 -> zero level. -|--------------------------------------------------------------------*/ - /*----------------*/ - - if (amat->wk) { - free(amat->wk); - amat->wk = NULL; - } - cleanCS(amat->L); - cleanCS(amat->U); - - if (indic) cleanCS(amat->C); -/*-------------------- nonsymmetric permutation */ - if (amat->rperm) { - free(amat->rperm); - amat->rperm = NULL; - } - if (amat->perm) { - free(amat->perm); - amat->perm = NULL; - } - -/*-------------------- ilutp permutation */ - if (amat->perm2) free(amat->perm2); -/*-------------------- diagonal scalings */ - if (amat->D1) free(amat->D1); - if (amat->D2) free(amat->D2); - return 0; -} -/*--------------------------------------------------------------------- -| end of cleanILUT -|--------------------------------------------------------------------*/ - - -void setup_arms (arms Levmat) -{ - Levmat->ilus = (ilutptr) Malloc(sizeof(IluSpar), "setup_arms:ilus" ); - Levmat->levmat = (p4ptr) Malloc(sizeof(Per4Mat), "setup_arms:levmat" ); -} -int cleanARMS(arms ArmsPre) -{ - p4ptr amat = ArmsPre->levmat; - ilutptr cmat = ArmsPre->ilus; -/*---------------------------------------------------------------------- -| Free up memory allocated for entire ARMS preconditioner. -|---------------------------------------------------------------------- -| on entry: -|========== -| ( amat ) = Pointer to a Per4Mat struct. -| ( cmat ) = Pointer to a IluSpar struct. -|--------------------------------------------------------------------*/ -/* case when nlev == 0 */ - int indic=(amat->nB != 0) ; - /* && amat->next !=NULL) ; */ - - p4ptr levc, levn; -/* - int cleanCS(csptr); - int cleanP4(p4ptr); - int cleanILUT(ilutptr, int); -*/ - levc = amat; - - if (indic) { - while (levc) { - if (cleanP4(levc)) return(1) ; - levn = levc->next; - free(levc); - levc = levn; - } - } - else - if (amat) { - free(amat) ; - amat = NULL; - } - - cleanILUT(cmat,indic); - - - if (cmat) { - free(cmat); - cmat = NULL; - } - - return 0; -} -/*--------------------------------------------------------------------- -| end of cleanARMS -|--------------------------------------------------------------------*/ - - -int csSplit4(csptr amat, int bsize, int csize, csptr B, csptr F, - csptr E, csptr C) -{ -/*--------------------------------------------------------------------- -| Convert permuted csrmat struct to PerMat4 struct -| - matrix already permuted -|---------------------------------------------------------------------- -| on entry: -|========== -| ( amat ) = Matrix stored in SparRow format. -| Internal pointers (and associated memory) destroyed before -| return. -| -| On return: -|=========== -| -| B, E, F, C = 4 blocks in -| -| | B F | -| Amat = | | -| | E C | -| -| -| integer value returned: -| 0 --> successful return. -| 1 --> memory allocation error. -|--------------------------------------------------------------------*/ - int j, j1, numr, numl, ind, newj, rowz, *rowj, *new1j, *new2j; - FLOAT *rowm, *new1m, *new2m; -/*--------------------------------------------------------------------- -| Sort the matrix and separate into | B F | -| | | -| | E C | -|--------------------------------------------------------------------*/ - if (setupCS(B,bsize,1)) goto label111; - if (setupCS(F,bsize,1)) goto label111; - if (setupCS(E,csize,1)) goto label111; - if (setupCS(C,csize,1)) goto label111; - new1j = (int *) Malloc(bsize*sizeof(int), "csSplit4:1" ); - new2j = (int *) Malloc(csize*sizeof(int), "csSplit4:2" ); - new1m = (FLOAT *) Malloc(bsize*sizeof(FLOAT), "csSplit4:3" ); - new2m = (FLOAT *) Malloc(csize*sizeof(FLOAT), "csSplit4:4" ); -/* B and F blocks */ - for (j=0; jnnzrow[j]; - rowj = amat->pj[j]; - rowm = amat->pa[j]; - for (j1=0; j1nnzrow[j] = numl; - F->nnzrow[j] = numr; - if (numl>0) { - B->pj[j] = (int *) Malloc(numl*sizeof(int), "csSplit4:5" ); - B->pa[j] = (FLOAT *) Malloc(numl*sizeof(FLOAT), "csSplit4:6" ); - } - if (numr>0) { - F->pj[j] = (int *) Malloc(numr*sizeof(int), "csSplit4:7" ); - F->pa[j] = (FLOAT *) Malloc(numr*sizeof(FLOAT), "csSplit4:8" ); - } - numl = numr = 0; - for (j1=0; j1pj[j], new1j, numl*sizeof(int)); - memcpy(B->pa[j], new1m, numl*sizeof(FLOAT)); - memcpy(F->pj[j], new2j, numr*sizeof(int)); - memcpy(F->pa[j], new2m, numr*sizeof(FLOAT)); - } -/* E and C blocks */ - for (j=0; jnnzrow[ind]; - rowj = amat->pj[ind]; - rowm = amat->pa[ind]; - for (j1=0; j1nnzrow[j] = numl; - C->nnzrow[j] = numr; - if (numl>0) { - E->pj[j] = (int *) Malloc(numl*sizeof(int), "csSplit4:9" ); - E->pa[j] = (FLOAT *) Malloc(numl*sizeof(FLOAT), "csSplit4:10" ); - } - if (numr>0) { - C->pj[j] = (int *) Malloc(numr*sizeof(int), "csSplit4:11" ); - C->pa[j] = (FLOAT *) Malloc(numr*sizeof(FLOAT), "csSplit4:12" ); - } - numl = numr = 0; - for (j1=0; j1pj[j], new1j, numl*sizeof(int)); - memcpy(E->pa[j], new1m, numl*sizeof(FLOAT)); - memcpy(C->pj[j], new2j, numr*sizeof(int)); - memcpy(C->pa[j], new2m, numr*sizeof(FLOAT)); - } - - if (new1j) free(new1j); - if (new2j) free(new2j); - if (new1m) free(new1m); - if (new2m) free(new2m); - return 0; -label111: - return 1; -} -/*--------------------------------------------------------------------- -| end of csSplit4 -|--------------------------------------------------------------------*/ - -int CSRcs( int n, FLOAT *a, int *ja, int *ia, csptr mat, int rsa ) -{ -/*---------------------------------------------------------------------- -| Convert CSR matrix to SparRow struct -|---------------------------------------------------------------------- -| on entry: -|========== -| a, ja, ia = Matrix stored in CSR format (with FORTRAN indexing). -| rsa = source file is symmetric HB matrix -| -| On return: -|=========== -| -| ( mat ) = Matrix stored as SparRow struct. -| -| integer value returned: -| 0 --> successful return. -| 1 --> memory allocation error. -|--------------------------------------------------------------------*/ - int i, j, j1, len, col, nnz; - FLOAT *bra; - int *bja; - /* setup data structure for mat (csptr) struct */ - setupCS( mat, n, 1 ); - - if( rsa ) { /* RSA HB matrix */ - for( j = 0; j < n; j++ ) { - len = ia[j+1] - ia[j]; - mat->nnzrow[j] = len; - } - for( j = 0; j < n; j++ ) { - for( j1 = ia[j]-1; j1 < ia[j+1]-1; j1++ ) { - col = ja[j1] - 1; - if( col != j ) mat->nnzrow[col]++; - } - } - for( j = 0; j < n; j++ ) { - nnz = mat->nnzrow[j]; - mat->pj[j] = (int *)Malloc( nnz * sizeof(int), "CSRcs" ); - mat->pa[j] = (FLOAT *)Malloc( nnz * sizeof(FLOAT), "CSRcs" ); - mat->nnzrow[j] = 0; - } - for( j = 0; j < n; j++ ) { - for( j1 = ia[j]-1; j1 < ia[j+1]-1; j1++ ) { - col = ja[j1] - 1; - mat->pj[j][mat->nnzrow[j]] = col; - mat->pa[j][mat->nnzrow[j]] = a[j1]; - mat->nnzrow[j]++; - if( col != j ) { - mat->pj[col][mat->nnzrow[col]] = j; - mat->pa[col][mat->nnzrow[col]] = a[j1]; - mat->nnzrow[col]++; - } - } - } - return 0; - } - for (j=0; jnnzrow[j] = len; - if (len > 0) { - bja = (int *) Malloc( len*sizeof(int), "CSRcs" ); - bra = (FLOAT *) Malloc( len*sizeof(FLOAT), "CSRcs" ); - i = 0; - for (j1=ia[j]-1; j1pj[j] = bja; - mat->pa[j] = bra; - } - } - return 0; -} -/*--------------------------------------------------------------------- -| end of CSRcs -|--------------------------------------------------------------------*/ - -/* -int nnz_ilu( iluptr lu ) -{ - int nnz = 0, i; - for( i = 0; i < lu->n; i++ ) { - nnz += lu->L->nnzrow[i]; - nnz += lu->U->nnzrow[i]; - nnz++; - } - return nnz; -} -*/ - -int lev4_nnz(p4ptr levmat, int *lev) -{ - /* counts all nonzero elements in levmat struct -- - recursive */ - int nnzT, nnzL, nnzU, nnzF, nnzE, nnzDown=0; - p4ptr nextmat; - nnzL = cs_nnz(levmat->L); - nnzU = cs_nnz(levmat->U); - nnzF = cs_nnz(levmat->F); - nnzE = cs_nnz(levmat->E); - nnzT = nnzL+nnzU+nnzF+nnzE; - /* print */ -#if 0 - if (*lev == 0) - fprintf(ft, - "\nnnz/lev used: L U F E subtot\n"); - fprintf(ft," Level %2d %8d %8d %8d %8d %8d\n", - *lev, nnzL, nnzU, nnzF, nnzE, nnzT); -#endif - (*lev)++; - nextmat = levmat->next; - if (nextmat != NULL) - nnzDown = lev4_nnz(nextmat, lev); - return (nnzT+nnzDown); -} - -int cs_nnz (csptr A) -{ - /* counts the number of nonzero elements in CSR matrix A */ - int i, n, nnz=0; - n = A->n; - for (i=0; innzrow[i]; - return nnz; - } - -int nnz_arms (arms PreSt) -{ -/*------------------------------------------------------- -| computes and prints out total number of nonzero elements -| used in ARMS factorization -+--------------------------------------------------------*/ - p4ptr levmat = PreSt->levmat; - ilutptr ilschu = PreSt->ilus; - int nlev = PreSt->nlev; - int ilev=0,nnz_lev,nnz_sch,nnz_tot; - nnz_lev = 0; - if (nlev) nnz_lev+= lev4_nnz(levmat, &ilev); - nnz_sch = cs_nnz(ilschu->L)+cs_nnz(ilschu->U); - if (nlev) nnz_sch += cs_nnz(ilschu->C); - nnz_tot = nnz_lev+nnz_sch; -#if 0 - fprintf(ft,"\n"); - fprintf(ft,"Total nonzeros for interm. blocks.... = %10d\n",nnz_lev); - fprintf(ft,"Total nonzeros for last level ....... = %10d\n",nnz_sch); - fprintf(ft,"Grand total.......................... = %10d\n",nnz_tot); -#endif - return nnz_tot; -} - -/*---------------------------------------------------------------------- -| Output the pattern of L\U, which can be loaded by matlab -----------------------------------------------------------------------*/ -/* -int outputLU( iluptr lu, char *filename ) -{ - FILE *fmatlab = fopen( filename, "w" ); - int n = lu->n, i, j, nnzrow; - csptr L = lu->L, U = lu->U; - - if( !fmatlab ) return -1; - fprintf( fmatlab, "%d %d 0\n", n, n ); - for( i = 0; i < n; i++ ) { - nnzrow = L->nnzrow[i]; - for( j = 0; j < nnzrow; j++ ) - fprintf( fmatlab, "%d %d 1\n", i+1, L->pj[i][j]+1 ); - } - for( i = 0; i < n; i++ ) { - nnzrow = U->nnzrow[i]; - for( j = 0; j < nnzrow; j++ ) - fprintf( fmatlab, "%d %d 1\n", i+1, U->pj[i][j]+1 ); - } - for( i = 0; i < n; i++ ) - fprintf( fmatlab, "%d %d 1\n", i+1, i+1 ); - fclose( fmatlab ); - return 0; -} -*/ - diff --git a/lib/parms/src/DDPQ/svdInvC.c b/lib/parms/src/DDPQ/svdInvC.c deleted file mode 100755 index 3b6d9fb85..000000000 --- a/lib/parms/src/DDPQ/svdInvC.c +++ /dev/null @@ -1,125 +0,0 @@ -#include -#include -#include -#include "protos.h" - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -#define TOL 1.e-17 -#define max_abs(a,b) ((ABS_VALUE(a)>ABS_VALUE(b))?(a):(b)) - -int invGauss(int nn, FLOAT *A) -{ - /* *-------------------- inversion by svd - This calls lapack routines for inverting a dense matrix. - dgetrf and dgetri - - ON ENTRY - ** A = square matrix of size n x n -- dimensioned with - ** leading dimension = n - - ON RETURN A contains the inverse of the input matrix. - */ - int lWk, info; - - FLOAT *Wk; - int *ipiv; - - lWk = 10*nn; - - /*-------------------- trivial case nn = 1 */ - if (nn == 1) { - if(ABS_VALUE(A[0]-DBL_EPSILON) <= DBL_EPSILON*ABS_VALUE(A[0])) - return 1; - else { - A[0] = 1.0 / A[0]; - return 0; - } - } - /*-------------------- general case */ - - Wk = (FLOAT *) malloc(lWk*sizeof(FLOAT)); - ipiv = (int *) malloc(nn*sizeof(int)); - if (Wk == NULL || ipiv == NULL) - return -1; - /*-------------------- get LU factorization with pivoting */ - GGETRF (nn, nn,A, nn, ipiv, info); - - if (info !=0 ) return info; - /*-------------------- compute inverse ---- */ - GGETRI (nn, A, nn, ipiv, Wk, lWk, info); - - free(Wk); - free(ipiv); - return info; -} - -int invSVD(int nn, FLOAT *A) -{ - /* *-------------------- inversion by svd - This calls lapack routine dgesvd -- - ON ENTRY - ** A = square matrix of size n x n -- dimensioned with - ** leading dimension = n - ON RETURN A contains the truncated SVD inverse of input matrix. - ** tolerance set for truncation is TOL and can be changed in - ** above define statement - **-------------------- - */ - int lWk, i, info; - - double *S, *Rwk; - FLOAT *U, *VT, *Wk; - REAL nrm; - FLOAT tmp, one=1.0, zero=0.0; - - double tol=TOL; - - lWk = 5*nn; - - U = (FLOAT *) malloc(nn*nn*sizeof(FLOAT)); - VT = (FLOAT *) malloc(nn*nn*sizeof(FLOAT)); - S = (double *) malloc(nn*sizeof(double)); - Rwk = (double *) malloc(5*nn*sizeof(double)); - Wk = (FLOAT *) malloc(lWk*sizeof(FLOAT)); - - if (U == NULL || VT == NULL || S == NULL || Wk == NULL) - return -1; - /*-------------------- trivial case nn = 1 */ - if (nn == 1) { - if(ABS_VALUE(A[0]-DBL_EPSILON) <= DBL_EPSILON*ABS_VALUE(A[0])) - return 1; - else { - A[0] = one / A[0]; - return 0; - } - } - /*-------------------- general case */ -#if defined(DBL_CMPLX) - zgesvd_ ("A","A", &nn, &nn, A, &nn, S, U, &nn, VT, &nn, Wk, &lWk, - Rwk, &info) ; -#else - dgesvd_ ("A","A", &nn, &nn, A, &nn, S, U, &nn, VT, &nn, Wk, &lWk, - &info) ; -#endif - - if(ABS_VALUE(S[0]-DBL_EPSILON) <= DBL_EPSILON*ABS_VALUE(S[0])) - return 1; - - nrm = S[0]*tol; - /*-------------------- compute S\inv * VT */ - for (i=0; i -#include - -/* Missing sys_timer for shared libraries */ -double sys_timer() { - clock_t t; - t = clock(); - return ((double)t) / CLOCKS_PER_SEC; -} diff --git a/lib/parms/src/FORTRAN/README b/lib/parms/src/FORTRAN/README deleted file mode 100755 index b13258a5a..000000000 --- a/lib/parms/src/FORTRAN/README +++ /dev/null @@ -1,25 +0,0 @@ -This directory contains fortran interfaces to the pARMS functions. -Any characters used in the FORTRAN source code will be changed to all -lowercase in object files for all architectures but Cray. So, the -interface functions to FORTRAN must be all lowercase (or all uppercase -for Cray). - -NOTE: - -The following functions: -parms_mapcreatefromlocal_ -parms_mapcreatefromglobal_ -parms_mapcreatefromptr_ -parms_mapcreatefromdist_ -parms_mapcreatefrompetsc_ - -all have an MPI_Comm argument as part of their argument list. In fortran, this -argument is not used. It is merely included to make the call consistent with the -calling function in C. The default communicator used in this case is the -MPI_COMM_WORLD communicator. This is to bypass a glitch in passing the MPI -communicator from a fortran environment, to a C environment. Hence the fortran -user will have no choice but to have the map object defined over the entire domain. - -In C however, a different communicator may be used without any compatibility issues. - - diff --git a/lib/parms/src/FORTRAN/parms_mapf.c b/lib/parms/src/FORTRAN/parms_mapf.c deleted file mode 100755 index 7c09d2229..000000000 --- a/lib/parms/src/FORTRAN/parms_mapf.c +++ /dev/null @@ -1,114 +0,0 @@ -#include "parms_map.h" - -#if defined(FORTRAN_CAPS) -#define parms_mapcreatefromlocal_ PARMS_MAPCREATEFROMLOCAL -#define parms_mapcreatefromglobal_ PARMS_MAPCREATEFROMGLOBAL -#define parms_mapcreatefromdist_ PARMS_MAPCREATEFROMDIST -#define parms_mapcreatefrompetsc_ PARMS_MAPCREATEFROMPETSC -#define parms_mapcreatefromptr_ PARMS_MAPCREATEFROMPTR -#define parms_mapfree_ PARMS_MAPFREE -#define parms_mapgetglobalsize_ PARMS_MAPGETGLOBALSIZE -#define parms_mapgetlocalsize_ PARMS_MAPGETLOCALSIZE -#define parms_mapgetnumprocs_ PARMS_MAPGETNUMPROCS -#define parms_mapgetpid_ PARMS_MAPGETPID -#define parms_mapview_ PARMS_MAPVIEW -#define parms_mapgetglobalindices_ PARMS_MAPGETGLOBALINDICES_ -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define parms_mapcreatefromlocal_ parms_mapcreatefromlocal__ -#define parms_mapcreatefromglobal_ parms_mapcreatefromglobal__ -#define parms_mapcreatefromdist_ parms_mapcreatefromdist__ -#define parms_mapcreatefrompetsc_ parms_mapcreatefrompetsc__ -#define parms_mapcreatefromptr_ parms_mapcreatefromptr__ -#define parms_mapfree_ parms_mapfree __ -#define parms_mapgetglobalsize_ parms_mapgetglobalsize__ -#define parms_mapgetlocalsize_ parms_mapgetlocalsize__ -#define parms_mapgetnumprocs_ parms_mapgetnumprocs__ -#define parms_mapgetpid_ parms_mapgetpid__ -#define parms_mapview_ parms_mapview__ -#define parms_mapgetglobalindices_ parms_mapgetglobalindices__ -#elif !defined(FORTRAN_UNDERSCORE) -#define parms_mapcreatefromlocal_ parms_mapcreatefromlocal -#define parms_mapcreatefromglobal_ parms_mapcreatefromglobal -#define parms_mapcreatefromdist_ parms_mapcreatefromdist -#define parms_mapcreatefrompetsc_ parms_mapcreatefrompetsc -#define parms_mapcreatefromptr_ parms_mapcreatefromptr -#define parms_mapfree_ parms_mapfree -#define parms_mapgetglobalsize_ parms_mapgetglobalsize -#define parms_mapgetlocalsize_ parms_mapgetlocalsize -#define parms_mapgetnumprocs_ parms_mapgetnumprocs -#define parms_mapgetpid_ parms_mapgetpid -#define parms_mapview_ parms_mapview -#define parms_mapgetglobalindices_ parms_mapgetglobalindices -#endif - -void parms_mapcreatefromlocal_(parms_Map *self, int *gsize, int - *offset, int *ierr) -{ - *ierr = parms_MapCreateFromLocal(self, *gsize, *offset); -} - -void parms_mapcreatefromglobal_(parms_Map *self, int *gsize, int - *npar, MPI_Comm *comm, int *offset, - int *dof, VARSTYPE *vtype, int *ierr) -{ - *ierr = parms_MapCreateFromGlobal(self, *gsize, npar, MPI_COMM_WORLD, - *offset, *dof, *vtype); -} - -void parms_mapcreatefromdist_(parms_Map *self, int *vtxdist, int - *part, MPI_Comm *comm, int *offset, int - *dof, VARSTYPE *vtype, int *ierr) -{ - *ierr = parms_MapCreateFromDist(self, vtxdist, part, MPI_COMM_WORLD, *offset, - *dof, *vtype); -} - -void parms_mapcreatefrompetsc_(parms_Map *self, int *m, int *M, - MPI_Comm *comm, int *ierr) -{ - *ierr = parms_MapCreateFromPetsc(self, *m, *M, MPI_COMM_WORLD); -} - -void parms_mapcreatefromptr_(parms_Map *self, int *gsize, int *nodes, - int *p2nodes, MPI_Comm *comm, int *dof, - VARSTYPE *vtype, int *ierr) -{ - *ierr = parms_MapCreateFromPtr(self, *gsize, nodes, p2nodes, MPI_COMM_WORLD, - *dof, *vtype); -} - -void parms_mapfree_(parms_Map *self, int *ierr) -{ - *ierr = parms_MapFree(self); -} - -void parms_mapgetglobalsize_(parms_Map *self, int *gsize) -{ - *gsize = parms_MapGetGlobalSize(*self); -} - -void parms_mapgetlocalsize_(parms_Map *self, int *lsize) -{ - *lsize = parms_MapGetLocalSize(*self); -} - -void parms_mapgetnumprocs_(parms_Map *self, int *numpro) -{ - *numpro = parms_MapGetNumProcs(*self); -} - -void parms_mapgetpid_(parms_Map *self, int *pid) -{ - *pid = parms_MapGetPid(*self); -} - -void parms_mapview_(parms_Map *self, parms_Viewer *v, int *ierr) -{ - *ierr = parms_MapView(*self, *v); -} - -void parms_mapgetglobalindices_(parms_Map *self, int *im, int *ierr) -{ - *ierr = parms_MapGetGlobalIndices(*self, im); -} - diff --git a/lib/parms/src/FORTRAN/parms_matf.c b/lib/parms/src/FORTRAN/parms_matf.c deleted file mode 100755 index a1ea88e8d..000000000 --- a/lib/parms/src/FORTRAN/parms_matf.c +++ /dev/null @@ -1,119 +0,0 @@ -#include "parms_mat.h" - -#if defined(FORTRAN_CAPS) -#define parms_matvec_ PARMS_MATVEC -#define parms_matcreate_ PARMS_MATCREATE -#define parms_matfree_ PARMS_MATFREE -#define parms_matmvpy_ PARMS_MATMVPY -#define parms_matsetcommtype_ PARMS_MATSETCOMMTYPE -#define parms_matsetvalues_ PARMS_MATSETVALUES -#define parms_matsetelementmatrix_ PARMS_MATSETELEMENTMATRIX -#define parms_matassembleelementmatrix_ PARMS_MATASSEMBLEELEMENTMATRIX -#define parms_matresetrowvalues_ PARMS_MATRESETROWVALUES -#define parms_matreset_ PARMS_MATRESET -#define parms_matsetup_ PARMS_MATSETUP -#define parms_matview_ PARMS_MATVIEW -#define parms_matviewcoo_ PARMS_MATVIEWCOO -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define parms_matvec_ parms_matvec__ -#define parms_matcreate_ parms_matcreate__ -#define parms_matfree_ parms_matfree__ -#define parms_matmvpy_ parms_matmvpy__ -#define parms_matsetcommtype_ parms_matsetcommtype__ -#define parms_matsetvalues_ parms_matsetvalues__ -#define parms_matsetelementmatrix_ parms_matsetelementmatrix__ -#define parms_matassembleelementmatrix_ parms_matassembleelementmatrix__ -#define parms_matresetrowvalues_ parms_matresetrowvalues__ -#define parms_matreset_ parms_matreset__ -#define parms_matsetup_ parms_matsetup__ -#define parms_matview_ parms_matview__ -#define parms_matviewcoo_ parms_matviewcoo__ -#elif !defined(FORTRAN_UNDERSCORE) -#define parms_matvec_ parms_matvec -#define parms_matcreate_ parms_matcreate -#define parms_matfree_ parms_matfree -#define parms_matmvpy_ parms_matmvpy -#define parms_matsetcommtype_ parms_matsetcommtype -#define parms_matsetvalues_ parms_matsetvalues -#define parms_matsetelementmatrix_ parms_matsetelementmatrix -#define parms_matassembleelementmatrix_ parms_matassembleelementmatrix -#define parms_matresetrowvalues_ parms_matresetrowvalues -#define parms_matreset_ parms_matreset -#define parms_matsetup_ parms_matsetup -#define parms_matview_ parms_matview -#define parms_matviewcoo_ parms_matviewcoo -#endif - -void parms_matvec_(parms_Mat *self, FLOAT *x, FLOAT *y, int - *ierr) -{ - *ierr = parms_MatVec(*self, x, y); -} - -void parms_matcreate_(parms_Mat *self, parms_Map *map, int *ierr) -{ - *ierr = parms_MatCreate(self, *map); -} - -void parms_matfree_(parms_Mat *self, int *ierr) -{ - *ierr = parms_MatFree(self); -} - -void parms_matmvpy_(parms_Mat *self, FLOAT *alpha, FLOAT *x, FLOAT - *beta, FLOAT *y, FLOAT *z, int *ierr) -{ - *ierr = parms_MatMVPY(*self, *alpha, x, *beta, y, z); -} - -void parms_matsetcommtype_(parms_Mat *self, COMMTYPE *ctype, int - *ierr) -{ - *ierr = parms_MatSetCommType(*self, *ctype); -} - -void parms_matsetvalues_(parms_Mat *self, int *m, int *im, int *ia, - int *ja, FLOAT *values, INSERTMODE *mode, int - *ierr) -{ - *ierr = parms_MatSetValues(*self, *m, im, ia, ja, values, *mode); -} - -void parms_matsetelementmatrix_(parms_Mat *self, int *m, int *im, int *ia, - int *ja, FLOAT *values, INSERTMODE *mode, int - *ierr) -{ - *ierr = parms_MatSetElementMatrix(*self, *m, im, ia, ja, values, *mode); -} - -void parms_matassembleelementmatrix_(parms_Mat *self, int *ierr) -{ - *ierr = parms_MatAssembleElementMatrix(*self); -} - -void parms_matresetrowvalues_(parms_Mat *self, int *m, int *im, int *ia, - int *ja, FLOAT *values, int *ierr) -{ - *ierr = parms_MatResetRowValues(*self, *m, im, ia, ja, values); -} - -void parms_matreset_(parms_Mat *self, NNZSTRUCT *nonzerostructure, int *ierr) -{ - *ierr = parms_MatReset(*self, *nonzerostructure); -} - -void parms_matsetup_(parms_Mat *self, int *ierr) -{ - *ierr = parms_MatSetup(*self); -} - -void parms_matview_(parms_Mat *self, parms_Viewer *v, int *ierr) -{ - *ierr = parms_MatView(*self, *v); -} - -void parms_matviewcoo_(parms_Mat *self, parms_Viewer *v, int *ierr) -{ - *ierr = parms_MatViewCOO(*self, *v); -} - diff --git a/lib/parms/src/FORTRAN/parms_pcf.c b/lib/parms/src/FORTRAN/parms_pcf.c deleted file mode 100755 index 9140fa802..000000000 --- a/lib/parms/src/FORTRAN/parms_pcf.c +++ /dev/null @@ -1,217 +0,0 @@ -#include "parms_mem.h" -#include "parms_pc.h" - -#if defined(FORTRAN_CAPS) -#define parms_pccreate_ PARMS_PCCREATE -#define parms_pcfree_ PARMS_PCFREE -#define parms_pcgetratio_ PARMS_PCGETRATIO -#define parms_pcsetbsize_ PARMS_PCSETBSIZE -#define parms_pcsetfill_ PARMS_PCSETFILL -#define parms_pcsetilutype_ PARMS_PCSETILUTYPE -#define parms_pcsetinnereps_ PARMS_PCSETINNEREPS -#define parms_pcsetinnerksize_ PARMS_PCSETINNERKSIZE -#define parms_pcsetinnermaxits_ PARMS_PCSETINNERMAXITS -#define parms_pcsetnlevels_ PARMS_PCSETNLEVELS -#define parms_pcsetparams_ PARMS_PCSETPARAMS -#define parms_pcsettol_ PARMS_PCSETTOL -#define parms_pcsettolind_ PARMS_PCSETTOLIND -#define parms_pcsettype_ PARMS_PCSETTYPE -#define parms_pcsetup_ PARMS_PCSETUP -#define parms_pcsolve_ PARMS_PCSOLVE -#define parms_pcview_ PARMS_PCVIEW -#define parms_pcgetname_ PARMS_PCGETNAME -#define parms_pcilugetname_ PARMS_PCILUGETNAME -#define parms_pccreateabstract_ PARMS_PCCREATEABSTRACT -#define parms_pcsetop_ PARMS_PCSETOP -#define parms_pcsetpermscaloptions_ PARMS_PCSETPERMSCALOPTIONS -#define parms_pcsetpermtype_ PARMS_PCSETPERMTYPE -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define parms_pccreate_ parms_pccreate__ -#define parms_pcfree_ parms_pcfree__ -#define parms_pcgetratio_ parms_pcgetratio__ -#define parms_pcsetbsize_ parms_pcsetbsize__ -#define parms_pcsetfill_ parms_pcsetfill__ -#define parms_pcsetilutype_ parms_pcsetilutype__ -#define parms_pcsetinnereps_ parms_pcsetinnereps__ -#define parms_pcsetinnerksize_ parms_pcsetinnerksize__ -#define parms_pcsetinnermaxits_ parms_pcsetinnermaxits__ -#define parms_pcsetnlevels_ parms_pcsetnlevels__ -#define parms_pcsetparams_ parms_pcsetparams__ -#define parms_pcsettol_ parms_pcsettol__ -#define parms_pcsettolind_ parms_pcsettolind__ -#define parms_pcsettype_ parms_pcsettype__ -#define parms_pcsetup_ parms_pcsetup__ -#define parms_pcsolve_ parms_pcsolve__ -#define parms_pcview_ parms_pcview__ -#define parms_pcgetname_ parms_pcgetname__ -#define parms_pcilugetname_ parms_pcilugetname__ -#define parms_pccreateabstract_ parms_pccreateabstract__ -#define parms_pcsetop_ parms_pcsetop__ -#define parms_pcsetpermscaloptions_ parms_pcsetpermscaloptions__ -#define parms_pcsetpermtype_ parms_pcsetpermtype__ -#elif !defined(FORTRAN_UNDERSCORE) -#define parms_pccreate_ parms_pccreate -#define parms_pcfree_ parms_pcfree -#define parms_pcgetratio_ parms_pcgetratio -#define parms_pcsetbsize_ parms_pcsetbsize -#define parms_pcsetfill_ parms_pcsetfill -#define parms_pcsetilutype_ parms_pcsetilutype -#define parms_pcsetinnereps_ parms_pcsetinnereps -#define parms_pcsetinnerksize_ parms_pcsetinnerksize -#define parms_pcsetinnermaxits_ parms_pcsetinnermaxits -#define parms_pcsetnlevels_ parms_pcsetnlevels -#define parms_pcsetparams_ parms_pcsetparams -#define parms_pcsettol_ parms_pcsettol -#define parms_pcsettolind_ parms_pcsettolind -#define parms_pcsettype_ parms_pcsettype -#define parms_pcsetup_ parms_pcsetup -#define parms_pcsolve_ parms_pcsolve -#define parms_pcview_ parms_pcview -#define parms_pcgetname_ parms_pcgetname -#define parms_pcilugetname_ parms_pcilugetname -#define parms_pccreateabstract_ parms_pccreateabstract -#define parms_pcsetop_ parms_pcsetop -#define parms_pcsetpermscaloptions_ parms_pcsetpermscaloptions -#define parms_pcsetpermtype_ parms_pcsetpermtype -#endif - -void parms_pccreate_(parms_PC *self, parms_Mat *A, int *ierr) -{ - *ierr = parms_PCCreate(self, *A); -} - -void parms_pcfree_(parms_PC *self, int *ierr) -{ - *ierr = parms_PCFree(self); -} - -void parms_pcgetratio_(parms_PC *self, double *ratio, int *ierr) -{ - *ierr = parms_PCGetRatio(*self, ratio); -} - -void parms_pcsetbsize_(parms_PC *self, int *bsize, int *ierr) -{ - *ierr = parms_PCSetBsize(*self, *bsize); -} - -void parms_pcsetfill_(parms_PC *self, int *fill, int *ierr) -{ - *ierr = parms_PCSetFill(*self, fill); -} - -void parms_pcsetilutype_(parms_PC *self, PCILUTYPE *pcstype, int - *ierr) -{ - *ierr = parms_PCSetILUType(*self, *pcstype); -} - -void parms_pcsetinnereps_(parms_PC *self, REAL *eps, int *ierr) -{ - *ierr = parms_PCSetInnerEps(*self, *eps); -} - -void parms_pcsetinnerksize_(parms_PC *self, int *im, int *ierr) -{ - *ierr = parms_PCSetInnerKSize(*self, *im); -} - -void parms_pcsetinnermaxits_(parms_PC *self, int *imax, int *ierr) -{ - *ierr = parms_PCSetInnerMaxits(*self, *imax); -} - -void parms_pcsetnlevels_(parms_PC *self, int *nlevel, int *ierr) -{ - *ierr = parms_PCSetNlevels(*self, *nlevel); -} - -void parms_pcsetparams_(parms_PC *self, int *nflags, char **params, - int *ierr) -{ - *ierr = parms_PCSetParams(*self, *nflags, params); -} - -void parms_pcsettol_(parms_PC *self, double *tol, int *ierr) -{ - *ierr = parms_PCSetTol(*self, tol); -} - -void parms_pcsettolind_(parms_PC *self, REAL *tolind, int *ierr) -{ - *ierr = parms_PCSetTolInd(*self, *tolind); -} - -void parms_pcsettype_(parms_PC *self, PCTYPE *pctype, int *ierr) -{ - *ierr = parms_PCSetType(*self, *pctype); -} - -void parms_pcsetup_(parms_PC *self, int *ierr) -{ - *ierr = parms_PCSetup(*self); -} - -void parms_pcsolve_(parms_PC *self, FLOAT *y, FLOAT *z, int *ierr) -{ - *ierr = parms_PCApply(*self, y, z); -} - -void parms_pcview_(parms_PC *self, parms_Viewer *v, int *ierr) -{ - parms_PCView(*self, *v); - *ierr = 0; -} - -void parms_pcgetname_(parms_PC *self, char *name, int *size, int - *ierr, int len) -{ - char *buf; - int i; - - parms_PCGetName(*self, &buf); - *size = strlen(buf); - PARMS_MEMCPY(name, buf, *size); - for (i = *size; i < len; i++) { - name[i] = ' '; - } - - *ierr = 0; -} - -void parms_pcilugetname_(parms_PC *self, char *name, int *size, int - *ierr, int len) -{ - char *buf; - int i; - - parms_PCILUGetName(*self, &buf); - *size = strlen(buf); - PARMS_MEMCPY(name, buf, *size); - for (i = *size; i < len; i++) { - name[i] = ' '; - } - *ierr = 0; -} - -void parms_pccreateabstract_(parms_PC *self, int *ierr) -{ - *ierr = parms_PCCreateAbstract(self); -} - -void parms_pcsetpermscaloptions_(parms_PC *self, int *meth, int - *flag, int *ierr) -{ - *ierr = parms_PCSetPermScalOptions(*self, meth, *flag); -} - -void parms_pcsetpermtype_(parms_PC *self, int *type, int *ierr) -{ - *ierr = parms_PCSetPermType(*self, *type); -} - -void parms_pcsetop_(parms_PC *self, parms_Mat *A, int *ierr) -{ - *ierr = parms_PCSetOP(*self, *A); -} - diff --git a/lib/parms/src/FORTRAN/parms_solverf.c b/lib/parms/src/FORTRAN/parms_solverf.c deleted file mode 100755 index 0031698d9..000000000 --- a/lib/parms/src/FORTRAN/parms_solverf.c +++ /dev/null @@ -1,105 +0,0 @@ -#include "parms_solver.h" - -#if defined(FORTRAN_CAPS) -#define parms_solverapply_ PARMS_SOLVERAPPLY -#define parms_solvercreate_ PARMS_SOLVERCREATE -#define parms_solverfree_ PARMS_SOLVERFREE -#define parms_solvergetits_ PARMS_SOLVERGETITS -#define parms_solvergetmat_ PARMS_SOLVERGETMAT -#define parms_solversetparam_ PARMS_SOLVERSETPARAM -#define parms_solversettype_ PARMS_SOLVERSETTYPE -#define parms_solvergetpc_ PARMS_SOLVERGETPC -#define parms_solvergetresidual_ PARMS_SOLVERGETRESIDUAL -#define parms_solvergetresidualnorm2_ PARMS_SOLVERGETRESIDUALNORM2 -#define parms_solverview_ PARMS_SOLVERVIEW -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define parms_solverapply_ parms_solverapply__ -#define parms_solvercreate_ parms_solvercreate__ -#define parms_solverfree_ parms_solverfree__ -#define parms_solvergetits_ parms_solvergetits__ -#define parms_solvergetmat_ parms_solvergetmat__ -#define parms_solversetparam_ parms_solversetparam__ -#define parms_solversettype_ parms_solversettype__ -#define parms_solvergetpc_ parms_solvergetpc__ -#define parms_solvergetresidual_ parms_solvergetresidual__ -#define parms_solvergetresidualnorm2_ parms_solvergetresidualnorm2__ -#define parms_solverview_ parms_solverview__ -#elif !defined(FORTRAN_UNDERSCORE) -#define parms_solverapply_ parms_solverapply -#define parms_solvercreate_ parms_solvercreate -#define parms_solverfree_ parms_solverfree -#define parms_solvergetits_ parms_solvergetits -#define parms_solvergetmat_ parms_solvergetmat -#define parms_solversetparam_ parms_solversetparam -#define parms_solversettype_ parms_solversettype -#define parms_solvergetpc_ parms_solvergetpc -#define parms_solvergetresidual_ parms_solvergetresidual -#define parms_solvergetresidualnorm2_ parms_solvergetresidualnorm2 -#define parms_solverview_ parms_solverview -#endif - -void parms_solverapply_(parms_Solver *self, FLOAT *y, FLOAT - *x, int *ierr) -{ - *ierr = parms_SolverApply(*self, y, x); -} - -void parms_solvercreate_(parms_Solver *self, parms_Mat *A, parms_PC - *pc, int *ierr) -{ - *ierr = parms_SolverCreate(self, *A, *pc); -} - -void parms_solverfree_(parms_Solver *self, int *ierr) -{ - *ierr = parms_SolverFree(self); -} - -void parms_solvergetits_(parms_Solver *self, int *its, int *ierr) -{ - *its = parms_SolverGetIts(*self); - *ierr = 0; -} - -void parms_solvergetmat_(parms_Solver *self, parms_Mat *A, int *ierr) -{ - *ierr = parms_SolverGetMat(*self, A); -} - -void parms_solversetparam_(parms_Solver *self, PARAMTYPE *ptype, char - *param, int *ierr) -{ - parms_SolverSetParam(*self, *ptype, param); - *ierr = 0; -} - -void parms_solversettype_(parms_Solver *self, SOLVERTYPE *stype, int - *ierr) -{ - *ierr = parms_SolverSetType(*self, *stype); -} - -void parms_solvergetpc_(parms_Solver *self, parms_PC *PC, int - *ierr) -{ - *ierr = parms_SolverGetPC(*self, PC); -} - -void parms_solvergetresidual_(parms_Solver *self, FLOAT *y, FLOAT *x, - FLOAT *r, int *ierr) -{ - *ierr = parms_SolverGetResidual(*self, y, x, r); -} - -void parms_solvergetresidualnorm2_(parms_Solver *self, FLOAT *y, FLOAT *x, - REAL *rnorm, int *ierr) -{ - *ierr = parms_SolverGetResidualNorm2(*self, y, x, rnorm); -} - -void parms_solverview_(parms_Solver *self, parms_Viewer *v, int - *ierr) -{ - *ierr = parms_SolverView(*self, *v); -} - diff --git a/lib/parms/src/FORTRAN/parms_timerf.c b/lib/parms/src/FORTRAN/parms_timerf.c deleted file mode 100755 index ec450243a..000000000 --- a/lib/parms/src/FORTRAN/parms_timerf.c +++ /dev/null @@ -1,74 +0,0 @@ -#include "parms_timer.h" - -#if defined(FORTRAN_CAPS) -#define parms_timercreate_ PARMS_TIMERCREATE -#define parms_timerfree_ PARMS_TIMERFREE -#define parms_timerget_ PARMS_TIMERGET -#define parms_timerpause_ PARMS_TIMERPAUSE -#define parms_timerreset_ PARMS_TIMERRESET -#define parms_timerresetdelay_ PARMS_TIMERRESETDELAY -#define parms_timerrestart_ PARMS_TIMERRESTART -#define parms_timerview_ PARMS_TIMERVIEW -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define parms_timercreate_ parms_timercreate__ -#define parms_timerfree_ parms_timerfree__ -#define parms_timerget_ parms_timerget__ -#define parms_timerpause_ parms_timerpause__ -#define parms_timerreset_ parms_timerreset__ -#define parms_timerresetdelay_ parms_timerresetdelay__ -#define parms_timerrestart_ parms_timerrestart__ -#define parms_timerview_ parms_timerview__ -#elif !defined(FORTRAN_UNDERSCORE) -#define parms_timercreate_ parms_timercreate -#define parms_timerfree_ parms_timerfree -#define parms_timerget_ parms_timerget -#define parms_timerpause_ parms_timerpause -#define parms_timerreset_ parms_timerreset -#define parms_timerresetdelay_ parms_timerresetdelay -#define parms_timerrestart_ parms_timerrestart -#define parms_timerview_ parms_timerview -#endif - -void parms_timercreate_(parms_Timer *self, int *ierr) -{ - parms_TimerCreate(self); - *ierr = 0; -} - -void parms_timerfree_(parms_Timer *self, int *ierr) -{ - *ierr = parms_TimerFree(self); -} - -void parms_timerget_(parms_Timer *self, double *t, int *ierr) -{ - *t = parms_TimerGet(*self); - *ierr = 0; -} - -void parms_timerpause_(parms_Timer *self, int *ierr) -{ - *ierr = parms_TimerPause(*self); -} - -void parms_timerreset_(parms_Timer *self, int *ierr) -{ - *ierr = parms_TimerReset(*self); -} - -void parms_timerresetdelay_(parms_Timer *self, double *delay, int - *ierr) -{ - parms_TimerResetDelay(*self, *delay); - *ierr = 0; -} - -void parms_timerrestart_(parms_Timer *self, int *ierr) -{ - *ierr = parms_TimerRestart(*self); -} - -void parms_timerview_(parms_Timer *self, parms_Viewer *v, int *ierr) -{ - *ierr = parms_TimerView(*self, *v); -} diff --git a/lib/parms/src/FORTRAN/parms_vecf.c b/lib/parms/src/FORTRAN/parms_vecf.c deleted file mode 100755 index 0938c9218..000000000 --- a/lib/parms/src/FORTRAN/parms_vecf.c +++ /dev/null @@ -1,134 +0,0 @@ -#include "parms_vec.h" - -#if defined(FORTRAN_CAPS) -#define parms_vecaxpy_ PARMS_VECAXPY -#define parms_vecaypx_ PARMS_VECAYPX -#define parms_vecdot_ PARMS_VECDOT -#define parms_vecdotc_ PARMS_VECDOTC -#define parms_vecdotarray_ PARMS_VECDOTARRAY -#define parms_vecgetnorm2_ PARMS_VECGETNORM2 -#define parms_vecscale_ PARMS_VECSCALE -#define parms_vecsetvalues_ PARMS_VECSETVALUES -#define parms_vecsetelementvector_ PARMS_VECSETELEMENTVECTOR -#define parms_vecassembleelementvector_ PARMS_VECASSEMBLEELEMENTVECTOR -#define parms_vecperm_ PARMS_VECPERM -#define parms_vecinvperm_ PARMS_VECINVPERM -#define parms_vecinvpermaux_ PARMS_VECINVPERMAUX -#define parms_vecpermaux_ PARMS_VECPERMAUX -#define parms_vecgather_ PARMS_VECGATHER -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define parms_vecaxpy_ parms_vecaxpy__ -#define parms_vecaypx_ parms_vecaypx__ -#define parms_vecdot_ parms_vecdot__ -#define parms_vecdotc_ parms_vecdotc__ -#define parms_vecdotarray_ parms_vecdotarray__ -#define parms_vecgetnorm2_ parms_vecgetnorm2__ -#define parms_vecscale_ parms_vecscale__ -#define parms_vecsetvalues_ parms_vecsetvalues__ -#define parms_vecsetelementvector_ parms_vecsetelementvector__ -#define parms_vecassembleelementvector_ parms_vecassembleelementvector__ -#define parms_vecperm_ parms_vecperm__ -#define parms_vecinvperm_ parms_vecinvperm__ -#define parms_vecinvpermaux_ parms_vecinvpermaux__ -#define parms_vecpermaux_ parms_vecpermaux__ -#define parms_vecgather_ parms_vecgather__ -#elif !defined(FORTRAN_UNDERSCORE) -#define parms_vecaxpy_ parms_vecaxpy -#define parms_vecaypx_ parms_vecaypx -#define parms_vecdot_ parms_vecdot -#define parms_vecdotc_ parms_vecdotc -#define parms_vecdotarray_ parms_vecdotarray -#define parms_vecgetnorm2_ parms_vecgetnorm2 -#define parms_vecscale_ parms_vecscale -#define parms_vecsetvalues_ parms_vecsetvalues -#define parms_vecsetelementvector_ parms_vecsetelementvector -#define parms_vecsassembleelementvector_ parms_vecassembleelementvector -#define parms_vecperm_ parms_vecperm -#define parms_vecinvperm_ parms_vecinvperm -#define parms_vecinvpermaux_ parms_vecinvpermaux -#define parms_vecpermaux_ parms_vecpermaux -#define parms_vecgather_ parms_vecgather -#endif - -void parms_vecaxpy_(FLOAT *self, FLOAT *x, FLOAT *scalar, parms_Map *map, int - *ierr) -{ - *ierr = parms_VecAXPY(self, x, *scalar, *map); -} - -void parms_vecaypx_(FLOAT *self, FLOAT *x, FLOAT *scalar, parms_Map *map, int - *ierr) -{ - *ierr = parms_VecAYPX(self, x, *scalar, *map); -} - - -void parms_vecdot_(FLOAT *self, FLOAT *x, FLOAT *value, parms_Map *map, int - *ierr) -{ - *ierr = parms_VecDOT(self, x, value, *map); -} - -void parms_vecdotc_(FLOAT *self, FLOAT *x, REAL *value, parms_Map *map, int - *ierr) -{ - *ierr = parms_VecDOTC(self, x, value, *map); -} - -void parms_vecdotarray_(FLOAT *self, int *n, FLOAT **vecarray, - FLOAT *result, parms_Map *map, int *ierr) -{ - *ierr = parms_VecDotArray(self, *n, vecarray, result, *map); -} - -void parms_vecgetnorm2_(FLOAT *self, REAL *value, parms_Map *map, int *ierr) -{ - *ierr = parms_VecGetNorm2(self, value, *map); -} - -void parms_vecscale_(FLOAT *self, FLOAT *scalar, parms_Map *map, int *ierr) -{ - *ierr = parms_VecScale(self, *scalar, *map); -} - -void parms_vecsetvalues_(FLOAT *self, int *m, int *im, FLOAT *values, INSERTMODE *mode, parms_Map *map, int *ierr) -{ - *ierr = parms_VecSetValues(self, *m, im, values, *mode, *map) ; -} - -void parms_vecsetelementvector_(FLOAT *self, int *m, int *im, FLOAT *values, INSERTMODE *mode, parms_Map *map, int *ierr) -{ - *ierr = parms_VecSetElementVector(self, *m, im, values, *mode, *map) ; -} - -void parms_vecassembleelementvector_(FLOAT *self, parms_Map *map, int *ierr) -{ - *ierr = parms_VecAssembleElementVector(self, *map) ; -} - -void parms_vecperm_(FLOAT *self, parms_Map *map, int *ierr) -{ - *ierr = parms_VecPerm(self, *map); -} - -void parms_vecinvperm_(FLOAT *self, parms_Map *map, int *ierr) -{ - *ierr = parms_VecInvPerm(self, *map); -} - -void parms_vecpermaux_(FLOAT *self, FLOAT *aux, parms_Map *map, int *ierr) -{ - *ierr = parms_VecPermAux(self, aux, *map); -} - -void parms_vecinvpermaux_(FLOAT *self, FLOAT *aux, parms_Map *map, int *ierr) -{ - *ierr = parms_VecInvPermAux(self, aux, *map); -} - -void parms_vecgather_(FLOAT *self, FLOAT *ga, parms_Map *map, int *ierr) -{ - *ierr = parms_VecGather(self, ga, *map); -} - - diff --git a/lib/parms/src/FORTRAN/parms_viewerf.c b/lib/parms/src/FORTRAN/parms_viewerf.c deleted file mode 100755 index def02ac09..000000000 --- a/lib/parms/src/FORTRAN/parms_viewerf.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "parms_mem.h" -#include "parms_viewer.h" - -#if defined(FORTRAN_CAPS) -#define parms_viewercreate_ PARMS_VIEWERCREATE -#define parms_viewerfree_ PARMS_VIEWERFREE -#define parms_viewergetfp_ PARMS_VIEWERGETFP -#define parms_viewergetfname_ PARMS_VIEWERGETFNAME -#define parms_viewerstorefp_ PARMS_VIEWERSTOREFP -#elif defined(FORTRAN_DOUBLE_UNDERSCORE) -#define parms_viewercreate_ parms_viewercreate__ -#define parms_viewerfree_ parms_viewerfree__ -#define parms_viewergetfp_ parms_viewergetfp__ -#define parms_viewergetfname_ parms_viewergetfname__ -#define parms_viewerstorefp_ parms_viewerstorefp__ -#elif !defined(FORTRAN_UNDERSCORE) -#define parms_viewercreate_ parms_viewercreate -#define parms_viewerfree_ parms_viewerfree -#define parms_viewergetfp_ parms_viewergetfp -#define parms_viewergetfname_ parms_viewergetfname -#define parms_viewerstorefp_ parms_viewerstorefp -#endif - -void parms_viewercreate_(parms_Viewer *self, char *fname, int *ierr, - int len) -{ - char *buf; - - PARMS_NEWARRAY(buf, len+1); - PARMS_MEMCPY(buf, fname, len); - buf[len] = '\0'; - *ierr = parms_ViewerCreate(self, buf); - PARMS_FREE(buf); -} - -void parms_viewerfree_(parms_Viewer *self, int *ierr) -{ - *ierr = parms_ViewerFree(self); -} - -void parms_viewergetfp_(parms_Viewer *self, FILE **fp, int *ierr) -{ - *ierr = parms_ViewerGetFP(*self, fp); -} - -void parms_viewergetfname_(parms_Viewer *self, char **fname, int - *ierr) -{ - *ierr = parms_ViewerGetFname(*self, fname); -} - -void parms_viewerstorefp_(parms_Viewer *self, FILE *fp, int *ierr) -{ - *ierr = parms_ViewerStoreFP(*self, fp); -} diff --git a/lib/parms/src/bicgstab.c b/lib/parms/src/bicgstab.c deleted file mode 100755 index ea97a793f..000000000 --- a/lib/parms/src/bicgstab.c +++ /dev/null @@ -1,313 +0,0 @@ -/*-------------------------------------------------------------------- - bicgstab_create : create the BICGS solver. - bicgstab_free : free the memory for the BICGS solver. - bicgstab_view : dump the BICGS solver. - parms_bicgstab : the BICGS solve function. - - $Id: fgmres.c,v 1.4 2006-12-15 07:02:07 zzli Exp $ - ------------------------------------------------------------------*/ - -#if defined(__ICC) -#include -#else -#if defined(C99) -#include -#else -#include -#endif -#endif -#include "parms_vec.h" -#include "parms_mat.h" -#include "parms_pc.h" -#include "./include/parms_solver_impl.h" - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -typedef struct bicgs_data { - int neigs; -} *bicgstab_data; - -#define TINY 1.0e-20 -int parms_bicgstab(parms_Solver self, FLOAT *y, FLOAT *x) -{ - - int i, its; - int maxits, nloc, size, one = 1; - FLOAT alpha, t1, tmp[2]; - FLOAT *r0, *r, *p, *st, *v, *t, *pt; - REAL tol, rho, rho_alt, omega, sigma, beta; - MPI_Request req; - - parms_Mat A; - parms_PC pc; - parms_Map is; - parms_Viewer viewer; - - int rank; - MPI_Comm comm; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - - A = self->A; - pc = self->pc; - is = A->is; - - maxits = self->maxits; - tol = self->tol*self->tol; - nloc = parms_MapGetLocalSize(is); - comm = is->comm; - -/*----- allocate memory for working local arrays -------*/ - size = nloc; - /* PARMS_NEWARRAY(r0, size); */ - PARMS_NEWARRAY(r, size); - PARMS_NEWARRAY(r0, size); - PARMS_NEWARRAY(st, size); - PARMS_NEWARRAY(t, size); - PARMS_NEWARRAY(v, size); - PARMS_NEWARRAY(p, size); - PARMS_NEWARRAY(pt, size); - -/* --- first permute x and y for pARMS matrix structure ------*/ - if (is->isperm) { - for (i = 0; i < nloc; i++) { - t[is->perm[i]] = x[i]; - r0[is->perm[i]] = y[i]; - } - memcpy(x, t, nloc*sizeof(FLOAT)); - is->isvecperm = true; - } - - - - /* compute residual vector r = y - Ax */ - /* r0 = y (permuted) */ - parms_MatVec(A, x, r); - parms_VecAYPX(r, r0, -1.0, is); - - /* choose r0 (arbitrary), e.g., PARMS_MEMCPY(r0,r,nloc); or: */ - /* PARMS_MEMCPY(r0, y, nloc); */ - /* As r0 and y are never changed, we can simply set */ - /* r0=y; */ - /* Do this already above, use r0 as permuted y! */ - - tmp[0] = 0.; - tmp[1] = 0.; - for (i = 0; i < nloc; i++) - { - tmp[0] += r[i] * r[i]; // omega - tmp[1] += r0[i] * r[i]; // rho - } - if(is->isserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 2, MPI_DOUBLE, MPI_SUM, comm, &req); - - - PARMS_MEMCPY(p, r, nloc); - alpha = 0.; - sigma = rho_alt = 1.0; - - if(is->isserial == false) MPI_Wait(&req, MPI_STATUS_IGNORE); - - omega = tmp[0]; - rho = tmp[1]; - - - if (omega > tol){ - for (its = 0; its < maxits; its++){ - - parms_PCApply(pc, p, pt); - parms_MatVec(A, pt, v); - parms_VecDOT(r0,v,&alpha,is); - - alpha = rho/alpha; - - for (i = 0; i < nloc; i++) r[i] -= alpha * v[i]; - - parms_PCApply(pc, r, st); - parms_MatVec(A, st, t); - - tmp[0] = 0.; - tmp[1] = 0.; - for (i = 0; i < nloc; i++) - { - tmp[0] += t[i] * r[i]; - tmp[1] += t[i] * t[i]; - } - - - if(is->isserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 2, MPI_DOUBLE, MPI_SUM, comm, &req); - - for (i = 0; i < nloc; i++) x[i] += alpha * pt[i]; - - if(is->isserial == false) MPI_Wait(&req, MPI_STATUS_IGNORE); - - sigma = tmp[0]/tmp[1]; - - if(ABS_VALUE(sigma) < TINY){ - if(rank == 0) - printf("ERROR: sigma = 0\n"); - break; - } - - for (i = 0; i < nloc; i++) r[i] -= sigma * t[i]; - - tmp[0] = 0.; - tmp[1] = 0.; - for (i = 0; i < nloc; i++) - { - tmp[0] += r[i] * r[i]; // omega - tmp[1] += r0[i] * r[i]; // rho - } - - if(is->isserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 2, MPI_DOUBLE, MPI_SUM, comm, &req); - - for (i = 0; i < nloc; i++) x[i] += sigma * st[i]; - - - if(is->isserial == false) MPI_Wait(&req, MPI_STATUS_IGNORE); - - omega = tmp[0]; - - if (omega < tol) break; - - rho = tmp[1]; - - beta = (rho * alpha) / (rho_alt * sigma); - rho_alt = rho; - - for (i = 0; i < nloc; i++) - { - p[i] = r[i] + beta*(p[i] - sigma* v[i]); - } - } - } - - - its++; - - if(its == maxits && omega > tol) - printf("ERROR: no convergence\n"); - - /* reset isvecperm and do inverse permutation*/ - if (is->isperm) { - for (i = 0; i < nloc; i++) { - r[is->iperm[i]] = x[i]; - } - memcpy(x, r, nloc*sizeof(FLOAT)); - is->isvecperm = false; - } - free(r0); - free(r); - free(p); - free(st); - free(t); - free(v); - free(pt); - - - self->its = its; - return 0; -} - -static int bicgstab_getresidual(parms_Solver self, FLOAT *y, FLOAT *x, FLOAT *res) -{ - - parms_Mat A; - - A = self->A; - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - return 0; -} - -static int bicgstab_getresidualnorm2(parms_Solver self, FLOAT *y, FLOAT *x, REAL *rnorm) -{ - - int nloc; - FLOAT *res; - parms_Mat A; - parms_Map is; - - A = self->A; - is = A->is; - nloc = parms_MapGetLocalSize(is); - PARMS_NEWARRAY(res, nloc); - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - parms_VecGetNorm2(res, rnorm, is); - - PARMS_FREE(res); - - return 0; -} - - -static int bicgstab_free(parms_Solver *self) -{ - /*dummy*/ - return 0; -} - -static int bicgstab_view(parms_Solver self, parms_Viewer v) -{ - FILE *fp; - char *name, *iluname; - int dim; - parms_ViewerGetFP(v, &fp); - - fprintf(fp,"\n=============================\n"); - fprintf(fp," Solver Parameters \n"); - fprintf(fp,"=============================\n"); - - fprintf(fp, "Solver type = BiConjugate Gradient Stabilized Method (BICGS) \n"); - - fprintf(fp, "maxits = %d \n", self->maxits); - fprintf(fp, "Relative tolerance = %-8.2e \n", self->tol); - - parms_PCGetName(self->pc, &name); - parms_PCILUGetName(self->pc, &iluname); - fprintf(fp, "Global Preconditioner: %s\n", name); - fprintf(fp, "Local Preconditioner: %s\n", iluname); - - parms_ViewerGetFP(v, &fp); - - return 0; -} - -static int bicgstab_setksize(parms_Solver self, int restart) -{ - /*dummy*/ - return 0; -} - -static int bicgstab_setneig(parms_Solver self, int neigs) -{ - /*dummy*/ - return 0; -} - -static struct parms_Solver_ops parms_bicgstab_sol = { - parms_bicgstab, - bicgstab_getresidual, - bicgstab_getresidualnorm2, - bicgstab_setksize, - bicgstab_setneig, - bicgstab_free, - bicgstab_view -}; - - -/** Create the BICGS solver. - * - * \param self A parms_Solver object. - * \return 0 on success. - */ -int bicgstab_create(parms_Solver self) -{ - PARMS_MEMCPY(self->ops, &parms_bicgstab_sol, 1); - return 0; -} diff --git a/lib/parms/src/bicgstab_ras.c b/lib/parms/src/bicgstab_ras.c deleted file mode 100644 index 505494f4f..000000000 --- a/lib/parms/src/bicgstab_ras.c +++ /dev/null @@ -1,360 +0,0 @@ -/*-------------------------------------------------------------------- - bicgstabras_create : create the BICGS_RAS solver. - bicgstabras_free : free the memory for the BICGS_RAS solver. - bicgstabras_view : dump the BICGS_RAS solver. - parms_bicgstabras : the BICGS_RAS solve function. - - $Id: fgmres.c,v 1.4 2006-12-15 07:02:07 zzli Exp $ - ------------------------------------------------------------------*/ - -#if defined(__ICC) -#include -#else -#if defined(C99) -#include -#else -#include -#endif -#endif -#include "parms_vec.h" -#include "parms_mat.h" -#include "parms_pc.h" -#include "./include/parms_solver_impl.h" - -#include "./include/parms_comm_impl.h" -#include "./include/parms_pc_impl.h" -#include "./include/parms_opt_impl.h" - - -typedef struct ras_data { - parms_Operator op; - parms_Comm handler; - parms_Map is; - BOOL issetup; - FLOAT *rbuf; - int nloc; - int n; - int nodv; - int nsend; -} *ras_data; - - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -typedef struct bicgs_data { - int neigs; -} *bicgstabras_data; - -#define TINY 1.0e-20 -int parms_bicgstabras(parms_Solver self, FLOAT *y, FLOAT *x) -{ - - int i, its; - int maxits, nloc, n_ext, size, one = 1; - FLOAT alpha, t1, tmp[2]; - FLOAT *r0, *v, *t; - FLOAT *r_ext, *st_ext, *p_ext, *pt_ext; - REAL tol, rho, rho_alt, omega, sigma, beta; - MPI_Request req; - int nodv, nsend; - - parms_Mat A; - parms_PC pc; - parms_Map is; - parms_Viewer viewer; - parms_Comm pc_handler; - ras_data pc_data; - - int rank; - MPI_Comm comm; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - - A = self->A; - pc = self->pc; - is = A->is; - - maxits = self->maxits; - tol = self->tol*self->tol; - nloc = parms_MapGetLocalSize(is); - comm = is->comm; - - // For inlined RAS preconditioner - pc_data = (ras_data)pc->data; - n_ext = pc_data->n; // local size with halo for Schwarz - pc_handler = pc_data->handler; - nsend = pc_data->nsend; - nodv = pc_data->nodv; - -/*----- allocate memory for working local arrays -------*/ - size = nloc; - /* PARMS_NEWARRAY(r0, size); */ - PARMS_NEWARRAY(r0, size); - PARMS_NEWARRAY(t, size); - PARMS_NEWARRAY(v, size); - - PARMS_NEWARRAY(r_ext, n_ext); - PARMS_NEWARRAY(p_ext, n_ext); - PARMS_NEWARRAY(pt_ext, n_ext); - PARMS_NEWARRAY(st_ext, n_ext); - - -/* --- first permute x and y for pARMS matrix structure ------*/ - if (is->isperm) { - for (i = 0; i < nloc; i++) { - t[is->perm[i]] = x[i]; - r0[is->perm[i]] = y[i]; - } - memcpy(x, t, nloc*sizeof(FLOAT)); - is->isvecperm = true; - } - - - - /* compute residual vector r = y - Ax */ - /* r0 = y (permuted) */ - parms_MatVec(A, x, r_ext); - parms_VecAYPX(r_ext, r0, -1.0, is); - - /* choose r0 (arbitrary), e.g., PARMS_MEMCPY(r0,r,nloc); or: */ - /* PARMS_MEMCPY(r0, y, nloc); */ - /* As r0 and y are never changed, we can simply set */ - /* r0=y; */ - /* Do this already above, use r0 as permuted y! */ - - tmp[0] = 0.; - tmp[1] = 0.; - for (i = 0; i < nloc; i++) - { - tmp[0] += r_ext[i] * r_ext[i]; // omega - tmp[1] += r0[i] * r_ext[i]; // rho - } - if(is->isserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 2, MPI_DOUBLE, MPI_SUM, comm, &req); - - - PARMS_MEMCPY(p_ext, r_ext, nloc); - alpha = 0.; - sigma = rho_alt = 1.0; - - if(is->isserial == false) MPI_Wait(&req, MPI_STATUS_IGNORE); - - omega = tmp[0]; - rho = tmp[1]; - - - if (omega > tol){ - for (its = 0; its < maxits; its++){ - - // parms_PCApply(pc, p, pt); - if (nsend) parms_CommDataBegin(pc_handler, p_ext, 0); - if (nodv) parms_CommDataEnd(pc_handler); - if (pc_data->n - pc_data->nloc) - PARMS_MEMCPY(&p_ext[nloc], pc_data->rbuf, pc_data->n - pc_data->nloc); - - /* solve the extended linear system */ - parms_OperatorApply(pc_data->op, p_ext, pt_ext); - - /* No halo exchange of the solution, that's the "Restricted" in RAS */ - /* === End Preconditioner === */ - - parms_MatVec(A, pt_ext, v); - parms_VecDOT(r0,v,&alpha,is); - - alpha = rho/alpha; - - for (i = 0; i < nloc; i++) r_ext[i] -= alpha * v[i]; - - // parms_PCApply(pc, r, st); - if (nsend) parms_CommDataBegin(pc_handler, r_ext, 0); - if (nodv) parms_CommDataEnd(pc_handler); - if (pc_data->n - pc_data->nloc) - PARMS_MEMCPY(&r_ext[nloc], pc_data->rbuf, pc_data->n - pc_data->nloc); - - /* solve the extended linear system */ - parms_OperatorApply(pc_data->op, r_ext, st_ext); - - /* No halo exchange of the solution, that's the "Restricted" in RAS */ - /* === End Preconditioner === */ - parms_MatVec(A, st_ext, t); - - tmp[0] = 0.; - tmp[1] = 0.; - for (i = 0; i < nloc; i++) - { - tmp[0] += t[i] * r_ext[i]; - tmp[1] += t[i] * t[i]; - } - - - if(is->isserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 2, MPI_DOUBLE, MPI_SUM, comm, &req); - - //for (i = 0; i < nloc; i++) x[i] += alpha * pt_ext[i]; - - if(is->isserial == false) MPI_Wait(&req, MPI_STATUS_IGNORE); - - sigma = tmp[0]/tmp[1]; - - - for (i = 0; i < nloc; i++) r_ext[i] -= sigma * t[i]; - - tmp[0] = 0.; - tmp[1] = 0.; - for (i = 0; i < nloc; i++) - { - tmp[0] += r_ext[i] * r_ext[i]; // omega - tmp[1] += r0[i] * r_ext[i]; // rho - } - - if(is->isserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 2, MPI_DOUBLE, MPI_SUM, comm, &req); - - for (i = 0; i < nloc; i++) x[i] += alpha * pt_ext[i] + sigma * st_ext[i]; - - - if(is->isserial == false) MPI_Wait(&req, MPI_STATUS_IGNORE); - - omega = tmp[0]; - - if (omega < tol) break; - - rho = tmp[1]; - - beta = (rho * alpha) / (rho_alt * sigma); - rho_alt = rho; - - for (i = 0; i < nloc; i++) - { - p_ext[i] = r_ext[i] + beta*(p_ext[i] - sigma* v[i]); - } - } - } - - - its++; - - if(its == maxits && omega > tol) - printf("ERROR: no convergence\n"); - - /* reset isvecperm and do inverse permutation*/ - if (is->isperm) { - for (i = 0; i < nloc; i++) { - t[is->iperm[i]] = x[i]; - } - memcpy(x, t, nloc*sizeof(FLOAT)); - is->isvecperm = false; - } - free(r0); - free(r_ext); - free(p_ext); - free(st_ext); - free(t); - free(v); - free(pt_ext); - - - self->its = its; - return 0; -} - -static int bicgstabras_getresidual(parms_Solver self, FLOAT *y, FLOAT *x, FLOAT *res) -{ - - parms_Mat A; - - A = self->A; - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - return 0; -} - -static int bicgstabras_getresidualnorm2(parms_Solver self, FLOAT *y, FLOAT *x, REAL *rnorm) -{ - - int nloc; - FLOAT *res; - parms_Mat A; - parms_Map is; - - A = self->A; - is = A->is; - nloc = parms_MapGetLocalSize(is); - PARMS_NEWARRAY(res, nloc); - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - parms_VecGetNorm2(res, rnorm, is); - - PARMS_FREE(res); - - return 0; -} - - -static int bicgstabras_free(parms_Solver *self) -{ - /*dummy*/ - return 0; -} - -static int bicgstabras_view(parms_Solver self, parms_Viewer v) -{ - FILE *fp; - char *name, *iluname; - int dim; - parms_ViewerGetFP(v, &fp); - - fprintf(fp,"\n=============================\n"); - fprintf(fp," Solver Parameters \n"); - fprintf(fp,"=============================\n"); - - fprintf(fp, "Solver type = BiConjugate Gradient Stabilized Method (BICGS_RAS) \n"); - - fprintf(fp, "maxits = %d \n", self->maxits); - fprintf(fp, "Relative tolerance = %-8.2e \n", self->tol); - - parms_PCGetName(self->pc, &name); - parms_PCILUGetName(self->pc, &iluname); - fprintf(fp, "Global Preconditioner: %s\n", name); - fprintf(fp, "Local Preconditioner: %s\n", iluname); - - parms_ViewerGetFP(v, &fp); - - return 0; -} - -static int bicgstabras_setksize(parms_Solver self, int restart) -{ - /*dummy*/ - return 0; -} - -static int bicgstabras_setneig(parms_Solver self, int neigs) -{ - /*dummy*/ - return 0; -} - -static struct parms_Solver_ops parms_bicgstabras_sol = { - parms_bicgstabras, - bicgstabras_getresidual, - bicgstabras_getresidualnorm2, - bicgstabras_setksize, - bicgstabras_setneig, - bicgstabras_free, - bicgstabras_view -}; - - -/** Create the BICGS_RAS solver. - * - * \param self A parms_Solver object. - * \return 0 on success. - */ -int bicgstabras_create(parms_Solver self) -{ - PARMS_MEMCPY(self->ops, &parms_bicgstabras_sol, 1); - return 0; -} diff --git a/lib/parms/src/cg.c b/lib/parms/src/cg.c deleted file mode 100644 index 658267f54..000000000 --- a/lib/parms/src/cg.c +++ /dev/null @@ -1,256 +0,0 @@ -/*-------------------------------------------------------------------- - cg_create : create the CG solver. - cg_free : free the memory for the CG solver. - cg_view : dump the CG solver. - parms_cg : the CG solve function. - - $Id: fgmres.c,v 1.4 2006-12-15 07:02:07 zzli Exp $ - ------------------------------------------------------------------*/ - -#if defined(__ICC) -#include -#else -#if defined(C99) -#include -#else -#include -#endif -#endif -#include "parms_vec.h" -#include "parms_mat.h" -#include "parms_pc.h" -#include "./include/parms_solver_impl.h" - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -typedef struct cg_data { - int neigs; -} *cg_data; - -#define TINY 1.0e-20 -int parms_cg(parms_Solver self, FLOAT *y, FLOAT *x) -{ - int i, its, j; - int maxits, nloc; - FLOAT alpha, tmp[2]; - FLOAT *r, *z, *p, *Ap; - REAL tol, omega, beta, r2; - - - parms_Mat A; - parms_PC pc; - parms_Map is; - parms_vcsr Acsr; - - MPI_Comm comm; - - - A = self->A; - pc = self->pc; - is = A->is; - - maxits = self->maxits; - tol = self->tol * self->tol; - nloc = parms_MapGetLocalSize(is); - comm = is->comm; - - -/*----- allocate memory for local working arrays -------*/ - - r = malloc(nloc*sizeof(FLOAT)); - z = malloc(nloc*sizeof(FLOAT)); - p = malloc(nloc*sizeof(FLOAT)); - Ap = malloc(nloc*sizeof(FLOAT)); - -/* --- first permute x and y for pARMS matrix structure ------*/ - if (is->isperm) { - for (i = 0; i < nloc; i++) { - z[is->perm[i]] = x[i]; - r[is->perm[i]] = y[i]; - } - memcpy(x, z, nloc*sizeof(FLOAT)); - memcpy(y, r, nloc*sizeof(FLOAT)); - is->isvecperm = true; - } - - omega = 2.*tol; - - /* compute residual vector r = y - Ax */ - parms_MatVec(A,x,r); - for (i = 0; i < nloc; i++) r[i] = y[i] - r[i]; - - parms_PCApply(pc,r,z); - - r2 = 0; - for (i = 0; i < nloc; i++){ - p[i] = z[i]; - r2 += r[i] * z[i]; - } - - if(is->isserial == false) - MPI_Allreduce(MPI_IN_PLACE, &r2, 1, MPI_DOUBLE, MPI_SUM, comm); - - - for (its = 1; its <= maxits; its++){ - - parms_MatVec(A,p,Ap); - - alpha = 0.; - for (i = 0; i < nloc; i++) alpha += p[i] * Ap[i]; - if(is->isserial == false) - MPI_Allreduce(MPI_IN_PLACE, &alpha, 1, MPI_DOUBLE, MPI_SUM, comm); - - alpha = r2 / alpha; - - for (i = 0; i < nloc; i++){ - x[i] += alpha * p[i]; - r[i] -= alpha * Ap[i]; - } - - parms_PCApply(pc, r, z); - - tmp[0] = 0.; - tmp[1] = 0.; - for (i = 0; i < nloc; i++){ - tmp[0] += r[i] * r[i]; /* omega */ - tmp[1] += r[i] * z[i]; - } - if(is->isserial == false) - MPI_Allreduce(MPI_IN_PLACE, tmp, 2, MPI_DOUBLE, MPI_SUM, comm); - - omega = tmp[0]; - /* Convergence criterion reached? */ - if (omega <= tol) break; - - beta = tmp[1] / r2; - r2 = tmp[1]; - - for (i = 0; i < nloc; i++){ - p[i] = z[i] + beta * p[i]; - } - } - - if(its == maxits && omega > tol) - printf("ERROR: no convergence\n"); - - /* reset isvecperm and do inverse permutation*/ - if (is->isperm) { - for (i = 0; i < nloc; i++) { - r[is->iperm[i]] = x[i]; - z[is->iperm[i]] = y[i]; - } - memcpy(x, r, nloc*sizeof(FLOAT)); - memcpy(y, z, nloc*sizeof(FLOAT)); - is->isvecperm = false; - } - - free(z); - free(r); - free(p); - free(Ap); - - - self->its = its; - return 0; -} - -static int cg_getresidual(parms_Solver self, FLOAT *y, FLOAT *x, FLOAT *res) -{ - - parms_Mat A; - - A = self->A; - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - return 0; -} - -static int cg_getresidualnorm2(parms_Solver self, FLOAT *y, FLOAT *x, REAL *rnorm) -{ - - int nloc; - FLOAT *res; - parms_Mat A; - parms_Map is; - - A = self->A; - is = A->is; - nloc = parms_MapGetLocalSize(is); - PARMS_NEWARRAY(res, nloc); - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - parms_VecGetNorm2(res, rnorm, is); - - PARMS_FREE(res); - - return 0; -} - - -static int cg_free(parms_Solver *self) -{ - /*dummy*/ - return 0; -} - -static int cg_view(parms_Solver self, parms_Viewer v) -{ - FILE *fp; - char *name, *iluname; - int dim; - parms_ViewerGetFP(v, &fp); - - fprintf(fp,"\n=============================\n"); - fprintf(fp," Solver Parameters \n"); - fprintf(fp,"=============================\n"); - - fprintf(fp, "Solver type = Conjugate Gradient Method (CG) \n"); - - fprintf(fp, "maxits = %d \n", self->maxits); - fprintf(fp, "Relative tolerance = %-8.2e \n", self->tol); - - parms_PCGetName(self->pc, &name); - parms_PCILUGetName(self->pc, &iluname); - fprintf(fp, "Global Preconditioner: %s\n", name); - fprintf(fp, "Local Preconditioner: %s\n", iluname); - - parms_ViewerGetFP(v, &fp); - - return 0; -} - -static int cg_setksize(parms_Solver self, int restart) -{ - /*dummy*/ - return 0; -} - -static int cg_setneig(parms_Solver self, int neigs) -{ - /*dummy*/ - return 0; -} - -static struct parms_Solver_ops parms_cg_sol = { - parms_cg, - cg_getresidual, - cg_getresidualnorm2, - cg_setksize, - cg_setneig, - cg_free, - cg_view -}; - - -/** Create the CG solver. - * - * \param self A parms_Solver object. - * \return 0 on success. - */ -int cg_create(parms_Solver self) -{ - PARMS_MEMCPY(self->ops, &parms_cg_sol, 1); - return 0; -} diff --git a/lib/parms/src/fgmres.c b/lib/parms/src/fgmres.c deleted file mode 100755 index c000a4d5f..000000000 --- a/lib/parms/src/fgmres.c +++ /dev/null @@ -1,423 +0,0 @@ -/*-------------------------------------------------------------------- - fgmres_create : create the FGMRES solver. - fgmres_free : free the memory for the FGMRES solver. - fgmres_setksize : set the restart size of the FGMRES solver. - fgmres_view : dump the FGMRES solver. - parms_fgmres : the FGMRES solve function. - - $Id: fgmres.c,v 1.4 2006-12-15 07:02:07 zzli Exp $ - ------------------------------------------------------------------*/ - -#if defined(__ICC) -#include -#else -#if defined(C99) -#include -#else -#include -#endif -#endif -#include "parms_vec.h" -#include "parms_mat.h" -#include "parms_pc.h" -#include "./include/parms_solver_impl.h" - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -typedef struct fgmres_data { - int restart; - int neigs; -} *fgmres_data; - -#define TINY 1.0e-20 -int parms_fgmres(parms_Solver self, FLOAT *y, FLOAT *x) -{ - BOOL outflag, intflag; - int i, i1, pti, pti1, ptih, j, restart, its; - int ii, jj, k, k1, maxits, nloc, size, one = 1; - FLOAT *vv, *z, *hh, *s, *rs, alpha, t1; - REAL eps1, tol, ro, t, *c; -#if defined(DBL_CMPLX) - FLOAT rot; -#else - REAL gam; -#endif - - parms_Mat A; - parms_PC pc; - parms_Map is; - fgmres_data fdata; - - int rank; - MPI_Comm comm; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - - A = self->A; - pc = self->pc; - is = A->is; - fdata = (fgmres_data)self->data; - restart = fdata->restart; - maxits = self->maxits; - tol = self->tol; - eps1 = tol; - nloc = parms_MapGetLocalSize(is); - comm = is->comm; - -/* --- first permute x and y for pARMS matrix structure ------*/ - parms_VecPerm(x, is); - parms_VecPerm(y, is); -/* ---- set isvecperm to true -----*/ - is->isvecperm = true; - -/*----- allocate memory for working local arrays -------*/ - -/* ---------allocate size for nx(m+1) matrix vv */ - size = nloc*(restart+1); - PARMS_NEWARRAY(vv, size); -/*-------- allocate size for nxm matrix z -----*/ - size = nloc*restart; - PARMS_NEWARRAY(z, size); - -/*----- allocate memory for Hessenberg matrix (nonzeros only) - *----- and rotation vectors s and rs -------------------*/ - size = (((restart+1)*(restart+2)/2) - 1) + 2*(restart+1); - PARMS_NEWARRAY(hh, size); - - s = hh + ((restart+1)*(restart+2)/2) - 1; - rs = s + restart + 1; -/*--------- allocate memory for rotation matrix c ------- - * This is done separately since for complex valued systems - * c is still a real-valued vector, and hence cannot be - * allocated as sizeof(complex double) as is the case for - * s and rs and hh above --------------------------------*/ - PARMS_NEWARRAY(c, restart+1); - - /* outer loop starts here */ - its = 0; - - outflag = true; - while(outflag) { - /* compute vv[0] = A * x */ - parms_MatVec(A, x, vv); - - /* compute residual vector */ - parms_VecAYPX(vv, y, -1.0, is); - /* compute the norm of the residual */ - parms_VecGetNorm2(vv, &ro, is); - - if(ABS_VALUE(ro) <= DBL_EPSILON) { - outflag = false; - break; - } - t1 = 1.0 / ro; - parms_VecScale(vv, t1, is); - if(its == 0) - eps1 = tol*ro; - -/* ----------initialize 1-st term of rhs of hessenberg system ------------*/ - - rs[0] = ro; - - i = -1; - pti = 0; - pti1 = 0; - ptih = 0; - intflag = true; - while (intflag) { - i++; - its++; - i1 = i + 1; - pti = i*nloc; - pti1 = i1*nloc; - -/*------------- preconditioning operation z = K^{-1}vv ---------------*/ - parms_PCApply(pc, &vv[pti], &z[pti]); - -/*------------- compute A*z -----------------*/ - parms_MatVec(A, &z[pti], &vv[pti1]); - -/*------------- classical Gram - Schmidt -------------------*/ -#if defined(DBL_CMPLX) -/* ----- Check for serial case ------ */ - if(is->isserial) - { - for(j=0; jisserial) - { - for(j=0; j TINY) { - t1 = 1.0 / t; - parms_VecScale(&vv[pti1], t1, is); - } - - /* done with classical Gram-Schmidt and Arnoldi step. now update - * factorization of hh */ -#if defined(DBL_CMPLX) - if (i != 0) { - for(k = 1; k <= i; k++) { - k1 = k-1; - t1 = hh[ptih+k1]; - - hh[ptih+k1] = c[k1]*t1 + s[k1]*hh[ptih+k]; - hh[ptih+k] = -conj(s[k1])*t1 + c[k1]*hh[ptih+k]; - } - } -/*-----------get next plane rotation------------ */ - zclartg(hh[ptih+i], hh[ptih+i1], &c[i], &s[i], &rot); - rs[i1] = -conj(s[i])*rs[i]; - rs[i] = c[i]*rs[i]; - hh[ptih+i] = rot; - ro = cabs(rs[i1]); -#else - if (i != 0) { - for(k=1; k<=i; k++){ - k1 = k-1; - t1 = hh[ptih+k1]; - - hh[ptih+k1] = c[k1]*t1 + s[k1]*hh[ptih+k]; - hh[ptih+k] = -s[k1]*t1 + c[k1]*hh[ptih+k]; - } - } -/*-----------get next plane rotation------------ */ - gam = sqrt(hh[ptih+i]*hh[ptih+i] + hh[ptih+i1]*hh[ptih+i1]); - /* - if gamma is zero then any small value will do ... - will affect only residual estimate - */ - if (fabs(gam) <= TINY) gam = TINY; - - /* determine-next-plane-rotation */ - c[i] = hh[ptih+i]/gam; - s[i] = hh[ptih+i1]/gam; - - rs[i1] = -s[i]*rs[i]; - rs[i] = c[i]*rs[i]; - /* determine res. norm and test for convergence */ - hh[ptih+i] = c[i]*hh[ptih+i] + s[i]*hh[ptih+i1]; - ro = fabs(rs[i1]); -#endif - -/*------------ Check for convergence ---------*/ - if ((i+1 >= restart) || (ro <= eps1) || its >= maxits) - intflag = false; - else -/*------------ update hh pointer ptih ---------*/ - ptih += i+2; - } - - /* now compute solution first solve upper triangular system */ - rs[i] = rs[i]/hh[ptih+i]; - for (ii = 1; ii <= i; ii++) { - k = i-ii; - k1 = k+1; - t1 = rs[k]; - for (j = k1; j <= i; j++) { - jj = ((j+1)*(j+2)/2) - 1; - t1 = t1 - hh[jj+k]*rs[j]; - } - jj = ((k+1)*(k+2)/2)-1; - rs[k] = t1/hh[jj+k]; - } - /* done with back substitution. now form linear combination to - * get solution */ - for (j = 0; j <= i; j++) { - t1 = rs[j]; - parms_VecAXPY(x, &z[j*nloc], t1, is); - } - /* test for return */ - /* if ((ro <= eps1) || (its >= maxits)) (AF){ */ - if((ro <= tol) || (its >= maxits)) { - outflag = false; - } - } - - free(vv); - free(z); - free(hh); - free(c); - - -/* reset isvecperm and do inverse permutation*/ - is->isvecperm = false; // this comes before inverse permutation - /* permutes x and y */ - parms_VecInvPerm(x, is); - parms_VecInvPerm(y, is); - - self->its = its; - return 0; -} - -static int fgmres_getresidual(parms_Solver self, FLOAT *y, FLOAT *x, FLOAT *res) -{ - - parms_Mat A; - - A = self->A; - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - return 0; -} - -static int fgmres_getresidualnorm2(parms_Solver self, FLOAT *y, FLOAT *x, REAL *rnorm) -{ - - int nloc; - FLOAT *res; - parms_Mat A; - parms_Map is; - - A = self->A; - is = A->is; - nloc = parms_MapGetLocalSize(is); - PARMS_NEWARRAY(res, nloc); - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - parms_VecGetNorm2(res, rnorm, is); - - PARMS_FREE(res); - - return 0; -} - - -static int fgmres_free(parms_Solver *self) -{ - fgmres_data fdata; - -/* free data associated with solver */ - fdata = (fgmres_data)(*self)->data; - PARMS_FREE(fdata); - return 0; -} - -static int fgmres_view(parms_Solver self, parms_Viewer v) -{ - FILE *fp; - char *name, *iluname; - int restart; - fgmres_data fdata; - - fdata = (fgmres_data)self->data; - restart = fdata->restart; - - parms_ViewerGetFP(v, &fp); - - fprintf(fp,"\n=============================\n"); - fprintf(fp," Solver Parameters \n"); - fprintf(fp,"=============================\n"); - - fprintf(fp, "Solver type = flexible gmres (fgmres) \n"); - - fprintf(fp, "maxits = %d \n", self->maxits); - fprintf(fp, "Relative tolerance = %-8.2e \n", self->tol); - - fprintf(fp, "Krylov dimension = %d \n", restart); - - parms_PCGetName(self->pc, &name); - parms_PCILUGetName(self->pc, &iluname); - fprintf(fp, "Global Preconditioner: %s\n", name); - fprintf(fp, "Local Preconditioner: %s\n", iluname); - - parms_ViewerGetFP(v, &fp); - - return 0; -} - -static int fgmres_setksize(parms_Solver self, int restart) -{ - fgmres_data fdata; - - fdata = (fgmres_data)self->data; - fdata->restart = restart; - - return 0; -} - -static int fgmres_setneig(parms_Solver self, int neigs) -{ - fgmres_data fdata; - - fdata = (fgmres_data)self->data; - fdata->neigs = neigs; - - return 0; -} - -static struct parms_Solver_ops parms_fgmres_sol = { - parms_fgmres, - fgmres_getresidual, - fgmres_getresidualnorm2, - fgmres_setksize, - fgmres_setneig, - fgmres_free, - fgmres_view -}; - - -/** Create the FGMRES solver. - * - * \param self A parms_Solver object. - * \return 0 on success. - */ -int fgmres_create(parms_Solver self) -{ - fgmres_data fdata; - - PARMS_NEW(fdata); - fdata->restart = 30; - fdata->neigs = 0; - self->data =fdata; - PARMS_MEMCPY(self->ops, &parms_fgmres_sol, 1); - - return 0; -} - diff --git a/lib/parms/src/gmres.c b/lib/parms/src/gmres.c deleted file mode 100755 index b71abecb7..000000000 --- a/lib/parms/src/gmres.c +++ /dev/null @@ -1,425 +0,0 @@ -/*---------Left Preconditioned GMRES----------------------------------*/ -/*-------------------------------------------------------------------- - gmres_create : create the gmres solver. - gmres_free : free the memory for the gmres solver. - gmres_setksize : set the restart size of the gmres solver. - gmres_view : dump the gmres solver. - parms_gmres : the gmres solve function. - - $Id: gmres.c,v 1.4 2006-12-15 07:02:07 zzli Exp $ - ------------------------------------------------------------------*/ - -#if defined(__ICC) -#include -#else -#if defined(C99) -#include -#else -#include -#endif -#endif -#include "parms_vec.h" -#include "parms_mat.h" -#include "parms_pc.h" -#include "./include/parms_solver_impl.h" - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -typedef struct gmres_data { - int restart; - int neigs; -} *gmres_data; - -#define TINY 1.0e-20 -int parms_gmres(parms_Solver self, FLOAT *y, FLOAT *x) -{ - BOOL outflag, intflag; - int i, i1, pti, pti1, ptih, j, restart, its; - int ii, jj, k, k1, maxits, nloc, size, one = 1; - FLOAT *vv, *z, *hh, *s, *rs, *rvec, alpha, t1; - REAL eps1, tol, ro, t, *c; -#if defined(DBL_CMPLX) - FLOAT rot; -#else - REAL gam; -#endif - - parms_Mat A; - parms_PC pc; - parms_Map is; - gmres_data fdata; - - int rank; - MPI_Comm comm; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - - A = self->A; - pc = self->pc; - is = A->is; - fdata = (gmres_data)self->data; - restart = fdata->restart; - maxits = self->maxits; - tol = self->tol; - eps1 = tol; - nloc = parms_MapGetLocalSize(is); - comm = is->comm; - -/* --- first permute x and y for pARMS matrix structure ------*/ - parms_VecPerm(x, is); - parms_VecPerm(y, is); -/* ---- set isvecperm to true -----*/ - is->isvecperm = true; - -/*----- allocate memory for working local arrays -------*/ - -/* ---------allocate size for nx(m+1) matrix vv */ - size = nloc*(restart+1); - PARMS_NEWARRAY(vv, size); -/*-------- allocate size for nxm matrix z -----*/ - size = 2*nloc; - PARMS_NEWARRAY(z, size); - rvec = z + nloc; - -/*----- allocate memory for Hessenberg matrix (nonzeros only) - *----- and rotation vectors s and rs -------------------*/ - size = (((restart+1)*(restart+2)/2) - 1) + 2*(restart+1); - PARMS_NEWARRAY(hh, size); - - s = hh + ((restart+1)*(restart+2)/2) - 1; - rs = s + restart + 1; -/*--------- allocate memory for rotation matrix c ------- - * This is done separately since for complex valued systems - * c is still a real-valued vector, and hence cannot be - * allocated as sizeof(complex double) as is the case for - * s and rs and hh above --------------------------------*/ - PARMS_NEWARRAY(c, restart+1); - - /* outer loop starts here */ - its = 0; - - outflag = true; - while(outflag) { -/*------- Left preconditioning: compute Mr = b-Ax ------ */ -/*------ compute Ax = rvec -------*/ - parms_MatVec(A, x, rvec); - -/*-------- compute residual vector: rvec = b-Ax --------*/ - parms_VecAYPX(rvec, y, -1.0, is); - -/*--------- Precondition residual vector ---------------*/ - parms_PCApply(pc, rvec, vv); -/*--------- compute the norm of the residual -----------*/ - parms_VecGetNorm2(vv, &ro, is); -// if(fabs(ro-DBL_EPSILON) <= DBL_EPSILON*fabs(ro)) { - if(ABS_VALUE(ro) <= DBL_EPSILON) { - outflag = false; - break; - } - t1 = 1.0 / ro; - parms_VecScale(vv, t1, is); - if(its == 0) - eps1 = tol*ro; - -/* ----------initialize 1-st term of rhs of hessenberg system ------------*/ - - rs[0] = ro; - i = -1; - pti = 0; - pti1 = 0; - ptih = 0; - intflag = true; - while (intflag) { - i++; - its++; - i1 = i + 1; - pti = i*nloc; - pti1 = i1*nloc; - -/*---------- compute A*vv[i] = z --------------*/ - parms_MatVec(A, &vv[pti], z); - -/*---------- apply preconditioner -------------*/ - parms_PCApply(pc, z, &vv[pti1]); - -/*------------- classical Gram - Schmidt -------------------*/ -#if defined(DBL_CMPLX) -/* ----- Check for serial case ------ */ - if(is->isserial) - { - for(j=0; jisserial) - { - for(j=0; j TINY) { - t1 = 1.0 / t; - parms_VecScale(&vv[pti1], t1, is); - } - - /* done with classical Gram-Schmidt and Arnoldi step. now update - * factorization of hh */ -#if defined(DBL_CMPLX) - if (i != 0) { - for(k = 1; k <= i; k++) { - k1 = k-1; - t1 = hh[ptih+k1]; - - hh[ptih+k1] = c[k1]*t1 + s[k1]*hh[ptih+k]; - hh[ptih+k] = -conj(s[k1])*t1 + c[k1]*hh[ptih+k]; - } - } -/*-----------get next plane rotation------------ */ - zclartg(hh[ptih+i], hh[ptih+i1], &c[i], &s[i], &rot); - rs[i1] = -conj(s[i])*rs[i]; - rs[i] = c[i]*rs[i]; - hh[ptih+i] = rot; - ro = cabs(rs[i1]); -#else - if (i != 0) { - for(k=1; k<=i; k++){ - k1 = k-1; - t1 = hh[ptih+k1]; - - hh[ptih+k1] = c[k1]*t1 + s[k1]*hh[ptih+k]; - hh[ptih+k] = -s[k1]*t1 + c[k1]*hh[ptih+k]; - } - } -/*-----------get next plane rotation------------ */ - gam = sqrt(hh[ptih+i]*hh[ptih+i] + hh[ptih+i1]*hh[ptih+i1]); - /* - if gamma is zero then any small value will do ... - will affect only residual estimate - */ - if (fabs(gam) <= TINY) gam = TINY; - - /* determine-next-plane-rotation */ - c[i] = hh[ptih+i]/gam; - s[i] = hh[ptih+i1]/gam; - - rs[i1] = -s[i]*rs[i]; - rs[i] = c[i]*rs[i]; - /* determine res. norm and test for convergence */ - hh[ptih+i] = c[i]*hh[ptih+i] + s[i]*hh[ptih+i1]; - ro = fabs(rs[i1]); -#endif - -/*------------ Check for convergence ---------*/ - if ((i+1 >= restart) || (ro <= eps1) || its >= maxits) - intflag = false; - else -/*------------ update hh pointer ptih ---------*/ - ptih += i+2; - } - - /* now compute solution first solve upper triangular system */ - rs[i] = rs[i]/hh[ptih+i]; - for (ii = 1; ii <= i; ii++) { - k = i-ii; - k1 = k+1; - t1 = rs[k]; - for (j = k1; j <= i; j++) { - jj = ((j+1)*(j+2)/2) - 1; - t1 = t1 - hh[jj+k]*rs[j]; - } - jj = ((k+1)*(k+2)/2)-1; - rs[k] = t1/hh[jj+k]; - } -/* done with back substitution. now form linear combination to - * get solution */ - - for (j = 0; j <= i; j++) { - t1 = rs[j]; - parms_VecAXPY(x, &vv[j*nloc], t1, is); - } - /* test for return */ - /* if ((ro <= eps1) || (its >= maxits)) { (AF)*/ - if((ro <= tol) || (its >= maxits)) { - outflag = false; - } - } - - free(vv); - free(z); - free(hh); - free(c); - -/* reset isvecperm and do inverse permutation*/ - is->isvecperm = false; // this comes before inverse permutation - /* permutes x and y */ - parms_VecInvPerm(x, is); - parms_VecInvPerm(y, is); - - self->its = its; - return 0; -} - -static int gmres_getresidual(parms_Solver self, FLOAT *y, FLOAT *x, FLOAT *res) -{ - - parms_Mat A; - - A = self->A; - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - return 0; -} - -static int gmres_getresidualnorm2(parms_Solver self, FLOAT *y, FLOAT *x, REAL *rnorm) -{ - - int nloc; - FLOAT *res; - parms_Mat A; - parms_Map is; - - A = self->A; - is = A->is; - nloc = parms_MapGetLocalSize(is); - PARMS_NEWARRAY(res, nloc); - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - parms_VecGetNorm2(res, rnorm, is); - - PARMS_FREE(res); - - return 0; -} - - -static int gmres_free(parms_Solver *self) -{ - gmres_data fdata; - -/* free data associated with solver */ - fdata = (gmres_data)(*self)->data; - PARMS_FREE(fdata); - return 0; -} - -static int gmres_view(parms_Solver self, parms_Viewer v) -{ - FILE *fp; - char *name, *iluname; - int restart; - gmres_data fdata; - - fdata = (gmres_data)self->data; - restart = fdata->restart; - - parms_ViewerGetFP(v, &fp); - - fprintf(fp,"\n=============================\n"); - fprintf(fp," Solver Parameters \n"); - fprintf(fp,"=============================\n"); - - fprintf(fp, "Solver type = flexible gmres \n"); - - fprintf(fp, "maxits = %d \n", self->maxits); - fprintf(fp, "Relative tolerance = %-8.2e \n", self->tol); - - fprintf(fp, "Krylov dimension = %d \n", restart); - - parms_PCGetName(self->pc, &name); - parms_PCILUGetName(self->pc, &iluname); - fprintf(fp, "Global Preconditioner: %s\n", name); - fprintf(fp, "Local Preconditioner: %s\n", iluname); - - parms_ViewerGetFP(v, &fp); - - return 0; -} - -static int gmres_setksize(parms_Solver self, int restart) -{ - gmres_data fdata; - - fdata = (gmres_data)self->data; - fdata->restart = restart; - - return 0; -} - -static int gmres_setneig(parms_Solver self, int neigs) -{ - gmres_data fdata; - - fdata = (gmres_data)self->data; - fdata->neigs = neigs; - - return 0; -} - -static struct parms_Solver_ops parms_gmres_sol = { - parms_gmres, - gmres_getresidual, - gmres_getresidualnorm2, - gmres_setksize, - gmres_setneig, - gmres_free, - gmres_view -}; - - -/** Create the gmres solver. - * - * \param self A parms_Solver object. - * \return 0 on success. - */ -int gmres_create(parms_Solver self) -{ - gmres_data fdata; - - PARMS_NEW(fdata); - fdata->restart = 30; - fdata->neigs = 0; - self->data =fdata; - PARMS_MEMCPY(self->ops, &parms_gmres_sol, 1); - - return 0; -} - diff --git a/lib/parms/src/include/parms_comm_impl.h b/lib/parms/src/include/parms_comm_impl.h deleted file mode 100755 index b83374299..000000000 --- a/lib/parms/src/include/parms_comm_impl.h +++ /dev/null @@ -1,77 +0,0 @@ -/*! - \file parms_comm_impl.h - \brief parms_Comm structure file - - \author zzli - \date 2006-05-07 -*/ - -#ifndef _PARMS_COMM_IMPL_H_ -#define _PARMS_COMM_IMPL_H_ - -#include "parms_comm.h" -#include "parms_mem.h" - -/*! - \struct parms_Comm_ - */ -struct parms_Comm_ { - - int ref; - MPI_Comm comm; //!< The communicator. - COMMTYPE ctype; //!< The communication style. - /*! - \param npsend The number of processors receiving data from the local - processor. - */ - int npsend; - int *procs_send; //!< list of processors to be sent. - int *vlist_send; //!< list of variables to be sent. - /*! - \param ptrvsend An array of pointers to the beginning of the data - sent to the i-th processor in vlist_send. - */ - int *ptrvsend; - FLOAT *buf_send; //!< The send buffer. - MPI_Status *status_send; //!< The send status. - MPI_Request *req_send; //!< The send request. - /*! - \param isdt_alloc Indicate if the derived data type for sending - data is created or not. - */ - BOOL isdt_alloc; - /*! - \param mdata_send The maximum number of the data to be sent on each row. - */ - int mdata_send; - MPI_Datatype *dtype_send; //!< The derived send datatype - /*! - \param nprecv The number processors from which data are received - */ - int nprecv; - int nodv; //!< The number of external variables. - /*! - \param odvlist The list of external variables stored in processor - succession. - */ - int *odvlist; - /*! - \param novp The number of subdomains to which the variable is sent - */ - int *novp; - /*! - \param ptrvrecv An array of the beginning of data received from the - i-th processor. - */ - int *ptrvrecv; - /*! - \param procs_recv The list of processors from which the data are - received. - */ - int *procs_recv; - FLOAT *buf_recv; //!< The receive buffer. - MPI_Status *status_recv; //!< The receive status. - MPI_Request *req_recv; //!< The receive request. -}; - -#endif diff --git a/lib/parms/src/include/parms_map_impl.h b/lib/parms/src/include/parms_map_impl.h deleted file mode 100755 index 5ed5f3a1d..000000000 --- a/lib/parms/src/include/parms_map_impl.h +++ /dev/null @@ -1,87 +0,0 @@ -/*! - \file parms_map_impl.h - \brief The definition of the parms_Map struct. - - \author zzli - \date 2006-05-05 -*/ - -#ifndef _PARMS_MAP_IMPL_H_ -#define _PARMS_MAP_IMPL_H_ - -#include "parms_mem.h" -#include "parms_table.h" -#include "parms_map.h" - - -/*! \struct parms_Map_ - */ -struct parms_Map_ { - int ref; - parms_Table table; /**< contains pair (gindex,lindex) */ - MPI_Comm comm; /**< MPI communicator */ - int pid; /**< processor ID */ - int npro; /**< number of processors */ - int lsize; /**< number of local variables */ - int gsize; /**< number of global variables */ - /*! numbering style used. - * - * \f{tabular}{lcl} - * FORTRAN &-& 1 \\ - * C &-& 0 - * \f} - */ - int start; - /*! - The number of variables associated with each vertex. - */ - int dof; - /*! style of labelling variables u_i,v_i associated with the i-th vertex. - * - * - NONINTERLACED u_1,v_1,u_2,v_2. - * - * - INTERLACED u_1,u_2,\cdots,v_1,v_2. - */ - VARSTYPE vtype; - /*! array of size lsize, stores local variables in global labels */ - int *lvars; - BOOL isserial; //!< data layout on one processor? - /*! variables are permuted or not. - * -true: interior variables labelled first followed by interface - * variables */ - BOOL isperm; - BOOL isvecperm; /* used to check if vector has been permuted in gmres */ - BOOL ispermalloc; /* permutation array allocated? */ - int *perm; //!< permutation array of size lsize. - int *iperm; //!< inverse permutation array. - int nint; //!< number of interior variables. - int ninf; //!< number of interface variables. - /*! - \param schur_start start of the local Schur complement which - may be lesser than nbnd for the matrix with unsymmetric pattern - */ - int schur_start; - int ninf_send; //!< number of variables to be sent. - /*! - \param vsend array of size ninf_send which stores variables in local - indices - */ - int *vsend; - /*! - \parameters for external data contributions - */ - int n_ext; - int *ext_im; - /*! - \parameter data used to handle external vector contributions - */ - void *data; - BOOL isdatalloc; - /*! - \param vstable stores variables to be sent to adjacent processors in pairs - (local_index, index_in_vsend) - */ - parms_Table vstable; -}; - -#endif diff --git a/lib/parms/src/include/parms_mat_impl.h b/lib/parms/src/include/parms_mat_impl.h deleted file mode 100755 index 5cedf037c..000000000 --- a/lib/parms/src/include/parms_mat_impl.h +++ /dev/null @@ -1,154 +0,0 @@ -/*! - \file parms_mat_impl.h - \brief The matrix structure and functions - - \author zzli - \date 2006-05-08 -*/ - -#ifndef _PARMS_MAT_IMPL_H_ -#define _PARMS_MAT_IMPL_H_ - -#include "parms_mat.h" -#include "parms_operator.h" -#include "parms_map_impl.h" -#include "parms_table_impl.h" - -#define PARMS_MAT_FORMAT_KIND 0x00f00000 -#define PARMS_MAT_SHIFT 20 -#define PARMS_MAT_GET_KIND(a) (((a)&PARMS_MAT_FORMAT_KIND) >> PARMS_MAT_SHIFT) -#define PARMS_MAT_SET_KIND(a, kind) ((a)|(kind) << PARMS_MAT_SHIFT) - -/* -typedef int (*PARMS_ILU)(parms_Mat self, parms_FactParam param, void - *data, parms_Operator *op); -*/ - -/*! \struct parms_Mat_ops. - \brief struct parms_mat_ops. - */ -typedef struct parms_Mat_ops { - /*! function parameter: apply - \brief performs \f$y = self \times x\f$. - */ - int (*apply)(parms_Mat self, FLOAT *x, FLOAT *y); - /*! - Divide the local equation into diagonal part and off-diagonal - part. Set up communcation handler for matrix-vector product. - */ - int (*setup)(parms_Mat self); - /*! Set the communication type - \f{tabular}{ll} - P2P & Copying data into a temporary buffer \\ - DERIVED & Creating a derived datatype as in the old version of - pARMS. - \f} - */ - int (*setcommtype)(parms_Mat self, COMMTYPE ctype); - - /*! function parameter: mvpy - \brief Performs z = beta*y + alpha*self*x. - */ - int (*mvpy)(parms_Mat self, FLOAT alpha, FLOAT *x, FLOAT beta, - FLOAT *y, FLOAT *z); - - /*! function parameter: getdiag - \brief Get the diagonal part of the local matrix. - */ - int (*getdiag)(parms_Mat self, void **mat); - - - /*! function parameter: getoffdiag (used by pc_schurras) (AF) - \brief Get the offdiagonal part of the local matrix. - */ - int (*getoffdiag)(parms_Mat self, void **mat); - /*! function parameter: getlmat - \brief Get the local matrix including diagonal and off-diagonal - matrix. - */ - - int (*getlmat)(parms_Mat self, void **mat); - /*! function parameter: extend - \brief Extend the submatrix mat by including equations that - correspond to immediate neighbouring variables. - */ - int (*extend)(parms_Mat self, parms_Comm handler, int start, void - *mat, int *n, void **ext_mat); - /*! function Parameter: mvoffd - \brief The matrix-vector product for off-diagonal part. - */ - int (*mvoffd)(parms_Mat self, FLOAT *x, FLOAT *y, int pos); - - /*! function Parameter: matfree - \brief Free the matrix mat. - */ - int (*matfree)(parms_Mat self, void *mat); - - /*! function Parameter: gethandler - \brief Get the communication handler for mv product. - */ - int (*gethandler)(parms_Mat self, parms_Comm *handler); -} *parms_Mat_ops; - - -/*! \struct parms_vcsr. - \ Description: struct parms_vcsr. - */ -typedef struct parms_vcsr { - int n; //!< the dimension of the matrix - int *nnzrow; //!< the length of each row - int *space; //!< length of space ( a work array) - int off_proc_n; //!< size of off-processor contributions - /*! - Parameter: pj = An indirect pointer to store column indices. - */ - int **pj; - /*! parameter: pa = An indirect pointer to store corresponding nonzero entries. - */ - FLOAT **pa; - - int *pj_data; - FLOAT *pa_data; -} *parms_vcsr; - -/*! \struct parms_Mat_ - \Description: struct parms_Mat_ - */ -struct parms_Mat_ { - - int ref; - parms_Mat_ops ops; - void *data; - BOOL isserial; - BOOL issetup; - BOOL isperm; - BOOL isalloc; - BOOL isreset; - NNZSTRUCT resetpattern; - MATTYPE type; - PCILUTYPE ilutype; - int m,n; - int M,N; - parms_Map is; - parms_vcsr aux_data; -/* data for external contributions */ - parms_vcsr ext_data; - BOOL isassembled; -/* Table to track count of offdiagonal variables. - * This allows efficient update of the hash table - * for the variables, when a row is reset. -*/ - parms_Table odtable; -}; - - -/* external function protos */ -extern int parms_MatCreate_vcsr(parms_Mat self); -extern int parms_MatCreate_dvcsr(parms_Mat self); -extern int parms_MatFree_dvcsr(parms_Mat *self); -extern int parms_MatView_vcsr(parms_Mat self, parms_Viewer v); -extern int parms_MatViewCOO_vcsr(parms_Mat self, parms_Viewer v); -extern int parms_MatView_dvcsr(parms_Mat self, parms_Viewer v); -extern int parms_MatViewCOO_dvcsr(parms_Mat self, parms_Viewer v); - -#endif diff --git a/lib/parms/src/include/parms_opt_impl.h b/lib/parms/src/include/parms_opt_impl.h deleted file mode 100755 index 9631ed6a9..000000000 --- a/lib/parms/src/include/parms_opt_impl.h +++ /dev/null @@ -1,38 +0,0 @@ -#ifndef _PARMS_OPERATOR_IMPL_H_ -#define _PARMS_OPERATOR_IMPL_H_ - -#include "parms_vec.h" -#include "parms_operator.h" -#include "parms_mat_impl.h" - -typedef struct parms_Operator_ops{ - int (*apply)(parms_Operator self, FLOAT *y, FLOAT *x); - int (*lsol)(parms_Operator self, FLOAT *y, FLOAT *x); - int (*invs)(parms_Operator self, FLOAT *y, FLOAT *x); - int (*getu)(parms_Operator self, void **mat); - int (*ascend)(parms_Operator self, FLOAT *y, FLOAT *x); - int (*getssize)(parms_Operator self); - void (*getnnz)(parms_Operator self, int *nnz_mat, int - *nnz_pc); - int (*operator_free)(parms_Operator *self); - int (*operator_view)(parms_Operator self, parms_Viewer v); -} *parms_Operator_ops; - -struct parms_Operator_ { - int ref; - parms_Operator_ops ops; - void *data; -}; - -/*-----external function protos--------*/ -extern int parms_ilu0_vcsr(parms_Mat self, parms_FactParam param, void *data, parms_Operator *op); -extern int parms_iluk_vcsr(parms_Mat self, parms_FactParam param, void *data, parms_Operator *op); -extern int parms_ilut_vcsr(parms_Mat self, parms_FactParam param, void *data, parms_Operator *op); -extern int parms_arms_vcsr(parms_Mat self, parms_FactParam param, void *data, parms_Operator *op); - -/* reuse LU-Factorization (AF) */ -extern int parms_ilu_update(parms_Mat self, parms_FactParam param, void *data, parms_Operator *op); - -/*----------End Protos------------------*/ - -#endif diff --git a/lib/parms/src/include/parms_pc_impl.h b/lib/parms/src/include/parms_pc_impl.h deleted file mode 100755 index 19dd0d4d4..000000000 --- a/lib/parms/src/include/parms_pc_impl.h +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef _PARMS_PC_IMPL_H_ -#define _PARMS_PC_IMPL_H_ - -#include "parms_pc.h" -#include "parms_vec.h" -#include "parms_mat_impl.h" -#include "parms_viewer.h" - -typedef struct parms_PC_ops { - int (*apply)(parms_PC self, FLOAT *y, FLOAT *x); - int (*setup)(parms_PC self); - int (*getratio)(parms_PC self, double *ratio); - int (*pc_free)(parms_PC *self); - int (*pc_view)(parms_PC self, parms_Viewer v); -} *parms_PC_ops; - -extern char *pcname[]; -extern char *pciluname[]; - -struct parms_PC_ { - - int ref; - parms_PC_ops ops; - void *data; - parms_Mat A; - BOOL istypeset; - BOOL isiluset; - BOOL issetup; - BOOL isopset; - BOOL isperm; - int *perm; - int *iperm; - parms_FactParam param; - PCTYPE pctype; - PCILUTYPE pcilutype; -}; - -/*-----external function protos--------*/ -extern int parms_PCCreate_BJ(parms_PC self); -extern int parms_PCCreate_Schur(parms_PC self); -extern int parms_PCCreate_RAS(parms_PC self); -/* additional PC based on Li Z, Saad Y: SchurRAS: A restricted version of the - overlapping Schur complement preconditioner, Report umsi-2004-76, Minnesota - Supercomputer Institute, University of Minnesota, Minneapolis, MN, 2004.(AF)*/ -extern int parms_PCCreate_Schurras(parms_PC self); -/*----------End Protos------------------*/ - -#endif diff --git a/lib/parms/src/include/parms_solver_impl.h b/lib/parms/src/include/parms_solver_impl.h deleted file mode 100755 index 60d98f74f..000000000 --- a/lib/parms/src/include/parms_solver_impl.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef _PARMS_SOLVER_IMPL_H_ -#define _PARMS_SOLVER_IMPL_H_ - -#include "parms_operator.h" -#include "parms_solver.h" -#include "parms_mat_impl.h" -#include "parms_pc_impl.h" - -typedef struct parms_Solver_ops { - int (*apply)(parms_Solver self, FLOAT *y, FLOAT *x); - int (*getresidual)(parms_Solver self, FLOAT *y, FLOAT *x, FLOAT *res); - int (*getresidualnorm2)(parms_Solver self, FLOAT *y, FLOAT *x, REAL *rnorm); - int (*setksize)(parms_Solver self, int restart); - int (*setneig)(parms_Solver self, int neig); - int (*solver_free)(parms_Solver *self); - int (*solver_view)(parms_Solver self, parms_Viewer v); -} *parms_Solver_ops; - -struct parms_Solver_ { - - int ref; - parms_Solver_ops ops; - void *data; - SOLVERTYPE stype; - BOOL istypeset; - int maxits; - double tol; - int its; - parms_Mat A; - parms_PC pc; -}; - -/* external function protos */ -extern int fgmres_create(parms_Solver self); -extern int parms_fgmres(parms_Solver self, FLOAT *y, FLOAT *x); - -extern int gmres_create(parms_Solver self); -extern int parms_gmres(parms_Solver self, FLOAT *y, FLOAT *x); -/* extern int dgmres_create(parms_Solver self); */ - -/* additional Solver Type (AF) */ -extern int bicgstab_create(parms_Solver self); -extern int parms_bicgstab(parms_Solver self, FLOAT *y, FLOAT *x); - -/* additional Solver Type (NR) */ -extern int cg_create(parms_Solver self); -extern int parms_cg(parms_Solver self, FLOAT *y, FLOAT *x); -extern int pbicgstab_create(parms_Solver self); -extern int parms_pbicgstab(parms_Solver self, FLOAT *y, FLOAT *x); -extern int pbicgstabras_create(parms_Solver self); -extern int parms_pbicgstabras(parms_Solver self, FLOAT *y, FLOAT *x); -extern int bicgstabras_create(parms_Solver self); -extern int parms_bicgstabras(parms_Solver self, FLOAT *y, FLOAT *x); - -#endif diff --git a/lib/parms/src/include/parms_table_impl.h b/lib/parms/src/include/parms_table_impl.h deleted file mode 100755 index 203255ff3..000000000 --- a/lib/parms/src/include/parms_table_impl.h +++ /dev/null @@ -1,37 +0,0 @@ -/*! - \file parms_table_impl.h - \brief parms_Table is used for parms_Map object to insert pairs - (global_index, local_index) into the table. - - \author zzli - \date 2006-05-05 -*/ - -#ifndef _PARMS_TABLE_IMPL_H_ -#define _PARMS_TABLE_IMPL_H_ - -#include "parms_mem.h" -#include "parms_table.h" - -/*! typedef Slot -*/ -/*! \struct Slot - \brief structure Slot - */ -typedef struct Slot { - struct Slot *link; //!< pointer to a next entry in this slot. - int key; //!< key in a pair (key,value) - int value; //!< value in a pair (key, value) -} Slot; - -/*! \struct parms_Table_ - \brief parms_Table_ structure. - */ -struct parms_Table_ { - Slot **Slots; //!< array of a pointer array to struct Slot - HashFcn hf; //!< function pointer to a hash function. - int space; //!< size of array Slots. - int size; //!< number of pairs in the table. -}; - -#endif diff --git a/lib/parms/src/include/parms_timer_impl.h b/lib/parms/src/include/parms_timer_impl.h deleted file mode 100755 index bddd9ac2b..000000000 --- a/lib/parms/src/include/parms_timer_impl.h +++ /dev/null @@ -1,31 +0,0 @@ -/*! - \file parms_timer_impl.h - \brief parms_Timer structure - - \author zzli - \date 2006-05-05 -*/ - -#ifndef _PARMS_TIMER_IMPL_H_ -#define _PARMS_TIMER_IMPL_H_ - -#include "parms_mem.h" -#include "parms_timer.h" - -/*! \struct parms_Timer_ - \brief parms_Timer_ structure. - */ -struct parms_Timer_ { - - int ref; - /*! \var initial_time - \brief initial time - */ - double initial_time; - /*! \var elapsed_time - \brief elapsed time so far. - */ - double elapsed_time; -}; - -#endif diff --git a/lib/parms/src/include/parms_viewer_impl.h b/lib/parms/src/include/parms_viewer_impl.h deleted file mode 100755 index 19c5bc8f4..000000000 --- a/lib/parms/src/include/parms_viewer_impl.h +++ /dev/null @@ -1,26 +0,0 @@ -/*! - \file parms_viewer_impl.h - \brief parms_Viewer object. - - \author zzli - \date 2006-05-05 -*/ - -#ifndef _PARMS_VIEWER_IMPL_H_ -#define _PARMS_VIEWER_IMPL_H_ - -#include -#include "parms_viewer.h" -#include "parms_mem.h" - -/*! \struct parms_Viewer_ - \brief parms_Viewer_ structure. - */ -struct parms_Viewer_ { - int ref; - BOOL isstd; //!< is stdout or stderr - FILE *fp; //!< file pointer - char *fname; //!< file name -}; - -#endif diff --git a/lib/parms/src/parms_comm.c b/lib/parms/src/parms_comm.c deleted file mode 100755 index 6fdd9a777..000000000 --- a/lib/parms/src/parms_comm.c +++ /dev/null @@ -1,402 +0,0 @@ -/*-------------------------------------------------------------------- - parms_CommCreate : create a communication handler - parms_CommDataBegin : start data communication - parms_CommDataEnd : end data communication - parms_CommFree : free the memory for the communication handler - parms_CommGetNumRecv : get the number of the data to be received - parms_CommGetNumSend : get the number of the data to be sent - parms_CommGetRecvBuf : get the receive buffer - parms_CommView : dump the communication handler - - A code fragment for using above functions: - - parms_Comm comm; - double *data; - - // create a communication handler - parms_CommCreate(comm, MPI_COMM_WORLD); - - // exchange data - parms_CommDataBegin(comm, data, 0); - parms_CommDataEnd(comm); - - // free the memory for the comm. handler - parms_CommFree(comm); - - $Id: parms_comm.c,v 1.1.1.1 2006-11-27 22:28:01 zzli Exp $ ---------------------------------------------------------------------*/ - -#include "./include/parms_comm_impl.h" - -/** - * Create a parms_Comm object. - * - * @param self A pointer to the parms_Comm object. - * @param comm MPI communicator - * - * @return 0 on success. - */ -int parms_CommCreate(parms_Comm *self, MPI_Comm comm) -{ - parms_Comm comm_handler; - PARMS_NEW0((comm_handler)); - comm_handler->ref = 1; - MPI_Comm_dup(comm, &comm_handler->comm); - - /* communication via packed data rather than derived datatype */ - comm_handler->ctype = P2P; - - /* the derived datatype created or not? */ - comm_handler->isdt_alloc = false; - - /* the number of PEs to which this PE sends data */ - comm_handler->npsend = 0; - - /* the ids of the PEs to which this PE sends data */ - comm_handler->procs_send = NULL; - - /* list of local vars sent to other PEs */ - comm_handler->vlist_send = NULL; - - /* the pointer array to the beginning position of the data sent to - procs_send[i] in vlist_send */ - comm_handler->ptrvsend = NULL; - - /* send buffer */ - comm_handler->buf_send = NULL; - - /* MPI send status */ - comm_handler->status_send = NULL; - - /* MPI send request */ - comm_handler->req_send = NULL; - - /* derived datatype */ - comm_handler->dtype_send = NULL; - - /* the number of PEs from which this PE receives data */ - comm_handler->nprecv = 0; - - /* the ids of the PEs from which this PE receives data */ - comm_handler->procs_recv = NULL; - - /* number of data received */ - comm_handler->nodv = 0; - - /* list of data received */ - comm_handler->odvlist = NULL; - - /* the pointer array to the beginning position of the data received from - procs_send[i] in odvlist */ - comm_handler->ptrvrecv = NULL; - - /* receive buffer */ - comm_handler->buf_recv = NULL; - - /* MPI receive status */ - comm_handler->status_recv = NULL; - - /* MPI receive request */ - comm_handler->req_recv = NULL; - - *self = comm_handler; - return 0; -} - -/** - * Free the memory for the parms_Comm object. - * - * @param self A pointer to the parms_Comm object. - * - * @return 0 on success. - */ -int parms_CommFree(parms_Comm *self) -{ - int i; - - // PARMS_VALIDCOMMPTR(*self); - /* decrease the reference number */ - (*self)->ref--; - /* if reference number is zero (the object is not referenced by - other objects), then remove the object*/ - if ((*self)->ref == 0 ) { - if ((*self)->npsend) { - PARMS_FREE((*self)->procs_send); - PARMS_FREE((*self)->vlist_send); - PARMS_FREE((*self)->buf_send); - if ((*self)->isdt_alloc) { - for (i = 0; i < (*self)->npsend; i++) { - MPI_Type_free(&(*self)->dtype_send[i]); - } - PARMS_FREE((*self)->dtype_send); - } - } - PARMS_FREE((*self)->ptrvsend); - PARMS_FREE((*self)->ptrvrecv); - if ((*self)->nprecv) { - PARMS_FREE((*self)->procs_recv); - PARMS_FREE((*self)->odvlist); - PARMS_FREE((*self)->buf_recv); - } - if ((*self)->npsend + (*self)->nprecv) { - PARMS_FREE((*self)->status_send); - PARMS_FREE((*self)->req_send); - } - MPI_Comm_free(&(*self)->comm); - PARMS_FREE(*self); - } - return 0; -} - -/** - * Dump the communication handler comm. - * - * @param self A communication handler. - * @param v A parms_Viewer object. - * - * @return 0 on success. - */ -int parms_CommView(parms_Comm self, parms_Viewer v) -{ - FILE *fp; - int i, j; - - parms_ViewerGetFP(v, &fp); - fprintf(fp, "=====Dump the content of parms_Comm=====\n"); - fprintf(fp, "npsend = %d\n", self->npsend); - for (i = 0; i < self->npsend; i++) { - fprintf(fp, "Sending data to processor%d\n", self->procs_send[i]); - } - for (i = 0; i < self->npsend; i++) { - fprintf(fp, "The data in local indices sent to processor %d\n", - self->procs_send[i]); - for (j = self->ptrvsend[i]; j < self->ptrvsend[i+1]; j++) { - fprintf(fp, "vlist_send[%d] = %d\n", j, self->vlist_send[j]); - } - } - - fprintf(fp, "nprecv = %d\n", self->nprecv); - for (i = 0; i < self->nprecv; i++) { - fprintf(fp, "Receiving data from processor%d\n", self->procs_recv[i]); - } - fprintf(fp, "========================================\n"); - parms_ViewerStoreFP(v, fp); - return 0; -} - -/** - * Start communication among neighbouring processors. - * - * If the self->ctype is set to P2P, then the data are copied to the - * send buffer, self->buf_send, otherwise, the data are sent directly. - * - * The parameter, pos, indicates the offset of the parameter, data, to - * the beginning of the local part of the distributed vector and - * matrix. - * - * @param self A communication handler. - * @param data The data to be sent. - * @param pos The distance between the beginning of the parameter - * data and the beginning of the local part of the - * distirbuted vector. - * - * @return 0 on success. - */ -int parms_CommDataBegin(parms_Comm self, void *data, int pos) -{ - FLOAT *data_send; - MPI_Comm comm; - int i, j, index, start, end, length, tag; - - data_send = (FLOAT *)data; - comm = self->comm; - tag = 100; -#if defined(DBL_CMPLX) - for (i = 0; i < self->nprecv; i++) { - start = self->ptrvrecv[i]; - end = self->ptrvrecv[i+1]; - length = end - start; - MPI_Irecv(&self->buf_recv[start], length, MPI_CMPLX, - self->procs_recv[i], tag, comm, &self->req_recv[i]); - } - if (self->ctype == P2P) { - for (i = 0; i < self->npsend; i++) { - start = self->ptrvsend[i]; - end = self->ptrvsend[i+1]; - length = end - start; - /* copy data to the send buffer */ - for (j = start; j < end; j++) { - index = self->vlist_send[j]; - self->buf_send[j] = data_send[index-pos]; - } - MPI_Isend(&self->buf_send[start], length, MPI_CMPLX, - self->procs_send[i], tag, comm, &self->req_send[i]); - } - } - else if (self->ctype == DERIVED) { - if (self->isdt_alloc == false) { - int *blen, *disp_index; - - if (self->npsend) { - PARMS_NEWARRAY(blen, self->mdata_send); - PARMS_NEWARRAY(disp_index, self->mdata_send); - PARMS_NEWARRAY(self->dtype_send, self->npsend); - - } - for (i = 0; i < self->npsend; i++) { - start = self->ptrvsend[i]; - end = self->ptrvsend[i+1]; - length = end - start; - for (j = start; j < end; j++) { - disp_index[j-start] = self->vlist_send[j]-pos; - blen[j-start] = 1; - } - MPI_Type_indexed(length, blen, disp_index, MPI_CMPLX, - &self->dtype_send[i]); - MPI_Type_commit(&self->dtype_send[i]); - } - self->isdt_alloc = true; - } - - for (i = 0; i < self->npsend; i++) { - MPI_Isend(data_send-pos, 1, self->dtype_send[i], - self->procs_send[i], tag, comm, &self->req_send[i]); - } - } -#else - for (i = 0; i < self->nprecv; i++) { - start = self->ptrvrecv[i]; - end = self->ptrvrecv[i+1]; - length = end - start; - MPI_Irecv(&self->buf_recv[start], length, MPI_DOUBLE, - self->procs_recv[i], tag, comm, &self->req_recv[i]); - } - if (self->ctype == P2P) { - for (i = 0; i < self->npsend; i++) { - start = self->ptrvsend[i]; - end = self->ptrvsend[i+1]; - length = end - start; - /* copy data to the send buffer */ - for (j = start; j < end; j++) { - index = self->vlist_send[j]; - self->buf_send[j] = data_send[index-pos]; - } - MPI_Isend(&self->buf_send[start], length, MPI_DOUBLE, - self->procs_send[i], tag, comm, &self->req_send[i]); - } - } - else if (self->ctype == DERIVED) { - if (self->isdt_alloc == false) { - int *blen, *disp_index; - - if (self->npsend) { - PARMS_NEWARRAY(blen, self->mdata_send); - PARMS_NEWARRAY(disp_index, self->mdata_send); - PARMS_NEWARRAY(self->dtype_send, self->npsend); - - } - for (i = 0; i < self->npsend; i++) { - start = self->ptrvsend[i]; - end = self->ptrvsend[i+1]; - length = end - start; - for (j = start; j < end; j++) { - disp_index[j-start] = self->vlist_send[j]-pos; - blen[j-start] = 1; - } - MPI_Type_indexed(length, blen, disp_index, MPI_DOUBLE, - &self->dtype_send[i]); - MPI_Type_commit(&self->dtype_send[i]); - } - self->isdt_alloc = true; - } - - for (i = 0; i < self->npsend; i++) { - MPI_Isend(data_send-pos, 1, self->dtype_send[i], - self->procs_send[i], tag, comm, &self->req_send[i]); - } - } -#endif - - return 0; -} - -/** - * Wait for all communication requests. - * - * Data in the receive buffer can be used safely after calling this - * functions. - * - * @param self A communication handler. - * - * @return 0 on success. - */ -int parms_CommDataEnd(parms_Comm self) -{ - int npsend, nprecv; - MPI_Status *status_send, *status_recv; - MPI_Request *req_send, *req_recv; - - npsend = self->npsend; - nprecv = self->nprecv; - // status_send = self->status_send; - // status_recv = self->status_recv; - req_send = self->req_send; - req_recv = self->req_recv; - - // MPI_Waitall(nprecv, req_recv, status_recv); - // MPI_Waitall(npsend, req_send, status_send); - - MPI_Waitall(nprecv, req_recv, MPI_STATUSES_IGNORE); - MPI_Waitall(npsend, req_send, MPI_STATUSES_IGNORE); - - return 0; -} - -/** - * Get receive buffer. - * - * @param self A communication handler. - * @param rbuf Receive buffer. - * - * @return 0 on success. - */ -int parms_CommGetRecvBuf(parms_Comm self, FLOAT **rbuf) -{ - - *rbuf = self->buf_recv; - return 0; -} - -/** - * Get the number of the data received. - * - * @param self A communication handler. - * - * @return The number of data received. - */ -int parms_CommGetNumRecv(parms_Comm self) -{ - - return self->nodv; -} - -/** - * Get the number of data to be sent. - * - * @param self A communication handler. - * - * @return The number of data to be sent. - */ -int parms_CommGetNumSend(parms_Comm self) -{ - - return self->ptrvsend[self->npsend]; -} - - -/* used by SCHURRAS (AF) */ -int parms_CommGetOdvlist(parms_Comm self, int **odvlist) -{ - *odvlist = self->odvlist; - return 0; -} diff --git a/lib/parms/src/parms_complex.c b/lib/parms/src/parms_complex.c deleted file mode 100755 index eb81c6b80..000000000 --- a/lib/parms/src/parms_complex.c +++ /dev/null @@ -1,104 +0,0 @@ -#include -#include -#include -#include -#include "parms_sys.h" - -#if defined(DBL_CMPLX) -#define epsmac 1.0e-16 - -/*---------------------------------------------------------------------------* - * A C implementation of the LAPACK auxilliary routine clartg.f. - * Computes the plane givens rotation so that: - * - * [ CS SN ] . [ F ] = [ rot ] - * [ -conjg(SN) CS ] [ G ] [ 0 ] - * - * where CS**2 + |SN|**2 = 1 and Re(rot) >= 0. - * - * The algorithm implements both parts of the LAPACK3E clartg routine - * and algorithm 3 in "On computing Givens Rotations Reliably and Efficiently" - * by Bindel et al. - *---------------------------------------------------------------------------*/ - -/* Auxilliary functions */ -/* -------------------------------------------*/ -double sgn(double x, double y){ - /* Sign transfer function */ - if (y >= 0.0) return fabs(x); - else return -fabs(x); -} -double sign(double x){ - return x/fabs(x); -} -double abs1(complex double x){ - return fabs(creal(x)) + fabs(cimag(x)); -} -double abssq(complex double x){ - return (pow(creal(x), 2) + pow(cimag(x),2)); - // return cpow(cabs(x),2); -} -/* ----------------------------------------------*/ - -/* Givens Rotation */ -void zclartg(complex double f, complex double g, double *cs, complex double *sn, complex double *rot) -{ - double one=1.0, zero=0.0; - complex double czero = 0.0 + 0.0*I; - double D, F2, G2, FG2; - if (cabs(g) <= epsmac) { - *cs = sgn(one, creal(f)); - *sn = czero; - *rot = f*(*cs); - } - else if (cabs(f) <= epsmac){ - *cs = zero; - *sn = conj(g)/cabs(g); - *rot = cabs( g ); - } - else{ - F2 = abssq(f); - G2 = abssq( g ); - FG2 = F2 + G2; - if(fabs(FG2) <= epsmac) FG2 = epsmac; - D = 1/sqrt(F2*FG2); - *cs = F2 * D; - FG2 = FG2*D; - *rot = f*FG2; - *sn = f*D; - *sn = conj(g)*(*sn); - } -} - -/*-------------- complex addition operation for MPI -----*/ -/* This function defines the addition operation for an array - * of complex numbers, for use in MPI reduction operations. - * It is defined here, but not use, since everything seems to - * work well with MPI_SUM when the complex number is defined - * as a contiguous array of two doubles (see definition for MPI_CMPLX). - */ -void complex_sum(complex_type *in, complex_type *inout, int *len, MPI_Datatype *data_ptr) -{ - int i; - complex_type sum; - for(i = 0; i<(*len); i++) - { - sum.real = in->real + inout->real; - sum.imag = in->imag + inout->imag; - *inout = sum; - in++; - inout++; - } -} - -/* ----------------- Initialize complex data type and ops for MPI ----*/ -void parms_InitComplex() -{ - MPI_Type_contiguous(2, MPI_DOUBLE, &MPI_CMPLX); - MPI_Type_commit( &MPI_CMPLX ); - - MPI_Op_create((MPI_User_function *)complex_sum, true, &MPI_CMPLX_SUM); -} - - -#endif diff --git a/lib/parms/src/parms_ilu_vcsr.c b/lib/parms/src/parms_ilu_vcsr.c deleted file mode 100755 index 17169e210..000000000 --- a/lib/parms/src/parms_ilu_vcsr.c +++ /dev/null @@ -1,1747 +0,0 @@ -#include -#include "include/parms_mat_impl.h" -#include "include/parms_opt_impl.h" -#include "DDPQ/protos.h" - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -typedef struct parms_ilu_data { - parms_vcsr L; - parms_vcsr U; - int schur_start; - int n; - int *nnzschur; - int nnz_mat; - int nnz_prec; -} *parms_ilu_data; - -/* -int qsplitCF(FLOAT *a, int *ind, int n, int ncut); -void qqsort(int *ja, FLOAT *ma, int left, int right); -*/ - -static int parms_ilu_free(parms_Operator *self) -{ - parms_ilu_data data; - int n, nnz, i, *pj; - FLOAT *pa; - - data = (parms_ilu_data)(*self)->data; - n = data->L->n; - - for (i = 0; i < n; i++) { - nnz = data->L->nnzrow[i]; - pj = data->L->pj[i]; - pa = data->L->pa[i]; - if (nnz) { - PARMS_FREE(pj); - PARMS_FREE(pa); - } - } - PARMS_FREE(data->L->nnzrow); - PARMS_FREE(data->L->pj); - PARMS_FREE(data->L->pa); - PARMS_FREE(data->L); - - n = data->U->n; - for (i = 0; i < n; i++) { - nnz = data->U->nnzrow[i]; - pj = data->U->pj[i]; - pa = data->U->pa[i]; - if (nnz) { - PARMS_FREE(pj); - PARMS_FREE(pa); - } - } - - PARMS_FREE(data->U->nnzrow); - PARMS_FREE(data->U->pj); - PARMS_FREE(data->U->pa); - PARMS_FREE(data->U); - - if (data->n - data->schur_start){ - PARMS_FREE(data->nnzschur); - } - - PARMS_FREE(data); - return 0; -} - -static int parms_ilu_view(parms_Operator self, parms_Viewer v) -{ - parms_ilu_data data; - int i, j, n, nnz, *pj; - FLOAT *pa; - FILE *fp; - - parms_ViewerGetFP(v, &fp); - data = (parms_ilu_data)self->data; - n = data->L->n; - fprintf(fp, "L part of the matrix:\n"); - fprintf(fp, "n = %d\n", n); -#if defined(DBL_CMPLX) - for (i = 0; i < n; i++) { - nnz = data->L->nnzrow[i]; - pj = data->L->pj[i]; - pa = data->L->pa[i]; - fprintf(fp, "nnzrow[%d]=%d\n", i, nnz); - for (j = 0; j < nnz; j++) { - fprintf(fp, "(%d,%d,%f %f) ", i, pj[j], creal(pa[j]), cimag(pa[j])); - } - } - n = data->U->n; - fprintf(fp, "U part of the matrix:\n"); - fprintf(fp, "n = %d\n", n); - for (i = 0; i < n; i++) { - nnz = data->U->nnzrow[i]; - pj = data->U->pj[i]; - pa = data->U->pa[i]; - fprintf(fp, "nnzrow[%d]=%d\n", i, nnz); - for (j = 0; j < nnz; j++) { - fprintf(fp, "(%d,%d,%f %f) ", i, pj[j], creal(pa[j]), cimag(pa[j])); - } - } -#else - for (i = 0; i < n; i++) { - nnz = data->L->nnzrow[i]; - pj = data->L->pj[i]; - pa = data->L->pa[i]; - fprintf(fp, "nnzrow[%d]=%d\n", i, nnz); - for (j = 0; j < nnz; j++) { - fprintf(fp, "(%d,%d,%f) ", i, pj[j], pa[j]); - } - } - n = data->U->n; - fprintf(fp, "U part of the matrix:\n"); - fprintf(fp, "n = %d\n", n); - for (i = 0; i < n; i++) { - nnz = data->U->nnzrow[i]; - pj = data->U->pj[i]; - pa = data->U->pa[i]; - fprintf(fp, "nnzrow[%d]=%d\n", i, nnz); - for (j = 0; j < nnz; j++) { - fprintf(fp, "(%d,%d,%f) ", i, pj[j], pa[j]); - } - } -#endif - parms_ViewerStoreFP(v, fp); - return 0; -} - -static void parms_ilu_nnz_vcsr(parms_Operator self, int *nnz_mat, int *nnz_pc) -{ - parms_ilu_data data; - - data = (parms_ilu_data)self->data; - *nnz_mat = data->nnz_mat; - *nnz_pc = data->nnz_prec; -} - -static int parms_ilu_lsol_vcsr(parms_Operator self, FLOAT *y, FLOAT - *x) -{ - parms_ilu_data data; - parms_vcsr L; - int n, i, j, nnz, *pj, start; - FLOAT *pa, t; - - data = (parms_ilu_data)self->data; - start = data->schur_start; - L = data->L; - n = L->n; - for (i = 0; i < start; i++) { - nnz = L->nnzrow[i]; - pj = L->pj[i]; - pa = L->pa[i]; - t = y[i]; - for (j = 0; j < nnz; j++) { - t -= pa[j] * x[pj[j]]; - } - x[i] = t; - } - - for (i = start; i < n; i++) { - pj = L->pj[i]; - pa = L->pa[i]; - t = y[i]; - nnz = data->nnzschur[i-start]; - for (j = 0; j < nnz; j++) { - t -= pa[j] * x[pj[j]]; - } - x[i] = t; - } - - return 0; -} - -static int parms_ilu_invs_vcsr(parms_Operator self, FLOAT *y, FLOAT - *x) -{ - parms_ilu_data data; - parms_vcsr L, U; - int n, i, j, nnz, start, *pj, nnzS; - FLOAT *pa, t, diag; - - data = (parms_ilu_data)self->data; - start = data->schur_start; - L = data->L; - n = L->n; - for (i = start; i < n; i++) { - nnz = L->nnzrow[i]; - pj = L->pj[i]; - pa = L->pa[i]; - t = y[i-start]; - nnzS = data->nnzschur[i-start]; - for (j = nnzS; j < nnz; j++) { - t -= pa[j] * x[pj[j]-start]; - } - x[i-start] = t; - } - - U = data->U; - for (i = n-1; i >= start; i--) { - nnz = U->nnzrow[i]; - pj = U->pj[i]; - pa = U->pa[i]; - t = x[i-start]; - diag = pa[0]; - for (j = 1; j < nnz; j++) { - t -= pa[j] * x[pj[j]-start]; - } - x[i-start] = t*diag; - } - return 0; -} - -static int parms_ilu_getu_vcsr(parms_Operator self, void **mat) -{ - parms_ilu_data data; - parms_vcsr U, S; - int i, n, start, nnz; - - data = (parms_ilu_data)self->data; - start = data->schur_start; - U = data->U; - *mat = U; - return 0; -} - - -static int parms_ilu_ascend_vcsr(parms_Operator self, FLOAT *y, FLOAT - *x) -{ - parms_ilu_data data; - parms_vcsr U; - int i, j, nnz, start, *pj; - FLOAT *pa, t, diag; - - data = (parms_ilu_data)self->data; - - U = data->U; - start = data->schur_start; - - for (i = start-1; i >= 0; i--) { - nnz = U->nnzrow[i]; - pj = U->pj[i]; - pa = U->pa[i]; - t = y[i]; - diag = pa[0]; - for (j = 1; j < nnz; j++) { - t -= pa[j] * x[pj[j]]; - } - x[i] = t*diag; - } - return 0; -} - -static int parms_ilu_sol_vcsr(parms_Operator self, FLOAT *y, - FLOAT *x) -{ - FLOAT *pa; - parms_ilu_data data; - parms_vcsr L, U; - int i, j, n, *pj, nnz; - - data = (parms_ilu_data)self->data; - L = data->L; - U = data->U; - n = L->n; - - for (i = 0; i < n; i++) { - // nnz = L->nnzrow[i]; - pj = L->pj[i]; - pa = L->pa[i]; - x[i] = y[i]; - - for (j = 0; j < L->nnzrow[i]; j++) { - x[i] -= pa[j] * x[pj[j]]; - } - } - - for (i = n-1; i >= 0; i--) { - // nnz = U->nnzrow[i]; - pj = U->pj[i]; - pa = U->pa[i]; - - for (j = 1; j < U->nnzrow[i]; j++) { - x[i] -= pa[j] * x[pj[j]]; - } - x[i] *= pa[0]; // pa[0] = diag - } - - return 0; -} - -static int parms_ilu_getssize_vcsr(parms_Operator self) -{ - parms_ilu_data data; - - data = (parms_ilu_data)self->data; - return data->schur_start; -} - -static struct parms_Operator_ops parms_ilu_sol_vptr = { - parms_ilu_sol_vcsr, - parms_ilu_lsol_vcsr, - parms_ilu_invs_vcsr, - parms_ilu_getu_vcsr, - parms_ilu_ascend_vcsr, - parms_ilu_getssize_vcsr, - parms_ilu_nnz_vcsr, - parms_ilu_free, - parms_ilu_view -}; - -int parms_ilu0_vcsr(parms_Mat self, parms_FactParam param, void *mat, - parms_Operator *op) -{ - /* - * it is assumed that the the elements in the input matrix are - * stored in such a way that in each row the lower part comes first - * and then the upper part. To get the correct ILU factorization, it - * is also necessary to have the elements of L sorted by increasing - * column number. It may therefore be necessary to sort the elements - * of a, ja, ia prior to calling ilu0. This can be achieved by - * transposing the matrix twice using csrcsc. - *------------------------------------------------------------------*/ - parms_Operator newOpt; - parms_ilu_data data; - parms_vcsr mat_vcsr; - parms_Map is; - int n, start, schur_start, m, *iw, ierr, ii, jj, i, j, k, nnz, lenl, lenu; - int *pj, *rowj, *rowjj, nloc, jcol, jpos, jrow, jw; - FLOAT *pa, *rowm, *rowmm, t1, shift, rnrm; -// int flag; - BOOL found; - int rank; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - - is = self->is; - n = param->n; - jw = n; /* initialize jw */ - nloc = parms_MapGetLocalSize(is); - start = param->start; - schur_start = param->schur_start; - if (schur_start == -1) { - schur_start = n; - } - - if (!param->isalloc) { - parms_OperatorCreate(&newOpt); - PARMS_MEMCPY(newOpt->ops, &parms_ilu_sol_vptr, 1); - PARMS_NEW(data); - PARMS_NEW(data->L); - data->L->n = n; - PARMS_NEWARRAY(data->L->nnzrow, n); - PARMS_NEWARRAY(data->L->pj, n); - PARMS_NEWARRAY(data->L->pa, n); - PARMS_NEW(data->U); - data->U->n = n; - PARMS_NEWARRAY(data->U->nnzrow, n); - PARMS_NEWARRAY(data->U->pj, n); - PARMS_NEWARRAY(data->U->pa, n); - data->nnz_mat = 0; - data->nnz_prec = 0; - param->isalloc = true; - - newOpt->data = data; - *op = newOpt; - } - else { - data = (*op)->data; - } - - mat_vcsr = (parms_vcsr)mat; - - PARMS_NEWARRAY(iw, n); - for(i = 0; i < n; i++) { - iw[i] = -1; - } - /* main loop */ - ierr = 0; - m = mat_vcsr->n; - - /* sort the column indices of the entries received from neighbouring - * processors in ascending order */ - for (ii = nloc; ii < m+start; ii++) { - nnz = mat_vcsr->nnzrow[ii]; - pj = mat_vcsr->pj[ii]; - pa = mat_vcsr->pa[ii]; - qqsort(pj, pa, 0, nnz-1); - } - - for(ii = 0; ii < m; ii++) { - nnz = mat_vcsr->nnzrow[ii]; - pj = mat_vcsr->pj[ii]; - pa = mat_vcsr->pa[ii]; - - /* calculating the number of entries in L and U */ - lenl = 0; - lenu = 0; - if (ii+start < schur_start) { - for(j = 0; j < nnz; j++) { - jcol = pj[j]; - if(jcol < ii+start) { - ++lenl; - } - else { - ++lenu; - } - } - } - else { - for(j = 0; j < nnz; j++) { - jcol = pj[j]; - if(jcol < schur_start) { - ++lenl; - } - else { - ++lenu; - } - } - } - - data->L->nnzrow[ii+start] = lenl; - - if(lenl > 0) { - PARMS_NEWARRAY(data->L->pj[ii+start], lenl); - PARMS_NEWARRAY(data->L->pa[ii+start], lenl); - } - if(lenu == 0) - { - if(lenl == 0){ - printf("myid %d: Zero row encountered at row %d \n", rank, ii); - MPI_Abort(MPI_COMM_WORLD, 10); - } - } - - data->U->nnzrow[ii+start] = lenu; -/* Assume diagonal element */ - PARMS_NEWARRAY(data->U->pj[ii+start], lenu+1); - PARMS_NEWARRAY(data->U->pa[ii+start], lenu+1); - - lenl = 0; - lenu = 0; - shift = 0.0; - rnrm = 0.0; - /* copy row ii into L and U part */ - if (ii+start < schur_start) { - lenu = 1; // Assume diagonal element - found = false; - data->U->pa[ii+start][0] = 0; - data->U->pj[ii+start][0] = ii+start; - iw[ii+start] = ii + start; - - for(j = 0; j < nnz; j++) { - jcol = pj[j]; - rnrm += ABS_VALUE(pa[j]); - shift = ABS_VALUE(shift) > ABS_VALUE(pa[j]) ? shift : pa[j]; - if(jcol < ii+start) { - data->L->pj[ii+start][lenl] = jcol; - data->L->pa[ii+start][lenl] = pa[j]; - iw[jcol] = lenl; - ++lenl; - } - else if(jcol == ii + start){ - /* Diagonal element */ - data->U->pa[ii+start][0] = pa[j]; - found = true; - } - else { - data->U->pj[ii+start][lenu] = jcol; - data->U->pa[ii+start][lenu] = pa[j]; - iw[jcol] = ii + start+ lenu; - ++lenu; - } - } -/* create room for diagonal element, if none. - * This just ensures that the fill-factor is 1. - */ - shift /= rnrm; - if(found == false){ - data->U->nnzrow[ii+start] += 1; - } -/* perturb zero or small diagonals - this is done later*/ -// else if(ABS_VALUE(data->U->pa[ii+start][0]) <= DBL_EPSILON) -// data->U->pa[ii+start][0] = 0.0;//shift; - } - else { - for(j = 0; j < nnz; j++) { - jcol = pj[j]; - if(jcol < schur_start) { - data->L->pj[ii+start][lenl] = jcol; - data->L->pa[ii+start][lenl] = pa[j]; - iw[jcol] = lenl; - ++lenl; - } - else { - data->U->pj[ii+start][lenu] = jcol; - data->U->pa[ii+start][lenu] = pa[j]; - iw[jcol] = schur_start + lenu; - ++lenu; - } - } - } - - /* exit if diagonal element is reached. */ - rowj = data->L->pj[ii+start]; - rowm = data->L->pa[ii+start]; - for(j = 0; j < lenl; j++) { -/*---------------------------------------------------------------------------- - * in order to do the elimination in the correct order we must select the - * smallest column index among rowj[k], k = j+1, ..., lenl - *--------------------------------------------------------------------------*/ - jrow = rowj[j]; - jpos = j; -/*---------- determine smallest column index */ - for( k = j + 1; k < lenl; k++ ) { - if( rowj[k] < jrow ) { - jrow = rowj[k]; - jpos = k; - } - } - if( jpos != j ) { -/*---------- swaps */ - jcol = rowj[j]; - rowj[j] = rowj[jpos]; - rowj[jpos] = jcol; - iw[jrow] = j; - iw[jcol] = jpos; - t1 = rowm[j]; - rowm[j] = rowm[jpos]; - rowm[jpos] = t1; - } - - /* Eliminate previous rows: jrow now contains the smallest - column index in L part - */ -// jrow = rowj[j]; - rowjj = data->U->pj[jrow]; - rowmm = data->U->pa[jrow]; - nnz = data->U->nnzrow[jrow]; - rowm[j] *= rowmm[0]; - t1 = rowm[j]; - /* perform linear combination */ - if (ii+start < schur_start) { - for(jj = 1; jj < nnz; jj++) { - jw = iw[rowjj[jj]]; - if(jw != -1) { - if(jw < ii+start) { - rowm[jw] -= t1*rowmm[jj]; - } - else { - data->U->pa[ii+start][jw-ii-start] -= t1*rowmm[jj]; - } - } - } - } - else { - for (jj = 1; jj < nnz; jj++) { - if(jw < schur_start) { - rowm[jw] -= t1*rowmm[jj]; - } - else { - data->U->pa[ii+start][jw-schur_start] -= t1*rowmm[jj]; - } - } - } - } - - if (ii+start < schur_start) { - t1 = data->U->pa[ii+start][0]; -/* Check for zero diagonal */ - if(ABS_VALUE(t1) <= DBL_EPSILON) { -/* ierr = ii+1; - printf("myid %d: Zero diagonal encountered at row %d \n", rank, ii); - MPI_Abort(MPI_COMM_WORLD, 10); -*/ -/* Perturb zero diagonal to be (maximum elimination coeff) */ - t1 = shift; - } - /* invert and store diagonal element. */ - data->U->pa[ii+start][0] = 1.0/t1; - } - /* reset pointer iw to -1 */ - rowj = data->L->pj[ii+start]; - for(i = 0; i < lenl; i++) { - iw[rowj[i]] = -1; - } - rowj = data->U->pj[ii+start]; - for(i = 0; i < lenu; i++) { - iw[rowj[i]] = -1; - } - } - - data->schur_start = is->schur_start; - data->n = n; - - if (n-data->schur_start) { - FLOAT *w; - PARMS_NEWARRAY(w, n); - PARMS_NEWARRAY(data->nnzschur, n-data->schur_start); - for (i = data->schur_start; i < n; i++) { - lenl = data->L->nnzrow[i]; - rowj = data->L->pj[i]; - rowm = data->L->pa[i]; - jw = 0; - - for (j = 0; j < lenl; j++) { - if (rowj[j] < data->schur_start) { - ++jw; - } - } - - data->nnzschur[i-data->schur_start] = jw; - - ii = 0; - jj = jw; - for (j = 0; j < lenl; j++) { - if (rowj[j] < data->schur_start) { - iw[ii] = rowj[j]; - w[ii++] = rowm[j]; - } - else { - iw[jj] = rowj[j]; - w[jj++] = rowm[j]; - } - } - PARMS_MEMCPY(rowj, iw, lenl); - PARMS_MEMCPY(rowm, w, lenl); - } - PARMS_FREE(w); - } - PARMS_FREE(iw); - - /* compute the number of nonzeros in matrix */ - for (i = 0; i < m; i++) { - data->nnz_mat += mat_vcsr->nnzrow[i]; - } - - /* compute the number of nonzeros in pc */ - for (i = 0; i < m; i++) { - data->nnz_prec += data->L->nnzrow[i]; - data->nnz_prec += data->U->nnzrow[i]; - } - return ierr; -} - -#define MIN(a, b) (a) > (b) ? (b) : (a) -#define MAX_ROWS_PER_COL 20 -int parms_iluk_vcsr(parms_Mat self, parms_FactParam param, void *mat, - parms_Operator *op) -{ - /* - * ON RETURN - *=========== - * ierr = integer. Error message with the following meaning. - * ierr = 0 --> successful return. - * ierr > 0 --> zero pivot encountered at step - * number ierr. - * ierr = -1 --> Error. input matrix may be wrong. - * (The elimination process has - * generated a row in L or U whose - * length is greater than n) - * ierr = -2 --> Illegal value for lfil. - * ierr = -3 --> zero row encountered in A or U - *------------------------------------------------------------------*/ - parms_Operator newOpt; - parms_ilu_data data; - parms_vcsr mat_vcsr; - parms_Map is; - int n, start, schur_start, m, nnz, lfil, *jw, **levs, n2, *pj, ierr; - int lenl, lenu, ii, jj, i, j, k, jcol, jpos, jrow, *rowj, *lev, jlev; - FLOAT *w, *pa, *rowm, t, s, fact, shift, rnrm; -// int flag; -// BOOL found; - int rank; - int lenl_all, lenu_all, max_entr; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - - is = self->is; - n = param->n; - start = param->start; - schur_start = param->schur_start; - if (schur_start == -1) { - schur_start = n; - } - - if (!param->isalloc) { -// global data arrays, F77 maximum size... - max_entr = n*MAX_ROWS_PER_COL; - parms_OperatorCreate(&newOpt); - PARMS_MEMCPY(newOpt->ops, &parms_ilu_sol_vptr, 1); - PARMS_NEW(data); - PARMS_NEW(data->L); - data->L->n = n; - PARMS_NEWARRAY(data->L->nnzrow, n); - PARMS_NEWARRAY(data->L->pj, n); - PARMS_NEWARRAY(data->L->pa, n); -// allocate global data arrays - PARMS_NEWARRAY(data->L->pj_data, max_entr); - PARMS_NEWARRAY(data->L->pa_data, max_entr); - PARMS_NEW(data->U); - data->U->n = n; - PARMS_NEWARRAY(data->U->nnzrow, n); - PARMS_NEWARRAY(data->U->pj, n); - PARMS_NEWARRAY(data->U->pa, n); -// allocate global data arrays - PARMS_NEWARRAY(data->U->pj_data, max_entr); - PARMS_NEWARRAY(data->U->pa_data, max_entr); - data->nnz_mat = 0; - data->nnz_prec = 0; - param->isalloc = true; - - newOpt->data = data; - *op = newOpt; - } - else { - data = (*op)->data; - } - - mat_vcsr = (parms_vcsr)mat; - - lfil = param->ipar[0]; - - if(lfil < 0) { - ierr = -2; - printf("myid %d: lfil parameter must be > zero: ierr %d \n", rank, ierr); - MPI_Abort(MPI_COMM_WORLD, 11); - } - - /* malloc memory for working arrays levs, w and jw */ - PARMS_NEWARRAY(levs, n); - PARMS_NEWARRAY(w, n); - PARMS_NEWARRAY(jw, 3*n); - - /* main loop */ - n2 = n << 1; - for(i = n; i < n2; i++) { - jw[i] = -1; - jw[n+i] = 0; - } - m = mat_vcsr->n; - ierr = 0; - lenl_all = 0; - lenu_all = 0; - for(ii = 0; ii < m; ii++) { - lenl = 0; - lenu = 0; - shift = 0.0; - rnrm = 0.0; - nnz = mat_vcsr->nnzrow[ii]; - pj = mat_vcsr->pj[ii]; - pa = mat_vcsr->pa[ii]; - if (start+ii < schur_start) { - lenu = 1; -// found = false; - jw[ii+start] = ii + start; - w[ii+start] = 0.0; - jw[n+ii+start] = ii + start; - - for(j = 0; j < nnz; j++) { - jcol = pj[j]; - t = pa[j]; - if(ABS_VALUE(t) <= DBL_EPSILON) continue; - rnrm += ABS_VALUE(t); - shift = ABS_VALUE(shift) > ABS_VALUE(t) ? shift : t; - if(jcol < ii+start) { - jw[lenl] = jcol; - w[lenl] = t; - jw[n2+lenl] = 0; - jw[n+jcol] = lenl; - ++lenl; - } - else if(jcol == ii+start) { - w[ii+start] = t; - jw[n2+ii+start] = 0; -// found = true; - } - else { - jpos = ii + start + lenu; - jw[jpos] = jcol; - w[jpos] = t; - jw[n2+jpos] = 0; - jw[n+jcol] = jpos; - ++lenu; - } - } -/* perturb zero or small diagonals */ - shift /= rnrm; -/* if(found == false){ - w[ii+start] = shift; - jw[n2+ii+start] = 0; - }*/ - } - else { - for(j = 0; j < nnz; j++) { - jcol = pj[j]; - t = pa[j]; - if(ABS_VALUE(t) <= DBL_EPSILON) continue; - if(jcol < schur_start) { - jw[lenl] = jcol; - w[lenl] = t; - jw[n2+lenl] = 0; - jw[n+jcol] = lenl; - ++lenl; - } - else { - jpos = schur_start + lenu; - jw[jpos] = jcol; - w[jpos] = t; - jw[n2+jpos] = 0; - jw[n+jcol] = jpos; - ++lenu; - } - } - } - - /* eliminate previous rows */ - for(jj = 0; jj < lenl; jj++) { - /* in order to do the elimination in the correct order we must - select the smallest column index among jw[k], k=jj,...lenl */ - jrow = jw[jj]; - k = jj; - /* determine smallest column index */ - for(j = jj+1; j < lenl; j++) { - if(jw[j] < jrow) { - jrow = jw[j]; - k = j; - } - } - if(k != jj) { - /* exchange in jw */ - j = jw[jj]; - jw[jj] = jw[k]; - jw[k] = j; - /* exchange in jw(n+ (pointers/ nonzero indicator). */ - jw[n+jrow] = jj; - jw[n+j] = k; - /* exchange in jw(n2 + (levels) */ - j = jw[n2+jj]; - jw[n2+jj] = jw[n2+k]; - jw[n2+k] = j; - /* exchange in w */ - s = w[jj]; - w[jj] = w[k]; - w[k] = s; - } - /* zero out element in row by resetting jw[n+jrow] to zero */ - jw[n+jrow] = -1; - /* get the multiplier for row to be eliminated (jrow) + its - level */ - rowj = data->U->pj[jrow]; - rowm = data->U->pa[jrow]; - nnz = data->U->nnzrow[jrow]; - lev = levs[jrow]; - fact = w[jj]*rowm[0]; - jlev = jw[n2+jj]; - if(jlev > lfil) continue; - /* combine current row and row jrow */ - if (ii+start < schur_start) { - for(k = 1; k < nnz; k++) { - s = fact*rowm[k]; - jcol = rowj[k]; - jpos = jw[n+jcol]; - if(jcol >= ii+start) { - /* dealing with upper part */ - if(jpos == -1) { - /* this is a fill-in element */ - i = ii + start + lenu; - jw[i] = jcol; - jw[n+jcol] = i; - w[i] = -s; - jw[n2+i] = jlev+lev[k]+1; - ++lenu; - if(lenu > n) { - ierr = -1; - printf("myid %d: Error in ILUK (nnz(U) > n): ierr = %d \n", rank, ierr); - MPI_Abort(MPI_COMM_WORLD, 12); - } - } - else { - /* this is not a fill-in element */ - w[jpos] -= s; - jw[n2+jpos] = MIN(jw[n2+jpos], jlev+lev[k]+1); - } - } - else { - /* dealing with lower part */ - if(jpos == -1) { - /* this is a fill-in element */ - jw[lenl] = jcol; - jw[n+jcol] = lenl; - w[lenl] = -s; - jw[n2+lenl] = jlev+lev[k]+1; - ++lenl; - if(lenl > n) { - ierr = -1; - break; - } - } - else { - /* this is not a fill-in element */ - w[jpos] -= s; - jw[n2+jpos] = MIN(jw[n2+jpos], jlev+lev[k]+1); - } - } - } - } - else { - for(k = 1; k < nnz; k++) { - s = fact*rowm[k]; - jcol = rowj[k]; - jpos = jw[n+jcol]; - if(jcol >= schur_start) { - /* dealing with upper part */ - if(jpos == -1) { - /* this is a fill-in element */ - i = schur_start + lenu; - jw[i] = jcol; - jw[n+jcol] = i; - w[i] = -s; - jw[n2+i] = jlev+lev[k]+1; - ++lenu; - if(lenu > n) { - ierr = -1; - break; - } - } - else { - /* this is not a fill-in element */ - w[jpos] -= s; - jw[n2+jpos] = MIN(jw[n2+jpos], jlev+lev[k]+1); - } - } - else { - /* dealing with lower part */ - if(jpos == -1) { - /* this is a fill-in element */ - jw[lenl] = jcol; - jw[n+jcol] = lenl; - w[lenl] = -s; - jw[n2+lenl] = jlev+lev[k]+1; - ++lenl; - if(lenl > n) { - ierr = -1; - break; - } - } - else { - /* this is not a fill-in element */ - w[jpos] -= s; - jw[n2+jpos] = MIN(jw[n2+jpos], jlev+lev[k]+1); - } - } - } - } - w[jj] = fact; - jw[jj] = jrow; - } - /* reset double-pointer to zero (U-part) */ - if (ii+start < schur_start) { - for(k = 0; k < lenu; k++) { - jw[n+jw[ii+start+k]] = -1; - } - } - else { - for(k = 0; k < lenu; k++) { - jw[n+jw[schur_start+k]] = -1; - } - - } - - /* update l-matrix */ - j = 0; - for(k = 0; k < lenl; k++) { - if(jw[n2+k] <= lfil) { - ++j; - } - } - data->L->nnzrow[ii+start] = j; - if(j > 0) { - // PARMS_NEWARRAY(data->L->pj[ii+start], j); - // PARMS_NEWARRAY(data->L->pa[ii+start], j); - data->L->pj[ii+start] = data->L->pj_data + lenl_all; - data->L->pa[ii+start] = data->L->pa_data + lenl_all; - lenl_all += j; - if (lenl_all > max_entr) { - printf("parms_ilu_vcsr.c, parms_iluk_vcsr: set larger MAX_ROWS_PER_COL and recompile\n"); - MPI_Abort(MPI_COMM_WORLD, 13); - } - } - rowj = data->L->pj[ii+start]; - rowm = data->L->pa[ii+start]; - j = 0; - for(k = 0; k < lenl; k++) { - if(jw[n2+k] <= lfil) { - rowj[j] = jw[k]; - rowm[j] = w[k]; - ++j; - } - } - - if (ii+start < schur_start) { -/* update u-matrix */ - if(ABS_VALUE(w[ii+start]) <= DBL_EPSILON) { -/* ierr = ii+1; - printf("myid %d: Zero diagonal encountered at row %d \n", rank, ii); - MPI_Abort(MPI_COMM_WORLD, 13); -*/ -/* Perturb zero diagonal to be (maximum elimination coeff) */ - w[ii+start] = shift; - } - j = 1; - for(k = ii+1; k < ii+lenu; k++) { - if(jw[n2+start+k] <= lfil) { - ++j; - } - } - } - else { - j = 0; - for(k = schur_start; k < schur_start+lenu; k++) { - if(jw[n2+k] <= lfil) { - ++j; - } - } - } - - data->U->nnzrow[ii+start] = j; - // PARMS_NEWARRAY(data->U->pj[ii+start], j); - data->U->pj[ii+start] = data->U->pj_data + lenu_all; - rowj = data->U->pj[ii+start]; - // PARMS_NEWARRAY(data->U->pa[ii+start], j); - data->U->pa[ii+start] = data->U->pa_data + lenu_all; - rowm = data->U->pa[ii+start]; - lenu_all += j; - - if (lenu_all > max_entr) { - printf("parms_ilu_vcsr.c, parms_iluk_vcsr: set larger MAX_ROWS_PER_COL and recompile\n"); - MPI_Abort(MPI_COMM_WORLD, 13); - } - - PARMS_NEWARRAY(levs[ii+start], j); - lev = levs[ii+start]; - if (ii+start < schur_start) { - rowm[0] = 1.0 / w[ii+start]; - rowj[0] = ii+start; - j = 1; - for(k = ii+1; k < ii+lenu; k++) { - if(jw[n2+start+k] <= lfil) { - rowj[j] = jw[start+k]; - rowm[j] = w[start+k]; - lev[j] = jw[n2+start+k]; - ++j; - } - } - } - else { - j = 0; - for(k = schur_start; k < schur_start+lenu; k++) { - if(jw[n2+k] <= lfil) { - rowj[j] = jw[k]; - rowm[j] = w[k]; - lev[j] = jw[n2+k]; - ++j; - } - } - } - } - for(i = 0; i < m; i++) { - if (levs[i+start]) { - PARMS_FREE(levs[i+start]); - } - } - PARMS_FREE(levs); - - data->schur_start = is->schur_start; - data->n = n; - - if (n-data->schur_start) { - PARMS_NEWARRAY(data->nnzschur, n-data->schur_start); - for (i = data->schur_start; i < n; i++) { - lenl = data->L->nnzrow[i]; - rowj = data->L->pj[i]; - rowm = data->L->pa[i]; - k = 0; - - for (j = 0; j < lenl; j++) { - if (rowj[j] < data->schur_start) { - ++k; - } - } - data->nnzschur[i-data->schur_start] = k; - ii = 0; - jj = k; - for (j = 0; j < lenl; j++) { - if (rowj[j] < data->schur_start) { - jw[ii] = rowj[j]; - w[ii++] = rowm[j]; - } - else { - jw[jj] = rowj[j]; - w[jj++] = rowm[j]; - } - } - PARMS_MEMCPY(rowj, jw, lenl); - PARMS_MEMCPY(rowm, w, lenl); - } - } - - PARMS_FREE(w); - PARMS_FREE(jw); - - /* compute the number of nonzeros in matrix */ - for (i = 0; i < m; i++) { - data->nnz_mat += mat_vcsr->nnzrow[i]; - } - - /* computer the number of nonzeros in pc */ - for (i = 0; i < m; i++) { - data->nnz_prec += data->L->nnzrow[i]; - data->nnz_prec += data->U->nnzrow[i]; - } -// printf("nnzmat = %d, nnzprec = %d \n",data->nnz_mat, data->nnz_prec); - return ierr; -} - -int parms_ilut_vcsr(parms_Mat self, parms_FactParam param, void *mat, - parms_Operator *op) -{ - parms_Operator newOpt; - parms_ilu_data data; - parms_vcsr mat_vcsr; - parms_Map is; - int i, j, j1, j2, ii, jj, n, m, fill, start, schur_start, *jw; - int lenl, lenu, len, k, jpos, jrow, jcol, ierr, nnz, *rowj; - - REAL dt, tnorm; - FLOAT *w, *rowm, ft, s, t; - -#if defined(DBL_CMPLX) - double shf = 0.0, ti, sgny; - int nnzA = 0; -/*----------get nnz of mat ---------*/ - for(j = 0; j<((parms_vcsr)mat)->n; j++) - nnzA += ((parms_vcsr)mat)->nnzrow[j]; -#endif - - is = self->is; - n = param->n; - start = param->start; - schur_start = param->schur_start; - - if (schur_start == -1) { - schur_start = n; - } - - if (!param->isalloc) { - parms_OperatorCreate(&newOpt); - PARMS_MEMCPY(newOpt->ops, &parms_ilu_sol_vptr, 1); - PARMS_NEW(data); - PARMS_NEW(data->L); - data->L->n = n; - PARMS_NEWARRAY(data->L->nnzrow, n); - PARMS_NEWARRAY(data->L->pj, n); - PARMS_NEWARRAY(data->L->pa, n); - PARMS_NEW(data->U); - data->U->n = n; - PARMS_NEWARRAY(data->U->nnzrow, n); - PARMS_NEWARRAY(data->U->pj, n); - PARMS_NEWARRAY(data->U->pa, n); - data->nnz_mat = 0; - data->nnz_prec = 0; - param->isalloc = true; - - newOpt->data = data; - *op = newOpt; - } - else { - - data = (*op)->data; - - } - - mat_vcsr = (parms_vcsr)mat; - - /* malloc memory for working arrays w and jw */ - PARMS_NEWARRAY(w, 2*n); - PARMS_NEWARRAY(jw, 2*n); - - /* initialize nonzero indicator array */ - for(j = 0; j < n; j++) { - jw[n+j] = -1; - } - - fill = param->lfil[0]; - dt = param->droptol[0]; - - /* beginning of main loop */ - ierr = 0; - m = mat_vcsr->n; - for (ii = 0; ii < m; ii++) { - tnorm = 0.0; - j1 = 0; - j2 = mat_vcsr->nnzrow[ii]; - for (k = 0; k < j2; k++) { - tnorm += ABS_VALUE(mat_vcsr->pa[ii][k]); - } - if (ABS_VALUE(tnorm) < 1.0e-20) { - printf("ilut: zero row encountered at row %d.\n", ii ); - ierr = -3; - break; - } - /* unpack L-part and U-part of row of A in array w */ - lenu = 0; - lenl = 0; - if (ii+start < schur_start) { - jw[ii+start] = ii+start; - w[ii+start] = 0.0; - jw[n+ii+start] = ii+start; - lenu = 1; - for (j = j1; j < j2; j++) { - jcol = mat_vcsr->pj[ii][j]; - t = mat_vcsr->pa[ii][j]; - if (jcol < ii+start) { - jw[lenl] = jcol; - w[lenl] = t; - jw[n+jcol] = lenl; - ++lenl; - } - else if(jcol == ii+start){ - w[ii+start] = t; - } - else { - jpos = ii + lenu + start; - jw[jpos] = jcol; - w[jpos] = t; - jw[n+jcol] = jpos; - ++lenu; - } - } -#if defined(DBL_CMPLX) -/*---------------- Add complex shift -- for complex case----------*/ -/*------ shift based on droptol -- tau-based shift ----*/ - shf = dt*tnorm; -/* ----- shift based on diagonal dominance gap -- dd-based shift -----*/ -// shf = schur_start*(tnorm - 2*cabs(w[ii+start]))/(double)nnzA; // rownorm includes diagonal - ti = cimag(w[ii+start]) ; - if (ti<=0) - sgny = -ti - sqrt(ti*ti+shf*shf) ; - else - sgny = -ti + sqrt(ti*ti+shf*shf) ; - - w[ii+start] = w[ii+start] + sgny*I; -#endif - - tnorm /= (j2-j1); - } - else { - for (j = j1; j < j2; j++) { - jcol = mat_vcsr->pj[ii][j]; - t = mat_vcsr->pa[ii][j]; - if (jcol < schur_start) { - jw[lenl] = jcol; - w[lenl] = t; - jw[n+jcol] = lenl; - ++lenl; - } - else { - jpos = schur_start + lenu; - jw[jpos] = jcol; - w[jpos] = t; - jw[n+jcol] = jpos; - ++lenu; - } - } - } - - len = 0; - /* eliminate previous rows */ - for (jj = 0; jj < lenl; jj++) { - /* in order to do the elimination in the correct order we must - select the smallest column index among jw[k], - k=jj+1,...,lenl.*/ - jrow = jw[jj]; - k = jj; - for (j = jj+1; j < lenl; j++) { - if (jw[j] < jrow) { - jrow = jw[j]; - k = j; - } - } - if (k != jj) { - /* exchange in jw */ - j = jw[jj]; - jw[jj] = jw[k]; - jw[k] = j; - /* exchange in jr */ - jw[n+jrow] = jj; - jw[n+j] = k; - /* exchange in w */ - s = w[jj]; - w[jj] = w[k]; - w[k] = s; - } - jw[n+jrow] = -1; - /* get the multiplier for row to be eliminated (jrow) */ - rowm = data->U->pa[jrow]; - ft = w[jj]*rowm[0]; - if (ABS_VALUE(ft) <= dt) { - continue; - } - rowj = data->U->pj[jrow]; - nnz = data->U->nnzrow[jrow]; - /* combine current row and row jrow */ - /* if fill-in element is small then disregard */ - if (ii+start < schur_start) { /* ilut */ - for (k = 1; k < nnz; k++) { - s = ft*rowm[k]; - jcol = rowj[k]; - jpos = jw[n+jcol]; - - if (jcol >= ii+start) { - /* dealing with upper part */ - if (jpos == -1) { - /* this is a fill-in element */ - i = ii+start+lenu; - jw[i] = jcol; - jw[n+jcol] = i; - w[i] = -s; - ++lenu; - if(lenu > n) { - ierr = -1; - goto done; - } - } - else { - /* this is not a fill-in element */ - w[jpos] -= s; - } - } - else { - /* dealing with lower part */ - if(jpos == -1) { - /* this is a fill-in element */ - jw[lenl] = jcol; - w[lenl] = -s; - jw[n+jcol] = lenl; - ++lenl; - if(lenl > n) { - ierr = -1; - goto done; - } - } - else { - w[jpos] -= s; - } - } - } - } - else { /* partial ilut */ - for (k = 1; k < nnz; k++) { - s = ft*rowm[k]; - jcol = rowj[k]; - jpos = jw[n+jcol]; - - if (jcol >= schur_start) { - /* dealing with upper part */ - if (jpos == -1) { - /* this is a fill-in element */ - i = schur_start+lenu; - jw[i] = jcol; - jw[n+jcol] = i; - w[i] = -s; - ++lenu; - if(lenu > n) { - ierr = -1; - goto done; - } - } - else { - /* this is not a fill-in element */ - w[jpos] -= s; - } - } - else { - /* dealing with lower part */ - if(jpos == -1) { - /* this is a fill-in element */ - jw[lenl] = jcol; - w[lenl] = -s; - jw[n+jcol] = lenl; - ++lenl; - if(lenl > n) { - ierr = -1; - goto done; - } - } - else { - w[jpos] -= s; - } - } - } - } - - /* store this pivot element -- (from left to right -- no danger - of overlap with the working elements in L (pivots). */ - w[len] = ft; - jw[len] = jrow; - ++len; - } - - /* reset double-pointer to -1 (U-part) */ - if (ii+start < schur_start) { - for (k = 0; k < lenu; k++) { - jw[n+jw[ii+start+k]] = -1; - } - } - else { - for (k = 0; k < lenu; k++) { - jw[n+jw[schur_start+k]] = -1; - } - } - - /* update l-mat_vcsr */ - lenl = len > fill ? fill : len; - data->L->nnzrow[ii+start] = lenl; - - /* weigh the elements before sorting */ -#if 1 - for (k = 0; k < len; k++) { - w[k] *= (dt+w[n+jw[k]]); - } -#endif - /* quick sort */ - if (len > lenl) { - qsplitCF(w,jw,len,lenl); - } - - if (lenl > 0) { - PARMS_NEWARRAY(data->L->pj[start+ii], lenl); - rowj = data->L->pj[start+ii]; - PARMS_MEMCPY(rowj, jw, lenl); - PARMS_NEWARRAY(data->L->pa[start+ii], lenl); - rowm = data->L->pa[start+ii]; - /* PARMS_MEMCPY(rowm, w, lenl); */ - /* GCOPY(lenl, w, incx, rowm, incx); */ - } - -#if 1 - for (k = 0; k < lenl; k++) { - rowm[k] = w[k] / (dt + w[n+jw[k]]); - } -#endif - - /* update u-part */ - if (ii+start < schur_start) { - len = 0; - for (k = 1; k < lenu; k++) { - if (ABS_VALUE(w[ii+k]) > ABS_VALUE(dt*w[ii])) { - /* - if (ABS_VALUE(w[ii+start+k]) > dt*tnorm) { - */ - ++len; - w[ii+start+len] = w[ii+start+k]; - jw[ii+start+len] = jw[ii+start+k]; - } - } - lenu = len + 1 > fill ? fill: len + 1; - jpos = lenu - 1; - if (len > jpos) - qsplitCF(&w[ii+start+1], &jw[ii+start+1], len, jpos); - - data->U->nnzrow[start+ii] = lenu; - - PARMS_NEWARRAY(data->U->pa[start+ii], lenu); - rowm = data->U->pa[start+ii]; - - PARMS_NEWARRAY(data->U->pj[start+ii], lenu); - rowj = data->U->pj[start+ii]; - - /* copy the rest of U */ - if (jpos) { - PARMS_MEMCPY(&rowj[1], &jw[ii+start+1], jpos); - PARMS_MEMCPY(&rowm[1], &w[ii+start+1], jpos); - } - t = ABS_VALUE(w[ii+start]); - for (k = 1; k < lenu; k++) { - t += ABS_VALUE(w[ii+start+k]); - } - w[n+ii+start] = t / (FLOAT)(lenu+1); - /* store inverse of diagonal element of u */ - if (ABS_VALUE(w[ii+start]) < 1.0e-20) { - w[ii+start] = tnorm;//(0.0001 + dt)*tnorm; - } - rowm[0] = 1.0 / w[ii+start]; - rowj[0] = jw[ii+start]; - } - else if (ii >= schur_start) { - data->U->nnzrow[start+ii] = lenu; - PARMS_NEWARRAY(data->U->pj[start+ii], lenu); - PARMS_NEWARRAY(data->U->pa[start+ii], lenu); - PARMS_MEMCPY(data->U->pj[start+ii], &jw[schur_start], lenu); - PARMS_MEMCPY(data->U->pa[start+ii], &w[schur_start], lenu); - } - } - - done: - - data->schur_start = is->schur_start; - data->n = n; - - if (n-data->schur_start) { - PARMS_NEWARRAY(data->nnzschur, n-data->schur_start); - for (i = data->schur_start; i < n; i++) { - lenl = data->L->nnzrow[i]; - rowj = data->L->pj[i]; - rowm = data->L->pa[i]; - k = 0; - for (j = 0; j < lenl; j++) { - if (rowj[j] < data->schur_start) { - ++k; - } - } - data->nnzschur[i-data->schur_start] = k; - j1 = 0; - j2 = k; - for (j = 0; j < lenl; j++) { - if (rowj[j] < data->schur_start) { - jw[j1] = rowj[j]; - w[j1++] = rowm[j]; - } - else { - jw[j2] = rowj[j]; - w[j2++] = rowm[j]; - } - } - PARMS_MEMCPY(rowj, jw, lenl); - PARMS_MEMCPY(rowm, w, lenl); - } - } - - PARMS_FREE(w); - PARMS_FREE(jw); - - /* compute the number of nonzeros in matrix */ - for (i = 0; i < m; i++) { - data->nnz_mat += mat_vcsr->nnzrow[i]; - } - - /* computer the number of nonzeros in pc */ - for (i = 0; i < m; i++) { - data->nnz_prec += data->L->nnzrow[i]; - data->nnz_prec += data->U->nnzrow[i]; - } - - return ierr; -} - -/* reuse LU-Facorization (AF) */ -int parms_ilu_update(parms_Mat self, parms_FactParam param, void *mat, - parms_Operator *op) -{ - parms_Operator newOpt; - parms_ilu_data data; - parms_vcsr mat_vcsr; - parms_Map is; - int n, start, schur_start, m, iw,*rowjj, nnz, lfil, *jw, **levs, n2, *pj, ierr; - int lenl, lenu, ii, jj, i, j, k, jcol, jpos, jrow, *rowj, *rowi, *lev, jlev; - FLOAT *w, *pa, *rowm,*rowmm, t, s, fact, shift, rnrm,t1, t2; - int rank; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - - is = self->is; - data = (*op)->data; - n = data->L->n; - start = param->start; - schur_start = param->schur_start; - if (schur_start == -1) { - schur_start = n; - } - - mat_vcsr = (parms_vcsr)mat; - - PARMS_NEWARRAY(jw, n); - for(i = 0; i < n; i++) - jw[i] = -1; - - for(ii = 0; ii < n; ii++){ - - lenl = data->L->nnzrow[ii+start]; - rowj = data->L->pj[ii+start]; - rowm = data->L->pa[ii+start]; - for(j = 0; j < lenl; j++){ - jw[rowj[j]] = j; - rowm[j] = 0.; - } - - lenu = data->U->nnzrow[ii+start]; - rowjj = data->U->pj[ii+start]; - rowmm = data->U->pa[ii+start]; - if(ii + start < schur_start) - for(jj = 0; jj < lenu; jj++){ - jw[rowjj[jj]] = jj + ii + start; - rowmm[jj] = 0.; - } - else - for(jj = 0; jj < lenu; jj++){ - jw[rowjj[jj]] = jj + schur_start; - rowmm[jj] = 0.; - } - - - shift = 0.; - rnrm = 0.; - - nnz = mat_vcsr->nnzrow[ii]; - pj = mat_vcsr->pj[ii]; - pa = mat_vcsr->pa[ii]; - - /*copy row ii in L and U part */ - if(ii + start < schur_start){ - - for(j = 0; j < nnz; j++){ - rnrm += ABS_VALUE(pa[j]); - shift = ABS_VALUE(shift) > ABS_VALUE(pa[j]) ? shift : pa[j]; - jcol = jw[pj[j]]; - if(jcol < 0) - printf("jw %d\n",jcol); - else - if(jcol < ii + start) - rowm[jcol] = pa[j]; - else - rowmm[jcol-ii-start] = pa[j]; - } - shift /= rnrm; - - - } - else{ - for(j = 0; j < nnz; j++){ - jcol = jw[pj[j]]; - if(jcol < schur_start) - rowm[jcol] = pa[j]; - else - rowmm[jcol-schur_start] = pa[j]; - } - } - - - for(j = 0; j < lenl; j++){ - - jrow = rowj[j]; - jpos = j; - - /* find minimal column index k in row i */ - for(k = j+1; k < lenl; k++) - if(rowj[k] < jrow){ - jrow = rowj[k]; - jpos = k; - } - - if(jpos != j){ - jcol = rowj[j]; - rowj[j] = rowj[jpos]; - rowj[jpos] = jcol; - jw[jrow] = j; - jw[jcol] = jpos; - t1 = rowm[j]; - rowm[j] = rowm[jpos]; - rowm[jpos] = t1; - } - - /* a_{ik} := a_{ik}/a_{kk} */ - nnz = data->U->nnzrow[jrow]; - rowjj = data->U->pj[jrow]; - rowmm = data->U->pa[jrow]; - rowm[j] *= rowmm[0]; - t1 = rowm[j]; - if(ABS_VALUE(t1) < DBL_EPSILON) continue; - - if( ii+start < schur_start ){ - for(jj = 1; jj < nnz; jj++) { - iw = jw[rowjj[jj]]; - if(iw != -1) { - if(iw < ii+start) - rowm[iw] -= t1*rowmm[jj]; - else - data->U->pa[ii+start][iw-ii-start] -= t1*rowmm[jj]; - } - } - } - else { - for(jj = 1; jj < nnz; jj++){ - iw = jw[rowjj[jj]]; - if(iw < schur_start) - data->L->pa[ii+start][iw] -= t1*rowmm[jj]; - else - data->U->pa[ii+start][iw-schur_start] -= t1*rowmm[jj]; - } - } - } - if(ii + start < schur_start){ - t1 = data->U->pa[ii+start][0]; - if(ABS_VALUE(t1) < DBL_EPSILON) - t1 = shift; - data->U->pa[ii+start][0] = 1./t1; - } - - for(i = 0; i < lenl; i++) - jw[rowj[i]] = -1; - rowjj = data->U->pj[ii+start]; - for(i = 0; i < lenu; i++) - jw[rowjj[i]] = -1; - } - - - if(n - data->schur_start){ - PARMS_NEWARRAY0(w, n); - for(i = data->schur_start; i < n; i++){ - lenl = data->L->nnzrow[i]; - rowj = data->L->pj[i]; - rowm = data->L->pa[i]; - k = data->nnzschur[i-data->schur_start]; - ii = 0; - jj = k; - for(j = 0; j < lenl; j++) - if(rowj[j] < data->schur_start){ - jw[ii] = rowj[j]; - w[ii++] = rowm[j]; - } - else{ - jw[jj] = rowj[j]; - w[jj++] = rowm[j]; - } - PARMS_MEMCPY(rowj, jw,lenl); - PARMS_MEMCPY(rowm, w, lenl); - } - PARMS_FREE(w); - } - - PARMS_FREE(jw); - return 0; -} diff --git a/lib/parms/src/parms_map.c b/lib/parms/src/parms_map.c deleted file mode 100755 index 35a3ac23f..000000000 --- a/lib/parms/src/parms_map.c +++ /dev/null @@ -1,759 +0,0 @@ -/*-------------------------------------------------------------------- - parms_MapCreateFromLocal : create a local parms_Map object. - parms_MapCreateFromGlobal : create a parms_Map object based on the - output of Metis. - parms_MapCreateFromDist : create a parms_Map object based on the - output of ParMetis. - parms_MapCreateFromPetsc : create a parms_Map object based on the - default partitoning strategy in PETSc - (contiguous chunks of rows are - distributed among PEs) - parms_MapCreateFromPtr : create a parms_Map object based on a - list of all vars and a pointer array to - the beginning location of each PE in the - list. - parms_MapGetGlobalSize : get global size of data partitioned. - parms_MapGetLocalSize : get the size of data on the local PE. - parms_MapGetNumProcs : get the number of PEs. - parms_MapGetPid : get id of PE. - parms_MapGlobalToLocal : get the local index of a var with its - global index as the input. - parms_MapView : dump the parms_Map object. - parms_MapFree : free the memory for the parms_Map object. - - A code fragment for using parms_Map functions: - - parms_Map map; - parms_Mat mat; - - // partition the graph or mesh using Metis - METIS_PartGraphVKway(&n, ..., riord); - - // create a parms_Map object based on the output of Metis - parms_MapCreateFromGlobal(&map, n, riord, ...); - - // create vector and matrix object based on map - parms_MatCreate(&mat, map); - - $Id: parms_map.c,v 1.1.1.1 2006-11-27 22:28:01 zzli Exp $ ---------------------------------------------------------------------*/ - -#include "include/parms_map_impl.h" - -/** - * Free the memory for the parms_Map object pointed to by self. - * - * @param self A pointer to the parms_Map object. - * - * @return 0 on success. - */ -int parms_MapFree(parms_Map *self) -{ - (*self)->ref--; - /* if the reference number is zero, then remove the object */ - if ((*self)->ref == 0 ) { - if (!(*self)->isserial) { - if((*self)->lvars) PARMS_FREE((*self)->lvars); - if((*self)->vsend) PARMS_FREE((*self)->vsend); - if((*self)->vstable)parms_TableFree(&(*self)->vstable); - parms_TableFree(&(*self)->table); - MPI_Comm_free(&(*self)->comm); - } - - if ((*self)->ispermalloc) { - PARMS_FREE((*self)->perm); - PARMS_FREE((*self)->iperm); - } - PARMS_FREE(*self); - } - return 0; -} - -/** - * Dump the parms_Map object. - * - * @param self A parms_Map object. - * @param v A parms_Viewer object. - * - * @return 0 on success. - */ -int parms_MapView(parms_Map self, parms_Viewer v) -{ - FILE *fp; - int i, *val; - - parms_ViewerGetFP(v, &fp); - fprintf(fp, "=====Dump the content of parms_Map=====\n"); - fprintf(fp, "pid = %d, npro = %d\n", self->pid, self->npro); - fprintf(fp, "lsize = %d, gsize = %d\n", self->lsize, self->gsize); - fprintf(fp, "isserial = %d, isperm = %d, isalloc = %d\n", - self->isserial, self->isperm, self->ispermalloc); - if (!self->isserial) { - fprintf(fp, "size in the table is %d\n", - parms_TableGetSize(self->table)); - fprintf(fp, "global vertices ==> local vertices on proc%d\n", self->pid); - for (i = 0; i < self->lsize; i++) { - val = parms_TableGet(self->table, self->lvars[i]); - fprintf(fp, "%d==>%d\n", self->lvars[i], *val); - } - if (self->isperm) { - fprintf(fp, "The permutation array is:\n"); - for (i = 0; i < self->lsize; i++) { - fprintf(fp, "perm[%d]=%d\n", i, self->perm[i]); - } - } - } - - fprintf(fp, "nint = %d\n", self->nint); - fprintf(fp, "ninf = %d\n", self->ninf); - - fprintf(fp, "ninf_send = %d\n", self->ninf_send); - for (i = 0; i < self->ninf_send; i++) { - fprintf(fp, "send(%d)=%d ", i, self->vsend[i]); - val = parms_TableGet(self->vstable, self->vsend[i]); - fprintf(fp, "vsend[%d]=>%d\n", self->vsend[i], *val); - } - - - fprintf(fp, "=======================================\n"); - parms_ViewerStoreFP(v, fp); - return 0; -} - -/** - * Get the size of variables on the local PE. - * - * Return the size of variables not vertices on the local PE. - * - * @param self A parms_Map object. - * - * @return The size of variables on the local PE. - */ -int parms_MapGetLocalSize(parms_Map self) -{ - return self->lsize; -} - -/** - * Get the global size of variables. - * - * Return the global size of variables rather than vertices. - * - * @param self A parms_Map object. - * - * @return The global size of variables rather than vertices. - */ -int parms_MapGetGlobalSize(parms_Map self) -{ - return self->gsize; -} - -/** - * Get PE's ID. - * - * @param self A parms_Map object. - * - * @return The PE's ID. - */ -int parms_MapGetPid(parms_Map self) -{ - /*-------------------- obtains processor IDs */ - return self->pid; -} - -/** - * Get the number of PEs. - * - * @param self A parms_Map object. - * - * @return The number of PEs. - */ -int parms_MapGetNumProcs(parms_Map self) -{ - /*-------------------- Get number of PEs */ - - return self->npro; -} - -/** - * Create a local parms_Map object. - * - * @param self A parms_Map object created. - * @param gsize The global size of variables. - * @param offset The start index. - * - 1 FORTRAN - * - 0 C - * - * @return 0 on success. - */ -int parms_MapCreateFromLocal(parms_Map *self, int gsize, int offset) -{ - parms_Map newMap; - - PARMS_NEW0((newMap)); - newMap->ref = 1; - newMap->gsize = gsize; - newMap->lsize = gsize; - newMap->start = offset; - newMap->isserial = true; - newMap->isperm = false; - newMap->isvecperm = false; - MPI_Comm_rank(MPI_COMM_WORLD, &newMap->pid); - newMap->npro = 1; - newMap->comm = 0; - newMap->nint = gsize; - newMap->ninf = 0; - newMap->n_ext = 0; - - newMap->ispermalloc = false; - newMap->isdatalloc = false; - - *self = newMap; - -/* Define complex data type for MPI if complex code is compiled */ -#if defined(DBL_CMPLX) - parms_InitComplex(); -#endif - return 0; -} - -/** - * Create a parms_Map object based on the Metis partitioning. - * - * @param self A pointer to the parms_Map object created. - * @param gsize The total number of vertices. - * @param npar An integer array of size gsize. node \f$i\f$ - * resides on PE npar[i]. - * @param comm MPI communicator. - * @param offset The start index. - * - 1 FORTRAN - * - 0 C - * @param dof The number of variables associated with each - * vertex. - * @param VARSTYPE Assuming the variables \f$u_i, v_i\f$ are - * associated with vertex \f$i\f$, two styles of - * numbering variables are as follows: - * - INTERLACED. Variables are numbered in the - * order of \f$u_1, v_1, u_2, v_2, \cdots\f$; - * - NONINTERLACED. Variables are numbered in the - * order of \f$u_1, u_2, u_3,...,v_1, v_2,...\f$. - * - * @return 0 on success. - */ -int parms_MapCreateFromGlobal(parms_Map *self, int gsize, int *npar, - MPI_Comm comm, int offset, int dof, - VARSTYPE vtype) -{ - parms_Map newMap; - int pid, i, j, gindex; - int hint, gv_size, lsize; - MPI_Comm newComm; - - MPI_Comm_dup(comm, &newComm); - PARMS_NEW0((newMap)); - newMap->ref = 1; - MPI_Comm_rank(newComm, &newMap->pid); - MPI_Comm_size(newComm, &newMap->npro); - newMap->comm = newComm; - pid = newMap->pid; - gv_size = newMap->gsize = gsize * dof; - newMap->start = offset; - newMap->dof = dof; - newMap->vtype = vtype; - newMap->isserial = false; - if (newMap->npro == 1) { - newMap->isserial = true; - } - newMap->isperm = false; - newMap->isvecperm = false; - newMap->ispermalloc = false; - newMap->isdatalloc = false; - - if (!newMap->isserial) { - hint = gv_size / newMap->npro; - /* create a hash table */ - parms_TableCreate(&newMap->table, NULL, hint); - PARMS_NEWARRAY(newMap->lvars, hint); - lsize = 0; - if (vtype == INTERLACED) { - for (i = 0; i < gsize; i++) { - if (npar[i] - offset == pid) { - for (j = 0; j < dof; j++) { - gindex = dof*i+j; - /* put the pair (gindex, lsize) into the table */ - parms_TablePut(newMap->table, gindex, lsize); - if (lsize >= hint) { - hint += 50; - PARMS_RESIZE(newMap->lvars, hint); - } - newMap->lvars[lsize++] = gindex; - } - } - } - } - else if (vtype == NONINTERLACED) { - for (i = 0; i < gsize; i++) { - if (npar[i] - offset == pid) { - for (j = 0; j < dof; j++) { - gindex = gsize*j+i; - /* put the pair (gindex, lsize) into the table */ - parms_TablePut(newMap->table, gindex, lsize); - if (lsize >= hint) { - hint += 50; - PARMS_RESIZE(newMap->lvars, hint); - } - newMap->lvars[lsize++] = gindex; - } - } - } - } - - newMap->lsize = lsize; - PARMS_RESIZE(newMap->lvars, lsize); - newMap->ispermalloc = true; - PARMS_NEWARRAY0(newMap->perm, lsize); - PARMS_NEWARRAY0(newMap->iperm, lsize); - for (i = 0; i < lsize; i++) { - newMap->perm[i] = -1; - } - } - else { - lsize = gv_size; - newMap->lsize = gv_size; - } - newMap->nint = lsize; - newMap->ninf = 0; - newMap->n_ext = 0; - - *self = newMap; - -/* Define complex data type for MPI if complex code is compiled */ -#if defined(DBL_CMPLX) - parms_InitComplex(); -#endif - - return 0; -} - -/** - * Create a parms_Map object based on the output of ParMetis. - * - * @param self A parms_Map object created. - * @param vtxdist An integer array of size np+1, where np is the - * number of PEs. This array indicates the range of - * vertices that are local to each processor. PE i - * stores vertices in the range of [vtxdist[i], - * vtxdist[i+1]). - * @param part An array of size equal to the number of - * locally-stored vertices. part[j] indicates the ID - * of the PE to which the vertex with local index j - * and global index vtxdist[pid]+j belongs (pid is ID - * of local PE). - * @param comm MPI communicator. - * @param offset The start index. - * - 1 FORTRAN - * - 0 C - * @param dof The number of variables associated with each - * vertex. - * @param vtype Assuming the variables u_i, v_i are associated - * with vertex i, two styles of numbering variables - * are as follows: - * - INTERLACED. Variables are numbered in the - * order of \f$u_1, v_1, u_2, v_2, \cdots\f$; - * - NONINTERLACED. Variables are numbered in the - * order of \f$u_1, u_2, u_3,...,v_1, v_2,...\f$. - * - * @return 0 on success. - */ -int parms_MapCreateFromDist(parms_Map *self, int *vtxdist, int *part, - MPI_Comm comm, int offset, int dof, - VARSTYPE vtype) -{ - parms_Map newMap; - int npro, pid, i, j, l, gsize; - int gv_size, lsize, nl, ind, gindex; - int *num, *nums, *num_rcv, *disp, *snd_buf, *rcv_buf; - MPI_Comm newComm; - - MPI_Comm_dup(comm, &newComm); - PARMS_NEW0((newMap)); - newMap->ref = 1; - MPI_Comm_rank(newComm, &newMap->pid); - MPI_Comm_size(newComm, &newMap->npro); - newMap->comm = newComm; - npro = newMap->npro; - pid = newMap->pid; - /* get the number of local vertices */ - nl = vtxdist[pid+1] - vtxdist[pid]; - /* calculate the total number of vertices */ - gsize = vtxdist[npro] - vtxdist[0]; - /* total number of variables */ - gv_size = newMap->gsize = gsize * dof; - newMap->start = offset; - newMap->dof = dof; - newMap->vtype = vtype; - newMap->isserial = false; - if (newMap->npro == 1) { - newMap->isserial = true; - } - newMap->isperm = false; - newMap->isvecperm = false; - newMap->ispermalloc = false; - newMap->isdatalloc = false; - - if (!newMap->isserial) { - PARMS_NEWARRAY(snd_buf, nl); - /* create a hash table */ - parms_TableCreate(&newMap->table, NULL, nl); - PARMS_NEWARRAY0(num, npro); - PARMS_NEWARRAY(nums, npro); - /* num[i] stores the number of locally-stored variables being - distributed to PE i */ - for (i = 0; i < nl; i++) { - num[part[i]-offset]++; - } - MPI_Allreduce(num, nums, npro, MPI_INT, MPI_SUM, newComm); - /* nums[i] stores the number of variables on PE i */ - lsize = newMap->lsize = nums[pid]*dof; - PARMS_NEWARRAY(newMap->lvars, lsize); - PARMS_FREE(nums); - - PARMS_NEWARRAY(disp, npro+1); - PARMS_NEWARRAY(num_rcv, npro); - /* num_rcv stores the number of data received from other processors */ - for (i = 0; i < npro; i++) { - MPI_Gather(&num[i], 1, MPI_INT, num_rcv, 1, MPI_INT, i, - newComm); - /* snd_buf stores the data sent to PE i */ - ind = 0; - for (j = 0; j < nl; j++) { - if (part[j]-offset == i) { - snd_buf[ind++] = vtxdist[pid] + j - offset; - } - } - if (pid == i) { - /* disp is an integer array. disp[i] specifies the - displacement relative to rcv_buf at which to place the - incoming data from PE i */ - disp[0] = 0; - for (j = 0; j < npro; j++) { - disp[j+1] = disp[j] + num_rcv[j]; - } - - /* variables in rcv_buf are stored in C-style */ - PARMS_NEWARRAY(rcv_buf, disp[npro]); - MPI_Gatherv(snd_buf, num[i], MPI_INT, newMap->lvars, num_rcv, - disp, MPI_INT, i, newComm); - if (vtype == INTERLACED) { - ind = 0; - for (j = 0; j < disp[npro]; j++) { - for (l = 0; l < dof; l++) { - gindex = dof*rcv_buf[j]+l; - parms_TablePut(newMap->table, gindex, ind); - newMap->lvars[ind++] = gindex; - } - } - } - else if (vtype == NONINTERLACED) { - for (j = 0; j < disp[npro]; j++) { - parms_TablePut(newMap->table, newMap->lvars[j], j); - } - ind = disp[npro]; - for (j = 0; j < disp[npro]; j++) { - for (l = 1; l < dof; l++) { - gindex = gsize*l+newMap->lvars[j]; - parms_TablePut(newMap->table, gindex, ind); - newMap->lvars[ind++] = gindex; - } - } - } - PARMS_FREE(rcv_buf); - } - else { - MPI_Gatherv(snd_buf, num[i], MPI_INT, rcv_buf, num_rcv, - disp, MPI_INT, i, newComm); - } - } - - PARMS_FREE(snd_buf); - PARMS_FREE(num); - PARMS_FREE(num_rcv); - PARMS_FREE(disp); - newMap->ispermalloc = true; - PARMS_NEWARRAY0(newMap->perm, lsize); - PARMS_NEWARRAY0(newMap->iperm, lsize); - for (i = 0; i < lsize; i++) { - newMap->perm[i] = -1; - } - } - else { - lsize = gv_size; - newMap->lsize = gv_size; - } - newMap->nint = lsize; - newMap->ninf = 0; - newMap->n_ext = 0; - - *self = newMap; - -/* Define complex data type for MPI if complex code is compiled */ -#if defined(DBL_CMPLX) - parms_InitComplex(); -#endif - - return 0; -} - -/** - * Create a parms_Map object. - * - * @param self A parms_Map object created. - * @param gsize The total number of vertices. - * @param nodes A list of all vertices stored PE by PE. - * @param p2nodes An integer array of size np+1, np is the number of - * PEs. If k1 = p2nodes[i], k2 = p2nodes[i+1] - * , then PE i contains the vertices in the - * range of [[nodes[k1], [nodes[k2-1]]. - * @param comm MPI communication. - * @param dof The number of variables associated with each - * node. - * @param vtype Assuming the variables \f$u_i, v_i\f$ are - * associated with vertex \f$i\f$, two styles of - * numbering variables are as follows: - * - INTERLACED. Variables are numbered in the - * order of \f$u_1, v_1, u_2, v_2, \cdots\f$; - * - NONINTERLACED. Variables are numbered in the - * order of \f$u_1, u_2, u_3,...,v_1, v_2,...\f$. - * - * @return 0 on success. - */ -int parms_MapCreateFromPtr(parms_Map *self, int gsize, int *nodes, int - *p2nodes, MPI_Comm comm, int dof, VARSTYPE - vtype) -{ - int pid, npro, index, i, j, l; - int start_index, end_index, gindex; - int offset, start_offset; - parms_Map newMap; - MPI_Comm newComm; - - MPI_Comm_dup(comm, &newComm); - - PARMS_NEW0((newMap)); - newMap->ref = 1; - newMap->gsize = gsize * dof; - start_offset = newMap->start = p2nodes[0]; - newMap->dof = dof; - newMap->vtype = vtype; - newMap->isserial = false; - newMap->isperm = false; - newMap->isvecperm = false; - newMap->ispermalloc = false; - newMap->isdatalloc = false; - newMap->nint = 0; - MPI_Comm_rank(newComm, &newMap->pid); - MPI_Comm_size(newComm, &newMap->npro); - newMap->comm = newComm; - npro = newMap->npro; - pid = newMap->pid; - - if (npro == 1) { - newMap->isserial = true; - } - - newMap->lsize = p2nodes[pid+1] - p2nodes[pid]; - newMap->lsize *= dof; - - - if (!newMap->isserial) { - PARMS_NEWARRAY(newMap->lvars, newMap->lsize); - - index = 0; - /* create a table */ - parms_TableCreate(&newMap->table, NULL, newMap->lsize); - - if (vtype == INTERLACED) { - /* calculate the range [start_index, end_index) */ - start_index = p2nodes[pid] - start_offset; - end_index = p2nodes[pid+1] - start_offset; - for (j = start_index; j < end_index; j++) { - offset = j - start_index; - for (l = 0; l < dof; l++) { - /* global index of variable l on vertex nodes[j] */ - gindex = dof*(nodes[j]-start_offset)+l; - parms_TablePut(newMap->table, gindex, index); - /* local variables in global indices */ - newMap->lvars[dof*offset+l] = gindex; - - index++; - } - } - } - else if (vtype == NONINTERLACED) { - /* calculate the range [start_index, end_index) */ - start_index = p2nodes[pid] - start_offset; - end_index = p2nodes[pid+1] - start_offset; - - for (j = start_index; j < end_index; j++) { - offset = j - start_index; - for (l = 0; l < dof; l++) { - /* global index of variable l on vertex nodes[j] */ - gindex = gsize*l+nodes[j]-start_offset; - parms_TablePut(newMap->table, gindex, index); - /* local variables in global indices */ - newMap->lvars[dof*offset+l] = gindex; - - index++; - } - } - } - newMap->ispermalloc = true; - PARMS_NEWARRAY0(newMap->perm, newMap->lsize); - PARMS_NEWARRAY0(newMap->iperm, newMap->lsize); - for (i = 0; i < newMap->lsize; i++) { - newMap->perm[i] = -1; - } - } - newMap->nint = newMap->lsize; - newMap->ninf = 0; - newMap->n_ext = 0; - - *self = newMap; - -/* Define complex data type and ops for MPI if complex code is compiled */ -#if defined(DBL_CMPLX) - parms_InitComplex(); -#endif - - return 0; -} - -/** - * Create a parms_Map object with the default partioning strategy in - * PETSc. - * - * @param self A parms_Map object created. - * @param m The local size of variables. - * @param M The global size of variables. - * @param comm MPI communicatior. - * - * @return 0 on success. - */ -int parms_MapCreateFromPetsc(parms_Map *self, int m, int M, MPI_Comm - comm) -{ - int pid, npro, index, i, j; - int start_index, end_index; - int *nptr; - parms_Map newMap; - MPI_Comm newComm; - - MPI_Comm_dup(comm, &newComm); - /* create a parms_Map object */ - - PARMS_NEW0((newMap)); - newMap->ref = 1; - newMap->gsize = M; - newMap->start = 0; - newMap->dof = 1; - newMap->vtype = NONINTERLACED; - newMap->isserial = false; - newMap->isperm = false; - newMap->isvecperm = false; - newMap->ispermalloc = false; - newMap->isdatalloc = false; - newMap->nint = m; - newMap->ninf = 0; - newMap->n_ext = 0; - MPI_Comm_rank(newComm, &newMap->pid); - MPI_Comm_size(newComm, &newMap->npro); - newMap->comm = newComm; - npro = newMap->npro; - pid = newMap->pid; - - if (npro == 1) { - newMap->isserial = true; - } - - newMap->lsize = m; - - /* if the number of PEs is more than 1 */ - if (!newMap->isserial) { - PARMS_NEWARRAY(newMap->lvars, newMap->lsize); - PARMS_NEWARRAY(nptr, npro); - - /* create a table */ - parms_TableCreate(&newMap->table, NULL, newMap->lsize); - - MPI_Allgather(&m, 1, MPI_INT, nptr, 1, MPI_INT, newComm); - - /* chunks for contiguous data are distributed across PEs. find - the range [start_index, end_index) contained in the local PE. */ - start_index = 0; - for (i = 0; i < pid; i++) { - start_index += nptr[i]; - } - - end_index = start_index + m; - index = 0; - for (j = start_index; j < end_index; j++) { - parms_TablePut(newMap->table, j, index); - newMap->lvars[index++] = j; - } - newMap->ispermalloc = true; - PARMS_NEWARRAY0(newMap->perm, newMap->lsize); - PARMS_NEWARRAY0(newMap->iperm, newMap->lsize); - for (i = 0; i < newMap->lsize; i++) { - newMap->perm[i] = -1; - } - } - - *self = newMap; - -/* Define complex data type for MPI if complex code is compiled */ -#if defined(DBL_CMPLX) - parms_InitComplex(); -#endif - - return 0; -} - -/** - * Get local index for a given global index. - * - * Return a pointer to an integer. If it is NULL, then the variable - * with global index gindex doesn't reside on the local - * PE. Otherwise, it points to an address of a variable - * whose value is local index. - * - * @param self A parms_Map object. - * @param gindex A global index. - * - * @return A pointer to an integer whose value is the corresponding - * local index. - */ -int *parms_MapGlobalToLocal(parms_Map self, int gindex) -{ - int *lindex; - - if(self->isserial) - lindex = &gindex; - else - lindex = parms_TableGet(self->table, gindex); - - return lindex; -} - -/** - * Get global index array for the local PE (see *lvars in parms_map_impl.h) - * -*/ -int parms_MapGetGlobalIndices(parms_Map self, int *im) -{ - int i, offset = self->start; - - for(i=0; ilsize; i++) - im[i] = self->lvars[i]+offset; - - return 0; -} diff --git a/lib/parms/src/parms_mat.c b/lib/parms/src/parms_mat.c deleted file mode 100755 index f8b0f343c..000000000 --- a/lib/parms/src/parms_mat.c +++ /dev/null @@ -1,1413 +0,0 @@ -/*-------------------------------------------------------------------- - parms_MatVec : perform the multiplication of - matrix-vector product. - parms_MatCreate : create a matrix object. - parms_MatExtend : extend submatrix by including equations - correspond to the immediate neighbouring - variables. - parms_MatFree : free the memory for a matrix object. - parms_MatFreeSubMat : free the memory for the submatrix object. - parms_MatGetCommHandler : get the communication handler. - parms_MatGetDiag : get the diagonal part of the local matrix. - parms_MatGetSubMat : get the local matrix. - parms_MatMVPY : perform \f$z = \alpha \times self \times x - + beta \times y\f$. - parms_MatSetCommType : set the communication type. - parms_MatSetValues : insert/add values to the matrix object. - parms_MatSetup : set up a matrix object. - parms_MatVecOffDiag : perform the multiplication of the - off-diagonal matrix and the external vars. - parms_MatView : dump a matrix object. - - A code fragment for using matrix functions: - - parms_Mat mat; - parms_Map map; - parms_PC pc; - - ... - - // create a matrix object. - parms_MatCreate(&mat, map); - - // insert/add values into the matrix - parms_MatSetValues(mat, ...); - - // setup the matrix. - // this function divides local variables into two categories: - // interior variables and interface variables. interior variables - // listed first. when the matrix-vector product is performed, the - // vector is permuted automatically if the vector is created - parms_MatSetup(mat); - - // matrix-vector product - parms_MatVec(mat, vec, y); - - // create a preconditioner object. - parms_PCCreate(&pc, mat); - - $Id: parms_mat.c,v 1.4 2006-12-18 22:23:40 zzli Exp $ - ------------------------------------------------------------------*/ -#include "include/parms_mat_impl.h" - -/* -int parms_MatCreate_vcsr(parms_Mat self); -int parms_MatCreate_dvcsr(parms_Mat self); -int parms_MatFree_dvcsr(parms_Mat *self); -int parms_MatView_vcsr(parms_Mat self, parms_Viewer v); -int parms_MatView_dvcsr(parms_Mat self, parms_Viewer v); -*/ -/** - * Free the parms_Mat object pointed to by self. - * - * @param self A pointer to a parms_Mat object. - * - * @return 0 on success. - */ -int parms_MatFree(parms_Mat *self) -{ - int m, i, nnz; - - (*self)->ref--; - if ((*self)->ref == 0 ) { - if(!(*self)->isserial) - parms_MatFree_dvcsr(self); - parms_MapFree(&(*self)->is); - if ((*self)->isalloc) { - m = (*self)->m; - for (i = 0; i < m; i++) { - nnz = (*self)->aux_data->nnzrow[i]; - if (nnz) { - PARMS_FREE((*self)->aux_data->pj[i]); - PARMS_FREE((*self)->aux_data->pa[i]); - } - } - PARMS_FREE((*self)->aux_data->pa); - PARMS_FREE((*self)->aux_data->pj); - PARMS_FREE((*self)->aux_data->nnzrow); - PARMS_FREE((*self)->aux_data); - PARMS_FREE((*self)->ops); - PARMS_FREE(*self); - } - } - return 0; -} - -/** - * Dump parms_Mat object. - * - * @param self A pointer to a parms_Mat object. - * @param v A parms_Viewer object. - * - * @return 0 on success. - */ -int parms_MatView(parms_Mat self, parms_Viewer v) -{ - if((self)->isserial) - return parms_MatView_vcsr(self, v); - else - return parms_MatView_dvcsr(self, v); -} - -/** - * Dump parms_Mat object in Coordinate format. - * - * @param self A pointer to a parms_Mat object. - * @param v A parms_Viewer object. - * - * @return 0 on success. - */ -int parms_MatViewCOO(parms_Mat self, parms_Viewer v) -{ - if((self)->isserial) - return parms_MatViewCOO_vcsr(self, v); - else - return parms_MatViewCOO_dvcsr(self, v); -} - -/** - * Set the communication type. - * - * Set the communication style across processors. - * communication style: - * -P2P point-to-point (data copied to/from auxilliary buffers). - * -DERIVED derived datatype. - * - * @param self A matrix object. - * @param ctype Communication style: - * - P2P point-to-point (data copied to/from - * auxilliary buffers). - * - DERIVED derived datatype. - * - * @return 0 on success. - */ -int parms_MatSetCommType(parms_Mat self, COMMTYPE ctype) -{ - return self->ops->setcommtype(self, ctype); -} - -/** - * Create a parms_Mat object. - * - * Create a parms_Mat object based on data distribution layout map. - * - * @param self A pointer to the parms_Mat object created. - * @param map A parms_Map object, which describes the data - * distribution among processors. - * - * @return 0 on success. - */ -int parms_MatCreate(parms_Mat *self, parms_Map map) -{ - parms_Mat new_mat; - - PARMS_NEW0((new_mat)); - new_mat->ref = 1; - PARMS_NEW0((new_mat)->ops); - new_mat->is = map; - map->ref++; - new_mat->type = MAT_NULL; - new_mat->ilutype =PCILU0; /*-- default local precon is ilu0. See parms_pc.c ---*/ - new_mat->issetup = false; - new_mat->isperm = map->isperm; - new_mat->isalloc = false; - new_mat->isreset = false; - new_mat->isassembled = false; - - new_mat->m = parms_MapGetLocalSize(map); - new_mat->n = new_mat->m; - new_mat->M = parms_MapGetGlobalSize(map); - new_mat->N = new_mat->M; - new_mat->isserial = map->isserial; - *self = new_mat; - - return 0; -} - -/** - * Perform \f$y = self \times x\f$. - * - * @param self A parms_Mat object. - * @param x A vector. - * @param y Another vector object. - * - * @return 0 on success. - */ -int parms_MatVec(parms_Mat self, FLOAT *x, FLOAT *y) -{ - return self->ops->apply(self, x, y); -} - -/** - * Set up parms_Mat object self. - * - * This is the most important function for the parms_Mat object. This - * function combines the function bdry and setup in the old version - * of pARMS. The function sets up the data structure needed by the - * distributed matrix-vector multiplication, divides the variables on - * the local processors into two categories: interior and interface - * variables. - * - * @param self A parms_Mat object. - * - * @return 0 on success. - */ -int parms_MatSetup(parms_Mat self) -{ - /* free and create new table for offdiagonal column count */ - if(self->odtable) - parms_TableFree(&self->odtable); - - if ((!self->issetup) && (self->type == MAT_NULL)) { - self->type = MAT_VCSR; - if(self->isserial){ - parms_MatCreate_vcsr(self); - } - else{ - if(!self->isreset) - parms_MatCreate_dvcsr(self); - } - } - - return self->ops->setup(self); -} - -/** - * Insert/add values to the parms_Mat object self. - * - * @param self A parms_Mat object. - * @param m The number of rows inserted. - * @param im An array of row global indices. - * @param ia An array of pointer to the beginning of each row in - * array ja. - * @param ja An array of column global indices. - * @param values An array of values. - * @param mode Insert value mode: - * - INSERT insert values to parms_Mat self. - * - ADD add values to parms_Mat self. - * - * NOTE: New entries are always inserted first, so mode does not - * matter if this is a new entry. Subsequent calls will either - * replace (mode = INSERT) or add (mode = ADD) to the existing - * entries in a particular position - * - * @return 0 on success. - */ -int parms_MatSetValues(parms_Mat self, int m, int *im, int *ia, - int *ja, FLOAT *values, INSERTMODE mode) -{ - parms_Map is; - parms_vcsr aux_data; - BOOL isserial, isalloc; - int i, j, k, offset, start, end, rindex, cindex; - int space, numinf, index, lrindex, lcindex, *rja; - int *perm, *rp, *cp, *odp,inc, lsize, size; - FLOAT *ra; - BOOL found; - - isalloc = self->isalloc; - is = self->is; - offset = is->start; - lsize = parms_MapGetLocalSize(is); - isserial = is->isserial; - - if (isalloc) { - aux_data = self->aux_data; - } - else { - self->isalloc = true; - PARMS_NEW(aux_data); - aux_data->n = lsize; - PARMS_NEWARRAY(aux_data->space, aux_data->n); - PARMS_NEWARRAY0(aux_data->nnzrow, aux_data->n); - PARMS_NEWARRAY(aux_data->pj, aux_data->n); - PARMS_NEWARRAY(aux_data->pa, aux_data->n); - for (i = 0; i < aux_data->n; i++) { - aux_data->space[i] = 8; - PARMS_NEWARRAY(aux_data->pj[i], aux_data->space[i]); - PARMS_NEWARRAY(aux_data->pa[i], aux_data->space[i]); - } - self->aux_data = aux_data; - /* create table for tracking off-diagonal column count */ - parms_TableCreate(&self->odtable, NULL, lsize); - } - - if (isserial) { - for (i = 0; i < m; i++) { - rindex = im[i] - offset; - ra = aux_data->pa[rindex]; - rja = aux_data->pj[rindex]; - start = ia[i] - offset; - end = ia[i+1] - offset; - for (j = start; j < end; j++) { - cindex = ja[j] - offset; - space = aux_data->space[rindex]; - found = false; - for (k = 0; k < aux_data->nnzrow[rindex]; k++) { - if (rja[k] == cindex) { - found = true; - index = k; - break; - } - } - if (found) { - if (mode == INSERT) { - ra[index] = values[j]; - } - else if (mode == ADD) { - ra[index] += values[j]; - } - } - else { /* insert a new entry */ - if (space == aux_data->nnzrow[rindex]) { - /* reallocate memory for holding new entry */ - space += 8; - PARMS_RESIZE(aux_data->pa[rindex], space); - PARMS_RESIZE(aux_data->pj[rindex], space); - aux_data->space[rindex] = space; - ra = aux_data->pa[rindex]; - rja = aux_data->pj[rindex]; - } - rja[aux_data->nnzrow[rindex]] = cindex; - ra[aux_data->nnzrow[rindex]++] = values[j]; - } - } - } - } - else { - perm = is->perm; - numinf = is->ninf; -/* Check if matrix is to be re-used with same non-zero pattern */ - if(self->isreset && (self->resetpattern == SAME_NONZERO_STRUCTURE)) - { - for (i = 0; i < m; i++) { - rindex = im[i] - offset; - rp = parms_MapGlobalToLocal(is, rindex); - /* this row resides the local processor */ - if (rp != NULL && *rp < lsize) { - /* calculate the local row index */ - lrindex = perm[*rp]; - ra = aux_data->pa[lrindex]; - rja = aux_data->pj[lrindex]; - - start = ia[i]-offset; - end = ia[i+1]-offset; - for (j = start; j < end; j++) { - cindex = ja[j] - offset; - /* the local processor contains this column index */ - cp = parms_MapGlobalToLocal(is, cindex); - if (cp != NULL && *cp < lsize) { - /* local column index */ - lcindex = perm[*cp]; - - found = false; - for (k = 0; k < aux_data->nnzrow[lrindex]; k++) { - if (rja[k] == lcindex) { - found = true; - index = k; - break; - } - } - if (found) { - if (mode == INSERT) { - ra[index] = values[j]; - } - else if (mode == ADD) { - ra[index] += values[j]; - } - } - } - else { - if(cp != NULL){ - lcindex = *cp; - - found = false; - for (k = 0; k < aux_data->nnzrow[lrindex]; k++) { - if (rja[k] == lcindex) { - found = true; - index = k; - break; - } - } - if (found) { - if (mode == INSERT) { - ra[index] = values[j]; - } - else if (mode == ADD) { - ra[index] += values[j]; - } - } - } - } - } - } - } - } - else{ - for (i = 0; i < m; i++) { - rindex = im[i] - offset; - rp = parms_MapGlobalToLocal(is, rindex); - /* this row resides the local processor */ - if (rp != NULL && *rp < lsize) { - /* calculate the local row index */ - lrindex = *rp; - ra = aux_data->pa[lrindex]; - rja = aux_data->pj[lrindex]; - - start = ia[i]-offset; - end = ia[i+1]-offset; - for (j = start; j < end; j++) { - cindex = ja[j] - offset; - /* the local processor contains this column index */ - cp = parms_MapGlobalToLocal(is, cindex); - if (cp != NULL && *cp < lsize) { - /* local column index */ - lcindex = *cp; - } - else { - if (perm[lrindex] == -1) { /* not marked yet */ - perm[lrindex] = lsize-1-numinf; - numinf++; - } - lcindex = -cindex-1; - } - space = aux_data->space[lrindex]; - found = false; - for (k = 0; k < aux_data->nnzrow[lrindex]; k++) { - if (rja[k] == lcindex) { - found = true; - index = k; - break; - } - } - if (found) { - if (mode == INSERT) { - ra[index] = values[j]; - } - else if (mode == ADD) { - ra[index] += values[j]; - } - } - else { /* insert the new entry */ - if (space == aux_data->nnzrow[lrindex]) { - /* reallocate memory for holding new entry */ - space += 8; - PARMS_RESIZE(aux_data->pa[lrindex], space); - PARMS_RESIZE(aux_data->pj[lrindex], space); - aux_data->space[lrindex] = space; - ra = aux_data->pa[lrindex]; - rja = aux_data->pj[lrindex]; - } - if (cp == NULL) { - size = parms_TableGetSize(is->table); - parms_TablePut(is->table, cindex, size); - /* Initialize column count */ - inc = 0; - parms_TablePut(self->odtable,cindex,inc); - } - else if((cp !=NULL) && (lcindex < 0)){ - /* update off-diagonal column count */ - odp = parms_TableGet(self->odtable, cindex); - inc = *odp + 1; - parms_TablePut(self->odtable,cindex,inc); - } - - rja[aux_data->nnzrow[lrindex]] = lcindex; - ra[aux_data->nnzrow[lrindex]++] = values[j]; - } - } - } - } - is->ninf = numinf; - } - } - - return 0; -} - - - -/** - * Insert/add values to the parms_Mat object self. This assumes matrix - * values are being added element-by-element - * - * @param self A parms_Mat object. - * @param m The number of rows inserted. - * @param im An array of row global indices. - * @param ia An array of pointer to the beginning of each row in - * array ja. - * @param ja An array of column global indices. - * @param values An array of values. - * @param mode Insert value mode: - * - INSERT insert values to parms_Mat self. - * - ADD add values to parms_Mat self. - * - * NOTE: New entries are always inserted first, so mode does not - * matter if this is a new entry. Subsequent calls will either - * replace (mode = INSERT) or add (mode = ADD) to the existing - * entries in a particular position - * - * @return 0 on success. - */ -int parms_MatSetElementMatrix(parms_Mat self, int m, int *im, int *ia, - int *ja, FLOAT *values, INSERTMODE mode) -{ - parms_Map is; - parms_vcsr aux_data, ext_data; - BOOL isserial, isalloc, isassembled; - int i, j, k, offset, start, end, rindex, cindex; - int space, numinf, index, lrindex, lcindex, *rja, *pj; - int *perm, *rp, *cp,*odp,inc, *ext_im, lsize, size, ext_nnz; - FLOAT *ra, *pa; - BOOL found; - - isalloc = self->isalloc; - is = self->is; - offset = is->start; - lsize = parms_MapGetLocalSize(is); - isserial = is->isserial; - isassembled = self->isassembled; - - if(isserial) - parms_MatSetValues(self, m, im, ia, ja, values, mode); - else{ - if (isalloc) { - aux_data = self->aux_data; - if(isassembled) - { - /* reallocate some data for the external data (contributions to - * other processors) from the current element matrix - */ - PARMS_NEW(ext_data); - is->n_ext = is->n_ext > 0 ? is->n_ext : lsize; - ext_data->n = is->n_ext; - PARMS_NEWARRAY(ext_data->space, ext_data->n); - PARMS_NEWARRAY0(ext_data->nnzrow, ext_data->n); - PARMS_NEWARRAY(ext_data->pj, ext_data->n); - PARMS_NEWARRAY(ext_data->pa, ext_data->n); - PARMS_NEWARRAY(ext_im, ext_data->n); - for (i = 0; i < ext_data->n; i++) { - ext_data->space[i] = 8; - PARMS_NEWARRAY(ext_data->pj[i], ext_data->space[i]); - PARMS_NEWARRAY(ext_data->pa[i], ext_data->space[i]); - } - self->ext_data = ext_data; - is->ext_im = ext_im; - /* reinitialize number of external contribution to zero */ - is->n_ext = 0; - /* reset */ - self->isassembled = false; - } - else{ - ext_data = self->ext_data; - ext_im = is->ext_im; - } - } - else { - self->isalloc = true; - PARMS_NEW(aux_data); - aux_data->n = lsize; - PARMS_NEWARRAY(aux_data->space, aux_data->n); - PARMS_NEWARRAY0(aux_data->nnzrow, aux_data->n); - PARMS_NEWARRAY(aux_data->pj, aux_data->n); - PARMS_NEWARRAY(aux_data->pa, aux_data->n); - for (i = 0; i < aux_data->n; i++) { - aux_data->space[i] = 8; - PARMS_NEWARRAY(aux_data->pj[i], aux_data->space[i]); - PARMS_NEWARRAY(aux_data->pa[i], aux_data->space[i]); - } - self->aux_data = aux_data; - /* create table to track off-diag column count */ - parms_TableCreate(&self->odtable,NULL,lsize); -/* Now allocate some data for the external data (contributions to - * other processors) from the current element matrix -*/ - PARMS_NEW(ext_data); - ext_data->n = lsize; - PARMS_NEWARRAY(ext_data->space, ext_data->n); - PARMS_NEWARRAY0(ext_data->nnzrow, ext_data->n); - PARMS_NEWARRAY(ext_data->pj, ext_data->n); - PARMS_NEWARRAY(ext_data->pa, ext_data->n); - PARMS_NEWARRAY(ext_im, ext_data->n); - for (i = 0; i < ext_data->n; i++) { - ext_data->space[i] = 8; - PARMS_NEWARRAY(ext_data->pj[i], ext_data->space[i]); - PARMS_NEWARRAY(ext_data->pa[i], ext_data->space[i]); - } - self->ext_data = ext_data; - is->ext_im = ext_im; - - } - - perm = is->perm; - numinf = is->ninf; -/* Check if matrix is to be re-used with same non-zero pattern */ - if(self->isreset && (self->resetpattern == SAME_NONZERO_STRUCTURE)) - { - for (i = 0; i < m; i++) { - rindex = im[i] - offset; - rp = parms_MapGlobalToLocal(is, rindex); - /* this row resides the local processor */ - if (rp != NULL && *rp < lsize) { - /* calculate the local row index */ - lrindex = perm[*rp]; - ra = aux_data->pa[lrindex]; - rja = aux_data->pj[lrindex]; - - start = ia[i]-offset; - end = ia[i+1]-offset; - for (j = start; j < end; j++) { - cindex = ja[j] - offset; - /* the local processor contains this column index */ - cp = parms_MapGlobalToLocal(is, cindex); - if (cp != NULL && *cp < lsize) { - /* local column index */ - lcindex = perm[*cp]; - - for (k = 0; k < aux_data->nnzrow[lrindex]; k++) { - if (rja[k] == lcindex) { - ra[k] = values[j]; - break; - } - } - } - else { - if(cp != NULL){ - lcindex = *cp; - - for (k = 0; k < aux_data->nnzrow[lrindex]; k++) { - if (rja[k] == lcindex) { - ra[k] = values[j]; - break; - } - } - - } - } - } - } - else{ - -/* This is an external contribution */ -/* first check if there is enough memory allocated */ - space = ext_data->n; - if(is->n_ext == space){ - /* reallocate memory for holding new entry */ - space += 8; - PARMS_RESIZE(ext_data->space, space); - PARMS_RESIZE(ext_data->nnzrow, space); - PARMS_RESIZE(ext_data->pj, space); - PARMS_RESIZE(ext_data->pa, space); - PARMS_RESIZE(is->ext_im, space); - for (k = ext_data->n; k < space; k++) { - ext_data->space[k] = 8; - ext_data->nnzrow[k] = 0; - PARMS_NEWARRAY(ext_data->pj[k], ext_data->space[k]); - PARMS_NEWARRAY(ext_data->pa[k], ext_data->space[k]); - } - ext_data->n = space; - ext_im = is->ext_im; - } - - rindex = 0; - for(k = 0; kn_ext; k++) /* check if row has been added already */ - { - if(ext_im[k] == im[i]) - break; - } - if(k < is->n_ext) // already added row - rindex = k; - else // new row contribution - { - rindex = is->n_ext; - ext_im[rindex] = im[i]; - } -/* now get row info */ - start = ia[i]-offset; - end = ia[i+1]-offset; - pj = ext_data->pj[rindex]; - pa = ext_data->pa[rindex]; - ext_nnz = ext_data->nnzrow[rindex]; - cindex = 0; - - for (j = start; j < end; j++) { - for(k = 0; k < ext_nnz; k++) /* check if column is available */ - { - if(pj[k] == ja[j]) - break; - } - if(k < ext_nnz){ - cindex = k; - pa[cindex] += values[j]; - } - else{ -/* check if space is enough */ - space = ext_data->space[rindex]; - if (space == ext_data->nnzrow[rindex]) { - /* reallocate memory for holding new entry */ - space += 8; - PARMS_RESIZE(ext_data->pa[rindex], space); - PARMS_RESIZE(ext_data->pj[rindex], space); - ext_data->space[rindex] = space; - pj = ext_data->pj[rindex]; - pa = ext_data->pa[rindex]; - } -/* enter new column */ - pj[ext_data->nnzrow[rindex]] = ja[j]; - pa[ext_data->nnzrow[rindex]++] = values[j]; - } - } -/* now update n_ext */ - if(rindex == is->n_ext) - is->n_ext++; - } - } - } - else{ - - for (i = 0; i < m; i++) { - rindex = im[i] - offset; - rp = parms_MapGlobalToLocal(is, rindex); - /* this row resides the local processor */ - if (rp != NULL && *rp < lsize) { - /* calculate the local row index */ - lrindex = *rp; - ra = aux_data->pa[lrindex]; - rja = aux_data->pj[lrindex]; - - start = ia[i]-offset; - end = ia[i+1]-offset; - for (j = start; j < end; j++) { - cindex = ja[j] - offset; - /* the local processor contains this column index */ - cp = parms_MapGlobalToLocal(is, cindex); - if (cp != NULL && *cp < lsize) { - /* local column index */ - lcindex = *cp; - } - else { - if (perm[lrindex] == -1) { /* nor marked yet */ - perm[lrindex] = lsize-1-numinf; - numinf++; - } - lcindex = -cindex-1; - } - space = aux_data->space[lrindex]; - found = false; - for (k = 0; k < aux_data->nnzrow[lrindex]; k++) { - if (rja[k] == lcindex) { - found = true; - ra[k] = values[j]; - break; - } - } - if (found == false) { /* insert the new entry */ - if (space == aux_data->nnzrow[lrindex]) { - /* reallocate memory for holding new entry */ - space += 8; - PARMS_RESIZE(aux_data->pa[lrindex], space); - PARMS_RESIZE(aux_data->pj[lrindex], space); - aux_data->space[lrindex] = space; - ra = aux_data->pa[lrindex]; - rja = aux_data->pj[lrindex]; - } - if (cp == NULL) { - size = parms_TableGetSize(is->table); - parms_TablePut(is->table, cindex, size); - /* Initialize column count */ - inc = 0; - parms_TablePut(self->odtable,cindex,inc); - } - else if((cp !=NULL) && (lcindex < 0)){ - /* update off-diagonal column count */ - odp = parms_TableGet(self->odtable, cindex); - inc = *odp + 1; - parms_TablePut(self->odtable,cindex,inc); - } - - rja[aux_data->nnzrow[lrindex]] = lcindex; - ra[aux_data->nnzrow[lrindex]++] = values[j]; - } - } - } - else{ - -/* This is an external contribution */ -/* first check if there is enough memory allocated */ - space = ext_data->n; - if(is->n_ext == space){ - /* reallocate memory for holding new entry */ - space += 8; - PARMS_RESIZE(ext_data->space, space); - PARMS_RESIZE(ext_data->nnzrow, space); - PARMS_RESIZE(ext_data->pj, space); - PARMS_RESIZE(ext_data->pa, space); - PARMS_RESIZE(is->ext_im, space); - for (k = ext_data->n; k < space; k++) { - ext_data->space[k] = 8; - ext_data->nnzrow[k] = 0; - PARMS_NEWARRAY(ext_data->pj[k], ext_data->space[k]); - PARMS_NEWARRAY(ext_data->pa[k], ext_data->space[k]); - } - ext_data->n = space; - ext_im = is->ext_im; - } - - rindex = 0; - for(k = 0; kn_ext; k++) /* check if row has been added already */ - { - if(ext_im[k] == im[i]) - break; - } - if(k < is->n_ext) // already added row - rindex = k; - else // new row contribution - { - rindex = is->n_ext; - ext_im[rindex] = im[i]; - } -/* now get row info */ - start = ia[i]-offset; - end = ia[i+1]-offset; - pj = ext_data->pj[rindex]; - pa = ext_data->pa[rindex]; - ext_nnz = ext_data->nnzrow[rindex]; - cindex = 0; - - for (j = start; j < end; j++) { - for(k = 0; k < ext_nnz; k++) /* check if column is available */ - { - if(pj[k] == ja[j]) - break; - } - if(k < ext_nnz){ - cindex = k; - pa[cindex] += values[j]; - } - else{ -/* check if space is enough */ - space = ext_data->space[rindex]; - if (space == ext_data->nnzrow[rindex]) { - /* reallocate memory for holding new entry */ - space += 8; - PARMS_RESIZE(ext_data->pa[rindex], space); - PARMS_RESIZE(ext_data->pj[rindex], space); - ext_data->space[rindex] = space; - pj = ext_data->pj[rindex]; - pa = ext_data->pa[rindex]; - } -/* enter new column */ - pj[ext_data->nnzrow[rindex]] = ja[j]; - pa[ext_data->nnzrow[rindex]++] = values[j]; - } - } -/* now update n_ext */ - if(rindex == is->n_ext) - is->n_ext++; - } - } - is->ninf = numinf; - } - } - return 0; -} - -/** - * Assembles the finite element matrix by updating off-processor - * contributions. - * - * @param self A parms_Mat object. - * @return 0 on success. - */ -int parms_MatAssembleElementMatrix(parms_Mat self) -{ - int i, j,mypid, npro, lsize, k, k1, k2, lnnz, gextnnz, n_ext; - int gnodv,index, nrow; - int *clp, *info,*disp; - MPI_Comm comm; - - parms_Map is; - parms_vcsr ext_data; - int *nnzstart=NULL, *ptrvrecv=NULL,*ia=NULL, *ja=NULL; - int *gextvars=NULL, *gextnnzrow=NULL; - int *gextpja=NULL, *ext_nnzrow, *nnzptr, *ext_im; - FLOAT *aa=NULL, *gextpa=NULL; - - /* extract information arrays */ - is = self->is; - npro = is->npro; - mypid = is->pid; - comm = is->comm; - lsize = parms_MapGetLocalSize(is); - -/* Check to see if there is any external data. If so, then update - * The local matrix before setting up the matrix. -*/ - ext_data = self->ext_data; - n_ext = is->n_ext; - ext_im = is->ext_im; - - PARMS_NEWARRAY(info, npro); - PARMS_NEWARRAY(disp, npro+1); - - MPI_Allgather(&n_ext, 1, MPI_INT, info, 1, MPI_INT, comm); - disp[0] = 0; - for (i = 0; i < npro; i++) { - disp[i+1] = disp[i] + info[i]; - } - /* total number of external variables */ - gnodv = disp[npro]; - - if(gnodv) /* complete update of matrix values before matrix setup */ - { - ext_nnzrow = ext_data->nnzrow; - /* First gather data for all processors */ - PARMS_NEWARRAY(gextvars, gnodv); - PARMS_NEWARRAY0(gextnnzrow, gnodv); - MPI_Allgatherv(ext_im, n_ext, MPI_INT, gextvars, - info, disp, MPI_INT, comm); - MPI_Allgatherv(ext_nnzrow, n_ext, MPI_INT, gextnnzrow, - info, disp, MPI_INT, comm); - - /* reshape pja and pa structs into 1D arrays */ - lnnz = 0; - for(i = 0; ipj[i][j]; - aa[k++] = ext_data->pa[i][j]; - } - } - /* get global nnz count for external data */ - PARMS_NEWARRAY(nnzptr, npro+1); - MPI_Allgather(&lnnz, 1, MPI_INT, info, 1, MPI_INT, comm); - nnzptr[0] = 0; - for (i = 0; i < npro; i++) { - nnzptr[i+1] = nnzptr[i] + info[i]; - } - gextnnz = nnzptr[npro]; - PARMS_NEWARRAY(gextpja, gextnnz); - PARMS_NEWARRAY(gextpa, gextnnz); - - MPI_Allgatherv(ja, lnnz, MPI_INT, gextpja, - info, nnzptr, MPI_INT, comm); -#if defined(DBL_CMPLX) - MPI_Allgatherv(aa, lnnz, MPI_CMPLX, gextpa, - info, nnzptr, MPI_CMPLX, comm); -#else - MPI_Allgatherv(aa, lnnz, MPI_DOUBLE, gextpa, - info, nnzptr, MPI_DOUBLE, comm); -#endif - /* Now loop over external variables to get matrix contributions */ - PARMS_NEWARRAY0(nnzstart, gnodv); - PARMS_NEWARRAY(ptrvrecv, gnodv); - k = 0; - k1 = 0; - k2 = 0; - for(i=0; istart; - clp = parms_MapGlobalToLocal(is, index); - if (clp != NULL && *clp < lsize) { - ptrvrecv[k] = j; - nnzstart[k++] = k2; - k1 += gextnnzrow[j]; - } - k2 += gextnnzrow[j]; - } - } - } - /* Allocate memory */ - nrow = k; - PARMS_RESIZE(nnzstart, nrow); - PARMS_NEWARRAY(ia, nrow+1); - PARMS_FREE(ja); - PARMS_FREE(aa); - - ia[0] = is->start; - /* Now loop again to actually set up csr matrix */ - for(i=0; innzrow); - PARMS_FREE(ext_data->space); - for(i=0;in; i++) - { - PARMS_FREE(ext_data->pa[i]); - PARMS_FREE(ext_data->pj[i]); - } - PARMS_FREE(ext_data->pa); - PARMS_FREE(ext_data->pj); - PARMS_FREE(ext_data); - PARMS_FREE(ext_im); - } -/* Done with matrix update */ - self->isassembled = true; - - return 0; -} - -/** - * Insert values to the parms_Mat object self. This assumes matrix - * values for this row have already been set, and are to be replaced - * by the new ones provided as input. - * - * @param self A parms_Mat object. - * @param m The number of rows inserted. - * @param im An array of row global indices. - * @param ia An array of pointer to the beginning of each row in - * array ja. - * @param ja An array of column global indices. - * @param values An array of values. - * @return 0 on success. - */ -int parms_MatResetRowValues(parms_Mat self, int m, int *im, int *ia, - int *ja, FLOAT *values) -{ - int i, j, k, rindex,lrindex, lsize, offset, n_ext, gnodv; - int npro,myid,gm, cindex; - int *rp,*ext_im,*disp=NULL,*info=NULL,*gvars=NULL,*rowptr=NULL; - int *cp, *odp, *pj, nnz, dec; - parms_Map is; - parms_vcsr aux_data, ext_data; - BOOL isserial, isalloc, isassembled; - MPI_Comm comm; - - isalloc = self->isalloc; - is = self->is; - offset = is->start; - lsize = parms_MapGetLocalSize(is); - isserial = is->isserial; - n_ext = is->n_ext; - ext_im = is->ext_im; - npro = is->npro; - myid = is->pid; - comm = is->comm; - isassembled = self->isassembled; - -/* Trivial case */ - if((isserial)||(!isalloc)){ - return parms_MatSetValues(self, m, im, ia, ja, values, INSERT); - } - -/* Take care of external contributions if any. Check to see - * if the external variables have been assembled prior to this - * function call -*/ - PARMS_NEWARRAY(disp, npro+1); - PARMS_NEWARRAY(info, npro); - - MPI_Allgather(&n_ext, 1, MPI_INT, info, 1, MPI_INT, comm); - disp[0] = 0; - for (i = 0; i < npro; i++) { - disp[i+1] = disp[i] + info[i]; - } - /* total number of external variables */ - gnodv = disp[npro]; - /* Check ... */ - if((gnodv) && (!isassembled)) - { - ext_data = self->ext_data; - /* First gather data for all processors */ - PARMS_NEWARRAY(rowptr, npro+1); - MPI_Allgather(&m, 1, MPI_INT, info, 1, MPI_INT, comm); - rowptr[0] = 0; - for (i = 0; i < npro; i++) { - rowptr[i+1] = rowptr[i] + info[i]; - } - gm = rowptr[npro]; - - PARMS_NEWARRAY(gvars, gm); - MPI_Allgatherv(im, m, MPI_INT, gvars, - info, rowptr, MPI_INT, comm); - - /* now loop over external variables to remove their contribution */ - for(i=0; innzrow[k] = 0; - break; - } - } - } - } - } - PARMS_FREE(gvars); - PARMS_FREE(rowptr); - } - PARMS_FREE(disp); - PARMS_FREE(info); -/* Done with external contributions. Now reset the row */ - -/* Check if matrix is to be re-used with same non-zero pattern */ - if(self->isreset && (self->resetpattern == SAME_NONZERO_STRUCTURE)) - { - parms_MatSetValues(self, m, im, ia, ja, values, INSERT); - } - else - { - aux_data = self->aux_data; - /* begin main loop over rows to be reset */ - for(i = 0; iperm[lrindex] != -1){ - is->perm[lrindex] = -1; - is->ninf = is->ninf - 1; - - /* loop over off-diagonal nodes to see if any needs to be removed from table */ - nnz = aux_data->nnzrow[lrindex]; - pj = aux_data->pj[lrindex]; - for(j = 0; j= 0) continue; - - cindex = -pj[j] - 1; - cp = parms_TableGet(is->table, cindex); - - if(cp != NULL && *cp >= lsize) - { - odp = parms_TableGet(self->odtable, cindex); - if(*odp == 0) - { - parms_TableRemoveFromLast(is->table, cindex); - } - else - { - /* Decrement column count and continue */ - dec = *odp - 1; - parms_TablePut(self->odtable,cindex,dec); - } - } - } - } - /* Reset nnz for current row to overwrite data */ - aux_data->nnzrow[lrindex] = 0; - /* Now call matsetvalues to insert values into row */ -// parms_MatSetValues(self, 1, &im[i], &ia[i], ja, values, INSERT); - } - } - /* Now call matsetvalues to insert values into rows */ - parms_MatSetValues(self, m, im, ia, ja, values, INSERT); - } - - return 0; -} - -/** - * Reset the matrix to be re-used. - * @param self A parms_Mat object. - * @param nonzerostructure The nonzero structure: - * SAME_NONZERO_STRUCTURE - * DIFFERENT_NONZERO_STRUCTURE - * - * @return 0 on success. - */ -int parms_MatReset(parms_Mat self, NNZSTRUCT nonzerostructure) -{ - parms_Map is; - parms_vcsr aux_data; - int i, j; - int index; - int lsize, nnz; - FLOAT *ra; - - is = self->is; - lsize = parms_MapGetLocalSize(is); - aux_data = self->aux_data; - -/*********************/ - if(self->issetup){ - - if(nonzerostructure == SAME_NONZERO_STRUCTURE) - { - self->resetpattern = SAME_NONZERO_STRUCTURE; - /* zero out previous entries */ - for(i=0; ipa[i]; - nnz = aux_data->nnzrow[i]; - for(j=0; jresetpattern = DIFFERENT_NONZERO_STRUCTURE; - /* Matrix structure is being re-used */ - PARMS_NEWARRAY(aux_data->space, aux_data->n); - /* Initially same non-zero structure */ - for (i = 0; i < aux_data->n; i++) { - aux_data->space[i] = aux_data->nnzrow[i]; - /* Now zero out entries by simply setting nnzrow[i] = 0 */ - aux_data->nnzrow[i] = 0; - } - /* reset permutation array - perm */ - for (i = 0; i < lsize; i++) { - is->perm[i] = -1; - } - /* reset number of interface variables to zero */ - is->ninf = 0; - /* reset number of external variables to zero (if any) */ - is->n_ext = 0; - - /* create new table for offdiagonal column count */ - parms_TableCreate(&self->odtable, NULL, lsize); - /* free hash table associated with previous data, and create new one */ - parms_TableFree(&is->table); - /* create new hash table for new data */ - parms_TableCreate(&is->table, NULL, lsize); - for(index = 0; index < lsize; index++) - { - parms_TablePut(is->table, is->lvars[index], index); - } - } - self->issetup = false; - self->isreset = true; - } - - return 0; -} - - -/** - * Get the diagonal part of the local matrix. - * - * @param self A parms_Mat object. - * @param mat The diagonal part of the local matrix. - * - * @return 0 on success. - */ -int parms_MatGetDiag(parms_Mat self, void **mat) -{ - return self->ops->getdiag(self, mat); -} -/** - * Get the diagonal part of the local matrix. - * - * @param self A parms_Mat object. - * @param mat The diagonal part of the local matrix. - * - * @return 0 on success. - */ -int parms_MatGetOffDiag(parms_Mat self, void **mat) -{ - return self->ops->getoffdiag(self, mat); -} - -/** - * Perform \f$z = alpha*self*x + beta*y\f$. - * - * @param self A matrix object. - * @param alpha A scalar. - * @param x A vector object. - * @param beta A scalar. - * @param y A vector object. - * @param z A vector stores the result. - * - * @return 0 on success. - */ -int parms_MatMVPY(parms_Mat self, FLOAT alpha, FLOAT *x, FLOAT beta, - FLOAT *y, FLOAT *z) -{ - return self->ops->mvpy(self, alpha, x, beta, y, z); -} - -/** - * Perform the multiplication of the off-diagonal matrix and the - * external vars. - * - * The local matrix can be written as follows: - * - * \f[ - * \left( - * \begin{array}{ccc} - * B & E & 0\\ - * F & C & M_{ext} - * \end{array} - * \right) - * \f], - * where \f$\left(\begin{array}{cc} - * B & E \\ - * F & C - * \end{array} - * \right)\f$ corresponds to the variables on the local PE. This - * function performs - * \f[ - * y[pos..n] = M_{ext} \times x_{ext} - * \f] - * - * @param self A matrix object. - * @param x A vector object. - * @param y A vector object. - * @param pos The offset of x from the beginning of the local - * vector. - * - * @return 0 on success. - */ -int parms_MatVecOffDiag(parms_Mat self, FLOAT *x, FLOAT *y, int pos) -{ - return self->ops->mvoffd(self, x, y, pos); -} - -/** - * Free the memory for the submatrix. - * - * @param self A parms_Mat object. - * @param mat The submatrix to be freed. - * - * @return 0 on success. - */ -int parms_MatFreeSubMat(parms_Mat self, void *mat) -{ - return self->ops->matfree(self, mat); -} - -/** - * Extend submatrix by including equations correspond to the - * immediate neighbouring variables. - * - * @param self A matrix object. - * @param handler A communication handler. - * @param start The beginning location of mat in the local matrix. - * @param mat The submatrix to be extended. - * @param n The size of extended matrix returned. - * @param ext_mat The extended matrix created. - * - * @return 0 on success. - */ -int parms_MatExtend(parms_Mat self, parms_Comm handler, int start, - void *mat, int *n, void **ext_mat) -{ - - return self->ops->extend(self, handler, start, mat, n, ext_mat); -} - -/** - * Get the local matrix. - * - * @param self A matrix object. - * @param mat The submatrix returned in a specific format. - * - * @return 0 on success. - */ -int parms_MatGetSubMat(parms_Mat self, void **mat) -{ - return self->ops->getlmat(self, mat); -} - -/** - * Get the communication handler. - * - * @param self A matrix object. - * @param handler The communication handler returned. - * - * @return 0 on success. - */ -int parms_MatGetCommHandler(parms_Mat self, parms_Comm *handler) -{ - return self->ops->gethandler(self, handler); -} diff --git a/lib/parms/src/parms_mat_dvcsr.c b/lib/parms/src/parms_mat_dvcsr.c deleted file mode 100755 index 8560d7bf6..000000000 --- a/lib/parms/src/parms_mat_dvcsr.c +++ /dev/null @@ -1,1443 +0,0 @@ -#include "include/parms_opt_impl.h" -#include "include/parms_comm_impl.h" - -/*! \typedef parms_dvcsr - \brief_dvcsr is a synonym for struct parms_dvcsr. - */ -/*! \struct parms_dvcsr - \brief - */ -typedef struct parms_dvcsr { - /*! \var diag_mat The diagonal matrix stored in vcsr format. - */ - parms_vcsr diag_mat; - /*! \var offd_mat The off-diagonal matrix stored in vcsr format. - */ - parms_vcsr offd_mat; - /*! \var mvhandler The parms_Comm object for the matrix-vector product. - */ - parms_Comm mvhandler; - -} *parms_dvcsr; - -static int MatVec_dvcsr(parms_Mat self, FLOAT *x, FLOAT *y) -{ - int lsize, i, j, index, *pj, length; - parms_dvcsr data; - parms_Comm handler; - parms_vcsr diag_mat, offd_mat; - parms_Map is; - FLOAT *pa, *offsetptr, s; - - parms_VecPerm(x, self->is); - parms_VecPerm(y, self->is); - - /* extract diagonal and off-diagonal matrix */ - data = (parms_dvcsr)self->data; - handler = data->mvhandler; - diag_mat = data->diag_mat; - offd_mat = data->offd_mat; - is = self->is; - lsize = is->lsize; - - parms_CommDataBegin(handler, x, 0); - - /* perform local matrix vector product */ - for (i = 0; i < lsize; i++) { - y[i] = 0.0; - pj = diag_mat->pj[i]; - pa = diag_mat->pa[i]; - for (j = 0; j < diag_mat->nnzrow[i]; j++) { - index = pj[j]; - y[i] += pa[j] * x[index]; - } - } - - /* off-diagonal part matrix-vector product */ - parms_CommDataEnd(handler); - offsetptr = handler->buf_recv - lsize; - for (i = 0; i < is->ninf; i++) { - pj = offd_mat->pj[i]; - pa = offd_mat->pa[i]; - - for (j = 0; j < offd_mat->nnzrow[i]; j++) - y[i+is->nint] += pa[j] * offsetptr[pj[j]]; - - } - parms_VecInvPerm(x, self->is); - parms_VecInvPerm(y, self->is); - - return 0; -} - -/** - * Setup the matrix - * - * This is the most important function in the package. The local - * variables are divided into two categories: interior variables (not - * receiving data from other processors) and interface variables - * (receiving data from other processors). The interior variables are - * divided into independent variables (not sending data to other - * processors) and output variables (sending data to other processors) - * for *asymmetric* pattern. The independent variables are listed first, - * followd by output variables, and interface variables. The member - * variable schur_start is the number of independent - * variables. i.e., the start position of "Schur" complement in the - * local linear system. communication handler for the matrix-vector - * product is also created. - * - * @param self A matrix object. - * - * @return 0 on success. - */ -static int MatSetup_dvcsr(parms_Mat self) -{ - parms_dvcsr data; - parms_vcsr diag_mat = NULL, offd_mat = NULL; - parms_vcsr aux_data; - parms_Map is; - parms_Comm handler; - int i, j, *perm, *iperm, mypid, pid, npro, lsize, k1, k2; - int *rja=NULL, *tja=NULL, nnz, maxnnz, start, end, nrow; - int gnodv, cindex, index, gindex; - int *ginfvars, *ginfv2p, *ginfv2ps, *odperm, *neword, *clp, *info, - *disp, *pj; - int npsendrecv, pos, *procslist=NULL; - int *ptrvsend, *ptrvrecv=NULL, *cmap=NULL; - FLOAT *ra=NULL, *tma=NULL, val; - MPI_Comm comm; - - /* extract information arrays */ - is = self->is; - npro = is->npro; - mypid = is->pid; - self->issetup = true; - data = (parms_dvcsr)self->data; - aux_data = self->aux_data; - comm = is->comm; - handler = data->mvhandler; - lsize = parms_MapGetLocalSize(is); - perm = is->perm; - iperm = is->iperm; - - /* free member space */ - if(self->aux_data->space) - PARMS_FREE(self->aux_data->space); - -/* allocate memory for the diagonal matrix */ - if(self->isreset) - { - if(self->resetpattern == SAME_NONZERO_STRUCTURE) - { - /* copy data into parallel matrix struct */ - offd_mat = data->offd_mat; - diag_mat = data->diag_mat; - /* diagonal part */ - for(i=0; in; i++) - { - PARMS_MEMCPY(diag_mat->pa[i], aux_data->pa[i], diag_mat->nnzrow[i]); - } - /* off diagonal part */ - for(i=0; in; i++) - { - index = i+is->nint; - nrow = diag_mat->nnzrow[index]; - PARMS_MEMCPY(offd_mat->pa[i], &aux_data->pa[index][nrow], offd_mat->nnzrow[i]); - } - return 0; - } - else - { - /* free offd_mat for previous data. No need to free diag_mat - * for previous data, since array size (lsize) does not change - */ - diag_mat = data->diag_mat; - offd_mat = data->offd_mat; - if(offd_mat->n){ - PARMS_FREE(offd_mat->nnzrow); - PARMS_FREE(offd_mat->pa); - PARMS_FREE(offd_mat->pj); - } - PARMS_FREE(offd_mat); - - /* free previous communication handler */ - parms_CommFree(&data->mvhandler); - /* now create new communication handler */ - parms_Comm new_handler; - parms_CommCreate(&new_handler, comm); - handler = data->mvhandler = new_handler; - /* free processor info and table data */ - if(is->vstable) parms_TableFree(&is->vstable); - if(is->vsend) PARMS_FREE(is->vsend); - } - } - else{ - PARMS_NEW(data->diag_mat); - diag_mat = data->diag_mat; - PARMS_NEWARRAY(diag_mat->nnzrow, lsize); - PARMS_NEWARRAY(diag_mat->pj, lsize); - PARMS_NEWARRAY(diag_mat->pa, lsize); - diag_mat->n = lsize; - } - - is->nint = lsize-is->ninf; - is->schur_start = is->nint; - k1 = 0; - k2 = is->nint; - - for (i = 0; i < lsize; i++) { - if (perm[i] == -1) { - perm[i] = k1++; - } - else { - perm[i] = k2++; - } - } - - /* set up inverse permutation array */ - for (i = 0; i < lsize; i++) { - k1 = perm[i]; - iperm[k1] = i; - } - is->isperm = true; - - /* permute the rows of the local matrix */ - for (i = 0; i < lsize; i++) { - if (aux_data->nnzrow[i]) { - PARMS_RESIZE(aux_data->pj[i], aux_data->nnzrow[i]); - PARMS_RESIZE(aux_data->pa[i], aux_data->nnzrow[i]); - } - k1 = perm[i]; - diag_mat->pj[k1] = aux_data->pj[i]; - diag_mat->pa[k1] = aux_data->pa[i]; - diag_mat->nnzrow[k1] = aux_data->nnzrow[i]; - } - - PARMS_MEMCPY(aux_data->pj, diag_mat->pj, lsize); - PARMS_MEMCPY(aux_data->pa, diag_mat->pa, lsize); - PARMS_MEMCPY(aux_data->nnzrow, diag_mat->nnzrow, lsize); - - /* permute the column indices of the matrix which are corresponding - to the interior variables */ - for (i = 0; i < is->nint; i++) { - rja = aux_data->pj[i]; - nnz = aux_data->nnzrow[i]; - ra = aux_data->pa[i]; - for (j = 0; j < nnz; j++) { - rja[j] = perm[rja[j]]; /* in C style */ - } - } - - /* permute the local column indices of the matrix which are - corresponding to the interface variables */ - maxnnz = 0; - for (i = is->nint; i < lsize; i++) { - rja = aux_data->pj[i]; - nnz = aux_data->nnzrow[i]; - if (maxnnz < nnz) { - maxnnz = nnz; - } - diag_mat->nnzrow[i] = 0; - for (j = 0; j < nnz; j++) { - if (rja[j] >= 0) { - diag_mat->nnzrow[i]++; - rja[j] = perm[rja[j]]; /* in C style */ - } - } - } - - if (maxnnz) { - PARMS_NEWARRAY(tja, maxnnz); - PARMS_NEWARRAY(tma, maxnnz); - } - - /* allocate memory for the off-diagonal matrix */ - PARMS_NEW(data->offd_mat); - offd_mat = data->offd_mat; - offd_mat->n = is->ninf; - if (is->ninf) { - PARMS_NEWARRAY(offd_mat->nnzrow, is->ninf); - PARMS_NEWARRAY(offd_mat->pj, is->ninf); - PARMS_NEWARRAY(offd_mat->pa, is->ninf); - } - handler->nodv = parms_TableGetSize(is->table) - lsize; - if (handler->nodv) { - PARMS_NEWARRAY(handler->odvlist, handler->nodv); - } - - /* list column indices of diagonal part first */ - for (i = is->nint; i < lsize; i++) { - rja = aux_data->pj[i]; - ra = aux_data->pa[i]; - nnz = aux_data->nnzrow[i]; - index = i-is->nint; - k1 = 0; - k2 = diag_mat->nnzrow[i]; - nrow = diag_mat->nnzrow[i]; - for (j = 0; j < nnz; j++) { - if (rja[j] >= 0) { - tja[k1] = rja[j]; - tma[k1++] = ra[j]; - } - else { - tja[k2] = -rja[j]-1; - clp = parms_MapGlobalToLocal(is, tja[k2]); - if (clp != NULL) { - handler->odvlist[*clp-lsize] = tja[k2]; - } - tma[k2++] = ra[j]; - } - } - PARMS_MEMCPY(rja, tja, nnz); - PARMS_MEMCPY(ra, tma, nnz); - offd_mat->pj[index] = &rja[nrow]; - offd_mat->pa[index] = &ra[nrow]; - offd_mat->nnzrow[index] = nnz-nrow; - } - if (maxnnz) { - PARMS_FREE(tja); - PARMS_FREE(tma); - } - - /* sort the column indices of the diagonal matrix in ascending - order */ - for (i = 0; i < lsize; i++) { - nnz = diag_mat->nnzrow[i]; - rja = diag_mat->pj[i]; - ra = diag_mat->pa[i]; - for (j = 0; j < nnz-1; j++) { - for (k1 = j+1; k1 < nnz; k1++) { - if (rja[j] > rja[k1]) { - index = rja[j]; - rja[j] = rja[k1]; - rja[k1] = index; - - val = ra[j]; - ra[j] = ra[k1]; - ra[k1] = val; - } - } - } - } - - PARMS_NEWARRAY(info, npro); - PARMS_NEWARRAY(disp, npro+1); - - MPI_Allgather(&handler->nodv, 1, MPI_INT, info, 1, MPI_INT, comm); - disp[0] = 0; - for (i = 0; i < npro; i++) { - disp[i+1] = disp[i] + info[i]; - } - - /* total number of interface variables */ - gnodv = disp[npro]; - if (gnodv) { - PARMS_NEWARRAY(ginfvars, gnodv); - PARMS_NEWARRAY0(ginfv2p, gnodv); - PARMS_NEWARRAY(ginfv2ps, gnodv); - MPI_Allgatherv(handler->odvlist, handler->nodv, MPI_INT, ginfvars, - info, disp, MPI_INT, comm); - - /* variables sent to other processors */ - for (i = 0; i < npro; i++) { - if (i != mypid) { - for (j = disp[i]; j < disp[i+1]; j++) { - clp = parms_MapGlobalToLocal(is, ginfvars[j]); - if (clp != NULL && *clp < lsize) { - ginfv2p[j] = mypid; - } - } - } - } - - MPI_Allreduce(ginfv2p, ginfv2ps, gnodv, MPI_INT, MPI_SUM, comm); - PARMS_FREE(ginfv2p); - PARMS_NEWARRAY(handler->procs_recv, npro); - for (i = 0; i < npro; i++) { - info[i] = 0; - } - /* processor IDs from which processor mypid receives data */ - handler->nprecv = 0; - for (i = disp[mypid]; i < disp[mypid+1]; i++) { - pid = ginfv2ps[i]; - if (info[pid] == 0) { - handler->procs_recv[handler->nprecv++] = pid; - } - info[pid]++; - } - - if (handler->nprecv) { - PARMS_RESIZE(handler->procs_recv, handler->nprecv); - - /* sort neighbouring processors received data from in ascending order */ - for (i = 0; i < handler->nprecv-1; i++) { - for (j = i+1; j < handler->nprecv; j++) { - if (handler->procs_recv[i] > handler->procs_recv[j]) { - pid = handler->procs_recv[i]; - handler->procs_recv[i] = handler->procs_recv[j]; - handler->procs_recv[j] = pid; - } - } - } - } - else { - PARMS_FREE(handler->procs_recv); - } - - PARMS_NEWARRAY(handler->ptrvrecv, handler->nprecv+1); - handler->ptrvrecv[0] = 0; - for (i = 0; i < handler->nprecv; i++) { - pid = handler->procs_recv[i]; - handler->ptrvrecv[i+1] = handler->ptrvrecv[i] + info[pid]; - info[pid] = i; - } - - if (handler->nodv) { - PARMS_NEWARRAY(odperm, handler->nodv); - PARMS_NEWARRAY(handler->buf_recv, handler->nodv); - - /* reorder external variables: the data received from the same - processor are listed consecutively, processor by processor */ - j = disp[mypid]; - for (i = 0; i < handler->nodv; i++) { - pid = ginfv2ps[i+j]; - index = info[pid]; - odperm[i] = handler->ptrvrecv[index]++; - } - for (i = handler->nprecv-1; i > 0; i--) { - handler->ptrvrecv[i] = handler->ptrvrecv[i-1]; - } - handler->ptrvrecv[0] = 0; - - /* reorder the external interface variables */ - PARMS_NEWARRAY(neword, handler->nodv); - for (i = 0; i < handler->nodv; i++) { - index = odperm[i]; - gindex = handler->odvlist[i]; - parms_TablePut(is->table, gindex, index+lsize); - neword[index] = gindex; - } - - PARMS_FREE(handler->odvlist); - - PARMS_FREE(odperm); - handler->odvlist = neword; - } - /* change the global column indices of entries in external - matrix to the local ones */ - for (i = 0; i < offd_mat->n; i++) { - nnz = offd_mat->nnzrow[i]; - pj = offd_mat->pj[i]; - for (j = 0; j < nnz; j++) { - cindex = pj[j]; - clp = parms_MapGlobalToLocal(is, cindex); - pj[j] = *clp; - } - } - PARMS_FREE(ginfv2ps); - PARMS_FREE(ginfvars); - } - else { - handler->nprecv = 0; - PARMS_NEWARRAY(handler->ptrvrecv, 1); - handler->ptrvrecv[0] = 0; - } - - /* set up send information */ - MPI_Allgather(&handler->nprecv, 1, MPI_INT, info, 1, MPI_INT, comm); - disp[0] = 0; - for (i = 0; i < npro; i++) { - disp[i+1] = disp[i] + info[i]; - } - - if (disp[npro]) { - PARMS_NEWARRAY(procslist, disp[npro]); - MPI_Allgatherv(handler->procs_recv, handler->nprecv, MPI_INT, - procslist, info, disp, MPI_INT, comm); - } - - handler->npsend = 0; - PARMS_NEWARRAY(handler->procs_send, npro); - for (i = 0; i < npro; i++) { - if (i != mypid) { - for (j = disp[i]; j < disp[i+1]; j++) { - if (procslist[j] == mypid) { - handler->procs_send[handler->npsend++] = i; - break; - } - } - } - } - - if (disp[npro]) { - PARMS_FREE(procslist); - } - - if (handler->npsend) { - PARMS_RESIZE(handler->procs_send, handler->npsend); - } - else { - PARMS_FREE(handler->procs_send); - } - - PARMS_NEWARRAY(handler->ptrvsend, handler->npsend+1); - handler->ptrvsend[0] = 0; - ptrvsend = handler->ptrvsend; - ptrvrecv = handler->ptrvrecv; - npsendrecv = handler->npsend + handler->nprecv; - if (npsendrecv) { - PARMS_NEWARRAY(handler->status_send, npsendrecv); - PARMS_NEWARRAY(handler->req_send, npsendrecv); - handler->status_recv = handler->status_send + handler->npsend; - handler->req_recv = handler->req_send + handler->npsend; - for (i = 0; i < handler->npsend; i++) { - MPI_Irecv(&disp[i], 1, MPI_INT, handler->procs_send[i], - 100, comm, &handler->req_send[i]); - } - - for (i = 0; i < handler->nprecv; i++) { - info[i] = ptrvrecv[i+1] - ptrvrecv[i]; - MPI_Isend(&info[i], 1, MPI_INT, handler->procs_recv[i], - 100, comm, &handler->req_recv[i]); - } - - MPI_Waitall(handler->nprecv, handler->req_recv, - handler->status_recv); - MPI_Waitall(handler->npsend, handler->req_send, - handler->status_send); - - for (i = 0; i < handler->npsend; i++) { - ptrvsend[i+1] = ptrvsend[i] + disp[i]; - } - - nnz = ptrvsend[handler->npsend]; - if (nnz) { - PARMS_NEWARRAY(handler->buf_send, nnz); - PARMS_NEWARRAY(handler->vlist_send, nnz); - } - - handler->mdata_send = 0; - if (handler->npsend) { - for (i = 0; i < handler->npsend; i++) { - nnz = ptrvsend[i+1] - ptrvsend[i]; - if (handler->mdata_send < nnz) { - handler->mdata_send = nnz; - } - } - } - - /* handler->vlist_send stores the variables to be sent to adjacent - processors in global labeling */ - for (i = 0; i < handler->npsend; i++) { - pos = ptrvsend[i]; - nnz = ptrvsend[i+1] - ptrvsend[i]; - MPI_Irecv(&handler->vlist_send[pos], nnz, MPI_INT, - handler->procs_send[i], 200, comm, - &handler->req_send[i]); - } - - for (i = 0; i < handler->nprecv; i++) { - pos = ptrvrecv[i]; - nnz = ptrvrecv[i+1] - ptrvrecv[i]; - MPI_Isend(&handler->odvlist[pos], nnz, MPI_INT, - handler->procs_recv[i], 200, comm, - &handler->req_recv[i]); - } - - MPI_Waitall(handler->nprecv, handler->req_recv, - handler->status_recv); - MPI_Waitall(handler->npsend, handler->req_send, - handler->status_send); - - /* change global labelings to local ones */ - is->ninf_send = 0; - parms_TableCreate(&is->vstable, NULL, is->ninf); - if (is->isperm) { - for (i = 0; i < handler->npsend; i++) { - for (j = ptrvsend[i]; j < ptrvsend[i+1]; j++) { - cindex = handler->vlist_send[j]; - clp = parms_MapGlobalToLocal(is, cindex); - index = perm[*clp]; - handler->vlist_send[j] = index; - clp = parms_TableGet(is->vstable, index); - if (clp == NULL) { - parms_TablePut(is->vstable, index, is->ninf_send++); - } - } - } - } - - /* vsend is an array to store variables sent to other processors */ - if (is->ninf_send) { - PARMS_NEWARRAY(is->vsend, is->ninf_send); - if (is->nint) { - PARMS_NEWARRAY(cmap, is->nint); - } - for (i = 0; i < is->nint; i++) { - cmap[i] = -1; - } - - for (i = 0; i < handler->npsend; i++) { - for (j = ptrvsend[i]; j < ptrvsend[i+1]; j++) { - index = handler->vlist_send[j]; - clp = parms_TableGet(is->vstable, index); - is->vsend[*clp] = index; - - } - } - for (i = 0; i < is->ninf_send; i++) { - if (is->vsend[i] < is->nint) { - cmap[is->vsend[i]] = --is->schur_start; - } - } - - /* reorder the local variables in the following order: - * 1. independent variables which are uncoupled with variables in - * adjacent processors. - * 2. variables sent to adjacent processors but the - * corresponding rows are decoupled with variables in - * the adjacent processors. (asymmetric pattern) - * 3. interface variables - coupled with variables in adjacent - * processors in the sense of receiving data from - * the adjacent processors. - */ - if (is->schur_start != is->nint) { - k1 = 0; - for (i = 0; i < is->nint; i++) { - if (cmap[i] == -1) { - cmap[i] = k1++; - } - } - /* permute column indices of the local matrix */ - for (i = 0; i < lsize; i++) { - nnz = diag_mat->nnzrow[i]; - pj = diag_mat->pj[i]; - for (j = 0; j < nnz; j++) { - if (pj[j] < is->nint) { - pj[j] = cmap[pj[j]]; - } - } - } - - /* permute rows which are corresponding to interior variables */ - for (i = 0; i < is->nint; i++) { - k1 = cmap[i]; - diag_mat->nnzrow[k1] = aux_data->nnzrow[i]; - diag_mat->pj[k1] = aux_data->pj[i]; - diag_mat->pa[k1] = aux_data->pa[i]; - } - PARMS_MEMCPY(aux_data->nnzrow, diag_mat->nnzrow, is->nint); - PARMS_MEMCPY(aux_data->pj, diag_mat->pj, is->nint); - PARMS_MEMCPY(aux_data->pa, diag_mat->pa, is->nint); - - /* update perm and iperm */ - for (i = 0; i < lsize; i++) { - if (perm[i] < is->nint) { - perm[i] = cmap[perm[i]]; - } - } - - for (i = 0; i < lsize; i++) { - k1 = perm[i]; - iperm[k1] = i; - } - - /* update vlist_send */ - for (i = 0; i < handler->npsend; i++) { - start = handler->ptrvsend[i]; - end = handler->ptrvsend[i+1]; - for (j = start; j < end; j++) { - if (handler->vlist_send[j] < is->nint) { - handler->vlist_send[j] = cmap[handler->vlist_send[j]]; - } - } - } - - /* update vsend */ - for (i = 0; i < is->ninf_send; i++) { - if (is->vsend[i] < is->nint) { - is->vsend[i] = cmap[is->vsend[i]]; - parms_TablePut(is->vstable, is->vsend[i], i); - } - } - } - if (is->nint) { - PARMS_FREE(cmap); - } - - } - - } - - PARMS_FREE(info); - PARMS_FREE(disp); - - return 0; -} - - -static int MatSetCommType_dvcsr(parms_Mat self, COMMTYPE ctype) -{ - parms_dvcsr data; - parms_Comm handler; - - data = (parms_dvcsr)self->data; - handler = data->mvhandler; - handler->ctype = ctype; - return 0; -} - -static int MatMVPY_dvcsr(parms_Mat self, FLOAT alpha, FLOAT *x, - FLOAT beta, FLOAT *y, FLOAT *z) -{ - int lsize, i, j, index, *pj, length; - parms_dvcsr data; - parms_Comm handler; - parms_vcsr diag_mat, offd_mat; - parms_Map is; - FLOAT *pa, *offsetptr, s; - -/* no need to permute z here, since it only stores the result */ - parms_VecPerm(x, self->is); - parms_VecPerm(y, self->is); - - /* extract diagonal and off-diagonal matrix */ - data = (parms_dvcsr)self->data; - handler = data->mvhandler; - diag_mat = data->diag_mat; - offd_mat = data->offd_mat; - is = self->is; - lsize = is->lsize; - - /* post receive and send actions */ - parms_CommDataBegin(handler, x, 0); - - /* perform local matrix vector product */ - for (i = 0; i < lsize; i++) { - s = beta * y[i]; - length = diag_mat->nnzrow[i]; - pj = diag_mat->pj[i]; - pa = diag_mat->pa[i]; - for (j = 0; j < length; j++) { - index = pj[j]; - s += alpha * pa[j] * x[index]; - } - z[i] = s; - } - - parms_CommDataEnd(handler); - - offsetptr = handler->buf_recv - lsize; - for (i = 0; i < is->ninf; i++) { - length = offd_mat->nnzrow[i]; - pj = offd_mat->pj[i]; - pa = offd_mat->pa[i]; - s = z[i+is->nint]; - for (j = 0; j < length; j++) { - s += alpha * pa[j] * offsetptr[pj[j]]; - } - z[i+is->nint] = s; - } - -/* inverse permutation. z now has permutation of y, so has to be inverted as well */ - parms_VecInvPerm(x, self->is); - parms_VecInvPerm(y, self->is); - parms_VecInvPerm(z, self->is); - return 0; -} - -static int MatVecSchur_dvcsr(parms_Mat self, FLOAT *x, FLOAT *y, int - pos) -{ - parms_dvcsr data; - parms_Comm handler; - parms_Map is; - parms_vcsr offd_mat; - FLOAT *offsetptr, *pa, s; - int i, j, length, *pj, lsize; - - is = self->is; - lsize = is->lsize; - data = (parms_dvcsr)self->data; - handler = data->mvhandler; - offd_mat = data->offd_mat; - - if ((x == NULL) || (y == NULL)) { - return 0; - } - - parms_CommDataBegin(handler, x, pos); - for (i = pos; i < is->nint; i++) { - y[i-pos] = 0.0; - } - parms_CommDataEnd(handler); - offsetptr = handler->buf_recv - lsize; - for (i = 0; i < is->ninf; i++) { - length = offd_mat->nnzrow[i]; - pj = offd_mat->pj[i]; - pa = offd_mat->pa[i]; - s = 0.0; - for (j = 0; j < length; j++) { - s += pa[j] * offsetptr[pj[j]]; - } - y[i+is->nint-pos] = s; - } - return 0; -} - -static int MatGetDiag_dvcsr(parms_Mat self, void **mat) -{ - parms_dvcsr data; - parms_vcsr diag_mat; - - data = (parms_dvcsr)self->data; - diag_mat = data->diag_mat; - if (self->ilutype == PCARMS) { - parms_vcsr diag; - int i, nnz; - - PARMS_NEW(diag); - diag->n = diag_mat->n; - PARMS_NEWARRAY(diag->nnzrow, diag->n); - PARMS_NEWARRAY(diag->pj, diag->n); - PARMS_NEWARRAY(diag->pa, diag->n); - for (i = 0; i < diag->n; i++) { - nnz = diag->nnzrow[i] = diag_mat->nnzrow[i]; - if (nnz) { - PARMS_NEWARRAY(diag->pj[i], nnz); - PARMS_NEWARRAY(diag->pa[i], nnz); - PARMS_MEMCPY(diag->pj[i], diag_mat->pj[i], nnz); - PARMS_MEMCPY(diag->pa[i], diag_mat->pa[i], nnz); - } - } - *mat = diag; - return 0; - } - *mat = diag_mat; - return 0; -} - -static int MatGetOffDiag_dvcsr(parms_Mat self, void **mat) -{ - parms_dvcsr data; - parms_vcsr offd_mat; - - data = (parms_dvcsr)self->data; - offd_mat = data->offd_mat; - *mat = offd_mat; - return 0; - -} - -static int MatGetSubMat_dvcsr(parms_Mat self, void **mat) -{ - *mat = self->aux_data; - return 0; -} - -static int MatExtend_dvcsr(parms_Mat self, parms_Comm handler, int - start, void *mat, int *nn, void - **ext_mat) -{ - parms_vcsr lmat, new_mat; - parms_Map is; - MPI_Request *sreq=NULL, *rreq=NULL; - MPI_Status *sstatus=NULL, *rstatus=NULL; - MPI_Comm comm; - FLOAT **a_send=NULL, *pa_rbuf=NULL, *pa_sbuf=NULL, *rowa=NULL; - int **ja_send=NULL; - int *ia_send=NULL, *pia_send=NULL, *pia_recv=NULL, *pj_rbuf=NULL, *pj_sbuf=NULL; - int *pindex, *rowj, *rbuf=NULL, *sbuf=NULL; - int lsize, jcol, i, j, index, nnz, nodv, numsend, numrecv; - int n, pos, lindex, tag, length, k, m; - - lmat = (parms_vcsr)mat; - PARMS_NEW(new_mat); - is = self->is; - lsize = is->lsize; - - MPI_Comm_dup(handler->comm, &comm); - - if (is->ninf_send) { - PARMS_NEWARRAY(a_send, is->ninf_send); - PARMS_NEWARRAY(ja_send, is->ninf_send); - PARMS_NEWARRAY(ia_send, is->ninf_send); - - /* copy the matrix corresponding to the interface variables to - working arrays. the column indices are stored in global numbering */ - for (i = 0; i < is->ninf_send; i++) { - index = is->vsend[i] - start; - nnz = ia_send[i] = lmat->nnzrow[index]; - PARMS_NEWARRAY(a_send[i], nnz); - PARMS_NEWARRAY(ja_send[i], nnz); - - nnz = lmat->nnzrow[index]; - for (j = 0; j < nnz; j++) { - a_send[i][j] = lmat->pa[index][j]; - jcol = lmat->pj[index][j]; - if (jcol < lsize) { - if (is->isperm) { - jcol = is->iperm[jcol]; - ja_send[i][j] = is->lvars[jcol]; - } - else { - ja_send[i][j] = is->lvars[jcol]; - } - } - else { - jcol = handler->odvlist[jcol-lsize]; - ja_send[i][j] = jcol; - } - } - } - } - - - numsend = handler->ptrvsend[handler->npsend]; - numrecv = handler->ptrvrecv[handler->nprecv]; - - nodv = handler->nodv; - n = lmat->n + nodv; - - new_mat->n = n; - PARMS_NEWARRAY(new_mat->nnzrow, n); - PARMS_NEWARRAY(new_mat->pj, n); - PARMS_NEWARRAY(new_mat->pa, n); - - /* copy the local matrix to new_mat */ - for (i = 0; i < lmat->n; i++) { - nnz = new_mat->nnzrow[i] = lmat->nnzrow[i]; - if (nnz) { - PARMS_NEWARRAY(new_mat->pj[i], nnz); - PARMS_NEWARRAY(new_mat->pa[i], nnz); - PARMS_MEMCPY(new_mat->pj[i], lmat->pj[i], nnz); - PARMS_MEMCPY(new_mat->pa[i], lmat->pa[i], nnz); - } - } - - if (handler->npsend+handler->nprecv) { - PARMS_NEWARRAY(sstatus, handler->npsend+handler->nprecv); - PARMS_NEWARRAY(sreq, handler->npsend+handler->nprecv); - rstatus = sstatus + handler->npsend; - rreq = sreq + handler->npsend; - } - - tag = 800; - - /* exchange external matrix */ - if (numrecv) { - PARMS_NEWARRAY(rbuf, numrecv); - } - - /* receive the number of entries for each row in the extended - matrix */ - for (i = 0; i < handler->nprecv; i++) { - pos = handler->ptrvrecv[i]; - length = handler->ptrvrecv[i+1] - handler->ptrvrecv[i]; - MPI_Irecv(&rbuf[pos], length, MPI_INT, handler->procs_recv[i], - tag, comm, &rreq[i]); - } - - if (numsend) { - PARMS_NEWARRAY(sbuf, numsend); - } - - for (i = 0; i < handler->npsend; i++) { - pos = handler->ptrvsend[i]; - length = handler->ptrvsend[i+1]-handler->ptrvsend[i]; - for (j = 0; j < length; j++) { - lindex = handler->vlist_send[pos+j]; - pindex = parms_TableGet(is->vstable, lindex); - lindex = *pindex; - sbuf[pos+j] = ia_send[lindex]; - } - MPI_Isend(&sbuf[pos], length, MPI_INT, handler->procs_send[i], - tag, comm, &sreq[i]); - } - MPI_Waitall(handler->nprecv, rreq, rstatus); - MPI_Waitall(handler->npsend, sreq, sstatus); - - for (i = 0; i < handler->nprecv; i++) { - pos = handler->ptrvrecv[i]; - length = handler->ptrvrecv[i+1] - handler->ptrvrecv[i]; - for (j = 0; j < length; j++) { - new_mat->nnzrow[lmat->n+pos+j] = rbuf[pos+j]; - } - } - - j = 0; - for (i = 0; i < nodv; i++) { - length = new_mat->nnzrow[i+lsize]; - j += length; - if (length) { - PARMS_NEWARRAY(new_mat->pj[i+lmat->n], length); - PARMS_NEWARRAY(new_mat->pa[i+lmat->n], length); - } - } - if (j) { - PARMS_NEWARRAY(pj_rbuf, j); - PARMS_NEWARRAY(pa_rbuf, j); - } - - PARMS_NEWARRAY(pia_send, handler->npsend+1); - PARMS_NEWARRAY(pia_recv, handler->nprecv+1); - pia_send[0] = 0; - pia_recv[0] = 0; - - /* receive column indices of each row */ - for (i = 0; i < handler->nprecv; i++) { - pos = handler->ptrvrecv[i]; - length = handler->ptrvrecv[i+1] - handler->ptrvrecv[i]; - k = 0; - for (j = 0; j < length; j++) { - m = new_mat->nnzrow[lmat->n+pos+j]; - k += m; - } - pia_recv[i+1] = pia_recv[i] + k; - MPI_Irecv(&pj_rbuf[pia_recv[i]], k, MPI_INT, - handler->procs_recv[i], tag, comm, &rreq[i]); - } - - k = 0; - for (i = 0; i < handler->npsend; i++) { - pos = handler->ptrvsend[i]; - length = handler->ptrvsend[i+1]-handler->ptrvsend[i]; - for (j = 0; j < length; j++) { - lindex = handler->vlist_send[pos+j]; - pindex = parms_TableGet(is->vstable, lindex); - lindex = *pindex; - m = ia_send[lindex]; - k += m; - } - } - - if (k) { - PARMS_NEWARRAY(pj_sbuf, k); - PARMS_NEWARRAY(pa_sbuf, k); - } - - for (i = 0; i < handler->npsend; i++) { - pos = handler->ptrvsend[i]; - length = handler->ptrvsend[i+1]-handler->ptrvsend[i]; - k = 0; - for (j = 0; j < length; j++) { - lindex = handler->vlist_send[pos+j]; - pindex = parms_TableGet(is->vstable, lindex); - lindex = *pindex; - m = ia_send[lindex]; - PARMS_MEMCPY(&pj_sbuf[pia_send[i]+k], ja_send[lindex], m); - k += m; - } - pia_send[i+1] = pia_send[i] + k; - MPI_Isend(&pj_sbuf[pia_send[i]], k, MPI_INT, handler->procs_send[i], - tag, comm, &sreq[i]); - } - MPI_Waitall(handler->nprecv, rreq, rstatus); - MPI_Waitall(handler->npsend, sreq, sstatus); - - for (i = 0; i < handler->nprecv; i++) { - pos = handler->ptrvrecv[i]; - length = handler->ptrvrecv[i+1] - handler->ptrvrecv[i]; - k = 0; - for (j = 0; j < length; j++) { - m = new_mat->nnzrow[lmat->n+pos+j]; - PARMS_MEMCPY(new_mat->pj[lmat->n+pos+j], &pj_rbuf[pia_recv[i]+k], - m); - k += m; - } - } - - /* receive values of each row */ - -#if defined(DBL_CMPLX) - for (i = 0; i < handler->nprecv; i++) { - k = pia_recv[i+1] - pia_recv[i]; - MPI_Irecv(&pa_rbuf[pia_recv[i]], k, MPI_CMPLX, - handler->procs_recv[i], tag, comm, &rreq[i]); - } - - for (i = 0; i < handler->npsend; i++) { - pos = handler->ptrvsend[i]; - length = handler->ptrvsend[i+1]-handler->ptrvsend[i]; - k = 0; - for (j = 0; j < length; j++) { - lindex = handler->vlist_send[pos+j]; - pindex = parms_TableGet(is->vstable, lindex); - lindex = *pindex; - m = ia_send[lindex]; - PARMS_MEMCPY(&pa_sbuf[pia_send[i]+k], a_send[lindex], m); - k += m; - } - MPI_Isend(&pa_sbuf[pia_send[i]], k, MPI_CMPLX, - handler->procs_send[i], tag, comm, &sreq[i]); - } -#else - for (i = 0; i < handler->nprecv; i++) { - k = pia_recv[i+1] - pia_recv[i]; - MPI_Irecv(&pa_rbuf[pia_recv[i]], k, MPI_DOUBLE, - handler->procs_recv[i], tag, comm, &rreq[i]); - } - - for (i = 0; i < handler->npsend; i++) { - pos = handler->ptrvsend[i]; - length = handler->ptrvsend[i+1]-handler->ptrvsend[i]; - k = 0; - for (j = 0; j < length; j++) { - lindex = handler->vlist_send[pos+j]; - pindex = parms_TableGet(is->vstable, lindex); - lindex = *pindex; - m = ia_send[lindex]; - PARMS_MEMCPY(&pa_sbuf[pia_send[i]+k], a_send[lindex], m); - k += m; - } - MPI_Isend(&pa_sbuf[pia_send[i]], k, MPI_DOUBLE, - handler->procs_send[i], tag, comm, &sreq[i]); - } -#endif - - MPI_Waitall(handler->nprecv, rreq, rstatus); - MPI_Waitall(handler->npsend, sreq, sstatus); - - MPI_Comm_free(&comm); - for (i = 0; i < handler->nprecv; i++) { - pos = handler->ptrvrecv[i]; - length = handler->ptrvrecv[i+1] - handler->ptrvrecv[i]; - k = 0; - for (j = 0; j < length; j++) { - m = new_mat->nnzrow[lmat->n+pos+j]; - PARMS_MEMCPY(new_mat->pa[lmat->n+pos+j], &pa_rbuf[pia_recv[i]+k], - m); - k += m; - } - } - - /* free temporary arrays */ - if (handler->npsend) { - PARMS_FREE(pj_sbuf); - PARMS_FREE(pa_sbuf); - } - - if (handler->nprecv) { - PARMS_FREE(pj_rbuf); - PARMS_FREE(pa_rbuf); - } - - if (numrecv) { - PARMS_FREE(rbuf); - } - - if (numsend) { - PARMS_FREE(sbuf); - } - - - PARMS_FREE(pia_recv); - PARMS_FREE(pia_send); - - if (handler->npsend+handler->nprecv) { - PARMS_FREE(sreq); - PARMS_FREE(sstatus); - } - - if (is->ninf_send) { - for (i = 0; i < is->ninf_send; i++) { - if (ia_send[i]) { - PARMS_FREE(ja_send[i]); - PARMS_FREE(a_send[i]); - } - } - - PARMS_FREE(ia_send); - PARMS_FREE(ja_send); - PARMS_FREE(a_send); - } - - /* change the global column indices into local ones */ - for (i = lmat->n; i < n; i++) { - nnz = new_mat->nnzrow[i]; - rowj = new_mat->pj[i]; - rowa = new_mat->pa[i]; - k = 0; - for (j = 0; j < nnz; j++) { - jcol = rowj[j]; - pindex = parms_TableGet(is->table, jcol); - if (pindex) { - if (*pindex < lsize) { - rowj[j] = is->perm[*pindex] - start; - } - else if (*pindex >= lsize) { - rowj[j] = *pindex - start; - } - if (k < j) { - rowj[k] = rowj[j]; - rowa[k] = rowa[j]; - } - k++; - } - } - new_mat->nnzrow[i] = k; - if (k) { - PARMS_RESIZE(new_mat->pj[i], k); - PARMS_RESIZE(new_mat->pa[i], k); - } - } - *ext_mat = new_mat; - *nn = n; - return 0; -} - -static int MatFreeSubMat_dvcsr(parms_Mat self, void *mat) -{ - parms_vcsr vmat; - int i, nnz, isalloc; - - isalloc = self->isalloc; - - if(isalloc){ - vmat = (parms_vcsr)mat; - for (i = 0; i < vmat->n; i++) { - nnz = vmat->nnzrow[i]; - if (nnz) { - PARMS_FREE(vmat->pj[i]); - PARMS_FREE(vmat->pa[i]); - } - } - - if (vmat->n) { - PARMS_FREE(vmat->nnzrow); - PARMS_FREE(vmat->pj); - PARMS_FREE(vmat->pa); - } - - PARMS_FREE(vmat); - - mat = NULL; - } - - return 0; -} - -static int MatGetHandler_dvcsr(parms_Mat self, parms_Comm *handler) -{ - parms_dvcsr data; - - data = (parms_dvcsr)self->data; - *handler = data->mvhandler; - return 0; -} - -static struct parms_Mat_ops parms_matops_dvcsr = { - MatVec_dvcsr, - MatSetup_dvcsr, - MatSetCommType_dvcsr, - MatMVPY_dvcsr, - MatGetDiag_dvcsr, - MatGetOffDiag_dvcsr, - MatGetSubMat_dvcsr, - MatExtend_dvcsr, - MatVecSchur_dvcsr, - MatFreeSubMat_dvcsr, - MatGetHandler_dvcsr -}; - -int parms_MatFree_dvcsr(parms_Mat *self) -{ - parms_dvcsr data; - parms_vcsr diag_mat, offd_mat; - - data = (parms_dvcsr)(*self)->data; - - parms_CommFree(&data->mvhandler); - diag_mat = data->diag_mat; - PARMS_FREE(diag_mat->nnzrow); - PARMS_FREE(diag_mat->pa); - PARMS_FREE(diag_mat->pj); - PARMS_FREE(diag_mat); - - offd_mat = data->offd_mat; - if (offd_mat->n) { - PARMS_FREE(offd_mat->nnzrow); - PARMS_FREE(offd_mat->pa); - PARMS_FREE(offd_mat->pj); - } - PARMS_FREE(offd_mat); - - PARMS_FREE(data); - return 0; -} - -int parms_MatView_dvcsr(parms_Mat self, parms_Viewer v) -{ - int i, j, lsize, pid, npro, length; - int *rja, *lvlist, *iperm, index; - FLOAT *ra; - parms_dvcsr data; - parms_vcsr diag_mat, offd_mat; - parms_Map is; - FILE *fp; - - is = self->is; - lvlist = is->lvars; - iperm = is->iperm; - lsize = is->lsize; - pid = is->pid; - npro = is->npro; - data = (parms_dvcsr)self->data; - - parms_ViewerGetFP(v, &fp); - - if (pid == 0) { - fprintf(fp, "There are %d processors available\n", npro); - fprintf(fp, "The format of output local equations is:\n"); - fprintf(fp, "(pid,local_row_index)=>(pid,global_row_index)\n"); - fprintf(fp, "(pid,local_row_index, local_column_index) = value\n"); - } - fprintf(fp, "\n"); - - for (i = 0; i < lsize; i++) { - index = iperm[i]; - fprintf(fp, "(%d,%d)=>(%d,%d)\n", pid, i, pid, lvlist[index]); - } - fprintf(fp, "\n"); - - diag_mat = data->diag_mat; - offd_mat = data->offd_mat; - fprintf(fp, "Local diagonal matrix on processor %d is\n", pid); - -#if defined(DBL_CMPLX) - for (i = 0; i < lsize; i++) { - length = diag_mat->nnzrow[i]; - rja = diag_mat->pj[i]; - ra = diag_mat->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "(%d,%d,%d) = (%f, %f) ", pid, i, rja[j], creal(ra[j]), cimag(ra[j])); - } - fprintf(fp, "\n"); - } - - fprintf(fp, "Local off-diagonal matrix on processor %d is \n", pid); - for (i = 0; i < is->ninf; i++) { - length = offd_mat->nnzrow[i]; - rja = offd_mat->pj[i]; - ra = offd_mat->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "(%d,%d,%d) = (%f, %f) ", pid, i, rja[j], creal(ra[j]), cimag(ra[j])); - } - fprintf(fp, "\n"); - } -#else - for (i = 0; i < lsize; i++) { - length = diag_mat->nnzrow[i]; - rja = diag_mat->pj[i]; - ra = diag_mat->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "(%d,%d,%d) = %f ", pid, i, rja[j], ra[j]); - } - fprintf(fp, "\n"); - } - - fprintf(fp, "Local off-diagonal matrix on processor %d is \n", pid); - for (i = 0; i < is->ninf; i++) { - length = offd_mat->nnzrow[i]; - rja = offd_mat->pj[i]; - ra = offd_mat->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "(%d,%d,%d) = %f ", pid, i, rja[j], ra[j]); - } - fprintf(fp, "\n"); - } -#endif - fprintf(fp, "\n"); - parms_ViewerStoreFP(v, fp); - parms_CommView(data->mvhandler, v); - return 0; -} - - -int parms_MatViewCOO_dvcsr(parms_Mat self, parms_Viewer v) -{ - int i, j, lsize, pid, npro, length; - int *rja; - - FLOAT *ra; - parms_dvcsr data; - parms_vcsr diag_mat, offd_mat; - parms_Map is; - FILE *fp; - - is = self->is; - lsize = is->lsize; - pid = is->pid; - npro = is->npro; - data = (parms_dvcsr)self->data; - - parms_ViewerGetFP(v, &fp); - - if (pid == 0) { - fprintf(fp, "There are %d processors available\n", npro); - fprintf(fp, "The format of output local equations is:\n"); - fprintf(fp, "local_row_index local_column_index value\n"); - } - - fprintf(fp, "\n"); - - diag_mat = data->diag_mat; - offd_mat = data->offd_mat; - -#if defined(DBL_CMPLX) - for (i = 0; i < lsize; i++) { - length = diag_mat->nnzrow[i]; - rja = diag_mat->pj[i]; - ra = diag_mat->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "%d %d %f %f \n", i, rja[j], creal(ra[j]), cimag(ra[j])); - } - } - - for (i = 0; i < is->ninf; i++) { - length = offd_mat->nnzrow[i]; - rja = offd_mat->pj[i]; - ra = offd_mat->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "%d %d %f %f \n", i+lsize-is->ninf, rja[j], creal(ra[j]), cimag(ra[j])); - } - } -#else - for (i = 0; i < lsize; i++) { - length = diag_mat->nnzrow[i]; - rja = diag_mat->pj[i]; - ra = diag_mat->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "%d %d %f \n", i, rja[j], ra[j]); - } - } - - for (i = 0; i < is->ninf; i++) { - length = offd_mat->nnzrow[i]; - rja = offd_mat->pj[i]; - ra = offd_mat->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "%d %d %f \n", i+lsize-is->ninf, rja[j], ra[j]); - } - } -#endif - parms_ViewerStoreFP(v, fp); - return 0; -} - - -int parms_MatCreate_dvcsr(parms_Mat self) -{ - parms_dvcsr data; - parms_Comm mvhandler; - MPI_Comm comm; - - PARMS_MEMCPY(self->ops, &parms_matops_dvcsr, 1); - PARMS_NEW(data); - comm = self->is->comm; - parms_CommCreate(&mvhandler, comm); - data->mvhandler = mvhandler; - - self->data = data; - return 0; -} diff --git a/lib/parms/src/parms_mat_vcsr.c b/lib/parms/src/parms_mat_vcsr.c deleted file mode 100755 index a5a5eec91..000000000 --- a/lib/parms/src/parms_mat_vcsr.c +++ /dev/null @@ -1,213 +0,0 @@ -#include "include/parms_opt_impl.h" -#include "include/parms_mat_impl.h" - -static int MatVec_vcsr(parms_Mat self, FLOAT *x, FLOAT *y) -{ - int lsize, i, j, *pj, length; - parms_vcsr matrix; - parms_Map is; - FLOAT *pa; - - - /* extract diagonal and off-diagonal matrix */ - matrix = self->aux_data; - is = self->is; - lsize = parms_MapGetLocalSize(is); - - for (i = 0; i < lsize; i++) { - y[i] = 0.0; - pj = matrix->pj[i]; - pa = matrix->pa[i]; - for (j = 0; j < matrix->nnzrow[i]; j++) { - y[i] += pa[j] * x[pj[j]]; - } - } - - return 0; -} - -static int MatMVPY_vcsr(parms_Mat self, FLOAT alpha, FLOAT *x, - FLOAT beta, FLOAT *y, FLOAT *z) -{ - int lsize, i, j, index, *pj, nnz; - parms_vcsr matrix; - parms_Map is; - FLOAT *pa, s; - - /* extract diagonal and off-diagonal matrix */ - matrix = self->aux_data; - is = self->is; - lsize = is->lsize; - - for (i = 0; i < lsize; i++) { - s = beta * y[i]; - nnz = matrix->nnzrow[i]; - pj = matrix->pj[i]; - pa = matrix->pa[i]; - for (j = 0; j < nnz; j++) { - index = pj[j]; - s += alpha * pa[j] * x[index]; - } - z[i] = s; - } - - return 0; -} - -static int MatSetup_vcsr(parms_Mat self) -{ - /* free member space in aux_data */ - if(self->aux_data->space) - PARMS_FREE(self->aux_data->space); - self->issetup = true; - self->is->ninf_send = 0; - self->is->schur_start = self->is->lsize; - return 0; -} - -static int MatGetDiag_vcsr(parms_Mat self, void **mat) -{ - if (self->ilutype == PCARMS) { - parms_vcsr diag, diag_mat; - int i, nnz; - - diag_mat = self->aux_data; - PARMS_NEW(diag); - diag->n = diag_mat->n; - PARMS_NEWARRAY(diag->nnzrow, diag->n); - PARMS_NEWARRAY(diag->pj, diag->n); - PARMS_NEWARRAY(diag->pa, diag->n); - for (i = 0; i < diag->n; i++) { - nnz = diag->nnzrow[i] = diag_mat->nnzrow[i]; - if (nnz) { - PARMS_NEWARRAY(diag->pj[i], nnz); - PARMS_NEWARRAY(diag->pa[i], nnz); - PARMS_MEMCPY(diag->pj[i], diag_mat->pj[i], nnz); - PARMS_MEMCPY(diag->pa[i], diag_mat->pa[i], nnz); - } - } - *mat = diag; - return 0; - } - *mat = self->aux_data; - return 0; -} - -static struct parms_Mat_ops parms_matops_vcsr = { - MatVec_vcsr, - MatSetup_vcsr, - 0, - MatMVPY_vcsr, - MatGetDiag_vcsr, - MatGetDiag_vcsr, - 0, - 0, - 0, - 0 -}; - -int parms_MatView_vcsr(parms_Mat self, parms_Viewer v) -{ - int i, j, lsize, pid, length, *rja; - FLOAT *ra; - parms_vcsr matrix; - parms_Map is; - FILE *fp; - - is = self->is; - lsize = parms_MapGetLocalSize(is); - pid = is->pid; - parms_ViewerGetFP(v, &fp); - - fprintf(fp, "There is one processor available\n"); - fprintf(fp, "The format of output local equations is:\n"); - fprintf(fp, "(pid,local_row_index)=>(pid,global_row_index)\n"); - fprintf(fp, "(pid,local_row_index, local_column_index) = value\n"); - fprintf(fp, "\n"); - - for (i = 0; i < lsize; i++) { - fprintf(fp, "(%d,%d) => (%d, %d)\n", pid, i, pid, i); - } - - matrix = self->aux_data; - fprintf(fp, "Local matrix on processor %d is\n", pid); -#if defined(DBL_CMPLX) - for (i = 0; i < lsize; i++) { - length = matrix->nnzrow[i]; - rja = matrix->pj[i]; - ra = matrix->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "(%d,%d,%d) = (%f, %f) ", pid, i, rja[j], creal(ra[j]), cimag(ra[j])); - } - fprintf(fp, "\n"); - } -#else - for (i = 0; i < lsize; i++) { - length = matrix->nnzrow[i]; - rja = matrix->pj[i]; - ra = matrix->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "(%d,%d,%d) = %f ", pid, i, rja[j], ra[j]); - } - fprintf(fp, "\n"); - } -#endif - parms_ViewerStoreFP(v, fp); - return 0; -} - -int parms_MatViewCOO_vcsr(parms_Mat self, parms_Viewer v) -{ - int i, j, lsize, pid, length, *rja; - FLOAT *ra; - parms_vcsr matrix; - parms_Map is; - FILE *fp; - - is = self->is; - lsize = parms_MapGetLocalSize(is); - pid = is->pid; - parms_ViewerGetFP(v, &fp); - - fprintf(fp, "There is one processor available\n"); - fprintf(fp, "The format of output local equations is:\n"); - fprintf(fp, "(local_row_index local_column_index value\n"); - fprintf(fp, "\n"); -/* - for (i = 0; i < lsize; i++) { - fprintf(fp, "(%d,%d) => (%d, %d)\n", pid, i, pid, i); - } -*/ - matrix = self->aux_data; - fprintf(fp, "Local diagonal matrix on processor %d is\n", pid); -#if defined(DBL_CMPLX) - for (i = 0; i < lsize; i++) { - length = matrix->nnzrow[i]; - rja = matrix->pj[i]; - ra = matrix->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "%d %d %f %f \n", i, rja[j], creal(ra[j]), cimag(ra[j])); - } - fprintf(fp, "\n"); - } -#else - for (i = 0; i < lsize; i++) { - length = matrix->nnzrow[i]; - rja = matrix->pj[i]; - ra = matrix->pa[i]; - for (j = 0; j < length; j++) { - fprintf(fp, "%d %d %f \n", i, rja[j], ra[j]); - } - fprintf(fp, "\n"); - } -#endif - parms_ViewerStoreFP(v, fp); - return 0; -} - - -int parms_MatCreate_vcsr(parms_Mat self) -{ - PARMS_MEMCPY(self->ops, &parms_matops_vcsr, 1); - return 0; -} diff --git a/lib/parms/src/parms_mem.c b/lib/parms/src/parms_mem.c deleted file mode 100755 index a06037d0d..000000000 --- a/lib/parms/src/parms_mem.c +++ /dev/null @@ -1,178 +0,0 @@ -/*-------------------------------------------------------------------- - parms_calloc : allocate an array of count entries of size bytes - each. - parms_free : free the memory pointed by a pointer. - parms_malloc : return a pointer to the allocated memory. - parms_resize : rechange the size of the memory pointed to by a - pointer. - - Those functions are NOT used directly. You should use macros - PARMS_NEW, PARMS_NEWARRAY, PARMS_NEWARRAY0 instead. - - $Id: parms_mem.c,v 1.1.1.1 2006-11-27 22:28:01 zzli Exp $ ---------------------------------------------------------------------*/ - -#include "parms_mem.h" - -#ifdef C99 - -/** - * Return a pointer to the allocated memory. - * - * @param size The size of memory allocated. - * @param line The line number at which a error occurs. - * @param func The function name within which a error occurs. - * @param fname The file name in which a error occurs. - * - * @return A pinter to the allocated memory. - */ -void *parms_malloc(long size, int line, const char *func, - const char *fname) -{ - void *ptr; - - if (size <= 0) { - fprintf(stderr, "Error: size = %ld at line %d in function %s at file %s\n", size, line, func, fname); - exit(1); - } - ptr = malloc(size); - if (ptr == NULL) { - fprintf(stderr, "Error: size = %ld at line %d in function %s at file %s\n", size, line, func, fname); - exit(1); - } - return ptr; -} - -/** - * Allocate a memory for count etries each with size bytes. - * - * @param count The number of entries allocated. - * @param size The size in bytes of each entry. - * @param line The line number at which a error occurs. - * @param func The function name within which a error occurs. - * @param fname The file name in which a error occurs. - * - * @return A pointer to the allocated memory. - */ -void *parms_calloc(long count, long size, const int line, const char *func, - const char *fname) -{ - void *ptr; - - if (count <= 0 || size <= 0) { - fprintf(stderr, "Error: count = %ld, size = %ld at line %d in function %s at file %s\n", count, size, line, func, fname); - exit(1); - } - - ptr = calloc(count, size); - if (ptr == NULL) { - fprintf(stderr, "Error: count = %ld, size = %ld at line %d in function %s at file %s\n", count, size, line, func, fname); - exit(1); - } - return ptr; -} - -/** - * Rechange the size of the memory allocated. - * - * @param ptr The original pointer. - * @param size The new size of the memory. - * @param line The line number at which a error occurs. - * @param func The function name within which a error occurs. - * @param fname The file name in which a error occurs. - * - * @return A pointer to the memory of size bytes. - */ -void *parms_resize(void *ptr, long size, const int line, - const char *func, const char *fname) -{ - if (ptr == NULL) { - fprintf(stderr, "Error: ptr is a NULL pointer when reallocing memory at line %d in function %s at file %s\n", line, func, fname); - exit(1); - } - if (size <= 0) { - fprintf(stderr, "Error: size = %ld at line %d in function %s at file %s\n", size, line, func, fname); - exit(1); - } - ptr = realloc(ptr, size); - return ptr; -} - -/** - * Free the memory pointed by ptr. - * - * @param ptr A pointer. - * @param line The line number at which a error occurs. - * @param func The function name within which a error occurs. - * @param fname The file name in which a error occurs. - */ -void parms_free(void *ptr, const int line, const char *func, const char *fname) -{ - if (ptr == NULL) { - fprintf(stderr, "Cannot free NULL at line %d in function %s at file %s\n", line, func, fname); - exit(1); - } - free(ptr); -} - -#else - -void *parms_malloc(long size, int line, const char *fname) -{ - void *ptr; - - if (size <= 0) { - fprintf(stderr, "Error: size = %ld at line %d in file %s\n", size, line, fname); - exit(1); - } - ptr = malloc(size); - if (ptr == NULL) { - fprintf(stderr, "Error: size = %ld at line %d in file %s\n", size, line, fname); - exit(1); - } - return ptr; -} - -void *parms_calloc(long count, long size, const int line, const char *fname) -{ - void *ptr; - - if (count <= 0 || size <= 0) { - fprintf(stderr, "Error: count = %ld, size = %ld at line %d in file %s\n", count, size, line, fname); - exit(1); - } - - ptr = calloc(count, size); - if (ptr == NULL) { - fprintf(stderr, "Error: count = %ld, size = %ld at line %d in file %s\n", count, size, line, fname); - exit(1); - } - return ptr; -} - -void *parms_resize(void *ptr, long size, const int line, - const char *fname) -{ - if (ptr == NULL) { - fprintf(stderr, "Error: ptr is a NULL pointer when reallocing memory at line %d in file %s\n", line, fname); - exit(1); - } - if (size <= 0) { - fprintf(stderr, "Error: size = %ld at line %d in file %s\n", size, line, fname); - exit(1); - } - ptr = realloc(ptr, size); - return ptr; -} - -void parms_free(void *ptr, const int line, const char *fname) -{ - if (ptr == NULL) { - fprintf(stderr, "Cannot free NULL at line %d in file %s\n", line, fname); - exit(1); - } - free(ptr); -} - -#endif - diff --git a/lib/parms/src/parms_operator.c b/lib/parms/src/parms_operator.c deleted file mode 100755 index 49173021f..000000000 --- a/lib/parms/src/parms_operator.c +++ /dev/null @@ -1,90 +0,0 @@ -/*-------------------------------------------------------------------- - - parms_OperatorCreate - parms_OperatorFree - parms_OperatorApply - parms_OperatorLsol - parms_OperatorInvS - parms_OperatorAscend - parms_OperatorGetSchurPos - parms_OperatorGetNnz - parms_OperatorView - - Users are NOT encouraged to call those functions directly. - - $Id: parms_operator.c,v 1.1.1.1 2006-11-27 22:28:01 zzli Exp $ - ------------------------------------------------------------------*/ -#include "include/parms_mat_impl.h" -#include "./include/parms_opt_impl.h" - -int parms_OperatorFree(parms_Operator *self) -{ - - (*self)->ref--; - if ((*self)->ref == 0 ) { - (*self)->ops->operator_free(self); - PARMS_FREE((*self)->ops); - PARMS_FREE(*self); - } - return 0; -} - -int parms_OperatorCreate(parms_Operator *self) -{ - parms_Operator newOpt; - - PARMS_NEW0((newOpt)); - newOpt->ref = 1; - PARMS_NEW0((newOpt)->ops); - - newOpt->ops->apply = 0; - newOpt->ops->lsol = 0; - newOpt->ops->invs = 0; - newOpt->ops->getu = 0; - newOpt->ops->ascend = 0; - *self = newOpt; - return 0; -} - -int parms_OperatorView(parms_Operator self, parms_Viewer v) -{ - - return self->ops->operator_view(self, v); -} - -int parms_OperatorApply(parms_Operator self, FLOAT *y, FLOAT *x) -{ - return self->ops->apply(self, y, x); -} - -int parms_OperatorLsol(parms_Operator self, FLOAT *y, FLOAT *x) -{ - return self->ops->lsol(self, y, x); -} - -int parms_OperatorInvS(parms_Operator self, FLOAT *y, FLOAT *x) -{ - return self->ops->invs(self, y, x); -} - -/* used by PCSCHURRAS (AF) */ -int parms_OperatorGetU(parms_Operator self, void **mat) -{ - return self->ops->getu(self, mat); -} - -int parms_OperatorAscend(parms_Operator self, FLOAT *y, FLOAT *x) -{ - return self->ops->ascend(self, y, x); -} - -int parms_OperatorGetSchurPos(parms_Operator self) -{ - return self->ops->getssize(self); -} - -void parms_OperatorGetNnz(parms_Operator self, int *nnz_mat, int - *nnz_pc) -{ - self->ops->getnnz(self, nnz_mat, nnz_pc); -} diff --git a/lib/parms/src/parms_pc.c b/lib/parms/src/parms_pc.c deleted file mode 100755 index 29616d5db..000000000 --- a/lib/parms/src/parms_pc.c +++ /dev/null @@ -1,683 +0,0 @@ -/*-------------------------------------------------------------------- - parms_PCCreate : create a preconditioner object. - parms_PCCreateAbstract : create an abstract preconditioner object. - parms_PCFree : free the memory for the pc. - parms_PCILU : Perform the ilu factorization for the local preconditioner. - parms_PCSetBsize : set the block size for ARMS. - parms_PCSetFill : set the fill-in parameter for ILUT and - ARMS. - parms_PCSetILUType : set the type of ILU. - parms_PCSetInnerEps : set the convergence tolerance for the - inner GMRES. - parms_PCSetInnerKSize : set the restart size for the inner GMRES. - parms_PCSetInnerMaxits : set the maximum iteration counts for the - inner GMRES. - parms_PCSetNlevels : set the number of levels for ARMS. - parms_PCSetOP : set matrix for the preconditioner object. - parms_PCSetParams : set parameters for the preconditioner - object. - parms_PCSetTol : set the drop tolerance for ILUT and ARMS. - parms_PCSetTolInd : set the drop tolerance for finding - independent sets in ARMS - parms_PCSetType : set the type of preconditioner. - parms_PCSetup : set up the preconditioner. - parms_PCApply : applying preconditioner. - parms_PCGetRatio : get the ratio of the number of nonzeros of - the original matrix to that of the - preconditioning matrix. - parms_PCView : dump the preconditioner object. - - A code fragment for using preconditioning functions: - - parms_PC pc; - parms_mat mat; - - // create a preconditioner - parms_PCCreate(&pc, mat); - // set the type of the preconditioner. - parms_PCSetType(pc, PCRAS); - // set ILU type - parms_PCSetILUType(pc, PCILUT); - // set fill-in parameters - parms_PCSetFill(pc, fill); - // set drop tolerances - parms_PCSetTol(pc, tol); - // set up the preconditioning matrix. - parms_PCSetup(pc); - ... - // free the memory for pc. - parms_PCFree(&pc); - - $Id: parms_pc.c,v 1.1.1.1 2006-11-27 22:28:01 zzli Exp $ - ------------------------------------------------------------------*/ -#include "./include/parms_pc_impl.h" -#include "./include/parms_opt_impl.h" - -/*------------Protos-------------*/ -/* -int parms_ilu0_vcsr(parms_Mat self, parms_FactParam param, void *data, parms_Operator *op); -int parms_iluk_vcsr(parms_Mat self, parms_FactParam param, void *data, parms_Operator *op); -int parms_ilut_vcsr(parms_Mat self, parms_FactParam param, void *data, parms_Operator *op); -int parms_arms_vcsr(parms_Mat self, parms_FactParam param, void *data, parms_Operator *op); - -int parms_PCCreate_BJ(parms_PC self); -int parms_PCCreate_Schur(parms_PC self); -int parms_PCCreate_RAS(parms_PC self); -*/ -/*----------End Protos------------------*/ - -/** - * Free the memory for the preconditioner object pointed to by self. - * - * @param self A pointer to the memory for the preconditioner object. - * - * @return 0 on success. - */ -int parms_PCFree(parms_PC *self) -{ - (*self)->ref--; - if ((*self)->ref == 0 ) { - (*self)->ops->pc_free(self); - parms_MatFree(&(*self)->A); - if ((*self)->isperm) { - PARMS_FREE((*self)->perm); - PARMS_FREE((*self)->iperm); - } - PARMS_FREE((*self)->param); - PARMS_FREE((*self)->ops); - PARMS_FREE(*self); - } - - return 0; -} - -/** - * Set up the preconditioner (create the preconditioning matrix). - * - * @param self A preconditioner object. - * - * @return 0 on success. - */ -int parms_PCSetup(parms_PC self) -{ - parms_FactParam param; - - param = self->param; - -/*--- Define default preconditioner (Block Jacobi/ILU0) ---*/ - if(self->isiluset == false){ - parms_PCSetILUType(self, PCILU0); - } - if(self->istypeset == false){ - parms_PCSetType(self, PCBJ); - } -/*--- end definition of default precon ---*/ - - if (self->pctype != PCSCHUR) { - param->ipar[4] = 0; - param->ipar[5] = 0; - } - - /* reuse preconditioner (AF) - if (self->issetup == false) { - self->issetup = true; - //self->ops->setup(self); - } - else - { - // Re-use the precon data struct - self->issetup = false; - self->istypeset = false; - self->ops->pc_free(&self); - parms_PCSetType(self, self->pctype); - self->issetup = true; - self->ops->setup(self); - } */ - - - self->issetup = true; - self->ops->setup(self); - - return 0; -} - -/** - * Create a preconditioner object based on the matrix A. - * - * @param self A preconditioner object. - * @param A A matrix object. - * - * @return 0 on success. - */ -int parms_PCCreate(parms_PC *self, parms_Mat A) -{ - parms_PC new_pc; - int i; - - PARMS_NEW0((new_pc)); - new_pc->ref = 1; - PARMS_NEW0((new_pc)->ops); - new_pc->isiluset = false; - new_pc->istypeset = false; - new_pc->issetup = false; - new_pc->isopset = true; - new_pc->isperm = false; - new_pc->A = A; - A->ref++; - PARMS_NEW(new_pc->param); - /* set up default values for */ - new_pc->param->mc = 1; - new_pc->param->isalloc = false; - for (i = 0; i < 7; i++) { - new_pc->param->lfil[i] = 10; - } - new_pc->param->ipar[0] = 5; - new_pc->param->ipar[1] = 1; - new_pc->param->ipar[2] = 20; - new_pc->param->ipar[3] = 0; - new_pc->param->ipar[4] = 0; - new_pc->param->ipar[5] = 0; - for (i = 6; i < 18; i++) { - new_pc->param->ipar[i] = 0; - } - - for (i = 0; i < 7; i++) { - new_pc->param->droptol[i] = 0.001; - } - new_pc->param->tolind = 0.05; - - new_pc->param->pgfpar[0] = 0.001; - new_pc->param->pgfpar[1] = 0.001; - - *self = new_pc; - return 0; -} - -/** - * Create an abstract preconditioner object. - * - * @param self A pointer to the preconditioner object. - * - * @return 0 on success. - */ -int parms_PCCreateAbstract(parms_PC *self) -{ - parms_PC new_pc; - - PARMS_NEW(new_pc); - PARMS_NEW0((new_pc)->ops); - new_pc->isiluset = false; - new_pc->istypeset = false; - new_pc->issetup = false; - new_pc->isopset = false; - new_pc->isperm = false; - PARMS_NEW(new_pc->param); - new_pc->param->isalloc = false; - - *self = new_pc; - return 0; -} - -/** - * Solve \f$self z = y\f$ - * - * @param self A preconditioner object. - * @param y A right-hand-side vector. - * @param z The solution vector. - * - * @return 0 on success. - */ -int parms_PCApply(parms_PC self, FLOAT *y, FLOAT *z) -{ - return self->ops->apply(self, y, z); -} - -/** - * Set the matrix to create the preconditioning matrix. - * - * @param self A preconditioner object. - * @param A The matrix to be used for creating PC. - * - * @return 0 on success. - */ -int parms_PCSetOP(parms_PC self, parms_Mat A) -{ - - self->A = A; - if(!self->isopset){ - A->ref++; - self->isopset = true; - } -// self->issetup = false; - return 0; -} - -/** - * Dump preconditioner object self. - * - * @param self A preconditioner object. - * @param v A viewer object. - */ -void parms_PCView(parms_PC self, parms_Viewer v) -{ - self->ops->pc_view(self, v); -} - -/** - * Set preconditioner type. - * - * Currently supported preconditioners: - * \f{tabular}{ll} - * PCBJ & block Jacobi \\ - * PCRAS & restricted additive Schwarz \\ - * PCSCHUR & Schur complement - * \f} - * - * @param self A preconditioner object. - * @param pctype The type of preconditioner. - * - PCBJ block Jacobi - * - PCRAS restricted additive Schwarz - * - PCSCHUR Schur complement - * - * @return 0 on success. - */ -int parms_PCSetType(parms_PC self, PCTYPE pctype) -{ - parms_Map is; - parms_Mat A; - BOOL isserial; - - if (self->istypeset && self->pctype == pctype) { - return 0; - } - - A = self->A; - is = A->is; - isserial = is->isserial; - if (self->issetup) { - self->ops->pc_free(&self); - } - - if (isserial) { - self->pctype = PCBJ; - parms_PCCreate_BJ(self); - self->istypeset = true; - self->issetup = false; - } - else { - self->pctype = pctype; - if(pctype == PCBJ) - parms_PCCreate_BJ(self); - else if(pctype == PCRAS) - parms_PCCreate_RAS(self); - else if(pctype == PCSCHUR) - parms_PCCreate_Schur(self); - else if(pctype == PCSCHURRAS) - parms_PCCreate_Schurras(self); - else - { - printf("ERROR: Invalid choice of preconditioner - (Check PCTYPE)! \n"); - PARMS_ABORT(15); - } - self->istypeset = true; - self->issetup = false; - } - return 0; -} - -/** - * Set local preconditioner type. - * - * Supported ILU preconditioners: - * - * \f{tabular}{ll} - * PCILU0 & ILU0 \\ - * PCILUK & ILUK \\ - * PCILUT & ILUT in SPARSKIT \\ - * PCARMS & ARMS implemented by Yousef Saad - * \f} - - * @param self A preconditioner object. - * @param pcstype The type of local preconditioner: - * - PCILU0 - * - PCILUK - * - PCILUT - * - PCARMS - * - * @return 0 on success. - */ -int parms_PCSetILUType(parms_PC self, PCILUTYPE pcilutype) -{ - - if (self->isiluset && self->pcilutype == pcilutype) { - return 0; - } - if (self->issetup) { - self->ops->pc_free(&self); - } - self->pcilutype = pcilutype; - self->A->ilutype = pcilutype; - self->isiluset = true; - self->issetup = false; - return 0; -} - -/* Perform ILU factorization for the local preconditioner*/ -int parms_PCILU(parms_PC self, parms_FactParam param, void *mat, - parms_Operator *op) -{ - int type = self->pcilutype; - - if(type == PCARMS) - parms_arms_vcsr(self->A, param, mat, op); - else - if(*op == NULL){ - if(type == PCILUT) - parms_ilut_vcsr(self->A, param, mat, op); - else if(type == PCILUK) - parms_iluk_vcsr(self->A, param, mat, op); - else if(type == PCILU0) - parms_ilu0_vcsr(self->A, param, mat, op); - else - { - printf("ERROR: Invalid choice of local preconditioner - (check pcilutype for parms_PCSetILUType(...))\n"); - PARMS_ABORT(16); - } - } - else - parms_ilu_update(self->A, param, mat, op); - - return 0; -} - -/** - * Set parameters for the preconditioner object. - * - * Supported parameters: - * - tol drop tolerance - * - fil fill-in - * - nlev number of levels - * - bsize block size for finding independent sets in ARMS. - * - tolind drop tolerance for finding independent sets. - * - iksize the restart size for the inner GMRES. - * - imax the number of iterations for the inner GMRES. - * - * @param self A preconditioner object. - * @param nflags The number of parameters. - * @param params A pointer to parameters. - * - * @return 0 on success. - */ -int parms_PCSetParams(parms_PC self, int nflags, char **params) -{ - int i, j, k; - - for (i = 0, j = 0; i < nflags; i++) { - if (!strcmp(params[j], "fill")) { - for (k = 0; k < 7; k++) { - self->param->lfil[k] = atoi(params[++j]); - } - } - else if (!strcmp(params[j], "tol")) { - for (k = 0; k < 6; k++) { - self->param->droptol[k] = atof(params[++j]); - } - } - else if (!strcmp(params[j], "nlev")) { - self->param->ipar[0] = atoi(params[++j]); - } - else if (!strcmp(params[j], "bsize")) { - self->param->ipar[2] = atoi(params[++j]); - } - else if (!strcmp(params[j], "iksize")) { - self->param->ipar[4] = atoi(params[++j]); - } - else if (!strcmp(params[j], "imax")) { - self->param->ipar[5] = atoi(params[++j]); - } - else if (!strcmp(params[j], "tolind")) { - self->param->tolind = atof(params[++j]); - } - } - return 0; -} - -/** - * Set fill-in parameter for ILUT and ARMS. - * - * @param self A preconditioner object. - * @param fill A int array of size 7. - * - fill[0] amount of fill-in kept in \f$L_{B}\f$. - * - fill[1] amount of fill-in kept in \f$U_{B}\f$. - * - fill[2] amount of fill-in kept in \f$E L^{-1}\f$. - * - fill[3] amount of fill-in kept in \f$U^{-1}_{B} F\f$. - * - fill[4] amount of fill-in kept in \f$S\f$. - * - fill[5] amount of fill-in kept in \f$L_S\f$. - * - fill[6] amount of fill-in kept in \f$U_S\f$. - * - * @return 0 on success. - */ -int parms_PCSetFill(parms_PC self, int *fill) -{ - int i; - - for (i = 0; i < 7; i++) { - self->param->lfil[i] = fill[i]; - } - return 0; -} - -/** - * Set the number of levels for ILUK and ARMS. - * - * @param self A preconditioner object. - * @param nlevel The number of levels. - * - * @return 0 on success. - */ -int parms_PCSetNlevels(parms_PC self, int nlev) -{ - self->param->ipar[0] = nlev; - return 0; -} - -/** - * Set the type of permutation in ARMS - * - * @param self A preconditioner object. - * @param type Permutation type. - * - 1 non-symmetric permutaion. - * - 0 symmetric permutation. - * - * @return 0 on success. - */ -int parms_PCSetPermType(parms_PC self, int type) -{ - self->param->ipar[1] = type; - return 0; -} - -/** - * Set the block size for ARMS. - * - * @param self A preconditioner object. - * @param bsize The block size for ARMS. - * - * @return 0 on success. - */ -int parms_PCSetBsize(parms_PC self, int bsize) -{ - self->param->ipar[2] = bsize; - return 0; -} - -/** - * Set the drop tolerance for ILUT preconditioner. - * - * @param self A preconditioner object. - * @param tol A double array of size 7. - * - tol[0] threshold for dropping in L_{B}. - * - tol[1] threshold for dropping in U_{B}. - * - tol[2] threshold for dropping in L^{-1} F - * - tol[3] threshold for dropping in E U^{-1} - * - tol[4] threshold for dropping in Schur complement - * - tol[5] threshold for dropping in L in last block - * - tol[6] threshold for dropping in U in last block - * - * @return 0 on success. - */ -int parms_PCSetTol(parms_PC self, double *dt) -{ - PARMS_MEMCPY(self->param->droptol, dt, 7); - return 0; -} - -/** - * Set the restart size for the inner GMRES. - * - * @param self A preconditioner object. - * @param im The restart size of the inner GMRES. - * - * @return 0 on success. - */ -int parms_PCSetInnerKSize(parms_PC self, int im) -{ - self->param->ipar[4] = im; - return 0; -} - -/** - * Set the maximum iteration counts for the inner GMRES. - * - * @param self A preconditioner object. - * @param imax The maximum iteration counts. - * - * @return 0 on success. - */ -int parms_PCSetInnerMaxits(parms_PC self, int imaxits) -{ - self->param->ipar[5] = imaxits; - return 0; -} - -/** - * Set the convergence tolerance for the inner GMRES. - * - * @param self A preconditioner object. - * @param eps The convergence tolerance. - * - * @return 0 on success. - */ -int parms_PCSetInnerEps(parms_PC self, REAL ieps) -{ - self->param->pgfpar[0] = ieps; - self->param->pgfpar[1] = ieps; - return 0; -} - -/** - * Set the tolerance for finding independent sets. - * - * @param self A preconditioner object. - * @param tolind The drop tolerance for finding independent sets. - * - * @return 0 on success. - */ -int parms_PCSetTolInd(parms_PC self, REAL tolind) -{ - self->param->tolind = tolind; - return 0; -} - -/** - * Set permutation and scaling options for interlevel blocks - * - * @param self A preconditioner object. - * @param meth Options: - * -meth[0] nonsummetric permutations of 1: yes. affects rperm - * USED FOR LAST SCHUR COMPLEMENT - * -meth[1] permutations of columns 0:no 1: yes. So far this is - * USED ONLY FOR LAST BLOCK [ILUTP instead of ILUT]. - * (so ipar[11] does no matter - enter zero). If - * ipar[15] is one then ILUTP will be used instead - * of ILUT. Permutation data stored in: perm2. - * -meth[2] diag. row scaling. 0:no 1:yes. Data: D1 - * -meth[3] diag. column scaling. 0:no 1:yes. Data: D2 - * @param flag - * -1 interlevel block. - * -0 last block. - * - * @return 0 on success. - */ -int parms_PCSetPermScalOptions(parms_PC self, int *meth, int flag) -{ - if (flag) { - PARMS_MEMCPY(&self->param->ipar[10], meth, 4); - } - else { - PARMS_MEMCPY(&self->param->ipar[14], meth, 4); - } - - return 0; -} - -/** - * Get the ratio of the number of nonzero entries of the - * preconditioning matrix to that of the original matrix. - * - * @param self A preconditioner. - * @param ratio A pointer to the ratio. - * - * @return 0 on success. - */ -int parms_PCGetRatio(parms_PC self, double *ratio) -{ - return self->ops->getratio(self, ratio); -} - -/** - * Return the name of a preconditioner. - * - * @param self A preconditioner. - * @param name The name of preconditioner. - * - * @return 0 on success. - */ -int parms_PCGetName(parms_PC self, char **name) -{ - if(self->pctype == PCBJ) - *name = "Block Jacobi"; - else if(self->pctype == PCSCHUR) - *name = "Schur Complement based Preconditioner"; - else if(self->pctype == PCRAS) - *name = "Restricted Additive Schwarz"; - else if(self->pctype == PCSCHURRAS) - *name = "Schur Complement + Restricted Additive Schwarz"; - else - *name = "Unknown Preconditioner"; - return 0; -} - -/** - * Return the name of a local preconditioner. - * - * @param self A preconditioner. - * @param iluname The name of local ILU preconditioner. - * - * @return 0 on success. - */ -int parms_PCILUGetName(parms_PC self, char **iluname) -{ - if(self->pcilutype == PCILU0) - *iluname = "ILU0"; - else if(self->pcilutype == PCILUK) - *iluname = "ILUK"; - else if(self->pcilutype == PCILUT) - *iluname = "ILUT"; - else if(self->pcilutype == PCARMS) - *iluname = "ARMS"; - else - *iluname = "Unknown Local Preconditioner"; - - return 0; -} diff --git a/lib/parms/src/parms_pc_bj.c b/lib/parms/src/parms_pc_bj.c deleted file mode 100755 index 4f756dcc1..000000000 --- a/lib/parms/src/parms_pc_bj.c +++ /dev/null @@ -1,143 +0,0 @@ -#include "./include/parms_pc_impl.h" -#include "./include/parms_opt_impl.h" - -typedef struct bj_data { - parms_Operator op; - BOOL issetup; -} *bj_data; - -/** Free the memory for struct bj_data. - * - * \param self A preconditioner object. - * \return 0 on success. - */ -static int pc_bj_free(parms_PC *self) -{ - bj_data pc_data; - parms_Operator op; - - pc_data = (bj_data)(*self)->data; - op = pc_data->op; - parms_OperatorFree(&op); - PARMS_FREE(pc_data); - (*self)->param->isalloc = false; - return 0; -} - -/** Dump BJ preconditioner. - * - * \param self A preconditioner object. - * \param v A viewer object. - * \return 0 on success. - */ -static int pc_bj_view(parms_PC self, parms_Viewer v) -{ - bj_data pc_data; - - pc_data = (bj_data)self->data; - parms_OperatorView(pc_data->op, v); - return 0; -} - -/** Set up block Jacobi preconditioner. - * - * \param self A preconditioner object. - * \return 0 on success. - */ -static int pc_bj_setup(parms_PC self) -{ - bj_data pc_data; - parms_Mat A; - void *diag_mat; - parms_FactParam param; - parms_Operator op; - - A = self->A; - param = self->param; - pc_data = (bj_data)self->data; - if(pc_data->issetup) - op = pc_data->op; - else{ - param->start = 0; - param->n = A->is->lsize; - param->schur_start = -1; - pc_data->issetup = true; - op = NULL; - } - - /* reuse lu-factorization (AF) */ - parms_MatGetDiag(A, &diag_mat); - parms_PCILU(self, param, diag_mat, &op); - - - pc_data->op = op; - - return 0; -} - -/** Apply preconditioner BJ to the vector y. - * - * \x = self^{-1}y. - * - * \param self A preconditioner object. - * \param y A right-hand-side vector. - * \param x Solution vector. - * \return 0 - */ -static int pc_bj_apply(parms_PC self, FLOAT *y, FLOAT *x) -{ - bj_data pc_data; - parms_Operator op; - - pc_data = (bj_data)self->data; - op = pc_data->op; - parms_OperatorApply(op, y, x); - return 0; -} - -/** Get the ratio of the number of nonzero entries of the - * preconditioning matrix to that of the original matrix. - * - * \param self A preconditioner. - * \param ratio A pointer to the ratio. - * \return 0 on success. - */ -static int pc_bj_getratio(parms_PC self, double *ratio) -{ - bj_data pc_data; - parms_Operator op; - int nnz_mat, nnz_pc; - int gnnz_mat, gnnz_pc; - - pc_data = (bj_data)self->data; - op = pc_data->op; - parms_OperatorGetNnz(op, &nnz_mat, &nnz_pc); - MPI_Allreduce(&nnz_mat, &gnnz_mat, 1, MPI_INT, MPI_SUM, - MPI_COMM_WORLD); - MPI_Allreduce(&nnz_pc, &gnnz_pc, 1, MPI_INT, MPI_SUM, - MPI_COMM_WORLD); - *ratio = (double)gnnz_pc/(double)gnnz_mat; - return 0; -} - -/** Create a block Jacobi preconditioner. - * - * \param self A preconditioner object. - * \return 0 on success - */ -int parms_PCCreate_BJ(parms_PC self) -{ - bj_data data; - - PARMS_NEW(data); - data->issetup = false; - - self->data = data; - self->ops->pc_free = pc_bj_free; - self->ops->pc_view = pc_bj_view; - self->ops->apply = pc_bj_apply; - self->ops->setup = pc_bj_setup; - self->ops->getratio = pc_bj_getratio; - return 0; -} - diff --git a/lib/parms/src/parms_pc_ras.c b/lib/parms/src/parms_pc_ras.c deleted file mode 100755 index 0d89136bd..000000000 --- a/lib/parms/src/parms_pc_ras.c +++ /dev/null @@ -1,226 +0,0 @@ -#include "./include/parms_comm_impl.h" -#include "./include/parms_pc_impl.h" -#include "./include/parms_opt_impl.h" - -typedef struct ras_data { - parms_Operator op; - parms_Comm handler; - parms_Map is; - BOOL issetup; - FLOAT *rbuf; - int nloc; - int n; - int nodv; - int nsend; -} *ras_data; - -/** Free the memory for struct ras_data. - * - * \param self A preconditioner object. - * \return 0 on success. - */ -static int pc_ras_free(parms_PC *self) -{ - ras_data pc_data; - parms_Operator op; - - pc_data = (ras_data)(*self)->data; - op = pc_data->op; - parms_OperatorFree(&op); - // parms_MapFree(&pc_data->is); - PARMS_FREE(pc_data); - (*self)->param->isalloc = false; - return 0; -} - -/** Dump RAS preconditioner. - * - * \param self A preconditioner object. - * \param v A viewer object. - * \return 0 on success. - */ -static int pc_ras_view(parms_PC self, parms_Viewer v) -{ - ras_data pc_data; - - pc_data = (ras_data)self->data; - parms_OperatorView(pc_data->op, v); - return 0; -} - -/** Set up RAS preconditioner. - * - * \param self A preconditioner object. - * \return 0 on success. - */ -static int pc_ras_setup(parms_PC self) -{ - ras_data pc_data; - parms_Mat A; - parms_Comm handler; - parms_FactParam param; - parms_Operator op; - void *lmat, *mat_ext; - - /* get the matrix */ - A = self->A; - /* get communication handler */ - pc_data = (ras_data)self->data; - - /* set parameters used for ILU factorization */ - param = self->param; - if(pc_data->issetup) { - handler = pc_data->handler; - op = pc_data->op; - } - else{ - parms_MatGetCommHandler(A, &handler); - pc_data->handler = handler; - - pc_data->nloc = A->is->lsize; - pc_data->nodv = parms_CommGetNumRecv(handler); - pc_data->nsend = parms_CommGetNumSend(handler); - parms_CommGetRecvBuf(handler, &pc_data->rbuf); - op = NULL; - - param->start = 0; - if (param->ipar[4] != 0) { - param->ipar[4] = 0; - } - if (param->ipar[5] != 0) { - param->ipar[5] = 0; - } - - pc_data->issetup = true; - } - - /* get the local matrix */ - parms_MatGetSubMat(A, &lmat); - - /* extend the local matrix by including the equations correspond to - the immediate neighbouring variables */ - parms_MatExtend(A, handler, 0, lmat, &pc_data->n, &mat_ext); - - // parms_MapCreateFromLocal(&pc_data->is, pc_data->n, 0); - - param->n = pc_data->n; - param->schur_start = param->n; - - /* ILU factorization */ - parms_PCILU(self, param, mat_ext, &op); - - /* free the memory for the mat_ext */ - if (self->pcilutype != PCARMS) { - parms_MatFreeSubMat(A, mat_ext); - } - - - pc_data->op = op; - return 0; -} - -/** Apply RAS to vector y. - * - * \f$x = self^{-1}y\f$. - * - * \param self A RAS preconditioner. - * \param y A right-hand-side vector. - * \param x Solution vector. - * \return 0 on success. - */ -static int pc_ras_apply(parms_PC self, FLOAT *y, FLOAT *x) -{ - ras_data pc_data; - parms_Operator op; - parms_Comm handler; - FLOAT *rbuf; - FLOAT *x_ext; - FLOAT *y_ext; - int nodv, nsend, n, nloc; - - pc_data = (ras_data)self->data; - op = pc_data->op; - handler = pc_data->handler; - rbuf = pc_data->rbuf; - nsend = pc_data->nsend; - nodv = pc_data->nodv; - n = pc_data->n; - nloc = pc_data->nloc; - - y_ext = (FLOAT *)malloc((n+1)*sizeof(FLOAT)); - x_ext = (FLOAT *)malloc((n+1)*sizeof(FLOAT)); - - - /* exchange interface variables */ - if (nsend) { - parms_CommDataBegin(handler, y, 0); - } - /* copy local variables to the extended vector */ - PARMS_MEMCPY(y_ext, y, pc_data->nloc); - - if (nodv) { - parms_CommDataEnd(handler); - } - /* copy received external interface variables to the extended - vector */ - if (pc_data->n-pc_data->nloc) { - PARMS_MEMCPY(&y_ext[nloc], rbuf, pc_data->n-pc_data->nloc); - } - - /* solve the extended linear system */ - parms_OperatorApply(op, y_ext, x_ext); - - /* ignore external variables -RAS */ - - PARMS_MEMCPY(x, x_ext, nloc); - free(x_ext); - free(y_ext); - - return 0; -} -/** Get the ratio of the number of nonzero entries of the - * preconditioning matrix to that of the original matrix. - * - * \param self A preconditioner. - * \param ratio A pointer to the ratio. - * \return 0 on success. - */ -static int pc_ras_getratio(parms_PC self, double *ratio) -{ - ras_data pc_data; - parms_Operator op; - int nnz_mat, nnz_pc; - int gnnz_mat, gnnz_pc; - - pc_data = (ras_data)self->data; - op = pc_data->op; - parms_OperatorGetNnz(op, &nnz_mat, &nnz_pc); - MPI_Allreduce(&nnz_mat, &gnnz_mat, 1, MPI_INT, MPI_SUM, - MPI_COMM_WORLD); - MPI_Allreduce(&nnz_pc, &gnnz_pc, 1, MPI_INT, MPI_SUM, - MPI_COMM_WORLD); - *ratio = (double)gnnz_pc/(double)gnnz_mat; - return 0; -} - - -/** Create a RAS preconditioner. - * - * \param self A preconditioner object. - * \return 0 on success. - */ -int parms_PCCreate_RAS(parms_PC self) -{ - ras_data data; - - PARMS_NEW(data); - data->issetup = false; - - self->data = data; - self->ops->pc_free = pc_ras_free; - self->ops->pc_view = pc_ras_view; - self->ops->apply = pc_ras_apply; - self->ops->setup = pc_ras_setup; - self->ops->getratio = pc_ras_getratio; - return 0; -} diff --git a/lib/parms/src/parms_pc_schur.c b/lib/parms/src/parms_pc_schur.c deleted file mode 100755 index ee1cb2b44..000000000 --- a/lib/parms/src/parms_pc_schur.c +++ /dev/null @@ -1,552 +0,0 @@ -#include "./include/parms_pc_impl.h" -#include "./include/parms_opt_impl.h" -#if defined(__ICC) -#include -#else -#if defined(C99) -#include -#else -#include -#endif -#endif - -typedef struct schur_data { - parms_Operator op; - int n, schur_start, nrow; - int im, maxits, in_iters; - MPI_Comm comm; - BOOL issetup; - double pgfpar[2]; - FLOAT **vv, **hh, *s, *rs, *hcol, *z2, *wk; - REAL *c; -} *schur_data; - -/** Free the memory for struct schur_data. - * - * \param self A preconditioner object. - * \return 0 on success. - */ -static int pc_schur_free(parms_PC *self) -{ - schur_data pc_data; - parms_Operator op; - int i; - - pc_data = (schur_data)(*self)->data; - op = pc_data->op; - parms_OperatorFree(&op); - - if (pc_data->nrow) { - PARMS_FREE(pc_data->z2); - PARMS_FREE(pc_data->wk); - for (i = 0; i < pc_data->im+1; i++) { - PARMS_FREE(pc_data->vv[i]); - } - } - PARMS_FREE(pc_data->vv); - for (i = 0; i < pc_data->im; i++) { - PARMS_FREE(pc_data->hh[i]); - } - PARMS_FREE(pc_data->hh); - PARMS_FREE(pc_data->c); - PARMS_FREE(pc_data->s); - PARMS_FREE(pc_data->rs); - PARMS_FREE(pc_data->hcol); - MPI_Comm_free(&pc_data->comm); - PARMS_FREE(pc_data); - (*self)->param->isalloc = false; - return 0; -} - -/** Dump the Schur preconditioner. - * - * \param self A preconditioner object. - * \param v A viewer. - * \return 0 on success. - */ -static int pc_schur_view(parms_PC self, parms_Viewer v) -{ - schur_data pc_data; - - pc_data = (schur_data)self->data; - parms_OperatorView(pc_data->op, v); - return 0; -} - -/** Set up data for the Schur preconditioner. - * - * Malloc memories for working arrays in the inner GMRES. - * - * \param self A preconditioner object. - * \return 0 on success. - */ -static int pc_schur_setup(parms_PC self) -{ - schur_data pc_data; - parms_Mat A; - void *diag_mat; - parms_FactParam param; - parms_Operator op; - int nrow, i; - - A = self->A; - - /* Set parameters for the ILU factorization: - ILUs in pARMS can perform factorizatoin based on the matrix - merged implicitly by several submatrices. - start - the location in the merged matrix of the first row - index of the submatrix. - n - the size of the merged matrix. - schur_start - the beginning row index of the Schur in the merged - matrix - */ - param = self->param; - param->start = 0; - param->n = A->is->lsize; - param->schur_start = -1; - - pc_data = (schur_data)self->data; - - if(pc_data->issetup) - op = pc_data->op; - else{ - op = NULL; - } - - /* Get diagonal part of the matrix */ - parms_MatGetDiag(A, &diag_mat); - - /* Perform local ILU-type factorization */ - parms_PCILU(self, param, diag_mat, &op); - - if(!pc_data->issetup){ - - pc_data->op = op; - MPI_Comm_dup(A->is->comm, &pc_data->comm); - - /* get Krylov subspace size */ - pc_data->im = param->ipar[4]; - if (pc_data->im == 0) { - pc_data->im = 5; - } - - /* maximum inner iteration counts */ - pc_data->maxits = param->ipar[5]; - if (pc_data->maxits == 0) { - pc_data->maxits = 5; - } - - /* - malloc memory for krylov subspace basis vv and Hessenberg matrix - */ - PARMS_NEWARRAY(pc_data->vv, pc_data->im+1); - - /* Set the size of the matrix */ - pc_data->n = param->n; - - /* Set the beginning location of the Schur complement */ - pc_data->schur_start = parms_OperatorGetSchurPos(op); -/* pc_data->schur_start = A->is->schur_start; */ - - /* The size of local Schur complement */ - nrow = pc_data->n - pc_data->schur_start; - pc_data->nrow = nrow; - - /* Allocate memories for auxiliary arrays. */ - if(nrow) { - for(i = 0; i < pc_data->im+1; i++) { - PARMS_NEWARRAY(pc_data->vv[i], nrow); - } - PARMS_NEWARRAY(pc_data->z2, nrow); - PARMS_NEWARRAY(pc_data->wk, nrow); - } - else { - pc_data->z2 = NULL; - pc_data->wk = NULL; - pc_data->vv[0] = NULL; - } - - PARMS_NEWARRAY(pc_data->hh, pc_data->im); - for(i = 0; i < pc_data->im; i++) { - PARMS_NEWARRAY(pc_data->hh[i], pc_data->im+1); - } - - PARMS_NEWARRAY(pc_data->c, pc_data->im); - PARMS_NEWARRAY(pc_data->s, pc_data->im); - PARMS_NEWARRAY(pc_data->rs, pc_data->im+1); - PARMS_NEWARRAY(pc_data->hcol, pc_data->im+1); - - pc_data->issetup = true; - - } - return 0; -} - -/** Apply the preconditioner to the vector y. - * - * This preconditioner is actually the lsch_xx preconditioners in old - * version of pARMS. - * - * \param self A preconditioner object. - * \param y A right-hand-side vector. - * \param x Solution vector. - * \return 0 on success. - */ -static int pc_schur_apply(parms_PC self, FLOAT *y, FLOAT *x) -{ - /*-------------------------------------------------------------------- - APPROXIMATE LU-SCHUR LEFT PRECONDITONER - *-------------------------------------------------------------------- - Schur complement left preconditioner. This is a preconditioner for - the global linear system which is based on solving approximately the - Schur complement system. More precisely, an approximation to the - local Schur complement is obtained (implicitly) in the form of an - LU factorization from the LU factorization L_i U_i of the local - matrix A_i. Solving with this approximation amounts to simply doing - the forward and backward solves with the bottom part of L_i and U_i - only (corresponding to the interface variables). This is done using - a special version of the subroutine lusol0 called lusol0_p. Then it - is possible to solve for an approximate Schur complement system - using GMRES on the global approximate Schur complement system - (which is preconditionied by the diagonal blocks represented by - these restricted LU matrices). - -------------------------------------------------------------------- - Coded by Y. Saad - Aug. 1997 - updated Nov. 14, 1997. - C version coded by Zhongze Li, Jan. 2001, updated Sept, 17th, 2001 - Revised by Zhongze Li, June 1st, 2006. - -------------------------------------------------------------------- - */ - schur_data pc_data; - parms_Operator op; - parms_Map is; - parms_Mat A; - parms_FactParam param; - MPI_Comm comm; - int schur_start,nrow, im,i,jj,i1,k,k1,its,j,ii,maxits,incx=1,ierr; - int if_in_continue,if_out_continue; - FLOAT *z2, *wk; - FLOAT **vv, **hh, *s, *rs, *hcol, t1, alpha; - REAL *c; - REAL eps,eps1,t,ro,tloc; - -#if defined(DBL_CMPLX) - FLOAT rot; -#else - REAL gam; -#endif - static int iters = 0; - - /* retrieve the specific data structure for Schur based preconditioners */ - pc_data = (schur_data)self->data; - - /* get the matrix A */ - A = self->A; - - is = A->is; - - /* get the dimension of the local matrix */ - /* n = pc_data->n; */ - - /* get the beginning location of the Schur complement */ - schur_start = pc_data->schur_start; - - /* get the size of the Schur complement */ - nrow = pc_data->nrow; - - /* get krylov space size */ - im = pc_data->im; - - /* get maximal iteration number */ - maxits = pc_data->maxits; - - /* get tolerance */ - param = self->param; - eps = param->pgfpar[0]; - eps1 = eps; - - /* get communicator */ - comm = pc_data->comm; - - /* get working arrays */ - vv = pc_data->vv; - hh = pc_data->hh; - c = pc_data->c; - s = pc_data->s; - rs = pc_data->rs; - hcol = pc_data->hcol; - z2 = pc_data->z2; - wk = pc_data->wk; - - /* retrieve the operator */ - op = pc_data->op; - /* compute the right-hand side of Schur Complement System - it turns out that this is the bottom part of inv(A_i)*rhs - */ - - parms_OperatorLsol(op, y, x); - - /* GCOPY(nrow, &x[schur_start], incx, wk, incx); */ - for (i = 0; i EPSILON) { - t1 = 1.0/t; - /* GSCAL(nrow, t1, vv[i1], incx); */ - for (i = 0; i < nrow; i++) vv[i1][i] *= t1; - } - /* - done with modified gram Schmidt and Arnoldi step.. - now update factorization of hh - */ - if(i != 0) { - /* perform previous transformations on i-th column of h */ -#if defined(DBL_CMPLX) - for(k = 1; k <= i; k++) { - k1 = k-1; - t1 = hh[i][k1]; - hh[i][k1] = c[k1]*t1 + s[k1]*hh[i][k]; - hh[i][k] = -conj(s[k1])*t1 + c[k1]*hh[i][k]; - } -#else - for(k = 1; k <= i; k++) { - k1 = k-1; - t1 = hh[i][k1]; - hh[i][k1] = c[k1]*t1 + s[k1]*hh[i][k]; - hh[i][k] = -s[k1]*t1 + c[k1]*hh[i][k]; - } -#endif - } - -#if defined(DBL_CMPLX) -/*-----------get next plane rotation------------ */ - zclartg(hh[i][i], hh[i][i1], &c[i], &s[i], &rot); - rs[i1] = -conj(s[i])*rs[i]; - rs[i] = c[i]*rs[i]; - hh[i][i] = rot; - ro = cabs(rs[i1]); -#else - gam = sqrt(hh[i][i]*hh[i][i] + hh[i][i1]*hh[i][i1]); - /* - if gamma is zero then any small value will do ... - will affect only residual estimate - */ - if(fabs(gam-ZERO) < EPSILON) gam = EPSMAC; - /* get next plane rotation */ - c[i] = hh[i][i] / gam; - s[i] = hh[i][i1] / gam; - rs[i1] = -s[i]*rs[i]; - rs[i] = c[i]*rs[i]; - - /* determine residual norm and test for convergence */ - hh[i][i] = c[i]*hh[i][i] + s[i]*hh[i][i1]; - ro = fabs(rs[i1]); -#endif - - if(i+1 >= im || ro <= eps1 || its >= maxits) - if_in_continue = 0; - } - - /* now compute solution. first solve upper triangular system. */ - for(ii = i; ii >= 0; --ii) { - t1 = rs[ii]; - for(j = ii+1; j <= i; j++) { - t1 = t1 - hh[j][ii]*rs[j]; - } - rs[ii] = t1 / hh[ii][ii]; - } - - /* form linear combination of v(*,i)'s to update solution */ - for(j = 0; j < i+1; j++) { - for (i=0; i= maxits) { - ierr = 1; - if_out_continue = 0; - } - /* else compute residual vector (from the v's) and continue.. */ - else { -#if defined(DBL_CMPLX) - for(j = 0; j <= i; j++) { - jj= i1-j+1; - rs[jj-1] = -conj(s[jj-1])*rs[jj]; - rs[jj] = c[jj-1]*rs[jj]; - } -#else - for(j = 0; j <= i; j++) { - jj= i1-j+1; - rs[jj-1] = -s[jj-1]*rs[jj]; - rs[jj] = c[jj-1]*rs[jj]; - } -#endif - for(j = 0; j <= i1; j++) { - t1 = rs[j]; - if(j == 0) t1 = t1-1.0; - /* GAXPY(nrow, t1, vv[j], incx, vv[0], incx); */ - for (i = 0; i < nrow; i++) vv[0][i] += t1 * vv[j][i]; - } - } - } - /* - post-processing to compute interior variables.. - compute RHS for last system. similar to Schur iteration - first get a vector of the form (0,y)^T - */ - parms_MatVecOffDiag(A, &x[schur_start], z2, schur_start); - - /* GCOPY(nrow, wk, incx, &x[schur_start], incx); */ - for (i = 0; i < nrow; i++) x[schur_start+i] = wk[i]; - for (i = 0; i < is->ninf; i++) { - x[i+is->nint] -= z2[i+is->nint-schur_start]; - } - /* solve the Schur complement system */ - parms_OperatorInvS(op, &x[schur_start], &x[schur_start]); - /* backward sweep */ - parms_OperatorAscend(op, x, x); - - iters += its; - pc_data->in_iters = iters; - - return ierr; -} - -/** Get the ratio of the number of nonzero entries of the - * preconditioning matrix to that of the original matrix. - * - * \param self A preconditioner. - * \param ratio A pointer to the ratio. - * \return 0 on success. - */ -static int pc_schur_getratio(parms_PC self, double *ratio) -{ - schur_data pc_data; - parms_Operator op; - int nnz_mat, nnz_pc; - int gnnz_mat, gnnz_pc; - - pc_data = (schur_data)self->data; - op = pc_data->op; - parms_OperatorGetNnz(op, &nnz_mat, &nnz_pc); - MPI_Allreduce(&nnz_mat, &gnnz_mat, 1, MPI_INT, MPI_SUM, - MPI_COMM_WORLD); - MPI_Allreduce(&nnz_pc, &gnnz_pc, 1, MPI_INT, MPI_SUM, - MPI_COMM_WORLD); - *ratio = (double)gnnz_pc/(double)gnnz_mat; - return 0; -} - -/** Create a Schur-complement based preconditioner. - * - * \param self A preconditioner object. - * \return 0 on success. - */ -int parms_PCCreate_Schur(parms_PC self) -{ - schur_data data; - - PARMS_NEW(data); - self->data = data; - data->issetup = false; - self->ops->pc_free = pc_schur_free; - self->ops->pc_view = pc_schur_view; - self->ops->apply = pc_schur_apply; - self->ops->setup = pc_schur_setup; - self->ops->getratio = pc_schur_getratio; - return 0; -} diff --git a/lib/parms/src/parms_pc_schurras.c b/lib/parms/src/parms_pc_schurras.c deleted file mode 100755 index 505dfc1c2..000000000 --- a/lib/parms/src/parms_pc_schurras.c +++ /dev/null @@ -1,469 +0,0 @@ -#include "./include/parms_pc_impl.h" -#include "./include/parms_opt_impl.h" -#if defined(__ICC) -#include -#else -#if defined(C99) -#include -#else -#include -#endif -#endif - -/* Forward declarations */ -int parms_OperatorGetU(parms_Operator self, void **mat); -int parms_MatGetOffDiag(parms_Mat self, void **mat); -int parms_CommGetOdvlist(parms_Comm self, int **odvlist); - -typedef struct schurras_data { - - parms_Operator op_out,op_in; - int n, schur_start, nrow, nloc, n_ext, nodv, nsend; - FLOAT *x_ext, *y_ext; - BOOL issetup; - parms_Comm handler; - parms_Mat S; - FLOAT *rbuf; - -} *schurras_data; - -static int parms_PC_GetS(parms_PC self, parms_Operator op,parms_Mat *mat); -static int parms_PC_GetExtendSchur(parms_PC self, parms_Operator op,void **mat); -/** Free the memory for struct schur_data. - * - * \param self A preconditioner object. - * \return 0 on success. - */ -static int pc_schurras_free(parms_PC *self) -{ - schurras_data pc_data; - parms_Operator op; - int i; - - pc_data = (schurras_data)(*self)->data; - op = pc_data->op_out; - parms_OperatorFree(&op); - op = pc_data->op_in; - parms_OperatorFree(&op); - parms_MatFree(&pc_data->S); - - if (pc_data->n_ext) { - PARMS_FREE(pc_data->x_ext); - PARMS_FREE(pc_data->y_ext); - } - PARMS_FREE(pc_data); - (*self)->param->isalloc = false; - return 0; -} - -/** Dump the Schur preconditioner. - * - * \param self A preconditioner object. - * \param v A viewer. - * \return 0 on success. - */ -static int pc_schurras_view(parms_PC self, parms_Viewer v) -{ - schurras_data pc_data; - - pc_data = (schurras_data)self->data; - // parms_OperatorView(pc_data->op_out, v); - parms_OperatorView(pc_data->op_in, v); - return 0; -} - -/** Set up data for the Schur preconditioner. - * - * Malloc memories for working arrays in the inner GMRES. - * - * \param self A preconditioner object. - * \return 0 on success. - */ -static int pc_schurras_setup(parms_PC self) -{ - schurras_data pc_data; - parms_Mat A,S; - parms_PC newpc; - parms_Viewer v; - void *diag_mat,*schur_mat,*mat_ext; - parms_FactParam param; - parms_Operator op,opras; - parms_Comm handler; - parms_Operator newOpt; - int nrow, i,n_ext,ipar[2]; - - - A = self->A; - pc_data = (schurras_data)self->data; - - /* Schur part I */ - - /* Perform restricted Gauss Elimination*/ - param = self->param; - - param->start = 0; - param->n = A->is->lsize; //n = size of the Submatrix - param->schur_start = A->is->schur_start; - param->isalloc = false; - - parms_MatGetDiag(A, &diag_mat); - op = NULL; - parms_PCILU(self, param, diag_mat, &op); - pc_data->op_out = op; - /* Perform global Schur matrix */ - parms_PC_GetS(self,pc_data->op_out,&S); - - /* rAS-part of the preconditioner */ - - /* get communicator of global Schur matrix */ - parms_MatGetCommHandler(S,&handler); - - /* get Si' = extended local part of global Schur matrix */ - parms_MatGetSubMat(S,&schur_mat); - parms_MatExtend(S,handler,0,schur_mat,&n_ext,&mat_ext); - - pc_data->handler = handler; - pc_data->nodv = parms_CommGetNumRecv(handler); - pc_data->nsend = parms_CommGetNumSend(handler); - parms_CommGetRecvBuf(handler,&pc_data->rbuf); - - /* perform ILU-factorization of Si' */ - - param->n = n_ext; - param->schur_start = param->n; - param->isalloc = false; - - PARMS_NEW(newpc); - newpc->A = S; - newpc->pcilutype = self->pcilutype; - op = NULL; - parms_PCILU(newpc,param,mat_ext,&op); - pc_data->op_in = op; - PARMS_FREE(newpc); - - /* free the memory for the mat_ext */ - if (self->pcilutype != PCARMS) { - parms_MatFreeSubMat(S, mat_ext); - } - - /* set pc_data */ - pc_data->S = S; - pc_data->n_ext = n_ext; - pc_data->nrow = nrow = S->is->lsize; - pc_data->schur_start = parms_OperatorGetSchurPos(pc_data->op_out); - pc_data->nloc = A->is->lsize; - pc_data->n = pc_data->nloc + pc_data->nodv; - - if(n_ext){ - PARMS_NEWARRAY(pc_data->x_ext, n_ext); - PARMS_NEWARRAY(pc_data->y_ext, n_ext); - } - pc_data->issetup = true; - return 0; -} - -/** Apply the preconditioner to the vector y. - * - * This preconditioner is actually the lsch_xx preconditioners in old - * version of pARMS. - * - * \param self A preconditioner object. - * \param y A right-hand-side vector. - * \param x Solution vector. - * \return 0 on success. - */ -static int pc_schurras_apply(parms_PC self, FLOAT *y, FLOAT *x) -{ - /*-------------------------------------------------------------------- - APPROXIMATE LU-SCHUR LEFT PRECONDITONER - *-------------------------------------------------------------------- - Schur complement left preconditioner. This is a preconditioner for - the global linear system which is based on solving approximately the - Schur complement system. More precisely, an approximation to the - local Schur complement is obtained (implicitly) in the form of an - LU factorization from the LU factorization L_i U_i of the local - matrix A_i. Solving with this approximation amounts to simply doing - the forward and backward solves with the bottom part of L_i and U_i - only (corresponding to the interface variables). This is done using - a special version of the subroutine lusol0 called lusol0_p. Then it - is possible to solve for an approximate Schur complement system - using GMRES on the global approximate Schur complement system - (which is preconditionied by the diagonal blocks represented by - these restricted LU matrices). - -------------------------------------------------------------------- - Coded by Y. Saad - Aug. 1997 - updated Nov. 14, 1997. - C version coded by Zhongze Li, Jan. 2001, updated Sept, 17th, 2001 - Revised by Zhongze Li, June 1st, 2006. - -------------------------------------------------------------------- - */ - schurras_data pc_data; - parms_Operator op_in,op_out; - parms_Map is; - parms_Mat A,S; - parms_FactParam param; - MPI_Comm comm; - parms_Comm handler; - int schur_start,nrow, im,i,jj,i1,k,k1,its,j,ii,maxits,incx=1,ierr; - int if_in_continue,if_out_continue; - FLOAT *rbuf,*x_ext, *y_ext; - int nodv, nsend,n,nloc, n_ext; - REAL *c; - REAL eps,eps1,t,ro,tloc; - REAL gam; - - static int iters = 0; - - /* retrieve the specific data structure for Schur based preconditioners */ - pc_data = (schurras_data)self->data; - - /* get the matrix A */ - A = self->A; - is = A->is; - /* get the dimension of the local matrix */ - n = pc_data->n; - - /* get the beginning location of the Schur complement */ - schur_start = pc_data->schur_start; - - /* get the size of the Schur complement */ - nrow = pc_data->nrow; - - /* get tolerance */ - param = self->param; - eps = param->pgfpar[0]; - eps1 = eps; - - x_ext = pc_data->x_ext; - y_ext = pc_data->y_ext; - - // retrieve the operators - op_in = pc_data->op_in; - op_out = pc_data->op_out; - - // get ras-stuff - handler = pc_data->handler; - rbuf = pc_data->rbuf; - nsend = pc_data->nsend; - nodv = pc_data->nodv; - nloc = pc_data->nloc; - n_ext = pc_data->n_ext; - - S = pc_data->S; - - parms_OperatorLsol(op_out, y, x); - - ///////////////////////// Vernachlaessigung von Eij ///////////////// - // parms_OperatorInvS(op_out,x,x); - ///////////////////////////////////////////////////////////////////// - - - - ///////////////////////////// Si' mit ILU /////////////////////// - // matrix-vector product - if (nsend) { - parms_CommDataBegin(handler,&x[schur_start], 0); - } - PARMS_MEMCPY(y_ext,&x[schur_start],nrow); - if (nodv) { - parms_CommDataEnd(handler); - PARMS_MEMCPY(&y_ext[nrow],rbuf,nodv);//pc_data->n_ext - pc_data->nrow); - } - - parms_OperatorApply(op_in,y_ext,x_ext); - - PARMS_MEMCPY(&x[schur_start],x_ext,nrow); - // backward sweep - - parms_OperatorAscend(op_out, x, x); - - - return 0; -} - -/** Get the ratio of the number of nonzero entries of the - * preconditioning matrix to that of the original matrix. - * - * \param self A preconditioner. - * \param ratio A pointer to the ratio. - * \return 0 on success. - */ -static int pc_schurras_getratio(parms_PC self, double *ratio) -{ - schurras_data pc_data; - parms_Operator op; - int nnz_mat, nnz_pc; - int gnnz_mat, gnnz_pc; - - pc_data = (schurras_data)self->data; - op = pc_data->op_in; - parms_OperatorGetNnz(op, &nnz_mat, &nnz_pc); - MPI_Allreduce(&nnz_mat, &gnnz_mat, 1, MPI_INT, MPI_SUM, - MPI_COMM_WORLD); - MPI_Allreduce(&nnz_pc, &gnnz_pc, 1, MPI_INT, MPI_SUM, - MPI_COMM_WORLD); - *ratio = (double)gnnz_pc/(double)gnnz_mat; - return 0; -} - -/** Create a Schur-complement based preconditioner. - * - * \param self A preconditioner object. - * \return 0 on success. - */ -int parms_PCCreate_Schurras(parms_PC self) -{ - schurras_data data; - - PARMS_NEW(data); - data->issetup = false; - - self->data = data; - self->ops->pc_free = pc_schurras_free; - self->ops->pc_view = pc_schurras_view; - self->ops->apply = pc_schurras_apply; - self->ops->setup = pc_schurras_setup; - self->ops->getratio = pc_schurras_getratio; - - return 0; -} - - - -int parms_OperatorGetU(parms_Operator, void **); -int parms_MatGetOffDiag(parms_Mat, void **); -int parms_CommGetOdvlist(parms_Comm, int **); -static int parms_PC_GetS(parms_PC self, parms_Operator op,parms_Mat *mat) -{ - - int i,j,k; - int n,n_schur,start; - int npro,pid,nodv,nsend,offset; - int *cc,*displs,*idx,*idxloc,*counts; - int cnt1,*nnz,cnt2,newsize; - int *rowj,*offsetptr,*clp; - FLOAT *rowa; - FILE *fptr; - char fname[15]; - parms_Map is,is_schur; - parms_Mat S; - parms_Viewer v; - void *U_loc,*Offdiag; - parms_Table newidx; - parms_vcsr U_vcsr,Offdiag_vcsr; - - MPI_Comm comm; - parms_Comm handler; - - /* get local Schur Matrix - it's part of matrix U after restricted Gauss Elimination*/ - parms_OperatorGetU(op,&U_loc); - U_vcsr = (parms_vcsr)U_loc; - n = U_vcsr->n; - - /* get entries of Interface-Interface-Submatrix Eij */ - parms_MatGetOffDiag(self->A,&Offdiag); - Offdiag_vcsr = (parms_vcsr)Offdiag; - - start = parms_OperatorGetSchurPos(op); - n_schur = n - start; - - /* communicator-data */ - is = self->A->is; - npro = is->npro; - pid = is->pid; - comm = is->comm; - offset = is->start; - - parms_MatGetCommHandler(self->A,&handler); - nodv = parms_CommGetNumRecv(handler); - parms_CommGetOdvlist(handler,&offsetptr); - - - /* displs is local displacement of global Schur matrix S */ - /* cc[i] contains size of local Schur matrix S_i */ - /* newsize = size of global Schur matrix */ - PARMS_NEWARRAY(cc,npro); - PARMS_NEWARRAY(displs,npro+1); - - MPI_Allgather(&n_schur,1,MPI_INT,cc,1,MPI_INT,comm); - displs[0] = 0; - for(i = 0; i < npro; i++) - displs[i+1] = displs[i] + cc[i]; - newsize = displs[npro]; - - /* idx contains global indices of the Schur matrix components */ - PARMS_NEWARRAY(idx,newsize); - PARMS_NEWARRAY(idxloc,is->lsize); - - parms_MapGetGlobalIndices(is,idxloc); - for(i = 0; i < n_schur; i++) - idx[displs[pid]+i] = idxloc[is->iperm[start+i]]-offset; - MPI_Allgatherv(&idx[displs[pid]],n_schur,MPI_INT,idx,cc,displs,MPI_INT,comm); - PARMS_FREE(idxloc); - - /* Create IndexSet-Table of new Ordering */ - parms_TableCreate(&newidx,NULL,newsize); - for(i = 0; i < newsize; i++) - parms_TablePut(newidx,idx[i],i); - - /* now idx contains the indices of local rows of the global Schur matrix */ - PARMS_RESIZE(idx, n_schur); - for(i = 0; i < n_schur; i++) - idx[i] = displs[pid]+i; - - /* create global Schur matrix S */ - parms_MapCreateFromPetsc(&is_schur, n_schur, newsize, comm); - parms_MatCreate(&S, is_schur); - - /*count number of entries of S */ - cnt1 = 0; - for(i = 0; i < n_schur; i++) - cnt1 += U_vcsr->nnzrow[start+i] + Offdiag_vcsr->nnzrow[i]; - - PARMS_NEWARRAY(nnz,n_schur+1); - PARMS_NEWARRAY(rowj,cnt1); - PARMS_NEWARRAY(rowa,cnt1); - - /* fill global Schur Matrix */ - nnz[0] =0; - for(i = 0; i < n_schur; i++) { - cnt1 = U_vcsr->nnzrow[start+i]; - if(cnt1){ - /* entries local Schur matrix */ - PARMS_MEMCPY(&rowa[nnz[i]],U_vcsr->pa[start+i],cnt1); - for(j = 0; j < cnt1; j++) - rowj[nnz[i]+j] = U_vcsr->pj[start+i][j] - start + displs[pid]; - } - cnt2 = Offdiag_vcsr->nnzrow[i]; - if(cnt2){ - /* entries of Eij */ - PARMS_MEMCPY(&rowa[nnz[i]+cnt1],Offdiag_vcsr->pa[i],cnt2); - for(j = 0; j < cnt2; j++){ - clp = parms_TableGet(newidx,offsetptr[Offdiag_vcsr->pj[i][j] - is->lsize]); - rowj[nnz[i]+cnt1+j] = *clp; - } - } - nnz[i+1] = nnz[i]+cnt1+cnt2; - } - parms_MatSetValues(S,n_schur,idx,nnz,rowj,rowa,INSERT); - parms_MatSetup(S); - - PARMS_FREE(cc); - PARMS_FREE(displs); - PARMS_FREE(rowj); - PARMS_FREE(rowa); - PARMS_FREE(nnz); - PARMS_FREE(idx); - parms_TableFree(&newidx); - parms_MapFree(&is_schur); - - /*parms_ViewerCreate(&v,"pschur"); - parms_MatView(S,v); - parms_ViewerFree(&v);*/ - - *mat = S; - - return 0; - -} - - diff --git a/lib/parms/src/parms_qsplit.c b/lib/parms/src/parms_qsplit.c deleted file mode 100755 index 55cbb8e4b..000000000 --- a/lib/parms/src/parms_qsplit.c +++ /dev/null @@ -1,55 +0,0 @@ -#include "parms_sys.h" -#include "DDPQ/protos.h" -#if defined(C99) -#include -#else -#include -#endif - -int qsplitCF(FLOAT *a, int *ind, int n, int ncut) -{ - /*---------------------------------------------------------------------- - | does a quick-sort split of a real array. - | on input a[0 : (n-1)] is a real array - | on output is permuted such that its elements satisfy: - | - | abs(a[i]) >= abs(a[ncut-1]) for i < ncut-1 and - | abs(a[i]) <= abs(a[ncut-1]) for i > ncut-1 - | - | ind[0 : (n-1)] is an integer array permuted in the same way as a. - |---------------------------------------------------------------------*/ - REAL abskey; - FLOAT tmp; - int j, itmp, first, mid, last; - first = 0; - last = n-1; - if (ncut last) return 0; - /* outer loop -- while mid != ncut */ - label1: - mid = first; - abskey = ABS_VALUE(a[mid]); - for (j=first+1; j<=last; j++) { - if (ABS_VALUE(a[j]) > abskey) { - tmp = a[++mid]; - itmp = ind[mid]; - a[mid] = a[j]; - ind[mid] = ind[j]; - a[j] = tmp; - ind[j] = itmp; - } - } - /* interchange */ - tmp = a[mid]; - a[mid] = a[first]; - a[first] = tmp; - itmp = ind[mid]; - ind[mid] = ind[first]; - ind[first] = itmp; - /* test for while loop */ - if (mid == ncut) return 0; - if (mid > ncut) - last = mid-1; - else - first = mid+1; - goto label1; -} diff --git a/lib/parms/src/parms_solver.c b/lib/parms/src/parms_solver.c deleted file mode 100755 index a140ab6f3..000000000 --- a/lib/parms/src/parms_solver.c +++ /dev/null @@ -1,295 +0,0 @@ -/*-------------------------------------------------------------------- - parms_SolverApply : solve the linear system of equation - parms_SolverCreate : create a parms_Solver object. - parms_SolverFree : free the memory for the parms_Solver object. - parms_SolverGetIts : get the iteration counts. - parms_SolverGetMat : get the matrix for the linear system solved. - parms_SolverGetPC : get the preconditioning matrix. - parms_SolverSetParam : set the parameters for the solver (maxits, - tolerance, etc.) - parms_SolverSetType : set the type of the solver. FGMRES and DGMRES - are supplied in the package. - dgmres removed YS - parms_SolverView : dump the maximum iteration count and the - iteration counts - - A code fragment for using solver functions: - - parms_Solver solver; - parms_Mat A; - parms_PC pc; - - // create a solver - parms_SolverCreate(&solver, A, pc); - - // set the maximum number of iterations - parms_SolverSetParam(solver, MAXITS, "300"); - // set the restart size of FGMRES or DGMRES - parms_SolverSetParam(solver, KSIZE, "60"); - // set the convergence tolerance - parms_SolverSetParam(solver, DTOL, "1.0e-6"); - // set the number of eigenvectors - parms_SolverSetParam(solver, NEIG, "8"); - - // solver the linear system - parms_SolverApply(solver, rhs, x); - - // free the memory for solver - parms_SolverFree(&solver); - - $Id: parms_solver.c,v 1.5 2006-12-01 20:44:20 zzli Exp $ - -------------------------------------------------------------------*/ -#include -#include "parms_vec.h" -#include "parms_viewer.h" -#include "parms_mat_impl.h" -#include "parms_pc_impl.h" -#include "parms_solver_impl.h" - -/*int fgmres_create(parms_Solver self);*/ -/* extern int dgmres_create(parms_Solver self); */ - -int parms_SolverView(parms_Solver self, parms_Viewer v) -{ - self->ops->solver_view(self, v); - - return 0; -} - -/** - * Create a parms_Solver object. - * - * @param self A pointer to the parms_Solver object created. - * @param A The matrix of the linear system. - * @param pc The preconditioner. - * - * @return 0 on success. - */ - -int parms_SolverCreate(parms_Solver *self, parms_Mat A, parms_PC pc) -{ - parms_Solver new_solver; - - PARMS_NEW0((new_solver)); - new_solver->ref = 1; - PARMS_NEW0((new_solver)->ops); - new_solver->ops->apply = 0; - new_solver->ops->setksize = 0; - new_solver->istypeset = false; - new_solver->A = A; - A->ref++; - new_solver->pc = pc; - pc->ref++; - new_solver->maxits = 100; - new_solver->tol = 1.0e-6; - *self = new_solver; - return 0; -} - -/** - * Solve the equation \f$Ax = y\f$. - * - * @param self A parms_Solver object. - * @param x The solution vector. - * @param y The right-hand-side vector. - * - * @return 0 on success. - */ -int parms_SolverApply(parms_Solver self, FLOAT *y, FLOAT *x) -{ -// if(self->istypeset == true){ -// self->ops->solver_free(&self); -// self->istypeset = false; -// } - if (self->istypeset == false) { -/* Default solver - fgmres */ - parms_SolverSetType(self, SOLFGMRES); - } - - return self->ops->apply(self, y, x); -} - -/** - * Compute the local residual \f$ r = y - Ax \f$. - * - * @param self A parms_Solver object. - * @param x The solution vector. - * @param y The right-hand-side vector. - * @param r The computed residual vector. - * - * @return 0 on success. - */ - -int parms_SolverGetResidual(parms_Solver self, FLOAT *y, FLOAT *x, FLOAT *r) -{ - return self->ops->getresidual(self, y, x, r); -} - -/** - * Compute the local residual 2-norm \f$ ||r = y - Ax|| \f$. - * - * @param self A parms_Solver object. - * @param x The solution vector. - * @param y The right-hand-side vector. - * @param rnorm The 2-norm of the residual vector. - * - * @return 0 on success. - */ - -int parms_SolverGetResidualNorm2(parms_Solver self, FLOAT *y, FLOAT *x, REAL *rnorm) -{ - return self->ops->getresidualnorm2(self, y, x, rnorm); -} - -/** - * Set the type of the solver. - * - * Only FGMRES solver is available in the package. - * - * @param self A parms_Solver object. - * @param stype The type of Krylov subspace. - * -SOLFGMRES - * -SOLDGMRES - * - * @return 0 on success. - */ - -int parms_SolverSetType(parms_Solver self, SOLVERTYPE stype) -{ - if (self->istypeset && self->stype == stype) { - return 0; - } - if (self->istypeset) { - self->ops->solver_free(&self); - } - if(stype == SOLFGMRES) - fgmres_create(self); - else if(stype == SOLGMRES) - gmres_create(self); - else if(stype == SOLBICGS) - bicgstab_create(self); - else if(stype == SOLPBICGS) - pbicgstab_create(self); - else if(stype == SOLPBICGS_RAS) - pbicgstabras_create(self); - else if(stype == SOLBICGS_RAS) - bicgstabras_create(self); - else if(stype == SOLCG) - cg_create(self); - else{ - printf("ERROR: Invalid choice of solver - (Check SOLVERTYPE for parms_SolverSetType(...) \n"); - PARMS_ABORT(17); - } - self->stype = stype; - self->istypeset = true; - return 0; -} - -/** - * Set parameter for the solver. - * - * Set the maximum iteration counts, the restart size of GMRES, and - * the convergence tolerance. - * - * @param self A parms_Solver object. - * @param ptype The type of parameter. - * -MAXITS maximum iteration counts. - * -KSIZE restart size of GMRES. - * -DTOL converence tolerance. - * -NEIG number of eigenvectors. - * @param param Parameters for the solver. - */ -void parms_SolverSetParam(parms_Solver self, PARAMTYPE paramtype, char - *param) -{ - - if (self->istypeset == false) { - parms_SolverSetType(self, SOLFGMRES); - } - if (paramtype == MAXITS) { - self->maxits = atoi(param); - } - else if (paramtype == KSIZE) { - self->ops->setksize(self, atoi(param)); - } - else if (paramtype == DTOL) { - self->tol = strtod(param, (char **)NULL); - } - else if (paramtype == NEIG) { - self->ops->setneig(self, atoi(param)); - } -} - -/** - * Free the memory for the parms_Solver object. - * - * @param self A pointer to the parms_Solver object to be freed. - * - * @return 0 on success. - */ -int parms_SolverFree(parms_Solver *self) -{ - (*self)->ref--; - if ((*self)->ref == 0 ) { - parms_MatFree(&(*self)->A); - parms_PCFree(&(*self)->pc); - (*self)->ops->solver_free(self); - PARMS_FREE((*self)->ops); - PARMS_FREE(*self); - } - return 0; -} - -/** - * Get the iteration counts. - * - * @param self A parms_Solver object. - * - * @return The iteration counts. - */ -int parms_SolverGetIts(parms_Solver self) -{ - return self->its; -} - -/** - * Get the matrix of the linear system. - * - * @param self A parms_Solver object. - * @param A A pointer to the matrix returned. - * - * @return 0 on success. - */ -int parms_SolverGetMat(parms_Solver self, parms_Mat *A) -{ - - if (self->ref == 1 ) { - *A = self->A; - return 0; - } - else { - *A = NULL; - return -1; - } -} - -/** - * Get the preconditioning matrix. - * - * @param self A parms_Solver object. - * @param PC A pointer to the preconditioning matrix. - * - * @return 0 on success. - */ -int parms_SolverGetPC(parms_Solver self, parms_PC *PC) -{ - if (self->ref == 1 ) { - *PC = self->pc; - return 0; - } - else { - *PC = NULL; - return -1; - } -} - diff --git a/lib/parms/src/parms_table.c b/lib/parms/src/parms_table.c deleted file mode 100755 index 001921032..000000000 --- a/lib/parms/src/parms_table.c +++ /dev/null @@ -1,283 +0,0 @@ -/*-------------------------------------------------------------------- - parms_TableCreate : create a hash table. - parms_TableFree : free the memory for the table. - parms_TableGet : get the corresponding value for a given key. - parms_TableGetSize : get the total number of entries in the table. - parms_TablePut : put the pair (key, value) into the table. - - A code fragment for using table functions: - - parms_Table table; - int key, value, *p; - - // create a hash table using the default hash function - parms_TableCreate(&table, NULL, tsize); - // put pair(key, value) into the table - parms_TablePut(table, key, value); - // get the corresponding value for a given key. - p = parms_TableGet(table, key); - if (p != NULL) { - value = *p; - } - // free the memory for the table object. - parms_TableFree(&table); - - $Id: parms_table.c,v 1.1.1.1 2006-11-27 22:28:01 zzli Exp $ - ------------------------------------------------------------------*/ - -#include "include/parms_table_impl.h" - -static unsigned hashfunc(int key) -{ - unsigned k; - - k = key; - return k; -} - -/** - * Create a hash table. - * - * Create a hash table with hf as the hash function. - * - * @param newT A pointer to the hash table created. - * @param hf The hash function. If hf is null, the default hash - * function is used. - * @param size The number of entries stored in the table. - * - * @return 0 on success. - */ -int parms_TableCreate(parms_Table *newT, HashFcn hf, int tsize) -{ - int i, lwr; - parms_Table table; - static int primes[] = {389, 389, 769, 1543, 3079, 6151, 12289, - 24593, 49157, 98317, 196613, 393241, 786433, - 1572869, 3145739, 6291469, 12582917, - 25165843, 50331653, 100663319, 201326611, - 402653189, 805306457, 1610612741}; - - /* find the maximum prime less than tsize */ - for (i = 1; lwr = (primes[i]*2)/3, lwr < tsize; i++); - - /* malloc the space for the table */ - table = PARMS_ALLOC(sizeof(*table) + - sizeof(table->Slots[0])*primes[i-1]); - table->space = primes[i-1]; - table->Slots = (struct Slot **)(table+1); - for (i = 0; i < table->space; i++) { - table->Slots[i] = NULL; - } - - table->hf = hf ? hf : hashfunc; - table->size = 0; - *newT = table; - return 0; -} - -/** - * Get the corresponding value for a given key. - * - * If return NULL, then the entry with key is not in the table, - * otherwise return a pointer to the value. - * - * @param table A parms_Table object. - * @param key The key value. - * - * @return A pointer to the value. - */ -void *parms_TableGet(parms_Table table, int key) -{ - int index; - struct Slot *p; - - index = table->hf(key) % table->space; - for (p = table->Slots[index]; p; p = p->link) { - if (p->key == key) { - break; - } - } - return p ? &p->value : NULL; -} - -/** - * Put the pair (key, value) into the table. - * - * @param table A parms_Table object. - * @param key The key of the pair. - * @param val The value of the pair. - * - * @return 0 on success. - */ -int parms_TablePut(parms_Table self, int key, int value) -{ - int index; - struct Slot *p; - - index = self->hf(key) % self->space; - for (p = self->Slots[index]; p; p = p->link) { - if (p->key == key) { - break; - } - } - if (p == NULL) { /* new entry */ - PARMS_NEW(p); - p->key = key; - p->value = value; - p->link = self->Slots[index]; - self->Slots[index] = p; - self->size++; - } - else { - p->key = key; - p->value = value; - } - return 0; -} - -/** - * Remove the slot corresponding to the key from the table. - * NOTE: This assumes that the key/value pairs are stored in - * a way that needs to be preserved after the removal. For instance, - * the pARMS matrix object stores the keys as global indices, and - * values as local indices. Thus each of these are unique, and the - * local indices are increasing with respect to the size of the table - * or count of entries in the table. Thus removing an entry requires - * that this relation is preserved. So this removes the slot by first - * swapping values with the last entered entry in the table, before - * actually removing the slot. - * - * @param table A parms_Table object. - * @param key The key of the pair to be removed. - * - * @return 0 on success. - */ -int parms_TableRemoveFromLast(parms_Table self, int key) -{ - int index, i, size; - struct Slot *p, *p1, *p2, *p3, *plast; - - int rank; - MPI_Comm_rank(MPI_COMM_WORLD,&rank); - - index = self->hf(key) % self->space; - /* p1 points to the physical entry just before slot p */ - p1 = self->Slots[index]; - for (p = self->Slots[index]; p; p = p->link) { - if (p->key == key) { - break; - } - p1 = p; - } - if(p != NULL) - { - /* Search for last entered entry to swap values with p*/ - /* This entry is most likely at the leftmost entry */ - size = self->size; - plast = p;/*initialization*/ - for (i = 0; i < self->space; i++) { - plast = self->Slots[i]; - if(plast && plast->value == size-1) break; - } - /* Now swap values of p and plast to maintain table - * consistency - */ - - parms_TableSwap(self,p->key,plast->key); - - /* Now break links by letting p1 link to the next physical entry after p */ - p2 = p->link; - if(p1 == p)/* p is starting slot */ - self->Slots[index] = p2; - else - p1->link = p2; - /* Now free p to actually remove entry */ - PARMS_FREE(p); - - /* now decrement table size */ - self->size--; - - /* Now update last entered entry of table row - * containing plast, by swapping with other table - * row entries, till appropriate position is reached. - * This ensures that entries to the left of a table row are - * always of larger value (or are the latest entered entries) - * of the table row. - */ - p3 = plast->link; - for(p3 = plast; p3->link; p3 = p3->link) - { - if((p3->link)->value <= p3->value) break; - /*swap*/ - parms_TableSwap(self,p3->key,(p3->link)->key); - } - - } - - return 0; -} - -/** - * Swap value of key1 with that of key2. - * - * @param table A parms_Table object. - * @param key1, key2 keys to be swapped. - * - * @return 0 on success. - */ -int parms_TableSwap(parms_Table self, int key1, int key2) -{ - int *value1, *value2, temp1, temp2; - - value1 = parms_TableGet(self,key1); - value2 = parms_TableGet(self,key2); - - if(value1 == NULL || value2 == NULL) - { - if(value1==NULL)printf("Cannot swap with a null entry: parms_TableSwap error...key: %d\n", key1); - if(value2==NULL)printf("Cannot swap with a null entry: parms_TableSwap error...key: %d\n", key2); - MPI_Abort(MPI_COMM_WORLD, 1); - } - else - { - temp1 = *value1; - temp2 = *value2; - parms_TablePut(self, key1, temp2); - parms_TablePut(self, key2, temp1); - } - return 0; -} - -/** - * Free the memory for the table object pointed by self. - * - * @param table A pointer to the parms_Table object. - * - * @return 0 on success. - */ -int parms_TableFree(parms_Table *self) -{ - struct Slot *p1, *p2; - int i; - - for (i = 0; i < (*self)->space; i++) { - for (p1 = (*self)->Slots[i]; p1; p1 = p2) { - p2 = p1->link; - PARMS_FREE(p1); - } - } - PARMS_FREE(*self); - return 0; -} - -/** - * Get the number of entries stored in the table. - * - * @param table A hash table object. - * - * @return The number of entries stored in the table. - */ -int parms_TableGetSize(parms_Table self) -{ - return self->size; -} diff --git a/lib/parms/src/parms_timer.c b/lib/parms/src/parms_timer.c deleted file mode 100755 index c2781873b..000000000 --- a/lib/parms/src/parms_timer.c +++ /dev/null @@ -1,199 +0,0 @@ -/*-------------------------------------------------------------------- - dwalltime : return the ellapsed time in seconds since - the Epoch. - parms_TimerCreate : create a parms_Timer object. - parms_TimerFree : free the memory for the parms_Timer object. - parms_TimerGet : get the elapsed time since the last call - to parms_TimerReset, parms_TimerResetDelay, - or parms_TimerRestart. - parms_TimerPause : pause the timer. - parms_TimerRestart : restart the timer. - parms_TimerReset : reset the timer to 0. - parms_TimerResetDelay : suspend the timer. - parms_TimerView : dump the parms_Timer object. - - A code fragment for using timer functions: - - parms_Timer t; - - // create a timer. - parms_TimerCreate(&t); - parms_TimerReset(t); - ... fragment code 1 - // time spent on the fragment code 1. - parms_TimerGet(t); - parms_TimerPause(t); - ... - ... - parms_TimerRestart(t); - ... framgment code 2 - // total time spent on fragment code1 and code2. - parms_TimerGet(t) - // free the memory for t - parms_TimerFree(&t); - - $Id: parms_timer.c,v 1.1.1.1 2006-11-27 22:28:01 zzli Exp $ - ------------------------------------------------------------------*/ -#include -#include -#include -#include -#include "./include/parms_timer_impl.h" -#include "parms_viewer.h" - -/** - * Return the elapsed time since the Epoch. - * - * @return The wall-clock time in seconds. - */ -static double dwalltime() -{ -#ifdef USE_MPI - int flag; - MPI_Initialized(&flag); - if (flag) { - return MPI_Wtime(); - } - else { - struct timeval tval; - double t; - - gettimeofday(&tval, NULL); - t = (double)(tval.tv_sec + tval.tv_usec / 1.0e6); - return t; - } -#else - if (true) { - struct timeval tval; - double t; - - gettimeofday(&tval, NULL); - t = (double)tval.tv_sec + (double)tval.tv_usec/1.0e6; - return t; - } -#endif -} - -/** - * Reset the timer to 0. - * - * Set the elapsed time to zero and set the initial time of the - * timer. - * - * @param self A parms_Timer object. - * - * @return 0 on success. - */ -int parms_TimerReset(parms_Timer self) -{ - self->elapsed_time = 0.0; - self->initial_time = dwalltime(); - return 0; -} - -/** - * Create a parms_Timer object. - * - * @param self A pointer to the parms_Timer object created. - */ -void parms_TimerCreate(parms_Timer *self) -{ - parms_Timer new_timer; - - PARMS_NEW0((new_timer)); - new_timer->ref = 1; - parms_TimerReset(new_timer); - *self = new_timer; -} - -/** - * Reset the elapsed time of self to delay. - * - * @param self A parms_Timer object. - * @param delay Reset the elapsed time to delay seconds. - * - * @return 0 on success. - */ -int parms_TimerResetDelay(parms_Timer self, double delay) -{ - parms_TimerReset(self); - self->elapsed_time = delay; - return 0; -} - -/** - * Pause the parms_Timer object self. - * - * @param self A parms_Timer object. - * - * @return 0 on success. - */ -int parms_TimerPause(parms_Timer self) -{ - self->elapsed_time = parms_TimerGet(self); - return 0; -} - -/** - * Restart the timer. - * - * @param self A parms_Timer object. - * - * @return 0 on success. - */ -int parms_TimerRestart(parms_Timer self) -{ - self->initial_time = dwalltime(); - return 0; -} - -/** - * Return The wall-clock time since the last call to - * parms_TimerReset, parms_TimerResetDelay, parms_TimerRestart. - * - * @param self A parms_Timer object. - * - * @return The elapsed wall-clock time in seconds. - */ -double parms_TimerGet(parms_Timer self) -{ - double current, time; - - current = dwalltime(); - time = current - self->initial_time; - return (time + self->elapsed_time); -} - -/** - * Free the memory for the parms_Timer object - * - * @param self A pointer to the parms_Timer object - * - * @return 0 on success. - */ -int parms_TimerFree(parms_Timer *self) -{ - - PARMS_FREE(*self); - return 0; -} - -/** - * Dump parms_Timer self via parms_Viewer object v. - * - * @param self A parms_Timer object. - * @param v A parms_Viewer object. - * - * @return 0 on success. - */ -int parms_TimerView(parms_Timer self, parms_Viewer v) -{ - FILE *fp; - - parms_ViewerGetFP(v, &fp); - fprintf(fp, "init_time = %f elapsed =%f\n", self->initial_time, - self->elapsed_time); - - return 0; -} - diff --git a/lib/parms/src/parms_vec.c b/lib/parms/src/parms_vec.c deleted file mode 100755 index 5616eb2ae..000000000 --- a/lib/parms/src/parms_vec.c +++ /dev/null @@ -1,805 +0,0 @@ -/*-------------------------------------------------------------------- - parms_VecAXPY : y = y + alpha x - parms_VecAYPX : y = scalar y + x - parms_VecDOT : inner product of two vectors. - parms_VecDotArray : inner products for the vector to an array - of vector object. - - parms_VecGetNorm2 : get the 2-norm of a vector. - parms_VecPerm : permute a vector object. - - parms_VecScale : scale the components of a vector. - A code fragment for using vector functions: - - parms_Vec vec; - parms_Map map; - - // assume PE0 contains global variables (0, 2, 4, 6, 8), PE1 - // contains global variables (1, 3, 5, 7, 9). Both PE0 and PE1 call - // the following parms_VecSetValues function. Each PE will pick and - // insert variables which belong to the local PE according to the - // partionting information stored in map. - - // all vector computation functions can be called - parms_VecGetNorm2(vec, &value, map); - parms_VecDot(vec, vec, &value, map); - ... - - $Id: parms_vec.c,v 1.3 2007-05-10 14:11:21 zzli Exp $ - ------------------------------------------------------------------*/ -#include "parms_sys.h" -#include "parms_viewer.h" -#include "parms_vec.h" -#include "parms_map_impl.h" -#if defined(__ICC) -#include -#else -#if defined(C99) -#include -#else -#include -#endif -#endif - -typedef struct ext_vec_data { - /*! \var im The external variables in global indexing - */ - int *im; - /*! \var values The external variable contribution. - */ - FLOAT *values; - /*! \var n Number if external variable contribution. - */ - int n; - /*! \var space Size of work space. - */ - int space; -} *ext_vec_data; - - -/** - * Scale a vector. - * - * All components of parms_Vec object self times scalar. - * \f$self = scalar \times self\f$. - * - * @param self A vector object. - * @param scalar A scalar. - * - * @return 0 on success. - */ -int parms_VecScale(FLOAT *self, FLOAT scalar, parms_Map map) -{ - int lsize, i; - - lsize = parms_MapGetLocalSize(map); - for (i = 0; i < lsize; i++) - { - self[i] *= scalar; - } - - return 0; -} - - -/** - * Perform \f$self := scalar \times x + self\f$. - * - * @param self A vector object. - * @param x Another vector object. - * @param scalar A scalar. - * - * @return 0 on success. - */ -int parms_VecAXPY(FLOAT *self, FLOAT *x, FLOAT scalar, parms_Map map) -{ - int i, lsize; - - lsize = parms_MapGetLocalSize(map); - - - for (i = 0; i < lsize; i++) - { - self[i] += scalar * x[i]; - } - - - return 0; -} - -/** - * Perform \f$self = scalar \times self + x\f$. - * - * @param self A vector object. - * @param x Another vector object. - * @param scalar A scalar. - * - * @return 0 on success. - */ -int parms_VecAYPX(FLOAT *self, FLOAT *x, FLOAT scalar, parms_Map map) -{ - int lsize, i; - lsize = parms_MapGetLocalSize(map); - - for (i = 0; i < lsize; i++) { - self[i] = scalar * self[i] + x[i]; - } - - return 0; -} - - -/* Dot product on local PE -*/ -static int vec_LDot(FLOAT *self, FLOAT *x, FLOAT *value, parms_Map map) -{ - int lsize, i; - - lsize = parms_MapGetLocalSize(map); - -#if defined(DBL_CMPLX) - FLOAT dot = 0.0 + 0.0*I; - for (i = 0; i < lsize; i++) - dot += self[i] * x[i]; -#else - FLOAT dot = 0.0; - for (i = 0; i < lsize; i++) { - dot += self[i] * x[i]; - } -#endif - - *value = dot; - - - return 0; -} - -/* Dot product on local PE - uses complex conjugate -*/ -static int vec_LDotc(FLOAT *self, FLOAT *x, FLOAT *value, parms_Map map) -{ - int lsize, i; - - lsize = parms_MapGetLocalSize(map); - -#if defined(DBL_CMPLX) - FLOAT dot = 0.0 + 0.0*I; - for (i = 0; i < lsize; i++) - dot += self[i] * conj(x[i]); -#else - FLOAT dot = 0.0; - for (i = 0; i < lsize; i++) { - dot += self[i] * x[i]; - } -#endif - - *value = dot; - - return 0; -} - -/** - * Perform the (global) inner product of two vectors. - * - * value = self x^{T}. If self - * - * - * @param self A vector object. - * @param x Another vector object. - * @param value The inner product returned. - * - * @return 0 on success. - */ -int parms_VecDOT(FLOAT *self, FLOAT *x, FLOAT *value, parms_Map is) -{ - MPI_Comm comm; - - comm = is->comm; - - if (is->isserial) { - vec_LDot(self, x, value, is); - } - else { - FLOAT ldot; - vec_LDot(self, x, &ldot, is); - -#if defined(DBL_CMPLX) - MPI_Allreduce(&ldot, value, 1, MPI_CMPLX, MPI_CMPLX_SUM, comm); -#else - MPI_Allreduce(&ldot, value, 1, MPI_DOUBLE, MPI_SUM, comm); -#endif - } - - return 0; -} - -/** - * Perform the (global) inner product of two vectors. - * - * If self and x are real vectors, value = self x^{T}. If self - * and x are complex vectors, value = self \overline{x}^{T}. - * - * @param self A vector object. - * @param x Another vector object. - * @param value The inner product returned. - * - * @return 0 on success. - */ -int parms_VecDOTC(FLOAT *self, FLOAT *x, REAL *value, parms_Map is) -{ - MPI_Comm comm; - - comm = is->comm; - - if (is->isserial) { -#if defined(DBL_CMPLX) - FLOAT val; - vec_LDotc(self, x, &val, is); - *value = creal(val); -#else - vec_LDot(self, x, value, is); -#endif - } - else { -#if defined(DBL_CMPLX) - FLOAT ldot; - REAL lval; - vec_LDotc(self, x, &ldot, is); - lval = creal(ldot); - - MPI_Allreduce(&lval, value, 1, MPI_DOUBLE, MPI_SUM, comm); -#else - FLOAT ldot; - vec_LDot(self, x, &ldot, is); - MPI_Allreduce(&ldot, value, 1, MPI_DOUBLE, MPI_SUM, comm); -#endif - } - - return 0; -} - -/** - * Return the 2-norm of the vector. - * - * @param self A vector object. - * @param value The 2-norm returned. - * - * @return 0 on success. - */ -int parms_VecGetNorm2(FLOAT *self, REAL *value, parms_Map is) -{ - - if (is->isserial) { - - FLOAT dot; - vec_LDotc(self, self, &dot, is); - *value = ABS_VALUE(dot); - *value = sqrt(*value); - - } - else { - REAL dot; -#if defined(DBL_CMPLX) - parms_VecDOTC(self, self, &dot, is); -#else - parms_VecDOT(self, self, &dot, is); -#endif - *value = fabs(dot); - *value = sqrt(*value); - } - return 0; -} - -/** - * Perform the inner product between self and an array of vectors. - * - * The pseudo code: - * - * \f{verbatim} - * for (i = 0; i < n; i++) { - * result[i] = self * vecarray[i]; - * } - * \f} - * - * @param self A vector object. - * @param n The size of vecarray. - * @param vecarray An array of vector objects. - * @param aux An auxiliary array. - * @param result An array of size n to store inner products. - * - * @return 0 on success. - */ -int parms_VecDotArray(FLOAT *self, int n, FLOAT - **vecarray, FLOAT *result, parms_Map is) -{ - int i; - FLOAT *aux; - MPI_Comm comm; - - comm = is->comm; - if (is->isserial) { - for (i = 0; i < n; i++) - vec_LDotc(self, vecarray[i], &result[i], is); - } - else { - PARMS_NEWARRAY(aux, n); - for (i = 0; i < n; i++) - vec_LDotc(self, vecarray[i], &aux[i], is); -#if defined(DBL_CMPLX) - MPI_Allreduce(aux, result, n, MPI_CMPLX, MPI_CMPLX_SUM, comm); -#else - MPI_Allreduce(aux, result, n, MPI_DOUBLE, MPI_SUM, comm); -#endif - PARMS_FREE(aux); - } - return 0; -} - -int parms_VecPerm(FLOAT *self, parms_Map map) -{ - int *perm; - int size, i, k, rank; - FLOAT *newvec; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - size = parms_MapGetLocalSize(map); - if (map->isperm && (map->isvecperm == false)) { - perm = map->perm; - PARMS_NEWARRAY(newvec, size); - for (i = 0; i < size; i++) { - k = perm[i]; - newvec[k] = self[i]; - } - memcpy(self, newvec, size*sizeof(FLOAT)); - - PARMS_FREE(newvec); - } - return 0; -} - -int parms_VecPermAux(FLOAT *self, FLOAT *aux, parms_Map map) -{ - int *perm; - int size, i, k, rank; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - size = parms_MapGetLocalSize(map); - if (map->isperm) { - perm = map->perm; - for (i = 0; i < size; i++) { - k = perm[i]; - aux[k] = self[i]; - } - } - else - { - for (i = 0; i < size; i++) { - aux[i] = self[i]; - } - } - return 0; -} - -int parms_VecInvPerm(FLOAT *self, parms_Map map) -{ - int *perm; - int size, i, k, rank; - FLOAT *newvec; - - size = parms_MapGetLocalSize(map); - if (map->isperm && (map->isvecperm == false)) { - perm = map->iperm; - PARMS_NEWARRAY(newvec, size); - for (i = 0; i < size; i++) { - k = perm[i]; - newvec[k] = self[i]; - } - memcpy(self, newvec, size*sizeof(FLOAT)); - - PARMS_FREE(newvec); - } - return 0; -} - -int parms_VecInvPermAux(FLOAT *self, FLOAT *aux, parms_Map map) -{ - int *perm; - int size, i, k, rank; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - size = parms_MapGetLocalSize(map); - if (map->isperm) { - perm = map->iperm; - for (i = 0; i < size; i++) { - k = perm[i]; - aux[k] = self[i]; - } - } - else - { - for (i = 0; i < size; i++) { - aux[i] = self[i]; - } - } - return 0; -} - -/** - * Insert values to parms_Vec object self. - * - * A pseudo code from the global point of view: - * - * \f{verbatim} - * for (i = 0; i < m; i++) { - * self[im[i]] = values[i]; - * } - * \f} - * - * @param self A vector object. - * @param m The number of variables to be inserted. - * @param im An array of global variable indices. - * @param value An array of values to be inserted to self.s - * @param mode The style of set values: - * -ADD add values to parms_Vec object self. - * -INSERT assign values to parms_Vec object self. - * - * @return 0 on success. - */ -int parms_VecSetValues(FLOAT *self, int m, int *im, FLOAT - *values, INSERTMODE mode, parms_Map map) -{ - int lsize, rindex, index, lrindex, *rp, i; - int offset = map->start; - - lsize = parms_MapGetLocalSize(map); - - if (!map->isserial) { - if (map->isvecperm) { - for (i = 0; i < m; i++) { - rindex = im[i] - offset; - rp = parms_MapGlobalToLocal(map, rindex); - if ((rp != NULL) && ((index = *rp) < lsize)) { - lrindex = map->perm[index]; - if (mode == ADD) { - self[lrindex] += values[i]; - } - else if (mode == INSERT) { - self[lrindex] = values[i]; - } - } - } - } - else { - for (i = 0; i < m; i++) { - rindex = im[i] - offset; - rp = parms_MapGlobalToLocal(map, rindex); - if ((rp != NULL) && ((lrindex = *rp) < lsize)) { - if (mode == ADD) { - self[lrindex] += values[i]; - } - else if(mode == INSERT) { - self[lrindex] = values[i]; - } - } - } - } - } - else { - for (i = 0; i < m; i++) { - rindex = im[i] - offset; - if (map->isvecperm) { - rindex = map->perm[rindex]; - } - if (mode == ADD) { - self[rindex] += values[i]; - } - else if(mode == INSERT) { - self[rindex] = values[i]; - } - } - } - return 0; -} - -/** - * Insert values to parms_Vec object self. This assumes the vector - * values are being set element-by-element. A call to parms_VecAssembleElementVector - * is required to complete the vector once all entries have been added. - * - * A pseudo code from the global point of view: - * - * \f{verbatim} - * for (i = 0; i < m; i++) { - * self[im[i]] = values[i]; - * } - * \f} - * - * @param self A vector object. - * @param m The number of variables to be inserted. - * @param im An array of global variable indices. - * @param value An array of values to be inserted to self.s - * @param mode The style of set values: - * -ADD add values to parms_Vec object self. - * -INSERT assign values to parms_Vec object self. - * - * @return 0 on success. - */ -int parms_VecSetElementVector(FLOAT *self, int m, int *im, FLOAT - *values, INSERTMODE mode, parms_Map map) -{ - int lsize, rindex, index, lrindex, *rp, i,pos,k; - int offset = map->start, space; - ext_vec_data vdata; - - lsize = parms_MapGetLocalSize(map); - - if(map->isserial) { -/* call vecsetvalues for serial version */ - return parms_VecSetValues(self, m, im, values, mode, map); - } - -/* Parallel call */ - if(map->isdatalloc) - { - vdata = (ext_vec_data)map->data; - } - else - { - /* Allocate some memory for vdata */ - map->isdatalloc = true; - PARMS_NEW(vdata); - vdata->space = lsize; - PARMS_NEWARRAY(vdata->im, vdata->space); - PARMS_NEWARRAY0(vdata->values, vdata->space); - vdata->n = 0; - map->data = vdata; - } - - if (map->isvecperm) { - for (i = 0; i < m; i++) { - rindex = im[i] - offset; - rp = parms_MapGlobalToLocal(map, rindex); - if ((rp != NULL) && ((index = *rp) < lsize)) { - lrindex = map->perm[index]; - if (mode == ADD) { - self[lrindex] += values[i]; - } - else if (mode == INSERT) { - self[lrindex] = values[i]; - } - } - else{ - /* external contribution - first check if there is enough memory*/ - space = vdata->space; - if(vdata->n == space){ - /* reallocate memory for holding new entry */ - space += 10; - PARMS_RESIZE(vdata->im, space); - PARMS_RESIZE(vdata->values, space); - vdata->space = space; - } - - pos = 0; - for(k = 0; kn; k++) /* check if row has been added already */ - { - if(vdata->im[k] == im[i]) - break; - } - if(k < vdata->n) // already added row - { - pos = k; - vdata->values[pos] += values[i]; - } - else // new row contribution - { - pos = vdata->n; - vdata->im[vdata->n] = im[i]; - vdata->values[vdata->n++] = values[i]; - } - } - } - } - else { - for (i = 0; i < m; i++) { - rindex = im[i] - offset; - rp = parms_MapGlobalToLocal(map, rindex); - if ((rp != NULL) && ((lrindex = *rp) < lsize)) { - if (mode == ADD) { - self[lrindex] += values[i]; - } - else if(mode == INSERT) { - self[lrindex] = values[i]; - } - } - else{ - /* external contribution - first check if there is enough memory*/ - space = vdata->space; - if(vdata->n == space){ - /* reallocate memory for holding new entry */ - space += 10; - PARMS_RESIZE(vdata->im, space); - PARMS_RESIZE(vdata->values, space); - vdata->space = space; - } - - pos = 0; - for(k = 0; kn; k++) /* check if row has been added already */ - { - if(vdata->im[k] == im[i]) - break; - } - if(k < vdata->n) // already added row - { - pos = k; - vdata->values[pos] += values[i]; - } - else // new row contribution - { - pos = vdata->n; - vdata->im[pos] = im[i]; - vdata->values[pos] = values[i]; - vdata->n++; - } - } - } - } - - return 0; -} - -/** - * Completes setting up values for the distributed vector - * - * @param self A vector object. - * @param map A pARMS map object - * - * @return 0 on success. - */ -int parms_VecAssembleElementVector(FLOAT *self, parms_Map map) -{ - FLOAT *gvec; - int i, k, gnodv,lsize, mypid, npro, lrindex, index; - int *info, *disp, *pos, *gextvars; - MPI_Comm comm; - ext_vec_data vdata; - - lsize = map->lsize; - mypid = map->pid; - npro = map->npro; - comm = map->comm; - - if(map->isdatalloc){ - vdata = (ext_vec_data)map->data; -/* Allocate some memory */ - PARMS_NEWARRAY(info, npro); - PARMS_NEWARRAY(disp, npro+1); - -/* collect contributions from other processors */ - MPI_Allgather(&vdata->n, 1, MPI_INT, info, 1, MPI_INT, comm); - disp[0] = 0; - for (i = 0; i < npro; i++) { - disp[i+1] = disp[i] + info[i]; - } - - gnodv = disp[npro]; - PARMS_NEWARRAY(gextvars, gnodv); - PARMS_NEWARRAY0(gvec, gnodv); - - MPI_Allgatherv(vdata->im, vdata->n, MPI_INT, gextvars, - info, disp, MPI_INT, comm); -#if defined(DBL_CMPLX) - MPI_Allgatherv(vdata->values, vdata->n, MPI_CMPLX, gvec, - info, disp, MPI_CMPLX, comm); -#else - MPI_Allgatherv(vdata->values, vdata->n, MPI_DOUBLE, gvec, - info, disp, MPI_DOUBLE, comm); -#endif - for(i=0; istart; - pos = parms_MapGlobalToLocal(map,index); - if ((pos != NULL) && ((lrindex = *pos) < lsize)) { - self[lrindex] += gvec[k]; - } - } - } - } -/* Free memory */ - PARMS_FREE(info); - PARMS_FREE(disp); - PARMS_FREE(gvec); - PARMS_FREE(gextvars); - PARMS_FREE(vdata->im); - PARMS_FREE(vdata->values); - PARMS_FREE(vdata); - map->isdatalloc = false; - } - - return 0; -} - -/** - * Gather distributed vector to a global array. - * - * @param self The distributed vector. - * @param ga A global vector. - * - * @return 0 on success. - */ -int parms_VecGather(FLOAT *self, FLOAT *ga, parms_Map map) -{ - BOOL isserial; - int i, j, incx, lsize, index, npro, pid; - int *num_recv, *ind_array, *ind_snd, maxnum; - FLOAT *wk; - - isserial = map->isserial; - pid = map->pid; - npro = map->npro; - - lsize = parms_MapGetLocalSize(map); - if (isserial) { - for (i = 0; i < lsize; i++) ga[i] = self[i]; - } - else { - PARMS_NEWARRAY0(num_recv, npro); - PARMS_NEWARRAY(ind_snd, lsize); - MPI_Allgather(&lsize, 1, MPI_INT, num_recv, 1, MPI_INT, map->comm); - maxnum = 0; - for (i = 0; i < npro; i++) { - if (maxnum < num_recv[i]) { - maxnum = num_recv[i]; - } - } - PARMS_NEWARRAY(wk, maxnum); - PARMS_NEWARRAY(ind_array, maxnum); - - for (i = 0; i < lsize; i++) { - index = map->lvars[i]; - ga[index] = self[i]; - ind_snd[i] = map->lvars[i]; - } - -#if defined(DBL_CMPLX) - for (i = 0; i < npro; i++) { - if (pid == i) { - MPI_Bcast(ind_snd, lsize, MPI_INT, i, map->comm); - MPI_Bcast(self, lsize, MPI_CMPLX, i, map->comm); - } - else { - MPI_Bcast(ind_array, num_recv[i], MPI_INT, i, map->comm); - MPI_Bcast(wk, num_recv[i], MPI_CMPLX, i, map->comm); - for (j = 0; j < num_recv[i]; j++) { - index = ind_array[j]; - ga[index] = wk[j]; - } - } - } -#else - for (i = 0; i < npro; i++) { - if (pid == i) { - MPI_Bcast(ind_snd, lsize, MPI_INT, i, map->comm); - MPI_Bcast(self, lsize, MPI_DOUBLE, i, map->comm); - } - else { - MPI_Bcast(ind_array, num_recv[i], MPI_INT, i, map->comm); - MPI_Bcast(wk, num_recv[i], MPI_DOUBLE, i, map->comm); - for (j = 0; j < num_recv[i]; j++) { - index = ind_array[j]; - ga[index] = wk[j]; - } - } - } -#endif - PARMS_FREE(ind_snd); - PARMS_FREE(ind_array); - PARMS_FREE(wk); - } - - return 0; -} - diff --git a/lib/parms/src/parms_viewer.c b/lib/parms/src/parms_viewer.c deleted file mode 100755 index 4cb62e0c3..000000000 --- a/lib/parms/src/parms_viewer.c +++ /dev/null @@ -1,148 +0,0 @@ -/*-------------------------------------------------------------------- - parms_ViewerCreate : create a parms_Viewer object. - parms_ViewerFree : free the memory for a parms_Viewer object. - parms_ViewerGetFP : retrieve the file pointer. - parms_ViewerGetFname : get the file name. - parms_ViewerStoreFP : restore the file pointer. - - A code fragment for using viewer functions: - - parms_Viewer v; - parms_Map map; - - // create a parms_Map object. - parms_MapCreateFromGlobal(&map, ...); - // create a parms_Viewer object. - parms_ViewerCreate(&v, "foo"); - // dump map to a file via v. i.e. foo0.dat on PE0, f001.dat on PE1 - parms_MapView(map, v); - ... - // free the memory for the parms_Viewer object v. - pams_ViewerFree(&v); - - $Id: parms_viewer.c,v 1.1.1.1 2006-11-27 22:28:01 zzli Exp $ - ------------------------------------------------------------------*/ -#include "./include/parms_viewer_impl.h" - -/** - * Create a parms_Viewer object. - * - * If PARMS_COUT and PARMS_CERR are input as fname, they stand for - * standard output and standard error, respectively. Otherwise, each - * PE create a file "fnameID.dat". ID stands for ID of PE. - * - * @param self A pointer to the parms_Viewer object. - * @param fname A file name to store data. - * - * @return 0 on success. - */ -int parms_ViewerCreate(parms_Viewer *self, char *filename) -{ - parms_Viewer new_viewer; - int pid, length; - - PARMS_NEW0((new_viewer)); - new_viewer->ref = 1; - - length = strlen(filename) + 6; - MPI_Comm_rank(MPI_COMM_WORLD, &pid); - length += pid / 10 + 1; - PARMS_NEWARRAY(new_viewer->fname, length); - new_viewer->isstd = false; - if (!strcmp(filename, PARMS_COUT)) { - new_viewer->isstd = true; - new_viewer->fp = stdout; - } - else if (!strcmp(filename, PARMS_CERR)) { - new_viewer->isstd = true; - new_viewer->fp = stderr; - } - else { - strcpy(new_viewer->fname, filename); - sprintf(new_viewer->fname, "%s_%d.dat", new_viewer->fname, pid); - } - - *self = new_viewer; - if (filename == NULL) { - return -1; - } - else { - return 0; - } -} - -/** - * Free the memory of the parms_Viewer object. - * - * @param self A pointer to the parms_Viewer object. - * - * @return 0 on success. - */ -int parms_ViewerFree(parms_Viewer *self) -{ - assert(self && *self); - (*self)->ref--; - if ((*self)->ref == 0 ) { - if ((*self)->fname != NULL) { - if (strcmp((*self)->fname, PARMS_COUT) && strcmp((*self)->fname, - PARMS_CERR)) { - PARMS_FREE((*self)->fname); - } - } - PARMS_FREE(*self); - } - return 0; -} - -/** - * Get a pointer to file pointer. - * - * @param self A parms_Viewer object. - * @param fp A pointer to the file pointer. - * - * @return 0 on success. - */ -int parms_ViewerGetFP(parms_Viewer self, FILE **fp) -{ - if (!self->isstd) { - self->fp = fopen(self->fname, "a+"); - if (self->fp == NULL) { - fprintf(stderr, "cannot open file %s\n", self->fname); - } - } - - *fp = self->fp; - return 0; -} - -/** - * Store fp to the parms_Viewer object. - * - * @param self A parms_Viewer object. - * @param fp A file pointer. - * - * @return 0 on success. - */ -int parms_ViewerStoreFP(parms_Viewer self, FILE *fp) -{ - if (!self->isstd) { - fclose(fp); - } - return 0; -} - -/** - * Retrieve the file name. - * - * @param self A parms_Viewer object. - * @param fname The file name retrieved. - * - * @return 0 on success. - */ -int parms_ViewerGetFname(parms_Viewer self, char **fname) -{ - *fname = self->fname; - return 0; -} - - diff --git a/lib/parms/src/pbicgstab.c b/lib/parms/src/pbicgstab.c deleted file mode 100755 index 7f181c490..000000000 --- a/lib/parms/src/pbicgstab.c +++ /dev/null @@ -1,326 +0,0 @@ -/*-------------------------------------------------------------------- - pbicgstab_create : create the PBICGS solver. - pbicgstab_free : free the memory for the PBICGS solver. - pbicgstab_view : dump the PBICGS solver. - parms_pbicgstab : the PBICGS solve function. - - Pipelined BiCGstab, overlapping global sums with computation. See: - Siegfried Cools, Wim Vanroose - The communication-hiding pipelined BiCGStab method for the parallel solution of large unsymmetric linear systems - Parallel Computing 65, pp. 1-20, July 2017 - ------------------------------------------------------------------*/ - -#if defined(__ICC) -#include -#else -#if defined(C99) -#include -#else -#include -#endif -#endif -#include "parms_vec.h" -#include "parms_mat.h" -#include "parms_pc.h" -#include "./include/parms_solver_impl.h" - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -typedef struct pbicgs_data { - int neigs; -} *pbicgstab_data; - -#define TINY 1.0e-20 -int parms_pbicgstab(parms_Solver self, double *rhs, double *xin) -{ - - int i, its; - int maxits, nloc, size, one = 1; - double tmp[5]; - double *b, *r0, *r, *rt, *w, *wt, *t, *pt, *s, *st, *z, *zt; - double *q, *qt, *v, *x, *y; - double tol, alpha, beta, omega, myres, rho, rho_alt; - MPI_Request req, req1, req2; - - parms_Mat A; - parms_PC pc; - parms_Map is; - parms_Viewer viewer; - - int rank; - MPI_Comm comm; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - - A = self->A; - pc = self->pc; - is = A->is; - - maxits = self->maxits; - tol = self->tol*self->tol; - nloc = parms_MapGetLocalSize(is); - comm = is->comm; - -/*----- allocate memory for working local arrays -------*/ -/*----- initialize to zero if not initialized before the iteration starts ---*/ - size = nloc; - - PARMS_NEWARRAY(b, size); - PARMS_NEWARRAY(r0, size); - PARMS_NEWARRAY(r, size); for (i=0; iisperm) { - for (i = 0; i < nloc; i++) { - x[is->perm[i]] = xin[i]; - b[is->perm[i]] = rhs[i]; - } - is->isvecperm = true; - } - - - /* compute residual vector r0 = b - Ax */ - /* b = y (permuted), t=Ax temporary vector */ - parms_MatVec(A, x, t); - for (i=0; iisserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 2, MPI_DOUBLE, MPI_SUM, comm, &req); - - parms_PCApply(pc, w, wt); // wt = M w - parms_MatVec(A, wt, t); // t = Awt - - omega = 0.; - beta = 0.; - - if(is->isserial == false) MPI_Wait(&req, MPI_STATUS_IGNORE); - - rho_alt = tmp[0]; - alpha = tmp[0] / tmp[1]; // alpha = (r0,r0) / (r0,w) - - - for (its = 0; its < maxits; its++){ - - for (i=0; iisserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 2, MPI_DOUBLE, MPI_SUM, comm, &req1); - - parms_PCApply(pc, z, zt); - parms_MatVec(A, zt, v); - - if(is->isserial == false) MPI_Wait(&req1, MPI_STATUS_IGNORE); - - omega = tmp[0]/tmp[1]; - - for (i=0; iisserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 5, MPI_DOUBLE, MPI_SUM, comm, &req2); - - parms_PCApply(pc, w, wt); - parms_MatVec(A, wt, t); - - if(is->isserial == false) MPI_Wait(&req2, MPI_STATUS_IGNORE); - - // Convergence check: - if ( tmp[4] < tol) break; - - rho = tmp[0]; - beta = alpha*rho / (omega*rho_alt); - rho_alt = rho; - alpha = rho / (tmp[1] + beta*(tmp[2] - omega*tmp[3])); - - //pbicgstab_getresidualnorm2(self, b, x, &myres); - - //if(rank == 0) printf("nparms check at %d, myres=%e, (r,r)=%e\n",its,myres, tmp[4]); - - //if (myres < tol) break; - } - - - its++; - if(rank == 0){ - if(its == maxits) { - printf("ERROR: no convergence\n"); - } else { - printf("Parms iterations, residuum %d, %e\n",its,sqrt(tmp[4])); - } - } - /* reset isvecperm and do inverse permutation*/ - if (is->isperm) { - for (i = 0; i < nloc; i++) { - xin[is->iperm[i]] = x[i]; - } - is->isvecperm = false; - } - - - free(b); - free(r0); - free(r); - free(rt); - free(w); - free(wt); - free(t); - free(pt); - free(s); - free(st); - free(z); - free(zt); - free(q); - free(qt); - free(y); - free(v); - free(x); - - self->its = its; - return 0; -} - -static int pbicgstab_getresidual(parms_Solver self, double *y, double *x, double *res) -{ - - parms_Mat A; - - A = self->A; - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - return 0; -} - -static int pbicgstab_getresidualnorm2(parms_Solver self, double *y, double *x, double *rnorm) -{ - - int nloc; - double *res; - parms_Mat A; - parms_Map is; - - A = self->A; - is = A->is; - nloc = parms_MapGetLocalSize(is); - PARMS_NEWARRAY(res, nloc); - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - parms_VecGetNorm2(res, rnorm, is); - - PARMS_FREE(res); - - return 0; -} - - -static int pbicgstab_free(parms_Solver *self) -{ - /*dummy*/ - return 0; -} - -static int pbicgstab_view(parms_Solver self, parms_Viewer v) -{ - FILE *fp; - char *name, *iluname; - int dim; - parms_ViewerGetFP(v, &fp); - - fprintf(fp,"\n=============================\n"); - fprintf(fp," Solver Parameters \n"); - fprintf(fp,"=============================\n"); - - fprintf(fp, "Solver type = Pipelined BiConjugate Gradient Stabilized Method (PBICGS) \n"); - - fprintf(fp, "maxits = %d \n", self->maxits); - fprintf(fp, "Relative tolerance = %-8.2e \n", self->tol); - - parms_PCGetName(self->pc, &name); - parms_PCILUGetName(self->pc, &iluname); - fprintf(fp, "Global Preconditioner: %s\n", name); - fprintf(fp, "Local Preconditioner: %s\n", iluname); - - parms_ViewerGetFP(v, &fp); - - return 0; -} - -static int pbicgstab_setksize(parms_Solver self, int restart) -{ - /*dummy*/ - return 0; -} - -static int pbicgstab_setneig(parms_Solver self, int neigs) -{ - /*dummy*/ - return 0; -} - -static struct parms_Solver_ops parms_pbicgstab_sol = { - parms_pbicgstab, - pbicgstab_getresidual, - pbicgstab_getresidualnorm2, - pbicgstab_setksize, - pbicgstab_setneig, - pbicgstab_free, - pbicgstab_view -}; - - -/** Create the PBICGS solver. - * - * \param self A parms_Solver object. - * \return 0 on success. - */ -int pbicgstab_create(parms_Solver self) -{ - PARMS_MEMCPY(self->ops, &parms_pbicgstab_sol, 1); - return 0; -} diff --git a/lib/parms/src/pbicgstab_ras.c b/lib/parms/src/pbicgstab_ras.c deleted file mode 100644 index b1044add6..000000000 --- a/lib/parms/src/pbicgstab_ras.c +++ /dev/null @@ -1,381 +0,0 @@ -/*-------------------------------------------------------------------- - pbicgstabras_create : create the PBICGS_RAS solver. - pbicgstabras_free : free the memory for the PBICGS_RAS solver. - pbicgstabras_view : dump the PBICGS_RAS solver. - parms_pbicgstabras : the PBICGS_RAS solve function. - - Pipelined BiCGstab, overlapping global sums with computation. See: - Siegfried Cools, Wim Vanroose - The communication-hiding pipelined BiCGStab method for the parallel solution of large unsymmetric linear systems - Parallel Computing 65, pp. 1-20, July 2017 - ------------------------------------------------------------------*/ - -#if defined(__ICC) -#include -#else -#if defined(C99) -#include -#else -#include -#endif -#endif -#include "parms_vec.h" -#include "parms_mat.h" -#include "parms_pc.h" -#include "./include/parms_solver_impl.h" - -#include "./include/parms_comm_impl.h" -#include "./include/parms_pc_impl.h" -#include "./include/parms_opt_impl.h" - -typedef struct ras_data { - parms_Operator op; - parms_Comm handler; - parms_Map is; - BOOL issetup; - FLOAT *rbuf; - int nloc; - int n; - int nodv; - int nsend; -} *ras_data; - - -#define DBL_EPSILON 2.2204460492503131e-16 // double epsilon - -typedef struct pbicgs_data { - int neigs; -} *pbicgstabras_data; - -#define TINY 1.0e-20 -int parms_pbicgstabras(parms_Solver self, double *rhs, double *xin) -{ - - int i, its; - int maxits, nloc, n_ext, one = 1; - double tmp[5]; - double *b, *r0, *r, *rt, *t, *pt, *s, *st; - double *q, *qt, *v, *x, *y; - double *z_ext, *zt_ext, *w_ext, *wt_ext; - double tol, alpha, beta, omega, myres, rho, rho_alt; - MPI_Request req, req1, req2; - int nodv, nsend; - - parms_Mat A; - parms_PC pc; - parms_Map is; - parms_Viewer viewer; - parms_Comm pc_handler; - ras_data pc_data; - - int rank; - MPI_Comm comm; - - MPI_Comm_rank(MPI_COMM_WORLD, &rank); - - A = self->A; - pc = self->pc; - is = A->is; - - maxits = self->maxits; - tol = self->tol*self->tol; - nloc = parms_MapGetLocalSize(is); - comm = is->comm; - - // For inlined RAS preconditioner - pc_data = (ras_data)pc->data; - n_ext = pc_data->n; // local size with halo for Schwarz - pc_handler = pc_data->handler; - nsend = pc_data->nsend; - nodv = pc_data->nodv; - -/*----- allocate memory for working local arrays -------*/ -/*----- initialize to zero if not initialized before the iteration starts ---*/ - - PARMS_NEWARRAY(b, nloc); - PARMS_NEWARRAY(r0, nloc); - PARMS_NEWARRAY(r, nloc); for (i=0; iisperm) { - for (i = 0; i < nloc; i++) { - x[is->perm[i]] = xin[i]; - b[is->perm[i]] = rhs[i]; - } - is->isvecperm = true; - } - - - /* compute residual vector r0 = b - Ax */ - /* b = y (permuted), t=Ax temporary vector */ - parms_MatVec(A, x, t); - for (i=0; iisserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 2, MPI_DOUBLE, MPI_SUM, comm, &req); - - parms_PCApply(pc, w_ext, wt_ext); // wt = M w - parms_MatVec(A, wt_ext, t); // t = Awt - - omega = 0.; - beta = 0.; - - if(is->isserial == false) MPI_Wait(&req, MPI_STATUS_IGNORE); - - rho_alt = tmp[0]; - alpha = tmp[0] / tmp[1]; // alpha = (r0,r0) / (r0,w) - - - for (its = 0; its < maxits; its++){ - - for (i=0; in - pc_data->nloc) - PARMS_MEMCPY(&z_ext[nloc], pc_data->rbuf, pc_data->n - pc_data->nloc); - - tmp[0] = 0.; tmp[1] = 0.; - for (i=0; iisserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 2, MPI_DOUBLE, MPI_SUM, comm, &req1); - - /* === Preconditioner RAS parms_PCApply(pc, z, zt); === */ - - /* solve the extended linear system */ - parms_OperatorApply(pc_data->op, z_ext, zt_ext); - - /* No halo exchange of the solution, that's the "Restricted" in RAS */ - /* === End Preconditioner === */ - - parms_MatVec(A, zt_ext, v); - - if(is->isserial == false) MPI_Wait(&req1, MPI_STATUS_IGNORE); - - omega = tmp[0]/tmp[1]; - - for (i=0; in - pc_data->nloc) - PARMS_MEMCPY(&w_ext[nloc], pc_data->rbuf, pc_data->n - pc_data->nloc); - - tmp[0] = 0.; tmp[1] = 0.; tmp[2] = 0.; tmp[3] = 0.; tmp[4] = 0.; - for (i=0; iisserial == false) - MPI_Iallreduce(MPI_IN_PLACE, tmp, 5, MPI_DOUBLE, MPI_SUM, comm, &req2); - - /* === Preconditioner RAS: parms_PCApply(pc, w, wt); === */ - - - parms_OperatorApply(pc_data->op, w_ext, wt_ext); - - /* === End Preconditioner === */ - - parms_MatVec(A, wt_ext, t); - - if(is->isserial == false) MPI_Wait(&req2, MPI_STATUS_IGNORE); - - // Convergence check: - if ( tmp[4] < tol) break; - - rho = tmp[0]; - beta = alpha*rho / (omega*rho_alt); - rho_alt = rho; - alpha = rho / (tmp[1] + beta*(tmp[2] - omega*tmp[3])); - - //pbicgstabras_getresidualnorm2(self, b, x, &myres); - //if(rank == 0) printf("nparms check at %d, myres=%e, (r,r)=%e\n",its,myres, tmp[4]); - - } - - - its++; - if(rank == 0){ - if(its == maxits) { - printf("ERROR: no convergence\n"); - } else { - printf("Parms iterations, residuum %d, %e\n",its,sqrt(tmp[4])); - } - } - /* reset isvecperm and do inverse permutation*/ - if (is->isperm) { - for (i = 0; i < nloc; i++) { - xin[is->iperm[i]] = x[i]; - } - is->isvecperm = false; - } - - - free(b); - free(r0); - free(r); - free(rt); - // free(wt); - free(t); - free(pt); - free(s); - free(st); - // free(zt); - free(q); - free(qt); - free(y); - free(v); - free(x); - free(z_ext); - free(zt_ext); - free(w_ext); - free(wt_ext); - - self->its = its; - return 0; -} - -static int pbicgstabras_getresidual(parms_Solver self, double *y, double *x, double *res) -{ - - parms_Mat A; - - A = self->A; - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - return 0; -} - -static int pbicgstabras_getresidualnorm2(parms_Solver self, double *y, double *x, double *rnorm) -{ - - int nloc; - double *res; - parms_Mat A; - parms_Map is; - - A = self->A; - is = A->is; - nloc = parms_MapGetLocalSize(is); - PARMS_NEWARRAY(res, nloc); - - parms_MatMVPY(A, -1.0, x, 1.0, y, res); - - parms_VecGetNorm2(res, rnorm, is); - - PARMS_FREE(res); - - return 0; -} - - -static int pbicgstabras_free(parms_Solver *self) -{ - /*dummy*/ - return 0; -} - -static int pbicgstabras_view(parms_Solver self, parms_Viewer v) -{ - FILE *fp; - char *name, *iluname; - int dim; - parms_ViewerGetFP(v, &fp); - fprintf(fp,"\n=============================\n"); - fprintf(fp," Solver Parameters \n"); - fprintf(fp,"=============================\n"); - - fprintf(fp, "Solver type = Pipelined BiConjugate Gradient Stabilized Method (PBICGS_RAS) \n"); - fprintf(fp, " with hard coded global preconditioner RAS \n"); - - fprintf(fp, "maxits = %d \n", self->maxits); - fprintf(fp, "Relative tolerance = %-8.2e \n", self->tol); - - parms_PCILUGetName(self->pc, &iluname); - - fprintf(fp, "Local Preconditioner: %s\n", iluname); - - parms_ViewerGetFP(v, &fp); - - return 0; -} - -static int pbicgstabras_setksize(parms_Solver self, int restart) -{ - /*dummy*/ - return 0; -} - -static int pbicgstabras_setneig(parms_Solver self, int neigs) -{ - /*dummy*/ - return 0; -} - -static struct parms_Solver_ops parms_pbicgstabras_sol = { - parms_pbicgstabras, - pbicgstabras_getresidual, - pbicgstabras_getresidualnorm2, - pbicgstabras_setksize, - pbicgstabras_setneig, - pbicgstabras_free, - pbicgstabras_view -}; - - -/** Create the PBICGS_RAS solver. - * - * \param self A parms_Solver object. - * \return 0 on success. - */ -int pbicgstabras_create(parms_Solver self) -{ - PARMS_MEMCPY(self->ops, &parms_pbicgstabras_sol, 1); - return 0; -} diff --git a/mesh_part/CMakeLists.txt b/mesh_part/CMakeLists.txt index 24df289bd..d0c78e881 100644 --- a/mesh_part/CMakeLists.txt +++ b/mesh_part/CMakeLists.txt @@ -12,7 +12,7 @@ add_subdirectory(${src_home}/../lib/metis-5.1.0 ${PROJECT_BINARY_DIR include_directories(${src_home}/../lib/metis-5.1.0/include) add_library(${PROJECT_NAME}_C ${sources_C}) -target_compile_definitions(${PROJECT_NAME}_C PRIVATE PARMS USE_MPI REAL=double DBL HAS_BLAS FORTRAN_UNDERSCORE VOID_POINTER_SIZE_8 SGI LINUX UNDER_ MPI2) +target_compile_definitions(${PROJECT_NAME}_C PRIVATE USE_MPI REAL=double DBL HAS_BLAS FORTRAN_UNDERSCORE VOID_POINTER_SIZE_8 SGI LINUX UNDER_ MPI2) target_link_libraries(${PROJECT_NAME}_C metis) add_executable(${PROJECT_NAME} ${sources_Fortran}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 509e899a4..fbf37a83f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -134,8 +134,6 @@ if(ENABLE_MULTIO) list(APPEND sources_Fortran ${src_home}/ifs_interface/iom.F90) endif() -file(GLOB sources_C ${src_home}/*.c) - # generate a custom file from fesom_version_info.F90 which includes the current git SHA set(FESOM_ORIGINAL_VERSION_FILE ${src_home}/fesom_version_info.F90) set(FESOM_GENERATED_VERSION_FILE ${CMAKE_CURRENT_BINARY_DIR}/fesom_version_info-generated.F90) @@ -152,7 +150,6 @@ add_custom_target(fesom_version_info-generated.F90 ALL # list(REMOVE_ITEM sources_Fortran ${src_home}/cpl_driver.F90) #endif() list(REMOVE_ITEM sources_Fortran ${src_home}/fvom_init.F90 ${src_home}/oce_local.F90 ${src_home}/gen_comm.F90) -list(REMOVE_ITEM sources_C ${src_home}/fort_part.c) list(REMOVE_ITEM sources_Fortran ${src_home}/fesom_main.F90) find_package( NETCDF REQUIRED COMPONENTS C Fortran ) @@ -161,26 +158,17 @@ find_package( MPI REQUIRED COMPONENTS C Fortran ) # depends on the metis library #add_subdirectory(../lib/metis-5.1.0 ${PROJECT_BINARY_DIR}/metis) #include_directories(../lib/metis-5.1.0/include) -# depends on the parms library -add_subdirectory(../lib/parms ${PROJECT_BINARY_DIR}/parms) add_subdirectory(async_threads_cpp) -add_library(${PROJECT_NAME}_C OBJECT ${sources_C}) -target_compile_definitions(${PROJECT_NAME}_C PRIVATE PARMS USE_MPI REAL=double DBL HAS_BLAS FORTRAN_UNDERSCORE VOID_POINTER_SIZE_8 SGI LINUX UNDER_ MPI2) - -target_link_libraries(${PROJECT_NAME}_C PRIVATE parms) #metis -target_link_libraries(${PROJECT_NAME}_C PRIVATE MPI::MPI_C) - # fesom library -add_library(${PROJECT_NAME} ${sources_Fortran} $ $) +add_library(${PROJECT_NAME} ${sources_Fortran} $) add_dependencies(${PROJECT_NAME} fesom_version_info-generated.F90) -target_compile_definitions(${PROJECT_NAME} PRIVATE PARMS -DMETIS_VERSION=5 -DPART_WEIGHTED -DMETISRANDOMSEED=35243) +target_compile_definitions(${PROJECT_NAME} PRIVATE -DMETIS_VERSION=5 -DPART_WEIGHTED -DMETISRANDOMSEED=35243) target_include_directories(${PROJECT_NAME} PUBLIC $) target_include_directories(${PROJECT_NAME} PUBLIC $) -target_link_libraries(${PROJECT_NAME} PRIVATE parms) #metis target_link_libraries(${PROJECT_NAME} PRIVATE MPI::MPI_Fortran) set_target_properties(${PROJECT_NAME} PROPERTIES LINKER_LANGUAGE Fortran) @@ -286,7 +274,6 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${NETCDF_Fortran_INCLUDE_DIRE target_include_directories(${PROJECT_NAME} PRIVATE ${MCT_Fortran_INCLUDE_DIRECTORIES} ${MPEU_Fortran_INCLUDE_DIRECTORIES}) target_include_directories(${PROJECT_NAME} PRIVATE ${SCRIP_Fortran_INCLUDE_DIRECTORIES}) target_include_directories(${PROJECT_NAME} PRIVATE ${YAC_Fortran_INCLUDE_DIRECTORIES} ${YAXT_Fortran_INCLUDE_DIRECTORIES}) -target_link_libraries(${PROJECT_NAME} PRIVATE ${PROJECT_NAME}_C) target_link_libraries(${PROJECT_NAME} PRIVATE ${NETCDF_Fortran_LIBRARIES} ${NETCDF_C_LIBRARIES} ${OASIS_Fortran_LIBRARIES}) target_link_libraries(${PROJECT_NAME} PRIVATE ${MCT_Fortran_LIBRARIES} ${MPEU_Fortran_LIBRARIES} ${SCRIP_Fortran_LIBRARIES}) @@ -316,4 +303,4 @@ target_link_libraries(${PROJECT_NAME}.x PUBLIC ${PROJECT_NAME}) ### Export and installation -fesom_export(TARGETS ${PROJECT_NAME} parms fesom.x) +fesom_export(TARGETS ${PROJECT_NAME} fesom.x) diff --git a/src/MOD_DYN.F90 b/src/MOD_DYN.F90 index 76b62d06e..b77437bbf 100644 --- a/src/MOD_DYN.F90 +++ b/src/MOD_DYN.F90 @@ -17,14 +17,7 @@ MODULE MOD_DYN integer :: fillin = 3 integer :: lutype = 2 real(kind=WP) :: droptol = 1.e-8 -!!! PARMS Solver - real(kind=WP) :: soltol = 1e-10 ! default for PARMS - logical :: use_parms = .TRUE. -!!! -!!! Sergey's Solver -! real(kind=WP) :: soltol = 1e-5 ! default for PARMS -! logical :: use_parms = .FALSE. -!!! + real(kind=WP) :: soltol = 1e-5 real(kind=WP), allocatable :: rr(:), zz(:), pp(:), App(:) contains procedure WRITE_T_SOLVERINFO diff --git a/src/info_module.F90 b/src/info_module.F90 index 57e3eebb7..ad6b86707 100644 --- a/src/info_module.F90 +++ b/src/info_module.F90 @@ -62,11 +62,6 @@ subroutine print_definitions() #else print '(g0)', 'OMP_MAX_THREADS is OFF' #endif -#ifdef PARMS - print '(g0)', 'PARMS is ON' -#else - print '(g0)', 'PARMS is OFF' -#endif #ifdef PETSC print '(g0)', 'PETSC is ON' #else diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 4b3bb379b..dbdb8259e 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -2622,43 +2622,19 @@ subroutine solve_ssh_ale(dynamics, partit, mesh) USE MOD_DYN use g_comm_auto use g_config, only: which_ale - use iso_c_binding, only: C_INT, C_DOUBLE use ssh_solve_preconditioner_interface use ssh_solve_cg_interface implicit none -#include "fparms.h" type(t_dyn) , intent(inout), target :: dynamics type(t_partit), intent(inout), target :: partit type(t_mesh) , intent(inout), target :: mesh !___________________________________________________________________________ logical, save :: lfirst=.true. - integer(kind=C_INT) :: n3, reuse, new_values integer :: n - !___________________________________________________________________________ - ! interface for solver - interface - subroutine psolver_init(ident, SOL, PCGLOB, PCLOC, lutype, & - fillin, droptol, maxiter, restart, soltol, & - part, rowptr, colind, values, reuse, MPI_COMM) bind(C) - use iso_c_binding, only: C_INT, C_DOUBLE - integer(kind=C_INT) :: ident, SOL, PCGLOB, PCLOC, lutype, & - fillin, maxiter, restart, & - part(*), rowptr(*), colind(*), reuse, MPI_COMM - real(kind=C_DOUBLE) :: droptol, soltol, values(*) - end subroutine psolver_init - end interface - interface - subroutine psolve(ident, ssh_rhs, values, d_eta, newvalues) bind(C) - use iso_c_binding, only: C_INT, C_DOUBLE - integer(kind=C_INT) :: ident, newvalues - real(kind=C_DOUBLE) :: values(*), ssh_rhs(*), d_eta(*) - end subroutine psolve - end interface - !___________________________________________________________________________ ! pointer on necessary derived types - real(kind=C_DOUBLE), pointer :: droptol, soltol - integer(kind=C_INT), pointer :: maxiter, restart, lutype, fillin, ident + real(kind=WP), pointer :: droptol, soltol + integer, pointer :: maxiter, restart, lutype, fillin, ident #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" @@ -2671,57 +2647,10 @@ end subroutine psolve droptol => dynamics%solverinfo%droptol soltol => dynamics%solverinfo%soltol - if (.not. dynamics%solverinfo%use_parms) then - if (lfirst) call ssh_solve_preconditioner(dynamics%solverinfo, partit, mesh) - call ssh_solve_cg(dynamics%d_eta, dynamics%ssh_rhs, dynamics%solverinfo, partit, mesh) - call exchange_nod(dynamics%d_eta, partit) !is this required after calling psolve ? - lfirst=.false. - return - end if - - !___________________________________________________________________________ - if (trim(which_ale)=='linfs') then - reuse=0 - new_values=0 - else - reuse=1 ! For varying coefficients, set reuse=1 - new_values=1 !PS 1 ! and new_values=1, as soon as the coefficients have changed - end if - - ! reuse=0: matrix remains static - ! reuse=1: keeps a copy of the matrix structure to apply scaling of the matrix fast - - ! new_values=0: matrix coefficients unchanged (compared to the last call of psolve) - ! new_values=1: replaces the matrix values (keeps the structure and the preconditioner) - ! new_values=2: replaces the matrix values and recomputes the preconditioner (keeps the structure) - - ! new_values>0 requires reuse=1 in psolver_init! - - ! - !___________________________________________________________________________ - if (lfirst) then - ! Set SOLCG for CG solver (symmetric, positiv definit matrices only, no precond available!!) - ! SOLBICGS for BiCGstab solver (arbitrary matrices) - ! SOLBICGS_RAS for BiCGstab solver (arbitrary matrices) with integrated RAS - the global - ! preconditioner setting is ignored! It saves a 4 vector copies per iteration - ! compared to SOLBICGS + PCRAS. - ! SOLPBICGS for pipelined BiCGstab solver (arbitrary matrices) - ! Should scale better than SOLBICGS, but be careful, it is still experimental. - ! SOLPBICGS_RAS is SOLPBICGS with integrated RAS (global preconditioner setting is ignored!) - ! for even better scalability, well, in the end, it does not matter much. - call psolver_init(ident, SOLBICGS_RAS, PCRAS, PCILUK, lutype, & - fillin, droptol, maxiter, restart, soltol, & - part-1, ssh_stiff%rowptr(:)-ssh_stiff%rowptr(1), & - ssh_stiff%colind-1, ssh_stiff%values, reuse, MPI_COMM_FESOM) - lfirst=.false. - end if - ! - !___________________________________________________________________________ - call psolve(ident, dynamics%ssh_rhs, ssh_stiff%values, dynamics%d_eta, new_values) - - ! - !___________________________________________________________________________ + if (lfirst) call ssh_solve_preconditioner(dynamics%solverinfo, partit, mesh) + call ssh_solve_cg(dynamics%d_eta, dynamics%ssh_rhs, dynamics%solverinfo, partit, mesh) call exchange_nod(dynamics%d_eta, partit) !is this required after calling psolve ? + lfirst=.false. end subroutine solve_ssh_ale ! diff --git a/src/psolve.c b/src/psolve.c deleted file mode 100644 index a8a7b8ac3..000000000 --- a/src/psolve.c +++ /dev/null @@ -1,263 +0,0 @@ -#ifdef PARMS - -#include -#include -#include -#include -#include -#include "psolve.h" - -#define NSOL 10 - -psolver solvers[NSOL]; -int solv_id[12] = {0}; -int nsolver = 0; - -void psolver_init(int *id, SOLVERTYPE *stype, PCTYPE *pctype, PCILUTYPE *pcilutype, - int *ilulevel, int *fillin, double *droptol, int *maxits, int *restart, double *soltol, - int *part, int *rptr, int *cols, double *vals, int *reuse, MPI_Fint *fcomm) -// int *part, int *rptr, int *cols, double *vals, int *reuse, MPI_Comm *comm) -{ - - parms_Viewer v; - int i, j, k, nloc, pid, nproc; - int *ncnts, *idxn, *rp=NULL, *r=NULL, *c=NULL, nmb; - double tmp, *scale, *values=NULL; - MPI_Comm comm; - - parms_Map map; - parms_Mat A; - parms_PC pc; - parms_Solver ksp; - - psolver solver; - comm=MPI_Comm_f2c(*fcomm); - MPI_Comm_rank(comm,&pid); - MPI_Comm_size(comm,&nproc); - solver = malloc(sizeof(*solver)); - nmb = part[nproc]-part[0]; - - nloc = 0; - if(nproc > 1) { - nloc = part[pid+1]-part[pid]; - parms_MapCreateFromPetsc(&map, nloc, nmb, comm); - idxn = malloc(nloc*sizeof(int)); - parms_MapGetGlobalIndices(map, idxn); - } - else { - parms_MapCreateFromLocal(&map,nmb,0); - nloc = nmb; - idxn = malloc(nloc*sizeof(int)); - for(i = 0; i < nloc; i++) - idxn[i] = i; - } - solver->reuse = *reuse; - - scale = malloc(nloc*sizeof(double)); - values = malloc(rptr[nloc]*sizeof(double)); - for(i = 0; i < nloc; i++){ - tmp = 0.; - for(j = rptr[i]; j < rptr[i+1]; j++) - tmp += fabs(vals[j]); - scale[i] = 1./tmp; - for(j = rptr[i]; j < rptr[i+1]; j++) - values[j] = vals[j]*scale[i]; - } - solver->scale = scale; - - // create Mat - parms_MatCreate(&A,map); - parms_MatSetValues(A, nloc, idxn, rptr, cols, values, INSERT); - parms_MatSetup(A); - - // create PC/Solver & set parameters - parms_PCCreate(&pc,A); - set_pc_params(pc, *pctype, *pcilutype, *ilulevel, *fillin, *droptol); - parms_PCSetup(pc); - parms_SolverCreate(&ksp,A,pc); - set_solver_params(ksp, *stype, *maxits, *restart, *soltol); - - solver->ksp = ksp; - solver->map = map; - - if(solver->reuse){ - r = malloc((nloc)*sizeof(int)); - for(i = 0; i < nloc; i++) - r[i] = idxn[i]; - solver->rows = r; - - rp = malloc((nloc+1)*sizeof(int)); - for(i = 0; i < nloc+1; i++) - rp[i] = rptr[i]; - solver->rptr = rp; - - c = malloc(rptr[nloc]*sizeof(int)); - for(i = 0; i < rptr[nloc]; i++) - c[i] = cols[i]; - solver->cols = c; - solver->vals = values; - } - else{ - if(!r) - free(r); - if(!rp) - free(rp); - if(!c) - free(c); - if(!values) - free(values); - } - - - solv_id[*id] = nsolver; - solvers[nsolver++] = solver; - -} - -void psolver_final() -{ - - int pid, i; - parms_Solver ksp; - parms_PC pc; - parms_Mat A; - parms_Map map; - psolver solver; - - for(i = 0; i < nsolver; i++){ - solver = solvers[i]; - - ksp = solver->ksp; - parms_SolverGetPC(ksp, &pc); - parms_SolverGetMat(ksp,&A); - map = solver->map; - - parms_SolverFree(&ksp); - parms_PCFree(&pc); - parms_MatFree(&A); - parms_MapFree(&map); - - if(solver->reuse){ - free(solver->rptr); - free(solver->rows); - free(solver->cols); - free(solver->vals); - } - free(solver->scale); - - free(solver); - } -} - -void psolve(int *id, double *rhs, double *vals, double *sol, int *new) -{ - - parms_Viewer v; - psolver solver; - parms_Map map; - parms_Mat A; - parms_PC pc; - parms_Solver ksp; - - double resnorm; - double *x,*y, *scale, *values, tmp; - double t0,t1,t2,toh; - int *rptr, *cols; - int its,err,i,j,k, cnt, nloc, pid, sid; - - sid = solv_id[*id]; - - solver = solvers[sid]; - ksp = solver->ksp; - map = solver->map; - nloc = parms_MapGetLocalSize(map); - - scale = solver->scale; - - if(*new) { - if(solver->reuse){ - parms_SolverGetPC(ksp, &pc); - parms_SolverGetMat(ksp, &A); - - rptr = solver->rptr; - cols = solver->cols; - - values = solver->vals; - for(i = 0; i < nloc; i++){ - tmp = 0.; - for(j = rptr[i]; j < rptr[i+1]; j++) - tmp += fabs(vals[j]); - scale[i] = 1./tmp; - for(j = rptr[i]; j < rptr[i+1]; j++) - values[j] = vals[j]*scale[i]; - } - - // create Mat & set values - parms_MatReset(A,SAME_NONZERO_STRUCTURE); - parms_MatSetValues(A, nloc, solver->rows, rptr, cols, values, INSERT); - parms_MatSetup(A); - - if (*new==2) parms_PCSetup(pc); - } - else - printf("ERROR: matrix data is static\n"); - } - - x = sol; - y = malloc(nloc*sizeof(double)); - for(i = 0; i < nloc; i++) - y[i] = rhs[i]*scale[i]; - - // solve system of equations - parms_SolverApply(ksp,y,x); - -/* - // get trueresidual and number of iterations - parms_SolverGetResidualNorm2(ksp,y,x,&resnorm); - its = parms_SolverGetIts(ksp); - printf("%e %d\n", resnorm, its); -*/ - free(y); -} - -int set_pc_params(parms_PC pc, PCTYPE pctype, PCILUTYPE pcilutype, - int ilulevel, int fillin, double droptol){ - - int i, lfil[7]; - double dtol[7]; - - for(i = 0; i < 7; i++){ - lfil[i] = fillin; - dtol[i] = droptol; - } - - parms_PCSetType(pc, pctype); - parms_PCSetILUType(pc, pcilutype); - parms_PCSetNlevels(pc, ilulevel); - parms_PCSetFill(pc, lfil); - parms_PCSetTol(pc, dtol); - - return 0; -} - - -int set_solver_params(parms_Solver solver, SOLVERTYPE solvertype, - int maxits, int restart, double soltol){ - char buf[100]; - - parms_SolverSetType(solver, solvertype); - - sprintf(buf, "%d", maxits); - parms_SolverSetParam(solver, MAXITS, buf); - - sprintf(buf, "%d", restart); - parms_SolverSetParam(solver, KSIZE, buf); - - sprintf(buf, "%g", soltol); - parms_SolverSetParam(solver, DTOL, buf); - - return 0; -} - - -#endif diff --git a/src/psolve.h b/src/psolve.h deleted file mode 100644 index 60bdda648..000000000 --- a/src/psolve.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef __PSOLVE__ -#define __PSOLVE__ - -#include "parms.h" -#include "parms_sys.h" - -typedef struct psolver{ - - int reuse; - - int *rows; - int *rptr; - int *cols; - double *vals; - double *scale; - parms_Solver ksp; - parms_Map map; - -} *psolver; - -int set_pc_params(parms_PC pc, PCTYPE pctype, PCILUTYPE pcilutype, - int ilulevel, int fillin, double droptol); - -int set_solver_params(parms_Solver solver, SOLVERTYPE solvertype, - int maxits, int restart, double soltol); - -#endif From d6769f419bb68a0f44dcc43f797089faa8fc7ef9 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 14 Jun 2024 13:20:26 +0200 Subject: [PATCH 161/273] change some paths, remove ollie and mistral as HPCs are long gone --- config/namelist.config | 8 +-- config/namelist.forcing | 50 +++++++++--------- env/mistral.dkrz.de/shell | 67 ------------------------- env/mistral.dkrz.de/shell-intel+openmpi | 46 ----------------- env/mistral.dkrz.de/shell~ | 40 --------------- env/ollie/shell | 11 ---- env/ollie/shell_cray | 6 --- 7 files changed, 29 insertions(+), 199 deletions(-) delete mode 100755 env/mistral.dkrz.de/shell delete mode 100644 env/mistral.dkrz.de/shell-intel+openmpi delete mode 100644 env/mistral.dkrz.de/shell~ delete mode 100644 env/ollie/shell delete mode 100644 env/ollie/shell_cray diff --git a/config/namelist.config b/config/namelist.config index b9376ed5a..73c89577d 100644 --- a/config/namelist.config +++ b/config/namelist.config @@ -17,9 +17,9 @@ yearnew=1958 / &paths -MeshPath='/work/ollie/projects/clidyn/FESOM2/meshes/core2/' -ClimateDataPath='/work/ollie/projects/clidyn/FESOM2/hydrography/phc3.0/' -ResultPath='../result_tmp/' +MeshPath='/pool/data/AWICM/FESOM2/MESHES/CORE2/' +ClimateDataPath='/pool/data/AWICM/FESOM2/MESHES/INITIAL/phc3.0/' +ResultPath='/work/ab0246/$USER/runtime/fesom2/' / &restart_log @@ -29,7 +29,7 @@ raw_restart_length=1 ! --> do core dump restart raw_restart_length_unit='y' ! e.g. y, d, h, s, off bin_restart_length=1 ! --> do derived type binary restart bin_restart_length_unit='y' ! e.g. y, d, h, s, off -logfile_outfreq=960 !in logfile info. output frequency, # steps +logfile_outfreq=960 !in logfile info. output frequency, # steps / &ale_def diff --git a/config/namelist.forcing b/config/namelist.forcing index 3b1482d9d..68eab9ff0 100644 --- a/config/namelist.forcing +++ b/config/namelist.forcing @@ -36,28 +36,28 @@ age_start_year=2000 / &nam_sbc - nm_xwind_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/uas.' ! name of file with wind speeds x - nm_ywind_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/vas.' ! name of file with wind speeds y - nm_xstre_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/uas.' ! name of file with wind stress x - nm_ystre_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/vas.' ! name of file with wind stress y - nm_humi_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/huss.' ! name of file with humidity - nm_qsr_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/rsds.' ! name of file with solar heat - nm_qlw_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/rlds.' ! name of file with Long wave - nm_tair_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/tas.' ! name of file with 2m air temperature - nm_prec_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/prra.' ! name of file with total precipitation - nm_snow_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/prsn.' ! name of file with snow precipitation - nm_mslp_file = '/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/psl.' ! air_pressure_at_sea_level - nm_xwind_var = 'uas' ! name of variable in file with wind - nm_ywind_var = 'vas' ! name of variable in file with wind - nm_xstre_var = 'uas' ! name of variable in file with wind - nm_ystre_var = 'vas' ! name of variable in file with wind - nm_humi_var = 'huss' ! name of variable in file with humidity - nm_qsr_var = 'rsds' ! name of variable in file with solar heat - nm_qlw_var = 'rlds' ! name of variable in file with Long wave - nm_tair_var = 'tas' ! name of variable in file with 2m air temperature - nm_prec_var = 'prra' ! name of variable in file with total precipitation - nm_snow_var = 'prsn' ! name of variable in file with total precipitation - nm_mslp_var = 'psl' ! name of variable in file with air_pressure_at_sea_level + nm_xwind_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas.' ! name of file with wind speeds x + nm_ywind_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas.' ! name of file with wind speeds y + nm_xstre_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas.' ! name of file with wind stress x + nm_ystre_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas.' ! name of file with wind stress y + nm_humi_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/huss.' ! name of file with humidity + nm_qsr_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rsds.' ! name of file with solar heat + nm_qlw_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rlds.' ! name of file with Long wave + nm_tair_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/tas.' ! name of file with 2m air temperature + nm_prec_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/prra.' ! name of file with total precipitation + nm_snow_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/prsn.' ! name of file with snow precipitation + nm_mslp_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/psl.' ! air_pressure_at_sea_level + nm_xwind_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas' ! name of variable in file with wind + nm_ywind_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas' ! name of variable in file with wind + nm_xstre_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas' ! name of variable in file with wind + nm_ystre_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas' ! name of variable in file with wind + nm_humi_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/huss' ! name of variable in file with humidity + nm_qsr_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rsds' ! name of variable in file with solar heat + nm_qlw_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rlds' ! name of variable in file with Long wave + nm_tair_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/tas' ! name of variable in file with 2m air temperature + nm_prec_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/prra' ! name of variable in file with total precipitation + nm_snow_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/prsn' ! name of variable in file with total precipitation + nm_mslp_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/psl' ! name of variable in file with air_pressure_at_sea_level nm_nc_iyear = 1900 nm_nc_imm = 1 ! initial month of time axis in netCDF nm_nc_idd = 1 ! initial day of time axis in netCDF @@ -65,14 +65,14 @@ age_start_year=2000 nm_nc_tmid = 0 ! 1 if the time stamps are given at the mid points of the netcdf file, 0 otherwise (i.e. 1 in CORE1, CORE2; 0 in JRA55) l_xwind=.true. l_ywind=.true. l_xstre=.false. l_ystre=.false. l_humi=.true. l_qsr=.true. l_qlw=.true. l_tair=.true. l_prec=.true. l_mslp=.false. l_cloud=.false. l_snow=.true. runoff_data_source ='CORE2' !Dai09, CORE2 - nm_runoff_file ='/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/CORE2_runoff.nc' + nm_runoff_file ='/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0//CORE2_runoff.nc' !nm_runoff_file ='/work/ollie/qwang/FESOM2_input/mesh/CORE2_finaltopo_mean/forcing_data_on_grid/runoff_clim.nc' !runoff_data_source ='Dai09' !Dai09, CORE2, JRA55 !runoff_climatology =.true. sss_data_source ='CORE2' - nm_sss_data_file ='/work/ollie/clidyn/forcing/JRA55-do-v1.4.0/PHC2_salx.nc' + nm_sss_data_file ='/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/PHC2_salx.nc' chl_data_source ='None' !'Sweeney' monthly chlorophyll climatology or 'NONE' for constant chl_const (below). Make use_sw_pene=.TRUE. in namelist.config! - nm_chl_data_file ='/work/ollie/clidyn/forcing/Sweeney/Sweeney_2005.nc' + nm_chl_data_file ='/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/Sweeney/Sweeney_2005.nc' chl_const = 0.1 use_runoff_mapper = .FALSE. runoff_basins_file = 'runoff_maps_regular.nc' diff --git a/env/mistral.dkrz.de/shell b/env/mistral.dkrz.de/shell deleted file mode 100755 index 48e2a4279..000000000 --- a/env/mistral.dkrz.de/shell +++ /dev/null @@ -1,67 +0,0 @@ -# make the contents as shell agnostic as possible so we can include them with bash, zsh and others - -module load gcc/4.8.2 -export LD_LIBRARY_PATH=/sw/rhel6-x64/gcc/gcc-4.8.2/lib64:$LD_LIBRARY_PATH # avoid GLIBCXX_3.4.15 not found error -module unload intel && module load intel/18.0.1 - -#export FC=mpiifort CC=mpiicc CXX=mpiicpc; module unload intelmpi && module load intelmpi/2018.1.163 -export FC=mpiifort CC=mpiicc CXX=mpiicpc; module unload intelmpi && module load intelmpi/2017.0.098 -#export FC=mpif90 CC=mpicc CXX=mpicxx; module load mxm/3.3.3002 fca/2.5.2393 bullxmpi_mlx/bullxmpi_mlx-1.2.8.3 -#export FC=mpif90 CC=mpicc CXX=mpicxx; module load mxm/3.4.3082 fca/2.5.2393 bullxmpi_mlx/bullxmpi_mlx-1.2.9.2 -#export FC=mpif90 CC=mpicc CXX=mpicxx OPENMPI=TRUE; module unload intelmpi && module load openmpi/2.0.2p1_hpcx-intel14 - -# intelmpi settings from DKRZ -export I_MPI_FABRICS=shm:dapl -export I_MPI_FALLBACK=disable -export I_MPI_SLURM_EXT=1 -export I_MPI_LARGE_SCALE_THRESHOLD=8192 # Set to a value larger than the number of your MPI-tasks if you use 8192 or more tasks. -export I_MPI_DYNAMIC_CONNECTION=0 -export DAPL_NETWORK_NODES=$SLURM_NNODES -export DAPL_NETWORK_PPN=$SLURM_NTASKS_PER_NODE -export DAPL_WR_MAX=500 - -# bullxmpi settings from DKRZ -# Settings for Open MPI and MXM (MellanoX Messaging) library -export OMPI_MCA_pml=cm -export OMPI_MCA_mtl=mxm -export OMPI_MCA_mtl_mxm_np=0 -export MXM_RDMA_PORTS=mlx5_0:1 -export MXM_LOG_LEVEL=FATAL -# Disable GHC algorithm for collective communication -export OMPI_MCA_coll=^ghc - -# openmpi settings from DKRZ (note, that some of above variables will be redefined) -if test "${OPENMPI}" == "TRUE"; then -export OMPI_MCA_pml=cm # sets the point-to-point management layer -export OMPI_MCA_mtl=mxm # sets the matching transport layer (MPI-2 one-sided comm.) -export MXM_RDMA_PORTS=mlx5_0:1 -export MXM_LOG_LEVEL=ERROR -export MXM_HANDLE_ERRORS=bt -export UCX_HANDLE_ERRORS=bt - -# enable HCOLL based collectives -export OMPI_MCA_coll=^fca # disable FCA for collective MPI routines -export OMPI_MCA_coll_hcoll_enable=1 # enable HCOLL for collective MPI routines -export OMPI_MCA_coll_hcoll_priority=95 -export OMPI_MCA_coll_hcoll_np=8 # use HCOLL for all communications with more than 8 tasks -export HCOLL_MAIN_IB=mlx5_0:1 -export HCOLL_ENABLE_MCAST=1 -export HCOLL_ENABLE_MCAST_ALL=1 - -# disable specific HCOLL functions (strongly depends on the application) -export HCOLL_ML_DISABLE_BARRIER=1 -export HCOLL_ML_DISABLE_IBARRIER=1 -export HCOLL_ML_DISABLE_BCAST=1 -export HCOLL_ML_DISABLE_REDUCE=1 -fi - -module unload netcdf && module load netcdf_c/4.3.2-gcc48 -module unload cmake && module load cmake -# we will get a segfault at runtime if we use a gcc from any of the provided gcc modules -export PATH=/sw/rhel6-x64/gcc/binutils-2.24-gccsys/bin:${PATH} - -export NETCDF_Fortran_INCLUDE_DIRECTORIES=/sw/rhel6-x64/netcdf/netcdf_fortran-4.4.2-intel14/include -export NETCDF_C_INCLUDE_DIRECTORIES=/sw/rhel6-x64/netcdf/netcdf_c-4.3.2-intel14/include -export NETCDF_CXX_INCLUDE_DIRECTORIES=/sw/rhel6-x64/netcdf/netcdf_cxx-4.2.1-gcc48/include - -export HDF5_C_INCLUDE_DIRECTORIES=/sw/rhel6-x64/hdf5/hdf5-1.8.14-threadsafe-intel14/include diff --git a/env/mistral.dkrz.de/shell-intel+openmpi b/env/mistral.dkrz.de/shell-intel+openmpi deleted file mode 100644 index ab9b3d09c..000000000 --- a/env/mistral.dkrz.de/shell-intel+openmpi +++ /dev/null @@ -1,46 +0,0 @@ -# make the contents as shell agnostic as possible so we can include them with bash, zsh and others - -module load gcc/4.8.2 -export LD_LIBRARY_PATH=/sw/rhel6-x64/gcc/gcc-4.8.2/lib64:$LD_LIBRARY_PATH # avoid GLIBCXX_3.4.15 not found error -module unload intel && module load intel/18.0.4 - -export FC=mpif90 CC=mpicc CXX=mpicxx; module unload intelmpi; module load openmpi/2.0.2p2_hpcx-intel14 - -# from https://www.dkrz.de/up/systems/mistral/running-jobs/mpi-runtime-settings -export I_MPI_FABRICS=shm:dapl -export I_MPI_FALLBACK=disable -export I_MPI_SLURM_EXT=0 # disable optimized startup algorithm for intel MPI -export I_MPI_LARGE_SCALE_THRESHOLD=8192 # set to a value larger than the number of MPI-tasks used !!! -export I_MPI_DYNAMIC_CONNECTION=1 -export I_MPI_CHECK_DAPL_PROVIDER_COMPATIBILITY=0 -export I_MPI_HARD_FINALIZE=1 -export I_MPI_ADJUST_GATHER=1 # do not use =3 (Shumilin's algorithm) - -export MXM_LOG_LEVEL=ERROR # try to disable "Conflicting CPU frequencies detected" messages from OpenMPI - -module unload netcdf && module load netcdf_c/4.3.2-gcc48 -module unload cmake && module load cmake -# we will get a segfault at runtime if we use a gcc from any of the provided gcc modules -export PATH=/sw/rhel6-x64/gcc/binutils-2.24-gccsys/bin:${PATH} - -export NETCDF_Fortran_INCLUDE_DIRECTORIES=/sw/rhel6-x64/netcdf/netcdf_fortran-4.4.2-intel14/include -export NETCDF_C_INCLUDE_DIRECTORIES=/sw/rhel6-x64/netcdf/netcdf_c-4.3.2-intel14/include -export NETCDF_CXX_INCLUDE_DIRECTORIES=/sw/rhel6-x64/netcdf/netcdf_cxx-4.2.1-gcc48/include - -export HDF5_C_INCLUDE_DIRECTORIES=/sw/rhel6-x64/hdf5/hdf5-1.8.14-threadsafe-intel14/include - - - -### not sure if the following settings are really necessary to run the coupled awicm3 - -export GRIBROOT=/pf/a/a270092/ecmwf/grib_api_intel_modulegcc -export NETCDFFROOT=/sw/rhel6-x64/netcdf/netcdf_fortran-4.4.3-intel14 -export NETCDFROOT=/sw/rhel6-x64/netcdf/netcdf_c-4.4.0-gcc48 -export HDF5ROOT=/sw/rhel6-x64/hdf5/hdf5-1.8.14-threadsafe-gcc48 -export SZIPROOT=/sw/rhel6-x64/sys/libaec-0.3.2-gcc48 -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${NETCDFFROOT}/lib:${HDF5ROOT}/lib:${NETCDFROOT}/lib:${SZIPROOT}/lib:${GRIBROOT}/lib - -export FESOM_USE_CPLNG='active' - -export OIFS_DUMMY_ACTION=ABORT -export HDF5_DISABLE_VERSION_CHECK=1 diff --git a/env/mistral.dkrz.de/shell~ b/env/mistral.dkrz.de/shell~ deleted file mode 100644 index 9b1c8acaa..000000000 --- a/env/mistral.dkrz.de/shell~ +++ /dev/null @@ -1,40 +0,0 @@ -# make the contents as shell agnostic as possible so we can include them with bash, zsh and others - -module load gcc/4.8.2 -export LD_LIBRARY_PATH=/sw/rhel6-x64/gcc/gcc-4.8.2/lib64:$LD_LIBRARY_PATH # avoid GLIBCXX_3.4.15 not found error -module unload intel && module load intel/18.0.0 - -export FC=mpiifort CC=mpiicc CXX=mpiicpc; module unload intelmpi && module load intelmpi/2017.0.098 -#export FC=mpif90 CC=mpicc CXX=mpicxx; module load mxm/3.3.3002 fca/2.5.2393 bullxmpi_mlx/bullxmpi_mlx-1.2.8.3 -#export FC=mpif90 CC=mpicc CXX=mpicxx; module load mxm/3.4.3082 fca/2.5.2393 bullxmpi_mlx/bullxmpi_mlx-1.2.9.2 - -# intelmpi settings from DKRZ -export I_MPI_FABRICS=shm:dapl -export I_MPI_FALLBACK=disable -export I_MPI_SLURM_EXT=1 -export I_MPI_LARGE_SCALE_THRESHOLD=8192 # Set to a value larger than the number of your MPI-tasks if you use 8192 or more tasks. -export I_MPI_DYNAMIC_CONNECTION=0 -export DAPL_NETWORK_NODES=$SLURM_NNODES -export DAPL_NETWORK_PPN=$SLURM_NTASKS_PER_NODE -export DAPL_WR_MAX=500 - -# bullxmpi settings from DKRZ -# Settings for Open MPI and MXM (MellanoX Messaging) library -export OMPI_MCA_pml=cm -export OMPI_MCA_mtl=mxm -export OMPI_MCA_mtl_mxm_np=0 -export MXM_RDMA_PORTS=mlx5_0:1 -export MXM_LOG_LEVEL=FATAL -# Disable GHC algorithm for collective communication -export OMPI_MCA_coll=^ghc - -module unload netcdf && module load netcdf_c/4.3.2-gcc48 -module unload cmake && module load cmake -# we will get a segfault at runtime if we use a gcc from any of the provided gcc modules -export PATH=/sw/rhel6-x64/gcc/binutils-2.24-gccsys/bin:${PATH} - -export NETCDF_Fortran_INCLUDE_DIRECTORIES=/sw/rhel6-x64/netcdf/netcdf_fortran-4.4.2-intel14/include -export NETCDF_C_INCLUDE_DIRECTORIES=/sw/rhel6-x64/netcdf/netcdf_c-4.3.2-intel14/include -export NETCDF_CXX_INCLUDE_DIRECTORIES=/sw/rhel6-x64/netcdf/netcdf_cxx-4.2.1-gcc48/include - -export HDF5_C_INCLUDE_DIRECTORIES=/sw/rhel6-x64/hdf5/hdf5-1.8.14-threadsafe-intel14/include diff --git a/env/ollie/shell b/env/ollie/shell deleted file mode 100644 index 3b9efbf52..000000000 --- a/env/ollie/shell +++ /dev/null @@ -1,11 +0,0 @@ -# make the contents as shell agnostic as possible so we can include them with bash, zsh and others - -module load intel.compiler intel.mpi netcdf/4.4.0_intel -module load centoslibs # required on compute nodes - -# the netcdf c++ path given by the netcdf module is broken, we have to workaround this -export NETCDF_CXX_INCLUDE_DIRECTORIES=/global/AWIsoft/tkleiner/netcdf/4.4.0_intel_impi/include - -export PATH=/home/ollie/dsidoren/cmake-3.13.2-Linux-x86_64/bin:$PATH - -export FC="mpiifort -mkl" CC=mpiicc CXX=mpiicpc diff --git a/env/ollie/shell_cray b/env/ollie/shell_cray deleted file mode 100644 index 4c7d399f8..000000000 --- a/env/ollie/shell_cray +++ /dev/null @@ -1,6 +0,0 @@ -# make the contents as shell agnostic as possible so we can include them with bash, zsh and others - -module load cmake -module load PrgEnv-cray - -export FC=ftn CC=cc CXX=CC From 986c0e6ce411d4f2173cd4b4a9ad066f0967e459 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 14 Jun 2024 13:23:11 +0200 Subject: [PATCH 162/273] name not path --- config/namelist.forcing | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/config/namelist.forcing b/config/namelist.forcing index 68eab9ff0..8bb81a2c3 100644 --- a/config/namelist.forcing +++ b/config/namelist.forcing @@ -47,17 +47,17 @@ age_start_year=2000 nm_prec_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/prra.' ! name of file with total precipitation nm_snow_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/prsn.' ! name of file with snow precipitation nm_mslp_file = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/psl.' ! air_pressure_at_sea_level - nm_xwind_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas' ! name of variable in file with wind - nm_ywind_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas' ! name of variable in file with wind - nm_xstre_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/uas' ! name of variable in file with wind - nm_ystre_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/vas' ! name of variable in file with wind - nm_humi_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/huss' ! name of variable in file with humidity - nm_qsr_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rsds' ! name of variable in file with solar heat - nm_qlw_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/rlds' ! name of variable in file with Long wave - nm_tair_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/tas' ! name of variable in file with 2m air temperature - nm_prec_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/prra' ! name of variable in file with total precipitation - nm_snow_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/prsn' ! name of variable in file with total precipitation - nm_mslp_var = '/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/psl' ! name of variable in file with air_pressure_at_sea_level + nm_xwind_var = 'uas' ! name of variable in file with wind + nm_ywind_var = 'vas' ! name of variable in file with wind + nm_xstre_var = 'uas' ! name of variable in file with wind + nm_ystre_var = 'vas' ! name of variable in file with wind + nm_humi_var = 'huss' ! name of variable in file with humidity + nm_qsr_var = 'rsds' ! name of variable in file with solar heat + nm_qlw_var = 'rlds' ! name of variable in file with Long wave + nm_tair_var = 'tas' ! name of variable in file with 2m air temperature + nm_prec_var = 'prra' ! name of variable in file with total precipitation + nm_snow_var = 'prsn' ! name of variable in file with total precipitation + nm_mslp_var = 'psl' ! name of variable in file with air_pressure_at_sea_level nm_nc_iyear = 1900 nm_nc_imm = 1 ! initial month of time axis in netCDF nm_nc_idd = 1 ! initial day of time axis in netCDF From 5aca76d19c51b0a96e8f38ee95f20c5d4c4b16f9 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 14 Jun 2024 13:25:33 +0200 Subject: [PATCH 163/273] typo --- config/namelist.forcing | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/namelist.forcing b/config/namelist.forcing index 8bb81a2c3..88a46b607 100644 --- a/config/namelist.forcing +++ b/config/namelist.forcing @@ -65,7 +65,7 @@ age_start_year=2000 nm_nc_tmid = 0 ! 1 if the time stamps are given at the mid points of the netcdf file, 0 otherwise (i.e. 1 in CORE1, CORE2; 0 in JRA55) l_xwind=.true. l_ywind=.true. l_xstre=.false. l_ystre=.false. l_humi=.true. l_qsr=.true. l_qlw=.true. l_tair=.true. l_prec=.true. l_mslp=.false. l_cloud=.false. l_snow=.true. runoff_data_source ='CORE2' !Dai09, CORE2 - nm_runoff_file ='/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0//CORE2_runoff.nc' + nm_runoff_file ='/pool/data/AWICM/FESOM2/FORCING/JRA55-do-v1.4.0/CORE2_runoff.nc' !nm_runoff_file ='/work/ollie/qwang/FESOM2_input/mesh/CORE2_finaltopo_mean/forcing_data_on_grid/runoff_clim.nc' !runoff_data_source ='Dai09' !Dai09, CORE2, JRA55 !runoff_climatology =.true. From f829f07f89f0c854a4b36ea5f291c432c82e8048 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 14 Jun 2024 13:36:21 +0200 Subject: [PATCH 164/273] stream for the forcing output bundle was defined twice --- src/io_meandata.F90 | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index f95036f80..0da12aca9 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -777,27 +777,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_v', 'vert. dvd of salinity' , 'psu/s', tracers%work%tr_dvd_vert(:,:,2) , 1, 'm', i_real4, partit, mesh) end if - !___________________________________________________________________________ - if (ldiag_forc) then - if (sel_forcvar( 1)==0) call def_stream(nod2D , myDim_nod2D , 'uwind' , '10m zonal surface wind velocity', 'm/s' , u_wind(:) , 1, 'm', i_real4, partit, mesh) - if (sel_forcvar( 2)==0) call def_stream(nod2D , myDim_nod2D , 'vwind' , '10m merid surface wind velocity', 'm/s' , v_wind(:) , 1, 'm', i_real4, partit, mesh) - if (sel_forcvar( 3)==0) call def_stream(nod2D , myDim_nod2D , 'tair' , 'surface air temperature' , '°C' , Tair(:) , 1, 'm', i_real4, partit, mesh) - if (sel_forcvar( 4)==0) call def_stream(nod2D , myDim_nod2D , 'shum' , 'specific humidity' , '' , shum(:) , 1, 'm', i_real4, partit, mesh) - if (sel_forcvar( 5)==0) call def_stream(nod2D , myDim_nod2D , 'prec' , 'precicipation rain' , 'm/s' , prec_rain(:) , 1, 'm', i_real4, partit, mesh) - if (sel_forcvar( 6)==0) call def_stream(nod2D , myDim_nod2D , 'snow' , 'precicipation snow' , 'm/s' , prec_snow(:) , 1, 'm', i_real4, partit, mesh) - if (sel_forcvar( 7)==0) call def_stream(nod2D , myDim_nod2D , 'evap' , 'evaporation' , 'm/s' , evaporation(:) , 1, 'm', i_real4, partit, mesh) - if (sel_forcvar( 8)==0) call def_stream(nod2D , myDim_nod2D , 'swr' , 'short wave radiation' , 'W/m^2', shortwave(:) , 1, 'm', i_real4, partit, mesh) - if (sel_forcvar( 9)==0) call def_stream(nod2D , myDim_nod2D , 'lwr' , 'long wave radiation' , 'W/m^2', longwave(:) , 1, 'm', i_real4, partit, mesh) - if (sel_forcvar(10)==0) call def_stream(nod2D , myDim_nod2D , 'runoff', 'river runoff' , 'none' , runoff(:) , 1, 'm', i_real4, partit, mesh) - if (sel_forcvar(11)==0) call def_stream(elem2D, myDim_elem2D, 'tx_sur', 'zonal wind str. to ocean' , 'N/m^2', stress_surf(1, :), 1, 'm', i_real4, partit, mesh) - if (sel_forcvar(12)==0) call def_stream(elem2D, myDim_elem2D, 'ty_sur', 'meridional wind str. to ocean' , 'N/m^2', stress_surf(2, :), 1, 'm', i_real4, partit, mesh) - call def_stream(nod2D , myDim_nod2D , 'cd', 'wind drag coef. ' , '', cd_atm_oce_arr(:), 1, 'm', i_real4, partit, mesh) - call def_stream(nod2D , myDim_nod2D , 'ch', 'transfer coeff. sensible heat', '', ch_atm_oce_arr(:), 1, 'm', i_real4, partit, mesh) - call def_stream(nod2D , myDim_nod2D , 'ce', 'transfer coeff. evaporation ' , '', ce_atm_oce_arr(:), 1, 'm', i_real4, partit, mesh) -#if defined (__oasis) - call def_stream(nod2D, myDim_nod2D, 'subli', 'sublimation', 'm/s', sublimation(:), 1, 'm', i_real4, partit, mesh) -#endif - end if + !___________________________________________________________________________ if (dynamics%ldiag_ke) then From 11db3a73611e0a20b9606914d99f920cfa5a4e92 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 14 Jun 2024 14:14:30 +0200 Subject: [PATCH 165/273] update gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 417e64550..18b3af4b3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ /build /build.lib +/work +/lib64 *.o *.mod *.x From 586d0226121de7f6f0ed435a3884247d964d6683 Mon Sep 17 00:00:00 2001 From: Razvan Aguridan Date: Tue, 18 Jun 2024 08:18:33 +0000 Subject: [PATCH 166/273] Fix FESOM compilation on Cray compilers --- src/ifs_interface/iom.F90 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ifs_interface/iom.F90 b/src/ifs_interface/iom.F90 index 03bd27212..50cf1c61c 100644 --- a/src/ifs_interface/iom.F90 +++ b/src/ifs_interface/iom.F90 @@ -22,7 +22,7 @@ MODULE iom PUBLIC iom_field_request, iom_send_fesom_data PUBLIC iom_flush - LOGICAL :: lnomultio = .TRUE._1 + LOGICAL :: lnomultio = .TRUE. PRIVATE ctl_stop !!---------------------------------------------------------------------- @@ -50,7 +50,7 @@ MODULE iom SUBROUTINE iom_enable_multio() IMPLICIT NONE - lnomultio = .FALSE._1 + lnomultio = .FALSE. END SUBROUTINE SUBROUTINE multio_custom_error_handler(context, err, info) @@ -83,7 +83,7 @@ SUBROUTINE iom_initialize(client_id, local_comm, return_comm, global_comm ) INTEGER :: err CHARACTER(len=16) :: err_str - IF (lnomultio.EQ..TRUE._1) RETURN + IF (lnomultio) RETURN mio_parent_comm = mpi_comm_world @@ -162,7 +162,7 @@ SUBROUTINE iom_finalize() IMPLICIT NONE INTEGER :: err - IF (lnomultio.EQ..TRUE._1) RETURN + IF (lnomultio) RETURN err = mio_handle%close_connections(); IF (err /= MULTIO_SUCCESS) THEN @@ -182,7 +182,7 @@ SUBROUTINE iom_init_server(server_comm) INTEGER :: err CHARACTER(len=16) :: err_str - IF (lnomultio.EQ..TRUE._1) RETURN + IF (lnomultio) RETURN mio_parent_comm = server_comm @@ -262,7 +262,7 @@ SUBROUTINE iom_send_fesom_domains(partit, mesh) #include "../associate_part_ass.h" #include "../associate_mesh_ass.h" - IF (lnomultio.EQ..TRUE._1) RETURN + IF (lnomultio) RETURN cerr = md%new(mio_handle) IF (cerr /= MULTIO_SUCCESS) THEN @@ -356,7 +356,7 @@ SUBROUTINE iom_send_fesom_data(data) INTEGER :: cerr TYPE(multio_metadata) :: md - IF (lnomultio.EQ..TRUE._1) RETURN + IF (lnomultio) RETURN cerr = md%new(mio_handle) IF (cerr /= MULTIO_SUCCESS) THEN @@ -450,7 +450,7 @@ SUBROUTINE iom_flush(domain, step) INTEGER :: cerr TYPE(multio_metadata) :: md - IF (lnomultio.EQ..TRUE._1) RETURN + IF (lnomultio) RETURN cerr = md%new(mio_handle) IF (cerr /= MULTIO_SUCCESS) THEN From 05bd3d0d465a29a831208597004b7de8841f14eb Mon Sep 17 00:00:00 2001 From: ackerlar Date: Tue, 18 Jun 2024 14:56:11 +0200 Subject: [PATCH 167/273] fix landice fw bug --- src/ice_oce_coupling.F90 | 34 +++++++++------------------------- 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 index 08f29f1a5..dc92787e9 100755 --- a/src/ice_oce_coupling.F90 +++ b/src/ice_oce_coupling.F90 @@ -601,15 +601,15 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) !$OMP END PARALLEL DO end if -! if(lwiso .and. use_landice_water) then -!!$OMP PARALLEL DO -! do n=1, myDim_nod2D+eDim_nod2D -! wiso_flux_oce(n,1)=wiso_flux_oce(n,1)+runoff_landice(n)*1000.0*wiso_smow(1)*(1-30.0/1000.0)*landice_season(month) -! wiso_flux_oce(n,2)=wiso_flux_oce(n,2)+runoff_landice(n)*1000.0*wiso_smow(2)*(1-240.0/1000.0)*landice_season(month) -! wiso_flux_oce(n,3)=wiso_flux_oce(n,3)+runoff_landice(n)*1000.0*landice_season(month) -! end do -!!$OMP END PARALLEL DO -! end if + if(lwiso .and. use_landice_water) then +!$OMP PARALLEL DO + do n=1, myDim_nod2D+eDim_nod2D + wiso_flux_oce(n,1)=wiso_flux_oce(n,1)+runoff_landice(n)*1000.0*wiso_smow(1)*(1-30.0/1000.0)*landice_season(month) + wiso_flux_oce(n,2)=wiso_flux_oce(n,2)+runoff_landice(n)*1000.0*wiso_smow(2)*(1-240.0/1000.0)*landice_season(month) + wiso_flux_oce(n,3)=wiso_flux_oce(n,3)+runoff_landice(n)*1000.0*landice_season(month) + end do +!$OMP END PARALLEL DO + end if !---fwf-code-end !___________________________________________________________________________ @@ -757,22 +757,6 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) !---wiso-code-end - !---fwf-code-begin - if(use_landice_water) then - do n=1, myDim_nod2D+eDim_nod2D - water_flux(n)=water_flux(n)-runoff_landice(n)*landice_season(month) - end do - end if - - if(lwiso .and. use_landice_water) then - do n=1, myDim_nod2D+eDim_nod2D - wiso_flux_oce(n,1)=wiso_flux_oce(n,1)+runoff_landice(n)*1000.0*wiso_smow(1)*(1-30.0/1000.0)*landice_season(month) - wiso_flux_oce(n,2)=wiso_flux_oce(n,2)+runoff_landice(n)*1000.0*wiso_smow(2)*(1-240.0/1000.0)*landice_season(month) - wiso_flux_oce(n,3)=wiso_flux_oce(n,3)+runoff_landice(n)*1000.0*landice_season(month) - end do - end if - !---fwf-code-end - !---age-code-begin if (use_age_tracer) then tracers%data(index_age_tracer)%values(:,:) = tracers%data(index_age_tracer)%values(:,:) + dt/(86400.0*(365+fleapyear)) From 88b9642d8ef6cf1933dbc3085e2bd670d461183d Mon Sep 17 00:00:00 2001 From: ackerlar Date: Wed, 19 Jun 2024 11:57:34 +0200 Subject: [PATCH 168/273] fix missing/miss placed allocation --- src/cpl_driver.F90 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/cpl_driver.F90 b/src/cpl_driver.F90 index 2aabafe19..0c2ad2bc1 100644 --- a/src/cpl_driver.F90 +++ b/src/cpl_driver.F90 @@ -477,6 +477,9 @@ subroutine cpl_oasis3mct_define_unstr(partit, mesh) ALLOCATE(send_id(nsend)) ALLOCATE(recv_id(nrecv)) !---wiso-code-end + + ALLOCATE(displs_from_all_pes(partit%npes)) + ALLOCATE(counts_from_all_pes(partit%npes)) send_id = 0 recv_id = 0 @@ -565,8 +568,6 @@ subroutine cpl_oasis3mct_define_unstr(partit, mesh) ALLOCATE(all_x_corners(1, 1, 1)) ALLOCATE(all_y_corners(1, 1, 1)) endif - ALLOCATE(displs_from_all_pes(partit%npes)) - ALLOCATE(counts_from_all_pes(partit%npes)) From a13bc5489c8f054282e9ab8a700f01b9515bd444 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Thu, 20 Jun 2024 10:07:56 +0200 Subject: [PATCH 169/273] ci: change testing container to the one hosted in github container registry --- .github/workflows/fesom2.1.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fesom2.1.yml b/.github/workflows/fesom2.1.yml index 069a5a669..fb3e9891b 100644 --- a/.github/workflows/fesom2.1.yml +++ b/.github/workflows/fesom2.1.yml @@ -12,7 +12,7 @@ jobs: # Containers must run in Linux based operating systems runs-on: ubuntu-latest # Docker Hub image that `container-job` executes in - container: koldunovn/fesom2_test:refactoring2 + container: ghcr.io/fesom/fesom2_docker:fesom2_test_refactoring-latest # Service containers to run with `gfortran_ubuntu` steps: From ae733f02daecf5fc4a5f2c4ba2beb12ac0fa8b9c Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Thu, 20 Jun 2024 10:11:26 +0200 Subject: [PATCH 170/273] ci: wrong branch name on container --- .github/workflows/fesom2.1.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fesom2.1.yml b/.github/workflows/fesom2.1.yml index fb3e9891b..79eb4fb0c 100644 --- a/.github/workflows/fesom2.1.yml +++ b/.github/workflows/fesom2.1.yml @@ -12,7 +12,7 @@ jobs: # Containers must run in Linux based operating systems runs-on: ubuntu-latest # Docker Hub image that `container-job` executes in - container: ghcr.io/fesom/fesom2_docker:fesom2_test_refactoring-latest + container: ghcr.io/fesom/fesom2_docker:fesom2_test_refactoring-master # Service containers to run with `gfortran_ubuntu` steps: From a7d8caa4f73f7050cd3505b45f754ed54abe6a88 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Thu, 20 Jun 2024 13:40:06 +0200 Subject: [PATCH 171/273] rebase and remove old commits --- src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d44d4dc9d..9a0b91122 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -204,9 +204,9 @@ elseif(${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU ) # target_compile_options(${PROJECT_NAME} PRIVATE -O3 -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -ffree-line-length-none) if(${FESOM_PLATFORM_STRATEGY} STREQUAL ubuntu ) message(STATUS "Allowing type mismatches on Ubuntu for CI Testing" ) # NOTE(PG): Would be nicer to grab the CI=True from the env variable - target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -ffree-line-length-none -fallow-argument-mismatch) + target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fallow-argument-mismatch) else() - target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -ffree-line-length-none) + target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none) endif() if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10 ) target_compile_options(${PROJECT_NAME} PRIVATE -fallow-argument-mismatch) # gfortran v10 is strict about erroneous API calls: "Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)" From 262b9b5ea44f737e3ed286cb4ddb5cfa3462e88d Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Thu, 20 Jun 2024 14:37:11 +0200 Subject: [PATCH 172/273] builds on levante --- src/int_recom/recom_main.F90 | 52 +++++++++++++++++++++++++-------- src/int_recom/recom_sinking.F90 | 11 +++---- src/oce_ale_tracer.F90 | 8 ++--- src/oce_setup_step.F90 | 6 ++-- 4 files changed, 53 insertions(+), 24 deletions(-) diff --git a/src/int_recom/recom_main.F90 b/src/int_recom/recom_main.F90 index c89386ecb..c9c5575e5 100755 --- a/src/int_recom/recom_main.F90 +++ b/src/int_recom/recom_main.F90 @@ -5,21 +5,48 @@ module recom_interface interface subroutine recom(ice, dynamics, tracers, partit, mesh) - use mod_mesh - USE MOD_PARTIT - USE MOD_PARSUP - use mod_tracer - use MOD_DYN - use MOD_ICE - type(t_dyn) , intent(inout), target :: dynamics - type(t_ice) , intent(inout), target :: ice - type(t_tracer), intent(inout), target :: tracers - type(t_partit), intent(inout), target :: partit - type(t_mesh) , intent(inout), target :: mesh + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + use mod_tracer + use MOD_DYN + use MOD_ICE + type(t_dyn) , intent(inout), target :: dynamics + type(t_ice) , intent(inout), target :: ice + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(inout), target :: mesh end subroutine end interface end module +module bio_fluxes_interface + interface + subroutine bio_fluxes(tracers, partit, mesh) + use recom_declarations + use recom_locvar + use recom_glovar + use recom_config + + use mod_mesh + USE MOD_PARTIT + USE MOD_PARSUP + use mod_tracer + + use g_config + use o_arrays + use g_comm_auto + use g_forcing_arrays + use g_support + + type(t_tracer), intent(inout), target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh), intent(inout), target :: mesh + + end subroutine + end interface +end module + subroutine recom(ice, dynamics, tracers, partit, mesh) use g_config use MOD_MESH @@ -32,6 +59,7 @@ subroutine recom(ice, dynamics, tracers, partit, mesh) USE MOD_PARSUP use recom_declarations + use bio_fluxes_interface use recom_locvar use recom_glovar use recom_config @@ -468,4 +496,4 @@ subroutine bio_fluxes(tracers, partit, mesh) relax_alk=relax_alk-net/ocean_area ! at ocean surface layer -end subroutine bio_fluxes +end subroutine bio_fluxes \ No newline at end of file diff --git a/src/int_recom/recom_sinking.F90 b/src/int_recom/recom_sinking.F90 index 3505ec384..0971e5bd0 100644 --- a/src/int_recom/recom_sinking.F90 +++ b/src/int_recom/recom_sinking.F90 @@ -58,7 +58,7 @@ subroutine ver_sinking_recom_benthos(tr_num, tracers, partit, mesh) use recom_glovar use recom_config use recom_ciso - use ver_sinking_recom_benthos_interface + ! use ver_sinking_recom_benthos_interface use g_support use g_clock @@ -187,7 +187,7 @@ subroutine diff_ver_recom_expl(tr_num, tracers, partit, mesh) use recom_glovar use recom_config use recom_ciso - use diff_ver_recom_expl_interface + ! use diff_ver_recom_expl_interface use g_clock use o_PARAM @@ -286,7 +286,7 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) use REcoM_GloVar use recom_config use REcoM_ciso - use ver_sinking_recom_interface + ! use ver_sinking_recom_interface use g_clock use o_PARAM @@ -443,7 +443,8 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) dt_sink = dt vd_flux = 0.0d0 -if (1) then ! 3rd Order DST Sceheme with flux limiting. This code comes from old recom +!FIXME: Having IF True and IF False is bad practice. Either throw away the old code, or make a namelist switch... +if (.TRUE.) then ! 3rd Order DST Sceheme with flux limiting. This code comes from old recom k=nod_in_elem2D_num(n) ! Screening minimum depth in neigbouring nodes around node n @@ -481,7 +482,7 @@ subroutine ver_sinking_recom(tr_num, tracers, partit, mesh) end do end if ! 3rd Order DST Sceheme with flux limiting -if (0) then ! simple upwind +if (.FALSE.) then ! simple upwind ! Surface flux vd_flux(nzmin)= 0.0_WP diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index b940eb05e..7fc7e47ad 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -1487,11 +1487,11 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) !---Transient tracers (case ##6,12,14,39) need additional input parameters ! and are considered in the separate function transit_bc_surface !---wiso-code - CASE (101) ! apply boundary conditions to tracer ID=101 (H218O) + CASE (102) ! apply boundary conditions to tracer ID=101 (H218O) bc_surface = dt*wiso_flux_oce(n,1) - CASE (102) ! apply boundary conditions to tracer ID=102 (HDO) + CASE (103) ! apply boundary conditions to tracer ID=102 (HDO) bc_surface = dt*wiso_flux_oce(n,2) - CASE (103) ! apply boundary conditions to tracer ID=103 (H216O) + CASE (104) ! apply boundary conditions to tracer ID=103 (H216O) bc_surface = dt*wiso_flux_oce(n,3) !---wiso-code-end !---age-code @@ -1650,4 +1650,4 @@ FUNCTION transit_bc_surface(n, id, sst, sss, aice, sval, nzmin, partit) ! Done with boundary conditions for (transient) tracers. END SELECT RETURN -END FUNCTION +END FUNCTION \ No newline at end of file diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index a8f88dc38..0ce73bd02 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -1076,21 +1076,21 @@ SUBROUTINE oce_initial_state(tracers, partit, mesh) !---age-code-end !---wiso-code ! FESOM tracers with code id 101, 102, 103 are used as water isotopes - CASE (101) ! initialize tracer ID=101 H218O + CASE (102) ! initialize tracer ID=101 H218O if (mype==0) then write (i_string, "(I3)") i write (id_string, "(I3)") id write(*,*) 'initializing '//trim(i_string)//'th tracer with ID='//trim(id_string) write (*,*) tracers%data(i)%values(1,1) end if - CASE (102) ! initialize tracer ID=102 HD16O + CASE (103) ! initialize tracer ID=102 HD16O if (mype==0) then write (i_string, "(I3)") i write (id_string, "(I3)") id write(*,*) 'initializing '//trim(i_string)//'th tracer with ID='//trim(id_string) write (*,*) tracers%data(i)%values(1,1) end if - CASE (103) ! initialize tracer ID=103 H216O + CASE (104) ! initialize tracer ID=103 H216O if (mype==0) then write (i_string, "(I3)") i write (id_string, "(I3)") id From d1ff2e6ef3b55aa44c6845d09922f1c1a07033fc Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Thu, 20 Jun 2024 14:48:27 +0200 Subject: [PATCH 173/273] enables traceback on errors --- src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9a0b91122..e24277e79 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -204,9 +204,9 @@ elseif(${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU ) # target_compile_options(${PROJECT_NAME} PRIVATE -O3 -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -ffree-line-length-none) if(${FESOM_PLATFORM_STRATEGY} STREQUAL ubuntu ) message(STATUS "Allowing type mismatches on Ubuntu for CI Testing" ) # NOTE(PG): Would be nicer to grab the CI=True from the env variable - target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fallow-argument-mismatch) + target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -traceback -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fallow-argument-mismatch) else() - target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none) + target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -traceback -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none) endif() if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10 ) target_compile_options(${PROJECT_NAME} PRIVATE -fallow-argument-mismatch) # gfortran v10 is strict about erroneous API calls: "Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)" From 1c74c7f6dcc8bc7b723a7a643639651f43d2dca8 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Thu, 20 Jun 2024 14:51:32 +0200 Subject: [PATCH 174/273] enables backtrace --- src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e24277e79..9237696ca 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -204,9 +204,9 @@ elseif(${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU ) # target_compile_options(${PROJECT_NAME} PRIVATE -O3 -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -ffree-line-length-none) if(${FESOM_PLATFORM_STRATEGY} STREQUAL ubuntu ) message(STATUS "Allowing type mismatches on Ubuntu for CI Testing" ) # NOTE(PG): Would be nicer to grab the CI=True from the env variable - target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -traceback -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fallow-argument-mismatch) + target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -backtrace -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fallow-argument-mismatch) else() - target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -traceback -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none) + target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -backtrace -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none) endif() if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10 ) target_compile_options(${PROJECT_NAME} PRIVATE -fallow-argument-mismatch) # gfortran v10 is strict about erroneous API calls: "Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)" From b48a653b64d8e06b27b542ad8d948c8795af734a Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Thu, 20 Jun 2024 14:54:34 +0200 Subject: [PATCH 175/273] enables backtrace 2 --- src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9237696ca..0ebbd9ed1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -204,9 +204,9 @@ elseif(${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU ) # target_compile_options(${PROJECT_NAME} PRIVATE -O3 -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -ffree-line-length-none) if(${FESOM_PLATFORM_STRATEGY} STREQUAL ubuntu ) message(STATUS "Allowing type mismatches on Ubuntu for CI Testing" ) # NOTE(PG): Would be nicer to grab the CI=True from the env variable - target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -backtrace -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fallow-argument-mismatch) + target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -fbacktrace -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none -fallow-argument-mismatch) else() - target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -backtrace -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none) + target_compile_options(${PROJECT_NAME} PRIVATE -O2 -g -fbacktrace -ffloat-store -finit-local-zero -finline-functions -fimplicit-none -fdefault-real-8 -fdefault-double-8 -ffree-line-length-none) endif() if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10 ) target_compile_options(${PROJECT_NAME} PRIVATE -fallow-argument-mismatch) # gfortran v10 is strict about erroneous API calls: "Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-1)" From c4a89ae32b7deaf9307afdeb826ee70a831681a7 Mon Sep 17 00:00:00 2001 From: dsidoren Date: Fri, 28 Jun 2024 10:46:33 +0200 Subject: [PATCH 176/273] setting default for tracers/AB_order = 2 in oce_setup_step.F90 Hey folks! I've reworked AB_tracer. Now it initializes by default, so even if you forget to set it in the namelist, it won't run wild with random values. We've identified the chaos monster! --- src/oce_setup_step.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/oce_setup_step.F90 b/src/oce_setup_step.F90 index 9ec0bb0dc..c7dd8a6c9 100755 --- a/src/oce_setup_step.F90 +++ b/src/oce_setup_step.F90 @@ -293,7 +293,7 @@ SUBROUTINE tracer_init(tracers, partit, mesh) integer :: num_tracers logical :: i_vert_diff, smooth_bh_tra real(kind=WP) :: gamma0_tra, gamma1_tra, gamma2_tra - integer :: AB_order + integer :: AB_order = 2 namelist /tracer_listsize/ num_tracers namelist /tracer_list / nml_tracer_list namelist /tracer_general / smooth_bh_tra, gamma0_tra, gamma1_tra, gamma2_tra, i_vert_diff, AB_order From 904860c3b29b3e114f416da50e5222fee491869e Mon Sep 17 00:00:00 2001 From: Dmitri Sidorenko Date: Fri, 28 Jun 2024 11:00:41 +0200 Subject: [PATCH 177/273] drop an error message if AB_order for tracers is ridiculous --- src/oce_tracer_mod.F90 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/oce_tracer_mod.F90 b/src/oce_tracer_mod.F90 index 944be884b..cfbf917ba 100755 --- a/src/oce_tracer_mod.F90 +++ b/src/oce_tracer_mod.F90 @@ -43,6 +43,10 @@ SUBROUTINE init_tracers_AB(tr_num, tracers, partit, mesh) elseif (tracers%data(tr_num)%AB_order==3) then tracers%data(tr_num)%valuesAB(:, n) =5.0_WP*tracers%data(tr_num)%valuesold(2, :, n)-16.0_WP*tracers%data(tr_num)%valuesold(1, :, n)+23.0_WP*tracers%data(tr_num)%values(:, n) tracers%data(tr_num)%valuesAB(:, n) =tracers%data(tr_num)%valuesAB(:, n)/12.0_WP + else + write(*,*) 'unknown AB order for tracer ', tr_num, ' = ', tracers%data(tr_num)%AB_order + call par_ex(partit%MPI_COMM_FESOM, partit%mype) + STOP end if end do !$OMP END PARALLEL DO From bfb192c0a9ee288baf2d7c15f89b00b48856e806 Mon Sep 17 00:00:00 2001 From: dsidoren Date: Fri, 28 Jun 2024 11:12:44 +0200 Subject: [PATCH 178/273] drop an error message for ridiculous values for AB_order in oce_tracer_mod.F90 drop an error message for ridiculous values for AB_order in oce_tracer_mod.F90 --- src/oce_tracer_mod.F90 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/oce_tracer_mod.F90 b/src/oce_tracer_mod.F90 index 944be884b..9bce85427 100755 --- a/src/oce_tracer_mod.F90 +++ b/src/oce_tracer_mod.F90 @@ -43,6 +43,10 @@ SUBROUTINE init_tracers_AB(tr_num, tracers, partit, mesh) elseif (tracers%data(tr_num)%AB_order==3) then tracers%data(tr_num)%valuesAB(:, n) =5.0_WP*tracers%data(tr_num)%valuesold(2, :, n)-16.0_WP*tracers%data(tr_num)%valuesold(1, :, n)+23.0_WP*tracers%data(tr_num)%values(:, n) tracers%data(tr_num)%valuesAB(:, n) =tracers%data(tr_num)%valuesAB(:, n)/12.0_WP + else + write(*,*) 'unknown AB order for tracer ', tr_num, ' = ', tracers%data(tr_num)%AB_order + call par_ex(partit%MPI_COMM_FESOM, partit%mype) + STOP end if end do !$OMP END PARALLEL DO From 8c6b15ac57d3b5420545a2c89f99299b19b77635 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Tue, 2 Jul 2024 12:05:03 +0200 Subject: [PATCH 179/273] Update README.md remove duplicate info --- README.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/README.md b/README.md index 1d3a9b686..5a8acdd51 100644 --- a/README.md +++ b/README.md @@ -29,12 +29,3 @@ References * **[Version with ICEPACK sea ice thermodynamics]** Zampieri, Lorenzo, Frank Kauker, Jörg Fröhle, Hiroshi Sumata, Elizabeth C. Hunke, and Helge Goessling. Impact of Sea-Ice Model Complexity on the Performance of an Unstructured-Mesh Sea-ice/ocean Model Under Different Atmospheric Forcings. Washington: American Geophysical Union, 2020. https://dx.doi.org/10.1002/essoar.10505308.1. * **[Version coupled with OpenIFS atmosphere]** Streffing, J., Sidorenko, D., Semmler, T., Zampieri, L., Scholz, P., Andrés-Martínez, M., et al ( 2022). AWI-CM3 coupled climate model: description and evaluation experiments for a prototype post-CMIP6 model. Geoscientific Model Development, 15. https://doi.org/10.5194/gmd-15-6399-2022 - -Documentation for FESOM2 -************************ - -Here lives FESOM2 documentation - -Rendered version: https://fesom2.readthedocs.io/en/latest/ - - From fb06ccb91a70ec6f26161fb5edd558e0b0d8afdb Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 12 Jul 2024 14:33:36 +0200 Subject: [PATCH 180/273] Redo ozgures leapyear problem: (ii) make choice of calendar settings not dependent on include_fleapyear flag, make it only dependent on the calendar choice of the forcing files. That means we could run JRA55 forcing with gregorian calendar but without the leapyears, (ii) make sure that when include_fleapyear=.false. but the forcing contains fleapyear, that the 29 Feb is realy skipped also in the temporal interpolation cache --- src/gen_modules_clock.F90 | 9 +- src/gen_surface_forcing.F90 | 220 ++++++++++++++++++++++++++++++------ 2 files changed, 196 insertions(+), 33 deletions(-) diff --git a/src/gen_modules_clock.F90 b/src/gen_modules_clock.F90 index e3abda4d3..0a287ab7e 100755 --- a/src/gen_modules_clock.F90 +++ b/src/gen_modules_clock.F90 @@ -196,11 +196,18 @@ subroutine check_fleapyr(year, flag) flag=0 if(.not.include_fleapyear) return + call is_fleapyr(year, flag) + end subroutine check_fleapyr + subroutine is_fleapyr(year, flag) + implicit none + integer, intent(in) :: year + integer, intent(out):: flag + flag=0 if ((mod(year,4)==0.and.mod(year,100)/=0) .or. mod(year,400)==0) then flag=1 endif - end subroutine check_fleapyr + end subroutine is_fleapyr ! !---------------------------------------------------------------------------- ! diff --git a/src/gen_surface_forcing.F90 b/src/gen_surface_forcing.F90 index 4b38b5535..77e19f189 100644 --- a/src/gen_surface_forcing.F90 +++ b/src/gen_surface_forcing.F90 @@ -171,6 +171,8 @@ MODULE g_sbf character(len = MAX_PATH) :: file_name ! file name character(len = 34) :: var_name ! variable name in the NetCDF file character(len = 34) :: calendar ! variable name in the NetCDF file + integer :: year_orig ! year according to original time axis + integer :: year ! year according to filename year!=year_orig in case of linked forcing integer :: nc_Nlon integer :: nc_Nlat integer :: nc_Ntime @@ -215,6 +217,7 @@ SUBROUTINE nc_readTimeGrid(flf, partit) integer :: ierror ! return error code character(len=20) :: aux_calendar integer :: aux_len + integer :: yyyy, mm, dd !open file if (partit%mype==0) then @@ -371,7 +374,8 @@ SUBROUTINE nc_readTimeGrid(flf, partit) call check_nferr(iost,flf%file_name,partit) ! digg for calendar attribute in time axis variable - if (partit%mype==0 .and. use_flpyrcheck) then +!PS if (partit%mype==0 .and. use_flpyrcheck) then + if (partit%mype==0) then iost = nf_inq_attlen(ncid, id_time,'calendar',aux_len) iost = nf_get_att(ncid, id_time,'calendar',aux_calendar) aux_calendar = aux_calendar(1:aux_len) @@ -385,7 +389,10 @@ SUBROUTINE nc_readTimeGrid(flf, partit) flf%calendar=lowercase(aux_calendar) write(*,*) ' --> found calendar attr. in time axis: |',trim(flf%calendar),'|' end if - + end if + call MPI_BCast(flf%calendar, len(flf%calendar), MPI_CHARACTER, 0, partit%MPI_COMM_FESOM, ierror) + + if (partit%mype==0 .and. use_flpyrcheck) then ! check for calendar and include_fleapyear consistency if ((trim(flf%calendar).eq.'none') .or. & (trim(flf%calendar).eq.'noleap') .or. & @@ -446,8 +453,41 @@ SUBROUTINE nc_readTimeGrid(flf, partit) end if end if - ! transform time axis accorcing to calendar and include_fleapyear=.true./.false. flag - flf%nc_time = flf%nc_time / nm_nc_freq + julday(nm_nc_iyear,nm_nc_imm,nm_nc_idd) +!PS ! transform time axis accorcing to calendar and include_fleapyear=.true./.false. flag +!PS flf%nc_time = flf%nc_time / nm_nc_freq + julday(nm_nc_iyear,nm_nc_imm,nm_nc_idd) + ! transfer time-axis of the forcing files in units of days + flf%nc_time = flf%nc_time / nm_nc_freq + + ! add the original reference period (1900-01-01(JRA55) to 0000-01-01) of the + ! forcing file in units of days --> new reference period 0001-01-01 + flf%nc_time = flf%nc_time + julday(nm_nc_iyear, nm_nc_imm, nm_nc_idd, trim(flf%calendar)) + + ! Solve special problem here: Ozgurs wants to repeat only part of the JRA55 + ! forcing periodically (e.g repeat the period 1958-1967) through re-linking + ! of the original forcing files. + ! + ! 1st problem: This will mess up the leap year cycle of the entire forcing, so + ! the model has to run best without leapyear although the calendar + ! system of the forcing remains gregorian (so with leapyear) + ! This can be solved by makeing the treatment of the time-axes + ! depending on the calendar of the forcing files, not alone from + ! the include_fleapyear flag + ! + ! 2nd problem: In the case of a periodically repeated forcing period through + ! re-linking of the original files it happens that e.g. the year + ! 1968 is linked to the file 1958 in that case time axis of the + ! 1968 forcing file remains that of the original 1958 file. So + ! axis needs to be resetted properly + call calendar_date(int(flf%nc_time(1)), yyyy, mm, dd, trim(flf%calendar)) + + ! remove the reference period of the original file + flf%year_orig = yyyy + flf%nc_time = flf%nc_time - julday(yyyy , 1, 1, trim(flf%calendar)) + + ! reset the reference period to the proper year it should represent + flf%year = yearnew + flf%nc_time = flf%nc_time + julday(yearnew, 1, 1, trim(flf%calendar)) + if (nm_nc_tmid/=1) then if (flf%nc_Ntime > 1) then do i = 1, flf%nc_Ntime-1 @@ -533,14 +573,16 @@ SUBROUTINE nc_sbc_ini_fillnames(yyyy) if (l_cloud) sbc_flfi(i_cloud)%var_name=ADJUSTL(trim(nm_cloud_var)) END SUBROUTINE nc_sbc_ini_fillnames - SUBROUTINE nc_sbc_ini(rdate, partit, mesh) +!PS SUBROUTINE nc_sbc_ini(rdate, partit, mesh) + SUBROUTINE nc_sbc_ini(partit, mesh) !!--------------------------------------------------------------------- !! ** Purpose : initialization of ocean forcing from NETCDF file !!---------------------------------------------------------------------- IMPLICIT NONE - real(wp),intent(in) :: rdate ! initialization date - integer :: idate +!PS real(wp),intent(in) :: rdate ! initialization date + real(wp) :: rdate ! initialization date +!PS integer :: idate integer :: yyyy,mm,dd integer :: i @@ -566,13 +608,20 @@ SUBROUTINE nc_sbc_ini(rdate, partit, mesh) warn = 0 ! get ini year; Fill names of sbc_flfi - idate=int(rdate) - call calendar_date(idate,yyyy,mm,dd) - call nc_sbc_ini_fillnames(yyyy) +!PS idate=int(rdate) +!PS call calendar_date(idate,yyyy,mm,dd) +!PS call nc_sbc_ini_fillnames(yyyy) + call nc_sbc_ini_fillnames(yearnew) + ! we assume that all NetCDF files have identical grid and time variable do fld_idx = 1, i_totfl call nc_readTimeGrid(sbc_flfi(fld_idx), partit) end do + + ! compute model rdate at initial moment + rdate = real(julday(yearnew, 1, 1, sbc_flfi(1)%calendar )) + rdate = rdate+real(daynew-1,WP)+timenew/86400._WP + if (lfirst) then do fld_idx = 1, i_totfl flf=>sbc_flfi(fld_idx) @@ -621,12 +670,17 @@ SUBROUTINE nc_sbc_ini(rdate, partit, mesh) call getcoeffld(fld_idx, rdate, partit, mesh) end do ! interpolate in time + + if (partit%mype==0) then + write(*,*) 'sbc_do --> mstep:',mstep, ' rdate=', rdate + end if call data_timeinterp(rdate, partit) END SUBROUTINE nc_sbc_ini SUBROUTINE getcoeffld(fld_idx, rdate, partit, mesh) use forcing_provider_async_module use io_netcdf_workaround_module + use g_clock !!--------------------------------------------------------------------- !! *** ROUTINE getcoeffld *** !! @@ -656,10 +710,12 @@ SUBROUTINE getcoeffld(fld_idx, rdate, partit, mesh) ! real(wp), allocatable, dimension(:,:) :: sbcdata1,sbcdata2 real(wp) :: data1,data2 real(wp) :: delta_t ! time(t_indx) - time(t_indx+1) - + real(wp) :: rdatep1 ! time(t_indx) - time(t_indx+1) + integer :: elnodes(4) !4 nodes from one element integer :: numnodes ! nu,ber of nodes in elem (3 for triangle, 4 for ... ) - integer :: yyyy,mm,dd +!PS integer :: yyyy,mm,dd + integer :: yyyy, mm, dd, flag_flpyr=0 integer :: ierror ! return error code integer, pointer :: nc_Ntime, nc_Nlon, nc_Nlat, t_indx, t_indx_p1 character(len=MAX_PATH), pointer :: file_name @@ -701,8 +757,51 @@ SUBROUTINE getcoeffld(fld_idx, rdate, partit, mesh) now_date = rdate call binarysearch(nc_Ntime,nc_time,now_date,t_indx) if ( (t_indx < nc_Ntime) .and. (t_indx > 0) ) then - t_indx_p1 = t_indx + 1 - delta_t = nc_time(t_indx_p1) - nc_time(t_indx) +!PS t_indx_p1 = t_indx + 1 +!PS delta_t = nc_time(t_indx_p1) - nc_time(t_indx) + + t_indx_p1 = t_indx + 1 + delta_t = nc_time(t_indx_p1) - nc_time(t_indx) + + !_______________________________________________________________________ + ! if include_fleapyear==.False. and forcing file of year contains a fleap + ! year, try to step over the 29.Feb so it is not used for temporal + ! interpolation + if ((include_fleapyear .eqv. .False.) .and. & + ((trim(sbc_flfi(fld_idx)%calendar).eq.'julian' ) .or. & + (trim(sbc_flfi(fld_idx)%calendar).eq.'gregorian' ) .or. & + (trim(sbc_flfi(fld_idx)%calendar).eq.'proleptic_gregorian') .or. & + (trim(sbc_flfi(fld_idx)%calendar).eq.'standard' ))) then + + ! Need to know what is the original year of the forcing file. In case of + ! ozgures problem where forcing files get re-linked it can happen that + ! non-leapyears are represented by a leapyear file thus the indexing + ! and counting needs to be adapted + ! --> sbc_flfi(fld_idx)%year_orig ... year according to original time axis + ! --> sbc_flfi(fld_idx)%year ... year according to filename + call is_fleapyr(sbc_flfi(fld_idx)%year_orig, flag_flpyr) + + ! here skip the 29.Feb in the counting + ! go from 28.Feb directly to 1.Mar for the case the forcing file contains + ! a leapyear. + if (flag_flpyr==1) then + ! skip the 29. Feb if the model finds one in the forcing data + call calendar_date(int(nc_time(t_indx_p1)), yyyy, mm, dd, sbc_flfi(fld_idx)%calendar ) + if (mm==2 .and. dd==29) then + ! --> go directly to the first time slice what represents the + ! 1. March + rdatep1 = real(julday(yearnew,1,1, sbc_flfi(fld_idx)%calendar ),WP) + rdatep1 = rdatep1+real(60,WP) + delta_t*0.5_WP + call binarysearch(nc_Ntime, nc_time, rdatep1, t_indx_p1) + delta_t = nc_time(t_indx_p1) - nc_time(t_indx) + if (partit%mype==0 .and. fld_idx==1) then + call calendar_date(int(nc_time(t_indx_p1)), yyyy, mm, dd, sbc_flfi(fld_idx)%calendar ) + write(*,*) ' --> jump over 29. Feb, now : yy, mm, dd = ', yyyy, mm, dd + end if + end if + end if + end if + elseif (t_indx > 0) then ! NO extrapolation to future t_indx = nc_Ntime t_indx_p1 = t_indx @@ -914,8 +1013,8 @@ SUBROUTINE sbc_ini(partit, mesh) !!---------------------------------------------------------------------- IMPLICIT NONE - integer :: idate ! initialization date - real(wp) :: rdate ! initialization date +!PS integer :: idate ! initialization date +!PS real(wp) :: rdate ! initialization date integer :: iost ! I/O status integer :: sbc_alloc !: allocation status @@ -949,10 +1048,10 @@ SUBROUTINE sbc_ini(partit, mesh) READ( nm_sbc_unit, nml=nam_sbc, iostat=iost ) close( nm_sbc_unit ) - if (mype==0) write(*,*) "Start: Ocean forcing initialization." - rdate = real(julday(yearnew,1,1)) - rdate = rdate+real(daynew-1,WP)+timenew/86400._WP - idate = int(rdate) +!PS if (mype==0) write(*,*) "Start: Ocean forcing initialization." +!PS rdate = real(julday(yearnew,1,1)) +!PS rdate = rdate+real(daynew-1,WP)+timenew/86400._WP +!PS idate = int(rdate) if (mype==0) then write(*,*) "Start: Ocean forcing initialization." @@ -1081,7 +1180,11 @@ SUBROUTINE sbc_ini(partit, mesh) emp = 0.0_WP qsr = 0.0_WP ALLOCATE(sbc_flfi(i_totfl)) - call nc_sbc_ini(rdate, partit, mesh) + + !_________________________________________________________________________ + ! initialise interpolations coefficients +!PS call nc_sbc_ini(rdate, partit, mesh) + call nc_sbc_ini(partit, mesh) !========================================================================== #endif ! runoff @@ -1121,7 +1224,8 @@ SUBROUTINE sbc_do(partit, mesh) real(wp) :: rdate ! date integer :: fld_idx, i logical :: do_rotation_wind, do_rotation_stre, force_newcoeff, update_monthly_flag - integer :: yyyy, dd, mm +!PS integer :: yyyy, dd, mm + integer :: yyyy, dd, mm, flag_flpyr=0 integer, pointer :: nc_Ntime, t_indx, t_indx_p1 real(wp), pointer :: nc_time(:) character(len=MAX_PATH) :: filename @@ -1135,10 +1239,13 @@ SUBROUTINE sbc_do(partit, mesh) force_newcoeff=.false. if (yearnew/=yearold) then - rdate = real(julday(yearnew,1,1),WP) - call calendar_date(int(rdate),yyyy,dd,mm) +!PS rdate = real(julday(yearnew,1,1),WP) +!PS call calendar_date(int(rdate),yyyy,dd,mm) +!PS ! use next set of forcing files +!PS call nc_sbc_ini_fillnames(yyyy) ! use next set of forcing files - call nc_sbc_ini_fillnames(yyyy) + call nc_sbc_ini_fillnames(yearnew) + ! we assume that all NetCDF files have identical grid and time variable do fld_idx = 1, i_totfl call nc_readTimeGrid(sbc_flfi(fld_idx), partit) @@ -1147,12 +1254,44 @@ SUBROUTINE sbc_do(partit, mesh) end if - rdate = real(julday(yearnew,1,1),WP) - rdate = rdate+real(daynew-1,WP)+timenew/86400._WP-dt/86400._WP/2._WP +!PS rdate = real(julday(yearnew,1,1),WP) +!PS rdate = rdate+real(daynew-1,WP)+timenew/86400._WP-dt/86400._WP/2._WP do_rotation_wind=.false. do_rotation_stre=.false. do fld_idx = 1, i_totfl + ! compute model rdate based on the calendar option of the forcing file so + ! match up + rdate = real(julday(yearnew,1,1, sbc_flfi(fld_idx)%calendar ),WP) + rdate = rdate+real(daynew-1,WP)+timenew/86400._WP-dt/86400._WP/2._WP + + !_______________________________________________________________________ + ! special case if include_fleapyear==False but the calendar of the forcing + ! is julian or gregorian, so has the potential to contain a fleapyear value + if ((include_fleapyear .eqv. .False.) .and. & + ((trim(sbc_flfi(fld_idx)%calendar).eq.'julian' ) .or. & + (trim(sbc_flfi(fld_idx)%calendar).eq.'gregorian' ) .or. & + (trim(sbc_flfi(fld_idx)%calendar).eq.'proleptic_gregorian') .or. & + (trim(sbc_flfi(fld_idx)%calendar).eq.'standard' ))) then + + ! Need to know what is the original year of the forcing file. In case of + ! ozgures problem where forcing files get re-linked it can happen that + ! non-leapyears are represented by a leapyear file thus the indexing + ! and counting needs to be adapted + ! --> sbc_flfi(fld_idx)%year_orig ... year according to original time axis + ! --> sbc_flfi(fld_idx)%year ... year according to filename + call is_fleapyr(sbc_flfi(fld_idx)%year_orig, flag_flpyr) + + ! here skip the 29.Feb (28 Feb is the 59 day in year) in the counting + ! go from 28.Feb directly to 1.Mar for the case the forcing file contains + ! a leapyear. + if (flag_flpyr==1 .and. daynew>59) then + rdate = real(julday(yearnew,1,1, sbc_flfi(fld_idx)%calendar ),WP) + rdate = rdate+real(daynew-1+1,WP)+timenew/86400._WP-dt/86400._WP/2._WP + end if + end if + + !_______________________________________________________________________ nc_time =>sbc_flfi(fld_idx)%nc_time t_indx_p1=>sbc_flfi(fld_idx)%t_indx_p1 t_indx =>sbc_flfi(fld_idx)%t_indx @@ -1247,13 +1386,16 @@ SUBROUTINE sbc_do(partit, mesh) end if - + if (partit%mype==0) then + write(*,*) 'sbc_do --> mstep:',mstep, ' rdate=', rdate + end if ! interpolate in time call data_timeinterp(rdate, partit) END SUBROUTINE sbc_do - FUNCTION julday(yyyy,mm,dd) +!PS FUNCTION julday(yyyy,mm,dd) + FUNCTION julday(yyyy, mm, dd, calendar) IMPLICIT NONE integer, INTENT(IN) :: mm, dd, yyyy @@ -1264,11 +1406,18 @@ FUNCTION julday(yyyy,mm,dd) integer, PARAMETER :: IGREG=15+31*(10+12*1582) ! Gregorian Calendar adopted Oct. 15, 1582. integer :: ja,jm,jy + character(len=*) :: calendar + if (y_perpetual) then !to work with COREI forcing julday=0 return end if - if (include_fleapyear) then +!PS if (include_fleapyear) then + !if (include_fleapyear) then + if ((trim(calendar).eq.'julian' ) .or. & + (trim(calendar).eq.'gregorian' ) .or. & + (trim(calendar).eq.'proleptic_gregorian') .or. & + (trim(calendar).eq.'standard' )) then jy = yyyy if (jy == 0) STOP 'julday: there is no year zero' if (jy < 0) jy=jy+1 @@ -1290,7 +1439,8 @@ FUNCTION julday(yyyy,mm,dd) END FUNCTION julday - SUBROUTINE calendar_date(julian,yyyy,mm,dd) +!PS SUBROUTINE calendar_date(julian,yyyy,mm,dd) + SUBROUTINE calendar_date(julian, yyyy, mm, dd, calendar) ! Converts a Julian day to a calendar date (year, month and day). Numerical Recipes IMPLICIT NONE @@ -1301,9 +1451,15 @@ SUBROUTINE calendar_date(julian,yyyy,mm,dd) integer, parameter :: IGREG=2299161 integer :: ja,jb,jc,jd,je real(wp) :: x + character(len = *) :: calendar + ! !----------------------------------------------------------------------- - if (include_fleapyear) then +!PS if (include_fleapyear) then + if ((trim(calendar).eq.'julian' ) .or. & + (trim(calendar).eq.'gregorian' ) .or. & + (trim(calendar).eq.'proleptic_gregorian') .or. & + (trim(calendar).eq.'standard' )) then if (julian >= IGREG ) then x = ((julian-1867216)-0.25_WP)/36524.25_WP ja = julian+1+int(x)-int(0.25*x) From 43f67b8dcdc9064c879f480e31d9e40d318919da Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 15 Jul 2024 15:55:20 +0200 Subject: [PATCH 181/273] clean up a bit after ickecked that the results resume the same when compared to a clean refactoring branch --- src/gen_surface_forcing.F90 | 203 +++++++++++++++--------------------- 1 file changed, 86 insertions(+), 117 deletions(-) diff --git a/src/gen_surface_forcing.F90 b/src/gen_surface_forcing.F90 index 77e19f189..eafb60a6c 100644 --- a/src/gen_surface_forcing.F90 +++ b/src/gen_surface_forcing.F90 @@ -363,40 +363,39 @@ SUBROUTINE nc_readTimeGrid(flf, partit) call check_nferr(iost,flf%file_name,partit) !____________________________________________________________________________ ! read time axis from file - if (partit%mype==0) then - nf_start(1)=1 - nf_edges(1)=flf%nc_Ntime - iost = nf_get_vara_double(ncid, id_time, nf_start, nf_edges, flf%nc_time) - ! digg for calendar attribute in time axis variable - end if - call MPI_BCast(flf%nc_time, flf%nc_Ntime, MPI_DOUBLE_PRECISION, 0, partit%MPI_COMM_FESOM, ierror) - call MPI_BCast(iost, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) - call check_nferr(iost,flf%file_name,partit) + if (partit%mype==0) then + nf_start(1)=1 + nf_edges(1)=flf%nc_Ntime + iost = nf_get_vara_double(ncid, id_time, nf_start, nf_edges, flf%nc_time) + ! digg for calendar attribute in time axis variable + end if + call MPI_BCast(flf%nc_time, flf%nc_Ntime, MPI_DOUBLE_PRECISION, 0, partit%MPI_COMM_FESOM, ierror) + call MPI_BCast(iost, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) + call check_nferr(iost,flf%file_name,partit) - ! digg for calendar attribute in time axis variable -!PS if (partit%mype==0 .and. use_flpyrcheck) then - if (partit%mype==0) then - iost = nf_inq_attlen(ncid, id_time,'calendar',aux_len) - iost = nf_get_att(ncid, id_time,'calendar',aux_calendar) - aux_calendar = aux_calendar(1:aux_len) - - if (iost .ne. NF_NOERR) then + ! digg for calendar attribute in time axis variable + if (partit%mype==0) then + iost = nf_inq_attlen(ncid, id_time,'calendar',aux_len) + iost = nf_get_att(ncid, id_time,'calendar',aux_calendar) + aux_calendar = aux_calendar(1:aux_len) + if (iost .ne. NF_NOERR) then flf%calendar='none' write(*,*) ' --> could not find/read calendar attribute in the time axis' write(*,*) ' of the forcing file (Is this right?). I assume there is' write(*,*) ' none and proceed in CORE2 style without leap years!' - else + else flf%calendar=lowercase(aux_calendar) write(*,*) ' --> found calendar attr. in time axis: |',trim(flf%calendar),'|' - end if - end if - call MPI_BCast(flf%calendar, len(flf%calendar), MPI_CHARACTER, 0, partit%MPI_COMM_FESOM, ierror) + end if + end if ! --> if (partit%mype==0) then + ! distribute calender option to other cpus + call MPI_BCast(flf%calendar, len(flf%calendar), MPI_CHARACTER, 0, partit%MPI_COMM_FESOM, ierror) - if (partit%mype==0 .and. use_flpyrcheck) then - ! check for calendar and include_fleapyear consistency - if ((trim(flf%calendar).eq.'none') .or. & - (trim(flf%calendar).eq.'noleap') .or. & - (trim(flf%calendar).eq.'365_days')) then + if (partit%mype==0 .and. use_flpyrcheck) then + ! check for calendar and include_fleapyear consistency + if ((trim(flf%calendar).eq.'none') .or. & + (trim(flf%calendar).eq.'noleap') .or. & + (trim(flf%calendar).eq.'365_days')) then if (include_fleapyear .eqv. .true.) then print *, achar(27)//'[33m' write(*,*) '____________________________________________________________' @@ -411,10 +410,10 @@ SUBROUTINE nc_readTimeGrid(flf, partit) print *, achar(27)//'[0m' call par_ex(partit%MPI_COMM_FESOM, partit%mype, 0) end if - elseif ((trim(flf%calendar).eq.'julian') .or. & - (trim(flf%calendar).eq.'gregorian') .or. & - (trim(flf%calendar).eq.'proleptic_gregorian') .or. & - (trim(flf%calendar).eq.'standard')) then + elseif ((trim(flf%calendar).eq.'julian') .or. & + (trim(flf%calendar).eq.'gregorian') .or. & + (trim(flf%calendar).eq.'proleptic_gregorian') .or. & + (trim(flf%calendar).eq.'standard')) then if (include_fleapyear .eqv. .false.) then print *, achar(27)//'[33m' write(*,*) '____________________________________________________________' @@ -432,7 +431,7 @@ SUBROUTINE nc_readTimeGrid(flf, partit) print *, achar(27)//'[0m' call par_ex(partit%MPI_COMM_FESOM, partit%mype, 0) end if - else + else print *, achar(27)//'[31m' write(*,*) '____________________________________________________________' write(*,*) ' ERROR: I am not familiar with the found calendar option,' @@ -450,77 +449,75 @@ SUBROUTINE nc_readTimeGrid(flf, partit) write(*,*) '____________________________________________________________' print *, achar(27)//'[0m' call par_ex(partit%MPI_COMM_FESOM, partit%mype, 0) - end if - end if + end if ! --> if ((trim(flf%calendar).eq.'none') .or. & ... + end if !--> if (partit%mype==0 .and. use_flpyrcheck) then -!PS ! transform time axis accorcing to calendar and include_fleapyear=.true./.false. flag -!PS flf%nc_time = flf%nc_time / nm_nc_freq + julday(nm_nc_iyear,nm_nc_imm,nm_nc_idd) - ! transfer time-axis of the forcing files in units of days - flf%nc_time = flf%nc_time / nm_nc_freq - - ! add the original reference period (1900-01-01(JRA55) to 0000-01-01) of the - ! forcing file in units of days --> new reference period 0001-01-01 - flf%nc_time = flf%nc_time + julday(nm_nc_iyear, nm_nc_imm, nm_nc_idd, trim(flf%calendar)) - - ! Solve special problem here: Ozgurs wants to repeat only part of the JRA55 - ! forcing periodically (e.g repeat the period 1958-1967) through re-linking - ! of the original forcing files. - ! - ! 1st problem: This will mess up the leap year cycle of the entire forcing, so - ! the model has to run best without leapyear although the calendar - ! system of the forcing remains gregorian (so with leapyear) - ! This can be solved by makeing the treatment of the time-axes - ! depending on the calendar of the forcing files, not alone from - ! the include_fleapyear flag - ! - ! 2nd problem: In the case of a periodically repeated forcing period through - ! re-linking of the original files it happens that e.g. the year - ! 1968 is linked to the file 1958 in that case time axis of the - ! 1968 forcing file remains that of the original 1958 file. So - ! axis needs to be resetted properly - call calendar_date(int(flf%nc_time(1)), yyyy, mm, dd, trim(flf%calendar)) - - ! remove the reference period of the original file - flf%year_orig = yyyy - flf%nc_time = flf%nc_time - julday(yyyy , 1, 1, trim(flf%calendar)) - - ! reset the reference period to the proper year it should represent - flf%year = yearnew - flf%nc_time = flf%nc_time + julday(yearnew, 1, 1, trim(flf%calendar)) + ! transfer time-axis of the forcing files in units of days + flf%nc_time = flf%nc_time / nm_nc_freq + + ! add the original reference period (1900-01-01(JRA55) to 0000-01-01) of the + ! forcing file in units of days --> new reference period 0001-01-01 + flf%nc_time = flf%nc_time + julday(nm_nc_iyear, nm_nc_imm, nm_nc_idd, trim(flf%calendar)) + + ! Solve special problem here: Ozgurs wants to repeat only part of the JRA55 + ! forcing periodically (e.g repeat the period 1958-1967) through re-linking + ! of the original forcing files. + ! + ! 1st problem: This will mess up the leap year cycle of the entire forcing, so + ! the model has to run best without leapyear although the calendar + ! system of the forcing remains gregorian (so with leapyear) + ! This can be solved by makeing the treatment of the time-axes + ! depending on the calendar of the forcing files, not alone from + ! the include_fleapyear flag + ! + ! 2nd problem: In the case of a periodically repeated forcing period through + ! re-linking of the original files it happens that e.g. the year + ! 1968 is linked to the file 1958 in that case time axis of the + ! 1968 forcing file remains that of the original 1958 file. So + ! axis needs to be resetted properly + call calendar_date(int(flf%nc_time(1)), yyyy, mm, dd, trim(flf%calendar)) + + ! remove the reference period of the original file + flf%year_orig = yyyy + flf%nc_time = flf%nc_time - julday(yyyy , 1, 1, trim(flf%calendar)) + + ! reset the reference period to the proper year it should represent + flf%year = yearnew + flf%nc_time = flf%nc_time + julday(yearnew, 1, 1, trim(flf%calendar)) - if (nm_nc_tmid/=1) then - if (flf%nc_Ntime > 1) then + if (nm_nc_tmid/=1) then + if (flf%nc_Ntime > 1) then do i = 1, flf%nc_Ntime-1 flf%nc_time(i) = (flf%nc_time(i+1) + flf%nc_time(i))/2.0_WP end do flf%nc_time(flf%nc_Ntime) = flf%nc_time(flf%nc_Ntime) + (flf%nc_time(flf%nc_Ntime) - flf%nc_time(flf%nc_Ntime-1))/2.0 - end if - end if - call MPI_BCast(flf%nc_lon, flf%nc_Nlon, MPI_DOUBLE_PRECISION, 0, partit%MPI_COMM_FESOM, ierror) - call MPI_BCast(flf%nc_lat, flf%nc_Nlat, MPI_DOUBLE_PRECISION, 0, partit%MPI_COMM_FESOM, ierror) + end if + end if + call MPI_BCast(flf%nc_lon, flf%nc_Nlon, MPI_DOUBLE_PRECISION, 0, partit%MPI_COMM_FESOM, ierror) + call MPI_BCast(flf%nc_lat, flf%nc_Nlat, MPI_DOUBLE_PRECISION, 0, partit%MPI_COMM_FESOM, ierror) !___________________________________________________________________________ !flip lat and data in case of lat from -90 to 90 !!!! WARNING this is temporal solution, needs some more checks - flip_lat = 0 - if ( flf%nc_Nlat > 1 ) then - if ( flf%nc_lat(1) > flf%nc_lat(flf%nc_Nlat) ) then + flip_lat = 0 + if ( flf%nc_Nlat > 1 ) then + if ( flf%nc_lat(1) > flf%nc_lat(flf%nc_Nlat) ) then flip_lat = 1 flf%nc_lat=flf%nc_lat(flf%nc_Nlat:1:-1) if (partit%mype==0) write(*,*) "fv_sbc: nc_readTimeGrid: FLIP lat and data while lat from -90 to 90" - endif - endif + endif + endif - if (partit%mype==0) then + if (partit%mype==0) then iost = nf_close(ncid) - end if - call MPI_BCast(iost, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) - call check_nferr(iost,flf%file_name,partit) - - if (ic_cyclic) then - flf%nc_lon(1) =flf%nc_lon(1)-360._WP - flf%nc_lon(flf%nc_Nlon)=flf%nc_lon(flf%nc_Nlon)+360._WP - end if + end if + call MPI_BCast(iost, 1, MPI_INTEGER, 0, partit%MPI_COMM_FESOM, ierror) + call check_nferr(iost,flf%file_name,partit) + + if (ic_cyclic) then + flf%nc_lon(1) =flf%nc_lon(1)-360._WP + flf%nc_lon(flf%nc_Nlon)=flf%nc_lon(flf%nc_Nlon)+360._WP + end if END SUBROUTINE nc_readTimeGrid SUBROUTINE nc_sbc_ini_fillnames(yyyy) @@ -573,16 +570,13 @@ SUBROUTINE nc_sbc_ini_fillnames(yyyy) if (l_cloud) sbc_flfi(i_cloud)%var_name=ADJUSTL(trim(nm_cloud_var)) END SUBROUTINE nc_sbc_ini_fillnames -!PS SUBROUTINE nc_sbc_ini(rdate, partit, mesh) SUBROUTINE nc_sbc_ini(partit, mesh) !!--------------------------------------------------------------------- !! ** Purpose : initialization of ocean forcing from NETCDF file !!---------------------------------------------------------------------- IMPLICIT NONE -!PS real(wp),intent(in) :: rdate ! initialization date real(wp) :: rdate ! initialization date -!PS integer :: idate integer :: yyyy,mm,dd integer :: i @@ -608,9 +602,6 @@ SUBROUTINE nc_sbc_ini(partit, mesh) warn = 0 ! get ini year; Fill names of sbc_flfi -!PS idate=int(rdate) -!PS call calendar_date(idate,yyyy,mm,dd) -!PS call nc_sbc_ini_fillnames(yyyy) call nc_sbc_ini_fillnames(yearnew) ! we assume that all NetCDF files have identical grid and time variable @@ -714,7 +705,7 @@ SUBROUTINE getcoeffld(fld_idx, rdate, partit, mesh) integer :: elnodes(4) !4 nodes from one element integer :: numnodes ! nu,ber of nodes in elem (3 for triangle, 4 for ... ) -!PS integer :: yyyy,mm,dd + integer :: yyyy, mm, dd, flag_flpyr=0 integer :: ierror ! return error code integer, pointer :: nc_Ntime, nc_Nlon, nc_Nlat, t_indx, t_indx_p1 @@ -757,8 +748,6 @@ SUBROUTINE getcoeffld(fld_idx, rdate, partit, mesh) now_date = rdate call binarysearch(nc_Ntime,nc_time,now_date,t_indx) if ( (t_indx < nc_Ntime) .and. (t_indx > 0) ) then -!PS t_indx_p1 = t_indx + 1 -!PS delta_t = nc_time(t_indx_p1) - nc_time(t_indx) t_indx_p1 = t_indx + 1 delta_t = nc_time(t_indx_p1) - nc_time(t_indx) @@ -1013,8 +1002,6 @@ SUBROUTINE sbc_ini(partit, mesh) !!---------------------------------------------------------------------- IMPLICIT NONE -!PS integer :: idate ! initialization date -!PS real(wp) :: rdate ! initialization date integer :: iost ! I/O status integer :: sbc_alloc !: allocation status @@ -1048,11 +1035,6 @@ SUBROUTINE sbc_ini(partit, mesh) READ( nm_sbc_unit, nml=nam_sbc, iostat=iost ) close( nm_sbc_unit ) -!PS if (mype==0) write(*,*) "Start: Ocean forcing initialization." -!PS rdate = real(julday(yearnew,1,1)) -!PS rdate = rdate+real(daynew-1,WP)+timenew/86400._WP -!PS idate = int(rdate) - if (mype==0) then write(*,*) "Start: Ocean forcing initialization." write(*,*) "Surface boundary conditions parameters:" @@ -1183,8 +1165,8 @@ SUBROUTINE sbc_ini(partit, mesh) !_________________________________________________________________________ ! initialise interpolations coefficients -!PS call nc_sbc_ini(rdate, partit, mesh) call nc_sbc_ini(partit, mesh) + !========================================================================== #endif ! runoff @@ -1224,7 +1206,6 @@ SUBROUTINE sbc_do(partit, mesh) real(wp) :: rdate ! date integer :: fld_idx, i logical :: do_rotation_wind, do_rotation_stre, force_newcoeff, update_monthly_flag -!PS integer :: yyyy, dd, mm integer :: yyyy, dd, mm, flag_flpyr=0 integer, pointer :: nc_Ntime, t_indx, t_indx_p1 real(wp), pointer :: nc_time(:) @@ -1239,10 +1220,6 @@ SUBROUTINE sbc_do(partit, mesh) force_newcoeff=.false. if (yearnew/=yearold) then -!PS rdate = real(julday(yearnew,1,1),WP) -!PS call calendar_date(int(rdate),yyyy,dd,mm) -!PS ! use next set of forcing files -!PS call nc_sbc_ini_fillnames(yyyy) ! use next set of forcing files call nc_sbc_ini_fillnames(yearnew) @@ -1253,9 +1230,6 @@ SUBROUTINE sbc_do(partit, mesh) force_newcoeff=.true. end if - -!PS rdate = real(julday(yearnew,1,1),WP) -!PS rdate = rdate+real(daynew-1,WP)+timenew/86400._WP-dt/86400._WP/2._WP do_rotation_wind=.false. do_rotation_stre=.false. @@ -1394,7 +1368,6 @@ SUBROUTINE sbc_do(partit, mesh) END SUBROUTINE sbc_do -!PS FUNCTION julday(yyyy,mm,dd) FUNCTION julday(yyyy, mm, dd, calendar) IMPLICIT NONE @@ -1412,8 +1385,6 @@ FUNCTION julday(yyyy, mm, dd, calendar) julday=0 return end if -!PS if (include_fleapyear) then - !if (include_fleapyear) then if ((trim(calendar).eq.'julian' ) .or. & (trim(calendar).eq.'gregorian' ) .or. & (trim(calendar).eq.'proleptic_gregorian') .or. & @@ -1439,7 +1410,6 @@ FUNCTION julday(yyyy, mm, dd, calendar) END FUNCTION julday -!PS SUBROUTINE calendar_date(julian,yyyy,mm,dd) SUBROUTINE calendar_date(julian, yyyy, mm, dd, calendar) ! Converts a Julian day to a calendar date (year, month and day). Numerical Recipes @@ -1455,7 +1425,6 @@ SUBROUTINE calendar_date(julian, yyyy, mm, dd, calendar) ! !----------------------------------------------------------------------- -!PS if (include_fleapyear) then if ((trim(calendar).eq.'julian' ) .or. & (trim(calendar).eq.'gregorian' ) .or. & (trim(calendar).eq.'proleptic_gregorian') .or. & From ac44b3303fc7c2ca3ed212331fe022206797f8fe Mon Sep 17 00:00:00 2001 From: ackerlar Date: Mon, 22 Jul 2024 11:44:23 +0200 Subject: [PATCH 182/273] fix ib fw flux --- src/icb_coupling.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/icb_coupling.F90 b/src/icb_coupling.F90 index a715f3925..e4331ecd7 100644 --- a/src/icb_coupling.F90 +++ b/src/icb_coupling.F90 @@ -96,10 +96,10 @@ subroutine icb2fesom(mesh, partit, ice) do n=1, myDim_nod2d+eDim_nod2D if (.not.turn_off_hf) then - net_heat_flux(n) = net_heat_flux(n) + ibhf(n) + net_heat_flux(n) = net_heat_flux(n) + ibhf(n) * steps_per_ib_step end if if (.not.turn_off_fw) then - fresh_wa_flux(n) = fresh_wa_flux(n) + (ibfwb(n)+ibfwl(n)+ibfwe(n)+ibfwbv(n)) + fresh_wa_flux(n) = fresh_wa_flux(n) + (ibfwb(n)+ibfwl(n)+ibfwe(n)+ibfwbv(n)) * steps_per_ib_step end if end do !---wiso-code-begin From 0053c078f3544f1bb52da6651b46888d27cf9a14 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Mon, 22 Jul 2024 11:44:49 +0200 Subject: [PATCH 183/273] set correct unit for ib heat flux --- src/io_meandata.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 0da12aca9..4232da250 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -622,7 +622,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'ibfwbv', 'basal iceberg melting', 'm/s', ibfwbv(:), 1, 'm', i_real4, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'ibfwl', 'lateral iceberg melting', 'm/s', ibfwl(:), 1, 'm', i_real4, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'ibfwe', 'iceberg erosion', 'm/s', ibfwe(:), 1, 'm', i_real4, partit, mesh) - call def_stream(nod2D, myDim_nod2D, 'ibhf', 'heat flux from iceberg melting', 'm/s', ibhf(:), 1, 'm', i_real4, partit, mesh) + call def_stream(nod2D, myDim_nod2D, 'ibhf', 'heat flux from iceberg melting', 'W/m2', ibhf(:), 1, 'm', i_real4, partit, mesh) end if !------------------------------------------ !_______________________________________________________________________________ From 626a37129760075ac0eb458339a78124e64a1874 Mon Sep 17 00:00:00 2001 From: seshadri levante Date: Thu, 25 Jul 2024 11:19:56 +0200 Subject: [PATCH 184/273] Added export command in env.sh to recitify 'Not found blas' for cpu compilation --- env.sh | 7 ++++++- env/levante.dkrz.de/shell.gnu | 2 +- env/levante.dkrz.de/shell.intel | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/env.sh b/env.sh index 6fff86847..687e8c362 100755 --- a/env.sh +++ b/env.sh @@ -54,6 +54,11 @@ elif [[ $LOGINHOST =~ ^m[A-Za-z0-9]+\.hpc\.dkrz\.de$ ]]; then STRATEGY="mistral.dkrz.de" elif [[ $LOGINHOST =~ ^levante ]] || [[ $LOGINHOST =~ ^l[:alnum:]+\.lvt\.dkrz\.de$ ]]; then STRATEGY="levante.dkrz.de" + # following regex only matches if input is 2 word like levante.nvhpc + compid_regex="^([[:alnum:]]+)\.([[:alnum:]]+)$" + if [[ $LOGINHOST =~ $compid_regex ]]; then + COMPILERID="${BASH_REMATCH[2]}" + fi elif [[ $LOGINHOST =~ ^ollie[0-9]$ ]] || [[ $LOGINHOST =~ ^prod-[0-9]{4}$ ]]; then STRATEGY="ollie" elif [[ $LOGINHOST =~ ^albedo[0-9]$ ]] || [[ $LOGINHOST =~ ^prod-[0-9]{4}$ ]]; then @@ -112,4 +117,4 @@ else echo "Sourcing $(realpath $SHELLFILE) for environment" source $SHELLFILE echo "$(realpath ${SHELLFILE})" > $DIR/bin/current_shell_path -fi +fi \ No newline at end of file diff --git a/env/levante.dkrz.de/shell.gnu b/env/levante.dkrz.de/shell.gnu index fd85dc154..d42c0ca4b 100755 --- a/env/levante.dkrz.de/shell.gnu +++ b/env/levante.dkrz.de/shell.gnu @@ -18,7 +18,7 @@ export FC=mpif90 CC=mpicc CXX=mpicxx # following is only needed for libblas which is needed by params lib and often provided by lapack #module load intel-oneapi-mkl/2022.0.1-gcc-11.2.0 # so use the LD_LIBRARY_PATH or other paths like prefix paths etc for cmake -#export LD_LIBRARY_PATH=/sw/spack-levante/intel-oneapi-mkl-2022.0.1-ttdktf/mkl/2022.0.1/lib/intel64:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH=/sw/spack-levante/intel-oneapi-mkl-2022.0.1-ttdktf/mkl/2022.0.1/lib/intel64:$LD_LIBRARY_PATH spack load intel-oneapi-mkl@2022.0.1%gcc@11.2.0 #other alternative blas diff --git a/env/levante.dkrz.de/shell.intel b/env/levante.dkrz.de/shell.intel index e087c7f84..777e55f0d 100755 --- a/env/levante.dkrz.de/shell.intel +++ b/env/levante.dkrz.de/shell.intel @@ -9,7 +9,7 @@ module load openmpi/4.1.2-intel-2021.5.0 export FC=mpif90 CC=mpicc CXX=mpicxx ; spack load intel-oneapi-mkl@2022.0.1%gcc@11.2.0 # this handles adding to path elegantly then using hardcoded path below #module load intel-oneapi-mkl/2022.0.1-gcc-11.2.0 -#export LD_LIBRARY_PATH=/sw/spack-levante/intel-oneapi-mkl-2022.0.1-ttdktf/mkl/2022.0.1/lib/intel64:$LD_LIBRARY_PATH +export LD_LIBRARY_PATH=/sw/spack-levante/intel-oneapi-mkl-2022.0.1-ttdktf/mkl/2022.0.1/lib/intel64:$LD_LIBRARY_PATH module load netcdf-c/4.8.1-openmpi-4.1.2-intel-2021.5.0 module load netcdf-fortran/4.5.3-openmpi-4.1.2-intel-2021.5.0 From 26ad76291d4ddd76110cae796b76a7b6135bfe22 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 26 Jul 2024 08:13:06 +0200 Subject: [PATCH 185/273] update ci test truth after removal of parms solver --- setups/test_pi/setup.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setups/test_pi/setup.yml b/setups/test_pi/setup.yml index aa74a7996..a2b9bd4f0 100644 --- a/setups/test_pi/setup.yml +++ b/setups/test_pi/setup.yml @@ -57,12 +57,12 @@ namelist.io: prec: 8 fcheck: - a_ice: 0.2692498167543513 - salt: 23.944089812055452 - sst: 8.526792796340805 - temp: 1.7018189804276316 - u: -0.0014310701355284717 - v: 0.00014314237674481877 + a_ice: 0.2692498167586123 + salt: 23.944089812053637 + sst: 8.526792796322084 + temp: 1.7018189804265962 + u: -0.001431070160064853 + v: 0.00014314235109323336 From c3b0bb093f14c1cc97009efac72b71b79205507a Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 26 Jul 2024 08:20:21 +0200 Subject: [PATCH 186/273] update channel setup ci test truth after removal of parms solver --- setups/test_souf/setup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setups/test_souf/setup.yml b/setups/test_souf/setup.yml index bc82f05de..83905007f 100644 --- a/setups/test_souf/setup.yml +++ b/setups/test_souf/setup.yml @@ -86,5 +86,5 @@ fcheck: temp: 14.329708416524904 sst: 18.939699613817496 u: 0.0274316731683607 - v: -0.0008870790518593145 + v: -0.0008870790413357777 From cdc330938945efa9611f5cd98682e596c0e2d0d2 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 26 Jul 2024 08:30:57 +0200 Subject: [PATCH 187/273] update channel setup ci test truth after removal of parms solver --- setups/test_souf/setup.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setups/test_souf/setup.yml b/setups/test_souf/setup.yml index 83905007f..2e55fa562 100644 --- a/setups/test_souf/setup.yml +++ b/setups/test_souf/setup.yml @@ -83,8 +83,8 @@ namelist.io: fcheck: salt: 35.0 - temp: 14.329708416524904 - sst: 18.939699613817496 - u: 0.0274316731683607 + temp: 14.329708416524543 + sst: 18.939699613817673 + u: 0.02743167316313434 v: -0.0008870790413357777 From 2eab17bcfe5b80f4e4f9996fd0cae2e9a551623f Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 26 Jul 2024 09:04:14 +0200 Subject: [PATCH 188/273] update pi setup truth after bugfix_ice_cutoff --- setups/test_pi/setup.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setups/test_pi/setup.yml b/setups/test_pi/setup.yml index a2b9bd4f0..d3d7f0084 100644 --- a/setups/test_pi/setup.yml +++ b/setups/test_pi/setup.yml @@ -57,12 +57,12 @@ namelist.io: prec: 8 fcheck: - a_ice: 0.2692498167586123 - salt: 23.944089812053637 - sst: 8.526792796322084 - temp: 1.7018189804265962 - u: -0.001431070160064853 - v: 0.00014314235109323336 + a_ice: 0.2692496175281426 + salt: 23.94409404180963 + sst: 8.527030848425198 + temp: 1.7018242410566116 + u: -0.001431025773970824 + v: 0.00014310903096321633 From 3885df36a5c94759162d35a02178a7cf1be2ed7d Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 26 Jul 2024 10:19:16 +0200 Subject: [PATCH 189/273] update pi setup truth after bugfix_hnode_in_Trz_and_difveR_which_tr_in_Trxy --- setups/test_pi/setup.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setups/test_pi/setup.yml b/setups/test_pi/setup.yml index d3d7f0084..2f6f4f329 100644 --- a/setups/test_pi/setup.yml +++ b/setups/test_pi/setup.yml @@ -57,12 +57,12 @@ namelist.io: prec: 8 fcheck: - a_ice: 0.2692496175281426 - salt: 23.94409404180963 - sst: 8.527030848425198 - temp: 1.7018242410566116 - u: -0.001431025773970824 - v: 0.00014310903096321633 + a_ice: 0.26924962187185747 + salt: 23.944094043870354 + sst: 8.527031072276941 + temp: 1.7018242478283752 + u: -0.001431025922707346 + v: 0.00014310848537922601 From 80a7660c59e4c0a2f69041fe8f11a71b68d2310f Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 26 Jul 2024 10:28:10 +0200 Subject: [PATCH 190/273] update souf channel setup truth after bugfix_hnode_in_Trz_and_difveR_which_tr_in_Trxy --- setups/test_souf/setup.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/setups/test_souf/setup.yml b/setups/test_souf/setup.yml index 2e55fa562..fc1351b04 100644 --- a/setups/test_souf/setup.yml +++ b/setups/test_souf/setup.yml @@ -83,8 +83,8 @@ namelist.io: fcheck: salt: 35.0 - temp: 14.329708416524543 - sst: 18.939699613817673 - u: 0.02743167316313434 - v: -0.0008870790413357777 + temp: 14.32970841652409 + sst: 18.939699613844834 + u: 0.027431673113900858 + v: -0.0008870790453674198 From 47c57a9f6c0d63ec4d58a0b0d497ae6e9cef6d22 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 26 Jul 2024 15:16:07 +0200 Subject: [PATCH 191/273] update pi setup truth afer ice_fct_screening bugfix --- setups/test_pi/setup.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setups/test_pi/setup.yml b/setups/test_pi/setup.yml index 2f6f4f329..e4ae20717 100644 --- a/setups/test_pi/setup.yml +++ b/setups/test_pi/setup.yml @@ -57,12 +57,12 @@ namelist.io: prec: 8 fcheck: - a_ice: 0.26924962187185747 - salt: 23.944094043870354 - sst: 8.527031072276941 - temp: 1.7018242478283752 - u: -0.001431025922707346 - v: 0.00014310848537922601 + a_ice: 0.27108448840783833 + salt: 23.944466710004477 + sst: 8.552813775183326 + temp: 1.7029145432367123 + u: -0.0014060689996156879 + v: 0.00013448533488475642 From ae0e3bbd586c1fc0a130a202195b8f0a4afd1e52 Mon Sep 17 00:00:00 2001 From: Martin Butzin Date: Thu, 15 Aug 2024 12:39:44 +0200 Subject: [PATCH 192/273] Bugfix: Reintroduce auxiliary latitude variables for transient tracer input. --- src/oce_ale_tracer.F90 | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 53cf3d37b..8080338e9 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -95,12 +95,13 @@ function bc_surface(n, id, sval, nzmin, partit) module transit_bc_surface_interface interface - function transit_bc_surface(n, id, sst, sss, a_ice, sval, nzmin, partit) + function transit_bc_surface(n, id, sst, sss, a_ice, sval, nzmin, partit, mesh) use mod_mesh USE MOD_PARTIT USE MOD_PARSUP integer , intent(in) :: n, id, nzmin type(t_partit), intent(inout), target :: partit + type(t_mesh), intent(in), target :: mesh real(kind=WP) :: transit_bc_surface real(kind=WP), intent(in) :: sst, sss, a_ice, sval end function @@ -896,7 +897,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, ice, partit, mesh) tr(nzmin)= tr(nzmin)+bc_surface(n, tracers%data(tr_num)%ID, trarr(nzmin,n), nzmin, partit) if ((tracers%data(tr_num)%ID .ge. 6) .and.(tracers%data(tr_num)%ID .le. 40)) then - tr(nzmin)= tr(nzmin)+transit_bc_surface(n, tracers%data(tr_num)%ID, sst(nzmin,n), sss(nzmin,n), a_ice(n), trarr(nzmin,n), nzmin, partit) + tr(nzmin)= tr(nzmin)+transit_bc_surface(n, tracers%data(tr_num)%ID, sst(nzmin,n), sss(nzmin,n), a_ice(n), trarr(nzmin,n), nzmin, partit, mesh) end if !_______________________________________________________________________ @@ -1410,7 +1411,7 @@ FUNCTION bc_surface(n, id, sval, nzmin, partit) ! This function returns a boundary conditions for a specified transient tracer ID and surface node. ! Different to function bc_surface, SST, SSS, and sea ice concentrations are always needed as ! auxiliary variable -FUNCTION transit_bc_surface(n, id, sst, sss, aice, sval, nzmin, partit) +FUNCTION transit_bc_surface(n, id, sst, sss, aice, sval, nzmin, partit, mesh) use MOD_MESH USE MOD_PARTIT USE MOD_PARSUP @@ -1424,6 +1425,7 @@ FUNCTION transit_bc_surface(n, id, sst, sss, aice, sval, nzmin, partit) integer, intent(in) :: n, id, nzmin real(kind=WP), intent(in) :: sst, sss, aice, sval type(t_partit),intent(inout), target :: partit + type(t_mesh), intent(in), target :: mesh REAL(kind=WP) :: transit_bc_surface character(len=10) :: id_string @@ -1432,15 +1434,20 @@ FUNCTION transit_bc_surface(n, id, sst, sss, aice, sval, nzmin, partit) ! --> is_nonlinfs=0.0 for linfs #if defined (__oasis) -! SLP and wind speed in coupled setups. This is a makeshift solution -! as long as the true values are not provided by the AGCM / OASIS. - press_a = mean_slp - wind_2 = speed_2(stress_atmoce_x(n), stress_atmoce_y(n)) +! SLP and wind speed in coupled setups. This is a makeshift solution +! as long as the true values are not provided by the AGCM / OASIS. + press_a = mean_slp + wind_2 = speed_2(stress_atmoce_x(n), stress_atmoce_y(n)) #else - press_a = press_air(n) - wind_2 = u_wind(n)**2 + v_wind(n)**2 + press_a = press_air(n) + wind_2 = u_wind(n)**2 + v_wind(n)**2 #endif +! The atmospheric input of bomb 14C, CFC-12, and SF6 depends on latitude. To that effect specify + y_abc = mesh%geo_coord_nod2D(2,n) / rad ! latitude of atmospheric tracer input + yy_nh = (10. - y_abc) * 0.05 ! interpolation weight for tropical tracer values + + SELECT CASE (id) ! Boundary conditions for additional (transient) tracers (14C, 39Ar, CFC-12, and SF6) From db84c173ea8135335e708677d551c56fc76e2e4e Mon Sep 17 00:00:00 2001 From: Sebastian Beyer Date: Thu, 15 Aug 2024 21:01:41 +0200 Subject: [PATCH 193/273] Remove checkout refactoring from getting_started.rst Since main is now the default branch we need to update the documentation in that regard :) --- docs/getting_started/getting_started.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/getting_started/getting_started.rst b/docs/getting_started/getting_started.rst index 227fd00de..cf5207da4 100644 --- a/docs/getting_started/getting_started.rst +++ b/docs/getting_started/getting_started.rst @@ -14,7 +14,6 @@ Supported systems are: generic ``ubuntu``, ``albedo`` at AWI, ``levante`` at DKR git clone https://github.com/FESOM/fesom2.git cd fesom2 - git checkout refactoring bash -l ./configure.sh Create file ``fesom.clock`` in the output directory with the following content (if you plan to run with COREII forcing): From 4b419801fdd1298ad000fdb50f5713a569535072 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 16 Aug 2024 10:34:05 +0200 Subject: [PATCH 194/273] Update io_meandata.F90 --- src/io_meandata.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index b97d35544..d8143c2c5 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -881,7 +881,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'ke_V2mean', 'V2 mean', 'm/s', dynamics%ke_u2mean(2,:,:), io_list(i)%freq, 'm', 8, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'ke_dW', 'd/dz (vertical VEL)', 'm/s', dynamics%ke_dW(:,:), io_list(i)%freq, 'm', 8, partit, mesh) - call def_s/ream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'ke_PFULL', 'full Pressure', 'm/s', dynamics%ke_Pfull(:,:), io_list(i)%freq, 'm', 8, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'ke_PFULL', 'full Pressure', 'm/s', dynamics%ke_Pfull(:,:), io_list(i)%freq, 'm', 8, partit, mesh) call def_stream(elem2D, myDim_elem2D, 'ke_wind_x', 'wind [x] *dT', 'm/s', dynamics%ke_wind(1,:), io_list(i)%freq, 'm', 8, partit, mesh) call def_stream(elem2D, myDim_elem2D, 'ke_wind_y', 'wind [y] *dT', 'm/s', dynamics%ke_wind(2,:), io_list(i)%freq, 'm', 8, partit, mesh) From d322f212851be891b533d77bbdaae8d544d4274d Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 16 Aug 2024 10:39:47 +0200 Subject: [PATCH 195/273] Update gen_model_setup.F90 --- src/gen_model_setup.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gen_model_setup.F90 b/src/gen_model_setup.F90 index 191ac5cca..13a669a3a 100755 --- a/src/gen_model_setup.F90 +++ b/src/gen_model_setup.F90 @@ -86,7 +86,7 @@ subroutine setup_model(partit) read (fileunit, NML=diag_list) close (fileunit) -#if defined(__recom) +#if defined (__recom) nmlfile ='namelist.recom' ! name of recom namelist file open (newunit=fileunit, file=nmlfile) read (fileunit, NML=pavariables) From e835f5a9b1a146d8721604acd05b373d3fbbe336 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 16 Aug 2024 10:44:11 +0200 Subject: [PATCH 196/273] Update gen_modules_diag.F90 --- src/gen_modules_diag.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 8dad9bb17..8555a6a48 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -3146,7 +3146,7 @@ subroutine dvd_add_difflux_bhvisc(do_SDdvd, tr_num, dvd_tot, tr, trstar, gamma0_ dvd_tot(nu1:nl1-1, ednodes(2), tr_num) = dvd_tot(nu1:nl1-1, ednodes(2), tr_num) - & trc(nu1:nl1-1)*dtr(nu1:nl1-1) / ( areasvol(nu1:nl1-1,ednodes(2)) ) #if defined(_OPENMP) && !defined(__openmp_reproducible) - call omp_unset_lock(partit%plock(en(2))) + call omp_unset_lock(partit%plock(ednodes(2))) #else !$OMP END ORDERED #endif From dbb251249214647d238cd7dc734b0ae0939432ac Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 16 Aug 2024 14:00:07 +0200 Subject: [PATCH 197/273] Update gen_modules_diag.F90 --- src/gen_modules_diag.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 8555a6a48..8e00b92a0 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -3116,7 +3116,7 @@ subroutine dvd_add_difflux_bhvisc(do_SDdvd, tr_num, dvd_tot, tr, trstar, gamma0_ dvd_tot(nu1:nl1-1, ednodes(2), tr_num) = dvd_tot(nu1:nl1-1, ednodes(2), tr_num) - & trc(nu1:nl1-1)*dtr(nu1:nl1-1)/(areasvol(nu1:nl1-1,ednodes(2))) #if defined(_OPENMP) && !defined(__openmp_reproducible) - call omp_unset_lock(partit%plock(en(2))) + call omp_unset_lock(partit%plock(ednodes(2))) #else !$OMP END ORDERED #endif From 986ad358d2ba64b8adac842a090cedc2cc14ad3b Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 16 Aug 2024 15:44:41 +0200 Subject: [PATCH 198/273] hopefully fixing OMP issue in oce_adv_tra_driver.F90 --- src/oce_adv_tra_driver.F90 | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index 11a8ffb96..adbb55458 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -239,8 +239,11 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, ! DVD diagostic: store low order horizontal and vertical tracer fluxes through mid ! edge faces and upper and lower scalar cell prism face. in case of FCT if ((ldiag_DVD) .and. (tr_num<=2)) then -!OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) - !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) +#ifndef ENABLE_OPENACC +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) +#else + !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) +#endif do n=1, myDim_edge2D !$ACC LOOP VECTOR do nz=1, mesh%nl - 1 @@ -257,8 +260,11 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, end do !$ACC END LOOP end do - !$ACC END PARALLEL LOOP +#ifndef ENABLE_OPENACC !$OMP END PARALLEL DO +#else + !$ACC END PARALLEL LOOP +#endif end if !_______________________________________________________________________ From 49d914c4fa37e41a2ce0d200bd4266f18aca8f3e Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Fri, 16 Aug 2024 16:03:55 +0200 Subject: [PATCH 199/273] Update oce_adv_tra_driver.F90 --- src/oce_adv_tra_driver.F90 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index adbb55458..9ea180484 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -235,6 +235,7 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, !$ACC END PARALLEL LOOP #endif + !_______________________________________________________________________ ! DVD diagostic: store low order horizontal and vertical tracer fluxes through mid ! edge faces and upper and lower scalar cell prism face. in case of FCT @@ -242,7 +243,7 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, #ifndef ENABLE_OPENACC !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) #else - !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) + !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) #endif do n=1, myDim_edge2D !$ACC LOOP VECTOR @@ -267,6 +268,7 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, #endif end if + !_______________________________________________________________________ if (dynamics%use_wsplit) then !wvel/=wvel_e From 2f0f60db35043b381b912c4dd891eebbf8e5c905 Mon Sep 17 00:00:00 2001 From: dsidoren Date: Mon, 19 Aug 2024 13:43:32 +0200 Subject: [PATCH 200/273] playing around with OMP to compile --- src/oce_adv_tra_driver.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index 9ea180484..e86b0136e 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -346,7 +346,7 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, if ((ldiag_DVD) .and. (tr_num<=2)) then !_______________________________________________________________________ if (trim(tracers%data(tr_num)%tra_adv_lim)=='FCT') then -!OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) do n=1, myDim_edge2D !$ACC LOOP VECTOR @@ -375,7 +375,7 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, !_______________________________________________________________________ else -!OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) do n=1, myDim_edge2D !$ACC LOOP VECTOR From 04ece3215870870dbe55cfc235a9c4ff9f83442a Mon Sep 17 00:00:00 2001 From: dsidoren Date: Mon, 19 Aug 2024 13:48:46 +0200 Subject: [PATCH 201/273] playing around with OMP 2 --- src/oce_adv_tra_driver.F90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index e86b0136e..26fc50c75 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -240,11 +240,11 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, ! DVD diagostic: store low order horizontal and vertical tracer fluxes through mid ! edge faces and upper and lower scalar cell prism face. in case of FCT if ((ldiag_DVD) .and. (tr_num<=2)) then -#ifndef ENABLE_OPENACC +!#ifndef ENABLE_OPENACC !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) -#else +!#else !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) -#endif +!#endif do n=1, myDim_edge2D !$ACC LOOP VECTOR do nz=1, mesh%nl - 1 From e437467c0432678282c6ccc1929dde381b62aa36 Mon Sep 17 00:00:00 2001 From: dsidoren Date: Mon, 19 Aug 2024 13:52:24 +0200 Subject: [PATCH 202/273] playing around with OMP 3 --- src/oce_adv_tra_driver.F90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index 26fc50c75..e86b0136e 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -240,11 +240,11 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, ! DVD diagostic: store low order horizontal and vertical tracer fluxes through mid ! edge faces and upper and lower scalar cell prism face. in case of FCT if ((ldiag_DVD) .and. (tr_num<=2)) then -!#ifndef ENABLE_OPENACC +#ifndef ENABLE_OPENACC !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) -!#else +#else !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) -!#endif +#endif do n=1, myDim_edge2D !$ACC LOOP VECTOR do nz=1, mesh%nl - 1 From 581e1b0ab2f65f8a781ec1ba6350f4343fc0ddbc Mon Sep 17 00:00:00 2001 From: dsidoren Date: Mon, 19 Aug 2024 13:57:38 +0200 Subject: [PATCH 203/273] playing around with OMP & GPT --- src/oce_adv_tra_driver.F90 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index e86b0136e..306a6c2d0 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -241,10 +241,11 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, ! edge faces and upper and lower scalar cell prism face. in case of FCT if ((ldiag_DVD) .and. (tr_num<=2)) then #ifndef ENABLE_OPENACC -!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(n, nz) #else !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) #endif +!$OMP DO do n=1, myDim_edge2D !$ACC LOOP VECTOR do nz=1, mesh%nl - 1 @@ -252,8 +253,10 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, end do !$ACC END LOOP end do +!$OMP END DO !$ACC END PARALLEL LOOP !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) +!$OMP DO do n=1, myDim_nod2D !$ACC LOOP VECTOR do nz=1, mesh%nl @@ -261,8 +264,9 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, end do !$ACC END LOOP end do +!$OMP END DO #ifndef ENABLE_OPENACC -!$OMP END PARALLEL DO +!$OMP END PARALLEL #else !$ACC END PARALLEL LOOP #endif From c1d078e0e1ec932a372777b5bf3833690fda30df Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Mon, 19 Aug 2024 14:03:44 +0200 Subject: [PATCH 204/273] Playing around with OMP final part --- src/oce_adv_tra_driver.F90 | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/oce_adv_tra_driver.F90 b/src/oce_adv_tra_driver.F90 index 306a6c2d0..8ef6e9a4c 100644 --- a/src/oce_adv_tra_driver.F90 +++ b/src/oce_adv_tra_driver.F90 @@ -350,8 +350,9 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, if ((ldiag_DVD) .and. (tr_num<=2)) then !_______________________________________________________________________ if (trim(tracers%data(tr_num)%tra_adv_lim)=='FCT') then -!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(n, nz) !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) +!$OMP DO do n=1, myDim_edge2D !$ACC LOOP VECTOR do nz=1, mesh%nl-1 @@ -361,9 +362,11 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, end do !$ACC END LOOP end do +!$OMP END DO !$ACC END PARALLEL LOOP !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) +!$OMP DO do n=1, myDim_nod2D !$ACC LOOP VECTOR do nz=1, mesh%nl @@ -373,14 +376,16 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, end do !$ACC END LOOP end do +!$OMP END DO !$ACC END PARALLEL LOOP -!$OMP END PARALLEL DO +!$OMP END PARALLEL !_______________________________________________________________________ else -!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz) +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(n, nz) !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) +!$OMP DO do n=1, myDim_edge2D !$ACC LOOP VECTOR do nz=1, mesh%nl-1 @@ -388,9 +393,11 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, end do !$ACC END LOOP end do +!$OMP END DO !$ACC END PARALLEL LOOP !$ACC PARALLEL LOOP GANG VECTOR DEFAULT(PRESENT) DEFAULT(PRESENT) VECTOR_LENGTH(acc_vl) +!$OMP DO do n=1, myDim_nod2D !$ACC LOOP VECTOR do nz=1, mesh%nl @@ -398,9 +405,10 @@ subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, dynamics, tracers, partit, end do !$ACC END LOOP end do +!$OMP END DO !$ACC END PARALLEL LOOP -!$OMP END PARALLEL DO +!$OMP END PARALLEL end if end if !-->if ((ldiag_DVD) .and. (tr_num<=2)) then From 46759d2b8ae3d97c6d4ea16e6ed9f3ec7724d258 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Tue, 20 Aug 2024 14:56:29 +0200 Subject: [PATCH 205/273] adjust pi test truth --- setups/test_pi/setup.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setups/test_pi/setup.yml b/setups/test_pi/setup.yml index e4ae20717..16f223b41 100644 --- a/setups/test_pi/setup.yml +++ b/setups/test_pi/setup.yml @@ -57,12 +57,12 @@ namelist.io: prec: 8 fcheck: - a_ice: 0.27108448840783833 - salt: 23.944466710004477 - sst: 8.552813775183326 - temp: 1.7029145432367123 - u: -0.0014060689996156879 - v: 0.00013448533488475642 + a_ice: 0.27084265714381406 + salt: 23.94444928875518 + sst: 8.552024500890782 + temp: 1.7028794098873794 + u: -0.0014067732450710345 + v: 0.00013471819615531433 From a576e4886d8fba6f0d8f9dcfe431e5d2cc2a9db7 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Tue, 20 Aug 2024 15:14:05 +0200 Subject: [PATCH 206/273] Recom shall be off by default. Can be turned on though via compile flag -DRECOM_COUPLED=ON --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 001e517c1..64be86246 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,7 +17,7 @@ set(OIFS_COUPLED OFF CACHE BOOL "compile fesom coupled to OpenIFS. (Also needs F set(CRAY OFF CACHE BOOL "compile with cray ftn") set(USE_ICEPACK OFF CACHE BOOL "compile fesom with the Iceapck modules for sea ice column physics.") set(OPENMP_REPRODUCIBLE OFF CACHE BOOL "serialize OpenMP loops that are critical for reproducible results") -set(RECOM_COUPLED ON CACHE BOOL "compile fesom including biogeochemistry, REcoM3") +set(RECOM_COUPLED OFF CACHE BOOL "compile fesom including biogeochemistry, REcoM3") set(CISO_COUPLED OFF CACHE BOOL "compile ciso coupled to REcoM3. RECOM_COUPLED has to be active") set(USE_MULTIO OFF CACHE BOOL "Use MULTIO for IO, either grib or binary for now. This also means path to MULTIO installation has to provided using env MULTIO_INSTALL_PATH='..' and multio configuration yamls must be present to run the model with MULTIO") set(OASIS_WITH_YAC OFF CACHE BOOL "Useing a version of OASIS compiled with YAC instead of SCRIP for interpolation?") From e36ed150fb35d508c0a6033412d56e1a9f629697 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Tue, 20 Aug 2024 15:43:15 +0200 Subject: [PATCH 207/273] adding recom preprocessor flags around recom namelist flags --- src/io_meandata.F90 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index ed0f9ebae..6fe1af7f8 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -688,7 +688,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) CASE ('otracers ') do j=3, tracers%num_tracers write (id_string, "(I4.4)") tracers%data(j)%ID - +#if defined(__recom) if (tracers%data(j)%ID==1001) then if (use_REcoM) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'DIN', 'Dissolved Inorganic Nitrogen', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) @@ -854,8 +854,11 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'Zoo3C', 'Zoo3C', '[mmol/m3]', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) endif else +#endif call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'tra_'//id_string, 'passive tracer ID='//id_string, 'n/a', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) +#if defined(__recom) end if +#endif end do From 65b502237b3686bf3eabf6c102a448758d690bea Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Tue, 20 Aug 2024 16:22:02 +0200 Subject: [PATCH 208/273] update pi setup truth after fixsrfstress --- setups/test_pi/setup.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setups/test_pi/setup.yml b/setups/test_pi/setup.yml index 16f223b41..234984d21 100644 --- a/setups/test_pi/setup.yml +++ b/setups/test_pi/setup.yml @@ -57,12 +57,12 @@ namelist.io: prec: 8 fcheck: - a_ice: 0.27084265714381406 - salt: 23.94444928875518 - sst: 8.552024500890782 - temp: 1.7028794098873794 - u: -0.0014067732450710345 - v: 0.00013471819615531433 + a_ice: 0.2708425178723727 + salt: 23.94444880543009 + sst: 8.552054659440858 + temp: 1.70288014335014 + u: -0.0014067697336530634 + v: 2.157820833798528e-09 From e6ba16ba882d8beb54dce4f17ad74bb22451b6ac Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Tue, 20 Aug 2024 16:29:41 +0200 Subject: [PATCH 209/273] fix bug in pi setup truth after fixsrfstress, had added diff instead of abs for v --- setups/test_pi/setup.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setups/test_pi/setup.yml b/setups/test_pi/setup.yml index 234984d21..4aa33e5bf 100644 --- a/setups/test_pi/setup.yml +++ b/setups/test_pi/setup.yml @@ -62,7 +62,7 @@ fcheck: sst: 8.552054659440858 temp: 1.70288014335014 u: -0.0014067697336530634 - v: 2.157820833798528e-09 + v: 0.0001347203539761338 From 57c93d535c8bda762169eaf13964acc9e328085f Mon Sep 17 00:00:00 2001 From: patrickscholz Date: Wed, 21 Aug 2024 10:35:25 +0200 Subject: [PATCH 210/273] Update gen_surface_forcing.F90 --- src/gen_surface_forcing.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gen_surface_forcing.F90 b/src/gen_surface_forcing.F90 index 7367442c2..625e85ba5 100644 --- a/src/gen_surface_forcing.F90 +++ b/src/gen_surface_forcing.F90 @@ -48,7 +48,7 @@ MODULE g_sbf use recom_config use recom_declarations #endif - USE g_read_other_NetCDF, only: read_other_NetCDF, read_2ddata_on_grid_netcdf, read_runoff_mapper + USE g_read_other_NetCDF, only: read_other_NetCDF, read_2ddata_on_grid_netcdf IMPLICIT NONE From 87687a99b0801819daf3f4d429a43a9a6abb273f Mon Sep 17 00:00:00 2001 From: patrickscholz Date: Wed, 21 Aug 2024 10:39:34 +0200 Subject: [PATCH 211/273] Update gen_surface_forcing.F90 --- src/gen_surface_forcing.F90 | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/gen_surface_forcing.F90 b/src/gen_surface_forcing.F90 index 625e85ba5..b8aef62a1 100644 --- a/src/gen_surface_forcing.F90 +++ b/src/gen_surface_forcing.F90 @@ -117,9 +117,6 @@ MODULE g_sbf #endif - character(10), save :: chl_data_source ='None' ! 'Sweeney' Chlorophyll climatology Sweeney et al. 2005 - character(len=MAX_PATH), save :: nm_chl_data_file ='/work/ollie/dsidoren/input/forcing/Sweeney_2005.nc' - real(wp), save :: chl_const = 0.1 logical :: use_runoff_mapper = .false. !runof mapper to be used in the coupled mode with IFS character(len=MAX_PATH), save :: runoff_basins_file='runoff_basins.nc' ! definition file for runoff basins real(wp) :: runoff_radius =500000._WP !smoothing radius for runoff mapper (in meters) From 8adfce8d99bea70e01d517921b3a256604799a85 Mon Sep 17 00:00:00 2001 From: patrickscholz Date: Wed, 21 Aug 2024 10:45:28 +0200 Subject: [PATCH 212/273] Update io_meandata.F90 --- src/io_meandata.F90 | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index afa135e98..2910cbf84 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -866,6 +866,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) else #endif call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'tra_'//id_string, 'passive tracer ID='//id_string, 'n/a', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + #if defined(__recom) end if #endif @@ -891,12 +892,6 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'h2o16', 'h2o16 concentration', 'kmol/m**3', tracers%data(index_wiso_tracers(3))%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if !---wiso-code-end - -CASE ('otracers ') - do j=3, tracers%num_tracers - write (id_string, "(I3.3)") tracers%data(j)%ID - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'tra_'//id_string, 'pasive tracer ID='//id_string, 'n/a', tracers%data(j)%values(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - end do CASE ('slopetap_x ') call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'slopetap_x', 'neutral slope tapered X', 'none', slope_tapered(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) From a633830a3f00135a7c74262f694591d446940844 Mon Sep 17 00:00:00 2001 From: patrickscholz Date: Wed, 21 Aug 2024 11:11:24 +0200 Subject: [PATCH 213/273] Update fesom2_openmp.yml --- .github/workflows/fesom2_openmp.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/fesom2_openmp.yml b/.github/workflows/fesom2_openmp.yml index f87229749..ea7ce4bab 100644 --- a/.github/workflows/fesom2_openmp.yml +++ b/.github/workflows/fesom2_openmp.yml @@ -12,7 +12,8 @@ jobs: # Containers must run in Linux based operating systems runs-on: ubuntu-latest # Docker Hub image that `container-job` executes in - container: koldunovn/fesom2_test:refactoring2 + # container: koldunovn/fesom2_test:refactoring2 + container: ghcr.io/fesom/fesom2_docker:fesom2_test_refactoring-latest # Service containers to run with `gfortran_ubuntu` steps: From cd1a079856c79177d76d604bbc282bdf1088c225 Mon Sep 17 00:00:00 2001 From: patrickscholz Date: Wed, 21 Aug 2024 11:13:23 +0200 Subject: [PATCH 214/273] Update fesom2_openmp.yml --- .github/workflows/fesom2_openmp.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/fesom2_openmp.yml b/.github/workflows/fesom2_openmp.yml index ea7ce4bab..5f51e2f2d 100644 --- a/.github/workflows/fesom2_openmp.yml +++ b/.github/workflows/fesom2_openmp.yml @@ -12,8 +12,8 @@ jobs: # Containers must run in Linux based operating systems runs-on: ubuntu-latest # Docker Hub image that `container-job` executes in - # container: koldunovn/fesom2_test:refactoring2 - container: ghcr.io/fesom/fesom2_docker:fesom2_test_refactoring-latest + container: koldunovn/fesom2_test:refactoring2 + # container: ghcr.io/fesom/fesom2_docker:fesom2_test_refactoring-latest # Service containers to run with `gfortran_ubuntu` steps: From 24c99097f796c47fc96a67463bf29e004cd06ac3 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Wed, 21 Aug 2024 11:15:27 +0200 Subject: [PATCH 215/273] Update pi truth after switching gfortran compiler version for CI --- setups/test_pi/setup.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/setups/test_pi/setup.yml b/setups/test_pi/setup.yml index 4aa33e5bf..c293cccd2 100644 --- a/setups/test_pi/setup.yml +++ b/setups/test_pi/setup.yml @@ -57,12 +57,12 @@ namelist.io: prec: 8 fcheck: - a_ice: 0.2708425178723727 - salt: 23.94444880543009 - sst: 8.552054659440858 - temp: 1.70288014335014 - u: -0.0014067697336530634 - v: 0.0001347203539761338 + a_ice: 0.27084251716308305 + salt: 23.944448805230834 + sst: 8.55205469709956 + temp: 1.7028801427685114 + u: -0.0014067697055298715 + v: 0.00013472036927399226 From 1bb651f1e3876d598254172e0c33f6e8dd523f8f Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Wed, 21 Aug 2024 14:42:07 +0200 Subject: [PATCH 216/273] trying nightly docker tag --- .github/workflows/fesom2_openmp.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/fesom2_openmp.yml b/.github/workflows/fesom2_openmp.yml index 5f51e2f2d..8f28a894e 100644 --- a/.github/workflows/fesom2_openmp.yml +++ b/.github/workflows/fesom2_openmp.yml @@ -12,8 +12,7 @@ jobs: # Containers must run in Linux based operating systems runs-on: ubuntu-latest # Docker Hub image that `container-job` executes in - container: koldunovn/fesom2_test:refactoring2 - # container: ghcr.io/fesom/fesom2_docker:fesom2_test_refactoring-latest + container: ghcr.io/fesom/fesom2_docker:fesom2_test_refactoring-nightly # Service containers to run with `gfortran_ubuntu` steps: From 82d3639e8eed7439111a67468028a9c904a9eeca Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Tue, 27 Aug 2024 10:52:54 +0200 Subject: [PATCH 217/273] Update namelist.io --- config/namelist.io | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/namelist.io b/config/namelist.io index d7a4b1a1d..177e4a2de 100644 --- a/config/namelist.io +++ b/config/namelist.io @@ -15,7 +15,7 @@ ldiag_trflx =.false. &nml_general io_listsize =120 !number of streams to allocate. shallbe large or equal to the number of streams in &nml_list vec_autorotate =.false. -compression_level = 0 +compression_level = 1 / ! for sea ice related variables use_ice should be true, otherewise there will be no output From 95d0df684582b7c5b9810bc3f1924a30af8e85a9 Mon Sep 17 00:00:00 2001 From: patrickscholz Date: Tue, 27 Aug 2024 15:32:13 +0200 Subject: [PATCH 218/273] Update gen_surface_forcing.F90 comment debug messages --- src/gen_surface_forcing.F90 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/gen_surface_forcing.F90 b/src/gen_surface_forcing.F90 index b8aef62a1..19c20505f 100644 --- a/src/gen_surface_forcing.F90 +++ b/src/gen_surface_forcing.F90 @@ -683,9 +683,9 @@ SUBROUTINE nc_sbc_ini(partit, mesh) end do ! interpolate in time - if (partit%mype==0) then - write(*,*) 'sbc_do --> mstep:',mstep, ' rdate=', rdate - end if + !!PS if (partit%mype==0) then + !!PS write(*,*) 'sbc_do --> mstep:',mstep, ' rdate=', rdate + !!PS end if call data_timeinterp(rdate, partit) END SUBROUTINE nc_sbc_ini @@ -1577,9 +1577,9 @@ SUBROUTINE sbc_do(partit, mesh) end if #endif - if (partit%mype==0) then - write(*,*) 'sbc_do --> mstep:',mstep, ' rdate=', rdate - end if + !!PS if (partit%mype==0) then + !!PS write(*,*) 'sbc_do --> mstep:',mstep, ' rdate=', rdate + !!PS end if ! interpolate in time call data_timeinterp(rdate, partit) From 74c56800a09cf5f9138b1ce73be2342d3d39c504 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 27 Aug 2024 15:52:39 +0200 Subject: [PATCH 219/273] include DVD from surface boundary condition and short wave penetration into Sergeys DVD diagnostic, so that the total DVD between Sergeys and Knuts diagnostic becomes better comparable, adds another splitable subcomponent to Sergeys DVD --- src/gen_modules_diag.F90 | 268 ++++++++++++++++++++++++++------------- src/io_meandata.F90 | 2 + 2 files changed, 184 insertions(+), 86 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index ca1195a3e..818b76b3a 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -27,7 +27,7 @@ module diagnostics dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, vol_ice, vol_snow, compute_ice_diag, thetao, & tuv, suv, compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, dvd_SD_chi_dif_he, & dvd_SD_chi_dif_heR, dvd_SD_chi_dif_hbh, dvd_SD_chi_dif_veR, dvd_SD_chi_dif_viR, dvd_SD_chi_dif_vi, & - dvd_SD_chi_dif_ve, dvd_xdfac + dvd_SD_chi_dif_ve, dvd_SD_chi_dif_sbc, dvd_xdfac ! Arrays used for diagnostics, some shall be accessible to the I/O ! 1. solver diagnostics: A*x=rhs? @@ -69,7 +69,7 @@ module diagnostics real(kind=WP), save, allocatable, target :: dvd_KK_tot(:,:,:), dvd_SD_tot(:,:,:), dvd_SD_chi_adv_h(:,:,:), & dvd_SD_chi_adv_v( :,:,:), dvd_SD_chi_dif_heR(:,:,:), dvd_SD_chi_dif_veR(:,:,:), & dvd_SD_chi_dif_viR(:,:,:), dvd_SD_chi_dif_vi(:,:,:), dvd_SD_chi_dif_hbh(:,:,:), & - dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_he(:,:,:), trstar(:,:) + dvd_SD_chi_dif_ve(:,:,:), dvd_SD_chi_dif_he(:,:,:), dvd_SD_chi_dif_sbc(:,:,:), trstar(:,:) real(kind=WP), parameter :: dvd_xdfac=0.5_WP ! Xchi distribution factor, default distribute ! equal amount (50:50) of xchi on both side of face !_____________________________________________________________________________ @@ -1047,13 +1047,14 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) #include "associate_part_ass.h" #include "associate_mesh_ass.h" if (firstcall) then !allocate the stuff at the first call - allocate(trstar( nl-1, myDim_nod2D+eDim_nod2D)) - allocate(dvd_KK_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_dif_he(nl-1, myDim_nod2D+eDim_nod2D, 2)) - allocate(dvd_SD_chi_dif_vi(nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(trstar( nl-1, myDim_nod2D+eDim_nod2D)) + allocate(dvd_KK_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_tot( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_adv_h( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_adv_v( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_he( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_vi( nl-1, myDim_nod2D+eDim_nod2D, 2)) + allocate(dvd_SD_chi_dif_sbc( nl-1, myDim_nod2D+eDim_nod2D, 2)) if (tracers%data(1)%smooth_bh_tra) then allocate(dvd_SD_chi_dif_hbh(nl-1, myDim_nod2D+eDim_nod2D, 2)) end if @@ -1078,6 +1079,7 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) dvd_SD_chi_adv_v = 0.0_WP dvd_SD_chi_dif_he = 0.0_WP dvd_SD_chi_dif_vi = 0.0_WP ! implicite part + dvd_SD_chi_dif_sbc= 0.0_WP ! implicite part if (tracers%data(1)%smooth_bh_tra) then dvd_SD_chi_dif_hbh= 0.0_WP end if @@ -1162,6 +1164,8 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) call dvd_add_difflux_vertimpl(.false., tr_num, dvd_KK_tot, tr, trold, Kv, partit, mesh) + call dvd_add_difflux_sbc(.false., tr_num, dvd_KK_tot, tr, trold, partit, mesh) + ! add contribution from horizontal biharmonic diffusion flux if applied if (tracers%data(tr_num)%smooth_bh_tra) then call dvd_add_difflux_bhvisc(.false., tr_num, dvd_KK_tot, tr, trold,& @@ -1203,6 +1207,8 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) call dvd_add_difflux_vertimpl(.true., tr_num, dvd_SD_chi_dif_vi, tr, trstar, Kv, partit, mesh) + call dvd_add_difflux_sbc(.true., tr_num, dvd_SD_chi_dif_sbc, tr, trstar, partit, mesh) + ! add contribution from horizontal biharmonic diffusion flux if applied if (tracers%data(tr_num)%smooth_bh_tra) then call dvd_add_difflux_bhvisc(.true., tr_num, dvd_SD_chi_dif_hbh, tr, trstar,& @@ -1211,8 +1217,10 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) end if ! compute total Xchi - dvd_SD_tot(:,:,tr_num) = dvd_SD_chi_adv_h( :,:,tr_num) + dvd_SD_chi_adv_v( :,:,tr_num) + & - dvd_SD_chi_dif_vi(:,:,tr_num) + dvd_SD_chi_dif_he(:,:,tr_num) + dvd_SD_tot(:,:,tr_num) = dvd_SD_chi_adv_h( :,:,tr_num) + dvd_SD_chi_adv_v( :,:,tr_num) + & + dvd_SD_chi_dif_vi( :,:,tr_num) + dvd_SD_chi_dif_he(:,:,tr_num) + & + dvd_SD_chi_dif_sbc(:,:,tr_num) + if (.not. tracers%data(tr_num)%i_vert_diff) then dvd_SD_tot(:,:,tr_num) = dvd_SD_tot(:,:,tr_num) + dvd_SD_chi_dif_ve(:,:,tr_num) end if @@ -2793,15 +2801,12 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p real(kind=WP) , intent(in) :: Kv( mesh%nl , partit%myDim_nod2D+partit%eDim_nod2D) integer :: node, nz, nu1, nl1 real(kind=WP) :: tr_up, tr_dwn, Dflx(mesh%nl), dzup, dzdwn, dz, Kv_R - real(kind=WP) :: isredi=0.0_WP, sbc, rsss + real(kind=WP) :: sbc, rsss #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" #include "associate_mesh_ass.h" - ! add contribution of redi diffusivity when activated - if (Redi) isredi=1.0_WP - ! add contribution of implicite vertical diffusion (after Klingbeil et al.2014) do node=1, myDim_nod2D nu1 = ulevels_nod2D(node) @@ -2872,83 +2877,174 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*Dflx(nz)+(1.0_WP-dvd_xdfac)*Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) end do !--> do nz=nu1+1, nl1-1 else + !___________________________________________________________________ - ! apply surface boundary condition --> have to do this here from hand --> - ! i was somehow not able to bind in the function module for the surface - ! boundary condition - ! d/dt(h*T) + div_h*(u*h*T) + h*d/dz(w*T) - div_3(h*Kv*div_3*T) = -(Q_hf + W*T_w)_k=1 - ! | - ! need eq. for 2nd. moment - ! tracer thickness variance - ! | - ! V - ! d/dt(h*T^2) = T*d/dt(h*T) + h*T*d/dt(T)+ - ! | - ! +-------eq. for d/dt(T)----------+ - ! | - ! d/dt(T) + div_h*(u*T) + d/dz(w*T) - div_3(Kv*div_3*T) = -(Q_hf + W*(T_w-T_k))_k=1 / h_k - ! - ! d/dt(h*T^2) + div*(u*h*T^2) + h*d/dz(w*T^2) - ... = (-2*T_k*Q_hf - W*T_w*T_k - W*T_k*(T_w-T_k) )_k=1 - ! = 2*(-T_k*Q_hf - 0.5*W*T_w*T_k - 0.5*W*T_k*(T_w-T_k) )_k=1 - ! --> temp: T_w=T_k --> 2*(-T_k*Q_hf - 0.5*W*T_w*T_k) - ! --> salt: T_w=0 --> 2*(-T_k*Q_hf + 0.5*W*T_w*T_k) - nz = nu1 - if (tr_num==1) then - sbc = -(heat_flux(node)/vcpw + tr(nz, node)*water_flux(node)*is_nonlinfs*0.5_WP) - elseif (tr_num==2) then - sbc = (virtual_salt(node) + relax_salt(node) - (real_salt_flux(node) - tr(nz, node)*water_flux(node)*0.5_WP)*is_nonlinfs) - end if - Dflx(nz) = Dflx(nz) + sbc*area(nz, node) + ! compute diffusive flux flxdiff(nz), after Klingbeil etal 2014 + ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume + ! surface + nz = nu1 + tr_up = Dflx(nz )*tr(nz, node) + tr_dwn = (tr(nz, node)*hnode(nz, node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz, node)+hnode(nz+1, node)) + tr_dwn = Dflx(nz+1)*tr_dwn + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) !___________________________________________________________________ - ! apply shortwave penetration fluxes - if (use_sw_pene .and. tr_num==1) then - nz=nu1 - Dflx(nz) = Dflx(nz) + sw_3d(nz, node)*area(nz,node) - do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) + sw_3d(nz, node)*area(nz,node) - end do - end if + ! bulk + do nz=nu1+1, nl1-2 + ! volume (hnode) weighted temperature reconstruction at upper/lower + ! scalar cell interface + tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) + tr_dwn = (tr(nz , node)*hnode(nz , node)+tr(nz+1, node)*hnode(nz+1, node))/(hnode(nz , node)+hnode(nz+1, node)) + ! compute T^(n+1)_(i+0.5) * Dflx_(i+0.5) through upper and lower face + tr_up = Dflx(nz )*tr_up + tr_dwn = Dflx(nz+1)*tr_dwn + ! copute dvd contribution normalized with volume + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + ! | |-> factor 2 comes here from Klingbeil et al.2014 + ! this is the | (2*Tr^(n+1) * Dflx[Tr^(n+1)] + ! +----plus sign----+ + ! | + ! v + ! Xchi = -d/dt(Tr^2) - div(v*Tr^2) + div(Kv*nabla*Tr^2) + ! | + ! v + ! Kv*(nabla*Tr)^2 + end do !--> do nz=nu1+1, nl1-1 !___________________________________________________________________ - ! Add KPP nonlocal fluxes to the rhs (only T and S currently) - ! use here blmc or kpp_oblmixc instead of Kv, since Kv already contains - ! at this point the mixing enhancments from momix, instable - ! mixing or windmixing which are to much for nonlocal - ! transports and lead to instability of the model - if (use_kpp_nonlclflx) then - if (tr_num==2) then - rsss=ref_sss - if (ref_sss_local) rsss=tr(1,node) - end if - - !_______________________________________________________________ - ! use fesom1.4 KPP - if (mix_scheme_nmb==1 .or. mix_scheme_nmb==17) then - if (tr_num==1) then ! temperature - do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) + MIN(ghats(nz, node)*blmc(nz, node, 2), 1.0_WP)*heat_flux(node)/vcpw*area(nz, node) - end do - elseif (tr_num==2) then ! salinity - do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) + MIN(ghats(nz, node)*blmc(nz, node, 3), 1.0_WP)*rsss*water_flux(node)*area(nz, node) - end do - end if - !_______________________________________________________________ - ! use cvmix KPP - elseif (mix_scheme_nmb==3 .or. mix_scheme_nmb==37) then - if (tr_num==1) then ! temperature - do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) + MIN(kpp_nonlcltranspT(nz, node)*kpp_oblmixc(nz, node, 2), 1.0_WP)*heat_flux(node)/vcpw*area(nz, node) - end do - elseif (tr_num==2) then ! salinity - do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) + MIN(kpp_nonlcltranspT(nz, node)*kpp_oblmixc(nz, node, 3), 1.0_WP)*rsss*water_flux(node)*area(nz, node) - end do - end if + ! bottom + nz = nl1-1 + tr_up = (tr(nz-1, node)*hnode(nz-1, node)+tr(nz , node)*hnode(nz , node))/(hnode(nz-1, node)+hnode(nz , node)) + tr_dwn = tr(nz, node) + tr_up = Dflx(nz )*tr_up + tr_dwn = 0.0_WP + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) + end if + end do !--> do node=1, myDim_nod2D +end subroutine dvd_add_difflux_vertimpl +! +! +!_______________________________________________________________________________ +! add implicite vertical diffusive flux for surface boundary condition after +! Klingbeil et al. 2014, see between eq. 18 +! ans eq. 20 --> or eq. 24 +! Xchi^(n+1) = ...+ (2*Tr^(n+1) * Dflx[Tr^(n+1)] )/ V^(n+1) +... +! --> here Tr^(n+1) und Dflx[...] are reconstructed values at the interfase +subroutine dvd_add_difflux_sbc(do_SDdvd, tr_num, dvd_tot, tr, trstar, partit, mesh) + use g_cvmix_kpp, only: kpp_nonlcltranspT, kpp_nonlcltranspS, kpp_oblmixc + implicit none + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer , intent(in) :: tr_num + logical , intent(in) :: do_SDdvd ! if Sergey DVD==1, if Knut DvD==0 + real(kind=WP) , intent(inout) :: dvd_tot(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D, 2) + real(kind=WP) , intent(in) :: tr( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + real(kind=WP) , intent(in) :: trstar( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) + integer :: node, nz, nu1, nl1 + real(kind=WP) :: tr_up, tr_dwn, Dflx(mesh%nl), dzup, dzdwn, dz, Kv_R + real(kind=WP) :: sbc, rsss +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + ! add contribution of implicite vertical diffusion (after Klingbeil et al.2014) + do node=1, myDim_nod2D + nu1 = ulevels_nod2D(node) + nl1 = nlevels_nod2D(node) + Dflx = 0.0_WP + + !_______________________________________________________________________ + ! apply apply surface boundarie condition + nz = nu1 + if (tr_num==1) then + sbc = -(heat_flux(node)/vcpw + tr(nz, node)*water_flux(node)*is_nonlinfs*0.5_WP) + elseif (tr_num==2) then + sbc = (virtual_salt(node) + relax_salt(node) - (real_salt_flux(node) - tr(nz, node)*water_flux(node)*0.5_WP)*is_nonlinfs) + end if + Dflx(nz) = Dflx(nz) + sbc*area(nz, node) + + !_______________________________________________________________________ + ! apply shortwave penetration fluxes + if (use_sw_pene .and. tr_num==1) then + nz=nu1 + Dflx(nz) = Dflx(nz) + sw_3d(nz, node)*area(nz,node) + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) + sw_3d(nz, node)*area(nz,node) + end do + end if + + !_______________________________________________________________________ + ! Add KPP nonlocal fluxes to the rhs (only T and S currently) + ! use here blmc or kpp_oblmixc instead of Kv, since Kv already contains + ! at this point the mixing enhancments from momix, instable + ! mixing or windmixing which are to much for nonlocal + ! transports and lead to instability of the model + if (use_kpp_nonlclflx) then + if (tr_num==2) then + rsss=ref_sss + if (ref_sss_local) rsss=tr(1,node) + end if + !___________________________________________________________________ + ! use fesom1.4 KPP + if (mix_scheme_nmb==1 .or. mix_scheme_nmb==17) then + if (tr_num==1) then ! temperature + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) + MIN(ghats(nz, node)*blmc(nz, node, 2), 1.0_WP)*heat_flux(node)/vcpw*area(nz, node) + end do + elseif (tr_num==2) then ! salinity + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) + MIN(ghats(nz, node)*blmc(nz, node, 3), 1.0_WP)*rsss*water_flux(node)*area(nz, node) + end do end if - end if ! --> if (use_kpp_nonlclflx) then + !___________________________________________________________________ + ! use cvmix KPP + elseif (mix_scheme_nmb==3 .or. mix_scheme_nmb==37) then + if (tr_num==1) then ! temperature + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) + MIN(kpp_nonlcltranspT(nz, node)*kpp_oblmixc(nz, node, 2), 1.0_WP)*heat_flux(node)/vcpw*area(nz, node) + end do + elseif (tr_num==2) then ! salinity + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) + MIN(kpp_nonlcltranspT(nz, node)*kpp_oblmixc(nz, node, 3), 1.0_WP)*rsss*water_flux(node)*area(nz, node) + end do + end if + end if + end if ! --> if (use_kpp_nonlclflx) then + + !_______________________________________________________________________ + if (do_SDdvd) then + ! --> if Sergey diagonsitc is used Dflx correspond from here on to + ! Xchi at full depth level interface + nz = 1 + Dflx(nz) = Dflx(nz) * -2.0_WP*( trstar(nz, node) ) + do nz=nu1+1, nl1-1 + Dflx(nz) = Dflx(nz) * -2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ) + end do ! --> do nz=nu1+1, nl1-1 + end if + + !_______________________________________________________________________ + ! decide between Sergeys and Knuts DVD method + if (do_SDdvd) then + !___________________________________________________________________ + ! In Sergeys DVD diagnostic we do not take into account the surface + ! and interior fluxes of surface boundary condition and short wave + ! penetration, since akthough they are source terms for variance, + ! they not contribute to the decay variance !!! + ! If they arte considered than only in a separate term but not added + ! to the variance decay term of diffusivity. However in Knuts DVD | + ! diagnostic this is different. Here the source term have to be explicitly + ! taken into account since they already contributed to (T^(n+1))^2-(T^(n))^2 + ! now compute flx of Xchi into control volume, see T. Banerjee et al. 2023 + ! eq. 9. Each control volume gets one half of the Xchi interface value + ! --> keep in mind we are now again on mid depth levels and in this case + ! Dflx contains the interface value of Xchi + ! --> compute volume normlized Xchi contribution + do nz=nu1, nl1-1 + dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + (dvd_xdfac*Dflx(nz)+(1.0_WP-dvd_xdfac)*Dflx(nz+1))/(areasvol(nz, node)*hnode(nz, node)) + end do !--> do nz=nu1+1, nl1-1 + else !___________________________________________________________________ ! compute diffusive flux flxdiff(nz), after Klingbeil etal 2014 ! flxdiff(nz)= ([Kv*dT/dz]_1*T_1*A_1-[Kv*dT/dz]_1*T_1*A_2)/V_1 into the volume @@ -2992,7 +3088,7 @@ subroutine dvd_add_difflux_vertimpl(do_SDdvd, tr_num, dvd_tot, tr, trstar, Kv, p dvd_tot(nz, node, tr_num) = dvd_tot(nz, node, tr_num) + 2.0_WP*(tr_up-tr_dwn)/(areasvol(nz, node)*hnode(nz, node)) end if end do !--> do node=1, myDim_nod2D -end subroutine dvd_add_difflux_vertimpl +end subroutine dvd_add_difflux_sbc ! ! !_______________________________________________________________________________ diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 2910cbf84..8495e8065 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -1143,6 +1143,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_he( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difsbc', 'temperature DVD sbc.' , 'K^2/s' , dvd_SD_chi_dif_sbc(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) if (.not. tracers%data(1)%i_vert_diff) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difve', 'temperature DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_ve( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if @@ -1162,6 +1163,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_he( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difvi', 'salinity DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difsbc','salinity DVD sbc.' , 'K^2/s' , dvd_SD_chi_dif_sbc(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) if (.not. tracers%data(1)%i_vert_diff) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difve', 'salinity DVD vert. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_ve( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if From 405af5848d7c6f5d8fe7d15bbd4ae7e1b9829543 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 27 Aug 2024 15:58:26 +0200 Subject: [PATCH 220/273] combine if condition --- src/gen_modules_diag.F90 | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 818b76b3a..0dc29ce07 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -3013,7 +3013,9 @@ subroutine dvd_add_difflux_sbc(do_SDdvd, tr_num, dvd_tot, tr, trstar, partit, me end if ! --> if (use_kpp_nonlclflx) then !_______________________________________________________________________ + ! decide between Sergeys and Knuts DVD method if (do_SDdvd) then + ! --> if Sergey diagonsitc is used Dflx correspond from here on to ! Xchi at full depth level interface nz = 1 @@ -3021,11 +3023,7 @@ subroutine dvd_add_difflux_sbc(do_SDdvd, tr_num, dvd_tot, tr, trstar, partit, me do nz=nu1+1, nl1-1 Dflx(nz) = Dflx(nz) * -2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ) end do ! --> do nz=nu1+1, nl1-1 - end if - - !_______________________________________________________________________ - ! decide between Sergeys and Knuts DVD method - if (do_SDdvd) then + !___________________________________________________________________ ! In Sergeys DVD diagnostic we do not take into account the surface ! and interior fluxes of surface boundary condition and short wave From 6592c4649fbf46bca084800e63f06abfaeb420c3 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 27 Aug 2024 17:01:27 +0200 Subject: [PATCH 221/273] add diagnostic to compute squared velocities for (u,v,w) , to compute variances and add diagnostic to compute online tracer gradients horizontally and vertically --- config/namelist.io | 3 + src/gen_modules_diag.F90 | 183 +++++++++++++++++++++++++++++++++--- src/gen_surface_forcing.F90 | 12 +-- src/io_meandata.F90 | 23 +++++ 4 files changed, 203 insertions(+), 18 deletions(-) diff --git a/config/namelist.io b/config/namelist.io index 177e4a2de..4a83228e9 100644 --- a/config/namelist.io +++ b/config/namelist.io @@ -10,6 +10,9 @@ ldiag_DVD =.false. ldiag_forc =.false. ldiag_extflds =.false. ldiag_trflx =.false. +ldiag_uvw_sqr =.false. +ldiag_trgrd_xyz =.false. + / &nml_general diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 0dc29ce07..798a56eb6 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -19,15 +19,19 @@ module diagnostics implicit none private - public :: ldiag_solver, lcurt_stress_surf, ldiag_Ri, ldiag_TurbFlux, ldiag_dMOC, ldiag_DVD, & - ldiag_forc, ldiag_salt3D, ldiag_curl_vel3, diag_list, ldiag_vorticity, ldiag_extflds, ldiag_ice, & - compute_diagnostics, rhs_diag, curl_stress_surf, curl_vel3, shear, Ri, KvdTdZ, KvdSdZ, & - std_dens_min, std_dens_max, std_dens_N, std_dens, ldiag_trflx, & - std_dens_UVDZ, std_dens_DIV, std_dens_DIV_fer, std_dens_Z, std_dens_H, std_dens_dVdT, std_dens_flux, & + public :: ldiag_solver, lcurt_stress_surf, ldiag_Ri, ldiag_TurbFlux, ldiag_dMOC, & + ldiag_forc, ldiag_salt3D, ldiag_curl_vel3, diag_list, ldiag_vorticity, ldiag_extflds, ldiag_ice, & + compute_diagnostics, rhs_diag, curl_stress_surf, curl_vel3, shear, Ri, KvdTdZ, KvdSdZ, & + std_dens_min, std_dens_max, std_dens_N, std_dens, ldiag_trflx, & + std_dens_UVDZ, std_dens_DIV, std_dens_DIV_fer, std_dens_Z, std_dens_H, std_dens_dVdT, std_dens_flux, & dens_flux_e, vorticity, zisotherm, tempzavg, saltzavg, vol_ice, vol_snow, compute_ice_diag, thetao, & - tuv, suv, compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, dvd_SD_chi_dif_he, & + tuv, suv, & + ldiag_DVD, compute_dvd, dvd_KK_tot, dvd_SD_tot, dvd_SD_chi_adv_h, dvd_SD_chi_adv_v, dvd_SD_chi_dif_he,& dvd_SD_chi_dif_heR, dvd_SD_chi_dif_hbh, dvd_SD_chi_dif_veR, dvd_SD_chi_dif_viR, dvd_SD_chi_dif_vi, & - dvd_SD_chi_dif_ve, dvd_SD_chi_dif_sbc, dvd_xdfac + dvd_SD_chi_dif_ve, dvd_SD_chi_dif_sbc, dvd_xdfac, & + ldiag_uvw_sqr, uv2, wvel2, & + ldiag_trgrd_xyz, trgrd_x, trgrd_y, trgrd_z + ! Arrays used for diagnostics, some shall be accessible to the I/O ! 1. solver diagnostics: A*x=rhs? @@ -63,7 +67,9 @@ module diagnostics real(kind=WP), save, allocatable, target :: dens_flux_e(:) real(kind=WP), save, allocatable, target :: thetao(:) ! sst in K real(kind=WP), save, allocatable, target :: tuv(:,:,:), suv(:,:,:) - + real(kind=WP), save, allocatable, target :: uv2(:,:,:), wvel2(:,:) + real(kind=WP), save, allocatable, target :: trgrd_x(:,:,:), trgrd_y(:,:,:), trgrd_z(:,:,:) + !_____________________________________________________________________________ ! DVD diagnostics real(kind=WP), save, allocatable, target :: dvd_KK_tot(:,:,:), dvd_SD_tot(:,:,:), dvd_SD_chi_adv_h(:,:,:), & @@ -95,10 +101,12 @@ module diagnostics logical :: ldiag_extflds =.false. logical :: ldiag_ice =.false. logical :: ldiag_trflx =.false. + logical :: ldiag_uvw_sqr =.false. + logical :: ldiag_trgrd_xyz =.false. namelist /diag_list/ ldiag_solver, lcurt_stress_surf, ldiag_curl_vel3, ldiag_Ri, & ldiag_TurbFlux, ldiag_dMOC, ldiag_DVD, ldiag_salt3D, ldiag_forc, & - ldiag_vorticity, ldiag_extflds, ldiag_trflx, ldiag_ice + ldiag_vorticity, ldiag_extflds, ldiag_trflx, ldiag_ice, ldiag_uvw_sqr, ldiag_trgrd_xyz contains @@ -964,8 +972,153 @@ subroutine compute_thetao(mode, tracers, partit, mesh) !skipping loop thetao(:) = tracers%data(1)%values(1,1:myDim_nod2D)+273.15_WP end subroutine compute_thetao +! +! +! +!_______________________________________________________________________________ +subroutine diag_uvw_sqr(mode, dynamics, partit, mesh) + implicit none + type(t_dyn) , intent(inout), target :: dynamics + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer, intent(in) :: mode + logical, save :: firstcall=.true. + integer :: elem, node, nz, nzu, nzl, elnodes(3) + real(kind=WP), dimension(:,:,:), pointer :: UV, fer_UV + real(kind=WP), dimension(:,:), pointer :: Wvel, fer_Wvel -! ============================================================== +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + !___________________________________________________________________________ + UV => dynamics%uv(:,:,:) + Wvel => dynamics%w(:,:) + if (Fer_GM) then + fer_UV => dynamics%fer_uv(:,:,:) + fer_Wvel => dynamics%fer_w(:,:) + end if + + !___________________________________________________________________________ + if (firstcall) then !allocate the stuff at the first call + allocate(uv2(2,nl-1,myDim_elem2D)) + allocate(wvel2(nl-1,myDim_nod2D)) + uv2 = 0.0_WP + wvel2 = 0.0_WP + firstcall=.false. + if (mode==0) return + end if + + !___________________________________________________________________________ + ! compute squared horizontal velocities + do elem=1,myDim_elem2D + nzu = ulevels(elem) + nzl = nlevels(elem)-1 + if (Fer_GM) then + do nz=nzu, nzl + uv2(1,nz,elem) = (UV(1,nz,elem) + fer_UV(1,nz, elem)) + uv2(2,nz,elem) = (UV(2,nz,elem) + fer_UV(2,nz, elem)) + uv2(1,nz,elem) = uv2(1,nz,elem) * uv2(1,nz,elem) + uv2(2,nz,elem) = uv2(2,nz,elem) * uv2(2,nz,elem) + end do + else + do nz=nzu, nzl + uv2(1,nz,elem) = UV(1,nz,elem)*UV(1,nz,elem) + uv2(2,nz,elem) = UV(2,nz,elem)*UV(2,nz,elem) + end do + end if + end do + + !___________________________________________________________________________ + ! compute squared vertical velocities + do node=1,myDim_nod2D + nzu = ulevels_nod2D(node) + nzl = nlevels_nod2D(node)-1 + if (Fer_GM) then + do nz=nzu, nzl + wvel2(nz,node) = (Wvel(nz,node) + fer_Wvel(nz, node)) + wvel2(nz,node) = wvel2(nz,node) * wvel2(nz,node) + end do + else + do nz=nzu, nzl + wvel2(nz,node) = Wvel(nz,node)*Wvel(nz,node) + end do + end if + end do +end subroutine diag_uvw_sqr + +! +! +! +!_______________________________________________________________________________ +subroutine diag_trgrd_xyz(mode, tracers, partit, mesh) + implicit none + type(t_tracer), intent(in) , target :: tracers + type(t_partit), intent(inout), target :: partit + type(t_mesh) , intent(in) , target :: mesh + integer, intent(in) :: mode + logical, save :: firstcall=.true. + integer :: elem, node, nz, nzu, nzl, elnodes(3) + real(kind=WP), dimension(:,:), pointer :: temp, salt + +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + !___________________________________________________________________________ + temp => tracers%data(1)%values(:,:) + salt => tracers%data(2)%values(:,:) + + !___________________________________________________________________________ + if (firstcall) then !allocate the stuff at the first call + allocate(trgrd_x(2, nl-1, myDim_elem2D)) + allocate(trgrd_y(2, nl-1, myDim_elem2D)) + allocate(trgrd_z(2, nl-1, myDim_nod2D)) + trgrd_x = 0.0_WP + trgrd_y = 0.0_WP + trgrd_z = 0.0_WP + firstcall=.false. + if (mode==0) return + end if + + !___________________________________________________________________________ + ! compute vertical tracer gradient +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz, nzu, nzl) + do node=1, myDim_nod2D + nzl=nlevels_nod2D(node) + nzu=ulevels_nod2D(node) + trgrd_z(1, nzu, node)=0.0_WP + trgrd_z(2, nzu, node)=0.0_WP + do nz=nzu+1, nzl-1 + trgrd_z(1, nz, node)=(temp(nz-1, node)-temp(nz, node))/(hnode(nz-1, node)+hnode(nz, node))/0.5_WP + trgrd_z(2, nz, node)=(salt(nz-1, node)-salt(nz, node))/(hnode(nz-1, node)+hnode(nz, node))/0.5_WP + end do + trgrd_z(1, nzl, node)=0.0_WP + trgrd_z(2, nzl, node)=0.0_WP + end do +!$OMP END PARALLEL DO + + !___________________________________________________________________________ + ! compute horizontal tracer gradient +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(elem, elnodes, nz, nzu, nzl) + do elem=1,myDim_elem2D + nzu = ulevels(elem) + nzl = nlevels(elem) + elnodes = elem2D_nodes(:,elem) + do nz=nzu, nzl-1 + trgrd_x(1, nz, elem)=sum(gradient_sca(1:3, elem)*temp(nz, elnodes)) + trgrd_y(1, nz, elem)=sum(gradient_sca(4:6, elem)*temp(nz, elnodes)) + trgrd_x(2, nz, elem)=sum(gradient_sca(1:3, elem)*salt(nz, elnodes)) + trgrd_y(2, nz, elem)=sum(gradient_sca(4:6, elem)*salt(nz, elnodes)) + end do + end do +!$OMP END PARALLEL DO +end subroutine diag_trgrd_xyz + +! +! +! +!_______________________________________________________________________________ subroutine compute_diagnostics(mode, dynamics, tracers, ice, partit, mesh) implicit none type(t_mesh) , intent(in) , target :: mesh @@ -1017,9 +1170,15 @@ subroutine compute_diagnostics(mode, dynamics, tracers, ice, partit, mesh) ! Discrete variance decay in Finite-Volume framework ... ! T. Banerjee, S. Danilov, K. Klingbeil, 2023, Discrete variance decay analysis of ! spurious mixing - if (ldiag_DVD) call compute_dvd(mode, dynamics, tracers, partit, mesh) + if (ldiag_DVD) call compute_dvd(mode, dynamics, tracers, partit, mesh) - !fields required for for destinE + ! 12. compute squared velocities for varaince computation . + if (ldiag_uvw_sqr) call diag_uvw_sqr(mode, dynamics, partit, mesh) + + ! 13. compute online tracer gradients + if (ldiag_trgrd_xyz) call diag_trgrd_xyz(mode, tracers, partit, mesh) + + ! 14. compute fields required for for destinE if (ldiag_ice) call compute_ice_diag(mode, ice, partit, mesh) call compute_thetao(mode, tracers, partit, mesh) diff --git a/src/gen_surface_forcing.F90 b/src/gen_surface_forcing.F90 index b8aef62a1..e073334ad 100644 --- a/src/gen_surface_forcing.F90 +++ b/src/gen_surface_forcing.F90 @@ -683,9 +683,9 @@ SUBROUTINE nc_sbc_ini(partit, mesh) end do ! interpolate in time - if (partit%mype==0) then - write(*,*) 'sbc_do --> mstep:',mstep, ' rdate=', rdate - end if +!PS if (partit%mype==0) then +!PS write(*,*) 'sbc_do --> mstep:',mstep, ' rdate=', rdate +!PS end if call data_timeinterp(rdate, partit) END SUBROUTINE nc_sbc_ini @@ -1577,9 +1577,9 @@ SUBROUTINE sbc_do(partit, mesh) end if #endif - if (partit%mype==0) then - write(*,*) 'sbc_do --> mstep:',mstep, ' rdate=', rdate - end if +!PS if (partit%mype==0) then +!PS write(*,*) 'sbc_do --> mstep:',mstep, ' rdate=', rdate +!PS end if ! interpolate in time call data_timeinterp(rdate, partit) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 8495e8065..4f264398b 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -1202,6 +1202,29 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) end if end if +!_______________________________________________________________________________ +! compute squared velocities of u, v, w +CASE ('UVW_SQR ') + if (ldiag_uvw_sqr) then + !___temperature DVD_____________________________________________________ + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'u2' , 'squared zonal velocity' , 'm^2/s^2' , uv2(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'v2' , 'squared meridional velocity', 'm^2/s^2' , uv2(2,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/) , (/nl-1, myDim_nod2D/) , 'w2' , 'squared vertical velocity' , 'm^2/s^2' , wvel2(:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if !--> if (ldiag_DVD) then + +!_______________________________________________________________________________ +! compute horizontal and vertical tracer gradients +CASE ('TRGRD_XYZ ') + if (ldiag_trgrd_xyz) then + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'temp_grdx', 'zonal temperature gradient', 'K/m', trgrd_x(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'temp_grdy', 'meridional temperature gradient', 'K/m', trgrd_y(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D /), 'temp_grdz', 'vertical temperature gradient', 'K/m', trgrd_z(1,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'salt_grdx', 'zonal salinity gradient', 'psu/m', trgrd_x(2,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, elem2D/), (/nl-1, myDim_elem2D/), 'salt_grdy', 'meridional salinity gradient', 'psu/m', trgrd_y(2,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D /), 'salt_grdz', 'vertical salinity gradient', 'psu/m', trgrd_z(2,:,:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if !--> if (ldiag_DVD) then + !_______________________________________________________________________________ CASE DEFAULT if (mype==0) write(*,*) 'stream ', io_list(i)%id, ' is not defined !' From 2a6ef1cfe66da4c72142b8160dc1f8a17fb66d40 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 28 Aug 2024 09:40:18 +0200 Subject: [PATCH 222/273] fix openmp error message --- src/gen_modules_diag.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 798a56eb6..0aa668fea 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -1083,7 +1083,7 @@ subroutine diag_trgrd_xyz(mode, tracers, partit, mesh) !___________________________________________________________________________ ! compute vertical tracer gradient -!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(n, nz, nzu, nzl) +!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(node, nz, nzu, nzl) do node=1, myDim_nod2D nzl=nlevels_nod2D(node) nzu=ulevels_nod2D(node) From 2921aa57e1a730daf9801c64dce7534f55147afc Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 30 Aug 2024 13:48:47 +0200 Subject: [PATCH 223/273] fix small bug in the DVD komponent of the horizontal redi komponent --- src/gen_modules_diag.F90 | 72 +++++++++++++++++++++++----------------- src/io_meandata.F90 | 10 ++++-- 2 files changed, 49 insertions(+), 33 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 0aa668fea..cdd7b54cf 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -1309,12 +1309,15 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) ! add contribution from horizontal diffusion flux (after klingbeil et al. 2014) ! --> keep in mind here trstar corresponds to tr_old - call dvd_add_difflux_horexpl( .false., tr_num, dvd_KK_tot, trold, Ki, tr_xy, dump, partit, mesh) + if (Redi == .False. .and. K_hor /= 0.0_WP) then + call dvd_add_difflux_horexpl( .false., tr_num, dvd_KK_tot, trold, Ki, tr_xy, dump, partit, mesh) + end if ! add contribution from vertical diffusion flux (after klingbeil et al. 2014) if (.not. tracers%data(tr_num)%i_vert_diff) then call dvd_add_difflux_vertexpl(.false., tr_num, dvd_KK_tot, tr, trold, Kv, partit, mesh) - end if + end if + if (Redi) then call dvd_add_difflux_horexplredi( .false., tr_num, dvd_KK_tot, trold, Ki, slope_tapered, tr_z, dump, partit, mesh) call dvd_add_difflux_vertexplredi(.false., tr_num, dvd_KK_tot, trold, Ki, slope_tapered, tr_xy, partit, mesh) @@ -1352,12 +1355,15 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) call dvd_add_advflux_ver( .true., tr_num, dvd_SD_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) ! add contribution from horizontal diffusion - call dvd_add_difflux_horexpl( .true., tr_num, dvd_SD_chi_dif_he, trstar, Ki, tr_xy, dump, partit, mesh) + if (Redi == .False. .and. K_hor /= 0.0_WP) then + call dvd_add_difflux_horexpl( .true., tr_num, dvd_SD_chi_dif_he, trstar, Ki, tr_xy, dump, partit, mesh) + end if ! add contribution from vertical diffusion if (.not. tracers%data(tr_num)%i_vert_diff) then call dvd_add_difflux_vertexpl(.true., tr_num, dvd_SD_chi_dif_ve, tr, trstar, Kv, partit, mesh) - end if + end if + if (Redi) then call dvd_add_difflux_horexplredi( .true., tr_num, dvd_SD_chi_dif_heR, trstar, Ki, slope_tapered, tr_z, dump, partit, mesh) call dvd_add_difflux_vertexplredi(.true., tr_num, dvd_SD_chi_dif_veR, trstar, Ki, slope_tapered, tr_xy, partit, mesh) @@ -1387,7 +1393,7 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) dvd_SD_tot(:,:,tr_num) = dvd_SD_tot(:,:,tr_num) + dvd_SD_chi_dif_heR(:,:,tr_num) & + dvd_SD_chi_dif_veR(:,:,tr_num) & + dvd_SD_chi_dif_viR(:,:,tr_num) - + end if if (tracers%data(tr_num)%smooth_bh_tra) then dvd_SD_tot(:,:,tr_num) = dvd_SD_tot(:,:,tr_num) + dvd_SD_chi_dif_hbh(:,:,tr_num) @@ -1882,7 +1888,6 @@ subroutine dvd_add_difflux_horexpl(do_SDdvd, tr_num, dvd_tot, tr, Ki, tr_xy, dum integer :: ednodes(2), edelem(2), elnodes(3) real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, dZ real(kind=WP) :: Kh, Trx, Try, Trz(2), SxTz, SyTz, Dflx, Trc, xchi - real(kind=WP) :: isredi=0.0_WP #include "associate_part_def.h" #include "associate_mesh_def.h" @@ -1895,9 +1900,6 @@ subroutine dvd_add_difflux_horexpl(do_SDdvd, tr_num, dvd_tot, tr, Ki, tr_xy, dum dump(:, node)=0.0_WP end do - ! add contribution of redi diffusivity when activated - if (Redi) isredi=1.0_WP - ! compute horizontal 2nd moment tracer flux from advective tracer fluxes at mid ! edge face (tr^2) and add it to dvd_tot do edge = 1, myDim_edge2D @@ -1958,7 +1960,7 @@ subroutine dvd_add_difflux_horexpl(do_SDdvd, tr_num, dvd_tot, tr, Ki, tr_xy, dum ! compute edge centered tracer value --> knut variant ! --> here variable tr corresponds to tr_old = Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar dfiference --> sergey variant ! --> here variable tr corresponds to trstar = (Tr^(n+1) + Tr^(n))*0.5 @@ -2173,7 +2175,6 @@ subroutine dvd_add_difflux_horexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, integer :: ednodes(2), edelem(2), elnodes(3) real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2, dZ real(kind=WP) :: Kh, Trx, Try, Trz(2), SxTz, SyTz, Dflx, Trc, xchi - real(kind=WP) :: isredi=0.0_WP #include "associate_part_def.h" #include "associate_mesh_def.h" @@ -2186,9 +2187,6 @@ subroutine dvd_add_difflux_horexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, dump(:, node)=0.0_WP end do - ! add contribution of redi diffusivity when activated - if (Redi) isredi=1.0_WP - ! compute horizontal 2nd moment tracer flux from advective tracer fluxes at mid ! edge face (tr^2) and add it to dvd_tot do edge = 1, myDim_edge2D @@ -2241,18 +2239,21 @@ subroutine dvd_add_difflux_horexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, ! reminder: tr_z ... vertical tracer gradient sits on full depth levels ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical ! tracer gradient back to mid depth levels + Trx = tr_xy(1, nz, edelem(1)) + Try = tr_xy(2, nz, edelem(1)) Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP - Trx = SxTz*isredi - Try = SyTz*isredi + Trx = Trx + SxTz + Try = Try + SyTz + ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(-deltaX1*Try + deltaY1*Trx)*dZ !___________________________________________________________________ ! compute edge centered tracer value --> knut variant ! --> here variable tr corresponds to tr_old = Tr^(n) Trc = tr(nz, ednodes(1)) * hnode_new(nz, ednodes(1)) + tr(nz, ednodes(2)) * hnode_new(nz, ednodes(2)) - Trc = -2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) + Trc = 2.0_WP * Trc/(hnode_new(nz, ednodes(1))+hnode_new(nz, ednodes(2))) !___________________________________________________________________ ! compute Tstar dfiference --> sergey variant ! --> here variable tr corresponds to trstar = (Tr^(n+1) + Tr^(n))*0.5 @@ -2281,11 +2282,14 @@ subroutine dvd_add_difflux_horexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, ! reminder: tr_z ... vertical tracer gradient sits on full depth levels ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical ! tracer gradient back to mid depth levels + Trx = tr_xy(1, nz, edelem(2)) + Try = tr_xy(2, nz, edelem(2)) Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP - Trx = SxTz*isredi - Try = SyTz*isredi + Trx = Trx + SxTz + Try = Try + SyTz + ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(deltaX2*Try - deltaY2*Trx)*dZ !_______________________________________________________________ @@ -2323,11 +2327,14 @@ subroutine dvd_add_difflux_horexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, ! reminder: tr_z ... vertical tracer gradient sits on full depth levels ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical ! tracer gradient back to mid depth levels + Trx = 0.5_WP*( tr_xy(1, nz, edelem(1))+tr_xy(1, nz, edelem(2)) ) + Try = 0.5_WP*( tr_xy(2, nz, edelem(1))+tr_xy(2, nz, edelem(2)) ) Trz = 0.5_WP*(tr_z(nz, ednodes)+tr_z(nz+1, ednodes)) SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP - Trx = SxTz*isredi - Try = SyTz*isredi + Trx = Trx + SxTz + Try = Try + SyTz + ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*((deltaX2-deltaX1)*Try-(deltaY2-deltaY1)*Trx)*dZ !___________________________________________________________________ @@ -2363,11 +2370,14 @@ subroutine dvd_add_difflux_horexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, ! reminder: tr_z ... vertical tracer gradient sits on full depth levels ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical ! tracer gradient back to mid depth levels + Trx = tr_xy(1, nz, edelem(1)) + Try = tr_xy(2, nz, edelem(1)) Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP - Trx = SxTz*isredi - Try = SyTz*isredi + Trx = Trx + SxTz + Try = Try + SyTz + ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(-deltaX1*Try + deltaY1*Trx)*dZ !___________________________________________________________________ @@ -2403,11 +2413,14 @@ subroutine dvd_add_difflux_horexplredi(do_SDdvd, tr_num, dvd_tot, tr, Ki, slope, ! reminder: tr_z ... vertical tracer gradient sits on full depth levels ! with 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) we bring the vertical ! tracer gradient back to mid depth levels + Trx = tr_xy(1, nz, edelem(2)) + Try = tr_xy(2, nz, edelem(2)) Trz = 0.5_WP*(tr_z(nz,ednodes)+tr_z(nz+1,ednodes)) SxTz = sum(Trz*slope(1, nz, ednodes))*0.5_WP SyTz = sum(Trz*slope(2, nz, ednodes))*0.5_WP - Trx = SxTz*isredi - Try = SyTz*isredi + Trx = Trx + SxTz + Try = Try + SyTz + ! Dflx is here the horizontal diffusive volume flux Dflx = Kh*(deltaX2*Try - deltaY2*Trx)*dZ !___________________________________________________________________ @@ -2814,15 +2827,12 @@ subroutine dvd_add_difflux_vertimplredi(do_SDdvd, tr_num, dvd_tot, tr, trstar, K real(kind=WP) , intent(in) :: slope(3,mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) integer :: node, nz, nu1, nl1 real(kind=WP) :: tr_up, tr_dwn, Dflx(mesh%nl), dzup, dzdwn, dz, Kv_R - real(kind=WP) :: isredi=0.0_WP, sbc, rsss + real(kind=WP) :: sbc, rsss #include "associate_part_def.h" #include "associate_mesh_def.h" #include "associate_part_ass.h" #include "associate_mesh_ass.h" - ! add contribution of redi diffusivity when activated - if (Redi) isredi=1.0_WP - ! add contribution of implicite vertical diffusion (after Klingbeil et al.2014) do node=1, myDim_nod2D nu1 = ulevels_nod2D(node) @@ -2855,7 +2865,6 @@ subroutine dvd_add_difflux_vertimplredi(do_SDdvd, tr_num, dvd_tot, tr, trstar, K dzdwn = hnode(nz , node)*0.5_WP Kv_R = dzup /(dzup + dzdwn) * slope(3, nz-1, node)**2 * Ki(nz-1,node) + & dzdwn/(dzup + dzdwn) * slope(3, nz , node)**2 * Ki(nz ,node) - Kv_R = Kv_R*isredi ! fdiff = Kv*dT/dz = Kv (T(nz-1) - T(nz))/ ((hnode(nz-1)+hnode(nz))/2) ! --> Dflx is until here the diffusive volume flux on full depth levels @@ -3178,7 +3187,8 @@ subroutine dvd_add_difflux_sbc(do_SDdvd, tr_num, dvd_tot, tr, trstar, partit, me ! --> if Sergey diagonsitc is used Dflx correspond from here on to ! Xchi at full depth level interface nz = 1 - Dflx(nz) = Dflx(nz) * -2.0_WP*( trstar(nz, node) ) +!PS Dflx(nz) = Dflx(nz) * -2.0_WP*( trstar(nz, node) ) + Dflx(nz) = Dflx(nz) * -2.0_WP*( trstar(nz+1, node)-trstar(nz, node) ) do nz=nu1+1, nl1-1 Dflx(nz) = Dflx(nz) * -2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ) end do ! --> do nz=nu1+1, nl1-1 diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 4f264398b..20b25af8a 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -1141,7 +1141,9 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_tot' , 'tot. temperature DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_he( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + if (Redi == .False. .and. K_hor /= 0.0_WP) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_he( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difsbc', 'temperature DVD sbc.' , 'K^2/s' , dvd_SD_chi_dif_sbc(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) if (.not. tracers%data(1)%i_vert_diff) then @@ -1152,6 +1154,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) end if if (Redi) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difheR', 'temperature DVD horiz. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_heR(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difveR', 'temperature DVD vert. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_veR(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difviR', 'temperature DVD vert. redi diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_viR(:,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if @@ -1161,7 +1164,9 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_tot' , 'tot. salinity DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_he( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + if (Redi == .False. .and. K_hor /= 0.0_WP) then + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_he( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difvi', 'salinity DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difsbc','salinity DVD sbc.' , 'K^2/s' , dvd_SD_chi_dif_sbc(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) if (.not. tracers%data(1)%i_vert_diff) then @@ -1172,6 +1177,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) end if if (Redi) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difheR', 'salinity DVD horiz. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_heR(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difveR', 'salinity DVD vert. redi diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_veR(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difviR', 'salinity DVD vert. redi diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_viR(:,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if From 3d9ebb375eb8ad40111a6a9f67859ec0887f877b Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 30 Aug 2024 14:14:37 +0200 Subject: [PATCH 224/273] improve work/job_albedo_chain file, save file_chain_id in results folder instead of work folder --- work/job_albedo_chain | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/work/job_albedo_chain b/work/job_albedo_chain index 44e093cfb..c1a042c41 100755 --- a/work/job_albedo_chain +++ b/work/job_albedo_chain @@ -97,25 +97,6 @@ cp -n ../config/namelist.ice . cp -n ../config/namelist.io . cp -n ../config/namelist.icepack . -#___SET CHAIN_ID________________________________________________________________ -if [ -f "file_chain_id" ]; then - chain_id=$( file_chain_id -fi - -#___PRINT INPUT INFO____________________________________________________________ -echo -e "\033[1;7;33m_____JOB CHAIN INFO_____________________________________\033[0m" -echo -e "\033[1;33m --> actual chain cycle: $chain_id \033[0m" -echo -e "\033[1;33m --> max. number of chain cycles: $chain_n \033[0m" -echo -e "\033[1;33m --> simulated time range: [ $year_s $year_e] \033[0m" -echo -e "\033[1;33m --> slurm: wall-clock-time = $wcl \033[0m" -echo -e "\033[1;33m --> slurm: ntasks = $ntasks \033[0m" -echo -e "\033[1;33m --> slurm: nnodes = $nnodes \033[0m" -if [ $prescribe_rlen -ne 0 ]; then - echo -e "\033[1;33m -->change run_length = $prescribe_rlen \033[0m" -fi #___CREATE SAVE DIR INFRASTRUCTURE______________________________________________ # extract resultpath from namelist.config @@ -148,6 +129,25 @@ fi # identify real path in case a link is used dname_result="$(realpath "$dname_result")/" +#___SET CHAIN_ID________________________________________________________________ +if [ -f "${dname_result}/file_chain_id" ]; then + chain_id=$(<${dname_result}/file_chain_id) +else + chain_id=${chain_s} + echo $chain_id > ${dname_result}/file_chain_id +fi +#___PRINT INPUT INFO____________________________________________________________ +echo -e "\033[1;7;33m_____JOB CHAIN INFO_____________________________________\033[0m" +echo -e "\033[1;33m --> actual chain cycle: $chain_id \033[0m" +echo -e "\033[1;33m --> max. number of chain cycles: $chain_n \033[0m" +echo -e "\033[1;33m --> simulated time range: [ $year_s $year_e] \033[0m" +echo -e "\033[1;33m --> slurm: wall-clock-time = $wcl \033[0m" +echo -e "\033[1;33m --> slurm: ntasks = $ntasks \033[0m" +echo -e "\033[1;33m --> slurm: nnodes = $nnodes \033[0m" +if [ $prescribe_rlen -ne 0 ]; then + echo -e "\033[1;33m -->change run_length = $prescribe_rlen \033[0m" +fi + # if directory for chain_id doesn't exist --> create it if [ ! -d "${dname_result}/${chain_id}" ]; then echo -e "\033[33m --> chain_id directory does not exist --> will create it \033[0m" @@ -234,8 +234,7 @@ if [ $is_newsimul -eq 1 ] ; then #___BACKUP NAMELIST.* FILES INTO RESULT DIRECTORY_______________________ - cp namelist.config namelist.oce namelist.ice namelist.forcing namelist.io \ - namelist.dyn namelist.tra namelist.cvmix ${dname_result}/. + cp namelist.* ${dname_result}/. cp fesom.x ${dname_result}/. #___BACKUP SRC FILES INTO RESULT DIRECTORY__________________________________ @@ -335,6 +334,6 @@ fi # check if complete cycle is finished only than increase chain_id if [ $aux_yr_clock -gt $year_e ] && [ ${chain_id} -lt ${chain_n} ] ; then chain_id=$(( $chain_id + 1 )) - echo $chain_id > file_chain_id + echo $chain_id > ${dname_result}/file_chain_id fi From d8fc39e4efe9d8ec085302e3ab93250c61d9b179 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 2 Sep 2024 09:55:04 +0200 Subject: [PATCH 225/273] fix gnu compiler error --- src/gen_modules_diag.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index cdd7b54cf..9beff3d98 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -1309,7 +1309,7 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) ! add contribution from horizontal diffusion flux (after klingbeil et al. 2014) ! --> keep in mind here trstar corresponds to tr_old - if (Redi == .False. .and. K_hor /= 0.0_WP) then + if (Redi .eqv. .False. .and. K_hor /= 0.0_WP) then call dvd_add_difflux_horexpl( .false., tr_num, dvd_KK_tot, trold, Ki, tr_xy, dump, partit, mesh) end if @@ -1355,7 +1355,7 @@ subroutine compute_dvd(mode, dynamics, tracers, partit, mesh) call dvd_add_advflux_ver( .true., tr_num, dvd_SD_chi_adv_v, trflx_v, Wvel, trstar, partit, mesh) ! add contribution from horizontal diffusion - if (Redi == .False. .and. K_hor /= 0.0_WP) then + if (Redi .eqv. .False. .and. K_hor /= 0.0_WP) then call dvd_add_difflux_horexpl( .true., tr_num, dvd_SD_chi_dif_he, trstar, Ki, tr_xy, dump, partit, mesh) end if From ec1223d80d5f5712bfa9bd56ecd428c2b50eec6e Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 2 Sep 2024 09:59:48 +0200 Subject: [PATCH 226/273] fix gnu compiler error --- src/io_meandata.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 20b25af8a..afc58f87f 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -1141,7 +1141,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_tot' , 'tot. temperature DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advh', 'temperature DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_advv', 'temperature DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - if (Redi == .False. .and. K_hor /= 0.0_WP) then + if (Redi .eqv. .False. .and. K_hor /= 0.0_WP) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difh', 'temperature DVD horiz. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_he( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_temp_SD_difvi', 'temperature DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi( :,:,1), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) @@ -1164,7 +1164,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_tot' , 'tot. salinity DVD \n (Banerjee et al. 2023)' , 'K^2/s' , dvd_SD_tot( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advh', 'salinity DVD horiz. adv.' , 'K^2/s' , dvd_SD_chi_adv_h( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_advv', 'salinity DVD vert. adv. ' , 'K^2/s' , dvd_SD_chi_adv_v( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) - if (Redi == .False. .and. K_hor /= 0.0_WP) then + if (Redi .eqv. .False. .and. K_hor /= 0.0_WP) then call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difh', 'salinity DVD horiz. diff. expl.' , 'K^2/s' , dvd_SD_chi_dif_he( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if call def_stream((/nl-1, nod2D/), (/nl-1, myDim_nod2D/), 'dvd_salt_SD_difvi', 'salinity DVD vert. diff. impl.' , 'K^2/s' , dvd_SD_chi_dif_vi( :,:,2), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) From 0e5bfdc1b402347cc1b707cfb6396142e8aba447 Mon Sep 17 00:00:00 2001 From: Sebastian Beyer Date: Mon, 16 Sep 2024 13:31:21 +0200 Subject: [PATCH 227/273] update mpif.h to use mpi --- src/MOD_PARTIT.F90 | 4 ++-- src/fortran_utils.F90 | 2 +- src/gen_modules_partitioning.F90 | 3 +-- src/ifs_interface/mpp_io.F90 | 3 +-- src/io_restart.F90 | 6 ++---- src/temp/MOD_PARTIT.F90 | 4 ++-- 6 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/MOD_PARTIT.F90 b/src/MOD_PARTIT.F90 index 6603b8922..2e8330a4b 100644 --- a/src/MOD_PARTIT.F90 +++ b/src/MOD_PARTIT.F90 @@ -5,12 +5,12 @@ module MOD_PARTIT USE, intrinsic :: ISO_FORTRAN_ENV, only : int32 USE MOD_WRITE_BINARY_ARRAYS USE MOD_READ_BINARY_ARRAYS +USE mpi #if defined(_OPENMP) USE OMP_LIB #endif IMPLICIT NONE SAVE -include 'mpif.h' integer, parameter :: MAX_LAENDERECK=16 integer, parameter :: MAX_NEIGHBOR_PARTITIONS=32 @@ -217,4 +217,4 @@ subroutine READ_T_PARTIT(partit, unit, iostat, iomsg) read(unit, iostat=iostat, iomsg=iomsg) partit%pe_status end subroutine READ_T_PARTIT -end module MOD_PARTIT +end module MOD_PARTIT \ No newline at end of file diff --git a/src/fortran_utils.F90 b/src/fortran_utils.F90 index 35efdb742..86a93d226 100644 --- a/src/fortran_utils.F90 +++ b/src/fortran_utils.F90 @@ -1,5 +1,6 @@ ! synopsis: basic Fortran utilities, no MPI, dependencies only to INTRINSIC modules module fortran_utils + use mpi implicit none contains @@ -48,7 +49,6 @@ function mpirank_to_txt(mpicomm) result(txt) integer mype integer npes integer mpierr - include 'mpif.h' call MPI_Comm_Rank(mpicomm, mype, mpierr) call MPI_Comm_Size(mpicomm, npes, mpierr) diff --git a/src/gen_modules_partitioning.F90 b/src/gen_modules_partitioning.F90 index 04ecd94d3..2e701e427 100644 --- a/src/gen_modules_partitioning.F90 +++ b/src/gen_modules_partitioning.F90 @@ -113,7 +113,7 @@ subroutine par_ex(COMM, mype, abort) ! finalizes MPI #ifndef __oasis if (present(abort)) then if (mype==0) write(*,*) 'Run finished unexpectedly!' - call MPI_ABORT(MPI_COMM_WORLD, 1 ) + call MPI_ABORT(MPI_COMM_WORLD, 1, error) else ! TODO: this is where fesom standalone, ifsinterface etc get to !1. there no abort actually even when model calls abort, and barrier may hang @@ -580,4 +580,3 @@ subroutine status_check(partit) call par_ex(partit%MPI_COMM_FESOM, partit%mype, 1) endif end subroutine status_check - diff --git a/src/ifs_interface/mpp_io.F90 b/src/ifs_interface/mpp_io.F90 index 6c57995e3..d7838cd32 100644 --- a/src/ifs_interface/mpp_io.F90 +++ b/src/ifs_interface/mpp_io.F90 @@ -6,6 +6,7 @@ !----------------------------------------------------- MODULE mpp_io + USE mpi #if defined(__MULTIO) USE iom, only : iom_enable_multio, iom_initialize, iom_init_server, iom_finalize #endif @@ -30,7 +31,6 @@ MODULE mpp_io SUBROUTINE mpp_io_init( iicomm, lio, irequired, iprovided, lmpi1 ) - INCLUDE "mpif.h" INTEGER, INTENT(INOUT) :: iicomm LOGICAL, INTENT(INOUT) :: lio INTEGER, INTENT(INOUT) :: irequired, iprovided @@ -126,7 +126,6 @@ SUBROUTINE mpp_io_init_2( iicomm ) INTEGER :: icode, ierr, icolor, iicommx, iicommm, iicommo INTEGER :: ji,inum LOGICAL :: lcompp - INCLUDE "mpif.h" ! Construct multio server communicator diff --git a/src/io_restart.F90 b/src/io_restart.F90 index 9077e27af..fd1121278 100644 --- a/src/io_restart.F90 +++ b/src/io_restart.F90 @@ -12,6 +12,7 @@ MODULE io_RESTART use MOD_PARTIT use MOD_PARSUP use fortran_utils + use mpi #if defined(__recom) use recom_glovar use recom_config @@ -771,7 +772,6 @@ subroutine read_all_raw_restarts(mpicomm, mype) integer fileunit integer status integer mpierr - include 'mpif.h' if(mype == RAW_RESTART_METADATA_RANK) then ! read metadata info for the raw restart @@ -860,7 +860,6 @@ subroutine finalize_restart() ! !_______________________________________________________________________________ subroutine read_restart(path, filegroup, mpicomm, mype) - include 'mpif.h' character(len=*), intent(in) :: path type(restart_file_group), intent(inout) :: filegroup integer, intent(in) :: mpicomm @@ -1004,7 +1003,6 @@ function is_due(unit, frequency, istep) result(d) ! integer mype ! integer npes ! integer mpierr -! include 'mpif.h' ! ! call MPI_Comm_Rank(mpicomm, mype, mpierr) ! call MPI_Comm_Size(mpicomm, npes, mpierr) @@ -1012,4 +1010,4 @@ function is_due(unit, frequency, istep) result(d) ! end function !!PS --> move this function also to fortran_utils.F90 -end module +end module \ No newline at end of file diff --git a/src/temp/MOD_PARTIT.F90 b/src/temp/MOD_PARTIT.F90 index bd3b7dec2..818b46541 100644 --- a/src/temp/MOD_PARTIT.F90 +++ b/src/temp/MOD_PARTIT.F90 @@ -5,9 +5,9 @@ module MOD_PARTIT USE, intrinsic :: ISO_FORTRAN_ENV USE MOD_WRITE_BINARY_ARRAYS USE MOD_READ_BINARY_ARRAYS +USE mpi IMPLICIT NONE SAVE -include 'mpif.h' integer, parameter :: MAX_LAENDERECK=16 integer, parameter :: MAX_NEIGHBOR_PARTITIONS=32 @@ -186,4 +186,4 @@ subroutine READ_T_PARTIT(partit, unit, iostat, iomsg) read(unit, iostat=iostat, iomsg=iomsg) partit%pe_status end subroutine READ_T_PARTIT -end module MOD_PARTIT +end module MOD_PARTIT \ No newline at end of file From 361b9b9d3c0f1f4e773ea41f2c98796e5a50af34 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Fri, 20 Sep 2024 14:45:15 +0200 Subject: [PATCH 228/273] 3D heat flux, fix cell saturation --- src/fesom_module.F90 | 12 +- src/gen_modules_config.F90 | 5 +- src/icb_allocate.F90 | 43 +++-- src/icb_coupling.F90 | 105 ++++++++--- src/icb_coupling.F90.rej | 22 +++ src/icb_dyn.F90 | 30 ++-- src/icb_elem.F90 | 39 ++--- src/icb_elem.F90.rej | 59 +++++++ src/icb_modules.F90 | 24 +-- src/icb_modules.F90.rej | 72 ++++++++ src/icb_step.F90 | 327 +++++++++++++++++++---------------- src/icb_step.F90.rej | 121 +++++++++++++ src/icb_thermo.F90 | 179 ++++++------------- src/icb_thermo.F90.rej | 324 ++++++++++++++++++++++++++++++++++ src/ice_oce_coupling.F90 | 13 ++ src/ice_oce_coupling.F90.rej | 23 +++ src/io_meandata.F90.rej | 11 ++ src/oce_ale_tracer.F90 | 11 ++ src/oce_ale_tracer.F90.rej | 9 + 19 files changed, 1055 insertions(+), 374 deletions(-) create mode 100644 src/icb_coupling.F90.rej create mode 100644 src/icb_elem.F90.rej create mode 100644 src/icb_modules.F90.rej create mode 100644 src/icb_step.F90.rej create mode 100644 src/icb_thermo.F90.rej create mode 100644 src/ice_oce_coupling.F90.rej create mode 100644 src/io_meandata.F90.rej create mode 100644 src/oce_ale_tracer.F90.rej diff --git a/src/fesom_module.F90 b/src/fesom_module.F90 index 3302f61f4..1fb782a0f 100755 --- a/src/fesom_module.F90 +++ b/src/fesom_module.F90 @@ -272,7 +272,7 @@ subroutine fesom_init(fesom_total_nsteps) ! -------------- ! LA icebergs: 2023-05-17 if (use_icebergs) then - call allocate_icb(f%partit) + call allocate_icb(f%partit, f%mesh) endif ! -------------- @@ -570,16 +570,6 @@ subroutine fesom_runloop(current_nsteps) if (flag_debug .and. f%mype==0) print *, achar(27)//'[34m'//' --> call ice_timestep(n)'//achar(27)//'[0m' if (f%ice%ice_update) call ice_timestep(n, f%ice, f%partit, f%mesh) - - ! LA commented for debugging - ! -------------- - ! LA icebergs: 2023-05-17 - if (use_icebergs .and. mod(n, steps_per_ib_step)==0.0) then - call icb2fesom(f%mesh, f%partit, f%ice) - end if - ! -------------- - - !___compute fluxes to the ocean: heat, freshwater, momentum_________ if (flag_debug .and. f%mype==0) print *, achar(27)//'[34m'//' --> call oce_fluxes_mom...'//achar(27)//'[0m' call oce_fluxes_mom(f%ice, f%dynamics, f%partit, f%mesh) ! momentum only diff --git a/src/gen_modules_config.F90 b/src/gen_modules_config.F90 index a12ff8c9a..f4766764e 100755 --- a/src/gen_modules_config.F90 +++ b/src/gen_modules_config.F90 @@ -122,6 +122,9 @@ module g_config logical :: turn_off_hf=.false. logical :: turn_off_fw=.false. logical :: use_icesheet_coupling=.false. + logical :: lbalance_fw=.true. + logical :: lcell_saturation=.true. + logical :: lmin_latent_hf=.true. integer :: ib_num=0 integer :: steps_per_ib_step=8 @@ -132,7 +135,7 @@ module g_config integer :: ib_async_mode=0 integer :: thread_support_level_required=3 ! 2 = MPI_THREAD_SERIALIZED, 3 = MPI_THREAD_MULTIPLE - namelist /icebergs/ use_icebergs, turn_off_hf, turn_off_fw, use_icesheet_coupling, ib_num, steps_per_ib_step, ib_async_mode, thread_support_level_required + namelist /icebergs/ use_icebergs, turn_off_hf, turn_off_fw, use_icesheet_coupling, lbalance_fw, lcell_saturation, lmin_latent_hf, ib_num, steps_per_ib_step, ib_async_mode, thread_support_level_required !wiso-code!!! logical :: lwiso =.false. ! enable isotope? diff --git a/src/icb_allocate.F90 b/src/icb_allocate.F90 index 169f73126..8d235a415 100644 --- a/src/icb_allocate.F90 +++ b/src/icb_allocate.F90 @@ -1,20 +1,30 @@ -subroutine allocate_icb(partit) +subroutine allocate_icb(partit, mesh) use iceberg_params use g_config + use g_comm + use g_comm_auto + use o_param use MOD_PARTIT + use MOD_MESH integer :: n2 type(t_partit), intent(inout), target :: partit +type(t_mesh), intent(in), target :: mesh #include "associate_part_def.h" +#include "associate_mesh_def.h" #include "associate_part_ass.h" +#include "associate_mesh_ass.h" n2=myDim_nod2D+eDim_nod2D + icb_outfreq = step_per_day / steps_per_ib_step allocate(ibhf(n2), ibfwb(n2), ibfwl(n2), ibfwe(n2), ibfwbv(n2)) - ibhf=0 - ibfwb=0 - ibfwl=0 - ibfwe=0 - ibfwbv=0 + ibhf = 0.0 + ibfwb = 0.0 + ibfwl = 0.0 + ibfwe = 0.0 + ibfwbv = 0.0 + allocate(ibhf_n(mesh%nl, n2)) + ibhf_n = 0.0_WP allocate(calving_day(ib_num)) calving_day = 1 !28.0: September 29 for restart in 1 SEP 97 ! 271.0: September 29 for year 1997 @@ -83,16 +93,29 @@ subroutine allocate_icb(partit) allocate(fwl_flux_ib(ib_num)) allocate(fwb_flux_ib(ib_num)) allocate(fwbv_flux_ib(ib_num)) - allocate(heat_flux_ib(ib_num)) - allocate(lheat_flux_ib(ib_num)) + allocate(hfe_flux_ib(ib_num)) + allocate(hfl_flux_ib(ib_num)) + allocate(hfb_flux_ib(ib_num)) + allocate(hfbv_flux_ib(ib_num)) + allocate(lhfb_flux_ib(ib_num)) fwe_flux_ib = 0.0 fwl_flux_ib = 0.0 fwb_flux_ib = 0.0 fwbv_flux_ib = 0.0 - heat_flux_ib = 0.0 - lheat_flux_ib = 0.0 + hfe_flux_ib = 0.0 + hfl_flux_ib = 0.0 + hfb_flux_ib = 0.0 + hfbv_flux_ib = 0.0 + lhfb_flux_ib = 0.0 allocate(arr_block(15*ib_num)) allocate(elem_block(ib_num)) + allocate(pe_block(ib_num)) + + allocate(elem_area_glob(elem2D)) + elem_area_glob=0.0 + call gather_elem(elem_area(1:myDim_elem2D), elem_area_glob, partit) + call MPI_Bcast(elem_area_glob, elem2D, MPI_DOUBLE, 0, MPI_COMM_FESOM, MPIERR) + allocate(vl_block(4*ib_num)) allocate(buoy_props(ib_num,13)) buoy_props = 0.0 diff --git a/src/icb_coupling.F90 b/src/icb_coupling.F90 index e4331ecd7..56004644a 100644 --- a/src/icb_coupling.F90 +++ b/src/icb_coupling.F90 @@ -5,11 +5,12 @@ subroutine reset_ib_fluxes() use g_config use iceberg_params - ibfwbv = 0 - ibfwb = 0 - ibfwl = 0 - ibfwe = 0 - ibhf = 0 + ibfwbv = 0.0 + ibfwb = 0.0 + ibfwl = 0.0 + ibfwe = 0.0 + ibhf = 0.0 + ibhf_n = 0.0_WP end subroutine @@ -23,14 +24,19 @@ subroutine prepare_icb2fesom(mesh, partit, ib,i_have_element,localelement,depth_ use MOD_PARTIT use iceberg_params + implicit none + logical :: i_have_element - real :: depth_ib + real, intent(in) :: depth_ib + real :: lev_low, lev_up integer :: localelement integer :: iceberg_node integer, dimension(3) :: ib_nods_in_ib_elem integer :: num_ib_nods_in_ib_elem - real :: tot_area_nods_in_ib_elem - integer :: i, ib + real :: dz + real, dimension(:), allocatable :: tot_area_nods_in_ib_elem + integer :: i, j, k, ib + integer, dimension(3) :: idx_d type(t_mesh), intent(in) , target :: mesh type(t_partit), intent(inout), target :: partit #include "associate_part_def.h" @@ -39,30 +45,83 @@ subroutine prepare_icb2fesom(mesh, partit, ib,i_have_element,localelement,depth_ #include "associate_mesh_ass.h" if(i_have_element) then + dz = 0.0 + allocate(tot_area_nods_in_ib_elem(mesh%nl)) + num_ib_nods_in_ib_elem=0 - tot_area_nods_in_ib_elem=0 + tot_area_nods_in_ib_elem=0.0 + idx_d = 0 do i=1,3 iceberg_node=elem2d_nodes(i,localelement) + ! LOOP: consider all neighboring pairs (n_up,n_low) of 3D nodes + ! below n2.. + !innerloop: do k=1, nl+1 + do k=1, nlevels_nod2D(iceberg_node) + idx_d(i) = k + lev_up = mesh%zbar_3d_n(k, iceberg_node) + + if( k==nlevels_nod2D(iceberg_node) ) then + lev_low = mesh%zbar_n_bot(iceberg_node) + else + lev_low = mesh%zbar_3d_n(k+1, iceberg_node) + end if + + if( abs(lev_low)==abs(lev_up) ) then + idx_d(i) = idx_d(i) - 1 + exit + else if( abs(lev_low)>=abs(depth_ib) ) then + exit + else + cycle + end if + end do + if (iceberg_node<=mydim_nod2d) then - ib_nods_in_ib_elem(i) = iceberg_node - num_ib_nods_in_ib_elem = num_ib_nods_in_ib_elem + 1 - tot_area_nods_in_ib_elem= tot_area_nods_in_ib_elem + mesh%area(1,iceberg_node) + ib_nods_in_ib_elem(i) = iceberg_node + num_ib_nods_in_ib_elem = num_ib_nods_in_ib_elem + 1 + tot_area_nods_in_ib_elem = tot_area_nods_in_ib_elem + mesh%area(:,iceberg_node) else - ib_nods_in_ib_elem(i) = 0 + ib_nods_in_ib_elem(i) = 0 end if end do - + do i=1, 3 iceberg_node=ib_nods_in_ib_elem(i) if (iceberg_node>0) then - ibfwbv(iceberg_node) = ibfwbv(iceberg_node) - fwbv_flux_ib(ib) / tot_area_nods_in_ib_elem - ibfwb(iceberg_node) = ibfwb(iceberg_node) - fwb_flux_ib(ib) / tot_area_nods_in_ib_elem - ibfwl(iceberg_node) = ibfwl(iceberg_node) - fwl_flux_ib(ib) / tot_area_nods_in_ib_elem - ibfwe(iceberg_node) = ibfwe(iceberg_node) - fwe_flux_ib(ib) / tot_area_nods_in_ib_elem - ibhf(iceberg_node) = ibhf(iceberg_node) - heat_flux_ib(ib) / tot_area_nods_in_ib_elem + ibfwbv(iceberg_node) = ibfwbv(iceberg_node) - fwbv_flux_ib(ib) / tot_area_nods_in_ib_elem(1) + ibfwb(iceberg_node) = ibfwb(iceberg_node) - fwb_flux_ib(ib) / tot_area_nods_in_ib_elem(1) + ibfwl(iceberg_node) = ibfwl(iceberg_node) - fwl_flux_ib(ib) / tot_area_nods_in_ib_elem(1) + ibfwe(iceberg_node) = ibfwe(iceberg_node) - fwe_flux_ib(ib) / tot_area_nods_in_ib_elem(1) + !ibhf(iceberg_node) = ibhf(iceberg_node) - hfb_flux_ib(ib) / tot_area_nods_in_ib_elem(1) + + do j=1,idx_d(i) + lev_up = mesh%zbar_3d_n(j, iceberg_node) + if( j==nlevels_nod2D(iceberg_node) ) then + lev_low = mesh%zbar_n_bot(iceberg_node) + else + lev_low = mesh%zbar_3d_n(j+1, iceberg_node) + end if + dz = abs( lev_low - lev_up ) + if( (abs(lev_low)>=abs(depth_ib)) .and. (abs(lev_up) ice%flx_fw(:) - net_heat_flux => ice%flx_h(:) do n=1, myDim_nod2d+eDim_nod2D - if (.not.turn_off_hf) then - net_heat_flux(n) = net_heat_flux(n) + ibhf(n) * steps_per_ib_step - end if if (.not.turn_off_fw) then - fresh_wa_flux(n) = fresh_wa_flux(n) + (ibfwb(n)+ibfwl(n)+ibfwe(n)+ibfwbv(n)) * steps_per_ib_step + water_flux(n) = water_flux(n) - (ibfwb(n)+ibfwl(n)+ibfwe(n)+ibfwbv(n)) !* steps_per_ib_step end if end do !---wiso-code-begin diff --git a/src/icb_coupling.F90.rej b/src/icb_coupling.F90.rej new file mode 100644 index 000000000..fd3215347 --- /dev/null +++ b/src/icb_coupling.F90.rej @@ -0,0 +1,22 @@ +diff a/src/icb_coupling.F90 b/src/icb_coupling.F90 (rejected hunks) +@@ -90,16 +149,13 @@ type(t_partit), intent(inout), target :: partit + #include "associate_mesh_def.h" + #include "associate_part_ass.h" + #include "associate_mesh_ass.h" +- +- fresh_wa_flux => ice%flx_fw(:) +- net_heat_flux => ice%flx_h(:) + + do n=1, myDim_nod2d+eDim_nod2D +- if (.not.turn_off_hf) then +- net_heat_flux(n) = net_heat_flux(n) + ibhf(n) +- end if ++ !if (.not.turn_off_hf) then ++ ! heat_flux(n) = heat_flux(n) - ibhf(n) !* steps_per_ib_step ++ !end if + if (.not.turn_off_fw) then +- fresh_wa_flux(n) = fresh_wa_flux(n) + (ibfwb(n)+ibfwl(n)+ibfwe(n)+ibfwbv(n)) ++ water_flux(n) = water_flux(n) - (ibfwb(n)+ibfwl(n)+ibfwe(n)+ibfwbv(n)) !* steps_per_ib_step + end if + end do + !---wiso-code-begin diff --git a/src/icb_dyn.F90 b/src/icb_dyn.F90 index 78e3ad0d7..bc5f785e2 100644 --- a/src/icb_dyn.F90 +++ b/src/icb_dyn.F90 @@ -135,11 +135,12 @@ subroutine iceberg_dyn(mesh, partit, ice, dynamics, ib, new_u_ib, new_v_ib, u_ib if(l_melt) then call FEM_eval(mesh, partit, sst_ib,sss_ib,lon,lat,Tsurf_ib,Ssurf_ib,iceberg_elem) - call iceberg_meltrates( M_b, M_v, M_e, M_bv, & + + call iceberg_meltrates(partit, M_b, M_v, M_e, M_bv, & u_ib,v_ib, uo_ib,vo_ib, ua_ib,va_ib, & sst_ib, length_ib, conci_ib, & - uo_skin_ib, vo_skin_ib, T_keel_ib, S_keel_ib, depth_ib, & - T_ave_ib, S_ave_ib, ib) + uo_skin_ib, vo_skin_ib, T_keel_ib, S_keel_ib, depth_ib, height_ib, & + T_ave_ib, S_ave_ib, ib, rho_icb) call iceberg_newdimensions(partit, ib, depth_ib,height_ib,length_ib,width_ib,M_b,M_v,M_e,M_bv, & rho_h2o, rho_icb, file3) @@ -644,19 +645,26 @@ subroutine iceberg_average_andkeel(mesh, partit, dynamics, uo_dz,vo_dz, uo_keel, ! below n2.. !innerloop: do k=1, nl+1 innerloop: do k=1, nlevels_nod2D(n2) - - if( k==1 ) then - lev_up = 0.0 - else - lev_up = mesh%Z_3d_n_ib(k-1, n2) - !lev_up = mesh%Z_3d_n_ib(k-1, n2) - end if + lev_up = mesh%zbar_3d_n(k, n2) if( k==nlevels_nod2D(n2) ) then lev_low = mesh%zbar_n_bot(n2) else - lev_low = mesh%Z_3d_n_ib(k, n2) + lev_low = mesh%zbar_3d_n(k+1, n2) end if + + !if( k==1 ) then + ! lev_up = 0.0 + !else + ! lev_up = mesh%Z_3d_n_ib(k-1, n2) + ! !lev_up = mesh%Z_3d_n_ib(k-1, n2) + !end if + + !if( k==nlevels_nod2D(n2) ) then + ! lev_low = mesh%zbar_n_bot(n2) + !else + ! lev_low = mesh%Z_3d_n_ib(k, n2) + !end if dz = abs( lev_low - lev_up ) !if( abs(lev_up)>=abs(depth_ib) ) then diff --git a/src/icb_elem.F90 b/src/icb_elem.F90 index b0a1080cc..077630a4f 100644 --- a/src/icb_elem.F90 +++ b/src/icb_elem.F90 @@ -376,14 +376,12 @@ end subroutine FEM_3eval subroutine iceberg_elem4all(mesh, partit, elem, lon_deg, lat_deg) USE MOD_MESH use MOD_PARTIT !for myDim_nod2D, myList_elem2D -! use iceberg_params, only: reject_elem implicit none integer, intent(INOUT) :: elem real, intent(IN) :: lon_deg, lat_deg logical :: i_have_element - logical :: reject_tmp !LA for debugging type(t_mesh), intent(in) , target :: mesh type(t_partit), intent(inout), target :: partit @@ -397,30 +395,21 @@ subroutine iceberg_elem4all(mesh, partit, elem, lon_deg, lat_deg) if(i_have_element) then i_have_element= elem2D_nodes(1,elem) <= myDim_nod2D !1 PE still .true. - if (use_cavity) then - reject_tmp = all( (mesh%cavity_depth(elem2D_nodes(:,elem))/=0.0) .OR. (mesh%bc_index_nod2D(elem2D_nodes(:,elem))==0.0) ) - if(reject_tmp) then - !if( reject_elem(mesh, partit, elem) ) then - elem=0 !reject element - i_have_element=.false. - !write(*,*) 'elem4all: iceberg found in shelf region: elem = 0' - else - elem=myList_elem2D(elem) !global now - end if - else - elem=myList_elem2D(elem) !global now -endif + if( (use_cavity) .and. (reject_elem(mesh, partit, elem) )) then + elem=0 !reject element + i_have_element=.false. + else + elem=myList_elem2D(elem) !global now + end if end if call com_integer(partit, i_have_element,elem) !max 1 PE sends element here; end subroutine iceberg_elem4all !*************************************************************************************************************************** - !*************************************************************************************************************************** subroutine find_new_iceberg_elem(mesh, partit, old_iceberg_elem, pt, left_mype) use o_param -! use iceberg_params, only: reject_elem implicit none @@ -430,7 +419,6 @@ subroutine find_new_iceberg_elem(mesh, partit, old_iceberg_elem, pt, left_mype) INTEGER :: m, n2, idx_elem_containing_n2, elem_containing_n2, ibelem_tmp REAL, DIMENSION(3) :: werte2D - logical :: reject_tmp !LA for debugging type(t_mesh), intent(in) , target :: mesh type(t_partit), intent(inout), target :: partit @@ -461,16 +449,11 @@ subroutine find_new_iceberg_elem(mesh, partit, old_iceberg_elem, pt, left_mype) if (ALL(werte2D <= 1.+ 1.0e-07) .AND. ALL(werte2D >= 0.0- 1.0e-07) ) then old_iceberg_elem=elem_containing_n2 - if (use_cavity) then - !if( reject_elem(mesh, partit, old_iceberg_elem) ) then - reject_tmp = all( (mesh%cavity_depth(elem2D_nodes(:,ibelem_tmp))/=0.0) .OR. (mesh%bc_index_nod2D(elem2D_nodes(:,ibelem_tmp))==0.0) ) - if(reject_tmp) then - left_mype=1.0 - !write(*,*) 'iceberg found in shelf region: left_mype = 1' - old_iceberg_elem=ibelem_tmp - end if - endif - + if( (use_cavity) .and. (reject_elem(mesh, partit, old_iceberg_elem) )) then + left_mype=1.0 + !write(*,*) 'iceberg found in shelf region: left_mype = 1' + old_iceberg_elem=ibelem_tmp + end if RETURN end if end do diff --git a/src/icb_elem.F90.rej b/src/icb_elem.F90.rej new file mode 100644 index 000000000..a34f6a9f6 --- /dev/null +++ b/src/icb_elem.F90.rej @@ -0,0 +1,59 @@ +diff a/src/icb_elem.F90 b/src/icb_elem.F90 (rejected hunks) +@@ -376,9 +376,6 @@ end subroutine FEM_3eval + subroutine iceberg_elem4all(mesh, partit, elem, lon_deg, lat_deg) + USE MOD_MESH + use MOD_PARTIT !for myDim_nod2D, myList_elem2D +-!#ifdef use_cavity +-! use iceberg_params, only: reject_elem +-!#endif + + implicit none + +@@ -398,30 +395,21 @@ type(t_partit), intent(inout), target :: partit + + if(i_have_element) then + i_have_element= elem2D_nodes(1,elem) <= myDim_nod2D !1 PE still .true. +-#ifdef use_cavity +- if( reject_elem(mesh, elem) ) then ++ if( (use_cavity) .and. (reject_elem(mesh, partit, elem) )) then + elem=0 !reject element + i_have_element=.false. +- !write(*,*) 'elem4all: iceberg found in shelf region: elem = 0' + else + elem=myList_elem2D(elem) !global now + end if +-#else +- elem=myList_elem2D(elem) !global now +-#endif + end if + call com_integer(partit, i_have_element,elem) !max 1 PE sends element here; + end subroutine iceberg_elem4all + + + !*************************************************************************************************************************** +- !*************************************************************************************************************************** + + subroutine find_new_iceberg_elem(mesh, partit, old_iceberg_elem, pt, left_mype) + use o_param +-!#ifdef use_cavity +-! use iceberg_params, only: reject_elem +-!#endif + + implicit none + +@@ -461,14 +449,11 @@ do m=1, 3 + if (ALL(werte2D <= 1.+ 1.0e-07) .AND. ALL(werte2D >= 0.0- 1.0e-07) ) then + old_iceberg_elem=elem_containing_n2 + +-#ifdef use_cavity +- if( reject_elem(mesh, old_iceberg_elem) ) then ++ if( (use_cavity) .and. (reject_elem(mesh, partit, old_iceberg_elem) )) then + left_mype=1.0 + !write(*,*) 'iceberg found in shelf region: left_mype = 1' + old_iceberg_elem=ibelem_tmp + end if +-#endif +- + RETURN + end if + end do diff --git a/src/icb_modules.F90 b/src/icb_modules.F90 index e9c0d4260..2b7aa088c 100644 --- a/src/icb_modules.F90 +++ b/src/icb_modules.F90 @@ -2,6 +2,9 @@ module iceberg_params use MOD_PARTIT USE MOD_MESH use g_config, only: use_cavity, use_cavityonelem +use, intrinsic :: iso_fortran_env, only: real64 +USE o_PARAM, only: WP + implicit none save !integer,parameter :: ib_num ! realistic dataset comprising 6912 icebergs @@ -77,7 +80,7 @@ module iceberg_params character(100):: scaling_file='icb_scaling.dat' !scaling factor !===== OUTPUT RELATED SETTINGS ===== - integer :: icb_outfreq = 180 ! 180; for FESOM_dt=2min this is 6 hourly output !120; for FESOM_dt=3min this is 6 hourly output + integer :: icb_outfreq ! 180; for FESOM_dt=2min this is 6 hourly output !120; for FESOM_dt=3min this is 6 hourly output logical :: l_geo_out = .true. ! output in unrotated (.true.) or rotated coordinates logical :: ascii_out = .false. ! old ascii output (slow, more detailed); false: faster nc output !===== NUMERICS (DONT HAVE TO BE CHANGED) ===== @@ -90,11 +93,13 @@ module iceberg_params logical,dimension(:), allocatable:: find_iceberg_elem real,dimension(:), allocatable:: f_u_ib_old, f_v_ib_old real,dimension(:), allocatable:: bvl_mean, lvlv_mean, lvle_mean, lvlb_mean !averaged volume losses - !real,dimension(:), allocatable:: fw_flux_ib, heat_flux_ib - real,dimension(:), allocatable:: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib, heat_flux_ib, lheat_flux_ib + !real,dimension(:), allocatable:: fw_flux_ib, hfb_flux_ib + real,dimension(:), allocatable:: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib + real,dimension(:), allocatable:: hfe_flux_ib, hfl_flux_ib, hfb_flux_ib, hfbv_flux_ib, lhfb_flux_ib !===== FRESHWATER AND HEAT ARRAYS ON FESOM GRID ===== real,dimension(:), allocatable:: ibhf !icb heat flux into ocean + real(kind=WP),dimension(:,:), allocatable:: ibhf_n !icb heat flux into ocean real,dimension(:), allocatable:: ibfwb !freshwater flux into ocean from basal melting real,dimension(:), allocatable:: ibfwbv !freshwater flux into ocean from basal melting real,dimension(:), allocatable:: ibfwl !freshwater flux into ocean from lateral melting @@ -107,6 +112,8 @@ module iceberg_params !for communication real,dimension(:), allocatable:: arr_block integer,dimension(:), allocatable:: elem_block + integer,dimension(:), allocatable:: pe_block + real(real64), dimension(:), allocatable:: elem_area_glob real,dimension(:), allocatable:: vl_block !array for output in netcdf @@ -119,8 +126,8 @@ module iceberg_params contains ! true if all nodes of the element are either "real" model boundary nodes or shelf nodes logical function reject_elem(mesh, partit, elem) - -integer, intent(in) :: elem + implicit none + integer, intent(in) :: elem type(t_mesh), intent(in) , target :: mesh type(t_partit), intent(inout), target :: partit #include "associate_mesh_def.h" @@ -128,12 +135,9 @@ logical function reject_elem(mesh, partit, elem) #include "associate_mesh_ass.h" #include "associate_part_ass.h" -write(*,*) "LA DEBUG 3" if (use_cavity) then ! kh 09.08.21 change index_nod2d -> bc_index_nod2d? if (.not. use_cavityonelem) then - write(*,*) "LA DEBUG: cavity_depth = ", mesh%cavity_depth - write(*,*) "LA DEBUG: cavity_flag = ", mesh%cavity_depth(mesh%elem2D_nodes(:,elem)) reject_elem = all( (mesh%cavity_depth(mesh%elem2D_nodes(:,elem))/=0.0) .OR. (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem))==0.0) ) !else end if @@ -145,8 +149,8 @@ end function reject_elem ! gives number of "coastal" nodes in cavity setup, i.e. number of nodes that are ! either "real" model boundary nodes or shelf nodes integer function coastal_nodes(mesh, partit, elem) - -integer, intent(in) :: elem + implicit none + integer, intent(in) :: elem type(t_mesh), intent(in) , target :: mesh type(t_partit), intent(inout), target :: partit #include "associate_mesh_def.h" diff --git a/src/icb_modules.F90.rej b/src/icb_modules.F90.rej new file mode 100644 index 000000000..469d257ab --- /dev/null +++ b/src/icb_modules.F90.rej @@ -0,0 +1,72 @@ +diff a/src/icb_modules.F90 b/src/icb_modules.F90 (rejected hunks) +@@ -1,4 +1,10 @@ + module iceberg_params ++use MOD_PARTIT ++USE MOD_MESH ++use g_config, only: use_cavity, use_cavityonelem ++use, intrinsic :: iso_fortran_env, only: real64 ++USE o_PARAM, only: WP ++ + implicit none + save + !integer,parameter :: ib_num ! realistic dataset comprising 6912 icebergs +@@ -111,35 +121,50 @@ save + integer:: save_count_buoys + real:: prev_sec_in_year + !**************************************************************************************************************************** +-!**************************************************************************************************************************** +-#ifdef use_cavity + contains + ! true if all nodes of the element are either "real" model boundary nodes or shelf nodes +- logical function reject_elem(mesh, elem) +- USE MOD_MESH ++ logical function reject_elem(mesh, partit, elem) + implicit none + integer, intent(in) :: elem + type(t_mesh), intent(in) , target :: mesh ++type(t_partit), intent(inout), target :: partit ++#include "associate_part_def.h" + #include "associate_mesh_def.h" ++#include "associate_part_ass.h" + #include "associate_mesh_ass.h" + ++if (use_cavity) then + ! kh 09.08.21 change index_nod2d -> bc_index_nod2d? +- reject_elem = all( (cavity_flag_nod2d(elem2D_nodes(:,elem))==1) .OR. (index_nod2d(elem2D_nodes(:,elem))==1) ) ++ if (.not. use_cavityonelem) then ++ reject_elem = all( (mesh%cavity_depth(mesh%elem2D_nodes(:,elem))/=0.0) .OR. (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem))==0.0) ) ++ !else ++ end if ++else ++ reject_elem = all( (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem))==0.0) ) ++endif + end function reject_elem + + ! gives number of "coastal" nodes in cavity setup, i.e. number of nodes that are + ! either "real" model boundary nodes or shelf nodes +- integer function coastal_nodes(mesh, elem) +- USE MOD_MESH ++ integer function coastal_nodes(mesh, partit, elem) + implicit none + integer, intent(in) :: elem + type(t_mesh), intent(in) , target :: mesh ++type(t_partit), intent(inout), target :: partit + #include "associate_part_def.h" ++#include "associate_mesh_def.h" + #include "associate_part_ass.h" ++#include "associate_mesh_ass.h" + ++if (use_cavity) then + ! kh 09.08.21 change index_nod2d -> bc_index_nod2d? +- coastal_nodes = count( (cavity_flag_nod2d(elem2D_nodes(:,elem))==1) .OR. (index_nod2d(elem2D_nodes(:,elem))==1) ) ++ if (.not. use_cavityonelem) then ++ coastal_nodes = count( (mesh%cavity_depth(mesh%elem2D_nodes(:,elem))/=0.0) .OR. (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem))==0.0) ) ++ !else ++ end if ++else ++ coastal_nodes = count( (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem))==0.0) ) ++endif + end function coastal_nodes +-#endif + + end module iceberg_params diff --git a/src/icb_step.F90 b/src/icb_step.F90 index 735600e90..ad3af496b 100644 --- a/src/icb_step.F90 +++ b/src/icb_step.F90 @@ -11,7 +11,6 @@ module iceberg_step public :: iceberg_calculation public :: iceberg_step1 - public :: get_total_iceberg_area public :: iceberg_step2 public :: initialize_velo public :: trajectory @@ -53,12 +52,14 @@ subroutine iceberg_calculation(ice, mesh, partit, dynamics, istep) real(kind=8) :: t0, t1, t2, t3, t4, t0_restart, t1_restart != logical :: firstcall=.true. != logical :: lastsubstep != - != + real :: arr_from_block(15) != integer :: elem_from_block != real :: vl_from_block(4) != real,dimension(15*ib_num):: arr_block_red != integer,dimension(ib_num):: elem_block_red != + integer,dimension(ib_num):: pe_block_red != + integer :: n real, dimension(4*ib_num):: vl_block_red != type(t_ice), intent(inout), target :: ice @@ -73,7 +74,6 @@ subroutine iceberg_calculation(ice, mesh, partit, dynamics, istep) ! kh 16.03.21 (asynchronous) iceberg computation starts with the content in common arrays at istep and will merge its results at istep_end_synced istep_end_synced = istep + steps_per_ib_step - 1 - if(firstcall) then !overwrite icb_modules if restart, initialize netcdf output if no restart: @@ -97,6 +97,7 @@ subroutine iceberg_calculation(ice, mesh, partit, dynamics, istep) !faster communication via ALLREDUCE arr_block = 0.0 elem_block = 0 + pe_block = 0 !for communication of averaged volume losses vl_block = 0.0 @@ -138,6 +139,7 @@ subroutine iceberg_calculation(ice, mesh, partit, dynamics, istep) arr_block_red = 0.0 elem_block_red= 0 + pe_block_red= 0 vl_block_red = 0.0 !$omp critical @@ -162,6 +164,29 @@ subroutine iceberg_calculation(ice, mesh, partit, dynamics, istep) !$omp end critical end do +!$omp critical + call MPI_IAllREDUCE(pe_block, pe_block_red, ib_num, MPI_INTEGER, MPI_SUM, partit%MPI_COMM_FESOM_IB, req, partit%MPIERR_IB) +!$omp end critical + +completed = .false. + do while (.not. completed) +!$omp critical + CALL MPI_TEST(req, completed, status, partit%MPIERR_IB) +!$omp end critical + end do + +!!$omp critical +! call MPI_IAllREDUCE(elem_area_block, elem_area_block_red, ib_num, MPI_REAL, MPI_SUM, partit%MPI_COMM_FESOM_IB, req, partit%MPIERR_IB) +!!$omp end critical +! +!completed = .false. +! do while (.not. completed) +!!$omp critical +! CALL MPI_TEST(req, completed, status, partit%MPIERR_IB) +!!$omp end critical +! end do + + !$omp critical call MPI_IAllREDUCE(vl_block, vl_block_red, 4*ib_num, MPI_DOUBLE_PRECISION, MPI_SUM, partit%MPI_COMM_FESOM_IB, req, partit%MPIERR_IB) !$omp end critical @@ -206,7 +231,8 @@ subroutine iceberg_calculation(ice, mesh, partit, dynamics, istep) conc_sill(ib),P_sill(ib), rho_h2o(ib),rho_air(ib),rho_ice(ib), & u_ib(ib),v_ib(ib), iceberg_elem(ib), find_iceberg_elem(ib), lastsubstep,& f_u_ib_old(ib), f_v_ib_old(ib), l_semiimplicit, & - semiimplicit_coeff, AB_coeff, istep) + semiimplicit_coeff, AB_coeff, istep, elem_block_red, & + pe_block_red) end if end if end do @@ -243,6 +269,7 @@ subroutine iceberg_calculation(ice, mesh, partit, dynamics, istep) write(*,*) 'reading restart took', t1_restart-t0_restart write(*,*) '*************************************************************' end if + end subroutine iceberg_calculation @@ -250,7 +277,7 @@ end subroutine iceberg_calculation !**************************************************************************************************************************** -subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,width_ib, lon_deg,lat_deg, & +subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,length_ib_single,width_ib_single, lon_deg,lat_deg, & Co,Ca,Ci, Cdo_skin,Cda_skin, rho_icb, & conc_sill,P_sill, rho_h2o,rho_air,rho_ice, & u_ib,v_ib, iceberg_elem, find_iceberg_elem, & @@ -264,8 +291,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi use g_rotate_grid !for subroutine g2r, logfile_outfreq != use g_config, only: steps_per_ib_step != -!#ifdef use_cavity -! use iceberg_params, only: smallestvol_icb, arr_block, elem_block, l_geo_out, icb_outfreq, l_allowgrounding, draft_scale, reject_elem, melted, grounded, scaling !, length_ib, width_ib, scaling +use iceberg_params, only: length_ib, width_ib, scaling, elem_block, elem_area_glob !smallestvol_icb, arr_block, elem_block, l_geo_out, icb_outfreq, l_allowgrounding, draft_scale, reject_elem, melted, grounded, scaling !, length_ib, width_ib, scaling !#else ! use iceberg_params, only: smallestvol_icb, arr_block, elem_block, l_geo_out, icb_outfreq, l_allowgrounding, draft_scale, melted, grounded, scaling !, length_ib, width_ib, scaling !#endif @@ -274,7 +300,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi integer, intent(in) :: ib, istep - real, intent(inout) :: height_ib,length_ib,width_ib + real, intent(inout) :: height_ib_single,length_ib_single,width_ib_single real, intent(inout) :: lon_deg,lat_deg real, intent(in) :: Co,Ca,Ci, Cdo_skin,Cda_skin real, intent(in) :: rho_icb, conc_sill,P_sill, rho_h2o,rho_air,rho_ice @@ -324,7 +350,6 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi != real, dimension(2) :: coords_tmp ! integer, pointer :: mype - logical :: reject_tmp !LA for debugging type(t_ice), intent(inout), target :: ice type(t_mesh), intent(in) , target :: mesh type(t_partit), intent(inout), target :: partit @@ -334,17 +359,20 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi #include "associate_mesh_def.h" #include "associate_part_ass.h" #include "associate_mesh_ass.h" - + + +!write(*,*) "LA DEBUG: 1" mype =>partit%mype istep_end_synced = istep + steps_per_ib_step - 1 - depth_ib = -height_ib * rho_icb/rho_h2o - volume_ib= length_ib * width_ib * height_ib + depth_ib = -height_ib_single * rho_icb/rho_h2o + volume_ib= length_ib_single * width_ib_single * height_ib_single mass_ib = volume_ib * rho_icb !less mass lon_rad = lon_deg*rad lat_rad = lat_deg*rad +!write(*,*) "LA DEBUG: 2" if(volume_ib .le. smallestvol_icb) then melted(ib) = .true. @@ -354,6 +382,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi return end if +!write(*,*) "LA DEBUG: 3" if (firstcall) then if(mype==0) write(*,*) 'Preparing local_idx_of array...' @@ -363,6 +392,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi firstcall=.false. if(mype==0) write(*,*) 'Preparing local_idx_of done.' end if +!write(*,*) "LA DEBUG: 4" if (find_iceberg_elem) then lon_rad = lon_deg*rad @@ -375,25 +405,16 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi coords_tmp = [lon_deg, lat_deg] call point_in_triangle(mesh, partit, iceberg_elem, coords_tmp) !call point_in_triangle(mesh, iceberg_elem, (/lon_deg, lat_deg/)) - i_have_element= (iceberg_elem .ne. 0) !up to 3 PEs .true. + i_have_element= (iceberg_elem .ne. 0) !up to 3 PEs possible if(i_have_element) then i_have_element= mesh%elem2D_nodes(1,iceberg_elem) <= partit%myDim_nod2D !1 PE still .true. - if (use_cavity) then - reject_tmp = all( (mesh%cavity_depth(mesh%elem2D_nodes(:,iceberg_elem))/=0.0) .OR. (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,iceberg_elem))==0.0) ) - !if(reject_elem(mesh, partit, iceberg_elem)) then - if(reject_tmp) then -! write(*,*) " * set IB elem ",iceberg_elem,"to zero for IB=",ib -! write(*,*) " cavity: ",all((mesh%cavity_depth(mesh%elem2D_nodes(:,iceberg_elem))/=0.0)) -! write(*,*) " boundary: ", all(mesh%bc_index_nod2D(mesh%elem2D_nodes(:,iceberg_elem))==1) - iceberg_elem=0 !reject element - i_have_element=.false. - else - iceberg_elem=partit%myList_elem2D(iceberg_elem) !global now - end if - else - iceberg_elem=partit%myList_elem2D(iceberg_elem) !global now - endif + if( (use_cavity) .and. (reject_elem(mesh, partit, iceberg_elem))) then + iceberg_elem=0 !reject element + i_have_element=.false. + else + iceberg_elem=partit%myList_elem2D(iceberg_elem) !global now + end if end if call com_integer(partit, i_have_element,iceberg_elem) @@ -404,7 +425,9 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi end if ! initialize the iceberg velocity +!write(*,*) "LA DEBUG: 4d" call initialize_velo(mesh, partit, dynamics, i_have_element, ib, u_ib, v_ib, lon_rad, lat_rad, depth_ib, local_idx_of(iceberg_elem)) +!write(*,*) "LA DEBUG: 4e" !iceberg elem of ib is found find_iceberg_elem = .false. @@ -421,8 +444,10 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi endif endif +!write(*,*) "LA DEBUG: 4f" end if +!write(*,*) "LA DEBUG: 5" ! ================== START ICEBERG CALCULATION ==================== @@ -432,7 +457,10 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi !if the first node belongs to this processor.. (just one processor enters here!) !if( local_idx_of(iceberg_elem) > 0 .and. elem2D_nodes(1,local_idx_of(iceberg_elem)) <= myDim_nod2D ) then if( local_idx_of(iceberg_elem) > 0 ) then +write(*,*) "LA DEBUG: 5a" + if( elem2D_nodes(1,local_idx_of(iceberg_elem)) <= partit%myDim_nod2D ) then +write(*,*) "LA DEBUG: 5b" i_have_element=.true. @@ -444,14 +472,13 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi call iceberg_dyn(mesh, partit, ice, dynamics, ib, new_u_ib, new_v_ib, u_ib, v_ib, lon_rad,lat_rad, depth_ib, & - height_ib, length_ib, width_ib, local_idx_of(iceberg_elem), & + height_ib_single, length_ib_single, width_ib_single, local_idx_of(iceberg_elem), & mass_ib, Ci, Ca, Co, Cda_skin, Cdo_skin, & rho_ice, rho_air, rho_h2o, P_sill,conc_sill, frozen_in, & file_forces_u, file_forces_v, P_ib, conci_ib, & dt*REAL(steps_per_ib_step), l_output, f_u_ib_old, & f_v_ib_old, l_semiimplicit, semiimplicit_coeff, & AB_coeff, file_meltrates, rho_icb) - call prepare_icb2fesom(mesh,partit,ib,i_have_element,local_idx_of(iceberg_elem),depth_ib) dudt = (new_u_ib-u_ib)/REAL(steps_per_ib_step) / dt dvdt = (new_v_ib-v_ib)/REAL(steps_per_ib_step) / dt @@ -465,6 +492,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi !write(*,*) 'depth at iceberg ', ib, 's location:', Zdepth !=================CHECK IF ICEBERG IS GROUNDED...=================== + old_element = iceberg_elem !save if iceberg left model domain if((draft_scale(ib)*abs(depth_ib) .gt. Zdepth) .and. l_allowgrounding ) then !if((draft_scale(ib)*abs(depth_ib) .gt. minval(Zdepth3)) .and. l_allowgrounding ) then !icebergs remains stationary (iceberg can melt above in iceberg_dyn!) @@ -473,25 +501,20 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi v_ib = 0.0 old_lon = lon_rad old_lat = lat_rad - - !!########################################### - !! LA: prevent too many icebergs in one element - old_element = iceberg_elem !save if iceberg left model domain - !!########################################### ! kh 16.03.21 (asynchronous) iceberg calculation starts with the content in common arrays at istep and will merge its results at istep_end_synced - if (mod(istep_end_synced,logfile_outfreq)==0) then - write(*,*) 'iceberg ib ', ib, 'is grounded' - grounded(ib) = .true. - end if + grounded(ib) = .true. + !if (mod(istep_end_synced,logfile_outfreq)==0) then +! if(ib==148) write(*,*) "LA DEBUG: 3 - elem ", iceberg_elem + write(*,*) 'iceberg ib ', ib, 'is grounded' + !end if else !===================...ELSE CALCULATE TRAJECTORY==================== - ! LA: prevent too many icebergs in one element - old_element = iceberg_elem !save if iceberg left model domain t0=MPI_Wtime() +!write(*,*) "LA DEBUG: before_trajectory" call trajectory( lon_rad,lat_rad, u_ib,v_ib, new_u_ib,new_v_ib, & lon_deg,lat_deg,old_lon,old_lat, dt*REAL(steps_per_ib_step)) @@ -518,6 +541,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi iceberg_elem=local_idx_of(iceberg_elem) !local t7=MPI_Wtime() call find_new_iceberg_elem(mesh,partit, iceberg_elem, (/lon_deg, lat_deg/), left_mype) + t8=MPI_Wtime() iceberg_elem=partit%myList_elem2D(iceberg_elem) !global end if @@ -526,35 +550,53 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi !----------------------------- ! LA 2022-11-30 - do idx = 1, size(elem_block) - if (elem_block(idx) == iceberg_elem) then - area_ib_tot = area_ib_tot + length_ib * width_ib * scaling(idx) - end if - end do +!write(*,*) "LA DEBUG: before_saturation" + if(lcell_saturation) then +!write(*,*) "LA DEBUG: start_saturation" + area_ib_tot = length_ib_single*width_ib_single*scaling(ib) +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(idx, area_ib_tot) +!$OMP DO + do idx = 1, size(elem_block) + if (elem_block(idx) == iceberg_elem) then + area_ib_tot = area_ib_tot + length_ib(idx) * width_ib(idx) * scaling(idx) + end if + end do +!write(*,*) "LA DEBUG: end_loop_saturation" +!$OMP END DO +!$OMP END PARALLEL !----------------------------- - if((area_ib_tot > elem_area(local_idx_of(iceberg_elem))) .and. & - (iceberg_elem .ne. old_element) .and. & - (old_element .ne. 0) .and. & - (.not.grounded(ib))) then - lon_rad = old_lon - lat_rad = old_lat - lon_deg = lon_rad/rad - lat_deg = lat_rad/rad - iceberg_elem = old_element - u_ib = 0. - v_ib = 0. + if ((area_ib_tot > elem_area_glob(iceberg_elem)) .and. (old_element.ne.0) .and. (left_mype == 0)) then + write(*,*) " *******************************************************" + write(*,*) " * set iceberg ", ib, " back to elem ", old_element, " from elem ", iceberg_elem + write(*,*) " * area_ib_tot = ", area_ib_tot, "; elem_area = ", elem_area(local_idx_of(iceberg_elem)) + i_have_element = .true. + left_mype = 0.0 + lon_rad = old_lon + lat_rad = old_lat + lon_deg = lon_rad/rad + lat_deg = lat_rad/rad + iceberg_elem = old_element + u_ib = 0. + v_ib = 0. + end if +!write(*,*) "LA DEBUG: after_cell_saturation" end if !########################################### !values for communication - arr= (/ height_ib,length_ib,width_ib, u_ib,v_ib, lon_rad,lat_rad, & + arr= (/ height_ib_single,length_ib_single,width_ib_single, u_ib,v_ib, lon_rad,lat_rad, & left_mype, old_lon,old_lat, frozen_in, dudt, dvdt, P_ib, conci_ib/) !save in larger array arr_block((ib-1)*15+1 : ib*15)=arr elem_block(ib)=iceberg_elem - + pe_block(ib)=mype + + volume_ib=height_ib_single*length_ib_single*width_ib_single +!write(*,*) "LA DEBUG: before_prepare" + call prepare_icb2fesom(mesh,partit,ib,i_have_element,local_idx_of(iceberg_elem),depth_ib) +!write(*,*) "LA DEBUG: after_prepare" end if !processor has element? end if !... and first node belongs to processor? @@ -571,54 +613,25 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib,length_ib,wi end subroutine iceberg_step1 -subroutine get_total_iceberg_area(mesh, partit,iceberg_elem, area_ib_tot) - - use o_param !for rad != - USE MOD_MESH - use MOD_PARTIT !for myDim_elem2D, myList_nod2D != - use g_rotate_grid !for subroutine g2r, logfile_outfreq != - !use iceberg_params, only: arr_block, elem_block, length_ib, width_ib, scaling - - implicit none != - - integer, intent(inout) :: iceberg_elem !global - real, intent(inout) :: area_ib_tot - integer :: idx - -type(t_mesh), intent(in) , target :: mesh -type(t_partit), intent(inout), target :: partit -!========================= MODULES & DECLARATIONS =====================================!= -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - area_ib_tot = 0.0 - do idx = 1, size(elem_block) - if (elem_block(idx) == iceberg_elem) then - area_ib_tot = area_ib_tot + length_ib(idx) * width_ib(idx) * scaling(idx) - end if - end do - !########################################### -end subroutine get_total_iceberg_area - -subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib,length_ib,width_ib, lon_deg,lat_deg, & +subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib_single, length_ib_single, width_ib_single, lon_deg,lat_deg, & Co,Ca,Ci, Cdo_skin,Cda_skin, rho_icb, & conc_sill,P_sill, rho_h2o,rho_air,rho_ice, & u_ib,v_ib, iceberg_elem, find_iceberg_elem, & lastsubstep, f_u_ib_old, & f_v_ib_old, l_semiimplicit, semiimplicit_coeff, & - AB_coeff, istep) + AB_coeff, istep, elem_block_red, pe_block_red) !============================= MODULES & DECLARATIONS =========================================!= != use o_param !for rad != use g_rotate_grid !for subroutine g2r, logfile_outfreq != use g_config, only: steps_per_ib_step + use g_comm_auto != -!#ifdef use_cavity -! use iceberg_params, only: smallestvol_icb, buoy_props, bvl_mean, lvlv_mean, lvle_mean, lvlb_mean, ascii_out, l_geo_out, icb_outfreq, l_allowgrounding, draft_scale, reject_elem, elem_block +use g_comm +use iceberg_params, only: length_ib, width_ib, scaling !smallestvol_icb, arr_block, elem_block, l_geo_out, icb_outfreq, l_allowgrounding, draft_scale, reject_elem, melted, grounded, scaling !, length_ib, width_ib, scaling !#else ! use iceberg_params, only: smallestvol_icb, buoy_props, bvl_mean, lvlv_mean, lvle_mean, lvlb_mean, ascii_out, l_geo_out, icb_outfreq, l_allowgrounding, draft_scale, elem_block !#endif @@ -628,7 +641,7 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib,length real, intent(in) :: arr(15) integer, intent(in) :: elem_from_block integer, intent(in) :: ib - real, intent(inout) :: height_ib,length_ib,width_ib + real, intent(inout) :: height_ib_single, length_ib_single, width_ib_single real, intent(inout) :: lon_deg,lat_deg real, intent(in) :: Co,Ca,Ci, Cdo_skin,Cda_skin real, intent(in) :: rho_icb, conc_sill,P_sill, rho_h2o,rho_air,rho_ice @@ -640,7 +653,8 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib,length logical, intent(in) :: l_semiimplicit real, intent(in) :: semiimplicit_coeff real, intent(in) :: AB_coeff - + integer, intent(in), dimension(ib_num):: elem_block_red != + integer, intent(in), dimension(ib_num):: pe_block_red != integer, dimension(:), save, allocatable :: local_idx_of real :: depth_ib, volume_ib, mass_ib @@ -657,9 +671,11 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib,length integer :: istep_end_synced ! LA: add threshold for number of icebergs in one elemt + integer status(MPI_STATUS_SIZE) integer :: num_ib_in_elem, idx real :: area_ib_tot - real :: local_elem_area + !real(real64), dimension(:), allocatable :: rbuffer, local_elem_area + real(real64) :: elem_area_tmp !iceberg output character :: ib_char*10 @@ -705,9 +721,9 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib,length iceberg_elem= elem_from_block !update element as before in com_values old_element = elem_from_block !save if iceberg left model domain - height_ib= arr(1) - length_ib= arr(2) - width_ib = arr(3) + height_ib_single= arr(1) + length_ib_single= arr(2) + width_ib_single = arr(3) u_ib = arr(4) v_ib = arr(5) lon_rad = arr(6) @@ -722,9 +738,9 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib,length dvdt = arr(13) P_ib = arr(14) conci_ib = arr(15) - + !**** check if iceberg melted in step 1 ****! - volume_ib = height_ib * length_ib * width_ib ! * rho_icb + volume_ib = height_ib_single * length_ib_single * width_ib_single ! * rho_icb if(volume_ib .le. smallestvol_icb) then buoy_props(ib, :) = 0. ! for output: NaN or MissVal could be written here return @@ -742,10 +758,11 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib,length call global2local(mesh, partit, local_idx_of, elem2D) firstcall=.false. end if - + if(left_mype > 0.) then call iceberg_elem4all(mesh, partit, iceberg_elem, lon_deg, lat_deg) !Just PE changed? if(iceberg_elem == 0 ) then + left_mype = 0.0 lon_rad = old_lon lat_rad = old_lat lon_deg = lon_rad/rad @@ -753,18 +770,38 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib,length iceberg_elem = old_element u_ib = 0. v_ib = 0. - else + else if(lcell_saturation) then if (mype==0) write(*,*) 'iceberg ',ib, ' changed PE or was very fast' - call get_total_iceberg_area(mesh, partit, iceberg_elem, area_ib_tot) - if(area_ib_tot > elem_area(local_idx_of(iceberg_elem))) then + elem_area_tmp = elem_area_glob(iceberg_elem) + area_ib_tot = length_ib_single * width_ib_single * scaling(ib) +!$OMP PARALLEL DEFAULT(SHARED) PRIVATE(idx, area_ib_tot) +!$OMP DO + do idx = 1, size(elem_block_red) + if (elem_block_red(idx) == iceberg_elem) then + ! write(*,*) " * Found element ",elem_block_red(idx), " for ib ",idx, ", elem_area=",elem_area_tmp + area_ib_tot = area_ib_tot + length_ib(idx) * width_ib(idx) * scaling(idx) + end if + end do +!$OMP END DO +!$OMP END PARALLEL + if((area_ib_tot > elem_area_tmp) .and. (elem_area_tmp > 0.0)) then + if(mype==pe_block_red(ib)) then + write(*,*) " *******************************************************" + write(*,*) " * iceberg changed PE and saturation" + write(*,*) " * set iceberg ", ib, " back to elem ", old_element, " from elem ", iceberg_elem + write(*,*) " * area_ib = ", length_ib_single * width_ib_single, "; area_ib_tot = ", area_ib_tot, "; elem_area = ", elem_area_tmp + end if + left_mype = 0.0 lon_rad = old_lon - lat_rad = old_lat + lat_rad = old_lat lon_deg = lon_rad/rad lat_deg = lat_rad/rad iceberg_elem = old_element u_ib = 0. - v_ib = 0. + v_ib = 0. end if + else if(lcell_saturation) then + if (mype==0) write(*,*) 'iceberg ',ib, ' changed PE or was very fast' end if end if @@ -826,9 +863,9 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib,length buoy_props(ib, 7) = dvdt_out buoy_props(ib, 8) = u_ib_out buoy_props(ib, 9) = v_ib_out - buoy_props(ib,10) = height_ib - buoy_props(ib,11) = length_ib - buoy_props(ib,12) = width_ib + buoy_props(ib,10) = height_ib_single + buoy_props(ib,11) = length_ib_single + buoy_props(ib,12) = width_ib_single buoy_props(ib,13) = iceberg_elem ! end if @@ -836,14 +873,6 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib,length end if t4=MPI_Wtime() - -! if (mod(istep,logfile_outfreq)==0 .and. mype==0 .and. lastsubstep) then -! write(*,*) '*** step2 ***' -! write(*,*) 'comvalues took', t2-t1 -! write(*,*) 'left mype took', t3-t2 -! write(*,*) 'track out took', t4-t3 -! end if - end subroutine iceberg_step2 @@ -994,6 +1023,7 @@ subroutine parallel2coast(mesh, partit,u, v, lon,lat, elem) real, intent(in) :: lon, lat !radiant integer, intent(in) :: elem + integer :: fld_tmp integer, dimension(3) :: n integer :: node, m, i real, dimension(2) :: velocity, velocity1, velocity2 @@ -1006,12 +1036,13 @@ subroutine parallel2coast(mesh, partit,u, v, lon,lat, elem) #include "associate_part_ass.h" #include "associate_mesh_ass.h" -!if (use_cavity) then -! SELECT CASE ( coastal_nodes(mesh, partit, elem) ) !num of "coastal" points -!else - SELECT CASE ( sum( mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem)) ) ) !num of coastal points - !SELECT CASE ( sum( bc_index_nod2D(elem2D_nodes(:,elem)) ) ) !num of coastal points -!endif + if( use_cavity ) then + fld_tmp = coastal_nodes(mesh, partit, elem) + else + fld_tmp = sum( mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem)) ) + end if + + SELECT CASE ( fld_tmp ) !num of coastal points CASE (0) !...coastal points: do nothing return @@ -1022,18 +1053,18 @@ subroutine parallel2coast(mesh, partit,u, v, lon,lat, elem) do m = 1, 3 node = mesh%elem2D_nodes(m,elem) !write(*,*) 'index ', m, ':', index_nod2D(node) - if (use_cavity) then - !if( mesh%bc_index_nod2D(node)==1 .OR. mesh%cavity_flag_n(node)==1 ) then - if( mesh%bc_index_nod2D(node)==0.0 .OR. (mesh%cavity_depth(node)/=0.0) ) then - n(i) = node - exit - end if + if( use_cavity ) then + !if( mesh%bc_index_nod2D(node)==1 .OR. cavity_flag_nod2d(node)==1 ) then + if( mesh%bc_index_nod2D(node)==0.0 .OR. (mesh%cavity_depth(node)/=0.0) ) then + n(i) = node + exit + end if else - if( mesh%bc_index_nod2D(node)==0.0 ) then - n(i) = node - exit - end if - endif + if( mesh%bc_index_nod2D(node)==1 ) then + n(i) = node + exit + end if + end if end do !write(*,*) 'one coastal node ', n(1) @@ -1045,7 +1076,7 @@ subroutine parallel2coast(mesh, partit,u, v, lon,lat, elem) ! do m = 1, nghbr_nod2D(n(1))%nmb ! node = nghbr_nod2D(n(1))%addresses(m) !#ifdef use_cavity - ! if ( (node /= n(1)) .and. ( (bc_index_nod2D(node)==1) .OR. (mesh%cavity_flag_n(node)==1) ) ) then + ! if ( (node /= n(1)) .and. ( (bc_index_nod2D(node)==1) .OR. (cavity_flag_nod2d(node)==1) ) ) then !#else ! if ( (node /= n(1)) .and. (bc_index_nod2D(node)==1)) then !#endif @@ -1081,18 +1112,18 @@ subroutine parallel2coast(mesh, partit,u, v, lon,lat, elem) velocity = [ u, v ] do m = 1, 3 node = mesh%elem2D_nodes(m,elem) -if (use_cavity) then - !if( (mesh%bc_index_nod2D(node)==1) .OR. (mesh%cavity_flag_n(node)==1)) then - if( (mesh%bc_index_nod2D(node)==0.0) .OR. (mesh%cavity_depth(node)/=0.0) ) then - n(i) = node - i = i+1 - end if -else - if( mesh%bc_index_nod2D(node)==0.0 ) then - n(i) = node - i = i+1 + if( use_cavity ) then + !if( (mesh%bc_index_nod2D(node)==1) .OR. (cavity_flag_nod2d(node)==1)) then + if( mesh%bc_index_nod2D(node)==0.0 .OR. (mesh%cavity_depth(node)/=0.0) ) then + n(i) = node + i = i+1 + end if + else + if( mesh%bc_index_nod2D(node)==1 ) then + n(i) = node + i = i+1 + end if end if -endif end do call projection(mesh,partit, velocity, n(1), n(2)) @@ -1654,7 +1685,7 @@ subroutine init_buoy_output(partit) longname='time' ! use NetCDF Climate and Forecast (CF) Metadata Convention status = nf_PUT_ATT_TEXT(ncid, time_varid, 'long_name', len_trim(longname), trim(longname)) if (status .ne. nf_noerr) call handle_err(status) - write(att_text, '(a14,I4.4,a1,I2.2,a1,I2.2,a6)') 'seconds since ', year_start, '-', month_start, '-', day_start, ' 00:00:00' + write(att_text, '(a14,I4.4,a1,I2.2,a1,I2.2,a6)'), 'seconds since ', year_start, '-', month_start, '-', day_start, ' 00:00:00' status = nf_PUT_ATT_TEXT(ncid, time_varid, 'units', len_trim(att_text), trim(att_text)) if (status .ne. nf_noerr) call handle_err(status) if (include_fleapyear) then diff --git a/src/icb_step.F90.rej b/src/icb_step.F90.rej new file mode 100644 index 000000000..f9c2a01af --- /dev/null +++ b/src/icb_step.F90.rej @@ -0,0 +1,121 @@ +diff a/src/icb_step.F90 b/src/icb_step.F90 (rejected hunks) +@@ -376,22 +407,23 @@ type(t_dyn) , intent(inout), target :: dynamics + call point_in_triangle(mesh, partit, iceberg_elem, coords_tmp) + !call point_in_triangle(mesh, iceberg_elem, (/lon_deg, lat_deg/)) + i_have_element= (iceberg_elem .ne. 0) !up to 3 PEs possible ++!write(*,*) "LA DEBUG: 4a" + + if(i_have_element) then ++!write(*,*) "LA DEBUG: 4a1" + i_have_element= mesh%elem2D_nodes(1,iceberg_elem) <= partit%myDim_nod2D !1 PE still .true. +-#ifdef use_cavity +- if(reject_elem(mesh, partit, iceberg_elem)) then ++!write(*,*) "LA DEBUG: 4a2" ++ if( (use_cavity) .and. (reject_elem(mesh, partit, iceberg_elem))) then + iceberg_elem=0 !reject element + i_have_element=.false. + else + iceberg_elem=partit%myList_elem2D(iceberg_elem) !global now + end if +-#else +- +- iceberg_elem=partit%myList_elem2D(iceberg_elem) !global now +-#endif ++!write(*,*) "LA DEBUG: 4a3" + end if ++!write(*,*) "LA DEBUG: 4b" + call com_integer(partit, i_have_element,iceberg_elem) ++!write(*,*) "LA DEBUG: 4c" + + if(iceberg_elem .EQ. 0) then + write(*,*) 'IB ',ib,' rot. coords:', lon_deg, lat_deg !,lon_rad, lat_rad +@@ -983,15 +1023,14 @@ end subroutine depth_bathy + !**************************************************************************************************************************** + + subroutine parallel2coast(mesh, partit,u, v, lon,lat, elem) +-!#ifdef use_cavity +-! use iceberg_params, only: coastal_nodes +-!#endif ++ use iceberg_params, only: coastal_nodes + implicit none + + real, intent(inout) :: u, v !velocity + real, intent(in) :: lon, lat !radiant + integer, intent(in) :: elem + ++ integer :: fld_tmp + integer, dimension(3) :: n + integer :: node, m, i + real, dimension(2) :: velocity, velocity1, velocity2 +@@ -1004,12 +1043,13 @@ type(t_partit), intent(inout), target :: partit + #include "associate_part_ass.h" + #include "associate_mesh_ass.h" + +-#ifdef use_cavity +- SELECT CASE ( coastal_nodes(mesh, elem) ) !num of "coastal" points +-#else +- SELECT CASE ( sum( mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem)) ) ) !num of coastal points +- !SELECT CASE ( sum( bc_index_nod2D(elem2D_nodes(:,elem)) ) ) !num of coastal points +-#endif ++ if( use_cavity ) then ++ fld_tmp = coastal_nodes(mesh, partit, elem) ++ else ++ fld_tmp = sum( mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem)) ) ++ end if ++ ++ SELECT CASE ( fld_tmp ) !num of coastal points + CASE (0) !...coastal points: do nothing + return + +@@ -1020,14 +1060,18 @@ type(t_partit), intent(inout), target :: partit + do m = 1, 3 + node = mesh%elem2D_nodes(m,elem) + !write(*,*) 'index ', m, ':', index_nod2D(node) +-#ifdef use_cavity +- if( mesh%bc_index_nod2D(node)==1 .OR. cavity_flag_nod2d(node)==1 ) then +-#else +- if( mesh%bc_index_nod2D(node)==1 ) then +-#endif +- n(i) = node +- exit +- end if ++ if( use_cavity ) then ++ !if( mesh%bc_index_nod2D(node)==1 .OR. cavity_flag_nod2d(node)==1 ) then ++ if( mesh%bc_index_nod2D(node)==0.0 .OR. (mesh%cavity_depth(node)/=0.0) ) then ++ n(i) = node ++ exit ++ end if ++ else ++ if( mesh%bc_index_nod2D(node)==1 ) then ++ n(i) = node ++ exit ++ end if ++ end if + end do + + !write(*,*) 'one coastal node ', n(1) +@@ -1075,13 +1119,17 @@ type(t_partit), intent(inout), target :: partit + velocity = [ u, v ] + do m = 1, 3 + node = mesh%elem2D_nodes(m,elem) +-#ifdef use_cavity +- if( (mesh%bc_index_nod2D(node)==1) .OR. (cavity_flag_nod2d(node)==1)) then +-#else +- if( mesh%bc_index_nod2D(node)==1 ) then +-#endif +- n(i) = node +- i = i+1 ++ if( use_cavity ) then ++ !if( (mesh%bc_index_nod2D(node)==1) .OR. (cavity_flag_nod2d(node)==1)) then ++ if( mesh%bc_index_nod2D(node)==0.0 .OR. (mesh%cavity_depth(node)/=0.0) ) then ++ n(i) = node ++ i = i+1 ++ end if ++ else ++ if( mesh%bc_index_nod2D(node)==1 ) then ++ n(i) = node ++ i = i+1 ++ end if + end if + end do + call projection(mesh,partit, velocity, n(1), n(2)) diff --git a/src/icb_thermo.F90 b/src/icb_thermo.F90 index edf124e6c..57cb85f63 100644 --- a/src/icb_thermo.F90 +++ b/src/icb_thermo.F90 @@ -1,4 +1,4 @@ -!============================================================================== +!!============================================================================= ! calculates the empirical melt rates of the iceberg as in ! Martin: 'Parameterizing the fresh-water flux from land ice to ocean ! with interactive icebergs in a coupled climate model'(2010) @@ -16,51 +16,61 @@ ! use 3D information for T,S and velocities ! instead of SSTs; M_v depends on 'thermal driving') !============================================================================== -subroutine iceberg_meltrates( M_b, M_v, M_e, M_bv, & +subroutine iceberg_meltrates(partit, M_b, M_v, M_e, M_bv, & u_ib,v_ib, uo_ib,vo_ib, ua_ib,va_ib, & sst_ib, length_ib, conci_ib, & - uo_keel_ib, vo_keel_ib, T_keel_ib, S_keel_ib, depth_ib, & - T_ave_ib, S_ave_ib, ib) + uo_keel_ib, vo_keel_ib, T_keel_ib, S_keel_ib, depth_ib, height_ib, & + T_ave_ib, S_ave_ib, ib, rho_icb) use o_param + use MOD_PARTIT use g_clock use g_forcing_arrays use g_rotate_grid - use iceberg_params, only: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib, heat_flux_ib - + use iceberg_params, only: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib, hfb_flux_ib, hfbv_flux_ib, hfe_flux_ib, hfl_flux_ib, scaling implicit none + ! LA: include latent heat 2023-04-04 + real(kind=8),parameter :: L = 334000. ! [J/Kg] + real, intent(IN) :: u_ib,v_ib, uo_ib,vo_ib, ua_ib,va_ib !iceberg velo, (int.) ocean & atm velo real, intent(IN) :: uo_keel_ib, vo_keel_ib !ocean velo at iceberg's draft - real, intent(IN) :: sst_ib, length_ib, conci_ib !SST, length and sea ice conc. - real, intent(IN) :: T_keel_ib, S_keel_ib, depth_ib !T & S at depth 'depth_ib' + real, intent(IN) :: sst_ib, length_ib, conci_ib, rho_icb !SST, length and sea ice conc. + real, intent(IN) :: T_keel_ib, S_keel_ib, depth_ib, height_ib !T & S at depth 'depth_ib' real, intent(IN) :: T_ave_ib, S_ave_ib !T & S averaged, i.e. at 'depth_ib/2' integer, intent(IN) :: ib !iceberg ID real, intent(OUT) :: M_b, M_v, M_e, M_bv !melt rates [m (ice) per s] + real :: H_b, H_v, H_e, H_bv !melt rates [m (ice) per s] real :: absamino, damping, sea_state, v_ibmino real :: tf, T_d !freezing temp. and 'thermal driving' +type(t_partit), intent(inout), target :: partit +#include "associate_part_def.h" +#include "associate_part_ass.h" !3-eq. formulation for bottom melting [m/s] v_ibmino = sqrt( (u_ib - uo_keel_ib)**2 + (v_ib - vo_keel_ib)**2 ) - call iceberg_heat_water_fluxes_3eq(ib, M_b, T_keel_ib,S_keel_ib,v_ibmino, depth_ib, tf) + call iceberg_heat_water_fluxes_3eq(partit, ib, M_b, H_b, T_keel_ib,S_keel_ib,v_ibmino, depth_ib, tf) + hfb_flux_ib = H_b * length_ib*length_ib*scaling(ib) !3-eq. formulation for lateral 'basal' melting [m/s] v_ibmino = sqrt( (u_ib - uo_ib)**2 + (v_ib - vo_ib)**2 ) ! depth-average rel. velocity - call iceberg_heat_water_fluxes_3eq(ib, M_bv, T_ave_ib,S_ave_ib,v_ibmino, depth_ib/2.0, tf) + call iceberg_heat_water_fluxes_3eq(partit, ib, M_bv, H_bv, T_ave_ib,S_ave_ib,v_ibmino, depth_ib/2.0, tf) + hfbv_flux_ib = H_bv * (2*length_ib*abs(depth_ib) + 2*length_ib*abs(depth_ib) ) * scaling(ib) !'thermal driving', defined as the elevation of ambient water !temperature above freezing point' (Neshyba and Josberger, 1979). T_d = T_ave_ib - tf if(T_d < 0.) T_d = 0. - !write(*,*) 'thermal driving:',T_d,'; Tf:',tf,'T_ave:',T_ave_ib !lateral melt (buoyant convection) !M_v is a function of the 'thermal driving', NOT just sst! Cf. Neshyba and Josberger (1979) M_v = 0.00762 * T_d + 0.00129 * T_d**2 M_v = M_v/86400. + H_v = M_v * rho_icb * L + hfl_flux_ib = H_v * (2*length_ib*abs(depth_ib) + 2*length_ib*abs(depth_ib) ) * scaling(ib) !wave erosion absamino = sqrt( (ua_ib - uo_ib)**2 + (va_ib - vo_ib)**2 ) @@ -68,6 +78,8 @@ subroutine iceberg_meltrates( M_b, M_v, M_e, M_bv, & damping = 0.5 * (1.0 + cos(conci_ib**3 * Pi)) M_e = 1./6. * sea_state * (sst_ib + 2.0) * damping M_e = M_e/86400. + H_e = M_e * rho_icb * L + hfe_flux_ib = H_e * (length_ib*abs(height_ib) + length_ib*abs(height_ib) ) * scaling(ib) !fwe_flux_ib = M_e end subroutine iceberg_meltrates @@ -90,7 +102,7 @@ subroutine iceberg_newdimensions(partit, ib, depth_ib,height_ib,length_ib,width_ use g_clock use g_forcing_arrays use g_rotate_grid - use iceberg_params, only: l_weeksmellor, ascii_out, icb_outfreq, vl_block, bvl_mean, lvlv_mean, lvle_mean, lvlb_mean, smallestvol_icb, fwb_flux_ib, fwe_flux_ib, fwbv_flux_ib, fwl_flux_ib, scaling, heat_flux_ib, lheat_flux_ib + use iceberg_params, only: l_weeksmellor, ascii_out, icb_outfreq, vl_block, bvl_mean, lvlv_mean, lvle_mean, lvlb_mean, smallestvol_icb, fwb_flux_ib, fwe_flux_ib, fwbv_flux_ib, fwl_flux_ib, scaling, hfb_flux_ib, hfbv_flux_ib, hfe_flux_ib, hfl_flux_ib, lhfb_flux_ib use g_config, only: steps_per_ib_step implicit none @@ -98,6 +110,7 @@ subroutine iceberg_newdimensions(partit, ib, depth_ib,height_ib,length_ib,width_ integer, intent(IN) :: ib real, intent(INOUT) :: depth_ib, height_ib, length_ib, width_ib real, intent(IN) :: M_b, M_v, M_e, M_bv, rho_h2o, rho_icb + real :: hf_tot_tmp character, intent(IN) :: file_meltrates*80 real :: dh_b, dh_v, dh_e, dh_bv, bvl, lvl_b, lvl_v, lvl_e, tvl, volume_before, volume_after @@ -140,7 +153,7 @@ subroutine iceberg_newdimensions(partit, ib, depth_ib,height_ib,length_ib,width_ if((tvl .ge. volume_before) .OR. (volume_before .le. smallestvol_icb)) then volume_after=0.0 - depth_ib = 0.0 + depth_ib = 0.0 height_ib= 0.0 length_ib= 0.0 width_ib = 0.0 @@ -170,7 +183,7 @@ subroutine iceberg_newdimensions(partit, ib, depth_ib,height_ib,length_ib,width_ !iceberg smaller than critical value after melting? if (volume_after .le. smallestvol_icb) then volume_after=0.0 - depth_ib = 0.0 + depth_ib = 0.0 height_ib= 0.0 length_ib= 0.0 width_ib = 0.0 @@ -226,9 +239,18 @@ subroutine iceberg_newdimensions(partit, ib, depth_ib,height_ib,length_ib,width_ ! ----------------------- ! LA: set iceberg heatflux at least to latent heat 2023-04-04 ! Latent heat flux at base and sides also changes lines 475/476 - lheat_flux_ib(ib) = rho_icb*L*tvl*scaling(ib)/dt/REAL(steps_per_ib_step) - if( (heat_flux_ib(ib).gt.0.0) .and. (heat_flux_ib(ib).lt.lheat_flux_ib(ib))) then - heat_flux_ib(ib)=lheat_flux_ib(ib) + ! Lateral heat flux set to latent heat and basal heat flux set to zero + if( lmin_latent_hf ) then + lhfb_flux_ib(ib) = rho_icb*L*tvl*scaling(ib)/dt/REAL(steps_per_ib_step) + + hf_tot_tmp = hfb_flux_ib(ib)+hfbv_flux_ib(ib)+hfl_flux_ib(ib)+hfe_flux_ib(ib) + + if( (hf_tot_tmp >= 0.0) .and. (hf_tot_tmp < lhfb_flux_ib(ib))) then + hfe_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfe_flux_ib(ib)/hf_tot_tmp) + hfl_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfl_flux_ib(ib)/hf_tot_tmp) + hfb_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfb_flux_ib(ib)/hf_tot_tmp) + hfbv_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfbv_flux_ib(ib)/hf_tot_tmp) + end if end if ! ----------------------- end subroutine iceberg_newdimensions @@ -263,7 +285,7 @@ end subroutine weeksmellor !*************************************************************************************************************************** !*************************************************************************************************************************** -subroutine iceberg_heat_water_fluxes_3eq(ib, M_b, T_ib,S_ib,v_rel, depth_ib, t_freeze) +subroutine iceberg_heat_water_fluxes_3eq(partit, ib, M_b, H_b, T_ib,S_ib,v_rel, depth_ib, t_freeze) ! The three-equation model of ice-shelf ocean interaction (Hellmer et al., 1997) ! Code derived from BRIOS subroutine iceshelf (which goes back to H.Hellmer's 2D ice shelf model code) ! adjusted for use in FESOM by Ralph Timmermann, 16.02.2011 @@ -276,7 +298,7 @@ subroutine iceberg_heat_water_fluxes_3eq(ib, M_b, T_ib,S_ib,v_rel, depth_ib, t_f implicit none integer, INTENT(IN) :: ib - real(kind=8),INTENT(OUT) :: M_b, t_freeze + real(kind=8),INTENT(OUT) :: M_b, H_b, t_freeze real(kind=8),INTENT(IN) :: T_ib, S_ib ! ocean temperature & salinity (at depth 'depth_ib') real(kind=8),INTENT(IN) :: v_rel, depth_ib ! relative velocity iceberg-ocean (at depth 'depth_ib') @@ -312,6 +334,10 @@ subroutine iceberg_heat_water_fluxes_3eq(ib, M_b, T_ib,S_ib,v_rel, depth_ib, t_f real(kind=8),parameter :: cpi = 152.5+7.122*(atk+tob) !Paterson:"The Physics of Glaciers" real(kind=8),parameter :: L = 334000. ! [J/Kg] +type(t_partit), intent(inout), target :: partit +!==================== MODULES & DECLARATIONS ==========================!= +#include "associate_part_def.h" +#include "associate_part_ass.h" temp = T_ib sal = S_ib @@ -404,17 +430,18 @@ subroutine iceberg_heat_water_fluxes_3eq(ib, M_b, T_ib,S_ib,v_rel, depth_ib, t_f endif t_freeze = tf ! output of freezing temperature - ! Calculate the melting/freezing rate [m/s] ! seta = ep5*(1.0-sal/sf) !rt thinks this is not needed; TR: Why different to M_b? LIQUID vs. ICE !rt t_surf_flux(i,j)=gat*(tf-tin) !rt s_surf_flux(i,j)=gas*(sf-(s(i,j,N,lrhs)+35.0)) - !heat_flux_ib(ib) = rhow*cpw*gat*(tin-tf)*scaling(ib) ! [W/m2] ! positive for upward - heat_flux_ib(ib) = rhow*cpw*gat*(tin-tf)*length_ib(ib)*width_ib(ib)*scaling(ib) ! [W] ! positive for upward + !hfb_flux_ib(ib) = rhow*cpw*gat*(tin-tf)*scaling(ib) ! [W/m2] ! positive for upward + !hfb_flux_ib(ib) = rhow*cpw*gat*(tin-tf)*length_ib(ib)*width_ib(ib)*scaling(ib) ! [W] ! positive for upward + H_b = rhow*cpw*gat*(tin-tf) !*length_ib(ib)*width_ib(ib)*scaling(ib) ! [W] ! positive for upward + !fw_flux_ib(ib) = gas*(sf-sal)/sf ! [m/s] ! - M_b = gas*(sf-sal)/sf ! [m/s] ! m freshwater per second + M_b = gas*(sf-sal)/sf ! [m/s] ! m freshwater per second !fw_flux_ib(ib) = M_b !fw = -M_b M_b = - (rhow / rhoi) * M_b ! [m (ice) per second], positive for melting? NOW positive for melting @@ -468,112 +495,6 @@ subroutine potit_ib(ib,salz,pt,pres,rfpres,tin) return end subroutine potit_ib -! if the underlying FESOM is run without cavities, the following routines might be -! missing, so put them here: -!if (.not. use_cavity) then -! -!------------------------------------------------------------------------------------- -! -!subroutine potit(salz,pt,pres,rfpres,tin) -! ! Berechnet aus dem Salzgehalt[psu] (SALZ), der pot. Temperatur[oC] -! ! (PT) und dem Referenzdruck[dbar] (REFPRES) die in-situ Temperatur -! ! [oC] (TIN) bezogen auf den in-situ Druck[dbar] (PRES) mit Hilfe -! ! eines Iterationsverfahrens aus. -! -! integer iter -! real salz,pt,pres,rfpres,tin -! real epsi,tpmd,pt1,ptd,pttmpr -! -! data tpmd / 0.001 / -! -! epsi = 0. -! do iter=1,100 -! tin = pt+epsi -! pt1 = pttmpr(salz,tin,pres,rfpres) -! ptd = pt1-pt -! if(abs(ptd).lt.tpmd) return -! epsi = epsi-ptd -! enddo -! write(6,*) ' WARNING!' -! write(6,*) ' in-situ temperature calculation has not converged.' -! stop -! return -!end subroutine potit -! -!------------------------------------------------------------------------------------- -! -!real function pttmpr(salz,temp,pres,rfpres) -! ! Berechnet aus dem Salzgehalt/psu (SALZ), der in-situ Temperatur/degC -! ! (TEMP) und dem in-situ Druck/dbar (PRES) die potentielle Temperatur/ -! ! degC (PTTMPR) bezogen auf den Referenzdruck/dbar (RFPRES). Es wird -! ! ein Runge-Kutta Verfahren vierter Ordnung verwendet. -! ! Checkwert: PTTMPR = 36.89073 DegC -! ! fuer SALZ = 40.0 psu -! ! TEMP = 40.0 DegC -! ! PRES = 10000.000 dbar -! ! RFPRES = 0.000 dbar -! -! data ct2 ,ct3 /0.29289322 , 1.707106781/ -! data cq2a,cq2b /0.58578644 , 0.121320344/ -! data cq3a,cq3b /3.414213562, -4.121320344/ -! -! real salz,temp,pres,rfpres -! real p,t,dp,dt,q,ct2,ct3,cq2a,cq2b,cq3a,cq3b -! real adlprt -! -! p = pres -! t = temp -! dp = rfpres-pres -! dt = dp*adlprt(salz,t,p) -! t = t +0.5*dt -! q = dt -! p = p +0.5*dp -! dt = dp*adlprt(salz,t,p) -! t = t + ct2*(dt-q) -! q = cq2a*dt + cq2b*q -! dt = dp*adlprt(salz,t,p) -! t = t + ct3*(dt-q) -! q = cq3a*dt + cq3b*q -! p = rfpres -! dt = dp*adlprt(salz,t,p) -! -! pttmpr = t + (dt-q-q)/6.0 -! -!end function pttmpr -! -!------------------------------------------------------------------------------------- -! -!real function adlprt(salz,temp,pres) -! ! Berechnet aus dem Salzgehalt/psu (SALZ), der in-situ Temperatur/degC -! ! (TEMP) und dem in-situ Druck/dbar (PRES) den adiabatischen Temperatur- -! ! gradienten/(K Dbar^-1) ADLPRT. -! ! Checkwert: ADLPRT = 3.255976E-4 K dbar^-1 -! ! fuer SALZ = 40.0 psu -! ! TEMP = 40.0 DegC -! ! PRES = 10000.000 dbar -! -! real salz,temp,pres -! real s0,a0,a1,a2,a3,b0,b1,c0,c1,c2,c3,d0,d1,e0,e1,e2,ds -! -! data s0 /35.0/ -! data a0,a1,a2,a3 /3.5803E-5, 8.5258E-6, -6.8360E-8, 6.6228E-10/ -! data b0,b1 /1.8932E-6, -4.2393E-8/ -! data c0,c1,c2,c3 /1.8741E-8, -6.7795E-10, 8.7330E-12, -5.4481E-14/ -! data d0,d1 /-1.1351E-10, 2.7759E-12/ -! data e0,e1,e2 /-4.6206E-13, 1.8676E-14, -2.1687E-16/ -! -! ds = salz-s0 -! adlprt = ( ( (e2*temp + e1)*temp + e0 )*pres & -! + ( (d1*temp + d0)*ds & -! + ( (c3*temp + c2)*temp + c1 )*temp + c0 ) )*pres & -! + (b1*temp + b0)*ds + ( (a3*temp + a2)*temp + a1 )*temp + a0 -! -!END function adlprt -! -!---------------------------------------------------------------------------------------- -! -!endif - ! LA from oce_dens_press for iceberg coupling subroutine fcn_density(t,s,z,rho) diff --git a/src/icb_thermo.F90.rej b/src/icb_thermo.F90.rej new file mode 100644 index 000000000..14d566b0e --- /dev/null +++ b/src/icb_thermo.F90.rej @@ -0,0 +1,324 @@ +diff a/src/icb_thermo.F90 b/src/icb_thermo.F90 (rejected hunks) +@@ -16,45 +16,39 @@ + ! use 3D information for T,S and velocities + ! instead of SSTs; M_v depends on 'thermal driving') + !============================================================================== +-subroutine iceberg_meltrates( M_b, M_v, M_e, M_bv, & ++subroutine iceberg_meltrates(partit, M_b, M_v, M_e, M_bv, & + u_ib,v_ib, uo_ib,vo_ib, ua_ib,va_ib, & + sst_ib, length_ib, conci_ib, & + uo_keel_ib, vo_keel_ib, T_keel_ib, S_keel_ib, depth_ib, & +- T_ave_ib, S_ave_ib, ib) ++ T_ave_ib, S_ave_ib, ib, rho_icb) + +-! use o_mesh + use o_param +-! use i_therm_param +-! use i_param +-! use MOD_ICE +-! use i_arrays +-! use MOD_PARTIT +- +-! kh 18.03.21 not really used here +-! use o_arrays +- ++ use MOD_PARTIT + use g_clock + use g_forcing_arrays + use g_rotate_grid + +- use iceberg_params, only: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib, heat_flux_ib +- ++ use iceberg_params, only: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib, hfb_flux_ib, hfbv_flux_ib, hfe_flux_ib, hfl_flux_ib, height_ib, scaling + implicit none + ++ ! LA: include latent heat 2023-04-04 ++ real(kind=8),parameter :: L = 334000. ! [J/Kg] ++ + real, intent(IN) :: u_ib,v_ib, uo_ib,vo_ib, ua_ib,va_ib !iceberg velo, (int.) ocean & atm velo + real, intent(IN) :: uo_keel_ib, vo_keel_ib !ocean velo at iceberg's draft +- real, intent(IN) :: sst_ib, length_ib, conci_ib !SST, length and sea ice conc. +- real, intent(IN) :: T_keel_ib, S_keel_ib, depth_ib !T & S at depth 'depth_ib' ++ real, intent(IN) :: sst_ib, length_ib, conci_ib, rho_icb !SST, length and sea ice conc. ++ real, intent(IN) :: T_keel_ib, S_keel_ib, depth_ib !T & S at depth 'depth_ib' + real, intent(IN) :: T_ave_ib, S_ave_ib !T & S averaged, i.e. at 'depth_ib/2' + integer, intent(IN) :: ib !iceberg ID + real, intent(OUT) :: M_b, M_v, M_e, M_bv !melt rates [m (ice) per s] ++ real :: H_b, H_v, H_e, H_bv !melt rates [m (ice) per s] + + + real :: absamino, damping, sea_state, v_ibmino + real :: tf, T_d !freezing temp. and 'thermal driving' +-!type(t_partit), intent(inout), target :: partit +-!#include "associate_part_def.h" +-!#include "associate_part_ass.h" ++type(t_partit), intent(inout), target :: partit ++#include "associate_part_def.h" ++#include "associate_part_ass.h" + + !bottom melt (basal turbulent melting rate) + !M_b = 0.58 * sqrt( (u_ib - uo_ib)**2 + (v_ib - vo_ib)**2 )**0.8 & +@@ -63,17 +57,18 @@ subroutine iceberg_meltrates( M_b, M_v, M_e, M_bv, & + + !3-eq. formulation for bottom melting [m/s] + v_ibmino = sqrt( (u_ib - uo_keel_ib)**2 + (v_ib - vo_keel_ib)**2 ) +- call iceberg_heat_water_fluxes_3eq(ib, M_b, T_keel_ib,S_keel_ib,v_ibmino, depth_ib, tf) ++ call iceberg_heat_water_fluxes_3eq(partit, ib, M_b, H_b, T_keel_ib,S_keel_ib,v_ibmino, depth_ib, tf) ++ hfb_flux_ib = H_b * length_ib*length_ib*scaling(ib) + + !3-eq. formulation for lateral 'basal' melting [m/s] + v_ibmino = sqrt( (u_ib - uo_ib)**2 + (v_ib - vo_ib)**2 ) ! depth-average rel. velocity +- call iceberg_heat_water_fluxes_3eq(ib, M_bv, T_ave_ib,S_ave_ib,v_ibmino, depth_ib/2.0, tf) ++ call iceberg_heat_water_fluxes_3eq(partit, ib, M_bv, H_bv, T_ave_ib,S_ave_ib,v_ibmino, depth_ib/2.0, tf) ++ hfbv_flux_ib = H_bv * (2*length_ib*abs(depth_ib) + 2*length_ib*abs(depth_ib) ) * scaling(ib) + + !'thermal driving', defined as the elevation of ambient water + !temperature above freezing point' (Neshyba and Josberger, 1979). + T_d = T_ave_ib - tf + if(T_d < 0.) T_d = 0. +- !write(*,*) 'thermal driving:',T_d,'; Tf:',tf,'T_ave:',T_ave_ib + + !lateral melt (buoyant convection) + !M_v = 0.00762 * sst_ib + 0.00129 * sst_ib**2 +@@ -81,6 +76,8 @@ subroutine iceberg_meltrates( M_b, M_v, M_e, M_bv, & + !M_v is a function of the 'thermal driving', NOT just sst! Cf. Neshyba and Josberger (1979) + M_v = 0.00762 * T_d + 0.00129 * T_d**2 + M_v = M_v/86400. ++ H_v = M_v * rho_icb * L ++ hfl_flux_ib = H_v * (2*length_ib*abs(depth_ib) + 2*length_ib*abs(depth_ib) ) * scaling(ib) + !fwl_flux_ib = M_v + + !wave erosion +@@ -106,21 +105,12 @@ end subroutine iceberg_meltrates + subroutine iceberg_newdimensions(partit, ib, depth_ib,height_ib,length_ib,width_ib,M_b,M_v,M_e,M_bv, & + rho_h2o, rho_icb, file_meltrates) + +-! use o_mesh + use o_param !for step_per_day +-! use i_therm_param +-! use i_param +-! use MOD_ICE +-! use i_arrays + use MOD_PARTIT !for mype +- +-! kh 18.03.21 not really used here +-! use o_arrays +- + use g_clock + use g_forcing_arrays + use g_rotate_grid +- use iceberg_params, only: l_weeksmellor, ascii_out, icb_outfreq, vl_block, bvl_mean, lvlv_mean, lvle_mean, lvlb_mean, smallestvol_icb, fwb_flux_ib, fwe_flux_ib, fwbv_flux_ib, fwl_flux_ib, scaling, heat_flux_ib, lheat_flux_ib ++ use iceberg_params, only: l_weeksmellor, ascii_out, icb_outfreq, vl_block, bvl_mean, lvlv_mean, lvle_mean, lvlb_mean, smallestvol_icb, fwb_flux_ib, fwe_flux_ib, fwbv_flux_ib, fwl_flux_ib, scaling, hfb_flux_ib, hfbv_flux_ib, hfe_flux_ib, hfl_flux_ib, lhfb_flux_ib + use g_config, only: steps_per_ib_step + + implicit none +@@ -185,8 +176,6 @@ type(t_partit), intent(inout), target :: partit + volume_after=volume_before-tvl + + !calculating the new iceberg dimensions +- !depth_ib = (abs(depth_ib)-dh_b)*(-1.) +- !height_ib= abs(depth_ib) * rho_h2o/rho_icb + height_ib= height_ib - dh_b + depth_ib = -height_ib * rho_icb/rho_h2o + +@@ -196,15 +185,13 @@ type(t_partit), intent(inout), target :: partit + + !distribute dh_e equally between length and width + !as in code of michael schodlok, but not dh_v? +- !length_ib= length_ib - dh_v -dh_e/2. +- !width_ib = width_ib - dh_v -dh_e/2. + + volume_after=height_ib*length_ib*width_ib + + !iceberg smaller than critical value after melting? + if (volume_after .le. smallestvol_icb) then + volume_after=0.0 +- depth_ib = 0.0 ++ depth_ib = 0.0 + height_ib= 0.0 + length_ib= 0.0 + width_ib = 0.0 +@@ -297,25 +293,20 @@ end subroutine weeksmellor + !*************************************************************************************************************************** + !*************************************************************************************************************************** + +-subroutine iceberg_heat_water_fluxes_3eq(ib, M_b, T_ib,S_ib,v_rel, depth_ib, t_freeze) ++subroutine iceberg_heat_water_fluxes_3eq(partit, ib, M_b, H_b, T_ib,S_ib,v_rel, depth_ib, t_freeze) + ! The three-equation model of ice-shelf ocean interaction (Hellmer et al., 1997) + ! Code derived from BRIOS subroutine iceshelf (which goes back to H.Hellmer's 2D ice shelf model code) + ! adjusted for use in FESOM by Ralph Timmermann, 16.02.2011 + ! adopted and modified for iceberg basal melting by Thomas Rackow, 11.06.2014 + !---------------------------------------------------------------- + +- !use o_mesh +- !use o_param +- !use o_arrays +- !use i_arrays +- !use MOD_PARTIT + use iceberg_params + use g_config + + implicit none + + integer, INTENT(IN) :: ib +- real(kind=8),INTENT(OUT) :: M_b, t_freeze ++ real(kind=8),INTENT(OUT) :: M_b, H_b, t_freeze + real(kind=8),INTENT(IN) :: T_ib, S_ib ! ocean temperature & salinity (at depth 'depth_ib') + real(kind=8),INTENT(IN) :: v_rel, depth_ib ! relative velocity iceberg-ocean (at depth 'depth_ib') + +@@ -351,22 +342,11 @@ subroutine iceberg_heat_water_fluxes_3eq(ib, M_b, T_ib,S_ib,v_rel, depth_ib, t_f + real(kind=8),parameter :: cpi = 152.5+7.122*(atk+tob) !Paterson:"The Physics of Glaciers" + + real(kind=8),parameter :: L = 334000. ! [J/Kg] ++type(t_partit), intent(inout), target :: partit ++!==================== MODULES & DECLARATIONS ==========================!= ++#include "associate_part_def.h" ++#include "associate_part_ass.h" + +- ! hemw = helium content of the glacial meltwater +- ! oomw = isotopic fractionation due to melting +- ! oofw = isotopic fractionation due to freezing +- ! hemw= 4.02*14. +- ! oomw= -30. +- ! oofw= -2.5 +- +- !n3=myDim_nod3d+eDim_nod3d +- +- !do n=1,myDim_nod2D+eDim_nod2D +- !if(cavity_flag_nod2d(n)==0) cycle +- !nk=nod3d_below_nod2d(1,n) +- !temp = tracer(nk,1) +- !sal = tracer(nk,2) +- !zice = coord_nod3d(3,nk) !(<0) + temp = T_ib + sal = S_ib + zice = depth_ib !(<0) +@@ -378,15 +358,7 @@ subroutine iceberg_heat_water_fluxes_3eq(ib, M_b, T_ib,S_ib,v_rel, depth_ib, t_f + ! Calculate or prescribe the turbulent heat and salt transfer coeff. GAT and GAS + ! velocity-dependent approach of Jenkins (1991) + +- !rt vt1 = 0.25*sqrt((u(i,j,N,lrhs)+u(i+1,j,N,lrhs))**2 +- !rt & +(v(i,j,N,lrhs)+v(i,j+1,N,lrhs))**2) +- ! if(vt1.eq.0.) vt1=0.001 +- !rt re = Hz_r(i,j,N)*ds/un !Reynolds number +- +- !vt1 = sqrt(uf(nk)*uf(nk)+uf(nk+n3)*uf(nk+n3)) ! relative velocity ice-ocean + vt1 = v_rel ! relative velocity iceberg-ocean (at depth 'depth_ib') +- +-!rt RG44030 vt1 = max(vt1,0.001) + vt1 = max(vt1,0.005) ! RG44030 + + re = 10./un !vt1*re (=velocity times length scale over kinematic viscosity) is the Reynolds number +@@ -530,112 +503,6 @@ subroutine potit_ib(ib,salz,pt,pres,rfpres,tin) + return + end subroutine potit_ib + +-! if the underlying FESOM is run without cavities, the following routines might be +-! missing, so put them here: +-#ifndef use_cavity +-! +-!------------------------------------------------------------------------------------- +-! +-!subroutine potit(salz,pt,pres,rfpres,tin) +-! ! Berechnet aus dem Salzgehalt[psu] (SALZ), der pot. Temperatur[oC] +-! ! (PT) und dem Referenzdruck[dbar] (REFPRES) die in-situ Temperatur +-! ! [oC] (TIN) bezogen auf den in-situ Druck[dbar] (PRES) mit Hilfe +-! ! eines Iterationsverfahrens aus. +-! +-! integer iter +-! real salz,pt,pres,rfpres,tin +-! real epsi,tpmd,pt1,ptd,pttmpr +-! +-! data tpmd / 0.001 / +-! +-! epsi = 0. +-! do iter=1,100 +-! tin = pt+epsi +-! pt1 = pttmpr(salz,tin,pres,rfpres) +-! ptd = pt1-pt +-! if(abs(ptd).lt.tpmd) return +-! epsi = epsi-ptd +-! enddo +-! write(6,*) ' WARNING!' +-! write(6,*) ' in-situ temperature calculation has not converged.' +-! stop +-! return +-!end subroutine potit +-! +-!------------------------------------------------------------------------------------- +-! +-!real function pttmpr(salz,temp,pres,rfpres) +-! ! Berechnet aus dem Salzgehalt/psu (SALZ), der in-situ Temperatur/degC +-! ! (TEMP) und dem in-situ Druck/dbar (PRES) die potentielle Temperatur/ +-! ! degC (PTTMPR) bezogen auf den Referenzdruck/dbar (RFPRES). Es wird +-! ! ein Runge-Kutta Verfahren vierter Ordnung verwendet. +-! ! Checkwert: PTTMPR = 36.89073 DegC +-! ! fuer SALZ = 40.0 psu +-! ! TEMP = 40.0 DegC +-! ! PRES = 10000.000 dbar +-! ! RFPRES = 0.000 dbar +-! +-! data ct2 ,ct3 /0.29289322 , 1.707106781/ +-! data cq2a,cq2b /0.58578644 , 0.121320344/ +-! data cq3a,cq3b /3.414213562, -4.121320344/ +-! +-! real salz,temp,pres,rfpres +-! real p,t,dp,dt,q,ct2,ct3,cq2a,cq2b,cq3a,cq3b +-! real adlprt +-! +-! p = pres +-! t = temp +-! dp = rfpres-pres +-! dt = dp*adlprt(salz,t,p) +-! t = t +0.5*dt +-! q = dt +-! p = p +0.5*dp +-! dt = dp*adlprt(salz,t,p) +-! t = t + ct2*(dt-q) +-! q = cq2a*dt + cq2b*q +-! dt = dp*adlprt(salz,t,p) +-! t = t + ct3*(dt-q) +-! q = cq3a*dt + cq3b*q +-! p = rfpres +-! dt = dp*adlprt(salz,t,p) +-! +-! pttmpr = t + (dt-q-q)/6.0 +-! +-!end function pttmpr +-! +-!------------------------------------------------------------------------------------- +-! +-!real function adlprt(salz,temp,pres) +-! ! Berechnet aus dem Salzgehalt/psu (SALZ), der in-situ Temperatur/degC +-! ! (TEMP) und dem in-situ Druck/dbar (PRES) den adiabatischen Temperatur- +-! ! gradienten/(K Dbar^-1) ADLPRT. +-! ! Checkwert: ADLPRT = 3.255976E-4 K dbar^-1 +-! ! fuer SALZ = 40.0 psu +-! ! TEMP = 40.0 DegC +-! ! PRES = 10000.000 dbar +-! +-! real salz,temp,pres +-! real s0,a0,a1,a2,a3,b0,b1,c0,c1,c2,c3,d0,d1,e0,e1,e2,ds +-! +-! data s0 /35.0/ +-! data a0,a1,a2,a3 /3.5803E-5, 8.5258E-6, -6.8360E-8, 6.6228E-10/ +-! data b0,b1 /1.8932E-6, -4.2393E-8/ +-! data c0,c1,c2,c3 /1.8741E-8, -6.7795E-10, 8.7330E-12, -5.4481E-14/ +-! data d0,d1 /-1.1351E-10, 2.7759E-12/ +-! data e0,e1,e2 /-4.6206E-13, 1.8676E-14, -2.1687E-16/ +-! +-! ds = salz-s0 +-! adlprt = ( ( (e2*temp + e1)*temp + e0 )*pres & +-! + ( (d1*temp + d0)*ds & +-! + ( (c3*temp + c2)*temp + c1 )*temp + c0 ) )*pres & +-! + (b1*temp + b0)*ds + ( (a3*temp + a2)*temp + a1 )*temp + a0 +-! +-!END function adlprt +-! +-!---------------------------------------------------------------------------------------- +-! +-#endif +- + + ! LA from oce_dens_press for iceberg coupling + subroutine fcn_density(t,s,z,rho) diff --git a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 index 0d4575668..c33824352 100755 --- a/src/ice_oce_coupling.F90 +++ b/src/ice_oce_coupling.F90 @@ -264,6 +264,7 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) use icedrv_main, only: icepack_to_fesom, & init_flux_atm_ocn #endif + use iceberg_params use cavity_interfaces !---fwf-code use g_clock @@ -567,6 +568,18 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) where (ulevels_nod2d > 1) flux = -water_flux end if end if + + !___________________________________________________________________________ + if (use_icebergs .and. lbalance_fw) then + call icb2fesom(mesh, partit, ice) + if (.not.turn_off_fw) then + flux = flux + (ibfwb + ibfwe + ibfwl + ibfwbv) !* steps_per_ib_step + end if + + call integrate_nod(ibfwb + ibfwe + ibfwl + ibfwbv, net, partit, mesh) + if (mype==0) write(*,*) " * total iceberg fw flux: ", net + end if + !___________________________________________________________________________ ! compute total global net freshwater flux into the ocean call integrate_nod(flux, net, partit, mesh) diff --git a/src/ice_oce_coupling.F90.rej b/src/ice_oce_coupling.F90.rej new file mode 100644 index 000000000..2d095512b --- /dev/null +++ b/src/ice_oce_coupling.F90.rej @@ -0,0 +1,23 @@ +diff a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 (rejected hunks) +@@ -563,9 +564,21 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) + end if + end if + ++ !___________________________________________________________________________ ++ if (use_icebergs .and. lbalance_fw) then ++ call icb2fesom(mesh, partit, ice) ++ if (.not.turn_off_fw) then ++ flux = flux + (ibfwb + ibfwe + ibfwl + ibfwbv) !* steps_per_ib_step ++ end if ++ ++ call integrate_nod(ibfwb + ibfwe + ibfwl + ibfwbv, net, partit, mesh) ++ if (mype==0) write(*,*) " * total iceberg fw flux: ", net ++ end if ++ + !___________________________________________________________________________ + ! compute total global net freshwater flux into the ocean + call integrate_nod(flux, net, partit, mesh) ++ + + !___________________________________________________________________________ + ! here the + sign must be used because we switched up the sign of the diff --git a/src/io_meandata.F90.rej b/src/io_meandata.F90.rej new file mode 100644 index 000000000..3dc502956 --- /dev/null +++ b/src/io_meandata.F90.rej @@ -0,0 +1,11 @@ +diff a/src/io_meandata.F90 b/src/io_meandata.F90 (rejected hunks) +@@ -596,7 +596,8 @@ CASE ('icb ') + call def_stream(nod2D, myDim_nod2D, 'ibfwbv', 'basal iceberg melting', 'm/s', ibfwbv(:), 1, 'm', i_real4, partit, mesh) + call def_stream(nod2D, myDim_nod2D, 'ibfwl', 'lateral iceberg melting', 'm/s', ibfwl(:), 1, 'm', i_real4, partit, mesh) + call def_stream(nod2D, myDim_nod2D, 'ibfwe', 'iceberg erosion', 'm/s', ibfwe(:), 1, 'm', i_real4, partit, mesh) +- call def_stream(nod2D, myDim_nod2D, 'ibhf', 'heat flux from iceberg melting', 'm/s', ibhf(:), 1, 'm', i_real4, partit, mesh) ++ !call def_stream(nod2D, myDim_nod2D, 'ibhf', 'heat flux from iceberg melting', 'm/s', ibhf(:), 1, 'm', i_real4, partit, mesh) ++ call def_stream((/nl,nod2D/), (/nl,myDim_nod2D/), 'ibhf', 'heat flux from iceberg melting', 'm/s', ibhf_n(:,:), 1, 'm', i_real4, partit, mesh) + end if + !------------------------------------------ + diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 3e64502ad..6704714ff 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -573,6 +573,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, ice, partit, mesh) use bc_surface_interface use transit_bc_surface_interface use mod_ice + use iceberg_params implicit none integer , intent(in) , target :: tr_num type(t_dyn) , intent(inout), target :: dynamics @@ -988,6 +989,16 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, ice, partit, mesh) end do end if + !_______________________________________________________________________ + ! case of activated shortwave penetration into the ocean, ad 3d contribution + if (use_icebergs .and. (.not. turn_off_hf) .and. tracers%data(tr_num)%ID==1) then + do nz=nzmin, nzmax-1 + zinv=1.0_WP*dt !/(zbar(nz)-zbar(nz+1)) ale! + !!PS tr(nz)=tr(nz)+(sw_3d(nz, n)-sw_3d(nz+1, n) * ( area(nz+1,n)/areasvol(nz,n)) ) * zinv + tr(nz)=tr(nz)+(ibhf_n(nz, n)-ibhf_n(nz+1, n) * area(nz+1,n)/areasvol(nz,n)) * zinv / vcpw + end do + end if + !_______________________________________________________________________ ! The first row contains also the boundary condition from heatflux, ! freshwaterflux and relaxation terms diff --git a/src/oce_ale_tracer.F90.rej b/src/oce_ale_tracer.F90.rej new file mode 100644 index 000000000..f7caf0eb0 --- /dev/null +++ b/src/oce_ale_tracer.F90.rej @@ -0,0 +1,9 @@ +diff a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 (rejected hunks) +@@ -452,6 +452,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) + use o_mixing_KPP_mod !for ghats _GO_ + use g_cvmix_kpp, only: kpp_nonlcltranspT, kpp_nonlcltranspS, kpp_oblmixc + use bc_surface_interface ++ use iceberg_params + implicit none + integer , intent(in) , target :: tr_num + type(t_dyn) , intent(inout), target :: dynamics From 5d4473ddb182889fbfd2ca877194278e6bcdd342 Mon Sep 17 00:00:00 2001 From: seshadri levante Date: Tue, 24 Sep 2024 14:06:06 +0200 Subject: [PATCH 229/273] Removed the unnecessary exports in shell.gnu and shell.intel --- env/levante.dkrz.de/shell.gnu | 3 +-- env/levante.dkrz.de/shell.intel | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/env/levante.dkrz.de/shell.gnu b/env/levante.dkrz.de/shell.gnu index d42c0ca4b..4bacf20aa 100755 --- a/env/levante.dkrz.de/shell.gnu +++ b/env/levante.dkrz.de/shell.gnu @@ -18,8 +18,7 @@ export FC=mpif90 CC=mpicc CXX=mpicxx # following is only needed for libblas which is needed by params lib and often provided by lapack #module load intel-oneapi-mkl/2022.0.1-gcc-11.2.0 # so use the LD_LIBRARY_PATH or other paths like prefix paths etc for cmake -export LD_LIBRARY_PATH=/sw/spack-levante/intel-oneapi-mkl-2022.0.1-ttdktf/mkl/2022.0.1/lib/intel64:$LD_LIBRARY_PATH -spack load intel-oneapi-mkl@2022.0.1%gcc@11.2.0 +#export LD_LIBRARY_PATH=/sw/spack-levante/intel-oneapi-mkl-2022.0.1-ttdktf/mkl/2022.0.1/lib/intel64:$LD_LIBRARY_PATH spack load intel-oneapi-mkl@2022.0.1%gcc@11.2.0 #other alternative blas #spack load netlib-lapack@3.9.1%gcc@11.2.0 diff --git a/env/levante.dkrz.de/shell.intel b/env/levante.dkrz.de/shell.intel index 777e55f0d..e087c7f84 100755 --- a/env/levante.dkrz.de/shell.intel +++ b/env/levante.dkrz.de/shell.intel @@ -9,7 +9,7 @@ module load openmpi/4.1.2-intel-2021.5.0 export FC=mpif90 CC=mpicc CXX=mpicxx ; spack load intel-oneapi-mkl@2022.0.1%gcc@11.2.0 # this handles adding to path elegantly then using hardcoded path below #module load intel-oneapi-mkl/2022.0.1-gcc-11.2.0 -export LD_LIBRARY_PATH=/sw/spack-levante/intel-oneapi-mkl-2022.0.1-ttdktf/mkl/2022.0.1/lib/intel64:$LD_LIBRARY_PATH +#export LD_LIBRARY_PATH=/sw/spack-levante/intel-oneapi-mkl-2022.0.1-ttdktf/mkl/2022.0.1/lib/intel64:$LD_LIBRARY_PATH module load netcdf-c/4.8.1-openmpi-4.1.2-intel-2021.5.0 module load netcdf-fortran/4.5.3-openmpi-4.1.2-intel-2021.5.0 From 59b3f64e8c55cee9865286be34fa6fdff047d0bf Mon Sep 17 00:00:00 2001 From: Raavan70 <124213816+basava70@users.noreply.github.com> Date: Tue, 24 Sep 2024 14:12:58 +0200 Subject: [PATCH 230/273] Update env.sh Co-authored-by: Miguel <63242832+mandresm@users.noreply.github.com> --- env.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env.sh b/env.sh index 687e8c362..6ab2d3799 100755 --- a/env.sh +++ b/env.sh @@ -117,4 +117,4 @@ else echo "Sourcing $(realpath $SHELLFILE) for environment" source $SHELLFILE echo "$(realpath ${SHELLFILE})" > $DIR/bin/current_shell_path -fi \ No newline at end of file +fi From d1ba3f20a22451650205b6e450e77fa60018eaeb Mon Sep 17 00:00:00 2001 From: Sebastian Beyer Date: Sun, 22 Sep 2024 21:11:01 +0200 Subject: [PATCH 231/273] delete unused files --- Makefile | 38 - Makefile.in_gnu_impi | 45 - Makefile.in_intel | 45 - src/Makefile | 165 -- src/Makefile_hlrn | 104 -- src/Makefile_ollie | 117 -- src/temp/MOD_MESH.F90 | 329 ---- src/temp/MOD_PARTIT.F90 | 189 -- src/temp/MOD_READ_BINARY_ARRAYS.F90 | 118 -- src/temp/MOD_TRACER.F90 | 228 --- src/temp/MOD_WRITE_BINARY_ARRAYS.F90 | 160 -- src/temp/gen_halo_exchange.F90 | 2381 ------------------------- src/temp/gen_modules_partitioning.F90 | 508 ------ src/temp/oce_adv_tra_driver.F90 | 278 --- src/temp/oce_adv_tra_fct.F90 | 365 ---- src/temp/oce_adv_tra_hor.F90 | 739 -------- src/temp/oce_adv_tra_ver.F90 | 598 ------- src/temp/oce_modules.F90 | 267 --- 18 files changed, 6674 deletions(-) delete mode 100644 Makefile delete mode 100644 Makefile.in_gnu_impi delete mode 100644 Makefile.in_intel delete mode 100755 src/Makefile delete mode 100755 src/Makefile_hlrn delete mode 100755 src/Makefile_ollie delete mode 100644 src/temp/MOD_MESH.F90 delete mode 100644 src/temp/MOD_PARTIT.F90 delete mode 100644 src/temp/MOD_READ_BINARY_ARRAYS.F90 delete mode 100644 src/temp/MOD_TRACER.F90 delete mode 100644 src/temp/MOD_WRITE_BINARY_ARRAYS.F90 delete mode 100755 src/temp/gen_halo_exchange.F90 delete mode 100644 src/temp/gen_modules_partitioning.F90 delete mode 100644 src/temp/oce_adv_tra_driver.F90 delete mode 100644 src/temp/oce_adv_tra_fct.F90 delete mode 100644 src/temp/oce_adv_tra_hor.F90 delete mode 100644 src/temp/oce_adv_tra_ver.F90 delete mode 100755 src/temp/oce_modules.F90 diff --git a/Makefile b/Makefile deleted file mode 100644 index b68b84676..000000000 --- a/Makefile +++ /dev/null @@ -1,38 +0,0 @@ -include Makefile.in - -all: - make metis - make parms - make cleanfesom - make fesom_ini - make cleanfesom - make fesom - -metis: - make -C ./lib/metis-5.1.0 - -parms: - make -C ./lib/parms - -fesom_ini: - make -C ./src run_ini - -fesom: - make -C ./src run - -cleanparms: - make -C ./lib/parms cleanall - -cleanmetis: - make -C ./lib/metis-5.1.0 clean - -cleanfesom: - make -C ./src clean - -cleanall: - make cleanparms - make cleanmetis - make cleanfesom - -clean: - make cleanfesom diff --git a/Makefile.in_gnu_impi b/Makefile.in_gnu_impi deleted file mode 100644 index cdf9a6792..000000000 --- a/Makefile.in_gnu_impi +++ /dev/null @@ -1,45 +0,0 @@ - -# Compiler and Linker -CC = gcc -MPICC = mpicc -MPIFC = mpif90 -LD = $(MPIFC) - -# Optimization specs for compiler - used for FESOM an parms. -# Metis falls back to conservative and non-compiler specific -O2, as -# it is only used in the less runtime-critical setup phase. -OPT = -O3 -march=native -funroll-loops -ffree-line-length-none -COPT = -O3 -march=native -funroll-loops -DLINUX -DUNDER_ -DMPI2 -Iinclude -## Options for debugging: -# OPT = -g -fbounds-check -fbacktrace - -# Preprocessor flags for FESOM2 -CPP_DEFS = -DDISABLE_MULTITHREADING - -# NetCDF library and include definitions -NCFDIR = /global/AWIsoft/netcdf/4.6.1_gnu -NC_LIB = -L$(NCFDIR)/lib -Wl,-rpath,$(NCFDIR)/lib -lnetcdff -NC_INC = -I$(NCFDIR)/include - -# Definitions for MPI, if not set by compiler wrappers -MPIROOT = -MPI_LIB = -MPI_INC = - -## For partitioning, the FESOM initialization offers an interface to Metis 5. -## The option -DPART_WEIGHTED distributes 2D _and_ 3D-nodes equally, but the -## partitioning might be quite irregular. -## Without DPART_WEIGHTED, only the number of 2D nodes is considered for load balancing. -## You can start Metis 5 with different random seeds -> different partitions. - -METIS_DEFS = -DMETIS_VERSION=5 -DPART_WEIGHTED -DMETISRANDOMSEED=35243 -# METISRANDDOMSEED: any integer - -# Used to compile the fesom wrapper to parms -PARMS_DEFS = -DUSE_MPI -DREAL=double -DDBL -DVOID_POINTER_SIZE_8 - -####################################################### -# for pARMS and metis Library, archive and options - -AR = ar qv -RANLIB = ranlib diff --git a/Makefile.in_intel b/Makefile.in_intel deleted file mode 100644 index 1bb5c4800..000000000 --- a/Makefile.in_intel +++ /dev/null @@ -1,45 +0,0 @@ - -# Compiler and Linker -CC = icc -MPICC = mpiicc -MPIFC = mpiifort -LD = $(MPIFC) - -# Optimization specs for compiler - used for FESOM an parms. -# Metis falls back to conservative and non-compiler specific -O2, as -# it is only used in the less runtime-critical setup phase. -OPT = -O3 -r8 -fp-model precise -xHost -ip -implicitnone -static-intel -COPT = -O3 -xHost -DLINUX -DUNDER_ -DMPI2 -Iinclude -## Options for debugging: -# OPT = -g -xHost -traceback -fpe:0 -check all -static-intel - -# Preprocessor flags for FESOM2 -CPP_DEFS = -DDISABLE_MULTITHREADING - -# NetCDF library and include definitions -NCFDIR = /global/AWIsoft/netcdf/4.6.1_intel_18.0.3 -NC_LIB = -L$(NCFDIR)/lib -Wl,-rpath,$(NCFDIR)/lib -lnetcdff -NC_INC = -I$(NCFDIR)/include - -# Definitions for MPI, if not set by compiler wrappers -MPIROOT = -MPI_LIB = -MPI_INC = - -## For partitioning, the FESOM initialization offers an interface to Metis 5. -## The option -DPART_WEIGHTED distributes 2D _and_ 3D-nodes equally, but the -## partitioning might be quite irregular. -## Without DPART_WEIGHTED, only the number of 2D nodes is considered for load balancing. -## You can start Metis 5 with different random seeds -> different partitions. - -METIS_DEFS = -DMETIS_VERSION=5 -DPART_WEIGHTED -DMETISRANDOMSEED=35243 -# METISRANDDOMSEED: any integer - -# Used to compile the fesom wrapper to parms -PARMS_DEFS = -DUSE_MPI -DREAL=double -DDBL -DVOID_POINTER_SIZE_8 - -####################################################### -# for pARMS and metis Library, archive and options - -AR = ar qv -RANLIB = ranlib diff --git a/src/Makefile b/src/Makefile deleted file mode 100755 index 598dc8d39..000000000 --- a/src/Makefile +++ /dev/null @@ -1,165 +0,0 @@ -###################################################### -# Makefile -###################################################### - -###################################################### -# Include architecture-specific definitions - -include ../Makefile.in - -# Definition of metis include and library -METIS_DIR = ../lib/metis-5.1.0 -LIB_METIS = -L$(METIS_DIR)/lib -lmetis -METIS_INC = -I$(METIS_DIR)/include - -# Definition of pARMS include and library -PARMS_DIR = ../lib/parms -PARMS_INC = -I$(PARMS_DIR)/include -I$(PARMS_DIR)/src/include -LIB_PARMS = -L$(PARMS_DIR)/lib -lparms -CPP_SOL = -DPARMS - -###### Objects for Mesh Partitioning ################################################ -OBJ_INI = fort_part.o oce_modules.o MOD_READ_BINARY_ARRAYS.o MOD_WRITE_BINARY_ARRAYS.o MOD_MESH.o MOD_PARTIT.o \ - gen_modules_partitioning.o gen_modules_config.o \ - gen_modules_rotate_grid.o oce_local.o gen_comm.o fvom_init.o - -# objects - -OBJECTS = fortran_utils.o \ - oce_modules.o \ - info_module.o \ - command_line_options.o \ - MOD_READ_BINARY_ARRAYS.o \ - MOD_WRITE_BINARY_ARRAYS.o \ - MOD_MESH.o \ - MOD_PARTIT.o \ - MOD_DYN.o \ - gen_modules_partitioning.o \ - MOD_ICE.o \ - MOD_TRACER.o \ - ice_modules.o \ - gen_modules_config.o \ - gen_modules_clock.o \ - gen_modules_rotate_grid.o \ - gen_modules_read_NetCDF.o \ - gen_modules_forcing.o \ - gen_halo_exchange.o \ - gen_support.o \ - oce_ale_mixing_kpp.o \ - oce_adv_tra_hor.o \ - oce_adv_tra_ver.o \ - oce_adv_tra_fct.o \ - oce_adv_tra_driver.o \ - gen_modules_diag.o \ - psolve.o \ - oce_ale_mixing_pp.o \ - oce_tracer_mod.o \ - cvmix_kinds_and_types.o \ - cvmix_utils.o \ - cvmix_put_get.o \ - cvmix_tke.o \ - cvmix_idemix.o \ - gen_modules_cvmix_idemix.o \ - gen_modules_cvmix_tke.o \ - cvmix_math.o \ - cvmix_kpp.o \ - gen_modules_cvmix_kpp.o \ - cvmix_tidal.o \ - gen_modules_cvmix_tidal.o \ - cvmix_shear.o \ - gen_modules_cvmix_pp.o \ - async_threads_module.o \ - forcing_provider_netcdf_module.o \ - forcing_lookahead_reader_module.o \ - forcing_provider_async_module.o \ - io_gather.o \ - mpi_topology_module.o \ - io_netcdf_workaround_module.o \ - io_data_strategy.o \ - fesom_version_info.o \ - io_netcdf_attribute_module.o \ - io_netcdf_file_module.o \ - io_scatter.o \ - io_meandata.o \ - io_restart_derivedtype.o \ - io_fesom_file.o \ - io_restart_file_group.o \ - io_restart.o \ - io_blowup.o \ - io_mesh_info.o \ - oce_ale_pressure_bv.o \ - gen_ic3d.o \ - gen_surface_forcing.o \ - gen_modules_gpot.o \ - toy_channel_soufflet.o \ - gen_modules_backscatter.o \ - solver.o \ - oce_ale_vel_rhs.o \ - write_step_info.o \ - oce_fer_gm.o \ - oce_ale_tracer.o \ - oce_ale.o \ - oce_setup_step.o \ - gen_comm.o \ - oce_mesh.o \ - oce_dyn.o \ - oce_muscl_adv.o \ - oce_shortwave_pene.o \ - cavity_param.o \ - ice_EVP.o \ - ice_maEVP.o \ - ice_fct.o \ - ice_thermo_oce.o \ - ice_setup_step.o \ - ice_oce_coupling.o \ - gen_model_setup.o \ - gen_forcing_init.o \ - gen_bulk_formulae.o \ - gen_forcing_couple.o \ - gen_interpolation.o \ - gen_events.o \ - oce_mo_conv.o \ - oce_spp.o \ - fesom_module.o \ - fesom_main.o - - -# oce_pressure_bv.o \ -# oce_redi_gm.o \ -# Name of executables - -EXE = fesom.x -EXE_INI = fesom_ini.x - -# TARGETS - -default: run - -run: $(MODULES) $(OBJECTS) - @echo "======= Building FESOM ==========" - $(LD) $(OPT) -o $(EXE) $(OBJECTS) \ - $(MPI_LIB) $(LIB_LAP) $(NC_LIB) $(LIB_PARMS) -# cp -pf $(EXE) ../bin/. - -run_ini: CPP_DEFS+=-DFVOM_INIT -run_ini: cleanomod $(OBJ_INI) - @echo "======= Building FESOM partioning program ==========" - $(LD) $(OPT) -o $(EXE_INI) $(OBJ_INI) \ - $(MPI_LIB) $(LIB_METIS) $(NC_LIB) - cp -pf $(EXE_INI) ../bin/. - -.SUFFIXES: .c .F90 .o - -.c.o : - $(MPICC) $(COPT) $(CPP_SOL) $(METIS_DEFS) $(PARMS_DEFS) $(CPP_DEFS) $(METIS_INC) $(PARMS_INC) $(MPI_INC) -c $*.c - -.F90.o : - @echo $@ - $(MPIFC) $(CPP_DEFS) $(CPP_SOL) $(NC_INC) $(OPT) $(OASIS3_INC) $(PARMS_INC) $(MPI_INC) -c $*.F90 - -clean : - rm -f *.o *.mod *~ *.f90 $(EXE) $(EXE_INI) - -cleanomod: - rm -f *.o *.mod - CPP_DEFS=; export CPP_DEFS diff --git a/src/Makefile_hlrn b/src/Makefile_hlrn deleted file mode 100755 index 1f893b580..000000000 --- a/src/Makefile_hlrn +++ /dev/null @@ -1,104 +0,0 @@ -###################################################### -# Makefile -###################################################### - -###################################################### -# Include architecture-specific definitions - -include Makefile.in_hlrn - -###### Objects for Mesh Partitioning ################################################ -# modules -MOD_INI = fort_part.o oce_modules.o gen_modules_config.o gen_modules_rotate_grid.o - -OBJ_INI = fvom_init.o \ - oce_local.o \ - gen_comm.o - -# objects - -MODULES = oce_modules.o \ - ice_modules.o \ - gen_modules_config.o \ - gen_modules_clock.o \ - gen_modules_rotate_grid.o \ - gen_modules_read_NetCDF.o \ - gen_modules_forcing.o \ - gen_halo_exchange.o \ - psolve.o \ - oce_tracer_mod.o \ - gen_str2unstr.o \ - fort_part.o \ - gen_input.o - -OBJECTS= fvom_main.o \ - oce_setup_step.o \ - oce_mesh.o \ - oce_dyn.o \ - oce_vel_rhs.o \ - oce_vel_rhs_vinv.o \ - oce_pressure_bv.o \ - oce_fer_gm.o \ - oce_muscl_adv.o \ - oce_fct_muscl_adv.o \ - oce_mixing.o \ - oce_ice_init_state.o \ - oce_shortwave_pene.o \ - ice_setup_step.o \ - ice_evp.o \ - ice_fct.o \ - ice_oce_coupling.o \ - ice_thermodynamics.o \ - gen_comm.o \ - gen_model_setup.o \ - gen_forcing_init.o \ - gen_bulk_formulae.o \ - gen_forcing_couple.o \ - gen_forcing_ocean.o \ - gen_interpolation.o \ - gen_output_mean.o \ - gen_output_restart.o - - - -# oce_pressure_bv.o \ -# oce_redi_gm.o \ -# Name of executables - -EXE = fvom.x -EXE_INI = fvom_ini.x - -# TARGETS - -default: run - -run: $(MODULES) $(OBJECTS) - @echo "======= Building FESOM ==========" - $(LD) $(OPT) -o $(EXE) $(FOS_INC) $(MODULES) $(OBJECTS) \ - $(MPI_LIB) $(LIB_LAP) $(LIB_PARMS) $(LIB_METIS) $(OASIS3_LIB) $(NCLIB) - cp -pf $(EXE) ../bin/. - -run_ini: CPP_DEFS+=-DFVOM_INIT -run_ini: cleanomod $(MOD_INI) $(OBJ_INI) - @echo "======= Building FESOM paritioning program ==========" - $(LD) $(OPT) -o $(EXE_INI) $(MOD_INI) $(OBJ_INI) \ - $(MPI_LIB) $(LIB_METIS) $(OASIS3_LIB) $(NCLIB) - cp -pf $(EXE_INI) ../bin/. - -.SUFFIXES: .c .F90 .o - -.c.o : - $(CC) $(COPT) $(METIS_DEFS) $(CPP_DEFS) $(PARMS_DEFS) $(METIS_INC) $(PARMS_INC) $(MPI_INCLUDE) -c $*.c - -.F90.o : - @echo $@ - $(CPP) $(CPP_DEFS) $(CPP_SOL) $(PETSC_INC) $(PARMS_INC) $(PETSCCONF_INC) $(FOS_INC) $(MPI_INC) $(NCINC) $(LIBS_SLV) < $*.F90 > $*.f90 - $(FC) $(OPT) $(CPP_SOL) $(CPP_DEFS) $(OASIS3_INC) $(FOS_INC)\ - $(PARMS_INC) $(MPI_INCLUDE) $(NCINC) -c $*.f90 - -clean : - rm -f *.o *.mod *~ *.f90 fvom.x fvom_ini.x - -cleanomod: - rm -f *.o *.mod - CPP_DEFS=; export CPP_DEFS diff --git a/src/Makefile_ollie b/src/Makefile_ollie deleted file mode 100755 index bd8eb9c16..000000000 --- a/src/Makefile_ollie +++ /dev/null @@ -1,117 +0,0 @@ -###################################################### -# Makefile -###################################################### - -###################################################### -# Include architecture-specific definitions - -include Makefile.in - -###### Objects for Mesh Partitioning ################################################ -# modules -MOD_INI = fort_part.o oce_modules.o gen_modules_config.o gen_modules_partitioning.o gen_modules_rotate_grid.o - -OBJ_INI = fvom_init.o \ - oce_local.o \ - gen_comm.o - -# objects - -MODULES = oce_modules.o \ - ice_modules.o \ - gen_modules_config.o \ - gen_modules_partitioning.o \ - gen_modules_clock.o \ - gen_modules_rotate_grid.o \ - gen_modules_read_NetCDF.o \ - gen_modules_forcing.o \ - gen_halo_exchange.o \ - gen_support.o \ - oce_ale_mixing_kpp.o \ - gen_modules_diag.o \ - psolve.o \ - oce_ale_mixing_pp.o \ - oce_tracer_mod.o \ - fort_part.o \ - gen_input.o \ - io_meandata.o \ - io_restart.o \ - io_blowup.o \ - io_mesh_info.o - -OBJECTS= fvom_main.o \ - gen_comm.o \ - oce_setup_step.o \ - oce_mesh.o \ - oce_dyn.o \ - oce_ale_vel_rhs.o \ - oce_vel_rhs_vinv.o \ - oce_ale_pressure_bv.o \ - oce_fer_gm.o \ - oce_muscl_adv.o \ - oce_ale_fct_3d_adv.o \ - oce_ice_init_state.o \ - oce_shortwave_pene.o \ - oce_ale.o \ - oce_ale_tracer.o \ - ice_evp.o \ - ice_maEVP.o \ - ice_setup_step.o \ - ice_fct.o \ - ice_oce_coupling.o \ - ice_thermo_oce.o \ - gen_model_setup.o \ - gen_forcing_init.o \ - gen_bulk_formulae.o \ - gen_forcing_couple.o \ - gen_interpolation.o \ - gen_events.o \ - write_step_info.o - - - -# oce_pressure_bv.o \ -# oce_redi_gm.o \ -# Name of executables - -EXE = fesom.x -EXE_INI = fvom_ini.x - -# TARGETS - -default: run - -run: $(MODULES) $(OBJECTS) - @echo "======= Building FESOM ==========" - $(LD) $(OPT) -o $(EXE) $(FOS_INC) $(MODULES) $(OBJECTS) \ - $(MPI_LIB) $(LIB_LAP) $(LIB_PARMS) $(LIB_METIS) $(NCLIB) - cp -pf $(EXE) ../bin/. - -run_ini: CPP_DEFS+=-DFVOM_INIT -run_ini: cleanomod $(MOD_INI) $(OBJ_INI) - @echo "======= Building FESOM paritioning program ==========" - $(LD) $(OPT) -o $(EXE_INI) $(MOD_INI) $(OBJ_INI) \ - $(MPI_LIB) $(LIB_METIS) $(NCLIB) - cp -pf $(EXE_INI) ../bin/. - -.SUFFIXES: .c .F90 .o - -.c.o : - $(CC) $(COPT) $(METIS_DEFS) $(CPP_DEFS) $(PARMS_DEFS) $(METIS_INC) $(PARMS_INC) $(MPI_INCLUDE) -c $*.c - -#.F90.o : -# @echo $@ -# $(CPP) $(CPP_DEFS) $(CPP_SOL) $(PETSC_INC) $(PARMS_INC) $(PETSCCONF_INC) $(FOS_INC) $(MPI_INC) $(NCINC) $(LIBS_SLV) < $*.F90 > $*.f90 -# $(FC) $(OPT) $(CPP_SOL) $(CPP_DEFS) $(OASIS3_INC) $(FOS_INC)\ -# $(PARMS_INC) $(MPI_INCLUDE) $(NCINC) -c $*.f90 -.F90.o : - @echo $@ - $(FC) $(CPP_DEFS) $(CPP_SOL) $(PETSC_INC) $(PARMS_INC) $(PETSCCONF_INC) $(FOS_INC) $(MPI_INC) $(NCINC) $(LIBS_SLV) $(OPT) $(CPP_SOL) $(CPP_DEFS) $(OASIS3_INC) $(FOS_INC)\ - $(PARMS_INC) $(MPI_INCLUDE) $(NCINC) -c $*.F90 - -clean : - rm -f *.o *.mod *~ *.f90 fvom.x fvom_ini.x - -cleanomod: - rm -f *.o *.mod - CPP_DEFS=; export CPP_DEFS diff --git a/src/temp/MOD_MESH.F90 b/src/temp/MOD_MESH.F90 deleted file mode 100644 index 4eb0c23e1..000000000 --- a/src/temp/MOD_MESH.F90 +++ /dev/null @@ -1,329 +0,0 @@ -!========================================================== -MODULE MOD_MESH -USE O_PARAM -USE MOD_WRITE_BINARY_ARRAYS -USE MOD_READ_BINARY_ARRAYS -USE, intrinsic :: ISO_FORTRAN_ENV -IMPLICIT NONE -SAVE -integer, parameter :: MAX_ADJACENT=32 ! Max allowed number of adjacent nodes - -TYPE SPARSE_MATRIX - integer :: nza - integer :: dim - real(kind=WP), allocatable, dimension(:) :: values - integer(int32), allocatable, dimension(:) :: colind - integer(int32), allocatable, dimension(:) :: rowptr - integer(int32), allocatable, dimension(:) :: colind_loc - integer(int32), allocatable, dimension(:) :: rowptr_loc -END TYPE SPARSE_MATRIX - -TYPE T_MESH -integer :: nod2D ! the number of 2D nodes -real(kind=WP) :: ocean_area, ocean_areawithcav -real(kind=WP), allocatable, dimension(:,:) :: coord_nod2D, geo_coord_nod2D -integer :: edge2D ! the number of 2D edges -integer :: edge2D_in ! the number of internal 2D edges -integer :: elem2D ! the number of 2D elements -integer, allocatable, dimension(:,:) :: elem2D_nodes ! elem2D_nodes(:,n) lists; 3 nodes of element n -integer, allocatable, dimension(:,:) :: edges ! edge(:,n) lists 2 nodes; edge n -integer, allocatable, dimension(:,:) :: edge_tri ! edge_tri(:,n) lists 2 - ! elements containing edge n: the first one is to left - ! of the line directed to the second node -integer, allocatable, dimension(:,:) :: elem_edges ! elem_edges(:,n) are edges of element n. -real(kind=WP), allocatable, dimension(:) :: elem_area -real(kind=WP), allocatable, dimension(:,:) :: edge_dxdy, edge_cross_dxdy -real(kind=WP), allocatable, dimension(:) :: elem_cos, metric_factor -integer, allocatable, dimension(:,:) :: elem_neighbors -integer, allocatable, dimension(:,:) :: nod_in_elem2D -real(kind=WP), allocatable, dimension(:,:) :: x_corners, y_corners ! cornes for the scalar points -integer, allocatable, dimension(:) :: nod_in_elem2D_num -real(kind=WP), allocatable, dimension(:) :: depth ! depth(n) is the depths at node n -real(kind=WP), allocatable, dimension(:,:) :: gradient_vec - ! coefficients of linear reconstruction - ! of velocities on elements -real(kind=WP), allocatable, dimension(:,:) :: gradient_sca ! Coefficients to compute gradient of scalars - ! on elements -INTEGER, ALLOCATABLE, DIMENSION(:) :: bc_index_nod2D(:) - ! vertical structure -! -! -!___vertical mesh info__________________________________________________________ -! total number of layers -integer :: nl - -! initial layer, mid-depth layer and element depth -real(kind=WP), allocatable, dimension(:) :: zbar, Z,elem_depth - -! upper boudnary index of all vertical vertice/element loops, default==1 but when -! cavity is used becomes index of cavity-ocean boundary at vertices and elements -integer, allocatable, dimension(:) :: ulevels, ulevels_nod2D, ulevels_nod2D_max - -! number of levels at elem and vertices considering bottom topography -integer, allocatable, dimension(:) :: nlevels, nlevels_nod2D, nlevels_nod2D_min - -! -! -!___horizontal mesh info________________________________________________________ -real(kind=WP), allocatable, dimension(:,:) :: area, area_inv, areasvol, areasvol_inv -real(kind=WP), allocatable, dimension(:) :: mesh_resolution - -! -! -!___cavity mesh info____________________________________________________________ -! level index of cavity-ocean boundary at vertices and elements -! --> see: ulevels, ulevels_nod2D (fvom_main) - -! vertice/element yes=1/no=0 flag if cavity exists -integer, allocatable, dimension(:) :: cavity_flag_n, cavity_flag_e - -! depth of cavity-ocean interface -real(kind=WP), allocatable, dimension(:) :: cavity_depth - - -real(kind=WP), allocatable, dimension(:,:) :: cavity_nrst_cavlpnt_xyz - -! -! -!___Elevation stiffness matrix__________________________________________________ -type(sparse_matrix) :: ssh_stiff - -!#if defined (__oasis) -real(kind=WP), allocatable, dimension(:) :: lump2d_south, lump2d_north -integer, allocatable, dimension(:) :: ind_south, ind_north -!#endif - -integer :: nn_size -integer, allocatable, dimension(:) :: nn_num -integer, allocatable, dimension(:,:) :: nn_pos - -!_______________________________________________________________________________ -! Arrays added for ALE implementation: -! --> layer thinkness at node and depthlayer for t=n and t=n+1 -real(kind=WP), allocatable,dimension(:,:) :: hnode, hnode_new, zbar_3d_n, Z_3d_n - -! --> layer thinkness at elements, interpolated from hnode -real(kind=WP), allocatable,dimension(:,:) :: helem - -! --> thinkness of bottom elem (important for partial cells) -real(kind=WP), allocatable,dimension(:) :: bottom_elem_thickness -real(kind=WP), allocatable,dimension(:) :: bottom_node_thickness - -! --> The increment of total fluid depth on elements. It is used to update the matrix -real(kind=WP), allocatable,dimension(:) :: dhe - -! --> hbar, hbar_old: correspond to the elevation, but on semi-integer time steps. -real(kind=WP), allocatable,dimension(:) :: hbar, hbar_old - -! --> auxiliary array to store depth of layers and depth of mid level due to changing -! layer thinkness at every node -real(kind=WP), allocatable,dimension(:) :: zbar_n, Z_n - -! new bottom depth at node and element due to partial cells -real(kind=WP), allocatable,dimension(:) :: zbar_n_bot -real(kind=WP), allocatable,dimension(:) :: zbar_e_bot - -! new depth of cavity-ocean interface at node and element due to partial cells -real(kind=WP), allocatable,dimension(:) :: zbar_n_srf -real(kind=WP), allocatable,dimension(:) :: zbar_e_srf - -character(:), allocatable :: representative_checksum - -contains - procedure write_t_mesh - procedure read_t_mesh - generic :: write(unformatted) => write_t_mesh - generic :: read(unformatted) => read_t_mesh -END TYPE T_MESH - -contains - -! Unformatted writing for t_mesh -subroutine write_t_mesh(mesh, unit, iostat, iomsg) - IMPLICIT NONE - class(t_mesh), intent(in) :: mesh - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: i, j, k - integer :: s1, s2, s3 - ! write records (giving sizes for the allocation for arrays) - write(unit, iostat=iostat, iomsg=iomsg) mesh%nod2D - write(unit, iostat=iostat, iomsg=iomsg) mesh%ocean_area - write(unit, iostat=iostat, iomsg=iomsg) mesh%ocean_areawithcav - write(unit, iostat=iostat, iomsg=iomsg) mesh%edge2D - write(unit, iostat=iostat, iomsg=iomsg) mesh%edge2D_in - write(unit, iostat=iostat, iomsg=iomsg) mesh%elem2D - call write_bin_array(mesh%elem2D_nodes, unit, iostat, iomsg) - call write_bin_array(mesh%edges, unit, iostat, iomsg) - call write_bin_array(mesh%edge_tri, unit, iostat, iomsg) - call write_bin_array(mesh%elem_edges, unit, iostat, iomsg) - call write_bin_array(mesh%elem_area, unit, iostat, iomsg) - call write_bin_array(mesh%edge_dxdy, unit, iostat, iomsg) - - call write_bin_array(mesh%edge_cross_dxdy, unit, iostat, iomsg) - call write_bin_array(mesh%elem_cos, unit, iostat, iomsg) - call write_bin_array(mesh%metric_factor, unit, iostat, iomsg) - call write_bin_array(mesh%elem_neighbors, unit, iostat, iomsg) - call write_bin_array(mesh%nod_in_elem2D, unit, iostat, iomsg) - call write_bin_array(mesh%x_corners, unit, iostat, iomsg) - call write_bin_array(mesh%y_corners, unit, iostat, iomsg) - call write_bin_array(mesh%nod_in_elem2D_num, unit, iostat, iomsg) - call write_bin_array(mesh%depth, unit, iostat, iomsg) - call write_bin_array(mesh%gradient_vec, unit, iostat, iomsg) - call write_bin_array(mesh%gradient_sca, unit, iostat, iomsg) - call write_bin_array(mesh%bc_index_nod2D, unit, iostat, iomsg) - - write(unit, iostat=iostat, iomsg=iomsg) mesh%nl - - call write_bin_array(mesh%zbar, unit, iostat, iomsg) - call write_bin_array(mesh%Z, unit, iostat, iomsg) - call write_bin_array(mesh%elem_depth, unit, iostat, iomsg) - call write_bin_array(mesh%ulevels, unit, iostat, iomsg) - call write_bin_array(mesh%ulevels_nod2D, unit, iostat, iomsg) - call write_bin_array(mesh%ulevels_nod2D_max, unit, iostat, iomsg) - call write_bin_array(mesh%nlevels, unit, iostat, iomsg) - call write_bin_array(mesh%nlevels_nod2D, unit, iostat, iomsg) - call write_bin_array(mesh%nlevels_nod2D_min, unit, iostat, iomsg) - call write_bin_array(mesh%area, unit, iostat, iomsg) - call write_bin_array(mesh%area_inv, unit, iostat, iomsg) - call write_bin_array(mesh%areasvol, unit, iostat, iomsg) - call write_bin_array(mesh%areasvol_inv, unit, iostat, iomsg) - call write_bin_array(mesh%mesh_resolution, unit, iostat, iomsg) - - call write_bin_array(mesh%cavity_flag_n, unit, iostat, iomsg) - call write_bin_array(mesh%cavity_flag_e, unit, iostat, iomsg) - call write_bin_array(mesh%cavity_depth, unit, iostat, iomsg) - call write_bin_array(mesh%cavity_nrst_cavlpnt_xyz, unit, iostat, iomsg) - - write(unit, iostat=iostat, iomsg=iomsg) mesh%ssh_stiff%dim - write(unit, iostat=iostat, iomsg=iomsg) mesh%ssh_stiff%nza - - call write_bin_array(mesh%ssh_stiff%rowptr, unit, iostat, iomsg) - call write_bin_array(mesh%ssh_stiff%colind, unit, iostat, iomsg) - call write_bin_array(mesh%ssh_stiff%values, unit, iostat, iomsg) - call write_bin_array(mesh%ssh_stiff%colind_loc, unit, iostat, iomsg) - call write_bin_array(mesh%ssh_stiff%rowptr_loc, unit, iostat, iomsg) - - call write_bin_array(mesh%lump2d_south, unit, iostat, iomsg) - call write_bin_array(mesh%lump2d_north, unit, iostat, iomsg) - call write_bin_array(mesh%ind_south, unit, iostat, iomsg) - call write_bin_array(mesh%ind_north, unit, iostat, iomsg) - write(unit, iostat=iostat, iomsg=iomsg) mesh%nn_size - call write_bin_array(mesh%nn_num, unit, iostat, iomsg) - call write_bin_array(mesh%nn_pos, unit, iostat, iomsg) - call write_bin_array(mesh%hnode, unit, iostat, iomsg) - call write_bin_array(mesh%hnode_new, unit, iostat, iomsg) - call write_bin_array(mesh%zbar_3d_n, unit, iostat, iomsg) - call write_bin_array(mesh%Z_3d_n, unit, iostat, iomsg) - call write_bin_array(mesh%helem, unit, iostat, iomsg) - call write_bin_array(mesh%bottom_elem_thickness, unit, iostat, iomsg) - call write_bin_array(mesh%bottom_node_thickness, unit, iostat, iomsg) - call write_bin_array(mesh%dhe, unit, iostat, iomsg) - call write_bin_array(mesh%hbar, unit, iostat, iomsg) - call write_bin_array(mesh%hbar_old, unit, iostat, iomsg) - call write_bin_array(mesh%zbar_n, unit, iostat, iomsg) - call write_bin_array(mesh%Z_n, unit, iostat, iomsg) - call write_bin_array(mesh%zbar_n_bot, unit, iostat, iomsg) - call write_bin_array(mesh%zbar_e_bot, unit, iostat, iomsg) - call write_bin_array(mesh%zbar_n_srf, unit, iostat, iomsg) - call write_bin_array(mesh%zbar_e_srf, unit, iostat, iomsg) -! call write_bin_array(mesh%representative_checksum, unit, iostat, iomsg) -end subroutine write_t_mesh - -! Unformatted reading for t_mesh -subroutine read_t_mesh(mesh, unit, iostat, iomsg) - IMPLICIT NONE - class(t_mesh), intent(inout) :: mesh - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: i, j, k - integer :: s1, s2, s3 - ! write records (giving sizes for the allocation for arrays) - read(unit, iostat=iostat, iomsg=iomsg) mesh%nod2D - read(unit, iostat=iostat, iomsg=iomsg) mesh%ocean_area - read(unit, iostat=iostat, iomsg=iomsg) mesh%ocean_areawithcav - read(unit, iostat=iostat, iomsg=iomsg) mesh%edge2D - read(unit, iostat=iostat, iomsg=iomsg) mesh%edge2D_in - read(unit, iostat=iostat, iomsg=iomsg) mesh%elem2D - - call read_bin_array(mesh%elem2D_nodes, unit, iostat, iomsg) - call read_bin_array(mesh%edges, unit, iostat, iomsg) - call read_bin_array(mesh%edge_tri, unit, iostat, iomsg) - call read_bin_array(mesh%elem_edges, unit, iostat, iomsg) - call read_bin_array(mesh%elem_area, unit, iostat, iomsg) - call read_bin_array(mesh%edge_dxdy, unit, iostat, iomsg) - - call read_bin_array(mesh%edge_cross_dxdy, unit, iostat, iomsg) - call read_bin_array(mesh%elem_cos, unit, iostat, iomsg) - call read_bin_array(mesh%metric_factor, unit, iostat, iomsg) - call read_bin_array(mesh%elem_neighbors, unit, iostat, iomsg) - call read_bin_array(mesh%nod_in_elem2D, unit, iostat, iomsg) - call read_bin_array(mesh%x_corners, unit, iostat, iomsg) - call read_bin_array(mesh%y_corners, unit, iostat, iomsg) - call read_bin_array(mesh%nod_in_elem2D_num, unit, iostat, iomsg) - call read_bin_array(mesh%depth, unit, iostat, iomsg) - call read_bin_array(mesh%gradient_vec, unit, iostat, iomsg) - call read_bin_array(mesh%gradient_sca, unit, iostat, iomsg) - call read_bin_array(mesh%bc_index_nod2D, unit, iostat, iomsg) - - read(unit, iostat=iostat, iomsg=iomsg) mesh%nl - - call read_bin_array(mesh%zbar, unit, iostat, iomsg) - call read_bin_array(mesh%Z, unit, iostat, iomsg) - call read_bin_array(mesh%elem_depth, unit, iostat, iomsg) - call read_bin_array(mesh%ulevels, unit, iostat, iomsg) - call read_bin_array(mesh%ulevels_nod2D, unit, iostat, iomsg) - call read_bin_array(mesh%ulevels_nod2D_max, unit, iostat, iomsg) - call read_bin_array(mesh%nlevels, unit, iostat, iomsg) - call read_bin_array(mesh%nlevels_nod2D, unit, iostat, iomsg) - call read_bin_array(mesh%nlevels_nod2D_min, unit, iostat, iomsg) - call read_bin_array(mesh%area, unit, iostat, iomsg) - call read_bin_array(mesh%area_inv, unit, iostat, iomsg) - call read_bin_array(mesh%areasvol, unit, iostat, iomsg) - call read_bin_array(mesh%areasvol_inv, unit, iostat, iomsg) - call read_bin_array(mesh%mesh_resolution, unit, iostat, iomsg) - - call read_bin_array(mesh%cavity_flag_n, unit, iostat, iomsg) - call read_bin_array(mesh%cavity_flag_e, unit, iostat, iomsg) - call read_bin_array(mesh%cavity_depth, unit, iostat, iomsg) - call read_bin_array(mesh%cavity_nrst_cavlpnt_xyz, unit, iostat, iomsg) - - read(unit, iostat=iostat, iomsg=iomsg) mesh%ssh_stiff%dim - read(unit, iostat=iostat, iomsg=iomsg) mesh%ssh_stiff%nza - - call read_bin_array(mesh%ssh_stiff%rowptr, unit, iostat, iomsg) - call read_bin_array(mesh%ssh_stiff%colind, unit, iostat, iomsg) - call read_bin_array(mesh%ssh_stiff%values, unit, iostat, iomsg) - call read_bin_array(mesh%ssh_stiff%colind_loc, unit, iostat, iomsg) - call read_bin_array(mesh%ssh_stiff%rowptr_loc, unit, iostat, iomsg) - - call read_bin_array(mesh%lump2d_south, unit, iostat, iomsg) - call read_bin_array(mesh%lump2d_north, unit, iostat, iomsg) - call read_bin_array(mesh%ind_south, unit, iostat, iomsg) - call read_bin_array(mesh%ind_north, unit, iostat, iomsg) - read(unit, iostat=iostat, iomsg=iomsg) mesh%nn_size - call read_bin_array(mesh%nn_num, unit, iostat, iomsg) - call read_bin_array(mesh%nn_pos, unit, iostat, iomsg) - call read_bin_array(mesh%hnode, unit, iostat, iomsg) - call read_bin_array(mesh%hnode_new, unit, iostat, iomsg) - call read_bin_array(mesh%zbar_3d_n, unit, iostat, iomsg) - call read_bin_array(mesh%Z_3d_n, unit, iostat, iomsg) - call read_bin_array(mesh%helem, unit, iostat, iomsg) - call read_bin_array(mesh%bottom_elem_thickness, unit, iostat, iomsg) - call read_bin_array(mesh%bottom_node_thickness, unit, iostat, iomsg) - call read_bin_array(mesh%dhe, unit, iostat, iomsg) - call read_bin_array(mesh%hbar, unit, iostat, iomsg) - call read_bin_array(mesh%hbar_old, unit, iostat, iomsg) - call read_bin_array(mesh%zbar_n, unit, iostat, iomsg) - call read_bin_array(mesh%Z_n, unit, iostat, iomsg) - call read_bin_array(mesh%zbar_n_bot, unit, iostat, iomsg) - call read_bin_array(mesh%zbar_e_bot, unit, iostat, iomsg) - call read_bin_array(mesh%zbar_n_srf, unit, iostat, iomsg) - call read_bin_array(mesh%zbar_e_srf, unit, iostat, iomsg) -! call read_bin_array(mesh%representative_checksum, unit, iostat, iomsg) -end subroutine read_t_mesh -end module MOD_MESH -!========================================================== - diff --git a/src/temp/MOD_PARTIT.F90 b/src/temp/MOD_PARTIT.F90 deleted file mode 100644 index 818b46541..000000000 --- a/src/temp/MOD_PARTIT.F90 +++ /dev/null @@ -1,189 +0,0 @@ -!========================================================== -! Variables to organize parallel work -module MOD_PARTIT -USE O_PARAM -USE, intrinsic :: ISO_FORTRAN_ENV -USE MOD_WRITE_BINARY_ARRAYS -USE MOD_READ_BINARY_ARRAYS -USE mpi -IMPLICIT NONE -SAVE -integer, parameter :: MAX_LAENDERECK=16 -integer, parameter :: MAX_NEIGHBOR_PARTITIONS=32 - - -type com_struct - integer :: rPEnum ! the number of PE I receive info from - integer, dimension(MAX_NEIGHBOR_PARTITIONS) :: rPE ! their list - integer, dimension(MAX_NEIGHBOR_PARTITIONS+1) :: rptr ! allocatables to the list of nodes - integer, dimension(:), allocatable :: rlist ! the list of nodes - integer :: sPEnum ! send part - integer, dimension(MAX_NEIGHBOR_PARTITIONS) :: sPE - integer, dimension(MAX_NEIGHBOR_PARTITIONS) :: sptr - integer, dimension(:), allocatable :: slist - integer, dimension(:), allocatable :: req ! request for MPI_Wait - integer :: nreq ! number of requests for MPI_Wait - ! (to combine halo exchange of several fields) - contains - procedure WRITE_T_COM_STRUCT - procedure READ_T_COM_STRUCT - generic :: write(unformatted) => WRITE_T_COM_STRUCT - generic :: read(unformatted) => READ_T_COM_STRUCT -end type com_struct - -TYPE T_PARTIT - integer :: MPI_COMM_FESOM ! FESOM communicator (for ocean only runs if often a copy of MPI_COMM_WORLD) - - type(com_struct) :: com_nod2D - type(com_struct) :: com_elem2D - type(com_struct) :: com_elem2D_full - - ! MPI Datatypes for interface exchange - ! Element fields (2D; 2D integer; 3D with nl-1 or nl levels, 1 - 4 values) - ! small halo and / or full halo - !!! s(r)_mpitype_* are constructed during the runtime ans shall not be dumped!!! - integer, allocatable :: s_mpitype_elem2D(:,:), r_mpitype_elem2D(:,:) - integer, allocatable :: s_mpitype_elem2D_full_i(:), r_mpitype_elem2D_full_i(:) - integer, allocatable :: s_mpitype_elem2D_full(:,:), r_mpitype_elem2D_full(:,:) - integer, allocatable :: s_mpitype_elem3D(:,:,:), r_mpitype_elem3D(:,:,:) - integer, allocatable :: s_mpitype_elem3D_full(:,:,:),r_mpitype_elem3D_full(:,:,:) - - ! Nodal fields (2D; 2D integer; 3D with nl-1 or nl levels, one, two, or three values) - integer, allocatable :: s_mpitype_nod2D(:), r_mpitype_nod2D(:) - integer, allocatable :: s_mpitype_nod2D_i(:), r_mpitype_nod2D_i(:) - integer, allocatable :: s_mpitype_nod3D(:,:,:), r_mpitype_nod3D(:,:,:) - - ! general MPI part - integer :: MPIERR - integer :: npes - integer :: mype - integer :: maxPEnum=100 - integer, allocatable, dimension(:) :: part - - ! Mesh partition - integer :: myDim_nod2D, eDim_nod2D - integer, allocatable, dimension(:) :: myList_nod2D - integer :: myDim_elem2D, eDim_elem2D, eXDim_elem2D - integer, allocatable, dimension(:) :: myList_elem2D - integer :: myDim_edge2D, eDim_edge2D - integer, allocatable, dimension(:) :: myList_edge2D - - integer :: pe_status = 0 ! if /=0 then something is wrong - !!! remPtr_* are constructed during the runtime ans shall not be dumped!!! - integer, allocatable :: remPtr_nod2D(:), remList_nod2D(:) - integer, allocatable :: remPtr_elem2D(:), remList_elem2D(:) - - logical :: elem_full_flag - contains - procedure WRITE_T_PARTIT - procedure READ_T_PARTIT - generic :: write(unformatted) => WRITE_T_PARTIT - generic :: read(unformatted) => READ_T_PARTIT -END TYPE T_PARTIT -contains - -! Unformatted writing for COM_STRUCT TYPE -subroutine WRITE_T_COM_STRUCT(tstruct, unit, iostat, iomsg) - IMPLICIT NONE - class(COM_STRUCT), intent(in) :: tstruct - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - write(unit, iostat=iostat, iomsg=iomsg) tstruct%rPEnum - call write1d_int_static(tstruct%rPE, unit, iostat, iomsg) - call write1d_int_static(tstruct%rptr, unit, iostat, iomsg) - call write_bin_array(tstruct%rlist, unit, iostat, iomsg) - write(unit, iostat=iostat, iomsg=iomsg) tstruct%sPEnum - call write1d_int_static(tstruct%sPE, unit, iostat, iomsg) - call write1d_int_static(tstruct%sptr, unit, iostat, iomsg) - call write_bin_array(tstruct%slist, unit, iostat, iomsg) - ! req is constructed during the runtime - ! call write_bin_array(tstruct%req, unit, iostat, iomsg) - write(unit, iostat=iostat, iomsg=iomsg) tstruct%nreq -end subroutine WRITE_T_COM_STRUCT - -subroutine READ_T_COM_STRUCT(tstruct, unit, iostat, iomsg) - IMPLICIT NONE - class(COM_STRUCT), intent(inout) :: tstruct - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - read(unit, iostat=iostat, iomsg=iomsg) tstruct%rPEnum - call read1d_int_static(tstruct%rPE, unit, iostat, iomsg) - call read1d_int_static(tstruct%rptr, unit, iostat, iomsg) - call read_bin_array(tstruct%rlist, unit, iostat, iomsg) - read(unit, iostat=iostat, iomsg=iomsg) tstruct%sPEnum - call read1d_int_static(tstruct%sPE, unit, iostat, iomsg) - call read1d_int_static(tstruct%sptr, unit, iostat, iomsg) - call read_bin_array(tstruct%slist, unit, iostat, iomsg) -! req is constructed during the runtime -! call read_bin_array(tstruct%req, unit, iostat, iomsg) - read(unit, iostat=iostat, iomsg=iomsg) tstruct%nreq -end subroutine READ_T_COM_STRUCT - -! Unformatted writing for T_PARTIT -subroutine WRITE_T_PARTIT(partit, unit, iostat, iomsg) - IMPLICIT NONE - class(T_PARTIT), intent(in) :: partit - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - write(unit, iostat=iostat, iomsg=iomsg) partit%com_nod2D - write(unit, iostat=iostat, iomsg=iomsg) partit%com_elem2D - write(unit, iostat=iostat, iomsg=iomsg) partit%com_elem2D_full - - write(unit, iostat=iostat, iomsg=iomsg) partit%npes - write(unit, iostat=iostat, iomsg=iomsg) partit%mype - write(unit, iostat=iostat, iomsg=iomsg) partit%maxPEnum - call write_bin_array(partit%part, unit, iostat, iomsg) - - write(unit, iostat=iostat, iomsg=iomsg) partit%myDim_nod2D - write(unit, iostat=iostat, iomsg=iomsg) partit%eDim_nod2D - call write_bin_array(partit%myList_nod2D, unit, iostat, iomsg) - - write(unit, iostat=iostat, iomsg=iomsg) partit%myDim_elem2D - write(unit, iostat=iostat, iomsg=iomsg) partit%eDim_elem2D - write(unit, iostat=iostat, iomsg=iomsg) partit%eXDim_elem2D - call write_bin_array(partit%myList_elem2D, unit, iostat, iomsg) - - write(unit, iostat=iostat, iomsg=iomsg) partit%myDim_edge2D - write(unit, iostat=iostat, iomsg=iomsg) partit%eDim_edge2D - call write_bin_array(partit%myList_edge2D, unit, iostat, iomsg) - write(unit, iostat=iostat, iomsg=iomsg) partit%pe_status -end subroutine WRITE_T_PARTIT -! Unformatted reading for T_PARTIT -subroutine READ_T_PARTIT(partit, unit, iostat, iomsg) - IMPLICIT NONE - class(T_PARTIT), intent(inout) :: partit - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - read(unit, iostat=iostat, iomsg=iomsg) partit%com_nod2D - read(unit, iostat=iostat, iomsg=iomsg) partit%com_elem2D - read(unit, iostat=iostat, iomsg=iomsg) partit%com_elem2D_full - - read(unit, iostat=iostat, iomsg=iomsg) partit%npes - read(unit, iostat=iostat, iomsg=iomsg) partit%mype - read(unit, iostat=iostat, iomsg=iomsg) partit%maxPEnum - call read_bin_array(partit%part, unit, iostat, iomsg) - - read(unit, iostat=iostat, iomsg=iomsg) partit%myDim_nod2D - read(unit, iostat=iostat, iomsg=iomsg) partit%eDim_nod2D - call read_bin_array(partit%myList_nod2D, unit, iostat, iomsg) - - read(unit, iostat=iostat, iomsg=iomsg) partit%myDim_elem2D - read(unit, iostat=iostat, iomsg=iomsg) partit%eDim_elem2D - read(unit, iostat=iostat, iomsg=iomsg) partit%eXDim_elem2D - call read_bin_array(partit%myList_elem2D, unit, iostat, iomsg) - - read(unit, iostat=iostat, iomsg=iomsg) partit%myDim_edge2D - read(unit, iostat=iostat, iomsg=iomsg) partit%eDim_edge2D - call read_bin_array(partit%myList_edge2D, unit, iostat, iomsg) - read(unit, iostat=iostat, iomsg=iomsg) partit%pe_status -end subroutine READ_T_PARTIT - -end module MOD_PARTIT \ No newline at end of file diff --git a/src/temp/MOD_READ_BINARY_ARRAYS.F90 b/src/temp/MOD_READ_BINARY_ARRAYS.F90 deleted file mode 100644 index 87f0b2389..000000000 --- a/src/temp/MOD_READ_BINARY_ARRAYS.F90 +++ /dev/null @@ -1,118 +0,0 @@ -!========================================================== -! -!------------------------------------------------------------------------------------------ -! useful interface (read_bin_array) for reading arbitary binary arrays into an opened file -MODULE MOD_READ_BINARY_ARRAYS -use o_PARAM -private -public :: read_bin_array, read1d_int_static -INTERFACE read_bin_array - MODULE PROCEDURE read1d_real, read1d_int, read1d_char, read2d_real, read2d_int, read3d_real, read3d_int -END INTERFACE -contains -subroutine read1d_real(arr, unit, iostat, iomsg) - real(kind=WP), intent(inout), allocatable :: arr(:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1 - - read(unit, iostat=iostat, iomsg=iomsg) s1 - if (s1==0) return - allocate(arr(s1)) - read(unit, iostat=iostat, iomsg=iomsg) arr(1:s1) -end subroutine read1d_real - -subroutine read1d_int(arr, unit, iostat, iomsg) - integer, intent(inout), allocatable :: arr(:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1 - - read(unit, iostat=iostat, iomsg=iomsg) s1 - if (s1==0) return - allocate(arr(s1)) - read(unit, iostat=iostat, iomsg=iomsg) arr(1:s1) -end subroutine read1d_int - -subroutine read1d_char(arr, unit, iostat, iomsg) - character, intent(inout), allocatable :: arr(:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1 - - read(unit, iostat=iostat, iomsg=iomsg) s1 - if (s1==0) return - allocate(arr(s1)) - read(unit, iostat=iostat, iomsg=iomsg) arr(1:s1) -end subroutine read1d_char - -subroutine read1d_int_static(arr, unit, iostat, iomsg) - IMPLICIT NONE - integer, intent(inout) :: arr(:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1 - - read(unit, iostat=iostat, iomsg=iomsg) s1 - if (s1==0) return - read(unit, iostat=iostat, iomsg=iomsg) arr(1:s1) -end subroutine read1d_int_static - -subroutine read2d_real(arr, unit, iostat, iomsg) - real(kind=WP), intent(inout), allocatable :: arr(:,:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1, s2 - - read(unit, iostat=iostat, iomsg=iomsg) s1, s2 - if ((s1==0) .or. (s2==0)) return - allocate(arr(s1, s2)) - read(unit, iostat=iostat, iomsg=iomsg) arr(1:s1, 1:s2) -end subroutine read2d_real - -subroutine read2d_int(arr, unit, iostat, iomsg) - integer, intent(inout), allocatable :: arr(:,:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1, s2 - - read(unit, iostat=iostat, iomsg=iomsg) s1, s2 - if ((s1==0) .or. (s2==0)) return - allocate(arr(s1, s2)) - read(unit, iostat=iostat, iomsg=iomsg) arr(1:s1, 1:s2) -end subroutine read2d_int - -subroutine read3d_real(arr, unit, iostat, iomsg) - real(kind=WP), intent(inout), allocatable :: arr(:,:,:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1, s2, s3 - - read(unit, iostat=iostat, iomsg=iomsg) s1, s2, s3 - if ((s1==0) .or. (s2==0) .or. (s3==0)) return - allocate(arr(s1,s2,s3)) - read(unit, iostat=iostat, iomsg=iomsg) arr(1:s1, 1:s2, 1:s3) -end subroutine read3d_real - -subroutine read3d_int(arr, unit, iostat, iomsg) - integer, intent(inout), allocatable :: arr(:,:,:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1, s2, s3 - - read(unit, iostat=iostat, iomsg=iomsg) s1, s2, s3 - if ((s1==0) .or. (s2==0) .or. (s3==0)) return - allocate(arr(s1,s2,s3)) - read(unit, iostat=iostat, iomsg=iomsg) arr(1:s1, 1:s2, 1:s3) -end subroutine read3d_int -end module MOD_READ_BINARY_ARRAYS -!========================================================== - diff --git a/src/temp/MOD_TRACER.F90 b/src/temp/MOD_TRACER.F90 deleted file mode 100644 index 8e8247830..000000000 --- a/src/temp/MOD_TRACER.F90 +++ /dev/null @@ -1,228 +0,0 @@ -!========================================================== -MODULE MOD_TRACER -USE O_PARAM -USE, intrinsic :: ISO_FORTRAN_ENV -USE MOD_WRITE_BINARY_ARRAYS -USE MOD_READ_BINARY_ARRAYS -IMPLICIT NONE -SAVE - -TYPE T_TRACER_DATA -real(kind=WP), allocatable, dimension(:,:) :: values, valuesAB ! instant values & Adams-Bashfort interpolation -logical :: smooth_bh_tra=.false. -real(kind=WP) :: gamma0_tra, gamma1_tra, gamma2_tra -logical :: i_vert_diff =.false. -character(20) :: tra_adv_hor, tra_adv_ver, tra_adv_lim ! type of the advection scheme for this tracer -real(kind=WP) :: tra_adv_ph = 1. ! a parameter to be used in horizontal advection (for MUSCL it is the fraction of fourth-order contribution in the solution) -real(kind=WP) :: tra_adv_pv = 1. ! a parameter to be used in horizontal advection (for QR4C it is the fraction of fourth-order contribution in the solution) -integer :: ID - -contains - procedure WRITE_T_TRACER_DATA - procedure READ_T_TRACER_DATA - generic :: write(unformatted) => WRITE_T_TRACER_DATA - generic :: read(unformatted) => READ_T_TRACER_DATA -END TYPE T_TRACER_DATA - - -TYPE T_TRACER_WORK -!auxuary arrays to work with tracers: -real(kind=WP), allocatable :: del_ttf(:,:) -real(kind=WP), allocatable :: del_ttf_advhoriz(:,:),del_ttf_advvert(:,:) -!_______________________________________________________________________________ -! in case ldiag_DVD=.true. --> calculate discrete variance decay (DVD) -real(kind=WP), allocatable :: tr_dvd_horiz(:,:,:), tr_dvd_vert(:,:,:) -! The fct part -real(kind=WP),allocatable,dimension(:,:) :: fct_LO ! Low-order solution -real(kind=WP),allocatable,dimension(:,:) :: adv_flux_hor ! Antidif. horiz. contrib. from edges / backup for iterafive fct scheme -real(kind=WP),allocatable,dimension(:,:) :: adv_flux_ver ! Antidif. vert. fluxes from nodes / backup for iterafive fct scheme - -real(kind=WP),allocatable,dimension(:,:) :: fct_ttf_max,fct_ttf_min -real(kind=WP),allocatable,dimension(:,:) :: fct_plus,fct_minus -! MUSCL type reconstruction -integer,allocatable,dimension(:) :: nboundary_lay -integer,allocatable,dimension(:,:) :: edge_up_dn_tri -real(kind=WP),allocatable,dimension(:,:,:) :: edge_up_dn_grad - -contains - procedure WRITE_T_TRACER_WORK - procedure READ_T_TRACER_WORK - generic :: write(unformatted) => WRITE_T_TRACER_WORK - generic :: read(unformatted) => READ_T_TRACER_WORK -END TYPE T_TRACER_WORK - -! auxury type for reading namelist.tra -TYPE NML_TRACER_LIST_TYPE - INTEGER :: ID =-1 - CHARACTER(len=4) :: adv_hor ='NONE' - CHARACTER(len=4) :: adv_ver ='NONE' - CHARACTER(len=4) :: adv_lim ='NONE' - REAL(kind=WP) :: adv_ph =1. - REAL(kind=WP) :: adv_pv =1. -END TYPE NML_TRACER_LIST_TYPE - -TYPE T_TRACER -! total number of tracers: -integer :: num_tracers=2 -type(t_tracer_data), allocatable :: data(:) -type(t_tracer_work) :: work -! general options for all tracers (can be moved to T_TRACER is needed) -! bharmonic diffusion for tracers. We recommend to use this option in very high resolution runs (Redi is generally off there). -logical :: smooth_bh_tra = .false. -real(kind=WP) :: gamma0_tra = 0.0005 -real(kind=WP) :: gamma1_tra = 0.0125 -real(kind=WP) :: gamma2_tra = 0. -logical :: i_vert_diff = .true. - -contains -procedure WRITE_T_TRACER -procedure READ_T_TRACER -generic :: write(unformatted) => WRITE_T_TRACER -generic :: read(unformatted) => READ_T_TRACER -END TYPE T_TRACER - -contains - -! Unformatted writing for T_TRACER_DATA -subroutine WRITE_T_TRACER_DATA(tdata, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER_DATA), intent(in) :: tdata - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - call write_bin_array(tdata%values, unit, iostat, iomsg) - call write_bin_array(tdata%valuesAB, unit, iostat, iomsg) - write(unit, iostat=iostat, iomsg=iomsg) tdata%smooth_bh_tra - write(unit, iostat=iostat, iomsg=iomsg) tdata%gamma0_tra - write(unit, iostat=iostat, iomsg=iomsg) tdata%gamma1_tra - write(unit, iostat=iostat, iomsg=iomsg) tdata%gamma2_tra - write(unit, iostat=iostat, iomsg=iomsg) tdata%i_vert_diff - write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_hor - write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ver - write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_lim - write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ph - write(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_pv - write(unit, iostat=iostat, iomsg=iomsg) tdata%ID -end subroutine WRITE_T_TRACER_DATA - -! Unformatted reading for T_TRACER_DATA -subroutine READ_T_TRACER_DATA(tdata, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER_DATA), intent(inout) :: tdata - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - call read_bin_array(tdata%values, unit, iostat, iomsg) - call read_bin_array(tdata%valuesAB, unit, iostat, iomsg) - read(unit, iostat=iostat, iomsg=iomsg) tdata%smooth_bh_tra - read(unit, iostat=iostat, iomsg=iomsg) tdata%gamma0_tra - read(unit, iostat=iostat, iomsg=iomsg) tdata%gamma1_tra - read(unit, iostat=iostat, iomsg=iomsg) tdata%gamma2_tra - read(unit, iostat=iostat, iomsg=iomsg) tdata%i_vert_diff - read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_hor - read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ver - read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_lim - read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_ph - read(unit, iostat=iostat, iomsg=iomsg) tdata%tra_adv_pv - read(unit, iostat=iostat, iomsg=iomsg) tdata%ID -end subroutine READ_T_TRACER_DATA - -! Unformatted writing for T_TRACER_WORK -subroutine WRITE_T_TRACER_WORK(twork, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER_WORK), intent(in) :: twork - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - call write_bin_array(twork%del_ttf, unit, iostat, iomsg) - call write_bin_array(twork%del_ttf_advhoriz, unit, iostat, iomsg) - call write_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) - call write_bin_array(twork%tr_dvd_horiz, unit, iostat, iomsg) - call write_bin_array(twork%tr_dvd_vert, unit, iostat, iomsg) - call write_bin_array(twork%fct_LO, unit, iostat, iomsg) - call write_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) - call write_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) - call write_bin_array(twork%fct_ttf_max, unit, iostat, iomsg) - call write_bin_array(twork%fct_ttf_min, unit, iostat, iomsg) - call write_bin_array(twork%fct_plus, unit, iostat, iomsg) - call write_bin_array(twork%fct_minus, unit, iostat, iomsg) - call write_bin_array(twork%nboundary_lay, unit, iostat, iomsg) - call write_bin_array(twork%edge_up_dn_tri, unit, iostat, iomsg) - call write_bin_array(twork%edge_up_dn_grad, unit, iostat, iomsg) -end subroutine WRITE_T_TRACER_WORK - -! Unformatted reading for T_TRACER_WORK -subroutine READ_T_TRACER_WORK(twork, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER_WORK), intent(inout) :: twork - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - - call read_bin_array(twork%del_ttf, unit, iostat, iomsg) - call read_bin_array(twork%del_ttf_advhoriz, unit, iostat, iomsg) - call read_bin_array(twork%del_ttf_advvert, unit, iostat, iomsg) - call read_bin_array(twork%tr_dvd_horiz, unit, iostat, iomsg) - call read_bin_array(twork%tr_dvd_vert, unit, iostat, iomsg) - call read_bin_array(twork%fct_LO, unit, iostat, iomsg) - call read_bin_array(twork%adv_flux_hor, unit, iostat, iomsg) - call read_bin_array(twork%adv_flux_ver, unit, iostat, iomsg) - call read_bin_array(twork%fct_ttf_max, unit, iostat, iomsg) - call read_bin_array(twork%fct_ttf_min, unit, iostat, iomsg) - call read_bin_array(twork%fct_plus, unit, iostat, iomsg) - call read_bin_array(twork%fct_minus, unit, iostat, iomsg) - call read_bin_array(twork%nboundary_lay, unit, iostat, iomsg) - call read_bin_array(twork%edge_up_dn_tri, unit, iostat, iomsg) - call read_bin_array(twork%edge_up_dn_grad, unit, iostat, iomsg) -end subroutine READ_T_TRACER_WORK - -! Unformatted writing for T_TRACER -subroutine WRITE_T_TRACER(tracer, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER), intent(in) :: tracer - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: i - - write(unit, iostat=iostat, iomsg=iomsg) tracer%num_tracers - do i=1, tracer%num_tracers - write(unit, iostat=iostat, iomsg=iomsg) tracer%data(i) - end do - write(unit, iostat=iostat, iomsg=iomsg) tracer%work - write(unit, iostat=iostat, iomsg=iomsg) tracer%smooth_bh_tra - write(unit, iostat=iostat, iomsg=iomsg) tracer%gamma0_tra - write(unit, iostat=iostat, iomsg=iomsg) tracer%gamma1_tra - write(unit, iostat=iostat, iomsg=iomsg) tracer%gamma2_tra - write(unit, iostat=iostat, iomsg=iomsg) tracer%i_vert_diff -end subroutine WRITE_T_TRACER - -! Unformatted reading for T_TRACER -subroutine READ_T_TRACER(tracer, unit, iostat, iomsg) - IMPLICIT NONE - class(T_TRACER), intent(inout) :: tracer - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: i - - read(unit, iostat=iostat, iomsg=iomsg) tracer%num_tracers -! write(*,*) 'number of tracers to read: ', tracer%num_tracers - allocate(tracer%data(tracer%num_tracers)) - do i=1, tracer%num_tracers - read(unit, iostat=iostat, iomsg=iomsg) tracer%data(i) -! write(*,*) 'tracer info:', tracer%data(i)%ID, TRIM(tracer%data(i)%tra_adv_hor), TRIM(tracer%data(i)%tra_adv_ver), TRIM(tracer%data(i)%tra_adv_lim) - end do - read(unit, iostat=iostat, iomsg=iomsg) tracer%work - read(unit, iostat=iostat, iomsg=iomsg) tracer%smooth_bh_tra - read(unit, iostat=iostat, iomsg=iomsg) tracer%gamma0_tra - read(unit, iostat=iostat, iomsg=iomsg) tracer%gamma1_tra - read(unit, iostat=iostat, iomsg=iomsg) tracer%gamma2_tra - read(unit, iostat=iostat, iomsg=iomsg) tracer%i_vert_diff -end subroutine READ_T_TRACER -end module MOD_TRACER -!========================================================== - diff --git a/src/temp/MOD_WRITE_BINARY_ARRAYS.F90 b/src/temp/MOD_WRITE_BINARY_ARRAYS.F90 deleted file mode 100644 index 4f03b5cea..000000000 --- a/src/temp/MOD_WRITE_BINARY_ARRAYS.F90 +++ /dev/null @@ -1,160 +0,0 @@ -!========================================================== -! -!------------------------------------------------------------------------------------------ -! useful interface (write_bin_array) for writing arbitary binary arrays into an opened file -MODULE MOD_WRITE_BINARY_ARRAYS -use o_PARAM -private -public :: write_bin_array, write1d_int_static -INTERFACE write_bin_array - MODULE PROCEDURE write1d_real, write1d_int, write1d_char, write2d_real, write2d_int, write3d_real, write3d_int -END INTERFACE -contains - -subroutine write1d_real(arr, unit, iostat, iomsg) - real(kind=WP), intent(in), allocatable :: arr(:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1 - - if (allocated(arr)) then - s1=size(arr, 1) - write(unit, iostat=iostat, iomsg=iomsg) s1 - write(unit, iostat=iostat, iomsg=iomsg) arr(1:s1) - else - s1=0 - write(unit, iostat=iostat, iomsg=iomsg) s1 - end if -end subroutine write1d_real - -subroutine write1d_int(arr, unit, iostat, iomsg) - integer, intent(in), allocatable :: arr(:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1 - - if (allocated(arr)) then - s1=size(arr, 1) - write(unit, iostat=iostat, iomsg=iomsg) s1 - write(unit, iostat=iostat, iomsg=iomsg) arr(1:s1) - else - s1=0 - write(unit, iostat=iostat, iomsg=iomsg) s1 - end if -end subroutine write1d_int - -subroutine write1d_char(arr, unit, iostat, iomsg) - character, intent(in), allocatable :: arr(:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1 - - if (allocated(arr)) then - s1=size(arr, 1) - write(unit, iostat=iostat, iomsg=iomsg) s1 - write(unit, iostat=iostat, iomsg=iomsg) arr(1:s1) - else - s1=0 - write(unit, iostat=iostat, iomsg=iomsg) s1 - end if -end subroutine write1d_char - -subroutine write1d_int_static(arr, unit, iostat, iomsg) - IMPLICIT NONE - integer, intent(in) :: arr(:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1 - - s1=size(arr, 1) - write(unit, iostat=iostat, iomsg=iomsg) s1 - write(unit, iostat=iostat, iomsg=iomsg) arr(1:s1) -end subroutine write1d_int_static - -subroutine write2d_real(arr, unit, iostat, iomsg) - real(kind=WP), intent(in), allocatable :: arr(:,:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1, s2 - - if (allocated(arr)) then - s1=size(arr, 1) - s2=size(arr, 2) - write(unit, iostat=iostat, iomsg=iomsg) s1, s2 - write(unit, iostat=iostat, iomsg=iomsg) arr(1:s1, 1:s2) - else - s1=0 - s2=0 - write(unit, iostat=iostat, iomsg=iomsg) s1, s2 - end if -end subroutine write2d_real - -subroutine write2d_int(arr, unit, iostat, iomsg) - integer, intent(in), allocatable :: arr(:,:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1, s2 - - if (allocated(arr)) then - s1=size(arr, 1) - s2=size(arr, 2) - write(unit, iostat=iostat, iomsg=iomsg) s1, s2 - write(unit, iostat=iostat, iomsg=iomsg) arr(1:s1, 1:s2) - else - s1=0 - s2=0 - write(unit, iostat=iostat, iomsg=iomsg) s1, s2 - end if -end subroutine write2d_int - - -subroutine write3d_real(arr, unit, iostat, iomsg) - real(kind=WP), intent(in), allocatable :: arr(:,:,:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1, s2, s3 - - if (allocated(arr)) then - s1=size(arr, 1) - s2=size(arr, 2) - s3=size(arr, 3) - write(unit, iostat=iostat, iomsg=iomsg) s1, s2, s3 - write(unit, iostat=iostat, iomsg=iomsg) arr(1:s1, 1:s2, 1:s3) - else - s1=0 - s2=0 - s3=0 - write(unit, iostat=iostat, iomsg=iomsg) s1, s2, s3 - end if -end subroutine write3d_real - -subroutine write3d_int(arr, unit, iostat, iomsg) - integer, intent(in), allocatable :: arr(:,:,:) - integer, intent(in) :: unit - integer, intent(out) :: iostat - character(*), intent(inout) :: iomsg - integer :: s1, s2, s3 - - if (allocated(arr)) then - s1=size(arr, 1) - s2=size(arr, 2) - s3=size(arr, 3) - write(unit, iostat=iostat, iomsg=iomsg) s1, s2, s3 - write(unit, iostat=iostat, iomsg=iomsg) arr(1:s1, 1:s2, 1:s3) - else - s1=0 - s2=0 - s3=0 - write(unit, iostat=iostat, iomsg=iomsg) s1, s2, s3 - end if -end subroutine write3d_int -end module MOD_WRITE_BINARY_ARRAYS -!========================================================== - diff --git a/src/temp/gen_halo_exchange.F90 b/src/temp/gen_halo_exchange.F90 deleted file mode 100755 index 7b9f66e6b..000000000 --- a/src/temp/gen_halo_exchange.F90 +++ /dev/null @@ -1,2381 +0,0 @@ -! ======================================================================== -! Halo exchange routines + broadcast routines that collect information -! on the entire field (needed for output) -! The routines here are very similar, difference is the data type and -! exchange pattern. -! exchange_nod2D_i(arr(myDim_nod2D+eDim_nod2D)) INTEGER -! exchange_nod2D(arr(myDim_nod2D+eDim_nod2D)) WP -! exchange_nod3D(arr(nl-1,myDim_nod2D+eDim_nod2D)) WP -! exchange_nod3D_full(arr(nl,myDim_nod2D+eDim_nod2D)) WP -! exchange_edge2D(edge_array2D) WP not used currently !!! no buffer!!! -! exchange_edge3D(edge_array3D) WP not used currently !!! no buffer!!! -! exchange_elem3D(elem_array3D) WP -! exchange_elem2d_full -! exchange_elem2d_full_i -! ======================================================================== - -module g_comm - - use, intrinsic :: ISO_FORTRAN_ENV - - implicit none - -contains - -#ifdef DEBUG -! General version of the communication routine for 2D nodal fields -! Only needed in debug mode -subroutine check_mpi_comm(rn, sn, r_mpitype, s_mpitype, rPE, sPE, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer, intent(in) :: sn, rn, r_mpitype(:), s_mpitype(:), rPE(:), sPE(:) -integer :: n, sdebug, rdebug, status(MPI_STATUS_SIZE), request -#include "associate_part_def.h" -#include "associate_part_ass.h" -DO n=1,rn - CALL MPI_TYPE_SIZE(r_mpitype(n), rdebug, MPIerr) - CALL MPI_ISEND(rdebug, 1, MPI_INTEGER, rPE(n), 10, MPI_COMM_FESOM, request, MPIerr) -END DO -DO n=1, sn - call MPI_RECV(sdebug, 1, MPI_INTEGER, sPE(n), 10, MPI_COMM_FESOM, & - status, MPIerr) - call MPI_TYPE_SIZE(s_mpitype(n), rdebug, MPIerr) - if (sdebug /= rdebug) then - print *, "Mismatching MPI send/recieve message lengths." - print *,"Send/receive process numbers: ", mype, '/', sPE(n) - print *,"Number of send/receive bytes: ", sdebug, '/', rdebug - call MPI_ABORT( MPI_COMM_FESOM, 1 ) - end if -END DO -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -END SUBROUTINE check_mpi_comm -#endif - - -subroutine exchange_nod2D_i(nod_array2D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer, intent(inout) :: nod_array2D(:) -#include "associate_part_def.h" -#include "associate_part_ass.h" -if (npes > 1) then - call exchange_nod2D_i_begin(nod_array2D, partit) - call exchange_nod_end(partit) -endif -END SUBROUTINE exchange_nod2D_i - -!============================================================================= -! General version of the communication routine for 2D nodal fields -subroutine exchange_nod2D_i_begin(nod_array2D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer, intent(inout) :: nod_array2D(:) -integer :: n, sn, rn -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes > 1) then - - sn=com_nod2D%sPEnum - rn=com_nod2D%rPEnum - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_nod2D_i, s_mpitype_nod2D_i, & - com_nod2D%rPE, com_nod2D%sPE) -#endif - - DO n=1,rn - - call MPI_IRECV(nod_array2D, 1, r_mpitype_nod2D_i(n), com_nod2D%rPE(n), & - com_nod2D%rPE(n), MPI_COMM_FESOM, com_nod2D%req(n), MPIerr) - END DO - - DO n=1, sn - - call MPI_ISEND(nod_array2D, 1, s_mpitype_nod2D_i(n), com_nod2D%sPE(n), & - mype, MPI_COMM_FESOM, com_nod2D%req(rn+n), MPIerr) - END DO - - com_nod2D%nreq = rn+sn - - endif -END SUBROUTINE exchange_nod2D_i_begin - -! ======================================================================== -! General version of the communication routine for 2D nodal fields -subroutine exchange_nod2D(nod_array2D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod_array2D(:) -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes > 1) then - call exchange_nod2D_begin(nod_array2D, partit) - call exchange_nod_end(partit) - end if - -END SUBROUTINE exchange_nod2D - -! ======================================================================== -! General version of the communication routine for 2D nodal fields -subroutine exchange_nod2D_begin(nod_array2D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod_array2D(:) -integer :: n, sn, rn -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes > 1) then - - sn=com_nod2D%sPEnum - rn=com_nod2D%rPEnum - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_nod2D, s_mpitype_nod2D, & - com_nod2D%rPE, com_nod2D%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(nod_array2D, 1, r_mpitype_nod2D(n), com_nod2D%rPE(n), & - com_nod2D%rPE(n), MPI_COMM_FESOM, com_nod2D%req(n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(nod_array2D, 1, s_mpitype_nod2D(n), com_nod2D%sPE(n), & - mype, MPI_COMM_FESOM, com_nod2D%req(rn+n), MPIerr) - END DO - - com_nod2D%nreq = rn+sn - - end if - -END SUBROUTINE exchange_nod2D_begin -!=============================================== -! General version of the communication routine for 2D nodal fields -subroutine exchange_nod2D_2fields(nod1_array2D, nod2_array2D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod1_array2D(:) -real(real64), intent(inout) :: nod2_array2D(:) -#include "associate_part_def.h" -#include "associate_part_ass.h" - - - if (npes > 1) then - call exchange_nod2D_2fields_begin(nod1_array2D, nod2_array2D, partit) - call exchange_nod_end(partit) - end if - -END SUBROUTINE exchange_nod2D_2fields - -! ======================================================================== -! General version of the communication routine for 2D nodal fields -subroutine exchange_nod2D_2fields_begin(nod1_array2D, nod2_array2D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod1_array2D(:) -real(real64), intent(inout) :: nod2_array2D(:) -integer :: n, sn, rn -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes > 1) then - - sn=com_nod2D%sPEnum - rn=com_nod2D%rPEnum - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_nod2D, s_mpitype_nod2D, & - com_nod2D%rPE, com_nod2D%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(nod1_array2D, 1, r_mpitype_nod2D(n), com_nod2D%rPE(n), & - com_nod2D%rPE(n), MPI_COMM_FESOM, com_nod2D%req(2*n-1), MPIerr) - - call MPI_IRECV(nod2_array2D, 1, r_mpitype_nod2D(n), com_nod2D%rPE(n), & - com_nod2D%rPE(n)+npes, MPI_COMM_FESOM, com_nod2D%req(2*n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(nod1_array2D, 1, s_mpitype_nod2D(n), com_nod2D%sPE(n), & - mype, MPI_COMM_FESOM, com_nod2D%req(2*rn+2*n-1), MPIerr) - - call MPI_ISEND(nod2_array2D, 1, s_mpitype_nod2D(n), com_nod2D%sPE(n), & - mype+npes, MPI_COMM_FESOM, com_nod2D%req(2*rn+2*n), MPIerr) - END DO - - com_nod2D%nreq = 2*(rn+sn) - -end if - -END SUBROUTINE exchange_nod2D_2fields_begin - -!=============================================== -subroutine exchange_nod2D_3fields(nod1_array2D, nod2_array2D, nod3_array2D, partit) -! General version of the communication routine for 2D nodal fields -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod1_array2D(:) -real(real64), intent(inout) :: nod2_array2D(:) -real(real64), intent(inout) :: nod3_array2D(:) -#include "associate_part_def.h" -#include "associate_part_ass.h" - - - if (npes > 1) then - call exchange_nod2D_3fields_begin(nod1_array2D, nod2_array2D, nod3_array2D, partit) - call exchange_nod_end(partit) - end if - -END SUBROUTINE exchange_nod2D_3fields - -! ======================================================================== -subroutine exchange_nod2D_3fields_begin(nod1_array2D, nod2_array2D, nod3_array2D, partit) -! General version of the communication routine for 2D nodal fields -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod1_array2D(:) -real(real64), intent(inout) :: nod2_array2D(:) -real(real64), intent(inout) :: nod3_array2D(:) -integer :: n, sn, rn -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes > 1) then - - sn=com_nod2D%sPEnum - rn=com_nod2D%rPEnum - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_nod2D, s_mpitype_nod2D, & - com_nod2D%rPE, com_nod2D%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(nod1_array2D, 1, r_mpitype_nod2D(n), com_nod2D%rPE(n), & - com_nod2D%rPE(n), MPI_COMM_FESOM, com_nod2D%req(3*n-2), MPIerr) - - call MPI_IRECV(nod2_array2D, 1, r_mpitype_nod2D(n), com_nod2D%rPE(n), & - com_nod2D%rPE(n)+npes, MPI_COMM_FESOM, com_nod2D%req(3*n-1), MPIerr) - - call MPI_IRECV(nod3_array2D, 1, r_mpitype_nod2D(n), com_nod2D%rPE(n), & - com_nod2D%rPE(n)+2*npes, MPI_COMM_FESOM, com_nod2D%req(3*n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(nod1_array2D, 1, s_mpitype_nod2D(n), com_nod2D%sPE(n), & - mype, MPI_COMM_FESOM, com_nod2D%req(3*rn+3*n-2), MPIerr) - - call MPI_ISEND(nod2_array2D, 1, s_mpitype_nod2D(n), com_nod2D%sPE(n), & - mype+npes, MPI_COMM_FESOM, com_nod2D%req(3*rn+3*n-1), MPIerr) - - call MPI_ISEND(nod3_array2D, 1, s_mpitype_nod2D(n), com_nod2D%sPE(n), & - mype+2*npes, MPI_COMM_FESOM, com_nod2D%req(3*rn+3*n), MPIerr) - END DO - - com_nod2D%nreq = 3*(rn+sn) - -end if - -END SUBROUTINE exchange_nod2D_3fields_begin - -! ======================================================================== -! General version of the communication routine for 3D nodal fields -! stored in (vertical, horizontal) format -subroutine exchange_nod3D(nod_array3D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod_array3D(:,:) - -if (partit%npes > 1) then - call exchange_nod3D_begin(nod_array3D, partit) - call exchange_nod_end(partit) -endif - -END SUBROUTINE exchange_nod3D - -! ======================================================================== -! General version of the communication routine for 3D nodal fields -! stored in (vertical, horizontal) format -subroutine exchange_nod3D_begin(nod_array3D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod_array3D(:,:) -integer :: n, sn, rn -integer :: nz, nl1 -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes > 1) then - sn=com_nod2D%sPEnum - rn=com_nod2D%rPEnum - - nl1=ubound(nod_array3D,1) - - if ((nl1ubound(r_mpitype_nod3D, 2))) then - if (mype==0) then - print *,'Subroutine exchange_nod3D not implemented for',nl1,'layers.' - print *,'Adding the MPI datatypes is easy, see oce_modules.F90.' - endif - call par_ex(partit, 1) - endif - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_nod3D(:,nl1,1), s_mpitype_nod3D(:,nl1,1), & - com_nod2D%rPE, com_nod2D%sPE) -#endif - DO n=1,rn - call MPI_IRECV(nod_array3D, 1, r_mpitype_nod3D(n,nl1,1), com_nod2D%rPE(n), & - com_nod2D%rPE(n), MPI_COMM_FESOM, com_nod2D%req(n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(nod_array3D, 1, s_mpitype_nod3D(n,nl1,1), com_nod2D%sPE(n), & - mype, MPI_COMM_FESOM, com_nod2D%req(rn+n), MPIerr) - END DO - com_nod2D%nreq = rn+sn - - endif -END SUBROUTINE exchange_nod3D_begin - -! ======================================================================== -! General version of the communication routine for 3D nodal fields -! stored in (vertical, horizontal) format -subroutine exchange_nod3D_2fields(nod1_array3D,nod2_array3D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod1_array3D(:,:) -real(real64), intent(inout) :: nod2_array3D(:,:) -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes > 1) then - call exchange_nod3D_2fields_begin(nod1_array3D,nod2_array3D, partit) - call exchange_nod_end(partit) -endif -END SUBROUTINE exchange_nod3D_2fields - -! ======================================================================== -subroutine exchange_nod3D_2fields_begin(nod1_array3D,nod2_array3D, partit) -! General version of the communication routine for 3D nodal fields -! stored in (vertical, horizontal) format -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod1_array3D(:,:) -real(real64), intent(inout) :: nod2_array3D(:,:) -integer :: n, sn, rn -integer :: nz, nl1, nl2 -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes > 1) then - sn=com_nod2D%sPEnum - rn=com_nod2D%rPEnum - - nl1 = ubound(nod1_array3D,1) - - if ((nl1ubound(r_mpitype_nod3D, 2))) then - if (mype==0) then - print *,'Subroutine exchange_nod3D not implemented for',nl1,'layers.' - print *,'Adding the MPI datatypes is easy, see oce_modules.F90.' - endif - call par_ex(1) - endif - - nl2 = ubound(nod2_array3D,1) - if ((nl2ubound(r_mpitype_nod3D, 2))) then - if (mype==0) then - print *,'Subroutine exchange_nod3D not implemented for',nl2,'layers.' - print *,'Adding the MPI datatypes is easy, see oce_modules.F90.' - endif - call par_ex(1) - endif - -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_nod3D(:,nl1,1), s_mpitype_nod3D(:,nl1,1), & - com_nod2D%rPE, com_nod2D%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(nod1_array3D, 1, r_mpitype_nod3D(n,nl1,1), com_nod2D%rPE(n), & - com_nod2D%rPE(n), MPI_COMM_FESOM, com_nod2D%req(2*n-1), MPIerr) - - call MPI_IRECV(nod2_array3D, 1, r_mpitype_nod3D(n,nl2,1), com_nod2D%rPE(n), & - com_nod2D%rPE(n)+npes, MPI_COMM_FESOM, com_nod2D%req(2*n ), MPIerr) - END DO - - DO n=1, sn - call MPI_ISEND(nod1_array3D, 1, s_mpitype_nod3D(n,nl1,1), com_nod2D%sPE(n), & - mype, MPI_COMM_FESOM, com_nod2D%req(2*rn+2*n-1), MPIerr) - - call MPI_ISEND(nod2_array3D, 1, s_mpitype_nod3D(n,nl2,1), com_nod2D%sPE(n), & - mype+npes, MPI_COMM_FESOM, com_nod2D%req(2*rn+2*n), MPIerr) - END DO - - com_nod2D%nreq = 2*(rn+sn) - - endif -END SUBROUTINE exchange_nod3D_2fields_begin -! ======================================================================== -subroutine exchange_nod3D_n(nod_array3D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod_array3D(:,:,:) -if (partit%npes>1) then - call exchange_nod3D_n_begin(nod_array3D, partit) - call exchange_nod_end(partit) -endif - -END SUBROUTINE exchange_nod3D_n - -!================================================= -! General version of the communication routine for 3D nodal fields -! stored in (vertical, horizontal) format -subroutine exchange_nod3D_n_begin(nod_array3D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: nod_array3D(:,:,:) -integer :: n, sn, rn -integer :: nz, nl1, n_val -#include "associate_part_def.h" -#include "associate_part_ass.h" -if (npes>1) then - ! nod_array3D(n_val,nl1,nod2D_size) - nl1 = ubound(nod_array3D,2) - n_val = ubound(nod_array3D,1) - if ((nl1ubound(r_mpitype_nod3D, 2)) .or. (n_val > 3)) then - ! This routine also works for swapped dimensions nod_array3D(nl1,n_val, nod2D_size) - nl1 = ubound(nod_array3D,1) - n_val = ubound(nod_array3D,2) - - if ((nl1ubound(r_mpitype_nod3D, 2)) .or. (n_val > 3)) then - if (mype==0) then - print *,'Subroutine exchange_nod3D_n not implemented for' - print *,nl1,'layers and / or ',n_val,'values per element.' - print *,'Adding the MPI datatypes is easy, see oce_modules.F90.' - endif - call par_ex(1) - endif - endif - sn=com_nod2D%sPEnum - rn=com_nod2D%rPEnum - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_nod3D(:,nl1,n_val), & - s_mpitype_nod3D(:,nl1,n_val), com_nod2D%rPE, com_nod2D%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(nod_array3D, 1, r_mpitype_nod3D(n,nl1,n_val), com_nod2D%rPE(n), & - com_nod2D%rPE(n), MPI_COMM_FESOM, com_nod2D%req(n), MPIerr) - END DO - - DO n=1, sn - call MPI_ISEND(nod_array3D, 1, s_mpitype_nod3D(n,nl1,n_val), com_nod2D%sPE(n), & - mype, MPI_COMM_FESOM, com_nod2D%req(rn+n), MPIerr) - END DO - - com_nod2D%nreq = rn+sn - - endif - - -END SUBROUTINE exchange_nod3D_n_begin - -!======================================= -! AND WAITING -!======================================= - -SUBROUTINE exchange_nod_end(partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit - -if (partit%npes > 1) & - call MPI_WAITALL(partit%com_nod2D%nreq, partit%com_nod2D%req, MPI_STATUSES_IGNORE, partit%MPIerr) - -END SUBROUTINE exchange_nod_end - -SUBROUTINE exchange_elem_end(partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes > 1) then - if (elem_full_flag) then - call MPI_WAITALL(com_elem2D_full%nreq, & - com_elem2D_full%req, MPI_STATUSES_IGNORE, MPIerr) - else - call MPI_WAITALL(com_elem2D%nreq, & - com_elem2D%req, MPI_STATUSES_IGNORE, MPIerr) - endif - end if -END SUBROUTINE exchange_elem_end -!============================================================================= -subroutine exchange_elem3D(elem_array3D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: elem_array3D(:,:) -#include "associate_part_def.h" -#include "associate_part_ass.h" - -call exchange_elem3D_begin(elem_array3D, partit) -call exchange_elem_end(partit) - -END SUBROUTINE exchange_elem3D -!=========================================== -! General version of the communication routine for 3D elemental fields -! stored in (vertical, horizontal) format -subroutine exchange_elem3D_begin(elem_array3D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: elem_array3D(:,:) -integer :: n, sn, rn, nl1 -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then - - nl1=ubound(elem_array3D,1) - - if (ubound(elem_array3D,2)<=myDim_elem2D+eDim_elem2D) then - - elem_full_flag = .false. - - sn=com_elem2D%sPEnum - rn=com_elem2D%rPEnum - - if (nl1==ubound(r_mpitype_elem3D, 2) .or. nl1==ubound(r_mpitype_elem3D, 2)-1) then - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_elem3D(:,nl1,1), s_mpitype_elem3D(:,nl1,1), & - com_elem2D%rPE, com_elem2D%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(elem_array3D, 1, r_mpitype_elem3D(n,nl1,1), com_elem2D%rPE(n), & - com_elem2D%rPE(n), MPI_COMM_FESOM, & - com_elem2D%req(n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(elem_array3D, 1, s_mpitype_elem3D(n,nl1,1), com_elem2D%sPE(n), & - mype, MPI_COMM_FESOM, & - com_elem2D%req(rn+n), MPIerr) - END DO - - elseif (nl1 <= 4) then - ! In fact, this is a 2D-array with up to 4 values, e.g. derivatives - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_elem2D(:,nl1), s_mpitype_elem2D(:,nl1), & - com_elem2D%rPE, com_elem2D%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(elem_array3D, 1, r_mpitype_elem2D(n,nl1), com_elem2D%rPE(n), & - com_elem2D%rPE(n), MPI_COMM_FESOM, & - com_elem2D%req(n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(elem_array3D, 1, s_mpitype_elem2D(n,nl1), com_elem2D%sPE(n), & - mype, MPI_COMM_FESOM, & - com_elem2D%req(rn+n), MPIerr) - END DO - else - if (mype==0) print *,'Sorry, no MPI datatype prepared for',nl1,'values per element (exchange_elem3D)' - call par_ex(1) - endif - - com_elem2D%nreq = rn+sn - - else - - elem_full_flag = .true. - - sn=com_elem2D_full%sPEnum - rn=com_elem2D_full%rPEnum - - if (nl1==ubound(r_mpitype_elem3D_full, 2) .or. nl1==ubound(r_mpitype_elem3D_full, 2)-1) then - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_elem3D_full(:,nl1,1), & - s_mpitype_elem3D_full(:,nl1,1), com_elem2D_full%rPE, com_elem2D_full%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(elem_array3D, 1, r_mpitype_elem3D_full(n,nl1,1), & - com_elem2D_full%rPE(n), & - com_elem2D_full%rPE(n), MPI_COMM_FESOM, & - com_elem2D_full%req(n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(elem_array3D, 1, s_mpitype_elem3D_full(n,nl1,1), & - com_elem2D_full%sPE(n), & - mype, MPI_COMM_FESOM, & - com_elem2D_full%req(rn+n), MPIerr) - END DO - elseif (nl1 <= 4) then - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_elem2D_full(:,nl1), & - s_mpitype_elem2D_full(:,nl1), com_elem2D_full%rPE, com_elem2D_full%sPE) -#endif - - ! In fact, this is a 2D-array with up to 4 values, e.g. derivatives - DO n=1,rn - call MPI_IRECV(elem_array3D, 1, r_mpitype_elem2D_full(n,nl1), & - com_elem2D_full%rPE(n), & - com_elem2D_full%rPE(n), MPI_COMM_FESOM, & - com_elem2D_full%req(n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(elem_array3D, 1, s_mpitype_elem2D_full(n,nl1), & - com_elem2D_full%sPE(n), & - mype, MPI_COMM_FESOM, & - com_elem2D_full%req(rn+n), MPIerr) - END DO - else - if (mype==0) print *,'Sorry, no MPI datatype prepared for',nl1,'values per element (exchange_elem3D)' - call par_ex(1) - endif - - com_elem2D_full%nreq = rn+sn - - endif - -endif - -END SUBROUTINE exchange_elem3D_begin - -!============================================================================= -! General version of the communication routine for 3D elemental fields -! stored in (vertical, horizontal) format -subroutine exchange_elem3D_n(elem_array3D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: elem_array3D(:,:,:) -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes> 1) then - call exchange_elem3D_n_begin(elem_array3D, partit) - call exchange_elem_end(partit) - endif -END SUBROUTINE exchange_elem3D_n -!============================================================================= -subroutine exchange_elem3D_n_begin(elem_array3D, partit) -! General version of the communication routine for 3D elemental fields -! stored in (vertical, horizontal) format -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: elem_array3D(:,:,:) -integer :: n, sn, rn, n_val, nl1 -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes> 1) then - nl1 = ubound(elem_array3D,2) - n_val = ubound(elem_array3D,1) - - if ((nl1ubound(r_mpitype_elem3D, 2)) .or. (n_val > 4)) then - - ! This routine also works for swapped dimensions elem_array3D(nl1,n_val, elem2D_size) - nl1= ubound(elem_array3D,1) - n_val = ubound(elem_array3D,2) - - if ((nl1ubound(r_mpitype_elem3D, 2)) .or. (n_val > 4)) then - if (mype==0) then - print *,'Subroutine exchange_elem3D_n not implemented for' - print *,nl1,'layers and / or ',n_val,'values per element.' - print *,'Adding the MPI datatypes is easy, see oce_modules.F90.' - endif - call par_ex(1) - endif - endif - - if (ubound(elem_array3D,3)<=myDim_elem2D+eDim_elem2D) then - - elem_full_flag = .false. - - sn=com_elem2D%sPEnum - rn=com_elem2D%rPEnum - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_elem3D(:,nl1,n_val), & - s_mpitype_elem3D(:,nl1,n_val), com_elem2D%rPE, com_elem2D%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(elem_array3D, 1, r_mpitype_elem3D(n,nl1,n_val), com_elem2D%rPE(n), & - com_elem2D%rPE(n), MPI_COMM_FESOM, com_elem2D%req(n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(elem_array3D, 1, s_mpitype_elem3D(n,nl1,n_val), com_elem2D%sPE(n), & - mype, MPI_COMM_FESOM, com_elem2D%req(rn+n), MPIerr) - END DO - - com_elem2D%nreq = rn+sn - - else - - elem_full_flag = .true. - - sn=com_elem2D_full%sPEnum - rn=com_elem2D_full%rPEnum - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_elem3D_full(:,nl1,n_val), & - s_mpitype_elem3D_full(:,nl1,n_val), com_elem2D_full%rPE, com_elem2D_full%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(elem_array3D, 1, r_mpitype_elem3D_full(n,nl1,n_val), com_elem2D_full%rPE(n), & - com_elem2D_full%rPE(n), MPI_COMM_FESOM, com_elem2D_full%req(n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(elem_array3D, 1, s_mpitype_elem3D_full(n,nl1,n_val), com_elem2D_full%sPE(n), & - mype, MPI_COMM_FESOM, com_elem2D_full%req(rn+n), MPIerr) - END DO - - com_elem2D_full%nreq = rn+sn - - end if - - -endif -END SUBROUTINE exchange_elem3D_n_begin -!======================================================================== -! General version of the communication routine for 3D elemental fields -! stored in (vertical, horizontal) format -subroutine exchange_elem2D(elem_array2D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: elem_array2D(:) -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes> 1) then - call exchange_elem2D_begin(elem_array2D, partit) - call exchange_elem_end(partit) - end if - -END SUBROUTINE exchange_elem2D -!======================================================================== -! General version of the communication routine for 3D elemental fields -! stored in (vertical, horizontal) format -subroutine exchange_elem2D_begin(elem_array2D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -real(real64), intent(inout) :: elem_array2D(:) -integer :: n, sn, rn -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then - - if (ubound(elem_array2D,1)<=myDim_elem2D+eDim_elem2D) then - - elem_full_flag = .false. - - sn=com_elem2D%sPEnum - rn=com_elem2D%rPEnum - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_elem2D(:,1), s_mpitype_elem2D(:,1), & - com_elem2D%rPE, com_elem2D%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(elem_array2D, 1, r_mpitype_elem2D(n,1), com_elem2D%rPE(n), & - com_elem2D%rPE(n), MPI_COMM_FESOM, com_elem2D%req(n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(elem_array2D, 1, s_mpitype_elem2D(n,1), com_elem2D%sPE(n), & - mype, MPI_COMM_FESOM, com_elem2D%req(rn+n), MPIerr) - END DO - - com_elem2D%nreq = rn+sn - - else - elem_full_flag = .true. - - sn=com_elem2D_full%sPEnum - rn=com_elem2D_full%rPEnum - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_elem2D_full(:,1), s_mpitype_elem2D_full(:,1), & - com_elem2D_full%rPE, com_elem2D_full%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(elem_array2D, 1, r_mpitype_elem2D_full(n,1), com_elem2D_full%rPE(n), & - com_elem2D_full%rPE(n), MPI_COMM_FESOM, com_elem2D_full%req(n), MPIerr) - END DO - DO n=1, sn - call MPI_ISEND(elem_array2D, 1, s_mpitype_elem2D_full(n,1), com_elem2D_full%sPE(n), & - mype, MPI_COMM_FESOM, com_elem2D_full%req(rn+n), MPIerr) - END DO - - com_elem2D_full%nreq = rn+sn - - end if - -end if - -END SUBROUTINE exchange_elem2D_begin -! ======================================================================== -!Exchange with ALL(!) the neighbours -subroutine exchange_elem2D_i(elem_array2D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer, intent(inout) :: elem_array2D(:) -integer :: n, sn, rn -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes> 1) then - call exchange_elem2D_i_begin(elem_array2D, partit) - call exchange_elem_end(partit) -end if - -END SUBROUTINE exchange_elem2D_i -!============================================================================= -!Exchange with ALL(!) the neighbours -subroutine exchange_elem2D_i_begin(elem_array2D, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer, intent(inout) :: elem_array2D(:) -integer :: n, sn, rn -#include "associate_part_def.h" -#include "associate_part_ass.h" - - if (npes> 1) then - - elem_full_flag = .true. - - sn=com_elem2D_full%sPEnum - rn=com_elem2D_full%rPEnum - - ! Check MPI point-to-point communication for consistency -#ifdef DEBUG - call check_mpi_comm(rn, sn, r_mpitype_elem2D_full_i, s_mpitype_elem2D_full_i, & - com_elem2D_full%rPE, com_elem2D_full%sPE) -#endif - - DO n=1,rn - call MPI_IRECV(elem_array2D, 1, r_mpitype_elem2D_full_i(n), com_elem2D_full%rPE(n), & - com_elem2D_full%rPE(n), MPI_COMM_FESOM, com_elem2D_full%req(n), MPIerr) - END DO - - DO n=1, sn - - call MPI_ISEND(elem_array2D, 1, s_mpitype_elem2D_full_i(n), com_elem2D_full%sPE(n), & - mype, MPI_COMM_FESOM, com_elem2D_full%req(rn+n), MPIerr) - END DO - - com_elem2D_full%nreq = rn+sn - -end if - -END SUBROUTINE exchange_elem2D_i_begin -! ======================================================================== -! Broadcast routines -! Many because of different sizes. -! ======================================================================== -subroutine broadcast_nod3D(arr3D, arr3Dglobal, partit) -! Distribute the nodal information available on 0 PE to other PEs -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -INTEGER :: nz, counter,nl1 -integer :: i, n, nTS, sender, status(MPI_STATUS_SIZE) -real(real64) :: arr3D(:,:) -real(real64) :: arr3Dglobal(:,:) -integer :: node_size -INTEGER, ALLOCATABLE, DIMENSION(:) :: irecvbuf -real(real64), ALLOCATABLE, DIMENSION(:) :: sendbuf, recvbuf -#include "associate_part_def.h" -#include "associate_part_ass.h" - -node_size=myDim_nod2D+eDim_nod2D -nl1=ubound(arr3D,1) -IF ( mype == 0 ) THEN - if (npes>1) then - arr3D(:,1:node_size)=arr3Dglobal(:,myList_nod2D(1:node_size)) - end if - DO n = 1, npes-1 - CALL MPI_RECV( nTS, 1, MPI_INTEGER, MPI_ANY_SOURCE, & - 0, MPI_COMM_FESOM, status, MPIerr ) - sender = status(MPI_SOURCE) - ALLOCATE(sendbuf(nTS*nl1), irecvbuf(nTS)) - - CALL MPI_RECV(irecvbuf(1), nTS, MPI_INTEGER, sender, & - 1, MPI_COMM_FESOM, status, MPIerr ) - counter=0 - DO i = 1, nTS - DO nz=1, nl1 - counter=counter+1 - sendbuf(counter) = arr3Dglobal(nz,irecvbuf(i)) - ENDDO - ENDDO - - CALL MPI_SEND(sendbuf(1), nTS*nl1, MPI_DOUBLE_PRECISION, & - sender, 2, MPI_COMM_FESOM, MPIerr ) - - DEALLOCATE(irecvbuf, sendbuf) - ENDDO -ELSE - CALL MPI_SEND( node_size, 1, MPI_INTEGER, 0, 0, MPI_COMM_FESOM, MPIerr ) - CALL MPI_SEND( myList_nod2D(1), node_size, MPI_INTEGER, 0, 1, & - MPI_COMM_FESOM, MPIerr ) - - ALLOCATE(recvbuf(node_size*nl1)) - CALL MPI_RECV( recvbuf(1), node_size*nl1, MPI_DOUBLE_PRECISION, 0, & - 2, MPI_COMM_FESOM, status, MPIerr ) - counter=0 - DO n = 1, node_size - DO nz=1, nl1 - counter=counter+1 - arr3D(nz,n)=recvbuf(counter) - ENDDO - ENDDO - - DEALLOCATE(recvbuf) -ENDIF -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -end subroutine broadcast_nod3D -! -!============================================================================ -! -subroutine broadcast_nod2D(arr2D, arr2Dglobal, partit) -! A 2D version of the previous routine -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(in), target :: partit -real(real64) :: arr2D(:) -real(real64) :: arr2Dglobal(:) -integer :: i, n, nTS, sender, status(MPI_STATUS_SIZE) -INTEGER, ALLOCATABLE, DIMENSION(:) :: irecvbuf -real(real64), ALLOCATABLE, DIMENSION(:) :: sendbuf -integer :: node_size -#include "associate_part_def.h" -#include "associate_part_ass.h" - -node_size=myDim_nod2D+eDim_nod2D - -IF ( mype == 0 ) THEN - if (npes>1) then - arr2D(1:node_size)=arr2Dglobal(myList_nod2D(1:node_size)) - end if - DO n = 1, npes-1 - CALL MPI_RECV( nTS, 1, MPI_INTEGER, MPI_ANY_SOURCE, & - 0, MPI_COMM_FESOM, status, MPIerr ) - sender = status(MPI_SOURCE) - ALLOCATE(sendbuf(nTS), irecvbuf(nTS)) - - CALL MPI_RECV(irecvbuf(1), nTS, MPI_INTEGER, sender, & - 1, MPI_COMM_FESOM, status, MPIerr ) - DO i = 1, nTS - sendbuf(i) = arr2Dglobal(irecvbuf(i)) - ENDDO - - CALL MPI_SEND(sendbuf(1), nTS, MPI_DOUBLE_PRECISION, & - sender, 2, MPI_COMM_FESOM, MPIerr ) - - DEALLOCATE(irecvbuf, sendbuf) - ENDDO -ELSE - CALL MPI_SEND( node_size, 1, MPI_INTEGER, 0, 0, MPI_COMM_FESOM, MPIerr ) - CALL MPI_SEND( myList_nod2D(1), node_size, MPI_INTEGER, 0, 1, & - MPI_COMM_FESOM, MPIerr ) - CALL MPI_RECV( arr2D(1), node_size, MPI_DOUBLE_PRECISION, 0, & - 2, MPI_COMM_FESOM, status, MPIerr ) -ENDIF -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -end subroutine broadcast_nod2D -! -!============================================================================ -! -subroutine broadcast_elem3D(arr3D, arr3Dglobal, partit) -! Distribute the elemental information available on 0 PE to other PEs -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(in), target :: partit -INTEGER :: nz, counter,nl1 -integer :: i, n, nTS, sender, status(MPI_STATUS_SIZE) -real(real64) :: arr3D(:,:) -real(real64) :: arr3Dglobal(:,:) -integer :: elem_size - -INTEGER, ALLOCATABLE, DIMENSION(:) :: irecvbuf -real(real64), ALLOCATABLE, DIMENSION(:) :: sendbuf, recvbuf -#include "associate_part_def.h" -#include "associate_part_ass.h" - -elem_size=myDim_elem2D+eDim_elem2D - -nl1=ubound(arr3D,1) -IF ( mype == 0 ) THEN - if (npes>1) then - arr3D(:,1:elem_size)=arr3Dglobal(:,myList_elem2D(1:elem_size)) - end if - DO n = 1, npes-1 - CALL MPI_RECV( nTS, 1, MPI_INTEGER, MPI_ANY_SOURCE, & - 0, MPI_COMM_FESOM, status, MPIerr ) - sender = status(MPI_SOURCE) - ALLOCATE(sendbuf(nTS*nl1), irecvbuf(nTS)) - - CALL MPI_RECV(irecvbuf(1), nTS, MPI_INTEGER, sender, & - 1, MPI_COMM_FESOM, status, MPIerr ) - counter=0 - DO i = 1, nTS - DO nz=1, nl1 - counter=counter+1 - sendbuf(counter) = arr3Dglobal(nz,irecvbuf(i)) - ENDDO - ENDDO - - CALL MPI_SEND(sendbuf(1), nTS*nl1, MPI_DOUBLE_PRECISION, & - sender, 2, MPI_COMM_FESOM, MPIerr ) - - DEALLOCATE(irecvbuf, sendbuf) - ENDDO -ELSE - CALL MPI_SEND( elem_size, 1, MPI_INTEGER, 0, 0, MPI_COMM_FESOM, MPIerr ) - CALL MPI_SEND( myList_elem2D(1), elem_size, MPI_INTEGER, 0, 1, & - MPI_COMM_FESOM, MPIerr ) - - ALLOCATE(recvbuf(elem_size*nl1)) - CALL MPI_RECV( recvbuf(1), elem_size*nl1, MPI_DOUBLE_PRECISION, 0, & - 2, MPI_COMM_FESOM, status, MPIerr ) - counter=0 - DO n = 1, elem_size - DO nz=1, nl1 - counter=counter+1 - arr3D(nz,n)=recvbuf(counter) - ENDDO - ENDDO - - DEALLOCATE(recvbuf) -ENDIF -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -end subroutine broadcast_elem3D -! -!============================================================================ -! -subroutine broadcast_elem2D(arr2D, arr2Dglobal, partit) -! A 2D version of the previous routine -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(in), target :: partit -integer :: i, n, nTS, sender, status(MPI_STATUS_SIZE) -real(real64) :: arr2D(:) -real(real64) :: arr2Dglobal(:) -integer :: elem_size -INTEGER, ALLOCATABLE, DIMENSION(:) :: irecvbuf -real(real64), ALLOCATABLE, DIMENSION(:) :: sendbuf -#include "associate_part_def.h" -#include "associate_part_ass.h" - -elem_size=myDim_elem2D+eDim_elem2D - -IF ( mype == 0 ) THEN - if (npes>1) then - arr2D(1:elem_size)=arr2Dglobal(myList_elem2D(1:elem_size)) - end if - DO n = 1, npes-1 - CALL MPI_RECV( nTS, 1, MPI_INTEGER, MPI_ANY_SOURCE, & - 0, MPI_COMM_FESOM, status, MPIerr ) - sender = status(MPI_SOURCE) - ALLOCATE(sendbuf(1:nTS), irecvbuf(nTS)) - - CALL MPI_RECV(irecvbuf(1), nTS, MPI_INTEGER, sender, & - 1, MPI_COMM_FESOM, status, MPIerr ) - DO i = 1, nTS - sendbuf(i) = arr2Dglobal(irecvbuf(i)) - ENDDO - - CALL MPI_SEND(sendbuf(1), nTS, MPI_DOUBLE_PRECISION, & - sender, 2, MPI_COMM_FESOM, MPIerr ) - - DEALLOCATE(irecvbuf, sendbuf) - ENDDO -ELSE - CALL MPI_SEND( elem_size, 1, MPI_INTEGER, 0, 0, MPI_COMM_FESOM, MPIerr ) - CALL MPI_SEND( myList_elem2D(1), elem_size, MPI_INTEGER, 0, 1, & - MPI_COMM_FESOM, MPIerr ) - CALL MPI_RECV( arr2D(1), elem_size, MPI_DOUBLE_PRECISION, 0, & - 2, MPI_COMM_FESOM, status, MPIerr ) -ENDIF -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -end subroutine broadcast_elem2D -! -!============================================================================ -! Make nodal information available to master PE -! Use only with 3D arrays stored in (vertical, horizontal) way -subroutine gather_nod3D(arr3D, arr3D_global, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -INTEGER :: nl1 -integer :: n -real(real64) :: arr3D(:,:) -real(real64) :: arr3D_global(:,:) -real(real64), allocatable :: recvbuf(:,:) -integer :: req(partit%npes-1) -integer :: start, n3D -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -nl1=ubound(arr3D,1) - -! Consider MPI-datatypes to recv directly into arr3D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - allocate(recvbuf(nl1,ubound(arr3D_global,2))) - - do n = 1, npes-1 - n3D = (remPtr_nod2D(n+1) - remPtr_nod2D(n))*nl1 - start = remPtr_nod2D(n) - call MPI_IRECV(recvbuf(1,start), n3D, MPI_DOUBLE_PRECISION, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr3D_global(1:nl1,myList_nod2D(1:myDim_nod2D)) = arr3D(1:nl1,1:myDim_nod2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr3D_global(1:nl1, remList_nod2D(1 : remPtr_nod2D(npes)-1)) & - = recvbuf(1:nl1, 1 : remPtr_nod2D(npes)-1) - - deallocate(recvbuf) - - else - arr3D_global(:,:) = arr3D(:,:) - endif - -ELSE - - call MPI_SEND( arr3D, myDim_nod2D*nl1, MPI_DOUBLE_PRECISION, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -end if -end subroutine gather_nod3D -! -!============================================================================ -! -subroutine gather_real4_nod3D(arr3D, arr3D_global, partit) - -! Make nodal information available to master PE -! -! Use only with 3D arrays stored in (vertical, horizontal) way -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -INTEGER :: nl1 -integer :: n -real(real32) :: arr3D(:,:) -real(real32) :: arr3D_global(:,:) -real(real32), allocatable :: recvbuf(:,:) -integer :: req(partit%npes-1) -integer :: start, n3D -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -nl1=ubound(arr3D,1) - -! Consider MPI-datatypes to recv directly into arr3D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - allocate(recvbuf(nl1,ubound(arr3D_global,2))) - - do n = 1, npes-1 - n3D = (remPtr_nod2D(n+1) - remPtr_nod2D(n))*nl1 - start = remPtr_nod2D(n) - call MPI_IRECV(recvbuf(1,start), n3D, MPI_REAL, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr3D_global(1:nl1,myList_nod2D(1:myDim_nod2D)) = arr3D(1:nl1,1:myDim_nod2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr3D_global(1:nl1, remList_nod2D(1 : remPtr_nod2D(npes)-1)) & - = recvbuf(1:nl1, 1 : remPtr_nod2D(npes)-1) - - deallocate(recvbuf) - - else - arr3D_global(:,:) = arr3D(:,:) - endif - -ELSE - - call MPI_SEND( arr3D, myDim_nod2D*nl1, MPI_REAL, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -end if -end subroutine gather_real4_nod3D -!======================================================= - -subroutine gather_int2_nod3D(arr3D, arr3D_global, partit) - -! Make nodal information available to master PE -! -! Use only with 3D arrays stored in (vertical, horizontal) way -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -INTEGER :: nl1 -integer :: n -integer(int16) :: arr3D(:,:) -integer(int16) :: arr3D_global(:,:) -integer(int16), allocatable :: recvbuf(:,:) -integer :: req(partit%npes-1) -integer :: start, n3D -#include "associate_part_def.h" -#include "associate_part_ass.h" - - -if (npes> 1) then -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -nl1=ubound(arr3D,1) - -! Consider MPI-datatypes to recv directly into arr3D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - allocate(recvbuf(nl1,ubound(arr3D_global,2))) - - do n = 1, npes-1 - n3D = (remPtr_nod2D(n+1) - remPtr_nod2D(n))*nl1 - start = remPtr_nod2D(n) - call MPI_IRECV(recvbuf(1,start), n3D, MPI_SHORT, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr3D_global(1:nl1,myList_nod2D(1:myDim_nod2D)) = arr3D(1:nl1,1:myDim_nod2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr3D_global(1:nl1, remList_nod2D(1 : remPtr_nod2D(npes)-1)) & - = recvbuf(1:nl1, 1 : remPtr_nod2D(npes)-1) - - deallocate(recvbuf) - - else - arr3D_global(:,:) = arr3D(:,:) - endif - -ELSE - - call MPI_SEND( arr3D, myDim_nod2D*nl1, MPI_SHORT, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -end if -end subroutine gather_int2_nod3D -!============================================== -subroutine gather_nod2D(arr2D, arr2D_global, partit) -! Make nodal information available to master PE -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer :: n -real(real64) :: arr2D(:) -real(real64) :: arr2D_global(:) -real(real64), allocatable :: recvbuf(:) -integer :: req(partit%npes-1) -integer :: start, n2D -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then - -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -! Consider MPI-datatypes to recv directly into arr2D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - allocate(recvbuf(ubound(arr2D_global,1))) - do n = 1, npes-1 - n2D = remPtr_nod2D(n+1) - remPtr_nod2D(n) - start = remPtr_nod2D(n) - call MPI_IRECV(recvbuf(start), n2D, MPI_DOUBLE_PRECISION, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr2D_global(myList_nod2D(1:myDim_nod2D)) = arr2D(1:myDim_nod2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr2D_global(remList_nod2D(1 : remPtr_nod2D(npes)-1)) & - = recvbuf(1 : remPtr_nod2D(npes)-1) - deallocate(recvbuf) - else - - arr2D_global(:) = arr2D(:) - - endif - -ELSE - - call MPI_SEND( arr2D, myDim_nod2D, MPI_DOUBLE_PRECISION, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -endif -end subroutine gather_nod2D -!============================================== -subroutine gather_real4_nod2D(arr2D, arr2D_global, partit) -! Make nodal information available to master PE -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer :: n -real(real32) :: arr2D(:) -real(real32) :: arr2D_global(:) -real(real32), allocatable :: recvbuf(:) -integer :: req(partit%npes-1) -integer :: start, n2D -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then - -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -! Consider MPI-datatypes to recv directly into arr2D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - allocate(recvbuf(ubound(arr2D_global,1))) - do n = 1, npes-1 - n2D = remPtr_nod2D(n+1) - remPtr_nod2D(n) - start = remPtr_nod2D(n) - call MPI_IRECV(recvbuf(start), n2D, MPI_REAL, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr2D_global(myList_nod2D(1:myDim_nod2D)) = arr2D(1:myDim_nod2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr2D_global(remList_nod2D(1 : remPtr_nod2D(npes)-1)) & - = recvbuf(1 : remPtr_nod2D(npes)-1) - deallocate(recvbuf) - else - - arr2D_global(:) = arr2D(:) - - endif - -ELSE - - call MPI_SEND( arr2D, myDim_nod2D, MPI_REAL, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -endif -end subroutine gather_real4_nod2D - -!============================================== -! Make nodal information available to master PE -subroutine gather_int2_nod2D(arr2D, arr2D_global, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer :: n -integer(int16) :: arr2D(:) -integer(int16) :: arr2D_global(:) -integer(int16), allocatable :: recvbuf(:) -integer :: req(partit%npes-1) -integer :: start, n2D -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then - -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -! Consider MPI-datatypes to recv directly into arr2D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - allocate(recvbuf(ubound(arr2D_global,1))) - do n = 1, npes-1 - n2D = remPtr_nod2D(n+1) - remPtr_nod2D(n) - start = remPtr_nod2D(n) - call MPI_IRECV(recvbuf(start), n2D, MPI_SHORT, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr2D_global(myList_nod2D(1:myDim_nod2D)) = arr2D(1:myDim_nod2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr2D_global(remList_nod2D(1 : remPtr_nod2D(npes)-1)) & - = recvbuf(1 : remPtr_nod2D(npes)-1) - deallocate(recvbuf) - else - - arr2D_global(:) = arr2D(:) - - endif - -ELSE - - call MPI_SEND( arr2D, myDim_nod2D, MPI_SHORT, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -endif -end subroutine gather_int2_nod2D - -!============================================================================ -subroutine gather_elem3D(arr3D, arr3D_global, partit) -! Make element information available to master PE -! -! Use only with 3D arrays stored in (vertical, horizontal) way -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -INTEGER :: nl1 -integer :: n -real(real64) :: arr3D(:,:) -real(real64) :: arr3D_global(:,:) -real(real64), allocatable :: recvbuf(:,:) -integer :: req(partit%npes-1) -integer :: start, e3D, ende, err_alloc -integer :: max_loc_Dim, i, status(MPI_STATUS_SIZE) -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -nl1=ubound(arr3D,1) - -! Consider MPI-datatypes to recv directly into arr3D_global -! (Carefull with duplicate interface elements, coming from two -! PEs at once!) - -IF ( mype == 0 ) THEN - - if (npes>1) then -! - allocate(recvbuf(nl1,remPtr_elem2D(npes))) - - do n = 1, npes-1 - e3D = (remPtr_elem2D(n+1) - remPtr_elem2D(n))*nl1 - start = remPtr_elem2D(n) - call MPI_IRECV(recvbuf(1,start), e3D, MPI_DOUBLE_PRECISION, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr3D_global(1:nl1,myList_elem2D(1:myDim_elem2D)) = arr3D(1:nl1,1:myDim_elem2D) - - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr3D_global(1:nl1, remList_elem2D(1 : remPtr_elem2D(npes)-1)) & - = recvbuf(1:nl1, 1 : remPtr_elem2D(npes)-1) - - deallocate(recvbuf) - - else - arr3D_global(:,:) = arr3D(:,:) - endif - -ELSE - - call MPI_SEND( arr3D, myDim_elem2D*nl1, MPI_DOUBLE_PRECISION, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -endif -end subroutine gather_elem3D - -!=================================================================== -! Make element information available to master PE -! Use only with 3D arrays stored in (vertical, horizontal) way -subroutine gather_real4_elem3D(arr3D, arr3D_global, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -INTEGER :: nl1 -integer :: n -real(real32) :: arr3D(:,:) -real(real32) :: arr3D_global(:,:) -real(real32), allocatable :: recvbuf(:,:) -integer :: req(partit%npes-1) -integer :: start, e3D, ende, err_alloc -integer :: max_loc_Dim, i, status(MPI_STATUS_SIZE) -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -nl1=ubound(arr3D,1) - -! Consider MPI-datatypes to recv directly into arr3D_global -! (Carefull with duplicate interface elements, coming from two -! PEs at once!) - -IF ( mype == 0 ) THEN - - if (npes>1) then -! - allocate(recvbuf(nl1,remPtr_elem2D(npes))) - - do n = 1, npes-1 - e3D = (remPtr_elem2D(n+1) - remPtr_elem2D(n))*nl1 - start = remPtr_elem2D(n) - call MPI_IRECV(recvbuf(1,start), e3D, MPI_REAL, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr3D_global(1:nl1,myList_elem2D(1:myDim_elem2D)) = arr3D(1:nl1,1:myDim_elem2D) - - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr3D_global(1:nl1, remList_elem2D(1 : remPtr_elem2D(npes)-1)) & - = recvbuf(1:nl1, 1 : remPtr_elem2D(npes)-1) - - deallocate(recvbuf) - - else - arr3D_global(:,:) = arr3D(:,:) - endif - -ELSE - - call MPI_SEND( arr3D, myDim_elem2D*nl1, MPI_REAL, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -endif -end subroutine gather_real4_elem3D - - -!=================================================================== -! Make element information available to master PE -! Use only with 3D arrays stored in (vertical, horizontal) way -subroutine gather_int2_elem3D(arr3D, arr3D_global, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -INTEGER :: nl1 -integer :: n -integer(int16) :: arr3D(:,:) -integer(int16) :: arr3D_global(:,:) -integer(int16), allocatable :: recvbuf(:,:) -integer :: req(partit%npes-1) -integer :: start, e3D, ende, err_alloc -integer :: max_loc_Dim, i, status(MPI_STATUS_SIZE) -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -nl1=ubound(arr3D,1) - -! Consider MPI-datatypes to recv directly into arr3D_global -! (Carefull with duplicate interface elements, coming from two -! PEs at once!) - -IF ( mype == 0 ) THEN - - if (npes>1) then -! - allocate(recvbuf(nl1,remPtr_elem2D(npes))) - - do n = 1, npes-1 - e3D = (remPtr_elem2D(n+1) - remPtr_elem2D(n))*nl1 - start = remPtr_elem2D(n) - call MPI_IRECV(recvbuf(1,start), e3D, MPI_SHORT, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr3D_global(1:nl1,myList_elem2D(1:myDim_elem2D)) = arr3D(1:nl1,1:myDim_elem2D) - - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr3D_global(1:nl1, remList_elem2D(1 : remPtr_elem2D(npes)-1)) & - = recvbuf(1:nl1, 1 : remPtr_elem2D(npes)-1) - - deallocate(recvbuf) - - else - arr3D_global(:,:) = arr3D(:,:) - endif - -ELSE - - call MPI_SEND( arr3D, myDim_elem2D*nl1, MPI_SHORT, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -endif -end subroutine gather_int2_elem3D - - -!============================================== -! Make element information available to master PE -subroutine gather_elem2D(arr2D, arr2D_global, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer :: n -real(real64) :: arr2D(:) -real(real64) :: arr2D_global(:) -real(real64), allocatable :: recvbuf(:) -integer :: req(partit%npes-1) -integer :: start, e2D -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -! Consider MPI-datatypes to recv directly into arr2D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - - allocate(recvbuf(remPtr_elem2D(npes))) - - do n = 1, npes-1 - e2D = remPtr_elem2D(n+1) - remPtr_elem2D(n) - start = remPtr_elem2D(n) - call MPI_IRECV(recvbuf(start), e2D, MPI_DOUBLE_PRECISION, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr2D_global(myList_elem2D(1:myDim_elem2D)) = arr2D(1:myDim_elem2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr2D_global(remList_elem2D(1 : remPtr_elem2D(npes)-1)) & - = recvbuf(1 : remPtr_elem2D(npes)-1) - - deallocate(recvbuf) - - else - - arr2D_global(:) = arr2D(:) - - endif - -ELSE - - call MPI_SEND( arr2D, myDim_elem2D, MPI_DOUBLE_PRECISION, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF -end if - -end subroutine gather_elem2D - -!================================================ -! Make element information available to master PE -subroutine gather_real4_elem2D(arr2D, arr2D_global, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer :: n -real(real32) :: arr2D(:) -real(real32) :: arr2D_global(:) -real(real32), allocatable :: recvbuf(:) -integer :: req(partit%npes-1) -integer :: start, e2D -#include "associate_part_def.h" -#include "associate_part_ass.h" - - -if (npes> 1) then -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -! Consider MPI-datatypes to recv directly into arr2D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - - allocate(recvbuf(remPtr_elem2D(npes))) - - do n = 1, npes-1 - e2D = remPtr_elem2D(n+1) - remPtr_elem2D(n) - start = remPtr_elem2D(n) - call MPI_IRECV(recvbuf(start), e2D, MPI_REAL, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr2D_global(myList_elem2D(1:myDim_elem2D)) = arr2D(1:myDim_elem2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr2D_global(remList_elem2D(1 : remPtr_elem2D(npes)-1)) & - = recvbuf(1 : remPtr_elem2D(npes)-1) - - deallocate(recvbuf) - - else - - arr2D_global(:) = arr2D(:) - - endif - -ELSE - - call MPI_SEND( arr2D, myDim_elem2D, MPI_REAL, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF -end if - -end subroutine gather_real4_elem2D - -!================================================ -! Make element information available to master PE -subroutine gather_int2_elem2D(arr2D, arr2D_global, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer :: n -integer(int16) :: arr2D(:) -integer(int16) :: arr2D_global(:) -integer(int16), allocatable :: recvbuf(:) -integer :: req(partit%npes-1) -integer :: start, e2D -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -! Consider MPI-datatypes to recv directly into arr2D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - - allocate(recvbuf(remPtr_elem2D(npes))) - - do n = 1, npes-1 - e2D = remPtr_elem2D(n+1) - remPtr_elem2D(n) - start = remPtr_elem2D(n) - call MPI_IRECV(recvbuf(start), e2D, MPI_SHORT, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr2D_global(myList_elem2D(1:myDim_elem2D)) = arr2D(1:myDim_elem2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr2D_global(remList_elem2D(1 : remPtr_elem2D(npes)-1)) & - = recvbuf(1 : remPtr_elem2D(npes)-1) - - deallocate(recvbuf) - - else - - arr2D_global(:) = arr2D(:) - - endif - -ELSE - - call MPI_SEND( arr2D, myDim_elem2D, MPI_SHORT, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF -end if - -end subroutine gather_int2_elem2D - - -!============================================================================ -! Make nodal information available to master PE -! Use only with 3D arrays stored in (vertical, horizontal) way -subroutine gather_real8to4_nod3D(arr3D, arr3D_global, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -INTEGER :: nl1 -integer :: n -real(real64) :: arr3D(:,:) -real(real32) :: arr3D_global(:,:) -integer :: req(partit%npes-1) -integer :: start, n3D, ierr -real(real32), allocatable :: recvbuf(:,:) -real(real32), allocatable :: sendbuf(:,:) -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then - -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -nl1=ubound(arr3D,1) - -! Consider MPI-datatypes to recv directly into arr3D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - allocate(recvbuf(nl1, ubound(arr3D_global,2))) - - do n = 1, npes-1 - n3D = (remPtr_nod2D(n+1) - remPtr_nod2D(n))*nl1 - start = remPtr_nod2D(n) - call MPI_IRECV(recvbuf(1,start), n3D, MPI_REAL, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr3D_global(1:nl1,myList_nod2D(1:myDim_nod2D)) = arr3D(1:nl1,1:myDim_nod2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr3D_global(1:nl1, remList_nod2D(1 : remPtr_nod2D(npes)-1)) & - = recvbuf(1:nl1, 1 : remPtr_nod2D(npes)-1) - - deallocate(recvbuf) - - else - arr3D_global(:,:) = arr3D(:,:) - endif - -ELSE - - allocate(sendbuf(nl1,myDim_nod2D)) - sendbuf(1:nl1,1:myDim_nod2D) = arr3D(1:nl1,1:myDim_nod2D) - - call MPI_SEND(sendbuf, myDim_nod2D*nl1, MPI_REAL, 0, 2, MPI_COMM_FESOM, MPIerr ) - deallocate(sendbuf) - -ENDIF - -end if - -end subroutine gather_real8to4_nod3D -!============================================== -! Make nodal information available to master PE -subroutine gather_real8to4_nod2D(arr2D, arr2D_global, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer :: n -real(real64) :: arr2D(:) -real(real32) :: arr2D_global(:) -real(real32) :: sendbuf(partit%myDim_nod2D) -real(real64), allocatable :: recvbuf(:) -integer :: req(partit%npes-1) -integer :: start, n2D -#include "associate_part_def.h" -#include "associate_part_ass.h" - -! Consider MPI-datatypes to recv directly into arr2D_global! - - if (npes> 1) then -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -IF ( mype == 0 ) THEN - - if (npes>1) then - allocate(recvbuf(ubound(arr2D_global,1))) - do n = 1, npes-1 - n2D = remPtr_nod2D(n+1) - remPtr_nod2D(n) - start = remPtr_nod2D(n) - call MPI_IRECV(recvbuf(start), n2D, MPI_REAL, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr2D_global(myList_nod2D(1:myDim_nod2D)) = arr2D(1:myDim_nod2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr2D_global(remList_nod2D(1 : remPtr_nod2D(npes)-1)) & - = recvbuf(1 : remPtr_nod2D(npes)-1) - deallocate(recvbuf) - else - - arr2D_global(:) = arr2D(:) - - endif - -ELSE - sendbuf(1:myDim_nod2D) = real(arr2D(1:myDim_nod2D),real32) - - call MPI_SEND(sendbuf, myDim_nod2D, MPI_REAL, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -end if -end subroutine gather_real8to4_nod2D -!============================================================================ -subroutine gather_real8to4_elem3D(arr3D, arr3D_global, partit) -! Make element information available to master PE -! Use only with 3D arrays stored in (vertical, horizontal) way -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -INTEGER :: nl1 -integer :: n -real(real64) :: arr3D(:,:) -real(real32) :: arr3D_global(:,:) -integer :: req(partit%npes-1) -integer :: start, e3D -real(real32), allocatable :: recvbuf(:,:) -real(real32), allocatable :: sendbuf(:,:) -#include "associate_part_def.h" -#include "associate_part_ass.h" - - -if (npes> 1) then -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -nl1=ubound(arr3D,1) - -! Consider MPI-datatypes to recv directly into arr3D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - allocate(recvbuf(nl1,remPtr_elem2D(npes))) - - do n = 1, npes-1 - e3D = (remPtr_elem2D(n+1) - remPtr_elem2D(n))*nl1 - start = remPtr_elem2D(n) - call MPI_IRECV(recvbuf(1,start), e3D, MPI_REAL, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr3D_global(1:nl1,myList_elem2D(1:myDim_elem2D)) = arr3D(1:nl1,1:myDim_elem2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr3D_global(1:nl1, remList_elem2D(1 : remPtr_elem2D(npes)-1)) & - = recvbuf(1:nl1, 1 : remPtr_elem2D(npes)-1) - - deallocate(recvbuf) - - else - arr3D_global(:,:) = arr3D(:,:) - endif - -ELSE - allocate(sendbuf(nl1,myDim_elem2D)) - sendbuf(1:nl1,1:myDim_elem2D) = arr3D(1:nl1,1:myDim_elem2D) - - call MPI_SEND(sendbuf, myDim_elem2D*nl1, MPI_REAL, 0, 2, MPI_COMM_FESOM, MPIerr ) - deallocate(sendbuf) -ENDIF - -end if -end subroutine gather_real8to4_elem3D -!================================================ -! Make element information available to master PE -subroutine gather_real8to4_elem2D(arr2D, arr2D_global, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer :: n -real(real64) :: arr2D(:) -real(real32) :: arr2D_global(:) -real(real32), allocatable :: recvbuf(:) -real(real32) :: sendbuf(partit%myDim_elem2D) -integer :: req(partit%npes-1) -integer :: start, e2D -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then - -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -! Consider MPI-datatypes to recv directly into arr2D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - allocate(recvbuf(remPtr_elem2D(npes))) - - do n = 1, npes-1 - e2D = remPtr_elem2D(n+1) - remPtr_elem2D(n) - start = remPtr_elem2D(n) - call MPI_IRECV(recvbuf(start), e2D, MPI_REAL, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr2D_global(myList_elem2D(1:myDim_elem2D)) = arr2D(1:myDim_elem2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr2D_global(remList_elem2D(1 : remPtr_elem2D(npes)-1)) & - = recvbuf(1 : remPtr_elem2D(npes)-1) - - deallocate(recvbuf) - - else - - arr2D_global(:) = arr2D(:) - - endif - -ELSE - - sendbuf(1:myDim_elem2D) = real(arr2D(1:myDim_elem2D),real32) - call MPI_SEND(sendbuf, myDim_elem2D, MPI_REAL, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -end if -end subroutine gather_real8to4_elem2D -!============================================== -subroutine gather_elem2D_i(arr2D, arr2D_global, partit) -! Make element information available to master PE -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer :: n -integer :: arr2D(:) -integer :: arr2D_global(:) -integer, allocatable :: recvbuf(:) -integer :: req(partit%npes-1) -integer :: start, e2D -#include "associate_part_def.h" -#include "associate_part_ass.h" - - -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - ! Consider MPI-datatypes to recv directly into arr2D_global! - IF ( mype == 0 ) THEN - if (npes > 1) then - allocate(recvbuf(remPtr_elem2D(npes))) - do n = 1, npes-1 - e2D = remPtr_elem2D(n+1) - remPtr_elem2D(n) - start = remPtr_elem2D(n) - call MPI_IRECV(recvbuf(start), e2D, MPI_INTEGER, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - arr2D_global(myList_elem2D(1:myDim_elem2D)) = arr2D(1:myDim_elem2D) - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - arr2D_global(remList_elem2D(1 : remPtr_elem2D(npes)-1)) & - = recvbuf(1 : remPtr_elem2D(npes)-1) - deallocate(recvbuf) - else - arr2D_global(:) = arr2D(:) - endif - ELSE - call MPI_SEND(arr2D, myDim_elem2D, MPI_INTEGER, 0, 2, MPI_COMM_FESOM, MPIerr ) - ENDIF -end subroutine gather_elem2D_i -!============================================== -! Make nodal information available to master PE -subroutine gather_nod2D_i(arr2D, arr2D_global, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer :: n -integer :: arr2D(:) -integer :: arr2D_global(:) -integer, allocatable :: recvbuf(:) -integer :: req(partit%npes-1) -integer :: start, n2D -#include "associate_part_def.h" -#include "associate_part_ass.h" - -if (npes> 1) then - -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) - -! Consider MPI-datatypes to recv directly into arr2D_global! - -IF ( mype == 0 ) THEN - - if (npes>1) then - allocate(recvbuf(ubound(arr2D_global, 1))) - do n = 1, npes-1 - n2D = remPtr_nod2D(n+1) - remPtr_nod2D(n) - start = remPtr_nod2D(n) - call MPI_IRECV(recvbuf(start), n2D, MPI_INTEGER, n, 2, MPI_COMM_FESOM, req(n), MPIerr) - enddo - - arr2D_global(myList_nod2D(1:myDim_nod2D)) = arr2D(1:myDim_nod2D) - - call MPI_WAITALL(npes-1, req, MPI_STATUSES_IGNORE, MPIerr) - - arr2D_global(remList_nod2D(1 : remPtr_nod2D(npes)-1)) & - = recvbuf(1 : remPtr_nod2D(npes)-1) - deallocate(recvbuf) - else - - arr2D_global(:) = arr2D(:) - - endif - -ELSE - - call MPI_SEND( arr2D, myDim_nod2D, MPI_INTEGER, 0, 2, MPI_COMM_FESOM, MPIerr ) - -ENDIF - -endif -end subroutine gather_nod2D_i -!============================================================================ -! A 2D version of the previous routine -subroutine gather_edg2D(arr2D, arr2Dglobal, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(in), target :: partit -real(real64) :: arr2D(:) -real(real64) :: arr2Dglobal(:) -integer :: i, n, buf_size, sender, status(MPI_STATUS_SIZE) -INTEGER, ALLOCATABLE, DIMENSION(:) :: ibuf -REAL(real64), ALLOCATABLE, DIMENSION(:) :: rbuf -#include "associate_part_def.h" -#include "associate_part_ass.h" - -IF ( mype == 0 ) THEN - arr2Dglobal(myList_edge2D(1:myDim_edge2D))=arr2D(1:myDim_edge2D) - DO n = 1, npes-1 - CALL MPI_RECV( buf_size, 1, MPI_INTEGER, MPI_ANY_SOURCE, & - 0, MPI_COMM_FESOM, status, MPIerr ) - sender = status(MPI_SOURCE) - ALLOCATE(rbuf(buf_size), ibuf(buf_size)) - - CALL MPI_RECV(ibuf(1), buf_size, MPI_INTEGER, sender, & - 1, MPI_COMM_FESOM, status, MPIerr ) - - CALL MPI_RECV(rbuf(1), buf_size, MPI_DOUBLE_PRECISION, sender, & - 2, MPI_COMM_FESOM, status, MPIerr ) - arr2Dglobal(ibuf)=rbuf - DEALLOCATE(ibuf, rbuf) - ENDDO -ELSE - CALL MPI_SEND( myDim_edge2D, 1, MPI_INTEGER, 0, 0, MPI_COMM_FESOM, MPIerr ) - CALL MPI_SEND( myList_edge2D(1), myDim_edge2D, MPI_INTEGER, 0, 1, & - MPI_COMM_FESOM, MPIerr ) - CALL MPI_SEND( arr2D(1), myDim_edge2D, MPI_DOUBLE_PRECISION, 0, 2,& - MPI_COMM_FESOM, MPIerr ) -ENDIF -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -end subroutine gather_edg2D -! -!============================================================================ -! A 2D version of the previous routine -subroutine gather_edg2D_i(arr2D, arr2Dglobal, partit) -use MOD_MESH -use MOD_PARTIT -IMPLICIT NONE -type(t_partit), intent(inout), target :: partit -integer :: arr2D(:) -integer :: arr2Dglobal(:) -integer :: i, n, buf_size, sender, status(MPI_STATUS_SIZE) -INTEGER, ALLOCATABLE, DIMENSION(:) :: ibuf, vbuf -#include "associate_part_def.h" -#include "associate_part_ass.h" - -IF ( mype == 0 ) THEN - arr2Dglobal(myList_edge2D(1:myDim_edge2D))=arr2D(1:myDim_edge2D) - DO n = 1, npes-1 - CALL MPI_RECV( buf_size, 1, MPI_INTEGER, MPI_ANY_SOURCE, & - 0, MPI_COMM_FESOM, status, MPIerr ) - sender = status(MPI_SOURCE) - ALLOCATE(ibuf(buf_size), vbuf(buf_size)) - - CALL MPI_RECV(ibuf(1), buf_size, MPI_INTEGER, sender, & - 1, MPI_COMM_FESOM, status, MPIerr ) - - CALL MPI_RECV(vbuf(1), buf_size, MPI_INTEGER, sender, & - 2, MPI_COMM_FESOM, status, MPIerr ) - arr2Dglobal(ibuf)=vbuf - DEALLOCATE(ibuf, vbuf) - ENDDO -ELSE - CALL MPI_SEND( myDim_edge2D, 1, MPI_INTEGER, 0, 0, MPI_COMM_FESOM, MPIerr ) - CALL MPI_SEND( myList_edge2D(1), myDim_edge2D, MPI_INTEGER, 0, 1, & - MPI_COMM_FESOM, MPIerr ) - CALL MPI_SEND( arr2D(1), myDim_edge2D, MPI_INTEGER, 0, 2,& - MPI_COMM_FESOM, MPIerr ) -ENDIF -CALL MPI_BARRIER(MPI_COMM_FESOM,MPIerr) -end subroutine gather_edg2D_i -!============================================== - -end module g_comm - - - -module g_comm_auto -use g_comm -implicit none -interface exchange_nod - module procedure exchange_nod2D - module procedure exchange_nod2D_i - module procedure exchange_nod2D_2fields - module procedure exchange_nod2D_3fields - module procedure exchange_nod3D - module procedure exchange_nod3D_2fields - module procedure exchange_nod3D_n -end interface exchange_nod - -interface exchange_nod_begin - module procedure exchange_nod2D_begin - module procedure exchange_nod2D_i_begin - module procedure exchange_nod2D_2fields_begin - module procedure exchange_nod2D_3fields_begin - module procedure exchange_nod3D_begin - module procedure exchange_nod3D_2fields_begin - module procedure exchange_nod3D_n_begin -end interface exchange_nod_begin - -!!$interface exchange_edge -!!$ module procedure exchange_edge2D -!!$! module procedure exchange_edge3D ! not available, not used -!!$end interface exchange_edge - -interface exchange_elem - module procedure exchange_elem3D - module procedure exchange_elem3D_n - module procedure exchange_elem2d - module procedure exchange_elem2d_i -end interface exchange_elem - -interface exchange_elem_begin - module procedure exchange_elem3D_begin - module procedure exchange_elem3D_n_begin - module procedure exchange_elem2d_begin - module procedure exchange_elem2d_i_begin -end interface exchange_elem_begin - - -interface broadcast_nod - module procedure broadcast_nod3D - module procedure broadcast_nod2D -end interface broadcast_nod - -interface broadcast_elem - module procedure broadcast_elem3D - module procedure broadcast_elem2D -end interface broadcast_elem - -interface gather_nod - module procedure gather_nod3D - module procedure gather_nod2D - module procedure gather_real4_nod3D - module procedure gather_real4_nod2D - module procedure gather_int2_nod3D - module procedure gather_int2_nod2D - module procedure gather_real8to4_nod3D - module procedure gather_real8to4_nod2D - module procedure gather_nod2D_i -end interface gather_nod - -interface gather_elem - module procedure gather_elem3D - module procedure gather_elem2D - module procedure gather_real4_elem3D - module procedure gather_real4_elem2D - module procedure gather_int2_elem3D - module procedure gather_int2_elem2D - module procedure gather_real8to4_elem3D - module procedure gather_real8to4_elem2D - module procedure gather_elem2D_i -end interface gather_elem - -interface gather_edge - module procedure gather_edg2D - module procedure gather_edg2D_i -end interface gather_edge - - -private ! hides items not listed on public statement -public :: exchange_nod,exchange_elem,broadcast_nod,broadcast_elem, & - gather_nod, gather_elem, exchange_nod_begin, exchange_nod_end, exchange_elem_begin, & - exchange_elem_end, gather_edge -end module g_comm_auto diff --git a/src/temp/gen_modules_partitioning.F90 b/src/temp/gen_modules_partitioning.F90 deleted file mode 100644 index cc7d3c080..000000000 --- a/src/temp/gen_modules_partitioning.F90 +++ /dev/null @@ -1,508 +0,0 @@ -module par_support_interfaces - interface - subroutine par_init(partit) - USE o_PARAM - USE MOD_PARTIT - implicit none - type(t_partit), intent(inout), target :: partit - end subroutine - - subroutine par_ex(partit, abort) - USE MOD_PARTIT - implicit none - type(t_partit), intent(inout), target :: partit - integer,optional :: abort - end subroutine - - subroutine set_par_support(partit, mesh) - use MOD_MESH - use MOD_PARTIT - implicit none - type(t_partit), intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - end subroutine - - subroutine init_gatherLists(partit, mesh) - USE MOD_MESH - USE MOD_PARTIT - implicit none - type(t_mesh), intent(in), target :: mesh - type(t_partit), intent(inout), target :: partit - end subroutine - end interface -end module - -subroutine par_init(partit) ! initializes MPI - USE o_PARAM - USE MOD_PARTIT - implicit none - type(t_partit), intent(inout), target :: partit - integer :: i - integer :: provided_mpi_thread_support_level - character(:), allocatable :: provided_mpi_thread_support_level_name - -#ifndef __oasis - call MPI_Comm_Size(MPI_COMM_WORLD,partit%npes,i) - call MPI_Comm_Rank(MPI_COMM_WORLD,partit%mype,i) - partit%MPI_COMM_FESOM=MPI_COMM_WORLD -#else - call MPI_Comm_Size(MPI_COMM_FESOM,partit%npes,i) - call MPI_Comm_Rank(MPI_COMM_FESOM,partit%mype,i) -#endif - - if(partit%mype==0) then - call MPI_Query_thread(provided_mpi_thread_support_level, i) - if(provided_mpi_thread_support_level == MPI_THREAD_SINGLE) then - provided_mpi_thread_support_level_name = "MPI_THREAD_SINGLE" - else if(provided_mpi_thread_support_level == MPI_THREAD_FUNNELED) then - provided_mpi_thread_support_level_name = "MPI_THREAD_FUNNELED" - else if(provided_mpi_thread_support_level == MPI_THREAD_SERIALIZED) then - provided_mpi_thread_support_level_name = "MPI_THREAD_SERIALIZED" - else if(provided_mpi_thread_support_level == MPI_THREAD_MULTIPLE) then - provided_mpi_thread_support_level_name = "MPI_THREAD_MULTIPLE" - else - provided_mpi_thread_support_level_name = "unknown" - end if - write(*,*) 'MPI has been initialized, provided MPI thread support level: ', & - provided_mpi_thread_support_level_name,provided_mpi_thread_support_level - write(*, *) 'Running on ', partit%npes, ' PEs' - end if -end subroutine par_init -!================================================================= -subroutine par_ex(partit, abort) ! finalizes MPI -USE MOD_PARTIT -#ifndef __oifs -!For standalone and coupled ECHAM runs -#if defined (__oasis) - use mod_prism -#endif - implicit none - type(t_partit), intent(inout), target :: partit - integer,optional :: abort - -#ifndef __oasis - if (present(abort)) then - if (partit%mype==0) write(*,*) 'Run finished unexpectedly!' - call MPI_ABORT(partit%MPI_COMM_FESOM, 1 ) - else - call MPI_Barrier(partit%MPI_COMM_FESOM,partit%MPIerr) - call MPI_Finalize(partit%MPIerr) - endif -#else - if (.not. present(abort)) then - if (partit%mype==0) print *, 'FESOM calls MPI_Barrier before calling prism_terminate' - call MPI_Barrier(MPI_COMM_WORLD, partit%MPIerr) - end if - call prism_terminate_proto(MPIerr) - if (partit%mype==0) print *, 'FESOM calls MPI_Barrier before calling MPI_Finalize' - call MPI_Barrier(MPI_COMM_WORLD, partit%MPIerr) - - if (partit%mype==0) print *, 'FESOM calls MPI_Finalize' - call MPI_Finalize(MPIerr) -#endif - if (partit%mype==0) print *, 'fesom should stop with exit status = 0' -#endif -#if defined (__oifs) -!OIFS coupling doesnt call prism_terminate_proto and uses MPI_COMM_FESOM - implicit none - integer,optional :: abort - if (present(abort)) then - if (partit%mype==0) write(*,*) 'Run finished unexpectedly!' - call MPI_ABORT( partit%MPI_COMM_FESOM, 1 ) - else - call MPI_Barrier(partit%MPI_COMM_FESOM,partit%MPIerr) - call MPI_Finalize(partit%MPIerr) - endif -#endif - -end subroutine par_ex -!======================================================================= -subroutine set_par_support(partit, mesh) - use MOD_MESH - use MOD_PARTIT - implicit none - - type(t_partit), intent(inout), target :: partit - type(t_mesh), intent(in), target :: mesh - integer :: n, offset - integer :: i, max_nb, nb, nini, nend, nl1, n_val - integer, allocatable :: blocklen(:), displace(:) - integer, allocatable :: blocklen_tmp(:), displace_tmp(:) - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - ! - ! In the distributed memory version, most of the job is already done - ! at the initialization phase and is taken into account in read_mesh - ! routine. Here, MPI datatypes are built and buffers for MPI wait requests - ! are allocated. - - if (npes > 1) then - -!================================================ -! MPI REQUEST BUFFERS -!================================================ - if (.not. allocated(com_nod2D%req)) allocate(com_nod2D%req( 3*com_nod2D%rPEnum + 3*com_nod2D%sPEnum)) - if (.not. allocated(com_elem2D%req)) allocate(com_elem2D%req( 3*com_elem2D%rPEnum + 3*com_elem2D%sPEnum)) - if (.not. allocated(com_elem2D_full%req)) allocate(com_elem2D_full%req(3*com_elem2D_full%rPEnum + 3*com_elem2D_full%sPEnum)) -!================================================ -! MPI DATATYPES -!================================================ - ! Build MPI Data types for halo exchange: Elements - allocate(partit%r_mpitype_elem2D(com_elem2D%rPEnum,4)) ! 2D, small halo - allocate(partit%s_mpitype_elem2D(com_elem2D%sPEnum,4)) - allocate(partit%r_mpitype_elem2D_full_i(com_elem2D_full%rPEnum)) ! 2D, wide halo, integer - allocate(partit%s_mpitype_elem2D_full_i(com_elem2D_full%sPEnum)) - allocate(partit%r_mpitype_elem2D_full(com_elem2D_full%rPEnum,4)) ! 2D, wide halo - allocate(partit%s_mpitype_elem2D_full(com_elem2D_full%sPEnum,4)) - allocate(partit%r_mpitype_elem3D(com_elem2D%rPEnum, nl-1:nl,4)) ! 3D, small halo - allocate(partit%s_mpitype_elem3D(com_elem2D%sPEnum, nl-1:nl,4)) - allocate(partit%r_mpitype_elem3D_full(com_elem2D_full%rPEnum, nl-1:nl,4)) ! 3D, wide halo - allocate(partit%s_mpitype_elem3D_full(com_elem2D_full%sPEnum, nl-1:nl,4)) -!after the allocation we just reassotiate ALL pointers again here -#include "associate_part_ass.h" - ! Upper limit for the length of the local interface between the neighbor PEs - max_nb = max( & - maxval(com_elem2D%rptr(2:com_elem2D%rPEnum+1) - com_elem2D%rptr(1:com_elem2D%rPEnum)), & - maxval(com_elem2D%sptr(2:com_elem2D%sPEnum+1) - com_elem2D%sptr(1:com_elem2D%sPEnum)), & - maxval(com_elem2D_full%rptr(2:com_elem2D_full%rPEnum+1) - com_elem2D_full%rptr(1:com_elem2D_full%rPEnum)), & - maxval(com_elem2D_full%sptr(2:com_elem2D_full%sPEnum+1) - com_elem2D_full%sptr(1:com_elem2D_full%sPEnum))) - - allocate(displace(max_nb), blocklen(max_nb)) - allocate(displace_tmp(max_nb), blocklen_tmp(max_nb)) - - - do n=1,com_elem2D%rPEnum - nb = 1 - nini = com_elem2D%rptr(n) - nend = com_elem2D%rptr(n+1) - 1 - displace(:) = 0 - displace(1) = com_elem2D%rlist(nini) -1 ! C counting, start at 0 - blocklen(:) = 1 - do i=nini+1, nend - if (com_elem2D%rlist(i) /= com_elem2D%rlist(i-1) + 1) then - ! New block - nb = nb+1 - displace(nb) = com_elem2D%rlist(i) -1 - else - blocklen(nb) = blocklen(nb)+1 - endif - enddo - - DO n_val=1,4 - - blocklen_tmp(1:nb) = blocklen(1:nb)*n_val - displace_tmp(1:nb) = displace(1:nb)*n_val - - call MPI_TYPE_INDEXED(nb, blocklen_tmp, displace_tmp, MPI_DOUBLE_PRECISION, & - r_mpitype_elem2D(n,n_val), MPIerr) - - call MPI_TYPE_COMMIT(r_mpitype_elem2D(n,n_val), MPIerr) - - DO nl1=nl-1, nl - - blocklen_tmp(1:nb) = blocklen(1:nb)*n_val*nl1 - displace_tmp(1:nb) = displace(1:nb)*n_val*nl1 - - call MPI_TYPE_INDEXED(nb, blocklen_tmp, displace_tmp, MPI_DOUBLE_PRECISION, & - r_mpitype_elem3D(n,nl1,n_val), MPIerr) - - call MPI_TYPE_COMMIT(r_mpitype_elem3D(n,nl1,n_val), MPIerr) - ENDDO - ENDDO - enddo - - do n=1,com_elem2D%sPEnum - nb = 1 - nini = com_elem2D%sptr(n) - nend = com_elem2D%sptr(n+1) - 1 - displace(:) = 0 - displace(1) = com_elem2D%slist(nini) -1 ! C counting, start at 0 - blocklen(:) = 1 - do i=nini+1, nend - if (com_elem2D%slist(i) /= com_elem2D%slist(i-1) + 1) then - ! New block - nb = nb+1 - displace(nb) = com_elem2D%slist(i) -1 - else - blocklen(nb) = blocklen(nb)+1 - endif - enddo - - DO n_val=1,4 - - blocklen_tmp(1:nb) = blocklen(1:nb)*n_val - displace_tmp(1:nb) = displace(1:nb)*n_val - - call MPI_TYPE_INDEXED(nb, blocklen_tmp, displace_tmp, MPI_DOUBLE_PRECISION, & - s_mpitype_elem2D(n, n_val), MPIerr) - - call MPI_TYPE_COMMIT(s_mpitype_elem2D(n, n_val), MPIerr) - - DO nl1=nl-1, nl - - blocklen_tmp(1:nb) = blocklen(1:nb)*n_val*nl1 - displace_tmp(1:nb) = displace(1:nb)*n_val*nl1 - - call MPI_TYPE_INDEXED(nb, blocklen_tmp, displace_tmp, MPI_DOUBLE_PRECISION, & - s_mpitype_elem3D(n,nl1,n_val), MPIerr) - - call MPI_TYPE_COMMIT(s_mpitype_elem3D(n,nl1,n_val), MPIerr) - ENDDO - ENDDO - enddo - - do n=1,com_elem2D_full%rPEnum - nb = 1 - nini = com_elem2D_full%rptr(n) - nend = com_elem2D_full%rptr(n+1) - 1 - displace(:) = 0 - displace(1) = com_elem2D_full%rlist(nini) -1 ! C counting, start at 0 - blocklen(:) = 1 - do i=nini+1, nend - if (com_elem2D_full%rlist(i) /= com_elem2D_full%rlist(i-1) + 1) then - ! New block - nb = nb+1 - displace(nb) = com_elem2D_full%rlist(i) -1 - else - blocklen(nb) = blocklen(nb)+1 - endif - enddo - - call MPI_TYPE_INDEXED(nb, blocklen,displace,MPI_INTEGER, r_mpitype_elem2D_full_i(n),MPIerr) - - call MPI_TYPE_COMMIT(r_mpitype_elem2D_full_i(n), MPIerr) - - DO n_val=1,4 - - call MPI_TYPE_INDEXED(nb, blocklen, displace, MPI_DOUBLE_PRECISION, & - r_mpitype_elem2D_full(n,n_val), MPIerr) - call MPI_TYPE_COMMIT(r_mpitype_elem2D_full(n, n_val), MPIerr) - - DO nl1=nl-1, nl - - blocklen_tmp(1:nb) = blocklen(1:nb)*n_val*nl1 - displace_tmp(1:nb) = displace(1:nb)*n_val*nl1 - - call MPI_TYPE_INDEXED(nb, blocklen_tmp, displace_tmp, MPI_DOUBLE_PRECISION, & - r_mpitype_elem3D_full(n,nl1,n_val), MPIerr) - - call MPI_TYPE_COMMIT(r_mpitype_elem3D_full(n,nl1,n_val), MPIerr) - ENDDO - ENDDO - enddo - - do n=1,com_elem2D_full%sPEnum - nb = 1 - nini = com_elem2D_full%sptr(n) - nend = com_elem2D_full%sptr(n+1) - 1 - displace(:) = 0 - displace(1) = com_elem2D_full%slist(nini) -1 ! C counting, start at 0 - blocklen(:) = 1 - do i=nini+1, nend - if (com_elem2D_full%slist(i) /= com_elem2D_full%slist(i-1) + 1) then - ! New block - nb = nb+1 - displace(nb) = com_elem2D_full%slist(i) -1 - else - blocklen(nb) = blocklen(nb)+1 - endif - enddo - - call MPI_TYPE_INDEXED(nb, blocklen,displace,MPI_INTEGER, s_mpitype_elem2D_full_i(n), MPIerr) - - call MPI_TYPE_COMMIT(s_mpitype_elem2D_full_i(n), MPIerr) - - DO n_val=1,4 - call MPI_TYPE_INDEXED(nb, blocklen, displace, MPI_DOUBLE_PRECISION, & - s_mpitype_elem2D_full(n,n_val),MPIerr) - call MPI_TYPE_COMMIT(s_mpitype_elem2D_full(n,n_val), MPIerr) - - DO nl1=nl-1, nl - - blocklen_tmp(1:nb) = blocklen(1:nb)*n_val*nl1 - displace_tmp(1:nb) = displace(1:nb)*n_val*nl1 - - call MPI_TYPE_INDEXED(nb, blocklen_tmp, displace_tmp, MPI_DOUBLE_PRECISION, & - s_mpitype_elem3D_full(n,nl1,n_val), MPIerr) - - call MPI_TYPE_COMMIT(s_mpitype_elem3D_full(n,nl1,n_val), MPIerr) - ENDDO - ENDDO - enddo - - deallocate(displace, blocklen) - deallocate(displace_tmp, blocklen_tmp) - - - ! Build MPI Data types for halo exchange: Nodes - - allocate(partit%r_mpitype_nod2D(com_nod2D%rPEnum)) ! 2D - allocate(partit%s_mpitype_nod2D(com_nod2D%sPEnum)) - allocate(partit%r_mpitype_nod2D_i(com_nod2D%rPEnum)) ! 2D integer - allocate(partit%s_mpitype_nod2D_i(com_nod2D%sPEnum)) - - allocate(partit%r_mpitype_nod3D(com_nod2D%rPEnum,nl-1:nl,3)) ! 3D with nl-1 or nl layers, 1-3 values - allocate(partit%s_mpitype_nod3D(com_nod2D%sPEnum,nl-1:nl,3)) -!after the allocation we just reassotiate ALL pointers again here -#include "associate_part_ass.h" - - ! Upper limit for the length of the local interface between the neighbor PEs - max_nb = max(maxval(com_nod2D%rptr(2:com_nod2D%rPEnum+1) - com_nod2D%rptr(1:com_nod2D%rPEnum)), & - maxval(com_nod2D%sptr(2:com_nod2D%sPEnum+1) - com_nod2D%sptr(1:com_nod2D%sPEnum))) - - allocate(displace(max_nb), blocklen(max_nb)) - allocate(displace_tmp(max_nb), blocklen_tmp(max_nb)) - - do n=1,com_nod2D%rPEnum - nb = 1 - nini = com_nod2D%rptr(n) - nend = com_nod2D%rptr(n+1) - 1 - displace(:) = 0 - displace(1) = com_nod2D%rlist(nini) -1 ! C counting, start at 0 - blocklen(:) = 1 - do i=nini+1, nend - if (com_nod2D%rlist(i) /= com_nod2D%rlist(i-1) + 1) then - ! New block - nb = nb+1 - displace(nb) = com_nod2D%rlist(i) -1 - else - blocklen(nb) = blocklen(nb)+1 - endif - enddo - - call MPI_TYPE_INDEXED(nb, blocklen, displace, MPI_DOUBLE_PRECISION, & - r_mpitype_nod2D(n), MPIerr) - - call MPI_TYPE_INDEXED(nb, blocklen, displace, MPI_INTEGER, & - r_mpitype_nod2D_i(n), MPIerr) - - call MPI_TYPE_COMMIT(r_mpitype_nod2D(n), MPIerr) - call MPI_TYPE_COMMIT(r_mpitype_nod2D_i(n), MPIerr) - - DO nl1=nl-1, nl - DO n_val=1,3 - - blocklen_tmp(1:nb) = blocklen(1:nb)*n_val*nl1 - displace_tmp(1:nb) = displace(1:nb)*n_val*nl1 - - call MPI_TYPE_INDEXED(nb, blocklen_tmp, displace_tmp, MPI_DOUBLE_PRECISION, & - r_mpitype_nod3D(n,nl1,n_val), MPIerr) - - call MPI_TYPE_COMMIT(r_mpitype_nod3D(n,nl1,n_val), MPIerr) - ENDDO - ENDDO - enddo - - do n=1,com_nod2D%sPEnum - nb = 1 - nini = com_nod2D%sptr(n) - nend = com_nod2D%sptr(n+1) - 1 - displace(:) = 0 - displace(1) = com_nod2D%slist(nini) -1 ! C counting, start at 0 - blocklen(:) = 1 - do i=nini+1, nend - if (com_nod2D%slist(i) /= com_nod2D%slist(i-1) + 1) then - ! New block - nb = nb+1 - displace(nb) = com_nod2D%slist(i) -1 - else - blocklen(nb) = blocklen(nb)+1 - endif - enddo - - call MPI_TYPE_INDEXED(nb, blocklen, displace, MPI_DOUBLE_PRECISION, & - s_mpitype_nod2D(n), MPIerr) - - call MPI_TYPE_INDEXED(nb, blocklen, displace, MPI_INTEGER, & - s_mpitype_nod2D_i(n), MPIerr) - - call MPI_TYPE_COMMIT(s_mpitype_nod2D(n), MPIerr) - call MPI_TYPE_COMMIT(s_mpitype_nod2D_i(n), MPIerr) - - DO nl1=nl-1, nl - DO n_val=1,3 - - blocklen_tmp(1:nb) = blocklen(1:nb)*n_val*nl1 - displace_tmp(1:nb) = displace(1:nb)*n_val*nl1 - - call MPI_TYPE_INDEXED(nb, blocklen_tmp, displace_tmp, MPI_DOUBLE_PRECISION, & - s_mpitype_nod3D(n,nl1,n_val), MPIerr) - - call MPI_TYPE_COMMIT(s_mpitype_nod3D(n,nl1,n_val), MPIerr) - ENDDO - ENDDO - enddo - - deallocate(blocklen, displace) - deallocate(blocklen_tmp, displace_tmp) - - endif - - call init_gatherLists(partit, mesh) - if(mype==0) write(*,*) 'Communication arrays are set' -end subroutine set_par_support - - -!=================================================================== -subroutine init_gatherLists(partit, mesh) - USE MOD_MESH - USE MOD_PARTIT - implicit none - type(t_mesh), intent(in), target :: mesh - type(t_partit), intent(inout), target :: partit - integer :: n2D, e2D, sum_loc_elem2D - integer :: n, estart, nstart -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - if (mype==0) then - - if (npes > 1) then - - allocate(partit%remPtr_nod2D(npes)) - allocate(partit%remPtr_elem2D(npes)) -!reassociate the pointers to the just allocated arrays -#include "associate_part_ass.h" - remPtr_nod2D(1) = 1 - remPtr_elem2D(1) = 1 - - do n=1, npes-1 - call MPI_RECV(n2D, 1, MPI_INTEGER, n, 0, MPI_COMM_FESOM, MPI_STATUS_IGNORE, MPIerr ) - call MPI_RECV(e2D, 1, MPI_INTEGER, n, 1, MPI_COMM_FESOM, MPI_STATUS_IGNORE, MPIerr ) - - remPtr_nod2D(n+1) = remPtr_nod2D(n) + n2D - remPtr_elem2D(n+1) = remPtr_elem2D(n) + e2D - enddo - - allocate(partit%remList_nod2D(remPtr_nod2D(npes))) ! this should be nod2D - myDim_nod2D - allocate(partit%remList_elem2D(remPtr_elem2D(npes))) ! this is > elem2D, because the elements overlap. - ! Consider optimization: avoid multiple communication - ! of the same elem from different PEs. -!reassociate the pointers to the just allocated arrays -#include "associate_part_ass.h" - - do n=1, npes-1 - nstart = remPtr_nod2D(n) - n2D = remPtr_nod2D(n+1) - remPtr_nod2D(n) - call MPI_RECV(remList_nod2D(nstart), n2D, MPI_INTEGER, n, 2, MPI_COMM_FESOM, & - MPI_STATUS_IGNORE, MPIerr ) - estart = remPtr_elem2D(n) - e2D = remPtr_elem2D(n+1) - remPtr_elem2D(n) - call MPI_RECV(remList_elem2D(estart),e2D, MPI_INTEGER, n, 3, MPI_COMM_FESOM, & - MPI_STATUS_IGNORE, MPIerr ) - - enddo - end if - else - - call MPI_SEND(myDim_nod2D, 1, MPI_INTEGER, 0, 0, MPI_COMM_FESOM, MPIerr ) - call MPI_SEND(myDim_elem2D, 1, MPI_INTEGER, 0, 1, MPI_COMM_FESOM, MPIerr ) - call MPI_SEND(myList_nod2D, myDim_nod2D, MPI_INTEGER, 0, 2, MPI_COMM_FESOM, MPIerr ) - call MPI_SEND(myList_elem2D, myDim_elem2D, MPI_INTEGER, 0, 3, MPI_COMM_FESOM, MPIerr ) - - endif -end subroutine init_gatherLists diff --git a/src/temp/oce_adv_tra_driver.F90 b/src/temp/oce_adv_tra_driver.F90 deleted file mode 100644 index 511e903b7..000000000 --- a/src/temp/oce_adv_tra_driver.F90 +++ /dev/null @@ -1,278 +0,0 @@ -module oce_adv_tra_driver_interfaces - interface - subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, tracers, partit, mesh) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - real(kind=WP), intent(in), target :: dt - integer, intent(in) :: tr_num - type(t_partit), intent(inout), target :: partit - type(t_mesh), intent(in), target :: mesh - type(t_tracer), intent(inout), target :: tracers - real(kind=WP), intent(in) :: vel(2, mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) - real(kind=WP), intent(in), target :: W(mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in), target :: WI(mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in), target :: WE(mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - end subroutine - end interface -end module - -module oce_tra_adv_flux2dtracer_interface - interface - subroutine oce_tra_adv_flux2dtracer(dt, dttf_h, dttf_v, flux_h, flux_v, partit, mesh, use_lo, ttf, lo) - !update the solution for vertical and horizontal flux contributions - use MOD_MESH - use MOD_PARTIT - real(kind=WP), intent(in), target :: dt - type(t_partit),intent(inout), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(inout) :: dttf_h(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: dttf_v(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux_h(mesh%nl-1, partit%myDim_edge2D) - real(kind=WP), intent(inout) :: flux_v(mesh%nl, partit%myDim_nod2D) - logical, optional :: use_lo - real(kind=WP), optional :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), optional :: lo (mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - end subroutine - end interface -end module -! -! -!=============================================================================== -subroutine do_oce_adv_tra(dt, vel, w, wi, we, tr_num, tracers, partit, mesh) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - use oce_adv_tra_hor_interfaces - use oce_adv_tra_ver_interfaces - use oce_adv_tra_fct_interfaces - use oce_tra_adv_flux2dtracer_interface - implicit none - real(kind=WP), intent(in), target :: dt - integer, intent(in) :: tr_num - type(t_partit), intent(inout), target :: partit - type(t_mesh), intent(in), target :: mesh - type(t_tracer), intent(inout), target :: tracers - real(kind=WP), intent(in) :: vel(2, mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) - real(kind=WP), intent(in), target :: W(mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in), target :: WI(mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in), target :: WE(mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - - real(kind=WP), pointer, dimension (:,:) :: pwvel - real(kind=WP), pointer, dimension (:,:) :: ttf, ttfAB, fct_LO - real(kind=WP), pointer, dimension (:,:) :: adv_flux_hor, adv_flux_ver, dttf_h, dttf_v - real(kind=WP), pointer, dimension (:,:) :: fct_ttf_min, fct_ttf_max - real(kind=WP), pointer, dimension (:,:) :: fct_plus, fct_minus - - integer, pointer, dimension (:) :: nboundary_lay - real(kind=WP), pointer, dimension (:,:,:) :: edge_up_dn_grad - - integer :: el(2), enodes(2), nz, n, e - integer :: nl12, nu12, nl1, nl2, nu1, nu2 - real(kind=WP) :: cLO, cHO, deltaX1, deltaY1, deltaX2, deltaY2 - real(kind=WP) :: qc, qu, qd - real(kind=WP) :: tvert(mesh%nl), tvert_e(mesh%nl), a, b, c, d, da, db, dg, vflux, Tupw1 - real(kind=WP) :: Tmean, Tmean1, Tmean2, num_ord - real(kind=WP) :: opth, optv - logical :: do_zero_flux - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - ttf => tracers%data(tr_num)%values - ttfAB => tracers%data(tr_num)%valuesAB - opth = tracers%data(tr_num)%tra_adv_ph - optv = tracers%data(tr_num)%tra_adv_pv - fct_LO => tracers%work%fct_LO - adv_flux_ver => tracers%work%adv_flux_ver - adv_flux_hor => tracers%work%adv_flux_hor - edge_up_dn_grad => tracers%work%edge_up_dn_grad - nboundary_lay => tracers%work%nboundary_lay - fct_ttf_min => tracers%work%fct_ttf_min - fct_ttf_max => tracers%work%fct_ttf_max - fct_plus => tracers%work%fct_plus - fct_minus => tracers%work%fct_minus - dttf_h => tracers%work%del_ttf_advhoriz - dttf_v => tracers%work%del_ttf_advvert - !___________________________________________________________________________ - ! compute FCT horzontal and vertical low order solution as well as lw order - ! part of antidiffusive flux - if (trim(tracers%data(tr_num)%tra_adv_lim)=='FCT') then - ! compute the low order upwind horizontal flux - ! init_zero=.true. : zero the horizontal flux before computation - ! init_zero=.false. : input flux will be substracted - call adv_tra_hor_upw1(vel, ttf, partit, mesh, adv_flux_hor, init_zero=.true.) - ! update the LO solution for horizontal contribution - fct_LO=0.0_WP - do e=1, myDim_edge2D - enodes=edges(:,e) - el=edge_tri(:,e) - nl1=nlevels(el(1))-1 - nu1=ulevels(el(1)) - nl2=0 - nu2=0 - if(el(2)>0) then - nl2=nlevels(el(2))-1 - nu2=ulevels(el(2)) - end if - - nl12 = max(nl1,nl2) - nu12 = nu1 - if (nu2>0) nu12 = min(nu1,nu2) - - !!PS do nz=1, max(nl1, nl2) - do nz=nu12, nl12 - fct_LO(nz, enodes(1))=fct_LO(nz, enodes(1))+adv_flux_hor(nz, e) - fct_LO(nz, enodes(2))=fct_LO(nz, enodes(2))-adv_flux_hor(nz, e) - end do - end do - ! compute the low order upwind vertical flux (explicit part only) - ! zero the input/output flux before computation - call adv_tra_ver_upw1(we, ttf, partit, mesh, adv_flux_ver, init_zero=.true.) - ! update the LO solution for vertical contribution - do n=1, myDim_nod2D - nu1 = ulevels_nod2D(n) - nl1 = nlevels_nod2D(n) - !!PS do nz=1, nlevels_nod2D(n)-1 - do nz= nu1, nl1-1 - fct_LO(nz,n)=(ttf(nz,n)*hnode(nz,n)+(fct_LO(nz,n)+(adv_flux_ver(nz, n)-adv_flux_ver(nz+1, n)))*dt/areasvol(nz,n))/hnode_new(nz,n) - end do - end do - if (w_split) then !wvel/=wvel_e - ! update for implicit contribution (w_split option) - call adv_tra_vert_impl(dt, wi, fct_LO, partit, mesh) - ! compute the low order upwind vertical flux (full vertical velocity) - ! zero the input/output flux before computation - ! --> compute here low order part of vertical anti diffusive fluxes, - ! has to be done on the full vertical velocity w - call adv_tra_ver_upw1(w, ttf, partit, mesh, adv_flux_ver, init_zero=.true.) - end if - call exchange_nod(fct_LO, partit) - end if - - do_zero_flux=.true. - if (trim(tracers%data(tr_num)%tra_adv_lim)=='FCT') do_zero_flux=.false. - !___________________________________________________________________________ - ! do horizontal tracer advection, in case of FCT high order solution - SELECT CASE(trim(tracers%data(tr_num)%tra_adv_hor)) - CASE('MUSCL') - ! compute the untidiffusive horizontal flux (init_zero=.false.: input is the LO horizontal flux computed above) - call adv_tra_hor_muscl(vel, ttfAB, partit, mesh, opth, adv_flux_hor, edge_up_dn_grad, nboundary_lay, init_zero=do_zero_flux) - CASE('MFCT') - call adv_tra_hor_mfct(vel, ttfAB, partit, mesh, opth, adv_flux_hor, edge_up_dn_grad, init_zero=do_zero_flux) - CASE('UPW1') - call adv_tra_hor_upw1(vel, ttfAB, partit, mesh, adv_flux_hor, init_zero=do_zero_flux) - CASE DEFAULT !unknown - if (mype==0) write(*,*) 'Unknown horizontal advection type ', trim(tracers%data(tr_num)%tra_adv_hor), '! Check your namelists!' - call par_ex(partit, 1) - END SELECT - if (trim(tracers%data(tr_num)%tra_adv_lim)=='FCT') then - pwvel=>w - else - pwvel=>we - end if - !___________________________________________________________________________ - ! do vertical tracer advection, in case of FCT high order solution - SELECT CASE(trim(tracers%data(tr_num)%tra_adv_ver)) - CASE('QR4C') - ! compute the untidiffusive vertical flux (init_zero=.false.:input is the LO vertical flux computed above) - call adv_tra_ver_qr4c ( pwvel, ttfAB, partit, mesh, optv, adv_flux_ver, init_zero=do_zero_flux) - CASE('CDIFF') - call adv_tra_ver_cdiff( pwvel, ttfAB, partit, mesh, adv_flux_ver, init_zero=do_zero_flux) - CASE('PPM') - call adv_tra_vert_ppm(dt, pwvel, ttfAB, partit, mesh, adv_flux_ver, init_zero=do_zero_flux) - CASE('UPW1') - call adv_tra_ver_upw1 ( pwvel, ttfAB, partit, mesh, adv_flux_ver, init_zero=do_zero_flux) - CASE DEFAULT !unknown - if (mype==0) write(*,*) 'Unknown vertical advection type ', trim(tracers%data(tr_num)%tra_adv_ver), '! Check your namelists!' - call par_ex(1) - ! --> be aware the vertical implicite part in case without FCT is done in - ! oce_ale_tracer.F90 --> subroutine diff_ver_part_impl_ale(tr_num, partit, mesh) - ! for do_wimpl=.true. - END SELECT - !___________________________________________________________________________ - ! - if (trim(tracers%data(tr_num)%tra_adv_lim)=='FCT') then - !edge_up_dn_grad will be used as an auxuary array here - call oce_tra_adv_fct(dt, ttf, fct_LO, adv_flux_hor, adv_flux_ver, fct_ttf_min, fct_ttf_max, fct_plus, fct_minus, edge_up_dn_grad, partit, mesh) - call oce_tra_adv_flux2dtracer(dt, dttf_h, dttf_v, adv_flux_hor, adv_flux_ver, partit, mesh, use_lo=.TRUE., ttf=ttf, lo=fct_LO) - else - call oce_tra_adv_flux2dtracer(dt, dttf_h, dttf_v, adv_flux_hor, adv_flux_ver, partit, mesh) - end if -end subroutine do_oce_adv_tra -! -! -!=============================================================================== -subroutine oce_tra_adv_flux2dtracer(dt, dttf_h, dttf_v, flux_h, flux_v, partit, mesh, use_lo, ttf, lo) - use MOD_MESH - use o_ARRAYS - use MOD_PARTIT - use g_comm_auto - implicit none - real(kind=WP), intent(in), target :: dt - type(t_partit),intent(inout), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(inout) :: dttf_h(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: dttf_v(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux_h(mesh%nl-1, partit%myDim_edge2D) - real(kind=WP), intent(inout) :: flux_v(mesh%nl, partit%myDim_nod2D) - logical, optional :: use_lo - real(kind=WP), optional :: lo (mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), optional :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - integer :: n, nz, k, elem, enodes(3), num, el(2), nu12, nl12, nu1, nu2, nl1, nl2, edge -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - !___________________________________________________________________________ - ! c. Update the solution - ! Vertical - if (present(use_lo)) then - if (use_lo) then - do n=1, myDim_nod2d - nu1 = ulevels_nod2D(n) - nl1 = nlevels_nod2D(n) - !!PS do nz=1,nlevels_nod2D(n)-1 - do nz=nu1, nl1-1 - dttf_v(nz,n)=dttf_v(nz,n)-ttf(nz,n)*hnode(nz,n)+LO(nz,n)*hnode_new(nz,n) - end do - end do - end if - end if - - do n=1, myDim_nod2d - nu1 = ulevels_nod2D(n) - nl1 = nlevels_nod2D(n) - do nz=nu1,nl1-1 - dttf_v(nz,n)=dttf_v(nz,n) + (flux_v(nz,n)-flux_v(nz+1,n))*dt/areasvol(nz,n) - end do - end do - - - ! Horizontal - do edge=1, myDim_edge2D - enodes(1:2)=edges(:,edge) - el=edge_tri(:,edge) - nl1=nlevels(el(1))-1 - nu1=ulevels(el(1)) - - nl2=0 - nu2=0 - if(el(2)>0) then - nl2=nlevels(el(2))-1 - nu2=ulevels(el(2)) - end if - - nl12 = max(nl1,nl2) - nu12 = nu1 - if (nu2>0) nu12 = min(nu1,nu2) - - !!PS do nz=1, max(nl1, nl2) - do nz=nu12, nl12 - dttf_h(nz,enodes(1))=dttf_h(nz,enodes(1))+flux_h(nz,edge)*dt/areasvol(nz,enodes(1)) - dttf_h(nz,enodes(2))=dttf_h(nz,enodes(2))-flux_h(nz,edge)*dt/areasvol(nz,enodes(2)) - end do - end do -end subroutine oce_tra_adv_flux2dtracer diff --git a/src/temp/oce_adv_tra_fct.F90 b/src/temp/oce_adv_tra_fct.F90 deleted file mode 100644 index 5eb7993a9..000000000 --- a/src/temp/oce_adv_tra_fct.F90 +++ /dev/null @@ -1,365 +0,0 @@ -module oce_adv_tra_fct_interfaces - interface - subroutine oce_adv_tra_fct_init(twork, partit, mesh) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - type(t_mesh), intent(in), target :: mesh - type(t_partit),intent(inout), target :: partit - type(t_tracer_work), intent(inout), target :: twork - end subroutine - - subroutine oce_tra_adv_fct(dt, ttf, lo, adf_h, adf_v, fct_ttf_min, fct_ttf_max, fct_plus, fct_minus, AUX, partit, mesh) - use MOD_MESH - use MOD_PARTIT - real(kind=WP), intent(in), target :: dt - type(t_partit),intent(inout), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(inout) :: fct_ttf_min(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: fct_ttf_max(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: lo (mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: adf_h(mesh%nl-1, partit%myDim_edge2D) - real(kind=WP), intent(inout) :: adf_v(mesh%nl, partit%myDim_nod2D) - real(kind=WP), intent(inout) :: fct_plus(mesh%nl-1, partit%myDim_edge2D) - real(kind=WP), intent(inout) :: fct_minus(mesh%nl, partit%myDim_nod2D) - real(kind=WP), intent(inout) :: AUX(:,:,:) !a large auxuary array - end subroutine - end interface -end module -! -! -!=============================================================================== -subroutine oce_adv_tra_fct_init(twork, partit, mesh) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - implicit none - integer :: my_size - type(t_mesh), intent(in) , target :: mesh - type(t_partit), intent(inout), target :: partit - type(t_tracer_work), intent(inout), target :: twork -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - my_size=myDim_nod2D+eDim_nod2D - allocate(twork%fct_LO(nl-1, my_size)) ! Low-order solution - allocate(twork%adv_flux_hor(nl-1,partit%myDim_edge2D)) ! antidiffusive hor. contributions / from edges - allocate(twork%adv_flux_ver(nl, partit%myDim_nod2D)) ! antidiffusive ver. fluxes / from nodes - - allocate(twork%fct_ttf_max(nl-1, my_size),twork%fct_ttf_min(nl-1, my_size)) - allocate(twork%fct_plus(nl-1, my_size), twork%fct_minus(nl-1, my_size)) - ! Initialize with zeros: - twork%fct_LO=0.0_WP - twork%adv_flux_hor=0.0_WP - twork%adv_flux_ver=0.0_WP - twork%fct_ttf_max=0.0_WP - twork%fct_ttf_min=0.0_WP - twork%fct_plus=0.0_WP - twork%fct_minus=0.0_WP - - if (mype==0) write(*,*) 'FCT is initialized' -end subroutine oce_adv_tra_fct_init - -! -! -!=============================================================================== -subroutine oce_tra_adv_fct(dt, ttf, lo, adf_h, adf_v, fct_ttf_min, fct_ttf_max, fct_plus, fct_minus, AUX, partit, mesh) - ! - ! 3D Flux Corrected Transport scheme - ! Limits antidiffusive fluxes==the difference in flux HO-LO - ! LO ==Low-order (first-order upwind) - ! HO ==High-order (3rd/4th order gradient reconstruction method) - ! Adds limited fluxes to the LO solution - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - implicit none - real(kind=WP), intent(in), target :: dt - type(t_mesh), intent(in), target :: mesh - type(t_partit),intent(inout), target :: partit - real(kind=WP), intent(inout) :: fct_ttf_min(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: fct_ttf_max(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: lo (mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: adf_h(mesh%nl-1, partit%myDim_edge2D) - real(kind=WP), intent(inout) :: adf_v(mesh%nl, partit%myDim_nod2D) - real(kind=WP), intent(inout) :: fct_plus (mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: fct_minus(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: AUX(:,:,:) !a large auxuary array, let us use twork%edge_up_dn_grad(1:4, 1:NL-2, 1:partit%myDim_edge2D) to save space - integer :: n, nz, k, elem, enodes(3), num, el(2), nl1, nl2, nu1, nu2, nl12, nu12, edge - real(kind=WP) :: flux, ae,tvert_max(mesh%nl-1),tvert_min(mesh%nl-1) - real(kind=WP) :: flux_eps=1e-16 - real(kind=WP) :: bignumber=1e3 - integer :: vlimit=1 - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - ! -------------------------------------------------------------------------- - ! ttf is the tracer field on step n - ! del_ttf is the increment - ! vlimit sets the version of limiting, see below - ! -------------------------------------------------------------------------- - !___________________________________________________________________________ - ! a1. max, min between old solution and updated low-order solution per node - do n=1,myDim_nod2D + edim_nod2d - nu1 = ulevels_nod2D(n) - nl1 = nlevels_nod2D(n) - do nz=nu1, nl1-1 - fct_ttf_max(nz,n)=max(LO(nz,n), ttf(nz,n)) - fct_ttf_min(nz,n)=min(LO(nz,n), ttf(nz,n)) - end do - end do - - !___________________________________________________________________________ - ! a2. Admissible increments on elements - ! (only layers below the first and above the last layer) - ! look for max, min bounds for each element --> AUX here auxilary array - do elem=1, myDim_elem2D - enodes=elem2D_nodes(:,elem) - nu1 = ulevels(elem) - nl1 = nlevels(elem) - do nz=nu1, nl1-1 - AUX(1,nz,elem)=maxval(fct_ttf_max(nz,enodes)) - AUX(2,nz,elem)=minval(fct_ttf_min(nz,enodes)) - end do - if (nl1<=nl-1) then - do nz=nl1,nl-1 - AUX(1,nz,elem)=-bignumber - AUX(2,nz,elem)= bignumber - end do - endif - end do ! --> do elem=1, myDim_elem2D - - !___________________________________________________________________________ - ! a3. Bounds on clusters and admissible increments - ! Vertical1: In this version we look at the bounds on the clusters - ! above and below, which leaves wide bounds because typically - ! vertical gradients are larger. - if(vlimit==1) then - !Horizontal - do n=1, myDim_nod2D - nu1 = ulevels_nod2D(n) - nl1 = nlevels_nod2D(n) - - !___________________________________________________________________ - do nz=nu1,nl1-1 - ! max,min horizontal bound in cluster around node n in every - ! vertical layer - ! nod_in_elem2D --> elem indices of which node n is surrounded - ! nod_in_elem2D_num --> max number of surrounded elem - tvert_max(nz)= maxval(AUX(1,nz,nod_in_elem2D(1:nod_in_elem2D_num(n),n))) - tvert_min(nz)= minval(AUX(2,nz,nod_in_elem2D(1:nod_in_elem2D_num(n),n))) - end do - - !___________________________________________________________________ - ! calc max,min increment of surface layer with respect to low order - ! solution - fct_ttf_max(nu1,n)=tvert_max(nu1)-LO(nu1,n) - fct_ttf_min(nu1,n)=tvert_min(nu1)-LO(nu1,n) - - ! calc max,min increment from nz-1:nz+1 with respect to low order - ! solution at layer nz - do nz=nu1+1,nl1-2 - fct_ttf_max(nz,n)=maxval(tvert_max(nz-1:nz+1))-LO(nz,n) - fct_ttf_min(nz,n)=minval(tvert_min(nz-1:nz+1))-LO(nz,n) - end do - ! calc max,min increment of bottom layer -1 with respect to low order - ! solution - nz=nl1-1 - fct_ttf_max(nz,n)=tvert_max(nz)-LO(nz,n) - fct_ttf_min(nz,n)=tvert_min(nz)-LO(nz,n) - end do - end if - - !___________________________________________________________________________ - ! Vertical2: Similar to the version above, but the vertical bounds are more - ! local - if(vlimit==2) then - do n=1, myDim_nod2D - nu1 = ulevels_nod2D(n) - nl1 = nlevels_nod2D(n) - do nz=nu1,nl1-1 - tvert_max(nz)= maxval(AUX(1,nz,nod_in_elem2D(1:nod_in_elem2D_num(n),n))) - tvert_min(nz)= minval(AUX(2,nz,nod_in_elem2D(1:nod_in_elem2D_num(n),n))) - end do - do nz=nu1+1, nl1-2 - tvert_max(nz)=max(tvert_max(nz),maxval(fct_ttf_max(nz-1:nz+1,n))) - tvert_min(nz)=min(tvert_min(nz),minval(fct_ttf_max(nz-1:nz+1,n))) - end do - do nz=nu1,nl1-1 - fct_ttf_max(nz,n)=tvert_max(nz)-LO(nz,n) - fct_ttf_min(nz,n)=tvert_min(nz)-LO(nz,n) - end do - end do - end if - - !___________________________________________________________________________ - ! Vertical3: Vertical bounds are taken into account only if they are narrower than the - ! horizontal ones - if(vlimit==3) then - do n=1, myDim_nod2D - nu1 = ulevels_nod2D(n) - nl1 = nlevels_nod2D(n) - do nz=nu1, nl1-1 - tvert_max(nz)= maxval(AUX(1,nz,nod_in_elem2D(1:nod_in_elem2D_num(n),n))) - tvert_min(nz)= minval(AUX(2,nz,nod_in_elem2D(1:nod_in_elem2D_num(n),n))) - end do - do nz=nu1+1, nl1-2 - tvert_max(nz)=min(tvert_max(nz),maxval(fct_ttf_max(nz-1:nz+1,n))) - tvert_min(nz)=max(tvert_min(nz),minval(fct_ttf_max(nz-1:nz+1,n))) - end do - do nz=nu1, nl1-1 - fct_ttf_max(nz,n)=tvert_max(nz)-LO(nz,n) - fct_ttf_min(nz,n)=tvert_min(nz)-LO(nz,n) - end do - end do - end if - - !___________________________________________________________________________ - ! b1. Split positive and negative antidiffusive contributions - ! --> sum all positive (fct_plus), negative (fct_minus) antidiffusive - ! horizontal element and vertical node contribution to node n and layer nz - ! see. R. Löhner et al. "finite element flux corrected transport (FEM-FCT) - ! for the euler and navier stoke equation - do n=1, myDim_nod2D - nu1 = ulevels_nod2D(n) - nl1 = nlevels_nod2D(n) - do nz=nu1,nl1-1 - fct_plus(nz,n)=0._WP - fct_minus(nz,n)=0._WP - end do - end do - - !Vertical - do n=1, myDim_nod2D - nu1 = ulevels_nod2D(n) - nl1 = nlevels_nod2D(n) - do nz=nu1,nl1-1 -! fct_plus(nz,n)=fct_plus(nz,n)+ & -! (max(0.0_WP,adf_v(nz,n))+max(0.0_WP,-adf_v(nz+1,n))) & -! /hnode(nz,n) -! fct_minus(nz,n)=fct_minus(nz,n)+ & -! (min(0.0_WP,adf_v(nz,n))+min(0.0_WP,-adf_v(nz+1,n))) & -! /hnode(nz,n) - fct_plus(nz,n) =fct_plus(nz,n) +(max(0.0_WP,adf_v(nz,n))+max(0.0_WP,-adf_v(nz+1,n))) - fct_minus(nz,n)=fct_minus(nz,n)+(min(0.0_WP,adf_v(nz,n))+min(0.0_WP,-adf_v(nz+1,n))) - end do - end do - - !Horizontal - do edge=1, myDim_edge2D - enodes(1:2)=edges(:,edge) - el=edge_tri(:,edge) - nl1=nlevels(el(1))-1 - nu1=ulevels(el(1)) - nl2=0 - nu2=0 - if(el(2)>0) then - nl2=nlevels(el(2))-1 - nu2=ulevels(el(2)) - end if - - nl12 = max(nl1,nl2) - nu12 = nu1 - if (nu2>0) nu12 = min(nu1,nu2) - - do nz=nu12, nl12 - fct_plus (nz,enodes(1))=fct_plus (nz,enodes(1)) + max(0.0_WP, adf_h(nz,edge)) - fct_minus(nz,enodes(1))=fct_minus(nz,enodes(1)) + min(0.0_WP, adf_h(nz,edge)) - fct_plus (nz,enodes(2))=fct_plus (nz,enodes(2)) + max(0.0_WP,-adf_h(nz,edge)) - fct_minus(nz,enodes(2))=fct_minus(nz,enodes(2)) + min(0.0_WP,-adf_h(nz,edge)) - end do - end do - - !___________________________________________________________________________ - ! b2. Limiting factors - do n=1,myDim_nod2D - nu1=ulevels_nod2D(n) - nl1=nlevels_nod2D(n) - do nz=nu1,nl1-1 - flux=fct_plus(nz,n)*dt/areasvol(nz,n)+flux_eps - fct_plus(nz,n)=min(1.0_WP,fct_ttf_max(nz,n)/flux) - flux=fct_minus(nz,n)*dt/areasvol(nz,n)-flux_eps - fct_minus(nz,n)=min(1.0_WP,fct_ttf_min(nz,n)/flux) - end do - end do - - ! fct_minus and fct_plus must be known to neighbouring PE - call exchange_nod(fct_plus, fct_minus, partit) - - !___________________________________________________________________________ - ! b3. Limiting - !Vertical - do n=1, myDim_nod2D - nu1=ulevels_nod2D(n) - nl1=nlevels_nod2D(n) - - !_______________________________________________________________________ - nz=nu1 - ae=1.0_WP - flux=adf_v(nz,n) - if(flux>=0.0_WP) then - ae=min(ae,fct_plus(nz,n)) - else - ae=min(ae,fct_minus(nz,n)) - end if - adf_v(nz,n)=ae*adf_v(nz,n) - - !_______________________________________________________________________ - do nz=nu1+1,nl1-1 - ae=1.0_WP - flux=adf_v(nz,n) - if(flux>=0._WP) then - ae=min(ae,fct_minus(nz-1,n)) - ae=min(ae,fct_plus(nz,n)) - else - ae=min(ae,fct_plus(nz-1,n)) - ae=min(ae,fct_minus(nz,n)) - end if - adf_v(nz,n)=ae*adf_v(nz,n) - end do - ! the bottom flux is always zero - end do - - call exchange_nod_end(partit) ! fct_plus, fct_minus - - !Horizontal - do edge=1, myDim_edge2D - enodes(1:2)=edges(:,edge) - el=edge_tri(:,edge) - nu1=ulevels(el(1)) - nl1=nlevels(el(1))-1 - nl2=0 - nu2=0 - if(el(2)>0) then - nu2=ulevels(el(2)) - nl2=nlevels(el(2))-1 - end if - - nl12 = max(nl1,nl2) - nu12 = nu1 - if (nu2>0) nu12 = min(nu1,nu2) - - do nz=nu12, nl12 - ae=1.0_WP - flux=adf_h(nz,edge) - - if(flux>=0._WP) then - ae=min(ae,fct_plus(nz,enodes(1))) - ae=min(ae,fct_minus(nz,enodes(2))) - else - ae=min(ae,fct_minus(nz,enodes(1))) - ae=min(ae,fct_plus(nz,enodes(2))) - endif - - adf_h(nz,edge)=ae*adf_h(nz,edge) - end do - end do -end subroutine oce_tra_adv_fct diff --git a/src/temp/oce_adv_tra_hor.F90 b/src/temp/oce_adv_tra_hor.F90 deleted file mode 100644 index 714eccf68..000000000 --- a/src/temp/oce_adv_tra_hor.F90 +++ /dev/null @@ -1,739 +0,0 @@ -!=============================================================================================================================== -!**************** routines for horizontal tracer advection *********************** -module oce_adv_tra_hor_interfaces - interface -! (low order upwind) -! returns flux given at edges which contributes with -! plus sign into 1st. node and with the minus sign into the 2nd node -! IF init_zero=.TRUE. : flux will be set to zero before computation -! IF init_zero=.FALSE. : flux=flux-input flux -! flux is not multiplied with dt - subroutine adv_tra_hor_upw1(vel, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: ttf( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: vel(2, mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) - real(kind=WP), intent(inout) :: flux( mesh%nl-1, partit%myDim_edge2D) - logical, optional :: init_zero - end subroutine -!=============================================================================== -! MUSCL -! returns flux given at edges which contributes with -! plus sign into 1st. node and with the minus sign into the 2nd node -! IF init_zero=.TRUE. : flux will be set to zero before computation -! IF init_zero=.FALSE. : flux=flux-input flux -! flux is not multiplied with dt - subroutine adv_tra_hor_muscl(vel, ttf, partit, mesh, num_ord, flux, edge_up_dn_grad, nboundary_lay, init_zero) - use MOD_MESH - use MOD_PARTIT - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: num_ord ! num_ord is the fraction of fourth-order contribution in the solution - real(kind=WP), intent(in) :: ttf( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: vel(2, mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) - real(kind=WP), intent(inout) :: flux( mesh%nl-1, partit%myDim_edge2D) - integer, intent(in) :: nboundary_lay(partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: edge_up_dn_grad(4, mesh%nl-1, partit%myDim_edge2D) - logical, optional :: init_zero - end subroutine -! a not stable version of MUSCL (reconstruction in the vicinity of bottom topography is not upwind) -! it runs with FCT option only - subroutine adv_tra_hor_mfct(vel, ttf, partit, mesh, num_ord, flux, edge_up_dn_grad, init_zero) - use MOD_MESH - use MOD_PARTIT - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: num_ord ! num_ord is the fraction of fourth-order contribution in the solution - real(kind=WP), intent(in) :: ttf( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: vel(2, mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) - real(kind=WP), intent(inout) :: flux( mesh%nl-1, partit%myDim_edge2D) - real(kind=WP), intent(in) :: edge_up_dn_grad(4, mesh%nl-1, partit%myDim_edge2D) - logical, optional :: init_zero - end subroutine - end interface -end module -! -! -!=============================================================================== -subroutine adv_tra_hor_upw1(vel, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_PARTIT - use g_comm_auto - implicit none - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: ttf( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: vel(2, mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) - real(kind=WP), intent(inout) :: flux( mesh%nl-1, partit%myDim_edge2D) - logical, optional :: init_zero - real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2 - real(kind=WP) :: a, vflux - integer :: el(2), enodes(2), nz, edge - integer :: nu12, nl12, nl1, nl2, nu1, nu2 - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - if (present(init_zero))then - if (init_zero) flux=0.0_WP - else - flux=0.0_WP - end if - - ! The result is the low-order solution horizontal fluxes - ! They are put into flux - !___________________________________________________________________________ - do edge=1, myDim_edge2D - ! local indice of nodes that span up edge ed - enodes=edges(:,edge) - - ! local index of element that contribute to edge - el=edge_tri(:,edge) - - ! number of layers -1 at elem el(1) - nl1=nlevels(el(1))-1 - - ! index off surface layer in case of cavity !=1 - nu1=ulevels(el(1)) - - ! edge_cross_dxdy(1:2,ed)... dx,dy distance from element centroid el(1) to - ! center of edge --> needed to calc flux perpedicular to edge from elem el(1) - deltaX1=edge_cross_dxdy(1,edge) - deltaY1=edge_cross_dxdy(2,edge) - a=r_earth*elem_cos(el(1)) - - !_______________________________________________________________________ - ! same parameter but for other element el(2) that contributes to edge ed - ! if el(2)==0 than edge is boundary edge - nl2=0 - nu2=0 - if(el(2)>0) then - deltaX2=edge_cross_dxdy(3,edge) - deltaY2=edge_cross_dxdy(4,edge) - ! number of layers -1 at elem el(2) - nl2=nlevels(el(2))-1 - nu2=ulevels(el(2)) - a=0.5_WP*(a+r_earth*elem_cos(el(2))) - end if - - !_______________________________________________________________________ - ! nl12 ... minimum number of layers -1 between element el(1) & el(2) that - ! contribute to edge ed - ! nu12 ... upper index of layers between element el(1) & el(2) that - ! contribute to edge ed - ! be carefull !!! --> if ed is a boundary edge than el(1)~=0 and el(2)==0 - ! that means nl1>0, nl2==0, n2=min(nl1,nl2)=0 !!! - nl12=min(nl1,nl2) - nu12=max(nu1,nu2) - - !_______________________________________________________________________ - ! (A) goes only into this loop when the edge has only facing element - ! el(1) --> so the edge is a boundary edge --> this is for ocean - ! surface in case of cavity - do nz=nu1, nu12-1 - !____________________________________________________________________ - ! volume flux across the segments - vflux=(-VEL(2,nz,el(1))*deltaX1 + VEL(1,nz,el(1))*deltaY1)*helem(nz,el(1)) - - !____________________________________________________________________ - ! 1st. low order upwind solution - flux(nz, edge)=-0.5_WP*( & - ttf(nz, enodes(1))*(vflux+abs(vflux))+ & - ttf(nz, enodes(2))*(vflux-abs(vflux)) & - )-flux(nz, edge) - end do - - !_______________________________________________________________________ - ! (B) goes only into this loop when the edge has only facing elemenmt - ! el(2) --> so the edge is a boundary edge --> this is for ocean - ! surface in case of cavity - if (nu2 > 0) then - do nz=nu2, nu12-1 - !___________________________________________________________ - ! volume flux across the segments - vflux=(VEL(2,nz,el(2))*deltaX2 - VEL(1,nz,el(2))*deltaY2)*helem(nz,el(2)) - - !___________________________________________________________ - ! 1st. low order upwind solution - flux(nz, edge)=-0.5_WP*( & - ttf(nz, enodes(1))*(vflux+abs(vflux))+ & - ttf(nz, enodes(2))*(vflux-abs(vflux)))-flux(nz, edge) - end do - end if - - !_______________________________________________________________________ - ! (C) Both segments - ! loop over depth layers from top (nu12) to nl12 - ! be carefull !!! --> if ed is a boundary edge, el(2)==0 than nl12=0 so - ! you wont enter in this loop - do nz=nu12, nl12 - !___________________________________________________________________ - ! 1st. low order upwind solution - ! here already assumed that ed is NOT! a boundary edge so el(2) should exist - vflux=(-VEL(2,nz,el(1))*deltaX1 + VEL(1,nz,el(1))*deltaY1)*helem(nz,el(1)) & - +(VEL(2,nz,el(2))*deltaX2 - VEL(1,nz,el(2))*deltaY2)*helem(nz,el(2)) - - flux(nz, edge)=-0.5_WP*( & - ttf(nz, enodes(1))*(vflux+abs(vflux))+ & - ttf(nz, enodes(2))*(vflux-abs(vflux)))-flux(nz, edge) - end do - - !_______________________________________________________________________ - ! (D) remaining segments on the left or on the right - do nz=nl12+1, nl1 - !____________________________________________________________________ - ! volume flux across the segments - vflux=(-VEL(2,nz,el(1))*deltaX1 + VEL(1,nz,el(1))*deltaY1)*helem(nz,el(1)) - !____________________________________________________________________ - ! 1st. low order upwind solution - flux(nz, edge)=-0.5_WP*( & - ttf(nz, enodes(1))*(vflux+abs(vflux))+ & - ttf(nz, enodes(2))*(vflux-abs(vflux)) & - )-flux(nz, edge) - end do - - !_______________________________________________________________________ - ! (E) remaining segments on the left or on the right - do nz=nl12+1, nl2 - !_______________________________________________________________ - ! volume flux across the segments - vflux=(VEL(2,nz,el(2))*deltaX2 - VEL(1,nz,el(2))*deltaY2)*helem(nz,el(2)) - !_______________________________________________________________ - ! 1st. low order upwind solution - flux(nz, edge)=-0.5_WP*( & - ttf(nz, enodes(1))*(vflux+abs(vflux))+ & - ttf(nz, enodes(2))*(vflux-abs(vflux)))-flux(nz, edge) - end do - end do -end subroutine adv_tra_hor_upw1 -! -! -!=============================================================================== -subroutine adv_tra_hor_muscl(vel, ttf, partit, mesh, num_ord, flux, edge_up_dn_grad, nboundary_lay, init_zero) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - implicit none - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: num_ord ! num_ord is the fraction of fourth-order contribution in the solution - real(kind=WP), intent(in) :: ttf( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: vel(2, mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) - real(kind=WP), intent(inout) :: flux( mesh%nl-1, partit%myDim_edge2D) - integer, intent(in) :: nboundary_lay(partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: edge_up_dn_grad(4, mesh%nl-1, partit%myDim_edge2D) - logical, optional :: init_zero - real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2 - real(kind=WP) :: Tmean1, Tmean2, cHO - real(kind=WP) :: c_lo(2) - real(kind=WP) :: a, vflux - integer :: el(2), enodes(2), nz, edge - integer :: nu12, nl12, nl1, nl2, nu1, nu2 - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - if (present(init_zero))then - if (init_zero) flux=0.0_WP - else - flux=0.0_WP - end if - - ! The result is the low-order solution horizontal fluxes - ! They are put into flux - !___________________________________________________________________________ - do edge=1, myDim_edge2D - ! local indice of nodes that span up edge ed - enodes=edges(:,edge) - - ! local index of element that contribute to edge - el=edge_tri(:,edge) - - ! number of layers -1 at elem el(1) - nl1=nlevels(el(1))-1 - - ! index off surface layer in case of cavity !=1 - nu1=ulevels(el(1)) - - ! edge_cross_dxdy(1:2,ed)... dx,dy distance from element centroid el(1) to - ! center of edge --> needed to calc flux perpedicular to edge from elem el(1) - deltaX1=edge_cross_dxdy(1,edge) - deltaY1=edge_cross_dxdy(2,edge) - a=r_earth*elem_cos(el(1)) - - !_______________________________________________________________________ - ! same parameter but for other element el(2) that contributes to edge ed - ! if el(2)==0 than edge is boundary edge - nl2=0 - nu2=0 - if(el(2)>0) then - deltaX2=edge_cross_dxdy(3,edge) - deltaY2=edge_cross_dxdy(4,edge) - ! number of layers -1 at elem el(2) - nl2=nlevels(el(2))-1 - nu2=ulevels(el(2)) - a=0.5_WP*(a+r_earth*elem_cos(el(2))) - end if - - !_______________________________________________________________________ - ! n2 ... minimum number of layers -1 between element el(1) & el(2) that - ! contribute to edge ed - ! nu12 ... upper index of layers between element el(1) & el(2) that - ! contribute to edge ed - ! be carefull !!! --> if ed is a boundary edge than el(1)~=0 and el(2)==0 - ! that means nl1>0, nl2==0, n2=min(nl1,nl2)=0 !!! - nl12=min(nl1,nl2) - nu12=max(nu1,nu2) - - !_______________________________________________________________________ - ! (A) goes only into this loop when the edge has only facing element - ! el(1) --> so the edge is a boundary edge --> this is for ocean - ! surface in case of cavity - do nz=nu1, nu12-1 - c_lo(1)=real(max(sign(1, nboundary_lay(enodes(1))-nz), 0),WP) - c_lo(2)=real(max(sign(1, nboundary_lay(enodes(2))-nz), 0),WP) - - !____________________________________________________________________ - Tmean2=ttf(nz, enodes(2))- & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(2,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(4,nz,edge))/6.0_WP*c_lo(2) - - Tmean1=ttf(nz, enodes(1))+ & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(1,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(3,nz,edge))/6.0_WP*c_lo(1) - - !____________________________________________________________________ - ! volume flux across the segments - vflux=(-VEL(2,nz,el(1))*deltaX1 + VEL(1,nz,el(1))*deltaY1)*helem(nz,el(1)) - cHO=(vflux+abs(vflux))*Tmean1 + (vflux-abs(vflux))*Tmean2 - flux(nz,edge)=-0.5_WP*(1.0_WP-num_ord)*cHO - vflux*num_ord*0.5_WP*(Tmean1+Tmean2)-flux(nz,edge) - end do - - !_______________________________________________________________________ - ! (B) goes only into this loop when the edge has only facing elemenmt - ! el(2) --> so the edge is a boundary edge --> this is for ocean - ! surface in case of cavity - if (nu2 > 0) then - do nz=nu2, nu12-1 - c_lo(1)=real(max(sign(1, nboundary_lay(enodes(1))-nz), 0),WP) - c_lo(2)=real(max(sign(1, nboundary_lay(enodes(2))-nz), 0),WP) - - !_______________________________________________________________ - Tmean2=ttf(nz, enodes(2))- & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(2,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(4,nz,edge))/6.0_WP*c_lo(2) - - Tmean1=ttf(nz, enodes(1))+ & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(1,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(3,nz,edge))/6.0_WP*c_lo(1) - - !_______________________________________________________________ - ! volume flux across the segments - vflux=(VEL(2,nz,el(2))*deltaX2 - VEL(1,nz,el(2))*deltaY2)*helem(nz,el(2)) - cHO=(vflux+abs(vflux))*Tmean1 + (vflux-abs(vflux))*Tmean2 - flux(nz,edge)=-0.5_WP*(1.0_WP-num_ord)*cHO - vflux*num_ord*0.5_WP*(Tmean1+Tmean2)-flux(nz,edge) - end do - end if - - !_______________________________________________________________________ - ! (C) Both segments - ! loop over depth layers from top to n2 - ! be carefull !!! --> if ed is a boundary edge, el(2)==0 than n2=0 so - ! you wont enter in this loop - do nz=nu12, nl12 - c_lo(1)=real(max(sign(1, nboundary_lay(enodes(1))-nz), 0),WP) - c_lo(2)=real(max(sign(1, nboundary_lay(enodes(2))-nz), 0),WP) - - !___________________________________________________________________ - ! MUSCL-type reconstruction - ! check if upwind or downwind triagle is necessary - ! - ! cross product between velocity vector and cross vector edge-elem-center - ! cross product > 0 --> angle vec_v and (dx,dy) --> [0 180] --> upwind triangle - ! cross product < 0 --> angle vec_v and (dx,dy) --> [180 360] --> downwind triangle - ! - ! o o ! o o - ! / \ / \ ! / \ / \ - ! / \ \ vec_v / \ ! / \ / / \ - ! / up \ \ / dn \ ! / up \ / / dn \ - ! o-------o----+---->o-------o ! o-------o----+---->o-------o - ! 1 / 2 ! 1 \vec_v - ! /vec_v ! \ - ! --> downwind triangle ! --> upwind triangle - ! - ! edge_up_dn_grad(1,nz,edge) ... gradTR_x upwind - ! edge_up_dn_grad(2,nz,edge) ... gradTR_x downwind - ! edge_up_dn_grad(3,nz,edge) ... gradTR_y upwind - ! edge_up_dn_grad(4,nz,edge) ... gradTR_y downwind - - !___________________________________________________________________ - ! use downwind triangle to interpolate Tracer to edge center with - ! fancy scheme --> Linear upwind reconstruction - ! T_n+0.5 = T_n+1 - 1/2*deltax*GRADIENT - ! --> GRADIENT = 2/3 GRAD_edgecenter + 1/3 GRAD_downwindtri - ! T_n+0.5 = T_n+1 - 2/6*(T_n+1-T_n) + 1/6*gradT_down - ! --> edge_up_dn_grad ... contains already elemental tracer gradient - ! of up and dn wind triangle - ! --> Tmean2 ... edge center interpolated Tracer using tracer - ! gradient info from upwind triangle - Tmean2=ttf(nz, enodes(2))- & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(2,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(4,nz,edge))/6.0_WP*c_lo(2) - - ! use upwind triangle to interpolate Tracer to edge center with - ! fancy scheme --> Linear upwind reconstruction - ! T_n+0.5 = T_n + 1/2*deltax*GRADIENT - ! --> GRADIENT = 2/3 GRAD_edgecenter + 1/3 GRAD_downwindtri - ! T_n+0.5 = T_n + 2/6*(T_n+1-T_n) + 1/6*gradT_down - ! --> Tmean1 ... edge center interpolated Tracer using tracer - ! gradient info from downwind triangle - Tmean1=ttf(nz, enodes(1))+ & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(1,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(3,nz,edge))/6.0_WP*c_lo(1) - - !___________________________________________________________________ - ! volume flux along the edge segment ed - ! netto volume flux along segment that comes from edge node 1 and 2 - ! - ! - ! C1 (centroid el(1)) --> (u1,v1) - ! x - ! ^ - ! (dx1,dy1) | - ! |---> vec_n1 (dy1,-dx1)--> project vec_u1 onto vec_n1 --> -v1*dx1+u1*dy1 --> - ! | | - ! enodes(1) o----------O---------o enodes(2) |-> calculate volume flux out of/in - ! vflux_________/| | the volume of enode1(enode2) through - ! |---> vec_n2 (dy2,-dx2)--> project vec_u2 onto vec_n2 --> -v2*dx2+u2*dy2 --> sections of dx1,dy1 and dx2,dy2 - ! (dx2,dy2) | --> vflux - ! v - ! x - ! C2 (centroid el(2)) --> (u2,v2) - - ! here already assumed that ed is NOT! a boundary edge so el(2) should exist - vflux=(-VEL(2,nz,el(1))*deltaX1 + VEL(1,nz,el(1))*deltaY1)*helem(nz,el(1)) & - +(VEL(2,nz,el(2))*deltaX2 - VEL(1,nz,el(2))*deltaY2)*helem(nz,el(2)) - - !___________________________________________________________________ - ! (1-num_ord) is done with 3rd order upwind - cHO=(vflux+abs(vflux))*Tmean1 + (vflux-abs(vflux))*Tmean2 - flux(nz,edge)=-0.5_WP*(1.0_WP-num_ord)*cHO - vflux*num_ord*0.5_WP*(Tmean1+Tmean2)-flux(nz,edge) - end do - - !_______________________________________________________________________ - ! (D) remaining segments on the left or on the right - do nz=nl12+1, nl1 - c_lo(1)=real(max(sign(1, nboundary_lay(enodes(1))-nz), 0),WP) - c_lo(2)=real(max(sign(1, nboundary_lay(enodes(2))-nz), 0),WP) - - !____________________________________________________________________ - Tmean2=ttf(nz, enodes(2))- & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(2,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(4,nz,edge))/6.0_WP*c_lo(2) - - Tmean1=ttf(nz, enodes(1))+ & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(1,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(3,nz,edge))/6.0_WP*c_lo(1) - - !____________________________________________________________________ - ! volume flux across the segments - vflux=(-VEL(2,nz,el(1))*deltaX1 + VEL(1,nz,el(1))*deltaY1)*helem(nz,el(1)) - cHO=(vflux+abs(vflux))*Tmean1 + (vflux-abs(vflux))*Tmean2 - flux(nz,edge)=-0.5_WP*(1.0_WP-num_ord)*cHO - vflux*num_ord*0.5_WP*(Tmean1+Tmean2)-flux(nz,edge) - end do - - !_______________________________________________________________________ - ! (E) remaining segments on the left or on the right - do nz=nl12+1, nl2 - c_lo(1)=real(max(sign(1, nboundary_lay(enodes(1))-nz), 0),WP) - c_lo(2)=real(max(sign(1, nboundary_lay(enodes(2))-nz), 0),WP) - - !____________________________________________________________________ - Tmean2=ttf(nz, enodes(2))- & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(2,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(4,nz,edge))/6.0_WP*c_lo(2) - - Tmean1=ttf(nz, enodes(1))+ & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(1,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(3,nz,edge))/6.0_WP*c_lo(1) - - !____________________________________________________________________ - ! volume flux across the segments - vflux=(VEL(2,nz,el(2))*deltaX2 - VEL(1,nz,el(2))*deltaY2)*helem(nz,el(2)) - cHO=(vflux+abs(vflux))*Tmean1 + (vflux-abs(vflux))*Tmean2 - flux(nz,edge)=-0.5_WP*(1.0_WP-num_ord)*cHO - vflux*num_ord*0.5_WP*(Tmean1+Tmean2)-flux(nz,edge) - end do - end do -end subroutine adv_tra_hor_muscl -! -! -!=============================================================================== - subroutine adv_tra_hor_mfct(vel, ttf, partit, mesh, num_ord, flux, edge_up_dn_grad, init_zero) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - implicit none - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: num_ord ! num_ord is the fraction of fourth-order contribution in the solution - real(kind=WP), intent(in) :: ttf( mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: vel(2, mesh%nl-1, partit%myDim_elem2D+partit%eDim_elem2D) - real(kind=WP), intent(inout) :: flux( mesh%nl-1, partit%myDim_edge2D) - real(kind=WP), intent(in) :: edge_up_dn_grad(4, mesh%nl-1, partit%myDim_edge2D) - logical, optional :: init_zero - real(kind=WP) :: deltaX1, deltaY1, deltaX2, deltaY2 - real(kind=WP) :: Tmean1, Tmean2, cHO - real(kind=WP) :: a, vflux - integer :: el(2), enodes(2), nz, edge - integer :: nu12, nl12, nl1, nl2, nu1, nu2 - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - if (present(init_zero))then - if (init_zero) flux=0.0_WP - else - flux=0.0_WP - end if - - ! The result is the low-order solution horizontal fluxes - ! They are put into flux - !___________________________________________________________________________ - do edge=1, myDim_edge2D - ! local indice of nodes that span up edge ed - enodes=edges(:,edge) - - ! local index of element that contribute to edge - el=edge_tri(:,edge) - - ! number of layers -1 at elem el(1) - nl1=nlevels(el(1))-1 - - ! index off surface layer in case of cavity !=1 - nu1=ulevels(el(1)) - - ! edge_cross_dxdy(1:2,ed)... dx,dy distance from element centroid el(1) to - ! center of edge --> needed to calc flux perpedicular to edge from elem el(1) - deltaX1=edge_cross_dxdy(1,edge) - deltaY1=edge_cross_dxdy(2,edge) - a=r_earth*elem_cos(el(1)) - - !_______________________________________________________________________ - ! same parameter but for other element el(2) that contributes to edge ed - ! if el(2)==0 than edge is boundary edge - nl2=0 - nu2=0 - if(el(2)>0) then - deltaX2=edge_cross_dxdy(3,edge) - deltaY2=edge_cross_dxdy(4,edge) - ! number of layers -1 at elem el(2) - nl2=nlevels(el(2))-1 - nu2=ulevels(el(2)) - a=0.5_WP*(a+r_earth*elem_cos(el(2))) - end if - - !_______________________________________________________________________ - ! n2 ... minimum number of layers -1 between element el(1) & el(2) that - ! contribute to edge ed - ! nu12 ... upper index of layers between element el(1) & el(2) that - ! contribute to edge ed - ! be carefull !!! --> if ed is a boundary edge than el(1)~=0 and el(2)==0 - ! that means nl1>0, nl2==0, n2=min(nl1,nl2)=0 !!! - nl12=min(nl1,nl2) - nu12=max(nu1,nu2) - - !_______________________________________________________________________ - ! (A) goes only into this loop when the edge has only facing element - ! el(1) --> so the edge is a boundary edge --> this is for ocean - ! surface in case of cavity - do nz=nu1, nu12-1 - !____________________________________________________________________ - Tmean2=ttf(nz, enodes(2))- & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(2,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(4,nz,edge))/6.0_WP - - Tmean1=ttf(nz, enodes(1))+ & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(1,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(3,nz,edge))/6.0_WP - - !____________________________________________________________________ - ! volume flux across the segments - vflux=(-VEL(2,nz,el(1))*deltaX1 + VEL(1,nz,el(1))*deltaY1)*helem(nz,el(1)) - cHO=(vflux+abs(vflux))*Tmean1 + (vflux-abs(vflux))*Tmean2 - flux(nz,edge)=-0.5_WP*(1.0_WP-num_ord)*cHO - vflux*num_ord*0.5_WP*(Tmean1+Tmean2)-flux(nz,edge) - end do - - !_______________________________________________________________________ - ! (B) goes only into this loop when the edge has only facing elemenmt - ! el(2) --> so the edge is a boundary edge --> this is for ocean - ! surface in case of cavity - if (nu2 > 0) then - do nz=nu2,nu12-1 - !___________________________________________________________________ - Tmean2=ttf(nz, enodes(2))- & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(2,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(4,nz,edge))/6.0_WP - - Tmean1=ttf(nz, enodes(1))+ & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(1,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(3,nz,edge))/6.0_WP - !___________________________________________________________________ - ! volume flux across the segments - vflux=(VEL(2,nz,el(2))*deltaX2 - VEL(1,nz,el(2))*deltaY2)*helem(nz,el(2)) - cHO=(vflux+abs(vflux))*Tmean1 + (vflux-abs(vflux))*Tmean2 - flux(nz,edge)=-0.5_WP*(1.0_WP-num_ord)*cHO - vflux*num_ord*0.5_WP*(Tmean1+Tmean2)-flux(nz,edge) - end do - end if - - !_______________________________________________________________________ - ! (C) Both segments - ! loop over depth layers from top to n2 - ! be carefull !!! --> if ed is a boundary edge, el(2)==0 than n2=0 so - ! you wont enter in this loop - do nz=nu12, nl12 - !___________________________________________________________________ - ! MUSCL-type reconstruction - ! check if upwind or downwind triagle is necessary - ! - ! cross product between velocity vector and cross vector edge-elem-center - ! cross product > 0 --> angle vec_v and (dx,dy) --> [0 180] --> upwind triangle - ! cross product < 0 --> angle vec_v and (dx,dy) --> [180 360] --> downwind triangle - ! - ! o o ! o o - ! / \ / \ ! / \ / \ - ! / \ \ vec_v / \ ! / \ / / \ - ! / up \ \ / dn \ ! / up \ / / dn \ - ! o-------o----+---->o-------o ! o-------o----+---->o-------o - ! 1 / 2 ! 1 \vec_v - ! /vec_v ! \ - ! --> downwind triangle ! --> upwind triangle - ! - ! edge_up_dn_grad(1,nz,edge) ... gradTR_x upwind - ! edge_up_dn_grad(2,nz,edge) ... gradTR_x downwind - ! edge_up_dn_grad(3,nz,edge) ... gradTR_y upwind - ! edge_up_dn_grad(4,nz,edge) ... gradTR_y downwind - - !___________________________________________________________________ - ! use downwind triangle to interpolate Tracer to edge center with - ! fancy scheme --> Linear upwind reconstruction - ! T_n+0.5 = T_n+1 - 1/2*deltax*GRADIENT - ! --> GRADIENT = 2/3 GRAD_edgecenter + 1/3 GRAD_downwindtri - ! T_n+0.5 = T_n+1 - 2/6*(T_n+1-T_n) + 1/6*gradT_down - ! --> edge_up_dn_grad ... contains already elemental tracer gradient - ! of up and dn wind triangle - ! --> Tmean2 ... edge center interpolated Tracer using tracer - ! gradient info from upwind triangle - Tmean2=ttf(nz, enodes(2))- & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(2,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(4,nz,edge))/6.0_WP - - ! use upwind triangle to interpolate Tracer to edge center with - ! fancy scheme --> Linear upwind reconstruction - ! T_n+0.5 = T_n + 1/2*deltax*GRADIENT - ! --> GRADIENT = 2/3 GRAD_edgecenter + 1/3 GRAD_downwindtri - ! T_n+0.5 = T_n + 2/6*(T_n+1-T_n) + 1/6*gradT_down - ! --> Tmean1 ... edge center interpolated Tracer using tracer - ! gradient info from downwind triangle - Tmean1=ttf(nz, enodes(1))+ & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(1,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(3,nz,edge))/6.0_WP - !___________________________________________________________________ - ! volume flux along the edge segment ed - ! netto volume flux along segment that comes from edge node 1 and 2 - ! - ! - ! C1 (centroid el(1)) --> (u1,v1) - ! x - ! ^ - ! (dx1,dy1) | - ! |---> vec_n1 (dy1,-dx1)--> project vec_u1 onto vec_n1 --> -v1*dx1+u1*dy1 --> - ! | | - ! enodes(1) o----------O---------o enodes(2) |-> calculate volume flux out of/in - ! vflux_________/| | the volume of enode1(enode2) through - ! |---> vec_n2 (dy2,-dx2)--> project vec_u2 onto vec_n2 --> -v2*dx2+u2*dy2 --> sections of dx1,dy1 and dx2,dy2 - ! (dx2,dy2) | --> vflux - ! v - ! x - ! C2 (centroid el(2)) --> (u2,v2) - - ! here already assumed that ed is NOT! a boundary edge so el(2) should exist - vflux=(-VEL(2,nz,el(1))*deltaX1 + VEL(1,nz,el(1))*deltaY1)*helem(nz,el(1)) & - +(VEL(2,nz,el(2))*deltaX2 - VEL(1,nz,el(2))*deltaY2)*helem(nz,el(2)) - - !___________________________________________________________________ - ! (1-num_ord) is done with 3rd order upwind - cHO=(vflux+abs(vflux))*Tmean1 + (vflux-abs(vflux))*Tmean2 - flux(nz,edge)=-0.5_WP*(1.0_WP-num_ord)*cHO - vflux*num_ord*0.5_WP*(Tmean1+Tmean2)-flux(nz,edge) - end do - - !_______________________________________________________________________ - ! (D) remaining segments on the left or on the right - do nz=nl12+1, nl1 - !____________________________________________________________________ - Tmean2=ttf(nz, enodes(2))- & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(2,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(4,nz,edge))/6.0_WP - - Tmean1=ttf(nz, enodes(1))+ & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(1,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(3,nz,edge))/6.0_WP - - !____________________________________________________________________ - ! volume flux across the segments - vflux=(-VEL(2,nz,el(1))*deltaX1 + VEL(1,nz,el(1))*deltaY1)*helem(nz,el(1)) - cHO=(vflux+abs(vflux))*Tmean1 + (vflux-abs(vflux))*Tmean2 - flux(nz,edge)=-0.5_WP*(1.0_WP-num_ord)*cHO - vflux*num_ord*0.5_WP*(Tmean1+Tmean2)-flux(nz,edge) - end do - - !_______________________________________________________________________ - ! (E) remaining segments on the left or on the right - do nz=nl12+1, nl2 - !____________________________________________________________________ - Tmean2=ttf(nz, enodes(2))- & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(2,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(4,nz,edge))/6.0_WP - - Tmean1=ttf(nz, enodes(1))+ & - (2.0_WP*(ttf(nz, enodes(2))-ttf(nz,enodes(1)))+ & - edge_dxdy(1,edge)*a*edge_up_dn_grad(1,nz,edge)+ & - edge_dxdy(2,edge)*r_earth*edge_up_dn_grad(3,nz,edge))/6.0_WP - - !____________________________________________________________________ - ! volume flux across the segments - vflux=(VEL(2,nz,el(2))*deltaX2 - VEL(1,nz,el(2))*deltaY2)*helem(nz,el(2)) - cHO=(vflux+abs(vflux))*Tmean1 + (vflux-abs(vflux))*Tmean2 - flux(nz,edge)=-0.5_WP*(1.0_WP-num_ord)*cHO - vflux*num_ord*0.5_WP*(Tmean1+Tmean2)-flux(nz,edge) - end do - end do -end subroutine adv_tra_hor_mfct - diff --git a/src/temp/oce_adv_tra_ver.F90 b/src/temp/oce_adv_tra_ver.F90 deleted file mode 100644 index eab9847a8..000000000 --- a/src/temp/oce_adv_tra_ver.F90 +++ /dev/null @@ -1,598 +0,0 @@ -module oce_adv_tra_ver_interfaces - interface -! implicit 1st order upwind vertical advection with to solve for fct_LO -! updates the input tracer ttf - subroutine adv_tra_vert_impl(dt, w, ttf, partit, mesh) - use mod_mesh - use MOD_PARTIT - real(kind=WP), intent(in), target :: dt - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(inout) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - end subroutine -!=============================================================================== -! 1st order upwind (explicit) -! returns flux given at vertical interfaces of scalar volumes -! IF init_zero=.TRUE. : flux will be set to zero before computation -! IF init_zero=.FALSE. : flux=flux-input flux -! flux is not multiplied with dt - subroutine adv_tra_ver_upw1(w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_PARTIT - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - end subroutine -!=============================================================================== -! QR (4th order centerd) -! returns flux given at vertical interfaces of scalar volumes -! IF init_zero=.TRUE. : flux will be set to zero before computation -! IF init_zero=.FALSE. : flux=flux-input flux -! flux is not multiplied with dt - subroutine adv_tra_ver_qr4c(w, ttf, partit, mesh, num_ord, flux, init_zero) - use MOD_MESH - use MOD_PARTIT - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: num_ord ! num_ord is the fraction of fourth-order contribution in the solution - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - end subroutine -!=============================================================================== -! Vertical advection with PPM reconstruction (5th order) -! returns flux given at vertical interfaces of scalar volumes -! IF init_zero=.TRUE. : flux will be set to zero before computation -! IF init_zero=.FALSE. : flux=flux-input flux -! flux is not multiplied with dt - subroutine adv_tra_vert_ppm(dt, w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_PARTIT - real(kind=WP), intent(in), target :: dt - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - integer :: n, nz, nl1 - real(kind=WP) :: tvert(mesh%nl), tv - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - end subroutine -! central difference reconstruction (2nd order, use only with FCT) -! returns flux given at vertical interfaces of scalar volumes -! IF init_zero=.TRUE. : flux will be set to zero before computation -! IF init_zero=.FALSE. : flux=flux-input flux -! flux is not multiplied with dt - subroutine adv_tra_ver_cdiff(w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_PARTIT - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - integer :: n, nz, nl1 - real(kind=WP) :: tvert(mesh%nl), tv - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - end subroutine - end interface -end module -!=============================================================================== -subroutine adv_tra_vert_impl(dt, w, ttf, partit, mesh) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - - implicit none - real(kind=WP), intent(in) , target :: dt - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in) , target :: mesh - real(kind=WP), intent(inout) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP) :: a(mesh%nl), b(mesh%nl), c(mesh%nl), tr(mesh%nl) - real(kind=WP) :: cp(mesh%nl), tp(mesh%nl) - integer :: nz, n, nzmax, nzmin, tr_num - real(kind=WP) :: m, zinv, dt_inv, dz - real(kind=WP) :: c1, v_adv - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - dt_inv=1.0_WP/dt - - !___________________________________________________________________________ - ! loop over local nodes - do n=1,myDim_nod2D - - ! initialise - a = 0.0_WP - b = 0.0_WP - c = 0.0_WP - tr = 0.0_WP - tp = 0.0_WP - cp = 0.0_WP - - ! max. number of levels at node n - nzmax=nlevels_nod2D(n) - - ! upper surface index, in case of cavity !=1 - nzmin=ulevels_nod2D(n) - - !___________________________________________________________________________ - ! Here can not exchange zbar_n & Z_n with zbar_3d_n & Z_3d_n because - ! they be calculate from the actualized mesh with hnode_new - ! calculate new zbar (depth of layers) and Z (mid depths of layers) - ! depending on layer thinkness over depth at node n - ! Be carefull here vertical operation have to be done on NEW vertical mesh !!! - zbar_n=0.0_WP - Z_n=0.0_WP - zbar_n(nzmax)=zbar_n_bot(n) - Z_n(nzmax-1) =zbar_n(nzmax) + hnode_new(nzmax-1,n)/2.0_WP - do nz=nzmax-1,nzmin+1,-1 - zbar_n(nz) = zbar_n(nz+1) + hnode_new(nz,n) - Z_n(nz-1) = zbar_n(nz) + hnode_new(nz-1,n)/2.0_WP - end do - zbar_n(nzmin) = zbar_n(nzmin+1) + hnode_new(nzmin,n) - - !_______________________________________________________________________ - ! Regular part of coefficients: --> surface layer - nz=nzmin - - ! 1/dz(nz) - zinv=1.0_WP*dt ! no .../(zbar(1)-zbar(2)) because of ALE - - !!PS a(nz)=0.0_WP - !!PS v_adv=zinv*areasvol(nz+1,n)/areasvol(nz,n) - !!PS b(nz)= hnode_new(nz,n)+W(nz, n)*zinv-min(0._WP, W(nz+1, n))*v_adv - !!PS c(nz)=-max(0._WP, W(nz+1, n))*v_adv - - a(nz)=0.0_WP - v_adv=zinv*area(nz ,n)/areasvol(nz,n) - b(nz)= hnode_new(nz,n)+W(nz, n)*v_adv - - v_adv=zinv*area(nz+1,n)/areasvol(nz,n) - b(nz)= b(nz)-min(0._WP, W(nz+1, n))*v_adv - c(nz)=-max(0._WP, W(nz+1, n))*v_adv - - !_______________________________________________________________________ - ! Regular part of coefficients: --> 2nd...nl-2 layer - do nz=nzmin+1, nzmax-2 - ! update from the vertical advection - v_adv=zinv*area(nz ,n)/areasvol(nz,n) - a(nz)=min(0._WP, W(nz, n))*v_adv - b(nz)=hnode_new(nz,n)+max(0._WP, W(nz, n))*v_adv - - v_adv=zinv*area(nz+1,n)/areasvol(nz,n) - b(nz)=b(nz)-min(0._WP, W(nz+1, n))*v_adv - c(nz)= -max(0._WP, W(nz+1, n))*v_adv - end do ! --> do nz=2, nzmax-2 - - !_______________________________________________________________________ - ! Regular part of coefficients: --> nl-1 layer - nz=nzmax-1 - ! update from the vertical advection - !!PS a(nz)= min(0._WP, W(nz, n))*zinv - !!PS b(nz)=hnode_new(nz,n)+max(0._WP, W(nz, n))*zinv - !!PS c(nz)=0.0_WP - v_adv=zinv*area(nz ,n)/areasvol(nz,n) - a(nz)= min(0._WP, W(nz, n))*v_adv - b(nz)=hnode_new(nz,n)+max(0._WP, W(nz, n))*v_adv - c(nz)=0.0_WP - - !_______________________________________________________________________ - nz=nzmin - dz=hnode_new(nz,n) ! It would be (zbar(nz)-zbar(nz+1)) if not ALE - tr(nz)=-(b(nz)-dz)*ttf(nz,n)-c(nz)*ttf(nz+1,n) - - do nz=nzmin+1,nzmax-2 - dz=hnode_new(nz,n) - tr(nz)=-a(nz)*ttf(nz-1,n)-(b(nz)-dz)*ttf(nz,n)-c(nz)*ttf(nz+1,n) - end do - nz=nzmax-1 - dz=hnode_new(nz,n) - tr(nz)=-a(nz)*ttf(nz-1,n)-(b(nz)-dz)*ttf(nz,n) - - !_______________________________________________________________________ - nz = nzmin - cp(nz) = c(nz)/b(nz) - tp(nz) = tr(nz)/b(nz) - - ! solve for vectors c-prime and t, s-prime - do nz = nzmin+1,nzmax-1 - m = b(nz)-cp(nz-1)*a(nz) - cp(nz) = c(nz)/m - tp(nz) = (tr(nz)-tp(nz-1)*a(nz))/m - end do - - !_______________________________________________________________________ - ! start with back substitution - tr(nzmax-1) = tp(nzmax-1) - - ! solve for x from the vectors c-prime and d-prime - do nz = nzmax-2, nzmin, -1 - tr(nz) = tp(nz)-cp(nz)*tr(nz+1) - end do - - !_______________________________________________________________________ - ! update tracer - do nz=nzmin,nzmax-1 - ttf(nz,n)=ttf(nz,n)+tr(nz) - end do - end do ! --> do n=1,myDim_nod2D -end subroutine adv_tra_vert_impl -! -! -!=============================================================================== -subroutine adv_tra_ver_upw1(w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - - implicit none - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP) :: tvert(mesh%nl) - integer :: n, nz, nzmax, nzmin - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - if (present(init_zero))then - if (init_zero) flux=0.0_WP - else - flux=0.0_WP - end if - - do n=1, myDim_nod2D - !_______________________________________________________________________ - nzmax=nlevels_nod2D(n) - nzmin=ulevels_nod2D(n) - - !_______________________________________________________________________ - ! vert. flux at surface layer - nz=nzmin - flux(nz,n)=-W(nz,n)*ttf(nz,n)*area(nz,n)-flux(nz,n) - - !_______________________________________________________________________ - ! vert. flux at bottom layer --> zero bottom flux - nz=nzmax - flux(nz,n)= 0.0_WP-flux(nz,n) - - !_______________________________________________________________________ - ! Be carefull have to do vertical tracer advection here on old vertical grid - ! also horizontal advection is done on old mesh (see helem contains old - ! mesh information) - !_______________________________________________________________________ - ! vert. flux at remaining levels - do nz=nzmin+1,nzmax-1 - flux(nz,n)=-0.5*( & - ttf(nz ,n)*(W(nz,n)+abs(W(nz,n)))+ & - ttf(nz-1,n)*(W(nz,n)-abs(W(nz,n))))*area(nz,n)-flux(nz,n) - end do - end do -end subroutine adv_tra_ver_upw1 -! -! -!=============================================================================== -subroutine adv_tra_ver_qr4c(w, ttf, partit, mesh, num_ord, flux, init_zero) - use MOD_MESH - use o_ARRAYS - use o_PARAM - use MOD_PARTIT - implicit none - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: num_ord ! num_ord is the fraction of fourth-order contribution in the solution - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - real(kind=WP) :: tvert(mesh%nl) - integer :: n, nz, nzmax, nzmin - real(kind=WP) :: Tmean, Tmean1, Tmean2 - real(kind=WP) :: qc, qu, qd - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - if (present(init_zero))then - if (init_zero) flux=0.0_WP - else - flux=0.0_WP - end if - - do n=1, myDim_nod2D - !_______________________________________________________________________ - nzmax=nlevels_nod2D(n) - nzmin=ulevels_nod2D(n) - !_______________________________________________________________________ - ! vert. flux at surface layer - nz=nzmin - flux(nz,n)=-ttf(nz,n)*W(nz,n)*area(nz,n)-flux(nz,n) - - !_______________________________________________________________________ - ! vert. flux 2nd layer --> centered differences - nz=nzmin+1 - flux(nz,n)=-0.5_WP*(ttf(nz-1,n)+ttf(nz,n))*W(nz,n)*area(nz,n)-flux(nz,n) - - !_______________________________________________________________________ - ! vert. flux at bottom - 1 layer --> centered differences - nz=nzmax-1 - flux(nz,n)=-0.5_WP*(ttf(nz-1,n)+ttf(nz,n))*W(nz,n)*area(nz,n)-flux(nz,n) - - !_______________________________________________________________________ - ! vert. flux at bottom layer --> zero bottom flux - nz=nzmax - flux(nz,n)= 0.0_WP-flux(nz,n) - - !_______________________________________________________________________ - ! Be carefull have to do vertical tracer advection here on old vertical grid - ! also horizontal advection is done on old mesh (see helem contains old - ! mesh information) - !_______________________________________________________________________ - ! vert. flux at remaining levels - do nz=nzmin+2,nzmax-2 - !centered (4th order) - qc=(ttf(nz-1,n)-ttf(nz ,n))/(Z_3d_n(nz-1,n)-Z_3d_n(nz ,n)) - qu=(ttf(nz ,n)-ttf(nz+1,n))/(Z_3d_n(nz ,n)-Z_3d_n(nz+1,n)) - qd=(ttf(nz-2,n)-ttf(nz-1,n))/(Z_3d_n(nz-2,n)-Z_3d_n(nz-1,n)) - - Tmean1=ttf(nz ,n)+(2*qc+qu)*(zbar_3d_n(nz,n)-Z_3d_n(nz ,n))/3.0_WP - Tmean2=ttf(nz-1,n)+(2*qc+qd)*(zbar_3d_n(nz,n)-Z_3d_n(nz-1,n))/3.0_WP - Tmean =(W(nz,n)+abs(W(nz,n)))*Tmean1+(W(nz,n)-abs(W(nz,n)))*Tmean2 - ! flux(nz,n)=-0.5_WP*(num_ord*(Tmean1+Tmean2)*W(nz,n)+(1.0_WP-num_ord)*Tmean)*area(nz,n)-flux(nz,n) - flux(nz,n)=(-0.5_WP*(1.0_WP-num_ord)*Tmean - num_ord*(0.5_WP*(Tmean1+Tmean2))*W(nz,n))*area(nz,n)-flux(nz,n) - end do - end do -end subroutine adv_tra_ver_qr4c -! -! -!=============================================================================== -subroutine adv_tra_vert_ppm(dt, w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - implicit none - real(kind=WP), intent(in), target :: dt - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in) , target :: mesh - real(kind=WP), intent(in) :: ttf (mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - real(kind=WP) :: tvert(mesh%nl), tv(mesh%nl), aL, aR, aj, x - real(kind=WP) :: dzjm1, dzj, dzjp1, dzjp2, deltaj, deltajp1 - integer :: n, nz, nzmax, nzmin - integer :: overshoot_counter, counter - -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - if (present(init_zero))then - if (init_zero) flux=0.0_WP - else - flux=0.0_WP - end if - - ! -------------------------------------------------------------------------- - ! Vertical advection - ! -------------------------------------------------------------------------- - ! A piecewise parabolic scheme for uniformly-spaced layers. - ! See Colella and Woodward, JCP, 1984, 174-201. It can be coded so as to to take - ! non-uniformity into account, but this is more cumbersome. This is the version for AB - ! time stepping - ! -------------------------------------------------------------------------- - overshoot_counter=0 - counter =0 - do n=1, myDim_nod2D - !_______________________________________________________________________ - !Interpolate to zbar...depth levels --> all quantities (tracer ...) are - ! calculated on mid depth levels - ! nzmax ... number of depth levels at node n - nzmax=nlevels_nod2D(n) - nzmin=ulevels_nod2D(n) - - ! tracer at surface level - tv(nzmin)=ttf(nzmin,n) - ! tracer at surface+1 level -! tv(2)=-ttf(1,n)*min(sign(1.0, W(2,n)), 0._WP)+ttf(2,n)*max(sign(1.0, W(2,n)), 0._WP) -! tv(3)=-ttf(2,n)*min(sign(1.0, W(3,n)), 0._WP)+ttf(3,n)*max(sign(1.0, W(3,n)), 0._WP) - tv(nzmin+1)=0.5*(ttf(nzmin, n)+ttf(nzmin+1,n)) - ! tacer at bottom-1 level - tv(nzmax-1)=-ttf(nzmax-2,n)*min(sign(1.0_wp, W(nzmax-1,n)), 0._WP)+ttf(nzmax-1,n)*max(sign(1.0_wp, W(nzmax-1,n)), 0._WP) -! tv(nzmax-1)=0.5_WP*(ttf(nzmax-2,n)+ttf(nzmax-1,n)) - ! tracer at bottom level - tv(nzmax)=ttf(nzmax-1,n) - - !_______________________________________________________________________ - ! calc tracer for surface+2 until depth-2 layer - ! see Colella and Woodward, JCP, 1984, 174-201 --> equation (1.9) - ! loop over layers (segments) - !!PS do nz=3, nzmax-3 - do nz=nzmin+1, nzmax-3 - !___________________________________________________________________ - ! for uniform spaced vertical grids --> piecewise parabolic method (ppm) - ! equation (1.9) - ! tv(nz)=(7.0_WP*(ttf(nz-1,n)+ttf(nz,n))-(ttf(nz-2,n)+ttf(nz+1,n)))/12.0_WP - - !___________________________________________________________________ - ! for non-uniformity spaced vertical grids --> piecewise parabolic - ! method (ppm) see see Colella and Woodward, JCP, 1984, 174-201 - ! --> full equation (1.6), (1.7) and (1.8) - dzjm1 = hnode_new(nz-1,n) - dzj = hnode_new(nz ,n) - dzjp1 = hnode_new(nz+1,n) - dzjp2 = hnode_new(nz+2,n) - ! Be carefull here vertical operation have to be done on NEW vertical mesh !!! - - !___________________________________________________________________ - ! equation (1.7) - ! --> Here deltaj is the average slope in the jth zone of the parabola - ! with zone averages a_(j-1) and a_j, a_(j+1) - ! --> a_j^n - deltaj = dzj/(dzjm1+dzj+dzjp1)* & - ( & - (2._WP*dzjm1+dzj )/(dzjp1+dzj)*(ttf(nz+1,n)-ttf(nz ,n)) + & - (dzj +2._WP*dzjp1)/(dzjm1+dzj)*(ttf(nz ,n)-ttf(nz-1,n)) & - ) - ! --> a_(j+1)^n - deltajp1 = dzjp1/(dzj+dzjp1+dzjp2)* & - ( & - (2._WP*dzj+dzjp1 )/(dzjp2+dzjp1)*(ttf(nz+2,n)-ttf(nz+1,n)) + & - (dzjp1+2._WP*dzjp2)/(dzj +dzjp1)*(ttf(nz+1,n)-ttf(nz ,n)) & - ) - !___________________________________________________________________ - ! condition (1.8) - ! --> This modification leads to a somewhat steeper representation of - ! discontinuities in the solution. It also guarantees that a_(j+0.5) - ! lies in the range of values defined by a_j; and a_(j+1); - if ( (ttf(nz+1,n)-ttf(nz ,n))*(ttf(nz ,n)-ttf(nz-1,n)) > 0._WP ) then - deltaj = min( abs(deltaj), & - 2._WP*abs(ttf(nz+1,n)-ttf(nz ,n)),& - 2._WP*abs(ttf(nz ,n)-ttf(nz-1,n)) & - )*sign(1.0_WP,deltaj) - else - deltaj = 0.0_WP - endif - if ( (ttf(nz+2,n)-ttf(nz+1,n))*(ttf(nz+1,n)-ttf(nz ,n)) > 0._WP ) then - deltajp1 = min( abs(deltajp1),& - 2._WP*abs(ttf(nz+2,n)-ttf(nz+1,n)),& - 2._WP*abs(ttf(nz+1,n)-ttf(nz,n)) & - )*sign(1.0_WP,deltajp1) - else - deltajp1 = 0.0_WP - endif - !___________________________________________________________________ - ! equation (1.6) - ! --> calcualte a_(j+0.5) - ! nz+1 is the interface betweel layers (segments) nz and nz+1 - tv(nz+1)= ttf(nz,n) & - + dzj/(dzj+dzjp1)*(ttf(nz+1,n)-ttf(nz,n)) & - + 1._WP/(dzjm1+dzj+dzjp1+dzjp2) * & - ( & - (2._WP*dzjp1*dzj)/(dzj+dzjp1)* & - ((dzjm1+dzj)/(2._WP*dzj+dzjp1) - (dzjp2+dzjp1)/(2._WP*dzjp1+dzj))*(ttf(nz+1,n)-ttf(nz,n)) & - - dzj*(dzjm1+dzj)/(2._WP*dzj+dzjp1)*deltajp1 & - + dzjp1*(dzjp1+dzjp2)/(dzj+2._WP*dzjp1)*deltaj & - ) - !tv(nz+1)=max(min(ttf(nz, n), ttf(nz+1, n)), min(max(ttf(nz, n), ttf(nz+1, n)), tv(nz+1))) - end do ! --> do nz=2,nzmax-3 - - tvert(1:nzmax)=0._WP - ! loop over layers (segments) - do nz=nzmin, nzmax-1 - if ((W(nz,n)<=0._WP) .AND. (W(nz+1,n)>=0._WP)) CYCLE - counter=counter+1 - aL=tv(nz) - aR=tv(nz+1) - if ((aR-ttf(nz, n))*(ttf(nz, n)-aL)<=0._WP) then - ! write(*,*) aL, ttf(nz, n), aR - overshoot_counter=overshoot_counter+1 - aL =ttf(nz, n) - aR =ttf(nz, n) - end if - if ((aR-aL)*(ttf(nz, n)-0.5_WP*(aL+aR))> (aR-aL)**2/6._WP) then - aL =3._WP*ttf(nz, n)-2._WP*aR - end if - if ((aR-aL)*(ttf(nz, n)-0.5_WP*(aR+aL))<-(aR-aL)**2/6._WP) then - aR =3._WP*ttf(nz, n)-2._WP*aL - end if - - dzj = hnode(nz,n) - aj=6.0_WP*(ttf(nz, n)-0.5_WP*(aL+aR)) - - if (W(nz,n)>0._WP) then - x=min(W(nz,n)*dt/dzj, 1._WP) - tvert(nz )=(-aL-0.5_WP*x*(aR-aL+(1._WP-2._WP/3._WP*x)*aj)) - tvert(nz )=tvert(nz) ! compute 2nd moment for DVD - tvert(nz )=tvert(nz)*area(nz,n)*W(nz,n) - end if - - if (W(nz+1,n)<0._WP) then - x=min(-W(nz+1,n)*dt/dzj, 1._WP) - tvert(nz+1)=(-aR+0.5_WP*x*(aR-aL-(1._WP-2._WP/3._WP*x)*aj)) - tvert(nz+1)=tvert(nz+1) ! compute 2nd moment for DVD - tvert(nz+1)=tvert(nz+1)*area(nz+1,n)*W(nz+1,n) - end if - end do - - !_______________________________________________________________________ - ! Surface flux - tvert(nzmin)= -tv(nzmin)*W(nzmin,n)*area(nzmin,n) - ! Zero bottom flux - tvert(nzmax)=0.0_WP - flux(nzmin:nzmax, n)=tvert(nzmin:nzmax)-flux(nzmin:nzmax, n) - end do ! --> do n=1, myDim_nod2D -! if (mype==0) write(*,*) 'PPM overshoot statistics:', real(overshoot_counter)/real(counter) -end subroutine adv_tra_vert_ppm -! -! -!=============================================================================== -subroutine adv_tra_ver_cdiff(w, ttf, partit, mesh, flux, init_zero) - use MOD_MESH - use MOD_TRACER - use MOD_PARTIT - use g_comm_auto - implicit none - type(t_partit),intent(in), target :: partit - type(t_mesh), intent(in), target :: mesh - real(kind=WP), intent(in) :: ttf(mesh%nl-1, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(in) :: W (mesh%nl, partit%myDim_nod2D+partit%eDim_nod2D) - real(kind=WP), intent(inout) :: flux(mesh%nl, partit%myDim_nod2D) - logical, optional :: init_zero - integer :: n, nz, nzmax, nzmin - real(kind=WP) :: tvert(mesh%nl), tv -#include "associate_part_def.h" -#include "associate_mesh_def.h" -#include "associate_part_ass.h" -#include "associate_mesh_ass.h" - - if (present(init_zero))then - if (init_zero) flux=0.0_WP - else - flux=0.0_WP - end if - - do n=1, myDim_nod2D - !_______________________________________________________________________ - nzmax=nlevels_nod2D(n)-1 - nzmin=ulevels_nod2D(n) - - !_______________________________________________________________________ - ! Surface flux - tvert(nzmin)= -W(nzmin,n)*ttf(nzmin,n)*area(nzmin,n) - - !_______________________________________________________________________ - ! Zero bottom flux - tvert(nzmax+1)=0.0_WP - - !_______________________________________________________________________ - ! Other levels - do nz=nzmin+1, nzmax - tv=0.5_WP*(ttf(nz-1,n)+ttf(nz,n)) - tvert(nz)= -tv*W(nz,n)*area(nz,n) - end do - - !_______________________________________________________________________ - flux(nzmin:nzmax, n)=tvert(nzmin:nzmax)-flux(nzmin:nzmax, n) - end do ! --> do n=1, myDim_nod2D -end subroutine adv_tra_ver_cdiff diff --git a/src/temp/oce_modules.F90 b/src/temp/oce_modules.F90 deleted file mode 100755 index 2da93f461..000000000 --- a/src/temp/oce_modules.F90 +++ /dev/null @@ -1,267 +0,0 @@ - -! Modules of cell-vertex ocean model -! S. Danilov, 2012 (sergey.danilov@awi.de) -! SI units are used - -!========================================================== -MODULE o_PARAM -integer, parameter :: WP=8 ! Working precision -integer, parameter :: MAX_PATH=4096 ! Maximum file path length -integer :: mstep -real(kind=WP), parameter :: pi=3.14159265358979 -real(kind=WP), parameter :: rad=pi/180.0_WP -real(kind=WP), parameter :: density_0=1030.0_WP -real(kind=WP), parameter :: density_0_r=1.0_WP/density_0 ! [m^3/kg] -real(kind=WP), parameter :: g=9.81_WP -real(kind=WP), parameter :: r_earth=6367500.0_WP -real(kind=WP), parameter :: omega=2*pi/(3600.0_WP*24.0_WP) -real(kind=WP), parameter :: vcpw=4.2e6 ![J/m^3/K] water heat cap -real(kind=WP), parameter :: inv_vcpw = 1._WP / vcpw ! inverse, to replace divide by multiply -real(kind=WP), parameter :: small=1.0e-8 !small value -integer :: state_equation = 1 !1 - full equation of state, 0 - linear equation of state - -real(kind=WP) :: C_d= 0.0025_WP ! Bottom drag coefficient -real(kind=WP) :: kappa=0.4 !von Karman's constant -real(kind=WP) :: mix_coeff_PP=0.01_WP ! mixing coef for PP scheme -real(kind=WP) :: gamma0=0.01! [m/s], gamma0*len*dt is the background viscosity -real(kind=WP) :: gamma1=0.1! [non dim.], or computation of the flow aware viscosity -real(kind=WP) :: gamma2=10.! [s/m], is only used in easy backscatter option -real(kind=WP) :: Div_c =1.0_WP !modified Leith viscosity weight -real(kind=WP) :: Leith_c=1.0_WP !Leith viscosity weight. It needs vorticity! -real(kind=WP) :: easy_bs_return=1.0 !backscatter option only (how much to return) -real(kind=WP) :: A_ver=0.001_WP ! Vertical harm. visc. -integer :: visc_option=5 -logical :: uke_scaling=.true. -real(kind=WP) :: uke_scaling_factor=1._WP -real(kind=WP) :: rosb_dis=1._WP -integer :: smooth_back=2 -integer :: smooth_dis=2 -integer :: smooth_back_tend=4 -real(kind=WP) :: K_back=600._WP -real(kind=WP) :: c_back=0.1_8 -real(kind=WP) :: K_hor=10._WP -real(kind=WP) :: K_ver=0.00001_WP -real(kind=WP) :: scale_area=2.0e8 -real(kind=WP) :: surf_relax_T= 0.0_WP -real(kind=WP) :: surf_relax_S= 10.0_WP/(60*3600.0_WP*24) -logical :: balance_salt_water =.true. -real(kind=WP) :: clim_relax= 1.0_WP/(10*3600.0_WP*24) -real(kind=WP) :: clim_decay, clim_growth - ! set to 0.0 if no relaxation -logical :: ref_sss_local=.false. -real(kind=WP) :: ref_sss=34.7 -logical :: Fer_GM =.false. !flag for Ferrari et al. (2010) GM scheme -real(kind=WP) :: K_GM_max = 3000. -real(kind=WP) :: K_GM_min = 2.0 -integer :: K_GM_bvref = 2 ! 0...surface, 1...bottom mixlay, 2...mean over mixlay -real(kind=WP) :: K_GM_resscalorder = 2.0 -real(kind=WP) :: K_GM_rampmax = 40.0 ! Resol >K_GM_rampmax[km] GM full -real(kind=WP) :: K_GM_rampmin = 30.0 ! Resol replace string by int comparison -real(KIND=WP) :: Ricr = 0.3_WP ! critical bulk Richardson Number -real(KIND=WP) :: concv = 1.6_WP ! constant for pure convection (eqn. 23) (Large 1.5-1.6; MOM default 1.8) - -logical :: hbl_diag =.false. ! writen boundary layer depth -logical :: use_global_tides=.false. ! tidal potential will be computed and used in the SSH gradient computation -! Time stepping -! real(kind=WP) :: alpha=1.0_WP, theta=1.0_WP ! implicitness for -real(kind=WP) :: alpha=1.0_WP, theta=1.0_WP ! implicitness for - ! elevation and divergence -real(kind=WP) :: epsilon=0.1_WP ! AB2 offset -! Tracers -logical :: i_vert_visc= .true. -logical :: w_split =.false. -real(kind=WP) :: w_max_cfl=1.e-5_WP - -logical :: SPP=.false. - -TYPE tracer_source3d_type - integer :: locID - integer :: ID - integer, allocatable, dimension(:) :: ind2 -END TYPE tracer_source3d_type - -type(tracer_source3d_type), & - allocatable, dimension(:) :: ptracers_restore -integer :: ptracers_restore_total=0 - - -! Momentum -logical :: free_slip=.false. - ! false=no slip -integer :: mom_adv=2 - ! 1 vector control volumes, p1 velocities - ! 2 scalar control volumes - ! 3 vector invariant - -logical :: open_b=.false. ! Reserved - -!_______________________________________________________________________________ -!--> mixing enhancement than can be applied via subroutine mo_convect(mesh) -! additionally to every mixing scheme i.e. KPP, PP, cvmix_KPP, cvmix_PP, cvmix_TKE - -! Switch for Monin-Obukov TB04 mixing --> can be additionally applied for all mixing schemes -! --> definetely recommented for KPP -logical :: use_momix = .true. !.false. !Monin-Obukhov -> TB04 mixing on/off -real(kind=WP) :: momix_lat = -50.0_WP ! latitudinal treshhold to apply mo_on enhanced -! convection -logical :: use_instabmix = .true. -real(kind=WP) :: instabmix_kv = 0.1 - -! Switch for enhanced wind mixing --> nasty trick from pp mixing in FESOM1.4 -logical :: use_windmix = .false. -real(kind=WP) :: windmix_kv = 1.e-3 -integer :: windmix_nl = 2 - -!_______________________________________________________________________________ -! use non-constant reference density if .false. density_ref=density_0 -logical :: use_density_ref = .false. -real(kind=WP) :: density_ref_T = 2.0_WP -real(kind=WP) :: density_ref_S = 34.0_WP - -!_______________________________________________________________________________ -! use k-profile nonlocal fluxes -logical :: use_kpp_nonlclflx = .false. - -!_______________________________________________________________________________ -! *** active tracer cutoff -logical :: limit_salinity=.true. !set an allowed range for salinity -real(kind=WP) :: salinity_min=5.0 !minimal salinity -real(kind=WP) :: coeff_limit_salinity=0.0023 !m/s, coefficient to restore s to s_min - - namelist /tracer_cutoff/ limit_salinity, salinity_min, coeff_limit_salinity - -! *** others *** - real(kind=WP) :: time_sum=0.0 ! for runtime estimate - -!___________________________________________ -! Pressure Gradient Force calculation (pgf) -! calculation of pgf either: -! only linfs: -! > 'nemo' ... like NEMO (interpolate to elemental depth, inter-/extrapolation) -! linfs, zlevel, zstar: -! > 'shchepetkin' ... based on density jacobian -! > 'cubicspline' ... like in FESOM1.4 -! > 'easypgf' ... interpolate pressure on elemental depth -character(20) :: which_pgf='shchepetkin' - - - NAMELIST /oce_dyn/ state_equation, C_d, A_ver, gamma0, gamma1, gamma2, Leith_c, Div_c, easy_bs_return, & - scale_area, mom_adv, free_slip, i_vert_visc, w_split, w_max_cfl, SPP,& - Fer_GM, K_GM_max, K_GM_min, K_GM_bvref, K_GM_resscalorder, K_GM_rampmax, K_GM_rampmin, & - scaling_Ferreira, scaling_Rossby, scaling_resolution, scaling_FESOM14, & - Redi, visc_sh_limit, mix_scheme, Ricr, concv, which_pgf, visc_option, alpha, theta, use_density_ref, & - K_back, c_back, uke_scaling, uke_scaling_factor, smooth_back, smooth_dis, & - smooth_back_tend, rosb_dis - - NAMELIST /tracer_phys/ diff_sh_limit, Kv0_const, double_diffusion, K_ver, K_hor, surf_relax_T, surf_relax_S, & - balance_salt_water, clim_relax, ref_sss_local, ref_sss, & - use_momix, momix_lat, momix_kv, & - use_instabmix, instabmix_kv, & - use_windmix, windmix_kv, windmix_nl, & - use_kpp_nonlclflx - -END MODULE o_PARAM -!========================================================== -MODULE o_ARRAYS -USE o_PARAM -IMPLICIT NONE -! Arrays are described in subroutine array_setup -real(kind=WP), allocatable, target :: Wvel(:,:), Wvel_e(:,:), Wvel_i(:,:) -real(kind=WP), allocatable :: UV(:,:,:) -real(kind=WP), allocatable :: UV_rhs(:,:,:), UV_rhsAB(:,:,:) -real(kind=WP), allocatable :: uke(:,:), v_back(:,:), uke_back(:,:), uke_dis(:,:), uke_dif(:,:) -real(kind=WP), allocatable :: uke_rhs(:,:), uke_rhs_old(:,:) -real(kind=WP), allocatable :: UV_dis_tend(:,:,:), UV_back_tend(:,:,:), UV_total_tend(:,:,:), UV_dis_tend_node(:,:,:) -real(kind=WP), allocatable :: UV_dis_posdef_b2(:,:), UV_dis_posdef(:,:), UV_back_posdef(:,:) -real(kind=WP), allocatable :: eta_n(:), d_eta(:) -real(kind=WP), allocatable :: ssh_rhs(:), hpressure(:,:) -real(kind=WP), allocatable :: CFL_z(:,:) -real(kind=WP), allocatable :: stress_surf(:,:) -real(kind=WP), allocatable :: stress_node_surf(:,:) -REAL(kind=WP), ALLOCATABLE :: stress_atmoce_x(:) -REAL(kind=WP), ALLOCATABLE :: stress_atmoce_y(:) -real(kind=WP), allocatable :: heat_flux(:), Tsurf(:) -real(kind=WP), allocatable :: heat_flux_in(:) !to keep the unmodified (by SW penetration etc.) heat flux -real(kind=WP), allocatable :: water_flux(:), Ssurf(:) -real(kind=WP), allocatable :: virtual_salt(:), relax_salt(:) -real(kind=WP), allocatable :: Tclim(:,:), Sclim(:,:) -real(kind=WP), allocatable :: Visc(:,:) -real(kind=WP), allocatable :: Tsurf_t(:,:), Ssurf_t(:,:) -real(kind=WP), allocatable :: tau_x_t(:,:), tau_y_t(:,:) -real(kind=WP), allocatable :: heat_flux_t(:,:), heat_rel_t(:,:), heat_rel(:) -real(kind=WP), allocatable :: coriolis(:), coriolis_node(:) -real(kind=WP), allocatable :: relax2clim(:) -real(kind=WP), allocatable :: MLD1(:), MLD2(:), MLD3(:) -integer, allocatable :: MLD1_ind(:), MLD2_ind(:), MLD3_ind(:) -real(kind=WP), allocatable :: ssh_gp(:) -!Tracer gradients&RHS -real(kind=WP), allocatable :: ttrhs(:,:) -real(kind=WP), allocatable :: tr_xy(:,:,:) -real(kind=WP), allocatable :: tr_z(:,:) - -! Auxiliary arrays for vector-invariant form of momentum advection -real(kind=WP), allocatable,dimension(:,:) :: vorticity - -!Viscosity and diff coefs -real(kind=WP), allocatable,dimension(:,:) :: Av,Kv -real(kind=WP), allocatable,dimension(:,:,:) :: Kv_double -real(kind=WP), allocatable,dimension(:) :: Kv0 -!Velocities interpolated to nodes -real(kind=WP), allocatable,dimension(:,:,:) :: Unode - -! Auxiliary arrays to store Redi-GM fields -real(kind=WP), allocatable,dimension(:,:,:) :: neutral_slope -real(kind=WP), allocatable,dimension(:,:,:) :: slope_tapered -real(kind=WP), allocatable,dimension(:,:,:) :: sigma_xy -real(kind=WP), allocatable,dimension(:,:) :: sw_beta, sw_alpha -real(kind=WP), allocatable,dimension(:) :: dens_flux -!real(kind=WP), allocatable,dimension(:,:,:) :: tsh, tsv, tsh_nodes -!real(kind=WP), allocatable,dimension(:,:) :: hd_flux,vd_flux -!Isoneutral diffusivities (or xy diffusivities if Redi=.false) -real(kind=WP), allocatable :: Ki(:,:) - -! --> auxiliary array to store an intermediate part of the rhs computations. -real(kind=WP), allocatable,dimension(:) :: ssh_rhs_old !, ssh_rhs_old2 !PS -real(kind=WP) :: is_nonlinfs - -!_______________________________________________________________________________ -! Arrays added for pressure gradient force calculation -real(kind=WP), allocatable,dimension(:,:) :: density_m_rho0 -real(kind=WP), allocatable,dimension(:,:) :: density_m_rho0_slev -real(kind=WP), allocatable,dimension(:,:) :: density_ref -real(kind=WP), allocatable,dimension(:,:) :: density_dmoc -real(kind=WP), allocatable,dimension(:,:) :: pgf_x, pgf_y - -!_______________________________________________________________________________ -!!PS ! dummy arrays -real(kind=WP), allocatable,dimension(:,:) :: dum_3d_n !, dum_3d_e -!!PS real(kind=WP), allocatable,dimension(:) :: dum_2d_n, dum_2d_e - -!_______________________________________________________________________________ -!Monin-Obukhov correction -real(kind=WP),allocatable :: mo(:,:),mixlength(:) -!GM_stuff -real(kind=WP),allocatable :: bvfreq(:,:),mixlay_dep(:),bv_ref(:) - -real(kind=WP), allocatable :: fer_UV(:,:,:), fer_wvel(:,:) -real(kind=WP), target, allocatable :: fer_c(:), fer_scal(:), fer_K(:,:), fer_gamma(:,:,:) - -real(kind=WP), allocatable :: ice_rejected_salt(:) -END MODULE o_ARRAYS -!========================================================== From 44ec629f0e936dc8b7c7011d1e32cf94921dda00 Mon Sep 17 00:00:00 2001 From: Paul Gierz Date: Wed, 25 Sep 2024 09:29:52 +0200 Subject: [PATCH 232/273] remove old files --- .../actual_ugrid_ncdump.txt | 0 .../example_ugrid_ncdump.txt | 0 test_pgierz/test_one_timestep.sh | 32 ------------------- 3 files changed, 32 deletions(-) rename {test_pgierz => test/ugrid_complicance}/actual_ugrid_ncdump.txt (100%) rename {test_pgierz => test/ugrid_complicance}/example_ugrid_ncdump.txt (100%) delete mode 100755 test_pgierz/test_one_timestep.sh diff --git a/test_pgierz/actual_ugrid_ncdump.txt b/test/ugrid_complicance/actual_ugrid_ncdump.txt similarity index 100% rename from test_pgierz/actual_ugrid_ncdump.txt rename to test/ugrid_complicance/actual_ugrid_ncdump.txt diff --git a/test_pgierz/example_ugrid_ncdump.txt b/test/ugrid_complicance/example_ugrid_ncdump.txt similarity index 100% rename from test_pgierz/example_ugrid_ncdump.txt rename to test/ugrid_complicance/example_ugrid_ncdump.txt diff --git a/test_pgierz/test_one_timestep.sh b/test_pgierz/test_one_timestep.sh deleted file mode 100755 index e28dc5724..000000000 --- a/test_pgierz/test_one_timestep.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -# Run simples FESOM2 test in a container. -# -# With singularity on ollie -# -# module load singularity/3.9.1 -# cd fesom2 -# singularity exec /home/ollie/nkolduno/SINGULARITY/fesom_refactoring.sif ./test.sh -# -# With docker on Linux/Mac -# docker run -it -v "$(pwd)"/fesom2:/fesom/fesom2 koldunovn/fesom2_test:refactoring /bin/bash -# cd fesom2 -# ./test.sh -# - -set -e - -machine="docker" -tests="test_pi" - -for test in $tests; do - - ./configure.sh ubuntu - echo $test - mkrun pi $test -m $machine - cd work_pi_one_timestep - chmod +x job_docker_new - ./job_docker_new_one_timestep - fcheck . - cd ../ - -done From ca9b39a9dbdddf07a8088d1c1fc68a52b35de743 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Fri, 27 Sep 2024 18:38:41 +0200 Subject: [PATCH 233/273] enable icebergs with cavities --- src/gen_modules_config.F90 | 6 +- src/icb_allocate.F90 | 4 +- src/icb_coupling.F90 | 55 ++++-- src/icb_coupling.F90.rej | 22 --- src/icb_dyn.F90 | 304 ++++++++++++++++++++++++++++++-- src/icb_elem.F90 | 43 +++-- src/icb_elem.F90.rej | 59 ------- src/icb_modules.F90 | 5 +- src/icb_modules.F90.rej | 72 -------- src/icb_step.F90 | 99 ++++++----- src/icb_step.F90.rej | 121 ------------- src/icb_thermo.F90 | 124 +++++++++----- src/icb_thermo.F90.rej | 324 ----------------------------------- src/ice_oce_coupling.F90 | 25 +-- src/ice_oce_coupling.F90.rej | 23 --- src/io_meandata.F90.rej | 11 -- src/oce_ale_tracer.F90.rej | 9 - 17 files changed, 522 insertions(+), 784 deletions(-) delete mode 100644 src/icb_coupling.F90.rej delete mode 100644 src/icb_elem.F90.rej delete mode 100644 src/icb_modules.F90.rej delete mode 100644 src/icb_step.F90.rej delete mode 100644 src/icb_thermo.F90.rej delete mode 100644 src/ice_oce_coupling.F90.rej delete mode 100644 src/io_meandata.F90.rej delete mode 100644 src/oce_ale_tracer.F90.rej diff --git a/src/gen_modules_config.F90 b/src/gen_modules_config.F90 index f4766764e..8916e845e 100755 --- a/src/gen_modules_config.F90 +++ b/src/gen_modules_config.F90 @@ -123,8 +123,9 @@ module g_config logical :: turn_off_fw=.false. logical :: use_icesheet_coupling=.false. logical :: lbalance_fw=.true. - logical :: lcell_saturation=.true. + integer :: cell_saturation=2 ! 0=no cell saturation, 1=one additional iceberg allowed, 2=no daddtional iceberg allowed logical :: lmin_latent_hf=.true. + logical :: lverbose_icb=.false. integer :: ib_num=0 integer :: steps_per_ib_step=8 @@ -135,7 +136,8 @@ module g_config integer :: ib_async_mode=0 integer :: thread_support_level_required=3 ! 2 = MPI_THREAD_SERIALIZED, 3 = MPI_THREAD_MULTIPLE - namelist /icebergs/ use_icebergs, turn_off_hf, turn_off_fw, use_icesheet_coupling, lbalance_fw, lcell_saturation, lmin_latent_hf, ib_num, steps_per_ib_step, ib_async_mode, thread_support_level_required + namelist /icebergs/ use_icebergs, turn_off_hf, turn_off_fw, use_icesheet_coupling, lbalance_fw, cell_saturation, lmin_latent_hf, & + ib_num, steps_per_ib_step, ib_async_mode, thread_support_level_required, lverbose_icb !wiso-code!!! logical :: lwiso =.false. ! enable isotope? diff --git a/src/icb_allocate.F90 b/src/icb_allocate.F90 index 8d235a415..202214397 100644 --- a/src/icb_allocate.F90 +++ b/src/icb_allocate.F90 @@ -94,9 +94,9 @@ subroutine allocate_icb(partit, mesh) allocate(fwb_flux_ib(ib_num)) allocate(fwbv_flux_ib(ib_num)) allocate(hfe_flux_ib(ib_num)) - allocate(hfl_flux_ib(ib_num)) + allocate(hfl_flux_ib(ib_num,mesh%nl)) allocate(hfb_flux_ib(ib_num)) - allocate(hfbv_flux_ib(ib_num)) + allocate(hfbv_flux_ib(ib_num,mesh%nl)) allocate(lhfb_flux_ib(ib_num)) fwe_flux_ib = 0.0 fwl_flux_ib = 0.0 diff --git a/src/icb_coupling.F90 b/src/icb_coupling.F90 index 56004644a..51671c8d1 100644 --- a/src/icb_coupling.F90 +++ b/src/icb_coupling.F90 @@ -14,7 +14,7 @@ subroutine reset_ib_fluxes() end subroutine -subroutine prepare_icb2fesom(mesh, partit, ib,i_have_element,localelement,depth_ib) +subroutine prepare_icb2fesom(mesh, partit, ib,i_have_element,localelement,depth_ib,height_ib_single) !transmits the relevant fields from the iceberg to the ocean model !Lars Ackermann, 17.03.2020 @@ -27,7 +27,7 @@ subroutine prepare_icb2fesom(mesh, partit, ib,i_have_element,localelement,depth_ implicit none logical :: i_have_element - real, intent(in) :: depth_ib + real, intent(in) :: depth_ib, height_ib_single real :: lev_low, lev_up integer :: localelement integer :: iceberg_node @@ -44,7 +44,7 @@ subroutine prepare_icb2fesom(mesh, partit, ib,i_have_element,localelement,depth_ #include "associate_part_ass.h" #include "associate_mesh_ass.h" - if(i_have_element) then + if(i_have_element) then dz = 0.0 allocate(tot_area_nods_in_ib_elem(mesh%nl)) @@ -89,6 +89,7 @@ subroutine prepare_icb2fesom(mesh, partit, ib,i_have_element,localelement,depth_ do i=1, 3 iceberg_node=ib_nods_in_ib_elem(i) + if (use_cavity .and. ulevels_nod2d(iceberg_node) > 1) cycle if (iceberg_node>0) then ibfwbv(iceberg_node) = ibfwbv(iceberg_node) - fwbv_flux_ib(ib) / tot_area_nods_in_ib_elem(1) @@ -105,23 +106,34 @@ subroutine prepare_icb2fesom(mesh, partit, ib,i_have_element,localelement,depth_ lev_low = mesh%zbar_3d_n(j+1, iceberg_node) end if dz = abs( lev_low - lev_up ) - if( (abs(lev_low)>=abs(depth_ib)) .and. (abs(lev_up)=abs(depth_ib)) .and. (abs(lev_up) 1 ) then + ibhf_n(idx_d(i),iceberg_node) = ibhf_n(idx_d(i),iceberg_node) - 0.5 * hfb_flux_ib(ib) / tot_area_nods_in_ib_elem(idx_d(i)) + ibhf_n(idx_d(i)-1,iceberg_node) = ibhf_n(idx_d(i)-1,iceberg_node) - 0.5 * hfb_flux_ib(ib) / tot_area_nods_in_ib_elem(idx_d(i)-1) + else + ibhf_n(idx_d(i),iceberg_node) = ibhf_n(idx_d(i),iceberg_node) - hfb_flux_ib(ib) / tot_area_nods_in_ib_elem(idx_d(i)) + end if + + if( height_ib_single .ne. 0.0 ) then + ibhf_n(1,iceberg_node) = ibhf_n(1,iceberg_node) - hfe_flux_ib(ib) & + * ((abs(height_ib_single)-abs(depth_ib))/abs(height_ib_single)) & + / tot_area_nods_in_ib_elem(1) + end if end if end do end if @@ -150,11 +162,24 @@ subroutine icb2fesom(mesh, partit, ice) #include "associate_part_ass.h" #include "associate_mesh_ass.h" + if (use_cavity) then +!$OMP PARALLEL DO + do n=1, myDim_nod2d+eDim_nod2D + if (ulevels_nod2d(n) > 1) cycle + if (.not.turn_off_fw) then + water_flux(n) = water_flux(n) - (ibfwb(n)+ibfwl(n)+ibfwe(n)+ibfwbv(n)) !* steps_per_ib_step + end if + end do +!$OMP END PARALLEL DO + else +!$OMP PARALLEL DO do n=1, myDim_nod2d+eDim_nod2D if (.not.turn_off_fw) then water_flux(n) = water_flux(n) - (ibfwb(n)+ibfwl(n)+ibfwe(n)+ibfwbv(n)) !* steps_per_ib_step end if end do +!$OMP END PARALLEL DO + end if !---wiso-code-begin if(lwiso) then do n=1, myDim_nod2D+eDim_nod2D diff --git a/src/icb_coupling.F90.rej b/src/icb_coupling.F90.rej deleted file mode 100644 index fd3215347..000000000 --- a/src/icb_coupling.F90.rej +++ /dev/null @@ -1,22 +0,0 @@ -diff a/src/icb_coupling.F90 b/src/icb_coupling.F90 (rejected hunks) -@@ -90,16 +149,13 @@ type(t_partit), intent(inout), target :: partit - #include "associate_mesh_def.h" - #include "associate_part_ass.h" - #include "associate_mesh_ass.h" -- -- fresh_wa_flux => ice%flx_fw(:) -- net_heat_flux => ice%flx_h(:) - - do n=1, myDim_nod2d+eDim_nod2D -- if (.not.turn_off_hf) then -- net_heat_flux(n) = net_heat_flux(n) + ibhf(n) -- end if -+ !if (.not.turn_off_hf) then -+ ! heat_flux(n) = heat_flux(n) - ibhf(n) !* steps_per_ib_step -+ !end if - if (.not.turn_off_fw) then -- fresh_wa_flux(n) = fresh_wa_flux(n) + (ibfwb(n)+ibfwl(n)+ibfwe(n)+ibfwbv(n)) -+ water_flux(n) = water_flux(n) - (ibfwb(n)+ibfwl(n)+ibfwe(n)+ibfwbv(n)) !* steps_per_ib_step - end if - end do - !---wiso-code-begin diff --git a/src/icb_dyn.F90 b/src/icb_dyn.F90 index bc5f785e2..5184e2a2b 100644 --- a/src/icb_dyn.F90 +++ b/src/icb_dyn.F90 @@ -25,7 +25,7 @@ module iceberg_dynamics ! Thomas Rackow, 29.06.2010 !============================================================================== subroutine iceberg_dyn(mesh, partit, ice, dynamics, ib, new_u_ib, new_v_ib, u_ib, v_ib, lon,lat, depth_ib, & - height_ib, length_ib, width_ib, iceberg_elem, & + height_ib, length_ib, width_ib, iceberg_elem, & mass_ib, Ci, Ca, Co, Cda_skin, Cdo_skin, & rho_ice, rho_air, rho_h2o, P_sill, conc_sill, frozen_in, & file1, file2, P_ib, conci_ib, dt_ib, lastsubstep, & @@ -35,8 +35,8 @@ subroutine iceberg_dyn(mesh, partit, ice, dynamics, ib, new_u_ib, new_v_ib, u_ib use g_forcing_arrays !for u_wind, v_wind or u_wind_ib, v_wind_ib respectively use o_arrays, only: Tsurf_ib, Ssurf_ib use o_param !for dt - !use iceberg_params,only: l_melt, coriolis_scale !are icebergs allowed to melt? + integer :: ib_n_lvls, m integer, intent(IN) :: ib !current iceberg's index real, intent(OUT) :: new_u_ib, new_v_ib real, intent(IN) :: u_ib, v_ib @@ -61,21 +61,21 @@ subroutine iceberg_dyn(mesh, partit, ice, dynamics, ib, new_u_ib, new_v_ib, u_ib !LA 2023-03-07 real, dimension(:), pointer :: hi_ib3, conci_ib3, coriolis - real, dimension(3) :: uo_dz, vo_dz, uo_keel, vo_keel, T_dz,S_dz, T_keel,S_keel !hi_ib3, conci_ib3, + real, dimension(3) :: uo_keel, vo_keel, T_keel,S_keel, uo_dz, vo_dz, T_dz,S_dz!hi_ib3, conci_ib3, + real, dimension(:,:), allocatable :: arr_uo_dz, arr_vo_dz, arr_T_dz,arr_S_dz !hi_ib3, conci_ib3, real :: uo_ib, vo_ib, ua_ib, va_ib, ui_ib, vi_ib, hi_ib, uo_skin_ib, vo_skin_ib + real, dimension(:), allocatable :: arr_uo_ib, arr_vo_ib, arr_T_ave_ib, arr_S_ave_ib real :: Ao, Aa, Ai, Ad, fcoriolis real :: au_ib, av_ib real, dimension(2,2) :: SI_matrix real, dimension(2) :: SI_velo real :: u_ib_tmp, v_ib_tmp, normold, normnew, abs_omib, abs_omib_skin, ocean_drag - integer :: iter_ib + integer :: iter_ib, n, n2 real :: M_b, M_v, M_e, M_bv, sst_ib, sss_ib ! meltrates (basal, lateral, erosion, lateral 'basal'), temp. & salinity real :: T_ave_ib, S_ave_ib, T_keel_ib, S_keel_ib character, intent(IN) :: file3*80 real, intent(IN) :: rho_icb -! integer, dimension(3) :: tmp_arr - type(t_ice) , intent(inout), target :: ice type(t_mesh), intent(in) , target :: mesh type(t_partit), intent(inout), target :: partit @@ -85,19 +85,44 @@ subroutine iceberg_dyn(mesh, partit, ice, dynamics, ib, new_u_ib, new_v_ib, u_ib #include "associate_part_ass.h" #include "associate_mesh_ass.h" +n2=elem2D_nodes(1,iceberg_elem) +allocate(arr_uo_dz(3,nlevels_nod2D(n2))) +allocate(arr_vo_dz(3,nlevels_nod2D(n2))) +allocate(arr_T_dz(3,nlevels_nod2D(n2))) +allocate(arr_S_dz(3,nlevels_nod2D(n2))) +arr_uo_dz = 0.0 +arr_vo_dz = 0.0 +arr_T_dz = 0.0 +arr_S_dz = 0.0 + +allocate(arr_uo_ib(nlevels_nod2D(n2))) +allocate(arr_vo_ib(nlevels_nod2D(n2))) +allocate(arr_T_ave_ib(nlevels_nod2D(n2))) +allocate(arr_S_ave_ib(nlevels_nod2D(n2))) +arr_uo_ib = 0.0 +arr_vo_ib = 0.0 +arr_T_ave_ib = 0.0 +arr_S_ave_ib = 0.0 + !OCEAN VELOCITIES: ! - (uo_ib, vo_ib) : integrated mean velocity at location of iceberg ! - (uo_skin_ib, vo_skin_ib) : velocity below the draft of the iceberg ! call iceberg_avvelo_ufkeel(uo_dz,vo_dz, uo_keel,vo_keel, depth_ib,iceberg_elem) call iceberg_average_andkeel(mesh, partit, dynamics, uo_dz,vo_dz, uo_keel,vo_keel, T_dz,S_dz, T_keel,S_keel, depth_ib,iceberg_elem, ib) + + !OCEANIC VELOCITY uo_ib, vo_ib call FEM_3eval(mesh, partit, uo_ib,vo_ib,lon,lat,uo_dz,vo_dz,iceberg_elem) + + call iceberg_levelwise_andkeel(mesh, partit, dynamics, arr_uo_dz,arr_vo_dz, uo_keel,vo_keel, arr_T_dz,arr_S_dz, T_keel,S_keel, depth_ib,iceberg_elem, ib, ib_n_lvls) + do n=1, ib_n_lvls + call FEM_3eval(mesh, partit, arr_uo_ib(n),arr_vo_ib(n),lon,lat,arr_uo_dz(:,n),arr_vo_dz(:,n),iceberg_elem) + call FEM_3eval(mesh, partit, arr_T_ave_ib(n),arr_S_ave_ib(n),lon,lat,arr_T_dz(:,n),arr_S_dz(:,n),iceberg_elem) + end do call FEM_3eval(mesh, partit, uo_skin_ib,vo_skin_ib,lon,lat,uo_keel,vo_keel,iceberg_elem) - !TEMPERATURE AND SALINITY: ! - T_ave_ib, S_ave_ib : Mean T & S (integrated) at location of iceberg ! - T_keel_ib, S_keel_ib : T & S below the draft of the iceberg (depth_ib) - call FEM_3eval(mesh, partit, T_ave_ib,S_ave_ib,lon,lat,T_dz,S_dz,iceberg_elem) call FEM_3eval(mesh, partit, T_keel_ib,S_keel_ib,lon,lat,T_keel,S_keel,iceberg_elem) @@ -133,14 +158,13 @@ subroutine iceberg_dyn(mesh, partit, ice, dynamics, ib, new_u_ib, new_v_ib, u_ib !========================THERMODYNAMICS============================ if(l_melt) then - call FEM_eval(mesh, partit, sst_ib,sss_ib,lon,lat,Tsurf_ib,Ssurf_ib,iceberg_elem) - - call iceberg_meltrates(partit, M_b, M_v, M_e, M_bv, & - u_ib,v_ib, uo_ib,vo_ib, ua_ib,va_ib, & + + call iceberg_meltrates(partit, mesh, M_b, M_v, M_e, M_bv, & + u_ib,v_ib, arr_uo_ib,arr_vo_ib, ua_ib,va_ib, & sst_ib, length_ib, conci_ib, & uo_skin_ib, vo_skin_ib, T_keel_ib, S_keel_ib, depth_ib, height_ib, & - T_ave_ib, S_ave_ib, ib, rho_icb) + arr_T_ave_ib, arr_S_ave_ib, ib, rho_icb, uo_ib, vo_ib, ib_n_lvls, iceberg_elem, nlevels_nod2D(n2)) call iceberg_newdimensions(partit, ib, depth_ib,height_ib,length_ib,width_ib,M_b,M_v,M_e,M_bv, & rho_h2o, rho_icb, file3) @@ -580,6 +604,260 @@ subroutine compute_areas(Ao, Aa, Ai, Ad, depth_ib, & end subroutine compute_areas +!*************************************************************************************************************************** +!*************************************************************************************************************************** + + +subroutine iceberg_levelwise_andkeel(mesh, partit, dynamics, uo_dz,vo_dz, uo_keel,vo_keel, T_dz,S_dz, T_keel,S_keel, depth_ib,iceberg_elem, ib, ib_n_lvls) + USE MOD_MESH + use o_param + use MOD_PARTIT + use MOD_DYN + + use o_arrays, only: Tclim_ib, Sclim_ib !, UV_ib, Z_3d_n_ib + + use g_clock + use g_forcing_arrays + use g_rotate_grid + + implicit none + + REAL, DIMENSION(:,:), allocatable, INTENT(OUT) :: uo_dz + REAL, DIMENSION(:,:), allocatable, INTENT(OUT) :: vo_dz + REAL, DIMENSION(3), INTENT(OUT) :: uo_keel + REAL, DIMENSION(3), INTENT(OUT) :: vo_keel + REAL, DIMENSION(:,:), allocatable, INTENT(OUT) :: T_dz + REAL, DIMENSION(:,:), allocatable, INTENT(OUT) :: S_dz + REAL, DIMENSION(3), INTENT(OUT) :: T_keel + REAL, DIMENSION(3), INTENT(OUT) :: S_keel + REAl, INTENT(IN) :: depth_ib + INTEGER :: ib_n_lvls_old + INTEGER, INTENT(IN) :: iceberg_elem, ib + INTEGER, INTENT(OUT) :: ib_n_lvls + INTEGER, dimension(3) :: arr_ib_n_lvls + REAL, dimension(:,:,:), pointer :: UV_ib + + real :: lev_up, lev_low + integer :: m, k, n2, n_up, n_low, cavity_count, max_node_level_count + ! depth over which is integrated (layer and sum) + real :: dz, ufkeel1, ufkeel2, Temkeel, Salkeel, ldepth_up, ldepth_low, dz_depth + +type(t_mesh), intent(in) , target :: mesh +type(t_dyn), intent(in) , target :: dynamics +type(t_partit), intent(inout), target :: partit +#include "associate_part_def.h" +#include "associate_mesh_def.h" +#include "associate_part_ass.h" +#include "associate_mesh_ass.h" + + UV_IB => dynamics%uv_ib(:,:,:) + cavity_count=0 + + do m=1,3 + if(m==1) then + max_node_level_count = nlevels_nod2D(elem2D_nodes(m,iceberg_elem)) + else + max_node_level_count = max(max_node_level_count, nlevels_nod2D(elem2D_nodes(m,iceberg_elem))) + end if + end do + + allocate(uo_dz(3,max_node_level_count)) + allocate(vo_dz(3,max_node_level_count)) + allocate(T_dz(3,max_node_level_count)) + allocate(S_dz(3,max_node_level_count)) + + ib_n_lvls_old = 0 + ib_n_lvls = 0 + arr_ib_n_lvls = 0 + + uo_dz = 0.0 + vo_dz = 0.0 + uo_keel = 0.0 + vo_keel = 0.0 + T_dz = 0.0 + S_dz = 0.0 + T_keel = 0.0 + S_keel = 0.0 + + !LOOP: over all nodes of the iceberg element + nodeloop: do m=1, 3 + !for each 2D node of the iceberg element.. + n2=elem2D_nodes(m,iceberg_elem) + + ! LOOP: consider all neighboring pairs (n_up,n_low) of 3D nodes + ! below n2.. + !innerloop: do k=1, nl+1 + innerloop: do k=1, nlevels_nod2D(n2) + lev_up = mesh%zbar_3d_n(k, n2) + !lev_up = mesh%Z_3d_n(k, n2) + ldepth_up = mesh%Z_3d_n(k, n2) + + if( k==nlevels_nod2D(n2) ) then + lev_low = mesh%zbar_n_bot(n2) + ldepth_low = mesh%zbar_n_bot(n2) + else + lev_low = mesh%zbar_3d_n(k+1, n2) + ldepth_low = mesh%Z_3d_n(k+1, n2) + !lev_low = mesh%Z_3d_n(k+1, n2) + end if + + + !if( k==1 ) then + ! lev_up = 0.0 + !else + ! lev_up = mesh%Z_3d_n_ib(k-1, n2) + ! !lev_up = mesh%Z_3d_n_ib(k-1, n2) + !end if + + !if( k==nlevels_nod2D(n2) ) then + ! lev_low = mesh%zbar_n_bot(n2) + !else + ! lev_low = mesh%Z_3d_n_ib(k, n2) + !end if + dz = abs( lev_low - lev_up ) + dz_depth = abs( ldepth_low - ldepth_up ) + + !if( abs(lev_up)>=abs(depth_ib) ) then + ! ! ...icb bottom above lev_up --> no further integration + !end if + + !if( (abs(coord_nod3D(3, n_low))>abs(depth_ib)) .AND. (abs(coord_nod3D(3, n_up))>abs(depth_ib)) ) then + ! write(*,*) 'INFO, k:',k,'z_up:',coord_nod3D(3, n_up),'z_lo:',coord_nod3D(3, n_low),'depth:',depth_ib,'cavity:',(cavity_flag_nod2d(elem2D_nodes(m,iceberg_elem))==1) + !end if + + ! if cavity node .. +if (use_cavity .AND. mesh%cavity_depth(elem2D_nodes(m,iceberg_elem)) /= 0.0 .AND. abs(depth_ib) < abs(lev_up)) then + ! LA: Never go here for k=1, because abs(depth_ib)>=0.0 for all icebergs + + uo_dz(m,k)=UV_ib(1,k-1,n2)*abs(depth_ib) + vo_dz(m,k)=UV_ib(2,k-1,n2)*abs(depth_ib) + uo_keel(m)=UV_ib(1,k-1,n2) + vo_keel(m)=UV_ib(2,k-1,n2) + + T_dz(m,k)=Tclim_ib(k-1,n2)*abs(depth_ib) + S_dz(m,k)=Sclim_ib(k-1,n2)*abs(depth_ib) + T_keel(m)=Tclim_ib(k-1,n2) + S_keel(m)=Sclim_ib(k-1,n2) ! check those choices with RT: OK + + exit innerloop + + ! if the lowest z coord is below the iceberg draft, exit + !else if( abs(coord_nod3D(3, n_low))>=abs(depth_ib) .AND. abs(coord_nod3D(3, n_up))<=abs(depth_ib) ) then + + !**************************************************************** + ! LA 23.11.21 case if depth_ib=abs(depth_ib) ) then !.AND. (abs(lev_up)<=abs(depth_ib)) ) then + if( abs(lev_up)= 0.0- 1.0e-07) ) then old_iceberg_elem=elem_containing_n2 - - if( (use_cavity) .and. (reject_elem(mesh, partit, old_iceberg_elem) )) then - left_mype=1.0 - !write(*,*) 'iceberg found in shelf region: left_mype = 1' - old_iceberg_elem=ibelem_tmp - end if + if (use_cavity) then + !if( reject_elem(mesh, partit, old_iceberg_elem) ) then + reject_tmp = all( (mesh%cavity_depth(elem2D_nodes(:,ibelem_tmp))/=0.0) .OR. (mesh%bc_index_nod2D(elem2D_nodes(:,ibelem_tmp))==0.0) ) + if(reject_tmp) then + left_mype=1.0 + !write(*,*) 'iceberg found in shelf region: left_mype = 1' + old_iceberg_elem=ibelem_tmp + end if + endif RETURN end if end do @@ -576,7 +587,7 @@ SUBROUTINE locbafu_2D(mesh, partit, values, elem, coords) DO i=1, 2 TRANS(:,i) = local_cart_coords(:,i+1)-local_cart_coords(:,1) END DO - call matrix_inverse_2x2(TRANS, TRANS_inv, DET) + call matrix_inverse_2x2(TRANS, TRANS_inv, DET, elem, coords) vec=x_cart-local_cart_coords(:,1) stdel_coords = MATMUL(TRANS_inv, vec) @@ -835,13 +846,16 @@ end subroutine com_integer !END SUBROUTINE tides_distr !LA from oce_mesh_setup ofr iceberg coupling -subroutine matrix_inverse_2x2 (A, AINV, DET) +subroutine matrix_inverse_2x2 (A, AINV, DET, elem, coords) ! ! Coded by Sergey Danilov ! Reviewed by Qiang Wang !------------------------------------------------------------- implicit none + + integer :: elem + REAL, DIMENSION(2), INTENT(IN) :: coords real(kind=8), dimension(2,2), intent(IN) :: A real(kind=8), dimension(2,2), intent(OUT) :: AINV @@ -853,6 +867,7 @@ subroutine matrix_inverse_2x2 (A, AINV, DET) do j=1,2 write(*,*) (A(i,j),i=1,2) end do + write(*,*) " * elem: ", elem, ", coords: ", coords stop 'SINGULAR 2X2 MATRIX' else AINV(1,1) = A(2,2)/DET diff --git a/src/icb_elem.F90.rej b/src/icb_elem.F90.rej deleted file mode 100644 index a34f6a9f6..000000000 --- a/src/icb_elem.F90.rej +++ /dev/null @@ -1,59 +0,0 @@ -diff a/src/icb_elem.F90 b/src/icb_elem.F90 (rejected hunks) -@@ -376,9 +376,6 @@ end subroutine FEM_3eval - subroutine iceberg_elem4all(mesh, partit, elem, lon_deg, lat_deg) - USE MOD_MESH - use MOD_PARTIT !for myDim_nod2D, myList_elem2D --!#ifdef use_cavity --! use iceberg_params, only: reject_elem --!#endif - - implicit none - -@@ -398,30 +395,21 @@ type(t_partit), intent(inout), target :: partit - - if(i_have_element) then - i_have_element= elem2D_nodes(1,elem) <= myDim_nod2D !1 PE still .true. --#ifdef use_cavity -- if( reject_elem(mesh, elem) ) then -+ if( (use_cavity) .and. (reject_elem(mesh, partit, elem) )) then - elem=0 !reject element - i_have_element=.false. -- !write(*,*) 'elem4all: iceberg found in shelf region: elem = 0' - else - elem=myList_elem2D(elem) !global now - end if --#else -- elem=myList_elem2D(elem) !global now --#endif - end if - call com_integer(partit, i_have_element,elem) !max 1 PE sends element here; - end subroutine iceberg_elem4all - - - !*************************************************************************************************************************** -- !*************************************************************************************************************************** - - subroutine find_new_iceberg_elem(mesh, partit, old_iceberg_elem, pt, left_mype) - use o_param --!#ifdef use_cavity --! use iceberg_params, only: reject_elem --!#endif - - implicit none - -@@ -461,14 +449,11 @@ do m=1, 3 - if (ALL(werte2D <= 1.+ 1.0e-07) .AND. ALL(werte2D >= 0.0- 1.0e-07) ) then - old_iceberg_elem=elem_containing_n2 - --#ifdef use_cavity -- if( reject_elem(mesh, old_iceberg_elem) ) then -+ if( (use_cavity) .and. (reject_elem(mesh, partit, old_iceberg_elem) )) then - left_mype=1.0 - !write(*,*) 'iceberg found in shelf region: left_mype = 1' - old_iceberg_elem=ibelem_tmp - end if --#endif -- - RETURN - end if - end do diff --git a/src/icb_modules.F90 b/src/icb_modules.F90 index 2b7aa088c..1162182db 100644 --- a/src/icb_modules.F90 +++ b/src/icb_modules.F90 @@ -95,7 +95,8 @@ module iceberg_params real,dimension(:), allocatable:: bvl_mean, lvlv_mean, lvle_mean, lvlb_mean !averaged volume losses !real,dimension(:), allocatable:: fw_flux_ib, hfb_flux_ib real,dimension(:), allocatable:: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib - real,dimension(:), allocatable:: hfe_flux_ib, hfl_flux_ib, hfb_flux_ib, hfbv_flux_ib, lhfb_flux_ib + real,dimension(:), allocatable:: hfe_flux_ib, hfb_flux_ib, lhfb_flux_ib + real,dimension(:,:), allocatable:: hfl_flux_ib, hfbv_flux_ib !===== FRESHWATER AND HEAT ARRAYS ON FESOM GRID ===== real,dimension(:), allocatable:: ibhf !icb heat flux into ocean @@ -129,7 +130,7 @@ logical function reject_elem(mesh, partit, elem) implicit none integer, intent(in) :: elem type(t_mesh), intent(in) , target :: mesh -type(t_partit), intent(inout), target :: partit +type(t_partit), intent(in), target :: partit #include "associate_mesh_def.h" #include "associate_part_def.h" #include "associate_mesh_ass.h" diff --git a/src/icb_modules.F90.rej b/src/icb_modules.F90.rej deleted file mode 100644 index 469d257ab..000000000 --- a/src/icb_modules.F90.rej +++ /dev/null @@ -1,72 +0,0 @@ -diff a/src/icb_modules.F90 b/src/icb_modules.F90 (rejected hunks) -@@ -1,4 +1,10 @@ - module iceberg_params -+use MOD_PARTIT -+USE MOD_MESH -+use g_config, only: use_cavity, use_cavityonelem -+use, intrinsic :: iso_fortran_env, only: real64 -+USE o_PARAM, only: WP -+ - implicit none - save - !integer,parameter :: ib_num ! realistic dataset comprising 6912 icebergs -@@ -111,35 +121,50 @@ save - integer:: save_count_buoys - real:: prev_sec_in_year - !**************************************************************************************************************************** --!**************************************************************************************************************************** --#ifdef use_cavity - contains - ! true if all nodes of the element are either "real" model boundary nodes or shelf nodes -- logical function reject_elem(mesh, elem) -- USE MOD_MESH -+ logical function reject_elem(mesh, partit, elem) - implicit none - integer, intent(in) :: elem - type(t_mesh), intent(in) , target :: mesh -+type(t_partit), intent(inout), target :: partit -+#include "associate_part_def.h" - #include "associate_mesh_def.h" -+#include "associate_part_ass.h" - #include "associate_mesh_ass.h" - -+if (use_cavity) then - ! kh 09.08.21 change index_nod2d -> bc_index_nod2d? -- reject_elem = all( (cavity_flag_nod2d(elem2D_nodes(:,elem))==1) .OR. (index_nod2d(elem2D_nodes(:,elem))==1) ) -+ if (.not. use_cavityonelem) then -+ reject_elem = all( (mesh%cavity_depth(mesh%elem2D_nodes(:,elem))/=0.0) .OR. (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem))==0.0) ) -+ !else -+ end if -+else -+ reject_elem = all( (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem))==0.0) ) -+endif - end function reject_elem - - ! gives number of "coastal" nodes in cavity setup, i.e. number of nodes that are - ! either "real" model boundary nodes or shelf nodes -- integer function coastal_nodes(mesh, elem) -- USE MOD_MESH -+ integer function coastal_nodes(mesh, partit, elem) - implicit none - integer, intent(in) :: elem - type(t_mesh), intent(in) , target :: mesh -+type(t_partit), intent(inout), target :: partit - #include "associate_part_def.h" -+#include "associate_mesh_def.h" - #include "associate_part_ass.h" -+#include "associate_mesh_ass.h" - -+if (use_cavity) then - ! kh 09.08.21 change index_nod2d -> bc_index_nod2d? -- coastal_nodes = count( (cavity_flag_nod2d(elem2D_nodes(:,elem))==1) .OR. (index_nod2d(elem2D_nodes(:,elem))==1) ) -+ if (.not. use_cavityonelem) then -+ coastal_nodes = count( (mesh%cavity_depth(mesh%elem2D_nodes(:,elem))/=0.0) .OR. (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem))==0.0) ) -+ !else -+ end if -+else -+ coastal_nodes = count( (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem))==0.0) ) -+endif - end function coastal_nodes --#endif - - end module iceberg_params diff --git a/src/icb_step.F90 b/src/icb_step.F90 index ad3af496b..3517817ba 100644 --- a/src/icb_step.F90 +++ b/src/icb_step.F90 @@ -298,7 +298,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt != implicit none != - + logical :: reject_tmp integer, intent(in) :: ib, istep real, intent(inout) :: height_ib_single,length_ib_single,width_ib_single real, intent(inout) :: lon_deg,lat_deg @@ -361,7 +361,6 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt #include "associate_mesh_ass.h" -!write(*,*) "LA DEBUG: 1" mype =>partit%mype istep_end_synced = istep + steps_per_ib_step - 1 @@ -372,7 +371,6 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt lon_rad = lon_deg*rad lat_rad = lat_deg*rad -!write(*,*) "LA DEBUG: 2" if(volume_ib .le. smallestvol_icb) then melted(ib) = .true. @@ -382,7 +380,6 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt return end if -!write(*,*) "LA DEBUG: 3" if (firstcall) then if(mype==0) write(*,*) 'Preparing local_idx_of array...' @@ -392,7 +389,6 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt firstcall=.false. if(mype==0) write(*,*) 'Preparing local_idx_of done.' end if -!write(*,*) "LA DEBUG: 4" if (find_iceberg_elem) then lon_rad = lon_deg*rad @@ -409,12 +405,23 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt if(i_have_element) then i_have_element= mesh%elem2D_nodes(1,iceberg_elem) <= partit%myDim_nod2D !1 PE still .true. - if( (use_cavity) .and. (reject_elem(mesh, partit, iceberg_elem))) then - iceberg_elem=0 !reject element - i_have_element=.false. - else - iceberg_elem=partit%myList_elem2D(iceberg_elem) !global now - end if + + + + if (use_cavity) then + reject_tmp = all( (mesh%cavity_depth(mesh%elem2D_nodes(:,iceberg_elem))/=0.0) .OR. (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,iceberg_elem))==0.0) ) + if(reject_tmp) then +! write(*,*) " * set IB elem ",iceberg_elem,"to zero for IB=",ib +! write(*,*) " cavity: ",all((mesh%cavity_depth(mesh%elem2D_nodes(:,iceberg_elem))/=0.0)) +! write(*,*) " boundary: ", all(mesh%bc_index_nod2D(mesh%elem2D_nodes(:,iceberg_elem))==1) + iceberg_elem=0 !reject element + i_have_element=.false. + else + iceberg_elem=partit%myList_elem2D(iceberg_elem) !global now + end if + else + iceberg_elem=partit%myList_elem2D(iceberg_elem) !global now + endif end if call com_integer(partit, i_have_element,iceberg_elem) @@ -425,10 +432,11 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt end if ! initialize the iceberg velocity -!write(*,*) "LA DEBUG: 4d" - call initialize_velo(mesh, partit, dynamics, i_have_element, ib, u_ib, v_ib, lon_rad, lat_rad, depth_ib, local_idx_of(iceberg_elem)) -!write(*,*) "LA DEBUG: 4e" - + if(local_idx_of(iceberg_elem) <= partit%myDim_elem2D ) then + call initialize_velo(mesh, partit, dynamics, i_have_element, ib, u_ib, v_ib, lon_rad, lat_rad, depth_ib, local_idx_of(iceberg_elem)) + else + write(*,*) " * skip initialize_velo" + end if !iceberg elem of ib is found find_iceberg_elem = .false. @@ -444,10 +452,8 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt endif endif -!write(*,*) "LA DEBUG: 4f" end if -!write(*,*) "LA DEBUG: 5" ! ================== START ICEBERG CALCULATION ==================== @@ -457,10 +463,8 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt !if the first node belongs to this processor.. (just one processor enters here!) !if( local_idx_of(iceberg_elem) > 0 .and. elem2D_nodes(1,local_idx_of(iceberg_elem)) <= myDim_nod2D ) then if( local_idx_of(iceberg_elem) > 0 ) then -write(*,*) "LA DEBUG: 5a" if( elem2D_nodes(1,local_idx_of(iceberg_elem)) <= partit%myDim_nod2D ) then -write(*,*) "LA DEBUG: 5b" i_have_element=.true. @@ -505,8 +509,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt ! kh 16.03.21 (asynchronous) iceberg calculation starts with the content in common arrays at istep and will merge its results at istep_end_synced grounded(ib) = .true. !if (mod(istep_end_synced,logfile_outfreq)==0) then -! if(ib==148) write(*,*) "LA DEBUG: 3 - elem ", iceberg_elem - write(*,*) 'iceberg ib ', ib, 'is grounded' + if (lverbose_icb) write(*,*) 'iceberg ib ', ib, 'is grounded' !end if else @@ -514,7 +517,6 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt t0=MPI_Wtime() -!write(*,*) "LA DEBUG: before_trajectory" call trajectory( lon_rad,lat_rad, u_ib,v_ib, new_u_ib,new_v_ib, & lon_deg,lat_deg,old_lon,old_lat, dt*REAL(steps_per_ib_step)) @@ -550,10 +552,16 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt !----------------------------- ! LA 2022-11-30 -!write(*,*) "LA DEBUG: before_saturation" - if(lcell_saturation) then -!write(*,*) "LA DEBUG: start_saturation" - area_ib_tot = length_ib_single*width_ib_single*scaling(ib) + if(cell_saturation > 0) then + if( lverbose_icb) then + write(*,*) " * checking for cell saturation - ib: ", ib, ", old_elem: ", old_element, ", new_elem: ", iceberg_elem + end if + select case(cell_saturation) !num of coastal points + case(1) + area_ib_tot = 0.0 + case(2) + area_ib_tot = length_ib_single*width_ib_single*scaling(ib) + end select !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(idx, area_ib_tot) !$OMP DO do idx = 1, size(elem_block) @@ -561,15 +569,17 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt area_ib_tot = area_ib_tot + length_ib(idx) * width_ib(idx) * scaling(idx) end if end do -!write(*,*) "LA DEBUG: end_loop_saturation" !$OMP END DO !$OMP END PARALLEL !----------------------------- - if ((area_ib_tot > elem_area_glob(iceberg_elem)) .and. (old_element.ne.0) .and. (left_mype == 0)) then - write(*,*) " *******************************************************" - write(*,*) " * set iceberg ", ib, " back to elem ", old_element, " from elem ", iceberg_elem - write(*,*) " * area_ib_tot = ", area_ib_tot, "; elem_area = ", elem_area(local_idx_of(iceberg_elem)) + if ((area_ib_tot > elem_area_glob(iceberg_elem)) .and. (old_element.ne.0) .and. (iceberg_elem.ne.old_element)) then ! .and. (left_mype == 0)) then + if( lverbose_icb) then + write(*,*) " *******************************************************" + write(*,*) " * set iceberg ", ib, " back to elem ", old_element, " from elem ", iceberg_elem + write(*,*) " * area_ib_tot = ", area_ib_tot, "; elem_area = ", elem_area(local_idx_of(iceberg_elem)) + + end if i_have_element = .true. left_mype = 0.0 lon_rad = old_lon @@ -580,7 +590,6 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt u_ib = 0. v_ib = 0. end if -!write(*,*) "LA DEBUG: after_cell_saturation" end if !########################################### @@ -594,9 +603,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt pe_block(ib)=mype volume_ib=height_ib_single*length_ib_single*width_ib_single -!write(*,*) "LA DEBUG: before_prepare" - call prepare_icb2fesom(mesh,partit,ib,i_have_element,local_idx_of(iceberg_elem),depth_ib) -!write(*,*) "LA DEBUG: after_prepare" + call prepare_icb2fesom(mesh,partit,ib,i_have_element,local_idx_of(iceberg_elem),depth_ib,height_ib_single) end if !processor has element? end if !... and first node belongs to processor? @@ -770,10 +777,15 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib_single iceberg_elem = old_element u_ib = 0. v_ib = 0. - else if(lcell_saturation) then + else if(cell_saturation > 0) then if (mype==0) write(*,*) 'iceberg ',ib, ' changed PE or was very fast' elem_area_tmp = elem_area_glob(iceberg_elem) - area_ib_tot = length_ib_single * width_ib_single * scaling(ib) + select case(cell_saturation) !num of coastal points + case(1) + area_ib_tot = 0.0 + case(2) + area_ib_tot = length_ib_single*width_ib_single*scaling(ib) + end select !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(idx, area_ib_tot) !$OMP DO do idx = 1, size(elem_block_red) @@ -784,8 +796,8 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib_single end do !$OMP END DO !$OMP END PARALLEL - if((area_ib_tot > elem_area_tmp) .and. (elem_area_tmp > 0.0)) then - if(mype==pe_block_red(ib)) then + if((area_ib_tot > elem_area_tmp) .and. (elem_area_tmp > 0.0) .and. (iceberg_elem.ne.old_element)) then + if(mype==pe_block_red(ib) .and. lverbose_icb) then write(*,*) " *******************************************************" write(*,*) " * iceberg changed PE and saturation" write(*,*) " * set iceberg ", ib, " back to elem ", old_element, " from elem ", iceberg_elem @@ -800,7 +812,7 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib_single u_ib = 0. v_ib = 0. end if - else if(lcell_saturation) then + else if (mype==0) write(*,*) 'iceberg ',ib, ' changed PE or was very fast' end if end if @@ -1035,11 +1047,12 @@ subroutine parallel2coast(mesh, partit,u, v, lon,lat, elem) #include "associate_mesh_def.h" #include "associate_part_ass.h" #include "associate_mesh_ass.h" - + if( use_cavity ) then - fld_tmp = coastal_nodes(mesh, partit, elem) + !fld_tmp = coastal_nodes(mesh, partit, elem) + fld_tmp = count( (mesh%cavity_depth(mesh%elem2D_nodes(:,elem))/=0.0) .OR. (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem))==0.0) ) else - fld_tmp = sum( mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem)) ) + fld_tmp = count( (mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem))==0.0) ) end if SELECT CASE ( fld_tmp ) !num of coastal points diff --git a/src/icb_step.F90.rej b/src/icb_step.F90.rej deleted file mode 100644 index f9c2a01af..000000000 --- a/src/icb_step.F90.rej +++ /dev/null @@ -1,121 +0,0 @@ -diff a/src/icb_step.F90 b/src/icb_step.F90 (rejected hunks) -@@ -376,22 +407,23 @@ type(t_dyn) , intent(inout), target :: dynamics - call point_in_triangle(mesh, partit, iceberg_elem, coords_tmp) - !call point_in_triangle(mesh, iceberg_elem, (/lon_deg, lat_deg/)) - i_have_element= (iceberg_elem .ne. 0) !up to 3 PEs possible -+!write(*,*) "LA DEBUG: 4a" - - if(i_have_element) then -+!write(*,*) "LA DEBUG: 4a1" - i_have_element= mesh%elem2D_nodes(1,iceberg_elem) <= partit%myDim_nod2D !1 PE still .true. --#ifdef use_cavity -- if(reject_elem(mesh, partit, iceberg_elem)) then -+!write(*,*) "LA DEBUG: 4a2" -+ if( (use_cavity) .and. (reject_elem(mesh, partit, iceberg_elem))) then - iceberg_elem=0 !reject element - i_have_element=.false. - else - iceberg_elem=partit%myList_elem2D(iceberg_elem) !global now - end if --#else -- -- iceberg_elem=partit%myList_elem2D(iceberg_elem) !global now --#endif -+!write(*,*) "LA DEBUG: 4a3" - end if -+!write(*,*) "LA DEBUG: 4b" - call com_integer(partit, i_have_element,iceberg_elem) -+!write(*,*) "LA DEBUG: 4c" - - if(iceberg_elem .EQ. 0) then - write(*,*) 'IB ',ib,' rot. coords:', lon_deg, lat_deg !,lon_rad, lat_rad -@@ -983,15 +1023,14 @@ end subroutine depth_bathy - !**************************************************************************************************************************** - - subroutine parallel2coast(mesh, partit,u, v, lon,lat, elem) --!#ifdef use_cavity --! use iceberg_params, only: coastal_nodes --!#endif -+ use iceberg_params, only: coastal_nodes - implicit none - - real, intent(inout) :: u, v !velocity - real, intent(in) :: lon, lat !radiant - integer, intent(in) :: elem - -+ integer :: fld_tmp - integer, dimension(3) :: n - integer :: node, m, i - real, dimension(2) :: velocity, velocity1, velocity2 -@@ -1004,12 +1043,13 @@ type(t_partit), intent(inout), target :: partit - #include "associate_part_ass.h" - #include "associate_mesh_ass.h" - --#ifdef use_cavity -- SELECT CASE ( coastal_nodes(mesh, elem) ) !num of "coastal" points --#else -- SELECT CASE ( sum( mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem)) ) ) !num of coastal points -- !SELECT CASE ( sum( bc_index_nod2D(elem2D_nodes(:,elem)) ) ) !num of coastal points --#endif -+ if( use_cavity ) then -+ fld_tmp = coastal_nodes(mesh, partit, elem) -+ else -+ fld_tmp = sum( mesh%bc_index_nod2D(mesh%elem2D_nodes(:,elem)) ) -+ end if -+ -+ SELECT CASE ( fld_tmp ) !num of coastal points - CASE (0) !...coastal points: do nothing - return - -@@ -1020,14 +1060,18 @@ type(t_partit), intent(inout), target :: partit - do m = 1, 3 - node = mesh%elem2D_nodes(m,elem) - !write(*,*) 'index ', m, ':', index_nod2D(node) --#ifdef use_cavity -- if( mesh%bc_index_nod2D(node)==1 .OR. cavity_flag_nod2d(node)==1 ) then --#else -- if( mesh%bc_index_nod2D(node)==1 ) then --#endif -- n(i) = node -- exit -- end if -+ if( use_cavity ) then -+ !if( mesh%bc_index_nod2D(node)==1 .OR. cavity_flag_nod2d(node)==1 ) then -+ if( mesh%bc_index_nod2D(node)==0.0 .OR. (mesh%cavity_depth(node)/=0.0) ) then -+ n(i) = node -+ exit -+ end if -+ else -+ if( mesh%bc_index_nod2D(node)==1 ) then -+ n(i) = node -+ exit -+ end if -+ end if - end do - - !write(*,*) 'one coastal node ', n(1) -@@ -1075,13 +1119,17 @@ type(t_partit), intent(inout), target :: partit - velocity = [ u, v ] - do m = 1, 3 - node = mesh%elem2D_nodes(m,elem) --#ifdef use_cavity -- if( (mesh%bc_index_nod2D(node)==1) .OR. (cavity_flag_nod2d(node)==1)) then --#else -- if( mesh%bc_index_nod2D(node)==1 ) then --#endif -- n(i) = node -- i = i+1 -+ if( use_cavity ) then -+ !if( (mesh%bc_index_nod2D(node)==1) .OR. (cavity_flag_nod2d(node)==1)) then -+ if( mesh%bc_index_nod2D(node)==0.0 .OR. (mesh%cavity_depth(node)/=0.0) ) then -+ n(i) = node -+ i = i+1 -+ end if -+ else -+ if( mesh%bc_index_nod2D(node)==1 ) then -+ n(i) = node -+ i = i+1 -+ end if - end if - end do - call projection(mesh,partit, velocity, n(1), n(2)) diff --git a/src/icb_thermo.F90 b/src/icb_thermo.F90 index 57cb85f63..7b9b38afe 100644 --- a/src/icb_thermo.F90 +++ b/src/icb_thermo.F90 @@ -16,14 +16,15 @@ ! use 3D information for T,S and velocities ! instead of SSTs; M_v depends on 'thermal driving') !============================================================================== -subroutine iceberg_meltrates(partit, M_b, M_v, M_e, M_bv, & - u_ib,v_ib, uo_ib,vo_ib, ua_ib,va_ib, & +subroutine iceberg_meltrates(partit, mesh, M_b, M_v, M_e, M_bv, & + u_ib,v_ib, arr_uo_ib,arr_vo_ib, ua_ib,va_ib, & sst_ib, length_ib, conci_ib, & uo_keel_ib, vo_keel_ib, T_keel_ib, S_keel_ib, depth_ib, height_ib, & - T_ave_ib, S_ave_ib, ib, rho_icb) + arr_T_ave_ib, arr_S_ave_ib, ib, rho_icb,uo_ib,vo_ib, ib_n_lvls, elem, n_lvls) use o_param use MOD_PARTIT + use MOD_MESH use g_clock use g_forcing_arrays use g_rotate_grid @@ -34,43 +35,84 @@ subroutine iceberg_meltrates(partit, M_b, M_v, M_e, M_bv, & ! LA: include latent heat 2023-04-04 real(kind=8),parameter :: L = 334000. ! [J/Kg] - real, intent(IN) :: u_ib,v_ib, uo_ib,vo_ib, ua_ib,va_ib !iceberg velo, (int.) ocean & atm velo + real, intent(IN) :: u_ib,v_ib, uo_ib,vo_ib,ua_ib,va_ib !iceberg velo, (int.) ocean & atm velo real, intent(IN) :: uo_keel_ib, vo_keel_ib !ocean velo at iceberg's draft real, intent(IN) :: sst_ib, length_ib, conci_ib, rho_icb !SST, length and sea ice conc. real, intent(IN) :: T_keel_ib, S_keel_ib, depth_ib, height_ib !T & S at depth 'depth_ib' - real, intent(IN) :: T_ave_ib, S_ave_ib !T & S averaged, i.e. at 'depth_ib/2' - integer, intent(IN) :: ib !iceberg ID + integer, intent(IN) :: ib, n_lvls, ib_n_lvls !iceberg ID + real, intent(IN), dimension(n_lvls) :: arr_T_ave_ib, arr_S_ave_ib !T & S averaged, i.e. at 'depth_ib/2' + real, intent(IN), dimension(n_lvls) :: arr_uo_ib, arr_vo_ib !iceberg velo, (int.) ocean & atm velo real, intent(OUT) :: M_b, M_v, M_e, M_bv !melt rates [m (ice) per s] real :: H_b, H_v, H_e, H_bv !melt rates [m (ice) per s] + real :: M_bv_dz, M_v_dz, dz_acc - + integer :: n, n2 + integer, intent(IN) :: elem + real :: lev_up, lev_low, dz real :: absamino, damping, sea_state, v_ibmino real :: tf, T_d !freezing temp. and 'thermal driving' +type(t_mesh), intent(in) , target :: mesh type(t_partit), intent(inout), target :: partit +!==================== MODULES & DECLARATIONS ==========================!= #include "associate_part_def.h" +#include "associate_mesh_def.h" #include "associate_part_ass.h" +#include "associate_mesh_ass.h" + !3-eq. formulation for bottom melting [m/s] v_ibmino = sqrt( (u_ib - uo_keel_ib)**2 + (v_ib - vo_keel_ib)**2 ) call iceberg_heat_water_fluxes_3eq(partit, ib, M_b, H_b, T_keel_ib,S_keel_ib,v_ibmino, depth_ib, tf) - hfb_flux_ib = H_b * length_ib*length_ib*scaling(ib) + hfb_flux_ib(ib) = H_b * length_ib*length_ib*scaling(ib) + + M_bv_dz = 0.0 + M_v_dz = 0.0 + dz_acc = 0.0 + + n2=elem2D_nodes(1,elem) + do n=1,ib_n_lvls !3-eq. formulation for lateral 'basal' melting [m/s] - v_ibmino = sqrt( (u_ib - uo_ib)**2 + (v_ib - vo_ib)**2 ) ! depth-average rel. velocity - call iceberg_heat_water_fluxes_3eq(partit, ib, M_bv, H_bv, T_ave_ib,S_ave_ib,v_ibmino, depth_ib/2.0, tf) - hfbv_flux_ib = H_bv * (2*length_ib*abs(depth_ib) + 2*length_ib*abs(depth_ib) ) * scaling(ib) + lev_up = mesh%zbar_3d_n(n, n2) + if( n==nlevels_nod2D(n2) ) then + lev_low = mesh%zbar_n_bot(n2) + else + lev_low = mesh%zbar_3d_n(n+1, n2) + end if + + if( abs(lev_low)>=abs(depth_ib) ) then !.AND. (abs(lev_up)<=abs(depth_ib)) ) then + dz = abs(lev_up - depth_ib) + elseif(lev_low == lev_up) then + exit + else + dz = abs(lev_low - lev_up) + end if + dz_acc = dz_acc + dz + + v_ibmino = sqrt( (u_ib - arr_uo_ib(n))**2 + (v_ib - arr_vo_ib(n))**2 ) ! depth-average rel. velocity + call iceberg_heat_water_fluxes_3eq(partit, ib, M_bv, H_bv, arr_T_ave_ib(n), arr_S_ave_ib(n),v_ibmino, dz_acc+dz/2.0, tf) + M_bv_dz = M_bv_dz + M_bv*dz + + hfbv_flux_ib(ib,n) = H_bv * (2*length_ib*dz + 2*length_ib*dz ) * scaling(ib) - !'thermal driving', defined as the elevation of ambient water - !temperature above freezing point' (Neshyba and Josberger, 1979). - T_d = T_ave_ib - tf - if(T_d < 0.) T_d = 0. - - !lateral melt (buoyant convection) - !M_v is a function of the 'thermal driving', NOT just sst! Cf. Neshyba and Josberger (1979) - M_v = 0.00762 * T_d + 0.00129 * T_d**2 - M_v = M_v/86400. - H_v = M_v * rho_icb * L - hfl_flux_ib = H_v * (2*length_ib*abs(depth_ib) + 2*length_ib*abs(depth_ib) ) * scaling(ib) + !'thermal driving', defined as the elevation of ambient water + !temperature above freezing point' (Neshyba and Josberger, 1979). + T_d = arr_T_ave_ib(n) - tf + if(T_d < 0.) T_d = 0. + + !lateral melt (buoyant convection) + !M_v = 0.00762 * sst_ib + 0.00129 * sst_ib**2 + !M_v = M_v/86400. + !M_v is a function of the 'thermal driving', NOT just sst! Cf. Neshyba and Josberger (1979) + M_v = 0.00762 * T_d + 0.00129 * T_d**2 + M_v = M_v/86400. + H_v = M_v * rho_icb * L + M_v_dz = M_v_dz + M_v*dz + hfl_flux_ib(ib,n) = H_v * (2*length_ib*dz + 2*length_ib*dz ) * scaling(ib) + !fwl_flux_ib = M_v + end do + M_bv = M_bv_dz / abs(depth_ib) + M_v = M_v_dz / abs(depth_ib) !wave erosion absamino = sqrt( (ua_ib - uo_ib)**2 + (va_ib - vo_ib)**2 ) @@ -79,7 +121,7 @@ subroutine iceberg_meltrates(partit, M_b, M_v, M_e, M_bv, & M_e = 1./6. * sea_state * (sst_ib + 2.0) * damping M_e = M_e/86400. H_e = M_e * rho_icb * L - hfe_flux_ib = H_e * (length_ib*abs(height_ib) + length_ib*abs(height_ib) ) * scaling(ib) + hfe_flux_ib(ib) = H_e * (length_ib*abs(height_ib) + length_ib*abs(height_ib) ) * scaling(ib) !fwe_flux_ib = M_e end subroutine iceberg_meltrates @@ -236,23 +278,23 @@ subroutine iceberg_newdimensions(partit, ib, depth_ib,height_ib,length_ib,width_ !save in larger array vl_block((ib-1)*4+1 : ib*4)=arr - ! ----------------------- - ! LA: set iceberg heatflux at least to latent heat 2023-04-04 - ! Latent heat flux at base and sides also changes lines 475/476 - ! Lateral heat flux set to latent heat and basal heat flux set to zero - if( lmin_latent_hf ) then - lhfb_flux_ib(ib) = rho_icb*L*tvl*scaling(ib)/dt/REAL(steps_per_ib_step) - - hf_tot_tmp = hfb_flux_ib(ib)+hfbv_flux_ib(ib)+hfl_flux_ib(ib)+hfe_flux_ib(ib) - - if( (hf_tot_tmp >= 0.0) .and. (hf_tot_tmp < lhfb_flux_ib(ib))) then - hfe_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfe_flux_ib(ib)/hf_tot_tmp) - hfl_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfl_flux_ib(ib)/hf_tot_tmp) - hfb_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfb_flux_ib(ib)/hf_tot_tmp) - hfbv_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfbv_flux_ib(ib)/hf_tot_tmp) - end if - end if - ! ----------------------- + !! ----------------------- + !! LA: set iceberg heatflux at least to latent heat 2023-04-04 + !! Latent heat flux at base and sides also changes lines 475/476 + !! Lateral heat flux set to latent heat and basal heat flux set to zero + !if( lmin_latent_hf ) then + ! lhfb_flux_ib(ib) = rho_icb*L*tvl*scaling(ib)/dt/REAL(steps_per_ib_step) + + ! hf_tot_tmp = hfb_flux_ib(ib)+hfbv_flux_ib(ib)+hfl_flux_ib(ib)+hfe_flux_ib(ib) + + ! if( (hf_tot_tmp >= 0.0) .and. (abs(hf_tot_tmp) < abs(lhfb_flux_ib(ib)))) then + ! hfe_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfe_flux_ib(ib)/hf_tot_tmp) + ! hfl_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfl_flux_ib(ib)/hf_tot_tmp) + ! hfb_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfb_flux_ib(ib)/hf_tot_tmp) + ! hfbv_flux_ib(ib)=-lhfb_flux_ib(ib) * abs(hfbv_flux_ib(ib)/hf_tot_tmp) + ! end if + !end if + !! ----------------------- end subroutine iceberg_newdimensions @@ -447,7 +489,7 @@ subroutine iceberg_heat_water_fluxes_3eq(partit, ib, M_b, H_b, T_ib,S_ib,v_rel, M_b = - (rhow / rhoi) * M_b ! [m (ice) per second], positive for melting? NOW positive for melting !LA avoid basal freezing for grounded icebergs - if(M_b.lt.0.) then + if(grounded(ib) .and. (M_b.lt.0.)) then M_b = 0.0 endif diff --git a/src/icb_thermo.F90.rej b/src/icb_thermo.F90.rej deleted file mode 100644 index 14d566b0e..000000000 --- a/src/icb_thermo.F90.rej +++ /dev/null @@ -1,324 +0,0 @@ -diff a/src/icb_thermo.F90 b/src/icb_thermo.F90 (rejected hunks) -@@ -16,45 +16,39 @@ - ! use 3D information for T,S and velocities - ! instead of SSTs; M_v depends on 'thermal driving') - !============================================================================== --subroutine iceberg_meltrates( M_b, M_v, M_e, M_bv, & -+subroutine iceberg_meltrates(partit, M_b, M_v, M_e, M_bv, & - u_ib,v_ib, uo_ib,vo_ib, ua_ib,va_ib, & - sst_ib, length_ib, conci_ib, & - uo_keel_ib, vo_keel_ib, T_keel_ib, S_keel_ib, depth_ib, & -- T_ave_ib, S_ave_ib, ib) -+ T_ave_ib, S_ave_ib, ib, rho_icb) - --! use o_mesh - use o_param --! use i_therm_param --! use i_param --! use MOD_ICE --! use i_arrays --! use MOD_PARTIT -- --! kh 18.03.21 not really used here --! use o_arrays -- -+ use MOD_PARTIT - use g_clock - use g_forcing_arrays - use g_rotate_grid - -- use iceberg_params, only: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib, heat_flux_ib -- -+ use iceberg_params, only: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib, hfb_flux_ib, hfbv_flux_ib, hfe_flux_ib, hfl_flux_ib, height_ib, scaling - implicit none - -+ ! LA: include latent heat 2023-04-04 -+ real(kind=8),parameter :: L = 334000. ! [J/Kg] -+ - real, intent(IN) :: u_ib,v_ib, uo_ib,vo_ib, ua_ib,va_ib !iceberg velo, (int.) ocean & atm velo - real, intent(IN) :: uo_keel_ib, vo_keel_ib !ocean velo at iceberg's draft -- real, intent(IN) :: sst_ib, length_ib, conci_ib !SST, length and sea ice conc. -- real, intent(IN) :: T_keel_ib, S_keel_ib, depth_ib !T & S at depth 'depth_ib' -+ real, intent(IN) :: sst_ib, length_ib, conci_ib, rho_icb !SST, length and sea ice conc. -+ real, intent(IN) :: T_keel_ib, S_keel_ib, depth_ib !T & S at depth 'depth_ib' - real, intent(IN) :: T_ave_ib, S_ave_ib !T & S averaged, i.e. at 'depth_ib/2' - integer, intent(IN) :: ib !iceberg ID - real, intent(OUT) :: M_b, M_v, M_e, M_bv !melt rates [m (ice) per s] -+ real :: H_b, H_v, H_e, H_bv !melt rates [m (ice) per s] - - - real :: absamino, damping, sea_state, v_ibmino - real :: tf, T_d !freezing temp. and 'thermal driving' --!type(t_partit), intent(inout), target :: partit --!#include "associate_part_def.h" --!#include "associate_part_ass.h" -+type(t_partit), intent(inout), target :: partit -+#include "associate_part_def.h" -+#include "associate_part_ass.h" - - !bottom melt (basal turbulent melting rate) - !M_b = 0.58 * sqrt( (u_ib - uo_ib)**2 + (v_ib - vo_ib)**2 )**0.8 & -@@ -63,17 +57,18 @@ subroutine iceberg_meltrates( M_b, M_v, M_e, M_bv, & - - !3-eq. formulation for bottom melting [m/s] - v_ibmino = sqrt( (u_ib - uo_keel_ib)**2 + (v_ib - vo_keel_ib)**2 ) -- call iceberg_heat_water_fluxes_3eq(ib, M_b, T_keel_ib,S_keel_ib,v_ibmino, depth_ib, tf) -+ call iceberg_heat_water_fluxes_3eq(partit, ib, M_b, H_b, T_keel_ib,S_keel_ib,v_ibmino, depth_ib, tf) -+ hfb_flux_ib = H_b * length_ib*length_ib*scaling(ib) - - !3-eq. formulation for lateral 'basal' melting [m/s] - v_ibmino = sqrt( (u_ib - uo_ib)**2 + (v_ib - vo_ib)**2 ) ! depth-average rel. velocity -- call iceberg_heat_water_fluxes_3eq(ib, M_bv, T_ave_ib,S_ave_ib,v_ibmino, depth_ib/2.0, tf) -+ call iceberg_heat_water_fluxes_3eq(partit, ib, M_bv, H_bv, T_ave_ib,S_ave_ib,v_ibmino, depth_ib/2.0, tf) -+ hfbv_flux_ib = H_bv * (2*length_ib*abs(depth_ib) + 2*length_ib*abs(depth_ib) ) * scaling(ib) - - !'thermal driving', defined as the elevation of ambient water - !temperature above freezing point' (Neshyba and Josberger, 1979). - T_d = T_ave_ib - tf - if(T_d < 0.) T_d = 0. -- !write(*,*) 'thermal driving:',T_d,'; Tf:',tf,'T_ave:',T_ave_ib - - !lateral melt (buoyant convection) - !M_v = 0.00762 * sst_ib + 0.00129 * sst_ib**2 -@@ -81,6 +76,8 @@ subroutine iceberg_meltrates( M_b, M_v, M_e, M_bv, & - !M_v is a function of the 'thermal driving', NOT just sst! Cf. Neshyba and Josberger (1979) - M_v = 0.00762 * T_d + 0.00129 * T_d**2 - M_v = M_v/86400. -+ H_v = M_v * rho_icb * L -+ hfl_flux_ib = H_v * (2*length_ib*abs(depth_ib) + 2*length_ib*abs(depth_ib) ) * scaling(ib) - !fwl_flux_ib = M_v - - !wave erosion -@@ -106,21 +105,12 @@ end subroutine iceberg_meltrates - subroutine iceberg_newdimensions(partit, ib, depth_ib,height_ib,length_ib,width_ib,M_b,M_v,M_e,M_bv, & - rho_h2o, rho_icb, file_meltrates) - --! use o_mesh - use o_param !for step_per_day --! use i_therm_param --! use i_param --! use MOD_ICE --! use i_arrays - use MOD_PARTIT !for mype -- --! kh 18.03.21 not really used here --! use o_arrays -- - use g_clock - use g_forcing_arrays - use g_rotate_grid -- use iceberg_params, only: l_weeksmellor, ascii_out, icb_outfreq, vl_block, bvl_mean, lvlv_mean, lvle_mean, lvlb_mean, smallestvol_icb, fwb_flux_ib, fwe_flux_ib, fwbv_flux_ib, fwl_flux_ib, scaling, heat_flux_ib, lheat_flux_ib -+ use iceberg_params, only: l_weeksmellor, ascii_out, icb_outfreq, vl_block, bvl_mean, lvlv_mean, lvle_mean, lvlb_mean, smallestvol_icb, fwb_flux_ib, fwe_flux_ib, fwbv_flux_ib, fwl_flux_ib, scaling, hfb_flux_ib, hfbv_flux_ib, hfe_flux_ib, hfl_flux_ib, lhfb_flux_ib - use g_config, only: steps_per_ib_step - - implicit none -@@ -185,8 +176,6 @@ type(t_partit), intent(inout), target :: partit - volume_after=volume_before-tvl - - !calculating the new iceberg dimensions -- !depth_ib = (abs(depth_ib)-dh_b)*(-1.) -- !height_ib= abs(depth_ib) * rho_h2o/rho_icb - height_ib= height_ib - dh_b - depth_ib = -height_ib * rho_icb/rho_h2o - -@@ -196,15 +185,13 @@ type(t_partit), intent(inout), target :: partit - - !distribute dh_e equally between length and width - !as in code of michael schodlok, but not dh_v? -- !length_ib= length_ib - dh_v -dh_e/2. -- !width_ib = width_ib - dh_v -dh_e/2. - - volume_after=height_ib*length_ib*width_ib - - !iceberg smaller than critical value after melting? - if (volume_after .le. smallestvol_icb) then - volume_after=0.0 -- depth_ib = 0.0 -+ depth_ib = 0.0 - height_ib= 0.0 - length_ib= 0.0 - width_ib = 0.0 -@@ -297,25 +293,20 @@ end subroutine weeksmellor - !*************************************************************************************************************************** - !*************************************************************************************************************************** - --subroutine iceberg_heat_water_fluxes_3eq(ib, M_b, T_ib,S_ib,v_rel, depth_ib, t_freeze) -+subroutine iceberg_heat_water_fluxes_3eq(partit, ib, M_b, H_b, T_ib,S_ib,v_rel, depth_ib, t_freeze) - ! The three-equation model of ice-shelf ocean interaction (Hellmer et al., 1997) - ! Code derived from BRIOS subroutine iceshelf (which goes back to H.Hellmer's 2D ice shelf model code) - ! adjusted for use in FESOM by Ralph Timmermann, 16.02.2011 - ! adopted and modified for iceberg basal melting by Thomas Rackow, 11.06.2014 - !---------------------------------------------------------------- - -- !use o_mesh -- !use o_param -- !use o_arrays -- !use i_arrays -- !use MOD_PARTIT - use iceberg_params - use g_config - - implicit none - - integer, INTENT(IN) :: ib -- real(kind=8),INTENT(OUT) :: M_b, t_freeze -+ real(kind=8),INTENT(OUT) :: M_b, H_b, t_freeze - real(kind=8),INTENT(IN) :: T_ib, S_ib ! ocean temperature & salinity (at depth 'depth_ib') - real(kind=8),INTENT(IN) :: v_rel, depth_ib ! relative velocity iceberg-ocean (at depth 'depth_ib') - -@@ -351,22 +342,11 @@ subroutine iceberg_heat_water_fluxes_3eq(ib, M_b, T_ib,S_ib,v_rel, depth_ib, t_f - real(kind=8),parameter :: cpi = 152.5+7.122*(atk+tob) !Paterson:"The Physics of Glaciers" - - real(kind=8),parameter :: L = 334000. ! [J/Kg] -+type(t_partit), intent(inout), target :: partit -+!==================== MODULES & DECLARATIONS ==========================!= -+#include "associate_part_def.h" -+#include "associate_part_ass.h" - -- ! hemw = helium content of the glacial meltwater -- ! oomw = isotopic fractionation due to melting -- ! oofw = isotopic fractionation due to freezing -- ! hemw= 4.02*14. -- ! oomw= -30. -- ! oofw= -2.5 -- -- !n3=myDim_nod3d+eDim_nod3d -- -- !do n=1,myDim_nod2D+eDim_nod2D -- !if(cavity_flag_nod2d(n)==0) cycle -- !nk=nod3d_below_nod2d(1,n) -- !temp = tracer(nk,1) -- !sal = tracer(nk,2) -- !zice = coord_nod3d(3,nk) !(<0) - temp = T_ib - sal = S_ib - zice = depth_ib !(<0) -@@ -378,15 +358,7 @@ subroutine iceberg_heat_water_fluxes_3eq(ib, M_b, T_ib,S_ib,v_rel, depth_ib, t_f - ! Calculate or prescribe the turbulent heat and salt transfer coeff. GAT and GAS - ! velocity-dependent approach of Jenkins (1991) - -- !rt vt1 = 0.25*sqrt((u(i,j,N,lrhs)+u(i+1,j,N,lrhs))**2 -- !rt & +(v(i,j,N,lrhs)+v(i,j+1,N,lrhs))**2) -- ! if(vt1.eq.0.) vt1=0.001 -- !rt re = Hz_r(i,j,N)*ds/un !Reynolds number -- -- !vt1 = sqrt(uf(nk)*uf(nk)+uf(nk+n3)*uf(nk+n3)) ! relative velocity ice-ocean - vt1 = v_rel ! relative velocity iceberg-ocean (at depth 'depth_ib') -- --!rt RG44030 vt1 = max(vt1,0.001) - vt1 = max(vt1,0.005) ! RG44030 - - re = 10./un !vt1*re (=velocity times length scale over kinematic viscosity) is the Reynolds number -@@ -530,112 +503,6 @@ subroutine potit_ib(ib,salz,pt,pres,rfpres,tin) - return - end subroutine potit_ib - --! if the underlying FESOM is run without cavities, the following routines might be --! missing, so put them here: --#ifndef use_cavity --! --!------------------------------------------------------------------------------------- --! --!subroutine potit(salz,pt,pres,rfpres,tin) --! ! Berechnet aus dem Salzgehalt[psu] (SALZ), der pot. Temperatur[oC] --! ! (PT) und dem Referenzdruck[dbar] (REFPRES) die in-situ Temperatur --! ! [oC] (TIN) bezogen auf den in-situ Druck[dbar] (PRES) mit Hilfe --! ! eines Iterationsverfahrens aus. --! --! integer iter --! real salz,pt,pres,rfpres,tin --! real epsi,tpmd,pt1,ptd,pttmpr --! --! data tpmd / 0.001 / --! --! epsi = 0. --! do iter=1,100 --! tin = pt+epsi --! pt1 = pttmpr(salz,tin,pres,rfpres) --! ptd = pt1-pt --! if(abs(ptd).lt.tpmd) return --! epsi = epsi-ptd --! enddo --! write(6,*) ' WARNING!' --! write(6,*) ' in-situ temperature calculation has not converged.' --! stop --! return --!end subroutine potit --! --!------------------------------------------------------------------------------------- --! --!real function pttmpr(salz,temp,pres,rfpres) --! ! Berechnet aus dem Salzgehalt/psu (SALZ), der in-situ Temperatur/degC --! ! (TEMP) und dem in-situ Druck/dbar (PRES) die potentielle Temperatur/ --! ! degC (PTTMPR) bezogen auf den Referenzdruck/dbar (RFPRES). Es wird --! ! ein Runge-Kutta Verfahren vierter Ordnung verwendet. --! ! Checkwert: PTTMPR = 36.89073 DegC --! ! fuer SALZ = 40.0 psu --! ! TEMP = 40.0 DegC --! ! PRES = 10000.000 dbar --! ! RFPRES = 0.000 dbar --! --! data ct2 ,ct3 /0.29289322 , 1.707106781/ --! data cq2a,cq2b /0.58578644 , 0.121320344/ --! data cq3a,cq3b /3.414213562, -4.121320344/ --! --! real salz,temp,pres,rfpres --! real p,t,dp,dt,q,ct2,ct3,cq2a,cq2b,cq3a,cq3b --! real adlprt --! --! p = pres --! t = temp --! dp = rfpres-pres --! dt = dp*adlprt(salz,t,p) --! t = t +0.5*dt --! q = dt --! p = p +0.5*dp --! dt = dp*adlprt(salz,t,p) --! t = t + ct2*(dt-q) --! q = cq2a*dt + cq2b*q --! dt = dp*adlprt(salz,t,p) --! t = t + ct3*(dt-q) --! q = cq3a*dt + cq3b*q --! p = rfpres --! dt = dp*adlprt(salz,t,p) --! --! pttmpr = t + (dt-q-q)/6.0 --! --!end function pttmpr --! --!------------------------------------------------------------------------------------- --! --!real function adlprt(salz,temp,pres) --! ! Berechnet aus dem Salzgehalt/psu (SALZ), der in-situ Temperatur/degC --! ! (TEMP) und dem in-situ Druck/dbar (PRES) den adiabatischen Temperatur- --! ! gradienten/(K Dbar^-1) ADLPRT. --! ! Checkwert: ADLPRT = 3.255976E-4 K dbar^-1 --! ! fuer SALZ = 40.0 psu --! ! TEMP = 40.0 DegC --! ! PRES = 10000.000 dbar --! --! real salz,temp,pres --! real s0,a0,a1,a2,a3,b0,b1,c0,c1,c2,c3,d0,d1,e0,e1,e2,ds --! --! data s0 /35.0/ --! data a0,a1,a2,a3 /3.5803E-5, 8.5258E-6, -6.8360E-8, 6.6228E-10/ --! data b0,b1 /1.8932E-6, -4.2393E-8/ --! data c0,c1,c2,c3 /1.8741E-8, -6.7795E-10, 8.7330E-12, -5.4481E-14/ --! data d0,d1 /-1.1351E-10, 2.7759E-12/ --! data e0,e1,e2 /-4.6206E-13, 1.8676E-14, -2.1687E-16/ --! --! ds = salz-s0 --! adlprt = ( ( (e2*temp + e1)*temp + e0 )*pres & --! + ( (d1*temp + d0)*ds & --! + ( (c3*temp + c2)*temp + c1 )*temp + c0 ) )*pres & --! + (b1*temp + b0)*ds + ( (a3*temp + a2)*temp + a1 )*temp + a0 --! --!END function adlprt --! --!---------------------------------------------------------------------------------------- --! --#endif -- - - ! LA from oce_dens_press for iceberg coupling - subroutine fcn_density(t,s,z,rho) diff --git a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 index c33824352..270118675 100755 --- a/src/ice_oce_coupling.F90 +++ b/src/ice_oce_coupling.F90 @@ -385,6 +385,10 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) !$OMP END PARALLEL DO #endif + if (use_icebergs) then + call icb2fesom(mesh, partit, ice) + end if + !___________________________________________________________________________ ! add heat and fresh water flux from cavity if (use_cavity) then @@ -554,6 +558,16 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) !$OMP END PARALLEL DO end if + !___________________________________________________________________________ + if (use_icebergs) then + if (lbalance_fw .and. (.not. turn_off_fw)) then + flux = flux + (ibfwb + ibfwe + ibfwl + ibfwbv) !* steps_per_ib_step + end if + + call integrate_nod(ibfwb + ibfwe + ibfwl + ibfwbv, net, partit, mesh) + if (mype==0) write(*,*) " * total iceberg fw flux: ", net + end if + !___________________________________________________________________________ if (use_cavity) then ! with zstar we do not balance the freshwater flux under the cavity since its @@ -568,17 +582,6 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) where (ulevels_nod2d > 1) flux = -water_flux end if end if - - !___________________________________________________________________________ - if (use_icebergs .and. lbalance_fw) then - call icb2fesom(mesh, partit, ice) - if (.not.turn_off_fw) then - flux = flux + (ibfwb + ibfwe + ibfwl + ibfwbv) !* steps_per_ib_step - end if - - call integrate_nod(ibfwb + ibfwe + ibfwl + ibfwbv, net, partit, mesh) - if (mype==0) write(*,*) " * total iceberg fw flux: ", net - end if !___________________________________________________________________________ ! compute total global net freshwater flux into the ocean diff --git a/src/ice_oce_coupling.F90.rej b/src/ice_oce_coupling.F90.rej deleted file mode 100644 index 2d095512b..000000000 --- a/src/ice_oce_coupling.F90.rej +++ /dev/null @@ -1,23 +0,0 @@ -diff a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 (rejected hunks) -@@ -563,9 +564,21 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) - end if - end if - -+ !___________________________________________________________________________ -+ if (use_icebergs .and. lbalance_fw) then -+ call icb2fesom(mesh, partit, ice) -+ if (.not.turn_off_fw) then -+ flux = flux + (ibfwb + ibfwe + ibfwl + ibfwbv) !* steps_per_ib_step -+ end if -+ -+ call integrate_nod(ibfwb + ibfwe + ibfwl + ibfwbv, net, partit, mesh) -+ if (mype==0) write(*,*) " * total iceberg fw flux: ", net -+ end if -+ - !___________________________________________________________________________ - ! compute total global net freshwater flux into the ocean - call integrate_nod(flux, net, partit, mesh) -+ - - !___________________________________________________________________________ - ! here the + sign must be used because we switched up the sign of the diff --git a/src/io_meandata.F90.rej b/src/io_meandata.F90.rej deleted file mode 100644 index 3dc502956..000000000 --- a/src/io_meandata.F90.rej +++ /dev/null @@ -1,11 +0,0 @@ -diff a/src/io_meandata.F90 b/src/io_meandata.F90 (rejected hunks) -@@ -596,7 +596,8 @@ CASE ('icb ') - call def_stream(nod2D, myDim_nod2D, 'ibfwbv', 'basal iceberg melting', 'm/s', ibfwbv(:), 1, 'm', i_real4, partit, mesh) - call def_stream(nod2D, myDim_nod2D, 'ibfwl', 'lateral iceberg melting', 'm/s', ibfwl(:), 1, 'm', i_real4, partit, mesh) - call def_stream(nod2D, myDim_nod2D, 'ibfwe', 'iceberg erosion', 'm/s', ibfwe(:), 1, 'm', i_real4, partit, mesh) -- call def_stream(nod2D, myDim_nod2D, 'ibhf', 'heat flux from iceberg melting', 'm/s', ibhf(:), 1, 'm', i_real4, partit, mesh) -+ !call def_stream(nod2D, myDim_nod2D, 'ibhf', 'heat flux from iceberg melting', 'm/s', ibhf(:), 1, 'm', i_real4, partit, mesh) -+ call def_stream((/nl,nod2D/), (/nl,myDim_nod2D/), 'ibhf', 'heat flux from iceberg melting', 'm/s', ibhf_n(:,:), 1, 'm', i_real4, partit, mesh) - end if - !------------------------------------------ - diff --git a/src/oce_ale_tracer.F90.rej b/src/oce_ale_tracer.F90.rej deleted file mode 100644 index f7caf0eb0..000000000 --- a/src/oce_ale_tracer.F90.rej +++ /dev/null @@ -1,9 +0,0 @@ -diff a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 (rejected hunks) -@@ -452,6 +452,7 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, partit, mesh) - use o_mixing_KPP_mod !for ghats _GO_ - use g_cvmix_kpp, only: kpp_nonlcltranspT, kpp_nonlcltranspS, kpp_oblmixc - use bc_surface_interface -+ use iceberg_params - implicit none - integer , intent(in) , target :: tr_num - type(t_dyn) , intent(inout), target :: dynamics From ec878cb1a6aba112f707539d41c88314ac5ad5e6 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Fri, 27 Sep 2024 19:54:04 +0200 Subject: [PATCH 234/273] add module for icb_thermo and icb_coupling --- src/fesom_module.F90 | 1 + src/icb_coupling.F90 | 15 +++++++++++++++ src/icb_elem.F90 | 2 ++ src/icb_step.F90 | 2 ++ src/icb_thermo.F90 | 21 +++++++++++++++++++++ src/ice_oce_coupling.F90 | 1 + 6 files changed, 42 insertions(+) diff --git a/src/fesom_module.F90 b/src/fesom_module.F90 index 1fb782a0f..dffef9186 100755 --- a/src/fesom_module.F90 +++ b/src/fesom_module.F90 @@ -36,6 +36,7 @@ module fesom_main_storage_module use age_tracer_init_interface use iceberg_params use iceberg_step + use iceberg_ocean_coupling ! Define icepack module #if defined (__icepack) diff --git a/src/icb_coupling.F90 b/src/icb_coupling.F90 index 51671c8d1..35b29ab9f 100644 --- a/src/icb_coupling.F90 +++ b/src/icb_coupling.F90 @@ -1,3 +1,17 @@ +module iceberg_ocean_coupling + USE MOD_MESH + use MOD_PARTIT + use MOD_ICE + USE MOD_DYN + use iceberg_params + + public :: reset_ib_fluxes + public :: prepare_icb2fesom + public :: icb2fesom + + contains + + subroutine reset_ib_fluxes() use o_param @@ -190,3 +204,4 @@ subroutine icb2fesom(mesh, partit, ice) end if !---wiso-code-end end subroutine icb2fesom +end module diff --git a/src/icb_elem.F90 b/src/icb_elem.F90 index c79f2365b..e5de4e046 100644 --- a/src/icb_elem.F90 +++ b/src/icb_elem.F90 @@ -3,6 +3,8 @@ module iceberg_element USE MOD_MESH USE MOD_DYN use iceberg_params + use iceberg_thermodynamics + use iceberg_ocean_coupling ! use iceberg_dynamics ! use iceberg_step diff --git a/src/icb_step.F90 b/src/icb_step.F90 index 3517817ba..17ae8b31c 100644 --- a/src/icb_step.F90 +++ b/src/icb_step.F90 @@ -6,6 +6,8 @@ module iceberg_step use iceberg_params use iceberg_dynamics use iceberg_element + use iceberg_thermodynamics + use iceberg_ocean_coupling implicit none diff --git a/src/icb_thermo.F90 b/src/icb_thermo.F90 index 7b9b38afe..6aec637e5 100644 --- a/src/icb_thermo.F90 +++ b/src/icb_thermo.F90 @@ -1,3 +1,23 @@ +module iceberg_thermodynamics + USE MOD_MESH + use MOD_PARTIT + use MOD_ICE + USE MOD_DYN + use iceberg_params + !use iceberg_element + !use iceberg_step + use iceberg_ocean_coupling + + implicit none + + public :: iceberg_meltrates + public :: iceberg_newdimensions + public :: iceberg_heat_water_fluxes_3eq + public :: potit_ib + public :: fcn_density + + contains + !!============================================================================= ! calculates the empirical melt rates of the iceberg as in ! Martin: 'Parameterizing the fresh-water flux from land ice to ocean @@ -596,3 +616,4 @@ subroutine fcn_density(t,s,z,rho) + 4.8314e-4*s**2) rho = rhopot / (1.0 + 0.1*z/bulk) end subroutine fcn_density +end module diff --git a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 index 270118675..55a259930 100755 --- a/src/ice_oce_coupling.F90 +++ b/src/ice_oce_coupling.F90 @@ -265,6 +265,7 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) init_flux_atm_ocn #endif use iceberg_params + use iceberg_ocean_coupling use cavity_interfaces !---fwf-code use g_clock From c8f287a9acbab0ed543b3f72f6b35f2fd6ebfc66 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Fri, 27 Sep 2024 23:05:18 +0200 Subject: [PATCH 235/273] avoid unneccesary loop --- src/icb_step.F90 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/icb_step.F90 b/src/icb_step.F90 index 17ae8b31c..f15b28c91 100644 --- a/src/icb_step.F90 +++ b/src/icb_step.F90 @@ -554,9 +554,10 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt !----------------------------- ! LA 2022-11-30 - if(cell_saturation > 0) then + if((cell_saturation>0) .and. (iceberg_elem.ne.old_element)) then if( lverbose_icb) then - write(*,*) " * checking for cell saturation - ib: ", ib, ", old_elem: ", old_element, ", new_elem: ", iceberg_elem + write(*,*) " * checking for cell saturation" + write(*,*) " * ib: ", ib, ", old_elem: ", old_element, ", new_elem: ", iceberg_elem end if select case(cell_saturation) !num of coastal points case(1) @@ -575,12 +576,11 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt !$OMP END PARALLEL !----------------------------- - if ((area_ib_tot > elem_area_glob(iceberg_elem)) .and. (old_element.ne.0) .and. (iceberg_elem.ne.old_element)) then ! .and. (left_mype == 0)) then + if ((area_ib_tot > elem_area_glob(iceberg_elem)) .and. (old_element.ne.0)) then ! .and. (left_mype == 0)) then if( lverbose_icb) then write(*,*) " *******************************************************" write(*,*) " * set iceberg ", ib, " back to elem ", old_element, " from elem ", iceberg_elem write(*,*) " * area_ib_tot = ", area_ib_tot, "; elem_area = ", elem_area(local_idx_of(iceberg_elem)) - end if i_have_element = .true. left_mype = 0.0 @@ -779,7 +779,7 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib_single iceberg_elem = old_element u_ib = 0. v_ib = 0. - else if(cell_saturation > 0) then + else if((cell_saturation>0) .and. (iceberg_elem.ne.old_element)) then if (mype==0) write(*,*) 'iceberg ',ib, ' changed PE or was very fast' elem_area_tmp = elem_area_glob(iceberg_elem) select case(cell_saturation) !num of coastal points @@ -798,7 +798,7 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib_single end do !$OMP END DO !$OMP END PARALLEL - if((area_ib_tot > elem_area_tmp) .and. (elem_area_tmp > 0.0) .and. (iceberg_elem.ne.old_element)) then + if((area_ib_tot > elem_area_tmp) .and. (elem_area_tmp > 0.0)) then if(mype==pe_block_red(ib) .and. lverbose_icb) then write(*,*) " *******************************************************" write(*,*) " * iceberg changed PE and saturation" From bfee944c50345de1537e8bb1bdd173ff1f994f93 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Mon, 7 Oct 2024 14:48:02 +0200 Subject: [PATCH 236/273] fix segfault --- src/icb_step.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/icb_step.F90 b/src/icb_step.F90 index f15b28c91..74b38d293 100644 --- a/src/icb_step.F90 +++ b/src/icb_step.F90 @@ -798,7 +798,7 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib_single end do !$OMP END DO !$OMP END PARALLEL - if((area_ib_tot > elem_area_tmp) .and. (elem_area_tmp > 0.0)) then + if((area_ib_tot > elem_area_tmp) .and. (elem_area_tmp > 0.0) .and. (old_element.ne.0)) then if(mype==pe_block_red(ib) .and. lverbose_icb) then write(*,*) " *******************************************************" write(*,*) " * iceberg changed PE and saturation" From aff740d72ca3576a352f94c8d4f2a0a275f5bffc Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 7 Oct 2024 16:30:21 +0200 Subject: [PATCH 237/273] try to make icepack to compile. Try to preliminary fix the icepack restart. This still needs to be checked --- src/icepack_drivers/icedrv_io.F90 | 100 +++++++++++++--------------- src/icepack_drivers/icedrv_main.F90 | 17 +++-- src/icepack_drivers/icedrv_step.F90 | 35 ++++++---- src/io_fesom_file.F90 | 39 +++++++++-- src/io_meandata.F90 | 4 +- src/io_restart.F90 | 45 ++++++++++--- src/io_restart_file_group.F90 | 55 +++++++++++++-- 7 files changed, 199 insertions(+), 96 deletions(-) diff --git a/src/icepack_drivers/icedrv_io.F90 b/src/icepack_drivers/icedrv_io.F90 index 7d8bb7c4d..209d15cb7 100644 --- a/src/icepack_drivers/icedrv_io.F90 +++ b/src/icepack_drivers/icedrv_io.F90 @@ -18,7 +18,11 @@ contains - module subroutine init_io_icepack(mesh) + ! + ! + !_________________________________________________________________________ + ! define mean IO output of icepack + module subroutine ini_mean_icepack_io(mesh) use mod_mesh use io_meandata, only: def_stream3D, def_stream2D @@ -269,32 +273,33 @@ module subroutine init_io_icepack(mesh) end select end do - end subroutine init_io_icepack + end subroutine ini_mean_icepack_io ! - !-------------------------------------------------------------------------------------------- ! - - module subroutine init_restart_icepack(year, mesh) + !___________________________________________________________________________ + ! define mean IO output of icepack + module subroutine ini_icepack_io(year, partit, mesh) use mod_mesh + use mod_partit + use mod_parsup use g_config, only: runid, ResultPath - use io_restart, only: ip_id, def_variable_2d, def_dim + use io_restart, only: icepack_files, icepack_path implicit none - type(t_mesh), target, intent(in) :: mesh - - integer, intent(in) :: year - integer (kind=int_kind) :: ncid + type(t_mesh) , intent(in) , target :: mesh + type(t_partit), intent(inout), target :: partit + integer , intent(in) :: year + logical , save :: has_been_called = .false. + integer (kind=int_kind) :: i, j, k, iblk, & ! counting indices nt_Tsfc, nt_sice, nt_qice, nt_qsno, & nt_apnd, nt_hpnd, nt_ipnd, nt_alvl, & nt_vlvl, nt_iage, nt_FY, nt_aero, & ktherm, nt_fbri - integer (kind=int_kind) :: varid character(500) :: longname - character(500) :: filename character(500) :: trname, units character(4) :: cyear @@ -341,68 +346,57 @@ module subroutine init_restart_icepack(year, mesh) write(cyear,'(i4)') year ! Create an icepack restart file ! Only serial output implemented so far - ip_id%filename=trim(ResultPath)//trim(runid)//'.'//cyear//'.icepack.restart.nc' - if (ip_id%is_in_use) return - ip_id%is_in_use=.true. - - ! Define the dimensions of the netCDF file - ! - ! Note that at the moment FESOM2 supports only 3D output and restart (very - ! suboptimal). The different ice layers are thus splitted in different arrays - ! and - ! reconstructed after the restart. Multidimensional variables would solve - ! this. - - call def_dim(ip_id, 'node', nod2D) ! Number of nodes - call def_dim(ip_id, 'ncat', ncat) ! Number of thickness classes - + icepack_path=trim(ResultPath)//trim(runid)//'.'//cyear//'.icepack.restart.nc' + + if(has_been_called) return + has_been_called = .true. + ! Define the netCDF variables for surface ! and vertically constant fields !----------------------------------------------------------------- ! 3D restart fields (ncat) !----------------------------------------------------------------- - - call def_variable_2d(ip_id, 'aicen', (/nod2D, ncat/), 'sea ice concentration', 'none', aicen(:,:)); - call def_variable_2d(ip_id, 'vicen', (/nod2D, ncat/), 'volum per unit area of ice', 'm', vicen(:,:)); - call def_variable_2d(ip_id, 'vsnon', (/nod2D, ncat/), 'volum per unit area of snow', 'm', vsnon(:,:)); - call def_variable_2d(ip_id, 'Tsfc', (/nod2D, ncat/), 'sea ice surf. temperature', 'degC', trcrn(:,nt_Tsfc,:)); + call icepack_files%def_node_var('aicen' , 'sea ice concentration' , 'none', aicen(:,:) , ncat, mesh, partit) + call icepack_files%def_node_var('vicen' , 'volum per unit area of ice' , 'm' , vicen(:,:) , ncat, mesh, partit) + call icepack_files%def_node_var('vsnon' , 'volum per unit area of snow' , 'm' , vsnon(:,:) , ncat, mesh, partit) + call icepack_files%def_node_var('Tsfc' , 'sea ice surf. temperature' , 'degC', trcrn(:,nt_Tsfc,:), ncat, mesh, partit) if (tr_iage) then - call def_variable_2d(ip_id, 'iage', (/nod2D, ncat/), 'sea ice age', 's', trcrn(:,nt_iage,:)); + call icepack_files%def_node_var('iage' , 'sea ice age' , 's' , trcrn(:,nt_iage,:), ncat, mesh, partit) end if if (tr_FY) then - call def_variable_2d(ip_id, 'FY', (/nod2D, ncat/), 'first year ice', 'none', trcrn(:,nt_FY,:)); + call icepack_files%def_node_var('FY' , 'first year ice' , 'none', trcrn(:,nt_FY,:) , ncat, mesh, partit) end if if (tr_lvl) then - call def_variable_2d(ip_id, 'alvl', (/nod2D, ncat/), 'ridged sea ice area', 'none', trcrn(:,nt_alvl,:)); - call def_variable_2d(ip_id, 'vlvl', (/nod2D, ncat/), 'ridged sea ice volume', 'm', trcrn(:,nt_vlvl,:)); + call icepack_files%def_node_var('alvl' , 'ridged sea ice area' , 'none', trcrn(:,nt_alvl,:), ncat, mesh, partit) + call icepack_files%def_node_var('vlvl' , 'ridged sea ice volume' , 'm' , trcrn(:,nt_vlvl,:), ncat, mesh, partit) end if if (tr_pond_cesm) then - call def_variable_2d(ip_id, 'apnd', (/nod2D, ncat/), 'melt pond area fraction', 'none', trcrn(:,nt_apnd,:)); - call def_variable_2d(ip_id, 'hpnd', (/nod2D, ncat/), 'melt pond depth', 'm', trcrn(:,nt_hpnd,:)); + call icepack_files%def_node_var('apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), ncat, mesh, partit) + call icepack_files%def_node_var('hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), ncat, mesh, partit) end if if (tr_pond_topo) then - call def_variable_2d(ip_id, 'apnd', (/nod2D, ncat/), 'melt pond area fraction', 'none', trcrn(:,nt_apnd,:)); - call def_variable_2d(ip_id, 'hpnd', (/nod2D, ncat/), 'melt pond depth', 'm', trcrn(:,nt_hpnd,:)); - call def_variable_2d(ip_id, 'ipnd', (/nod2D, ncat/), 'melt pond refrozen lid thickness', 'm', trcrn(:,nt_ipnd,:)); + call icepack_files%def_node_var('apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), ncat, mesh, partit) + call icepack_files%def_node_var('hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), ncat, mesh, partit) + call icepack_files%def_node_var('ipnd' , 'melt pond refrozen lid thickness' , 'm' , trcrn(:,nt_ipnd,:), ncat, mesh, partit) end if if (tr_pond_lvl) then - call def_variable_2d(ip_id, 'apnd', (/nod2D, ncat/), 'melt pond area fraction', 'none', trcrn(:,nt_apnd,:)); - call def_variable_2d(ip_id, 'hpnd', (/nod2D, ncat/), 'melt pond depth', 'm', trcrn(:,nt_hpnd,:)); - call def_variable_2d(ip_id, 'ipnd', (/nod2D, ncat/), 'melt pond refrozen lid thickness', 'm', trcrn(:,nt_ipnd,:)); - call def_variable_2d(ip_id, 'ffracn', (/nod2D, ncat/), 'fraction of fsurfn over pond used to melt ipond', 'none', ffracn); - call def_variable_2d(ip_id, 'dhsn', (/nod2D, ncat/), 'depth difference for snow on sea ice and pond ice', 'm', dhsn); + call icepack_files%def_node_var('apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), ncat, mesh, partit) + call icepack_files%def_node_var('hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), ncat, mesh, partit) + call icepack_files%def_node_var('ipnd' , 'melt pond refrozen lid thickness' , 'm' , trcrn(:,nt_ipnd,:), ncat, mesh, partit) + call icepack_files%def_node_var('ffracn', 'fraction of fsurfn over pond used to melt ipond' , 'none', ffracn, mesh, partit); + call icepack_files%def_node_var('dhsn' , 'depth difference for snow on sea ice and pond ice' , 'm' , dhsn , mesh, partit); end if if (tr_brine) then - call def_variable_2d(ip_id, 'fbri', (/nod2D, ncat/), 'volume fraction of ice with dynamic salt', 'none', trcrn(:,nt_fbri,:)); - call def_variable_2d(ip_id, 'first_ice', (/nod2D, ncat/), 'distinguishes ice that disappears', 'logical', first_ice_real(:,:)); + call icepack_files%def_node_var('fbri' , 'volume fraction of ice with dynamic salt', 'none', trcrn(:,nt_fbri,:), ncat, mesh, partit) + call icepack_files%def_node_var('first_ice', 'distinguishes ice that disappears' , 'logical', first_ice_real(:,:), ncat, mesh, partit) end if !----------------------------------------------------------------- @@ -415,11 +409,11 @@ module subroutine init_restart_icepack(year, mesh) write(trname,'(A6,i1)') 'sicen_', k write(longname,'(A21,i1)') 'sea ice salinity lyr:', k units='psu' - call def_variable_2d(ip_id, trim(trname), (/nod2D, ncat/), trim(longname), trim(units), trcrn(:,nt_sice+k-1,:)); + call icepack_files%def_node_var(trim(trname), trim(longname), trim(units), trcrn(:,nt_sice+k-1,:), ncat, mesh, partit) write(trname,'(A6,i1)') 'qicen_', k write(longname,'(A21,i1)') 'sea ice enthalpy lyr:', k units='J/m3' - call def_variable_2d(ip_id, trim(trname), (/nod2D, ncat/), trim(longname), trim(units), trcrn(:,nt_qice+k-1,:)); + call icepack_files%def_node_var(trim(trname), trim(longname), trim(units), trcrn(:,nt_qice+k-1,:), ncat, mesh, partit) end do ! Snow @@ -428,7 +422,7 @@ module subroutine init_restart_icepack(year, mesh) write(trname,'(A6,i1)') 'qsnon_', k write(longname,'(A18,i1)') 'snow enthalpy lyr:', k units='J/m3' - call def_variable_2d(ip_id, trim(trname), (/nod2D, ncat/), trim(longname), trim(units), trcrn(:,nt_qsno+k-1,:)); + call icepack_files%def_node_var(trim(trname), trim(longname), trim(units), trcrn(:,nt_qsno+k-1,:), ncat, mesh, partit) end do ! @@ -438,6 +432,6 @@ module subroutine init_restart_icepack(year, mesh) ! enough to use these options. Lorenzo Zampieri - 16/10/2019. ! - end subroutine init_restart_icepack + end subroutine ini_icepack_io - end submodule icedrv_io +end submodule icedrv_io diff --git a/src/icepack_drivers/icedrv_main.F90 b/src/icepack_drivers/icedrv_main.F90 index 0f5f938ff..aef497d00 100644 --- a/src/icepack_drivers/icedrv_main.F90 +++ b/src/icepack_drivers/icedrv_main.F90 @@ -25,7 +25,7 @@ module icedrv_main ! Subroutines set_icepack, alloc_icepack, init_icepack, step_icepack, & icepack_to_fesom, icepack_to_fesom_single_point, & - init_flux_atm_ocn, init_io_icepack, init_restart_icepack + init_flux_atm_ocn, ini_icepack_io , ini_mean_icepack_io !======================================================================= !--------- Everything else is private @@ -883,19 +883,22 @@ module subroutine step_icepack(ice, mesh, time_evp, time_advec, time_therm) end subroutine step_icepack ! Initialize output - module subroutine init_io_icepack(mesh) + module subroutine ini_mean_icepack_io(mesh) use mod_mesh implicit none type(t_mesh), intent(in), target :: mesh - end subroutine init_io_icepack + end subroutine ini_mean_icepack_io ! Initialize restart - module subroutine init_restart_icepack(year, mesh) + module subroutine ini_icepack_io(year, partit, mesh) use mod_mesh + use mod_partit + use mod_parsup implicit none - type(t_mesh), intent(in), target :: mesh - integer(kind=int_kind), intent(in) :: year - end subroutine init_restart_icepack + type(t_mesh), intent(in) , target :: mesh + type(t_partit), intent(inout), target :: partit + integer(kind=int_kind), intent(in) :: year + end subroutine ini_icepack_io ! Cut off Icepack module subroutine cut_off_icepack diff --git a/src/icepack_drivers/icedrv_step.F90 b/src/icepack_drivers/icedrv_step.F90 index 5139454bf..917b7517c 100644 --- a/src/icepack_drivers/icedrv_step.F90 +++ b/src/icepack_drivers/icedrv_step.F90 @@ -772,12 +772,15 @@ end subroutine step_radiation ! Allows heat storage in ocean for uncoupled runs. ! - subroutine ocean_mixed_layer (dt) + subroutine ocean_mixed_layer (ice, dt) use icepack_intfc, only: icepack_ocn_mixed_layer, icepack_atm_boundary - + use mod_ice + implicit none + type(t_ice), target, intent(inout) :: ice + real (kind=dbl_kind), intent(in) :: & dt ! time step @@ -852,7 +855,8 @@ subroutine ocean_mixed_layer (dt) !----------------------------------------------------------------- do i = 1, nx - call ocn_mixed_layer_icepack( alvdr_ocn=alvdr_ocn(i), swvdr=swvdr(i), & + call ocn_mixed_layer_icepack( ice, & + alvdr_ocn=alvdr_ocn(i), swvdr=swvdr(i), & alidr_ocn=alidr_ocn(i), swidr=swidr(i), & alvdf_ocn=alvdf_ocn(i), swvdf=swvdf(i), & alidf_ocn=alidf_ocn(i), swidf=swidf(i), & @@ -878,7 +882,7 @@ end subroutine ocean_mixed_layer !======================================================================= - subroutine ocn_mixed_layer_icepack( & + subroutine ocn_mixed_layer_icepack(ice, & alvdr_ocn, swvdr, & alidr_ocn, swidr, & alvdf_ocn, swvdf, & @@ -896,11 +900,11 @@ subroutine ocn_mixed_layer_icepack( & frzmlt, fsalt, & sss) - use i_therm_param, only: emiss_wat use g_forcing_param, only: use_virt_salt - + use mod_ice + implicit none - + real (kind=dbl_kind), intent(in) :: & alvdr_ocn , & ! visible, direct (fraction) alidr_ocn , & ! near-ir, direct (fraction) @@ -951,6 +955,10 @@ subroutine ocn_mixed_layer_icepack( & ice_ref_salinity character(len=*),parameter :: subname='(icepack_ocn_mixed_layer)' + + type(t_ice), target, intent(inout) :: ice + real(kind=WP), pointer :: emiss_wat + emiss_wat => ice%thermo%emiss_wat call icepack_query_parameters( Tffresh_out=Tffresh, Lfresh_out=Lfresh, & stefan_boltzmann_out=stefan_boltzmann, & @@ -992,11 +1000,14 @@ end subroutine ocn_mixed_layer_icepack !======================================================================= - subroutine coupling_prep(dt) - + subroutine coupling_prep(ice, dt) + + use mod_ice ! local variables implicit none + + type(t_ice), target, intent(inout) :: ice real (kind=dbl_kind), intent(in) :: & dt ! time step @@ -1029,7 +1040,7 @@ subroutine coupling_prep(dt) frzmlt_init (i) = frzmlt(i) enddo - call ocean_mixed_layer (dt) ! ocean surface fluxes and sst + call ocean_mixed_layer (ice, dt) ! ocean surface fluxes and sst !----------------------------------------------------------------- ! Aggregate albedos @@ -1207,7 +1218,7 @@ module subroutine step_icepack(ice, mesh, time_evp, time_advec, time_therm) !----------------------------------------------------------------- dhi_dt(:) = ( vice(:) - dhi_dt(:) ) / dt - dhs_dt(:) = ( vsno(:) - dhi_dt(:) ) / dt + dhs_dt(:) = ( vsno(:) - dhs_dt(:) ) / dt ! clean up, update tendency diagnostics @@ -1294,7 +1305,7 @@ module subroutine step_icepack(ice, mesh, time_evp, time_advec, time_therm) ! get ready for coupling and the next time step !----------------------------------------------------------------- - call coupling_prep (dt) + call coupling_prep (ice, dt) !----------------------------------------------------------------- ! icepack timing diff --git a/src/io_fesom_file.F90 b/src/io_fesom_file.F90 index 39dd8d247..2770b5345 100644 --- a/src/io_fesom_file.F90 +++ b/src/io_fesom_file.F90 @@ -43,9 +43,9 @@ module io_fesom_file_module procedure, public :: async_read_and_scatter_variables, async_gather_and_write_variables, join, init, is_iorank, rec_count, time_varindex, time_dimindex procedure, public :: read_variables_raw, write_variables_raw procedure, public :: close_file ! inherited procedures we overwrite - generic, public :: specify_node_var => specify_node_var_2d, specify_node_var_3d + generic, public :: specify_node_var => specify_node_var_2d, specify_node_var_3d, specify_node_var_2dicepack generic, public :: specify_elem_var => specify_elem_var_2d, specify_elem_var_3d - procedure, private :: specify_node_var_2d, specify_node_var_3d + procedure, private :: specify_node_var_2d, specify_node_var_3d, specify_node_var_2dicepack procedure, private :: specify_elem_var_2d, specify_elem_var_3d procedure, private :: read_and_scatter_variables, gather_and_write_variables end type @@ -54,6 +54,7 @@ module io_fesom_file_module integer, save :: m_nod2d integer, save :: m_elem2d integer, save :: m_nl + integer, save :: m_nitc type fesom_file_type_ptr @@ -103,7 +104,7 @@ function time_dimindex(this) result(x) end function - subroutine init(this, mesh_nod2d, mesh_elem2d, mesh_nl, partit) ! todo: would like to call it initialize but Fortran is rather cluncky with overwriting base type procedures + subroutine init(this, mesh_nod2d, mesh_elem2d, mesh_nl, partit, mesh_nitc) ! todo: would like to call it initialize but Fortran is rather cluncky with overwriting base type procedures use io_netcdf_workaround_module use io_gather_module use MOD_PARTIT @@ -111,6 +112,7 @@ subroutine init(this, mesh_nod2d, mesh_elem2d, mesh_nl, partit) ! todo: would li integer mesh_nod2d integer mesh_elem2d integer mesh_nl + integer, optional :: mesh_nitc type(t_partit), target :: partit ! EO parameters type(fesom_file_type_ptr), allocatable :: tmparr(:) @@ -121,9 +123,16 @@ subroutine init(this, mesh_nod2d, mesh_elem2d, mesh_nl, partit) ! todo: would li call init_io_gather(partit) ! get hold of our mesh data for later use (assume the mesh instance will not change) - m_nod2d = mesh_nod2d + m_nod2d = mesh_nod2d m_elem2d = mesh_elem2d - m_nl = mesh_nl + m_nl = mesh_nl + !PS mesh_nitc ... icepack number of ice thickness classes, + if (present(mesh_nitc)) then + m_nitc = mesh_nitc + else + m_nitc = 0 + end if + call this%netcdf_file_type%initialize() allocate(this%used_mesh_dims(0)) @@ -446,6 +455,22 @@ subroutine specify_node_var_2d(this, name, longname, units, local_data) external_local_data_ptr(1:1,1:size(local_data)) => local_data(:) call specify_variable(this, name, [level_diminfo%idx, this%time_dimidx], level_diminfo%len, external_local_data_ptr, .false., longname, units) end subroutine + + subroutine specify_node_var_2dicepack(this, name, longname, units, local_data, nitc) + use, intrinsic :: ISO_C_BINDING + class(fesom_file_type), intent(inout) :: this + character(len=*), intent(in) :: name + character(len=*), intent(in) :: units, longname + real(kind=8), target, intent(inout) :: local_data(:,:) + integer, intent(in) :: nitc! todo: be able to set precision + ! EO parameters + type(dim_info) level_diminfo, nitc_diminfo + + level_diminfo = obtain_diminfo(this, m_nod2d) + nitc_diminfo = obtain_diminfo(this, size(local_data, dim=2)) + + call specify_variable(this, name, [level_diminfo%idx, nitc_diminfo%idx, this%time_dimidx], level_diminfo%len, local_data, .false., longname, units) + end subroutine subroutine specify_node_var_3d(this, name, longname, units, local_data) @@ -520,7 +545,9 @@ function obtain_diminfo(this, len) result(info) else if(len == m_nl-1) then info = dim_info( idx=this%add_dim('nz_1', len), len=len) else if(len == m_nl) then - info = dim_info( idx=this%add_dim('nz', len), len=len) + info = dim_info( idx=this%add_dim('nz' , len), len=len) + else if(len == m_nitc) then + info = dim_info( idx=this%add_dim('nitc', len), len=len) else print *, "error in line ",__LINE__, __FILE__," can not find dimension with size",len stop 1 diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index afc58f87f..cc08d77e4 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -1742,7 +1742,7 @@ subroutine output(istep, ice, dynamics, tracers, partit, mesh) use iom #endif #if defined (__icepack) - use icedrv_main, only: init_io_icepack + use icedrv_main, only: ini_mean_icepack_io #endif implicit none integer :: istep @@ -1775,7 +1775,7 @@ subroutine output(istep, ice, dynamics, tracers, partit, mesh) call init_io_gather(partit) #if defined (__icepack) - call init_io_icepack(mesh) !icapack has its copy of p_partit => partit + call ini_mean_icepack_io(mesh) !icapack has its copy of p_partit => partit #endif end if ! --> if (lfirst) then diff --git a/src/io_restart.F90 b/src/io_restart.F90 index fd1121278..482f098a3 100644 --- a/src/io_restart.F90 +++ b/src/io_restart.F90 @@ -13,6 +13,9 @@ MODULE io_RESTART use MOD_PARSUP use fortran_utils use mpi +#if defined(__icepack) + use icedrv_main +#endif #if defined(__recom) use recom_glovar use recom_config @@ -27,9 +30,17 @@ MODULE io_RESTART real(kind=WP) :: ctime !current time in seconds from the beginning of the year type(restart_file_group) , save :: oce_files - type(restart_file_group) , save :: ice_files character(:), allocatable, save :: oce_path + + type(restart_file_group) , save :: ice_files character(:), allocatable, save :: ice_path + +#if defined(__icepack) + type(restart_file_group) , save, public :: icepack_files + character(:), allocatable, save, public :: icepack_path + +#endif + #if defined(__recom) type(restart_file_group) , save :: bio_files character(:), allocatable, save :: bio_path @@ -233,9 +244,9 @@ end subroutine ini_bio_io ! subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tracers, partit, mesh) -#if defined(__icepack) - icepack restart not merged here ! produce a compiler error if USE_ICEPACK=ON; todo: merge icepack restart from 68d8b8b -#endif +! #if defined(__icepack) +! icepack restart not merged here ! produce a compiler error if USE_ICEPACK=ON; todo: merge icepack restart from 68d8b8b +! #endif use fortran_utils implicit none @@ -302,18 +313,29 @@ subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tr ! initialise files for netcdf restart if l_read==TRUE --> the restart file ! will be read if (.not. l_read) then - call ini_ocean_io(yearnew, dynamics, tracers, partit, mesh) - if (use_ice) call ini_ice_io (yearnew, ice, partit, mesh) + call ini_ocean_io(yearnew, dynamics, tracers, partit, mesh) + if (use_ice) then + call ini_ice_io(yearnew, ice, partit, mesh) +#if defined(__icepack) + call ini_icepack_io(yearnew, partit, mesh) +#endif + end if #if defined(__recom) if (use_REcoM) call ini_bio_io (yearnew, tracers, partit, mesh) #endif + else - call ini_ocean_io(yearold, dynamics, tracers, partit, mesh) - if (use_ice) call ini_ice_io (yearold, ice, partit, mesh) + call ini_ocean_io(yearold, dynamics, tracers, partit, mesh) + if (use_ice) then + call ini_ice_io (yearold, ice, partit, mesh) +#if defined(__icepack) + call ini_icepack_io(yearnew, partit, mesh) +#endif + end if #if defined(__recom) if (REcoM_restart) call ini_bio_io(yearold, tracers, partit, mesh) #endif - end if + end if ! --> if (.not. l_read) then !___READING OF RESTART________________________________________________________ ! should restart files be readed --> see r_restart in gen_modules_clock.F90 @@ -431,13 +453,16 @@ subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tr if(use_ice) then if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: ice'//achar(27)//'[0m' call write_restart(ice_path, ice_files, istep) +#if defined(__icepack) + if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: icepack'//achar(27)//'[0m' + call write_restart(icepack_path, icepack_files, istep) +#endif end if #if defined(__recom) !RECOM restart !write here if (REcoM_restart .or. use_REcoM) then - if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: bio'//achar(27)//'[0m' call write_restart(bio_path, bio_files, istep) end if diff --git a/src/io_restart_file_group.F90 b/src/io_restart_file_group.F90 index 3c7a327ca..4431c91eb 100644 --- a/src/io_restart_file_group.F90 +++ b/src/io_restart_file_group.F90 @@ -21,14 +21,14 @@ module restart_file_group_module integer, public :: nfiles = 0 ! todo: allow dynamically allocated size without messing with shallow copied pointers contains - generic, public :: def_node_var => def_node_var_2d, def_node_var_3d + generic, public :: def_node_var => def_node_var_2d, def_node_var_3d, def_node_var_2dicepack generic, public :: def_elem_var => def_elem_var_2d, def_elem_var_3d - procedure, private :: def_node_var_2d, def_node_var_3d + procedure, private :: def_node_var_2d, def_node_var_3d, def_node_var_2dicepack procedure, private :: def_elem_var_2d, def_elem_var_3d ! def_*_optional procedures create a restart variable which does not have to exist when reading the restart file - generic, public :: def_node_var_optional => def_node_var_2d_optional, def_node_var_3d_optional + generic, public :: def_node_var_optional => def_node_var_2d_optional, def_node_var_3d_optional, def_node_var_2dicepack_optional generic, public :: def_elem_var_optional => def_elem_var_2d_optional, def_elem_var_3d_optional - procedure, private :: def_node_var_2d_optional, def_node_var_3d_optional + procedure, private :: def_node_var_2d_optional, def_node_var_3d_optional, def_node_var_2dicepack_optional procedure, private :: def_elem_var_2d_optional, def_elem_var_3d_optional end type @@ -49,6 +49,23 @@ subroutine def_node_var_2d(this, name, longname, units, local_data, mesh, partit call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) end subroutine + !PS add a seprate case for icepack since here i need to write a 2d vertice file + !PS over the dimension of number of ice thickness classes. Additional input + !PS parameter nitc + subroutine def_node_var_2dicepack(this, name, longname, units, local_data, nitc, mesh, partit) + use mod_mesh + class(restart_file_group), target, intent(inout) :: this + character(len=*), intent(in) :: name + character(len=*), intent(in) :: units, longname + real(kind=8), target, intent(inout) :: local_data(:,:) ! todo: be able to set precision + integer :: nitc + type(t_mesh) , intent(in) :: mesh + type(t_partit) , intent(in) :: partit + ! EO parameters + + call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit, nitc) + call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) + end subroutine subroutine def_node_var_3d(this, name, longname, units, local_data, mesh, partit) use mod_mesh @@ -95,12 +112,16 @@ subroutine def_elem_var_3d(this, name, longname, units, local_data, mesh, partit end subroutine - subroutine add_file(g, name, must_exist_on_read, mesh_nod2d, mesh_elem2d, mesh_nl, partit) + subroutine add_file(g, name, must_exist_on_read, mesh_nod2d, mesh_elem2d, mesh_nl, partit, mesh_nitc) class(restart_file_group), target, intent(inout) :: g character(len=*), intent(in) :: name logical must_exist_on_read integer mesh_nod2d, mesh_elem2d, mesh_nl type(t_partit), intent(in) :: partit + !PS mesh_nitc ... icepack number of ice thickness classes, do it here as optional + !PS parameter, i assume is the less intrusive option. Therefore it must be + !PS at the end of the argumnent input list + integer, optional :: mesh_nitc ! EO parameters type(restart_file_type), pointer :: f @@ -111,7 +132,12 @@ subroutine add_file(g, name, must_exist_on_read, mesh_nod2d, mesh_elem2d, mesh_n f%path = "" allocate(f%varname,source=name) f%must_exist_on_read = must_exist_on_read - call f%fesom_file_type%init(mesh_nod2d, mesh_elem2d, mesh_nl, partit) + + if (present(mesh_nitc)) then + call f%fesom_file_type%init(mesh_nod2d, mesh_elem2d, mesh_nl, partit, mesh_nitc) + else + call f%fesom_file_type%init(mesh_nod2d, mesh_elem2d, mesh_nl, partit) + end if ! this is specific for a restart file f%iter_varindex = f%add_var_int('iter', [f%time_dimindex()]) end subroutine @@ -131,6 +157,23 @@ subroutine def_node_var_2d_optional(this, name, longname, units, local_data, mes call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) end subroutine + !PS add a seprate case for icepack since here i need to write a 2d vertice file + !PS over the dimension of number of ice thickness classes. Additional input + !PS parameter nitc + subroutine def_node_var_2dicepack_optional(this, name, longname, units, local_data, nitc, mesh, partit) + use mod_mesh + class(restart_file_group), target, intent(inout) :: this + character(len=*), intent(in) :: name + character(len=*), intent(in) :: units, longname + real(kind=8), target, intent(inout) :: local_data(:,:) ! todo: be able to set precision + integer :: nitc + type(t_mesh) , intent(in) :: mesh + type(t_partit) , intent(in) :: partit + ! EO parameters + + call add_file(this, name, .false., mesh%nod2d, mesh%elem2d, mesh%nl, partit, nitc) + call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) + end subroutine subroutine def_node_var_3d_optional(this, name, longname, units, local_data, mesh, partit) use mod_mesh From a66454e37094a96b58118879f550a9f569eeb554 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 7 Oct 2024 17:05:05 +0200 Subject: [PATCH 238/273] add old icepack debug changes into ice_oce_coupling.F90 --- src/ice_oce_coupling.F90 | 31 ++++++++++++++++++------- src/icepack_drivers/icedrv_main.F90 | 6 +++-- src/icepack_drivers/icedrv_transfer.F90 | 7 ++++-- 3 files changed, 32 insertions(+), 12 deletions(-) diff --git a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 index 0d4575668..499502a77 100755 --- a/src/ice_oce_coupling.F90 +++ b/src/ice_oce_coupling.F90 @@ -362,16 +362,22 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) fhocn_tot_out=net_heat_flux, & fresh_tot_out=fresh_wa_flux, & fsalt_out=real_salt_flux, & - dhi_dt_out=thdgrsn, & - dhs_dt_out=thdgr, & - evap_ocn_out=evaporation ) + dhs_dt_out=thdgrsn, & + dhi_dt_out=thdgr, & + evap_ocn_out=evaporation, & + evap_out=ice_sublimation ) - heat_flux(:) = - net_heat_flux(:) - water_flux(:) = - (fresh_wa_flux(:)/1000.0_WP) - runoff(:) + ! Heat flux + heat_flux = - net_heat_flux - ! Evaporation - evaporation(:) = - evaporation(:) / 1000.0_WP - ice_sublimation(:) = 0.0_WP + ! Freshwater flux (convert units from icepack to fesom) + water_flux = - (fresh_wa_flux * inv_rhowat) - runoff(:) + + ! Evaporation (convert units from icepack to fesom) + evaporation = - evaporation * (1.0_WP - a_ice) * inv_rhowat + + ! Ice-Sublimation is not added to evap in icepack + ice_sublimation = 0.0_WP call init_flux_atm_ocn() @@ -509,12 +515,21 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) ! enforce the total freshwater/salt flux be zero ! 1. water flux ! if (.not. use_virt_salt) can be used! ! we conserve only the fluxes from the database plus evaporation. + ! ICEPACK: adds rain, snow and evap is based on the newly formed ice + ! concentration (a_ice). In our standard ice model rain, snow and evap is + ! added based on the ice concentration of the previous time step (a_ice_old) + ! So for the proper balancing of snow the proper aice has to be choosen !$OMP PARALLEL DO do n=1, myDim_nod2D+eDim_nod2D flux(n) = evaporation(n) & -ice_sublimation(n) & ! the ice2atmos subplimation does not contribute to the freshwater flux into the ocean +prec_rain(n) & +#if defined (__icepack) + +prec_snow(n)*(1.0_WP-a_ice(n)) & +#else +prec_snow(n)*(1.0_WP-a_ice_old(n)) & +#endif + #if defined (__oasis) || defined (__ifsinterface) +residualifwflx(n) & ! balance residual ice flux only in coupled case #endif diff --git a/src/icepack_drivers/icedrv_main.F90 b/src/icepack_drivers/icedrv_main.F90 index aef497d00..d749964bf 100644 --- a/src/icepack_drivers/icedrv_main.F90 +++ b/src/icepack_drivers/icedrv_main.F90 @@ -820,7 +820,8 @@ module subroutine icepack_to_fesom( & fhocn_tot_out, fresh_tot_out, & strocnxT_out, strocnyT_out, & dhs_dt_out, dhi_dt_out, & - fsalt_out, evap_ocn_out ) + fsalt_out, evap_ocn_out, & + evap_out ) use mod_mesh implicit none integer (kind=int_kind), intent(in) :: & @@ -836,7 +837,8 @@ module subroutine icepack_to_fesom( & fsalt_out, & dhs_dt_out, & dhi_dt_out, & - evap_ocn_out + evap_ocn_out, & + evap_out end subroutine icepack_to_fesom ! Copy variables from icepack to fesom (single node or element) diff --git a/src/icepack_drivers/icedrv_transfer.F90 b/src/icepack_drivers/icedrv_transfer.F90 index 15d36eb1b..524b9d9ec 100644 --- a/src/icepack_drivers/icedrv_transfer.F90 +++ b/src/icepack_drivers/icedrv_transfer.F90 @@ -188,7 +188,8 @@ module subroutine icepack_to_fesom( nx_in, & fhocn_tot_out, fresh_tot_out, & strocnxT_out, strocnyT_out, & dhs_dt_out, dhi_dt_out, & - fsalt_out, evap_ocn_out ) + fsalt_out, evap_ocn_out, & + evap_out) implicit none @@ -206,7 +207,8 @@ module subroutine icepack_to_fesom( nx_in, & fsalt_out, & dhs_dt_out, & dhi_dt_out, & - evap_ocn_out + evap_ocn_out, & + evap_out character(len=*),parameter :: subname='(icepack_to_fesom)' @@ -222,6 +224,7 @@ module subroutine icepack_to_fesom( nx_in, & if (present(dhs_dt_out) ) dhs_dt_out = dhs_dt if (present(fsalt_out) ) fsalt_out = fsalt if (present(evap_ocn_out) ) evap_ocn_out = evap_ocn + if (present(evap_ocn_out) ) evap_out = evap end subroutine icepack_to_fesom From 97d2441a3190eb580108e56e6210a7fc0fd32841 Mon Sep 17 00:00:00 2001 From: Pengyang Song Date: Tue, 8 Oct 2024 15:07:33 +0200 Subject: [PATCH 239/273] bug fix: use_cavity_fw2press does not work --- src/oce_ale.F90 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/oce_ale.F90 b/src/oce_ale.F90 index 5f5f05470..8006f7632 100644 --- a/src/oce_ale.F90 +++ b/src/oce_ale.F90 @@ -1784,10 +1784,12 @@ subroutine compute_ssh_rhs_ale(dynamics, partit, mesh) !$OMP DO do n=1,myDim_nod2D nzmin = ulevels_nod2D(n) - if (ulevels_nod2D(n)>1 .and. use_cavity_fw2press ) then + if (ulevels_nod2D(n)>1) then ! use_cavity_fw2press=.true.: adds freshwater under the cavity thereby ! increasing the local pressure - ssh_rhs(n)=ssh_rhs(n)-alpha*water_flux(n)*areasvol(nzmin,n) + if (use_cavity_fw2press) then + ssh_rhs(n)=ssh_rhs(n)-alpha*water_flux(n)*areasvol(nzmin,n) + end if else ssh_rhs(n)=ssh_rhs(n)-alpha*water_flux(n)*areasvol(nzmin,n)+(1.0_WP-alpha)*ssh_rhs_old(n) end if From 3a5d6bae3d2ff621aa6f3b1f19494f6589a8d79f Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Tue, 8 Oct 2024 15:48:03 +0200 Subject: [PATCH 240/273] Revert "update mpif.h to use mpi" This reverts commit 0e5bfdc1b402347cc1b707cfb6396142e8aba447. --- src/MOD_PARTIT.F90 | 4 ++-- src/fortran_utils.F90 | 2 +- src/gen_modules_partitioning.F90 | 3 ++- src/ifs_interface/mpp_io.F90 | 3 ++- src/io_restart.F90 | 6 ++++-- src/temp/MOD_PARTIT.F90 | 4 ++-- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/MOD_PARTIT.F90 b/src/MOD_PARTIT.F90 index 2e8330a4b..6603b8922 100644 --- a/src/MOD_PARTIT.F90 +++ b/src/MOD_PARTIT.F90 @@ -5,12 +5,12 @@ module MOD_PARTIT USE, intrinsic :: ISO_FORTRAN_ENV, only : int32 USE MOD_WRITE_BINARY_ARRAYS USE MOD_READ_BINARY_ARRAYS -USE mpi #if defined(_OPENMP) USE OMP_LIB #endif IMPLICIT NONE SAVE +include 'mpif.h' integer, parameter :: MAX_LAENDERECK=16 integer, parameter :: MAX_NEIGHBOR_PARTITIONS=32 @@ -217,4 +217,4 @@ subroutine READ_T_PARTIT(partit, unit, iostat, iomsg) read(unit, iostat=iostat, iomsg=iomsg) partit%pe_status end subroutine READ_T_PARTIT -end module MOD_PARTIT \ No newline at end of file +end module MOD_PARTIT diff --git a/src/fortran_utils.F90 b/src/fortran_utils.F90 index 86a93d226..35efdb742 100644 --- a/src/fortran_utils.F90 +++ b/src/fortran_utils.F90 @@ -1,6 +1,5 @@ ! synopsis: basic Fortran utilities, no MPI, dependencies only to INTRINSIC modules module fortran_utils - use mpi implicit none contains @@ -49,6 +48,7 @@ function mpirank_to_txt(mpicomm) result(txt) integer mype integer npes integer mpierr + include 'mpif.h' call MPI_Comm_Rank(mpicomm, mype, mpierr) call MPI_Comm_Size(mpicomm, npes, mpierr) diff --git a/src/gen_modules_partitioning.F90 b/src/gen_modules_partitioning.F90 index 2e701e427..04ecd94d3 100644 --- a/src/gen_modules_partitioning.F90 +++ b/src/gen_modules_partitioning.F90 @@ -113,7 +113,7 @@ subroutine par_ex(COMM, mype, abort) ! finalizes MPI #ifndef __oasis if (present(abort)) then if (mype==0) write(*,*) 'Run finished unexpectedly!' - call MPI_ABORT(MPI_COMM_WORLD, 1, error) + call MPI_ABORT(MPI_COMM_WORLD, 1 ) else ! TODO: this is where fesom standalone, ifsinterface etc get to !1. there no abort actually even when model calls abort, and barrier may hang @@ -580,3 +580,4 @@ subroutine status_check(partit) call par_ex(partit%MPI_COMM_FESOM, partit%mype, 1) endif end subroutine status_check + diff --git a/src/ifs_interface/mpp_io.F90 b/src/ifs_interface/mpp_io.F90 index d7838cd32..6c57995e3 100644 --- a/src/ifs_interface/mpp_io.F90 +++ b/src/ifs_interface/mpp_io.F90 @@ -6,7 +6,6 @@ !----------------------------------------------------- MODULE mpp_io - USE mpi #if defined(__MULTIO) USE iom, only : iom_enable_multio, iom_initialize, iom_init_server, iom_finalize #endif @@ -31,6 +30,7 @@ MODULE mpp_io SUBROUTINE mpp_io_init( iicomm, lio, irequired, iprovided, lmpi1 ) + INCLUDE "mpif.h" INTEGER, INTENT(INOUT) :: iicomm LOGICAL, INTENT(INOUT) :: lio INTEGER, INTENT(INOUT) :: irequired, iprovided @@ -126,6 +126,7 @@ SUBROUTINE mpp_io_init_2( iicomm ) INTEGER :: icode, ierr, icolor, iicommx, iicommm, iicommo INTEGER :: ji,inum LOGICAL :: lcompp + INCLUDE "mpif.h" ! Construct multio server communicator diff --git a/src/io_restart.F90 b/src/io_restart.F90 index fd1121278..9077e27af 100644 --- a/src/io_restart.F90 +++ b/src/io_restart.F90 @@ -12,7 +12,6 @@ MODULE io_RESTART use MOD_PARTIT use MOD_PARSUP use fortran_utils - use mpi #if defined(__recom) use recom_glovar use recom_config @@ -772,6 +771,7 @@ subroutine read_all_raw_restarts(mpicomm, mype) integer fileunit integer status integer mpierr + include 'mpif.h' if(mype == RAW_RESTART_METADATA_RANK) then ! read metadata info for the raw restart @@ -860,6 +860,7 @@ subroutine finalize_restart() ! !_______________________________________________________________________________ subroutine read_restart(path, filegroup, mpicomm, mype) + include 'mpif.h' character(len=*), intent(in) :: path type(restart_file_group), intent(inout) :: filegroup integer, intent(in) :: mpicomm @@ -1003,6 +1004,7 @@ function is_due(unit, frequency, istep) result(d) ! integer mype ! integer npes ! integer mpierr +! include 'mpif.h' ! ! call MPI_Comm_Rank(mpicomm, mype, mpierr) ! call MPI_Comm_Size(mpicomm, npes, mpierr) @@ -1010,4 +1012,4 @@ function is_due(unit, frequency, istep) result(d) ! end function !!PS --> move this function also to fortran_utils.F90 -end module \ No newline at end of file +end module diff --git a/src/temp/MOD_PARTIT.F90 b/src/temp/MOD_PARTIT.F90 index 818b46541..bd3b7dec2 100644 --- a/src/temp/MOD_PARTIT.F90 +++ b/src/temp/MOD_PARTIT.F90 @@ -5,9 +5,9 @@ module MOD_PARTIT USE, intrinsic :: ISO_FORTRAN_ENV USE MOD_WRITE_BINARY_ARRAYS USE MOD_READ_BINARY_ARRAYS -USE mpi IMPLICIT NONE SAVE +include 'mpif.h' integer, parameter :: MAX_LAENDERECK=16 integer, parameter :: MAX_NEIGHBOR_PARTITIONS=32 @@ -186,4 +186,4 @@ subroutine READ_T_PARTIT(partit, unit, iostat, iomsg) read(unit, iostat=iostat, iomsg=iomsg) partit%pe_status end subroutine READ_T_PARTIT -end module MOD_PARTIT \ No newline at end of file +end module MOD_PARTIT From f6e04d6b4ec47ae149fd62f1d1e296fe8031619a Mon Sep 17 00:00:00 2001 From: ackerlar Date: Tue, 8 Oct 2024 16:24:36 +0200 Subject: [PATCH 241/273] fix segfault, really... --- src/icb_step.F90 | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/icb_step.F90 b/src/icb_step.F90 index 74b38d293..4a133ccfe 100644 --- a/src/icb_step.F90 +++ b/src/icb_step.F90 @@ -464,8 +464,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt i_have_element=.false. !if the first node belongs to this processor.. (just one processor enters here!) !if( local_idx_of(iceberg_elem) > 0 .and. elem2D_nodes(1,local_idx_of(iceberg_elem)) <= myDim_nod2D ) then -if( local_idx_of(iceberg_elem) > 0 ) then - +if((local_idx_of(iceberg_elem)>0) .and. (local_idx_of(iceberg_elem)<=partit%myDim_elem2D) ) then if( elem2D_nodes(1,local_idx_of(iceberg_elem)) <= partit%myDim_nod2D ) then i_have_element=.true. From d3aca8b029dbea5bf0cb162df8b96fe56dbf0842 Mon Sep 17 00:00:00 2001 From: Sebastian Beyer Date: Mon, 16 Sep 2024 13:31:21 +0200 Subject: [PATCH 242/273] update mpif.h to use mpi --- src/MOD_PARTIT.F90 | 4 ++-- src/fortran_utils.F90 | 2 +- src/gen_modules_partitioning.F90 | 3 +-- src/ifs_interface/mpp_io.F90 | 3 +-- src/io_restart.F90 | 6 ++---- src/temp/MOD_PARTIT.F90 | 4 ++-- 6 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/MOD_PARTIT.F90 b/src/MOD_PARTIT.F90 index 6603b8922..2e8330a4b 100644 --- a/src/MOD_PARTIT.F90 +++ b/src/MOD_PARTIT.F90 @@ -5,12 +5,12 @@ module MOD_PARTIT USE, intrinsic :: ISO_FORTRAN_ENV, only : int32 USE MOD_WRITE_BINARY_ARRAYS USE MOD_READ_BINARY_ARRAYS +USE mpi #if defined(_OPENMP) USE OMP_LIB #endif IMPLICIT NONE SAVE -include 'mpif.h' integer, parameter :: MAX_LAENDERECK=16 integer, parameter :: MAX_NEIGHBOR_PARTITIONS=32 @@ -217,4 +217,4 @@ subroutine READ_T_PARTIT(partit, unit, iostat, iomsg) read(unit, iostat=iostat, iomsg=iomsg) partit%pe_status end subroutine READ_T_PARTIT -end module MOD_PARTIT +end module MOD_PARTIT \ No newline at end of file diff --git a/src/fortran_utils.F90 b/src/fortran_utils.F90 index 35efdb742..86a93d226 100644 --- a/src/fortran_utils.F90 +++ b/src/fortran_utils.F90 @@ -1,5 +1,6 @@ ! synopsis: basic Fortran utilities, no MPI, dependencies only to INTRINSIC modules module fortran_utils + use mpi implicit none contains @@ -48,7 +49,6 @@ function mpirank_to_txt(mpicomm) result(txt) integer mype integer npes integer mpierr - include 'mpif.h' call MPI_Comm_Rank(mpicomm, mype, mpierr) call MPI_Comm_Size(mpicomm, npes, mpierr) diff --git a/src/gen_modules_partitioning.F90 b/src/gen_modules_partitioning.F90 index 04ecd94d3..2e701e427 100644 --- a/src/gen_modules_partitioning.F90 +++ b/src/gen_modules_partitioning.F90 @@ -113,7 +113,7 @@ subroutine par_ex(COMM, mype, abort) ! finalizes MPI #ifndef __oasis if (present(abort)) then if (mype==0) write(*,*) 'Run finished unexpectedly!' - call MPI_ABORT(MPI_COMM_WORLD, 1 ) + call MPI_ABORT(MPI_COMM_WORLD, 1, error) else ! TODO: this is where fesom standalone, ifsinterface etc get to !1. there no abort actually even when model calls abort, and barrier may hang @@ -580,4 +580,3 @@ subroutine status_check(partit) call par_ex(partit%MPI_COMM_FESOM, partit%mype, 1) endif end subroutine status_check - diff --git a/src/ifs_interface/mpp_io.F90 b/src/ifs_interface/mpp_io.F90 index 6c57995e3..d7838cd32 100644 --- a/src/ifs_interface/mpp_io.F90 +++ b/src/ifs_interface/mpp_io.F90 @@ -6,6 +6,7 @@ !----------------------------------------------------- MODULE mpp_io + USE mpi #if defined(__MULTIO) USE iom, only : iom_enable_multio, iom_initialize, iom_init_server, iom_finalize #endif @@ -30,7 +31,6 @@ MODULE mpp_io SUBROUTINE mpp_io_init( iicomm, lio, irequired, iprovided, lmpi1 ) - INCLUDE "mpif.h" INTEGER, INTENT(INOUT) :: iicomm LOGICAL, INTENT(INOUT) :: lio INTEGER, INTENT(INOUT) :: irequired, iprovided @@ -126,7 +126,6 @@ SUBROUTINE mpp_io_init_2( iicomm ) INTEGER :: icode, ierr, icolor, iicommx, iicommm, iicommo INTEGER :: ji,inum LOGICAL :: lcompp - INCLUDE "mpif.h" ! Construct multio server communicator diff --git a/src/io_restart.F90 b/src/io_restart.F90 index 9077e27af..fd1121278 100644 --- a/src/io_restart.F90 +++ b/src/io_restart.F90 @@ -12,6 +12,7 @@ MODULE io_RESTART use MOD_PARTIT use MOD_PARSUP use fortran_utils + use mpi #if defined(__recom) use recom_glovar use recom_config @@ -771,7 +772,6 @@ subroutine read_all_raw_restarts(mpicomm, mype) integer fileunit integer status integer mpierr - include 'mpif.h' if(mype == RAW_RESTART_METADATA_RANK) then ! read metadata info for the raw restart @@ -860,7 +860,6 @@ subroutine finalize_restart() ! !_______________________________________________________________________________ subroutine read_restart(path, filegroup, mpicomm, mype) - include 'mpif.h' character(len=*), intent(in) :: path type(restart_file_group), intent(inout) :: filegroup integer, intent(in) :: mpicomm @@ -1004,7 +1003,6 @@ function is_due(unit, frequency, istep) result(d) ! integer mype ! integer npes ! integer mpierr -! include 'mpif.h' ! ! call MPI_Comm_Rank(mpicomm, mype, mpierr) ! call MPI_Comm_Size(mpicomm, npes, mpierr) @@ -1012,4 +1010,4 @@ function is_due(unit, frequency, istep) result(d) ! end function !!PS --> move this function also to fortran_utils.F90 -end module +end module \ No newline at end of file diff --git a/src/temp/MOD_PARTIT.F90 b/src/temp/MOD_PARTIT.F90 index bd3b7dec2..818b46541 100644 --- a/src/temp/MOD_PARTIT.F90 +++ b/src/temp/MOD_PARTIT.F90 @@ -5,9 +5,9 @@ module MOD_PARTIT USE, intrinsic :: ISO_FORTRAN_ENV USE MOD_WRITE_BINARY_ARRAYS USE MOD_READ_BINARY_ARRAYS +USE mpi IMPLICIT NONE SAVE -include 'mpif.h' integer, parameter :: MAX_LAENDERECK=16 integer, parameter :: MAX_NEIGHBOR_PARTITIONS=32 @@ -186,4 +186,4 @@ subroutine READ_T_PARTIT(partit, unit, iostat, iomsg) read(unit, iostat=iostat, iomsg=iomsg) partit%pe_status end subroutine READ_T_PARTIT -end module MOD_PARTIT +end module MOD_PARTIT \ No newline at end of file From ed87d983366b8caa8f9c81ca6bec72ac8750ccc3 Mon Sep 17 00:00:00 2001 From: Sebastian Beyer Date: Tue, 8 Oct 2024 21:23:40 +0200 Subject: [PATCH 243/273] add use mpi to cpl_driver --- src/cpl_driver.F90 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cpl_driver.F90 b/src/cpl_driver.F90 index 0c2ad2bc1..8aa733bdc 100644 --- a/src/cpl_driver.F90 +++ b/src/cpl_driver.F90 @@ -16,6 +16,7 @@ module cpl_driver use g_config, only : dt, use_icebergs, lwiso use o_param, only : rad USE MOD_PARTIT + use mpi implicit none save ! @@ -1005,4 +1006,4 @@ end module cpl_driver #else module cpl_driver end module cpl_driver -#endif +#endif \ No newline at end of file From 74457684a3064960eabb4a49149f8187f3747a5b Mon Sep 17 00:00:00 2001 From: ackerlar Date: Wed, 9 Oct 2024 13:19:06 +0200 Subject: [PATCH 244/273] small fix --- src/icb_step.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/icb_step.F90 b/src/icb_step.F90 index 4a133ccfe..a7da3baa8 100644 --- a/src/icb_step.F90 +++ b/src/icb_step.F90 @@ -464,7 +464,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt i_have_element=.false. !if the first node belongs to this processor.. (just one processor enters here!) !if( local_idx_of(iceberg_elem) > 0 .and. elem2D_nodes(1,local_idx_of(iceberg_elem)) <= myDim_nod2D ) then -if((local_idx_of(iceberg_elem)>0) .and. (local_idx_of(iceberg_elem)<=partit%myDim_elem2D) ) then +if((local_idx_of(iceberg_elem)>0) .and. (local_idx_of(iceberg_elem)<=partit%myDim_elem2D+partit%eDim_elem2D) ) then if( elem2D_nodes(1,local_idx_of(iceberg_elem)) <= partit%myDim_nod2D ) then i_have_element=.true. From da877f3523f5c3ab3c28a2d692534d4891b1435e Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 9 Oct 2024 13:30:22 +0200 Subject: [PATCH 245/273] switch defalt icepack update ocean fluxes to true --- config/namelist.icepack | 2 +- config/namelist.icepack.cesm.ponds | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/namelist.icepack b/config/namelist.icepack index ed0dd4d4c..3fa487147 100644 --- a/config/namelist.icepack +++ b/config/namelist.icepack @@ -89,7 +89,7 @@ ustar_min = 0.0005 emissivity = 0.95 fbot_xfer_type = 'constant' - update_ocn_f = .false. + update_ocn_f = .true. l_mpond_fresh = .false. tfrz_option = 'linear_salt' oceanmixed_ice = .true. diff --git a/config/namelist.icepack.cesm.ponds b/config/namelist.icepack.cesm.ponds index 51aa33191..9e3bc18df 100644 --- a/config/namelist.icepack.cesm.ponds +++ b/config/namelist.icepack.cesm.ponds @@ -87,7 +87,7 @@ ustar_min = 0.0005 emissivity = 0.95 fbot_xfer_type = 'constant' - update_ocn_f = .false. + update_ocn_f = .true. l_mpond_fresh = .false. tfrz_option = 'linear_salt' oceanmixed_ice = .true. From e62e2c23870d1841e7edbb77d934baf13cd9067f Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 9 Oct 2024 13:31:44 +0200 Subject: [PATCH 246/273] make icepack restart work for the moment --- src/io_fesom_file.F90 | 21 ++++++++++++++------- src/io_restart_file_group.F90 | 22 +++++++++++----------- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/io_fesom_file.F90 b/src/io_fesom_file.F90 index 2770b5345..0df58c7da 100644 --- a/src/io_fesom_file.F90 +++ b/src/io_fesom_file.F90 @@ -43,9 +43,9 @@ module io_fesom_file_module procedure, public :: async_read_and_scatter_variables, async_gather_and_write_variables, join, init, is_iorank, rec_count, time_varindex, time_dimindex procedure, public :: read_variables_raw, write_variables_raw procedure, public :: close_file ! inherited procedures we overwrite - generic, public :: specify_node_var => specify_node_var_2d, specify_node_var_3d, specify_node_var_2dicepack + generic, public :: specify_node_var => specify_node_var_2d, specify_node_var_2dicepack, specify_node_var_3d generic, public :: specify_elem_var => specify_elem_var_2d, specify_elem_var_3d - procedure, private :: specify_node_var_2d, specify_node_var_3d, specify_node_var_2dicepack + procedure, private :: specify_node_var_2d, specify_node_var_2dicepack, specify_node_var_3d procedure, private :: specify_elem_var_2d, specify_elem_var_3d procedure, private :: read_and_scatter_variables, gather_and_write_variables end type @@ -450,6 +450,7 @@ subroutine specify_node_var_2d(this, name, longname, units, local_data) real(8), pointer :: external_local_data_ptr(:,:) type(dim_info) level_diminfo +!PS write(*,*) "--> specify_node_var_2d:", __LINE__, __FILE__ level_diminfo = obtain_diminfo(this, m_nod2d) external_local_data_ptr(1:1,1:size(local_data)) => local_data(:) @@ -466,6 +467,7 @@ subroutine specify_node_var_2dicepack(this, name, longname, units, local_data, n ! EO parameters type(dim_info) level_diminfo, nitc_diminfo +!PS write(*,*) "--> specify_node_var_2dicepack:", __LINE__, __FILE__ level_diminfo = obtain_diminfo(this, m_nod2d) nitc_diminfo = obtain_diminfo(this, size(local_data, dim=2)) @@ -481,7 +483,8 @@ subroutine specify_node_var_3d(this, name, longname, units, local_data) real(kind=8), target, intent(inout) :: local_data(:,:) ! todo: be able to set precision ! EO parameters type(dim_info) level_diminfo, depth_diminfo - + +!PS write(*,*) "--> specify_node_var_3d:", __LINE__, __FILE__ level_diminfo = obtain_diminfo(this, m_nod2d) depth_diminfo = obtain_diminfo(this, size(local_data, dim=1)) @@ -499,6 +502,7 @@ subroutine specify_elem_var_2d(this, name, longname, units, local_data) real(8), pointer :: external_local_data_ptr(:,:) type(dim_info) level_diminfo +!PS write(*,*) "--> specify_elem_var_2d:", __LINE__, __FILE__ level_diminfo = obtain_diminfo(this, m_elem2d) external_local_data_ptr(1:1,1:size(local_data)) => local_data(:) @@ -515,6 +519,7 @@ subroutine specify_elem_var_3d(this, name, longname, units, local_data) ! EO parameters type(dim_info) level_diminfo, depth_diminfo +!PS write(*,*) "--> specify_elem_var_3d:", __LINE__, __FILE__ level_diminfo = obtain_diminfo(this, m_elem2d) depth_diminfo = obtain_diminfo(this, size(local_data, dim=1)) @@ -537,16 +542,18 @@ function obtain_diminfo(this, len) result(info) end if end do +!PS write(*,*) 'm_n2d=',m_nod2d,', m_e2d=',m_elem2d,', m_nl=', m_nl,', nitc', m_nitc, ', LEN=', len + ! the dim has not been added yet, see if it is one of our allowed mesh related dims - if(len == m_nod2d) then + if (len == m_nod2d) then info = dim_info( idx=this%add_dim('node', len), len=len) else if(len == m_elem2d) then info = dim_info( idx=this%add_dim('elem', len), len=len) - else if(len == m_nl-1) then + else if(len == m_nl-1 ) then info = dim_info( idx=this%add_dim('nz_1', len), len=len) - else if(len == m_nl) then + else if(len == m_nl ) then info = dim_info( idx=this%add_dim('nz' , len), len=len) - else if(len == m_nitc) then + else if(len == m_nitc ) then info = dim_info( idx=this%add_dim('nitc', len), len=len) else print *, "error in line ",__LINE__, __FILE__," can not find dimension with size",len diff --git a/src/io_restart_file_group.F90 b/src/io_restart_file_group.F90 index 4431c91eb..bbd139805 100644 --- a/src/io_restart_file_group.F90 +++ b/src/io_restart_file_group.F90 @@ -21,14 +21,14 @@ module restart_file_group_module integer, public :: nfiles = 0 ! todo: allow dynamically allocated size without messing with shallow copied pointers contains - generic, public :: def_node_var => def_node_var_2d, def_node_var_3d, def_node_var_2dicepack + generic, public :: def_node_var => def_node_var_2d, def_node_var_2dicepack, def_node_var_3d generic, public :: def_elem_var => def_elem_var_2d, def_elem_var_3d - procedure, private :: def_node_var_2d, def_node_var_3d, def_node_var_2dicepack + procedure, private :: def_node_var_2d, def_node_var_2dicepack, def_node_var_3d procedure, private :: def_elem_var_2d, def_elem_var_3d ! def_*_optional procedures create a restart variable which does not have to exist when reading the restart file - generic, public :: def_node_var_optional => def_node_var_2d_optional, def_node_var_3d_optional, def_node_var_2dicepack_optional + generic, public :: def_node_var_optional => def_node_var_2d_optional, def_node_var_2dicepack_optional, def_node_var_3d_optional generic, public :: def_elem_var_optional => def_elem_var_2d_optional, def_elem_var_3d_optional - procedure, private :: def_node_var_2d_optional, def_node_var_3d_optional, def_node_var_2dicepack_optional + procedure, private :: def_node_var_2d_optional, def_node_var_2dicepack_optional, def_node_var_3d_optional procedure, private :: def_elem_var_2d_optional, def_elem_var_3d_optional end type @@ -44,7 +44,7 @@ subroutine def_node_var_2d(this, name, longname, units, local_data, mesh, partit type(t_mesh), intent(in) :: mesh type(t_partit), intent(in) :: partit ! EO parameters - +!PS write(*,*) "--> def_node_var_2d:", __LINE__, __FILE__ call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit) call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) end subroutine @@ -62,9 +62,9 @@ subroutine def_node_var_2dicepack(this, name, longname, units, local_data, nitc, type(t_mesh) , intent(in) :: mesh type(t_partit) , intent(in) :: partit ! EO parameters - +!PS write(*,*) "--> def_node_var_2dicepack:", __LINE__, __FILE__ call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit, nitc) - call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) + call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data, nitc) end subroutine subroutine def_node_var_3d(this, name, longname, units, local_data, mesh, partit) @@ -76,7 +76,7 @@ subroutine def_node_var_3d(this, name, longname, units, local_data, mesh, partit type(t_mesh), intent(in) :: mesh type(t_partit), intent(in) :: partit ! EO parameters - +!PS write(*,*) "--> def_node_var_3d:", __LINE__, __FILE__ call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit) call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) end subroutine @@ -91,7 +91,7 @@ subroutine def_elem_var_2d(this, name, longname, units, local_data, mesh, partit type(t_mesh), intent(in) :: mesh type(t_partit), intent(in) :: partit ! EO parameters - +!PS write(*,*) "--> def_elem_var_2d:", __LINE__, __FILE__ call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit) call this%files(this%nfiles)%specify_elem_var(name, longname, units, local_data) end subroutine @@ -106,7 +106,7 @@ subroutine def_elem_var_3d(this, name, longname, units, local_data, mesh, partit type(t_mesh), intent(in) :: mesh type(t_partit), intent(in) :: partit ! EO parameters - +!PS write(*,*) "--> def_elem_var_3d:", __LINE__, __FILE__ call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit) call this%files(this%nfiles)%specify_elem_var(name, longname, units, local_data) end subroutine @@ -172,7 +172,7 @@ subroutine def_node_var_2dicepack_optional(this, name, longname, units, local_da ! EO parameters call add_file(this, name, .false., mesh%nod2d, mesh%elem2d, mesh%nl, partit, nitc) - call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) + call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data, nitc) end subroutine subroutine def_node_var_3d_optional(this, name, longname, units, local_data, mesh, partit) From 2d0b474f2e1916e7dd248ba0dd1b2d6e6faa4dbb Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 9 Oct 2024 13:40:53 +0200 Subject: [PATCH 247/273] add icepack bugfix from ancient debugging round in 2021, Problem in moment Volume is not conserved --- src/ice_oce_coupling.F90 | 17 ++- src/icepack_drivers/icedrv_allocate.F90 | 4 + src/icepack_drivers/icedrv_main.F90 | 4 + src/icepack_drivers/icedrv_set.F90 | 179 +++++++++++++----------- src/icepack_drivers/icedrv_step.F90 | 54 +++++-- src/icepack_drivers/icedrv_transfer.F90 | 22 +-- 6 files changed, 172 insertions(+), 108 deletions(-) diff --git a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 index 499502a77..d9edf1eec 100755 --- a/src/ice_oce_coupling.F90 +++ b/src/ice_oce_coupling.F90 @@ -376,8 +376,8 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) ! Evaporation (convert units from icepack to fesom) evaporation = - evaporation * (1.0_WP - a_ice) * inv_rhowat - ! Ice-Sublimation is not added to evap in icepack - ice_sublimation = 0.0_WP +!PS ! Ice-Sublimation is not added to evap in icepack +!PS ice_sublimation = 0.0_WP call init_flux_atm_ocn() @@ -519,14 +519,25 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) ! concentration (a_ice). In our standard ice model rain, snow and evap is ! added based on the ice concentration of the previous time step (a_ice_old) ! So for the proper balancing of snow the proper aice has to be choosen + ! -icepack_therm_itd.F90 --> subroutine icepack_step_therm2(...) + ! fresh = fresh + frain*aice + ! -icedrv_step.F90: subroutine ocn_mixed_layer_icepack(... + ! fresh_tot = fresh + (-evap_ocn + frain + fsnow)*(c1-aice) + ! At the end all rain is added to the ocean, only snow needs to be + ! scaled with (1-aice ) + ! -Ice-Sublimation is not added to evap in icepack, therefor we dont need + ! to compensate for it the ice2atmos subplimation does not contribute + ! to the freshwater flux into the ocean + !$OMP PARALLEL DO do n=1, myDim_nod2D+eDim_nod2D flux(n) = evaporation(n) & - -ice_sublimation(n) & ! the ice2atmos subplimation does not contribute to the freshwater flux into the ocean +prec_rain(n) & + #if defined (__icepack) +prec_snow(n)*(1.0_WP-a_ice(n)) & #else + -ice_sublimation(n) & ! the ice2atmos subplimation does not contribute to the freshwater flux into the ocean +prec_snow(n)*(1.0_WP-a_ice_old(n)) & #endif diff --git a/src/icepack_drivers/icedrv_allocate.F90 b/src/icepack_drivers/icedrv_allocate.F90 index e2d6d6108..1faccbc22 100644 --- a/src/icepack_drivers/icedrv_allocate.F90 +++ b/src/icepack_drivers/icedrv_allocate.F90 @@ -116,6 +116,10 @@ subroutine alloc_flux opening(nx) , & ! rate of opening due to divergence/shear (1/s) dhi_dt(nx) , & ! ice volume tendency due to thermodynamics (m/s) dhs_dt(nx) , & ! snow volume tendency due to thermodynamics (m/s) + dhi_t_dt(nx) , & ! ice volume tendency due to thermodynamics (m/s) + dhs_t_dt(nx) , & ! snow volume tendency due to thermodynamics (m/s) + dhi_r_dt(nx) , & ! ice volume tendency due to ridging (m/s) + dhs_r_dt(nx) , & ! snow volume tendency due to ridging (m/s) dardg1ndt(nx,ncat), & ! rate of area loss by ridging ice (1/s) dardg2ndt(nx,ncat), & ! rate of area gain by new ridges (1/s) dvirdgndt(nx,ncat), & ! rate of ice volume ridged (m/s) diff --git a/src/icepack_drivers/icedrv_main.F90 b/src/icepack_drivers/icedrv_main.F90 index d749964bf..3c609508c 100644 --- a/src/icepack_drivers/icedrv_main.F90 +++ b/src/icepack_drivers/icedrv_main.F90 @@ -153,6 +153,10 @@ module icedrv_main opening(:), & ! rate of opening due to divergence/shear (1/s) dhi_dt(:), & ! ice volume tendency due to thermodynamics (m/s) dhs_dt(:), & ! snow volume tendency due to thermodynamics (m/s) + dhi_t_dt(:), & ! ice volume tendency due to thermodynamics (m/s) + dhs_t_dt(:), & ! snow volume tendency due to thermodynamics (m/s) + dhi_r_dt(:), & ! ice volume tendency due to ridging (m/s) + dhs_r_dt(:), & ! snow volume tendency due to ridging (m/s) ! ridging diagnostics in categories dardg1ndt(:,:), & ! rate of area loss by ridging ice (1/s) dardg2ndt(:,:), & ! rate of area gain by new ridges (1/s) diff --git a/src/icepack_drivers/icedrv_set.F90 b/src/icepack_drivers/icedrv_set.F90 index dbfc55a1d..63bd5d93f 100644 --- a/src/icepack_drivers/icedrv_set.F90 +++ b/src/icepack_drivers/icedrv_set.F90 @@ -24,9 +24,6 @@ module subroutine set_icepack(ice, partit) use MOD_ICE -! use i_param, only: whichEVP -! use i_param, only: cd_oce_ice, Pstar, c_pressure -! use i_therm_param, only: albw implicit none @@ -153,7 +150,10 @@ module subroutine set_icepack(ice, partit) logical (kind=log_kind) :: oceanmixed_ice character (len=char_len) :: wave_spec_type - + ! to snychronize density definition between icepack and fesom2, becomes + ! crucial for waterflux computation and volume conservation + real (kind=dbl_kind) :: rhoice, rhosno, rhowat, rhofwt + !----------------------------------------------------------------- ! Namelist definition !----------------------------------------------------------------- @@ -238,16 +238,16 @@ module subroutine set_icepack(ice, partit) end if do while (nml_error > 0) - if (mype == 0) print*,'Reading namelist file ',nml_filename + if (partit%mype == 0) print*,'Reading namelist file ',nml_filename - if (mype == 0) print*,'Reading env_nml' + if (partit%mype == 0) print*,'Reading env_nml' read(nu_nml, nml=env_nml,iostat=nml_error) if (nml_error /= 0) exit end do if (nml_error == 0) close(nu_nml) if (nml_error /= 0) then - if (mype == 0) write(*,*) 'Error reading env namelist' + if (partit%mype == 0) write(*,*) 'Error reading env namelist' call icedrv_system_abort(file=__FILE__,line=__LINE__) close(nu_nml) end if @@ -339,7 +339,25 @@ module subroutine set_icepack(ice, partit) call icepack_warnings_flush(nu_diag) if (icepack_warnings_aborted()) call icedrv_system_abort(string=subname, & file=__FILE__, line=__LINE__) - + + !----------------------------------------------------------------- + ! Synchronize values between Icepack and FESOM2 values + !----------------------------------------------------------------- + ! Make the namelists.ice and namelist.icepack consistent (icepack wins + ! over fesom) + ice%cd_oce_ice = dragio + ice%thermo%albw= albocn + ice%Pstar = P_star + ice%c_pressure = C_star + + ! in terms of density definition fesom wins over icepack, otherwise + ! we can get in trouble with the waterflux computation and thus the + ! volume conservation under zstar + rhoice = ice%thermo%rhoice + rhosno = ice%thermo%rhosno + rhowat = ice%thermo%rhowat + rhofwt = ice%thermo%rhofwt + !----------------------------------------------------------------- ! other default values !----------------------------------------------------------------- @@ -402,7 +420,7 @@ module subroutine set_icepack(ice, partit) if (nml_error == 0) close(nu_nml) if (nml_error /= 0) then - if (mype == 0) write(*,*) 'Error reading iecpack namelists' + if (partit%mype == 0) write(*,*) 'Error reading iecpack namelists' call icedrv_system_abort(file=__FILE__,line=__LINE__) endif close(nu_nml) @@ -411,47 +429,47 @@ module subroutine set_icepack(ice, partit) ! set up diagnostics output and resolve conflicts !----------------------------------------------------------------- - if (mype == 0) write(*,*) 'Diagnostic output will be in file ' - if (mype == 0) write(*,*) ' icepack.diagnostics' + if (partit%mype == 0) write(*,*) 'Diagnostic output will be in file ' + if (partit%mype == 0) write(*,*) ' icepack.diagnostics' diag_filename = 'icepack.errors' open (ice_stderr, file=diag_filename, status='unknown', iostat=diag_error) if (diag_error /= 0) then - if (mype == 0) write(*,*) 'Error while opening error file' - if (mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) + if (partit%mype == 0) write(*,*) 'Error while opening error file' + if (partit%mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) endif diag_filename = 'icepack.diagnostics' open (nu_diag, file=diag_filename, status='unknown', iostat=diag_error) if (diag_error /= 0) then - if (mype == 0) write(*,*) 'Error while opening diagnostic file' - if (mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) + if (partit%mype == 0) write(*,*) 'Error while opening diagnostic file' + if (partit%mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) endif - if (mype == 0) write(nu_diag,*) '-----------------------------------' - if (mype == 0) write(nu_diag,*) ' ICEPACK model diagnostic output ' - if (mype == 0) write(nu_diag,*) '-----------------------------------' - if (mype == 0) write(nu_diag,*) ' ' + if (partit%mype == 0) write(nu_diag,*) '-----------------------------------' + if (partit%mype == 0) write(nu_diag,*) ' ICEPACK model diagnostic output ' + if (partit%mype == 0) write(nu_diag,*) '-----------------------------------' + if (partit%mype == 0) write(nu_diag,*) ' ' if (ice%whichEVP == 1 .or. ice%whichEVP == 2) then - if (mype == 0) write (nu_diag,*) 'WARNING: whichEVP = 1 or 2' - if (mype == 0) write (nu_diag,*) 'Adaptive or Modified EVP formulations' - if (mype == 0) write (nu_diag,*) 'are not allowed when using Icepack (yet).' - if (mype == 0) write (nu_diag,*) 'Standard EVP will be used instead' - if (mype == 0) write (nu_diag,*) ' whichEVP = 0' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: whichEVP = 1 or 2' + if (partit%mype == 0) write (nu_diag,*) 'Adaptive or Modified EVP formulations' + if (partit%mype == 0) write (nu_diag,*) 'are not allowed when using Icepack (yet).' + if (partit%mype == 0) write (nu_diag,*) 'Standard EVP will be used instead' + if (partit%mype == 0) write (nu_diag,*) ' whichEVP = 0' ice%whichEVP = 0 endif if (ncat == 1 .and. kitd == 1) then - if (mype == 0) write (nu_diag,*) 'Remapping the ITD is not allowed for ncat=1.' - if (mype == 0) write (nu_diag,*) 'Use kitd = 0 (delta function ITD) with kcatbound = 0' - if (mype == 0) write (nu_diag,*) 'or for column configurations use kcatbound = -1' - if (mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) + if (partit%mype == 0) write (nu_diag,*) 'Remapping the ITD is not allowed for ncat=1.' + if (partit%mype == 0) write (nu_diag,*) 'Use kitd = 0 (delta function ITD) with kcatbound = 0' + if (partit%mype == 0) write (nu_diag,*) 'or for column configurations use kcatbound = -1' + if (partit%mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) endif if (ncat /= 1 .and. kcatbound == -1) then - if (mype == 0) write (nu_diag,*) 'WARNING: ITD required for ncat > 1' - if (mype == 0) write (nu_diag,*) 'WARNING: Setting kitd and kcatbound to default values' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: ITD required for ncat > 1' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Setting kitd and kcatbound to default values' kitd = 1 kcatbound = 0 endif @@ -467,46 +485,46 @@ module subroutine set_icepack(ice, partit) if (rpcesm + rplvl + rptopo > puny) tr_pond = .true. if (rpcesm + rplvl + rptopo > c1 + puny) then - if (mype == 0) write (nu_diag,*) 'WARNING: Must use only one melt pond scheme' - if (mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Must use only one melt pond scheme' + if (partit%mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) endif if (tr_pond_lvl .and. .not. tr_lvl) then - if (mype == 0) write (nu_diag,*) 'WARNING: tr_pond_lvl=T but tr_lvl=F' - if (mype == 0) write (nu_diag,*) 'WARNING: Setting tr_lvl=T' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: tr_pond_lvl=T but tr_lvl=F' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Setting tr_lvl=T' tr_lvl = .true. endif if (tr_pond_lvl .and. abs(hs0) > puny) then - if (mype == 0) write (nu_diag,*) 'WARNING: tr_pond_lvl=T and hs0/=0' - if (mype == 0) write (nu_diag,*) 'WARNING: Setting hs0=0' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: tr_pond_lvl=T and hs0/=0' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Setting hs0=0' hs0 = c0 endif if (tr_pond_cesm .and. trim(frzpnd) /= 'cesm') then - if (mype == 0) write (nu_diag,*) 'WARNING: tr_pond_cesm=T' - if (mype == 0) write (nu_diag,*) 'WARNING: frzpnd, dpscale not used' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: tr_pond_cesm=T' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: frzpnd, dpscale not used' frzpnd = 'cesm' endif if (trim(shortwave) /= 'dEdd' .and. tr_pond .and. calc_tsfc) then - if (mype == 0) write (nu_diag,*) 'WARNING: Must use dEdd shortwave' - if (mype == 0) write (nu_diag,*) 'WARNING: with tr_pond and calc_tsfc=T.' - if (mype == 0) write (nu_diag,*) 'WARNING: Setting shortwave = dEdd' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Must use dEdd shortwave' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: with tr_pond and calc_tsfc=T.' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Setting shortwave = dEdd' shortwave = 'dEdd' endif if (tr_aero .and. n_aero==0) then - if (mype == 0) write (nu_diag,*) 'WARNING: aerosols activated but' - if (mype == 0) write (nu_diag,*) 'WARNING: not allocated in tracer array.' - if (mype == 0) write (nu_diag,*) 'WARNING: Activate in compilation script.' - if (mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) + if (partit%mype == 0) write (nu_diag,*) 'WARNING: aerosols activated but' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: not allocated in tracer array.' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Activate in compilation script.' + if (partit%mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) endif if (tr_aero .and. trim(shortwave) /= 'dEdd') then - if (mype == 0) write (nu_diag,*) 'WARNING: aerosols activated but dEdd' - if (mype == 0) write (nu_diag,*) 'WARNING: shortwave is not.' - if (mype == 0) write (nu_diag,*) 'WARNING: Setting shortwave = dEdd' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: aerosols activated but dEdd' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: shortwave is not.' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Setting shortwave = dEdd' shortwave = 'dEdd' endif @@ -514,53 +532,53 @@ module subroutine set_icepack(ice, partit) rfracmax = min(max(rfracmax,c0),c1) if (ktherm == 2 .and. .not. calc_Tsfc) then - if (mype == 0) write (nu_diag,*) 'WARNING: ktherm = 2 and calc_Tsfc = F' - if (mype == 0) write (nu_diag,*) 'WARNING: Setting calc_Tsfc = T' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: ktherm = 2 and calc_Tsfc = F' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Setting calc_Tsfc = T' calc_Tsfc = .true. endif if (ktherm == 1 .and. trim(tfrz_option) /= 'linear_salt') then - if (mype == 0) write (nu_diag,*) & + if (partit%mype == 0) write (nu_diag,*) & 'WARNING: ktherm = 1 and tfrz_option = ',trim(tfrz_option) - if (mype == 0) write (nu_diag,*) & + if (partit%mype == 0) write (nu_diag,*) & 'WARNING: For consistency, set tfrz_option = linear_salt' endif if (ktherm == 2 .and. trim(tfrz_option) /= 'mushy') then - if (mype == 0) write (nu_diag,*) & + if (partit%mype == 0) write (nu_diag,*) & 'WARNING: ktherm = 2 and tfrz_option = ',trim(tfrz_option) - if (mype == 0) write (nu_diag,*) & + if (partit%mype == 0) write (nu_diag,*) & 'WARNING: For consistency, set tfrz_option = mushy' endif if (formdrag) then if (trim(atmbndy) == 'constant') then - if (mype == 0) write (nu_diag,*) 'WARNING: atmbndy = constant not allowed with formdrag' - if (mype == 0) write (nu_diag,*) 'WARNING: Setting atmbndy = default' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: atmbndy = constant not allowed with formdrag' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Setting atmbndy = default' atmbndy = 'default' endif if (.not. calc_strair) then - if (mype == 0) write (nu_diag,*) 'WARNING: formdrag=T but calc_strair=F' - if (mype == 0) write (nu_diag,*) 'WARNING: Setting calc_strair=T' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: formdrag=T but calc_strair=F' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Setting calc_strair=T' calc_strair = .true. endif if (tr_pond_cesm) then - if (mype == 0) write (ice_stderr,*) 'ERROR: formdrag=T but frzpnd=cesm' - if (mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) + if (partit%mype == 0) write (ice_stderr,*) 'ERROR: formdrag=T but frzpnd=cesm' + if (partit%mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) endif if (.not. tr_lvl) then - if (mype == 0) write (nu_diag,*) 'WARNING: formdrag=T but tr_lvl=F' - if (mype == 0) write (nu_diag,*) 'WARNING: Setting tr_lvl=T' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: formdrag=T but tr_lvl=F' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Setting tr_lvl=T' tr_lvl = .true. max_ntrcr = max_ntrcr + 2 ! tr_lvl brings two more tracers endif endif if (trim(fbot_xfer_type) == 'Cdn_ocn' .and. .not. formdrag) then - if (mype == 0) write (nu_diag,*) 'WARNING: formdrag=F but fbot_xfer_type=Cdn_ocn' - if (mype == 0) write (nu_diag,*) 'WARNING: Setting fbot_xfer_type = constant' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: formdrag=F but fbot_xfer_type=Cdn_ocn' + if (partit%mype == 0) write (nu_diag,*) 'WARNING: Setting fbot_xfer_type = constant' fbot_xfer_type = 'constant' endif @@ -571,7 +589,7 @@ module subroutine set_icepack(ice, partit) ! Write Icepack configuration !----------------------------------------------------------------- - if (mype == 0) then + if (partit%mype == 0) then write(nu_diag,*) ' Document ice_in namelist parameters:' write(nu_diag,*) ' ==================================== ' @@ -616,6 +634,11 @@ module subroutine set_icepack(ice, partit) write(nu_diag,1000) ' ahmax = ', ahmax endif + write(nu_diag,1000) ' rhos = ', rhosno + write(nu_diag,1000) ' rhoi = ', rhoice + write(nu_diag,1000) ' rhow = ', rhowat + write(nu_diag,1000) ' rhofwt = ', rhofwt + write(nu_diag,1000) ' rfracmin = ', rfracmin write(nu_diag,1000) ' rfracmax = ', rfracmax @@ -656,7 +679,7 @@ module subroutine set_icepack(ice, partit) write(nu_diag,1010) ' update_ocn_f = ', update_ocn_f write(nu_diag,1010) ' wave_spec = ', wave_spec write(nu_diag,1005) ' dragio = ', dragio - write(nu_diag,1005) ' Pstar = ', P_star + write(nu_diag,* ) ' Pstar = ', P_star write(nu_diag,1005) ' Cstar = ', C_star if (kstrength==1) then @@ -760,12 +783,12 @@ module subroutine set_icepack(ice, partit) endif if (ntrcr > max_ntrcr-1) then - if (mype == 0) write(ice_stderr,*) 'max_ntrcr-1 < number of namelist tracers' - if (mype == 0) write(ice_stderr,*) 'max_ntrcr-1 = ',max_ntrcr-1,' ntrcr = ',ntrcr - if (mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) + if (partit%mype == 0) write(ice_stderr,*) 'max_ntrcr-1 < number of namelist tracers' + if (partit%mype == 0) write(ice_stderr,*) 'max_ntrcr-1 = ',max_ntrcr-1,' ntrcr = ',ntrcr + if (partit%mype == 0) call icedrv_system_abort(file=__FILE__,line=__LINE__) endif - if (mype == 0) then + if (partit%mype == 0) then write(nu_diag,*) ' ' write(nu_diag,1020) 'max_ntrcr = ', max_ntrcr @@ -813,17 +836,7 @@ module subroutine set_icepack(ice, partit) !----------------------------------------------------------------- ! set Icepack values - !----------------------------------------------------------------- - - ! Make the namelists.ice and namelist.icepack consistent (icepack wins - ! over fesom) - - ice%cd_oce_ice = dragio - ice%thermo%albw= albocn - ice%Pstar = P_star - ice%c_pressure = C_star - - + !----------------------------------------------------------------- call icepack_init_parameters(ustar_min_in=ustar_min, Cf_in=Cf, & albicev_in=albicev, albicei_in=albicei, & albsnowv_in=albsnowv, albsnowi_in=albsnowi, & @@ -850,7 +863,9 @@ module subroutine set_icepack(ice, partit) fbot_xfer_type_in=fbot_xfer_type, & wave_spec_type_in=wave_spec_type, wave_spec_in=wave_spec, & ksno_in=ksno, dragio_in=dragio, Cstar_in=C_star, & - Pstar_in=P_star, albocn_in=albocn) + Pstar_in=P_star, albocn_in=albocn, & + update_ocn_f_in=update_ocn_f, & + rhoi_in=rhoice, rhos_in=rhosno, rhow_in=rhowat, rhofresh_in=rhofwt) call icepack_init_tracer_sizes(ntrcr_in=ntrcr, & ncat_in=ncat, nilyr_in=nilyr, nslyr_in=nslyr, nblyr_in=nblyr, & nfsd_in=nfsd, n_aero_in=n_aero) diff --git a/src/icepack_drivers/icedrv_step.F90 b/src/icepack_drivers/icedrv_step.F90 index 917b7517c..826134f36 100644 --- a/src/icepack_drivers/icedrv_step.F90 +++ b/src/icepack_drivers/icedrv_step.F90 @@ -313,7 +313,10 @@ subroutine step_therm2 (dt) logical (kind=log_kind) :: & tr_fsd ! floe size distribution tracers - + + logical (kind=log_kind) :: & + update_ocn_f ! floe size distribution tracers + character(len=*), parameter :: subname='(step_therm2)' !----------------------------------------------------------------- @@ -322,6 +325,7 @@ subroutine step_therm2 (dt) call icepack_query_tracer_sizes(ntrcr_out=ntrcr, nbtrcr_out=nbtrcr) call icepack_query_tracer_flags(tr_fsd_out=tr_fsd) + call icepack_query_parameters(update_ocn_f_out=update_ocn_f) call icepack_warnings_flush(ice_stderr) if (icepack_warnings_aborted()) call icedrv_system_abort(string=subname, & file=__FILE__,line= __LINE__) @@ -939,7 +943,6 @@ subroutine ocn_mixed_layer_icepack(ice, & frzmlt , & ! freezing/melting potential (W/m^2) fhocn_tot , & ! net total heat flux to ocean (W/m^2) fresh_tot ! fresh total water flux to ocean (kg/m^2/s) - real (kind=dbl_kind), parameter :: & frzmlt_max = c1000 ! max magnitude of frzmlt (W/m^2) @@ -1190,8 +1193,8 @@ module subroutine step_icepack(ice, mesh, time_evp, time_advec, time_therm) ! tendencies needed by fesom !----------------------------------------------------------------- - dhi_dt(:) = vice(:) - dhs_dt(:) = vsno(:) + dhi_t_dt(:) = vice(:) + dhs_t_dt(:) = vsno(:) !----------------------------------------------------------------- ! initialize diagnostics @@ -1213,18 +1216,19 @@ module subroutine step_icepack(ice, mesh, time_evp, time_advec, time_therm) call step_therm1 (dt) ! vertical thermodynamics call step_therm2 (dt) ! ice thickness distribution thermo + !----------------------------------------------------------------- + ! clean up, update tendency diagnostics + !----------------------------------------------------------------- + offset = dt + call update_state (dt, daidtt, dvidtt, dagedtt, offset) + !----------------------------------------------------------------- ! tendencies needed by fesom !----------------------------------------------------------------- - dhi_dt(:) = ( vice(:) - dhi_dt(:) ) / dt - dhs_dt(:) = ( vsno(:) - dhs_dt(:) ) / dt + dhi_t_dt(:) = ( vice(:) - dhi_t_dt(:) ) / dt + dhs_t_dt(:) = ( vsno(:) - dhs_t_dt(:) ) / dt - ! clean up, update tendency diagnostics - - offset = dt - call update_state (dt, daidtt, dvidtt, dagedtt, offset) - !----------------------------------------------------------------- ! dynamics, transport, ridging !----------------------------------------------------------------- @@ -1282,19 +1286,39 @@ module subroutine step_icepack(ice, mesh, time_evp, time_advec, time_therm) t3 = MPI_Wtime() time_advec = t3 - t2 - + + !----------------------------------------------------------------- + ! initialize tendencies needed by fesom + !----------------------------------------------------------------- + dhi_r_dt(:) = vice(:) + dhs_r_dt(:) = vsno(:) + !----------------------------------------------------------------- ! ridging !----------------------------------------------------------------- - call step_dyn_ridge (dt_dyn, ndtd) ! clean up, update tendency diagnostics offset = c0 call update_state (dt_dyn, daidtd, dvidtd, dagedtd, offset) - + + !----------------------------------------------------------------- + ! tendencies needed by fesom + !----------------------------------------------------------------- + ! --> ridging adds fresh water need to know for compensation of thermodynamic + ! growth rate of ice and snow in fesom + dhi_r_dt(:) = ( vice(:) - dhi_r_dt(:) ) / dt + dhs_r_dt(:) = ( vsno(:) - dhs_r_dt(:) ) / dt + enddo - + + !----------------------------------------------------------------- + ! total tendencies of thermodynamic and ridging needed by fesom + !----------------------------------------------------------------- + ! --> needed for total compenstion of fresh of thgr and thgrsn + dhi_dt(:) = dhi_r_dt(:) + dhi_t_dt(:) + dhs_dt(:) = dhs_r_dt(:) + dhs_t_dt(:) + !----------------------------------------------------------------- ! albedo, shortwave radiation !----------------------------------------------------------------- diff --git a/src/icepack_drivers/icedrv_transfer.F90 b/src/icepack_drivers/icedrv_transfer.F90 index 524b9d9ec..174b48bfc 100644 --- a/src/icepack_drivers/icedrv_transfer.F90 +++ b/src/icepack_drivers/icedrv_transfer.F90 @@ -50,12 +50,13 @@ module subroutine fesom_to_icepack(ice, mesh) frcidf = 0.17_dbl_kind, & ! frac of incoming sw in near IR diffuse band R_dry = 287.05_dbl_kind, & ! specific gas constant for dry air (J/K/kg) R_vap = 461.495_dbl_kind, & ! specific gas constant for water vapo (J/K/kg) - rhowat = 1025.0_dbl_kind, & ! Water density - cc = rhowat*4190.0_dbl_kind, & ! Volumetr. heat cap. of water [J/m**3/K](cc = rhowat*cp_water) ex = 0.286_dbl_kind - - integer(kind=dbl_kind) :: i, n, k, elem - real (kind=int_kind) :: tx, ty, tvol + !PS rhowat = 1025.0_dbl_kind, & ! Water density + !PS cc = rhowat*4190.0_dbl_kind, & ! Volumetr. heat cap. of water [J/m**3/K](cc = rhowat*cp_water) + + integer(kind=int_kind) :: i, n, k, elem + real (kind=dbl_kind) :: tx, ty, tvol + real (kind=dbl_kind) :: rhowat real (kind=dbl_kind) :: & aux, & @@ -66,6 +67,11 @@ module subroutine fesom_to_icepack(ice, mesh) real(kind=WP), dimension(:), pointer :: u_ice, v_ice, S_oc_array, T_oc_array, & u_w, v_w, stress_atmice_x, stress_atmice_y #include "associate_mesh.h" + + ! make sure we use the same water density to scale precip and snow in + ! fesom and icepack + call icepack_query_parameters(rhow_out=rhowat) + u_ice => ice%uice(:) v_ice => ice%vice(:) S_oc_array => ice%srfoce_salt(:) @@ -87,8 +93,8 @@ module subroutine fesom_to_icepack(ice, mesh) vatm(:) = v_wind(:) fsw(:) = shortwave(:) flw(:) = longwave(:) - frain(:) = prec_rain(:) * 1000.0_dbl_kind - fsnow(:) = prec_snow(:) * 1000.0_dbl_kind + frain(:) = prec_rain(:) * rhowat + fsnow(:) = prec_snow(:) * rhowat wind(:) = sqrt(uatm(:)**2 + vatm(:)**2) @@ -224,7 +230,7 @@ module subroutine icepack_to_fesom( nx_in, & if (present(dhs_dt_out) ) dhs_dt_out = dhs_dt if (present(fsalt_out) ) fsalt_out = fsalt if (present(evap_ocn_out) ) evap_ocn_out = evap_ocn - if (present(evap_ocn_out) ) evap_out = evap + if (present(evap_out) ) evap_out = evap end subroutine icepack_to_fesom From 9be15d9f9d01cfc0e1e6338005d919a9ee4f876a Mon Sep 17 00:00:00 2001 From: ackerlar Date: Thu, 10 Oct 2024 13:20:55 +0200 Subject: [PATCH 248/273] change commRank type to integer --- src/cpl_driver.F90 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cpl_driver.F90 b/src/cpl_driver.F90 index 8aa733bdc..9e62800de 100644 --- a/src/cpl_driver.F90 +++ b/src/cpl_driver.F90 @@ -57,7 +57,7 @@ module cpl_driver integer :: localRank ! local MPI rank integer :: localSize ! local MPI size integer :: localComm ! local MPI size - logical :: commRank ! true for ranks doing OASIS communication + integer :: commRank integer :: comp_id ! id returned by oasis_init_comp logical, save :: oasis_was_initialized @@ -774,11 +774,11 @@ subroutine cpl_oasis3mct_define_unstr(partit, mesh) !------------------------------------------------------------------ call oasis_enddef(ierror) - if (commRank) print *, 'fesom oasis_enddef: COMPLETED' + if (ierror .eq. oasis_ok) print *, 'fesom oasis_enddef: COMPLETED' #ifndef __oifs - if (commRank) print *, 'FESOM: calling exchange_roots' + if (ierror .eq. oasis_ok) print *, 'FESOM: calling exchange_roots' call exchange_roots(source_root, target_root, 1, partit%MPI_COMM_FESOM, MPI_COMM_WORLD) - if (commRank) print *, 'FESOM source/target roots: ', source_root, target_root + if (ierror .eq. oasis_ok) print *, 'FESOM source/target roots: ', source_root, target_root #endif ! WAS VOM FOLGENDEN BRAUCHE ICH NOCH ??? @@ -1006,4 +1006,4 @@ end module cpl_driver #else module cpl_driver end module cpl_driver -#endif \ No newline at end of file +#endif From 15a2ba4b6ebad1eaf2c3af78aae787c01ce50cdf Mon Sep 17 00:00:00 2001 From: Patrick Date: Thu, 10 Oct 2024 14:01:11 +0200 Subject: [PATCH 249/273] make last changes so that icepack is fully volume conserving under zstar, there are also two changes in icepack itself --- src/ice_oce_coupling.F90 | 18 +++++++++++------- src/icepack_drivers/icedrv_step.F90 | 21 ++++++++++++++++++++- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 index d9edf1eec..ac8ed2e1a 100755 --- a/src/ice_oce_coupling.F90 +++ b/src/ice_oce_coupling.F90 @@ -376,8 +376,10 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) ! Evaporation (convert units from icepack to fesom) evaporation = - evaporation * (1.0_WP - a_ice) * inv_rhowat -!PS ! Ice-Sublimation is not added to evap in icepack -!PS ice_sublimation = 0.0_WP + ! Ice-Sublimation is added to to the freshwater in icepack --> see + ! icepack_therm_vertical.90 --> subroutine thermo_vertical(...): Line: 453 + ! freshn = freshn + evapn - (rhoi*dhi + rhos*dhs) / dt , evapn==sublimation + ice_sublimation = - ice_sublimation * inv_rhowat call init_flux_atm_ocn() @@ -531,13 +533,12 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) !$OMP PARALLEL DO do n=1, myDim_nod2D+eDim_nod2D - flux(n) = evaporation(n) & - +prec_rain(n) & - + flux(n) = evaporation(n) & + -ice_sublimation(n) & ! the ice2atmos subplimation does not contribute to the freshwater flux into the ocean + +prec_rain(n) & #if defined (__icepack) +prec_snow(n)*(1.0_WP-a_ice(n)) & #else - -ice_sublimation(n) & ! the ice2atmos subplimation does not contribute to the freshwater flux into the ocean +prec_snow(n)*(1.0_WP-a_ice_old(n)) & #endif @@ -623,6 +624,8 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) !$OMP END PARALLEL DO end if + + !___________________________________________________________________________ !---fwf-code-begin if(use_landice_water) then !$OMP PARALLEL DO @@ -631,7 +634,8 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) end do !$OMP END PARALLEL DO end if - + + !___________________________________________________________________________ if(lwiso .and. use_landice_water) then !$OMP PARALLEL DO do n=1, myDim_nod2D+eDim_nod2D diff --git a/src/icepack_drivers/icedrv_step.F90 b/src/icepack_drivers/icedrv_step.F90 index 826134f36..df527cd86 100644 --- a/src/icepack_drivers/icedrv_step.F90 +++ b/src/icepack_drivers/icedrv_step.F90 @@ -997,7 +997,26 @@ subroutine ocn_mixed_layer_icepack(ice, & fresh = fresh - lfs_corr * ice_ref_salinity / sss endif - fresh_tot = fresh + (-evap_ocn + frain + fsnow)*(c1-aice) + !PS fresh_tot = fresh + (-evap_ocn + frain + fsnow)*(c1-aice) + fresh_tot = fresh + frain + (-evap_ocn + fsnow)*(c1-aice) + ! | | | |--> depending on ice concentration eiter snow adds to the + ! | | | freshwater in the ocean or accumulates on the ice as snoe layer + ! | | | + ! | | |--> evaporation ocean-->atmosphere + ! | | + ! | |--> add here the total rain, at the end all the rain + ! | drains through the ice, therefor comment the line + ! | in ice_pack_therm_itd.F90, subroutine icepack_step_therm2() + ! | Line: 1999 + ! | !!! If i dont do this here im not able to balance + ! | the ocean volume under zstar to maschine precision !!! + ! | + ! |--> at that point fresh contains the freshwater flux contributions + ! from the thermodynamic growth rates of ice and snow but also + ! the contributions from the sublimation of ice-->atmos (see. + ! icepack_therm_vertical.F90-->subroutine thermo_vertical(...) + ! Line: 453 --> freshn = freshn + evapn - (rhoi*dhi + rhos*dhs) / dt + ! evapn == evaporative water flux (kg/m^2/s) from sublimation end subroutine ocn_mixed_layer_icepack From 2efe5b02560331b6d15f77b7244f31de2fde67cf Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 11 Oct 2024 11:24:43 +0200 Subject: [PATCH 250/273] add openmp loop in ice_oce_:coupling.F90, delete uneccessary comment in ../src/icepack_drivers/icedrv_transfer.F90 --- src/ice_oce_coupling.F90 | 24 ++++++++++++++---------- src/icepack_drivers/icedrv_transfer.F90 | 6 ------ 2 files changed, 14 insertions(+), 16 deletions(-) diff --git a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 index ac8ed2e1a..f61f96742 100755 --- a/src/ice_oce_coupling.F90 +++ b/src/ice_oce_coupling.F90 @@ -367,19 +367,23 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) evap_ocn_out=evaporation, & evap_out=ice_sublimation ) - ! Heat flux - heat_flux = - net_heat_flux +!$OMP PARALLEL DO + do n=1, myDim_nod2d+eDim_nod2d + ! Heat flux + heat_flux(n) = - net_heat_flux(n) - ! Freshwater flux (convert units from icepack to fesom) - water_flux = - (fresh_wa_flux * inv_rhowat) - runoff(:) + ! Freshwater flux (convert units from icepack to fesom) + water_flux(n) = - (fresh_wa_flux(n) * inv_rhowat) - runoff(n) - ! Evaporation (convert units from icepack to fesom) - evaporation = - evaporation * (1.0_WP - a_ice) * inv_rhowat + ! Evaporation (convert units from icepack to fesom) + evaporation(n) = - evaporation(n) * (1.0_WP - a_ice(n)) * inv_rhowat - ! Ice-Sublimation is added to to the freshwater in icepack --> see - ! icepack_therm_vertical.90 --> subroutine thermo_vertical(...): Line: 453 - ! freshn = freshn + evapn - (rhoi*dhi + rhos*dhs) / dt , evapn==sublimation - ice_sublimation = - ice_sublimation * inv_rhowat + ! Ice-Sublimation is added to to the freshwater in icepack --> see + ! icepack_therm_vertical.90 --> subroutine thermo_vertical(...): Line: 453 + ! freshn = freshn + evapn - (rhoi*dhi + rhos*dhs) / dt , evapn==sublimation + ice_sublimation(n) = - ice_sublimation(n) * inv_rhowat + end do +!$OMP END PARALLEL DO call init_flux_atm_ocn() diff --git a/src/icepack_drivers/icedrv_transfer.F90 b/src/icepack_drivers/icedrv_transfer.F90 index 174b48bfc..de317f285 100644 --- a/src/icepack_drivers/icedrv_transfer.F90 +++ b/src/icepack_drivers/icedrv_transfer.F90 @@ -18,12 +18,6 @@ module subroutine fesom_to_icepack(ice, mesh) use g_forcing_param, only: ncar_bulk_z_wind, ncar_bulk_z_tair, & ncar_bulk_z_shum use g_sbf, only: l_mslp -! use i_arrays, only: S_oc_array, T_oc_array, & ! Ocean and sea ice fields -! u_w, v_w, & -! stress_atmice_x, stress_atmice_y -! ! u_ice, v_ice, & - -! use i_param, only: cd_oce_ice ! Sea ice parameters use icepack_intfc, only: icepack_warnings_flush, icepack_warnings_aborted use icepack_intfc, only: icepack_query_parameters use icepack_intfc, only: icepack_sea_freezing_temperature From fcf69bbffe8ab3623ff824d64e379f0d14583807 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Sun, 13 Oct 2024 10:50:27 +0200 Subject: [PATCH 251/273] fix silly misstake... --- src/icb_coupling.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/icb_coupling.F90 b/src/icb_coupling.F90 index 35b29ab9f..7f8f6b7e1 100644 --- a/src/icb_coupling.F90 +++ b/src/icb_coupling.F90 @@ -121,7 +121,7 @@ subroutine prepare_icb2fesom(mesh, partit, ib,i_have_element,localelement,depth_ end if dz = abs( lev_low - lev_up ) if( (abs(lev_low)>=abs(depth_ib)) .and. (abs(lev_up) Date: Sun, 13 Oct 2024 10:50:45 +0200 Subject: [PATCH 252/273] write out 3D icb heat flux --- src/io_meandata.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index afc58f87f..5b2fc8876 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -1049,7 +1049,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'ibfwbv', 'basal iceberg melting', 'm/s', ibfwbv(:), 1, 'm', i_real4, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'ibfwl', 'lateral iceberg melting', 'm/s', ibfwl(:), 1, 'm', i_real4, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'ibfwe', 'iceberg erosion', 'm/s', ibfwe(:), 1, 'm', i_real4, partit, mesh) - call def_stream(nod2D, myDim_nod2D, 'ibhf', 'heat flux from iceberg melting', 'W/m2', ibhf(:), 1, 'm', i_real4, partit, mesh) + call def_stream((/nl,nod2D/), (/nl,myDim_nod2D/), 'ibhf', 'heat flux from iceberg melting', 'm/s', ibhf_n(:,:), 1, 'm', i_real4, partit, mesh) end if !------------------------------------------ !_______________________________________________________________________________ From cd374e76223ca65bfe560ed80743f521c8219e9e Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 15 Oct 2024 16:23:52 +0200 Subject: [PATCH 253/273] fix icepack io_mean variable writing + fix and improve restart writing and reading --- src/icepack_drivers/icedrv_io.F90 | 316 +++++++++++++++------------- src/icepack_drivers/icedrv_main.F90 | 2 +- src/io_fesom_file.F90 | 82 +++++--- src/io_meandata.F90 | 9 +- src/io_restart.F90 | 15 +- src/io_restart_file_group.F90 | 34 +-- 6 files changed, 249 insertions(+), 209 deletions(-) diff --git a/src/icepack_drivers/icedrv_io.F90 b/src/icepack_drivers/icedrv_io.F90 index 209d15cb7..036b7d07b 100644 --- a/src/icepack_drivers/icedrv_io.F90 +++ b/src/icepack_drivers/icedrv_io.F90 @@ -24,26 +24,26 @@ ! define mean IO output of icepack module subroutine ini_mean_icepack_io(mesh) - use mod_mesh - use io_meandata, only: def_stream3D, def_stream2D + use mod_mesh + use io_meandata, only: def_stream3D, def_stream2D - implicit none + implicit none - type(t_mesh), target, intent(in) :: mesh + type(t_mesh), target, intent(in) :: mesh - integer :: i, j, k, & - nt_Tsfc, nt_sice, nt_qice, nt_qsno, & - nt_apnd, nt_hpnd, nt_ipnd, nt_alvl, & - nt_vlvl, nt_iage, nt_FY, nt_aero, & - ktherm, nt_fbri + integer :: i, j, k, & + nt_Tsfc, nt_sice, nt_qice, nt_qsno, & + nt_apnd, nt_hpnd, nt_ipnd, nt_alvl, & + nt_vlvl, nt_iage, nt_FY, nt_aero, & + ktherm, nt_fbri - integer, save :: nm_io_unit = 102 ! unit to open namelist file - integer, save :: nm_icepack_unit = 103 - integer :: iost - character(len=10) :: id_string - character(500) :: longname, trname, units + integer, save :: nm_io_unit = 102 ! unit to open namelist file + integer, save :: nm_icepack_unit = 103 + integer :: iost + character(len=10) :: id_string + character(500) :: longname, trname, units - logical (kind=log_kind) :: & + logical (kind=log_kind) :: & solve_zsal, skl_bgc, z_tracers, & tr_iage, tr_FY, tr_lvl, tr_aero, tr_pond_cesm, & tr_pond_topo, tr_pond_lvl, tr_brine, & @@ -54,224 +54,236 @@ module subroutine ini_mean_icepack_io(mesh) tr_zaero, tr_bgc_Fe, & tr_bgc_hum - integer, save :: io_listsize=0 - type io_entry - character(len=10) :: id ='unknown ' - integer :: freq =0 - character :: unit ='' - integer :: precision =0 - end type + integer, save :: io_listsize=0 + type io_entry + character(len=10) :: id ='unknown ' + integer :: freq =0 + character :: unit ='' + integer :: precision =0 + end type - type(io_entry), save, allocatable, target :: io_list_icepack(:) + type(io_entry), save, allocatable, target :: io_list_icepack(:) - namelist /nml_listsize / io_listsize - namelist /nml_list_icepack / io_list_icepack + namelist /nml_general / io_listsize + namelist /nml_list_icepack / io_list_icepack #include "associate_mesh.h" - ! Get the tracers information from icepack - call icepack_query_tracer_indices(nt_Tsfc_out=nt_Tsfc, nt_sice_out=nt_sice, & - nt_qice_out=nt_qice, nt_qsno_out=nt_qsno) - call icepack_query_tracer_indices( & - nt_apnd_out=nt_apnd, nt_hpnd_out=nt_hpnd, nt_ipnd_out=nt_ipnd, & - nt_alvl_out=nt_alvl, nt_vlvl_out=nt_vlvl, nt_Tsfc_out=nt_Tsfc, & - nt_iage_out=nt_iage, nt_FY_out=nt_FY, & - nt_qice_out=nt_qice, nt_sice_out=nt_sice, nt_fbri_out=nt_fbri, & - nt_aero_out=nt_aero, nt_qsno_out=nt_qsno) - call icepack_query_parameters(solve_zsal_out=solve_zsal, & - skl_bgc_out=skl_bgc, z_tracers_out=z_tracers, ktherm_out=ktherm) - call icepack_query_tracer_flags( & - tr_iage_out=tr_iage, tr_FY_out=tr_FY, tr_lvl_out=tr_lvl, & - tr_aero_out=tr_aero, tr_pond_cesm_out=tr_pond_cesm, & - tr_pond_topo_out=tr_pond_topo, tr_pond_lvl_out=tr_pond_lvl, & - tr_brine_out=tr_brine, tr_bgc_N_out=tr_bgc_N, tr_bgc_C_out=tr_bgc_C, & - tr_bgc_Nit_out=tr_bgc_Nit, tr_bgc_Sil_out=tr_bgc_Sil, & - tr_bgc_DMS_out=tr_bgc_DMS, & - tr_bgc_chl_out=tr_bgc_chl, tr_bgc_Am_out=tr_bgc_Am, & - tr_bgc_PON_out=tr_bgc_PON, tr_bgc_DON_out=tr_bgc_DON, & - tr_zaero_out=tr_zaero, tr_bgc_Fe_out=tr_bgc_Fe, & - tr_bgc_hum_out=tr_bgc_hum) + ! Get the tracers information from icepack + call icepack_query_tracer_indices(nt_Tsfc_out=nt_Tsfc, nt_sice_out=nt_sice, & + nt_qice_out=nt_qice, nt_qsno_out=nt_qsno) + cAll icepack_query_tracer_indices( & + nt_apnd_out=nt_apnd, nt_hpnd_out=nt_hpnd, nt_ipnd_out=nt_ipnd, & + nt_alvl_out=nt_alvl, nt_vlvl_out=nt_vlvl, nt_Tsfc_out=nt_Tsfc, & + nt_iage_out=nt_iage, nt_FY_out=nt_FY, & + nt_qice_out=nt_qice, nt_sice_out=nt_sice, nt_fbri_out=nt_fbri, & + nt_aero_out=nt_aero, nt_qsno_out=nt_qsno) + call icepack_query_parameters(solve_zsal_out=solve_zsal, & + skl_bgc_out=skl_bgc, z_tracers_out=z_tracers, ktherm_out=ktherm) + call icepack_query_tracer_flags( & + tr_iage_out=tr_iage, tr_FY_out=tr_FY, tr_lvl_out=tr_lvl, & + tr_aero_out=tr_aero, tr_pond_cesm_out=tr_pond_cesm, & + tr_pond_topo_out=tr_pond_topo, tr_pond_lvl_out=tr_pond_lvl, & + tr_brine_out=tr_brine, tr_bgc_N_out=tr_bgc_N, tr_bgc_C_out=tr_bgc_C, & + tr_bgc_Nit_out=tr_bgc_Nit, tr_bgc_Sil_out=tr_bgc_Sil, & + tr_bgc_DMS_out=tr_bgc_DMS, & + tr_bgc_chl_out=tr_bgc_chl, tr_bgc_Am_out=tr_bgc_Am, & + tr_bgc_PON_out=tr_bgc_PON, tr_bgc_DON_out=tr_bgc_DON, & + tr_zaero_out=tr_zaero, tr_bgc_Fe_out=tr_bgc_Fe, & + tr_bgc_hum_out=tr_bgc_hum) - ! OPEN and read namelist for icepack I/O - open( unit=nm_io_unit, file='namelist.io', form='formatted', access='sequential', status='old', iostat=iost ) - if (iost == 0) then - if (mype==0) write(*,*) ' file : ', 'namelist.io',' open ok' - else - if (mype==0) write(*,*) 'ERROR: --> bad opening file : ','namelist.io',' ; iostat=',iost - call par_ex(p_partit%MPI_COMM_FESOM, p_partit%mype) - stop - end if - open( unit=nm_icepack_unit, file='namelist.icepack', form='formatted', access='sequential', status='old', iostat=iost ) - if (iost == 0) then - if (mype==0) write(*,*) ' file : ', 'namelist.icepack',' open ok' - else - if (mype==0) write(*,*) 'ERROR: --> bad opening file : ','namelist.icepack',' ; iostat=',iost - call par_ex(p_partit%MPI_COMM_FESOM, p_partit%mype) - stop - end if - - read(nm_io_unit, nml=nml_listsize, iostat=iost ) - allocate(io_list_icepack(io_listsize)) - read(nm_icepack_unit, nml=nml_list_icepack, iostat=iost ) - close(nm_icepack_unit) + !_______________________________________________________________________ + ! OPEN and read namelist.io --> need to extract variable io_listsize + open( unit=nm_io_unit, file='namelist.io', form='formatted', access='sequential', status='old', iostat=iost ) + if (iost == 0) then + if (mype==0) write(*,*) ' file : ', 'namelist.io',' open ok' + else + if (mype==0) write(*,*) 'ERROR: --> bad opening file : ','namelist.io',' ; iostat=',iost + call par_ex(p_partit%MPI_COMM_FESOM, p_partit%mype) + stop + end if + + ! read list_size from namelist.io for allocation + read(nm_io_unit, nml=nml_general, iostat=iost ) + close(nm_io_unit) + allocate(io_list_icepack(io_listsize)) + !_______________________________________________________________________ + ! OPEN and read namelist.icepack --> need to extract io_list_icepack + open( unit=nm_icepack_unit, file='namelist.icepack', form='formatted', access='sequential', status='old', iostat=iost ) + if (iost == 0) then + if (mype==0) write(*,*) ' file : ', 'namelist.icepack',' open ok' + else + if (mype==0) write(*,*) 'ERROR: --> bad opening file : ','namelist.icepack',' ; iostat=',iost + call par_ex(p_partit%MPI_COMM_FESOM, p_partit%mype) + stop + end if + + ! read io_list_icepack from namelist to fill up what has been previously + ! allocated --> allocate(io_list_icepack(io_listsize)) + read(nm_icepack_unit, nml=nml_list_icepack, iostat=iost ) + close(nm_icepack_unit) - do i=1, io_listsize - if (trim(io_list_icepack(i)%id)=='unknown ') then + !_______________________________________________________________________ + ! reduce running index to the number that is actually filt up + do i=1, io_listsize + if (trim(io_list_icepack(i)%id)=='unknown ') then if (mype==0) write(*,*) 'io_listsize will be changed from ', io_listsize, ' to ', i-1, '!' io_listsize=i-1 exit - end if - end do + end if + end do - do i=1, io_listsize - select case (trim(io_list_icepack(i)%id)) - case ('aice0 ') - call def_stream2D(nod2D, nx_nh, 'aice0', 'open water fraction', 'none', aice0(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - case ('aicen ') - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'aicen', 'sea ice concentration', 'none', aicen(:,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - case ('vicen ') - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'vicen', 'volume per unit area of ice', 'm', vicen(:,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - case ('vsnon ') - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'vsnon', 'volume per unit area of snow', 'm', vsnon(:,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - case ('aice ') - call def_stream2D(nod2D, nx_nh, 'aice', 'sea ice concentration', 'none', aice(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - case ('vice ') - call def_stream2D(nod2D, nx_nh, 'vice', 'volume per unit area of ice', 'm', vice(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - case ('vsno ') - call def_stream2D(nod2D, nx_nh, 'vsno', 'volume per unit area of snow', 'm', vsno(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - ! Sea ice velocity components - case ('uvel ') + !_______________________________________________________________________ + ! define output streams + do i=1, io_listsize + select case (trim(io_list_icepack(i)%id)) + case ('aice0 ') + call def_stream2D(nod2D, nx_nh, 'aice0', 'open water fraction', 'none', aice0(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + case ('aicen ') + call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'aicen', 'sea ice concentration', 'none', aicen(:,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + case ('vicen ') + call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'vicen', 'volume per unit area of ice', 'm', vicen(:,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + case ('vsnon ') + call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'vsnon', 'volume per unit area of snow', 'm', vsnon(:,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + case ('aice ') + call def_stream2D(nod2D, nx_nh, 'aice', 'sea ice concentration', 'none', aice(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + case ('vice ') + call def_stream2D(nod2D, nx_nh, 'vice', 'volume per unit area of ice', 'm', vice(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + case ('vsno ') + call def_stream2D(nod2D, nx_nh, 'vsno', 'volume per unit area of snow', 'm', vsno(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + ! Sea ice velocity components + case ('uvel ') call def_stream2D(nod2D, nx_nh, 'uvel', 'x-component of ice velocity', 'm/s', uvel(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - case ('vvel ') + case ('vvel ') call def_stream2D(nod2D, nx_nh, 'vvel', 'y-component of ice velocity', 'm/s', vvel(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - ! Sea ice or snow surface temperature - case ('Tsfc ') + ! Sea ice or snow surface temperature + case ('Tsfc ') call def_stream2D(nod2D, nx_nh, 'Tsfc', 'sea ice surf. temperature', 'degC', trcr(:,nt_Tsfc), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - case ('Tsfcn ') - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'Tsfcn', 'sea ice surf. temperature', 'degC', trcrn(:,nt_Tsfc,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - case ('strength ') + case ('Tsfcn ') + call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'Tsfcn', 'sea ice surf. temperature', 'degC', trcrn(:,nt_Tsfc,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + case ('strength ') call def_stream2D(nod2D, nx_nh, 'strength', 'sea ice strength', 'N', strength(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - ! If the following tracers are not defined they will not be outputed - case ('iagen ') + ! If the following tracers are not defined they will not be outputed + case ('iagen ') if (tr_iage) then call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'iage', 'sea ice age', 's', trcrn(:,nt_iage,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if - case ('FYn ') + case ('FYn ') if (tr_FY) then call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'FY', 'first year ice', 'none', trcrn(:,nt_FY,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if - case ('lvln ') + case ('lvln ') if (tr_lvl) then call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'alvl', 'ridged sea ice area', 'none', trcrn(:,nt_alvl,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'vlvl', 'ridged sea ice volume', 'm', trcrn(:,nt_vlvl,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if - case ('pond_cesmn') + case ('pond_cesmn') if (tr_pond_cesm) then call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'apnd', 'melt pond area fraction', 'none', trcrn(:,nt_apnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'hpnd', 'melt pond depth', 'm', trcrn(:,nt_hpnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if - case ('pond_topon') + case ('pond_topon') if (tr_pond_topo) then call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'apnd', 'melt pond area fraction', 'none', trcrn(:,nt_apnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'hpnd', 'melt pond depth', 'm', trcrn(:,nt_hpnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'ipnd', 'melt pond refrozen lid thickness', 'm', trcrn(:,nt_ipnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if - case ('pond_lvln ') + case ('pond_lvln ') if (tr_pond_lvl) then call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'apnd', 'melt pond area fraction', 'none', trcrn(:,nt_apnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'hpnd', 'melt pond depth', 'm', trcrn(:,nt_hpnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'ipnd', 'melt pond refrozen lid thickness', 'm', trcrn(:,nt_ipnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if - case ('brinen ') + case ('brinen ') if (tr_brine) then call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'fbri', 'volume fraction of ice with dynamic salt', 'none', trcrn(:,nt_fbri,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if - case ('qicen ') - do k = 1,nilyr ! Separate variable for each sea ice layer + case ('qicen ') + do k = 1,nilyr ! Separate variable for each sea ice layer write(trname,'(A6,i1)') 'qicen_', k write(longname,'(A22,i1)') 'sea ice enthalpy lyr: ', k units='J/m3' call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), trim(trname), trim(longname), trim(units), trcrn(:,nt_qice+k-1,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - end do - case ('sicen ') - do k = 1,nilyr ! Separate variable for each sea ice layer + end do + case ('sicen ') + do k = 1,nilyr ! Separate variable for each sea ice layer write(trname,'(A6,i1)') 'sicen_', k write(longname,'(A22,i1)') 'sea ice salinity lyr: ', k units='psu' call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), trim(trname), trim(longname), trim(units), trcrn(:,nt_sice+k-1,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - end do - case ('qsnon ') - do k = 1,nslyr ! Separate variable for each snow layer + end do + case ('qsnon ') + do k = 1,nslyr ! Separate variable for each snow layer write(trname,'(A6,i1)') 'qsnon_', k write(longname,'(A19,i1)') 'snow enthalpy lyr: ', k units='J/m3' call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), trim(trname), trim(longname), trim(units), trcrn(:,nt_qsno+k-1,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - end do - ! Average over categories - case ('iage ') + end do + ! Average over categories + case ('iage ') if (tr_iage) then - call def_stream2D(nod2D, nx_nh, 'iage', 'sea ice age', 's', trcr(:,nt_iage), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'iage', 'sea ice age', 's', trcr(:,nt_iage), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if - case ('FY ') + case ('FY ') if (tr_FY) then - call def_stream2D(nod2D, nx_nh, 'FY', 'first year ice', 'none', trcr(:,nt_FY), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'FY', 'first year ice', 'none', trcr(:,nt_FY), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if - case ('lvl ') + case ('lvl ') if (tr_lvl) then - call def_stream2D(nod2D, nx_nh, 'alvl', 'ridged sea ice area', 'none', trcr(:,nt_alvl), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - call def_stream2D(nod2D, nx_nh, 'vlvl', 'ridged sea ice volume', 'm', trcr(:,nt_vlvl), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'alvl', 'ridged sea ice area', 'none', trcr(:,nt_alvl), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'vlvl', 'ridged sea ice volume', 'm', trcr(:,nt_vlvl), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if - case ('pond_cesm ') + case ('pond_cesm ') if (tr_pond_cesm) then - call def_stream2D(nod2D, nx_nh, 'apnd', 'melt pond area fraction', 'none', trcr(:,nt_apnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - call def_stream2D(nod2D, nx_nh, 'hpnd', 'melt pond depth', 'm', trcr(:,nt_hpnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'apnd', 'melt pond area fraction', 'none', trcr(:,nt_apnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'hpnd', 'melt pond depth', 'm', trcr(:,nt_hpnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if - case ('pond_topo ') + case ('pond_topo ') if (tr_pond_topo) then - call def_stream2D(nod2D, nx_nh, 'apnd', 'melt pond area fraction', 'none', trcr(:,nt_apnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - call def_stream2D(nod2D, nx_nh, 'hpnd', 'melt pond depth', 'm', trcr(:,nt_hpnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - call def_stream2D(nod2D, nx_nh, 'ipnd', 'melt pond refrozen lid thickness', 'm', trcr(:,nt_ipnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'apnd', 'melt pond area fraction', 'none', trcr(:,nt_apnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'hpnd', 'melt pond depth', 'm', trcr(:,nt_hpnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'ipnd', 'melt pond refrozen lid thickness', 'm', trcr(:,nt_ipnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if - case ('pond_lvl ') + case ('pond_lvl ') if (tr_pond_lvl) then - call def_stream2D(nod2D, nx_nh, 'apnd', 'melt pond area fraction', 'none', trcr(:,nt_apnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - call def_stream2D(nod2D, nx_nh, 'hpnd', 'melt pond depth', 'm', trcr(:,nt_hpnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - !call def_stream2D(nod2D, nx_nh, 'ipnd', 'melt pond refrozen lid thickness', 'm', trcr(:,nt_ipnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'apnd', 'melt pond area fraction', 'none', trcr(:,nt_apnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'hpnd', 'melt pond depth', 'm', trcr(:,nt_hpnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + !call def_stream2D(nod2D, nx_nh, 'ipnd', 'melt pond refrozen lid thickness', 'm', trcr(:,nt_ipnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if - case ('brine ') + case ('brine ') if (tr_brine) then - call def_stream2D(nod2D, nx_nh, 'fbri', 'volume fraction of ice with dynamic salt', 'none', trcr(:,nt_fbri), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream2D(nod2D, nx_nh, 'fbri', 'volume fraction of ice with dynamic salt', 'none', trcr(:,nt_fbri), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if - case ('qice ') - do k = 1,nilyr ! Separate variable for each sea ice layer + case ('qice ') + do k = 1,nilyr ! Separate variable for each sea ice layer write(trname,'(A6,i1)') 'qicen_', k write(longname,'(A22,i1)') 'sea ice enthalpy lyr: ', k units='J/m3' call def_stream2D(nod2D, nx_nh, trim(trname), trim(longname), trim(units), trcr(:,nt_qice+k-1), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - end do - case ('sice ') - do k = 1,nilyr ! Separate variable for each sea ice layer + end do + case ('sice ') + do k = 1,nilyr ! Separate variable for each sea ice layer write(trname,'(A6,i1)') 'sicen_', k write(longname,'(A22,i1)') 'sea ice salinity lyr: ', k units='psu' call def_stream2D(nod2D, nx_nh, trim(trname), trim(longname), trim(units), trcr(:,nt_sice+k-1), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - end do - case ('qsno ') - do k = 1,nslyr ! Separate variable for each snow layer + end do + case ('qsno ') + do k = 1,nslyr ! Separate variable for each snow layer write(trname,'(A6,i1)') 'qsnon_', k write(longname,'(A19,i1)') 'snow enthalpy lyr: ', k units='J/m3' call def_stream2D(nod2D, nx_nh, trim(trname), trim(longname), trim(units), trcr(:,nt_qsno+k-1), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - end do - case ('rdg_conv ') - call def_stream2D(nod2D, nx_nh, 'rdg_conv', 'Convergence term for ridging', '1/s', rdg_conv(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - case ('rdg_shear ') - call def_stream2D(nod2D, nx_nh, 'rdg_shear', 'Shear term for ridging', '1/s', rdg_shear(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - case default - if (mype==0) write(*,*) 'stream ', io_list_icepack(i)%id, ' is not defined !' - end select - end do + end do + case ('rdg_conv ') + call def_stream2D(nod2D, nx_nh, 'rdg_conv', 'Convergence term for ridging', '1/s', rdg_conv(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + case ('rdg_shear ') + call def_stream2D(nod2D, nx_nh, 'rdg_shear', 'Shear term for ridging', '1/s', rdg_shear(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + case default + if (mype==0) write(*,*) 'stream ', io_list_icepack(i)%id, ' is not defined !' + end select + end do ! --> do i=1, io_listsize end subroutine ini_mean_icepack_io diff --git a/src/icepack_drivers/icedrv_main.F90 b/src/icepack_drivers/icedrv_main.F90 index 3c609508c..6428aad72 100644 --- a/src/icepack_drivers/icedrv_main.F90 +++ b/src/icepack_drivers/icedrv_main.F90 @@ -905,7 +905,7 @@ module subroutine ini_icepack_io(year, partit, mesh) type(t_partit), intent(inout), target :: partit integer(kind=int_kind), intent(in) :: year end subroutine ini_icepack_io - + ! Cut off Icepack module subroutine cut_off_icepack use icepack_intfc, only: icepack_compute_tracers diff --git a/src/io_fesom_file.F90 b/src/io_fesom_file.F90 index 0df58c7da..1347cfe2c 100644 --- a/src/io_fesom_file.F90 +++ b/src/io_fesom_file.F90 @@ -15,6 +15,7 @@ module io_fesom_file_module real(kind=8), allocatable :: global_level_data(:) integer :: global_level_data_size = 0 logical is_elem_based + logical :: is_icepackvar2=.false. character(:), allocatable :: varname ! todo: maybe use a getter in netcdf_file_type to get the name end type @@ -54,7 +55,7 @@ module io_fesom_file_module integer, save :: m_nod2d integer, save :: m_elem2d integer, save :: m_nl - integer, save :: m_nitc + integer, save :: m_ncat type fesom_file_type_ptr @@ -104,7 +105,7 @@ function time_dimindex(this) result(x) end function - subroutine init(this, mesh_nod2d, mesh_elem2d, mesh_nl, partit, mesh_nitc) ! todo: would like to call it initialize but Fortran is rather cluncky with overwriting base type procedures + subroutine init(this, mesh_nod2d, mesh_elem2d, mesh_nl, partit, mesh_ncat) ! todo: would like to call it initialize but Fortran is rather cluncky with overwriting base type procedures use io_netcdf_workaround_module use io_gather_module use MOD_PARTIT @@ -112,7 +113,7 @@ subroutine init(this, mesh_nod2d, mesh_elem2d, mesh_nl, partit, mesh_nitc) ! tod integer mesh_nod2d integer mesh_elem2d integer mesh_nl - integer, optional :: mesh_nitc + integer, optional :: mesh_ncat type(t_partit), target :: partit ! EO parameters type(fesom_file_type_ptr), allocatable :: tmparr(:) @@ -126,11 +127,11 @@ subroutine init(this, mesh_nod2d, mesh_elem2d, mesh_nl, partit, mesh_nitc) ! tod m_nod2d = mesh_nod2d m_elem2d = mesh_elem2d m_nl = mesh_nl - !PS mesh_nitc ... icepack number of ice thickness classes, - if (present(mesh_nitc)) then - m_nitc = mesh_nitc + !PS mesh_ncat ... icepack number of ice thickness classes, + if (present(mesh_ncat)) then + m_ncat = mesh_ncat else - m_nitc = 0 + m_ncat = 0 end if call this%netcdf_file_type%initialize() @@ -191,9 +192,18 @@ subroutine read_and_scatter_variables(this) do i=1, this%nvar_infos var => this%var_infos(i) - nlvl = size(var%external_local_data_ptr,dim=1) + + if (var%is_icepackvar2) then + !PS for icepack external_local_data_ptr has still dimension [nod2, ncat] + !PS but usual fesom output would have [nlev, nod2] so we need to change here + !PS dim= parameter to get the proper dimension + nlvl = size(var%external_local_data_ptr,dim=2) + allocate(laux( size(var%external_local_data_ptr,dim=1) )) ! i.e. myDim_elem2D+eDim_elem2D or myDim_nod2D+eDim_nod2D + else + nlvl = size(var%external_local_data_ptr,dim=1) + allocate(laux( size(var%external_local_data_ptr,dim=2) )) ! i.e. myDim_elem2D+eDim_elem2D or myDim_nod2D+eDim_nod2D + end if is_2d = (nlvl == 1) - allocate(laux( size(var%external_local_data_ptr,dim=2) )) ! i.e. myDim_elem2D+eDim_elem2D or myDim_nod2D+eDim_nod2D if(this%is_iorank()) then ! todo: choose how many levels we read at once @@ -233,8 +243,13 @@ subroutine read_and_scatter_variables(this) dynamics_workaround%uv_rhsAB(2,lvl,:) = laux else #endif - ! the data from our pointer is not contiguous (if it is 3D data), so we can not pass the pointer directly to MPI - var%external_local_data_ptr(lvl,:) = laux ! todo: remove this buffer and pass the data directly to MPI (change order of data layout to be levelwise or do not gather levelwise but by columns) + if (var%is_icepackvar2) then + ! the data from our pointer is not contiguous (if it is 3D data), so we can not pass the pointer directly to MPI + var%external_local_data_ptr(:,lvl) = laux ! todo: remove this buffer and pass the data directly to MPI (change order of data layout to be levelwise or do not gather levelwise but by columns) + else + ! the data from our pointer is not contiguous (if it is 3D data), so we can not pass the pointer directly to MPI + var%external_local_data_ptr(lvl,:) = laux ! todo: remove this buffer and pass the data directly to MPI (change order of data layout to be levelwise or do not gather levelwise but by columns) + end if #ifdef ENABLE_NVHPC_WORKAROUNDS end if #endif @@ -410,7 +425,11 @@ subroutine async_gather_and_write_variables(this) var%local_data_copy = dynamics_workaround%uv_rhsAB(2,:,:) else #endif - var%local_data_copy = var%external_local_data_ptr + if (var%is_icepackvar2) then + var%local_data_copy = transpose(var%external_local_data_ptr) + else + var%local_data_copy = var%external_local_data_ptr + end if #ifdef ENABLE_NVHPC_WORKAROUNDS end if #endif @@ -457,21 +476,22 @@ subroutine specify_node_var_2d(this, name, longname, units, local_data) call specify_variable(this, name, [level_diminfo%idx, this%time_dimidx], level_diminfo%len, external_local_data_ptr, .false., longname, units) end subroutine - subroutine specify_node_var_2dicepack(this, name, longname, units, local_data, nitc) + subroutine specify_node_var_2dicepack(this, name, longname, units, local_data, ncat) use, intrinsic :: ISO_C_BINDING class(fesom_file_type), intent(inout) :: this character(len=*), intent(in) :: name character(len=*), intent(in) :: units, longname real(kind=8), target, intent(inout) :: local_data(:,:) - integer, intent(in) :: nitc! todo: be able to set precision + integer, intent(in) :: ncat! todo: be able to set precision ! EO parameters - type(dim_info) level_diminfo, nitc_diminfo + type(dim_info) level_diminfo, ncat_diminfo -!PS write(*,*) "--> specify_node_var_2dicepack:", __LINE__, __FILE__ +!PS write(*,*) "--> specify_node_var_2dicepack:", __LINE__, __FILE__, size(local_data) level_diminfo = obtain_diminfo(this, m_nod2d) - nitc_diminfo = obtain_diminfo(this, size(local_data, dim=2)) + ncat_diminfo = obtain_diminfo(this, size(local_data, dim=2)) - call specify_variable(this, name, [level_diminfo%idx, nitc_diminfo%idx, this%time_dimidx], level_diminfo%len, local_data, .false., longname, units) + call specify_variable(this, name, [level_diminfo%idx, ncat_diminfo%idx, this%time_dimidx], level_diminfo%len, local_data, .false., longname, units, ncat) + end subroutine @@ -542,8 +562,6 @@ function obtain_diminfo(this, len) result(info) end if end do -!PS write(*,*) 'm_n2d=',m_nod2d,', m_e2d=',m_elem2d,', m_nl=', m_nl,', nitc', m_nitc, ', LEN=', len - ! the dim has not been added yet, see if it is one of our allowed mesh related dims if (len == m_nod2d) then info = dim_info( idx=this%add_dim('node', len), len=len) @@ -553,8 +571,8 @@ function obtain_diminfo(this, len) result(info) info = dim_info( idx=this%add_dim('nz_1', len), len=len) else if(len == m_nl ) then info = dim_info( idx=this%add_dim('nz' , len), len=len) - else if(len == m_nitc ) then - info = dim_info( idx=this%add_dim('nitc', len), len=len) + else if(len == m_ncat ) then + info = dim_info( idx=this%add_dim('ncat', len), len=len) else print *, "error in line ",__LINE__, __FILE__," can not find dimension with size",len stop 1 @@ -570,14 +588,16 @@ function obtain_diminfo(this, len) result(info) end function - subroutine specify_variable(this, name, dim_indices, global_level_data_size, local_data, is_elem_based, longname, units) - type(fesom_file_type), intent(inout) :: this - character(len=*), intent(in) :: name - integer, intent(in) :: dim_indices(:) - integer global_level_data_size - real(kind=8), target, intent(inout) :: local_data(:,:) ! todo: be able to set precision? - logical, intent(in) :: is_elem_based - character(len=*), intent(in) :: units, longname + subroutine specify_variable(this, name, dim_indices, global_level_data_size, local_data, is_elem_based, longname, units, ncat) + type(fesom_file_type), intent(inout) :: this + character(len=*) , intent(in) :: name + integer , intent(in) :: dim_indices(:) + integer , intent(in) :: global_level_data_size + real(kind=8) , intent(inout), target :: local_data(:,:) ! todo: be able to set precision? + logical , intent(in) :: is_elem_based + character(len=*) , intent(in) :: units, longname + integer , intent(in) , optional :: ncat + ! EO parameters integer var_index @@ -592,6 +612,8 @@ subroutine specify_variable(this, name, dim_indices, global_level_data_size, loc this%var_infos(this%nvar_infos)%global_level_data_size = global_level_data_size this%var_infos(this%nvar_infos)%is_elem_based = is_elem_based this%var_infos(this%nvar_infos)%varname = name + if (present(ncat)) this%var_infos(this%nvar_infos)%is_icepackvar2=.true. + end subroutine diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index cc08d77e4..afa5e0a3f 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -400,7 +400,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'dflux', 'density flux', 'kg/(m3*s)', dens_flux(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('runoff ') sel_forcvar(10)= 1 - call def_stream(nod2D, myDim_nod2D, 'runoff', 'river runoff', 'm/s', runoff(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(nod2D, myDim_nod2D, 'runoff', 'river runoff', 'm/s', runoff(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('evap ') sel_forcvar(7) = 1 call def_stream(nod2D, myDim_nod2D, 'evap', 'evaporation', 'm/s', evaporation(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) @@ -1770,13 +1770,14 @@ subroutine output(istep, ice, dynamics, tracers, partit, mesh) ! define output streams-->dimension, variable, long_name, units, array, freq, unit, precision !PS if (partit%flag_debug .and. partit%mype==0) print *, achar(27)//'[32m'//' -I/O-> call ini_mean_io'//achar(27)//'[0m' call ini_mean_io(ice, dynamics, tracers, partit, mesh) + +#if defined (__icepack) + call ini_mean_icepack_io(mesh) !icapack has its copy of p_partit => partit +#endif !PS if (partit%flag_debug .and. partit%mype==0) print *, achar(27)//'[33m'//' -I/O-> call init_io_gather'//achar(27)//'[0m' call init_io_gather(partit) -#if defined (__icepack) - call ini_mean_icepack_io(mesh) !icapack has its copy of p_partit => partit -#endif end if ! --> if (lfirst) then !___________________________________________________________________________ diff --git a/src/io_restart.F90 b/src/io_restart.F90 index 482f098a3..f076a6d8e 100644 --- a/src/io_restart.F90 +++ b/src/io_restart.F90 @@ -38,7 +38,6 @@ MODULE io_RESTART #if defined(__icepack) type(restart_file_group) , save, public :: icepack_files character(:), allocatable, save, public :: icepack_path - #endif #if defined(__recom) @@ -244,11 +243,8 @@ end subroutine ini_bio_io ! subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tracers, partit, mesh) -! #if defined(__icepack) -! icepack restart not merged here ! produce a compiler error if USE_ICEPACK=ON; todo: merge icepack restart from 68d8b8b -! #endif - use fortran_utils + implicit none ! this is the main restart subroutine ! if l_read is TRUE the restart file will be read @@ -273,6 +269,7 @@ subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tr integer, intent(out):: which_readr integer :: cstep + !_____________________________________________________________________________ ! initialize directory for core dump restart if(.not. initialized_raw) then @@ -316,7 +313,7 @@ subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tr call ini_ocean_io(yearnew, dynamics, tracers, partit, mesh) if (use_ice) then call ini_ice_io(yearnew, ice, partit, mesh) -#if defined(__icepack) +#if defined(__icepack) call ini_icepack_io(yearnew, partit, mesh) #endif end if @@ -329,7 +326,7 @@ subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tr if (use_ice) then call ini_ice_io (yearold, ice, partit, mesh) #if defined(__icepack) - call ini_icepack_io(yearnew, partit, mesh) + call ini_icepack_io(yearold, partit, mesh) #endif end if #if defined(__recom) @@ -387,6 +384,10 @@ subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tr if (use_ice) then if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> read restarts from netcdf file: ice'//achar(27)//'[0m' call read_restart(ice_path, ice_files, partit%MPI_COMM_FESOM, partit%mype) +#if defined(__icepack) + if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> read restarts from netcdf file: icepack'//achar(27)//'[0m' + call read_restart(icepack_path, icepack_files, partit%MPI_COMM_FESOM, partit%mype) +#endif end if #if defined(__recom) diff --git a/src/io_restart_file_group.F90 b/src/io_restart_file_group.F90 index bbd139805..ac4b12e9f 100644 --- a/src/io_restart_file_group.F90 +++ b/src/io_restart_file_group.F90 @@ -51,20 +51,20 @@ subroutine def_node_var_2d(this, name, longname, units, local_data, mesh, partit !PS add a seprate case for icepack since here i need to write a 2d vertice file !PS over the dimension of number of ice thickness classes. Additional input - !PS parameter nitc - subroutine def_node_var_2dicepack(this, name, longname, units, local_data, nitc, mesh, partit) + !PS parameter ncat + subroutine def_node_var_2dicepack(this, name, longname, units, local_data, ncat, mesh, partit) use mod_mesh class(restart_file_group), target, intent(inout) :: this character(len=*), intent(in) :: name character(len=*), intent(in) :: units, longname real(kind=8), target, intent(inout) :: local_data(:,:) ! todo: be able to set precision - integer :: nitc + integer :: ncat type(t_mesh) , intent(in) :: mesh type(t_partit) , intent(in) :: partit ! EO parameters !PS write(*,*) "--> def_node_var_2dicepack:", __LINE__, __FILE__ - call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit, nitc) - call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data, nitc) + call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit, ncat) + call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data, ncat) end subroutine subroutine def_node_var_3d(this, name, longname, units, local_data, mesh, partit) @@ -112,16 +112,16 @@ subroutine def_elem_var_3d(this, name, longname, units, local_data, mesh, partit end subroutine - subroutine add_file(g, name, must_exist_on_read, mesh_nod2d, mesh_elem2d, mesh_nl, partit, mesh_nitc) + subroutine add_file(g, name, must_exist_on_read, mesh_nod2d, mesh_elem2d, mesh_nl, partit, mesh_ncat) class(restart_file_group), target, intent(inout) :: g character(len=*), intent(in) :: name logical must_exist_on_read integer mesh_nod2d, mesh_elem2d, mesh_nl type(t_partit), intent(in) :: partit - !PS mesh_nitc ... icepack number of ice thickness classes, do it here as optional + !PS mesh_ncat ... icepack number of ice thickness classes, do it here as optional !PS parameter, i assume is the less intrusive option. Therefore it must be !PS at the end of the argumnent input list - integer, optional :: mesh_nitc + integer, optional :: mesh_ncat ! EO parameters type(restart_file_type), pointer :: f @@ -133,8 +133,12 @@ subroutine add_file(g, name, must_exist_on_read, mesh_nod2d, mesh_elem2d, mesh_n allocate(f%varname,source=name) f%must_exist_on_read = must_exist_on_read - if (present(mesh_nitc)) then - call f%fesom_file_type%init(mesh_nod2d, mesh_elem2d, mesh_nl, partit, mesh_nitc) + if (present(mesh_ncat)) then + call f%fesom_file_type%init(mesh_nod2d, mesh_elem2d, mesh_nl, partit, mesh_ncat) + ! make sure we can identify a 2d icepackvariable, problem here is, We have a new + ! dimension ncat number of ice thickness categories and icepack 2d vars have + ! dimensions (nod2, ncat) but fesom IO expects (ncat, nod2) --> means we + ! need to sneek in a matrix transpose somehow!!! else call f%fesom_file_type%init(mesh_nod2d, mesh_elem2d, mesh_nl, partit) end if @@ -159,20 +163,20 @@ subroutine def_node_var_2d_optional(this, name, longname, units, local_data, mes !PS add a seprate case for icepack since here i need to write a 2d vertice file !PS over the dimension of number of ice thickness classes. Additional input - !PS parameter nitc - subroutine def_node_var_2dicepack_optional(this, name, longname, units, local_data, nitc, mesh, partit) + !PS parameter ncat + subroutine def_node_var_2dicepack_optional(this, name, longname, units, local_data, ncat, mesh, partit) use mod_mesh class(restart_file_group), target, intent(inout) :: this character(len=*), intent(in) :: name character(len=*), intent(in) :: units, longname real(kind=8), target, intent(inout) :: local_data(:,:) ! todo: be able to set precision - integer :: nitc + integer :: ncat type(t_mesh) , intent(in) :: mesh type(t_partit) , intent(in) :: partit ! EO parameters - call add_file(this, name, .false., mesh%nod2d, mesh%elem2d, mesh%nl, partit, nitc) - call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data, nitc) + call add_file(this, name, .false., mesh%nod2d, mesh%elem2d, mesh%nl, partit, ncat) + call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data, ncat) end subroutine subroutine def_node_var_3d_optional(this, name, longname, units, local_data, mesh, partit) From bfea5f19023300e0984ded968fea1e4febe97a18 Mon Sep 17 00:00:00 2001 From: Patrick Date: Tue, 15 Oct 2024 16:59:57 +0200 Subject: [PATCH 254/273] add some comments --- src/io_fesom_file.F90 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/io_fesom_file.F90 b/src/io_fesom_file.F90 index 1347cfe2c..48c8bd395 100644 --- a/src/io_fesom_file.F90 +++ b/src/io_fesom_file.F90 @@ -245,6 +245,8 @@ subroutine read_and_scatter_variables(this) #endif if (var%is_icepackvar2) then ! the data from our pointer is not contiguous (if it is 3D data), so we can not pass the pointer directly to MPI + ! PS Again icepack variable demension is [nod2, ncat] thats why we need + ! PS to switch here the index where we sort in the 2d slices var%external_local_data_ptr(:,lvl) = laux ! todo: remove this buffer and pass the data directly to MPI (change order of data layout to be levelwise or do not gather levelwise but by columns) else ! the data from our pointer is not contiguous (if it is 3D data), so we can not pass the pointer directly to MPI From 6951b113be158ac3b8902e3301bf8055d325d528 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 16 Oct 2024 16:28:01 +0200 Subject: [PATCH 255/273] sort and structure icepack io meandata output routine --- src/icepack_drivers/icedrv_io.F90 | 138 +++++++++++++++--------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/src/icepack_drivers/icedrv_io.F90 b/src/icepack_drivers/icedrv_io.F90 index 036b7d07b..0d628b570 100644 --- a/src/icepack_drivers/icedrv_io.F90 +++ b/src/icepack_drivers/icedrv_io.F90 @@ -25,7 +25,7 @@ module subroutine ini_mean_icepack_io(mesh) use mod_mesh - use io_meandata, only: def_stream3D, def_stream2D + use io_meandata, only: def_stream implicit none @@ -139,147 +139,147 @@ module subroutine ini_mean_icepack_io(mesh) do i=1, io_listsize select case (trim(io_list_icepack(i)%id)) case ('aice0 ') - call def_stream2D(nod2D, nx_nh, 'aice0', 'open water fraction', 'none', aice0(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'aice0' , 'open water fraction' , 'none', aice0(:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) case ('aicen ') - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'aicen', 'sea ice concentration', 'none', aicen(:,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'aicen' , 'sea ice concentration' , 'none', aicen(:,:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) case ('vicen ') - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'vicen', 'volume per unit area of ice', 'm', vicen(:,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'vicen' , 'volume per unit area of ice' , 'm' , vicen(:,:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) case ('vsnon ') - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'vsnon', 'volume per unit area of snow', 'm', vsnon(:,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'vsnon' , 'volume per unit area of snow', 'm' , vsnon(:,:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) case ('aice ') - call def_stream2D(nod2D, nx_nh, 'aice', 'sea ice concentration', 'none', aice(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'aice' , 'sea ice concentration' , 'none', aice(:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) case ('vice ') - call def_stream2D(nod2D, nx_nh, 'vice', 'volume per unit area of ice', 'm', vice(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'vice' , 'volume per unit area of ice' , 'm' , vice(:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) case ('vsno ') - call def_stream2D(nod2D, nx_nh, 'vsno', 'volume per unit area of snow', 'm', vsno(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'vsno' , 'volume per unit area of snow', 'm' , vsno(:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) ! Sea ice velocity components case ('uvel ') - call def_stream2D(nod2D, nx_nh, 'uvel', 'x-component of ice velocity', 'm/s', uvel(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'uvel' , 'x-component of ice velocity' , 'm/s' , uvel(:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) case ('vvel ') - call def_stream2D(nod2D, nx_nh, 'vvel', 'y-component of ice velocity', 'm/s', vvel(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'vvel' , 'y-component of ice velocity' , 'm/s' , vvel(:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) ! Sea ice or snow surface temperature case ('Tsfc ') - call def_stream2D(nod2D, nx_nh, 'Tsfc', 'sea ice surf. temperature', 'degC', trcr(:,nt_Tsfc), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'Tsfc' , 'sea ice surf. temperature' , 'degC', trcr(:,nt_Tsfc) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) case ('Tsfcn ') - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'Tsfcn', 'sea ice surf. temperature', 'degC', trcrn(:,nt_Tsfc,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - case ('strength ') - call def_stream2D(nod2D, nx_nh, 'strength', 'sea ice strength', 'N', strength(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'Tsfcn' , 'sea ice surf. temperature' , 'degC', trcrn(:,nt_Tsfc,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + case ('strength ') + call def_stream(nod2D , nx_nh , 'strength', 'sea ice strength' , 'N' , strength(:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) ! If the following tracers are not defined they will not be outputed case ('iagen ') if (tr_iage) then - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'iage', 'sea ice age', 's', trcrn(:,nt_iage,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'iage' , 'sea ice age' , 's' , trcrn(:,nt_iage,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if case ('FYn ') if (tr_FY) then - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'FY', 'first year ice', 'none', trcrn(:,nt_FY,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'FY' , 'first year ice' , 'none', trcrn(:,nt_FY,:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if case ('lvln ') if (tr_lvl) then - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'alvl', 'ridged sea ice area', 'none', trcrn(:,nt_alvl,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'vlvl', 'ridged sea ice volume', 'm', trcrn(:,nt_vlvl,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'alvl' , 'ridged sea ice area' , 'none', trcrn(:,nt_alvl,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'vlvl' , 'ridged sea ice volume' , 'm' , trcrn(:,nt_vlvl,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if case ('pond_cesmn') if (tr_pond_cesm) then - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'apnd', 'melt pond area fraction', 'none', trcrn(:,nt_apnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'hpnd', 'melt pond depth', 'm', trcrn(:,nt_hpnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if case ('pond_topon') if (tr_pond_topo) then - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'apnd', 'melt pond area fraction', 'none', trcrn(:,nt_apnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'hpnd', 'melt pond depth', 'm', trcrn(:,nt_hpnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'ipnd', 'melt pond refrozen lid thickness', 'm', trcrn(:,nt_ipnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'ipnd' , 'melt pond refrozen lid thickness', 'm',trcrn(:,nt_ipnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if case ('pond_lvln ') if (tr_pond_lvl) then - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'apnd', 'melt pond area fraction', 'none', trcrn(:,nt_apnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'hpnd', 'melt pond depth', 'm', trcrn(:,nt_hpnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'ipnd', 'melt pond refrozen lid thickness', 'm', trcrn(:,nt_ipnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'ipnd' , 'melt pond refrozen lid thickness','m', trcrn(:,nt_ipnd,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if case ('brinen ') if (tr_brine) then - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), 'fbri', 'volume fraction of ice with dynamic salt', 'none', trcrn(:,nt_fbri,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), 'fbri' , 'volume fraction of ice with dynamic salt', 'none', trcrn(:,nt_fbri,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end if case ('qicen ') do k = 1,nilyr ! Separate variable for each sea ice layer write(trname,'(A6,i1)') 'qicen_', k write(longname,'(A22,i1)') 'sea ice enthalpy lyr: ', k units='J/m3' - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), trim(trname), trim(longname), trim(units), trcrn(:,nt_qice+k-1,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), trim(trname), trim(longname), trim(units), trcrn(:,nt_qice+k-1,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end do case ('sicen ') do k = 1,nilyr ! Separate variable for each sea ice layer write(trname,'(A6,i1)') 'sicen_', k write(longname,'(A22,i1)') 'sea ice salinity lyr: ', k units='psu' - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), trim(trname), trim(longname), trim(units), trcrn(:,nt_sice+k-1,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), trim(trname), trim(longname), trim(units), trcrn(:,nt_sice+k-1,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end do case ('qsnon ') do k = 1,nslyr ! Separate variable for each snow layer write(trname,'(A6,i1)') 'qsnon_', k write(longname,'(A19,i1)') 'snow enthalpy lyr: ', k units='J/m3' - call def_stream3D((/ncat, nod2D/), (/ncat, nx_nh/), trim(trname), trim(longname), trim(units), trcrn(:,nt_qsno+k-1,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) + call def_stream((/ncat, nod2D/), (/ncat, nx_nh/), trim(trname), trim(longname), trim(units), trcrn(:,nt_qsno+k-1,:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh, .true.) end do ! Average over categories case ('iage ') if (tr_iage) then - call def_stream2D(nod2D, nx_nh, 'iage', 'sea ice age', 's', trcr(:,nt_iage), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'iage' , 'sea ice age' , 's' , trcr(:,nt_iage) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if case ('FY ') if (tr_FY) then - call def_stream2D(nod2D, nx_nh, 'FY', 'first year ice', 'none', trcr(:,nt_FY), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'FY' , 'first year ice' , 'none', trcr(:,nt_FY) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if case ('lvl ') if (tr_lvl) then - call def_stream2D(nod2D, nx_nh, 'alvl', 'ridged sea ice area', 'none', trcr(:,nt_alvl), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - call def_stream2D(nod2D, nx_nh, 'vlvl', 'ridged sea ice volume', 'm', trcr(:,nt_vlvl), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'alvl' , 'ridged sea ice area' , 'none', trcr(:,nt_alvl) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'vlvl' , 'ridged sea ice volume' , 'm' , trcr(:,nt_vlvl) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if case ('pond_cesm ') if (tr_pond_cesm) then - call def_stream2D(nod2D, nx_nh, 'apnd', 'melt pond area fraction', 'none', trcr(:,nt_apnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - call def_stream2D(nod2D, nx_nh, 'hpnd', 'melt pond depth', 'm', trcr(:,nt_hpnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'apnd' , 'melt pond area fraction' , 'none', trcr(:,nt_apnd) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'hpnd' , 'melt pond depth' , 'm' , trcr(:,nt_hpnd) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if case ('pond_topo ') if (tr_pond_topo) then - call def_stream2D(nod2D, nx_nh, 'apnd', 'melt pond area fraction', 'none', trcr(:,nt_apnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - call def_stream2D(nod2D, nx_nh, 'hpnd', 'melt pond depth', 'm', trcr(:,nt_hpnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - call def_stream2D(nod2D, nx_nh, 'ipnd', 'melt pond refrozen lid thickness', 'm', trcr(:,nt_ipnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'apnd' , 'melt pond area fraction' , 'none', trcr(:,nt_apnd) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'hpnd' , 'melt pond depth' , 'm' , trcr(:,nt_hpnd) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'ipnd' , 'melt pond refrozen lid thickness', 'm', trcr(:,nt_ipnd) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if case ('pond_lvl ') if (tr_pond_lvl) then - call def_stream2D(nod2D, nx_nh, 'apnd', 'melt pond area fraction', 'none', trcr(:,nt_apnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - call def_stream2D(nod2D, nx_nh, 'hpnd', 'melt pond depth', 'm', trcr(:,nt_hpnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) - !call def_stream2D(nod2D, nx_nh, 'ipnd', 'melt pond refrozen lid thickness', 'm', trcr(:,nt_ipnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'apnd' , 'melt pond area fraction' , 'none', trcr(:,nt_apnd) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'hpnd' , 'melt pond depth' , 'm' , trcr(:,nt_hpnd) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + !call def_stream(nod2D, nx_nh, 'ipnd', 'melt pond refrozen lid thickness', 'm', trcr(:,nt_ipnd), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if case ('brine ') if (tr_brine) then - call def_stream2D(nod2D, nx_nh, 'fbri', 'volume fraction of ice with dynamic salt', 'none', trcr(:,nt_fbri), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'fbri' , 'volume fraction of ice with dynamic salt', 'none', trcr(:,nt_fbri), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end if case ('qice ') do k = 1,nilyr ! Separate variable for each sea ice layer write(trname,'(A6,i1)') 'qicen_', k write(longname,'(A22,i1)') 'sea ice enthalpy lyr: ', k units='J/m3' - call def_stream2D(nod2D, nx_nh, trim(trname), trim(longname), trim(units), trcr(:,nt_qice+k-1), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , trim(trname), trim(longname) , trim(units), trcr(:,nt_qice+k-1), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end do case ('sice ') do k = 1,nilyr ! Separate variable for each sea ice layer write(trname,'(A6,i1)') 'sicen_', k write(longname,'(A22,i1)') 'sea ice salinity lyr: ', k units='psu' - call def_stream2D(nod2D, nx_nh, trim(trname), trim(longname), trim(units), trcr(:,nt_sice+k-1), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , trim(trname), trim(longname) , trim(units), trcr(:,nt_sice+k-1), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end do case ('qsno ') do k = 1,nslyr ! Separate variable for each snow layer write(trname,'(A6,i1)') 'qsnon_', k write(longname,'(A19,i1)') 'snow enthalpy lyr: ', k units='J/m3' - call def_stream2D(nod2D, nx_nh, trim(trname), trim(longname), trim(units), trcr(:,nt_qsno+k-1), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , trim(trname), trim(longname) , trim(units), trcr(:,nt_qsno+k-1), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) end do case ('rdg_conv ') - call def_stream2D(nod2D, nx_nh, 'rdg_conv', 'Convergence term for ridging', '1/s', rdg_conv(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'rdg_conv' , 'Convergence term for ridging', '1/s', rdg_conv(:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) case ('rdg_shear ') - call def_stream2D(nod2D, nx_nh, 'rdg_shear', 'Shear term for ridging', '1/s', rdg_shear(:), io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) + call def_stream(nod2D , nx_nh , 'rdg_shear', 'Shear term for ridging' , '1/s' , rdg_shear(:) , io_list_icepack(i)%freq, io_list_icepack(i)%unit, io_list_icepack(i)%precision, p_partit, mesh) case default if (mype==0) write(*,*) 'stream ', io_list_icepack(i)%id, ' is not defined !' end select @@ -369,46 +369,46 @@ module subroutine ini_icepack_io(year, partit, mesh) !----------------------------------------------------------------- ! 3D restart fields (ncat) !----------------------------------------------------------------- - call icepack_files%def_node_var('aicen' , 'sea ice concentration' , 'none', aicen(:,:) , ncat, mesh, partit) - call icepack_files%def_node_var('vicen' , 'volum per unit area of ice' , 'm' , vicen(:,:) , ncat, mesh, partit) - call icepack_files%def_node_var('vsnon' , 'volum per unit area of snow' , 'm' , vsnon(:,:) , ncat, mesh, partit) - call icepack_files%def_node_var('Tsfc' , 'sea ice surf. temperature' , 'degC', trcrn(:,nt_Tsfc,:), ncat, mesh, partit) + call icepack_files%def_node_var('aicen' , 'sea ice concentration' , 'none', aicen(:,:) , mesh, partit, ncat) + call icepack_files%def_node_var('vicen' , 'volum per unit area of ice' , 'm' , vicen(:,:) , mesh, partit, ncat) + call icepack_files%def_node_var('vsnon' , 'volum per unit area of snow' , 'm' , vsnon(:,:) , mesh, partit, ncat) + call icepack_files%def_node_var('Tsfc' , 'sea ice surf. temperature' , 'degC', trcrn(:,nt_Tsfc,:), mesh, partit, ncat) if (tr_iage) then - call icepack_files%def_node_var('iage' , 'sea ice age' , 's' , trcrn(:,nt_iage,:), ncat, mesh, partit) + call icepack_files%def_node_var('iage' , 'sea ice age' , 's' , trcrn(:,nt_iage,:), mesh, partit, ncat) end if if (tr_FY) then - call icepack_files%def_node_var('FY' , 'first year ice' , 'none', trcrn(:,nt_FY,:) , ncat, mesh, partit) + call icepack_files%def_node_var('FY' , 'first year ice' , 'none', trcrn(:,nt_FY,:) , mesh, partit, ncat) end if if (tr_lvl) then - call icepack_files%def_node_var('alvl' , 'ridged sea ice area' , 'none', trcrn(:,nt_alvl,:), ncat, mesh, partit) - call icepack_files%def_node_var('vlvl' , 'ridged sea ice volume' , 'm' , trcrn(:,nt_vlvl,:), ncat, mesh, partit) + call icepack_files%def_node_var('alvl' , 'ridged sea ice area' , 'none', trcrn(:,nt_alvl,:), mesh, partit, ncat) + call icepack_files%def_node_var('vlvl' , 'ridged sea ice volume' , 'm' , trcrn(:,nt_vlvl,:), mesh, partit, ncat) end if if (tr_pond_cesm) then - call icepack_files%def_node_var('apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), ncat, mesh, partit) - call icepack_files%def_node_var('hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), ncat, mesh, partit) + call icepack_files%def_node_var('apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), mesh, partit, ncat) + call icepack_files%def_node_var('hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), mesh, partit, ncat) end if if (tr_pond_topo) then - call icepack_files%def_node_var('apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), ncat, mesh, partit) - call icepack_files%def_node_var('hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), ncat, mesh, partit) - call icepack_files%def_node_var('ipnd' , 'melt pond refrozen lid thickness' , 'm' , trcrn(:,nt_ipnd,:), ncat, mesh, partit) + call icepack_files%def_node_var('apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), mesh, partit, ncat) + call icepack_files%def_node_var('hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), mesh, partit, ncat) + call icepack_files%def_node_var('ipnd' , 'melt pond refrozen lid thickness' , 'm' , trcrn(:,nt_ipnd,:), mesh, partit, ncat) end if if (tr_pond_lvl) then - call icepack_files%def_node_var('apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), ncat, mesh, partit) - call icepack_files%def_node_var('hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), ncat, mesh, partit) - call icepack_files%def_node_var('ipnd' , 'melt pond refrozen lid thickness' , 'm' , trcrn(:,nt_ipnd,:), ncat, mesh, partit) + call icepack_files%def_node_var('apnd' , 'melt pond area fraction' , 'none', trcrn(:,nt_apnd,:), mesh, partit, ncat) + call icepack_files%def_node_var('hpnd' , 'melt pond depth' , 'm' , trcrn(:,nt_hpnd,:), mesh, partit, ncat) + call icepack_files%def_node_var('ipnd' , 'melt pond refrozen lid thickness' , 'm' , trcrn(:,nt_ipnd,:), mesh, partit, ncat) call icepack_files%def_node_var('ffracn', 'fraction of fsurfn over pond used to melt ipond' , 'none', ffracn, mesh, partit); call icepack_files%def_node_var('dhsn' , 'depth difference for snow on sea ice and pond ice' , 'm' , dhsn , mesh, partit); end if if (tr_brine) then - call icepack_files%def_node_var('fbri' , 'volume fraction of ice with dynamic salt', 'none', trcrn(:,nt_fbri,:), ncat, mesh, partit) - call icepack_files%def_node_var('first_ice', 'distinguishes ice that disappears' , 'logical', first_ice_real(:,:), ncat, mesh, partit) + call icepack_files%def_node_var('fbri' , 'volume fraction of ice with dynamic salt', 'none', trcrn(:,nt_fbri,:), mesh, partit, ncat) + call icepack_files%def_node_var('first_ice', 'distinguishes ice that disappears' , 'logical', first_ice_real(:,:), mesh, partit, ncat) end if !----------------------------------------------------------------- @@ -421,11 +421,11 @@ module subroutine ini_icepack_io(year, partit, mesh) write(trname,'(A6,i1)') 'sicen_', k write(longname,'(A21,i1)') 'sea ice salinity lyr:', k units='psu' - call icepack_files%def_node_var(trim(trname), trim(longname), trim(units), trcrn(:,nt_sice+k-1,:), ncat, mesh, partit) + call icepack_files%def_node_var(trim(trname), trim(longname), trim(units), trcrn(:,nt_sice+k-1,:), mesh, partit, ncat) write(trname,'(A6,i1)') 'qicen_', k write(longname,'(A21,i1)') 'sea ice enthalpy lyr:', k units='J/m3' - call icepack_files%def_node_var(trim(trname), trim(longname), trim(units), trcrn(:,nt_qice+k-1,:), ncat, mesh, partit) + call icepack_files%def_node_var(trim(trname), trim(longname), trim(units), trcrn(:,nt_qice+k-1,:), mesh, partit, ncat) end do ! Snow @@ -434,7 +434,7 @@ module subroutine ini_icepack_io(year, partit, mesh) write(trname,'(A6,i1)') 'qsnon_', k write(longname,'(A18,i1)') 'snow enthalpy lyr:', k units='J/m3' - call icepack_files%def_node_var(trim(trname), trim(longname), trim(units), trcrn(:,nt_qsno+k-1,:), ncat, mesh, partit) + call icepack_files%def_node_var(trim(trname), trim(longname), trim(units), trcrn(:,nt_qsno+k-1,:), mesh, partit, ncat) end do ! From 1de84cdb0852efce91f1f03362df519d9b919007 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 16 Oct 2024 16:29:24 +0200 Subject: [PATCH 256/273] make sure the io mean routine is able to write an array for the ncat dimension properly --- src/io_meandata.F90 | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index afa5e0a3f..7e70534af 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -15,7 +15,7 @@ module io_MEANDATA implicit none #include "netcdf.inc" private - public :: def_stream2D, def_stream3D, output, finalize_output + public :: def_stream, def_stream2D, def_stream3D, output, finalize_output ! !-------------------------------------------------------------------------------------------- ! @@ -1426,7 +1426,12 @@ subroutine create_new_file(entry, ice, dynamics, partit, mesh) type(t_ice) , intent(in) :: ice type(Meandata), intent(inout) :: entry - character(len=*), parameter :: global_attributes_prefix = "FESOM_" + character(len=*), parameter :: global_attributes_prefix = "FESOM_" +#if defined(__icepack) + integer, allocatable :: ncat_arr(:) + integer :: ii +#endif + ! Serial output implemented so far if (partit%mype/=entry%root_rank) return ! create an ocean output file @@ -1443,15 +1448,21 @@ subroutine create_new_file(entry, ice, dynamics, partit, mesh) else if (entry%ndim==2) then call assert_nf( nf_def_dim(entry%ncid, entry%dimname(1), entry%glsize(1), entry%dimID(1)), __LINE__) - call assert_nf( nf_def_var(entry%ncid, entry%dimname(1), NF_DOUBLE, 1, entry%dimID(1), entry%dimvarID(1)), __LINE__) if (entry%dimname(1)=='nz') then + call assert_nf( nf_def_var(entry%ncid, entry%dimname(1), NF_DOUBLE, 1, entry%dimID(1), entry%dimvarID(1)), __LINE__) call assert_nf( nf_put_att_text(entry%ncid, entry%dimvarID(1), 'long_name', len_trim('depth at layer interface'),'depth at layer interface'), __LINE__) + elseif (entry%dimname(1)=='nz1') then + call assert_nf( nf_def_var(entry%ncid, entry%dimname(1), NF_DOUBLE, 1, entry%dimID(1), entry%dimvarID(1)), __LINE__) call assert_nf( nf_put_att_text(entry%ncid, entry%dimvarID(1), 'long_name', len_trim('depth at layer midpoint'),'depth at layer midpoint'), __LINE__) + elseif (entry%dimname(1)=='ncat') then + call assert_nf( nf_def_var(entry%ncid, entry%dimname(1), NF_INT , 1, entry%dimID(1), entry%dimvarID(1)), __LINE__) call assert_nf( nf_put_att_text(entry%ncid, entry%dimvarID(1), 'long_name', len_trim('sea-ice thickness class'),'sea-ice thickness class'), __LINE__) + else if (partit%mype==0) write(*,*) 'WARNING: unknown first dimension in 2d mean I/O data' + end if call assert_nf( nf_put_att_text(entry%ncid, entry%dimvarID(1), 'units', len_trim('m'),'m'), __LINE__) call assert_nf( nf_put_att_text(entry%ncid, entry%dimvarID(1), 'positive', len_trim('down'),'down'), __LINE__) @@ -1519,6 +1530,15 @@ subroutine create_new_file(entry, ice, dynamics, partit, mesh) call assert_nf( nf_put_var_double(entry%ncid, entry%dimvarID(1), abs(mesh%zbar)), __LINE__) elseif (entry%dimname(1)=='nz1') then call assert_nf( nf_put_var_double(entry%ncid, entry%dimvarID(1), abs(mesh%Z)), __LINE__) +#if defined(__icepack) + elseif (entry%dimname(1)=='ncat') then + allocate(ncat_arr(entry%glsize(1))) + do ii= 1, entry%glsize(1) + ncat_arr(ii)=ii + end do + call assert_nf( nf_put_var_int(entry%ncid, entry%dimvarID(1), ncat_arr), __LINE__) + deallocate(ncat_arr) +#endif else if (partit%mype==0) write(*,*) 'WARNING: unknown first dimension in 2d mean I/O data' end if From dbb76f81756775ba27946aee03c7c61c44f47489 Mon Sep 17 00:00:00 2001 From: Patrick Date: Wed, 16 Oct 2024 16:31:40 +0200 Subject: [PATCH 257/273] reduce number of def_nod_var subroutines, make ncat index an optional parameter for def_node_var_3d --- src/io_restart_file_group.F90 | 100 ++++++++++++++-------------------- 1 file changed, 41 insertions(+), 59 deletions(-) diff --git a/src/io_restart_file_group.F90 b/src/io_restart_file_group.F90 index ac4b12e9f..5d5445897 100644 --- a/src/io_restart_file_group.F90 +++ b/src/io_restart_file_group.F90 @@ -21,14 +21,14 @@ module restart_file_group_module integer, public :: nfiles = 0 ! todo: allow dynamically allocated size without messing with shallow copied pointers contains - generic, public :: def_node_var => def_node_var_2d, def_node_var_2dicepack, def_node_var_3d + generic, public :: def_node_var => def_node_var_2d, def_node_var_3d generic, public :: def_elem_var => def_elem_var_2d, def_elem_var_3d - procedure, private :: def_node_var_2d, def_node_var_2dicepack, def_node_var_3d + procedure, private :: def_node_var_2d, def_node_var_3d procedure, private :: def_elem_var_2d, def_elem_var_3d ! def_*_optional procedures create a restart variable which does not have to exist when reading the restart file - generic, public :: def_node_var_optional => def_node_var_2d_optional, def_node_var_2dicepack_optional, def_node_var_3d_optional + generic, public :: def_node_var_optional => def_node_var_2d_optional, def_node_var_3d_optional generic, public :: def_elem_var_optional => def_elem_var_2d_optional, def_elem_var_3d_optional - procedure, private :: def_node_var_2d_optional, def_node_var_2dicepack_optional, def_node_var_3d_optional + procedure, private :: def_node_var_2d_optional, def_node_var_3d_optional procedure, private :: def_elem_var_2d_optional, def_elem_var_3d_optional end type @@ -49,36 +49,27 @@ subroutine def_node_var_2d(this, name, longname, units, local_data, mesh, partit call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) end subroutine - !PS add a seprate case for icepack since here i need to write a 2d vertice file - !PS over the dimension of number of ice thickness classes. Additional input - !PS parameter ncat - subroutine def_node_var_2dicepack(this, name, longname, units, local_data, ncat, mesh, partit) + subroutine def_node_var_3d(this, name, longname, units, local_data, mesh, partit, ncat) use mod_mesh - class(restart_file_group), target, intent(inout) :: this - character(len=*), intent(in) :: name - character(len=*), intent(in) :: units, longname - real(kind=8), target, intent(inout) :: local_data(:,:) ! todo: be able to set precision - integer :: ncat - type(t_mesh) , intent(in) :: mesh - type(t_partit) , intent(in) :: partit - ! EO parameters -!PS write(*,*) "--> def_node_var_2dicepack:", __LINE__, __FILE__ - call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit, ncat) - call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data, ncat) - end subroutine - - subroutine def_node_var_3d(this, name, longname, units, local_data, mesh, partit) - use mod_mesh - class(restart_file_group), intent(inout) :: this - character(len=*), intent(in) :: name - character(len=*), intent(in) :: units, longname - real(kind=8), target, intent(inout) :: local_data(:,:) ! todo: be able to set precision - type(t_mesh), intent(in) :: mesh - type(t_partit), intent(in) :: partit + class(restart_file_group), intent(inout) :: this + character(len=*) , intent(in) :: name + character(len=*) , intent(in) :: units, longname + real(kind=8) , intent(inout), target :: local_data(:,:) ! todo: be able to set precision + type(t_mesh) , intent(in) :: mesh + type(t_partit) , intent(in) :: partit + integer , intent(in) , optional :: ncat ! EO parameters !PS write(*,*) "--> def_node_var_3d:", __LINE__, __FILE__ - call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit) - call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) + if (present(ncat)) then + !PS add a seprate case for icepack since here i need to write a 2d vertice file + !PS over the dimension of number of ice thickness classes. Additional input + !PS parameter ncat + call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit, ncat) + call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data, ncat) + else + call add_file(this, name, .true., mesh%nod2d, mesh%elem2d, mesh%nl, partit) + call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) + end if end subroutine @@ -161,36 +152,27 @@ subroutine def_node_var_2d_optional(this, name, longname, units, local_data, mes call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) end subroutine - !PS add a seprate case for icepack since here i need to write a 2d vertice file - !PS over the dimension of number of ice thickness classes. Additional input - !PS parameter ncat - subroutine def_node_var_2dicepack_optional(this, name, longname, units, local_data, ncat, mesh, partit) + subroutine def_node_var_3d_optional(this, name, longname, units, local_data, mesh, partit, ncat) use mod_mesh - class(restart_file_group), target, intent(inout) :: this - character(len=*), intent(in) :: name - character(len=*), intent(in) :: units, longname - real(kind=8), target, intent(inout) :: local_data(:,:) ! todo: be able to set precision - integer :: ncat - type(t_mesh) , intent(in) :: mesh - type(t_partit) , intent(in) :: partit + class(restart_file_group), intent(inout) :: this + character(len=*) , intent(in) :: name + character(len=*) , intent(in) :: units, longname + real(kind=8) , intent(inout), target :: local_data(:,:) ! todo: be able to set precision + type(t_mesh) , intent(in) :: mesh + type(t_partit) , intent(in) :: partit + integer , intent(in) , optional :: ncat ! EO parameters - - call add_file(this, name, .false., mesh%nod2d, mesh%elem2d, mesh%nl, partit, ncat) - call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data, ncat) - end subroutine - - subroutine def_node_var_3d_optional(this, name, longname, units, local_data, mesh, partit) - use mod_mesh - class(restart_file_group), intent(inout) :: this - character(len=*), intent(in) :: name - character(len=*), intent(in) :: units, longname - real(kind=8), target, intent(inout) :: local_data(:,:) ! todo: be able to set precision - type(t_mesh), intent(in) :: mesh - type(t_partit), intent(in) :: partit - ! EO parameters - - call add_file(this, name, .false., mesh%nod2d, mesh%elem2d, mesh%nl, partit) - call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) + if (present(ncat)) then + !PS add a seprate case for icepack since here i need to write a 2d vertice file + !PS over the dimension of number of ice thickness classes. Additional input + !PS parameter ncat + call add_file(this, name, .false., mesh%nod2d, mesh%elem2d, mesh%nl, partit, ncat) + call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data, ncat) + else + call add_file(this, name, .false., mesh%nod2d, mesh%elem2d, mesh%nl, partit) + call this%files(this%nfiles)%specify_node_var(name, longname, units, local_data) + end if + end subroutine From 4a5d97de00459f2de12f67a6a2328f922af60515 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 18 Oct 2024 11:55:05 +0200 Subject: [PATCH 258/273] fix the icepack netcdf restart, add additional restart variables, now also the restart is volume conserving. Also only write eiter .ice. or .icepack. restart files --- src/ice_oce_coupling.F90 | 22 ++++++------- src/icepack_drivers/icedrv_io.F90 | 14 +++++--- src/io_restart.F90 | 53 ++++++++++++++++++++----------- 3 files changed, 54 insertions(+), 35 deletions(-) diff --git a/src/ice_oce_coupling.F90 b/src/ice_oce_coupling.F90 index f61f96742..373740545 100755 --- a/src/ice_oce_coupling.F90 +++ b/src/ice_oce_coupling.F90 @@ -355,17 +355,17 @@ subroutine oce_fluxes(ice, dynamics, tracers, partit, mesh) ! #if defined (__icepack) - call icepack_to_fesom (nx_in=(myDim_nod2D+eDim_nod2D), & - aice_out=a_ice, & - vice_out=m_ice, & - vsno_out=m_snow, & - fhocn_tot_out=net_heat_flux, & - fresh_tot_out=fresh_wa_flux, & - fsalt_out=real_salt_flux, & - dhs_dt_out=thdgrsn, & - dhi_dt_out=thdgr, & - evap_ocn_out=evaporation, & - evap_out=ice_sublimation ) + call icepack_to_fesom (nx_in = (myDim_nod2D+eDim_nod2D), & + aice_out = a_ice, & + vice_out = m_ice, & + vsno_out = m_snow, & + fhocn_tot_out = net_heat_flux, & + fresh_tot_out = fresh_wa_flux, & + fsalt_out = real_salt_flux, & + dhs_dt_out = thdgrsn, & + dhi_dt_out = thdgr, & + evap_ocn_out = evaporation, & + evap_out = ice_sublimation ) !$OMP PARALLEL DO do n=1, myDim_nod2d+eDim_nod2d diff --git a/src/icepack_drivers/icedrv_io.F90 b/src/icepack_drivers/icedrv_io.F90 index 0d628b570..e14732c05 100644 --- a/src/icepack_drivers/icedrv_io.F90 +++ b/src/icepack_drivers/icedrv_io.F90 @@ -329,8 +329,6 @@ module subroutine ini_icepack_io(year, partit, mesh) #include "associate_mesh.h" ! Get the tracers information from icepack - call icepack_query_tracer_indices(nt_Tsfc_out=nt_Tsfc, nt_sice_out=nt_sice, & - nt_qice_out=nt_qice, nt_qsno_out=nt_qsno) call icepack_query_tracer_indices( & nt_apnd_out=nt_apnd, nt_hpnd_out=nt_hpnd, nt_ipnd_out=nt_ipnd, & nt_alvl_out=nt_alvl, nt_vlvl_out=nt_vlvl, nt_Tsfc_out=nt_Tsfc, & @@ -369,10 +367,16 @@ module subroutine ini_icepack_io(year, partit, mesh) !----------------------------------------------------------------- ! 3D restart fields (ncat) !----------------------------------------------------------------- - call icepack_files%def_node_var('aicen' , 'sea ice concentration' , 'none', aicen(:,:) , mesh, partit, ncat) - call icepack_files%def_node_var('vicen' , 'volum per unit area of ice' , 'm' , vicen(:,:) , mesh, partit, ncat) - call icepack_files%def_node_var('vsnon' , 'volum per unit area of snow' , 'm' , vsnon(:,:) , mesh, partit, ncat) + call icepack_files%def_node_var('aice' , 'sea ice concentration' , 'none', aice(:) , mesh, partit) + call icepack_files%def_node_var('vice' , 'volum per unit area of ice' , 'm' , vice(:) , mesh, partit) + call icepack_files%def_node_var('vsno' , 'volum per unit area of snow' , 'm' , vsno(:) , mesh, partit) + + call icepack_files%def_node_var('aicen' , 'sea ice concentration per class' , 'none', aicen(:,:) , mesh, partit, ncat) + call icepack_files%def_node_var('vicen' , 'volum per unit area of ice per class' , 'm' , vicen(:,:) , mesh, partit, ncat) + call icepack_files%def_node_var('vsnon' , 'volum per unit area of snow per class' , 'm' , vsnon(:,:) , mesh, partit, ncat) call icepack_files%def_node_var('Tsfc' , 'sea ice surf. temperature' , 'degC', trcrn(:,nt_Tsfc,:), mesh, partit, ncat) + call icepack_files%def_node_var('uvel' , 'zonal component of ice velocity' , 'm/s' , uvel(:) , mesh, partit) + call icepack_files%def_node_var('vvel' , 'meridional component of ice velocity' , 'm/s' , vvel(:) , mesh, partit) if (tr_iage) then call icepack_files%def_node_var('iage' , 'sea ice age' , 's' , trcrn(:,nt_iage,:), mesh, partit, ncat) diff --git a/src/io_restart.F90 b/src/io_restart.F90 index f076a6d8e..b2297bec8 100644 --- a/src/io_restart.F90 +++ b/src/io_restart.F90 @@ -312,9 +312,10 @@ subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tr if (.not. l_read) then call ini_ocean_io(yearnew, dynamics, tracers, partit, mesh) if (use_ice) then - call ini_ice_io(yearnew, ice, partit, mesh) #if defined(__icepack) call ini_icepack_io(yearnew, partit, mesh) +#else + call ini_ice_io(yearnew, ice, partit, mesh) #endif end if #if defined(__recom) @@ -324,9 +325,10 @@ subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tr else call ini_ocean_io(yearold, dynamics, tracers, partit, mesh) if (use_ice) then - call ini_ice_io (yearold, ice, partit, mesh) #if defined(__icepack) call ini_icepack_io(yearold, partit, mesh) +#else + call ini_ice_io (yearold, ice, partit, mesh) #endif end if #if defined(__recom) @@ -379,26 +381,33 @@ subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tr ! read netcdf file restart else which_readr = 0 + !_______________________________________________________________________ + ! read OCEAN restart if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> read restarts from netcdf file: ocean'//achar(27)//'[0m' call read_restart(oce_path, oce_files, partit%MPI_COMM_FESOM, partit%mype) + + !_______________________________________________________________________ + ! read ICE/ICEPACK restart if (use_ice) then - if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> read restarts from netcdf file: ice'//achar(27)//'[0m' - call read_restart(ice_path, ice_files, partit%MPI_COMM_FESOM, partit%mype) #if defined(__icepack) if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> read restarts from netcdf file: icepack'//achar(27)//'[0m' - call read_restart(icepack_path, icepack_files, partit%MPI_COMM_FESOM, partit%mype) + call read_restart(icepack_path, icepack_files, partit%MPI_COMM_FESOM, partit%mype) +#else + if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> read restarts from netcdf file: ice'//achar(27)//'[0m' + call read_restart(ice_path, ice_files, partit%MPI_COMM_FESOM, partit%mype) #endif end if #if defined(__recom) -!RECOM restart -!read here - if (REcoM_restart) then - if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> read restarts from netcdf file: bio'//achar(27)//'[0m' - call read_restart(bio_path, bio_files, partit%MPI_COMM_FESOM, partit%mype) - end if + !_______________________________________________________________________ + ! read RECOM restarts + if (REcoM_restart) then + if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> read restarts from netcdf file: bio'//achar(27)//'[0m' + call read_restart(bio_path, bio_files, partit%MPI_COMM_FESOM, partit%mype) + end if #endif + !_______________________________________________________________________ ! immediately create a raw core dump restart if(raw_restart_length_unit /= "off") then call write_all_raw_restarts(istep, partit%MPI_COMM_FESOM, partit%mype) @@ -448,25 +457,31 @@ subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tr ! finally write restart for netcdf, core dump and derived type binary ! write netcdf restart if(is_portable_restart_write) then + !___________________________________________________________________________ + ! write OCEAN restart ! if(partit%mype==0) write(*,*)'Do output (netCDF, restart) ...' if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: ocean'//achar(27)//'[0m' call write_restart(oce_path, oce_files, istep) + + !___________________________________________________________________________ + ! write ICE/ICEPACK restart if(use_ice) then - if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: ice'//achar(27)//'[0m' - call write_restart(ice_path, ice_files, istep) #if defined(__icepack) if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: icepack'//achar(27)//'[0m' call write_restart(icepack_path, icepack_files, istep) +#else + if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: ice'//achar(27)//'[0m' + call write_restart(ic e_path, ice_files, istep) #endif end if #if defined(__recom) -!RECOM restart -!write here - if (REcoM_restart .or. use_REcoM) then - if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: bio'//achar(27)//'[0m' - call write_restart(bio_path, bio_files, istep) - end if + !___________________________________________________________________________ + ! write RECOM restart + if (REcoM_restart .or. use_REcoM) then + if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: bio'//achar(27)//'[0m' + call write_restart(bio_path, bio_files, istep) + end if #endif end if From 5801e2788a9f1ed0c6b6c9ae2d3e62e73ab60c68 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 18 Oct 2024 13:44:58 +0200 Subject: [PATCH 259/273] fix minor issue --- src/io_restart.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/io_restart.F90 b/src/io_restart.F90 index b2297bec8..a51be4bd6 100644 --- a/src/io_restart.F90 +++ b/src/io_restart.F90 @@ -471,7 +471,7 @@ subroutine restart(istep, nstart, ntotal, l_read, which_readr, ice, dynamics, tr call write_restart(icepack_path, icepack_files, istep) #else if (partit%mype==RAW_RESTART_METADATA_RANK) print *, achar(27)//'[1;33m'//' --> write restarts to netcdf file: ice'//achar(27)//'[0m' - call write_restart(ic e_path, ice_files, istep) + call write_restart(ice_path, ice_files, istep) #endif end if From d9a4ae5448db4d1a12626b2ee8056a98fea9923a Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 18 Oct 2024 15:00:10 +0200 Subject: [PATCH 260/273] change default ICEPACK branch in download_icepack.sh from icepack_fesom2 into icepack_fesom2_bugfix --- src/icepack_drivers/download_icepack.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/icepack_drivers/download_icepack.sh b/src/icepack_drivers/download_icepack.sh index a579268eb..59a2c07d9 100755 --- a/src/icepack_drivers/download_icepack.sh +++ b/src/icepack_drivers/download_icepack.sh @@ -6,5 +6,6 @@ DIR="./Icepack" if [ ! -d "$DIR" ]; then git clone https://github.com/lzampier/Icepack.git cd $DIR - git checkout icepack_fesom2 + # git checkout icepack_fesom2 + git checkout icepack_fesom2_bugfix fi From f65da846b098477d5d5c2f20d607aeae75234521 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Sun, 20 Oct 2024 21:50:18 +0200 Subject: [PATCH 261/273] solve icb related segfault --- src/icb_step.F90 | 9 +++++++-- src/io_meandata.F90 | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/icb_step.F90 b/src/icb_step.F90 index a7da3baa8..a3cfefe46 100644 --- a/src/icb_step.F90 +++ b/src/icb_step.F90 @@ -464,7 +464,7 @@ subroutine iceberg_step1(ice, mesh, partit, dynamics, ib, height_ib_single,lengt i_have_element=.false. !if the first node belongs to this processor.. (just one processor enters here!) !if( local_idx_of(iceberg_elem) > 0 .and. elem2D_nodes(1,local_idx_of(iceberg_elem)) <= myDim_nod2D ) then -if((local_idx_of(iceberg_elem)>0) .and. (local_idx_of(iceberg_elem)<=partit%myDim_elem2D+partit%eDim_elem2D) ) then +if((local_idx_of(iceberg_elem)>0) .and. (local_idx_of(iceberg_elem)<=partit%myDim_elem2D) ) then if( elem2D_nodes(1,local_idx_of(iceberg_elem)) <= partit%myDim_nod2D ) then i_have_element=.true. @@ -804,14 +804,19 @@ subroutine iceberg_step2(mesh, partit,arr, elem_from_block, ib, height_ib_single write(*,*) " * set iceberg ", ib, " back to elem ", old_element, " from elem ", iceberg_elem write(*,*) " * area_ib = ", length_ib_single * width_ib_single, "; area_ib_tot = ", area_ib_tot, "; elem_area = ", elem_area_tmp end if + left_mype = 0.0 lon_rad = old_lon lat_rad = old_lat lon_deg = lon_rad/rad lat_deg = lat_rad/rad - iceberg_elem = old_element u_ib = 0. v_ib = 0. + + i_have_element= (local_idx_of(iceberg_elem) .ne. 0) + if(i_have_element) then + i_have_element= mesh%elem2D_nodes(1,local_idx_of(iceberg_elem)) <= partit%myDim_nod2D !1 PE still .true. + end if end if else if (mype==0) write(*,*) 'iceberg ',ib, ' changed PE or was very fast' diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 5b2fc8876..3596a9083 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -1049,7 +1049,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'ibfwbv', 'basal iceberg melting', 'm/s', ibfwbv(:), 1, 'm', i_real4, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'ibfwl', 'lateral iceberg melting', 'm/s', ibfwl(:), 1, 'm', i_real4, partit, mesh) call def_stream(nod2D, myDim_nod2D, 'ibfwe', 'iceberg erosion', 'm/s', ibfwe(:), 1, 'm', i_real4, partit, mesh) - call def_stream((/nl,nod2D/), (/nl,myDim_nod2D/), 'ibhf', 'heat flux from iceberg melting', 'm/s', ibhf_n(:,:), 1, 'm', i_real4, partit, mesh) + call def_stream((/nl,nod2D/), (/nl,myDim_nod2D/), 'ibhf', 'heat flux from iceberg melting', 'W/m2', ibhf_n(:,:), 1, 'm', i_real4, partit, mesh) end if !------------------------------------------ !_______________________________________________________________________________ From 9897294582dcd82fbcb45ba27a7b0efa9220389f Mon Sep 17 00:00:00 2001 From: Sebastian Beyer Date: Mon, 21 Oct 2024 20:56:35 +0200 Subject: [PATCH 262/273] fix MPI_ABORT in oifs context after change to use mpi --- src/gen_modules_partitioning.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gen_modules_partitioning.F90 b/src/gen_modules_partitioning.F90 index 2e701e427..aebe82630 100644 --- a/src/gen_modules_partitioning.F90 +++ b/src/gen_modules_partitioning.F90 @@ -132,7 +132,7 @@ subroutine par_ex(COMM, mype, abort) ! finalizes MPI !For OpenIFS coupled runs we use the new OASIS nameing scheme (oasis) if (present(abort)) then if (mype==0) write(*,*) 'Run finished unexpectedly!' - call MPI_ABORT(COMM, 1 ) + call MPI_ABORT(MPI_COMM_WORLD, 1, error) else call oasis_terminate endif From 55f1b773328f9348f831c4c1aca2aadcd1cccef5 Mon Sep 17 00:00:00 2001 From: Patrick Date: Fri, 25 Oct 2024 11:19:43 +0200 Subject: [PATCH 263/273] add icebergs namelist section to namelist.config.toy_soufflet, otherwise the channel configuration runs into EOF file reading problems, searching for the icebergs section --- config/namelist.config.toy_soufflet | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/namelist.config.toy_soufflet b/config/namelist.config.toy_soufflet index c2a6534de..01b3dc163 100644 --- a/config/namelist.config.toy_soufflet +++ b/config/namelist.config.toy_soufflet @@ -73,3 +73,11 @@ flag_debug=.false. n_levels=1 n_part= 128 !6096 ! 432 number of partitions on each hierarchy level / + +&icebergs +use_icesheet_coupling=.false. +ib_num=1 +use_icebergs=.false. +steps_per_ib_step=8 +ib_async_mode=0 +/ \ No newline at end of file From 9c16aa07e91509326b8ceec5c1a4bd2b677394b1 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Wed, 30 Oct 2024 20:57:27 +0100 Subject: [PATCH 264/273] treat icb heat flux as heat source per layer and remove outgoing heat flux --- src/oce_ale_tracer.F90 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/oce_ale_tracer.F90 b/src/oce_ale_tracer.F90 index 6704714ff..bb40ff335 100644 --- a/src/oce_ale_tracer.F90 +++ b/src/oce_ale_tracer.F90 @@ -992,10 +992,11 @@ subroutine diff_ver_part_impl_ale(tr_num, dynamics, tracers, ice, partit, mesh) !_______________________________________________________________________ ! case of activated shortwave penetration into the ocean, ad 3d contribution if (use_icebergs .and. (.not. turn_off_hf) .and. tracers%data(tr_num)%ID==1) then - do nz=nzmin, nzmax-1 + do nz=nzmin, nzmax + zinv=1.0_WP*dt !/(zbar(nz)-zbar(nz+1)) ale! !!PS tr(nz)=tr(nz)+(sw_3d(nz, n)-sw_3d(nz+1, n) * ( area(nz+1,n)/areasvol(nz,n)) ) * zinv - tr(nz)=tr(nz)+(ibhf_n(nz, n)-ibhf_n(nz+1, n) * area(nz+1,n)/areasvol(nz,n)) * zinv / vcpw + tr(nz)=tr(nz) + ibhf_n(nz, n) * zinv / vcpw end do end if From 3be7e6ef7fb8062f8d4537b3b5bf4e0c49fc9003 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Thu, 7 Nov 2024 14:54:47 +0100 Subject: [PATCH 265/273] add iceberg output to blowup info --- src/write_step_info.F90 | 93 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 90 insertions(+), 3 deletions(-) diff --git a/src/write_step_info.F90 b/src/write_step_info.F90 index f87c620b8..e8df52d52 100644 --- a/src/write_step_info.F90 +++ b/src/write_step_info.F90 @@ -49,7 +49,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) ! !=============================================================================== subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) - use g_config, only: dt, use_ice + use g_config, only: dt, use_ice, use_icebergs, ib_num use MOD_MESH USE MOD_PARTIT USE MOD_PARSUP @@ -61,6 +61,7 @@ subroutine write_step_info(istep, outfreq, ice, dynamics, tracers, partit, mesh) pgf_x, pgf_y, Av, Kv use g_comm_auto use g_support + use iceberg_params implicit none integer :: n, istep,outfreq @@ -283,7 +284,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) USE MOD_PARTIT USE MOD_PARSUP USE MOD_MESH - use g_config, only: logfile_outfreq, which_ALE, toy_ocean, use_ice + use g_config, only: logfile_outfreq, which_ALE, toy_ocean, use_ice, use_icebergs, ib_num use o_PARAM use o_ARRAYS, only: water_flux, stress_surf, & heat_flux, Kv, Av @@ -292,6 +293,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) use g_forcing_arrays use diagnostics use write_step_info_interface + use iceberg_params implicit none type(t_ice) , intent(in) , target :: ice @@ -300,7 +302,7 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) type(t_tracer), intent(in) , target :: tracers type(t_mesh) , intent(in) , target :: mesh !___________________________________________________________________________ - integer :: n, nz, istep, found_blowup_loc=0, found_blowup=0 + integer :: n, nz, istep, found_blowup_loc=0, found_blowup=0, ib integer :: el, elidx !___________________________________________________________________________ ! pointer on necessary derived types @@ -388,6 +390,23 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) write(*,*) 'hnode(:, n) = ',hnode(ulevels_nod2D(n):nlevels_nod2D(n),n) write(*,*) + if (use_icebergs) then + write(*,*) 'ibhf_n(:, n) = ',ibhf_n(ulevels_nod2D(n):nlevels_nod2D(n),n) + write(*,*) 'ibfwb(n) = ',ibfwb(n) + write(*,*) 'ibfwl(n) = ',ibfwl(n) + write(*,*) 'ibfwe(n) = ',ibfwe(n) + write(*,*) 'ibfwbv(n) = ',ibfwbv(n) + do ib=1, ib_num + if (mesh%elem2d_nodes(1, iceberg_elem(ib)) == n) then + write(*,*) 'ib = ',ib, ', length = ',length_ib(ib), ', height = ', height_ib(ib), ', scaling = ', scaling(ib) + write(*,*) 'hfb_flux_ib(ib) = ',hfb_flux_ib(ib) + write(*,*) 'hfl_flux_ib(ib,n) = ',hfl_flux_ib(ib,n) + write(*,*) 'hfe_flux_ib(ib) = ',hfe_flux_ib(ib) + write(*,*) 'hfbv_flux_ib(ib,n) = ',hfbv_flux_ib(ib,n) + end if + end do + write(*,*) + end if !$OMP END CRITICAL endif @@ -425,6 +444,23 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) write(*,*) 'CFL_z(:,n) = ',CFL_z(:,n) write(*,*) + if (use_icebergs) then + write(*,*) 'ibhf_n(:, n) = ',ibhf_n(ulevels_nod2D(n):nlevels_nod2D(n),n) + write(*,*) 'ibfwb(n) = ',ibfwb(n) + write(*,*) 'ibfwl(n) = ',ibfwl(n) + write(*,*) 'ibfwe(n) = ',ibfwe(n) + write(*,*) 'ibfwbv(n) = ',ibfwbv(n) + do ib=1, ib_num + if (mesh%elem2d_nodes(1, iceberg_elem(ib)) == n) then + write(*,*) 'ib = ',ib, ', length = ',length_ib(ib), ', height = ', height_ib(ib), ', scaling = ', scaling(ib) + write(*,*) 'hfb_flux_ib(ib) = ',hfb_flux_ib(ib) + write(*,*) 'hfl_flux_ib(ib,n) = ',hfl_flux_ib(ib,n) + write(*,*) 'hfe_flux_ib(ib) = ',hfe_flux_ib(ib) + write(*,*) 'hfbv_flux_ib(ib,n) = ',hfbv_flux_ib(ib,n) + end if + end do + write(*,*) + end if !$OMP END CRITICAL end if ! --> if ( .not. trim(which_ALE)=='linfs' .and. ... @@ -452,6 +488,23 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) end if write(*,*) 'glon,glat = ',geo_coord_nod2D(:,n)/rad write(*,*) + if (use_icebergs) then + write(*,*) 'ibhf_n(:, n) = ',ibhf_n(ulevels_nod2D(n):nlevels_nod2D(n),n) + write(*,*) 'ibfwb(n) = ',ibfwb(n) + write(*,*) 'ibfwl(n) = ',ibfwl(n) + write(*,*) 'ibfwe(n) = ',ibfwe(n) + write(*,*) 'ibfwbv(n) = ',ibfwbv(n) + do ib=1, ib_num + if (mesh%elem2d_nodes(1, iceberg_elem(ib)) == n) then + write(*,*) 'ib = ',ib, ', length = ',length_ib(ib), ', height = ', height_ib(ib), ', scaling = ', scaling(ib) + write(*,*) 'hfb_flux_ib(ib) = ',hfb_flux_ib(ib) + write(*,*) 'hfl_flux_ib(ib,n) = ',hfl_flux_ib(ib,n) + write(*,*) 'hfe_flux_ib(ib) = ',hfe_flux_ib(ib) + write(*,*) 'hfbv_flux_ib(ib,n) = ',hfbv_flux_ib(ib,n) + end if + end do + write(*,*) + end if !$OMP END CRITICAL end if ! --> if ( .not. trim(which_ALE)=='linfs' .and. ... @@ -505,6 +558,23 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) write(*,*) 'CFL_z(:,n) = ',CFL_z(:,n) write(*,*) + if (use_icebergs) then + write(*,*) 'ibhf_n(:, n) = ',ibhf_n(ulevels_nod2D(n):nlevels_nod2D(n),n) + write(*,*) 'ibfwb(n) = ',ibfwb(n) + write(*,*) 'ibfwl(n) = ',ibfwl(n) + write(*,*) 'ibfwe(n) = ',ibfwe(n) + write(*,*) 'ibfwbv(n) = ',ibfwbv(n) + do ib=1, ib_num + if (mesh%elem2d_nodes(1, iceberg_elem(ib)) == n) then + write(*,*) 'ib = ',ib, ', length = ',length_ib(ib), ', height = ', height_ib(ib), ', scaling = ', scaling(ib) + write(*,*) 'hfb_flux_ib(ib) = ',hfb_flux_ib(ib) + write(*,*) 'hfl_flux_ib(ib,n) = ',hfl_flux_ib(ib,n) + write(*,*) 'hfe_flux_ib(ib) = ',hfe_flux_ib(ib) + write(*,*) 'hfbv_flux_ib(ib,n) = ',hfbv_flux_ib(ib,n) + end if + end do + write(*,*) + end if write(*,*) !$OMP END CRITICAL endif ! --> if ( (tracers%data(1)%values(nz, n) /= tracers%data(1)%values(nz, n)) .or. & ... @@ -560,6 +630,23 @@ subroutine check_blowup(istep, ice, dynamics, tracers, partit, mesh) write(*,*) write(*,*) 'glon,glat = ',geo_coord_nod2D(:,n)/rad write(*,*) + if (use_icebergs) then + write(*,*) 'ibhf_n(:, n) = ',ibhf_n(ulevels_nod2D(n):nlevels_nod2D(n),n) + write(*,*) 'ibfwb(n) = ',ibfwb(n) + write(*,*) 'ibfwl(n) = ',ibfwl(n) + write(*,*) 'ibfwe(n) = ',ibfwe(n) + write(*,*) 'ibfwbv(n) = ',ibfwbv(n) + do ib=1, ib_num + if (mesh%elem2d_nodes(1, iceberg_elem(ib)) == n) then + write(*,*) 'ib = ',ib, ', length = ',length_ib(ib), ', height = ', height_ib(ib), ', scaling = ', scaling(ib) + write(*,*) 'hfb_flux_ib(ib) = ',hfb_flux_ib(ib) + write(*,*) 'hfl_flux_ib(ib,n) = ',hfl_flux_ib(ib,n) + write(*,*) 'hfe_flux_ib(ib) = ',hfe_flux_ib(ib) + write(*,*) 'hfbv_flux_ib(ib,n) = ',hfbv_flux_ib(ib,n) + end if + end do + write(*,*) + end if !$OMP END CRITICAL endif ! --> if ( (tracers%data(2)%values(nz, n) /= tracers%data(2)%values(nz, n)) .or. & ... end do ! --> do nz=1,nlevels_nod2D(n)-1 From b6dc7e00f60b58c0bbcfd12330a680a127543d91 Mon Sep 17 00:00:00 2001 From: ackerlar Date: Thu, 7 Nov 2024 15:00:17 +0100 Subject: [PATCH 266/273] add wave erosion potential to just account for wave erosion if upper ocean layer can uptake latent heat flux --- src/icb_allocate.F90 | 4 ++++ src/icb_coupling.F90 | 19 +++++++++++-------- src/icb_dyn.F90 | 2 +- src/icb_modules.F90 | 4 +++- src/icb_thermo.F90 | 29 ++++++++++++++++++++++++----- 5 files changed, 43 insertions(+), 15 deletions(-) diff --git a/src/icb_allocate.F90 b/src/icb_allocate.F90 index 202214397..ca03e1b99 100644 --- a/src/icb_allocate.F90 +++ b/src/icb_allocate.F90 @@ -26,6 +26,10 @@ subroutine allocate_icb(partit, mesh) allocate(ibhf_n(mesh%nl, n2)) ibhf_n = 0.0_WP + allocate(wave_erosion_potential(elem2D), linit_wave_erosion_pot(elem2D)) + wave_erosion_potential = 0.0 + linit_wave_erosion_pot = .true. + allocate(calving_day(ib_num)) calving_day = 1 !28.0: September 29 for restart in 1 SEP 97 ! 271.0: September 29 for year 1997 allocate(height_ib(ib_num)) diff --git a/src/icb_coupling.F90 b/src/icb_coupling.F90 index 7f8f6b7e1..6b67df9ab 100644 --- a/src/icb_coupling.F90 +++ b/src/icb_coupling.F90 @@ -19,6 +19,8 @@ subroutine reset_ib_fluxes() use g_config use iceberg_params + wave_erosion_potential = 0.0 + linit_wave_erosion_pot = .true. ibfwbv = 0.0 ibfwb = 0.0 ibfwl = 0.0 @@ -124,14 +126,14 @@ subroutine prepare_icb2fesom(mesh, partit, ib,i_have_element,localelement,depth_ dz = abs(abs(lev_up) - abs(depth_ib)) end if - if( depth_ib==0.0 ) then + if( abs(depth_ib) > 0.0 ) then + ! ibhf_n(j,iceberg_node) = ibhf_n(j,iceberg_node) & + ! - (hfbv_flux_ib(ib,j)+hfl_flux_ib(ib,j)) & + ! / tot_area_nods_in_ib_elem(j) + !else ibhf_n(j,iceberg_node) = ibhf_n(j,iceberg_node) & - - (hfbv_flux_ib(ib,j)+hfl_flux_ib(ib,j)) & - / tot_area_nods_in_ib_elem(j) - else - ibhf_n(j,iceberg_node) = ibhf_n(j,iceberg_node) & - - ((hfbv_flux_ib(ib,j)+hfl_flux_ib(ib,j)) * (dz / abs(depth_ib)) & - + hfe_flux_ib(ib) * (dz / abs(height_ib_single))) & + - ((hfbv_flux_ib(ib,j)+hfl_flux_ib(ib,j)) * (dz / abs(depth_ib))) & + !+ hfe_flux_ib(ib) * (dz / abs(height_ib_single))) & / tot_area_nods_in_ib_elem(j) end if end do @@ -145,7 +147,8 @@ subroutine prepare_icb2fesom(mesh, partit, ib,i_have_element,localelement,depth_ if( height_ib_single .ne. 0.0 ) then ibhf_n(1,iceberg_node) = ibhf_n(1,iceberg_node) - hfe_flux_ib(ib) & - * ((abs(height_ib_single)-abs(depth_ib))/abs(height_ib_single)) & + !* abs(height_ib_single) & + !* ((abs(height_ib_single)-abs(depth_ib))/abs(height_ib_single)) & / tot_area_nods_in_ib_elem(1) end if end if diff --git a/src/icb_dyn.F90 b/src/icb_dyn.F90 index 5184e2a2b..01d26b034 100644 --- a/src/icb_dyn.F90 +++ b/src/icb_dyn.F90 @@ -159,7 +159,7 @@ subroutine iceberg_dyn(mesh, partit, ice, dynamics, ib, new_u_ib, new_v_ib, u_ib !========================THERMODYNAMICS============================ if(l_melt) then call FEM_eval(mesh, partit, sst_ib,sss_ib,lon,lat,Tsurf_ib,Ssurf_ib,iceberg_elem) - + call iceberg_meltrates(partit, mesh, M_b, M_v, M_e, M_bv, & u_ib,v_ib, arr_uo_ib,arr_vo_ib, ua_ib,va_ib, & sst_ib, length_ib, conci_ib, & diff --git a/src/icb_modules.F90 b/src/icb_modules.F90 index 1162182db..6b3787792 100644 --- a/src/icb_modules.F90 +++ b/src/icb_modules.F90 @@ -97,7 +97,9 @@ module iceberg_params real,dimension(:), allocatable:: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib real,dimension(:), allocatable:: hfe_flux_ib, hfb_flux_ib, lhfb_flux_ib real,dimension(:,:), allocatable:: hfl_flux_ib, hfbv_flux_ib - + real,dimension(:), allocatable:: wave_erosion_potential + logical,dimension(:), allocatable:: linit_wave_erosion_pot + !===== FRESHWATER AND HEAT ARRAYS ON FESOM GRID ===== real,dimension(:), allocatable:: ibhf !icb heat flux into ocean real(kind=WP),dimension(:,:), allocatable:: ibhf_n !icb heat flux into ocean diff --git a/src/icb_thermo.F90 b/src/icb_thermo.F90 index 6aec637e5..1edafafdc 100644 --- a/src/icb_thermo.F90 +++ b/src/icb_thermo.F90 @@ -49,7 +49,7 @@ subroutine iceberg_meltrates(partit, mesh, M_b, M_v, M_e, M_bv, & use g_forcing_arrays use g_rotate_grid - use iceberg_params, only: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib, hfb_flux_ib, hfbv_flux_ib, hfe_flux_ib, hfl_flux_ib, scaling + use iceberg_params, only: fwe_flux_ib, fwl_flux_ib, fwb_flux_ib, fwbv_flux_ib, hfb_flux_ib, hfbv_flux_ib, hfe_flux_ib, hfl_flux_ib, scaling, wave_erosion_potential, linit_wave_erosion_pot implicit none ! LA: include latent heat 2023-04-04 @@ -71,6 +71,7 @@ subroutine iceberg_meltrates(partit, mesh, M_b, M_v, M_e, M_bv, & real :: lev_up, lev_low, dz real :: absamino, damping, sea_state, v_ibmino real :: tf, T_d !freezing temp. and 'thermal driving' + real :: ib_wave_erosion_pot type(t_mesh), intent(in) , target :: mesh type(t_partit), intent(inout), target :: partit !==================== MODULES & DECLARATIONS ==========================!= @@ -119,7 +120,11 @@ subroutine iceberg_meltrates(partit, mesh, M_b, M_v, M_e, M_bv, & !temperature above freezing point' (Neshyba and Josberger, 1979). T_d = arr_T_ave_ib(n) - tf if(T_d < 0.) T_d = 0. - + + if (linit_wave_erosion_pot(elem)) then + wave_erosion_potential(elem) = vcpw * T_d * elem_area(elem) * helem(1,elem) + linit_wave_erosion_pot(elem) = .false. + end if !lateral melt (buoyant convection) !M_v = 0.00762 * sst_ib + 0.00129 * sst_ib**2 !M_v = M_v/86400. @@ -141,11 +146,25 @@ subroutine iceberg_meltrates(partit, mesh, M_b, M_v, M_e, M_bv, & M_e = 1./6. * sea_state * (sst_ib + 2.0) * damping M_e = M_e/86400. H_e = M_e * rho_icb * L - hfe_flux_ib(ib) = H_e * (length_ib*abs(height_ib) + length_ib*abs(height_ib) ) * scaling(ib) - !fwe_flux_ib = M_e + + ! check wave erosion potential + ib_wave_erosion_pot = abs(H_e * dt * REAL(steps_per_ib_step) * 2 * length_ib * abs(height_ib) * scaling(ib)) + if (ib_wave_erosion_pot .le. wave_erosion_potential(elem)) then + !if (lverbose_icb) write(*,*) " * wave erosion for ib ", ib, "; wave_erosion_potential=",wave_erosion_potential(elem), "; ib_wave_erosion_pot=",ib_wave_erosion_pot,"; elem=",elem + wave_erosion_potential(elem) = wave_erosion_potential(elem) - ib_wave_erosion_pot + else + !if (lverbose_icb) write(*,*) " * no wave erosion for ib ", ib, "; wave_erosion_potential=",wave_erosion_potential(elem), "; ib_wave_erosion_pot=",ib_wave_erosion_pot,"; elem=",elem + H_e = H_e * abs(wave_erosion_potential(elem) / ib_wave_erosion_pot) + M_e = M_e * abs(wave_erosion_potential(elem) / ib_wave_erosion_pot) + wave_erosion_potential(elem) = 0.0 +! else +! if (lverbose_icb) write(*,*) " * no wave erosion for ib ", ib, "; wave_erosion_potential=",wave_erosion_potential(elem), "; ib_wave_erosion_pot=",ib_wave_erosion_pot +! H_e = 0.0 +! M_e = 0.0 + end if + hfe_flux_ib(ib) = H_e * (length_ib*abs(height_ib) + length_ib*abs(height_ib) ) * scaling(ib) end subroutine iceberg_meltrates - !*************************************************************************************************************************** !*************************************************************************************************************************** From 32453f18d265ddd769bb054ff0bae20eb1797c75 Mon Sep 17 00:00:00 2001 From: Sebastian Beyer Date: Mon, 11 Nov 2024 09:15:59 +0100 Subject: [PATCH 267/273] Remove superfluous 'use MOD_PARSUP' from clock_init This is not needed here and it leads to circular module dependencies, preventing compilation with some compiler(-versions). This should fix #646. Co-authored-by: dsidoren --- src/gen_modules_clock.F90 | 1 - 1 file changed, 1 deletion(-) diff --git a/src/gen_modules_clock.F90 b/src/gen_modules_clock.F90 index 0a287ab7e..a64c704e4 100755 --- a/src/gen_modules_clock.F90 +++ b/src/gen_modules_clock.F90 @@ -69,7 +69,6 @@ end subroutine clock ! subroutine clock_init(partit) USE MOD_PARTIT - USE MOD_PARSUP use g_config use mod_transit, only: ti_transit, ti_start_transit implicit none From ebe7709ff91da0aa2df6a1efdf7e05c4d578efb9 Mon Sep 17 00:00:00 2001 From: Sebastian Beyer Date: Sat, 26 Oct 2024 19:58:31 +0200 Subject: [PATCH 268/273] Improve error handling for open files for clock file and mesh file Make a proper error message with the path where the file was expected and do proper mpi_abort. --- src/gen_modules_clock.F90 | 40 ++++++++++++++++++++++++++++++--------- src/oce_mesh.F90 | 18 ++++++++++++++---- 2 files changed, 45 insertions(+), 13 deletions(-) diff --git a/src/gen_modules_clock.F90 b/src/gen_modules_clock.F90 index a64c704e4..99f861e0c 100755 --- a/src/gen_modules_clock.F90 +++ b/src/gen_modules_clock.F90 @@ -2,6 +2,8 @@ module g_clock !combining RT and Lars version ! use g_config + use iso_fortran_env, only: error_unit + use mpi implicit none save real(kind=WP) :: timeold, timenew !time in a day, unit: sec @@ -75,6 +77,9 @@ subroutine clock_init(partit) type(t_partit), intent(in), target :: partit integer :: i, daystart, yearstart real(kind=WP) :: aux1, aux2, timestart + integer :: ierr + integer :: file_unit + character(512) :: errmsg ! the model initialized at timestart=timenew @@ -82,10 +87,17 @@ subroutine clock_init(partit) yearstart=yearnew ! init clock for this run - open(99,file=trim(ResultPath)//trim(runid)//'.clock',status='old') - read(99,*) timeold, dayold, yearold - read(99,*) timenew, daynew, yearnew - close(99) + open(newunit=file_unit, file=trim(ResultPath)//trim(runid)//'.clock', action='read', & + status='old', iostat=ierr, iomsg=errmsg) + if (ierr /= 0) then + write (unit=error_unit, fmt='(3A)') & + '### error: can not open file ', trim(ResultPath)//trim(runid)//'.clock', & + ', error: ' // trim(errmsg) + call MPI_Abort(MPI_COMM_WORLD, 1, ierr) + end if + read(unit=file_unit, fmt=*) timeold, dayold, yearold + read(unit=file_unit, fmt=*) timenew, daynew, yearnew + close(unit=file_unit) if(daynew==0) daynew=1 ! check if this is a restart or not @@ -156,6 +168,9 @@ subroutine clock_finish real(kind=WP) :: dum_timenew !time in a day, unit: sec integer :: dum_daynew !day in a year integer :: dum_yearnew !year before and after time step + integer :: ierr + integer :: file_unit + character(512) :: errmsg dum_timenew = timenew dum_daynew = daynew @@ -166,10 +181,17 @@ subroutine clock_finish dum_yearnew=yearold+1 endif - open(99,file=trim(ResultPath)//trim(runid)//'.clock',status='unknown') - write(99,*) timeold, dayold, yearold - write(99,*) dum_timenew, dum_daynew, dum_yearnew - close(99) + open(newunit=file_unit, file=trim(ResultPath)//trim(runid)//'.clock', action='write', & + status='unknown', iostat=ierr, iomsg=errmsg) + if (ierr /= 0) then + write (unit=error_unit, fmt='(3A)') & + '### error: can not open file ', trim(ResultPath)//trim(runid)//'.clock', & + ', error: ' // trim(errmsg) + call MPI_Abort(MPI_COMM_WORLD, 1, ierr) + end if + write(unit=file_unit, fmt=*) timeold, dayold, yearold + write(unit=file_unit, fmt=*) dum_timenew, dum_daynew, dum_yearnew + close(unit=file_unit) end subroutine clock_finish ! !---------------------------------------------------------------------------- @@ -210,4 +232,4 @@ end subroutine is_fleapyr ! !---------------------------------------------------------------------------- ! -end module g_clock +end module g_clock \ No newline at end of file diff --git a/src/oce_mesh.F90 b/src/oce_mesh.F90 index 1843e345b..0dba2f221 100755 --- a/src/oce_mesh.F90 +++ b/src/oce_mesh.F90 @@ -179,6 +179,7 @@ END SUBROUTINE mesh_setup ! Reads distributed mesh ! The mesh will be read only by 0 proc and broadcasted to the others. SUBROUTINE read_mesh(partit, mesh) +use iso_fortran_env, only: error_unit USE o_PARAM USE g_CONFIG USE MOD_MESH @@ -205,8 +206,10 @@ SUBROUTINE read_mesh(partit, mesh) integer, allocatable, dimension(:,:) :: ibuff real(kind=WP), allocatable, dimension(:,:) :: rbuff integer, allocatable, dimension(:,:) :: auxbuff ! will be used for reading aux3d.out - integer :: fileunit, iostat + integer :: fileunit character(32) :: mesh_checksum + integer :: ioerr + character(512) :: errmsg #include "associate_part_def.h" #include "associate_mesh_def.h" @@ -235,7 +238,14 @@ SUBROUTINE read_mesh(partit, mesh) if (mype==0) then file_name=trim(dist_mesh_dir)//'rpart.out' fileID=10 - open(fileID, file=trim(file_name)) + open(unit=fileID, file=trim(file_name), action='read', status='old', & + iostat=ioerr, iomsg=errmsg) + if (ioerr /= 0) then + write (unit=error_unit, fmt='(3A)') & + '### error: can not open file ', file_name, & + ', error: ' // trim(errmsg) + call MPI_Abort(MPI_COMM_FESOM, 1, ierror) + end if allocate(partit%part(npes+1)) part=>partit%part read(fileID,*) n @@ -254,7 +264,7 @@ SUBROUTINE read_mesh(partit, mesh) write(*,*) n write(*,*) 'error: NPES does not coincide with that of the mesh' call par_ex(partit%MPI_COMM_FESOM, partit%mype, 1) - STOP + call MPI_Abort(MPI_COMM_FESOM, 1, ierror) end if ! broadcasting partitioning vector to the other procs if (mype/=0) then @@ -2853,4 +2863,4 @@ subroutine check_total_volume(partit, mesh) end subroutine check_total_volume ! ! -!_______________________________________________________________________________ +!_______________________________________________________________________________ \ No newline at end of file From 630063512c9c81d5f756a9a7ede9f1a21e6e92d6 Mon Sep 17 00:00:00 2001 From: Sebastian Beyer Date: Tue, 10 Dec 2024 11:49:59 +0200 Subject: [PATCH 269/273] Fix compilation on LUMI with cray 16.0.1 Add brackets around the constant -2.0_WP and remove an extranous , in the iceberg code --- src/gen_modules_diag.F90 | 6 +++--- src/icb_step.F90 | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gen_modules_diag.F90 b/src/gen_modules_diag.F90 index 9beff3d98..fcfad0889 100644 --- a/src/gen_modules_diag.F90 +++ b/src/gen_modules_diag.F90 @@ -3188,9 +3188,9 @@ subroutine dvd_add_difflux_sbc(do_SDdvd, tr_num, dvd_tot, tr, trstar, partit, me ! Xchi at full depth level interface nz = 1 !PS Dflx(nz) = Dflx(nz) * -2.0_WP*( trstar(nz, node) ) - Dflx(nz) = Dflx(nz) * -2.0_WP*( trstar(nz+1, node)-trstar(nz, node) ) + Dflx(nz) = Dflx(nz) * (-2.0_WP) * ( trstar(nz+1, node)-trstar(nz, node) ) do nz=nu1+1, nl1-1 - Dflx(nz) = Dflx(nz) * -2.0_WP*( trstar(nz, node)-trstar(nz-1, node) ) + Dflx(nz) = Dflx(nz) * (-2.0_WP) * ( trstar(nz, node)-trstar(nz-1, node) ) end do ! --> do nz=nu1+1, nl1-1 !___________________________________________________________________ @@ -3517,4 +3517,4 @@ subroutine dvd_add_clim_relax(do_SDdvd, tr_num, dvd_tot, tr, partit, mesh) end do end subroutine dvd_add_clim_relax -end module diagnostics +end module diagnostics \ No newline at end of file diff --git a/src/icb_step.F90 b/src/icb_step.F90 index a3cfefe46..7aa8d563f 100644 --- a/src/icb_step.F90 +++ b/src/icb_step.F90 @@ -1704,7 +1704,7 @@ subroutine init_buoy_output(partit) longname='time' ! use NetCDF Climate and Forecast (CF) Metadata Convention status = nf_PUT_ATT_TEXT(ncid, time_varid, 'long_name', len_trim(longname), trim(longname)) if (status .ne. nf_noerr) call handle_err(status) - write(att_text, '(a14,I4.4,a1,I2.2,a1,I2.2,a6)'), 'seconds since ', year_start, '-', month_start, '-', day_start, ' 00:00:00' + write(att_text, '(a14,I4.4,a1,I2.2,a1,I2.2,a6)') 'seconds since ', year_start, '-', month_start, '-', day_start, ' 00:00:00' status = nf_PUT_ATT_TEXT(ncid, time_varid, 'units', len_trim(att_text), trim(att_text)) if (status .ne. nf_noerr) call handle_err(status) if (include_fleapyear) then @@ -2125,4 +2125,4 @@ subroutine write_buoy_props_netcdf(partit) end subroutine write_buoy_props_netcdf -end module iceberg_step +end module iceberg_step \ No newline at end of file From 392bc3deab4699115064da8624a7005621bc5bd0 Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Tue, 10 Dec 2024 16:27:11 +0100 Subject: [PATCH 270/273] Update io_meandata.F90 --- src/io_meandata.F90 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index f58cc86d1..b74d2cae2 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -1,4 +1,4 @@ -module io_MEANDATA +/module io_MEANDATA USE MOD_PARTIT USE MOD_PARSUP #if defined(__recom) @@ -377,7 +377,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) !_______________________________________________________________________________ ! output surface forcing CASE ('fh ') - call def_stream(nod2D, myDim_nod2D, 'fh', 'heat flux', 'W', heat_flux_in(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(nod2D, myDim_nod2D, 'fh', 'heat flux', 'W/m2', heat_flux_in(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('fw ') call def_stream(nod2D, myDim_nod2D, 'fw', 'fresh water flux', 'm/s', water_flux(:), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) CASE ('atmice_x ') From 77d711c0903690ebf75875dcfe772419b31bf9fb Mon Sep 17 00:00:00 2001 From: Jan Streffing Date: Tue, 10 Dec 2024 16:28:50 +0100 Subject: [PATCH 271/273] Update io_meandata.F90 --- src/io_meandata.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index b74d2cae2..655046628 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -1,4 +1,4 @@ -/module io_MEANDATA +module io_MEANDATA USE MOD_PARTIT USE MOD_PARSUP #if defined(__recom) From b8e8d6f498838b6b7d900fa4fa0a0e946af8ced7 Mon Sep 17 00:00:00 2001 From: Razvan Aguridan Date: Tue, 11 Jun 2024 09:05:56 +0000 Subject: [PATCH 272/273] Update multio API to latest version --- src/ifs_interface/iom.F90 | 112 +++++++++++++++++++++----------------- 1 file changed, 63 insertions(+), 49 deletions(-) diff --git a/src/ifs_interface/iom.F90 b/src/ifs_interface/iom.F90 index 7d7335c0d..77334b695 100644 --- a/src/ifs_interface/iom.F90 +++ b/src/ifs_interface/iom.F90 @@ -55,12 +55,15 @@ SUBROUTINE iom_enable_multio() SUBROUTINE multio_custom_error_handler(context, err, info) USE mpi + USE, intrinsic :: iso_fortran_env, ONLY: int64 + USE :: multio_api_constants_mod, ONLY: multio_failure_info IMPLICIT NONE - INTEGER(8), INTENT(INOUT) :: context ! Use mpi communicator as context - INTEGER, INTENT(IN) :: err - CLASS(multio_failure_info), INTENT(in) :: info - INTEGER :: mpierr + + INTEGER(int64), INTENT(INOUT) :: context ! Use mpi communicator as context + INTEGER, INTENT(IN) :: err + TYPE(multio_failure_info), INTENT(in) :: info + INTEGER :: mpierr IF (err /= MULTIO_SUCCESS) THEN CALL ctl_stop( 'MULTIO ERROR: ', multio_error_string(err, info)) @@ -73,15 +76,19 @@ SUBROUTINE multio_custom_error_handler(context, err, info) SUBROUTINE iom_initialize(client_id, local_comm, return_comm, global_comm ) USE mpi + USE :: multio_api, ONLY: failure_handler_t IMPLICIT NONE - CHARACTER(LEN=*), INTENT(IN) :: client_id - INTEGER,INTENT(IN), OPTIONAL :: local_comm - INTEGER,INTENT(OUT), OPTIONAL :: return_comm - INTEGER,INTENT(IN), OPTIONAL :: global_comm - TYPE(multio_configuration) :: conf_ctx - INTEGER :: err - CHARACTER(len=16) :: err_str + + CHARACTER(LEN=*), INTENT(IN) :: client_id + INTEGER, INTENT(IN), OPTIONAL :: local_comm + INTEGER, INTENT(OUT), OPTIONAL :: return_comm + INTEGER, INTENT(IN), OPTIONAL :: global_comm + + TYPE(multio_configuration) :: conf_ctx + INTEGER :: err + CHARACTER(len=16) :: err_str + PROCEDURE(failure_handler_t), POINTER :: pf IF (lnomultio) RETURN @@ -120,7 +127,8 @@ SUBROUTINE iom_initialize(client_id, local_comm, return_comm, global_comm ) END IF ! Setting a failure handler that reacts on interface problems or exceptions that are not handled within the interface - err = conf_ctx%set_failure_handler(multio_custom_error_handler, mio_parent_comm) + pf => multio_custom_error_handler + err = conf_ctx%set_failure_handler(pf, mio_parent_comm) if (err /= MULTIO_SUCCESS) then CALL ctl_stop( 'setting multio failure handler failed: ', multio_error_string(err)) end if @@ -176,11 +184,16 @@ SUBROUTINE iom_finalize() END SUBROUTINE iom_finalize SUBROUTINE iom_init_server(server_comm) + USE :: multio_api, ONLY: failure_handler_t + IMPLICIT NONE - INTEGER, INTENT(IN) :: server_comm - type(multio_configuration) :: conf_ctx - INTEGER :: err - CHARACTER(len=16) :: err_str + + INTEGER, INTENT(IN) :: server_comm + + TYPE(multio_configuration) :: conf_ctx + INTEGER :: err + CHARACTER(len=16) :: err_str + PROCEDURE(failure_handler_t), POINTER :: pf IF (lnomultio) RETURN @@ -216,7 +229,8 @@ SUBROUTINE iom_init_server(server_comm) ! Setting a failure handler that reacts on interface problems or exceptions that are not handled within the interface ! Set handler before invoking blocking start server call - err = conf_ctx%set_failure_handler(multio_custom_error_handler, mio_parent_comm) + pf => multio_custom_error_handler + err = conf_ctx%set_failure_handler(pf, mio_parent_comm) IF (err /= MULTIO_SUCCESS) THEN CALL ctl_stop('setting multio failure handler failed: ', multio_error_string(err)) END IF @@ -268,27 +282,27 @@ SUBROUTINE iom_send_fesom_domains(partit, mesh) CALL ctl_stop('send_fesom_domains: ngrid, md%new() failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("name", "N grid") + cerr = md%set("name", "N grid") IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_domains: ngrid, md%set_string(name) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("category", "fesom-domain-nodemap") + cerr = md%set("category", "fesom-domain-nodemap") IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_domains: ngrid, md%set_string(category) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("representation", "unstructured") + cerr = md%set("representation", "unstructured") IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_domains: ngrid, md%set_string(representation) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_int("globalSize", mesh%nod2D) + cerr = md%set("globalSize", mesh%nod2D) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_domains: ngrid, md%set_int(globalSize) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_bool("toAllServers", .TRUE._1) + cerr = md%set("toAllServers", .TRUE._1) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_domains: ngrid, md%set_bool(toAllServers) failed: ', multio_error_string(cerr)) END IF @@ -310,27 +324,27 @@ SUBROUTINE iom_send_fesom_domains(partit, mesh) CALL ctl_stop('send_fesom_domains: egrid, md%new() failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("name", "C grid") + cerr = md%set("name", "C grid") IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_domains: egrid, md%set_string(name) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("category", "fesom-domain-elemmap") + cerr = md%set("category", "fesom-domain-elemmap") IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_domains: egrid, md%set_string(category) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("representation", "unstructured") + cerr = md%set("representation", "unstructured") IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_domains: egrid, md%set_string(representation) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_int("globalSize", mesh%elem2D) + cerr = md%set("globalSize", mesh%elem2D) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_domains: egrid, md%set_int(globalSize) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_bool("toAllServers", .TRUE._1) + cerr = md%set("toAllServers", .TRUE._1) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_domains: egrid, md%set_bool(toAllServers) failed: ', multio_error_string(cerr)) END IF @@ -362,69 +376,69 @@ SUBROUTINE iom_send_fesom_data(data) CALL ctl_stop('send_fesom_data: md%new() failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("category", data%category) + cerr = md%set("category", data%category) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%set_string(category) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_int("globalSize", data%globalSize) + cerr = md%set("globalSize", data%globalSize) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%set_int(globalSize) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_int("level", data%level) + cerr = md%set("level", data%level) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%set_int(level) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_bool("toAllServers", .FALSE._1) + cerr = md%set("toAllServers", .FALSE._1) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%set_bool(toAllServers) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("name", trim(data%name)) + cerr = md%set("name", trim(data%name)) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%set_string(name) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("gridType", "unstructured_grid") + cerr = md%set("gridType", "unstructured_grid") IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%set_string(gridType) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("unstructuredGridType", MeshId) + cerr = md%set("unstructuredGridType", MeshId) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%set_string(unstructuredGridType) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("unstructuredGridSubtype", data%gridType(1:1)) + cerr = md%set("unstructuredGridSubtype", data%gridType(1:1)) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%set_string(unstructuredGridSubtype) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("operation", "average") + cerr = md%set("operation", "average") IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%set_string(operation) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_string("domain", data%gridType) + cerr = md%set("domain", data%gridType) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%set_string(domain) failed: ', multio_error_string(cerr)) END IF - cerr = md%set_int("currentDate", data%currentDate) - cerr = md%set_int("currentTime", data%currentTime) - cerr = md%set_int("previousDate", data%previousDate) - cerr = md%set_int("previousTime", data%previousTime) - cerr = md%set_int("startDate", data%startDate) - cerr = md%set_int("startTime", data%startTime) - cerr = md%set_int("sampleInterval", data%sampleInterval) + cerr = md%set("currentDate", data%currentDate) + cerr = md%set("currentTime", data%currentTime) + cerr = md%set("previousDate", data%previousDate) + cerr = md%set("previousTime", data%previousTime) + cerr = md%set("startDate", data%startDate) + cerr = md%set("startTime", data%startTime) + cerr = md%set("sampleInterval", data%sampleInterval) ! cerr = md%set_int("sampleIntervalInSeconds", data%sampleInterval) - cerr = md%set_string("sampleIntervalUnit", 'S') - cerr = md%set_int("sampleIntervalInSeconds", data%sampleInterval) - cerr = md%set_int("timeStep", data%sampleInterval) !we do not distinguish between the timestep & sampling interval legacy code for MULTIO - cerr = md%set_int("step-frequency", data%lastcounter) - cerr = md%set_int("step", data%step) + cerr = md%set("sampleIntervalUnit", 'S') + cerr = md%set("sampleIntervalInSeconds", data%sampleInterval) + cerr = md%set("timeStep", data%sampleInterval) !we do not distinguish between the timestep & sampling interval legacy code for MULTIO + cerr = md%set("step-frequency", data%lastcounter) + cerr = md%set("step", data%step) IF (cerr /= MULTIO_SUCCESS) THEN CALL ctl_stop('send_fesom_data: md%set_int(date) failed: ', multio_error_string(cerr)) END IF From e6d212a416b139fadef804c6bc0548305a5060c5 Mon Sep 17 00:00:00 2001 From: dsidoren Date: Tue, 17 Dec 2024 13:32:57 +0100 Subject: [PATCH 273/273] with Sebastian we addec computation of snow and ice thickness over the ice-covered fraction. They can be added to IO through adding h_snow & h_ice in namelist.io --- src/MOD_ICE.F90 | 6 ++++++ src/ice_setup_step.F90 | 7 ++++--- src/io_meandata.F90 | 14 +++++++++++--- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/MOD_ICE.F90 b/src/MOD_ICE.F90 index 0150e5004..0375d37d1 100644 --- a/src/MOD_ICE.F90 +++ b/src/MOD_ICE.F90 @@ -129,6 +129,8 @@ MODULE MOD_ICE ! maEVP variables real(kind=WP), allocatable, dimension(:) :: alpha_evp_array, beta_evp_array + ! ice/snow thicknesses in the ice-covered area + real(kind=WP), allocatable, dimension(:) :: h_ice, h_snow !___________________________________________________________________________ ! total number of ice tracers (default=3, 1=area, 2=mice, 3=msnow, (4=ice_temp) @@ -624,6 +626,8 @@ subroutine ice_init(ice, partit, mesh) allocate(ice%stress_iceoce_x( node_size)) allocate(ice%stress_atmice_y( node_size)) allocate(ice%stress_iceoce_y( node_size)) + allocate(ice%h_ice ( node_size)) + allocate(ice%h_snow ( node_size)) ice%uice = 0.0_WP ice%uice_rhs = 0.0_WP ice%uice_old = 0.0_WP @@ -634,6 +638,8 @@ subroutine ice_init(ice, partit, mesh) ice%vice_old = 0.0_WP ice%stress_atmice_y = 0.0_WP ice%stress_iceoce_y = 0.0_WP + ice%h_ice = 0.0_WP + ice%h_snow = 0.0_WP if (ice%whichEVP /= 0) then allocate(ice%uice_aux( node_size)) allocate(ice%vice_aux( node_size)) diff --git a/src/ice_setup_step.F90 b/src/ice_setup_step.F90 index 2b3aa049c..ea6dcf1d9 100755 --- a/src/ice_setup_step.F90 +++ b/src/ice_setup_step.F90 @@ -125,7 +125,7 @@ subroutine ice_timestep(step, ice, partit, mesh) !LA 2023-03-08 real(kind=WP), dimension(:), pointer :: u_ice_ib, v_ice_ib #if defined (__oifs) || defined (__ifsinterface) - real(kind=WP), dimension(:), pointer :: ice_temp, a_ice + real(kind=WP), dimension(:), pointer :: a_ice, ice_temp !LA 2023-03-08 real(kind=WP), dimension(:), pointer :: a_ice_ib #endif @@ -170,9 +170,8 @@ subroutine ice_timestep(step, ice, partit, mesh) !$omp end parallel sections end if !--------------------------------------------- - #if defined (__oifs) || defined (__ifsinterface) - a_ice => ice%data(1)%values(:) + a_ice => ice%data(1)%values(:) ice_temp => ice%data(4)%values(:) #endif !___________________________________________________________________________ @@ -300,6 +299,8 @@ subroutine ice_timestep(step, ice, partit, mesh) !___________________________________________________________________________ !$OMP PARALLEL DO do i=1,myDim_nod2D+eDim_nod2D + ice%h_ice(i) =ice%data(2)%values(i)/max(ice%data(1)%values(i), 1.e-3) + ice%h_snow(i)=ice%data(3)%values(i)/max(ice%data(1)%values(i), 1.e-3) if ( ( U_ice(i)/=0.0_WP .and. mesh%ulevels_nod2d(i)>1) .or. (V_ice(i)/=0.0_WP .and. mesh%ulevels_nod2d(i)>1) ) then write(*,*) " --> found cavity velocity /= 0.0_WP , ", mype write(*,*) " ulevels_nod2d(n) = ", mesh%ulevels_nod2d(i) diff --git a/src/io_meandata.F90 b/src/io_meandata.F90 index 655046628..c5f958320 100644 --- a/src/io_meandata.F90 +++ b/src/io_meandata.F90 @@ -241,7 +241,7 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) end if CASE ('m_ice ') if (use_ice) then - call def_stream(nod2D, myDim_nod2D, 'm_ice', 'ice height', 'm', ice%data(2)%values(1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(nod2D, myDim_nod2D, 'm_ice', 'ice height per unit area', 'm', ice%data(2)%values(1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if CASE ('thdgr ') if (use_ice) then @@ -257,9 +257,17 @@ subroutine ini_mean_io(ice, dynamics, tracers, partit, mesh) end if CASE ('m_snow ') if (use_ice) then - call def_stream(nod2D, myDim_nod2D, 'm_snow', 'snow height', 'm', ice%data(3)%values(1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + call def_stream(nod2D, myDim_nod2D, 'm_snow', 'snow height per unit area', 'm', ice%data(3)%values(1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) end if - +CASE ('h_ice ') + if (use_ice) then + call def_stream(nod2D, myDim_nod2D, 'h_ice', 'ice thickness over ice-covered fraction', 'm', ice%h_ice(1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if +CASE ('h_snow ') + if (use_ice) then + call def_stream(nod2D, myDim_nod2D, 'h_snow', 'snow thickness over ice-covered fraction', 'm', ice%h_snow(1:myDim_nod2D), io_list(i)%freq, io_list(i)%unit, io_list(i)%precision, partit, mesh) + end if + ! Debug ice variables CASE ('strength_ice') if (use_ice) then